@useinsider/guido 3.19.0 → 3.20.0-beta.7b31fec

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 (62) hide show
  1. package/README.md +21 -3
  2. package/dist/@types/config/schemas.js +59 -51
  3. package/dist/components/Guido.vue.js +4 -4
  4. package/dist/components/Guido.vue2.js +70 -68
  5. package/dist/components/organisms/base/Toaster.vue2.js +13 -12
  6. package/dist/components/organisms/extensions/recommendation/AssignStrategyDrawer.vue.js +13 -11
  7. package/dist/components/organisms/extensions/recommendation/AssignStrategyDrawer.vue2.js +78 -57
  8. package/dist/components/organisms/extensions/recommendation/LegacyStrategyUpdatedModal.vue.js +18 -0
  9. package/dist/components/organisms/extensions/recommendation/LegacyStrategyUpdatedModal.vue2.js +25 -0
  10. package/dist/components/organisms/extensions/recommendation/RemoveStrategyModal.vue2.js +28 -42
  11. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +28 -24
  12. package/dist/components/organisms/onboarding/RecommendationLegacyStrategyOnboarding.vue.js +21 -0
  13. package/dist/components/organisms/onboarding/RecommendationLegacyStrategyOnboarding.vue2.js +46 -0
  14. package/dist/components/organisms/onboarding/RecommendationStrategyOnboarding.vue.js +21 -0
  15. package/dist/components/organisms/onboarding/RecommendationStrategyOnboarding.vue2.js +47 -0
  16. package/dist/composables/useCustomInterfaceAppearance.js +65 -51
  17. package/dist/composables/useHtmlValidator.js +87 -82
  18. package/dist/composables/useLegacyStrategyConversion.js +61 -0
  19. package/dist/composables/useRecommendation.js +40 -35
  20. package/dist/composables/useStripo.js +30 -30
  21. package/dist/composables/useToaster.js +14 -20
  22. package/dist/enums/extensions/recommendationBlock.js +49 -33
  23. package/dist/extensions/Blocks/Recommendation/block.js +61 -42
  24. package/dist/extensions/Blocks/Recommendation/constants/defaultConfig.js +21 -20
  25. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +100 -94
  26. package/dist/extensions/Blocks/Recommendation/controls/main/strategy.js +130 -55
  27. package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +74 -74
  28. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +273 -92
  29. package/dist/extensions/Blocks/Recommendation/utils/legacyStrategyMigration.js +42 -0
  30. package/dist/extensions/Blocks/Recommendation/utils/nodeConfigWriter.js +26 -16
  31. package/dist/extensions/Blocks/Recommendation/utils/strategyCommit.js +24 -0
  32. package/dist/extensions/Blocks/Recommendation/validation/requiredFields.js +21 -12
  33. package/dist/guido.css +1 -1
  34. package/dist/services/recommendationApi.js +46 -37
  35. package/dist/src/@types/config/schemas.d.ts +16 -0
  36. package/dist/src/components/organisms/extensions/recommendation/LegacyStrategyUpdatedModal.vue.d.ts +2 -0
  37. package/dist/src/components/organisms/onboarding/RecommendationLegacyStrategyOnboarding.vue.d.ts +2 -0
  38. package/dist/src/components/organisms/onboarding/RecommendationStrategyOnboarding.vue.d.ts +2 -0
  39. package/dist/src/composables/useConfig.d.ts +4 -0
  40. package/dist/src/composables/useLegacyStrategyConversion.d.ts +3 -0
  41. package/dist/src/enums/extensions/recommendationBlock.d.ts +7 -1
  42. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +10 -0
  43. package/dist/src/extensions/Blocks/Recommendation/constants/defaultConfig.d.ts +1 -0
  44. package/dist/src/extensions/Blocks/Recommendation/constants/index.d.ts +1 -1
  45. package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +2 -0
  46. package/dist/src/extensions/Blocks/Recommendation/controls/main/strategy.d.ts +10 -0
  47. package/dist/src/extensions/Blocks/Recommendation/controls/main/utils.d.ts +7 -2
  48. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +162 -1
  49. package/dist/src/extensions/Blocks/Recommendation/utils/legacyStrategyMigration.d.ts +32 -0
  50. package/dist/src/extensions/Blocks/Recommendation/utils/strategyCommit.d.ts +14 -0
  51. package/dist/src/extensions/Blocks/Recommendation/validation/requiredFields.d.ts +4 -0
  52. package/dist/src/services/recommendationApi.d.ts +2 -1
  53. package/dist/src/stores/config.d.ts +322 -0
  54. package/dist/src/stores/onboarding.d.ts +808 -10
  55. package/dist/static/assets/icons/filled-arrow-rising.svg.js +5 -0
  56. package/dist/static/assets/icons/line-info.svg.js +5 -0
  57. package/dist/static/styles/components/recommendation-strategy.css.js +104 -9
  58. package/dist/static/styles/components/skeleton.css.js +23 -0
  59. package/dist/stores/config.js +74 -60
  60. package/dist/stores/onboarding.js +46 -36
  61. package/dist/utils/templatePreparation.js +55 -55
  62. package/package.json +1 -1
