@useinsider/guido 3.19.0-beta.cd75ff0 → 3.19.0-beta.cf43946
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.
- package/README.md +0 -1
- package/dist/@types/config/schemas.js +37 -39
- package/dist/components/Guido.vue.js +8 -8
- package/dist/components/Guido.vue2.js +65 -68
- package/dist/components/organisms/AutoSaveController.vue2.js +8 -10
- package/dist/components/organisms/header/EditorActions.vue.js +5 -5
- package/dist/components/organisms/header/EditorActions.vue2.js +46 -83
- package/dist/components/organisms/header/LeftSlot.vue.js +5 -5
- package/dist/components/organisms/header/LeftSlot.vue2.js +12 -16
- package/dist/components/wrappers/WpDrawer.vue.js +7 -9
- package/dist/components/wrappers/WpDrawer.vue2.js +1 -1
- package/dist/composables/useAutoSave.js +44 -46
- package/dist/composables/useHtmlCompiler.js +26 -37
- package/dist/composables/useHtmlValidator.js +0 -2
- package/dist/composables/useSave.js +45 -92
- package/dist/composables/validators/useCouponBlockValidator.js +21 -24
- package/dist/composables/validators/useUnsubscribeBlockValidator.js +27 -34
- package/dist/config/migrator/recommendationMigrator.js +28 -21
- package/dist/config/migrator/recommendationPartnerMigrator.js +36 -30
- package/dist/guido.css +1 -1
- package/dist/src/@types/config/schemas.d.ts +0 -4
- package/dist/src/components/Guido.vue.d.ts +1 -17
- package/dist/src/components/organisms/header/EditorActions.vue.d.ts +1 -17
- package/dist/src/components/organisms/header/HeaderWrapper.vue.d.ts +1 -17
- package/dist/src/components/organisms/header/RightSlot.vue.d.ts +1 -17
- package/dist/src/components/wrappers/WpDrawer.vue.d.ts +3 -4
- package/dist/src/composables/useAutoSave.d.ts +1 -4
- package/dist/src/composables/useConfig.d.ts +0 -2
- package/dist/src/composables/useGuidoActions.d.ts +2 -0
- package/dist/src/composables/useHtmlValidator.d.ts +0 -21
- package/dist/src/composables/useSave.d.ts +1 -6
- package/dist/src/composables/validators/useCouponBlockValidator.d.ts +0 -3
- package/dist/src/composables/validators/useUnsubscribeBlockValidator.d.ts +0 -10
- package/dist/src/mock/cortexChatStore.d.ts +12 -0
- package/dist/src/stores/config.d.ts +0 -32
- package/dist/src/stores/onboarding.d.ts +4 -0
- package/dist/src/stores/recommendation.d.ts +5 -0
- package/dist/src/utils/dateUtil.d.ts +10 -0
- package/dist/src/utils/genericUtil.d.ts +3 -0
- package/dist/src/utils/templatePreparation.d.ts +0 -30
- package/dist/static/styles/components/version-history.css.js +2 -6
- package/dist/stores/config.js +67 -84
- package/dist/stores/onboarding.js +4 -0
- package/dist/utils/templatePreparation.js +36 -39
- package/package.json +1 -1
- package/dist/components/organisms/validation/ValidationErrorDrawer.vue.js +0 -20
- package/dist/components/organisms/validation/ValidationErrorDrawer.vue2.js +0 -50
- package/dist/composables/useSaveValidation.js +0 -284
- package/dist/composables/useSaveValidationRollout.js +0 -20
- package/dist/enums/save-validation.js +0 -4
- package/dist/services/settingsApi.js +0 -11
- package/dist/src/@types/save-validation.d.ts +0 -19
- package/dist/src/components/organisms/validation/ValidationErrorDrawer.vue.d.ts +0 -2
- package/dist/src/composables/useSaveValidation.d.ts +0 -6
- package/dist/src/composables/useSaveValidationRollout.d.ts +0 -4
- package/dist/src/enums/save-validation.d.ts +0 -27
- package/dist/src/services/settingsApi.d.ts +0 -6
- package/dist/src/stores/save-validation.d.ts +0 -22
- package/dist/src/stores/setup-settings.d.ts +0 -4
- package/dist/stores/save-validation.js +0 -30
- package/dist/stores/setup-settings.js +0 -10
|
@@ -1,6 +1,3 @@
|
|
|
1
1
|
type SaveSilent = () => Promise<unknown>;
|
|
2
|
-
|
|
3
|
-
clearsChanges?: () => boolean;
|
|
4
|
-
}
|
|
5
|
-
export declare const useAutoSave: (saveSilent: SaveSilent, { clearsChanges }?: AutoSaveOptions) => void;
|
|
2
|
+
export declare const useAutoSave: (saveSilent: SaveSilent) => void;
|
|
6
3
|
export {};
|
|
@@ -102,7 +102,6 @@ export declare const useConfig: () => {
|
|
|
102
102
|
autosave: boolean;
|
|
103
103
|
allowlistEnabled: boolean;
|
|
104
104
|
linkTrackingIds: boolean;
|
|
105
|
-
allowSaveWithErrors: boolean;
|
|
106
105
|
reusableRecommendationStrategy: boolean;
|
|
107
106
|
};
|
|
108
107
|
blocks: {
|
|
@@ -241,7 +240,6 @@ export declare const useConfig: () => {
|
|
|
241
240
|
autosave: boolean;
|
|
242
241
|
allowlistEnabled: boolean;
|
|
243
242
|
linkTrackingIds: boolean;
|
|
244
|
-
allowSaveWithErrors: boolean;
|
|
245
243
|
reusableRecommendationStrategy: boolean;
|
|
246
244
|
} | null>;
|
|
247
245
|
blocks: import("vue").ComputedRef<{
|
|
@@ -19,6 +19,8 @@ export declare const provideGuidoActions: (actions: {
|
|
|
19
19
|
}) => void;
|
|
20
20
|
/**
|
|
21
21
|
* Provides individual Guido action handlers
|
|
22
|
+
* @deprecated No consumer in src/ and not exported from library.ts — provideGuidoActions
|
|
23
|
+
* provides all four keys itself. Slated for deletion, see the SD-667788 dead-code ledger.
|
|
22
24
|
*/
|
|
23
25
|
export declare const provideBackHandler: (handler: BackHandler) => void;
|
|
24
26
|
export declare const provideSaveStartHandler: (handler: SaveStartHandler) => void;
|
|
@@ -1,12 +1,5 @@
|
|
|
1
1
|
import type { DynamicContent } from '@@/Types/generic';
|
|
2
2
|
import type { FiltersResponse } from '@@/Types/recommendation';
|
|
3
|
-
/**
|
|
4
|
-
* Extracts recommendation block IDs directly from the HTML by parsing
|
|
5
|
-
* the recommendation-id attribute on block elements.
|
|
6
|
-
* This avoids depending on store state which may not be populated
|
|
7
|
-
* when the settings panel hasn't been opened yet (e.g., saved templates).
|
|
8
|
-
*/
|
|
9
|
-
export declare function getRecommendationBlockIds(html: string): string[];
|
|
10
3
|
/**
|
|
11
4
|
* Parses a `{{recoId_index_attributeName}}` variable (already stripped of the
|
|
12
5
|
* braces/whitespace) into its recommendation id and attribute name. Returns
|
|
@@ -34,20 +27,6 @@ export declare function buildPartnerAttributeNameSet(filterList: FiltersResponse
|
|
|
34
27
|
* before, so flagging it would false-positive on merge tags like `{{user.name}}`.
|
|
35
28
|
*/
|
|
36
29
|
export declare function findInvalidCustomFields(html: string, validCustomFields: string[], recommendationBlockIds: string[], ignoredIds: Set<string>, ignoredAttributeNames: Set<string> | null): string[];
|
|
37
|
-
/**
|
|
38
|
-
* Returns the invalid `{{ ... }}` dynamic-content tags found in the HTML.
|
|
39
|
-
*
|
|
40
|
-
* A tag's variable name is the part before the first `|` (everything after it is the fallback).
|
|
41
|
-
* Surrounding whitespace is always allowed (trimmed). A tag is valid only when the variable name
|
|
42
|
-
* is an allowed system token, or it is a clean identifier (`[A-Za-z0-9_.]`) and — when a `|` is
|
|
43
|
-
* present — the fallback after it is not empty. Otherwise the tag is invalid (e.g.
|
|
44
|
-
* `{{Api Response: OA1 Main Item Url}}` — spaces/`:` — or `{{bounce|}}` — empty fallback).
|
|
45
|
-
*
|
|
46
|
-
* `data-*` block-config attribute values are excluded from the scan: blocks such as Items/cart
|
|
47
|
-
* store product merge tags (`data-product_button_link="{{Abandoned Cart Item (1) Url}}"`) that the
|
|
48
|
-
* backend resolves through its own pipeline, so they must not be treated as user-authored tags.
|
|
49
|
-
*/
|
|
50
|
-
export declare function getInvalidDynamicContentTags(html: string): string[];
|
|
51
30
|
export declare const useHtmlValidator: () => {
|
|
52
31
|
validateHtml: (html: string, customFields: DynamicContent[], isOnSaveValidation?: boolean) => Promise<boolean>;
|
|
53
32
|
};
|
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
import type { SavedTemplateDetails } from '@@/Types/stripo';
|
|
2
|
-
type SaveDetails = Omit<SavedTemplateDetails, 'metadata' | 'silent'>;
|
|
3
|
-
type SaveResult = SaveDetails | undefined;
|
|
4
2
|
export declare const useSave: () => {
|
|
5
|
-
save: (suppressEmit?: boolean, silent?: boolean) => Promise<
|
|
6
|
-
saveWithErrors: () => Promise<SaveResult>;
|
|
7
|
-
saveRawOnly: () => Promise<SaveResult>;
|
|
3
|
+
save: (suppressEmit?: boolean, silent?: boolean) => Promise<Omit<SavedTemplateDetails, "metadata" | "silent"> | undefined>;
|
|
8
4
|
};
|
|
9
|
-
export {};
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
export declare const COUPON_TAG_MODIFIED_KEY = "newsletter.coupon-tag-modified";
|
|
2
|
-
/** Pure core: the tag text of every coupon block whose code was modified. */
|
|
3
|
-
export declare function findInvalidCouponBlocks(html: string): string[];
|
|
4
1
|
export declare const useCouponBlockValidator: () => {
|
|
5
2
|
validateCouponBlockTags: (html: string) => boolean;
|
|
6
3
|
};
|
|
@@ -1,14 +1,4 @@
|
|
|
1
|
-
declare const SINGLETON_BLOCK_RULES: {
|
|
2
|
-
pageType: number;
|
|
3
|
-
messageKey: string;
|
|
4
|
-
}[];
|
|
5
|
-
export declare const EMPTY_BLOCK_KEY = "unsubscription-preference.select-page-to-continue";
|
|
6
|
-
/** Pure core: the singleton rules whose page type appears more than once. */
|
|
7
|
-
export declare function findDuplicateUnsubPageTypes(html: string): typeof SINGLETON_BLOCK_RULES;
|
|
8
|
-
/** Pure core: count of unsubscribe blocks with no page type or page list chosen. */
|
|
9
|
-
export declare function countUnsubBlocksWithoutPage(html: string): number;
|
|
10
1
|
export declare const useUnsubscribeBlockValidator: () => {
|
|
11
2
|
validateUnsubscribeBlockUniqueness: (html: string) => boolean;
|
|
12
3
|
validateUnsubscribeBlockHasTemplate: (html: string) => boolean;
|
|
13
4
|
};
|
|
14
|
-
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dev-harness stand-in for the cortex-fe MFE's shared `chat` store.
|
|
3
|
+
*
|
|
4
|
+
* `useCortexBlueprintBridge` resolves that store by id off the host's pinia at
|
|
5
|
+
* Guido's setup time, so a store registered after mount is never seen. Installing
|
|
6
|
+
* it here — before `<Guido>` renders — lets e2e drive the bridge through its real
|
|
7
|
+
* registration path instead of re-invoking the composable by hand.
|
|
8
|
+
*
|
|
9
|
+
* Activated with `?chatStore=true`; the instance is exposed on `window` so a test
|
|
10
|
+
* can push agent messages into it.
|
|
11
|
+
*/
|
|
12
|
+
export declare const installMockChatStore: () => void;
|
|
@@ -107,7 +107,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
107
107
|
autosave: boolean;
|
|
108
108
|
allowlistEnabled: boolean;
|
|
109
109
|
linkTrackingIds: boolean;
|
|
110
|
-
allowSaveWithErrors: boolean;
|
|
111
110
|
reusableRecommendationStrategy: boolean;
|
|
112
111
|
};
|
|
113
112
|
blocks: {
|
|
@@ -252,7 +251,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
252
251
|
autosave: boolean;
|
|
253
252
|
allowlistEnabled: boolean;
|
|
254
253
|
linkTrackingIds: boolean;
|
|
255
|
-
allowSaveWithErrors: boolean;
|
|
256
254
|
reusableRecommendationStrategy: boolean;
|
|
257
255
|
};
|
|
258
256
|
blocks: {
|
|
@@ -397,7 +395,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
397
395
|
autosave: boolean;
|
|
398
396
|
allowlistEnabled: boolean;
|
|
399
397
|
linkTrackingIds: boolean;
|
|
400
|
-
allowSaveWithErrors: boolean;
|
|
401
398
|
reusableRecommendationStrategy: boolean;
|
|
402
399
|
};
|
|
403
400
|
blocks: {
|
|
@@ -542,7 +539,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
542
539
|
autosave: boolean;
|
|
543
540
|
allowlistEnabled: boolean;
|
|
544
541
|
linkTrackingIds: boolean;
|
|
545
|
-
allowSaveWithErrors: boolean;
|
|
546
542
|
reusableRecommendationStrategy: boolean;
|
|
547
543
|
};
|
|
548
544
|
blocks: {
|
|
@@ -687,7 +683,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
687
683
|
autosave: boolean;
|
|
688
684
|
allowlistEnabled: boolean;
|
|
689
685
|
linkTrackingIds: boolean;
|
|
690
|
-
allowSaveWithErrors: boolean;
|
|
691
686
|
reusableRecommendationStrategy: boolean;
|
|
692
687
|
};
|
|
693
688
|
blocks: {
|
|
@@ -832,7 +827,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
832
827
|
autosave: boolean;
|
|
833
828
|
allowlistEnabled: boolean;
|
|
834
829
|
linkTrackingIds: boolean;
|
|
835
|
-
allowSaveWithErrors: boolean;
|
|
836
830
|
reusableRecommendationStrategy: boolean;
|
|
837
831
|
};
|
|
838
832
|
blocks: {
|
|
@@ -977,7 +971,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
977
971
|
autosave: boolean;
|
|
978
972
|
allowlistEnabled: boolean;
|
|
979
973
|
linkTrackingIds: boolean;
|
|
980
|
-
allowSaveWithErrors: boolean;
|
|
981
974
|
reusableRecommendationStrategy: boolean;
|
|
982
975
|
};
|
|
983
976
|
blocks: {
|
|
@@ -1122,7 +1115,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
1122
1115
|
autosave: boolean;
|
|
1123
1116
|
allowlistEnabled: boolean;
|
|
1124
1117
|
linkTrackingIds: boolean;
|
|
1125
|
-
allowSaveWithErrors: boolean;
|
|
1126
1118
|
reusableRecommendationStrategy: boolean;
|
|
1127
1119
|
};
|
|
1128
1120
|
blocks: {
|
|
@@ -1267,7 +1259,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
1267
1259
|
autosave: boolean;
|
|
1268
1260
|
allowlistEnabled: boolean;
|
|
1269
1261
|
linkTrackingIds: boolean;
|
|
1270
|
-
allowSaveWithErrors: boolean;
|
|
1271
1262
|
reusableRecommendationStrategy: boolean;
|
|
1272
1263
|
};
|
|
1273
1264
|
blocks: {
|
|
@@ -1412,7 +1403,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
1412
1403
|
autosave: boolean;
|
|
1413
1404
|
allowlistEnabled: boolean;
|
|
1414
1405
|
linkTrackingIds: boolean;
|
|
1415
|
-
allowSaveWithErrors: boolean;
|
|
1416
1406
|
reusableRecommendationStrategy: boolean;
|
|
1417
1407
|
};
|
|
1418
1408
|
blocks: {
|
|
@@ -1557,7 +1547,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
1557
1547
|
autosave: boolean;
|
|
1558
1548
|
allowlistEnabled: boolean;
|
|
1559
1549
|
linkTrackingIds: boolean;
|
|
1560
|
-
allowSaveWithErrors: boolean;
|
|
1561
1550
|
reusableRecommendationStrategy: boolean;
|
|
1562
1551
|
};
|
|
1563
1552
|
blocks: {
|
|
@@ -1702,7 +1691,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
1702
1691
|
autosave: boolean;
|
|
1703
1692
|
allowlistEnabled: boolean;
|
|
1704
1693
|
linkTrackingIds: boolean;
|
|
1705
|
-
allowSaveWithErrors: boolean;
|
|
1706
1694
|
reusableRecommendationStrategy: boolean;
|
|
1707
1695
|
};
|
|
1708
1696
|
blocks: {
|
|
@@ -1847,7 +1835,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
1847
1835
|
autosave: boolean;
|
|
1848
1836
|
allowlistEnabled: boolean;
|
|
1849
1837
|
linkTrackingIds: boolean;
|
|
1850
|
-
allowSaveWithErrors: boolean;
|
|
1851
1838
|
reusableRecommendationStrategy: boolean;
|
|
1852
1839
|
};
|
|
1853
1840
|
blocks: {
|
|
@@ -1992,7 +1979,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
1992
1979
|
autosave: boolean;
|
|
1993
1980
|
allowlistEnabled: boolean;
|
|
1994
1981
|
linkTrackingIds: boolean;
|
|
1995
|
-
allowSaveWithErrors: boolean;
|
|
1996
1982
|
reusableRecommendationStrategy: boolean;
|
|
1997
1983
|
};
|
|
1998
1984
|
blocks: {
|
|
@@ -2137,7 +2123,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
2137
2123
|
autosave: boolean;
|
|
2138
2124
|
allowlistEnabled: boolean;
|
|
2139
2125
|
linkTrackingIds: boolean;
|
|
2140
|
-
allowSaveWithErrors: boolean;
|
|
2141
2126
|
reusableRecommendationStrategy: boolean;
|
|
2142
2127
|
};
|
|
2143
2128
|
blocks: {
|
|
@@ -2282,7 +2267,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
2282
2267
|
autosave: boolean;
|
|
2283
2268
|
allowlistEnabled: boolean;
|
|
2284
2269
|
linkTrackingIds: boolean;
|
|
2285
|
-
allowSaveWithErrors: boolean;
|
|
2286
2270
|
reusableRecommendationStrategy: boolean;
|
|
2287
2271
|
};
|
|
2288
2272
|
blocks: {
|
|
@@ -2427,7 +2411,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
2427
2411
|
autosave: boolean;
|
|
2428
2412
|
allowlistEnabled: boolean;
|
|
2429
2413
|
linkTrackingIds: boolean;
|
|
2430
|
-
allowSaveWithErrors: boolean;
|
|
2431
2414
|
reusableRecommendationStrategy: boolean;
|
|
2432
2415
|
};
|
|
2433
2416
|
blocks: {
|
|
@@ -2471,18 +2454,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
2471
2454
|
};
|
|
2472
2455
|
} | null;
|
|
2473
2456
|
} & import("pinia").PiniaCustomStateProperties<ConfigStoreState>) => number;
|
|
2474
|
-
/**
|
|
2475
|
-
* Transactional campaigns keep the hard save block. Reactive getter, so
|
|
2476
|
-
* consumers stay safe in setup where a raw config read snapshots null (SD-147945).
|
|
2477
|
-
*/
|
|
2478
|
-
isTransactional(): boolean;
|
|
2479
|
-
/**
|
|
2480
|
-
* Soft-save policy: may the editor persist a template with validation errors?
|
|
2481
|
-
* Default true (host sets features.allowSaveWithErrors=false for transactional +
|
|
2482
|
-
* unsub). Reactive getter defaulting true — reading via isFeatureEnabled would
|
|
2483
|
-
* floor to false pre-init and momentarily hide the soft-save option (SD-147430).
|
|
2484
|
-
*/
|
|
2485
|
-
allowSaveWithErrors(): boolean;
|
|
2486
2457
|
/**
|
|
2487
2458
|
* Get the username
|
|
2488
2459
|
*/
|
|
@@ -2584,7 +2555,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
2584
2555
|
autosave: boolean;
|
|
2585
2556
|
allowlistEnabled: boolean;
|
|
2586
2557
|
linkTrackingIds: boolean;
|
|
2587
|
-
allowSaveWithErrors: boolean;
|
|
2588
2558
|
reusableRecommendationStrategy: boolean;
|
|
2589
2559
|
};
|
|
2590
2560
|
blocks: {
|
|
@@ -2729,7 +2699,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
2729
2699
|
autosave: boolean;
|
|
2730
2700
|
allowlistEnabled: boolean;
|
|
2731
2701
|
linkTrackingIds: boolean;
|
|
2732
|
-
allowSaveWithErrors: boolean;
|
|
2733
2702
|
reusableRecommendationStrategy: boolean;
|
|
2734
2703
|
};
|
|
2735
2704
|
blocks: {
|
|
@@ -2876,7 +2845,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"guido-conf
|
|
|
2876
2845
|
autosave: boolean;
|
|
2877
2846
|
allowlistEnabled: boolean;
|
|
2878
2847
|
linkTrackingIds: boolean;
|
|
2879
|
-
allowSaveWithErrors: boolean;
|
|
2880
2848
|
reusableRecommendationStrategy: boolean;
|
|
2881
2849
|
};
|
|
2882
2850
|
blocks: {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { OnboardingCardConfig, OnboardingType, OnboardingStoreState } from '@@/Types/onboarding';
|
|
2
2
|
export declare const useOnboardingStore: import("pinia").StoreDefinition<"guidoOnboarding", OnboardingStoreState, {
|
|
3
|
+
/** @deprecated Components use the type-specific getters. Slated for deletion, see the SD-667788 dead-code ledger. */
|
|
3
4
|
getOnboarding: (state: {
|
|
4
5
|
onboardings: {
|
|
5
6
|
newVersionPopup: {
|
|
@@ -390,6 +391,7 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"guidoO
|
|
|
390
391
|
};
|
|
391
392
|
isFetched: boolean;
|
|
392
393
|
} & import("pinia").PiniaCustomStateProperties<OnboardingStoreState>) => (type: OnboardingType) => boolean;
|
|
394
|
+
/** @deprecated Components use getGenericCurrentCard / getTextBlockCurrentCard. Slated for deletion, see the SD-667788 dead-code ledger. */
|
|
393
395
|
getCurrentCard: (state: {
|
|
394
396
|
onboardings: {
|
|
395
397
|
newVersionPopup: {
|
|
@@ -2190,6 +2192,7 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"guidoO
|
|
|
2190
2192
|
close(type: OnboardingType): Promise<void>;
|
|
2191
2193
|
next(type: OnboardingType): void;
|
|
2192
2194
|
previous(type: OnboardingType): void;
|
|
2195
|
+
/** @deprecated No caller in src/. Slated for deletion, see the SD-667788 dead-code ledger. */
|
|
2193
2196
|
updateCardPosition(type: OnboardingType, cardIndex: number, position: {
|
|
2194
2197
|
top: string;
|
|
2195
2198
|
position: string;
|
|
@@ -2198,6 +2201,7 @@ export declare const useOnboardingStore: import("pinia").StoreDefinition<"guidoO
|
|
|
2198
2201
|
onDiscoverNowClicked(): Promise<void>;
|
|
2199
2202
|
onRemindMeLater(): void;
|
|
2200
2203
|
onNewVersionPopupClose(): Promise<void>;
|
|
2204
|
+
/** @deprecated No caller in src/. Slated for deletion, see the SD-667788 dead-code ledger. */
|
|
2201
2205
|
isOnboardingActive(): boolean;
|
|
2202
2206
|
fetchUserModalState(): Promise<void>;
|
|
2203
2207
|
setUserModalState(modal: string, state: string, page: string): Promise<void>;
|
|
@@ -6,5 +6,10 @@ type RecommendationConfig = {
|
|
|
6
6
|
interface StoreState {
|
|
7
7
|
recommendationConfigs: RecommendationConfig[];
|
|
8
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated recommendationConfigs has no writer in src/, so the store is
|
|
11
|
+
* permanently empty and its only readers (useHtmlValidator.ts:496-497) are a
|
|
12
|
+
* no-op. Slated for deletion, see the SD-667788 dead-code ledger.
|
|
13
|
+
*/
|
|
9
14
|
export declare const useRecommendationStore: import("pinia").StoreDefinition<"guidoRecommendation", StoreState, {}, {}>;
|
|
10
15
|
export {};
|
|
@@ -3,12 +3,22 @@
|
|
|
3
3
|
* en-US -> MM/DD/YYYY
|
|
4
4
|
* en-GB -> DD/MM/YYYY
|
|
5
5
|
* tr-TR -> DD.MM.YYYY
|
|
6
|
+
*
|
|
7
|
+
* The non-string branches below are unreachable: the only caller chain is
|
|
8
|
+
* formatShortDate -> AssignStrategyDrawer.vue:74, which passes a non-empty string.
|
|
9
|
+
* The function itself is live — do not delete it with them.
|
|
6
10
|
*/
|
|
7
11
|
export declare const convertToDateObject: (date: string | number | Date | null | undefined) => Date;
|
|
8
12
|
export declare const locale: () => string;
|
|
9
13
|
export declare const localTz: string;
|
|
10
14
|
export declare const timezone: () => string;
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated No caller in src/ and not exported from library.ts. Slated for deletion, see the SD-667788 dead-code ledger.
|
|
17
|
+
*/
|
|
11
18
|
export declare const hour12: () => boolean;
|
|
19
|
+
/**
|
|
20
|
+
* @deprecated No caller in src/ and not exported from library.ts. Slated for deletion, see the SD-667788 dead-code ledger.
|
|
21
|
+
*/
|
|
12
22
|
export declare const dateFormat: () => string;
|
|
13
23
|
/**
|
|
14
24
|
* @example 04/22/2024
|
|
@@ -24,6 +24,9 @@ export declare const getCsrfToken: () => string;
|
|
|
24
24
|
*/
|
|
25
25
|
export declare const getUrlParams: () => URLSearchParams;
|
|
26
26
|
export declare const getUrlParam: (paramName: string, defaultValue?: string) => string;
|
|
27
|
+
/**
|
|
28
|
+
* @deprecated No caller in src/. Slated for deletion, see the SD-667788 dead-code ledger.
|
|
29
|
+
*/
|
|
27
30
|
export declare const replaceString: (string?: string, values?: Record<string, string | number>, isRemoveEmptyValues?: boolean) => string;
|
|
28
31
|
/**
|
|
29
32
|
* Narrows an unknown API value to a printable string; anything that is neither
|
|
@@ -15,36 +15,6 @@ import type { SavedTemplateDetails } from '@@/Types/stripo';
|
|
|
15
15
|
* same source), so it is reliably present regardless of how the block was added.
|
|
16
16
|
*/
|
|
17
17
|
export declare function getHtmlReferencedUnsubscribePages(html: string): number[];
|
|
18
|
-
/**
|
|
19
|
-
* Hydrates the recommendation extension store from the persisted `esd-ext-config`
|
|
20
|
-
* JSON blob on each `.recommendation-block-v2` element in the raw editor HTML.
|
|
21
|
-
*
|
|
22
|
-
* Why this runs before `compileHtml`:
|
|
23
|
-
* The HTML compiler's `prepareRecommendationBlocks` rule asks
|
|
24
|
-
* `useRecommendation.buildCampaignUrl(id)` to assemble each block's API URL
|
|
25
|
-
* from `blockStates[id].recommendationConfigs`. That Pinia entry is normally
|
|
26
|
-
* populated by `RecommendationBlockControl._syncNodeConfigToStore`, which
|
|
27
|
-
* only fires when the user *selects* the block. Saving without ever
|
|
28
|
-
* selecting a migrated block would otherwise build the URL from empty/
|
|
29
|
-
* default state and the campaign URL would not be saved.
|
|
30
|
-
*
|
|
31
|
-
* Why we read raw HTML, not compiled HTML:
|
|
32
|
-
* Stripo's `compileEmail()` strips editor-only attributes (`esd-*`) from the
|
|
33
|
-
* compiled output, so `esd-ext-config` is gone by the time the compiler
|
|
34
|
-
* pipeline sees the HTML. The raw HTML from `getTemplateData()` preserves
|
|
35
|
-
* the attribute as the migrator wrote it.
|
|
36
|
-
*
|
|
37
|
-
* Reference data pre-load:
|
|
38
|
-
* When the template has recommendation blocks, this also pre-loads the
|
|
39
|
-
* shared reference data (languages / currency list) so the save-time
|
|
40
|
-
* required-fields validator can check each block's locale and currency
|
|
41
|
-
* against the partner's real options. Best-effort — on a fetch failure the
|
|
42
|
-
* validator degrades to its empty-list guard (`requiredFields.ts`) instead
|
|
43
|
-
* of blocking the save or stranding the Save button.
|
|
44
|
-
*/
|
|
45
|
-
declare function hydrateRecommendationStoreFromRawHtml(rawHtml: string): Promise<void>;
|
|
46
18
|
export declare const useTemplatePreparation: () => {
|
|
47
19
|
prepareTemplateDetails: () => Promise<Omit<SavedTemplateDetails, "metadata">>;
|
|
48
|
-
hydrateRecommendationStore: typeof hydrateRecommendationStoreFromRawHtml;
|
|
49
20
|
};
|
|
50
|
-
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const
|
|
1
|
+
const r = `.patch-session-container {
|
|
2
2
|
row-gap: 16px;
|
|
3
3
|
}
|
|
4
4
|
|
|
@@ -28,11 +28,7 @@ ue-vh-patch.selected .patch-wrapper {
|
|
|
28
28
|
.change-history-panel-wrapper .control-panel-header {
|
|
29
29
|
padding: 16px 0 16px 16px;
|
|
30
30
|
}
|
|
31
|
-
|
|
32
|
-
.change-history-panel-wrapper .header-control-panel-label {
|
|
33
|
-
grid-area: 1 / 1 / 2 / 12;
|
|
34
|
-
}
|
|
35
31
|
`;
|
|
36
32
|
export {
|
|
37
|
-
|
|
33
|
+
r as default
|
|
38
34
|
};
|