@douyinfe/semi-ui 2.2.2 → 2.4.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/_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/datePicker.tsx +19 -0
- package/dist/css/semi.css +23 -12
- package/dist/css/semi.min.css +1 -1
- package/dist/umd/semi-ui.js +2502 -1249
- 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/dropdown/index.tsx +11 -3
- 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 +30 -9
- package/inputNumber/__test__/inputNumber.test.js +36 -8
- package/inputNumber/index.tsx +30 -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 +14 -1
- package/lib/cjs/dropdown/dropdownItem.js +3 -1
- package/lib/cjs/dropdown/dropdownMenu.js +4 -1
- package/lib/cjs/dropdown/index.d.ts +10 -3
- 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 +16 -3
- package/lib/cjs/inputNumber/index.d.ts +8 -0
- package/lib/cjs/inputNumber/index.js +35 -4
- 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/index.d.ts +4 -4
- 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 +35 -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 +14 -0
- package/lib/cjs/timePicker/TimePicker.js +11 -4
- package/lib/cjs/timePicker/index.d.ts +7 -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.js +32 -14
- 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 +54 -5
- 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 +14 -1
- package/lib/es/dropdown/dropdownItem.js +3 -1
- package/lib/es/dropdown/dropdownMenu.js +4 -1
- package/lib/es/dropdown/index.d.ts +10 -3
- 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 +16 -3
- package/lib/es/inputNumber/index.d.ts +8 -0
- package/lib/es/inputNumber/index.js +36 -4
- 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/index.d.ts +4 -4
- 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 +35 -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 +14 -0
- package/lib/es/timePicker/TimePicker.js +11 -4
- package/lib/es/timePicker/index.d.ts +7 -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.js +32 -14
- 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 +53 -5
- 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/index.tsx +5 -5
- 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 +57 -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 +30 -14
- package/table/TableCell.tsx +11 -1
- package/table/TableHeaderRow.tsx +16 -2
- package/table/__test__/table.test.js +46 -0
- package/table/_story/table.stories.js +2 -0
- package/table/_story/v2/FixedColumnsChange/index.jsx +104 -0
- package/table/_story/v2/FixedZIndex/index.jsx +87 -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 +17 -2
- package/timePicker/__test__/timePicker.test.js +34 -3
- package/timePicker/_story/timepicker.stories.js +18 -0
- 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 +29 -25
- package/tree/_story/tree.stories.js +3 -3
- package/tree/index.tsx +10 -2
- package/tree/treeNode.tsx +54 -11
- 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
|
@@ -110,6 +110,8 @@ class InputNumber extends BaseComponent {
|
|
|
110
110
|
return /*#__PURE__*/React.createElement("div", {
|
|
111
111
|
className: suffixChildrenCls
|
|
112
112
|
}, /*#__PURE__*/React.createElement("span", {
|
|
113
|
+
role: "button",
|
|
114
|
+
tabIndex: -1,
|
|
113
115
|
className: upClassName,
|
|
114
116
|
onMouseDown: notAllowedUp ? _noop : this.handleUpClick,
|
|
115
117
|
onMouseUp: this.handleMouseUp,
|
|
@@ -117,6 +119,8 @@ class InputNumber extends BaseComponent {
|
|
|
117
119
|
}, /*#__PURE__*/React.createElement(IconChevronUp, {
|
|
118
120
|
size: "extra-small"
|
|
119
121
|
})), /*#__PURE__*/React.createElement("span", {
|
|
122
|
+
role: "button",
|
|
123
|
+
tabIndex: -1,
|
|
120
124
|
className: downClassName,
|
|
121
125
|
onMouseDown: notAllowedDown ? _noop : this.handleDownClick,
|
|
122
126
|
onMouseUp: this.handleMouseUp,
|
|
@@ -408,24 +412,45 @@ class InputNumber extends BaseComponent {
|
|
|
408
412
|
innerButtons,
|
|
409
413
|
style,
|
|
410
414
|
onNumberChange,
|
|
411
|
-
keepFocus
|
|
415
|
+
keepFocus,
|
|
416
|
+
defaultValue
|
|
412
417
|
} = _a,
|
|
413
|
-
rest = __rest(_a, ["disabled", "className", "prefixCls", "min", "max", "step", "shiftStep", "precision", "formatter", "parser", "forwardedRef", "onUpClick", "onDownClick", "pressInterval", "pressTimeout", "suffix", "size", "hideButtons", "innerButtons", "style", "onNumberChange", "keepFocus"]);
|
|
418
|
+
rest = __rest(_a, ["disabled", "className", "prefixCls", "min", "max", "step", "shiftStep", "precision", "formatter", "parser", "forwardedRef", "onUpClick", "onDownClick", "pressInterval", "pressTimeout", "suffix", "size", "hideButtons", "innerButtons", "style", "onNumberChange", "keepFocus", "defaultValue"]);
|
|
414
419
|
|
|
415
420
|
const {
|
|
416
|
-
value
|
|
421
|
+
value,
|
|
422
|
+
number
|
|
417
423
|
} = this.state;
|
|
418
424
|
const inputNumberCls = classnames(className, "".concat(prefixCls, "-number"), {
|
|
419
425
|
[_concatInstanceProperty(_context = "".concat(prefixCls, "-number-size-")).call(_context, size)]: size
|
|
420
426
|
});
|
|
421
427
|
const buttons = this.renderButtons();
|
|
428
|
+
const ariaProps = {
|
|
429
|
+
'aria-disabled': disabled,
|
|
430
|
+
step
|
|
431
|
+
};
|
|
432
|
+
|
|
433
|
+
if (number) {
|
|
434
|
+
ariaProps['aria-valuenow'] = number;
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
if (max !== Infinity) {
|
|
438
|
+
ariaProps['aria-valuemax'] = max;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
if (min !== -Infinity) {
|
|
442
|
+
ariaProps['aria-valuemin'] = min;
|
|
443
|
+
}
|
|
444
|
+
|
|
422
445
|
const input = /*#__PURE__*/React.createElement("div", {
|
|
423
446
|
className: inputNumberCls,
|
|
424
447
|
style: style,
|
|
425
448
|
onMouseMove: e => this.handleInputMouseMove(e),
|
|
426
449
|
onMouseEnter: e => this.handleInputMouseEnter(e),
|
|
427
450
|
onMouseLeave: e => this.handleInputMouseLeave(e)
|
|
428
|
-
}, /*#__PURE__*/React.createElement(Input, _Object$assign({
|
|
451
|
+
}, /*#__PURE__*/React.createElement(Input, _Object$assign({
|
|
452
|
+
role: "spinbutton"
|
|
453
|
+
}, ariaProps, rest, {
|
|
429
454
|
size: size,
|
|
430
455
|
disabled: disabled,
|
|
431
456
|
ref: this.setInputRef,
|
|
@@ -442,6 +467,12 @@ class InputNumber extends BaseComponent {
|
|
|
442
467
|
}
|
|
443
468
|
|
|
444
469
|
InputNumber.propTypes = {
|
|
470
|
+
'aria-label': PropTypes.string,
|
|
471
|
+
'aria-labelledby': PropTypes.string,
|
|
472
|
+
'aria-invalid': PropTypes.bool,
|
|
473
|
+
'aria-errormessage': PropTypes.string,
|
|
474
|
+
'aria-describedby': PropTypes.string,
|
|
475
|
+
'aria-required': PropTypes.bool,
|
|
445
476
|
autofocus: PropTypes.bool,
|
|
446
477
|
className: PropTypes.string,
|
|
447
478
|
defaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
@@ -451,6 +482,7 @@ InputNumber.propTypes = {
|
|
|
451
482
|
hideButtons: PropTypes.bool,
|
|
452
483
|
innerButtons: PropTypes.bool,
|
|
453
484
|
insetLabel: PropTypes.node,
|
|
485
|
+
insetLabelId: PropTypes.string,
|
|
454
486
|
keepFocus: PropTypes.bool,
|
|
455
487
|
max: PropTypes.number,
|
|
456
488
|
min: PropTypes.number,
|
package/lib/es/layout/Sider.d.ts
CHANGED
|
@@ -14,6 +14,8 @@ export interface SiderProps {
|
|
|
14
14
|
className?: string;
|
|
15
15
|
breakpoint?: Array<keyof ResponsiveMap>;
|
|
16
16
|
onBreakpoint?: (screen: keyof ResponsiveMap, match: boolean) => void;
|
|
17
|
+
'aria-label'?: React.AriaAttributes['aria-label'];
|
|
18
|
+
'role'?: React.AriaRole;
|
|
17
19
|
}
|
|
18
20
|
declare class Sider extends React.PureComponent<SiderProps> {
|
|
19
21
|
static propTypes: {
|
|
@@ -22,6 +24,8 @@ declare class Sider extends React.PureComponent<SiderProps> {
|
|
|
22
24
|
className: PropTypes.Requireable<string>;
|
|
23
25
|
breakpoint: PropTypes.Requireable<string[]>;
|
|
24
26
|
onBreakpoint: PropTypes.Requireable<(...args: any[]) => any>;
|
|
27
|
+
'aria-label': PropTypes.Requireable<string>;
|
|
28
|
+
role: PropTypes.Requireable<string>;
|
|
25
29
|
};
|
|
26
30
|
static defaultProps: {
|
|
27
31
|
prefixCls: string;
|
package/lib/es/layout/Sider.js
CHANGED
|
@@ -114,6 +114,7 @@ class Sider extends React.PureComponent {
|
|
|
114
114
|
});
|
|
115
115
|
return /*#__PURE__*/React.createElement("aside", _Object$assign({
|
|
116
116
|
className: classString,
|
|
117
|
+
"aria-label": this.props['aria-label'],
|
|
117
118
|
style: style
|
|
118
119
|
}, getDataAttr(others)), /*#__PURE__*/React.createElement("div", {
|
|
119
120
|
className: "".concat(prefixCls, "-sider-children")
|
|
@@ -127,7 +128,9 @@ Sider.propTypes = {
|
|
|
127
128
|
style: PropTypes.object,
|
|
128
129
|
className: PropTypes.string,
|
|
129
130
|
breakpoint: PropTypes.arrayOf(PropTypes.oneOf(bpt)),
|
|
130
|
-
onBreakpoint: PropTypes.func
|
|
131
|
+
onBreakpoint: PropTypes.func,
|
|
132
|
+
'aria-label': PropTypes.string,
|
|
133
|
+
role: PropTypes.string
|
|
131
134
|
};
|
|
132
135
|
Sider.defaultProps = {
|
|
133
136
|
prefixCls: cssClasses.PREFIX
|
package/lib/es/layout/index.js
CHANGED
|
@@ -35,6 +35,8 @@ function generator(type) {
|
|
|
35
35
|
return BasicComponent => class Adapter extends React.PureComponent {
|
|
36
36
|
render() {
|
|
37
37
|
return /*#__PURE__*/React.createElement(BasicComponent, _Object$assign({
|
|
38
|
+
role: this.props.role,
|
|
39
|
+
"aria-label": this.props['aria-label'],
|
|
38
40
|
type: typeName,
|
|
39
41
|
tagName: tagName
|
|
40
42
|
}, this.props));
|
package/lib/es/list/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import ListItem from './item';
|
|
|
5
5
|
import { Grid } from './list-context';
|
|
6
6
|
import BaseComponent from '../_base/baseComponent';
|
|
7
7
|
export { ListItemProps } from './item';
|
|
8
|
-
export interface ListProps {
|
|
8
|
+
export interface ListProps<T> {
|
|
9
9
|
style?: React.CSSProperties;
|
|
10
10
|
className?: string;
|
|
11
11
|
bordered?: boolean;
|
|
@@ -15,15 +15,15 @@ export interface ListProps {
|
|
|
15
15
|
size?: 'small' | 'large' | 'default';
|
|
16
16
|
split?: boolean;
|
|
17
17
|
emptyContent?: React.ReactNode;
|
|
18
|
-
dataSource?:
|
|
19
|
-
renderItem?: (item:
|
|
18
|
+
dataSource?: T[];
|
|
19
|
+
renderItem?: (item: T, ind: number) => React.ReactNode;
|
|
20
20
|
grid?: Grid;
|
|
21
21
|
loading?: boolean;
|
|
22
22
|
loadMore?: React.ReactNode;
|
|
23
23
|
onClick?: React.MouseEventHandler<HTMLLIElement>;
|
|
24
24
|
onRightClick?: React.MouseEventHandler<HTMLLIElement>;
|
|
25
25
|
}
|
|
26
|
-
declare class List extends BaseComponent<ListProps
|
|
26
|
+
declare class List<T = any> extends BaseComponent<ListProps<T>> {
|
|
27
27
|
static Item: typeof ListItem;
|
|
28
28
|
static propTypes: {
|
|
29
29
|
style: PropTypes.Requireable<object>;
|
package/lib/es/list/item.js
CHANGED
package/lib/es/modal/Modal.js
CHANGED
|
@@ -75,6 +75,7 @@ class Modal extends BaseComponent {
|
|
|
75
75
|
return null;
|
|
76
76
|
} else {
|
|
77
77
|
return /*#__PURE__*/React.createElement(Button, _Object$assign({
|
|
78
|
+
"aria-label": "cancel",
|
|
78
79
|
onClick: this.handleCancel,
|
|
79
80
|
loading: cancelLoading,
|
|
80
81
|
type: "tertiary"
|
|
@@ -85,6 +86,7 @@ class Modal extends BaseComponent {
|
|
|
85
86
|
return /*#__PURE__*/React.createElement(LocaleConsumer, {
|
|
86
87
|
componentName: "Modal"
|
|
87
88
|
}, (locale, localeCode) => /*#__PURE__*/React.createElement("div", null, getCancelButton(locale), /*#__PURE__*/React.createElement(Button, _Object$assign({
|
|
89
|
+
"aria-label": "confirm",
|
|
88
90
|
type: okType,
|
|
89
91
|
theme: "solid",
|
|
90
92
|
loading: confirmLoading,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
3
|
import BaseComponent from '../_base/baseComponent';
|
|
4
|
-
import { ModalContentAdapter, ModalContentProps, ModalContentState } from '@douyinfe/semi-foundation/lib/es/modal/modalContentFoundation';
|
|
4
|
+
import ModalContentFoundation, { ModalContentAdapter, ModalContentProps, ModalContentState } from '@douyinfe/semi-foundation/lib/es/modal/modalContentFoundation';
|
|
5
5
|
export default class ModalContent extends BaseComponent<ModalContentProps, ModalContentState> {
|
|
6
6
|
static contextType: React.Context<import("../configProvider/context").ContextValue>;
|
|
7
7
|
static propTypes: {
|
|
@@ -19,6 +19,8 @@ export default class ModalContent extends BaseComponent<ModalContentProps, Modal
|
|
|
19
19
|
};
|
|
20
20
|
dialogId: string;
|
|
21
21
|
private timeoutId;
|
|
22
|
+
modalDialogRef: React.MutableRefObject<HTMLDivElement>;
|
|
23
|
+
foundation: ModalContentFoundation;
|
|
22
24
|
constructor(props: ModalContentProps);
|
|
23
25
|
get adapter(): ModalContentAdapter;
|
|
24
26
|
componentDidMount(): void;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import _get from "lodash/get";
|
|
2
|
+
import _isFunction from "lodash/isFunction";
|
|
1
3
|
import _noop from "lodash/noop";
|
|
2
4
|
import _indexOfInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/index-of";
|
|
3
5
|
import _Object$getOwnPropertySymbols from "@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols";
|
|
@@ -30,6 +32,7 @@ import BaseComponent from '../_base/baseComponent'; // eslint-disable-next-line
|
|
|
30
32
|
|
|
31
33
|
import ModalContentFoundation from '@douyinfe/semi-foundation/lib/es/modal/modalContentFoundation';
|
|
32
34
|
import { IconClose } from '@douyinfe/semi-icons';
|
|
35
|
+
import { getActiveElement } from '../_utils';
|
|
33
36
|
let uuid = 0;
|
|
34
37
|
export default class ModalContent extends BaseComponent {
|
|
35
38
|
constructor(props) {
|
|
@@ -89,6 +92,7 @@ export default class ModalContent extends BaseComponent {
|
|
|
89
92
|
if (closable) {
|
|
90
93
|
const iconType = closeIcon || /*#__PURE__*/React.createElement(IconClose, null);
|
|
91
94
|
closer = /*#__PURE__*/React.createElement(Button, {
|
|
95
|
+
"aria-label": "close",
|
|
92
96
|
className: "".concat(cssClasses.DIALOG, "-close"),
|
|
93
97
|
key: "close-btn",
|
|
94
98
|
onClick: this.close,
|
|
@@ -125,7 +129,8 @@ export default class ModalContent extends BaseComponent {
|
|
|
125
129
|
className: "".concat(cssClasses.DIALOG, "-header")
|
|
126
130
|
}, icon, /*#__PURE__*/React.createElement(Typography.Title, {
|
|
127
131
|
heading: 5,
|
|
128
|
-
className: "".concat(cssClasses.DIALOG, "-title")
|
|
132
|
+
className: "".concat(cssClasses.DIALOG, "-title"),
|
|
133
|
+
id: "".concat(cssClasses.DIALOG, "-title")
|
|
129
134
|
}, title), closer);
|
|
130
135
|
};
|
|
131
136
|
|
|
@@ -143,6 +148,7 @@ export default class ModalContent extends BaseComponent {
|
|
|
143
148
|
const hasHeader = title !== null && title !== undefined || 'header' in this.props;
|
|
144
149
|
return hasHeader ? /*#__PURE__*/React.createElement("div", {
|
|
145
150
|
className: bodyCls,
|
|
151
|
+
id: "".concat(cssClasses.DIALOG, "-body"),
|
|
146
152
|
style: bodyStyle
|
|
147
153
|
}, children) : /*#__PURE__*/React.createElement("div", {
|
|
148
154
|
className: "".concat(cssClasses.DIALOG, "-body-wrapper")
|
|
@@ -182,13 +188,21 @@ export default class ModalContent extends BaseComponent {
|
|
|
182
188
|
const footer = props.footer ? /*#__PURE__*/React.createElement("div", {
|
|
183
189
|
className: "".concat(cssClasses.DIALOG, "-footer")
|
|
184
190
|
}, props.footer) : null;
|
|
185
|
-
const dialogElement =
|
|
191
|
+
const dialogElement =
|
|
192
|
+
/*#__PURE__*/
|
|
193
|
+
// eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
194
|
+
React.createElement("div", {
|
|
186
195
|
key: "dialog-element",
|
|
187
196
|
className: digCls,
|
|
188
197
|
onMouseDown: this.onDialogMouseDown,
|
|
189
198
|
style: _Object$assign(_Object$assign({}, props.style), style),
|
|
190
199
|
id: this.dialogId
|
|
191
200
|
}, /*#__PURE__*/React.createElement("div", {
|
|
201
|
+
role: "dialog",
|
|
202
|
+
ref: this.modalDialogRef,
|
|
203
|
+
"aria-modal": "true",
|
|
204
|
+
"aria-labelledby": "".concat(cssClasses.DIALOG, "-title"),
|
|
205
|
+
"aria-describedby": "".concat(cssClasses.DIALOG, "-body"),
|
|
192
206
|
onAnimationEnd: props.onAnimationEnd,
|
|
193
207
|
className: cls(["".concat(cssClasses.DIALOG, "-content"), props.contentClassName, {
|
|
194
208
|
["".concat(cssClasses.DIALOG, "-content-fullScreen")]: props.isFullScreen
|
|
@@ -199,10 +213,12 @@ export default class ModalContent extends BaseComponent {
|
|
|
199
213
|
};
|
|
200
214
|
|
|
201
215
|
this.state = {
|
|
202
|
-
dialogMouseDown: false
|
|
216
|
+
dialogMouseDown: false,
|
|
217
|
+
prevFocusElement: getActiveElement()
|
|
203
218
|
};
|
|
204
219
|
this.foundation = new ModalContentFoundation(this.adapter);
|
|
205
220
|
this.dialogId = "dialog-".concat(uuid++);
|
|
221
|
+
this.modalDialogRef = /*#__PURE__*/React.createRef();
|
|
206
222
|
}
|
|
207
223
|
|
|
208
224
|
get adapter() {
|
|
@@ -239,12 +255,37 @@ export default class ModalContent extends BaseComponent {
|
|
|
239
255
|
document.removeEventListener('keydown', _bindInstanceProperty(_context3 = this.foundation.handleKeyDown).call(_context3, this.foundation));
|
|
240
256
|
}
|
|
241
257
|
},
|
|
242
|
-
getMouseState: () => this.state.dialogMouseDown
|
|
258
|
+
getMouseState: () => this.state.dialogMouseDown,
|
|
259
|
+
modalDialogFocus: () => {
|
|
260
|
+
let activeElementInDialog;
|
|
261
|
+
|
|
262
|
+
if (this.modalDialogRef) {
|
|
263
|
+
const activeElement = getActiveElement();
|
|
264
|
+
activeElementInDialog = this.modalDialogRef.current.contains(activeElement);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
if (!activeElementInDialog) {
|
|
268
|
+
this.modalDialogRef && this.modalDialogRef.current.focus();
|
|
269
|
+
}
|
|
270
|
+
},
|
|
271
|
+
modalDialogBlur: () => {
|
|
272
|
+
this.modalDialogRef && this.modalDialogRef.current.blur();
|
|
273
|
+
},
|
|
274
|
+
prevFocusElementReFocus: () => {
|
|
275
|
+
const {
|
|
276
|
+
prevFocusElement
|
|
277
|
+
} = this.state;
|
|
278
|
+
|
|
279
|
+
const focus = _get(prevFocusElement, 'focus');
|
|
280
|
+
|
|
281
|
+
_isFunction(focus) && prevFocusElement.focus();
|
|
282
|
+
}
|
|
243
283
|
});
|
|
244
284
|
}
|
|
245
285
|
|
|
246
286
|
componentDidMount() {
|
|
247
287
|
this.foundation.handleKeyDownEventListenerMount();
|
|
288
|
+
this.foundation.modalDialogFocus();
|
|
248
289
|
}
|
|
249
290
|
|
|
250
291
|
componentWillUnmount() {
|
|
@@ -272,7 +313,7 @@ export default class ModalContent extends BaseComponent {
|
|
|
272
313
|
const elem = /*#__PURE__*/React.createElement("div", {
|
|
273
314
|
className: classList
|
|
274
315
|
}, this.getMaskElement(), /*#__PURE__*/React.createElement("div", {
|
|
275
|
-
role: "
|
|
316
|
+
role: "none",
|
|
276
317
|
tabIndex: -1,
|
|
277
318
|
className: "".concat(cssClasses.DIALOG, "-wrap"),
|
|
278
319
|
onClick: maskClosable ? this.onMaskClick : null,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import BaseComponent, { BaseProps } from '../_base/baseComponent';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
|
-
import { ItemProps, SelectedItemProps, ItemAdapter } from '@douyinfe/semi-foundation/lib/es/navigation/itemFoundation';
|
|
4
|
+
import ItemFoundation, { ItemProps, SelectedItemProps, ItemAdapter } from '@douyinfe/semi-foundation/lib/es/navigation/itemFoundation';
|
|
5
5
|
export interface NavItemProps extends ItemProps, BaseProps {
|
|
6
6
|
children?: React.ReactNode;
|
|
7
7
|
disabled?: boolean;
|
|
@@ -59,12 +59,14 @@ export default class NavItem extends BaseComponent<NavItemProps, NavItemState> {
|
|
|
59
59
|
onMouseLeave: (...args: any[]) => void;
|
|
60
60
|
disabled: boolean;
|
|
61
61
|
};
|
|
62
|
+
foundation: ItemFoundation;
|
|
62
63
|
constructor(props: NavItemProps);
|
|
63
64
|
_invokeContextFunc(funcName: string, ...args: any[]): any;
|
|
64
65
|
get adapter(): ItemAdapter<NavItemProps, NavItemState>;
|
|
65
66
|
renderIcon(icon: React.ReactNode, pos: string, isToggleIcon?: boolean): JSX.Element;
|
|
66
67
|
setItemRef: (ref: HTMLLIElement) => void;
|
|
67
68
|
wrapTooltip: (node: React.ReactNode) => JSX.Element;
|
|
68
|
-
handleClick: (e: React.MouseEvent) =>
|
|
69
|
+
handleClick: (e: React.MouseEvent) => void;
|
|
70
|
+
handleKeyPress: (e: React.KeyboardEvent) => void;
|
|
69
71
|
render(): {} | React.ReactElement<any, string | React.JSXElementConstructor<any>>;
|
|
70
72
|
}
|
|
@@ -45,6 +45,8 @@ export default class NavItem extends BaseComponent {
|
|
|
45
45
|
|
|
46
46
|
this.handleClick = e => this.foundation.handleClick(e);
|
|
47
47
|
|
|
48
|
+
this.handleKeyPress = e => this.foundation.handleKeyPress(e);
|
|
49
|
+
|
|
48
50
|
this.state = {
|
|
49
51
|
tooltipShow: false
|
|
50
52
|
};
|
|
@@ -103,12 +105,17 @@ export default class NavItem extends BaseComponent {
|
|
|
103
105
|
var _context;
|
|
104
106
|
|
|
105
107
|
return Boolean(this.context && this.context.selectedKeys && _includesInstanceProperty(_context = this.context.selectedKeys).call(_context, this.props.itemKey));
|
|
108
|
+
},
|
|
109
|
+
getIsOpen: () => {
|
|
110
|
+
var _context2;
|
|
111
|
+
|
|
112
|
+
return Boolean(this.context && this.context.openKeys && _includesInstanceProperty(_context2 = this.context.openKeys).call(_context2, this.props.itemKey));
|
|
106
113
|
}
|
|
107
114
|
});
|
|
108
115
|
}
|
|
109
116
|
|
|
110
117
|
renderIcon(icon, pos) {
|
|
111
|
-
var
|
|
118
|
+
var _context3;
|
|
112
119
|
|
|
113
120
|
let isToggleIcon = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
114
121
|
|
|
@@ -127,7 +134,7 @@ export default class NavItem extends BaseComponent {
|
|
|
127
134
|
}
|
|
128
135
|
|
|
129
136
|
const className = cls("".concat(clsPrefix, "-icon"), {
|
|
130
|
-
[_concatInstanceProperty(
|
|
137
|
+
[_concatInstanceProperty(_context3 = "".concat(clsPrefix, "-icon-toggle-")).call(_context3, this.context.toggleIconPosition)]: isToggleIcon,
|
|
131
138
|
["".concat(clsPrefix, "-icon-info")]: !isToggleIcon
|
|
132
139
|
});
|
|
133
140
|
return /*#__PURE__*/React.createElement("i", {
|
|
@@ -215,14 +222,27 @@ export default class NavItem extends BaseComponent {
|
|
|
215
222
|
["".concat(clsPrefix, "-collapsed")]: isCollapsed,
|
|
216
223
|
["".concat(clsPrefix, "-disabled")]: disabled
|
|
217
224
|
});
|
|
218
|
-
|
|
225
|
+
const ariaProps = {
|
|
226
|
+
'aria-disabled': disabled
|
|
227
|
+
};
|
|
228
|
+
|
|
229
|
+
if (isSubNav) {
|
|
230
|
+
const isOpen = this.adapter.getIsOpen();
|
|
231
|
+
ariaProps['aria-expanded'] = isOpen;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
itemDom = /*#__PURE__*/React.createElement("li", _Object$assign({
|
|
235
|
+
role: "menuitem",
|
|
236
|
+
tabIndex: -1
|
|
237
|
+
}, ariaProps, {
|
|
219
238
|
style: style,
|
|
220
239
|
ref: this.setItemRef,
|
|
221
240
|
className: popoverItemCls,
|
|
222
241
|
onClick: this.handleClick,
|
|
223
242
|
onMouseEnter: onMouseEnter,
|
|
224
|
-
onMouseLeave: onMouseLeave
|
|
225
|
-
|
|
243
|
+
onMouseLeave: onMouseLeave,
|
|
244
|
+
onKeyPress: this.handleKeyPress
|
|
245
|
+
}), itemChildren);
|
|
226
246
|
} // Display Tooltip when disabled and SubNav
|
|
227
247
|
|
|
228
248
|
|
|
@@ -2,7 +2,7 @@ import BaseComponent, { BaseProps } from '../_base/baseComponent';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import '@douyinfe/semi-foundation/lib/es/navigation/navigation.css';
|
|
5
|
-
import { SubNavAdapter } from '@douyinfe/semi-foundation/lib/es/navigation/subNavFoundation';
|
|
5
|
+
import SubNavFoundation, { SubNavAdapter } from '@douyinfe/semi-foundation/lib/es/navigation/subNavFoundation';
|
|
6
6
|
export interface ToggleIcon {
|
|
7
7
|
open?: string;
|
|
8
8
|
closed?: string;
|
|
@@ -88,13 +88,15 @@ export default class SubNav extends BaseComponent<SubNavProps, SubNavState> {
|
|
|
88
88
|
};
|
|
89
89
|
titleRef: React.RefObject<HTMLDivElement>;
|
|
90
90
|
itemRef: React.RefObject<HTMLLIElement>;
|
|
91
|
+
foundation: SubNavFoundation;
|
|
91
92
|
constructor(props: SubNavProps);
|
|
92
93
|
setItemRef: (ref: HTMLLIElement | React.RefObject<HTMLLIElement>) => void;
|
|
93
94
|
setTitleRef: (ref: HTMLDivElement | React.RefObject<HTMLDivElement>) => void;
|
|
94
95
|
_invokeContextFunc(funcName: string, ...args: any[]): any;
|
|
95
96
|
get adapter(): SubNavAdapter<SubNavProps, SubNavState>;
|
|
96
97
|
handleClick: (e: React.MouseEvent) => void;
|
|
97
|
-
|
|
98
|
+
handleKeyPress: (e: React.KeyboardEvent) => void;
|
|
99
|
+
handleDropdownVisible: (visible: boolean) => void;
|
|
98
100
|
renderIcon(icon: React.ReactNode, pos: string, withTransition?: boolean, isToggleIcon?: boolean, key?: number | string): JSX.Element;
|
|
99
101
|
renderTitleDiv(): JSX.Element;
|
|
100
102
|
renderSubUl(): JSX.Element;
|
|
@@ -49,6 +49,10 @@ export default class SubNav extends BaseComponent {
|
|
|
49
49
|
this.foundation.handleClick(e && e.nativeEvent, this.titleRef && this.titleRef.current);
|
|
50
50
|
};
|
|
51
51
|
|
|
52
|
+
this.handleKeyPress = e => {
|
|
53
|
+
this.foundation.handleKeyPress(e && e.nativeEvent, this.titleRef && this.titleRef.current);
|
|
54
|
+
};
|
|
55
|
+
|
|
52
56
|
this.handleDropdownVisible = visible => this.foundation.handleDropdownVisibleChange(visible);
|
|
53
57
|
|
|
54
58
|
this.state = {
|
|
@@ -203,9 +207,12 @@ export default class SubNav extends BaseComponent {
|
|
|
203
207
|
}
|
|
204
208
|
|
|
205
209
|
const titleDiv = /*#__PURE__*/React.createElement("div", {
|
|
210
|
+
role: "menuitem",
|
|
211
|
+
tabIndex: -1,
|
|
206
212
|
ref: this.setTitleRef,
|
|
207
213
|
className: titleCls,
|
|
208
|
-
onClick: this.handleClick
|
|
214
|
+
onClick: this.handleClick,
|
|
215
|
+
onKeyPress: this.handleKeyPress
|
|
209
216
|
}, /*#__PURE__*/React.createElement("div", {
|
|
210
217
|
className: "".concat(prefixCls, "-item-inner")
|
|
211
218
|
}, placeholderIcons, this.context.toggleIconPosition === strings.TOGGLE_ICON_LEFT && this.renderIcon(toggleIconType, strings.ICON_POS_RIGHT, withTransition, true, 'key-toggle-position-left'), icon || indent || isInSubNav && mode !== strings.MODE_HORIZONTAL ? this.renderIcon(icon, strings.ICON_POS_LEFT, undefined, undefined, 'key-inSubNav-position-left') : null, /*#__PURE__*/React.createElement("span", {
|
|
@@ -338,6 +338,8 @@ class Nav extends BaseComponent {
|
|
|
338
338
|
style: bodyStyle,
|
|
339
339
|
className: "".concat(prefixCls, "-list-wrapper")
|
|
340
340
|
}, /*#__PURE__*/React.createElement("ul", {
|
|
341
|
+
role: "menu",
|
|
342
|
+
"aria-orientation": mode,
|
|
341
343
|
className: "".concat(prefixCls, "-list")
|
|
342
344
|
}, this.adapter.getCache('itemElems'), children))), footers))));
|
|
343
345
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import PropTypes from 'prop-types';
|
|
3
|
-
import { NoticeAdapter,
|
|
3
|
+
import { NoticeAdapter, NoticeProps, NoticeState } from '@douyinfe/semi-foundation/lib/es/notification/notificationFoundation';
|
|
4
4
|
import BaseComponent from '../_base/baseComponent';
|
|
5
5
|
export interface NoticeReactProps extends NoticeProps {
|
|
6
6
|
style?: React.CSSProperties;
|
|
@@ -22,12 +22,13 @@ import React from 'react';
|
|
|
22
22
|
import cls from 'classnames';
|
|
23
23
|
import PropTypes from 'prop-types';
|
|
24
24
|
import ConfigContext from '../configProvider/context';
|
|
25
|
-
import {
|
|
25
|
+
import { cssClasses, numbers, strings } from '@douyinfe/semi-foundation/lib/es/notification/constants';
|
|
26
26
|
import NotificationFoundation from '@douyinfe/semi-foundation/lib/es/notification/notificationFoundation';
|
|
27
27
|
import Button from '../iconButton';
|
|
28
28
|
import BaseComponent from '../_base/baseComponent';
|
|
29
29
|
import { isSemiIcon } from '../_utils';
|
|
30
|
-
import {
|
|
30
|
+
import { IconAlertCircle, IconAlertTriangle, IconClose, IconInfoCircle, IconTickCircle } from '@douyinfe/semi-icons';
|
|
31
|
+
import { getUuidShort } from '@douyinfe/semi-foundation/lib/es/utils/uuid';
|
|
31
32
|
const prefixCls = cssClasses.NOTICE;
|
|
32
33
|
const {
|
|
33
34
|
duration
|
|
@@ -154,28 +155,36 @@ class Notice extends BaseComponent {
|
|
|
154
155
|
[_concatInstanceProperty(_context3 = "".concat(prefixCls, "-")).call(_context3, theme)]: theme === 'light',
|
|
155
156
|
["".concat(prefixCls, "-rtl")]: direction === 'rtl'
|
|
156
157
|
});
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
158
|
+
const titleID = getUuidShort({});
|
|
159
|
+
return (
|
|
160
|
+
/*#__PURE__*/
|
|
161
|
+
// eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
162
|
+
React.createElement("div", {
|
|
163
|
+
className: wrapper,
|
|
164
|
+
style: style,
|
|
165
|
+
onMouseEnter: this.clearCloseTimer,
|
|
166
|
+
onMouseLeave: this.startCloseTimer,
|
|
167
|
+
onClick: this.notifyClick,
|
|
168
|
+
"aria-labelledby": titleID,
|
|
169
|
+
role: 'alert'
|
|
170
|
+
}, /*#__PURE__*/React.createElement("div", null, this.renderTypeIcon()), /*#__PURE__*/React.createElement("div", {
|
|
171
|
+
className: "".concat(prefixCls, "-inner")
|
|
172
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
173
|
+
className: "".concat(prefixCls, "-content-wrapper")
|
|
174
|
+
}, title ? /*#__PURE__*/React.createElement("div", {
|
|
175
|
+
id: titleID,
|
|
176
|
+
className: "".concat(prefixCls, "-title")
|
|
177
|
+
}, title) : '', content ? /*#__PURE__*/React.createElement("div", {
|
|
178
|
+
className: "".concat(prefixCls, "-content")
|
|
179
|
+
}, content) : ''), showClose && /*#__PURE__*/React.createElement(Button, {
|
|
180
|
+
className: "".concat(prefixCls, "-icon-close"),
|
|
181
|
+
type: "tertiary",
|
|
182
|
+
icon: /*#__PURE__*/React.createElement(IconClose, null),
|
|
183
|
+
theme: "borderless",
|
|
184
|
+
size: "small",
|
|
185
|
+
onClick: this.close
|
|
186
|
+
})))
|
|
187
|
+
);
|
|
179
188
|
}
|
|
180
189
|
|
|
181
190
|
}
|
|
@@ -6,6 +6,8 @@ import _concatInstanceProperty from "@babel/runtime-corejs3/core-js-stable/insta
|
|
|
6
6
|
import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from";
|
|
7
7
|
|
|
8
8
|
/* eslint-disable max-len */
|
|
9
|
+
|
|
10
|
+
/* eslint-disable jsx-a11y/no-noninteractive-element-to-interactive-role */
|
|
9
11
|
import React from 'react';
|
|
10
12
|
import classNames from 'classnames';
|
|
11
13
|
import PropTypes from 'prop-types';
|
|
@@ -148,9 +150,11 @@ export default class Pagination extends BaseComponent {
|
|
|
148
150
|
["".concat(prefixCls, "-item-disabled")]: prevDisabled
|
|
149
151
|
});
|
|
150
152
|
return /*#__PURE__*/React.createElement("li", {
|
|
153
|
+
role: "button",
|
|
154
|
+
"aria-disabled": prevDisabled ? true : false,
|
|
155
|
+
"aria-label": "Previous",
|
|
151
156
|
onClick: e => !prevDisabled && this.foundation.goPrev(e),
|
|
152
|
-
className: preClassName
|
|
153
|
-
"tab-index": 0
|
|
157
|
+
className: preClassName
|
|
154
158
|
}, prevText || /*#__PURE__*/React.createElement(IconChevronLeft, {
|
|
155
159
|
size: "large"
|
|
156
160
|
}));
|
|
@@ -169,9 +173,11 @@ export default class Pagination extends BaseComponent {
|
|
|
169
173
|
["".concat(prefixCls, "-next")]: true
|
|
170
174
|
});
|
|
171
175
|
return /*#__PURE__*/React.createElement("li", {
|
|
176
|
+
role: "button",
|
|
177
|
+
"aria-disabled": nextDisabled ? true : false,
|
|
178
|
+
"aria-label": "Next",
|
|
172
179
|
onClick: e => !nextDisabled && this.foundation.goNext(e),
|
|
173
|
-
className: nextClassName
|
|
174
|
-
"tab-index": 0
|
|
180
|
+
className: nextClassName
|
|
175
181
|
}, nextText || /*#__PURE__*/React.createElement(IconChevronRight, {
|
|
176
182
|
size: "large"
|
|
177
183
|
}));
|
|
@@ -207,6 +213,7 @@ export default class Pagination extends BaseComponent {
|
|
|
207
213
|
return /*#__PURE__*/React.createElement("div", {
|
|
208
214
|
className: switchCls
|
|
209
215
|
}, /*#__PURE__*/React.createElement(Select, {
|
|
216
|
+
"aria-label": "Page size selector",
|
|
210
217
|
onChange: newPageSize => this.foundation.changePageSize(newPageSize),
|
|
211
218
|
value: pageSize,
|
|
212
219
|
key: pageSizeText,
|
|
@@ -272,7 +279,8 @@ export default class Pagination extends BaseComponent {
|
|
|
272
279
|
key: _concatInstanceProperty(_context3 = "".concat(page)).call(_context3, i),
|
|
273
280
|
onClick: () => this.foundation.goPage(page, i),
|
|
274
281
|
className: pageListClassName,
|
|
275
|
-
"
|
|
282
|
+
"aria-label": page === '...' ? 'More' : "Page ".concat(page),
|
|
283
|
+
"aria-current": currentPage === page ? "page" : false
|
|
276
284
|
}, page);
|
|
277
285
|
|
|
278
286
|
if (page === '...') {
|
|
@@ -311,10 +319,12 @@ export default class Pagination extends BaseComponent {
|
|
|
311
319
|
} = item;
|
|
312
320
|
const page = restList[index];
|
|
313
321
|
return /*#__PURE__*/React.createElement("div", {
|
|
322
|
+
role: "listitem",
|
|
314
323
|
key: _concatInstanceProperty(_context5 = "".concat(page)).call(_context5, index),
|
|
315
324
|
className: className,
|
|
316
325
|
onClick: () => this.foundation.goPage(page, index),
|
|
317
|
-
style: style
|
|
326
|
+
style: style,
|
|
327
|
+
"aria-label": "".concat(page)
|
|
318
328
|
}, page);
|
|
319
329
|
};
|
|
320
330
|
|