@@ -16,6 +16,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
16
16
  templateId: string;
17
17
  userId: string;
18
18
  variationId?: string | undefined;
19
+ campaignId?: string | undefined;
20
+ templateLibraryId?: string | undefined;
19
21
  };
20
22
  partner: {
21
23
  name: string;
@@ -157,6 +159,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
157
159
  templateId: string;
158
160
  userId: string;
159
161
  variationId?: string | undefined;
162
+ campaignId?: string | undefined;
163
+ templateLibraryId?: string | undefined;
160
164
  };
161
165
  partner: {
162
166
  name: string;
@@ -298,6 +302,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
298
302
  templateId: string;
299
303
  userId: string;
300
304
  variationId?: string | undefined;
305
+ campaignId?: string | undefined;
306
+ templateLibraryId?: string | undefined;
301
307
  };
302
308
  partner: {
303
309
  name: string;
@@ -439,6 +445,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
439
445
  templateId: string;
440
446
  userId: string;
441
447
  variationId?: string | undefined;
448
+ campaignId?: string | undefined;
449
+ templateLibraryId?: string | undefined;
442
450
  };
443
451
  partner: {
444
452
  name: string;
@@ -580,6 +588,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
580
588
  templateId: string;
581
589
  userId: string;
582
590
  variationId?: string | undefined;
591
+ campaignId?: string | undefined;
592
+ templateLibraryId?: string | undefined;
583
593
  };
584
594
  partner: {
585
595
  name: string;
@@ -721,6 +731,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
721
731
  templateId: string;
722
732
  userId: string;
723
733
  variationId?: string | undefined;
734
+ campaignId?: string | undefined;
735
+ templateLibraryId?: string | undefined;
724
736
  };
725
737
  partner: {
726
738
  name: string;
@@ -862,6 +874,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
862
874
  templateId: string;
863
875
  userId: string;
864
876
  variationId?: string | undefined;
877
+ campaignId?: string | undefined;
878
+ templateLibraryId?: string | undefined;
865
879
  };
866
880
  partner: {
867
881
  name: string;
@@ -1003,6 +1017,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1003
1017
  templateId: string;
1004
1018
  userId: string;
1005
1019
  variationId?: string | undefined;
1020
+ campaignId?: string | undefined;
1021
+ templateLibraryId?: string | undefined;
1006
1022
  };
1007
1023
  partner: {
1008
1024
  name: string;
@@ -1144,6 +1160,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1144
1160
  templateId: string;
1145
1161
  userId: string;
1146
1162
  variationId?: string | undefined;
1163
+ campaignId?: string | undefined;
1164
+ templateLibraryId?: string | undefined;
1147
1165
  };
1148
1166
  partner: {
1149
1167
  name: string;
@@ -1285,6 +1303,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1285
1303
  templateId: string;
1286
1304
  userId: string;
1287
1305
  variationId?: string | undefined;
1306
+ campaignId?: string | undefined;
1307
+ templateLibraryId?: string | undefined;
1288
1308
  };
1289
1309
  partner: {
1290
1310
  name: string;
@@ -1426,6 +1446,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1426
1446
  templateId: string;
1427
1447
  userId: string;
1428
1448
  variationId?: string | undefined;
1449
+ campaignId?: string | undefined;
1450
+ templateLibraryId?: string | undefined;
1429
1451
  };
