@maildeno/editor 0.4.4 → 0.4.6

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 (226) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/dist/DatePicker-6dMK-shv.js +5639 -0
  3. package/dist/DatePicker-CEm1DPgG.js +5640 -0
  4. package/dist/HealthIndicator-Ch5Ck0BL.js +1954 -0
  5. package/dist/HealthIndicator-Dr5vMr1T.js +1953 -0
  6. package/dist/PreviewCanvas-CG52GC5m.js +667 -0
  7. package/dist/PreviewCanvas-CjOrVIGt.js +668 -0
  8. package/dist/RichTextEditor-DaaHuVox.js +13487 -0
  9. package/dist/RichTextEditor-DoWpYF0R.js +13432 -0
  10. package/dist/RowPreviewChildren-DQoyExvw.js +4 -0
  11. package/dist/RowPreviewChildren-yl3aB7hb.js +4 -0
  12. package/dist/{RowPreviewLegacyComponent-B1rwsYW_.js → RowPreviewLegacyComponent-CHxbwy9l.js} +11 -11
  13. package/dist/{RowPreviewRow-BjO2HdFR.js → RowPreviewRow-Bizr4PTf.js} +12 -12
  14. package/dist/{RowPreviewRow-D8yJ4LSs.js → RowPreviewRow-CLhz0YQ5.js} +1 -1
  15. package/dist/SavedRowsPanel-C0DkAzHi.js +611 -0
  16. package/dist/SavedRowsPanel-Cp3gADrK.js +610 -0
  17. package/dist/editor.css +1 -1
  18. package/dist/element-CRfWpZos.js +40842 -0
  19. package/dist/element.js +1 -1
  20. package/dist/index-BlYp4vAp.js +34092 -0
  21. package/dist/index.js +6 -6
  22. package/dist/init.js +2 -2
  23. package/package.json +7 -9
  24. package/dist/RowPreviewChildren-C_6CFAct.js +0 -4
  25. package/dist/RowPreviewChildren-y7meU9Pj.js +0 -4
  26. package/dist/adapters/index.d.ts +0 -38
  27. package/dist/baseStyles.d.ts +0 -13
  28. package/dist/blocks/canvasStyleHelpers.d.ts +0 -17
  29. package/dist/blocks/definitions/anchor.d.ts +0 -2
  30. package/dist/blocks/definitions/button.d.ts +0 -2
  31. package/dist/blocks/definitions/divider.d.ts +0 -2
  32. package/dist/blocks/definitions/heading.d.ts +0 -2
  33. package/dist/blocks/definitions/image.d.ts +0 -2
  34. package/dist/blocks/definitions/list.d.ts +0 -2
  35. package/dist/blocks/definitions/menu.d.ts +0 -2
  36. package/dist/blocks/definitions/paragraph.d.ts +0 -2
  37. package/dist/blocks/definitions/socials.d.ts +0 -2
  38. package/dist/blocks/definitions/spacer.d.ts +0 -2
  39. package/dist/blocks/definitions/video.d.ts +0 -2
  40. package/dist/blocks/index.d.ts +0 -8
  41. package/dist/brand.d.ts +0 -15
  42. package/dist/components/DesktopOnlyNotice.vue.d.ts +0 -20
  43. package/dist/components/features/emailBuilder/assistant/AssistantPanel.vue.d.ts +0 -37
  44. package/dist/components/features/emailBuilder/blocks/AnchorBlock.vue.d.ts +0 -3
  45. package/dist/components/features/emailBuilder/blocks/ButtonBlock.vue.d.ts +0 -3
  46. package/dist/components/features/emailBuilder/blocks/DividerBlock.vue.d.ts +0 -3
  47. package/dist/components/features/emailBuilder/blocks/HeadingBlock.vue.d.ts +0 -3
  48. package/dist/components/features/emailBuilder/blocks/ImageBlock.vue.d.ts +0 -3
  49. package/dist/components/features/emailBuilder/blocks/ListBlock.vue.d.ts +0 -3
  50. package/dist/components/features/emailBuilder/blocks/MenuBlock.vue.d.ts +0 -3
  51. package/dist/components/features/emailBuilder/blocks/ParagraphBlock.vue.d.ts +0 -3
  52. package/dist/components/features/emailBuilder/blocks/SocialsBlock.vue.d.ts +0 -3
  53. package/dist/components/features/emailBuilder/blocks/SpacerBlock.vue.d.ts +0 -3
  54. package/dist/components/features/emailBuilder/blocks/VideoBlock.vue.d.ts +0 -3
  55. package/dist/components/features/emailBuilder/canvas/Canvas.vue.d.ts +0 -3
  56. package/dist/components/features/emailBuilder/canvas/CanvasColumn.vue.d.ts +0 -49
  57. package/dist/components/features/emailBuilder/canvas/CanvasComponent.vue.d.ts +0 -56
  58. package/dist/components/features/emailBuilder/canvas/CanvasElement.vue.d.ts +0 -21
  59. package/dist/components/features/emailBuilder/canvas/CanvasRow.vue.d.ts +0 -49
  60. package/dist/components/features/emailBuilder/canvas/CanvasRowSpacer.vue.d.ts +0 -40
  61. package/dist/components/features/emailBuilder/health/HealthIndicator.vue.d.ts +0 -3
  62. package/dist/components/features/emailBuilder/layout/Header.vue.d.ts +0 -54
  63. package/dist/components/features/emailBuilder/layout/SendEmail.vue.d.ts +0 -21
  64. package/dist/components/features/emailBuilder/layout/SidebarLeft.vue.d.ts +0 -3
  65. package/dist/components/features/emailBuilder/layout/SidebarRight.vue.d.ts +0 -3
  66. package/dist/components/features/emailBuilder/panels/AnchorPanel.vue.d.ts +0 -3
  67. package/dist/components/features/emailBuilder/panels/ButtonPanel.vue.d.ts +0 -3
  68. package/dist/components/features/emailBuilder/panels/DividerPanel.vue.d.ts +0 -3
  69. package/dist/components/features/emailBuilder/panels/HeadingPanel.vue.d.ts +0 -3
  70. package/dist/components/features/emailBuilder/panels/ImagePanel.vue.d.ts +0 -3
  71. package/dist/components/features/emailBuilder/panels/ListPanel.vue.d.ts +0 -3
  72. package/dist/components/features/emailBuilder/panels/MenuPanel.vue.d.ts +0 -3
  73. package/dist/components/features/emailBuilder/panels/ParagraphPanel.vue.d.ts +0 -3
  74. package/dist/components/features/emailBuilder/panels/RowColumnPanel.vue.d.ts +0 -13
  75. package/dist/components/features/emailBuilder/panels/RowPanel.vue.d.ts +0 -13
  76. package/dist/components/features/emailBuilder/panels/RowSpacerPanel.vue.d.ts +0 -13
  77. package/dist/components/features/emailBuilder/panels/SocialsPanel.vue.d.ts +0 -3
  78. package/dist/components/features/emailBuilder/panels/SpacerPanel.vue.d.ts +0 -3
  79. package/dist/components/features/emailBuilder/panels/VideoPanel.vue.d.ts +0 -3
  80. package/dist/components/features/emailBuilder/panels/shared/DeviceTabs.vue.d.ts +0 -19
  81. package/dist/components/features/emailBuilder/panels/shared/LinkFieldMergeTags.vue.d.ts +0 -31
  82. package/dist/components/features/emailBuilder/panels/shared/OverrideBadge.vue.d.ts +0 -9
  83. package/dist/components/features/emailBuilder/panels/shared/PreviewBadge.vue.d.ts +0 -11
  84. package/dist/components/features/emailBuilder/panels/shared/TextFieldMergeTags.vue.d.ts +0 -25
  85. package/dist/components/features/emailBuilder/panels/ui/BoxStylingSection.vue.d.ts +0 -7
  86. package/dist/components/features/emailBuilder/panels/ui/PropertyAlignment.vue.d.ts +0 -30
  87. package/dist/components/features/emailBuilder/panels/ui/PropertyColor.vue.d.ts +0 -75
  88. package/dist/components/features/emailBuilder/panels/ui/PropertyGradientColor.vue.d.ts +0 -27
  89. package/dist/components/features/emailBuilder/panels/ui/PropertyNumberSlider.vue.d.ts +0 -74
  90. package/dist/components/features/emailBuilder/panels/ui/PropertySection.vue.d.ts +0 -17
  91. package/dist/components/features/emailBuilder/panels/ui/PropertySelect.vue.d.ts +0 -74
  92. package/dist/components/features/emailBuilder/panels/ui/PropertyTextStyle.vue.d.ts +0 -52
  93. package/dist/components/features/emailBuilder/panels/ui/PropertyTextStylePanel.vue.d.ts +0 -72
  94. package/dist/components/features/emailBuilder/panels/ui/PropertyToggle.vue.d.ts +0 -45
  95. package/dist/components/features/emailBuilder/panels/ui/PropertyVisibility.vue.d.ts +0 -32
  96. package/dist/components/features/emailBuilder/panels/ui/SpacingControl.vue.d.ts +0 -19
  97. package/dist/components/features/emailBuilder/panels/ui/color-picker/AlphaSlider.vue.d.ts +0 -28
  98. package/dist/components/features/emailBuilder/panels/ui/color-picker/ColorPickerPanel.vue.d.ts +0 -31
  99. package/dist/components/features/emailBuilder/panels/ui/color-picker/HueSlider.vue.d.ts +0 -19
  100. package/dist/components/features/emailBuilder/panels/ui/color-picker/RecentColors.vue.d.ts +0 -20
  101. package/dist/components/features/emailBuilder/panels/ui/color-picker/SVPanel.vue.d.ts +0 -39
  102. package/dist/components/features/emailBuilder/panels/ui/visibility-rule/Rule.vue.d.ts +0 -28
  103. package/dist/components/features/emailBuilder/preview/PreviewScreen.vue.d.ts +0 -7
  104. package/dist/components/features/emailBuilder/preview/ui/PreviewCanvas.vue.d.ts +0 -10
  105. package/dist/components/features/emailBuilder/preview/ui/PreviewCapabilityBadges.vue.d.ts +0 -12
  106. package/dist/components/features/emailBuilder/preview/ui/PreviewClientCard.vue.d.ts +0 -20
  107. package/dist/components/features/emailBuilder/preview/ui/PreviewClientList.vue.d.ts +0 -21
  108. package/dist/components/features/emailBuilder/preview/ui/PreviewClientPicker.vue.d.ts +0 -16
  109. package/dist/components/features/emailBuilder/preview/ui/PreviewComponent.vue.d.ts +0 -10
  110. package/dist/components/features/emailBuilder/preview/ui/PreviewDetailView.vue.d.ts +0 -41
  111. package/dist/components/features/emailBuilder/preview/ui/PreviewRendered.vue.d.ts +0 -8
  112. package/dist/components/features/emailBuilder/product/RowPreview.vue.d.ts +0 -8
  113. package/dist/components/features/emailBuilder/product/RowPreviewChildren.vue.d.ts +0 -14
  114. package/dist/components/features/emailBuilder/product/RowPreviewLegacyComponent.vue.d.ts +0 -14
  115. package/dist/components/features/emailBuilder/product/RowPreviewRow.vue.d.ts +0 -9
  116. package/dist/components/features/emailBuilder/product/SavedRowsPanel.vue.d.ts +0 -3
  117. package/dist/components/features/emailBuilder/product/SavedTemplatesPanel.vue.d.ts +0 -13
  118. package/dist/components/features/emailBuilder/product/VersionHistoryPanel.vue.d.ts +0 -14
  119. package/dist/components/features/emailBuilder/sidebar/SidebarBlockButton.vue.d.ts +0 -35
  120. package/dist/components/features/emailBuilder/tabs/GeneralTab.vue.d.ts +0 -3
  121. package/dist/components/features/emailBuilder/tabs/LayoutTab.vue.d.ts +0 -3
  122. package/dist/components/features/emailBuilder/tabs/content/ContentTab.vue.d.ts +0 -3
  123. package/dist/components/features/emailBuilder/tabs/content/LayersPanel.vue.d.ts +0 -7
  124. package/dist/components/features/emailBuilder/tabs/general/MergeTagsTab.vue.d.ts +0 -3
  125. package/dist/components/features/emailBuilder/tabs/general/StylesTab.vue.d.ts +0 -3
  126. package/dist/components/features/emailBuilder/tabs/general/VisibilityTab.vue.d.ts +0 -3
  127. package/dist/components/features/emailBuilder/tabs/general/VisibilityWrapESPTab.vue.d.ts +0 -3
  128. package/dist/components/features/emailBuilder/tabs/general/merge-tags/LinkTagTab.vue.d.ts +0 -3
  129. package/dist/components/features/emailBuilder/tabs/general/merge-tags/MergeTagTab.vue.d.ts +0 -3
  130. package/dist/components/features/emailBuilder/ui/LinkInputDialog.vue.d.ts +0 -17
  131. package/dist/components/features/emailBuilder/ui/canvas/CanvasRowDropZone.vue.d.ts +0 -12
  132. package/dist/components/features/emailBuilder/ui/canvas/DropZone.vue.d.ts +0 -10
  133. package/dist/components/features/emailBuilder/ui/canvas/Loader.vue.d.ts +0 -19
  134. package/dist/components/features/emailBuilder/ui/layers-panel/ComponentIcon.vue.d.ts +0 -7
  135. package/dist/components/features/emailBuilder/ui/layers-panel/LayerColumnChildren.vue.d.ts +0 -42
  136. package/dist/components/features/emailBuilder/ui/layers-panel/LayerDropLine.vue.d.ts +0 -8
  137. package/dist/components/features/emailBuilder/ui/renderers/AnchorRenderer.vue.d.ts +0 -10
  138. package/dist/components/features/emailBuilder/ui/renderers/DividerRenderer.vue.d.ts +0 -10
  139. package/dist/components/features/emailBuilder/ui/renderers/HeadingRenderer.vue.d.ts +0 -10
  140. package/dist/components/features/emailBuilder/ui/renderers/ImageRenderer.vue.d.ts +0 -10
  141. package/dist/components/features/emailBuilder/ui/renderers/ListRenderer.vue.d.ts +0 -10
  142. package/dist/components/features/emailBuilder/ui/renderers/MenuRenderer.vue.d.ts +0 -10
  143. package/dist/components/features/emailBuilder/ui/renderers/ParagraphRenderer.vue.d.ts +0 -10
  144. package/dist/components/features/emailBuilder/ui/renderers/SocialsRenderer.vue.d.ts +0 -10
  145. package/dist/components/features/emailBuilder/ui/renderers/SpacerRenderer.vue.d.ts +0 -10
  146. package/dist/components/features/emailBuilder/ui/renderers/VideoRenderer.vue.d.ts +0 -10
  147. package/dist/components/features/emailBuilder/ui/rich-text-editor/RichTextEditor.vue.d.ts +0 -12
  148. package/dist/components/features/emailBuilder/ui/rich-text-editor/pickers/MergeTagPicker.vue.d.ts +0 -18
  149. package/dist/components/features/emailBuilder/ui/rich-text-editor/pickers/RichTextColorPicker.vue.d.ts +0 -15
  150. package/dist/components/features/emailBuilder/ui/visibility/SupportBadge.vue.d.ts +0 -10
  151. package/dist/components/features/emailBuilder/ui/visibility/VisibilityPopover.vue.d.ts +0 -45
  152. package/dist/components/ui/ConfirmDialog.vue.d.ts +0 -3
  153. package/dist/components/ui/Icon.vue.d.ts +0 -33
  154. package/dist/components/ui/InfoDialog.vue.d.ts +0 -12
  155. package/dist/components/ui/Loading.vue.d.ts +0 -6
  156. package/dist/components/ui/ShadowSafeToast.vue.d.ts +0 -3
  157. package/dist/components/ui/primitives/Button.vue.d.ts +0 -23
  158. package/dist/components/ui/primitives/DatePicker.vue.d.ts +0 -16
  159. package/dist/components/ui/primitives/Dialog.vue.d.ts +0 -34
  160. package/dist/components/ui/primitives/InputText.vue.d.ts +0 -29
  161. package/dist/components/ui/primitives/Message.vue.d.ts +0 -20
  162. package/dist/components/ui/primitives/Select.vue.d.ts +0 -22
  163. package/dist/composables/emailBuilder/components/useComponentStyleEditor.d.ts +0 -72
  164. package/dist/composables/emailBuilder/components/useProductRowActions.d.ts +0 -3
  165. package/dist/composables/emailBuilder/components/useProductRows.d.ts +0 -59
  166. package/dist/composables/emailBuilder/components/useSystemRows.d.ts +0 -22
  167. package/dist/composables/emailBuilder/core/config/componentConfig.d.ts +0 -29
  168. package/dist/composables/emailBuilder/core/link-tags/useLinkTagInsert.d.ts +0 -13
  169. package/dist/composables/emailBuilder/core/merge-tags/mergeTagDefinitions.d.ts +0 -64
  170. package/dist/composables/emailBuilder/core/merge-tags/resolveMergeTags.d.ts +0 -27
  171. package/dist/composables/emailBuilder/core/ui/useLayerHoverScroll.d.ts +0 -20
  172. package/dist/composables/emailBuilder/core/ui/useLayoutDrag.d.ts +0 -85
  173. package/dist/composables/emailBuilder/core/ui/useRichTextEditors.d.ts +0 -6
  174. package/dist/composables/emailBuilder/core/ui/visibilityBadgeHelpers.d.ts +0 -22
  175. package/dist/composables/emailBuilder/core/useEmailBuilder.d.ts +0 -292
  176. package/dist/composables/emailBuilder/core/useEmailBuilderDefault.d.ts +0 -507
  177. package/dist/composables/emailBuilder/core/useEmailBuilderOperations.d.ts +0 -31
  178. package/dist/composables/emailBuilder/core/useEmailBuilderVisibility.d.ts +0 -31
  179. package/dist/composables/emailBuilder/export/actions/download.d.ts +0 -24
  180. package/dist/composables/emailBuilder/export/generators/html.d.ts +0 -3
  181. package/dist/composables/emailBuilder/export/generators/mjml.d.ts +0 -6
  182. package/dist/composables/emailBuilder/export/generators/react-email.d.ts +0 -61
  183. package/dist/composables/emailBuilder/export/helpers/generatorHelpers.d.ts +0 -53
  184. package/dist/composables/emailBuilder/export/logic/reactLogicWrapper.d.ts +0 -31
  185. package/dist/composables/emailBuilder/export/merge-tags/mergeTagMapper.d.ts +0 -42
  186. package/dist/composables/emailBuilder/export/merge-tags/reactMergeTagMapper.d.ts +0 -26
  187. package/dist/composables/emailBuilder/export/shared/containers.d.ts +0 -18
  188. package/dist/composables/emailBuilder/export/shared/styles.d.ts +0 -12
  189. package/dist/composables/emailBuilder/export/shared/tagIdentifier.d.ts +0 -1
  190. package/dist/composables/emailBuilder/export/targets/htmlExport.d.ts +0 -20
  191. package/dist/composables/emailBuilder/export/targets/jsonExport.d.ts +0 -28
  192. package/dist/composables/emailBuilder/export/targets/mjmlExport.d.ts +0 -19
  193. package/dist/composables/emailBuilder/export/targets/reactEmailExport.d.ts +0 -20
  194. package/dist/composables/emailBuilder/export/targets/templateSnapshot.d.ts +0 -24
  195. package/dist/composables/emailBuilder/export/transformers/espWrapper.d.ts +0 -2
  196. package/dist/composables/emailBuilder/export/transformers/formatting.d.ts +0 -3
  197. package/dist/composables/emailBuilder/export/transformers/minify.d.ts +0 -33
  198. package/dist/composables/emailBuilder/export/transformers/tagMapper.d.ts +0 -29
  199. package/dist/composables/emailBuilder/export/types/export.d.ts +0 -24
  200. package/dist/composables/emailBuilder/export/useEmailExportEngine.d.ts +0 -63
  201. package/dist/composables/emailBuilder/export/useEmailExportMobileStyles.d.ts +0 -3
  202. package/dist/composables/emailBuilder/export/useExportSettings.d.ts +0 -5
  203. package/dist/composables/emailBuilder/health/accessibilityChecker.d.ts +0 -64
  204. package/dist/composables/emailBuilder/health/healthIndicator.d.ts +0 -19
  205. package/dist/composables/emailBuilder/history/useEmailBuilderHistory.d.ts +0 -26
  206. package/dist/composables/emailBuilder/history/useHistory.d.ts +0 -16
  207. package/dist/composables/emailBuilder/preview/useClientPreview.d.ts +0 -127
  208. package/dist/composables/emailBuilder/transform/pipeline/hydrate.d.ts +0 -54
  209. package/dist/composables/emailBuilder/types/emailBuilder.d.ts +0 -79
  210. package/dist/composables/system/useColor.d.ts +0 -26
  211. package/dist/composables/system/useDeviceDetection.d.ts +0 -5
  212. package/dist/composables/system/useGoogleFonts.d.ts +0 -11
  213. package/dist/composables/system/useImageUpload.d.ts +0 -23
  214. package/dist/composables/system/useSavedRowsPanel.d.ts +0 -35
  215. package/dist/composables/ui/useConfirm.d.ts +0 -33
  216. package/dist/composables/ui/useInfoDialog.d.ts +0 -22
  217. package/dist/composables/ui/useTeleportTarget.d.ts +0 -49
  218. package/dist/composables/ui/useToast.d.ts +0 -32
  219. package/dist/devStyleMirror.d.ts +0 -20
  220. package/dist/documentScopedStyles.d.ts +0 -39
  221. package/dist/element-DyFj9kgl.js +0 -62972
  222. package/dist/index-Cud9IN-O.js +0 -56306
  223. package/dist/lightDom.d.ts +0 -30
  224. package/dist/shadowStyles.d.ts +0 -8
  225. package/dist/utils/generateId.d.ts +0 -1
  226. package/dist/utils/shadowDom.d.ts +0 -30
