@useinsider/guido 2.0.0-beta.5269a3f → 2.0.0-beta.5da4dde

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/dist/@types/config/schemas.js +6 -4
  2. package/dist/composables/useStripo.js +51 -50
  3. package/dist/extensions/Blocks/CouponBlock/constants.js +4 -0
  4. package/dist/extensions/Blocks/CouponBlock/controls/index.js +29 -0
  5. package/dist/extensions/Blocks/CouponBlock/extension.js +5 -4
  6. package/dist/extensions/Blocks/CouponBlock/settingsPanel.js +20 -14
  7. package/dist/extensions/Blocks/CouponBlock/template.js +22 -11
  8. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +153 -69
  9. package/dist/extensions/Blocks/Recommendation/constants.js +9 -1
  10. package/dist/extensions/Blocks/Recommendation/control.js +74 -59
  11. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +68 -0
  12. package/dist/extensions/Blocks/Recommendation/controls/index.js +245 -0
  13. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +74 -0
  14. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.js +71 -0
  15. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.js +71 -0
  16. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.js +71 -0
  17. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.js +71 -0
  18. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +188 -0
  19. package/dist/extensions/Blocks/Recommendation/extension.js +16 -42
  20. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +117 -72
  21. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +85 -64
  22. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +54 -17
  23. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +74 -45
  24. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +25 -0
  25. package/dist/extensions/Blocks/controlFactories.js +122 -111
  26. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +14 -14
  27. package/dist/services/stripoApi.js +14 -14
  28. package/dist/src/@types/config/schemas.d.ts +4 -0
  29. package/dist/src/composables/useConfig.d.ts +2 -0
  30. package/dist/src/extensions/Blocks/CouponBlock/constants.d.ts +14 -0
  31. package/dist/src/extensions/Blocks/CouponBlock/controls/index.d.ts +108 -0
  32. package/dist/src/extensions/Blocks/CouponBlock/template.d.ts +1 -1
  33. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +50 -3
  34. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +32 -0
  35. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +5 -2
  36. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.d.ts +25 -0
  37. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +592 -0
  38. package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +16 -0
  39. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.d.ts +15 -0
  40. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.d.ts +15 -0
  41. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.d.ts +15 -0
  42. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.d.ts +15 -0
  43. package/dist/src/extensions/Blocks/Recommendation/controls/spacingControl.d.ts +60 -0
  44. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +3 -3
  45. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +15 -7
  46. package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +19 -0
  47. package/dist/src/extensions/Blocks/controlFactories.d.ts +30 -7
  48. package/dist/src/stores/config.d.ts +17 -0
  49. package/dist/static/styles/components/narrow-panel.css.js +0 -10
  50. package/dist/static/styles/components/wide-panel.css.js +0 -4
  51. package/dist/static/styles/customEditorStyle.css.js +13 -0
  52. package/package.json +1 -1
  53. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
  54. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
  55. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
  56. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
  57. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
  58. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
  59. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
  60. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
  61. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
  62. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
  63. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
  64. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
  65. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
  66. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
  67. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
  68. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
  69. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
  70. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
  71. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
  72. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
  73. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
  74. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
  75. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
  76. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
  77. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
  78. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
  79. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
  80. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
  81. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
  82. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
  83. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
  84. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
  85. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
  86. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
  87. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
  88. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
  89. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
  90. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
  91. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
  92. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
  93. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
  94. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
  95. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
  96. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
  97. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
  98. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
  99. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
  100. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
  101. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
  102. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
  103. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
  104. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
  105. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
  106. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
  107. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
  108. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
  109. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
  110. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
  111. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
  112. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
  113. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
  114. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
  115. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
  116. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
  117. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
  118. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
  119. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
  120. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
