@chamn/engine 0.0.14 → 0.0.16

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.
@@ -0,0 +1,45 @@
1
+ /// <reference types="react" />
2
+ import { CPluginCtx } from '../../../../core/pluginManager';
3
+ import { Layout, LayoutDragAndDropExtraDataType, LayoutDragEvent } from '../../../../index';
4
+ import { AdvanceCustom, CNode, CRootNode } from '@chamn/model';
5
+ export interface AdvanceCustomHookOptions {
6
+ getPortalViewCtx: () => {
7
+ setView: (view: React.ReactNode) => void;
8
+ clearView: () => void;
9
+ };
10
+ ctx: CPluginCtx;
11
+ layoutRef: React.RefObject<Layout>;
12
+ }
13
+ export type HookParameter = {
14
+ dragNode?: CNode | CRootNode;
15
+ dropNode?: CNode | CRootNode;
16
+ eventObj: LayoutDragEvent<LayoutDragAndDropExtraDataType>;
17
+ };
18
+ export declare class AdvanceCustomHook {
19
+ getPortalViewCtx: AdvanceCustomHookOptions['getPortalViewCtx'];
20
+ ctx: CPluginCtx;
21
+ layoutRef: AdvanceCustomHookOptions['layoutRef'];
22
+ constructor(options: AdvanceCustomHookOptions);
23
+ canDrag({ dragNode, eventObj }: HookParameter): ReturnType<Required<AdvanceCustom>['canDragNode']>;
24
+ canDrop({ dragNode, dropNode, eventObj }: HookParameter): ReturnType<Required<AdvanceCustom>['canDropNode']>;
25
+ onNewAdd({ dragNode, dropNode, eventObj }: HookParameter): ReturnType<Required<AdvanceCustom>['onNewAdd']>;
26
+ getSelectRectViewRender(node: CNode | CRootNode): ((props: import("@chamn/model").CustomViewRenderProps) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>) | undefined;
27
+ getHoverRectViewRender(node?: CNode | CRootNode | null): ((props: import("@chamn/model").CustomViewRenderProps) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>) | null | undefined;
28
+ getDropViewRender(node?: CNode | CRootNode | null): ((props: import("@chamn/model").CustomViewRenderProps & {
29
+ canDrop: boolean;
30
+ posInfo: import("@chamn/model").DropPosType;
31
+ }) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>) | null | undefined;
32
+ getGhostViewRender(node?: CNode | CRootNode | null): ((props: import("@chamn/model").CustomViewRenderProps) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>) | null | undefined;
33
+ getToolbarViewRender(node?: CNode | CRootNode | null): ((props: {
34
+ node: CNode | CRootNode;
35
+ context: any;
36
+ toolBarItems: {
37
+ copyItem: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
38
+ deleteItem: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
39
+ visibleItem: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
40
+ nodeLayout: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
41
+ };
42
+ }) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>) | null | undefined;
43
+ onCopy(node: CNode | CRootNode): Promise<false | CNode | CRootNode>;
44
+ onDelete(node: CNode | CRootNode): Promise<false | CNode | CRootNode>;
45
+ }
@@ -0,0 +1,56 @@
1
+ import React from 'react';
2
+ import { Layout, LayoutPropsType } from '@chamn/layout';
3
+ import { AdvanceCustom, CNode, CPage, CRootNode } from '@chamn/model';
4
+ import { AssetPackage } from '@chamn/model';
5
+ import { CPluginCtx } from '../../../../core/pluginManager';
6
+ import { AdvanceCustomHook } from './advanceCustomHook';
7
+ import { DesignerPluginConfig } from '../../type';
8
+ import { AdvanceCustomFuncParam } from '@chamn/model';
9
+ export type DesignerPropsType = {
10
+ pluginCtx: CPluginCtx<DesignerPluginConfig>;
11
+ };
12
+ type DesignerStateType = {
13
+ pageModel: CPage;
14
+ hoverToolbarView: React.ReactNode;
15
+ selectToolbarView: React.ReactNode;
16
+ selectRectViewRender: AdvanceCustom['selectRectViewRender'] | null;
17
+ hoverRectViewRender: AdvanceCustom['hoverRectViewRender'] | null;
18
+ dropViewRender: AdvanceCustom['dropViewRender'] | null;
19
+ ghostView: React.ReactNode;
20
+ portalView: React.ReactNode;
21
+ assets: AssetPackage[];
22
+ };
23
+ export declare class Designer extends React.Component<DesignerPropsType, DesignerStateType> {
24
+ layoutRef: React.RefObject<Layout>;
25
+ customAdvanceHook: AdvanceCustomHook;
26
+ constructor(props: DesignerPropsType);
27
+ getPortalViewCtx: () => {
28
+ setView: (view: React.ReactNode) => void;
29
+ clearView: () => void;
30
+ };
31
+ componentDidMount(): void;
32
+ updateAssets(assets: AssetPackage[]): void;
33
+ reloadRender({ assets }: {
34
+ assets?: AssetPackage[];
35
+ }): void;
36
+ init(): Promise<void>;
37
+ onNodeDragging: LayoutPropsType['onNodeDragging'];
38
+ onNodeDragEnd: LayoutPropsType['onNodeDraEnd'];
39
+ onNodeDrop: LayoutPropsType['onNodeDrop'];
40
+ onSelectNode: Required<LayoutPropsType>['onSelectNode'];
41
+ onDragStart: LayoutPropsType['onNodeDragStart'];
42
+ getGhostView: (dragNode: CNode | CRootNode, commonParam: AdvanceCustomFuncParam) => React.ReactElement<any, string | React.JSXElementConstructor<any>>;
43
+ toSelectNode: (nodeId: string) => Promise<true | undefined>;
44
+ toCopyNode: (id: string) => Promise<void>;
45
+ toDeleteNode: (nodeId: string) => Promise<void>;
46
+ toHidden: (id: string) => void;
47
+ getToolbarView: (node: CNode | CRootNode) => JSX.Element;
48
+ onHoverNode: LayoutPropsType['onHoverNode'];
49
+ nodeCanDrag: LayoutPropsType['nodeCanDrag'];
50
+ nodeCanDrop: LayoutPropsType['nodeCanDrop'];
51
+ innerSelectRectViewRender: LayoutPropsType['selectRectViewRender'];
52
+ innerHoverRectViewRender: LayoutPropsType['hoverRectViewRender'];
53
+ innerDropViewRender: LayoutPropsType['dropViewRender'];
54
+ render(): JSX.Element;
55
+ }
56
+ export {};
@@ -1,4 +1,4 @@
1
- import globalClassNames from '../../style.d';
1
+ import globalClassNames from '../../../../style.d';
2
2
  declare const classNames: typeof globalClassNames & {
3
3
  readonly hoverTips: 'hoverTips';
4
4
  };
