@useinsider/guido 1.0.3-beta.060cc69 → 1.0.3-beta.09a6feb

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 (160) hide show
  1. package/README.md +142 -3
  2. package/dist/components/Guido.vue.js +11 -9
  3. package/dist/components/Guido.vue2.js +51 -47
  4. package/dist/components/organisms/extensions/recommendation/FilterItem.vue.js +28 -0
  5. package/dist/components/organisms/extensions/recommendation/FilterItem.vue2.js +38 -0
  6. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.js +17 -0
  7. package/dist/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue2.js +37 -0
  8. package/dist/components/organisms/extensions/recommendation/Filters.vue.js +20 -0
  9. package/dist/components/organisms/extensions/recommendation/Filters.vue2.js +44 -0
  10. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue.js +17 -0
  11. package/dist/components/organisms/extensions/recommendation/LogicAdapter.vue2.js +27 -0
  12. package/dist/components/organisms/header/LeftSlot.vue.js +1 -1
  13. package/dist/components/organisms/header/LeftSlot.vue2.js +16 -15
  14. package/dist/components/organisms/header/RightSlot.vue.js +11 -11
  15. package/dist/components/organisms/header/RightSlot.vue2.js +23 -22
  16. package/dist/components/organisms/onboarding/NewVersionPopup.vue.js +9 -9
  17. package/dist/components/organisms/onboarding/NewVersionPopup.vue2.js +30 -17
  18. package/dist/components/organisms/onboarding/OnboardingWrapper.vue.js +12 -10
  19. package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +19 -18
  20. package/dist/composables/useBlocksConfig.js +49 -0
  21. package/dist/composables/useGuidoActions.js +19 -9
  22. package/dist/composables/useStripo.js +39 -48
  23. package/dist/config/compiler/unsubscribeCompilerRules.js +33 -28
  24. package/dist/config/migrator/index.js +7 -6
  25. package/dist/config/migrator/recommendationMigrator.js +293 -0
  26. package/dist/enums/date.js +6 -0
  27. package/dist/enums/defaults.js +15 -8
  28. package/dist/enums/extensions/recommendationBlock.js +80 -0
  29. package/dist/enums/onboarding.js +2 -1
  30. package/dist/enums/unsubscribe.js +10 -9
  31. package/dist/extensions/Blocks/Checkbox/extension.js +2 -2
  32. package/dist/extensions/Blocks/CouponBlock/extension.js +2 -2
  33. package/dist/extensions/Blocks/RadioButton/template.js +6 -6
  34. package/dist/extensions/Blocks/Recommendation/block.js +30 -0
  35. package/dist/extensions/Blocks/Recommendation/cardCompositionControl.js +103 -0
  36. package/dist/extensions/Blocks/Recommendation/constants.js +5 -0
  37. package/dist/extensions/Blocks/Recommendation/control.js +306 -0
  38. package/dist/extensions/Blocks/Recommendation/controls/button/align.js +13 -0
  39. package/dist/extensions/Blocks/Recommendation/controls/button/border.js +13 -0
  40. package/dist/extensions/Blocks/Recommendation/controls/button/borderRadius.js +13 -0
  41. package/dist/extensions/Blocks/Recommendation/controls/button/color.js +13 -0
  42. package/dist/extensions/Blocks/Recommendation/controls/button/fitToContent.js +13 -0
  43. package/dist/extensions/Blocks/Recommendation/controls/button/fontFamily.js +13 -0
  44. package/dist/extensions/Blocks/Recommendation/controls/button/margins.js +13 -0
  45. package/dist/extensions/Blocks/Recommendation/controls/button/paddings.js +13 -0
  46. package/dist/extensions/Blocks/Recommendation/controls/button/text.js +13 -0
  47. package/dist/extensions/Blocks/Recommendation/controls/button/textSize.js +13 -0
  48. package/dist/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.js +13 -0
  49. package/dist/extensions/Blocks/Recommendation/controls/image/margins.js +13 -0
  50. package/dist/extensions/Blocks/Recommendation/controls/image/size.js +13 -0
  51. package/dist/extensions/Blocks/Recommendation/controls/name/align.js +13 -0
  52. package/dist/extensions/Blocks/Recommendation/controls/name/background.js +13 -0
  53. package/dist/extensions/Blocks/Recommendation/controls/name/color.js +13 -0
  54. package/dist/extensions/Blocks/Recommendation/controls/name/fontFamily.js +13 -0
  55. package/dist/extensions/Blocks/Recommendation/controls/name/paddings.js +13 -0
  56. package/dist/extensions/Blocks/Recommendation/controls/name/size.js +13 -0
  57. package/dist/extensions/Blocks/Recommendation/controls/name/style.js +13 -0
  58. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/align.js +13 -0
  59. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/background.js +13 -0
  60. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/color.js +13 -0
  61. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.js +13 -0
  62. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/paddings.js +13 -0
  63. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/size.js +13 -0
  64. package/dist/extensions/Blocks/Recommendation/controls/oldPrice/style.js +13 -0
  65. package/dist/extensions/Blocks/Recommendation/controls/price/align.js +13 -0
  66. package/dist/extensions/Blocks/Recommendation/controls/price/background.js +13 -0
  67. package/dist/extensions/Blocks/Recommendation/controls/price/color.js +13 -0
  68. package/dist/extensions/Blocks/Recommendation/controls/price/fontFamily.js +13 -0
  69. package/dist/extensions/Blocks/Recommendation/controls/price/paddings.js +13 -0
  70. package/dist/extensions/Blocks/Recommendation/controls/price/size.js +13 -0
  71. package/dist/extensions/Blocks/Recommendation/controls/price/style.js +13 -0
  72. package/dist/extensions/Blocks/Recommendation/extension.js +45 -0
  73. package/dist/extensions/Blocks/Recommendation/iconsRegistry.js +51 -0
  74. package/dist/extensions/Blocks/Recommendation/recommendation.css.js +19 -0
  75. package/dist/extensions/Blocks/Recommendation/settingsPanel.js +117 -0
  76. package/dist/extensions/Blocks/Recommendation/store/recommendation.js +266 -0
  77. package/dist/extensions/Blocks/Recommendation/templates/blockTemplate.js +160 -0
  78. package/dist/extensions/Blocks/Recommendation/templates/migrationTemplate.js +152 -0
  79. package/dist/extensions/Blocks/Recommendation/templates/templateUtils.js +180 -0
  80. package/dist/extensions/Blocks/Recommendation/utils/filterUtil.js +28 -0
  81. package/dist/extensions/Blocks/common-control.js +184 -0
  82. package/dist/guido.css +1 -1
  83. package/dist/node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js +311 -93
  84. package/dist/package.json.js +1 -1
  85. package/dist/services/recommendationApi.js +43 -0
  86. package/dist/services/stripoApi.js +1 -1
  87. package/dist/src/@types/generic.d.ts +19 -0
  88. package/dist/src/components/Guido.vue.d.ts +2 -0
  89. package/dist/src/components/organisms/extensions/recommendation/FilterItem.vue.d.ts +19 -0
  90. package/dist/src/components/organisms/extensions/recommendation/FilterSelectionDrawer.vue.d.ts +2 -0
  91. package/dist/src/components/organisms/extensions/recommendation/Filters.vue.d.ts +2 -0
  92. package/dist/src/components/organisms/extensions/recommendation/LogicAdapter.vue.d.ts +16 -0
  93. package/dist/src/components/organisms/onboarding/NewVersionPopup.vue.d.ts +3 -1
  94. package/dist/src/components/organisms/onboarding/OnboardingWrapper.vue.d.ts +3 -1
  95. package/dist/src/components/wrappers/WpModal.vue.d.ts +1 -1
  96. package/dist/src/composables/useBlocksConfig.d.ts +11 -0
  97. package/dist/src/composables/useGuidoActions.d.ts +9 -0
  98. package/dist/src/config/migrator/recommendationMigrator.d.ts +1 -0
  99. package/dist/src/enums/date.d.ts +4 -0
  100. package/dist/src/enums/extensions/recommendationBlock.d.ts +16 -0
  101. package/dist/src/enums/onboarding.d.ts +1 -0
  102. package/dist/src/extensions/Blocks/Recommendation/block.d.ts +11 -0
  103. package/dist/src/extensions/Blocks/Recommendation/cardCompositionControl.d.ts +28 -0
  104. package/dist/src/extensions/Blocks/Recommendation/constants.d.ts +51 -0
  105. package/dist/src/extensions/Blocks/Recommendation/control.d.ts +35 -0
  106. package/dist/src/extensions/Blocks/Recommendation/controls/button/align.d.ts +5 -0
  107. package/dist/src/extensions/Blocks/Recommendation/controls/button/border.d.ts +5 -0
  108. package/dist/src/extensions/Blocks/Recommendation/controls/button/borderRadius.d.ts +5 -0
  109. package/dist/src/extensions/Blocks/Recommendation/controls/button/color.d.ts +5 -0
  110. package/dist/src/extensions/Blocks/Recommendation/controls/button/fitToContent.d.ts +5 -0
  111. package/dist/src/extensions/Blocks/Recommendation/controls/button/fontFamily.d.ts +5 -0
  112. package/dist/src/extensions/Blocks/Recommendation/controls/button/margins.d.ts +5 -0
  113. package/dist/src/extensions/Blocks/Recommendation/controls/button/paddings.d.ts +5 -0
  114. package/dist/src/extensions/Blocks/Recommendation/controls/button/text.d.ts +5 -0
  115. package/dist/src/extensions/Blocks/Recommendation/controls/button/textSize.d.ts +5 -0
  116. package/dist/src/extensions/Blocks/Recommendation/controls/button/textStyleAndFontColor.d.ts +5 -0
  117. package/dist/src/extensions/Blocks/Recommendation/controls/image/margins.d.ts +5 -0
  118. package/dist/src/extensions/Blocks/Recommendation/controls/image/size.d.ts +5 -0
  119. package/dist/src/extensions/Blocks/Recommendation/controls/name/align.d.ts +5 -0
  120. package/dist/src/extensions/Blocks/Recommendation/controls/name/background.d.ts +5 -0
  121. package/dist/src/extensions/Blocks/Recommendation/controls/name/color.d.ts +5 -0
  122. package/dist/src/extensions/Blocks/Recommendation/controls/name/fontFamily.d.ts +5 -0
  123. package/dist/src/extensions/Blocks/Recommendation/controls/name/paddings.d.ts +5 -0
  124. package/dist/src/extensions/Blocks/Recommendation/controls/name/size.d.ts +5 -0
  125. package/dist/src/extensions/Blocks/Recommendation/controls/name/style.d.ts +5 -0
  126. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/align.d.ts +5 -0
  127. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/background.d.ts +5 -0
  128. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/color.d.ts +5 -0
  129. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/fontFamily.d.ts +5 -0
  130. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/paddings.d.ts +5 -0
  131. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/size.d.ts +5 -0
  132. package/dist/src/extensions/Blocks/Recommendation/controls/oldPrice/style.d.ts +5 -0
  133. package/dist/src/extensions/Blocks/Recommendation/controls/price/align.d.ts +5 -0
  134. package/dist/src/extensions/Blocks/Recommendation/controls/price/background.d.ts +5 -0
  135. package/dist/src/extensions/Blocks/Recommendation/controls/price/color.d.ts +5 -0
  136. package/dist/src/extensions/Blocks/Recommendation/controls/price/fontFamily.d.ts +5 -0
  137. package/dist/src/extensions/Blocks/Recommendation/controls/price/paddings.d.ts +5 -0
  138. package/dist/src/extensions/Blocks/Recommendation/controls/price/size.d.ts +5 -0
  139. package/dist/src/extensions/Blocks/Recommendation/controls/price/style.d.ts +5 -0
  140. package/dist/src/extensions/Blocks/Recommendation/extension.d.ts +2 -0
  141. package/dist/src/extensions/Blocks/Recommendation/iconsRegistry.d.ts +4 -0
  142. package/dist/src/extensions/Blocks/Recommendation/settingsPanel.d.ts +4 -0
  143. package/dist/src/extensions/Blocks/Recommendation/store/recommendation.d.ts +555 -0
  144. package/dist/src/extensions/Blocks/Recommendation/templates/blockTemplate.d.ts +16 -0
  145. package/dist/src/extensions/Blocks/Recommendation/templates/migrationTemplate.d.ts +16 -0
  146. package/dist/src/extensions/Blocks/Recommendation/templates/templateUtils.d.ts +44 -0
  147. package/dist/src/extensions/Blocks/Recommendation/utils/filterUtil.d.ts +7 -0
  148. package/dist/src/extensions/Blocks/common-control.d.ts +87 -0
  149. package/dist/src/mock/api/recommendation.d.ts +2 -0
  150. package/dist/src/services/recommendationApi.d.ts +6 -0
  151. package/dist/src/stores/config.d.ts +7 -0
  152. package/dist/src/stores/editor.d.ts +21 -0
  153. package/dist/src/utils/dateUtil.d.ts +21 -0
  154. package/dist/src/utils/genericUtil.d.ts +1 -0
  155. package/dist/static/styles/components/narrow-panel.css.js +10 -0
  156. package/dist/static/styles/customEditorStyle.css.js +5 -0
  157. package/dist/stores/editor.js +2 -1
  158. package/dist/utils/dateUtil.js +24 -3
  159. package/dist/utils/genericUtil.js +8 -7
  160. package/package.json +4 -4
