@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
@@ -1,5 +1,5 @@
1
- import { object as o, number as b, optional as e, string as t, pipe as u, picklist as n, custom as d, boolean as c, array as a, minLength as p, literal as r, variant as S } from "../../node_modules/valibot/dist/index.js";
2
- const m = {
1
+ import { object as o, number as p, optional as e, string as t, pipe as m, picklist as n, boolean as c, array as a, minLength as u, literal as r, custom as b, variant as S } from "../../node_modules/valibot/dist/index.js";
2
+ const i = {
3
3
  /** Promotional/marketing emails */
4
4
  PROMOTIONAL: 1,
5
5
  /** Transactional/system emails */
@@ -13,22 +13,22 @@ const m = {
13
13
  UNSUBSCRIBE_PAGES: 97
14
14
  }, h = o({
15
15
  /** Unique identifier for the template being edited */
16
- templateId: u(
16
+ templateId: m(
17
17
  t(),
18
- p(1, "templateId is required")
18
+ u(1, "templateId is required")
19
19
  ),
20
20
  /** Unique identifier for the user editing the template */
21
- userId: u(
21
+ userId: m(
22
22
  t(),
23
- p(1, "userId is required")
23
+ u(1, "userId is required")
24
24
  ),
25
25
  /** Optional variation ID for A/B testing */
26
26
  variationId: e(t())
27
27
  }), k = o({
28
28
  /** Partner/organization name (required) */
29
- name: u(
29
+ name: m(
30
30
  t(),
31
- p(1, "partner.name is required")
31
+ u(1, "partner.name is required")
32
32
  ),
33
33
  /** Product type identifier */
34
34
  productType: e(
@@ -41,8 +41,8 @@ const m = {
41
41
  ),
42
42
  /** Message type (promotional or transactional) */
43
43
  messageType: e(
44
- n([m.PROMOTIONAL, m.TRANSACTIONAL]),
45
- m.PROMOTIONAL
44
+ n([i.PROMOTIONAL, i.TRANSACTIONAL]),
45
+ i.PROMOTIONAL
46
46
  ),
47
47
  /** Display name for the current user */
48
48
  username: e(t(), "Guido User")
@@ -71,29 +71,29 @@ const m = {
71
71
  []
72
72
  ),
73
73
  /** Selected unsubscribe page IDs */
74
- selectedUnsubscribePages: e(a(b()), []),
74
+ selectedUnsubscribePages: e(a(p()), []),
75
75
  /** Force recreate template in Stripo storage (use true when updating externally modified templates) */
76
76
  forceRecreate: e(c(), !1)
77
- }), f = o({
77
+ }), C = o({
78
78
  /** Sender display name */
79
79
  senderName: e(t(), ""),
80
80
  /** Email subject line */
81
81
  subject: e(t(), "")
82
- }), C = o({
82
+ }), I = o({
83
83
  /** Locale for the editor UI */
84
84
  locale: e(t(), "en"),
85
85
  /** Path to translations object */
86
86
  translationsPath: e(t(), "window.trans.en"),
87
87
  /** Migration date for template compatibility */
88
- migrationDate: e(b(), 1759696858),
88
+ migrationDate: e(p(), 1759696858),
89
89
  /** Email header settings */
90
- emailHeader: e(f, { senderName: "", subject: "" })
91
- }), I = o({
90
+ emailHeader: e(C, { senderName: "", subject: "" })
91
+ }), T = o({
92
92
  /** Whether to show the header bar */
93
93
  showHeader: e(c(), !0),
94
94
  /** Custom label for back button (if shown) */
95
95
  backButtonLabel: e(t())
96
- }), T = o({
96
+ }), A = o({
97
97
  /** Enable dynamic content insertion */
98
98
  dynamicContent: e(c(), !0),
99
99
  /** Enable save as template functionality */
@@ -108,7 +108,7 @@ const m = {
108
108
  unsubscribe: e(c(), !0),
109
109
  /** Disable modules panel in the editor */
110
110
  modulesDisabled: e(c(), !1)
111
- }), A = n([
111
+ }), f = n([
112
112
  "amp-accordion",
113
113
  "amp-carousel",
114
114
  "amp-form-controls",
@@ -133,7 +133,7 @@ const m = {
133
133
  ]), E = o({
134
134
  /** Default blocks to exclude from the editor */
135
135
  excludeDefaults: e(
136
- a(A),
136
+ a(f),
137
137
  []
138
138
  ),
139
139
  /** Custom blocks to include in the editor */
@@ -147,7 +147,7 @@ const m = {
147
147
  /** Human-readable description */
148
148
  description: e(t()),
149
149
  /** Priority for rule ordering (lower = earlier) */
150
- priority: b()
150
+ priority: p()
151
151
  }), N = o({
152
152
  ...l.entries,
153
153
  type: r("replace"),
@@ -175,32 +175,21 @@ const m = {
175
175
  ...l.entries,
176
176
  type: r("custom"),
177
177
  /** Custom processor function */
178
- processor: d(
179
- (i) => typeof i == "function",
178
+ processor: b(
179
+ (d) => typeof d == "function",
180
180
  "processor must be a function"
181
181
  )
182
- }), x = S("type", [
182
+ }), B = S("type", [
183
183
  N,
184
184
  O,
185
185
  L,
186
186
  v
187
- ]), B = o({
187
+ ]), P = o({
188
188
  /** Custom compiler rules to apply */
189
- customRules: e(a(x), []),
189
+ customRules: e(a(B), []),
190
190
  /** Skip default compiler rules */
191
191
  ignoreDefaultRules: e(c(), !1)
192
- }), P = o({
193
- /**
194
- * External validation handler called before save completes.
195
- * Return false to cancel the save operation.
196
- */
197
- externalValidation: e(
198
- d(
199
- (i) => typeof i == "function",
200
- "externalValidation must be a function"
201
- )
202
- )
203
- }), D = o({
192
+ }), x = o({
204
193
  // Required sections
205
194
  /** Identity configuration (required) */
206
195
  identity: h,
@@ -210,38 +199,35 @@ const m = {
210
199
  /** Template content and presets */
211
200
  template: e(R, {}),
212
201
  /** Editor settings */
213
- editor: e(C, {}),
202
+ editor: e(I, {}),
214
203
  /** UI configuration */
215
- ui: e(I, {}),
204
+ ui: e(T, {}),
216
205
  /** Feature toggles */
217
- features: e(T, {}),
206
+ features: e(A, {}),
218
207
  /** Block configuration */
219
208
  blocks: e(E, {}),
220
209
  /** Compiler configuration */
221
- compiler: e(B, {}),
222
- /** Callbacks and event handlers */
223
- callbacks: e(P, {})
210
+ compiler: e(P, {})
224
211
  });
225
212
  export {
226
213
  E as BlocksSchema,
227
- P as CallbacksSchema,
228
- x as CompilerRuleSchema,
229
- B as CompilerSchema,
214
+ B as CompilerRuleSchema,
215
+ P as CompilerSchema,
230
216
  g as CustomBlockTypeSchema,
231
217
  v as CustomRuleSchema,
232
- A as DefaultBlockTypeSchema,
218
+ f as DefaultBlockTypeSchema,
233
219
  y as DynamicContentSchema,
234
- C as EditorSchema,
235
- f as EmailHeaderSchema,
236
- T as FeaturesSchema,
237
- D as GuidoConfigSchema,
220
+ I as EditorSchema,
221
+ C as EmailHeaderSchema,
222
+ A as FeaturesSchema,
223
+ x as GuidoConfigSchema,
238
224
  h as IdentitySchema,
239
- m as MessageType,
225
+ i as MessageType,
240
226
  k as PartnerSchema,
241
227
  s as ProductType,
242
228
  O as RegexRuleSchema,
243
229
  L as RemoveRuleSchema,
244
230
  N as ReplaceRuleSchema,
245
231
  R as TemplateSchema,
246
- I as UISchema
232
+ T as UISchema
247
233
  };
@@ -7,14 +7,14 @@ var s = function() {
7
7
  return [t(e.EmailHeaderInfo)];
8
8
  }, proxy: !0 }, { key: "headerRightSlot", fn: function() {
9
9
  return [t(e.EmailSizeIndicator)];
10
- }, proxy: !0 }]) }, [e.isContainerReady ? t("iframe", { staticClass: "email-iframe w-1 bor-w-0", style: { height: e.iframeHeight }, attrs: { sandbox: "allow-same-origin allow-popups allow-forms allow-scripts allow-popups-to-escape-sandbox", srcdoc: e.previewStore.previewHtml } }) : r._e()])], 1);
10
+ }, proxy: !0 }]) }, [e.isContainerReady ? t("iframe", { staticClass: "email-iframe w-1 bor-w-0", style: { height: e.iframeHeight }, attrs: { sandbox: "allow-same-origin allow-popups allow-forms allow-scripts", srcdoc: e.previewStore.previewHtml } }) : r._e()])], 1);
11
11
  }, i = [], n = /* @__PURE__ */ a(
12
12
  o,
13
13
  s,
14
14
  i,
15
15
  !1,
16
16
  null,
17
- "b37f3f6d"
17
+ "2dd60b0c"
18
18
  );
