amis 1.5.8-beta.2 → 1.6.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 (187) hide show
  1. package/lib/components/CalendarMobile.js +5 -5
  2. package/lib/components/CalendarMobile.js.map +2 -2
  3. package/lib/components/Card.d.ts +20 -20
  4. package/lib/components/Cascader.d.ts +123 -0
  5. package/lib/components/Cascader.js +487 -0
  6. package/lib/components/Cascader.js.map +13 -0
  7. package/lib/components/CityArea.d.ts +527 -0
  8. package/lib/components/CityArea.js +177 -0
  9. package/lib/components/CityArea.js.map +13 -0
  10. package/lib/components/ColorPicker.js +4 -3
  11. package/lib/components/ColorPicker.js.map +2 -2
  12. package/lib/components/DatePicker.d.ts +85 -84
  13. package/lib/components/DatePicker.js +7 -6
  14. package/lib/components/DatePicker.js.map +2 -2
  15. package/lib/components/DateRangePicker.js +8 -11
  16. package/lib/components/DateRangePicker.js.map +2 -2
  17. package/lib/components/MonthRangePicker.js +5 -8
  18. package/lib/components/MonthRangePicker.js.map +2 -2
  19. package/lib/components/Picker.d.ts +1 -0
  20. package/lib/components/Picker.js +10 -6
  21. package/lib/components/Picker.js.map +2 -2
  22. package/lib/components/PickerColumn.d.ts +1 -0
  23. package/lib/components/PickerColumn.js +21 -17
  24. package/lib/components/PickerColumn.js.map +2 -2
  25. package/lib/components/PopOverContainer.d.ts +1 -0
  26. package/lib/components/PopOverContainer.js +5 -3
  27. package/lib/components/PopOverContainer.js.map +2 -2
  28. package/lib/components/PopUp.d.ts +1040 -28
  29. package/lib/components/PopUp.js +32 -8
  30. package/lib/components/PopUp.js.map +2 -2
  31. package/lib/components/ResultBox.d.ts +85 -84
  32. package/lib/components/ResultBox.js +7 -3
  33. package/lib/components/ResultBox.js.map +2 -2
  34. package/lib/components/Select.js +9 -6
  35. package/lib/components/Select.js.map +2 -2
  36. package/lib/components/TransferDropDown.d.ts +85 -84
  37. package/lib/components/TransferDropDown.js +9 -6
  38. package/lib/components/TransferDropDown.js.map +2 -2
  39. package/lib/components/calendar/Calendar.d.ts +14 -0
  40. package/lib/components/calendar/Calendar.js +62 -5
  41. package/lib/components/calendar/Calendar.js.map +2 -2
  42. package/lib/components/calendar/DaysView.d.ts +20 -0
  43. package/lib/components/calendar/DaysView.js +51 -4
  44. package/lib/components/calendar/DaysView.js.map +2 -2
  45. package/lib/components/calendar/MonthsView.d.ts +7 -1
  46. package/lib/components/calendar/MonthsView.js +41 -52
  47. package/lib/components/calendar/MonthsView.js.map +2 -2
  48. package/lib/components/calendar/TimeView.d.ts +27 -20
  49. package/lib/components/calendar/TimeView.js +40 -4
  50. package/lib/components/calendar/TimeView.js.map +2 -2
  51. package/lib/components/calendar/YearsView.d.ts +6 -0
  52. package/lib/components/calendar/YearsView.js +15 -6
  53. package/lib/components/calendar/YearsView.js.map +2 -2
  54. package/lib/index.js +1 -1
  55. package/lib/locale/de-DE.js +4 -0
  56. package/lib/locale/de-DE.js.map +2 -2
  57. package/lib/locale/en-US.js +4 -0
  58. package/lib/locale/en-US.js.map +2 -2
  59. package/lib/locale/zh-CN.js +4 -0
  60. package/lib/locale/zh-CN.js.map +2 -2
  61. package/lib/renderers/DropDownButton.d.ts +11 -2
  62. package/lib/renderers/DropDownButton.js +30 -12
  63. package/lib/renderers/DropDownButton.js.map +2 -2
  64. package/lib/renderers/Form/CityDB.js +526 -2
  65. package/lib/renderers/Form/CityDB.js.map +2 -2
  66. package/lib/renderers/Form/InputCity.d.ts +85 -84
  67. package/lib/renderers/Form/InputCity.js +4 -2
  68. package/lib/renderers/Form/InputCity.js.map +2 -2
  69. package/lib/renderers/Form/InputColor.js +6 -2
  70. package/lib/renderers/Form/InputColor.js.map +2 -2
  71. package/lib/renderers/Form/InputDate.js +5 -2
  72. package/lib/renderers/Form/InputDate.js.map +2 -2
  73. package/lib/renderers/Form/InputDateRange.js +6 -2
  74. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  75. package/lib/renderers/Form/Item.d.ts +10 -14
  76. package/lib/renderers/Form/Item.js +7 -5
  77. package/lib/renderers/Form/Item.js.map +2 -2
  78. package/lib/renderers/Form/NestedSelect.d.ts +1 -0
  79. package/lib/renderers/Form/NestedSelect.js +7 -3
  80. package/lib/renderers/Form/NestedSelect.js.map +2 -2
  81. package/lib/renderers/Form/Select.d.ts +2 -0
  82. package/lib/renderers/Form/Select.js +7 -4
  83. package/lib/renderers/Form/Select.js.map +2 -2
  84. package/lib/renderers/Form/TreeSelect.js +4 -4
  85. package/lib/renderers/Form/TreeSelect.js.map +2 -2
  86. package/lib/renderers/Remark.js +2 -1
  87. package/lib/renderers/Remark.js.map +2 -2
  88. package/lib/schemaExtend.js +23 -9
  89. package/lib/schemaExtend.js.map +2 -2
  90. package/lib/themes/ang-ie11.css +312 -29
  91. package/lib/themes/ang.css +312 -29
  92. package/lib/themes/ang.css.map +1 -1
  93. package/lib/themes/antd-ie11.css +312 -29
  94. package/lib/themes/antd.css +312 -29
  95. package/lib/themes/antd.css.map +1 -1
  96. package/lib/themes/cxd-ie11.css +315 -41
  97. package/lib/themes/cxd.css +315 -41
  98. package/lib/themes/cxd.css.map +1 -1
  99. package/lib/themes/dark-ie11.css +312 -29
  100. package/lib/themes/dark.css +312 -29
  101. package/lib/themes/dark.css.map +1 -1
  102. package/lib/themes/default.css +315 -41
  103. package/lib/themes/default.css.map +1 -1
  104. package/lib/utils/helper.d.ts +1 -6
  105. package/lib/utils/helper.js +6 -17
  106. package/lib/utils/helper.js.map +2 -2
  107. package/package.json +1 -2
  108. package/schema.json +2192 -20
  109. package/scss/_properties.scss +10 -6
  110. package/scss/components/_calendar.scss +9 -2
  111. package/scss/components/_cascader.scss +102 -0
  112. package/scss/components/_city-area.scss +27 -0
  113. package/scss/components/_dropdown.scss +39 -9
  114. package/scss/components/_picker-columns.scss +15 -5
  115. package/scss/components/_popup.scss +35 -12
  116. package/scss/components/_result-box.scss +31 -0
  117. package/scss/components/form/_checks.scss +2 -0
  118. package/scss/components/form/_color.scss +2 -2
  119. package/scss/components/form/_date-range.scss +1 -1
  120. package/scss/components/form/_date.scss +46 -1
  121. package/scss/components/form/_nested-select.scss +3 -0
  122. package/scss/components/form/_select.scss +32 -3
  123. package/scss/components/form/_transfer.scss +3 -0
  124. package/scss/components/form/_tree-select.scss +1 -1
  125. package/scss/themes/_common.scss +2 -0
  126. package/scss/themes/_cxd-variables.scss +3 -3
  127. package/scss/themes/cxd.scss +0 -12
  128. package/sdk/ang-ie11.css +368 -29
  129. package/sdk/ang.css +367 -30
  130. package/sdk/antd-ie11.css +368 -29
  131. package/sdk/antd.css +367 -30
  132. package/sdk/charts.js +18 -18
  133. package/sdk/codemirror.js +7 -7
  134. package/sdk/color-picker.js +65 -65
  135. package/sdk/cropperjs.js +3 -3
  136. package/sdk/cxd-ie11.css +370 -42
  137. package/sdk/cxd.css +370 -44
  138. package/sdk/dark-ie11.css +368 -29
  139. package/sdk/dark.css +367 -30
  140. package/sdk/exceljs.js +1 -1
  141. package/sdk/locale/de-DE.js +4 -0
  142. package/sdk/markdown.js +69 -69
  143. package/sdk/papaparse.js +1 -1
  144. package/sdk/renderers/Form/CityDB.js +1 -1
  145. package/sdk/rest.js +18 -18
  146. package/sdk/rich-text.js +62 -62
  147. package/sdk/sdk-ie11.css +370 -42
  148. package/sdk/sdk.css +370 -44
  149. package/sdk/sdk.js +1309 -1227
  150. package/sdk/thirds/hls.js/hls.js +18 -18
  151. package/sdk/thirds/mpegts.js/mpegts.js +2 -2
  152. package/sdk/tinymce.js +57 -57
  153. package/src/components/CalendarMobile.tsx +5 -5
  154. package/src/components/Cascader.tsx +564 -0
  155. package/src/components/CityArea.tsx +315 -0
  156. package/src/components/ColorPicker.tsx +5 -2
  157. package/src/components/DatePicker.tsx +15 -5
  158. package/src/components/DateRangePicker.tsx +52 -43
  159. package/src/components/MonthRangePicker.tsx +44 -38
  160. package/src/components/Picker.tsx +27 -12
  161. package/src/components/PickerColumn.tsx +28 -18
  162. package/src/components/PopOverContainer.tsx +31 -17
  163. package/src/components/PopUp.tsx +55 -13
  164. package/src/components/ResultBox.tsx +10 -1
  165. package/src/components/Select.tsx +20 -23
  166. package/src/components/TransferDropDown.tsx +19 -5
  167. package/src/components/calendar/Calendar.tsx +86 -9
  168. package/src/components/calendar/DaysView.tsx +86 -2
  169. package/src/components/calendar/MonthsView.tsx +56 -63
  170. package/src/components/calendar/TimeView.tsx +82 -29
  171. package/src/components/calendar/YearsView.tsx +25 -6
  172. package/src/locale/de-DE.ts +4 -0
  173. package/src/locale/en-US.ts +4 -0
  174. package/src/locale/zh-CN.ts +4 -0
  175. package/src/renderers/DropDownButton.tsx +69 -35
  176. package/src/renderers/Form/CityDB.ts +526 -2
  177. package/src/renderers/Form/InputCity.tsx +23 -3
  178. package/src/renderers/Form/InputColor.tsx +21 -2
  179. package/src/renderers/Form/InputDate.tsx +10 -1
  180. package/src/renderers/Form/InputDateRange.tsx +9 -1
  181. package/src/renderers/Form/Item.tsx +14 -4
  182. package/src/renderers/Form/NestedSelect.tsx +31 -3
  183. package/src/renderers/Form/Select.tsx +15 -2
  184. package/src/renderers/Form/TreeSelect.tsx +10 -6
  185. package/src/renderers/Remark.tsx +2 -1
  186. package/src/schemaExtend.ts +22 -10
  187. package/src/utils/helper.ts +6 -16
