@useinsider/guido 1.0.3-beta.81b84f8 → 1.0.3-beta.830bb2b

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 (164) hide show
  1. package/README.md +3 -142
  2. package/dist/components/Guido.vue.js +9 -11
  3. package/dist/components/Guido.vue2.js +47 -51
  4. package/dist/components/organisms/header/LeftSlot.vue.js +1 -1
  5. package/dist/components/organisms/header/LeftSlot.vue2.js +15 -16
  6. package/dist/components/organisms/header/RightSlot.vue.js +11 -11
  7. package/dist/components/organisms/header/RightSlot.vue2.js +22 -23
  8. package/dist/components/organisms/onboarding/NewVersionPopup.vue.js +9 -9
  9. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +17 -30
  10. package/dist/components/organisms/onboarding/OnboardingWrapper.vue.js +10 -12
  11. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +18 -19
  12. package/dist/composables/useGuidoActions.js +9 -19
  13. package/dist/composables/useStripo.js +48 -39
  14. package/dist/config/compiler/unsubscribeCompilerRules.js +28 -33
  15. package/dist/config/migrator/index.js +6 -7
  16. package/dist/enums/defaults.js +8 -15
  17. package/dist/enums/onboarding.js +1 -2
  18. package/dist/enums/unsubscribe.js +25 -27
  19. package/dist/extensions/Blocks/Checkbox/extension.js +2 -2
  20. package/dist/extensions/Blocks/CouponBlock/extension.js +2 -2
  21. package/dist/extensions/Blocks/RadioButton/template.js +6 -6
  22. package/dist/guido.css +1 -1
  23. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +93 -311
  24. package/dist/package.json.js +1 -1
  25. package/dist/services/stripoApi.js +1 -1
  26. package/dist/src/@types/generic.d.ts +0 -19
  27. package/dist/src/components/Guido.vue.d.ts +0 -2
  28. package/dist/src/components/organisms/onboarding/NewVersionPopup.vue.d.ts +1 -3
  29. package/dist/src/components/organisms/onboarding/OnboardingWrapper.vue.d.ts +1 -3
  30. package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
  31. package/dist/src/composables/useGuidoActions.d.ts +0 -9
  32. package/dist/src/enums/onboarding.d.ts +0 -1
  33. package/dist/src/stores/config.d.ts +0 -7
  34. package/dist/src/stores/editor.d.ts +0 -21
  35. package/dist/src/utils/dateUtil.d.ts +0 -21
  36. package/dist/src/utils/genericUtil.d.ts +0 -1
  37. package/dist/static/styles/components/narrow-panel.css.js +0 -10
  38. package/dist/static/styles/customEditorStyle.css.js +0 -5
  39. package/dist/stores/editor.js +1 -2
  40. package/dist/utils/dateUtil.js +3 -24
  41. package/dist/utils/genericUtil.js +7 -8
  42. package/package.json +4 -4
  43. package/dist/components/organisms/extensions/recommendation/FilterItem.vue.js +0 -28
  44. package/dist/components/organisms/extensions/recommendation/FilterItem.vue2.js +0 -38
  45. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.js +0 -17
  46. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +0 -37
  47. package/dist/components/organisms/extensions/recommendation/Filters.vue.js +0 -20
  48. package/dist/components/organisms/extensions/recommendation/Filters.vue2.js +0 -44
  49. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue.js +0 -17
  50. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue2.js +0 -27
  51. package/dist/composables/useBlocksConfig.js +0 -49
  52. package/dist/config/migrator/recommendationMigrator.js +0 -293
  53. package/dist/enums/date.js +0 -6
  54. package/dist/enums/environment.js +0 -5
  55. package/dist/enums/extensions/recommendationBlock.js +0 -80
  56. package/dist/extensions/Blocks/Recommendation/block.js +0 -30
  57. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +0 -103
  58. package/dist/extensions/Blocks/Recommendation/constants.js +0 -5
  59. package/dist/extensions/Blocks/Recommendation/control.js +0 -306
  60. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +0 -13
  61. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +0 -13
  62. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +0 -13
  63. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +0 -13
  64. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +0 -13
  65. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +0 -13
  66. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +0 -13
  67. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +0 -13
  68. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +0 -13
  69. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +0 -13
  70. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +0 -13
  71. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +0 -13
  72. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +0 -13
  73. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +0 -13
  74. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +0 -13
  75. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +0 -13
  76. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +0 -13
  77. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +0 -13
  78. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +0 -13
  79. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +0 -13
  80. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +0 -13
  81. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +0 -13
  82. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +0 -13
  83. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +0 -13
  84. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +0 -13
  85. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +0 -13
  86. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +0 -13
  87. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +0 -13
  88. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +0 -13
  89. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +0 -13
  90. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +0 -13
  91. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +0 -13
  92. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +0 -13
  93. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +0 -13
  94. package/dist/extensions/Blocks/Recommendation/extension.js +0 -45
  95. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +0 -51
  96. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +0 -19
  97. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +0 -117
  98. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +0 -266
  99. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +0 -160
  100. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +0 -152
  101. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +0 -180
  102. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +0 -28
  103. package/dist/extensions/Blocks/common-control.js +0 -184
  104. package/dist/services/recommendationApi.js +0 -43
  105. package/dist/src/components/organisms/extensions/recommendation/FilterItem.vue.d.ts +0 -19
  106. package/dist/src/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.d.ts +0 -2
  107. package/dist/src/components/organisms/extensions/recommendation/Filters.vue.d.ts +0 -2
  108. package/dist/src/components/organisms/extensions/recommendation/LogicAdapter.vue.d.ts +0 -16
  109. package/dist/src/composables/useBlocksConfig.d.ts +0 -11
  110. package/dist/src/config/migrator/recommendationMigrator.d.ts +0 -1
  111. package/dist/src/enums/date.d.ts +0 -4
  112. package/dist/src/enums/environment.d.ts +0 -5
  113. package/dist/src/enums/extensions/recommendationBlock.d.ts +0 -16
  114. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +0 -11
  115. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +0 -28
  116. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +0 -51
  117. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +0 -35
  118. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +0 -5
  119. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +0 -5
  120. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +0 -5
  121. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +0 -5
  122. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +0 -5
  123. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +0 -5
  124. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +0 -5
  125. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +0 -5
  126. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +0 -5
  127. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +0 -5
  128. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +0 -5
  129. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +0 -5
  130. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +0 -5
  131. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +0 -5
  132. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +0 -5
  133. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +0 -5
  134. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +0 -5
  135. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +0 -5
  136. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +0 -5
  137. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +0 -5
  138. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +0 -5
  139. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +0 -5
  140. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +0 -5
  141. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +0 -5
  142. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +0 -5
  143. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +0 -5
  144. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +0 -5
  145. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +0 -5
  146. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +0 -5
  147. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +0 -5
  148. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +0 -5
  149. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +0 -5
  150. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +0 -5
  151. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +0 -5
  152. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +0 -2
  153. package/dist/src/extensions/Blocks/Recommendation/iconsRegistry.d.ts +0 -4
  154. package/dist/src/extensions/Blocks/Recommendation/settingsPanel.d.ts +0 -4
  155. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +0 -555
  156. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +0 -16
  157. package/dist/src/extensions/Blocks/Recommendation/templates/migrationTemplate.d.ts +0 -16
  158. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +0 -44
  159. package/dist/src/extensions/Blocks/Recommendation/utils/filterUtil.d.ts +0 -7
  160. package/dist/src/extensions/Blocks/common-control.d.ts +0 -87
  161. package/dist/src/mock/api/recommendation.d.ts +0 -2
  162. package/dist/src/services/recommendationApi.d.ts +0 -6
  163. package/dist/src/utils/environmentUtil.d.ts +0 -8
  164. package/dist/utils/environmentUtil.js +0 -6
