@douyinfe/semi-ui 2.2.0 → 2.3.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/_base/_story/a11y.scss +0 -1
- package/_base/_story/index.scss +2 -5
- 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/index.tsx +6 -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 +19 -12
- package/checkbox/checkbox.tsx +40 -5
- package/checkbox/checkboxGroup.tsx +30 -5
- package/checkbox/checkboxInner.tsx +25 -2
- package/collapse/index.tsx +1 -1
- package/collapse/item.tsx +12 -7
- 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 +2768 -1501
- 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 +4 -4
- 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/index.d.ts +4 -3
- package/lib/cjs/avatar/index.js +15 -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/item.d.ts +2 -1
- package/lib/cjs/collapse/item.js +12 -2
- 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/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 +4 -1
- 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 +3 -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 +0 -1
- 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 +26 -7
- 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/index.d.ts +4 -3
- package/lib/es/avatar/index.js +15 -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/item.d.ts +2 -1
- package/lib/es/collapse/item.js +11 -2
- 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/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 +4 -1
- 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 +3 -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 +0 -1
- 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 +26 -7
- 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 +6 -4
- 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 +4 -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 +0 -1
- 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 +51 -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 +14 -16
- package/upload/index.tsx +10 -6
|
@@ -4,6 +4,11 @@ import { SwitchAdapter } from '@douyinfe/semi-foundation/lib/cjs/switch/foundati
|
|
|
4
4
|
import BaseComponent from '../_base/baseComponent';
|
|
5
5
|
import '@douyinfe/semi-foundation/lib/cjs/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/cjs/switch/index.js
CHANGED
|
@@ -30,7 +30,7 @@ require("@douyinfe/semi-foundation/lib/cjs/switch/switch.css");
|
|
|
30
30
|
|
|
31
31
|
var _spin = _interopRequireDefault(require("../spin"));
|
|
32
32
|
|
|
33
|
-
/* eslint-disable max-len */
|
|
33
|
+
/* eslint-disable max-len, jsx-a11y/role-supports-aria-props */
|
|
34
34
|
class Switch extends _baseComponent.default {
|
|
35
35
|
constructor(props) {
|
|
36
36
|
super(props);
|
|
@@ -91,7 +91,8 @@ class Switch extends _baseComponent.default {
|
|
|
91
91
|
size,
|
|
92
92
|
checkedText,
|
|
93
93
|
uncheckedText,
|
|
94
|
-
loading
|
|
94
|
+
loading,
|
|
95
|
+
id
|
|
95
96
|
} = this.props;
|
|
96
97
|
const wrapperCls = (0, _classnames.default)(className, {
|
|
97
98
|
[_constants.cssClasses.PREFIX]: true,
|
|
@@ -119,13 +120,21 @@ class Switch extends _baseComponent.default {
|
|
|
119
120
|
wrapperClassName: _constants.cssClasses.LOADING_SPIN,
|
|
120
121
|
size: size === 'default' ? 'middle' : size
|
|
121
122
|
}) : /*#__PURE__*/_react.default.createElement("div", {
|
|
122
|
-
className: _constants.cssClasses.KNOB
|
|
123
|
+
className: _constants.cssClasses.KNOB,
|
|
124
|
+
"aria-hidden": true
|
|
123
125
|
}), showCheckedText ? /*#__PURE__*/_react.default.createElement("div", {
|
|
124
126
|
className: _constants.cssClasses.CHECKED_TEXT
|
|
125
127
|
}, checkedText) : null, showUncheckedText ? /*#__PURE__*/_react.default.createElement("div", {
|
|
126
128
|
className: _constants.cssClasses.UNCHECKED_TEXT
|
|
127
129
|
}, uncheckedText) : null, /*#__PURE__*/_react.default.createElement("input", (0, _assign.default)({}, switchProps, {
|
|
128
130
|
ref: this.switchRef,
|
|
131
|
+
id: id,
|
|
132
|
+
"aria-checked": nativeControlChecked,
|
|
133
|
+
"aria-invalid": this.props['aria-invalid'],
|
|
134
|
+
"aria-errormessage": this.props['aria-errormessage'],
|
|
135
|
+
"aria-label": this.props['aria-label'],
|
|
136
|
+
"aria-labelledby": this.props['aria-labelledby'],
|
|
137
|
+
"aria-describedby": this.props["aria-describedby"],
|
|
129
138
|
onChange: e => this.foundation.handleChange(e.target.checked, e)
|
|
130
139
|
})));
|
|
131
140
|
}
|
|
@@ -133,6 +142,11 @@ class Switch extends _baseComponent.default {
|
|
|
133
142
|
}
|
|
134
143
|
|
|
135
144
|
Switch.propTypes = {
|
|
145
|
+
'aria-label': _propTypes.default.string,
|
|
146
|
+
'aria-labelledby': _propTypes.default.string,
|
|
147
|
+
'aria-invalid': _propTypes.default.bool,
|
|
148
|
+
'aria-errormessage': _propTypes.default.string,
|
|
149
|
+
'aria-describedby': _propTypes.default.string,
|
|
136
150
|
className: _propTypes.default.string,
|
|
137
151
|
checked: _propTypes.default.bool,
|
|
138
152
|
checkedText: _propTypes.default.node,
|
|
@@ -144,7 +158,8 @@ Switch.propTypes = {
|
|
|
144
158
|
onMouseLeave: _propTypes.default.func,
|
|
145
159
|
style: _propTypes.default.object,
|
|
146
160
|
size: _propTypes.default.oneOf(_constants.strings.SIZE_MAP),
|
|
147
|
-
uncheckedText: _propTypes.default.node
|
|
161
|
+
uncheckedText: _propTypes.default.node,
|
|
162
|
+
id: _propTypes.default.string
|
|
148
163
|
};
|
|
149
164
|
Switch.defaultProps = {
|
|
150
165
|
disabled: false,
|
|
@@ -217,6 +217,7 @@ class TableRow extends _baseComponent.default {
|
|
|
217
217
|
if ((0, _utils.isExpandedColumn)(column) && !displayExpandedColumn) {
|
|
218
218
|
cells.push( /*#__PURE__*/_react.default.createElement(_TableCell.default, {
|
|
219
219
|
key: columnIndex,
|
|
220
|
+
colIndex: columnIndex,
|
|
220
221
|
isSection: isSection
|
|
221
222
|
}));
|
|
222
223
|
} else if (!(0, _utils.isScrollbarColumn)(column)) {
|
|
@@ -226,7 +227,9 @@ class TableRow extends _baseComponent.default {
|
|
|
226
227
|
diyProps.width = (0, _get2.default)(cellWidths, columnIndex);
|
|
227
228
|
}
|
|
228
229
|
|
|
229
|
-
cells.push( /*#__PURE__*/_react.default.createElement(_TableCell.default, (0, _assign.default)({
|
|
230
|
+
cells.push( /*#__PURE__*/_react.default.createElement(_TableCell.default, (0, _assign.default)({
|
|
231
|
+
colIndex: columnIndex
|
|
232
|
+
}, expandableProps, diyProps, {
|
|
230
233
|
hideExpandedColumn: hideExpandedColumn,
|
|
231
234
|
indentSize: indentSize,
|
|
232
235
|
isSection: isSection,
|
|
@@ -264,7 +267,11 @@ class TableRow extends _baseComponent.default {
|
|
|
264
267
|
replaceClassName,
|
|
265
268
|
record,
|
|
266
269
|
hovered,
|
|
267
|
-
expanded
|
|
270
|
+
expanded,
|
|
271
|
+
expandableRow,
|
|
272
|
+
level,
|
|
273
|
+
expandedRow,
|
|
274
|
+
isSection
|
|
268
275
|
} = this.props;
|
|
269
276
|
const BodyRow = components.body.row;
|
|
270
277
|
|
|
@@ -282,7 +289,32 @@ class TableRow extends _baseComponent.default {
|
|
|
282
289
|
["".concat(prefixCls, "-row-expanded")]: expanded,
|
|
283
290
|
["".concat(prefixCls, "-row-hovered")]: hovered
|
|
284
291
|
}, customClassName);
|
|
285
|
-
|
|
292
|
+
const ariaProps = {};
|
|
293
|
+
|
|
294
|
+
if (typeof index === 'number') {
|
|
295
|
+
ariaProps['aria-rowindex'] = index + 1;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
if (expandableRow) {
|
|
299
|
+
ariaProps['aria-expanded'] = expanded;
|
|
300
|
+
} // if row is expandedRow, set it's level to 2
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
if (expanded || expandedRow) {
|
|
304
|
+
ariaProps['aria-level'] = 2;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
if (typeof level === 'number') {
|
|
308
|
+
ariaProps['aria-level'] = level + 1;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
if (isSection) {
|
|
312
|
+
ariaProps['aria-level'] = 1;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
return /*#__PURE__*/_react.default.createElement(BodyRow, (0, _assign.default)({
|
|
316
|
+
role: "row"
|
|
317
|
+
}, ariaProps, rowProps, {
|
|
286
318
|
style: baseRowStyle,
|
|
287
319
|
className: rowCls,
|
|
288
320
|
ref: this._cacheNode,
|
|
@@ -30,6 +30,8 @@ var _set = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable
|
|
|
30
30
|
|
|
31
31
|
var _setTimeout2 = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/set-timeout"));
|
|
32
32
|
|
|
33
|
+
var _isFunction2 = _interopRequireDefault(require("lodash/isFunction"));
|
|
34
|
+
|
|
33
35
|
var _isNull2 = _interopRequireDefault(require("lodash/isNull"));
|
|
34
36
|
|
|
35
37
|
var _pick2 = _interopRequireDefault(require("lodash/pick"));
|
|
@@ -517,7 +519,8 @@ class Body extends _baseComponent.default {
|
|
|
517
519
|
includeHeader,
|
|
518
520
|
dataSource,
|
|
519
521
|
onScroll,
|
|
520
|
-
groups
|
|
522
|
+
groups,
|
|
523
|
+
expandedRowRender
|
|
521
524
|
} = this.props;
|
|
522
525
|
const x = (0, _get2.default)(scroll, 'x');
|
|
523
526
|
const y = (0, _get2.default)(scroll, 'y');
|
|
@@ -558,6 +561,11 @@ class Body extends _baseComponent.default {
|
|
|
558
561
|
onWheel: handleWheel,
|
|
559
562
|
onScroll: handleBodyScroll
|
|
560
563
|
}, /*#__PURE__*/_react.default.createElement(Table, {
|
|
564
|
+
role: (0, _isMap2.default)(groups) || (0, _isFunction2.default)(expandedRowRender) || (0, _utils.isTreeTable)({
|
|
565
|
+
dataSource
|
|
566
|
+
}) ? 'treegrid' : 'grid',
|
|
567
|
+
"aria-rowcount": dataSource && dataSource.length,
|
|
568
|
+
"aria-colcount": columns && columns.length,
|
|
561
569
|
style: tableStyle,
|
|
562
570
|
className: (0, _classnames.default)(prefixCls, {
|
|
563
571
|
["".concat(prefixCls, "-fixed")]: anyColumnFixed
|
|
@@ -180,6 +180,10 @@ function ColumnFilter() {
|
|
|
180
180
|
iconElem = /*#__PURE__*/_react.default.createElement("div", {
|
|
181
181
|
className: finalCls
|
|
182
182
|
}, /*#__PURE__*/_react.default.createElement(_semiIcons.IconFilter, {
|
|
183
|
+
role: "button",
|
|
184
|
+
"aria-label": "Filter data with this column",
|
|
185
|
+
"aria-haspopup": "listbox",
|
|
186
|
+
tabIndex: -1,
|
|
183
187
|
size: "small"
|
|
184
188
|
}));
|
|
185
189
|
}
|
|
@@ -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/cjs/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;
|
|
@@ -61,6 +61,7 @@ class TableSelectionCell extends _baseComponent.default {
|
|
|
61
61
|
prefixCls,
|
|
62
62
|
className
|
|
63
63
|
} = this.props;
|
|
64
|
+
const ariaLabel = this.props['aria-label'];
|
|
64
65
|
let checkboxProps = {
|
|
65
66
|
onChange: this.handleChange,
|
|
66
67
|
disabled,
|
|
@@ -77,7 +78,9 @@ class TableSelectionCell extends _baseComponent.default {
|
|
|
77
78
|
}, className);
|
|
78
79
|
return /*#__PURE__*/_react.default.createElement("span", {
|
|
79
80
|
className: wrapCls
|
|
80
|
-
}, /*#__PURE__*/_react.default.createElement(_checkbox.Checkbox, (0, _assign.default)({
|
|
81
|
+
}, /*#__PURE__*/_react.default.createElement(_checkbox.Checkbox, (0, _assign.default)({
|
|
82
|
+
"aria-label": ariaLabel
|
|
83
|
+
}, checkboxProps)));
|
|
81
84
|
}
|
|
82
85
|
|
|
83
86
|
}
|
|
@@ -92,7 +95,8 @@ TableSelectionCell.propTypes = {
|
|
|
92
95
|
disabled: _propTypes.default.bool,
|
|
93
96
|
indeterminate: _propTypes.default.bool,
|
|
94
97
|
prefixCls: _propTypes.default.string,
|
|
95
|
-
className: _propTypes.default.string
|
|
98
|
+
className: _propTypes.default.string,
|
|
99
|
+
'aria-label': _propTypes.default.string
|
|
96
100
|
};
|
|
97
101
|
TableSelectionCell.defaultProps = {
|
|
98
102
|
disabled: false,
|
|
@@ -14,6 +14,8 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
14
14
|
|
|
15
15
|
exports.default = void 0;
|
|
16
16
|
|
|
17
|
+
var _assign = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/assign"));
|
|
18
|
+
|
|
17
19
|
var _noop2 = _interopRequireDefault(require("lodash/noop"));
|
|
18
20
|
|
|
19
21
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -26,6 +28,8 @@ var _semiIcons = require("@douyinfe/semi-icons");
|
|
|
26
28
|
|
|
27
29
|
var _constants = require("@douyinfe/semi-foundation/lib/cjs/table/constants");
|
|
28
30
|
|
|
31
|
+
var _isEnterPress = _interopRequireDefault(require("@douyinfe/semi-foundation/lib/cjs/utils/isEnterPress"));
|
|
32
|
+
|
|
29
33
|
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
30
34
|
|
|
31
35
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = _Object$defineProperty && _Object$getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? _Object$getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { _Object$defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -45,11 +49,23 @@ class ColumnSorter extends _react.PureComponent {
|
|
|
45
49
|
const downCls = (0, _classnames.default)("".concat(prefixCls, "-column-sorter-down"), {
|
|
46
50
|
on: sortOrder === _constants.strings.SORT_DIRECTIONS[1]
|
|
47
51
|
});
|
|
48
|
-
|
|
52
|
+
const ariaProps = {
|
|
53
|
+
/**
|
|
54
|
+
* Set 'aria-sort' to aria-columnheader is difficult, so set 'aria-label' about sort info to sorter
|
|
55
|
+
* reference: https://developer.mozilla.org/en-US/docs/Web/API/Element/ariaSort
|
|
56
|
+
*/
|
|
57
|
+
'aria-label': "Current sort order is ".concat(sortOrder ? "".concat(sortOrder, "ing") : 'none'),
|
|
58
|
+
'aria-roledescription': 'Sort data with this column'
|
|
59
|
+
};
|
|
60
|
+
return /*#__PURE__*/_react.default.createElement("div", (0, _assign.default)({
|
|
61
|
+
role: 'button'
|
|
62
|
+
}, ariaProps, {
|
|
63
|
+
tabIndex: -1,
|
|
49
64
|
style: style,
|
|
50
65
|
className: "".concat(prefixCls, "-column-sorter"),
|
|
51
|
-
onClick: onClick
|
|
52
|
-
|
|
66
|
+
onClick: onClick,
|
|
67
|
+
onKeyPress: e => (0, _isEnterPress.default)(e) && onClick(e)
|
|
68
|
+
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
53
69
|
className: "".concat(upCls)
|
|
54
70
|
}, /*#__PURE__*/_react.default.createElement(_semiIcons.IconCaretup, {
|
|
55
71
|
size: iconBtnSize
|
|
@@ -24,6 +24,8 @@ var _semiIcons = require("@douyinfe/semi-icons");
|
|
|
24
24
|
|
|
25
25
|
var _constants = require("@douyinfe/semi-foundation/lib/cjs/table/constants");
|
|
26
26
|
|
|
27
|
+
var _isEnterPress = _interopRequireDefault(require("@douyinfe/semi-foundation/lib/cjs/utils/isEnterPress"));
|
|
28
|
+
|
|
27
29
|
var _Rotate = _interopRequireDefault(require("../motions/Rotate"));
|
|
28
30
|
|
|
29
31
|
function _getRequireWildcardCache(nodeInterop) { if (typeof _WeakMap !== "function") return null; var cacheBabelInterop = new _WeakMap(); var cacheNodeInterop = new _WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -76,10 +78,14 @@ function CustomExpandIcon(props) {
|
|
|
76
78
|
}
|
|
77
79
|
|
|
78
80
|
return /*#__PURE__*/_react.default.createElement("span", {
|
|
81
|
+
role: "button",
|
|
82
|
+
"aria-label": "Expand this row",
|
|
83
|
+
tabIndex: -1,
|
|
79
84
|
onClick: handleClick,
|
|
80
85
|
onMouseEnter: onMouseEnter,
|
|
81
86
|
onMouseLeave: onMouseLeave,
|
|
82
|
-
className: "".concat(prefixCls, "-expand-icon")
|
|
87
|
+
className: "".concat(prefixCls, "-expand-icon"),
|
|
88
|
+
onKeyPress: e => (0, _isEnterPress.default)(e) && handleClick(e)
|
|
83
89
|
}, icon);
|
|
84
90
|
}
|
|
85
91
|
|
package/lib/cjs/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?: {
|
package/lib/cjs/table/Table.js
CHANGED
|
@@ -397,6 +397,7 @@ class Table extends _baseComponent.default {
|
|
|
397
397
|
const hasRowSelected = _this.foundation.hasRowSelected(selectedRowKeys, allRowKeysSet);
|
|
398
398
|
|
|
399
399
|
return /*#__PURE__*/_react.default.createElement(_ColumnSelection.default, {
|
|
400
|
+
"aria-label": "".concat(allIsSelected ? 'Deselect' : 'Select', " all rows"),
|
|
400
401
|
disabled: disabled,
|
|
401
402
|
key: columnKey,
|
|
402
403
|
selected: allIsSelected,
|
|
@@ -413,6 +414,7 @@ class Table extends _baseComponent.default {
|
|
|
413
414
|
const checkboxPropsFn = () => typeof getCheckboxProps === 'function' ? getCheckboxProps(record) : {};
|
|
414
415
|
|
|
415
416
|
return /*#__PURE__*/_react.default.createElement(_ColumnSelection.default, {
|
|
417
|
+
"aria-label": "".concat(selected ? 'Deselect' : 'Select', " this row"),
|
|
416
418
|
getCheckboxProps: checkboxPropsFn,
|
|
417
419
|
selected: selected,
|
|
418
420
|
onChange: (status, e) => _this.toggleSelectRow(status, key, e)
|
|
@@ -597,6 +599,7 @@ class Table extends _baseComponent.default {
|
|
|
597
599
|
/**
|
|
598
600
|
* render pagination
|
|
599
601
|
* @param {object} pagination
|
|
602
|
+
* @param {object} propRenderPagination
|
|
600
603
|
*/
|
|
601
604
|
|
|
602
605
|
|
|
@@ -900,7 +903,8 @@ class Table extends _baseComponent.default {
|
|
|
900
903
|
disabledRowKeysSet: new _set.default(),
|
|
901
904
|
headWidths: [],
|
|
902
905
|
bodyHasScrollBar: false,
|
|
903
|
-
prePropRowSelection: undefined
|
|
906
|
+
prePropRowSelection: undefined,
|
|
907
|
+
prePagination: undefined
|
|
904
908
|
};
|
|
905
909
|
this.rootWrapRef = /*#__PURE__*/(0, _react.createRef)();
|
|
906
910
|
this.wrapRef = /*#__PURE__*/(0, _react.createRef)(); // table's outside wrap
|
|
@@ -1138,7 +1142,8 @@ class Table extends _baseComponent.default {
|
|
|
1138
1142
|
rowSelection,
|
|
1139
1143
|
dataSource,
|
|
1140
1144
|
childrenRecordName,
|
|
1141
|
-
rowKey
|
|
1145
|
+
rowKey,
|
|
1146
|
+
pagination
|
|
1142
1147
|
} = props;
|
|
1143
1148
|
props.columns && props.children && _utils2.logger.warn('columns should not given by object and children at the same time');
|
|
1144
1149
|
|
|
@@ -1192,6 +1197,21 @@ class Table extends _baseComponent.default {
|
|
|
1192
1197
|
willUpdateStates.prePropRowSelection = rowSelection;
|
|
1193
1198
|
}
|
|
1194
1199
|
|
|
1200
|
+
if (pagination !== state.prePagination) {
|
|
1201
|
+
let newPagination = {};
|
|
1202
|
+
|
|
1203
|
+
if ((0, _isObject2.default)(state.pagination)) {
|
|
1204
|
+
newPagination = (0, _assign.default)((0, _assign.default)({}, newPagination), state.pagination);
|
|
1205
|
+
}
|
|
1206
|
+
|
|
1207
|
+
if ((0, _isObject2.default)(pagination)) {
|
|
1208
|
+
newPagination = (0, _assign.default)((0, _assign.default)({}, newPagination), pagination);
|
|
1209
|
+
}
|
|
1210
|
+
|
|
1211
|
+
willUpdateStates.pagination = newPagination;
|
|
1212
|
+
willUpdateStates.prePagination = pagination;
|
|
1213
|
+
}
|
|
1214
|
+
|
|
1195
1215
|
return willUpdateStates;
|
|
1196
1216
|
}
|
|
1197
1217
|
|
|
@@ -1207,15 +1227,16 @@ class Table extends _baseComponent.default {
|
|
|
1207
1227
|
|
|
1208
1228
|
componentDidUpdate(prevProps, prevState) {
|
|
1209
1229
|
const {
|
|
1210
|
-
pagination,
|
|
1211
1230
|
dataSource,
|
|
1212
1231
|
expandedRowKeys,
|
|
1213
1232
|
expandAllRows,
|
|
1214
1233
|
expandAllGroupRows,
|
|
1215
1234
|
virtualized,
|
|
1216
|
-
components
|
|
1235
|
+
components,
|
|
1236
|
+
pagination: propsPagination
|
|
1217
1237
|
} = this.props;
|
|
1218
1238
|
const {
|
|
1239
|
+
pagination: statePagination,
|
|
1219
1240
|
queries: stateQueries,
|
|
1220
1241
|
cachedColumns: stateCachedColumns,
|
|
1221
1242
|
cachedChildren: stateCachedChildren,
|
|
@@ -1259,11 +1280,6 @@ class Table extends _baseComponent.default {
|
|
|
1259
1280
|
this.foundation.initExpandedRowKeys({
|
|
1260
1281
|
groups: stateGroups
|
|
1261
1282
|
});
|
|
1262
|
-
} // Update pagination
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
if (pagination !== prevProps.pagination) {
|
|
1266
|
-
states.pagination = (0, _isObject2.default)(pagination) ? (0, _assign.default)({}, pagination) : pagination;
|
|
1267
1283
|
}
|
|
1268
1284
|
/**
|
|
1269
1285
|
* After dataSource is updated || (cachedColumns || cachedChildren updated)
|
|
@@ -1278,11 +1294,11 @@ class Table extends _baseComponent.default {
|
|
|
1278
1294
|
const _dataSource = [...dataSource];
|
|
1279
1295
|
const filteredSortedDataSource = this.foundation.getFilteredSortedDataSource(_dataSource, stateQueries);
|
|
1280
1296
|
this.foundation.setCachedFilteredSortedDataSource(filteredSortedDataSource);
|
|
1281
|
-
states.dataSource = filteredSortedDataSource;
|
|
1297
|
+
states.dataSource = filteredSortedDataSource; // when dataSource has change, should reset currentPage
|
|
1282
1298
|
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
}
|
|
1299
|
+
states.pagination = (0, _isObject2.default)(statePagination) ? (0, _assign.default)((0, _assign.default)({}, statePagination), {
|
|
1300
|
+
currentPage: (0, _isObject2.default)(propsPagination) && propsPagination.currentPage ? propsPagination.currentPage : 1
|
|
1301
|
+
}) : statePagination;
|
|
1286
1302
|
|
|
1287
1303
|
if (this.props.groupBy) {
|
|
1288
1304
|
states.groups = null;
|
|
@@ -1292,11 +1308,11 @@ class Table extends _baseComponent.default {
|
|
|
1292
1308
|
if ((0, _keys.default)(states).length) {
|
|
1293
1309
|
const {
|
|
1294
1310
|
// eslint-disable-next-line @typescript-eslint/no-shadow
|
|
1311
|
+
pagination: mergedStatePagination = null,
|
|
1295
1312
|
queries: stateQueries = null,
|
|
1296
|
-
pagination: statePagination = null,
|
|
1297
1313
|
dataSource: stateDataSource = null
|
|
1298
1314
|
} = states;
|
|
1299
|
-
const handledProps = this.foundation.getCurrentPageData(stateDataSource,
|
|
1315
|
+
const handledProps = this.foundation.getCurrentPageData(stateDataSource, mergedStatePagination, stateQueries); // After the pager is updated, reset allRowKeys of the current page
|
|
1300
1316
|
|
|
1301
1317
|
this.adapter.setAllRowKeys(handledProps.allRowKeys);
|
|
1302
1318
|
this.adapter.setDisabledRowKeys(handledProps.disabledRowKeys);
|
|
@@ -31,6 +31,7 @@ export interface TableCellProps extends BaseProps {
|
|
|
31
31
|
selected?: boolean;
|
|
32
32
|
expanded?: boolean;
|
|
33
33
|
disabled?: boolean;
|
|
34
|
+
colIndex?: number;
|
|
34
35
|
}
|
|
35
36
|
export default class TableCell extends BaseComponent<TableCellProps, Record<string, any>> {
|
|
36
37
|
static contextType: React.Context<import("./table-context").TableContextProps>;
|
|
@@ -65,6 +66,7 @@ export default class TableCell extends BaseComponent<TableCellProps, Record<stri
|
|
|
65
66
|
height: PropTypes.Requireable<string | number>;
|
|
66
67
|
selected: PropTypes.Requireable<boolean>;
|
|
67
68
|
expanded: PropTypes.Requireable<boolean>;
|
|
69
|
+
colIndex: PropTypes.Requireable<number>;
|
|
68
70
|
};
|
|
69
71
|
get adapter(): TableCellAdapter;
|
|
70
72
|
ref: React.MutableRefObject<any>;
|
|
@@ -320,7 +320,8 @@ class TableCell extends _baseComponent.default {
|
|
|
320
320
|
fixedLeft,
|
|
321
321
|
fixedRight,
|
|
322
322
|
lastFixedLeft,
|
|
323
|
-
firstFixedRight
|
|
323
|
+
firstFixedRight,
|
|
324
|
+
colIndex
|
|
324
325
|
} = this.props;
|
|
325
326
|
const {
|
|
326
327
|
className
|
|
@@ -359,6 +360,8 @@ class TableCell extends _baseComponent.default {
|
|
|
359
360
|
["".concat(prefixCls, "-cell-fixed-right-first")]: firstFixedRight
|
|
360
361
|
});
|
|
361
362
|
return /*#__PURE__*/_react.default.createElement(BodyCell, (0, _assign.default)({
|
|
363
|
+
role: "gridcell",
|
|
364
|
+
"aria-colindex": colIndex + 1,
|
|
362
365
|
className: columnCls,
|
|
363
366
|
onClick: this.handleClick
|
|
364
367
|
}, newTdProps, {
|
|
@@ -400,5 +403,6 @@ TableCell.propTypes = {
|
|
|
400
403
|
width: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
|
|
401
404
|
height: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
|
|
402
405
|
selected: _propTypes.default.bool,
|
|
403
|
-
expanded: _propTypes.default.bool
|
|
406
|
+
expanded: _propTypes.default.bool,
|
|
407
|
+
colIndex: _propTypes.default.number
|
|
404
408
|
};
|
|
@@ -178,12 +178,18 @@ class TableHeaderRow extends _baseComponent.default {
|
|
|
178
178
|
return null;
|
|
179
179
|
}
|
|
180
180
|
|
|
181
|
-
return /*#__PURE__*/_react.default.createElement(HeaderCell, (0, _assign.default)({
|
|
181
|
+
return /*#__PURE__*/_react.default.createElement(HeaderCell, (0, _assign.default)({
|
|
182
|
+
role: "columnheader",
|
|
183
|
+
"aria-colindex": cellIndex + 1
|
|
184
|
+
}, props, {
|
|
182
185
|
style: cellStyle,
|
|
183
186
|
key: column.key || column.dataIndex || cellIndex
|
|
184
187
|
}));
|
|
185
188
|
});
|
|
186
|
-
return /*#__PURE__*/_react.default.createElement(HeaderRow, (0, _assign.default)({
|
|
189
|
+
return /*#__PURE__*/_react.default.createElement(HeaderRow, (0, _assign.default)({
|
|
190
|
+
role: "row",
|
|
191
|
+
"aria-rowindex": index + 1
|
|
192
|
+
}, rowProps, {
|
|
187
193
|
style: style,
|
|
188
194
|
ref: this.cacheRef
|
|
189
195
|
}), cells);
|
package/lib/cjs/tabs/TabBar.js
CHANGED
|
@@ -83,6 +83,8 @@ class TabBar extends _react.default.Component {
|
|
|
83
83
|
} = this.props;
|
|
84
84
|
const panelIcon = panel.icon ? this.renderIcon(panel.icon) : null;
|
|
85
85
|
const closableIcon = type === 'card' && panel.closable ? /*#__PURE__*/_react.default.createElement(_semiIcons.IconClose, {
|
|
86
|
+
"aria-label": "Close",
|
|
87
|
+
role: "button",
|
|
86
88
|
className: "".concat(_constants.cssClasses.TABS_TAB, "-icon-close"),
|
|
87
89
|
onClick: e => deleteTabItem(panel.itemKey, e)
|
|
88
90
|
}) : null;
|
|
@@ -95,16 +97,20 @@ class TabBar extends _react.default.Component {
|
|
|
95
97
|
};
|
|
96
98
|
}
|
|
97
99
|
|
|
100
|
+
const isSelected = this._isActive(key);
|
|
101
|
+
|
|
98
102
|
const className = (0, _classnames.default)(_constants.cssClasses.TABS_TAB, {
|
|
99
|
-
[_constants.cssClasses.TABS_TAB_ACTIVE]:
|
|
103
|
+
[_constants.cssClasses.TABS_TAB_ACTIVE]: isSelected,
|
|
100
104
|
[_constants.cssClasses.TABS_TAB_DISABLED]: panel.disabled,
|
|
101
105
|
["".concat(_constants.cssClasses.TABS_TAB, "-small")]: size === 'small',
|
|
102
106
|
["".concat(_constants.cssClasses.TABS_TAB, "-medium")]: size === 'medium'
|
|
103
107
|
});
|
|
104
108
|
return /*#__PURE__*/_react.default.createElement("div", (0, _assign.default)({
|
|
105
109
|
role: "tab",
|
|
110
|
+
id: "semiTab".concat(key),
|
|
111
|
+
"aria-controls": "semiTabPanel".concat(key),
|
|
106
112
|
"aria-disabled": panel.disabled ? 'true' : 'false',
|
|
107
|
-
"aria-selected":
|
|
113
|
+
"aria-selected": isSelected ? 'true' : 'false'
|
|
108
114
|
}, events, {
|
|
109
115
|
className: className,
|
|
110
116
|
key: this._getItemKey(key)
|
|
@@ -182,6 +188,7 @@ class TabBar extends _react.default.Component {
|
|
|
182
188
|
style: dropdownStyle,
|
|
183
189
|
trigger: 'hover'
|
|
184
190
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
191
|
+
role: "presentation",
|
|
185
192
|
className: arrowCls,
|
|
186
193
|
onClick: e => this.handleArrowClick(items, pos)
|
|
187
194
|
}, /*#__PURE__*/_react.default.createElement(_button.default, {
|
|
@@ -289,7 +296,8 @@ class TabBar extends _react.default.Component {
|
|
|
289
296
|
const extra = this.renderExtra();
|
|
290
297
|
const contents = collapsible ? this.renderCollapsedTab() : this.renderTabComponents(list);
|
|
291
298
|
return /*#__PURE__*/_react.default.createElement("div", (0, _assign.default)({
|
|
292
|
-
role: "
|
|
299
|
+
role: "tablist",
|
|
300
|
+
"aria-orientation": tabPosition === "left" ? "vertical" : "horizontal",
|
|
293
301
|
className: classNames,
|
|
294
302
|
style: style
|
|
295
303
|
}, (0, _getDataAttr.default)(restProps), {
|
package/lib/cjs/tabs/TabPane.js
CHANGED
|
@@ -132,7 +132,9 @@ class TabPane extends _react.PureComponent {
|
|
|
132
132
|
const shouldRender = this.shouldRender();
|
|
133
133
|
return /*#__PURE__*/_react.default.createElement("div", (0, _assign.default)({
|
|
134
134
|
ref: this.ref,
|
|
135
|
-
role: "
|
|
135
|
+
role: "tabpanel",
|
|
136
|
+
id: "semiTabPanel".concat(itemKey),
|
|
137
|
+
"aria-labelledby": "semiTab".concat(itemKey),
|
|
136
138
|
className: classNames,
|
|
137
139
|
style: style,
|
|
138
140
|
"aria-hidden": active ? 'false' : 'true'
|
package/lib/cjs/tabs/index.js
CHANGED
|
@@ -387,7 +387,6 @@ class Tabs extends _baseComponent.default {
|
|
|
387
387
|
}
|
|
388
388
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
389
389
|
ref: this.setContentRef,
|
|
390
|
-
role: "tab-content",
|
|
391
390
|
className: tabContentCls,
|
|
392
391
|
style: (0, _assign.default)({}, contentStyle)
|
|
393
392
|
}, content)));
|
|
@@ -40,8 +40,9 @@ export interface TagInputProps {
|
|
|
40
40
|
style?: React.CSSProperties;
|
|
41
41
|
suffix?: React.ReactNode;
|
|
42
42
|
validateStatus?: ValidateStatus;
|
|
43
|
-
value?: string[];
|
|
43
|
+
value?: string[] | undefined;
|
|
44
44
|
autoFocus?: boolean;
|
|
45
|
+
'aria-label'?: string;
|
|
45
46
|
}
|
|
46
47
|
export interface TagInputState {
|
|
47
48
|
tagsArray?: string[];
|
|
@@ -84,6 +85,7 @@ declare class TagInput extends BaseComponent<TagInputProps, TagInputState> {
|
|
|
84
85
|
validateStatus: PropTypes.Requireable<"default" | "error" | "warning">;
|
|
85
86
|
prefix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
86
87
|
suffix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
88
|
+
'aria-label': PropTypes.Requireable<string>;
|
|
87
89
|
};
|
|
88
90
|
static defaultProps: {
|
|
89
91
|
showClear: boolean;
|
|
@@ -118,6 +120,7 @@ declare class TagInput extends BaseComponent<TagInputProps, TagInputState> {
|
|
|
118
120
|
handleInputFocus: (e: React.MouseEvent<HTMLInputElement>) => void;
|
|
119
121
|
handleInputBlur: (e: React.MouseEvent<HTMLInputElement>) => void;
|
|
120
122
|
handleClearBtn: (e: React.MouseEvent<HTMLDivElement>) => void;
|
|
123
|
+
handleClearEnterPress: (e: React.KeyboardEvent<HTMLDivElement>) => void;
|
|
121
124
|
handleTagClose: (idx: number) => void;
|
|
122
125
|
handleInputMouseLeave: (e: React.MouseEvent<HTMLDivElement>) => void;
|
|
123
126
|
handleInputMouseEnter: (e: React.MouseEvent<HTMLDivElement>) => void;
|