@@ -7,4 +7,10 @@ export type DefaultSelectToolBarProps = {
7
7
  toCopy: (idd: string) => void;
8
8
  toHidden: (idd: string) => void;
9
9
  };
10
- export declare const DefaultSelectToolBar: ({ nodeList, toSelectNode, toDelete, toCopy, toHidden, }: DefaultSelectToolBarProps) => JSX.Element;
10
+ export declare const getDefaultToolbarItem: (props: DefaultSelectToolBarProps) => {
11
+ copyItem: JSX.Element;
12
+ deleteItem: JSX.Element;
13
+ visibleItem: JSX.Element;
14
+ nodeLayout: JSX.Element;
15
+ };
16
+ export declare const DefaultSelectToolBar: (props: DefaultSelectToolBarProps) => JSX.Element;
@@ -1,18 +1,2 @@
1
- import { DragAndDrop } from '@chamn/layout';
2
- import { CPlugin } from '../../core/pluginManager';
3
- import { Designer } from './view';
4
- import { AssetPackage, CPageDataType } from '@chamn/model';
5
- import { RenderInstance } from '@chamn/render';
6
- export declare const DesignerPlugin: CPlugin;
7
- export type DesignerExports = {
8
- reload: (params?: {
9
- assets?: AssetPackage[];
10
- }) => void;
11
- getInstance: () => Designer;
12
- getDnd: () => DragAndDrop;
13
- selectNode: (nodeId: string) => void;
14
- getSelectedNodeId: () => string | undefined;
15
- updatePage: (page: CPageDataType) => void;
16
- getComponentInstances: (id: string) => RenderInstance[];
17
- getDynamicComponentInstances: (id: string) => RenderInstance;
18
- };
1
+ import { DesignerPluginType } from './type';
2
+ export declare const DesignerPlugin: DesignerPluginType;
@@ -0,0 +1,22 @@
1
+ import { CPlugin, PluginInstance } from '../../core/pluginManager';
2
+ import { DragAndDrop, LayoutPropsType } from '@chamn/layout';
3
+ import { AdvanceCustom, AssetPackage, CPageDataType } from '@chamn/model';
4
+ import { RenderInstance } from '@chamn/render';
5
+ import { Designer } from './components/Canvas';
6
+ export type DesignerExport = {
7
+ reload: (params?: {
8
+ assets?: AssetPackage[];
9
+ }) => void;
10
+ getInstance: () => Designer | null;
11
+ getDnd: () => DragAndDrop | undefined;
12
+ selectNode: (nodeId: string) => void;
13
+ copyNode: (nodeId: string) => void;
14
+ deleteNode: (nodeId: string) => void;
15
+ getSelectedNodeId: () => string | undefined;
16
+ updatePage: (page: CPageDataType) => void;
17
+ getComponentInstances: (id: string) => RenderInstance[];
18
+ getDynamicComponentInstances: (id: string) => RenderInstance;
19
+ };
20
+ export type DesignerPluginConfig = Omit<LayoutPropsType, 'selectRectViewRender' | 'hoverRectViewRender' | 'dropViewRender' | 'ghostView' | 'selectToolBarView' | 'hoverToolBarView'> & Pick<AdvanceCustom, 'selectRectViewRender' | 'hoverRectViewRender' | 'dropViewRender' | 'ghostViewRender' | 'toolbarViewRender'>;
21
+ export type DesignerPluginType = CPlugin<DesignerPluginConfig, DesignerExport>;
22
+ export type DesignerPluginInstance = PluginInstance<DesignerPluginConfig, DesignerExport>;
@@ -1,7 +1,7 @@
1
1
  import { Sensor } from '@chamn/layout';
