@useinsider/guido 2.0.0-beta.c9db5fd → 2.0.0-beta.d0056c9
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/dist/components/organisms/email-preview/PreviewContainer.vue.js +3 -3
- package/dist/components/organisms/email-preview/amp/AmpErrorModal.vue.js +6 -6
- package/dist/components/organisms/email-preview/amp/AmpErrorModal.vue2.js +17 -13
- package/dist/components/organisms/email-preview/amp/AmpToggle.vue.js +6 -6
- package/dist/components/organisms/email-preview/amp/AmpToggle.vue2.js +14 -12
- package/dist/components/organisms/email-preview/desktop-preview/DesktopBrowserHeader.vue.js +18 -0
- package/dist/components/organisms/email-preview/desktop-preview/DesktopBrowserHeader.vue2.js +15 -0
- package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue.js +10 -14
- package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue2.js +14 -22
- package/dist/components/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.js +3 -3
- package/dist/components/organisms/email-preview/mobile-preview/ContentView.vue.js +11 -10
- package/dist/components/organisms/email-preview/mobile-preview/InboxView.vue.js +12 -10
- package/dist/components/organisms/email-preview/mobile-preview/MobilePreview.vue.js +11 -10
- package/dist/components/organisms/email-preview/mobile-preview/MobilePreview.vue2.js +15 -14
- package/dist/components/organisms/header/EditorActions.vue.js +21 -0
- package/dist/components/organisms/header/EditorActions.vue2.js +41 -0
- package/dist/components/organisms/header/EditorToolbar.vue.js +18 -0
- package/dist/components/organisms/header/EditorToolbar.vue2.js +17 -0
- package/dist/components/organisms/header/HeaderWrapper.vue.js +6 -5
- package/dist/components/organisms/header/LeftSlot.vue.js +11 -11
- package/dist/components/organisms/header/LeftSlot.vue2.js +11 -12
- package/dist/components/organisms/header/MiddleSlot.vue.js +7 -7
- package/dist/components/organisms/header/MiddleSlot.vue2.js +11 -15
- package/dist/components/organisms/header/RightSlot.vue.js +11 -14
- package/dist/components/organisms/header/RightSlot.vue2.js +13 -30
- package/dist/components/organisms/header/version-history/VersionHistory.vue.js +5 -5
- package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +15 -15
- package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.js +1 -1
- package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue2.js +20 -19
- package/dist/config/migrator/recommendationMigrator.js +1 -1
- package/dist/enums/academy.js +8 -0
- package/dist/enums/onboarding.js +1 -2
- package/dist/enums/unsubscribe.js +20 -21
- package/dist/extensions/Blocks/Items/controls/cardComposition.js +4 -13
- package/dist/extensions/Blocks/Recommendation/block.js +1 -1
- package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +103 -0
- package/dist/extensions/Blocks/Recommendation/constants.js +5 -0
- package/dist/extensions/Blocks/Recommendation/control.js +306 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/align.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/border.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/color.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/text.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/image/size.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/name/align.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/name/background.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/name/color.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/name/size.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/name/style.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/price/align.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/price/background.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/price/color.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/price/size.js +13 -0
- package/dist/extensions/Blocks/Recommendation/controls/price/style.js +13 -0
- package/dist/extensions/Blocks/Recommendation/extension.js +43 -39
- package/dist/extensions/Blocks/Recommendation/recommendation.css.js +0 -5
- package/dist/extensions/Blocks/Recommendation/settingsPanel.js +72 -127
- package/dist/extensions/Blocks/Recommendation/store/recommendation.js +20 -20
- package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +160 -0
- package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +152 -0
- package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +88 -67
- package/dist/extensions/Blocks/controlFactories.js +121 -155
- package/dist/guido.css +1 -1
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +291 -361
- package/dist/package.json.js +1 -1
- package/dist/src/components/organisms/email-preview/desktop-preview/DesktopBrowserHeader.vue.d.ts +2 -0
- package/dist/src/components/organisms/header/EditorActions.vue.d.ts +4 -0
- package/dist/src/components/organisms/header/EditorToolbar.vue.d.ts +2 -0
- package/dist/src/components/organisms/header/RightSlot.vue.d.ts +1 -1
- package/dist/src/enums/academy.d.ts +12 -0
- package/dist/src/enums/onboarding.d.ts +0 -1
- package/dist/src/enums/unsubscribe.d.ts +0 -1
- package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +28 -0
- package/dist/src/extensions/Blocks/Recommendation/{constants/controlIds.d.ts → constants.d.ts} +11 -19
- package/dist/src/extensions/Blocks/Recommendation/{controls/main/index.d.ts → control.d.ts} +3 -19
- package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +5 -0
- package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +0 -9
- package/dist/src/extensions/Blocks/Recommendation/templates/{verticalTemplate.d.ts → blockTemplate.d.ts} +9 -13
- package/dist/src/extensions/Blocks/Recommendation/templates/{verticalMigrationTemplate.d.ts → migrationTemplate.d.ts} +4 -11
- package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +21 -59
- package/dist/src/stores/editor.d.ts +21 -0
- package/dist/static/assets/desktop/desktop-mockup-center.svg.js +4 -0
- package/dist/static/assets/desktop/desktop-mockup-left.svg.js +4 -0
- package/dist/static/assets/desktop/desktop-mockup-right.svg.js +4 -0
- package/dist/static/assets/mobile/email-mockup.svg.js +4 -0
- package/dist/static/assets/mobile/inbox-mockup.svg.js +4 -0
- package/dist/static/styles/components/wide-panel.css.js +5 -1
- package/dist/static/styles/customEditorStyle.css.js +2 -38
- package/dist/stores/editor.js +1 -0
- package/package.json +3 -3
- package/dist/components/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue.js +0 -17
- package/dist/components/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue2.js +0 -20
- package/dist/extensions/Blocks/Recommendation/constants/blockIds.js +0 -4
- package/dist/extensions/Blocks/Recommendation/constants/controlIds.js +0 -4
- package/dist/extensions/Blocks/Recommendation/constants/selectors.js +0 -11
- package/dist/extensions/Blocks/Recommendation/controls/button/index.js +0 -64
- package/dist/extensions/Blocks/Recommendation/controls/cardBackground/index.js +0 -100
- package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +0 -243
- package/dist/extensions/Blocks/Recommendation/controls/image/index.js +0 -19
- package/dist/extensions/Blocks/Recommendation/controls/layout/index.js +0 -152
- package/dist/extensions/Blocks/Recommendation/controls/main/index.js +0 -370
- package/dist/extensions/Blocks/Recommendation/controls/name/index.js +0 -46
- package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +0 -76
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +0 -44
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +0 -48
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.js +0 -73
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.js +0 -73
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +0 -48
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.js +0 -73
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.js +0 -73
- package/dist/extensions/Blocks/Recommendation/controls/price/index.js +0 -44
- package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +0 -224
- package/dist/extensions/Blocks/Recommendation/templates/horizontalElementRenderer.js +0 -157
- package/dist/extensions/Blocks/Recommendation/templates/horizontalTemplate.js +0 -78
- package/dist/extensions/Blocks/Recommendation/templates/verticalElementRenderer.js +0 -186
- package/dist/extensions/Blocks/Recommendation/templates/verticalMigrationTemplate.js +0 -256
- package/dist/extensions/Blocks/Recommendation/templates/verticalTemplate.js +0 -81
- package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +0 -25
- package/dist/src/extensions/Blocks/Recommendation/constants/blockIds.d.ts +0 -13
- package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +0 -11
- package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +0 -19
- package/dist/src/extensions/Blocks/Recommendation/controls/button/index.d.ts +0 -143
- package/dist/src/extensions/Blocks/Recommendation/controls/cardBackground/index.d.ts +0 -41
- package/dist/src/extensions/Blocks/Recommendation/controls/cardComposition/index.d.ts +0 -95
- package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +0 -35
- package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +0 -23
- package/dist/src/extensions/Blocks/Recommendation/controls/layout/index.d.ts +0 -50
- package/dist/src/extensions/Blocks/Recommendation/controls/name/index.d.ts +0 -97
- package/dist/src/extensions/Blocks/Recommendation/controls/name/textTrim.d.ts +0 -16
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/index.d.ts +0 -95
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.d.ts +0 -100
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.d.ts +0 -15
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.d.ts +0 -15
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/index.d.ts +0 -100
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.d.ts +0 -15
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.d.ts +0 -15
- package/dist/src/extensions/Blocks/Recommendation/controls/price/index.d.ts +0 -95
- package/dist/src/extensions/Blocks/Recommendation/controls/spacing/index.d.ts +0 -77
- package/dist/src/extensions/Blocks/Recommendation/templates/horizontalElementRenderer.d.ts +0 -8
- package/dist/src/extensions/Blocks/Recommendation/templates/horizontalMigrationTemplate.d.ts +0 -25
- package/dist/src/extensions/Blocks/Recommendation/templates/horizontalTemplate.d.ts +0 -28
- package/dist/src/extensions/Blocks/Recommendation/templates/verticalElementRenderer.d.ts +0 -7
- package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +0 -19
- package/dist/static/assets/inbox-mockup.svg.js +0 -4
- package/dist/static/assets/phone-mockup.svg.js +0 -4
package/dist/package.json.js
CHANGED
package/dist/src/components/organisms/email-preview/desktop-preview/DesktopBrowserHeader.vue.d.ts
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{}, {
|
|
2
|
+
handleSave: (isSilent: boolean) => Promise<import("../../../@types/stripo").SavedTemplateDetails | undefined>;
|
|
3
|
+
}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
4
|
+
export default _default;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
2
|
+
export default _default;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
declare const _default: import("vue").DefineComponent<{}, {
|
|
2
|
-
handleSave: (isSilent: boolean) => Promise<import("../../../@types/stripo").SavedTemplateDetails | undefined
|
|
2
|
+
handleSave: (isSilent: boolean) => Promise<import("../../../@types/stripo.js").SavedTemplateDetails | undefined> | undefined;
|
|
3
3
|
}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
|
|
4
4
|
export default _default;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized Academy Links
|
|
3
|
+
*
|
|
4
|
+
* All external academy documentation links should be defined here
|
|
5
|
+
* for easy maintenance and domain migration.
|
|
6
|
+
*/
|
|
7
|
+
export declare const ACADEMY_LINKS: {
|
|
8
|
+
readonly EMAIL_EDITOR: "https://academy.insiderone.com//docs/email-drag-and-drop-editor";
|
|
9
|
+
readonly GLOBAL_UNSUBSCRIBE: "https://academy.insiderone.com//docs/global-unsubscribe-preference-center";
|
|
10
|
+
readonly AMP_FOR_EMAILS: "https://academy.insiderone.com//docs/amp-for-emails";
|
|
11
|
+
};
|
|
12
|
+
export type AcademyLinkKey = keyof typeof ACADEMY_LINKS;
|
|
@@ -3,4 +3,3 @@ export declare const UI_EDITOR_SELECTOR = "ui-editor";
|
|
|
3
3
|
export declare const CARD_COMPOSITION_TAB_SELECTOR = "button[role=\"tab\"][aria-label=\"Card Composition\"]";
|
|
4
4
|
export declare const SETTINGS_TAB_SELECTOR = "button[role=\"tab\"][aria-label=\"Settings\"]";
|
|
5
5
|
export declare const RIBBON_SELECTOR = ".in-ribbons-wrapper";
|
|
6
|
-
export declare const ACADEMY_LINK = "https://academy.useinsider.com/docs/email-drag-drop-editor";
|
|
@@ -17,7 +17,6 @@ export declare const DEFAULT_UNSUBSCRIBE_GROUP: {
|
|
|
17
17
|
readonly name: "Global Unsubscribe";
|
|
18
18
|
readonly sendGridId: "G";
|
|
19
19
|
};
|
|
20
|
-
export declare const ACADEMY_LINK = "https://academy.useinsider.com/docs/global-unsubscribe-preference-center";
|
|
21
20
|
export declare const UNSUBSCRIBE_PAGES_LINK = "/email/unsubscribe-pages";
|
|
22
21
|
export declare const PAGE_TYPES: {
|
|
23
22
|
GLOBAL_UNSUBSCRIBE: number;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
|
|
2
|
+
import { CommonControl } from '../common-control';
|
|
3
|
+
export declare const COMPOSITION_CONTROL_BLOCK_ID = "ui-elements-recommendation-card-composition";
|
|
4
|
+
export interface CardCompositionItem {
|
|
5
|
+
key: string;
|
|
6
|
+
label: string;
|
|
7
|
+
visible: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare class RecommendationCardCompositionControl extends CommonControl {
|
|
10
|
+
private currentComposition;
|
|
11
|
+
private currentVisibility;
|
|
12
|
+
getId(): string;
|
|
13
|
+
getTemplate(): string;
|
|
14
|
+
onRender(): void;
|
|
15
|
+
onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
|
|
16
|
+
/**
|
|
17
|
+
* Initialize the composition order and visibility from the block or use defaults
|
|
18
|
+
*/
|
|
19
|
+
private _initializeComposition;
|
|
20
|
+
/**
|
|
21
|
+
* Apply the reordered composition to the block's HTML structure
|
|
22
|
+
*/
|
|
23
|
+
private _applyCompositionToBlock;
|
|
24
|
+
/**
|
|
25
|
+
* Apply visibility changes to the block's HTML structure
|
|
26
|
+
*/
|
|
27
|
+
private _applyVisibilityToBlock;
|
|
28
|
+
}
|
package/dist/src/extensions/Blocks/Recommendation/{constants/controlIds.d.ts → constants.d.ts}
RENAMED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Block IDs used in the Recommendation Extension
|
|
3
|
+
* These IDs are used in the esd-extension-block-id attribute to identify specific blocks
|
|
4
|
+
*/
|
|
5
|
+
export declare enum RecommendationBlockId {
|
|
6
|
+
BUTTON = "recommendation-block-button",
|
|
7
|
+
NAME = "recommendation-block-name",
|
|
8
|
+
PRICE = "recommendation-block-price",
|
|
9
|
+
OLD_PRICE = "recommendation-block-old-price",
|
|
10
|
+
IMAGE = "recommendation-block-image"
|
|
11
|
+
}
|
|
1
12
|
/**
|
|
2
13
|
* Control IDs used in the Recommendation Extension
|
|
3
14
|
* These IDs are returned by the getId() method of each control
|
|
@@ -21,7 +32,6 @@ export declare enum RecommendationControlId {
|
|
|
21
32
|
NAME_PADDINGS = "recommendation-block-name-paddings-control",
|
|
22
33
|
NAME_SIZE = "recommendation-block-name-size-control",
|
|
23
34
|
NAME_STYLE = "recommendation-block-name-style-control",
|
|
24
|
-
NAME_TEXT_TRIM = "recommendation-block-name-text-trim-control",
|
|
25
35
|
PRICE_ALIGN = "recommendation-block-price-align-control",
|
|
26
36
|
PRICE_BACKGROUND = "recommendation-block-price-background-control",
|
|
27
37
|
PRICE_COLOR = "recommendation-block-price-color-control",
|
|
@@ -36,24 +46,6 @@ export declare enum RecommendationControlId {
|
|
|
36
46
|
OLD_PRICE_PADDINGS = "recommendation-block-old-price-paddings-control",
|
|
37
47
|
OLD_PRICE_SIZE = "recommendation-block-old-price-size-control",
|
|
38
48
|
OLD_PRICE_STYLE = "recommendation-block-old-price-style-control",
|
|
39
|
-
OMNIBUS_PRICE_ALIGN = "recommendation-block-omnibus-price-align-control",
|
|
40
|
-
OMNIBUS_PRICE_BACKGROUND = "recommendation-block-omnibus-price-background-control",
|
|
41
|
-
OMNIBUS_PRICE_COLOR = "recommendation-block-omnibus-price-color-control",
|
|
42
|
-
OMNIBUS_PRICE_FONT_FAMILY = "recommendation-block-omnibus-price-font-family-control",
|
|
43
|
-
OMNIBUS_PRICE_PADDINGS = "recommendation-block-omnibus-price-paddings-control",
|
|
44
|
-
OMNIBUS_PRICE_SIZE = "recommendation-block-omnibus-price-size-control",
|
|
45
|
-
OMNIBUS_PRICE_STYLE = "recommendation-block-omnibus-price-style-control",
|
|
46
|
-
OMNIBUS_PRICE_TEXT_BEFORE = "recommendation-block-omnibus-price-text-before-control",
|
|
47
|
-
OMNIBUS_PRICE_TEXT_AFTER = "recommendation-block-omnibus-price-text-after-control",
|
|
48
|
-
OMNIBUS_DISCOUNT_ALIGN = "recommendation-block-omnibus-discount-align-control",
|
|
49
|
-
OMNIBUS_DISCOUNT_BACKGROUND = "recommendation-block-omnibus-discount-background-control",
|
|
50
|
-
OMNIBUS_DISCOUNT_COLOR = "recommendation-block-omnibus-discount-color-control",
|
|
51
|
-
OMNIBUS_DISCOUNT_FONT_FAMILY = "recommendation-block-omnibus-discount-font-family-control",
|
|
52
|
-
OMNIBUS_DISCOUNT_PADDINGS = "recommendation-block-omnibus-discount-paddings-control",
|
|
53
|
-
OMNIBUS_DISCOUNT_SIZE = "recommendation-block-omnibus-discount-size-control",
|
|
54
|
-
OMNIBUS_DISCOUNT_STYLE = "recommendation-block-omnibus-discount-style-control",
|
|
55
|
-
OMNIBUS_DISCOUNT_TEXT_BEFORE = "recommendation-block-omnibus-discount-text-before-control",
|
|
56
|
-
OMNIBUS_DISCOUNT_TEXT_AFTER = "recommendation-block-omnibus-discount-text-after-control",
|
|
57
49
|
IMAGE_SIZE = "recommendation-block-image-size-control",
|
|
58
50
|
IMAGE_MARGINS = "recommendation-block-image-margins-control"
|
|
59
51
|
}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
|
|
3
|
-
import { CommonControl } from '../../../common-control';
|
|
1
|
+
import { CommonControl } from '../common-control';
|
|
4
2
|
export declare const CONTROL_BLOCK_ID = "ui-elements-recommendation-block";
|
|
5
3
|
export declare class RecommendationBlockControl extends CommonControl {
|
|
6
4
|
private store;
|
|
@@ -10,7 +8,6 @@ export declare class RecommendationBlockControl extends CommonControl {
|
|
|
10
8
|
getId(): string;
|
|
11
9
|
getTemplate(): string;
|
|
12
10
|
onRender(): Promise<void>;
|
|
13
|
-
onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
|
|
14
11
|
onDestroy(): void;
|
|
15
12
|
_setFormValues(): void;
|
|
16
13
|
_initializeSelectItems(): void;
|
|
@@ -18,18 +15,10 @@ export declare class RecommendationBlockControl extends CommonControl {
|
|
|
18
15
|
_getLanguages(): string;
|
|
19
16
|
_getCurrency(): string;
|
|
20
17
|
_getProductLayout(): string;
|
|
21
|
-
/**
|
|
22
|
-
* Gets the current layout orientation from the block's data attribute
|
|
23
|
-
*/
|
|
24
|
-
_getCurrentLayout(): Orientation;
|
|
25
|
-
/**
|
|
26
|
-
* Updates "Products in One Row" visibility based on layout orientation
|
|
27
|
-
* This control is hidden for horizontal layout (products always take full width)
|
|
28
|
-
* Reads from store first (reliable during state transitions), falls back to DOM
|
|
29
|
-
*/
|
|
30
|
-
_updateProductsInRowVisibility(): void;
|
|
31
18
|
_getFilterStatus(): string;
|
|
32
19
|
_getShuffleProducts(): string;
|
|
20
|
+
_getResponsive(): string;
|
|
21
|
+
_onFilterChange(value: boolean): void;
|
|
33
22
|
_onFilterSelectClick(): void;
|
|
34
23
|
_onDataChange(item: string, value: string | number | string[]): void;
|
|
35
24
|
/**
|
|
@@ -37,11 +26,6 @@ export declare class RecommendationBlockControl extends CommonControl {
|
|
|
37
26
|
*/
|
|
38
27
|
_getCardComposition(): string[];
|
|
39
28
|
_regenerateProductRows(): void;
|
|
40
|
-
/**
|
|
41
|
-
* Reapply spacing values after product regeneration
|
|
42
|
-
* This ensures spacing persists when products are regenerated
|
|
43
|
-
*/
|
|
44
|
-
_reapplySpacing(): void;
|
|
45
29
|
_debouncedRegenerateProductRows: import("@vueuse/shared").PromisifyFn<() => void>;
|
|
46
30
|
_onCurrencyConfigChange(item: string, value: string | number): void;
|
|
47
31
|
_onCurrencyChange(value: string): void;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ImmutableHtmlNode, ButtonBorderRadiusBuiltInControl } from '@stripoinc/ui-editor-extensions';
|
|
2
|
+
export declare class ButtonBorderRadiusControl extends ButtonBorderRadiusBuiltInControl {
|
|
3
|
+
getId(): string;
|
|
4
|
+
getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
|
|
5
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ImmutableHtmlNode, ButtonFitToContainerBuiltInControl } from '@stripoinc/ui-editor-extensions';
|
|
2
|
+
export declare class ButtonFitToContentControl extends ButtonFitToContainerBuiltInControl {
|
|
3
|
+
getId(): string;
|
|
4
|
+
getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
|
|
5
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ImmutableHtmlNode, ButtonFontFamilyBuiltInControl } from '@stripoinc/ui-editor-extensions';
|
|
2
|
+
export declare class ButtonFontFamilyControl extends ButtonFontFamilyBuiltInControl {
|
|
3
|
+
getId(): string;
|
|
4
|
+
getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
|
|
5
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ImmutableHtmlNode, ButtonTextStyleAndFontColorBuiltInControl } from '@stripoinc/ui-editor-extensions';
|
|
2
|
+
export declare class ButtonTextStyleAndFontColorControl extends ButtonTextStyleAndFontColorBuiltInControl {
|
|
3
|
+
getId(): string;
|
|
4
|
+
getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
|
|
5
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ImmutableHtmlNode, TextBlockBackgroundBuiltInControl } from '@stripoinc/ui-editor-extensions';
|
|
2
|
+
export declare class NameBackgroundControl extends TextBlockBackgroundBuiltInControl {
|
|
3
|
+
getId(): string;
|
|
4
|
+
getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
|
|
5
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ImmutableHtmlNode, TextBlockBackgroundBuiltInControl } from '@stripoinc/ui-editor-extensions';
|
|
2
|
+
export declare class OldPriceBackgroundControl extends TextBlockBackgroundBuiltInControl {
|
|
3
|
+
getId(): string;
|
|
4
|
+
getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
|
|
5
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ImmutableHtmlNode, TextFontFamilyBuiltInControl } from '@stripoinc/ui-editor-extensions';
|
|
2
|
+
export declare class OldPriceFontFamilyControl extends TextFontFamilyBuiltInControl {
|
|
3
|
+
getId(): string;
|
|
4
|
+
getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
|
|
5
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ImmutableHtmlNode, TextBlockBackgroundBuiltInControl } from '@stripoinc/ui-editor-extensions';
|
|
2
|
+
export declare class PriceBackgroundControl extends TextBlockBackgroundBuiltInControl {
|
|
3
|
+
getId(): string;
|
|
4
|
+
getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
|
|
5
|
+
}
|
|
@@ -1,11 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Recommendation Block Extension
|
|
3
|
-
*
|
|
4
|
-
* This extension provides a product recommendation block for email templates.
|
|
5
|
-
* Controls are organized by element type in the ./controls directory.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Build and export the Recommendation extension
|
|
9
|
-
*/
|
|
10
1
|
declare const _default: import("@stripoinc/ui-editor-extensions").Extension;
|
|
11
2
|
export default _default;
|
|
@@ -1,20 +1,16 @@
|
|
|
1
1
|
import type { RecommendationProduct } from '@@/Types/recommendation';
|
|
2
|
-
import { DEFAULTS,
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
* Uses native HTML elements for dynamic DOM update compatibility
|
|
6
|
-
*/
|
|
7
|
-
declare const blockTemplate = "\n <td align=\"left\" class=\"ins-recommendation-v3-block-v2 esd-block-recommendation-v3-block es-p20\">\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n <tr>\n <td align=\"center\">\n <table\n class=\"container\"\n width=\"100%\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n border=\"0\">\n <tbody>\n <tr>\n <td>\n <table\n width=\"100%\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n border=\"0\">\n <tbody>\n <tr>\n <td\n class=\"esd-block-text es-p10t es-p10b es-p20l es-p20r\"\n align=\"center\">\n <p path=\"1\" style=\"font-size: 28px; color: #333333;\">\n <strong path=\"1,0\">{-{-TITLE-}-}</strong>\n </p>\n </td>\n </tr>\n </tbody>\n </table>\n </td>\n </tr>\n \n <tr>\n <td class=\"spacer\" style=\"height: 10px;\"></td>\n </tr>\n\n <tr>\n <td>\n <table\n class=\"ins-recommendation-product-container\"\n width=\"100%\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n border=\"0\"\n >\n {-{-PRODUCT_ROWS-}-}\n </table>\n </td>\n </tr>\n </tbody>\n </table>\n </td>\n </tr>\n </table>\n </td>\n";
|
|
2
|
+
import { DEFAULTS, getDefaultProducts, DEFAULT_CARD_COMPOSITION } from './templateUtils';
|
|
3
|
+
declare const blockTemplate = "\n <td align=\"left\" class=\"ins-recommendation-v3-block-v2 esd-block-recommendation-v3-block es-p20\">\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n <tr>\n <td align=\"center\">\n <table\n class=\"container\"\n width=\"100%\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n border=\"0\">\n <tbody>\n <tr>\n <td>\n <table\n width=\"100%\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n border=\"0\">\n <tbody>\n <BLOCK_TEXT\n class=\"es-p10t es-p10b es-p20l es-p20r\"\n align=\"center\">\n <p path=\"1\" style=\"font-size: 28px; color: #333333;\">\n <strong path=\"1,0\">{-{-TITLE-}-}</strong>\n </p>\n </BLOCK_TEXT>\n </tbody>\n </table>\n </td>\n </tr>\n \n <tr>\n <td class=\"spacer\" style=\"height: 20px;\"></td>\n </tr>\n\n <tr>\n <td>\n <table\n class=\"ins-recommendation-product-container\"\n width=\"100%\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n border=\"0\"\n >\n {-{-PRODUCT_ROWS-}-}\n </table>\n </td>\n </tr>\n </tbody>\n </table>\n </td>\n </tr>\n </table>\n </td>\n";
|
|
4
|
+
export declare function getDefaultTemplate(): string;
|
|
8
5
|
/**
|
|
9
|
-
*
|
|
10
|
-
* Uses row-based rendering where each attribute type forms a single row across all products.
|
|
6
|
+
* Generates a custom template with specified products and layout
|
|
11
7
|
* @param products - Array of products to display
|
|
12
8
|
* @param productsPerRow - Number of products per row
|
|
13
|
-
* @param
|
|
14
|
-
* @
|
|
9
|
+
* @param title - Optional title for the block
|
|
10
|
+
* @param composition - Optional array defining order of card elements
|
|
11
|
+
* @returns Complete HTML template
|
|
15
12
|
*/
|
|
16
|
-
export declare function prepareProductRows(products: RecommendationProduct[], productsPerRow: number, composition?: string[]): string;
|
|
17
|
-
export declare function getDefaultTemplate(): string;
|
|
18
13
|
export declare function generateBlockTemplate(products: RecommendationProduct[], productsPerRow: number, title?: string, composition?: string[]): string;
|
|
19
|
-
export
|
|
14
|
+
export declare function prepareProductRows(products: RecommendationProduct[], productsPerRow: number, composition?: string[]): string;
|
|
15
|
+
export { DEFAULTS, DEFAULT_CARD_COMPOSITION, getDefaultProducts, };
|
|
20
16
|
export default blockTemplate;
|
|
@@ -1,17 +1,9 @@
|
|
|
1
1
|
import type { RecommendationProduct } from '@@/Types/recommendation';
|
|
2
|
-
import { DEFAULTS, getDefaultProducts
|
|
2
|
+
import { DEFAULTS, getDefaultProducts } from './templateUtils';
|
|
3
3
|
declare const migrationTemplate = "\n <td\n align=\"left\"\n esd-extension-block-id=\"recommendation-block\"\n esd-handler-name=\"esd-extension-RecommendationBlock\"\n class=\"ins-recommendation-v3-block-v2 esd-block-recommendation-v3-block esd-extension-block es-p20\"\n >\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n <tr>\n <td align=\"center\">\n <table\n class=\"container\"\n width=\"100%\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n border=\"0\">\n <tbody>\n <tr>\n <td>\n <table\n width=\"100%\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n border=\"0\">\n <tbody>\n <tr>\n {-{-TITLE-}-}\n </tr>\n </tbody>\n </table>\n </td>\n </tr>\n <tr>\n <td class=\"spacer\" style=\"height: 20px;\"></td>\n </tr>\n <tr>\n <td>\n <table\n class=\"ins-recommendation-product-container\"\n width=\"100%\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n border=\"0\"\n >\n {-{-PRODUCT_ROWS-}-}\n </table>\n </td>\n </tr>\n </tbody>\n </table>\n </td>\n </tr>\n </table>\n </td>\n";
|
|
4
|
-
/**
|
|
5
|
-
* Prepares migration product rows with attribute-aligned structure.
|
|
6
|
-
* @param products - Array of products to display
|
|
7
|
-
* @param productsPerRow - Number of products per row
|
|
8
|
-
* @param composition - Array defining element order
|
|
9
|
-
* @returns HTML string for product rows
|
|
10
|
-
*/
|
|
11
|
-
export declare function prepareProductRows(products: RecommendationProduct[], productsPerRow: number, composition?: string[]): string;
|
|
12
4
|
export declare function getMigrationTemplate(): string;
|
|
13
5
|
/**
|
|
14
|
-
* Generates a custom migration template with specified products and layout
|
|
6
|
+
* Generates a custom migration template with specified products and layout
|
|
15
7
|
* @param products - Array of products to display
|
|
16
8
|
* @param productsPerRow - Number of products per row
|
|
17
9
|
* @param title - Optional title for the block
|
|
@@ -19,5 +11,6 @@ export declare function getMigrationTemplate(): string;
|
|
|
19
11
|
* @returns Complete HTML template
|
|
20
12
|
*/
|
|
21
13
|
export declare function generateMigrationTemplate(products: RecommendationProduct[], productsPerRow: number, title?: string, composition?: string[]): string;
|
|
22
|
-
export
|
|
14
|
+
export declare function prepareProductRows(products: RecommendationProduct[], productsPerRow: number, composition?: string[]): string;
|
|
15
|
+
export { DEFAULTS, getDefaultProducts };
|
|
23
16
|
export default migrationTemplate;
|