@useinsider/guido 2.1.0-beta.e2d48fe → 2.1.0-beta.e4c3fa1

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 (183) hide show
  1. package/README.md +36 -0
  2. package/dist/@types/config/schemas.js +70 -65
  3. package/dist/components/Guido.vue.js +1 -1
  4. package/dist/components/Guido.vue2.js +69 -58
  5. package/dist/components/organisms/base/Toaster.vue.js +4 -4
  6. package/dist/components/organisms/base/Toaster.vue2.js +12 -9
  7. package/dist/components/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.js +5 -5
  8. package/dist/components/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue2.js +2 -2
  9. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +15 -14
  10. package/dist/components/organisms/header/HeaderWrapper.vue.js +9 -9
  11. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue.js +1 -1
  12. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue2.js +19 -19
  13. package/dist/composables/useActionsApi.js +15 -13
  14. package/dist/composables/useBlocksConfig.js +26 -16
  15. package/dist/composables/useHtmlValidator.js +114 -104
  16. package/dist/composables/useRecommendation.js +54 -21
  17. package/dist/composables/useStripo.js +25 -23
  18. package/dist/composables/useVersionHistoryApi.js +1 -1
  19. package/dist/config/compiler/recommendationCompilerRules.js +45 -39
  20. package/dist/config/compiler/utils/recommendationCompilerUtils.js +121 -0
  21. package/dist/config/i18n/en/index.js +11 -0
  22. package/dist/config/i18n/en/labels.json.js +7 -0
  23. package/dist/config/i18n/en/toasters.json.js +56 -0
  24. package/dist/config/i18n/en/tooltips.json.js +82 -0
  25. package/dist/config/i18n/index.js +7 -0
  26. package/dist/config/migrator/itemsBlockMigrator.js +127 -122
  27. package/dist/config/migrator/recommendationMigrator.js +2 -2
  28. package/dist/enums/defaults.js +8 -4
  29. package/dist/enums/extensions/recommendationBlock.js +1 -1
  30. package/dist/enums/recommendation.js +16 -15
  31. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +29 -29
  32. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +29 -29
  33. package/dist/extensions/Blocks/Items/controls/price/formattedPrice.js +31 -29
  34. package/dist/extensions/Blocks/Items/controls/price/hideDiscount.js +0 -1
  35. package/dist/extensions/Blocks/Items/controls/price/singlePrice.js +29 -27
  36. package/dist/extensions/Blocks/Items/settingsPanel.js +10 -15
  37. package/dist/extensions/Blocks/Recommendation/block.js +133 -9
  38. package/dist/extensions/Blocks/Recommendation/constants/blockIds.js +4 -0
  39. package/dist/extensions/Blocks/Recommendation/constants/controlIds.js +4 -0
  40. package/dist/extensions/Blocks/Recommendation/constants/defaultConfig.js +69 -0
  41. package/dist/extensions/Blocks/Recommendation/constants/layout.js +24 -0
  42. package/dist/extensions/Blocks/Recommendation/constants/selectors.js +22 -0
  43. package/dist/extensions/Blocks/Recommendation/controls/button/index.js +64 -0
  44. package/dist/extensions/Blocks/Recommendation/controls/cardBackground/index.js +80 -0
  45. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +232 -0
  46. package/dist/extensions/Blocks/Recommendation/controls/image/index.js +19 -0
  47. package/dist/extensions/Blocks/Recommendation/controls/layout/index.js +102 -0
  48. package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +102 -0
  49. package/dist/extensions/Blocks/Recommendation/controls/main/currency.js +207 -0
  50. package/dist/extensions/Blocks/Recommendation/controls/main/filters.js +52 -0
  51. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +321 -0
  52. package/dist/extensions/Blocks/Recommendation/controls/main/locale.js +70 -0
  53. package/dist/extensions/Blocks/Recommendation/controls/main/productLayout.js +168 -0
  54. package/dist/extensions/Blocks/Recommendation/controls/main/shuffle.js +67 -0
  55. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +361 -0
  56. package/dist/extensions/Blocks/Recommendation/controls/mobileLayout/cssRules.js +21 -0
  57. package/dist/extensions/Blocks/Recommendation/controls/name/index.js +46 -0
  58. package/dist/extensions/Blocks/Recommendation/controls/name/textTrim.js +108 -0
  59. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/index.js +44 -0
  60. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.js +48 -0
  61. package/dist/extensions/Blocks/Recommendation/controls/{omnibusDiscountTextAfterControl.js → omnibusDiscount/textAfter.js} +16 -14
  62. package/dist/extensions/Blocks/Recommendation/controls/{omnibusDiscountTextBeforeControl.js → omnibusDiscount/textBefore.js} +16 -14
  63. package/dist/extensions/Blocks/Recommendation/controls/omnibusPrice/index.js +48 -0
  64. package/dist/extensions/Blocks/Recommendation/controls/{omnibusPriceTextAfterControl.js → omnibusPrice/textAfter.js} +16 -14
  65. package/dist/extensions/Blocks/Recommendation/controls/{omnibusPriceTextBeforeControl.js → omnibusPrice/textBefore.js} +14 -12
  66. package/dist/extensions/Blocks/Recommendation/controls/price/index.js +44 -0
  67. package/dist/extensions/Blocks/Recommendation/controls/spacing/index.js +345 -0
  68. package/dist/extensions/Blocks/Recommendation/extension.js +40 -17
  69. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +19 -3
  70. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +13 -4
  71. package/dist/extensions/Blocks/Recommendation/services/configService.js +240 -0
  72. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +21 -10
  73. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +297 -209
  74. package/dist/extensions/Blocks/Recommendation/templates/grid/elementRenderer.js +228 -0
  75. package/dist/extensions/Blocks/Recommendation/templates/grid/migration.js +251 -0
  76. package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +66 -0
  77. package/dist/extensions/Blocks/Recommendation/templates/index.js +12 -0
  78. package/dist/extensions/Blocks/Recommendation/templates/list/elementRenderer.js +169 -0
  79. package/dist/extensions/Blocks/Recommendation/templates/list/template.js +73 -0
  80. package/dist/extensions/Blocks/Recommendation/templates/utils.js +134 -0
  81. package/dist/extensions/Blocks/Recommendation/types/nodeConfig.js +6 -0
  82. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +9 -9
  83. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +26 -15
  84. package/dist/extensions/Blocks/Recommendation/utils/priceFormatter.js +29 -0
  85. package/dist/extensions/Blocks/Recommendation/utils/tagName.js +46 -0
  86. package/dist/extensions/Blocks/Unsubscribe/block.js +29 -29
  87. package/dist/extensions/Blocks/Unsubscribe/control.js +12 -9
  88. package/dist/extensions/Blocks/Unsubscribe/elements/preview.js +13 -11
  89. package/dist/extensions/Blocks/Unsubscribe/styles.css.js +31 -1
  90. package/dist/extensions/Blocks/controlFactories.js +125 -93
  91. package/dist/extensions/ModulesTabIcons/extension.js +17 -0
  92. package/dist/guido.css +1 -1
  93. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +317 -193
  94. package/dist/services/recommendationApi.js +11 -8
  95. package/dist/services/stripoApi.js +20 -17
  96. package/dist/services/templateLibraryApi.js +16 -13
  97. package/dist/src/@types/config/schemas.d.ts +8 -0
  98. package/dist/src/components/wrappers/WpDrawer.vue.d.ts +1 -1
  99. package/dist/src/composables/useConfig.d.ts +4 -0
  100. package/dist/src/composables/useRecommendation.d.ts +1 -0
  101. package/dist/src/config/compiler/utils/recommendationCompilerUtils.d.ts +17 -0
  102. package/dist/src/config/i18n/en/index.d.ts +1 -0
  103. package/dist/src/config/i18n/index.d.ts +16 -0
  104. package/dist/src/enums/defaults.d.ts +4 -0
  105. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +67 -0
  106. package/dist/src/extensions/Blocks/Recommendation/constants/blockIds.d.ts +13 -0
  107. package/dist/src/extensions/Blocks/Recommendation/{constants.d.ts → constants/controlIds.d.ts} +0 -24
  108. package/dist/src/extensions/Blocks/Recommendation/constants/defaultConfig.d.ts +55 -0
  109. package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +13 -0
  110. package/dist/src/extensions/Blocks/Recommendation/constants/layout.d.ts +45 -0
  111. package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +40 -0
  112. package/dist/src/extensions/Blocks/Recommendation/controls/button/index.d.ts +143 -0
  113. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackground/index.d.ts +31 -0
  114. package/dist/src/extensions/Blocks/Recommendation/{cardCompositionControl.d.ts → controls/cardComposition/index.d.ts} +23 -3
  115. package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +35 -0
  116. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +21 -589
  117. package/dist/src/extensions/Blocks/Recommendation/controls/layout/index.d.ts +37 -0
  118. package/dist/src/extensions/Blocks/Recommendation/controls/main/algorithm.d.ts +29 -0
  119. package/dist/src/extensions/Blocks/Recommendation/controls/main/currency.d.ts +52 -0
  120. package/dist/src/extensions/Blocks/Recommendation/controls/main/filters.d.ts +22 -0
  121. package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +102 -0
  122. package/dist/src/extensions/Blocks/Recommendation/controls/main/locale.d.ts +24 -0
  123. package/dist/src/extensions/Blocks/Recommendation/controls/main/productLayout.d.ts +60 -0
  124. package/dist/src/extensions/Blocks/Recommendation/controls/main/shuffle.d.ts +23 -0
  125. package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.d.ts +231 -0
  126. package/dist/src/extensions/Blocks/Recommendation/controls/mobileLayout/cssRules.d.ts +29 -0
  127. package/dist/src/extensions/Blocks/Recommendation/controls/name/index.d.ts +97 -0
  128. package/dist/src/extensions/Blocks/Recommendation/controls/name/textTrim.d.ts +34 -0
  129. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/index.d.ts +95 -0
  130. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/index.d.ts +100 -0
  131. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textAfter.d.ts +15 -0
  132. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscount/textBefore.d.ts +15 -0
  133. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/index.d.ts +100 -0
  134. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textAfter.d.ts +15 -0
  135. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPrice/textBefore.d.ts +15 -0
  136. package/dist/src/extensions/Blocks/Recommendation/controls/price/index.d.ts +95 -0
  137. package/dist/src/extensions/Blocks/Recommendation/controls/spacing/index.d.ts +115 -0
  138. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +9 -0
  139. package/dist/src/extensions/Blocks/Recommendation/services/configService.d.ts +151 -0
  140. package/dist/src/extensions/Blocks/Recommendation/services/index.d.ts +6 -0
  141. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +139 -468
  142. package/dist/src/extensions/Blocks/Recommendation/templates/grid/elementRenderer.d.ts +20 -0
  143. package/dist/src/extensions/Blocks/Recommendation/templates/{migrationTemplate.d.ts → grid/migration.d.ts} +11 -4
  144. package/dist/src/extensions/Blocks/Recommendation/templates/grid/template.d.ts +33 -0
  145. package/dist/src/extensions/Blocks/Recommendation/templates/index.d.ts +41 -0
  146. package/dist/src/extensions/Blocks/Recommendation/templates/list/elementRenderer.d.ts +8 -0
  147. package/dist/src/extensions/Blocks/Recommendation/templates/list/migration.d.ts +25 -0
  148. package/dist/src/extensions/Blocks/Recommendation/templates/list/template.d.ts +18 -0
  149. package/dist/src/extensions/Blocks/Recommendation/templates/utils.d.ts +66 -0
  150. package/dist/src/extensions/Blocks/Recommendation/types/index.d.ts +7 -0
  151. package/dist/src/extensions/Blocks/Recommendation/types/nodeConfig.d.ts +174 -0
  152. package/dist/src/extensions/Blocks/Recommendation/utils/priceFormatter.d.ts +33 -0
  153. package/dist/src/extensions/Blocks/Recommendation/utils/stylePreserver.d.ts +113 -0
  154. package/dist/src/extensions/Blocks/Recommendation/utils/tagName.d.ts +77 -0
  155. package/dist/src/extensions/Blocks/Unsubscribe/control.d.ts +1 -0
  156. package/dist/src/extensions/ModulesTabIcons/extension.d.ts +2 -0
  157. package/dist/src/stores/config.d.ts +36 -0
  158. package/dist/static/styles/components/notification.css.js +19 -0
  159. package/dist/static/styles/components/tools.css.js +6 -2
  160. package/dist/static/styles/components/version-history.css.js +10 -2
  161. package/dist/static/styles/components/wide-panel.css.js +18 -2
  162. package/dist/static/styles/customEditorStyle.css.js +35 -11
  163. package/dist/static/styles/variables.css.js +2 -0
  164. package/dist/static/templates/empty/index.html.js +74 -0
  165. package/dist/static/templates/empty/style.css.js +779 -0
  166. package/dist/stores/unsubscribe.js +37 -34
  167. package/dist/utils/pairProductVariables.js +57 -56
  168. package/dist/utils/templatePreparation.js +15 -14
  169. package/package.json +1 -1
  170. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +0 -187
  171. package/dist/extensions/Blocks/Recommendation/constants.js +0 -13
  172. package/dist/extensions/Blocks/Recommendation/control.js +0 -336
  173. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +0 -68
  174. package/dist/extensions/Blocks/Recommendation/controls/index.js +0 -245
  175. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +0 -74
  176. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +0 -188
  177. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +0 -181
  178. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +0 -189
  179. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +0 -209
  180. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +0 -38
  181. package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +0 -16
  182. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +0 -16
  183. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +0 -52
