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.
Files changed (103) hide show
  1. package/lib/Schema.d.ts +3 -2
  2. package/lib/Schema.js +0 -1
  3. package/lib/Schema.js.map +2 -2
  4. package/lib/components/Alert2.js +4 -2
  5. package/lib/components/Alert2.js.map +2 -2
  6. package/lib/components/Avatar.d.ts +20 -20
  7. package/lib/components/Card.d.ts +20 -20
  8. package/lib/components/CityArea.js +3 -0
  9. package/lib/components/CityArea.js.map +2 -2
  10. package/lib/components/ListGroup.d.ts +21 -21
  11. package/lib/components/Tabs.d.ts +27 -23
  12. package/lib/components/Tabs.js +37 -22
  13. package/lib/components/Tabs.js.map +2 -2
  14. package/lib/components/TooltipWrapper.d.ts +21 -20
  15. package/lib/components/TooltipWrapper.js +2 -2
  16. package/lib/components/TooltipWrapper.js.map +2 -2
  17. package/lib/components/icons.js +2 -0
  18. package/lib/components/icons.js.map +2 -2
  19. package/lib/icons/trash.js +10 -0
  20. package/lib/index.d.ts +1 -0
  21. package/lib/index.js +2 -1
  22. package/lib/index.js.map +2 -2
  23. package/lib/renderers/Action.d.ts +1 -1
  24. package/lib/renderers/Action.js.map +2 -2
  25. package/lib/renderers/ButtonGroup.d.ts +2 -2
  26. package/lib/renderers/ButtonGroup.js.map +1 -1
  27. package/lib/renderers/Form/Combo.d.ts +4 -3
  28. package/lib/renderers/Form/Combo.js +81 -32
  29. package/lib/renderers/Form/Combo.js.map +2 -2
  30. package/lib/renderers/Form/InputCity.js +4 -1
  31. package/lib/renderers/Form/InputCity.js.map +2 -2
  32. package/lib/renderers/Form/InputRange.d.ts +2 -2
  33. package/lib/renderers/Form/InputRange.js.map +2 -2
  34. package/lib/renderers/Tabs.d.ts +10 -2
  35. package/lib/renderers/Tabs.js +2 -2
  36. package/lib/renderers/Tabs.js.map +2 -2
  37. package/lib/renderers/TooltipWrapper.d.ts +104 -0
  38. package/lib/renderers/TooltipWrapper.js +59 -0
  39. package/lib/renderers/TooltipWrapper.js.map +13 -0
  40. package/lib/themes/ang-ie11.css +192 -33
  41. package/lib/themes/ang.css +200 -28
  42. package/lib/themes/ang.css.map +1 -1
  43. package/lib/themes/antd-ie11.css +192 -33
  44. package/lib/themes/antd.css +200 -28
  45. package/lib/themes/antd.css.map +1 -1
  46. package/lib/themes/cxd-ie11.css +181 -22
  47. package/lib/themes/cxd.css +202 -29
  48. package/lib/themes/cxd.css.map +1 -1
  49. package/lib/themes/dark-ie11.css +192 -33
  50. package/lib/themes/dark.css +200 -28
  51. package/lib/themes/dark.css.map +1 -1
  52. package/lib/themes/default-ie11.css +181 -22
  53. package/lib/themes/default.css +202 -29
  54. package/lib/themes/default.css.map +1 -1
  55. package/package.json +1 -1
  56. package/schema.json +286 -52
  57. package/scss/_properties.scss +23 -12
  58. package/scss/components/_alert.scss +1 -1
  59. package/scss/components/_button-group.scss +15 -0
  60. package/scss/components/_tabs.scss +145 -13
  61. package/scss/components/_tooltip.scss +72 -0
  62. package/scss/components/form/_number.scss +2 -0
  63. package/scss/themes/_cxd-variables.scss +2 -1
  64. package/sdk/ang-ie11.css +229 -34
  65. package/sdk/ang.css +237 -29
  66. package/sdk/antd-ie11.css +229 -34
  67. package/sdk/antd.css +237 -29
  68. package/sdk/barcode.js +51 -51
  69. package/sdk/charts.js +14 -14
  70. package/sdk/codemirror.js +7 -7
  71. package/sdk/color-picker.js +65 -65
  72. package/sdk/cropperjs.js +2 -2
  73. package/sdk/cxd-ie11.css +218 -23
  74. package/sdk/cxd.css +239 -30
  75. package/sdk/dark-ie11.css +229 -34
  76. package/sdk/dark.css +237 -29
  77. package/sdk/exceljs.js +1 -1
  78. package/sdk/markdown.js +69 -69
  79. package/sdk/papaparse.js +1 -1
  80. package/sdk/renderers/Form/CityDB.js +1 -1
  81. package/sdk/rest.js +17 -17
  82. package/sdk/rich-text.js +62 -62
  83. package/sdk/sdk-ie11.css +218 -23
  84. package/sdk/sdk.css +239 -30
  85. package/sdk/sdk.js +1250 -1246
  86. package/sdk/thirds/hls.js/hls.js +1 -1
  87. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  88. package/sdk/tinymce.js +57 -57
  89. package/src/Schema.ts +5 -2
  90. package/src/components/Alert2.tsx +9 -3
  91. package/src/components/CityArea.tsx +3 -0
  92. package/src/components/Tabs.tsx +51 -21
  93. package/src/components/TooltipWrapper.tsx +4 -1
  94. package/src/components/icons.tsx +2 -0
  95. package/src/icons/trash.svg +8 -0
  96. package/src/index.tsx +1 -0
  97. package/src/renderers/Action.tsx +2 -1
  98. package/src/renderers/ButtonGroup.tsx +2 -2
  99. package/src/renderers/Form/Combo.tsx +84 -26
  100. package/src/renderers/Form/InputCity.tsx +13 -1
  101. package/src/renderers/Form/InputRange.tsx +2 -6
  102. package/src/renderers/Tabs.tsx +15 -3
  103. package/src/renderers/TooltipWrapper.tsx +219 -0
@@ -89,9 +89,9 @@ export interface TabSchema extends Omit<BaseSchema, 'type'> {
89
89
  */
90
90
  horizontal?: FormSchemaHorizontal;
91
91
  /**
92
- * 是否可关闭,优先级高于 tabs 的 closeable
92
+ * 是否可关闭,优先级高于 tabs 的 closable
93
93
  */
94
- closeable?: boolean;
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 {}