@useinsider/guido 2.0.0 → 2.1.0-beta.01eaf27

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 (239) hide show
  1. package/README.md +2 -0
  2. package/dist/@types/config/schemas.js +72 -54
  3. package/dist/components/Guido.vue.js +1 -1
  4. package/dist/components/Guido.vue2.js +15 -17
  5. package/dist/components/organisms/email-preview/PreviewContainer.vue.js +3 -3
  6. package/dist/components/organisms/email-preview/amp/AmpErrorModal.vue.js +6 -6
  7. package/dist/components/organisms/email-preview/amp/AmpErrorModal.vue2.js +17 -13
  8. package/dist/components/organisms/email-preview/amp/AmpToggle.vue.js +6 -6
  9. package/dist/components/organisms/email-preview/amp/AmpToggle.vue2.js +14 -12
  10. package/dist/components/organisms/email-preview/desktop-preview/DesktopBrowserHeader.vue.js +18 -0
  11. package/dist/components/organisms/email-preview/desktop-preview/DesktopBrowserHeader.vue2.js +15 -0
  12. package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue.js +16 -15
  13. package/dist/components/organisms/email-preview/desktop-preview/DesktopPreview.vue2.js +14 -22
  14. package/dist/components/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.js +3 -3
  15. package/dist/components/organisms/email-preview/mobile-preview/ContentView.vue.js +12 -11
  16. package/dist/components/organisms/email-preview/mobile-preview/InboxView.vue.js +12 -10
  17. package/dist/components/organisms/email-preview/mobile-preview/MobilePreview.vue.js +11 -10
  18. package/dist/components/organisms/email-preview/mobile-preview/MobilePreview.vue2.js +15 -14
  19. package/dist/components/organisms/header/EditorActions.vue.js +21 -0
  20. package/dist/components/organisms/header/EditorActions.vue2.js +41 -0
  21. package/dist/components/organisms/header/EditorToolbar.vue.js +18 -0
  22. package/dist/components/organisms/header/EditorToolbar.vue2.js +17 -0
  23. package/dist/components/organisms/header/HeaderWrapper.vue.js +6 -5
  24. package/dist/components/organisms/header/LeftSlot.vue.js +11 -11
  25. package/dist/components/organisms/header/LeftSlot.vue2.js +27 -23
  26. package/dist/components/organisms/header/MiddleSlot.vue.js +7 -7
  27. package/dist/components/organisms/header/MiddleSlot.vue2.js +11 -15
  28. package/dist/components/organisms/header/RightSlot.vue.js +11 -14
  29. package/dist/components/organisms/header/RightSlot.vue2.js +13 -30
  30. package/dist/components/organisms/header/version-history/VersionHistory.vue.js +5 -5
  31. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +15 -15
  32. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue.js +1 -1
  33. package/dist/components/organisms/unsubscribe/UnsubscribeTypeSelection.vue2.js +20 -19
  34. package/dist/composables/useActionsApi.js +33 -30
  35. package/dist/composables/useConfig.js +29 -27
  36. package/dist/composables/useSave.js +13 -11
  37. package/dist/composables/useStripo.js +57 -56
  38. package/dist/config/migrator/index.js +9 -8
  39. package/dist/config/migrator/itemsBlockMigrator.js +351 -0
  40. package/dist/enums/academy.js +8 -0
  41. package/dist/enums/onboarding.js +1 -2
  42. package/dist/enums/unsubscribe.js +20 -21
  43. package/dist/extensions/Blocks/CouponBlock/constants.js +4 -0
  44. package/dist/extensions/Blocks/CouponBlock/controls/index.js +29 -0
  45. package/dist/extensions/Blocks/CouponBlock/extension.js +5 -4
  46. package/dist/extensions/Blocks/CouponBlock/settingsPanel.js +20 -14
  47. package/dist/extensions/Blocks/CouponBlock/template.js +22 -11
  48. package/dist/extensions/Blocks/Items/block.js +26 -41
  49. package/dist/extensions/Blocks/Items/controls/button/link.js +18 -37
  50. package/dist/extensions/Blocks/Items/controls/cardComposition.js +138 -93
  51. package/dist/extensions/Blocks/Items/controls/image/link.js +16 -35
  52. package/dist/extensions/Blocks/Items/controls/name/trimming.js +30 -42
  53. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +34 -44
  54. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +53 -56
  55. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +45 -50
  56. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +24 -34
  57. package/dist/extensions/Blocks/Items/controls/price/priceOrientation.js +47 -57
  58. package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +73 -0
  59. package/dist/extensions/Blocks/Items/controls/settingsControl.js +187 -179
  60. package/dist/extensions/Blocks/Items/enums/controlEnums.js +2 -2
  61. package/dist/extensions/Blocks/Items/enums/productEnums.js +43 -45
  62. package/dist/extensions/Blocks/Items/enums/settingsEnums.js +3 -6
  63. package/dist/extensions/Blocks/Items/extension.js +11 -9
  64. package/dist/extensions/Blocks/Items/layouts/horizontal.html.js +58 -49
  65. package/dist/extensions/Blocks/Items/layouts/vertical.html.js +48 -59
  66. package/dist/extensions/Blocks/Items/settingsPanel.js +27 -26
  67. package/dist/extensions/Blocks/Items/template.js +396 -143
  68. package/dist/extensions/Blocks/Items/utils/nodeConfigUtils.js +176 -0
  69. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +153 -69
  70. package/dist/extensions/Blocks/Recommendation/constants.js +9 -1
  71. package/dist/extensions/Blocks/Recommendation/control.js +91 -61
  72. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +68 -0
  73. package/dist/extensions/Blocks/Recommendation/controls/index.js +245 -0
  74. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +74 -0
  75. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.js +71 -0
  76. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.js +71 -0
  77. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.js +71 -0
  78. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.js +71 -0
  79. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +188 -0
  80. package/dist/extensions/Blocks/Recommendation/extension.js +16 -42
  81. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +117 -72
  82. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +85 -64
  83. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +54 -17
  84. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +74 -45
  85. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +25 -0
  86. package/dist/extensions/Blocks/Unsubscribe/extension.js +9 -9
  87. package/dist/extensions/Blocks/common-control.js +107 -110
  88. package/dist/extensions/Blocks/controlFactories.js +139 -118
  89. package/dist/guido.css +1 -1
  90. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +370 -291
  91. package/dist/package.json.js +1 -1
  92. package/dist/services/stripoApi.js +6 -10
  93. package/dist/src/@types/config/index.d.ts +2 -2
  94. package/dist/src/@types/config/schemas.d.ts +36 -2
  95. package/dist/src/@types/config/types.d.ts +7 -1
  96. package/dist/src/components/organisms/email-preview/desktop-preview/DesktopBrowserHeader.vue.d.ts +2 -0
  97. package/dist/src/components/organisms/header/EditorActions.vue.d.ts +4 -0
  98. package/dist/src/components/organisms/header/EditorToolbar.vue.d.ts +2 -0
  99. package/dist/src/components/organisms/header/RightSlot.vue.d.ts +1 -1
  100. package/dist/src/composables/useActionsApi.d.ts +1 -0
  101. package/dist/src/composables/useConfig.d.ts +10 -0
  102. package/dist/src/config/migrator/itemsBlockMigrator.d.ts +6 -0
  103. package/dist/src/enums/academy.d.ts +12 -0
  104. package/dist/src/enums/onboarding.d.ts +0 -1
  105. package/dist/src/enums/unsubscribe.d.ts +0 -1
  106. package/dist/src/extensions/Blocks/CouponBlock/constants.d.ts +14 -0
  107. package/dist/src/extensions/Blocks/CouponBlock/controls/index.d.ts +108 -0
  108. package/dist/src/extensions/Blocks/CouponBlock/template.d.ts +1 -1
  109. package/dist/src/extensions/Blocks/Items/block.d.ts +0 -1
  110. package/dist/src/extensions/Blocks/Items/controls/button/link.d.ts +0 -3
  111. package/dist/src/extensions/Blocks/Items/controls/cardComposition.d.ts +9 -1
  112. package/dist/src/extensions/Blocks/Items/controls/image/link.d.ts +0 -3
  113. package/dist/src/extensions/Blocks/Items/controls/name/trimming.d.ts +0 -1
  114. package/dist/src/extensions/Blocks/Items/controls/price/currencyLocation.d.ts +0 -1
  115. package/dist/src/extensions/Blocks/Items/controls/price/currencySymbol.d.ts +0 -1
  116. package/dist/src/extensions/Blocks/Items/controls/price/formattedPrice.d.ts +0 -1
  117. package/dist/src/extensions/Blocks/Items/controls/price/hideDiscount.d.ts +0 -1
  118. package/dist/src/extensions/Blocks/Items/controls/price/priceOrientation.d.ts +1 -2
  119. package/dist/src/extensions/Blocks/Items/controls/price/singlePrice.d.ts +13 -0
  120. package/dist/src/extensions/Blocks/Items/controls/settingsControl.d.ts +3 -9
  121. package/dist/src/extensions/Blocks/Items/enums/controlEnums.d.ts +1 -0
  122. package/dist/src/extensions/Blocks/Items/enums/productEnums.d.ts +24 -26
  123. package/dist/src/extensions/Blocks/Items/enums/settingsEnums.d.ts +1 -2
  124. package/dist/src/extensions/Blocks/Items/template.d.ts +22 -1
  125. package/dist/src/extensions/Blocks/Items/utils/nodeConfigUtils.d.ts +76 -0
  126. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +50 -3
  127. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +32 -0
  128. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +5 -2
  129. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.d.ts +25 -0
  130. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +592 -0
  131. package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +16 -0
  132. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.d.ts +15 -0
  133. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.d.ts +15 -0
  134. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.d.ts +15 -0
  135. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.d.ts +15 -0
  136. package/dist/src/extensions/Blocks/Recommendation/controls/spacingControl.d.ts +60 -0
  137. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +3 -3
  138. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +15 -7
  139. package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +19 -0
  140. package/dist/src/extensions/Blocks/common-control.d.ts +11 -13
  141. package/dist/src/extensions/Blocks/controlFactories.d.ts +30 -7
  142. package/dist/src/stores/config.d.ts +181 -1
  143. package/dist/src/stores/editor.d.ts +21 -0
  144. package/dist/static/assets/desktop/desktop-mockup-center.svg.js +4 -0
  145. package/dist/static/assets/desktop/desktop-mockup-left.svg.js +4 -0
  146. package/dist/static/assets/desktop/desktop-mockup-right.svg.js +4 -0
  147. package/dist/static/assets/mobile/email-mockup.svg.js +4 -0
  148. package/dist/static/assets/mobile/inbox-mockup.svg.js +4 -0
  149. package/dist/static/styles/components/button.css.js +1 -1
  150. package/dist/static/styles/components/narrow-panel.css.js +0 -10
  151. package/dist/static/styles/components/wide-panel.css.js +1 -5
  152. package/dist/static/styles/customEditorStyle.css.js +13 -0
  153. package/dist/stores/config.js +7 -0
  154. package/dist/stores/editor.js +1 -0
  155. package/dist/utils/pairProductVariables.js +61 -58
  156. package/dist/utils/templatePreparation.js +17 -17
  157. package/package.json +3 -3
  158. package/dist/components/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue.js +0 -17
  159. package/dist/components/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue2.js +0 -20
  160. package/dist/extensions/Blocks/Items/store/items-block.js +0 -75
  161. package/dist/extensions/Blocks/Items/utils/configBlockUtils.js +0 -17
  162. package/dist/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.js +0 -28
  163. package/dist/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.js +0 -76
  164. package/dist/extensions/Blocks/Items/utils/updateAttributes.js +0 -46
  165. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
  166. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
  167. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
  168. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
  169. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
  170. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
  171. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
  172. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
  173. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
  174. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
  175. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
  176. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
  177. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
  178. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
  179. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
  180. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
  181. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
  182. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
  183. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
  184. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
  185. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
  186. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
  187. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
  188. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
  189. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
  190. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
  191. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
  192. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
  193. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
  194. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
  195. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
  196. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
  197. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
  198. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
  199. package/dist/src/extensions/Blocks/Items/store/items-block.d.ts +0 -43
  200. package/dist/src/extensions/Blocks/Items/utils/configBlockUtils.d.ts +0 -23
  201. package/dist/src/extensions/Blocks/Items/utils/syncAttributeFromConfigBlock.d.ts +0 -32
  202. package/dist/src/extensions/Blocks/Items/utils/syncAttributesFromConfigBlock.d.ts +0 -50
  203. package/dist/src/extensions/Blocks/Items/utils/updateAttributes.d.ts +0 -8
  204. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
  205. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
  206. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
  207. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
  208. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
  209. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
  210. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
  211. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
  212. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
  213. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
  214. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
  215. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
  216. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
  217. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
  218. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
  219. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
  220. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
  221. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
  222. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
  223. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
  224. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
  225. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
  226. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
  227. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
  228. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
  229. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
  230. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
  231. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
  232. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
  233. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
  234. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
  235. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
  236. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
  237. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
  238. package/dist/static/assets/inbox-mockup.svg.js +0 -4
  239. package/dist/static/assets/phone-mockup.svg.js +0 -4
