@douyinfe/semi-ui 2.2.2 → 2.3.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_base/_story/a11y.jsx +6 -6
- package/_utils/hooks/usePrevFocus.ts +16 -0
- package/_utils/index.ts +4 -0
- package/anchor/_story/anchor.stories.js +1 -1
- package/anchor/index.tsx +5 -2
- package/anchor/link.tsx +29 -4
- package/autoComplete/index.tsx +28 -1
- package/avatar/_story/avatar.stories.js +4 -4
- package/avatar/avatarGroup.tsx +1 -1
- package/avatar/index.tsx +10 -4
- package/banner/index.tsx +2 -1
- package/breadcrumb/_story/breadcrumb.stories.js +22 -8
- package/breadcrumb/index.tsx +8 -1
- package/breadcrumb/item.tsx +1 -1
- package/button/Button.tsx +4 -0
- package/button/__test__/button.test.js +1 -1
- package/button/_story/button.stories.js +10 -10
- package/button/buttonGroup.tsx +4 -2
- package/button/splitButtonGroup.tsx +5 -2
- package/card/_story/card.stories.js +8 -1
- package/card/_story/card.stories.tsx +3 -0
- package/card/index.tsx +5 -2
- package/cascader/index.tsx +33 -5
- package/checkbox/_story/checkbox.stories.js +21 -14
- package/checkbox/checkbox.tsx +40 -5
- package/checkbox/checkboxGroup.tsx +30 -5
- package/checkbox/checkboxInner.tsx +25 -2
- package/collapse/index.tsx +2 -2
- package/collapse/item.tsx +15 -8
- package/collapsible/index.tsx +4 -2
- package/configProvider/_story/configProvider.stories.tsx +27 -0
- package/datePicker/datePicker.tsx +19 -0
- package/dist/css/semi.css +8 -3
- package/dist/css/semi.min.css +1 -1
- package/dist/umd/semi-ui.js +2470 -1242
- package/dist/umd/semi-ui.js.map +1 -1
- package/dist/umd/semi-ui.min.js +1 -1
- package/dist/umd/semi-ui.min.js.map +1 -1
- package/dropdown/dropdownItem.tsx +1 -1
- package/dropdown/dropdownMenu.tsx +1 -1
- package/empty/index.tsx +5 -5
- package/form/_story/FormApi/formApiDemo.jsx +3 -2
- package/form/_story/Validate/validateDemo.jsx +1 -1
- package/form/_story/demo.jsx +12 -3
- package/form/_story/form.stories.js +0 -7
- package/form/baseForm.tsx +2 -0
- package/form/errorMessage.tsx +13 -2
- package/form/hoc/withField.tsx +37 -8
- package/form/index.tsx +0 -2
- package/form/interface.ts +2 -0
- package/form/label.tsx +4 -2
- package/input/index.tsx +49 -4
- package/input/inputGroup.tsx +9 -4
- package/input/textarea.tsx +25 -6
- package/inputNumber/index.tsx +28 -1
- package/layout/Sider.tsx +6 -2
- package/layout/index.tsx +4 -3
- package/lib/cjs/_utils/hooks/usePrevFocus.d.ts +2 -0
- package/lib/cjs/_utils/hooks/usePrevFocus.js +30 -0
- package/lib/cjs/_utils/index.d.ts +1 -0
- package/lib/cjs/_utils/index.js +6 -1
- package/lib/cjs/anchor/index.d.ts +2 -0
- package/lib/cjs/anchor/index.js +6 -1
- package/lib/cjs/anchor/link.d.ts +4 -1
- package/lib/cjs/anchor/link.js +39 -5
- package/lib/cjs/autoComplete/index.d.ts +17 -0
- package/lib/cjs/autoComplete/index.js +21 -2
- package/lib/cjs/avatar/avatarGroup.js +2 -1
- package/lib/cjs/avatar/index.d.ts +4 -3
- package/lib/cjs/avatar/index.js +20 -11
- package/lib/cjs/banner/index.js +4 -2
- package/lib/cjs/breadcrumb/index.d.ts +3 -0
- package/lib/cjs/breadcrumb/index.js +10 -4
- package/lib/cjs/breadcrumb/item.js +2 -2
- package/lib/cjs/button/Button.d.ts +2 -0
- package/lib/cjs/button/Button.js +4 -2
- package/lib/cjs/button/buttonGroup.d.ts +3 -0
- package/lib/cjs/button/buttonGroup.js +8 -4
- package/lib/cjs/button/index.d.ts +1 -0
- package/lib/cjs/button/splitButtonGroup.d.ts +3 -0
- package/lib/cjs/button/splitButtonGroup.js +5 -2
- package/lib/cjs/card/index.d.ts +3 -0
- package/lib/cjs/card/index.js +3 -1
- package/lib/cjs/cascader/index.d.ts +14 -0
- package/lib/cjs/cascader/index.js +35 -7
- package/lib/cjs/checkbox/checkbox.d.ts +21 -1
- package/lib/cjs/checkbox/checkbox.js +51 -17
- package/lib/cjs/checkbox/checkboxGroup.d.ts +13 -1
- package/lib/cjs/checkbox/checkboxGroup.js +16 -3
- package/lib/cjs/checkbox/checkboxInner.d.ts +15 -0
- package/lib/cjs/checkbox/checkboxInner.js +20 -3
- package/lib/cjs/collapse/index.js +2 -1
- package/lib/cjs/collapse/item.d.ts +2 -1
- package/lib/cjs/collapse/item.js +17 -3
- package/lib/cjs/collapsible/index.d.ts +1 -0
- package/lib/cjs/collapsible/index.js +4 -2
- package/lib/cjs/datePicker/datePicker.d.ts +12 -0
- package/lib/cjs/datePicker/datePicker.js +14 -1
- package/lib/cjs/dropdown/dropdownItem.js +3 -1
- package/lib/cjs/dropdown/dropdownMenu.js +4 -1
- package/lib/cjs/empty/index.js +2 -1
- package/lib/cjs/form/baseForm.d.ts +9 -0
- package/lib/cjs/form/baseForm.js +3 -1
- package/lib/cjs/form/errorMessage.d.ts +4 -0
- package/lib/cjs/form/errorMessage.js +21 -3
- package/lib/cjs/form/field.d.ts +7 -0
- package/lib/cjs/form/hoc/withField.js +49 -16
- package/lib/cjs/form/index.d.ts +0 -1
- package/lib/cjs/form/interface.d.ts +2 -0
- package/lib/cjs/form/label.d.ts +2 -0
- package/lib/cjs/form/label.js +5 -2
- package/lib/cjs/input/index.d.ts +16 -0
- package/lib/cjs/input/index.js +51 -15
- package/lib/cjs/input/inputGroup.d.ts +2 -1
- package/lib/cjs/input/inputGroup.js +11 -1
- package/lib/cjs/input/textarea.js +12 -1
- package/lib/cjs/inputNumber/index.d.ts +8 -0
- package/lib/cjs/inputNumber/index.js +32 -2
- package/lib/cjs/layout/Sider.d.ts +4 -0
- package/lib/cjs/layout/Sider.js +4 -1
- package/lib/cjs/layout/index.js +2 -0
- package/lib/cjs/list/item.js +0 -1
- package/lib/cjs/modal/Modal.js +2 -0
- package/lib/cjs/modal/ModalContent.d.ts +3 -1
- package/lib/cjs/modal/ModalContent.js +47 -5
- package/lib/cjs/navigation/Item.d.ts +4 -2
- package/lib/cjs/navigation/Item.js +25 -5
- package/lib/cjs/navigation/SubNav.d.ts +4 -2
- package/lib/cjs/navigation/SubNav.js +8 -1
- package/lib/cjs/navigation/index.js +2 -0
- package/lib/cjs/notification/notice.d.ts +1 -1
- package/lib/cjs/notification/notice.js +32 -22
- package/lib/cjs/pagination/index.js +16 -6
- package/lib/cjs/popover/index.js +7 -3
- package/lib/cjs/progress/index.d.ts +8 -0
- package/lib/cjs/progress/index.js +42 -9
- package/lib/cjs/radio/radio.d.ts +6 -1
- package/lib/cjs/radio/radio.js +17 -5
- package/lib/cjs/radio/radioGroup.d.ts +16 -1
- package/lib/cjs/radio/radioGroup.js +18 -3
- package/lib/cjs/radio/radioInner.d.ts +6 -1
- package/lib/cjs/radio/radioInner.js +11 -3
- package/lib/cjs/rating/index.d.ts +14 -0
- package/lib/cjs/rating/index.js +14 -3
- package/lib/cjs/rating/item.d.ts +2 -0
- package/lib/cjs/rating/item.js +6 -1
- package/lib/cjs/select/index.d.ts +16 -0
- package/lib/cjs/select/index.js +65 -19
- package/lib/cjs/select/option.js +28 -22
- package/lib/cjs/sideSheet/SideSheetContent.d.ts +1 -0
- package/lib/cjs/sideSheet/SideSheetContent.js +12 -5
- package/lib/cjs/sideSheet/index.d.ts +1 -0
- package/lib/cjs/sideSheet/index.js +2 -1
- package/lib/cjs/slider/index.d.ts +2 -1
- package/lib/cjs/slider/index.js +64 -17
- package/lib/cjs/spin/icon.js +2 -4
- package/lib/cjs/steps/basicStep.d.ts +3 -0
- package/lib/cjs/steps/basicStep.js +23 -25
- package/lib/cjs/steps/basicSteps.d.ts +1 -0
- package/lib/cjs/steps/basicSteps.js +2 -1
- package/lib/cjs/steps/fillStep.d.ts +3 -0
- package/lib/cjs/steps/fillStep.js +19 -4
- package/lib/cjs/steps/fillSteps.d.ts +1 -0
- package/lib/cjs/steps/fillSteps.js +2 -1
- package/lib/cjs/steps/navStep.d.ts +3 -0
- package/lib/cjs/steps/navStep.js +22 -25
- package/lib/cjs/steps/navSteps.d.ts +1 -0
- package/lib/cjs/steps/navSteps.js +2 -1
- package/lib/cjs/switch/index.d.ts +12 -0
- package/lib/cjs/switch/index.js +19 -4
- package/lib/cjs/table/Body/BaseRow.js +35 -3
- package/lib/cjs/table/Body/index.js +9 -1
- package/lib/cjs/table/ColumnFilter.js +4 -0
- package/lib/cjs/table/ColumnSelection.d.ts +3 -0
- package/lib/cjs/table/ColumnSelection.js +6 -2
- package/lib/cjs/table/ColumnSorter.js +19 -3
- package/lib/cjs/table/CustomExpandIcon.js +7 -1
- package/lib/cjs/table/Table.d.ts +2 -0
- package/lib/cjs/table/Table.js +31 -15
- package/lib/cjs/table/TableCell.d.ts +2 -0
- package/lib/cjs/table/TableCell.js +6 -2
- package/lib/cjs/table/TableHeaderRow.js +8 -2
- package/lib/cjs/tabs/TabBar.js +11 -3
- package/lib/cjs/tabs/TabPane.js +3 -1
- package/lib/cjs/tabs/index.js +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.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 +44 -4
- package/lib/cjs/treeSelect/index.d.ts +16 -0
- package/lib/cjs/treeSelect/index.js +60 -12
- package/lib/cjs/typography/base.js +18 -7
- package/lib/cjs/typography/copyable.js +6 -1
- package/lib/cjs/upload/fileCard.js +23 -4
- package/lib/cjs/upload/index.js +19 -4
- package/lib/es/_utils/hooks/usePrevFocus.d.ts +2 -0
- package/lib/es/_utils/hooks/usePrevFocus.js +15 -0
- package/lib/es/_utils/index.d.ts +1 -0
- package/lib/es/_utils/index.js +4 -1
- package/lib/es/anchor/index.d.ts +2 -0
- package/lib/es/anchor/index.js +6 -1
- package/lib/es/anchor/link.d.ts +4 -1
- package/lib/es/anchor/link.js +38 -5
- package/lib/es/autoComplete/index.d.ts +17 -0
- package/lib/es/autoComplete/index.js +21 -2
- package/lib/es/avatar/avatarGroup.js +2 -1
- package/lib/es/avatar/index.d.ts +4 -3
- package/lib/es/avatar/index.js +20 -11
- package/lib/es/banner/index.js +4 -2
- package/lib/es/breadcrumb/index.d.ts +3 -0
- package/lib/es/breadcrumb/index.js +10 -4
- package/lib/es/breadcrumb/item.js +2 -2
- package/lib/es/button/Button.d.ts +2 -0
- package/lib/es/button/Button.js +4 -2
- package/lib/es/button/buttonGroup.d.ts +3 -0
- package/lib/es/button/buttonGroup.js +8 -4
- package/lib/es/button/index.d.ts +1 -0
- package/lib/es/button/splitButtonGroup.d.ts +3 -0
- package/lib/es/button/splitButtonGroup.js +5 -2
- package/lib/es/card/index.d.ts +3 -0
- package/lib/es/card/index.js +3 -1
- package/lib/es/cascader/index.d.ts +14 -0
- package/lib/es/cascader/index.js +35 -7
- package/lib/es/checkbox/checkbox.d.ts +21 -1
- package/lib/es/checkbox/checkbox.js +50 -17
- package/lib/es/checkbox/checkboxGroup.d.ts +13 -1
- package/lib/es/checkbox/checkboxGroup.js +18 -5
- package/lib/es/checkbox/checkboxInner.d.ts +15 -0
- package/lib/es/checkbox/checkboxInner.js +20 -3
- package/lib/es/collapse/index.js +2 -1
- package/lib/es/collapse/item.d.ts +2 -1
- package/lib/es/collapse/item.js +16 -3
- package/lib/es/collapsible/index.d.ts +1 -0
- package/lib/es/collapsible/index.js +4 -2
- package/lib/es/datePicker/datePicker.d.ts +12 -0
- package/lib/es/datePicker/datePicker.js +14 -1
- package/lib/es/dropdown/dropdownItem.js +3 -1
- package/lib/es/dropdown/dropdownMenu.js +4 -1
- package/lib/es/empty/index.js +2 -1
- package/lib/es/form/baseForm.d.ts +9 -0
- package/lib/es/form/baseForm.js +3 -1
- package/lib/es/form/errorMessage.d.ts +4 -0
- package/lib/es/form/errorMessage.js +21 -3
- package/lib/es/form/field.d.ts +7 -0
- package/lib/es/form/hoc/withField.js +48 -15
- package/lib/es/form/index.d.ts +0 -1
- package/lib/es/form/index.js +0 -1
- package/lib/es/form/interface.d.ts +2 -0
- package/lib/es/form/label.d.ts +2 -0
- package/lib/es/form/label.js +5 -2
- package/lib/es/input/index.d.ts +16 -0
- package/lib/es/input/index.js +51 -15
- package/lib/es/input/inputGroup.d.ts +2 -1
- package/lib/es/input/inputGroup.js +11 -1
- package/lib/es/input/textarea.js +12 -1
- package/lib/es/inputNumber/index.d.ts +8 -0
- package/lib/es/inputNumber/index.js +33 -2
- package/lib/es/layout/Sider.d.ts +4 -0
- package/lib/es/layout/Sider.js +4 -1
- package/lib/es/layout/index.js +2 -0
- package/lib/es/list/item.js +0 -1
- package/lib/es/modal/Modal.js +2 -0
- package/lib/es/modal/ModalContent.d.ts +3 -1
- package/lib/es/modal/ModalContent.js +46 -5
- package/lib/es/navigation/Item.d.ts +4 -2
- package/lib/es/navigation/Item.js +25 -5
- package/lib/es/navigation/SubNav.d.ts +4 -2
- package/lib/es/navigation/SubNav.js +8 -1
- package/lib/es/navigation/index.js +2 -0
- package/lib/es/notification/notice.d.ts +1 -1
- package/lib/es/notification/notice.js +33 -24
- package/lib/es/pagination/index.js +16 -6
- package/lib/es/popover/index.js +7 -3
- package/lib/es/progress/index.d.ts +8 -0
- package/lib/es/progress/index.js +42 -9
- package/lib/es/radio/radio.d.ts +6 -1
- package/lib/es/radio/radio.js +16 -5
- package/lib/es/radio/radioGroup.d.ts +16 -1
- package/lib/es/radio/radioGroup.js +18 -3
- package/lib/es/radio/radioInner.d.ts +6 -1
- package/lib/es/radio/radioInner.js +11 -3
- package/lib/es/rating/index.d.ts +14 -0
- package/lib/es/rating/index.js +14 -3
- package/lib/es/rating/item.d.ts +2 -0
- package/lib/es/rating/item.js +6 -1
- package/lib/es/select/index.d.ts +16 -0
- package/lib/es/select/index.js +63 -17
- package/lib/es/select/option.js +28 -22
- package/lib/es/sideSheet/SideSheetContent.d.ts +1 -0
- package/lib/es/sideSheet/SideSheetContent.js +12 -5
- package/lib/es/sideSheet/index.d.ts +1 -0
- package/lib/es/sideSheet/index.js +2 -1
- package/lib/es/slider/index.d.ts +2 -1
- package/lib/es/slider/index.js +63 -16
- package/lib/es/spin/icon.js +2 -4
- package/lib/es/steps/basicStep.d.ts +3 -0
- package/lib/es/steps/basicStep.js +23 -23
- package/lib/es/steps/basicSteps.d.ts +1 -0
- package/lib/es/steps/basicSteps.js +2 -1
- package/lib/es/steps/fillStep.d.ts +3 -0
- package/lib/es/steps/fillStep.js +19 -4
- package/lib/es/steps/fillSteps.d.ts +1 -0
- package/lib/es/steps/fillSteps.js +2 -1
- package/lib/es/steps/navStep.d.ts +3 -0
- package/lib/es/steps/navStep.js +22 -23
- package/lib/es/steps/navSteps.d.ts +1 -0
- package/lib/es/steps/navSteps.js +2 -1
- package/lib/es/switch/index.d.ts +12 -0
- package/lib/es/switch/index.js +19 -4
- package/lib/es/table/Body/BaseRow.js +35 -3
- package/lib/es/table/Body/index.js +9 -2
- package/lib/es/table/ColumnFilter.js +4 -0
- package/lib/es/table/ColumnSelection.d.ts +3 -0
- package/lib/es/table/ColumnSelection.js +6 -2
- package/lib/es/table/ColumnSorter.js +17 -3
- package/lib/es/table/CustomExpandIcon.js +6 -1
- package/lib/es/table/Table.d.ts +2 -0
- package/lib/es/table/Table.js +31 -15
- package/lib/es/table/TableCell.d.ts +2 -0
- package/lib/es/table/TableCell.js +6 -2
- package/lib/es/table/TableHeaderRow.js +8 -2
- package/lib/es/tabs/TabBar.js +11 -3
- package/lib/es/tabs/TabPane.js +3 -1
- package/lib/es/tabs/index.js +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.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 +44 -4
- package/lib/es/treeSelect/index.d.ts +16 -0
- package/lib/es/treeSelect/index.js +57 -10
- package/lib/es/typography/base.js +17 -7
- package/lib/es/typography/copyable.js +5 -1
- package/lib/es/upload/fileCard.js +23 -4
- package/lib/es/upload/index.js +19 -4
- package/list/item.tsx +0 -1
- package/modal/Modal.tsx +2 -0
- package/modal/ModalContent.tsx +35 -5
- package/navigation/Item.tsx +15 -0
- package/navigation/SubNav.tsx +13 -1
- package/navigation/index.tsx +1 -1
- package/notification/notice.tsx +19 -14
- package/package.json +8 -8
- package/pagination/index.tsx +9 -5
- package/popover/index.tsx +5 -0
- package/progress/_story/progress.stories.js +18 -18
- package/progress/index.tsx +58 -20
- package/radio/radio.tsx +12 -2
- package/radio/radioGroup.tsx +29 -3
- package/radio/radioInner.tsx +10 -1
- package/rating/index.tsx +19 -2
- package/rating/item.tsx +6 -0
- package/select/__test__/select.test.js +45 -0
- package/select/_story/select.stories.js +29 -0
- package/select/index.tsx +52 -4
- package/select/option.tsx +3 -0
- package/sideSheet/SideSheetContent.tsx +13 -9
- package/sideSheet/index.tsx +3 -2
- package/slider/__test__/slider.test.js +9 -0
- package/slider/_story/slider.stories.js +1 -1
- package/slider/index.tsx +44 -7
- package/spin/icon.tsx +3 -3
- package/steps/basicStep.tsx +15 -4
- package/steps/basicSteps.tsx +3 -2
- package/steps/fillStep.tsx +27 -12
- package/steps/fillSteps.tsx +2 -0
- package/steps/navStep.tsx +15 -4
- package/steps/navSteps.tsx +3 -2
- package/switch/_story/switch.stories.js +20 -19
- package/switch/_story/switch.stories.tsx +13 -13
- package/switch/index.tsx +23 -5
- package/table/Body/BaseRow.tsx +25 -1
- package/table/Body/index.tsx +7 -2
- package/table/ColumnFilter.tsx +7 -1
- package/table/ColumnSelection.tsx +4 -1
- package/table/ColumnSorter.tsx +18 -1
- package/table/CustomExpandIcon.tsx +5 -0
- package/table/Table.tsx +26 -13
- package/table/TableCell.tsx +11 -1
- package/table/TableHeaderRow.tsx +16 -2
- package/table/__test__/table.test.js +46 -0
- package/tabs/TabBar.tsx +8 -5
- package/tabs/TabPane.tsx +3 -1
- package/tabs/index.tsx +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 +50 -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 +46 -10
- package/treeSelect/__test__/treeMultiple.test.js +5 -0
- package/treeSelect/_story/treeSelect.stories.js +12 -0
- package/treeSelect/index.tsx +58 -7
- package/typography/base.tsx +7 -1
- package/typography/copyable.tsx +10 -1
- package/upload/fileCard.tsx +13 -15
- package/upload/index.tsx +10 -6
|
@@ -90,7 +90,10 @@ class RadioInner extends _baseComponent.default {
|
|
|
90
90
|
autoFocus,
|
|
91
91
|
name,
|
|
92
92
|
isButtonRadio,
|
|
93
|
-
isPureCardRadioGroup
|
|
93
|
+
isPureCardRadioGroup,
|
|
94
|
+
addonId,
|
|
95
|
+
extraId,
|
|
96
|
+
'aria-label': ariaLabel
|
|
94
97
|
} = this.props;
|
|
95
98
|
const {
|
|
96
99
|
checked
|
|
@@ -111,12 +114,16 @@ class RadioInner extends _baseComponent.default {
|
|
|
111
114
|
ref: ref => {
|
|
112
115
|
this.inputEntity = ref;
|
|
113
116
|
},
|
|
117
|
+
// eslint-disable-next-line jsx-a11y/no-autofocus
|
|
114
118
|
autoFocus: autoFocus,
|
|
115
119
|
type: mode === 'advanced' ? 'checkbox' : 'radio',
|
|
116
120
|
checked: Boolean(checked),
|
|
117
121
|
disabled: disabled,
|
|
118
122
|
onChange: this.onChange,
|
|
119
|
-
name: name
|
|
123
|
+
name: name,
|
|
124
|
+
"aria-label": ariaLabel,
|
|
125
|
+
"aria-labelledby": addonId,
|
|
126
|
+
"aria-describedby": extraId
|
|
120
127
|
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
121
128
|
className: inner
|
|
122
129
|
}, checked ? /*#__PURE__*/_react.default.createElement(_semiIcons.IconRadio, null) : null));
|
|
@@ -130,7 +137,8 @@ RadioInner.propTypes = {
|
|
|
130
137
|
disabled: _propTypes.default.bool,
|
|
131
138
|
isButtonRadio: _propTypes.default.bool,
|
|
132
139
|
onChange: _propTypes.default.func,
|
|
133
|
-
mode: _propTypes.default.oneOf(['advanced', ''])
|
|
140
|
+
mode: _propTypes.default.oneOf(['advanced', '']),
|
|
141
|
+
'aria-label': _propTypes.default.string
|
|
134
142
|
};
|
|
135
143
|
RadioInner.defaultProps = {
|
|
136
144
|
onChange: _noop2.default,
|
|
@@ -7,6 +7,12 @@ import RatingFoundation, { RatingAdapter } from '@douyinfe/semi-foundation/lib/c
|
|
|
7
7
|
import '@douyinfe/semi-foundation/lib/cjs/rating/rating.css';
|
|
8
8
|
export { RatingItemProps } from './item';
|
|
9
9
|
export interface RatingProps {
|
|
10
|
+
'aria-describedby'?: string;
|
|
11
|
+
'aria-errormessage'?: string;
|
|
12
|
+
'aria-invalid'?: boolean;
|
|
13
|
+
'aria-label'?: string;
|
|
14
|
+
'aria-labelledby'?: string;
|
|
15
|
+
'aria-required'?: boolean;
|
|
10
16
|
disabled?: boolean;
|
|
11
17
|
value?: number;
|
|
12
18
|
defaultValue?: number;
|
|
@@ -27,6 +33,7 @@ export interface RatingProps {
|
|
|
27
33
|
autoFocus?: boolean;
|
|
28
34
|
size?: 'small' | 'default' | number;
|
|
29
35
|
tooltips?: string[];
|
|
36
|
+
id?: string;
|
|
30
37
|
}
|
|
31
38
|
export interface RatingState {
|
|
32
39
|
value: number;
|
|
@@ -37,6 +44,12 @@ export interface RatingState {
|
|
|
37
44
|
export default class Rating extends BaseComponent<RatingProps, RatingState> {
|
|
38
45
|
static contextType: React.Context<import("../configProvider/context").ContextValue>;
|
|
39
46
|
static propTypes: {
|
|
47
|
+
'aria-describedby': PropTypes.Requireable<string>;
|
|
48
|
+
'aria-errormessage': PropTypes.Requireable<string>;
|
|
49
|
+
'aria-invalid': PropTypes.Requireable<boolean>;
|
|
50
|
+
'aria-label': PropTypes.Requireable<string>;
|
|
51
|
+
'aria-labelledby': PropTypes.Requireable<string>;
|
|
52
|
+
'aria-required': PropTypes.Requireable<boolean>;
|
|
40
53
|
disabled: PropTypes.Requireable<boolean>;
|
|
41
54
|
value: PropTypes.Requireable<number>;
|
|
42
55
|
defaultValue: PropTypes.Requireable<number>;
|
|
@@ -56,6 +69,7 @@ export default class Rating extends BaseComponent<RatingProps, RatingState> {
|
|
|
56
69
|
autoFocus: PropTypes.Requireable<boolean>;
|
|
57
70
|
size: PropTypes.Requireable<number | "default" | "small">;
|
|
58
71
|
tooltips: PropTypes.Requireable<string[]>;
|
|
72
|
+
id: PropTypes.Requireable<string>;
|
|
59
73
|
};
|
|
60
74
|
static defaultProps: {
|
|
61
75
|
defaultValue: number;
|
package/lib/cjs/rating/index.js
CHANGED
|
@@ -218,7 +218,8 @@ class Rating extends _baseComponent.default {
|
|
|
218
218
|
character,
|
|
219
219
|
tabIndex,
|
|
220
220
|
size,
|
|
221
|
-
tooltips
|
|
221
|
+
tooltips,
|
|
222
|
+
id
|
|
222
223
|
} = this.props;
|
|
223
224
|
const {
|
|
224
225
|
value,
|
|
@@ -261,6 +262,9 @@ class Rating extends _baseComponent.default {
|
|
|
261
262
|
["".concat(prefixCls, "-disabled")]: disabled
|
|
262
263
|
}, className);
|
|
263
264
|
return /*#__PURE__*/_react.default.createElement("ul", {
|
|
265
|
+
"aria-label": this.props['aria-label'],
|
|
266
|
+
"aria-labelledby": this.props['aria-labelledby'],
|
|
267
|
+
"aria-describedby": this.props['aria-describedby'],
|
|
264
268
|
className: listCls,
|
|
265
269
|
style: style,
|
|
266
270
|
onMouseLeave: disabled ? null : this.onMouseLeave,
|
|
@@ -269,7 +273,7 @@ class Rating extends _baseComponent.default {
|
|
|
269
273
|
onBlur: disabled ? null : this.onBlur,
|
|
270
274
|
onKeyDown: disabled ? null : this.onKeyDown,
|
|
271
275
|
ref: this.saveRate,
|
|
272
|
-
|
|
276
|
+
id: id
|
|
273
277
|
}, itemList);
|
|
274
278
|
}
|
|
275
279
|
|
|
@@ -278,6 +282,12 @@ class Rating extends _baseComponent.default {
|
|
|
278
282
|
exports.default = Rating;
|
|
279
283
|
Rating.contextType = _context4.default;
|
|
280
284
|
Rating.propTypes = {
|
|
285
|
+
'aria-describedby': _propTypes.default.string,
|
|
286
|
+
'aria-errormessage': _propTypes.default.string,
|
|
287
|
+
'aria-invalid': _propTypes.default.bool,
|
|
288
|
+
'aria-label': _propTypes.default.string,
|
|
289
|
+
'aria-labelledby': _propTypes.default.string,
|
|
290
|
+
'aria-required': _propTypes.default.bool,
|
|
281
291
|
disabled: _propTypes.default.bool,
|
|
282
292
|
value: _propTypes.default.number,
|
|
283
293
|
defaultValue: _propTypes.default.number,
|
|
@@ -296,7 +306,8 @@ Rating.propTypes = {
|
|
|
296
306
|
onKeyDown: _propTypes.default.func,
|
|
297
307
|
autoFocus: _propTypes.default.bool,
|
|
298
308
|
size: _propTypes.default.oneOfType([_propTypes.default.oneOf(_constants.strings.SIZE_SET), _propTypes.default.number]),
|
|
299
|
-
tooltips: _propTypes.default.arrayOf(_propTypes.default.string)
|
|
309
|
+
tooltips: _propTypes.default.arrayOf(_propTypes.default.string),
|
|
310
|
+
id: _propTypes.default.string
|
|
300
311
|
};
|
|
301
312
|
Rating.defaultProps = {
|
|
302
313
|
defaultValue: 0,
|
package/lib/cjs/rating/item.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export interface RatingItemProps {
|
|
|
15
15
|
disabled: boolean;
|
|
16
16
|
count: number;
|
|
17
17
|
size: number | ArrayElement<typeof strings.SIZE_SET>;
|
|
18
|
+
'aria-describedby'?: React.AriaAttributes['aria-describedby'];
|
|
18
19
|
}
|
|
19
20
|
export default class Item extends PureComponent<RatingItemProps> {
|
|
20
21
|
static propTypes: {
|
|
@@ -29,6 +30,7 @@ export default class Item extends PureComponent<RatingItemProps> {
|
|
|
29
30
|
disabled: PropTypes.Requireable<boolean>;
|
|
30
31
|
count: PropTypes.Requireable<number>;
|
|
31
32
|
size: PropTypes.Requireable<number | "default" | "small">;
|
|
33
|
+
'aria-describedby': PropTypes.Requireable<string>;
|
|
32
34
|
};
|
|
33
35
|
onHover: React.MouseEventHandler;
|
|
34
36
|
onClick: React.MouseEventHandler;
|
package/lib/cjs/rating/item.js
CHANGED
|
@@ -114,6 +114,10 @@ class Item extends _react.PureComponent {
|
|
|
114
114
|
"aria-checked": value > index ? 'true' : 'false',
|
|
115
115
|
"aria-posinset": index + 1,
|
|
116
116
|
"aria-setsize": count,
|
|
117
|
+
"aria-disabled": disabled,
|
|
118
|
+
"aria-label": "Rating ".concat(index + (isHalf ? 0.5 : 1)),
|
|
119
|
+
"aria-labelledby": this.props['aria-describedby'],
|
|
120
|
+
"aria-describedby": this.props['aria-describedby'],
|
|
117
121
|
tabIndex: 0,
|
|
118
122
|
className: "".concat(prefixCls, "-wrapper")
|
|
119
123
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -140,5 +144,6 @@ Item.propTypes = {
|
|
|
140
144
|
focused: _propTypes.default.bool,
|
|
141
145
|
disabled: _propTypes.default.bool,
|
|
142
146
|
count: _propTypes.default.number,
|
|
143
|
-
size: _propTypes.default.oneOfType([_propTypes.default.oneOf(_constants.strings.SIZE_SET), _propTypes.default.number])
|
|
147
|
+
size: _propTypes.default.oneOfType([_propTypes.default.oneOf(_constants.strings.SIZE_SET), _propTypes.default.number]),
|
|
148
|
+
'aria-describedby': _propTypes.default.string
|
|
144
149
|
};
|
|
@@ -55,8 +55,14 @@ export declare type RenderMultipleSelectedItemFn = (optionNode: Record<string, a
|
|
|
55
55
|
};
|
|
56
56
|
export declare type RenderSelectedItemFn = RenderSingleSelectedItemFn | RenderMultipleSelectedItemFn;
|
|
57
57
|
export declare type SelectProps = {
|
|
58
|
+
'aria-describedby'?: React.AriaAttributes['aria-describedby'];
|
|
59
|
+
'aria-errormessage'?: React.AriaAttributes['aria-errormessage'];
|
|
60
|
+
'aria-invalid'?: React.AriaAttributes['aria-invalid'];
|
|
61
|
+
'aria-labelledby'?: React.AriaAttributes['aria-labelledby'];
|
|
62
|
+
'aria-required'?: React.AriaAttributes['aria-required'];
|
|
58
63
|
id?: string;
|
|
59
64
|
autoFocus?: boolean;
|
|
65
|
+
autoClearSearchValue?: boolean;
|
|
60
66
|
arrowIcon?: React.ReactNode;
|
|
61
67
|
defaultValue?: string | number | any[] | Record<string, any>;
|
|
62
68
|
value?: string | number | any[] | Record<string, any>;
|
|
@@ -92,6 +98,7 @@ export declare type SelectProps = {
|
|
|
92
98
|
suffix?: React.ReactNode;
|
|
93
99
|
prefix?: React.ReactNode;
|
|
94
100
|
insetLabel?: React.ReactNode;
|
|
101
|
+
insetLabelId?: string;
|
|
95
102
|
inputProps?: Subtract<InputProps, ExcludeInputType>;
|
|
96
103
|
showClear?: boolean;
|
|
97
104
|
showArrow?: boolean;
|
|
@@ -134,7 +141,13 @@ declare class Select extends BaseComponent<SelectProps, SelectState> {
|
|
|
134
141
|
static Option: typeof Option;
|
|
135
142
|
static OptGroup: typeof OptionGroup;
|
|
136
143
|
static propTypes: {
|
|
144
|
+
'aria-describedby': PropTypes.Requireable<string>;
|
|
145
|
+
'aria-errormessage': PropTypes.Requireable<string>;
|
|
146
|
+
'aria-invalid': PropTypes.Requireable<boolean>;
|
|
147
|
+
'aria-labelledby': PropTypes.Requireable<string>;
|
|
148
|
+
'aria-required': PropTypes.Requireable<boolean>;
|
|
137
149
|
autoFocus: PropTypes.Requireable<boolean>;
|
|
150
|
+
autoClearSearchValue: PropTypes.Requireable<boolean>;
|
|
138
151
|
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
139
152
|
defaultValue: PropTypes.Requireable<string | number | object>;
|
|
140
153
|
value: PropTypes.Requireable<string | number | object>;
|
|
@@ -175,6 +188,7 @@ declare class Select extends BaseComponent<SelectProps, SelectState> {
|
|
|
175
188
|
suffix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
176
189
|
prefix: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
177
190
|
insetLabel: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
191
|
+
insetLabelId: PropTypes.Requireable<string>;
|
|
178
192
|
showClear: PropTypes.Requireable<boolean>;
|
|
179
193
|
showArrow: PropTypes.Requireable<boolean>;
|
|
180
194
|
renderSelectedItem: PropTypes.Requireable<(...args: any[]) => any>;
|
|
@@ -223,6 +237,7 @@ declare class Select extends BaseComponent<SelectProps, SelectState> {
|
|
|
223
237
|
focus(): void;
|
|
224
238
|
onSelect(option: OptionProps, optionIndex: number, e: any): void;
|
|
225
239
|
onClear(e: React.MouseEvent): void;
|
|
240
|
+
onClearBtnEnterPress(e: React.KeyboardEvent): void;
|
|
226
241
|
renderEmpty(): JSX.Element;
|
|
227
242
|
renderLoading(): JSX.Element;
|
|
228
243
|
renderOption(option: OptionProps, optionIndex: number, style?: React.CSSProperties): any;
|
|
@@ -235,6 +250,7 @@ declare class Select extends BaseComponent<SelectProps, SelectState> {
|
|
|
235
250
|
renderMultipleSelection(selections: Map<OptionProps['label'], any>, filterable: boolean): JSX.Element;
|
|
236
251
|
onMouseEnter(e: MouseEvent): void;
|
|
237
252
|
onMouseLeave(e: MouseEvent): void;
|
|
253
|
+
onKeyPress(e: React.KeyboardEvent): void;
|
|
238
254
|
handlePopoverVisibleChange(status: any): void;
|
|
239
255
|
renderSuffix(): JSX.Element;
|
|
240
256
|
renderPrefix(): JSX.Element;
|
package/lib/cjs/select/index.js
CHANGED
|
@@ -56,7 +56,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
56
56
|
|
|
57
57
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
58
58
|
|
|
59
|
-
var
|
|
59
|
+
var _context15 = _interopRequireDefault(require("../configProvider/context"));
|
|
60
60
|
|
|
61
61
|
var _foundation = _interopRequireDefault(require("@douyinfe/semi-foundation/lib/cjs/select/foundation"));
|
|
62
62
|
|
|
@@ -110,7 +110,7 @@ const key = 0; // Notes: Use the label of the option as the identifier, that is,
|
|
|
110
110
|
|
|
111
111
|
class Select extends _baseComponent.default {
|
|
112
112
|
constructor(props) {
|
|
113
|
-
var _context, _context2, _context3, _context4, _context5, _context6;
|
|
113
|
+
var _context, _context2, _context3, _context4, _context5, _context6, _context7, _context8;
|
|
114
114
|
|
|
115
115
|
super(props);
|
|
116
116
|
|
|
@@ -143,6 +143,8 @@ class Select extends _baseComponent.default {
|
|
|
143
143
|
this.onMouseEnter = (0, _bind.default)(_context4 = this.onMouseEnter).call(_context4, this);
|
|
144
144
|
this.onMouseLeave = (0, _bind.default)(_context5 = this.onMouseLeave).call(_context5, this);
|
|
145
145
|
this.renderOption = (0, _bind.default)(_context6 = this.renderOption).call(_context6, this);
|
|
146
|
+
this.onKeyPress = (0, _bind.default)(_context7 = this.onKeyPress).call(_context7, this);
|
|
147
|
+
this.onClearBtnEnterPress = (0, _bind.default)(_context8 = this.onClearBtnEnterPress).call(_context8, this);
|
|
146
148
|
this.foundation = new _foundation.default(this.adapter);
|
|
147
149
|
(0, _warning.default)('optionLabelProp' in this.props, '[Semi Select] \'optionLabelProp\' has already been deprecated, please use \'renderSelectedItem\' instead.');
|
|
148
150
|
(0, _warning.default)('labelInValue' in this.props, '[Semi Select] \'labelInValue\' has already been deprecated, please use \'onChangeWithObject\' instead.');
|
|
@@ -346,10 +348,10 @@ class Select extends _baseComponent.default {
|
|
|
346
348
|
} catch (error) {}
|
|
347
349
|
},
|
|
348
350
|
updateScrollTop: () => {
|
|
349
|
-
var
|
|
351
|
+
var _context9, _context10;
|
|
350
352
|
|
|
351
353
|
// eslint-disable-next-line max-len
|
|
352
|
-
let destNode = document.querySelector((0, _concat.default)(
|
|
354
|
+
let destNode = document.querySelector((0, _concat.default)(_context9 = (0, _concat.default)(_context10 = "#".concat(prefixcls, "-")).call(_context10, this.selectOptionListID, " .")).call(_context9, prefixcls, "-option-selected"));
|
|
353
355
|
|
|
354
356
|
if ((0, _isArray.default)(destNode)) {
|
|
355
357
|
// eslint-disable-next-line prefer-destructuring
|
|
@@ -377,10 +379,10 @@ class Select extends _baseComponent.default {
|
|
|
377
379
|
}
|
|
378
380
|
|
|
379
381
|
componentDidUpdate(prevProps, prevState) {
|
|
380
|
-
var
|
|
382
|
+
var _context11, _context12;
|
|
381
383
|
|
|
382
|
-
const prevChildrenKeys = (0, _map2.default)(
|
|
383
|
-
const nowChildrenKeys = (0, _map2.default)(
|
|
384
|
+
const prevChildrenKeys = (0, _map2.default)(_context11 = _react.default.Children.toArray(prevProps.children)).call(_context11, child => child.key);
|
|
385
|
+
const nowChildrenKeys = (0, _map2.default)(_context12 = _react.default.Children.toArray(this.props.children)).call(_context12, child => child.key);
|
|
384
386
|
let isOptionsChanged = false;
|
|
385
387
|
|
|
386
388
|
if (!(0, _isEqual2.default)(prevChildrenKeys, nowChildrenKeys) || !(0, _isEqual2.default)(prevProps.optionList, this.props.optionList)) {
|
|
@@ -471,6 +473,10 @@ class Select extends _baseComponent.default {
|
|
|
471
473
|
this.foundation.handleClearClick(e);
|
|
472
474
|
}
|
|
473
475
|
|
|
476
|
+
onClearBtnEnterPress(e) {
|
|
477
|
+
this.foundation.handleClearBtnEnterPress(e);
|
|
478
|
+
}
|
|
479
|
+
|
|
474
480
|
renderEmpty() {
|
|
475
481
|
return /*#__PURE__*/_react.default.createElement(_option.default, {
|
|
476
482
|
empty: true,
|
|
@@ -550,10 +556,16 @@ class Select extends _baseComponent.default {
|
|
|
550
556
|
}
|
|
551
557
|
|
|
552
558
|
const customCreateItem = renderCreateItem(option.value, isFocused);
|
|
553
|
-
return
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
559
|
+
return (
|
|
560
|
+
/*#__PURE__*/
|
|
561
|
+
// eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/interactive-supports-focus
|
|
562
|
+
_react.default.createElement("div", {
|
|
563
|
+
role: "button",
|
|
564
|
+
"aria-label": "Use the input box to create an optional item",
|
|
565
|
+
onClick: e => this.onSelect(option, optionIndex, e),
|
|
566
|
+
key: new Date().valueOf()
|
|
567
|
+
}, customCreateItem)
|
|
568
|
+
);
|
|
557
569
|
}
|
|
558
570
|
|
|
559
571
|
onOptionHover(optionIndex) {
|
|
@@ -615,7 +627,7 @@ class Select extends _baseComponent.default {
|
|
|
615
627
|
}
|
|
616
628
|
|
|
617
629
|
renderOptions(children) {
|
|
618
|
-
var
|
|
630
|
+
var _context13;
|
|
619
631
|
|
|
620
632
|
const {
|
|
621
633
|
dropdownMinWidth,
|
|
@@ -631,7 +643,8 @@ class Select extends _baseComponent.default {
|
|
|
631
643
|
outerBottomSlot,
|
|
632
644
|
innerBottomSlot,
|
|
633
645
|
loading,
|
|
634
|
-
virtualize
|
|
646
|
+
virtualize,
|
|
647
|
+
multiple
|
|
635
648
|
} = this.props; // Do a filter first, instead of directly judging in forEach, so that the focusIndex can correspond to
|
|
636
649
|
|
|
637
650
|
const visibileOptions = (0, _filter.default)(options).call(options, item => item._show);
|
|
@@ -650,7 +663,7 @@ class Select extends _baseComponent.default {
|
|
|
650
663
|
});
|
|
651
664
|
const isEmpty = !options.length || !(0, _some.default)(options).call(options, item => item._show);
|
|
652
665
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
653
|
-
id: (0, _concat.default)(
|
|
666
|
+
id: (0, _concat.default)(_context13 = "".concat(prefixcls, "-")).call(_context13, this.selectOptionListID),
|
|
654
667
|
className: dropdownClassName,
|
|
655
668
|
style: style
|
|
656
669
|
}, outerTopSlot, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -659,6 +672,7 @@ class Select extends _baseComponent.default {
|
|
|
659
672
|
},
|
|
660
673
|
className: optionListCls,
|
|
661
674
|
role: "listbox",
|
|
675
|
+
"aria-multiselectable": multiple,
|
|
662
676
|
onScroll: e => this.foundation.handleListScroll(e)
|
|
663
677
|
}, innerTopSlot, !loading ? listContent : this.renderLoading(), isEmpty && !loading ? this.renderEmpty() : null, innerBottomSlot), outerBottomSlot);
|
|
664
678
|
}
|
|
@@ -803,6 +817,10 @@ class Select extends _baseComponent.default {
|
|
|
803
817
|
onMouseLeave(e) {
|
|
804
818
|
this.foundation.handleMouseLeave(e);
|
|
805
819
|
}
|
|
820
|
+
|
|
821
|
+
onKeyPress(e) {
|
|
822
|
+
this.foundation.handleKeyPress(e);
|
|
823
|
+
}
|
|
806
824
|
/* Processing logic when popover visible changes */
|
|
807
825
|
|
|
808
826
|
|
|
@@ -856,7 +874,8 @@ class Select extends _baseComponent.default {
|
|
|
856
874
|
renderPrefix() {
|
|
857
875
|
const {
|
|
858
876
|
prefix,
|
|
859
|
-
insetLabel
|
|
877
|
+
insetLabel,
|
|
878
|
+
insetLabelId
|
|
860
879
|
} = this.props;
|
|
861
880
|
const labelNode = prefix || insetLabel;
|
|
862
881
|
const prefixWrapperCls = (0, _classnames.default)({
|
|
@@ -866,11 +885,14 @@ class Select extends _baseComponent.default {
|
|
|
866
885
|
["".concat(prefixcls, "-prefix-icon")]: (0, _utils2.isSemiIcon)(labelNode)
|
|
867
886
|
});
|
|
868
887
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
869
|
-
className: prefixWrapperCls
|
|
888
|
+
className: prefixWrapperCls,
|
|
889
|
+
id: insetLabelId
|
|
870
890
|
}, labelNode);
|
|
871
891
|
}
|
|
872
892
|
|
|
873
893
|
renderSelection() {
|
|
894
|
+
var _context14;
|
|
895
|
+
|
|
874
896
|
const {
|
|
875
897
|
disabled,
|
|
876
898
|
multiple,
|
|
@@ -939,13 +961,28 @@ class Select extends _baseComponent.default {
|
|
|
939
961
|
}, multiple ? this.renderMultipleSelection(selections, filterable) : this.renderSingleSelection(selections, filterable))), /*#__PURE__*/_react.default.createElement(_react.Fragment, {
|
|
940
962
|
key: "clearicon"
|
|
941
963
|
}, showClear ? /*#__PURE__*/_react.default.createElement("div", {
|
|
964
|
+
role: "button",
|
|
965
|
+
"aria-label": "Clear selected value",
|
|
966
|
+
tabIndex: 0,
|
|
942
967
|
className: (0, _classnames.default)("".concat(prefixcls, "-clear")),
|
|
943
|
-
onClick: this.onClear
|
|
968
|
+
onClick: this.onClear,
|
|
969
|
+
onKeyPress: this.onClearBtnEnterPress
|
|
944
970
|
}, /*#__PURE__*/_react.default.createElement(_semiIcons.IconClear, null)) : arrowContent), /*#__PURE__*/_react.default.createElement(_react.Fragment, {
|
|
945
971
|
key: "suffix"
|
|
946
972
|
}, suffix ? this.renderSuffix() : null)];
|
|
947
973
|
const tabIndex = disabled ? null : 0;
|
|
948
974
|
return /*#__PURE__*/_react.default.createElement("div", (0, _assign.default)({
|
|
975
|
+
role: "combobox",
|
|
976
|
+
"aria-disabled": disabled,
|
|
977
|
+
"aria-expanded": isOpen,
|
|
978
|
+
"aria-controls": (0, _concat.default)(_context14 = "".concat(prefixcls, "-")).call(_context14, this.selectOptionListID),
|
|
979
|
+
"aria-haspopup": "listbox",
|
|
980
|
+
"aria-label": "select value",
|
|
981
|
+
"aria-invalid": this.props['aria-invalid'],
|
|
982
|
+
"aria-errormessage": this.props['aria-errormessage'],
|
|
983
|
+
"aria-labelledby": this.props['aria-labelledby'],
|
|
984
|
+
"aria-describedby": this.props['aria-describedby'],
|
|
985
|
+
"aria-required": this.props['aria-required'],
|
|
949
986
|
className: selectionCls,
|
|
950
987
|
ref: ref => this.triggerRef.current = ref,
|
|
951
988
|
onClick: e => this.foundation.handleClick(e),
|
|
@@ -955,7 +992,8 @@ class Select extends _baseComponent.default {
|
|
|
955
992
|
onMouseEnter: this.onMouseEnter,
|
|
956
993
|
onMouseLeave: this.onMouseLeave,
|
|
957
994
|
// onFocus={e => this.foundation.handleTriggerFocus(e)}
|
|
958
|
-
onBlur: e => this.foundation.handleTriggerBlur(e)
|
|
995
|
+
onBlur: e => this.foundation.handleTriggerBlur(e),
|
|
996
|
+
onKeyPress: this.onKeyPress
|
|
959
997
|
}, keyboardEventSet), inner);
|
|
960
998
|
}
|
|
961
999
|
|
|
@@ -1004,11 +1042,17 @@ class Select extends _baseComponent.default {
|
|
|
1004
1042
|
|
|
1005
1043
|
}
|
|
1006
1044
|
|
|
1007
|
-
Select.contextType =
|
|
1045
|
+
Select.contextType = _context15.default;
|
|
1008
1046
|
Select.Option = _option.default;
|
|
1009
1047
|
Select.OptGroup = _optionGroup.default;
|
|
1010
1048
|
Select.propTypes = {
|
|
1049
|
+
'aria-describedby': _propTypes.default.string,
|
|
1050
|
+
'aria-errormessage': _propTypes.default.string,
|
|
1051
|
+
'aria-invalid': _propTypes.default.bool,
|
|
1052
|
+
'aria-labelledby': _propTypes.default.string,
|
|
1053
|
+
'aria-required': _propTypes.default.bool,
|
|
1011
1054
|
autoFocus: _propTypes.default.bool,
|
|
1055
|
+
autoClearSearchValue: _propTypes.default.bool,
|
|
1012
1056
|
children: _propTypes.default.node,
|
|
1013
1057
|
defaultValue: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.array, _propTypes.default.object]),
|
|
1014
1058
|
value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.array, _propTypes.default.object]),
|
|
@@ -1053,6 +1097,7 @@ Select.propTypes = {
|
|
|
1053
1097
|
suffix: _propTypes.default.node,
|
|
1054
1098
|
prefix: _propTypes.default.node,
|
|
1055
1099
|
insetLabel: _propTypes.default.node,
|
|
1100
|
+
insetLabelId: _propTypes.default.string,
|
|
1056
1101
|
showClear: _propTypes.default.bool,
|
|
1057
1102
|
showArrow: _propTypes.default.bool,
|
|
1058
1103
|
renderSelectedItem: _propTypes.default.func,
|
|
@@ -1113,6 +1158,7 @@ Select.defaultProps = {
|
|
|
1113
1158
|
showClear: false,
|
|
1114
1159
|
remote: false,
|
|
1115
1160
|
autoAdjustOverflow: true,
|
|
1161
|
+
autoClearSearchValue: true,
|
|
1116
1162
|
arrowIcon: /*#__PURE__*/_react.default.createElement(_semiIcons.IconChevronDown, null) // Radio selection is different from the default renderSelectedItem for multiple selection, so it is not declared here
|
|
1117
1163
|
// renderSelectedItem: (optionNode) => optionNode.label,
|
|
1118
1164
|
// The default creator rendering is related to i18, so it is not declared here
|
package/lib/cjs/select/option.js
CHANGED
|
@@ -159,28 +159,34 @@ class Option extends _react.PureComponent {
|
|
|
159
159
|
highlightClassName: "".concat(prefixCls, "-keyword")
|
|
160
160
|
}
|
|
161
161
|
};
|
|
162
|
-
return
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
162
|
+
return (
|
|
163
|
+
/*#__PURE__*/
|
|
164
|
+
// eslint-disable-next-line jsx-a11y/interactive-supports-focus,jsx-a11y/click-events-have-key-events
|
|
165
|
+
_react.default.createElement("div", {
|
|
166
|
+
className: optionClassName,
|
|
167
|
+
onClick: e => {
|
|
168
|
+
this.onClick((0, _assign.default)({
|
|
169
|
+
value,
|
|
170
|
+
label,
|
|
171
|
+
children
|
|
172
|
+
}, rest), e);
|
|
173
|
+
},
|
|
174
|
+
onMouseEnter: e => onMouseEnter && onMouseEnter(e),
|
|
175
|
+
role: "option",
|
|
176
|
+
"aria-selected": selected ? "true" : "false",
|
|
177
|
+
"aria-disabled": disabled ? "true" : "false",
|
|
178
|
+
style: style
|
|
179
|
+
}, showTick ? /*#__PURE__*/_react.default.createElement("div", {
|
|
180
|
+
className: selectedIconClassName
|
|
181
|
+
}, /*#__PURE__*/_react.default.createElement(_semiIcons.IconTick, null)) : null, (0, _isString2.default)(children) ? /*#__PURE__*/_react.default.createElement("div", {
|
|
182
|
+
className: "".concat(prefixCls, "-text")
|
|
183
|
+
}, this.renderOptionContent({
|
|
184
|
+
children,
|
|
185
|
+
config,
|
|
186
|
+
inputValue,
|
|
187
|
+
prefixCls
|
|
188
|
+
})) : children)
|
|
189
|
+
);
|
|
184
190
|
}
|
|
185
191
|
|
|
186
192
|
}
|
|
@@ -14,6 +14,7 @@ export interface SideSheetContentProps {
|
|
|
14
14
|
bodyStyle?: CSSProperties;
|
|
15
15
|
className: string;
|
|
16
16
|
footer?: React.ReactNode;
|
|
17
|
+
'aria-label'?: string;
|
|
17
18
|
}
|
|
18
19
|
export default class SideSheetContent extends React.PureComponent<SideSheetContentProps> {
|
|
19
20
|
static propTypes: {
|
|
@@ -81,6 +81,7 @@ class SideSheetContent extends _react.default.PureComponent {
|
|
|
81
81
|
|
|
82
82
|
if (mask) {
|
|
83
83
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
84
|
+
"aria-hidden": true,
|
|
84
85
|
key: "mask",
|
|
85
86
|
className: "".concat(prefixCls, "-mask"),
|
|
86
87
|
style: maskStyle,
|
|
@@ -101,7 +102,8 @@ class SideSheetContent extends _react.default.PureComponent {
|
|
|
101
102
|
|
|
102
103
|
if (title) {
|
|
103
104
|
header = /*#__PURE__*/_react.default.createElement("div", {
|
|
104
|
-
className: "".concat(prefixCls, "-title")
|
|
105
|
+
className: "".concat(prefixCls, "-title"),
|
|
106
|
+
"aria-label": 'Sidesheet title'
|
|
105
107
|
}, this.props.title);
|
|
106
108
|
}
|
|
107
109
|
|
|
@@ -119,6 +121,7 @@ class SideSheetContent extends _react.default.PureComponent {
|
|
|
119
121
|
|
|
120
122
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
121
123
|
className: "".concat(prefixCls, "-header"),
|
|
124
|
+
role: 'heading',
|
|
122
125
|
style: (0, _assign.default)({}, headerStyle)
|
|
123
126
|
}, header, closer);
|
|
124
127
|
}
|
|
@@ -146,18 +149,21 @@ class SideSheetContent extends _react.default.PureComponent {
|
|
|
146
149
|
|
|
147
150
|
const dialogElement = /*#__PURE__*/_react.default.createElement("div", {
|
|
148
151
|
key: "dialog-element",
|
|
149
|
-
role: "
|
|
152
|
+
role: "dialog",
|
|
150
153
|
tabIndex: -1,
|
|
151
154
|
className: (0, _concat.default)(_context = "".concat(prefixCls, "-inner ")).call(_context, prefixCls, "-inner-wrap"),
|
|
152
155
|
// onMouseDown={this.onDialogMouseDown}
|
|
153
156
|
style: (0, _assign.default)((0, _assign.default)({}, props.style), style)
|
|
154
157
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
155
|
-
className: "".concat(prefixCls, "-content")
|
|
158
|
+
className: "".concat(prefixCls, "-content"),
|
|
159
|
+
"aria-label": "Sidesheet content"
|
|
156
160
|
}, header, /*#__PURE__*/_react.default.createElement("div", {
|
|
157
161
|
className: "".concat(prefixCls, "-body"),
|
|
162
|
+
"aria-label": "Sidesheet body",
|
|
158
163
|
style: props.bodyStyle
|
|
159
164
|
}, props.children), props.footer ? /*#__PURE__*/_react.default.createElement("div", {
|
|
160
|
-
className: "".concat(prefixCls, "-footer")
|
|
165
|
+
className: "".concat(prefixCls, "-footer"),
|
|
166
|
+
"aria-label": "Sidesheet footer"
|
|
161
167
|
}, props.footer) : null));
|
|
162
168
|
|
|
163
169
|
return dialogElement;
|
|
@@ -180,7 +186,8 @@ class SideSheetContent extends _react.default.PureComponent {
|
|
|
180
186
|
|
|
181
187
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
182
188
|
className: wrapperCls,
|
|
183
|
-
style: wrapperStyle
|
|
189
|
+
style: wrapperStyle,
|
|
190
|
+
"aria-label": this.props['aria-label']
|
|
184
191
|
}, this.getMaskElement(), this.getDialogElement());
|
|
185
192
|
}
|
|
186
193
|
|
|
@@ -43,6 +43,7 @@ export default class SideSheet extends BaseComponent<SideSheetReactProps, SideSh
|
|
|
43
43
|
closeOnEsc: PropTypes.Requireable<boolean>;
|
|
44
44
|
footer: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
45
45
|
keepDOM: PropTypes.Requireable<boolean>;
|
|
46
|
+
'aria-label': PropTypes.Requireable<string>;
|
|
46
47
|
};
|
|
47
48
|
static defaultProps: SideSheetReactProps;
|
|
48
49
|
private _active;
|
|
@@ -284,7 +284,8 @@ SideSheet.propTypes = {
|
|
|
284
284
|
afterVisibleChange: _propTypes.default.func,
|
|
285
285
|
closeOnEsc: _propTypes.default.bool,
|
|
286
286
|
footer: _propTypes.default.node,
|
|
287
|
-
keepDOM: _propTypes.default.bool
|
|
287
|
+
keepDOM: _propTypes.default.bool,
|
|
288
|
+
'aria-label': _propTypes.default.string
|
|
288
289
|
};
|
|
289
290
|
SideSheet.defaultProps = {
|
|
290
291
|
visible: false,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CSSProperties } from 'react';
|
|
2
2
|
import BaseComponent from '../_base/baseComponent';
|
|
3
|
-
import { SliderAdapter, SliderProps as BasicSliceProps, SliderState } from '@douyinfe/semi-foundation/lib/cjs/slider/foundation';
|
|
3
|
+
import SliderFoundation, { SliderAdapter, SliderProps as BasicSliceProps, SliderState } from '@douyinfe/semi-foundation/lib/cjs/slider/foundation';
|
|
4
4
|
import '@douyinfe/semi-foundation/lib/cjs/slider/slider.css';
|
|
5
5
|
export interface SliderProps extends BasicSliceProps {
|
|
6
6
|
style?: CSSProperties;
|
|
@@ -16,6 +16,7 @@ export default class Slider extends BaseComponent<SliderProps, SliderState> {
|
|
|
16
16
|
private dragging;
|
|
17
17
|
private eventListenerSet;
|
|
18
18
|
private chooseMovePos;
|
|
19
|
+
foundation: SliderFoundation;
|
|
19
20
|
constructor(props: SliderProps);
|
|
20
21
|
get adapter(): SliderAdapter;
|
|
21
22
|
componentDidMount(): void;
|