@@ -6,21 +6,31 @@ type Features = {
6
6
  dynamicContent?: boolean;
7
7
  saveAsTemplate?: boolean;
8
8
  versionHistory?: boolean;
9
+ testMessage?: boolean;
9
10
  };
10
11
  type Partner = {
11
12
  partnerName: string;
12
13
  productType: number;
13
14
  messageType: number;
14
15
  };
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
+ };
15
22
  export type GuidoConfig = {
16
23
  translationsPath: string;
17
24
  htmlCompilerRules?: CompilerRule[];
18
25
  ignoreDefaultHtmlCompilerRules?: boolean;
19
26
  useHeader?: boolean;
20
27
  emailHeader: EmailHeader;
28
+ migrationDate: number;
21
29
  partner?: Partner;
22
30
  extensions?: Extensions;
23
31
  features?: Features;
32
+ blocks?: BlocksConfig;
33
+ backButtonLabel?: string;
24
34
  };
25
35
  export type TemplateConfig = {
26
36
  preselectedDynamicContentList?: DynamicContent[];
@@ -55,4 +65,13 @@ export type MergeTag = {
55
65
  label: string;
56
66
  value: string;
57
67
  };
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
+ }
58
77
  export {};
@@ -26,6 +26,8 @@ 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;
29
31
  }, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>>, {}>;
