@fyul/embed-sdk 2.5.21 → 2.6.0

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 (103) hide show
  1. package/dist/cjs/helpers/messageLogger.d.ts +1 -0
  2. package/dist/cjs/helpers/messageLogger.js +2 -0
  3. package/dist/cjs/index.d.ts +2 -0
  4. package/dist/cjs/index.js +4 -1
  5. package/dist/cjs/modules/baseModule.d.ts +2 -2
  6. package/dist/cjs/modules/embed-studio/broadcastEvents/baseEmbedStudioBroadcastEvent.d.ts +6 -0
  7. package/dist/cjs/modules/embed-studio/broadcastEvents/baseEmbedStudioBroadcastEvent.js +10 -0
  8. package/dist/cjs/modules/embed-studio/broadcastEvents/onDesignStatusUpdate.d.ts +5 -0
  9. package/dist/cjs/modules/embed-studio/broadcastEvents/onDesignStatusUpdate.js +10 -0
  10. package/dist/cjs/modules/embed-studio/broadcastEvents/onErrorUpdate.d.ts +5 -0
  11. package/dist/cjs/modules/embed-studio/broadcastEvents/onErrorUpdate.js +10 -0
  12. package/dist/cjs/modules/embed-studio/embedStudioBroadcastModule.d.ts +9 -0
  13. package/dist/cjs/modules/embed-studio/embedStudioBroadcastModule.js +20 -0
  14. package/dist/cjs/modules/embed-studio/embedStudioModule.d.ts +10 -0
  15. package/dist/cjs/modules/embed-studio/embedStudioModule.js +21 -0
  16. package/dist/cjs/modules/embed-studio/events.d.ts +26 -0
  17. package/dist/cjs/modules/embed-studio/events.js +25 -0
  18. package/dist/cjs/modules/embed-studio/types/data.types.d.ts +46 -0
  19. package/dist/cjs/modules/embed-studio/types/data.types.js +2 -0
  20. package/dist/cjs/modules/embed-studio/types/event/actionEvent.types.d.ts +7 -0
  21. package/dist/cjs/modules/embed-studio/types/event/actionEvent.types.js +2 -0
  22. package/dist/cjs/modules/embed-studio/types/event/actionEventPayload.types.d.ts +9 -0
  23. package/dist/cjs/modules/embed-studio/types/event/actionEventPayload.types.js +2 -0
  24. package/dist/cjs/modules/embed-studio/types/event/broadcastEvent.types.d.ts +9 -0
  25. package/dist/cjs/modules/embed-studio/types/event/broadcastEvent.types.js +2 -0
  26. package/dist/cjs/modules/embed-studio/types/event/broadcastEventPayload.types.d.ts +4 -0
  27. package/dist/cjs/modules/embed-studio/types/event/broadcastEventPayload.types.js +2 -0
  28. package/dist/cjs/modules/embed-studio/types/event/resultEvent.types.d.ts +5 -0
  29. package/dist/cjs/modules/embed-studio/types/event/resultEvent.types.js +2 -0
  30. package/dist/cjs/modules/embed-studio/types/event/resultEventPayload.types.d.ts +5 -0
  31. package/dist/cjs/modules/embed-studio/types/event/resultEventPayload.types.js +2 -0
  32. package/dist/cjs/modules/embed-studio/types/index.d.ts +8 -0
  33. package/dist/cjs/modules/embed-studio/types/index.js +27 -0
  34. package/dist/cjs/modules/eventTypes.d.ts +2 -2
  35. package/dist/cjs/modules/events.d.ts +12 -6
  36. package/dist/cjs/modules/events.js +5 -0
  37. package/dist/cjs/modules/moduleNames.d.ts +1 -0
  38. package/dist/cjs/modules/moduleNames.js +1 -0
  39. package/dist/cjs/modules/modules.d.ts +3 -0
  40. package/dist/cjs/modules/modules.js +3 -0
  41. package/dist/cjs/services/embedCommunicator.d.ts +3 -3
  42. package/dist/cjs/services/embedCommunicator.js +1 -0
  43. package/dist/cjs/services/embedStudio.d.ts +20 -0
  44. package/dist/cjs/services/embedStudio.js +88 -0
  45. package/dist/cjs/types/event/action/actionEvent.types.d.ts +2 -1
  46. package/dist/cjs/types/event/action/actionEventPayload.types.d.ts +2 -1
  47. package/dist/cjs/types/event/result/resultEvent.types.d.ts +2 -1
  48. package/dist/cjs/types/event/result/resultEventPayload.types.d.ts +2 -1
  49. package/dist/cjs/types/module/module.types.d.ts +10 -0
  50. package/dist/cjs/version.d.ts +1 -1
  51. package/dist/cjs/version.js +1 -1
  52. package/dist/esm/helpers/messageLogger.d.ts +1 -0
  53. package/dist/esm/helpers/messageLogger.js +2 -0
  54. package/dist/esm/index.d.ts +2 -0
  55. package/dist/esm/index.js +2 -0
  56. package/dist/esm/modules/baseModule.d.ts +2 -2
  57. package/dist/esm/modules/embed-studio/broadcastEvents/baseEmbedStudioBroadcastEvent.d.ts +6 -0
  58. package/dist/esm/modules/embed-studio/broadcastEvents/baseEmbedStudioBroadcastEvent.js +6 -0
  59. package/dist/esm/modules/embed-studio/broadcastEvents/onDesignStatusUpdate.d.ts +5 -0
  60. package/dist/esm/modules/embed-studio/broadcastEvents/onDesignStatusUpdate.js +6 -0
  61. package/dist/esm/modules/embed-studio/broadcastEvents/onErrorUpdate.d.ts +5 -0
  62. package/dist/esm/modules/embed-studio/broadcastEvents/onErrorUpdate.js +6 -0
  63. package/dist/esm/modules/embed-studio/embedStudioBroadcastModule.d.ts +9 -0
  64. package/dist/esm/modules/embed-studio/embedStudioBroadcastModule.js +16 -0
  65. package/dist/esm/modules/embed-studio/embedStudioModule.d.ts +10 -0
  66. package/dist/esm/modules/embed-studio/embedStudioModule.js +17 -0
  67. package/dist/esm/modules/embed-studio/events.d.ts +26 -0
  68. package/dist/esm/modules/embed-studio/events.js +22 -0
  69. package/dist/esm/modules/embed-studio/types/data.types.d.ts +46 -0
  70. package/dist/esm/modules/embed-studio/types/data.types.js +1 -0
  71. package/dist/esm/modules/embed-studio/types/event/actionEvent.types.d.ts +7 -0
  72. package/dist/esm/modules/embed-studio/types/event/actionEvent.types.js +1 -0
  73. package/dist/esm/modules/embed-studio/types/event/actionEventPayload.types.d.ts +9 -0
  74. package/dist/esm/modules/embed-studio/types/event/actionEventPayload.types.js +1 -0
  75. package/dist/esm/modules/embed-studio/types/event/broadcastEvent.types.d.ts +9 -0
  76. package/dist/esm/modules/embed-studio/types/event/broadcastEvent.types.js +1 -0
  77. package/dist/esm/modules/embed-studio/types/event/broadcastEventPayload.types.d.ts +4 -0
  78. package/dist/esm/modules/embed-studio/types/event/broadcastEventPayload.types.js +1 -0
  79. package/dist/esm/modules/embed-studio/types/event/resultEvent.types.d.ts +5 -0
  80. package/dist/esm/modules/embed-studio/types/event/resultEvent.types.js +1 -0
  81. package/dist/esm/modules/embed-studio/types/event/resultEventPayload.types.d.ts +5 -0
  82. package/dist/esm/modules/embed-studio/types/event/resultEventPayload.types.js +1 -0
  83. package/dist/esm/modules/embed-studio/types/index.d.ts +8 -0
  84. package/dist/esm/modules/embed-studio/types/index.js +11 -0
  85. package/dist/esm/modules/eventTypes.d.ts +2 -2
  86. package/dist/esm/modules/events.d.ts +12 -6
  87. package/dist/esm/modules/events.js +5 -0
  88. package/dist/esm/modules/moduleNames.d.ts +1 -0
  89. package/dist/esm/modules/moduleNames.js +1 -0
  90. package/dist/esm/modules/modules.d.ts +3 -0
  91. package/dist/esm/modules/modules.js +3 -0
  92. package/dist/esm/services/embedCommunicator.d.ts +3 -3
  93. package/dist/esm/services/embedCommunicator.js +1 -0
  94. package/dist/esm/services/embedStudio.d.ts +20 -0
  95. package/dist/esm/services/embedStudio.js +84 -0
  96. package/dist/esm/types/event/action/actionEvent.types.d.ts +2 -1
  97. package/dist/esm/types/event/action/actionEventPayload.types.d.ts +2 -1
  98. package/dist/esm/types/event/result/resultEvent.types.d.ts +2 -1
  99. package/dist/esm/types/event/result/resultEventPayload.types.d.ts +2 -1
  100. package/dist/esm/types/module/module.types.d.ts +10 -0
  101. package/dist/esm/version.d.ts +1 -1
  102. package/dist/esm/version.js +1 -1
  103. package/package.json +1 -1
