@chamn/engine 0.0.46 → 0.1.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 (55) hide show
  1. package/README.md +5 -2
  2. package/dist/component/CSSEditor/index.d.ts +1 -1
  3. package/dist/component/CSSSizeInput/index.d.ts +1 -1
  4. package/dist/component/CSSUIPanel/BackgroundInput/index.d.ts +3 -1
  5. package/dist/component/CSSUIPanel/BorderInput/index.d.ts +3 -1
  6. package/dist/component/CSSUIPanel/FontInput/index.d.ts +3 -1
  7. package/dist/component/CSSUIPanel/MarginAndPaddingInput/index.d.ts +1 -1
  8. package/dist/component/CSSUIPanel/type.d.ts +1 -0
  9. package/dist/component/CustomColorPicker/index.d.ts +8 -0
  10. package/dist/component/CustomSchemaForm/components/Form/Field/index.d.ts +1 -1
  11. package/dist/component/CustomSchemaForm/components/SetterSwitcher/index.d.ts +1 -1
  12. package/dist/component/CustomSchemaForm/components/Setters/ArraySetter/ArrayItem.d.ts +1 -1
  13. package/dist/component/CustomSchemaForm/components/Setters/ArraySetter/SortItemOrderModal.d.ts +1 -2
  14. package/dist/component/CustomSchemaForm/components/Setters/ArraySetter/index.d.ts +1 -2
  15. package/dist/component/CustomSchemaForm/components/Setters/index.d.ts +1 -1
  16. package/dist/component/DesignerSizer/index.d.ts +4 -0
  17. package/dist/component/InputNumberPlus/index.d.ts +1 -2
  18. package/dist/component/MonacoEditor/index.d.ts +1 -2
  19. package/dist/component/Workbench/index.d.ts +1 -1
  20. package/dist/component/index.d.ts +8 -0
  21. package/dist/index.d.ts +8 -23
  22. package/dist/index.js +82 -63
  23. package/dist/index.js.map +1 -1
  24. package/dist/index.mjs +17082 -15763
  25. package/dist/index.mjs.map +1 -1
  26. package/dist/material/innerMaterial.d.ts +1 -1
  27. package/dist/plugins/AdvancePanel/index.d.ts +1 -2
  28. package/dist/plugins/ComponentLibrary/components/DragItem/index.d.ts +1 -1
  29. package/dist/plugins/ComponentLibrary/components/ListView/index.d.ts +1 -2
  30. package/dist/plugins/ComponentStatePanel/index.d.ts +1 -2
  31. package/dist/plugins/Designer/components/Canvas/advanceCustomHook.d.ts +1 -0
  32. package/dist/plugins/Designer/components/Canvas/index.d.ts +4 -6
  33. package/dist/plugins/Designer/components/DefaultSelectToolBar/index.d.ts +8 -6
  34. package/dist/plugins/Designer/components/GhostView/index.d.ts +1 -2
  35. package/dist/plugins/Designer/type.d.ts +4 -1
  36. package/dist/plugins/DisplaySourceSchema/index.d.ts +2 -2
  37. package/dist/plugins/GlobalStatePanel/index.d.ts +0 -1
  38. package/dist/plugins/Hotkeys/action.d.ts +11 -0
  39. package/dist/plugins/Hotkeys/hotKeyManager.d.ts +35 -0
  40. package/dist/plugins/Hotkeys/index.d.ts +2 -0
  41. package/dist/plugins/Hotkeys/keymap.d.ts +20 -0
  42. package/dist/plugins/Hotkeys/localize/en_US/index.d.ts +1 -0
  43. package/dist/plugins/Hotkeys/localize/index.d.ts +2 -0
  44. package/dist/plugins/Hotkeys/localize/zh_CN/index.d.ts +1 -0
  45. package/dist/plugins/Hotkeys/utils.d.ts +4 -0
  46. package/dist/plugins/OutlineTree/components/TreeView/index.d.ts +1 -1
  47. package/dist/plugins/OutlineTree/components/TreeView/treeNode.d.ts +1 -2
  48. package/dist/plugins/OutlineTree/index.d.ts +0 -1
  49. package/dist/plugins/PropertyPanel/index.d.ts +1 -2
  50. package/dist/plugins/RightPanel/view.d.ts +1 -1
  51. package/dist/plugins/VisualPanelPlus/index.d.ts +1 -2
  52. package/dist/plugins/index.d.ts +14 -1
  53. package/dist/style.css +1 -1
  54. package/dist/type.d.ts +25 -0
  55. package/package.json +12 -12
@@ -1,2 +1,2 @@
1
1
  import { CMaterialType } from '@chamn/model';
2
- export declare const InnerComponentMeta: CMaterialType<"">[];
2
+ export declare const InnerComponentMeta: CMaterialType[];
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { CNode, CRootNode } from '@chamn/model';
3
2
  import { CPluginCtx } from '../../core/pluginManager';
4
3
  import { CRightPanelItem } from '../RightPanel/view';
@@ -6,5 +5,5 @@ export type AdvancePanelProps = {
6
5
  node: CNode | CRootNode | null;
7
6
  pluginCtx: CPluginCtx;
8
7
  };
9
- export declare const AdvancePanel: (props: AdvancePanelProps) => JSX.Element;
8
+ export declare const AdvancePanel: (props: AdvancePanelProps) => import("react/jsx-runtime").JSX.Element;
10
9
  export declare const AdvancePanelConfig: CRightPanelItem;
@@ -8,5 +8,5 @@ export type DragComponentItemProps = {
8
8
  style?: React.CSSProperties;
9
9
  containerClassName?: string;
10
10
  };
11
- export declare const DragComponentItem: (props: DragComponentItemProps) => JSX.Element;
11
+ export declare const DragComponentItem: (props: DragComponentItemProps) => import("react/jsx-runtime").JSX.Element;
12
12
  export declare const DRAG_ITEM_KEY = "data-drag-key";
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { SnippetsType } from '@chamn/model';
3
2
  export type ListViewProps = {
4
3
  dataSource: {
@@ -6,4 +5,4 @@ export type ListViewProps = {
6
5
  list: SnippetsType[];
7
6
  }[];
8
7
  };
9
- export declare const ListView: (props: ListViewProps) => JSX.Element | null;
8
+ export declare const ListView: (props: ListViewProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { CNode, CRootNode } from '@chamn/model';
3
2
  import { CPluginCtx } from '../../core/pluginManager';
4
3
  import { CRightPanelItem } from '../RightPanel/view';
@@ -6,5 +5,5 @@ export type ComponentStatePanelProps = {
6
5
  node: CNode | CRootNode | null;
7
6
  pluginCtx: CPluginCtx;
8
7
  };
9
- export declare const ComponentStatePanel: (props: ComponentStatePanelProps) => JSX.Element;
8
+ export declare const ComponentStatePanel: (props: ComponentStatePanelProps) => import("react/jsx-runtime").JSX.Element;
10
9
  export declare const ComponentStatePanelConfig: CRightPanelItem;
@@ -39,6 +39,7 @@ export declare class AdvanceCustomHook {
39
39
  visibleItem: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
40
40
  nodeLayout: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
41
41
  };
42
+ toolBarItemList: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>[];
42
43
  }) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>) | null | undefined;
43
44
  onCopy(node: CNode | CRootNode): Promise<false | CNode | CRootNode>;
44
45
  onDelete(node: CNode | CRootNode): Promise<false | CNode | CRootNode>;
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Layout, LayoutPropsType } from '@chamn/layout';
3
3
  import { AdvanceCustom, CNode, CPage, CRootNode } from '@chamn/model';
4
- import { AssetPackage } from '@chamn/model';
5
4
  import { CPluginCtx } from '../../../../core/pluginManager';
6
5
  import { AdvanceCustomHook } from './advanceCustomHook';
7
6
  import { DesignerPluginConfig } from '../../type';
@@ -37,9 +36,8 @@ export declare class Designer extends React.Component<DesignerPropsType, Designe
37
36
  */
38
37
  updateRenderComponents(newComponentMap?: Record<string, any>): Promise<void>;
39
38
  componentDidMount(): void;
40
- reloadRender({ assets }: {
41
- assets?: AssetPackage[];
42
- }): void;
39
+ getIframeDom(): import("@chamn/layout").IFrameContainer | undefined;
40
+ reloadRender(): void;
43
41
  init(): Promise<void>;
44
42
  onNodeDragging: LayoutPropsType['onNodeDragging'];
45
43
  onNodeDragEnd: LayoutPropsType['onNodeDraEnd'];
@@ -51,13 +49,13 @@ export declare class Designer extends React.Component<DesignerPropsType, Designe
51
49
  toCopyNode: (id: string) => Promise<void>;
