@douyinfe/semi-foundation 2.36.0-beta.0 → 2.36.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/calendar/foundation.ts +2 -1
- package/lib/cjs/anchor/constants.js +0 -2
- package/lib/cjs/anchor/foundation.js +10 -73
- package/lib/cjs/anchor/linkFoundation.js +4 -16
- package/lib/cjs/autoComplete/constants.js +0 -3
- package/lib/cjs/autoComplete/foundation.d.ts +1 -1
- package/lib/cjs/autoComplete/foundation.js +25 -139
- package/lib/cjs/autoComplete/optionFoundation.js +4 -14
- package/lib/cjs/avatar/constants.js +0 -2
- package/lib/cjs/avatar/foundation.js +0 -17
- package/lib/cjs/backtop/constants.js +0 -2
- package/lib/cjs/backtop/foundation.d.ts +2 -2
- package/lib/cjs/backtop/foundation.js +0 -21
- package/lib/cjs/badge/constants.js +0 -2
- package/lib/cjs/banner/constants.js +0 -2
- package/lib/cjs/banner/foundation.js +0 -7
- package/lib/cjs/base/constants.js +2 -4
- package/lib/cjs/base/foundation.d.ts +1 -1
- package/lib/cjs/base/foundation.js +12 -46
- package/lib/cjs/base/index.js +0 -3
- package/lib/cjs/breadcrumb/constants.js +0 -2
- package/lib/cjs/breadcrumb/foundation.js +1 -12
- package/lib/cjs/breadcrumb/itemFoundation.js +0 -7
- package/lib/cjs/button/constants.js +0 -2
- package/lib/cjs/calendar/constants.js +0 -2
- package/lib/cjs/calendar/eventUtil.d.ts +1 -1
- package/lib/cjs/calendar/eventUtil.js +2 -74
- package/lib/cjs/calendar/foundation.d.ts +2 -2
- package/lib/cjs/calendar/foundation.js +28 -123
- package/lib/cjs/card/constants.js +0 -2
- package/lib/cjs/carousel/constants.js +0 -2
- package/lib/cjs/carousel/foundation.js +2 -52
- package/lib/cjs/cascader/constants.js +0 -3
- package/lib/cjs/cascader/foundation.d.ts +4 -4
- package/lib/cjs/cascader/foundation.js +28 -242
- package/lib/cjs/cascader/util.js +6 -24
- package/lib/cjs/checkbox/checkboxFoundation.js +2 -38
- package/lib/cjs/checkbox/checkboxGroupFoundation.js +2 -23
- package/lib/cjs/checkbox/constants.js +0 -2
- package/lib/cjs/collapse/constants.js +0 -2
- package/lib/cjs/collapse/foundation.d.ts +1 -1
- package/lib/cjs/collapse/foundation.js +2 -13
- package/lib/cjs/collapsible/constants.js +0 -2
- 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.js +0 -5
- 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 +0 -5
- package/lib/cjs/datePicker/_utils/getInsetInputValueFromInsetInputStr.js +0 -6
- package/lib/cjs/datePicker/_utils/getMonthTable.d.ts +1 -1
- package/lib/cjs/datePicker/_utils/getMonthTable.js +3 -14
- package/lib/cjs/datePicker/_utils/getMonthsInYear.js +0 -2
- package/lib/cjs/datePicker/_utils/getYears.js +0 -4
- 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.js +0 -1
- package/lib/cjs/datePicker/_utils/isWithinInterval.js +0 -4
- package/lib/cjs/datePicker/_utils/parser.js +0 -10
- package/lib/cjs/datePicker/constants.js +0 -3
- package/lib/cjs/datePicker/foundation.d.ts +24 -24
- package/lib/cjs/datePicker/foundation.js +22 -333
- package/lib/cjs/datePicker/inputFoundation.d.ts +3 -3
- package/lib/cjs/datePicker/inputFoundation.js +5 -86
- package/lib/cjs/datePicker/monthFoundation.d.ts +1 -1
- package/lib/cjs/datePicker/monthFoundation.js +3 -28
- package/lib/cjs/datePicker/monthsGridFoundation.d.ts +3 -3
- package/lib/cjs/datePicker/monthsGridFoundation.js +43 -238
- package/lib/cjs/datePicker/yearAndMonthFoundation.d.ts +1 -1
- package/lib/cjs/datePicker/yearAndMonthFoundation.js +12 -38
- package/lib/cjs/descriptions/constants.js +0 -2
- package/lib/cjs/divider/constants.js +0 -2
- package/lib/cjs/dropdown/constants.js +0 -3
- package/lib/cjs/dropdown/foundation.js +4 -23
- package/lib/cjs/dropdown/menuFoundation.js +8 -27
- package/lib/cjs/empty/constants.js +0 -2
- package/lib/cjs/form/constants.js +0 -2
- package/lib/cjs/form/foundation.js +75 -206
- package/lib/cjs/form/interface.d.ts +5 -5
- package/lib/cjs/form/utils.js +47 -77
- package/lib/cjs/grid/constants.js +0 -2
- package/lib/cjs/highlight/constants.js +0 -2
- package/lib/cjs/icons/constants.js +0 -2
- package/lib/cjs/image/constants.js +0 -2
- package/lib/cjs/image/imageFoundation.js +4 -18
- package/lib/cjs/image/previewFooterFoundation.js +0 -13
- package/lib/cjs/image/previewFoundation.js +0 -11
- package/lib/cjs/image/previewImageFoundation.js +6 -80
- package/lib/cjs/image/previewInnerFoundation.js +12 -77
- package/lib/cjs/image/utils.js +0 -14
- package/lib/cjs/input/constants.js +0 -2
- package/lib/cjs/input/foundation.js +17 -101
- package/lib/cjs/input/textareaFoundation.js +20 -85
- package/lib/cjs/input/util/calculateNodeHeight.js +6 -18
- package/lib/cjs/input/util/getSizingData.js +7 -11
- package/lib/cjs/inputNumber/constants.js +0 -2
- package/lib/cjs/inputNumber/foundation.js +29 -192
- package/lib/cjs/layout/constants.js +0 -2
- package/lib/cjs/list/constants.js +0 -2
- package/lib/cjs/modal/constants.js +0 -2
- package/lib/cjs/modal/modalContentFoundation.js +0 -20
- package/lib/cjs/modal/modalFoundation.d.ts +2 -2
- package/lib/cjs/modal/modalFoundation.js +2 -22
- package/lib/cjs/navigation/NavItem.js +0 -10
- package/lib/cjs/navigation/constants.js +0 -3
- package/lib/cjs/navigation/foundation.js +3 -67
- package/lib/cjs/navigation/itemFoundation.js +3 -21
- package/lib/cjs/navigation/subNavFoundation.js +4 -40
- package/lib/cjs/notification/constants.js +0 -3
- package/lib/cjs/notification/notificationFoundation.d.ts +3 -3
- package/lib/cjs/notification/notificationFoundation.js +0 -16
- package/lib/cjs/notification/notificationListFoundation.js +7 -17
- package/lib/cjs/overflowList/constants.js +0 -2
- package/lib/cjs/overflowList/foundation.js +11 -41
- package/lib/cjs/pagination/constants.js +0 -2
- package/lib/cjs/pagination/foundation.d.ts +3 -3
- package/lib/cjs/pagination/foundation.js +21 -90
- package/lib/cjs/popconfirm/constants.js +0 -2
- package/lib/cjs/popconfirm/popconfirmFoundation.js +1 -21
- package/lib/cjs/popover/constants.js +0 -3
- package/lib/cjs/progress/constants.js +0 -2
- package/lib/cjs/progress/generates.d.ts +2 -2
- package/lib/cjs/progress/generates.js +19 -60
- package/lib/cjs/radio/constants.js +0 -2
- package/lib/cjs/radio/radioFoundation.js +0 -14
- package/lib/cjs/radio/radioGroupFoundation.js +4 -23
- package/lib/cjs/radio/radioInnerFoundation.js +2 -19
- package/lib/cjs/rating/constants.js +0 -2
- package/lib/cjs/rating/foundation.js +11 -61
- package/lib/cjs/scrollList/constants.js +0 -2
- 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 +0 -3
- package/lib/cjs/select/foundation.d.ts +2 -2
- package/lib/cjs/select/foundation.js +122 -425
- package/lib/cjs/select/optionFoundation.js +4 -14
- package/lib/cjs/sideSheet/constants.js +0 -2
- package/lib/cjs/sideSheet/sideSheetFoundation.js +0 -18
- package/lib/cjs/skeleton/constants.js +0 -2
- package/lib/cjs/slider/constants.js +0 -2
- package/lib/cjs/slider/foundation.d.ts +1 -1
- package/lib/cjs/slider/foundation.js +25 -204
- package/lib/cjs/space/constants.js +0 -2
- package/lib/cjs/spin/constants.js +0 -2
- package/lib/cjs/spin/foundation.js +3 -13
- package/lib/cjs/steps/constants.js +0 -2
- package/lib/cjs/switch/constants.js +0 -2
- package/lib/cjs/switch/foundation.js +2 -18
- package/lib/cjs/table/bodyFoundation.js +2 -34
- package/lib/cjs/table/cellFoundation.js +0 -5
- package/lib/cjs/table/constants.js +7 -8
- package/lib/cjs/table/foundation.d.ts +17 -14
- package/lib/cjs/table/foundation.js +71 -302
- package/lib/cjs/table/tableRowFoundation.js +0 -11
- package/lib/cjs/table/tableSelectionCellFoundation.js +0 -6
- package/lib/cjs/table/utils.d.ts +2 -2
- package/lib/cjs/table/utils.js +5 -118
- package/lib/cjs/tabs/constants.js +0 -2
- package/lib/cjs/tabs/foundation.js +2 -40
- package/lib/cjs/tag/constants.js +1 -2
- package/lib/cjs/tagInput/constants.js +0 -2
- package/lib/cjs/tagInput/foundation.d.ts +4 -4
- package/lib/cjs/tagInput/foundation.js +4 -94
- package/lib/cjs/tagInput/utils/getSplitedArray.js +0 -11
- package/lib/cjs/timePicker/ComboxFoundation.js +4 -39
- package/lib/cjs/timePicker/constants.js +0 -3
- package/lib/cjs/timePicker/foundation.d.ts +1 -1
- package/lib/cjs/timePicker/foundation.js +3 -97
- package/lib/cjs/timePicker/inputFoundation.js +6 -25
- package/lib/cjs/timePicker/utils/index.js +6 -45
- package/lib/cjs/timePicker/utils/localeDate.js +0 -10
- package/lib/cjs/timeline/constants.js +0 -2
- package/lib/cjs/toast/constants.js +0 -3
- package/lib/cjs/toast/toastFoundation.d.ts +3 -3
- package/lib/cjs/toast/toastFoundation.js +0 -14
- package/lib/cjs/toast/toastListFoundation.js +4 -22
- package/lib/cjs/tooltip/constants.js +0 -2
- package/lib/cjs/tooltip/foundation.d.ts +1 -1
- package/lib/cjs/tooltip/foundation.js +63 -291
- package/lib/cjs/transfer/constants.js +0 -2
- package/lib/cjs/transfer/foundation.d.ts +1 -1
- package/lib/cjs/transfer/foundation.js +4 -68
- package/lib/cjs/transfer/transferUtils.js +5 -27
- package/lib/cjs/tree/constants.js +0 -2
- package/lib/cjs/tree/foundation.d.ts +3 -3
- package/lib/cjs/tree/foundation.js +34 -150
- package/lib/cjs/tree/treeUtil.js +54 -173
- package/lib/cjs/treeSelect/constants.js +0 -2
- package/lib/cjs/treeSelect/foundation.d.ts +7 -7
- package/lib/cjs/treeSelect/foundation.js +18 -192
- package/lib/cjs/typography/constants.js +0 -2
- package/lib/cjs/typography/formatNumeral.d.ts +3 -3
- package/lib/cjs/typography/formatNumeral.js +16 -32
- package/lib/cjs/upload/constants.js +0 -2
- package/lib/cjs/upload/foundation.d.ts +5 -5
- package/lib/cjs/upload/foundation.js +36 -245
- package/lib/cjs/upload/utils.js +10 -29
- package/lib/cjs/utils/Event.js +2 -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 +1 -1
- package/lib/cjs/utils/array.js +0 -7
- package/lib/cjs/utils/arrayMove.js +0 -1
- package/lib/cjs/utils/classnames.js +0 -12
- package/lib/cjs/utils/date-fns-extra.js +0 -35
- package/lib/cjs/utils/dom.d.ts +1 -1
- package/lib/cjs/utils/dom.js +0 -13
- package/lib/cjs/utils/function.js +0 -1
- package/lib/cjs/utils/getDataAttr.js +0 -2
- package/lib/cjs/utils/getHighlight.js +5 -26
- package/lib/cjs/utils/getMotionObjFromProps.js +0 -12
- 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 +12 -34
- package/lib/cjs/utils/set.js +0 -8
- package/lib/cjs/utils/shallowEqualObjects.js +0 -7
- package/lib/cjs/utils/touchPolyfill.js +0 -7
- package/lib/cjs/utils/type.d.ts +3 -3
- package/lib/cjs/utils/uuid.js +2 -9
- package/lib/cjs/utils/warning.js +0 -1
- package/lib/es/anchor/foundation.js +10 -66
- package/lib/es/anchor/linkFoundation.js +4 -12
- package/lib/es/autoComplete/foundation.d.ts +1 -1
- package/lib/es/autoComplete/foundation.js +24 -132
- package/lib/es/autoComplete/optionFoundation.js +4 -10
- package/lib/es/avatar/foundation.js +0 -12
- package/lib/es/backtop/foundation.d.ts +2 -2
- package/lib/es/backtop/foundation.js +0 -16
- package/lib/es/banner/foundation.js +0 -3
- package/lib/es/base/constants.js +2 -2
- package/lib/es/base/foundation.d.ts +1 -1
- package/lib/es/base/foundation.js +11 -44
- package/lib/es/breadcrumb/foundation.js +0 -7
- package/lib/es/breadcrumb/itemFoundation.js +0 -3
- package/lib/es/calendar/eventUtil.d.ts +1 -1
- package/lib/es/calendar/eventUtil.js +2 -36
- package/lib/es/calendar/foundation.d.ts +2 -2
- package/lib/es/calendar/foundation.js +28 -117
- package/lib/es/carousel/foundation.js +2 -47
- package/lib/es/cascader/constants.js +0 -1
- package/lib/es/cascader/foundation.d.ts +4 -4
- package/lib/es/cascader/foundation.js +30 -226
- package/lib/es/cascader/util.js +6 -15
- package/lib/es/checkbox/checkboxFoundation.js +2 -34
- package/lib/es/checkbox/checkboxGroupFoundation.js +2 -20
- package/lib/es/collapse/foundation.d.ts +1 -1
- package/lib/es/collapse/foundation.js +2 -9
- 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.js +0 -2
- 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 +0 -4
- package/lib/es/datePicker/_utils/getInsetInputValueFromInsetInputStr.js +0 -5
- package/lib/es/datePicker/_utils/getMonthTable.d.ts +1 -1
- package/lib/es/datePicker/_utils/getMonthTable.js +4 -14
- package/lib/es/datePicker/_utils/getMonthsInYear.js +0 -1
- package/lib/es/datePicker/_utils/getYears.js +0 -3
- package/lib/es/datePicker/_utils/isBetween.js +0 -1
- package/lib/es/datePicker/_utils/parser.js +0 -8
- package/lib/es/datePicker/foundation.d.ts +24 -24
- package/lib/es/datePicker/foundation.js +22 -318
- package/lib/es/datePicker/inputFoundation.d.ts +3 -3
- package/lib/es/datePicker/inputFoundation.js +5 -74
- package/lib/es/datePicker/monthFoundation.d.ts +1 -1
- package/lib/es/datePicker/monthFoundation.js +4 -22
- package/lib/es/datePicker/monthsGridFoundation.d.ts +3 -3
- package/lib/es/datePicker/monthsGridFoundation.js +42 -222
- package/lib/es/datePicker/yearAndMonthFoundation.d.ts +1 -1
- package/lib/es/datePicker/yearAndMonthFoundation.js +12 -36
- package/lib/es/dropdown/foundation.js +4 -18
- package/lib/es/dropdown/menuFoundation.js +8 -22
- package/lib/es/form/foundation.js +74 -195
- package/lib/es/form/interface.d.ts +5 -5
- package/lib/es/form/utils.js +47 -70
- package/lib/es/image/imageFoundation.js +4 -13
- package/lib/es/image/previewFooterFoundation.js +0 -9
- package/lib/es/image/previewFoundation.js +0 -7
- package/lib/es/image/previewImageFoundation.js +6 -72
- package/lib/es/image/previewInnerFoundation.js +12 -70
- package/lib/es/image/utils.js +0 -6
- package/lib/es/input/foundation.js +17 -93
- package/lib/es/input/textareaFoundation.js +20 -75
- package/lib/es/input/util/calculateNodeHeight.js +6 -18
- package/lib/es/input/util/getSizingData.js +7 -11
- package/lib/es/inputNumber/foundation.js +28 -183
- package/lib/es/modal/modalContentFoundation.js +0 -15
- package/lib/es/modal/modalFoundation.d.ts +2 -2
- package/lib/es/modal/modalFoundation.js +2 -17
- package/lib/es/navigation/NavItem.js +0 -6
- package/lib/es/navigation/constants.js +1 -1
- package/lib/es/navigation/foundation.js +2 -60
- package/lib/es/navigation/itemFoundation.js +3 -18
- package/lib/es/navigation/subNavFoundation.js +4 -36
- package/lib/es/notification/constants.js +1 -1
- package/lib/es/notification/notificationFoundation.d.ts +3 -3
- package/lib/es/notification/notificationFoundation.js +0 -11
- package/lib/es/notification/notificationListFoundation.js +6 -13
- package/lib/es/overflowList/foundation.js +11 -37
- package/lib/es/pagination/foundation.d.ts +3 -3
- package/lib/es/pagination/foundation.js +20 -87
- package/lib/es/popconfirm/popconfirmFoundation.js +1 -16
- package/lib/es/progress/generates.d.ts +2 -2
- package/lib/es/progress/generates.js +19 -59
- package/lib/es/radio/radioFoundation.js +0 -9
- package/lib/es/radio/radioGroupFoundation.js +4 -19
- package/lib/es/radio/radioInnerFoundation.js +2 -15
- package/lib/es/rating/foundation.js +10 -54
- package/lib/es/scrollList/itemFoundation.js +8 -60
- package/lib/es/scrollList/scrollTo.js +2 -4
- package/lib/es/select/foundation.d.ts +2 -2
- package/lib/es/select/foundation.js +122 -411
- package/lib/es/select/optionFoundation.js +4 -10
- package/lib/es/sideSheet/sideSheetFoundation.js +0 -12
- package/lib/es/slider/foundation.d.ts +1 -1
- package/lib/es/slider/foundation.js +24 -197
- package/lib/es/spin/foundation.js +3 -11
- package/lib/es/switch/foundation.js +2 -13
- package/lib/es/table/bodyFoundation.js +2 -25
- package/lib/es/table/cellFoundation.js +0 -1
- package/lib/es/table/constants.js +6 -6
- package/lib/es/table/foundation.d.ts +17 -14
- package/lib/es/table/foundation.js +71 -309
- package/lib/es/table/tableRowFoundation.js +2 -9
- package/lib/es/table/tableSelectionCellFoundation.js +0 -2
- package/lib/es/table/utils.d.ts +2 -2
- package/lib/es/table/utils.js +5 -81
- package/lib/es/tabs/foundation.js +2 -35
- package/lib/es/tagInput/foundation.d.ts +4 -4
- package/lib/es/tagInput/foundation.js +4 -84
- package/lib/es/tagInput/utils/getSplitedArray.js +0 -7
- package/lib/es/timePicker/ComboxFoundation.js +4 -30
- package/lib/es/timePicker/foundation.d.ts +1 -1
- package/lib/es/timePicker/foundation.js +4 -90
- package/lib/es/timePicker/inputFoundation.js +6 -22
- package/lib/es/timePicker/utils/index.js +6 -25
- package/lib/es/timePicker/utils/localeDate.js +0 -8
- package/lib/es/toast/constants.js +1 -1
- package/lib/es/toast/toastFoundation.d.ts +3 -3
- package/lib/es/toast/toastFoundation.js +0 -9
- package/lib/es/toast/toastListFoundation.js +4 -18
- package/lib/es/tooltip/foundation.d.ts +1 -1
- package/lib/es/tooltip/foundation.js +63 -288
- package/lib/es/transfer/foundation.d.ts +1 -1
- package/lib/es/transfer/foundation.js +6 -62
- package/lib/es/transfer/transferUtils.js +5 -21
- package/lib/es/tree/foundation.d.ts +3 -3
- package/lib/es/tree/foundation.js +34 -143
- package/lib/es/tree/treeUtil.js +54 -139
- package/lib/es/treeSelect/foundation.d.ts +7 -7
- package/lib/es/treeSelect/foundation.js +20 -179
- package/lib/es/typography/formatNumeral.d.ts +3 -3
- package/lib/es/typography/formatNumeral.js +16 -29
- package/lib/es/upload/foundation.d.ts +5 -5
- package/lib/es/upload/foundation.js +36 -238
- package/lib/es/upload/utils.js +10 -24
- package/lib/es/utils/Event.js +2 -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 +1 -1
- package/lib/es/utils/array.js +0 -5
- package/lib/es/utils/classnames.js +0 -10
- package/lib/es/utils/date-fns-extra.js +0 -27
- package/lib/es/utils/dom.d.ts +1 -1
- package/lib/es/utils/dom.js +0 -9
- package/lib/es/utils/getDataAttr.js +0 -1
- package/lib/es/utils/getHighlight.js +5 -26
- package/lib/es/utils/getMotionObjFromProps.js +0 -8
- 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 +12 -28
- package/lib/es/utils/set.js +0 -5
- package/lib/es/utils/shallowEqualObjects.js +0 -6
- package/lib/es/utils/touchPolyfill.js +0 -5
- package/lib/es/utils/type.d.ts +3 -3
- package/lib/es/utils/uuid.js +2 -8
- package/package.json +2 -2
- package/table/foundation.ts +7 -10
- package/upload/foundation.ts +8 -8
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
type StrokeSet = {
|
|
2
2
|
percent: number;
|
|
3
3
|
color: string;
|
|
4
4
|
};
|
|
5
|
-
|
|
5
|
+
type StrokeArr = Array<StrokeSet>;
|
|
6
6
|
declare function generateColor(s: StrokeArr, percent: number, gradient: boolean): string | undefined;
|
|
7
7
|
export { generateColor, StrokeArr };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { strings } from './constants';
|
|
2
|
-
|
|
3
2
|
function generateColor(s, percent, gradient) {
|
|
4
3
|
try {
|
|
5
4
|
const gradientColorArr = generate(s, percent, gradient);
|
|
@@ -7,45 +6,34 @@ function generateColor(s, percent, gradient) {
|
|
|
7
6
|
} catch (e) {
|
|
8
7
|
return undefined;
|
|
9
8
|
}
|
|
10
|
-
|
|
11
9
|
return undefined;
|
|
12
10
|
}
|
|
13
|
-
|
|
14
11
|
function generate(s, percent, gradient) {
|
|
15
12
|
s.sort((a, b) => a.percent - b.percent);
|
|
16
|
-
|
|
17
13
|
if (s[0].percent > percent) {
|
|
18
14
|
return strings.STROKE_DEFAULT;
|
|
19
15
|
}
|
|
20
|
-
|
|
21
16
|
const endS = s[s.length - 1];
|
|
22
|
-
|
|
23
17
|
if (endS.percent < percent) {
|
|
24
18
|
return formatToHex(endS.color);
|
|
25
19
|
}
|
|
26
|
-
|
|
27
20
|
for (const [index, item] of s.entries()) {
|
|
28
21
|
if (item.percent === percent) {
|
|
29
22
|
return formatToHex(item.color);
|
|
30
23
|
}
|
|
31
|
-
|
|
32
24
|
if (percent > item.percent) continue;
|
|
33
25
|
const oldItem = s[index - 1];
|
|
34
|
-
|
|
35
26
|
if (!gradient) {
|
|
36
27
|
return formatToHex(oldItem.color);
|
|
37
28
|
}
|
|
38
|
-
|
|
39
29
|
return generateGradients({
|
|
40
30
|
startColor: formatToHex(oldItem.color),
|
|
41
31
|
endColor: formatToHex(item.color),
|
|
42
32
|
size: item.percent - oldItem.percent - 1
|
|
43
33
|
}, percent - oldItem.percent - 1);
|
|
44
34
|
}
|
|
45
|
-
|
|
46
35
|
return undefined;
|
|
47
36
|
}
|
|
48
|
-
|
|
49
37
|
function generateGradients(g, index) {
|
|
50
38
|
const {
|
|
51
39
|
startColor,
|
|
@@ -62,7 +50,6 @@ function generateGradients(g, index) {
|
|
|
62
50
|
const gStep = (gC[0] - gC[1]) / (size + 1);
|
|
63
51
|
const bStep = (bC[0] - bC[1]) / (size + 1);
|
|
64
52
|
const aStep = (aC[0] - aC[1]) / (size + 1);
|
|
65
|
-
|
|
66
53
|
function tHex(i) {
|
|
67
54
|
const rS = Math.round(rC[0] - rStep * (i + 1)).toString(16);
|
|
68
55
|
const gS = Math.round(gC[0] - gStep * (i + 1)).toString(16);
|
|
@@ -71,91 +58,71 @@ function generateGradients(g, index) {
|
|
|
71
58
|
const t = Math.floor(aStep * (i + 1) + aC[1]).toString(16);
|
|
72
59
|
return toHex.Hex(`#${h}`, t);
|
|
73
60
|
}
|
|
74
|
-
|
|
75
61
|
function padTwo(s) {
|
|
76
62
|
if (s.length === 1) {
|
|
77
63
|
return `0${s}`;
|
|
78
64
|
}
|
|
79
|
-
|
|
80
65
|
if (s.length === 0) {
|
|
81
66
|
return '00';
|
|
82
67
|
}
|
|
83
|
-
|
|
84
68
|
return s;
|
|
85
69
|
}
|
|
86
|
-
|
|
87
70
|
if (typeof index === 'undefined') {
|
|
88
71
|
const gradientColorArr = [startColor];
|
|
89
|
-
|
|
90
72
|
for (let i = 0; i < size; i += 1) {
|
|
91
73
|
gradientColorArr.push(tHex(i));
|
|
92
74
|
}
|
|
93
|
-
|
|
94
75
|
return gradientColorArr;
|
|
95
76
|
}
|
|
96
|
-
|
|
97
77
|
return tHex(index);
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
|
|
78
|
+
}
|
|
79
|
+
// Resolve the colour type contained within `ColorType` to Hex
|
|
101
80
|
function formatToHex(color) {
|
|
102
|
-
color = color.trim().toLowerCase();
|
|
103
|
-
|
|
81
|
+
color = color.trim().toLowerCase();
|
|
82
|
+
// Hex
|
|
104
83
|
if (REG_S.hex.test(color)) {
|
|
105
84
|
return toHex.Hex(color, undefined);
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
|
|
85
|
+
}
|
|
86
|
+
// Hsl or Hsla
|
|
109
87
|
if (REG_S.hslA.test(color)) {
|
|
110
88
|
return toHex.Hex(toHex.HslA(color), undefined);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
|
|
89
|
+
}
|
|
90
|
+
// Rgb or Rgba
|
|
114
91
|
if (REG_S.rgbA.test(color)) {
|
|
115
92
|
return toHex.Hex(toHex.RgbA(color), undefined);
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
|
|
93
|
+
}
|
|
94
|
+
// Semi Design Tokens
|
|
119
95
|
if (REG_S.semiDesignTokens.test(color)) {
|
|
120
96
|
if (SEMI_DESIGN_TOKENS.ALONG.indexOf(color) !== -1) {
|
|
121
97
|
return toHex.SemiDesignToken(color);
|
|
122
98
|
}
|
|
123
|
-
|
|
124
99
|
if (SEMI_DESIGN_TOKENS.SEQUENCE.indexOf(color) !== -1) {
|
|
125
100
|
return toHex.SemiDesignToken(`${color}-5`);
|
|
126
101
|
}
|
|
127
|
-
|
|
128
102
|
return toHex.SemiDesignToken(`${color}`);
|
|
129
103
|
}
|
|
130
|
-
|
|
131
104
|
return undefined;
|
|
132
105
|
}
|
|
133
|
-
|
|
134
106
|
const toHex = {
|
|
135
107
|
Hex(color, transparency) {
|
|
136
108
|
color = color.replace('#', '');
|
|
137
109
|
if (color.length === 8) return `#${color}`;
|
|
138
110
|
if (color.length === 6) return `#${color}${transparency || 'ff'}`;
|
|
139
|
-
|
|
140
111
|
if (color.length === 3) {
|
|
141
112
|
color = color.split('').map(c => c + c).join('');
|
|
142
113
|
}
|
|
143
|
-
|
|
144
114
|
return `#${color}${transparency || 'ff'}`;
|
|
145
115
|
},
|
|
146
|
-
|
|
147
116
|
SemiDesignToken(color) {
|
|
148
117
|
// ! Only produces effects when used, the conditions for running need to occur after the real DOM is rendered
|
|
149
118
|
if (typeof window === 'undefined') {
|
|
150
119
|
return undefined;
|
|
151
120
|
}
|
|
152
|
-
|
|
153
121
|
const variable = getComputedStyle(document.body).getPropertyValue(`--semi-${color}`);
|
|
154
122
|
if (variable === '') return undefined;
|
|
155
123
|
const rgba = `rgba(${variable}, 1)`;
|
|
156
124
|
return toHex.RgbA(rgba);
|
|
157
125
|
},
|
|
158
|
-
|
|
159
126
|
HslA(color) {
|
|
160
127
|
const hsla = REG_S.hslA.exec(color);
|
|
161
128
|
const h = parseInt(hsla[2]);
|
|
@@ -163,12 +130,11 @@ const toHex = {
|
|
|
163
130
|
const l = parseInt(hsla[4]) / 100;
|
|
164
131
|
const a = hsla[5];
|
|
165
132
|
const c = (1 - Math.abs(2 * l - 1)) * s,
|
|
166
|
-
|
|
167
|
-
|
|
133
|
+
x = c * (1 - Math.abs(h / 60 % 2 - 1)),
|
|
134
|
+
m = l - c / 2;
|
|
168
135
|
let r = 0,
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
136
|
+
g = 0,
|
|
137
|
+
b = 0;
|
|
172
138
|
if (0 <= h && h < 60) {
|
|
173
139
|
r = c;
|
|
174
140
|
g = x;
|
|
@@ -194,37 +160,31 @@ const toHex = {
|
|
|
194
160
|
g = 0;
|
|
195
161
|
b = x;
|
|
196
162
|
}
|
|
197
|
-
|
|
198
163
|
r = Math.round((r + m) * 255).toString(16);
|
|
199
164
|
g = Math.round((g + m) * 255).toString(16);
|
|
200
165
|
b = Math.round((b + m) * 255).toString(16);
|
|
201
166
|
return toHex.utils.pAL(r, g, b, a);
|
|
202
167
|
},
|
|
203
|
-
|
|
204
168
|
RgbA(color) {
|
|
205
169
|
const rgba = REG_S.rgbA.exec(color);
|
|
206
170
|
const r = parseInt(rgba[2], 10).toString(16),
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
171
|
+
g = parseInt(rgba[3], 10).toString(16),
|
|
172
|
+
b = parseInt(rgba[4], 10).toString(16),
|
|
173
|
+
a = rgba[5];
|
|
210
174
|
return toHex.utils.pAL(r, g, b, a);
|
|
211
175
|
},
|
|
212
|
-
|
|
213
176
|
utils: {
|
|
214
177
|
pAL(r, g, b, a) {
|
|
215
178
|
if (r.length == 1) r = '0' + r;
|
|
216
179
|
if (g.length == 1) g = '0' + g;
|
|
217
180
|
if (b.length == 1) b = '0' + b;
|
|
218
|
-
|
|
219
181
|
if (typeof a !== 'undefined') {
|
|
220
182
|
a = Math.round(parseInt(a) * 255).toString(16);
|
|
221
183
|
if (a.length == 1) a = '0' + a;
|
|
222
184
|
return '#' + r + g + b + a;
|
|
223
185
|
}
|
|
224
|
-
|
|
225
186
|
return '#' + r + g + b;
|
|
226
187
|
}
|
|
227
|
-
|
|
228
188
|
}
|
|
229
189
|
};
|
|
230
190
|
const REG_S = {
|
|
@@ -232,8 +192,8 @@ const REG_S = {
|
|
|
232
192
|
hslA: /(hsl)a?\(\s*?(\d+),?\s*?(\d+)%,?\s*?(\d+)%,?\s*?\/?(\s*?[\d.]+)?\s*?\)/,
|
|
233
193
|
rgbA: /(rgb)a?\(\s*?(\d+),?\s*?(\d+),?\s*?(\d+),?\s*?\/?(\s*?[\d.]+)?\s*?\)/,
|
|
234
194
|
semiDesignTokens: /(\w+)?-?(\w+)-?(\d)?/
|
|
235
|
-
};
|
|
236
|
-
|
|
195
|
+
};
|
|
196
|
+
// From src/components/palette.js
|
|
237
197
|
const SEMI_DESIGN_TOKENS = {
|
|
238
198
|
// No sequence
|
|
239
199
|
ALONG: ["black", "white"],
|
|
@@ -3,12 +3,10 @@ import warning from '../utils/warning';
|
|
|
3
3
|
export default class RadioFoundation extends BaseFoundation {
|
|
4
4
|
constructor() {
|
|
5
5
|
super(...arguments);
|
|
6
|
-
|
|
7
6
|
this.handleFocusVisible = event => {
|
|
8
7
|
const {
|
|
9
8
|
target
|
|
10
9
|
} = event;
|
|
11
|
-
|
|
12
10
|
try {
|
|
13
11
|
if (target.matches(':focus-visible')) {
|
|
14
12
|
this._adapter.setFocusVisible(true);
|
|
@@ -17,12 +15,10 @@ export default class RadioFoundation extends BaseFoundation {
|
|
|
17
15
|
warning(true, 'Warning: [Semi Radio] The current browser does not support the focus-visible');
|
|
18
16
|
}
|
|
19
17
|
};
|
|
20
|
-
|
|
21
18
|
this.handleBlur = () => {
|
|
22
19
|
this._adapter.setFocusVisible(false);
|
|
23
20
|
};
|
|
24
21
|
}
|
|
25
|
-
|
|
26
22
|
init() {
|
|
27
23
|
const {
|
|
28
24
|
children,
|
|
@@ -30,22 +26,17 @@ export default class RadioFoundation extends BaseFoundation {
|
|
|
30
26
|
extraId,
|
|
31
27
|
addonId
|
|
32
28
|
} = this._adapter.getProps();
|
|
33
|
-
|
|
34
29
|
if (children && !addonId) {
|
|
35
30
|
this._adapter.setAddonId();
|
|
36
31
|
}
|
|
37
|
-
|
|
38
32
|
if (extra && !extraId) {
|
|
39
33
|
this._adapter.setExtraId();
|
|
40
34
|
}
|
|
41
35
|
}
|
|
42
|
-
|
|
43
36
|
setHover(hover) {
|
|
44
37
|
this._adapter.setHover(hover);
|
|
45
38
|
}
|
|
46
|
-
|
|
47
39
|
setChecked(checked) {
|
|
48
40
|
this._adapter.setChecked(checked);
|
|
49
41
|
}
|
|
50
|
-
|
|
51
42
|
}
|
|
@@ -3,29 +3,23 @@ export default class RadioGroupFoundation extends BaseFoundation {
|
|
|
3
3
|
constructor(adapter) {
|
|
4
4
|
super(Object.assign({}, adapter));
|
|
5
5
|
}
|
|
6
|
-
|
|
7
6
|
init() {
|
|
8
7
|
const displayValue = this._getDisplayValue();
|
|
9
|
-
|
|
10
8
|
this._setValue(displayValue);
|
|
11
9
|
}
|
|
12
|
-
|
|
13
10
|
_getDisplayValue() {
|
|
14
11
|
const {
|
|
15
12
|
value,
|
|
16
13
|
defaultValue
|
|
17
14
|
} = this.getProps();
|
|
18
15
|
let displayValue;
|
|
19
|
-
|
|
20
16
|
if ('value' in this.getProps()) {
|
|
21
17
|
displayValue = value;
|
|
22
18
|
} else if ('defaultValue' in this.getProps()) {
|
|
23
19
|
displayValue = defaultValue;
|
|
24
20
|
}
|
|
25
|
-
|
|
26
21
|
return displayValue;
|
|
27
22
|
}
|
|
28
|
-
|
|
29
23
|
handleChange(evt) {
|
|
30
24
|
const mode = this.getProp('mode');
|
|
31
25
|
const lastValue = this.getState('value');
|
|
@@ -33,19 +27,15 @@ export default class RadioGroupFoundation extends BaseFoundation {
|
|
|
33
27
|
checked,
|
|
34
28
|
value
|
|
35
29
|
} = evt.target;
|
|
36
|
-
|
|
37
30
|
const isControlledComponent = this._adapter.isInProps('value');
|
|
38
|
-
|
|
39
31
|
const cbValue = Object.assign(Object.assign({}, evt), {
|
|
40
32
|
target: Object.assign(Object.assign({}, evt.target), {
|
|
41
33
|
value
|
|
42
34
|
})
|
|
43
35
|
});
|
|
44
|
-
|
|
45
36
|
if (mode === 'advanced' && !checked) {
|
|
46
37
|
cbValue.target.value = undefined;
|
|
47
38
|
}
|
|
48
|
-
|
|
49
39
|
if (!isControlledComponent) {
|
|
50
40
|
if (mode === 'advanced' && !checked) {
|
|
51
41
|
this._setValue(undefined);
|
|
@@ -53,22 +43,17 @@ export default class RadioGroupFoundation extends BaseFoundation {
|
|
|
53
43
|
this._setValue(value);
|
|
54
44
|
}
|
|
55
45
|
}
|
|
56
|
-
|
|
57
46
|
if (mode === 'advanced' || lastValue !== value) {
|
|
58
47
|
this._adapter.notifyChange(cbValue);
|
|
59
48
|
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
49
|
+
}
|
|
50
|
+
// call when prop.value change
|
|
63
51
|
handlePropValueChange(propValue) {
|
|
64
52
|
this._setValue(propValue);
|
|
65
53
|
}
|
|
66
|
-
|
|
67
54
|
_setValue(value) {
|
|
68
55
|
this._adapter.setValue(value);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
|
|
56
|
+
}
|
|
57
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
72
58
|
destroy() {}
|
|
73
|
-
|
|
74
59
|
}
|
|
@@ -3,37 +3,28 @@ export default class RadioInnerFoundation extends BaseFoundation {
|
|
|
3
3
|
constructor(adapter) {
|
|
4
4
|
super(Object.assign({}, adapter));
|
|
5
5
|
}
|
|
6
|
-
|
|
7
6
|
init() {
|
|
8
7
|
const checked = this._adapter.getProp('checked');
|
|
9
|
-
|
|
10
8
|
const defaultChecked = this._adapter.getProp('defaultChecked');
|
|
11
|
-
|
|
12
9
|
this.setChecked(checked || defaultChecked);
|
|
13
10
|
}
|
|
14
|
-
|
|
15
11
|
setChecked(checked) {
|
|
16
12
|
this._adapter.setNativeControlChecked(checked);
|
|
17
13
|
}
|
|
18
|
-
|
|
19
14
|
getChecked() {
|
|
20
15
|
return this._adapter.getProp('checked');
|
|
21
16
|
}
|
|
22
|
-
|
|
23
17
|
handleChange(e) {
|
|
24
18
|
const isControlledMode = ('checked' in this.getProps());
|
|
25
19
|
const {
|
|
26
20
|
checked
|
|
27
21
|
} = e.target;
|
|
28
|
-
|
|
29
22
|
const stopPropagation = () => {
|
|
30
23
|
e.stopPropagation();
|
|
31
24
|
};
|
|
32
|
-
|
|
33
25
|
const preventDefault = () => {
|
|
34
26
|
e.preventDefault();
|
|
35
27
|
};
|
|
36
|
-
|
|
37
28
|
const cbValue = {
|
|
38
29
|
target: Object.assign(Object.assign({}, this.getProps()), {
|
|
39
30
|
checked
|
|
@@ -41,17 +32,13 @@ export default class RadioInnerFoundation extends BaseFoundation {
|
|
|
41
32
|
stopPropagation,
|
|
42
33
|
preventDefault
|
|
43
34
|
};
|
|
44
|
-
|
|
45
35
|
if (isControlledMode) {
|
|
46
36
|
this._adapter.notifyChange(cbValue);
|
|
47
37
|
} else {
|
|
48
38
|
this.setChecked(checked);
|
|
49
|
-
|
|
50
39
|
this._adapter.notifyChange(cbValue);
|
|
51
40
|
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
|
|
41
|
+
}
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
55
43
|
destroy() {}
|
|
56
|
-
|
|
57
44
|
}
|
|
@@ -4,15 +4,14 @@ import warning from '../utils/warning';
|
|
|
4
4
|
export default class RatingFoundation extends BaseFoundation {
|
|
5
5
|
constructor(adapter) {
|
|
6
6
|
super(Object.assign(Object.assign({}, RatingFoundation.defaultAdapter), adapter));
|
|
7
|
-
|
|
8
7
|
this.handleStarFocusVisible = event => {
|
|
9
8
|
const {
|
|
10
9
|
target
|
|
11
10
|
} = event;
|
|
12
11
|
const {
|
|
13
12
|
count
|
|
14
|
-
} = this.getProps();
|
|
15
|
-
|
|
13
|
+
} = this.getProps();
|
|
14
|
+
// when rating 0 is focus visible
|
|
16
15
|
try {
|
|
17
16
|
if (target.matches(':focus-visible')) {
|
|
18
17
|
this._adapter.setEmptyStarFocusVisible(true);
|
|
@@ -20,49 +19,40 @@ export default class RatingFoundation extends BaseFoundation {
|
|
|
20
19
|
} catch (error) {
|
|
21
20
|
warning(true, 'Warning: [Semi Rating] The current browser does not support the focus-visible');
|
|
22
21
|
}
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
};
|
|
23
|
+
// e: FocusEvent
|
|
26
24
|
this.handleStarBlur = e => {
|
|
27
25
|
const {
|
|
28
26
|
emptyStarFocusVisible
|
|
29
27
|
} = this.getStates();
|
|
30
|
-
|
|
31
28
|
if (emptyStarFocusVisible) {
|
|
32
29
|
this._adapter.setEmptyStarFocusVisible(false);
|
|
33
30
|
}
|
|
34
31
|
};
|
|
35
32
|
}
|
|
36
|
-
|
|
37
33
|
init() {
|
|
38
34
|
const {
|
|
39
35
|
autoFocus,
|
|
40
36
|
disabled
|
|
41
37
|
} = this.getProps();
|
|
42
|
-
|
|
43
38
|
if (autoFocus && !disabled) {
|
|
44
39
|
this._adapter.focus();
|
|
45
40
|
}
|
|
46
41
|
}
|
|
47
|
-
|
|
48
42
|
_getScroll(w, top) {
|
|
49
43
|
let ret = top ? w.pageYOffset : w.pageXOffset;
|
|
50
44
|
const method = top ? 'scrollTop' : 'scrollLeft';
|
|
51
|
-
|
|
52
45
|
if (typeof ret !== 'number') {
|
|
53
|
-
const d = w.document;
|
|
54
|
-
|
|
46
|
+
const d = w.document;
|
|
47
|
+
// ie6,7,8 standard mode
|
|
55
48
|
ret = d.documentElement[method];
|
|
56
|
-
|
|
57
49
|
if (typeof ret !== 'number') {
|
|
58
50
|
// quirks mode
|
|
59
51
|
ret = d.body[method];
|
|
60
52
|
}
|
|
61
53
|
}
|
|
62
|
-
|
|
63
54
|
return ret;
|
|
64
55
|
}
|
|
65
|
-
|
|
66
56
|
_getClientPosition(elem) {
|
|
67
57
|
let x, y;
|
|
68
58
|
const doc = elem.ownerDocument;
|
|
@@ -80,59 +70,45 @@ export default class RatingFoundation extends BaseFoundation {
|
|
|
80
70
|
top: y
|
|
81
71
|
};
|
|
82
72
|
}
|
|
83
|
-
|
|
84
73
|
_getOffsetLeft(el) {
|
|
85
74
|
const pos = this._getClientPosition(el);
|
|
86
|
-
|
|
87
75
|
const doc = el.ownerDocument;
|
|
88
76
|
const w = doc.defaultView || doc.parentWindow;
|
|
89
77
|
pos.left += this._getScroll(w);
|
|
90
78
|
return pos.left;
|
|
91
79
|
}
|
|
92
|
-
|
|
93
80
|
getStarValue(index, pos) {
|
|
94
81
|
const {
|
|
95
82
|
allowHalf
|
|
96
83
|
} = this.getProps();
|
|
97
|
-
|
|
98
84
|
const direction = this._adapter.getContext('direction');
|
|
99
|
-
|
|
100
85
|
const reverse = direction === 'rtl';
|
|
101
86
|
let value = index + 1;
|
|
102
|
-
|
|
103
87
|
if (allowHalf) {
|
|
104
88
|
const starEle = this._adapter.getStarDOM(index);
|
|
105
|
-
|
|
106
89
|
const leftDis = this._getOffsetLeft(starEle);
|
|
107
|
-
|
|
108
90
|
const width = starEle.clientWidth;
|
|
109
|
-
|
|
110
91
|
if (reverse && pos - leftDis > width / 2) {
|
|
111
92
|
value -= 0.5;
|
|
112
93
|
} else if (!reverse && pos - leftDis < width / 2) {
|
|
113
94
|
value -= 0.5;
|
|
114
95
|
}
|
|
115
96
|
}
|
|
116
|
-
|
|
117
97
|
return value;
|
|
118
98
|
}
|
|
119
|
-
|
|
120
99
|
handleHover(event, index) {
|
|
121
100
|
const currValue = this.getStarValue(index, event.pageX);
|
|
122
101
|
const {
|
|
123
102
|
clearedValue,
|
|
124
103
|
hoverValue
|
|
125
104
|
} = this.getStates();
|
|
126
|
-
|
|
127
105
|
if (currValue !== hoverValue && currValue !== clearedValue) {
|
|
128
106
|
this._adapter.notifyHoverChange(currValue, null);
|
|
129
107
|
}
|
|
130
108
|
}
|
|
131
|
-
|
|
132
109
|
handleMouseLeave() {
|
|
133
110
|
this._adapter.notifyHoverChange(undefined, null);
|
|
134
111
|
}
|
|
135
|
-
|
|
136
112
|
handleClick(event, index) {
|
|
137
113
|
const {
|
|
138
114
|
allowClear
|
|
@@ -142,24 +118,19 @@ export default class RatingFoundation extends BaseFoundation {
|
|
|
142
118
|
} = this.getStates();
|
|
143
119
|
const newValue = this.getStarValue(index, event.pageX);
|
|
144
120
|
const isReset = allowClear ? newValue === value : false;
|
|
145
|
-
|
|
146
121
|
this._adapter.updateValue(isReset ? 0 : newValue);
|
|
147
|
-
|
|
148
122
|
if (isReset) {
|
|
149
123
|
this._adapter.notifyHoverChange(undefined, newValue);
|
|
150
124
|
} else {
|
|
151
125
|
this._adapter.clearValue(null);
|
|
152
126
|
}
|
|
153
127
|
}
|
|
154
|
-
|
|
155
128
|
handleFocus(e) {
|
|
156
129
|
this._adapter.notifyFocus(e);
|
|
157
130
|
}
|
|
158
|
-
|
|
159
131
|
handleBlur(e) {
|
|
160
132
|
this._adapter.notifyBlur(e);
|
|
161
133
|
}
|
|
162
|
-
|
|
163
134
|
handleKeyDown(event, value) {
|
|
164
135
|
const {
|
|
165
136
|
key
|
|
@@ -168,20 +139,16 @@ export default class RatingFoundation extends BaseFoundation {
|
|
|
168
139
|
count,
|
|
169
140
|
allowHalf
|
|
170
141
|
} = this.getProps();
|
|
171
|
-
|
|
172
142
|
const direction = this._adapter.getContext('direction');
|
|
173
|
-
|
|
174
143
|
const reverse = direction === 'rtl';
|
|
175
144
|
const step = allowHalf ? 0.5 : 1;
|
|
176
145
|
let tempValue;
|
|
177
146
|
let newValue;
|
|
178
|
-
|
|
179
147
|
if (key === 'ArrowRight' || key === 'ArrowUp') {
|
|
180
148
|
tempValue = value + (reverse ? -step : step);
|
|
181
149
|
} else if (key === 'ArrowLeft' || key === 'ArrowDown') {
|
|
182
150
|
tempValue = value + (reverse ? step : -step);
|
|
183
151
|
}
|
|
184
|
-
|
|
185
152
|
if (tempValue > count) {
|
|
186
153
|
newValue = 0;
|
|
187
154
|
} else if (tempValue < 0) {
|
|
@@ -189,19 +156,14 @@ export default class RatingFoundation extends BaseFoundation {
|
|
|
189
156
|
} else {
|
|
190
157
|
newValue = tempValue;
|
|
191
158
|
}
|
|
192
|
-
|
|
193
159
|
if (['ArrowRight', 'ArrowUp', 'ArrowLeft', 'ArrowDown'].includes(key)) {
|
|
194
160
|
this._adapter.notifyKeyDown(event);
|
|
195
|
-
|
|
196
161
|
this._adapter.updateValue(newValue);
|
|
197
|
-
|
|
198
162
|
this.changeFocusStar(newValue, event);
|
|
199
163
|
event.preventDefault();
|
|
200
|
-
|
|
201
164
|
this._adapter.notifyHoverChange(undefined, null);
|
|
202
165
|
}
|
|
203
166
|
}
|
|
204
|
-
|
|
205
167
|
changeFocusStar(value, event) {
|
|
206
168
|
const {
|
|
207
169
|
count,
|
|
@@ -210,7 +172,6 @@ export default class RatingFoundation extends BaseFoundation {
|
|
|
210
172
|
} = this.getProps();
|
|
211
173
|
const index = Math.ceil(value) - 1;
|
|
212
174
|
const starElement = [...event.currentTarget.childNodes].map(item => item.childNodes[0].childNodes);
|
|
213
|
-
|
|
214
175
|
if (index < 0) {
|
|
215
176
|
starElement[count][0].focus({
|
|
216
177
|
preventScroll
|
|
@@ -221,17 +182,15 @@ export default class RatingFoundation extends BaseFoundation {
|
|
|
221
182
|
});
|
|
222
183
|
}
|
|
223
184
|
}
|
|
224
|
-
|
|
225
185
|
}
|
|
226
186
|
export class RatingItemFoundation extends BaseFoundation {
|
|
227
187
|
constructor(adapter) {
|
|
228
188
|
super(Object.assign(Object.assign({}, RatingItemFoundation.defaultAdapter), adapter));
|
|
229
|
-
|
|
230
189
|
this.handleFocusVisible = (event, star) => {
|
|
231
190
|
const {
|
|
232
191
|
target
|
|
233
|
-
} = event;
|
|
234
|
-
|
|
192
|
+
} = event;
|
|
193
|
+
// when rating 0 is focus visible
|
|
235
194
|
try {
|
|
236
195
|
if (target.matches(':focus-visible')) {
|
|
237
196
|
if (star === 'first') {
|
|
@@ -243,15 +202,13 @@ export class RatingItemFoundation extends BaseFoundation {
|
|
|
243
202
|
} catch (error) {
|
|
244
203
|
warning(true, 'Warning: [Semi Rating] The current browser does not support the focus-visible');
|
|
245
204
|
}
|
|
246
|
-
};
|
|
247
|
-
|
|
248
|
-
|
|
205
|
+
};
|
|
206
|
+
// e: FocusEvent
|
|
249
207
|
this.handleBlur = (e, star) => {
|
|
250
208
|
const {
|
|
251
209
|
firstStarFocus,
|
|
252
210
|
secondStarFocus
|
|
253
211
|
} = this.getStates();
|
|
254
|
-
|
|
255
212
|
if (star === 'first') {
|
|
256
213
|
firstStarFocus && this._adapter.setFirstStarFocus(false);
|
|
257
214
|
} else {
|
|
@@ -259,5 +216,4 @@ export class RatingItemFoundation extends BaseFoundation {
|
|
|
259
216
|
}
|
|
260
217
|
};
|
|
261
218
|
}
|
|
262
|
-
|
|
263
219
|
}
|