@useinsider/guido 1.0.3-beta.dfb1fcf → 1.0.3-beta.e1adf59

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 (130) hide show
  1. package/README.md +3 -144
  2. package/dist/components/Guido.vue.js +10 -12
  3. package/dist/components/Guido.vue2.js +101 -84
  4. package/dist/components/organisms/header/LeftSlot.vue.js +1 -1
  5. package/dist/components/organisms/header/LeftSlot.vue2.js +15 -16
  6. package/dist/components/organisms/header/RightSlot.vue.js +11 -11
  7. package/dist/components/organisms/header/RightSlot.vue2.js +22 -23
  8. package/dist/components/organisms/onboarding/NewVersionPopup.vue.js +9 -9
  9. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +17 -30
  10. package/dist/components/organisms/onboarding/OnboardingWrapper.vue.js +10 -12
  11. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +18 -19
  12. package/dist/composables/useApiErrorTracking.js +120 -0
  13. package/dist/composables/useErrorTracking.js +98 -0
  14. package/dist/composables/useGuidoActions.js +9 -19
  15. package/dist/composables/useHttp.js +89 -52
  16. package/dist/composables/useStripo.js +163 -66
  17. package/dist/composables/useStripoErrorCategory.js +86 -0
  18. package/dist/composables/useStripoSlackNotifier.js +47 -0
  19. package/dist/config/compiler/unsubscribeCompilerRules.js +28 -33
  20. package/dist/config/migrator/index.js +6 -7
  21. package/dist/enums/defaults.js +8 -16
  22. package/dist/enums/onboarding.js +1 -2
  23. package/dist/enums/unsubscribe.js +25 -27
  24. package/dist/extensions/Blocks/Checkbox/extension.js +2 -2
  25. package/dist/extensions/Blocks/CouponBlock/extension.js +2 -2
  26. package/dist/extensions/Blocks/Recommendation/block.js +3 -6
  27. package/dist/extensions/Blocks/Recommendation/control.js +65 -109
  28. package/dist/extensions/Blocks/Recommendation/extension.js +7 -18
  29. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +21 -159
  30. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +1 -1
  31. package/dist/extensions/Blocks/Recommendation/template.js +200 -0
  32. package/dist/extensions/Blocks/common-control.js +43 -125
  33. package/dist/extensions/DynamicContent/dynamic-content-modal.js +19 -25
  34. package/dist/extensions/DynamicContent/dynamic-content.js +33 -128
  35. package/dist/guido.css +1 -1
  36. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +100 -312
  37. package/dist/package.json.js +1 -1
  38. package/dist/services/slackNotificationService.js +167 -0
  39. package/dist/services/stripoApi.js +49 -19
  40. package/dist/services/stripoErrorDeduplicationService.js +91 -0
  41. package/dist/src/@types/generic.d.ts +6 -42
  42. package/dist/src/components/Guido.vue.d.ts +3 -4
  43. package/dist/src/components/organisms/onboarding/NewVersionPopup.vue.d.ts +1 -3
  44. package/dist/src/components/organisms/onboarding/OnboardingWrapper.vue.d.ts +1 -3
  45. package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
  46. package/dist/src/composables/useApiErrorTracking.d.ts +26 -0
  47. package/dist/src/composables/useErrorTracking.d.ts +30 -0
  48. package/dist/src/composables/useGuidoActions.d.ts +0 -9
  49. package/dist/src/composables/useStripoErrorCategory.d.ts +26 -0
  50. package/dist/src/composables/useStripoSlackNotifier.d.ts +8 -0
  51. package/dist/src/enums/onboarding.d.ts +0 -1
  52. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +0 -1
  53. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +2 -11
  54. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +1 -1
  55. package/dist/src/extensions/Blocks/Recommendation/template.d.ts +6 -0
  56. package/dist/src/extensions/Blocks/common-control.d.ts +0 -21
  57. package/dist/src/extensions/DynamicContent/dynamic-content-modal.d.ts +2 -9
  58. package/dist/src/extensions/DynamicContent/dynamic-content.d.ts +2 -52
  59. package/dist/src/services/slackNotificationService.d.ts +110 -0
  60. package/dist/src/services/stripoErrorDeduplicationService.d.ts +75 -0
  61. package/dist/src/stores/config.d.ts +2 -10
  62. package/dist/src/stores/dynamic-content.d.ts +3 -3
  63. package/dist/src/stores/editor.d.ts +1 -1
  64. package/dist/src/stores/onboarding.d.ts +1 -1
  65. package/dist/src/stores/preview.d.ts +1 -1
  66. package/dist/src/stores/recommendation.d.ts +1 -1
  67. package/dist/src/stores/save-as-template.d.ts +1 -1
  68. package/dist/src/stores/toaster.d.ts +1 -1
  69. package/dist/src/stores/unsubscribe.d.ts +1 -1
  70. package/dist/src/stores/version-history.d.ts +1 -1
  71. package/dist/src/utils/dateUtil.d.ts +0 -21
  72. package/dist/src/utils/genericUtil.d.ts +0 -1
  73. package/dist/static/styles/components/narrow-panel.css.js +0 -10
  74. package/dist/static/styles/components/wide-panel.css.js +4 -0
  75. package/dist/static/styles/customEditorStyle.css.js +0 -19
  76. package/dist/stores/config.js +5 -5
  77. package/dist/stores/dynamic-content.js +2 -2
  78. package/dist/stores/editor.js +1 -1
  79. package/dist/stores/onboarding.js +27 -27
  80. package/dist/stores/preview.js +1 -1
  81. package/dist/stores/recommendation.js +3 -3
  82. package/dist/stores/save-as-template.js +2 -2
  83. package/dist/stores/toaster.js +1 -1
  84. package/dist/stores/unsubscribe.js +1 -1
  85. package/dist/stores/version-history.js +4 -4
  86. package/dist/utils/dateUtil.js +3 -24
  87. package/dist/utils/genericUtil.js +9 -20
  88. package/package.json +3 -3
  89. package/dist/composables/useBlocksConfig.js +0 -49
  90. package/dist/config/migrator/recommendationMigrator.js +0 -293
  91. package/dist/enums/date.js +0 -6
  92. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +0 -193
  93. package/dist/extensions/Blocks/Recommendation/constants.js +0 -14
  94. package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +0 -68
  95. package/dist/extensions/Blocks/Recommendation/controls/index.js +0 -272
  96. package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +0 -74
  97. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.js +0 -71
  98. package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.js +0 -71
  99. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.js +0 -71
  100. package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.js +0 -71
  101. package/dist/extensions/Blocks/Recommendation/controls/priceHideControl.js +0 -60
  102. package/dist/extensions/Blocks/Recommendation/controls/priceInlineLayoutControl.js +0 -160
  103. package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +0 -188
  104. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +0 -184
  105. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +0 -189
  106. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +0 -209
  107. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +0 -25
  108. package/dist/extensions/Blocks/controlFactories.js +0 -234
  109. package/dist/src/composables/useBlocksConfig.d.ts +0 -11
  110. package/dist/src/config/migrator/recommendationMigrator.d.ts +0 -1
  111. package/dist/src/enums/date.d.ts +0 -4
  112. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +0 -79
  113. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +0 -91
  114. package/dist/src/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.d.ts +0 -25
  115. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +0 -71
  116. package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +0 -16
  117. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.d.ts +0 -15
  118. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.d.ts +0 -15
  119. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.d.ts +0 -15
  120. package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.d.ts +0 -15
  121. package/dist/src/extensions/Blocks/Recommendation/controls/priceHideControl.d.ts +0 -16
  122. package/dist/src/extensions/Blocks/Recommendation/controls/priceInlineLayoutControl.d.ts +0 -50
  123. package/dist/src/extensions/Blocks/Recommendation/controls/spacingControl.d.ts +0 -60
  124. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +0 -16
  125. package/dist/src/extensions/Blocks/Recommendation/templates/migrationTemplate.d.ts +0 -16
  126. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +0 -52
  127. package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +0 -19
  128. package/dist/src/extensions/Blocks/controlFactories.d.ts +0 -95
  129. package/dist/src/utils/environmentUtil.d.ts +0 -5
  130. package/dist/utils/environmentUtil.js +0 -4