@@ -5,7 +5,7 @@ export declare const EVENT_TYPES: {
5
5
  readonly RESULT: "result";
6
6
  readonly BROADCAST: "broadcast";
7
7
  };
8
- export declare function isAction(event: AnyEvent): event is import("./sdk/types").InitializeSdkAction | import("./sdk/types").LoadModuleAction | import("./mockup-generation/types").GetMockupsAction | import("./mockup-generation/types").GetMoreMockupsAction | import("./mockup-generation/types").AdjustMockupAction | import("./edm/types").InitializeEdmAction | import("./edm/types").SaveDesignAction | import("./edm/types").AddImageAction | import("./edm/types").NavigateStepAction | import("./white-label/types").InitializeWhiteLabelAction | import("./catalog/types").GetCatalogCategoriesAction | import("./catalog/types").GetCatalogProductsByIdsAction | import("./catalog/types").GetCatalogProductsAction | import("./catalog/types").GetSingleCatalogProductAction | import("./product-publish/types").DeleteProductsAction | import("./product-publish/types").GetSavedProductsAction | import("./product-publish/types").GetProductPublishAction;
8
+ export declare function isAction(event: AnyEvent): event is import("./sdk/types").InitializeSdkAction | import("./sdk/types").LoadModuleAction | import("./mockup-generation/types").GetMockupsAction | import("./mockup-generation/types").GetMoreMockupsAction | import("./mockup-generation/types").AdjustMockupAction | import("./edm/types").InitializeEdmAction | import("./edm/types").SaveDesignAction | import("./edm/types").AddImageAction | import("./edm/types").NavigateStepAction | import("./white-label/types").InitializeWhiteLabelAction | import("./catalog/types").GetCatalogCategoriesAction | import("./catalog/types").GetCatalogProductsByIdsAction | import("./catalog/types").GetCatalogProductsAction | import("./catalog/types").GetSingleCatalogProductAction | import("./product-publish/types").DeleteProductsAction | import("./product-publish/types").GetSavedProductsAction | import("./product-publish/types").GetProductPublishAction | import("./embed-studio/types").InitializeEmbedStudioAction | import("./embed-studio/types").SaveDesignAction | import("./embed-studio/types").SetStoreContextAction;
9
9
  export declare function isNotification(event: AnyEvent): event is import("..").NotificationEvent;
