@useinsider/guido 3.17.0 → 3.18.0-beta.0ece468

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 (116) hide show
  1. package/README.md +6 -5
  2. package/dist/@types/config/schemas.js +7 -6
  3. package/dist/components/Guido.vue.js +10 -10
  4. package/dist/components/Guido.vue2.js +84 -78
  5. package/dist/components/organisms/extensions/recommendation/AssignStrategyDrawer.vue.js +23 -0
  6. package/dist/components/organisms/extensions/recommendation/AssignStrategyDrawer.vue2.js +122 -0
  7. package/dist/components/organisms/extensions/recommendation/RemoveStrategyModal.vue.js +17 -0
  8. package/dist/components/organisms/extensions/recommendation/RemoveStrategyModal.vue2.js +57 -0
  9. package/dist/components/organisms/extensions/recommendation/StrategyInfoBoxContent.vue.js +19 -0
  10. package/dist/components/organisms/extensions/recommendation/StrategyInfoBoxContent.vue2.js +63 -0
  11. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +20 -18
  12. package/dist/components/organisms/onboarding/RecommendationStrategyOnboarding.vue.js +21 -0
  13. package/dist/components/organisms/onboarding/RecommendationStrategyOnboarding.vue2.js +46 -0
  14. package/dist/composables/useCustomInterfaceAppearance.js +52 -38
  15. package/dist/composables/useModuleRepair.js +33 -0
  16. package/dist/composables/useRecommendation.js +41 -34
  17. package/dist/composables/useSave.js +30 -29
  18. package/dist/composables/useStripo.js +15 -15
  19. package/dist/composables/useSyncModuleExtractor.js +15 -13
  20. package/dist/composables/validators/useSyncModuleBlockValidator.js +24 -0
  21. package/dist/config/i18n/en/labels.json.js +1 -1
  22. package/dist/config/migrator/index.js +9 -8
  23. package/dist/config/migrator/recommendation/compositionMapper.js +20 -20
  24. package/dist/config/migrator/recommendation/extractors.js +29 -24
  25. package/dist/config/migrator/recommendation/htmlBuilder.js +116 -130
  26. package/dist/config/migrator/recommendation/settingsMapper.js +17 -17
  27. package/dist/config/migrator/recommendationMigrator.js +31 -25
  28. package/dist/config/migrator/recommendationTitleMigrator.js +119 -0
  29. package/dist/enums/academy.js +2 -1
  30. package/dist/enums/date.js +5 -3
  31. package/dist/enums/extensions/recommendationBlock.js +40 -31
  32. package/dist/extensions/Blocks/Items/block.js +118 -49
  33. package/dist/extensions/Blocks/Items/constants/currency.js +25 -0
  34. package/dist/extensions/Blocks/Items/controls/price/currencyLocation.js +25 -24
  35. package/dist/extensions/Blocks/Items/controls/price/currencySymbol.js +12 -11
  36. package/dist/extensions/Blocks/Items/template.js +153 -152
  37. package/dist/extensions/Blocks/Items/utils/constants.js +4 -0
  38. package/dist/extensions/Blocks/Recommendation/block.js +35 -29
  39. package/dist/extensions/Blocks/Recommendation/constants/blockIds.js +1 -1
  40. package/dist/extensions/Blocks/Recommendation/constants/controlIds.js +1 -1
  41. package/dist/extensions/Blocks/Recommendation/constants/defaultConfig.js +29 -27
  42. package/dist/extensions/Blocks/Recommendation/constants/selectors.js +35 -28
  43. package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +309 -236
  44. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +241 -180
  45. package/dist/extensions/Blocks/Recommendation/controls/main/strategy.js +128 -0
  46. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +1 -0
  47. package/dist/extensions/Blocks/Recommendation/controls/title/index.js +44 -0
  48. package/dist/extensions/Blocks/Recommendation/extension.js +31 -29
  49. package/dist/extensions/Blocks/Recommendation/services/configService.js +54 -36
  50. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +23 -4
  51. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +236 -79
  52. package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +3 -3
  53. package/dist/extensions/Blocks/Recommendation/templates/titleRows.js +33 -0
  54. package/dist/extensions/Blocks/Recommendation/templates/utils.js +85 -107
  55. package/dist/extensions/Blocks/Recommendation/utils/nodeConfigWriter.js +22 -0
  56. package/dist/extensions/Blocks/Recommendation/utils/recommendationBlockCount.js +10 -6
  57. package/dist/extensions/Blocks/common-control.js +22 -19
  58. package/dist/guido.css +1 -1
  59. package/dist/services/recommendationApi.js +69 -30
  60. package/dist/src/@types/config/schemas.d.ts +2 -0
  61. package/dist/src/components/organisms/extensions/recommendation/AssignStrategyDrawer.vue.d.ts +3 -0
  62. package/dist/src/components/organisms/extensions/recommendation/RemoveStrategyModal.vue.d.ts +2 -0
  63. package/dist/src/components/organisms/extensions/recommendation/StrategyInfoBoxContent.vue.d.ts +15 -0
  64. package/dist/src/components/organisms/onboarding/RecommendationStrategyOnboarding.vue.d.ts +2 -0
  65. package/dist/src/composables/useConfig.d.ts +2 -0
  66. package/dist/src/composables/useModuleRepair.d.ts +18 -0
  67. package/dist/src/composables/useRecommendation.d.ts +1 -0
  68. package/dist/src/composables/useSyncModuleExtractor.d.ts +2 -0
  69. package/dist/src/composables/validators/useSyncModuleBlockValidator.d.ts +3 -0
  70. package/dist/src/config/migrator/recommendation/extractors.d.ts +8 -0
  71. package/dist/src/config/migrator/recommendationTitleMigrator.d.ts +5 -0
  72. package/dist/src/enums/academy.d.ts +1 -0
  73. package/dist/src/enums/date.d.ts +1 -0
  74. package/dist/src/enums/extensions/recommendationBlock.d.ts +4 -0
  75. package/dist/src/extensions/Blocks/Items/block.d.ts +35 -0
  76. package/dist/src/extensions/Blocks/Items/constants/currency.d.ts +43 -0
  77. package/dist/src/extensions/Blocks/Items/utils/constants.d.ts +6 -0
  78. package/dist/src/extensions/Blocks/Recommendation/constants/blockIds.d.ts +2 -1
  79. package/dist/src/extensions/Blocks/Recommendation/constants/controlIds.d.ts +7 -0
  80. package/dist/src/extensions/Blocks/Recommendation/constants/defaultConfig.d.ts +3 -6
  81. package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +2 -2
  82. package/dist/src/extensions/Blocks/Recommendation/constants/selectors.d.ts +12 -0
  83. package/dist/src/extensions/Blocks/Recommendation/controls/cardComposition/index.d.ts +11 -0
  84. package/dist/src/extensions/Blocks/Recommendation/controls/index.d.ts +1 -0
  85. package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +44 -8
  86. package/dist/src/extensions/Blocks/Recommendation/controls/main/strategy.d.ts +17 -0
  87. package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.d.ts +1 -0
  88. package/dist/src/extensions/Blocks/Recommendation/controls/title/index.d.ts +86 -0
  89. package/dist/src/extensions/Blocks/Recommendation/services/configService.d.ts +12 -1
  90. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +225 -10
  91. package/dist/src/extensions/Blocks/Recommendation/templates/titleRows.d.ts +13 -0
  92. package/dist/src/extensions/Blocks/Recommendation/types/nodeConfig.d.ts +7 -0
  93. package/dist/src/extensions/Blocks/Recommendation/utils/nodeConfigWriter.d.ts +31 -0
  94. package/dist/src/extensions/Blocks/Recommendation/utils/recommendationBlockCount.d.ts +6 -2
  95. package/dist/src/extensions/Blocks/common-control.d.ts +4 -1
  96. package/dist/src/mock/api/recommendation-strategies.d.ts +2 -0
  97. package/dist/src/services/recommendationApi.d.ts +4 -1
  98. package/dist/src/stores/config.d.ts +18 -0
  99. package/dist/src/stores/onboarding.d.ts +377 -0
  100. package/dist/src/stores/save-as-template.d.ts +4 -3
  101. package/dist/src/utils/genericUtil.d.ts +5 -0
  102. package/dist/src/utils/itemsCurrencyRepair.d.ts +17 -0
  103. package/dist/static/assets/icons/line-change.svg.js +5 -0
  104. package/dist/static/assets/icons/line-delete.svg.js +5 -0
  105. package/dist/static/assets/icons/line-plus.svg.js +5 -0
  106. package/dist/static/styles/components/recommendation-strategy.css.js +172 -0
  107. package/dist/static/styles/customEditorStyle.css.js +3 -1
  108. package/dist/stores/onboarding.js +41 -36
  109. package/dist/utils/dateUtil.js +23 -10
  110. package/dist/utils/genericUtil.js +28 -27
  111. package/dist/utils/itemsCurrencyRepair.js +39 -0
  112. package/dist/utils/pairProductVariables.js +58 -58
  113. package/dist/utils/templatePreparation.js +35 -34
  114. package/package.json +3 -2
  115. package/dist/composables/useModuleDynamicContentRepair.js +0 -37
  116. package/dist/src/composables/useModuleDynamicContentRepair.d.ts +0 -13