2
2
  import { CPage } from '@chamn/model';
3
3
  import React from 'react';
4
- import { DesignerExports } from '../../../Designer';
4
+ import { DesignerExport } from '../../../Designer';
5
5
  import { TreeNodeData } from './dataStruct';
6
6
  export declare enum DragState {
7
7
  DRAGGING = "DRAGGING",
@@ -25,6 +25,6 @@ export type CTreeContextData = {
25
25
  }) => void;
26
26
  onDeleteNode: (id: string) => void;
27
27
  onCopyNode: (id: string) => void;
28
- getDesignerHandler?: () => Promise<DesignerExports>;
28
+ getDesignerHandler?: () => Promise<DesignerExport>;
29
29
  };
30
30
  export declare const CTreeContext: React.Context<CTreeContextData>;
@@ -15,7 +15,7 @@ export type TreeNodeData = {
15
15
  parent?: TreeNodeData | null;
16
16
  canBeSelected?: boolean;
17
17
  canDrag?: boolean;
18
- canDrop?: boolean | ('before' | 'after' | 'current')[];
18
+ canDropPos?: boolean | ('before' | 'after' | 'current')[];
19
19
  rootNode?: boolean;
20
20
  };
21
21
  export declare const DemoTreeData: TreeNodeData;
@@ -3,7 +3,6 @@ import { CNode, CRootNode } from '@chamn/model';
3
3
  import React from 'react';
4
4
  import { WithTranslation } from 'react-i18next';
5
5
  import { CPluginCtx } from '../../../../core/pluginManager';
6
- import { DesignerExports } from '../../../Designer';
7
6
  import { ContextState } from './context';
8
7
  import { TreeNodeData } from './dataStruct';
