@useinsider/guido 2.0.0-beta.e68b206 → 2.0.0-beta.e73ba15

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 (232) hide show
  1. package/dist/@types/config/schemas.js +39 -53
  2. package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue.js +2 -2
  3. package/dist/components/organisms/email-preview/mobile-preview/ContentView.vue.js +5 -5
  4. package/dist/components/organisms/header/LeftSlot.vue.js +12 -12
  5. package/dist/components/organisms/header/LeftSlot.vue2.js +6 -6
  6. package/dist/components/organisms/header/RightSlot.vue2.js +10 -10
  7. package/dist/composables/useConfig.js +27 -29
  8. package/dist/composables/useSave.js +11 -13
  9. package/dist/config/migrator/index.js +8 -9
  10. package/dist/config/migrator/recommendationMigrator.js +2 -2
  11. package/dist/extensions/Blocks/Items/block.js +40 -39
  12. package/dist/extensions/Blocks/Items/controls/button/link.js +29 -22
  13. package/dist/extensions/Blocks/Items/controls/cardComposition.js +59 -70
  14. package/dist/extensions/Blocks/Items/controls/image/link.js +30 -23
  15. package/dist/extensions/Blocks/Items/controls/name/trimming.js +25 -25
  16. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +17 -19
  17. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +29 -31
  18. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +36 -36
  19. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +19 -21
  20. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +27 -29
  21. package/dist/extensions/Blocks/Items/controls/settingsControl.js +144 -159
  22. package/dist/extensions/Blocks/Items/enums/controlEnums.js +2 -2
  23. package/dist/extensions/Blocks/Items/enums/productEnums.js +45 -43
  24. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +3 -4
  25. package/dist/extensions/Blocks/Items/extension.js +6 -7
  26. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +49 -58
  27. package/dist/extensions/Blocks/Items/layouts/vertical.html.js +59 -48
  28. package/dist/extensions/Blocks/Items/settingsPanel.js +26 -27
  29. package/dist/extensions/Blocks/Items/store/items-block.js +7 -11
  30. package/dist/extensions/Blocks/Items/template.js +129 -366
  31. package/dist/extensions/Blocks/Items/utils/configBlockUtils.js +17 -0
  32. package/dist/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.js +28 -0
  33. package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +76 -0
  34. package/dist/extensions/Blocks/Items/utils/updateAttributes.js +46 -0
  35. package/dist/extensions/Blocks/Recommendation/block.js +1 -1
  36. package/dist/extensions/Blocks/Recommendation/constants/blockIds.js +4 -0
  37. package/dist/extensions/Blocks/Recommendation/constants/controlIds.js +4 -0
  38. package/dist/extensions/Blocks/Recommendation/constants/layout.js +7 -0
  39. package/dist/extensions/Blocks/Recommendation/constants/selectors.js +11 -0
  40. package/dist/extensions/Blocks/Recommendation/controls/button/index.js +64 -0
  41. package/dist/extensions/Blocks/Recommendation/controls/cardBackground/index.js +100 -0
  42. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +243 -0
  43. package/dist/extensions/Blocks/Recommendation/controls/image/index.js +19 -0
  44. package/dist/extensions/Blocks/Recommendation/controls/layout/index.js +104 -0
  45. package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +86 -0
  46. package/dist/extensions/Blocks/Recommendation/controls/main/currency.js +134 -0
  47. package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +54 -0
  48. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +106 -0
  49. package/dist/extensions/Blocks/Recommendation/controls/main/locale.js +64 -0
  50. package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +124 -0
  51. package/dist/extensions/Blocks/Recommendation/controls/main/shuffle.js +60 -0
  52. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +112 -0
  53. package/dist/extensions/Blocks/Recommendation/controls/name/index.js +46 -0
  54. package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +76 -0
  55. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +44 -0
  56. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +48 -0
  57. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.js +73 -0
  58. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.js +73 -0
  59. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +48 -0
  60. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.js +73 -0
  61. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.js +73 -0
  62. package/dist/extensions/Blocks/Recommendation/controls/price/index.js +44 -0
  63. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +224 -0
  64. package/dist/extensions/Blocks/Recommendation/extension.js +40 -43
  65. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +5 -0
  66. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +128 -72
  67. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +22 -21
  68. package/dist/extensions/Blocks/Recommendation/templates/horizontal/elementRenderer.js +157 -0
  69. package/dist/extensions/Blocks/Recommendation/templates/horizontal/template.js +72 -0
  70. package/dist/extensions/Blocks/Recommendation/templates/index.js +12 -0
  71. package/dist/extensions/Blocks/Recommendation/templates/utils.js +173 -0
  72. package/dist/extensions/Blocks/Recommendation/templates/vertical/elementRenderer.js +186 -0
  73. package/dist/extensions/Blocks/Recommendation/templates/vertical/migration.js +251 -0
  74. package/dist/extensions/Blocks/Recommendation/templates/vertical/template.js +62 -0
  75. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +9 -9
  76. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +25 -0
  77. package/dist/extensions/Blocks/Unsubscribe/extension.js +9 -9
  78. package/dist/extensions/Blocks/common-control.js +30 -29
  79. package/dist/extensions/Blocks/controlFactories.js +130 -106
  80. package/dist/guido.css +1 -1
  81. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +116 -125
  82. package/dist/src/@types/config/index.d.ts +2 -2
  83. package/dist/src/@types/config/schemas.d.ts +0 -26
  84. package/dist/src/@types/config/types.d.ts +1 -7
  85. package/dist/src/composables/useConfig.d.ts +0 -6
  86. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +2 -0
  87. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +0 -9
  88. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +2 -0
  89. package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +1 -1
  90. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +4 -0
  91. package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +0 -1
  92. package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +26 -24
  93. package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +0 -1
  94. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +0 -2
  95. package/dist/src/extensions/Blocks/Items/template.d.ts +1 -22
  96. package/dist/src/extensions/Blocks/Items/utils/configBlockUtils.d.ts +23 -0
  97. package/dist/src/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.d.ts +32 -0
  98. package/dist/src/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.d.ts +50 -0
  99. package/dist/src/extensions/Blocks/Items/utils/updateAttributes.d.ts +8 -0
  100. package/dist/src/extensions/Blocks/Recommendation/constants/blockIds.d.ts +13 -0
  101. package/dist/src/extensions/Blocks/Recommendation/{constants.d.ts → constants/controlIds.d.ts} +19 -11
  102. package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +12 -0
  103. package/dist/src/extensions/Blocks/Recommendation/constants/layout.d.ts +17 -0
  104. package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +19 -0
  105. package/dist/src/extensions/Blocks/Recommendation/controls/button/index.d.ts +143 -0
  106. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackground/index.d.ts +41 -0
  107. package/dist/src/extensions/Blocks/Recommendation/controls/cardComposition/index.d.ts +95 -0
  108. package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +35 -0
  109. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +24 -0
  110. package/dist/src/extensions/Blocks/Recommendation/controls/layout/index.d.ts +34 -0
  111. package/dist/src/extensions/Blocks/Recommendation/controls/main/algorithm.d.ts +17 -0
  112. package/dist/src/extensions/Blocks/Recommendation/controls/main/currency.d.ts +16 -0
  113. package/dist/src/extensions/Blocks/Recommendation/controls/main/filters.d.ts +22 -0
  114. package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +54 -0
  115. package/dist/src/extensions/Blocks/Recommendation/controls/main/locale.d.ts +15 -0
  116. package/dist/src/extensions/Blocks/Recommendation/controls/main/productLayout.d.ts +40 -0
  117. package/dist/src/extensions/Blocks/Recommendation/controls/main/shuffle.d.ts +15 -0
  118. package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.d.ts +81 -0
  119. package/dist/src/extensions/Blocks/Recommendation/controls/name/index.d.ts +97 -0
  120. package/dist/src/extensions/Blocks/Recommendation/controls/name/textTrim.d.ts +16 -0
  121. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/index.d.ts +95 -0
  122. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.d.ts +100 -0
  123. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.d.ts +15 -0
  124. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.d.ts +15 -0
  125. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/index.d.ts +100 -0
  126. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.d.ts +15 -0
  127. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.d.ts +15 -0
  128. package/dist/src/extensions/Blocks/Recommendation/controls/price/index.d.ts +95 -0
  129. package/dist/src/extensions/Blocks/Recommendation/controls/spacing/index.d.ts +77 -0
  130. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +9 -0
  131. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +16 -16
  132. package/dist/src/extensions/Blocks/Recommendation/templates/horizontal/elementRenderer.d.ts +8 -0
  133. package/dist/src/extensions/Blocks/Recommendation/templates/horizontal/migration.d.ts +25 -0
  134. package/dist/src/extensions/Blocks/Recommendation/templates/horizontal/template.d.ts +18 -0
  135. package/dist/src/extensions/Blocks/Recommendation/templates/index.d.ts +39 -0
  136. package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +45 -0
  137. package/dist/src/extensions/Blocks/Recommendation/templates/vertical/elementRenderer.d.ts +7 -0
  138. package/dist/src/extensions/Blocks/Recommendation/templates/{migrationTemplate.d.ts → vertical/migration.d.ts} +11 -4
  139. package/dist/src/extensions/Blocks/Recommendation/templates/vertical/template.d.ts +33 -0
  140. package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +19 -0
  141. package/dist/src/extensions/Blocks/common-control.d.ts +10 -9
  142. package/dist/src/stores/config.d.ts +1 -147
  143. package/dist/static/styles/components/button.css.js +1 -1
  144. package/dist/static/styles/components/wide-panel.css.js +0 -4
  145. package/dist/static/styles/customEditorStyle.css.js +38 -2
  146. package/dist/stores/config.js +0 -7
  147. package/dist/utils/pairProductVariables.js +58 -61
  148. package/package.json +1 -1
  149. package/dist/config/migrator/itemsBlockMigrator.js +0 -342
  150. package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +0 -93
  151. package/dist/extensions/Blocks/Items/utils/nodeConfigUtils.js +0 -184
  152. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +0 -103
  153. package/dist/extensions/Blocks/Recommendation/constants.js +0 -5
  154. package/dist/extensions/Blocks/Recommendation/control.js +0 -306
  155. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
  156. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
  157. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
  158. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
  159. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
  160. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
  161. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
  162. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
  163. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
  164. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
  165. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
  166. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
  167. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
  168. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
  169. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
  170. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
  171. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
  172. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
  173. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
  174. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
  175. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
  176. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
  177. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
  178. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
  179. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
  180. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
  181. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
  182. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
  183. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
  184. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
  185. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
  186. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
  187. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
  188. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
  189. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +0 -160
  190. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +0 -152
  191. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +0 -180
  192. package/dist/src/config/migrator/itemsBlockMigrator.d.ts +0 -6
  193. package/dist/src/extensions/Blocks/Items/controls/price/singlePrice.d.ts +0 -18
  194. package/dist/src/extensions/Blocks/Items/utils/nodeConfigUtils.d.ts +0 -73
  195. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +0 -28
  196. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +0 -35
  197. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
  198. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
  199. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
  200. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
  201. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
  202. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
  203. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
  204. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
  205. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
  206. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
  207. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
  208. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
  209. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
  210. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
  211. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
  212. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
  213. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
  214. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
  215. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
  216. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
  217. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
  218. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
  219. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
  220. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
  221. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
  222. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
  223. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
  224. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
  225. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
  226. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
  227. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
  228. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
  229. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
  230. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
  231. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +0 -16
  232. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +0 -44