@@ -1,72 +0,0 @@
1
- import { Ref, ComputedRef } from 'vue';
2
- export interface GradientStop {
3
- color: string;
4
- position: number;
5
- }
6
- export interface GradientConfig {
7
- type: "linear" | "radial";
8
- direction: string;
9
- colors: GradientStop[];
10
- }
11
- export interface BackgroundValue {
12
- useGradient: boolean;
13
- solid: string;
14
- gradient: GradientConfig;
15
- }
16
- export type EditMode = "desktop" | "mobile";
17
- export interface BorderProps {
18
- width: number;
19
- color: string;
20
- style: "solid" | "dashed" | "dotted";
21
- radius?: number;
22
- }
23
- /**
24
- * Loose-but-honest shape for any component the style editor touches.
25
- * Every key is optional because different component types carry different
26
- * subsets (Image has no backgroundGradient, Anchor has no border, etc.).
27
- *
28
- * `mobile` is typed as required-but-nullable-fields because
29
- * useEmailBuilderDefaults always seeds it on instantiation. Index signature
30
- * preserves access to any key without enumerating every prop per component.
31
- */
32
- export interface StyledComponentProps {
33
- mobile: Record<string, any> | null;
34
- border?: BorderProps;
35
- backgroundColor?: string;
36
- backgroundGradient?: BackgroundValue | null;
37
- desktopHide?: boolean;
38
- mobileHide?: boolean;
39
- [key: string]: any;
40
- }
41
- export interface StyledComponent {
42
- id: string;
43
- type: string;
44
- props: StyledComponentProps;
45
- }
46
- export declare function useComponentStyleEditor(component: Ref<StyledComponent | null> | ComputedRef<StyledComponent | null>, editMode: Ref<EditMode> | ComputedRef<EditMode>): {
47
- displayValue: (key: string) => any;
48
- isOverridden: (key: string) => boolean;
49
- canReset: (key: string) => boolean;
50
- setProp: (key: string, value: any) => void;
51
- resetProp: (key: string) => void;
52
- incrementProp: (key: string, step?: number) => void;
53
- decrementProp: (key: string, step?: number, min?: number) => void;
54
- displayBorderValue: (key: keyof BorderProps) => any;
55
- setBorderProp: (key: keyof BorderProps, value: any) => void;
56
- incrementBorderProp: (key: keyof BorderProps) => void;
57
- decrementBorderProp: (key: keyof BorderProps) => void;
58
- isBorderOverridden: () => boolean;
59
- resetBorder: () => void;
60
- displayBackground: () => BackgroundValue;
61
- setBackground: (value: BackgroundValue) => void;
62
- isBackgroundOverridden: () => boolean;
63
- resetBackground: () => void;
64
- toggleGradient: (useGradient: boolean) => void;
65
- setGradientColors: (colors: GradientStop[]) => void;
66
- setGradientConfig: (config: Partial<GradientConfig>) => void;
67
- useTransparentBg: import('vue').WritableComputedRef<boolean, boolean>;
68
- bgColor: ComputedRef<any>;
69
- setBgColor: (value: string) => void;
70
- toggleDesktopHide: () => void;
71
- toggleMobileHide: () => void;
72
- };
@@ -1,3 +0,0 @@
1
- export declare function useProductRowActions(): {
2
- saveProductRowWithToast: (row: Record<string, any>, name: string) => Promise<boolean>;
3
- };
@@ -1,59 +0,0 @@
1
- import { SavedRow, EditorStorageAdapter } from '../../../adapters/types';
2
- declare function createProductRowsInstance(storageAdapterInstance?: EditorStorageAdapter): {
3
- productRows: import('vue').Ref<{
4
- id: string;
5
- name: string;
6
- createdAt: string;
7
- row: Record<string, any>;
8
- }[], SavedRow[] | {
9
- id: string;
10
- name: string;
11
- createdAt: string;
12
- row: Record<string, any>;
13
- }[]>;
14
- isFetching: import('vue').Ref<boolean, boolean>;
15
- fetchRows: () => Promise<void>;
16
- saveProductRow: (row: Record<string, any>, name: string) => Promise<SavedRow | null>;
17
- deleteProductRow: (entryId: string) => Promise<void>;
18
- renameProductRow: (entryId: string, newName: string) => Promise<{
19
- id: string;
20
- name: string;
21
- createdAt: string;
22
- row: Record<string, any>;
23
- }[]>;
24
- cloneRowForCanvas: (entryId: string) => Record<string, any> | null;
25
- };
26
- type ProductRowsInstance = ReturnType<typeof createProductRowsInstance>;
27
- /** Called once, at the EmailEditor root. storageAdapterInstance is the
28
- * already-created return value of provideStorageAdapter() — same reasoning
29
- * as useEmailBuilder.ts's matching parameter: inject() never sees a
30
- * component's own provides, so useStorageAdapter() called from anywhere
31
- * within EmailEditor.vue's own setup() can never find what
32
- * provideStorageAdapter() (also called there) just provided. */
33
- export declare function provideProductRows(storageAdapterInstance?: EditorStorageAdapter): {
34
- productRows: import('vue').Ref<{
35
- id: string;
36
- name: string;
37
- createdAt: string;
38
- row: Record<string, any>;
39
- }[], SavedRow[] | {
40
- id: string;
41
- name: string;
42
- createdAt: string;
43
- row: Record<string, any>;
44
- }[]>;
45
- isFetching: import('vue').Ref<boolean, boolean>;
46
- fetchRows: () => Promise<void>;
47
- saveProductRow: (row: Record<string, any>, name: string) => Promise<SavedRow | null>;
48
- deleteProductRow: (entryId: string) => Promise<void>;
49
- renameProductRow: (entryId: string, newName: string) => Promise<{
50
- id: string;
51
- name: string;
52
- createdAt: string;
53
- row: Record<string, any>;
54
- }[]>;
55
- cloneRowForCanvas: (entryId: string) => Record<string, any> | null;
56
- };
57
- /** Every other file calls this exactly as before. */
58
- export declare const useProductRows: () => ProductRowsInstance;
59
- export {};
@@ -1,22 +0,0 @@
1
- import { SavedRow, EditorStorageAdapter } from '../../../adapters/types';
2
- declare function createSystemRowsInstance(storageAdapterInstance?: EditorStorageAdapter): {
3
- systemRows: import('vue').Ref<{
4
- id: string;
5
- name: string;
6
- createdAt: string;
7
- row: Record<string, any>;
8
- }[], SavedRow[] | {
9
- id: string;
10
- name: string;
11
- createdAt: string;
12
- row: Record<string, any>;
13
- }[]>;
14
- isFetching: import('vue').Ref<boolean, boolean>;
15
- isSupported: import('vue').Ref<boolean, boolean>;
16
- fetchRows: () => Promise<void>;
17
- cloneRowForCanvas: (entryId: string) => Record<string, any> | null;
18
- };
19
- export type SystemRowsInstance = ReturnType<typeof createSystemRowsInstance>;
20
- export declare function provideSystemRows(storageAdapterInstance?: EditorStorageAdapter): SystemRowsInstance;
21
- export declare function useSystemRows(): SystemRowsInstance;
22
- export {};
@@ -1,29 +0,0 @@
1
- import { VisibilityOperator } from '../useEmailBuilderVisibility';
2
- export interface VisibilityRule {
3
- tag: string;
4
- operator: VisibilityOperator;
5
- value: string;
6
- }
7
- export interface VisibilityGroup {
8
- match: "all" | "any";
9
- rules: VisibilityRule[];
10
- }
11
- export interface VisibilityConfig {
12
- enabled: boolean;
13
- match: "all" | "any";
14
- rules: VisibilityRule[];
15
- groups?: VisibilityGroup[];
16
- }
17
- export interface HideConfig {
18
- desktopHide: boolean;
19
- mobileHide: boolean;
20
- }
21
- export interface BaseComponentConfig extends HideConfig {
22
- visibility: VisibilityConfig;
23
- }
24
- export declare const createDefaultVisibility: () => VisibilityConfig;
25
- export declare const createDefaultHide: () => HideConfig;
26
- export declare const createDefaultBaseConfig: () => BaseComponentConfig;
27
- export declare const DEFAULT_VISIBILITY: Readonly<VisibilityConfig>;
28
- export declare const DEFAULT_HIDE: Readonly<HideConfig>;
29
- export declare const DEFAULT_BASE_CONFIG: Readonly<BaseComponentConfig>;
@@ -1,13 +0,0 @@
1
- import { ComputedRef } from 'vue';
2
- interface LinkComponent {
3
- props: Record<string, any>;
4
- }
5
- export declare const useLinkTagInsert: (component: ComputedRef<LinkComponent | undefined>, defaultField?: string) => {
6
- lastFocusedField: import('vue').Ref<string, string>;
7
- trackCursor: (field: string, event: Event) => void;
8
- handleTagInsert: ({ tag, default: fallback }: {
9
- tag: string;
10
- default?: string;
11
- }, inputRefs?: Record<string, any>) => void;
12
- };
13
- export {};
@@ -1,64 +0,0 @@
1
- /**
2
- * mergeTagDefinitions.ts
3
- * Shared utilities for merge tag resolution, detection, and export flattening.
4
- *
5
- * Used by:
6
- * - EmailBuilderCanvasComponent.vue (preview resolution)
7
- * - LinkTagTab.vue (auto-detection)
8
- * - MergeTagTab.vue (auto-detection)
9
- * - mergeTagMapper.ts (export transformation)
10
- * - Build / export pipeline (flattening)
11
- */
12
- /**
13
- * Extract all unique merge tag names from a string.
14
- * Safe to call on both rich-text HTML strings and plain strings.
15
- */
16
- export declare const extractMergeTags: (text: string) => string[];
17
- /**
18
- * Extract all unique merge tags along with their inline defaults.
19
- *
20
- * Returns a map of tagName → fallback (empty string when no default is
21
- * specified). When the same tag appears multiple times with different
22
- * defaults the first-seen default wins.
23
- *
24
- * Used by the export pipeline to carry fallback values through to
25
- * mergeTagMapper.transformToken().
26
- */
27
- export declare const extractMergeTagsWithDefaults: (text: string) => Map<string, string>;
28
- /**
29
- * Resolve merge tags in a plain string using the preview context.
30
- *
31
- * Resolution priority (mirrors RichTextEditor.vue buildPreviewHTML):
32
- * 1. Explicit value in context → "Philip"
33
- * 2. Inline default in tag syntax → {{ name|'Friend' }} → "Friend"
34
- * 3. Neither set → "{{ name }}" (visually unresolved)
35
- *
36
- * When previewActive is false the original string is returned unchanged,
37
- * so callers can bind this unconditionally without a v-if guard.
38
- */
39
- export declare const resolveString: (str: string, context: Record<string, string>, previewActive: boolean) => string;
40
- /**
41
- * Flatten a plain string for canonical storage — normalises {{ tag }} tokens
42
- * to a clean, consistent `{{ tag }}` format, stripping any accidental extras.
43
- *
44
- * For rich-text HTML (paragraph / heading) use flattenRichTextContent()
45
- * instead — that one handles span[data-merge] nodes produced by TipTap.
46
- */
47
- export declare const flattenPlainString: (str: string) => string;
48
- /**
49
- * Flatten TipTap-produced HTML into the canonical {{ tag }} / {{ tag|'default' }}
50
- * format for storage. Replaces every <span data-merge="name"> with {{ name }},
51
- * and preserves the data-merge-default attribute as the inline default so the
52
- * fallback survives the storage round-trip and reaches transformHTML() at
53
- * export time.
54
- *
55
- * Examples:
56
- * <span data-merge="name" data-merge-default="Tony">…</span> → {{ name|'Tony' }}
57
- * <span data-merge="name">…</span> → {{ name }}
58
- *
59
- * This is the STORAGE flattener — it produces canonical {{ }} tokens.
60
- * For ESP-specific export use mergeTagMapper.transformHTML() instead.
61
- *
62
- * Safe to call in SSR — uses a plain regex, no DOMParser.
63
- */
64
- export declare const flattenRichTextContent: (html: string) => string;
@@ -1,27 +0,0 @@
1
- /**
2
- * Substitutes every {{ tag }} placeholder found in `source` with the
3
- * corresponding value from `context`.
4
- *
5
- * Resolution order for each placeholder:
6
- * 1. Use the context value when the tag key is present and non-empty.
7
- * 2. Fall back to the pipe-default when defined: {{ tag|'Fallback' }}
8
- * 3. Leave the raw placeholder as-is so it stays visible in the output.
9
- *
10
- * @param source - The raw string that may contain {{ tag }} placeholders.
11
- * @param context - Key→value map built by the tab component (keys already
12
- * normalised with `normaliseKey`).
13
- * @param active - When false the function is a no-op and returns `source`
14
- * unchanged. Pass `mergeTagPreviewActive.value` /
15
- * `linkTagPreviewActive.value` directly.
16
- */
17
- export declare const resolveTags: (source: string, context: Record<string, string>, active: boolean) => string;
18
- /**
19
- * Convenience overload that accepts the full context object and both active
20
- * flags, applying merge tags first and link tags second.
21
- *
22
- * This ordering matters because merge tags appear inside rich-text HTML
23
- * (paragraph / heading content) while link tags typically live in href
24
- * attributes and anchor text — there is no semantic overlap, but doing
25
- * merge → link keeps the substitution deterministic.
26
- */
27
- export declare const resolveAllTags: (source: string, mergeContext: Record<string, string>, mergeActive: boolean, linkContext: Record<string, string>, linkActive: boolean) => string;
@@ -1,20 +0,0 @@
1
- import { Ref } from 'vue';
2
- export declare function useLayerHoverScroll(layerHoveredId: Ref<string | null>, options?: {
3
- canvasSelector?: string;
4
- behavior?: ScrollBehavior;
5
- delay?: number;
6
- /**
7
- * Margin (in px) from the viewport edges within which the target is
8
- * considered "comfortably visible" and no scroll is needed. Default 80 px
9
- * gives breathing room on both sides without being so generous that
10
- * elements land right against an edge.
11
- */
12
- inViewMargin?: number;
13
- /**
14
- * If the target is more than this many pixels from the current scroll
15
- * position, use instant jump instead of smooth scroll. Default 600 px
16
- * covers roughly half a typical viewport — anything farther than that
17
- * should teleport, not animate.
18
- */
19
- instantThreshold?: number;
20
- }): void;
@@ -1,85 +0,0 @@
1
- export type LayoutDragPayload = {
2
- type: "row";
3
- columns: number | number[];
4
- } | {
5
- type: "spacer";
6
- } | {
7
- type: "product-row";
8
- entryId: string;
9
- }
10
- /** Drop a nested row inside an existing column (child insertion) */
11
- | {
12
- type: "nested-row";
13
- columns: number | number[];
14
- targetColumnId: string;
15
- targetIndex: number;
16
- };
17
- type LayoutDragInstance = ReturnType<typeof createLayoutDragInstance>;
18
- /** Called once, at the EmailEditor root. */
19
- export declare function provideLayoutDrag(): {
20
- isLayoutDragActive: import('vue').Ref<boolean, boolean>;
21
- layoutDragPayload: import('vue').Ref<{
22
- type: "row";
23
- columns: number | number[];
24
- } | {
25
- type: "spacer";
26
- } | {
27
- type: "product-row";
28
- entryId: string;
29
- } | {
30
- type: "nested-row";
31
- columns: number | number[];
32
- targetColumnId: string;
33
- targetIndex: number;
34
- } | null, LayoutDragPayload | {
35
- type: "row";
36
- columns: number | number[];
37
- } | {
38
- type: "spacer";
39
- } | {
40
- type: "product-row";
41
- entryId: string;
42
- } | {
43
- type: "nested-row";
44
- columns: number | number[];
45
- targetColumnId: string;
46
- targetIndex: number;
47
- } | null>;
48
- startLayoutDrag: (e: DragEvent, payload: LayoutDragPayload) => void;
49
- endLayoutDrag: () => void;
50
- };
51
- /** Every other file calls this exactly as before. */
52
- export declare const useLayoutDrag: () => LayoutDragInstance;
53
- declare function createLayoutDragInstance(): {
54
- isLayoutDragActive: import('vue').Ref<boolean, boolean>;
55
- layoutDragPayload: import('vue').Ref<{
56
- type: "row";
57
- columns: number | number[];
58
- } | {
59
- type: "spacer";
60
- } | {
61
- type: "product-row";
62
- entryId: string;
63
- } | {
64
- type: "nested-row";
65
- columns: number | number[];
66
- targetColumnId: string;
67
- targetIndex: number;
68
- } | null, LayoutDragPayload | {
69
- type: "row";
70
- columns: number | number[];
71
- } | {
72
- type: "spacer";
73
- } | {
74
- type: "product-row";
75
- entryId: string;
76
- } | {
77
- type: "nested-row";
78
- columns: number | number[];
79
- targetColumnId: string;
80
- targetIndex: number;
81
- } | null>;
82
- startLayoutDrag: (e: DragEvent, payload: LayoutDragPayload) => void;
83
- endLayoutDrag: () => void;
84
- };
85
- export {};
@@ -1,6 +0,0 @@
1
- import { Editor } from '@tiptap/vue-3';
2
- export declare function useRichTextEditors(): {
3
- registerEditor: (id: string, editor: Editor) => void;
4
- unregisterEditor: (id: string) => void;
5
- editorFor: (id: string | null | undefined) => Editor | undefined;
6
- };
@@ -1,22 +0,0 @@
1
- export interface VisibilityLike {
2
- enabled?: boolean;
3
- rules?: {
4
- tag: string;
5
- operator: string;
6
- value: string;
7
- }[];
8
- groups?: {
9
- match: "all" | "any";
10
- rules: any[];
11
- }[];
12
- }
13
- /**
14
- * Returns true when the visibility config should show a badge.
15
- * A badge is shown when enabled AND has at least one flat rule OR one group.
16
- */
17
- export declare const isVisibilityActive: (vis: VisibilityLike | undefined | null) => boolean;
18
- /**
19
- * Returns the total number of rules across flat rules + all group rules.
20
- * Used as the count shown on the badge pill.
21
- */
22
- export declare const visibilityRuleCount: (vis: VisibilityLike | undefined | null) => number;