@douyinfe/semi-ui 2.27.1-alpha.0 → 2.27.1-alpha.2
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/dist/css/semi.css +69 -0
- package/dist/css/semi.min.css +1 -1
- package/dist/umd/semi-ui.js +2049 -1988
- 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/lib/cjs/_portal/index.js +2 -2
- package/lib/cjs/_utils/index.js +3 -1
- package/lib/cjs/anchor/index.d.ts +1 -1
- package/lib/cjs/anchor/index.js +9 -9
- package/lib/cjs/anchor/link.js +8 -8
- package/lib/cjs/autoComplete/index.d.ts +1 -1
- package/lib/cjs/autoComplete/index.js +8 -4
- package/lib/cjs/autoComplete/option.js +7 -7
- package/lib/cjs/avatar/avatarGroup.js +7 -7
- package/lib/cjs/avatar/index.js +12 -12
- package/lib/cjs/badge/index.js +8 -8
- package/lib/cjs/banner/index.js +12 -12
- package/lib/cjs/breadcrumb/index.js +12 -12
- package/lib/cjs/breadcrumb/item.js +8 -8
- package/lib/cjs/button/Button.d.ts +1 -1
- package/lib/cjs/button/Button.js +9 -9
- package/lib/cjs/button/buttonGroup.d.ts +1 -1
- package/lib/cjs/button/buttonGroup.js +5 -5
- package/lib/cjs/button/index.d.ts +1 -1
- package/lib/cjs/button/splitButtonGroup.js +1 -1
- package/lib/cjs/calendar/dayCalendar.js +13 -13
- package/lib/cjs/calendar/dayCol.js +17 -17
- package/lib/cjs/calendar/monthCalendar.js +38 -38
- package/lib/cjs/calendar/rangeCalendar.js +27 -27
- package/lib/cjs/calendar/timeCol.js +6 -6
- package/lib/cjs/calendar/weekCalendar.js +27 -27
- package/lib/cjs/card/cardGroup.js +2 -2
- package/lib/cjs/card/index.js +16 -16
- package/lib/cjs/card/meta.js +5 -5
- package/lib/cjs/carousel/CarouselArrow.js +6 -6
- package/lib/cjs/carousel/CarouselIndicator.d.ts +1 -1
- package/lib/cjs/carousel/CarouselIndicator.js +6 -6
- package/lib/cjs/carousel/index.d.ts +2 -2
- package/lib/cjs/carousel/index.js +12 -12
- package/lib/cjs/cascader/index.d.ts +1 -1
- package/lib/cjs/cascader/index.js +36 -36
- package/lib/cjs/cascader/item.d.ts +1 -1
- package/lib/cjs/cascader/item.js +25 -25
- package/lib/cjs/checkbox/checkbox.js +14 -14
- package/lib/cjs/checkbox/checkboxGroup.js +4 -4
- package/lib/cjs/checkbox/checkboxInner.js +6 -6
- package/lib/cjs/collapse/item.js +9 -9
- package/lib/cjs/collapsible/index.js +3 -3
- package/lib/cjs/configProvider/index.js +1 -1
- package/lib/cjs/datePicker/dateInput.d.ts +1 -1
- package/lib/cjs/datePicker/dateInput.js +16 -16
- package/lib/cjs/datePicker/datePicker.d.ts +2 -2
- package/lib/cjs/datePicker/datePicker.js +9 -9
- package/lib/cjs/datePicker/footer.js +1 -1
- package/lib/cjs/datePicker/index.js +1 -1
- package/lib/cjs/datePicker/month.js +2 -2
- package/lib/cjs/datePicker/monthsGrid.d.ts +1 -1
- package/lib/cjs/datePicker/monthsGrid.js +27 -27
- package/lib/cjs/datePicker/navigation.js +1 -1
- package/lib/cjs/datePicker/quickControl.js +14 -14
- package/lib/cjs/datePicker/yearAndMonth.js +4 -4
- package/lib/cjs/descriptions/index.js +3 -3
- package/lib/cjs/descriptions/item.js +5 -5
- package/lib/cjs/divider/index.js +7 -7
- package/lib/cjs/dropdown/dropdownDivider.js +1 -1
- package/lib/cjs/dropdown/dropdownItem.d.ts +1 -1
- package/lib/cjs/dropdown/dropdownItem.js +7 -7
- package/lib/cjs/dropdown/dropdownMenu.js +1 -1
- package/lib/cjs/dropdown/dropdownTitle.js +2 -2
- package/lib/cjs/dropdown/index.js +3 -3
- package/lib/cjs/empty/index.js +7 -7
- package/lib/cjs/form/arrayField.js +1 -1
- package/lib/cjs/form/baseForm.d.ts +1 -1
- package/lib/cjs/form/baseForm.js +2 -2
- package/lib/cjs/form/errorMessage.js +1 -1
- package/lib/cjs/form/field.d.ts +1 -1
- package/lib/cjs/form/group.js +2 -2
- package/lib/cjs/form/hoc/withField.js +67 -47
- package/lib/cjs/form/label.js +9 -9
- package/lib/cjs/form/slot.js +5 -5
- package/lib/cjs/grid/col.js +11 -11
- package/lib/cjs/grid/row.js +4 -4
- package/lib/cjs/highlight/index.js +1 -1
- package/lib/cjs/iconButton/index.js +5 -5
- package/lib/cjs/image/image.js +10 -10
- package/lib/cjs/image/preview.js +3 -3
- package/lib/cjs/image/previewFooter.js +12 -12
- package/lib/cjs/image/previewHeader.js +3 -3
- package/lib/cjs/image/previewImage.js +7 -7
- package/lib/cjs/image/previewInner.js +7 -7
- package/lib/cjs/input/index.d.ts +1 -1
- package/lib/cjs/input/index.js +38 -38
- package/lib/cjs/input/inputGroup.d.ts +1 -1
- package/lib/cjs/input/inputGroup.js +7 -7
- package/lib/cjs/input/textarea.js +14 -14
- package/lib/cjs/inputNumber/index.js +11 -11
- package/lib/cjs/layout/Sider.js +3 -3
- package/lib/cjs/layout/index.js +2 -2
- package/lib/cjs/list/index.js +11 -11
- package/lib/cjs/list/item.js +6 -6
- package/lib/cjs/modal/ConfirmModal.js +7 -7
- package/lib/cjs/modal/Modal.js +4 -4
- package/lib/cjs/modal/ModalContent.js +24 -24
- package/lib/cjs/modal/useModal/index.js +1 -1
- package/lib/cjs/navigation/CollapseButton.js +1 -1
- package/lib/cjs/navigation/Footer.js +2 -2
- package/lib/cjs/navigation/Header.js +5 -5
- package/lib/cjs/navigation/Item.d.ts +4 -0
- package/lib/cjs/navigation/Item.js +40 -24
- package/lib/cjs/navigation/SubNav.d.ts +5 -0
- package/lib/cjs/navigation/SubNav.js +54 -36
- package/lib/cjs/navigation/index.js +8 -8
- package/lib/cjs/notification/index.js +3 -3
- package/lib/cjs/notification/notice.js +12 -12
- package/lib/cjs/overflowList/index.js +6 -6
- package/lib/cjs/pagination/index.js +26 -26
- package/lib/cjs/popconfirm/index.js +9 -9
- package/lib/cjs/popover/index.d.ts +1 -1
- package/lib/cjs/popover/index.js +2 -2
- package/lib/cjs/progress/index.js +14 -14
- package/lib/cjs/radio/radio.js +22 -22
- package/lib/cjs/radio/radioGroup.js +5 -5
- package/lib/cjs/radio/radioInner.js +7 -7
- package/lib/cjs/rating/index.d.ts +1 -1
- package/lib/cjs/rating/index.js +5 -5
- package/lib/cjs/rating/item.d.ts +1 -1
- package/lib/cjs/rating/item.js +11 -11
- package/lib/cjs/scrollList/index.js +5 -5
- package/lib/cjs/scrollList/scrollItem.js +13 -13
- package/lib/cjs/select/index.js +57 -57
- package/lib/cjs/select/option.js +7 -7
- package/lib/cjs/sideSheet/SideSheetContent.js +10 -10
- package/lib/cjs/sideSheet/index.js +7 -7
- package/lib/cjs/skeleton/index.js +1 -1
- package/lib/cjs/skeleton/item.js +4 -4
- package/lib/cjs/slider/index.js +28 -28
- package/lib/cjs/space/index.js +12 -12
- package/lib/cjs/spin/icon.js +2 -2
- package/lib/cjs/spin/index.js +6 -6
- package/lib/cjs/steps/basicStep.js +14 -14
- package/lib/cjs/steps/basicSteps.js +6 -6
- package/lib/cjs/steps/fillStep.js +10 -10
- package/lib/cjs/steps/fillSteps.js +4 -4
- package/lib/cjs/steps/navStep.js +5 -5
- package/lib/cjs/steps/navSteps.js +2 -2
- package/lib/cjs/switch/index.d.ts +1 -1
- package/lib/cjs/table/Body/BaseRow.js +5 -5
- package/lib/cjs/table/Body/ExpandedRow.js +3 -3
- package/lib/cjs/table/Body/SectionRow.js +1 -1
- package/lib/cjs/table/Body/index.js +8 -8
- package/lib/cjs/table/ColGroup.js +2 -2
- package/lib/cjs/table/ColumnFilter.js +3 -3
- package/lib/cjs/table/ColumnSelection.js +2 -2
- package/lib/cjs/table/ColumnSorter.js +7 -7
- package/lib/cjs/table/CustomExpandIcon.js +2 -2
- package/lib/cjs/table/HeadTable.js +3 -3
- package/lib/cjs/table/Table.d.ts +2 -2
- package/lib/cjs/table/Table.js +20 -20
- package/lib/cjs/table/TableCell.js +8 -8
- package/lib/cjs/table/TableHeader.js +1 -1
- package/lib/cjs/table/TableHeaderRow.js +8 -8
- package/lib/cjs/table/TablePagination.js +3 -3
- package/lib/cjs/table/index.d.ts +1 -1
- package/lib/cjs/tabs/TabBar.js +18 -18
- package/lib/cjs/tabs/TabPane.js +3 -3
- package/lib/cjs/tabs/index.js +2 -2
- package/lib/cjs/tag/group.js +5 -5
- package/lib/cjs/tag/index.js +13 -13
- package/lib/cjs/tagInput/index.d.ts +1 -1
- package/lib/cjs/tagInput/index.js +33 -33
- package/lib/cjs/timePicker/Combobox.js +4 -4
- package/lib/cjs/timePicker/TimeInput.js +4 -4
- package/lib/cjs/timePicker/TimePicker.d.ts +1 -1
- package/lib/cjs/timePicker/TimePicker.js +8 -8
- package/lib/cjs/timePicker/index.d.ts +1 -1
- package/lib/cjs/timeline/index.js +8 -8
- package/lib/cjs/timeline/item.js +7 -7
- package/lib/cjs/toast/index.js +5 -5
- package/lib/cjs/toast/toast.js +9 -9
- package/lib/cjs/tooltip/index.d.ts +1 -1
- package/lib/cjs/tooltip/index.js +7 -7
- package/lib/cjs/transfer/index.js +31 -31
- package/lib/cjs/tree/autoSizer.js +1 -1
- package/lib/cjs/tree/index.js +6 -6
- package/lib/cjs/tree/nodeList.js +1 -1
- package/lib/cjs/tree/treeNode.js +26 -26
- package/lib/cjs/treeSelect/index.js +41 -41
- package/lib/cjs/typography/base.js +14 -14
- package/lib/cjs/typography/copyable.js +3 -3
- package/lib/cjs/typography/paragraph.js +1 -1
- package/lib/cjs/typography/title.js +1 -1
- package/lib/cjs/typography/util.js +1 -1
- package/lib/cjs/upload/fileCard.js +32 -32
- package/lib/cjs/upload/index.js +37 -37
- package/lib/es/_portal/index.js +2 -2
- package/lib/es/_utils/index.js +3 -1
- package/lib/es/anchor/index.d.ts +1 -1
- package/lib/es/anchor/index.js +9 -9
- package/lib/es/anchor/link.js +8 -8
- package/lib/es/autoComplete/index.d.ts +1 -1
- package/lib/es/autoComplete/index.js +8 -4
- package/lib/es/autoComplete/option.js +7 -7
- package/lib/es/avatar/avatarGroup.js +7 -7
- package/lib/es/avatar/index.js +12 -12
- package/lib/es/badge/index.js +8 -8
- package/lib/es/banner/index.js +12 -12
- package/lib/es/breadcrumb/index.js +12 -12
- package/lib/es/breadcrumb/item.js +8 -8
- package/lib/es/button/Button.d.ts +1 -1
- package/lib/es/button/Button.js +9 -9
- package/lib/es/button/buttonGroup.d.ts +1 -1
- package/lib/es/button/buttonGroup.js +5 -5
- package/lib/es/button/index.d.ts +1 -1
- package/lib/es/button/splitButtonGroup.js +1 -1
- package/lib/es/calendar/dayCalendar.js +13 -13
- package/lib/es/calendar/dayCol.js +17 -17
- package/lib/es/calendar/monthCalendar.js +38 -38
- package/lib/es/calendar/rangeCalendar.js +27 -27
- package/lib/es/calendar/timeCol.js +6 -6
- package/lib/es/calendar/weekCalendar.js +27 -27
- package/lib/es/card/cardGroup.js +2 -2
- package/lib/es/card/index.js +16 -16
- package/lib/es/card/meta.js +5 -5
- package/lib/es/carousel/CarouselArrow.js +6 -6
- package/lib/es/carousel/CarouselIndicator.d.ts +1 -1
- package/lib/es/carousel/CarouselIndicator.js +6 -6
- package/lib/es/carousel/index.d.ts +2 -2
- package/lib/es/carousel/index.js +12 -12
- package/lib/es/cascader/index.d.ts +1 -1
- package/lib/es/cascader/index.js +36 -36
- package/lib/es/cascader/item.d.ts +1 -1
- package/lib/es/cascader/item.js +25 -25
- package/lib/es/checkbox/checkbox.js +14 -14
- package/lib/es/checkbox/checkboxGroup.js +4 -4
- package/lib/es/checkbox/checkboxInner.js +6 -6
- package/lib/es/collapse/item.js +9 -9
- package/lib/es/collapsible/index.js +3 -3
- package/lib/es/configProvider/index.js +1 -1
- package/lib/es/datePicker/dateInput.d.ts +1 -1
- package/lib/es/datePicker/dateInput.js +16 -16
- package/lib/es/datePicker/datePicker.d.ts +2 -2
- package/lib/es/datePicker/datePicker.js +9 -9
- package/lib/es/datePicker/footer.js +1 -1
- package/lib/es/datePicker/index.js +1 -1
- package/lib/es/datePicker/month.js +2 -2
- package/lib/es/datePicker/monthsGrid.d.ts +1 -1
- package/lib/es/datePicker/monthsGrid.js +27 -27
- package/lib/es/datePicker/navigation.js +1 -1
- package/lib/es/datePicker/quickControl.js +14 -14
- package/lib/es/datePicker/yearAndMonth.js +4 -4
- package/lib/es/descriptions/index.js +3 -3
- package/lib/es/descriptions/item.js +5 -5
- package/lib/es/divider/index.js +7 -7
- package/lib/es/dropdown/dropdownDivider.js +1 -1
- package/lib/es/dropdown/dropdownItem.d.ts +1 -1
- package/lib/es/dropdown/dropdownItem.js +7 -7
- package/lib/es/dropdown/dropdownMenu.js +1 -1
- package/lib/es/dropdown/dropdownTitle.js +2 -2
- package/lib/es/dropdown/index.js +3 -3
- package/lib/es/empty/index.js +7 -7
- package/lib/es/form/arrayField.js +1 -1
- package/lib/es/form/baseForm.d.ts +1 -1
- package/lib/es/form/baseForm.js +2 -2
- package/lib/es/form/errorMessage.js +1 -1
- package/lib/es/form/field.d.ts +1 -1
- package/lib/es/form/group.js +2 -2
- package/lib/es/form/hoc/withField.js +67 -47
- package/lib/es/form/label.js +9 -9
- package/lib/es/form/slot.js +5 -5
- package/lib/es/grid/col.js +11 -11
- package/lib/es/grid/row.js +4 -4
- package/lib/es/highlight/index.js +1 -1
- package/lib/es/iconButton/index.js +5 -5
- package/lib/es/image/image.js +10 -10
- package/lib/es/image/preview.js +3 -3
- package/lib/es/image/previewFooter.js +12 -12
- package/lib/es/image/previewHeader.js +3 -3
- package/lib/es/image/previewImage.js +7 -7
- package/lib/es/image/previewInner.js +7 -7
- package/lib/es/input/index.d.ts +1 -1
- package/lib/es/input/index.js +38 -38
- package/lib/es/input/inputGroup.d.ts +1 -1
- package/lib/es/input/inputGroup.js +7 -7
- package/lib/es/input/textarea.js +14 -14
- package/lib/es/inputNumber/index.js +11 -11
- package/lib/es/layout/Sider.js +3 -3
- package/lib/es/layout/index.js +2 -2
- package/lib/es/list/index.js +11 -11
- package/lib/es/list/item.js +6 -6
- package/lib/es/modal/ConfirmModal.js +7 -7
- package/lib/es/modal/Modal.js +4 -4
- package/lib/es/modal/ModalContent.js +24 -24
- package/lib/es/modal/useModal/index.js +1 -1
- package/lib/es/navigation/CollapseButton.js +1 -1
- package/lib/es/navigation/Footer.js +2 -2
- package/lib/es/navigation/Header.js +5 -5
- package/lib/es/navigation/Item.d.ts +4 -0
- package/lib/es/navigation/Item.js +40 -24
- package/lib/es/navigation/SubNav.d.ts +5 -0
- package/lib/es/navigation/SubNav.js +54 -36
- package/lib/es/navigation/index.js +8 -8
- package/lib/es/notification/index.js +3 -3
- package/lib/es/notification/notice.js +12 -12
- package/lib/es/overflowList/index.js +6 -6
- package/lib/es/pagination/index.js +26 -26
- package/lib/es/popconfirm/index.js +9 -9
- package/lib/es/popover/index.d.ts +1 -1
- package/lib/es/popover/index.js +2 -2
- package/lib/es/progress/index.js +14 -14
- package/lib/es/radio/radio.js +22 -22
- package/lib/es/radio/radioGroup.js +5 -5
- package/lib/es/radio/radioInner.js +7 -7
- package/lib/es/rating/index.d.ts +1 -1
- package/lib/es/rating/index.js +5 -5
- package/lib/es/rating/item.d.ts +1 -1
- package/lib/es/rating/item.js +11 -11
- package/lib/es/scrollList/index.js +5 -5
- package/lib/es/scrollList/scrollItem.js +13 -13
- package/lib/es/select/index.js +57 -57
- package/lib/es/select/option.js +7 -7
- package/lib/es/sideSheet/SideSheetContent.js +10 -10
- package/lib/es/sideSheet/index.js +7 -7
- package/lib/es/skeleton/index.js +1 -1
- package/lib/es/skeleton/item.js +4 -4
- package/lib/es/slider/index.js +28 -28
- package/lib/es/space/index.js +12 -12
- package/lib/es/spin/icon.js +2 -2
- package/lib/es/spin/index.js +6 -6
- package/lib/es/steps/basicStep.js +14 -14
- package/lib/es/steps/basicSteps.js +6 -6
- package/lib/es/steps/fillStep.js +10 -10
- package/lib/es/steps/fillSteps.js +4 -4
- package/lib/es/steps/navStep.js +5 -5
- package/lib/es/steps/navSteps.js +2 -2
- package/lib/es/switch/index.d.ts +1 -1
- package/lib/es/table/Body/BaseRow.js +5 -5
- package/lib/es/table/Body/ExpandedRow.js +3 -3
- package/lib/es/table/Body/SectionRow.js +1 -1
- package/lib/es/table/Body/index.js +8 -8
- package/lib/es/table/ColGroup.js +2 -2
- package/lib/es/table/ColumnFilter.js +3 -3
- package/lib/es/table/ColumnSelection.js +2 -2
- package/lib/es/table/ColumnSorter.js +7 -7
- package/lib/es/table/CustomExpandIcon.js +2 -2
- package/lib/es/table/HeadTable.js +3 -3
- package/lib/es/table/Table.d.ts +2 -2
- package/lib/es/table/Table.js +20 -20
- package/lib/es/table/TableCell.js +8 -8
- package/lib/es/table/TableHeader.js +1 -1
- package/lib/es/table/TableHeaderRow.js +8 -8
- package/lib/es/table/TablePagination.js +3 -3
- package/lib/es/table/index.d.ts +1 -1
- package/lib/es/tabs/TabBar.js +18 -18
- package/lib/es/tabs/TabPane.js +3 -3
- package/lib/es/tabs/index.js +2 -2
- package/lib/es/tag/group.js +5 -5
- package/lib/es/tag/index.js +13 -13
- package/lib/es/tagInput/index.d.ts +1 -1
- package/lib/es/tagInput/index.js +33 -33
- package/lib/es/timePicker/Combobox.js +4 -4
- package/lib/es/timePicker/TimeInput.js +4 -4
- package/lib/es/timePicker/TimePicker.d.ts +1 -1
- package/lib/es/timePicker/TimePicker.js +8 -8
- package/lib/es/timePicker/index.d.ts +1 -1
- package/lib/es/timeline/index.js +8 -8
- package/lib/es/timeline/item.js +7 -7
- package/lib/es/toast/index.js +5 -5
- package/lib/es/toast/toast.js +9 -9
- package/lib/es/tooltip/index.d.ts +1 -1
- package/lib/es/tooltip/index.js +7 -7
- package/lib/es/transfer/index.js +31 -31
- package/lib/es/tree/autoSizer.js +1 -1
- package/lib/es/tree/index.js +6 -6
- package/lib/es/tree/nodeList.js +1 -1
- package/lib/es/tree/treeNode.js +26 -26
- package/lib/es/treeSelect/index.js +41 -41
- package/lib/es/typography/base.js +14 -14
- package/lib/es/typography/copyable.js +3 -3
- package/lib/es/typography/paragraph.js +1 -1
- package/lib/es/typography/title.js +1 -1
- package/lib/es/typography/util.js +1 -1
- package/lib/es/upload/fileCard.js +32 -32
- package/lib/es/upload/index.js +37 -37
- package/package.json +8 -8
package/lib/es/list/index.js
CHANGED
|
@@ -23,14 +23,14 @@ class List extends BaseComponent {
|
|
|
23
23
|
|
|
24
24
|
if (emptyContent) {
|
|
25
25
|
return /*#__PURE__*/React.createElement("div", {
|
|
26
|
-
className:
|
|
26
|
+
className: `${cssClasses.PREFIX}-empty`,
|
|
27
27
|
"x-semi-prop": "emptyContent"
|
|
28
28
|
}, emptyContent);
|
|
29
29
|
} else {
|
|
30
30
|
return /*#__PURE__*/React.createElement(LocaleConsumer, {
|
|
31
31
|
componentName: "List"
|
|
32
32
|
}, locale => /*#__PURE__*/React.createElement("div", {
|
|
33
|
-
className:
|
|
33
|
+
className: `${cssClasses.PREFIX}-empty`
|
|
34
34
|
}, locale.emptyText));
|
|
35
35
|
}
|
|
36
36
|
};
|
|
@@ -54,7 +54,7 @@ class List extends BaseComponent {
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
return /*#__PURE__*/React.createElement("ul", {
|
|
57
|
-
className:
|
|
57
|
+
className: `${prefixCls}-items`
|
|
58
58
|
}, childrenList ? childrenList : null, children);
|
|
59
59
|
}
|
|
60
60
|
|
|
@@ -78,11 +78,11 @@ class List extends BaseComponent {
|
|
|
78
78
|
children
|
|
79
79
|
} = this.props;
|
|
80
80
|
const wrapperCls = cls(prefixCls, className, {
|
|
81
|
-
[
|
|
82
|
-
[
|
|
83
|
-
[
|
|
84
|
-
[
|
|
85
|
-
[
|
|
81
|
+
[`${prefixCls}-flex`]: layout === 'horizontal',
|
|
82
|
+
[`${prefixCls}-${size}`]: size,
|
|
83
|
+
[`${prefixCls}-grid`]: grid,
|
|
84
|
+
[`${prefixCls}-split`]: split,
|
|
85
|
+
[`${prefixCls}-bordered`]: bordered
|
|
86
86
|
});
|
|
87
87
|
let childrenList;
|
|
88
88
|
|
|
@@ -90,7 +90,7 @@ class List extends BaseComponent {
|
|
|
90
90
|
childrenList = [];
|
|
91
91
|
const items = renderItem ? dataSource.map((item, index) => renderItem(item, index)) : [];
|
|
92
92
|
React.Children.forEach(items, (child, index) => {
|
|
93
|
-
const itemKey = child.key ||
|
|
93
|
+
const itemKey = child.key || `list-item-${index}`;
|
|
94
94
|
childrenList.push( /*#__PURE__*/React.cloneElement(child, {
|
|
95
95
|
key: itemKey
|
|
96
96
|
}));
|
|
@@ -103,7 +103,7 @@ class List extends BaseComponent {
|
|
|
103
103
|
className: wrapperCls,
|
|
104
104
|
style: style
|
|
105
105
|
}, header ? /*#__PURE__*/React.createElement("div", {
|
|
106
|
-
className:
|
|
106
|
+
className: `${cssClasses.PREFIX}-header`,
|
|
107
107
|
"x-semi-prop": "header"
|
|
108
108
|
}, header) : null, /*#__PURE__*/React.createElement(ListContext.Provider, {
|
|
109
109
|
value: {
|
|
@@ -115,7 +115,7 @@ class List extends BaseComponent {
|
|
|
115
115
|
spinning: loading,
|
|
116
116
|
size: "large"
|
|
117
117
|
}, this.wrapChildren(childrenList, children))), footer ? /*#__PURE__*/React.createElement("div", {
|
|
118
|
-
className:
|
|
118
|
+
className: `${cssClasses.PREFIX}-footer`,
|
|
119
119
|
"x-semi-prop": "footer"
|
|
120
120
|
}, footer) : null, loadMore ? loadMore : null);
|
|
121
121
|
}
|
package/lib/es/list/item.js
CHANGED
|
@@ -56,9 +56,9 @@ export default class ListItem extends PureComponent {
|
|
|
56
56
|
} = this.context;
|
|
57
57
|
const handleContextMenu = onRightClick ? onRightClick : contextOnRightClick;
|
|
58
58
|
const handleClick = onClick ? onClick : contextOnClick;
|
|
59
|
-
const itemCls = cls(
|
|
60
|
-
const bodyCls = cls(
|
|
61
|
-
[
|
|
59
|
+
const itemCls = cls(`${prefixCls}-item`, className);
|
|
60
|
+
const bodyCls = cls(`${prefixCls}-item-body`, {
|
|
61
|
+
[`${prefixCls}-item-body-${align}`]: align
|
|
62
62
|
});
|
|
63
63
|
let body;
|
|
64
64
|
|
|
@@ -66,9 +66,9 @@ export default class ListItem extends PureComponent {
|
|
|
66
66
|
body = /*#__PURE__*/React.createElement("div", {
|
|
67
67
|
className: bodyCls
|
|
68
68
|
}, header ? /*#__PURE__*/React.createElement("div", {
|
|
69
|
-
className:
|
|
69
|
+
className: `${prefixCls}-item-body-header`
|
|
70
70
|
}, header) : null, main ? /*#__PURE__*/React.createElement("div", {
|
|
71
|
-
className:
|
|
71
|
+
className: `${prefixCls}-item-body-main`
|
|
72
72
|
}, main) : null);
|
|
73
73
|
}
|
|
74
74
|
|
|
@@ -83,7 +83,7 @@ export default class ListItem extends PureComponent {
|
|
|
83
83
|
onMouseEnter: onMouseEnter,
|
|
84
84
|
onMouseLeave: onMouseLeave
|
|
85
85
|
}, body ? body : null, children, extra ? /*#__PURE__*/React.createElement("div", {
|
|
86
|
-
className:
|
|
86
|
+
className: `${prefixCls}-item-extra`
|
|
87
87
|
}, extra) : null);
|
|
88
88
|
|
|
89
89
|
if (this.context && contextGrid) {
|
|
@@ -69,20 +69,20 @@ const ConfirmModal = props => {
|
|
|
69
69
|
setVisible(false);
|
|
70
70
|
}
|
|
71
71
|
}, [onCancel]);
|
|
72
|
-
const confirmCls =
|
|
72
|
+
const confirmCls = `${cssClasses.DIALOG}-confirm`;
|
|
73
73
|
const wrapperCls = cls(className, confirmCls, {
|
|
74
|
-
[
|
|
74
|
+
[`${confirmCls}-rtl`]: direction === 'rtl'
|
|
75
75
|
});
|
|
76
|
-
const typeCls = cls(
|
|
76
|
+
const typeCls = cls(`${cssClasses.DIALOG}-${type}`);
|
|
77
77
|
const iconNode = isSemiIcon(icon) ? /*#__PURE__*/React.cloneElement(icon, {
|
|
78
|
-
className:
|
|
78
|
+
className: `${confirmCls}-icon ${typeCls}-icon`,
|
|
79
79
|
size: 'extra-large'
|
|
80
80
|
}) : icon;
|
|
81
81
|
const titleNode = title == null ? null : /*#__PURE__*/React.createElement("span", {
|
|
82
|
-
className:
|
|
82
|
+
className: `${confirmCls}-title-text`
|
|
83
83
|
}, title);
|
|
84
|
-
const contentCls = cls(
|
|
85
|
-
[
|
|
84
|
+
const contentCls = cls(`${confirmCls}-content`, {
|
|
85
|
+
[`${confirmCls}-content-withIcon`]: props.icon
|
|
86
86
|
});
|
|
87
87
|
return /*#__PURE__*/React.createElement(Modal, Object.assign({
|
|
88
88
|
className: wrapperCls,
|
package/lib/es/modal/Modal.js
CHANGED
|
@@ -125,7 +125,7 @@ class Modal extends BaseComponent {
|
|
|
125
125
|
}
|
|
126
126
|
|
|
127
127
|
const classList = cls(className, {
|
|
128
|
-
[
|
|
128
|
+
[`${cssClasses.DIALOG}-displayNone`]: keepDOM && this.state.displayNone
|
|
129
129
|
});
|
|
130
130
|
const shouldRender = this.props.visible || this.props.keepDOM && (!this.props.lazyRender || this._haveRendered) || this.props.motion && !this.state.displayNone
|
|
131
131
|
/* When there is animation, we use displayNone to judge whether animation is ended and judge whether to unmount content */
|
|
@@ -141,7 +141,7 @@ class Modal extends BaseComponent {
|
|
|
141
141
|
}, /*#__PURE__*/React.createElement(CSSAnimation, {
|
|
142
142
|
motion: this.props.motion,
|
|
143
143
|
animationState: visible ? 'enter' : 'leave',
|
|
144
|
-
startClassName: visible ?
|
|
144
|
+
startClassName: visible ? `${cssClasses.DIALOG}-content-animate-show` : `${cssClasses.DIALOG}-content-animate-hide`,
|
|
145
145
|
onAnimationEnd: () => {
|
|
146
146
|
this.updateState();
|
|
147
147
|
}
|
|
@@ -153,7 +153,7 @@ class Modal extends BaseComponent {
|
|
|
153
153
|
return /*#__PURE__*/React.createElement(CSSAnimation, {
|
|
154
154
|
motion: this.props.motion,
|
|
155
155
|
animationState: visible ? 'enter' : 'leave',
|
|
156
|
-
startClassName: visible ?
|
|
156
|
+
startClassName: visible ? `${cssClasses.DIALOG}-mask-animate-show` : `${cssClasses.DIALOG}-mask-animate-hide`,
|
|
157
157
|
onAnimationEnd: () => {
|
|
158
158
|
this.updateState();
|
|
159
159
|
}
|
|
@@ -202,7 +202,7 @@ class Modal extends BaseComponent {
|
|
|
202
202
|
|
|
203
203
|
if (!getPopupContainer && this.bodyOverflow !== 'hidden') {
|
|
204
204
|
document.body.style.overflow = 'hidden';
|
|
205
|
-
document.body.style.width =
|
|
205
|
+
document.body.style.width = `calc(${this.originBodyWidth || '100%'} - ${this.scrollBarWidth}px)`;
|
|
206
206
|
}
|
|
207
207
|
},
|
|
208
208
|
enabledBodyScroll: () => {
|
|
@@ -64,7 +64,7 @@ export default class ModalContent extends BaseComponent {
|
|
|
64
64
|
} = props;
|
|
65
65
|
|
|
66
66
|
if (mask) {
|
|
67
|
-
const className = cls(
|
|
67
|
+
const className = cls(`${cssClasses.DIALOG}-mask`, {// [`${cssClasses.DIALOG}-mask-hidden`]: !props.visible,
|
|
68
68
|
});
|
|
69
69
|
return /*#__PURE__*/React.createElement("div", Object.assign({
|
|
70
70
|
key: "mask"
|
|
@@ -90,7 +90,7 @@ export default class ModalContent extends BaseComponent {
|
|
|
90
90
|
});
|
|
91
91
|
closer = /*#__PURE__*/React.createElement(Button, {
|
|
92
92
|
"aria-label": "close",
|
|
93
|
-
className:
|
|
93
|
+
className: `${cssClasses.DIALOG}-close`,
|
|
94
94
|
key: "close-btn",
|
|
95
95
|
onClick: this.close,
|
|
96
96
|
type: "tertiary",
|
|
@@ -108,7 +108,7 @@ export default class ModalContent extends BaseComponent {
|
|
|
108
108
|
icon
|
|
109
109
|
} = this.props;
|
|
110
110
|
return icon ? /*#__PURE__*/React.createElement("span", {
|
|
111
|
-
className:
|
|
111
|
+
className: `${cssClasses.DIALOG}-icon-wrapper`,
|
|
112
112
|
"x-semi-prop": "icon"
|
|
113
113
|
}, icon) : null;
|
|
114
114
|
};
|
|
@@ -124,11 +124,11 @@ export default class ModalContent extends BaseComponent {
|
|
|
124
124
|
const closer = this.renderCloseBtn();
|
|
125
125
|
const icon = this.renderIcon();
|
|
126
126
|
return title === null || title === undefined ? null : /*#__PURE__*/React.createElement("div", {
|
|
127
|
-
className:
|
|
127
|
+
className: `${cssClasses.DIALOG}-header`
|
|
128
128
|
}, icon, /*#__PURE__*/React.createElement(Typography.Title, {
|
|
129
129
|
heading: 5,
|
|
130
|
-
className:
|
|
131
|
-
id:
|
|
130
|
+
className: `${cssClasses.DIALOG}-title`,
|
|
131
|
+
id: `${cssClasses.DIALOG}-title`,
|
|
132
132
|
"x-semi-prop": "title"
|
|
133
133
|
}, title), closer);
|
|
134
134
|
};
|
|
@@ -139,19 +139,19 @@ export default class ModalContent extends BaseComponent {
|
|
|
139
139
|
children,
|
|
140
140
|
title
|
|
141
141
|
} = this.props;
|
|
142
|
-
const bodyCls = cls(
|
|
143
|
-
[
|
|
142
|
+
const bodyCls = cls(`${cssClasses.DIALOG}-body`, {
|
|
143
|
+
[`${cssClasses.DIALOG}-withIcon`]: this.props.icon
|
|
144
144
|
});
|
|
145
145
|
const closer = this.renderCloseBtn();
|
|
146
146
|
const icon = this.renderIcon();
|
|
147
147
|
const hasHeader = title !== null && title !== undefined || 'header' in this.props;
|
|
148
148
|
return hasHeader ? /*#__PURE__*/React.createElement("div", {
|
|
149
149
|
className: bodyCls,
|
|
150
|
-
id:
|
|
150
|
+
id: `${cssClasses.DIALOG}-body`,
|
|
151
151
|
style: bodyStyle,
|
|
152
152
|
"x-semi-prop": "children"
|
|
153
153
|
}, children) : /*#__PURE__*/React.createElement("div", {
|
|
154
|
-
className:
|
|
154
|
+
className: `${cssClasses.DIALOG}-body-wrapper`
|
|
155
155
|
}, icon, /*#__PURE__*/React.createElement("div", {
|
|
156
156
|
className: bodyCls,
|
|
157
157
|
style: bodyStyle,
|
|
@@ -163,9 +163,9 @@ export default class ModalContent extends BaseComponent {
|
|
|
163
163
|
const props = __rest(this.props, []);
|
|
164
164
|
|
|
165
165
|
const style = {};
|
|
166
|
-
const digCls = cls(
|
|
167
|
-
[
|
|
168
|
-
[
|
|
166
|
+
const digCls = cls(`${cssClasses.DIALOG}`, {
|
|
167
|
+
[`${cssClasses.DIALOG}-centered`]: props.centered,
|
|
168
|
+
[`${cssClasses.DIALOG}-${props.size}`]: props.size
|
|
169
169
|
});
|
|
170
170
|
|
|
171
171
|
if (props.width) {
|
|
@@ -185,7 +185,7 @@ export default class ModalContent extends BaseComponent {
|
|
|
185
185
|
const body = this.renderBody();
|
|
186
186
|
const header = this.renderHeader();
|
|
187
187
|
const footer = props.footer ? /*#__PURE__*/React.createElement("div", {
|
|
188
|
-
className:
|
|
188
|
+
className: `${cssClasses.DIALOG}-footer`,
|
|
189
189
|
"x-semi-prop": "footer"
|
|
190
190
|
}, props.footer) : null;
|
|
191
191
|
const dialogElement =
|
|
@@ -201,11 +201,11 @@ export default class ModalContent extends BaseComponent {
|
|
|
201
201
|
role: "dialog",
|
|
202
202
|
ref: this.modalDialogRef,
|
|
203
203
|
"aria-modal": "true",
|
|
204
|
-
"aria-labelledby":
|
|
205
|
-
"aria-describedby":
|
|
204
|
+
"aria-labelledby": `${cssClasses.DIALOG}-title`,
|
|
205
|
+
"aria-describedby": `${cssClasses.DIALOG}-body`,
|
|
206
206
|
onAnimationEnd: props.onAnimationEnd,
|
|
207
|
-
className: cls([
|
|
208
|
-
[
|
|
207
|
+
className: cls([`${cssClasses.DIALOG}-content`, props.contentClassName, {
|
|
208
|
+
[`${cssClasses.DIALOG}-content-fullScreen`]: props.isFullScreen
|
|
209
209
|
}])
|
|
210
210
|
}, header, body, footer)); // return props.visible ? dialogElement : null;
|
|
211
211
|
|
|
@@ -217,7 +217,7 @@ export default class ModalContent extends BaseComponent {
|
|
|
217
217
|
prevFocusElement: FocusTrapHandle.getActiveElement()
|
|
218
218
|
};
|
|
219
219
|
this.foundation = new ModalContentFoundation(this.adapter);
|
|
220
|
-
this.dialogId =
|
|
220
|
+
this.dialogId = `dialog-${uuid++}`;
|
|
221
221
|
this.modalDialogRef = /*#__PURE__*/React.createRef();
|
|
222
222
|
}
|
|
223
223
|
|
|
@@ -328,9 +328,9 @@ export default class ModalContent extends BaseComponent {
|
|
|
328
328
|
direction
|
|
329
329
|
} = this.context;
|
|
330
330
|
const classList = cls(className, {
|
|
331
|
-
[
|
|
332
|
-
[
|
|
333
|
-
[
|
|
331
|
+
[`${cssClasses.DIALOG}-popup`]: getPopupContainer && !maskFixed,
|
|
332
|
+
[`${cssClasses.DIALOG}-fixed`]: maskFixed,
|
|
333
|
+
[`${cssClasses.DIALOG}-rtl`]: direction === 'rtl'
|
|
334
334
|
});
|
|
335
335
|
const containerContext = getContainerContext();
|
|
336
336
|
const elem = /*#__PURE__*/React.createElement("div", {
|
|
@@ -338,8 +338,8 @@ export default class ModalContent extends BaseComponent {
|
|
|
338
338
|
}, this.getMaskElement(), /*#__PURE__*/React.createElement("div", Object.assign({
|
|
339
339
|
role: "none",
|
|
340
340
|
className: cls({
|
|
341
|
-
[
|
|
342
|
-
[
|
|
341
|
+
[`${cssClasses.DIALOG}-wrap`]: true,
|
|
342
|
+
[`${cssClasses.DIALOG}-wrap-center`]: this.props.centered
|
|
343
343
|
}),
|
|
344
344
|
onClick: maskClosable ? this.onMaskClick : null,
|
|
345
345
|
onMouseUp: maskClosable ? this.onMaskMouseUp : null
|
|
@@ -31,7 +31,7 @@ export default function CollapseButton(_ref) {
|
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
return /*#__PURE__*/React.createElement("div", {
|
|
34
|
-
className:
|
|
34
|
+
className: `${prefixCls}-collapse-btn`
|
|
35
35
|
}, isCollapsed ? /*#__PURE__*/React.createElement(Tooltip, {
|
|
36
36
|
content: finalCollapseText,
|
|
37
37
|
position: "right"
|
|
@@ -53,8 +53,8 @@ export default class NavFooter extends PureComponent {
|
|
|
53
53
|
children = this.renderCollapseButton();
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
const wrapCls = cls(className,
|
|
57
|
-
[
|
|
56
|
+
const wrapCls = cls(className, `${cssClasses.PREFIX}-footer`, {
|
|
57
|
+
[`${cssClasses.PREFIX}-footer-collapsed`]: isCollapsed
|
|
58
58
|
});
|
|
59
59
|
return /*#__PURE__*/React.createElement("div", {
|
|
60
60
|
className: wrapCls,
|
|
@@ -28,18 +28,18 @@ export default class NavHeader extends PureComponent {
|
|
|
28
28
|
const {
|
|
29
29
|
isCollapsed
|
|
30
30
|
} = this.context;
|
|
31
|
-
const wrapCls = cls(className,
|
|
32
|
-
[
|
|
31
|
+
const wrapCls = cls(className, `${cssClasses.PREFIX}-header`, {
|
|
32
|
+
[`${cssClasses.PREFIX}-header-collapsed`]: isCollapsed
|
|
33
33
|
});
|
|
34
34
|
let wrappedChildren = /*#__PURE__*/React.createElement(React.Fragment, null, logo ? /*#__PURE__*/React.createElement("i", {
|
|
35
|
-
className:
|
|
35
|
+
className: `${cssClasses.PREFIX}-header-logo`
|
|
36
36
|
}, this.renderLogo(logo)) : null, !isNullOrUndefined(text) && !isCollapsed ? /*#__PURE__*/React.createElement("span", {
|
|
37
|
-
className:
|
|
37
|
+
className: `${cssClasses.PREFIX}-header-text`
|
|
38
38
|
}, text) : null, children);
|
|
39
39
|
|
|
40
40
|
if (typeof link === 'string') {
|
|
41
41
|
wrappedChildren = /*#__PURE__*/React.createElement("a", Object.assign({
|
|
42
|
-
className:
|
|
42
|
+
className: `${prefixCls}-header-link`,
|
|
43
43
|
href: link
|
|
44
44
|
}, linkOptions), wrappedChildren);
|
|
45
45
|
}
|
|
@@ -19,6 +19,9 @@ export interface NavItemProps extends ItemProps, BaseProps {
|
|
|
19
19
|
onClick?(clickItems: SelectedData): void;
|
|
20
20
|
onMouseEnter?: React.MouseEventHandler<HTMLLIElement>;
|
|
21
21
|
onMouseLeave?: React.MouseEventHandler<HTMLLIElement>;
|
|
22
|
+
selected?: boolean;
|
|
23
|
+
mode?: string;
|
|
24
|
+
isInSubNav?: boolean;
|
|
22
25
|
}
|
|
23
26
|
export interface SelectedData extends SelectedItemProps<NavItemProps> {
|
|
24
27
|
text?: React.ReactNode;
|
|
@@ -28,6 +31,7 @@ export interface NavItemState {
|
|
|
28
31
|
}
|
|
29
32
|
export default class NavItem extends BaseComponent<NavItemProps, NavItemState> {
|
|
30
33
|
static contextType: React.Context<NavContextType>;
|
|
34
|
+
static elementType: string;
|
|
31
35
|
static propTypes: {
|
|
32
36
|
text: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
|
|
33
37
|
itemKey: PropTypes.Requireable<NonNullable<string | number>>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _isUndefined from "lodash/isUndefined";
|
|
1
2
|
import _times from "lodash/times";
|
|
2
3
|
import _noop from "lodash/noop";
|
|
3
4
|
|
|
@@ -15,7 +16,7 @@ import { cssClasses, strings } from '@douyinfe/semi-foundation/lib/es/navigation
|
|
|
15
16
|
import Tooltip from '../tooltip';
|
|
16
17
|
import NavContext from './nav-context';
|
|
17
18
|
import Dropdown from '../dropdown';
|
|
18
|
-
const clsPrefix =
|
|
19
|
+
const clsPrefix = `${cssClasses.PREFIX}-item`;
|
|
19
20
|
export default class NavItem extends BaseComponent {
|
|
20
21
|
constructor(props) {
|
|
21
22
|
super(props);
|
|
@@ -97,21 +98,28 @@ export default class NavItem extends BaseComponent {
|
|
|
97
98
|
notifyMouseLeave: function () {
|
|
98
99
|
return _this.props.onMouseLeave(...arguments);
|
|
99
100
|
},
|
|
100
|
-
getIsCollapsed: () => this.props.isCollapsed || Boolean(this.context && this.context.isCollapsed)
|
|
101
|
-
getSelected: () => Boolean(this.context && this.context.selectedKeys && this.context.selectedKeys.includes(this.props.itemKey)),
|
|
102
|
-
getIsOpen: () => Boolean(this.context && this.context.openKeys && this.context.openKeys.includes(this.props.itemKey))
|
|
101
|
+
getIsCollapsed: () => this.props.isCollapsed || Boolean(this.context && this.context.isCollapsed),
|
|
102
|
+
getSelected: () => this.props.selected || Boolean(this.context && this.context.selectedKeys && this.context.selectedKeys.includes(this.props.itemKey)),
|
|
103
|
+
getIsOpen: () => Boolean(this.context && this.context.openKeys && this.context.openKeys.includes(this.props.itemKey)),
|
|
104
|
+
getIsInSubNav: () => this.props.isInSubNav || Boolean(this.context && this.context.isInSubNav),
|
|
105
|
+
getMode: () => {
|
|
106
|
+
var _a, _b;
|
|
107
|
+
|
|
108
|
+
return (_a = this.props.mode) !== null && _a !== void 0 ? _a : (_b = this.context) === null || _b === void 0 ? void 0 : _b.mode;
|
|
109
|
+
}
|
|
103
110
|
});
|
|
104
111
|
}
|
|
105
112
|
|
|
106
113
|
renderIcon(icon, pos) {
|
|
107
114
|
let isToggleIcon = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
108
115
|
let key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
|
|
116
|
+
const mode = this.adapter.getMode();
|
|
109
117
|
|
|
110
118
|
if (this.props.isSubNav) {
|
|
111
119
|
return null;
|
|
112
120
|
}
|
|
113
121
|
|
|
114
|
-
if (!icon &&
|
|
122
|
+
if (!icon && mode === strings.MODE_HORIZONTAL) {
|
|
115
123
|
return null;
|
|
116
124
|
}
|
|
117
125
|
|
|
@@ -121,9 +129,9 @@ export default class NavItem extends BaseComponent {
|
|
|
121
129
|
iconSize = 'default';
|
|
122
130
|
}
|
|
123
131
|
|
|
124
|
-
const className = cls(
|
|
125
|
-
[
|
|
126
|
-
[
|
|
132
|
+
const className = cls(`${clsPrefix}-icon`, {
|
|
133
|
+
[`${clsPrefix}-icon-toggle-${this.context.toggleIconPosition}`]: isToggleIcon,
|
|
134
|
+
[`${clsPrefix}-icon-info`]: !isToggleIcon
|
|
127
135
|
});
|
|
128
136
|
return /*#__PURE__*/React.createElement("i", {
|
|
129
137
|
className: className,
|
|
@@ -149,16 +157,19 @@ export default class NavItem extends BaseComponent {
|
|
|
149
157
|
linkOptions,
|
|
150
158
|
disabled,
|
|
151
159
|
level = 0,
|
|
152
|
-
tabIndex
|
|
160
|
+
tabIndex,
|
|
161
|
+
isInSubNav: isInSubNavInProps,
|
|
162
|
+
mode: modeInProps
|
|
153
163
|
} = this.props;
|
|
154
164
|
const {
|
|
155
|
-
|
|
156
|
-
isInSubNav,
|
|
165
|
+
isInSubNav: isInSubNavInContext,
|
|
157
166
|
prefixCls,
|
|
158
167
|
limitIndent
|
|
159
168
|
} = this.context;
|
|
160
169
|
const isCollapsed = this.adapter.getIsCollapsed();
|
|
161
170
|
const selected = this.adapter.getSelected();
|
|
171
|
+
const isInSubNav = this.adapter.getIsInSubNav();
|
|
172
|
+
const mode = this.adapter.getMode();
|
|
162
173
|
let itemChildren = null;
|
|
163
174
|
|
|
164
175
|
if (!isNullOrUndefined(children)) {
|
|
@@ -172,13 +183,13 @@ export default class NavItem extends BaseComponent {
|
|
|
172
183
|
}
|
|
173
184
|
|
|
174
185
|
itemChildren = /*#__PURE__*/React.createElement(React.Fragment, null, placeholderIcons, this.context.toggleIconPosition === strings.TOGGLE_ICON_LEFT && this.renderIcon(toggleIcon, strings.ICON_POS_RIGHT, true, 'key-toggle-pos-right'), icon || indent || isInSubNav ? this.renderIcon(icon, strings.ICON_POS_LEFT, false, 'key-position-left') : null, !isNullOrUndefined(text) ? /*#__PURE__*/React.createElement("span", {
|
|
175
|
-
className:
|
|
186
|
+
className: `${cssClasses.PREFIX}-item-text`
|
|
176
187
|
}, text) : '', this.context.toggleIconPosition === strings.TOGGLE_ICON_RIGHT && this.renderIcon(toggleIcon, strings.ICON_POS_RIGHT, true, 'key-toggle-pos-right'));
|
|
177
188
|
}
|
|
178
189
|
|
|
179
190
|
if (typeof link === 'string') {
|
|
180
191
|
itemChildren = /*#__PURE__*/React.createElement("a", Object.assign({
|
|
181
|
-
className:
|
|
192
|
+
className: `${prefixCls}-item-link`,
|
|
182
193
|
href: link,
|
|
183
194
|
tabIndex: -1
|
|
184
195
|
}, linkOptions), itemChildren);
|
|
@@ -189,10 +200,10 @@ export default class NavItem extends BaseComponent {
|
|
|
189
200
|
if (isInSubNav && (isCollapsed || mode === strings.MODE_HORIZONTAL)) {
|
|
190
201
|
const popoverItemCls = cls({
|
|
191
202
|
[clsPrefix]: true,
|
|
192
|
-
[
|
|
193
|
-
[
|
|
194
|
-
[
|
|
195
|
-
[
|
|
203
|
+
[`${clsPrefix}-sub`]: isSubNav,
|
|
204
|
+
[`${clsPrefix}-selected`]: selected,
|
|
205
|
+
[`${clsPrefix}-collapsed`]: isCollapsed,
|
|
206
|
+
[`${clsPrefix}-disabled`]: disabled
|
|
196
207
|
});
|
|
197
208
|
itemDom = /*#__PURE__*/React.createElement(Dropdown.Item, {
|
|
198
209
|
selected: selected,
|
|
@@ -207,13 +218,17 @@ export default class NavItem extends BaseComponent {
|
|
|
207
218
|
}, itemChildren);
|
|
208
219
|
} else {
|
|
209
220
|
// Items are divided into normal and sub-wrap
|
|
210
|
-
const
|
|
221
|
+
const isFirstLayer = !_isUndefined(isInSubNavInProps) && !isInSubNavInProps || _isUndefined(isInSubNavInProps) && _isUndefined(isInSubNavInContext);
|
|
222
|
+
|
|
223
|
+
const popoverItemCls = cls(`${className || `${clsPrefix}-normal`}`, {
|
|
211
224
|
[clsPrefix]: true,
|
|
212
|
-
[
|
|
213
|
-
[
|
|
214
|
-
[
|
|
215
|
-
[
|
|
216
|
-
[
|
|
225
|
+
[`${clsPrefix}-sub`]: isSubNav,
|
|
226
|
+
[`${clsPrefix}-selected`]: selected && !isSubNav,
|
|
227
|
+
[`${clsPrefix}-collapsed`]: isCollapsed,
|
|
228
|
+
[`${clsPrefix}-disabled`]: disabled,
|
|
229
|
+
[`${clsPrefix}-has-link`]: typeof link === 'string',
|
|
230
|
+
[`${cssClasses.PREFIX}-first-layer`]: isFirstLayer,
|
|
231
|
+
[`${clsPrefix}-horizontal`]: modeInProps === strings.MODE_HORIZONTAL
|
|
217
232
|
});
|
|
218
233
|
const ariaProps = {
|
|
219
234
|
'aria-disabled': disabled
|
|
@@ -291,4 +306,5 @@ NavItem.defaultProps = {
|
|
|
291
306
|
onMouseLeave: _noop,
|
|
292
307
|
disabled: false,
|
|
293
308
|
tabIndex: 0
|
|
294
|
-
};
|
|
309
|
+
};
|
|
310
|
+
NavItem.elementType = 'Nav.Item';
|
|
@@ -22,12 +22,15 @@ export interface SubNavProps extends BaseProps {
|
|
|
22
22
|
onMouseLeave?: React.MouseEventHandler<HTMLLIElement>;
|
|
23
23
|
text?: React.ReactNode;
|
|
24
24
|
toggleIcon?: ToggleIcon;
|
|
25
|
+
active?: boolean;
|
|
26
|
+
mode?: string;
|
|
25
27
|
}
|
|
26
28
|
export interface SubNavState {
|
|
27
29
|
isHovered: boolean;
|
|
28
30
|
}
|
|
29
31
|
export default class SubNav extends BaseComponent<SubNavProps, SubNavState> {
|
|
30
32
|
static contextType: React.Context<NavContextType>;
|
|
33
|
+
static elementType: string;
|
|
31
34
|
static propTypes: {
|
|
32
35
|
/**
|
|
33
36
|
* Unique identification
|
|
@@ -70,6 +73,7 @@ export default class SubNav extends BaseComponent<SubNavProps, SubNavState> {
|
|
|
70
73
|
onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
|
|
71
74
|
disabled: PropTypes.Requireable<boolean>;
|
|
72
75
|
level: PropTypes.Requireable<number>;
|
|
76
|
+
active: PropTypes.Requireable<boolean>;
|
|
73
77
|
};
|
|
74
78
|
static defaultProps: {
|
|
75
79
|
level: number;
|
|
@@ -82,6 +86,7 @@ export default class SubNav extends BaseComponent<SubNavProps, SubNavState> {
|
|
|
82
86
|
closed: JSX.Element;
|
|
83
87
|
};
|
|
84
88
|
disabled: boolean;
|
|
89
|
+
active: boolean;
|
|
85
90
|
};
|
|
86
91
|
titleRef: React.RefObject<HTMLDivElement>;
|
|
87
92
|
itemRef: React.RefObject<HTMLLIElement>;
|