@useinsider/guido 2.0.0-beta.d170da6 → 2.0.0-beta.da696d5
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/README.md +2 -0
- package/dist/@types/config/schemas.js +3 -1
- package/dist/components/Guido.vue.js +1 -1
- package/dist/components/Guido.vue2.js +15 -17
- package/dist/composables/useStripo.js +40 -40
- package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +69 -153
- package/dist/extensions/Blocks/Recommendation/constants.js +1 -9
- package/dist/extensions/Blocks/Recommendation/control.js +59 -74
- 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 +42 -16
- package/dist/extensions/Blocks/Recommendation/settingsPanel.js +72 -117
- package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +64 -85
- package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +17 -54
- package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +45 -74
- package/dist/guido.css +1 -1
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +52 -47
- package/dist/services/stripoApi.js +6 -10
- package/dist/src/@types/config/schemas.d.ts +4 -0
- package/dist/src/composables/useConfig.d.ts +2 -0
- package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +3 -50
- package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +0 -32
- package/dist/src/extensions/Blocks/Recommendation/control.d.ts +2 -5
- 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/templates/blockTemplate.d.ts +3 -3
- package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +7 -15
- package/dist/src/stores/config.d.ts +17 -0
- package/dist/static/styles/components/wide-panel.css.js +4 -0
- package/dist/static/styles/customEditorStyle.css.js +0 -13
- package/package.json +1 -1
- package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +0 -68
- package/dist/extensions/Blocks/Recommendation/controls/index.js +0 -245
- package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +0 -74
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.js +0 -71
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.js +0 -71
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.js +0 -71
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.js +0 -71
- package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +0 -188
- package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +0 -25
- package/dist/src/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.d.ts +0 -25
- package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +0 -592
- package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +0 -16
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.d.ts +0 -15
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.d.ts +0 -15
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.d.ts +0 -15
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.d.ts +0 -15
- package/dist/src/extensions/Blocks/Recommendation/controls/spacingControl.d.ts +0 -60
- package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +0 -19
|
@@ -7,69 +7,22 @@ export interface CardCompositionItem {
|
|
|
7
7
|
visible: boolean;
|
|
8
8
|
}
|
|
9
9
|
export declare class RecommendationCardCompositionControl extends CommonControl {
|
|
10
|
+
private currentComposition;
|
|
11
|
+
private currentVisibility;
|
|
10
12
|
getId(): string;
|
|
11
13
|
getTemplate(): string;
|
|
12
14
|
onRender(): void;
|
|
13
15
|
onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
|
|
14
16
|
/**
|
|
15
|
-
*
|
|
16
|
-
*/
|
|
17
|
-
private _createItemContent;
|
|
18
|
-
/**
|
|
19
|
-
* Registers event listeners for composition and visibility changes
|
|
20
|
-
*/
|
|
21
|
-
private _registerValueChangeListeners;
|
|
22
|
-
/**
|
|
23
|
-
* Initializes composition order and visibility state from the current node
|
|
17
|
+
* Initialize the composition order and visibility from the block or use defaults
|
|
24
18
|
*/
|
|
25
19
|
private _initializeComposition;
|
|
26
|
-
/**
|
|
27
|
-
* Reads composition order from node's data-card-composition attribute
|
|
28
|
-
* Falls back to default order if attribute is not present
|
|
29
|
-
*/
|
|
30
|
-
private _readCompositionFromNode;
|
|
31
|
-
/**
|
|
32
|
-
* Builds visibility values object from the visibility map
|
|
33
|
-
*/
|
|
34
|
-
private _buildVisibilityValues;
|
|
35
|
-
/**
|
|
36
|
-
* Read visibility state from individual row elements' data-visibility attributes
|
|
37
|
-
* This ensures toggles reflect the actual DOM state
|
|
38
|
-
*/
|
|
39
|
-
private _readVisibilityFromRows;
|
|
40
|
-
/**
|
|
41
|
-
* Returns default visibility values for all items
|
|
42
|
-
*/
|
|
43
|
-
private _getDefaultVisibilities;
|
|
44
|
-
/**
|
|
45
|
-
* Extracts visibility values from DOM nodes
|
|
46
|
-
*/
|
|
47
|
-
private _extractVisibilityFromRows;
|
|
48
|
-
/**
|
|
49
|
-
* Parses visibility value from string to boolean
|
|
50
|
-
* Accepts "1", "true" as true, everything else as false
|
|
51
|
-
*/
|
|
52
|
-
private _parseVisibilityValue;
|
|
53
|
-
/**
|
|
54
|
-
* Merges extracted visibilities with default values for missing keys
|
|
55
|
-
*/
|
|
56
|
-
private _mergeWithDefaults;
|
|
57
20
|
/**
|
|
58
21
|
* Apply the reordered composition to the block's HTML structure
|
|
59
|
-
* Updates the data-card-composition attribute and reorders product attributes
|
|
60
22
|
*/
|
|
61
23
|
private _applyCompositionToBlock;
|
|
62
|
-
/**
|
|
63
|
-
* Reorders attribute rows within each product row based on composition order
|
|
64
|
-
*/
|
|
65
|
-
private _reorderProductAttributes;
|
|
66
|
-
/**
|
|
67
|
-
* Builds HTML string with attributes ordered according to composition
|
|
68
|
-
*/
|
|
69
|
-
private _buildCompositionHtml;
|
|
70
24
|
/**
|
|
71
25
|
* Apply visibility changes to the block's HTML structure
|
|
72
|
-
* Updates display style and data-visibility attribute for all matching rows
|
|
73
26
|
*/
|
|
74
27
|
private _applyVisibilityToBlock;
|
|
75
28
|
}
|
|
@@ -1,14 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Attribute type constants used in templates
|
|
3
|
-
* These are used as keys in ElementRenderer and composition arrays
|
|
4
|
-
*/
|
|
5
|
-
export declare const ATTR_PRODUCT_IMAGE = "productImage";
|
|
6
|
-
export declare const ATTR_PRODUCT_NAME = "productName";
|
|
7
|
-
export declare const ATTR_PRODUCT_PRICE = "productPrice";
|
|
8
|
-
export declare const ATTR_PRODUCT_OLD_PRICE = "productOldPrice";
|
|
9
|
-
export declare const ATTR_PRODUCT_OMNIBUS_PRICE = "productOmnibusPrice";
|
|
10
|
-
export declare const ATTR_PRODUCT_OMNIBUS_DISCOUNT = "productOmnibusDiscount";
|
|
11
|
-
export declare const ATTR_PRODUCT_BUTTON = "productButton";
|
|
12
1
|
/**
|
|
13
2
|
* Block IDs used in the Recommendation Extension
|
|
14
3
|
* These IDs are used in the esd-extension-block-id attribute to identify specific blocks
|
|
@@ -18,8 +7,6 @@ export declare enum RecommendationBlockId {
|
|
|
18
7
|
NAME = "recommendation-block-name",
|
|
19
8
|
PRICE = "recommendation-block-price",
|
|
20
9
|
OLD_PRICE = "recommendation-block-old-price",
|
|
21
|
-
OMNIBUS_PRICE = "recommendation-block-omnibus-price",
|
|
22
|
-
OMNIBUS_DISCOUNT = "recommendation-block-omnibus-discount",
|
|
23
10
|
IMAGE = "recommendation-block-image"
|
|
24
11
|
}
|
|
25
12
|
/**
|
|
@@ -45,7 +32,6 @@ export declare enum RecommendationControlId {
|
|
|
45
32
|
NAME_PADDINGS = "recommendation-block-name-paddings-control",
|
|
46
33
|
NAME_SIZE = "recommendation-block-name-size-control",
|
|
47
34
|
NAME_STYLE = "recommendation-block-name-style-control",
|
|
48
|
-
NAME_TEXT_TRIM = "recommendation-block-name-text-trim-control",
|
|
49
35
|
PRICE_ALIGN = "recommendation-block-price-align-control",
|
|
50
36
|
PRICE_BACKGROUND = "recommendation-block-price-background-control",
|
|
51
37
|
PRICE_COLOR = "recommendation-block-price-color-control",
|
|
@@ -60,24 +46,6 @@ export declare enum RecommendationControlId {
|
|
|
60
46
|
OLD_PRICE_PADDINGS = "recommendation-block-old-price-paddings-control",
|
|
61
47
|
OLD_PRICE_SIZE = "recommendation-block-old-price-size-control",
|
|
62
48
|
OLD_PRICE_STYLE = "recommendation-block-old-price-style-control",
|
|
63
|
-
OMNIBUS_PRICE_ALIGN = "recommendation-block-omnibus-price-align-control",
|
|
64
|
-
OMNIBUS_PRICE_BACKGROUND = "recommendation-block-omnibus-price-background-control",
|
|
65
|
-
OMNIBUS_PRICE_COLOR = "recommendation-block-omnibus-price-color-control",
|
|
66
|
-
OMNIBUS_PRICE_FONT_FAMILY = "recommendation-block-omnibus-price-font-family-control",
|
|
67
|
-
OMNIBUS_PRICE_PADDINGS = "recommendation-block-omnibus-price-paddings-control",
|
|
68
|
-
OMNIBUS_PRICE_SIZE = "recommendation-block-omnibus-price-size-control",
|
|
69
|
-
OMNIBUS_PRICE_STYLE = "recommendation-block-omnibus-price-style-control",
|
|
70
|
-
OMNIBUS_PRICE_TEXT_BEFORE = "recommendation-block-omnibus-price-text-before-control",
|
|
71
|
-
OMNIBUS_PRICE_TEXT_AFTER = "recommendation-block-omnibus-price-text-after-control",
|
|
72
|
-
OMNIBUS_DISCOUNT_ALIGN = "recommendation-block-omnibus-discount-align-control",
|
|
73
|
-
OMNIBUS_DISCOUNT_BACKGROUND = "recommendation-block-omnibus-discount-background-control",
|
|
74
|
-
OMNIBUS_DISCOUNT_COLOR = "recommendation-block-omnibus-discount-color-control",
|
|
75
|
-
OMNIBUS_DISCOUNT_FONT_FAMILY = "recommendation-block-omnibus-discount-font-family-control",
|
|
76
|
-
OMNIBUS_DISCOUNT_PADDINGS = "recommendation-block-omnibus-discount-paddings-control",
|
|
77
|
-
OMNIBUS_DISCOUNT_SIZE = "recommendation-block-omnibus-discount-size-control",
|
|
78
|
-
OMNIBUS_DISCOUNT_STYLE = "recommendation-block-omnibus-discount-style-control",
|
|
79
|
-
OMNIBUS_DISCOUNT_TEXT_BEFORE = "recommendation-block-omnibus-discount-text-before-control",
|
|
80
|
-
OMNIBUS_DISCOUNT_TEXT_AFTER = "recommendation-block-omnibus-discount-text-after-control",
|
|
81
49
|
IMAGE_SIZE = "recommendation-block-image-size-control",
|
|
82
50
|
IMAGE_MARGINS = "recommendation-block-image-margins-control"
|
|
83
51
|
}
|
|
@@ -17,6 +17,8 @@ export declare class RecommendationBlockControl extends CommonControl {
|
|
|
17
17
|
_getProductLayout(): string;
|
|
18
18
|
_getFilterStatus(): string;
|
|
19
19
|
_getShuffleProducts(): string;
|
|
20
|
+
_getResponsive(): string;
|
|
21
|
+
_onFilterChange(value: boolean): void;
|
|
20
22
|
_onFilterSelectClick(): void;
|
|
21
23
|
_onDataChange(item: string, value: string | number | string[]): void;
|
|
22
24
|
/**
|
|
@@ -24,11 +26,6 @@ export declare class RecommendationBlockControl extends CommonControl {
|
|
|
24
26
|
*/
|
|
25
27
|
_getCardComposition(): string[];
|
|
26
28
|
_regenerateProductRows(): void;
|
|
27
|
-
/**
|
|
28
|
-
* Reapply spacing values after product regeneration
|
|
29
|
-
* This ensures spacing persists when products are regenerated
|
|
30
|
-
*/
|
|
31
|
-
_reapplySpacing(): void;
|
|
32
29
|
_debouncedRegenerateProductRows: import("@vueuse/shared").PromisifyFn<() => void>;
|
|
33
30
|
_onCurrencyConfigChange(item: string, value: string | number): void;
|
|
34
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,6 +1,6 @@
|
|
|
1
1
|
import type { RecommendationProduct } from '@@/Types/recommendation';
|
|
2
|
-
import { DEFAULTS, getDefaultProducts, DEFAULT_CARD_COMPOSITION
|
|
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:
|
|
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
4
|
export declare function getDefaultTemplate(): string;
|
|
5
5
|
/**
|
|
6
6
|
* Generates a custom template with specified products and layout
|
|
@@ -12,5 +12,5 @@ export declare function getDefaultTemplate(): string;
|
|
|
12
12
|
*/
|
|
13
13
|
export declare function generateBlockTemplate(products: RecommendationProduct[], productsPerRow: number, title?: string, composition?: string[]): string;
|
|
14
14
|
export declare function prepareProductRows(products: RecommendationProduct[], productsPerRow: number, composition?: string[]): string;
|
|
15
|
-
export { DEFAULTS, DEFAULT_CARD_COMPOSITION,
|
|
15
|
+
export { DEFAULTS, DEFAULT_CARD_COMPOSITION, getDefaultProducts, };
|
|
16
16
|
export default blockTemplate;
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import type { RecommendationProduct } from '@@/Types/recommendation';
|
|
2
|
-
import { ATTR_PRODUCT_IMAGE, ATTR_PRODUCT_NAME, ATTR_PRODUCT_PRICE, ATTR_PRODUCT_OLD_PRICE, ATTR_PRODUCT_OMNIBUS_PRICE, ATTR_PRODUCT_OMNIBUS_DISCOUNT, ATTR_PRODUCT_BUTTON } from '../constants';
|
|
3
2
|
export interface ElementRenderer {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
[ATTR_PRODUCT_OMNIBUS_DISCOUNT]: (product: RecommendationProduct) => string;
|
|
10
|
-
[ATTR_PRODUCT_BUTTON]: (product: RecommendationProduct) => string;
|
|
3
|
+
productImage: (product: RecommendationProduct) => string;
|
|
4
|
+
productName: (product: RecommendationProduct) => string;
|
|
5
|
+
productPrice: (product: RecommendationProduct) => string;
|
|
6
|
+
productOldPrice: (product: RecommendationProduct) => string;
|
|
7
|
+
productButton: (product: RecommendationProduct) => string;
|
|
11
8
|
}
|
|
12
9
|
export interface TemplateConfig {
|
|
13
10
|
spacer: string;
|
|
@@ -20,15 +17,10 @@ export declare const DEFAULTS: {
|
|
|
20
17
|
TITLE: string;
|
|
21
18
|
DESCRIPTION: string;
|
|
22
19
|
};
|
|
23
|
-
export declare const spacer = "\n <tr>\n <td class=\"spacer\" style=\"height:
|
|
24
|
-
export declare const productRow = "\n <tr
|
|
20
|
+
export declare const spacer = "\n <tr>\n <td class=\"spacer\" style=\"height: 20px;\"></td>\n </tr>\n";
|
|
21
|
+
export declare const productRow = "\n <tr>\n <td>\n <table width=\"100%\" height=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n {-{-PRODUCTS-}-}\n </table>\n </td>\n </tr>\n";
|
|
25
22
|
export declare const productCardWrapper = "\n <td width=\"{-{-COLUMN_WIDTH-}-}\" style=\"padding: 0 5px;\" valign=\"top\" height=\"100%\">\n <table\n width=\"100%\"\n height=\"100%\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n border=\"0\"\n class=\"product-card-wrapper\">\n <tr>\n <td\n class=\"product-attribute-cell\"\n valign=\"top\">\n <table cellpadding=\"0\" cellspacing=\"0\" role=\"presentation\" width=\"100%\">\n <tbody>\n {-{-PRODUCT_CONTENT-}-}\n </tbody>\n </table>\n </td>\n </tr>\n </table>\n </td>\n";
|
|
26
23
|
export declare const DEFAULT_CARD_COMPOSITION: string[];
|
|
27
|
-
/**
|
|
28
|
-
* Default visibility settings for card composition elements
|
|
29
|
-
* Omnibus Price and Omnibus Discount are hidden by default
|
|
30
|
-
*/
|
|
31
|
-
export declare const DEFAULT_CARD_VISIBILITY: Record<string, boolean>;
|
|
32
24
|
export declare function getDefaultProducts(): RecommendationProduct[];
|
|
33
25
|
/**
|
|
34
26
|
* Core template generation logic that works with any element renderer
|
|
@@ -36,6 +36,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
36
36
|
} | undefined;
|
|
37
37
|
}[];
|
|
38
38
|
selectedUnsubscribePages: number[];
|
|
39
|
+
forceRecreate: boolean;
|
|
39
40
|
};
|
|
40
41
|
editor: {
|
|
41
42
|
locale: string;
|
|
@@ -127,6 +128,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
127
128
|
} | undefined;
|
|
128
129
|
}[];
|
|
129
130
|
selectedUnsubscribePages: number[];
|
|
131
|
+
forceRecreate: boolean;
|
|
130
132
|
};
|
|
131
133
|
editor: {
|
|
132
134
|
locale: string;
|
|
@@ -218,6 +220,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
218
220
|
} | undefined;
|
|
219
221
|
}[];
|
|
220
222
|
selectedUnsubscribePages: number[];
|
|
223
|
+
forceRecreate: boolean;
|
|
221
224
|
};
|
|
222
225
|
editor: {
|
|
223
226
|
locale: string;
|
|
@@ -309,6 +312,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
309
312
|
} | undefined;
|
|
310
313
|
}[];
|
|
311
314
|
selectedUnsubscribePages: number[];
|
|
315
|
+
forceRecreate: boolean;
|
|
312
316
|
};
|
|
313
317
|
editor: {
|
|
314
318
|
locale: string;
|
|
@@ -400,6 +404,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
400
404
|
} | undefined;
|
|
401
405
|
}[];
|
|
402
406
|
selectedUnsubscribePages: number[];
|
|
407
|
+
forceRecreate: boolean;
|
|
403
408
|
};
|
|
404
409
|
editor: {
|
|
405
410
|
locale: string;
|
|
@@ -491,6 +496,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
491
496
|
} | undefined;
|
|
492
497
|
}[];
|
|
493
498
|
selectedUnsubscribePages: number[];
|
|
499
|
+
forceRecreate: boolean;
|
|
494
500
|
};
|
|
495
501
|
editor: {
|
|
496
502
|
locale: string;
|
|
@@ -582,6 +588,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
582
588
|
} | undefined;
|
|
583
589
|
}[];
|
|
584
590
|
selectedUnsubscribePages: number[];
|
|
591
|
+
forceRecreate: boolean;
|
|
585
592
|
};
|
|
586
593
|
editor: {
|
|
587
594
|
locale: string;
|
|
@@ -673,6 +680,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
673
680
|
} | undefined;
|
|
674
681
|
}[];
|
|
675
682
|
selectedUnsubscribePages: number[];
|
|
683
|
+
forceRecreate: boolean;
|
|
676
684
|
};
|
|
677
685
|
editor: {
|
|
678
686
|
locale: string;
|
|
@@ -764,6 +772,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
764
772
|
} | undefined;
|
|
765
773
|
}[];
|
|
766
774
|
selectedUnsubscribePages: number[];
|
|
775
|
+
forceRecreate: boolean;
|
|
767
776
|
};
|
|
768
777
|
editor: {
|
|
769
778
|
locale: string;
|
|
@@ -855,6 +864,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
855
864
|
} | undefined;
|
|
856
865
|
}[];
|
|
857
866
|
selectedUnsubscribePages: number[];
|
|
867
|
+
forceRecreate: boolean;
|
|
858
868
|
};
|
|
859
869
|
editor: {
|
|
860
870
|
locale: string;
|
|
@@ -946,6 +956,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
946
956
|
} | undefined;
|
|
947
957
|
}[];
|
|
948
958
|
selectedUnsubscribePages: number[];
|
|
959
|
+
forceRecreate: boolean;
|
|
949
960
|
};
|
|
950
961
|
editor: {
|
|
951
962
|
locale: string;
|
|
@@ -1037,6 +1048,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
1037
1048
|
} | undefined;
|
|
1038
1049
|
}[];
|
|
1039
1050
|
selectedUnsubscribePages: number[];
|
|
1051
|
+
forceRecreate: boolean;
|
|
1040
1052
|
};
|
|
1041
1053
|
editor: {
|
|
1042
1054
|
locale: string;
|
|
@@ -1128,6 +1140,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
1128
1140
|
} | undefined;
|
|
1129
1141
|
}[];
|
|
1130
1142
|
selectedUnsubscribePages: number[];
|
|
1143
|
+
forceRecreate: boolean;
|
|
1131
1144
|
};
|
|
1132
1145
|
editor: {
|
|
1133
1146
|
locale: string;
|
|
@@ -1219,6 +1232,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
1219
1232
|
} | undefined;
|
|
1220
1233
|
}[];
|
|
1221
1234
|
selectedUnsubscribePages: number[];
|
|
1235
|
+
forceRecreate: boolean;
|
|
1222
1236
|
};
|
|
1223
1237
|
editor: {
|
|
1224
1238
|
locale: string;
|
|
@@ -1310,6 +1324,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
1310
1324
|
} | undefined;
|
|
1311
1325
|
}[];
|
|
1312
1326
|
selectedUnsubscribePages: number[];
|
|
1327
|
+
forceRecreate: boolean;
|
|
1313
1328
|
};
|
|
1314
1329
|
editor: {
|
|
1315
1330
|
locale: string;
|
|
@@ -1401,6 +1416,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
1401
1416
|
} | undefined;
|
|
1402
1417
|
}[];
|
|
1403
1418
|
selectedUnsubscribePages: number[];
|
|
1419
|
+
forceRecreate: boolean;
|
|
1404
1420
|
};
|
|
1405
1421
|
editor: {
|
|
1406
1422
|
locale: string;
|
|
@@ -1492,6 +1508,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
1492
1508
|
} | undefined;
|
|
1493
1509
|
}[];
|
|
1494
1510
|
selectedUnsubscribePages: number[];
|
|
1511
|
+
forceRecreate: boolean;
|
|
1495
1512
|
};
|
|
1496
1513
|
editor: {
|
|
1497
1514
|
locale: string;
|
|
@@ -6,6 +6,10 @@ ue-main-editor-container[panel-position=SETTINGS_BLOCKS] ue-wide-panel {
|
|
|
6
6
|
right: calc(100% - calc(var(--ue-spacing-step, 5px) * 3) - 425px);
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
+
ue-main-tabs-panel-component .fixed-panel-header {
|
|
10
|
+
display: none;
|
|
11
|
+
}
|
|
12
|
+
|
|
9
13
|
/* Remove with this writing task DT-28355 */
|
|
10
14
|
ue-description a {
|
|
11
15
|
display: none;
|
|
@@ -23,19 +23,6 @@ const n = `.esd-x,
|
|
|
23
23
|
.ins-recommendation-v3-block-v2 .product-attribute-cell ue-node-panel {
|
|
24
24
|
display: none !important;
|
|
25
25
|
}
|
|
26
|
-
|
|
27
|
-
/* Apply to the table cell (td) with text-trim-enabled class */
|
|
28
|
-
.text-trim-enabled {
|
|
29
|
-
max-width: 0 !important;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
.text-trim-enabled p {
|
|
33
|
-
overflow: hidden !important;
|
|
34
|
-
text-overflow: ellipsis !important;
|
|
35
|
-
white-space: nowrap !important;
|
|
36
|
-
margin: 0 !important;
|
|
37
|
-
display: block !important;
|
|
38
|
-
}
|
|
39
26
|
`;
|
|
40
27
|
export {
|
|
41
28
|
n as default
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@useinsider/guido",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.da696d5",
|
|
4
4
|
"description": "Guido is a Vue + TypeScript wrapper for Email Plugin. Easily embed the email editor in your Vue applications.",
|
|
5
5
|
"main": "./dist/guido.umd.cjs",
|
|
6
6
|
"module": "./dist/library.js",
|