@douyinfe/semi-ui 2.2.0-beta.1 → 2.3.0-beta.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/_base/_story/a11y.jsx +6 -6
- package/_utils/hooks/usePrevFocus.ts +16 -0
- package/_utils/index.ts +4 -0
- package/anchor/_story/anchor.stories.js +1 -1
- package/anchor/index.tsx +5 -2
- package/anchor/link.tsx +29 -4
- package/autoComplete/index.tsx +28 -1
- package/avatar/_story/avatar.stories.js +4 -4
- package/avatar/avatarGroup.tsx +1 -1
- package/avatar/index.tsx +10 -4
- package/banner/index.tsx +2 -1
- package/breadcrumb/_story/breadcrumb.stories.js +22 -8
- package/breadcrumb/index.tsx +8 -1
- package/breadcrumb/item.tsx +1 -1
- package/button/Button.tsx +4 -0
- package/button/__test__/button.test.js +1 -1
- package/button/_story/button.stories.js +10 -10
- package/button/buttonGroup.tsx +4 -2
- package/button/splitButtonGroup.tsx +5 -2
- package/card/_story/card.stories.js +8 -1
- package/card/_story/card.stories.tsx +3 -0
- package/card/index.tsx +5 -2
- package/cascader/index.tsx +33 -5
- package/checkbox/_story/checkbox.stories.js +21 -14
- package/checkbox/checkbox.tsx +40 -5
- package/checkbox/checkboxGroup.tsx +30 -5
- package/checkbox/checkboxInner.tsx +25 -2
- package/collapse/index.tsx +2 -2
- package/collapse/item.tsx +15 -8
- package/collapsible/index.tsx +4 -2
- package/configProvider/_story/configProvider.stories.tsx +27 -0
- package/datePicker/__test__/datePicker.test.js +108 -0
- package/datePicker/_story/datePicker.stories.js +146 -2
- package/datePicker/datePicker.tsx +24 -0
- package/datePicker/monthsGrid.tsx +2 -1
- package/dist/css/semi.css +34 -7
- package/dist/css/semi.min.css +1 -1
- package/dist/umd/semi-ui.js +2785 -1508
- package/dist/umd/semi-ui.js.map +1 -1
- package/dist/umd/semi-ui.min.js +1 -1
- package/dist/umd/semi-ui.min.js.map +1 -1
- package/dropdown/dropdownItem.tsx +1 -1
- package/dropdown/dropdownMenu.tsx +1 -1
- package/empty/index.tsx +5 -5
- package/form/_story/FormApi/formApiDemo.jsx +3 -2
- package/form/_story/Validate/validateDemo.jsx +1 -1
- package/form/_story/demo.jsx +12 -3
- package/form/_story/form.stories.js +0 -7
- package/form/baseForm.tsx +2 -0
- package/form/errorMessage.tsx +13 -2
- package/form/hoc/withField.tsx +37 -8
- package/form/index.tsx +0 -2
- package/form/interface.ts +2 -0
- package/form/label.tsx +4 -2
- package/input/index.tsx +49 -4
- package/input/inputGroup.tsx +9 -4
- package/input/textarea.tsx +25 -6
- package/inputNumber/_story/inputNumber.stories.js +12 -0
- package/inputNumber/index.tsx +33 -2
- package/layout/Sider.tsx +6 -2
- package/layout/index.tsx +4 -3
- package/lib/cjs/_utils/hooks/usePrevFocus.d.ts +2 -0
- package/lib/cjs/_utils/hooks/usePrevFocus.js +30 -0
- package/lib/cjs/_utils/index.d.ts +1 -0
- package/lib/cjs/_utils/index.js +6 -1
- package/lib/cjs/anchor/index.d.ts +2 -0
- package/lib/cjs/anchor/index.js +6 -1
- package/lib/cjs/anchor/link.d.ts +4 -1
- package/lib/cjs/anchor/link.js +39 -5
- package/lib/cjs/autoComplete/index.d.ts +17 -0
- package/lib/cjs/autoComplete/index.js +21 -2
- package/lib/cjs/avatar/avatarGroup.js +2 -1
- package/lib/cjs/avatar/index.d.ts +4 -3
- package/lib/cjs/avatar/index.js +20 -11
- package/lib/cjs/banner/index.js +4 -2
- package/lib/cjs/breadcrumb/index.d.ts +3 -0
- package/lib/cjs/breadcrumb/index.js +10 -4
- package/lib/cjs/breadcrumb/item.js +2 -2
- package/lib/cjs/button/Button.d.ts +2 -0
- package/lib/cjs/button/Button.js +4 -2
- package/lib/cjs/button/buttonGroup.d.ts +3 -0
- package/lib/cjs/button/buttonGroup.js +8 -4
- package/lib/cjs/button/index.d.ts +1 -0
- package/lib/cjs/button/splitButtonGroup.d.ts +3 -0
- package/lib/cjs/button/splitButtonGroup.js +5 -2
- package/lib/cjs/card/index.d.ts +3 -0
- package/lib/cjs/card/index.js +3 -1
- package/lib/cjs/cascader/index.d.ts +14 -0
- package/lib/cjs/cascader/index.js +35 -7
- package/lib/cjs/checkbox/checkbox.d.ts +21 -1
- package/lib/cjs/checkbox/checkbox.js +51 -17
- package/lib/cjs/checkbox/checkboxGroup.d.ts +13 -1
- package/lib/cjs/checkbox/checkboxGroup.js +16 -3
- package/lib/cjs/checkbox/checkboxInner.d.ts +15 -0
- package/lib/cjs/checkbox/checkboxInner.js +20 -3
- package/lib/cjs/collapse/index.js +2 -1
- package/lib/cjs/collapse/item.d.ts +2 -1
- package/lib/cjs/collapse/item.js +17 -3
- package/lib/cjs/collapsible/index.d.ts +1 -0
- package/lib/cjs/collapsible/index.js +4 -2
- package/lib/cjs/datePicker/datePicker.d.ts +12 -0
- package/lib/cjs/datePicker/datePicker.js +22 -3
- package/lib/cjs/datePicker/monthsGrid.d.ts +1 -0
- package/lib/cjs/datePicker/monthsGrid.js +2 -1
- package/lib/cjs/dropdown/dropdownItem.js +3 -1
- package/lib/cjs/dropdown/dropdownMenu.js +4 -1
- package/lib/cjs/empty/index.js +2 -1
- package/lib/cjs/form/baseForm.d.ts +9 -0
- package/lib/cjs/form/baseForm.js +3 -1
- package/lib/cjs/form/errorMessage.d.ts +4 -0
- package/lib/cjs/form/errorMessage.js +21 -3
- package/lib/cjs/form/field.d.ts +7 -0
- package/lib/cjs/form/hoc/withField.js +49 -16
- package/lib/cjs/form/index.d.ts +0 -1
- package/lib/cjs/form/interface.d.ts +2 -0
- package/lib/cjs/form/label.d.ts +2 -0
- package/lib/cjs/form/label.js +5 -2
- package/lib/cjs/input/index.d.ts +16 -0
- package/lib/cjs/input/index.js +51 -15
- package/lib/cjs/input/inputGroup.d.ts +2 -1
- package/lib/cjs/input/inputGroup.js +11 -1
- package/lib/cjs/input/textarea.js +12 -1
- package/lib/cjs/inputNumber/index.d.ts +21 -12
- package/lib/cjs/inputNumber/index.js +37 -3
- package/lib/cjs/layout/Sider.d.ts +4 -0
- package/lib/cjs/layout/Sider.js +4 -1
- package/lib/cjs/layout/index.js +2 -0
- package/lib/cjs/list/item.js +0 -1
- package/lib/cjs/modal/Modal.js +2 -0
- package/lib/cjs/modal/ModalContent.d.ts +3 -1
- package/lib/cjs/modal/ModalContent.js +47 -5
- package/lib/cjs/navigation/Item.d.ts +4 -2
- package/lib/cjs/navigation/Item.js +25 -5
- package/lib/cjs/navigation/SubNav.d.ts +4 -2
- package/lib/cjs/navigation/SubNav.js +8 -1
- package/lib/cjs/navigation/index.js +2 -0
- package/lib/cjs/notification/notice.d.ts +1 -1
- package/lib/cjs/notification/notice.js +32 -22
- package/lib/cjs/pagination/index.js +16 -6
- package/lib/cjs/popover/index.js +7 -3
- package/lib/cjs/progress/index.d.ts +8 -0
- package/lib/cjs/progress/index.js +42 -9
- package/lib/cjs/radio/radio.d.ts +6 -1
- package/lib/cjs/radio/radio.js +17 -5
- package/lib/cjs/radio/radioGroup.d.ts +16 -1
- package/lib/cjs/radio/radioGroup.js +18 -3
- package/lib/cjs/radio/radioInner.d.ts +6 -1
- package/lib/cjs/radio/radioInner.js +11 -3
- package/lib/cjs/rating/index.d.ts +14 -0
- package/lib/cjs/rating/index.js +14 -3
- package/lib/cjs/rating/item.d.ts +2 -0
- package/lib/cjs/rating/item.js +6 -1
- package/lib/cjs/select/index.d.ts +16 -0
- package/lib/cjs/select/index.js +65 -19
- package/lib/cjs/select/option.js +28 -22
- package/lib/cjs/sideSheet/SideSheetContent.d.ts +1 -0
- package/lib/cjs/sideSheet/SideSheetContent.js +12 -5
- package/lib/cjs/sideSheet/index.d.ts +1 -0
- package/lib/cjs/sideSheet/index.js +2 -1
- package/lib/cjs/slider/index.d.ts +2 -1
- package/lib/cjs/slider/index.js +64 -17
- package/lib/cjs/spin/icon.js +2 -4
- package/lib/cjs/steps/basicStep.d.ts +3 -0
- package/lib/cjs/steps/basicStep.js +23 -25
- package/lib/cjs/steps/basicSteps.d.ts +1 -0
- package/lib/cjs/steps/basicSteps.js +2 -1
- package/lib/cjs/steps/fillStep.d.ts +3 -0
- package/lib/cjs/steps/fillStep.js +19 -4
- package/lib/cjs/steps/fillSteps.d.ts +1 -0
- package/lib/cjs/steps/fillSteps.js +2 -1
- package/lib/cjs/steps/navStep.d.ts +3 -0
- package/lib/cjs/steps/navStep.js +22 -25
- package/lib/cjs/steps/navSteps.d.ts +1 -0
- package/lib/cjs/steps/navSteps.js +2 -1
- package/lib/cjs/switch/index.d.ts +12 -0
- package/lib/cjs/switch/index.js +19 -4
- package/lib/cjs/table/Body/BaseRow.js +35 -3
- package/lib/cjs/table/Body/index.js +9 -1
- package/lib/cjs/table/ColumnFilter.js +4 -0
- package/lib/cjs/table/ColumnSelection.d.ts +3 -0
- package/lib/cjs/table/ColumnSelection.js +6 -2
- package/lib/cjs/table/ColumnSorter.js +19 -3
- package/lib/cjs/table/CustomExpandIcon.js +7 -1
- package/lib/cjs/table/Table.d.ts +2 -0
- package/lib/cjs/table/Table.js +31 -15
- package/lib/cjs/table/TableCell.d.ts +2 -0
- package/lib/cjs/table/TableCell.js +6 -2
- package/lib/cjs/table/TableHeaderRow.js +8 -2
- package/lib/cjs/tabs/TabBar.js +11 -3
- package/lib/cjs/tabs/TabPane.js +3 -1
- package/lib/cjs/tabs/index.js +3 -8
- package/lib/cjs/tagInput/index.d.ts +4 -1
- package/lib/cjs/tagInput/index.js +29 -3
- package/lib/cjs/timePicker/TimePicker.d.ts +12 -0
- package/lib/cjs/timePicker/TimePicker.js +9 -1
- package/lib/cjs/timePicker/index.d.ts +6 -0
- package/lib/cjs/timeline/index.d.ts +1 -1
- package/lib/cjs/timeline/index.js +1 -0
- package/lib/cjs/timeline/item.js +4 -2
- package/lib/cjs/toast/toast.js +2 -0
- package/lib/cjs/tooltip/TriangleArrow.js +1 -0
- package/lib/cjs/tooltip/TriangleArrowVertical.js +1 -0
- package/lib/cjs/tooltip/index.d.ts +16 -12
- package/lib/cjs/tooltip/index.js +55 -39
- package/lib/cjs/transfer/index.d.ts +1 -1
- package/lib/cjs/transfer/index.js +35 -17
- package/lib/cjs/tree/index.d.ts +1 -0
- package/lib/cjs/tree/index.js +15 -6
- package/lib/cjs/tree/treeNode.d.ts +12 -4
- package/lib/cjs/tree/treeNode.js +44 -4
- package/lib/cjs/treeSelect/index.d.ts +16 -0
- package/lib/cjs/treeSelect/index.js +60 -12
- package/lib/cjs/typography/base.js +18 -7
- package/lib/cjs/typography/copyable.js +6 -1
- package/lib/cjs/upload/fileCard.js +23 -4
- package/lib/cjs/upload/index.js +19 -4
- package/lib/es/_utils/hooks/usePrevFocus.d.ts +2 -0
- package/lib/es/_utils/hooks/usePrevFocus.js +15 -0
- package/lib/es/_utils/index.d.ts +1 -0
- package/lib/es/_utils/index.js +4 -1
- package/lib/es/anchor/index.d.ts +2 -0
- package/lib/es/anchor/index.js +6 -1
- package/lib/es/anchor/link.d.ts +4 -1
- package/lib/es/anchor/link.js +38 -5
- package/lib/es/autoComplete/index.d.ts +17 -0
- package/lib/es/autoComplete/index.js +21 -2
- package/lib/es/avatar/avatarGroup.js +2 -1
- package/lib/es/avatar/index.d.ts +4 -3
- package/lib/es/avatar/index.js +20 -11
- package/lib/es/banner/index.js +4 -2
- package/lib/es/breadcrumb/index.d.ts +3 -0
- package/lib/es/breadcrumb/index.js +10 -4
- package/lib/es/breadcrumb/item.js +2 -2
- package/lib/es/button/Button.d.ts +2 -0
- package/lib/es/button/Button.js +4 -2
- package/lib/es/button/buttonGroup.d.ts +3 -0
- package/lib/es/button/buttonGroup.js +8 -4
- package/lib/es/button/index.d.ts +1 -0
- package/lib/es/button/splitButtonGroup.d.ts +3 -0
- package/lib/es/button/splitButtonGroup.js +5 -2
- package/lib/es/card/index.d.ts +3 -0
- package/lib/es/card/index.js +3 -1
- package/lib/es/cascader/index.d.ts +14 -0
- package/lib/es/cascader/index.js +35 -7
- package/lib/es/checkbox/checkbox.d.ts +21 -1
- package/lib/es/checkbox/checkbox.js +50 -17
- package/lib/es/checkbox/checkboxGroup.d.ts +13 -1
- package/lib/es/checkbox/checkboxGroup.js +18 -5
- package/lib/es/checkbox/checkboxInner.d.ts +15 -0
- package/lib/es/checkbox/checkboxInner.js +20 -3
- package/lib/es/collapse/index.js +2 -1
- package/lib/es/collapse/item.d.ts +2 -1
- package/lib/es/collapse/item.js +16 -3
- package/lib/es/collapsible/index.d.ts +1 -0
- package/lib/es/collapsible/index.js +4 -2
- package/lib/es/datePicker/datePicker.d.ts +12 -0
- package/lib/es/datePicker/datePicker.js +22 -3
- package/lib/es/datePicker/monthsGrid.d.ts +1 -0
- package/lib/es/datePicker/monthsGrid.js +2 -1
- package/lib/es/dropdown/dropdownItem.js +3 -1
- package/lib/es/dropdown/dropdownMenu.js +4 -1
- package/lib/es/empty/index.js +2 -1
- package/lib/es/form/baseForm.d.ts +9 -0
- package/lib/es/form/baseForm.js +3 -1
- package/lib/es/form/errorMessage.d.ts +4 -0
- package/lib/es/form/errorMessage.js +21 -3
- package/lib/es/form/field.d.ts +7 -0
- package/lib/es/form/hoc/withField.js +48 -15
- package/lib/es/form/index.d.ts +0 -1
- package/lib/es/form/index.js +0 -1
- package/lib/es/form/interface.d.ts +2 -0
- package/lib/es/form/label.d.ts +2 -0
- package/lib/es/form/label.js +5 -2
- package/lib/es/input/index.d.ts +16 -0
- package/lib/es/input/index.js +51 -15
- package/lib/es/input/inputGroup.d.ts +2 -1
- package/lib/es/input/inputGroup.js +11 -1
- package/lib/es/input/textarea.js +12 -1
- package/lib/es/inputNumber/index.d.ts +21 -12
- package/lib/es/inputNumber/index.js +38 -3
- package/lib/es/layout/Sider.d.ts +4 -0
- package/lib/es/layout/Sider.js +4 -1
- package/lib/es/layout/index.js +2 -0
- package/lib/es/list/item.js +0 -1
- package/lib/es/modal/Modal.js +2 -0
- package/lib/es/modal/ModalContent.d.ts +3 -1
- package/lib/es/modal/ModalContent.js +46 -5
- package/lib/es/navigation/Item.d.ts +4 -2
- package/lib/es/navigation/Item.js +25 -5
- package/lib/es/navigation/SubNav.d.ts +4 -2
- package/lib/es/navigation/SubNav.js +8 -1
- package/lib/es/navigation/index.js +2 -0
- package/lib/es/notification/notice.d.ts +1 -1
- package/lib/es/notification/notice.js +33 -24
- package/lib/es/pagination/index.js +16 -6
- package/lib/es/popover/index.js +7 -3
- package/lib/es/progress/index.d.ts +8 -0
- package/lib/es/progress/index.js +42 -9
- package/lib/es/radio/radio.d.ts +6 -1
- package/lib/es/radio/radio.js +16 -5
- package/lib/es/radio/radioGroup.d.ts +16 -1
- package/lib/es/radio/radioGroup.js +18 -3
- package/lib/es/radio/radioInner.d.ts +6 -1
- package/lib/es/radio/radioInner.js +11 -3
- package/lib/es/rating/index.d.ts +14 -0
- package/lib/es/rating/index.js +14 -3
- package/lib/es/rating/item.d.ts +2 -0
- package/lib/es/rating/item.js +6 -1
- package/lib/es/select/index.d.ts +16 -0
- package/lib/es/select/index.js +63 -17
- package/lib/es/select/option.js +28 -22
- package/lib/es/sideSheet/SideSheetContent.d.ts +1 -0
- package/lib/es/sideSheet/SideSheetContent.js +12 -5
- package/lib/es/sideSheet/index.d.ts +1 -0
- package/lib/es/sideSheet/index.js +2 -1
- package/lib/es/slider/index.d.ts +2 -1
- package/lib/es/slider/index.js +63 -16
- package/lib/es/spin/icon.js +2 -4
- package/lib/es/steps/basicStep.d.ts +3 -0
- package/lib/es/steps/basicStep.js +23 -23
- package/lib/es/steps/basicSteps.d.ts +1 -0
- package/lib/es/steps/basicSteps.js +2 -1
- package/lib/es/steps/fillStep.d.ts +3 -0
- package/lib/es/steps/fillStep.js +19 -4
- package/lib/es/steps/fillSteps.d.ts +1 -0
- package/lib/es/steps/fillSteps.js +2 -1
- package/lib/es/steps/navStep.d.ts +3 -0
- package/lib/es/steps/navStep.js +22 -23
- package/lib/es/steps/navSteps.d.ts +1 -0
- package/lib/es/steps/navSteps.js +2 -1
- package/lib/es/switch/index.d.ts +12 -0
- package/lib/es/switch/index.js +19 -4
- package/lib/es/table/Body/BaseRow.js +35 -3
- package/lib/es/table/Body/index.js +9 -2
- package/lib/es/table/ColumnFilter.js +4 -0
- package/lib/es/table/ColumnSelection.d.ts +3 -0
- package/lib/es/table/ColumnSelection.js +6 -2
- package/lib/es/table/ColumnSorter.js +17 -3
- package/lib/es/table/CustomExpandIcon.js +6 -1
- package/lib/es/table/Table.d.ts +2 -0
- package/lib/es/table/Table.js +31 -15
- package/lib/es/table/TableCell.d.ts +2 -0
- package/lib/es/table/TableCell.js +6 -2
- package/lib/es/table/TableHeaderRow.js +8 -2
- package/lib/es/tabs/TabBar.js +11 -3
- package/lib/es/tabs/TabPane.js +3 -1
- package/lib/es/tabs/index.js +1 -6
- package/lib/es/tagInput/index.d.ts +4 -1
- package/lib/es/tagInput/index.js +29 -3
- package/lib/es/timePicker/TimePicker.d.ts +12 -0
- package/lib/es/timePicker/TimePicker.js +9 -1
- package/lib/es/timePicker/index.d.ts +6 -0
- package/lib/es/timeline/index.d.ts +1 -1
- package/lib/es/timeline/index.js +1 -0
- package/lib/es/timeline/item.js +4 -2
- package/lib/es/toast/toast.js +2 -0
- package/lib/es/tooltip/TriangleArrow.js +1 -0
- package/lib/es/tooltip/TriangleArrowVertical.js +1 -0
- package/lib/es/tooltip/index.d.ts +16 -12
- package/lib/es/tooltip/index.js +53 -39
- package/lib/es/transfer/index.d.ts +1 -1
- package/lib/es/transfer/index.js +35 -17
- package/lib/es/tree/index.d.ts +1 -0
- package/lib/es/tree/index.js +15 -6
- package/lib/es/tree/treeNode.d.ts +12 -4
- package/lib/es/tree/treeNode.js +44 -4
- package/lib/es/treeSelect/index.d.ts +16 -0
- package/lib/es/treeSelect/index.js +57 -10
- package/lib/es/typography/base.js +17 -7
- package/lib/es/typography/copyable.js +5 -1
- package/lib/es/upload/fileCard.js +23 -4
- package/lib/es/upload/index.js +19 -4
- package/list/item.tsx +0 -1
- package/modal/Modal.tsx +2 -0
- package/modal/ModalContent.tsx +35 -5
- package/navigation/Item.tsx +15 -0
- package/navigation/SubNav.tsx +13 -1
- package/navigation/index.tsx +1 -1
- package/notification/notice.tsx +19 -14
- package/package.json +8 -8
- package/pagination/index.tsx +9 -5
- package/popover/index.tsx +5 -0
- package/progress/_story/progress.stories.js +18 -18
- package/progress/index.tsx +58 -20
- package/radio/radio.tsx +12 -2
- package/radio/radioGroup.tsx +29 -3
- package/radio/radioInner.tsx +10 -1
- package/rating/index.tsx +19 -2
- package/rating/item.tsx +6 -0
- package/select/__test__/select.test.js +45 -0
- package/select/_story/select.stories.js +29 -0
- package/select/index.tsx +52 -4
- package/select/option.tsx +3 -0
- package/sideSheet/SideSheetContent.tsx +13 -9
- package/sideSheet/index.tsx +3 -2
- package/slider/__test__/slider.test.js +9 -0
- package/slider/_story/slider.stories.js +1 -1
- package/slider/index.tsx +44 -7
- package/spin/icon.tsx +3 -3
- package/steps/basicStep.tsx +15 -4
- package/steps/basicSteps.tsx +3 -2
- package/steps/fillStep.tsx +27 -12
- package/steps/fillSteps.tsx +2 -0
- package/steps/navStep.tsx +15 -4
- package/steps/navSteps.tsx +3 -2
- package/switch/_story/switch.stories.js +20 -19
- package/switch/_story/switch.stories.tsx +13 -13
- package/switch/index.tsx +23 -5
- package/table/Body/BaseRow.tsx +25 -1
- package/table/Body/index.tsx +7 -2
- package/table/ColumnFilter.tsx +7 -1
- package/table/ColumnSelection.tsx +4 -1
- package/table/ColumnSorter.tsx +18 -1
- package/table/CustomExpandIcon.tsx +5 -0
- package/table/Table.tsx +26 -13
- package/table/TableCell.tsx +11 -1
- package/table/TableHeaderRow.tsx +16 -2
- package/table/__test__/table.test.js +46 -0
- package/tabs/TabBar.tsx +8 -5
- package/tabs/TabPane.tsx +3 -1
- package/tabs/index.tsx +1 -2
- package/tagInput/__test__/tagInput.test.js +46 -0
- package/tagInput/_story/tagInput.stories.js +2 -2
- package/tagInput/index.tsx +31 -8
- package/timePicker/TimePicker.tsx +14 -1
- package/timeline/_story/timeline.stories.js +1 -1
- package/timeline/index.tsx +2 -2
- package/timeline/item.tsx +2 -1
- package/toast/toast.tsx +2 -0
- package/tooltip/TriangleArrow.tsx +1 -1
- package/tooltip/TriangleArrowVertical.tsx +1 -1
- package/tooltip/_story/tooltip.stories.js +562 -514
- package/tooltip/index.tsx +50 -33
- package/transfer/index.tsx +32 -28
- package/tree/_story/tree.stories.js +3 -3
- package/tree/index.tsx +10 -2
- package/tree/treeNode.tsx +46 -10
- package/treeSelect/__test__/treeMultiple.test.js +5 -0
- package/treeSelect/_story/treeSelect.stories.js +12 -0
- package/treeSelect/index.tsx +58 -7
- package/typography/base.tsx +7 -1
- package/typography/copyable.tsx +10 -1
- package/upload/fileCard.tsx +13 -15
- package/upload/index.tsx +10 -6
package/lib/es/select/index.d.ts
CHANGED
|
@@ -55,8 +55,14 @@ export declare type RenderMultipleSelectedItemFn = (optionNode: Record<string, a
|
|
|
55
55
|
};
|
|
56
56
|
export declare type RenderSelectedItemFn = RenderSingleSelectedItemFn | RenderMultipleSelectedItemFn;
|
|
57
57
|
export declare type SelectProps = {
|
|
58
|
+
'aria-describedby'?: React.AriaAttributes['aria-describedby'];
|
|
59
|
+
'aria-errormessage'?: React.AriaAttributes['aria-errormessage'];
|
|
60
|
+
'aria-invalid'?: React.AriaAttributes['aria-invalid'];
|
|
61
|
+
'aria-labelledby'?: React.AriaAttributes['aria-labelledby'];
|
|
62
|
+
'aria-required'?: React.AriaAttributes['aria-required'];
|
|
58
63
|
id?: string;
|
|
59
64
|
autoFocus?: boolean;
|
|
65
|
+
autoClearSearchValue?: boolean;
|
|
60
66
|
arrowIcon?: React.ReactNode;
|
|
61
67
|
defaultValue?: string | number | any[] | Record<string, any>;
|
|
62
68
|
value?: string | number | any[] | Record<string, any>;
|
|
@@ -92,6 +98,7 @@ export declare type SelectProps = {
|
|
|
92
98
|
suffix?: React.ReactNode;
|
|
93
99
|
prefix?: React.ReactNode;
|
|
94
100
|
insetLabel?: React.ReactNode;
|
|
101
|
+
insetLabelId?: string;
|
|
95
102
|
inputProps?: Subtract<InputProps, ExcludeInputType>;
|
|
96
103
|
showClear?: boolean;
|
|
97
104
|
showArrow?: boolean;
|
|
@@ -134,7 +141,13 @@ declare class Select extends BaseComponent<SelectProps, SelectState> {
|
|
|
134
141
|
static Option: typeof Option;
|
|
135
142
|
static OptGroup: typeof OptionGroup;
|
|
136
143
|
static propTypes: {
|
|
144
|
+
'aria-describedby': PropTypes.Requireable<string>;
|
|
145
|
+
'aria-errormessage': PropTypes.Requireable<string>;
|
|
146
|
+
'aria-invalid': PropTypes.Requireable<boolean>;
|
|
147
|
+
'aria-labelledby': PropTypes.Requireable<string>;
|
|
148
|
+
'aria-required': PropTypes.Requireable<boolean>;
|
|
137
149
|
autoFocus: PropTypes.Requireable<boolean>;
|
|
150
|
+
autoClearSearchValue: PropTypes.Requireable<boolean>;
|
|
138
151
|
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
139
152
|
defaultValue: PropTypes.Requireable<string | number | object>;
|
|
140
153
|
value: PropTypes.Requireable<string | number | object>;
|
|
@@ -175,6 +188,7 @@ declare class Select extends BaseComponent<SelectProps, SelectState> {
|
|
|
175
188
|
suffix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
176
189
|
prefix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
177
190
|
insetLabel: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
191
|
+
insetLabelId: PropTypes.Requireable<string>;
|
|
178
192
|
showClear: PropTypes.Requireable<boolean>;
|
|
179
193
|
showArrow: PropTypes.Requireable<boolean>;
|
|
180
194
|
renderSelectedItem: PropTypes.Requireable<(...args: any[]) => any>;
|
|
@@ -223,6 +237,7 @@ declare class Select extends BaseComponent<SelectProps, SelectState> {
|
|
|
223
237
|
focus(): void;
|
|
224
238
|
onSelect(option: OptionProps, optionIndex: number, e: any): void;
|
|
225
239
|
onClear(e: React.MouseEvent): void;
|
|
240
|
+
onClearBtnEnterPress(e: React.KeyboardEvent): void;
|
|
226
241
|
renderEmpty(): JSX.Element;
|
|
227
242
|
renderLoading(): JSX.Element;
|
|
228
243
|
renderOption(option: OptionProps, optionIndex: number, style?: React.CSSProperties): any;
|
|
@@ -235,6 +250,7 @@ declare class Select extends BaseComponent<SelectProps, SelectState> {
|
|
|
235
250
|
renderMultipleSelection(selections: Map<OptionProps['label'], any>, filterable: boolean): JSX.Element;
|
|
236
251
|
onMouseEnter(e: MouseEvent): void;
|
|
237
252
|
onMouseLeave(e: MouseEvent): void;
|
|
253
|
+
onKeyPress(e: React.KeyboardEvent): void;
|
|
238
254
|
handlePopoverVisibleChange(status: any): void;
|
|
239
255
|
renderSuffix(): JSX.Element;
|
|
240
256
|
renderPrefix(): JSX.Element;
|
package/lib/es/select/index.js
CHANGED
|
@@ -49,7 +49,7 @@ const key = 0; // Notes: Use the label of the option as the identifier, that is,
|
|
|
49
49
|
|
|
50
50
|
class Select extends BaseComponent {
|
|
51
51
|
constructor(props) {
|
|
52
|
-
var _context, _context2, _context3, _context4, _context5, _context6;
|
|
52
|
+
var _context, _context2, _context3, _context4, _context5, _context6, _context7, _context8;
|
|
53
53
|
|
|
54
54
|
super(props);
|
|
55
55
|
|
|
@@ -82,6 +82,8 @@ class Select extends BaseComponent {
|
|
|
82
82
|
this.onMouseEnter = _bindInstanceProperty(_context4 = this.onMouseEnter).call(_context4, this);
|
|
83
83
|
this.onMouseLeave = _bindInstanceProperty(_context5 = this.onMouseLeave).call(_context5, this);
|
|
84
84
|
this.renderOption = _bindInstanceProperty(_context6 = this.renderOption).call(_context6, this);
|
|
85
|
+
this.onKeyPress = _bindInstanceProperty(_context7 = this.onKeyPress).call(_context7, this);
|
|
86
|
+
this.onClearBtnEnterPress = _bindInstanceProperty(_context8 = this.onClearBtnEnterPress).call(_context8, this);
|
|
85
87
|
this.foundation = new SelectFoundation(this.adapter);
|
|
86
88
|
warning('optionLabelProp' in this.props, '[Semi Select] \'optionLabelProp\' has already been deprecated, please use \'renderSelectedItem\' instead.');
|
|
87
89
|
warning('labelInValue' in this.props, '[Semi Select] \'labelInValue\' has already been deprecated, please use \'onChangeWithObject\' instead.');
|
|
@@ -284,10 +286,10 @@ class Select extends BaseComponent {
|
|
|
284
286
|
} catch (error) {}
|
|
285
287
|
},
|
|
286
288
|
updateScrollTop: () => {
|
|
287
|
-
var
|
|
289
|
+
var _context9, _context10;
|
|
288
290
|
|
|
289
291
|
// eslint-disable-next-line max-len
|
|
290
|
-
let destNode = document.querySelector(_concatInstanceProperty(
|
|
292
|
+
let destNode = document.querySelector(_concatInstanceProperty(_context9 = _concatInstanceProperty(_context10 = "#".concat(prefixcls, "-")).call(_context10, this.selectOptionListID, " .")).call(_context9, prefixcls, "-option-selected"));
|
|
291
293
|
|
|
292
294
|
if (_Array$isArray(destNode)) {
|
|
293
295
|
// eslint-disable-next-line prefer-destructuring
|
|
@@ -315,11 +317,11 @@ class Select extends BaseComponent {
|
|
|
315
317
|
}
|
|
316
318
|
|
|
317
319
|
componentDidUpdate(prevProps, prevState) {
|
|
318
|
-
var
|
|
320
|
+
var _context11, _context12;
|
|
319
321
|
|
|
320
|
-
const prevChildrenKeys = _mapInstanceProperty(
|
|
322
|
+
const prevChildrenKeys = _mapInstanceProperty(_context11 = React.Children.toArray(prevProps.children)).call(_context11, child => child.key);
|
|
321
323
|
|
|
322
|
-
const nowChildrenKeys = _mapInstanceProperty(
|
|
324
|
+
const nowChildrenKeys = _mapInstanceProperty(_context12 = React.Children.toArray(this.props.children)).call(_context12, child => child.key);
|
|
323
325
|
|
|
324
326
|
let isOptionsChanged = false;
|
|
325
327
|
|
|
@@ -415,6 +417,10 @@ class Select extends BaseComponent {
|
|
|
415
417
|
this.foundation.handleClearClick(e);
|
|
416
418
|
}
|
|
417
419
|
|
|
420
|
+
onClearBtnEnterPress(e) {
|
|
421
|
+
this.foundation.handleClearBtnEnterPress(e);
|
|
422
|
+
}
|
|
423
|
+
|
|
418
424
|
renderEmpty() {
|
|
419
425
|
return /*#__PURE__*/React.createElement(Option, {
|
|
420
426
|
empty: true,
|
|
@@ -493,10 +499,16 @@ class Select extends BaseComponent {
|
|
|
493
499
|
}
|
|
494
500
|
|
|
495
501
|
const customCreateItem = renderCreateItem(option.value, isFocused);
|
|
496
|
-
return
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
502
|
+
return (
|
|
503
|
+
/*#__PURE__*/
|
|
504
|
+
// eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/interactive-supports-focus
|
|
505
|
+
React.createElement("div", {
|
|
506
|
+
role: "button",
|
|
507
|
+
"aria-label": "Use the input box to create an optional item",
|
|
508
|
+
onClick: e => this.onSelect(option, optionIndex, e),
|
|
509
|
+
key: new Date().valueOf()
|
|
510
|
+
}, customCreateItem)
|
|
511
|
+
);
|
|
500
512
|
}
|
|
501
513
|
|
|
502
514
|
onOptionHover(optionIndex) {
|
|
@@ -559,7 +571,7 @@ class Select extends BaseComponent {
|
|
|
559
571
|
}
|
|
560
572
|
|
|
561
573
|
renderOptions(children) {
|
|
562
|
-
var
|
|
574
|
+
var _context13;
|
|
563
575
|
|
|
564
576
|
const {
|
|
565
577
|
dropdownMinWidth,
|
|
@@ -575,7 +587,8 @@ class Select extends BaseComponent {
|
|
|
575
587
|
outerBottomSlot,
|
|
576
588
|
innerBottomSlot,
|
|
577
589
|
loading,
|
|
578
|
-
virtualize
|
|
590
|
+
virtualize,
|
|
591
|
+
multiple
|
|
579
592
|
} = this.props; // Do a filter first, instead of directly judging in forEach, so that the focusIndex can correspond to
|
|
580
593
|
|
|
581
594
|
const visibileOptions = _filterInstanceProperty(options).call(options, item => item._show);
|
|
@@ -596,7 +609,7 @@ class Select extends BaseComponent {
|
|
|
596
609
|
});
|
|
597
610
|
const isEmpty = !options.length || !_someInstanceProperty(options).call(options, item => item._show);
|
|
598
611
|
return /*#__PURE__*/React.createElement("div", {
|
|
599
|
-
id: _concatInstanceProperty(
|
|
612
|
+
id: _concatInstanceProperty(_context13 = "".concat(prefixcls, "-")).call(_context13, this.selectOptionListID),
|
|
600
613
|
className: dropdownClassName,
|
|
601
614
|
style: style
|
|
602
615
|
}, outerTopSlot, /*#__PURE__*/React.createElement("div", {
|
|
@@ -605,6 +618,7 @@ class Select extends BaseComponent {
|
|
|
605
618
|
},
|
|
606
619
|
className: optionListCls,
|
|
607
620
|
role: "listbox",
|
|
621
|
+
"aria-multiselectable": multiple,
|
|
608
622
|
onScroll: e => this.foundation.handleListScroll(e)
|
|
609
623
|
}, innerTopSlot, !loading ? listContent : this.renderLoading(), isEmpty && !loading ? this.renderEmpty() : null, innerBottomSlot), outerBottomSlot);
|
|
610
624
|
}
|
|
@@ -750,6 +764,10 @@ class Select extends BaseComponent {
|
|
|
750
764
|
onMouseLeave(e) {
|
|
751
765
|
this.foundation.handleMouseLeave(e);
|
|
752
766
|
}
|
|
767
|
+
|
|
768
|
+
onKeyPress(e) {
|
|
769
|
+
this.foundation.handleKeyPress(e);
|
|
770
|
+
}
|
|
753
771
|
/* Processing logic when popover visible changes */
|
|
754
772
|
|
|
755
773
|
|
|
@@ -805,7 +823,8 @@ class Select extends BaseComponent {
|
|
|
805
823
|
renderPrefix() {
|
|
806
824
|
const {
|
|
807
825
|
prefix,
|
|
808
|
-
insetLabel
|
|
826
|
+
insetLabel,
|
|
827
|
+
insetLabelId
|
|
809
828
|
} = this.props;
|
|
810
829
|
const labelNode = prefix || insetLabel;
|
|
811
830
|
const prefixWrapperCls = cls({
|
|
@@ -815,11 +834,14 @@ class Select extends BaseComponent {
|
|
|
815
834
|
["".concat(prefixcls, "-prefix-icon")]: isSemiIcon(labelNode)
|
|
816
835
|
});
|
|
817
836
|
return /*#__PURE__*/React.createElement("div", {
|
|
818
|
-
className: prefixWrapperCls
|
|
837
|
+
className: prefixWrapperCls,
|
|
838
|
+
id: insetLabelId
|
|
819
839
|
}, labelNode);
|
|
820
840
|
}
|
|
821
841
|
|
|
822
842
|
renderSelection() {
|
|
843
|
+
var _context14;
|
|
844
|
+
|
|
823
845
|
const {
|
|
824
846
|
disabled,
|
|
825
847
|
multiple,
|
|
@@ -888,13 +910,28 @@ class Select extends BaseComponent {
|
|
|
888
910
|
}, multiple ? this.renderMultipleSelection(selections, filterable) : this.renderSingleSelection(selections, filterable))), /*#__PURE__*/React.createElement(Fragment, {
|
|
889
911
|
key: "clearicon"
|
|
890
912
|
}, showClear ? /*#__PURE__*/React.createElement("div", {
|
|
913
|
+
role: "button",
|
|
914
|
+
"aria-label": "Clear selected value",
|
|
915
|
+
tabIndex: 0,
|
|
891
916
|
className: cls("".concat(prefixcls, "-clear")),
|
|
892
|
-
onClick: this.onClear
|
|
917
|
+
onClick: this.onClear,
|
|
918
|
+
onKeyPress: this.onClearBtnEnterPress
|
|
893
919
|
}, /*#__PURE__*/React.createElement(IconClear, null)) : arrowContent), /*#__PURE__*/React.createElement(Fragment, {
|
|
894
920
|
key: "suffix"
|
|
895
921
|
}, suffix ? this.renderSuffix() : null)];
|
|
896
922
|
const tabIndex = disabled ? null : 0;
|
|
897
923
|
return /*#__PURE__*/React.createElement("div", _Object$assign({
|
|
924
|
+
role: "combobox",
|
|
925
|
+
"aria-disabled": disabled,
|
|
926
|
+
"aria-expanded": isOpen,
|
|
927
|
+
"aria-controls": _concatInstanceProperty(_context14 = "".concat(prefixcls, "-")).call(_context14, this.selectOptionListID),
|
|
928
|
+
"aria-haspopup": "listbox",
|
|
929
|
+
"aria-label": "select value",
|
|
930
|
+
"aria-invalid": this.props['aria-invalid'],
|
|
931
|
+
"aria-errormessage": this.props['aria-errormessage'],
|
|
932
|
+
"aria-labelledby": this.props['aria-labelledby'],
|
|
933
|
+
"aria-describedby": this.props['aria-describedby'],
|
|
934
|
+
"aria-required": this.props['aria-required'],
|
|
898
935
|
className: selectionCls,
|
|
899
936
|
ref: ref => this.triggerRef.current = ref,
|
|
900
937
|
onClick: e => this.foundation.handleClick(e),
|
|
@@ -904,7 +941,8 @@ class Select extends BaseComponent {
|
|
|
904
941
|
onMouseEnter: this.onMouseEnter,
|
|
905
942
|
onMouseLeave: this.onMouseLeave,
|
|
906
943
|
// onFocus={e => this.foundation.handleTriggerFocus(e)}
|
|
907
|
-
onBlur: e => this.foundation.handleTriggerBlur(e)
|
|
944
|
+
onBlur: e => this.foundation.handleTriggerBlur(e),
|
|
945
|
+
onKeyPress: this.onKeyPress
|
|
908
946
|
}, keyboardEventSet), inner);
|
|
909
947
|
}
|
|
910
948
|
|
|
@@ -957,7 +995,13 @@ Select.contextType = ConfigContext;
|
|
|
957
995
|
Select.Option = Option;
|
|
958
996
|
Select.OptGroup = OptionGroup;
|
|
959
997
|
Select.propTypes = {
|
|
998
|
+
'aria-describedby': PropTypes.string,
|
|
999
|
+
'aria-errormessage': PropTypes.string,
|
|
1000
|
+
'aria-invalid': PropTypes.bool,
|
|
1001
|
+
'aria-labelledby': PropTypes.string,
|
|
1002
|
+
'aria-required': PropTypes.bool,
|
|
960
1003
|
autoFocus: PropTypes.bool,
|
|
1004
|
+
autoClearSearchValue: PropTypes.bool,
|
|
961
1005
|
children: PropTypes.node,
|
|
962
1006
|
defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.array, PropTypes.object]),
|
|
963
1007
|
value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.array, PropTypes.object]),
|
|
@@ -1002,6 +1046,7 @@ Select.propTypes = {
|
|
|
1002
1046
|
suffix: PropTypes.node,
|
|
1003
1047
|
prefix: PropTypes.node,
|
|
1004
1048
|
insetLabel: PropTypes.node,
|
|
1049
|
+
insetLabelId: PropTypes.string,
|
|
1005
1050
|
showClear: PropTypes.bool,
|
|
1006
1051
|
showArrow: PropTypes.bool,
|
|
1007
1052
|
renderSelectedItem: PropTypes.func,
|
|
@@ -1062,6 +1107,7 @@ Select.defaultProps = {
|
|
|
1062
1107
|
showClear: false,
|
|
1063
1108
|
remote: false,
|
|
1064
1109
|
autoAdjustOverflow: true,
|
|
1110
|
+
autoClearSearchValue: true,
|
|
1065
1111
|
arrowIcon: /*#__PURE__*/React.createElement(IconChevronDown, null) // Radio selection is different from the default renderSelectedItem for multiple selection, so it is not declared here
|
|
1066
1112
|
// renderSelectedItem: (optionNode) => optionNode.label,
|
|
1067
1113
|
// The default creator rendering is related to i18, so it is not declared here
|
package/lib/es/select/option.js
CHANGED
|
@@ -130,28 +130,34 @@ class Option extends PureComponent {
|
|
|
130
130
|
highlightClassName: "".concat(prefixCls, "-keyword")
|
|
131
131
|
}
|
|
132
132
|
};
|
|
133
|
-
return
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
133
|
+
return (
|
|
134
|
+
/*#__PURE__*/
|
|
135
|
+
// eslint-disable-next-line jsx-a11y/interactive-supports-focus,jsx-a11y/click-events-have-key-events
|
|
136
|
+
React.createElement("div", {
|
|
137
|
+
className: optionClassName,
|
|
138
|
+
onClick: e => {
|
|
139
|
+
this.onClick(_Object$assign({
|
|
140
|
+
value,
|
|
141
|
+
label,
|
|
142
|
+
children
|
|
143
|
+
}, rest), e);
|
|
144
|
+
},
|
|
145
|
+
onMouseEnter: e => onMouseEnter && onMouseEnter(e),
|
|
146
|
+
role: "option",
|
|
147
|
+
"aria-selected": selected ? "true" : "false",
|
|
148
|
+
"aria-disabled": disabled ? "true" : "false",
|
|
149
|
+
style: style
|
|
150
|
+
}, showTick ? /*#__PURE__*/React.createElement("div", {
|
|
151
|
+
className: selectedIconClassName
|
|
152
|
+
}, /*#__PURE__*/React.createElement(IconTick, null)) : null, _isString(children) ? /*#__PURE__*/React.createElement("div", {
|
|
153
|
+
className: "".concat(prefixCls, "-text")
|
|
154
|
+
}, this.renderOptionContent({
|
|
155
|
+
children,
|
|
156
|
+
config,
|
|
157
|
+
inputValue,
|
|
158
|
+
prefixCls
|
|
159
|
+
})) : children)
|
|
160
|
+
);
|
|
155
161
|
}
|
|
156
162
|
|
|
157
163
|
}
|
|
@@ -14,6 +14,7 @@ export interface SideSheetContentProps {
|
|
|
14
14
|
bodyStyle?: CSSProperties;
|
|
15
15
|
className: string;
|
|
16
16
|
footer?: React.ReactNode;
|
|
17
|
+
'aria-label'?: string;
|
|
17
18
|
}
|
|
18
19
|
export default class SideSheetContent extends React.PureComponent<SideSheetContentProps> {
|
|
19
20
|
static propTypes: {
|
|
@@ -58,6 +58,7 @@ export default class SideSheetContent extends React.PureComponent {
|
|
|
58
58
|
|
|
59
59
|
if (mask) {
|
|
60
60
|
return /*#__PURE__*/React.createElement("div", {
|
|
61
|
+
"aria-hidden": true,
|
|
61
62
|
key: "mask",
|
|
62
63
|
className: "".concat(prefixCls, "-mask"),
|
|
63
64
|
style: maskStyle,
|
|
@@ -78,7 +79,8 @@ export default class SideSheetContent extends React.PureComponent {
|
|
|
78
79
|
|
|
79
80
|
if (title) {
|
|
80
81
|
header = /*#__PURE__*/React.createElement("div", {
|
|
81
|
-
className: "".concat(prefixCls, "-title")
|
|
82
|
+
className: "".concat(prefixCls, "-title"),
|
|
83
|
+
"aria-label": 'Sidesheet title'
|
|
82
84
|
}, this.props.title);
|
|
83
85
|
}
|
|
84
86
|
|
|
@@ -96,6 +98,7 @@ export default class SideSheetContent extends React.PureComponent {
|
|
|
96
98
|
|
|
97
99
|
return /*#__PURE__*/React.createElement("div", {
|
|
98
100
|
className: "".concat(prefixCls, "-header"),
|
|
101
|
+
role: 'heading',
|
|
99
102
|
style: _Object$assign({}, headerStyle)
|
|
100
103
|
}, header, closer);
|
|
101
104
|
}
|
|
@@ -122,18 +125,21 @@ export default class SideSheetContent extends React.PureComponent {
|
|
|
122
125
|
const header = this.renderHeader();
|
|
123
126
|
const dialogElement = /*#__PURE__*/React.createElement("div", {
|
|
124
127
|
key: "dialog-element",
|
|
125
|
-
role: "
|
|
128
|
+
role: "dialog",
|
|
126
129
|
tabIndex: -1,
|
|
127
130
|
className: _concatInstanceProperty(_context = "".concat(prefixCls, "-inner ")).call(_context, prefixCls, "-inner-wrap"),
|
|
128
131
|
// onMouseDown={this.onDialogMouseDown}
|
|
129
132
|
style: _Object$assign(_Object$assign({}, props.style), style)
|
|
130
133
|
}, /*#__PURE__*/React.createElement("div", {
|
|
131
|
-
className: "".concat(prefixCls, "-content")
|
|
134
|
+
className: "".concat(prefixCls, "-content"),
|
|
135
|
+
"aria-label": "Sidesheet content"
|
|
132
136
|
}, header, /*#__PURE__*/React.createElement("div", {
|
|
133
137
|
className: "".concat(prefixCls, "-body"),
|
|
138
|
+
"aria-label": "Sidesheet body",
|
|
134
139
|
style: props.bodyStyle
|
|
135
140
|
}, props.children), props.footer ? /*#__PURE__*/React.createElement("div", {
|
|
136
|
-
className: "".concat(prefixCls, "-footer")
|
|
141
|
+
className: "".concat(prefixCls, "-footer"),
|
|
142
|
+
"aria-label": "Sidesheet footer"
|
|
137
143
|
}, props.footer) : null));
|
|
138
144
|
return dialogElement;
|
|
139
145
|
}
|
|
@@ -155,7 +161,8 @@ export default class SideSheetContent extends React.PureComponent {
|
|
|
155
161
|
|
|
156
162
|
return /*#__PURE__*/React.createElement("div", {
|
|
157
163
|
className: wrapperCls,
|
|
158
|
-
style: wrapperStyle
|
|
164
|
+
style: wrapperStyle,
|
|
165
|
+
"aria-label": this.props['aria-label']
|
|
159
166
|
}, this.getMaskElement(), this.getDialogElement());
|
|
160
167
|
}
|
|
161
168
|
|
|
@@ -43,6 +43,7 @@ export default class SideSheet extends BaseComponent<SideSheetReactProps, SideSh
|
|
|
43
43
|
closeOnEsc: PropTypes.Requireable<boolean>;
|
|
44
44
|
footer: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
45
45
|
keepDOM: PropTypes.Requireable<boolean>;
|
|
46
|
+
'aria-label': PropTypes.Requireable<string>;
|
|
46
47
|
};
|
|
47
48
|
static defaultProps: SideSheetReactProps;
|
|
48
49
|
private _active;
|
|
@@ -256,7 +256,8 @@ SideSheet.propTypes = {
|
|
|
256
256
|
afterVisibleChange: PropTypes.func,
|
|
257
257
|
closeOnEsc: PropTypes.bool,
|
|
258
258
|
footer: PropTypes.node,
|
|
259
|
-
keepDOM: PropTypes.bool
|
|
259
|
+
keepDOM: PropTypes.bool,
|
|
260
|
+
'aria-label': PropTypes.string
|
|
260
261
|
};
|
|
261
262
|
SideSheet.defaultProps = {
|
|
262
263
|
visible: false,
|
package/lib/es/slider/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CSSProperties } from 'react';
|
|
2
2
|
import BaseComponent from '../_base/baseComponent';
|
|
3
|
-
import { SliderAdapter, SliderProps as BasicSliceProps, SliderState } from '@douyinfe/semi-foundation/lib/es/slider/foundation';
|
|
3
|
+
import SliderFoundation, { SliderAdapter, SliderProps as BasicSliceProps, SliderState } from '@douyinfe/semi-foundation/lib/es/slider/foundation';
|
|
4
4
|
import '@douyinfe/semi-foundation/lib/es/slider/slider.css';
|
|
5
5
|
export interface SliderProps extends BasicSliceProps {
|
|
6
6
|
style?: CSSProperties;
|
|
@@ -16,6 +16,7 @@ export default class Slider extends BaseComponent<SliderProps, SliderState> {
|
|
|
16
16
|
private dragging;
|
|
17
17
|
private eventListenerSet;
|
|
18
18
|
private chooseMovePos;
|
|
19
|
+
foundation: SliderFoundation;
|
|
19
20
|
constructor(props: SliderProps);
|
|
20
21
|
get adapter(): SliderAdapter;
|
|
21
22
|
componentDidMount(): void;
|
package/lib/es/slider/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import _noop from "lodash/noop";
|
|
2
2
|
import _isEqual from "lodash/isEqual";
|
|
3
|
+
import _Object$assign from "@babel/runtime-corejs3/core-js-stable/object/assign";
|
|
3
4
|
import _Object$keys from "@babel/runtime-corejs3/core-js-stable/object/keys";
|
|
4
5
|
import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map";
|
|
5
6
|
import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
|
|
6
7
|
import _Set from "@babel/runtime-corejs3/core-js-stable/set";
|
|
7
|
-
import _Object$assign from "@babel/runtime-corejs3/core-js-stable/object/assign";
|
|
8
8
|
import _forEachInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/for-each";
|
|
9
9
|
import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
|
|
10
10
|
import _Promise from "@babel/runtime-corejs3/core-js-stable/promise";
|
|
@@ -40,7 +40,12 @@ export default class Slider extends BaseComponent {
|
|
|
40
40
|
vertical,
|
|
41
41
|
range,
|
|
42
42
|
tooltipVisible,
|
|
43
|
-
tipFormatter
|
|
43
|
+
tipFormatter,
|
|
44
|
+
'aria-label': ariaLabel,
|
|
45
|
+
'aria-labelledby': ariaLabelledby,
|
|
46
|
+
'aria-valuetext': ariaValueText,
|
|
47
|
+
getAriaValueText,
|
|
48
|
+
disabled
|
|
44
49
|
} = this.props;
|
|
45
50
|
const {
|
|
46
51
|
chooseMovePos,
|
|
@@ -65,6 +70,19 @@ export default class Slider extends BaseComponent {
|
|
|
65
70
|
const maxClass = cls(cssClasses.HANDLE, {
|
|
66
71
|
["".concat(cssClasses.HANDLE, "-clicked")]: chooseMovePos === 'max' && isDrag
|
|
67
72
|
});
|
|
73
|
+
const {
|
|
74
|
+
min,
|
|
75
|
+
max,
|
|
76
|
+
currentValue
|
|
77
|
+
} = this.state;
|
|
78
|
+
const commonAria = {
|
|
79
|
+
'aria-label': ariaLabel,
|
|
80
|
+
'aria-labelledby': ariaLabelledby,
|
|
81
|
+
'aria-disabled': disabled
|
|
82
|
+
};
|
|
83
|
+
vertical && _Object$assign(commonAria, {
|
|
84
|
+
'aria-orientation': 'vertical'
|
|
85
|
+
});
|
|
68
86
|
const handleContents = !range ? /*#__PURE__*/React.createElement(Tooltip, {
|
|
69
87
|
content: tipChildren.min,
|
|
70
88
|
position: "top",
|
|
@@ -72,7 +90,7 @@ export default class Slider extends BaseComponent {
|
|
|
72
90
|
rePosKey: minPercent,
|
|
73
91
|
visible: isInRenderTree && tipVisible.min,
|
|
74
92
|
className: "".concat(cssClasses.HANDLE, "-tooltip")
|
|
75
|
-
}, /*#__PURE__*/React.createElement("span", {
|
|
93
|
+
}, /*#__PURE__*/React.createElement("span", _Object$assign({
|
|
76
94
|
onMouseOver: this.foundation.checkAndUpdateIsInRenderTreeState,
|
|
77
95
|
ref: this.minHanleEl,
|
|
78
96
|
className: minClass,
|
|
@@ -101,15 +119,23 @@ export default class Slider extends BaseComponent {
|
|
|
101
119
|
},
|
|
102
120
|
onTouchEnd: e => {
|
|
103
121
|
this.foundation.onHandleUp(e);
|
|
104
|
-
}
|
|
105
|
-
|
|
122
|
+
},
|
|
123
|
+
onFocus: e => this.foundation.onFocus(e, 'min'),
|
|
124
|
+
role: "slider",
|
|
125
|
+
tabIndex: 0
|
|
126
|
+
}, commonAria, {
|
|
127
|
+
"aria-valuenow": currentValue,
|
|
128
|
+
"aria-valuemax": max,
|
|
129
|
+
"aria-valuemin": min,
|
|
130
|
+
"aria-valuetext": getAriaValueText ? getAriaValueText(currentValue) : ariaValueText
|
|
131
|
+
}))) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Tooltip, {
|
|
106
132
|
content: tipChildren.min,
|
|
107
133
|
position: "top",
|
|
108
134
|
trigger: "custom",
|
|
109
135
|
rePosKey: minPercent,
|
|
110
136
|
visible: isInRenderTree && tipVisible.min,
|
|
111
137
|
className: "".concat(cssClasses.HANDLE, "-tooltip")
|
|
112
|
-
}, /*#__PURE__*/React.createElement("span", {
|
|
138
|
+
}, /*#__PURE__*/React.createElement("span", _Object$assign({
|
|
113
139
|
ref: this.minHanleEl,
|
|
114
140
|
className: minClass,
|
|
115
141
|
style: {
|
|
@@ -137,15 +163,23 @@ export default class Slider extends BaseComponent {
|
|
|
137
163
|
},
|
|
138
164
|
onTouchEnd: e => {
|
|
139
165
|
this.foundation.onHandleUp(e);
|
|
140
|
-
}
|
|
141
|
-
|
|
166
|
+
},
|
|
167
|
+
onFocus: e => this.foundation.onFocus(e, 'min'),
|
|
168
|
+
role: "slider",
|
|
169
|
+
tabIndex: 0
|
|
170
|
+
}, commonAria, {
|
|
171
|
+
"aria-valuenow": currentValue[0],
|
|
172
|
+
"aria-valuetext": getAriaValueText ? getAriaValueText(currentValue[0]) : ariaValueText,
|
|
173
|
+
"aria-valuemax": currentValue[1],
|
|
174
|
+
"aria-valuemin": min
|
|
175
|
+
}))), /*#__PURE__*/React.createElement(Tooltip, {
|
|
142
176
|
content: tipChildren.max,
|
|
143
177
|
position: "top",
|
|
144
178
|
trigger: "custom",
|
|
145
179
|
rePosKey: maxPercent,
|
|
146
180
|
visible: isInRenderTree && tipVisible.max,
|
|
147
181
|
className: "".concat(cssClasses.HANDLE, "-tooltip")
|
|
148
|
-
}, /*#__PURE__*/React.createElement("span", {
|
|
182
|
+
}, /*#__PURE__*/React.createElement("span", _Object$assign({
|
|
149
183
|
ref: this.maxHanleEl,
|
|
150
184
|
className: maxClass,
|
|
151
185
|
style: {
|
|
@@ -173,8 +207,16 @@ export default class Slider extends BaseComponent {
|
|
|
173
207
|
},
|
|
174
208
|
onTouchEnd: e => {
|
|
175
209
|
this.foundation.onHandleUp(e);
|
|
176
|
-
}
|
|
177
|
-
|
|
210
|
+
},
|
|
211
|
+
onFocus: e => this.foundation.onFocus(e, 'min'),
|
|
212
|
+
role: "slider",
|
|
213
|
+
tabIndex: 0
|
|
214
|
+
}, commonAria, {
|
|
215
|
+
"aria-valuenow": currentValue[1],
|
|
216
|
+
"aria-valuetext": getAriaValueText ? getAriaValueText(currentValue[1]) : ariaValueText,
|
|
217
|
+
"aria-valuemax": max,
|
|
218
|
+
"aria-valuemin": currentValue[0]
|
|
219
|
+
}))));
|
|
178
220
|
return handleContents;
|
|
179
221
|
};
|
|
180
222
|
|
|
@@ -195,11 +237,15 @@ export default class Slider extends BaseComponent {
|
|
|
195
237
|
top: range ? "".concat(minPercent * 100, "%") : 0
|
|
196
238
|
};
|
|
197
239
|
trackStyle = included ? trackStyle : {};
|
|
198
|
-
return
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
240
|
+
return (
|
|
241
|
+
/*#__PURE__*/
|
|
242
|
+
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
|
|
243
|
+
React.createElement("div", {
|
|
244
|
+
className: cssClasses.TRACK,
|
|
245
|
+
style: trackStyle,
|
|
246
|
+
onClick: e => this.foundation.handleWrapClick(e)
|
|
247
|
+
})
|
|
248
|
+
);
|
|
203
249
|
};
|
|
204
250
|
|
|
205
251
|
this.renderStepDot = () => {
|
|
@@ -222,6 +268,7 @@ export default class Slider extends BaseComponent {
|
|
|
222
268
|
const markPercent = (Number(mark) - min) / (max - min);
|
|
223
269
|
return activeResult ? /*#__PURE__*/React.createElement("span", {
|
|
224
270
|
key: mark,
|
|
271
|
+
onClick: e => this.foundation.handleWrapClick(e),
|
|
225
272
|
className: markClass,
|
|
226
273
|
style: {
|
|
227
274
|
[stylePos]: "calc(".concat(markPercent * 100, "% - 2px)")
|
package/lib/es/spin/icon.js
CHANGED
|
@@ -43,7 +43,8 @@ function Icon() {
|
|
|
43
43
|
height: "48",
|
|
44
44
|
viewBox: "0 0 36 36",
|
|
45
45
|
version: "1.1",
|
|
46
|
-
xmlns: "http://www.w3.org/2000/svg"
|
|
46
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
47
|
+
"aria-label": "spin"
|
|
47
48
|
}), /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("linearGradient", {
|
|
48
49
|
x1: "0%",
|
|
49
50
|
y1: "100%",
|
|
@@ -62,13 +63,11 @@ function Icon() {
|
|
|
62
63
|
stopColor: "currentColor",
|
|
63
64
|
offset: "100%"
|
|
64
65
|
}))), /*#__PURE__*/React.createElement("g", {
|
|
65
|
-
id: "Artboard",
|
|
66
66
|
stroke: "none",
|
|
67
67
|
strokeWidth: "1",
|
|
68
68
|
fill: "none",
|
|
69
69
|
fillRule: "evenodd"
|
|
70
70
|
}, /*#__PURE__*/React.createElement("rect", {
|
|
71
|
-
id: "Rectangle",
|
|
72
71
|
fillOpacity: "0.01",
|
|
73
72
|
fill: "#FFFFFF",
|
|
74
73
|
x: "0",
|
|
@@ -77,7 +76,6 @@ function Icon() {
|
|
|
77
76
|
height: "36"
|
|
78
77
|
}), /*#__PURE__*/React.createElement("path", {
|
|
79
78
|
d: "M34,18 C34,9.163444 26.836556,2 18,2 C11.6597233,2 6.18078805,5.68784135 3.59122325,11.0354951",
|
|
80
|
-
id: "Path",
|
|
81
79
|
stroke: "url(#".concat(id, ")"),
|
|
82
80
|
strokeWidth: "4",
|
|
83
81
|
strokeLinecap: "round"
|
|
@@ -16,6 +16,9 @@ export interface BasicStepProps {
|
|
|
16
16
|
done?: boolean;
|
|
17
17
|
onChange?: () => void;
|
|
18
18
|
onClick?: React.MouseEventHandler<HTMLDivElement>;
|
|
19
|
+
onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;
|
|
20
|
+
"role"?: React.AriaRole;
|
|
21
|
+
"aria-label"?: React.AriaAttributes["aria-label"];
|
|
19
22
|
}
|
|
20
23
|
export declare enum stepSizeMapIconSize {
|
|
21
24
|
small = "large",
|