10
- export declare function isResult(event: AnyEvent): event is import("./catalog/types").GetCatalogProductsResult | import("./catalog/types").GetSingleCatalogProductResult | import("./catalog/types").GetCatalogCategoriesResult | import("./product-publish/types").GetProductPublishResult | import("./product-publish/types").GetSavedProductsResult | import("./product-publish/types").GetSavedProductMockupsResult | import("./product-publish/types").DeleteProductsResult | import("./edm/types").SaveDesignResultEvent | import("./edm/types").AddImageResultEvent | import("./edm/types").SetStyleResultEvent | import("./edm/types").NavigateStepResultEvent | import("./mockup-generation/types").GetMockupsResultEvent | import("./mockup-generation/types").GetMoreMockupsResultEvent | import("./mockup-generation/types").AdjustMockupResultEvent | import("./white-label/types").GoToViewResultEvent;
10
+ export declare function isResult(event: AnyEvent): event is import("./catalog/types").GetCatalogProductsResult | import("./catalog/types").GetSingleCatalogProductResult | import("./catalog/types").GetCatalogCategoriesResult | import("./product-publish/types").GetProductPublishResult | import("./product-publish/types").GetSavedProductsResult | import("./product-publish/types").GetSavedProductMockupsResult | import("./product-publish/types").DeleteProductsResult | import("./edm/types").SaveDesignResultEvent | import("./edm/types").AddImageResultEvent | import("./edm/types").SetStyleResultEvent | import("./edm/types").NavigateStepResultEvent | import("./embed-studio/types").SaveDesignResultEvent | import("./mockup-generation/types").GetMockupsResultEvent | import("./mockup-generation/types").GetMoreMockupsResultEvent | import("./mockup-generation/types").AdjustMockupResultEvent | import("./white-label/types").GoToViewResultEvent;
11
11
  export declare function isBroadcast(event: AnyEvent): event is import("./edm/types/event/broadcastEvent.types").OnDesignStatusUpdateBroadcast | import("./edm/types/event/broadcastEvent.types").OnPricingStatusUpdateBroadcast | import("./edm/types/event/broadcastEvent.types").OnFilePickerRequestBroadcast | import("./edm/types/event/broadcastEvent.types").OnStepStatusUpdateBroadcast | import("./edm/types/event/broadcastEvent.types").OnErrorUpdateBroadcast | import("./white-label/types").OnShoppingCartUpdateBroadcast;
