amis 1.4.2-beta.13 → 1.4.2-beta.15
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 +4 -3
- package/lib/Schema.js.map +1 -1
- package/lib/components/AssociatedSelection.js +2 -2
- package/lib/components/AssociatedSelection.js.map +2 -2
- package/lib/components/Checkbox.d.ts +20 -20
- package/lib/components/Collapse.d.ts +51 -23
- package/lib/components/Collapse.js +69 -11
- package/lib/components/Collapse.js.map +2 -2
- package/lib/components/CollapseGroup.d.ts +88 -0
- package/lib/components/CollapseGroup.js +81 -0
- package/lib/components/CollapseGroup.js.map +13 -0
- package/lib/components/Editor.d.ts +84 -84
- package/lib/components/GridNav.d.ts +52 -0
- package/lib/components/GridNav.js +123 -0
- package/lib/components/GridNav.js.map +13 -0
- package/lib/components/ListGroup.d.ts +21 -21
- package/lib/components/Tabs.d.ts +20 -20
- package/lib/components/TabsTransfer.d.ts +84 -84
- package/lib/components/Toast.d.ts +86 -85
- package/lib/components/Toast.js +6 -3
- package/lib/components/Toast.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 +115 -84
- package/lib/components/Tree.js +183 -30
- package/lib/components/Tree.js.map +2 -2
- package/lib/envOverwrite.d.ts +1 -1
- package/lib/envOverwrite.js +24 -9
- package/lib/envOverwrite.js.map +2 -2
- package/lib/factory.d.ts +11 -1
- package/lib/factory.js +31 -4
- package/lib/factory.js.map +2 -2
- package/lib/icons/drag-bar.js +10 -3
- package/lib/index.d.ts +2 -0
- package/lib/index.js +3 -1
- package/lib/index.js.map +2 -2
- package/lib/renderers/Collapse.d.ts +25 -20
- package/lib/renderers/Collapse.js +10 -73
- package/lib/renderers/Collapse.js.map +2 -2
- package/lib/renderers/CollapseGroup.d.ts +42 -0
- package/lib/renderers/CollapseGroup.js +33 -0
- package/lib/renderers/CollapseGroup.js.map +13 -0
- package/lib/renderers/Form/InputCity.d.ts +84 -84
- package/lib/renderers/Form/Item.js +2 -1
- package/lib/renderers/Form/Item.js.map +2 -2
- package/lib/renderers/GridNav.d.ts +99 -0
- package/lib/renderers/GridNav.js +82 -0
- package/lib/renderers/GridNav.js.map +13 -0
- package/lib/store/formItem.js +44 -4
- package/lib/store/formItem.js.map +2 -2
- package/lib/themes/ang-ie11.css +194 -27
- package/lib/themes/ang.css +194 -27
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +194 -27
- package/lib/themes/antd.css +194 -27
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +201 -34
- package/lib/themes/cxd.css +201 -34
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +194 -27
- package/lib/themes/dark.css +194 -27
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +201 -34
- package/lib/themes/default.css.map +1 -1
- package/lib/types.d.ts +1 -1
- package/lib/types.js.map +1 -1
- package/lib/utils/api.d.ts +1 -0
- package/lib/utils/api.js +77 -6
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/helper.d.ts +6 -0
- package/lib/utils/helper.js +18 -1
- package/lib/utils/helper.js.map +2 -2
- package/package.json +1 -1
- package/schema.json +242 -34
- package/scss/components/_anchor-nav.scss +1 -0
- package/scss/components/_collapse-group.scss +11 -0
- package/scss/components/_collapse.scss +33 -22
- package/scss/components/_grid-nav.scss +128 -0
- package/scss/components/_nav.scss +1 -1
- package/scss/components/_spinner.scss +5 -4
- package/scss/components/_table.scss +6 -0
- package/scss/components/form/_combo.scss +4 -0
- package/scss/components/form/_tree.scss +42 -0
- package/scss/themes/_common.scss +2 -0
- package/scss/themes/_cxd-variables.scss +6 -7
- package/scss/themes/cxd.scss +1 -0
- package/sdk/ang-ie11.css +227 -28
- package/sdk/ang.css +227 -27
- package/sdk/antd-ie11.css +227 -28
- package/sdk/antd.css +227 -27
- package/sdk/charts.js +13 -13
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +233 -32
- package/sdk/cxd.css +234 -34
- package/sdk/dark-ie11.css +227 -28
- package/sdk/dark.css +227 -27
- 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 +18 -18
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +233 -32
- package/sdk/sdk.css +234 -34
- package/sdk/sdk.js +1179 -1145
- 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 -1
- package/src/components/AssociatedSelection.tsx +3 -1
- package/src/components/Collapse.tsx +144 -20
- package/src/components/CollapseGroup.tsx +130 -0
- package/src/components/GridNav.tsx +233 -0
- package/src/components/Toast.tsx +23 -16
- package/src/components/Tree.tsx +194 -8
- package/src/envOverwrite.ts +20 -7
- package/src/factory.tsx +52 -6
- package/src/icons/drag-bar.svg +12 -6
- package/src/index.tsx +2 -0
- package/src/renderers/Collapse.tsx +70 -117
- package/src/renderers/CollapseGroup.tsx +80 -0
- package/src/renderers/GridNav.tsx +204 -0
- package/src/store/formItem.ts +94 -2
- package/src/types.ts +1 -1
- package/src/utils/api.ts +93 -6
- package/src/utils/helper.ts +19 -0
- package/tsconfig-for-declaration.json +1 -1
@@ -6,16 +6,44 @@
|
|
6
6
|
/// <reference types="hoist-non-react-statics" />
|
7
7
|
import React from 'react';
|
8
8
|
import { ClassNamesFn } from '../theme';
|
9
|
+
import { TranslateFn } from '../locale';
|
9
10
|
export interface CollapseProps {
|
10
|
-
|
11
|
+
key?: string;
|
12
|
+
id?: string;
|
11
13
|
mountOnEnter?: boolean;
|
12
14
|
unmountOnExit?: boolean;
|
13
15
|
className?: string;
|
14
16
|
classPrefix: string;
|
15
17
|
classnames: ClassNamesFn;
|
18
|
+
headerPosition?: 'top' | 'bottom';
|
19
|
+
header?: React.ReactElement;
|
20
|
+
body: any;
|
21
|
+
bodyClassName?: string;
|
22
|
+
disabled?: boolean;
|
23
|
+
collapsable?: boolean;
|
24
|
+
collapsed?: boolean;
|
25
|
+
showArrow?: boolean;
|
26
|
+
expandIcon?: React.ReactElement | null;
|
27
|
+
headingClassName?: string;
|
28
|
+
collapseHeader?: React.ReactElement | null;
|
29
|
+
size?: 'xs' | 'sm' | 'md' | 'lg' | 'base';
|
30
|
+
onCollapse?: (item: any, collapsed: boolean) => void;
|
31
|
+
wrapperComponent?: any;
|
32
|
+
headingComponent?: any;
|
33
|
+
translate?: TranslateFn;
|
34
|
+
propsUpdate?: boolean;
|
16
35
|
}
|
17
|
-
export
|
18
|
-
|
36
|
+
export interface CollapseState {
|
37
|
+
collapsed: boolean;
|
38
|
+
}
|
39
|
+
export declare class Collapse extends React.Component<CollapseProps, CollapseState> {
|
40
|
+
static defaultProps: Partial<CollapseProps>;
|
41
|
+
state: CollapseState;
|
42
|
+
constructor(props: CollapseProps);
|
43
|
+
static getDerivedStateFromProps(nextProps: CollapseProps, preState: CollapseState): {
|
44
|
+
collapsed: boolean;
|
45
|
+
} | null;
|
46
|
+
toggleCollapsed(e: React.MouseEvent<HTMLElement>): void;
|
19
47
|
contentDom: any;
|
20
48
|
contentRef: (ref: any) => any;
|
21
49
|
handleEnter(elem: HTMLElement): void;
|
@@ -26,12 +54,12 @@ export declare class Collapse extends React.Component<CollapseProps, any> {
|
|
26
54
|
render(): JSX.Element;
|
27
55
|
}
|
28
56
|
declare const _default: {
|
29
|
-
new (props: (Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "
|
57
|
+
new (props: (Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps) | Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>): {
|
30
58
|
render(): JSX.Element;
|
31
59
|
context: any;
|
32
|
-
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "
|
60
|
+
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
33
61
|
forceUpdate(callback?: (() => void) | undefined): void;
|
34
|
-
readonly props: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "
|
62
|
+
readonly props: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps> & Readonly<{
|
35
63
|
children?: React.ReactNode;
|
36
64
|
}>;
|
37
65
|
state: Readonly<{}>;
|
@@ -39,24 +67,24 @@ declare const _default: {
|
|
39
67
|
[key: string]: React.ReactInstance;
|
40
68
|
};
|
41
69
|
componentDidMount?(): void;
|
42
|
-
shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "
|
70
|
+
shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
43
71
|
componentWillUnmount?(): void;
|
44
72
|
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
45
|
-
getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "
|
46
|
-
componentDidUpdate?(prevProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "
|
73
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
|
74
|
+
componentDidUpdate?(prevProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
47
75
|
componentWillMount?(): void;
|
48
76
|
UNSAFE_componentWillMount?(): void;
|
49
|
-
componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "
|
50
|
-
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "
|
51
|
-
componentWillUpdate?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "
|
52
|
-
UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "
|
77
|
+
componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
78
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
79
|
+
componentWillUpdate?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
80
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
53
81
|
};
|
54
|
-
new (props: Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "
|
82
|
+
new (props: Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps, context: any): {
|
55
83
|
render(): JSX.Element;
|
56
84
|
context: any;
|
57
|
-
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "
|
85
|
+
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
58
86
|
forceUpdate(callback?: (() => void) | undefined): void;
|
59
|
-
readonly props: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "
|
87
|
+
readonly props: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps> & Readonly<{
|
60
88
|
children?: React.ReactNode;
|
61
89
|
}>;
|
62
90
|
state: Readonly<{}>;
|
@@ -64,17 +92,17 @@ declare const _default: {
|
|
64
92
|
[key: string]: React.ReactInstance;
|
65
93
|
};
|
66
94
|
componentDidMount?(): void;
|
67
|
-
shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "
|
95
|
+
shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
68
96
|
componentWillUnmount?(): void;
|
69
97
|
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
70
|
-
getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "
|
71
|
-
componentDidUpdate?(prevProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "
|
98
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
|
99
|
+
componentDidUpdate?(prevProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
72
100
|
componentWillMount?(): void;
|
73
101
|
UNSAFE_componentWillMount?(): void;
|
74
|
-
componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "
|
75
|
-
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "
|
76
|
-
componentWillUpdate?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "
|
77
|
-
UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "
|
102
|
+
componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
103
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
104
|
+
componentWillUpdate?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
105
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseProps, keyof import("../theme").ThemeProps>, "body" | "header" | "key" | "disabled" | "id" | "size" | "translate" | "mountOnEnter" | "unmountOnExit" | "wrapperComponent" | "collapsed" | "headerPosition" | "bodyClassName" | "collapsable" | "showArrow" | "expandIcon" | "headingClassName" | "collapseHeader" | "onCollapse" | "headingComponent" | "propsUpdate">> & Partial<Pick<Partial<CollapseProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
78
106
|
};
|
79
107
|
displayName: string;
|
80
108
|
contextType: React.Context<string>;
|
@@ -12,6 +12,7 @@ var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
|
12
12
|
var theme_1 = require("../theme");
|
13
13
|
var Transition_1 = tslib_1.__importStar(require("react-transition-group/Transition"));
|
14
14
|
var helper_1 = require("../utils/helper");
|
15
|
+
var helper_2 = require("../utils/helper");
|
15
16
|
var collapseStyles = (_a = {},
|
16
17
|
_a[Transition_1.EXITED] = 'out',
|
17
18
|
_a[Transition_1.EXITING] = 'out',
|
@@ -19,11 +20,37 @@ var collapseStyles = (_a = {},
|
|
19
20
|
_a);
|
20
21
|
var Collapse = /** @class */ (function (_super) {
|
21
22
|
(0, tslib_1.__extends)(Collapse, _super);
|
22
|
-
function Collapse() {
|
23
|
-
var _this = _super
|
23
|
+
function Collapse(props) {
|
24
|
+
var _this = _super.call(this, props) || this;
|
25
|
+
_this.state = {
|
26
|
+
collapsed: false
|
27
|
+
};
|
24
28
|
_this.contentRef = function (ref) { return (_this.contentDom = ref); };
|
29
|
+
_this.toggleCollapsed = _this.toggleCollapsed.bind(_this);
|
30
|
+
_this.state.collapsed = !!props.collapsed;
|
25
31
|
return _this;
|
26
32
|
}
|
33
|
+
Collapse.getDerivedStateFromProps = function (nextProps, preState) {
|
34
|
+
if (nextProps.propsUpdate && nextProps.collapsed !== preState.collapsed) {
|
35
|
+
return {
|
36
|
+
collapsed: !!nextProps.collapsed
|
37
|
+
};
|
38
|
+
}
|
39
|
+
return null;
|
40
|
+
};
|
41
|
+
Collapse.prototype.toggleCollapsed = function (e) {
|
42
|
+
if ((0, helper_2.isClickOnInput)(e)) {
|
43
|
+
return;
|
44
|
+
}
|
45
|
+
var props = this.props;
|
46
|
+
if (props.disabled || props.collapsable === false) {
|
47
|
+
return;
|
48
|
+
}
|
49
|
+
props.onCollapse && props.onCollapse(props, !this.state.collapsed);
|
50
|
+
this.setState({
|
51
|
+
collapsed: !this.state.collapsed
|
52
|
+
});
|
53
|
+
};
|
27
54
|
Collapse.prototype.handleEnter = function (elem) {
|
28
55
|
elem.style['height'] = '';
|
29
56
|
};
|
@@ -46,20 +73,51 @@ var Collapse = /** @class */ (function (_super) {
|
|
46
73
|
elem.style['height'] = '';
|
47
74
|
};
|
48
75
|
Collapse.prototype.render = function () {
|
76
|
+
var _a;
|
49
77
|
var _this = this;
|
50
|
-
var
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
78
|
+
var _b = this.props, cx = _b.classnames, mountOnEnter = _b.mountOnEnter, unmountOnExit = _b.unmountOnExit, ns = _b.classPrefix, size = _b.size, WrapperComponent = _b.wrapperComponent, HeadingComponent = _b.headingComponent, className = _b.className, headingClassName = _b.headingClassName, headerPosition = _b.headerPosition, collapseHeader = _b.collapseHeader, header = _b.header, body = _b.body, bodyClassName = _b.bodyClassName, collapsable = _b.collapsable, __ = _b.translate, showArrow = _b.showArrow, expandIcon = _b.expandIcon, disabled = _b.disabled;
|
79
|
+
var finalHeader = this.state.collapsed ? header : collapseHeader || header;
|
80
|
+
var dom = [
|
81
|
+
finalHeader ? (react_1.default.createElement(HeadingComponent, { key: "header", onClick: this.toggleCollapsed, className: cx("Collapse-header", headingClassName) },
|
82
|
+
showArrow && collapsable
|
83
|
+
? expandIcon
|
84
|
+
? react_1.default.cloneElement(expandIcon, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, expandIcon.props), { className: cx('Collapse-icon-tranform') }))
|
85
|
+
: react_1.default.createElement("span", { className: cx('Collapse-arrow') })
|
86
|
+
: '',
|
87
|
+
finalHeader)) : null,
|
88
|
+
react_1.default.createElement(Transition_1.default, { key: "body", mountOnEnter: mountOnEnter, unmountOnExit: unmountOnExit, in: !this.state.collapsed, timeout: 300, onEnter: this.handleEnter, onEntering: this.handleEntering, onEntered: this.handleEntered, onExit: this.handleExit, onExiting: this.handleExiting }, function (status) {
|
89
|
+
if (status === Transition_1.ENTERING) {
|
90
|
+
_this.contentDom.offsetWidth;
|
91
|
+
}
|
92
|
+
return (react_1.default.createElement("div", { className: cx('Collapse-contentWrapper', collapseStyles[status]), ref: _this.contentRef },
|
93
|
+
react_1.default.createElement("div", { className: cx('Collapse-body', bodyClassName) }, react_1.default.cloneElement(body, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, body.props), { className: cx('Collapse-content', body.props.className) })))));
|
94
|
+
})
|
95
|
+
];
|
96
|
+
if (headerPosition === 'bottom') {
|
97
|
+
dom.reverse();
|
98
|
+
}
|
99
|
+
return (react_1.default.createElement(WrapperComponent, { className: cx("Collapse", (_a = {
|
100
|
+
'is-active': !this.state.collapsed
|
101
|
+
},
|
102
|
+
_a["Collapse--" + size] = size,
|
103
|
+
_a['Collapse--disabled'] = disabled || collapsable === false,
|
104
|
+
_a['Collapse--title-bottom'] = headerPosition === 'bottom',
|
105
|
+
_a), className) }, dom));
|
57
106
|
};
|
58
107
|
var _b, _c, _d, _e, _f;
|
59
108
|
Collapse.defaultProps = {
|
60
|
-
show: false,
|
61
109
|
mountOnEnter: false,
|
62
|
-
unmountOnExit: false
|
110
|
+
unmountOnExit: false,
|
111
|
+
headerPosition: 'top',
|
112
|
+
wrapperComponent: 'div',
|
113
|
+
headingComponent: 'div',
|
114
|
+
className: '',
|
115
|
+
headingClassName: '',
|
116
|
+
bodyClassName: '',
|
117
|
+
collapsable: true,
|
118
|
+
disabled: false,
|
119
|
+
showArrow: true,
|
120
|
+
propsUpdate: false
|
63
121
|
};
|
64
122
|
(0, tslib_1.__decorate)([
|
65
123
|
helper_1.autobind,
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/Collapse.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";AAAA;;;;GAIG;;;;;AAEH,6DAA0B;AAC1B,kCAAiD;AACjD,2FAI2C;AAC3C,0CAAyC;
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"/**\n * @file Collapse\n * @description\n * @author fex\n */\n\nimport React from 'react';\nimport {ClassNamesFn, themeable} from '../theme';\nimport Transition, {\n EXITED,\n ENTERING,\n EXITING\n} from 'react-transition-group/Transition';\nimport {autobind} from '../utils/helper';\n\nconst collapseStyles: {\n [propName: string]: string;\n} = {\n [EXITED]: 'out',\n [EXITING]: 'out',\n [ENTERING]: 'in'\n};\n\nexport interface CollapseProps {\n
|
11
|
+
"/**\n * @file Collapse\n * @description\n * @author fex\n */\n\nimport React from 'react';\nimport {ClassNamesFn, themeable} from '../theme';\nimport Transition, {\n EXITED,\n ENTERING,\n EXITING\n} from 'react-transition-group/Transition';\nimport {autobind} from '../utils/helper';\nimport {isClickOnInput} from '../utils/helper';\nimport {TranslateFn} from '../locale';\n\nconst collapseStyles: {\n [propName: string]: string;\n} = {\n [EXITED]: 'out',\n [EXITING]: 'out',\n [ENTERING]: 'in'\n};\n\nexport interface CollapseProps {\n key?: string;\n id?: string;\n mountOnEnter?: boolean;\n unmountOnExit?: boolean;\n className?: string;\n classPrefix: string;\n classnames: ClassNamesFn;\n headerPosition?: 'top' | 'bottom';\n header?: React.ReactElement;\n body: any;\n bodyClassName?: string;\n disabled?: boolean;\n collapsable?: boolean;\n collapsed?: boolean;\n showArrow?: boolean;\n expandIcon?: React.ReactElement | null;\n headingClassName?: string;\n collapseHeader?: React.ReactElement | null;\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'base';\n onCollapse?: (item: any, collapsed: boolean) => void;\n wrapperComponent?: any;\n headingComponent?: any;\n translate?: TranslateFn;\n propsUpdate?: boolean;\n}\n\nexport interface CollapseState {\n collapsed: boolean;\n}\n\nexport class Collapse extends React.Component<CollapseProps, CollapseState> {\n\n static defaultProps: Partial<CollapseProps> = {\n mountOnEnter: false,\n unmountOnExit: false,\n headerPosition: 'top',\n wrapperComponent: 'div',\n headingComponent: 'div',\n className: '',\n headingClassName: '',\n bodyClassName: '',\n collapsable: true,\n disabled: false,\n showArrow: true,\n propsUpdate: false\n };\n\n state: CollapseState = {\n collapsed: false\n };\n\n constructor(props: CollapseProps) {\n super(props);\n\n this.toggleCollapsed = this.toggleCollapsed.bind(this);\n this.state.collapsed = !!props.collapsed;\n }\n\n static getDerivedStateFromProps(nextProps: CollapseProps, preState: CollapseState) {\n if (nextProps.propsUpdate && nextProps.collapsed !== preState.collapsed) {\n return {\n collapsed: !!nextProps.collapsed\n };\n }\n return null;\n }\n\n toggleCollapsed(e: React.MouseEvent<HTMLElement>) {\n if (isClickOnInput(e)) {\n return;\n }\n const props = this.props;\n if (props.disabled || props.collapsable === false) {\n return;\n }\n props.onCollapse && props.onCollapse(props, !this.state.collapsed);\n this.setState({\n collapsed: !this.state.collapsed\n });\n }\n\n contentDom: any;\n contentRef = (ref: any) => (this.contentDom = ref);\n\n @autobind\n handleEnter(elem: HTMLElement) {\n elem.style['height'] = '';\n }\n\n @autobind\n handleEntering(elem: HTMLElement) {\n elem.style['height'] = `${elem['scrollHeight']}px`;\n }\n\n @autobind\n handleEntered(elem: HTMLElement) {\n elem.style['height'] = '';\n }\n\n @autobind\n handleExit(elem: HTMLElement) {\n let offsetHeight = elem['offsetHeight'];\n const height =\n offsetHeight +\n parseInt(getComputedStyle(elem).getPropertyValue('margin-top'), 10) +\n parseInt(getComputedStyle(elem).getPropertyValue('margin-bottom'), 10);\n elem.style['height'] = `${height}px`;\n // trigger browser reflow\n elem.offsetHeight;\n }\n\n @autobind\n handleExiting(elem: HTMLElement) {\n elem.style['height'] = '';\n }\n\n render() {\n const {\n classnames: cx,\n mountOnEnter,\n unmountOnExit,\n classPrefix: ns,\n size,\n wrapperComponent: WrapperComponent,\n headingComponent: HeadingComponent,\n className,\n headingClassName,\n headerPosition,\n collapseHeader,\n header,\n body,\n bodyClassName,\n collapsable,\n translate: __,\n showArrow,\n expandIcon,\n disabled\n } = this.props;\n\n const finalHeader = this.state.collapsed ? header : collapseHeader || header;\n\n let dom = [\n finalHeader ? (\n <HeadingComponent\n key=\"header\"\n onClick={this.toggleCollapsed}\n className={cx(`Collapse-header`, headingClassName)}\n >\n {showArrow && collapsable\n ? expandIcon\n ? React.cloneElement(expandIcon, {\n ...expandIcon.props,\n className: cx('Collapse-icon-tranform')\n })\n : <span className={cx('Collapse-arrow')} />\n : ''}\n {finalHeader}\n </HeadingComponent>\n ) : null,\n\n <Transition\n key=\"body\"\n mountOnEnter={mountOnEnter}\n unmountOnExit={unmountOnExit}\n in={!this.state.collapsed}\n timeout={300}\n onEnter={this.handleEnter}\n onEntering={this.handleEntering}\n onEntered={this.handleEntered}\n onExit={this.handleExit}\n onExiting={this.handleExiting}\n >\n {(status: string) => {\n if (status === ENTERING) {\n this.contentDom.offsetWidth;\n }\n return (\n <div\n className={cx('Collapse-contentWrapper', collapseStyles[status])}\n ref={this.contentRef}\n >\n <div className={cx('Collapse-body', bodyClassName)}>\n {React.cloneElement(body as any, {\n ...(body as React.ReactElement).props,\n className: cx(\n 'Collapse-content',\n (body as React.ReactElement).props.className\n )\n })}\n </div>\n </div>\n );\n }}\n </Transition>\n \n ];\n\n if (headerPosition === 'bottom') {\n dom.reverse();\n }\n\n return (\n <WrapperComponent\n className={cx(\n `Collapse`,\n {\n 'is-active': !this.state.collapsed,\n [`Collapse--${size}`]: size,\n 'Collapse--disabled': disabled || collapsable === false,\n 'Collapse--title-bottom': headerPosition === 'bottom'\n },\n className\n )}\n >\n {dom}\n </WrapperComponent>\n );\n }\n}\n\nexport default themeable(Collapse);\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -0,0 +1,88 @@
|
|
1
|
+
/**
|
2
|
+
* @file CollapseGroup
|
3
|
+
* @description 折叠面板group
|
4
|
+
* @author hongyang03
|
5
|
+
*/
|
6
|
+
/// <reference types="hoist-non-react-statics" />
|
7
|
+
import React from 'react';
|
8
|
+
import { CollapseProps } from '../renderers/Collapse';
|
9
|
+
import { SchemaNode } from '../types';
|
10
|
+
import { ClassNamesFn } from '../theme';
|
11
|
+
export interface CollapseGroupProps {
|
12
|
+
defaultActiveKey?: Array<string | number | never> | string | number;
|
13
|
+
accordion?: boolean;
|
14
|
+
expandIcon?: SchemaNode;
|
15
|
+
expandIconPosition?: 'left' | 'right';
|
16
|
+
body?: Array<React.ReactElement>;
|
17
|
+
className?: string;
|
18
|
+
classnames: ClassNamesFn;
|
19
|
+
classPrefix: string;
|
20
|
+
}
|
21
|
+
export interface CollapseGroupState {
|
22
|
+
activeKey: Array<string | number | never>;
|
23
|
+
}
|
24
|
+
declare class CollapseGroup extends React.Component<CollapseGroupProps, CollapseGroupState> {
|
25
|
+
static defaultProps: Partial<CollapseGroupProps>;
|
26
|
+
constructor(props: CollapseGroupProps);
|
27
|
+
collapseChange(item: CollapseProps, collapsed: boolean): void;
|
28
|
+
getItems: (children: React.ReactNode) => {} | null | undefined;
|
29
|
+
render(): JSX.Element;
|
30
|
+
}
|
31
|
+
declare const _default: {
|
32
|
+
new (props: (Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps) | Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>): {
|
33
|
+
render(): JSX.Element;
|
34
|
+
context: any;
|
35
|
+
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
36
|
+
forceUpdate(callback?: (() => void) | undefined): void;
|
37
|
+
readonly props: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps> & Readonly<{
|
38
|
+
children?: React.ReactNode;
|
39
|
+
}>;
|
40
|
+
state: Readonly<{}>;
|
41
|
+
refs: {
|
42
|
+
[key: string]: React.ReactInstance;
|
43
|
+
};
|
44
|
+
componentDidMount?(): void;
|
45
|
+
shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
46
|
+
componentWillUnmount?(): void;
|
47
|
+
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
48
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
|
49
|
+
componentDidUpdate?(prevProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
50
|
+
componentWillMount?(): void;
|
51
|
+
UNSAFE_componentWillMount?(): void;
|
52
|
+
componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
53
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
54
|
+
componentWillUpdate?(nextProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
55
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
56
|
+
};
|
57
|
+
new (props: Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps, context: any): {
|
58
|
+
render(): JSX.Element;
|
59
|
+
context: any;
|
60
|
+
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
61
|
+
forceUpdate(callback?: (() => void) | undefined): void;
|
62
|
+
readonly props: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps> & Readonly<{
|
63
|
+
children?: React.ReactNode;
|
64
|
+
}>;
|
65
|
+
state: Readonly<{}>;
|
66
|
+
refs: {
|
67
|
+
[key: string]: React.ReactInstance;
|
68
|
+
};
|
69
|
+
componentDidMount?(): void;
|
70
|
+
shouldComponentUpdate?(nextProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
71
|
+
componentWillUnmount?(): void;
|
72
|
+
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
73
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
|
74
|
+
componentDidUpdate?(prevProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
75
|
+
componentWillMount?(): void;
|
76
|
+
UNSAFE_componentWillMount?(): void;
|
77
|
+
componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
78
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
79
|
+
componentWillUpdate?(nextProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
80
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, never> & Partial<Pick<Omit<CollapseGroupProps, keyof import("../theme").ThemeProps>, "body" | "expandIcon" | "defaultActiveKey" | "accordion" | "expandIconPosition">> & Partial<Pick<Partial<CollapseGroupProps>, "classPrefix" | "classnames" | "className">> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
81
|
+
};
|
82
|
+
displayName: string;
|
83
|
+
contextType: React.Context<string>;
|
84
|
+
ComposedComponent: React.ComponentType<typeof CollapseGroup>;
|
85
|
+
} & import("hoist-non-react-statics").NonReactStatics<typeof CollapseGroup, {}> & {
|
86
|
+
ComposedComponent: typeof CollapseGroup;
|
87
|
+
};
|
88
|
+
export default _default;
|
@@ -0,0 +1,81 @@
|
|
1
|
+
"use strict";
|
2
|
+
/**
|
3
|
+
* @file CollapseGroup
|
4
|
+
* @description 折叠面板group
|
5
|
+
* @author hongyang03
|
6
|
+
*/
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
8
|
+
var tslib_1 = require("tslib");
|
9
|
+
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
10
|
+
var theme_1 = require("../theme");
|
11
|
+
var CollapseGroup = /** @class */ (function (_super) {
|
12
|
+
(0, tslib_1.__extends)(CollapseGroup, _super);
|
13
|
+
function CollapseGroup(props) {
|
14
|
+
var _this = _super.call(this, props) || this;
|
15
|
+
_this.getItems = function (children) {
|
16
|
+
if (!Array.isArray(children)) {
|
17
|
+
return children;
|
18
|
+
}
|
19
|
+
return children.map(function (child, index) {
|
20
|
+
var props = child.props;
|
21
|
+
var id = props.schema.key || String(index);
|
22
|
+
var collapsed = _this.state.activeKey.indexOf(id) === -1;
|
23
|
+
return react_1.default.cloneElement(child, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, props), { key: id, id: id, collapsed: collapsed, expandIcon: _this.props.expandIcon, propsUpdate: true, onCollapse: function (item, collapsed) { return _this.collapseChange(item, collapsed); } }));
|
24
|
+
});
|
25
|
+
};
|
26
|
+
// 传入的activeKey会被自动转换为defaultActiveKey
|
27
|
+
var activeKey = props.defaultActiveKey;
|
28
|
+
if (!Array.isArray(activeKey)) {
|
29
|
+
activeKey = activeKey ? [activeKey] : [];
|
30
|
+
}
|
31
|
+
if (props.accordion) {
|
32
|
+
// 手风琴模式下只展开第一个元素
|
33
|
+
activeKey = activeKey.length ? [activeKey[0]] : [];
|
34
|
+
}
|
35
|
+
_this.state = {
|
36
|
+
activeKey: activeKey.map(function (key) { return String(key); })
|
37
|
+
};
|
38
|
+
return _this;
|
39
|
+
}
|
40
|
+
CollapseGroup.prototype.collapseChange = function (item, collapsed) {
|
41
|
+
var activeKey = this.state.activeKey;
|
42
|
+
if (collapsed) {
|
43
|
+
if (this.props.accordion) {
|
44
|
+
activeKey = [];
|
45
|
+
}
|
46
|
+
else {
|
47
|
+
for (var i = 0; i < activeKey.length; i++) {
|
48
|
+
if (activeKey[i] === item.id) {
|
49
|
+
activeKey.splice(i, 1);
|
50
|
+
break;
|
51
|
+
}
|
52
|
+
}
|
53
|
+
}
|
54
|
+
}
|
55
|
+
else {
|
56
|
+
if (this.props.accordion) {
|
57
|
+
activeKey = [item.id];
|
58
|
+
}
|
59
|
+
else {
|
60
|
+
activeKey.push(item.id);
|
61
|
+
}
|
62
|
+
}
|
63
|
+
this.setState({
|
64
|
+
activeKey: activeKey
|
65
|
+
});
|
66
|
+
};
|
67
|
+
CollapseGroup.prototype.render = function () {
|
68
|
+
var _a = this.props, cx = _a.classnames, className = _a.className, expandIconPosition = _a.expandIconPosition, children = _a.children;
|
69
|
+
return (react_1.default.createElement("div", { className: cx("CollapseGroup", {
|
70
|
+
'icon-position-right': expandIconPosition === 'right',
|
71
|
+
}, className) }, this.getItems(children)));
|
72
|
+
};
|
73
|
+
CollapseGroup.defaultProps = {
|
74
|
+
className: '',
|
75
|
+
accordion: false,
|
76
|
+
expandIconPosition: 'left'
|
77
|
+
};
|
78
|
+
return CollapseGroup;
|
79
|
+
}(react_1.default.Component));
|
80
|
+
exports.default = (0, theme_1.themeable)(CollapseGroup);
|
81
|
+
//# sourceMappingURL=./components/CollapseGroup.js.map
|
@@ -0,0 +1,13 @@
|
|
1
|
+
{
|
2
|
+
"version": 3,
|
3
|
+
"file": "CollapseGroup.js",
|
4
|
+
"sourceRoot": "",
|
5
|
+
"sources": [
|
6
|
+
"/src/components/CollapseGroup.tsx"
|
7
|
+
],
|
8
|
+
"names": [],
|
9
|
+
"mappings": "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",
|
10
|
+
"sourcesContent": [
|
11
|
+
"/**\n * @file CollapseGroup\n * @description 折叠面板group\n * @author hongyang03\n */\n\nimport React from 'react';\nimport {CollapseProps} from '../renderers/Collapse';\nimport {SchemaNode} from '../types';\nimport {ClassNamesFn, themeable} from '../theme';\n\nexport interface CollapseGroupProps {\n defaultActiveKey?: Array<string | number | never> | string | number;\n accordion?: boolean;\n expandIcon?: SchemaNode;\n expandIconPosition?: 'left' | 'right';\n body?: Array<React.ReactElement>;\n className?: string;\n classnames: ClassNamesFn;\n classPrefix: string;\n}\n\nexport interface CollapseGroupState {\n activeKey: Array<string | number | never>;\n}\n\nclass CollapseGroup extends React.Component<\n CollapseGroupProps,\n CollapseGroupState\n> {\n\n static defaultProps: Partial<CollapseGroupProps> = {\n className: '',\n accordion: false,\n expandIconPosition: 'left'\n };\n\n constructor(props: CollapseGroupProps) {\n super(props);\n\n // 传入的activeKey会被自动转换为defaultActiveKey\n let activeKey = props.defaultActiveKey;\n if (!Array.isArray(activeKey)) {\n activeKey = activeKey ? [activeKey] : [];\n }\n if (props.accordion) {\n // 手风琴模式下只展开第一个元素\n activeKey = activeKey.length ? [activeKey[0]] : [];\n }\n\n this.state = {\n activeKey: activeKey.map((key: number | string) => String(key))\n };\n }\n\n collapseChange(item: CollapseProps, collapsed: boolean) {\n let activeKey = this.state.activeKey;\n if (collapsed) {\n if (this.props.accordion) {\n activeKey = [];\n }\n else {\n for(let i = 0; i < activeKey.length; i++) {\n if (activeKey[i] === item.id) {\n activeKey.splice(i, 1);\n break;\n }\n }\n }\n }\n else {\n if (this.props.accordion) {\n activeKey = [item.id];\n }\n else {\n activeKey.push(item.id);\n }\n }\n this.setState({\n activeKey\n });\n }\n\n getItems = (children: React.ReactNode) => {\n if (!Array.isArray(children)) {\n return children;\n }\n\n return children.map((child: React.ReactElement, index: number) => {\n let props = child.props;\n const id = props.schema.key || String(index);\n const collapsed = this.state.activeKey.indexOf(id) === -1;\n\n return React.cloneElement(child as any, {\n ...props,\n key: id,\n id,\n collapsed,\n expandIcon: this.props.expandIcon,\n propsUpdate: true,\n onCollapse: (item: CollapseProps, collapsed: boolean) => this.collapseChange(item, collapsed)\n });\n });\n };\n\n render() {\n const {\n classnames: cx,\n className,\n expandIconPosition,\n children\n } = this.props;\n\n return (\n <div\n className={cx(\n `CollapseGroup`,\n {\n 'icon-position-right': expandIconPosition === 'right',\n },\n className\n )}\n >\n {this.getItems(children)}\n </div>\n );\n }\n}\n\nexport default themeable(CollapseGroup);\n"
|
12
|
+
]
|
13
|
+
}
|