@@ -43,6 +43,10 @@ register('de-DE', {
43
43
  'CRUD.paginationGoText': 'Wechseln zu',
44
44
  'CRUD.paginationPageText': 'Seite',
45
45
  'PaginationWrapper.placeholder': 'Textkörper konfigurieren',
46
+ 'Date.titleYear': '',
47
+ 'Date.titleMonth': '',
48
+ 'Date.titleDate': '',
49
+ 'Date.titleTime': '',
46
50
  'Date.daysago': 'Vor {{days}} Tag(en)',
47
51
  'Date.dayslater': '{{days}} Tag(e) später',
48
52
  'Date.endOfMonth': 'Letzter Tag des Monats',
@@ -43,6 +43,10 @@ register('en-US', {
43
43
  'CRUD.paginationGoText': 'Go to',
44
44
  'CRUD.paginationPageText': 'page',
45
45
  'PaginationWrapper.placeholder': 'please config body',
46
+ 'Date.titleYear': 'select year',
47
+ 'Date.titleMonth': 'select month and year',
48
+ 'Date.titleDate': 'select month, year and day',
49
+ 'Date.titleTime': 'select time',
46
50
  'Date.daysago': '{{days}} day(s) ago',
47
51
  'Date.dayslater': '{{days}} day(s) later',
48
52
  'Date.endOfMonth': 'last day of the month',
@@ -43,6 +43,10 @@ register('zh-CN', {
43
43
  'CRUD.paginationGoText': '前往',
44
44
  'CRUD.paginationPageText': '页',
45
45
  'PaginationWrapper.placeholder': '请配置内容',
46
+ 'Date.titleYear': '选择年',
47
+ 'Date.titleMonth': '选择年月',
48
+ 'Date.titleDate': '选择年月日',
49
+ 'Date.titleTime': '选择时间',
46
50
  'Date.daysago': '{{days}}天前',
47
51
  'Date.dayslater': '{{days}}天后',
48
52
  'Date.endOfMonth': '本月最后一天',
@@ -13,6 +13,13 @@ import {DividerSchema} from './Divider';
13
13
  import {RootClose} from '../utils/RootClose';
14
14
  import {generateIcon} from '../utils/icon';
15
15
 
16
+ import type {Option} from '../components/Select';
17
+
18
+ export type DropdownButton =
19
+ | (ActionSchema & {children?: Array<DropdownButton>})
20
+ | DividerSchema
21
+ | 'divider';
22
+
16
23
  /**
17
24
  * 下拉按钮渲染器。
18
25
  * 文档:https://baidu.gitee.io/amis/docs/components/dropdown-button
@@ -34,9 +41,9 @@ export interface DropdownButtonSchema extends BaseSchema {
34
41
  btnClassName?: SchemaClassName;
35
42
 
36
43
  /**
37
- * 按钮集合
44
+ * 按钮集合,支持分组
38
45
  */
39
- buttons?: Array<ActionSchema | DividerSchema | 'divider'>;
46
+ buttons?: Array<DropdownButton>;
40
47
 
41
48
  /**
42
49
  * 按钮文字
@@ -92,6 +99,11 @@ export interface DropdownButtonSchema extends BaseSchema {
92
99
  * 是否显示下拉按钮
93
100
  */
94
101
  hideCaret?: boolean;
102
+
103
+ /**
104
+ * 菜单 CSS 样式
105
+ */
106
+ menuClassName?: string;
95
107
  }
96
108
 
97
109
  export interface DropDownButtonProps
@@ -110,6 +122,7 @@ export interface DropDownButtonProps
110
122
  label?: any;
111
123
  // 激活状态
112
124
  isActived?: boolean;
125
+ menuClassName?: string;
113
126
  }
114
127
 
115
128
  export interface DropDownButtonState {
@@ -175,6 +188,49 @@ export default class DropDownButton extends React.Component<
175
188
  });
176
189
  }
177
190
 
191
+ renderButton(
192
+ button: DropdownButton,
193
+ index: number | string
194
+ ): React.ReactNode {
195
+ const {render, classnames: cx, data} = this.props;
196
+ index = typeof index === 'number' ? index.toString() : index;
197
+
198
+ if (typeof button !== 'string' && Array.isArray(button?.children)) {
199
+ return (
200
+ <div key={index} className={cx('DropDown-menu')}>
201
+ <li key={`${index}/0`} className={cx('DropDown-groupTitle')}>
202
+ {button.icon ? generateIcon(cx, button.icon, 'm-r-xs') : null}
203
+ <span>{button.label}</span>
204
+ </li>
205
+ {button.children.map((child, childIndex) =>
206
+ this.renderButton(child, `${index}/${childIndex + 1}`)
207
+ )}
208
+ </div>
209
+ );
210
+ }
211
+
212
+ if (typeof button !== 'string' && !isVisible(button, data)) {
213
+ return null;
214
+ } else if (button === 'divider' || button.type === 'divider') {
215
+ return <li key={index} className={cx('DropDown-divider')} />;
216
+ } else {
217
+ return (
218
+ <li
219
+ key={index}
220
+ className={cx('DropDown-button', {
221
+ ['is-disabled']: isDisabled(button, data)
222
+ })}
223
+ >
224
+ {render(`button/${index}`, {
225
+ type: 'button',
226
+ ...(button as any),
227
+ isMenuItem: true
228
+ })}
229
+ </li>
230
+ );
231
+ }
232
+ }
233
+
178
234
  renderOuter() {
179
235
  const {
180
236
  render,
@@ -186,7 +242,8 @@ export default class DropDownButton extends React.Component<
186
242
  children,
187
243
  align,
188
244
  closeOnClick,
189
- closeOnOutside
245
+ closeOnOutside,
246
+ menuClassName
190
247
  } = this.props;
191
248
 
192
249
  let body = (
@@ -197,43 +254,20 @@ export default class DropDownButton extends React.Component<
197
254
  {(ref: any) => {
198
255
  return (
199
256
  <ul
200
- className={cx('DropDown-menu')}
257
+ className={cx(
258
+ 'DropDown-menu-root',
259
+ 'DropDown-menu',
260
+ menuClassName
261
+ )}
201
262
  onClick={closeOnClick ? this.close : noop}
202
263
  ref={ref}
203
264
  >
204
265
  {children
205
266
  ? children
206
267
  : Array.isArray(buttons)
207
- ? buttons.map((button, index) => {
208
- if (
209
- typeof button !== 'string' &&
210
- !isVisible(button, data)
211
- ) {
212
- return null;
213
- } else if (
214
- button === 'divider' ||
215
- button.type === 'divider'
216
- ) {
217
- return (
218
- <li key={index} className={cx('DropDown-divider')} />
219
- );
220
- }
221
-
222
- return (
223
- <li
224
- key={index}
225
- className={
226
- isDisabled(button, data) ? 'is-disabled' : ''
227
- }
228
- >
229
- {render(`button/${index}`, {
230
- type: 'button',
231
- ...(button as any),
232
- isMenuItem: true
233
- })}
234
- </li>
235
- );
236
- })
268
+ ? buttons.map((button, index) =>
269
+ this.renderButton(button, index)
270
+ )
237
271
  : null}
238
272
  </ul>
239
273
  );
@@ -248,7 +282,7 @@ export default class DropDownButton extends React.Component<
248
282
  overlay
249
283
  onHide={this.close}
250
284
  classPrefix={ns}
251
- className={cx('DropDown-popover')}
285
+ className={cx('DropDown-popover', menuClassName)}
252
286
  style={{minWidth: this.target?.offsetWidth}}
253
287
  >
254
288
  {body}