@kittl/sdk 0.0.7 → 0.0.9
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/dist/editorContentPanel/sdk.d.ts +2752 -0
- package/dist/editorContentPanel/sdk.esm.js +1286 -0
- package/dist/editorContentPanel/sdk.js +1286 -0
- package/dist/editorScriptRunner/sdk.d.ts +2685 -0
- package/dist/editorScriptRunner/sdk.esm.js +1284 -0
- package/dist/editorScriptRunner/sdk.js +1282 -0
- package/dist/kittl-sdk.esm.js +207 -159
- package/dist/kittl-sdk.js +208 -158
- package/dist/sdk.d.ts +547 -215
- package/dist/sharedFileBrowser/sdk.d.ts +2752 -0
- package/dist/sharedFileBrowser/sdk.esm.js +1001 -0
- package/dist/sharedFileBrowser/sdk.js +1001 -0
- package/package.json +19 -1
package/dist/kittl-sdk.esm.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
// @ts-self-types="./sdk.d.ts"
|
|
2
2
|
/*! Kittl SDK - https://kittl.com - see license for terms */
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
// ../../packages/editor-core/sdk/sdk-bridge/dist/bridge/shared/commands.js
|
|
6
4
|
var FROM_EXTENSION_COMMANDS = {
|
|
7
5
|
/** SDK API call */
|
|
8
6
|
SDK_CALL: "sdk-call",
|
|
@@ -68,7 +66,6 @@ var TO_EXTENSION_COMMANDS = {
|
|
|
68
66
|
APP_STATE_UPDATE: "app-state-update"
|
|
69
67
|
};
|
|
70
68
|
|
|
71
|
-
// ../../packages/editor-core/sdk/sdk-bridge/dist/bridge/types/toExtensions.js
|
|
72
69
|
var isSDKResponseMessage = (data) => {
|
|
73
70
|
return typeof data === "object" && data !== null && "command" in data && data.command === TO_EXTENSION_COMMANDS.SDK_RESPONSE && "messageId" in data && typeof data.messageId === "string";
|
|
74
71
|
};
|
|
@@ -91,7 +88,13 @@ var isFileBrowserFetchContentRequestMessage = (data) => {
|
|
|
91
88
|
return typeof data === "object" && data !== null && "command" in data && data.command === TO_EXTENSION_COMMANDS.FILE_BROWSER_FETCH_CONTENT_REQUEST && "requestId" in data && typeof data.requestId === "string" && "subscriptionId" in data && typeof data.subscriptionId === "string";
|
|
92
89
|
};
|
|
93
90
|
|
|
94
|
-
|
|
91
|
+
var generateMessageId = () => {
|
|
92
|
+
if (crypto?.randomUUID && typeof crypto.randomUUID === "function") {
|
|
93
|
+
return crypto.randomUUID();
|
|
94
|
+
}
|
|
95
|
+
return Math.random().toString(36).substring(7);
|
|
96
|
+
};
|
|
97
|
+
|
|
95
98
|
var buildMethodPath = (rootPrefix, pathSegments) => {
|
|
96
99
|
if (!rootPrefix) {
|
|
97
100
|
return pathSegments.join(".");
|
|
@@ -127,10 +130,6 @@ var createCallablePathProxy = (options) => {
|
|
|
127
130
|
return createNode([]);
|
|
128
131
|
};
|
|
129
132
|
|
|
130
|
-
// ../../packages/editor-core/sdk/sdk-bridge/dist/bridge/shared/index.js
|
|
131
|
-
var EDITOR_URL = typeof window !== "undefined" ? window.location?.origin : "";
|
|
132
|
-
|
|
133
|
-
// ../../packages/editor-core/sdk/sdk-bridge/dist/bridge/sandboxed/utils/approvedDomain/approvedDomain.js
|
|
134
133
|
var parentDomain;
|
|
135
134
|
var APPROVED_EXTENSION_COMMUNICATION_DOMAINS = [
|
|
136
135
|
"https://app.stagingdesigner.com",
|
|
@@ -190,14 +189,7 @@ var getParentDomain = () => {
|
|
|
190
189
|
return parentDomain;
|
|
191
190
|
};
|
|
192
191
|
|
|
193
|
-
// ../../packages/editor-core/sdk/sdk-bridge/dist/bridge/sandboxed/messageSender.js
|
|
194
192
|
var pendingRequests = /* @__PURE__ */ new Map();
|
|
195
|
-
var generateMessageId = () => {
|
|
196
|
-
if (crypto?.randomUUID && typeof crypto.randomUUID === "function") {
|
|
197
|
-
return crypto.randomUUID();
|
|
198
|
-
}
|
|
199
|
-
return Math.random().toString(36).substring(7);
|
|
200
|
-
};
|
|
201
193
|
var postMessageToParent = (message) => {
|
|
202
194
|
window.parent.postMessage(message, getParentDomain());
|
|
203
195
|
};
|
|
@@ -221,7 +213,6 @@ var sendLoaded = () => {
|
|
|
221
213
|
postMessageToParent(message);
|
|
222
214
|
};
|
|
223
215
|
|
|
224
|
-
// ../../packages/editor-core/sdk/sdk-bridge/dist/bridge/sandboxed/handlers/apiProxy/index.js
|
|
225
216
|
var createSDKCallMessage = {
|
|
226
217
|
ai: (dots, args, messageId) => ({
|
|
227
218
|
command: FROM_EXTENSION_COMMANDS.SDK_CALL,
|
|
@@ -244,6 +235,13 @@ var createSDKCallMessage = {
|
|
|
244
235
|
messageId,
|
|
245
236
|
apiType: "design"
|
|
246
237
|
}),
|
|
238
|
+
export: (dots, args, messageId) => ({
|
|
239
|
+
command: FROM_EXTENSION_COMMANDS.SDK_CALL,
|
|
240
|
+
dots,
|
|
241
|
+
args,
|
|
242
|
+
messageId,
|
|
243
|
+
apiType: "export"
|
|
244
|
+
}),
|
|
247
245
|
font: (dots, args, messageId) => ({
|
|
248
246
|
command: FROM_EXTENSION_COMMANDS.SDK_CALL,
|
|
249
247
|
dots,
|
|
@@ -287,7 +285,6 @@ function createApiProxy(apiType) {
|
|
|
287
285
|
});
|
|
288
286
|
}
|
|
289
287
|
|
|
290
|
-
// ../../packages/editor-core/sdk/sdk-bridge/dist/bridge/sandboxed/handlers/apiProxy/aiApiProxy.js
|
|
291
288
|
var generationHandlers = /* @__PURE__ */ new Map();
|
|
292
289
|
var generationSubscriptions = /* @__PURE__ */ new Map();
|
|
293
290
|
var dispatchAIGenerationUpdate = (subscriptionId, update) => {
|
|
@@ -389,9 +386,11 @@ function createAIApiProxy() {
|
|
|
389
386
|
};
|
|
390
387
|
}
|
|
391
388
|
|
|
392
|
-
// ../../packages/editor-core/sdk/sdk-bridge/dist/bridge/sandboxed/handlers/apiProxy/fileBrowserApiProxy.js
|
|
393
389
|
var fetchContentHandlers = /* @__PURE__ */ new Map();
|
|
394
390
|
var tabIdToSubscriptionId = /* @__PURE__ */ new Map();
|
|
391
|
+
var removeSubscriptionHandlers = (subscriptionId) => {
|
|
392
|
+
fetchContentHandlers.delete(subscriptionId);
|
|
393
|
+
};
|
|
395
394
|
var dispatchFileBrowserFetchContentRequest = (requestId, subscriptionId, params) => {
|
|
396
395
|
const handler = fetchContentHandlers.get(subscriptionId);
|
|
397
396
|
if (!handler) {
|
|
@@ -411,12 +410,12 @@ var dispatchFileBrowserFetchContentRequest = (requestId, subscriptionId, params)
|
|
|
411
410
|
next: result.next
|
|
412
411
|
};
|
|
413
412
|
postMessageToParent(responseMessage);
|
|
414
|
-
}).catch((
|
|
413
|
+
}).catch((error) => {
|
|
415
414
|
const responseMessage = {
|
|
416
415
|
command: FROM_EXTENSION_COMMANDS.FILE_BROWSER_FETCH_CONTENT_RESPONSE,
|
|
417
416
|
requestId,
|
|
418
417
|
content: [],
|
|
419
|
-
error:
|
|
418
|
+
error: error instanceof Error ? error.message : "Unknown error"
|
|
420
419
|
};
|
|
421
420
|
postMessageToParent(responseMessage);
|
|
422
421
|
});
|
|
@@ -427,7 +426,7 @@ function createFileBrowserApiProxy() {
|
|
|
427
426
|
const subscriptionId = generateMessageId();
|
|
428
427
|
const existingSubscriptionId = tabIdToSubscriptionId.get(tab.id);
|
|
429
428
|
if (existingSubscriptionId) {
|
|
430
|
-
|
|
429
|
+
removeSubscriptionHandlers(existingSubscriptionId);
|
|
431
430
|
}
|
|
432
431
|
fetchContentHandlers.set(subscriptionId, tab.fetchContent);
|
|
433
432
|
tabIdToSubscriptionId.set(tab.id, subscriptionId);
|
|
@@ -436,12 +435,14 @@ function createFileBrowserApiProxy() {
|
|
|
436
435
|
messageId: generateMessageId(),
|
|
437
436
|
tabId: tab.id,
|
|
438
437
|
label: tab.label,
|
|
438
|
+
order: tab.order,
|
|
439
|
+
emptyState: tab.emptyState,
|
|
439
440
|
subscriptionId
|
|
440
441
|
};
|
|
441
442
|
try {
|
|
442
443
|
const response = await sendMessage(registerMessage);
|
|
443
444
|
if (!response.isOk) {
|
|
444
|
-
|
|
445
|
+
removeSubscriptionHandlers(subscriptionId);
|
|
445
446
|
tabIdToSubscriptionId.delete(tab.id);
|
|
446
447
|
return {
|
|
447
448
|
isOk: false,
|
|
@@ -453,7 +454,8 @@ function createFileBrowserApiProxy() {
|
|
|
453
454
|
result: void 0
|
|
454
455
|
};
|
|
455
456
|
} catch {
|
|
456
|
-
|
|
457
|
+
removeSubscriptionHandlers(subscriptionId);
|
|
458
|
+
tabIdToSubscriptionId.delete(tab.id);
|
|
457
459
|
return {
|
|
458
460
|
isOk: false,
|
|
459
461
|
error: {
|
|
@@ -466,7 +468,6 @@ function createFileBrowserApiProxy() {
|
|
|
466
468
|
};
|
|
467
469
|
}
|
|
468
470
|
|
|
469
|
-
// ../../packages/editor-core/sdk/sdk-bridge/dist/bridge/sandboxed/handlers/appState/index.js
|
|
470
471
|
var sendUnsubscribe = (selectorIds) => {
|
|
471
472
|
const message = {
|
|
472
473
|
command: FROM_EXTENSION_COMMANDS.APP_STATE_UNSUBSCRIBE,
|
|
@@ -531,105 +532,126 @@ var createAppStateBridgeApi = () => {
|
|
|
531
532
|
return { subscribe, dispatch };
|
|
532
533
|
};
|
|
533
534
|
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
return base64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
542
|
-
};
|
|
543
|
-
var generatePKCECode = () => {
|
|
544
|
-
if (!window.crypto) {
|
|
545
|
-
throw new Error("Crypto API not available");
|
|
535
|
+
var SandboxedAuthClient = class {
|
|
536
|
+
/**
|
|
537
|
+
* Binds the public start method because the exported SDK API may pass it
|
|
538
|
+
* around without its client object as the receiver.
|
|
539
|
+
*/
|
|
540
|
+
constructor() {
|
|
541
|
+
this.startAuth = this.startAuth.bind(this);
|
|
546
542
|
}
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
}
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
543
|
+
/**
|
|
544
|
+
* Starts provider authentication and optionally adds an RFC 7636 PKCE
|
|
545
|
+
* challenge to the request. Successful responses include the verifier that
|
|
546
|
+
* the caller must pass to {@link exchangeCode}.
|
|
547
|
+
*/
|
|
548
|
+
async startAuth(request) {
|
|
549
|
+
const state = generateMessageId();
|
|
550
|
+
let pkceCode = "";
|
|
551
|
+
let code_verifier = "";
|
|
552
|
+
if (request.generatePKCE) {
|
|
553
|
+
code_verifier = this.generatePKCECode();
|
|
554
|
+
pkceCode = await this.hashPKCECode(code_verifier);
|
|
555
|
+
}
|
|
556
|
+
const message = {
|
|
557
|
+
command: FROM_EXTENSION_COMMANDS.AUTH_START,
|
|
558
|
+
messageId: generateMessageId(),
|
|
559
|
+
state,
|
|
560
|
+
provider: request.provider,
|
|
561
|
+
params: {
|
|
562
|
+
...request.params,
|
|
563
|
+
...pkceCode ? {
|
|
564
|
+
code_challenge: pkceCode,
|
|
565
|
+
code_challenge_method: "S256"
|
|
566
|
+
} : {}
|
|
560
567
|
}
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
} : {}
|
|
572
|
-
}
|
|
573
|
-
};
|
|
574
|
-
const response = await sendMessage(message);
|
|
575
|
-
if (!response.isOk) {
|
|
576
|
-
return response;
|
|
568
|
+
};
|
|
569
|
+
const response = await sendMessage(message);
|
|
570
|
+
if (!response.isOk) {
|
|
571
|
+
return response;
|
|
572
|
+
}
|
|
573
|
+
return {
|
|
574
|
+
...response,
|
|
575
|
+
result: {
|
|
576
|
+
...response.result,
|
|
577
|
+
code_verifier
|
|
577
578
|
}
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
579
|
+
};
|
|
580
|
+
}
|
|
581
|
+
/** Exchanges the provider authorization code for an auth token. */
|
|
582
|
+
exchangeCode(request) {
|
|
583
|
+
const message = {
|
|
584
|
+
command: FROM_EXTENSION_COMMANDS.AUTH_EXCHANGE,
|
|
585
|
+
messageId: generateMessageId(),
|
|
586
|
+
code: request.code,
|
|
587
|
+
code_verifier: request.code_verifier,
|
|
588
|
+
provider: request.provider,
|
|
589
|
+
params: request.params,
|
|
590
|
+
headers: request.headers
|
|
591
|
+
};
|
|
592
|
+
return sendMessage(message);
|
|
593
|
+
}
|
|
594
|
+
/** Requests the current auth token for a provider. */
|
|
595
|
+
getAuthToken(request) {
|
|
596
|
+
const message = {
|
|
597
|
+
command: FROM_EXTENSION_COMMANDS.AUTH_GET_TOKEN,
|
|
598
|
+
messageId: generateMessageId(),
|
|
599
|
+
provider: request.provider
|
|
600
|
+
};
|
|
601
|
+
return sendMessage(message);
|
|
602
|
+
}
|
|
603
|
+
/** Refreshes the auth token for a provider. */
|
|
604
|
+
refreshToken(request) {
|
|
605
|
+
const message = {
|
|
606
|
+
command: FROM_EXTENSION_COMMANDS.AUTH_REFRESH,
|
|
607
|
+
messageId: generateMessageId(),
|
|
608
|
+
provider: request.provider
|
|
609
|
+
};
|
|
610
|
+
return sendMessage(message);
|
|
611
|
+
}
|
|
612
|
+
/** Logs the current user out of a provider. */
|
|
613
|
+
logout(request) {
|
|
614
|
+
const message = {
|
|
615
|
+
command: FROM_EXTENSION_COMMANDS.AUTH_LOGOUT,
|
|
616
|
+
messageId: generateMessageId(),
|
|
617
|
+
provider: request.provider
|
|
618
|
+
};
|
|
619
|
+
return sendMessage(message);
|
|
620
|
+
}
|
|
621
|
+
/** Requests the authenticated user's user token from the parent window. */
|
|
622
|
+
getUserToken() {
|
|
623
|
+
const message = {
|
|
624
|
+
command: FROM_EXTENSION_COMMANDS.AUTH_GET_USER_TOKEN,
|
|
625
|
+
messageId: generateMessageId()
|
|
626
|
+
};
|
|
627
|
+
return sendMessage(message);
|
|
628
|
+
}
|
|
629
|
+
/** Hashes a PKCE verifier and encodes the SHA-256 digest as Base64URL. */
|
|
630
|
+
async hashPKCECode(input) {
|
|
631
|
+
const subtle = window.crypto?.subtle;
|
|
632
|
+
if (!subtle) {
|
|
633
|
+
throw new Error("Web Crypto SubtleCrypto API not available");
|
|
628
634
|
}
|
|
629
|
-
|
|
635
|
+
const textAsBuffer = new TextEncoder().encode(input);
|
|
636
|
+
const hashBuffer = await subtle.digest("SHA-256", textAsBuffer);
|
|
637
|
+
const hashArray = new Uint8Array(hashBuffer);
|
|
638
|
+
const binaryString = String.fromCharCode(...hashArray);
|
|
639
|
+
const base64 = btoa(binaryString);
|
|
640
|
+
return base64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
641
|
+
}
|
|
642
|
+
/** Generates a high-entropy RFC 7636-compatible PKCE verifier. */
|
|
643
|
+
generatePKCECode() {
|
|
644
|
+
if (!window.crypto) {
|
|
645
|
+
throw new Error("Crypto API not available");
|
|
646
|
+
}
|
|
647
|
+
const array = new Uint32Array(56);
|
|
648
|
+
window.crypto.getRandomValues(array);
|
|
649
|
+
return Array.from(array, (dec) => `0${dec.toString(16)}`.slice(-2)).join(
|
|
650
|
+
""
|
|
651
|
+
);
|
|
652
|
+
}
|
|
630
653
|
};
|
|
631
654
|
|
|
632
|
-
// ../../packages/editor-core/sdk/sdk-bridge/dist/bridge/sandboxed/handlers/batch/index.js
|
|
633
655
|
var createBatch = async () => {
|
|
634
656
|
const response = await sendMessage({
|
|
635
657
|
command: FROM_EXTENSION_COMMANDS.BATCH_CREATE,
|
|
@@ -674,7 +696,6 @@ var createBatch = async () => {
|
|
|
674
696
|
return buildNode([]);
|
|
675
697
|
};
|
|
676
698
|
|
|
677
|
-
// ../../packages/editor-core/sdk/sdk-bridge/dist/bridge/sandboxed/handlers/context/contextBridge.js
|
|
678
699
|
var createContextBridgeApi = () => {
|
|
679
700
|
const contextProxy = createApiProxy("context");
|
|
680
701
|
const subscriptionCallbacks = /* @__PURE__ */ new Map();
|
|
@@ -721,7 +742,6 @@ var createContextBridgeApi = () => {
|
|
|
721
742
|
return { api, dispatch };
|
|
722
743
|
};
|
|
723
744
|
|
|
724
|
-
// ../../packages/editor-core/sdk/sdk-bridge/dist/bridge/sandboxed/handlers/designState/index.js
|
|
725
745
|
var sendUnsubscribe2 = (selectorIds) => {
|
|
726
746
|
const message = {
|
|
727
747
|
command: FROM_EXTENSION_COMMANDS.DESIGN_STATE_UNSUBSCRIBE,
|
|
@@ -788,7 +808,6 @@ var createDesignStateBridgeApi = () => {
|
|
|
788
808
|
return { subscribe, dispatch };
|
|
789
809
|
};
|
|
790
810
|
|
|
791
|
-
// ../../packages/editor-core/sdk/sdk-bridge/dist/bridge/sandboxed/handlers/stateless/index.js
|
|
792
811
|
var createStatelessBridgeApi = () => {
|
|
793
812
|
const subscribers = /* @__PURE__ */ new Map();
|
|
794
813
|
return {
|
|
@@ -838,11 +857,11 @@ var createStatelessBridgeApi = () => {
|
|
|
838
857
|
};
|
|
839
858
|
};
|
|
840
859
|
|
|
841
|
-
// ../../packages/editor-core/sdk/sdk-bridge/dist/bridge/sandboxed/handlers.js
|
|
842
860
|
var statelessApi = createStatelessBridgeApi();
|
|
843
861
|
var designStateApi = createDesignStateBridgeApi();
|
|
844
862
|
var appStateApi = createAppStateBridgeApi();
|
|
845
863
|
var { api: contextApi, dispatch: dispatchContextUpdate } = createContextBridgeApi();
|
|
864
|
+
var authClient = new SandboxedAuthClient();
|
|
846
865
|
var handleIncomingMessage = (event) => {
|
|
847
866
|
const parent = window.parent;
|
|
848
867
|
if (!parent || parent === window) {
|
|
@@ -896,11 +915,12 @@ var bridgeHandlers = {
|
|
|
896
915
|
design: createApiProxy("design"),
|
|
897
916
|
designStore: designStateApi,
|
|
898
917
|
appStore: appStateApi,
|
|
918
|
+
export: createApiProxy("export"),
|
|
899
919
|
font: createApiProxy("font"),
|
|
900
920
|
state: createApiProxy("state"),
|
|
901
921
|
upload: createApiProxy("upload"),
|
|
902
922
|
fileBrowser: createFileBrowserApiProxy(),
|
|
903
|
-
auth:
|
|
923
|
+
auth: authClient,
|
|
904
924
|
stateless: statelessApi,
|
|
905
925
|
createBatch
|
|
906
926
|
};
|
|
@@ -1174,6 +1194,31 @@ var DragAndDropApi = class {
|
|
|
1174
1194
|
}
|
|
1175
1195
|
};
|
|
1176
1196
|
|
|
1197
|
+
// src/createEditorSDKAPIs.ts
|
|
1198
|
+
function createEditorSDKAPIs() {
|
|
1199
|
+
return {
|
|
1200
|
+
ai: bridgeHandlers.ai,
|
|
1201
|
+
data: bridgeHandlers.data,
|
|
1202
|
+
design: bridgeHandlers.design,
|
|
1203
|
+
export: bridgeHandlers.export,
|
|
1204
|
+
designStore: bridgeHandlers.designStore,
|
|
1205
|
+
appStore: bridgeHandlers.appStore,
|
|
1206
|
+
context: bridgeHandlers.context,
|
|
1207
|
+
dragAndDrop: new DragAndDropApi({
|
|
1208
|
+
state: bridgeHandlers.state,
|
|
1209
|
+
context: bridgeHandlers.context,
|
|
1210
|
+
design: bridgeHandlers.design,
|
|
1211
|
+
upload: bridgeHandlers.upload
|
|
1212
|
+
}),
|
|
1213
|
+
state: bridgeHandlers.state,
|
|
1214
|
+
auth: bridgeHandlers.auth,
|
|
1215
|
+
upload: bridgeHandlers.upload,
|
|
1216
|
+
stateless: bridgeHandlers.stateless,
|
|
1217
|
+
font: bridgeHandlers.font,
|
|
1218
|
+
createBatch: bridgeHandlers.createBatch
|
|
1219
|
+
};
|
|
1220
|
+
}
|
|
1221
|
+
|
|
1177
1222
|
// src/utils/syncHtmlDataThemeFromHostContext.ts
|
|
1178
1223
|
async function syncHtmlDataThemeFromHostContext(kittl2) {
|
|
1179
1224
|
if (typeof document === "undefined") {
|
|
@@ -1192,46 +1237,49 @@ async function syncHtmlDataThemeFromHostContext(kittl2) {
|
|
|
1192
1237
|
});
|
|
1193
1238
|
}
|
|
1194
1239
|
|
|
1195
|
-
// src/
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1240
|
+
// src/createKittlSDK.ts
|
|
1241
|
+
function createKittlSDK(apis) {
|
|
1242
|
+
const kittl2 = {
|
|
1243
|
+
onLoadedCallback: null,
|
|
1244
|
+
loaded: false,
|
|
1245
|
+
onReady: (callback) => {
|
|
1246
|
+
if (kittl2.loaded) {
|
|
1247
|
+
callback();
|
|
1248
|
+
return;
|
|
1249
|
+
}
|
|
1250
|
+
kittl2.onLoadedCallback = callback;
|
|
1251
|
+
},
|
|
1252
|
+
...apis
|
|
1253
|
+
};
|
|
1254
|
+
const initSdk = () => {
|
|
1255
|
+
kittl2.loaded = true;
|
|
1256
|
+
window.addEventListener(
|
|
1257
|
+
"message",
|
|
1258
|
+
(event) => {
|
|
1259
|
+
handleIncomingMessage(event);
|
|
1260
|
+
}
|
|
1261
|
+
);
|
|
1262
|
+
void syncHtmlDataThemeFromHostContext(kittl2).then(() => {
|
|
1263
|
+
kittl2.onLoadedCallback?.();
|
|
1264
|
+
sendLoaded();
|
|
1265
|
+
});
|
|
1266
|
+
};
|
|
1267
|
+
if (typeof document !== "undefined" && typeof window !== "undefined") {
|
|
1268
|
+
window.kittl = kittl2;
|
|
1269
|
+
if (document.readyState === "loading") {
|
|
1270
|
+
document.addEventListener("DOMContentLoaded", initSdk);
|
|
1271
|
+
} else {
|
|
1272
|
+
initSdk();
|
|
1220
1273
|
}
|
|
1221
|
-
);
|
|
1222
|
-
void syncHtmlDataThemeFromHostContext(kittl).then(() => {
|
|
1223
|
-
kittl.onLoadedCallback?.();
|
|
1224
|
-
sendLoaded();
|
|
1225
|
-
});
|
|
1226
|
-
};
|
|
1227
|
-
if (typeof document !== "undefined" && typeof window !== "undefined") {
|
|
1228
|
-
window.kittl = kittl;
|
|
1229
|
-
if (document.readyState === "loading") {
|
|
1230
|
-
document.addEventListener("DOMContentLoaded", initSdk);
|
|
1231
|
-
} else {
|
|
1232
|
-
initSdk();
|
|
1233
1274
|
}
|
|
1275
|
+
return kittl2;
|
|
1234
1276
|
}
|
|
1277
|
+
|
|
1278
|
+
// src/index.ts
|
|
1279
|
+
var kittl = createKittlSDK({
|
|
1280
|
+
...createEditorSDKAPIs(),
|
|
1281
|
+
fileBrowser: bridgeHandlers.fileBrowser
|
|
1282
|
+
});
|
|
1235
1283
|
export {
|
|
1236
1284
|
kittl,
|
|
1237
1285
|
unwrapResult
|