@useinsider/guido 2.1.0-beta.42f5dfa → 2.1.0-beta.4bcb91b
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 +3 -1
- package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +14 -15
- package/dist/components/organisms/header/HeaderWrapper.vue.js +9 -9
- package/dist/composables/useHtmlValidator.js +84 -106
- package/dist/composables/useRecommendation.js +21 -54
- package/dist/composables/useSave.js +16 -12
- package/dist/composables/useStripo.js +58 -54
- package/dist/composables/useStripoEventHandler.js +27 -12
- package/dist/composables/useSyncModuleExtractor.js +33 -0
- package/dist/config/compiler/recommendationCompilerRules.js +39 -45
- package/dist/config/migrator/recommendationMigrator.js +2 -2
- package/dist/enums/extensions/recommendationBlock.js +1 -1
- package/dist/enums/recommendation.js +15 -16
- package/dist/enums/unsubscribe.js +25 -21
- package/dist/extensions/Blocks/Recommendation/block.js +9 -130
- package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +187 -0
- package/dist/extensions/Blocks/Recommendation/constants.js +13 -0
- package/dist/extensions/Blocks/Recommendation/control.js +336 -0
- package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +68 -0
- package/dist/extensions/Blocks/Recommendation/controls/index.js +245 -0
- package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +74 -0
- package/dist/extensions/Blocks/Recommendation/controls/{omnibusDiscount/textAfter.js → omnibusDiscountTextAfterControl.js} +14 -16
- package/dist/extensions/Blocks/Recommendation/controls/{omnibusDiscount/textBefore.js → omnibusDiscountTextBeforeControl.js} +14 -16
- package/dist/extensions/Blocks/Recommendation/controls/{omnibusPrice/textAfter.js → omnibusPriceTextAfterControl.js} +14 -16
- package/dist/extensions/Blocks/Recommendation/controls/{omnibusPrice/textBefore.js → omnibusPriceTextBeforeControl.js} +12 -14
- package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +188 -0
- package/dist/extensions/Blocks/Recommendation/extension.js +17 -40
- package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +3 -19
- package/dist/extensions/Blocks/Recommendation/recommendation.css.js +4 -13
- package/dist/extensions/Blocks/Recommendation/settingsPanel.js +10 -21
- package/dist/extensions/Blocks/Recommendation/store/recommendation.js +193 -230
- package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +181 -0
- package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +189 -0
- package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +209 -0
- package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +9 -9
- package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +15 -26
- package/dist/extensions/Blocks/controlFactories.js +93 -125
- package/dist/guido.css +1 -1
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +169 -223
- package/dist/services/recommendationApi.js +9 -10
- package/dist/services/stripoApi.js +50 -14
- package/dist/services/templateLibraryApi.js +13 -16
- package/dist/src/@types/events.d.ts +34 -2
- package/dist/src/components/wrappers/WpDrawer.vue.d.ts +1 -1
- package/dist/src/composables/useRecommendation.d.ts +0 -1
- package/dist/src/composables/useSyncModuleExtractor.d.ts +4 -0
- package/dist/src/enums/unsubscribe.d.ts +3 -0
- package/dist/src/extensions/Blocks/Recommendation/block.d.ts +0 -67
- package/dist/src/extensions/Blocks/Recommendation/{controls/cardComposition/index.d.ts → cardCompositionControl.d.ts} +3 -23
- package/dist/src/extensions/Blocks/Recommendation/{constants/controlIds.d.ts → constants.d.ts} +24 -0
- package/dist/src/extensions/Blocks/Recommendation/control.d.ts +38 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +589 -21
- package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +16 -0
- package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +0 -9
- package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +468 -131
- package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +16 -0
- package/dist/src/extensions/Blocks/Recommendation/templates/{grid/migration.d.ts → migrationTemplate.d.ts} +4 -11
- package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +52 -0
- package/dist/src/mock/api/settings.d.ts +2 -0
- package/dist/src/services/stripoApi.d.ts +5 -0
- package/dist/src/stores/editor.d.ts +23 -0
- package/dist/static/styles/components/notification.css.js +1 -0
- package/dist/static/styles/components/version-history.css.js +10 -2
- package/dist/static/styles/components/wide-panel.css.js +18 -2
- package/dist/static/styles/customEditorStyle.css.js +2 -25
- package/dist/stores/editor.js +2 -1
- package/dist/utils/pairProductVariables.js +56 -57
- package/dist/utils/templatePreparation.js +14 -15
- package/package.json +1 -1
- package/dist/config/compiler/utils/recommendationCompilerUtils.js +0 -116
- 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/defaultConfig.js +0 -65
- package/dist/extensions/Blocks/Recommendation/constants/layout.js +0 -20
- package/dist/extensions/Blocks/Recommendation/constants/selectors.js +0 -19
- package/dist/extensions/Blocks/Recommendation/controls/button/index.js +0 -64
- package/dist/extensions/Blocks/Recommendation/controls/cardBackground/index.js +0 -80
- package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +0 -232
- package/dist/extensions/Blocks/Recommendation/controls/image/index.js +0 -19
- package/dist/extensions/Blocks/Recommendation/controls/layout/index.js +0 -92
- package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +0 -102
- package/dist/extensions/Blocks/Recommendation/controls/main/currency.js +0 -209
- package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +0 -52
- package/dist/extensions/Blocks/Recommendation/controls/main/index.js +0 -217
- package/dist/extensions/Blocks/Recommendation/controls/main/locale.js +0 -70
- package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +0 -110
- package/dist/extensions/Blocks/Recommendation/controls/main/shuffle.js +0 -67
- package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +0 -286
- package/dist/extensions/Blocks/Recommendation/controls/name/index.js +0 -46
- package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +0 -108
- 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/omnibusPrice/index.js +0 -48
- package/dist/extensions/Blocks/Recommendation/controls/price/index.js +0 -44
- package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +0 -222
- package/dist/extensions/Blocks/Recommendation/services/configService.js +0 -240
- package/dist/extensions/Blocks/Recommendation/templates/grid/elementRenderer.js +0 -233
- package/dist/extensions/Blocks/Recommendation/templates/grid/migration.js +0 -251
- package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +0 -69
- package/dist/extensions/Blocks/Recommendation/templates/index.js +0 -12
- package/dist/extensions/Blocks/Recommendation/templates/list/elementRenderer.js +0 -174
- package/dist/extensions/Blocks/Recommendation/templates/list/template.js +0 -73
- package/dist/extensions/Blocks/Recommendation/templates/utils.js +0 -122
- package/dist/extensions/Blocks/Recommendation/types/nodeConfig.js +0 -6
- package/dist/extensions/Blocks/Recommendation/utils/priceFormatter.js +0 -29
- package/dist/extensions/Blocks/Recommendation/utils/tagName.js +0 -46
- package/dist/src/config/compiler/utils/recommendationCompilerUtils.d.ts +0 -17
- package/dist/src/extensions/Blocks/Recommendation/constants/blockIds.d.ts +0 -13
- package/dist/src/extensions/Blocks/Recommendation/constants/defaultConfig.d.ts +0 -49
- package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +0 -13
- package/dist/src/extensions/Blocks/Recommendation/constants/layout.d.ts +0 -35
- package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +0 -31
- 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 -31
- package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +0 -35
- package/dist/src/extensions/Blocks/Recommendation/controls/layout/index.d.ts +0 -37
- package/dist/src/extensions/Blocks/Recommendation/controls/main/algorithm.d.ts +0 -29
- package/dist/src/extensions/Blocks/Recommendation/controls/main/currency.d.ts +0 -52
- package/dist/src/extensions/Blocks/Recommendation/controls/main/filters.d.ts +0 -22
- package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +0 -68
- package/dist/src/extensions/Blocks/Recommendation/controls/main/locale.d.ts +0 -24
- package/dist/src/extensions/Blocks/Recommendation/controls/main/productLayout.d.ts +0 -42
- package/dist/src/extensions/Blocks/Recommendation/controls/main/shuffle.d.ts +0 -23
- package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.d.ts +0 -214
- 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 -34
- 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 -83
- package/dist/src/extensions/Blocks/Recommendation/services/configService.d.ts +0 -151
- package/dist/src/extensions/Blocks/Recommendation/services/index.d.ts +0 -6
- package/dist/src/extensions/Blocks/Recommendation/templates/grid/elementRenderer.d.ts +0 -20
- package/dist/src/extensions/Blocks/Recommendation/templates/grid/template.d.ts +0 -33
- package/dist/src/extensions/Blocks/Recommendation/templates/index.d.ts +0 -39
- package/dist/src/extensions/Blocks/Recommendation/templates/list/elementRenderer.d.ts +0 -8
- package/dist/src/extensions/Blocks/Recommendation/templates/list/migration.d.ts +0 -25
- package/dist/src/extensions/Blocks/Recommendation/templates/list/template.d.ts +0 -18
- package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +0 -57
- package/dist/src/extensions/Blocks/Recommendation/types/index.d.ts +0 -7
- package/dist/src/extensions/Blocks/Recommendation/types/nodeConfig.d.ts +0 -160
- package/dist/src/extensions/Blocks/Recommendation/utils/priceFormatter.d.ts +0 -33
- package/dist/src/extensions/Blocks/Recommendation/utils/stylePreserver.d.ts +0 -113
- package/dist/src/extensions/Blocks/Recommendation/utils/tagName.d.ts +0 -77
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { RecommendationProduct } from '@@/Types/recommendation';
|
|
2
|
+
import { DEFAULTS, getDefaultProducts, DEFAULT_CARD_COMPOSITION, DEFAULT_CARD_VISIBILITY } 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: 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";
|
|
4
|
+
export declare function getDefaultTemplate(): string;
|
|
5
|
+
/**
|
|
6
|
+
* Generates a custom template with specified products and layout
|
|
7
|
+
* @param products - Array of products to display
|
|
8
|
+
* @param productsPerRow - Number of products per row
|
|
9
|
+
* @param title - Optional title for the block
|
|
10
|
+
* @param composition - Optional array defining order of card elements
|
|
11
|
+
* @returns Complete HTML template
|
|
12
|
+
*/
|
|
13
|
+
export declare function generateBlockTemplate(products: RecommendationProduct[], productsPerRow: number, title?: string, composition?: string[]): string;
|
|
14
|
+
export declare function prepareProductRows(products: RecommendationProduct[], productsPerRow: number, composition?: string[]): string;
|
|
15
|
+
export { DEFAULTS, DEFAULT_CARD_COMPOSITION, DEFAULT_CARD_VISIBILITY, getDefaultProducts, };
|
|
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;
|
|
@@ -0,0 +1,52 @@
|
|
|
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
|
+
export interface ElementRenderer {
|
|
4
|
+
[ATTR_PRODUCT_IMAGE]: (product: RecommendationProduct) => string;
|
|
5
|
+
[ATTR_PRODUCT_NAME]: (product: RecommendationProduct) => string;
|
|
6
|
+
[ATTR_PRODUCT_PRICE]: (product: RecommendationProduct) => string;
|
|
7
|
+
[ATTR_PRODUCT_OLD_PRICE]: (product: RecommendationProduct) => string;
|
|
8
|
+
[ATTR_PRODUCT_OMNIBUS_PRICE]: (product: RecommendationProduct) => string;
|
|
9
|
+
[ATTR_PRODUCT_OMNIBUS_DISCOUNT]: (product: RecommendationProduct) => string;
|
|
10
|
+
[ATTR_PRODUCT_BUTTON]: (product: RecommendationProduct) => string;
|
|
11
|
+
}
|
|
12
|
+
export interface TemplateConfig {
|
|
13
|
+
spacer: string;
|
|
14
|
+
blockTemplate: string;
|
|
15
|
+
productRow: string;
|
|
16
|
+
productCardWrapper: string;
|
|
17
|
+
elementRenderer: ElementRenderer;
|
|
18
|
+
}
|
|
19
|
+
export declare const DEFAULTS: {
|
|
20
|
+
TITLE: string;
|
|
21
|
+
DESCRIPTION: string;
|
|
22
|
+
};
|
|
23
|
+
export declare const spacer = "\n <tr>\n <td class=\"spacer\" style=\"height: 10px;\"></td>\n </tr>\n";
|
|
24
|
+
export declare const productRow = "\n <tr class=\"recommendation-product-row\">\n <td>\n <table width=\"100%\" height=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n {-{-PRODUCTS-}-}\n </table>\n </td>\n </tr>\n";
|
|
25
|
+
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
|
+
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
|
+
export declare function getDefaultProducts(): RecommendationProduct[];
|
|
33
|
+
/**
|
|
34
|
+
* Core template generation logic that works with any element renderer
|
|
35
|
+
* @param products - Array of products to display
|
|
36
|
+
* @param productsPerRow - Number of products per row
|
|
37
|
+
* @param elementRenderer - Object with methods to render each product element
|
|
38
|
+
* @param composition - Optional array defining order of card elements
|
|
39
|
+
* @returns HTML string for product rows
|
|
40
|
+
*/
|
|
41
|
+
export declare function prepareProductRows(products: RecommendationProduct[], productsPerRow: number, elementRenderer: ElementRenderer, composition?: string[]): string;
|
|
42
|
+
/**
|
|
43
|
+
* Generates complete HTML template with dynamic products and layout
|
|
44
|
+
* @param blockTemplate - The base block template string
|
|
45
|
+
* @param products - Array of products to display
|
|
46
|
+
* @param productsPerRow - Number of products per row
|
|
47
|
+
* @param elementRenderer - Element renderer for generating product HTML
|
|
48
|
+
* @param title - Title for the block
|
|
49
|
+
* @param composition - Optional array defining order of card elements
|
|
50
|
+
* @returns Complete HTML template
|
|
51
|
+
*/
|
|
52
|
+
export declare function generateTemplate(blockTemplate: string, products: RecommendationProduct[], productsPerRow: number, elementRenderer: ElementRenderer, title?: string, composition?: string[]): string;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ModuleUpdatedParams, SyncModuleResponse, SyncModuleUnsubscribePayload } from '@@/Types/events';
|
|
1
2
|
import type { CustomFont, Template } from '@@/Types/stripo';
|
|
2
3
|
export declare const useStripoApi: () => {
|
|
3
4
|
getToken: () => Promise<string>;
|
|
@@ -5,4 +6,8 @@ export declare const useStripoApi: () => {
|
|
|
5
6
|
active: boolean;
|
|
6
7
|
})[]>;
|
|
7
8
|
getDefaultTemplate: () => Promise<Template>;
|
|
9
|
+
getSyncModulesStatus: () => Promise<boolean>;
|
|
10
|
+
updateSyncModule: (params: ModuleUpdatedParams) => Promise<boolean>;
|
|
11
|
+
getSyncModule: (moduleId: number) => Promise<SyncModuleResponse>;
|
|
12
|
+
setSyncModuleUnsubscriptionPages: (payload: SyncModuleUnsubscribePayload[]) => Promise<boolean>;
|
|
8
13
|
};
|
|
@@ -8,6 +8,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
|
|
|
8
8
|
hasChanges: boolean;
|
|
9
9
|
isStripoInitialized: boolean;
|
|
10
10
|
templateId: string;
|
|
11
|
+
syncModulesEnabled: boolean;
|
|
11
12
|
}, {
|
|
12
13
|
isEditorToolbarVisible: (state: {
|
|
13
14
|
loadingStatus: boolean;
|
|
@@ -19,6 +20,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
|
|
|
19
20
|
hasChanges: boolean;
|
|
20
21
|
isStripoInitialized: boolean;
|
|
21
22
|
templateId: string;
|
|
23
|
+
syncModulesEnabled: boolean;
|
|
22
24
|
} & import("pinia").PiniaCustomStateProperties<{
|
|
23
25
|
loadingStatus: boolean;
|
|
24
26
|
isCodeEditorOpen: boolean;
|
|
@@ -29,6 +31,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
|
|
|
29
31
|
hasChanges: boolean;
|
|
30
32
|
isStripoInitialized: boolean;
|
|
31
33
|
templateId: string;
|
|
34
|
+
syncModulesEnabled: boolean;
|
|
32
35
|
}>) => boolean;
|
|
33
36
|
isUndoButtonDisabled: (state: {
|
|
34
37
|
loadingStatus: boolean;
|
|
@@ -40,6 +43,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
|
|
|
40
43
|
hasChanges: boolean;
|
|
41
44
|
isStripoInitialized: boolean;
|
|
42
45
|
templateId: string;
|
|
46
|
+
syncModulesEnabled: boolean;
|
|
43
47
|
} & import("pinia").PiniaCustomStateProperties<{
|
|
44
48
|
loadingStatus: boolean;
|
|
45
49
|
isCodeEditorOpen: boolean;
|
|
@@ -50,6 +54,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
|
|
|
50
54
|
hasChanges: boolean;
|
|
51
55
|
isStripoInitialized: boolean;
|
|
52
56
|
templateId: string;
|
|
57
|
+
syncModulesEnabled: boolean;
|
|
53
58
|
}>) => boolean;
|
|
54
59
|
isRedoButtonDisabled: (state: {
|
|
55
60
|
loadingStatus: boolean;
|
|
@@ -61,6 +66,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
|
|
|
61
66
|
hasChanges: boolean;
|
|
62
67
|
isStripoInitialized: boolean;
|
|
63
68
|
templateId: string;
|
|
69
|
+
syncModulesEnabled: boolean;
|
|
64
70
|
} & import("pinia").PiniaCustomStateProperties<{
|
|
65
71
|
loadingStatus: boolean;
|
|
66
72
|
isCodeEditorOpen: boolean;
|
|
@@ -71,6 +77,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
|
|
|
71
77
|
hasChanges: boolean;
|
|
72
78
|
isStripoInitialized: boolean;
|
|
73
79
|
templateId: string;
|
|
80
|
+
syncModulesEnabled: boolean;
|
|
74
81
|
}>) => boolean;
|
|
75
82
|
isCodeEditorButtonDisabled: (state: {
|
|
76
83
|
loadingStatus: boolean;
|
|
@@ -82,6 +89,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
|
|
|
82
89
|
hasChanges: boolean;
|
|
83
90
|
isStripoInitialized: boolean;
|
|
84
91
|
templateId: string;
|
|
92
|
+
syncModulesEnabled: boolean;
|
|
85
93
|
} & import("pinia").PiniaCustomStateProperties<{
|
|
86
94
|
loadingStatus: boolean;
|
|
87
95
|
isCodeEditorOpen: boolean;
|
|
@@ -92,6 +100,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
|
|
|
92
100
|
hasChanges: boolean;
|
|
93
101
|
isStripoInitialized: boolean;
|
|
94
102
|
templateId: string;
|
|
103
|
+
syncModulesEnabled: boolean;
|
|
95
104
|
}>) => boolean;
|
|
96
105
|
isPreviewButtonDisabled: (state: {
|
|
97
106
|
loadingStatus: boolean;
|
|
@@ -103,6 +112,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
|
|
|
103
112
|
hasChanges: boolean;
|
|
104
113
|
isStripoInitialized: boolean;
|
|
105
114
|
templateId: string;
|
|
115
|
+
syncModulesEnabled: boolean;
|
|
106
116
|
} & import("pinia").PiniaCustomStateProperties<{
|
|
107
117
|
loadingStatus: boolean;
|
|
108
118
|
isCodeEditorOpen: boolean;
|
|
@@ -113,6 +123,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
|
|
|
113
123
|
hasChanges: boolean;
|
|
114
124
|
isStripoInitialized: boolean;
|
|
115
125
|
templateId: string;
|
|
126
|
+
syncModulesEnabled: boolean;
|
|
116
127
|
}>) => boolean;
|
|
117
128
|
isViewOptionsDisabled: (state: {
|
|
118
129
|
loadingStatus: boolean;
|
|
@@ -124,6 +135,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
|
|
|
124
135
|
hasChanges: boolean;
|
|
125
136
|
isStripoInitialized: boolean;
|
|
126
137
|
templateId: string;
|
|
138
|
+
syncModulesEnabled: boolean;
|
|
127
139
|
} & import("pinia").PiniaCustomStateProperties<{
|
|
128
140
|
loadingStatus: boolean;
|
|
129
141
|
isCodeEditorOpen: boolean;
|
|
@@ -134,6 +146,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
|
|
|
134
146
|
hasChanges: boolean;
|
|
135
147
|
isStripoInitialized: boolean;
|
|
136
148
|
templateId: string;
|
|
149
|
+
syncModulesEnabled: boolean;
|
|
137
150
|
}>) => boolean;
|
|
138
151
|
isVersionHistoryButtonDisabled: (state: {
|
|
139
152
|
loadingStatus: boolean;
|
|
@@ -145,6 +158,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
|
|
|
145
158
|
hasChanges: boolean;
|
|
146
159
|
isStripoInitialized: boolean;
|
|
147
160
|
templateId: string;
|
|
161
|
+
syncModulesEnabled: boolean;
|
|
148
162
|
} & import("pinia").PiniaCustomStateProperties<{
|
|
149
163
|
loadingStatus: boolean;
|
|
150
164
|
isCodeEditorOpen: boolean;
|
|
@@ -155,6 +169,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
|
|
|
155
169
|
hasChanges: boolean;
|
|
156
170
|
isStripoInitialized: boolean;
|
|
157
171
|
templateId: string;
|
|
172
|
+
syncModulesEnabled: boolean;
|
|
158
173
|
}>) => boolean;
|
|
159
174
|
isExportButtonDisabled: (state: {
|
|
160
175
|
loadingStatus: boolean;
|
|
@@ -166,6 +181,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
|
|
|
166
181
|
hasChanges: boolean;
|
|
167
182
|
isStripoInitialized: boolean;
|
|
168
183
|
templateId: string;
|
|
184
|
+
syncModulesEnabled: boolean;
|
|
169
185
|
} & import("pinia").PiniaCustomStateProperties<{
|
|
170
186
|
loadingStatus: boolean;
|
|
171
187
|
isCodeEditorOpen: boolean;
|
|
@@ -176,6 +192,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
|
|
|
176
192
|
hasChanges: boolean;
|
|
177
193
|
isStripoInitialized: boolean;
|
|
178
194
|
templateId: string;
|
|
195
|
+
syncModulesEnabled: boolean;
|
|
179
196
|
}>) => boolean;
|
|
180
197
|
isSaveAsButtonDisabled: (state: {
|
|
181
198
|
loadingStatus: boolean;
|
|
@@ -187,6 +204,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
|
|
|
187
204
|
hasChanges: boolean;
|
|
188
205
|
isStripoInitialized: boolean;
|
|
189
206
|
templateId: string;
|
|
207
|
+
syncModulesEnabled: boolean;
|
|
190
208
|
} & import("pinia").PiniaCustomStateProperties<{
|
|
191
209
|
loadingStatus: boolean;
|
|
192
210
|
isCodeEditorOpen: boolean;
|
|
@@ -197,6 +215,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
|
|
|
197
215
|
hasChanges: boolean;
|
|
198
216
|
isStripoInitialized: boolean;
|
|
199
217
|
templateId: string;
|
|
218
|
+
syncModulesEnabled: boolean;
|
|
200
219
|
}>) => boolean;
|
|
201
220
|
isTestButtonDisabled: (state: {
|
|
202
221
|
loadingStatus: boolean;
|
|
@@ -208,6 +227,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
|
|
|
208
227
|
hasChanges: boolean;
|
|
209
228
|
isStripoInitialized: boolean;
|
|
210
229
|
templateId: string;
|
|
230
|
+
syncModulesEnabled: boolean;
|
|
211
231
|
} & import("pinia").PiniaCustomStateProperties<{
|
|
212
232
|
loadingStatus: boolean;
|
|
213
233
|
isCodeEditorOpen: boolean;
|
|
@@ -218,6 +238,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
|
|
|
218
238
|
hasChanges: boolean;
|
|
219
239
|
isStripoInitialized: boolean;
|
|
220
240
|
templateId: string;
|
|
241
|
+
syncModulesEnabled: boolean;
|
|
221
242
|
}>) => boolean;
|
|
222
243
|
isSaveButtonDisabled: (state: {
|
|
223
244
|
loadingStatus: boolean;
|
|
@@ -229,6 +250,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
|
|
|
229
250
|
hasChanges: boolean;
|
|
230
251
|
isStripoInitialized: boolean;
|
|
231
252
|
templateId: string;
|
|
253
|
+
syncModulesEnabled: boolean;
|
|
232
254
|
} & import("pinia").PiniaCustomStateProperties<{
|
|
233
255
|
loadingStatus: boolean;
|
|
234
256
|
isCodeEditorOpen: boolean;
|
|
@@ -239,5 +261,6 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
|
|
|
239
261
|
hasChanges: boolean;
|
|
240
262
|
isStripoInitialized: boolean;
|
|
241
263
|
templateId: string;
|
|
264
|
+
syncModulesEnabled: boolean;
|
|
242
265
|
}>) => boolean;
|
|
243
266
|
}, {}>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const
|
|
1
|
+
const n = `.patch-session-container {
|
|
2
2
|
row-gap: 16px;
|
|
3
3
|
}
|
|
4
4
|
|
|
@@ -24,7 +24,15 @@ ue-vh-patch.selected .patch-wrapper {
|
|
|
24
24
|
background-color: var(--guido-color-primary-100);
|
|
25
25
|
box-shadow: 0 0 0 1px var(--guido-color-primary-500);
|
|
26
26
|
}
|
|
27
|
+
|
|
28
|
+
.change-history-panel-wrapper .control-panel-header {
|
|
29
|
+
padding: 16px 0 16px 16px;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.change-history-panel-wrapper .header-control-panel-label {
|
|
33
|
+
grid-area: 1 / 1 / 2 / 12;
|
|
34
|
+
}
|
|
27
35
|
`;
|
|
28
36
|
export {
|
|
29
|
-
|
|
37
|
+
n as default
|
|
30
38
|
};
|
|
@@ -60,7 +60,6 @@ ue-control-panel,
|
|
|
60
60
|
|
|
61
61
|
.control-panel-header {
|
|
62
62
|
grid-template-columns: repeat(12, 1fr);
|
|
63
|
-
padding: 16px 0px 16px 16px;
|
|
64
63
|
}
|
|
65
64
|
|
|
66
65
|
.control-panel-header > * {
|
|
@@ -94,7 +93,9 @@ ue-control-panel,
|
|
|
94
93
|
.container.droppable-header-container ue-button:last-child {
|
|
95
94
|
margin-right: 0;
|
|
96
95
|
}
|
|
97
|
-
|
|
96
|
+
.container.droppable-header-container {
|
|
97
|
+
margin-top: 13px;
|
|
98
|
+
}
|
|
98
99
|
.secondary-control-group {
|
|
99
100
|
gap: 16px;
|
|
100
101
|
}
|
|
@@ -133,6 +134,21 @@ ue-label.accent-dot:after {
|
|
|
133
134
|
font-size: 13px;
|
|
134
135
|
}
|
|
135
136
|
|
|
137
|
+
.e2e-container-video-size {
|
|
138
|
+
grid-template-columns: 1fr !important;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.e2e-container-video-size .control-shadow-wrapper:not(ue-button) {
|
|
142
|
+
display: flex;
|
|
143
|
+
width: 100%;
|
|
144
|
+
justify-content: flex-end;
|
|
145
|
+
background-color: transparent !important;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.e2e-container-video-size .control-shadow-wrapper input {
|
|
149
|
+
background-color: var(--guido-color-gray-0);
|
|
150
|
+
}
|
|
151
|
+
|
|
136
152
|
.e2e-size,
|
|
137
153
|
.e2e-timer-size {
|
|
138
154
|
grid-auto-flow: row;
|
|
@@ -19,31 +19,8 @@ const n = `.esd-x,
|
|
|
19
19
|
box-shadow: none;
|
|
20
20
|
}
|
|
21
21
|
.ins-product-cart ue-node-actions,
|
|
22
|
-
|
|
23
|
-
.ins-recommendation-v3-block-v2 .product-
|
|
24
|
-
.ins-recommendation-v3-block-v2 .product-info-cell ue-node-panel,
|
|
25
|
-
.ins-recommendation-v3-block-v2 .product-image-cell ue-node-actions,
|
|
26
|
-
.ins-recommendation-v3-block-v2 .product-image-cell ue-node-panel,
|
|
27
|
-
.ins-recommendation-v3-block-v2 .button-cell ue-node-actions,
|
|
28
|
-
.ins-recommendation-v3-block-v2 .button-cell ue-node-panel,
|
|
29
|
-
/* Vertical layout - hide for product-card-segment inner cells */
|
|
30
|
-
.ins-recommendation-v3-block-v2 .product-card-segment ue-node-actions,
|
|
31
|
-
.ins-recommendation-v3-block-v2 .product-card-segment ue-node-panel,
|
|
32
|
-
/* Hide for specific product attribute cells in both layouts */
|
|
33
|
-
.ins-recommendation-v3-block-v2 .product-image ue-node-actions,
|
|
34
|
-
.ins-recommendation-v3-block-v2 .product-image ue-node-panel,
|
|
35
|
-
.ins-recommendation-v3-block-v2 .product-name ue-node-actions,
|
|
36
|
-
.ins-recommendation-v3-block-v2 .product-name ue-node-panel,
|
|
37
|
-
.ins-recommendation-v3-block-v2 .product-price ue-node-actions,
|
|
38
|
-
.ins-recommendation-v3-block-v2 .product-price ue-node-panel,
|
|
39
|
-
.ins-recommendation-v3-block-v2 .product-old-price ue-node-actions,
|
|
40
|
-
.ins-recommendation-v3-block-v2 .product-old-price ue-node-panel,
|
|
41
|
-
.ins-recommendation-v3-block-v2 .product-omnibus-price ue-node-actions,
|
|
42
|
-
.ins-recommendation-v3-block-v2 .product-omnibus-price ue-node-panel,
|
|
43
|
-
.ins-recommendation-v3-block-v2 .product-omnibus-discount ue-node-actions,
|
|
44
|
-
.ins-recommendation-v3-block-v2 .product-omnibus-discount ue-node-panel,
|
|
45
|
-
.ins-recommendation-v3-block-v2 .product-button ue-node-actions,
|
|
46
|
-
.ins-recommendation-v3-block-v2 .product-button ue-node-panel {
|
|
22
|
+
.ins-recommendation-v3-block-v2 .product-attribute-cell ue-node-actions,
|
|
23
|
+
.ins-recommendation-v3-block-v2 .product-attribute-cell ue-node-panel {
|
|
47
24
|
display: none !important;
|
|
48
25
|
}
|
|
49
26
|
|
package/dist/stores/editor.js
CHANGED
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
import { productPairs as
|
|
2
|
-
function
|
|
3
|
-
const
|
|
4
|
-
Object.entries(
|
|
5
|
-
$.querySelectorAll(".ins-product-td").forEach((
|
|
6
|
-
const E =
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
const
|
|
1
|
+
import { productPairs as w } from "../extensions/Blocks/Items/enums/productEnums.js";
|
|
2
|
+
function P(k) {
|
|
3
|
+
const m = k.replaceAll("{%", "<!--{%").replaceAll("%}", "%}-->"), $ = new DOMParser().parseFromString(m, "text/html"), R = w.PAIRS_FOR_EXTENSION;
|
|
4
|
+
Object.entries(R).forEach(([n, l]) => {
|
|
5
|
+
$.querySelectorAll(".ins-product-td").forEach((o) => {
|
|
6
|
+
const E = o.getAttribute("data-number") || "1", b = o.getAttribute("data-type") || "CART_ITEMS";
|
|
7
|
+
o.querySelectorAll(`[product-attr="${n}"]`).forEach((e) => {
|
|
8
|
+
var y;
|
|
9
|
+
const T = e.getAttribute("data-type") || b, u = e.getAttribute("data-number") || E, p = l[T];
|
|
10
10
|
if (p)
|
|
11
11
|
switch (n) {
|
|
12
12
|
case "imageSrc": {
|
|
13
|
-
let t = null,
|
|
14
|
-
if (e.tagName === "IMG" ? (t = e,
|
|
13
|
+
let t = null, c = null;
|
|
14
|
+
if (e.tagName === "IMG" ? (t = e, c = t.closest("a")) : (t = e.querySelector("img"), c = e.querySelector("a") || e.closest("a")), !t)
|
|
15
15
|
break;
|
|
16
16
|
const i = p.DEFAULT, a = p.ATTR;
|
|
17
17
|
if (i && t.src) {
|
|
18
18
|
const r = t.src;
|
|
19
|
-
i.some((
|
|
20
|
-
const s =
|
|
21
|
-
return r.includes(
|
|
19
|
+
i.some((d) => {
|
|
20
|
+
const s = d.split("/").pop() || "", _ = r.split("/").pop() || "";
|
|
21
|
+
return r.includes(d) || r.includes(s) || _ === s;
|
|
22
22
|
}) && (t.src = `{{${a}_${u}}}`);
|
|
23
23
|
}
|
|
24
|
-
if (
|
|
25
|
-
const r = (
|
|
24
|
+
if (c) {
|
|
25
|
+
const r = (y = R.itemLink) == null ? void 0 : y[T];
|
|
26
26
|
if (r) {
|
|
27
|
-
const
|
|
28
|
-
(s === "#" || s === "" || s.endsWith("#!") || s.endsWith(
|
|
27
|
+
const f = r.HREF, d = r.DEFAULT_HREF || "#!", s = c.href;
|
|
28
|
+
(s === "#" || s === "" || s.endsWith("#!") || s.endsWith(d) || s === `${window.location.href}${d}` || !s || s === window.location.href) && (c.href = `{{${f}_${u}}}`);
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
break;
|
|
32
32
|
}
|
|
33
33
|
case "name": {
|
|
34
|
-
const t = p,
|
|
35
|
-
e.textContent && (e.textContent = `{{${
|
|
34
|
+
const t = p, c = t.ATTR, i = t.DEFAULT_HREF || "#!", a = t.HREF;
|
|
35
|
+
e.textContent && (e.textContent = `{{${c}_${u}}}`);
|
|
36
36
|
const r = e.closest("a") || (e.tagName === "A" ? e : null);
|
|
37
37
|
if (r && a) {
|
|
38
|
-
const
|
|
39
|
-
(
|
|
38
|
+
const f = r.href, d = `${window.location.href}${i}`;
|
|
39
|
+
(f === d || f.endsWith(i)) && (r.href = `{{${a}_${u}}}`);
|
|
40
40
|
}
|
|
41
41
|
break;
|
|
42
42
|
}
|
|
43
43
|
case "price":
|
|
44
44
|
case "originalPrice": {
|
|
45
|
-
const t = p,
|
|
46
|
-
let
|
|
47
|
-
r ?
|
|
45
|
+
const t = p, c = e.getAttribute("data-formated"), i = e.getAttribute("data-single_price"), a = c === "true", r = i === "true", f = e.getAttribute("data-curency") || "before";
|
|
46
|
+
let d;
|
|
47
|
+
r ? d = a ? t.SINGLE_PRICE_FORMATTED : t.SINGLE_PRICE : d = a ? t.PRICE_FORMATTED : t.PRICE;
|
|
48
48
|
const s = t.CURRENCY;
|
|
49
|
-
let _ = `{{${
|
|
49
|
+
let _ = `{{${d}_${u}}}`;
|
|
50
50
|
if (s) {
|
|
51
|
-
const
|
|
52
|
-
_ =
|
|
51
|
+
const H = `{{${s}_${u}}}`;
|
|
52
|
+
_ = f === "after" ? `${_} ${H}` : `${H} ${_}`;
|
|
53
53
|
}
|
|
54
54
|
e.textContent = _;
|
|
55
55
|
break;
|
|
56
56
|
}
|
|
57
57
|
case "quantity": {
|
|
58
|
-
const t = p,
|
|
59
|
-
e.textContent && e.textContent.trim() === i && (e.textContent = `{{${
|
|
58
|
+
const t = p, c = t.ATTR, i = t.DEFAULT;
|
|
59
|
+
e.textContent && e.textContent.trim() === i && (e.textContent = `{{${c}_${u}}}`);
|
|
60
60
|
break;
|
|
61
61
|
}
|
|
62
62
|
case "button": {
|
|
63
|
-
const t = p,
|
|
63
|
+
const t = p, c = t.HREF, i = t.DEFAULT_HREF || "#!", a = e.tagName === "A" ? e : e.querySelector("a");
|
|
64
64
|
if (a) {
|
|
65
|
-
const r = a.href || "",
|
|
66
|
-
(r === "" || r === "#" || r ===
|
|
65
|
+
const r = a.href || "", f = `${window.location.href}${i}`;
|
|
66
|
+
(r === "" || r === "#" || r === f || r.endsWith(i) || r.endsWith("#!") || r === window.location.href) && (a.href = `{{${c}_${u}}}`);
|
|
67
67
|
}
|
|
68
68
|
break;
|
|
69
69
|
}
|
|
70
70
|
case "itemLink": {
|
|
71
|
-
const t = p,
|
|
71
|
+
const t = p, c = t.HREF, i = t.DEFAULT_HREF || "#!", a = e;
|
|
72
72
|
if (a.href) {
|
|
73
|
-
const r = a.href,
|
|
74
|
-
(r ===
|
|
73
|
+
const r = a.href, f = `${window.location.href}${i}`;
|
|
74
|
+
(r === f || r.endsWith(i)) && (a.href = `{{${c}_${u}}}`);
|
|
75
75
|
}
|
|
76
76
|
break;
|
|
77
77
|
}
|
|
@@ -86,45 +86,44 @@ function L(F) {
|
|
|
86
86
|
});
|
|
87
87
|
});
|
|
88
88
|
});
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
m.push({
|
|
89
|
+
const F = $.querySelectorAll(".ins-product-td"), S = [];
|
|
90
|
+
F.forEach((n) => {
|
|
91
|
+
const l = n.getAttribute("data-type") || "CART_ITEMS", A = n.getAttribute("data-number") || "1", o = n.getAttribute("data-nodup"), E = n.outerHTML;
|
|
92
|
+
S.push({
|
|
94
93
|
element: n,
|
|
95
94
|
outerHtml: E,
|
|
96
95
|
type: l,
|
|
97
96
|
number: A,
|
|
98
|
-
nodup:
|
|
97
|
+
nodup: o || void 0
|
|
99
98
|
});
|
|
100
99
|
});
|
|
101
|
-
let h =
|
|
102
|
-
|
|
103
|
-
let
|
|
100
|
+
let h = $.body.innerHTML;
|
|
101
|
+
S.reverse().forEach(({ outerHtml: n, type: l, number: A }) => {
|
|
102
|
+
let o = "";
|
|
104
103
|
switch (l) {
|
|
105
104
|
case "CART_ITEMS":
|
|
106
|
-
|
|
105
|
+
o = "ins_apr_total_product_kind";
|
|
107
106
|
break;
|
|
108
107
|
case "BROWSED_ITEMS":
|
|
109
|
-
|
|
108
|
+
o = "browsed_item_total_product_kind";
|
|
110
109
|
break;
|
|
111
110
|
case "PURCHASED_ITEMS":
|
|
112
|
-
|
|
111
|
+
o = "purchased_item_total_product_kind";
|
|
113
112
|
break;
|
|
114
113
|
}
|
|
115
|
-
if (
|
|
116
|
-
const
|
|
117
|
-
h = h.replace(n,
|
|
114
|
+
if (o) {
|
|
115
|
+
const b = parseInt(A) - 1, T = `${`{% if ${o} > ${b} %}`}${n}{% endif %}`;
|
|
116
|
+
h = h.replace(n, T);
|
|
118
117
|
}
|
|
119
118
|
});
|
|
120
|
-
const
|
|
121
|
-
return
|
|
119
|
+
const I = $.querySelectorAll('[product-attr="originalPrice"][data-type="CART_ITEMS"]'), g = [];
|
|
120
|
+
return I.forEach((n) => {
|
|
122
121
|
const l = n.getAttribute("data-number"), A = n.getAttribute("data-type");
|
|
123
122
|
if (!l || A !== "CART_ITEMS")
|
|
124
123
|
return;
|
|
125
|
-
const
|
|
126
|
-
if (
|
|
127
|
-
const E =
|
|
124
|
+
const o = n.closest(".product-original-price-class");
|
|
125
|
+
if (o) {
|
|
126
|
+
const E = o.outerHTML;
|
|
128
127
|
g.some((C) => C.tdOuterHtml === E) || g.push({ tdOuterHtml: E, number: l });
|
|
129
128
|
}
|
|
130
129
|
}), g.reverse().forEach(({ tdOuterHtml: n, number: l }) => {
|
|
@@ -136,5 +135,5 @@ function L(F) {
|
|
|
136
135
|
}), h.replaceAll("<!--{%", "{%").replaceAll("%}-->", "%}").replaceAll("<!--{%", "{%").replaceAll("%}-->", "%}");
|
|
137
136
|
}
|
|
138
137
|
export {
|
|
139
|
-
|
|
138
|
+
P as pairProductVariables
|
|
140
139
|
};
|