@useinsider/guido 3.21.1-beta.f5fb7ac → 3.21.2-beta.cfc5be2

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 (75) hide show
  1. package/README.md +1 -9
  2. package/dist/@types/config/schemas.js +19 -19
  3. package/dist/@types/display-condition.js +25 -0
  4. package/dist/components/Guido.vue.js +8 -8
  5. package/dist/components/Guido.vue2.js +74 -76
  6. package/dist/components/organisms/display-conditions/CodeEditorField.vue.js +20 -0
  7. package/dist/components/organisms/display-conditions/CodeEditorField.vue2.js +30 -0
  8. package/dist/components/organisms/display-conditions/DisplayConditionCreateDrawer.vue.js +30 -0
  9. package/dist/components/organisms/display-conditions/DisplayConditionCreateDrawer.vue2.js +71 -0
  10. package/dist/components/organisms/display-conditions/DisplayConditionSelectDrawer.vue.js +34 -0
  11. package/dist/components/organisms/display-conditions/DisplayConditionSelectDrawer.vue2.js +57 -0
  12. package/dist/components/organisms/display-conditions/DisplayConditionsHost.vue.js +17 -0
  13. package/dist/components/organisms/display-conditions/DisplayConditionsHost.vue2.js +22 -0
  14. package/dist/composables/useBlocksConfig.js +32 -24
  15. package/dist/composables/useDisplayConditions.js +102 -0
  16. package/dist/composables/useModuleRepair.js +23 -32
  17. package/dist/config/compiler/utils/recommendationCompilerUtils.js +55 -53
  18. package/dist/config/migrator/index.js +9 -10
  19. package/dist/enums/academy.js +2 -2
  20. package/dist/enums/display-condition.js +12 -0
  21. package/dist/extensions/Blocks/Recommendation/block.js +52 -37
  22. package/dist/extensions/Blocks/Recommendation/controls/image/index.js +76 -16
  23. package/dist/extensions/Blocks/Recommendation/utils/captureStyleTemplates.js +16 -15
  24. package/dist/extensions/DisplayConditions/bridge.js +17 -0
  25. package/dist/extensions/DisplayConditions/constants.js +17 -0
  26. package/dist/extensions/DisplayConditions/control.js +178 -0
  27. package/dist/extensions/DisplayConditions/display-conditions.css.js +201 -0
  28. package/dist/extensions/DisplayConditions/extension.js +28 -0
  29. package/dist/extensions/DisplayConditions/iconsRegistry.js +20 -0
  30. package/dist/extensions/DisplayConditions/library.js +27 -0
  31. package/dist/extensions/DisplayConditions/settingsPanel.js +17 -0
  32. package/dist/guido.css +1 -1
  33. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +93 -92
  34. package/dist/node_modules/valibot/dist/index.js +297 -261
  35. package/dist/services/displayConditionApi.js +39 -0
  36. package/dist/src/@types/config/schemas.d.ts +4 -4
  37. package/dist/src/@types/display-condition.d.ts +59 -0
  38. package/dist/src/components/organisms/display-conditions/CodeEditorField.vue.d.ts +43 -0
  39. package/dist/src/components/organisms/display-conditions/DisplayConditionSelectDrawer.vue.d.ts +2 -0
  40. package/dist/src/components/organisms/display-conditions/DisplayConditionsHost.vue.d.ts +2 -0
  41. package/dist/src/composables/useConfig.d.ts +2 -2
  42. package/dist/src/composables/useDisplayConditions.d.ts +16 -0
  43. package/dist/src/composables/useModuleRepair.d.ts +11 -2
  44. package/dist/src/enums/academy.d.ts +1 -1
  45. package/dist/src/enums/display-condition.d.ts +15 -0
  46. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +2 -0
  47. package/dist/src/extensions/Blocks/Recommendation/controls/image/index.d.ts +31 -17
  48. package/dist/src/extensions/DisplayConditions/bridge.d.ts +6 -0
  49. package/dist/src/extensions/DisplayConditions/constants.d.ts +14 -0
  50. package/dist/src/extensions/DisplayConditions/control.d.ts +23 -0
  51. package/dist/src/extensions/DisplayConditions/extension.d.ts +2 -0
  52. package/dist/src/extensions/DisplayConditions/iconsRegistry.d.ts +4 -0
  53. package/dist/src/extensions/DisplayConditions/library.d.ts +8 -0
  54. package/dist/src/extensions/DisplayConditions/settingsPanel.d.ts +5 -0
  55. package/dist/src/mock/api/display-conditions.d.ts +2 -0
  56. package/dist/src/services/displayConditionApi.d.ts +8 -0
  57. package/dist/src/stores/config.d.ts +166 -20
  58. package/dist/src/stores/display-condition.d.ts +81 -0
  59. package/dist/src/stores/editor.d.ts +0 -25
  60. package/dist/src/utils/displayCondition.d.ts +10 -0
  61. package/dist/src/utils/protectTableText.d.ts +2 -0
  62. package/dist/stores/config.js +13 -6
  63. package/dist/stores/display-condition.js +28 -0
  64. package/dist/stores/editor.js +14 -15
  65. package/dist/utils/displayCondition.js +26 -0
  66. package/dist/utils/pairProductVariables.js +15 -14
  67. package/dist/utils/protectTableText.js +22 -0
  68. package/package.json +1 -1
  69. package/dist/components/organisms/unsubscribe/LegacyUnsubscribeConvertedModal.vue.js +0 -17
  70. package/dist/components/organisms/unsubscribe/LegacyUnsubscribeConvertedModal.vue2.js +0 -30
  71. package/dist/config/migrator/legacyUnsubscribeTextMigrator.js +0 -16
  72. package/dist/src/config/migrator/legacyUnsubscribeTextMigrator.d.ts +0 -1
  73. package/dist/src/utils/legacyUnsubscribeConversion.d.ts +0 -10
  74. package/dist/utils/legacyUnsubscribeConversion.js +0 -49
  75. /package/dist/src/components/organisms/{unsubscribe/LegacyUnsubscribeConvertedModal.vue.d.ts → display-conditions/DisplayConditionCreateDrawer.vue.d.ts} +0 -0