@@ -0,0 +1,108 @@
1
+ import { ModificationDescription as a } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { CommonControl as c } from "../../../common-control.js";
3
+ import { RecommendationBlockId as l } from "../../constants/blockIds.js";
4
+ import { RecommendationControlId as m } from "../../constants/controlIds.js";
5
+ import { BLOCK_ROOT_SELECTOR as u } from "../../constants/selectors.js";
6
+ const i = {
7
+ TEXT_TRIM_ENABLED: "textTrimEnabled"
8
+ }, o = "text-trim-enabled", d = `.${o}`, T = `.${o} p`, _ = `.${o} { max-width: 0; }`, f = `.${o} p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin: 0; display: block; }`;
9
+ class N extends c {
10
+ getId() {
11
+ return m.NAME_TEXT_TRIM;
12
+ }
13
+ getTemplate() {
14
+ return `
15
+ <div class="name-text-trim-control-container">
16
+ ${this._GuTwoColumns([
17
+ this._GuLabel({ text: "Trim Long Text" }),
18
+ this._GuToggle(i.TEXT_TRIM_ENABLED)
19
+ ])}
20
+ </div>
21
+ `;
22
+ }
23
+ onRender() {
24
+ this._setFormValues(), this._listenToFormUpdates();
25
+ }
26
+ onTemplateNodeUpdated(e) {
27
+ super.onTemplateNodeUpdated(e), this._setFormValues();
28
+ }
29
+ _setFormValues() {
30
+ const e = this._getCurrentTrimState();
31
+ this.api.updateValues({
32
+ [i.TEXT_TRIM_ENABLED]: e
33
+ });
34
+ }
35
+ _getCurrentTrimState() {
36
+ if (!this.currentNode || !("hasClass" in this.currentNode))
37
+ return !1;
38
+ if (this.currentNode.hasClass(o))
39
+ return !0;
40
+ const e = this.currentNode.closest(u);
41
+ if (!e)
42
+ return !1;
43
+ const t = e.querySelector(
44
+ `[esd-extension-block-id="${l.NAME}"]`
45
+ );
46
+ return t && "hasClass" in t ? t.hasClass(o) : !1;
47
+ }
48
+ /**
49
+ * Finds an existing CSS rule in the document stylesheet by exact query
50
+ * @param query - The CSS query to search for (uses Stripo's CSS query syntax)
51
+ * @returns The CSS rule node if found, undefined otherwise
52
+ */
53
+ _findCssRule(e) {
54
+ const t = this.api.getDocumentRootCssNode();
55
+ if (t)
56
+ return t.querySelector(e);
57
+ }
58
+ /**
59
+ * Finds the .text-trim-enabled p rule by searching all text-trim rules and comparing selectors
60
+ * This is needed because Stripo's CSS query syntax interprets spaces as path separators
61
+ * @returns true if the rule exists
62
+ */
63
+ _hasParagraphRule() {
64
+ const e = this.api.getDocumentRootCssNode();
65
+ return e ? e.querySelectorAll(`*${o}`).some((s) => "getSelector" in s && typeof s.getSelector == "function" ? s.getSelector() === T : !1) : !1;
66
+ }
67
+ /**
68
+ * Ensures the text-trim CSS rules exist in the document stylesheet
69
+ * Only adds rules if they don't already exist (prevents duplicates across multiple blocks)
70
+ */
71
+ _ensureCssRulesExist() {
72
+ const e = this.api.getDocumentRootCssNode();
73
+ if (!e)
74
+ return;
75
+ const t = this.api.getDocumentModifier();
76
+ let s = !1;
77
+ this._findCssRule(d) || (t.modifyCss(e).appendRule(_), s = !0), this._hasParagraphRule() || (t.modifyCss(e).appendRule(f), s = !0), s && t.apply(new a("Add text trim CSS rules"));
78
+ }
79
+ _onTextTrimChange(e) {
80
+ if (!this.currentNode || !("closest" in this.currentNode))
81
+ return;
82
+ const t = this.currentNode.closest(u);
83
+ if (!t || !("querySelectorAll" in t))
84
+ return;
85
+ const s = Array.from(
86
+ t.querySelectorAll(`[esd-extension-block-id="${l.NAME}"]`)
87
+ );
88
+ if (!s.length)
89
+ return;
90
+ e && this._ensureCssRulesExist();
91
+ const r = this.api.getDocumentModifier();
92
+ s.forEach((n) => {
93
+ e ? r.modifyHtml(n).setClass(o) : r.modifyHtml(n).removeClass(o);
94
+ }), r.apply(
95
+ new a(
96
+ e ? "Enable product name text trimming" : "Disable product name text trimming"
97
+ )
98
+ );
99
+ }
100
+ _listenToFormUpdates() {
101
+ this.api.onValueChanged(i.TEXT_TRIM_ENABLED, (e) => {
102
+ this._onTextTrimChange(e);
103
+ });
104
+ }
105
+ }
106
+ export {
107
+ N as NameTextTrimControl
108
+ };
@@ -0,0 +1,44 @@
1
+ import { createPaddingsControl as r, createTextBackgroundColorControl as C, createTextFontFamilyControl as e, createTextStyleControl as l, createTextSizeControl as _, createTextColorControl as c, createTextAlignControl as O } from "../../../controlFactories.js";
2
+ import { RecommendationBlockId as o } from "../../constants/blockIds.js";
3
+ import { RecommendationControlId as t } from "../../constants/controlIds.js";
4
+ import { BLOCK_ROOT_SELECTOR as n } from "../../constants/selectors.js";
5
+ const I = O(
6
+ t.OLD_PRICE_ALIGN,
7
+ o.OLD_PRICE,
8
+ n
9
+ ), L = c(
10
+ t.OLD_PRICE_COLOR,
11
+ o.OLD_PRICE,
12
+ n
13
+ ), R = _(
14
+ t.OLD_PRICE_SIZE,
15
+ o.OLD_PRICE,
16
+ n
17
+ ), a = l(
18
+ t.OLD_PRICE_STYLE,
19
+ o.OLD_PRICE,
20
+ n
21
+ ), i = e(
22
+ t.OLD_PRICE_FONT_FAMILY,
23
+ o.OLD_PRICE,
24
+ n
25
+ ), E = C(
26
+ t.OLD_PRICE_BACKGROUND,
27
+ o.OLD_PRICE,
28
+ n
29
+ ), P = r(
30
+ t.OLD_PRICE_PADDINGS,
31
+ o.OLD_PRICE,
32
+ n
33
+ ), T = {
34
+ align: I,
35
+ color: L,
36
+ size: R,
37
+ style: a,
38
+ fontFamily: i,
39
+ background: E,
40
+ paddings: P
41
+ };
42
+ export {
43
+ T as OldPriceControls
44
+ };
@@ -0,0 +1,48 @@
1
+ import { createPaddingsControl as n, createTextBackgroundColorControl as e, createTextFontFamilyControl as C, createTextStyleControl as O, createTextSizeControl as S, createTextColorControl as I, createTextAlignControl as l } from "../../../controlFactories.js";
2
+ import { RecommendationBlockId as o } from "../../constants/blockIds.js";
3
+ import { RecommendationControlId as t } from "../../constants/controlIds.js";
4
+ import { BLOCK_ROOT_SELECTOR as r } from "../../constants/selectors.js";
5
+ import { OmnibusDiscountTextAfterControl as N } from "./textAfter.js";
6
+ import { OmnibusDiscountTextBeforeControl as U } from "./textBefore.js";
7
+ const i = l(
8
+ t.OMNIBUS_DISCOUNT_ALIGN,
9
+ o.OMNIBUS_DISCOUNT,
10
+ r
11
+ ), T = I(
12
+ t.OMNIBUS_DISCOUNT_COLOR,
13
+ o.OMNIBUS_DISCOUNT,
14
+ r
15
+ ), c = S(
16
+ t.OMNIBUS_DISCOUNT_SIZE,
17
+ o.OMNIBUS_DISCOUNT,
18
+ r
19
+ ), _ = O(
20
+ t.OMNIBUS_DISCOUNT_STYLE,
21
+ o.OMNIBUS_DISCOUNT,
22
+ r
23
+ ), m = C(
24
+ t.OMNIBUS_DISCOUNT_FONT_FAMILY,
25
+ o.OMNIBUS_DISCOUNT,
26
+ r
27
+ ), B = e(
28
+ t.OMNIBUS_DISCOUNT_BACKGROUND,
29
+ o.OMNIBUS_DISCOUNT,
30
+ r
31
+ ), s = n(
32
+ t.OMNIBUS_DISCOUNT_PADDINGS,
33
+ o.OMNIBUS_DISCOUNT,
34
+ r
35
+ ), g = {
36
+ align: i,
37
+ color: T,
38
+ size: c,
39
+ style: _,
40
+ fontFamily: m,
41
+ background: B,
42
+ paddings: s,
43
+ textBefore: U,
44
+ textAfter: N
45
+ };
46
+ export {
47
+ g as OmnibusDiscountControls
48
+ };
@@ -1,11 +1,13 @@
1
- import { ModificationDescription as a } from "../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { CommonControl as m } from "../../common-control.js";
3
- import { RecommendationControlId as l, RecommendationBlockId as d } from "../constants.js";
4
- import { preserveTextStyles as T } from "../utils/preserveTextStyles.js";
5
- const f = ".ins-recommendation-product-container", i = "data-text-after", u = "", p = ".omnibus-text-after";
6
- class E extends m {
1
+ import { ModificationDescription as c } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { CommonControl as a } from "../../../common-control.js";
3
+ import { RecommendationBlockId as l } from "../../constants/blockIds.js";
4
+ import { RecommendationControlId as d } from "../../constants/controlIds.js";
5
+ import { BLOCK_ROOT_SELECTOR as T } from "../../constants/selectors.js";
6
+ import { preserveTextStyles as f } from "../../utils/preserveTextStyles.js";
7
+ const i = "data-text-after", u = "", p = ".omnibus-text-after";
8
+ class g extends a {
7
9
  getId() {
8
- return l.OMNIBUS_DISCOUNT_TEXT_AFTER;
10
+ return d.OMNIBUS_DISCOUNT_TEXT_AFTER;
9
11
  }
10
12
  getTemplate() {
11
13
  return `
@@ -42,11 +44,11 @@ class E extends m {
42
44
  _onTextChange(t) {
43
45
  if (!this.currentNode || !("closest" in this.currentNode))
44
46
  return;
45
- const e = this.currentNode.closest(f);
47
+ const e = this.currentNode.closest(T);
46
48
  if (!e || !("querySelectorAll" in e))
47
49
  return;
48
50
  const n = Array.from(
49
- e.querySelectorAll(`[esd-extension-block-id="${d.OMNIBUS_DISCOUNT}"]`)
51
+ e.querySelectorAll(`[esd-extension-block-id="${l.OMNIBUS_DISCOUNT}"]`)
50
52
  );
51
53
  if (!n.length)
52
54
  return;
@@ -55,17 +57,17 @@ class E extends m {
55
57
  o.modifyHtml(s).setAttribute(i, t);
56
58
  const r = s.querySelector(p);
57
59
  if (r) {
58
- const c = T(r, t);
59
- o.modifyHtml(r).setInnerHtml(c);
60
+ const m = f(r, t);
61
+ o.modifyHtml(r).setInnerHtml(m);
60
62
  }
61
- }), o.apply(new a("Update omnibus discount text after"));
63
+ }), o.apply(new c("Update omnibus discount text after"));
62
64
  }
63
65
  _listenToFormUpdates() {
64
66
  this.api.onValueChanged("omnibusDiscountTextAfter", (t) => {
65
- this._onTextChange(t);
67
+ typeof t == "string" && this._onTextChange(t);
66
68
  });
67
69
  }
68
70
  }
69
71
  export {
70
- E as OmnibusDiscountTextAfterControl
72
+ g as OmnibusDiscountTextAfterControl
71
73
  };
@@ -1,11 +1,13 @@
1
- import { ModificationDescription as m } from "../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { CommonControl as a } from "../../common-control.js";
3
- import { RecommendationControlId as l, RecommendationBlockId as d } from "../constants.js";
4
- import { preserveTextStyles as T } from "../utils/preserveTextStyles.js";
5
- const f = ".ins-recommendation-product-container", i = "data-text-before", u = "", p = ".omnibus-text-before";
6
- class C extends a {
1
+ import { ModificationDescription as c } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { CommonControl as l } from "../../../common-control.js";
3
+ import { RecommendationBlockId as a } from "../../constants/blockIds.js";
4
+ import { RecommendationControlId as d } from "../../constants/controlIds.js";
5
+ import { BLOCK_ROOT_SELECTOR as T } from "../../constants/selectors.js";
6
+ import { preserveTextStyles as f } from "../../utils/preserveTextStyles.js";
7
+ const i = "data-text-before", u = "", p = ".omnibus-text-before";
8
+ class g extends l {
7
9
  getId() {
8
- return l.OMNIBUS_DISCOUNT_TEXT_BEFORE;
10
+ return d.OMNIBUS_DISCOUNT_TEXT_BEFORE;
9
11
  }
10
12
  getTemplate() {
11
13
  return `
@@ -42,11 +44,11 @@ class C extends a {
42
44
  _onTextChange(e) {
43
45
  if (!this.currentNode || !("closest" in this.currentNode))
44
46
  return;
45
- const t = this.currentNode.closest(f);
47
+ const t = this.currentNode.closest(T);
46
48
  if (!t || !("querySelectorAll" in t))
47
49
  return;
48
50
  const n = Array.from(
49
- t.querySelectorAll(`[esd-extension-block-id="${d.OMNIBUS_DISCOUNT}"]`)
51
+ t.querySelectorAll(`[esd-extension-block-id="${a.OMNIBUS_DISCOUNT}"]`)
50
52
  );
51
53
  if (!n.length)
52
54
  return;
@@ -55,17 +57,17 @@ class C extends a {
55
57
  o.modifyHtml(s).setAttribute(i, e);
56
58
  const r = s.querySelector(p);
57
59
  if (r) {
58
- const c = T(r, e);
59
- o.modifyHtml(r).setInnerHtml(c);
60
+ const m = f(r, e);
61
+ o.modifyHtml(r).setInnerHtml(m);
60
62
  }
61
- }), o.apply(new m("Update omnibus discount text before"));
63
+ }), o.apply(new c("Update omnibus discount text before"));
62
64
  }
63
65
  _listenToFormUpdates() {
64
66
  this.api.onValueChanged("omnibusDiscountTextBefore", (e) => {
65
- this._onTextChange(e);
67
+ typeof e == "string" && this._onTextChange(e);
66
68
  });
67
69
  }
68
70
  }
