@sitecore-marketplace-sdk/client 0.1.1 → 0.1.4
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 +46 -56
- package/dist/client.d.ts +36 -11
- package/dist/client.d.ts.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/sdk-types.d.ts +35 -1
- package/dist/sdk-types.d.ts.map +1 -1
- package/dist/state.d.ts.map +1 -1
- package/dist/types.d.ts +11 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -4
package/README.md
CHANGED
|
@@ -1,10 +1,21 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Sitecore Marketplace SDK - `client` package
|
|
2
2
|
|
|
3
|
-
The
|
|
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
|
-
|
|
7
|
-
-
|
|
5
|
+
This package lets you:
|
|
6
|
+
- 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.
|
|
7
|
+
- Perform mutations. Mutations trigger state changes or HTTP requests in Sitecore.
|
|
8
|
+
- Interact with Sitecore APIs to perform actions on behalf of the resources it was granted access to during installation.
|
|
9
|
+
|
|
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
|
+
- Node.js 16 or later. Check your installed version by using the `node --version` command.
|
|
17
|
+
- npm 10 or later. Check your installed version by using the `npm --version` command.
|
|
18
|
+
- Access to the Sitecore Cloud Portal.
|
|
8
19
|
|
|
9
20
|
## Installation
|
|
10
21
|
|
|
@@ -14,31 +25,29 @@ npm install @sitecore-marketplace-sdk/client
|
|
|
14
25
|
|
|
15
26
|
## Initialization
|
|
16
27
|
|
|
17
|
-
Before you use queries or mutations, you must initialize the Client SDK
|
|
18
|
-
|
|
19
|
-
Example initialization code:
|
|
28
|
+
Before you use queries or mutations, you must initialize the Client SDK:
|
|
20
29
|
|
|
21
30
|
```typescript
|
|
22
31
|
import { ClientSDK } from '@sitecore-marketplace-sdk/client';
|
|
23
32
|
|
|
24
|
-
// Create a configuration object
|
|
33
|
+
// Create a configuration object:
|
|
25
34
|
const config = {
|
|
26
|
-
origin: 'https://pages.sitecorecloud.io',
|
|
27
|
-
target: window.parent,
|
|
28
|
-
modules: []
|
|
35
|
+
origin: 'https://pages.sitecorecloud.io', // Where in Sitecore to display the app
|
|
36
|
+
target: window.parent, // To iframe the app
|
|
37
|
+
modules: [] // Extend Client SDK with other modules, such as `XMC`
|
|
29
38
|
};
|
|
30
39
|
|
|
31
|
-
// Create a Client SDK instance using the configuration.
|
|
32
|
-
// The returned SDK provides a type-safe API based on your resource schema.
|
|
40
|
+
// Create a Client SDK instance using the configuration. The returned SDK provides a type-safe API based on your resource schema:
|
|
33
41
|
const client = await ClientSDK.init(config);
|
|
34
42
|
```
|
|
35
43
|
|
|
36
44
|
## Usage
|
|
37
45
|
|
|
38
|
-
###
|
|
46
|
+
### Make a query
|
|
39
47
|
|
|
40
|
-
|
|
41
|
-
|
|
48
|
+
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.
|
|
49
|
+
|
|
50
|
+
For example, pass `'host.state'` to retrieve the status of the host application:
|
|
42
51
|
|
|
43
52
|
```typescript
|
|
44
53
|
(async () => {
|
|
@@ -49,20 +58,18 @@ static JSON schema (for example, `"application.context"`).
|
|
|
49
58
|
console.log(queryResult.isLoading); // false once the request is complete
|
|
50
59
|
```
|
|
51
60
|
|
|
52
|
-
|
|
61
|
+
For an overview of all the possible values, refer to the [`QueryMap` interface](../../docs/client/interfaces/QueryMap.md).
|
|
62
|
+
|
|
63
|
+
### Perform a mutation
|
|
53
64
|
|
|
54
|
-
Use the `mutate` method to trigger changes
|
|
55
|
-
|
|
65
|
+
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.
|
|
66
|
+
|
|
67
|
+
For example, pass `'pages.reloadCanvas'` to reload the XM Cloud page builder canvas:
|
|
56
68
|
|
|
57
69
|
```typescript
|
|
58
70
|
(async () => {
|
|
59
71
|
try {
|
|
60
|
-
const mutationResponse = await client.mutate(
|
|
61
|
-
'host.state',
|
|
62
|
-
{ params: {
|
|
63
|
-
newState: 'active'
|
|
64
|
-
}}
|
|
65
|
-
);
|
|
72
|
+
const mutationResponse = await client.mutate('pages.reloadCanvas');
|
|
66
73
|
console.log('Mutation response:', mutationResponse);
|
|
67
74
|
} catch (error) {
|
|
68
75
|
console.error('Error during mutation:', error);
|
|
@@ -70,11 +77,14 @@ user token and perform the HTTP request on behalf of the client application.
|
|
|
70
77
|
})();
|
|
71
78
|
```
|
|
72
79
|
|
|
73
|
-
|
|
80
|
+
For an overview of all the possible values, refer to the [`MutationMap` interface](../../docs/client/interfaces/MutationMap.md).
|
|
81
|
+
|
|
82
|
+
> [!NOTE]
|
|
83
|
+
> 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).
|
|
74
84
|
|
|
75
|
-
|
|
85
|
+
### Query the application context
|
|
76
86
|
|
|
77
|
-
|
|
87
|
+
The application context provides information about your Marketplace app, such as its ID, URL, name, type, icon URL, installation ID, and associated resources:
|
|
78
88
|
|
|
79
89
|
```javascript
|
|
80
90
|
{
|
|
@@ -98,7 +108,7 @@ Here is the ApplicationContext data example:
|
|
|
98
108
|
}
|
|
99
109
|
```
|
|
100
110
|
|
|
101
|
-
To
|
|
111
|
+
To retrieve the application context, use the `query` method and pass `'application.context'` to it:
|
|
102
112
|
|
|
103
113
|
```typescript
|
|
104
114
|
(async () => {
|
|
@@ -107,32 +117,12 @@ To request the application context, you can use the query method with the key 'a
|
|
|
107
117
|
})();
|
|
108
118
|
```
|
|
109
119
|
|
|
110
|
-
##
|
|
111
|
-
|
|
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:
|
|
114
|
-
|
|
115
|
-
```json
|
|
116
|
-
{
|
|
117
|
-
"resources": {
|
|
118
|
-
"xmc": {
|
|
119
|
-
"publishing": {
|
|
120
|
-
"status": { "type": "query", ... },
|
|
121
|
-
"publish": { "type": "mutation", ... }
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
The generated client types provide a type-safe interface:
|
|
129
|
-
|
|
130
|
-
- `xmc.publishing.status(params)` returns a `Promise<QueryResult<...>>`
|
|
131
|
-
- `xmc.publishing.publish(params)` returns a `Promise<MutationResult<...>>`
|
|
120
|
+
## Documentation
|
|
132
121
|
|
|
133
|
-
|
|
134
|
-
to the generated methods and resource definitions.
|
|
122
|
+
For more information, refer to the reference documentation in the `/docs` folder.
|
|
135
123
|
|
|
136
|
-
##
|
|
124
|
+
## License
|
|
125
|
+
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.
|
|
137
126
|
|
|
138
|
-
|
|
127
|
+
## Status
|
|
128
|
+
The `client` package is actively maintained as part of the Sitecore Marketplace SDK.
|
package/dist/client.d.ts
CHANGED
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
* });
|
|
14
14
|
* const { data } = await client.query('host.user');
|
|
15
15
|
*/
|
|
16
|
-
import { ClientSDKConfig, MutationOptions, QueryOptions, QueryResult } from './types';
|
|
17
|
-
import type { QueryKey, MutationKey, MutationMap
|
|
16
|
+
import { ClientSDKConfig, ClientSDKInitConfig, MutationOptions, QueryOptions, QueryResult } from './types';
|
|
17
|
+
import type { QueryKey, MutationKey, MutationMap } from './sdk-types';
|
|
18
18
|
export declare class ClientSDK {
|
|
19
19
|
private config;
|
|
20
20
|
private stateManager;
|
|
@@ -42,14 +42,7 @@ export declare class ClientSDK {
|
|
|
42
42
|
* });
|
|
43
43
|
* ```
|
|
44
44
|
*/
|
|
45
|
-
static init(config:
|
|
46
|
-
origin: string;
|
|
47
|
-
target: Window;
|
|
48
|
-
timeout?: number;
|
|
49
|
-
modules?: SDKModule[];
|
|
50
|
-
events?: ClientSDKConfig['events'];
|
|
51
|
-
navbarItems?: NavbarItemsProps;
|
|
52
|
-
}): Promise<ClientSDK>;
|
|
45
|
+
static init(config: ClientSDKInitConfig): Promise<ClientSDK>;
|
|
53
46
|
/**
|
|
54
47
|
* Initializes the client SDK by performing a handshake with the host application.
|
|
55
48
|
* Must be called after the client script loads (when running inside an iframe).
|
|
@@ -89,6 +82,7 @@ export declare class ClientSDK {
|
|
|
89
82
|
* ```
|
|
90
83
|
*/
|
|
91
84
|
query<K extends QueryKey>(key: K, queryOptions?: QueryOptions<K>): Promise<QueryResult<K>>;
|
|
85
|
+
private handleSubscription;
|
|
92
86
|
private generateKeyWithHash;
|
|
93
87
|
/**
|
|
94
88
|
* Executes a mutation against the host application. Mutations trigger host-side state changes or HTTP requests.
|
|
@@ -115,8 +109,39 @@ export declare class ClientSDK {
|
|
|
115
109
|
logout(): Promise<void>;
|
|
116
110
|
openProfile(): Promise<void>;
|
|
117
111
|
navigateToExternalUrl(url: string, newTab?: boolean): Promise<void>;
|
|
112
|
+
/**
|
|
113
|
+
* Sends a route event to consumers without triggering navigation.
|
|
114
|
+
* This method broadcasts route information that can be received by listeners
|
|
115
|
+
* registered to the 'host.route' event.
|
|
116
|
+
*
|
|
117
|
+
* @param route - The route path or identifier to broadcast
|
|
118
|
+
* @returns A Promise that resolves when the event has been sent
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```typescript
|
|
122
|
+
* // Send a route event with additional context data
|
|
123
|
+
* await client.emitRouteEvent('/products/123');
|
|
124
|
+
*/
|
|
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>;
|
|
118
143
|
private setNavbarItems;
|
|
119
|
-
private
|
|
144
|
+
private _unsubscribe;
|
|
120
145
|
/**
|
|
121
146
|
* Cleans up all active subscriptions and resources.
|
|
122
147
|
* Call this when the SDK instance is no longer needed.
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,OAAO,
|
|
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--,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,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
|
|
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
|
package/dist/index.cjs.js.map
CHANGED
|
@@ -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","targetOrigin","origin","selfOrigin","
|
|
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--,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,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
|
|
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
|
package/dist/index.esm.js.map
CHANGED
|
@@ -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","targetOrigin","origin","selfOrigin","
|
|
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":"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"}
|
package/dist/sdk-types.d.ts
CHANGED
|
@@ -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;
|
|
@@ -184,6 +208,16 @@ export interface QueryMap {
|
|
|
184
208
|
};
|
|
185
209
|
}
|
|
186
210
|
export interface MutationMap {
|
|
211
|
+
'pages.reloadCanvas': {
|
|
212
|
+
params: void;
|
|
213
|
+
response: void;
|
|
214
|
+
subscribe: false;
|
|
215
|
+
};
|
|
216
|
+
'pages.context': {
|
|
217
|
+
params: PagesContextParams;
|
|
218
|
+
response: void;
|
|
219
|
+
subscribe: false;
|
|
220
|
+
};
|
|
187
221
|
}
|
|
188
222
|
export type QueryKey = keyof QueryMap;
|
|
189
223
|
export type MutationKey = keyof MutationMap;
|
package/dist/sdk-types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-types.d.ts","sourceRoot":"","sources":["../src/sdk-types.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"sdk-types.d.ts","sourceRoot":"","sources":["../src/sdk-types.ts"],"names":[],"mappings":"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"}
|
package/dist/state.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAExD,UAAU,UAAU,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,SAAS,KAAK,GAAG,KAAK;IAChE,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,SAAS,CAAmE;IAEpF;;OAEG;IACH,aAAa,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,SAAS,KAAK,GAAG,KAAK,EACzD,GAAG,EAAE,MAAM,GACV,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC;IAU5B;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE;IAIxB;;OAEG;IACH,gBAAgB,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,SAAS,KAAK,GAAG,KAAK,EAC5D,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,GAC1C,IAAI;IAuBP;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,GAAG,MAAM,IAAI;IAkBhF;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK9B;;OAEG;IACH,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIzC;;OAEG;IACH,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAM7C;;OAEG;IACH,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAExD,UAAU,UAAU,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,SAAS,KAAK,GAAG,KAAK;IAChE,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,SAAS,CAAmE;IAEpF;;OAEG;IACH,aAAa,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,SAAS,KAAK,GAAG,KAAK,EACzD,GAAG,EAAE,MAAM,GACV,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC;IAU5B;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE;IAIxB;;OAEG;IACH,gBAAgB,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,SAAS,KAAK,GAAG,KAAK,EAC5D,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,GAC1C,IAAI;IAuBP;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,GAAG,MAAM,IAAI;IAkBhF;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK9B;;OAEG;IACH,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIzC;;OAEG;IACH,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAM7C;;OAEG;IACH,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAO9C"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CoreSDKConfig } from '@sitecore-marketplace-sdk/core';
|
|
2
|
-
import { MutationKey, MutationMap, NavbarItemsProps, QueryKey, QueryMap } from './sdk-types';
|
|
2
|
+
import { MutationKey, MutationMap, NavbarItemsProps, QueryKey, QueryMap, SDKModule } from './sdk-types';
|
|
3
3
|
export type QueryStatus = 'idle' | 'loading' | 'error' | 'success';
|
|
4
4
|
export interface BaseQueryOptions<TData = unknown, TError extends Error = Error, TParams = {}> {
|
|
5
5
|
/** Whether to subscribe to updates for this query */
|
|
@@ -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
|
|
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 */
|
|
@@ -66,4 +66,13 @@ export interface ClientSDKConfig extends CoreSDKConfig {
|
|
|
66
66
|
};
|
|
67
67
|
navbarItems?: NavbarItemsProps;
|
|
68
68
|
}
|
|
69
|
+
export type ClientSDKInitConfig = {
|
|
70
|
+
origin?: string;
|
|
71
|
+
target: Window;
|
|
72
|
+
timeout?: number;
|
|
73
|
+
modules?: SDKModule[];
|
|
74
|
+
events?: ClientSDKConfig['events'];
|
|
75
|
+
navbarItems?: NavbarItemsProps;
|
|
76
|
+
};
|
|
77
|
+
export { UserInfo, ApplicationContext } from '@sitecore-marketplace-sdk/core';
|
|
69
78
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,
|
|
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.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs.js",
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
"client"
|
|
28
28
|
],
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@sitecore-marketplace-sdk/core": "0.1.1",
|
|
31
30
|
"tslib": "^2.8.1",
|
|
32
|
-
"uuid": "^11.1.0"
|
|
31
|
+
"uuid": "^11.1.0",
|
|
32
|
+
"@sitecore-marketplace-sdk/core": "0.1.4"
|
|
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 --plugin typedoc-plugin-markdown --outputFileStrategy Members --parametersFormat table --readme none --out ../../docs/client src/index.ts --githubPages false"
|
|
72
73
|
}
|
|
73
74
|
}
|