@useinsider/guido 2.1.0-beta.3c29284 → 2.1.0-beta.425dfd0

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 (112) hide show
  1. package/dist/@types/config/schemas.js +17 -17
  2. package/dist/components/organisms/header/LeftSlot.vue.js +11 -11
  3. package/dist/components/organisms/header/LeftSlot.vue2.js +25 -20
  4. package/dist/extensions/Blocks/Items/controls/cardComposition.js +13 -4
  5. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +38 -32
  6. package/dist/extensions/Blocks/Items/controls/settingsControl.js +38 -32
  7. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +153 -69
  8. package/dist/extensions/Blocks/Recommendation/constants.js +9 -1
  9. package/dist/extensions/Blocks/Recommendation/control.js +91 -61
  10. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +68 -0
  11. package/dist/extensions/Blocks/Recommendation/controls/index.js +245 -0
  12. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +74 -0
  13. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.js +71 -0
  14. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.js +71 -0
  15. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.js +71 -0
  16. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.js +71 -0
  17. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +188 -0
  18. package/dist/extensions/Blocks/Recommendation/extension.js +16 -42
  19. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +117 -72
  20. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +85 -64
  21. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +54 -17
  22. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +74 -45
  23. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +25 -0
  24. package/dist/guido.css +1 -1
  25. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +39 -44
  26. package/dist/package.json.js +1 -1
  27. package/dist/src/@types/config/schemas.d.ts +2 -2
  28. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +50 -3
  29. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +32 -0
  30. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +5 -2
  31. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.d.ts +25 -0
  32. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +592 -0
  33. package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +16 -0
  34. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.d.ts +15 -0
  35. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.d.ts +15 -0
  36. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.d.ts +15 -0
  37. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.d.ts +15 -0
  38. package/dist/src/extensions/Blocks/Recommendation/controls/spacingControl.d.ts +60 -0
  39. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +3 -3
  40. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +15 -7
  41. package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +19 -0
  42. package/dist/static/styles/components/wide-panel.css.js +0 -4
  43. package/dist/static/styles/customEditorStyle.css.js +13 -0
  44. package/package.json +2 -2
  45. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
  46. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
  47. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
  48. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
  49. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
  50. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
  51. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
  52. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
  53. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
  54. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
  55. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
  56. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
  57. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
  58. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
  59. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
  60. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
  61. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
  62. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
  63. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
  64. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
  65. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
  66. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
  67. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
  68. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
  69. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
  70. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
  71. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
  72. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
  73. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
  74. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
  75. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
  76. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
  77. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
  78. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
  79. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
  80. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
  81. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
  82. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
  83. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
  84. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
  85. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
  86. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
  87. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
  88. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
  89. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
  90. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
  91. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
  92. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
  93. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
  94. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
  95. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
  96. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
  97. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
  98. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
  99. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
  100. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
  101. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
  102. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
  103. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
  104. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
  105. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
  106. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
  107. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
  108. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
  109. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
  110. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
  111. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
  112. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
@@ -21,7 +21,7 @@ ${s.map((o) => ` - ${o}`).join(`
21
21
  * This validation runs only once per class type and results are cached.
22
22
  */
23
23
  validateImplementation(t, r) {
24
- var M;
24
+ var x;
25
25
  const s = [], o = r.name, Y = Object.getPrototypeOf(this);
26
26
  t.forEach((u) => {
27
27
  if (typeof this[u] != "function") {
@@ -29,7 +29,7 @@ ${s.map((o) => ` - ${o}`).join(`
29
29
  return;
30
30
  }
31
31
  Y[u] === r.prototype[u] && s.push(`Method ${u}() must be implemented (currently using base class error-throwing implementation)`);
32
- }), d.validatedClasses.add(r), s.length > 0 ? (d.validationErrors.set(r, s), console.error(`[${o} Validation] ${o} validation failed:`, s)) : typeof process < "u" && ((M = process.env) == null ? void 0 : M.NODE_ENV) === "development" && console.log(`[${o} Validation] ✅ ${o} validated successfully`);
32
+ }), d.validatedClasses.add(r), s.length > 0 ? (d.validationErrors.set(r, s), console.error(`[${o} Validation] ${o} validation failed:`, s)) : typeof process < "u" && ((x = process.env) == null ? void 0 : x.NODE_ENV) === "development" && console.log(`[${o} Validation] ✅ ${o} validated successfully`);
33
33
  }
34
34
  };
35
35
  B.validatedClasses = /* @__PURE__ */ new Set();
@@ -196,7 +196,7 @@ var a = B, $ = /* @__PURE__ */ ((e) => (e.BLOCK = "BLOCK", e.STRUCTURE = "STRUCT
196
196
  }
197
197
  };
198
198
  y.REQUIRED_METHODS = ["getId", "getTemplate", "getIcon", "getName", "getDescription"];
