@useinsider/guido 3.17.0-beta.6255bfc → 3.17.0-beta.6b5cdfc

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 (52) hide show
  1. package/README.md +5 -6
  2. package/dist/@types/config/schemas.js +6 -12
  3. package/dist/components/Guido.vue.js +2 -2
  4. package/dist/components/Guido.vue2.js +30 -31
  5. package/dist/composables/useCustomInterfaceAppearance.js +38 -52
  6. package/dist/composables/useRecommendation.js +44 -52
  7. package/dist/config/migrator/recommendation/settingsMapper.js +17 -19
  8. package/dist/config/migrator/recommendationMigrator.js +4 -6
  9. package/dist/enums/academy.js +1 -2
  10. package/dist/enums/date.js +3 -4
  11. package/dist/enums/extensions/recommendationBlock.js +1 -4
  12. package/dist/extensions/Blocks/Recommendation/block.js +21 -26
  13. package/dist/extensions/Blocks/Recommendation/constants/defaultConfig.js +34 -36
  14. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +95 -96
  15. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +166 -180
  16. package/dist/extensions/Blocks/Recommendation/services/configService.js +35 -35
  17. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +110 -251
  18. package/dist/extensions/Blocks/common-control.js +19 -22
  19. package/dist/guido.css +1 -1
  20. package/dist/services/recommendationApi.js +30 -75
  21. package/dist/src/@types/config/schemas.d.ts +0 -12
  22. package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
  23. package/dist/src/composables/useConfig.d.ts +0 -2
  24. package/dist/src/composables/useRecommendation.d.ts +0 -1
  25. package/dist/src/enums/academy.d.ts +0 -1
  26. package/dist/src/enums/extensions/recommendationBlock.d.ts +0 -2
  27. package/dist/src/extensions/Blocks/Recommendation/constants/defaultConfig.d.ts +6 -7
  28. package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +1 -1
  29. package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +3 -15
  30. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +10 -206
  31. package/dist/src/extensions/Blocks/Recommendation/types/nodeConfig.d.ts +0 -6
  32. package/dist/src/extensions/Blocks/common-control.d.ts +1 -4
  33. package/dist/src/services/recommendationApi.d.ts +1 -4
  34. package/dist/src/stores/config.d.ts +0 -18
  35. package/dist/src/utils/liquidDynamicContent.d.ts +18 -0
  36. package/dist/utils/dateUtil.js +10 -29
  37. package/dist/utils/genericUtil.js +54 -54
  38. package/dist/utils/liquidDynamicContent.js +14 -0
  39. package/dist/utils/templatePreparation.js +34 -37
  40. package/package.json +2 -3
  41. package/dist/components/organisms/extensions/recommendation/AssignStrategyDrawer.vue.js +0 -18
  42. package/dist/components/organisms/extensions/recommendation/AssignStrategyDrawer.vue2.js +0 -66
  43. package/dist/extensions/Blocks/Recommendation/controls/main/strategy.js +0 -142
  44. package/dist/src/components/organisms/extensions/recommendation/AssignStrategyDrawer.vue.d.ts +0 -3
  45. package/dist/src/extensions/Blocks/Recommendation/controls/main/strategy.d.ts +0 -30
  46. package/dist/src/mock/api/recommendation-strategies.d.ts +0 -63
  47. package/dist/src/utils/strategyInfoBox.d.ts +0 -22
  48. package/dist/static/assets/icons/line-change.svg.js +0 -5
  49. package/dist/static/assets/icons/line-delete.svg.js +0 -5
  50. package/dist/static/assets/icons/line-plus.svg.js +0 -5
  51. package/dist/static/styles/components/recommendation-strategy.css.js +0 -188
  52. package/dist/utils/strategyInfoBox.js +0 -37
