@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
package/lib/es/upload/utils.js
CHANGED
|
@@ -4,7 +4,6 @@ var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, gene
|
|
|
4
4
|
resolve(value);
|
|
5
5
|
});
|
|
6
6
|
}
|
|
7
|
-
|
|
8
7
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
9
8
|
function fulfilled(value) {
|
|
10
9
|
try {
|
|
@@ -13,7 +12,6 @@ var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, gene
|
|
|
13
12
|
reject(e);
|
|
14
13
|
}
|
|
15
14
|
}
|
|
16
|
-
|
|
17
15
|
function rejected(value) {
|
|
18
16
|
try {
|
|
19
17
|
step(generator["throw"](value));
|
|
@@ -21,15 +19,12 @@ var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, gene
|
|
|
21
19
|
reject(e);
|
|
22
20
|
}
|
|
23
21
|
}
|
|
24
|
-
|
|
25
22
|
function step(result) {
|
|
26
23
|
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
27
24
|
}
|
|
28
|
-
|
|
29
25
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
30
26
|
});
|
|
31
27
|
};
|
|
32
|
-
|
|
33
28
|
export const byteKB = 1024;
|
|
34
29
|
export const byteMB = 1048576;
|
|
35
30
|
export function getFileSize(number) {
|
|
@@ -40,7 +35,6 @@ export function getFileSize(number) {
|
|
|
40
35
|
} else if (number >= byteMB) {
|
|
41
36
|
return `${(number / byteMB).toFixed(1)}MB`;
|
|
42
37
|
}
|
|
43
|
-
|
|
44
38
|
return undefined;
|
|
45
39
|
}
|
|
46
40
|
export function endsWith(str, suffix) {
|
|
@@ -51,14 +45,12 @@ export function loopFiles(item) {
|
|
|
51
45
|
return new Promise((res, rej) => {
|
|
52
46
|
const dirReader = item.createReader();
|
|
53
47
|
let fileList = [];
|
|
54
|
-
|
|
55
48
|
function sequence() {
|
|
56
49
|
dirReader.readEntries(entries => {
|
|
57
50
|
const entryList = Array.prototype.slice.apply(entries);
|
|
58
|
-
fileList = fileList.concat(entryList);
|
|
59
|
-
|
|
51
|
+
fileList = fileList.concat(entryList);
|
|
52
|
+
// Check if all the file has been viewed
|
|
60
53
|
const isFinished = !entryList.length;
|
|
61
|
-
|
|
62
54
|
if (isFinished) {
|
|
63
55
|
res(fileList);
|
|
64
56
|
} else {
|
|
@@ -66,7 +58,6 @@ export function loopFiles(item) {
|
|
|
66
58
|
}
|
|
67
59
|
}, rej);
|
|
68
60
|
}
|
|
69
|
-
|
|
70
61
|
sequence();
|
|
71
62
|
});
|
|
72
63
|
});
|
|
@@ -74,12 +65,10 @@ export function loopFiles(item) {
|
|
|
74
65
|
export function mapFileTree(items) {
|
|
75
66
|
return __awaiter(this, void 0, void 0, function* () {
|
|
76
67
|
const promises = [];
|
|
77
|
-
|
|
78
68
|
const _traverseFileTree = (item, path) => __awaiter(this, void 0, void 0, function* () {
|
|
79
|
-
path = path || '';
|
|
80
|
-
|
|
69
|
+
path = path || '';
|
|
70
|
+
//@ts-ignore add path property into item
|
|
81
71
|
item.path = path;
|
|
82
|
-
|
|
83
72
|
if (item.isFile) {
|
|
84
73
|
promises.push(new Promise((res, rej) => {
|
|
85
74
|
item.file(file => {
|
|
@@ -90,8 +79,8 @@ export function mapFileTree(items) {
|
|
|
90
79
|
webkitRelativePath: {
|
|
91
80
|
writable: true
|
|
92
81
|
}
|
|
93
|
-
});
|
|
94
|
-
|
|
82
|
+
});
|
|
83
|
+
//@ts-ignore add webkitRelativePath property into file
|
|
95
84
|
file.webkitRelativePath = item.fullPath.replace(/^\//, '');
|
|
96
85
|
Object.defineProperties(file, {
|
|
97
86
|
webkitRelativePath: {
|
|
@@ -99,25 +88,22 @@ export function mapFileTree(items) {
|
|
|
99
88
|
}
|
|
100
89
|
});
|
|
101
90
|
}
|
|
102
|
-
|
|
103
91
|
res(file);
|
|
104
92
|
}, rej);
|
|
105
93
|
}));
|
|
106
94
|
} else if (item.isDirectory) {
|
|
107
95
|
const entries = yield loopFiles(item);
|
|
108
|
-
|
|
109
96
|
for (let index = 0; index < entries.length; index++) {
|
|
110
97
|
const entry = entries[index];
|
|
111
98
|
yield _traverseFileTree(entry, `${path}${item.name}/`);
|
|
112
99
|
}
|
|
113
100
|
}
|
|
114
101
|
});
|
|
115
|
-
|
|
116
102
|
try {
|
|
117
|
-
const batches = items.map(i => _traverseFileTree(i.webkitGetAsEntry()));
|
|
118
|
-
|
|
119
|
-
yield Promise.all(batches);
|
|
120
|
-
|
|
103
|
+
const batches = items.map(i => _traverseFileTree(i.webkitGetAsEntry()));
|
|
104
|
+
// Perform asynchronous operations to add the required promises to the queue
|
|
105
|
+
yield Promise.all(batches);
|
|
106
|
+
// Execution queue
|
|
121
107
|
const result = yield Promise.all(promises);
|
|
122
108
|
return result;
|
|
123
109
|
} catch (error) {
|
package/lib/es/utils/Event.js
CHANGED
|
@@ -3,39 +3,30 @@ export default class Event {
|
|
|
3
3
|
constructor() {
|
|
4
4
|
this._eventMap = new Map();
|
|
5
5
|
}
|
|
6
|
-
|
|
7
6
|
on(event, callback) {
|
|
8
7
|
if (event && typeof callback === 'function') {
|
|
9
8
|
this._eventMap.has(event) || this._eventMap.set(event, []);
|
|
10
|
-
|
|
11
9
|
this._eventMap.get(event).push(callback);
|
|
12
10
|
}
|
|
13
|
-
|
|
14
11
|
return this;
|
|
15
12
|
}
|
|
16
|
-
|
|
17
13
|
once(event, callback) {
|
|
18
14
|
var _this = this;
|
|
19
|
-
|
|
20
15
|
if (event && typeof callback === 'function') {
|
|
21
16
|
const fn = function () {
|
|
22
17
|
callback(...arguments);
|
|
23
|
-
|
|
24
18
|
_this.off(event, fn);
|
|
25
19
|
};
|
|
26
|
-
|
|
27
20
|
this.on(event, fn);
|
|
28
21
|
}
|
|
29
22
|
}
|
|
30
|
-
|
|
31
23
|
off(event, callback) {
|
|
32
24
|
if (event) {
|
|
33
25
|
if (typeof callback === 'function') {
|
|
34
26
|
const callbacks = this._eventMap.get(event);
|
|
35
|
-
|
|
36
27
|
if (Array.isArray(callbacks) && callbacks.length) {
|
|
37
|
-
let index = -1;
|
|
38
|
-
|
|
28
|
+
let index = -1;
|
|
29
|
+
// eslint-disable-next-line max-depth
|
|
39
30
|
while ((index = callbacks.findIndex(cb => cb === callback)) > -1) {
|
|
40
31
|
callbacks.splice(index, 1);
|
|
41
32
|
}
|
|
@@ -44,22 +35,16 @@ export default class Event {
|
|
|
44
35
|
this._eventMap.delete(event);
|
|
45
36
|
}
|
|
46
37
|
}
|
|
47
|
-
|
|
48
38
|
return this;
|
|
49
39
|
}
|
|
50
|
-
|
|
51
40
|
emit(event) {
|
|
52
41
|
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
53
42
|
args[_key - 1] = arguments[_key];
|
|
54
43
|
}
|
|
55
|
-
|
|
56
44
|
if (!this._eventMap.has(event)) {
|
|
57
45
|
return false;
|
|
58
46
|
}
|
|
59
|
-
|
|
60
47
|
this._eventMap.get(event).forEach(callback => callback(...args));
|
|
61
|
-
|
|
62
48
|
return true;
|
|
63
49
|
}
|
|
64
|
-
|
|
65
50
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import _without from "lodash/without";
|
|
2
2
|
import { isHTMLElement } from "./dom";
|
|
3
|
-
|
|
4
3
|
/*
|
|
5
4
|
* Usage:
|
|
6
5
|
* // Eg1: Pass a dom as the tab tarp container.
|
|
@@ -21,39 +20,30 @@ import { isHTMLElement } from "./dom";
|
|
|
21
20
|
class FocusTrapHandle {
|
|
22
21
|
constructor(container, options) {
|
|
23
22
|
var _a;
|
|
24
|
-
|
|
25
23
|
this.addFocusRedirectListener = listener => {
|
|
26
24
|
this.focusRedirectListenerList.push(listener);
|
|
27
25
|
return () => this.removeFocusRedirectListener(listener);
|
|
28
26
|
};
|
|
29
|
-
|
|
30
27
|
this.removeFocusRedirectListener = listener => {
|
|
31
28
|
this.focusRedirectListenerList = _without(this.focusRedirectListenerList, listener);
|
|
32
29
|
};
|
|
33
|
-
|
|
34
30
|
this.destroy = () => {
|
|
35
31
|
var _a;
|
|
36
|
-
|
|
37
32
|
(_a = this.container) === null || _a === void 0 ? void 0 : _a.removeEventListener('keydown', this.onKeyPress);
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
|
|
33
|
+
};
|
|
34
|
+
// ---- private func ----
|
|
41
35
|
this.shouldFocusRedirect = element => {
|
|
42
36
|
if (!this.enable) {
|
|
43
37
|
return false;
|
|
44
38
|
}
|
|
45
|
-
|
|
46
39
|
for (const listener of this.focusRedirectListenerList) {
|
|
47
40
|
const should = listener(element);
|
|
48
|
-
|
|
49
41
|
if (!should) {
|
|
50
42
|
return false;
|
|
51
43
|
}
|
|
52
44
|
}
|
|
53
|
-
|
|
54
45
|
return true;
|
|
55
46
|
};
|
|
56
|
-
|
|
57
47
|
this.focusElement = (element, event) => {
|
|
58
48
|
const {
|
|
59
49
|
preventScroll
|
|
@@ -68,7 +58,6 @@ class FocusTrapHandle {
|
|
|
68
58
|
if (event && event.key === 'Tab') {
|
|
69
59
|
const focusableElements = FocusTrapHandle.getFocusableElements(this.container);
|
|
70
60
|
const focusableNum = focusableElements.length;
|
|
71
|
-
|
|
72
61
|
if (focusableNum) {
|
|
73
62
|
// Shift + Tab will move focus backward
|
|
74
63
|
if (event.shiftKey) {
|
|
@@ -79,33 +68,26 @@ class FocusTrapHandle {
|
|
|
79
68
|
}
|
|
80
69
|
}
|
|
81
70
|
};
|
|
82
|
-
|
|
83
71
|
this.handleContainerTabKeyDown = (focusableElements, event) => {
|
|
84
72
|
const activeElement = FocusTrapHandle.getActiveElement();
|
|
85
73
|
const isLastCurrentFocus = focusableElements[focusableElements.length - 1] === activeElement;
|
|
86
74
|
const redirectForcingElement = focusableElements[0];
|
|
87
|
-
|
|
88
75
|
if (isLastCurrentFocus && this.shouldFocusRedirect(redirectForcingElement)) {
|
|
89
76
|
this.focusElement(redirectForcingElement, event);
|
|
90
77
|
}
|
|
91
78
|
};
|
|
92
|
-
|
|
93
79
|
this.handleContainerShiftTabKeyDown = (focusableElements, event) => {
|
|
94
80
|
const activeElement = FocusTrapHandle.getActiveElement();
|
|
95
81
|
const isFirstCurrentFocus = focusableElements[0] === activeElement;
|
|
96
82
|
const redirectForcingElement = focusableElements[focusableElements.length - 1];
|
|
97
|
-
|
|
98
83
|
if (isFirstCurrentFocus && this.shouldFocusRedirect(redirectForcingElement)) {
|
|
99
84
|
this.focusElement(redirectForcingElement, event);
|
|
100
85
|
}
|
|
101
86
|
};
|
|
102
|
-
|
|
103
87
|
Object.freeze(options); // prevent user to change options after init;
|
|
104
|
-
|
|
105
88
|
this.container = container;
|
|
106
89
|
this.options = options;
|
|
107
90
|
this.enable = (_a = options === null || options === void 0 ? void 0 : options.enable) !== null && _a !== void 0 ? _a : true;
|
|
108
|
-
|
|
109
91
|
this.focusRedirectListenerList = (() => {
|
|
110
92
|
if (options === null || options === void 0 ? void 0 : options.onFocusRedirectListener) {
|
|
111
93
|
return Array.isArray(options.onFocusRedirectListener) ? [...options.onFocusRedirectListener] : [options.onFocusRedirectListener];
|
|
@@ -113,34 +95,26 @@ class FocusTrapHandle {
|
|
|
113
95
|
return [];
|
|
114
96
|
}
|
|
115
97
|
})();
|
|
116
|
-
|
|
117
98
|
this.container.addEventListener('keydown', this.onKeyPress);
|
|
118
99
|
}
|
|
119
|
-
|
|
120
100
|
get enable() {
|
|
121
101
|
return this._enable;
|
|
122
102
|
}
|
|
123
|
-
|
|
124
103
|
set enable(value) {
|
|
125
104
|
this._enable = value;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
|
|
105
|
+
}
|
|
106
|
+
// ---- static func ----
|
|
129
107
|
static getFocusableElements(node) {
|
|
130
108
|
if (!isHTMLElement(node)) {
|
|
131
109
|
return [];
|
|
132
110
|
}
|
|
133
|
-
|
|
134
111
|
const focusableSelectorsList = ["input:not([disabled]):not([tabindex='-1'])", "textarea:not([disabled]):not([tabindex='-1'])", "button:not([disabled]):not([tabindex='-1'])", "a[href]:not([tabindex='-1'])", "select:not([disabled]):not([tabindex='-1'])", "area[href]:not([tabindex='-1'])", "iframe:not([tabindex='-1'])", "object:not([tabindex='-1'])", "*[tabindex]:not([tabindex='-1'])", "*[contenteditable]:not([tabindex='-1'])"];
|
|
135
|
-
const focusableSelectorsStr = focusableSelectorsList.join(',');
|
|
136
|
-
|
|
112
|
+
const focusableSelectorsStr = focusableSelectorsList.join(',');
|
|
113
|
+
// we are not filtered elements which are invisible
|
|
137
114
|
return Array.from(node.querySelectorAll(focusableSelectorsStr));
|
|
138
115
|
}
|
|
139
|
-
|
|
140
116
|
static getActiveElement() {
|
|
141
117
|
return document ? document.activeElement : null;
|
|
142
118
|
}
|
|
143
|
-
|
|
144
119
|
}
|
|
145
|
-
|
|
146
120
|
export default FocusTrapHandle;
|
package/lib/es/utils/Logger.js
CHANGED
|
@@ -6,69 +6,49 @@ class Logger {
|
|
|
6
6
|
constructor(prefix) {
|
|
7
7
|
this._prefix = prefix;
|
|
8
8
|
}
|
|
9
|
-
|
|
10
9
|
_isEmpty(value) {
|
|
11
10
|
return value === null || value === undefined || value === '';
|
|
12
11
|
}
|
|
13
|
-
|
|
14
12
|
_baseLog() {
|
|
15
13
|
let method = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'log';
|
|
16
|
-
|
|
17
14
|
if (typeof console[method] === 'function') {
|
|
18
15
|
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
19
16
|
args[_key - 1] = arguments[_key];
|
|
20
17
|
}
|
|
21
|
-
|
|
22
18
|
const messages = [...args];
|
|
23
|
-
|
|
24
19
|
if (!this._isEmpty(this._prefix)) {
|
|
25
20
|
messages.unshift(this._prefix, ':');
|
|
26
21
|
}
|
|
27
|
-
|
|
28
22
|
console[method](...messages);
|
|
29
23
|
}
|
|
30
24
|
}
|
|
31
25
|
/* istanbul ignore next */
|
|
32
|
-
|
|
33
|
-
|
|
34
26
|
log() {
|
|
35
27
|
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
36
28
|
args[_key2] = arguments[_key2];
|
|
37
29
|
}
|
|
38
|
-
|
|
39
30
|
this._baseLog('log', ...args);
|
|
40
31
|
}
|
|
41
32
|
/* istanbul ignore next */
|
|
42
|
-
|
|
43
|
-
|
|
44
33
|
warn() {
|
|
45
34
|
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
46
35
|
args[_key3] = arguments[_key3];
|
|
47
36
|
}
|
|
48
|
-
|
|
49
37
|
this._baseLog('warn', ...args);
|
|
50
38
|
}
|
|
51
39
|
/* istanbul ignore next */
|
|
52
|
-
|
|
53
|
-
|
|
54
40
|
error() {
|
|
55
41
|
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
|
56
42
|
args[_key4] = arguments[_key4];
|
|
57
43
|
}
|
|
58
|
-
|
|
59
44
|
this._baseLog('error', ...args);
|
|
60
45
|
}
|
|
61
46
|
/* istanbul ignore next */
|
|
62
|
-
|
|
63
|
-
|
|
64
47
|
info() {
|
|
65
48
|
for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
|
|
66
49
|
args[_key5] = arguments[_key5];
|
|
67
50
|
}
|
|
68
|
-
|
|
69
51
|
this._baseLog('info', ...args);
|
|
70
52
|
}
|
|
71
|
-
|
|
72
53
|
}
|
|
73
|
-
|
|
74
54
|
export default Logger;
|
package/lib/es/utils/Store.js
CHANGED
|
@@ -4,35 +4,26 @@ class Store {
|
|
|
4
4
|
this._state = Object.assign({}, initialState);
|
|
5
5
|
this._listeners = [];
|
|
6
6
|
}
|
|
7
|
-
|
|
8
7
|
subscribe(listener) {
|
|
9
8
|
this._listeners.push(listener);
|
|
10
|
-
|
|
11
9
|
const unsubscribe = () => {
|
|
12
10
|
const index = this._listeners.indexOf(listener);
|
|
13
|
-
|
|
14
11
|
if (index > -1) {
|
|
15
12
|
this._listeners.splice(index, 1);
|
|
16
13
|
}
|
|
17
14
|
};
|
|
18
|
-
|
|
19
15
|
return unsubscribe;
|
|
20
16
|
}
|
|
21
|
-
|
|
22
17
|
setState(state) {
|
|
23
18
|
Object.assign(this._state, Object.assign({}, state));
|
|
24
|
-
|
|
25
19
|
for (const listener of this._listeners) {
|
|
26
20
|
if (typeof listener === 'function') {
|
|
27
21
|
listener(this._state);
|
|
28
22
|
}
|
|
29
23
|
}
|
|
30
24
|
}
|
|
31
|
-
|
|
32
25
|
getState() {
|
|
33
26
|
return this._state;
|
|
34
27
|
}
|
|
35
|
-
|
|
36
28
|
}
|
|
37
|
-
|
|
38
29
|
export default Store;
|
package/lib/es/utils/a11y.js
CHANGED
|
@@ -5,8 +5,8 @@ export function handlePrevent(event) {
|
|
|
5
5
|
}
|
|
6
6
|
export function isPrintableCharacter(string) {
|
|
7
7
|
return string.length === 1 && string.match(/\S/);
|
|
8
|
-
}
|
|
9
|
-
|
|
8
|
+
}
|
|
9
|
+
// set focus to the target item in item list
|
|
10
10
|
export function setFocusToItem(itemNodes, targetItem) {
|
|
11
11
|
for (let i = 0; i < itemNodes.length; i++) {
|
|
12
12
|
if (itemNodes[i] === targetItem) {
|
|
@@ -16,19 +16,18 @@ export function setFocusToItem(itemNodes, targetItem) {
|
|
|
16
16
|
itemNodes[i].tabIndex = -1;
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
}
|
|
20
|
-
|
|
19
|
+
}
|
|
20
|
+
// set focus to the first item in item list
|
|
21
21
|
export function setFocusToFirstItem(itemNodes) {
|
|
22
22
|
itemNodes.length > 0 && setFocusToItem(itemNodes, itemNodes[0]);
|
|
23
|
-
}
|
|
24
|
-
|
|
23
|
+
}
|
|
24
|
+
// set focus to the last item in item list
|
|
25
25
|
export function setFocusToLastItem(itemNodes) {
|
|
26
26
|
itemNodes.length > 0 && setFocusToItem(itemNodes, itemNodes[itemNodes.length - 1]);
|
|
27
|
-
}
|
|
28
|
-
|
|
27
|
+
}
|
|
28
|
+
// set focus to the previous item in item list
|
|
29
29
|
export function setFocusToPreviousMenuItem(itemNodes, currentItem) {
|
|
30
30
|
let newMenuItem, index;
|
|
31
|
-
|
|
32
31
|
if (itemNodes.length > 0) {
|
|
33
32
|
if (currentItem === itemNodes[0]) {
|
|
34
33
|
newMenuItem = itemNodes[itemNodes.length - 1];
|
|
@@ -36,14 +35,12 @@ export function setFocusToPreviousMenuItem(itemNodes, currentItem) {
|
|
|
36
35
|
index = itemNodes.indexOf(currentItem);
|
|
37
36
|
newMenuItem = itemNodes[index - 1];
|
|
38
37
|
}
|
|
39
|
-
|
|
40
38
|
setFocusToItem(itemNodes, newMenuItem);
|
|
41
39
|
}
|
|
42
|
-
}
|
|
43
|
-
|
|
40
|
+
}
|
|
41
|
+
// set focus to the next item in item list
|
|
44
42
|
export function setFocusToNextMenuitem(itemNodes, currentItem) {
|
|
45
43
|
let newMenuItem, index;
|
|
46
|
-
|
|
47
44
|
if (itemNodes.length > 0) {
|
|
48
45
|
if (currentItem === itemNodes[itemNodes.length - 1]) {
|
|
49
46
|
newMenuItem = itemNodes[0];
|
|
@@ -51,54 +48,44 @@ export function setFocusToNextMenuitem(itemNodes, currentItem) {
|
|
|
51
48
|
index = itemNodes.indexOf(currentItem);
|
|
52
49
|
newMenuItem = itemNodes[index + 1];
|
|
53
50
|
}
|
|
54
|
-
|
|
55
51
|
setFocusToItem(itemNodes, newMenuItem);
|
|
56
52
|
}
|
|
57
53
|
}
|
|
58
54
|
export function findIndexByCharacter(itemList, curItem, firstCharList, char) {
|
|
59
55
|
let start, index;
|
|
60
|
-
|
|
61
56
|
if (!itemList || !firstCharList || !char || char.length > 1) {
|
|
62
57
|
return -1;
|
|
63
58
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
59
|
+
char = char.toLowerCase();
|
|
60
|
+
// Get start index for search based on position of currentItem
|
|
67
61
|
start = itemList.indexOf(curItem) + 1;
|
|
68
|
-
|
|
69
62
|
if (start >= itemList.length) {
|
|
70
63
|
start = 0;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
64
|
+
}
|
|
65
|
+
// Check remaining menu items in the menu
|
|
66
|
+
index = firstCharList.indexOf(char, start);
|
|
67
|
+
// If not found in remaining menu items, check from beginning
|
|
76
68
|
if (index === -1) {
|
|
77
69
|
index = firstCharList.indexOf(char, 0);
|
|
78
70
|
}
|
|
79
|
-
|
|
80
71
|
return index >= 0 ? index : -1;
|
|
81
72
|
}
|
|
82
73
|
export function getAncestorNodeByRole(curElement, role) {
|
|
83
74
|
if (!curElement) {
|
|
84
75
|
return null;
|
|
85
76
|
}
|
|
86
|
-
|
|
87
77
|
while (curElement.parentElement && _get(curElement.parentElement, 'attributes.role.value', '') !== role) {
|
|
88
78
|
curElement = curElement.parentElement;
|
|
89
79
|
}
|
|
90
|
-
|
|
91
80
|
return curElement.parentElement;
|
|
92
|
-
}
|
|
93
|
-
|
|
81
|
+
}
|
|
82
|
+
// According to the Id, find the corresponding data-popupid element
|
|
94
83
|
export function getMenuButton(focusableEle, Id) {
|
|
95
84
|
for (let i = 0; i < focusableEle.length; i++) {
|
|
96
85
|
const curAriDescribedby = focusableEle[i].attributes['data-popupid'];
|
|
97
|
-
|
|
98
86
|
if (curAriDescribedby && curAriDescribedby.value === Id) {
|
|
99
87
|
return focusableEle[i];
|
|
100
88
|
}
|
|
101
89
|
}
|
|
102
|
-
|
|
103
90
|
return null;
|
|
104
91
|
}
|
package/lib/es/utils/array.d.ts
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* => ['b', 'b']
|
|
12
12
|
*/
|
|
13
13
|
export declare function pullAll(arrayA: any[], arrayB: any[]): any[];
|
|
14
|
-
|
|
14
|
+
type CompareFn<T> = (a: T, b: T) => number;
|
|
15
15
|
/**
|
|
16
16
|
* Adapt the descending order
|
|
17
17
|
* @param {Function} fn
|
package/lib/es/utils/array.js
CHANGED
|
@@ -11,7 +11,6 @@ import { pullAll as setPullAll } from './set';
|
|
|
11
11
|
* console.log(result);
|
|
12
12
|
* => ['b', 'b']
|
|
13
13
|
*/
|
|
14
|
-
|
|
15
14
|
export function pullAll(arrayA, arrayB) {
|
|
16
15
|
if (arrayA !== null && arrayA.length && arrayB !== null && arrayB.length) {
|
|
17
16
|
const setA = new Set(arrayA);
|
|
@@ -19,7 +18,6 @@ export function pullAll(arrayA, arrayB) {
|
|
|
19
18
|
const resultSet = setPullAll(setA, setB);
|
|
20
19
|
return Array.from(resultSet);
|
|
21
20
|
}
|
|
22
|
-
|
|
23
21
|
return arrayA;
|
|
24
22
|
}
|
|
25
23
|
/**
|
|
@@ -28,17 +26,14 @@ export function pullAll(arrayA, arrayB) {
|
|
|
28
26
|
* @param {String} order
|
|
29
27
|
* @returns
|
|
30
28
|
*/
|
|
31
|
-
|
|
32
29
|
export function withOrderSort(fn) {
|
|
33
30
|
let order = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'ascend';
|
|
34
|
-
|
|
35
31
|
switch (order) {
|
|
36
32
|
case 'descend':
|
|
37
33
|
return (a, b) => {
|
|
38
34
|
const result = Number(fn(a, b));
|
|
39
35
|
return result !== 0 ? -result : result;
|
|
40
36
|
};
|
|
41
|
-
|
|
42
37
|
case 'ascend':
|
|
43
38
|
default:
|
|
44
39
|
return fn;
|
|
@@ -2,35 +2,25 @@ import _map from "lodash/map";
|
|
|
2
2
|
import _filter from "lodash/filter";
|
|
3
3
|
import _split from "lodash/split";
|
|
4
4
|
import classnames from 'classnames';
|
|
5
|
-
|
|
6
5
|
function addClass(rawCls) {
|
|
7
6
|
const clss = _split(rawCls, /\s+/);
|
|
8
|
-
|
|
9
7
|
for (var _len = arguments.length, srcClss = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
10
8
|
srcClss[_key - 1] = arguments[_key];
|
|
11
9
|
}
|
|
12
|
-
|
|
13
10
|
const validClss = _filter(srcClss, cls => !clss.includes(cls));
|
|
14
|
-
|
|
15
11
|
return classnames(rawCls, ...validClss);
|
|
16
12
|
}
|
|
17
|
-
|
|
18
13
|
function removeClass(rawCls) {
|
|
19
14
|
const clss = _split(rawCls, /\s+/);
|
|
20
|
-
|
|
21
15
|
for (var _len2 = arguments.length, srcClss = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
22
16
|
srcClss[_key2 - 1] = arguments[_key2];
|
|
23
17
|
}
|
|
24
|
-
|
|
25
18
|
_map(srcClss, cls => {
|
|
26
19
|
const index = clss.indexOf(cls);
|
|
27
|
-
|
|
28
20
|
if (index > -1) {
|
|
29
21
|
clss.splice(index, 1);
|
|
30
22
|
}
|
|
31
23
|
});
|
|
32
|
-
|
|
33
24
|
return classnames(...clss);
|
|
34
25
|
}
|
|
35
|
-
|
|
36
26
|
export { addClass, removeClass };
|