30
32
  export default _default;
31
33
  type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
@@ -0,0 +1,19 @@
1
+ import type { Filter } from '@@/Types/recommendation';
2
+ type __VLS_Props = {
3
+ filter: Filter;
4
+ index: number;
5
+ hasLogicAdapter?: boolean;
6
+ };
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, {
8
+ "delete-filter": (filter: Filter) => void;
9
+ }, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>>, {}>;
10
+ export default _default;
11
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
12
+ type __VLS_TypePropsToOption<T> = {
13
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
14
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
15
+ } : {
16
+ type: import('vue').PropType<T[K]>;
17
+ required: true;
18
+ };
19
+ };
@@ -0,0 +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, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
+ export default _default;
@@ -0,0 +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, {}, string, Readonly<import("vue").ExtractPropTypes<{}>>, {}>;
2
+ export default _default;
@@ -0,0 +1,16 @@
1
+ type __VLS_Props = {
2
+ logic?: string;
3
+ };
4
+ 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, {
5
+ change: (value: string) => void;
6
+ }, string, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<__VLS_Props>>>, {}>;
7
+ 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,2 +1,4 @@
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<{}>>, {}>;
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<{}>>, {}>;
2
4
  export default _default;
@@ -1,2 +1,4 @@
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<{}>>, {}>;
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<{}>>, {}>;
2
4
  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