@@ -128,6 +128,27 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"guidoO
128
128
  backButtonText?: string | undefined;
129
129
  }[];
130
130
  };
131
+ recommendationStrategyOnboarding: {
132
+ cardIndex: number;
133
+ isActive: boolean;
134
+ config: {
135
+ classes: string;
136
+ position: string;
137
+ left?: string | undefined;
138
+ right?: string | undefined;
139
+ top?: string | undefined;
140
+ bottom?: string | undefined;
141
+ title: string;
142
+ description: string;
143
+ imageSource: string;
144
+ backButtonClick: () => void;
145
+ nextButtonType: string;
146
+ nextButtonText: string;
147
+ nextButtonClick: () => void;
148
+ backButtonType?: string | undefined;
149
+ backButtonText?: string | undefined;
150
+ }[];
151
+ };
131
152
  };
132
153
  userModalState: {
133
154
  Guido?: {
@@ -137,6 +158,7 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"guidoO
137
158
  versionHistoryOnboarding?: boolean | undefined;
138
159
  ampOnboarding?: boolean | undefined;
139
160
  itemsOnboarding?: boolean | undefined;
161
+ recommendationStrategyOnboarding?: boolean | undefined;
140
162
  } | undefined;
141
163
  };
142
164
  isFetched: boolean;
