amis 1.6.5-beta.3 → 1.8.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/lib/Schema.d.ts +3 -2
- package/lib/Schema.js +0 -1
- package/lib/Schema.js.map +2 -2
- package/lib/components/Alert2.js +4 -2
- package/lib/components/Alert2.js.map +2 -2
- package/lib/components/AssociatedSelection.d.ts +84 -84
- package/lib/components/Avatar.d.ts +20 -20
- package/lib/components/Breadcrumb.d.ts +130 -0
- package/lib/components/Breadcrumb.js +161 -0
- package/lib/components/Breadcrumb.js.map +13 -0
- package/lib/components/Card.d.ts +20 -20
- package/lib/components/ChainedSelection.d.ts +84 -84
- package/lib/components/CityArea.js +3 -0
- package/lib/components/CityArea.js.map +2 -2
- package/lib/components/Collapse.d.ts +20 -20
- package/lib/components/CollapseGroup.d.ts +20 -20
- package/lib/components/DatePicker.d.ts +84 -84
- package/lib/components/DateRangePicker.d.ts +2 -2
- package/lib/components/DateRangePicker.js +36 -45
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/GroupedSelection.d.ts +84 -84
- package/lib/components/Layout.d.ts +21 -21
- package/lib/components/ListGroup.d.ts +21 -21
- package/lib/components/PopUp.js +2 -1
- package/lib/components/PopUp.js.map +2 -2
- package/lib/components/Radios.d.ts +21 -21
- package/lib/components/Range.js.map +2 -2
- package/lib/components/Selection.d.ts +84 -84
- package/lib/components/TableSelection.d.ts +84 -84
- package/lib/components/Tabs.d.ts +52 -23
- package/lib/components/Tabs.js +198 -46
- package/lib/components/Tabs.js.map +2 -2
- package/lib/components/TooltipWrapper.d.ts +21 -20
- package/lib/components/TooltipWrapper.js +2 -2
- package/lib/components/TooltipWrapper.js.map +2 -2
- package/lib/components/Transfer.d.ts +84 -84
- package/lib/components/TransferDropDown.d.ts +84 -84
- package/lib/components/Tree.d.ts +84 -84
- package/lib/components/TreeSelection.d.ts +84 -84
- package/lib/components/calendar/Calendar.js +5 -0
- package/lib/components/calendar/Calendar.js.map +2 -2
- package/lib/components/calendar/DaysView.js.map +1 -1
- package/lib/components/icons.js +8 -0
- package/lib/components/icons.js.map +2 -2
- package/lib/components/index.d.ts +2 -1
- package/lib/components/index.js +4 -2
- package/lib/components/index.js.map +2 -2
- package/lib/icons/cloud-upload.js +17 -0
- package/lib/icons/image.js +7 -0
- package/lib/icons/refresh.js +9 -0
- package/lib/icons/trash.js +10 -0
- package/lib/icons/upload.js +3 -8
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/index.js.map +2 -2
- package/lib/locale/en-US.js +3 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +4 -2
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +1 -1
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/Breadcrumb.d.ts +41 -6
- package/lib/renderers/Breadcrumb.js +23 -19
- package/lib/renderers/Breadcrumb.js.map +2 -2
- package/lib/renderers/ButtonGroup.d.ts +2 -2
- package/lib/renderers/ButtonGroup.js.map +1 -1
- package/lib/renderers/Form/ChainedSelect.d.ts +4 -1
- package/lib/renderers/Form/ChainedSelect.js +83 -34
- package/lib/renderers/Form/ChainedSelect.js.map +2 -2
- package/lib/renderers/Form/Checkbox.d.ts +3 -0
- package/lib/renderers/Form/Checkbox.js +38 -1
- package/lib/renderers/Form/Checkbox.js.map +2 -2
- package/lib/renderers/Form/Combo.d.ts +4 -3
- package/lib/renderers/Form/Combo.js +81 -32
- package/lib/renderers/Form/Combo.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +1 -1
- package/lib/renderers/Form/InputCity.d.ts +84 -84
- package/lib/renderers/Form/InputCity.js +4 -1
- package/lib/renderers/Form/InputCity.js.map +2 -2
- package/lib/renderers/Form/InputColor.js +3 -1
- package/lib/renderers/Form/InputColor.js.map +2 -2
- package/lib/renderers/Form/InputDate.js +3 -1
- package/lib/renderers/Form/InputDate.js.map +2 -2
- package/lib/renderers/Form/InputDateRange.js +3 -1
- package/lib/renderers/Form/InputDateRange.js.map +2 -2
- package/lib/renderers/Form/InputExcel.d.ts +4 -0
- package/lib/renderers/Form/InputExcel.js +33 -6
- package/lib/renderers/Form/InputExcel.js.map +2 -2
- package/lib/renderers/Form/InputFile.d.ts +8 -1
- package/lib/renderers/Form/InputFile.js +71 -42
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputImage.d.ts +4 -1
- package/lib/renderers/Form/InputImage.js +21 -9
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputRange.d.ts +27 -9
- package/lib/renderers/Form/InputRange.js +88 -23
- package/lib/renderers/Form/InputRange.js.map +2 -2
- package/lib/renderers/Form/InputSubForm.js +2 -1
- package/lib/renderers/Form/InputSubForm.js.map +2 -2
- package/lib/renderers/Form/InputTag.js +2 -1
- package/lib/renderers/Form/InputTag.js.map +2 -2
- package/lib/renderers/Form/MatrixCheckboxes.js +2 -1
- package/lib/renderers/Form/MatrixCheckboxes.js.map +2 -2
- package/lib/renderers/Form/NestedSelect.d.ts +9 -6
- package/lib/renderers/Form/NestedSelect.js +247 -130
- package/lib/renderers/Form/NestedSelect.js.map +2 -2
- package/lib/renderers/Form/Options.js +2 -1
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Radios.js +2 -1
- package/lib/renderers/Form/Radios.js.map +2 -2
- package/lib/renderers/Form/Select.js +6 -3
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/Switch.d.ts +7 -6
- package/lib/renderers/Form/Switch.js +4 -1
- package/lib/renderers/Form/Switch.js.map +2 -2
- package/lib/renderers/Log.js +2 -1
- package/lib/renderers/Log.js.map +2 -2
- package/lib/renderers/PopOver.js +1 -1
- package/lib/renderers/PopOver.js.map +2 -2
- package/lib/renderers/Tabs.d.ts +58 -5
- package/lib/renderers/Tabs.js +170 -58
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/TooltipWrapper.d.ts +104 -0
- package/lib/renderers/TooltipWrapper.js +59 -0
- package/lib/renderers/TooltipWrapper.js.map +13 -0
- package/lib/renderers/Video.d.ts +6 -0
- package/lib/renderers/Video.js +13 -6
- package/lib/renderers/Video.js.map +2 -2
- package/lib/store/form.js +4 -13
- package/lib/store/form.js.map +2 -2
- package/lib/store/table.js +1 -1
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +742 -160
- package/lib/themes/ang.css +793 -163
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +757 -175
- package/lib/themes/antd.css +793 -163
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +1249 -667
- package/lib/themes/cxd.css +970 -321
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +742 -160
- package/lib/themes/dark.css +793 -163
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +1249 -667
- package/lib/themes/default.css +970 -321
- package/lib/themes/default.css.map +1 -1
- package/package.json +1 -1
- package/schema.json +16012 -736
- package/scss/_properties.scss +56 -2
- package/scss/components/_alert.scss +1 -1
- package/scss/components/_breadcrumb.scss +90 -1
- package/scss/components/_button-group.scss +15 -0
- package/scss/components/_city-area.scss +2 -0
- package/scss/components/_popup.scss +13 -3
- package/scss/components/_tabs.scss +629 -132
- package/scss/components/_tooltip.scss +72 -0
- package/scss/components/form/_file.scss +82 -24
- package/scss/components/form/_image.scss +30 -25
- package/scss/components/form/_number.scss +2 -0
- package/scss/components/form/_switch.scss +1 -3
- package/scss/themes/_cxd-colors.scss +47 -47
- package/scss/themes/_cxd-variables.scss +20 -0
- package/sdk/ang-ie11.css +879 -196
- package/sdk/ang.css +931 -200
- package/sdk/antd-ie11.css +951 -268
- package/sdk/antd.css +931 -200
- package/sdk/barcode.js +51 -51
- package/sdk/charts.js +14 -14
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +1386 -703
- package/sdk/cxd.css +1107 -357
- package/sdk/dark-ie11.css +879 -196
- package/sdk/dark.css +931 -200
- package/sdk/exceljs.js +1 -1
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +17 -17
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +1386 -703
- package/sdk/sdk.css +1107 -357
- package/sdk/sdk.js +1260 -1248
- package/sdk/thirds/hls.js/hls.js +1 -1
- package/sdk/thirds/mpegts.js/mpegts.js +1 -1
- package/sdk/tinymce.js +57 -57
- package/src/Schema.ts +5 -2
- package/src/components/Alert2.tsx +9 -3
- package/src/components/Breadcrumb.tsx +294 -0
- package/src/components/CityArea.tsx +3 -0
- package/src/components/DateRangePicker.tsx +40 -68
- package/src/components/PopUp.tsx +6 -5
- package/src/components/Range.tsx +7 -1
- package/src/components/Tabs.tsx +300 -54
- package/src/components/TooltipWrapper.tsx +4 -1
- package/src/components/calendar/Calendar.tsx +5 -0
- package/src/components/calendar/DaysView.tsx +2 -2
- package/src/components/icons.tsx +8 -0
- package/src/components/index.tsx +2 -0
- package/src/icons/cloud-upload.svg +22 -0
- package/src/icons/image.svg +1 -0
- package/src/icons/refresh.svg +7 -0
- package/src/icons/trash.svg +8 -0
- package/src/icons/upload.svg +4 -9
- package/src/index.tsx +1 -0
- package/src/locale/en-US.ts +3 -1
- package/src/locale/zh-CN.ts +4 -2
- package/src/renderers/Action.tsx +2 -1
- package/src/renderers/Breadcrumb.tsx +89 -45
- package/src/renderers/ButtonGroup.tsx +2 -2
- package/src/renderers/Form/ChainedSelect.tsx +56 -12
- package/src/renderers/Form/Checkbox.tsx +30 -1
- package/src/renderers/Form/Combo.tsx +84 -26
- package/src/renderers/Form/InputCity.tsx +13 -1
- package/src/renderers/Form/InputColor.tsx +2 -0
- package/src/renderers/Form/InputDate.tsx +2 -0
- package/src/renderers/Form/InputDateRange.tsx +2 -0
- package/src/renderers/Form/InputExcel.tsx +27 -5
- package/src/renderers/Form/InputFile.tsx +167 -115
- package/src/renderers/Form/InputImage.tsx +61 -35
- package/src/renderers/Form/InputRange.tsx +95 -40
- package/src/renderers/Form/InputSubForm.tsx +2 -1
- package/src/renderers/Form/InputTag.tsx +3 -1
- package/src/renderers/Form/MatrixCheckboxes.tsx +3 -1
- package/src/renderers/Form/NestedSelect.tsx +75 -26
- package/src/renderers/Form/Options.tsx +3 -1
- package/src/renderers/Form/Radios.tsx +3 -1
- package/src/renderers/Form/Select.tsx +6 -2
- package/src/renderers/Form/Switch.tsx +16 -9
- package/src/renderers/Log.tsx +2 -1
- package/src/renderers/PopOver.tsx +1 -1
- package/src/renderers/Tabs.tsx +254 -93
- package/src/renderers/TooltipWrapper.tsx +219 -0
- package/src/renderers/Video.tsx +21 -6
- package/src/store/form.ts +0 -9
- package/src/store/table.ts +1 -1
package/lib/components/Tabs.d.ts
CHANGED
@@ -9,7 +9,8 @@ import React from 'react';
|
|
9
9
|
import { Schema } from '../types';
|
10
10
|
import { ThemeProps } from '../theme';
|
11
11
|
import { SchemaClassName } from '../Schema';
|
12
|
-
|
12
|
+
import Sortable from 'sortablejs';
|
13
|
+
export declare type TabsMode = '' | 'line' | 'card' | 'radio' | 'vertical' | 'chrome' | 'simple' | 'strong' | 'tiled' | 'sidebar';
|
13
14
|
export interface TabProps extends ThemeProps {
|
14
15
|
title?: string | React.ReactNode;
|
15
16
|
icon?: string;
|
@@ -98,10 +99,25 @@ export interface TabsProps extends ThemeProps {
|
|
98
99
|
tabs?: Array<TabProps>;
|
99
100
|
tabRender?: (tab: TabProps, props?: TabsProps) => JSX.Element;
|
100
101
|
toolbar?: React.ReactNode;
|
102
|
+
addable?: boolean;
|
103
|
+
onAdd?: () => void;
|
104
|
+
closable?: boolean;
|
105
|
+
onClose?: (index: number, key: string | number) => void;
|
106
|
+
draggable?: boolean;
|
107
|
+
onDragChange?: (e: any) => void;
|
108
|
+
showTip?: boolean;
|
109
|
+
showTipClassName?: string;
|
101
110
|
scrollable?: boolean;
|
111
|
+
editable?: boolean;
|
112
|
+
onEdit?: (index: number, text: string) => void;
|
113
|
+
sidePosition?: 'left' | 'right';
|
114
|
+
addBtnText?: string;
|
115
|
+
}
|
116
|
+
export interface IDragInfo {
|
117
|
+
nodeId: string;
|
102
118
|
}
|
103
119
|
export declare class Tabs extends React.Component<TabsProps, any> {
|
104
|
-
static defaultProps: Pick<TabsProps, 'mode' | 'contentClassName'>;
|
120
|
+
static defaultProps: Pick<TabsProps, 'mode' | 'contentClassName' | 'showTip' | 'showTipClassName' | 'sidePosition' | 'addBtnText'>;
|
105
121
|
static Tab: {
|
106
122
|
new (props: (Omit<TabProps, keyof ThemeProps> & import("../theme").ThemeOutterProps) | Readonly<Omit<TabProps, keyof ThemeProps> & import("../theme").ThemeOutterProps>): {
|
107
123
|
render(): JSX.Element;
|
@@ -159,8 +175,14 @@ export declare class Tabs extends React.Component<TabsProps, any> {
|
|
159
175
|
} & import("hoist-non-react-statics").NonReactStatics<typeof TabComponent, {}> & {
|
160
176
|
ComposedComponent: typeof TabComponent;
|
161
177
|
};
|
162
|
-
navMain: React.RefObject<
|
178
|
+
navMain: React.RefObject<HTMLUListElement>;
|
163
179
|
scroll: boolean;
|
180
|
+
sortable?: Sortable;
|
181
|
+
dragTip?: HTMLElement;
|
182
|
+
id: string;
|
183
|
+
draging: boolean;
|
184
|
+
toDispose: Array<() => void>;
|
185
|
+
resizeDom: React.RefObject<HTMLDivElement>;
|
164
186
|
checkArrowStatus: import("lodash").DebouncedFunc<() => void>;
|
165
187
|
constructor(props: TabsProps);
|
166
188
|
componentDidMount(): void;
|
@@ -175,6 +197,12 @@ export declare class Tabs extends React.Component<TabsProps, any> {
|
|
175
197
|
*/
|
176
198
|
showSelected(key?: string | number): void;
|
177
199
|
handleSelect(key: string | number): void;
|
200
|
+
handleStartEdit(index: number, title: string): void;
|
201
|
+
handleEditInputChange(e: React.ChangeEvent<HTMLInputElement>): void;
|
202
|
+
handleEdit(): void;
|
203
|
+
dragTipRef(ref: any): void;
|
204
|
+
destroyDragging(): void;
|
205
|
+
initDragging(): void;
|
178
206
|
handleArrow(type: 'left' | 'right'): void;
|
179
207
|
/**
|
180
208
|
* 监听导航上的滚动事件
|
@@ -183,15 +211,16 @@ export declare class Tabs extends React.Component<TabsProps, any> {
|
|
183
211
|
renderNav(child: any, index: number): JSX.Element | undefined;
|
184
212
|
renderTab(child: any, index: number): React.DetailedReactHTMLElement<any, HTMLElement> | undefined;
|
185
213
|
renderArrow(type: 'left' | 'right'): JSX.Element | null | undefined;
|
214
|
+
handleAddBtn(): void;
|
186
215
|
render(): JSX.Element | null;
|
187
216
|
}
|
188
217
|
declare const _default: {
|
189
|
-
new (props: (Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onSelect" | "tabs" | "tabsMode" | "activeKey" | "linksClassName" | "scrollable" | "additionBtns" | "tabRender"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName">, never>> & import("../theme").ThemeOutterProps) | Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onSelect" | "tabs" | "tabsMode" | "activeKey" | "linksClassName" | "scrollable" | "additionBtns" | "tabRender"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName">, never>> & import("../theme").ThemeOutterProps>): {
|
218
|
+
new (props: (Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps) | Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>): {
|
190
219
|
render(): JSX.Element;
|
191
220
|
context: any;
|
192
|
-
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onSelect" | "tabs" | "tabsMode" | "activeKey" | "linksClassName" | "scrollable" | "additionBtns" | "tabRender"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName">, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
221
|
+
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
193
222
|
forceUpdate(callback?: (() => void) | undefined): void;
|
194
|
-
readonly props: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onSelect" | "tabs" | "tabsMode" | "activeKey" | "linksClassName" | "scrollable" | "additionBtns" | "tabRender"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName">, never>> & import("../theme").ThemeOutterProps> & Readonly<{
|
223
|
+
readonly props: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps> & Readonly<{
|
195
224
|
children?: React.ReactNode;
|
196
225
|
}>;
|
197
226
|
state: Readonly<{}>;
|
@@ -199,24 +228,24 @@ declare const _default: {
|
|
199
228
|
[key: string]: React.ReactInstance;
|
200
229
|
};
|
201
230
|
componentDidMount?(): void;
|
202
|
-
shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onSelect" | "tabs" | "tabsMode" | "activeKey" | "linksClassName" | "scrollable" | "additionBtns" | "tabRender"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
231
|
+
shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
203
232
|
componentWillUnmount?(): void;
|
204
233
|
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
205
|
-
getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onSelect" | "tabs" | "tabsMode" | "activeKey" | "linksClassName" | "scrollable" | "additionBtns" | "tabRender"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
|
206
|
-
componentDidUpdate?(prevProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onSelect" | "tabs" | "tabsMode" | "activeKey" | "linksClassName" | "scrollable" | "additionBtns" | "tabRender"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
234
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
|
235
|
+
componentDidUpdate?(prevProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
207
236
|
componentWillMount?(): void;
|
208
237
|
UNSAFE_componentWillMount?(): void;
|
209
|
-
componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onSelect" | "tabs" | "tabsMode" | "activeKey" | "linksClassName" | "scrollable" | "additionBtns" | "tabRender"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
210
|
-
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onSelect" | "tabs" | "tabsMode" | "activeKey" | "linksClassName" | "scrollable" | "additionBtns" | "tabRender"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
211
|
-
componentWillUpdate?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onSelect" | "tabs" | "tabsMode" | "activeKey" | "linksClassName" | "scrollable" | "additionBtns" | "tabRender"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
212
|
-
UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onSelect" | "tabs" | "tabsMode" | "activeKey" | "linksClassName" | "scrollable" | "additionBtns" | "tabRender"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
238
|
+
componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
239
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
240
|
+
componentWillUpdate?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
241
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
213
242
|
};
|
214
|
-
new (props: Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onSelect" | "tabs" | "tabsMode" | "activeKey" | "linksClassName" | "scrollable" | "additionBtns" | "tabRender"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName">, never>> & import("../theme").ThemeOutterProps, context: any): {
|
243
|
+
new (props: Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps, context: any): {
|
215
244
|
render(): JSX.Element;
|
216
245
|
context: any;
|
217
|
-
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onSelect" | "tabs" | "tabsMode" | "activeKey" | "linksClassName" | "scrollable" | "additionBtns" | "tabRender"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName">, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
246
|
+
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
218
247
|
forceUpdate(callback?: (() => void) | undefined): void;
|
219
|
-
readonly props: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onSelect" | "tabs" | "tabsMode" | "activeKey" | "linksClassName" | "scrollable" | "additionBtns" | "tabRender"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName">, never>> & import("../theme").ThemeOutterProps> & Readonly<{
|
248
|
+
readonly props: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps> & Readonly<{
|
220
249
|
children?: React.ReactNode;
|
221
250
|
}>;
|
222
251
|
state: Readonly<{}>;
|
@@ -224,17 +253,17 @@ declare const _default: {
|
|
224
253
|
[key: string]: React.ReactInstance;
|
225
254
|
};
|
226
255
|
componentDidMount?(): void;
|
227
|
-
shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onSelect" | "tabs" | "tabsMode" | "activeKey" | "linksClassName" | "scrollable" | "additionBtns" | "tabRender"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
256
|
+
shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
228
257
|
componentWillUnmount?(): void;
|
229
258
|
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
230
|
-
getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onSelect" | "tabs" | "tabsMode" | "activeKey" | "linksClassName" | "scrollable" | "additionBtns" | "tabRender"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
|
231
|
-
componentDidUpdate?(prevProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onSelect" | "tabs" | "tabsMode" | "activeKey" | "linksClassName" | "scrollable" | "additionBtns" | "tabRender"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
259
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
|
260
|
+
componentDidUpdate?(prevProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
232
261
|
componentWillMount?(): void;
|
233
262
|
UNSAFE_componentWillMount?(): void;
|
234
|
-
componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onSelect" | "tabs" | "tabsMode" | "activeKey" | "linksClassName" | "scrollable" | "additionBtns" | "tabRender"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
235
|
-
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onSelect" | "tabs" | "tabsMode" | "activeKey" | "linksClassName" | "scrollable" | "additionBtns" | "tabRender"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
236
|
-
componentWillUpdate?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onSelect" | "tabs" | "tabsMode" | "activeKey" | "linksClassName" | "scrollable" | "additionBtns" | "tabRender"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
237
|
-
UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onSelect" | "tabs" | "tabsMode" | "activeKey" | "linksClassName" | "scrollable" | "additionBtns" | "tabRender"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
263
|
+
componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
264
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
265
|
+
componentWillUpdate?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
266
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<TabsProps, keyof ThemeProps>, "toolbar" | "onClose" | "onEdit" | "onAdd" | "onSelect" | "tabs" | "draggable" | "addable" | "tabsMode" | "editable" | "activeKey" | "linksClassName" | "scrollable" | "closable" | "additionBtns" | "tabRender" | "onDragChange"> & Partial<Pick<Omit<TabsProps, keyof ThemeProps>, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">> & Partial<Pick<Pick<TabsProps, "mode" | "contentClassName" | "showTip" | "showTipClassName" | "sidePosition" | "addBtnText">, never>> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
238
267
|
};
|
239
268
|
displayName: string;
|
240
269
|
contextType: React.Context<string>;
|
package/lib/components/Tabs.js
CHANGED
@@ -14,7 +14,12 @@ var theme_1 = require("../theme");
|
|
14
14
|
var uncontrollable_1 = require("uncontrollable");
|
15
15
|
var icon_1 = require("../utils/icon");
|
16
16
|
var helper_1 = require("../utils/helper");
|
17
|
+
var icons_1 = require("./icons");
|
17
18
|
var debounce_1 = (0, tslib_1.__importDefault)(require("lodash/debounce"));
|
19
|
+
var react_dom_1 = require("react-dom");
|
20
|
+
var TooltipWrapper_1 = (0, tslib_1.__importDefault)(require("./TooltipWrapper"));
|
21
|
+
var resize_sensor_1 = require("../utils/resize-sensor");
|
22
|
+
var sortablejs_1 = (0, tslib_1.__importDefault)(require("sortablejs"));
|
18
23
|
var transitionStyles = (_a = {},
|
19
24
|
_a[Transition_1.ENTERING] = 'in',
|
20
25
|
_a[Transition_1.ENTERED] = 'in',
|
@@ -43,8 +48,12 @@ var Tabs = /** @class */ (function (_super) {
|
|
43
48
|
(0, tslib_1.__extends)(Tabs, _super);
|
44
49
|
function Tabs(props) {
|
45
50
|
var _this = _super.call(this, props) || this;
|
46
|
-
_this.navMain = react_1.default.createRef();
|
51
|
+
_this.navMain = react_1.default.createRef(); // HTMLDivElement
|
47
52
|
_this.scroll = false;
|
53
|
+
_this.id = (0, helper_1.guid)();
|
54
|
+
_this.draging = false;
|
55
|
+
_this.toDispose = [];
|
56
|
+
_this.resizeDom = react_1.default.createRef();
|
48
57
|
_this.checkArrowStatus = (0, debounce_1.default)(function () {
|
49
58
|
var _a = _this.navMain.current || {
|
50
59
|
scrollLeft: 0,
|
@@ -83,12 +92,17 @@ var Tabs = /** @class */ (function (_super) {
|
|
83
92
|
_this.state = {
|
84
93
|
isOverflow: false,
|
85
94
|
arrowLeftDisabled: false,
|
86
|
-
arrowRightDisabled: false
|
95
|
+
arrowRightDisabled: false,
|
96
|
+
dragIndicator: null,
|
97
|
+
editingIndex: null,
|
98
|
+
editInputText: null,
|
99
|
+
editOriginText: null
|
87
100
|
};
|
88
101
|
return _this;
|
89
102
|
}
|
90
103
|
Tabs.prototype.componentDidMount = function () {
|
91
|
-
var
|
104
|
+
var _this = this;
|
105
|
+
var _a, _b;
|
92
106
|
this.computedWidth();
|
93
107
|
if (this.navMain) {
|
94
108
|
(_a = this.navMain.current) === null || _a === void 0 ? void 0 : _a.addEventListener('wheel', this.handleWheel, {
|
@@ -96,24 +110,29 @@ var Tabs = /** @class */ (function (_super) {
|
|
96
110
|
});
|
97
111
|
this.checkArrowStatus();
|
98
112
|
}
|
113
|
+
((_b = this.resizeDom) === null || _b === void 0 ? void 0 : _b.current) && this.toDispose.push((0, resize_sensor_1.resizeSensor)(this.resizeDom.current, function () {
|
114
|
+
return _this.computedWidth();
|
115
|
+
}));
|
99
116
|
};
|
100
117
|
Tabs.prototype.componentDidUpdate = function () {
|
101
118
|
// 判断是否是由滚动触发的数据更新,如果是则不需要再次判断容器与内容的关系
|
102
|
-
if (!this.scroll) {
|
119
|
+
if (!this.scroll && !this.draging) {
|
103
120
|
this.computedWidth();
|
104
121
|
}
|
105
122
|
this.scroll = false;
|
106
123
|
};
|
107
124
|
Tabs.prototype.componentWillUnmount = function () {
|
108
125
|
this.checkArrowStatus.cancel();
|
126
|
+
this.toDispose.forEach(function (fn) { return fn(); });
|
127
|
+
this.toDispose = [];
|
109
128
|
};
|
110
129
|
/**
|
111
130
|
* 处理内容与容器之间的位置关系
|
112
131
|
*/
|
113
132
|
Tabs.prototype.computedWidth = function () {
|
114
|
-
var _a = this.props, dMode = _a.mode, tabsMode = _a.tabsMode
|
133
|
+
var _a = this.props, dMode = _a.mode, tabsMode = _a.tabsMode;
|
115
134
|
var mode = tabsMode || dMode;
|
116
|
-
if (
|
135
|
+
if (['vertical', 'sidebar'].includes(mode)) {
|
117
136
|
return;
|
118
137
|
}
|
119
138
|
var navMainRef = this.navMain.current;
|
@@ -124,7 +143,8 @@ var Tabs = /** @class */ (function (_super) {
|
|
124
143
|
if (isOverflow !== this.state.isOverflow) {
|
125
144
|
this.setState({ isOverflow: isOverflow });
|
126
145
|
}
|
127
|
-
|
146
|
+
// 正在拖动的不自动定位
|
147
|
+
if (isOverflow && !this.draging) {
|
128
148
|
this.showSelected();
|
129
149
|
}
|
130
150
|
};
|
@@ -132,32 +152,32 @@ var Tabs = /** @class */ (function (_super) {
|
|
132
152
|
* 保证选中的tab始终显示在可视区域
|
133
153
|
*/
|
134
154
|
Tabs.prototype.showSelected = function (key) {
|
135
|
-
var _a, _b, _c, _d, _e, _f
|
136
|
-
var
|
155
|
+
var _a, _b, _c, _d, _e, _f;
|
156
|
+
var _g = this.props, dMode = _g.mode, tabsMode = _g.tabsMode;
|
137
157
|
var isOverflow = this.state.isOverflow;
|
138
158
|
var mode = tabsMode || dMode;
|
139
|
-
if (
|
159
|
+
if (['vertical', 'sidebar'].includes(mode) || !isOverflow) {
|
140
160
|
return;
|
141
161
|
}
|
142
|
-
var
|
162
|
+
var _h = this.props, activeKey = _h.activeKey, children = _h.children;
|
143
163
|
var currentKey = key !== undefined ? key : activeKey;
|
144
164
|
var currentIndex = (_a = children) === null || _a === void 0 ? void 0 : _a.findIndex(function (item) { return item.props.eventKey === currentKey; });
|
145
|
-
var li = ((
|
165
|
+
var li = ((_b = this.navMain.current) === null || _b === void 0 ? void 0 : _b.children) || [];
|
146
166
|
var currentLi = li[currentIndex];
|
147
|
-
var liOffsetLeft =
|
167
|
+
var liOffsetLeft = currentLi === null || currentLi === void 0 ? void 0 : currentLi.offsetLeft;
|
148
168
|
var liClientWidth = currentLi === null || currentLi === void 0 ? void 0 : currentLi.clientWidth;
|
149
|
-
var scrollLeft = ((
|
150
|
-
var clientWidth = ((
|
169
|
+
var scrollLeft = ((_c = this.navMain.current) === null || _c === void 0 ? void 0 : _c.scrollLeft) || 0;
|
170
|
+
var clientWidth = ((_d = this.navMain.current) === null || _d === void 0 ? void 0 : _d.clientWidth) || 0;
|
151
171
|
// 左边被遮住了
|
152
172
|
if (scrollLeft > liOffsetLeft) {
|
153
|
-
(
|
173
|
+
(_e = this.navMain.current) === null || _e === void 0 ? void 0 : _e.scrollTo({
|
154
174
|
left: liOffsetLeft,
|
155
175
|
behavior: 'smooth'
|
156
176
|
});
|
157
177
|
}
|
158
178
|
// 右边被遮住了
|
159
179
|
if (liOffsetLeft + liClientWidth > scrollLeft + clientWidth) {
|
160
|
-
(
|
180
|
+
(_f = this.navMain.current) === null || _f === void 0 ? void 0 : _f.scrollTo({
|
161
181
|
left: liOffsetLeft + liClientWidth - clientWidth,
|
162
182
|
behavior: 'smooth'
|
163
183
|
});
|
@@ -172,6 +192,75 @@ var Tabs = /** @class */ (function (_super) {
|
|
172
192
|
}, 500);
|
173
193
|
onSelect && onSelect(key);
|
174
194
|
};
|
195
|
+
Tabs.prototype.handleStartEdit = function (index, title) {
|
196
|
+
this.setState({
|
197
|
+
editingIndex: index,
|
198
|
+
editInputText: title,
|
199
|
+
editOriginText: title
|
200
|
+
});
|
201
|
+
};
|
202
|
+
Tabs.prototype.handleEditInputChange = function (e) {
|
203
|
+
this.setState({
|
204
|
+
editInputText: e.currentTarget.value
|
205
|
+
});
|
206
|
+
};
|
207
|
+
Tabs.prototype.handleEdit = function () {
|
208
|
+
var _a = this.state, editingIndex = _a.editingIndex, editInputText = _a.editInputText, editOriginText = _a.editOriginText;
|
209
|
+
var onEdit = this.props.onEdit;
|
210
|
+
this.setState({
|
211
|
+
editingIndex: null,
|
212
|
+
editInputText: null,
|
213
|
+
editOriginText: null
|
214
|
+
});
|
215
|
+
onEdit
|
216
|
+
&& (editInputText = String(editInputText).trim())
|
217
|
+
&& (editInputText !== editOriginText)
|
218
|
+
&& onEdit(editingIndex, editInputText);
|
219
|
+
};
|
220
|
+
Tabs.prototype.dragTipRef = function (ref) {
|
221
|
+
if (!this.dragTip && ref) {
|
222
|
+
this.initDragging();
|
223
|
+
}
|
224
|
+
else if (this.dragTip && !ref) {
|
225
|
+
this.destroyDragging();
|
226
|
+
}
|
227
|
+
this.dragTip = ref;
|
228
|
+
};
|
229
|
+
Tabs.prototype.destroyDragging = function () {
|
230
|
+
this.sortable && this.sortable.destroy();
|
231
|
+
};
|
232
|
+
Tabs.prototype.initDragging = function () {
|
233
|
+
var _this = this;
|
234
|
+
var _a = this.props, ns = _a.classPrefix, onDragChange = _a.onDragChange;
|
235
|
+
var dom = (0, react_dom_1.findDOMNode)(this);
|
236
|
+
this.sortable = new sortablejs_1.default(dom.querySelector(".".concat(ns, "Tabs-links")), {
|
237
|
+
group: this.id,
|
238
|
+
animation: 250,
|
239
|
+
handle: ".".concat(ns, "Tabs-link"),
|
240
|
+
ghostClass: "".concat(ns, "Tabs-link--dragging"),
|
241
|
+
onStart: function () {
|
242
|
+
_this.draging = true;
|
243
|
+
},
|
244
|
+
onEnd: function (e) {
|
245
|
+
// 没有移动
|
246
|
+
if (e.newIndex === e.oldIndex) {
|
247
|
+
return;
|
248
|
+
}
|
249
|
+
// 再交换回来
|
250
|
+
var parent = e.to;
|
251
|
+
if (e.oldIndex < parent.childNodes.length - 1) {
|
252
|
+
parent.insertBefore(e.item, parent.childNodes[e.oldIndex > e.newIndex ? e.oldIndex + 1 : e.oldIndex]);
|
253
|
+
}
|
254
|
+
else {
|
255
|
+
parent.appendChild(e.item);
|
256
|
+
}
|
257
|
+
setTimeout(function () {
|
258
|
+
_this.draging = false;
|
259
|
+
});
|
260
|
+
onDragChange && onDragChange(e);
|
261
|
+
}
|
262
|
+
});
|
263
|
+
};
|
175
264
|
Tabs.prototype.handleArrow = function (type) {
|
176
265
|
var _a, _b, _c;
|
177
266
|
var _d = this.navMain.current || {
|
@@ -224,20 +313,29 @@ var Tabs = /** @class */ (function (_super) {
|
|
224
313
|
if (!child) {
|
225
314
|
return;
|
226
315
|
}
|
227
|
-
var _a = this.props, cx = _a.classnames, activeKeyProp = _a.activeKey, mode = _a.mode;
|
228
|
-
var _b = child.props, eventKey = _b.eventKey, disabled = _b.disabled, icon = _b.icon, iconPosition = _b.iconPosition, title = _b.title, toolbar = _b.toolbar, tabClassName = _b.tabClassName;
|
316
|
+
var _a = this.props, cx = _a.classnames, activeKeyProp = _a.activeKey, mode = _a.mode, closable = _a.closable, draggable = _a.draggable, showTip = _a.showTip, showTipClassName = _a.showTipClassName, editable = _a.editable;
|
317
|
+
var _b = child.props, eventKey = _b.eventKey, disabled = _b.disabled, icon = _b.icon, iconPosition = _b.iconPosition, title = _b.title, toolbar = _b.toolbar, tabClassName = _b.tabClassName, tabClosable = _b.closable;
|
318
|
+
var _c = this.state, editingIndex = _c.editingIndex, editInputText = _c.editInputText;
|
229
319
|
var activeKey = activeKeyProp === undefined && index === 0 ? eventKey : activeKeyProp;
|
230
320
|
var iconElement = (0, icon_1.generateIcon)(cx, icon, 'Icon');
|
231
|
-
|
232
|
-
react_1.default.createElement(
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
321
|
+
var link = (react_1.default.createElement("a", null, editable && editingIndex === index ? (react_1.default.createElement("input", { className: cx('Tabs-link-edit'), type: "text", value: editInputText, autoFocus: true, onFocus: function (e) { return e.currentTarget.select(); }, onChange: this.handleEditInputChange, onBlur: this.handleEdit, onKeyPress: function (e) { return e && e.key === 'Enter' && _this.handleEdit(); } })) : (react_1.default.createElement(react_1.default.Fragment, null,
|
322
|
+
icon ? (iconPosition === 'right' ? (react_1.default.createElement(react_1.default.Fragment, null,
|
323
|
+
title,
|
324
|
+
" ",
|
325
|
+
iconElement)) : (react_1.default.createElement(react_1.default.Fragment, null,
|
326
|
+
iconElement,
|
327
|
+
" ",
|
328
|
+
title))) : (title),
|
329
|
+
react_1.default.isValidElement(toolbar) ? toolbar : null))));
|
330
|
+
return (react_1.default.createElement("li", { className: cx('Tabs-link', activeKey === eventKey ? 'is-active' : '', disabled ? 'is-disabled' : '', tabClassName), key: eventKey !== null && eventKey !== void 0 ? eventKey : index, onClick: function () { return (disabled ? '' : _this.handleSelect(eventKey)); }, onDoubleClick: function () {
|
331
|
+
editable && _this.handleStartEdit(index, title);
|
332
|
+
} },
|
333
|
+
showTip ? (react_1.default.createElement(TooltipWrapper_1.default, { placement: 'top', tooltip: title, trigger: 'hover', tooltipClassName: showTipClassName }, link)) : link,
|
334
|
+
(tabClosable !== null && tabClosable !== void 0 ? tabClosable : closable) && (react_1.default.createElement("span", { className: cx('Tabs-link-close'), onClick: function (e) {
|
335
|
+
e.stopPropagation();
|
336
|
+
_this.props.onClose && _this.props.onClose(index, eventKey !== null && eventKey !== void 0 ? eventKey : index);
|
337
|
+
} },
|
338
|
+
react_1.default.createElement(icons_1.Icon, { icon: "close", className: cx('Tabs-link-close-icon') }))),
|
241
339
|
mode === 'chrome' ? (react_1.default.createElement("div", { className: "chrome-tab-background" },
|
242
340
|
react_1.default.createElement("svg", { viewBox: "0 0 124 124", className: "chrome-tab-background--right" },
|
243
341
|
react_1.default.createElement("path", { d: "M0,0 C0,68.483309 55.516691,124 124,124 L0,124 L0,-1 C0.00132103964,-0.667821298 0,-0.334064922 0,0 Z" })),
|
@@ -257,7 +355,7 @@ var Tabs = /** @class */ (function (_super) {
|
|
257
355
|
var _this = this;
|
258
356
|
var _a = this.props, dMode = _a.mode, tabsMode = _a.tabsMode;
|
259
357
|
var mode = tabsMode || dMode;
|
260
|
-
if (
|
358
|
+
if (['vertical', 'sidebar'].includes(mode)) {
|
261
359
|
return;
|
262
360
|
}
|
263
361
|
var cx = this.props.classnames;
|
@@ -266,43 +364,97 @@ var Tabs = /** @class */ (function (_super) {
|
|
266
364
|
return isOverflow ? (react_1.default.createElement("div", { onClick: function () { return _this.handleArrow(type); }, className: cx('Tabs-linksContainer-arrow', 'Tabs-linksContainer-arrow--' + type, disabled && 'Tabs-linksContainer-arrow--disabled') },
|
267
365
|
react_1.default.createElement("i", { className: 'iconfont icon-arrow-' + type }))) : null;
|
268
366
|
};
|
367
|
+
Tabs.prototype.handleAddBtn = function () {
|
368
|
+
var onAdd = this.props.onAdd;
|
369
|
+
onAdd && onAdd();
|
370
|
+
};
|
269
371
|
Tabs.prototype.render = function () {
|
270
372
|
var _a;
|
271
373
|
var _this = this;
|
272
|
-
var _b = this.props, cx = _b.classnames, contentClassName = _b.contentClassName, className = _b.className, dMode = _b.mode, tabsMode = _b.tabsMode, children = _b.children, additionBtns = _b.additionBtns, toolbar = _b.toolbar, linksClassName = _b.linksClassName,
|
374
|
+
var _b = this.props, cx = _b.classnames, contentClassName = _b.contentClassName, className = _b.className, dMode = _b.mode, tabsMode = _b.tabsMode, children = _b.children, additionBtns = _b.additionBtns, toolbar = _b.toolbar, linksClassName = _b.linksClassName, addable = _b.addable, draggable = _b.draggable, sidePosition = _b.sidePosition, addBtnText = _b.addBtnText;
|
273
375
|
var isOverflow = this.state.isOverflow;
|
274
376
|
if (!Array.isArray(children)) {
|
275
377
|
return null;
|
276
378
|
}
|
277
379
|
var mode = tabsMode || dMode;
|
380
|
+
var toolButtons = (react_1.default.createElement(react_1.default.Fragment, null,
|
381
|
+
addable && (react_1.default.createElement("div", { className: cx('Tabs-addable'), onClick: function () { return _this.handleAddBtn(); } },
|
382
|
+
react_1.default.createElement(icons_1.Icon, { icon: "plus", className: cx('Tabs-addable-icon') }),
|
383
|
+
addBtnText)),
|
384
|
+
toolbar));
|
278
385
|
return (react_1.default.createElement("div", { className: cx("Tabs", (_a = {},
|
279
386
|
_a["Tabs--".concat(mode)] = mode,
|
387
|
+
_a["sidebar--".concat(sidePosition)] = mode === 'sidebar',
|
280
388
|
_a), className) },
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
react_1.default.createElement("
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
389
|
+
!['vertical', 'sidebar', 'chrome'].includes(mode) ? (react_1.default.createElement("div", { className: cx('Tabs-linksContainer-wrapper', toolbar && 'Tabs-linksContainer-wrapper--toolbar'), ref: this.resizeDom },
|
390
|
+
react_1.default.createElement("div", { className: cx('Tabs-linksContainer', isOverflow && 'Tabs-linksContainer--overflow') },
|
391
|
+
this.renderArrow('left'),
|
392
|
+
react_1.default.createElement("div", { className: cx('Tabs-linksContainer-main') },
|
393
|
+
react_1.default.createElement("ul", { className: cx('Tabs-links', linksClassName), role: "tablist", ref: this.navMain },
|
394
|
+
children.map(function (tab, index) { return _this.renderNav(tab, index); }),
|
395
|
+
additionBtns,
|
396
|
+
!isOverflow && toolButtons)),
|
397
|
+
this.renderArrow('right')),
|
398
|
+
isOverflow && toolButtons)) : (react_1.default.createElement("div", { className: cx('Tabs-linksWrapper') },
|
399
|
+
react_1.default.createElement("ul", { className: cx('Tabs-links', linksClassName), role: "tablist" },
|
400
|
+
children.map(function (tab, index) { return _this.renderNav(tab, index); }),
|
401
|
+
additionBtns,
|
402
|
+
toolbar))),
|
292
403
|
react_1.default.createElement("div", { className: cx('Tabs-content', contentClassName) }, children.map(function (child, index) {
|
293
404
|
return _this.renderTab(child, index);
|
294
|
-
}))
|
405
|
+
})),
|
406
|
+
draggable && (react_1.default.createElement("div", { className: cx('Tabs-drag-tip'), ref: this.dragTipRef }))));
|
295
407
|
};
|
296
|
-
var _b;
|
408
|
+
var _b, _c;
|
297
409
|
Tabs.defaultProps = {
|
298
410
|
mode: '',
|
299
|
-
contentClassName: ''
|
411
|
+
contentClassName: '',
|
412
|
+
showTip: false,
|
413
|
+
showTipClassName: '',
|
414
|
+
sidePosition: 'left',
|
415
|
+
addBtnText: '增加'
|
300
416
|
};
|
301
417
|
Tabs.Tab = exports.Tab;
|
302
418
|
(0, tslib_1.__decorate)([
|
303
419
|
helper_1.autobind,
|
304
420
|
(0, tslib_1.__metadata)("design:type", Function),
|
305
|
-
(0, tslib_1.__metadata)("design:paramtypes", [
|
421
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Number, String]),
|
422
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
423
|
+
], Tabs.prototype, "handleStartEdit", null);
|
424
|
+
(0, tslib_1.__decorate)([
|
425
|
+
helper_1.autobind,
|
426
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
427
|
+
(0, tslib_1.__metadata)("design:paramtypes", [typeof (_b = typeof react_1.default !== "undefined" && react_1.default.ChangeEvent) === "function" ? _b : Object]),
|
428
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
429
|
+
], Tabs.prototype, "handleEditInputChange", null);
|
430
|
+
(0, tslib_1.__decorate)([
|
431
|
+
helper_1.autobind,
|
432
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
433
|
+
(0, tslib_1.__metadata)("design:paramtypes", []),
|
434
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
435
|
+
], Tabs.prototype, "handleEdit", null);
|
436
|
+
(0, tslib_1.__decorate)([
|
437
|
+
helper_1.autobind,
|
438
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
439
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Object]),
|
440
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
441
|
+
], Tabs.prototype, "dragTipRef", null);
|
442
|
+
(0, tslib_1.__decorate)([
|
443
|
+
helper_1.autobind,
|
444
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
445
|
+
(0, tslib_1.__metadata)("design:paramtypes", []),
|
446
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
447
|
+
], Tabs.prototype, "destroyDragging", null);
|
448
|
+
(0, tslib_1.__decorate)([
|
449
|
+
helper_1.autobind,
|
450
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
451
|
+
(0, tslib_1.__metadata)("design:paramtypes", []),
|
452
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
453
|
+
], Tabs.prototype, "initDragging", null);
|
454
|
+
(0, tslib_1.__decorate)([
|
455
|
+
helper_1.autobind,
|
456
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
457
|
+
(0, tslib_1.__metadata)("design:paramtypes", [typeof (_c = typeof WheelEvent !== "undefined" && WheelEvent) === "function" ? _c : Object]),
|
306
458
|
(0, tslib_1.__metadata)("design:returntype", void 0)
|
307
459
|
], Tabs.prototype, "handleWheel", null);
|
308
460
|
return Tabs;
|