@sitecore-marketplace-sdk/client 0.1.2 → 0.2.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.
package/README.md CHANGED
@@ -1,10 +1,22 @@
1
- # SITECORE MARKETPLACE CLIENT SDK
1
+ # Sitecore Marketplace SDK - `client` package
2
2
 
3
- The Marketplace Client SDK provides a secure, bidirectional communication between a client
4
- application (running inside an iframe) and the host application. Inspired by React Query, the SDK implements a query/mutation API where:
3
+ The `client` package provides secure, bidirectional communication between a Marketplace application (the client) and Sitecore (the host). Sitecore loads the Marketplace app inside a sandboxed [iframe](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe). The iframe and its parent window securely communicate using the web browser's [PostMessage API](https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage).
5
4
 
6
- - **Queries** support one-off data requests as well as subscriptions for live updates.
7
- - **Mutations** trigger state changes or HTTP requests on the host side (with user tokens attached by the Host SDK).
5
+ This package lets you:
6
+
7
+ - Make queries. Queries support one-off data requests and subscriptions for live updates. The `client` package lets you query the host's state and environment, and the [context](#query-the-application-context) of your Marketplace app.
8
+ - Make mutations. Mutations trigger state changes or HTTP requests in Sitecore.
9
+ - Interact with Sitecore APIs to perform actions on behalf of the resource access it was granted during installation.
10
+ > [!TIP]
11
+ > Inspired by GraphQL and React Query, the query/mutation API manages internal state, loading status, and error handling.
12
+
13
+ The `client` package is required for all Marketplace apps.
14
+
15
+ ## Prerequisites
16
+
17
+ - Node.js 16 or later. Check your installed version by using the `node --version` command.
18
+ - npm 10 or later. Check your installed version by using the `npm --version` command.
19
+ - Access to the Sitecore Cloud Portal.
8
20
 
9
21
  ## Installation
10
22
 
@@ -16,65 +28,208 @@ npm install @sitecore-marketplace-sdk/client
16
28
 
17
29
  Before you use queries or mutations, you must initialize the Client SDK.
18
30
 
19
- Example initialization code:
31
+ 1. Create a hook that will handle the initialization:
20
32
 
21
33
  ```typescript
34
+ // utils/hooks/useMarketplaceClient.ts
35
+
22
36
  import { ClientSDK } from '@sitecore-marketplace-sdk/client';
37
+ import { useEffect, useState, useCallback, useMemo, useRef } from 'react';
23
38
 
24
- // Create a configuration object.
25
- const config = {
26
- origin: 'https://pages.sitecorecloud.io',
27
- target: window.parent,
28
- modules: []
39
+ export interface MarketplaceClientState {
40
+ client: ClientSDK | null;
41
+ error: Error | null;
42
+ isLoading: boolean;
43
+ isInitialized: boolean;
44
+ }
45
+
46
+ export interface UseMarketplaceClientOptions {
47
+ /**
48
+ * Number of retry attempts when initialization fails
49
+ * @default 3
50
+ */
51
+ retryAttempts?: number;
52
+
53
+ /**
54
+ * Delay between retry attempts in milliseconds
55
+ * @default 1000
56
+ */
57
+ retryDelay?: number;
58
+
59
+ /**
60
+ * Whether to automatically initialize the client
61
+ * @default true
62
+ */
63
+ autoInit?: boolean;
64
+ }
65
+
66
+ const DEFAULT_OPTIONS: Required<UseMarketplaceClientOptions> = {
67
+ retryAttempts: 3,
68
+ retryDelay: 1000,
69
+ autoInit: true,
29
70
  };
30
71
 
31
- // Create a Client SDK instance using the configuration.
32
- // The returned SDK provides a type-safe API based on your resource schema.
33
- const client = await ClientSDK.init(config);
34
- ```
72
+ let client: ClientSDK | undefined = undefined;
35
73
 
36
- ## Usage
74
+ async function getMarketplaceClient() {
75
+ if (client) {
76
+ return client;
77
+ }
37
78
 
38
- ### Query Example
79
+ const config = {
80
+ target: window.parent,
81
+ };
39
82
 
40
- The `query` method supports one-off data requests and live subscriptions. The keys follow a dot-notated format derived from your
41
- static JSON schema (for example, `"application.context"`).
83
+ client = await ClientSDK.init(config);
84
+ return client;
85
+ }
42
86
 
43
- ```typescript
44
- (async () => {
45
- // One-off query example: Request host state once.
46
- const queryResult = await client.query('host.state');
87
+ export function useMarketplaceClient(options: UseMarketplaceClientOptions = {}) {
88
+ // Memoize the options to prevent unnecessary re-renders
89
+ const opts = useMemo(() => ({ ...DEFAULT_OPTIONS, ...options }), [options]);
90
+
91
+ const [state, setState] = useState<MarketplaceClientState>({
92
+ client: null,
93
+ error: null,
94
+ isLoading: false,
95
+ isInitialized: false,
96
+ });
97
+
98
+ // Use ref to track if we're currently initializing to prevent race conditions
99
+ const isInitializingRef = useRef(false);
100
+
101
+ const initializeClient = useCallback(
102
+ async (attempt = 1): Promise<void> => {
103
+ // Use functional state update to check current state without dependencies
104
+ let shouldProceed = false;
105
+ setState((prev) => {
106
+ if (prev.isLoading || prev.isInitialized || isInitializingRef.current) {
107
+ return prev;
108
+ }
109
+ shouldProceed = true;
110
+ isInitializingRef.current = true;
111
+ return { ...prev, isLoading: true, error: null };
112
+ });
113
+
114
+ if (!shouldProceed) return;
115
+
116
+ try {
117
+ const client = await getMarketplaceClient();
118
+ setState({
119
+ client,
120
+ error: null,
121
+ isLoading: false,
122
+ isInitialized: true,
123
+ });
124
+ } catch (error) {
125
+ if (attempt < opts.retryAttempts) {
126
+ await new Promise((resolve) => setTimeout(resolve, opts.retryDelay));
127
+ return initializeClient(attempt + 1);
128
+ }
129
+
130
+ setState({
131
+ client: null,
132
+ error:
133
+ error instanceof Error ? error : new Error('Failed to initialize MarketplaceClient'),
134
+ isLoading: false,
135
+ isInitialized: false,
136
+ });
137
+ } finally {
138
+ isInitializingRef.current = false;
139
+ }
140
+ },
141
+ [opts.retryAttempts, opts.retryDelay],
142
+ ); // Removed state dependencies
47
143
 
48
- console.log(queryResult.data); // Displays the host state data
49
- console.log(queryResult.isLoading); // false once the request is complete
50
- ```
144
+ useEffect(() => {
145
+ if (opts.autoInit) {
146
+ initializeClient();
147
+ }
51
148
 
52
- ### Mutation Example
149
+ return () => {
150
+ isInitializingRef.current = false;
151
+ setState({
152
+ client: null,
153
+ error: null,
154
+ isLoading: false,
155
+ isInitialized: false,
156
+ });
157
+ };
158
+ }, [opts.autoInit, initializeClient]);
159
+
160
+ // Memoize the return value to prevent object recreation on every render
161
+ return useMemo(
162
+ () => ({
163
+ ...state,
164
+ initialize: initializeClient,
165
+ }),
166
+ [state, initializeClient],
167
+ );
168
+ }
169
+ ```
53
170
 
54
- Use the `mutate` method to trigger changes on the host side. The Host SDK (integrated via the internal Core SDK) will attach the required
55
- user token and perform the HTTP request on behalf of the client application.
171
+ 2. Initialize the SDK:
56
172
 
57
173
  ```typescript
58
- (async () => {
59
- try {
60
- const mutationResponse = await client.mutate(
61
- 'host.state',
62
- { params: {
63
- newState: 'active'
64
- }}
65
- );
66
- console.log('Mutation response:', mutationResponse);
67
- } catch (error) {
68
- console.error('Error during mutation:', error);
69
- }
70
- })();
174
+ // src/pages/index.tsx
175
+
176
+ import { useState, useEffect } from "react";
177
+ import type { ApplicationContext } from "@sitecore-marketplace-sdk/client";
178
+ import { useMarketplaceClient } from "@/utils/hooks/useMarketplaceClient";
179
+
180
+ function App() {
181
+ const { client, error, isInitialized } = useMarketplaceClient();
182
+ const [appContext, setAppContext] = useState<ApplicationContext>();
183
+
184
+ useEffect(() => {
185
+ if (!error && isInitialized && client) {
186
+ console.log("Marketplace client initialized successfully.");
187
+
188
+ // Make a query to retrieve the application context
189
+ client.query("application.context")
190
+ .then((res) => {
191
+ console.log("Success retrieving application.context:", res.data);
192
+ setAppContext(res.data);
193
+ })
194
+ .catch((error) => {
195
+ console.error("Error retrieving application.context:", error);
196
+ });
197
+ } else if (error) {
198
+ console.error("Error initializing Marketplace client:", error);
199
+ }
200
+ }, [client, error, isInitialized]);
201
+
202
+ return (
203
+ <>
204
+ <h1>Welcome to {appContext?.name}</h1>
205
+ </>
206
+ );
207
+ }
208
+
209
+ export default App;
71
210
  ```
72
211
 
73
- ### Application Context
212
+ ## Usage
213
+
214
+ ### Make a query
215
+
216
+ Use the `query` method to make one-off data requests and live subscriptions. Pass a value to the method depending on the data you want to retrieve.
217
+
218
+ For example, pass `'application.context'` to retrieve details about the Marketplace app and the Sitecore host, including, for example, your Context IDs:
74
219
 
75
- This application context provides information about the application, such as its ID, URL, name, type, icon URL, installation ID, and associated resources.
220
+ ```typescript
221
+ client
222
+ .query('application.context')
223
+ .then((res) => {
224
+ console.log('Success retrieving application.context:', res.data);
225
+ setAppContext(res.data);
226
+ })
227
+ .catch((error) => {
228
+ console.error('Error retrieving application.context:', error);
229
+ });
230
+ ```
76
231
 
77
- Here is the ApplicationContext data example:
232
+ The application context provides information about your Marketplace app, such as its ID, URL, name, type, icon URL, installation ID, and associated resource access:
78
233
 
79
234
  ```javascript