@@ -289,6 +311,27 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"guidoO
289
311
  backButtonText?: string | undefined;
290
312
  }[];
291
313
  };
314
+ recommendationStrategyOnboarding: {
315
+ cardIndex: number;
316
+ isActive: boolean;
317
+ config: {
318
+ classes: string;
319
+ position: string;
320
+ left?: string | undefined;
321
+ right?: string | undefined;
322
+ top?: string | undefined;
323
+ bottom?: string | undefined;
324
+ title: string;
325
+ description: string;
326
+ imageSource: string;
327
+ backButtonClick: () => void;
328
+ nextButtonType: string;
329
+ nextButtonText: string;
330
+ nextButtonClick: () => void;
331
+ backButtonType?: string | undefined;
332
+ backButtonText?: string | undefined;
333
+ }[];
334
+ };
292
335
  };
293
336
  userModalState: {
294
337
  Guido?: {
@@ -298,6 +341,7 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"guidoO
298
341
  versionHistoryOnboarding?: boolean | undefined;
299
342
  ampOnboarding?: boolean | undefined;
300
343
  itemsOnboarding?: boolean | undefined;
344
+ recommendationStrategyOnboarding?: boolean | undefined;
301
345
  } | undefined;
302
346
  };
303
347
  isFetched: boolean;
@@ -430,6 +474,27 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"guidoO
430
474
  backButtonText?: string | undefined;
