@useinsider/guido 2.1.0-beta.7ffef92 → 2.1.0-beta.84a7014

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 (64) hide show
  1. package/README.md +41 -2
  2. package/dist/@types/config/schemas.js +1 -1
  3. package/dist/components/Guido.vue.js +1 -1
  4. package/dist/components/Guido.vue2.js +66 -66
  5. package/dist/components/organisms/extensions/recommendation/FilterItem.vue.js +13 -11
  6. package/dist/components/organisms/extensions/recommendation/FilterItem.vue2.js +24 -55
  7. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.js +3 -3
  8. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +21 -34
  9. package/dist/components/organisms/extensions/recommendation/Filters.vue.js +9 -9
  10. package/dist/components/organisms/extensions/recommendation/Filters.vue2.js +35 -44
  11. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue.js +1 -1
  12. package/dist/components/organisms/unsubscribe/UnsubscribePageSelection.vue2.js +19 -19
  13. package/dist/composables/useSave.js +16 -12
  14. package/dist/composables/useStripo.js +63 -57
  15. package/dist/composables/useStripoEventHandler.js +27 -12
  16. package/dist/composables/useSyncModuleExtractor.js +45 -0
  17. package/dist/composables/useVersionHistoryApi.js +1 -1
  18. package/dist/config/i18n/en/index.js +11 -0
  19. package/dist/config/i18n/en/labels.json.js +7 -0
  20. package/dist/config/i18n/en/toasters.json.js +56 -0
  21. package/dist/config/i18n/en/tooltips.json.js +82 -0
  22. package/dist/config/i18n/index.js +7 -0
  23. package/dist/config/migrator/itemsBlockMigrator.js +65 -64
  24. package/dist/enums/unsubscribe.js +25 -21
  25. package/dist/extensions/Blocks/Recommendation/controls/main/index.js +39 -58
  26. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +57 -93
  27. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +8 -8
  28. package/dist/extensions/Blocks/Unsubscribe/block.js +29 -29
  29. package/dist/extensions/Blocks/Unsubscribe/control.js +12 -9
  30. package/dist/extensions/Blocks/Unsubscribe/elements/preview.js +13 -11
  31. package/dist/extensions/Blocks/Unsubscribe/styles.css.js +31 -1
  32. package/dist/guido.css +1 -1
  33. package/dist/services/stripoApi.js +55 -19
  34. package/dist/src/@types/config/schemas.d.ts +1 -1
  35. package/dist/src/@types/events.d.ts +38 -2
  36. package/dist/src/components/Guido.vue.d.ts +2 -2
  37. package/dist/src/components/organisms/extensions/recommendation/FilterItem.vue.d.ts +0 -1
  38. package/dist/src/components/organisms/extensions/recommendation/Filters.vue.d.ts +1 -15
  39. package/dist/src/components/organisms/header/EditorActions.vue.d.ts +1 -1
  40. package/dist/src/components/organisms/header/HeaderWrapper.vue.d.ts +1 -1
  41. package/dist/src/components/organisms/header/RightSlot.vue.d.ts +1 -1
  42. package/dist/src/composables/useGuidoActions.d.ts +1 -1
  43. package/dist/src/composables/useSave.d.ts +2 -2
  44. package/dist/src/composables/useStripo.d.ts +2 -2
  45. package/dist/src/composables/useSyncModuleExtractor.d.ts +4 -0
  46. package/dist/src/config/i18n/en/index.d.ts +1 -0
  47. package/dist/src/config/i18n/index.d.ts +16 -0
  48. package/dist/src/enums/unsubscribe.d.ts +3 -0
  49. package/dist/src/extensions/Blocks/Recommendation/controls/main/index.d.ts +0 -5
  50. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +2 -18
  51. package/dist/src/extensions/Blocks/Unsubscribe/control.d.ts +1 -0
  52. package/dist/src/mock/api/settings.d.ts +2 -0
  53. package/dist/src/services/stripoApi.d.ts +5 -0
  54. package/dist/src/stores/editor.d.ts +23 -0
  55. package/dist/src/utils/templatePreparation.d.ts +1 -1
  56. package/dist/static/styles/components/notification.css.js +18 -0
  57. package/dist/static/styles/components/tools.css.js +6 -2
  58. package/dist/static/styles/variables.css.js +2 -0
  59. package/dist/stores/editor.js +2 -1
  60. package/dist/stores/unsubscribe.js +37 -34
  61. package/dist/utils/templatePreparation.js +1 -1
  62. package/package.json +1 -1
  63. package/dist/extensions/Blocks/Recommendation/validation/filterSchema.js +0 -29
  64. package/dist/src/extensions/Blocks/Recommendation/validation/filterSchema.d.ts +0 -15