- description: string;
36
35
  size: "small" | "medium" | "large";
36
+ description: string;
37
37
  closeOnOutsideClick: boolean;
38
38
  footerButtonOptions: FooterButtonGroup;
39
39
  closeButtonStatus: boolean;
@@ -0,0 +1,11 @@
1
+ import type { Extension } from '@stripoinc/ui-editor-extensions';
2
+ /**
3
+ * Composable for managing Guido blocks configuration
4
+ * Converts GuidoConfig blocks settings to Stripo-compatible format
5
+ */
6
+ export declare const useBlocksConfig: () => {
7
+ getStripoBlocksConfig: () => Promise<{
8
+ baseBlocks: Record<string, boolean>;
9
+ extensions: Extension[];
10
+ }>;
11
+ };
@@ -3,9 +3,11 @@ 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;
6
7
  export declare const BACK_KEY: InjectionKey<BackHandler>;
7
8
  export declare const SAVE_START_KEY: InjectionKey<SaveStartHandler>;
8
9
  export declare const SAVE_COMPLETE_KEY: InjectionKey<SaveCompleteHandler>;
10
+ export declare const TEST_EMAIL_CLICK_KEY: InjectionKey<TestEmailClickHandler>;
9
11
  /**
10
12
  * Provides Guido action handlers to child components
11
13
  */
