@maildeno/editor 0.4.5 → 0.4.7
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.
- package/CHANGELOG.md +83 -0
- package/dist/DatePicker-DIaGGAVI.js +5347 -0
- package/dist/DatePicker-DmMga5gQ.js +5347 -0
- package/dist/Dialog-GTfGtduh.js +6294 -0
- package/dist/HealthIndicator--ScSxVRA.js +1216 -0
- package/dist/HealthIndicator-BraAh2Aj.js +1217 -0
- package/dist/Icon-BYmOM482.js +2537 -0
- package/dist/Icon-c2SPT3-6.js +2577 -0
- package/dist/PreviewCanvas-C1-rP9-B.js +533 -0
- package/dist/PreviewCanvas-Nro7tNCn.js +533 -0
- package/dist/RichTextEditor-CrYhiAOo.js +12217 -0
- package/dist/RichTextEditor-D7Itx0fL.js +12218 -0
- package/dist/RowPreviewChildren-B66HbFdX.js +4 -0
- package/dist/RowPreviewChildren-DvrE9HTT.js +4 -0
- package/dist/{RowPreviewLegacyComponent-DVxrCJ14.js → RowPreviewLegacyComponent-CPqaWwsE.js} +1 -1
- package/dist/{RowPreviewRow-0pEQLmS4.js → RowPreviewRow-B91YPfoz.js} +1 -1
- package/dist/{RowPreviewRow-Eum1wh1W.js → RowPreviewRow-MaA-9ApX.js} +2 -2
- package/dist/SavedRowsPanel-CF-7R3q_.js +492 -0
- package/dist/SavedRowsPanel-TLOEvs3Z.js +491 -0
- package/dist/_plugin-vue_export-helper-Dj7HTbfw.js +8 -0
- package/dist/components/features/emailBuilder/EmailEditor.vue.d.ts +3 -3
- package/dist/composables/emailBuilder/transform/pipeline/optimize.d.ts +4 -4
- package/dist/editor.css +1 -1
- package/dist/element-CeRQDEn3.js +21396 -0
- package/dist/element.js +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.js +8220 -41805
- package/dist/init.js +17 -16
- package/dist/mergeTagDefinitions-Cler19nv.js +27 -0
- package/dist/useEmailBuilder-CjJoxzTi.js +4893 -0
- package/dist/useEmailBuilder-gOc8otd8.js +4893 -0
- package/dist/useToast-DeNMwkP3.js +194 -0
- package/dist/{vue.runtime.esm-bundler-CsdyQceJ.js → vue.runtime.esm-bundler-D2AjRP90.js} +0 -1
- package/package.json +4 -2
- package/dist/adapters/index.d.ts +0 -38
- package/dist/baseStyles.d.ts +0 -13
- package/dist/blocks/canvasStyleHelpers.d.ts +0 -17
- package/dist/blocks/definitions/anchor.d.ts +0 -2
- package/dist/blocks/definitions/button.d.ts +0 -2
- package/dist/blocks/definitions/divider.d.ts +0 -2
- package/dist/blocks/definitions/heading.d.ts +0 -2
- package/dist/blocks/definitions/image.d.ts +0 -2
- package/dist/blocks/definitions/list.d.ts +0 -2
- package/dist/blocks/definitions/menu.d.ts +0 -2
- package/dist/blocks/definitions/paragraph.d.ts +0 -2
- package/dist/blocks/definitions/socials.d.ts +0 -2
- package/dist/blocks/definitions/spacer.d.ts +0 -2
- package/dist/blocks/definitions/video.d.ts +0 -2
- package/dist/blocks/index.d.ts +0 -8
- package/dist/brand.d.ts +0 -15
- package/dist/components/DesktopOnlyNotice.vue.d.ts +0 -20
- package/dist/components/features/emailBuilder/assistant/AssistantPanel.vue.d.ts +0 -37
- package/dist/components/features/emailBuilder/blocks/AnchorBlock.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/blocks/ButtonBlock.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/blocks/DividerBlock.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/blocks/HeadingBlock.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/blocks/ImageBlock.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/blocks/ListBlock.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/blocks/MenuBlock.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/blocks/ParagraphBlock.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/blocks/SocialsBlock.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/blocks/SpacerBlock.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/blocks/VideoBlock.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/canvas/Canvas.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/canvas/CanvasColumn.vue.d.ts +0 -49
- package/dist/components/features/emailBuilder/canvas/CanvasComponent.vue.d.ts +0 -56
- package/dist/components/features/emailBuilder/canvas/CanvasElement.vue.d.ts +0 -21
- package/dist/components/features/emailBuilder/canvas/CanvasRow.vue.d.ts +0 -49
- package/dist/components/features/emailBuilder/canvas/CanvasRowSpacer.vue.d.ts +0 -40
- package/dist/components/features/emailBuilder/health/HealthIndicator.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/layout/Header.vue.d.ts +0 -54
- package/dist/components/features/emailBuilder/layout/SendEmail.vue.d.ts +0 -21
- package/dist/components/features/emailBuilder/layout/SidebarLeft.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/layout/SidebarRight.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/panels/AnchorPanel.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/panels/ButtonPanel.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/panels/DividerPanel.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/panels/HeadingPanel.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/panels/ImagePanel.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/panels/ListPanel.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/panels/MenuPanel.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/panels/ParagraphPanel.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/panels/RowColumnPanel.vue.d.ts +0 -13
- package/dist/components/features/emailBuilder/panels/RowPanel.vue.d.ts +0 -13
- package/dist/components/features/emailBuilder/panels/RowSpacerPanel.vue.d.ts +0 -13
- package/dist/components/features/emailBuilder/panels/SocialsPanel.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/panels/SpacerPanel.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/panels/VideoPanel.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/panels/shared/DeviceTabs.vue.d.ts +0 -19
- package/dist/components/features/emailBuilder/panels/shared/LinkFieldMergeTags.vue.d.ts +0 -31
- package/dist/components/features/emailBuilder/panels/shared/OverrideBadge.vue.d.ts +0 -9
- package/dist/components/features/emailBuilder/panels/shared/PreviewBadge.vue.d.ts +0 -11
- package/dist/components/features/emailBuilder/panels/shared/TextFieldMergeTags.vue.d.ts +0 -25
- package/dist/components/features/emailBuilder/panels/ui/BoxStylingSection.vue.d.ts +0 -7
- package/dist/components/features/emailBuilder/panels/ui/PropertyAlignment.vue.d.ts +0 -30
- package/dist/components/features/emailBuilder/panels/ui/PropertyColor.vue.d.ts +0 -75
- package/dist/components/features/emailBuilder/panels/ui/PropertyGradientColor.vue.d.ts +0 -27
- package/dist/components/features/emailBuilder/panels/ui/PropertyNumberSlider.vue.d.ts +0 -74
- package/dist/components/features/emailBuilder/panels/ui/PropertySection.vue.d.ts +0 -17
- package/dist/components/features/emailBuilder/panels/ui/PropertySelect.vue.d.ts +0 -74
- package/dist/components/features/emailBuilder/panels/ui/PropertyTextStyle.vue.d.ts +0 -52
- package/dist/components/features/emailBuilder/panels/ui/PropertyTextStylePanel.vue.d.ts +0 -72
- package/dist/components/features/emailBuilder/panels/ui/PropertyToggle.vue.d.ts +0 -45
- package/dist/components/features/emailBuilder/panels/ui/PropertyVisibility.vue.d.ts +0 -32
- package/dist/components/features/emailBuilder/panels/ui/SpacingControl.vue.d.ts +0 -19
- package/dist/components/features/emailBuilder/panels/ui/color-picker/AlphaSlider.vue.d.ts +0 -28
- package/dist/components/features/emailBuilder/panels/ui/color-picker/ColorPickerPanel.vue.d.ts +0 -31
- package/dist/components/features/emailBuilder/panels/ui/color-picker/HueSlider.vue.d.ts +0 -19
- package/dist/components/features/emailBuilder/panels/ui/color-picker/RecentColors.vue.d.ts +0 -20
- package/dist/components/features/emailBuilder/panels/ui/color-picker/SVPanel.vue.d.ts +0 -39
- package/dist/components/features/emailBuilder/panels/ui/visibility-rule/Rule.vue.d.ts +0 -28
- package/dist/components/features/emailBuilder/preview/PreviewScreen.vue.d.ts +0 -7
- package/dist/components/features/emailBuilder/preview/ui/PreviewCanvas.vue.d.ts +0 -10
- package/dist/components/features/emailBuilder/preview/ui/PreviewCapabilityBadges.vue.d.ts +0 -12
- package/dist/components/features/emailBuilder/preview/ui/PreviewClientCard.vue.d.ts +0 -20
- package/dist/components/features/emailBuilder/preview/ui/PreviewClientList.vue.d.ts +0 -21
- package/dist/components/features/emailBuilder/preview/ui/PreviewClientPicker.vue.d.ts +0 -16
- package/dist/components/features/emailBuilder/preview/ui/PreviewComponent.vue.d.ts +0 -10
- package/dist/components/features/emailBuilder/preview/ui/PreviewDetailView.vue.d.ts +0 -41
- package/dist/components/features/emailBuilder/preview/ui/PreviewRendered.vue.d.ts +0 -8
- package/dist/components/features/emailBuilder/product/RowPreview.vue.d.ts +0 -8
- package/dist/components/features/emailBuilder/product/RowPreviewChildren.vue.d.ts +0 -14
- package/dist/components/features/emailBuilder/product/RowPreviewLegacyComponent.vue.d.ts +0 -14
- package/dist/components/features/emailBuilder/product/RowPreviewRow.vue.d.ts +0 -9
- package/dist/components/features/emailBuilder/product/SavedRowsPanel.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/product/SavedTemplatesPanel.vue.d.ts +0 -13
- package/dist/components/features/emailBuilder/product/VersionHistoryPanel.vue.d.ts +0 -14
- package/dist/components/features/emailBuilder/sidebar/SidebarBlockButton.vue.d.ts +0 -35
- package/dist/components/features/emailBuilder/tabs/GeneralTab.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/tabs/LayoutTab.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/tabs/content/ContentTab.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/tabs/content/LayersPanel.vue.d.ts +0 -7
- package/dist/components/features/emailBuilder/tabs/general/MergeTagsTab.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/tabs/general/StylesTab.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/tabs/general/VisibilityTab.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/tabs/general/VisibilityWrapESPTab.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/tabs/general/merge-tags/LinkTagTab.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/tabs/general/merge-tags/MergeTagTab.vue.d.ts +0 -3
- package/dist/components/features/emailBuilder/ui/LinkInputDialog.vue.d.ts +0 -17
- package/dist/components/features/emailBuilder/ui/canvas/CanvasRowDropZone.vue.d.ts +0 -12
- package/dist/components/features/emailBuilder/ui/canvas/DropZone.vue.d.ts +0 -10
- package/dist/components/features/emailBuilder/ui/canvas/Loader.vue.d.ts +0 -19
- package/dist/components/features/emailBuilder/ui/layers-panel/ComponentIcon.vue.d.ts +0 -7
- package/dist/components/features/emailBuilder/ui/layers-panel/LayerColumnChildren.vue.d.ts +0 -42
- package/dist/components/features/emailBuilder/ui/layers-panel/LayerDropLine.vue.d.ts +0 -8
- package/dist/components/features/emailBuilder/ui/renderers/AnchorRenderer.vue.d.ts +0 -10
- package/dist/components/features/emailBuilder/ui/renderers/DividerRenderer.vue.d.ts +0 -10
- package/dist/components/features/emailBuilder/ui/renderers/HeadingRenderer.vue.d.ts +0 -10
- package/dist/components/features/emailBuilder/ui/renderers/ImageRenderer.vue.d.ts +0 -10
- package/dist/components/features/emailBuilder/ui/renderers/ListRenderer.vue.d.ts +0 -10
- package/dist/components/features/emailBuilder/ui/renderers/MenuRenderer.vue.d.ts +0 -10
- package/dist/components/features/emailBuilder/ui/renderers/ParagraphRenderer.vue.d.ts +0 -10
- package/dist/components/features/emailBuilder/ui/renderers/SocialsRenderer.vue.d.ts +0 -10
- package/dist/components/features/emailBuilder/ui/renderers/SpacerRenderer.vue.d.ts +0 -10
- package/dist/components/features/emailBuilder/ui/renderers/VideoRenderer.vue.d.ts +0 -10
- package/dist/components/features/emailBuilder/ui/rich-text-editor/RichTextEditor.vue.d.ts +0 -12
- package/dist/components/features/emailBuilder/ui/rich-text-editor/pickers/MergeTagPicker.vue.d.ts +0 -18
- package/dist/components/features/emailBuilder/ui/rich-text-editor/pickers/RichTextColorPicker.vue.d.ts +0 -15
- package/dist/components/features/emailBuilder/ui/visibility/SupportBadge.vue.d.ts +0 -10
- package/dist/components/features/emailBuilder/ui/visibility/VisibilityPopover.vue.d.ts +0 -45
- package/dist/components/ui/ConfirmDialog.vue.d.ts +0 -3
- package/dist/components/ui/Icon.vue.d.ts +0 -33
- package/dist/components/ui/InfoDialog.vue.d.ts +0 -12
- package/dist/components/ui/Loading.vue.d.ts +0 -6
- package/dist/components/ui/ShadowSafeToast.vue.d.ts +0 -3
- package/dist/components/ui/primitives/Button.vue.d.ts +0 -23
- package/dist/components/ui/primitives/DatePicker.vue.d.ts +0 -16
- package/dist/components/ui/primitives/Dialog.vue.d.ts +0 -34
- package/dist/components/ui/primitives/InputText.vue.d.ts +0 -29
- package/dist/components/ui/primitives/Message.vue.d.ts +0 -20
- package/dist/components/ui/primitives/Select.vue.d.ts +0 -22
- package/dist/composables/emailBuilder/components/useComponentStyleEditor.d.ts +0 -72
- package/dist/composables/emailBuilder/components/useProductRowActions.d.ts +0 -3
- package/dist/composables/emailBuilder/components/useProductRows.d.ts +0 -59
- package/dist/composables/emailBuilder/components/useSystemRows.d.ts +0 -22
- package/dist/composables/emailBuilder/core/config/componentConfig.d.ts +0 -29
- package/dist/composables/emailBuilder/core/link-tags/useLinkTagInsert.d.ts +0 -13
- package/dist/composables/emailBuilder/core/merge-tags/mergeTagDefinitions.d.ts +0 -64
- package/dist/composables/emailBuilder/core/merge-tags/resolveMergeTags.d.ts +0 -27
- package/dist/composables/emailBuilder/core/ui/useLayerHoverScroll.d.ts +0 -20
- package/dist/composables/emailBuilder/core/ui/useLayoutDrag.d.ts +0 -85
- package/dist/composables/emailBuilder/core/ui/useRichTextEditors.d.ts +0 -6
- package/dist/composables/emailBuilder/core/ui/visibilityBadgeHelpers.d.ts +0 -22
- package/dist/composables/emailBuilder/core/useEmailBuilder.d.ts +0 -292
- package/dist/composables/emailBuilder/core/useEmailBuilderDefault.d.ts +0 -507
- package/dist/composables/emailBuilder/core/useEmailBuilderOperations.d.ts +0 -31
- package/dist/composables/emailBuilder/core/useEmailBuilderVisibility.d.ts +0 -31
- package/dist/composables/emailBuilder/export/actions/download.d.ts +0 -24
- package/dist/composables/emailBuilder/export/generators/html.d.ts +0 -3
- package/dist/composables/emailBuilder/export/generators/mjml.d.ts +0 -6
- package/dist/composables/emailBuilder/export/generators/react-email.d.ts +0 -61
- package/dist/composables/emailBuilder/export/helpers/generatorHelpers.d.ts +0 -53
- package/dist/composables/emailBuilder/export/logic/reactLogicWrapper.d.ts +0 -31
- package/dist/composables/emailBuilder/export/merge-tags/mergeTagMapper.d.ts +0 -42
- package/dist/composables/emailBuilder/export/merge-tags/reactMergeTagMapper.d.ts +0 -26
- package/dist/composables/emailBuilder/export/shared/containers.d.ts +0 -18
- package/dist/composables/emailBuilder/export/shared/styles.d.ts +0 -12
- package/dist/composables/emailBuilder/export/shared/tagIdentifier.d.ts +0 -1
- package/dist/composables/emailBuilder/export/targets/htmlExport.d.ts +0 -20
- package/dist/composables/emailBuilder/export/targets/jsonExport.d.ts +0 -28
- package/dist/composables/emailBuilder/export/targets/mjmlExport.d.ts +0 -19
- package/dist/composables/emailBuilder/export/targets/reactEmailExport.d.ts +0 -20
- package/dist/composables/emailBuilder/export/targets/templateSnapshot.d.ts +0 -24
- package/dist/composables/emailBuilder/export/transformers/espWrapper.d.ts +0 -2
- package/dist/composables/emailBuilder/export/transformers/formatting.d.ts +0 -3
- package/dist/composables/emailBuilder/export/transformers/minify.d.ts +0 -33
- package/dist/composables/emailBuilder/export/transformers/tagMapper.d.ts +0 -29
- package/dist/composables/emailBuilder/export/types/export.d.ts +0 -24
- package/dist/composables/emailBuilder/export/useEmailExportEngine.d.ts +0 -63
- package/dist/composables/emailBuilder/export/useEmailExportMobileStyles.d.ts +0 -3
- package/dist/composables/emailBuilder/export/useExportSettings.d.ts +0 -5
- package/dist/composables/emailBuilder/health/accessibilityChecker.d.ts +0 -64
- package/dist/composables/emailBuilder/health/healthIndicator.d.ts +0 -19
- package/dist/composables/emailBuilder/history/useEmailBuilderHistory.d.ts +0 -26
- package/dist/composables/emailBuilder/history/useHistory.d.ts +0 -16
- package/dist/composables/emailBuilder/preview/useClientPreview.d.ts +0 -127
- package/dist/composables/emailBuilder/transform/pipeline/hydrate.d.ts +0 -54
- package/dist/composables/emailBuilder/types/emailBuilder.d.ts +0 -79
- package/dist/composables/system/useColor.d.ts +0 -26
- package/dist/composables/system/useDeviceDetection.d.ts +0 -5
- package/dist/composables/system/useGoogleFonts.d.ts +0 -11
- package/dist/composables/system/useImageUpload.d.ts +0 -23
- package/dist/composables/system/useSavedRowsPanel.d.ts +0 -35
- package/dist/composables/ui/useConfirm.d.ts +0 -33
- package/dist/composables/ui/useInfoDialog.d.ts +0 -22
- package/dist/composables/ui/useTeleportTarget.d.ts +0 -49
- package/dist/composables/ui/useToast.d.ts +0 -32
- package/dist/devStyleMirror.d.ts +0 -20
- package/dist/documentScopedStyles.d.ts +0 -39
- package/dist/element-Dq6bmt2l.js +0 -48454
- package/dist/lightDom.d.ts +0 -30
- package/dist/shadowStyles.d.ts +0 -8
- package/dist/utils/generateId.d.ts +0 -1
- package/dist/utils/shadowDom.d.ts +0 -30
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
export type ClientPlatform = "web" | "desktop" | "mobile";
|
|
2
|
-
export type DarkModeStrategy = "respects-meta" | "near-black-swap" | "partial-transparent" | "none";
|
|
3
|
-
export interface ClientCapabilities {
|
|
4
|
-
/** @font-face / Google Fonts <link> support. Falls back to the next
|
|
5
|
-
* font in the `font-family` stack (typically Arial) when false. */
|
|
6
|
-
webFonts: boolean;
|
|
7
|
-
/** CSS gradients (linear / radial) on <td> background. Outlook desktop
|
|
8
|
-
* needs VML for these — see `vml` below. */
|
|
9
|
-
gradients: boolean;
|
|
10
|
-
/** border-radius on <td>. Note: border-radius on <a> (your button output)
|
|
11
|
-
* works much more broadly — even Outlook desktop renders rounded <a>
|
|
12
|
-
* buttons since 2016 via the -webkit-border-radius alias. Use
|
|
13
|
-
* `buttonBorderRadius` for the button-specific capability. */
|
|
14
|
-
tdBorderRadius: boolean;
|
|
15
|
-
/** border-radius on <a> elements styled as inline-block buttons.
|
|
16
|
-
* Outlook desktop SUPPORTS this (since 2016 webkit). */
|
|
17
|
-
buttonBorderRadius: boolean;
|
|
18
|
-
/** box-shadow on <td> or <div>. Rare — only modern WebKit clients. */
|
|
19
|
-
boxShadow: boolean;
|
|
20
|
-
/** background-image / `background="..."` attribute on <td>. */
|
|
21
|
-
bgImageOnTd: boolean;
|
|
22
|
-
/** VML rendering — required for gradients and bg images in Outlook desktop.
|
|
23
|
-
* When false, gradient/bg fallback to the solid `backgroundColor`. */
|
|
24
|
-
vml: boolean;
|
|
25
|
-
/** Honors <!--[if mso]> conditional comments. Used to feed Outlook
|
|
26
|
-
* VML-only fallbacks. Universal Microsoft trait. */
|
|
27
|
-
msoConditionals: boolean;
|
|
28
|
-
/** Animated GIF support. Outlook desktop shows first frame only. */
|
|
29
|
-
animatedGifs: boolean;
|
|
30
|
-
/** <video> tag in email. Only Apple Mail and iOS Mail render this. */
|
|
31
|
-
videoTag: boolean;
|
|
32
|
-
/** SVG as <img src="*.svg">. Renders in all modern clients including
|
|
33
|
-
* Outlook desktop (verified by QA) — file extension doesn't affect
|
|
34
|
-
* rendering once the image is fetched via HTTP and decoded. */
|
|
35
|
-
svgImg: boolean;
|
|
36
|
-
/** Retina / 2x images via srcset / width attribute. */
|
|
37
|
-
retinaImages: boolean;
|
|
38
|
-
/** @media (max-width: 600px) query support for responsive design.
|
|
39
|
-
* Outlook desktop classic ignores all <style> tags entirely. */
|
|
40
|
-
mediaQueries: boolean;
|
|
41
|
-
/** <style> tag in <head> respected at all. Gmail web strips it from
|
|
42
|
-
* <head> but keeps inline styles. */
|
|
43
|
-
embeddedStyles: boolean;
|
|
44
|
-
/** `align="center"` attribute on <table> and `<td>`. Universal. */
|
|
45
|
-
tableAlign: boolean;
|
|
46
|
-
/** `padding` style on <td>. Universal in practice, but Outlook desktop
|
|
47
|
-
* measures padding differently — included for completeness. */
|
|
48
|
-
tdPadding: boolean;
|
|
49
|
-
darkModeStrategy: DarkModeStrategy;
|
|
50
|
-
}
|
|
51
|
-
export interface EmailClient {
|
|
52
|
-
id: string;
|
|
53
|
-
name: string;
|
|
54
|
-
vendor: string;
|
|
55
|
-
platform: ClientPlatform;
|
|
56
|
-
/** Engine that powers rendering. */
|
|
57
|
-
engine: string;
|
|
58
|
-
/** Approximate global market share (%). For sorting; not displayed as fact. */
|
|
59
|
-
marketShare?: number;
|
|
60
|
-
/** Brand accent color for the client tile. */
|
|
61
|
-
accentColor: string;
|
|
62
|
-
/** Single emoji or short identifier shown in the card avatar. */
|
|
63
|
-
logoText: string;
|
|
64
|
-
capabilities: ClientCapabilities;
|
|
65
|
-
/** Maximum content width the client renders at (chrome-excluded). */
|
|
66
|
-
viewportWidth: number;
|
|
67
|
-
/** Short human description for tooltip / detail header. */
|
|
68
|
-
description: string;
|
|
69
|
-
/** When previewing on this client, treat the layout as mobile (forces
|
|
70
|
-
* mobile-only CSS classes to apply and triggers `mobileStack` if set). */
|
|
71
|
-
forcesMobile: boolean;
|
|
72
|
-
}
|
|
73
|
-
declare function hydrateFromStorage(): void;
|
|
74
|
-
export declare function useClientPreview(): {
|
|
75
|
-
selectedClients: import('vue').ComputedRef<EmailClient[]>;
|
|
76
|
-
availableClients: import('vue').ComputedRef<EmailClient[]>;
|
|
77
|
-
allClients: readonly {
|
|
78
|
-
readonly id: string;
|
|
79
|
-
readonly name: string;
|
|
80
|
-
readonly vendor: string;
|
|
81
|
-
readonly platform: ClientPlatform;
|
|
82
|
-
readonly engine: string;
|
|
83
|
-
readonly marketShare?: number | undefined;
|
|
84
|
-
readonly accentColor: string;
|
|
85
|
-
readonly logoText: string;
|
|
86
|
-
readonly capabilities: {
|
|
87
|
-
readonly webFonts: boolean;
|
|
88
|
-
readonly gradients: boolean;
|
|
89
|
-
readonly tdBorderRadius: boolean;
|
|
90
|
-
readonly buttonBorderRadius: boolean;
|
|
91
|
-
readonly boxShadow: boolean;
|
|
92
|
-
readonly bgImageOnTd: boolean;
|
|
93
|
-
readonly vml: boolean;
|
|
94
|
-
readonly msoConditionals: boolean;
|
|
95
|
-
readonly animatedGifs: boolean;
|
|
96
|
-
readonly videoTag: boolean;
|
|
97
|
-
readonly svgImg: boolean;
|
|
98
|
-
readonly retinaImages: boolean;
|
|
99
|
-
readonly mediaQueries: boolean;
|
|
100
|
-
readonly embeddedStyles: boolean;
|
|
101
|
-
readonly tableAlign: boolean;
|
|
102
|
-
readonly tdPadding: boolean;
|
|
103
|
-
readonly darkModeStrategy: DarkModeStrategy;
|
|
104
|
-
};
|
|
105
|
-
readonly viewportWidth: number;
|
|
106
|
-
readonly description: string;
|
|
107
|
-
readonly forcesMobile: boolean;
|
|
108
|
-
}[];
|
|
109
|
-
activeClientId: Readonly<import('vue').Ref<string | null, string | null>>;
|
|
110
|
-
activeClient: import('vue').ComputedRef<EmailClient | null>;
|
|
111
|
-
activeClientIndex: import('vue').ComputedRef<number>;
|
|
112
|
-
hasNext: import('vue').ComputedRef<boolean>;
|
|
113
|
-
hasPrev: import('vue').ComputedRef<boolean>;
|
|
114
|
-
isHydrated: Readonly<import('vue').Ref<boolean, boolean>>;
|
|
115
|
-
addClient: (id: string) => void;
|
|
116
|
-
removeClient: (id: string) => void;
|
|
117
|
-
setActiveClient: (id: string | null) => void;
|
|
118
|
-
goToNextClient: () => void;
|
|
119
|
-
goToPrevClient: () => void;
|
|
120
|
-
resetToDefaults: () => void;
|
|
121
|
-
hydrateFromStorage: typeof hydrateFromStorage;
|
|
122
|
-
transformForClient: (html: string, client: EmailClient) => string;
|
|
123
|
-
darkModeCss: (client: EmailClient, isDark: boolean) => string;
|
|
124
|
-
darkChromeBg: (isDark: boolean) => string;
|
|
125
|
-
applyDarkModeDom: (doc: Document | null | undefined, client: EmailClient, isDark: boolean) => void;
|
|
126
|
-
};
|
|
127
|
-
export {};
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* hydrate.ts
|
|
3
|
-
* Restores stripped defaults when importing an optimized JSON template.
|
|
4
|
-
*
|
|
5
|
-
* Strategy: deepMerge(DEFAULTS, saved) — saved value always wins;
|
|
6
|
-
* stripped keys fall back to current defaults automatically.
|
|
7
|
-
*
|
|
8
|
-
* Now supports both new `children` shape and legacy `components` shape per column.
|
|
9
|
-
* On hydration, columns are always written with `children` going forward.
|
|
10
|
-
*/
|
|
11
|
-
interface Component {
|
|
12
|
-
id: string;
|
|
13
|
-
type: string;
|
|
14
|
-
componentType?: string;
|
|
15
|
-
props: Record<string, unknown>;
|
|
16
|
-
}
|
|
17
|
-
type CanvasChild = Component | NestedRow | RowSpacer;
|
|
18
|
-
interface Column {
|
|
19
|
-
id: string;
|
|
20
|
-
width: number;
|
|
21
|
-
children?: CanvasChild[];
|
|
22
|
-
components?: Component[];
|
|
23
|
-
[key: string]: unknown;
|
|
24
|
-
}
|
|
25
|
-
interface NestedRow {
|
|
26
|
-
id: string;
|
|
27
|
-
type: "row";
|
|
28
|
-
columns?: Column[];
|
|
29
|
-
[key: string]: unknown;
|
|
30
|
-
}
|
|
31
|
-
interface RowSpacer {
|
|
32
|
-
id: string;
|
|
33
|
-
type: "row-spacer";
|
|
34
|
-
[key: string]: unknown;
|
|
35
|
-
}
|
|
36
|
-
type Row = NestedRow | RowSpacer;
|
|
37
|
-
interface Canvas {
|
|
38
|
-
language?: string;
|
|
39
|
-
preheaderText?: string;
|
|
40
|
-
bodyBackgroundColor?: string;
|
|
41
|
-
bodyBackgroundImage?: string;
|
|
42
|
-
bodyBackgroundSize?: string;
|
|
43
|
-
bodyBackgroundPosition?: string;
|
|
44
|
-
bodyBackgroundRepeat?: string;
|
|
45
|
-
backgroundColor?: string;
|
|
46
|
-
width?: number;
|
|
47
|
-
padding?: Record<string, number>;
|
|
48
|
-
mobileBreakpoint?: number;
|
|
49
|
-
[key: string]: unknown;
|
|
50
|
-
}
|
|
51
|
-
export declare const hydrateComponent: (comp: Component) => Component;
|
|
52
|
-
export declare const hydrateCanvas: (canvas: Canvas) => Canvas;
|
|
53
|
-
export declare const hydrateRows: (rows: Row[]) => Row[];
|
|
54
|
-
export {};
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
export interface Padding {
|
|
2
|
-
top: number;
|
|
3
|
-
right: number;
|
|
4
|
-
bottom: number;
|
|
5
|
-
left: number;
|
|
6
|
-
}
|
|
7
|
-
export interface Border {
|
|
8
|
-
width: number;
|
|
9
|
-
style: string;
|
|
10
|
-
color: string;
|
|
11
|
-
radius: number;
|
|
12
|
-
}
|
|
13
|
-
export interface GradientStop {
|
|
14
|
-
color: string;
|
|
15
|
-
position: number;
|
|
16
|
-
}
|
|
17
|
-
export interface Gradient {
|
|
18
|
-
type: "linear" | "radial";
|
|
19
|
-
direction: string;
|
|
20
|
-
colors: GradientStop[];
|
|
21
|
-
}
|
|
22
|
-
export interface BackgroundGradient {
|
|
23
|
-
useGradient: boolean;
|
|
24
|
-
solid: string;
|
|
25
|
-
gradient: Gradient;
|
|
26
|
-
}
|
|
27
|
-
export interface Visibility {
|
|
28
|
-
[conditionKey: string]: any;
|
|
29
|
-
}
|
|
30
|
-
export type CanvasChild = CanvasComponentNode | CanvasRowNode | CanvasSpacerNode;
|
|
31
|
-
export interface CanvasComponentNode {
|
|
32
|
-
id: string;
|
|
33
|
-
type: "component";
|
|
34
|
-
componentType: string;
|
|
35
|
-
props: Record<string, any>;
|
|
36
|
-
visibility?: Visibility;
|
|
37
|
-
}
|
|
38
|
-
export interface CanvasRowNode {
|
|
39
|
-
id: string;
|
|
40
|
-
type: "row";
|
|
41
|
-
name: string;
|
|
42
|
-
columns: CanvasColumn[];
|
|
43
|
-
backgroundColor: string;
|
|
44
|
-
backgroundGradient: BackgroundGradient;
|
|
45
|
-
backgroundImage?: string;
|
|
46
|
-
backgroundSize?: string;
|
|
47
|
-
backgroundPosition?: string;
|
|
48
|
-
backgroundRepeat?: string;
|
|
49
|
-
padding: Padding;
|
|
50
|
-
border: Border;
|
|
51
|
-
minHeight: number;
|
|
52
|
-
gap: number;
|
|
53
|
-
mobileStack: boolean;
|
|
54
|
-
visibility: Visibility;
|
|
55
|
-
}
|
|
56
|
-
export interface CanvasSpacerNode {
|
|
57
|
-
id: string;
|
|
58
|
-
type: "row-spacer";
|
|
59
|
-
name: string;
|
|
60
|
-
height: number;
|
|
61
|
-
backgroundColor: string;
|
|
62
|
-
backgroundGradient: BackgroundGradient;
|
|
63
|
-
visibility: Visibility;
|
|
64
|
-
}
|
|
65
|
-
export interface CanvasColumn {
|
|
66
|
-
id: string;
|
|
67
|
-
width: number;
|
|
68
|
-
children: CanvasChild[];
|
|
69
|
-
backgroundColor: string;
|
|
70
|
-
backgroundGradient: BackgroundGradient;
|
|
71
|
-
backgroundImage?: string;
|
|
72
|
-
backgroundSize?: string;
|
|
73
|
-
backgroundPosition?: string;
|
|
74
|
-
backgroundRepeat?: string;
|
|
75
|
-
padding: Padding;
|
|
76
|
-
border: Border;
|
|
77
|
-
verticalAlign: "top" | "middle" | "bottom";
|
|
78
|
-
}
|
|
79
|
-
export type TopLevelRow = CanvasRowNode | CanvasSpacerNode;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
type RGB = [number, number, number];
|
|
2
|
-
export declare function useColor(initial?: string): {
|
|
3
|
-
h: import('vue').Ref<number, number>;
|
|
4
|
-
s: import('vue').Ref<number, number>;
|
|
5
|
-
v: import('vue').Ref<number, number>;
|
|
6
|
-
a: import('vue').Ref<number, number>;
|
|
7
|
-
rgb: import('vue').ComputedRef<RGB>;
|
|
8
|
-
hex: import('vue').ComputedRef<string>;
|
|
9
|
-
rgba: import('vue').ComputedRef<string>;
|
|
10
|
-
cssColor: import('vue').ComputedRef<string>;
|
|
11
|
-
hsl: import('vue').ComputedRef<{
|
|
12
|
-
h: number;
|
|
13
|
-
s: number;
|
|
14
|
-
l: number;
|
|
15
|
-
}>;
|
|
16
|
-
hsb: import('vue').ComputedRef<{
|
|
17
|
-
h: number;
|
|
18
|
-
s: number;
|
|
19
|
-
b: number;
|
|
20
|
-
}>;
|
|
21
|
-
setFromHex: (hexVal: string) => boolean;
|
|
22
|
-
setFromRgb: (r: number, g: number, b: number) => void;
|
|
23
|
-
setFromHsl: (hh: number, ss: number, ll: number) => void;
|
|
24
|
-
setFromHsb: (hh: number, ss: number, bb: number) => void;
|
|
25
|
-
};
|
|
26
|
-
export {};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export declare const useGoogleFonts: () => {
|
|
2
|
-
googleFonts: import('vue').Ref<string[], string[]>;
|
|
3
|
-
loadGoogleFont: (fontFamily?: string) => void;
|
|
4
|
-
getGoogleFontImports: (fonts: string[]) => string;
|
|
5
|
-
syncFontsForTemplate: (fonts: string[]) => void;
|
|
6
|
-
preconnectGoogleFonts: () => void;
|
|
7
|
-
isWebSafeFont: (font: string) => boolean;
|
|
8
|
-
WEB_SAFE_FONTS: Set<string>;
|
|
9
|
-
FONTS_WITH_ITALICS: Set<string>;
|
|
10
|
-
DEFAULT_WEIGHTS: number[];
|
|
11
|
-
};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export interface UploadResult {
|
|
2
|
-
previewUrl: string;
|
|
3
|
-
permanentUrl: string;
|
|
4
|
-
cleanup: () => void;
|
|
5
|
-
}
|
|
6
|
-
export declare class ImageUploadError extends Error {
|
|
7
|
-
constructor(message: string);
|
|
8
|
-
}
|
|
9
|
-
export declare function validateImageFile(file: File): void;
|
|
10
|
-
export declare function swapOnLoad(permanentUrl: string, onReady: () => void, cleanup: () => void): void;
|
|
11
|
-
/**
|
|
12
|
-
* Called from within a component's setup — useStorageAdapter() requires
|
|
13
|
-
* that timing, which is why this is a composable rather than a plain
|
|
14
|
-
* export like the three functions above (none of which need injection).
|
|
15
|
-
*
|
|
16
|
-
* Returns handleImageUploadFlow pre-bound to the active adapter, so call
|
|
17
|
-
* sites keep the exact same 4-argument call shape they always had.
|
|
18
|
-
*/
|
|
19
|
-
export declare function useImageUploader(): {
|
|
20
|
-
handleImageUploadFlow: (file: File, onPreview: (objectUrl: string) => void, onSuccess: (permanentUrl: string, cleanup: () => void) => void, onError: (message: string) => void) => Promise<void>;
|
|
21
|
-
swapOnLoad: typeof swapOnLoad;
|
|
22
|
-
validateImageFile: typeof validateImageFile;
|
|
23
|
-
};
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared open/close state for the Saved Rows panel.
|
|
3
|
-
*
|
|
4
|
-
* this used to be Nuxt's useState, shared across components by
|
|
5
|
-
* matching string key. Same provide/inject conversion as useEmailBuilder —
|
|
6
|
-
* one instance created at the EmailEditor root, injected everywhere else,
|
|
7
|
-
* so LayoutTab's toggle button and SavedRowsPanel's isOpen check still see
|
|
8
|
-
* the same boolean.
|
|
9
|
-
*
|
|
10
|
-
* The "system" tab concept was removed from SavedRowsPanel.vue
|
|
11
|
-
* (see its top-of-file note) — activeTab is kept here since LayoutTab still
|
|
12
|
-
* references the shape, but it's permanently "user" now in practice.
|
|
13
|
-
*/
|
|
14
|
-
export type SavedRowsTab = "user" | "system";
|
|
15
|
-
type SavedRowsPanelInstance = ReturnType<typeof createSavedRowsPanelInstance>;
|
|
16
|
-
/** Called once, at the EmailEditor root. */
|
|
17
|
-
export declare function provideSavedRowsPanel(): {
|
|
18
|
-
isOpen: import('vue').Ref<boolean, boolean>;
|
|
19
|
-
activeTab: import('vue').Ref<SavedRowsTab, SavedRowsTab>;
|
|
20
|
-
open: (tab?: SavedRowsTab) => void;
|
|
21
|
-
close: () => void;
|
|
22
|
-
toggle: (tab?: SavedRowsTab) => void;
|
|
23
|
-
setTab: (tab: SavedRowsTab) => void;
|
|
24
|
-
};
|
|
25
|
-
/** Every other file calls this exactly as before. */
|
|
26
|
-
export declare const useSavedRowsPanel: () => SavedRowsPanelInstance;
|
|
27
|
-
declare function createSavedRowsPanelInstance(): {
|
|
28
|
-
isOpen: import('vue').Ref<boolean, boolean>;
|
|
29
|
-
activeTab: import('vue').Ref<SavedRowsTab, SavedRowsTab>;
|
|
30
|
-
open: (tab?: SavedRowsTab) => void;
|
|
31
|
-
close: () => void;
|
|
32
|
-
toggle: (tab?: SavedRowsTab) => void;
|
|
33
|
-
setTab: (tab: SavedRowsTab) => void;
|
|
34
|
-
};
|
|
35
|
-
export {};
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Confirmation dialog store.
|
|
3
|
-
*
|
|
4
|
-
* Module-level singleton state rather than provide/inject, deliberately.
|
|
5
|
-
* An injected service has two failure modes this avoids: it can't be read
|
|
6
|
-
* from the same component that provides it (Vue's inject() never sees the
|
|
7
|
-
* current component's own provide()), and two copies of the providing
|
|
8
|
-
* module produce two different injection keys for what should be one
|
|
9
|
-
* store. A module-scoped ref has neither problem — one store, no keys, no
|
|
10
|
-
* dependency on where in the tree the caller sits — so it behaves
|
|
11
|
-
* identically however the editor is mounted.
|
|
12
|
-
*/
|
|
13
|
-
export interface ConfirmOptions {
|
|
14
|
-
message?: string;
|
|
15
|
-
header?: string;
|
|
16
|
-
acceptLabel?: string;
|
|
17
|
-
rejectLabel?: string;
|
|
18
|
-
acceptClass?: string;
|
|
19
|
-
rejectClass?: string;
|
|
20
|
-
accept?: () => void;
|
|
21
|
-
reject?: () => void;
|
|
22
|
-
}
|
|
23
|
-
/** Null when nothing is pending — ConfirmDialog.vue renders on this. */
|
|
24
|
-
export declare const activeConfirm: import('vue').ShallowRef<ConfirmOptions | null, ConfirmOptions | null>;
|
|
25
|
-
export declare const confirmVisible: import('vue').Ref<boolean, boolean>;
|
|
26
|
-
declare function close(): void;
|
|
27
|
-
export declare function acceptActive(): void;
|
|
28
|
-
export declare function rejectActive(): void;
|
|
29
|
-
export declare function useConfirm(): {
|
|
30
|
-
require(options: ConfirmOptions): void;
|
|
31
|
-
close: typeof close;
|
|
32
|
-
};
|
|
33
|
-
export {};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* same provide/inject conversion — called from SidebarBlockButton.vue
|
|
3
|
-
* and useEmailExportEngine.ts (via useEmailBuilder), both needing to open the
|
|
4
|
-
* same dialog that presumably renders once near the EmailEditor root.
|
|
5
|
-
*/
|
|
6
|
-
type InfoDialogInstance = ReturnType<typeof createInfoDialogInstance>;
|
|
7
|
-
/** Called once, at the EmailEditor root. */
|
|
8
|
-
export declare function provideInfoDialog(): {
|
|
9
|
-
visible: import('vue').Ref<boolean, boolean>;
|
|
10
|
-
header: import('vue').Ref<string, string>;
|
|
11
|
-
message: import('vue').Ref<string, string>;
|
|
12
|
-
open: (msg: string, h?: string) => void;
|
|
13
|
-
};
|
|
14
|
-
/** Every other file calls this exactly as before. */
|
|
15
|
-
export declare const useInfoDialog: () => InfoDialogInstance;
|
|
16
|
-
declare function createInfoDialogInstance(): {
|
|
17
|
-
visible: import('vue').Ref<boolean, boolean>;
|
|
18
|
-
header: import('vue').Ref<string, string>;
|
|
19
|
-
message: import('vue').Ref<string, string>;
|
|
20
|
-
open: (msg: string, h?: string) => void;
|
|
21
|
-
};
|
|
22
|
-
export {};
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { Ref, ComputedRef } from 'vue';
|
|
2
|
-
/**
|
|
3
|
-
* Fixes a real, confirmed bug: every <Teleport to="body"> throughout this
|
|
4
|
-
* package (7 separate files — color pickers, the merge-tag picker, loading
|
|
5
|
-
* overlay, canvas action bar, preview client picker/screen) was hardcoded
|
|
6
|
-
* to the literal string "body". Vue resolves a string `to` target via
|
|
7
|
-
* document.querySelector() internally, which cannot see past a shadow
|
|
8
|
-
* root boundary at all — so for the custom-element usage path, every one
|
|
9
|
-
* of these was teleporting its content to the actual page body, entirely
|
|
10
|
-
* outside the shadow root where all of this package's CSS lives. The teleported content still
|
|
11
|
-
* rendered, just completely unstyled, and this doubles as the mechanism
|
|
12
|
-
* behind a second, related bug: click-outside handlers elsewhere in this
|
|
13
|
-
* package querying document.querySelector('[data-color-panel]') for that
|
|
14
|
-
* same teleported content could never find it either, for the identical
|
|
15
|
-
* reason.
|
|
16
|
-
*
|
|
17
|
-
* The fix has to be an actual DOM element reference, not a selector
|
|
18
|
-
* string — a string target re-triggers the exact document.querySelector
|
|
19
|
-
* problem this exists to solve. EmailEditor.vue provides this once, at
|
|
20
|
-
* its own root, pointing at a dedicated element it renders for exactly
|
|
21
|
-
* this purpose — every other file across the package just injects it and
|
|
22
|
-
* hands it straight to :to, with zero per-file conditional logic for
|
|
23
|
-
* which usage path (Vue component vs custom element) is active.
|
|
24
|
-
*
|
|
25
|
-
* A Ref, not a plain value: the target element is a template ref inside
|
|
26
|
-
* EmailEditor.vue, so it doesn't exist yet at the moment provide() runs
|
|
27
|
-
* during setup() — only after mount. Providing the Ref object itself
|
|
28
|
-
* (not .value) means every injecting component's own :to="target" template
|
|
29
|
-
* binding re-evaluates automatically once it populates, with no extra
|
|
30
|
-
* wiring needed anywhere else.
|
|
31
|
-
*/
|
|
32
|
-
export type TeleportTarget = Ref<HTMLElement | null>;
|
|
33
|
-
/** Called once, at the EmailEditor root, with the ref it renders a container element into. */
|
|
34
|
-
export declare function provideTeleportTarget(target: TeleportTarget): void;
|
|
35
|
-
/**
|
|
36
|
-
* Every other file calls this and hands the result straight to
|
|
37
|
-
* <Teleport :to="...">. Falls back to "body" (Vue's own default) rather
|
|
38
|
-
* than throwing — matches useInfoDialog/useStorageAdapter's reasoning. A
|
|
39
|
-
* component used in isolation, outside EmailEditor.vue's tree entirely,
|
|
40
|
-
* should still degrade to Vue's normal behavior rather than crash.
|
|
41
|
-
*/
|
|
42
|
-
export declare function useTeleportTarget(): TeleportTarget | "body";
|
|
43
|
-
/**
|
|
44
|
-
* The same target, typed for the `to` prop of Reka UI's portal components
|
|
45
|
-
* (and Vue's own Teleport), which accept `string | HTMLElement` but not
|
|
46
|
-
* `null`. Normalises the not-yet-mounted case to undefined so the portal
|
|
47
|
-
* falls back to its own default instead of erroring on a null target.
|
|
48
|
-
*/
|
|
49
|
-
export declare function usePortalTarget(): ComputedRef<string | HTMLElement | undefined>;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Toast notification store.
|
|
3
|
-
*
|
|
4
|
-
* Module-level store for the same reasons as useConfirm — no injection
|
|
5
|
-
* key, no service registration, and no dependency on where in the
|
|
6
|
-
* component tree the caller sits.
|
|
7
|
-
*/
|
|
8
|
-
export interface ToastMessage {
|
|
9
|
-
id: number;
|
|
10
|
-
severity?: "success" | "info" | "warn" | "error" | string;
|
|
11
|
-
summary?: string;
|
|
12
|
-
detail?: string;
|
|
13
|
-
life?: number;
|
|
14
|
-
}
|
|
15
|
-
export declare const toasts: import('vue').Ref<{
|
|
16
|
-
id: number;
|
|
17
|
-
severity?: "success" | "info" | "warn" | "error" | string | undefined;
|
|
18
|
-
summary?: string | undefined;
|
|
19
|
-
detail?: string | undefined;
|
|
20
|
-
life?: number | undefined;
|
|
21
|
-
}[], ToastMessage[] | {
|
|
22
|
-
id: number;
|
|
23
|
-
severity?: "success" | "info" | "warn" | "error" | string | undefined;
|
|
24
|
-
summary?: string | undefined;
|
|
25
|
-
detail?: string | undefined;
|
|
26
|
-
life?: number | undefined;
|
|
27
|
-
}[]>;
|
|
28
|
-
export declare function removeToast(id: number): void;
|
|
29
|
-
export declare function useToast(): {
|
|
30
|
-
add(message: Omit<ToastMessage, "id">): void;
|
|
31
|
-
removeAll(): void;
|
|
32
|
-
};
|
package/dist/devStyleMirror.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Mirrors `document.head` <style> tags into a shadow root.
|
|
3
|
-
*
|
|
4
|
-
* Only needed when running the editor from source (the playground and its
|
|
5
|
-
* element-demo page). In a built bundle, every component's scoped CSS is
|
|
6
|
-
* substituted into shadowStyles.ts at build time, so the shadow root is
|
|
7
|
-
* self-contained and this does nothing.
|
|
8
|
-
*
|
|
9
|
-
* From source there is no build step, so Vite injects each `.vue` file's
|
|
10
|
-
* scoped styles into `document.head` as it serves them — and a shadow root
|
|
11
|
-
* does not inherit page styles. The result is a shadow root with the base
|
|
12
|
-
* stylesheet but none of the component CSS: unsized icons, dialogs without
|
|
13
|
-
* chrome, panels without layout. It looks like the editor is broken when in
|
|
14
|
-
* fact only this one delivery path is missing.
|
|
15
|
-
*
|
|
16
|
-
* Gated on whether the extracted CSS actually arrived rather than on
|
|
17
|
-
* `import.meta.env.DEV`, so it switches itself off the moment the real
|
|
18
|
-
* styles are present — including in a dev build that does run the plugin.
|
|
19
|
-
*/
|
|
20
|
-
export declare function mirrorHeadStylesInto(shadowRoot: ShadowRoot): () => void;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Fixes a real, browser-level Shadow DOM limitation that no amount of
|
|
3
|
-
* getting the CSS *into* the shadow root can solve: `@font-face`,
|
|
4
|
-
* `@property`, and `@import` are **document-scoped at-rules**. Declared
|
|
5
|
-
* inside a shadow root, browsers silently ignore them. The rules are
|
|
6
|
-
* present, the CSS is valid, nothing errors — they just do nothing.
|
|
7
|
-
*
|
|
8
|
-
* Two very visible symptoms this causes, both confirmed from real
|
|
9
|
-
* browser behavior rather than automated tests (jsdom checks DOM
|
|
10
|
-
* structure, never font loading or the real CSS cascade, so this class of
|
|
11
|
-
* bug is invisible to it):
|
|
12
|
-
*
|
|
13
|
-
* 1. Icon fonts render blank. A rule like `.icon:before{content:"\ue001"}`
|
|
14
|
-
* applies correctly, but the `@font-face` defining the family is
|
|
15
|
-
* dropped — so the glyph has no font to come from, while inline SVG
|
|
16
|
-
* icons are unaffected. That asymmetry makes it look like "only some
|
|
17
|
-
* icons broke". The Satoshi brand font, pulled in via `@import`, hits
|
|
18
|
-
* the same wall.
|
|
19
|
-
*
|
|
20
|
-
* 2. Tailwind v4 looks broken/scattered. It emits `@property` rules
|
|
21
|
-
* (`--tw-border-style`, `--tw-shadow`, the transform variables, and
|
|
22
|
-
* so on) purely to give those custom properties their initial
|
|
23
|
-
* values. Dropped inside a shadow root, every
|
|
24
|
-
* `var(--tw-border-style)` resolves to nothing, so borders, shadows,
|
|
25
|
-
* and transforms silently stop applying while plain utilities like
|
|
26
|
-
* flex/padding keep working.
|
|
27
|
-
*
|
|
28
|
-
* The fix is simply to also place these specific rules in document.head,
|
|
29
|
-
* where they're valid — the rest of the CSS stays in the shadow root,
|
|
30
|
-
* where it still provides the isolation the custom element exists for.
|
|
31
|
-
* Fonts and registered custom properties are global by nature; there's
|
|
32
|
-
* no isolation to lose by hoisting them.
|
|
33
|
-
*/
|
|
34
|
-
/**
|
|
35
|
-
* Extracts every document-scoped rule from the given stylesheets and adds
|
|
36
|
-
* them to document.head. Idempotent — safe to call on every mount, and on
|
|
37
|
-
* every element instance if several exist on one page.
|
|
38
|
-
*/
|
|
39
|
-
export declare function injectDocumentScopedRules(cssStrings: string[]): void;
|