@@ -1,8 +1,10 @@
1
1
  export declare const ALL_ACTION_EVENTS: {
2
2
  readonly INITIALIZE_WHITE_LABEL: "actionInitializeWhiteLabel";
3
3
  readonly GO_TO_VIEW: "actionGoToView";
4
- readonly INITIALIZE_EDM: "actionInitializeEdm";
4
+ readonly INITIALIZE_EMBED_STUDIO: "actionInitializeEdm";
5
5
  readonly SAVE_DESIGN: "actionSaveDesign";
6
+ readonly SET_STORE_CONTEXT: "actionSetStoreContext";
7
+ readonly INITIALIZE_EDM: "actionInitializeEdm";
6
8
  readonly ADD_IMAGE: "actionAddImage";
7
9
  readonly SET_STYLE: "actionSetStyle";
8
10
  readonly NAVIGATE_STEP: "actionNavigateStep";
@@ -23,8 +25,9 @@ export declare const ALL_ACTION_EVENTS: {
23
25
  export declare const ALL_NOTIFICATION_EVENTS: {
24
26
  readonly WHITE_LABEL_INITIALIZATION_SUCCESS: "notificationWhiteLabelInitializationSuccess";
25
27
  readonly GO_TO_VIEW_FAILURE: "actionGoToViewFailure";
26
- readonly EDM_INITIALIZATION_SUCCESS: "notificationEdmInitializationSuccess";
28
+ readonly EMBED_STUDIO_INITIALIZATION_SUCCESS: "notificationEdmInitializationSuccess";
27
29
  readonly SAVE_DESIGN_FAILURE: "actionSaveDesignFailure";
30
+ readonly EDM_INITIALIZATION_SUCCESS: "notificationEdmInitializationSuccess";
28
31
  readonly ADD_IMAGE_FAILURE: "actionAddImageFailure";
29
32
  readonly SET_STYLE_FAILURE: "actionSetStyleFailure";
30
33
  readonly NAVIGATE_STEP_FAILURE: "actionNavigateStepFailure";
@@ -60,18 +63,18 @@ export declare const ALL_RESULT_EVENTS: {
60
63
  export declare const ALL_BROADCAST_EVENTS: {
61
64
  ON_SHOPPING_CART_UPDATE: "onShoppingCartUpdate";
62
65
  ON_DESIGN_STATUS_UPDATE: "onDesignStatusUpdate";
66
+ ON_INTERNAL_ERROR: "onError";
63
67
  ON_PRICING_STATUS_UPDATE: "onPricingStatusUpdate";
64
68
  ON_FILE_PICKER_REQUESTED: "onFilePickerRequested";
65
69
  ON_STEP_STATUS_UPDATE: "onStepStatusUpdate";
66
- ON_INTERNAL_ERROR: "onError";
67
70
  };
68
71
  export declare const ALL_EVENTS: {
69
72
  readonly ON_SHOPPING_CART_UPDATE: "onShoppingCartUpdate";
70
73
  readonly ON_DESIGN_STATUS_UPDATE: "onDesignStatusUpdate";
74
+ readonly ON_INTERNAL_ERROR: "onError";
71
75
  readonly ON_PRICING_STATUS_UPDATE: "onPricingStatusUpdate";
72
76
  readonly ON_FILE_PICKER_REQUESTED: "onFilePickerRequested";
73
77
  readonly ON_STEP_STATUS_UPDATE: "onStepStatusUpdate";
74
- readonly ON_INTERNAL_ERROR: "onError";
75
78
  readonly GO_TO_VIEW_RESULT: "resultGoToView";
76
79
  readonly SAVE_DESIGN_RESULT: "resultSaveDesign";
77
80
  readonly ADD_IMAGE_RESULT: "resultAddImage";
@@ -89,8 +92,9 @@ export declare const ALL_EVENTS: {
89
92
  readonly GET_CATALOG_CATEGORIES_RESULT: "resultGetCatalogCategories";
90
93
  readonly WHITE_LABEL_INITIALIZATION_SUCCESS: "notificationWhiteLabelInitializationSuccess";
91
94
  readonly GO_TO_VIEW_FAILURE: "actionGoToViewFailure";
92
- readonly EDM_INITIALIZATION_SUCCESS: "notificationEdmInitializationSuccess";
95
+ readonly EMBED_STUDIO_INITIALIZATION_SUCCESS: "notificationEdmInitializationSuccess";
93
96
  readonly SAVE_DESIGN_FAILURE: "actionSaveDesignFailure";
97
+ readonly EDM_INITIALIZATION_SUCCESS: "notificationEdmInitializationSuccess";
94
98
  readonly ADD_IMAGE_FAILURE: "actionAddImageFailure";
95
99
  readonly SET_STYLE_FAILURE: "actionSetStyleFailure";
96
100
  readonly NAVIGATE_STEP_FAILURE: "actionNavigateStepFailure";
@@ -107,8 +111,10 @@ export declare const ALL_EVENTS: {
107
111
  readonly SDK_INITIALIZATION_SUCCESS: "notificationSdkInitializationSuccess";
108
112
  readonly INITIALIZE_WHITE_LABEL: "actionInitializeWhiteLabel";
109
113
  readonly GO_TO_VIEW: "actionGoToView";
110
- readonly INITIALIZE_EDM: "actionInitializeEdm";
114
+ readonly INITIALIZE_EMBED_STUDIO: "actionInitializeEdm";
111
115
  readonly SAVE_DESIGN: "actionSaveDesign";
116
+ readonly SET_STORE_CONTEXT: "actionSetStoreContext";
117
+ readonly INITIALIZE_EDM: "actionInitializeEdm";
112
118
  readonly ADD_IMAGE: "actionAddImage";
113
119
  readonly SET_STYLE: "actionSetStyle";
114
120
  readonly NAVIGATE_STEP: "actionNavigateStep";
@@ -3,6 +3,7 @@ import * as EVENTS_CATALOG from './catalog/events';
3
3
  import * as EVENTS_MOCKUP_GENERATION from './mockup-generation/events';
4
4
  import * as EVENTS_PRODUCT_PUBLISH from './product-publish/events';
5
5
  import * as EVENTS_EDM from './edm/events';
6
+ import * as EVENTS_EMBED_STUDIO from './embed-studio/events';
6
7
  import * as EVENTS_WHITE_LABEL from './white-label/events';
7
8
  export const ALL_ACTION_EVENTS = {
8
9
  ...EVENTS_SDK.EVENTS_ACTION,
@@ -10,6 +11,7 @@ export const ALL_ACTION_EVENTS = {
10
11
  ...EVENTS_MOCKUP_GENERATION.EVENTS_ACTION,
11
12
  ...EVENTS_PRODUCT_PUBLISH.EVENTS_ACTION,
12
13
  ...EVENTS_EDM.EVENTS_ACTION,
14
+ ...EVENTS_EMBED_STUDIO.EVENTS_ACTION,
13
15
  ...EVENTS_WHITE_LABEL.EVENTS_ACTION,
14
16
  };
15
17
  export const ALL_NOTIFICATION_EVENTS = {
@@ -18,6 +20,7 @@ export const ALL_NOTIFICATION_EVENTS = {
18
20
  ...EVENTS_MOCKUP_GENERATION.EVENTS_NOTIFICATION,
19
21
  ...EVENTS_PRODUCT_PUBLISH.EVENTS_NOTIFICATION,
20
22
  ...EVENTS_EDM.EVENTS_NOTIFICATION,
23
+ ...EVENTS_EMBED_STUDIO.EVENTS_NOTIFICATION,
21
24
  ...EVENTS_WHITE_LABEL.EVENTS_NOTIFICATION,
22
25
  };
23
26
  export const ALL_RESULT_EVENTS = {
@@ -26,10 +29,12 @@ export const ALL_RESULT_EVENTS = {
26
29
  ...EVENTS_MOCKUP_GENERATION.EVENTS_RESULT,
27
30
  ...EVENTS_PRODUCT_PUBLISH.EVENTS_RESULT,
28
31
  ...EVENTS_EDM.EVENTS_RESULT,
32
+ ...EVENTS_EMBED_STUDIO.EVENTS_RESULT,
29
33
  ...EVENTS_WHITE_LABEL.EVENTS_RESULT,
30
34
  };
31
35
  export const ALL_BROADCAST_EVENTS = {
32
36
  ...EVENTS_EDM.EVENT_BROADCAST,
37
+ ...EVENTS_EMBED_STUDIO.EVENT_BROADCAST,
33
38
  ...EVENTS_WHITE_LABEL.EVENT_BROADCAST,
34
39
  };
35
40
  export const ALL_EVENTS = {
@@ -4,5 +4,6 @@ export declare const MODULE_NAMES: {
4
4
  readonly MOCKUP_GENERATION: "mockupGeneration";
5
5
  readonly PRODUCT_PUBLISH: "productPublish";
6
6
  readonly EDM: "edm";
7
+ readonly EMBED_STUDIO: "embedStudio";
7
8
  readonly WHITE_LABEL: "whiteLabel";
8
9
  };
@@ -4,5 +4,6 @@ export const MODULE_NAMES = {
4
4
  MOCKUP_GENERATION: 'mockupGeneration',
5
5
  PRODUCT_PUBLISH: 'productPublish',
6
6
  EDM: 'edm',
7
+ EMBED_STUDIO: 'embedStudio',
7
8
  WHITE_LABEL: 'whiteLabel',
8
9
  };
@@ -3,6 +3,7 @@ import { CatalogModule } from './catalog/catalogModule';
3
3
  import { MockupGenerationModule } from './mockup-generation/mockupGenerationModule';
4
4
  import { ProductPublishModule } from './product-publish/productPublishModule';
5
5
  import { EdmModule } from '../modules/edm/edmModule';
6
+ import { EmbedStudioModule } from '../modules/embed-studio/embedStudioModule';
6
7
  import { WhiteLabelModule } from '../modules/white-label/whiteLabelModule';
7
8
  import { MODULE_NAMES } from './moduleNames';
8
9
  export { MODULE_NAMES };
@@ -12,6 +13,7 @@ export declare const MODULES: {
12
13
  mockupGeneration: typeof MockupGenerationModule;
13
14
  productPublish: typeof ProductPublishModule;
14
15
  edm: typeof EdmModule;
16
+ embedStudio: typeof EmbedStudioModule;
15
17
  whiteLabel: typeof WhiteLabelModule;
16
18
  };
17
19
  export declare const MODULE_DEPENDENCY_MAP: {
@@ -20,5 +22,6 @@ export declare const MODULE_DEPENDENCY_MAP: {
20
22
  mockupGeneration: "sdk";
21
23
  productPublish: "sdk";
22
24
  edm: "edm";
25
+ embedStudio: "embedStudio";
23
26
  whiteLabel: "whiteLabel";
24
27
  };
@@ -3,6 +3,7 @@ import { CatalogModule } from './catalog/catalogModule';
3
3
  import { MockupGenerationModule } from './mockup-generation/mockupGenerationModule';
4
4
  import { ProductPublishModule } from './product-publish/productPublishModule';
5
5
  import { EdmModule } from '../modules/edm/edmModule';
6
+ import { EmbedStudioModule } from '../modules/embed-studio/embedStudioModule';
6
7
  import { WhiteLabelModule } from '../modules/white-label/whiteLabelModule';
7
8
  import { MODULE_NAMES } from './moduleNames';
8
9
  export { MODULE_NAMES };
@@ -12,6 +13,7 @@ export const MODULES = {
12
13
  [MODULE_NAMES.MOCKUP_GENERATION]: MockupGenerationModule,
13
14
  [MODULE_NAMES.PRODUCT_PUBLISH]: ProductPublishModule,
14
15
  [MODULE_NAMES.EDM]: EdmModule,
16
+ [MODULE_NAMES.EMBED_STUDIO]: EmbedStudioModule,
15
17
  [MODULE_NAMES.WHITE_LABEL]: WhiteLabelModule,
16
18
  };
17
19
  export const MODULE_DEPENDENCY_MAP = {
@@ -20,5 +22,6 @@ export const MODULE_DEPENDENCY_MAP = {
20
22
  [MODULE_NAMES.MOCKUP_GENERATION]: MODULE_NAMES.SDK,
21
23
  [MODULE_NAMES.PRODUCT_PUBLISH]: MODULE_NAMES.SDK,
22
24
  [MODULE_NAMES.EDM]: MODULE_NAMES.EDM,
25
+ [MODULE_NAMES.EMBED_STUDIO]: MODULE_NAMES.EMBED_STUDIO,
23
26
  [MODULE_NAMES.WHITE_LABEL]: MODULE_NAMES.WHITE_LABEL,
24
27
  };
@@ -11,8 +11,8 @@ export declare class EmbedCommunicator {
11
11
  private isListening;
12
12
  private constructor();
13
13
  static getInstance(): EmbedCommunicator;
14
- sendCorrelatedRequest<TReturn>(eventName: ActionEventName, moduleType: typeof MODULE_NAMES.SDK | typeof MODULE_NAMES.EDM | typeof MODULE_NAMES.WHITE_LABEL, payload?: ActionEventPayload): Promise<TReturn>;
15
- setIFrameManager(mainModule: typeof MODULE_NAMES.SDK | typeof MODULE_NAMES.EDM | typeof MODULE_NAMES.WHITE_LABEL, iFrameManager: iFrameManager): void;
14
+ sendCorrelatedRequest<TReturn>(eventName: ActionEventName, moduleType: typeof MODULE_NAMES.SDK | typeof MODULE_NAMES.EDM | typeof MODULE_NAMES.EMBED_STUDIO | typeof MODULE_NAMES.WHITE_LABEL, payload?: ActionEventPayload): Promise<TReturn>;
15
+ setIFrameManager(mainModule: typeof MODULE_NAMES.SDK | typeof MODULE_NAMES.EDM | typeof MODULE_NAMES.EMBED_STUDIO | typeof MODULE_NAMES.WHITE_LABEL, iFrameManager: iFrameManager): void;
16
16
  setupListener(): void;
17
17
  private handleInboundMessageEvent;
18
18
  private handleInboundEvent;
@@ -22,6 +22,6 @@ export declare class EmbedCommunicator {
22
22
  isValidBroadcastEvent(event: BroadcastEvent): false | import("../modules/edm/types").OnDesignStatusEvent | import("../modules/edm/types").OnErrorEvent | import("../modules/edm/types").OnFilePickerRequestedEvent | import("../modules/edm/types").StepResponse | import("../modules/white-label/types").OnShoppingCartUpdateEvent | import("../modules/edm/types/event/broadcastEventPayload.types").OnPricingStatusUpdateEventPayload | undefined;
23
23
  private resolveSuccessfulEvent;
24
24
  handleBroadcastEvent(event: BroadcastEvent): void;
25
- protected send(event: ActionEvent, moduleType: typeof MODULE_NAMES.SDK | typeof MODULE_NAMES.EDM | typeof MODULE_NAMES.WHITE_LABEL): void;
25
+ protected send(event: ActionEvent, moduleType: typeof MODULE_NAMES.SDK | typeof MODULE_NAMES.EDM | typeof MODULE_NAMES.EMBED_STUDIO | typeof MODULE_NAMES.WHITE_LABEL): void;
26
26
  cleanup(): void;
27
27
  }
@@ -11,6 +11,7 @@ export class EmbedCommunicator {
11
11
  iFrameManagers = {
12
12
  [MODULE_NAMES.SDK]: null,
13
13
  [MODULE_NAMES.EDM]: null,
14
+ [MODULE_NAMES.EMBED_STUDIO]: null,
14
15
  [MODULE_NAMES.WHITE_LABEL]: null,
15
16
  };
16
17
  isListening = false;
@@ -0,0 +1,20 @@
1
+ import { EmbedStudioBroadcastModule } from '../modules/embed-studio/embedStudioBroadcastModule';
2
+ import type { EmbedStudioParams, EmbedStudioConfig } from '../modules/embed-studio/types/data.types';
3
+ import type { EmbedStudioBroadcastListeners } from '../modules/embed-studio/types/event/broadcastEvent.types';
4
+ import type { SaveDesignResultPayload } from '../modules/embed-studio/types/event/resultEventPayload.types';
5
+ import type { HandledResponse } from '../types/event/result/resultEventPayload.types';
6
+ export declare class EmbedStudio {
7
+ private params;
8
+ private config?;
9
+ static BASE_URL: string;
10
+ static broadCastEventHandler: EmbedStudioBroadcastModule | null;
11
+ private iFrameManager;
12
+ private communicator;
13
+ private moduleLoader;
14
+ private initialized;
15
+ constructor(params: EmbedStudioParams, config?: EmbedStudioConfig | undefined, callbacks?: Partial<EmbedStudioBroadcastListeners>);
16
+ init(): Promise<void>;
17
+ saveDesign(): Promise<HandledResponse<SaveDesignResultPayload, Error>>;
18
+ destroy(): void;
19
+ static getBroadCastEventHandler(): EmbedStudioBroadcastModule;
20
+ }
@@ -0,0 +1,84 @@
1
+ import { iFrameManager } from '../services/iFrameManager';
2
+ import { EmbedCommunicator } from '../services/embedCommunicator';
3
+ import { ModuleLoaderService } from '../services/moduleLoaderService';
4
+ import { EmbedStudioBroadcastModule } from '../modules/embed-studio/embedStudioBroadcastModule';
5
+ import { MODULE_NAMES } from '../modules/moduleNames';
6
+ import { VERSION } from '../version';
7
+ import { LOG_TYPES, logEmbedMessage, setLoggerState, SOURCES, } from '../helpers/messageLogger';
8
+ export class EmbedStudio {
9
+ params;
10
+ config;
11
+ static BASE_URL = globalThis.__FYUL_TESTING_VARS__?.iframeUrl ??
12
+ 'https://embed-studio.fyul.com';
13
+ static broadCastEventHandler = null;
14
+ iFrameManager = null;
15
+ communicator = EmbedCommunicator.getInstance();
16
+ moduleLoader = ModuleLoaderService.getInstance();
17
+ initialized = false;
18
+ constructor(params, config, callbacks) {
19
+ this.params = params;
20
+ this.config = config;
21
+ EmbedStudio.broadCastEventHandler = new EmbedStudioBroadcastModule(callbacks);
22
+ setLoggerState(params?.debug ?? false, SOURCES.EMBED_STUDIO);
23
+ }
24
+ async init() {
25
+ if (this.initialized) {
26
+ logEmbedMessage({
27
+ message: 'EmbedStudio already initialized',
28
+ logType: LOG_TYPES.WARN,
29
+ });
30
+ return;
31
+ }
32
+ const elementToBindTo = this.params.element ?? document.getElementById(this.params.elementId);
33
+ if (!elementToBindTo) {
34
+ logEmbedMessage({
35
+ message: 'Cant find element for EmbedStudio',
36
+ logType: LOG_TYPES.ERROR,
37
+ });
38
+ return;
39
+ }
40
+ this.iFrameManager = new iFrameManager({
41
+ baseUrl: EmbedStudio.BASE_URL,
42
+ urlParams: {
43
+ nonce: this.params.nonce,
44
+ sdkMode: true,
45
+ },
46
+ class: this.params.iframeClassName,
47
+ elementToAppendTo: elementToBindTo,
48
+ });
49
+ await this.iFrameManager.create();
50
+ this.communicator.setIFrameManager(MODULE_NAMES.EMBED_STUDIO, this.iFrameManager);
51
+ this.communicator.setupListener();
52
+ const embedStudioModule = this.moduleLoader.getModule(MODULE_NAMES.EMBED_STUDIO);
53
+ const notification = await embedStudioModule.setup({
54
+ ...this.config,
55
+ ...this.params,
56
+ clientVersion: VERSION,
57
+ });
58
+ logEmbedMessage({
59
+ message: ['EmbedStudio setup notification', notification],
60
+ logType: LOG_TYPES.LOG,
61
+ });
62
+ this.initialized = true;
63
+ }
64
+ saveDesign() {
65
+ const module = this.moduleLoader.getModule(MODULE_NAMES.EMBED_STUDIO);
66
+ return module.saveDesign();
67
+ }
68
+ destroy() {
69
+ if (this.iFrameManager) {
70
+ this.iFrameManager.destroy();
71
+ this.iFrameManager = null;
72
+ }
73
+ this.communicator.cleanup();
74
+ this.moduleLoader.clearCache();
75
+ this.initialized = false;
76
+ EmbedStudio.broadCastEventHandler = null;
77
+ }
78
+ static getBroadCastEventHandler() {
79
+ if (!EmbedStudio.broadCastEventHandler) {
80
+ throw new Error('No active EmbedStudioBroadcastModule instance');
81
+ }
82
+ return EmbedStudio.broadCastEventHandler;
83
+ }
84
+ }
@@ -3,6 +3,7 @@ import { ActionEvent as CatalogActionEvent } from '../../../modules/catalog/type
3
3
  import { ActionEvent as MockupGenerationActionEvent } from '../../../modules/mockup-generation/types/event/actionEvent.types';
4
4
  import { ActionEvent as ProductPublishActionEvent } from '../../../modules/product-publish/types/event/actionEvent.types';
5
5
  import { ActionEvent as EdmActionEvent } from '../../../modules/edm/types/event/actionEvent.types';
6
+ import { ActionEvent as EmbedStudioActionEvent } from '../../../modules/embed-studio/types/event/actionEvent.types';
6
7
  import { ActionEvent as WhiteLabelActionEvent } from '../../../modules/white-label/types/event/actionEvent.types';
7
8
  import { ALL_ACTION_EVENTS } from '../../../modules/events';
8
9
  import { Event } from '../../../types/event/event.types';
@@ -10,4 +11,4 @@ import { EVENT_TYPES } from '../../../modules/eventTypes';
10
11
  import { ActionEventPayload } from './actionEventPayload.types';
11
12
  export type ActionEventName = (typeof ALL_ACTION_EVENTS)[keyof typeof ALL_ACTION_EVENTS];
12
13
  export type BaseActionEvent<TName extends ActionEventName, TPayload extends ActionEventPayload> = Event<TName, typeof EVENT_TYPES.ACTION, TPayload>;
13
- export type ActionEvent = MockupGenerationActionEvent | CatalogActionEvent | ProductPublishActionEvent | SdkActionEvent | EdmActionEvent | WhiteLabelActionEvent;
14
+ export type ActionEvent = MockupGenerationActionEvent | CatalogActionEvent | ProductPublishActionEvent | SdkActionEvent | EdmActionEvent | EmbedStudioActionEvent | WhiteLabelActionEvent;
@@ -3,5 +3,6 @@ import { ActionEventPayload as CatalogEventPayload } from '../../../modules/cata
3
3
  import { ActionEventPayload as MockupGenerationEventPayload } from '../../../modules/mockup-generation/types/event/actionEventPayload.types';
4
4
  import { ActionEventPayload as ProductPublishEventPayload } from '../../../modules/product-publish/types/event/actionEventPayload.types';
5
5
  import { ActionEventPayload as EdmEventPayload } from '../../../modules/edm/types/event/actionEventPayload.types';
6
+ import { ActionEventPayload as EmbedStudioActionEventPayload } from '../../../modules/embed-studio/types/event/actionEventPayload.types';
6
7
  import { ActionEventPayload as WhiteLabelEventPayload } from '../../../modules/white-label/types/event/actionEventPayload.types';
7
- export type ActionEventPayload = LoadModulePayload | MockupGenerationEventPayload | CatalogEventPayload | SdkEventPayload | ProductPublishEventPayload | EdmEventPayload | WhiteLabelEventPayload | undefined;
8
+ export type ActionEventPayload = LoadModulePayload | MockupGenerationEventPayload | CatalogEventPayload | SdkEventPayload | ProductPublishEventPayload | EdmEventPayload | EmbedStudioActionEventPayload | WhiteLabelEventPayload | undefined;
@@ -2,6 +2,7 @@ import { ResultEvent as CatalogResultEvent } from '../../../modules/catalog/type
2
2
  import { ResultEvent as MockupGenerationResultEvent } from '../../../modules/mockup-generation/types/event/resultEvent.types';
3
3
  import { ResultEvent as ProductPublishResultEvent } from '../../../modules/product-publish/types/event/resultEvent.types';
4
4
  import { ResultEvent as EdmResultPayload } from '../../../modules/edm/types/event/resultEvent.types';
5
+ import { ResultEvent as EmbedStudioResultEvent } from '../../../modules/embed-studio/types/event/resultEvent.types';
5
6
  import { ResultEvent as WhiteLabelResultPayload } from '../../../modules/white-label/types/event/resultEvent.types';
6
7
  import { ResultEventPayload } from './resultEventPayload.types';
7
8
  import { EVENT_TYPES } from '../../../modules/eventTypes';
@@ -9,4 +10,4 @@ import { Event } from '../../../types/event/event.types';
9
10
  import { ALL_RESULT_EVENTS } from '../../../modules/events';
10
11
  export type ResultEventName = (typeof ALL_RESULT_EVENTS)[keyof typeof ALL_RESULT_EVENTS];
11
12
  export type BaseResultEvent<TName extends ResultEventName, TPayload extends ResultEventPayload> = Event<TName, typeof EVENT_TYPES.RESULT, TPayload>;
12
- export type ResultEvent = MockupGenerationResultEvent | CatalogResultEvent | ProductPublishResultEvent | EdmResultPayload | WhiteLabelResultPayload;
13
+ export type ResultEvent = MockupGenerationResultEvent | CatalogResultEvent | ProductPublishResultEvent | EdmResultPayload | EmbedStudioResultEvent | WhiteLabelResultPayload;
@@ -2,8 +2,9 @@ import type { CatalogResultPayload } from '../../../modules/catalog/types';
2
2
  import type { MockupGenerationResultPayload } from '../../../modules/mockup-generation/types';
3
3
  import type { ProductPublishResultPayload } from '../../../modules/product-publish/types';
4
4
  import type { EdmResultPayload } from '../../../modules/edm/types/event/resultEventPayload.types';
5
+ import type { EmbedStudioResultPayload } from '../../../modules/embed-studio/types/event/resultEventPayload.types';
5
6
  import type { WhiteLabelResultPayload } from '../../../modules/white-label/types/event/resultEventPayload.types';
6
- export type ResultEventPayload = MockupGenerationResultPayload | CatalogResultPayload | ProductPublishResultPayload | EdmResultPayload | WhiteLabelResultPayload;
7
+ export type ResultEventPayload = MockupGenerationResultPayload | CatalogResultPayload | ProductPublishResultPayload | EdmResultPayload | EmbedStudioResultPayload | WhiteLabelResultPayload;
7
8
  export type HandledResponse<T, K extends Error> = {
8
9
  data: T;
9
10
  error: null;
@@ -5,7 +5,9 @@ import { GetCatalogCategoriesResultPayload, GetCatalogProductsByIdsPayload, GetC
5
5
  import { NotificationEventPayload } from '../../types/event/notification/notificationEventPayload.types';
6
6
  import { DeleteProductsPayload, DeleteProductResultPayload, GetProductPublishPayload, GetSavedProductsPayload, GetSavedProductsResultPayload, ProductPublishData } from '../../modules/product-publish/types';
7
7
  import { OnDesignStatusEventPayload, OnErrorEventPayload, OnFilePickerRequestedEventPayload, OnPricingStatusUpdateEventPayload, OnStepStatusUpdateEventPayload } from '../../modules/edm/types/event/broadcastEventPayload.types';
8
+ import { OnDesignStatusEventPayload as EmbedStudioOnDesignStatusEventPayload, OnErrorEventPayload as EmbedStudioOnErrorEventPayload } from '../../modules/embed-studio/types/event/broadcastEventPayload.types';
8
9
  import { AddImagePayload, AddImageResultPayload, InitializeEdmPayload, NavigateStepPayload, NavigateStepResultPayload, SaveDesignResultPayload, SetStylePayload, SetStyleResultPayload } from '../../modules/edm/types';
10
+ import { InitializeEmbedStudioPayload, SaveDesignResultPayload as EmbedStudioSaveDesignResultPayload } from '../../modules/embed-studio/types';
9
11
  import { InitializeWhiteLabelPayload, GoToViewResultPayload, GoToViewPayload } from '../../modules/white-label/types';
10
12
  import { OnShoppingCartUpdateEventPayload } from '../../modules/white-label/types/event/broadcastEventPayload.types';
11
13
  /** This file ensures that Iframe and SDK has the same source of truth for return values */
@@ -35,6 +37,10 @@ export interface IEdmModule {
35
37
  setStyle(payload: SetStylePayload): SetStyleResultPayload;
36
38
  navigateStep(payload: NavigateStepPayload): NavigateStepResultPayload;
37
39
  }
40
+ export interface IEmbedStudioModule {
41
+ setup(config?: InitializeEmbedStudioPayload): NotificationEventPayload | void;
42
+ saveDesign(): EmbedStudioSaveDesignResultPayload;
43
+ }
38
44
  export interface IEdmBroadcastModule {
39
45
  onDesignStatusUpdate(event: OnDesignStatusEventPayload): void;
40
46
  onFilePickerRequested(event: OnFilePickerRequestedEventPayload): void;
@@ -42,6 +48,10 @@ export interface IEdmBroadcastModule {
42
48
  onStepStatusUpdate(event: OnStepStatusUpdateEventPayload): void;
43
49
  onErrorUpdate(event: OnErrorEventPayload): void;
44
50
  }
51
+ export interface IEmbedStudioBroadcastModule {
52
+ onDesignStatusUpdate(event: EmbedStudioOnDesignStatusEventPayload): void;
53
+ onErrorUpdate(event: EmbedStudioOnErrorEventPayload): void;
54
+ }
45
55
  export interface IWhiteLabelModule {
46
56
  setup(config: InitializeWhiteLabelPayload): NotificationEventPayload | void;
47
57
  goToView(event: GoToViewPayload): GoToViewResultPayload;
@@ -1 +1 @@
1
- export declare const VERSION: "2.5.21";
1
+ export declare const VERSION: "2.6.0";
@@ -1,2 +1,2 @@
1
1
  // AUTO-GENERATED
2
- export const VERSION = '2.5.21';
2
+ export const VERSION = '2.6.0';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fyul/embed-sdk",
3
- "version": "2.5.21",
3
+ "version": "2.6.0",
4
4
  "description": "",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",