@@ -94,6 +94,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
94
94
  ui: {
95
95
  showHeader: boolean;
96
96
  backButtonLabel?: string | undefined;
97
+ externalDisplayConditions: boolean;
97
98
  };
98
99
  features: {
99
100
  dynamicContent: boolean;
@@ -109,7 +110,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
109
110
  linkTrackingIds: boolean;
110
111
  allowSaveWithErrors: boolean;
111
112
  reusableRecommendationStrategy: boolean;
112
- legacyUnsubscribeConversion: boolean;
113
113
  };
114
114
  blocks: {
115
115
  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")[];
@@ -240,6 +240,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
240
240
  ui: {
241
241
  showHeader: boolean;
242
242
  backButtonLabel?: string | undefined;
243
+ externalDisplayConditions: boolean;
243
244
  };
244
245
  features: {
245
246
  dynamicContent: boolean;
@@ -255,7 +256,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
255
256
  linkTrackingIds: boolean;
256
257
  allowSaveWithErrors: boolean;
257
258
  reusableRecommendationStrategy: boolean;
258
- legacyUnsubscribeConversion: boolean;
259
259
  };
260
260
  blocks: {
261
261
  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")[];
@@ -386,6 +386,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
386
386
  ui: {
387
387
  showHeader: boolean;
388
388
  backButtonLabel?: string | undefined;
389
+ externalDisplayConditions: boolean;
389
390
  };
390
391
  features: {
391
392
  dynamicContent: boolean;
@@ -401,7 +402,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
401
402
  linkTrackingIds: boolean;
402
403
  allowSaveWithErrors: boolean;
403
404
  reusableRecommendationStrategy: boolean;
404
- legacyUnsubscribeConversion: boolean;
405
405
  };
406
406
  blocks: {
407
407
  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")[];
@@ -532,6 +532,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
532
532
  ui: {
533
533
  showHeader: boolean;
534
534
  backButtonLabel?: string | undefined;
535
+ externalDisplayConditions: boolean;
535
536
  };
536
537
  features: {
537
538
  dynamicContent: boolean;
@@ -547,7 +548,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
547
548
  linkTrackingIds: boolean;
548
549
  allowSaveWithErrors: boolean;
549
550
  reusableRecommendationStrategy: boolean;
550
- legacyUnsubscribeConversion: boolean;
551
551
  };
552
552
  blocks: {
553
553
  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")[];
@@ -678,6 +678,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
678
678
  ui: {
679
679
  showHeader: boolean;
680
680
  backButtonLabel?: string | undefined;
681
+ externalDisplayConditions: boolean;
681
682
  };
682
683
  features: {
683
684
  dynamicContent: boolean;
@@ -693,7 +694,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
693
694
  linkTrackingIds: boolean;
694
695
  allowSaveWithErrors: boolean;
695
696
  reusableRecommendationStrategy: boolean;
696
- legacyUnsubscribeConversion: boolean;
697
697
  };
698
698
  blocks: {
699
699
  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")[];
@@ -824,6 +824,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
824
824
  ui: {
825
825
  showHeader: boolean;
826
826
  backButtonLabel?: string | undefined;
827
+ externalDisplayConditions: boolean;
827
828
  };
828
829
  features: {
829
830
  dynamicContent: boolean;
@@ -839,7 +840,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
839
840
  linkTrackingIds: boolean;
840
841
  allowSaveWithErrors: boolean;
841
842
  reusableRecommendationStrategy: boolean;
842
- legacyUnsubscribeConversion: boolean;
843
843
  };
844
844
  blocks: {
845
845
  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")[];
@@ -970,6 +970,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
970
970
  ui: {
971
971
  showHeader: boolean;
972
972
  backButtonLabel?: string | undefined;
973
+ externalDisplayConditions: boolean;
973
974
  };
974
975
  features: {
975
976
  dynamicContent: boolean;
@@ -985,7 +986,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
985
986
  linkTrackingIds: boolean;
986
987
  allowSaveWithErrors: boolean;
987
988
  reusableRecommendationStrategy: boolean;
988
- legacyUnsubscribeConversion: boolean;
989
989
  };
990
990
  blocks: {
991
991
  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")[];
@@ -1116,6 +1116,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1116
1116
  ui: {
1117
1117
  showHeader: boolean;
1118
1118
  backButtonLabel?: string | undefined;
1119
+ externalDisplayConditions: boolean;
1119
1120
  };
1120
1121
  features: {
1121
1122
  dynamicContent: boolean;
@@ -1131,7 +1132,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1131
1132
  linkTrackingIds: boolean;
1132
1133
  allowSaveWithErrors: boolean;
1133
1134
  reusableRecommendationStrategy: boolean;
1134
- legacyUnsubscribeConversion: boolean;
1135
1135
  };
1136
1136
  blocks: {
1137
1137
  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")[];
@@ -1262,6 +1262,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1262
1262
  ui: {
1263
1263
  showHeader: boolean;
1264
1264
  backButtonLabel?: string | undefined;
1265
+ externalDisplayConditions: boolean;
1265
1266
  };
1266
1267
  features: {
1267
1268
  dynamicContent: boolean;
@@ -1277,7 +1278,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1277
1278
  linkTrackingIds: boolean;
1278
1279
  allowSaveWithErrors: boolean;
1279
1280
  reusableRecommendationStrategy: boolean;
1280
- legacyUnsubscribeConversion: boolean;
1281
1281
  };
1282
1282
  blocks: {
1283
1283
  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")[];
@@ -1408,6 +1408,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1408
1408
  ui: {
1409
1409
  showHeader: boolean;
1410
1410
  backButtonLabel?: string | undefined;
1411
+ externalDisplayConditions: boolean;
1411
1412
  };
1412
1413
  features: {
1413
1414
  dynamicContent: boolean;
@@ -1423,7 +1424,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1423
1424
  linkTrackingIds: boolean;
1424
1425
  allowSaveWithErrors: boolean;
1425
1426
  reusableRecommendationStrategy: boolean;
1426
- legacyUnsubscribeConversion: boolean;
1427
1427
  };
1428
1428
  blocks: {
1429
1429
  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")[];
@@ -1554,6 +1554,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1554
1554
  ui: {
1555
1555
  showHeader: boolean;
1556
1556
  backButtonLabel?: string | undefined;
1557
+ externalDisplayConditions: boolean;
1557
1558
  };
1558
1559
  features: {
1559
1560
  dynamicContent: boolean;
@@ -1569,7 +1570,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1569
1570
  linkTrackingIds: boolean;
1570
1571
  allowSaveWithErrors: boolean;
1571
1572
  reusableRecommendationStrategy: boolean;
1572
- legacyUnsubscribeConversion: boolean;
1573
1573
  };
1574
1574
  blocks: {
1575
1575
  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")[];
@@ -1700,6 +1700,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1700
1700
  ui: {
1701
1701
  showHeader: boolean;
1702
1702
  backButtonLabel?: string | undefined;
1703
+ externalDisplayConditions: boolean;
1703
1704
  };
1704
1705
  features: {
1705
1706
  dynamicContent: boolean;
@@ -1715,7 +1716,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1715
1716
  linkTrackingIds: boolean;
1716
1717
  allowSaveWithErrors: boolean;
1717
1718
  reusableRecommendationStrategy: boolean;
1718
- legacyUnsubscribeConversion: boolean;
1719
1719
  };
1720
1720
  blocks: {
1721
1721
  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")[];
@@ -1846,6 +1846,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1846
1846
  ui: {
1847
1847
  showHeader: boolean;
1848
1848
  backButtonLabel?: string | undefined;
1849
+ externalDisplayConditions: boolean;
1849
1850
  };
1850
1851
  features: {
1851
1852
  dynamicContent: boolean;
@@ -1861,7 +1862,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1861
1862
  linkTrackingIds: boolean;
1862
1863
  allowSaveWithErrors: boolean;
1863
1864
  reusableRecommendationStrategy: boolean;
1864
- legacyUnsubscribeConversion: boolean;
1865
1865
  };
1866
1866
  blocks: {
1867
1867
  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")[];
@@ -1992,6 +1992,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
1992
1992
  ui: {
1993
1993
  showHeader: boolean;
1994
1994
  backButtonLabel?: string | undefined;
1995
+ externalDisplayConditions: boolean;
1995
1996
  };
1996
1997
  features: {
1997
1998
  dynamicContent: boolean;
@@ -2007,7 +2008,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
2007
2008
  linkTrackingIds: boolean;
2008
2009
  allowSaveWithErrors: boolean;
2009
2010
  reusableRecommendationStrategy: boolean;
2010
- legacyUnsubscribeConversion: boolean;
2011
2011
  };
2012
2012
  blocks: {
2013
2013
  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")[];
@@ -2138,6 +2138,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
2138
2138
  ui: {
2139
2139
  showHeader: boolean;
2140
2140
  backButtonLabel?: string | undefined;
2141
+ externalDisplayConditions: boolean;
2141
2142
  };
2142
2143
  features: {
2143
2144
  dynamicContent: boolean;
@@ -2153,7 +2154,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
2153
2154
  linkTrackingIds: boolean;
2154
2155
  allowSaveWithErrors: boolean;
2155
2156
  reusableRecommendationStrategy: boolean;
2156
- legacyUnsubscribeConversion: boolean;
2157
2157
  };
2158
2158
  blocks: {
2159
2159
  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")[];
@@ -2284,6 +2284,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
2284
2284
  ui: {
2285
2285
  showHeader: boolean;
2286
2286
  backButtonLabel?: string | undefined;
2287
+ externalDisplayConditions: boolean;
2287
2288
  };
2288
2289
  features: {
2289
2290
  dynamicContent: boolean;
@@ -2299,7 +2300,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
2299
2300
  linkTrackingIds: boolean;
2300
2301
  allowSaveWithErrors: boolean;
2301
2302
  reusableRecommendationStrategy: boolean;
2302
- legacyUnsubscribeConversion: boolean;
2303
2303
  };
2304
2304
  blocks: {
2305
2305
  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")[];
@@ -2430,6 +2430,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
2430
2430
  ui: {
2431
2431
  showHeader: boolean;
2432
2432
  backButtonLabel?: string | undefined;
2433
+ externalDisplayConditions: boolean;
2433
2434
  };
2434
2435
  features: {
2435
2436
  dynamicContent: boolean;
@@ -2445,7 +2446,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
2445
2446
  linkTrackingIds: boolean;
2446
2447
  allowSaveWithErrors: boolean;
2447
2448
  reusableRecommendationStrategy: boolean;
2448
- legacyUnsubscribeConversion: boolean;
2449
2449
  };
2450
2450
  blocks: {
2451
2451
  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")[];
@@ -2588,6 +2588,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
2588
2588
  ui: {
2589
2589
  showHeader: boolean;
2590
2590
  backButtonLabel?: string | undefined;
2591
+ externalDisplayConditions: boolean;
2591
2592
  };
2592
2593
  features: {
2593
2594
  dynamicContent: boolean;
@@ -2603,7 +2604,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
2603
2604
  linkTrackingIds: boolean;
2604
2605
  allowSaveWithErrors: boolean;
2605
2606
  reusableRecommendationStrategy: boolean;
2606
- legacyUnsubscribeConversion: boolean;
2607
2607
  };
2608
2608
  blocks: {
2609
2609
  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")[];
@@ -2734,6 +2734,153 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
2734
2734
  ui: {
2735
2735
  showHeader: boolean;
2736
2736
  backButtonLabel?: string | undefined;
2737
+ externalDisplayConditions: boolean;
2738
+ };
2739
+ features: {
2740
+ dynamicContent: boolean;
2741
+ saveAsTemplate: boolean;
2742
+ versionHistory: boolean;
2743
+ testMessage: boolean;
2744
+ displayConditions: boolean;
2745
+ unsubscribe: boolean;
2746
+ modulesDisabled: boolean;
2747
+ liquidSyntax: boolean;
2748
+ autosave: boolean;
2749
+ allowlistEnabled: boolean;
2750
+ linkTrackingIds: boolean;
2751
+ allowSaveWithErrors: boolean;
2752
+ reusableRecommendationStrategy: boolean;
2753
+ };
2754
+ blocks: {
2755
+ 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")[];
2756
+ includeCustoms: ("dynamic-content" | "checkbox-block" | "radio-button-block" | "recommendation-block" | "unsubscribe-block" | "coupon-block" | "items-block")[];
2757
+ };
2758
+ compiler: {
2759
+ customRules: ({
2760
+ type: "replace";
2761
+ search: string;
2762
+ replacement: string;
2763
+ replaceAll?: boolean | undefined;
2764
+ id: string;
2765
+ description?: string | undefined;
2766
+ priority: number;
2767
+ } | {
2768
+ type: "regex";
2769
+ pattern: string;
2770
+ replacement: string;
2771
+ flags?: string | undefined;
2772
+ id: string;
2773
+ description?: string | undefined;
2774
+ priority: number;
2775
+ } | {
2776
+ type: "remove";
2777
+ targets: string[];
2778
+ id: string;
2779
+ description?: string | undefined;
2780
+ priority: number;
2781
+ } | {
2782
+ type: "custom";
2783
+ processor: (html: string) => string;
2784
+ id: string;
2785
+ description?: string | undefined;
2786
+ priority: number;
2787
+ })[];
2788
+ ignoreDefaultRules: boolean;
2789
+ };
2790
+ callbacks: {
2791
+ externalValidation?: import("@@/Types/config").ExternalValidationHandler | undefined;
2792
+ };
2793
+ } | null;
2794
+ } & import("pinia").PiniaCustomStateProperties<ConfigStoreState>) => boolean;
2795
+ /**
2796
+ * Check if the Insider display-condition UI replaces Stripo's
2797
+ */
2798
+ externalDisplayConditions: (state: {
2799
+ initialized: boolean;
2800
+ config: {
2801
+ identity: {
2802
+ templateId: string;
2803
+ userId: string;
2804
+ variationId?: string | undefined;
2805
+ campaignId?: string | undefined;
2806
+ templateLibraryId?: string | undefined;
2807
+ };
2808
+ partner: {
2809
+ name: string;
2810
+ productType: 60 | 49 | 97;
2811
+ messageType: 1 | 2;
2812
+ username: string;
2813
+ fallbackFont?: {
2814
+ name: string;
2815
+ family: string;
2816
+ } | undefined;
2817
+ };
2818
+ template: {
2819
+ html: string;
2820
+ css: string;
2821
+ preselectedDynamicContent: {
2822
+ text: string;
2823
+ value: string;
2824
+ fallback?: string | undefined;
2825
+ format?: {
2826
+ key: string;
2827
+ value: string;
2828
+ } | undefined;
2829
+ }[];
2830
+ dynamicContentList: {
2831
+ [x: string]: import("../library").DynamicContentNode[];
2832
+ };
2833
+ customFieldAttributes: string[];
2834
+ selectedUnsubscribePages: number[];
2835
+ forceRecreate: boolean;
2836
+ trackIdCounter: number;
2837
+ recommendationCampaignUrls?: Record<string, unknown> | undefined;
2838
+ migration: {
2839
+ recommendationConfigs: {
2840
+ [x: string]: {
2841
+ id?: number | undefined;
2842
+ decimalCount?: string | number | undefined;
2843
+ productIds?: unknown[] | undefined;
2844
+ sendProductRequestFlag?: boolean | undefined;
2845
+ shuffleProducts?: boolean | undefined;
2846
+ filters?: unknown[] | undefined;
2847
+ currency?: string | undefined;
2848
+ currencySettings?: unknown;
2849
+ language?: string | undefined;
2850
+ strategy?: string | undefined;
2851
+ recommendedProducts?: unknown[] | undefined;
2852
+ cardsInRow?: number | undefined;
2853
+ mobileRightPadding?: number | undefined;
2854
+ mobileLeftPadding?: number | undefined;
2855
+ unresponsive?: boolean | undefined;
2856
+ orientation?: string | undefined;
2857
+ textTrimming?: boolean | undefined;
2858
+ blockType?: string | undefined;
2859
+ size?: string | number | undefined;
2860
+ verticalResponsiveness?: boolean | undefined;
2861
+ isPriceMovedToNextLine?: boolean | undefined;
2862
+ isPriceDeletedForZeroSale?: boolean | undefined;
2863
+ } & {
2864
+ [key: string]: unknown;
2865
+ };
2866
+ };
2867
+ };
2868
+ };
2869
+ editor: {
2870
+ locale: string;
2871
+ translationsPath: string;
2872
+ migrationDate: number;
2873
+ emailHeader: {
2874
+ senderName: string;
2875
+ subject: string;
2876
+ };
2877
+ savedModulesFolderName: string;
2878
+ defaultModulesFolderName: string;
2879
+ };
2880
+ ui: {
2881
+ showHeader: boolean;
2882
+ backButtonLabel?: string | undefined;
2883
+ externalDisplayConditions: boolean;
2737
2884
  };
2738
2885
  features: {
2739
2886
  dynamicContent: boolean;
@@ -2749,7 +2896,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
2749
2896
  linkTrackingIds: boolean;
2750
2897
  allowSaveWithErrors: boolean;
2751
2898
  reusableRecommendationStrategy: boolean;
2752
- legacyUnsubscribeConversion: boolean;
2753
2899
  };
2754
2900
  blocks: {
2755
2901
  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")[];
@@ -2882,6 +3028,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
2882
3028
  ui: {
2883
3029
  showHeader: boolean;
2884
3030
  backButtonLabel?: string | undefined;
3031
+ externalDisplayConditions: boolean;
2885
3032
  };
2886
3033
  features: {
2887
3034
  dynamicContent: boolean;
@@ -2897,7 +3044,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
2897
3044
  linkTrackingIds: boolean;
2898
3045
  allowSaveWithErrors: boolean;
2899
3046
  reusableRecommendationStrategy: boolean;
2900
- legacyUnsubscribeConversion: boolean;
2901
3047
  };
2902
3048
  blocks: {
2903
3049
  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")[];
@@ -0,0 +1,81 @@
1
+ import type { AppliedDisplayCondition, SavedDisplayCondition } from '@@/Types/display-condition';
2
+ export type DisplayConditionView = 'none' | 'create' | 'select';
3
+ export type DisplayConditionListStatus = 'idle' | 'loading' | 'loaded' | 'error';
4
+ interface DisplayConditionState {
5
+ view: DisplayConditionView;
6
+ editing: AppliedDisplayCondition | null;
7
+ list: SavedDisplayCondition[];
8
+ listStatus: DisplayConditionListStatus;
9
+ pendingDelete: SavedDisplayCondition | null;
10
+ }
11
+ export declare const useDisplayConditionStore: import("pinia").StoreDefinition<"guidoDisplayCondition", DisplayConditionState, {
12
+ isCreateOpen: (state: {
13
+ view: DisplayConditionView;
14
+ editing: {
15
+ id: number;
16
+ name: string;
17
+ description: string;
18
+ beforeScript: string;
19
+ afterScript: string;
20
+ extraData?: string | undefined;
21
+ } | null;
22
+ list: {
23
+ id: number;
24
+ name: string;
25
+ description: string;
26
+ syntax: "liquid" | "pongo";
27
+ method: "codeOnly" | "logicBuilder";
28
+ codeBefore: string;
29
+ codeAfter: string;
30
+ createdAt?: string | undefined;
31
+ }[];
32
+ listStatus: DisplayConditionListStatus;
33
+ pendingDelete: {
34
+ id: number;
35
+ name: string;
36
+ description: string;
37
+ syntax: "liquid" | "pongo";
38
+ method: "codeOnly" | "logicBuilder";
39
+ codeBefore: string;
40
+ codeAfter: string;
41
+ createdAt?: string | undefined;
42
+ } | null;
43
+ } & import("pinia").PiniaCustomStateProperties<DisplayConditionState>) => boolean;
44
+ isSelectOpen: (state: {
45
+ view: DisplayConditionView;
46
+ editing: {
47
+ id: number;
48
+ name: string;
49
+ description: string;
50
+ beforeScript: string;
51
+ afterScript: string;
52
+ extraData?: string | undefined;
53
+ } | null;
54
+ list: {
55
+ id: number;
56
+ name: string;
57
+ description: string;
58
+ syntax: "liquid" | "pongo";
59
+ method: "codeOnly" | "logicBuilder";
60
+ codeBefore: string;
61
+ codeAfter: string;
62
+ createdAt?: string | undefined;
63
+ }[];
64
+ listStatus: DisplayConditionListStatus;
65
+ pendingDelete: {
66
+ id: number;
67
+ name: string;
68
+ description: string;
69
+ syntax: "liquid" | "pongo";
70
+ method: "codeOnly" | "logicBuilder";
71
+ codeBefore: string;
72
+ codeAfter: string;
73
+ createdAt?: string | undefined;
74
+ } | null;
75
+ } & import("pinia").PiniaCustomStateProperties<DisplayConditionState>) => boolean;
76
+ }, {
77
+ openCreate(editing?: AppliedDisplayCondition | null): void;
78
+ openSelect(): void;
79
+ close(): void;
80
+ }>;
81
+ export {};