9
8
  interface TreeViewProps extends WithTranslation {
@@ -20,12 +19,12 @@ export declare class TreeView extends React.Component<TreeViewProps, ContextStat
20
19
  disposeCbList: (() => void)[];
21
20
  sensor?: Sensor;
22
21
  constructor(props: TreeViewProps);
23
- getDesignerHandler: () => Promise<DesignerExports>;
22
+ getDesignerHandler: () => Promise<import('../../../../plugins/Designer/type').DesignerExport>;
24
23
  updateTreeDataFromNode: () => void;
25
24
  getParentKeyPaths: (targetKey: string) => string[];
26
25
  scrollNodeToView: (key: string) => void;
27
26
  componentDidMount(): Promise<void>;
28
- toSelectTreeNode: (node: CNode | CRootNode) => void;
27
+ toSelectTreeNode: (node: CNode | CRootNode | null) => void;
29
28
  containNode: (parentNode: TreeNodeData, targetNode: TreeNodeData) => null;
30
29
  getTreeNodeByKey: (key: string) => TreeNodeData | null;
31
30
  registerDragEvent: () => Promise<void>;
@@ -1,5 +1,4 @@
1
- import { DropPosType } from '@chamn/layout/dist/components/DropAnchor/util';
2
- import { CNode, CNodeDataType, CPage, CPageDataType, MTitle } from '@chamn/model';
1
+ import { CNode, CNodeDataType, CPage, CPageDataType, DropPosType, MTitle } from '@chamn/model';
3
2
  import { TreeNodeData } from './components/TreeView/dataStruct';
4
3
  export declare const getTargetMNodeKeyVal: (dom: HTMLElement | null, key: string) => null | string;
5
4
  export declare const transformNodeSchemaToTreeData: (nodeSchema: CNodeDataType | CNodeDataType[], parent: TreeNodeData, pageModel: CPage) => TreeNodeData | TreeNodeData[];
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";._workbenchContainer_15alj_2{width:100%;height:100%;display:flex;flex-direction:column}._workbenchContainer_15alj_2 ._topToolBarBox_15alj_8{height:64px;width:100%;border-bottom:1px solid rgb(233,233,233);display:flex}._workbenchContainer_15alj_2 ._topToolBarBox_15alj_8 ._topToolBarView_15alj_14{flex:1}._workbenchContainer_15alj_2 ._bodyContent_15alj_17{display:flex;width:100%;flex:1;overflow:hidden}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23{position:relative;display:flex;background-color:#fff;z-index:100}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginIconBar_15alj_29{width:50px;height:100%;border-right:1px solid rgb(233,233,233)}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginIconBar_15alj_29 ._pluginIconItem_15alj_34{position:relative;cursor:pointer;width:50px;height:50px;display:flex;align-items:center;justify-content:center;transition:all .1s}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginIconBar_15alj_29 ._pluginIconItem_15alj_34._active_15alj_44 :before,._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginIconBar_15alj_29 ._pluginIconItem_15alj_34:hover :before{transition:all .1s;display:block;content:"";width:2px;height:100%;position:absolute;left:0;top:0}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginIconBar_15alj_29 ._pluginIconItem_15alj_34._active_15alj_44 :before{border-left:4px solid #1677ff!important}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginIconBar_15alj_29 ._pluginIconItem_15alj_34:hover :before{border-left:4px solid rgba(22,119,255,.3)}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginPanelBoxResizeBox_15alj_60{display:flex;flex-direction:column;background-color:#fff;z-index:100;border-right:1px solid rgb(233,233,233)}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginPanelBoxResizeBox_15alj_60 ._pluginHeader_15alj_67{display:flex;color:#686868;height:30px;margin:10px;overflow:hidden;align-items:center}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginPanelBoxResizeBox_15alj_60 ._pluginHeader_15alj_67 ._pluginNameText_15alj_75{font-size:16px;font-weight:700;margin-right:auto;flex-wrap:nowrap;word-break:keep-all}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginPanelBoxResizeBox_15alj_60 ._pluginHeader_15alj_67 ._closeBtn_15alj_82,._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginPanelBoxResizeBox_15alj_60 ._pluginHeader_15alj_67 ._fixedBtn_15alj_83{color:#686868}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginPanelBoxResizeBox_15alj_60 ._pluginHeader_15alj_67 ._fixedBtn_15alj_83>*{transition:all .1s}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginPanelBoxResizeBox_15alj_60 ._pluginHeader_15alj_67 ._fixedBtn_15alj_83>._active_15alj_44{transform:rotate(-45deg)}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginPanelBox_15alj_60{width:100%;flex:1;background-color:#f8f8ff;overflow:hidden}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._rightResizeBox_15alj_98{position:relative}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._rightResizeBox_15alj_98 ._arrowCursor_15alj_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_15alj_2 ._bodyContent_15alj_17 ._rightResizeBox_15alj_98 ._arrowCursor_15alj_101>._active_15alj_44{transform:rotate(-180deg)}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._rightResizeBox_15alj_98 ._rightBox_15alj_116{position:relative;width:100%;height:100%;border-left:1px rgb(233,233,233) solid}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._centerBox_15alj_122{display:flex;flex-direction:column;flex:1;overflow:hidden}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._centerBox_15alj_122 ._subTopToolbarBox_15alj_128{width:100%;height:50px;background-color:#fff}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._centerBox_15alj_122 ._canvasBox_15alj_133{width:100%;flex:1;overflow:hidden;padding:20px 30px;background-color:#edeff3}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._centerBox_15alj_122 ._canvasBox_15alj_133 ._scrollBox_15alj_140{width:100%;height:100%;box-shadow:0 1px 4px #1f325821}._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}._layoutContainer_1mubg_1{position:relative;width:100%;height:100%;box-sizing:border-box;margin:0;padding:0;overflow:hidden}._elementHighlightBox_1mubg_11{position:absolute;right:0;top:0;padding:10px}._iframeBox_1mubg_18{position:relative}._highlightBox_vl3g6_1{position:absolute;will-change:transform,width,height,left,right;border:2px solid rgb(44,115,253)}._borderDrawBox_vl3g6_7{position:absolute;left:0;height:100%;width:100%;z-index:99;pointer-events:none}._toolBox_vl3g6_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}._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}._contentBox_1vfqn_2{background-color:#fff;height:100%;border-top:1px solid rgb(233,233,233);overflow:auto;position:relative}._contentBox_1vfqn_2 *{transition:all .1s}._nodeBox_1vfqn_13{user-select:none;cursor:pointer}._nodeBox_1vfqn_13 ._toolbarBox_1vfqn_17{display:none;padding-right:10px}._nodeBox_1vfqn_13 ._iconItem_1vfqn_21{margin-right:8px}._nodeContent_1vfqn_25:hover ._toolbarBox_1vfqn_17{display:flex}._nodeContent_1vfqn_25{font-size:14px;cursor:pointer;display:flex;align-items:center}._nodeContent_1vfqn_25._selected_1vfqn_35{background-color:#dddddd3b}._nodeContent_1vfqn_25 ._nodeArrow_1vfqn_38{font-size:12px}._nodeContent_1vfqn_25 ._nodeArrow_1vfqn_38._expanded_1vfqn_41{transform-origin:center;transform:rotate(90deg)}._nodeContent_1vfqn_25 ._nodeRenderView_1vfqn_45{padding:5px 0;flex:1;flex-wrap:nowrap;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._nodeChildren_1vfqn_54{position:relative}._nodeChildren_1vfqn_54:before{display:block;position:absolute;left:13px;top:0;content:"";height:100%;width:1px;background-color:#e9e9e9}._nodeChildren_1vfqn_54._selected_1vfqn_35:before{background-color:#0000ff5c}._dropAnchorLine_1vfqn_71{width:100px;height:2px;background-color:#1890ff;position:fixed;z-index:99;pointer-events:none}._arrowSpan_1vfqn_80{position:relative}._arrowSpan_1vfqn_80: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)}._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_15f2h_2{display:flex;color:#686868!important}._cssFieldBox_15f2h_2 .ant-select-selector input{color:#686868!important}._cssFieldBox_15f2h_2 ._row_15f2h_9{display:flex;padding-bottom:6px;align-items:center}._cssFieldBox_15f2h_2 ._fieldLabel_15f2h_14{display:inline-block;width:70px;flex-shrink:0;font-size:12px}._cssFieldBox_15f2h_2 ._leftBox_15f2h_20{flex:1}._cssFieldBox_15f2h_2 ._rightBox_15f2h_23{padding-left:10px}._cssFieldBox_15f2h_2 ._inputBox_15f2h_26{flex:1}._cssBox_15f2h_30{overflow-x:hidden}._cssBox_15f2h_30 .ant-collapse-borderless>.ant-collapse-item{border-bottom:1px solid #e4e4e4}._cssBox_15f2h_30 .ant-collapse-borderless>.ant-collapse-item:last-child{border-bottom:none}._cssBox_15f2h_30 .ant-collapse-content-box{padding-bottom:30px!important}._cssFieldBox_4b8an_2{display:flex;align-items:center;color:#686868!important}._cssFieldBox_4b8an_2 .ant-select-selector{padding:0!important}._cssFieldBox_4b8an_2 .ant-select-single .ant-select-selector .ant-select-selection-search{inset-inline-start:0px;inset-inline-end:0px}._cssFieldBox_4b8an_2 .ant-select-selector input{color:#686868!important}._cssFieldBox_4b8an_2 .ant-select-status-error{border-bottom:1px solid red!important}._cssFieldBox_4b8an_2 ._inputAuto_4b8an_20{border-bottom:1px solid rgba(128,128,128,.23)}._cssFieldBox_4b8an_2 ._active_4b8an_23{border-bottom:1px solid rgb(128,177,255)}._cssBox_4b8an_27{overflow-x:hidden}._cssBox_4b8an_27 .ant-collapse-borderless>.ant-collapse-item{border-bottom:1px solid #e4e4e4}._cssBox_4b8an_27 .ant-collapse-borderless>.ant-collapse-item:last-child{border-bottom:none}._cssBox_4b8an_27 .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}._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_15alj_2{width:100%;height:100%;display:flex;flex-direction:column}._workbenchContainer_15alj_2 ._topToolBarBox_15alj_8{height:64px;width:100%;border-bottom:1px solid rgb(233,233,233);display:flex}._workbenchContainer_15alj_2 ._topToolBarBox_15alj_8 ._topToolBarView_15alj_14{flex:1}._workbenchContainer_15alj_2 ._bodyContent_15alj_17{display:flex;width:100%;flex:1;overflow:hidden}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23{position:relative;display:flex;background-color:#fff;z-index:100}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginIconBar_15alj_29{width:50px;height:100%;border-right:1px solid rgb(233,233,233)}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginIconBar_15alj_29 ._pluginIconItem_15alj_34{position:relative;cursor:pointer;width:50px;height:50px;display:flex;align-items:center;justify-content:center;transition:all .1s}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginIconBar_15alj_29 ._pluginIconItem_15alj_34._active_15alj_44 :before,._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginIconBar_15alj_29 ._pluginIconItem_15alj_34:hover :before{transition:all .1s;display:block;content:"";width:2px;height:100%;position:absolute;left:0;top:0}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginIconBar_15alj_29 ._pluginIconItem_15alj_34._active_15alj_44 :before{border-left:4px solid #1677ff!important}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginIconBar_15alj_29 ._pluginIconItem_15alj_34:hover :before{border-left:4px solid rgba(22,119,255,.3)}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginPanelBoxResizeBox_15alj_60{display:flex;flex-direction:column;background-color:#fff;z-index:100;border-right:1px solid rgb(233,233,233)}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginPanelBoxResizeBox_15alj_60 ._pluginHeader_15alj_67{display:flex;color:#686868;height:30px;margin:10px;overflow:hidden;align-items:center}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginPanelBoxResizeBox_15alj_60 ._pluginHeader_15alj_67 ._pluginNameText_15alj_75{font-size:16px;font-weight:700;margin-right:auto;flex-wrap:nowrap;word-break:keep-all}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginPanelBoxResizeBox_15alj_60 ._pluginHeader_15alj_67 ._closeBtn_15alj_82,._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginPanelBoxResizeBox_15alj_60 ._pluginHeader_15alj_67 ._fixedBtn_15alj_83{color:#686868}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginPanelBoxResizeBox_15alj_60 ._pluginHeader_15alj_67 ._fixedBtn_15alj_83>*{transition:all .1s}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginPanelBoxResizeBox_15alj_60 ._pluginHeader_15alj_67 ._fixedBtn_15alj_83>._active_15alj_44{transform:rotate(-45deg)}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._leftBox_15alj_23 ._pluginPanelBox_15alj_60{width:100%;flex:1;background-color:#f8f8ff;overflow:hidden}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._rightResizeBox_15alj_98{position:relative}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._rightResizeBox_15alj_98 ._arrowCursor_15alj_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_15alj_2 ._bodyContent_15alj_17 ._rightResizeBox_15alj_98 ._arrowCursor_15alj_101>._active_15alj_44{transform:rotate(-180deg)}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._rightResizeBox_15alj_98 ._rightBox_15alj_116{position:relative;width:100%;height:100%;border-left:1px rgb(233,233,233) solid}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._centerBox_15alj_122{display:flex;flex-direction:column;flex:1;overflow:hidden}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._centerBox_15alj_122 ._subTopToolbarBox_15alj_128{width:100%;height:50px;background-color:#fff}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._centerBox_15alj_122 ._canvasBox_15alj_133{width:100%;flex:1;overflow:hidden;padding:20px 30px;background-color:#edeff3}._workbenchContainer_15alj_2 ._bodyContent_15alj_17 ._centerBox_15alj_122 ._canvasBox_15alj_133 ._scrollBox_15alj_140{width:100%;height:100%;box-shadow:0 1px 4px #1f325821}._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_1vfqn_2{background-color:#fff;height:100%;border-top:1px solid rgb(233,233,233);overflow:auto;position:relative}._contentBox_1vfqn_2 *{transition:all .1s}._nodeBox_1vfqn_13{user-select:none;cursor:pointer}._nodeBox_1vfqn_13 ._toolbarBox_1vfqn_17{display:none;padding-right:10px}._nodeBox_1vfqn_13 ._iconItem_1vfqn_21{margin-right:8px}._nodeContent_1vfqn_25:hover ._toolbarBox_1vfqn_17{display:flex}._nodeContent_1vfqn_25{font-size:14px;cursor:pointer;display:flex;align-items:center}._nodeContent_1vfqn_25._selected_1vfqn_35{background-color:#dddddd3b}._nodeContent_1vfqn_25 ._nodeArrow_1vfqn_38{font-size:12px}._nodeContent_1vfqn_25 ._nodeArrow_1vfqn_38._expanded_1vfqn_41{transform-origin:center;transform:rotate(90deg)}._nodeContent_1vfqn_25 ._nodeRenderView_1vfqn_45{padding:5px 0;flex:1;flex-wrap:nowrap;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._nodeChildren_1vfqn_54{position:relative}._nodeChildren_1vfqn_54:before{display:block;position:absolute;left:13px;top:0;content:"";height:100%;width:1px;background-color:#e9e9e9}._nodeChildren_1vfqn_54._selected_1vfqn_35:before{background-color:#0000ff5c}._dropAnchorLine_1vfqn_71{width:100px;height:2px;background-color:#1890ff;position:fixed;z-index:99;pointer-events:none}._arrowSpan_1vfqn_80{position:relative}._arrowSpan_1vfqn_80: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)}._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_15f2h_2{display:flex;color:#686868!important}._cssFieldBox_15f2h_2 .ant-select-selector input{color:#686868!important}._cssFieldBox_15f2h_2 ._row_15f2h_9{display:flex;padding-bottom:6px;align-items:center}._cssFieldBox_15f2h_2 ._fieldLabel_15f2h_14{display:inline-block;width:70px;flex-shrink:0;font-size:12px}._cssFieldBox_15f2h_2 ._leftBox_15f2h_20{flex:1}._cssFieldBox_15f2h_2 ._rightBox_15f2h_23{padding-left:10px}._cssFieldBox_15f2h_2 ._inputBox_15f2h_26{flex:1}._cssBox_15f2h_30{overflow-x:hidden}._cssBox_15f2h_30 .ant-collapse-borderless>.ant-collapse-item{border-bottom:1px solid #e4e4e4}._cssBox_15f2h_30 .ant-collapse-borderless>.ant-collapse-item:last-child{border-bottom:none}._cssBox_15f2h_30 .ant-collapse-content-box{padding-bottom:30px!important}._cssFieldBox_4b8an_2{display:flex;align-items:center;color:#686868!important}._cssFieldBox_4b8an_2 .ant-select-selector{padding:0!important}._cssFieldBox_4b8an_2 .ant-select-single .ant-select-selector .ant-select-selection-search{inset-inline-start:0px;inset-inline-end:0px}._cssFieldBox_4b8an_2 .ant-select-selector input{color:#686868!important}._cssFieldBox_4b8an_2 .ant-select-status-error{border-bottom:1px solid red!important}._cssFieldBox_4b8an_2 ._inputAuto_4b8an_20{border-bottom:1px solid rgba(128,128,128,.23)}._cssFieldBox_4b8an_2 ._active_4b8an_23{border-bottom:1px solid rgb(128,177,255)}._cssBox_4b8an_27{overflow-x:hidden}._cssBox_4b8an_27 .ant-collapse-borderless>.ant-collapse-item{border-bottom:1px solid #e4e4e4}._cssBox_4b8an_27 .ant-collapse-borderless>.ant-collapse-item:last-child{border-bottom:none}._cssBox_4b8an_27 .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}._box_tl0hm_2{height:100%;width:100%;padding-right:10px;border-top:1px solid rgb(233,233,233);padding-top:10px;background-color:#fff}
@@ -2,4 +2,11 @@ import { LayoutPropsType } from '@chamn/layout';
2
2
  /** 默认使用 react 18 模式渲染 */
3
3
  export declare const beforeInitRender: LayoutPropsType['beforeInitRender'];
4
4
  /** 默认使用 react 18 模式渲染 */
5
- export declare const defaultRender: LayoutPropsType['customRender'];
5
+ export declare const getDefaultRender: (components: Record<string, any>) => (options: {
6
+ iframe: import("@chamn/layout").IFrameContainer;
7
+ pageModel?: import("@chamn/model").CPage | undefined;
8
+ page?: import("@chamn/model").CPageDataType | undefined;
9
+ assets: import("@chamn/model").AssetPackage[];
10
+ renderJSUrl?: string | undefined;
11
+ ready: (designRender: import("@chamn/render").DesignRender) => void;
12
+ }) => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chamn/engine",
3
- "version": "0.0.14",
3
+ "version": "0.0.16",
4
4
  "files": [
5
5
  "dist"
6
6
  ],
@@ -20,43 +20,45 @@
20
20
  "vite"
21
21
  ],