@@ -0,0 +1,15 @@
1
+ import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
2
+ import { CommonControl } from '../../common-control';
3
+ /**
4
+ * Control for setting text after Omnibus Discount value
5
+ */
6
+ export declare class OmnibusDiscountTextAfterControl extends CommonControl {
7
+ getId(): string;
8
+ getTemplate(): string;
9
+ onRender(): void;
10
+ onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
11
+ _setFormValues(): void;
12
+ _getCurrentText(): string;
13
+ _onTextChange(newText: string): void;
14
+ _listenToFormUpdates(): void;
15
+ }
@@ -0,0 +1,15 @@
1
+ import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
2
+ import { CommonControl } from '../../common-control';
3
+ /**
4
+ * Control for setting text before Omnibus Discount value
5
+ */
6
+ export declare class OmnibusDiscountTextBeforeControl extends CommonControl {
7
+ getId(): string;
8
+ getTemplate(): string;
9
+ onRender(): void;
10
+ onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
11
+ _setFormValues(): void;
12
+ _getCurrentText(): string;
13
+ _onTextChange(newText: string): void;
14
+ _listenToFormUpdates(): void;
15
+ }
@@ -0,0 +1,15 @@
1
+ import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
2
+ import { CommonControl } from '../../common-control';
3
+ /**
4
+ * Control for setting text after Omnibus Price value
5
+ */
6
+ export declare class OmnibusPriceTextAfterControl extends CommonControl {
7
+ getId(): string;
8
+ getTemplate(): string;
9
+ onRender(): void;
10
+ onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
11
+ _setFormValues(): void;
12
+ _getCurrentText(): string;
13
+ _onTextChange(newText: string): void;
14
+ _listenToFormUpdates(): void;
15
+ }
@@ -0,0 +1,15 @@
1
+ import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
2
+ import { CommonControl } from '../../common-control';
3
+ /**
4
+ * Control for setting text before Omnibus Price value
5
+ */
6
+ export declare class OmnibusPriceTextBeforeControl extends CommonControl {
7
+ getId(): string;
8
+ getTemplate(): string;
9
+ onRender(): void;
10
+ onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
11
+ _setFormValues(): void;
12
+ _getCurrentText(): string;
13
+ _onTextChange(newText: string): void;
14
+ _listenToFormUpdates(): void;
15
+ }
@@ -0,0 +1,60 @@
1
+ import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
2
+ import { CommonControl } from '../../common-control';
3
+ export declare const SPACING_CONTROL_ID = "recommendation-spacing-control";
4
+ /**
5
+ * Control for managing spacing between product cards
6
+ * - Column spacing: horizontal gap between cards in the same row
7
+ * - Row spacing: vertical gap between different rows
8
+ */
9
+ export declare class SpacingControl extends CommonControl {
10
+ getId(): string;
11
+ getTemplate(): string;
12
+ onRender(): void;
13
+ onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
14
+ /**
15
+ * Reads spacing values from data attributes or returns defaults
16
+ */
17
+ _setFormValues(): void;
18
+ /**
19
+ * Gets stored column spacing from the first product card wrapper's parent element's padding
20
+ * Reads the actual padding value instead of relying on data attributes
21
+ *
22
+ * The padding is applied as "0 {halfSpacing}px" on the parent TD element,
23
+ * so we need to extract the horizontal padding value and multiply by 2 to get total spacing.
24
+ */
25
+ _getStoredColumnSpacing(): number;
26
+ /**
27
+ * Gets stored row spacing from the first spacer element's height style
28
+ * Reads the actual height value instead of relying on data attributes
29
+ */
30
+ _getStoredRowSpacing(): number;
31
+ /**
32
+ * Handles column spacing changes
33
+ * Applies horizontal padding to all product card wrappers
34
+ */
35
+ _onColumnSpacingChange(spacing: number): void;
36
+ /**
37
+ * Handles row spacing changes
38
+ * Applies height to all spacer elements between product rows
39
+ */
40
+ _onRowSpacingChange(spacing: number): void;
41
+ /**
42
+ * Stores column spacing value in block data attribute
43
+ */
44
+ _storeColumnSpacing(spacing: number): void;
45
+ /**
46
+ * Stores row spacing value in block data attribute
47
+ */
48
+ _storeRowSpacing(spacing: number): void;
49
+ _listenToFormUpdates(): void;
50
+ /**
51
+ * Debounced version of _onColumnSpacingChange
52
+ * Prevents excessive DOM updates when user rapidly adjusts the counter
53
+ */
54
+ _debouncedOnColumnSpacingChange: import("@vueuse/shared").PromisifyFn<(spacing: number) => void>;
55
+ /**
56
+ * Debounced version of _onRowSpacingChange
57
+ * Prevents excessive DOM updates when user rapidly adjusts the counter
58
+ */
59
+ _debouncedOnRowSpacingChange: import("@vueuse/shared").PromisifyFn<(spacing: number) => void>;
60
+ }
@@ -1,6 +1,6 @@
1
1
  import type { RecommendationProduct } from '@@/Types/recommendation';
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";
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
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, getDefaultProducts, };
15
+ export { DEFAULTS, DEFAULT_CARD_COMPOSITION, DEFAULT_CARD_VISIBILITY, getDefaultProducts, };
16
16
  export default blockTemplate;