52
50
  toDeleteNode: (nodeId: string) => Promise<void>;
53
51
  toHidden: (id: string) => void;
54
- getToolbarView: (node: CNode | CRootNode) => JSX.Element;
52
+ getToolbarView: (node: CNode | CRootNode) => import("react/jsx-runtime").JSX.Element;
55
53
  onHoverNode: LayoutPropsType['onHoverNode'];
56
54
  nodeCanDrag: LayoutPropsType['nodeCanDrag'];
57
55
  nodeCanDrop: LayoutPropsType['nodeCanDrop'];
58
56
  innerSelectRectViewRender: LayoutPropsType['selectRectViewRender'];
59
57
  innerHoverRectViewRender: LayoutPropsType['hoverRectViewRender'];
60
58
  innerDropViewRender: LayoutPropsType['dropViewRender'];
61
- render(): JSX.Element;
59
+ render(): import("react/jsx-runtime").JSX.Element;
62
60
  }
63
61
  export {};
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { CNode } from '@chamn/model';
3
2
  export type DefaultSelectToolBarProps = {
4
3
  nodeList: CNode[];
@@ -8,9 +7,12 @@ export type DefaultSelectToolBarProps = {
8
7
  toHidden: (idd: string) => void;
9
8
  };
10
9
  export declare const getDefaultToolbarItem: (props: DefaultSelectToolBarProps) => {
11
- copyItem: JSX.Element;
12
- deleteItem: JSX.Element;
13
- visibleItem: JSX.Element;
14
- nodeLayout: JSX.Element;
10
+ map: {
11
+ copyItem: import("react/jsx-runtime").JSX.Element;
12
+ deleteItem: import("react/jsx-runtime").JSX.Element;
13
+ visibleItem: import("react/jsx-runtime").JSX.Element;
14
+ nodeLayout: import("react/jsx-runtime").JSX.Element;
15
+ };
16
+ list: import("react/jsx-runtime").JSX.Element[];
15
17
  };
16
- export declare const DefaultSelectToolBar: (props: DefaultSelectToolBarProps) => JSX.Element;
18
+ export declare const DefaultSelectToolBar: (props: DefaultSelectToolBarProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,4 @@
1
- /// <reference types="react" />
2
1
  import { CNode, CRootNode } from '@chamn/model';
3
2
  export declare const GhostView: ({ node }: {
4
3
  node: CNode | CRootNode;
5
- }) => JSX.Element;
4
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { CPlugin, PluginInstance } from '../../core/pluginManager';
3
- import { DragAndDrop, Layout, LayoutPropsType } from '@chamn/layout';
3
+ import { DragAndDrop, IFrameContainer, Layout, LayoutPropsType } from '@chamn/layout';
4
4
  import { AdvanceCustom, AssetPackage, CPageDataType } from '@chamn/model';
5
5
  import { RenderInstance } from '@chamn/render';
6
6
  import { Designer } from './components/Canvas';
@@ -19,7 +19,10 @@ export type DesignerExport = {
19
19
  getDynamicComponentInstances: (id: string) => RenderInstance;
20
20
  getLayoutRef: () => React.RefObject<Layout>;
21
21
  getDesignerWindow: () => Window | null;
22
+ getIframeDom: () => IFrameContainer | undefined;
22
23
  updateRenderComponents: (newComponentMap: Record<string, string>) => void;
24
+ /** set canvas width, width must below visible area width*/
25
+ setCanvasWidth: (width: number | string) => void;
23
26
  };
24
27
  export type DesignerPluginConfig = Omit<LayoutPropsType, 'selectRectViewRender' | 'hoverRectViewRender' | 'dropViewRender' | 'ghostView' | 'selectToolBarView' | 'hoverToolBarView'> & Pick<AdvanceCustom, 'selectRectViewRender' | 'hoverRectViewRender' | 'dropViewRender' | 'ghostViewRender' | 'toolbarViewRender'>;
25
28
  export type DesignerPluginType = CPlugin<DesignerPluginConfig, DesignerExport>;
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
2
  import { CPage } from '@chamn/model';
3
- import { EnginContext } from '../../index';
3
+ import { EnginContext } from '../../type';
4
4
  export type DisplaySourceSchemaProps = {
5
5
  pageModel: CPage;
6
6
  engineCtx: EnginContext;
7
7
  children: React.ReactNode;
8
8
  };
9
- export declare const DisplaySourceSchema: (props: DisplaySourceSchemaProps) => JSX.Element;
9
+ export declare const DisplaySourceSchema: (props: DisplaySourceSchemaProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,2 @@
1
1
  import { CPlugin } from '../../core/pluginManager';
2
- export declare const PLUGIN_NAME = "GlobalState";
3
2
  export declare const GlobalStatePanelPlugin: CPlugin;
@@ -0,0 +1,11 @@
1
+ import { CPluginCtx } from '../../core/pluginManager';
2
+ export declare const actionMap: {
3
+ deleteNode: (ctx: CPluginCtx) => Promise<true | undefined>;
4
+ copyNode: (ctx: CPluginCtx) => Promise<true | undefined>;
5
+ moveToUp: (ctx: CPluginCtx) => Promise<true | undefined>;
6
+ moveToSiblingUp: (ctx: CPluginCtx) => Promise<true | undefined>;
7
+ moveToDown: (ctx: CPluginCtx) => Promise<true | undefined>;
8
+ moveToSiblingDown: (ctx: CPluginCtx) => Promise<true | undefined>;
9
+ redo: (ctx: CPluginCtx) => Promise<true | undefined>;
10
+ undo: (ctx: CPluginCtx) => Promise<true | undefined>;
11
+ };
@@ -0,0 +1,35 @@
1
+ export declare class HotKeysManager {
2
+ private splitStr;
3
+ private downKeyCodeList;
4
+ private elements;
5
+ private disposeEventCbList;
6
+ /** 快捷操作按键记录 */
7
+ private hotActionMap;
8
+ constructor(options: {
9
+ elements: HTMLElement[];
10
+ customGetKeyCodeByEvent?: (event: KeyboardEvent) => number;
11
+ });
12
+ init(): void;
13
+ addElement(el: HTMLElement): void;
14
+ registerKeyEvent(el: HTMLElement): () => void;
15
+ /** 添加快捷操作 */
16
+ addHotAction(keys: (number | string)[], cb: () => void): void;
17
+ triggerHotKey(): void;
18
+ /**
19
+ * @param time ms
20
+ * @returns
21
+ */
22
+ getTriggerHotkeyDebounce(): () => void;
23
+ /** 根据可识别的字符串获取对应的键码 */
24
+ getKeyCodeByLabel(label: string): any;
25
+ getKeyString(code: number): string;
26
+ /**
27
+ * 表单控件控件判断
28
+ * 如果是编辑控件返回 true
29
+ * hotkey is effective only when filter return true
30
+ * @param event
31
+ * @returns
32
+ */
33
+ filterInputElement(event: KeyboardEvent): boolean;
34
+ destroy(): void;
35
+ }
@@ -0,0 +1,2 @@
1
+ import { CPlugin } from '../../core/pluginManager';
2
+ export declare const HotkeysPlugin: CPlugin;
@@ -0,0 +1,20 @@
1
+ export declare const _keyMap: Record<string, number>;
2
+ export declare const _modifier: any;
3
+ export declare const modifierMap: {
4
+ 16: string;
5
+ 18: string;
6
+ 17: string;
7
+ 91: string;
8
+ shiftKey: number;
9
+ ctrlKey: number;
10
+ altKey: number;
11
+ metaKey: number;
12
+ };
13
+ export declare const _mods: {
14
+ 16: boolean;
15
+ 18: boolean;
16
+ 17: boolean;
17
+ 91: boolean;
18
+ };
19
+ export declare const defaultGetCode: (x: string) => any;
20
+ export declare const getKeyString: (c: number) => string;
@@ -0,0 +1 @@
1
+ export declare const en_US: Record<string, any>;
@@ -0,0 +1,2 @@
1
+ declare const _default: Record<string, any>;
2
+ export default _default;
@@ -0,0 +1 @@
1
+ export declare const zh_CN: Record<string, any>;
@@ -0,0 +1,4 @@
1
+ export declare const isff: boolean;
2
+ export declare function getMods(modifier: string[], key: string[]): string[];
3
+ export declare function getKeys(key: string): string[];
4
+ export declare const getKeycode: (x: string) => any;
@@ -28,6 +28,6 @@ export declare class TreeView extends React.Component<TreeViewProps, ContextStat
28
28
  containNode: (parentNode: TreeNodeData, targetNode: TreeNodeData) => null;
29
29
  getTreeNodeByKey: (key: string) => TreeNodeData | null;
30
30
  registerDragEvent: () => Promise<void>;
31
- render(): JSX.Element;
31
+ render(): import("react/jsx-runtime").JSX.Element;
32
32
  }
33
33
  export {};
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { TreeNodeData } from './dataStruct';
3
2
  import { CPluginCtx } from '../../../../core/pluginManager';
4
3
  export declare const DRAG_ITEM_KEY = "data-drag-key";
@@ -8,4 +7,4 @@ export type TreeNodeProps = {
8
7
  paths?: (string | number)[];
9
8
  pluginCtx: CPluginCtx;
10
9
  };
11
- export declare const TreeNode: (props: TreeNodeProps) => JSX.Element;
10
+ export declare const TreeNode: (props: TreeNodeProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,2 @@
1
1
  import { CPlugin } from '../../core/pluginManager';
2
- export declare const PLUGIN_NAME = "OutlineTree";
3
2
  export declare const OutlineTreePlugin: CPlugin;
@@ -1,9 +1,8 @@
1
- /// <reference types="react" />
2
1
  import { CNode, CRootNode } from '@chamn/model';
3
2
  import { CPluginCtx } from '../../core/pluginManager';
4
3
  import { CRightPanelItem } from '../RightPanel/view';
5
4
  export declare const PropertyPanel: (props: {
6
5
  node: CNode | CRootNode | null;
7
6
  pluginCtx: CPluginCtx;
8
- }) => JSX.Element;
7
+ }) => import("react/jsx-runtime").JSX.Element;
9
8
  export declare const PropertyPanelConfig: CRightPanelItem;
@@ -34,6 +34,6 @@ export declare class RightPanel extends React.Component<RightPanelProps, RightPa
34
34
  };