431
475
  }[];
432
476
  };
477
+ recommendationStrategyOnboarding: {
478
+ cardIndex: number;
479
+ isActive: boolean;
480
+ config: {
481
+ classes: string;
482
+ position: string;
483
+ left?: string | undefined;
484
+ right?: string | undefined;
485
+ top?: string | undefined;
486
+ bottom?: string | undefined;
487
+ title: string;
488
+ description: string;
489
+ imageSource: string;
490
+ backButtonClick: () => void;
491
+ nextButtonType: string;
492
+ nextButtonText: string;
493
+ nextButtonClick: () => void;
494
+ backButtonType?: string | undefined;
495
+ backButtonText?: string | undefined;
496
+ }[];
497
+ };
433
498
  };
434
499
  userModalState: {
435
500
  Guido?: {
@@ -439,6 +504,7 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"guidoO
439
504
  versionHistoryOnboarding?: boolean | undefined;
440
505
  ampOnboarding?: boolean | undefined;
441
506
  itemsOnboarding?: boolean | undefined;
507
+ recommendationStrategyOnboarding?: boolean | undefined;
442
508
  } | undefined;
443
509
  };
444
510
  isFetched: boolean;
@@ -587,6 +653,27 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"guidoO
587
653
  backButtonText?: string | undefined;
588
654
  }[];
589
655
  };
656
+ recommendationStrategyOnboarding: {
657
+ cardIndex: number;
658
+ isActive: boolean;
659
+ config: {
660
+ classes: string;
661
+ position: string;
662
+ left?: string | undefined;
663
+ right?: string | undefined;
664
+ top?: string | undefined;
665
+ bottom?: string | undefined;
666
+ title: string;
667
+ description: string;
668
+ imageSource: string;
669
+ backButtonClick: () => void;
670
+ nextButtonType: string;
671
+ nextButtonText: string;
672
+ nextButtonClick: () => void;
673
+ backButtonType?: string | undefined;
674
+ backButtonText?: string | undefined;
675
+ }[];
676
+ };
590
677
  };
591
678
  userModalState: {
592
679
  Guido?: {
@@ -596,6 +683,7 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"guidoO
596
683
  versionHistoryOnboarding?: boolean | undefined;
597
684
  ampOnboarding?: boolean | undefined;
598
685
  itemsOnboarding?: boolean | undefined;
686
+ recommendationStrategyOnboarding?: boolean | undefined;
599
687
  } | undefined;
600
688
  };
601
689
  isFetched: boolean;
@@ -744,6 +832,27 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"guidoO
744
832
  backButtonText?: string | undefined;
745
833
  }[];
746
834
  };
835
+ recommendationStrategyOnboarding: {
836
+ cardIndex: number;
837
+ isActive: boolean;
838
+ config: {
839
+ classes: string;
840
+ position: string;
841
+ left?: string | undefined;
842
+ right?: string | undefined;
843
+ top?: string | undefined;
844
+ bottom?: string | undefined;
845
+ title: string;
846
+ description: string;
847
+ imageSource: string;
848
+ backButtonClick: () => void;
849
+ nextButtonType: string;
850
+ nextButtonText: string;
851
+ nextButtonClick: () => void;
852
+ backButtonType?: string | undefined;
853
+ backButtonText?: string | undefined;
854
+ }[];
855
+ };
747
856
  };
748
857
  userModalState: {
749
858
  Guido?: {
@@ -753,6 +862,7 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"guidoO
753
862
  versionHistoryOnboarding?: boolean | undefined;
754
863
  ampOnboarding?: boolean | undefined;
755
864
  itemsOnboarding?: boolean | undefined;
865
+ recommendationStrategyOnboarding?: boolean | undefined;
756
866
  } | undefined;
757
867
  };
758
868
  isFetched: boolean;
@@ -901,6 +1011,27 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"guidoO
901
1011
  backButtonText?: string | undefined;
902
1012
  }[];
903
1013
  };