@@ -1,10 +1,13 @@
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';
2
3
  export interface ElementRenderer {
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;
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;
8
11
  }
9
12
  export interface TemplateConfig {
10
13
  spacer: string;
@@ -17,10 +20,15 @@ export declare const DEFAULTS: {
17
20
  TITLE: string;
18
21
  DESCRIPTION: string;
19
22
  };
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";
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";
22
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";
23
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>;
24
32
  export declare function getDefaultProducts(): RecommendationProduct[];
25
33
  /**
26
34
  * Core template generation logic that works with any element renderer
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Utility for preserving text styling when updating innerHTML
3
+ */
4
+ import type { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
5
+ /**
6
+ * Preserves existing style tags when updating text content
7
+ *
8
+ * When users apply text styles (bold, italic, etc.) in Stripo, the editor wraps
9
+ * content in tags like <strong>, <em>, <u>, <s>. This function extracts those
10
+ * style tags from the original HTML and re-applies them to the new text content.
11
+ * @example
12
+ * // Original: <span class="omnibus-text-before"><strong>Lowest price: </strong></span>
13
+ * // After calling preserveTextStyles(element, 'Best price: ')
14
+ * // Result: <strong>Best price: </strong>
15
+ * @param element - The DOM element or ImmutableHtmlNode containing the styled text
16
+ * @param newText - The new text content to insert
17
+ * @returns The new text wrapped in the original style tags
18
+ */
19
+ export declare function preserveTextStyles(element: ImmutableHtmlNode | Element, newText: string): string;
@@ -12,8 +12,9 @@
12
12
  import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
13
13
  /**
14
14
  * Factory function to create text align controls for different block elements
15
+ * When targetBlockId and containerSelector are not provided, applies directly to root
15
16
  */
16
- export declare function createTextAlignControl(controlId: string, targetBlockId: string, containerSelector: string): {
17
+ export declare function createTextAlignControl(controlId: string, targetBlockId?: string, containerSelector?: string): {
17
18
  new (): {
18
19
  getId(): string;
19
20
  getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
@@ -27,8 +28,9 @@ export declare function createTextAlignControl(controlId: string, targetBlockId:
27
28
  };
28
29
  /**
29
30
  * Factory function to create text color controls for different block elements
31
+ * When targetBlockId and containerSelector are not provided, applies directly to root
30
32
  */
31
- export declare function createTextColorControl(controlId: string, targetBlockId: string, containerSelector?: string): {
33
+ export declare function createTextColorControl(controlId: string, targetBlockId?: string, containerSelector?: string): {
32
34
  new (): {
33
35
  getId(): string;
34
36
  getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
@@ -42,8 +44,9 @@ export declare function createTextColorControl(controlId: string, targetBlockId:
42
44
  };
43
45
  /**
44
46
  * Factory function to create text size controls for different block elements
47
+ * When targetBlockId and containerSelector are not provided, applies directly to root
45
48
  */
46
- export declare function createTextSizeControl(controlId: string, targetBlockId: string, containerSelector?: string): {
49
+ export declare function createTextSizeControl(controlId: string, targetBlockId?: string, containerSelector?: string): {
47
50
  new (): {
48
51
  getId(): string;
49
52
  getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
@@ -57,8 +60,9 @@ export declare function createTextSizeControl(controlId: string, targetBlockId:
57
60
  };
58
61
  /**
59
62
  * Factory function to create text style controls for different block elements
63
+ * When targetBlockId and containerSelector are not provided, applies directly to root
60
64
  */
61
- export declare function createTextStyleControl(controlId: string, targetBlockId: string, containerSelector?: string): {
65
+ export declare function createTextStyleControl(controlId: string, targetBlockId?: string, containerSelector?: string): {
62
66
  new (): {
63
67
  getId(): string;
64
68
  getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
@@ -72,8 +76,9 @@ export declare function createTextStyleControl(controlId: string, targetBlockId:
72
76
  };
73
77
  /**
74
78
  * Factory function to create text font family controls for different block elements
79
+ * When targetBlockId and containerSelector are not provided, applies directly to root
75
80
  */
76
- export declare function createTextFontFamilyControl(controlId: string, targetBlockId: string, containerSelector?: string): {
81
+ export declare function createTextFontFamilyControl(controlId: string, targetBlockId?: string, containerSelector?: string): {
77
82
  new (): {
78
83
  getId(): string;
79
84
  getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
@@ -87,8 +92,9 @@ export declare function createTextFontFamilyControl(controlId: string, targetBlo
87
92
  };
88
93
  /**
89
94
  * Factory function to create text background color controls for different block elements
95
+ * When targetBlockId and containerSelector are not provided, applies directly to root
90
96
  */
91
- export declare function createTextBackgroundColorControl(controlId: string, targetBlockId: string, containerSelector?: string): {
97
+ export declare function createTextBackgroundColorControl(controlId: string, targetBlockId?: string, containerSelector?: string): {
92
98
  new (): {
93
99
  getId(): string;
94
100
  getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
@@ -102,8 +108,25 @@ export declare function createTextBackgroundColorControl(controlId: string, targ
102
108
  };
103
109
  /**
104
110
  * Factory function to create paddings controls for different block elements
111
+ * When targetBlockId and containerSelector are not provided, applies directly to root
105
112
  */
106
- export declare function createPaddingsControl(controlId: string, targetBlockId: string, containerSelector?: string): {
113
+ export declare function createPaddingsControl(controlId: string, targetBlockId?: string, containerSelector?: string): {
114
+ new (): {
115
+ getId(): string;
116
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
117
+ getParentControlId(): string;
118
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
119
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
120
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
121
+ getAdditionalModifications(_root: ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
122
+ isVisible(_node: ImmutableHtmlNode): boolean;
123
+ };
124
+ };
125
+ /**
126
+ * Factory function to create text line spacing controls for different block elements
127
+ * When targetBlockId and containerSelector are not provided, applies directly to root
128
+ */
129
+ export declare function createTextLineSpacingControl(controlId: string, targetBlockId?: string, containerSelector?: string): {
107
130
  new (): {
108
131
  getId(): string;
109
132
  getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
@@ -57,6 +57,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
57
57
  testMessage: boolean;
58
58
  displayConditions: boolean;
59
59
  unsubscribe: boolean;
60
+ modulesDisabled: boolean;
60
61
  };
61
62
  blocks: {
62
63
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -147,6 +148,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
147
148
  testMessage: boolean;
148
149
  displayConditions: boolean;
149
150
  unsubscribe: boolean;
151
+ modulesDisabled: boolean;
150
152
  };
151
153
  blocks: {
152
154
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -237,6 +239,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
237
239
  testMessage: boolean;
238
240
  displayConditions: boolean;
239
241
  unsubscribe: boolean;
242
+ modulesDisabled: boolean;
240
243
  };
241
244
  blocks: {
242
245
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -327,6 +330,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
327
330
  testMessage: boolean;
328
331
  displayConditions: boolean;
329
332
  unsubscribe: boolean;
333
+ modulesDisabled: boolean;
330
334
  };
331
335
  blocks: {
332
336
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -417,6 +421,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
417
421
  testMessage: boolean;
418
422
  displayConditions: boolean;
419
423
  unsubscribe: boolean;
424
+ modulesDisabled: boolean;
420
425
  };
421
426
  blocks: {
422
427
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -507,6 +512,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
507
512
  testMessage: boolean;
508
513
  displayConditions: boolean;
509
514
  unsubscribe: boolean;
515
+ modulesDisabled: boolean;
510
516
  };
511
517
  blocks: {
512
518
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -597,6 +603,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
597
603
  testMessage: boolean;
598
604
  displayConditions: boolean;
599
605
  unsubscribe: boolean;
606
+ modulesDisabled: boolean;
600
607
  };
601
608
  blocks: {
602
609
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -687,6 +694,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
687
694
  testMessage: boolean;
688
695
  displayConditions: boolean;
689
696
  unsubscribe: boolean;
697
+ modulesDisabled: boolean;
690
698
  };
691
699
  blocks: {
692
700
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -777,6 +785,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
777
785
  testMessage: boolean;
778
786
  displayConditions: boolean;
779
787
  unsubscribe: boolean;
788
+ modulesDisabled: boolean;
780
789
  };
781
790
  blocks: {
782
791
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -867,6 +876,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
867
876
  testMessage: boolean;
868
877
  displayConditions: boolean;
869
878
  unsubscribe: boolean;
879
+ modulesDisabled: boolean;
870
880
  };
871
881
  blocks: {
872
882
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -957,6 +967,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
957
967
  testMessage: boolean;
958
968
  displayConditions: boolean;
959
969
  unsubscribe: boolean;
970
+ modulesDisabled: boolean;
960
971
  };
961
972
  blocks: {
962
973
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -1047,6 +1058,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1047
1058
  testMessage: boolean;
1048
1059
  displayConditions: boolean;
1049
1060
  unsubscribe: boolean;
1061
+ modulesDisabled: boolean;
1050
1062
  };
1051
1063
  blocks: {
1052
1064
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -1137,6 +1149,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1137
1149
  testMessage: boolean;
1138
1150
  displayConditions: boolean;
1139
1151
  unsubscribe: boolean;
1152
+ modulesDisabled: boolean;
1140
1153
  };
1141
1154
  blocks: {
1142
1155
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -1227,6 +1240,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1227
1240
  testMessage: boolean;
1228
1241
  displayConditions: boolean;
1229
1242
  unsubscribe: boolean;
1243
+ modulesDisabled: boolean;
1230
1244
  };
1231
1245
  blocks: {
1232
1246
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -1317,6 +1331,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1317
1331
  testMessage: boolean;
1318
1332
  displayConditions: boolean;
1319
1333
  unsubscribe: boolean;
1334
+ modulesDisabled: boolean;
1320
1335
  };
1321
1336
  blocks: {
1322
1337
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -1407,6 +1422,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1407
1422
  testMessage: boolean;
1408
1423
  displayConditions: boolean;
1409
1424
  unsubscribe: boolean;
1425
+ modulesDisabled: boolean;
1410
1426
  };
1411
1427
  blocks: {
1412
1428
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -1497,6 +1513,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1497
1513
  testMessage: boolean;
1498
1514
  displayConditions: boolean;
1499
1515
  unsubscribe: boolean;
1516
+ modulesDisabled: boolean;
1500
1517
  };
1501
1518
  blocks: {
1502
1519
  excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
@@ -32,16 +32,6 @@ ue-stripe-thumb:hover:not(.disabled),
32
32
  padding: 0 16px 16px;
33
33
  grid-row-gap: 16px;
34
34
  }
35
-
36
- /* TODO: will be removed after we find another way to hide stripo custom modules */
37
- #moduleTab_tab1,
38
- button[aria-label="Default Modules"],
39
- button[aria-controls="moduleTab_tab1_content"],
40
- #moduleTab_tab2,
41
- button[aria-label="Pre-Built AMP"],
42
- button[aria-controls="moduleTab_tab2_content"] {
43
- display: none !important;
44
- }
45
35
  `;
46
36
  export {
47
37
  o as default
@@ -6,10 +6,6 @@ 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
-
13
9
  /* Remove with this writing task DT-28355 */
14
10
  ue-description a {
15
11
  display: none;
@@ -23,6 +23,19 @@ 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
+ }
26
39
  `;
27
40
  export {
28
41
  n as default
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@useinsider/guido",
3
- "version": "2.0.0-beta.5269a3f",
3
+ "version": "2.0.0-beta.5da4dde",
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",
@@ -1,13 +0,0 @@
1
- import { ButtonAlignBuiltInControl as t } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
- class c extends t {
4
- getId() {
5
- return e.BUTTON_ALIGN;
6
- }
7
- getTargetNodes(o) {
8
- return o.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
- }
10
- }
11
- export {
12
- c as ButtonAlignControl
13
- };
@@ -1,13 +0,0 @@
1
- import { ButtonBorderBuiltInControl as t } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
- class s extends t {
4
- getId() {
5
- return e.BUTTON_BORDER;
6
- }
7
- getTargetNodes(o) {
8
- return o.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
- }
10
- }
11
- export {
12
- s as ButtonBorderControl
13
- };
@@ -1,13 +0,0 @@
1
- import { ButtonBorderRadiusBuiltInControl as t } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
- class i extends t {
4
- getId() {
5
- return e.BUTTON_BORDER_RADIUS;
6
- }
7
- getTargetNodes(o) {
8
- return o.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
- }
10
- }
11
- export {
12
- i as ButtonBorderRadiusControl
13
- };
@@ -1,13 +0,0 @@
1
- import { ButtonColorBuiltInControl as t } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
- class c extends t {
4
- getId() {
5
- return e.BUTTON_COLOR;
6
- }
7
- getTargetNodes(o) {
8
- return o.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
- }
10
- }
11
- export {
12
- c as ButtonColorControl
13
- };
@@ -1,13 +0,0 @@
1
- import { ButtonFitToContainerBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
- class s extends o {
4
- getId() {
5
- return e.BUTTON_FIT_TO_CONTENT;
6
- }
7
- getTargetNodes(t) {
8
- return t.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
- }
10
- }
11
- export {
12
- s as ButtonFitToContentControl
13
- };
@@ -1,13 +0,0 @@
1
- import { ButtonFontFamilyBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
- class s extends o {
4
- getId() {
5
- return e.BUTTON_FONT_FAMILY;
6
- }
7
- getTargetNodes(t) {
8
- return t.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
- }
10
- }
11
- export {
12
- s as ButtonFontFamilyControl
13
- };
@@ -1,13 +0,0 @@
1
- import { ButtonMarginsBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
- class m extends o {
4
- getId() {
5
- return e.BUTTON_MARGINS;
6
- }
7
- getTargetNodes(t) {
8
- return t.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
- }
10
- }
11
- export {
12
- m as ButtonMarginsControl
13
- };
@@ -1,13 +0,0 @@
1
- import { ButtonPaddingsBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
- class i extends o {
4
- getId() {
5
- return e.BUTTON_PADDINGS;
6
- }
7
- getTargetNodes(t) {
8
- return t.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
- }
10
- }
11
- export {
12
- i as ButtonPaddingsControl
13
- };
@@ -1,13 +0,0 @@
1
- import { ButtonTextBuiltInControl as o } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { RecommendationControlId as e, RecommendationBlockId as n } from "../../constants.js";
3
- class c extends o {
4
- getId() {
5
- return e.BUTTON_TEXT;
6
- }
7
- getTargetNodes(t) {
8
- return t.closest(".ins-recommendation-product-container").querySelectorAll(`[esd-extension-block-id="${n.BUTTON}"]`);
9
- }
10
- }
11
- export {
12
- c as ButtonTextControl
13
- };