35
35
  onNodeChange: ({ node }: any) => void;
36
36
  componentDidMount(): void;
37
- render(): JSX.Element;
37
+ render(): import("react/jsx-runtime").JSX.Element;
38
38
  }
39
39
  export {};
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { CRightPanelItem, RightPanelOptions } from '../RightPanel/view';
3
- export declare const VisualPanelPlus: (props: RightPanelOptions) => JSX.Element;
2
+ export declare const VisualPanelPlus: (props: RightPanelOptions) => import("react/jsx-runtime").JSX.Element;
4
3
  export declare const VisualPanelPlusConfig: CRightPanelItem;
@@ -5,5 +5,18 @@ import { RightPanelPlugin } from './RightPanel';
5
5
  import { GlobalStatePanelPlugin } from './GlobalStatePanel';
6
6
  import { DisplaySourceSchema } from './DisplaySourceSchema';
7
7
  import { HistoryPlugin } from './History';
8
+ import { HotkeysPlugin } from './Hotkeys';
8
9
  export declare const DEFAULT_PLUGIN_LIST: CPlugin[];
9
- export { DesignerPlugin, ComponentLibPlugin, RightPanelPlugin, GlobalStatePanelPlugin, HistoryPlugin, DisplaySourceSchema, };
10
+ export { DesignerPlugin, ComponentLibPlugin, RightPanelPlugin, GlobalStatePanelPlugin, HistoryPlugin, DisplaySourceSchema, HotkeysPlugin, };
11
+ export * from './AdvancePanel/index';
12
+ export * from './ComponentLibrary/index';
13
+ export * from './ComponentStatePanel/index';
14
+ export * from './Designer/index';
15
+ export * from './DisplaySourceSchema/index';
16
+ export * from './GlobalStatePanel/index';
17
+ export * from './History';
18
+ export * from './OutlineTree';
19
+ export * from './PropertyPanel';
20
+ export * from './RightPanel';
21
+ export * from './VisualPanelPlus';
22
+ export * from './Hotkeys';
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";._workbenchContainer_b7h5o_2{width:100%;height:100%;display:flex;flex-direction:column}._workbenchContainer_b7h5o_2 ._topToolBarBox_b7h5o_8{height:64px;width:100%;border-bottom:1px solid rgb(233,233,233);display:flex}._workbenchContainer_b7h5o_2 ._topToolBarBox_b7h5o_8 ._topToolBarView_b7h5o_14{flex:1}._workbenchContainer_b7h5o_2 ._bodyContent_b7h5o_17{display:flex;width:100%;flex:1;overflow:hidden}._workbenchContainer_b7h5o_2 ._bodyContent_b7h5o_17 ._leftBox_b7h5o_23{position:relative;display:flex;background-color:#fff;z-index:100}._workbenchContainer_b7h5o_2 ._bodyContent_b7h5o_17 ._leftBox_b7h5o_23 ._pluginIconBar_b7h5o_29{width:50px;height:100%;border-right:1px solid rgb(233,233,233)}._workbenchContainer_b7h5o_2 ._bodyContent_b7h5o_17 ._leftBox_b7h5o_23 ._pluginIconBar_b7h5o_29 ._pluginIconItem_b7h5o_34{position:relative;cursor:pointer;width:50px;height:50px;display:flex;align-items:center;justify-content:center;transition:all .1s}._workbenchContainer_b7h5o_2 ._bodyContent_b7h5o_17 ._leftBox_b7h5o_23 ._pluginIconBar_b7h5o_29 ._pluginIconItem_b7h5o_34._active_b7h5o_44 :before,._workbenchContainer_b7h5o_2 ._bodyContent_b7h5o_17 ._leftBox_b7h5o_23 ._pluginIconBar_b7h5o_29 ._pluginIconItem_b7h5o_34:hover :before{transition:all .1s;display:block;content:"";width:2px;height:100%;position:absolute;left:0;top:0}._workbenchContainer_b7h5o_2 ._bodyContent_b7h5o_17 ._leftBox_b7h5o_23 ._pluginIconBar_b7h5o_29 ._pluginIconItem_b7h5o_34._active_b7h5o_44 :before{border-left:4px solid #1677ff!important}._workbenchContainer_b7h5o_2 ._bodyContent_b7h5o_17 ._leftBox_b7h5o_23 ._pluginIconBar_b7h5o_29 ._pluginIconItem_b7h5o_34:hover :before{border-left:4px solid rgba(22,119,255,.3)}._workbenchContainer_b7h5o_2 ._bodyContent_b7h5o_17 ._leftBox_b7h5o_23 ._pluginPanelBoxResizeBox_b7h5o_60{display:flex;flex-direction:column;background-color:#fff;z-index:100;border-right:1px solid rgb(233,233,233)}._workbenchContainer_b7h5o_2 ._bodyContent_b7h5o_17 ._leftBox_b7h5o_23 ._pluginPanelBoxResizeBox_b7h5o_60 ._pluginHeader_b7h5o_67{display:flex;color:#686868;height:30px;margin:10px;overflow:hidden;align-items:center}._workbenchContainer_b7h5o_2 ._bodyContent_b7h5o_17 ._leftBox_b7h5o_23 ._pluginPanelBoxResizeBox_b7h5o_60 ._pluginHeader_b7h5o_67 ._pluginNameText_b7h5o_75{font-size:16px;font-weight:700;margin-right:auto;flex-wrap:nowrap;word-break:keep-all}._workbenchContainer_b7h5o_2 ._bodyContent_b7h5o_17 ._leftBox_b7h5o_23 ._pluginPanelBoxResizeBox_b7h5o_60 ._pluginHeader_b7h5o_67 ._closeBtn_b7h5o_82,._workbenchContainer_b7h5o_2 ._bodyContent_b7h5o_17 ._leftBox_b7h5o_23 ._pluginPanelBoxResizeBox_b7h5o_60 ._pluginHeader_b7h5o_67 ._fixedBtn_b7h5o_83{color:#686868}._workbenchContainer_b7h5o_2 ._bodyContent_b7h5o_17 ._leftBox_b7h5o_23 ._pluginPanelBoxResizeBox_b7h5o_60 ._pluginHeader_b7h5o_67 ._fixedBtn_b7h5o_83>*{transition:all .1s}._workbenchContainer_b7h5o_2 ._bodyContent_b7h5o_17 ._leftBox_b7h5o_23 ._pluginPanelBoxResizeBox_b7h5o_60 ._pluginHeader_b7h5o_67 ._fixedBtn_b7h5o_83>._active_b7h5o_44{transform:rotate(-45deg)}._workbenchContainer_b7h5o_2 ._bodyContent_b7h5o_17 ._leftBox_b7h5o_23 ._pluginPanelBox_b7h5o_60{width:100%;flex:1;background-color:#f8f8ff;overflow:hidden}._workbenchContainer_b7h5o_2 ._bodyContent_b7h5o_17 ._rightResizeBox_b7h5o_98{position:relative}._workbenchContainer_b7h5o_2 ._bodyContent_b7h5o_17 ._rightResizeBox_b7h5o_98 ._arrowCursor_b7h5o_101{cursor:pointer;position:absolute;left:-18px;top:50%;transform:translateY(-50%);z-index:2;background-color:#fff;padding:10px 3px;border-radius:4px 0 0 4px;font-size:12px}._workbenchContainer_b7h5o_2 ._bodyContent_b7h5o_17 ._rightResizeBox_b7h5o_98 ._arrowCursor_b7h5o_101>._active_b7h5o_44{transform:rotate(-180deg)}._workbenchContainer_b7h5o_2 ._bodyContent_b7h5o_17 ._rightResizeBox_b7h5o_98 ._rightBox_b7h5o_116{position:relative;width:100%;height:100%;border-left:1px rgb(233,233,233) solid}._workbenchContainer_b7h5o_2 ._bodyContent_b7h5o_17 ._centerBox_b7h5o_122{display:flex;flex-direction:column;flex:1;overflow:hidden}._workbenchContainer_b7h5o_2 ._bodyContent_b7h5o_17 ._centerBox_b7h5o_122 ._subTopToolbarBox_b7h5o_128{width:100%;height:50px;background-color:#fff}._workbenchContainer_b7h5o_2 ._bodyContent_b7h5o_17 ._centerBox_b7h5o_122 ._canvasBox_b7h5o_133{width:100%;flex:1;overflow:hidden;padding:20px 30px;background-color:#edeff3}._workbenchContainer_b7h5o_2 ._bodyContent_b7h5o_17 ._centerBox_b7h5o_122 ._canvasBox_b7h5o_133 ._scrollBox_b7h5o_140{width:100%;height:100%;box-shadow:0 1px 4px #1f325821}._customViewBox_b7h5o_146{position:fixed;width:100%;height:100%;top:0;left:0;pointer-events:none}._engineContainer_f3ly9_2{color:#686868;font-size:14px;width:100%;height:100%;overflow:hidden}._engineContainer_f3ly9_2 *{box-sizing:border-box}._container_191p3_2{width:100%;height:100%;overflow:hidden;background-color:#fff;display:flex}._container_191p3_2 .ant-tabs .ant-tabs-tab+.ant-tabs-tab{margin-left:12px}._container_191p3_2 .ant-tabs-content.ant-tabs-content-top{height:100%;overflow:auto}._container_191p3_2 .ant-tabs-tab{padding:6px 0}._container_191p3_2 .ant-tabs-nav{margin-bottom:0}._tabTitle_191p3_23{padding:0 10px;font-size:12px;font-weight:400;text-rendering:optimizeLegibility}._square_1b87f_2{user-select:none;position:relative;flex:33.3% 0}._square_1b87f_2:before{content:"";padding-top:100%;float:left}._square_1b87f_2:after{content:"";display:block;clear:both}._componentItem_1b87f_18{user-select:none;overflow:hidden;position:absolute;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid rgb(233,233,233);border-bottom:1px solid rgb(233,233,233);transition:all .2s}._componentItem_1b87f_18:hover{box-shadow:0 6px 16px #00000026;border-color:transparent;cursor:grab}._componentItem_1b87f_18:active{cursor:grabbing}._iconImg_1b87f_41{width:100%}._iconBox_1b87f_45{width:60%;height:60%;overflow:hidden;display:flex;align-items:center;justify-content:center}._iconText_1b87f_54{font-size:18px;font-weight:bolder;color:#686868}._ListBox_1q7zr_2{display:flex;flex-wrap:wrap}._ListBox_1q7zr_2 .ant-collapse .ant-collapse-content>.ant-collapse-content-box{padding:0}._ListBox_1q7zr_2 .ant-collapse{border:none;background-color:#fff}._ListBox_1q7zr_2 .ant-collapse-header{padding:10px 16px!important}._ListBox_1q7zr_2 .ant-collapse-expand-icon{padding-inline-end:0!important}._ListBox_1q7zr_2 .ant-collapse-item{border-color:#e9e9e9}._collapsePanel_1q7zr_23{display:flex;flex-wrap:wrap}._toolBarBox_h5ljb_2{display:flex;margin-bottom:3px;margin-right:-2px;pointer-events:all;float:right}._item_h5ljb_10{background-color:#1677ff;color:#fff;padding:2px 3px;font-size:12px;overflow:hidden;margin-left:1px;cursor:pointer}._layoutSelectBox_h5ljb_20{position:relative;margin-right:1px;height:21px}._layoutSelectBox_h5ljb_20 ._hoverBox_h5ljb_25{transition:all .3s;position:absolute;left:0;top:0;white-space:nowrap;opacity:0;transform:translateY(-100%);pointer-events:none}._layoutSelectBox_h5ljb_20 ._hoverBox_h5ljb_25:hover,._layoutSelectBox_h5ljb_20 ._hoverBox_h5ljb_25._hoverBoxActive_h5ljb_35{opacity:1;pointer-events:all}._layoutSelectBox_h5ljb_20 ._hoverBox_h5ljb_25 ._hoverItem_h5ljb_39{background-color:#1677ff;padding:2px 3px;color:#fff;font-size:12px;margin-bottom:1px;cursor:pointer}._layoutSelectBox_h5ljb_20 ._placeholder_h5ljb_47{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:#1677ff;color:#fff;padding:2px 5px;font-size:12px;max-width:100px}._hoverTips_k3vn7_2{display:inline-block;color:#1677ff;opacity:.9;font-size:12px;margin-bottom:2px;background-color:#fff;padding:1px 3px;border-radius:2px}._highlightBox_whbf4_1{position:absolute;will-change:transform,width,height,left,right;outline:2px solid rgb(44,115,253)}._borderDrawBox_whbf4_7{position:absolute;left:0;height:100%;width:100%;z-index:99;pointer-events:none}._toolBox_whbf4_16{position:absolute;width:100%;left:0;top:0;box-sizing:border-box;transform:translateY(-100%)}._highlightBox_1dlxo_1{position:absolute;will-change:transform,width,height,left,right}._borderDrawBox_1dlxo_6{position:absolute;left:0;top:0;height:100%;width:100%;z-index:99;pointer-events:none}._toolBox_1dlxo_16{position:absolute;right:0;top:-20px;border:1px solid black;box-sizing:border-box}._horizontal_1dlxo_24._before_1dlxo_24{border-left:2px solid #1890ff}._horizontal_1dlxo_24._after_1dlxo_27{border-right:2px solid #1890ff}._vertical_1dlxo_31._before_1dlxo_24{border-top:2px solid #1890ff}._vertical_1dlxo_31._after_1dlxo_27{border-bottom:2px solid #1890ff}._current_1dlxo_38{border:none!important;background-color:#0084ff6b}._layoutContainer_l5f3t_1{position:relative;width:100%;height:100%;box-sizing:border-box;margin:0;padding:0}._elementHighlightBox_l5f3t_10{position:absolute;right:0;top:0;padding:10px}._iframeBox_l5f3t_17{position:relative}._contentBox_1tkrj_2{background-color:#fff;height:100%;border-top:1px solid rgb(233,233,233);overflow:auto;position:relative}._contentBox_1tkrj_2 *{transition:all .1s}._nodeBox_1tkrj_13{user-select:none;cursor:pointer}._nodeBox_1tkrj_13 ._toolbarBox_1tkrj_17{display:none;padding-right:10px}._nodeBox_1tkrj_13 ._iconItem_1tkrj_21{margin-right:8px}._nodeContent_1tkrj_25:hover ._toolbarBox_1tkrj_17{display:flex}._nodeContent_1tkrj_25{font-size:14px;cursor:pointer;display:flex;align-items:center}._nodeContent_1tkrj_25._selected_1tkrj_35{background-color:#dddddd3b}._nodeContent_1tkrj_25 ._nodeArrow_1tkrj_38{font-size:12px}._nodeContent_1tkrj_25 ._nodeArrow_1tkrj_38._expanded_1tkrj_41{transform-origin:center;transform:rotate(90deg)}._nodeContent_1tkrj_25 ._nodeRenderView_1tkrj_45{display:flex;align-items:center;height:26px;flex:1;flex-wrap:nowrap;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._nodeChildren_1tkrj_56{position:relative}._nodeChildren_1tkrj_56:before{display:block;position:absolute;left:13px;top:0;content:"";height:100%;width:1px;background-color:#e9e9e9}._nodeChildren_1tkrj_56._selected_1tkrj_35:before{background-color:#0000ff5c}._dropAnchorLine_1tkrj_73{width:100px;height:2px;background-color:#1890ff;position:fixed;z-index:99;pointer-events:none}._arrowSpan_1tkrj_82{position:relative;display:flex;align-items:center;justify-content:center}._arrowSpan_1tkrj_82:after{content:"";position:absolute;top:0px;right:0;bottom:0;left:-8px}._CFromRenderBox_1vsdm_2{padding:0 20px}._CFromRenderBox_1vsdm_2 .ant-collapse .ant-collapse-content>.ant-collapse-content-box{padding-right:5px}._CFromRenderBox_1vsdm_2 .ant-collapse>.ant-collapse-item:last-child>.ant-collapse-header{padding-right:5px}._dragItem_xzliq_2{cursor:grab;border:1px solid rgb(233,233,233);background-color:#fff;padding:10px;text-align:center;margin-bottom:10px;font-size:12px;border-radius:2px}._sortModalBox_xzliq_13{padding:20px 10px 10px;overflow:auto;max-height:500px}._addOneBtn_xzliq_19{width:100%;font-size:12px!important;color:#686868}._inputAuto_gk0d2_2{border-bottom:1px solid rgba(128,128,128,.23)}._active_gk0d2_6{border-bottom:1px solid rgb(128,177,255)}._cssSizeInput_1ig9c_2{display:inline-block}._cssSizeInput_1ig9c_2 ._unitSelect_1ig9c_5 .ant-select-focused .ant-select-selector{color:#000000ac}._cssSizeInput_1ig9c_2 ._unitSelect_1ig9c_5 .ant-select-selector{color:#585858!important;padding:0 0 0 3px!important;font-size:12px}._cssSizeInput_1ig9c_2 ._unitSelect_1ig9c_5 .ant-select-selection-item{padding-inline-end:10px!important}._cssSizeInput_1ig9c_2 ._unitSelect_1ig9c_5 .ant-select-arrow{inset-inline-end:3px!important}._inputNumberPlus_1hb66_2{display:flex}._inputNumberPlus_1hb66_2:hover ._delIcon_1hb66_5{display:block}._inputNumberPlus_1hb66_2 ._delIcon_1hb66_5{cursor:pointer;display:none}._fieldBox_nltxm_3{display:flex;flex-wrap:nowrap;flex-shrink:0;flex-grow:1;min-width:250px;align-items:center}._fieldBox_nltxm_3 ._label_nltxm_11{font-size:12px;color:#686868;padding-right:10px;user-select:none;width:60px;max-height:40px;word-break:break-all;text-overflow:ellipsis;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}._fieldBox_nltxm_3 ._tipsLabel_nltxm_25{text-decoration-line:underline;text-decoration-style:dashed;text-underline-offset:2px;cursor:help;word-break:break-all}._fieldBox_nltxm_3 ._content_nltxm_32{flex:1}._switchBtn_k17cr_2{color:#686868;font-size:12px;padding:0 5px 0 10px}._shapeFieldBox_k17cr_8,._collapseHeader_k17cr_9{color:#686868;display:flex;font-size:12px}._collapseHeader_k17cr_9{align-items:center}._CFromRenderBox_13lda_2 .ant-collapse .ant-collapse-content>.ant-collapse-content-box{padding-right:5px}._CFromRenderBox_13lda_2 .ant-collapse>.ant-collapse-item:last-child>.ant-collapse-header{padding:5px 5px 5px 10px;align-items:center}._CFromRenderBox_13lda_2 .ant-collapse>.ant-collapse-item:last-child>.ant-collapse-header .ant-collapse-expand-icon{padding-inline-end:4px}._advanceBox_9o3af_2{padding:0 20px}._advanceBox_9o3af_2 .ant-input-affix-wrapper .ant-input-prefix{margin-inline-end:0}._rightPanelContainer_1p332_2{height:100%;width:100%}._rightPanelContainer_1p332_2 .ant-tabs .ant-tabs-tab+.ant-tabs-tab{margin-left:0}._rightPanelContainer_1p332_2 .ant-tabs-content.ant-tabs-content-top{height:100%;overflow:auto}._rightPanelContainer_1p332_2 .ant-tabs .ant-tabs-tabpane{height:100%}._visualPanelBox_6q12v_2{padding:0 15px 300px}._visualPanelBox_6q12v_2 ._header_6q12v_5{color:#686868;display:flex}.ant-collapse .ant-collapse-item .ant-collapse-header{padding:5px 5px 5px 10px;align-items:center;color:#686868;font-size:12px}.ant-collapse .ant-collapse-item .ant-collapse-header .ant-collapse-expand-icon{padding-inline-end:4px}._cssFieldBox_tzq0n_2{display:flex;color:#686868!important}._cssFieldBox_tzq0n_2 .ant-select-selector input{color:#686868!important}._cssFieldBox_tzq0n_2 ._row_tzq0n_9{display:flex;padding-bottom:6px;align-items:center}._cssFieldBox_tzq0n_2 ._fieldLabel_tzq0n_14{display:inline-block;width:70px;flex-shrink:0;font-size:12px}._cssFieldBox_tzq0n_2 ._leftBox_tzq0n_20{flex:1}._cssFieldBox_tzq0n_2 ._rightBox_tzq0n_23{padding-left:10px}._cssFieldBox_tzq0n_2 ._inputBox_tzq0n_26{flex:1}._cssBox_tzq0n_30{overflow-x:hidden}._cssBox_tzq0n_30 .ant-collapse-borderless>.ant-collapse-item{border-bottom:1px solid #e4e4e4}._cssBox_tzq0n_30 .ant-collapse-borderless>.ant-collapse-item:last-child{border-bottom:none}._cssBox_tzq0n_30 .ant-collapse-content-box{padding-bottom:30px!important}._switchBtn_tzq0n_43{margin-top:10px;color:#686868;font-size:12px;padding:0 5px 0 10px}._cssFieldBox_1t7y7_2{display:flex;align-items:center;color:#686868!important}._cssFieldBox_1t7y7_2 .ant-select-selector{padding:0!important}._cssFieldBox_1t7y7_2 .ant-select-single .ant-select-selector .ant-select-selection-search{inset-inline-start:0px;inset-inline-end:0px}._cssFieldBox_1t7y7_2 .ant-select-selector input{color:#686868!important}._cssFieldBox_1t7y7_2 ._inputAuto_1t7y7_17{border-bottom:1px solid rgba(128,128,128,.23);transition:all .1s;height:30px}._cssFieldBox_1t7y7_2 ._inputAuto_1t7y7_17._error_1t7y7_22{border-bottom:1px solid red!important}._cssFieldBox_1t7y7_2 ._keyField_1t7y7_25{position:relative;font-size:14px;height:30px}._cssFieldBox_1t7y7_2 ._keyField_1t7y7_25._notEdit_1t7y7_30{border-bottom:1px solid transparent!important}._cssFieldBox_1t7y7_2 ._active_1t7y7_33{border-bottom:1px solid rgb(128,177,255)}._cssBox_1t7y7_37{overflow:hidden}._cssBox_1t7y7_37 .ant-collapse-borderless>.ant-collapse-item{border-bottom:1px solid #e4e4e4}._cssBox_1t7y7_37 .ant-collapse-borderless>.ant-collapse-item:last-child{border-bottom:none}._cssBox_1t7y7_37 .ant-collapse-content-box{padding-bottom:30px!important}._stateTag_5a8hc_2{position:relative}._stateTag_5a8hc_2 ._stateTagClose_5a8hc_5{position:absolute;right:-10px;top:-10px;background-color:#fff;color:#4d4d4d;opacity:0;font-size:20px;transform:scale(.6);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;border-radius:10px}._stateTag_5a8hc_2:hover ._stateTagClose_5a8hc_5{opacity:1}._label_1850u_2{width:60px;display:inline-block;color:#686868;font-size:14px;flex-shrink:0}._label_1850u_2._font_1850u_9{width:50px}._label_1850u_2._m-p_1850u_12{width:30px}._fontOption_1850u_16{display:inline-block;width:50px}._row_1850u_21{padding-bottom:10px}._CSSUIPanel_1850u_25 .ant-radio-button-wrapper{font-size:12px!important}._box_tl0hm_2{height:100%;width:100%;padding-right:10px;border-top:1px solid rgb(233,233,233);padding-top:10px;background-color:#fff}
1
+ @charset "UTF-8";._workbenchContainer_1wdwx_2{width:100%;height:100%;display:flex;flex-direction:column}._workbenchContainer_1wdwx_2 ._topToolBarBox_1wdwx_8{height:64px;width:100%;border-bottom:1px solid rgb(233,233,233);display:flex}._workbenchContainer_1wdwx_2 ._topToolBarBox_1wdwx_8 ._topToolBarView_1wdwx_14{flex:1}._workbenchContainer_1wdwx_2 ._bodyContent_1wdwx_17{display:flex;width:100%;flex:1;overflow:hidden}._workbenchContainer_1wdwx_2 ._bodyContent_1wdwx_17 ._leftBox_1wdwx_23{position:relative;display:flex;background-color:#fff;z-index:100}._workbenchContainer_1wdwx_2 ._bodyContent_1wdwx_17 ._leftBox_1wdwx_23 ._pluginIconBar_1wdwx_29{width:50px;height:100%;border-right:1px solid rgb(233,233,233)}._workbenchContainer_1wdwx_2 ._bodyContent_1wdwx_17 ._leftBox_1wdwx_23 ._pluginIconBar_1wdwx_29 ._pluginIconItem_1wdwx_34{position:relative;cursor:pointer;width:50px;height:50px;display:flex;align-items:center;justify-content:center;transition:all .1s}._workbenchContainer_1wdwx_2 ._bodyContent_1wdwx_17 ._leftBox_1wdwx_23 ._pluginIconBar_1wdwx_29 ._pluginIconItem_1wdwx_34._active_1wdwx_44 :before,._workbenchContainer_1wdwx_2 ._bodyContent_1wdwx_17 ._leftBox_1wdwx_23 ._pluginIconBar_1wdwx_29 ._pluginIconItem_1wdwx_34:hover :before{transition:all .1s;display:block;content:"";width:2px;height:100%;position:absolute;left:0;top:0}._workbenchContainer_1wdwx_2 ._bodyContent_1wdwx_17 ._leftBox_1wdwx_23 ._pluginIconBar_1wdwx_29 ._pluginIconItem_1wdwx_34._active_1wdwx_44 :before{border-left:4px solid #1677ff!important}._workbenchContainer_1wdwx_2 ._bodyContent_1wdwx_17 ._leftBox_1wdwx_23 ._pluginIconBar_1wdwx_29 ._pluginIconItem_1wdwx_34:hover :before{border-left:4px solid rgba(22,119,255,.3)}._workbenchContainer_1wdwx_2 ._bodyContent_1wdwx_17 ._leftBox_1wdwx_23 ._pluginPanelBoxResizeBox_1wdwx_60{display:flex;flex-direction:column;background-color:#fff;z-index:100;border-right:1px solid rgb(233,233,233)}._workbenchContainer_1wdwx_2 ._bodyContent_1wdwx_17 ._leftBox_1wdwx_23 ._pluginPanelBoxResizeBox_1wdwx_60 ._pluginHeader_1wdwx_67{display:flex;color:#686868;height:30px;margin:10px;overflow:hidden;align-items:center}._workbenchContainer_1wdwx_2 ._bodyContent_1wdwx_17 ._leftBox_1wdwx_23 ._pluginPanelBoxResizeBox_1wdwx_60 ._pluginHeader_1wdwx_67 ._pluginNameText_1wdwx_75{font-size:16px;font-weight:700;margin-right:auto;flex-wrap:nowrap;word-break:keep-all}._workbenchContainer_1wdwx_2 ._bodyContent_1wdwx_17 ._leftBox_1wdwx_23 ._pluginPanelBoxResizeBox_1wdwx_60 ._pluginHeader_1wdwx_67 ._closeBtn_1wdwx_82,._workbenchContainer_1wdwx_2 ._bodyContent_1wdwx_17 ._leftBox_1wdwx_23 ._pluginPanelBoxResizeBox_1wdwx_60 ._pluginHeader_1wdwx_67 ._fixedBtn_1wdwx_83{color:#686868}._workbenchContainer_1wdwx_2 ._bodyContent_1wdwx_17 ._leftBox_1wdwx_23 ._pluginPanelBoxResizeBox_1wdwx_60 ._pluginHeader_1wdwx_67 ._fixedBtn_1wdwx_83>*{transition:all .1s}._workbenchContainer_1wdwx_2 ._bodyContent_1wdwx_17 ._leftBox_1wdwx_23 ._pluginPanelBoxResizeBox_1wdwx_60 ._pluginHeader_1wdwx_67 ._fixedBtn_1wdwx_83>._active_1wdwx_44{transform:rotate(-45deg)}._workbenchContainer_1wdwx_2 ._bodyContent_1wdwx_17 ._leftBox_1wdwx_23 ._pluginPanelBox_1wdwx_60{width:100%;flex:1;background-color:#f8f8ff;overflow:hidden}._workbenchContainer_1wdwx_2 ._bodyContent_1wdwx_17 ._rightResizeBox_1wdwx_98{position:relative}._workbenchContainer_1wdwx_2 ._bodyContent_1wdwx_17 ._rightResizeBox_1wdwx_98 ._arrowCursor_1wdwx_101{cursor:pointer;position:absolute;left:-18px;top:50%;transform:translateY(-50%);z-index:2;background-color:#fff;padding:10px 3px;border-radius:4px 0 0 4px;font-size:12px}._workbenchContainer_1wdwx_2 ._bodyContent_1wdwx_17 ._rightResizeBox_1wdwx_98 ._arrowCursor_1wdwx_101>._active_1wdwx_44{transform:rotate(-180deg)}._workbenchContainer_1wdwx_2 ._bodyContent_1wdwx_17 ._rightResizeBox_1wdwx_98 ._rightBox_1wdwx_116{position:relative;width:100%;height:100%;border-left:1px rgb(233,233,233) solid}._workbenchContainer_1wdwx_2 ._bodyContent_1wdwx_17 ._centerBox_1wdwx_122{display:flex;flex-direction:column;flex:1;overflow:hidden}._workbenchContainer_1wdwx_2 ._bodyContent_1wdwx_17 ._centerBox_1wdwx_122 ._subTopToolbarBox_1wdwx_128{width:100%;height:50px;background-color:#fff}._workbenchContainer_1wdwx_2 ._bodyContent_1wdwx_17 ._centerBox_1wdwx_122 ._canvasBox_1wdwx_133{width:100%;flex:1;overflow:hidden;padding:20px 30px;background-color:#edeff3}._workbenchContainer_1wdwx_2 ._bodyContent_1wdwx_17 ._centerBox_1wdwx_122 ._canvasBox_1wdwx_133 ._scrollBox_1wdwx_140{width:100%;height:100%}._customViewBox_1wdwx_145{position:fixed;width:100%;height:100%;top:0;left:0;pointer-events:none}._engineContainer_f3ly9_2{color:#686868;font-size:14px;width:100%;height:100%;overflow:hidden}._engineContainer_f3ly9_2 *{box-sizing:border-box}._container_191p3_2{width:100%;height:100%;overflow:hidden;background-color:#fff;display:flex}._container_191p3_2 .ant-tabs .ant-tabs-tab+.ant-tabs-tab{margin-left:12px}._container_191p3_2 .ant-tabs-content.ant-tabs-content-top{height:100%;overflow:auto}._container_191p3_2 .ant-tabs-tab{padding:6px 0}._container_191p3_2 .ant-tabs-nav{margin-bottom:0}._tabTitle_191p3_23{padding:0 10px;font-size:12px;font-weight:400;text-rendering:optimizeLegibility}._square_1b87f_2{-webkit-user-select:none;user-select:none;position:relative;flex:33.3% 0}._square_1b87f_2:before{content:"";padding-top:100%;float:left}._square_1b87f_2:after{content:"";display:block;clear:both}._componentItem_1b87f_18{-webkit-user-select:none;user-select:none;overflow:hidden;position:absolute;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid rgb(233,233,233);border-bottom:1px solid rgb(233,233,233);transition:all .2s}._componentItem_1b87f_18:hover{box-shadow:0 6px 16px #00000026;border-color:transparent;cursor:grab}._componentItem_1b87f_18:active{cursor:grabbing}._iconImg_1b87f_41{width:100%}._iconBox_1b87f_45{width:60%;height:60%;overflow:hidden;display:flex;align-items:center;justify-content:center}._iconText_1b87f_54{font-size:18px;font-weight:bolder;color:#686868}._ListBox_1q7zr_2{display:flex;flex-wrap:wrap}._ListBox_1q7zr_2 .ant-collapse .ant-collapse-content>.ant-collapse-content-box{padding:0}._ListBox_1q7zr_2 .ant-collapse{border:none;background-color:#fff}._ListBox_1q7zr_2 .ant-collapse-header{padding:10px 16px!important}._ListBox_1q7zr_2 .ant-collapse-expand-icon{padding-inline-end:0!important}._ListBox_1q7zr_2 .ant-collapse-item{border-color:#e9e9e9}._collapsePanel_1q7zr_23{display:flex;flex-wrap:wrap}._toolBarBox_h5ljb_2{display:flex;margin-bottom:3px;margin-right:-2px;pointer-events:all;float:right}._item_h5ljb_10{background-color:#1677ff;color:#fff;padding:2px 3px;font-size:12px;overflow:hidden;margin-left:1px;cursor:pointer}._layoutSelectBox_h5ljb_20{position:relative;margin-right:1px;height:21px}._layoutSelectBox_h5ljb_20 ._hoverBox_h5ljb_25{transition:all .3s;position:absolute;left:0;top:0;white-space:nowrap;opacity:0;transform:translateY(-100%);pointer-events:none}._layoutSelectBox_h5ljb_20 ._hoverBox_h5ljb_25:hover,._layoutSelectBox_h5ljb_20 ._hoverBox_h5ljb_25._hoverBoxActive_h5ljb_35{opacity:1;pointer-events:all}._layoutSelectBox_h5ljb_20 ._hoverBox_h5ljb_25 ._hoverItem_h5ljb_39{background-color:#1677ff;padding:2px 3px;color:#fff;font-size:12px;margin-bottom:1px;cursor:pointer}._layoutSelectBox_h5ljb_20 ._placeholder_h5ljb_47{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:#1677ff;color:#fff;padding:2px 5px;font-size:12px;max-width:100px}._hoverTips_k3vn7_2{display:inline-block;color:#1677ff;opacity:.9;font-size:12px;margin-bottom:2px;background-color:#fff;padding:1px 3px;border-radius:2px}._highlightBox_whbf4_1{position:absolute;will-change:transform,width,height,left,right;outline:2px solid rgb(44,115,253)}._borderDrawBox_whbf4_7{position:absolute;left:0;height:100%;width:100%;z-index:99;pointer-events:none}._toolBox_whbf4_16{position:absolute;width:100%;left:0;top:0;box-sizing:border-box;transform:translateY(-100%)}._highlightBox_1dlxo_1{position:absolute;will-change:transform,width,height,left,right}._borderDrawBox_1dlxo_6{position:absolute;left:0;top:0;height:100%;width:100%;z-index:99;pointer-events:none}._toolBox_1dlxo_16{position:absolute;right:0;top:-20px;border:1px solid black;box-sizing:border-box}._horizontal_1dlxo_24._before_1dlxo_24{border-left:2px solid #1890ff}._horizontal_1dlxo_24._after_1dlxo_27{border-right:2px solid #1890ff}._vertical_1dlxo_31._before_1dlxo_24{border-top:2px solid #1890ff}._vertical_1dlxo_31._after_1dlxo_27{border-bottom:2px solid #1890ff}._current_1dlxo_38{border:none!important;background-color:#0084ff6b}._layoutContainer_1umjt_1{position:relative;width:100%;height:100%;box-sizing:border-box;margin:0;padding:0;display:flex;justify-content:center;box-shadow:0 1px 4px #1f325821}._elementHighlightBox_1umjt_13{position:absolute;right:0;top:0;padding:10px}._iframeBox_1umjt_20{position:relative}._contentBox_1tkrj_2{background-color:#fff;height:100%;border-top:1px solid rgb(233,233,233);overflow:auto;position:relative}._contentBox_1tkrj_2 *{transition:all .1s}._nodeBox_1tkrj_13{-webkit-user-select:none;user-select:none;cursor:pointer}._nodeBox_1tkrj_13 ._toolbarBox_1tkrj_17{display:none;padding-right:10px}._nodeBox_1tkrj_13 ._iconItem_1tkrj_21{margin-right:8px}._nodeContent_1tkrj_25:hover ._toolbarBox_1tkrj_17{display:flex}._nodeContent_1tkrj_25{font-size:14px;cursor:pointer;display:flex;align-items:center}._nodeContent_1tkrj_25._selected_1tkrj_35{background-color:#dddddd3b}._nodeContent_1tkrj_25 ._nodeArrow_1tkrj_38{font-size:12px}._nodeContent_1tkrj_25 ._nodeArrow_1tkrj_38._expanded_1tkrj_41{transform-origin:center;transform:rotate(90deg)}._nodeContent_1tkrj_25 ._nodeRenderView_1tkrj_45{display:flex;align-items:center;height:26px;flex:1;flex-wrap:nowrap;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._nodeChildren_1tkrj_56{position:relative}._nodeChildren_1tkrj_56:before{display:block;position:absolute;left:13px;top:0;content:"";height:100%;width:1px;background-color:#e9e9e9}._nodeChildren_1tkrj_56._selected_1tkrj_35:before{background-color:#0000ff5c}._dropAnchorLine_1tkrj_73{width:100px;height:2px;background-color:#1890ff;position:fixed;z-index:99;pointer-events:none}._arrowSpan_1tkrj_82{position:relative;display:flex;align-items:center;justify-content:center}._arrowSpan_1tkrj_82:after{content:"";position:absolute;top:0;right:0;bottom:0;left:-8px}._CFromRenderBox_1vsdm_2{padding:0 20px}._CFromRenderBox_1vsdm_2 .ant-collapse .ant-collapse-content>.ant-collapse-content-box{padding-right:5px}._CFromRenderBox_1vsdm_2 .ant-collapse>.ant-collapse-item:last-child>.ant-collapse-header{padding-right:5px}._dragItem_xzliq_2{cursor:grab;border:1px solid rgb(233,233,233);background-color:#fff;padding:10px;text-align:center;margin-bottom:10px;font-size:12px;border-radius:2px}._sortModalBox_xzliq_13{padding:20px 10px 10px;overflow:auto;max-height:500px}._addOneBtn_xzliq_19{width:100%;font-size:12px!important;color:#686868}._inputAuto_gk0d2_2{border-bottom:1px solid rgba(128,128,128,.23)}._active_gk0d2_6{border-bottom:1px solid rgb(128,177,255)}._cssSizeInput_1ig9c_2{display:inline-block}._cssSizeInput_1ig9c_2 ._unitSelect_1ig9c_5 .ant-select-focused .ant-select-selector{color:#000000ac}._cssSizeInput_1ig9c_2 ._unitSelect_1ig9c_5 .ant-select-selector{color:#585858!important;padding:0 0 0 3px!important;font-size:12px}._cssSizeInput_1ig9c_2 ._unitSelect_1ig9c_5 .ant-select-selection-item{padding-inline-end:10px!important}._cssSizeInput_1ig9c_2 ._unitSelect_1ig9c_5 .ant-select-arrow{inset-inline-end:3px!important}._inputNumberPlus_1hb66_2{display:flex}._inputNumberPlus_1hb66_2:hover ._delIcon_1hb66_5{display:block}._inputNumberPlus_1hb66_2 ._delIcon_1hb66_5{cursor:pointer;display:none}._fieldBox_nltxm_3{display:flex;flex-wrap:nowrap;flex-shrink:0;flex-grow:1;min-width:250px;align-items:center}._fieldBox_nltxm_3 ._label_nltxm_11{font-size:12px;color:#686868;padding-right:10px;-webkit-user-select:none;user-select:none;width:60px;max-height:40px;word-break:break-all;text-overflow:ellipsis;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}._fieldBox_nltxm_3 ._tipsLabel_nltxm_25{text-decoration-line:underline;text-decoration-style:dashed;text-underline-offset:2px;cursor:help;word-break:break-all}._fieldBox_nltxm_3 ._content_nltxm_32{flex:1}._switchBtn_k17cr_2{color:#686868;font-size:12px;padding:0 5px 0 10px}._shapeFieldBox_k17cr_8,._collapseHeader_k17cr_9{color:#686868;display:flex;font-size:12px}._collapseHeader_k17cr_9{align-items:center}._CFromRenderBox_13lda_2 .ant-collapse .ant-collapse-content>.ant-collapse-content-box{padding-right:5px}._CFromRenderBox_13lda_2 .ant-collapse>.ant-collapse-item:last-child>.ant-collapse-header{padding:5px 5px 5px 10px;align-items:center}._CFromRenderBox_13lda_2 .ant-collapse>.ant-collapse-item:last-child>.ant-collapse-header .ant-collapse-expand-icon{padding-inline-end:4px}._advanceBox_9o3af_2{padding:0 20px}._advanceBox_9o3af_2 .ant-input-affix-wrapper .ant-input-prefix{margin-inline-end:0}._rightPanelContainer_1p332_2{height:100%;width:100%}._rightPanelContainer_1p332_2 .ant-tabs .ant-tabs-tab+.ant-tabs-tab{margin-left:0}._rightPanelContainer_1p332_2 .ant-tabs-content.ant-tabs-content-top{height:100%;overflow:auto}._rightPanelContainer_1p332_2 .ant-tabs .ant-tabs-tabpane{height:100%}._visualPanelBox_6q12v_2{padding:0 15px 300px}._visualPanelBox_6q12v_2 ._header_6q12v_5{color:#686868;display:flex}.ant-collapse .ant-collapse-item .ant-collapse-header{padding:5px 5px 5px 10px;align-items:center;color:#686868;font-size:12px}.ant-collapse .ant-collapse-item .ant-collapse-header .ant-collapse-expand-icon{padding-inline-end:4px}._cssFieldBox_tzq0n_2{display:flex;color:#686868!important}._cssFieldBox_tzq0n_2 .ant-select-selector input{color:#686868!important}._cssFieldBox_tzq0n_2 ._row_tzq0n_9{display:flex;padding-bottom:6px;align-items:center}._cssFieldBox_tzq0n_2 ._fieldLabel_tzq0n_14{display:inline-block;width:70px;flex-shrink:0;font-size:12px}._cssFieldBox_tzq0n_2 ._leftBox_tzq0n_20{flex:1}._cssFieldBox_tzq0n_2 ._rightBox_tzq0n_23{padding-left:10px}._cssFieldBox_tzq0n_2 ._inputBox_tzq0n_26{flex:1}._cssBox_tzq0n_30{overflow-x:hidden}._cssBox_tzq0n_30 .ant-collapse-borderless>.ant-collapse-item{border-bottom:1px solid #e4e4e4}._cssBox_tzq0n_30 .ant-collapse-borderless>.ant-collapse-item:last-child{border-bottom:none}._cssBox_tzq0n_30 .ant-collapse-content-box{padding-bottom:30px!important}._switchBtn_tzq0n_43{margin-top:10px;color:#686868;font-size:12px;padding:0 5px 0 10px}._cssFieldBox_1t7y7_2{display:flex;align-items:center;color:#686868!important}._cssFieldBox_1t7y7_2 .ant-select-selector{padding:0!important}._cssFieldBox_1t7y7_2 .ant-select-single .ant-select-selector .ant-select-selection-search{inset-inline-start:0px;inset-inline-end:0px}._cssFieldBox_1t7y7_2 .ant-select-selector input{color:#686868!important}._cssFieldBox_1t7y7_2 ._inputAuto_1t7y7_17{border-bottom:1px solid rgba(128,128,128,.23);transition:all .1s;height:30px}._cssFieldBox_1t7y7_2 ._inputAuto_1t7y7_17._error_1t7y7_22{border-bottom:1px solid red!important}._cssFieldBox_1t7y7_2 ._keyField_1t7y7_25{position:relative;font-size:14px;height:30px}._cssFieldBox_1t7y7_2 ._keyField_1t7y7_25._notEdit_1t7y7_30{border-bottom:1px solid transparent!important}._cssFieldBox_1t7y7_2 ._active_1t7y7_33{border-bottom:1px solid rgb(128,177,255)}._cssBox_1t7y7_37{overflow:hidden}._cssBox_1t7y7_37 .ant-collapse-borderless>.ant-collapse-item{border-bottom:1px solid #e4e4e4}._cssBox_1t7y7_37 .ant-collapse-borderless>.ant-collapse-item:last-child{border-bottom:none}._cssBox_1t7y7_37 .ant-collapse-content-box{padding-bottom:30px!important}._stateTag_5a8hc_2{position:relative}._stateTag_5a8hc_2 ._stateTagClose_5a8hc_5{position:absolute;right:-10px;top:-10px;background-color:#fff;color:#4d4d4d;opacity:0;font-size:20px;transform:scale(.6);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;border-radius:10px}._stateTag_5a8hc_2:hover ._stateTagClose_5a8hc_5{opacity:1}._label_1850u_2{width:60px;display:inline-block;color:#686868;font-size:14px;flex-shrink:0}._label_1850u_2._font_1850u_9{width:50px}._label_1850u_2._m-p_1850u_12{width:30px}._fontOption_1850u_16{display:inline-block;width:50px}._row_1850u_21{padding-bottom:10px}._CSSUIPanel_1850u_25 .ant-radio-button-wrapper{font-size:12px!important}._box_tl0hm_2{height:100%;width:100%;padding-right:10px;border-top:1px solid rgb(233,233,233);padding-top:10px;background-color:#fff}
package/dist/type.d.ts ADDED
@@ -0,0 +1,25 @@
1
+ /// <reference types="react" />
2
+ import { CPageDataType, CMaterialType, AssetPackage } from '@chamn/model';
3
+ import { Engine } from '.';
4
+ import { PluginManager, CPlugin } from './core/pluginManager';
5
+ export type EnginContext = {
6
+ pluginManager: PluginManager;
7
+ engine: Engine;
8
+ };
9
+ export type EngineProps = {
10
+ plugins: CPlugin[];
11
+ schema: CPageDataType;
12
+ material?: CMaterialType[];
13
+ components?: Record<string, any>;
14
+ assetPackagesList?: AssetPackage[];
15
+ beforePluginRun?: (options: {
16
+ pluginManager: PluginManager;
17
+ }) => void;
18
+ /** 所有的加插件加载完成 */
19
+ onReady?: (ctx: EnginContext) => void;
20
+ onMount?: (ctx: EnginContext) => void;
21
+ /** 渲染器 umd 格式 js 地址, 默认 ./render.umd.js */
22
+ renderJSUrl?: string;
23
+ style?: React.CSSProperties;
24
+ className?: string;
25
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chamn/engine",
3
- "version": "0.0.46",
3
+ "version": "0.1.0",
4
4
  "files": [
5
5
  "dist"
6
6
  ],
@@ -22,10 +22,8 @@
22
22
  "scripts": {
23
23
  "start": "build-script",
24
24
  "build": "cross-env BUILD_TYPE=PKG build-script --build",
25
+ "build:w": "cross-env BUILD_TYPE=PKG build-script --build --watch",
25
26
  "build:analyze": "cross-env BUILD_TYPE=PKG build-script --build --analyze",
26
- "build:app": "export NODE_OPTIONS=--max-old-space-size=32768 && cross-env BUILD_TYPE=APP build-script --build",
27
- "build:app:analyze": "cross-env BUILD_TYPE=APP build-script --build --analyze",
28
- "copyAssets": "",
29
27
  "lint": "eslint --ext .tsx,.ts src/",
30
28
  "prettier": "prettier --write ./src",
31
29
  "test": "jest",
@@ -37,10 +35,10 @@
37
35
  "react-dom": ">=16.9.0"
38
36
  },
39
37
  "dependencies": {
40
- "@ant-design/icons": "^4.8.0",
41
- "@chamn/layout": "0.0.46",
42
- "@chamn/model": "0.0.46",
43
- "@chamn/render": "0.0.46",
38
+ "@ant-design/icons": "^5.4.0",
39
+ "@chamn/layout": "0.1.0",
40
+ "@chamn/model": "0.1.0",
41
+ "@chamn/render": "0.1.0",
44
42
  "@dnd-kit/core": "^6.0.7",
45
43
  "@dnd-kit/modifiers": "^6.0.1",
46
44
  "@dnd-kit/sortable": "^7.0.2",
@@ -52,6 +50,7 @@
52
50
  "consola": "^2.15.3",
53
51
  "css": "^3.0.0",
54
52
  "i18next": "^22.1.5",
53
+ "loadjs": "^4.3.0",
55
54
  "lodash-es": "^4.17.21",
56
55
  "mitt": "^3.0.0",
57
56
  "monaco-editor": "^0.41.0",
@@ -60,8 +59,8 @@
60
59
  },
61
60
  "devDependencies": {
62
61
  "@babel/core": "^7.21.0",
63
- "@chamn/build-script": "0.0.46",
64
- "@chamn/demo-page": "0.0.46",
62
+ "@chamn/build-script": "0.1.0",
63
+ "@chamn/demo-page": "0.1.0",
65
64
  "@storybook/addon-docs": "^7.4.0",
66
65
  "@storybook/addon-essentials": "^7.4.0",
67
66
  "@storybook/addon-interactions": "^7.4.0",
@@ -74,8 +73,9 @@
74
73
  "@types/color": "^3.0.4",
75
74
  "@types/consola": "^2.2.5",
76
75
  "@types/css": "^0.0.34",
76
+ "@types/loadjs": "^4.0.4",
77
77
  "@types/lodash-es": "^4.17.6",
78
- "@types/react": "^18.0.15",
78
+ "@types/react": "^18.2.0",
79
79
  "@types/react-color": "^3.0.6",
80
80
  "@types/react-dom": "^18.0.6",
81
81
  "babel-loader": "^8.3.0",
@@ -94,5 +94,5 @@
94
94
  "storybook": "^7.4.0"
95
95
  },
96
96
  "config": {},
97
- "gitHead": "f473bc43374db106443306a74630282595149e9e"
97
+ "gitHead": "cefa3f0a4a9c72c81b5337bbdb6e0429ca247252"
98
98
  }