1014
+ recommendationStrategyOnboarding: {
1015
+ cardIndex: number;
1016
+ isActive: boolean;
1017
+ config: {
1018
+ classes: string;
1019
+ position: string;
1020
+ left?: string | undefined;
1021
+ right?: string | undefined;
1022
+ top?: string | undefined;
1023
+ bottom?: string | undefined;
1024
+ title: string;
1025
+ description: string;
1026
+ imageSource: string;
1027
+ backButtonClick: () => void;
1028
+ nextButtonType: string;
1029
+ nextButtonText: string;
1030
+ nextButtonClick: () => void;
1031
+ backButtonType?: string | undefined;
1032
+ backButtonText?: string | undefined;
1033
+ }[];
1034
+ };
904
1035
  };
905
1036
  userModalState: {
906
1037
  Guido?: {
@@ -910,6 +1041,7 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"guidoO
910
1041
  versionHistoryOnboarding?: boolean | undefined;
911
1042
  ampOnboarding?: boolean | undefined;
912
1043
  itemsOnboarding?: boolean | undefined;
1044
+ recommendationStrategyOnboarding?: boolean | undefined;
913
1045
  } | undefined;
914
1046
  };
915
1047
  isFetched: boolean;
@@ -1058,6 +1190,27 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"guidoO
1058
1190
  backButtonText?: string | undefined;
1059
1191
  }[];
1060
1192
  };
1193
+ recommendationStrategyOnboarding: {
1194
+ cardIndex: number;
1195
+ isActive: boolean;
1196
+ config: {
1197
+ classes: string;
1198
+ position: string;
1199
+ left?: string | undefined;
1200
+ right?: string | undefined;
1201
+ top?: string | undefined;
1202
+ bottom?: string | undefined;
1203
+ title: string;
1204
+ description: string;
1205
+ imageSource: string;
1206
+ backButtonClick: () => void;
1207
+ nextButtonType: string;
1208
+ nextButtonText: string;
1209
+ nextButtonClick: () => void;
1210
+ backButtonType?: string | undefined;
1211
+ backButtonText?: string | undefined;
1212
+ }[];
1213
+ };
1061
1214
  };
1062
1215
  userModalState: {
1063
1216
  Guido?: {
@@ -1067,6 +1220,7 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"guidoO
1067
1220
  versionHistoryOnboarding?: boolean | undefined;
1068
1221
  ampOnboarding?: boolean | undefined;
1069
1222
  itemsOnboarding?: boolean | undefined;
1223
+ recommendationStrategyOnboarding?: boolean | undefined;
1070
1224
  } | undefined;
1071
1225
  };
1072
1226
  isFetched: boolean;
@@ -1215,6 +1369,206 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"guidoO
1215
1369
  backButtonText?: string | undefined;
1216
1370
  }[];
1217
1371
  };