@@ -13,6 +15,7 @@ export declare const provideGuidoActions: (actions: {
13
15
  onBack: BackHandler;
14
16
  onSaveStart: SaveStartHandler;
15
17
  onSaveComplete: SaveCompleteHandler;
18
+ onTestEmailClick: TestEmailClickHandler;
16
19
  }) => void;
17
20
  /**
18
21
  * Provides individual Guido action handlers
@@ -35,6 +38,11 @@ export declare const useSaveStart: () => SaveStartHandler;
35
38
  * @returns Save complete function
36
39
  */
37
40
  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;
38
46
  /**
39
47
  * Convenience hook to get all Guido actions
40
48
  * @returns Object containing all action handlers
@@ -43,4 +51,5 @@ export declare const useGuidoActions: () => {
43
51
  back: BackHandler;
44
52
  saveStart: SaveStartHandler;
45
53
  saveComplete: SaveCompleteHandler;
54
+ testEmailClick: TestEmailClickHandler;
46
55
  };
@@ -0,0 +1 @@
1
+ export declare function migrateRecommendation(html: string): string;
@@ -0,0 +1,4 @@
1
+ export declare const DEFAULT_LOCALE = "tr-TR";
2
+ export declare const DEFAULT = "default";
3
+ export declare const DEFAULT_TZ = "UTC";
4
+ export declare const FORMAT_MAPPING: Record<string, string>;
@@ -0,0 +1,16 @@
1
+ import type { TextValueObject } from '@@/Types/generic';
2
+ import type { RecommendationFeedItem } from '@@/Types/recommendation';
3
+ export declare const URLS: {
4
+ RECOMMENDATION_API_URL: string;
5
+ };
6
+ export declare const RecommendationFeedSourceMaps: RecommendationFeedItem[];
7
+ export declare const PriceAttributes: string[];
8
+ export declare const currencyLocationMaps: TextValueObject[];
9
+ export declare const currencyOperators: TextValueObject[];
10
+ export declare const currencyDecimalCounts: TextValueObject[];
11
+ export declare const operatorOptionsForStrings: TextValueObject[];
12
+ export declare const operatorOptionsForArrayOfStrings: TextValueObject[];
13
+ export declare const operatorOptionsForNumbers: TextValueObject[];
14
+ export declare const operatorOptionsForDates: TextValueObject[];
15
+ export declare const operatorOptionsForBooleans: TextValueObject[];
16
+ export declare const getOperatorOptions: (type?: string) => TextValueObject[];
@@ -1 +1,2 @@
1
1
  export declare const SERVICE_HOVER_SELECTORS: string[];
2
+ export declare const ACADEMY_LINK = "https://academy.useinsider.com/docs/email-drag-drop-editor";
@@ -0,0 +1,11 @@
1
+ import { Block, BlockCompositionType } from '@stripoinc/ui-editor-extensions';
2
+ export declare const BLOCK_ID = "recommendation-block";
3
+ export declare class RecommendationBlock extends Block {
4
+ constructor();
5
+ getId(): string;
6
+ getIcon(): string;
7
+ getBlockCompositionType(): BlockCompositionType;
8
+ getName(): string;
9
+ getDescription(): string;
10
+ getTemplate(): string;
11
+ }
@@ -0,0 +1,28 @@
1
+ import { ImmutableHtmlNode } from '@stripoinc/ui-editor-extensions';
2
+ import { CommonControl } from '../common-control';
3
+ export declare const COMPOSITION_CONTROL_BLOCK_ID = "ui-elements-recommendation-card-composition";
4
+ export interface CardCompositionItem {
5
+ key: string;
6
+ label: string;
7
+ visible: boolean;
8
+ }
9
+ export declare class RecommendationCardCompositionControl extends CommonControl {
10
+ private currentComposition;
11
+ private currentVisibility;
12
+ getId(): string;
13
+ getTemplate(): string;
14
+ onRender(): void;
15
+ onTemplateNodeUpdated(node: ImmutableHtmlNode): void;
16
+ /**
17
+ * Initialize the composition order and visibility from the block or use defaults
18
+ */
19
+ private _initializeComposition;
20
+ /**
21
+ * Apply the reordered composition to the block's HTML structure
22
+ */
23
+ private _applyCompositionToBlock;
24
+ /**
25
+ * Apply visibility changes to the block's HTML structure
26
+ */
27
+ private _applyVisibilityToBlock;
28
+ }
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Block IDs used in the Recommendation Extension
3
+ * These IDs are used in the esd-extension-block-id attribute to identify specific blocks
4
+ */
5
+ export declare enum RecommendationBlockId {
6
+ BUTTON = "recommendation-block-button",
7
+ NAME = "recommendation-block-name",
8
+ PRICE = "recommendation-block-price",
9
+ OLD_PRICE = "recommendation-block-old-price",
10
+ IMAGE = "recommendation-block-image"
11
+ }
12
+ /**
13
+ * Control IDs used in the Recommendation Extension
14
+ * These IDs are returned by the getId() method of each control
15
+ */
16
+ export declare enum RecommendationControlId {
17
+ BUTTON_ALIGN = "recommendation-block-button-align-control",
18
+ BUTTON_BORDER = "recommendation-block-button-border-control",
19
+ BUTTON_BORDER_RADIUS = "recommendation-block-button-border-radius-control",
20
+ BUTTON_COLOR = "recommendation-block-button-color-control",
21
+ BUTTON_FIT_TO_CONTENT = "recommendation-block-button-fit-to-content-control",
22
+ BUTTON_FONT_FAMILY = "recommendation-block-button-font-family-control",
23
+ BUTTON_MARGINS = "recommendation-block-button-margins-control",
24
+ BUTTON_PADDINGS = "recommendation-block-button-paddings-control",
25
+ BUTTON_TEXT = "recommendation-block-button-text-control",
26
+ BUTTON_TEXT_SIZE = "recommendation-block-button-text-size-control",
27
+ BUTTON_TEXT_STYLE_AND_FONT_COLOR = "recommendation-block-button-text-style-and-font-color-control",
28
+ NAME_ALIGN = "recommendation-block-name-align-control",
29
+ NAME_BACKGROUND = "recommendation-block-name-background-control",
30
+ NAME_COLOR = "recommendation-block-name-color-control",
31
+ NAME_FONT_FAMILY = "recommendation-block-name-font-family-control",
32
+ NAME_PADDINGS = "recommendation-block-name-paddings-control",
33
+ NAME_SIZE = "recommendation-block-name-size-control",
34
+ NAME_STYLE = "recommendation-block-name-style-control",
35
+ PRICE_ALIGN = "recommendation-block-price-align-control",
36
+ PRICE_BACKGROUND = "recommendation-block-price-background-control",
37
+ PRICE_COLOR = "recommendation-block-price-color-control",
38
+ PRICE_FONT_FAMILY = "recommendation-block-price-font-family-control",
39
+ PRICE_PADDINGS = "recommendation-block-price-paddings-control",
40
+ PRICE_SIZE = "recommendation-block-price-size-control",
41
+ PRICE_STYLE = "recommendation-block-price-style-control",
42
+ OLD_PRICE_ALIGN = "recommendation-block-old-price-align-control",
43
+ OLD_PRICE_BACKGROUND = "recommendation-block-old-price-background-control",
44
+ OLD_PRICE_COLOR = "recommendation-block-old-price-color-control",
45
+ OLD_PRICE_FONT_FAMILY = "recommendation-block-old-price-font-family-control",
46
+ OLD_PRICE_PADDINGS = "recommendation-block-old-price-paddings-control",
47
+ OLD_PRICE_SIZE = "recommendation-block-old-price-size-control",
48
+ OLD_PRICE_STYLE = "recommendation-block-old-price-style-control",
49
+ IMAGE_SIZE = "recommendation-block-image-size-control",
50
+ IMAGE_MARGINS = "recommendation-block-image-margins-control"
51
+ }
@@ -0,0 +1,35 @@
1
+ import { CommonControl } from '../common-control';
2
+ export declare const CONTROL_BLOCK_ID = "ui-elements-recommendation-block";
3
+ export declare class RecommendationBlockControl extends CommonControl {
4
+ private store;
5
+ private storeUnsubscription;
6
+ private addFilterListener;
7
+ private addFilterButton;
8
+ getId(): string;
9
+ getTemplate(): string;
10
+ onRender(): Promise<void>;
11
+ onDestroy(): void;
12
+ _setFormValues(): void;
13
+ _initializeSelectItems(): void;
14
+ _getAlgorithms(): string;
15
+ _getLanguages(): string;
16
+ _getCurrency(): string;
17
+ _getProductLayout(): string;
18
+ _getFilterStatus(): string;
19
+ _getShuffleProducts(): string;
20
+ _getResponsive(): string;
21
+ _onFilterChange(value: boolean): void;
22
+ _onFilterSelectClick(): void;
23
+ _onDataChange(item: string, value: string | number | string[]): void;
24
+ /**
25
+ * Get the current card composition from block data attribute or use default
26
+ */
27
+ _getCardComposition(): string[];
28
+ _regenerateProductRows(): void;
29
+ _debouncedRegenerateProductRows: import("@vueuse/shared").PromisifyFn<() => void>;
30
+ _onCurrencyConfigChange(item: string, value: string | number): void;
31
+ _onCurrencyChange(value: string): void;
32
+ _setProductIdsVisibility(): void;
33
+ _listenToFormUpdates(): void;
34
+ _listenStateUpdates(): void;
35
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, ButtonAlignBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class ButtonAlignControl extends ButtonAlignBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, ButtonBorderBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class ButtonBorderControl extends ButtonBorderBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, ButtonBorderRadiusBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class ButtonBorderRadiusControl extends ButtonBorderRadiusBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, ButtonColorBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class ButtonColorControl extends ButtonColorBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, ButtonFitToContainerBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class ButtonFitToContentControl extends ButtonFitToContainerBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, ButtonFontFamilyBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class ButtonFontFamilyControl extends ButtonFontFamilyBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, ButtonMarginsBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class ButtonMarginsControl extends ButtonMarginsBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, ButtonPaddingsBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class ButtonPaddingsControl extends ButtonPaddingsBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, ButtonTextBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class ButtonTextControl extends ButtonTextBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, ButtonTextSizeBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class ButtonTextSizeControl extends ButtonTextSizeBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, ButtonTextStyleAndFontColorBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class ButtonTextStyleAndFontColorControl extends ButtonTextStyleAndFontColorBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, ImageMarginsBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class ImageMarginsControl extends ImageMarginsBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, ImageSizeBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class ImageSizeControl extends ImageSizeBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, TextAlignBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class NameAlignControl extends TextAlignBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, TextBlockBackgroundBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class NameBackgroundControl extends TextBlockBackgroundBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, TextColorBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class NameColorControl extends TextColorBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, TextFontFamilyBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class NameFontFamilyControl extends TextFontFamilyBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, TextPaddingsBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class NamePaddingsControl extends TextPaddingsBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, TextSizeBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class NameSizeControl extends TextSizeBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, TextStyleBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class NameStyleControl extends TextStyleBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, TextAlignBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class OldPriceAlignControl extends TextAlignBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, TextBlockBackgroundBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class OldPriceBackgroundControl extends TextBlockBackgroundBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, TextColorBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class OldPriceColorControl extends TextColorBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, TextFontFamilyBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class OldPriceFontFamilyControl extends TextFontFamilyBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, TextPaddingsBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class OldPricePaddingsControl extends TextPaddingsBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, TextSizeBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class OldPriceSizeControl extends TextSizeBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, TextStyleBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class OldPriceStyleControl extends TextStyleBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, TextAlignBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class PriceAlignControl extends TextAlignBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, TextBlockBackgroundBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class PriceBackgroundControl extends TextBlockBackgroundBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, TextColorBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class PriceColorControl extends TextColorBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, TextFontFamilyBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class PriceFontFamilyControl extends TextFontFamilyBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, TextPaddingsBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class PricePaddingsControl extends TextPaddingsBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, TextSizeBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class PriceSizeControl extends TextSizeBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,5 @@
1
+ import { ImmutableHtmlNode, TextStyleBuiltInControl } from '@stripoinc/ui-editor-extensions';
2
+ export declare class PriceStyleControl extends TextStyleBuiltInControl {
3
+ getId(): string;
4
+ getTargetNodes(root: ImmutableHtmlNode): ImmutableHtmlNode[];
5
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: import("@stripoinc/ui-editor-extensions").Extension;
2
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import { IconsRegistry } from '@stripoinc/ui-editor-extensions';
2
+ export declare class RecommendationIconsRegistry extends IconsRegistry {
3
+ registerIconsSvg(iconsMap: Record<string, string>): void;
4
+ }
@@ -0,0 +1,4 @@
1
+ import { SettingsPanelRegistry, SettingsPanelTab } from '@stripoinc/ui-editor-extensions';
2
+ export declare class SettingsPanel extends SettingsPanelRegistry {
3
+ registerBlockControls(blockControlsMap: Record<string, SettingsPanelTab[]>): void;
4
+ }