22
22
  "scripts": {
23
- "start": "npm run build:render && build-script",
23
+ "start": "build-script",
24
24
  "build": "cross-env BUILD_TYPE=PKG build-script --build",
25
25
  "build:analyze": "cross-env BUILD_TYPE=PKG build-script --build --analyze",
26
- "build:app": "npm run build:render && export NODE_OPTIONS=--max-old-space-size=32768 && cross-env BUILD_TYPE=APP build-script --build",
27
- "build:render": "cross-env BUILD_TYPE=Render build-script --build",
26
+ "build:app": "export NODE_OPTIONS=--max-old-space-size=32768 && cross-env BUILD_TYPE=APP build-script --build",
28
27
  "build:app:analyze": "cross-env BUILD_TYPE=APP build-script --build --analyze",
28
+ "copyAssets": "",
29
29
  "lint": "eslint --ext .tsx,.ts src/",
30
30
  "prettier": "prettier --write ./src",
31
31
  "test": "jest",
32
32
  "storybook": "start-storybook -p 6006",
33
33
  "build-storybook": "build-storybook"
34
34
  },
35
+ "peerDependencies": {
36
+ "react": ">=16.9.0",
37
+ "react-dom": ">=16.9.0"
38
+ },
35
39
  "dependencies": {
36
40
  "@ant-design/icons": "^4.8.0",
37
- "@chamn/layout": "0.0.14",
38
- "@chamn/model": "0.0.14",
39
- "@chamn/render": "0.0.14",
41
+ "@chamn/layout": "0.0.16",
42
+ "@chamn/model": "0.0.16",
43
+ "@chamn/render": "0.0.16",
40
44
  "@dnd-kit/core": "^6.0.7",
41
45
  "@dnd-kit/modifiers": "^6.0.1",
42
46
  "@dnd-kit/sortable": "^7.0.2",
43
47
  "@dnd-kit/utilities": "^3.2.1",
44
48
  "ahooks": "^3.7.4",
45
- "antd": "^5.0.0",
49
+ "antd": "^5.6.3",
46
50
  "consola": "^2.15.3",
47
51
  "i18next": "^22.1.5",
48
52
  "lodash-es": "^4.17.21",
49
53
  "mitt": "^3.0.0",
50
54
  "monaco-editor": "^0.34.1",
51
55
  "re-resizable": "^6.9.9",
52
- "react": "^18.2.0",
53
- "react-dom": "^18.2.0",
54
- "react-i18next": "^12.1.1"
56
+ "vite-plugin-static-copy": "^0.17.0"
55
57
  },
