amis-editor 3.3.12-beta.1 → 4.0.1-beta.19

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 (81) hide show
  1. package/dist/150a58f3318ca7541ed9.png +0 -0
  2. package/dist/471adb97c322b226e589.png +0 -0
  3. package/dist/4de5f42360bc5946c3c2.png +0 -0
  4. package/dist/4e9968bba3855f088fed.png +0 -0
  5. package/dist/7f09c38ebc687fea847a.png +0 -0
  6. package/dist/c94073576487510314ea.png +0 -0
  7. package/dist/cebfe0bc5a1dbde02da1.svg +10 -0
  8. package/dist/component/Breadcrumb.d.ts +1 -1
  9. package/dist/component/Control/APIControl.d.ts +540 -0
  10. package/dist/component/Control/OptionControl.d.ts +163 -0
  11. package/dist/component/Control/PopoverEdit.d.ts +57 -0
  12. package/dist/component/Control/ValidationControl.d.ts +30 -0
  13. package/dist/component/Panel/AMisCodeEditor.d.ts +37 -0
  14. package/dist/component/Panel/AvailableRenderersPanel.d.ts +20 -0
  15. package/dist/component/Panel/CodeEditorPanel.d.ts +6 -0
  16. package/dist/component/Panel/ContextMenuPanel.d.ts +8 -0
  17. package/dist/component/Panel/DrawerPanel.d.ts +15 -0
  18. package/dist/component/Panel/InsertSubRendererPanel.d.ts +11 -0
  19. package/dist/component/Panel/LeftPanels.d.ts +20 -0
  20. package/dist/component/Panel/Outline.d.ts +18 -0
  21. package/dist/component/Panel/RightPanels.d.ts +21 -0
  22. package/dist/component/Panel/TargetNamePanel.d.ts +7 -0
  23. package/dist/component/Preview.d.ts +2 -0
  24. package/dist/component/RegionHLBox.d.ts +1 -8
  25. package/dist/component/ScaffoldModal.d.ts +1 -1
  26. package/dist/component/base/BackTop.d.ts +26 -0
  27. package/dist/component/base/ErrorRenderer.d.ts +4 -0
  28. package/dist/component/base/InputComponentName.d.ts +8 -0
  29. package/dist/component/base/SearchRendererPanel.d.ts +51 -0
  30. package/dist/component/base/WidthDraggableBtn.d.ts +16 -0
  31. package/dist/component/base/WidthDraggableContainer.d.ts +2 -0
  32. package/dist/component/remarkTpl.d.ts +150 -0
  33. package/dist/dnd/default.d.ts +1 -1
  34. package/dist/dnd/index.d.ts +1 -1
  35. package/dist/index.d.ts +12 -10
  36. package/dist/index.min.js +1 -1
  37. package/dist/manager.d.ts +16 -9
  38. package/dist/plugin/BasicToolbar.d.ts +1 -1
  39. package/dist/plugin/Card.d.ts +0 -1
  40. package/dist/plugin/Date.d.ts +1 -0
  41. package/dist/plugin/Datetime.d.ts +3 -0
  42. package/dist/plugin/Flex.d.ts +0 -1
  43. package/dist/plugin/Form/CodeEditor.d.ts +39 -0
  44. package/dist/plugin/Form/FieldSet.d.ts +1 -0
  45. package/dist/plugin/Form/Group.d.ts +1 -0
  46. package/dist/plugin/Form/InputGroup.d.ts +0 -2
  47. package/dist/plugin/Form/InputTable.d.ts +0 -1
  48. package/dist/plugin/Form/Item.d.ts +1 -1
  49. package/dist/plugin/Form/Static.d.ts +0 -1
  50. package/dist/plugin/Grid.d.ts +17 -20
  51. package/dist/plugin/HBox.d.ts +1 -1
  52. package/dist/plugin/ListItem.d.ts +0 -1
  53. package/dist/plugin/Log.d.ts +1 -0
  54. package/dist/plugin/Panel/AvailableRenderers.d.ts +8 -0
  55. package/dist/plugin/Panel/Code.d.ts +9 -0
  56. package/dist/plugin/Panel/Name.d.ts +8 -0
  57. package/dist/plugin/Panel.d.ts +15 -3
  58. package/dist/plugin/Plain.d.ts +1 -0
  59. package/dist/plugin/Reset.d.ts +1 -0
  60. package/dist/plugin/Steps.d.ts +1 -7
  61. package/dist/plugin/Submit.d.ts +1 -0
  62. package/dist/plugin/TableCell.d.ts +0 -1
  63. package/dist/plugin/Time.d.ts +3 -0
  64. package/dist/plugin/Wrapper.d.ts +1 -0
  65. package/dist/plugin.d.ts +22 -3
  66. package/dist/store/editor.d.ts +17 -3
  67. package/dist/style.css +1 -1
  68. package/dist/util.d.ts +2 -2
  69. package/package.json +24 -15
  70. package/static/Code-hover.png +0 -0
  71. package/static/Code.png +0 -0
  72. package/static/Outline-hover.png +0 -0
  73. package/static/Outline.png +0 -0
  74. package/static/Renderers-hover.png +0 -0
  75. package/static/Renderers.png +0 -0
  76. package/static/side_hide_left.svg +10 -0
  77. package/.editorconfig +0 -12
  78. package/.fecsrc +0 -8
  79. package/.prettierrc +0 -20
  80. package/dist/plugin/Form/Color.d.ts +0 -39
  81. package/rollup.config.js +0 -24
