@douyinfe/semi-ui 2.36.0-alpha.0 → 2.36.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/dist/css/semi.css +166 -510
- package/dist/css/semi.min.css +1 -1
- package/dist/umd/semi-ui.js +247 -277
- 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/anchor/index.d.ts +3 -2
- package/lib/cjs/anchor/link.js +13 -6
- package/lib/cjs/autoComplete/index.d.ts +1 -1
- package/lib/cjs/button/Button.d.ts +1 -1
- package/lib/cjs/button/buttonGroup.d.ts +1 -1
- package/lib/cjs/button/index.d.ts +1 -1
- package/lib/cjs/calendar/dayCalendar.d.ts +2 -1
- package/lib/cjs/calendar/dayCalendar.js +7 -2
- package/lib/cjs/calendar/index.d.ts +1 -0
- package/lib/cjs/calendar/index.js +1 -0
- package/lib/cjs/calendar/interface.d.ts +2 -0
- package/lib/cjs/calendar/monthCalendar.d.ts +1 -1
- package/lib/cjs/calendar/monthCalendar.js +12 -4
- package/lib/cjs/calendar/rangeCalendar.d.ts +3 -1
- package/lib/cjs/calendar/rangeCalendar.js +23 -9
- package/lib/cjs/calendar/weekCalendar.d.ts +3 -1
- package/lib/cjs/calendar/weekCalendar.js +23 -9
- package/lib/cjs/collapse/item.d.ts +0 -2
- package/lib/cjs/collapse/item.js +2 -3
- package/lib/cjs/datePicker/dateInput.d.ts +1 -1
- package/lib/cjs/datePicker/datePicker.d.ts +2 -2
- package/lib/cjs/datePicker/datePicker.js +12 -4
- package/lib/cjs/datePicker/monthsGrid.d.ts +1 -1
- package/lib/cjs/datePicker/monthsGrid.js +6 -2
- package/lib/cjs/datePicker/yearAndMonth.d.ts +3 -1
- package/lib/cjs/datePicker/yearAndMonth.js +4 -2
- package/lib/cjs/form/baseForm.d.ts +1 -1
- package/lib/cjs/form/field.d.ts +1 -1
- package/lib/cjs/input/index.d.ts +1 -1
- package/lib/cjs/input/inputGroup.d.ts +1 -1
- package/lib/cjs/input/textarea.d.ts +1 -1
- package/lib/cjs/modal/confirm.d.ts +17 -17
- package/lib/cjs/navigation/Footer.d.ts +3 -0
- package/lib/cjs/navigation/Footer.js +19 -9
- package/lib/cjs/navigation/Item.d.ts +0 -4
- package/lib/cjs/navigation/Item.js +10 -29
- package/lib/cjs/navigation/SubNav.d.ts +1 -18
- package/lib/cjs/navigation/SubNav.js +30 -70
- package/lib/cjs/navigation/index.d.ts +4 -1
- package/lib/cjs/navigation/index.js +7 -1
- package/lib/cjs/rating/index.d.ts +1 -1
- package/lib/cjs/rating/item.d.ts +1 -1
- package/lib/cjs/select/index.d.ts +2 -1
- package/lib/cjs/select/index.js +4 -0
- package/lib/cjs/skeleton/index.d.ts +0 -1
- package/lib/cjs/skeleton/index.js +0 -1
- package/lib/cjs/skeleton/item.d.ts +0 -1
- package/lib/cjs/skeleton/item.js +1 -6
- package/lib/cjs/steps/basicStep.d.ts +0 -3
- package/lib/cjs/steps/basicStep.js +2 -8
- package/lib/cjs/steps/basicSteps.js +1 -2
- package/lib/cjs/steps/fillStep.d.ts +0 -2
- package/lib/cjs/steps/fillStep.js +1 -3
- package/lib/cjs/steps/fillSteps.js +8 -5
- package/lib/cjs/steps/index.d.ts +1 -63
- package/lib/cjs/steps/index.js +0 -9
- package/lib/cjs/steps/navStep.d.ts +0 -3
- package/lib/cjs/steps/navStep.js +2 -6
- package/lib/cjs/steps/navSteps.js +1 -2
- package/lib/cjs/steps/step.d.ts +1 -4
- package/lib/cjs/steps/step.js +0 -1
- package/lib/cjs/switch/index.d.ts +1 -1
- package/lib/cjs/table/Body/index.d.ts +1 -1
- package/lib/cjs/table/ResizableTable.d.ts +1 -1
- package/lib/cjs/table/Table.d.ts +2 -2
- package/lib/cjs/table/TableHeaderRow.js +22 -14
- package/lib/cjs/table/index.d.ts +1 -1
- package/lib/cjs/table/interface.d.ts +5 -1
- package/lib/cjs/tagInput/index.d.ts +1 -1
- package/lib/cjs/timePicker/TimePicker.d.ts +1 -1
- package/lib/cjs/timePicker/index.d.ts +1 -1
- package/lib/cjs/timeline/index.d.ts +1 -2
- package/lib/cjs/timeline/index.js +2 -8
- package/lib/cjs/timeline/item.d.ts +0 -10
- package/lib/cjs/timeline/item.js +3 -42
- package/lib/cjs/typography/base.d.ts +1 -0
- package/lib/cjs/typography/base.js +28 -14
- package/lib/cjs/typography/title.d.ts +2 -0
- package/lib/cjs/typography/title.js +2 -1
- package/lib/es/anchor/index.d.ts +3 -2
- package/lib/es/anchor/link.js +12 -6
- package/lib/es/autoComplete/index.d.ts +1 -1
- package/lib/es/button/Button.d.ts +1 -1
- package/lib/es/button/buttonGroup.d.ts +1 -1
- package/lib/es/button/index.d.ts +1 -1
- package/lib/es/calendar/dayCalendar.d.ts +2 -1
- package/lib/es/calendar/dayCalendar.js +7 -2
- package/lib/es/calendar/index.d.ts +1 -0
- package/lib/es/calendar/index.js +1 -0
- package/lib/es/calendar/interface.d.ts +2 -0
- package/lib/es/calendar/monthCalendar.d.ts +1 -1
- package/lib/es/calendar/monthCalendar.js +12 -4
- package/lib/es/calendar/rangeCalendar.d.ts +3 -1
- package/lib/es/calendar/rangeCalendar.js +19 -9
- package/lib/es/calendar/weekCalendar.d.ts +3 -1
- package/lib/es/calendar/weekCalendar.js +19 -9
- package/lib/es/collapse/item.d.ts +0 -2
- package/lib/es/collapse/item.js +2 -3
- package/lib/es/datePicker/dateInput.d.ts +1 -1
- package/lib/es/datePicker/datePicker.d.ts +2 -2
- package/lib/es/datePicker/datePicker.js +12 -4
- package/lib/es/datePicker/monthsGrid.d.ts +1 -1
- package/lib/es/datePicker/monthsGrid.js +6 -2
- package/lib/es/datePicker/yearAndMonth.d.ts +3 -1
- package/lib/es/datePicker/yearAndMonth.js +4 -2
- package/lib/es/form/baseForm.d.ts +1 -1
- package/lib/es/form/field.d.ts +1 -1
- package/lib/es/input/index.d.ts +1 -1
- package/lib/es/input/inputGroup.d.ts +1 -1
- package/lib/es/input/textarea.d.ts +1 -1
- package/lib/es/modal/confirm.d.ts +17 -17
- package/lib/es/navigation/Footer.d.ts +3 -0
- package/lib/es/navigation/Footer.js +16 -7
- package/lib/es/navigation/Item.d.ts +0 -4
- package/lib/es/navigation/Item.js +10 -28
- package/lib/es/navigation/SubNav.d.ts +1 -18
- package/lib/es/navigation/SubNav.js +31 -72
- package/lib/es/navigation/index.d.ts +4 -1
- package/lib/es/navigation/index.js +7 -1
- package/lib/es/rating/index.d.ts +1 -1
- package/lib/es/rating/item.d.ts +1 -1
- package/lib/es/select/index.d.ts +2 -1
- package/lib/es/select/index.js +4 -0
- package/lib/es/skeleton/index.d.ts +0 -1
- package/lib/es/skeleton/index.js +0 -1
- package/lib/es/skeleton/item.d.ts +0 -1
- package/lib/es/skeleton/item.js +1 -6
- package/lib/es/steps/basicStep.d.ts +0 -3
- package/lib/es/steps/basicStep.js +2 -8
- package/lib/es/steps/basicSteps.js +1 -2
- package/lib/es/steps/fillStep.d.ts +0 -2
- package/lib/es/steps/fillStep.js +1 -3
- package/lib/es/steps/fillSteps.js +8 -6
- package/lib/es/steps/index.d.ts +1 -63
- package/lib/es/steps/index.js +0 -6
- package/lib/es/steps/navStep.d.ts +0 -3
- package/lib/es/steps/navStep.js +2 -6
- package/lib/es/steps/navSteps.js +1 -2
- package/lib/es/steps/step.d.ts +1 -4
- package/lib/es/steps/step.js +0 -1
- package/lib/es/switch/index.d.ts +1 -1
- package/lib/es/table/Body/index.d.ts +1 -1
- package/lib/es/table/ResizableTable.d.ts +1 -1
- package/lib/es/table/Table.d.ts +2 -2
- package/lib/es/table/TableHeaderRow.js +22 -14
- package/lib/es/table/index.d.ts +1 -1
- package/lib/es/table/interface.d.ts +5 -1
- package/lib/es/tagInput/index.d.ts +1 -1
- package/lib/es/timePicker/TimePicker.d.ts +1 -1
- package/lib/es/timePicker/index.d.ts +1 -1
- package/lib/es/timeline/index.d.ts +1 -2
- package/lib/es/timeline/index.js +2 -7
- package/lib/es/timeline/item.d.ts +0 -10
- package/lib/es/timeline/item.js +3 -41
- package/lib/es/typography/base.d.ts +1 -0
- package/lib/es/typography/base.js +28 -14
- package/lib/es/typography/title.d.ts +2 -0
- package/lib/es/typography/title.js +2 -1
- package/package.json +8 -9
- package/lib/cjs/timeline/context.d.ts +0 -8
- package/lib/cjs/timeline/context.js +0 -15
- package/lib/es/timeline/context.d.ts +0 -8
- package/lib/es/timeline/context.js +0 -3
package/lib/cjs/form/field.d.ts
CHANGED
|
@@ -86,7 +86,7 @@ declare const FormSelect: import("react").ComponentType<import("utility-types").
|
|
|
86
86
|
preventScroll?: boolean;
|
|
87
87
|
showRestTagsPopover?: boolean;
|
|
88
88
|
restTagsPopoverProps?: import("../popover").PopoverProps;
|
|
89
|
-
} & Pick<import("../tooltip").TooltipProps, "
|
|
89
|
+
} & Pick<import("../tooltip").TooltipProps, "stopPropagation" | "motion" | "getPopupContainer" | "spacing" | "mouseEnterDelay" | "autoAdjustOverflow" | "mouseLeaveDelay"> & import("react").RefAttributes<any> & import("./interface").CommonFieldProps, import("./interface").CommonexcludeType>> & import("./interface").SelectStatic;
|
|
90
90
|
declare const FormCheckboxGroup: import("react").ComponentType<import("utility-types").Subtract<import("../checkbox/checkboxGroup").CheckboxGroupProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps & import("react").RefAttributes<any>>;
|
|
91
91
|
declare const FormCheckbox: import("react").ComponentType<import("utility-types").Subtract<import("./interface").CommonFieldProps, import("./interface").RadioCheckboxExcludeProps> & import("../checkbox/checkbox").CheckboxProps & import("./interface").RCIncludeType>;
|
|
92
92
|
declare const FormRadioGroup: import("react").ComponentType<import("utility-types").Subtract<import("../radio/radioGroup").RadioGroupProps, import("./interface").CommonexcludeType> & import("./interface").CommonFieldProps & import("react").RefAttributes<any>>;
|
package/lib/cjs/input/index.d.ts
CHANGED
|
@@ -84,7 +84,7 @@ declare class Input extends BaseComponent<InputProps, InputState> {
|
|
|
84
84
|
showClear: PropTypes.Requireable<boolean>;
|
|
85
85
|
hideSuffix: PropTypes.Requireable<boolean>;
|
|
86
86
|
placeholder: PropTypes.Requireable<any>;
|
|
87
|
-
size: PropTypes.Requireable<"
|
|
87
|
+
size: PropTypes.Requireable<"default" | "small" | "large">;
|
|
88
88
|
className: PropTypes.Requireable<string>;
|
|
89
89
|
style: PropTypes.Requireable<object>;
|
|
90
90
|
validateStatus: PropTypes.Requireable<"default" | "error" | "warning" | "success">;
|
|
@@ -21,7 +21,7 @@ export default class inputGroup extends BaseComponent<InputGroupProps, InputGrou
|
|
|
21
21
|
static propTypes: {
|
|
22
22
|
className: PropTypes.Requireable<string>;
|
|
23
23
|
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
24
|
-
size: PropTypes.Requireable<"
|
|
24
|
+
size: PropTypes.Requireable<"default" | "small" | "large">;
|
|
25
25
|
style: PropTypes.Requireable<object>;
|
|
26
26
|
onBlur: PropTypes.Requireable<(...args: any[]) => any>;
|
|
27
27
|
onFocus: PropTypes.Requireable<(...args: any[]) => any>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ValidateStatus } from '../_base/baseComponent';
|
|
3
3
|
import '@douyinfe/semi-foundation/lib/cjs/input/textarea.css';
|
|
4
|
-
declare type OmitTextareaAttr = 'onChange' | 'onInput' | 'prefix' | 'size' | 'onFocus' | 'onBlur' | 'onKeyDown' | 'onKeyPress' | 'onKeyUp';
|
|
4
|
+
declare type OmitTextareaAttr = 'onChange' | 'onInput' | 'prefix' | 'size' | 'onFocus' | 'onBlur' | 'onKeyDown' | 'onKeyPress' | 'onKeyUp' | 'onResize';
|
|
5
5
|
export interface TextAreaProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, OmitTextareaAttr> {
|
|
6
6
|
autosize?: boolean;
|
|
7
7
|
borderless?: boolean;
|
|
@@ -140,12 +140,12 @@ export declare function withWarning(props: ModalReactProps): {
|
|
|
140
140
|
type: "warning";
|
|
141
141
|
};
|
|
142
142
|
export declare function withError(props: ModalReactProps): {
|
|
143
|
-
children?: React.ReactNode;
|
|
144
|
-
motion?: boolean;
|
|
145
143
|
title?: React.ReactNode;
|
|
144
|
+
children?: React.ReactNode;
|
|
146
145
|
size?: import("@douyinfe/semi-foundation/lib/cjs/modal/modalFoundation").Size;
|
|
147
146
|
style?: React.CSSProperties;
|
|
148
147
|
className?: string;
|
|
148
|
+
motion?: boolean;
|
|
149
149
|
getPopupContainer?: () => HTMLElement;
|
|
150
150
|
footer?: React.ReactNode;
|
|
151
151
|
header?: React.ReactNode;
|
|
@@ -201,24 +201,34 @@ export declare function withError(props: ModalReactProps): {
|
|
|
201
201
|
onMouseEnter?: React.MouseEventHandler<HTMLButtonElement>;
|
|
202
202
|
onMouseLeave?: React.MouseEventHandler<HTMLButtonElement>;
|
|
203
203
|
'aria-label'?: string;
|
|
204
|
-
onAnimationStart?: React.AnimationEventHandler<HTMLButtonElement>;
|
|
205
|
-
onAnimationEnd?: React.AnimationEventHandler<HTMLButtonElement>;
|
|
206
204
|
title?: string;
|
|
207
205
|
name?: string;
|
|
208
206
|
value?: string | number | readonly string[];
|
|
207
|
+
onAnimationStart?: React.AnimationEventHandler<HTMLButtonElement>;
|
|
208
|
+
onAnimationEnd?: React.AnimationEventHandler<HTMLButtonElement>;
|
|
209
209
|
form?: string;
|
|
210
210
|
slot?: string;
|
|
211
211
|
hidden?: boolean;
|
|
212
212
|
color?: string;
|
|
213
|
+
onChange?: React.FormEventHandler<HTMLButtonElement>;
|
|
214
|
+
defaultChecked?: boolean;
|
|
213
215
|
defaultValue?: string | number | readonly string[];
|
|
216
|
+
suppressContentEditableWarning?: boolean;
|
|
217
|
+
suppressHydrationWarning?: boolean;
|
|
214
218
|
accessKey?: string;
|
|
219
|
+
autoFocus?: boolean;
|
|
220
|
+
formAction?: string;
|
|
221
|
+
formEncType?: string;
|
|
222
|
+
formMethod?: string;
|
|
223
|
+
formNoValidate?: boolean;
|
|
224
|
+
formTarget?: string;
|
|
215
225
|
dir?: string;
|
|
216
226
|
draggable?: boolean | "false" | "true";
|
|
217
227
|
lang?: string;
|
|
218
|
-
translate?: "
|
|
228
|
+
translate?: "no" | "yes";
|
|
219
229
|
prefix?: string;
|
|
220
230
|
contentEditable?: "inherit" | (boolean | "false" | "true");
|
|
221
|
-
inputMode?: "
|
|
231
|
+
inputMode?: "search" | "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal";
|
|
222
232
|
tabIndex?: number;
|
|
223
233
|
role?: React.AriaRole;
|
|
224
234
|
onMouseOut?: React.MouseEventHandler<HTMLButtonElement>;
|
|
@@ -230,9 +240,6 @@ export declare function withError(props: ModalReactProps): {
|
|
|
230
240
|
'aria-haspopup'?: boolean | "dialog" | "menu" | "listbox" | "grid" | "false" | "true" | "tree";
|
|
231
241
|
'aria-controls'?: string;
|
|
232
242
|
'aria-describedby'?: string;
|
|
233
|
-
defaultChecked?: boolean;
|
|
234
|
-
suppressContentEditableWarning?: boolean;
|
|
235
|
-
suppressHydrationWarning?: boolean;
|
|
236
243
|
contextMenu?: string;
|
|
237
244
|
placeholder?: string;
|
|
238
245
|
spellCheck?: boolean | "false" | "true";
|
|
@@ -267,7 +274,7 @@ export declare function withError(props: ModalReactProps): {
|
|
|
267
274
|
'aria-current'?: boolean | "time" | "page" | "false" | "true" | "location" | "step" | "date";
|
|
268
275
|
'aria-details'?: string;
|
|
269
276
|
'aria-disabled'?: boolean | "false" | "true";
|
|
270
|
-
'aria-dropeffect'?: "
|
|
277
|
+
'aria-dropeffect'?: "link" | "none" | "copy" | "move" | "execute" | "popup";
|
|
271
278
|
'aria-errormessage'?: string;
|
|
272
279
|
'aria-flowto'?: string;
|
|
273
280
|
'aria-grabbed'?: boolean | "false" | "true";
|
|
@@ -316,7 +323,6 @@ export declare function withError(props: ModalReactProps): {
|
|
|
316
323
|
onCompositionUpdateCapture?: React.CompositionEventHandler<HTMLButtonElement>;
|
|
317
324
|
onFocusCapture?: React.FocusEventHandler<HTMLButtonElement>;
|
|
318
325
|
onBlurCapture?: React.FocusEventHandler<HTMLButtonElement>;
|
|
319
|
-
onChange?: React.FormEventHandler<HTMLButtonElement>;
|
|
320
326
|
onChangeCapture?: React.FormEventHandler<HTMLButtonElement>;
|
|
321
327
|
onBeforeInput?: React.FormEventHandler<HTMLButtonElement>;
|
|
322
328
|
onBeforeInputCapture?: React.FormEventHandler<HTMLButtonElement>;
|
|
@@ -451,12 +457,6 @@ export declare function withError(props: ModalReactProps): {
|
|
|
451
457
|
onAnimationIterationCapture?: React.AnimationEventHandler<HTMLButtonElement>;
|
|
452
458
|
onTransitionEnd?: React.TransitionEventHandler<HTMLButtonElement>;
|
|
453
459
|
onTransitionEndCapture?: React.TransitionEventHandler<HTMLButtonElement>;
|
|
454
|
-
autoFocus?: boolean;
|
|
455
|
-
formAction?: string;
|
|
456
|
-
formEncType?: string;
|
|
457
|
-
formMethod?: string;
|
|
458
|
-
formNoValidate?: boolean;
|
|
459
|
-
formTarget?: string;
|
|
460
460
|
};
|
|
461
461
|
};
|
|
462
462
|
export declare function withConfirm(props: ModalReactProps): {
|
|
@@ -6,6 +6,7 @@ import { BaseProps } from '../_base/baseComponent';
|
|
|
6
6
|
export interface NavFooterProps extends BaseProps {
|
|
7
7
|
collapseButton?: React.ReactNode;
|
|
8
8
|
collapseText?: (collapsed?: boolean) => React.ReactNode;
|
|
9
|
+
onClick?: (event: React.MouseEvent) => void;
|
|
9
10
|
}
|
|
10
11
|
export default class NavFooter extends PureComponent<NavFooterProps> {
|
|
11
12
|
static contextType: React.Context<NavContextType>;
|
|
@@ -15,9 +16,11 @@ export default class NavFooter extends PureComponent<NavFooterProps> {
|
|
|
15
16
|
className: PropTypes.Requireable<string>;
|
|
16
17
|
collapseButton: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
|
|
17
18
|
collapseText: PropTypes.Requireable<(...args: any[]) => any>;
|
|
19
|
+
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
|
18
20
|
};
|
|
19
21
|
static defaultProps: {
|
|
20
22
|
collapseButton: boolean;
|
|
23
|
+
onClick: (...args: any[]) => void;
|
|
21
24
|
};
|
|
22
25
|
context: NavContextType;
|
|
23
26
|
static elementType: string;
|
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
+
var _noop2 = _interopRequireDefault(require("lodash/noop"));
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
11
|
|
|
10
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
@@ -19,12 +21,12 @@ require("@douyinfe/semi-foundation/lib/cjs/navigation/navigation.css");
|
|
|
19
21
|
|
|
20
22
|
var _navContext = _interopRequireDefault(require("./nav-context"));
|
|
21
23
|
|
|
22
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
-
|
|
24
24
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
25
25
|
|
|
26
26
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
27
|
|
|
28
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
|
+
|
|
28
30
|
class NavFooter extends _react.PureComponent {
|
|
29
31
|
constructor() {
|
|
30
32
|
super(...arguments);
|
|
@@ -59,7 +61,8 @@ class NavFooter extends _react.PureComponent {
|
|
|
59
61
|
const {
|
|
60
62
|
style,
|
|
61
63
|
className,
|
|
62
|
-
collapseButton
|
|
64
|
+
collapseButton,
|
|
65
|
+
onClick
|
|
63
66
|
} = this.props;
|
|
64
67
|
let {
|
|
65
68
|
children
|
|
@@ -76,10 +79,15 @@ class NavFooter extends _react.PureComponent {
|
|
|
76
79
|
const wrapCls = (0, _classnames.default)(className, `${_constants.cssClasses.PREFIX}-footer`, {
|
|
77
80
|
[`${_constants.cssClasses.PREFIX}-footer-collapsed`]: isCollapsed
|
|
78
81
|
});
|
|
79
|
-
return
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
82
|
+
return (
|
|
83
|
+
/*#__PURE__*/
|
|
84
|
+
// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions
|
|
85
|
+
_react.default.createElement("div", {
|
|
86
|
+
className: wrapCls,
|
|
87
|
+
style: style,
|
|
88
|
+
onClick: onClick
|
|
89
|
+
}, children)
|
|
90
|
+
);
|
|
83
91
|
}
|
|
84
92
|
|
|
85
93
|
}
|
|
@@ -91,9 +99,11 @@ NavFooter.propTypes = {
|
|
|
91
99
|
style: _propTypes.default.object,
|
|
92
100
|
className: _propTypes.default.string,
|
|
93
101
|
collapseButton: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.bool]),
|
|
94
|
-
collapseText: _propTypes.default.func
|
|
102
|
+
collapseText: _propTypes.default.func,
|
|
103
|
+
onClick: _propTypes.default.func
|
|
95
104
|
};
|
|
96
105
|
NavFooter.defaultProps = {
|
|
97
|
-
collapseButton: false
|
|
106
|
+
collapseButton: false,
|
|
107
|
+
onClick: _noop2.default
|
|
98
108
|
};
|
|
99
109
|
NavFooter.elementType = "NavFooter";
|
|
@@ -19,9 +19,6 @@ 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;
|
|
25
22
|
}
|
|
26
23
|
export interface SelectedData extends SelectedItemProps<NavItemProps> {
|
|
27
24
|
text?: React.ReactNode;
|
|
@@ -31,7 +28,6 @@ export interface NavItemState {
|
|
|
31
28
|
}
|
|
32
29
|
export default class NavItem extends BaseComponent<NavItemProps, NavItemState> {
|
|
33
30
|
static contextType: React.Context<NavContextType>;
|
|
34
|
-
static elementType: string;
|
|
35
31
|
static propTypes: {
|
|
36
32
|
text: PropTypes.Requireable<NonNullable<PropTypes.ReactNodeLike>>;
|
|
37
33
|
itemKey: PropTypes.Requireable<NonNullable<string | number>>;
|
|
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var _isUndefined2 = _interopRequireDefault(require("lodash/isUndefined"));
|
|
9
|
-
|
|
10
8
|
var _times2 = _interopRequireDefault(require("lodash/times"));
|
|
11
9
|
|
|
12
10
|
var _noop2 = _interopRequireDefault(require("lodash/noop"));
|
|
@@ -123,28 +121,21 @@ class NavItem extends _baseComponent.default {
|
|
|
123
121
|
notifyMouseLeave: function () {
|
|
124
122
|
return _this.props.onMouseLeave(...arguments);
|
|
125
123
|
},
|
|
126
|
-
getIsCollapsed: () => this.props.isCollapsed || Boolean(this.context && this.context.isCollapsed),
|
|
127
|
-
getSelected: () =>
|
|
128
|
-
getIsOpen: () => Boolean(this.context && this.context.openKeys && this.context.openKeys.includes(this.props.itemKey))
|
|
129
|
-
getIsInSubNav: () => this.props.isInSubNav || Boolean(this.context && this.context.isInSubNav),
|
|
130
|
-
getMode: () => {
|
|
131
|
-
var _a, _b;
|
|
132
|
-
|
|
133
|
-
return (_a = this.props.mode) !== null && _a !== void 0 ? _a : (_b = this.context) === null || _b === void 0 ? void 0 : _b.mode;
|
|
134
|
-
}
|
|
124
|
+
getIsCollapsed: () => this.props.isCollapsed || Boolean(this.context && this.context.isCollapsed) || false,
|
|
125
|
+
getSelected: () => Boolean(this.context && this.context.selectedKeys && this.context.selectedKeys.includes(this.props.itemKey)),
|
|
126
|
+
getIsOpen: () => Boolean(this.context && this.context.openKeys && this.context.openKeys.includes(this.props.itemKey))
|
|
135
127
|
});
|
|
136
128
|
}
|
|
137
129
|
|
|
138
130
|
renderIcon(icon, pos) {
|
|
139
131
|
let isToggleIcon = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
140
132
|
let key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
|
|
141
|
-
const mode = this.adapter.getMode();
|
|
142
133
|
|
|
143
134
|
if (this.props.isSubNav) {
|
|
144
135
|
return null;
|
|
145
136
|
}
|
|
146
137
|
|
|
147
|
-
if (!icon && mode === _constants.strings.MODE_HORIZONTAL) {
|
|
138
|
+
if (!icon && this.context.mode === _constants.strings.MODE_HORIZONTAL) {
|
|
148
139
|
return null;
|
|
149
140
|
}
|
|
150
141
|
|
|
@@ -167,8 +158,6 @@ class NavItem extends _baseComponent.default {
|
|
|
167
158
|
}
|
|
168
159
|
|
|
169
160
|
render() {
|
|
170
|
-
var _a;
|
|
171
|
-
|
|
172
161
|
const {
|
|
173
162
|
text,
|
|
174
163
|
children,
|
|
@@ -184,17 +173,16 @@ class NavItem extends _baseComponent.default {
|
|
|
184
173
|
linkOptions,
|
|
185
174
|
disabled,
|
|
186
175
|
level = 0,
|
|
187
|
-
tabIndex
|
|
188
|
-
mode: modeInProps
|
|
176
|
+
tabIndex
|
|
189
177
|
} = this.props;
|
|
190
178
|
const {
|
|
179
|
+
mode,
|
|
180
|
+
isInSubNav,
|
|
191
181
|
prefixCls,
|
|
192
182
|
limitIndent
|
|
193
183
|
} = this.context;
|
|
194
184
|
const isCollapsed = this.adapter.getIsCollapsed();
|
|
195
185
|
const selected = this.adapter.getSelected();
|
|
196
|
-
const isInSubNav = this.adapter.getIsInSubNav();
|
|
197
|
-
const mode = this.adapter.getMode();
|
|
198
186
|
let itemChildren = null;
|
|
199
187
|
|
|
200
188
|
if (!(0, _isNullOrUndefined.default)(children)) {
|
|
@@ -242,20 +230,14 @@ class NavItem extends _baseComponent.default {
|
|
|
242
230
|
onKeyDown: this.handleKeyPress
|
|
243
231
|
}, itemChildren);
|
|
244
232
|
} else {
|
|
245
|
-
//
|
|
246
|
-
// 当 this.props.isInSubNav 存在是,则由 this.props.isInSubNav 决定
|
|
247
|
-
// 否则由 this.context?.mode 决定,因为第一层节点无context
|
|
248
|
-
const isFirstLayer = !(0, _isUndefined2.default)(this.props.isInSubNav) ? !this.props.isInSubNav : (0, _isUndefined2.default)((_a = this.context) === null || _a === void 0 ? void 0 : _a.mode); // Items are divided into normal and sub-wrap
|
|
249
|
-
|
|
233
|
+
// Items are divided into normal and sub-wrap
|
|
250
234
|
const popoverItemCls = (0, _classnames.default)(`${className || `${clsPrefix}-normal`}`, {
|
|
251
235
|
[clsPrefix]: true,
|
|
252
236
|
[`${clsPrefix}-sub`]: isSubNav,
|
|
253
237
|
[`${clsPrefix}-selected`]: selected && !isSubNav,
|
|
254
238
|
[`${clsPrefix}-collapsed`]: isCollapsed,
|
|
255
239
|
[`${clsPrefix}-disabled`]: disabled,
|
|
256
|
-
[`${clsPrefix}-has-link`]: typeof link === 'string'
|
|
257
|
-
[`${_constants.cssClasses.PREFIX}-first-layer`]: isFirstLayer,
|
|
258
|
-
[`${clsPrefix}-horizontal`]: modeInProps === _constants.strings.MODE_HORIZONTAL
|
|
240
|
+
[`${clsPrefix}-has-link`]: typeof link === 'string'
|
|
259
241
|
});
|
|
260
242
|
const ariaProps = {
|
|
261
243
|
'aria-disabled': disabled
|
|
@@ -335,5 +317,4 @@ NavItem.defaultProps = {
|
|
|
335
317
|
onMouseLeave: _noop2.default,
|
|
336
318
|
disabled: false,
|
|
337
319
|
tabIndex: 0
|
|
338
|
-
};
|
|
339
|
-
NavItem.elementType = 'Nav.Item';
|
|
320
|
+
};
|
|
@@ -4,10 +4,6 @@ import PropTypes from 'prop-types';
|
|
|
4
4
|
import '@douyinfe/semi-foundation/lib/cjs/navigation/navigation.css';
|
|
5
5
|
import SubNavFoundation, { SubNavAdapter } from '@douyinfe/semi-foundation/lib/cjs/navigation/subNavFoundation';
|
|
6
6
|
import { NavContextType } from './nav-context';
|
|
7
|
-
export interface ToggleIcon {
|
|
8
|
-
open?: string;
|
|
9
|
-
closed?: string;
|
|
10
|
-
}
|
|
11
7
|
export interface SubNavProps extends BaseProps {
|
|
12
8
|
disabled?: boolean;
|
|
13
9
|
dropdownStyle?: React.CSSProperties;
|
|
@@ -21,15 +17,12 @@ export interface SubNavProps extends BaseProps {
|
|
|
21
17
|
onMouseEnter?: React.MouseEventHandler<HTMLLIElement>;
|
|
22
18
|
onMouseLeave?: React.MouseEventHandler<HTMLLIElement>;
|
|
23
19
|
text?: React.ReactNode;
|
|
24
|
-
|
|
25
|
-
active?: boolean;
|
|
26
|
-
mode?: string;
|
|
20
|
+
expandIcon?: React.ReactNode;
|
|
27
21
|
}
|
|
28
22
|
export interface SubNavState {
|
|
29
23
|
isHovered: boolean;
|
|
30
24
|
}
|
|
31
25
|
export default class SubNav extends BaseComponent<SubNavProps, SubNavState> {
|
|
32
|
-
static elementType: string;
|
|
33
26
|
static contextType: React.Context<NavContextType>;
|
|
34
27
|
static propTypes: {
|
|
35
28
|
/**
|
|
@@ -56,10 +49,6 @@ export default class SubNav extends BaseComponent<SubNavProps, SubNavState> {
|
|
|
56
49
|
* Nested child elements
|
|
57
50
|
*/
|
|
58
51
|
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
59
|
-
/**
|
|
60
|
-
* The icon name of the right control switch (on and off status)
|
|
61
|
-
*/
|
|
62
|
-
toggleIcon: PropTypes.Requireable<any>;
|
|
63
52
|
style: PropTypes.Requireable<object>;
|
|
64
53
|
/**
|
|
65
54
|
* Icon name on the left
|
|
@@ -73,7 +62,6 @@ export default class SubNav extends BaseComponent<SubNavProps, SubNavState> {
|
|
|
73
62
|
onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
|
|
74
63
|
disabled: PropTypes.Requireable<boolean>;
|
|
75
64
|
level: PropTypes.Requireable<number>;
|
|
76
|
-
active: PropTypes.Requireable<boolean>;
|
|
77
65
|
};
|
|
78
66
|
static defaultProps: {
|
|
79
67
|
level: number;
|
|
@@ -81,12 +69,7 @@ export default class SubNav extends BaseComponent<SubNavProps, SubNavState> {
|
|
|
81
69
|
isCollapsed: boolean;
|
|
82
70
|
isOpen: boolean;
|
|
83
71
|
maxHeight: number;
|
|
84
|
-
toggleIcon: {
|
|
85
|
-
open: JSX.Element;
|
|
86
|
-
closed: JSX.Element;
|
|
87
|
-
};
|
|
88
72
|
disabled: boolean;
|
|
89
|
-
active: boolean;
|
|
90
73
|
};
|
|
91
74
|
titleRef: React.RefObject<HTMLDivElement>;
|
|
92
75
|
itemRef: React.RefObject<HTMLLIElement>;
|
|
@@ -5,8 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var _isUndefined2 = _interopRequireDefault(require("lodash/isUndefined"));
|
|
9
|
-
|
|
10
8
|
var _get2 = _interopRequireDefault(require("lodash/get"));
|
|
11
9
|
|
|
12
10
|
var _times2 = _interopRequireDefault(require("lodash/times"));
|
|
@@ -131,29 +129,16 @@ class SubNav extends _baseComponent.default {
|
|
|
131
129
|
|
|
132
130
|
return _this._invokeContextFunc('onClick', ...args);
|
|
133
131
|
},
|
|
134
|
-
getIsSelected: itemKey =>
|
|
135
|
-
getIsOpen: () =>
|
|
136
|
-
getIsCollapsed: () => {
|
|
137
|
-
var _a;
|
|
138
|
-
|
|
139
|
-
return this.props.isCollapsed || Boolean((_a = this.context) === null || _a === void 0 ? void 0 : _a.isCollapsed);
|
|
140
|
-
},
|
|
141
|
-
getMode: () => {
|
|
142
|
-
var _a, _b;
|
|
143
|
-
|
|
144
|
-
return (_a = this.props.mode) !== null && _a !== void 0 ? _a : (_b = this.context) === null || _b === void 0 ? void 0 : _b.mode;
|
|
145
|
-
}
|
|
132
|
+
getIsSelected: itemKey => Boolean(!(0, _isNullOrUndefined.default)(itemKey) && (0, _get2.default)(this.context, 'selectedKeys', []).includes(String(itemKey))),
|
|
133
|
+
getIsOpen: () => Boolean(this.context && this.context.openKeys && this.context.openKeys.includes(String(this.props.itemKey)))
|
|
146
134
|
});
|
|
147
135
|
}
|
|
148
136
|
|
|
149
137
|
renderIcon(icon, pos, withTransition) {
|
|
150
138
|
let isToggleIcon = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
151
139
|
let key = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
|
|
152
|
-
|
|
153
|
-
var _a;
|
|
154
|
-
|
|
155
140
|
const {
|
|
156
|
-
prefixCls
|
|
141
|
+
prefixCls
|
|
157
142
|
} = this.context;
|
|
158
143
|
let iconSize = 'large';
|
|
159
144
|
|
|
@@ -161,15 +146,14 @@ class SubNav extends _baseComponent.default {
|
|
|
161
146
|
iconSize = 'default';
|
|
162
147
|
}
|
|
163
148
|
|
|
164
|
-
const isOpen = this.adapter.getIsOpen();
|
|
165
149
|
const className = (0, _classnames.default)(`${prefixCls}-item-icon`, {
|
|
166
|
-
[`${prefixCls}-item-icon-toggle-${
|
|
167
|
-
[`${prefixCls}-item-icon-info`]: !isToggleIcon
|
|
168
|
-
[`${prefixCls}-icon-rotate-${isOpen ? "180" : "0"}-no-transition`]: !withTransition && isToggleIcon
|
|
150
|
+
[`${prefixCls}-item-icon-toggle-${this.context.toggleIconPosition}`]: isToggleIcon,
|
|
151
|
+
[`${prefixCls}-item-icon-info`]: !isToggleIcon
|
|
169
152
|
});
|
|
153
|
+
const isOpen = this.adapter.getIsOpen();
|
|
170
154
|
const iconElem = /*#__PURE__*/_react.default.isValidElement(icon) ? withTransition ? /*#__PURE__*/_react.default.createElement(_cssAnimation.default, {
|
|
171
155
|
animationState: isOpen ? "enter" : "leave",
|
|
172
|
-
startClassName: `${
|
|
156
|
+
startClassName: `${_constants.cssClasses.PREFIX}-icon-rotate-${isOpen ? "180" : "0"}`
|
|
173
157
|
}, _ref => {
|
|
174
158
|
let {
|
|
175
159
|
animationClassName
|
|
@@ -196,23 +180,21 @@ class SubNav extends _baseComponent.default {
|
|
|
196
180
|
itemKey,
|
|
197
181
|
indent,
|
|
198
182
|
disabled,
|
|
199
|
-
level
|
|
183
|
+
level,
|
|
184
|
+
expandIcon
|
|
200
185
|
} = this.props;
|
|
201
186
|
const {
|
|
187
|
+
mode,
|
|
202
188
|
isInSubNav,
|
|
203
|
-
|
|
189
|
+
isCollapsed,
|
|
190
|
+
prefixCls,
|
|
204
191
|
subNavMotion,
|
|
205
192
|
limitIndent
|
|
206
193
|
} = this.context;
|
|
207
|
-
const isFirstLayer = (0, _isUndefined2.default)(this.context.mode);
|
|
208
|
-
const mode = this.adapter.getMode();
|
|
209
194
|
const isOpen = this.adapter.getIsOpen();
|
|
210
|
-
const isCollapsed = this.adapter.getIsCollapsed();
|
|
211
195
|
const titleCls = (0, _classnames.default)(`${prefixCls}-sub-title`, {
|
|
212
196
|
[`${prefixCls}-sub-title-selected`]: this.adapter.getIsSelected(itemKey),
|
|
213
|
-
[`${prefixCls}-sub-title-disabled`]: disabled
|
|
214
|
-
[`${prefixCls}-first-layer`]: isFirstLayer,
|
|
215
|
-
[`${prefixCls}-sub-title-horizontal`]: mode === _constants.strings.MODE_HORIZONTAL
|
|
197
|
+
[`${prefixCls}-sub-title-disabled`]: disabled
|
|
216
198
|
});
|
|
217
199
|
let withTransition = false;
|
|
218
200
|
let toggleIconType = '';
|
|
@@ -229,7 +211,7 @@ class SubNav extends _baseComponent.default {
|
|
|
229
211
|
"aria-hidden": true
|
|
230
212
|
});
|
|
231
213
|
} else {
|
|
232
|
-
toggleIconType = /*#__PURE__*/_react.default.createElement(_semiIcons.IconChevronDown, {
|
|
214
|
+
toggleIconType = expandIcon ? expandIcon : /*#__PURE__*/_react.default.createElement(_semiIcons.IconChevronDown, {
|
|
233
215
|
"aria-hidden": true
|
|
234
216
|
}); // Horizontal mode does not require animation fix#1198
|
|
235
217
|
// withTransition = true;
|
|
@@ -239,7 +221,7 @@ class SubNav extends _baseComponent.default {
|
|
|
239
221
|
withTransition = true;
|
|
240
222
|
}
|
|
241
223
|
|
|
242
|
-
toggleIconType = /*#__PURE__*/_react.default.createElement(_semiIcons.IconChevronDown, {
|
|
224
|
+
toggleIconType = expandIcon ? expandIcon : /*#__PURE__*/_react.default.createElement(_semiIcons.IconChevronDown, {
|
|
243
225
|
"aria-hidden": true
|
|
244
226
|
});
|
|
245
227
|
}
|
|
@@ -253,7 +235,6 @@ class SubNav extends _baseComponent.default {
|
|
|
253
235
|
}
|
|
254
236
|
|
|
255
237
|
const isIconChevronRightShow = !isCollapsed && isInSubNav && mode === _constants.strings.MODE_HORIZONTAL || isCollapsed && isInSubNav;
|
|
256
|
-
const toggleIconPositionLeft = this.context.toggleIconPosition === _constants.strings.TOGGLE_ICON_LEFT;
|
|
257
238
|
|
|
258
239
|
const titleDiv = /*#__PURE__*/_react.default.createElement("div", {
|
|
259
240
|
role: "menuitem",
|
|
@@ -266,9 +247,9 @@ class SubNav extends _baseComponent.default {
|
|
|
266
247
|
"aria-expanded": isOpen ? 'true' : 'false'
|
|
267
248
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
268
249
|
className: `${prefixCls}-item-inner`
|
|
269
|
-
}, placeholderIcons,
|
|
250
|
+
}, placeholderIcons, this.context.toggleIconPosition === _constants.strings.TOGGLE_ICON_LEFT && this.renderIcon(toggleIconType, _constants.strings.ICON_POS_RIGHT, withTransition, true, 'key-toggle-position-left'), icon || indent || isInSubNav && mode !== _constants.strings.MODE_HORIZONTAL ? this.renderIcon(icon, _constants.strings.ICON_POS_LEFT, false, false, 'key-inSubNav-position-left') : null, /*#__PURE__*/_react.default.createElement("span", {
|
|
270
251
|
className: `${prefixCls}-item-text`
|
|
271
|
-
}, text),
|
|
252
|
+
}, text), this.context.toggleIconPosition === _constants.strings.TOGGLE_ICON_RIGHT && this.renderIcon(toggleIconType, _constants.strings.ICON_POS_RIGHT, withTransition, true, 'key-toggle-position-right')));
|
|
272
253
|
|
|
273
254
|
return titleDiv;
|
|
274
255
|
}
|
|
@@ -279,12 +260,12 @@ class SubNav extends _baseComponent.default {
|
|
|
279
260
|
maxHeight
|
|
280
261
|
} = this.props;
|
|
281
262
|
const {
|
|
263
|
+
isCollapsed,
|
|
264
|
+
mode,
|
|
282
265
|
subNavMotion,
|
|
283
|
-
prefixCls
|
|
266
|
+
prefixCls
|
|
284
267
|
} = this.context;
|
|
285
|
-
const isCollapsed = this.adapter.getIsCollapsed();
|
|
286
268
|
const isOpen = this.adapter.getIsOpen();
|
|
287
|
-
const mode = this.adapter.getMode();
|
|
288
269
|
const isHorizontal = mode === _constants.strings.MODE_HORIZONTAL;
|
|
289
270
|
const subNavCls = (0, _classnames.default)(`${prefixCls}-sub`, {
|
|
290
271
|
[`${prefixCls}-sub-open`]: isOpen,
|
|
@@ -315,14 +296,14 @@ class SubNav extends _baseComponent.default {
|
|
|
315
296
|
disabled
|
|
316
297
|
} = this.props;
|
|
317
298
|
const {
|
|
299
|
+
mode,
|
|
318
300
|
isInSubNav,
|
|
301
|
+
isCollapsed,
|
|
319
302
|
subNavCloseDelay,
|
|
320
303
|
subNavOpenDelay,
|
|
321
|
-
prefixCls
|
|
304
|
+
prefixCls,
|
|
322
305
|
getPopupContainer
|
|
323
306
|
} = this.context;
|
|
324
|
-
const isCollapsed = this.adapter.getIsCollapsed();
|
|
325
|
-
const mode = this.adapter.getMode();
|
|
326
307
|
const isOpen = this.adapter.getIsOpen();
|
|
327
308
|
const openKeysIsControlled = this.adapter.getOpenKeysIsControlled();
|
|
328
309
|
const subNavCls = (0, _classnames.default)({
|
|
@@ -367,10 +348,10 @@ class SubNav extends _baseComponent.default {
|
|
|
367
348
|
text
|
|
368
349
|
} = this.props;
|
|
369
350
|
const {
|
|
370
|
-
|
|
351
|
+
mode,
|
|
352
|
+
isCollapsed,
|
|
353
|
+
prefixCls
|
|
371
354
|
} = this.context;
|
|
372
|
-
const mode = this.adapter.getMode();
|
|
373
|
-
const isCollapsed = this.adapter.getIsCollapsed();
|
|
374
355
|
let titleDiv = this.renderTitleDiv();
|
|
375
356
|
const subUl = this.renderSubUl(); // When mode=horizontal, it is displayed in Dropdown
|
|
376
357
|
|
|
@@ -388,11 +369,9 @@ class SubNav extends _baseComponent.default {
|
|
|
388
369
|
onMouseEnter: onMouseEnter,
|
|
389
370
|
onMouseLeave: onMouseLeave,
|
|
390
371
|
disabled: disabled,
|
|
391
|
-
text: text
|
|
392
|
-
mode: mode
|
|
372
|
+
text: text
|
|
393
373
|
}, /*#__PURE__*/_react.default.createElement(_navContext.default.Provider, {
|
|
394
374
|
value: Object.assign(Object.assign({}, this.context), {
|
|
395
|
-
mode: mode,
|
|
396
375
|
isInSubNav: true
|
|
397
376
|
})
|
|
398
377
|
}, titleDiv, subUl));
|
|
@@ -432,14 +411,6 @@ SubNav.propTypes = {
|
|
|
432
411
|
* Nested child elements
|
|
433
412
|
*/
|
|
434
413
|
children: _propTypes.default.node,
|
|
435
|
-
|
|
436
|
-
/**
|
|
437
|
-
* The icon name of the right control switch (on and off status)
|
|
438
|
-
*/
|
|
439
|
-
toggleIcon: _propTypes.default.oneOfType([_propTypes.default.any, _propTypes.default.shape({
|
|
440
|
-
open: _propTypes.default.string,
|
|
441
|
-
closed: _propTypes.default.string
|
|
442
|
-
})]),
|
|
443
414
|
style: _propTypes.default.object,
|
|
444
415
|
|
|
445
416
|
/**
|
|
@@ -455,8 +426,7 @@ SubNav.propTypes = {
|
|
|
455
426
|
onMouseLeave: _propTypes.default.func,
|
|
456
427
|
// Is it disabled
|
|
457
428
|
disabled: _propTypes.default.bool,
|
|
458
|
-
level: _propTypes.default.number
|
|
459
|
-
active: _propTypes.default.bool
|
|
429
|
+
level: _propTypes.default.number
|
|
460
430
|
};
|
|
461
431
|
SubNav.defaultProps = {
|
|
462
432
|
level: 0,
|
|
@@ -464,15 +434,5 @@ SubNav.defaultProps = {
|
|
|
464
434
|
isCollapsed: false,
|
|
465
435
|
isOpen: false,
|
|
466
436
|
maxHeight: _constants.numbers.DEFAULT_SUBNAV_MAX_HEIGHT,
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
"aria-hidden": true
|
|
470
|
-
}),
|
|
471
|
-
closed: /*#__PURE__*/_react.default.createElement(_semiIcons.IconChevronDown, {
|
|
472
|
-
"aria-hidden": true
|
|
473
|
-
})
|
|
474
|
-
},
|
|
475
|
-
disabled: false,
|
|
476
|
-
active: false
|
|
477
|
-
};
|
|
478
|
-
SubNav.elementType = 'Nav.Sub';
|
|
437
|
+
disabled: false
|
|
438
|
+
};
|
|
@@ -11,7 +11,7 @@ export type { CollapseButtonProps } from './CollapseButton';
|
|
|
11
11
|
export type { NavFooterProps } from './Footer';
|
|
12
12
|
export type { NavHeaderProps } from './Header';
|
|
13
13
|
export type { NavItemProps } from './Item';
|
|
14
|
-
export type {
|
|
14
|
+
export type { SubNavProps } from './SubNav';
|
|
15
15
|
export declare type Mode = 'vertical' | 'horizontal';
|
|
16
16
|
export interface OnSelectedData {
|
|
17
17
|
itemKey: React.ReactText;
|
|
@@ -33,6 +33,7 @@ export interface NavProps extends BaseProps {
|
|
|
33
33
|
defaultIsCollapsed?: boolean;
|
|
34
34
|
defaultOpenKeys?: React.ReactText[];
|
|
35
35
|
defaultSelectedKeys?: React.ReactText[];
|
|
36
|
+
expandIcon?: React.ReactNode;
|
|
36
37
|
footer?: React.ReactNode | NavFooterProps;
|
|
37
38
|
header?: React.ReactNode | NavHeaderProps;
|
|
38
39
|
isCollapsed?: boolean;
|
|
@@ -86,9 +87,11 @@ declare class Nav extends BaseComponent<NavProps, NavState> {
|
|
|
86
87
|
static Header: typeof Header;
|
|
87
88
|
static Footer: typeof Footer;
|
|
88
89
|
static propTypes: {
|
|
90
|
+
collapseIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
89
91
|
defaultOpenKeys: PropTypes.Requireable<NonNullable<string | number>[]>;
|
|
90
92
|
openKeys: PropTypes.Requireable<NonNullable<string | number>[]>;
|
|
91
93
|
defaultSelectedKeys: PropTypes.Requireable<NonNullable<string | number>[]>;
|
|
94
|
+
expandIcon: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
92
95
|
selectedKeys: PropTypes.Requireable<NonNullable<string | number>[]>;
|
|
93
96
|
mode: PropTypes.Requireable<string>;
|
|
94
97
|
onSelect: PropTypes.Requireable<(...args: any[]) => any>;
|