@emabuild/core 0.0.2 → 0.0.3

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 (69) hide show
  1. package/dist/dnd/drag-manager.d.ts +13 -14
  2. package/dist/dnd/drag-manager.d.ts.map +1 -1
  3. package/dist/dnd/drop-indicator.d.ts +24 -0
  4. package/dist/dnd/drop-indicator.d.ts.map +1 -0
  5. package/dist/dnd/shadow-dom-utils.d.ts +29 -0
  6. package/dist/dnd/shadow-dom-utils.d.ts.map +1 -0
  7. package/dist/index.js +1 -1
  8. package/dist/{mail-editor-CoB2C5CT.js → mail-editor-ClkIyPni.js} +676 -869
  9. package/dist/mail-editor-ClkIyPni.js.map +1 -0
  10. package/dist/mail-editor.js +1 -1
  11. package/dist/properties/property-panel.d.ts +4 -9
  12. package/dist/properties/property-panel.d.ts.map +1 -1
  13. package/dist/properties/widgets/alignment-widget.d.ts +4 -0
  14. package/dist/properties/widgets/alignment-widget.d.ts.map +1 -0
  15. package/dist/properties/widgets/color-picker-widget.d.ts +4 -0
  16. package/dist/properties/widgets/color-picker-widget.d.ts.map +1 -0
  17. package/dist/properties/widgets/dropdown-widget.d.ts +4 -0
  18. package/dist/properties/widgets/dropdown-widget.d.ts.map +1 -0
  19. package/dist/properties/widgets/index.d.ts +8 -0
  20. package/dist/properties/widgets/index.d.ts.map +1 -0
  21. package/dist/properties/widgets/padding-widget.d.ts +4 -0
  22. package/dist/properties/widgets/padding-widget.d.ts.map +1 -0
  23. package/dist/properties/widgets/text-input-widget.d.ts +4 -0
  24. package/dist/properties/widgets/text-input-widget.d.ts.map +1 -0
  25. package/dist/properties/widgets/textarea-widget.d.ts +4 -0
  26. package/dist/properties/widgets/textarea-widget.d.ts.map +1 -0
  27. package/dist/properties/widgets/toggle-widget.d.ts +4 -0
  28. package/dist/properties/widgets/toggle-widget.d.ts.map +1 -0
  29. package/dist/sidebar/body-settings.d.ts +15 -0
  30. package/dist/sidebar/body-settings.d.ts.map +1 -0
  31. package/dist/sidebar/editor-sidebar.d.ts +0 -3
  32. package/dist/sidebar/editor-sidebar.d.ts.map +1 -1
  33. package/dist/state/design-factory.d.ts +9 -0
  34. package/dist/state/design-factory.d.ts.map +1 -0
  35. package/dist/state/design-lookup.d.ts +14 -0
  36. package/dist/state/design-lookup.d.ts.map +1 -0
  37. package/dist/state/editor-store.d.ts +24 -7
  38. package/dist/state/editor-store.d.ts.map +1 -1
  39. package/dist/state/history-manager.d.ts +20 -0
  40. package/dist/state/history-manager.d.ts.map +1 -0
  41. package/dist/tools/built-in/button-tool.d.ts.map +1 -1
  42. package/dist/tools/built-in/divider-tool.d.ts.map +1 -1
  43. package/dist/tools/built-in/form-tool.d.ts.map +1 -1
  44. package/dist/tools/built-in/heading-tool.d.ts.map +1 -1
  45. package/dist/tools/built-in/html-tool.d.ts.map +1 -1
  46. package/dist/tools/built-in/image-tool.d.ts.map +1 -1
  47. package/dist/tools/built-in/menu-tool.d.ts.map +1 -1
  48. package/dist/tools/built-in/paragraph-tool.d.ts.map +1 -1
  49. package/dist/tools/built-in/social-tool.d.ts.map +1 -1
  50. package/dist/tools/built-in/table-tool.d.ts.map +1 -1
  51. package/dist/tools/built-in/text-tool.d.ts.map +1 -1
  52. package/dist/tools/built-in/timer-tool.d.ts.map +1 -1
  53. package/dist/tools/built-in/video-tool.d.ts.map +1 -1
  54. package/dist/tools/helpers/email-html.d.ts +55 -0
  55. package/dist/tools/helpers/email-html.d.ts.map +1 -0
  56. package/dist/tools/helpers/index.d.ts +5 -0
  57. package/dist/tools/helpers/index.d.ts.map +1 -0
  58. package/dist/tools/helpers/types.d.ts +36 -0
  59. package/dist/tools/helpers/types.d.ts.map +1 -0
  60. package/dist/tools/helpers/value-extractor.d.ts +31 -0
  61. package/dist/tools/helpers/value-extractor.d.ts.map +1 -0
  62. package/dist/utils/event-emitter.d.ts +32 -4
  63. package/dist/utils/event-emitter.d.ts.map +1 -1
  64. package/dist/utils/id-generator.d.ts +17 -3
  65. package/dist/utils/id-generator.d.ts.map +1 -1
  66. package/package.json +3 -3
  67. package/dist/mail-editor-CoB2C5CT.js.map +0 -1
  68. package/dist/utils/deep-clone.d.ts +0 -2
  69. package/dist/utils/deep-clone.d.ts.map +0 -1