@@ -1,70 +1,58 @@
1
- var d = Object.defineProperty;
2
- var h = (i, t, e) => t in i ? d(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e;
3
- var n = (i, t, e) => h(i, typeof t != "symbol" ? t + "" : t, e);
4
- import { ModificationDescription as a, UIElementType as l, UEAttr as g } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
- import { CommonControl as c } from "../../../common-control.js";
6
- import { ItemsBlockControlId as p } from "../../enums/controlEnums.js";
7
- import { SETTINGS_ENUMS as I } from "../../enums/settingsEnums.js";
8
- import { useItemsBlockStore as N } from "../../store/items-block.js";
9
- import { syncNameTrimmingFromAttributes as M } from "../../utils/syncAttributesFromConfigBlock.js";
10
- import { updateConfigBlockAttributes as u } from "../../utils/updateAttributes.js";
11
- const y = p.NAME_TRIMMING, o = {
1
+ import { ModificationDescription as s, UIElementType as a, UEAttr as T } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { CommonControl as d } from "../../../common-control.js";
3
+ import { ItemsBlockControlId as l } from "../../enums/controlEnums.js";
4
+ import { SETTINGS_ENUMS as h } from "../../enums/settingsEnums.js";
5
+ import { getItemsBlockConfig as r, setItemsBlockConfig as c } from "../../utils/nodeConfigUtils.js";
6
+ const I = l.NAME_TRIMMING, n = {
12
7
  TRIMMING: "trimming"
13
8
  };
14
- class _ extends c {
15
- constructor() {
16
- super(...arguments);
17
- n(this, "store", N());
18
- }
9
+ class S extends d {
19
10
  getId() {
20
- return y;
11
+ return I;
21
12
  }
22
13
  getTemplate() {
23
14
  return `
24
- <div class="${p.NAME_TRIMMING}">
15
+ <div class="container ${l.NAME_TRIMMING}">
25
16
  ${this._getTextTrimming()}
26
17
  </div>
27
18
  `;
28
19
  }
29
20
  onRender() {
30
- this.api.updateValues({ [o.TRIMMING]: this.store.nameTrimming }), this.api.onValueChanged(o.TRIMMING, (e) => {
31
- this._onTrimmingChange(e);
21
+ const e = r(this.currentNode);
22
+ this.api.updateValues({ [n.TRIMMING]: (e == null ? void 0 : e.nameTrimming) ?? !0 }), this.api.onValueChanged(n.TRIMMING, (t) => {
23
+ this._onTrimmingChange(t);
32
24
  });
33
25
  }
34
26
  onTemplateNodeUpdated(e) {
35
- super.onTemplateNodeUpdated(e), this.handleBlockInstanceChange(
36
- () => M(this.currentNode),
37
- () => {
38
- this.api.updateValues({ [o.TRIMMING]: this.store.nameTrimming });
39
- }
40
- );
27
+ super.onTemplateNodeUpdated(e), this.handleBlockInstanceChange(() => {
28
+ const t = r(this.currentNode);
29
+ this.api.updateValues({ [n.TRIMMING]: (t == null ? void 0 : t.nameTrimming) ?? !0 });
30
+ });
41
31
  }
42
32
  _onTrimmingChange(e) {
43
- this.store.setNameTrimming(e), u(this.currentNode, this.api), this.api.updateValues({ [o.TRIMMING]: e }), this._applyTrimmingStyles(e);
33
+ c(this.currentNode, this.api, { nameTrimming: e }), this.api.updateValues({ [n.TRIMMING]: e }), this._applyTrimmingStyles(e);
44
34
  }
45
35
  _applyTrimmingStyles(e) {
46
- var s;
47
- const r = (s = this.currentNode) == null ? void 0 : s.querySelector("p > a");
48
- if (!r)
36
+ var m;
37
+ const t = (m = this.currentNode) == null ? void 0 : m.querySelector("p > a");
38
+ if (!t)
49
39
  return;
50
- const T = e !== void 0 ? e : this.store.nameTrimming, m = this.store.orientation === I.ORIENTATION.VERTICAL;
51
- T ? this.api.getDocumentModifier().modifyHtml(r).setStyle("white-space", "nowrap").setStyle("overflow", "hidden").setStyle("text-overflow", "ellipsis").setStyle("max-width", m ? "130px" : "520px").apply(new a("Text Trimming Enabled")) : this.api.getDocumentModifier().modifyHtml(r).removeStyle("white-space").removeStyle("overflow").removeStyle("text-overflow").removeStyle("max-width").setStyle("max-width", m ? "130px" : "520px").apply(new a("Text Trimming Disabled"));
40
+ const i = r(this.currentNode), p = e !== void 0 ? e : (i == null ? void 0 : i.nameTrimming) ?? !0, o = (i == null ? void 0 : i.orientation) === h.ORIENTATION.VERTICAL;
41
+ p ? this.api.getDocumentModifier().modifyHtml(t).setStyle("white-space", "nowrap").setStyle("overflow", "hidden").setStyle("text-overflow", "ellipsis").setStyle("max-width", o ? "130px" : "520px").apply(new s("Text Trimming Enabled")) : this.api.getDocumentModifier().modifyHtml(t).removeStyle("white-space").removeStyle("overflow").removeStyle("text-overflow").removeStyle("max-width").setStyle("max-width", o ? "130px" : "520px").apply(new s("Text Trimming Disabled"));
52
42
  }
53
43
  _getTextTrimming() {
54
44
  return `
55
- <div class="container">
56
- <div class="display-flex align-items-center justify-content-between">
57
- <${l.LABEL}
58
- ${g.LABEL.text}="${this.api.translate("Text Trimming")}"
59
- >
60
- </${l.LABEL}>
61
- ${this._GuToggle(o.TRIMMING)}
62
- </div>
45
+ <div class="display-flex align-items-center justify-content-between">
46
+ <${a.LABEL}
47
+ ${T.LABEL.text}="${this.api.translate("Text Trimming")}"
48
+ >
49
+ </${a.LABEL}>
50
+ ${this._GuToggle(n.TRIMMING)}
63
51
  </div>
64
52
  `;
65
53
  }
66
54
  }
67
55
  export {
68
- y as CONTROL_BLOCK_ID,
69
- _ as NameTrimmingControl
56
+ I as CONTROL_BLOCK_ID,
57
+ S as NameTrimmingControl
70
58
  };
@@ -1,58 +1,48 @@
1
- var L = Object.defineProperty;
2
- var R = (i, o, e) => o in i ? L(i, o, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[o] = e;
3
- var p = (i, o, e) => R(i, typeof o != "symbol" ? o + "" : o, e);
4
- import { currencyLocationMaps as m } from "../../../../../enums/extensions/recommendationBlock.js";
5
- import { UEAttr as N, ModificationDescription as I } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
6
- import { CommonControl as T } from "../../../common-control.js";
7
- import { ItemsBlockControlId as h } from "../../enums/controlEnums.js";
8
- import { useItemsBlockStore as E } from "../../store/items-block.js";
9
- import { syncCurrencyLocationFromAttributes as f } from "../../utils/syncAttributesFromConfigBlock.js";
10
- import { updateConfigBlockAttributes as O } from "../../utils/updateAttributes.js";
11
- const b = h.PRICE_CURRENCY_LOCATION, a = {
1
+ import { currencyLocationMaps as p } from "../../../../../enums/extensions/recommendationBlock.js";
2
+ import { UEAttr as y, ModificationDescription as R } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
3
+ import { CommonControl as L } from "../../../common-control.js";
4
+ import { ItemsBlockControlId as u } from "../../enums/controlEnums.js";
5
+ import { getItemsBlockConfig as l, setItemsBlockConfig as N, escapeReplacement as I } from "../../utils/nodeConfigUtils.js";
6
+ const T = u.PRICE_CURRENCY_LOCATION, i = {
12
7
  CURRENCY_LOCATION: "currencyLocation"
13
8
  };
14
- class Y extends T {
15
- constructor() {
16
- super(...arguments);
17
- p(this, "store", E());
18
- }
9
+ class $ extends L {
19
10
  getId() {
20
- return b;
11
+ return T;
21
12
  }
22
13
  getTemplate() {
23
14
  return `
24
- <div class="${h.PRICE_CURRENCY_LOCATION}">
15
+ <div class="container ${u.PRICE_CURRENCY_LOCATION}">
25
16
  ${this._getCurrencyLocation()}
26
17
  </div>
27
18
  `;
28
19
  }
29
20
  onRender() {
30
- this.api.setUIEAttribute(a.CURRENCY_LOCATION, N.SELECTPICKER.items, m), this.api.updateValues({ [a.CURRENCY_LOCATION]: this.store.currencyLocation }), this.api.onValueChanged(a.CURRENCY_LOCATION, (e) => {
31
- this._onCurrencyLocationChange(e);
21
+ const e = l(this.currentNode);
22
+ this.api.setUIEAttribute(i.CURRENCY_LOCATION, y.SELECTPICKER.items, p), this.api.updateValues({ [i.CURRENCY_LOCATION]: (e == null ? void 0 : e.priceCurrencyLocation) ?? "0" }), this.api.onValueChanged(i.CURRENCY_LOCATION, (t) => {
23
+ this._onCurrencyLocationChange(t);
32
24
  });
33
25
  }
34
26
  onTemplateNodeUpdated(e) {
35
- super.onTemplateNodeUpdated(e), this.handleBlockInstanceChange(
36
- () => f(this.currentNode),
37
- () => {
38
- this.api.updateValues({ [a.CURRENCY_LOCATION]: this.store.currencyLocation });
39
- }
40
- );
27
+ super.onTemplateNodeUpdated(e), this.handleBlockInstanceChange(() => {
28
+ const t = l(this.currentNode);
29
+ this.api.updateValues({ [i.CURRENCY_LOCATION]: (t == null ? void 0 : t.priceCurrencyLocation) ?? "0" });
30
+ });
41
31
  }
42
32
  _onCurrencyLocationChange(e) {
43
- if (console.debug("Currency location changed to: ", e), this.store.setCurrencyLocation(e), O(this.currentNode, this.api), !this.currentNode)
33
+ if (console.debug("Currency location changed to: ", e), N(this.currentNode, this.api, { priceCurrencyLocation: e }), !this.currentNode)
44
34
  return;
45
35
  const t = this._getPriceBlocks();
46
36
  if (!t || t.length === 0)
47
37
  return;
48
- const r = e || "0", { currencySymbol: n } = this.store;
49
- t.forEach((c) => {
50
- const s = this._getParagraph(c);
51
- if (!s)
38
+ const r = l(this.currentNode), n = e || "0", o = (r == null ? void 0 : r.priceCurrencySymbol) ?? "";
39
+ t.forEach((s) => {
40
+ const c = this._getParagraph(s);
41
+ if (!c)
52
42
  return;
53
- const u = s.getInnerHTML() || "", l = s.getInnerText() || "", C = (n == null ? void 0 : n.trim()) || "", d = this._removeCurrencySymbol(l, C), g = this._detectSymbolInText(l) || C, _ = this._buildPriceContent(d, g, r), y = u.replace(l, _);
54
- this.api.getDocumentModifier().modifyHtml(s).setInnerHtml(y).apply(new I(
55
- `Updated currency location to ${r === "1" ? "after" : "before"}`
43
+ const m = c.getInnerHTML().trim() || "", a = c.getInnerText().trim() || "", C = (o == null ? void 0 : o.trim()) || "", h = this._removeCurrencySymbol(a, C), d = this._detectSymbolInText(a) || C, g = this._buildPriceContent(h, d, n), _ = m.replace(a, I(g));
44
+ this.api.getDocumentModifier().modifyHtml(c).setInnerHtml(_).apply(new R(
45
+ `Updated currency location to ${n === "1" ? "after" : "before"}`
56
46
  ));
57
47
  });
58
48
  }
@@ -70,13 +60,13 @@ class Y extends T {
70
60
  const r = e || "";
71
61
  let n = r;
72
62
  if (t) {
73
- const c = new RegExp(`\\s*${this._escapeRegex(t)}\\s*`);
74
- n = r.replace(c, "").trim();
63
+ const o = new RegExp(`\\s*${this._escapeRegex(t)}\\s*`);
64
+ n = r.replace(o, "").trim();
75
65
  } else {
76
- const c = r.match(/([^0-9.,\s]+)/);
77
- if (c && c[1]) {
78
- const s = c[1].trim(), u = new RegExp(`\\s*${this._escapeRegex(s)}\\s*`);
79
- n = r.replace(u, "").trim();
66
+ const o = r.match(/([^0-9.,\s]+)/);
67
+ if (o && o[1]) {
68
+ const s = o[1].trim(), c = new RegExp(`\\s*${this._escapeRegex(s)}\\s*`);
69
+ n = r.replace(c, "").trim();
80
70
  }
81
71
  }
82
72
  return n;
@@ -93,15 +83,15 @@ class Y extends T {
93
83
  ${this._GuTwoColumns([
94
84
  this._GuLabel({ text: "Currency Location" }),
95
85
  this._GuSelect({
96
- name: a.CURRENCY_LOCATION,
86
+ name: i.CURRENCY_LOCATION,
97
87
  placeholder: "",
98
- options: m
88
+ options: p
99
89
  })
100
90
  ])}
101
91
  `;
102
92
  }
103
93
  }
104
94
  export {
105
- b as CONTROL_BLOCK_ID,
106
- Y as PriceCurrencyLocationControl
95
+ T as CONTROL_BLOCK_ID,
96
+ $ as PriceCurrencyLocationControl
107
97
  };
@@ -1,84 +1,81 @@
1
- var S = Object.defineProperty;
2
- var _ = (c, s, e) => s in c ? S(c, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : c[s] = e;
3
- var u = (c, s, e) => _(c, typeof s != "symbol" ? s + "" : s, e);
4
- import { ModificationDescription as b } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
- import { CommonControl as R } from "../../../common-control.js";
6
- import { ItemsBlockControlId as h } from "../../enums/controlEnums.js";
7
- import { useItemsBlockStore as f } from "../../store/items-block.js";
8
- import { syncCurrencySymbolFromAttributes as N } from "../../utils/syncAttributesFromConfigBlock.js";
9
- import { updateConfigBlockAttributes as B } from "../../utils/updateAttributes.js";
10
- const E = h.PRICE_CURRENCY_SYMBOL, m = {
1
+ var b = Object.defineProperty;
2
+ var R = (s, c, e) => c in s ? b(s, c, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[c] = e;
3
+ var h = (s, c, e) => R(s, typeof c != "symbol" ? c + "" : c, e);
4
+ import { ModificationDescription as N } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
+ import { CommonControl as B } from "../../../common-control.js";
6
+ import { ItemsBlockControlId as y } from "../../enums/controlEnums.js";
7
+ import { getItemsBlockConfig as m, setItemsBlockConfig as E, escapeReplacement as x } from "../../utils/nodeConfigUtils.js";
8
+ const I = y.PRICE_CURRENCY_SYMBOL, p = {
11
9
  CURRENCY_SYMBOL: "currencySymbol"
12
10
  };
13
- class P extends R {
11
+ class O extends B {
14
12
  constructor() {
15
13
  super(...arguments);
16
- u(this, "store", f());
17
- u(this, "originalPriceContents", /* @__PURE__ */ new Map());
14
+ h(this, "originalPriceContents", /* @__PURE__ */ new Map());
18
15
  }
19
16
  getId() {
20
- return E;
17
+ return I;
21
18
  }
22
19
  getTemplate() {
23
20
  return `
24
- <div class="${h.PRICE_CURRENCY_SYMBOL}">
21
+ <div class="container ${y.PRICE_CURRENCY_SYMBOL}">
25
22
  ${this._getCurrencySymbol()}
26
23
  </div>
27
24
  `;
28
25
  }
29
26
  onRender() {
30
- this.api.updateValues({ [m.CURRENCY_SYMBOL]: this.store.currencySymbol }), this._storeOriginalContents(), this.api.onValueChanged(m.CURRENCY_SYMBOL, (e) => {
31
- this._onCurrencySymbolChange(e);
27
+ const e = m(this.currentNode);
28
+ this.api.updateValues({ [p.CURRENCY_SYMBOL]: (e == null ? void 0 : e.priceCurrencySymbol) ?? "" }), this._storeOriginalContents(), this.api.onValueChanged(p.CURRENCY_SYMBOL, (t) => {
29
+ this._onCurrencySymbolChange(t);
32
30
  });
33
31
  }
34
32
  onDestroy() {
35
33
  super.onDestroy(), this.originalPriceContents.clear();
36
34
  }
37
35
  onTemplateNodeUpdated(e) {
38
- super.onTemplateNodeUpdated(e), this.handleBlockInstanceChange(
39
- () => N(this.currentNode),
40
- () => {
41
- this.api.updateValues({ [m.CURRENCY_SYMBOL]: this.store.currencySymbol }), this._storeOriginalContents();
42
- }
43
- );
36
+ super.onTemplateNodeUpdated(e), this.handleBlockInstanceChange(() => {
37
+ const t = m(this.currentNode);
38
+ this.api.updateValues({ [p.CURRENCY_SYMBOL]: (t == null ? void 0 : t.priceCurrencySymbol) ?? "" }), this._storeOriginalContents();
39
+ });
44
40
  }
45
41
  _onCurrencySymbolChange(e) {
46
42
  var i;
47
43
  console.debug("Currency symbol changed to: ", e);
48
- const r = ((i = this.store.currencySymbol) == null ? void 0 : i.trim()) || "";
49
- if (this.store.setCurrencySymbol(e), B(this.currentNode, this.api), !this.currentNode)
44
+ const t = m(this.currentNode), o = ((i = t == null ? void 0 : t.priceCurrencySymbol) == null ? void 0 : i.trim()) || "";
45
+ if (E(this.currentNode, this.api, { priceCurrencySymbol: e }), !this.currentNode)
50
46
  return;
51
- const t = this._getPriceBlocks();
52
- if (!t || t.length === 0)
47
+ const r = this._getPriceBlocks();
48
+ if (!r || r.length === 0)
53
49
  return;
54
- const o = (e == null ? void 0 : e.trim()) || "", { currencyLocation: n } = this.store;
55
- t.forEach((l) => {
56
- const a = this._getParagraph(l);
50
+ const n = (e == null ? void 0 : e.trim()) || "", l = (t == null ? void 0 : t.priceCurrencyLocation) ?? "0";
51
+ r.forEach((u) => {
52
+ const a = this._getParagraph(u);
57
53
  if (!a)
58
54
  return;
59
- const y = a.getInnerHTML() || "", p = a.getInnerText() || "", C = this._removeCurrencySymbol(p, r), g = this._buildPriceContent(C, o, n), d = y.replace(p, g);
60
- this.api.getDocumentModifier().modifyHtml(a).setInnerHtml(d).apply(new b(
61
- `Updated currency symbol to ${o || "removed"}`
55
+ const d = a.getInnerHTML().trim() || "", C = a.getInnerText().trim() || "", g = this._removeCurrencySymbol(C, o), _ = this._buildPriceContent(g, n, l), S = d.replace(C, x(_));
56
+ this.api.getDocumentModifier().modifyHtml(a).setInnerHtml(S).apply(new N(
57
+ `Updated currency symbol to ${n || "removed"}`
62
58
  ));
63
59
  });
64
60
  }
65
61
  _storeOriginalContents() {
66
62
  if (!this.currentNode)
67
63
  return;
64
+ const e = m(this.currentNode);
68
65
  this.currentNode.querySelectorAll(
69
66
  ".items-block-price"
70
- ).forEach((r) => {
71
- var o;
72
- const t = r.querySelector("p");
73
- if (t && !this.originalPriceContents.has(t)) {
74
- const n = t.getInnerText() || "", i = ((o = this.store.currencySymbol) == null ? void 0 : o.trim()) || "", l = this._removeCurrencySymbol(n, i);
75
- this.originalPriceContents.set(t, l);
67
+ ).forEach((o) => {
68
+ var n;
69
+ const r = o.querySelector("p");
70
+ if (r && !this.originalPriceContents.has(r)) {
71
+ const l = r.getInnerText() || "", i = ((n = e == null ? void 0 : e.priceCurrencySymbol) == null ? void 0 : n.trim()) || "", u = this._removeCurrencySymbol(l, i);
72
+ this.originalPriceContents.set(r, u);
76
73
  }
77
74
  });
78
75
  }
79
76
  _getPriceBlocks() {
80
- var e, r;
81
- return ((r = (e = this.currentNode) == null ? void 0 : e.closest(".items-block")) == null ? void 0 : r.querySelectorAll(".items-block-price")) || [];
77
+ var e, t;
78
+ return ((t = (e = this.currentNode) == null ? void 0 : e.closest(".items-block")) == null ? void 0 : t.querySelectorAll(".items-block-price")) || [];
82
79
  }
83
80
  _getParagraph(e) {
84
81
  return e.querySelector("p");
@@ -86,30 +83,30 @@ class P extends R {
86
83
  _escapeRegex(e) {
87
84
  return e.replace(/[-\\^$*+?().|[\]{}]/g, "\\$&");
88
85
  }
89
- _removeCurrencySymbol(e, r) {
90
- const t = e || "";
91
- let o = t;
92
- if (r) {
93
- const n = new RegExp(`\\s*${this._escapeRegex(r)}\\s*`);
94
- o = t.replace(n, "").trim();
86
+ _removeCurrencySymbol(e, t) {
87
+ const o = e || "";
88
+ let r = o;
89
+ if (t) {
90
+ const n = new RegExp(`\\s*${this._escapeRegex(t)}\\s*`);
91
+ r = o.replace(n, "").trim();
95
92
  } else {
96
- const n = t.match(/([^0-9.,\s]+)/);
93
+ const n = o.match(/([^0-9.,\s]+)/);
97
94
  if (n && n[1]) {
98
- const i = n[1].trim(), l = new RegExp(`\\s*${this._escapeRegex(i)}\\s*`);
99
- o = t.replace(l, "").trim();
95
+ const l = n[1].trim(), i = new RegExp(`\\s*${this._escapeRegex(l)}\\s*`);
96
+ r = o.replace(i, "").trim();
100
97
  }
101
98
  }
102
- return o;
99
+ return r;
103
100
  }
104
- _buildPriceContent(e, r, t) {
105
- return r ? t === "1" ? `${e}&nbsp;${r}` : `${r}&nbsp;${e}` : e;
101
+ _buildPriceContent(e, t, o) {
102
+ return t ? o === "1" ? `${e}&nbsp;${t}` : `${t}&nbsp;${e}` : e;
106
103
  }
107
104
  _getCurrencySymbol() {
108
105
  return `
109
106
  ${this._GuTwoColumns([
110
107
  this._GuLabel({ text: "Currency Symbol" }),
111
108
  this._GuTextInput({
112
- name: m.CURRENCY_SYMBOL,
109
+ name: p.CURRENCY_SYMBOL,
113
110
  placeholder: "Enter Currency Symbol",
114
111
  className: "es-180w"
115
112
  })
@@ -118,6 +115,6 @@ class P extends R {
118
115
  }
119
116
  }
120
117
  export {
121
- E as CONTROL_BLOCK_ID,
122
- P as PriceCurrencySymbolControl
118
+ I as CONTROL_BLOCK_ID,
119
+ O as PriceCurrencySymbolControl
123
120
  };
@@ -1,76 +1,71 @@
1
- var _ = Object.defineProperty;
2
- var I = (r, e, t) => e in r ? _(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t;
3
- var P = (r, e, t) => I(r, typeof e != "symbol" ? e + "" : e, t);
4
- import { ModificationDescription as F, UIElementType as m, UEAttr as C } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
- import { CommonControl as h } from "../../../common-control.js";
6
- import { ItemsBlockControlId as l, ItemsBlockId as A } from "../../enums/controlEnums.js";
7
- import { productPairs as T } from "../../enums/productEnums.js";
8
- import { useItemsBlockStore as u } from "../../store/items-block.js";
9
- import { syncFormattedPriceFromAttributes as g } from "../../utils/syncAttributesFromConfigBlock.js";
10
- import { updateConfigBlockAttributes as D } from "../../utils/updateAttributes.js";
11
- const f = l.PRICE_FORMATTED_PRICE, n = {
1
+ import { ModificationDescription as A, UIElementType as P, UEAttr as C } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { CommonControl as L } from "../../../common-control.js";
3
+ import { ItemsBlockControlId as p, ItemsBlockId as _ } from "../../enums/controlEnums.js";
4
+ import { productPairs as I } from "../../enums/productEnums.js";
5
+ import { getItemsBlockConfig as d, setItemsBlockConfig as D, escapeReplacement as h } from "../../utils/nodeConfigUtils.js";
6
+ const g = p.PRICE_FORMATTED_PRICE, s = {
12
7
  FORMATTED_PRICE: "formattedPrice"
13
8
  };
14
- class y extends h {
15
- constructor() {
16
- super(...arguments);
17
- P(this, "store", u());
18
- }
9
+ class $ extends L {
19
10
  getId() {
20
- return f;
11
+ return g;
21
12
  }
22
13
  getTemplate() {
23
14
  return `
24
- <div class="${l.PRICE_FORMATTED_PRICE}">
15
+ <div class="container ${p.PRICE_FORMATTED_PRICE}">
25
16
  ${this._getFormattedPrice()}
26
17
  </div>
27
18
  `;
28
19
  }
29
20
  onRender() {
30
- this.api.updateValues({ [n.FORMATTED_PRICE]: this.store.formattedPrice }), this.api.onValueChanged(n.FORMATTED_PRICE, (t) => {
21
+ const e = d(this.currentNode);
22
+ this.api.updateValues({ [s.FORMATTED_PRICE]: (e == null ? void 0 : e.priceFormatted) ?? !0 }), this.api.onValueChanged(s.FORMATTED_PRICE, (t) => {
31
23
  this._onFormattedPriceChange(t);
32
24
  });
33
25
  }
34
- onTemplateNodeUpdated(t) {
35
- super.onTemplateNodeUpdated(t), this.handleBlockInstanceChange(
36
- () => g(this.currentNode),
37
- () => {
38
- this.api.updateValues({ [n.FORMATTED_PRICE]: this.store.formattedPrice });
39
- }
40
- );
26
+ onTemplateNodeUpdated(e) {
27
+ super.onTemplateNodeUpdated(e), this.handleBlockInstanceChange(() => {
28
+ const t = d(this.currentNode);
29
+ this.api.updateValues({ [s.FORMATTED_PRICE]: (t == null ? void 0 : t.priceFormatted) ?? !0 });
30
+ });
41
31
  }
42
- _onFormattedPriceChange(t) {
43
- if (console.debug("Formatted price changed to: ", t), this.store.setFormattedPrice(t), D(this.currentNode, this.api), !this.currentNode)
32
+ _onFormattedPriceChange(e) {
33
+ if (console.debug("Formatted price changed to: ", e), D(this.currentNode, this.api, { priceFormatted: e }), !this.currentNode)
44
34
  return;
45
- const { itemsType: s } = this.store, i = T.PAIRS_FOR_EXTENSION.price[s], o = T.PAIRS_FOR_EXTENSION.originalPrice[s], [c, a] = t ? [i.DEFAULT_PRICE, i.DEFAULT_PRICE_FORMATTED] : [i.DEFAULT_PRICE_FORMATTED, i.DEFAULT_PRICE], [p, R] = t ? [o.DEFAULT_PRICE, o.DEFAULT_PRICE_FORMATTED] : [o.DEFAULT_PRICE_FORMATTED, o.DEFAULT_PRICE];
46
- this._updatePriceBlock(
47
- this.currentNode,
48
- c,
49
- a,
50
- "price"
51
- );
52
- const d = this.currentNode.closest(".items-block"), E = d == null ? void 0 : d.querySelector(`[esd-extension-block-id="${A.ORIGINAL_PRICE}"]`);
53
- E && this._updatePriceBlock(E, p, R, "original price");
35
+ const t = d(this.currentNode), n = (t == null ? void 0 : t.type) ?? "CART_ITEMS", i = (t == null ? void 0 : t.priceSinglePrice) ?? !1, r = I.PAIRS_FOR_EXTENSION.price[n], o = I.PAIRS_FOR_EXTENSION.originalPrice[n], [E, R] = e ? [
36
+ i ? r.DEFAULT_SINGLE_PRICE : r.DEFAULT_PRICE,
37
+ i ? r.DEFAULT_SINGLE_PRICE_FORMATTED : r.DEFAULT_PRICE_FORMATTED
38
+ ] : [
39
+ i ? r.DEFAULT_SINGLE_PRICE_FORMATTED : r.DEFAULT_PRICE_FORMATTED,
40
+ i ? r.DEFAULT_SINGLE_PRICE : r.DEFAULT_PRICE
41
+ ], l = i ? o.DEFAULT_SINGLE_PRICE : o.DEFAULT_PRICE, T = i ? o.DEFAULT_SINGLE_PRICE_FORMATTED : o.DEFAULT_PRICE_FORMATTED, [m, F] = e ? [l, T] : [T, l], c = this.currentNode.closest(".items-block");
42
+ ((c == null ? void 0 : c.querySelectorAll(
43
+ `[esd-extension-block-id="${_.PRICE}"]`
44
+ )) || []).forEach((a) => {
45
+ this._updatePriceBlock(a, E, R, e, "price");
46
+ }), ((c == null ? void 0 : c.querySelectorAll(
47
+ `[esd-extension-block-id="${_.ORIGINAL_PRICE}"]`
48
+ )) || []).forEach((a) => {
49
+ this._updatePriceBlock(a, m, F, e, "original price");
50
+ });
54
51
  }
55
- _updatePriceBlock(t, s, i, o) {
56
- const c = t.getInnerHTML().replace(s, i), a = `Updated ${o} to ${this.store.formattedPrice ? "formatted" : "unformatted"}`;
57
- this.api.getDocumentModifier().modifyHtml(t).setInnerHtml(c).apply(new F(a));
52
+ _updatePriceBlock(e, t, n, i, r) {
53
+ const o = e.getInnerHTML().trim().replace(t, h(n)), E = `Updated ${r} to ${i ? "formatted" : "unformatted"}`;
54
+ this.api.getDocumentModifier().modifyHtml(e).setInnerHtml(o).apply(new A(E));
58
55
  }
59
56
  _getFormattedPrice() {
60
57
  return `
61
- <div class="container">
62
- <div class="display-flex align-items-center justify-content-between">
63
- <${m.LABEL}
64
- ${C.LABEL.text}="${this.api.translate("Formatted Price (e.g. $9.90)")}"
65
- >
66
- </${m.LABEL}>
67
- ${this._GuToggle(n.FORMATTED_PRICE)}
68
- </div>
58
+ <div class="display-flex align-items-center justify-content-between">
59
+ <${P.LABEL}
60
+ ${C.LABEL.text}="${this.api.translate("Formatted Price (e.g. $9.90)")}"
61
+ >
62
+ </${P.LABEL}>
63
+ ${this._GuToggle(s.FORMATTED_PRICE)}
69
64
  </div>
70
65
  `;
71
66
  }
72
67
  }
73
68
  export {
74
- f as CONTROL_BLOCK_ID,
75
- y as PriceFormattedPriceControl
69
+ g as CONTROL_BLOCK_ID,
70
+ $ as PriceFormattedPriceControl
76
71
  };
@@ -1,61 +1,51 @@
1
- var d = Object.defineProperty;
2
- var a = (i, e, t) => e in i ? d(i, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : i[e] = t;
3
- var o = (i, e, t) => a(i, typeof e != "symbol" ? e + "" : e, t);
4
- import { UIElementType as n, UEAttr as c } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
- import { CommonControl as u } from "../../../common-control.js";
6
- import { ItemsBlockControlId as r } from "../../enums/controlEnums.js";
7
- import { useItemsBlockStore as D } from "../../store/items-block.js";
8
- import { syncHideDiscountFromAttributes as p } from "../../utils/syncAttributesFromConfigBlock.js";
9
- import { updateConfigBlockAttributes as I } from "../../utils/updateAttributes.js";
10
- const l = r.PRICE_HIDE_DISCOUNT, s = {
1
+ import { UIElementType as o, UEAttr as d } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { CommonControl as r } from "../../../common-control.js";
3
+ import { ItemsBlockControlId as n } from "../../enums/controlEnums.js";
4
+ import { getItemsBlockConfig as s, setItemsBlockConfig as a } from "../../utils/nodeConfigUtils.js";
5
+ const c = n.PRICE_HIDE_DISCOUNT, i = {
11
6
  HIDE_DISCOUNT: "hideDiscount"
12
7
  };
13
- class N extends u {
14
- constructor() {
15
- super(...arguments);
16
- o(this, "store", D());
17
- }
8
+ class C extends r {
18
9
  getId() {
19
- return l;
10
+ return c;
20
11
  }
21
12
  getTemplate() {
22
13
  return `
23
- <div class="${r.PRICE_HIDE_DISCOUNT}">
14
+ <div class="container ${n.PRICE_HIDE_DISCOUNT}">
24
15
  ${this._getHideDiscount()}
25
16
  </div>
26
17
  `;
27
18
  }
28
19
  onRender() {
29
- this.api.updateValues({ [s.HIDE_DISCOUNT]: this.store.hideDiscount }), this.api.onValueChanged(s.HIDE_DISCOUNT, (t) => {
20
+ const e = s(this.currentNode);
21
+ this.api.updateValues({ [i.HIDE_DISCOUNT]: (e == null ? void 0 : e.priceHideDiscount) ?? !0 }), this.api.onValueChanged(i.HIDE_DISCOUNT, (t) => {
30
22
  this._onHideDiscountChange(t);
31
23
  });
32
24
  }
33
- onTemplateNodeUpdated(t) {
34
- super.onTemplateNodeUpdated(t), this.handleBlockInstanceChange(
35
- () => p(this.currentNode),
36
- () => {
37
- this.api.updateValues({ [s.HIDE_DISCOUNT]: this.store.hideDiscount });
38
- }
39
- );
25
+ onTemplateNodeUpdated(e) {
26
+ super.onTemplateNodeUpdated(e), this.handleBlockInstanceChange(() => {
27
+ const t = s(this.currentNode);
28
+ this.api.updateValues({ [i.HIDE_DISCOUNT]: (t == null ? void 0 : t.priceHideDiscount) ?? !0 });
29
+ });
40
30
  }
41
- _onHideDiscountChange(t) {
42
- this.store.setHideDiscount(t), I(this.currentNode, this.api), this.api.updateValues({ [s.HIDE_DISCOUNT]: t });
31
+ _onHideDiscountChange(e) {
32
+ a(this.currentNode, this.api, { priceHideDiscount: e }), this.api.updateValues({ [i.HIDE_DISCOUNT]: e });
43
33
  }
44
34
  _getHideDiscount() {
45
35
  return `
46
- <div class="container">
36
+
47
37
  <div class="display-flex align-items-center justify-content-between">
48
- <${n.LABEL}
49
- ${c.LABEL.text}="${this.api.translate("Hide if same as discounted ")}"
38
+ <${o.LABEL}
39
+ ${d.LABEL.text}="${this.api.translate("Hide if same as discounted ")}"
50
40
  >
51
- </${n.LABEL}>
52
- ${this._GuToggle(s.HIDE_DISCOUNT)}
41
+ </${o.LABEL}>
42
+ ${this._GuToggle(i.HIDE_DISCOUNT)}
53
43
  </div>
54
44
  </div>
55
45
  `;
56
46
  }
57
47
  }
58
48
  export {
59
- l as CONTROL_BLOCK_ID,
60
- N as PriceHideDiscountControl
49
+ c as CONTROL_BLOCK_ID,
50
+ C as PriceHideDiscountControl
61
51
  };