69
71
  export {
70
- C as OmnibusDiscountTextBeforeControl
72
+ g as OmnibusDiscountTextBeforeControl
71
73
  };
@@ -0,0 +1,48 @@
1
+ import { createPaddingsControl as n, createTextBackgroundColorControl as e, createTextFontFamilyControl as C, createTextStyleControl as I, createTextSizeControl as l, createTextColorControl as i, createTextAlignControl as c } from "../../../controlFactories.js";
2
+ import { RecommendationBlockId as o } from "../../constants/blockIds.js";
3
+ import { RecommendationControlId as t } from "../../constants/controlIds.js";
4
+ import { BLOCK_ROOT_SELECTOR as r } from "../../constants/selectors.js";
5
+ import { OmnibusPriceTextAfterControl as O } from "./textAfter.js";
6
+ import { OmnibusPriceTextBeforeControl as _ } from "./textBefore.js";
7
+ const m = c(
8
+ t.OMNIBUS_PRICE_ALIGN,
9
+ o.OMNIBUS_PRICE,
10
+ r
11
+ ), S = i(
12
+ t.OMNIBUS_PRICE_COLOR,
13
+ o.OMNIBUS_PRICE,
14
+ r
15
+ ), B = l(
16
+ t.OMNIBUS_PRICE_SIZE,
17
+ o.OMNIBUS_PRICE,
18
+ r
19
+ ), P = I(
20
+ t.OMNIBUS_PRICE_STYLE,
21
+ o.OMNIBUS_PRICE,
22
+ r
23
+ ), R = C(
24
+ t.OMNIBUS_PRICE_FONT_FAMILY,
25
+ o.OMNIBUS_PRICE,
26
+ r
27
+ ), a = e(
28
+ t.OMNIBUS_PRICE_BACKGROUND,
29
+ o.OMNIBUS_PRICE,
30
+ r
31
+ ), E = n(
32
+ t.OMNIBUS_PRICE_PADDINGS,
33
+ o.OMNIBUS_PRICE,
34
+ r
35
+ ), f = {
36
+ align: m,
37
+ color: S,
38
+ size: B,
39
+ style: P,
40
+ fontFamily: R,
41
+ background: a,
42
+ paddings: E,
43
+ textBefore: _,
44
+ textAfter: O
45
+ };
46
+ export {
47
+ f as OmnibusPriceControls
48
+ };
@@ -1,11 +1,13 @@
1
- import { ModificationDescription as a } from "../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { CommonControl as m } from "../../common-control.js";
3
- import { RecommendationControlId as l, RecommendationBlockId as d } from "../constants.js";
4
- import { preserveTextStyles as T } from "../utils/preserveTextStyles.js";
5
- const f = ".ins-recommendation-product-container", s = "data-text-after", c = "", p = ".omnibus-text-after";
6
- class C extends m {
1
+ import { ModificationDescription as c } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { CommonControl as a } from "../../../common-control.js";
3
+ import { RecommendationBlockId as l } from "../../constants/blockIds.js";
4
+ import { RecommendationControlId as d } from "../../constants/controlIds.js";
5
+ import { BLOCK_ROOT_SELECTOR as T } from "../../constants/selectors.js";
6
+ import { preserveTextStyles as f } from "../../utils/preserveTextStyles.js";
7
+ const s = "data-text-after", m = "", p = ".omnibus-text-after";
8
+ class g extends a {
7
9
  getId() {
8
- return l.OMNIBUS_PRICE_TEXT_AFTER;
10
+ return d.OMNIBUS_PRICE_TEXT_AFTER;
9
11
  }
10
12
  getTemplate() {
11
13
  return `
@@ -35,18 +37,18 @@ class C extends m {
35
37
  }
36
38
  _getCurrentText() {
37
39
  if (!this.currentNode || !("getAttribute" in this.currentNode))
38
- return c;
40
+ return m;
39
41
  const t = this.currentNode.getAttribute(s);
40
- return t === null ? c : t;
42
+ return t === null ? m : t;
41
43
  }
42
44
  _onTextChange(t) {
43
45
  if (!this.currentNode || !("closest" in this.currentNode))
44
46
  return;
45
- const e = this.currentNode.closest(f);
47
+ const e = this.currentNode.closest(T);
46
48
  if (!e || !("querySelectorAll" in e))
47
49
  return;
48
50
  const n = Array.from(
49
- e.querySelectorAll(`[esd-extension-block-id="${d.OMNIBUS_PRICE}"]`)
51
+ e.querySelectorAll(`[esd-extension-block-id="${l.OMNIBUS_PRICE}"]`)
50
52
  );
51
53
  if (!n.length)
52
54
  return;
@@ -55,10 +57,10 @@ class C extends m {
55
57
  r.modifyHtml(i).setAttribute(s, t);
56
58
  const o = i.querySelector(p);
57
59
  if (o) {
58
- const u = T(o, t);
60
+ const u = f(o, t);
59
61
  r.modifyHtml(o).setInnerHtml(u);
60
62
  }
61
- }), r.apply(new a("Update omnibus price text after"));
63
+ }), r.apply(new c("Update omnibus price text after"));
62
64
  }
63
65
  _listenToFormUpdates() {
64
66
  this.api.onValueChanged("omnibusPriceTextAfter", (t) => {
@@ -67,5 +69,5 @@ class C extends m {
67
69
  }
68
70
  }
69
71
  export {
70
- C as OmnibusPriceTextAfterControl
72
+ g as OmnibusPriceTextAfterControl
71
73
  };
@@ -1,11 +1,13 @@
1
- import { ModificationDescription as m } from "../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- import { CommonControl as a } from "../../common-control.js";
3
- import { RecommendationControlId as l, RecommendationBlockId as d } from "../constants.js";
4
- import { preserveTextStyles as T } from "../utils/preserveTextStyles.js";
5
- const p = ".ins-recommendation-product-container", s = "data-text-before", c = "Lowest 30-day price: ", f = ".omnibus-text-before";
6
- class C extends a {
1
+ import { ModificationDescription as u } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
+ import { CommonControl as l } from "../../../common-control.js";
3
+ import { RecommendationBlockId as a } from "../../constants/blockIds.js";
4
+ import { RecommendationControlId as d } from "../../constants/controlIds.js";
5
+ import { BLOCK_ROOT_SELECTOR as p } from "../../constants/selectors.js";
6
+ import { preserveTextStyles as T } from "../../utils/preserveTextStyles.js";
7
+ const s = "data-text-before", c = "Lowest 30-day price: ", f = ".omnibus-text-before";
8
+ class g extends l {
7
9
  getId() {
8
- return l.OMNIBUS_PRICE_TEXT_BEFORE;
10
+ return d.OMNIBUS_PRICE_TEXT_BEFORE;
9
11
  }
10
12
  getTemplate() {
11
13
  return `
@@ -46,7 +48,7 @@ class C extends a {
46
48
  if (!t || !("querySelectorAll" in t))
47
49
  return;
48
50
  const n = Array.from(
49
- t.querySelectorAll(`[esd-extension-block-id="${d.OMNIBUS_PRICE}"]`)
51
+ t.querySelectorAll(`[esd-extension-block-id="${a.OMNIBUS_PRICE}"]`)
50
52
  );
51
53
  if (!n.length)
52
54
  return;
@@ -55,10 +57,10 @@ class C extends a {
55
57
  o.modifyHtml(i).setAttribute(s, e);
56
58
  const r = i.querySelector(f);
57
59
  if (r) {
58
- const u = T(r, e);
59
- o.modifyHtml(r).setInnerHtml(u);
60
+ const m = T(r, e);
61
+ o.modifyHtml(r).setInnerHtml(m);
60
62
  }
61
- }), o.apply(new m("Update omnibus price text before"));
63
+ }), o.apply(new u("Update omnibus price text before"));
62
64
  }