@@ -6,31 +6,21 @@ type Features = {
6
6
  dynamicContent?: boolean;
7
7
  saveAsTemplate?: boolean;
8
8
  versionHistory?: boolean;
9
- testMessage?: boolean;
10
9
  };
11
10
  type Partner = {
12
11
  partnerName: string;
13
12
  productType: number;
14
13
  messageType: number;
15
14
  };
16
- export type GuidoBlockType = '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';
17
- export type GuidoCustomBlockType = 'dynamic-content' | 'checkbox-block' | 'radio-button-block' | 'recommendation-block' | 'unsubscribe-block' | 'coupon-block' | 'items-block';
18
- type BlocksConfig = {
19
- excludeDefaults?: GuidoBlockType[];
20
- includeCustoms?: GuidoCustomBlockType[];
21
- };
22
15
  export type GuidoConfig = {
23
16
  translationsPath: string;
24
17
  htmlCompilerRules?: CompilerRule[];
25
18
  ignoreDefaultHtmlCompilerRules?: boolean;
26
19
  useHeader?: boolean;
27
20
  emailHeader: EmailHeader;
28
- migrationDate: number;
29
21
  partner?: Partner;
30
22
  extensions?: Extensions;
31
23
  features?: Features;
32
- blocks?: BlocksConfig;
33
- backButtonLabel?: string;
34
24
  };
35
25
  export type TemplateConfig = {
36
26
  preselectedDynamicContentList?: DynamicContent[];
@@ -65,13 +55,4 @@ export type MergeTag = {
65
55
  label: string;
66
56
  value: string;
67
57
  };
68
- export type TextValueObject = {
69
- text: string;
70
- value: string;
71
- };
72
- export interface L10n {
73
- locale?: string;
74
- timezone?: string;
75
- time?: number;
76
- }
77
58
  export {};
@@ -26,8 +26,6 @@ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToOption<__
26
26
  "save:complete": (data: Omit<SavedTemplateDetails, "forceRecreate">) => void;
27
27
  "on-change": (hasChanges: boolean) => void;
28
28
  ready: () => void;
29
- "onboarding:finished": () => void;
30
- "test-email:click": () => void;
31
29
  }, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>>, {}>;