@@ -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,77 @@
1
+ import type { Orientation } from '@@/Types/recommendation';
2
+ import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
3
+ import { CommonControl } from '../../../common-control';
4
+ export declare const SPACING_CONTROL_ID = "recommendation-spacing-control";
5
+ /**
6
+ * Control for managing spacing between product cards
7
+ * - Column spacing: horizontal gap between cards in the same row
8
+ * - Row spacing: vertical gap between different rows
9
+ */
10
+ export declare class SpacingControl extends CommonControl {
11
+ private store;
12
+ private unsubscribeOrientation;
13
+ getId(): string;
14
+ getTemplate(): string;
15
+ onRender(): void;
16
+ onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
17
+ /**
18
+ * Gets the current layout orientation from the block's data attribute
19
+ */
20
+ _getCurrentLayout(): Orientation;
21
+ /**
22
+ * Updates column spacing visibility based on layout orientation
23
+ * Column spacing is hidden for horizontal layout (products are stacked vertically)
24
+ * Reads from store first for reliability, falls back to DOM
25
+ */
26
+ _updateColumnSpacingVisibility(): void;
27
+ /**
28
+ * Reads spacing values from data attributes or returns defaults
29
+ */
30
+ _setFormValues(): void;
31
+ /**
32
+ * Gets stored column spacing from the first attribute row cell's padding.
33
+ * For vertical layout: cells inside .recommendation-attribute-row have padding applied.
34
+ * For horizontal layout: the parent of .product-card-wrapper has the padding.
35
+ * The padding is applied as "0 {halfSpacing}px", so we extract and multiply by 2.
36
+ */
37
+ _getStoredColumnSpacing(): number;
38
+ /**
39
+ * Gets stored row spacing from the first spacer element's height style
40
+ */
41
+ _getStoredRowSpacing(): number;
42
+ /**
43
+ * Handles column spacing changes.
44
+ * For vertical layout: applies horizontal padding to all cells inside attribute rows.
45
+ * For horizontal layout: applies padding to parent of product card wrappers.
46
+ */
47
+ _onColumnSpacingChange(spacing: number): void;
48
+ /**
49
+ * Handles row spacing changes
50
+ * Applies height to all spacer elements between product rows
51
+ */
52
+ _onRowSpacingChange(spacing: number): void;
53
+ /**
54
+ * Stores column spacing value in block data attribute
55
+ */
56
+ _storeColumnSpacing(spacing: number): void;
57
+ /**
58
+ * Stores row spacing value in block data attribute
59
+ */
60
+ _storeRowSpacing(spacing: number): void;
61
+ _listenToFormUpdates(): void;
62
+ /**
63
+ * Debounced version of _onColumnSpacingChange
64
+ * Prevents excessive DOM updates when user rapidly adjusts the counter
65
+ */
66
+ _debouncedOnColumnSpacingChange: import("@vueuse/shared").PromisifyFn<(spacing: number) => void>;
67
+ /**
68
+ * Debounced version of _onRowSpacingChange
69
+ * Prevents excessive DOM updates when user rapidly adjusts the counter
70
+ */
71
+ _debouncedOnRowSpacingChange: import("@vueuse/shared").PromisifyFn<(spacing: number) => void>;
72
+ /**
73
+ * Subscribe to store orientation changes
74
+ * Updates column spacing visibility when layout changes via the layout control
75
+ */
76
+ _subscribeToOrientationChanges(): void;
77
+ }
@@ -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;
@@ -18,8 +18,8 @@ interface StoreState {
18
18
  orientation: Orientation;
19
19
  productIds: string[];
20
20
  recommendedProducts: [];
21
- sendProductRequestFlag: false;
22
- shuffleProducts: false;
21
+ sendProductRequestFlag: boolean;
22
+ shuffleProducts: boolean;
23
23
  strategy: string;
24
24
  textTrimming: boolean;
25
25
  unresponsive: boolean;
@@ -65,8 +65,8 @@ export declare const useRecommendationExtensionStore: import("pinia").StoreDefin
65
65
  orientation: Orientation;
66
66
  productIds: string[];
67
67
  recommendedProducts: [];
68
- sendProductRequestFlag: false;
69
- shuffleProducts: false;
68
+ sendProductRequestFlag: boolean;
69
+ shuffleProducts: boolean;
70
70
  strategy: string;
71
71
  textTrimming: boolean;
72
72
  unresponsive: boolean;
@@ -134,8 +134,8 @@ export declare const useRecommendationExtensionStore: import("pinia").StoreDefin
134
134
  orientation: Orientation;
135
135
  productIds: string[];
136
136
  recommendedProducts: [];
137
- sendProductRequestFlag: false;
138
- shuffleProducts: false;
137
+ sendProductRequestFlag: boolean;
138
+ shuffleProducts: boolean;
139
139
  strategy: string;
140
140
  textTrimming: boolean;
141
141
  unresponsive: boolean;
@@ -203,8 +203,8 @@ export declare const useRecommendationExtensionStore: import("pinia").StoreDefin
203
203
  orientation: Orientation;
204
204
  productIds: string[];
205
205
  recommendedProducts: [];
206
- sendProductRequestFlag: false;
207
- shuffleProducts: false;
206
+ sendProductRequestFlag: boolean;
207
+ shuffleProducts: boolean;
208
208
  strategy: string;
209
209
  textTrimming: boolean;
210
210
  unresponsive: boolean;
@@ -275,8 +275,8 @@ export declare const useRecommendationExtensionStore: import("pinia").StoreDefin
275
275
  orientation: Orientation;
276
276
  productIds: string[];
277
277
  recommendedProducts: [];
278
- sendProductRequestFlag: false;
279
- shuffleProducts: false;
278
+ sendProductRequestFlag: boolean;
279
+ shuffleProducts: boolean;
280
280
  strategy: string;
281
281
  textTrimming: boolean;
282
282
  unresponsive: boolean;
@@ -347,8 +347,8 @@ export declare const useRecommendationExtensionStore: import("pinia").StoreDefin
347
347
  orientation: Orientation;
348
348
  productIds: string[];
349
349
  recommendedProducts: [];
350
- sendProductRequestFlag: false;
351
- shuffleProducts: false;
350
+ sendProductRequestFlag: boolean;
351
+ shuffleProducts: boolean;
352
352
  strategy: string;
353
353
  textTrimming: boolean;
354
354
  unresponsive: boolean;
@@ -419,8 +419,8 @@ export declare const useRecommendationExtensionStore: import("pinia").StoreDefin
419
419
  orientation: Orientation;
420
420
  productIds: string[];
421
421
  recommendedProducts: [];
422
- sendProductRequestFlag: false;
423
- shuffleProducts: false;
422
+ sendProductRequestFlag: boolean;
423
+ shuffleProducts: boolean;
424
424
  strategy: string;
425
425
  textTrimming: boolean;
426
426
  unresponsive: boolean;
@@ -492,8 +492,8 @@ export declare const useRecommendationExtensionStore: import("pinia").StoreDefin
492
492
  orientation: Orientation;
493
493
  productIds: string[];
494
494
  recommendedProducts: [];
495
- sendProductRequestFlag: false;
496
- shuffleProducts: false;
495
+ sendProductRequestFlag: boolean;
496
+ shuffleProducts: boolean;
497
497
  strategy: string;
498
498
  textTrimming: boolean;
499
499
  unresponsive: boolean;