63
65
  _listenToFormUpdates() {
64
66
  this.api.onValueChanged("omnibusPriceTextBefore", (e) => {
@@ -67,5 +69,5 @@ class C extends a {
67
69
  }
68
70
  }
69
71
  export {
70
- C as OmnibusPriceTextBeforeControl
72
+ g as OmnibusPriceTextBeforeControl
71
73
  };
@@ -0,0 +1,44 @@
1
+ import { createPaddingsControl as r, createTextBackgroundColorControl as C, createTextFontFamilyControl as e, createTextStyleControl as l, createTextSizeControl as c, createTextColorControl as I, createTextAlignControl as R } from "../../../controlFactories.js";
2
+ import { RecommendationBlockId as o } from "../../constants/blockIds.js";
3
+ import { RecommendationControlId as t } from "../../constants/controlIds.js";
4
+ import { BLOCK_ROOT_SELECTOR as n } from "../../constants/selectors.js";
5
+ const a = R(
6
+ t.PRICE_ALIGN,
7
+ o.PRICE,
8
+ n
9
+ ), i = I(
10
+ t.PRICE_COLOR,
11
+ o.PRICE,
12
+ n
13
+ ), E = c(
14
+ t.PRICE_SIZE,
15
+ o.PRICE,
16
+ n
17
+ ), P = l(
18
+ t.PRICE_STYLE,
19
+ o.PRICE,
20
+ n
21
+ ), m = e(
22
+ t.PRICE_FONT_FAMILY,
23
+ o.PRICE,
24
+ n
25
+ ), s = C(
26
+ t.PRICE_BACKGROUND,
27
+ o.PRICE,
28
+ n
29
+ ), d = r(
30
+ t.PRICE_PADDINGS,
31
+ o.PRICE,
32
+ n
33
+ ), S = {
34
+ align: a,
35
+ color: i,
36
+ size: E,
37
+ style: P,
38
+ fontFamily: m,
39
+ background: s,
40
+ paddings: d
41
+ };
42
+ export {
43
+ S as PriceControls
44
+ };