32
30
  export default _default;
33
31
  type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
@@ -1,4 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {
2
- "onboarding-finished": () => void;
3
- }, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
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<{}>>, {}>;
4
2
  export default _default;
@@ -1,4 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue/types/v3-component-options.js").ComponentOptionsMixin, import("vue/types/v3-component-options.js").ComponentOptionsMixin, {
2
- "onboarding-finished": () => void;
3
- }, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
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<{}>>, {}>;
4
2
  export default _default;
@@ -32,8 +32,8 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_WithDefaults<
32
32
  closeOnOutsideClick: boolean;
33
33
  footerStatus: boolean;
34
34
  }>>>, {
35
- size: "small" | "medium" | "large";
36
35
  description: string;
36
+ size: "small" | "medium" | "large";
37
37
  closeOnOutsideClick: boolean;
38
38
  footerButtonOptions: FooterButtonGroup;
39
39
  closeButtonStatus: boolean;
@@ -3,11 +3,9 @@ import type { InjectionKey } from 'vue';
3
3
  export type BackHandler = () => void;
4
4
  export type SaveStartHandler = () => void;
5
5
  export type SaveCompleteHandler = (template: Omit<SavedTemplateDetails, 'forceRecreate'>) => void;
6
- export type TestEmailClickHandler = () => void;
7
6
  export declare const BACK_KEY: InjectionKey<BackHandler>;
8
7
  export declare const SAVE_START_KEY: InjectionKey<SaveStartHandler>;
9
8
  export declare const SAVE_COMPLETE_KEY: InjectionKey<SaveCompleteHandler>;
10
- export declare const TEST_EMAIL_CLICK_KEY: InjectionKey<TestEmailClickHandler>;
11
9
  /**
12
10
  * Provides Guido action handlers to child components
13
11
  */
@@ -15,7 +13,6 @@ export declare const provideGuidoActions: (actions: {
15
13
  onBack: BackHandler;
16
14
  onSaveStart: SaveStartHandler;
17
15
  onSaveComplete: SaveCompleteHandler;
18
- onTestEmailClick: TestEmailClickHandler;
19
16
  }) => void;
20
17
  /**
21
18
  * Provides individual Guido action handlers
@@ -38,11 +35,6 @@ export declare const useSaveStart: () => SaveStartHandler;
38
35
  * @returns Save complete function
39
36
  */
40
37
  export declare const useSaveComplete: () => SaveCompleteHandler;
41
- /**
42
- * Hook to use the test email click handler
43
- * @returns Test email click function
44
- */
45
- export declare const useTestEmailClick: () => TestEmailClickHandler;
46
38
  /**
47
39
  * Convenience hook to get all Guido actions
48
40
  * @returns Object containing all action handlers
@@ -51,5 +43,4 @@ export declare const useGuidoActions: () => {
51
43
  back: BackHandler;
52
44
  saveStart: SaveStartHandler;
53
45
  saveComplete: SaveCompleteHandler;
54
- testEmailClick: TestEmailClickHandler;
55
46
  };
@@ -1,2 +1 @@
1
1
  export declare const SERVICE_HOVER_SELECTORS: string[];
2
- export declare const ACADEMY_LINK = "https://academy.useinsider.com/docs/email-drag-drop-editor";
@@ -64,7 +64,6 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"config", S
64
64
  senderName: string;
65
65
  subject: string;
66
66
  };
67
- migrationDate: number;
68
67
  partner?: {
69
68
  partnerName: string;
70
69
  productType: number;
@@ -77,13 +76,7 @@ export declare const useConfigStore: import("pinia").StoreDefinition<"config", S
77
76
  dynamicContent?: boolean | undefined;
78
77
  saveAsTemplate?: boolean | undefined;
79
78
  versionHistory?: boolean | undefined;
80
- testMessage?: boolean | undefined;
81
79
  } | undefined;
82
- blocks?: {
83
- excludeDefaults?: import("@@/Types/generic").GuidoBlockType[] | undefined;
84
- includeCustoms?: import("@@/Types/generic").GuidoCustomBlockType[] | undefined;
85
- } | undefined;
86
- backButtonLabel?: string | undefined;
87
80
  };
88
81
  templateConfig?: {
89
82
  preselectedDynamicContentList?: {
@@ -7,7 +7,6 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"editor", {
7
7
  editorVisualMode: string;
8
8
  hasChanges: boolean;
9
9
  isStripoInitialized: boolean;
10
- templateId: string;
11
10
  }, {
12
11
  isUndoButtonDisabled: (state: {
13
12
  loadingStatus: boolean;
@@ -18,7 +17,6 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"editor", {
18
17
  editorVisualMode: string;
19
18
  hasChanges: boolean;
20
19
  isStripoInitialized: boolean;
21
- templateId: string;
22
20
  } & import("pinia").PiniaCustomStateProperties<{
23
21
  loadingStatus: boolean;
24
22
  isCodeEditorOpen: boolean;
@@ -28,7 +26,6 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"editor", {
28
26
  editorVisualMode: string;
29
27
  hasChanges: boolean;
30
28
  isStripoInitialized: boolean;
31
- templateId: string;
32
29
  }>) => boolean;
33
30
  isRedoButtonDisabled: (state: {
34
31
  loadingStatus: boolean;
@@ -39,7 +36,6 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"editor", {
39
36
  editorVisualMode: string;
40
37
  hasChanges: boolean;
41
38
  isStripoInitialized: boolean;
42
- templateId: string;
43
39
  } & import("pinia").PiniaCustomStateProperties<{
44
40
  loadingStatus: boolean;
45
41
  isCodeEditorOpen: boolean;
@@ -49,7 +45,6 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"editor", {
49
45
  editorVisualMode: string;
50
46
  hasChanges: boolean;
51
47
  isStripoInitialized: boolean;
52
- templateId: string;
53
48
  }>) => boolean;
54
49
  isCodeEditorButtonDisabled: (state: {
55
50
  loadingStatus: boolean;
@@ -60,7 +55,6 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"editor", {
60
55
  editorVisualMode: string;
61
56
  hasChanges: boolean;
62
57
  isStripoInitialized: boolean;
63
- templateId: string;
64
58
  } & import("pinia").PiniaCustomStateProperties<{
65
59
  loadingStatus: boolean;
66
60
  isCodeEditorOpen: boolean;
@@ -70,7 +64,6 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"editor", {
70
64
  editorVisualMode: string;
71
65
  hasChanges: boolean;
72
66
  isStripoInitialized: boolean;
73
- templateId: string;
74
67
  }>) => boolean;
75
68
  isPreviewButtonDisabled: (state: {
76
69
  loadingStatus: boolean;
@@ -81,7 +74,6 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"editor", {
81
74
  editorVisualMode: string;
82
75
  hasChanges: boolean;
83
76
  isStripoInitialized: boolean;
84
- templateId: string;
85
77
  } & import("pinia").PiniaCustomStateProperties<{
86
78
  loadingStatus: boolean;
87
79
  isCodeEditorOpen: boolean;
@@ -91,7 +83,6 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"editor", {
91
83
  editorVisualMode: string;
92
84
  hasChanges: boolean;
93
85
  isStripoInitialized: boolean;
94
- templateId: string;
95
86
  }>) => boolean;
96
87
  isViewOptionsDisabled: (state: {
97
88
  loadingStatus: boolean;
@@ -102,7 +93,6 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"editor", {
102
93
  editorVisualMode: string;
103
94
  hasChanges: boolean;
104
95
  isStripoInitialized: boolean;
105
- templateId: string;
106
96
  } & import("pinia").PiniaCustomStateProperties<{
107
97
  loadingStatus: boolean;
108
98
  isCodeEditorOpen: boolean;
@@ -112,7 +102,6 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"editor", {
112
102
  editorVisualMode: string;
113
103
  hasChanges: boolean;
114
104
  isStripoInitialized: boolean;
115
- templateId: string;
116
105
  }>) => boolean;
117
106
  isVersionHistoryButtonDisabled: (state: {
118
107
  loadingStatus: boolean;
@@ -123,7 +112,6 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"editor", {
123
112
  editorVisualMode: string;
124
113
  hasChanges: boolean;
125
114
  isStripoInitialized: boolean;
126
- templateId: string;
127
115
  } & import("pinia").PiniaCustomStateProperties<{
128
116
  loadingStatus: boolean;
129
117
  isCodeEditorOpen: boolean;
@@ -133,7 +121,6 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"editor", {
133
121
  editorVisualMode: string;
134
122
  hasChanges: boolean;
135
123
  isStripoInitialized: boolean;
136
- templateId: string;
137
124
  }>) => boolean;
138
125
  isExportButtonDisabled: (state: {
139
126
  loadingStatus: boolean;
@@ -144,7 +131,6 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"editor", {
144
131
  editorVisualMode: string;
145
132
  hasChanges: boolean;
146
133
  isStripoInitialized: boolean;
147
- templateId: string;
148
134
  } & import("pinia").PiniaCustomStateProperties<{
149
135
  loadingStatus: boolean;
150
136
  isCodeEditorOpen: boolean;
@@ -154,7 +140,6 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"editor", {
154
140
  editorVisualMode: string;
155
141
  hasChanges: boolean;
156
142
  isStripoInitialized: boolean;
157
- templateId: string;
158
143
  }>) => boolean;
159
144
  isSaveAsButtonDisabled: (state: {
160
145
  loadingStatus: boolean;
@@ -165,7 +150,6 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"editor", {
165
150
  editorVisualMode: string;
166
151
  hasChanges: boolean;
167
152
  isStripoInitialized: boolean;
168
- templateId: string;
169
153
  } & import("pinia").PiniaCustomStateProperties<{
170
154
  loadingStatus: boolean;
171
155
  isCodeEditorOpen: boolean;
@@ -175,7 +159,6 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"editor", {
175
159
  editorVisualMode: string;
176
160
  hasChanges: boolean;
177
161
  isStripoInitialized: boolean;
178
- templateId: string;
179
162
  }>) => boolean;
180
163
  isTestButtonDisabled: (state: {
181
164
  loadingStatus: boolean;
@@ -186,7 +169,6 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"editor", {
186
169
  editorVisualMode: string;
187
170
  hasChanges: boolean;
188
171
  isStripoInitialized: boolean;
189
- templateId: string;
190
172
  } & import("pinia").PiniaCustomStateProperties<{
191
173
  loadingStatus: boolean;
192
174
  isCodeEditorOpen: boolean;
@@ -196,7 +178,6 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"editor", {
196
178
  editorVisualMode: string;
197
179
  hasChanges: boolean;
198
180
  isStripoInitialized: boolean;
199
- templateId: string;
200
181
  }>) => boolean;
201
182
  isSaveButtonDisabled: (state: {
202
183
  loadingStatus: boolean;
@@ -207,7 +188,6 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"editor", {
207
188
  editorVisualMode: string;
208
189
  hasChanges: boolean;
209
190
  isStripoInitialized: boolean;
210
- templateId: string;
211
191
  } & import("pinia").PiniaCustomStateProperties<{
212
192
  loadingStatus: boolean;
213
193
  isCodeEditorOpen: boolean;
@@ -217,6 +197,5 @@ export declare const useEditorStore: import("pinia").StoreDefinition<"editor", {
217
197
  editorVisualMode: string;
218
198
  hasChanges: boolean;
219
199
  isStripoInitialized: boolean;
220
- templateId: string;
221
200
  }>) => boolean;
222
201
  }, {}>;
@@ -1,22 +1 @@
1
- /**
2
- * Locale List:
3
- * en-US -> MM/DD/YYYY
4
- * en-GB -> DD/MM/YYYY
5
- * tr-TR -> DD.MM.YYYY
6
- */
7
- export declare const convertToDateObject: (date: string | number | Date | null | undefined) => Date;
8
- export declare const locale: () => string;
9
- export declare const localTz: string;
10
- export declare const timezone: () => string;
11
- export declare const hour12: () => boolean;
12
- export declare const dateFormat: () => string;
13
- /**
14
- * @example 04/22/2024
15
- * @param date - The date or timestamp input
16
- * @param specificLocale - Locale to use for formatting
17
- * @param tz - Timezone [window.l10n.timezone]
18
- * @returns Formatted date string
19
- */
20
- export declare const formatShortDate: (date: string | number | Date, specificLocale?: string, tz?: string) => string;
21
1
  export declare const formatPatchDate: (timestamp: number) => string;
22
- export declare const isAfterDate: (timestamp: number) => boolean;
@@ -6,4 +6,3 @@ export declare const getCsrfToken: () => string;
6
6
  */
7
7
  export declare const getUrlParams: () => URLSearchParams;
8
8
  export declare const getUrlParam: (paramName: string, defaultValue?: string) => string;
9
- export declare const replaceString: (string?: string, values?: Record<string, string | number>, isRemoveEmptyValues?: boolean) => string;
@@ -32,16 +32,6 @@ ue-stripe-thumb:hover:not(.disabled),
32
32
  padding: 0 16px 16px;
33
33
  grid-row-gap: 16px;
34
34
  }
