@useinsider/guido 2.0.0-beta.1c331b8 → 2.0.0-beta.2369541

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 (231) 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 +8 -8
  4. package/dist/components/organisms/email-preview/amp/AmpErrorModal.vue2.js +17 -13
  5. package/dist/components/organisms/email-preview/amp/AmpToggle.vue.js +7 -8
  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 +20 -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 +10 -10
  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/useConfig.js +29 -27
  32. package/dist/composables/useSave.js +13 -11
  33. package/dist/config/migrator/recommendationMigrator.js +2 -2
  34. package/dist/enums/academy.js +8 -0
  35. package/dist/enums/onboarding.js +1 -2
  36. package/dist/enums/unsubscribe.js +20 -21
  37. package/dist/extensions/Blocks/Items/controls/cardComposition.js +4 -13
  38. package/dist/extensions/Blocks/Recommendation/block.js +1 -1
  39. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +103 -0
  40. package/dist/extensions/Blocks/Recommendation/constants.js +5 -0
  41. package/dist/extensions/Blocks/Recommendation/control.js +306 -0
  42. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +13 -0
  43. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +13 -0
  44. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +13 -0
  45. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +13 -0
  46. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +13 -0
  47. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +13 -0
  48. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +13 -0
  49. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +13 -0
  50. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +13 -0
  51. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +13 -0
  52. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +13 -0
  53. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +13 -0
  54. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +13 -0
  55. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +13 -0
  56. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +13 -0
  57. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +13 -0
  58. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +13 -0
  59. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +13 -0
  60. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +13 -0
  61. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +13 -0
  62. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +13 -0
  63. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +13 -0
  64. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +13 -0
  65. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +13 -0
  66. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +13 -0
  67. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +13 -0
  68. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +13 -0
  69. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +13 -0
  70. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +13 -0
  71. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +13 -0
  72. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +13 -0
  73. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +13 -0
  74. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +13 -0
  75. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +13 -0
  76. package/dist/extensions/Blocks/Recommendation/extension.js +43 -40
  77. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +0 -5
  78. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +72 -128
  79. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +25 -28
  80. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +160 -0
  81. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +152 -0
  82. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +180 -0
  83. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +9 -9
  84. package/dist/extensions/Blocks/Unsubscribe/extension.js +9 -9
  85. package/dist/extensions/Blocks/common-control.js +6 -7
  86. package/dist/extensions/Blocks/controlFactories.js +121 -155
  87. package/dist/guido.css +1 -1
  88. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +291 -361
  89. package/dist/package.json.js +1 -1
  90. package/dist/src/@types/config/index.d.ts +2 -2
  91. package/dist/src/@types/config/schemas.d.ts +26 -0
  92. package/dist/src/@types/config/types.d.ts +7 -1
  93. package/dist/src/components/organisms/email-preview/desktop-preview/DesktopBrowserHeader.vue.d.ts +2 -0
  94. package/dist/src/components/organisms/header/EditorActions.vue.d.ts +4 -0
  95. package/dist/src/components/organisms/header/EditorToolbar.vue.d.ts +2 -0
  96. package/dist/src/components/organisms/header/RightSlot.vue.d.ts +1 -1
  97. package/dist/src/composables/useConfig.d.ts +6 -0
  98. package/dist/src/enums/academy.d.ts +12 -0
  99. package/dist/src/enums/onboarding.d.ts +0 -1
  100. package/dist/src/enums/unsubscribe.d.ts +0 -1
  101. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +28 -0
  102. package/dist/src/extensions/Blocks/Recommendation/{constants/controlIds.d.ts → constants.d.ts} +11 -19
  103. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +35 -0
  104. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +5 -0
  105. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +5 -0
  106. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +5 -0
  107. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +5 -0
  108. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +5 -0
  109. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +5 -0
  110. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +5 -0
  111. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +5 -0
  112. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +5 -0
  113. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +5 -0
  114. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +5 -0
  115. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +5 -0
  116. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +5 -0
  117. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +5 -0
  118. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +5 -0
  119. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +5 -0
  120. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +5 -0
  121. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +5 -0
  122. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +5 -0
  123. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +5 -0
  124. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +5 -0
  125. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +5 -0
  126. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +5 -0
  127. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +5 -0
  128. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +5 -0
  129. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +5 -0
  130. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +5 -0
  131. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +5 -0
  132. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +5 -0
  133. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +5 -0
  134. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +5 -0
  135. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +5 -0
  136. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +5 -0
  137. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +5 -0
  138. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +0 -9
  139. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +16 -16
  140. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +16 -0
  141. package/dist/src/extensions/Blocks/Recommendation/templates/{vertical/migration.d.ts → migrationTemplate.d.ts} +4 -11
  142. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +44 -0
  143. package/dist/src/extensions/Blocks/common-control.d.ts +1 -1
  144. package/dist/src/stores/config.d.ts +147 -1
  145. package/dist/static/assets/desktop/desktop-mockup-center.svg.js +4 -0
  146. package/dist/static/assets/desktop/desktop-mockup-left.svg.js +4 -0
  147. package/dist/static/assets/desktop/desktop-mockup-right.svg.js +4 -0
  148. package/dist/static/assets/mobile/email-mockup.svg.js +4 -0
  149. package/dist/static/assets/mobile/inbox-mockup.svg.js +4 -0
  150. package/dist/static/styles/components/button.css.js +1 -1
  151. package/dist/static/styles/components/wide-panel.css.js +4 -0
  152. package/dist/static/styles/customEditorStyle.css.js +2 -38
  153. package/dist/stores/config.js +7 -0
  154. package/package.json +3 -3
  155. package/dist/components/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue.js +0 -17
  156. package/dist/components/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue2.js +0 -20
  157. package/dist/extensions/Blocks/Recommendation/constants/blockIds.js +0 -4
  158. package/dist/extensions/Blocks/Recommendation/constants/controlIds.js +0 -4
  159. package/dist/extensions/Blocks/Recommendation/constants/layout.js +0 -7
  160. package/dist/extensions/Blocks/Recommendation/constants/selectors.js +0 -11
  161. package/dist/extensions/Blocks/Recommendation/controls/button/index.js +0 -64
  162. package/dist/extensions/Blocks/Recommendation/controls/cardBackground/index.js +0 -80
  163. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +0 -238
  164. package/dist/extensions/Blocks/Recommendation/controls/image/index.js +0 -19
  165. package/dist/extensions/Blocks/Recommendation/controls/layout/index.js +0 -104
  166. package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +0 -86
  167. package/dist/extensions/Blocks/Recommendation/controls/main/currency.js +0 -134
  168. package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +0 -54
  169. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +0 -134
  170. package/dist/extensions/Blocks/Recommendation/controls/main/locale.js +0 -64
  171. package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +0 -124
  172. package/dist/extensions/Blocks/Recommendation/controls/main/shuffle.js +0 -60
  173. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +0 -112
  174. package/dist/extensions/Blocks/Recommendation/controls/name/index.js +0 -46
  175. package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +0 -76
  176. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +0 -44
  177. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +0 -48
  178. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.js +0 -73
  179. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.js +0 -73
  180. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +0 -48
  181. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.js +0 -73
  182. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.js +0 -73
  183. package/dist/extensions/Blocks/Recommendation/controls/price/index.js +0 -44
  184. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +0 -216
  185. package/dist/extensions/Blocks/Recommendation/templates/horizontal/elementRenderer.js +0 -157
  186. package/dist/extensions/Blocks/Recommendation/templates/horizontal/template.js +0 -72
  187. package/dist/extensions/Blocks/Recommendation/templates/index.js +0 -12
  188. package/dist/extensions/Blocks/Recommendation/templates/utils.js +0 -173
  189. package/dist/extensions/Blocks/Recommendation/templates/vertical/elementRenderer.js +0 -186
  190. package/dist/extensions/Blocks/Recommendation/templates/vertical/migration.js +0 -251
  191. package/dist/extensions/Blocks/Recommendation/templates/vertical/template.js +0 -62
  192. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +0 -36
  193. package/dist/src/extensions/Blocks/Recommendation/constants/blockIds.d.ts +0 -13
  194. package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +0 -12
  195. package/dist/src/extensions/Blocks/Recommendation/constants/layout.d.ts +0 -17
  196. package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +0 -19
  197. package/dist/src/extensions/Blocks/Recommendation/controls/button/index.d.ts +0 -143
  198. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackground/index.d.ts +0 -31
  199. package/dist/src/extensions/Blocks/Recommendation/controls/cardComposition/index.d.ts +0 -95
  200. package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +0 -35
  201. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +0 -24
  202. package/dist/src/extensions/Blocks/Recommendation/controls/layout/index.d.ts +0 -34
  203. package/dist/src/extensions/Blocks/Recommendation/controls/main/algorithm.d.ts +0 -17
  204. package/dist/src/extensions/Blocks/Recommendation/controls/main/currency.d.ts +0 -16
  205. package/dist/src/extensions/Blocks/Recommendation/controls/main/filters.d.ts +0 -22
  206. package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +0 -43
  207. package/dist/src/extensions/Blocks/Recommendation/controls/main/locale.d.ts +0 -15
  208. package/dist/src/extensions/Blocks/Recommendation/controls/main/productLayout.d.ts +0 -40
  209. package/dist/src/extensions/Blocks/Recommendation/controls/main/shuffle.d.ts +0 -15
  210. package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.d.ts +0 -81
  211. package/dist/src/extensions/Blocks/Recommendation/controls/name/index.d.ts +0 -97
  212. package/dist/src/extensions/Blocks/Recommendation/controls/name/textTrim.d.ts +0 -16
  213. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/index.d.ts +0 -95
  214. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.d.ts +0 -100
  215. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.d.ts +0 -15
  216. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.d.ts +0 -15
  217. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/index.d.ts +0 -100
  218. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.d.ts +0 -15
  219. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.d.ts +0 -15
  220. package/dist/src/extensions/Blocks/Recommendation/controls/price/index.d.ts +0 -95
  221. package/dist/src/extensions/Blocks/Recommendation/controls/spacing/index.d.ts +0 -72
  222. package/dist/src/extensions/Blocks/Recommendation/templates/horizontal/elementRenderer.d.ts +0 -8
  223. package/dist/src/extensions/Blocks/Recommendation/templates/horizontal/migration.d.ts +0 -25
  224. package/dist/src/extensions/Blocks/Recommendation/templates/horizontal/template.d.ts +0 -18
  225. package/dist/src/extensions/Blocks/Recommendation/templates/index.d.ts +0 -39
  226. package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +0 -45
  227. package/dist/src/extensions/Blocks/Recommendation/templates/vertical/elementRenderer.d.ts +0 -7
  228. package/dist/src/extensions/Blocks/Recommendation/templates/vertical/template.d.ts +0 -33
  229. package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +0 -19
  230. package/dist/static/assets/inbox-mockup.svg.js +0 -4
  231. package/dist/static/assets/phone-mockup.svg.js +0 -4
