@useinsider/guido 3.2.0-beta.c3bc14c → 3.2.0-beta.caa22bf

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 (91) hide show
  1. package/README.md +92 -0
  2. package/dist/@types/config/schemas.js +150 -94
  3. package/dist/components/Guido.vue.js +1 -1
  4. package/dist/components/Guido.vue2.js +88 -87
  5. package/dist/components/organisms/onboarding/AMPOnboarding.vue2.js +51 -31
  6. package/dist/components/organisms/onboarding/GenericOnboarding.vue.js +1 -1
  7. package/dist/components/organisms/onboarding/GenericOnboarding.vue2.js +23 -22
  8. package/dist/components/organisms/onboarding/ItemsOnboarding.vue.js +1 -1
  9. package/dist/components/organisms/onboarding/ItemsOnboarding.vue2.js +37 -39
  10. package/dist/components/organisms/onboarding/TextBlockOnboarding.vue.js +3 -3
  11. package/dist/components/organisms/onboarding/TextBlockOnboarding.vue2.js +30 -41
  12. package/dist/components/organisms/onboarding/VersionHistoryOnboarding.vue2.js +15 -14
  13. package/dist/composables/useRecommendation.js +46 -26
  14. package/dist/composables/useRibbonOffset.js +21 -0
  15. package/dist/composables/useStripo.js +14 -16
  16. package/dist/composables/validators/useCouponBlockValidator.js +6 -6
  17. package/dist/config/compiler/recommendationCompilerRules.js +27 -27
  18. package/dist/config/migrator/index.js +9 -9
  19. package/dist/config/migrator/radioButtonMigrator.js +64 -44
  20. package/dist/config/migrator/recommendation/compositionMapper.js +98 -0
  21. package/dist/config/migrator/recommendation/extractors.js +27 -0
  22. package/dist/config/migrator/recommendation/htmlBuilder.js +496 -0
  23. package/dist/config/migrator/recommendation/parseLegacyConfig.js +33 -0
  24. package/dist/config/migrator/recommendation/settingsMapper.js +70 -0
  25. package/dist/config/migrator/recommendation/themeMapper.js +93 -0
  26. package/dist/config/migrator/recommendationMigrator.js +74 -290
  27. package/dist/enums/extensions/recommendationBlock.js +2 -1
  28. package/dist/enums/onboarding.js +7 -2
  29. package/dist/extensions/Blocks/RadioButton/template.js +1 -1
  30. package/dist/extensions/Blocks/Recommendation/block.js +35 -32
  31. package/dist/extensions/Blocks/Recommendation/constants/defaultConfig.js +5 -5
  32. package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +25 -24
  33. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +228 -181
  34. package/dist/extensions/Blocks/Recommendation/services/configService.js +65 -29
  35. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +130 -90
  36. package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +8 -8
  37. package/dist/extensions/Blocks/Recommendation/templates/utils.js +1 -1
  38. package/dist/extensions/Blocks/Recommendation/utils/legacyStrategyMap.js +21 -0
  39. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +13 -22
  40. package/dist/guido.css +1 -1
  41. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +258 -235
  42. package/dist/node_modules/valibot/dist/index.js +450 -235
  43. package/dist/package.json.js +1 -1
  44. package/dist/services/templateLibraryApi.js +5 -4
  45. package/dist/src/@types/config/defaults.d.ts +5 -1
  46. package/dist/src/@types/config/index.d.ts +3 -3
  47. package/dist/src/@types/config/schemas.d.ts +213 -0
  48. package/dist/src/@types/config/types.d.ts +9 -1
  49. package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
  50. package/dist/src/composables/useConfig.d.ts +56 -0
  51. package/dist/src/composables/useRecommendation.d.ts +10 -1
  52. package/dist/src/composables/useRecommendation.test.d.ts +1 -0
  53. package/dist/src/composables/useRibbonOffset.d.ts +4 -0
  54. package/dist/src/config/migrator/index.d.ts +2 -1
  55. package/dist/src/config/migrator/recommendation/compositionMapper.d.ts +2 -0
  56. package/dist/src/config/migrator/recommendation/compositionMapper.test.d.ts +1 -0
  57. package/dist/src/config/migrator/recommendation/extractors.d.ts +7 -0
  58. package/dist/src/config/migrator/recommendation/extractors.test.d.ts +1 -0
  59. package/dist/src/config/migrator/recommendation/htmlBuilder.d.ts +11 -0
  60. package/dist/src/config/migrator/recommendation/parseLegacyConfig.d.ts +15 -0
  61. package/dist/src/config/migrator/recommendation/parseLegacyConfig.test.d.ts +1 -0
  62. package/dist/src/config/migrator/recommendation/settingsMapper.d.ts +7 -0
  63. package/dist/src/config/migrator/recommendation/settingsMapper.test.d.ts +1 -0
  64. package/dist/src/config/migrator/recommendation/themeMapper.d.ts +5 -0
  65. package/dist/src/config/migrator/recommendation/themeMapper.test.d.ts +1 -0
  66. package/dist/src/config/migrator/recommendation/types.d.ts +205 -0
  67. package/dist/src/config/migrator/recommendationMigrator.d.ts +13 -1
  68. package/dist/src/config/migrator/recommendationMigrator.test.d.ts +1 -0
  69. package/dist/src/enums/onboarding.d.ts +6 -0
  70. package/dist/src/extensions/Blocks/RadioButton/template.d.ts +1 -1
  71. package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.test.d.ts +1 -0
  72. package/dist/src/extensions/Blocks/Recommendation/services/configService.d.ts +10 -0
  73. package/dist/src/extensions/Blocks/Recommendation/services/configService.test.d.ts +1 -0
  74. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +34 -0
  75. package/dist/src/extensions/Blocks/Recommendation/types/nodeConfig.d.ts +1 -1
  76. package/dist/src/extensions/Blocks/Recommendation/utils/legacyStrategyMap.d.ts +21 -0
  77. package/dist/src/extensions/Blocks/Recommendation/utils/legacyStrategyMap.test.d.ts +1 -0
  78. package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +0 -3
  79. package/dist/src/library.d.ts +1 -1
  80. package/dist/src/stores/config.d.ts +504 -0
  81. package/dist/src/stores/onboarding.d.ts +4 -0
  82. package/dist/src/utils/htmlEscape.d.ts +5 -0
  83. package/dist/src/utils/htmlEscape.test.d.ts +1 -0
  84. package/dist/stores/onboarding.js +4 -0
  85. package/dist/utils/htmlEscape.js +13 -0
  86. package/dist/utils/pairProductVariables.js +89 -88
  87. package/dist/utils/templatePreparation.js +72 -32
  88. package/package.json +7 -3
  89. package/dist/enums/displayConditions.js +0 -80
  90. package/dist/extensions/Blocks/Recommendation/templates/grid/migration.js +0 -251
  91. package/dist/src/enums/displayConditions.d.ts +0 -2