1430
1452
  partner: {
1431
1453
  name: string;
@@ -1567,6 +1589,294 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1567
1589
  templateId: string;
1568
1590
  userId: string;
1569
1591
  variationId?: string | undefined;
1592
+ campaignId?: string | undefined;
1593
+ templateLibraryId?: string | undefined;
1594
+ };
1595
+ partner: {
1596
+ name: string;
1597
+ productType: 60 | 49 | 97;
1598
+ messageType: 1 | 2;
1599
+ username: string;
1600
+ fallbackFont?: {
1601
+ name: string;
1602
+ family: string;
1603
+ } | undefined;
1604
+ };
1605
+ template: {
1606
+ html: string;
1607
+ css: string;
1608
+ preselectedDynamicContent: {
1609
+ text: string;
1610
+ value: string;
1611
+ fallback?: string | undefined;
1612
+ format?: {
1613
+ key: string;
1614
+ value: string;
1615
+ } | undefined;
1616
+ }[];
1617
+ dynamicContentList: {
1618
+ [x: string]: import("../library").DynamicContentNode[];
1619
+ };
1620
+ customFieldAttributes: string[];
1621
+ selectedUnsubscribePages: number[];
1622
+ forceRecreate: boolean;
1623
+ trackIdCounter: number;
1624
+ migration: {
1625
+ recommendationConfigs: {
1626
+ [x: string]: {
1627
+ id?: number | undefined;
1628
+ decimalCount?: string | number | undefined;
1629
+ productIds?: unknown[] | undefined;
1630
+ sendProductRequestFlag?: boolean | undefined;
1631
+ shuffleProducts?: boolean | undefined;
1632
+ filters?: unknown[] | undefined;
1633
+ currency?: string | undefined;
1634
+ currencySettings?: unknown;
1635
+ language?: string | undefined;
1636
+ strategy?: string | undefined;
1637
+ recommendedProducts?: unknown[] | undefined;
1638
+ cardsInRow?: number | undefined;
1639
+ mobileRightPadding?: number | undefined;
1640
+ mobileLeftPadding?: number | undefined;
1641
+ unresponsive?: boolean | undefined;
1642
+ orientation?: string | undefined;
1643
+ textTrimming?: boolean | undefined;
1644
+ blockType?: string | undefined;
1645
+ size?: string | number | undefined;
1646
+ verticalResponsiveness?: boolean | undefined;
1647
+ isPriceMovedToNextLine?: boolean | undefined;
1648
+ isPriceDeletedForZeroSale?: boolean | undefined;
1649
+ } & {
1650
+ [key: string]: unknown;
1651
+ };
1652
+ };
1653
+ };
1654
+ };
1655
+ editor: {
1656
+ locale: string;
1657
+ translationsPath: string;
1658
+ migrationDate: number;
1659
+ emailHeader: {
1660
+ senderName: string;
1661
+ subject: string;
1662
+ };
1663
+ savedModulesFolderName: string;
1664
+ defaultModulesFolderName: string;
1665
+ };
1666
+ ui: {
1667
+ showHeader: boolean;
1668
+ backButtonLabel?: string | undefined;
1669
+ };
1670
+ features: {
1671
+ dynamicContent: boolean;
1672
+ saveAsTemplate: boolean;
1673
+ versionHistory: boolean;
1674
+ testMessage: boolean;
1675
+ displayConditions: boolean;
1676
+ unsubscribe: boolean;
1677
+ modulesDisabled: boolean;
1678
+ liquidSyntax: boolean;
1679
+ autosave: boolean;
1680
+ allowlistEnabled: boolean;
1681
+ linkTrackingIds: boolean;
1682
+ reusableRecommendationStrategy: boolean;
1683
+ };
1684
+ blocks: {
1685
+ excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
1686
+ includeCustoms: ("dynamic-content" | "checkbox-block" | "radio-button-block" | "recommendation-block" | "unsubscribe-block" | "coupon-block" | "items-block")[];
1687
+ };
1688
+ compiler: {
1689
+ customRules: ({
1690
+ type: "replace";
1691
+ search: string;
1692
+ replacement: string;
1693
+ replaceAll?: boolean | undefined;
1694
+ id: string;
1695
+ description?: string | undefined;
1696
+ priority: number;
1697
+ } | {
1698
+ type: "regex";
1699
+ pattern: string;
1700
+ replacement: string;
1701
+ flags?: string | undefined;
1702
+ id: string;
1703
+ description?: string | undefined;
1704
+ priority: number;
1705
+ } | {
1706
+ type: "remove";
1707
+ targets: string[];
1708
+ id: string;
1709
+ description?: string | undefined;
1710
+ priority: number;
1711
+ } | {
1712
+ type: "custom";
1713
+ processor: (html: string) => string;
1714
+ id: string;
1715
+ description?: string | undefined;
1716
+ priority: number;
1717
+ })[];
1718
+ ignoreDefaultRules: boolean;
1719
+ };
1720
+ callbacks: {
1721
+ externalValidation?: import("@@/Types/config").ExternalValidationHandler | undefined;
1722
+ };
1723
+ } | null;
1724
+ } & import("pinia").PiniaCustomStateProperties<ConfigStoreState>) => string;
1725
+ /**
1726
+ * Get the campaign ID
1727
+ */
1728
+ campaignId: (state: {
1729
+ initialized: boolean;
1730
+ config: {
1731
+ identity: {
1732
+ templateId: string;
1733
+ userId: string;
1734
+ variationId?: string | undefined;
1735
+ campaignId?: string | undefined;
1736
+ templateLibraryId?: string | undefined;
1737
+ };
1738
+ partner: {
1739
+ name: string;
1740
+ productType: 60 | 49 | 97;
1741
+ messageType: 1 | 2;
1742
+ username: string;
1743
+ fallbackFont?: {
1744
+ name: string;
1745
+ family: string;
1746
+ } | undefined;
1747
+ };
1748
+ template: {
1749
+ html: string;
1750
+ css: string;
1751
+ preselectedDynamicContent: {
1752
+ text: string;
1753
+ value: string;
1754
+ fallback?: string | undefined;
1755
+ format?: {
1756
+ key: string;
1757
+ value: string;
1758
+ } | undefined;
1759
+ }[];
1760
+ dynamicContentList: {
1761
+ [x: string]: import("../library").DynamicContentNode[];
1762
+ };
1763
+ customFieldAttributes: string[];
1764
+ selectedUnsubscribePages: number[];
1765
+ forceRecreate: boolean;
1766
+ trackIdCounter: number;
1767
+ migration: {
1768
+ recommendationConfigs: {
1769
+ [x: string]: {
1770
+ id?: number | undefined;
1771
+ decimalCount?: string | number | undefined;
1772
+ productIds?: unknown[] | undefined;
1773
+ sendProductRequestFlag?: boolean | undefined;
1774
+ shuffleProducts?: boolean | undefined;
1775
+ filters?: unknown[] | undefined;
1776
+ currency?: string | undefined;
1777
+ currencySettings?: unknown;
1778
+ language?: string | undefined;
1779
+ strategy?: string | undefined;
1780
+ recommendedProducts?: unknown[] | undefined;
1781
+ cardsInRow?: number | undefined;
1782
+ mobileRightPadding?: number | undefined;
1783
+ mobileLeftPadding?: number | undefined;
1784
+ unresponsive?: boolean | undefined;
1785
+ orientation?: string | undefined;
1786
+ textTrimming?: boolean | undefined;
1787
+ blockType?: string | undefined;
1788
+ size?: string | number | undefined;
1789
+ verticalResponsiveness?: boolean | undefined;
1790
+ isPriceMovedToNextLine?: boolean | undefined;
1791
+ isPriceDeletedForZeroSale?: boolean | undefined;
1792
+ } & {
1793
+ [key: string]: unknown;
1794
+ };
1795
+ };
1796
+ };
1797
+ };
1798
+ editor: {
1799
+ locale: string;
1800
+ translationsPath: string;
1801
+ migrationDate: number;
1802
+ emailHeader: {
1803
+ senderName: string;
1804
+ subject: string;
1805
+ };
1806
+ savedModulesFolderName: string;
1807
+ defaultModulesFolderName: string;
1808
+ };
1809
+ ui: {
1810
+ showHeader: boolean;
1811
+ backButtonLabel?: string | undefined;
1812
+ };
1813
+ features: {
1814
+ dynamicContent: boolean;
1815
+ saveAsTemplate: boolean;
1816
+ versionHistory: boolean;
1817
+ testMessage: boolean;
1818
+ displayConditions: boolean;
1819
+ unsubscribe: boolean;
1820
+ modulesDisabled: boolean;
1821
+ liquidSyntax: boolean;
1822
+ autosave: boolean;
1823
+ allowlistEnabled: boolean;
1824
+ linkTrackingIds: boolean;
1825
+ reusableRecommendationStrategy: boolean;
1826
+ };
1827
+ blocks: {
1828
+ excludeDefaults: ("amp-accordion" | "amp-carousel" | "amp-form-controls" | "banner-block" | "button-block" | "html-block" | "image-block" | "menu-block" | "social-block" | "spacer-block" | "text-block" | "timer-block" | "video-block")[];
1829
+ includeCustoms: ("dynamic-content" | "checkbox-block" | "radio-button-block" | "recommendation-block" | "unsubscribe-block" | "coupon-block" | "items-block")[];
1830
+ };
1831
+ compiler: {
1832
+ customRules: ({
1833
+ type: "replace";
1834
+ search: string;
1835
+ replacement: string;
1836
+ replaceAll?: boolean | undefined;
1837
+ id: string;
1838
+ description?: string | undefined;
1839
+ priority: number;
1840
+ } | {
1841
+ type: "regex";
1842
+ pattern: string;
1843
+ replacement: string;
1844
+ flags?: string | undefined;
1845
+ id: string;
1846
+ description?: string | undefined;
1847
+ priority: number;
1848
+ } | {
1849
+ type: "remove";
1850
+ targets: string[];
1851
+ id: string;
1852
+ description?: string | undefined;
1853
+ priority: number;
1854
+ } | {
1855
+ type: "custom";
1856
+ processor: (html: string) => string;
1857
+ id: string;
1858
+ description?: string | undefined;
1859
+ priority: number;
1860
+ })[];
1861
+ ignoreDefaultRules: boolean;
1862
+ };
1863
+ callbacks: {
1864
+ externalValidation?: import("@@/Types/config").ExternalValidationHandler | undefined;
1865
+ };
1866
+ } | null;
1867
+ } & import("pinia").PiniaCustomStateProperties<ConfigStoreState>) => string;
1868
+ /**
1869
+ * Get the template-library ID of the host template
1870
+ */
1871
+ templateLibraryId: (state: {
1872
+ initialized: boolean;
1873
+ config: {
1874
+ identity: {
1875
+ templateId: string;
1876
+ userId: string;
1877
+ variationId?: string | undefined;
1878
+ campaignId?: string | undefined;
1879
+ templateLibraryId?: string | undefined;
1570
1880
  };
1571
1881
  partner: {
1572
1882
  name: string;
@@ -1708,6 +2018,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1708
2018
  templateId: string;
1709
2019
  userId: string;
1710
2020
  variationId?: string | undefined;
2021
+ campaignId?: string | undefined;
2022
+ templateLibraryId?: string | undefined;
1711
2023
  };
1712
2024
  partner: {
1713
2025
  name: string;
@@ -1849,6 +2161,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1849
2161
  templateId: string;
1850
2162
  userId: string;
1851
2163
  variationId?: string | undefined;
2164
+ campaignId?: string | undefined;
2165
+ templateLibraryId?: string | undefined;
1852
2166
  };
1853
2167
  partner: {
1854
2168
  name: string;
@@ -1990,6 +2304,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1990
2304
  templateId: string;
1991
2305
  userId: string;
1992
2306
  variationId?: string | undefined;
2307
+ campaignId?: string | undefined;
2308
+ templateLibraryId?: string | undefined;
1993
2309
  };
1994
2310
  partner: {
1995
2311
  name: string;
@@ -2131,6 +2447,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
2131
2447
  templateId: string;
2132
2448
  userId: string;
2133
2449
  variationId?: string | undefined;
2450
+ campaignId?: string | undefined;
2451
+ templateLibraryId?: string | undefined;
2134
2452
  };
2135
2453
  partner: {
2136
2454
  name: string;
@@ -2272,6 +2590,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
2272
2590
  templateId: string;
2273
2591
  userId: string;
2274
2592
  variationId?: string | undefined;
2593
+ campaignId?: string | undefined;
2594
+ templateLibraryId?: string | undefined;
2275
2595
  };
2276
2596
  partner: {
2277
2597
  name: string;
@@ -2415,6 +2735,8 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
2415
2735
  templateId: string;
2416
2736
  userId: string;
2417
2737
  variationId?: string | undefined;
2738
+ campaignId?: string | undefined;
2739
+ templateLibraryId?: string | undefined;
2418
2740
  };
2419
2741
  partner: {
2420
2742
  name: string;