@@ -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/vertical/migration.js";
5
- import { getDefaultProducts as q } from "../../extensions/Blocks/Recommendation/templates/utils.js";
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";
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,19 +145,10 @@ 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) => {
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
- });
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));
161
152
  }
162
153
  _onProductImageChange(t) {
163
154
  var o;
@@ -1,5 +1,5 @@
1
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/vertical/template.js";
2
+ import { getDefaultTemplate as o } from "./templates/blockTemplate.js";
3
3
  const n = "recommendation-block";
4
4
  class m extends e {
5
5
  constructor() {
@@ -0,0 +1,103 @@
1
+ var m = Object.defineProperty;
2
+ var y = (n, o, i) => o in n ? m(n, o, { enumerable: !0, configurable: !0, writable: !0, value: i }) : n[o] = i;
3
+ var a = (n, o, i) => y(n, typeof o != "symbol" ? o + "" : o, i);
4
+ import { ModificationDescription as u } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
+ import { CommonControl as b } from "../common-control.js";
6
+ const h = "ui-elements-recommendation-card-composition", s = [
7
+ { key: "productImage", label: "Product Image", visible: !0 },
8
+ { key: "productName", label: "Product Name", visible: !0 },
9
+ { key: "productPrice", label: "Product Price", visible: !0 },
10
+ { key: "productOriginalPrice", label: "Product Original Price", visible: !0 },
11
+ { key: "productButton", label: "Product Button", visible: !0 }
12
+ ];
13
+ class g extends b {
14
+ constructor() {
15
+ super(...arguments);
16
+ a(this, "currentComposition", []);
17
+ a(this, "currentVisibility", {});
18
+ }
19
+ getId() {
20
+ return h;
21
+ }
22
+ getTemplate() {
23
+ const i = s.map((e) => ({
24
+ key: e.key,
25
+ label: e.label,
26
+ content: `
27
+ <div style="display: flex; align-items: center; justify-content: space-between;
28
+ padding: 8px; gap: 8px;">
29
+ <span style="flex: 1;">${e.label}</span>
30
+ ${this._GuToggle(`visibility_${e.key}`)}
31
+ </div>
32
+ `
33
+ }));
34
+ return `
35
+ <div class="container">
36
+ ${this._GuLabel({ text: "Card Element Order & Visibility" })}
37
+ ${this._GuOrderable("cardComposition", i)}
38
+ </div>
39
+ `;
40
+ }
41
+ onRender() {
42
+ this._initializeComposition(), this.api.onValueChanged("cardComposition", (i) => {
43
+ this.currentComposition = i, this._applyCompositionToBlock(i);
44
+ }), s.forEach((i) => {
45
+ this.api.onValueChanged(`visibility_${i.key}`, (e) => {
46
+ this.currentVisibility[i.key] = e, this._applyVisibilityToBlock();
47
+ });
48
+ });
49
+ }
50
+ onTemplateNodeUpdated(i) {
51
+ super.onTemplateNodeUpdated(i), this._initializeComposition();
52
+ }
53
+ /**
54
+ * Initialize the composition order and visibility from the block or use defaults
55
+ */
56
+ _initializeComposition() {
57
+ var p;
58
+ const i = (p = this.currentNode) == null ? void 0 : p.querySelector(".ins-recommendation-v3-block-v2");
59
+ let e = null, l = null;
60
+ if (i && "getAttribute" in i && (e = i.getAttribute("data-card-composition"), l = i.getAttribute("data-card-visibility")), e) {
61
+ const t = e.split(",").filter(Boolean), r = s.map((c) => c.key);
62
+ t.every((c) => r.includes(c)) && t.length > 0 ? this.currentComposition = t : this.currentComposition = r;
63
+ } else
64
+ this.currentComposition = s.map((t) => t.key);
65
+ if (l)
66
+ try {
67
+ const t = JSON.parse(l);
68
+ this.currentVisibility = t;
69
+ } catch {
70
+ this.currentVisibility = s.reduce((t, r) => (t[r.key] = r.visible, t), {});
71
+ }
72
+ else
73
+ this.currentVisibility = s.reduce((t, r) => (t[r.key] = r.visible, t), {});
74
+ const d = {
75
+ cardComposition: this.currentComposition
76
+ };
77
+ s.forEach((t) => {
78
+ d[`visibility_${t.key}`] = this.currentVisibility[t.key] ?? !0;
79
+ }), this.api.updateValues(d);
80
+ }
81
+ /**
82
+ * Apply the reordered composition to the block's HTML structure
83
+ */
84
+ _applyCompositionToBlock(i) {
85
+ if (!this.currentNode)
86
+ return;
87
+ const e = this.currentNode.querySelector(".ins-recommendation-v3-block-v2");
88
+ e && this.api.getDocumentModifier().modifyHtml(e).setAttribute("data-card-composition", i.join(",")).apply(new u("Stored card composition order"));
89
+ }
90
+ /**
91
+ * Apply visibility changes to the block's HTML structure
92
+ */
93
+ _applyVisibilityToBlock() {
94
+ if (!this.currentNode)
95
+ return;
96
+ const i = this.currentNode.querySelector(".ins-recommendation-v3-block-v2");
97
+ i && this.api.getDocumentModifier().modifyHtml(i).setAttribute("data-card-visibility", JSON.stringify(this.currentVisibility)).apply(new u("Stored card visibility settings"));
98
+ }
99
+ }
100
+ export {
101
+ h as COMPOSITION_CONTROL_BLOCK_ID,
102
+ g as RecommendationCardCompositionControl
103
+ };
@@ -0,0 +1,5 @@
1
+ var o = /* @__PURE__ */ ((c) => (c.BUTTON = "recommendation-block-button", c.NAME = "recommendation-block-name", c.PRICE = "recommendation-block-price", c.OLD_PRICE = "recommendation-block-old-price", c.IMAGE = "recommendation-block-image", c))(o || {}), r = /* @__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.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.IMAGE_SIZE = "recommendation-block-image-size-control", c.IMAGE_MARGINS = "recommendation-block-image-margins-control", c))(r || {});
2
+ export {
3
+ o as RecommendationBlockId,
4
+ r as RecommendationControlId
5
+ };