@@ -5,26 +5,25 @@ export declare class DragManager {
5
5
  private toolRegistry;
6
6
  private root;
7
7
  private currentDrop;
8
- private indicator;
8
+ private contentIndicator;
9
9
  private rowIndicator;
10
10
  constructor(store: EditorStore, toolRegistry: ToolRegistry, root: ShadowRoot);
11
+ /** Attach all drag event listeners to the shadow root */
11
12
  attach(): void;
12
- private createIndicator;
13
+ /** Remove all event listeners and clean up indicators */
13
14
  detach(): void;
14
- private handleDragStart;
15
- private handleDragOver;
16
- private handleDrop;
17
- private handleDragEnd;
18
- private handleDragLeave;
19
- private findRowDropPosition;
20
- private findContentDropPosition;
15
+ private onDragOver;
16
+ private onDrop;
17
+ private onDragEnd;
18
+ private onDragLeave;
19
+ private handleLayoutDrop;
20
+ private handleToolDrop;
21
+ private handleContentDrop;
22
+ private findRowDropTarget;
23
+ private findContentDropTarget;
21
24
  private showContentIndicator;
22
25
  private showRowIndicator;
23
- private hideIndicator;
24
- private hideRowIndicator;
26
+ private hideAllIndicators;
25
27
  private reset;
26
- private queryShadowAll;
27
- private walkShadowDom;
28
- private findContentElement;
29
28
  }
30
29
  //# sourceMappingURL=drag-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"drag-manager.d.ts","sourceRoot":"","sources":["../../src/dnd/drag-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAiB9D,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,YAAY,CAA4B;gBAEpC,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU;IAM5E,MAAM,IAAI,IAAI;IAad,OAAO,CAAC,eAAe;IAgBvB,MAAM,IAAI,IAAI;IAiBd,OAAO,CAAC,eAAe,CAGrB;IAMF,OAAO,CAAC,cAAc,CAkCpB;IAMF,OAAO,CAAC,UAAU,CA8ChB;IAEF,OAAO,CAAC,aAAa,CAInB;IAEF,OAAO,CAAC,eAAe,CAOrB;IAMF,OAAO,CAAC,mBAAmB;IAgC3B,OAAO,CAAC,uBAAuB;IAwD/B,OAAO,CAAC,oBAAoB;IAiC5B,OAAO,CAAC,gBAAgB;IAmCxB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,KAAK;IAUb,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,kBAAkB;CAc3B"}
