@useinsider/guido 2.0.0-beta.061e9c9 → 2.0.0-beta.0941bcd

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 (192) hide show
  1. package/dist/@types/config/schemas.js +53 -39
  2. package/dist/components/organisms/email-preview/PreviewContainer.vue.js +3 -3
  3. package/dist/components/organisms/email-preview/amp/AmpErrorModal.vue.js +6 -6
  4. package/dist/components/organisms/email-preview/amp/AmpErrorModal.vue2.js +17 -13
  5. package/dist/components/organisms/email-preview/amp/AmpToggle.vue.js +6 -6
  6. package/dist/components/organisms/email-preview/amp/AmpToggle.vue2.js +14 -12
  7. package/dist/components/organisms/email-preview/desktop-preview/DesktopBrowserHeader.vue.js +18 -0
  8. package/dist/components/organisms/email-preview/desktop-preview/DesktopBrowserHeader.vue2.js +15 -0
  9. package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue.js +10 -14
  10. package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue2.js +14 -22
  11. package/dist/components/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.js +3 -3
  12. package/dist/components/organisms/email-preview/mobile-preview/ContentView.vue.js +11 -10
  13. package/dist/components/organisms/email-preview/mobile-preview/InboxView.vue.js +12 -10
  14. package/dist/components/organisms/email-preview/mobile-preview/MobilePreview.vue.js +11 -10
  15. package/dist/components/organisms/email-preview/mobile-preview/MobilePreview.vue2.js +15 -14
  16. package/dist/components/organisms/header/EditorActions.vue.js +21 -0
  17. package/dist/components/organisms/header/EditorActions.vue2.js +41 -0
  18. package/dist/components/organisms/header/EditorToolbar.vue.js +18 -0
  19. package/dist/components/organisms/header/EditorToolbar.vue2.js +17 -0
  20. package/dist/components/organisms/header/HeaderWrapper.vue.js +6 -5
  21. package/dist/components/organisms/header/LeftSlot.vue.js +11 -11
  22. package/dist/components/organisms/header/LeftSlot.vue2.js +11 -12
  23. package/dist/components/organisms/header/MiddleSlot.vue.js +7 -7
  24. package/dist/components/organisms/header/MiddleSlot.vue2.js +11 -15
  25. package/dist/components/organisms/header/RightSlot.vue.js +11 -14
  26. package/dist/components/organisms/header/RightSlot.vue2.js +13 -30
  27. package/dist/components/organisms/header/version-history/VersionHistory.vue.js +5 -5
  28. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +15 -15
  29. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.js +1 -1
  30. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue2.js +20 -19
  31. package/dist/composables/useActionsApi.js +33 -30
  32. package/dist/composables/useConfig.js +29 -27
  33. package/dist/composables/useSave.js +13 -11
  34. package/dist/config/migrator/recommendationMigrator.js +2 -2
  35. package/dist/enums/academy.js +8 -0
  36. package/dist/enums/onboarding.js +1 -2
  37. package/dist/enums/unsubscribe.js +20 -21
  38. package/dist/extensions/Blocks/Items/controls/cardComposition.js +13 -4
  39. package/dist/extensions/Blocks/Recommendation/block.js +40 -6
  40. package/dist/extensions/Blocks/Recommendation/constants/blockIds.js +4 -0
  41. package/dist/extensions/Blocks/Recommendation/constants/controlIds.js +4 -0
  42. package/dist/extensions/Blocks/Recommendation/constants/defaultConfig.js +64 -0
  43. package/dist/extensions/Blocks/Recommendation/constants/layout.js +20 -0
  44. package/dist/extensions/Blocks/Recommendation/constants/selectors.js +19 -0
  45. package/dist/extensions/Blocks/Recommendation/controls/button/index.js +64 -0
  46. package/dist/extensions/Blocks/Recommendation/controls/cardBackground/index.js +80 -0
  47. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +232 -0
  48. package/dist/extensions/Blocks/Recommendation/controls/image/index.js +19 -0
  49. package/dist/extensions/Blocks/Recommendation/controls/layout/index.js +96 -0
  50. package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +110 -0
  51. package/dist/extensions/Blocks/Recommendation/controls/main/currency.js +204 -0
  52. package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +54 -0
  53. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +205 -0
  54. package/dist/extensions/Blocks/Recommendation/controls/main/locale.js +74 -0
  55. package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +118 -0
  56. package/dist/extensions/Blocks/Recommendation/controls/main/shuffle.js +71 -0
  57. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +286 -0
  58. package/dist/extensions/Blocks/Recommendation/controls/name/index.js +46 -0
  59. package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +76 -0
  60. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +44 -0
  61. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +48 -0
  62. package/dist/extensions/Blocks/Recommendation/controls/{omnibusDiscountTextAfterControl.js → omnibusDiscount/textAfter.js} +16 -14
  63. package/dist/extensions/Blocks/Recommendation/controls/{omnibusDiscountTextBeforeControl.js → omnibusDiscount/textBefore.js} +16 -14
  64. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +48 -0
  65. package/dist/extensions/Blocks/Recommendation/controls/{omnibusPriceTextAfterControl.js → omnibusPrice/textAfter.js} +16 -14
  66. package/dist/extensions/Blocks/Recommendation/controls/{omnibusPriceTextBeforeControl.js → omnibusPrice/textBefore.js} +14 -12
  67. package/dist/extensions/Blocks/Recommendation/controls/price/index.js +44 -0
  68. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +222 -0
  69. package/dist/extensions/Blocks/Recommendation/extension.js +40 -19
  70. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +19 -3
  71. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +13 -4
  72. package/dist/extensions/Blocks/Recommendation/services/configService.js +239 -0
  73. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +46 -43
  74. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +41 -36
  75. package/dist/extensions/Blocks/Recommendation/templates/grid/elementRenderer.js +233 -0
  76. package/dist/extensions/Blocks/Recommendation/templates/grid/migration.js +251 -0
  77. package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +69 -0
  78. package/dist/extensions/Blocks/Recommendation/templates/index.js +12 -0
  79. package/dist/extensions/Blocks/Recommendation/templates/list/elementRenderer.js +174 -0
  80. package/dist/extensions/Blocks/Recommendation/templates/list/template.js +73 -0
  81. package/dist/extensions/Blocks/Recommendation/templates/utils.js +121 -0
  82. package/dist/extensions/Blocks/Recommendation/types/nodeConfig.js +6 -0
  83. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +9 -9
  84. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +27 -16
  85. package/dist/extensions/Blocks/Recommendation/utils/priceFormatter.js +29 -0
  86. package/dist/extensions/Blocks/Recommendation/utils/tagName.js +46 -0
  87. package/dist/extensions/Blocks/Unsubscribe/extension.js +9 -9
  88. package/dist/extensions/Blocks/common-control.js +6 -7
  89. package/dist/extensions/Blocks/controlFactories.js +156 -122
  90. package/dist/guido.css +1 -1
  91. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +423 -291
  92. package/dist/package.json.js +1 -1
  93. package/dist/services/recommendationApi.js +10 -9
  94. package/dist/src/@types/config/index.d.ts +2 -2
  95. package/dist/src/@types/config/schemas.d.ts +26 -0
  96. package/dist/src/@types/config/types.d.ts +7 -1
  97. package/dist/src/components/organisms/email-preview/desktop-preview/DesktopBrowserHeader.vue.d.ts +2 -0
  98. package/dist/src/components/organisms/header/EditorActions.vue.d.ts +4 -0
  99. package/dist/src/components/organisms/header/EditorToolbar.vue.d.ts +2 -0
  100. package/dist/src/components/organisms/header/RightSlot.vue.d.ts +1 -1
  101. package/dist/src/components/wrappers/WpDrawer.vue.d.ts +1 -1
  102. package/dist/src/composables/useActionsApi.d.ts +1 -0
  103. package/dist/src/composables/useConfig.d.ts +6 -0
  104. package/dist/src/enums/academy.d.ts +12 -0
  105. package/dist/src/enums/onboarding.d.ts +0 -1
  106. package/dist/src/enums/unsubscribe.d.ts +0 -1
  107. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +34 -0
  108. package/dist/src/extensions/Blocks/Recommendation/constants/blockIds.d.ts +13 -0
  109. package/dist/src/extensions/Blocks/Recommendation/{constants.d.ts → constants/controlIds.d.ts} +1 -33
  110. package/dist/src/extensions/Blocks/Recommendation/constants/defaultConfig.d.ts +49 -0
  111. package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +13 -0
  112. package/dist/src/extensions/Blocks/Recommendation/constants/layout.d.ts +35 -0
  113. package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +31 -0
  114. package/dist/src/extensions/Blocks/Recommendation/controls/button/index.d.ts +143 -0
  115. package/dist/src/extensions/Blocks/Recommendation/controls/{cardBackgroundColorControl.d.ts → cardBackground/index.d.ts} +9 -3
  116. package/dist/src/extensions/Blocks/Recommendation/{cardCompositionControl.d.ts → controls/cardComposition/index.d.ts} +23 -7
  117. package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +35 -0
  118. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +21 -651
  119. package/dist/src/extensions/Blocks/Recommendation/controls/layout/index.d.ts +37 -0
  120. package/dist/src/extensions/Blocks/Recommendation/controls/main/algorithm.d.ts +29 -0
  121. package/dist/src/extensions/Blocks/Recommendation/controls/main/currency.d.ts +45 -0
  122. package/dist/src/extensions/Blocks/Recommendation/controls/main/filters.d.ts +22 -0
  123. package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +57 -0
  124. package/dist/src/extensions/Blocks/Recommendation/controls/main/locale.d.ts +24 -0
  125. package/dist/src/extensions/Blocks/Recommendation/controls/main/productLayout.d.ts +42 -0
  126. package/dist/src/extensions/Blocks/Recommendation/controls/main/shuffle.d.ts +23 -0
  127. package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.d.ts +214 -0
  128. package/dist/src/extensions/Blocks/Recommendation/controls/name/index.d.ts +97 -0
  129. package/dist/src/extensions/Blocks/Recommendation/controls/{nameTextTrimControl.d.ts → name/textTrim.d.ts} +1 -1
  130. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/index.d.ts +95 -0
  131. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.d.ts +100 -0
  132. package/dist/src/extensions/Blocks/Recommendation/controls/{omnibusDiscountTextAfterControl.d.ts → omnibusDiscount/textAfter.d.ts} +1 -1
  133. package/dist/src/extensions/Blocks/Recommendation/controls/{omnibusDiscountTextBeforeControl.d.ts → omnibusDiscount/textBefore.d.ts} +1 -1
  134. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/index.d.ts +100 -0
  135. package/dist/src/extensions/Blocks/Recommendation/controls/{omnibusPriceTextAfterControl.d.ts → omnibusPrice/textAfter.d.ts} +1 -1
  136. package/dist/src/extensions/Blocks/Recommendation/controls/{omnibusPriceTextBeforeControl.d.ts → omnibusPrice/textBefore.d.ts} +1 -1
  137. package/dist/src/extensions/Blocks/Recommendation/controls/price/index.d.ts +95 -0
  138. package/dist/src/extensions/Blocks/Recommendation/controls/{spacingControl.d.ts → spacing/index.d.ts} +33 -10
  139. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +9 -0
  140. package/dist/src/extensions/Blocks/Recommendation/services/configService.d.ts +151 -0
  141. package/dist/src/extensions/Blocks/Recommendation/services/index.d.ts +6 -0
  142. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +17 -16
  143. package/dist/src/extensions/Blocks/Recommendation/templates/grid/elementRenderer.d.ts +20 -0
  144. package/dist/src/extensions/Blocks/Recommendation/templates/grid/migration.d.ts +23 -0
  145. package/dist/src/extensions/Blocks/Recommendation/templates/grid/template.d.ts +33 -0
  146. package/dist/src/extensions/Blocks/Recommendation/templates/index.d.ts +39 -0
  147. package/dist/src/extensions/Blocks/Recommendation/templates/list/elementRenderer.d.ts +8 -0
  148. package/dist/src/extensions/Blocks/Recommendation/templates/list/migration.d.ts +25 -0
  149. package/dist/src/extensions/Blocks/Recommendation/templates/list/template.d.ts +18 -0
  150. package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +54 -0
  151. package/dist/src/extensions/Blocks/Recommendation/types/index.d.ts +7 -0
  152. package/dist/src/extensions/Blocks/Recommendation/types/nodeConfig.d.ts +154 -0
  153. package/dist/src/extensions/Blocks/Recommendation/utils/priceFormatter.d.ts +33 -0
  154. package/dist/src/extensions/Blocks/Recommendation/utils/stylePreserver.d.ts +113 -0
  155. package/dist/src/extensions/Blocks/Recommendation/utils/tagName.d.ts +77 -0
  156. package/dist/src/extensions/Blocks/common-control.d.ts +1 -1
  157. package/dist/src/stores/config.d.ts +147 -1
  158. package/dist/src/stores/editor.d.ts +21 -0
  159. package/dist/static/assets/desktop/desktop-mockup-center.svg.js +4 -0
  160. package/dist/static/assets/desktop/desktop-mockup-left.svg.js +4 -0
  161. package/dist/static/assets/desktop/desktop-mockup-right.svg.js +4 -0
  162. package/dist/static/assets/mobile/email-mockup.svg.js +4 -0
  163. package/dist/static/assets/mobile/inbox-mockup.svg.js +4 -0
  164. package/dist/static/styles/components/button.css.js +1 -1
  165. package/dist/static/styles/components/wide-panel.css.js +1 -1
  166. package/dist/static/styles/customEditorStyle.css.js +25 -2
  167. package/dist/stores/config.js +7 -0
  168. package/dist/stores/editor.js +1 -0
  169. package/dist/utils/templatePreparation.js +17 -17
  170. package/package.json +3 -3
  171. package/dist/components/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue.js +0 -17
  172. package/dist/components/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue2.js +0 -20
  173. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +0 -193
  174. package/dist/extensions/Blocks/Recommendation/constants.js +0 -14
  175. package/dist/extensions/Blocks/Recommendation/control.js +0 -321
  176. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +0 -68
  177. package/dist/extensions/Blocks/Recommendation/controls/index.js +0 -272
  178. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +0 -74
  179. package/dist/extensions/Blocks/Recommendation/controls/priceHideControl.js +0 -60
  180. package/dist/extensions/Blocks/Recommendation/controls/priceInlineLayoutControl.js +0 -160
  181. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +0 -188
  182. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +0 -184
  183. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +0 -189
  184. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +0 -209
  185. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +0 -38
  186. package/dist/src/extensions/Blocks/Recommendation/controls/priceHideControl.d.ts +0 -16
  187. package/dist/src/extensions/Blocks/Recommendation/controls/priceInlineLayoutControl.d.ts +0 -50
  188. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +0 -16
  189. package/dist/src/extensions/Blocks/Recommendation/templates/migrationTemplate.d.ts +0 -16
  190. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +0 -52
  191. package/dist/static/assets/inbox-mockup.svg.js +0 -4
  192. package/dist/static/assets/phone-mockup.svg.js +0 -4
