@wix/editor 1.363.0 → 1.365.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/dist/cjs/index.js +140 -73
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +132 -66
- package/dist/esm/index.js.map +1 -1
- package/dist/statics/index.js +140 -73
- package/dist/statics/index.js.map +1 -1
- package/dist/types/index.d.ts +31 -22
- package/package.json +7 -6
package/dist/cjs/index.js
CHANGED
|
@@ -30,9 +30,9 @@ const auth = () => {
|
|
|
30
30
|
return {
|
|
31
31
|
getAuthHeaders: async () => {
|
|
32
32
|
const context = await editorPlatformContexts.ApplicationContext.getInstance();
|
|
33
|
-
const
|
|
33
|
+
const appDefinitionId = context.getAppDefinitionId();
|
|
34
34
|
const privateAPI = context.getPrivateAPI();
|
|
35
|
-
if (!
|
|
35
|
+
if (!appDefinitionId) {
|
|
36
36
|
throw createEditorPlatformSDKAuthError(
|
|
37
37
|
"EmptyAppDefinitionId" /* EmptyAppDefinitionId */
|
|
38
38
|
);
|
|
@@ -42,7 +42,7 @@ const auth = () => {
|
|
|
42
42
|
ACCESS_TOKEN_EXPIRY_GRACE_PERIOD
|
|
43
43
|
)) {
|
|
44
44
|
instance = await privateAPI.auth.getAccessToken(
|
|
45
|
-
|
|
45
|
+
appDefinitionId,
|
|
46
46
|
await privateAPI.info.getMetaSiteId()
|
|
47
47
|
);
|
|
48
48
|
}
|
|
@@ -50,7 +50,7 @@ const auth = () => {
|
|
|
50
50
|
console.error(
|
|
51
51
|
createEditorPlatformSDKAuthError(
|
|
52
52
|
"EmptyAppAuthInstance" /* EmptyAppAuthInstance */
|
|
53
|
-
).withAppDefinitionId(
|
|
53
|
+
).withAppDefinitionId(appDefinitionId)
|
|
54
54
|
);
|
|
55
55
|
return {
|
|
56
56
|
headers: {
|
|
@@ -68,63 +68,89 @@ const auth = () => {
|
|
|
68
68
|
};
|
|
69
69
|
|
|
70
70
|
class PlatformSDKShape {
|
|
71
|
-
constructor(
|
|
72
|
-
this.
|
|
73
|
-
this.
|
|
71
|
+
constructor(ShapeConstructor, selectedMethods = []) {
|
|
72
|
+
this.ShapeConstructor = ShapeConstructor;
|
|
73
|
+
this.selectedMethods = selectedMethods;
|
|
74
|
+
}
|
|
75
|
+
withPublicMethod(method) {
|
|
76
|
+
return new PlatformSDKShape(this.ShapeConstructor, [
|
|
77
|
+
...this.selectedMethods,
|
|
78
|
+
method
|
|
79
|
+
]);
|
|
74
80
|
}
|
|
75
81
|
build() {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
(
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
[method]: (host) => {
|
|
87
|
-
if (host?.applicationContext) {
|
|
88
|
-
const _instance = instance.withApplicationContext(
|
|
89
|
-
host.applicationContext
|
|
82
|
+
if (!this.selectedMethods.length) {
|
|
83
|
+
throw new Error("methods are not defined for the SDK shape");
|
|
84
|
+
}
|
|
85
|
+
const sdk = this.selectedMethods.reduce(
|
|
86
|
+
(acc, method) => {
|
|
87
|
+
return {
|
|
88
|
+
...acc,
|
|
89
|
+
[method]: (host) => {
|
|
90
|
+
const instance = new this.ShapeConstructor(
|
|
91
|
+
host?.applicationContext
|
|
90
92
|
);
|
|
91
|
-
|
|
92
|
-
|
|
93
|
+
if (!instance[method]) {
|
|
94
|
+
return () => {
|
|
95
|
+
console.error(`"${method}" is not defined in the SDK shape`);
|
|
96
|
+
};
|
|
97
|
+
}
|
|
93
98
|
return instance[method].bind(instance);
|
|
94
99
|
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
|
|
100
|
+
};
|
|
101
|
+
},
|
|
102
|
+
{}
|
|
103
|
+
);
|
|
104
|
+
return hostModules.createHostModule(sdk);
|
|
99
105
|
}
|
|
100
106
|
}
|
|
101
107
|
|
|
108
|
+
class BaseSDKError extends publicEditorPlatformErrors.BaseError {
|
|
109
|
+
constructor(message, code) {
|
|
110
|
+
super(message, code, "Base SDK Error");
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
const createBaseSDKError = publicEditorPlatformErrors.createErrorBuilder(
|
|
114
|
+
BaseSDKError
|
|
115
|
+
);
|
|
102
116
|
class BaseSDKShape {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
* because of the context override
|
|
106
|
-
*/
|
|
107
|
-
constructor(overrideApplicationContext = null) {
|
|
108
|
-
this.overrideApplicationContext = overrideApplicationContext;
|
|
117
|
+
constructor(overriddenApplicationContext = null) {
|
|
118
|
+
this.overriddenApplicationContext = overriddenApplicationContext;
|
|
109
119
|
}
|
|
110
120
|
getApplicationContext() {
|
|
111
|
-
return this.
|
|
121
|
+
return this.overriddenApplicationContext ? this.overriddenApplicationContext : editorPlatformContexts.ApplicationContext.getInstance();
|
|
112
122
|
}
|
|
113
123
|
async getAppDefinitionId() {
|
|
114
124
|
return (await this.getApplicationContext()).getAppDefinitionId();
|
|
115
125
|
}
|
|
126
|
+
async getManifestContextId() {
|
|
127
|
+
return (await this.getApplicationContext()).getManifestContextId();
|
|
128
|
+
}
|
|
129
|
+
async getRequiredManifestContextId() {
|
|
130
|
+
const manifestContextId = await this.getManifestContextId();
|
|
131
|
+
if (!manifestContextId) {
|
|
132
|
+
throw createBaseSDKError("ManifestContextIdRequired" /* ManifestContextIdRequired */);
|
|
133
|
+
}
|
|
134
|
+
return manifestContextId;
|
|
135
|
+
}
|
|
116
136
|
async getEnvironmentContext() {
|
|
117
137
|
return (await this.getApplicationContext()).getEnvironmentContext();
|
|
118
138
|
}
|
|
119
139
|
async getPlatformPrivateAPI() {
|
|
120
140
|
return (await this.getApplicationContext()).getPrivateAPI();
|
|
121
141
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
142
|
+
// NOTE: don't remove this for now
|
|
143
|
+
// protected dep<TDep extends IBaseSDKShape>(Factory: TDep) {
|
|
144
|
+
// let instance: InstanceType<TDep>;
|
|
145
|
+
//
|
|
146
|
+
// return () => {
|
|
147
|
+
// if (!instance) {
|
|
148
|
+
// instance = new Factory(this.getApplicationContext());
|
|
149
|
+
// }
|
|
150
|
+
//
|
|
151
|
+
// return instance;
|
|
152
|
+
// };
|
|
153
|
+
// }
|
|
128
154
|
}
|
|
129
155
|
|
|
130
156
|
class ApplicationSDKShape extends BaseSDKShape {
|
|
@@ -139,21 +165,19 @@ class ApplicationSDKShape extends BaseSDKShape {
|
|
|
139
165
|
}
|
|
140
166
|
async getAppInstance() {
|
|
141
167
|
const privateAPI = await this.getPlatformPrivateAPI();
|
|
142
|
-
|
|
143
|
-
return privateAPI.info.getAppInstance(bindings.appDefinitionId);
|
|
168
|
+
return privateAPI.info.getAppInstance(await this.getAppDefinitionId());
|
|
144
169
|
}
|
|
145
170
|
}
|
|
146
|
-
var index$
|
|
171
|
+
var index$a = new PlatformSDKShape(ApplicationSDKShape).withPublicMethod("getPrivateAPI").withPublicMethod("getPublicAPI").withPublicMethod("getAppInstance").build();
|
|
147
172
|
|
|
148
173
|
class EventsSDKShape extends BaseSDKShape {
|
|
149
174
|
async addEventListener(name, cb) {
|
|
150
175
|
return (await this.getApplicationContext()).getEvents().addEventListener(name, cb);
|
|
151
176
|
}
|
|
152
177
|
}
|
|
153
|
-
var index$
|
|
178
|
+
var index$9 = new PlatformSDKShape(EventsSDKShape).withPublicMethod("addEventListener").build();
|
|
154
179
|
|
|
155
180
|
class ElementsSDKShape extends BaseSDKShape {
|
|
156
|
-
#events = new EventsSDKShape(this.getApplicationContext());
|
|
157
181
|
async getSelection() {
|
|
158
182
|
const privateAPI = await this.getPlatformPrivateAPI();
|
|
159
183
|
const refs = await privateAPI.components.getSelectedComponents();
|
|
@@ -163,16 +187,14 @@ class ElementsSDKShape extends BaseSDKShape {
|
|
|
163
187
|
)
|
|
164
188
|
);
|
|
165
189
|
}
|
|
166
|
-
onSelectionChange(cb) {
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
(payload)
|
|
170
|
-
|
|
171
|
-
}
|
|
172
|
-
);
|
|
190
|
+
async onSelectionChange(cb) {
|
|
191
|
+
const events = new EventsSDKShape(this.getApplicationContext());
|
|
192
|
+
void events.addEventListener("componentSelectionChanged", (payload) => {
|
|
193
|
+
cb(payload.components);
|
|
194
|
+
});
|
|
173
195
|
}
|
|
174
196
|
}
|
|
175
|
-
var index$
|
|
197
|
+
var index$8 = new PlatformSDKShape(ElementsSDKShape).withPublicMethod("onSelectionChange").withPublicMethod("getSelection").build();
|
|
176
198
|
|
|
177
199
|
class InfoSDKShape extends BaseSDKShape {
|
|
178
200
|
async getViewMode() {
|
|
@@ -184,7 +206,7 @@ class InfoSDKShape extends BaseSDKShape {
|
|
|
184
206
|
return privateAPI.info.getLanguageCode();
|
|
185
207
|
}
|
|
186
208
|
}
|
|
187
|
-
var index$
|
|
209
|
+
var index$7 = new PlatformSDKShape(InfoSDKShape).withPublicMethod("getViewMode").withPublicMethod("getLanguageCode").build();
|
|
188
210
|
|
|
189
211
|
var WidgetShapeErrorCode = /* @__PURE__ */ ((WidgetShapeErrorCode2) => {
|
|
190
212
|
WidgetShapeErrorCode2["UndefinedCompRef"] = "UndefinedCompRef";
|
|
@@ -359,8 +381,8 @@ class WidgetSDKShape extends BaseSDKShape {
|
|
|
359
381
|
return new WidgetScopedSDK(compRef, privateAPI).getNestedWidget(selector);
|
|
360
382
|
}
|
|
361
383
|
}
|
|
362
|
-
const widgetShape = new PlatformSDKShape("
|
|
363
|
-
var index$
|
|
384
|
+
const widgetShape = new PlatformSDKShape(WidgetSDKShape).withPublicMethod("getNestedWidget").withPublicMethod("setDesignPreset").withPublicMethod("getDesignPreset").withPublicMethod("setProp").withPublicMethod("getProp").withPublicMethod("setPreloadFonts");
|
|
385
|
+
var index$6 = widgetShape.build();
|
|
364
386
|
|
|
365
387
|
function fontValueToCSS(fontValue) {
|
|
366
388
|
return `${fontValue.cssVariableName ? `var(${fontValue.cssVariableName}, ` : ""}${fontValue.italic ? "italic " : ""}${fontValue.bold ? "bold " : ""}${fontValue.size || 16}px ${// wrap each font family with quotes
|
|
@@ -460,7 +482,7 @@ class InputsSDKShape extends BaseSDKShape {
|
|
|
460
482
|
return _value;
|
|
461
483
|
}
|
|
462
484
|
}
|
|
463
|
-
var index$
|
|
485
|
+
var index$5 = new PlatformSDKShape(InputsSDKShape).withPublicMethod("selectColor").withPublicMethod("selectFont").build();
|
|
464
486
|
|
|
465
487
|
class PanelsSDKShape extends BaseSDKShape {
|
|
466
488
|
async openLanguageSupportPanel() {
|
|
@@ -472,7 +494,7 @@ class PanelsSDKShape extends BaseSDKShape {
|
|
|
472
494
|
return privateAPI.panels.openFontsUploadPanel();
|
|
473
495
|
}
|
|
474
496
|
}
|
|
475
|
-
var index$
|
|
497
|
+
var index$4 = new PlatformSDKShape(PanelsSDKShape).withPublicMethod("openLanguageSupportPanel").withPublicMethod("openFontsUploadPanel").build();
|
|
476
498
|
|
|
477
499
|
class ModalsSDKShape extends BaseSDKShape {
|
|
478
500
|
async openDashboardModal(options) {
|
|
@@ -483,8 +505,55 @@ class ModalsSDKShape extends BaseSDKShape {
|
|
|
483
505
|
);
|
|
484
506
|
}
|
|
485
507
|
}
|
|
486
|
-
|
|
487
|
-
|
|
508
|
+
var index$3 = new PlatformSDKShape(ModalsSDKShape).withPublicMethod("openDashboardModal").build();
|
|
509
|
+
|
|
510
|
+
class ElementSDKShape extends BaseSDKShape {
|
|
511
|
+
async getStyleDefinitions() {
|
|
512
|
+
const privateAPI = await this.getPlatformPrivateAPI();
|
|
513
|
+
const manifestContextId = await this.getRequiredManifestContextId();
|
|
514
|
+
return privateAPI.builderComponent.getStyleDefinitions(manifestContextId);
|
|
515
|
+
}
|
|
516
|
+
async getStyles() {
|
|
517
|
+
const privateAPI = await this.getPlatformPrivateAPI();
|
|
518
|
+
const manifestContextId = await this.getRequiredManifestContextId();
|
|
519
|
+
return privateAPI.builderComponent.getStyles(manifestContextId);
|
|
520
|
+
}
|
|
521
|
+
async setStyles(values) {
|
|
522
|
+
const privateAPI = await this.getPlatformPrivateAPI();
|
|
523
|
+
const manifestContextId = await this.getRequiredManifestContextId();
|
|
524
|
+
return privateAPI.builderComponent.setStyles(manifestContextId, values);
|
|
525
|
+
}
|
|
526
|
+
async getDataDefinitions() {
|
|
527
|
+
const privateAPI = await this.getPlatformPrivateAPI();
|
|
528
|
+
const manifestContextId = await this.getRequiredManifestContextId();
|
|
529
|
+
return privateAPI.builderComponent.getDataDefinitions(manifestContextId);
|
|
530
|
+
}
|
|
531
|
+
async getData() {
|
|
532
|
+
const privateAPI = await this.getPlatformPrivateAPI();
|
|
533
|
+
const manifestContextId = await this.getRequiredManifestContextId();
|
|
534
|
+
return privateAPI.builderComponent.getData(manifestContextId);
|
|
535
|
+
}
|
|
536
|
+
async setData(values) {
|
|
537
|
+
const privateAPI = await this.getPlatformPrivateAPI();
|
|
538
|
+
const manifestContextId = await this.getRequiredManifestContextId();
|
|
539
|
+
return privateAPI.builderComponent.setData(manifestContextId, values);
|
|
540
|
+
}
|
|
541
|
+
async getState() {
|
|
542
|
+
return null;
|
|
543
|
+
}
|
|
544
|
+
async setState() {
|
|
545
|
+
return null;
|
|
546
|
+
}
|
|
547
|
+
async getStateDefinitions() {
|
|
548
|
+
return null;
|
|
549
|
+
}
|
|
550
|
+
async onChange(cb) {
|
|
551
|
+
const privateAPI = await this.getPlatformPrivateAPI();
|
|
552
|
+
const manifestContextId = await this.getRequiredManifestContextId();
|
|
553
|
+
return privateAPI.builderComponent.onChange(manifestContextId, cb);
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
var index$2 = new PlatformSDKShape(ElementSDKShape).withPublicMethod("getDataDefinitions").withPublicMethod("getData").withPublicMethod("setData").withPublicMethod("getStyleDefinitions").withPublicMethod("getStyles").withPublicMethod("setStyles").withPublicMethod("getState").withPublicMethod("setState").withPublicMethod("onChange").withPublicMethod("getStateDefinitions").build();
|
|
488
557
|
|
|
489
558
|
class PreferencesSDKShape extends BaseSDKShape {
|
|
490
559
|
async get(keys) {
|
|
@@ -502,7 +571,7 @@ class PreferencesSDKShape extends BaseSDKShape {
|
|
|
502
571
|
);
|
|
503
572
|
}
|
|
504
573
|
}
|
|
505
|
-
var index$1 = new PlatformSDKShape("
|
|
574
|
+
var index$1 = new PlatformSDKShape(PreferencesSDKShape).withPublicMethod("set").withPublicMethod("get").build();
|
|
506
575
|
|
|
507
576
|
class ExternalPanelsSDKShape extends BaseSDKShape {
|
|
508
577
|
async getData() {
|
|
@@ -544,10 +613,7 @@ class ExternalPanelsSDKShape extends BaseSDKShape {
|
|
|
544
613
|
return privateAPI.externalPanels.translate(key, values);
|
|
545
614
|
}
|
|
546
615
|
}
|
|
547
|
-
var index = new PlatformSDKShape(
|
|
548
|
-
"externalPanels",
|
|
549
|
-
ExternalPanelsSDKShape
|
|
550
|
-
).build();
|
|
616
|
+
var index = new PlatformSDKShape(ExternalPanelsSDKShape).withPublicMethod("getTheme").withPublicMethod("getData").withPublicMethod("getStyle").withPublicMethod("selectColor").withPublicMethod("selectLink").withPublicMethod("selectMedia").withPublicMethod("setData").withPublicMethod("setStyle").withPublicMethod("translate").build();
|
|
551
617
|
|
|
552
618
|
const frame = () => {
|
|
553
619
|
const queryParams = new URLSearchParams(window.location.search);
|
|
@@ -597,15 +663,16 @@ const editor = {
|
|
|
597
663
|
auth
|
|
598
664
|
};
|
|
599
665
|
|
|
600
|
-
exports.application = index$
|
|
666
|
+
exports.application = index$a;
|
|
601
667
|
exports.editor = editor;
|
|
602
|
-
exports.
|
|
603
|
-
exports.
|
|
668
|
+
exports.element = index$2;
|
|
669
|
+
exports.elements = index$8;
|
|
670
|
+
exports.events = index$9;
|
|
604
671
|
exports.externalPanels = index;
|
|
605
|
-
exports.info = index$
|
|
606
|
-
exports.inputs = index$
|
|
607
|
-
exports.modals = index$
|
|
608
|
-
exports.panels = index$
|
|
672
|
+
exports.info = index$7;
|
|
673
|
+
exports.inputs = index$5;
|
|
674
|
+
exports.modals = index$3;
|
|
675
|
+
exports.panels = index$4;
|
|
609
676
|
exports.preferences = index$1;
|
|
610
|
-
exports.widget = index$
|
|
677
|
+
exports.widget = index$6;
|
|
611
678
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/env.ts","../../src/auth.ts","../../src/PlatformSDKShape.ts","../../src/BaseSDKShape.ts","../../src/application/index.ts","../../src/events/index.ts","../../src/elements/index.ts","../../src/info/index.ts","../../src/widget/errors.ts","../../src/inputs/utils.ts","../../src/widget/index.ts","../../src/inputs/index.ts","../../src/panels/index.ts","../../src/modals/index.ts","../../src/preferences/index.ts","../../src/externalPanels/index.ts","../../src/host.ts","../../src/index.ts"],"sourcesContent":["import { EditorPlatformContextEnvironment } from '@wix/editor-platform-environment-api';\n\nnew EditorPlatformContextEnvironment().expose();\n","import { ApplicationContext } from '@wix/editor-platform-contexts';\nimport {\n BaseError,\n createErrorBuilder,\n} from '@wix/public-editor-platform-errors';\nimport { AccessToken } from '@wix/public-editor-platform-interfaces';\n\nexport enum EditorPlatformSDKAuthErrorCode {\n EmptyAppAuthInstance = 'EmptyAppAuthInstance',\n EmptyAppDefinitionId = 'EmptyAppDefinitionId',\n}\n\nclass EditorPlatformSDKAuthError extends BaseError<EditorPlatformSDKAuthErrorCode> {\n state: Partial<{\n appDefinitionId: string;\n }> = {};\n\n constructor(message: string, code: EditorPlatformSDKAuthErrorCode) {\n super(message, code, 'Auth Strategy Error');\n }\n\n withAppDefinitionId(appDefinitionId: string) {\n this.state = { ...this.state, appDefinitionId };\n return this;\n }\n}\n\nexport const createEditorPlatformSDKAuthError = createErrorBuilder<\n EditorPlatformSDKAuthErrorCode,\n EditorPlatformSDKAuthError\n>(EditorPlatformSDKAuthError);\n\nfunction hasEnoughTimeUntilExpiry(\n expires: Date | undefined,\n expiryBuffer: number,\n) {\n const now = Date.now();\n const expiryTime = expires ? new Date(expires).getTime() : null;\n return expiryTime && expiryTime - now > expiryBuffer;\n}\n\nconst ACCESS_TOKEN_EXPIRY_GRACE_PERIOD = 30 * 60 * 1000; // half an hour\n\nexport const auth = () => {\n let instance: AccessToken;\n\n return {\n getAuthHeaders: async () => {\n const context = await ApplicationContext.getInstance();\n const bindings = context.getBindings();\n const privateAPI = context.getPrivateAPI();\n\n if (!bindings.appDefinitionId) {\n throw createEditorPlatformSDKAuthError(\n EditorPlatformSDKAuthErrorCode.EmptyAppDefinitionId,\n );\n }\n\n if (\n !instance ||\n hasEnoughTimeUntilExpiry(\n instance.expires,\n ACCESS_TOKEN_EXPIRY_GRACE_PERIOD,\n )\n ) {\n instance = await privateAPI.auth.getAccessToken(\n bindings.appDefinitionId,\n await privateAPI.info.getMetaSiteId(),\n );\n }\n\n if (!instance?.token) {\n console.error(\n createEditorPlatformSDKAuthError(\n EditorPlatformSDKAuthErrorCode.EmptyAppAuthInstance,\n ).withAppDefinitionId(bindings.appDefinitionId),\n );\n\n return {\n headers: {\n Authorization: '',\n },\n };\n }\n\n return {\n headers: {\n Authorization: instance.token,\n },\n };\n },\n };\n};\n","import { BaseSDKShape } from './BaseSDKShape';\nimport { createHostModule } from '@wix/sdk-runtime/host-modules';\nimport { Host } from '@wix/sdk-types';\nimport { ApplicationContext } from '@wix/editor-platform-contexts';\n\ninterface IHostWithPlatformContexts {\n applicationContext?: Promise<ApplicationContext<any>>;\n}\n\nexport class PlatformSDKShape<\n TShape extends new (...args: any[]) => BaseSDKShape,\n> {\n constructor(\n private namespace: string,\n private shapeConstructor: TShape,\n ) {}\n\n build() {\n const instance = new this.shapeConstructor();\n\n const methods = Object.getOwnPropertyNames(\n Object.getPrototypeOf(instance),\n ).filter(\n (prop) =>\n prop !== 'constructor' &&\n typeof (\n // @ts-expect-error\n instance[prop]\n ) === 'function',\n );\n\n const api = methods.reduce((acc, method) => {\n return {\n ...acc,\n [method]: (host: IHostWithPlatformContexts) => {\n if (host?.applicationContext) {\n const _instance = instance.withApplicationContext(\n host.applicationContext,\n );\n\n return _instance[method].bind(_instance);\n } else {\n // @ts-expect-error xxx\n return instance[method].bind(instance);\n }\n },\n };\n }, {});\n\n // @ts-expect-error\n return createHostModule<Host, InstanceType<TShape>>(api);\n }\n}\n","import { ApplicationContext } from '@wix/editor-platform-contexts';\n\nexport class BaseSDKShape {\n /**\n * note, constructor might be called multiple times\n * because of the context override\n */\n constructor(\n private overrideApplicationContext: Promise<\n ApplicationContext<any>\n > | null = null,\n ) {}\n\n protected getApplicationContext() {\n return this.overrideApplicationContext\n ? this.overrideApplicationContext\n : ApplicationContext.getInstance();\n }\n\n protected async getAppDefinitionId() {\n return (await this.getApplicationContext()).getAppDefinitionId();\n }\n\n protected async getEnvironmentContext() {\n return (await this.getApplicationContext()).getEnvironmentContext();\n }\n\n protected async getPlatformPrivateAPI() {\n return (await this.getApplicationContext()).getPrivateAPI();\n }\n\n protected async getContextBindings() {\n return (await this.getApplicationContext()).getBindings();\n }\n\n public withApplicationContext(\n applicationContext: Promise<ApplicationContext<any>>,\n ) {\n // @ts-expect-error should be constructor :)\n return new this.constructor(applicationContext);\n }\n}\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class ApplicationSDKShape extends BaseSDKShape {\n async getPrivateAPI<T>() {\n return (await this.getApplicationContext()).getPrivateApplicationAPI() as T;\n }\n\n async getPublicAPI<T>(appDefinitionId: string) {\n const privateAPI = await this.getPlatformPrivateAPI();\n\n return privateAPI.applicationManager.getPublicApplicationAPI(\n appDefinitionId,\n ) as Promise<T>;\n }\n\n async getAppInstance() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const bindings = await this.getContextBindings();\n\n return privateAPI.info.getAppInstance(bindings.appDefinitionId);\n }\n}\n\nexport default new PlatformSDKShape('application', ApplicationSDKShape).build();\n","import { AppEventPayload, AllowedEvents } from '@wix/editor-platform-contexts';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\n// TODO: remove events shape and remove payload transformations\nexport class EventsSDKShape extends BaseSDKShape {\n async addEventListener(\n name: any,\n // TODO: fix types\n cb: (payload: AppEventPayload<AllowedEvents>) => void,\n ) {\n return (await this.getApplicationContext())\n .getEvents()\n .addEventListener(name, cb);\n }\n}\n\nexport default new PlatformSDKShape('events', EventsSDKShape).build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\nimport { EventsSDKShape } from '../events';\nimport { IElement } from '@wix/public-editor-platform-interfaces';\n\nexport class ElementsSDKShape extends BaseSDKShape {\n #events = new EventsSDKShape(this.getApplicationContext());\n\n async getSelection() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const refs = await privateAPI.components.getSelectedComponents();\n\n return Promise.all<IElement[]>(\n refs.map(\n (ref: any) => privateAPI.components.getComponent(ref) as IElement,\n ),\n );\n }\n\n onSelectionChange(cb: (elements: IElement[]) => void) {\n void this.#events.addEventListener(\n 'componentSelectionChanged',\n (payload) => {\n // @ts-expect-error TODO: refactor events.\n cb(payload.components);\n },\n );\n }\n}\n\nexport default new PlatformSDKShape('elements', ElementsSDKShape).build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class InfoSDKShape extends BaseSDKShape {\n async getViewMode() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.info.getViewMode();\n }\n\n async getLanguageCode() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.info.getLanguageCode();\n }\n}\n\nexport default new PlatformSDKShape('info', InfoSDKShape).build();\n","import {\n BaseError,\n createErrorBuilder,\n} from '@wix/public-editor-platform-errors';\n\nexport enum WidgetShapeErrorCode {\n UndefinedCompRef = 'UndefinedCompRef',\n NotAvailableMethod = 'NotAvailableMethod',\n}\n\nclass WidgetShapeError extends BaseError<WidgetShapeErrorCode> {\n constructor(message: string, code: WidgetShapeErrorCode) {\n super(message, code, 'Widget Error');\n }\n}\n\nexport const createWidgetShapeError = createErrorBuilder<\n WidgetShapeErrorCode,\n WidgetShapeError\n>(WidgetShapeError);\n","export interface IFontValue {\n theme?: string;\n family?: string;\n size?: number;\n bold?: boolean;\n italic?: boolean;\n underline?: boolean;\n cssVariableName?: string;\n}\n\nexport interface FontPickerValue {\n font: string;\n textDecoration?: string;\n}\n\nexport const UNDERLINE_DEFINITION = 'underline';\n\nexport function getFontFamiliesFromFonts(fonts: string[]) {\n return fonts\n .map((font) => parseFontString({ font }).family)\n .filter(Boolean) as string[];\n}\n\nexport function parseFontString(fontPickerValue?: FontPickerValue) {\n const font: IFontValue = {\n family: undefined,\n size: undefined,\n };\n\n if (fontPickerValue?.font) {\n const { variableName, fallbackValue } = extractFontVar(\n fontPickerValue.font,\n );\n font.cssVariableName = variableName;\n const parts = fallbackValue.match(/(?:([\"']).*?\\1|\\S)+/g) || [];\n\n for (let i = 0; i < parts.length; i++) {\n const part = parts[i];\n\n switch (part) {\n case 'bold':\n font.bold = true;\n break;\n case 'italic':\n font.italic = true;\n break;\n default:\n if (part?.endsWith('px')) {\n font.size = parseInt(part, 10);\n } else if (i === parts.length - 1) {\n font.family = part;\n } else {\n font.family = (font.family || '') + ' ' + part;\n }\n }\n }\n }\n if (fontPickerValue?.textDecoration) {\n font.underline = fontPickerValue.textDecoration === UNDERLINE_DEFINITION;\n }\n // since we wrap it with \"\" in the font string, we need to remove it\n font.family = font.family?.trim().replace(/['\"]+/g, '');\n\n return font;\n}\n\nfunction extractFontVar(fontString: string) {\n const trimmedFont = fontString.trim();\n const match = trimmedFont.match(/var\\((--[\\w-]+),\\s*(.+)\\)/);\n\n if (match) {\n return {\n variableName: match[1],\n fallbackValue: match[2]?.trim() ?? '',\n };\n } else {\n return {\n variableName: undefined,\n fallbackValue: trimmedFont,\n };\n }\n}\n","import { createWidgetShapeError, WidgetShapeErrorCode } from './errors';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\nimport { getFontFamiliesFromFonts } from '../inputs/utils';\nimport { ComponentRef } from '@wix/public-editor-platform-interfaces';\n\nexport class WidgetScopedSDK {\n constructor(\n private compRef: ComponentRef,\n private privateAPI: any,\n ) {}\n\n async getProp(propName: string): Promise<string> {\n const props = await this.privateAPI.refComponents.getProps(this.compRef);\n return props?.[propName];\n }\n\n async setProp(propName: string, value: string) {\n await this.privateAPI.refComponents.setProps(this.compRef, {\n [propName]: value,\n });\n }\n\n async getDesignPreset() {\n return this.privateAPI.designPresets.getDesignPresetName(this.compRef);\n }\n\n async setDesignPreset(designPresetName: string) {\n await this.privateAPI.designPresets.setDesignPresetByName(\n this.compRef,\n designPresetName,\n );\n }\n\n async getNestedWidget(selector: `#${string}`) {\n const childCompRef =\n await this.privateAPI.refComponents.findComponentBySelector(\n this.compRef,\n selector,\n );\n\n if (!childCompRef) {\n return null;\n }\n\n return new WidgetScopedSDK(childCompRef, this.privateAPI);\n }\n}\n\nexport class WidgetSDKShape extends BaseSDKShape {\n async #getSelectedComponentRef() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const refs = await privateAPI.components.getSelectedComponents();\n const compRef = refs[0];\n\n if (!compRef) {\n throw createWidgetShapeError(WidgetShapeErrorCode.UndefinedCompRef);\n }\n\n return compRef;\n }\n\n async setPreloadFonts(fonts: string[]): Promise<void> {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRef = await this.#getSelectedComponentRef();\n\n if (await privateAPI.refComponents.isRefComponent(compRef)) {\n throw createWidgetShapeError(\n WidgetShapeErrorCode.NotAvailableMethod,\n 'not available for the current component type',\n );\n }\n\n const fontFamilies = getFontFamiliesFromFonts(fonts);\n\n await privateAPI.customElement.setPreloadFonts(compRef, fontFamilies);\n }\n\n async getProp(propName: string): Promise<string> {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRef = await this.#getSelectedComponentRef();\n\n if (await privateAPI.refComponents.isRefComponent(compRef)) {\n return new WidgetScopedSDK(compRef, privateAPI).getProp(propName);\n } else {\n return privateAPI.customElement.getAttribute(compRef, propName);\n }\n }\n\n async setProp(propName: string, value: string) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRef = await this.#getSelectedComponentRef();\n\n if (await privateAPI.refComponents.isRefComponent(compRef)) {\n return new WidgetScopedSDK(compRef, privateAPI).setProp(propName, value);\n } else {\n await privateAPI.customElement.setAttribute(compRef, propName, value);\n }\n }\n\n async getDesignPreset() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRef = await this.#getSelectedComponentRef();\n\n if (!(await privateAPI.refComponents.isRefComponent(compRef))) {\n throw createWidgetShapeError(\n WidgetShapeErrorCode.NotAvailableMethod,\n 'not available for the current component type',\n );\n }\n\n return new WidgetScopedSDK(compRef, privateAPI).getDesignPreset();\n }\n\n async setDesignPreset(designPresetName: string) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRef = await this.#getSelectedComponentRef();\n\n if (!(await privateAPI.refComponents.isRefComponent(compRef))) {\n throw createWidgetShapeError(\n WidgetShapeErrorCode.NotAvailableMethod,\n 'not available for the current component type',\n );\n }\n\n return new WidgetScopedSDK(compRef, privateAPI).setDesignPreset(\n designPresetName,\n );\n }\n\n async getNestedWidget(selector: `#${string}`) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRef = await this.#getSelectedComponentRef();\n\n return new WidgetScopedSDK(compRef, privateAPI).getNestedWidget(selector);\n }\n}\n\nconst widgetShape = new PlatformSDKShape('widget', WidgetSDKShape);\n\nexport default widgetShape.build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\nimport {\n type IFontValue,\n type FontPickerValue,\n parseFontString,\n UNDERLINE_DEFINITION,\n} from './utils';\n\ninterface IColorValue {\n color: string;\n theme?: string;\n cssVariableName?: string;\n}\n\ntype IColorPickerValue = string | null | undefined;\n\nfunction fontValueToCSS(fontValue: IFontValue): string {\n return `${\n fontValue.cssVariableName ? `var(${fontValue.cssVariableName}, ` : ''\n }${fontValue.italic ? 'italic ' : ''}${fontValue.bold ? 'bold ' : ''}${fontValue.size || 16}px ${\n // wrap each font family with quotes\n fontValue.family\n ?.split(',')\n .map((fontFamily) => `\"${fontFamily.replace(/['\"]+/g, '')}\"`)\n .join(',') || 'serif'\n }${fontValue.cssVariableName ? ')' : ''}`;\n}\n\nfunction parseColorString(\n colorPickerValue?: IColorPickerValue,\n): IColorValue | null {\n if (!colorPickerValue) {\n return null;\n }\n const colorString = colorPickerValue!;\n const match = colorString.match(/var\\((--[\\w-]+),\\s*(.+)\\)/);\n\n if (match) {\n return {\n cssVariableName: match[1],\n color: match[2]!,\n };\n } else {\n return {\n color: colorString,\n };\n }\n}\n\nfunction colorValueToCSS(colorValue?: IColorValue | null): string {\n if (!colorValue) {\n return '';\n }\n return colorValue.cssVariableName\n ? `var(${colorValue.cssVariableName}, ${colorValue.color})`\n : colorValue.color;\n}\n\ntype IFontValueInternal = {\n preset?: string;\n editorKey?: string;\n family?: string;\n size?: number;\n style: {\n bold?: boolean;\n italic?: boolean;\n underline?: boolean;\n };\n htmlTag?: string;\n};\n\nconst fonts = {\n transformFontInternalValue: (value?: IFontValue): IFontValueInternal => {\n if (value) {\n const { theme, cssVariableName, bold, italic, underline, ...rest } =\n value;\n\n return {\n ...rest,\n style: {\n bold,\n italic,\n underline,\n },\n editorKey: cssVariableName || theme || '',\n };\n } else {\n return {\n editorKey: 'font_7',\n family: 'helvetica-w01-roman',\n size: 16,\n style: {},\n };\n }\n },\n};\n\nexport class InputsSDKShape extends BaseSDKShape {\n async selectColor(\n value?: IColorPickerValue,\n options?: {\n onChange?: (value: IColorPickerValue) => void;\n },\n ) {\n const privateAPI = await this.getPlatformPrivateAPI();\n\n let colorValue: IColorValue | null = parseColorString(value);\n let colorResult = colorValueToCSS(colorValue);\n\n await privateAPI.inputs.openColorPicker(\n {\n color:\n colorValue?.cssVariableName || colorValue?.theme || colorValue?.color,\n },\n ({\n color,\n theme,\n cssVariableTheme,\n }: {\n color: string;\n theme: string;\n cssVariableTheme: string;\n isHover: boolean;\n }) => {\n colorValue = {\n color,\n theme,\n cssVariableName: cssVariableTheme,\n };\n colorResult = colorValueToCSS(colorValue);\n options?.onChange?.(colorResult);\n },\n );\n\n return colorResult;\n }\n\n async selectFont(\n value?: FontPickerValue,\n options?: {\n onChange?: (value: FontPickerValue) => void;\n },\n ) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const fontValue = parseFontString(value);\n let _value = value;\n\n await privateAPI.inputs.openFontPickerV2(\n {\n ...options,\n panelSectionsDefinition: {\n htmlTag: 'hidden',\n },\n componentStyle: fonts.transformFontInternalValue(fontValue),\n },\n (font: IFontValue, accessibility: any) => {\n _value = {\n font: fontValueToCSS(font),\n textDecoration: font.underline ? UNDERLINE_DEFINITION : undefined,\n };\n options?.onChange?.(_value);\n },\n );\n\n return _value;\n }\n}\n\nexport default new PlatformSDKShape('inputs', InputsSDKShape).build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class PanelsSDKShape extends BaseSDKShape {\n async openLanguageSupportPanel() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.panels.openLanguageSupportPanel();\n }\n\n async openFontsUploadPanel() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.panels.openFontsUploadPanel();\n }\n}\n\nexport default new PlatformSDKShape('panels', PanelsSDKShape).build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class ModalsSDKShape extends BaseSDKShape {\n async openDashboardModal(options: {\n url: string;\n closeOtherPanels?: boolean;\n }) {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.panels.openDashboardPanel(\n await this.getAppDefinitionId(),\n options,\n );\n }\n}\n\nconst modalsShape = new PlatformSDKShape('modals', ModalsSDKShape);\n\nexport default modalsShape.build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class PreferencesSDKShape extends BaseSDKShape {\n async get(keys: string[]) {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.userPreferences.get(\n await this.getAppDefinitionId(),\n keys,\n );\n }\n\n async set(preferences: Record<string, any>) {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.userPreferences.set(\n await this.getAppDefinitionId(),\n preferences,\n );\n }\n}\n\nexport default new PlatformSDKShape('preferences', PreferencesSDKShape).build();\n","import {\n DsItem,\n Style,\n StyleRef,\n OpenColorPickerFn,\n OpenLinkPanelFn,\n} from '@wix/public-editor-platform-interfaces';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class ExternalPanelsSDKShape extends BaseSDKShape {\n async getData() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.getData();\n }\n\n async setData(newData: DsItem) {\n const privateAPI = await this.getPlatformPrivateAPI();\n\n return privateAPI.externalPanels.setData(newData);\n }\n\n async getStyle() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.getStyle();\n }\n\n async setStyle(newStyle: Style | StyleRef) {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.setStyle(newStyle);\n }\n\n async getTheme() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.getTheme();\n }\n\n async selectMedia() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.selectMedia();\n }\n\n async selectLink(...options: any): Promise<OpenLinkPanelFn> {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.selectLink(...options);\n }\n\n async selectColor(...options: any): Promise<OpenColorPickerFn> {\n return async () => {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.selectColor(...options);\n };\n }\n\n async translate(key: string | string[], values?: Record<string, any>) {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.translate(key, values);\n }\n}\n\nexport default new PlatformSDKShape(\n 'externalPanels',\n ExternalPanelsSDKShape,\n).build();\n","import type { WixSDKTypes } from '@wix/public-editor-platform-interfaces';\nimport { ApplicationContext } from '@wix/editor-platform-contexts';\nimport { getMonitoringClientFunction } from '@wix/monitoring-browser-sdk-host';\n\ndeclare global {\n interface Window {\n Sentry?: any;\n }\n}\n\nexport const frame = (): WixSDKTypes.Host & {\n applicationContext: Promise<ApplicationContext<any>>;\n essentials: {\n language?: string;\n locale?: string;\n };\n} => {\n const queryParams = new URLSearchParams(window.location.search);\n const essentialsQueryParamValue = queryParams.has('essentials')\n ? JSON.parse(queryParams.get('essentials')!)\n : undefined;\n const { monitoring, ...essentials } = essentialsQueryParamValue || {};\n const appDefinitionId = queryParams.get('appDefinitionId')!;\n const { context, config } = monitoring || {};\n const getMonitoringClient = getMonitoringClientFunction({\n hostContext: { appId: appDefinitionId, ...context },\n monitoringConfig: config,\n sentrySDK: typeof window !== 'undefined' ? window.Sentry : undefined,\n });\n\n return {\n environment: {},\n applicationContext: ApplicationContext.getInstance(),\n channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n getMonitoringClient,\n essentials,\n };\n};\n\nexport const worker = (): WixSDKTypes.Host & {\n applicationContext: Promise<ApplicationContext<any>>;\n} => {\n return {\n environment: {},\n applicationContext: ApplicationContext.getInstance(),\n channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n };\n};\n","import './env';\nimport { auth } from './auth';\n\nexport { default as application } from './application';\nexport { default as elements } from './elements';\nexport { default as events } from './events';\nexport { default as info } from './info';\nexport { default as widget } from './widget';\nexport { default as inputs } from './inputs';\nexport { default as panels } from './panels';\nexport { default as modals } from './modals';\nexport { default as preferences } from './preferences';\nexport { default as externalPanels } from './externalPanels';\n\nimport * as host from './host';\n\nexport const editor = {\n host: () => {\n const isWorker = typeof importScripts === 'function';\n\n if (isWorker) {\n return host.worker();\n }\n\n return host.frame();\n },\n auth,\n};\n"],"names":["EditorPlatformContextEnvironment","BaseError","createErrorBuilder","ApplicationContext","createHostModule","WidgetShapeErrorCode","getMonitoringClientFunction","host.worker","host.frame"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/env.ts","../../src/auth.ts","../../src/PlatformSDKShape.ts","../../src/BaseSDKShape.ts","../../src/application/index.ts","../../src/events/index.ts","../../src/elements/index.ts","../../src/info/index.ts","../../src/widget/errors.ts","../../src/inputs/utils.ts","../../src/widget/index.ts","../../src/inputs/index.ts","../../src/panels/index.ts","../../src/modals/index.ts","../../src/element/index.ts","../../src/preferences/index.ts","../../src/externalPanels/index.ts","../../src/host.ts","../../src/index.ts"],"sourcesContent":["import { EditorPlatformContextEnvironment } from '@wix/editor-platform-environment-api';\n\nnew EditorPlatformContextEnvironment().expose();\n","import { ApplicationContext } from '@wix/editor-platform-contexts';\nimport {\n BaseError,\n createErrorBuilder,\n} from '@wix/public-editor-platform-errors';\nimport { AccessToken } from '@wix/public-editor-platform-interfaces';\n\nexport enum EditorPlatformSDKAuthErrorCode {\n EmptyAppAuthInstance = 'EmptyAppAuthInstance',\n EmptyAppDefinitionId = 'EmptyAppDefinitionId',\n}\n\nclass EditorPlatformSDKAuthError extends BaseError<EditorPlatformSDKAuthErrorCode> {\n state: Partial<{\n appDefinitionId: string;\n }> = {};\n\n constructor(message: string, code: EditorPlatformSDKAuthErrorCode) {\n super(message, code, 'Auth Strategy Error');\n }\n\n withAppDefinitionId(appDefinitionId: string) {\n this.state = { ...this.state, appDefinitionId };\n return this;\n }\n}\n\nexport const createEditorPlatformSDKAuthError = createErrorBuilder<\n EditorPlatformSDKAuthErrorCode,\n EditorPlatformSDKAuthError\n>(EditorPlatformSDKAuthError);\n\nfunction hasEnoughTimeUntilExpiry(\n expires: Date | undefined,\n expiryBuffer: number,\n) {\n const now = Date.now();\n const expiryTime = expires ? new Date(expires).getTime() : null;\n return expiryTime && expiryTime - now > expiryBuffer;\n}\n\nconst ACCESS_TOKEN_EXPIRY_GRACE_PERIOD = 30 * 60 * 1000; // half an hour\n\nexport const auth = () => {\n let instance: AccessToken;\n\n return {\n getAuthHeaders: async () => {\n const context = await ApplicationContext.getInstance();\n const appDefinitionId = context.getAppDefinitionId();\n const privateAPI = context.getPrivateAPI();\n\n if (!appDefinitionId) {\n throw createEditorPlatformSDKAuthError(\n EditorPlatformSDKAuthErrorCode.EmptyAppDefinitionId,\n );\n }\n\n if (\n !instance ||\n hasEnoughTimeUntilExpiry(\n instance.expires,\n ACCESS_TOKEN_EXPIRY_GRACE_PERIOD,\n )\n ) {\n instance = await privateAPI.auth.getAccessToken(\n appDefinitionId,\n await privateAPI.info.getMetaSiteId(),\n );\n }\n\n if (!instance?.token) {\n console.error(\n createEditorPlatformSDKAuthError(\n EditorPlatformSDKAuthErrorCode.EmptyAppAuthInstance,\n ).withAppDefinitionId(appDefinitionId),\n );\n\n return {\n headers: {\n Authorization: '',\n },\n };\n }\n\n return {\n headers: {\n Authorization: instance.token,\n },\n };\n },\n };\n};\n","import { ApplicationContext } from '@wix/editor-platform-contexts';\nimport { createHostModule } from '@wix/sdk-runtime/host-modules';\nimport { Host } from '@wix/sdk-types';\n\ninterface IHostWithPlatformContexts {\n applicationContext?: Promise<ApplicationContext>;\n}\n\ntype MethodNames<T> = Extract<\n {\n [K in keyof T]: T[K] extends (...args: any[]) => any ? K : never;\n }[keyof T],\n string\n>;\n\ntype PickMethods<T, Keys extends keyof T> = {\n [K in Keys]: T[K];\n};\n\nexport class PlatformSDKShape<\n TShape extends new (...args: any[]) => any,\n TSelected extends MethodNames<InstanceType<TShape>> = never,\n> {\n constructor(\n private ShapeConstructor: TShape,\n private selectedMethods: TSelected[] = [],\n ) {}\n\n withPublicMethod<K extends MethodNames<InstanceType<TShape>>>(\n method: K,\n ): PlatformSDKShape<TShape, TSelected | K> {\n return new PlatformSDKShape(this.ShapeConstructor, [\n ...this.selectedMethods,\n method,\n ]);\n }\n\n build() {\n if (!this.selectedMethods.length) {\n throw new Error('methods are not defined for the SDK shape');\n }\n\n const sdk = this.selectedMethods.reduce(\n (acc, method) => {\n return {\n ...acc,\n [method]: (host: IHostWithPlatformContexts) => {\n const instance = new this.ShapeConstructor(\n host?.applicationContext,\n );\n\n if (!instance[method]) {\n return () => {\n console.error(`\"${method}\" is not defined in the SDK shape`);\n };\n }\n\n return instance[method].bind(instance);\n },\n };\n },\n {} as PickMethods<InstanceType<TShape>, TSelected>,\n );\n\n // @ts-expect-error\n return createHostModule<Host, InstanceType<TShape>>(sdk);\n }\n}\n","import { ApplicationContext } from '@wix/editor-platform-contexts';\nimport {\n BaseError,\n createErrorBuilder,\n} from '@wix/public-editor-platform-errors';\n\n// export type IBaseSDKShape = new (\n// overrideApplicationContext?: Promise<ApplicationContext<any>>,\n// ) => any;\n\nexport enum BaseSDKErrorCode {\n ManifestContextIdRequired = 'ManifestContextIdRequired',\n}\n\nclass BaseSDKError extends BaseError<BaseSDKErrorCode> {\n constructor(message: string, code: BaseSDKErrorCode) {\n super(message, code, 'Base SDK Error');\n }\n}\n\nconst createBaseSDKError = createErrorBuilder<BaseSDKErrorCode, BaseSDKError>(\n BaseSDKError,\n);\n\nexport class BaseSDKShape {\n constructor(\n private overriddenApplicationContext: Promise<ApplicationContext> | null = null,\n ) {}\n\n protected getApplicationContext() {\n return this.overriddenApplicationContext\n ? this.overriddenApplicationContext\n : ApplicationContext.getInstance();\n }\n\n protected async getAppDefinitionId() {\n return (await this.getApplicationContext()).getAppDefinitionId();\n }\n\n protected async getManifestContextId() {\n return (await this.getApplicationContext()).getManifestContextId();\n }\n\n protected async getRequiredManifestContextId() {\n const manifestContextId = await this.getManifestContextId();\n if (!manifestContextId) {\n throw createBaseSDKError(BaseSDKErrorCode.ManifestContextIdRequired);\n }\n\n return manifestContextId;\n }\n\n protected async getEnvironmentContext() {\n return (await this.getApplicationContext()).getEnvironmentContext();\n }\n\n protected async getPlatformPrivateAPI() {\n return (await this.getApplicationContext()).getPrivateAPI();\n }\n\n // NOTE: don't remove this for now\n // protected dep<TDep extends IBaseSDKShape>(Factory: TDep) {\n // let instance: InstanceType<TDep>;\n //\n // return () => {\n // if (!instance) {\n // instance = new Factory(this.getApplicationContext());\n // }\n //\n // return instance;\n // };\n // }\n}\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class ApplicationSDKShape extends BaseSDKShape {\n async getPrivateAPI<T>() {\n return (await this.getApplicationContext()).getPrivateApplicationAPI() as T;\n }\n\n async getPublicAPI<T>(appDefinitionId: string) {\n const privateAPI = await this.getPlatformPrivateAPI();\n\n return privateAPI.applicationManager.getPublicApplicationAPI(\n appDefinitionId,\n ) as Promise<T>;\n }\n\n async getAppInstance() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.info.getAppInstance(await this.getAppDefinitionId());\n }\n}\n\nexport default new PlatformSDKShape(ApplicationSDKShape)\n .withPublicMethod('getPrivateAPI')\n .withPublicMethod('getPublicAPI')\n .withPublicMethod('getAppInstance')\n .build();\n","import { AppEventPayload, AllowedEvents } from '@wix/editor-platform-contexts';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\n// TODO: remove events shape and remove payload transformations\nexport class EventsSDKShape extends BaseSDKShape {\n async addEventListener(\n name: any,\n // TODO: fix types\n cb: (payload: AppEventPayload<AllowedEvents>) => void,\n ) {\n return (await this.getApplicationContext())\n .getEvents()\n .addEventListener(name, cb);\n }\n}\n\nexport default new PlatformSDKShape(EventsSDKShape)\n .withPublicMethod('addEventListener')\n .build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\nimport { EventsSDKShape } from '../events';\nimport { IElement } from '@wix/public-editor-platform-interfaces';\n\nexport class ElementsSDKShape extends BaseSDKShape {\n async getSelection() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const refs = await privateAPI.components.getSelectedComponents();\n\n return Promise.all<IElement[]>(\n refs.map(\n (ref: any) => privateAPI.components.getComponent(ref) as IElement,\n ),\n );\n }\n\n async onSelectionChange(cb: (elements: IElement[]) => void) {\n const events = new EventsSDKShape(this.getApplicationContext());\n void events.addEventListener('componentSelectionChanged', (payload) => {\n // @ts-expect-error TODO: refactor events.\n cb(payload.components);\n });\n }\n}\n\nexport default new PlatformSDKShape(ElementsSDKShape)\n .withPublicMethod('onSelectionChange')\n .withPublicMethod('getSelection')\n .build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class InfoSDKShape extends BaseSDKShape {\n async getViewMode() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.info.getViewMode();\n }\n\n async getLanguageCode() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.info.getLanguageCode();\n }\n}\n\nexport default new PlatformSDKShape(InfoSDKShape)\n .withPublicMethod('getViewMode')\n .withPublicMethod('getLanguageCode')\n .build();\n","import {\n BaseError,\n createErrorBuilder,\n} from '@wix/public-editor-platform-errors';\n\nexport enum WidgetShapeErrorCode {\n UndefinedCompRef = 'UndefinedCompRef',\n NotAvailableMethod = 'NotAvailableMethod',\n}\n\nclass WidgetShapeError extends BaseError<WidgetShapeErrorCode> {\n constructor(message: string, code: WidgetShapeErrorCode) {\n super(message, code, 'Widget Error');\n }\n}\n\nexport const createWidgetShapeError = createErrorBuilder<\n WidgetShapeErrorCode,\n WidgetShapeError\n>(WidgetShapeError);\n","export interface IFontValue {\n theme?: string;\n family?: string;\n size?: number;\n bold?: boolean;\n italic?: boolean;\n underline?: boolean;\n cssVariableName?: string;\n}\n\nexport interface FontPickerValue {\n font: string;\n textDecoration?: string;\n}\n\nexport const UNDERLINE_DEFINITION = 'underline';\n\nexport function getFontFamiliesFromFonts(fonts: string[]) {\n return fonts\n .map((font) => parseFontString({ font }).family)\n .filter(Boolean) as string[];\n}\n\nexport function parseFontString(fontPickerValue?: FontPickerValue) {\n const font: IFontValue = {\n family: undefined,\n size: undefined,\n };\n\n if (fontPickerValue?.font) {\n const { variableName, fallbackValue } = extractFontVar(\n fontPickerValue.font,\n );\n font.cssVariableName = variableName;\n const parts = fallbackValue.match(/(?:([\"']).*?\\1|\\S)+/g) || [];\n\n for (let i = 0; i < parts.length; i++) {\n const part = parts[i];\n\n switch (part) {\n case 'bold':\n font.bold = true;\n break;\n case 'italic':\n font.italic = true;\n break;\n default:\n if (part?.endsWith('px')) {\n font.size = parseInt(part, 10);\n } else if (i === parts.length - 1) {\n font.family = part;\n } else {\n font.family = (font.family || '') + ' ' + part;\n }\n }\n }\n }\n if (fontPickerValue?.textDecoration) {\n font.underline = fontPickerValue.textDecoration === UNDERLINE_DEFINITION;\n }\n // since we wrap it with \"\" in the font string, we need to remove it\n font.family = font.family?.trim().replace(/['\"]+/g, '');\n\n return font;\n}\n\nfunction extractFontVar(fontString: string) {\n const trimmedFont = fontString.trim();\n const match = trimmedFont.match(/var\\((--[\\w-]+),\\s*(.+)\\)/);\n\n if (match) {\n return {\n variableName: match[1],\n fallbackValue: match[2]?.trim() ?? '',\n };\n } else {\n return {\n variableName: undefined,\n fallbackValue: trimmedFont,\n };\n }\n}\n","import { createWidgetShapeError, WidgetShapeErrorCode } from './errors';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\nimport { getFontFamiliesFromFonts } from '../inputs/utils';\nimport { ComponentRef } from '@wix/public-editor-platform-interfaces';\n\nexport class WidgetScopedSDK {\n constructor(\n private compRef: ComponentRef,\n private privateAPI: any,\n ) {}\n\n async getProp(propName: string): Promise<string> {\n const props = await this.privateAPI.refComponents.getProps(this.compRef);\n return props?.[propName];\n }\n\n async setProp(propName: string, value: string) {\n await this.privateAPI.refComponents.setProps(this.compRef, {\n [propName]: value,\n });\n }\n\n async getDesignPreset() {\n return this.privateAPI.designPresets.getDesignPresetName(this.compRef);\n }\n\n async setDesignPreset(designPresetName: string) {\n await this.privateAPI.designPresets.setDesignPresetByName(\n this.compRef,\n designPresetName,\n );\n }\n\n async getNestedWidget(selector: `#${string}`) {\n const childCompRef =\n await this.privateAPI.refComponents.findComponentBySelector(\n this.compRef,\n selector,\n );\n\n if (!childCompRef) {\n return null;\n }\n\n return new WidgetScopedSDK(childCompRef, this.privateAPI);\n }\n}\n\nexport class WidgetSDKShape extends BaseSDKShape {\n async #getSelectedComponentRef() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const refs = await privateAPI.components.getSelectedComponents();\n const compRef = refs[0];\n\n if (!compRef) {\n throw createWidgetShapeError(WidgetShapeErrorCode.UndefinedCompRef);\n }\n\n return compRef;\n }\n\n async setPreloadFonts(fonts: string[]): Promise<void> {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRef = await this.#getSelectedComponentRef();\n\n if (await privateAPI.refComponents.isRefComponent(compRef)) {\n throw createWidgetShapeError(\n WidgetShapeErrorCode.NotAvailableMethod,\n 'not available for the current component type',\n );\n }\n\n const fontFamilies = getFontFamiliesFromFonts(fonts);\n\n await privateAPI.customElement.setPreloadFonts(compRef, fontFamilies);\n }\n\n async getProp(propName: string): Promise<string> {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRef = await this.#getSelectedComponentRef();\n\n if (await privateAPI.refComponents.isRefComponent(compRef)) {\n return new WidgetScopedSDK(compRef, privateAPI).getProp(propName);\n } else {\n return privateAPI.customElement.getAttribute(compRef, propName);\n }\n }\n\n async setProp(propName: string, value: string) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRef = await this.#getSelectedComponentRef();\n\n if (await privateAPI.refComponents.isRefComponent(compRef)) {\n return new WidgetScopedSDK(compRef, privateAPI).setProp(propName, value);\n } else {\n await privateAPI.customElement.setAttribute(compRef, propName, value);\n }\n }\n\n async getDesignPreset() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRef = await this.#getSelectedComponentRef();\n\n if (!(await privateAPI.refComponents.isRefComponent(compRef))) {\n throw createWidgetShapeError(\n WidgetShapeErrorCode.NotAvailableMethod,\n 'not available for the current component type',\n );\n }\n\n return new WidgetScopedSDK(compRef, privateAPI).getDesignPreset();\n }\n\n async setDesignPreset(designPresetName: string) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRef = await this.#getSelectedComponentRef();\n\n if (!(await privateAPI.refComponents.isRefComponent(compRef))) {\n throw createWidgetShapeError(\n WidgetShapeErrorCode.NotAvailableMethod,\n 'not available for the current component type',\n );\n }\n\n return new WidgetScopedSDK(compRef, privateAPI).setDesignPreset(\n designPresetName,\n );\n }\n\n async getNestedWidget(selector: `#${string}`) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRef = await this.#getSelectedComponentRef();\n\n return new WidgetScopedSDK(compRef, privateAPI).getNestedWidget(selector);\n }\n}\n\nconst widgetShape = new PlatformSDKShape(WidgetSDKShape)\n .withPublicMethod('getNestedWidget')\n .withPublicMethod('setDesignPreset')\n .withPublicMethod('getDesignPreset')\n .withPublicMethod('setProp')\n .withPublicMethod('getProp')\n .withPublicMethod('setPreloadFonts');\n\nexport default widgetShape.build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\nimport {\n type IFontValue,\n type FontPickerValue,\n parseFontString,\n UNDERLINE_DEFINITION,\n} from './utils';\n\ninterface IColorValue {\n color: string;\n theme?: string;\n cssVariableName?: string;\n}\n\ntype IColorPickerValue = string | null | undefined;\n\nfunction fontValueToCSS(fontValue: IFontValue): string {\n return `${\n fontValue.cssVariableName ? `var(${fontValue.cssVariableName}, ` : ''\n }${fontValue.italic ? 'italic ' : ''}${fontValue.bold ? 'bold ' : ''}${fontValue.size || 16}px ${\n // wrap each font family with quotes\n fontValue.family\n ?.split(',')\n .map((fontFamily) => `\"${fontFamily.replace(/['\"]+/g, '')}\"`)\n .join(',') || 'serif'\n }${fontValue.cssVariableName ? ')' : ''}`;\n}\n\nfunction parseColorString(\n colorPickerValue?: IColorPickerValue,\n): IColorValue | null {\n if (!colorPickerValue) {\n return null;\n }\n const colorString = colorPickerValue!;\n const match = colorString.match(/var\\((--[\\w-]+),\\s*(.+)\\)/);\n\n if (match) {\n return {\n cssVariableName: match[1],\n color: match[2]!,\n };\n } else {\n return {\n color: colorString,\n };\n }\n}\n\nfunction colorValueToCSS(colorValue?: IColorValue | null): string {\n if (!colorValue) {\n return '';\n }\n return colorValue.cssVariableName\n ? `var(${colorValue.cssVariableName}, ${colorValue.color})`\n : colorValue.color;\n}\n\ntype IFontValueInternal = {\n preset?: string;\n editorKey?: string;\n family?: string;\n size?: number;\n style: {\n bold?: boolean;\n italic?: boolean;\n underline?: boolean;\n };\n htmlTag?: string;\n};\n\nconst fonts = {\n transformFontInternalValue: (value?: IFontValue): IFontValueInternal => {\n if (value) {\n const { theme, cssVariableName, bold, italic, underline, ...rest } =\n value;\n\n return {\n ...rest,\n style: {\n bold,\n italic,\n underline,\n },\n editorKey: cssVariableName || theme || '',\n };\n } else {\n return {\n editorKey: 'font_7',\n family: 'helvetica-w01-roman',\n size: 16,\n style: {},\n };\n }\n },\n};\n\nexport class InputsSDKShape extends BaseSDKShape {\n async selectColor(\n value?: IColorPickerValue,\n options?: {\n onChange?: (value: IColorPickerValue) => void;\n },\n ) {\n const privateAPI = await this.getPlatformPrivateAPI();\n\n let colorValue: IColorValue | null = parseColorString(value);\n let colorResult = colorValueToCSS(colorValue);\n\n await privateAPI.inputs.openColorPicker(\n {\n color:\n colorValue?.cssVariableName || colorValue?.theme || colorValue?.color,\n },\n ({\n color,\n theme,\n cssVariableTheme,\n }: {\n color: string;\n theme: string;\n cssVariableTheme: string;\n isHover: boolean;\n }) => {\n colorValue = {\n color,\n theme,\n cssVariableName: cssVariableTheme,\n };\n colorResult = colorValueToCSS(colorValue);\n options?.onChange?.(colorResult);\n },\n );\n\n return colorResult;\n }\n\n async selectFont(\n value?: FontPickerValue,\n options?: {\n onChange?: (value: FontPickerValue) => void;\n },\n ) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const fontValue = parseFontString(value);\n let _value = value;\n\n await privateAPI.inputs.openFontPickerV2(\n {\n ...options,\n panelSectionsDefinition: {\n htmlTag: 'hidden',\n },\n componentStyle: fonts.transformFontInternalValue(fontValue),\n },\n (font: IFontValue, accessibility: any) => {\n _value = {\n font: fontValueToCSS(font),\n textDecoration: font.underline ? UNDERLINE_DEFINITION : undefined,\n };\n options?.onChange?.(_value);\n },\n );\n\n return _value;\n }\n}\n\nexport default new PlatformSDKShape(InputsSDKShape)\n .withPublicMethod('selectColor')\n .withPublicMethod('selectFont')\n .build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class PanelsSDKShape extends BaseSDKShape {\n async openLanguageSupportPanel() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.panels.openLanguageSupportPanel();\n }\n\n async openFontsUploadPanel() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.panels.openFontsUploadPanel();\n }\n}\n\nexport default new PlatformSDKShape(PanelsSDKShape)\n .withPublicMethod('openLanguageSupportPanel')\n .withPublicMethod('openFontsUploadPanel')\n .build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class ModalsSDKShape extends BaseSDKShape {\n async openDashboardModal(options: {\n url: string;\n closeOtherPanels?: boolean;\n }) {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.panels.openDashboardPanel(\n await this.getAppDefinitionId(),\n options,\n );\n }\n}\n\nexport default new PlatformSDKShape(ModalsSDKShape)\n .withPublicMethod('openDashboardModal')\n .build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class ElementSDKShape extends BaseSDKShape {\n async getStyleDefinitions() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.getStyleDefinitions(manifestContextId);\n }\n\n async getStyles() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.getStyles(manifestContextId);\n }\n\n async setStyles(values: {}) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.setStyles(manifestContextId, values);\n }\n\n async getDataDefinitions() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.getDataDefinitions(manifestContextId);\n }\n\n async getData() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.getData(manifestContextId);\n }\n\n async setData(values: {}) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.setData(manifestContextId, values);\n }\n\n async getState() {\n return null;\n }\n\n async setState() {\n return null;\n }\n\n async getStateDefinitions() {\n return null;\n }\n\n async onChange(cb: () => void) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.onChange(manifestContextId, cb);\n }\n}\n\nexport default new PlatformSDKShape(ElementSDKShape)\n .withPublicMethod('getDataDefinitions')\n .withPublicMethod('getData')\n .withPublicMethod('setData')\n .withPublicMethod('getStyleDefinitions')\n .withPublicMethod('getStyles')\n .withPublicMethod('setStyles')\n .withPublicMethod('getState')\n .withPublicMethod('setState')\n .withPublicMethod('onChange')\n .withPublicMethod('getStateDefinitions')\n .build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class PreferencesSDKShape extends BaseSDKShape {\n async get(keys: string[]) {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.userPreferences.get(\n await this.getAppDefinitionId(),\n keys,\n );\n }\n\n async set(preferences: Record<string, any>) {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.userPreferences.set(\n await this.getAppDefinitionId(),\n preferences,\n );\n }\n}\n\nexport default new PlatformSDKShape(PreferencesSDKShape)\n .withPublicMethod('set')\n .withPublicMethod('get')\n .build();\n","import {\n DsItem,\n Style,\n StyleRef,\n OpenColorPickerFn,\n OpenLinkPanelFn,\n} from '@wix/public-editor-platform-interfaces';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class ExternalPanelsSDKShape extends BaseSDKShape {\n async getData() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.getData();\n }\n\n async setData(newData: DsItem) {\n const privateAPI = await this.getPlatformPrivateAPI();\n\n return privateAPI.externalPanels.setData(newData);\n }\n\n async getStyle() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.getStyle();\n }\n\n async setStyle(newStyle: Style | StyleRef) {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.setStyle(newStyle);\n }\n\n async getTheme() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.getTheme();\n }\n\n async selectMedia() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.selectMedia();\n }\n\n async selectLink(...options: any): Promise<OpenLinkPanelFn> {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.selectLink(...options);\n }\n\n async selectColor(...options: any): Promise<OpenColorPickerFn> {\n return async () => {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.selectColor(...options);\n };\n }\n\n async translate(key: string | string[], values?: Record<string, any>) {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.translate(key, values);\n }\n}\n\nexport default new PlatformSDKShape(ExternalPanelsSDKShape)\n .withPublicMethod('getTheme')\n .withPublicMethod('getData')\n .withPublicMethod('getStyle')\n .withPublicMethod('selectColor')\n .withPublicMethod('selectLink')\n .withPublicMethod('selectMedia')\n .withPublicMethod('setData')\n .withPublicMethod('setStyle')\n .withPublicMethod('translate')\n .build();\n","import type { WixSDKTypes } from '@wix/public-editor-platform-interfaces';\nimport { ApplicationContext } from '@wix/editor-platform-contexts';\nimport { getMonitoringClientFunction } from '@wix/monitoring-browser-sdk-host';\n\ndeclare global {\n interface Window {\n Sentry?: any;\n }\n}\n\nexport const frame = (): WixSDKTypes.Host & {\n applicationContext: Promise<ApplicationContext>;\n essentials: {\n language?: string;\n locale?: string;\n };\n} => {\n const queryParams = new URLSearchParams(window.location.search);\n const essentialsQueryParamValue = queryParams.has('essentials')\n ? JSON.parse(queryParams.get('essentials')!)\n : undefined;\n const { monitoring, ...essentials } = essentialsQueryParamValue || {};\n const appDefinitionId = queryParams.get('appDefinitionId')!;\n const { context, config } = monitoring || {};\n const getMonitoringClient = getMonitoringClientFunction({\n hostContext: { appId: appDefinitionId, ...context },\n monitoringConfig: config,\n sentrySDK: typeof window !== 'undefined' ? window.Sentry : undefined,\n });\n\n return {\n environment: {},\n applicationContext: ApplicationContext.getInstance(),\n channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n getMonitoringClient,\n essentials,\n };\n};\n\nexport const worker = (): WixSDKTypes.Host & {\n applicationContext: Promise<ApplicationContext>;\n} => {\n return {\n environment: {},\n applicationContext: ApplicationContext.getInstance(),\n channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n };\n};\n","import './env';\nimport { auth } from './auth';\n\nexport { default as application } from './application';\nexport { default as elements } from './elements';\nexport { default as events } from './events';\nexport { default as info } from './info';\nexport { default as widget } from './widget';\nexport { default as inputs } from './inputs';\nexport { default as panels } from './panels';\nexport { default as modals } from './modals';\nexport { default as element } from './element';\nexport { default as preferences } from './preferences';\nexport { default as externalPanels } from './externalPanels';\n\nimport * as host from './host';\n\nexport const editor = {\n host: () => {\n const isWorker = typeof importScripts === 'function';\n\n if (isWorker) {\n return host.worker();\n }\n\n return host.frame();\n },\n auth,\n};\n"],"names":["EditorPlatformContextEnvironment","BaseError","createErrorBuilder","ApplicationContext","createHostModule","WidgetShapeErrorCode","getMonitoringClientFunction","host.worker","host.frame"],"mappings":"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"}
|