1372
+ recommendationStrategyOnboarding: {
1373
+ cardIndex: number;
1374
+ isActive: boolean;
1375
+ config: {
1376
+ classes: string;
1377
+ position: string;
1378
+ left?: string | undefined;
1379
+ right?: string | undefined;
1380
+ top?: string | undefined;
1381
+ bottom?: string | undefined;
1382
+ title: string;
1383
+ description: string;
1384
+ imageSource: string;
1385
+ backButtonClick: () => void;
1386
+ nextButtonType: string;
1387
+ nextButtonText: string;
1388
+ nextButtonClick: () => void;
1389
+ backButtonType?: string | undefined;
1390
+ backButtonText?: string | undefined;
1391
+ }[];
1392
+ };
1393
+ };
1394
+ userModalState: {
1395
+ Guido?: {
1396
+ newVersionPopup?: boolean | undefined;
1397
+ genericOnboarding?: boolean | undefined;
1398
+ textBlockOnboarding?: boolean | undefined;
1399
+ versionHistoryOnboarding?: boolean | undefined;
1400
+ ampOnboarding?: boolean | undefined;
1401
+ itemsOnboarding?: boolean | undefined;
1402
+ recommendationStrategyOnboarding?: boolean | undefined;
1403
+ } | undefined;
1404
+ };
1405
+ isFetched: boolean;
1406
+ } & import("pinia").PiniaCustomStateProperties<OnboardingStoreState>) => {
1407
+ classes: string;
1408
+ position: string;
1409
+ left?: string | undefined;
1410
+ right?: string | undefined;
1411
+ top?: string | undefined;
1412
+ bottom?: string | undefined;
1413
+ title: string;
1414
+ description: string;
1415
+ imageSource: string;
1416
+ backButtonClick: () => void;
1417
+ nextButtonType: string;
1418
+ nextButtonText: string;
1419
+ nextButtonClick: () => void;
1420
+ backButtonType?: string | undefined;
1421
+ backButtonText?: string | undefined;
1422
+ };
1423
+ getRecommendationStrategyCurrentCard: (state: {
1424
+ onboardings: {
1425
+ newVersionPopup: {
1426
+ cardIndex: number;
1427
+ isActive: boolean;
1428
+ config: {
1429
+ classes: string;
1430
+ position: string;
1431
+ left?: string | undefined;
1432
+ right?: string | undefined;
1433
+ top?: string | undefined;
1434
+ bottom?: string | undefined;
1435
+ title: string;
1436
+ description: string;
1437
+ imageSource: string;
1438
+ backButtonClick: () => void;
1439
+ nextButtonType: string;
1440
+ nextButtonText: string;
1441
+ nextButtonClick: () => void;
1442
+ backButtonType?: string | undefined;
1443
+ backButtonText?: string | undefined;
1444
+ }[];
1445
+ };
1446
+ genericOnboarding: {
1447
+ cardIndex: number;
1448
+ isActive: boolean;
1449
+ config: {
1450
+ classes: string;
1451
+ position: string;
1452
+ left?: string | undefined;
1453
+ right?: string | undefined;
1454
+ top?: string | undefined;
1455
+ bottom?: string | undefined;
1456
+ title: string;
1457
+ description: string;
1458
+ imageSource: string;
1459
+ backButtonClick: () => void;
1460
+ nextButtonType: string;
1461
+ nextButtonText: string;
1462
+ nextButtonClick: () => void;
1463
+ backButtonType?: string | undefined;
1464
+ backButtonText?: string | undefined;
1465
+ }[];
1466
+ };
1467
+ textBlockOnboarding: {
1468
+ cardIndex: number;
1469
+ isActive: boolean;
1470
+ config: {
1471
+ classes: string;
1472
+ position: string;
1473
+ left?: string | undefined;
1474
+ right?: string | undefined;
1475
+ top?: string | undefined;
1476
+ bottom?: string | undefined;
1477
+ title: string;
1478
+ description: string;
1479
+ imageSource: string;
1480
+ backButtonClick: () => void;
1481
+ nextButtonType: string;
1482
+ nextButtonText: string;
1483
+ nextButtonClick: () => void;
1484
+ backButtonType?: string | undefined;
1485
+ backButtonText?: string | undefined;
1486
+ }[];
1487
+ };
1488
+ versionHistoryOnboarding: {
1489
+ cardIndex: number;
1490
+ isActive: boolean;
1491
+ config: {
1492
+ classes: string;
1493
+ position: string;
1494
+ left?: string | undefined;
1495
+ right?: string | undefined;
1496
+ top?: string | undefined;
1497
+ bottom?: string | undefined;
1498
+ title: string;
1499
+ description: string;
1500
+ imageSource: string;
1501
+ backButtonClick: () => void;
1502
+ nextButtonType: string;
1503
+ nextButtonText: string;
1504
+ nextButtonClick: () => void;
1505
+ backButtonType?: string | undefined;
1506
+ backButtonText?: string | undefined;
1507
+ }[];
1508
+ };
1509
+ ampOnboarding: {
1510
+ cardIndex: number;
1511
+ isActive: boolean;
1512
+ config: {
1513
+ classes: string;
1514
+ position: string;
1515
+ left?: string | undefined;
1516
+ right?: string | undefined;
1517
+ top?: string | undefined;
1518
+ bottom?: string | undefined;
1519
+ title: string;
1520
+ description: string;
1521
+ imageSource: string;
1522
+ backButtonClick: () => void;
1523
+ nextButtonType: string;
1524
+ nextButtonText: string;
1525
+ nextButtonClick: () => void;
1526
+ backButtonType?: string | undefined;
1527
+ backButtonText?: string | undefined;
1528
+ }[];
1529
+ };
1530
+ itemsOnboarding: {
1531
+ cardIndex: number;
1532
+ isActive: boolean;
1533
+ config: {
1534
+ classes: string;
1535
+ position: string;
1536
+ left?: string | undefined;
1537
+ right?: string | undefined;
1538
+ top?: string | undefined;
1539
+ bottom?: string | undefined;
1540
+ title: string;
1541
+ description: string;
1542
+ imageSource: string;
1543
+ backButtonClick: () => void;
1544
+ nextButtonType: string;
1545
+ nextButtonText: string;
1546
+ nextButtonClick: () => void;
1547
+ backButtonType?: string | undefined;
1548
+ backButtonText?: string | undefined;
1549
+ }[];
1550
+ };
1551
+ recommendationStrategyOnboarding: {
1552
+ cardIndex: number;
1553
+ isActive: boolean;
1554
+ config: {
1555
+ classes: string;
1556
+ position: string;
1557
+ left?: string | undefined;
1558
+ right?: string | undefined;
1559
+ top?: string | undefined;
1560
+ bottom?: string | undefined;
1561
+ title: string;
1562
+ description: string;
1563
+ imageSource: string;
1564
+ backButtonClick: () => void;
1565
+ nextButtonType: string;
1566
+ nextButtonText: string;
1567
+ nextButtonClick: () => void;
1568
+ backButtonType?: string | undefined;
1569
+ backButtonText?: string | undefined;
1570
+ }[];
1571
+ };
1218
1572
  };
1219
1573
  userModalState: {
1220
1574
  Guido?: {
@@ -1224,6 +1578,7 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"guidoO
1224
1578
  versionHistoryOnboarding?: boolean | undefined;
1225
1579
  ampOnboarding?: boolean | undefined;
1226
1580
  itemsOnboarding?: boolean | undefined;
1581
+ recommendationStrategyOnboarding?: boolean | undefined;
1227
1582
  } | undefined;
1228
1583
  };
1229
1584
  isFetched: boolean;
@@ -1372,6 +1727,27 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"guidoO
1372
1727
  backButtonText?: string | undefined;
1373
1728
  }[];
1374
1729
  };