@@ -1,7 +1,7 @@
1
1
  import { useToaster as w } from "./useToaster.js";
2
- const S = () => {
3
- const { handleError: l } = w(), s = (t = {}) => new Promise((e, i) => {
4
- const n = { ...{
2
+ const v = () => {
3
+ const { handleError: l } = w(), r = (t = {}) => new Promise((e, a) => {
4
+ const o = { ...{
5
5
  minimize: !0,
6
6
  utmEntity: {
7
7
  utmSource: "",
@@ -20,29 +20,29 @@ const S = () => {
20
20
  forceAmp: !1,
21
21
  resetDataSavedFlag: !1,
22
22
  disableLineHeightsReplace: !0
23
- }, ...t }, m = {
24
- callback: (o, p, d, c, u) => {
25
- o ? i(o) : e({
23
+ }, ...t }, s = {
24
+ callback: (n, p, d, c, u) => {
25
+ n ? a(n) : e({
26
26
  html: p,
27
27
  ampHtml: d,
28
28
  ampErrors: c,
29
29
  displayConditions: u
30
30
  });
31
31
  },
32
- ...n
32
+ ...o
33
33
  };
34
- window.StripoEditorApi.actionsApi.compileEmail(m);
34
+ window.StripoEditorApi.actionsApi.compileEmail(s);
35
35
  });
36
36
  return {
37
- getCompiledEmail: s,
37
+ getCompiledEmail: r,
38
38
  getTemplateData: () => new Promise((t) => {
39
- const e = ({ html: i, css: a, width: n, height: r, utmParams: m, syncModulesIds: o }) => t({
40
- html: i,
41
- css: a,
42
- width: n,
43
- height: r,
44
- utmParams: m,
45
- syncModulesIds: o
39
+ const e = ({ html: a, css: i, width: o, height: m, utmParams: s, syncModulesIds: n }) => t({
40
+ html: a,
41
+ css: i,
42
+ width: o,
43
+ height: m,
44
+ utmParams: s,
45
+ syncModulesIds: n
46
46
  });
47
47
  window.StripoEditorApi.actionsApi.getTemplateData(e);
48
48
  }),
@@ -53,15 +53,15 @@ const S = () => {
53
53
  try {
54
54
  const {
55
55
  html: e,
56
- displayConditions: i,
57
- ampHtml: a = "",
58
- ampErrors: n = []
59
- } = await s({ minimize: !1, resetDataSavedFlag: !1, ...t });
56
+ displayConditions: a,
57
+ ampHtml: i = "",
58
+ ampErrors: o = []
59
+ } = await r({ minimize: !1, resetDataSavedFlag: !1, ...t });
60
60
  return {
61
61
  html: e,
62
- ampHtml: a,
63
- ampErrors: n,
64
- displayConditions: i
62
+ ampHtml: i,
63
+ ampErrors: o,
64
+ displayConditions: a
65
65
  };
66
66
  } catch (e) {
67
67
  return l(e, "Error loading preview"), {
@@ -73,24 +73,27 @@ const S = () => {
73
73
  }
74
74
  },
75
75
  updateTimerInClonedTemplate: () => new Promise((t) => {
76
- var e, i;
77
- if (typeof ((i = (e = window.StripoEditorApi) == null ? void 0 : e.actionsApi) == null ? void 0 : i.updateTimerInClonedTemplate) != "function") {
76
+ var e, a;
77
+ if (typeof ((a = (e = window.StripoEditorApi) == null ? void 0 : e.actionsApi) == null ? void 0 : a.updateTimerInClonedTemplate) != "function") {
78
78
  t(null);
79
79
  return;
80
80
  }
81
81
  try {
82
- window.StripoEditorApi.actionsApi.updateTimerInClonedTemplate((a, n) => {
83
- a ? (l(a, "Failed to update timer in cloned template"), t(null)) : t(n || null);
82
+ window.StripoEditorApi.actionsApi.updateTimerInClonedTemplate((i, o) => {
83
+ i ? (l(i, "Failed to update timer in cloned template"), t(null)) : t(o || null);
84
84
  });
85
- } catch (a) {
86
- l(a, "Failed to call updateTimerInClonedTemplate"), t(null);
85
+ } catch (i) {
86
+ l(i, "Failed to call updateTimerInClonedTemplate"), t(null);
87
87
  }
88
88
  }),
89
89
  updateHtmlAndCss: (t, e) => {
90
90
  window.StripoEditorApi.actionsApi.updateHtmlAndCss(t, e);
91
+ },
92
+ editorSave: () => {
93
+ window.StripoEditorApi.actionsApi.save();
91
94
  }
92
95
  };
93
96
  };
94
97
  export {
95
- S as useActionsApi
98
+ v as useActionsApi
96
99
  };
@@ -1,26 +1,27 @@
1
- import { useConfigStore as F } from "../stores/config.js";
2
- import { storeToRefs as I } from "pinia";
3
- const k = () => {
4
- const e = F(), {
1
+ import { useConfigStore as I } from "../stores/config.js";
2
+ import { storeToRefs as T } from "pinia";
3
+ const w = () => {
4
+ const e = I(), {
5
5
  config: t,
6
6
  initialized: o,
7
7
  identity: r,
8
8
  partner: i,
9
- template: n,
10
- editor: a,
9
+ template: a,
10
+ editor: n,
11
11
  ui: s,
12
- features: u,
13
- blocks: d,
14
- compiler: p,
15
- templateId: c,
12
+ features: c,
13
+ blocks: u,
14
+ compiler: d,
15
+ callbacks: l,
16
+ templateId: p,
16
17
  userId: f,
17
18
  variationId: m,
18
19
  partnerName: g,
19
- productType: l,
20
- messageType: b,
21
- username: C,
22
- showHeader: y
23
- } = I(e);
20
+ productType: b,
21
+ messageType: C,
22
+ username: y,
23
+ showHeader: E
24
+ } = T(e);
24
25
  return {
25
26
  // State refs
26
27
  config: t,
@@ -28,26 +29,27 @@ const k = () => {
28
29
  // Section refs
29
30
  identity: r,
30
31
  partner: i,
31
- template: n,
32
- editor: a,
32
+ template: a,
33
+ editor: n,
33
34
  ui: s,
34
- features: u,
35
- blocks: d,
36
- compiler: p,
35
+ features: c,
36
+ blocks: u,
37
+ compiler: d,
38
+ callbacks: l,
37
39
  // Convenience refs
38
- templateId: c,
40
+ templateId: p,
39
41
  userId: f,
40
42
  variationId: m,
41
43
  partnerName: g,
42
- productType: l,
43
- messageType: b,
44
- username: C,
45
- showHeader: y,
44
+ productType: b,
45
+ messageType: C,
46
+ username: y,
47
+ showHeader: E,
46
48
  // Methods
47
49
  getConfig: () => t.value,
48
- isFeatureEnabled: (E) => e.isFeatureEnabled(E)
50
+ isFeatureEnabled: (F) => e.isFeatureEnabled(F)
49
51
  };
50
52
  };
51
53
  export {
52
- k as useConfig
54
+ w as useConfig
53
55
  };
@@ -1,15 +1,17 @@
1
- import { useSaveStart as i, useSaveComplete as m } from "./useGuidoActions.js";
2
- import { useTemplatePreparation as n } from "../utils/templatePreparation.js";
3
- import { useHtmlValidator as l } from "./useHtmlValidator.js";
4
- const f = () => {
5
- const e = i(), a = m(), { validateHtml: s } = l();
6
- return { save: async (o = !1) => {
7
- e();
8
- const { prepareTemplateDetails: r } = n(), t = await r();
9
- if (await s(t.compiledHtml, t.dynamicContentList, !0))
10
- return o || a(t), t;
1
+ import { useConfig as l } from "./useConfig.js";
2
+ import { useSaveStart as m, useSaveComplete as c } from "./useGuidoActions.js";
3
+ import { useTemplatePreparation as d } from "../utils/templatePreparation.js";
4
+ import { useHtmlValidator as p } from "./useHtmlValidator.js";
5
+ const w = () => {
6
+ const i = m(), s = c(), { validateHtml: o } = p(), { callbacks: a } = l();
7
+ return { save: async (r = !1) => {
8
+ var e;
9
+ i();
10
+ const { prepareTemplateDetails: n } = d(), t = await n();
11
+ if (await o(t.compiledHtml, t.dynamicContentList, !0) && !((e = a.value) != null && e.externalValidation && !await a.value.externalValidation(t)))
12
+ return r || s(t), t;
11
13
  } };
12
14
  };
13
15
  export {
14
- f as useSave
16
+ w as useSave
15
17
  };
@@ -1,8 +1,8 @@
1
1
  var h = Object.defineProperty;
2
2
  var T = (A, e, t) => e in A ? h(A, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : A[e] = t;
3
3
  var m = (A, e, t) => T(A, typeof e != "symbol" ? e + "" : e, t);
4
- import P, { prepareProductRows as S } from "../../extensions/Blocks/Recommendation/templates/migrationTemplate.js";
5
- import { getDefaultProducts as q } from "../../extensions/Blocks/Recommendation/templates/templateUtils.js";
4
+ import P, { prepareProductRows as S } from "../../extensions/Blocks/Recommendation/templates/grid/migration.js";
5
+ import { getDefaultProducts as q } from "../../extensions/Blocks/Recommendation/templates/utils.js";
6
6
  class w {
7
7
  constructor() {
8
8
  m(this, "parser");
@@ -0,0 +1,8 @@
1
+ const e = "https://academy.insiderone.com/", o = {
2
+ EMAIL_EDITOR: `${e}/docs/email-drag-and-drop-editor`,
3
+ GLOBAL_UNSUBSCRIBE: `${e}/docs/global-unsubscribe-preference-center`,
4
+ AMP_FOR_EMAILS: `${e}/docs/amp-for-emails`
5
+ };
6
+ export {
7
+ o as ACADEMY_LINKS
8
+ };
@@ -2,9 +2,8 @@ const e = [
2
2
  ".service-element.stacked-panel-item.ng-tns-c1014751574-3.level-bottom-0.ng-star-inserted",
3
3
  ".service-element.stacked-panel-item.ng-tns-c1014751574-3.level-bottom-1.ng-star-inserted",
4
4
  ".service-element.stacked-panel-item.ng-tns-c1014751574-3.level-bottom-2.ng-star-inserted"
5
- ], t = "ui-editor", n = 'button[role="tab"][aria-label="Card Composition"]', s = 'button[role="tab"][aria-label="Settings"]', o = ".in-ribbons-wrapper", a = "https://academy.useinsider.com/docs/email-drag-drop-editor";
5
+ ], t = "ui-editor", n = 'button[role="tab"][aria-label="Card Composition"]', s = 'button[role="tab"][aria-label="Settings"]', o = ".in-ribbons-wrapper";
6
6
  export {
7
- a as ACADEMY_LINK,
8
7
  n as CARD_COMPOSITION_TAB_SELECTOR,
9
8
  o as RIBBON_SELECTOR,
10
9
  e as SERVICE_HOVER_SELECTORS,
@@ -1,26 +1,26 @@
1
- import { useTranslations as n } from "../composables/useTranslations.js";
1
+ import { useTranslations as e } from "../composables/useTranslations.js";
2
2
  import { getEnvironmentPrefix as R } from "../utils/environmentUtil.js";
3
- const N = {
3
+ const I = {
4
4
  UNSUBSCRIBE_LINK_TYPE: 1,
5
5
  PREFERENCES_LINK_TYPE: 3
6
- }, I = {
6
+ }, r = {
7
7
  UNSUBSCRIBE_LINK_REGEX: /{{ins-unsubscribe-link}}/g,
8
8
  DATA_OGSB_BUTTON_CSS_REGEX: "\\[data-ogsb\\]\\s*\\.es-button\\.es-button-[0-9]+\\s*\\{(?:[^\\}]*)\\}",
9
9
  GLOBAL_UNSUBSCRIBE_LINK_REGEX: /{{ins-global-unsubscribe-link}}/g,
10
10
  PREFERENCES_UNSUBSCRIBE_LINK_REGEX: /{{ins-preferences-unsubscribe-link}}/g
11
- }, s = R(), i = {
11
+ }, s = R(), _ = {
12
12
  UNSUBSCRIBE_URL: `https://mail.${s}.com/user/v1/unsub`,
13
13
  PREFERENCES_URL: `https://mail.${s}.com/user/v1/prefs`
14
- }, _ = "iid", B = {
14
+ }, i = "iid", B = {
15
15
  name: "Global Unsubscribe",
16
16
  sendGridId: "G"
17
- }, t = "https://academy.useinsider.com/docs/global-unsubscribe-preference-center", C = "/email/unsubscribe-pages", E = {
17
+ }, C = "/email/unsubscribe-pages", E = {
18
18
  GLOBAL_UNSUBSCRIBE: 1,
19
19
  GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE: 2,
20
20
  SUBSCRIPTION_PREFERENCE_CENTER: 3,
21
21
  SUBSCRIPTION_PREFERENCE_CONFIRMATION: 4,
22
22
  RESUBSCRIBE: 5
23
- }, c = {
23
+ }, t = {
24
24
  [E.GLOBAL_UNSUBSCRIBE]: [
25
25
  E.GLOBAL_UNSUBSCRIBE,
26
26
  E.GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE,
@@ -31,29 +31,28 @@ const N = {
31
31
  E.SUBSCRIPTION_PREFERENCE_CONFIRMATION
32
32
  ]
33
33
  }, U = () => {
34
- const e = n();
34
+ const n = e();
35
35
  return {
36
- [E.GLOBAL_UNSUBSCRIBE]: e("unsubscription-preference.type-global-unsubscribe"),
37
- [E.GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE]: e("unsubscription-preference.type-global-unsubscription-confirmation"),
38
- [E.RESUBSCRIBE]: e("unsubscription-preference.type-resubscribe"),
39
- [E.SUBSCRIPTION_PREFERENCE_CENTER]: e("unsubscription-preference.type-subscription-preferences-center"),
40
- [E.SUBSCRIPTION_PREFERENCE_CONFIRMATION]: e("unsubscription-preference.type-subscription-preferences-confirmation")
36
+ [E.GLOBAL_UNSUBSCRIBE]: n("unsubscription-preference.type-global-unsubscribe"),
37
+ [E.GLOBAL_UNSUBSCRIBE_CONFIRMATION_PAGE]: n("unsubscription-preference.type-global-unsubscription-confirmation"),
38
+ [E.RESUBSCRIBE]: n("unsubscription-preference.type-resubscribe"),
39
+ [E.SUBSCRIPTION_PREFERENCE_CENTER]: n("unsubscription-preference.type-subscription-preferences-center"),
40
+ [E.SUBSCRIPTION_PREFERENCE_CONFIRMATION]: n("unsubscription-preference.type-subscription-preferences-confirmation")
41
41
  };
42
- }, o = {
42
+ }, c = {
43
43
  default: "{{ins-unsubscribe-link}}",
44
44
  [E.GLOBAL_UNSUBSCRIBE]: "{{ins-global-unsubscribe-link}}",
45
45
  [E.SUBSCRIPTION_PREFERENCE_CENTER]: "{{ins-preferences-unsubscribe-link}}"
46
46
  };
47
47
  export {
48
- t as ACADEMY_LINK,
49
48
  B as DEFAULT_UNSUBSCRIBE_GROUP,
50
- _ as INSIDER_ID,
51
- I as LINK_REGEXES,
52
- N as LINK_TYPES,
53
- o as MERGE_TAGS,
49
+ i as INSIDER_ID,
50
+ r as LINK_REGEXES,
51
+ I as LINK_TYPES,
52
+ c as MERGE_TAGS,
54
53
  E as PAGE_TYPES,
55
- c as TYPE_COLLECTIONS,
54
+ t as TYPE_COLLECTIONS,
56
55
  C as UNSUBSCRIBE_PAGES_LINK,
57
- i as URLS,
56
+ _ as URLS,
58
57
  U as getTypeTranslations
59
58
  };
@@ -145,10 +145,19 @@ class g extends R {
145
145
  T && this.api.getDocumentModifier().modifyHtml(o).setAttribute(C[T], e ? "1" : "0").apply(new l(`Updated ${t} visibility attribute`));
146
146
  }
147
147
  _listenToFormUpdates() {
148
- this.api.onValueChanged(i.PRODUCT_IMAGE, (t) => this._onProductImageChange(t)), this.api.onValueChanged(i.PRODUCT_NAME, (t) => this._onProductNameChange(t)), this.api.onValueChanged(i.PRODUCT_QUANTITY, (t) => this._onProductQuantityChange(t)), this.api.onValueChanged(i.PRODUCT_PRICE, (t) => this._onProductPriceChange(t)), this.api.onValueChanged(
149
- i.PRODUCT_ORIGINAL_PRICE,
150
- (t) => this._onProductOriginalPriceChange(t)
151
- ), this.api.onValueChanged(i.PRODUCT_BUTTON, (t) => this._onProductButtonChange(t));
148
+ this.api.onValueChanged(i.PRODUCT_IMAGE, (t) => {
149
+ this._onProductImageChange(t);
150
+ }), this.api.onValueChanged(i.PRODUCT_NAME, (t) => {
151
+ this._onProductNameChange(t);
152
+ }), this.api.onValueChanged(i.PRODUCT_QUANTITY, (t) => {
153
+ this._onProductQuantityChange(t);
154
+ }), this.api.onValueChanged(i.PRODUCT_PRICE, (t) => {
155
+ this._onProductPriceChange(t);
156
+ }), this.api.onValueChanged(i.PRODUCT_ORIGINAL_PRICE, (t) => {
157
+ this._onProductOriginalPriceChange(t);
158
+ }), this.api.onValueChanged(i.PRODUCT_BUTTON, (t) => {
159
+ this._onProductButtonChange(t);
160
+ });
152
161
  }
153
162
  _onProductImageChange(t) {
154
163
  var o;
@@ -1,7 +1,8 @@
1
- import { Block as e, BlockCompositionType as t } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { getDefaultTemplate as o } from "./templates/blockTemplate.js";
1
+ import { Block as o, BlockCompositionType as i } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { RecommendationConfigService as t } from "./services/configService.js";
3
+ import { getDefaultTemplate as r } from "./templates/grid/template.js";
3
4
  const n = "recommendation-block";
4
- class m extends e {
5
+ class g extends o {
5
6
  constructor() {
6
7
  super();
7
8
  }
@@ -12,7 +13,7 @@ class m extends e {
12
13
  return "recommendation-icon";
13
14
  }
14
15
  getBlockCompositionType() {
15
- return t.CONTAINER;
16
+ return i.CONTAINER;
16
17
  }
17
18
  getName() {
18
19
  return this.api.translate("Recommendation Block");
@@ -21,10 +22,43 @@ class m extends e {
21
22
  return this.api.translate("Recommendation Block Title Description");
22
23
  }
23
24
  getTemplate() {
24
- return o();
25
+ return r();
26
+ }
27
+ /**
28
+ * Called when a new block is dropped into the template
29
+ *
30
+ * Initializes the block with default configuration stored via node config.
31
+ * This ensures the configuration persists with the template.
32
+ * @param node - The newly created block node
33
+ */
34
+ onCreated(e) {
35
+ t.initializeConfig(this.api, e);
36
+ }
37
+ /**
38
+ * Called when the document changes or template is loaded
39
+ *
40
+ * Handles migration from legacy templates that don't have node config.
41
+ * Also handles config version upgrades for future migrations.
42
+ * @param node - The block node that may need migration
43
+ */
44
+ onDocumentChanged(e) {
45
+ !e || !("getNodeConfig" in e) || t.needsMigration(e) && this._migrateFromLegacy(e);
46
+ }
47
+ /**
48
+ * Migrate configuration from legacy format
49
+ *
50
+ * Legacy templates may store configuration in:
51
+ * - data-attributes (data-layout, data-card-composition, etc.)
52
+ * - Pinia store (lost on reload - this is what we're fixing)
53
+ *
54
+ * This method reads what we can from the DOM and initializes proper node config.
55
+ * @param node - The block node to migrate
56
+ */
57
+ _migrateFromLegacy(e) {
58
+ t.migrateFromDataAttributes(this.api, e);
25
59
  }
26
60
  }
27
61
  export {
28
62
  n as BLOCK_ID,
29
- m as RecommendationBlock
63
+ g as RecommendationBlock
30
64
  };
@@ -0,0 +1,4 @@
1
+ var b = /* @__PURE__ */ ((r) => (r.BUTTON = "recommendation-block-button", r.NAME = "recommendation-block-name", r.PRICE = "recommendation-block-price", r.OLD_PRICE = "recommendation-block-old-price", r.OMNIBUS_PRICE = "recommendation-block-omnibus-price", r.OMNIBUS_DISCOUNT = "recommendation-block-omnibus-discount", r.IMAGE = "recommendation-block-image", r))(b || {});
2
+ export {
3
+ b as RecommendationBlockId
4
+ };
@@ -0,0 +1,4 @@
1
+ var o = /* @__PURE__ */ ((c) => (c.BUTTON_ALIGN = "recommendation-block-button-align-control", c.BUTTON_BORDER = "recommendation-block-button-border-control", c.BUTTON_BORDER_RADIUS = "recommendation-block-button-border-radius-control", c.BUTTON_COLOR = "recommendation-block-button-color-control", c.BUTTON_FIT_TO_CONTENT = "recommendation-block-button-fit-to-content-control", c.BUTTON_FONT_FAMILY = "recommendation-block-button-font-family-control", c.BUTTON_MARGINS = "recommendation-block-button-margins-control", c.BUTTON_PADDINGS = "recommendation-block-button-paddings-control", c.BUTTON_TEXT = "recommendation-block-button-text-control", c.BUTTON_TEXT_SIZE = "recommendation-block-button-text-size-control", c.BUTTON_TEXT_STYLE_AND_FONT_COLOR = "recommendation-block-button-text-style-and-font-color-control", c.NAME_ALIGN = "recommendation-block-name-align-control", c.NAME_BACKGROUND = "recommendation-block-name-background-control", c.NAME_COLOR = "recommendation-block-name-color-control", c.NAME_FONT_FAMILY = "recommendation-block-name-font-family-control", c.NAME_PADDINGS = "recommendation-block-name-paddings-control", c.NAME_SIZE = "recommendation-block-name-size-control", c.NAME_STYLE = "recommendation-block-name-style-control", c.NAME_TEXT_TRIM = "recommendation-block-name-text-trim-control", c.PRICE_ALIGN = "recommendation-block-price-align-control", c.PRICE_BACKGROUND = "recommendation-block-price-background-control", c.PRICE_COLOR = "recommendation-block-price-color-control", c.PRICE_FONT_FAMILY = "recommendation-block-price-font-family-control", c.PRICE_PADDINGS = "recommendation-block-price-paddings-control", c.PRICE_SIZE = "recommendation-block-price-size-control", c.PRICE_STYLE = "recommendation-block-price-style-control", c.OLD_PRICE_ALIGN = "recommendation-block-old-price-align-control", c.OLD_PRICE_BACKGROUND = "recommendation-block-old-price-background-control", c.OLD_PRICE_COLOR = "recommendation-block-old-price-color-control", c.OLD_PRICE_FONT_FAMILY = "recommendation-block-old-price-font-family-control", c.OLD_PRICE_PADDINGS = "recommendation-block-old-price-paddings-control", c.OLD_PRICE_SIZE = "recommendation-block-old-price-size-control", c.OLD_PRICE_STYLE = "recommendation-block-old-price-style-control", c.OMNIBUS_PRICE_ALIGN = "recommendation-block-omnibus-price-align-control", c.OMNIBUS_PRICE_BACKGROUND = "recommendation-block-omnibus-price-background-control", c.OMNIBUS_PRICE_COLOR = "recommendation-block-omnibus-price-color-control", c.OMNIBUS_PRICE_FONT_FAMILY = "recommendation-block-omnibus-price-font-family-control", c.OMNIBUS_PRICE_PADDINGS = "recommendation-block-omnibus-price-paddings-control", c.OMNIBUS_PRICE_SIZE = "recommendation-block-omnibus-price-size-control", c.OMNIBUS_PRICE_STYLE = "recommendation-block-omnibus-price-style-control", c.OMNIBUS_PRICE_TEXT_BEFORE = "recommendation-block-omnibus-price-text-before-control", c.OMNIBUS_PRICE_TEXT_AFTER = "recommendation-block-omnibus-price-text-after-control", c.OMNIBUS_DISCOUNT_ALIGN = "recommendation-block-omnibus-discount-align-control", c.OMNIBUS_DISCOUNT_BACKGROUND = "recommendation-block-omnibus-discount-background-control", c.OMNIBUS_DISCOUNT_COLOR = "recommendation-block-omnibus-discount-color-control", c.OMNIBUS_DISCOUNT_FONT_FAMILY = "recommendation-block-omnibus-discount-font-family-control", c.OMNIBUS_DISCOUNT_PADDINGS = "recommendation-block-omnibus-discount-paddings-control", c.OMNIBUS_DISCOUNT_SIZE = "recommendation-block-omnibus-discount-size-control", c.OMNIBUS_DISCOUNT_STYLE = "recommendation-block-omnibus-discount-style-control", c.OMNIBUS_DISCOUNT_TEXT_BEFORE = "recommendation-block-omnibus-discount-text-before-control", c.OMNIBUS_DISCOUNT_TEXT_AFTER = "recommendation-block-omnibus-discount-text-after-control", c.IMAGE_SIZE = "recommendation-block-image-size-control", c.IMAGE_MARGINS = "recommendation-block-image-margins-control", c))(o || {});
2
+ export {
3
+ o as RecommendationControlId
4
+ };
@@ -0,0 +1,64 @@
1
+ import { DEFAULT_ROW_SPACING as s, DEFAULT_COLUMN_SPACING as R, DEFAULT_CARDS_IN_ROW as n } from "./layout.js";
2
+ import { ATTR_PRODUCT_IMAGE as t, ATTR_PRODUCT_NAME as T, ATTR_PRODUCT_OLD_PRICE as e, ATTR_PRODUCT_PRICE as o, ATTR_PRODUCT_OMNIBUS_PRICE as _, ATTR_PRODUCT_OMNIBUS_DISCOUNT as r, ATTR_PRODUCT_BUTTON as U } from "./selectors.js";
3
+ const I = {
4
+ code: "USD",
5
+ symbol: "USD",
6
+ alignment: "after",
7
+ decimalCount: 2,
8
+ decimalSeparator: ".",
9
+ thousandSeparator: ","
10
+ }, O = {
11
+ textBefore: "",
12
+ textAfter: ""
13
+ }, i = {
14
+ textBefore: "",
15
+ textAfter: ""
16
+ }, C = [
17
+ t,
18
+ T,
19
+ e,
20
+ o,
21
+ _,
22
+ r,
23
+ U
24
+ ], D = {
25
+ [t]: !0,
26
+ [T]: !0,
27
+ [o]: !0,
28
+ [e]: !0,
29
+ [_]: !1,
30
+ [r]: !1,
31
+ [U]: !0
32
+ }, a = {
33
+ // Settings
34
+ strategy: "mostPopular",
35
+ productIds: [],
36
+ size: "6",
37
+ shuffleProducts: !1,
38
+ language: "en_US",
39
+ currency: I,
40
+ filters: [],
41
+ // Layout
42
+ layout: "grid",
43
+ cardsInRow: n,
44
+ columnSpacing: R,
45
+ rowSpacing: s,
46
+ // Composition
47
+ composition: C,
48
+ visibility: D,
49
+ // Element settings
50
+ omnibusPrice: O,
51
+ omnibusDiscount: i,
52
+ textTrimming: !1,
53
+ // Meta
54
+ configVersion: 1
55
+ }, E = 1;
56
+ export {
57
+ E as CURRENT_CONFIG_VERSION,
58
+ C as DEFAULT_COMPOSITION,
59
+ I as DEFAULT_CURRENCY,
60
+ a as DEFAULT_NODE_CONFIG,
61
+ i as DEFAULT_OMNIBUS_DISCOUNT,
62
+ O as DEFAULT_OMNIBUS_PRICE,
63
+ D as DEFAULT_VISIBILITY
64
+ };
@@ -0,0 +1,20 @@
1
+ const _ = {
2
+ GRID: "grid",
3
+ LIST: "list"
4
+ }, o = [
5
+ { icon: "grid-orientation", value: _.GRID },
6
+ { icon: "list-orientation", value: _.LIST }
7
+ ], t = 3, n = 3, A = 9, T = 4, c = 10, s = 20, O = 0, S = 50, I = 5;
8
+ export {
9
+ n as DEFAULT_CARDS_IN_ROW,
10
+ c as DEFAULT_COLUMN_SPACING,
11
+ t as DEFAULT_PRODUCTS_PER_ROW,
12
+ s as DEFAULT_ROW_SPACING,
13
+ o as LAYOUT_OPTIONS,
14
+ _ as LAYOUT_VALUES,
15
+ T as MAX_PRODUCTS_PER_ROW,
16
+ A as MAX_PRODUCT_COUNT,
17
+ S as MAX_SPACING,
18
+ O as MIN_SPACING,
19
+ I as SPACING_STEP
20
+ };
@@ -0,0 +1,19 @@
1
+ const c = ".ins-recommendation-product-container", T = {
2
+ CURRENCY: "currency",
3
+ SYMBOL: "currency-symbol",
4
+ ALIGNMENT: "currency-alignment",
5
+ THOUSAND_SEPARATOR: "currency-thousand-separator",
6
+ DECIMAL_SEPARATOR: "currency-decimal-separator",
7
+ DECIMAL_COUNT: "currency-decimal-count"
8
+ }, r = "productImage", n = "productName", o = "productPrice", t = "productOldPrice", R = "productOmnibusPrice", O = "productOmnibusDiscount", _ = "productButton";
9
+ export {
10
+ _ as ATTR_PRODUCT_BUTTON,
11
+ r as ATTR_PRODUCT_IMAGE,
12
+ n as ATTR_PRODUCT_NAME,
13
+ t as ATTR_PRODUCT_OLD_PRICE,
14
+ O as ATTR_PRODUCT_OMNIBUS_DISCOUNT,
15
+ R as ATTR_PRODUCT_OMNIBUS_PRICE,
16
+ o as ATTR_PRODUCT_PRICE,
17
+ c as CONTAINER_SELECTOR,
18
+ T as CURRENCY_ATTR
19
+ };
@@ -0,0 +1,64 @@
1
+ import { createButtonFitToContainerControl as T, createButtonTextStyleAndFontColorControl as r, createButtonTextSizeControl as e, createButtonTextControl as B, createButtonPaddingsControl as l, createButtonMarginsControl as C, createButtonFontFamilyControl as O, createButtonColorControl as N, createButtonBorderRadiusControl as i, createButtonBorderControl as a, createButtonAlignControl as c } from "../../../controlFactories.js";
2
+ import { RecommendationBlockId as o } from "../../constants/blockIds.js";
3
+ import { RecommendationControlId as t } from "../../constants/controlIds.js";
4
+ import { CONTAINER_SELECTOR as n } from "../../constants/selectors.js";
5
+ const U = c(
6
+ t.BUTTON_ALIGN,
7
+ o.BUTTON,
8
+ n
9
+ ), d = a(
10
+ t.BUTTON_BORDER,
11
+ o.BUTTON,
12
+ n
13
+ ), s = i(
14
+ t.BUTTON_BORDER_RADIUS,
15
+ o.BUTTON,
16
+ n
17
+ ), _ = N(
18
+ t.BUTTON_COLOR,
19
+ o.BUTTON,
20
+ n
21
+ ), m = O(
22
+ t.BUTTON_FONT_FAMILY,
23
+ o.BUTTON,
24
+ n
25
+ ), u = C(
26
+ t.BUTTON_MARGINS,
27
+ o.BUTTON,
28
+ n
29
+ ), R = l(
30
+ t.BUTTON_PADDINGS,
31
+ o.BUTTON,
32
+ n
33
+ ), F = B(
34
+ t.BUTTON_TEXT,
35
+ o.BUTTON,
36
+ n
37
+ ), A = e(
38
+ t.BUTTON_TEXT_SIZE,
39
+ o.BUTTON,
40
+ n
41
+ ), S = r(
42
+ t.BUTTON_TEXT_STYLE_AND_FONT_COLOR,
43
+ o.BUTTON,
44
+ n
45
+ ), E = T(
46
+ t.BUTTON_FIT_TO_CONTENT,
47
+ o.BUTTON,
48
+ n
49
+ ), p = {
50
+ align: U,
51
+ border: d,
52
+ borderRadius: s,
53
+ color: _,
54
+ fontFamily: m,
55
+ margins: u,
56
+ paddings: R,
57
+ text: F,
58
+ textSize: A,
59
+ textStyleAndFontColor: S,
60
+ fitToContent: E
61
+ };
62
+ export {
63
+ p as ButtonControls
64
+ };