@useinsider/guido 2.0.0-beta.cf2fe38 → 2.0.0-beta.d170da6
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.
- package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +153 -69
- package/dist/extensions/Blocks/Recommendation/constants.js +9 -1
- package/dist/extensions/Blocks/Recommendation/control.js +74 -59
- package/dist/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.js +68 -0
- package/dist/extensions/Blocks/Recommendation/controls/index.js +245 -0
- package/dist/extensions/Blocks/Recommendation/controls/nameTextTrimControl.js +74 -0
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.js +71 -0
- package/dist/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.js +71 -0
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.js +71 -0
- package/dist/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.js +71 -0
- package/dist/extensions/Blocks/Recommendation/controls/spacingControl.js +188 -0
- package/dist/extensions/Blocks/Recommendation/extension.js +16 -42
- package/dist/extensions/Blocks/Recommendation/settingsPanel.js +117 -72
- package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +85 -64
- package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +54 -17
- package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +74 -45
- package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +25 -0
- package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +47 -52
- package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +50 -3
- package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +32 -0
- package/dist/src/extensions/Blocks/Recommendation/control.d.ts +5 -2
- package/dist/src/extensions/Blocks/Recommendation/controls/cardBackgroundColorControl.d.ts +25 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +592 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/nameTextTrimControl.d.ts +16 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextAfterControl.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusDiscountTextBeforeControl.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextAfterControl.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/omnibusPriceTextBeforeControl.d.ts +15 -0
- package/dist/src/extensions/Blocks/Recommendation/controls/spacingControl.d.ts +60 -0
- package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +3 -3
- package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +15 -7
- package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +19 -0
- package/dist/static/styles/components/wide-panel.css.js +0 -4
- package/dist/static/styles/customEditorStyle.css.js +13 -0
- package/package.json +1 -1
- package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
- package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
- package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
- package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
|
@@ -23,12 +23,12 @@ ${s.map((E) => ` - ${E}`).join(`
|
|
|
23
23
|
validateImplementation(e, r) {
|
|
24
24
|
var I;
|
|
25
25
|
const s = [], E = r.name, T = Object.getPrototypeOf(this);
|
|
26
|
-
e.forEach((
|
|
27
|
-
if (typeof this[
|
|
28
|
-
s.push(`Method ${
|
|
26
|
+
e.forEach((l) => {
|
|
27
|
+
if (typeof this[l] != "function") {
|
|
28
|
+
s.push(`Method ${l}() is not defined`);
|
|
29
29
|
return;
|
|
30
30
|
}
|
|
31
|
-
T[
|
|
31
|
+
T[l] === r.prototype[l] && s.push(`Method ${l}() must be implemented (currently using base class error-throwing implementation)`);
|
|
32
32
|
}), u.validatedClasses.add(r), s.length > 0 ? (u.validationErrors.set(r, s), console.error(`[${E} Validation] ${E} validation failed:`, s)) : typeof process < "u" && ((I = process.env) == null ? void 0 : I.NODE_ENV) === "development" && console.log(`[${E} Validation] ✅ ${E} validated successfully`);
|
|
33
33
|
}
|
|
34
34
|
};
|
|
@@ -254,10 +254,10 @@ var st = {
|
|
|
254
254
|
...o,
|
|
255
255
|
caption: "caption",
|
|
256
256
|
icon: "icon"
|
|
257
|
-
},
|
|
257
|
+
}, mt = {
|
|
258
258
|
...o,
|
|
259
259
|
caption: "caption"
|
|
260
|
-
},
|
|
260
|
+
}, gt = {
|
|
261
261
|
...o,
|
|
262
262
|
minValue: "min-value",
|
|
263
263
|
maxValue: "max-value",
|
|
@@ -292,11 +292,11 @@ var st = {
|
|
|
292
292
|
position: "position"
|
|
293
293
|
}, vt = {
|
|
294
294
|
...o
|
|
295
|
-
},
|
|
295
|
+
}, Vt = {
|
|
296
296
|
BUTTON: Ct,
|
|
297
|
-
CHECKBOX:
|
|
297
|
+
CHECKBOX: mt,
|
|
298
298
|
COLOR: o,
|
|
299
|
-
COUNTER:
|
|
299
|
+
COUNTER: gt,
|
|
300
300
|
LABEL: bt,
|
|
301
301
|
RADIO_BUTTONS: Nt,
|
|
302
302
|
SELECTPICKER: X,
|
|
@@ -344,7 +344,7 @@ var st = {
|
|
|
344
344
|
const e = t.querySelectorAll(O.BUTTON), r = t.asElement().hasClass(U) ? [t] : [];
|
|
345
345
|
return e.length ? e : r;
|
|
346
346
|
}
|
|
347
|
-
},
|
|
347
|
+
}, Gt = class extends i {
|
|
348
348
|
getParentControlId() {
|
|
349
349
|
return n.BLOCK_BUTTON.BORDER_RADIUS;
|
|
350
350
|
}
|
|
@@ -454,20 +454,20 @@ var st = {
|
|
|
454
454
|
}
|
|
455
455
|
};
|
|
456
456
|
k.REQUIRED_METHODS = ["getId", "getTemplate"];
|
|
457
|
-
var ee = k,
|
|
457
|
+
var ee = k, V = class extends x {
|
|
458
458
|
getTargetNodes(t) {
|
|
459
459
|
const e = t.querySelectorAll(O.IMAGE), r = t.asElement().hasClass(K) ? [t] : [];
|
|
460
460
|
return e.length ? e : r;
|
|
461
461
|
}
|
|
462
|
-
}, re = class extends
|
|
462
|
+
}, re = class extends V {
|
|
463
463
|
getParentControlId() {
|
|
464
464
|
return n.BLOCK_IMAGE.EXTERNAL_INDENTS;
|
|
465
465
|
}
|
|
466
|
-
}, ne = class extends
|
|
466
|
+
}, ne = class extends V {
|
|
467
467
|
getParentControlId() {
|
|
468
468
|
return n.BLOCK_IMAGE.SIZE;
|
|
469
469
|
}
|
|
470
|
-
},
|
|
470
|
+
}, G = class L extends a {
|
|
471
471
|
constructor() {
|
|
472
472
|
super(L.REQUIRED_METHODS, L);
|
|
473
473
|
}
|
|
@@ -475,8 +475,8 @@ var ee = k, G = class extends x {
|
|
|
475
475
|
throw new Error("Method registerBlockControls() must be implemented by the subclass");
|
|
476
476
|
}
|
|
477
477
|
};
|
|
478
|
-
|
|
479
|
-
var se =
|
|
478
|
+
G.REQUIRED_METHODS = ["registerBlockControls"];
|
|
479
|
+
var se = G, ae = class {
|
|
480
480
|
constructor(t, e) {
|
|
481
481
|
this.tabId = t, this.controlsIds = e;
|
|
482
482
|
}
|
|
@@ -499,46 +499,42 @@ var se = V, ae = class {
|
|
|
499
499
|
const e = this.controlsIds.indexOf(t);
|
|
500
500
|
e !== -1 && this.controlsIds.splice(e, 1);
|
|
501
501
|
}
|
|
502
|
-
},
|
|
502
|
+
}, d = class extends x {
|
|
503
503
|
getTargetNodes(t) {
|
|
504
504
|
const e = t.querySelectorAll(O.TEXT), r = t.asElement().hasClass(p) ? [t] : [];
|
|
505
505
|
return e.length ? e : r;
|
|
506
506
|
}
|
|
507
|
-
}, ie = class extends
|
|
507
|
+
}, ie = class extends d {
|
|
508
508
|
getParentControlId() {
|
|
509
509
|
return n.GENERAL.TEXT_ALIGN;
|
|
510
510
|
}
|
|
511
|
-
}, oe = class extends
|
|
512
|
-
getParentControlId() {
|
|
513
|
-
return n.BLOCK_TEXT.TEXT_BLOCK_BACKGROUND_COLOR;
|
|
514
|
-
}
|
|
515
|
-
}, Ee = class extends l {
|
|
511
|
+
}, oe = class extends d {
|
|
516
512
|
getParentControlId() {
|
|
517
513
|
return n.GENERAL.TEXT_COLOR;
|
|
518
514
|
}
|
|
519
|
-
},
|
|
515
|
+
}, Ee = class extends d {
|
|
520
516
|
getParentControlId() {
|
|
521
517
|
return n.BLOCK_TEXT.FONT_FAMILY;
|
|
522
518
|
}
|
|
523
|
-
},
|
|
519
|
+
}, le = class extends d {
|
|
524
520
|
getParentControlId() {
|
|
525
521
|
return n.GENERAL.TEXT_LINE_SPACING;
|
|
526
522
|
}
|
|
527
|
-
},
|
|
523
|
+
}, de = class extends d {
|
|
528
524
|
getParentControlId() {
|
|
529
525
|
return n.BLOCK_TEXT.INTERNAL_INDENTS;
|
|
530
526
|
}
|
|
531
|
-
},
|
|
527
|
+
}, ue = class extends d {
|
|
532
528
|
getParentControlId() {
|
|
533
529
|
return n.GENERAL.TEXT_SIZE;
|
|
534
530
|
}
|
|
535
|
-
},
|
|
531
|
+
}, Ie = class extends d {
|
|
536
532
|
getParentControlId() {
|
|
537
533
|
return n.GENERAL.TEXT_STYLE;
|
|
538
534
|
}
|
|
539
535
|
}, Ut = class {
|
|
540
|
-
constructor(t, e, r = [], s, E = [], T, I = [],
|
|
541
|
-
this.uiElements = [], this.controls = [], this.contextActions = [], this.blocks = [], this.i18n = t, this.styles = e, this.previewStyles = W, this.uiElements = r, this.uiElementTagRegistry = s, this.controls = E, this.settingsPanelRegistry = T, this.contextActions = I, this.blocks =
|
|
536
|
+
constructor(t, e, r = [], s, E = [], T, I = [], l = [], v, $, W, z, Z, j, q, J, tt) {
|
|
537
|
+
this.uiElements = [], this.controls = [], this.contextActions = [], this.blocks = [], this.i18n = t, this.styles = e, this.previewStyles = W, this.uiElements = r, this.uiElementTagRegistry = s, this.controls = E, this.settingsPanelRegistry = T, this.contextActions = I, this.blocks = l, this.externalSmartElementsLibrary = v, this.externalImageLibrary = $, this.externalImageLibraryTab = tt, this.externalAiAssistant = z, this.externalDisplayConditionsLibrary = Z, this.externalVideoLibrary = j, this.blocksPanel = q, this.iconsRegistry = J, this.id = Math.random().toString(36).substring(2);
|
|
542
538
|
}
|
|
543
539
|
getI18n() {
|
|
544
540
|
return this.i18n;
|
|
@@ -594,7 +590,7 @@ var se = V, ae = class {
|
|
|
594
590
|
getIconsRegistry() {
|
|
595
591
|
return this.iconsRegistry;
|
|
596
592
|
}
|
|
597
|
-
},
|
|
593
|
+
}, Oe = class {
|
|
598
594
|
constructor() {
|
|
599
595
|
this.styles = [], this.uiElements = [], this.controls = [], this.contextActions = [], this.blocks = [];
|
|
600
596
|
}
|
|
@@ -689,9 +685,9 @@ var se = V, ae = class {
|
|
|
689
685
|
}
|
|
690
686
|
};
|
|
691
687
|
pt.REQUIRED_METHODS = ["openAiAssistant"];
|
|
692
|
-
var Kt = class
|
|
688
|
+
var Kt = class m extends a {
|
|
693
689
|
constructor() {
|
|
694
|
-
super(
|
|
690
|
+
super(m.REQUIRED_METHODS, m);
|
|
695
691
|
}
|
|
696
692
|
/**
|
|
697
693
|
* Retrieves the name of the category.
|
|
@@ -730,9 +726,9 @@ var Kt = class g extends a {
|
|
|
730
726
|
}
|
|
731
727
|
};
|
|
732
728
|
Kt.REQUIRED_METHODS = ["getCategoryName", "openExternalDisplayConditionsDialog"];
|
|
733
|
-
var Ft = class
|
|
729
|
+
var Ft = class g extends a {
|
|
734
730
|
constructor() {
|
|
735
|
-
super(
|
|
731
|
+
super(g.REQUIRED_METHODS, g);
|
|
736
732
|
}
|
|
737
733
|
openImageLibrary(e, r, s) {
|
|
738
734
|
throw new Error("Method openImageLibrary() must be implemented by the subclass");
|
|
@@ -787,7 +783,7 @@ var Q = class D extends a {
|
|
|
787
783
|
}
|
|
788
784
|
};
|
|
789
785
|
Q.REQUIRED_METHODS = ["registerIconsSvg"];
|
|
790
|
-
var
|
|
786
|
+
var Te = Q, ce = class {
|
|
791
787
|
constructor(t) {
|
|
792
788
|
this.key = t;
|
|
793
789
|
}
|
|
@@ -856,7 +852,7 @@ var ce = Q, _e = class {
|
|
|
856
852
|
}
|
|
857
853
|
};
|
|
858
854
|
f.REQUIRED_METHODS = ["onRender", "getId", "getTemplate"];
|
|
859
|
-
var
|
|
855
|
+
var _e = f, Y = class B extends a {
|
|
860
856
|
constructor() {
|
|
861
857
|
super(B.REQUIRED_METHODS, B);
|
|
862
858
|
}
|
|
@@ -865,7 +861,7 @@ var he = f, Y = class B extends a {
|
|
|
865
861
|
}
|
|
866
862
|
};
|
|
867
863
|
Y.REQUIRED_METHODS = ["registerUiElements"];
|
|
868
|
-
var
|
|
864
|
+
var he = Y;
|
|
869
865
|
export {
|
|
870
866
|
Xt as Block,
|
|
871
867
|
kt as BlockAttr,
|
|
@@ -877,7 +873,7 @@ export {
|
|
|
877
873
|
Qt as ButtonAlignBuiltInControl,
|
|
878
874
|
ft as ButtonBackgroundColorBuiltInControl,
|
|
879
875
|
Yt as ButtonBorderBuiltInControl,
|
|
880
|
-
|
|
876
|
+
Gt as ButtonBorderRadiusBuiltInControl,
|
|
881
877
|
$t as ButtonColorBuiltInControl,
|
|
882
878
|
w as ButtonControls,
|
|
883
879
|
Wt as ButtonFitToContainerBuiltInControl,
|
|
@@ -890,27 +886,26 @@ export {
|
|
|
890
886
|
Rt as ContainerControls,
|
|
891
887
|
ee as Control,
|
|
892
888
|
Ut as Extension,
|
|
893
|
-
|
|
889
|
+
Oe as ExtensionBuilder,
|
|
894
890
|
F as GeneralControls,
|
|
895
|
-
|
|
891
|
+
Te as IconsRegistry,
|
|
896
892
|
H as ImageControls,
|
|
897
893
|
re as ImageMarginsBuiltInControl,
|
|
898
894
|
ne as ImageSizeBuiltInControl,
|
|
899
|
-
|
|
895
|
+
ce as ModificationDescription,
|
|
900
896
|
se as SettingsPanelRegistry,
|
|
901
897
|
ae as SettingsPanelTab,
|
|
902
898
|
Lt as SettingsTab,
|
|
903
899
|
ie as TextAlignBuiltInControl,
|
|
904
|
-
oe as
|
|
905
|
-
Ee as TextColorBuiltInControl,
|
|
900
|
+
oe as TextColorBuiltInControl,
|
|
906
901
|
P as TextControls,
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
902
|
+
Ee as TextFontFamilyBuiltInControl,
|
|
903
|
+
le as TextLineSpacingBuiltInControl,
|
|
904
|
+
de as TextPaddingsBuiltInControl,
|
|
905
|
+
ue as TextSizeBuiltInControl,
|
|
906
|
+
Ie as TextStyleBuiltInControl,
|
|
907
|
+
Vt as UEAttr,
|
|
908
|
+
_e as UIElement,
|
|
909
|
+
he as UIElementTagRegistry,
|
|
915
910
|
yt as UIElementType
|
|
916
911
|
};
|
|
@@ -7,22 +7,69 @@ export interface CardCompositionItem {
|
|
|
7
7
|
visible: boolean;
|
|
8
8
|
}
|
|
9
9
|
export declare class RecommendationCardCompositionControl extends CommonControl {
|
|
10
|
-
private currentComposition;
|
|
11
|
-
private currentVisibility;
|
|
12
10
|
getId(): string;
|
|
13
11
|
getTemplate(): string;
|
|
14
12
|
onRender(): void;
|
|
15
13
|
onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
|
|
16
14
|
/**
|
|
17
|
-
*
|
|
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
|
|
18
24
|
*/
|
|
19
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
|
+
* Builds visibility values object from the visibility map
|
|
33
|
+
*/
|
|
34
|
+
private _buildVisibilityValues;
|
|
35
|
+
/**
|
|
36
|
+
* Read visibility state from individual row elements' data-visibility attributes
|
|
37
|
+
* This ensures toggles reflect the actual DOM state
|
|
38
|
+
*/
|
|
39
|
+
private _readVisibilityFromRows;
|
|
40
|
+
/**
|
|
41
|
+
* Returns default visibility values for all items
|
|
42
|
+
*/
|
|
43
|
+
private _getDefaultVisibilities;
|
|
44
|
+
/**
|
|
45
|
+
* Extracts visibility values from DOM nodes
|
|
46
|
+
*/
|
|
47
|
+
private _extractVisibilityFromRows;
|
|
48
|
+
/**
|
|
49
|
+
* Parses visibility value from string to boolean
|
|
50
|
+
* Accepts "1", "true" as true, everything else as false
|
|
51
|
+
*/
|
|
52
|
+
private _parseVisibilityValue;
|
|
53
|
+
/**
|
|
54
|
+
* Merges extracted visibilities with default values for missing keys
|
|
55
|
+
*/
|
|
56
|
+
private _mergeWithDefaults;
|
|
20
57
|
/**
|
|
21
58
|
* Apply the reordered composition to the block's HTML structure
|
|
59
|
+
* Updates the data-card-composition attribute and reorders product attributes
|
|
22
60
|
*/
|
|
23
61
|
private _applyCompositionToBlock;
|
|
62
|
+
/**
|
|
63
|
+
* Reorders attribute rows within each product row based on composition order
|
|
64
|
+
*/
|
|
65
|
+
private _reorderProductAttributes;
|
|
66
|
+
/**
|
|
67
|
+
* Builds HTML string with attributes ordered according to composition
|
|
68
|
+
*/
|
|
69
|
+
private _buildCompositionHtml;
|
|
24
70
|
/**
|
|
25
71
|
* Apply visibility changes to the block's HTML structure
|
|
72
|
+
* Updates display style and data-visibility attribute for all matching rows
|
|
26
73
|
*/
|
|
27
74
|
private _applyVisibilityToBlock;
|
|
28
75
|
}
|
|
@@ -1,3 +1,14 @@
|
|
|
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";
|
|
1
12
|
/**
|
|
2
13
|
* Block IDs used in the Recommendation Extension
|
|
3
14
|
* These IDs are used in the esd-extension-block-id attribute to identify specific blocks
|
|
@@ -7,6 +18,8 @@ export declare enum RecommendationBlockId {
|
|
|
7
18
|
NAME = "recommendation-block-name",
|
|
8
19
|
PRICE = "recommendation-block-price",
|
|
9
20
|
OLD_PRICE = "recommendation-block-old-price",
|
|
21
|
+
OMNIBUS_PRICE = "recommendation-block-omnibus-price",
|
|
22
|
+
OMNIBUS_DISCOUNT = "recommendation-block-omnibus-discount",
|
|
10
23
|
IMAGE = "recommendation-block-image"
|
|
11
24
|
}
|
|
12
25
|
/**
|
|
@@ -32,6 +45,7 @@ export declare enum RecommendationControlId {
|
|
|
32
45
|
NAME_PADDINGS = "recommendation-block-name-paddings-control",
|
|
33
46
|
NAME_SIZE = "recommendation-block-name-size-control",
|
|
34
47
|
NAME_STYLE = "recommendation-block-name-style-control",
|
|
48
|
+
NAME_TEXT_TRIM = "recommendation-block-name-text-trim-control",
|
|
35
49
|
PRICE_ALIGN = "recommendation-block-price-align-control",
|
|
36
50
|
PRICE_BACKGROUND = "recommendation-block-price-background-control",
|
|
37
51
|
PRICE_COLOR = "recommendation-block-price-color-control",
|
|
@@ -46,6 +60,24 @@ export declare enum RecommendationControlId {
|
|
|
46
60
|
OLD_PRICE_PADDINGS = "recommendation-block-old-price-paddings-control",
|
|
47
61
|
OLD_PRICE_SIZE = "recommendation-block-old-price-size-control",
|
|
48
62
|
OLD_PRICE_STYLE = "recommendation-block-old-price-style-control",
|
|
63
|
+
OMNIBUS_PRICE_ALIGN = "recommendation-block-omnibus-price-align-control",
|
|
64
|
+
OMNIBUS_PRICE_BACKGROUND = "recommendation-block-omnibus-price-background-control",
|
|
65
|
+
OMNIBUS_PRICE_COLOR = "recommendation-block-omnibus-price-color-control",
|
|
66
|
+
OMNIBUS_PRICE_FONT_FAMILY = "recommendation-block-omnibus-price-font-family-control",
|
|
67
|
+
OMNIBUS_PRICE_PADDINGS = "recommendation-block-omnibus-price-paddings-control",
|
|
68
|
+
OMNIBUS_PRICE_SIZE = "recommendation-block-omnibus-price-size-control",
|
|
69
|
+
OMNIBUS_PRICE_STYLE = "recommendation-block-omnibus-price-style-control",
|
|
70
|
+
OMNIBUS_PRICE_TEXT_BEFORE = "recommendation-block-omnibus-price-text-before-control",
|
|
71
|
+
OMNIBUS_PRICE_TEXT_AFTER = "recommendation-block-omnibus-price-text-after-control",
|
|
72
|
+
OMNIBUS_DISCOUNT_ALIGN = "recommendation-block-omnibus-discount-align-control",
|
|
73
|
+
OMNIBUS_DISCOUNT_BACKGROUND = "recommendation-block-omnibus-discount-background-control",
|
|
74
|
+
OMNIBUS_DISCOUNT_COLOR = "recommendation-block-omnibus-discount-color-control",
|
|
75
|
+
OMNIBUS_DISCOUNT_FONT_FAMILY = "recommendation-block-omnibus-discount-font-family-control",
|
|
76
|
+
OMNIBUS_DISCOUNT_PADDINGS = "recommendation-block-omnibus-discount-paddings-control",
|
|
77
|
+
OMNIBUS_DISCOUNT_SIZE = "recommendation-block-omnibus-discount-size-control",
|
|
78
|
+
OMNIBUS_DISCOUNT_STYLE = "recommendation-block-omnibus-discount-style-control",
|
|
79
|
+
OMNIBUS_DISCOUNT_TEXT_BEFORE = "recommendation-block-omnibus-discount-text-before-control",
|
|
80
|
+
OMNIBUS_DISCOUNT_TEXT_AFTER = "recommendation-block-omnibus-discount-text-after-control",
|
|
49
81
|
IMAGE_SIZE = "recommendation-block-image-size-control",
|
|
50
82
|
IMAGE_MARGINS = "recommendation-block-image-margins-control"
|
|
51
83
|
}
|
|
@@ -17,8 +17,6 @@ export declare class RecommendationBlockControl extends CommonControl {
|
|
|
17
17
|
_getProductLayout(): string;
|
|
18
18
|
_getFilterStatus(): string;
|
|
19
19
|
_getShuffleProducts(): string;
|
|
20
|
-
_getResponsive(): string;
|
|
21
|
-
_onFilterChange(value: boolean): void;
|
|
22
20
|
_onFilterSelectClick(): void;
|
|
23
21
|
_onDataChange(item: string, value: string | number | string[]): void;
|
|
24
22
|
/**
|
|
@@ -26,6 +24,11 @@ export declare class RecommendationBlockControl extends CommonControl {
|
|
|
26
24
|
*/
|
|
27
25
|
_getCardComposition(): string[];
|
|
28
26
|
_regenerateProductRows(): void;
|
|
27
|
+
/**
|
|
28
|
+
* Reapply spacing values after product regeneration
|
|
29
|
+
* This ensures spacing persists when products are regenerated
|
|
30
|
+
*/
|
|
31
|
+
_reapplySpacing(): void;
|
|
29
32
|
_debouncedRegenerateProductRows: import("@vueuse/shared").PromisifyFn<() => void>;
|
|
30
33
|
_onCurrencyConfigChange(item: string, value: string | number): void;
|
|
31
34
|
_onCurrencyChange(value: string): void;
|
|
@@ -0,0 +1,25 @@
|
|
|
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
|
+
}
|