@@ -1,47 +1,83 @@
1
- import { useHttp as l } from "../composables/useHttp.js";
2
- import { useToaster as u } from "../composables/useToaster.js";
3
- import { MAX_DEFAULT_TEMPLATE_ID as d } from "../enums/defaults.js";
4
- import f from "../static/templates/empty/index.html.js";
5
- import g from "../static/templates/empty/style.css.js";
6
- const D = () => {
7
- const { get: o } = l(), { handleError: a } = u();
1
+ import { useHttp as d } from "../composables/useHttp.js";
2
+ import { useToaster as m } from "../composables/useToaster.js";
3
+ import { MAX_DEFAULT_TEMPLATE_ID as y } from "../enums/defaults.js";
4
+ import g from "../static/templates/empty/index.html.js";
5
+ import f from "../static/templates/empty/style.css.js";
6
+ const E = () => {
7
+ const { get: s, post: c } = d(), { handleError: r } = m();
8
8
  return {
9
9
  getToken: async () => {
10
10
  try {
11
- const t = Number(localStorage.getItem("ins-guido-test-instance")), { data: e } = await o(`/stripo/get-user-token?test=${t}`);
11
+ const t = Number(localStorage.getItem("ins-guido-test-instance")), { data: e } = await s(`/stripo/get-user-token?test=${t}`);
12
12
  return e.body.token;
13
13
  } catch (t) {
14
- return a(t, "Failed to fetch token"), "";
14
+ return r(t, "Failed to fetch token"), "";
15
15
  }
16
16
  },
17
17
  getCustomFonts: async () => {
18
18
  try {
19
- const { data: t = [] } = await o("/stripo/get-partner-custom-fonts");
19
+ const { data: t = [] } = await s("/stripo/get-partner-custom-fonts");
20
20
  return t.map((e) => ({
21
21
  ...e,
22
22
  active: !0
23
23
  }));
24
24
  } catch (t) {
25
- return a(t, "Failed to fetch custom fonts"), [];
25
+ return r(t, "Failed to fetch custom fonts"), [];
26
26
  }
27
27
  },
28
28
  getDefaultTemplate: async () => {
29
29
  const t = {
30
- html: f,
31
- css: g
30
+ html: g,
31
+ css: f
32
32
  };
33
33
  try {
34
- const e = new URLSearchParams(window.location.search), c = e.get("default-template"), p = e.get("master"), s = c ? parseInt(c) : 0, m = s >= 1 && s <= d ? s : 0;
35
- if (!m && !p)
34
+ const e = new URLSearchParams(window.location.search), u = e.get("default-template"), l = e.get("master"), a = u ? parseInt(u) : 0, i = a >= 1 && a <= y ? a : 0;
35
+ if (!i && !l)
36
36
  return t;
37
- const i = `/stripo/default-template/${m}`, { data: n } = await o(i), r = typeof n == "string" ? JSON.parse(n) : n;
38
- return !r || typeof r != "object" || !("html" in r) || !("css" in r) ? t : r;
37
+ const p = `/stripo/default-template/${i}`, { data: n } = await s(p), o = typeof n == "string" ? JSON.parse(n) : n;
38
+ return !o || typeof o != "object" || !("html" in o) || !("css" in o) ? t : o;
39
39
  } catch (e) {
40
- return a(e, "Failed to fetch default template"), t;
40
+ return r(e, "Failed to fetch default template"), t;
41
+ }
42
+ },
43
+ getSyncModulesStatus: async () => {
44
+ try {
45
+ const { data: t } = await s("/newsletter/settings/synchronisation-in-modules-status");
46
+ return t.status;
47
+ } catch (t) {
48
+ return r(t, "Failed to fetch sync modules status"), !1;
49
+ }
50
+ },
51
+ updateSyncModule: async (t) => {
52
+ try {
53
+ return await c(`/stripo/stripo-modules/${t.moduleId}/update`), !0;
54
+ } catch (e) {
55
+ return r(e, "Failed to update sync module"), !1;
56
+ }
57
+ },
58
+ getSyncModule: async (t) => {
59
+ try {
60
+ const { data: e } = await s(`/stripo/stripo-modules/${t}/get`);
61
+ return e;
62
+ } catch (e) {
63
+ return r(e, "Failed to get sync module"), {
64
+ id: 0,
65
+ stripoId: 0,
66
+ unsubscriptionPreferencePages: []
67
+ };
68
+ }
69
+ },
70
+ setSyncModuleUnsubscriptionPages: async (t) => {
71
+ if (t.length === 0)
72
+ return !0;
73
+ try {
74
+ return await c("/stripo/stripo-modules/set-unsubscription-preference-pages", t), !0;
75
+ } catch (e) {
76
+ return r(e, "Failed to set unsubscription preference pages"), !1;
41
77
  }
42
78
  }
43
79
  };
44
80
  };
45
81
  export {
46
- D as useStripoApi
82
+ E as useStripoApi
47
83
  };
@@ -12,7 +12,7 @@ import * as v from 'valibot';
12
12
  * @param data - The template details to validate
13
13
  * @returns Promise<boolean> - true if valid, false to cancel save
14
14
  */
15
- export type ExternalValidationHandler = (data: SavedTemplateDetails) => Promise<boolean>;
15
+ export type ExternalValidationHandler = (data: Omit<SavedTemplateDetails, 'metadata'>) => Promise<boolean>;
16
16
  /**
17
17
  * Message type constants for email templates
18
18
  */
@@ -1,6 +1,42 @@
1
- export type StripoEventType = 'save' | 'export' | 'close' | 'autosave' | 'publish' | 'export:requested' | 'export:ready';
1
+ export type StripoEventType = 'save' | 'export' | 'close' | 'autosave' | 'publish' | 'export:requested' | 'export:ready' | 'module_updated' | 'module_dropped';
2
+ export interface ModuleUpdatedParams {
3
+ target: string;
4
+ blockType: string;
5
+ moduleId: number;
6
+ moduleCategory: string | null;
7
+ syncModule: boolean;
8
+ }
9
+ export interface ModuleDroppedParams {
10
+ target: string;
11
+ blockType: string;
12
+ moduleId: number;
13
+ syncModule: boolean;
14
+ }
15
+ export interface SyncModuleUnsubscribePayload {
16
+ stripoModuleId: string;
17
+ unsubscriptionPreferencePages: number[];
18
+ type: string;
19
+ }
20
+ export interface SyncModuleExtractResult {
21
+ unsubscribePayload: SyncModuleUnsubscribePayload[];
22
+ stripoModules: number[];
23
+ }
24
+ export interface SyncModuleResponse {
25
+ id: number;
26
+ stripoId: number;
27
+ unsubscriptionPreferencePages: UnsubscriptionPreferencePage[];
28
+ }
29
+ export interface UnsubscriptionPreferencePage {
30
+ id: number;
31
+ name: string;
32
+ type: number;
33
+ status: number;
34
+ isVisible: number;
35
+ thumbnail: string;
36
+ createdAt: string;
37
+ }
2
38
  export interface EventHandler {
3
- (params: Record<string, string>): void | Promise<void>;
39
+ (params: Record<string, unknown>): void | Promise<void>;
4
40
  }
5
41
  export interface EventHandlers {
6
42
  [eventType: string]: EventHandler;
@@ -11,7 +11,7 @@ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__
11
11
  close: () => void;
12
12
  };
13
13
  hasChanges: import("vue").ComputedRef<boolean>;
14
- saveSilent: () => Promise<SavedTemplateDetails | undefined> | undefined;
14
+ saveSilent: () => Promise<Omit<SavedTemplateDetails, "metadata"> | undefined> | undefined;
15
15
  }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {
16
16
  "dynamic-content:open": (detail: {
17
17
  text: string;
@@ -24,7 +24,7 @@ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__
24
24
  } | null, position?: PositionData | undefined) => void;
25
25
  back: () => void;
26
26
  "save:start": () => void;
27
- "save:complete": (data: Omit<SavedTemplateDetails, "forceRecreate">) => void;
27
+ "save:complete": (data: SavedTemplateDetails) => void;
28
28
  "on-change": (hasChanges: boolean) => void;
29
29
  ready: () => void;
30
30
  "onboarding:finished": () => void;
@@ -3,7 +3,6 @@ type __VLS_Props = {
3
3
  filter: Filter;
4
4
  index: number;
5
5
  hasLogicAdapter?: boolean;
6
- submitted: boolean;
7
6
  };
8
7
  declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__VLS_Props>, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {
9
8
  "delete-filter": (filter: Filter) => void;
@@ -1,16 +1,2 @@
1
- type __VLS_Props = {
2
- submitted: boolean;
3
- };
4
- declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__VLS_Props>, {
5
- switchToGroup: (groupId: number) => void;
6
- }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>>, {}>;
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
7
2
  export default _default;
8
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
9
- type __VLS_TypePropsToOption<T> = {
10
- [K in keyof T]-?: {} extends Pick<T, K> ? {
11
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
12
- } : {
13
- type: import('vue').PropType<T[K]>;
14
- required: true;
15
- };
16
- };
@@ -1,4 +1,4 @@
1
1
  declare const _default: import("vue").DefineComponent<{}, {
2
- handleSave: (isSilent: boolean) => Promise<import("../../../@types/stripo").SavedTemplateDetails | undefined>;
2
+ handleSave: (isSilent: boolean) => Promise<Omit<import("../../../@types/stripo").SavedTemplateDetails, "metadata"> | undefined>;
3
3
  }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
4
4
  export default _default;
@@ -1,4 +1,4 @@
1
1
  declare const _default: import("vue").DefineComponent<{}, {
2
- handleSave: (isSilent: boolean) => Promise<import("../../../@types/stripo.js").SavedTemplateDetails | undefined> | undefined;
2
+ handleSave: (isSilent: boolean) => Promise<Omit<import("../../../@types/stripo.js").SavedTemplateDetails, "metadata"> | undefined> | undefined;
3
3
  }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
4
4
  export default _default;
@@ -1,4 +1,4 @@
1
1
  declare const _default: import("vue").DefineComponent<{}, {
2
- handleSave: (isSilent: boolean) => Promise<import("../../../@types/stripo.js").SavedTemplateDetails | undefined> | undefined;
2
+ handleSave: (isSilent: boolean) => Promise<Omit<import("../../../@types/stripo.js").SavedTemplateDetails, "metadata"> | undefined> | undefined;
3
3
  }, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
4
4
  export default _default;
@@ -2,7 +2,7 @@ import type { SavedTemplateDetails } from '@@/Types/stripo';
2
2
  import type { InjectionKey } from 'vue';
3
3
  export type BackHandler = () => void;
4
4
  export type SaveStartHandler = () => void;
5
- export type SaveCompleteHandler = (template: Omit<SavedTemplateDetails, 'forceRecreate'>) => void;
5
+ export type SaveCompleteHandler = (template: Omit<SavedTemplateDetails, 'metadata'>) => void;
6
6
  export type TestEmailClickHandler = () => void;
7
7
  export declare const BACK_KEY: InjectionKey<BackHandler>;
8
8
  export declare const SAVE_START_KEY: InjectionKey<SaveStartHandler>;
@@ -1,4 +1,4 @@
1
- import { SavedTemplateDetails } from '@@/Types/stripo';
1
+ import type { SavedTemplateDetails } from '@@/Types/stripo';
2
2
  export declare const useSave: () => {
3
- save: (isSilent?: boolean) => Promise<SavedTemplateDetails | undefined>;
3
+ save: (isSilent?: boolean) => Promise<Omit<SavedTemplateDetails, "metadata"> | undefined>;
4
4
  };
@@ -1,4 +1,4 @@
1
- import type { Metadata, Template } from '@@/Types/stripo';
2
- export declare const useStripo: (metadata: Metadata) => {
1
+ import type { Metadata, Options, Template } from '@@/Types/stripo';
2
+ export declare const useStripo: (metadata: Metadata, options: Options) => {
3
3
  initPlugin: (template: Template) => Promise<void>;
4
4
  };
@@ -0,0 +1,4 @@
1
+ import type { SyncModuleExtractResult } from '@@/Types/events';
2
+ export declare const useSyncModuleExtractor: () => {
3
+ extractSyncModuleData: (html: string) => SyncModuleExtractResult;
4
+ };
@@ -0,0 +1 @@
1
+ export declare const en: Record<string, string>;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Stripo Editor Translation Overrides
3
+ *
4
+ * Custom translations for Stripo editor UI elements.
5
+ * Each language has its own folder with categorized JSON files.
6
+ *
7
+ * Reference: https://email-static.useinsider.com/guido/{version}/assets/i18n/en.json
8
+ * @module config/i18n
9
+ */
10
+ /**
11
+ * Combined locale patch for Stripo editor initialization.
12
+ * Maps language codes to their translation overrides.
13
+ */
14
+ export declare const localePatch: {
15
+ en: Record<string, string>;
16
+ };
@@ -25,6 +25,9 @@ export declare const PAGE_TYPES: {
25
25
  SUBSCRIPTION_PREFERENCE_CONFIRMATION: number;
26
26
  RESUBSCRIBE: number;
27
27
  };
28
+ export declare const UNSUBSCRIBE_SYNC_MODULE_TYPES: {
29
+ [x: number]: string;
30
+ };
28
31
  export declare const TYPE_COLLECTIONS: {
29
32
  [x: number]: number[];
30
33
  };
@@ -76,9 +76,4 @@ export declare class RecommendationBlockControl extends CommonControl {
76
76
  * (e.g., fetchRecommendationCreateData setting preferred currency).
77
77
  */
78
78
  _listenStateUpdates(): void;
79
- /**
80
- * Persists the current filter state from Pinia store to the Stripo node config.
81
- * This ensures filters survive template save/reload cycles.
82
- */
83
- private _persistFiltersToNodeConfig;
84
79
  }
@@ -31,8 +31,6 @@ interface PerBlockState {
31
31
  filterGroup: number;
32
32
  /** Whether initial API data (filters, algorithms, products) has been fetched for this block */
33
33
  isInitialized: boolean;
34
- /** Snapshot of filters taken when the drawer opens, used to revert on cancel */
35
- filterSnapshot: Filter[] | null;
36
34
  }
37
35
  interface StoreState {
38
36
  recommendationCampaignUrls: Record<string, string>;
@@ -127,9 +125,7 @@ export declare const useRecommendationExtensionStore: import("pinia").StoreDefin
127
125
  configVersion: number;
128
126
  } & import("pinia").PiniaCustomStateProperties<StoreState>): number;
129
127
  hasFilters(): boolean;
130
- hasValidFilters(): boolean;
131
128
  getFilterGroupCount(): number;
132
- getUniqueFilterGroups(): number[];
133
129
  getActivePredictiveAlgorithms: (state: {
134
130
  recommendationCampaignUrls: Record<string, string>;
135
131
  activePredictiveAlgorithms: number[];
@@ -207,31 +203,19 @@ export declare const useRecommendationExtensionStore: import("pinia").StoreDefin
207
203
  patchCurrentBlockConfig(updates: Partial<PerBlockConfigs>, options?: {
208
204
  triggerRefetch?: boolean;
209
205
  }): void;
210
- /**
211
- * Creates a filter with the first available attribute and operator pre-selected.
212
- */
213
- createDefaultFilter(filterGroup: number, filterNumber: number): Filter;
214
206
  /**
215
207
  * Opens the filter selection drawer for the current block.
216
- * Saves a snapshot of current filters for cancel/revert.
217
- * If no filters exist, initializes with a default filter
208
+ * If no filters exist, initializes with a default empty filter
218
209
  * so the user has a starting point for input.
219
210
  */
220
211
  openFilterDrawer(): void;
221
212
  /**
222
- * Closes the filter selection drawer for the current block.
223
- * Called after successful apply — discards the snapshot.
213
+ * Closes the filter selection drawer for the current block
224
214
  */
225
215
  closeFilterDrawer(): void;
226
- /**
227
- * Cancels the filter selection drawer and reverts filters
228
- * to the snapshot taken when the drawer was opened.
229
- */
230
- cancelFilterDrawer(): void;
231
216
  fetchRecommendationCreateData(): Promise<void>;
232
217
  fetchRecommendationFilters(): Promise<void>;
233
218
  addFilterGroup(filterGroup: number): void;
234
- deleteFilterGroup(groupId: number): void;
235
219
  updateFilter(updatedFilter: Filter): void;
236
220
  deleteFilter(filter: Filter): void;
237
221
  addFilter(filter: Filter): void;
@@ -17,6 +17,7 @@ export declare class UnsubscribeControl extends Control {
17
17
  private _onButtonClick;
18
18
  private _onPrevClick;
19
19
  private _onNextClick;
20
+ private _loadAndUpdatePreview;
20
21
  private _updatePreview;
21
22
  private _updateCounter;
22
23
  private _getPreview;
@@ -0,0 +1,2 @@
1
+ declare const _default: import("msw").HttpHandler[];
2
+ export default _default;
@@ -1,3 +1,4 @@
1
+ import type { ModuleUpdatedParams, SyncModuleResponse, SyncModuleUnsubscribePayload } from '@@/Types/events';
1
2
  import type { CustomFont, Template } from '@@/Types/stripo';
2
3
  export declare const useStripoApi: () => {
3
4
  getToken: () => Promise<string>;
@@ -5,4 +6,8 @@ export declare const useStripoApi: () => {
5
6
  active: boolean;
6
7
  })[]>;
7
8
  getDefaultTemplate: () => Promise<Template>;
9
+ getSyncModulesStatus: () => Promise<boolean>;
10
+ updateSyncModule: (params: ModuleUpdatedParams) => Promise<boolean>;
11
+ getSyncModule: (moduleId: number) => Promise<SyncModuleResponse>;
12
+ setSyncModuleUnsubscriptionPages: (payload: SyncModuleUnsubscribePayload[]) => Promise<boolean>;
8
13
  };
@@ -8,6 +8,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
8
8
  hasChanges: boolean;
9
9
  isStripoInitialized: boolean;
10
10
  templateId: string;
11
+ syncModulesEnabled: boolean;
11
12
  }, {
12
13
  isEditorToolbarVisible: (state: {
13
14
  loadingStatus: boolean;
@@ -19,6 +20,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
19
20
  hasChanges: boolean;
20
21
  isStripoInitialized: boolean;
21
22
  templateId: string;
23
+ syncModulesEnabled: boolean;
22
24
  } & import("pinia").PiniaCustomStateProperties<{
23
25
  loadingStatus: boolean;
24
26
  isCodeEditorOpen: boolean;
@@ -29,6 +31,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
29
31
  hasChanges: boolean;
30
32
  isStripoInitialized: boolean;
31
33
  templateId: string;
34
+ syncModulesEnabled: boolean;
32
35
  }>) => boolean;
33
36
  isUndoButtonDisabled: (state: {
34
37
  loadingStatus: boolean;
@@ -40,6 +43,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
40
43
  hasChanges: boolean;
41
44
  isStripoInitialized: boolean;
42
45
  templateId: string;
46
+ syncModulesEnabled: boolean;
43
47
  } & import("pinia").PiniaCustomStateProperties<{
44
48
  loadingStatus: boolean;
45
49
  isCodeEditorOpen: boolean;
@@ -50,6 +54,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
50
54
  hasChanges: boolean;
51
55
  isStripoInitialized: boolean;
52
56
  templateId: string;
57
+ syncModulesEnabled: boolean;
53
58
  }>) => boolean;
54
59
  isRedoButtonDisabled: (state: {
55
60
  loadingStatus: boolean;
@@ -61,6 +66,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
61
66
  hasChanges: boolean;
62
67
  isStripoInitialized: boolean;
63
68
  templateId: string;
69
+ syncModulesEnabled: boolean;
64
70
  } & import("pinia").PiniaCustomStateProperties<{
65
71
  loadingStatus: boolean;
66
72
  isCodeEditorOpen: boolean;
@@ -71,6 +77,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
71
77
  hasChanges: boolean;
72
78
  isStripoInitialized: boolean;
73
79
  templateId: string;
80
+ syncModulesEnabled: boolean;
74
81
  }>) => boolean;
75
82
  isCodeEditorButtonDisabled: (state: {
76
83
  loadingStatus: boolean;
@@ -82,6 +89,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
82
89
  hasChanges: boolean;
83
90
  isStripoInitialized: boolean;
84
91
  templateId: string;
92
+ syncModulesEnabled: boolean;
85
93
  } & import("pinia").PiniaCustomStateProperties<{
86
94
  loadingStatus: boolean;
87
95
  isCodeEditorOpen: boolean;
@@ -92,6 +100,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
92
100
  hasChanges: boolean;
93
101
  isStripoInitialized: boolean;
94
102
  templateId: string;
103
+ syncModulesEnabled: boolean;
95
104
  }>) => boolean;
96
105
  isPreviewButtonDisabled: (state: {
97
106
  loadingStatus: boolean;
@@ -103,6 +112,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
103
112
  hasChanges: boolean;
104
113
  isStripoInitialized: boolean;
105
114
  templateId: string;
115
+ syncModulesEnabled: boolean;
106
116
  } & import("pinia").PiniaCustomStateProperties<{
107
117
  loadingStatus: boolean;
108
118
  isCodeEditorOpen: boolean;
@@ -113,6 +123,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
113
123
  hasChanges: boolean;
114
124
  isStripoInitialized: boolean;
115
125
  templateId: string;
126
+ syncModulesEnabled: boolean;
116
127
  }>) => boolean;
117
128
  isViewOptionsDisabled: (state: {
118
129
  loadingStatus: boolean;
@@ -124,6 +135,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
124
135
  hasChanges: boolean;
125
136
  isStripoInitialized: boolean;
126
137
  templateId: string;
138
+ syncModulesEnabled: boolean;
127
139
  } & import("pinia").PiniaCustomStateProperties<{
128
140
  loadingStatus: boolean;
129
141
  isCodeEditorOpen: boolean;
@@ -134,6 +146,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
134
146
  hasChanges: boolean;
135
147
  isStripoInitialized: boolean;
136
148
  templateId: string;
149
+ syncModulesEnabled: boolean;
137
150
  }>) => boolean;
138
151
  isVersionHistoryButtonDisabled: (state: {
139
152
  loadingStatus: boolean;
@@ -145,6 +158,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
145
158
  hasChanges: boolean;
146
159
  isStripoInitialized: boolean;
147
160
  templateId: string;
161
+ syncModulesEnabled: boolean;
148
162
  } & import("pinia").PiniaCustomStateProperties<{
149
163
  loadingStatus: boolean;
150
164
  isCodeEditorOpen: boolean;
@@ -155,6 +169,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
155
169
  hasChanges: boolean;
156
170
  isStripoInitialized: boolean;
157
171
  templateId: string;
172
+ syncModulesEnabled: boolean;
158
173
  }>) => boolean;
159
174
  isExportButtonDisabled: (state: {
160
175
  loadingStatus: boolean;
@@ -166,6 +181,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
166
181
  hasChanges: boolean;
167
182
  isStripoInitialized: boolean;
168
183
  templateId: string;
184
+ syncModulesEnabled: boolean;
169
185
  } & import("pinia").PiniaCustomStateProperties<{
170
186
  loadingStatus: boolean;
171
187
  isCodeEditorOpen: boolean;
@@ -176,6 +192,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
176
192
  hasChanges: boolean;
177
193
  isStripoInitialized: boolean;
178
194
  templateId: string;
195
+ syncModulesEnabled: boolean;
179
196
  }>) => boolean;
180
197
  isSaveAsButtonDisabled: (state: {
181
198
  loadingStatus: boolean;
@@ -187,6 +204,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
187
204
  hasChanges: boolean;
188
205
  isStripoInitialized: boolean;
189
206
  templateId: string;
207
+ syncModulesEnabled: boolean;
190
208
  } & import("pinia").PiniaCustomStateProperties<{
191
209
  loadingStatus: boolean;
192
210
  isCodeEditorOpen: boolean;
@@ -197,6 +215,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
197
215
  hasChanges: boolean;
198
216
  isStripoInitialized: boolean;
199
217
  templateId: string;
218
+ syncModulesEnabled: boolean;
200
219
  }>) => boolean;
201
220
  isTestButtonDisabled: (state: {
202
221
  loadingStatus: boolean;
@@ -208,6 +227,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
208
227
  hasChanges: boolean;
209
228
  isStripoInitialized: boolean;
210
229
  templateId: string;
230
+ syncModulesEnabled: boolean;
211
231
  } & import("pinia").PiniaCustomStateProperties<{
212
232
  loadingStatus: boolean;
213
233
  isCodeEditorOpen: boolean;
@@ -218,6 +238,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
218
238
  hasChanges: boolean;
219
239
  isStripoInitialized: boolean;
220
240
  templateId: string;
241
+ syncModulesEnabled: boolean;
221
242
  }>) => boolean;
222
243
  isSaveButtonDisabled: (state: {
223
244
  loadingStatus: boolean;
@@ -229,6 +250,7 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
229
250
  hasChanges: boolean;
230
251
  isStripoInitialized: boolean;
231
252
  templateId: string;
253
+ syncModulesEnabled: boolean;
232
254
  } & import("pinia").PiniaCustomStateProperties<{
233
255
  loadingStatus: boolean;
234
256
  isCodeEditorOpen: boolean;
@@ -239,5 +261,6 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"guidoEdito
239
261
  hasChanges: boolean;
240
262
  isStripoInitialized: boolean;
241
263
  templateId: string;
264
+ syncModulesEnabled: boolean;
242
265
  }>) => boolean;
243
266
  }, {}>;
@@ -1,4 +1,4 @@
1
1
  import type { SavedTemplateDetails } from '@@/Types/stripo';
2
2
  export declare const useTemplatePreparation: () => {
3
- prepareTemplateDetails: () => Promise<SavedTemplateDetails>;
3
+ prepareTemplateDetails: () => Promise<Omit<SavedTemplateDetails, "metadata">>;
4
4
  };
@@ -17,6 +17,24 @@ ue-notifications-container .alert-message-wrapper {
17
17
  padding: 16px 24px;
18
18
  }
19
19
 
20
+ ue-notifications-container .alert-message-wrapper.info,
21
+ ue-notifications-container .alert-message-wrapper.loader {
22
+ background-color: var(--guido-color-background-toaster-info) !important;
23
+ color: inherit;
24
+ }
25
+
26
+ .alert-message-wrapper .alert-message-main {
27
+ align-items: center;
28
+ }
29
+
30
+ ue-notifications-container ue-caption .caption {
31
+ color: var(--guido-color-white) !important;
32
+ }
33
+
34
+ ue-block-thumb-hint {
35
+ text-align: left;
36
+ }
37
+
20
38
  ue-notifications-container .alert-message-wrapper .alert-message-main .alert-message-content {
21
39
  width: calc(100% - 64px);
22
40
  }
@@ -1,4 +1,4 @@
1
- const o = `ue-emoji .emoji-tabs .active-smile-tab {
1
+ const e = `ue-emoji .emoji-tabs .active-smile-tab {
2
2
  border-color: var(--guido-color-primary-500);
3
3
  }
4
4
 
@@ -17,7 +17,11 @@ ue-insert-table .template-cell {
17
17
  border: 1px solid var(--guido-color-gray-300);
18
18
  box-shadow: var(--guido-box-shadow);
19
19
  }
20
+
21
+ .ue-popover.dark-tiny {
22
+ text-align: left !important;
23
+ }
20
24
  `;
21
25
  export {
22
- o as default
26
+ e as default
23
27
  };
@@ -10,6 +10,7 @@ const o = `:host {
10
10
  --guido-color-gray-1: #F0F0F0;
11
11
  --guido-color-gray-0: #F9F9F9;
12
12
  --guido-color-neutral-800: #222938;
13
+ --guido-color-neutral-700: #2C3546;
13
14
  --guido-color-neutral-200: #DCDFE6;
14
15
  --guido-color-neutral-100: #EFF2F4;
15
16
  --guido-color-danger-300: #e84342;
@@ -25,6 +26,7 @@ const o = `:host {
25
26
  --guido-color-border-onpage-message-error: var(--guido-color-danger-500);
26
27
  --guido-color-background-toaster-success: #128745;
27
28
  --guido-color-background-toaster-error: var(--guido-color-danger-500);
29
+ --guido-color-background-toaster-info: var(--guido-color-neutral-700);
28
30
  --guido-color-background-toaster-warn: #D37400;
29
31
  }
30
32
  `;
@@ -9,7 +9,8 @@ const o = e("guidoEditor", {
9
9
  editorVisualMode: "desktop",
10
10
  hasChanges: !1,
11
11
  isStripoInitialized: !1,
12
- templateId: ""
12
+ templateId: "",
13
+ syncModulesEnabled: !1
13
14
  }),
14
15
  getters: {
15
16
  // Middle Slot