@gedit/editor-2d 0.1.115 → 0.2.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 (100) hide show
  1. package/lib/browser/editor2d-context-key-service.js.map +1 -1
  2. package/lib/browser/editor2d-contribution.js.map +1 -1
  3. package/lib/browser/editor2d-label-provider.js.map +1 -1
  4. package/lib/browser/editor2d-model-provider.js.map +1 -1
  5. package/lib/browser/editor2d-ref-provider-contribution.d.ts +1 -1
  6. package/lib/browser/editor2d-ref-provider-contribution.d.ts.map +1 -1
  7. package/lib/browser/editor2d-ref-provider-contribution.js +8 -8
  8. package/lib/browser/editor2d-ref-provider-contribution.js.map +1 -1
  9. package/lib/browser/editor2d-service.js.map +1 -1
  10. package/lib/browser/model/editor2d-document.d.ts +45 -19
  11. package/lib/browser/model/editor2d-document.d.ts.map +1 -1
  12. package/lib/browser/model/editor2d-document.js +291 -70
  13. package/lib/browser/model/editor2d-document.js.map +1 -1
  14. package/lib/browser/model/editor2d-model.js.map +1 -1
  15. package/lib/browser/model/editor2d-selection.js.map +1 -1
  16. package/lib/browser/model/editor2d-widget.js.map +1 -1
  17. package/lib/browser/model/editor2d.d.ts +8 -4
  18. package/lib/browser/model/editor2d.d.ts.map +1 -1
  19. package/lib/browser/model/editor2d.js +23 -4
  20. package/lib/browser/model/editor2d.js.map +1 -1
  21. package/lib/browser/model/utils/anim.utils.d.ts +3 -0
  22. package/lib/browser/model/utils/anim.utils.d.ts.map +1 -1
  23. package/lib/browser/model/utils/anim.utils.js +10 -4
  24. package/lib/browser/model/utils/anim.utils.js.map +1 -1
  25. package/lib/browser/playground/canvas-draw.d.ts +8 -0
  26. package/lib/browser/playground/canvas-draw.d.ts.map +1 -1
  27. package/lib/browser/playground/canvas-draw.js +29 -15
  28. package/lib/browser/playground/canvas-draw.js.map +1 -1
  29. package/lib/browser/playground/canvas-layer.d.ts +10 -2
  30. package/lib/browser/playground/canvas-layer.d.ts.map +1 -1
  31. package/lib/browser/playground/canvas-layer.js +25 -2
  32. package/lib/browser/playground/canvas-layer.js.map +1 -1
  33. package/lib/browser/playground/entities/extend-entity.d.ts +10 -0
  34. package/lib/browser/playground/entities/extend-entity.d.ts.map +1 -0
  35. package/lib/browser/playground/entities/extend-entity.js +34 -0
  36. package/lib/browser/playground/entities/extend-entity.js.map +1 -0
  37. package/lib/browser/playground/entities/index.d.ts +1 -0
  38. package/lib/browser/playground/entities/index.d.ts.map +1 -1
  39. package/lib/browser/playground/entities/index.js +1 -0
  40. package/lib/browser/playground/entities/index.js.map +1 -1
  41. package/lib/browser/playground/extend-edit-layer-point-event.d.ts +30 -0
  42. package/lib/browser/playground/extend-edit-layer-point-event.d.ts.map +1 -0
  43. package/lib/browser/playground/extend-edit-layer-point-event.js +50 -0
  44. package/lib/browser/playground/extend-edit-layer-point-event.js.map +1 -0
  45. package/lib/browser/playground/extend-edit-layer.d.ts +38 -0
  46. package/lib/browser/playground/extend-edit-layer.d.ts.map +1 -0
  47. package/lib/browser/playground/extend-edit-layer.js +335 -0
  48. package/lib/browser/playground/extend-edit-layer.js.map +1 -0
  49. package/lib/browser/playground/index.d.ts +1 -0
  50. package/lib/browser/playground/index.d.ts.map +1 -1
  51. package/lib/browser/playground/index.js +1 -0
  52. package/lib/browser/playground/index.js.map +1 -1
  53. package/lib/browser/playground/path-edit-layer-move-point.d.ts +15 -0
  54. package/lib/browser/playground/path-edit-layer-move-point.d.ts.map +1 -0
  55. package/lib/browser/playground/path-edit-layer-move-point.js +47 -0
  56. package/lib/browser/playground/path-edit-layer-move-point.js.map +1 -0
  57. package/lib/browser/playground/path-edit-layer-svg-path.d.ts +11 -0
  58. package/lib/browser/playground/path-edit-layer-svg-path.d.ts.map +1 -0
  59. package/lib/browser/playground/path-edit-layer-svg-path.js +21 -0
  60. package/lib/browser/playground/path-edit-layer-svg-path.js.map +1 -0
  61. package/lib/browser/playground/path-edit-layer.d.ts +36 -0
  62. package/lib/browser/playground/path-edit-layer.d.ts.map +1 -0
  63. package/lib/browser/playground/path-edit-layer.js +257 -0
  64. package/lib/browser/playground/path-edit-layer.js.map +1 -0
  65. package/lib/browser/playground/playground-context.js.map +1 -1
  66. package/lib/browser/playground/playground-contribution.d.ts +2 -0
  67. package/lib/browser/playground/playground-contribution.d.ts.map +1 -1
  68. package/lib/browser/playground/playground-contribution.js +40 -3
  69. package/lib/browser/playground/playground-contribution.js.map +1 -1
  70. package/lib/browser/utils/snapshot.d.ts.map +1 -1
  71. package/lib/browser/utils/snapshot.js +1 -1
  72. package/lib/browser/utils/snapshot.js.map +1 -1
  73. package/package.json +9 -7
  74. package/src/browser/editor2d-ref-provider-contribution.ts +8 -8
  75. package/src/browser/model/editor2d-document.ts +278 -49
  76. package/src/browser/model/editor2d.ts +21 -5
  77. package/src/browser/model/utils/anim.utils.ts +9 -2
  78. package/src/browser/playground/canvas-draw.ts +31 -17
  79. package/src/browser/playground/canvas-layer.ts +25 -3
  80. package/src/browser/playground/entities/extend-entity.ts +37 -0
  81. package/src/browser/playground/entities/index.ts +1 -0
  82. package/src/browser/playground/extend-edit-layer-point-event.tsx +71 -0
  83. package/src/browser/playground/extend-edit-layer.tsx +442 -0
  84. package/src/browser/playground/index.ts +1 -0
  85. package/src/browser/playground/path-edit-layer-move-point.tsx +71 -0
  86. package/src/browser/playground/path-edit-layer-svg-path.tsx +50 -0
  87. package/src/browser/playground/path-edit-layer.tsx +330 -0
  88. package/src/browser/playground/playground-contribution.ts +37 -3
  89. package/src/browser/style/canvas-layer.css +16 -0
  90. package/src/browser/style/extend-edit-layer.less +127 -0
  91. package/src/browser/style/index.less +2 -1
  92. package/src/browser/style/path-edit-layer.less +72 -0
  93. package/src/browser/svg/pen+.svg +24 -0
  94. package/src/browser/utils/snapshot.ts +1 -0
  95. package/lib/browser/playground/canvas-draw-layer.d.ts +0 -22
  96. package/lib/browser/playground/canvas-draw-layer.d.ts.map +0 -1
  97. package/lib/browser/playground/canvas-draw-layer.js +0 -102
  98. package/lib/browser/playground/canvas-draw-layer.js.map +0 -1
  99. package/src/browser/playground/canvas-draw-layer.tsx +0 -88
  100. package/src/browser/style/canvas-draw-layer.less +0 -24