199
- var Pe = y, W = class c extends a {
199
+ var we = y, W = class c extends a {
200
200
  constructor() {
201
201
  super(c.REQUIRED_METHODS, c);
202
202
  }
@@ -240,14 +240,14 @@ var Z = {
240
240
  height: "height"
241
241
  }, j = {
242
242
  href: "href"
243
- }, we = {
243
+ }, Pe = {
244
244
  BLOCK_IMAGE: Z,
245
245
  BLOCK_BUTTON: j
246
- }, v = "esd-block-button", U = "esd-block-text", P = "esd-block-image", q = "esd-structure", J = "esd-block-video", ee = "esd-block-social", te = "esd-block-banner", re = "esd-block-timer", ne = "esd-block-menu", ae = "esd-block-html", se = "esd-block-spacer", ie = "esd-container-frame", Ee = "esd-stripe", le = "esd-amp-form", I = ((e) => (e.BUTTON = `.${v}`, e.TEXT = `.${U}`, e.IMAGE = `.${P}`, e.STRUCTURE = `.${q}`, e.VIDEO = `.${J}`, e.SOCIAL = `.${ee}`, e.BANNER = `.${te}`, e.TIMER = `.${re}`, e.MENU = `.${ne}`, e.HTML = `.${ae}`, e.SPACER = `.${se}`, e.CONTAINER = `.${ie}`, e.STRIPE = `.${Ee}`, e.FORM = `.${le}`, e))(I || {}), oe = /* @__PURE__ */ ((e) => (e.BLOCK_IMAGE = "BLOCK_IMAGE", e.BLOCK_TEXT = "BLOCK_TEXT", e.BLOCK_BUTTON = "BLOCK_BUTTON", e.BLOCK_SPACER = "BLOCK_SPACER", e.BLOCK_VIDEO = "BLOCK_VIDEO", e.BLOCK_SOCIAL = "BLOCK_SOCIAL", e.BLOCK_BANNER = "BLOCK_BANNER", e.BLOCK_TIMER = "BLOCK_TIMER", e.BLOCK_MENU = "BLOCK_MENU", e.BLOCK_MENU_ITEM = "BLOCK_MENU_ITEM", e.BLOCK_HTML = "BLOCK_HTML", e.BLOCK_AMP_CAROUSEL = "BLOCK_AMP_CAROUSEL", e.BLOCK_AMP_ACCORDION = "BLOCK_AMP_ACCORDION", e.BLOCK_AMP_FORM = "BLOCK_AMP_FORM", e.CONTAINER = "CONTAINER", e.FORM_CONTAINER = "FORM_CONTAINER", e.STRUCTURE = "STRUCTURE", e.STRIPE = "STRIPE", e.EMPTY_CONTAINER = "EMPTY_CONTAINER", e.CUSTOM_BLOCK_LINK = "CUSTOM_BLOCK_LINK", e.CUSTOM_BLOCK_IMAGE = "CUSTOM_BLOCK_IMAGE", e.CUSTOM_BLOCK_TEXT = "CUSTOM_BLOCK_TEXT", e))(oe || {}), w = /* @__PURE__ */ ((e) => (e.ANCHOR_LINK_CONTAINER = "anchorLinkFormContainer", e.APPLY_CONDITION = "applyCondition", e.APPLY_CONDITION_SWITCHER = "applyConditionSwitcher", e.BACKGROUND_COLOR = "backgroundColor", e.BACKGROUND_IMAGE = "generalImageContainer", e.TEXT_COLOR = "textColor", e.TEXT_STYLE = "textStyle", e.TEXT_SIZE = "textSize", e.TEXT_LINE_SPACING = "textLineSpacing", e.TEXT_ALIGN = "textAlign", e.FIXED_HEIGHT_SWITCHER = "fixedHeightSwitcherForm", e.HIDDEN_NODE = "hiddenNode", e.SMART_BLOCK = "smartBlock", e.SYNCHRONIZED_MODULE = "synchronizedModuleForm", e.FONT_FAMILY = "generalFontFamilyForm", e.BLOCK_INTERNAL_INDENTS = "generalBlockInternalIndents", e.STRUCTURE_INTERNAL_INDENTS = "generalStructureInternalIndents", e))(w || {}), K = /* @__PURE__ */ ((e) => (e.ADJUST_TO_WIDTH = "adjustToWidth", e.ALIGNMENT = "buttonAlignment", e.BORDER = "buttonBorder", e.BORDER_RADIUS = "buttonBorderRadius", e.COLOR = "buttonColor", e.BUTTON_BLOCK_BACKGROUND_COLOR = "buttonBlockBackgroundColor", e.EXTERNAL_INDENTS = "buttonExternalIndents", e.FIXED_HEIGHT = "buttonFixedHeightForm", e.FONT_COLOR = "buttonFontColor", e.FONT_FAMILY = "buttonFontFamily", e.FONT_SIZE = "buttonFontSize", e.ICON = "buttonIconContainer", e.ICON_ALIGN = "buttonIconAlign", e.ICON_INDENT = "buttonIconIndent", e.ICON_WIDTH = "buttonIconWidth", e.IMAGE = "buttonImageForm", e.INTERNAL_INDENTS = "buttonInternalIndents", e.LINK = "buttonLink", e.MIME_TYPE = "buttonMimeTypeForm", e.SWITCHER_HOVERED_STYLES = "buttonSwitcherHoveredStylesForm", e.TEXT = "buttonText", e.TEXT_STYLE_AND_COLOR = "buttonTextStyleAndColorForm", e.HOVERED_BORDER_COLOR = "hoveredStyleBorderButtonForm", e.HOVERED_COLOR = "hoveredButtonColorForm", e.HOVERED_TEXT_COLOR = "hoveredButtonTextColorForm", e))(K || {}), F = /* @__PURE__ */ ((e) => (e.HIDDEN_NODE = "hiddenNodeText", e.PARAGRAPH_STYLE = "paragraphStyleForm", e.ALIGN = "textAlignmentForm", e.ANCHOR_CONTAINER = "textAnchorForm", e.FONT_BACKGROUND_COLOR = "textBlockFontBackgroundColor", e.TEXT_BLOCK_BACKGROUND_COLOR = "textBlockBackgroundColor", e.FONT_COLOR = "textBlockFontColor", e.TEXT_BLOCK_FONT_FAMILY = "textBlockFontFamily", e.FONT_FAMILY = "textFontFamily", e.FONT_SIZE = "textBlockFontSize", e.DIRECTION = "textBlockDirectionForm", e.INSERT_FORM = "textBlockInsertForm", e.LINK_DATA = "textBlockLinkDataForm", e.FORMAT = "textBlockTextFormatForm", e.FIXED_HEIGHT = "textFixedHeightForm", e.INTERNAL_INDENTS = "textInternalIndents", e.LINE_HEIGHT = "textLineHeightForm", e.LINKS_COLOR = "textLinksFontColorForm", e.MIME_TYPE = "textMimeTypeForm", e.NO_LINE_WRAPS = "textNoLineWrapsForm", e))(F || {}), H = /* @__PURE__ */ ((e) => (e.ALT_TEXT = "altText", e.LINK = "blockLink", e.ALIGNMENT = "imageAlignment", e.ANCHOR_LINK_CONTAINER = "imageAnchorLinkContainerForm", e.BORDER_RADIUS = "imageBorderRadiusForm", e.IMAGE = "imageImageForm", e.EXTERNAL_INDENTS = "imageExternalIndents", e.MIME_TYPE = "imageMimeTypeForm", e.RESPONSIVE = "imageResponsive", e.ROLLOVER_IMAGE = "imageRolloverImageForm", e.ROLLOVER_SWITCHER = "imageRolloverSwitcherForm", e.SIZE = "imageSizeContainer", e))(H || {}), de = /* @__PURE__ */ ((e) => (e.BACKGROUND_COLOR = "containerBackgroundColorForm", e.BORDER_FORM = "containerBorderForm", e.BORDER_RADIUS = "containerBorderRadiusForm", e.EXTERNAL_INDENTS = "containerExternalIndentsForm", e.IMAGE_CONTAINER = "containerImageContainerForm", e.MIME_TYPE = "containerMimeTypeForm", e.DISPLAY_CONDITIONS = "displayConditions", e.HIDDEN_NODE = "containerHiddenNodeForm", e))(de || {}), n = {
246
+ }, v = "esd-block-button", U = "esd-block-text", w = "esd-block-image", q = "esd-structure", J = "esd-block-video", ee = "esd-block-social", te = "esd-block-banner", re = "esd-block-timer", ne = "esd-block-menu", ae = "esd-block-html", se = "esd-block-spacer", ie = "esd-container-frame", Ee = "esd-stripe", le = "esd-amp-form", I = ((e) => (e.BUTTON = `.${v}`, e.TEXT = `.${U}`, e.IMAGE = `.${w}`, e.STRUCTURE = `.${q}`, e.VIDEO = `.${J}`, e.SOCIAL = `.${ee}`, e.BANNER = `.${te}`, e.TIMER = `.${re}`, e.MENU = `.${ne}`, e.HTML = `.${ae}`, e.SPACER = `.${se}`, e.CONTAINER = `.${ie}`, e.STRIPE = `.${Ee}`, e.FORM = `.${le}`, e))(I || {}), oe = /* @__PURE__ */ ((e) => (e.BLOCK_IMAGE = "BLOCK_IMAGE", e.BLOCK_TEXT = "BLOCK_TEXT", e.BLOCK_BUTTON = "BLOCK_BUTTON", e.BLOCK_SPACER = "BLOCK_SPACER", e.BLOCK_VIDEO = "BLOCK_VIDEO", e.BLOCK_SOCIAL = "BLOCK_SOCIAL", e.BLOCK_BANNER = "BLOCK_BANNER", e.BLOCK_TIMER = "BLOCK_TIMER", e.BLOCK_MENU = "BLOCK_MENU", e.BLOCK_MENU_ITEM = "BLOCK_MENU_ITEM", e.BLOCK_HTML = "BLOCK_HTML", e.BLOCK_AMP_CAROUSEL = "BLOCK_AMP_CAROUSEL", e.BLOCK_AMP_ACCORDION = "BLOCK_AMP_ACCORDION", e.BLOCK_AMP_FORM = "BLOCK_AMP_FORM", e.CONTAINER = "CONTAINER", e.FORM_CONTAINER = "FORM_CONTAINER", e.STRUCTURE = "STRUCTURE", e.STRIPE = "STRIPE", e.EMPTY_CONTAINER = "EMPTY_CONTAINER", e.CUSTOM_BLOCK_LINK = "CUSTOM_BLOCK_LINK", e.CUSTOM_BLOCK_IMAGE = "CUSTOM_BLOCK_IMAGE", e.CUSTOM_BLOCK_TEXT = "CUSTOM_BLOCK_TEXT", e))(oe || {}), P = /* @__PURE__ */ ((e) => (e.ANCHOR_LINK_CONTAINER = "anchorLinkFormContainer", e.APPLY_CONDITION = "applyCondition", e.APPLY_CONDITION_SWITCHER = "applyConditionSwitcher", e.BACKGROUND_COLOR = "backgroundColor", e.BACKGROUND_IMAGE = "generalImageContainer", e.TEXT_COLOR = "textColor", e.TEXT_STYLE = "textStyle", e.TEXT_SIZE = "textSize", e.TEXT_LINE_SPACING = "textLineSpacing", e.TEXT_ALIGN = "textAlign", e.FIXED_HEIGHT_SWITCHER = "fixedHeightSwitcherForm", e.HIDDEN_NODE = "hiddenNode", e.SMART_BLOCK = "smartBlock", e.SYNCHRONIZED_MODULE = "synchronizedModuleForm", e.FONT_FAMILY = "generalFontFamilyForm", e.BLOCK_INTERNAL_INDENTS = "generalBlockInternalIndents", e.STRUCTURE_INTERNAL_INDENTS = "generalStructureInternalIndents", e))(P || {}), K = /* @__PURE__ */ ((e) => (e.ADJUST_TO_WIDTH = "adjustToWidth", e.ALIGNMENT = "buttonAlignment", e.BORDER = "buttonBorder", e.BORDER_RADIUS = "buttonBorderRadius", e.COLOR = "buttonColor", e.BUTTON_BLOCK_BACKGROUND_COLOR = "buttonBlockBackgroundColor", e.EXTERNAL_INDENTS = "buttonExternalIndents", e.FIXED_HEIGHT = "buttonFixedHeightForm", e.FONT_COLOR = "buttonFontColor", e.FONT_FAMILY = "buttonFontFamily", e.FONT_SIZE = "buttonFontSize", e.ICON = "buttonIconContainer", e.ICON_ALIGN = "buttonIconAlign", e.ICON_INDENT = "buttonIconIndent", e.ICON_WIDTH = "buttonIconWidth", e.IMAGE = "buttonImageForm", e.INTERNAL_INDENTS = "buttonInternalIndents", e.LINK = "buttonLink", e.MIME_TYPE = "buttonMimeTypeForm", e.SWITCHER_HOVERED_STYLES = "buttonSwitcherHoveredStylesForm", e.TEXT = "buttonText", e.TEXT_STYLE_AND_COLOR = "buttonTextStyleAndColorForm", e.HOVERED_BORDER_COLOR = "hoveredStyleBorderButtonForm", e.HOVERED_COLOR = "hoveredButtonColorForm", e.HOVERED_TEXT_COLOR = "hoveredButtonTextColorForm", e))(K || {}), F = /* @__PURE__ */ ((e) => (e.HIDDEN_NODE = "hiddenNodeText", e.PARAGRAPH_STYLE = "paragraphStyleForm", e.ALIGN = "textAlignmentForm", e.ANCHOR_CONTAINER = "textAnchorForm", e.FONT_BACKGROUND_COLOR = "textBlockFontBackgroundColor", e.TEXT_BLOCK_BACKGROUND_COLOR = "textBlockBackgroundColor", e.FONT_COLOR = "textBlockFontColor", e.TEXT_BLOCK_FONT_FAMILY = "textBlockFontFamily", e.FONT_FAMILY = "textFontFamily", e.FONT_SIZE = "textBlockFontSize", e.DIRECTION = "textBlockDirectionForm", e.INSERT_FORM = "textBlockInsertForm", e.LINK_DATA = "textBlockLinkDataForm", e.FORMAT = "textBlockTextFormatForm", e.FIXED_HEIGHT = "textFixedHeightForm", e.INTERNAL_INDENTS = "textInternalIndents", e.LINE_HEIGHT = "textLineHeightForm", e.LINKS_COLOR = "textLinksFontColorForm", e.MIME_TYPE = "textMimeTypeForm", e.NO_LINE_WRAPS = "textNoLineWrapsForm", e))(F || {}), H = /* @__PURE__ */ ((e) => (e.ALT_TEXT = "altText", e.LINK = "blockLink", e.ALIGNMENT = "imageAlignment", e.ANCHOR_LINK_CONTAINER = "imageAnchorLinkContainerForm", e.BORDER_RADIUS = "imageBorderRadiusForm", e.IMAGE = "imageImageForm", e.EXTERNAL_INDENTS = "imageExternalIndents", e.MIME_TYPE = "imageMimeTypeForm", e.RESPONSIVE = "imageResponsive", e.ROLLOVER_IMAGE = "imageRolloverImageForm", e.ROLLOVER_SWITCHER = "imageRolloverSwitcherForm", e.SIZE = "imageSizeContainer", e))(H || {}), de = /* @__PURE__ */ ((e) => (e.BACKGROUND_COLOR = "containerBackgroundColorForm", e.BORDER_FORM = "containerBorderForm", e.BORDER_RADIUS = "containerBorderRadiusForm", e.EXTERNAL_INDENTS = "containerExternalIndentsForm", e.IMAGE_CONTAINER = "containerImageContainerForm", e.MIME_TYPE = "containerMimeTypeForm", e.DISPLAY_CONDITIONS = "displayConditions", e.HIDDEN_NODE = "containerHiddenNodeForm", e))(de || {}), n = {
247
247
  BLOCK_BUTTON: K,
248
248
  BLOCK_TEXT: F,
249
249
  BLOCK_IMAGE: H,
250
- GENERAL: w
250
+ GENERAL: P
251
251
  }, ue = /* @__PURE__ */ ((e) => (e.SETTINGS = "settings", e.STYLES = "styles", e.DATA = "data", e))(ue || {}), E = {
252
252
  name: "name",
253
253
  disabled: "disabled"
@@ -309,7 +309,7 @@ var Z = {
309
309
  NESTED_CONTROL: _e,
310
310
  ORDERABLE: Le,
311
311
  ORDERABLE_ITEM: Ce
312
- }, Ae = /* @__PURE__ */ ((e) => (e.BUTTON = "UE-BUTTON", e.CHECKBOX = "UE-CHECKBOX", e.CHECK_BUTTONS = "UE-CHECK-BUTTONS", e.COLOR = "UE-COLOR", e.COUNTER = "UE-COUNTER", e.DATEPICKER = "UE-DATEPICKER", e.LABEL = "UE-LABEL", e.MESSAGE = "UE-MESSAGE", e.RADIO_BUTTONS = "UE-RADIO-BUTTONS", e.SELECTPICKER = "UE-SELECT", e.SWITCHER = "UE-SWITCHER", e.TEXT = "UE-TEXT", e.TEXTAREA = "UE-TEXTAREA", e.CHECK_ITEM = "UE-CHECK-ITEM", e.RADIO_ITEM = "UE-RADIO-ITEM", e.SELECT_ITEM = "UE-SELECT-ITEM", e.ICON = "UE-ICON", e.MERGETAGS = "UE-MERGETAGS", e.FONT_FAMILY_SELECT = "UE-FONT-FAMILY-SELECT", e.NESTED_CONTROL = "UE-NESTED-CONTROL", e.EXPANDABLE = "UE-EXPANDABLE", e.EXPANDABLE_HEADER = "UE-EXPANDABLE_HEADER", e.EXPANDABLE_CONTENT = "UE-EXPANDABLE_CONTENT", e.ORDERABLE = "UE-ORDERABLE", e.ORDERABLE_ITEM = "UE-ORDERABLE-ITEM", e.ORDERABLE_ICON = "UE-ORDERABLE-ICON", e.REPEATABLE = "UE-REPEATABLE", e))(Ae || {}), x = class {
312
+ }, Ae = /* @__PURE__ */ ((e) => (e.BUTTON = "UE-BUTTON", e.CHECKBOX = "UE-CHECKBOX", e.CHECK_BUTTONS = "UE-CHECK-BUTTONS", e.COLOR = "UE-COLOR", e.COUNTER = "UE-COUNTER", e.DATEPICKER = "UE-DATEPICKER", e.LABEL = "UE-LABEL", e.MESSAGE = "UE-MESSAGE", e.RADIO_BUTTONS = "UE-RADIO-BUTTONS", e.SELECTPICKER = "UE-SELECT", e.SWITCHER = "UE-SWITCHER", e.TEXT = "UE-TEXT", e.TEXTAREA = "UE-TEXTAREA", e.CHECK_ITEM = "UE-CHECK-ITEM", e.RADIO_ITEM = "UE-RADIO-ITEM", e.SELECT_ITEM = "UE-SELECT-ITEM", e.ICON = "UE-ICON", e.MERGETAGS = "UE-MERGETAGS", e.FONT_FAMILY_SELECT = "UE-FONT-FAMILY-SELECT", e.NESTED_CONTROL = "UE-NESTED-CONTROL", e.EXPANDABLE = "UE-EXPANDABLE", e.EXPANDABLE_HEADER = "UE-EXPANDABLE_HEADER", e.EXPANDABLE_CONTENT = "UE-EXPANDABLE_CONTENT", e.ORDERABLE = "UE-ORDERABLE", e.ORDERABLE_ITEM = "UE-ORDERABLE-ITEM", e.ORDERABLE_ICON = "UE-ORDERABLE-ICON", e.REPEATABLE = "UE-REPEATABLE", e))(Ae || {}), M = class {
313
313
  /**
314
314
  * @description returns map of nodes parent control operates on
315
315
  */
@@ -340,7 +340,7 @@ var Z = {
340
340
  isVisible(e) {
341
341
  return !0;
342
342
  }
343
- }, i = class extends x {
343
+ }, i = class extends M {
344
344
  getTargetNodes(e) {
345
345
  const t = e.querySelectorAll(I.BUTTON), r = e.asElement().hasClass(v) ? [e] : [];
346
346
  return t.length ? t : r;
@@ -525,9 +525,9 @@ var ze = k, Ne = class g extends a {
525
525
  }
526
526
  };
527
527
  Ne.REQUIRED_METHODS = ["getId", "getIcon", "getName", "getTemplate", "getTabIndex"];
528
- var G = class extends x {
528
+ var G = class extends M {
529
529
  getTargetNodes(e) {
530
- const t = e.querySelectorAll(I.IMAGE), r = e.asElement().hasClass(P) ? [e] : [];
530
+ const t = e.querySelectorAll(I.IMAGE), r = e.asElement().hasClass(w) ? [e] : [];
531
531
  return t.length ? t : r;
532
532
  }
533
533
  }, Ze = class extends G {
@@ -570,7 +570,7 @@ var qe = V, Je = class {
570
570
  const t = this.controlsIds.indexOf(e);
571
571
  t !== -1 && this.controlsIds.splice(t, 1);
572
572
  }
573
- }, l = class extends x {
573
+ }, l = class extends M {
574
574
  getTargetNodes(e) {
575
575
  const t = e.querySelectorAll(I.TEXT), r = e.asElement().hasClass(U) ? [e] : [];
576
576
  return t.length ? t : r;
@@ -580,30 +580,26 @@ var qe = V, Je = class {
580
580
  return n.GENERAL.TEXT_ALIGN;
581
581
  }
582
582
  }, tt = class extends l {
583
- getParentControlId() {
584
- return n.BLOCK_TEXT.TEXT_BLOCK_BACKGROUND_COLOR;
585
- }
586
- }, rt = class extends l {
587
583
  getParentControlId() {
588
584
  return n.GENERAL.TEXT_COLOR;
589
585
  }
590
- }, nt = class extends l {
586
+ }, rt = class extends l {
591
587
  getParentControlId() {
592
588
  return n.BLOCK_TEXT.FONT_FAMILY;
593
589
  }
594
- }, at = class extends l {
590
+ }, nt = class extends l {
595
591
  getParentControlId() {
596
592
  return n.GENERAL.TEXT_LINE_SPACING;
597
593
  }
598
- }, st = class extends l {
594
+ }, at = class extends l {
599
595
  getParentControlId() {
600
596
  return n.BLOCK_TEXT.INTERNAL_INDENTS;
601
597
  }
602
- }, it = class extends l {
598
+ }, st = class extends l {
603
599
  getParentControlId() {
604
600
  return n.GENERAL.TEXT_SIZE;
605
601
  }
606
- }, Et = class extends l {
602
+ }, it = class extends l {
607
603
  getParentControlId() {
608
604
  return n.GENERAL.TEXT_STYLE;
609
605
  }
@@ -668,7 +664,7 @@ var qe = V, Je = class {
668
664
  getGeneralPanelTabs() {
669
665
  return this.generalPanelTabs;
670
666
  }
671
- }, lt = class {
667
+ }, Et = class {
672
668
  constructor() {
673
669
  this.styles = [], this.uiElements = [], this.controls = [], this.contextActions = [], this.blocks = [], this.generalPanelTabs = [];
674
670
  }
@@ -808,7 +804,7 @@ var Be = class R extends a {
808
804
  }
809
805
  };
810
806
  Be.REQUIRED_METHODS = ["getCategoryName", "openExternalDisplayConditionsDialog"];
811
- var xe = class _ extends a {
807
+ var Me = class _ extends a {
812
808
  constructor() {
813
809
  super(_.REQUIRED_METHODS, _);
814
810
  }
@@ -816,8 +812,8 @@ var xe = class _ extends a {
816
812
  throw new Error("Method openImageLibrary() must be implemented by the subclass");
817
813
  }
818
814
  };
819
- xe.REQUIRED_METHODS = ["openImageLibrary"];
820
- var Me = class L extends a {
815
+ Me.REQUIRED_METHODS = ["openImageLibrary"];
816
+ var xe = class L extends a {
821
817
  constructor() {
822
818
  super(L.REQUIRED_METHODS, L);
823
819
  }
@@ -838,7 +834,7 @@ var Me = class L extends a {
838
834
  throw new Error("Method openImageLibraryTab() must be implemented by the subclass");
839
835
  }
840
836
  };
841
- Me.REQUIRED_METHODS = ["getName", "openImageLibraryTab"];
837
+ xe.REQUIRED_METHODS = ["getName", "openImageLibraryTab"];
842
838
  var ye = class C extends a {
843
839
  constructor() {
844
840
  super(C.REQUIRED_METHODS, C);
@@ -866,7 +862,7 @@ var p = class N extends a {
866
862
  }
867
863
  };
868
864
  p.REQUIRED_METHODS = ["registerIconsSvg"];
869
- var ot = p, dt = class {
865
+ var lt = p, ot = class {
870
866
  constructor(e) {
871
867
  this.key = e;
872
868
  }
@@ -935,7 +931,7 @@ var ot = p, dt = class {
935
931
  }
936
932
  };
937
933
  Q.REQUIRED_METHODS = ["onRender", "getId", "getTemplate"];
938
- var ut = Q, f = class S extends a {
934
+ var dt = Q, f = class S extends a {
939
935
  constructor() {
940
936
  super(S.REQUIRED_METHODS, S);
941
937
  }
@@ -944,14 +940,14 @@ var ut = Q, f = class S extends a {
944
940
  }
945
941
  };
946
942
  f.REQUIRED_METHODS = ["registerUiElements"];
947
- var It = f;
943
+ var ut = f;
948
944
  export {
949
- Pe as Block,
950
- we as BlockAttr,
945
+ we as Block,
946
+ Pe as BlockAttr,
951
947
  $ as BlockCompositionType,
952
948
  I as BlockSelector,
953
949
  oe as BlockType,
954
- x as BuiltInControl,
950
+ M as BuiltInControl,
955
951
  n as BuiltInControlTypes,
956
952
  He as ButtonAlignBuiltInControl,
957
953
  Xe as ButtonBackgroundColorBuiltInControl,
@@ -969,27 +965,26 @@ export {
969
965
  de as ContainerControls,
970
966
  ze as Control,
971
967
  De as Extension,
972
- lt as ExtensionBuilder,
973
- w as GeneralControls,
974
- ot as IconsRegistry,
968
+ Et as ExtensionBuilder,
969
+ P as GeneralControls,
970
+ lt as IconsRegistry,
975
971
  H as ImageControls,
976
972
  Ze as ImageMarginsBuiltInControl,
977
973
  je as ImageSizeBuiltInControl,
978
- dt as ModificationDescription,
974
+ ot as ModificationDescription,
979
975
  qe as SettingsPanelRegistry,
980
976
  Je as SettingsPanelTab,
981
977
  ue as SettingsTab,
982
978
  et as TextAlignBuiltInControl,
983
- tt as TextBlockBackgroundBuiltInControl,
984
- rt as TextColorBuiltInControl,
979
+ tt as TextColorBuiltInControl,
985
980
  F as TextControls,
986
- nt as TextFontFamilyBuiltInControl,
987
- at as TextLineSpacingBuiltInControl,
988
- st as TextPaddingsBuiltInControl,
989
- it as TextSizeBuiltInControl,
990
- Et as TextStyleBuiltInControl,
981
+ rt as TextFontFamilyBuiltInControl,
982
+ nt as TextLineSpacingBuiltInControl,
983
+ at as TextPaddingsBuiltInControl,
984
+ st as TextSizeBuiltInControl,
985
+ it as TextStyleBuiltInControl,
991
986
  Ke as UEAttr,
992
- ut as UIElement,
993
- It as UIElementTagRegistry,
987
+ dt as UIElement,
988
+ ut as UIElementTagRegistry,
994
989
  Ae as UIElementType
995
990
  };
@@ -1,4 +1,4 @@
1
- const o = { stripo: { version: "2.52.0" } }, s = {
1
+ const o = { stripo: { version: "2.54.0" } }, s = {
2
2
  guido: o
3
3
  };
4
4
  export {
@@ -116,7 +116,7 @@ export declare const EditorSchema: v.ObjectSchema<{
116
116
  /** Locale for the editor UI */
117
117
  readonly locale: v.OptionalSchema<v.StringSchema<undefined>, "en">;
118
118
  /** Path to translations object */
119
- readonly translationsPath: v.OptionalSchema<v.StringSchema<undefined>, "window.trans.en">;
119
+ readonly translationsPath: v.OptionalSchema<v.StringSchema<undefined>, "window.trans[Object.keys(window.trans)[0]]">;
120
120
  /** Migration date for template compatibility */
121
121
  readonly migrationDate: v.OptionalSchema<v.NumberSchema<undefined>, 1759696858>;
122
122
  /** Email header settings */
@@ -428,7 +428,7 @@ export declare const GuidoConfigSchema: v.ObjectSchema<{
428
428
  /** Locale for the editor UI */
429
429
  readonly locale: v.OptionalSchema<v.StringSchema<undefined>, "en">;
430
430
  /** Path to translations object */
431
- readonly translationsPath: v.OptionalSchema<v.StringSchema<undefined>, "window.trans.en">;
431
+ readonly translationsPath: v.OptionalSchema<v.StringSchema<undefined>, "window.trans[Object.keys(window.trans)[0]]">;
432
432
  /** Migration date for template compatibility */
433
433
  readonly migrationDate: v.OptionalSchema<v.NumberSchema<undefined>, 1759696858>;
434
434
  /** Email header settings */
@@ -7,22 +7,69 @@ export interface CardCompositionItem {
7
7
  visible: boolean;
8
8
  }
9
9
  export declare class RecommendationCardCompositionControl extends CommonControl {
10
- private currentComposition;
11
- private currentVisibility;
12
10
  getId(): string;
13
11
  getTemplate(): string;
14
12
  onRender(): void;
15
13
  onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
16
14
  /**
17
- * Initialize the composition order and visibility from the block or use defaults
15
+ * Creates the HTML content for an orderable item with label and toggle
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
18
24
  */
19
25
  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;
20
57
  /**
21
58
  * Apply the reordered composition to the block's HTML structure
59
+ * Updates the data-card-composition attribute and reorders product attributes
22
60
  */
23
61
  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;
24
70
  /**
25
71
  * Apply visibility changes to the block's HTML structure
72
+ * Updates display style and data-visibility attribute for all matching rows
26
73
  */
27
74
  private _applyVisibilityToBlock;
28
75
  }
@@ -1,3 +1,14 @@
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";
1
12
  /**
2
13
  * Block IDs used in the Recommendation Extension
3
14
  * These IDs are used in the esd-extension-block-id attribute to identify specific blocks
@@ -7,6 +18,8 @@ export declare enum RecommendationBlockId {
7
18
  NAME = "recommendation-block-name",
8
19
  PRICE = "recommendation-block-price",
9
20
  OLD_PRICE = "recommendation-block-old-price",
21
+ OMNIBUS_PRICE = "recommendation-block-omnibus-price",
22
+ OMNIBUS_DISCOUNT = "recommendation-block-omnibus-discount",
10
23
  IMAGE = "recommendation-block-image"
11
24
  }
12
25
  /**
@@ -32,6 +45,7 @@ export declare enum RecommendationControlId {
32
45
  NAME_PADDINGS = "recommendation-block-name-paddings-control",
33
46
  NAME_SIZE = "recommendation-block-name-size-control",
34
47
  NAME_STYLE = "recommendation-block-name-style-control",
48
+ NAME_TEXT_TRIM = "recommendation-block-name-text-trim-control",
35
49
  PRICE_ALIGN = "recommendation-block-price-align-control",
36
50
  PRICE_BACKGROUND = "recommendation-block-price-background-control",
37
51
  PRICE_COLOR = "recommendation-block-price-color-control",
@@ -46,6 +60,24 @@ export declare enum RecommendationControlId {
46
60
  OLD_PRICE_PADDINGS = "recommendation-block-old-price-paddings-control",
47
61
  OLD_PRICE_SIZE = "recommendation-block-old-price-size-control",
48
62
  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",
49
81
  IMAGE_SIZE = "recommendation-block-image-size-control",
50
82
  IMAGE_MARGINS = "recommendation-block-image-margins-control"
51
83
  }
@@ -17,8 +17,6 @@ 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;
22
20
  _onFilterSelectClick(): void;
23
21
  _onDataChange(item: string, value: string | number | string[]): void;
24
22
  /**
@@ -26,6 +24,11 @@ export declare class RecommendationBlockControl extends CommonControl {
26
24
  */
27
25
  _getCardComposition(): string[];
28
26
  _regenerateProductRows(): void;
27
+ /**
28
+ * Reapply spacing values after product regeneration
29
+ * This ensures spacing persists when products are regenerated
30
+ */
31
+ _reapplySpacing(): void;
29
32
  _debouncedRegenerateProductRows: import("@vueuse/shared").PromisifyFn<() => void>;
30
33
  _onCurrencyConfigChange(item: string, value: string | number): void;
31
34
  _onCurrencyChange(value: string): void;
@@ -0,0 +1,25 @@
1
+ import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
2
+ import { CommonControl } from '../../common-control';
3
+ export declare const CARD_BACKGROUND_COLOR_CONTROL_ID = "recommendation-card-background-color-control";
4
+ /**
5
+ * Control for managing recommendation card background color
6
+ * This control is displayed in the Styles tab
7
+ */
8
+ export declare class CardBackgroundColorControl extends CommonControl {
9
+ getId(): string;
10
+ getTemplate(): string;
11
+ onRender(): void;
12
+ onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
13
+ _setFormValues(): void;
14
+ /**
15
+ * Reads the current background color from the first product card wrapper
16
+ * @returns The background color value or 'transparent' if not found
17
+ */
18
+ _getCurrentCardBackgroundColor(): string;
19
+ /**
20
+ * Handles card background color changes
21
+ * Applies the color to all product card wrapper elements
22
+ */
23
+ _onCardBackgroundColorChange(color: string): void;
24
+ _listenToFormUpdates(): void;
25
+ }