19
19
  const d = n.exports;
20
20
  export {
@@ -1,19 +1,19 @@
1
1
  import n from "./ContentView.vue2.js";
2
2
  import e from "../../../../_virtual/_plugin-vue2_normalizer.js";
3
- var o = function() {
3
+ var c = function() {
4
4
  var a = this, s = a._self._c, t = a._self._setupProxy;
5
5
  return s("div", { staticClass: "w-1 h-1 b-c-4 d-f f-d-c" }, [s("div", { staticClass: "d-f j-c-s-b a-i-c p-2 h-6-s" }, [s("div", { staticClass: "d-f a-i-c cur-p", on: { click: function(l) {
6
6
  return a.$emit("back-to-inbox");
7
- } } }, [s(t.InIcons, { staticClass: "f-s-3 i-c-7", attrs: { name: "line-chevron-left" } }), s("span", { staticClass: "ml-2 f-s-1 f-w-400 l-h-1 t-c-7" }, [a._v(a._s(t.trans("newsletter.inbox")))])], 1), s("div", { staticClass: "d-f a-i-c" }, [s(t.InIcons, { staticClass: "i-c-52", attrs: { name: "line-chevron-down" } }), s(t.InIcons, { staticClass: "ml-1 i-c-52", attrs: { name: "line-chevron-up" } })], 1)]), s("iframe", { ref: "iframeRef", staticClass: "f-g-1 w-1 d-b b-c-4 bor-s-n", attrs: { sandbox: "allow-same-origin allow-popups allow-forms allow-scripts allow-popups-to-escape-sandbox", srcdoc: t.previewStore.previewHtml }, on: { load: t.onLoad } })]);
8
- }, c = [], i = /* @__PURE__ */ e(
7
+ } } }, [s(t.InIcons, { staticClass: "f-s-3 i-c-7", attrs: { name: "line-chevron-left" } }), s("span", { staticClass: "ml-2 f-s-1 f-w-400 l-h-1 t-c-7" }, [a._v(a._s(t.trans("newsletter.inbox")))])], 1), s("div", { staticClass: "d-f a-i-c" }, [s(t.InIcons, { staticClass: "i-c-52", attrs: { name: "line-chevron-down" } }), s(t.InIcons, { staticClass: "ml-1 i-c-52", attrs: { name: "line-chevron-up" } })], 1)]), s("iframe", { ref: "iframeRef", staticClass: "f-g-1 w-1 d-b b-c-4 bor-s-n", attrs: { sandbox: "allow-same-origin allow-popups allow-forms allow-scripts", srcdoc: t.previewStore.previewHtml }, on: { load: t.onLoad } })]);
8
+ }, i = [], o = /* @__PURE__ */ e(
9
9
  n,
10
- o,
11
10
  c,
11
+ i,
12
12
  !1,
13
13
  null,
14
14
  null
15
15
  );