35
-
36
- /* TODO: will be removed after we find another way to hide stripo custom modules */
37
- #moduleTab_tab1,
38
- button[aria-label="Default Modules"],
39
- button[aria-controls="moduleTab_tab1_content"],
40
- #moduleTab_tab2,
41
- button[aria-label="Pre-Built AMP"],
42
- button[aria-controls="moduleTab_tab2_content"] {
43
- display: none !important;
44
- }
45
35
  `;
46
36
  export {
47
37
  o as default
@@ -18,11 +18,6 @@ const n = `.esd-x,
18
18
  border-radius: 0;
19
19
  box-shadow: none;
20
20
  }
21
-
22
- .ins-recommendation-v3-block-v2 .product-attribute-cell ue-node-actions,
23
- .ins-recommendation-v3-block-v2 .product-attribute-cell ue-node-panel {
24
- display: none !important;
25
- }
26
21
  `;
27
22
  export {
28
23
  n as default
@@ -8,8 +8,7 @@ const o = e("editor", {
8
8
  isPreviewModeOpen: !1,
9
9
  editorVisualMode: "desktop",
10
10
  hasChanges: !1,
11
- isStripoInitialized: !1,
12
- templateId: ""
11
+ isStripoInitialized: !1
13
12
  }),
14
13
  getters: {
15
14
  // Middle Slot
@@ -1,19 +1,4 @@
1
- import { DEFAULT_LOCALE as r, DEFAULT as a, DEFAULT_TZ as c } from "../enums/date.js";
2
- const m = (t) => t ? t instanceof Date ? t : typeof t == "string" ? t.length === 10 ? new Date(Number(t) * 1e3) : new Date(t) : typeof t == "number" ? t.toString().length === 10 ? new Date(t * 1e3) : new Date(t) : /* @__PURE__ */ new Date() : /* @__PURE__ */ new Date(), s = () => {
3
- const t = window.l10n;
4
- return (t == null ? void 0 : t.locale) === a ? r : (t == null ? void 0 : t.locale) || r;
5
- }, u = new Intl.DateTimeFormat().resolvedOptions().timeZone, f = () => {
6
- const t = window.l10n;
7
- return (t == null ? void 0 : t.timezone) || u || c;
8
- }, D = (t, e = s(), n = f()) => {
9
- const o = {
10
- year: "numeric",
11
- month: "2-digit",
12
- day: "2-digit",
13
- timeZone: n
14
- }, i = m(t);
15
- return new Intl.DateTimeFormat(e, o).format(i);
16
- }, T = (t) => {
1
+ const o = (t) => {
17
2
  if (!t)
18
3
  return "";
19
4
  const e = new Date(t);
@@ -25,13 +10,7 @@ const m = (t) => t ? t instanceof Date ? t : typeof t == "string" ? t.length ===
25
10
  second: "2-digit",
26
11
  hour12: !1
27
12
  }).format(e);
28
- }, h = (t) => t ? Math.floor(Date.now() / 1e3) >= t : !1;
13
+ };
29
14
  export {
30
- m as convertToDateObject,
31
- T as formatPatchDate,
32
- D as formatShortDate,
33
- h as isAfterDate,
34
- u as localTz,
35
- s as locale,
36
- f as timezone
15
+ o as formatPatchDate
37
16
  };
@@ -1,15 +1,14 @@
1
- const o = (e) => e.map((a) => a.format ? {
1
+ const e = (l) => l.map((a) => a.format ? {
2
2
  label: `${a.text} | ${a.format.key}=${a.format.value}`,
3
3
  value: `{{${a.value}|${a.format.key}=${a.format.value}}}`
4
4
  } : {
5
5
  label: a.fallback ? `${a.text} | ${a.fallback}` : a.text,
6
6
  value: a.fallback ? `{{${a.value}|${a.fallback}}}` : `{{${a.value}}}`
7
- }), f = () => {
8
- var e;
9
- return ((e = document.head.querySelector('meta[name="csrf-token"]')) == null ? void 0 : e.getAttribute("content")) ?? "";
10
- }, $ = (e = "", a = {}, n = !1) => Object.entries(a).reduce((l, [t, r]) => n && (r === "" || r === null || r === void 0) ? l.replace(`&${t}={${t}}`, "") : l.replace(`{${t}}`, String(r)), e);
7
+ }), r = () => {
8
+ var l;
9
+ return ((l = document.head.querySelector('meta[name="csrf-token"]')) == null ? void 0 : l.getAttribute("content")) ?? "";
10
+ };
11
11
  export {
12
- o as dynamicContentToMergeTags,
13
- f as getCsrfToken,
14
- $ as replaceString
12
+ e as dynamicContentToMergeTags,
13
+ r as getCsrfToken
15
14
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@useinsider/guido",
3
- "version": "1.0.3-beta.81b84f8",
3
+ "version": "1.0.3-beta.830bb2b",
4
4
  "description": "Guido is a Vue + TypeScript wrapper for Email Plugin. Easily embed the email editor in your Vue applications.",
5
5
  "main": "./dist/guido.umd.cjs",
6
6
  "module": "./dist/library.js",
@@ -31,8 +31,8 @@
31
31
  "author": "",
32
32
  "license": "ISC",
33
33
  "dependencies": {
34
- "@stripoinc/ui-editor-extensions": "3.1.0",
35
- "@useinsider/design-system-vue": "0.14.20",
34
+ "@stripoinc/ui-editor-extensions": "3.0.0",
35
+ "@useinsider/design-system-vue": "0.14.8",
36
36
  "@vueuse/core": "11.3.0",
37
37
  "lodash-es": "4.17.21",
38
38
  "pinia": "2.3.1",
@@ -83,7 +83,7 @@
83
83
  },
84
84
  "guido": {
85
85
  "stripo": {
86
- "version": "2.46.0"
86
+ "version": "2.42.0"
87
87
  }
88
88
  }
89
89
  }
@@ -1,28 +0,0 @@
1
- import r from "./FilterItem.vue2.js";
2
- /* empty css */
3
- import i from "../../../../_virtual/_plugin-vue2_normalizer.js";
4
- var l = function() {
5
- var a = this, e = a._self._c, t = a._self._setupProxy;
6
- return e("div", { staticClass: "d-f f-d-c w-1 gap-16" }, [e("div", { staticClass: "d-f a-i-c j-c-s-b pt-4", class: { "bor-t-s-s bor-t-w-1 bor-t-c-50": a.index === 0 } }, [e("p", [a._v(" " + a._s(t.trans("newsletter.filter")) + " " + a._s(a.index + 1) + " ")]), e(t.InButtonV2, { attrs: { id: "guido__delete-filter-group-button", "left-icon": "line-delete", styling: "text", type: "danger", "label-text-status": !1 }, on: { click: function(s) {
7
- return t.emit("delete-filter", t.props.filter);
8
- } } })], 1), e("div", { staticClass: "w-1 d-f a-i-s j-c-s-b gap-16" }, [e(t.InSelect, { staticClass: "w-2", attrs: { "disabled-status": "", "search-status": "", "button-status": !1, "label-text": t.trans("action-builder.filter-type"), options: t.filterTypeOptions, value: [t.filterTypeOptions[0]] } }), e(t.InSelect, { staticClass: "w-2", attrs: { id: "filter-item-input--attribute-type", "search-status": "", "static-position": "bottom right", "button-status": !1, "label-text": t.trans("condition.attribute"), options: t.store.getFilterList, value: [t.selectedAttributeType] }, on: { select: function(s) {
9
- return t.updateFilter({ text: "attribute", value: s.value });
10
- } } })], 1), e("div", { staticClass: "w-1 d-f a-i-s j-c-s-b gap-16" }, [e(t.InSelect, { staticClass: "w-2", attrs: { "button-status": !1, "label-text": t.trans("condition.operator"), options: t.getOperatorOptions(t.selectedAttributeType.type), value: [t.selectedOperatorType] }, on: { select: function(s) {
11
- return t.updateFilter({ text: "operator", value: s.value });
12
- } } }), e(t.InBasicTextInput, { staticClass: "w-2", attrs: { id: "filter-item-input--value", name: "imageUrl", type: "text", "character-counter-status": !1, "label-text": t.trans("condition.value"), "max-character-length": 25, "placeholder-text": t.trans("condition.enter-value-placeholder"), "tooltip-status": !1, value: decodeURIComponent(t.props.filter.value) }, on: { input: function(s) {
13
- t.updateFilter({ text: "value", value: encodeURIComponent(s) });
14
- } } })], 1), t.props.hasLogicAdapter ? e("div", { staticClass: "w-1 d-f a-i-c j-c-c p-r bor-b-s-s bor-b-w-1 bor-b-c-50 mt-4" }, [e(t.LogicAdapter, { staticClass: "p-a", attrs: { logic: t.props.filter.innerGroupOperator }, on: { change: function(s) {
15
- return t.updateFilter({ text: "innerGroupOperator", value: s });
16
- } } })], 1) : a._e()]);
17
- }, n = [], o = /* @__PURE__ */ i(
18
- r,
19
- l,
20
- n,
21
- !1,
22
- null,
23
- "6562e38c"
24
- );
25
- const f = o.exports;
26
- export {
27
- f as default
28
- };
@@ -1,38 +0,0 @@
1
- import { defineComponent as f, computed as i } from "vue";
2
- import { useTranslations as v } from "../../../../composables/useTranslations.js";
3
- import { getOperatorOptions as a } from "../../../../enums/extensions/recommendationBlock.js";
4
- import { useRecommendationExtensionStore as x } from "../../../../extensions/Blocks/Recommendation/store/recommendation.js";
5
- import { InButtonV2 as y, InSelect as F, InBasicTextInput as T } from "@useinsider/design-system-vue";
6
- import _ from "./LogicAdapter.vue.js";
7
- import { useDebounceFn as b } from "../../../../node_modules/@vueuse/shared/index.js";
8
- const h = /* @__PURE__ */ f({
9
- __name: "FilterItem",
10
- props: {
11
- filter: null,
12
- index: null,
13
- hasLogicAdapter: { type: Boolean }
14
- },
15
- emits: ["delete-filter"],
16
- setup(p, { emit: u }) {
17
- const e = p, n = v(), r = x(), m = [
18
- {
19
- text: n("email-editor.standard-filter"),
20
- value: "standardFilter"
21
- }
22
- ], s = i(() => e.filter.attribute || ""), l = i(() => r.getFilterList.find((t) => t.value === s.value) || { text: "", value: "", type: "" }), c = i(() => {
23
- var t;
24
- return a((t = l.value) == null ? void 0 : t.type).find((o) => o.value === e.filter.operator);
25
- }), d = b((t) => {
26
- console.debug("updateFilter: ", t);
27
- const o = {
28
- ...e.filter,
29
- [t.text]: t.value
30
- };
31
- r.updateFilter(o);
32
- }, 500);
33
- return { __sfc: !0, trans: n, store: r, props: e, filterTypeOptions: m, attributeType: s, selectedAttributeType: l, selectedOperatorType: c, emit: u, updateFilter: d, getOperatorOptions: a, InBasicTextInput: T, InSelect: F, InButtonV2: y, LogicAdapter: _ };
34
- }
35
- });
36
- export {
37
- h as default
38
- };
@@ -1,17 +0,0 @@
1
- import o from "./FilterSelectionDrawer.vue2.js";
2
- import n from "../../../../_virtual/_plugin-vue2_normalizer.js";
3
- var l = function() {
4
- var e = this, r = e._self._c, t = e._self._setupProxy;
5
- return r(t.WpDrawer, { attrs: { id: "recommendation-filter-drawer", "title-text": "Filter Selection", "footer-button-group-options": t.footerButtonGroupOptions, status: t.store.filterSelectionDrawerStatus }, on: { cancelOrBackButtonEvent: t.closeModal, onCloseEvent: t.closeModal, primaryButtonEvent: t.applyFilter } }, [r(t.Filters)], 1);
6
- }, s = [], a = /* @__PURE__ */ n(
7
- o,
8
- l,
9
- s,
10
- !1,
11
- null,
12
- null
13
- );
14
- const p = a.exports;
15
- export {
16
- p as default
17
- };
@@ -1,37 +0,0 @@
1
- import { defineComponent as n, ref as a, computed as l } from "vue";
2
- import i from "../../../wrappers/WpDrawer.vue.js";
3
- import { useTranslations as p } from "../../../../composables/useTranslations.js";
4
- import { useRecommendationExtensionStore as c } from "../../../../extensions/Blocks/Recommendation/store/recommendation.js";
5
- import u from "./Filters.vue.js";
6
- const b = /* @__PURE__ */ n({
7
- __name: "FilterSelectionDrawer",
8
- setup(m) {
9
- const t = p(), o = c(), e = a(!1), s = l(() => ({
10
- primaryButton: {
11
- styling: "solid",
12
- type: "primary",
13
- labelText: t(
14
- e.value ? "unsubscription-preference.selecting-type" : "products.select-and-continue"
15
- ),
16
- loadingStatus: e.value,
17
- disabledStatus: !1
18
- },
19
- cancelOrBackButton: {
20
- styling: "ghost",
21
- type: "secondary",
22
- labelText: t("products.cancel"),
23
- disabledStatus: e.value
24
- }
25
- })), r = () => {
26
- o.filterSelectionDrawerStatus = !1;
27
- };
28
- return { __sfc: !0, trans: t, store: o, isApplying: e, footerButtonGroupOptions: s, closeModal: r, applyFilter: () => {
29
- e.value = !0, setTimeout(() => {
30
- console.debug("Filter applied!"), r(), o.generateFilterQuery();
31
- }, 2e3);
32
- }, WpDrawer: i, Filters: u };
33
- }
34
- });
35
- export {
36
- b as default
37
- };
@@ -1,20 +0,0 @@
1
- import s from "./Filters.vue2.js";
2
- /* empty css */
3
- import a from "../../../../_virtual/_plugin-vue2_normalizer.js";
4
- var o = function() {
5
- var i = this, e = i._self._c, t = i._self._setupProxy;
6
- return e("div", { staticClass: "d-f f-d-c gap-16" }, [e("div", { staticClass: "d-f a-i-c j-c-s-b gap-16" }, [e(t.InSegments, { staticClass: "f-g-1 w-1", attrs: { id: "guido__filter-group-segments", "segment-list": t.filterGroupList, selected: t.selectedFilterGroup, "with-icon": !1 }, on: { click: t.changeFilterGroup } }), e(t.InButtonV2, { staticClass: "w-20-s f-g-1", attrs: { id: "guido__add-filter-group-button", "left-icon": "line-plus-netural", type: "secondary", "disabled-status": t.isMaxFilterGroupCount, "label-text": t.trans("smart-recommender.add-filter-group"), "tooltip-text": t.isMaxFilterGroupCount ? t.trans("email-editor.add-filter-tooltip") : "" }, on: { click: t.handleAddFilterGroup } })], 1), e("div", { staticClass: "d-f a-i-c j-c-s-b gap-16" }, [e("div", { staticClass: "d-f a-i-c" }, [t.selectedFilterGroup > 1 ? e(t.LogicAdapter, { staticClass: "mr-2" }) : i._e(), e("p", [i._v(" " + i._s(t.trans("email-editor.filter-group")) + " " + i._s(t.selectedFilterGroup) + " ")])], 1), t.hasRemoveFilterButton ? e(t.InButtonV2, { attrs: { id: "guido__delete-filter-group-button", "left-icon": "line-delete", styling: "text", type: "danger", "label-text-status": !1 }, on: { click: t.handleDeleteFilterGroup } }) : i._e()], 1), e("div", { staticClass: "d-f a-i-c j-c-s-b f-d-c" }, i._l(t.selectedFilterGroupFilters, function(l, r) {
7
- return e(t.FilterItem, { key: r, attrs: { filter: l, "has-logic-adapter": t.hasLogicAdapter && r !== t.selectedFilterGroupFilters.length - 1, index: r }, on: { "delete-filter": t.handleDeleteFilter } });
8
- }), 1), e("div", { staticClass: "d-f a-i-c j-c-c mt-3" }, [e(t.InButtonV2, { staticClass: "w-11-s", attrs: { id: "filter-group--add-filter-button", "left-icon": "line-plus-netural", type: "subtle-primary", "label-text": t.trans("smart-recommender.add-filter-condition") }, on: { click: t.handleAddFilter } })], 1)]);
9
- }, d = [], n = /* @__PURE__ */ a(
10
- s,
11
- o,
12
- d,
13
- !1,
14
- null,
15
- "1ccb6d4a"
16
- );
17
- const _ = n.exports;
18
- export {
19
- _ as default
20
- };