@useinsider/guido 2.1.0-beta.425dfd0 → 2.1.0-beta.42f5dfa

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 (166) hide show
  1. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +15 -14
  2. package/dist/composables/useActionsApi.js +15 -13
  3. package/dist/composables/useHtmlValidator.js +106 -84
  4. package/dist/composables/useRecommendation.js +54 -21
  5. package/dist/config/compiler/recommendationCompilerRules.js +45 -39
  6. package/dist/config/compiler/utils/recommendationCompilerUtils.js +116 -0
  7. package/dist/config/migrator/itemsBlockMigrator.js +140 -123
  8. package/dist/config/migrator/recommendationMigrator.js +2 -2
  9. package/dist/enums/extensions/recommendationBlock.js +1 -1
  10. package/dist/enums/recommendation.js +16 -15
  11. package/dist/extensions/Blocks/Items/block.js +19 -28
  12. package/dist/extensions/Blocks/Items/controls/button/link.js +19 -31
  13. package/dist/extensions/Blocks/Items/controls/cardComposition.js +124 -85
  14. package/dist/extensions/Blocks/Items/controls/image/link.js +19 -31
  15. package/dist/extensions/Blocks/Items/controls/name/trimming.js +28 -40
  16. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +35 -47
  17. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +49 -54
  18. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +42 -51
  19. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +23 -36
  20. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +45 -57
  21. package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +42 -60
  22. package/dist/extensions/Blocks/Items/controls/settingsControl.js +189 -196
  23. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +0 -2
  24. package/dist/extensions/Blocks/Items/extension.js +8 -9
  25. package/dist/extensions/Blocks/Items/settingsPanel.js +10 -15
  26. package/dist/extensions/Blocks/Items/template.js +181 -175
  27. package/dist/extensions/Blocks/Items/utils/nodeConfigUtils.js +65 -65
  28. package/dist/extensions/Blocks/Recommendation/block.js +130 -9
  29. package/dist/extensions/Blocks/Recommendation/constants/blockIds.js +4 -0
  30. package/dist/extensions/Blocks/Recommendation/constants/controlIds.js +4 -0
  31. package/dist/extensions/Blocks/Recommendation/constants/defaultConfig.js +65 -0
  32. package/dist/extensions/Blocks/Recommendation/constants/layout.js +20 -0
  33. package/dist/extensions/Blocks/Recommendation/constants/selectors.js +19 -0
  34. package/dist/extensions/Blocks/Recommendation/controls/button/index.js +64 -0
  35. package/dist/extensions/Blocks/Recommendation/controls/cardBackground/index.js +80 -0
  36. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +232 -0
  37. package/dist/extensions/Blocks/Recommendation/controls/image/index.js +19 -0
  38. package/dist/extensions/Blocks/Recommendation/controls/layout/index.js +92 -0
  39. package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +102 -0
  40. package/dist/extensions/Blocks/Recommendation/controls/main/currency.js +209 -0
  41. package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +52 -0
  42. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +217 -0
  43. package/dist/extensions/Blocks/Recommendation/controls/main/locale.js +70 -0
  44. package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +110 -0
  45. package/dist/extensions/Blocks/Recommendation/controls/main/shuffle.js +67 -0
  46. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +286 -0
  47. package/dist/extensions/Blocks/Recommendation/controls/name/index.js +46 -0
  48. package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +108 -0
  49. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +44 -0
  50. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +48 -0
  51. package/dist/extensions/Blocks/Recommendation/controls/{omnibusDiscountTextAfterControl.js → omnibusDiscount/textAfter.js} +16 -14
  52. package/dist/extensions/Blocks/Recommendation/controls/{omnibusDiscountTextBeforeControl.js → omnibusDiscount/textBefore.js} +16 -14
  53. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +48 -0
  54. package/dist/extensions/Blocks/Recommendation/controls/{omnibusPriceTextAfterControl.js → omnibusPrice/textAfter.js} +16 -14
  55. package/dist/extensions/Blocks/Recommendation/controls/{omnibusPriceTextBeforeControl.js → omnibusPrice/textBefore.js} +14 -12
  56. package/dist/extensions/Blocks/Recommendation/controls/price/index.js +44 -0
  57. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +222 -0
  58. package/dist/extensions/Blocks/Recommendation/extension.js +40 -17
  59. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +19 -3
  60. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +13 -4
  61. package/dist/extensions/Blocks/Recommendation/services/configService.js +240 -0
  62. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +21 -10
  63. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +230 -193
  64. package/dist/extensions/Blocks/Recommendation/templates/grid/elementRenderer.js +233 -0
  65. package/dist/extensions/Blocks/Recommendation/templates/grid/migration.js +251 -0
  66. package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +69 -0
  67. package/dist/extensions/Blocks/Recommendation/templates/index.js +12 -0
  68. package/dist/extensions/Blocks/Recommendation/templates/list/elementRenderer.js +174 -0
  69. package/dist/extensions/Blocks/Recommendation/templates/list/template.js +73 -0
  70. package/dist/extensions/Blocks/Recommendation/templates/utils.js +122 -0
  71. package/dist/extensions/Blocks/Recommendation/types/nodeConfig.js +6 -0
  72. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +9 -9
  73. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +26 -15
  74. package/dist/extensions/Blocks/Recommendation/utils/priceFormatter.js +29 -0
  75. package/dist/extensions/Blocks/Recommendation/utils/tagName.js +46 -0
  76. package/dist/extensions/Blocks/common-control.js +91 -92
  77. package/dist/extensions/Blocks/controlFactories.js +125 -93
  78. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +223 -169
  79. package/dist/services/recommendationApi.js +10 -9
  80. package/dist/services/templateLibraryApi.js +16 -13
  81. package/dist/src/components/wrappers/WpDrawer.vue.d.ts +1 -1
  82. package/dist/src/composables/useRecommendation.d.ts +1 -0
  83. package/dist/src/config/compiler/utils/recommendationCompilerUtils.d.ts +17 -0
  84. package/dist/src/extensions/Blocks/Items/block.d.ts +0 -1
  85. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +0 -1
  86. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +5 -5
  87. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +0 -1
  88. package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +0 -1
  89. package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +0 -1
  90. package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +0 -1
  91. package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +0 -1
  92. package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +0 -1
  93. package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +0 -1
  94. package/dist/src/extensions/Blocks/Items/controls/price/singlePrice.d.ts +0 -5
  95. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +10 -12
  96. package/dist/src/extensions/Blocks/Items/utils/nodeConfigUtils.d.ts +2 -1
  97. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +67 -0
  98. package/dist/src/extensions/Blocks/Recommendation/constants/blockIds.d.ts +13 -0
  99. package/dist/src/extensions/Blocks/Recommendation/{constants.d.ts → constants/controlIds.d.ts} +0 -24
  100. package/dist/src/extensions/Blocks/Recommendation/constants/defaultConfig.d.ts +49 -0
  101. package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +13 -0
  102. package/dist/src/extensions/Blocks/Recommendation/constants/layout.d.ts +35 -0
  103. package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +31 -0
  104. package/dist/src/extensions/Blocks/Recommendation/controls/button/index.d.ts +143 -0
  105. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackground/index.d.ts +31 -0
  106. package/dist/src/extensions/Blocks/Recommendation/{cardCompositionControl.d.ts → controls/cardComposition/index.d.ts} +23 -3
  107. package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +35 -0
  108. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +21 -589
  109. package/dist/src/extensions/Blocks/Recommendation/controls/layout/index.d.ts +37 -0
  110. package/dist/src/extensions/Blocks/Recommendation/controls/main/algorithm.d.ts +29 -0
  111. package/dist/src/extensions/Blocks/Recommendation/controls/main/currency.d.ts +52 -0
  112. package/dist/src/extensions/Blocks/Recommendation/controls/main/filters.d.ts +22 -0
  113. package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +68 -0
  114. package/dist/src/extensions/Blocks/Recommendation/controls/main/locale.d.ts +24 -0
  115. package/dist/src/extensions/Blocks/Recommendation/controls/main/productLayout.d.ts +42 -0
  116. package/dist/src/extensions/Blocks/Recommendation/controls/main/shuffle.d.ts +23 -0
  117. package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.d.ts +214 -0
  118. package/dist/src/extensions/Blocks/Recommendation/controls/name/index.d.ts +97 -0
  119. package/dist/src/extensions/Blocks/Recommendation/controls/name/textTrim.d.ts +34 -0
  120. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/index.d.ts +95 -0
  121. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.d.ts +100 -0
  122. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.d.ts +15 -0
  123. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.d.ts +15 -0
  124. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/index.d.ts +100 -0
  125. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.d.ts +15 -0
  126. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.d.ts +15 -0
  127. package/dist/src/extensions/Blocks/Recommendation/controls/price/index.d.ts +95 -0
  128. package/dist/src/extensions/Blocks/Recommendation/controls/spacing/index.d.ts +83 -0
  129. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +9 -0
  130. package/dist/src/extensions/Blocks/Recommendation/services/configService.d.ts +151 -0
  131. package/dist/src/extensions/Blocks/Recommendation/services/index.d.ts +6 -0
  132. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +131 -468
  133. package/dist/src/extensions/Blocks/Recommendation/templates/grid/elementRenderer.d.ts +20 -0
  134. package/dist/src/extensions/Blocks/Recommendation/templates/{migrationTemplate.d.ts → grid/migration.d.ts} +11 -4
  135. package/dist/src/extensions/Blocks/Recommendation/templates/grid/template.d.ts +33 -0
  136. package/dist/src/extensions/Blocks/Recommendation/templates/index.d.ts +39 -0
  137. package/dist/src/extensions/Blocks/Recommendation/templates/list/elementRenderer.d.ts +8 -0
  138. package/dist/src/extensions/Blocks/Recommendation/templates/list/migration.d.ts +25 -0
  139. package/dist/src/extensions/Blocks/Recommendation/templates/list/template.d.ts +18 -0
  140. package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +57 -0
  141. package/dist/src/extensions/Blocks/Recommendation/types/index.d.ts +7 -0
  142. package/dist/src/extensions/Blocks/Recommendation/types/nodeConfig.d.ts +160 -0
  143. package/dist/src/extensions/Blocks/Recommendation/utils/priceFormatter.d.ts +33 -0
  144. package/dist/src/extensions/Blocks/Recommendation/utils/stylePreserver.d.ts +113 -0
  145. package/dist/src/extensions/Blocks/Recommendation/utils/tagName.d.ts +77 -0
  146. package/dist/src/extensions/Blocks/common-control.d.ts +4 -5
  147. package/dist/static/styles/customEditorStyle.css.js +25 -2
  148. package/dist/utils/pairProductVariables.js +57 -56
  149. package/dist/utils/templatePreparation.js +15 -14
  150. package/package.json +1 -1
  151. package/dist/extensions/Blocks/Items/store/items-block.js +0 -79
  152. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +0 -187
  153. package/dist/extensions/Blocks/Recommendation/constants.js +0 -13
  154. package/dist/extensions/Blocks/Recommendation/control.js +0 -336
  155. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +0 -68
  156. package/dist/extensions/Blocks/Recommendation/controls/index.js +0 -245
  157. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +0 -74
  158. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +0 -188
  159. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +0 -181
  160. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +0 -189
  161. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +0 -209
  162. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +0 -45
  163. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +0 -38
  164. package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +0 -16
  165. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +0 -16
  166. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +0 -52
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Old Price Element Controls
3
+ *
4
+ * Controls for styling the original/old price element in recommendation cards.
5
+ */
6
+ /**
7
+ * Grouped Old Price Controls
8
+ * Use this object for cleaner imports in extension.ts
9
+ */
10
+ export declare const OldPriceControls: {
11
+ readonly align: {
12
+ new (): {
13
+ getId(): string;
14
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
15
+ getParentControlId(): string;
16
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
17
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
18
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
19
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
20
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
21
+ };
22
+ };
23
+ readonly color: {
24
+ new (): {
25
+ getId(): string;
26
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
27
+ getParentControlId(): string;
28
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
29
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
30
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
31
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
32
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
33
+ };
34
+ };
35
+ readonly size: {
36
+ new (): {
37
+ getId(): string;
38
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
39
+ getParentControlId(): string;
40
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
41
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
42
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
43
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
44
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
45
+ };
46
+ };
47
+ readonly style: {
48
+ new (): {
49
+ getId(): string;
50
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
51
+ getParentControlId(): string;
52
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
53
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
54
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
55
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
56
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
57
+ };
58
+ };
59
+ readonly fontFamily: {
60
+ new (): {
61
+ getId(): string;
62
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
63
+ getParentControlId(): string;
64
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
65
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
66
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
67
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
68
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
69
+ };
70
+ };
71
+ readonly background: {
72
+ new (): {
73
+ getId(): string;
74
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
75
+ getParentControlId(): string;
76
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
77
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
78
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
79
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
80
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
81
+ };
82
+ };
83
+ readonly paddings: {
84
+ new (): {
85
+ getId(): string;
86
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
87
+ getParentControlId(): string;
88
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
89
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
90
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
91
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
92
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
93
+ };
94
+ };
95
+ };
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Omnibus Discount Element Controls
3
+ *
4
+ * Controls for styling the omnibus discount element in recommendation cards.
5
+ * Includes text before/after controls for compliance text.
6
+ */
7
+ import { OmnibusDiscountTextAfterControl } from './textAfter';
8
+ import { OmnibusDiscountTextBeforeControl } from './textBefore';
9
+ /**
10
+ * Grouped Omnibus Discount Controls
11
+ * Use this object for cleaner imports in extension.ts
12
+ */
13
+ export declare const OmnibusDiscountControls: {
14
+ readonly align: {
15
+ new (): {
16
+ getId(): string;
17
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
18
+ getParentControlId(): string;
19
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
20
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
21
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
22
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
23
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
24
+ };
25
+ };
26
+ readonly color: {
27
+ new (): {
28
+ getId(): string;
29
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
30
+ getParentControlId(): string;
31
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
32
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
33
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
34
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
35
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
36
+ };
37
+ };
38
+ readonly size: {
39
+ new (): {
40
+ getId(): string;
41
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
42
+ getParentControlId(): string;
43
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
44
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
45
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
46
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
47
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
48
+ };
49
+ };
50
+ readonly style: {
51
+ new (): {
52
+ getId(): string;
53
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
54
+ getParentControlId(): string;
55
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
56
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
57
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
58
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
59
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
60
+ };
61
+ };
62
+ readonly fontFamily: {
63
+ new (): {
64
+ getId(): string;
65
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
66
+ getParentControlId(): string;
67
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
68
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
69
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
70
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
71
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
72
+ };
73
+ };
74
+ readonly background: {
75
+ new (): {
76
+ getId(): string;
77
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
78
+ getParentControlId(): string;
79
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
80
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
81
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
82
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
83
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
84
+ };
85
+ };
86
+ readonly paddings: {
87
+ new (): {
88
+ getId(): string;
89
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
90
+ getParentControlId(): string;
91
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
92
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
93
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
94
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
95
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
96
+ };
97
+ };
98
+ readonly textBefore: typeof OmnibusDiscountTextBeforeControl;
99
+ readonly textAfter: typeof OmnibusDiscountTextAfterControl;
100
+ };
@@ -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,100 @@
1
+ /**
2
+ * Omnibus Price Element Controls
3
+ *
4
+ * Controls for styling the omnibus price element in recommendation cards.
5
+ * Includes text before/after controls for compliance text.
6
+ */
7
+ import { OmnibusPriceTextAfterControl } from './textAfter';
8
+ import { OmnibusPriceTextBeforeControl } from './textBefore';
9
+ /**
10
+ * Grouped Omnibus Price Controls
11
+ * Use this object for cleaner imports in extension.ts
12
+ */
13
+ export declare const OmnibusPriceControls: {
14
+ readonly align: {
15
+ new (): {
16
+ getId(): string;
17
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
18
+ getParentControlId(): string;
19
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
20
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
21
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
22
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
23
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
24
+ };
25
+ };
26
+ readonly color: {
27
+ new (): {
28
+ getId(): string;
29
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
30
+ getParentControlId(): string;
31
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
32
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
33
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
34
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
35
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
36
+ };
37
+ };
38
+ readonly size: {
39
+ new (): {
40
+ getId(): string;
41
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
42
+ getParentControlId(): string;
43
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
44
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
45
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
46
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
47
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
48
+ };
49
+ };
50
+ readonly style: {
51
+ new (): {
52
+ getId(): string;
53
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
54
+ getParentControlId(): string;
55
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
56
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
57
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
58
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
59
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
60
+ };
61
+ };
62
+ readonly fontFamily: {
63
+ new (): {
64
+ getId(): string;
65
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
66
+ getParentControlId(): string;
67
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
68
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
69
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
70
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
71
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
72
+ };
73
+ };
74
+ readonly background: {
75
+ new (): {
76
+ getId(): string;
77
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
78
+ getParentControlId(): string;
79
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
80
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
81
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
82
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
83
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
84
+ };
85
+ };
86
+ readonly paddings: {
87
+ new (): {
88
+ getId(): string;
89
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
90
+ getParentControlId(): string;
91
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
92
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
93
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
94
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
95
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
96
+ };
97
+ };
98
+ readonly textBefore: typeof OmnibusPriceTextBeforeControl;
99
+ readonly textAfter: typeof OmnibusPriceTextAfterControl;
100
+ };
@@ -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,95 @@
1
+ /**
2
+ * Price Element Controls
3
+ *
4
+ * Controls for styling the product price element in recommendation cards.
5
+ */
6
+ /**
7
+ * Grouped Price Controls
8
+ * Use this object for cleaner imports in extension.ts
9
+ */
10
+ export declare const PriceControls: {
11
+ readonly align: {
12
+ new (): {
13
+ getId(): string;
14
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
15
+ getParentControlId(): string;
16
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
17
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
18
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
19
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
20
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
21
+ };
22
+ };
23
+ readonly color: {
24
+ new (): {
25
+ getId(): string;
26
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
27
+ getParentControlId(): string;
28
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
29
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
30
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
31
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
32
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
33
+ };
34
+ };
35
+ readonly size: {
36
+ new (): {
37
+ getId(): string;
38
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
39
+ getParentControlId(): string;
40
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
41
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
42
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
43
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
44
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
45
+ };
46
+ };
47
+ readonly style: {
48
+ new (): {
49
+ getId(): string;
50
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
51
+ getParentControlId(): string;
52
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
53
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
54
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
55
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
56
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
57
+ };
58
+ };
59
+ readonly fontFamily: {
60
+ new (): {
61
+ getId(): string;
62
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
63
+ getParentControlId(): string;
64
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
65
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
66
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
67
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
68
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
69
+ };
70
+ };
71
+ readonly background: {
72
+ new (): {
73
+ getId(): string;
74
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
75
+ getParentControlId(): string;
76
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
77
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
78
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
79
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
80
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
81
+ };
82
+ };
83
+ readonly paddings: {
84
+ new (): {
85
+ getId(): string;
86
+ getTargetNodes(root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode[];
87
+ getParentControlId(): string;
88
+ api: import("@stripoinc/ui-editor-extensions").ControlApi;
89
+ getLabels(): import("@stripoinc/ui-editor-extensions").ControlLabels | undefined;
90
+ getModificationDescription(): import("@stripoinc/ui-editor-extensions").ModificationDescription | undefined;
91
+ getAdditionalModifications(_root: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): import("@stripoinc/ui-editor-extensions").TemplateModifier<import("@stripoinc/ui-editor-extensions").HtmlNodeModifier, import("@stripoinc/ui-editor-extensions").CssNodeModifier> | undefined;
92
+ isVisible(_node: import("@stripoinc/ui-editor-extensions").ImmutableHtmlNode): boolean;
93
+ };
94
+ };
95
+ };
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Spacing Control
3
+ *
4
+ * Manages spacing between product cards:
5
+ * - Column spacing: horizontal gap between cards in the same row
6
+ * - Row spacing: vertical gap between different rows
7
+ *
8
+ * Configuration is stored via node config (persists with template).
9
+ * Actual spacing is applied to DOM elements via inline styles.
10
+ */
11
+ import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
12
+ import { CommonControl } from '../../../common-control';
13
+ export declare const SPACING_CONTROL_ID = "recommendation-spacing-control";
14
+ /**
15
+ * Control for managing spacing between product cards
16
+ * - Column spacing: horizontal gap between cards in the same row
17
+ * - Row spacing: vertical gap between different rows
18
+ */
19
+ export declare class SpacingControl extends CommonControl {
20
+ private store;
21
+ private unsubscribeOrientation;
22
+ getId(): string;
23
+ getTemplate(): string;
24
+ onRender(): void;
25
+ onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
26
+ onDestroy(): void;
27
+ /**
28
+ * Updates column spacing visibility based on layout orientation
29
+ * Column spacing is hidden for list layout (products are stacked vertically)
30
+ * Reads from node config first, falls back to store then DOM
31
+ */
32
+ _updateColumnSpacingVisibility(): void;
33
+ /**
34
+ * Reads spacing values from node config first, falls back to DOM styles
35
+ */
36
+ _setFormValues(): void;
37
+ /**
38
+ * Gets stored column spacing from the first attribute row cell's padding.
39
+ * For grid layout: cells inside .recommendation-attribute-row have padding applied.
40
+ * For list layout: the parent of .product-card-wrapper has the padding.
41
+ * The padding is applied as "0 {halfSpacing}px", so we extract and multiply by 2.
42
+ */
43
+ _getStoredColumnSpacing(): number;
44
+ /**
45
+ * Gets stored row spacing from the first spacer element's height style
46
+ */
47
+ _getStoredRowSpacing(): number;
48
+ /**
49
+ * Handles column spacing changes.
50
+ * For grid layout: applies horizontal padding to all cells inside attribute rows.
51
+ * For list layout: applies padding to parent of product card wrappers.
52
+ */
53
+ _onColumnSpacingChange(spacing: number): void;
54
+ /**
55
+ * Handles row spacing changes
56
+ * Applies height to all spacer elements between product rows
57
+ */
58
+ _onRowSpacingChange(spacing: number): void;
59
+ /**
60
+ * Stores column spacing value in block data attribute
61
+ */
62
+ _storeColumnSpacing(spacing: number): void;
63
+ /**
64
+ * Stores row spacing value in block data attribute
65
+ */
66
+ _storeRowSpacing(spacing: number): void;
67
+ _listenToFormUpdates(): void;
68
+ /**
69
+ * Debounced version of _onColumnSpacingChange
70
+ * Prevents excessive DOM updates when user rapidly adjusts the counter
71
+ */
72
+ _debouncedOnColumnSpacingChange: import("@vueuse/shared").PromisifyFn<(spacing: number) => void>;
73
+ /**
74
+ * Debounced version of _onRowSpacingChange
75
+ * Prevents excessive DOM updates when user rapidly adjusts the counter
76
+ */
77
+ _debouncedOnRowSpacingChange: import("@vueuse/shared").PromisifyFn<(spacing: number) => void>;
78
+ /**
79
+ * Subscribe to store orientation changes
80
+ * Updates column spacing visibility when layout changes via the layout control
81
+ */
82
+ _subscribeToOrientationChanges(): void;
83
+ }
@@ -1,2 +1,11 @@
1
+ /**
2
+ * Recommendation Block Extension
3
+ *
4
+ * This extension provides a product recommendation block for email templates.
5
+ * Controls are organized by element type in the ./controls directory.
6
+ */
7
+ /**
8
+ * Build and export the Recommendation extension
9
+ */
1
10
  declare const _default: import("@stripoinc/ui-editor-extensions").Extension;
2
11
  export default _default;