80
235
  {
@@ -84,13 +239,13 @@ Here is the ApplicationContext data example:
84
239
  url: 'https://my-app.com/app',
85
240
  iconUrl: 'https://my-app.com/assets/icon.png',
86
241
  installationId: 'abc1234567890',
87
- resources: [
242
+ resourceAccess: [
88
243
  {
89
244
  resourceId: 'resource-1',
90
245
  tenantId: 'tenant-1',
91
246
  tenantName: 'Example Tenant',
92
247
  context: {
93
- live: '1234567890',
248
+ live: '1234567890',
94
249
  preview: '0987654321'
95
250
  }
96
251
  }
@@ -98,41 +253,33 @@ Here is the ApplicationContext data example:
98
253
  }
99
254
  ```
100
255
 
101
- To request the application context, you can use the query method with the key 'application.context'. This will return data of type ApplicationContext.
256
+ For an overview of all the possible values, refer to the [`QueryMap` interface](../../docs/client/interfaces/QueryMap.md).
257
+
258
+ ### Make a mutation
259
+
260
+ Use the `mutate` method to trigger changes in Sitecore (the host). Pass a value to the method depending on the change you want to make.
261
+
262
+ For example, pass `'pages.reloadCanvas'` to reload the XM Cloud page builder canvas:
102
263
 
103
264
  ```typescript
104
- (async () => {
105
- const queryResult = await client.query('application.context');
106
- console.log(queryResult.data); // Displays the application context data
107
- })();
265
+ const reloadCanvas = () => {
266
+ client?.mutate('pages.reloadCanvas');
267
+ };
108
268
  ```
109
269
 
110
- ## Generated Types & Namespace Mapping
270
+ For an overview of all the possible values, refer to the [`MutationMap` interface](../../docs/client/interfaces/MutationMap.md).
111
271
 
112
- The Client SDK heavily relies on a generated static contract (based on a JSON schema such as `resources.schema.json`) that defines
113
- available resource namespaces and methods. For example, with a schema structured like:
272
+ > [!NOTE]
273
+ > Behind the scenes, the Host SDK (integrated via the internal `core` package) attaches the required user token and performs the HTTP request on behalf of the Marketplace app (the client).
114
274
 
115
- ```json
116
- {
117
- "resources": {
118
- "xmc": {
119
- "publishing": {
120
- "status": { "type": "query", ... },
121
- "publish": { "type": "mutation", ... }
122
- }
123
- }
124
- }
125
- }
126
- ```
275
+ ## Documentation
127
276
 
128
- The generated client types provide a type-safe interface:
277
+ For more information, refer to the reference documentation in the `/docs` folder, and the official [Marketplace developer documentation](https://doc.sitecore.com/mp/en/developers/marketplace/introduction-to-sitecore-marketplace.html) and [Marketplace SDK documentation](https://doc.sitecore.com/mp/en/developers/sdk/latest/sitecore-marketplace-sdk/sitecore-marketplace-sdk-for-javascript.html).
129
278
 
130
- - `xmc.publishing.status(params)` returns a `Promise<QueryResult<...>>`
131
- - `xmc.publishing.publish(params)` returns a `Promise<MutationResult<...>>`
279
+ ## License
132
280
 
133
- The keys passed to `query` and `mutate` are dot-notated (e.g., `"xmc.publishing.status"`), ensuring that they map directly
134
- to the generated methods and resource definitions.
281
+ This package is part of the Sitecore Marketplace SDK, licensed under the Apache 2.0 License. Refer to the [LICENSE](../../LICENSE.md) file in the repository root.
135
282
 
136
- ## Additional Information
283
+ ## Status
137
284
 
138
- For more details, please refer to the full documentation in the `/docs` folder or the project documentation.
285
+ The `client` package is actively maintained as part of the Sitecore Marketplace SDK.
package/dist/client.d.ts CHANGED
@@ -123,6 +123,23 @@ export declare class ClientSDK {
123
123
  * await client.emitRouteEvent('/products/123');
124
124
  */
125
125
  emitRouteEvent(route: string): Promise<void>;
126
+ /**
127
+ * Requests the current value from the host application.
128
+ * @returns A Promise resolving to the value returned by the host.
129
+ */
130
+ getValue(): Promise<any>;
131
+ /**
132
+ * Sets a value in the host application.
133
+ * @param value - The value to set.
134
+ * @param canvasReload - Optional flag to trigger canvas reload in the host.
135
+ * @returns A Promise that resolves when the operation is complete.
136
+ */
137
+ setValue(value: string, canvasReload?: boolean): Promise<void>;
138
+ /**
139
+ * Requests the host application to close the app.
140
+ * @returns A Promise that resolves when the operation is complete.
141
+ */
142
+ closeApp(): Promise<void>;
126
143
  private setNavbarItems;
127
144
  private _unsubscribe;
128
145
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,WAAW,EACZ,MAAM,SAAS,CAAC;AAGjB,OAAO,KAAK,EACV,QAAQ,EAER,WAAW,EACX,WAAW,EAGZ,MAAM,aAAa,CAAC;AAErB,qBAAa,SAAS;IAKR,OAAO,CAAC,MAAM;IAJ1B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,OAAO,CAAqC;gBAEhC,MAAM,EAAE,eAAe;IAM3C;;;;;;;;;;;;;;;;;;;;OAoBG;WACU,IAAI,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,SAAS,CAAC;IAoClE;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBjC,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,gBAAgB;IAsBxB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IAEG,KAAK,CAAC,CAAC,SAAS,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAyDhG,OAAO,CAAC,kBAAkB;YA+BZ,mBAAmB;IAYjC;;;;;;;;;;;;;;;;;;;OAmBG;IACG,MAAM,CAAC,CAAC,SAAS,WAAW,EAChC,GAAG,EAAE,CAAC,EACN,eAAe,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GACnC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAiBxB,MAAM;IA4Bd,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/E;;;;;;;;;;;;OAYG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAUpC,cAAc;IAM5B,OAAO,CAAC,YAAY;IASpB;;;OAGG;IACH,OAAO,IAAI,IAAI;CAOhB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,WAAW,EACZ,MAAM,SAAS,CAAC;AAGjB,OAAO,KAAK,EACV,QAAQ,EAER,WAAW,EACX,WAAW,EAGZ,MAAM,aAAa,CAAC;AAErB,qBAAa,SAAS;IAKR,OAAO,CAAC,MAAM;IAJ1B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,OAAO,CAAqC;gBAEhC,MAAM,EAAE,eAAe;IAM3C;;;;;;;;;;;;;;;;;;;;OAoBG;WACU,IAAI,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,SAAS,CAAC;IAoClE;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBjC,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,gBAAgB;IAoBxB,OAAO,CAAC,gBAAgB;IAsBxB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IAEG,KAAK,CAAC,CAAC,SAAS,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAyDhG,OAAO,CAAC,kBAAkB;YA+BZ,mBAAmB;IAYjC;;;;;;;;;;;;;;;;;;;OAmBG;IACG,MAAM,CAAC,CAAC,SAAS,WAAW,EAChC,GAAG,EAAE,CAAC,EACN,eAAe,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,GACnC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAiBxB,MAAM;IA4Bd,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/E;;;;;;;;;;;;OAYG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlD;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC;IAI9B;;;;;OAKG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAIjB,cAAc;IAM5B,OAAO,CAAC,YAAY;IASpB;;;OAGG;IACH,OAAO,IAAI,IAAI;CAOhB"}
package/dist/index.cjs.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var e,t=require("@sitecore-marketplace-sdk/core");class s{queryStates=new Map;listeners=new Map;getQueryState(e){return this.queryStates.has(e)||this.queryStates.set(e,{status:"idle",subscriptionCount:0}),this.queryStates.get(e)}getQueryKeys(){return Array.from(this.queryStates.keys())}updateQueryState(e,t){const s={...this.getQueryState(e),...t};this.queryStates.set(e,s);const r={data:s.data,error:s.error,status:s.status,isLoading:"loading"===s.status,isError:"error"===s.status,isSuccess:"success"===s.status,refetch:async()=>{throw new Error("Refetch not implemented")},unsubscribe:s.unsubscribe};this.listeners.get(e)?.forEach((e=>e(r)))}subscribe(e,t){return this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(t),()=>{const s=this.listeners.get(e);s&&(s.delete(t),0===s.size&&this.listeners.delete(e))}}removeQuery(e){this.queryStates.delete(e),this.listeners.delete(e)}getSubscriptionCount(e){return this.getQueryState(e).subscriptionCount}incrementSubscriptionCount(e){const t=this.getQueryState(e);t.subscriptionCount++,this.queryStates.set(e,t)}decrementSubscriptionCount(e){const t=this.getQueryState(e);t.subscriptionCount>0&&(t.subscriptionCount--,this.queryStates.set(e,t))}}!function(e){e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR"}(e||(e={}));const r=new class{level;constructor(t=e.INFO){this.level=t}debug(t,...s){this.level<=e.DEBUG&&console.debug(`DEBUG: ${t}`,...s)}info(t,...s){this.level<=e.INFO&&console.info(`INFO: ${t}`,...s)}warn(t,...s){this.level<=e.WARN&&console.warn(`WARN: ${t}`,...s)}error(t,...s){this.level<=e.ERROR&&console.error(`ERROR: ${t}`,...s)}setLevel(e){this.level=e}}(e.DEBUG);class i{config;stateManager;coreSdk;modules=new Map;constructor(e){this.config=e,this.stateManager=new s,this.coreSdk=new t.CoreSDK(this.config)}static async init(e){const t={target:e.target||window.parent,targetOrigin:e.origin,selfOrigin:window.location.origin,timeout:e.timeout,events:e.events,navbarItems:e.navbarItems},s=new i(t);if(await s.initialize(),await s.setNavbarItems(e.navbarItems),e.modules)for(const t of e.modules)s.registerModule(t);return window?(r.info("window is available. Assigning client to window"),window.sitecore_marketplace__clientSdk=s):r.info("window is not available. Not assigning client to window"),e.events&&s.registerHandlers(),s}async initialize(){try{this.coreSdk.initialize({type:"client",targetOrigin:this.config.targetOrigin,selfOrigin:this.config.selfOrigin||window.location.origin,version:"1"}),r.info("Client SDK initialized, performing handshake..."),await this.coreSdk.connect(),r.info("Client handshake successful.")}catch(e){throw r.error("Client handshake failed:",e),e}}registerModule(e){this.modules.set(e.namespace,e)}hasModule(e){return this.modules.has(e)}availableModules(){return Array.from(this.modules.keys())}resolveOperation(e){let t=this.coreSdk.request.bind(this.coreSdk),s=e;if(e.includes(".")){const r=e.indexOf("."),i=e.substring(0,r),n=e.substring(r+1),a=this.modules.get(i);a&&(t=a.invokeOperation.bind(a),s=n)}return{request:t,operation:s}}registerHandlers(){if(!this.coreSdk)return;const e=this.config.events||{};this.coreSdk.on("pages.context",(async t=>{r.debug("Received pages.context request:",t),e.onPageContextUpdate?(e.onPageContextUpdate(t),r.debug("Processed pages.context request.")):r.debug("onPageContextUpdate event listener is not set.")})),this.coreSdk.on("host.route",(e=>{this.config.events?.onRouteUpdate&&this.config.events.onRouteUpdate(e.route)}))}async query(e,t){const{request:s,operation:i}=this.resolveOperation(e),{subscribe:n,onSuccess:a,onError:o,params:u,timeoutMs:c}=t||{},h=n?e:await this.generateKeyWithHash(e,t);let d;r.debug(`Query (${e}) initiated with params:`,u,`timeoutMs: ${c}`);try{n&&(d=this.handleSubscription(h,a,o)),this.stateManager.updateQueryState(h,{status:"loading"});const c=await s(i,u);r.info(`Query (${e}) success:`,c),this.stateManager.updateQueryState(h,{status:"success",data:c});const l=this.stateManager.getQueryState(h);return{data:l.data,error:void 0,status:l.status,isLoading:"loading"===l.status,isError:!1,isSuccess:!0,refetch:()=>this.query(e,t),unsubscribe:n?d:void 0}}catch(s){return r.error(`Query (${e}) error:`,s),this.stateManager.updateQueryState(h,{status:"error",error:s}),o?.(s),{data:void 0,error:s,status:"error",isLoading:!1,isError:!0,isSuccess:!1,refetch:()=>this.query(e,t),unsubscribe:n?d:void 0}}}handleSubscription(e,t,s){let r=this.stateManager.subscribe(e,(e=>{e.data&&t?.(e.data),e.error&&s?.(e.error)}));if(this.stateManager.incrementSubscriptionCount(e),1===this.stateManager.getSubscriptionCount(e)){const t=this.coreSdk.on(e,(t=>{this.stateManager.updateQueryState(e,{status:"success",data:t})}));this.stateManager.updateQueryState(e,{unsubscribe:t})}return()=>{r?.(),this._unsubscribe(e)}}async generateKeyWithHash(e,t){const s=(new TextEncoder).encode(JSON.stringify(t||{})),r=await crypto.subtle.digest("SHA-256",s);return`${e}_${Array.from(new Uint8Array(r)).map((e=>e.toString(16).padStart(2,"0"))).join("")}`}async mutate(e,t){const{request:s,operation:i}=this.resolveOperation(e),{onSuccess:n,onError:a,params:o,timeoutMs:u}=t||{};r.debug(`Mutation (${e}) initiated with params:`,o,`timeoutMs: ${u}`);try{const t=await s(i,o);return r.info(`Mutation (${e}) success:`,t),n?.(t),t}catch(t){throw r.error(`Mutation (${e}) error:`,t),a?.(t),t}}async _fetch(e){const t=new URL(e.url),s=t.pathname+t.search+t.hash,r=e.method||"GET",i=e?.headers?Object.fromEntries(new Headers(e.headers)):void 0,n=await e.arrayBuffer(),a={body:n.byteLength>0?n:void 0,headers:i,method:r,path:s,requiresAuth:!0};return this.coreSdk.request("host.request",a).then((e=>{const t={headers:e.headers||{},status:e.status||200,statusText:e.statusText||""};return new Response(e.body,t)}))}async logout(){await this.coreSdk.request("host.logout")}async openProfile(){await this.coreSdk.request("host.openProfile")}async navigateToExternalUrl(e,t=!0){if(!e)throw new Error("URL is required for navigateToExternalUrl");const s={url:e,newTab:t};await this.coreSdk.request("host.navigateTo.externalUrl",s)}async emitRouteEvent(e){if(!e)throw new Error("Route is required for sendRouteEvent");r.debug(`Sending route event: ${e}`);const t={route:e};this.coreSdk.emit("client.route",t)}async setNavbarItems(e){e&&await this.coreSdk.request("host.setNavbarItems",e)}_unsubscribe(e){const t=this.stateManager.getQueryState(e);this.stateManager.decrementSubscriptionCount(e),0===this.stateManager.getSubscriptionCount(e)&&(t.unsubscribe?.(),this.stateManager.removeQuery(e))}destroy(){const e=this.stateManager.getQueryKeys();for(const t of e)this._unsubscribe(t)}}exports.ClientSDK=i,exports.objectToJsonArrayBuffer=function(e){const t=JSON.stringify(e);return new Uint8Array((new TextEncoder).encode(t)).buffer};
1
+ "use strict";var e,t=require("@sitecore-marketplace-sdk/core");class s{queryStates=new Map;listeners=new Map;getQueryState(e){return this.queryStates.has(e)||this.queryStates.set(e,{status:"idle",subscriptionCount:0}),this.queryStates.get(e)}getQueryKeys(){return Array.from(this.queryStates.keys())}updateQueryState(e,t){const s={...this.getQueryState(e),...t};this.queryStates.set(e,s);const r={data:s.data,error:s.error,status:s.status,isLoading:"loading"===s.status,isError:"error"===s.status,isSuccess:"success"===s.status,refetch:async()=>{throw new Error("Refetch not implemented")},unsubscribe:s.unsubscribe};this.listeners.get(e)?.forEach((e=>e(r)))}subscribe(e,t){return this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(t),()=>{const s=this.listeners.get(e);s&&(s.delete(t),0===s.size&&this.listeners.delete(e))}}removeQuery(e){this.queryStates.delete(e),this.listeners.delete(e)}getSubscriptionCount(e){return this.getQueryState(e).subscriptionCount}incrementSubscriptionCount(e){const t=this.getQueryState(e);t.subscriptionCount++,this.queryStates.set(e,t)}decrementSubscriptionCount(e){const t=this.getQueryState(e);t.subscriptionCount>0&&(t.subscriptionCount--,this.queryStates.set(e,t))}}!function(e){e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR"}(e||(e={}));const r=new class{level;constructor(t=e.INFO){this.level=t}debug(t,...s){this.level<=e.DEBUG&&console.debug(`DEBUG: ${t}`,...s)}info(t,...s){this.level<=e.INFO&&console.info(`INFO: ${t}`,...s)}warn(t,...s){this.level<=e.WARN&&console.warn(`WARN: ${t}`,...s)}error(t,...s){this.level<=e.ERROR&&console.error(`ERROR: ${t}`,...s)}setLevel(e){this.level=e}}(e.DEBUG);class i{config;stateManager;coreSdk;modules=new Map;constructor(e){this.config=e,this.stateManager=new s,this.coreSdk=new t.CoreSDK(this.config)}static async init(e){const t={target:e.target||window.parent,targetOrigin:e.origin,selfOrigin:window.location.origin,timeout:e.timeout,events:e.events,navbarItems:e.navbarItems},s=new i(t);if(await s.initialize(),await s.setNavbarItems(e.navbarItems),e.modules)for(const t of e.modules)s.registerModule(t);return window?(r.info("window is available. Assigning client to window"),window.sitecore_marketplace__clientSdk=s):r.info("window is not available. Not assigning client to window"),e.events&&s.registerHandlers(),s}async initialize(){try{this.coreSdk.initialize({type:"client",targetOrigin:this.config.targetOrigin,selfOrigin:this.config.selfOrigin||window.location.origin,version:"1"}),r.info("Client SDK initialized, performing handshake..."),await this.coreSdk.connect(),r.info("Client handshake successful.")}catch(e){throw r.error("Client handshake failed:",e),e}}registerModule(e){this.modules.set(e.namespace,e)}hasModule(e){return this.modules.has(e)}availableModules(){return Array.from(this.modules.keys())}resolveOperation(e,t){let s=this.coreSdk.request.bind(this.coreSdk),r=e+":"+t;if(e.includes(".")){const t=e.indexOf("."),i=e.substring(0,t),n=e.substring(t+1),a=this.modules.get(i);a&&(s=a.invokeOperation.bind(a),r=n)}return{request:s,operation:r}}registerHandlers(){if(!this.coreSdk)return;const e=this.config.events||{};this.coreSdk.on("pages.context",(async t=>{r.debug("Received pages.context request:",t),e.onPageContextUpdate?(e.onPageContextUpdate(t),r.debug("Processed pages.context request.")):r.debug("onPageContextUpdate event listener is not set.")})),this.coreSdk.on("host.route",(e=>{this.config.events?.onRouteUpdate&&this.config.events.onRouteUpdate(e.route)}))}async query(e,t){const{request:s,operation:i}=this.resolveOperation(e,"query"),{subscribe:n,onSuccess:a,onError:o,params:u,timeoutMs:c}=t||{},d=n?e:await this.generateKeyWithHash(e,t);let h;r.debug(`Query (${e}) initiated with params:`,u,`timeoutMs: ${c}`);try{n&&(h=this.handleSubscription(d,a,o)),this.stateManager.updateQueryState(d,{status:"loading"});const c=await s(i,u);r.info(`Query (${e}) success:`,c),this.stateManager.updateQueryState(d,{status:"success",data:c});const l=this.stateManager.getQueryState(d);return{data:l.data,error:void 0,status:l.status,isLoading:"loading"===l.status,isError:!1,isSuccess:!0,refetch:()=>this.query(e,t),unsubscribe:n?h:void 0}}catch(s){return r.error(`Query (${e}) error:`,s),this.stateManager.updateQueryState(d,{status:"error",error:s}),o?.(s),{data:void 0,error:s,status:"error",isLoading:!1,isError:!0,isSuccess:!1,refetch:()=>this.query(e,t),unsubscribe:n?h:void 0}}}handleSubscription(e,t,s){let r=this.stateManager.subscribe(e,(e=>{e.data&&t?.(e.data),e.error&&s?.(e.error)}));if(this.stateManager.incrementSubscriptionCount(e),1===this.stateManager.getSubscriptionCount(e)){const t=this.coreSdk.on(e,(t=>{this.stateManager.updateQueryState(e,{status:"success",data:t})}));this.stateManager.updateQueryState(e,{unsubscribe:t})}return()=>{r?.(),this._unsubscribe(e)}}async generateKeyWithHash(e,t){const s=(new TextEncoder).encode(JSON.stringify(t||{})),r=await crypto.subtle.digest("SHA-256",s);return`${e}_${Array.from(new Uint8Array(r)).map((e=>e.toString(16).padStart(2,"0"))).join("")}`}async mutate(e,t){const{request:s,operation:i}=this.resolveOperation(e,"mutation"),{onSuccess:n,onError:a,params:o,timeoutMs:u}=t||{};r.debug(`Mutation (${e}) initiated with params:`,o,`timeoutMs: ${u}`);try{const t=await s(i,o);return r.info(`Mutation (${e}) success:`,t),n?.(t),t}catch(t){throw r.error(`Mutation (${e}) error:`,t),a?.(t),t}}async _fetch(e){const t=new URL(e.url),s=t.pathname+t.search+t.hash,r=e.method||"GET",i=e?.headers?Object.fromEntries(new Headers(e.headers)):void 0,n=await e.arrayBuffer(),a={body:n.byteLength>0?n:void 0,headers:i,method:r,path:s,requiresAuth:!0};return this.coreSdk.request("host.request",a).then((e=>{const t={headers:e.headers||{},status:e.status||200,statusText:e.statusText||""};return new Response(e.body,t)}))}async logout(){await this.coreSdk.request("host.logout")}async openProfile(){await this.coreSdk.request("host.openProfile")}async navigateToExternalUrl(e,t=!0){if(!e)throw new Error("URL is required for navigateToExternalUrl");const s={url:e,newTab:t};await this.coreSdk.request("host.navigateTo.externalUrl",s)}async emitRouteEvent(e){if(!e)throw new Error("Route is required for sendRouteEvent");r.debug(`Sending route event: ${e}`);const t={route:e};this.coreSdk.emit("client.route",t)}async getValue(){return this.coreSdk.request("pages.getValue",{})}async setValue(e,t){await this.coreSdk.request("pages.setValue",{value:e,canvasReload:t})}async closeApp(){await this.coreSdk.request("pages.closeApp",{})}async setNavbarItems(e){e&&await this.coreSdk.request("host.setNavbarItems",e)}_unsubscribe(e){const t=this.stateManager.getQueryState(e);this.stateManager.decrementSubscriptionCount(e),0===this.stateManager.getSubscriptionCount(e)&&(t.unsubscribe?.(),this.stateManager.removeQuery(e))}destroy(){const e=this.stateManager.getQueryKeys();for(const t of e)this._unsubscribe(t)}}exports.ClientSDK=i,exports.objectToJsonArrayBuffer=function(e){const t=JSON.stringify(e);return new Uint8Array((new TextEncoder).encode(t)).buffer};
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../src/logger.ts","../src/state.ts","../src/client.ts","../src/utils.ts"],"sourcesContent":[null,null,null,null],"names":["LogLevel","StateManager","queryStates","Map","listeners","getQueryState","key","this","has","set","status","subscriptionCount","get","getQueryKeys","Array","from","keys","updateQueryState","updates","newState","queryResult","data","error","isLoading","isError","isSuccess","refetch","async","Error","unsubscribe","forEach","listener","subscribe","Set","add","delete","size","removeQuery","getSubscriptionCount","incrementSubscriptionCount","state","decrementSubscriptionCount","logger","level","constructor","INFO","debug","message","args","DEBUG","console","info","warn","WARN","ERROR","setLevel","ClientSDK","config","stateManager","coreSdk","modules","CoreSDK","init","coreConfig","target","window","parent","targetOrigin","origin","selfOrigin","location","timeout","events","navbarItems","client","initialize","setNavbarItems","module","registerModule","sitecore_marketplace__clientSdk","registerHandlers","type","version","connect","namespace","hasModule","availableModules","resolveOperation","keyOrOperationKey","request","bind","operation","includes","firstDotIndex","indexOf","substring","operationName","invokeOperation","on","payload","onPageContextUpdate","onRouteUpdate","route","query","queryOptions","onSuccess","onError","params","timeoutMs","hashedKey","generateKeyWithHash","handleSubscription","undefined","stateChangeUnsubscribe","coreUnsubscribe","updatedData","_unsubscribe","options","TextEncoder","encode","JSON","stringify","hashBuffer","crypto","subtle","digest","Uint8Array","map","byte","toString","padStart","join","mutate","mutationOptions","_fetch","input","url","URL","path","pathname","search","hash","method","headers","Object","fromEntries","Headers","body","arrayBuffer","genericRequest","byteLength","requiresAuth","then","response","statusText","Response","logout","openProfile","navigateToExternalUrl","newTab","emitRouteEvent","emit","destroy","jsonString","buffer"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../src/logger.ts","../src/state.ts","../src/client.ts","../src/utils.ts"],"sourcesContent":[null,null,null,null],"names":["LogLevel","StateManager","queryStates","Map","listeners","getQueryState","key","this","has","set","status","subscriptionCount","get","getQueryKeys","Array","from","keys","updateQueryState","updates","newState","queryResult","data","error","isLoading","isError","isSuccess","refetch","async","Error","unsubscribe","forEach","listener","subscribe","Set","add","delete","size","removeQuery","getSubscriptionCount","incrementSubscriptionCount","state","decrementSubscriptionCount","logger","level","constructor","INFO","debug","message","args","DEBUG","console","info","warn","WARN","ERROR","setLevel","ClientSDK","config","stateManager","coreSdk","modules","CoreSDK","init","coreConfig","target","window","parent","targetOrigin","origin","selfOrigin","location","timeout","events","navbarItems","client","initialize","setNavbarItems","module","registerModule","sitecore_marketplace__clientSdk","registerHandlers","type","version","connect","namespace","hasModule","availableModules","resolveOperation","keyOrOperationKey","request","bind","operation","includes","firstDotIndex","indexOf","substring","operationName","invokeOperation","on","payload","onPageContextUpdate","onRouteUpdate","route","query","queryOptions","onSuccess","onError","params","timeoutMs","hashedKey","generateKeyWithHash","handleSubscription","undefined","stateChangeUnsubscribe","coreUnsubscribe","updatedData","_unsubscribe","options","TextEncoder","encode","JSON","stringify","hashBuffer","crypto","subtle","digest","Uint8Array","map","byte","toString","padStart","join","mutate","mutationOptions","_fetch","input","url","URL","path","pathname","search","hash","method","headers","Object","fromEntries","Headers","body","arrayBuffer","genericRequest","byteLength","requiresAuth","then","response","statusText","Response","logout","openProfile","navigateToExternalUrl","newTab","emitRouteEvent","emit","getValue","setValue","value","canvasReload","closeApp","destroy","jsonString","buffer"],"mappings":"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"}
package/dist/index.esm.js CHANGED
@@ -1,2 +1,2 @@
1
- import{CoreSDK as e}from"@sitecore-marketplace-sdk/core";class t{queryStates=new Map;listeners=new Map;getQueryState(e){return this.queryStates.has(e)||this.queryStates.set(e,{status:"idle",subscriptionCount:0}),this.queryStates.get(e)}getQueryKeys(){return Array.from(this.queryStates.keys())}updateQueryState(e,t){const s={...this.getQueryState(e),...t};this.queryStates.set(e,s);const r={data:s.data,error:s.error,status:s.status,isLoading:"loading"===s.status,isError:"error"===s.status,isSuccess:"success"===s.status,refetch:async()=>{throw new Error("Refetch not implemented")},unsubscribe:s.unsubscribe};this.listeners.get(e)?.forEach((e=>e(r)))}subscribe(e,t){return this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(t),()=>{const s=this.listeners.get(e);s&&(s.delete(t),0===s.size&&this.listeners.delete(e))}}removeQuery(e){this.queryStates.delete(e),this.listeners.delete(e)}getSubscriptionCount(e){return this.getQueryState(e).subscriptionCount}incrementSubscriptionCount(e){const t=this.getQueryState(e);t.subscriptionCount++,this.queryStates.set(e,t)}decrementSubscriptionCount(e){const t=this.getQueryState(e);t.subscriptionCount>0&&(t.subscriptionCount--,this.queryStates.set(e,t))}}var s;!function(e){e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR"}(s||(s={}));const r=new class{level;constructor(e=s.INFO){this.level=e}debug(e,...t){this.level<=s.DEBUG&&console.debug(`DEBUG: ${e}`,...t)}info(e,...t){this.level<=s.INFO&&console.info(`INFO: ${e}`,...t)}warn(e,...t){this.level<=s.WARN&&console.warn(`WARN: ${e}`,...t)}error(e,...t){this.level<=s.ERROR&&console.error(`ERROR: ${e}`,...t)}setLevel(e){this.level=e}}(s.DEBUG);class i{config;stateManager;coreSdk;modules=new Map;constructor(s){this.config=s,this.stateManager=new t,this.coreSdk=new e(this.config)}static async init(e){const t={target:e.target||window.parent,targetOrigin:e.origin,selfOrigin:window.location.origin,timeout:e.timeout,events:e.events,navbarItems:e.navbarItems},s=new i(t);if(await s.initialize(),await s.setNavbarItems(e.navbarItems),e.modules)for(const t of e.modules)s.registerModule(t);return window?(r.info("window is available. Assigning client to window"),window.sitecore_marketplace__clientSdk=s):r.info("window is not available. Not assigning client to window"),e.events&&s.registerHandlers(),s}async initialize(){try{this.coreSdk.initialize({type:"client",targetOrigin:this.config.targetOrigin,selfOrigin:this.config.selfOrigin||window.location.origin,version:"1"}),r.info("Client SDK initialized, performing handshake..."),await this.coreSdk.connect(),r.info("Client handshake successful.")}catch(e){throw r.error("Client handshake failed:",e),e}}registerModule(e){this.modules.set(e.namespace,e)}hasModule(e){return this.modules.has(e)}availableModules(){return Array.from(this.modules.keys())}resolveOperation(e){let t=this.coreSdk.request.bind(this.coreSdk),s=e;if(e.includes(".")){const r=e.indexOf("."),i=e.substring(0,r),n=e.substring(r+1),a=this.modules.get(i);a&&(t=a.invokeOperation.bind(a),s=n)}return{request:t,operation:s}}registerHandlers(){if(!this.coreSdk)return;const e=this.config.events||{};this.coreSdk.on("pages.context",(async t=>{r.debug("Received pages.context request:",t),e.onPageContextUpdate?(e.onPageContextUpdate(t),r.debug("Processed pages.context request.")):r.debug("onPageContextUpdate event listener is not set.")})),this.coreSdk.on("host.route",(e=>{this.config.events?.onRouteUpdate&&this.config.events.onRouteUpdate(e.route)}))}async query(e,t){const{request:s,operation:i}=this.resolveOperation(e),{subscribe:n,onSuccess:a,onError:o,params:u,timeoutMs:c}=t||{},h=n?e:await this.generateKeyWithHash(e,t);let d;r.debug(`Query (${e}) initiated with params:`,u,`timeoutMs: ${c}`);try{n&&(d=this.handleSubscription(h,a,o)),this.stateManager.updateQueryState(h,{status:"loading"});const c=await s(i,u);r.info(`Query (${e}) success:`,c),this.stateManager.updateQueryState(h,{status:"success",data:c});const l=this.stateManager.getQueryState(h);return{data:l.data,error:void 0,status:l.status,isLoading:"loading"===l.status,isError:!1,isSuccess:!0,refetch:()=>this.query(e,t),unsubscribe:n?d:void 0}}catch(s){return r.error(`Query (${e}) error:`,s),this.stateManager.updateQueryState(h,{status:"error",error:s}),o?.(s),{data:void 0,error:s,status:"error",isLoading:!1,isError:!0,isSuccess:!1,refetch:()=>this.query(e,t),unsubscribe:n?d:void 0}}}handleSubscription(e,t,s){let r=this.stateManager.subscribe(e,(e=>{e.data&&t?.(e.data),e.error&&s?.(e.error)}));if(this.stateManager.incrementSubscriptionCount(e),1===this.stateManager.getSubscriptionCount(e)){const t=this.coreSdk.on(e,(t=>{this.stateManager.updateQueryState(e,{status:"success",data:t})}));this.stateManager.updateQueryState(e,{unsubscribe:t})}return()=>{r?.(),this._unsubscribe(e)}}async generateKeyWithHash(e,t){const s=(new TextEncoder).encode(JSON.stringify(t||{})),r=await crypto.subtle.digest("SHA-256",s);return`${e}_${Array.from(new Uint8Array(r)).map((e=>e.toString(16).padStart(2,"0"))).join("")}`}async mutate(e,t){const{request:s,operation:i}=this.resolveOperation(e),{onSuccess:n,onError:a,params:o,timeoutMs:u}=t||{};r.debug(`Mutation (${e}) initiated with params:`,o,`timeoutMs: ${u}`);try{const t=await s(i,o);return r.info(`Mutation (${e}) success:`,t),n?.(t),t}catch(t){throw r.error(`Mutation (${e}) error:`,t),a?.(t),t}}async _fetch(e){const t=new URL(e.url),s=t.pathname+t.search+t.hash,r=e.method||"GET",i=e?.headers?Object.fromEntries(new Headers(e.headers)):void 0,n=await e.arrayBuffer(),a={body:n.byteLength>0?n:void 0,headers:i,method:r,path:s,requiresAuth:!0};return this.coreSdk.request("host.request",a).then((e=>{const t={headers:e.headers||{},status:e.status||200,statusText:e.statusText||""};return new Response(e.body,t)}))}async logout(){await this.coreSdk.request("host.logout")}async openProfile(){await this.coreSdk.request("host.openProfile")}async navigateToExternalUrl(e,t=!0){if(!e)throw new Error("URL is required for navigateToExternalUrl");const s={url:e,newTab:t};await this.coreSdk.request("host.navigateTo.externalUrl",s)}async emitRouteEvent(e){if(!e)throw new Error("Route is required for sendRouteEvent");r.debug(`Sending route event: ${e}`);const t={route:e};this.coreSdk.emit("client.route",t)}async setNavbarItems(e){e&&await this.coreSdk.request("host.setNavbarItems",e)}_unsubscribe(e){const t=this.stateManager.getQueryState(e);this.stateManager.decrementSubscriptionCount(e),0===this.stateManager.getSubscriptionCount(e)&&(t.unsubscribe?.(),this.stateManager.removeQuery(e))}destroy(){const e=this.stateManager.getQueryKeys();for(const t of e)this._unsubscribe(t)}}function n(e){const t=JSON.stringify(e);return new Uint8Array((new TextEncoder).encode(t)).buffer}export{i as ClientSDK,n as objectToJsonArrayBuffer};
1
+ import{CoreSDK as e}from"@sitecore-marketplace-sdk/core";class t{queryStates=new Map;listeners=new Map;getQueryState(e){return this.queryStates.has(e)||this.queryStates.set(e,{status:"idle",subscriptionCount:0}),this.queryStates.get(e)}getQueryKeys(){return Array.from(this.queryStates.keys())}updateQueryState(e,t){const s={...this.getQueryState(e),...t};this.queryStates.set(e,s);const r={data:s.data,error:s.error,status:s.status,isLoading:"loading"===s.status,isError:"error"===s.status,isSuccess:"success"===s.status,refetch:async()=>{throw new Error("Refetch not implemented")},unsubscribe:s.unsubscribe};this.listeners.get(e)?.forEach((e=>e(r)))}subscribe(e,t){return this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(t),()=>{const s=this.listeners.get(e);s&&(s.delete(t),0===s.size&&this.listeners.delete(e))}}removeQuery(e){this.queryStates.delete(e),this.listeners.delete(e)}getSubscriptionCount(e){return this.getQueryState(e).subscriptionCount}incrementSubscriptionCount(e){const t=this.getQueryState(e);t.subscriptionCount++,this.queryStates.set(e,t)}decrementSubscriptionCount(e){const t=this.getQueryState(e);t.subscriptionCount>0&&(t.subscriptionCount--,this.queryStates.set(e,t))}}var s;!function(e){e[e.DEBUG=0]="DEBUG",e[e.INFO=1]="INFO",e[e.WARN=2]="WARN",e[e.ERROR=3]="ERROR"}(s||(s={}));const r=new class{level;constructor(e=s.INFO){this.level=e}debug(e,...t){this.level<=s.DEBUG&&console.debug(`DEBUG: ${e}`,...t)}info(e,...t){this.level<=s.INFO&&console.info(`INFO: ${e}`,...t)}warn(e,...t){this.level<=s.WARN&&console.warn(`WARN: ${e}`,...t)}error(e,...t){this.level<=s.ERROR&&console.error(`ERROR: ${e}`,...t)}setLevel(e){this.level=e}}(s.DEBUG);class i{config;stateManager;coreSdk;modules=new Map;constructor(s){this.config=s,this.stateManager=new t,this.coreSdk=new e(this.config)}static async init(e){const t={target:e.target||window.parent,targetOrigin:e.origin,selfOrigin:window.location.origin,timeout:e.timeout,events:e.events,navbarItems:e.navbarItems},s=new i(t);if(await s.initialize(),await s.setNavbarItems(e.navbarItems),e.modules)for(const t of e.modules)s.registerModule(t);return window?(r.info("window is available. Assigning client to window"),window.sitecore_marketplace__clientSdk=s):r.info("window is not available. Not assigning client to window"),e.events&&s.registerHandlers(),s}async initialize(){try{this.coreSdk.initialize({type:"client",targetOrigin:this.config.targetOrigin,selfOrigin:this.config.selfOrigin||window.location.origin,version:"1"}),r.info("Client SDK initialized, performing handshake..."),await this.coreSdk.connect(),r.info("Client handshake successful.")}catch(e){throw r.error("Client handshake failed:",e),e}}registerModule(e){this.modules.set(e.namespace,e)}hasModule(e){return this.modules.has(e)}availableModules(){return Array.from(this.modules.keys())}resolveOperation(e,t){let s=this.coreSdk.request.bind(this.coreSdk),r=e+":"+t;if(e.includes(".")){const t=e.indexOf("."),i=e.substring(0,t),n=e.substring(t+1),a=this.modules.get(i);a&&(s=a.invokeOperation.bind(a),r=n)}return{request:s,operation:r}}registerHandlers(){if(!this.coreSdk)return;const e=this.config.events||{};this.coreSdk.on("pages.context",(async t=>{r.debug("Received pages.context request:",t),e.onPageContextUpdate?(e.onPageContextUpdate(t),r.debug("Processed pages.context request.")):r.debug("onPageContextUpdate event listener is not set.")})),this.coreSdk.on("host.route",(e=>{this.config.events?.onRouteUpdate&&this.config.events.onRouteUpdate(e.route)}))}async query(e,t){const{request:s,operation:i}=this.resolveOperation(e,"query"),{subscribe:n,onSuccess:a,onError:o,params:u,timeoutMs:c}=t||{},d=n?e:await this.generateKeyWithHash(e,t);let h;r.debug(`Query (${e}) initiated with params:`,u,`timeoutMs: ${c}`);try{n&&(h=this.handleSubscription(d,a,o)),this.stateManager.updateQueryState(d,{status:"loading"});const c=await s(i,u);r.info(`Query (${e}) success:`,c),this.stateManager.updateQueryState(d,{status:"success",data:c});const l=this.stateManager.getQueryState(d);return{data:l.data,error:void 0,status:l.status,isLoading:"loading"===l.status,isError:!1,isSuccess:!0,refetch:()=>this.query(e,t),unsubscribe:n?h:void 0}}catch(s){return r.error(`Query (${e}) error:`,s),this.stateManager.updateQueryState(d,{status:"error",error:s}),o?.(s),{data:void 0,error:s,status:"error",isLoading:!1,isError:!0,isSuccess:!1,refetch:()=>this.query(e,t),unsubscribe:n?h:void 0}}}handleSubscription(e,t,s){let r=this.stateManager.subscribe(e,(e=>{e.data&&t?.(e.data),e.error&&s?.(e.error)}));if(this.stateManager.incrementSubscriptionCount(e),1===this.stateManager.getSubscriptionCount(e)){const t=this.coreSdk.on(e,(t=>{this.stateManager.updateQueryState(e,{status:"success",data:t})}));this.stateManager.updateQueryState(e,{unsubscribe:t})}return()=>{r?.(),this._unsubscribe(e)}}async generateKeyWithHash(e,t){const s=(new TextEncoder).encode(JSON.stringify(t||{})),r=await crypto.subtle.digest("SHA-256",s);return`${e}_${Array.from(new Uint8Array(r)).map((e=>e.toString(16).padStart(2,"0"))).join("")}`}async mutate(e,t){const{request:s,operation:i}=this.resolveOperation(e,"mutation"),{onSuccess:n,onError:a,params:o,timeoutMs:u}=t||{};r.debug(`Mutation (${e}) initiated with params:`,o,`timeoutMs: ${u}`);try{const t=await s(i,o);return r.info(`Mutation (${e}) success:`,t),n?.(t),t}catch(t){throw r.error(`Mutation (${e}) error:`,t),a?.(t),t}}async _fetch(e){const t=new URL(e.url),s=t.pathname+t.search+t.hash,r=e.method||"GET",i=e?.headers?Object.fromEntries(new Headers(e.headers)):void 0,n=await e.arrayBuffer(),a={body:n.byteLength>0?n:void 0,headers:i,method:r,path:s,requiresAuth:!0};return this.coreSdk.request("host.request",a).then((e=>{const t={headers:e.headers||{},status:e.status||200,statusText:e.statusText||""};return new Response(e.body,t)}))}async logout(){await this.coreSdk.request("host.logout")}async openProfile(){await this.coreSdk.request("host.openProfile")}async navigateToExternalUrl(e,t=!0){if(!e)throw new Error("URL is required for navigateToExternalUrl");const s={url:e,newTab:t};await this.coreSdk.request("host.navigateTo.externalUrl",s)}async emitRouteEvent(e){if(!e)throw new Error("Route is required for sendRouteEvent");r.debug(`Sending route event: ${e}`);const t={route:e};this.coreSdk.emit("client.route",t)}async getValue(){return this.coreSdk.request("pages.getValue",{})}async setValue(e,t){await this.coreSdk.request("pages.setValue",{value:e,canvasReload:t})}async closeApp(){await this.coreSdk.request("pages.closeApp",{})}async setNavbarItems(e){e&&await this.coreSdk.request("host.setNavbarItems",e)}_unsubscribe(e){const t=this.stateManager.getQueryState(e);this.stateManager.decrementSubscriptionCount(e),0===this.stateManager.getSubscriptionCount(e)&&(t.unsubscribe?.(),this.stateManager.removeQuery(e))}destroy(){const e=this.stateManager.getQueryKeys();for(const t of e)this._unsubscribe(t)}}function n(e){const t=JSON.stringify(e);return new Uint8Array((new TextEncoder).encode(t)).buffer}export{i as ClientSDK,n as objectToJsonArrayBuffer};
2
2
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/state.ts","../src/logger.ts","../src/client.ts","../src/utils.ts"],"sourcesContent":[null,null,null,null],"names":["StateManager","queryStates","Map","listeners","getQueryState","key","this","has","set","status","subscriptionCount","get","getQueryKeys","Array","from","keys","updateQueryState","updates","newState","queryResult","data","error","isLoading","isError","isSuccess","refetch","async","Error","unsubscribe","forEach","listener","subscribe","Set","add","delete","size","removeQuery","getSubscriptionCount","incrementSubscriptionCount","state","decrementSubscriptionCount","LogLevel","logger","level","constructor","INFO","debug","message","args","DEBUG","console","info","warn","WARN","ERROR","setLevel","ClientSDK","config","stateManager","coreSdk","modules","CoreSDK","init","coreConfig","target","window","parent","targetOrigin","origin","selfOrigin","location","timeout","events","navbarItems","client","initialize","setNavbarItems","module","registerModule","sitecore_marketplace__clientSdk","registerHandlers","type","version","connect","namespace","hasModule","availableModules","resolveOperation","keyOrOperationKey","request","bind","operation","includes","firstDotIndex","indexOf","substring","operationName","invokeOperation","on","payload","onPageContextUpdate","onRouteUpdate","route","query","queryOptions","onSuccess","onError","params","timeoutMs","hashedKey","generateKeyWithHash","handleSubscription","undefined","stateChangeUnsubscribe","coreUnsubscribe","updatedData","_unsubscribe","options","TextEncoder","encode","JSON","stringify","hashBuffer","crypto","subtle","digest","Uint8Array","map","byte","toString","padStart","join","mutate","mutationOptions","_fetch","input","url","URL","path","pathname","search","hash","method","headers","Object","fromEntries","Headers","body","arrayBuffer","genericRequest","byteLength","requiresAuth","then","response","statusText","Response","logout","openProfile","navigateToExternalUrl","newTab","emitRouteEvent","emit","destroy","objectToJsonArrayBuffer","jsonString","buffer"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/state.ts","../src/logger.ts","../src/client.ts","../src/utils.ts"],"sourcesContent":[null,null,null,null],"names":["StateManager","queryStates","Map","listeners","getQueryState","key","this","has","set","status","subscriptionCount","get","getQueryKeys","Array","from","keys","updateQueryState","updates","newState","queryResult","data","error","isLoading","isError","isSuccess","refetch","async","Error","unsubscribe","forEach","listener","subscribe","Set","add","delete","size","removeQuery","getSubscriptionCount","incrementSubscriptionCount","state","decrementSubscriptionCount","LogLevel","logger","level","constructor","INFO","debug","message","args","DEBUG","console","info","warn","WARN","ERROR","setLevel","ClientSDK","config","stateManager","coreSdk","modules","CoreSDK","init","coreConfig","target","window","parent","targetOrigin","origin","selfOrigin","location","timeout","events","navbarItems","client","initialize","setNavbarItems","module","registerModule","sitecore_marketplace__clientSdk","registerHandlers","type","version","connect","namespace","hasModule","availableModules","resolveOperation","keyOrOperationKey","request","bind","operation","includes","firstDotIndex","indexOf","substring","operationName","invokeOperation","on","payload","onPageContextUpdate","onRouteUpdate","route","query","queryOptions","onSuccess","onError","params","timeoutMs","hashedKey","generateKeyWithHash","handleSubscription","undefined","stateChangeUnsubscribe","coreUnsubscribe","updatedData","_unsubscribe","options","TextEncoder","encode","JSON","stringify","hashBuffer","crypto","subtle","digest","Uint8Array","map","byte","toString","padStart","join","mutate","mutationOptions","_fetch","input","url","URL","path","pathname","search","hash","method","headers","Object","fromEntries","Headers","body","arrayBuffer","genericRequest","byteLength","requiresAuth","then","response","statusText","Response","logout","openProfile","navigateToExternalUrl","newTab","emitRouteEvent","emit","getValue","setValue","value","canvasReload","closeApp","destroy","objectToJsonArrayBuffer","jsonString","buffer"],"mappings":"+DAUaA,EACHC,YAAuC,IAAIC,IAC3CC,UAAkE,IAAID,IAK9E,aAAAE,CACEC,GAQA,OANKC,KAAKL,YAAYM,IAAIF,IACxBC,KAAKL,YAAYO,IAAIH,EAAK,CACxBI,OAAQ,OACRC,kBAAmB,IAGhBJ,KAAKL,YAAYU,IAAIN,GAM9B,YAAAO,GACE,OAAOC,MAAMC,KAAKR,KAAKL,YAAYc,QAMrC,gBAAAC,CACEX,EACAY,GAEA,MACMC,EAAW,IADHZ,KAAKF,cAA6BC,MAChBY,GAChCX,KAAKL,YAAYO,IAAIH,EAAKa,GAG1B,MAAMC,EAA+C,CACnDC,KAAMF,EAASE,KACfC,MAAOH,EAASG,MAChBZ,OAAQS,EAAST,OACjBa,UAA+B,YAApBJ,EAAST,OACpBc,QAA6B,UAApBL,EAAST,OAClBe,UAA+B,YAApBN,EAAST,OACpBgB,QAASC,UAEP,MAAM,IAAIC,MAAM,0BAA0B,EAE5CC,YAAaV,EAASU,aAGxBtB,KAAKH,UAAUQ,IAAIN,IAAMwB,SAASC,GAAaA,EAASX,KAM1D,SAAAY,CAAU1B,EAAayB,GAOrB,OANKxB,KAAKH,UAAUI,IAAIF,IACtBC,KAAKH,UAAUK,IAAIH,EAAK,IAAI2B,KAE9B1B,KAAKH,UAAUQ,IAAIN,GAAM4B,IAAIH,GAGtB,KACL,MAAM3B,EAAYG,KAAKH,UAAUQ,IAAIN,GACjCF,IACFA,EAAU+B,OAAOJ,GACM,IAAnB3B,EAAUgC,MACZ7B,KAAKH,UAAU+B,OAAO7B,KAS9B,WAAA+B,CAAY/B,GACVC,KAAKL,YAAYiC,OAAO7B,GACxBC,KAAKH,UAAU+B,OAAO7B,GAMxB,oBAAAgC,CAAqBhC,GACnB,OAAOC,KAAKF,cAAcC,GAAKK,kBAMjC,0BAAA4B,CAA2BjC,GACzB,MAAMkC,EAAQjC,KAAKF,cAAcC,GACjCkC,EAAM7B,oBACNJ,KAAKL,YAAYO,IAAIH,EAAKkC,GAM5B,0BAAAC,CAA2BnC,GACzB,MAAMkC,EAAQjC,KAAKF,cAAcC,GAC7BkC,EAAM7B,kBAAoB,IAC5B6B,EAAM7B,oBACNJ,KAAKL,YAAYO,IAAIH,EAAKkC,KCrHhC,IAAYE,GAAZ,SAAYA,GACVA,EAAAA,EAAA,MAAA,GAAA,QACAA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,KAAA,GAAA,OACAA,EAAAA,EAAA,MAAA,GAAA,OACD,CALD,CAAYA,IAAAA,EAKX,CAAA,IAsCM,MAAMC,EAAS,UAnCZC,MAER,WAAAC,CAAYD,EAAkBF,EAASI,MACrCvC,KAAKqC,MAAQA,EAGf,KAAAG,CAAMC,KAAoBC,GACpB1C,KAAKqC,OAASF,EAASQ,OACzBC,QAAQJ,MAAM,UAAUC,OAAcC,GAI1C,IAAAG,CAAKJ,KAAoBC,GACnB1C,KAAKqC,OAASF,EAASI,MACzBK,QAAQC,KAAK,SAASJ,OAAcC,GAIxC,IAAAI,CAAKL,KAAoBC,GACnB1C,KAAKqC,OAASF,EAASY,MACzBH,QAAQE,KAAK,SAASL,OAAcC,GAIxC,KAAA3B,CAAM0B,KAAoBC,GACpB1C,KAAKqC,OAASF,EAASa,OACzBJ,QAAQ7B,MAAM,UAAU0B,OAAcC,GAI1C,QAAAO,CAASZ,GACPrC,KAAKqC,MAAQA,IAIgBF,EAASQ,aCH7BO,EAKSC,OAJZC,aACAC,QACAC,QAAkC,IAAI1D,IAE9C,WAAA0C,CAAoBa,GAAAnD,KAAMmD,OAANA,EAClBnD,KAAKoD,aAAe,IAAI1D,EAExBM,KAAKqD,QAAU,IAAIE,EAAQvD,KAAKmD,QAwBlC,iBAAaK,CAAKL,GAEhB,MAAMM,EAA8B,CAClCC,OAAQP,EAAOO,QAAUC,OAAOC,OAChCC,aAAcV,EAAOW,OACrBC,WAAYJ,OAAOK,SAASF,OAC5BG,QAASd,EAAOc,QAChBC,OAAQf,EAAOe,OACfC,YAAahB,EAAOgB,aAEhBC,EAAS,IAAIlB,EAAUO,GAO7B,SALMW,EAAOC,mBAEPD,EAAOE,eAAenB,EAAOgB,aAG/BhB,EAAOG,QACT,IAAK,MAAMiB,KAAUpB,EAAOG,QAC1Bc,EAAOI,eAAeD,GAc1B,OAVIZ,QACFvB,EAAOS,KAAK,mDACXc,OAAec,gCAAkCL,GAElDhC,EAAOS,KAAK,2DAGVM,EAAOe,QACTE,EAAOM,mBAEFN,EAQT,gBAAMC,GACJ,IAEErE,KAAKqD,QAAQgB,WAAW,CACtBM,KAAM,SACNd,aAAc7D,KAAKmD,OAAOU,aAC1BE,WAAY/D,KAAKmD,OAAOY,YAAcJ,OAAOK,SAASF,OACtDc,QAAS,MAGXxC,EAAOS,KAAK,yDAGN7C,KAAKqD,QAAQwB,UAEnBzC,EAAOS,KAAK,gCACZ,MAAO9B,GAEP,MADAqB,EAAOrB,MAAM,2BAA4BA,GACnCA,GAIF,cAAAyD,CAAeD,GACrBvE,KAAKsD,QAAQpD,IAAIqE,EAAOO,UAAWP,GAG7B,SAAAQ,CAAUD,GAChB,OAAO9E,KAAKsD,QAAQrD,IAAI6E,GAGlB,gBAAAE,GACN,OAAOzE,MAAMC,KAAKR,KAAKsD,QAAQ7C,QAGzB,gBAAAwE,CAAiBC,EAA2BP,GAClD,IAAIQ,EAAUnF,KAAKqD,QAAQ8B,QAAQC,KAAKpF,KAAKqD,SACzCgC,EAAYH,EAAoB,IAAMP,EAE1C,GAAIO,EAAkBI,SAAS,KAAM,CACnC,MAAMC,EAAgBL,EAAkBM,QAAQ,KAC1CV,EAAYI,EAAkBO,UAAU,EAAGF,GAC3CG,EAAgBR,EAAkBO,UAAUF,EAAgB,GAE5DhB,EAASvE,KAAKsD,QAAQjD,IAAIyE,GAE5BP,IACFY,EAAUZ,EAAOoB,gBAAgBP,KAAKb,GACtCc,EAAYK,GAIhB,MAAO,CAAEP,UAASE,aAGZ,gBAAAX,GACN,IAAK1E,KAAKqD,QAAS,OACnB,MAAMa,EAASlE,KAAKmD,OAAOe,QAAU,CAAE,EAGvClE,KAAKqD,QAAQuC,GAAG,iBAAiBxE,MAAOyE,IACtCzD,EAAOI,MAAM,kCAAmCqD,GAC3C3B,EAAO4B,qBAIZ5B,EAAO4B,oBAAoBD,GAC3BzD,EAAOI,MAAM,qCAJXJ,EAAOI,MAAM,iDAIiC,IAGlDxC,KAAKqD,QAAQuC,GAAG,cAAeC,IACzB7F,KAAKmD,OAAOe,QAAQ6B,eACtB/F,KAAKmD,OAAOe,OAAO6B,cAAcF,EAAQG,UAiC/C,WAAMC,CAA0BlG,EAAQmG,GACtC,MAAMf,QAAEA,EAAOE,UAAEA,GAAcrF,KAAKiF,iBAAiBlF,EAAe,UAE9D0B,UAAEA,EAAS0E,UAAEA,EAASC,QAAEA,EAAOC,OAAEA,EAAMC,UAAEA,GAAcJ,GAAgB,CAAE,EACzEK,EAAY9E,EAAY1B,QAAYC,KAAKwG,oBAAoBzG,EAAKmG,GAGxE,IAAI5E,EAFJc,EAAOI,MAAM,UAAUzC,4BAA+BsG,EAAQ,cAAcC,KAG5E,IACM7E,IACFH,EAActB,KAAKyG,mBAAmBF,EAAWJ,EAAWC,IAG9DpG,KAAKoD,aAAa1C,iBAAiB6F,EAAW,CAAEpG,OAAQ,YAExD,MAAMW,QAAcqE,EAAQE,EAAWgB,GACvCjE,EAAOS,KAAK,UAAU9C,cAAiBe,GAEvCd,KAAKoD,aAAa1C,iBAAiB6F,EAAW,CAC5CpG,OAAQ,UACRW,SAGF,MAAMmB,EAAQjC,KAAKoD,aAAatD,cAAcyG,GAE9C,MAAO,CACLzF,KAAMmB,EAAMnB,KACZC,WAAO2F,EACPvG,OAAQ8B,EAAM9B,OACda,UAA4B,YAAjBiB,EAAM9B,OACjBc,SAAS,EACTC,WAAW,EACXC,QAAS,IAAMnB,KAAKiG,MAAMlG,EAAKmG,GAC/B5E,YAAaG,EAAYH,OAAcoF,GAEzC,MAAO3F,GASP,OARAqB,EAAOrB,MAAM,UAAUhB,YAAegB,GACtCf,KAAKoD,aAAa1C,iBAAiB6F,EAAW,CAC5CpG,OAAQ,QACRY,MAAOA,IAGTqF,IAAUrF,GAEH,CACLD,UAAM4F,EACN3F,MAAOA,EACPZ,OAAQ,QACRa,WAAW,EACXC,SAAS,EACTC,WAAW,EACXC,QAAS,IAAMnB,KAAKiG,MAAMlG,EAAKmG,GAC/B5E,YAAaG,EAAYH,OAAcoF,IAKrC,kBAAAD,CACNF,EACAJ,EACAC,GAEA,IAAIO,EAAyB3G,KAAKoD,aAAa3B,UAAU8E,GAAYtE,IAC/DA,EAAMnB,MACRqF,IAAYlE,EAAMnB,MAEhBmB,EAAMlB,OACRqF,IAAUnE,EAAMlB,UAKpB,GADAf,KAAKoD,aAAapB,2BAA2BuE,GACa,IAAtDvG,KAAKoD,aAAarB,qBAAqBwE,GAAkB,CAC3D,MAAMK,EAAkB5G,KAAKqD,QAAQuC,GAAGW,GAAYM,IAClD7G,KAAKoD,aAAa1C,iBAAiB6F,EAAW,CAC5CpG,OAAQ,UACRW,KAAM+F,GACN,IAEJ7G,KAAKoD,aAAa1C,iBAAiB6F,EAAW,CAAEjF,YAAasF,IAG/D,MAAO,KACLD,MACA3G,KAAK8G,aAAaP,EAAU,EAIxB,yBAAMC,CACZzG,EACAgH,GAEA,MACMjG,GADU,IAAIkG,aACCC,OAAOC,KAAKC,UAAUJ,GAAW,CAAA,IAChDK,QAAmBC,OAAOC,OAAOC,OAAO,UAAWzG,GAGzD,MAAO,GAAGf,KAFQQ,MAAMC,KAAK,IAAIgH,WAAWJ,IAClBK,KAAKC,GAASA,EAAKC,SAAS,IAAIC,SAAS,EAAG,OAAMC,KAAK,MAwBnF,YAAMC,CACJ/H,EACAgI,GAEA,MAAM5C,QAAEA,EAAOE,UAAEA,GAAcrF,KAAKiF,iBAAiBlF,EAAe,aAC9DoG,UAAEA,EAASC,QAAEA,EAAOC,OAAEA,EAAMC,UAAEA,GAAcyB,GAAmB,CAAE,EACvE3F,EAAOI,MAAM,aAAazC,4BAA+BsG,EAAQ,cAAcC,KAE/E,IACE,MAAMxF,QAAcqE,EAAQE,EAAWgB,GAGvC,OAFAjE,EAAOS,KAAK,aAAa9C,cAAiBe,GAC1CqF,IAAYrF,GACLA,EACP,MAAOC,GAGP,MAFAqB,EAAOrB,MAAM,aAAahB,YAAegB,GACzCqF,IAAUrF,GACJA,GAIF,YAAMiH,CAAOC,GACnB,MAAMC,EAAM,IAAIC,IAAIF,EAAMC,KACpBE,EAAOF,EAAIG,SAAWH,EAAII,OAASJ,EAAIK,KAEvCC,EAASP,EAAMO,QAAU,MACzBC,EAAUR,GAAOQ,QAAUC,OAAOC,YAAY,IAAIC,QAAQX,EAAMQ,eAAY/B,EAC5EmC,QAAaZ,EAAMa,cAEnBC,EAAqC,CACzCF,KAAMA,EAAKG,WAAa,EAAIH,OAAOnC,EACnC+B,UACAD,SACAJ,OACAa,cAAc,GAGhB,OAAOjJ,KAAKqD,QACT8B,QAAiD,eAAgB4D,GACjEG,MAAMC,IACL,MAAM3F,EAAqB,CACzBiF,QAASU,EAASV,SAAW,CAAE,EAC/BtI,OAAQgJ,EAAShJ,QAAU,IAC3BiJ,WAAYD,EAASC,YAAc,IAErC,OAAO,IAAIC,SAASF,EAASN,KAAMrF,EAAK,IAI9C,YAAM8F,SACEtJ,KAAKqD,QAAQ8B,QAAQ,eAG7B,iBAAMoE,SACEvJ,KAAKqD,QAAQ8B,QAAQ,oBAG7B,2BAAMqE,CAAsBtB,EAAauB,GAAkB,GACzD,IAAKvB,EACH,MAAM,IAAI7G,MAAM,6CAGlB,MAAMwE,EAA8B,CAAEqC,MAAKuB,gBACrCzJ,KAAKqD,QAAQ8B,QAAQ,8BAA+BU,GAgB5D,oBAAM6D,CAAe1D,GACnB,IAAKA,EACH,MAAM,IAAI3E,MAAM,wCAElBe,EAAOI,MAAM,wBAAwBwD,KAErC,MAAMH,EAAU,CAAEG,SAClBhG,KAAKqD,QAAQsG,KAAK,eAAgB9D,GAOpC,cAAM+D,GACJ,OAAO5J,KAAKqD,QAAQ8B,QAAQ,iBAAkB,CAAA,GAShD,cAAM0E,CAASC,EAAeC,SACtB/J,KAAKqD,QAAQ8B,QAAQ,iBAAkB,CAAE2E,QAAOC,iBAOxD,cAAMC,SACEhK,KAAKqD,QAAQ8B,QAAQ,iBAAkB,CAAA,GAGvC,oBAAMb,CAAeH,GACvBA,SACInE,KAAKqD,QAAQ8B,QAAQ,sBAAuBhB,GAI9C,YAAA2C,CAAa/G,GACnB,MAAMkC,EAAQjC,KAAKoD,aAAatD,cAAcC,GAC9CC,KAAKoD,aAAalB,2BAA2BnC,GACO,IAAhDC,KAAKoD,aAAarB,qBAAqBhC,KACzCkC,EAAMX,gBACNtB,KAAKoD,aAAatB,YAAY/B,IAQlC,OAAAkK,GAEE,MAAMxJ,EAAOT,KAAKoD,aAAa9C,eAC/B,IAAK,MAAMP,KAAOU,EAChBT,KAAK8G,aAAa/G,ICrdlB,SAAUmK,EAAwBpJ,GACtC,MAAMqJ,EAAajD,KAAKC,UAAUrG,GAClC,OAAO,IAAI0G,YAAW,IAAIR,aAAcC,OAAOkD,IAAaC,MAC9D"}
@@ -1,4 +1,4 @@
1
- import { ApplicationContext, UserInfo } from '@sitecore-marketplace-sdk/core';
1
+ import { ApplicationContext, UserInfo, PagesContextParams } from '@sitecore-marketplace-sdk/core';
2
2
  export type AppType = 'portal' | 'xmc:xmapps' | 'xmc:pages-contextview';
3
3
  export type HostState<T extends AppType = AppType> = T extends 'portal' ? null : T extends 'xmc:xmapps' ? XmcXmAppsHostState : T extends 'xmc:pages-contextview' ? XmcPagesContextViewHostState : never;
4
4
  export interface XmcXmAppsHostState {
@@ -156,6 +156,25 @@ interface PagesContextPageInfo {
156
156
  route?: string;
157
157
  [key: string]: any;
158
158
  }
159
+ interface SiteContext {
160
+ siteInfo: {
161
+ siteId: string;
162
+ name: string;
163
+ displayName: string;
164
+ url: string;
165
+ hosts: {
166
+ id: string;
167
+ name: string;
168
+ languageSettings: {
169
+ defaultLanguage: string;
170
+ [key: string]: any;
171
+ };
172
+ [key: string]: any;
173
+ }[];
174
+ [key: string]: any;
175
+ } | null;
176
+ [key: string]: any;
177
+ }
159
178
  export interface QueryMap {
160
179
  'host.user': {
161
180
  params: void;
@@ -177,6 +196,11 @@ export interface QueryMap {
177
196
  response: ApplicationContext;
178
197
  subscribe: false;
179
198
  };
199
+ 'site.context': {
200
+ params: void;
201
+ response: SiteContext;
202
+ subscribe: false;
203
+ };
180
204
  'host.route': {
181
205
  params: void;
182
206
  response: string;
@@ -189,6 +213,11 @@ export interface MutationMap {
189
213
  response: void;
190
214
  subscribe: false;
191
215
  };
216
+ 'pages.context': {
217
+ params: PagesContextParams;
218
+ response: void;
219
+ subscribe: false;
220
+ };
192
221
  }
193
222
  export type QueryKey = keyof QueryMap;
194
223
  export type MutationKey = keyof MutationMap;
@@ -1 +1 @@
1
- {"version":3,"file":"sdk-types.d.ts","sourceRoot":"","sources":["../src/sdk-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk-types.d.ts","sourceRoot":"","sources":["../src/sdk-types.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -56,7 +56,7 @@ export interface MutationOptions<K extends MutationKey> extends BaseMutationOpti
56
56
  */
57
57
  export interface ClientSDKConfig extends CoreSDKConfig {
58
58
  /** The origin of the remote endpoint (e.g. client for the host, or host for the client) */
59
- targetOrigin: string;
59
+ targetOrigin?: string;
60
60
  /** Our own origin – this defaults to the value of window.location.origin */
61
61
  selfOrigin: string;
62
62
  /** Events that the SDK can listen for */
@@ -67,7 +67,7 @@ export interface ClientSDKConfig extends CoreSDKConfig {
67
67
  navbarItems?: NavbarItemsProps;
68
68
  }
69
69
  export type ClientSDKInitConfig = {
70
- origin: string;
70
+ origin?: string;
71
71
  target: Window;
72
72
  timeout?: number;
73
73
  modules?: SDKModule[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sitecore-marketplace-sdk/client",
3
- "version": "0.1.2",
3
+ "version": "0.2.0",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs.js",
@@ -29,7 +29,7 @@
29
29
  "dependencies": {
30
30
  "tslib": "^2.8.1",
31
31
  "uuid": "^11.1.0",
32
- "@sitecore-marketplace-sdk/core": "0.1.1"
32
+ "@sitecore-marketplace-sdk/core": "0.2.1"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@rollup/plugin-node-resolve": "^16.0.0",
@@ -68,6 +68,7 @@
68
68
  "clean": "rimraf dist tsconfig.tsbuildinfo",
69
69
  "lint": "eslint src --ext .ts",
70
70
  "test": "vitest",
71
- "coverage": "vitest run --coverage"
71
+ "coverage": "vitest run --coverage",
72
+ "generate:docs": "npx typedoc --options ../../typedoc.json --out ../../docs/client src/index.ts"
72
73
  }
73
74
  }