@useinsider/guido 3.2.0-beta.87303ed → 3.2.0-beta.895a145

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 (73) 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/composables/useRecommendation.js +46 -26
  6. package/dist/config/compiler/utils/recommendationCompilerUtils.js +104 -71
  7. package/dist/config/migrator/index.js +9 -9
  8. package/dist/config/migrator/recommendation/compositionMapper.js +98 -0
  9. package/dist/config/migrator/recommendation/extractors.js +27 -0
  10. package/dist/config/migrator/recommendation/htmlBuilder.js +496 -0
  11. package/dist/config/migrator/recommendation/parseLegacyConfig.js +33 -0
  12. package/dist/config/migrator/recommendation/settingsMapper.js +70 -0
  13. package/dist/config/migrator/recommendation/themeMapper.js +93 -0
  14. package/dist/config/migrator/recommendationMigrator.js +74 -290
  15. package/dist/enums/extensions/recommendationBlock.js +43 -96
  16. package/dist/enums/unsubscribe.js +24 -25
  17. package/dist/extensions/Blocks/Checkbox/control.js +23 -23
  18. package/dist/extensions/Blocks/RadioButton/control.js +15 -15
  19. package/dist/extensions/Blocks/Recommendation/block.js +35 -32
  20. package/dist/extensions/Blocks/Recommendation/constants/defaultConfig.js +5 -5
  21. package/dist/extensions/Blocks/Recommendation/controls/main/algorithm.js +25 -24
  22. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +228 -181
  23. package/dist/extensions/Blocks/Recommendation/services/configService.js +65 -29
  24. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +130 -90
  25. package/dist/extensions/Blocks/Recommendation/templates/grid/elementRenderer.js +19 -10
  26. package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +8 -8
  27. package/dist/extensions/Blocks/Recommendation/templates/list/elementRenderer.js +25 -15
  28. package/dist/extensions/Blocks/Recommendation/templates/utils.js +1 -1
  29. package/dist/extensions/Blocks/Recommendation/utils/legacyStrategyMap.js +21 -0
  30. package/dist/extensions/Blocks/Recommendation/utils/preserveTextStyles.js +13 -22
  31. package/dist/guido.css +1 -1
  32. package/dist/node_modules/valibot/dist/index.js +450 -235
  33. package/dist/src/@types/config/defaults.d.ts +5 -1
  34. package/dist/src/@types/config/index.d.ts +3 -3
  35. package/dist/src/@types/config/schemas.d.ts +213 -0
  36. package/dist/src/@types/config/types.d.ts +9 -1
  37. package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
  38. package/dist/src/composables/useConfig.d.ts +56 -0
  39. package/dist/src/composables/useRecommendation.d.ts +10 -1
  40. package/dist/src/composables/useRecommendation.test.d.ts +1 -0
  41. package/dist/src/config/migrator/index.d.ts +2 -1
  42. package/dist/src/config/migrator/recommendation/compositionMapper.d.ts +2 -0
  43. package/dist/src/config/migrator/recommendation/compositionMapper.test.d.ts +1 -0
  44. package/dist/src/config/migrator/recommendation/extractors.d.ts +7 -0
  45. package/dist/src/config/migrator/recommendation/extractors.test.d.ts +1 -0
  46. package/dist/src/config/migrator/recommendation/htmlBuilder.d.ts +11 -0
  47. package/dist/src/config/migrator/recommendation/parseLegacyConfig.d.ts +15 -0
  48. package/dist/src/config/migrator/recommendation/parseLegacyConfig.test.d.ts +1 -0
  49. package/dist/src/config/migrator/recommendation/settingsMapper.d.ts +7 -0
  50. package/dist/src/config/migrator/recommendation/settingsMapper.test.d.ts +1 -0
  51. package/dist/src/config/migrator/recommendation/themeMapper.d.ts +5 -0
  52. package/dist/src/config/migrator/recommendation/themeMapper.test.d.ts +1 -0
  53. package/dist/src/config/migrator/recommendation/types.d.ts +205 -0
  54. package/dist/src/config/migrator/recommendationMigrator.d.ts +13 -1
  55. package/dist/src/config/migrator/recommendationMigrator.test.d.ts +1 -0
  56. package/dist/src/enums/extensions/recommendationBlock.d.ts +1 -5
  57. package/dist/src/enums/unsubscribe.d.ts +3 -8
  58. package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.test.d.ts +1 -0
  59. package/dist/src/extensions/Blocks/Recommendation/services/configService.d.ts +10 -0
  60. package/dist/src/extensions/Blocks/Recommendation/services/configService.test.d.ts +1 -0
  61. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +34 -0
  62. package/dist/src/extensions/Blocks/Recommendation/types/nodeConfig.d.ts +1 -1
  63. package/dist/src/extensions/Blocks/Recommendation/utils/legacyStrategyMap.d.ts +21 -0
  64. package/dist/src/extensions/Blocks/Recommendation/utils/legacyStrategyMap.test.d.ts +1 -0
  65. package/dist/src/extensions/Blocks/Recommendation/utils/preserveTextStyles.d.ts +0 -3
  66. package/dist/src/library.d.ts +1 -1
  67. package/dist/src/stores/config.d.ts +504 -0
  68. package/dist/src/utils/htmlEscape.d.ts +5 -0
  69. package/dist/src/utils/htmlEscape.test.d.ts +1 -0
  70. package/dist/utils/htmlEscape.js +13 -0
  71. package/dist/utils/templatePreparation.js +72 -32
  72. package/package.json +5 -1
  73. package/dist/extensions/Blocks/Recommendation/templates/grid/migration.js +0 -251
@@ -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
  };