@@ -0,0 +1,10 @@
1
+ import { ConfigEntity, EntityJSON } from '@gedit/playground';
2
+ export interface ExtendData {
3
+ selectColorUUid?: string;
4
+ }
5
+ export declare class ExtendEntity extends ConfigEntity<ExtendData> {
6
+ static type: string;
7
+ getDefaultConfig(): ExtendData;
8
+ toJSON(): EntityJSON;
9
+ }
10
+ //# sourceMappingURL=extend-entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extend-entity.d.ts","sourceRoot":"","sources":["../../../../src/browser/playground/entities/extend-entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE7D,MAAM,WAAW,UAAU;IACzB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,qBAAa,YAAa,SAAQ,YAAY,CAAC,UAAU,CAAC;IACxD,MAAM,CAAC,IAAI,SAAwB;IACnC,gBAAgB,IAAI,UAAU;IAoB9B,MAAM,IAAI,UAAU;CAQrB"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExtendEntity = void 0;
4
+ const playground_1 = require("@gedit/playground");
5
+ class ExtendEntity extends playground_1.ConfigEntity {
6
+ getDefaultConfig() {
7
+ return {};
8
+ }
9
+ /*
10
+ /!**
11
+ * 会触发CanvasLayer刷新
12
+ * @param oldData
13
+ * @param newData
14
+ *!/
15
+ checkChanged(oldData: DocumentData, newData: Partial<DocumentData>): boolean {
16
+ // 只判断version变化
17
+ if (newData.document) {
18
+ return oldData.document !== newData.document || oldData.version !== newData.version;
19
+ }
20
+ return false;
21
+ }
22
+ */
23
+ toJSON() {
24
+ return {
25
+ type: this.type,
26
+ id: this.id,
27
+ ableList: this.ables.toJSON(),
28
+ dataList: []
29
+ };
30
+ }
31
+ }
32
+ exports.ExtendEntity = ExtendEntity;
33
+ ExtendEntity.type = 'ExtendConfigEntity';
34
+ //# sourceMappingURL=extend-entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extend-entity.js","sourceRoot":"","sources":["../../../../src/browser/playground/entities/extend-entity.ts"],"names":[],"mappings":";;;AAAA,kDAA6D;AAM7D,MAAa,YAAa,SAAQ,yBAAwB;IAExD,gBAAgB;QACd,OAAO,EAEN,CAAC;IACJ,CAAC;IACD;;;;;;;;;;;;;IAaA;IAEA,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAC7B,QAAQ,EAAE,EAAE;SACb,CAAC;IACJ,CAAC;;AA7BH,oCA8BC;AA7BQ,iBAAI,GAAG,oBAAoB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './document-entity';
2
2
  export * from './editor2d-entity';