package/dist/manager.d.ts CHANGED
@@ -240,6 +240,8 @@ export declare class EditorManager {
240
240
  * @param preferTag
241
241
  */
242
242
  showReplacePanel(id: string, preferTag?: string): void;
243
+ /** 显示左侧组件面板(主要在属性面板中使用)*/
244
+ showRendererPanel(tag?: string, msg?: string): void;
243
245
  readonly listeners: Array<{
244
246
  type: string;
245
247
  fn: PluginEventFn;
@@ -252,6 +254,11 @@ export declare class EditorManager {
252
254
  * @param context
253
255
  */
254
256
  trigger<T extends EventContext>(type: string, context: T): PluginEvent<T>;
257
+ /**
258
+ * 组件面板中的组件点选添加
259
+ * @param rendererId
260
+ */
261
+ addElem(rendererId: string): Promise<void>;
255
262
  /**
256
263
  * 给插入面板使用的,将当前选中的节点插入到当前选中的节点容器内。
257
264
  * @param position
@@ -265,9 +272,9 @@ export declare class EditorManager {
265
272
  /**
266
273
  * 入口在 Preview 里面,用来获取渲染器对应的编辑器信息。
267
274
  * 拿到这些信息后会在渲染原本渲染器的地方包一层,并创建高亮框在点选或者 hover 的时候显示。
268
- * @param renderer
269
- * @param path
270
- * @param schema
275
+ * @param renderer amis元素渲染器,比如 { type: 'audio', component: 'xxx渲染器'}
276
+ * @param path 节点路径
277
+ * @param schema 节点 schema 数据
271
278
  */
272
279
  getEditorInfo(renderer: RendererConfig, path: string, schema: any): RendererInfo | null | undefined;
273
280
  /**
@@ -335,8 +342,8 @@ export declare class EditorManager {
335
342
  emptyRegion(id: string, region: string): void;
336
343
  /**
337
344
  * 添加孩子,成功后返回节点,失败后返回 null。
338
- * @param id
339
- * @param region
345
+ * @param id 目标组件 id
346
+ * @param region 目标组件区域
340
347
  * @param json
341
348
  * @param position
342
349
  */
@@ -346,7 +353,7 @@ export declare class EditorManager {
346
353
  data: any;
347
354
  }): any | null;
348
355
  /**
349
- * 添加孩子。
356
+ * 移动节点
350
357
  * @param id 目标组件 id
351
358
  * @param region 目标组件区域
352
359
  * @param sourceId 移动的节点 id
@@ -383,13 +390,13 @@ export declare class EditorManager {
383
390
  */
384
391
  hackRenderers(renderers?: RendererConfig[]): void;
385
392
  /**
386
- * 入口在 Preview,用来生成包括控件。
393
+ * 入口在 Preview,用来生成包括元素头部快捷工具栏。
387
394
  * @param info
388
395
  * @param render
389
396
  */
390
397
  makeWrapper(info: RendererInfo, render: RendererConfig): any;
391
398
  /**
392
- * 用来生成配置面板。
399
+ * 用来生成属性配置面板。
393
400
  * @param schema
394
401
  */
395
402
  makeSchemaFormRender(schema: {
@@ -398,7 +405,7 @@ export declare class EditorManager {
398
405
  definitions?: any;
399
406
  api?: any;
400
407
  submitOnChange?: boolean;
401
- }): ({ value, onChange, popOverContainer, id, store }: import("./plugin").PanelProps) => JSX.Element;
408
+ }): ({ value, onChange, popOverContainer, id, store, node }: import("./plugin").PanelProps) => JSX.Element;
402
409
  onWidthChangeStart(e: MouseEvent, ctx: {
403
410
  dom: HTMLElement;
404
411
  node: EditorNodeType;
@@ -1,6 +1,6 @@
1
1
  import { BasePlugin, BaseEventContext, BasicToolbarItem, ContextMenuItem, ContextMenuEventContext, BasicPanelItem, BuildPanelEventContext, PluginEvent, InsertEventContext } from '../plugin';
2
2
  /**
3
- * 用来添加一些基本的工具栏按钮。
3
+ * 用来给当前选中的元素添加一些基本的工具栏按钮。
4
4
  */
5
5
  export declare class BasicToolbarPlugin extends BasePlugin {
6
6
  order: number;
@@ -43,7 +43,6 @@ export declare class CardPlugin extends BasePlugin {
43
43
  regions: Array<RegionConfig>;
44
44
  panelTitle: string;
45
45
  panelBodyCreator: (context: BaseEventContext) => any[];
46
- exchangeRenderer(id: string): void;
47
46
  fieldWrapperResolve: (dom: HTMLElement) => HTMLElement;
48
47
  overrides: {
49
48
  renderFeild: (this: any, region: string, field: any, index: any, props: any) => any;
@@ -8,6 +8,7 @@ export declare class DatePlugin extends BasePlugin {
8
8
  icon: string;
9
9
  scaffold: {
10
10
  type: string;
11
+ value: number;
11
12
  };
12
13
  previewSchema: {
13
14
  format: string;
@@ -1,8 +1,10 @@
1
+ import { BaseEventContext } from '../plugin';
1
2
  import { DatePlugin } from './Date';
2
3
  export declare class DatetimePlugin extends DatePlugin {
3
4
  rendererName: string;
4
5
  scaffold: {
5
6
  type: string;
7
+ value: number;
6
8
  };
7
9
  name: string;
8
10
  previewSchema: {
@@ -10,4 +12,5 @@ export declare class DatetimePlugin extends DatePlugin {
10
12
  value: number;
11
13
  type: string;
12
14
  };
15
+ panelBodyCreator: (context: BaseEventContext) => any[];
13
16
  }
@@ -23,6 +23,5 @@ export declare class FlexPlugin extends BasePlugin {
23
23
  panelTitle: string;
24
24
  panelBody: any[];
25
25
  regions: Array<RegionConfig>;
26
- exchangeRenderer(id: string): void;
27
26
  afterResolveJsonSchema(event: PluginEvent<RendererJSONSchemaResolveEventContext>): void;
28
27
  }
@@ -0,0 +1,39 @@
1
+ import { BasePlugin } from '../../plugin';
2
+ export declare class CodeEditorControlPlugin extends BasePlugin {
3
+ rendererName: string;
4
+ $schema: string;
5
+ name: string;
6
+ icon: string;
7
+ description: string;
8
+ docLink: string;
9
+ tags: string[];
10
+ scaffold: {
11
+ type: string;
12
+ label: string;
13
+ name: string;
14
+ };
15
+ previewSchema: any;
16
+ panelTitle: string;
17
+ panelBody: ({
18
+ label: string;
19
+ name: string;
20
+ type: string;
21
+ value: string;
22
+ searchable: boolean;
23
+ options: string[];
24
+ size?: undefined;
25
+ pipeIn?: undefined;
26
+ } | {
27
+ name: string;
28
+ type: string;
29
+ size: string;
30
+ pipeIn: (value: any) => any;
31
+ label: string;
32
+ options: {
33
+ label: string;
34
+ value: string;
35
+ }[];
36
+ value?: undefined;
37
+ searchable?: undefined;
38
+ })[];
39
+ }
@@ -2,6 +2,7 @@ import { BaseEventContext, BasePlugin, RegionConfig } from '../../plugin';
2
2
  export declare class FieldSetControlPlugin extends BasePlugin {
3
3
  rendererName: string;
4
4
  $schema: string;
5
+ disabledRendererPlugin: boolean;
5
6
  name: string;
6
7
  icon: string;
7
8
  description: string;
@@ -2,6 +2,7 @@ import { BasePlugin, ContextMenuEventContext, ContextMenuItem, RegionConfig } fr
2
2
  export declare class GroupControlPlugin extends BasePlugin {
3
3
  rendererName: string;
4
4
  $schema: string;
5
+ disabledRendererPlugin: boolean;
5
6
  name: string;
6
7
  icon: string;
7
8
  description: string;
@@ -13,7 +13,6 @@ export declare class InputGroupControlPlugin extends BasePlugin {
13
13
  label: string;
14
14
  body: ({
15
15
  type: string;
16
- placeholder: string;
17
16
  inputClassName: string;
18
17
  name: string;
19
18
  label?: undefined;
@@ -22,7 +21,6 @@ export declare class InputGroupControlPlugin extends BasePlugin {
22
21
  type: string;
23
22
  label: string;
24
23
  level: string;
25
- placeholder?: undefined;
26
24
  inputClassName?: undefined;
27
25
  name?: undefined;
28
26
  })[];
@@ -34,6 +34,5 @@ export declare class TableControlPlugin extends BasePlugin {
34
34
  panelTitle: string;
35
35
  panelBodyCreator: (context: BaseEventContext) => any;
36
36
  filterProps(props: any): any;
37
- exchangeRenderer(id: string): void;
38
37
  beforeInsert(event: PluginEvent<InsertEventContext>): void;
39
38
  }
@@ -1,7 +1,7 @@
1
1
  import { BasePlugin, BaseEventContext, BasicPanelItem, PluginEvent, DragEventContext, ChangeEventContext, ReplaceEventContext, BuildPanelEventContext, ContextMenuEventContext, ContextMenuItem } from '../../plugin';
2
2
  export declare class ItemPlugin extends BasePlugin {
3
- buildEditorPanel(context: BuildPanelEventContext, panels: Array<BasicPanelItem>): void;
4
3
  panelTitle: string;
4
+ buildEditorPanel(context: BuildPanelEventContext, panels: Array<BasicPanelItem>): void;
5
5
  panelBodyCreator: (context: BaseEventContext) => any[];
6
6
  onDndAccept(event: PluginEvent<DragEventContext>): false | void;
7
7
  afterUpdate(event: PluginEvent<ChangeEventContext>): void;
@@ -18,5 +18,4 @@ export declare class StaticControlPlugin extends BasePlugin {
18
18
  panelTitle: string;
19
19
  panelBodyCreator: (context: BaseEventContext) => any[];
20
20
  filterProps(props: any, node: EditorNodeType): any;
21
- exchangeRenderer(id: string): void;
22
21
  }
@@ -5,29 +5,26 @@ export declare class GridPlugin extends BasePlugin {
5
5
  rendererName: string;
6
6
  $schema: string;
7
7
  name: string;
8
+ description: string;
8
9
  tags: string[];
9
10
  icon: string;
10
- scaffolds: {
11
- name: string;
12
- description: string;
13
- scaffold: {
14
- type: string;
15
- columns: {
16
- body: never[];
17
- }[];
18
- };
19
- previewSchema: {
20
- type: string;
21
- columns: {
22
- body: {
23
- type: string;
24
- tpl: string;
25
- inline: boolean;
26
- className: string;
27
- }[];
11
+ scaffold: {
12
+ type: string;
13
+ columns: {
14
+ body: never[];
15
+ }[];
16
+ };
17
+ previewSchema: {
18
+ type: string;
19
+ columns: {
20
+ body: {
21
+ type: string;
22
+ tpl: string;
23
+ inline: boolean;
24
+ className: string;
28
25
  }[];
29
- };
30
- }[];
26
+ }[];
27
+ };
31
28
  panelTitle: string;
32
29
  panelWithOutOthers: boolean;
33
30
  panelBodyCreator(context: BaseEventContext): any[];
@@ -4,6 +4,7 @@ import { Schema } from 'amis/lib/types';
4
4
  export declare class HBoxPlugin extends BasePlugin {
5
5
  rendererName: string;
6
6
  $schema: string;
7
+ disabledRendererPlugin: boolean;
7
8
  name: string;
8
9
  icon: string;
9
10
  description: string;
@@ -30,7 +31,6 @@ export declare class HBoxPlugin extends BasePlugin {
30
31
  overrides: {
31
32
  renderColumn: (this: any, node: Schema, index: number) => any;
32
33
  };
33
- exchangeRenderer(id: string): void;
34
34
  afterResolveJsonSchema(event: PluginEvent<RendererJSONSchemaResolveEventContext>): void;
35
35
  buildEditorContextMenu(context: ContextMenuEventContext, menus: Array<ContextMenuItem>): void;
36
36
  onWidthChangeStart(event: PluginEvent<ResizeMoveEventContext, {
@@ -11,6 +11,5 @@ export declare class ListItemPlugin extends BasePlugin {
11
11
  renderFeild: (this: any, region: string, field: any, index: any, props: any) => any;
12
12
  };
13
13
  vRendererConfig: VRendererConfig;
14
- exchangeRenderer(id: string): void;
15
14
  beforeInsert(event: PluginEvent<InsertEventContext>): void;
16
15
  }
@@ -9,6 +9,7 @@ export declare class LogPlugin extends BasePlugin {
9
9
  tags: string[];
10
10
  previewSchema: {
11
11
  type: string;
12
+ height: number;
12
13
  };
13
14
  scaffold: any;
14
15
  panelTitle: string;
@@ -0,0 +1,8 @@
1
+ import { BasePlugin, BasicPanelItem, BuildPanelEventContext } from '../../plugin';
2
+ /**
3
+ * 添加源码编辑功能
4
+ */
5
+ export declare class AvailableRenderersPlugin extends BasePlugin {
6
+ order: number;
7
+ buildEditorPanel(context: BuildPanelEventContext, panels: Array<BasicPanelItem>): void;
8
+ }
@@ -0,0 +1,9 @@
1
+ import { BasePlugin, BasicPanelItem, RendererJSONSchemaResolveEventContext, BuildPanelEventContext } from '../../plugin';
2
+ /**
3
+ * 添加源码编辑功能
4
+ */
5
+ export declare class CodePlugin extends BasePlugin {
6
+ order: number;
7
+ buildJSONSchema({ info }: RendererJSONSchemaResolveEventContext): string | undefined;
8
+ buildEditorPanel({ info, selections }: BuildPanelEventContext, panels: Array<BasicPanelItem>): void;
9
+ }
@@ -0,0 +1,8 @@
1
+ import { BasePlugin, BasicPanelItem, BuildPanelEventContext } from '../../plugin';
2
+ /**
3
+ * 添加名字面板,方便根据组件名字定位节点
4
+ */
5
+ export declare class NamePlugin extends BasePlugin {
6
+ order: number;
7
+ buildEditorPanel({ info, selections }: BuildPanelEventContext, panels: Array<BasicPanelItem>): void;
8
+ }
@@ -1,4 +1,3 @@
1
- import { SchemaObject } from 'amis';
2
1
  import { BasePlugin, BaseEventContext, BasicPanelItem, RegionConfig, BuildPanelEventContext } from '../plugin';
3
2
  export declare class PanelPlugin extends BasePlugin {
4
3
  rendererName: string;
@@ -8,8 +7,21 @@ export declare class PanelPlugin extends BasePlugin {
8
7
  description: string;
9
8
  docLink: string;
10
9
  tags: string;
11
- scaffold: SchemaObject;
12
- previewSchema: SchemaObject;
10
+ scaffold: {
11
+ type: string;
12
+ title: string;
13
+ body: string;
14
+ };
15
+ previewSchema: {
16
+ type: string;
17
+ title: string;
18
+ body: string;
19
+ className: string;
20
+ actions: {
21
+ label: string;
22
+ type: string;
23
+ }[];
24
+ };
13
25
  regions: Array<RegionConfig>;
14
26
  panelTitle: string;
15
27
  panelBodyCreator: (context: BaseEventContext) => any[];
@@ -2,6 +2,7 @@ import { BaseEventContext, BasePlugin } from '../plugin';
2
2
  export declare class PlainPlugin extends BasePlugin {
3
3
  rendererName: string;
4
4
  $schema: string;
5
+ disabledRendererPlugin: boolean;
5
6
  name: string;
6
7
  icon: string;
7
8
  description: string;
@@ -1,6 +1,7 @@
1
1
  import { ButtonPlugin } from './Button';
2
2
  export declare class ResetPlugin extends ButtonPlugin {
3
3
  rendererName: string;
4
+ disabledRendererPlugin: boolean;
4
5
  name: string;
5
6
  icon: string;
6
7
  description: string;
@@ -33,11 +33,5 @@ export declare class StepsPlugin extends BasePlugin {
33
33
  })[];
34
34
  };
35
35
  panelTitle: string;
36
- panelBody: {
37
- type: string;
38
- tabs: {
39
- title: string;
40
- body: any[];
41
- }[];
42
- }[];
36
+ panelBody: any[];
43
37
  }
@@ -1,6 +1,7 @@
1
1
  import { ButtonPlugin } from './Button';
2
2
  export declare class SubmitPlugin extends ButtonPlugin {
3
3
  rendererName: string;
4
+ disabledRendererPlugin: boolean;
4
5
  name: string;
5
6
  description: string;
6
7
  docLink: string;
@@ -4,6 +4,5 @@ export declare class TableCellPlugin extends BasePlugin {
4
4
  panelIcon: string;
5
5
  panelBodyCreator: (context: BaseEventContext) => any[];
6
6
  getRendererInfo({ renderer, schema }: RendererInfoResolveEventContext): BasicRendererInfo | void;
7
- exchangeRenderer(id: string): void;
8
7
  beforeReplace(event: PluginEvent<ReplaceEventContext>): void;
9
8
  }
@@ -1,13 +1,16 @@
1
+ import { BaseEventContext } from '../plugin';
1
2
  import { DatePlugin } from './Date';
2
3
  export declare class TimePlugin extends DatePlugin {
3
4
  rendererName: string;
4
5
  name: string;
5
6
  scaffold: {
6
7
  type: string;
8
+ value: number;
7
9
  };
8
10
  previewSchema: {
9
11
  format: string;
10
12
  value: number;
11
13
  type: string;
12
14
  };
15
+ panelBodyCreator: (context: BaseEventContext) => any[];
13
16
  }
@@ -2,6 +2,7 @@ import { BasePlugin, RegionConfig } from '../plugin';
2
2
  export declare class WrapperPlugin extends BasePlugin {
3
3
  rendererName: string;
4
4
  $schema: string;
5
+ disabledRendererPlugin: boolean;
5
6
  name: string;
6
7
  description: string;
7
8
  tags: string[];
package/dist/plugin.d.ts CHANGED
@@ -57,7 +57,7 @@ export interface RegionConfig {
57
57
  optional?: boolean;
58
58
  /**
59
59
  * 有时候有些包括是需要其他条件的,所以要自己写包裹逻辑。
60
- * 比如 panel 里面的 renderBody
60
+ * 比如 Panel 里面的 renderBody
61
61
  */
62
62
  renderMethodOverride?: (regions: Array<RegionConfig>, insertRegion: (component: JSX.Element, dom: JSX.Element, regions: Array<RegionConfig>, info: RendererInfo, manager: EditorManager) => JSX.Element) => Function;
63
63
  /**
@@ -182,7 +182,7 @@ export interface RendererInfo extends RendererScaffoldInfo {
182
182
  *
183
183
  * 表格的列,即是表格列,也可能是其他文本框。
184
184
  *
185
- * 配置了这个后会自动添加多个 panel 面板来编辑。
185
+ * 配置了这个后会自动添加多个 Panel 面板来编辑。
186
186
  */
187
187
  multifactor?: boolean;
188
188
  /**
@@ -253,6 +253,10 @@ export interface SubRendererInfo extends RendererScaffoldInfo {
253
253
  * 首次拖入的时候可以用来配置个表单。
254
254
  */
255
255
  scaffoldForm?: ScaffoldForm;
256
+ /**
257
+ * 新增属性,用于判断是否出现在组件面板中,默认为false,为ture则不展示
258
+ */
259
+ disabledRendererPlugin?: boolean;
256
260
  plugin: PluginInterface;
257
261
  parent: RendererInfo;
258
262
  id: string;
@@ -271,6 +275,7 @@ export interface ToolbarItem {
271
275
  draggable?: boolean;
272
276
  onDragStart?: (e: React.DragEvent) => void;
273
277
  icon: string;
278
+ iconSvg?: string;
274
279
  onClick?: (e: React.MouseEvent) => void;
275
280
  tooltip?: string;
276
281
  placement?: 'top' | 'bottom' | 'right' | 'left';
@@ -284,6 +289,7 @@ export interface PanelProps {
284
289
  id?: string;
285
290
  info?: RendererInfo;
286
291
  path?: string;
292
+ node?: EditorNodeType;
287
293
  value: BaseSchema;
288
294
  onChange: (value: BaseSchema, diff?: Array<DiffChange>) => void;
289
295
  store: EditorStoreType;
@@ -298,10 +304,11 @@ export interface PanelItem {
298
304
  key: string;
299
305
  icon: string;
300
306
  title: string;
301
- component?: React.ComponentType<PanelProps>;
307
+ component?: React.ComponentType<PanelProps | any>;
302
308
  order: number;
303
309
  position?: 'left' | 'right';
304
310
  render?: (props: PanelProps) => JSX.Element;
311
+ menus?: Array<any>;
305
312
  }
306
313
  export declare type BasicPanelItem = Omit<PanelItem, 'order'> & Partial<Pick<PanelItem, 'order'>>;
307
314
  export interface EventContext {
@@ -490,6 +497,10 @@ export interface PluginInterface extends Partial<BasicRendererInfo>, Partial<Bas
490
497
  */
491
498
  panelIcon?: string;
492
499
  panelTitle?: string;
500
+ /**
501
+ * 新增属性,用于判断是否出现在组件面板中,默认为false,为ture则不展示
502
+ */
503
+ disabledRendererPlugin?: boolean;
493
504
  /**
494
505
  * @deprecated 用 panelBody
495
506
  */
@@ -554,6 +565,14 @@ export declare abstract class BasePlugin implements PluginInterface {
554
565
  * @param subRenderers
555
566
  */
556
567
  buildSubRenderers(context: RendererEventContext, subRenderers: Array<SubRendererInfo>, renderers: Array<RendererConfig>): BasicSubRenderInfo | Array<BasicSubRenderInfo> | void;
568
+ /**
569
+ * 构建当前选中组件的右键菜单
570
+ * @param id
571
+ * @param schema
572
+ * @param region
573
+ * @param info
574
+ * @param menus
575
+ */
557
576
  buildEditorContextMenu({ id, schema, region, info }: ContextMenuEventContext, menus: Array<ContextMenuItem>): void;
558
577
  renderPlaceholder(text: string, key?: any): React.DetailedReactHTMLElement<{
559
578
  key: any;
@@ -140,6 +140,8 @@ export declare const EditorStore: import("mobx-state-tree").IModelType<{
140
140
  hoverId: import("mobx-state-tree").IType<string | undefined, string, string>;
141
141
  hoverRegion: import("mobx-state-tree").IType<string | undefined, string, string>;
142
142
  activeId: import("mobx-state-tree").IType<string | undefined, string, string>;
143
+ activeRegion: import("mobx-state-tree").IType<string | undefined, string, string>;
144
+ mouseMoveRegion: import("mobx-state-tree").IType<string | undefined, string, string>;
143
145
  selections: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<string[], string[], string[]>, [undefined]>;
144
146
  contextId: import("mobx-state-tree").IType<string | undefined, string, string>;
145
147
  dragMode: import("mobx-state-tree").IType<string | undefined, string, string>;
@@ -165,10 +167,12 @@ export declare const EditorStore: import("mobx-state-tree").IModelType<{
165
167
  toolbars: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<ToolbarItem[], ToolbarItem[], ToolbarItem[]>, [undefined]>;
166
168
  panels: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<PanelItem[], PanelItem[], PanelItem[]>, [undefined]>;
167
169
  subRenderersKeywords: import("mobx-state-tree").IType<string | undefined, string, string>;
170
+ subRenderersTag: import("mobx-state-tree").IType<string | undefined, string, string>;
168
171
  subRendererRegion: import("mobx-state-tree").IType<string | undefined, string, string>;
169
172
  subRenderers: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").IType<SubRendererInfo[], SubRendererInfo[], SubRendererInfo[]>, [undefined]>;
170
173
  panelKey: import("mobx-state-tree").IType<string | undefined, string, string>;
171
174
  leftPanelKey: import("mobx-state-tree").IType<string | undefined, string, string>;
175
+ leftPanelOpenStatus: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
172
176
  jsonSchemaUri: import("mobx-state-tree").IType<string | undefined, string, string>;
173
177
  scaffoldForm: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IType<ScaffoldFormContext, ScaffoldFormContext, ScaffoldFormContext>>;
174
178
  scaffoldFormBuzy: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
@@ -186,6 +190,7 @@ export declare const EditorStore: import("mobx-state-tree").IModelType<{
186
190
  isContextOn(id: string): boolean | "";
187
191
  readonly activeContainerId: string;
188
192
  isRegionHighlighted(id: string, region: string): boolean;
193
+ isRegionHighlightHover(id: string, region: string): boolean;
189
194
  isRegionActive(id: string, region: string): boolean;
190
195
  isRegionDragEnter(id: string, region: string): boolean;
191
196
  readonly highlightNodes: ({
@@ -354,6 +359,7 @@ export declare const EditorStore: import("mobx-state-tree").IModelType<{
354
359
  getLeftPanelKey(): string;
355
360
  readonly leftPanels: PanelItem[];
356
361
  readonly rightPanels: PanelItem[];
362
+ readonly contextMenuPanel: PanelItem | undefined;
357
363
  getPanels(): Array<PanelItem>;
358
364
  getLeftPanels(): Array<PanelItem>;
359
365
  readonly sortedToolbars: ToolbarItem[];
@@ -837,6 +843,10 @@ export declare const EditorStore: import("mobx-state-tree").IModelType<{
837
843
  readonly dragging: boolean;
838
844
  readonly needPatch: boolean;
839
845
  readonly schemaRaw: any;
846
+ readonly subRenderersByOrder: SubRendererInfo[];
847
+ groupedSubRenderersByKeyword(_subRenderers?: SubRendererInfo[] | undefined, keywords?: string | undefined): {
848
+ [propName: string]: SubRendererInfo[];
849
+ };
840
850
  readonly groupedSubRenderers: {
841
851
  [propName: string]: SubRendererInfo[];
842
852
  };
@@ -862,10 +872,11 @@ export declare const EditorStore: import("mobx-state-tree").IModelType<{
862
872
  setSchema(json: any): void;
863
873
  insertSchema(event: PluginEvent<InsertEventContext>): any;
864
874
  moveSchema(event: PluginEvent<MoveEventContext>): void;
865
- setActiveId(id: string, selections?: Array<string>): void;
875
+ setActiveId(id: string, region?: string, selections?: Array<string>): void;
866
876
  setSelections(ids: Array<string>): void;
867
877
  clearSelection(): void;
868
878
  setHoverId(id: string, region?: string | undefined): void;
879
+ setMouseMoveRegion(region: string): void;
869
880
  setInsertId(id: string): void;
870
881
  setContextId(id: string): void;
871
882
  setDragId(id: string, mode?: 'move' | 'copy', type?: string, schema?: any): void;
@@ -875,10 +886,13 @@ export declare const EditorStore: import("mobx-state-tree").IModelType<{
875
886
  setPanels(panels: Array<PanelItem>): void;
876
887
  setSubRenderers(renderers: Array<SubRendererInfo>): void;
877
888
  changeSubRenderersKeywords(keywords: string): void;
889
+ changeSubRenderersTag(tag: string): void;
878
890
  resetSubRenderersKeywords(): void;
879
891
  changeSubRendererRegion(region: string): void;
880
- changePanelKey(key: string, force?: boolean): void;
881
- changeLeftPanelKey(key: string, force?: boolean): void;
892
+ changePanelKey(key: string): void;
893
+ changeLeftPanelKey(key: string): void;
894
+ changeLeftPanelOpenStatus(isOpenStatus: boolean): void;
895
+ showRendererPanel(tag?: string | undefined, msg?: string | undefined): void;
882
896
  changeValue(value: Schema, diff?: any): void;
883
897
  changeValueById(id: string, value: Schema, diff?: any, replace?: boolean | undefined, noTrace?: boolean | undefined): void;
884
898
  moveUp(id: string): void;