amis 1.7.0 → 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/Avatar.d.ts +20 -20
- package/lib/components/Card.d.ts +20 -20
- package/lib/components/CityArea.js +3 -0
- package/lib/components/CityArea.js.map +2 -2
- package/lib/components/ListGroup.d.ts +21 -21
- package/lib/components/Tabs.d.ts +27 -23
- package/lib/components/Tabs.js +37 -22
- 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/icons.js +2 -0
- package/lib/components/icons.js.map +2 -2
- package/lib/icons/trash.js +10 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/index.js.map +2 -2
- package/lib/renderers/Action.d.ts +1 -1
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/ButtonGroup.d.ts +2 -2
- package/lib/renderers/ButtonGroup.js.map +1 -1
- 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/InputCity.js +4 -1
- package/lib/renderers/Form/InputCity.js.map +2 -2
- package/lib/renderers/Form/InputRange.d.ts +2 -2
- package/lib/renderers/Form/InputRange.js.map +2 -2
- package/lib/renderers/Tabs.d.ts +10 -2
- package/lib/renderers/Tabs.js +2 -2
- 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/themes/ang-ie11.css +192 -33
- package/lib/themes/ang.css +200 -28
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +192 -33
- package/lib/themes/antd.css +200 -28
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +181 -22
- package/lib/themes/cxd.css +202 -29
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +192 -33
- package/lib/themes/dark.css +200 -28
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +181 -22
- package/lib/themes/default.css +202 -29
- package/lib/themes/default.css.map +1 -1
- package/package.json +1 -1
- package/schema.json +286 -52
- package/scss/_properties.scss +23 -12
- package/scss/components/_alert.scss +1 -1
- package/scss/components/_button-group.scss +15 -0
- package/scss/components/_tabs.scss +145 -13
- package/scss/components/_tooltip.scss +72 -0
- package/scss/components/form/_number.scss +2 -0
- package/scss/themes/_cxd-variables.scss +2 -1
- package/sdk/ang-ie11.css +229 -34
- package/sdk/ang.css +237 -29
- package/sdk/antd-ie11.css +229 -34
- package/sdk/antd.css +237 -29
- 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 +218 -23
- package/sdk/cxd.css +239 -30
- package/sdk/dark-ie11.css +229 -34
- package/sdk/dark.css +237 -29
- 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 +218 -23
- package/sdk/sdk.css +239 -30
- package/sdk/sdk.js +1250 -1246
- 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/CityArea.tsx +3 -0
- package/src/components/Tabs.tsx +51 -21
- package/src/components/TooltipWrapper.tsx +4 -1
- package/src/components/icons.tsx +2 -0
- package/src/icons/trash.svg +8 -0
- package/src/index.tsx +1 -0
- package/src/renderers/Action.tsx +2 -1
- package/src/renderers/ButtonGroup.tsx +2 -2
- package/src/renderers/Form/Combo.tsx +84 -26
- package/src/renderers/Form/InputCity.tsx +13 -1
- package/src/renderers/Form/InputRange.tsx +2 -6
- package/src/renderers/Tabs.tsx +15 -3
- package/src/renderers/TooltipWrapper.tsx +219 -0
package/src/renderers/Tabs.tsx
CHANGED
@@ -89,9 +89,9 @@ export interface TabSchema extends Omit<BaseSchema, 'type'> {
|
|
89
89
|
*/
|
90
90
|
horizontal?: FormSchemaHorizontal;
|
91
91
|
/**
|
92
|
-
* 是否可关闭,优先级高于 tabs 的
|
92
|
+
* 是否可关闭,优先级高于 tabs 的 closable
|
93
93
|
*/
|
94
|
-
|
94
|
+
closable?: boolean;
|
95
95
|
/**
|
96
96
|
* 是否禁用
|
97
97
|
*/
|
@@ -186,6 +186,14 @@ export interface TabsSchema extends BaseSchema {
|
|
186
186
|
* 是否导航支持内容溢出滚动。属性废弃,为了兼容暂且保留
|
187
187
|
*/
|
188
188
|
scrollable?: boolean;
|
189
|
+
/**
|
190
|
+
* 编辑器模式,侧边的位置
|
191
|
+
*/
|
192
|
+
sidePosition?: 'left' | 'right';
|
193
|
+
/**
|
194
|
+
* 自定义增加按钮文案
|
195
|
+
*/
|
196
|
+
addBtnText?: string;
|
189
197
|
}
|
190
198
|
|
191
199
|
export interface TabsProps
|
@@ -643,7 +651,9 @@ export default class Tabs extends React.Component<TabsProps, TabsState> {
|
|
643
651
|
draggable,
|
644
652
|
showTip,
|
645
653
|
showTipClassName,
|
646
|
-
editable
|
654
|
+
editable,
|
655
|
+
sidePosition,
|
656
|
+
addBtnText
|
647
657
|
} = this.props;
|
648
658
|
|
649
659
|
const mode = tabsMode || dMode;
|
@@ -747,6 +757,8 @@ export default class Tabs extends React.Component<TabsProps, TabsState> {
|
|
747
757
|
showTipClassName={showTipClassName}
|
748
758
|
editable={editable}
|
749
759
|
onEdit={this.handleEdit}
|
760
|
+
sidePosition={sidePosition}
|
761
|
+
addBtnText={addBtnText}
|
750
762
|
>
|
751
763
|
{children}
|
752
764
|
</CTabs>
|
@@ -0,0 +1,219 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import {Renderer, RendererProps} from '../factory';
|
3
|
+
import {BaseSchema, SchemaCollection} from '../Schema';
|
4
|
+
import {filter} from '../utils/tpl';
|
5
|
+
import {escapeHtml} from '../utils/tpl-builtin';
|
6
|
+
import {buildStyle} from '../utils/style';
|
7
|
+
import {TooltipWrapper as TooltipWrapperComp} from '../components';
|
8
|
+
|
9
|
+
import type {Trigger} from '../components/TooltipWrapper';
|
10
|
+
|
11
|
+
export interface TooltipWrapperSchema extends BaseSchema {
|
12
|
+
/**
|
13
|
+
* 文字提示容器
|
14
|
+
*/
|
15
|
+
type: 'tooltip-wrapper';
|
16
|
+
|
17
|
+
/**
|
18
|
+
* 文字提示标题
|
19
|
+
*/
|
20
|
+
title?: string;
|
21
|
+
|
22
|
+
/**
|
23
|
+
* 文字提示
|
24
|
+
*/
|
25
|
+
tooltip?: string;
|
26
|
+
|
27
|
+
/**
|
28
|
+
* 文字提示浮层出现位置,默认为top
|
29
|
+
*/
|
30
|
+
placement?: 'top' | 'right' | 'bottom' | 'left';
|
31
|
+
|
32
|
+
/**
|
33
|
+
* 浮层触发方式,默认为hover
|
34
|
+
*/
|
35
|
+
trigger?: Trigger | Array<Trigger>;
|
36
|
+
|
37
|
+
/**
|
38
|
+
* 浮层隐藏延迟时间,单位ms,默认0
|
39
|
+
*/
|
40
|
+
delay?: number;
|
41
|
+
|
42
|
+
/**
|
43
|
+
* 是否点击非内容区域关闭提示,默认为true
|
44
|
+
*/
|
45
|
+
rootClose?: boolean;
|
46
|
+
|
47
|
+
/**
|
48
|
+
* 内容区域
|
49
|
+
*/
|
50
|
+
body?: SchemaCollection;
|
51
|
+
|
52
|
+
/**
|
53
|
+
* 内容区包裹标签
|
54
|
+
*/
|
55
|
+
wrapperComponent: string;
|
56
|
+
|
57
|
+
/**
|
58
|
+
* 内容区是否内联显示,默认为false
|
59
|
+
*/
|
60
|
+
inline?: boolean;
|
61
|
+
|
62
|
+
/**
|
63
|
+
* 浮层主题色,默认为light
|
64
|
+
*/
|
65
|
+
tooltipTheme?: 'light' | 'dark';
|
66
|
+
|
67
|
+
/**
|
68
|
+
* 内容区自定义样式
|
69
|
+
*/
|
70
|
+
style?: {
|
71
|
+
[propName: string]: any;
|
72
|
+
};
|
73
|
+
|
74
|
+
/**
|
75
|
+
* 自定义提示浮层样式
|
76
|
+
*/
|
77
|
+
tooltipStyle?: {
|
78
|
+
[propName: string]: any;
|
79
|
+
};
|
80
|
+
|
81
|
+
/**
|
82
|
+
* 内容区CSS类名
|
83
|
+
*/
|
84
|
+
className?: string;
|
85
|
+
|
86
|
+
/**
|
87
|
+
* 文字提示浮层CSS类名
|
88
|
+
*/
|
89
|
+
tooltipClassName?: string;
|
90
|
+
}
|
91
|
+
|
92
|
+
export interface TooltipWrapperProps extends RendererProps {
|
93
|
+
/**
|
94
|
+
* 文字提示标题
|
95
|
+
*/
|
96
|
+
title?: string;
|
97
|
+
/**
|
98
|
+
* 文字提示
|
99
|
+
*/
|
100
|
+
tooltip?: string;
|
101
|
+
/**
|
102
|
+
* 文字提示位置
|
103
|
+
*/
|
104
|
+
placement: 'top' | 'right' | 'bottom' | 'left';
|
105
|
+
inline?: boolean;
|
106
|
+
trigger: Trigger | Array<Trigger>;
|
107
|
+
rootClose?: boolean;
|
108
|
+
delay?: number;
|
109
|
+
container?: React.ReactNode;
|
110
|
+
style?: React.CSSProperties;
|
111
|
+
tooltipStyle?: React.CSSProperties;
|
112
|
+
wrapperComponent?: string;
|
113
|
+
tooltipTheme?: 'light' | 'dark';
|
114
|
+
}
|
115
|
+
|
116
|
+
interface TooltipWrapperState {}
|
117
|
+
|
118
|
+
export default class TooltipWrapper extends React.Component<
|
119
|
+
TooltipWrapperProps,
|
120
|
+
TooltipWrapperState
|
121
|
+
> {
|
122
|
+
static defaultProps: Pick<
|
123
|
+
TooltipWrapperProps,
|
124
|
+
| 'placement'
|
125
|
+
| 'trigger'
|
126
|
+
| 'rootClose'
|
127
|
+
| 'delay'
|
128
|
+
| 'inline'
|
129
|
+
| 'wrap'
|
130
|
+
| 'tooltipTheme'
|
131
|
+
> = {
|
132
|
+
placement: 'top',
|
133
|
+
trigger: 'hover',
|
134
|
+
rootClose: true,
|
135
|
+
delay: 0,
|
136
|
+
inline: false,
|
137
|
+
wrap: false,
|
138
|
+
tooltipTheme: 'light'
|
139
|
+
};
|
140
|
+
|
141
|
+
constructor(props: TooltipWrapperProps) {
|
142
|
+
super(props);
|
143
|
+
}
|
144
|
+
|
145
|
+
renderBody() {
|
146
|
+
const {
|
147
|
+
render,
|
148
|
+
classnames: cx,
|
149
|
+
body,
|
150
|
+
className,
|
151
|
+
wrapperComponent,
|
152
|
+
inline,
|
153
|
+
style,
|
154
|
+
data,
|
155
|
+
wrap
|
156
|
+
} = this.props;
|
157
|
+
const Comp =
|
158
|
+
(wrapperComponent as keyof JSX.IntrinsicElements) ||
|
159
|
+
(inline ? 'span' : 'div');
|
160
|
+
|
161
|
+
return (
|
162
|
+
<Comp
|
163
|
+
className={cx('TooltipWrapper', className, {
|
164
|
+
'TooltipWrapper--inline': inline
|
165
|
+
})}
|
166
|
+
style={buildStyle(style, data)}
|
167
|
+
>
|
168
|
+
{render('body', body)}
|
169
|
+
</Comp>
|
170
|
+
);
|
171
|
+
}
|
172
|
+
|
173
|
+
render() {
|
174
|
+
const {
|
175
|
+
tooltipClassName,
|
176
|
+
classPrefix: ns,
|
177
|
+
classnames: cx,
|
178
|
+
container,
|
179
|
+
placement,
|
180
|
+
rootClose,
|
181
|
+
tooltipStyle,
|
182
|
+
title,
|
183
|
+
tooltip,
|
184
|
+
delay,
|
185
|
+
trigger,
|
186
|
+
tooltipTheme,
|
187
|
+
data
|
188
|
+
} = this.props;
|
189
|
+
|
190
|
+
const tooltipObj = {
|
191
|
+
title: escapeHtml(filter(title, data)),
|
192
|
+
content: escapeHtml(filter(tooltip, data))
|
193
|
+
};
|
194
|
+
|
195
|
+
return (
|
196
|
+
<TooltipWrapperComp
|
197
|
+
classPrefix={ns}
|
198
|
+
classnames={cx}
|
199
|
+
style={buildStyle(tooltipStyle, data)}
|
200
|
+
placement={placement}
|
201
|
+
tooltip={tooltipObj}
|
202
|
+
trigger={trigger}
|
203
|
+
rootClose={rootClose}
|
204
|
+
delay={delay}
|
205
|
+
container={container}
|
206
|
+
tooltipClassName={cx(tooltipClassName, {
|
207
|
+
'Tooltip--dark': tooltipTheme === 'dark'
|
208
|
+
})}
|
209
|
+
>
|
210
|
+
{this.renderBody()}
|
211
|
+
</TooltipWrapperComp>
|
212
|
+
);
|
213
|
+
}
|
214
|
+
}
|
215
|
+
|
216
|
+
@Renderer({
|
217
|
+
type: 'tooltip-wrapper'
|
218
|
+
})
|
219
|
+
export class TooltipWrapperRenderer extends TooltipWrapper {}
|