1730
+ recommendationStrategyOnboarding: {
1731
+ cardIndex: number;
1732
+ isActive: boolean;
1733
+ config: {
1734
+ classes: string;
1735
+ position: string;
1736
+ left?: string | undefined;
1737
+ right?: string | undefined;
1738
+ top?: string | undefined;
1739
+ bottom?: string | undefined;
1740
+ title: string;
1741
+ description: string;
1742
+ imageSource: string;
1743
+ backButtonClick: () => void;
1744
+ nextButtonType: string;
1745
+ nextButtonText: string;
1746
+ nextButtonClick: () => void;
1747
+ backButtonType?: string | undefined;
1748
+ backButtonText?: string | undefined;
1749
+ }[];
1750
+ };
1375
1751
  };
1376
1752
  userModalState: {
1377
1753
  Guido?: {
@@ -1381,6 +1757,7 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"guidoO
1381
1757
  versionHistoryOnboarding?: boolean | undefined;
1382
1758
  ampOnboarding?: boolean | undefined;
1383
1759
  itemsOnboarding?: boolean | undefined;
1760
+ recommendationStrategyOnboarding?: boolean | undefined;
1384
1761
  } | undefined;
1385
1762
  };
1386
1763
  isFetched: boolean;
@@ -1,3 +1,4 @@
1
+ import type { RecommendationCampaignUrlValue } from '@@/Types/recommendation';
1
2
  import type { MappedCategory } from '@@/Types/save-as-template';