@@ -1,5 +0,0 @@
1
- const l = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M17.768 11.694a1.03 1.03 0 0 1-1.465 0 1.051 1.051 0 0 1 0-1.478L17.51 9H9a1 1 0 1 1 0-2h8.509l-1.206-1.216a1.051 1.051 0 0 1 0-1.478 1.03 1.03 0 0 1 1.465 0l2.929 2.955c.404.408.404 1.07 0 1.478l-2.93 2.955zM3.303 15.261a1.051 1.051 0 0 0 0 1.478l2.93 2.955a1.03 1.03 0 0 0 1.464 0 1.051 1.051 0 0 0 0-1.478L6.49 17H15a1 1 0 1 0 0-2H6.491l1.206-1.216a1.051 1.051 0 0 0 0-1.478 1.03 1.03 0 0 0-1.465 0l-2.929 2.955z"/></svg>
2
- `;
3
- export {
4
- l as default
5
- };
@@ -1,5 +0,0 @@
1
- const C = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M15.97 7H16.09C16.3342 7.02199 16.5619 7.13294 16.7296 7.31178C16.8974 7.49062 16.9936 7.72487 17 7.97V8.09L16.24 16.36C16.1547 17.3188 15.7266 18.2147 15.0341 18.8833C14.3416 19.552 13.4312 19.9484 12.47 20L12.26 20.01H7.74C6.77775 20.0102 5.84767 19.6635 5.12033 19.0335C4.39298 18.4035 3.91712 17.5324 3.78 16.58L3.76 16.38L3 8.08C2.9803 7.94999 2.9864 7.81738 3.01796 7.68973C3.04951 7.56207 3.1059 7.44189 3.1839 7.33603C3.34143 7.12224 3.57744 6.97978 3.84 6.94C4.10256 6.90022 4.37018 6.96637 4.58397 7.1239C4.68983 7.2019 4.77929 7.29999 4.84724 7.41256C4.91519 7.52514 4.9603 7.64999 4.98 7.78L5 7.9L5.75 16.17C5.78903 16.644 5.99569 17.0886 6.3329 17.4239C6.67011 17.7593 7.1158 17.9636 7.59 18L7.74 18.01H12.26C12.7328 18.0094 13.1901 17.8413 13.5507 17.5356C13.9113 17.2299 14.152 16.8063 14.23 16.34L14.25 16.19L15 7.92C15.022 7.67577 15.1329 7.44813 15.3118 7.28036C15.4906 7.11258 15.7249 7.01637 15.97 7.01V7ZM8 9C8.24568 8.99822 8.48341 9.08695 8.66785 9.24926C8.85229 9.41157 8.97052 9.63609 9 9.88V15C9.00788 15.1313 8.98982 15.2629 8.94684 15.3873C8.90387 15.5116 8.83682 15.6262 8.74953 15.7247C8.66225 15.8231 8.55643 15.9034 8.43812 15.9609C8.31981 16.0185 8.19132 16.0521 8.06 16.06C7.79478 16.0759 7.53411 15.9858 7.33532 15.8095C7.13653 15.6332 7.01591 15.3852 7 15.12V10C7 9.73478 7.10536 9.48043 7.29289 9.29289C7.48043 9.10536 7.73478 9 8 9ZM12 9C12.2457 8.99822 12.4834 9.08695 12.6679 9.24926C12.8523 9.41157 12.9705 9.63609 13 9.88V15C13.0159 15.2652 12.9258 15.5259 12.7495 15.7247C12.5732 15.9235 12.3252 16.0441 12.06 16.06C11.7948 16.0759 11.5341 15.9858 11.3353 15.8095C11.1365 15.6332 11.0159 15.3852 11 15.12V10C11 9.73478 11.1054 9.48043 11.2929 9.29289C11.4804 9.10536 11.7348 9 12 9ZM3 6C2.73478 6.01591 2.47411 5.92582 2.27532 5.74953C2.07653 5.57325 1.95591 5.32522 1.94 5.06C1.92409 4.79478 2.01418 4.53411 2.19047 4.33532C2.36675 4.13653 2.61478 4.01591 2.88 4H6.23L6.66 2.3C6.8129 1.67693 7.16151 1.11929 7.65466 0.708933C8.14781 0.298574 8.75952 0.0571152 9.4 0.02H10.45C11.0881 0.0203866 11.7094 0.224211 12.2237 0.60186C12.7381 0.979509 13.1186 1.51131 13.31 2.12L13.36 2.28L13.79 3.99H17C17.2652 3.97409 17.5259 4.06418 17.7247 4.24047C17.9235 4.41675 18.0441 4.66478 18.06 4.93C18.0759 5.19522 17.9858 5.45589 17.8095 5.65468C17.6332 5.85347 17.3852 5.97409 17.12 5.99H3V6ZM10.44 2.03H9.57C9.36856 2.0306 9.17199 2.09201 9.00605 2.20621C8.8401 2.32041 8.71252 2.48206 8.64 2.67L8.6 2.78L8.3 4H11.72L11.42 2.78C11.3746 2.60092 11.2805 2.4379 11.1481 2.30905C11.0157 2.18019 10.8502 2.09053 10.67 2.05L10.55 2.03H10.45H10.44Z"/></svg>
2
- `;
3
- export {
4
- C as default
5
- };
@@ -1,5 +0,0 @@
1
- const C = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M10 4C10.2457 3.99823 10.4834 4.08695 10.6679 4.24926C10.8523 4.41157 10.9705 4.63609 11 4.88V9H15C15.2652 8.98409 15.5259 9.07418 15.7247 9.25047C15.9235 9.42675 16.0441 9.67478 16.06 9.94C16.0759 10.2052 15.9858 10.4659 15.8095 10.6647C15.6332 10.8635 15.3852 10.9841 15.12 11H11V15C11.0159 15.2652 10.9258 15.5259 10.7495 15.7247C10.5732 15.9235 10.3252 16.0441 10.06 16.06C9.79478 16.0759 9.53411 15.9858 9.33532 15.8095C9.13653 15.6332 9.01591 15.3852 9 15.12V11H5C4.73478 11.0159 4.47411 10.9258 4.27532 10.7495C4.07653 10.5732 3.95591 10.3252 3.94 10.06C3.92409 9.79478 4.01418 9.53411 4.19047 9.33532C4.36675 9.13653 4.61478 9.01591 4.88 9H9V5C9 4.73478 9.10536 4.48043 9.29289 4.29289C9.48043 4.10536 9.73478 4 10 4Z"/></svg>
2
- `;
3
- export {
4
- C as default
5
- };
@@ -1,188 +0,0 @@
1
- const n = `/* Recommendation Strategy section of the recommendation block's settings panel
2
- (SD-149105). Scoped to the section's own classes/ids so nothing leaks into
3
- other blocks' controls. Measurements come from the Figma frames
4
- 4880:44449 (empty) and 4826:7513 (assigned). */
5
-
6
- .strategy-control-header {
7
- padding: 16px 16px 0;
8
- }
9
-
10
- .strategy-control-title {
11
- margin: 0;
12
- color: var(--guido-color-gray-800);
13
- font-size: 16px;
14
- font-weight: 600;
15
- line-height: 24px;
16
- }
17
-
18
- .strategy-control-description-row {
19
- padding: 8px 16px 16px;
20
- }
21
-
22
- .strategy-control-description {
23
- margin: 0;
24
- color: var(--guido-color-gray-600);
25
- font-size: 13px;
26
- line-height: 16px;
27
- }
28
-
29
- .strategy-control-description a {
30
- color: var(--guido-color-primary-500);
31
- text-decoration: underline;
32
- }
33
-
34
- /* Assign + Create are two fixed 180px columns, left-aligned — not a stretched
35
- half-and-half. The ancestor is load-bearing: it out-specifies the editor's own
36
- \`.container.two-columns\` grid, which otherwise wins and leaves the CTAs uneven. */
37
- .recommendation-controls-container .container.strategy-control-cta-row {
38
- grid-template-columns: repeat(2, minmax(0, 180px));
39
- justify-content: start;
40
- gap: 16px;
41
- padding: 0 16px 16px;
42
- }
43
-
44
- /* The editor's grid does not stretch its items and the visible pill is the inner
45
- \`.button\`, not the \`ue-button\` host — so both need the width or the two CTAs
46
- come out sized to their own captions. */
47
- .strategy-control-cta {
48
- width: 100%;
49
- }
50
-
51
- .strategy-control-cta > .button {
52
- display: flex;
53
- gap: 8px;
54
- justify-content: center;
55
- width: 100%;
56
- border: none;
57
- font-size: 15px;
58
- font-weight: 400;
59
- line-height: 24px;
60
- white-space: nowrap;
61
- }
62
-
63
- /* Secondary action keeps full contrast while disabled — the round trip ships
64
- in a later phase, but the design shows it as a normal grey button. */
65
- .strategy-control-cta.primary > .button:disabled,
66
- .strategy-control-cta.primary > .button.disabled {
67
- opacity: 1;
68
- color: var(--guido-color-gray-800);
69
- cursor: default;
70
- }
71
-
72
- /* The assigned strategy's name sits in a band that spans the whole panel, so it
73
- carries its own 16px inset instead of inheriting the section's. */
74
- .strategy-control-name-band {
75
- display: flex;
76
- align-items: center;
77
- min-height: 48px;
78
- padding: 0 16px;
79
- background-color: var(--guido-color-gray-0);
80
- }
81
-
82
- .strategy-control-name {
83
- color: var(--guido-color-gray-800);
84
- font-size: 15px;
85
- font-weight: 600;
86
- line-height: 24px;
87
- }
88
-
89
- .strategy-control-actions {
90
- display: flex;
91
- align-items: center;
92
- padding: 16px;
93
- }
94
-
95
- .strategy-control-action {
96
- display: inline-flex;
97
- align-items: center;
98
- padding: 0;
99
- border: none;
100
- background: none;
101
- font-size: 15px;
102
- font-weight: 400;
103
- line-height: 24px;
104
- cursor: pointer;
105
- }
106
-
107
- /* The label carries the gap on both sides, which is also what separates Change
108
- from Remove — matching the design's button wrappers. */
109
- .strategy-control-action > span {
110
- padding: 0 8px;
111
- }
112
-
113
- /* Icons are masks rather than inline SVG — Stripo rebuilds the control markup
114
- through Angular, which recreates <svg> outside the SVG namespace so it never
115
- paints. A mask is a background, so it survives that round trip. The glyphs
116
- live in static/assets/icons and reach these vars via useCustomInterfaceAppearance. */
117
- .strategy-control-action::before,
118
- .strategy-control-cta.on > .button::before {
119
- content: '';
120
- flex: none;
121
- width: 24px;
122
- height: 24px;
123
- background-color: currentcolor;
124
- mask-repeat: no-repeat;
125
- mask-position: center;
126
- }
127
-
128
- /* The design system's \`line-change\` glyph fills its 24px box; the 20px glyphs
129
- are centred inside the same box, as the design draws them. */
130
- .strategy-control-action--change::before {
131
- mask-size: 24px 24px;
132
- mask-image: var(--guido-icon-line-change);
133
- }
134
-
135
- .strategy-control-action--remove::before {
136
- mask-size: 20px 20px;
137
- mask-image: var(--guido-icon-line-delete);
138
- }
139
-
140
- .strategy-control-cta.on > .button::before {
141
- mask-size: 20px 20px;
142
- mask-image: var(--guido-icon-line-plus);
143
- }
144
-
145
- .strategy-control-action--change {
146
- color: var(--guido-color-primary-500);
147
- }
148
-
149
- .strategy-control-action--remove {
150
- color: var(--guido-color-danger-500);
151
- }
152
-
153
- .strategy-control-action:hover {
154
- text-decoration: underline;
155
- }
156
-
157
- /* Per-block controls (SD-149105). With the flag on the panel carries BOTH the
158
- legacy and the strategy controls — Stripo reuses one panel across blocks of
159
- the same type and never re-runs getTemplate() on a switch — and
160
- \`.strategy-block\` picks which set the selected block shows. */
161
- .recommendation-controls-container:not(.strategy-block) .strategy-control-container,
162
- .recommendation-controls-container.strategy-block .product-count-control-container,
163
- .recommendation-controls-container.strategy-block .algorithm-control-container,
164
- .recommendation-controls-container.strategy-block .filters-control-container,
165
- .recommendation-controls-container.strategy-block .shuffle-control-container {
166
- display: none;
167
- }
168
-
169
- /* The RRS panel's order (Figma 4826:7513) is the legacy DOM order with these
170
- two sent to the end; everything else already lands where the design wants it.
171
- Only \`.strategy-block\` becomes a flex container, so a legacy block keeps plain
172
- block flow and stays exactly what it is with the flag off. */
173
- .recommendation-controls-container.strategy-block {
174
- display: flex;
175
- flex-direction: column;
176
- }
177
-
178
- .recommendation-controls-container.strategy-block .price-placement-control-container {
179
- order: 1;
180
- }
181
-
182
- .recommendation-controls-container.strategy-block .product-layout-control-container {
183
- order: 2;
184
- }
185
- `;
186
- export {
187
- n as default
188
- };
@@ -1,37 +0,0 @@
1
- import { useTranslations as m } from "../composables/useTranslations.js";
2
- import { formatShortDate as u } from "./dateUtil.js";
3
- import { escapeHtml as c } from "./htmlEscape.js";
4
- const n = "assign-strategy-info-box", a = (e) => typeof e == "string" ? e : typeof e == "number" ? String(e) : "", p = (e, t) => {
5
- const r = a(e.algorithm) === "MIXED" ? t("discovery-strategy.mixed-algorithm") : t("discovery-strategy.single-algorithm"), i = a(e.algorithm_used).split(",").map((o) => o.trim()).filter(Boolean).map((o) => t(`recommendation-algorithm-names.${o.replaceAll("_", "-").toLowerCase()}`));
6
- return i.length ? `${r} · ${i.join(", ")}` : r;
7
- }, g = (e, t) => [
8
- [e.exclude_view, "discovery-strategy.exclude-recently-view-items"],
9
- [e.exclude_purchase, "discovery-strategy.exclude-recently-purchased-items"],
10
- [e.exclude_cart, "discovery-strategy.exclude-recently-added-cart-items"]
11
- ].filter(([r]) => Number(r) === 1).map(([, r]) => t(r)).join(", "), h = (e) => a(
12
- e.manual_merchandising || e.manual_merchandising_products
13
- ).trim(), _ = (e) => {
14
- const t = e.filters;
15
- if (!t)
16
- return 0;
17
- try {
18
- const r = typeof t == "string" ? JSON.parse(t) : t;
19
- return Array.isArray(r) ? r.reduce((i, o) => i + (Array.isArray(o) ? o.length : 1), 0) : 0;
20
- } catch {
21
- return 0;
22
- }
23
- }, s = (e, t) => `<div class="${n}__row"><span class="${n}__label">${c(e)}</span><span class="${n}__value">${c(t)}</span></div>`, v = (e, t = m()) => {
24
- const r = t("recommendation-strategy.none"), i = a(e.updated_at || e.created_at), o = _(e), d = i ? c(t("recommendation-strategy.last-updated-on", { value: u(i) })) : "", l = d ? `<div class="${n}__updated">${d}</div>` : "";
25
- return {
26
- id: `strategy-info-${e.strategy_id}`,
27
- theme: "light",
28
- variant: "information",
29
- className: n,
30
- titleText: c(a(e.name)),
31
- descriptionText: l + s(t("gpt-app-builder.algorithms-and-method"), p(e, t)) + s(t("gpt-app-builder.exclusions"), g(e, t) || r) + s(t("discovery-strategy.filters"), o ? String(o) : r) + s(t("action-builder.manual-merchandising"), h(e) || r)
32
- };
33
- };
34
- export {
35
- n as STRATEGY_INFO_BOX_CLASS,
36
- v as buildStrategyInfoBoxProps
37
- };