@@ -1,4 +1,4 @@
1
- import { DEFAULT_MOBILE_ROW_SPACING as R, DEFAULT_MOBILE_COLUMN_SPACING as U, DEFAULT_ROW_SPACING as i, DEFAULT_COLUMN_SPACING as s, DEFAULT_MOBILE_CARDS_IN_ROW as o, DEFAULT_CARDS_IN_ROW as C } from "./layout.js";
1
+ import { DEFAULT_COLUMN_SPACING as R, DEFAULT_ROW_SPACING as U, DEFAULT_MOBILE_ROW_SPACING as i, DEFAULT_MOBILE_COLUMN_SPACING as s, DEFAULT_MOBILE_CARDS_IN_ROW as o, DEFAULT_CARDS_IN_ROW as C } from "./layout.js";
2
2
  import { ATTR_PRODUCT_IMAGE as _, ATTR_PRODUCT_NAME as e, ATTR_PRODUCT_OLD_PRICE as t, ATTR_PRODUCT_PRICE as T, ATTR_PRODUCT_OMNIBUS_PRICE as r, ATTR_PRODUCT_OMNIBUS_DISCOUNT as I, ATTR_PRODUCT_BUTTON as n } from "./selectors.js";
3
3
  const O = {
4
4
  code: "USD",
@@ -44,10 +44,10 @@ const O = {
44
44
  mobileCardsInRow: o,
45
45
  mobileLayoutEnabled: !1,
46
46
  previousMobileCardsInRow: o,
47
- columnSpacing: s,
48
- rowSpacing: i,
49
- mobileColumnSpacing: U,
50
- mobileRowSpacing: R,
47
+ columnSpacing: R,
48
+ rowSpacing: U,
49
+ mobileColumnSpacing: s,
50
+ mobileRowSpacing: i,
51
51
  // Composition
52
52
  composition: a,
53
53
  visibility: E,
@@ -1,22 +1,23 @@
1
- var l = Object.defineProperty;
2
- var c = (s, i, t) => i in s ? l(s, i, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[i] = t;
3
- var a = (s, i, t) => c(s, typeof i != "symbol" ? i + "" : i, t);
1
+ var c = Object.defineProperty;
2
+ var l = (s, o, t) => o in s ? c(s, o, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[o] = t;
3
+ var a = (s, o, t) => l(s, typeof o != "symbol" ? o + "" : o, t);
4
4
  import { UEAttr as h } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
5
5
  import { CommonControl as d } from "../../../common-control.js";
6
6
  import { RecommendationConfigService as n } from "../../services/configService.js";
7
7
  import { useRecommendationExtensionStore as m } from "../../store/recommendation.js";
8
- const g = "recommendation-algorithm-control", e = {
8
+ import { mapLegacyStrategy as g } from "../../utils/legacyStrategyMap.js";
9
+ const u = "recommendation-algorithm-control", i = {
9
10
  ALGORITHM: "strategy",
10
11
  PRODUCT_IDS: "productIds"
11
12
  };
12
- class T extends d {
13
+ class R extends d {
13
14
  constructor() {
14
15
  super(...arguments);
15
16
  // Store is used ONLY for API-fetched data (algorithms list), not for config
16
17
  a(this, "store", m());
17
18
  }
18
19
  getId() {
19
- return g;
20
+ return u;
20
21
  }
21
22
  getTemplate() {
22
23
  return `
@@ -24,13 +25,13 @@ class T extends d {
24
25
  ${this._GuTwoColumns([
25
26
  this._GuLabel({ text: this.api.translate("Recommendation Algorithm") }),
26
27
  this._GuSelect({
27
- name: e.ALGORITHM,
28
+ name: i.ALGORITHM,
28
29
  placeholder: this.api.translate("Select Recommendation Algorithm"),
29
30
  options: this.store.getActivePredictiveAlgorithms
30
31
  }),
31
- this._GuLabel({ text: this.api.translate("Product Ids"), name: `${e.PRODUCT_IDS}_label` }),
32
+ this._GuLabel({ text: this.api.translate("Product Ids"), name: `${i.PRODUCT_IDS}_label` }),
32
33
  this._GuTextInput({
33
- name: e.PRODUCT_IDS,
34
+ name: i.PRODUCT_IDS,
34
35
  placeholder: this.api.translate("Enter Product Ids"),
35
36
  className: "es-180w"
36
37
  })
@@ -45,19 +46,19 @@ class T extends d {
45
46
  super.onTemplateNodeUpdated(t), this._initializeSelectItems(), this._setFormValues();
46
47
  }
47
48
  _setFormValues() {
48
- const t = n.getConfig(this.currentNode);
49
- this._setProductIdsVisibility(t.strategy), this.api.updateValues({
50
- [e.ALGORITHM]: t.strategy,
51
- [e.PRODUCT_IDS]: t.productIds.join(",")
49
+ const t = n.getConfig(this.currentNode), e = g(t.strategy) ?? t.strategy;
50
+ this._setProductIdsVisibility(e), this.api.updateValues({
51
+ [i.ALGORITHM]: e,
52
+ [i.PRODUCT_IDS]: t.productIds.join(",")
52
53
  });
53
54
  }
54
55
  _initializeSelectItems() {
55
- var o;
56
- const t = (o = this.store) == null ? void 0 : o.getActivePredictiveAlgorithms;
56
+ var e;
57
+ const t = (e = this.store) == null ? void 0 : e.getActivePredictiveAlgorithms;
57
58
  if (t != null && t.length)
58
59
  try {
59
60
  this.api.setUIEAttribute(
60
- e.ALGORITHM,
61
+ i.ALGORITHM,
61
62
  h.SELECTPICKER.items,
62
63
  t
63
64
  );
@@ -67,7 +68,7 @@ class T extends d {
67
68
  }
68
69
  _setProductIdsVisibility(t) {
69
70
  const r = (t ?? n.getConfig(this.currentNode).strategy) === "manualMerchandising";
70
- this.api.setVisibility(e.PRODUCT_IDS, r), this.api.setVisibility(`${e.PRODUCT_IDS}_label`, r);
71
+ this.api.setVisibility(i.PRODUCT_IDS, r), this.api.setVisibility(`${i.PRODUCT_IDS}_label`, r);
71
72
  }
72
73
  _onAlgorithmChange(t) {
73
74
  !this.currentNode || n.getConfig(this.currentNode).strategy === t || (n.updateConfig(
@@ -80,23 +81,23 @@ class T extends d {
80
81
  _onProductIdsChange(t) {
81
82
  if (!this.currentNode)
82
83
  return;
83
- const o = t.split(",").map((r) => r.trim()).filter(Boolean);
84
+ const e = t.split(",").map((r) => r.trim()).filter(Boolean);
84
85
  n.updateConfig(
85
86
  this.api,
86
87
  this.currentNode,
87
- { productIds: o },
88
+ { productIds: e },
88
89
  "Updated product IDs"
89
- ), this.store.patchCurrentBlockConfig({ productIds: o });
90
+ ), this.store.patchCurrentBlockConfig({ productIds: e });
90
91
  }
91
92
  _listenToFormUpdates() {
92
- this.api.onValueChanged(e.ALGORITHM, (t) => {
93
+ this.api.onValueChanged(i.ALGORITHM, (t) => {
93
94
  this._onAlgorithmChange(t);
94
- }), this.api.onValueChanged(e.PRODUCT_IDS, (t) => {
95
+ }), this.api.onValueChanged(i.PRODUCT_IDS, (t) => {
95
96
  this._onProductIdsChange(t);
96
97
  });
97
98
  }
98
99
  }
99
100
  export {
100
- g as ALGORITHM_CONTROL_ID,
101
- T as AlgorithmControl
101
+ u as ALGORITHM_CONTROL_ID,
102
+ R as AlgorithmControl
102
103
  };