2
3
  interface StoreState {
3
4
  templateName: string;
@@ -5,7 +6,7 @@ interface StoreState {
5
6
  selectedCategories: MappedCategory[];
6
7
  skeletonStatus: boolean;
7
8
  recommendation: {
8
- campaignUrls: Record<string, string>;
9
+ campaignUrls: Record<string, RecommendationCampaignUrlValue>;
9
10
  configs: Record<string, string>;
10
11
  };
11
12
  unsubscribe: {
@@ -30,7 +31,7 @@ export declare const useSaveAsTemplateStore: import("pinia").StoreDefinition<"gu
30
31
  }[];
31
32
  skeletonStatus: boolean;
32
33
  recommendation: {
33
- campaignUrls: Record<string, string>;
34
+ campaignUrls: Record<string, RecommendationCampaignUrlValue>;
34
35
  configs: Record<string, string>;
35
36
  };
36
37
  unsubscribe: {
@@ -54,7 +55,7 @@ export declare const useSaveAsTemplateStore: import("pinia").StoreDefinition<"gu
54
55
  }[];
55
56
  skeletonStatus: boolean;
56
57
  recommendation: {
57
- campaignUrls: Record<string, string>;
58
+ campaignUrls: Record<string, RecommendationCampaignUrlValue>;
58
59
  configs: Record<string, string>;
59
60
  };
60
61
  unsubscribe: {
@@ -25,3 +25,8 @@ export declare const getCsrfToken: () => string;
25
25
  export declare const getUrlParams: () => URLSearchParams;
26
26
  export declare const getUrlParam: (paramName: string, defaultValue?: string) => string;
27
27
  export declare const replaceString: (string?: string, values?: Record<string, string | number>, isRemoveEmptyValues?: boolean) => string;
28
+ /**
29
+ * Narrows an unknown API value to a printable string; anything that is neither
30
+ * a string nor a number becomes ''.
31
+ */
32
+ export declare const asText: (value: unknown) => string;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Heals stale price currency attributes on every v2 Items block inside a dropped
3
+ * saved module, driving `data-curency` / `data-currency_symbol` from each block's
4
+ * `esd-ext-config`. A saved module can serialize attrs that no longer match its
5
+ * config; the server-side export reads those exact attrs, so left stale they ship
6
+ * the wrong currency position/symbol.
7
+ *
8
+ * Pure `string → string`. Returns the original string untouched when nothing needs
9
+ * healing (0 blocks, all in sync) so the caller's `html !== currentHtml` guard stays
10
+ * meaningful. Fail-open: any parse fault returns the input unchanged.
11
+ *
12
+ * The module `<td>` stripe has no table context, so it is wrapped before parsing —
13
+ * a bare `<td>` root is otherwise dropped by the HTML parser (same reason
14
+ * recommendationMigrator wraps). If the wrap fails to capture the blocks (non-`<td>`
15
+ * root foster-parented out), it bails to the original string.
16
+ */
17
+ export declare function repairItemsCurrencyAttributes(html: string): string;
@@ -0,0 +1,5 @@
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
+ };
@@ -0,0 +1,5 @@
1
+ const a = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M10 3a2 2 0 0 0-2 2v2H5a1 1 0 0 0 0 2h1v10a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V9h1a1 1 0 1 0 0-2h-3V5a2 2 0 0 0-2-2h-4zm4 4h-4V5h4v2zm-4 2h6v10H8V9h2zm2 2a1 1 0 0 0-1 1v4a1 1 0 1 0 2 0v-4a1 1 0 0 0-1-1z"></path></svg>
2
+ `;
3
+ export {
4
+ a as default
5
+ };
@@ -0,0 +1,5 @@
1
+ const a = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill-rule="evenodd" clip-rule="evenodd" d="M12 5a1 1 0 0 0-1 1v5H6a1 1 0 1 0 0 2h5v5a1 1 0 1 0 2 0v-5h5a1 1 0 1 0 0-2h-5V6a1 1 0 0 0-1-1z"></path></svg>
2
+ `;
3
+ export {
4
+ a as default
5
+ };