@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
|
@@ -1,20 +1,5 @@
|
|
|
1
1
|
import _isFunction from "lodash/isFunction";
|
|
2
|
-
import _indexOfInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/index-of";
|
|
3
|
-
import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
|
|
4
2
|
import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/concat";
|
|
5
|
-
import _Object$assign from "@babel/runtime-corejs3/core-js-stable/object/assign";
|
|
6
|
-
|
|
7
|
-
var __rest = this && this.__rest || function (s, e) {
|
|
8
|
-
var t = {};
|
|
9
|
-
|
|
10
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && _indexOfInstanceProperty(e).call(e, p) < 0) t[p] = s[p];
|
|
11
|
-
|
|
12
|
-
if (s != null && typeof _Object$getOwnPropertySymbols === "function") for (var i = 0, p = _Object$getOwnPropertySymbols(s); i < p.length; i++) {
|
|
13
|
-
if (_indexOfInstanceProperty(e).call(e, p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
14
|
-
}
|
|
15
|
-
return t;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
3
|
import React from 'react';
|
|
19
4
|
import PropTypes from 'prop-types';
|
|
20
5
|
import classnames from 'classnames';
|
|
@@ -43,9 +28,9 @@ const BasicStep = props => {
|
|
|
43
28
|
icon,
|
|
44
29
|
stepNumber,
|
|
45
30
|
onClick,
|
|
46
|
-
onChange
|
|
47
|
-
|
|
48
|
-
|
|
31
|
+
onChange,
|
|
32
|
+
onKeyDown
|
|
33
|
+
} = props;
|
|
49
34
|
|
|
50
35
|
const renderIcon = () => {
|
|
51
36
|
let inner, progress;
|
|
@@ -103,10 +88,10 @@ const BasicStep = props => {
|
|
|
103
88
|
}, inner) : null;
|
|
104
89
|
};
|
|
105
90
|
|
|
106
|
-
const classString = classnames(prefixCls,
|
|
91
|
+
const classString = classnames(prefixCls, _concatInstanceProperty(_context = "".concat(prefixCls, "-")).call(_context, status), {
|
|
107
92
|
["".concat(prefixCls, "-active")]: active,
|
|
108
93
|
["".concat(prefixCls, "-done")]: done
|
|
109
|
-
});
|
|
94
|
+
}, className);
|
|
110
95
|
|
|
111
96
|
const handleClick = e => {
|
|
112
97
|
if (_isFunction(onClick)) {
|
|
@@ -116,11 +101,26 @@ const BasicStep = props => {
|
|
|
116
101
|
onChange();
|
|
117
102
|
};
|
|
118
103
|
|
|
119
|
-
|
|
104
|
+
const handleKeyDown = e => {
|
|
105
|
+
if (e.key === 'Enter') {
|
|
106
|
+
if (_isFunction(onKeyDown)) {
|
|
107
|
+
onKeyDown(e);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
onChange();
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
115
|
+
role: props["role"],
|
|
116
|
+
"aria-label": props["aria-label"],
|
|
117
|
+
tabIndex: 0,
|
|
118
|
+
"aria-current": "step",
|
|
120
119
|
className: classString,
|
|
121
120
|
style: style,
|
|
122
|
-
onClick: e => handleClick(e)
|
|
123
|
-
|
|
121
|
+
onClick: e => handleClick(e),
|
|
122
|
+
onKeyDown: handleKeyDown
|
|
123
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
124
124
|
className: "".concat(prefixCls, "-container")
|
|
125
125
|
}, /*#__PURE__*/React.createElement("div", {
|
|
126
126
|
className: "".concat(prefixCls, "-left")
|
|
@@ -67,7 +67,7 @@ const Steps = props => {
|
|
|
67
67
|
});
|
|
68
68
|
|
|
69
69
|
return content;
|
|
70
|
-
}, [children, initial, prefixCls, direction, status, current, size]);
|
|
70
|
+
}, [children, initial, prefixCls, direction, status, current, size, onChange]);
|
|
71
71
|
const wrapperCls = cls(className, {
|
|
72
72
|
["".concat(prefixCls, "-basic")]: true,
|
|
73
73
|
[_concatInstanceProperty(_context2 = "".concat(prefixCls, "-")).call(_context2, direction)]: true,
|
|
@@ -75,6 +75,7 @@ const Steps = props => {
|
|
|
75
75
|
["".concat(prefixCls, "-hasline")]: hasLine
|
|
76
76
|
});
|
|
77
77
|
return /*#__PURE__*/React.createElement("div", {
|
|
78
|
+
"aria-label": props["aria-label"],
|
|
78
79
|
className: wrapperCls,
|
|
79
80
|
style: style
|
|
80
81
|
}, inner);
|
|
@@ -12,6 +12,9 @@ export interface FillStepProps {
|
|
|
12
12
|
stepNumber?: string;
|
|
13
13
|
onChange?: () => void;
|
|
14
14
|
onClick?: React.MouseEventHandler<HTMLDivElement>;
|
|
15
|
+
onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;
|
|
16
|
+
"role"?: React.AriaRole;
|
|
17
|
+
"aria-label"?: React.AriaAttributes["aria-label"];
|
|
15
18
|
}
|
|
16
19
|
declare const FillStep: {
|
|
17
20
|
(props: FillStepProps): JSX.Element;
|
package/lib/es/steps/fillStep.js
CHANGED
|
@@ -19,7 +19,8 @@ const FillStep = props => {
|
|
|
19
19
|
onClick,
|
|
20
20
|
icon,
|
|
21
21
|
onChange,
|
|
22
|
-
stepNumber
|
|
22
|
+
stepNumber,
|
|
23
|
+
onKeyDown
|
|
23
24
|
} = props;
|
|
24
25
|
|
|
25
26
|
const renderIcon = () => {
|
|
@@ -81,17 +82,31 @@ const FillStep = props => {
|
|
|
81
82
|
onChange();
|
|
82
83
|
};
|
|
83
84
|
|
|
85
|
+
const handleKeyDown = e => {
|
|
86
|
+
if (e.key === 'Enter') {
|
|
87
|
+
if (_isFunction(onKeyDown)) {
|
|
88
|
+
onKeyDown(e);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
onChange();
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
|
|
84
95
|
return /*#__PURE__*/React.createElement("div", {
|
|
96
|
+
role: props["role"],
|
|
97
|
+
"aria-label": props["aria-label"],
|
|
98
|
+
"aria-current": "step",
|
|
99
|
+
tabIndex: 0,
|
|
85
100
|
className: classnames({
|
|
86
|
-
[className]: Boolean(className),
|
|
87
101
|
[prefixCls]: true,
|
|
88
102
|
[_concatInstanceProperty(_context = "".concat(prefixCls, "-")).call(_context, status)]: Boolean(status),
|
|
89
103
|
["".concat(prefixCls, "-clickable")]: onClick
|
|
90
|
-
}),
|
|
104
|
+
}, className),
|
|
91
105
|
style: style,
|
|
92
106
|
onClick: e => {
|
|
93
107
|
handleClick(e);
|
|
94
|
-
}
|
|
108
|
+
},
|
|
109
|
+
onKeyDown: handleKeyDown
|
|
95
110
|
}, renderIcon(), /*#__PURE__*/React.createElement("div", {
|
|
96
111
|
className: "".concat(prefixCls, "-content")
|
|
97
112
|
}, /*#__PURE__*/React.createElement("div", {
|
|
@@ -76,7 +76,8 @@ const Steps = props => {
|
|
|
76
76
|
});
|
|
77
77
|
return /*#__PURE__*/React.createElement("div", {
|
|
78
78
|
className: wrapperCls,
|
|
79
|
-
style: style
|
|
79
|
+
style: style,
|
|
80
|
+
"aria-label": props["aria-label"]
|
|
80
81
|
}, /*#__PURE__*/React.createElement(Row, {
|
|
81
82
|
type: "flex",
|
|
82
83
|
justify: "start"
|
|
@@ -10,6 +10,9 @@ export interface NavStepProps {
|
|
|
10
10
|
prefixCls?: string;
|
|
11
11
|
onChange?: () => void;
|
|
12
12
|
onClick?: React.MouseEventHandler<HTMLDivElement>;
|
|
13
|
+
onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;
|
|
14
|
+
"role"?: React.AriaRole;
|
|
15
|
+
"aria-label"?: React.AriaAttributes["aria-label"];
|
|
13
16
|
}
|
|
14
17
|
declare const NavStep: {
|
|
15
18
|
(props: NavStepProps): JSX.Element;
|
package/lib/es/steps/navStep.js
CHANGED
|
@@ -1,19 +1,4 @@
|
|
|
1
1
|
import _isFunction from "lodash/isFunction";
|
|
2
|
-
import _indexOfInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/index-of";
|
|
3
|
-
import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
|
|
4
|
-
import _Object$assign from "@babel/runtime-corejs3/core-js-stable/object/assign";
|
|
5
|
-
|
|
6
|
-
var __rest = this && this.__rest || function (s, e) {
|
|
7
|
-
var t = {};
|
|
8
|
-
|
|
9
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && _indexOfInstanceProperty(e).call(e, p) < 0) t[p] = s[p];
|
|
10
|
-
|
|
11
|
-
if (s != null && typeof _Object$getOwnPropertySymbols === "function") for (var i = 0, p = _Object$getOwnPropertySymbols(s); i < p.length; i++) {
|
|
12
|
-
if (_indexOfInstanceProperty(e).call(e, p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
13
|
-
}
|
|
14
|
-
return t;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
2
|
import React from 'react';
|
|
18
3
|
import PropTypes from 'prop-types';
|
|
19
4
|
import classnames from 'classnames';
|
|
@@ -30,13 +15,12 @@ const NavStep = props => {
|
|
|
30
15
|
index,
|
|
31
16
|
total,
|
|
32
17
|
onClick,
|
|
18
|
+
onKeyDown,
|
|
33
19
|
onChange
|
|
34
|
-
} = props
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const classString = classnames(prefixCls, className, {
|
|
20
|
+
} = props;
|
|
21
|
+
const classString = classnames(prefixCls, {
|
|
38
22
|
["".concat(prefixCls, "-active")]: active
|
|
39
|
-
});
|
|
23
|
+
}, className);
|
|
40
24
|
|
|
41
25
|
const handleClick = e => {
|
|
42
26
|
if (_isFunction(onClick)) {
|
|
@@ -46,11 +30,26 @@ const NavStep = props => {
|
|
|
46
30
|
onChange();
|
|
47
31
|
};
|
|
48
32
|
|
|
49
|
-
|
|
33
|
+
const handleKeyDown = e => {
|
|
34
|
+
if (e.key === 'Enter') {
|
|
35
|
+
if (_isFunction(onKeyDown)) {
|
|
36
|
+
onKeyDown(e);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
onChange();
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
44
|
+
role: props["role"],
|
|
45
|
+
"aria-label": props["aria-label"],
|
|
46
|
+
"aria-current": "step",
|
|
47
|
+
tabIndex: 0,
|
|
50
48
|
className: classString,
|
|
51
49
|
style: style,
|
|
52
|
-
onClick: e => handleClick(e)
|
|
53
|
-
|
|
50
|
+
onClick: e => handleClick(e),
|
|
51
|
+
onKeyDown: handleKeyDown
|
|
52
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
54
53
|
className: "".concat(prefixCls, "-container")
|
|
55
54
|
}, /*#__PURE__*/React.createElement("div", {
|
|
56
55
|
className: "".concat(prefixCls, "-content")
|
package/lib/es/steps/navSteps.js
CHANGED
|
@@ -49,12 +49,13 @@ const Steps = props => {
|
|
|
49
49
|
});
|
|
50
50
|
|
|
51
51
|
return content;
|
|
52
|
-
}, [children, prefixCls, current, size]);
|
|
52
|
+
}, [children, prefixCls, current, size, initial, onChange]);
|
|
53
53
|
const wrapperCls = cls(className, {
|
|
54
54
|
["".concat(prefixCls, "-nav")]: true,
|
|
55
55
|
[_concatInstanceProperty(_context2 = "".concat(prefixCls, "-")).call(_context2, size)]: size !== 'default'
|
|
56
56
|
});
|
|
57
57
|
return /*#__PURE__*/React.createElement("div", {
|
|
58
|
+
"aria-label": props["aria-label"],
|
|
58
59
|
className: wrapperCls,
|
|
59
60
|
style: style
|
|
60
61
|
}, inner);
|
package/lib/es/switch/index.d.ts
CHANGED
|
@@ -4,6 +4,11 @@ import { SwitchAdapter } from '@douyinfe/semi-foundation/lib/es/switch/foundatio
|
|
|
4
4
|
import BaseComponent from '../_base/baseComponent';
|
|
5
5
|
import '@douyinfe/semi-foundation/lib/es/switch/switch.css';
|
|
6
6
|
export interface SwitchProps {
|
|
7
|
+
'aria-label'?: React.AriaAttributes['aria-label'];
|
|
8
|
+
'aria-describedby'?: React.AriaAttributes['aria-describedby'];
|
|
9
|
+
'aria-errormessage'?: React.AriaAttributes['aria-errormessage'];
|
|
10
|
+
'aria-invalid'?: React.AriaAttributes['aria-invalid'];
|
|
11
|
+
'aria-labelledby'?: React.AriaAttributes['aria-labelledby'];
|
|
7
12
|
defaultChecked?: boolean;
|
|
8
13
|
checked?: boolean;
|
|
9
14
|
disabled?: boolean;
|
|
@@ -16,6 +21,7 @@ export interface SwitchProps {
|
|
|
16
21
|
size?: 'large' | 'default' | 'small';
|
|
17
22
|
checkedText?: React.ReactNode;
|
|
18
23
|
uncheckedText?: React.ReactNode;
|
|
24
|
+
id?: string;
|
|
19
25
|
}
|
|
20
26
|
export interface SwitchState {
|
|
21
27
|
nativeControlChecked: boolean;
|
|
@@ -23,6 +29,11 @@ export interface SwitchState {
|
|
|
23
29
|
}
|
|
24
30
|
declare class Switch extends BaseComponent<SwitchProps, SwitchState> {
|
|
25
31
|
static propTypes: {
|
|
32
|
+
'aria-label': PropTypes.Requireable<string>;
|
|
33
|
+
'aria-labelledby': PropTypes.Requireable<string>;
|
|
34
|
+
'aria-invalid': PropTypes.Requireable<boolean>;
|
|
35
|
+
'aria-errormessage': PropTypes.Requireable<string>;
|
|
36
|
+
'aria-describedby': PropTypes.Requireable<string>;
|
|
26
37
|
className: PropTypes.Requireable<string>;
|
|
27
38
|
checked: PropTypes.Requireable<boolean>;
|
|
28
39
|
checkedText: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
@@ -35,6 +46,7 @@ declare class Switch extends BaseComponent<SwitchProps, SwitchState> {
|
|
|
35
46
|
style: PropTypes.Requireable<object>;
|
|
36
47
|
size: PropTypes.Requireable<"default" | "small" | "large">;
|
|
37
48
|
uncheckedText: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
49
|
+
id: PropTypes.Requireable<string>;
|
|
38
50
|
};
|
|
39
51
|
static defaultProps: Partial<SwitchProps>;
|
|
40
52
|
private switchRef;
|
package/lib/es/switch/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _noop from "lodash/noop";
|
|
2
2
|
import _Object$assign from "@babel/runtime-corejs3/core-js-stable/object/assign";
|
|
3
3
|
|
|
4
|
-
/* eslint-disable max-len */
|
|
4
|
+
/* eslint-disable max-len, jsx-a11y/role-supports-aria-props */
|
|
5
5
|
import React from 'react';
|
|
6
6
|
import cls from 'classnames';
|
|
7
7
|
import PropTypes from 'prop-types';
|
|
@@ -71,7 +71,8 @@ class Switch extends BaseComponent {
|
|
|
71
71
|
size,
|
|
72
72
|
checkedText,
|
|
73
73
|
uncheckedText,
|
|
74
|
-
loading
|
|
74
|
+
loading,
|
|
75
|
+
id
|
|
75
76
|
} = this.props;
|
|
76
77
|
const wrapperCls = cls(className, {
|
|
77
78
|
[cssClasses.PREFIX]: true,
|
|
@@ -99,13 +100,21 @@ class Switch extends BaseComponent {
|
|
|
99
100
|
wrapperClassName: cssClasses.LOADING_SPIN,
|
|
100
101
|
size: size === 'default' ? 'middle' : size
|
|
101
102
|
}) : /*#__PURE__*/React.createElement("div", {
|
|
102
|
-
className: cssClasses.KNOB
|
|
103
|
+
className: cssClasses.KNOB,
|
|
104
|
+
"aria-hidden": true
|
|
103
105
|
}), showCheckedText ? /*#__PURE__*/React.createElement("div", {
|
|
104
106
|
className: cssClasses.CHECKED_TEXT
|
|
105
107
|
}, checkedText) : null, showUncheckedText ? /*#__PURE__*/React.createElement("div", {
|
|
106
108
|
className: cssClasses.UNCHECKED_TEXT
|
|
107
109
|
}, uncheckedText) : null, /*#__PURE__*/React.createElement("input", _Object$assign({}, switchProps, {
|
|
108
110
|
ref: this.switchRef,
|
|
111
|
+
id: id,
|
|
112
|
+
"aria-checked": nativeControlChecked,
|
|
113
|
+
"aria-invalid": this.props['aria-invalid'],
|
|
114
|
+
"aria-errormessage": this.props['aria-errormessage'],
|
|
115
|
+
"aria-label": this.props['aria-label'],
|
|
116
|
+
"aria-labelledby": this.props['aria-labelledby'],
|
|
117
|
+
"aria-describedby": this.props["aria-describedby"],
|
|
109
118
|
onChange: e => this.foundation.handleChange(e.target.checked, e)
|
|
110
119
|
})));
|
|
111
120
|
}
|
|
@@ -113,6 +122,11 @@ class Switch extends BaseComponent {
|
|
|
113
122
|
}
|
|
114
123
|
|
|
115
124
|
Switch.propTypes = {
|
|
125
|
+
'aria-label': PropTypes.string,
|
|
126
|
+
'aria-labelledby': PropTypes.string,
|
|
127
|
+
'aria-invalid': PropTypes.bool,
|
|
128
|
+
'aria-errormessage': PropTypes.string,
|
|
129
|
+
'aria-describedby': PropTypes.string,
|
|
116
130
|
className: PropTypes.string,
|
|
117
131
|
checked: PropTypes.bool,
|
|
118
132
|
checkedText: PropTypes.node,
|
|
@@ -124,7 +138,8 @@ Switch.propTypes = {
|
|
|
124
138
|
onMouseLeave: PropTypes.func,
|
|
125
139
|
style: PropTypes.object,
|
|
126
140
|
size: PropTypes.oneOf(strings.SIZE_MAP),
|
|
127
|
-
uncheckedText: PropTypes.node
|
|
141
|
+
uncheckedText: PropTypes.node,
|
|
142
|
+
id: PropTypes.string
|
|
128
143
|
};
|
|
129
144
|
Switch.defaultProps = {
|
|
130
145
|
disabled: false,
|
|
@@ -182,6 +182,7 @@ export default class TableRow extends BaseComponent {
|
|
|
182
182
|
if (isExpandedColumn(column) && !displayExpandedColumn) {
|
|
183
183
|
cells.push( /*#__PURE__*/React.createElement(TableCell, {
|
|
184
184
|
key: columnIndex,
|
|
185
|
+
colIndex: columnIndex,
|
|
185
186
|
isSection: isSection
|
|
186
187
|
}));
|
|
187
188
|
} else if (!isScrollbarColumn(column)) {
|
|
@@ -191,7 +192,9 @@ export default class TableRow extends BaseComponent {
|
|
|
191
192
|
diyProps.width = _get(cellWidths, columnIndex);
|
|
192
193
|
}
|
|
193
194
|
|
|
194
|
-
cells.push( /*#__PURE__*/React.createElement(TableCell, _Object$assign({
|
|
195
|
+
cells.push( /*#__PURE__*/React.createElement(TableCell, _Object$assign({
|
|
196
|
+
colIndex: columnIndex
|
|
197
|
+
}, expandableProps, diyProps, {
|
|
195
198
|
hideExpandedColumn: hideExpandedColumn,
|
|
196
199
|
indentSize: indentSize,
|
|
197
200
|
isSection: isSection,
|
|
@@ -230,7 +233,11 @@ export default class TableRow extends BaseComponent {
|
|
|
230
233
|
replaceClassName,
|
|
231
234
|
record,
|
|
232
235
|
hovered,
|
|
233
|
-
expanded
|
|
236
|
+
expanded,
|
|
237
|
+
expandableRow,
|
|
238
|
+
level,
|
|
239
|
+
expandedRow,
|
|
240
|
+
isSection
|
|
234
241
|
} = this.props;
|
|
235
242
|
const BodyRow = components.body.row;
|
|
236
243
|
|
|
@@ -250,7 +257,32 @@ export default class TableRow extends BaseComponent {
|
|
|
250
257
|
["".concat(prefixCls, "-row-expanded")]: expanded,
|
|
251
258
|
["".concat(prefixCls, "-row-hovered")]: hovered
|
|
252
259
|
}, customClassName);
|
|
253
|
-
|
|
260
|
+
const ariaProps = {};
|
|
261
|
+
|
|
262
|
+
if (typeof index === 'number') {
|
|
263
|
+
ariaProps['aria-rowindex'] = index + 1;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
if (expandableRow) {
|
|
267
|
+
ariaProps['aria-expanded'] = expanded;
|
|
268
|
+
} // if row is expandedRow, set it's level to 2
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
if (expanded || expandedRow) {
|
|
272
|
+
ariaProps['aria-level'] = 2;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
if (typeof level === 'number') {
|
|
276
|
+
ariaProps['aria-level'] = level + 1;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
if (isSection) {
|
|
280
|
+
ariaProps['aria-level'] = 1;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
return /*#__PURE__*/React.createElement(BodyRow, _Object$assign({
|
|
284
|
+
role: "row"
|
|
285
|
+
}, ariaProps, rowProps, {
|
|
254
286
|
style: baseRowStyle,
|
|
255
287
|
className: rowCls,
|
|
256
288
|
ref: this._cacheNode,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _isFunction from "lodash/isFunction";
|
|
1
2
|
import _isNull from "lodash/isNull";
|
|
2
3
|
import _pick from "lodash/pick";
|
|
3
4
|
import _isEqual from "lodash/isEqual";
|
|
@@ -37,7 +38,7 @@ import React from 'react';
|
|
|
37
38
|
import PropTypes from 'prop-types';
|
|
38
39
|
import classnames from 'classnames';
|
|
39
40
|
import { VariableSizeList as List } from 'react-window';
|
|
40
|
-
import { arrayAdd, getRecordKey, isExpanded, isSelected, isDisabled, getRecord, genExpandedRowKey, getDefaultVirtualizedRowConfig } from '@douyinfe/semi-foundation/lib/es/table/utils';
|
|
41
|
+
import { arrayAdd, getRecordKey, isExpanded, isSelected, isDisabled, getRecord, genExpandedRowKey, getDefaultVirtualizedRowConfig, isTreeTable } from '@douyinfe/semi-foundation/lib/es/table/utils';
|
|
41
42
|
import BodyFoundation from '@douyinfe/semi-foundation/lib/es/table/bodyFoundation';
|
|
42
43
|
import { strings } from '@douyinfe/semi-foundation/lib/es/table/constants';
|
|
43
44
|
import BaseComponent from '../../_base/baseComponent';
|
|
@@ -494,7 +495,8 @@ class Body extends BaseComponent {
|
|
|
494
495
|
includeHeader,
|
|
495
496
|
dataSource,
|
|
496
497
|
onScroll,
|
|
497
|
-
groups
|
|
498
|
+
groups,
|
|
499
|
+
expandedRowRender
|
|
498
500
|
} = this.props;
|
|
499
501
|
|
|
500
502
|
const x = _get(scroll, 'x');
|
|
@@ -538,6 +540,11 @@ class Body extends BaseComponent {
|
|
|
538
540
|
onWheel: handleWheel,
|
|
539
541
|
onScroll: handleBodyScroll
|
|
540
542
|
}, /*#__PURE__*/React.createElement(Table, {
|
|
543
|
+
role: _isMap(groups) || _isFunction(expandedRowRender) || isTreeTable({
|
|
544
|
+
dataSource
|
|
545
|
+
}) ? 'treegrid' : 'grid',
|
|
546
|
+
"aria-rowcount": dataSource && dataSource.length,
|
|
547
|
+
"aria-colcount": columns && columns.length,
|
|
541
548
|
style: tableStyle,
|
|
542
549
|
className: classnames(prefixCls, {
|
|
543
550
|
["".concat(prefixCls, "-fixed")]: anyColumnFixed
|
|
@@ -154,6 +154,10 @@ export default function ColumnFilter() {
|
|
|
154
154
|
iconElem = /*#__PURE__*/React.createElement("div", {
|
|
155
155
|
className: finalCls
|
|
156
156
|
}, /*#__PURE__*/React.createElement(IconFilter, {
|
|
157
|
+
role: "button",
|
|
158
|
+
"aria-label": "Filter data with this column",
|
|
159
|
+
"aria-haspopup": "listbox",
|
|
160
|
+
tabIndex: -1,
|
|
157
161
|
size: "small"
|
|
158
162
|
}));
|
|
159
163
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import BaseComponent from '../_base/baseComponent';
|
|
2
3
|
import PropTypes from 'prop-types';
|
|
3
4
|
import { TableSelectionCellAdapter, TableSelectionCellEvent } from '@douyinfe/semi-foundation/lib/es/table/tableSelectionCellFoundation';
|
|
@@ -12,6 +13,7 @@ export interface TableSelectionCellProps {
|
|
|
12
13
|
indeterminate?: boolean;
|
|
13
14
|
prefixCls?: string;
|
|
14
15
|
className?: string;
|
|
16
|
+
'aria-label'?: React.AriaAttributes['aria-label'];
|
|
15
17
|
}
|
|
16
18
|
/**
|
|
17
19
|
* render selection cell
|
|
@@ -27,6 +29,7 @@ export default class TableSelectionCell extends BaseComponent<TableSelectionCell
|
|
|
27
29
|
indeterminate: PropTypes.Requireable<boolean>;
|
|
28
30
|
prefixCls: PropTypes.Requireable<string>;
|
|
29
31
|
className: PropTypes.Requireable<string>;
|
|
32
|
+
'aria-label': PropTypes.Requireable<string>;
|
|
30
33
|
};
|
|
31
34
|
static defaultProps: {
|
|
32
35
|
disabled: boolean;
|
|
@@ -41,6 +41,7 @@ export default class TableSelectionCell extends BaseComponent {
|
|
|
41
41
|
prefixCls,
|
|
42
42
|
className
|
|
43
43
|
} = this.props;
|
|
44
|
+
const ariaLabel = this.props['aria-label'];
|
|
44
45
|
let checkboxProps = {
|
|
45
46
|
onChange: this.handleChange,
|
|
46
47
|
disabled,
|
|
@@ -57,7 +58,9 @@ export default class TableSelectionCell extends BaseComponent {
|
|
|
57
58
|
}, className);
|
|
58
59
|
return /*#__PURE__*/React.createElement("span", {
|
|
59
60
|
className: wrapCls
|
|
60
|
-
}, /*#__PURE__*/React.createElement(Checkbox, _Object$assign({
|
|
61
|
+
}, /*#__PURE__*/React.createElement(Checkbox, _Object$assign({
|
|
62
|
+
"aria-label": ariaLabel
|
|
63
|
+
}, checkboxProps)));
|
|
61
64
|
}
|
|
62
65
|
|
|
63
66
|
}
|
|
@@ -70,7 +73,8 @@ TableSelectionCell.propTypes = {
|
|
|
70
73
|
disabled: PropTypes.bool,
|
|
71
74
|
indeterminate: PropTypes.bool,
|
|
72
75
|
prefixCls: PropTypes.string,
|
|
73
|
-
className: PropTypes.string
|
|
76
|
+
className: PropTypes.string,
|
|
77
|
+
'aria-label': PropTypes.string
|
|
74
78
|
};
|
|
75
79
|
TableSelectionCell.defaultProps = {
|
|
76
80
|
disabled: false,
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import _noop from "lodash/noop";
|
|
2
|
+
import _Object$assign from "@babel/runtime-corejs3/core-js-stable/object/assign";
|
|
2
3
|
import React, { PureComponent } from 'react';
|
|
3
4
|
import PropTypes from 'prop-types';
|
|
4
5
|
import cls from 'classnames';
|
|
5
6
|
import { IconCaretup, IconCaretdown } from '@douyinfe/semi-icons';
|
|
6
7
|
import { cssClasses, strings } from '@douyinfe/semi-foundation/lib/es/table/constants';
|
|
8
|
+
import isEnterPress from '@douyinfe/semi-foundation/lib/es/utils/isEnterPress';
|
|
7
9
|
export default class ColumnSorter extends PureComponent {
|
|
8
10
|
render() {
|
|
9
11
|
const {
|
|
@@ -19,11 +21,23 @@ export default class ColumnSorter extends PureComponent {
|
|
|
19
21
|
const downCls = cls("".concat(prefixCls, "-column-sorter-down"), {
|
|
20
22
|
on: sortOrder === strings.SORT_DIRECTIONS[1]
|
|
21
23
|
});
|
|
22
|
-
|
|
24
|
+
const ariaProps = {
|
|
25
|
+
/**
|
|
26
|
+
* Set 'aria-sort' to aria-columnheader is difficult, so set 'aria-label' about sort info to sorter
|
|
27
|
+
* reference: https://developer.mozilla.org/en-US/docs/Web/API/Element/ariaSort
|
|
28
|
+
*/
|
|
29
|
+
'aria-label': "Current sort order is ".concat(sortOrder ? "".concat(sortOrder, "ing") : 'none'),
|
|
30
|
+
'aria-roledescription': 'Sort data with this column'
|
|
31
|
+
};
|
|
32
|
+
return /*#__PURE__*/React.createElement("div", _Object$assign({
|
|
33
|
+
role: 'button'
|
|
34
|
+
}, ariaProps, {
|
|
35
|
+
tabIndex: -1,
|
|
23
36
|
style: style,
|
|
24
37
|
className: "".concat(prefixCls, "-column-sorter"),
|
|
25
|
-
onClick: onClick
|
|
26
|
-
|
|
38
|
+
onClick: onClick,
|
|
39
|
+
onKeyPress: e => isEnterPress(e) && onClick(e)
|
|
40
|
+
}), /*#__PURE__*/React.createElement("span", {
|
|
27
41
|
className: "".concat(upCls)
|
|
28
42
|
}, /*#__PURE__*/React.createElement(IconCaretup, {
|
|
29
43
|
size: iconBtnSize
|
|
@@ -5,6 +5,7 @@ import React, { useCallback } from 'react';
|
|
|
5
5
|
import PropTypes from 'prop-types';
|
|
6
6
|
import { IconChevronRight, IconChevronDown, IconTreeTriangleDown, IconTreeTriangleRight } from '@douyinfe/semi-icons';
|
|
7
7
|
import { cssClasses } from '@douyinfe/semi-foundation/lib/es/table/constants';
|
|
8
|
+
import isEnterPress from '@douyinfe/semi-foundation/lib/es/utils/isEnterPress';
|
|
8
9
|
import Rotate from '../motions/Rotate';
|
|
9
10
|
/**
|
|
10
11
|
* render expand icon
|
|
@@ -51,10 +52,14 @@ export default function CustomExpandIcon(props) {
|
|
|
51
52
|
}
|
|
52
53
|
|
|
53
54
|
return /*#__PURE__*/React.createElement("span", {
|
|
55
|
+
role: "button",
|
|
56
|
+
"aria-label": "Expand this row",
|
|
57
|
+
tabIndex: -1,
|
|
54
58
|
onClick: handleClick,
|
|
55
59
|
onMouseEnter: onMouseEnter,
|
|
56
60
|
onMouseLeave: onMouseLeave,
|
|
57
|
-
className: "".concat(prefixCls, "-expand-icon")
|
|
61
|
+
className: "".concat(prefixCls, "-expand-icon"),
|
|
62
|
+
onKeyPress: e => isEnterPress(e) && handleClick(e)
|
|
58
63
|
}, icon);
|
|
59
64
|
}
|
|
60
65
|
CustomExpandIcon.propTypes = {
|
package/lib/es/table/Table.d.ts
CHANGED
|
@@ -31,6 +31,7 @@ export interface NormalTableState<RecordType extends Record<string, any> = Data>
|
|
|
31
31
|
bodyHasScrollBar?: boolean;
|
|
32
32
|
prePropRowSelection?: TableStateRowSelection<RecordType>;
|
|
33
33
|
tableWidth?: number;
|
|
34
|
+
prePagination?: Pagination;
|
|
34
35
|
}
|
|
35
36
|
export declare type TableStateRowSelection<RecordType extends Record<string, any> = Data> = (RowSelectionProps<RecordType> & {
|
|
36
37
|
selectedRowKeysSet?: Set<(string | number)>;
|
|
@@ -229,6 +230,7 @@ declare class Table<RecordType extends Record<string, any>> extends BaseComponen
|
|
|
229
230
|
/**
|
|
230
231
|
* render pagination
|
|
231
232
|
* @param {object} pagination
|
|
233
|
+
* @param {object} propRenderPagination
|
|
232
234
|
*/
|
|
233
235
|
renderPagination: (pagination: TablePaginationProps, propRenderPagination: RenderPagination) => JSX.Element;
|
|
234
236
|
renderTitle: (props?: {
|