16
- const d = i.exports;
16
+ const d = o.exports;
17
17
  export {
18
18
  d as default
19
19
  };
@@ -1,18 +1,18 @@
1
- import o from "./LeftSlot.vue2.js";
1
+ import s from "./LeftSlot.vue2.js";
2
2
  /* empty css */
3
- import n from "../../../_virtual/_plugin-vue2_normalizer.js";
4
- var r = function() {
5
- var e = this, s = e._self._c, t = e._self._setupProxy;
6
- return s("div", { staticClass: "d-f a-i-c" }, [s(t.InButtonV2, { staticClass: "p-2", attrs: { id: "guido__back-button", "left-icon": "line-arrow-left", styling: "text", type: "secondary", "label-text": t.backButtonLabel, "skeleton-sizing": { width: 150, height: 26 }, "skeleton-status": t.editorStore.loadingStatus }, on: { click: t.handleBackClick } }), t.editorStore.isVersionHistoryOpen ? s(t.RestoreButton, { staticClass: "ml-3" }) : e._e()], 1);
7
- }, i = [], a = /* @__PURE__ */ n(
8
- o,
9
- r,
10
- i,
3
+ import r from "../../../_virtual/_plugin-vue2_normalizer.js";
4
+ var n = function() {
5
+ var e = this, o = e._self._c, t = e._self._setupProxy;
6
+ return o("div", { staticClass: "d-f a-i-c" }, [o(t.InButtonV2, { staticClass: "p-2", attrs: { id: "guido__back-button", "left-icon": "line-arrow-left", styling: "text", type: "secondary", "label-text": t.backButtonLabel }, on: { click: t.handleBackClick } }), t.editorStore.isVersionHistoryOpen ? o(t.RestoreButton, { staticClass: "ml-3" }) : e._e()], 1);
7
+ }, a = [], i = /* @__PURE__ */ r(
8
+ s,
9
+ n,
10
+ a,
11
11
  !1,
12
12
  null,
13
- "3bf5c743"
13
+ "06e6f7a7"
14
14
  );
15
- const d = a.exports;
15
+ const p = i.exports;
16
16
  export {
17
- d as default
17
+ p as default
18
18
  };
@@ -1,4 +1,4 @@
1
- import { defineComponent as c, computed as m } from "vue";
1
+ import { defineComponent as u, computed as m } from "vue";
2
2
  import { useConfig as f } from "../../../composables/useConfig.js";
3
3
  import { useBack as p } from "../../../composables/useGuidoActions.js";
4
4
  import { usePreviewMode as l } from "../../../composables/usePreviewMode.js";
@@ -7,14 +7,14 @@ import { useVersionHistoryApi as k } from "../../../composables/useVersionHistor
7
7
  import { useEditorStore as B } from "../../../stores/editor.js";
8
8
  import { InButtonV2 as b } from "@useinsider/design-system-vue";
9
9
  import _ from "./version-history/RestoreButton.vue.js";
10
- const S = /* @__PURE__ */ c({
10
+ const h = /* @__PURE__ */ u({
11
11
  __name: "LeftSlot",
12
12
  setup(v) {
13
- const o = B(), r = p(), { closeVersionHistory: i } = k(), { closePreviewMode: n } = l(), e = d(), { config: t } = f(), u = m(() => {
13
+ const o = B(), r = p(), { closeVersionHistory: i } = k(), { closePreviewMode: n } = l(), e = d(), { config: t } = f(), c = m(() => {
14
14
  var s, a;
15
15
  return o.isVersionHistoryOpen || o.isPreviewModeOpen ? e("email-editor.back-to-editor") : (a = (s = t.value) == null ? void 0 : s.ui) != null && a.backButtonLabel ? t.value.ui.backButtonLabel : e("email-editor.back-to-design");
16
16
  });
17
- return { __sfc: !0, editorStore: o, handleBack: r, closeVersionHistory: i, closePreviewMode: n, trans: e, config: t, backButtonLabel: u, handleBackClick: () => {
17
+ return { __sfc: !0, editorStore: o, handleBack: r, closeVersionHistory: i, closePreviewMode: n, trans: e, config: t, backButtonLabel: c, handleBackClick: () => {
18
18
  if (o.isVersionHistoryOpen) {
19
19
  i();
20
20
  return;
@@ -23,10 +23,10 @@ const S = /* @__PURE__ */ c({
23
23
  n();
24
24
  return;
25
25
  }
26
- o.loadingStatus = !0, r();
26
+ r();
27
27
  }, InButtonV2: b, RestoreButton: _ };
28
28
  }
29
29
  });
30
30
  export {
31
- S as default
31
+ h as default
32
32
  };
@@ -1,4 +1,4 @@
1
- import { defineComponent as H, ref as c, computed as _ } from "vue";
1
+ import { defineComponent as H, ref as m, computed as _ } from "vue";
2
2
  import { useConfig as h } from "../../../composables/useConfig.js";
3
3
  import { useExport as V } from "../../../composables/useExport.js";
4
4
  import { useTestEmailClick as x } from "../../../composables/useGuidoActions.js";
@@ -10,25 +10,25 @@ import { getTooltipOptions as O } from "../../../utils/tooltipUtils.js";
10
10
  import { InButtonV2 as A } from "@useinsider/design-system-vue";
11
11
  const J = /* @__PURE__ */ H({
12
12
  __name: "RightSlot",
13
- setup(k, { expose: u }) {
14
- const { config: f } = h(), { exportHtml: r } = V(), { save: n } = E(), { openVersionHistory: i, closeVersionHistory: a } = w(), o = C(), t = T(), e = c(!1), s = c(!1), v = x(), d = () => {
13
+ setup(k, { expose: c }) {
14
+ const { config: u } = h(), { exportHtml: r } = V(), { save: n } = E(), { openVersionHistory: i, closeVersionHistory: a } = w(), o = C(), t = T(), e = m(!1), s = m(!1), f = x(), v = () => {
15
15
  if (o.isVersionHistoryOpen) {
16
16
  a();
17
17
  return;
18
18
  }
19
19
  i();
20
- }, y = async () => {
20
+ }, d = async () => {
21
21
  e.value = !0, await r(), e.value = !1;
22
- }, S = () => {
22
+ }, y = () => {
23
23
  o.isSaveAsTemplateDrawerOpen = !0;
24
- }, g = _(() => o.isVersionHistoryOpen ? t("newsletter.close-version-history") : t("newsletter.version-history")), l = async (p) => {
24
+ }, S = _(() => o.isVersionHistoryOpen ? t("newsletter.close-version-history") : t("newsletter.version-history")), l = async (p) => {
25
25
  s.value = !0, o.loadingStatus = !0;
26
- const m = await n(p);
27
- return s.value = !1, (p || !m) && (o.loadingStatus = !1), m;
26
+ const g = await n(p);
27
+ return s.value = !1, p && (o.loadingStatus = !1), g;
28
28
  };
29
- return u({
29
+ return c({
30
30
  handleSave: l
31
- }), { __sfc: !0, config: f, exportHtml: r, save: n, openVersionHistory: i, closeVersionHistory: a, editorStore: o, trans: t, isExporting: e, isSaving: s, testEmailClick: v, handleVersionHistory: d, handleExport: y, handleSaveAs: S, versionHistoryTooltipText: g, handleSave: l, getTooltipOptions: O, InButtonV2: A };
31
+ }), { __sfc: !0, config: u, exportHtml: r, save: n, openVersionHistory: i, closeVersionHistory: a, editorStore: o, trans: t, isExporting: e, isSaving: s, testEmailClick: f, handleVersionHistory: v, handleExport: d, handleSaveAs: y, versionHistoryTooltipText: S, handleSave: l, getTooltipOptions: O, InButtonV2: A };
32
32
  }
33
33
  });
34
34
  export {
@@ -1,27 +1,26 @@
1
- import { useConfigStore as I } from "../stores/config.js";
2
- import { storeToRefs as T } from "pinia";
3
- const w = () => {
4
- const e = I(), {
1
+ import { useConfigStore as F } from "../stores/config.js";
2
+ import { storeToRefs as I } from "pinia";
3
+ const k = () => {
4
+ const e = F(), {
5
5
  config: t,
6
6
  initialized: o,
7
7
  identity: r,
8
8
  partner: i,
9
- template: a,
10
- editor: n,
9
+ template: n,
10
+ editor: a,
11
11
  ui: s,
12
- features: c,
13
- blocks: u,
14
- compiler: d,
15
- callbacks: l,
16
- templateId: p,
12
+ features: u,
13
+ blocks: d,
14
+ compiler: p,
15
+ templateId: c,
17
16
  userId: f,
18
17
  variationId: m,
19
18
  partnerName: g,
20
- productType: b,
21
- messageType: C,
22
- username: y,
23
- showHeader: E
24
- } = T(e);
19
+ productType: l,
20
+ messageType: b,
21
+ username: C,
22
+ showHeader: y
23
+ } = I(e);
25
24
  return {
26
25
  // State refs
27
26
  config: t,
@@ -29,27 +28,26 @@ const w = () => {
29
28
  // Section refs
30
29
  identity: r,
31
30
  partner: i,
32
- template: a,
33
- editor: n,
31
+ template: n,
32
+ editor: a,
34
33
  ui: s,
35
- features: c,
36
- blocks: u,
37
- compiler: d,
38
- callbacks: l,
34
+ features: u,
35
+ blocks: d,
36
+ compiler: p,
39
37
  // Convenience refs
40
- templateId: p,
38
+ templateId: c,
41
39
  userId: f,
42
40
  variationId: m,
43
41
  partnerName: g,
44
- productType: b,
45
- messageType: C,
46
- username: y,
47
- showHeader: E,
42
+ productType: l,
43
+ messageType: b,
44
+ username: C,
45
+ showHeader: y,
48
46
  // Methods
49
47
  getConfig: () => t.value,
50
- isFeatureEnabled: (F) => e.isFeatureEnabled(F)
48
+ isFeatureEnabled: (E) => e.isFeatureEnabled(E)
51
49
  };
52
50
  };
53
51
  export {
54
- w as useConfig
52
+ k as useConfig
55
53
  };
@@ -1,17 +1,15 @@
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;
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;
13
11
  } };
14
12
  };
15
13
  export {
16
- w as useSave
14
+ f as useSave
17
15
  };
@@ -1,13 +1,12 @@
1
- import { migrateCheckbox as t } from "./checkboxMigrator.js";
1
+ import { migrateCheckbox as m } from "./checkboxMigrator.js";
2
2
  import { migrateCouponBlock as o } from "./couponBlockMigrator.js";
3
- import { migrateItemsBlock as i } from "./itemsBlockMigrator.js";
4
- import { migrateRadioButton as e } from "./radioButtonMigrator.js";
5
- import { migrateRecommendation as a } from "./recommendationMigrator.js";
6
- import { migrateUnsubscribe as g } from "./unsubscribeMigrator.js";
7
- const u = async (r) => {
8
- let m = r;
9
- return m = t(m), m = e(m), m = await g(m), m = o(m), m = a(m), m = i(m), m;
3
+ import { migrateRadioButton as i } from "./radioButtonMigrator.js";
4
+ import { migrateRecommendation as e } from "./recommendationMigrator.js";
5
+ import { migrateUnsubscribe as a } from "./unsubscribeMigrator.js";
6
+ const s = async (t) => {
7
+ let r = t;
8
+ return r = m(r), r = i(r), r = await a(r), r = o(r), r = e(r), r;
10
9
  };
11
10
  export {
12
- u as migrate
11
+ s as migrate
13
12
  };
@@ -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/vertical/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");
@@ -1,20 +1,20 @@
1
- import { useOnboardingStore as d } from "../../../stores/onboarding.js";
2
- import { Block as u, BlockCompositionType as p, ModificationDescription as n } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
3
- import { ItemsBlockId as f } from "./enums/controlEnums.js";
4
- import { SETTINGS_ENUMS as c, DefaultConfigValues as o } from "./enums/settingsEnums.js";
5
- import { useItemsBlockStore as g } from "./store/items-block.js";
6
- import { getDefaultTemplate as y } from "./template.js";
7
- import { getItemsBlockContainer as C, getItemsBlockConfig as a, getDefaultItemsBlockConfig as I } from "./utils/nodeConfigUtils.js";
8
- const b = "items-block";
9
- class O extends u {
1
+ import { useOnboardingStore as y } from "../../../stores/onboarding.js";
2
+ import { Block as R, BlockCompositionType as L, ModificationDescription as a } from "../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
3
+ import { configAttributes as t } from "./enums/productEnums.js";
4
+ import { DefaultConfigValues as e, SETTINGS_ENUMS as l } from "./enums/settingsEnums.js";
5
+ import { useItemsBlockStore as S } from "./store/items-block.js";
6
+ import { getDefaultTemplate as V } from "./template.js";
7
+ import { syncCurrencySymbolFromAttributes as B, syncCurrencyLocationFromAttributes as U, syncFormattedPriceFromAttributes as k } from "./utils/syncAttributesFromConfigBlock.js";
8
+ const M = "items-block";
9
+ class x extends R {
10
10
  getId() {
11
- return b;
11
+ return M;
12
12
  }
13
13
  getIcon() {
14
14
  return "items-icon";
15
15
  }
16
16
  getBlockCompositionType() {
17
- return p.CONTAINER;
17
+ return L.CONTAINER;
18
18
  }
19
19
  getName() {
20
20
  return this.api.translate("Items");
@@ -23,44 +23,45 @@ class O extends u {
23
23
  return this.api.translate("Items lets you display personalized products based on user behavior.");
24
24
  }
25
25
  getTemplate() {
26
- return y({
27
- orientation: c.ORIENTATION.VERTICAL,
28
- itemsType: c.ITEMS_TYPE.CART_ITEMS,
26
+ return V({
27
+ orientation: l.ORIENTATION.HORIZONTAL,
28
+ itemsType: l.ITEMS_TYPE.CART_ITEMS,
29
29
  itemId: "{{Abandoned Cart Item (1) Url}}",
30
- currencySymbol: o.productPriceCurrencySymbolControlValue,
31
- currencyLocation: o.productPriceCurrencyLocationControlValue,
32
- formattedPrice: o.productPriceFormattedControlValue === "1"
30
+ currencySymbol: e.productPriceCurrencySymbolControlValue,
31
+ currencyLocation: e.productPriceCurrencyLocationControlValue,
32
+ formattedPrice: e.productPriceFormattedControlValue === "1"
33
33
  });
34
34
  }
35
35
  allowInnerBlocksDND() {
36
36
  return !1;
37
37
  }
38
- onCreated(i) {
39
- const e = C(i);
40
- if (!e)
38
+ onCreated(r) {
39
+ const n = r.querySelector("esd-config-block");
40
+ if (!n)
41
41
  return;
42
- const t = e.getNodeConfig(), l = t && Object.keys(t).length > 0, r = a(i);
43
- if (r != null && r.initialized)
44
- l ? r.blockInstanceId || this.api.getDocumentModifier().modifyHtml(e).setNodeConfig({ ...r, blockInstanceId: String(Date.now()) }).apply(new n("Assign block instance ID to block")) : this.api.getDocumentModifier().modifyHtml(e).setNodeConfig(r).apply(new n("Migrate legacy config to nodeConfig"));
45
- else {
46
- const m = I();
47
- this.api.getDocumentModifier().modifyHtml(e).setNodeConfig(m).apply(new n("Initialize Items block with default configuration")), d().startOnboarding("itemsOnboarding");
42
+ const o = n, s = o.getAttribute("data-initialized") || "0", u = o.getAttribute(t.BLOCK_INSTANCE_ID), c = () => String(Date.now() + Math.floor(Math.random() * 1e3));
43
+ if (Number(s)) {
44
+ if (!u) {
45
+ const i = c();
46
+ this.api.getDocumentModifier().modifyHtml(o).setAttribute(t.BLOCK_INSTANCE_ID, i).apply(new a("Assign block instance ID to legacy block"));
47
+ }
48
+ } else {
49
+ const i = e.itemsType, I = e.cartItemsSelectControlValue, d = e.cardOrientationControlValue, m = e.productNameTrimmingControlValue, C = e.productPriceHideDiscountControlValue, b = e.productPriceFormattedControlValue, T = e.productPriceCurrencySymbolControlValue, A = e.productPriceCurrencyLocationControlValue, E = e.productButtonLinkControlValue, O = e.productImageLinkControlValue, _ = e.productImageVisible, p = e.productNameVisible, N = e.productQuantityVisible, f = e.productPriceVisible, g = e.productOriginalPriceVisible, D = e.productButtonVisible, P = c();
50
+ this.api.getDocumentModifier().modifyHtml(o).setAttribute("data-source", i).setAttribute(t.TYPE, i).setAttribute(t.ITEMS_INDEX_SELECT_CONTROL_VALUE, I).setAttribute(t.ORIENTATION, d).setAttribute(t.PRODUCT_NAME_TRIMMING, m).setAttribute(t.PRODUCT_PRICE_HIDE_DISCOUNT, C).setAttribute(t.PRODUCT_PRICE_FORMATTED, b).setAttribute(t.PRODUCT_PRICE_CURRENCY_SYMBOL, T).setAttribute(t.PRODUCT_PRICE_CURRENCY_LOCATION, A).setAttribute(t.PRODUCT_BUTTON_LINK, E).setAttribute(t.PRODUCT_IMAGE_LINK, O).setAttribute(t.BLOCK_INSTANCE_ID, P).setAttribute("data-initialized", "1").setAttribute(t.NAME_CONTROL_ENABLED, e.productNameControlEnabled).setAttribute(
51
+ t.QUANTITY_CONTROL_ENABLED,
52
+ e.productQuantityControlEnabled
53
+ ).setAttribute(t.PRICE_CONTROL_OPENED, e.productPriceControlOpened).setAttribute(t.PRODUCT_IMAGE_VISIBLE, _).setAttribute(t.PRODUCT_NAME_VISIBLE, p).setAttribute(t.PRODUCT_QUANTITY_VISIBLE, N).setAttribute(t.PRODUCT_PRICE_VISIBLE, f).setAttribute(t.PRODUCT_ORIGINAL_PRICE_VISIBLE, g).setAttribute(t.PRODUCT_BUTTON_VISIBLE, D).apply(new a("Initialize config block attributes with defaults")), y().startOnboarding("itemsOnboarding");
48
54
  }
49
- const s = `[esd-extension-block-id="${f.IMAGE}"] img`;
50
- this.api.getDocumentModifier().modifyHtml(i.querySelector(s)).setStyle("object-fit", "contain").apply(new n("Updated image object-fit"));
51
55
  }
52
- onSelect(i) {
53
- const e = g(), t = a(i);
54
- t && (e.setItemsType(t.type || o.itemsType), e.setItemIds(t.itemsSelectValue || o.cartItemsSelectControlValue), e.setOrientation(t.orientation || o.cardOrientationControlValue), e.setCurrencySymbol(
55
- t.priceCurrencySymbol || o.productPriceCurrencySymbolControlValue
56
- ), e.setCurrencyLocation(
57
- t.priceCurrencyLocation || o.productPriceCurrencyLocationControlValue
58
- ), e.setFormattedPrice(
59
- t.priceFormatted ?? o.productPriceFormattedControlValue === "1"
60
- ));
56
+ onSelect(r) {
57
+ const n = r.querySelector("esd-config-block"), o = S();
58
+ if (!n)
59
+ return;
60
+ const s = n, u = s.getAttribute(t.TYPE) || e.itemsType, c = s.getAttribute(t.ITEMS_INDEX_SELECT_CONTROL_VALUE) || e.cartItemsSelectControlValue, i = s.getAttribute(t.ORIENTATION) || e.cardOrientationControlValue;
61
+ o.setItemsType(u), o.setItemIds(c), o.setOrientation(i), B(r), U(r), k(r);
61
62
  }
62
63
  }
63
64
  export {
64
- b as BLOCK_ID,
65
- O as ItemsBlock
65
+ M as BLOCK_ID,
66
+ x as ItemsBlock
66
67
  };