@@ -1,234 +0,0 @@
1
- import { ButtonAlignBuiltInControl as r, ButtonBorderBuiltInControl as l, ButtonBorderRadiusBuiltInControl as s, ButtonColorBuiltInControl as c, ButtonFitToContainerBuiltInControl as u, ButtonFontFamilyBuiltInControl as i, ButtonMarginsBuiltInControl as d, ButtonPaddingsBuiltInControl as a, ButtonTextBuiltInControl as g, ButtonTextSizeBuiltInControl as x, ButtonTextStyleAndFontColorBuiltInControl as C, ImageMarginsBuiltInControl as B, ImageSizeBuiltInControl as I, TextAlignBuiltInControl as T, ButtonBackgroundColorBuiltInControl as m, TextColorBuiltInControl as S, TextFontFamilyBuiltInControl as y, TextLineSpacingBuiltInControl as A, TextPaddingsBuiltInControl as k, TextSizeBuiltInControl as f, TextStyleBuiltInControl as b } from "../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
2
- function N(e, t, n) {
3
- return class extends T {
4
- getId() {
5
- return e;
6
- }
7
- getTargetNodes(o) {
8
- return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
9
- }
10
- };
11
- }
12
- function $(e, t, n = ".ins-recommendation-product-container") {
13
- return class extends S {
14
- getId() {
15
- return e;
16
- }
17
- getTargetNodes(o) {
18
- return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
19
- }
20
- };
21
- }
22
- function p(e, t, n = ".ins-recommendation-product-container") {
23
- return class extends f {
24
- getId() {
25
- return e;
26
- }
27
- getTargetNodes(o) {
28
- return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
29
- }
30
- };
31
- }
32
- function F(e, t, n = ".ins-recommendation-product-container") {
33
- return class extends b {
34
- getId() {
35
- return e;
36
- }
37
- getTargetNodes(o) {
38
- return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
39
- }
40
- };
41
- }
42
- function z(e, t, n = ".ins-recommendation-product-container") {
43
- return class extends y {
44
- getId() {
45
- return e;
46
- }
47
- getTargetNodes(o) {
48
- return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
49
- }
50
- };
51
- }
52
- function M(e, t, n = ".ins-recommendation-product-container") {
53
- return class extends m {
54
- getId() {
55
- return e;
56
- }
57
- getTargetNodes(o) {
58
- return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
59
- }
60
- };
61
- }
62
- function P(e, t, n = ".ins-recommendation-product-container") {
63
- return class extends k {
64
- getId() {
65
- return e;
66
- }
67
- getTargetNodes(o) {
68
- return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
69
- }
70
- };
71
- }
72
- function L(e, t, n = ".ins-recommendation-product-container") {
73
- return class extends A {
74
- getId() {
75
- return e;
76
- }
77
- getTargetNodes(o) {
78
- return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
79
- }
80
- };
81
- }
82
- function R(e, t, n = ".ins-recommendation-product-container") {
83
- return class extends r {
84
- getId() {
85
- return e;
86
- }
87
- getTargetNodes(o) {
88
- return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
89
- }
90
- };
91
- }
92
- function h(e, t, n = ".ins-recommendation-product-container") {
93
- return class extends c {
94
- getId() {
95
- return e;
96
- }
97
- getTargetNodes(o) {
98
- return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
99
- }
100
- };
101
- }
102
- function j(e, t, n = ".ins-recommendation-product-container") {
103
- return class extends l {
104
- getId() {
105
- return e;
106
- }
107
- getTargetNodes(o) {
108
- return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
109
- }
110
- };
111
- }
112
- function v(e, t, n = ".ins-recommendation-product-container") {
113
- return class extends s {
114
- getId() {
115
- return e;
116
- }
117
- getTargetNodes(o) {
118
- return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
119
- }
120
- };
121
- }
122
- function w(e, t, n = ".ins-recommendation-product-container") {
123
- return class extends i {
124
- getId() {
125
- return e;
126
- }
127
- getTargetNodes(o) {
128
- return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
129
- }
130
- };
131
- }
132
- function D(e, t, n = ".ins-recommendation-product-container") {
133
- return class extends d {
134
- getId() {
135
- return e;
136
- }
137
- getTargetNodes(o) {
138
- return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
139
- }
140
- };
141
- }
142
- function E(e, t, n = ".ins-recommendation-product-container") {
143
- return class extends a {
144
- getId() {
145
- return e;
146
- }
147
- getTargetNodes(o) {
148
- return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
149
- }
150
- };
151
- }
152
- function G(e, t, n = ".ins-recommendation-product-container") {
153
- return class extends g {
154
- getId() {
155
- return e;
156
- }
157
- getTargetNodes(o) {
158
- return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
159
- }
160
- };
161
- }
162
- function H(e, t, n = ".ins-recommendation-product-container") {
163
- return class extends x {
164
- getId() {
165
- return e;
166
- }
167
- getTargetNodes(o) {
168
- return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
169
- }
170
- };
171
- }
172
- function J(e, t, n) {
173
- return class extends C {
174
- getId() {
175
- return e;
176
- }
177
- getTargetNodes(o) {
178
- return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
179
- }
180
- };
181
- }
182
- function K(e, t, n) {
183
- return class extends u {
184
- getId() {
185
- return e;
186
- }
187
- getTargetNodes(o) {
188
- return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
189
- }
190
- };
191
- }
192
- function O(e, t, n) {
193
- return class extends I {
194
- getId() {
195
- return e;
196
- }
197
- getTargetNodes(o) {
198
- return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
199
- }
200
- };
201
- }
202
- function Q(e, t, n) {
203
- return class extends B {
204
- getId() {
205
- return e;
206
- }
207
- getTargetNodes(o) {
208
- return o.closest(n).querySelectorAll(`[esd-extension-block-id="${t}"]`);
209
- }
210
- };
211
- }
212
- export {
213
- R as createButtonAlignControl,
214
- j as createButtonBorderControl,
215
- v as createButtonBorderRadiusControl,
216
- h as createButtonColorControl,
217
- K as createButtonFitToContainerControl,
218
- w as createButtonFontFamilyControl,
219
- D as createButtonMarginsControl,
220
- E as createButtonPaddingsControl,
221
- G as createButtonTextControl,
222
- H as createButtonTextSizeControl,
223
- J as createButtonTextStyleAndFontColorControl,
224
- Q as createImageMarginsControl,
225
- O as createImageSizeControl,
226
- P as createPaddingsControl,
227
- N as createTextAlignControl,
228
- M as createTextBackgroundColorControl,
229
- $ as createTextColorControl,
230
- z as createTextFontFamilyControl,
231
- L as createTextLineSpacingControl,
232
- p as createTextSizeControl,
233
- F as createTextStyleControl
234
- };
@@ -1,11 +0,0 @@
1
- import type { Extension } from '@stripoinc/ui-editor-extensions';
2
- /**
3
- * Composable for managing Guido blocks configuration
4
- * Converts GuidoConfig blocks settings to Stripo-compatible format
5
- */
6
- export declare const useBlocksConfig: () => {
7
- getStripoBlocksConfig: () => Promise<{
8
- baseBlocks: Record<string, boolean>;
9
- extensions: Extension[];
10
- }>;
11
- };
@@ -1 +0,0 @@
1
- export declare function migrateRecommendation(html: string): string;
@@ -1,4 +0,0 @@
1
- export declare const DEFAULT_LOCALE = "tr-TR";
2
- export declare const DEFAULT = "default";
3
- export declare const DEFAULT_TZ = "UTC";
4
- export declare const FORMAT_MAPPING: Record<string, string>;
@@ -1,79 +0,0 @@
1
- import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
2
- import { CommonControl } from '../common-control';
3
- export declare const COMPOSITION_CONTROL_BLOCK_ID = "ui-elements-recommendation-card-composition";
4
- export interface CardCompositionItem {
5
- key: string;
6
- label: string;
7
- visible: boolean;
8
- }
9
- export declare class RecommendationCardCompositionControl extends CommonControl {
10
- getId(): string;
11
- getTemplate(): string;
12
- onRender(): void;
13
- onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
14
- /**
15
- * Creates the HTML content for an orderable item with label and toggle
16
- */
17
- private _createItemContent;
18
- /**
19
- * Registers event listeners for composition and visibility changes
20
- */
21
- private _registerValueChangeListeners;
22
- /**
23
- * Initializes composition order and visibility state from the current node
24
- */
25
- private _initializeComposition;
26
- /**
27
- * Reads composition order from node's data-card-composition attribute
28
- * Falls back to default order if attribute is not present
29
- */
30
- private _readCompositionFromNode;
31
- /**
32
- * Gets default composition order
33
- */
34
- private _getDefaultComposition;
35
- /**
36
- * Builds visibility values object from the visibility map
37
- */
38
- private _buildVisibilityValues;
39
- /**
40
- * Read visibility state from individual row elements' data-visibility attributes
41
- * This ensures toggles reflect the actual DOM state
42
- */
43
- private _readVisibilityFromRows;
44
- /**
45
- * Returns default visibility values for all items
46
- */
47
- private _getDefaultVisibilities;
48
- /**
49
- * Extracts visibility values from DOM nodes
50
- */
51
- private _extractVisibilityFromRows;
52
- /**
53
- * Parses visibility value from string to boolean
54
- * Accepts "1", "true" as true, everything else as false
55
- */
56
- private _parseVisibilityValue;
57
- /**
58
- * Merges extracted visibilities with default values for missing keys
59
- */
60
- private _mergeWithDefaults;
61
- /**
62
- * Apply the reordered composition to the block's HTML structure
63
- * Updates the data-card-composition attribute and reorders product attributes
64
- */
65
- private _applyCompositionToBlock;
66
- /**
67
- * Reorders attribute rows within each product row based on composition order
68
- */
69
- private _reorderProductAttributes;
70
- /**
71
- * Builds HTML string with attributes ordered according to composition
72
- */
73
- private _buildCompositionHtml;
74
- /**
75
- * Apply visibility changes to the block's HTML structure
76
- * Updates display style and data-visibility attribute for all matching rows
77
- */
78
- private _applyVisibilityToBlock;
79
- }
@@ -1,91 +0,0 @@
1
- /**
2
- * Attribute type constants used in templates
3
- * These are used as keys in ElementRenderer and composition arrays
4
- */
5
- export declare const ATTR_PRODUCT_IMAGE = "productImage";
6
- export declare const ATTR_PRODUCT_NAME = "productName";
7
- export declare const ATTR_PRODUCT_PRICE = "productPrice";
8
- export declare const ATTR_PRODUCT_OLD_PRICE = "productOldPrice";
9
- export declare const ATTR_PRODUCT_OMNIBUS_PRICE = "productOmnibusPrice";
10
- export declare const ATTR_PRODUCT_OMNIBUS_DISCOUNT = "productOmnibusDiscount";
11
- export declare const ATTR_PRODUCT_BUTTON = "productButton";
12
- export declare const ATTR_DATA_PRICE_INLINE = "data-price-inline";
13
- /**
14
- * Block IDs used in the Recommendation Extension
15
- * These IDs are used in the esd-extension-block-id attribute to identify specific blocks
16
- */
17
- export declare enum RecommendationBlockId {
18
- BUTTON = "recommendation-block-button",
19
- NAME = "recommendation-block-name",
20
- PRICE = "recommendation-block-price",
21
- OLD_PRICE = "recommendation-block-old-price",
22
- OMNIBUS_PRICE = "recommendation-block-omnibus-price",
23
- OMNIBUS_DISCOUNT = "recommendation-block-omnibus-discount",
24
- IMAGE = "recommendation-block-image"
25
- }
26
- /**
27
- * Control IDs used in the Recommendation Extension
28
- * These IDs are returned by the getId() method of each control
29
- */
30
- export declare enum RecommendationControlId {
31
- BUTTON_ALIGN = "recommendation-block-button-align-control",
32
- BUTTON_BORDER = "recommendation-block-button-border-control",
33
- BUTTON_BORDER_RADIUS = "recommendation-block-button-border-radius-control",
34
- BUTTON_COLOR = "recommendation-block-button-color-control",
35
- BUTTON_FIT_TO_CONTENT = "recommendation-block-button-fit-to-content-control",
36
- BUTTON_FONT_FAMILY = "recommendation-block-button-font-family-control",
37
- BUTTON_MARGINS = "recommendation-block-button-margins-control",
38
- BUTTON_PADDINGS = "recommendation-block-button-paddings-control",
39
- BUTTON_TEXT = "recommendation-block-button-text-control",
40
- BUTTON_TEXT_SIZE = "recommendation-block-button-text-size-control",
41
- BUTTON_TEXT_STYLE_AND_FONT_COLOR = "recommendation-block-button-text-style-and-font-color-control",
42
- NAME_ALIGN = "recommendation-block-name-align-control",
43
- NAME_BACKGROUND = "recommendation-block-name-background-control",
44
- NAME_COLOR = "recommendation-block-name-color-control",
45
- NAME_FONT_FAMILY = "recommendation-block-name-font-family-control",
46
- NAME_LINE_SPACING = "recommendation-block-name-line-spacing-control",
47
- NAME_PADDINGS = "recommendation-block-name-paddings-control",
48
- NAME_SIZE = "recommendation-block-name-size-control",
49
- NAME_STYLE = "recommendation-block-name-style-control",
50
- NAME_TEXT_TRIM = "recommendation-block-name-text-trim-control",
51
- PRICE_ALIGN = "recommendation-block-price-align-control",
52
- PRICE_BACKGROUND = "recommendation-block-price-background-control",
53
- PRICE_COLOR = "recommendation-block-price-color-control",
54
- PRICE_FONT_FAMILY = "recommendation-block-price-font-family-control",
55
- PRICE_HIDE_IF_SAME = "recommendation-block-price-hide-if-same-control",
56
- PRICE_LINE_SPACING = "recommendation-block-price-line-spacing-control",
57
- PRICE_PADDINGS = "recommendation-block-price-paddings-control",
58
- PRICE_SIZE = "recommendation-block-price-size-control",
59
- PRICE_STYLE = "recommendation-block-price-style-control",
60
- OLD_PRICE_ALIGN = "recommendation-block-old-price-align-control",
61
- OLD_PRICE_BACKGROUND = "recommendation-block-old-price-background-control",
62
- OLD_PRICE_COLOR = "recommendation-block-old-price-color-control",
63
- OLD_PRICE_FONT_FAMILY = "recommendation-block-old-price-font-family-control",
64
- OLD_PRICE_LINE_SPACING = "recommendation-block-old-price-line-spacing-control",
65
- OLD_PRICE_PADDINGS = "recommendation-block-old-price-paddings-control",
66
- OLD_PRICE_SIZE = "recommendation-block-old-price-size-control",
67
- OLD_PRICE_STYLE = "recommendation-block-old-price-style-control",
68
- OMNIBUS_PRICE_ALIGN = "recommendation-block-omnibus-price-align-control",
69
- OMNIBUS_PRICE_BACKGROUND = "recommendation-block-omnibus-price-background-control",
70
- OMNIBUS_PRICE_COLOR = "recommendation-block-omnibus-price-color-control",
71
- OMNIBUS_PRICE_FONT_FAMILY = "recommendation-block-omnibus-price-font-family-control",
72
- OMNIBUS_PRICE_LINE_SPACING = "recommendation-block-omnibus-price-line-spacing-control",
73
- OMNIBUS_PRICE_PADDINGS = "recommendation-block-omnibus-price-paddings-control",
74
- OMNIBUS_PRICE_SIZE = "recommendation-block-omnibus-price-size-control",
75
- OMNIBUS_PRICE_STYLE = "recommendation-block-omnibus-price-style-control",
76
- OMNIBUS_PRICE_TEXT_BEFORE = "recommendation-block-omnibus-price-text-before-control",
77
- OMNIBUS_PRICE_TEXT_AFTER = "recommendation-block-omnibus-price-text-after-control",
78
- OMNIBUS_DISCOUNT_ALIGN = "recommendation-block-omnibus-discount-align-control",
79
- OMNIBUS_DISCOUNT_BACKGROUND = "recommendation-block-omnibus-discount-background-control",
80
- OMNIBUS_DISCOUNT_COLOR = "recommendation-block-omnibus-discount-color-control",
81
- OMNIBUS_DISCOUNT_FONT_FAMILY = "recommendation-block-omnibus-discount-font-family-control",
82
- OMNIBUS_DISCOUNT_LINE_SPACING = "recommendation-block-omnibus-discount-line-spacing-control",
83
- OMNIBUS_DISCOUNT_PADDINGS = "recommendation-block-omnibus-discount-paddings-control",
84
- OMNIBUS_DISCOUNT_SIZE = "recommendation-block-omnibus-discount-size-control",
85
- OMNIBUS_DISCOUNT_STYLE = "recommendation-block-omnibus-discount-style-control",
86
- OMNIBUS_DISCOUNT_TEXT_BEFORE = "recommendation-block-omnibus-discount-text-before-control",
87
- OMNIBUS_DISCOUNT_TEXT_AFTER = "recommendation-block-omnibus-discount-text-after-control",
88
- IMAGE_SIZE = "recommendation-block-image-size-control",
89
- IMAGE_MARGINS = "recommendation-block-image-margins-control",
90
- PRICE_INLINE_LAYOUT = "recommendation-block-price-inline-layout-control"
91
- }
@@ -1,25 +0,0 @@
1
- import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
2
- import { CommonControl } from '../../common-control';
3
- export declare const CARD_BACKGROUND_COLOR_CONTROL_ID = "recommendation-card-background-color-control";
4
- /**
5
- * Control for managing recommendation card background color
6
- * This control is displayed in the Styles tab
7
- */
8
- export declare class CardBackgroundColorControl extends CommonControl {
9
- getId(): string;
10
- getTemplate(): string;
11
- onRender(): void;
12
- onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
13
- _setFormValues(): void;
14
- /**
15
- * Reads the current background color from the first product card wrapper
16
- * @returns The background color value or 'transparent' if not found
17
- */
18
- _getCurrentCardBackgroundColor(): string;
19
- /**
20
- * Handles card background color changes
21
- * Applies the color to all product card wrapper elements
22
- */
23
- _onCardBackgroundColorChange(color: string): void;
24
- _listenToFormUpdates(): void;
25
- }
@@ -1,71 +0,0 @@
1
- /**
2
- * Recommendation Block Control Instances
3
- *
4
- * This file generates all control instances for the Recommendation Block
5
- * using the reusable factory functions from ./factories.ts
6
- *
7
- * Note: Factory-generated controls use runtime class generation which TypeScript
8
- * cannot fully type-check. The controls are type-safe at runtime.
9
- */
10
- export declare const NameAlignControl: any;
11
- export declare const NameColorControl: any;
12
- export declare const NameSizeControl: any;
13
- export declare const NameStyleControl: any;
14
- export declare const NameFontFamilyControl: any;
15
- export declare const NameBackgroundControl: any;
16
- export declare const NamePaddingsControl: any;
17
- export declare const NameLineSpacingControl: any;
18
- export { NameTextTrimControl } from './nameTextTrimControl';
19
- export declare const PriceAlignControl: any;
20
- export declare const PriceColorControl: any;
21
- export declare const PriceSizeControl: any;
22
- export declare const PriceStyleControl: any;
23
- export declare const PriceFontFamilyControl: any;
24
- export declare const PriceBackgroundControl: any;
25
- export declare const PricePaddingsControl: any;
26
- export declare const PriceLineSpacingControl: any;
27
- export { PriceHideControl } from './priceHideControl';
28
- export declare const OldPriceAlignControl: any;
29
- export declare const OldPriceColorControl: any;
30
- export declare const OldPriceSizeControl: any;
31
- export declare const OldPriceStyleControl: any;
32
- export declare const OldPriceFontFamilyControl: any;
33
- export declare const OldPriceBackgroundControl: any;
34
- export declare const OldPricePaddingsControl: any;
35
- export declare const OldPriceLineSpacingControl: any;
36
- export declare const OmnibusPriceAlignControl: any;
37
- export declare const OmnibusPriceColorControl: any;
38
- export declare const OmnibusPriceSizeControl: any;
39
- export declare const OmnibusPriceStyleControl: any;
40
- export declare const OmnibusPriceFontFamilyControl: any;
41
- export declare const OmnibusPriceBackgroundControl: any;
42
- export declare const OmnibusPricePaddingsControl: any;
43
- export declare const OmnibusPriceLineSpacingControl: any;
44
- export { OmnibusPriceTextBeforeControl } from './omnibusPriceTextBeforeControl';
45
- export { OmnibusPriceTextAfterControl } from './omnibusPriceTextAfterControl';
46
- export declare const OmnibusDiscountAlignControl: any;
47
- export declare const OmnibusDiscountColorControl: any;
48
- export declare const OmnibusDiscountSizeControl: any;
49
- export declare const OmnibusDiscountStyleControl: any;
50
- export declare const OmnibusDiscountFontFamilyControl: any;
51
- export declare const OmnibusDiscountBackgroundControl: any;
52
- export declare const OmnibusDiscountPaddingsControl: any;
53
- export declare const OmnibusDiscountLineSpacingControl: any;
54
- export { OmnibusDiscountTextBeforeControl } from './omnibusDiscountTextBeforeControl';
55
- export { OmnibusDiscountTextAfterControl } from './omnibusDiscountTextAfterControl';
56
- export declare const ButtonAlignControl: any;
57
- export declare const ButtonBorderControl: any;
58
- export declare const ButtonBorderRadiusControl: any;
59
- export declare const ButtonColorControl: any;
60
- export declare const ButtonFontFamilyControl: any;
61
- export declare const ButtonMarginsControl: any;
62
- export declare const ButtonPaddingsControl: any;
63
- export declare const ButtonTextControl: any;
64
- export declare const ButtonTextSizeControl: any;
65
- export declare const ButtonTextStyleAndFontColorControl: any;
66
- export declare const ButtonFitToContentControl: any;
67
- export declare const ImageSizeControl: any;
68
- export declare const ImageMarginsControl: any;
69
- export { CardBackgroundColorControl } from './cardBackgroundColorControl';
70
- export { SpacingControl } from './spacingControl';
71
- export { PriceInlineLayoutControl } from './priceInlineLayoutControl';
@@ -1,16 +0,0 @@
1
- import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
2
- import { CommonControl } from '../../common-control';
3
- /**
4
- * Control for enabling/disabling text trimming on product names
5
- * When enabled, adds a CSS class that applies text-overflow: ellipsis
6
- */
7
- export declare class NameTextTrimControl extends CommonControl {
8
- getId(): string;
9
- getTemplate(): string;
10
- onRender(): void;
11
- onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
12
- _setFormValues(): void;
13
- _getCurrentTrimState(): boolean;
14
- _onTextTrimChange(enabled: boolean): void;
15
- _listenToFormUpdates(): void;
16
- }
@@ -1,15 +0,0 @@
1
- import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
2
- import { CommonControl } from '../../common-control';
3
- /**
4
- * Control for setting text after Omnibus Discount value
5
- */
6
- export declare class OmnibusDiscountTextAfterControl extends CommonControl {
7
- getId(): string;
8
- getTemplate(): string;
9
- onRender(): void;
10
- onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
11
- _setFormValues(): void;
12
- _getCurrentText(): string;
13
- _onTextChange(newText: string): void;
14
- _listenToFormUpdates(): void;
15
- }
@@ -1,15 +0,0 @@
1
- import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
2
- import { CommonControl } from '../../common-control';
3
- /**
4
- * Control for setting text before Omnibus Discount value
5
- */
6
- export declare class OmnibusDiscountTextBeforeControl extends CommonControl {
7
- getId(): string;
8
- getTemplate(): string;
9
- onRender(): void;
10
- onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
11
- _setFormValues(): void;
12
- _getCurrentText(): string;
13
- _onTextChange(newText: string): void;
14
- _listenToFormUpdates(): void;
15
- }
@@ -1,15 +0,0 @@
1
- import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
2
- import { CommonControl } from '../../common-control';
3
- /**
4
- * Control for setting text after Omnibus Price value
5
- */
6
- export declare class OmnibusPriceTextAfterControl extends CommonControl {
7
- getId(): string;
8
- getTemplate(): string;
9
- onRender(): void;
10
- onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
11
- _setFormValues(): void;
12
- _getCurrentText(): string;
13
- _onTextChange(newText: string): void;
14
- _listenToFormUpdates(): void;
15
- }
@@ -1,15 +0,0 @@
1
- import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
2
- import { CommonControl } from '../../common-control';
3
- /**
4
- * Control for setting text before Omnibus Price value
5
- */
6
- export declare class OmnibusPriceTextBeforeControl extends CommonControl {
7
- getId(): string;
8
- getTemplate(): string;
9
- onRender(): void;
10
- onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
11
- _setFormValues(): void;
12
- _getCurrentText(): string;
13
- _onTextChange(newText: string): void;
14
- _listenToFormUpdates(): void;
15
- }
@@ -1,16 +0,0 @@
1
- import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
2
- import { CommonControl } from '../../common-control';
3
- /**
4
- * Control for hiding the price when it's the same as the discounted price
5
- * When enabled, adds an attribute hide-price="true" to the recommendation block container
6
- */
7
- export declare class PriceHideControl extends CommonControl {
8
- getId(): string;
9
- getTemplate(): string;
10
- onRender(): void;
11
- onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
12
- _setFormValues(): void;
13
- _getCurrentHideState(): boolean;
14
- _onHidePriceChange(enabled: boolean): void;
15
- _listenToFormUpdates(): void;
16
- }
@@ -1,50 +0,0 @@
1
- import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
2
- import { CommonControl } from '../../common-control';
3
- import { RecommendationControlId } from '../constants';
4
- export declare const PRICE_INLINE_LAYOUT_CONTROL_ID = RecommendationControlId.PRICE_INLINE_LAYOUT;
5
- /**
6
- * Price Inline Layout Control
7
- *
8
- * Provides a toggle to switch between inline and separate row layouts for Price and Old Price.
9
- * - Toggle OFF (default): Price and Old Price in separate rows
10
- * - Toggle ON: Price and Old Price side by side in the same row (inline)
11
- *
12
- * Uses DOM manipulation (not regeneration) to restructure the existing elements,
13
- * preserving all styles and content.
14
- */
15
- export declare class PriceInlineLayoutControl extends CommonControl {
16
- getId(): string;
17
- getTemplate(): string;
18
- onRender(): void;
19
- onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
20
- /**
21
- * Reads the current price inline state from the block's data attribute
22
- * and updates the toggle UI
23
- * Note: Toggle ON = separate rows (next line), Toggle OFF = inline (same row)
24
- */
25
- private _initializePriceInlineState;
26
- /**
27
- * Reads the price inline state from the block wrapper's data attribute
28
- */
29
- private _readPriceInlineState;
30
- /**
31
- * Registers listener for toggle changes
32
- */
33
- private _registerValueChangeListener;
34
- /**
35
- * Applies the price inline layout by restructuring the DOM
36
- * When enabling inline: Merges Old Price content into Price row (side by side)
37
- * When disabling inline: Separates them back into individual rows
38
- */
39
- private _applyPriceInlineLayout;
40
- /**
41
- * Merges Old Price content into the same row as Price (inline layout)
42
- * Creates a structure where both prices are side by side in one row
43
- */
44
- private _mergeOldPriceIntoPrice;
45
- /**
46
- * Separates Old Price from Price row back into individual rows
47
- * Restores the original separate row structure
48
- */
49
- private _separateOldPriceFromPrice;
50
- }