56
58
  "devDependencies": {
57
59
  "@babel/core": "^7.21.0",
58
- "@chamn/build-script": "0.0.14",
59
- "@chamn/demo-page": "0.0.14",
60
+ "@chamn/build-script": "0.0.16",
61
+ "@chamn/demo-page": "0.0.16",
60
62
  "@storybook/addon-actions": "^6.5.16",
61
63
  "@storybook/addon-essentials": "^6.5.16",
62
64
  "@storybook/addon-interactions": "^6.5.16",
@@ -72,11 +74,14 @@
72
74
  "cross-env": "^7.0.3",
73
75
  "eslint-plugin-react-hooks": "^4.6.0",
74
76
  "rc-select": "^14.4.0",
77
+ "react": "^18.2.0",
78
+ "react-dom": "^18.2.0",
79
+ "react-i18next": "^12.1.1",
75
80
  "react-router-dom": "^6.7.0",
76
81
  "rollup-plugin-visualizer": "^5.8.3",
77
82
  "sass": "^1.54.0",
78
83
  "vite-plugin-monaco-editor": "^1.1.0"
79
84
  },
80
85
  "config": {},
81
- "gitHead": "b55897af1019ee0d0b8e3872498a23e0368c0f9c"
86
+ "gitHead": "7e6997cd8abe35fbfcac2849426eede93de1c0b4"
82
87
  }