1
+ {"version":3,"file":"drag-manager.d.ts","sourceRoot":"","sources":["../../src/dnd/drag-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAe9D,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,YAAY,CAA4B;gBAEpC,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU;IAM5E,yDAAyD;IACzD,MAAM,IAAI,IAAI;IASd,yDAAyD;IACzD,MAAM,IAAI,IAAI;IAWd,OAAO,CAAC,UAAU,CAoBhB;IAEF,OAAO,CAAC,MAAM,CAqBZ;IAEF,OAAO,CAAC,SAAS,CAGf;IAEF,OAAO,CAAC,WAAW,CAMjB;IAIF,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,iBAAiB;IAqBzB,OAAO,CAAC,qBAAqB;IAgD7B,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,KAAK;CAId"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @module drop-indicator
3
+ *
4
+ * Reusable drop indicator creation and positioning.
5
+ * Used by DragManager for both content-level (blue) and row-level (purple) indicators.
6
+ */
7
+ /**
8
+ * Create a floating drop indicator element.
9
+ * @param color - CSS color for the indicator line
10
+ * @returns An absolutely-positioned HTMLElement (hidden by default)
11
+ */
12
+ export declare function createDropIndicator(color: string): HTMLElement;
13
+ /**
14
+ * Position an indicator at a specific Y offset within a container.
15
+ * @param indicator - The indicator element
16
+ * @param container - The shadow root or element to append the indicator to
17
+ * @param items - The list of elements to position between
18
+ * @param index - The insertion index (0 = before first, items.length = after last)
19
+ * @param insetX - Horizontal inset from edges (e.g. "4px" for content, "0" for rows)
20
+ */
21
+ export declare function positionIndicator(indicator: HTMLElement, container: ShadowRoot | HTMLElement, items: HTMLElement[], index: number, insetX?: string): void;
22
+ /** Hide a drop indicator */
23
+ export declare function hideIndicator(indicator: HTMLElement | null): void;
24
+ //# sourceMappingURL=drop-indicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drop-indicator.d.ts","sourceRoot":"","sources":["../../src/dnd/drop-indicator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAe9D;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,WAAW,EACtB,SAAS,EAAE,UAAU,GAAG,WAAW,EACnC,KAAK,EAAE,WAAW,EAAE,EACpB,KAAK,EAAE,MAAM,EACb,MAAM,SAAQ,GACb,IAAI,CA2BN;AAED,4BAA4B;AAC5B,wBAAgB,aAAa,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,CAEjE"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @module shadow-dom-utils
3
+ *
4
+ * Utilities for traversing nested shadow DOM trees.
5
+ * Required because the editor uses Lit Web Components with shadow DOM,
6
+ * and standard `querySelectorAll` doesn't cross shadow boundaries.
7
+ */
8
+ /**
9
+ * Recursively walk all elements across shadow DOM boundaries.
10
+ * @param root - Starting point (ShadowRoot or HTMLElement)
11
+ * @param callback - Called for each element encountered
12
+ */
13
+ export declare function walkShadowDom(root: ShadowRoot | HTMLElement, callback: (el: HTMLElement) => void): void;
14
+ /**
15
+ * Query all elements matching a selector across shadow DOM boundaries.
16
+ * @param root - Starting point
17
+ * @param selector - CSS selector to match
18
+ * @returns Array of matching elements
19
+ */
20
+ export declare function queryShadowAll<T extends HTMLElement>(root: ShadowRoot | HTMLElement, selector: string): T[];
21
+ /**
22
+ * Walk up the DOM tree (including shadow DOM boundaries) to find
23
+ * an ancestor with a specific `data-*` attribute.
24
+ * @param el - Starting element
25
+ * @param dataKey - The dataset key to look for (e.g. "contentId" for data-content-id)
26
+ * @returns The matching ancestor element, or null
27
+ */
28
+ export declare function findAncestorWithData(el: HTMLElement | null, dataKey: string): HTMLElement | null;
29
+ //# sourceMappingURL=shadow-dom-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadow-dom-utils.d.ts","sourceRoot":"","sources":["../../src/dnd/shadow-dom-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,GAAG,IAAI,CAQvG;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,WAAW,EAAE,IAAI,EAAE,UAAU,GAAG,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,EAAE,CAM3G;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAYhG"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { E, M, T } from "./mail-editor-CoB2C5CT.js";
1
+ import { E, M, T } from "./mail-editor-ClkIyPni.js";
2
2
  export {
3
3
  E as EditorStore,
4
4
  M as MailEditorElement,