3
+ export * from './extend-entity';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/browser/playground/entities/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/browser/playground/entities/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./document-entity"), exports);
18
18
  __exportStar(require("./editor2d-entity"), exports);
19
+ __exportStar(require("./extend-entity"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/browser/playground/entities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,oDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/browser/playground/entities/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,oDAAkC;AAClC,kDAAgC"}
@@ -0,0 +1,30 @@
1
+ import * as React from 'react';
2
+ export interface DifferProps {
3
+ x: number;
4
+ y: number;
5
+ current: {
6
+ x: number;
7
+ y: number;
8
+ };
9
+ start: {
10
+ x: number;
11
+ y: number;
12
+ };
13
+ prev?: {
14
+ x: number;
15
+ y: number;
16
+ };
17
+ }
18
+ interface Props {
19
+ className?: string;
20
+ active?: boolean;
21
+ pointClassName?: string;
22
+ style?: React.CSSProperties;
23
+ pointStyle?: React.CSSProperties;
24
+ onChange?: (differ: DifferProps) => void;
25
+ onMouseDown?: (e: React.MouseEvent) => void;
26
+ onMouseUp?: (e: MouseEvent) => void;
27
+ }
28
+ declare const _default: (props: Props) => JSX.Element;
29
+ export default _default;
30
+ //# sourceMappingURL=extend-edit-layer-point-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extend-edit-layer-point-event.d.ts","sourceRoot":"","sources":["../../../src/browser/playground/extend-edit-layer-point-event.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,OAAO,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,KAAK,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,IAAI,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACjC;AAED,UAAU,KAAK;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACzC,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAC5C,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CACrC;gCAEsB,KAAK;AAA5B,wBAiDE"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const React = require("react");
4
+ exports.default = (props) => {
5
+ const startPoint = React.useRef();
6
+ const prevPoint = React.useRef();
7
+ const onMouseUp = (e) => {
8
+ var _a;
9
+ startPoint.current = undefined;
10
+ prevPoint.current = undefined;
11
+ window.removeEventListener('mousemove', onMouseMove);
12
+ window.removeEventListener('mouseup', onMouseUp);
13
+ (_a = props.onMouseUp) === null || _a === void 0 ? void 0 : _a.call(props, e);
14
+ };
15
+ const onMouseMove = (e) => {
16
+ var _a;
17
+ if (startPoint.current) {
18
+ const x = e.clientX;
19
+ const y = e.clientY;
20
+ (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, {
21
+ x: x - startPoint.current.x,
22
+ y: y - startPoint.current.y,
23
+ current: { x, y },
24
+ prev: prevPoint.current,
25
+ start: startPoint.current,
26
+ });
27
+ prevPoint.current = {
28
+ x: e.clientX,
29
+ y: e.clientY,
30
+ };
31
+ }
32
+ };
33
+ const onMouseDown = (e) => {
34
+ var _a;
35
+ startPoint.current = {
36
+ x: e.clientX,
37
+ y: e.clientY,
38
+ };
39
+ prevPoint.current = {
40
+ x: e.clientX,
41
+ y: e.clientY,
42
+ };
43
+ (_a = props.onMouseDown) === null || _a === void 0 ? void 0 : _a.call(props, e);
44
+ window.addEventListener('mousemove', onMouseMove);
45
+ window.addEventListener('mouseup', onMouseUp);
46
+ };
47
+ return (React.createElement("div", { className: props.className, style: props.style },
48
+ React.createElement("div", { className: props.pointClassName, style: props.pointStyle, onMouseDown: onMouseDown })));
49
+ };
50
+ //# sourceMappingURL=extend-edit-layer-point-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extend-edit-layer-point-event.js","sourceRoot":"","sources":["../../../src/browser/playground/extend-edit-layer-point-event.tsx"],"names":[],"mappings":";;AAAA,+BAA+B;AAqB/B,kBAAe,CAAC,KAAY,EAAE,EAAE;IAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,EAA4B,CAAC;IAC5D,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,EAA4B,CAAC;IAC3D,MAAM,SAAS,GAAG,CAAC,CAAa,EAAE,EAAE;;QAClC,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;QAC/B,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC;QAC9B,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACrD,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACjD,MAAA,KAAK,CAAC,SAAS,sDAAG,CAAC,CAAC,CAAC;IACvB,CAAC,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,CAAa,EAAE,EAAE;;QACpC,IAAI,UAAU,CAAC,OAAO,EAAE;YACtB,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YACpB,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YACpB,MAAA,KAAK,CAAC,QAAQ,sDAAG;gBACf,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;gBAC3B,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;gBAC3B,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;gBACjB,IAAI,EAAE,SAAS,CAAC,OAAO;gBACvB,KAAK,EAAE,UAAU,CAAC,OAAO;aAC1B,CAAC,CAAC;YACH,SAAS,CAAC,OAAO,GAAG;gBAClB,CAAC,EAAE,CAAC,CAAC,OAAO;gBACZ,CAAC,EAAE,CAAC,CAAC,OAAO;aACb,CAAC;SACH;IACH,CAAC,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,CAAmB,EAAE,EAAE;;QAC1C,UAAU,CAAC,OAAO,GAAG;YACnB,CAAC,EAAE,CAAC,CAAC,OAAO;YACZ,CAAC,EAAE,CAAC,CAAC,OAAO;SACb,CAAC;QACF,SAAS,CAAC,OAAO,GAAG;YAClB,CAAC,EAAE,CAAC,CAAC,OAAO;YACZ,CAAC,EAAE,CAAC,CAAC,OAAO;SACb,CAAC;QACF,MAAA,KAAK,CAAC,WAAW,sDAAG,CAAC,CAAC,CAAC;QACvB,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAClD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC,CAAC;IACF,OAAO,CACL,6BAAK,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK;QACjD,6BACE,SAAS,EAAE,KAAK,CAAC,cAAc,EAC/B,KAAK,EAAE,KAAK,CAAC,UAAU,EACvB,WAAW,EAAE,WAAW,GACxB,CACE,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,38 @@
1
+ /// <reference types="react" />
2
+ import { EditorStateConfigEntity, Entity, Layer } from '@gedit/playground';
3
+ import { DocumentEntity, Editor2dEntity, ExtendEntity } from './entities';
4
+ import { Editor2dDocument } from '../model';
5
+ import { ColorSchema } from '@gedit/canvas-draw';
6
+ export declare const EXTEND_EDIT_STATE = "EXTEND_EDIT_STATE";
7
+ /**
8
+ * 扩展编辑
9
+ */
10
+ export declare class ExtendEditLayer extends Layer {
11
+ node: HTMLDivElement;
12
+ protected editorState: EditorStateConfigEntity;
13
+ documentEntity: DocumentEntity;
14
+ extendEntity: ExtendEntity;
15
+ protected selectableNodes: Entity[];
16
+ protected selectKey: string;
17
+ get document(): Editor2dDocument | undefined;
18
+ get isEnabled(): boolean;
19
+ get selectedEntity(): Editor2dEntity | undefined;
20
+ onReady(): void;
21
+ getNodeValue(): ColorSchema | null;
22
+ cloneData(value: any): {
23
+ start: string;
24
+ end: string;
25
+ data: any;
26
+ } | null;
27
+ updateNode(data: any): void;
28
+ protected getConicNode(data: ColorSchema, { width, height }: {
29
+ width: number;
30
+ height: number;
31
+ }): JSX.Element;
32
+ protected getLineAndRadialNode(data: ColorSchema, { width, height }: {
33
+ width: number;
34
+ height: number;
35
+ }): JSX.Element;
36
+ draw(): JSX.Element;
37
+ }
38
+ //# sourceMappingURL=extend-edit-layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extend-edit-layer.d.ts","sourceRoot":"","sources":["../../../src/browser/playground/extend-edit-layer.tsx"],"names":[],"mappings":";AACA,OAAO,EAEL,uBAAuB,EACvB,MAAM,EAEN,KAAK,EAIN,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAGL,WAAW,EAIZ,MAAM,oBAAoB,CAAC;AAK5B,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,IAAI,iBAA0D;IAE9D,SAAS,CAAC,WAAW,EAAE,uBAAuB,CAAC;IACvB,cAAc,EAAE,cAAc,CAAC;IACjC,YAAY,EAAE,YAAY,CAAC;IAC/B,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IACtD,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC;IAC5B,IAAI,QAAQ,IAAI,gBAAgB,GAAG,SAAS,CAE3C;IACD,IAAI,SAAS,IAAI,OAAO,CAEvB;IACD,IAAI,cAAc,IAAI,cAAc,GAAG,SAAS,CAM/C;IACD,OAAO,IAAI,IAAI;IAKf,YAAY,IAAI,WAAW,GAAG,IAAI;IAalC,SAAS,CAAC,KAAK,EAAE,GAAG,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,GAAG,IAAI;IAqBvE,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAW3B,SAAS,CAAC,YAAY,CACpB,IAAI,EAAE,WAAW,EACjB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GACnD,GAAG,CAAC,OAAO;IAoGd,SAAS,CAAC,oBAAoB,CAC5B,IAAI,EAAE,WAAW,EACjB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GACnD,GAAG,CAAC,OAAO;IA8Ld,IAAI,IAAI,GAAG,CAAC,OAAO;CA2CpB"}
@@ -0,0 +1,335 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ExtendEditLayer = exports.EXTEND_EDIT_STATE = void 0;
13
+ const React = require("react");
14
+ const playground_1 = require("@gedit/playground");
15
+ const browser_1 = require("@gedit/utils/lib/browser");
16
+ const clsx_1 = require("clsx");
17
+ const entities_1 = require("./entities");
18
+ const canvas_draw_1 = require("@gedit/canvas-draw");
19
+ const extend_edit_layer_point_event_1 = require("./extend-edit-layer-point-event");
20
+ const utils_1 = require("@gedit/utils");
21
+ const utils_2 = require("@gedit/ui/lib/browser/form-items/utils");
22
+ exports.EXTEND_EDIT_STATE = 'EXTEND_EDIT_STATE';
23
+ /**
24
+ * 扩展编辑
25
+ */
26
+ class ExtendEditLayer extends playground_1.Layer {
27
+ constructor() {
28
+ super(...arguments);
29
+ this.node = browser_1.domUtils.createDivWithClass('gedit-extend-edit-layer');
30
+ }
31
+ get document() {
32
+ return this.documentEntity.config.document;
33
+ }
34
+ get isEnabled() {
35
+ return this.editorState.is(exports.EXTEND_EDIT_STATE);
36
+ }
37
+ get selectedEntity() {
38
+ const nodes = this.selectableNodes.filter(node => { var _a; return (_a = node.getData(playground_1.SelectState)) === null || _a === void 0 ? void 0 : _a.selected; });
39
+ // 只考虑单选模式
40
+ return nodes.length === 1 ? nodes[0] : undefined;
41
+ }
42
+ onReady() {
43
+ this.editorState.onStateChange(({ event }) => {
44
+ this.selectKey = event ? event.key : undefined;
45
+ });
46
+ }
47
+ getNodeValue() {
48
+ const node = this.selectedEntity;
49
+ if (!node) {
50
+ return null;
51
+ }
52
+ const keys = this.selectKey.split('.');
53
+ let n = node.node;
54
+ keys.forEach(c => {
55
+ n = n[c];
56
+ });
57
+ return (0, canvas_draw_1.colorToValue)(n);
58
+ }
59
+ cloneData(value) {
60
+ var _a;
61
+ const node = this.selectedEntity;
62
+ if (!node) {
63
+ return null;
64
+ }
65
+ const keys = this.selectKey.split('.');
66
+ const start = keys.splice(0, 1)[0];
67
+ const end = keys.splice(keys.length - 1, 1)[0];
68
+ const data = (0, utils_1.deepClone)((_a = node.node) === null || _a === void 0 ? void 0 : _a[start]);
69
+ let n = data;
70
+ keys.forEach(c => {
71
+ n = n[c];
72
+ });
73
+ n[end] = value;
74
+ return {
75
+ start,
76
+ end,
77
+ data,
78
+ };
79
+ }
80
+ updateNode(data) {
81
+ var _a;
82
+ const node = this.selectedEntity;
83
+ if (!node) {
84
+ return;
85
+ }
86
+ const { start, data: d } = this.cloneData(JSON.stringify(data)) || {};
87
+ if (start && data) {
88
+ (_a = this.document) === null || _a === void 0 ? void 0 : _a.updateNode(node.node, { [start]: d });
89
+ }
90
+ }
91
+ getConicNode(data, { width, height }) {
92
+ const { range, colors } = data;
93
+ const { angle = canvas_draw_1.defaultGradientRange.angle, cx = canvas_draw_1.defaultGradientRange.cx, cy = canvas_draw_1.defaultGradientRange.cy, } = range || {};
94
+ const r2 = Math.max(width, height);
95
+ const r = r2 / 2;
96
+ return (React.createElement(React.Fragment, null,
97
+ React.createElement("div", { className: "gedit-extend-radial-box gedit-extend-circle-box", style: {
98
+ width: r2,
99
+ height: r2,
100
+ left: -r,
101
+ top: -r,
102
+ transform: `translate(${cx * width}px, ${cy * height}px) rotate(${angle}deg)`,
103
+ } },
104
+ React.createElement(extend_edit_layer_point_event_1.default, { className: "gedit-extend-angle-wrapper", pointClassName: "gedit-extend-angle", style: { transform: `translate(${r2}px, ${r}px)` }, onChange: d => {
105
+ const sx = r + r * Math.cos((angle * Math.PI) / 180);
106
+ const sy = r + r * Math.sin((angle * Math.PI) / 180);
107
+ const nx = sx + d.x;
108
+ const ny = sy + d.y;
109
+ const newVec = (0, canvas_draw_1.asVec)({ x: r, y: r }, { x: nx, y: ny });
110
+ const newAngle = ((newVec.ang / Math.PI) * 180 + 360) % 360;
111
+ const newRange = data.range || {};
112
+ newRange.angle = parseFloat(newAngle.toFixed(4));
113
+ data.range = newRange;
114
+ this.updateNode(data);
115
+ } }),
116
+ colors.map((item, i) => {
117
+ const { offset, color, uuid } = item;
118
+ const x = r + r * Math.cos(offset * Math.PI * 2);
119
+ const y = r + r * Math.sin(offset * Math.PI * 2);
120
+ return (React.createElement(extend_edit_layer_point_event_1.default, { key: uuid, className: "gedit-extend-color-point", pointClassName: (0, clsx_1.default)({
121
+ 'gedit-extend-color-point-active': this.extendEntity.config
122
+ .selectColorUUid
123
+ ? item.uuid === this.extendEntity.config.selectColorUUid
124
+ : !i,
125
+ }), pointStyle: { backgroundColor: color }, style: {
126
+ transform: `translate(${x}px, ${y}px)`,
127
+ }, onChange: d => {
128
+ const currentVec = (0, canvas_draw_1.asVec)({ x: r, y: r }, { x, y });
129
+ const sx = r + r * Math.cos(currentVec.ang + (angle * Math.PI) / 180);
130
+ const sy = r + r * Math.sin(currentVec.ang + (angle * Math.PI) / 180);
131
+ const nx = sx + d.x;
132
+ const ny = sy + d.y;
133
+ const newVec = (0, canvas_draw_1.asVec)({ x: r, y: r }, { x: nx, y: ny });
134
+ const newAngle = (newVec.ang - (angle * Math.PI) / 180 + Math.PI * 2) %
135
+ (Math.PI * 2);
136
+ const newOffset = newAngle / (Math.PI * 2);
137
+ item.offset = newOffset;
138
+ data.colors = colors.sort((a, b) => a.offset - b.offset);
139
+ this.updateNode(data);
140
+ }, onMouseDown: () => {
141
+ this.extendEntity.updateConfig({ selectColorUUid: uuid });
142
+ } }));
143
+ })),
144
+ React.createElement(extend_edit_layer_point_event_1.default, { className: "gedit-extend-origin-wrapper", style: {
145
+ transform: `translate(${cx * width}px, ${cy * height}px)`,
146
+ }, pointClassName: "gedit-extend-origin", onChange: d => {
147
+ const newRange = data.range || {};
148
+ newRange.cx = parseFloat((cx + d.x / width).toFixed(4));
149
+ newRange.cy = parseFloat((cy + d.y / height).toFixed(4));
150
+ data.range = newRange;
151
+ this.updateNode(data);
152
+ } })));
153
+ }
154
+ getLineAndRadialNode(data, { width, height }) {
155
+ const { range, colors } = data;
156
+ const { lx = canvas_draw_1.defaultGradientRange.lx, ly = canvas_draw_1.defaultGradientRange.ly, lx2 = canvas_draw_1.defaultGradientRange.lx2, ly2 = canvas_draw_1.defaultGradientRange.ly2, w = canvas_draw_1.defaultGradientRange.w, } = range || {};
157
+ const onRangeChange = (p, c, keyP) => {
158
+ const x = c.x + p.x / width;
159
+ const y = c.y + p.y / height;
160
+ const range = data.range || {};
161
+ range[keyP.x] = parseFloat(x.toFixed(4));
162
+ range[keyP.y] = parseFloat(y.toFixed(4));
163
+ data.range = range;
164
+ this.updateNode(data);
165
+ };
166
+ const centerX = lx * width;
167
+ const centerY = ly * height;
168
+ const toX = lx2 * width;
169
+ const toY = ly2 * height;
170
+ const a = (0, canvas_draw_1.asVec)({ x: centerX, y: centerY }, { x: toX, y: toY });
171
+ const r = (a.ang / Math.PI) * 180;
172
+ const colorPointToRender = colors.map((item, i) => {
173
+ const { offset, color, uuid } = item;
174
+ const x = lx * width + offset * (lx2 - lx) * width;
175
+ const y = ly * height + offset * (ly2 - ly) * height;
176
+ return (React.createElement(extend_edit_layer_point_event_1.default, { key: uuid, className: "gedit-extend-color-point", pointClassName: (0, clsx_1.default)({
177
+ 'gedit-extend-color-point-active': this.extendEntity.config
178
+ .selectColorUUid
179
+ ? item.uuid === this.extendEntity.config.selectColorUUid
180
+ : !i,
181
+ }), style: {
182
+ transform: `translate(${x}px, ${y}px)`,
183
+ }, pointStyle: { backgroundColor: color }, onChange: (diff) => {
184
+ // Change 用的开始的 x,y, react state管理机制
185
+ const sx = x || 0;
186
+ const sy = y || 0;
187
+ let nx = sx + diff.x;
188
+ nx =
189
+ a.ang < Math.PI / 2 && a.ang > -Math.PI / 2 && nx < centerX
190
+ ? centerX
191
+ : nx;
192
+ nx =
193
+ (a.ang > Math.PI / 2 || a.ang < -Math.PI / 2) && nx > centerX
194
+ ? centerX
195
+ : nx;
196
+ let ny = sy + diff.y;
197
+ ny = a.ang < Math.PI && a.ang > 0 && ny < centerY ? centerY : ny;
198
+ ny = (a.ang > Math.PI || a.ang < 0) && ny > centerY ? centerY : ny;
199
+ const newLen = (0, canvas_draw_1.getLineWidth)({ x: centerX, y: centerY }, { x: nx, y: ny });
200
+ let newDiffer = newLen / a.len;
201
+ newDiffer = newDiffer < 0 ? 0 : newDiffer;
202
+ newDiffer = newDiffer > 1 ? 1 : newDiffer;
203
+ item.offset = newDiffer;
204
+ data.colors = colors.sort((a, b) => a.offset - b.offset);
205
+ this.updateNode(data);
206
+ }, onMouseDown: () => {
207
+ this.extendEntity.updateConfig({ selectColorUUid: uuid });
208
+ } }));
209
+ });
210
+ const radialGradientBox = data.mode === 'radialGradient' && (React.createElement(extend_edit_layer_point_event_1.default, { className: "gedit-extend-radial-box", style: {
211
+ width: w * a.len * 2,
212
+ height: a.len * 2,
213
+ left: -w * a.len,
214
+ top: -a.len,
215
+ transform: `translate(${centerX}px, ${centerY}px) rotate(${r - 90}deg)`,
216
+ }, pointClassName: "gedit-extend-radial-point", onChange: p => {
217
+ const px = a.len * Math.cos(a.ang + Math.PI / 2) * w;
218
+ const py = a.len * Math.sin(a.ang + Math.PI / 2) * w;
219
+ let nx = px + p.x;
220
+ let ny = py + p.y;
221
+ nx = a.ang < Math.PI && a.ang > 0 && nx > 0 ? 0 : nx;
222
+ nx = (a.ang > Math.PI || a.ang < 0) && nx < 0 ? 0 : nx;
223
+ ny = a.ang < Math.PI / 2 && a.ang > -Math.PI / 2 && ny < 0 ? 0 : ny;
224
+ ny = (a.ang > Math.PI / 2 || a.ang < -Math.PI / 2) && ny > 0 ? 0 : ny;
225
+ const newVec = (0, canvas_draw_1.asVec)({ x: nx, y: ny }, { x: 0, y: 0 });
226
+ const newW = newVec.len / a.len;
227
+ const range = data.range || {};
228
+ range.w = newW;
229
+ data.range = range;
230
+ this.updateNode(data);
231
+ } }));
232
+ const lineBar = (React.createElement("div", { className: "gedit-extend-range-line", style: {
233
+ width: a.len,
234
+ transform: `translate(${lx * width}px, ${ly * height}px) rotate(${r}deg)`,
235
+ }, onClick: (e) => {
236
+ const parentNode = e.target
237
+ .parentNode;
238
+ const rect = parentNode.getBoundingClientRect();
239
+ const x = e.clientX - rect.x;
240
+ const y = e.clientY - rect.y;
241
+ const newLen = (0, canvas_draw_1.getLineWidth)({ x: centerX, y: centerY }, { x, y });
242
+ const percent = newLen / a.len;
243
+ const startColorArray = colors.filter(c => c.offset < percent);
244
+ const startColor = startColorArray[startColorArray.length - 1];
245
+ const endColor = colors.find(c => c.offset > percent);
246
+ let newColor;
247
+ if (endColor && startColor) {
248
+ const newPercent = (1 / ((endColor === null || endColor === void 0 ? void 0 : endColor.offset) - startColor.offset)) *
249
+ (percent - startColor.offset);
250
+ newColor = (0, utils_2.getGradientColorByPercent)(newPercent, startColor.color, endColor.color);
251
+ }
252
+ else {
253
+ newColor = startColor ? startColor.color : endColor.color;
254
+ }
255
+ const color = {
256
+ offset: percent,
257
+ color: newColor,
258
+ uuid: (0, utils_1.generateUuid)(),
259
+ };
260
+ this.extendEntity.updateConfig({
261
+ selectColorUUid: color.uuid,
262
+ });
263
+ const newColors = [...colors];
264
+ newColors.splice(startColorArray.length, 0, color);
265
+ data.colors = newColors;
266
+ this.updateNode(data);
267
+ } }));
268
+ return (React.createElement(React.Fragment, null,
269
+ radialGradientBox,
270
+ lineBar,
271
+ React.createElement(extend_edit_layer_point_event_1.default, { className: "gedit-extend-range-point gedit-extend-center-point", style: {
272
+ transform: `translate(${lx * width}px, ${ly * height}px) rotate(${r - 90}deg)` /* left: `${lx * 100}%`, top: ` ${ly * 100}%` */,
273
+ }, onChange: p => {
274
+ onRangeChange(p, { x: lx, y: ly }, { x: 'lx', y: 'ly' });
275
+ } }),
276
+ React.createElement(extend_edit_layer_point_event_1.default, { className: "gedit-extend-range-point gedit-extend-radius-point", style: {
277
+ transform: `translate(${lx2 * width}px, ${ly2 * height}px) rotate(${r - 90}deg)`,
278
+ }, onChange: p => {
279
+ onRangeChange(p, { x: lx2, y: ly2 }, { x: 'lx2', y: 'ly2' });
280
+ } }),
281
+ colorPointToRender));
282
+ }
283
+ draw() {
284
+ const node = this.selectedEntity;
285
+ if (!this.document || !node || !this.isEnabled)
286
+ return React.createElement(React.Fragment, null);
287
+ const transform = node.getData(playground_1.TransformData);
288
+ const bounds = transform.boundsWithoutRotation;
289
+ const rotate = transform.worldDegree;
290
+ const scale = this.config.finalScale; // 画布缩放比例
291
+ const width = bounds.width * scale;
292
+ const height = bounds.height * scale;
293
+ const style = {
294
+ left: bounds.x * scale,
295
+ top: bounds.y * scale,
296
+ width,
297
+ height,
298
+ transform: rotate ? `rotate(${rotate}deg)` : undefined,
299
+ };
300
+ const data = this.getNodeValue();
301
+ let child = null;
302
+ if (data && typeof data === 'object') {
303
+ switch (data === null || data === void 0 ? void 0 : data.mode) {
304
+ case 'lineGradient':
305
+ case 'radialGradient':
306
+ child = this.getLineAndRadialNode(data, { width, height });
307
+ break;
308
+ case 'conicGradient':
309
+ child = this.getConicNode(data, { width, height });
310
+ break;
311
+ }
312
+ }
313
+ return (React.createElement("div", { className: "gedit-extend-edit-item", style: style, onMouseDown: e => {
314
+ e.stopPropagation();
315
+ } }, child));
316
+ }
317
+ }
318
+ __decorate([
319
+ (0, playground_1.entity)(playground_1.EditorStateConfigEntity),
320
+ __metadata("design:type", playground_1.EditorStateConfigEntity)
321
+ ], ExtendEditLayer.prototype, "editorState", void 0);
322
+ __decorate([
323
+ (0, playground_1.entity)(entities_1.DocumentEntity),
324
+ __metadata("design:type", entities_1.DocumentEntity)
325
+ ], ExtendEditLayer.prototype, "documentEntity", void 0);
326
+ __decorate([
327
+ (0, playground_1.entity)(entities_1.ExtendEntity),
328
+ __metadata("design:type", entities_1.ExtendEntity)
329
+ ], ExtendEditLayer.prototype, "extendEntity", void 0);
330
+ __decorate([
331
+ (0, playground_1.able)(playground_1.Selectable),
332
+ __metadata("design:type", Array)
333
+ ], ExtendEditLayer.prototype, "selectableNodes", void 0);
334
+ exports.ExtendEditLayer = ExtendEditLayer;
335
+ //# sourceMappingURL=extend-edit-layer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extend-edit-layer.js","sourceRoot":"","sources":["../../../src/browser/playground/extend-edit-layer.tsx"],"names":[],"mappings":"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"}
@@ -5,4 +5,5 @@ export * from './canvas-layer';
5
5
  export * from './canvas-draw';
6
6
  export { SelectorExtendType } from './selector-extend-icons';
7
7
  export * from './selector-extend-renderer';
8
+ export * from './extend-edit-layer';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/browser/playground/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAE9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,cAAc,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/browser/playground/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAE9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC"}
@@ -23,4 +23,5 @@ __exportStar(require("./canvas-draw"), exports);
23
23
  var selector_extend_icons_1 = require("./selector-extend-icons");
24
24
  Object.defineProperty(exports, "SelectorExtendType", { enumerable: true, get: function () { return selector_extend_icons_1.SelectorExtendType; } });
25
25
  __exportStar(require("./selector-extend-renderer"), exports);
26
+ __exportStar(require("./extend-edit-layer"), exports);
26
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/browser/playground/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,uDAAqC;AACrC,4DAA0C;AAC1C,iDAA+B;AAC/B,gDAA8B;AAE9B,iEAA6D;AAApD,2HAAA,kBAAkB,OAAA;AAC3B,6DAA2C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/browser/playground/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,uDAAqC;AACrC,4DAA0C;AAC1C,iDAA+B;AAC/B,gDAA8B;AAE9B,iEAA6D;AAApD,2HAAA,kBAAkB,OAAA;AAC3B,6DAA2C;AAC3C,sDAAoC"}
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ import { PathChild } from '@gedit/canvas-draw';
3
+ import { PositionSchema } from '@gedit/playground';
4
+ export interface PointSchema extends PositionSchema {
5
+ id?: string;
6
+ }
7
+ export declare const PointDefault: ({ getPosFromMouseEvent, paths, scale, }: {
8
+ getPosFromMouseEvent: (event: {
9
+ clientX: number;
10
+ clientY: number;
11
+ }, addScale?: boolean) => PointSchema;
12
+ paths: PathChild[];
13
+ scale: number;
14
+ }) => JSX.Element;
15
+ //# sourceMappingURL=path-edit-layer-move-point.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-edit-layer-move-point.d.ts","sourceRoot":"","sources":["../../../src/browser/playground/path-edit-layer-move-point.tsx"],"names":[],"mappings":";AACA,OAAO,EAAuB,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AACD,eAAO,MAAM,YAAY;kCAMd;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,aACU,OAAO,KACf,WAAW;WACT,SAAS,EAAE;WACX,MAAM;iBAkDd,CAAC"}