@@ -1,37 +0,0 @@
1
- import React from 'react';
2
- import { Layout, LayoutDragEvent, LayoutPropsType } from '@chamn/layout';
3
- import { CNode, CPage, CRootNode } from '@chamn/model';
4
- import { CPluginCtx } from '../../core/pluginManager';
5
- import { AssetPackage } from '@chamn/model';
6
- export type DesignerPropsType = {
7
- pluginCtx: CPluginCtx;
8
- };
9
- type DesignerStateType = {
10
- pageModel: CPage;
11
- hoverToolBar: React.ReactNode;
12
- selectToolBar: React.ReactNode;
13
- ghostView: React.ReactNode;
14
- portalView: React.ReactNode;
15
- assets: AssetPackage[];
16
- };
17
- export declare class Designer extends React.Component<DesignerPropsType, DesignerStateType> {
18
- layoutRef: React.RefObject<Layout>;
19
- constructor(props: DesignerPropsType);
20
- getPortalViewCtx: () => {
21
- setView: (view: React.ReactNode) => void;
22
- clearView: () => void;
23
- };
24
- componentDidMount(): void;
25
- updateAssets(assets: AssetPackage[]): void;
26
- reloadRender({ assets }: {
27
- assets?: AssetPackage[];
28
- }): void;
29
- init(): Promise<void>;
30
- onNodeDragging: (eventObj: LayoutDragEvent) => Promise<void>;
31
- onNodeDrop: (eventObj: LayoutDragEvent) => Promise<void>;
32
- onSelectNode: Required<LayoutPropsType>['onSelectNode'];
33
- onDragStart: (e: LayoutDragEvent) => Promise<false | undefined>;
34
- onHoverNode: (node: CNode | CRootNode | null, startNode: CNode | CRootNode, event: MouseEvent) => void;
35
- render(): JSX.Element;
36
- }
37
- export {};