@wix/editor 1.364.0 → 1.366.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/esm/index.js CHANGED
@@ -28,9 +28,9 @@ const auth = () => {
28
28
  return {
29
29
  getAuthHeaders: async () => {
30
30
  const context = await ApplicationContext.getInstance();
31
- const bindings = context.getBindings();
31
+ const appDefinitionId = context.getAppDefinitionId();
32
32
  const privateAPI = context.getPrivateAPI();
33
- if (!bindings.appDefinitionId) {
33
+ if (!appDefinitionId) {
34
34
  throw createEditorPlatformSDKAuthError(
35
35
  "EmptyAppDefinitionId" /* EmptyAppDefinitionId */
36
36
  );
@@ -40,7 +40,7 @@ const auth = () => {
40
40
  ACCESS_TOKEN_EXPIRY_GRACE_PERIOD
41
41
  )) {
42
42
  instance = await privateAPI.auth.getAccessToken(
43
- bindings.appDefinitionId,
43
+ appDefinitionId,
44
44
  await privateAPI.info.getMetaSiteId()
45
45
  );
46
46
  }
@@ -48,7 +48,7 @@ const auth = () => {
48
48
  console.error(
49
49
  createEditorPlatformSDKAuthError(
50
50
  "EmptyAppAuthInstance" /* EmptyAppAuthInstance */
51
- ).withAppDefinitionId(bindings.appDefinitionId)
51
+ ).withAppDefinitionId(appDefinitionId)
52
52
  );
53
53
  return {
54
54
  headers: {
@@ -103,25 +103,40 @@ class PlatformSDKShape {
103
103
  }
104
104
  }
105
105
 
106
+ class BaseSDKError extends BaseError {
107
+ constructor(message, code) {
108
+ super(message, code, "Base SDK Error");
109
+ }
110
+ }
111
+ const createBaseSDKError = createErrorBuilder(
112
+ BaseSDKError
113
+ );
106
114
  class BaseSDKShape {
107
- constructor(overrideApplicationContext = null) {
108
- this.overrideApplicationContext = overrideApplicationContext;
115
+ constructor(overriddenApplicationContext = null) {
116
+ this.overriddenApplicationContext = overriddenApplicationContext;
109
117
  }
110
118
  getApplicationContext() {
111
- return this.overrideApplicationContext ? this.overrideApplicationContext : ApplicationContext.getInstance();
119
+ return this.overriddenApplicationContext ? this.overriddenApplicationContext : ApplicationContext.getInstance();
112
120
  }
113
121
  async getAppDefinitionId() {
114
122
  return (await this.getApplicationContext()).getAppDefinitionId();
115
123
  }
124
+ async getManifestContextId() {
125
+ return (await this.getApplicationContext()).getManifestContextId();
126
+ }
127
+ async getRequiredManifestContextId() {
128
+ const manifestContextId = await this.getManifestContextId();
129
+ if (!manifestContextId) {
130
+ throw createBaseSDKError("ManifestContextIdRequired" /* ManifestContextIdRequired */);
131
+ }
132
+ return manifestContextId;
133
+ }
116
134
  async getEnvironmentContext() {
117
135
  return (await this.getApplicationContext()).getEnvironmentContext();
118
136
  }
119
137
  async getPlatformPrivateAPI() {
120
138
  return (await this.getApplicationContext()).getPrivateAPI();
121
139
  }
122
- async getContextBindings() {
123
- return (await this.getApplicationContext()).getBindings();
124
- }
125
140
  // NOTE: don't remove this for now
126
141
  // protected dep<TDep extends IBaseSDKShape>(Factory: TDep) {
127
142
  // let instance: InstanceType<TDep>;
@@ -148,18 +163,17 @@ class ApplicationSDKShape extends BaseSDKShape {
148
163
  }
149
164
  async getAppInstance() {
150
165
  const privateAPI = await this.getPlatformPrivateAPI();
151
- const bindings = await this.getContextBindings();
152
- return privateAPI.info.getAppInstance(bindings.appDefinitionId);
166
+ return privateAPI.info.getAppInstance(await this.getAppDefinitionId());
153
167
  }
154
168
  }
155
- var index$9 = new PlatformSDKShape(ApplicationSDKShape).withPublicMethod("getPrivateAPI").withPublicMethod("getPublicAPI").withPublicMethod("getAppInstance").build();
169
+ var index$a = new PlatformSDKShape(ApplicationSDKShape).withPublicMethod("getPrivateAPI").withPublicMethod("getPublicAPI").withPublicMethod("getAppInstance").build();
156
170
 
157
171
  class EventsSDKShape extends BaseSDKShape {
158
172
  async addEventListener(name, cb) {
159
173
  return (await this.getApplicationContext()).getEvents().addEventListener(name, cb);
160
174
  }
161
175
  }
162
- var index$8 = new PlatformSDKShape(EventsSDKShape).withPublicMethod("addEventListener").build();
176
+ var index$9 = new PlatformSDKShape(EventsSDKShape).withPublicMethod("addEventListener").build();
163
177
 
164
178
  class ElementsSDKShape extends BaseSDKShape {
165
179
  async getSelection() {
@@ -178,7 +192,7 @@ class ElementsSDKShape extends BaseSDKShape {
178
192
  });
179
193
  }
180
194
  }
181
- var index$7 = new PlatformSDKShape(ElementsSDKShape).withPublicMethod("onSelectionChange").withPublicMethod("getSelection").build();
195
+ var index$8 = new PlatformSDKShape(ElementsSDKShape).withPublicMethod("onSelectionChange").withPublicMethod("getSelection").build();
182
196
 
183
197
  class InfoSDKShape extends BaseSDKShape {
184
198
  async getViewMode() {
@@ -190,7 +204,7 @@ class InfoSDKShape extends BaseSDKShape {
190
204
  return privateAPI.info.getLanguageCode();
191
205
  }
192
206
  }
193
- var index$6 = new PlatformSDKShape(InfoSDKShape).withPublicMethod("getViewMode").withPublicMethod("getLanguageCode").build();
207
+ var index$7 = new PlatformSDKShape(InfoSDKShape).withPublicMethod("getViewMode").withPublicMethod("getLanguageCode").build();
194
208
 
195
209
  var WidgetShapeErrorCode = /* @__PURE__ */ ((WidgetShapeErrorCode2) => {
196
210
  WidgetShapeErrorCode2["UndefinedCompRef"] = "UndefinedCompRef";
@@ -366,7 +380,7 @@ class WidgetSDKShape extends BaseSDKShape {
366
380
  }
367
381
  }
368
382
  const widgetShape = new PlatformSDKShape(WidgetSDKShape).withPublicMethod("getNestedWidget").withPublicMethod("setDesignPreset").withPublicMethod("getDesignPreset").withPublicMethod("setProp").withPublicMethod("getProp").withPublicMethod("setPreloadFonts");
369
- var index$5 = widgetShape.build();
383
+ var index$6 = widgetShape.build();
370
384
 
371
385
  function fontValueToCSS(fontValue) {
372
386
  return `${fontValue.cssVariableName ? `var(${fontValue.cssVariableName}, ` : ""}${fontValue.italic ? "italic " : ""}${fontValue.bold ? "bold " : ""}${fontValue.size || 16}px ${// wrap each font family with quotes
@@ -466,7 +480,7 @@ class InputsSDKShape extends BaseSDKShape {
466
480
  return _value;
467
481
  }
468
482
  }
469
- var index$4 = new PlatformSDKShape(InputsSDKShape).withPublicMethod("selectColor").withPublicMethod("selectFont").build();
483
+ var index$5 = new PlatformSDKShape(InputsSDKShape).withPublicMethod("selectColor").withPublicMethod("selectFont").build();
470
484
 
471
485
  class PanelsSDKShape extends BaseSDKShape {
472
486
  async openLanguageSupportPanel() {
@@ -478,7 +492,7 @@ class PanelsSDKShape extends BaseSDKShape {
478
492
  return privateAPI.panels.openFontsUploadPanel();
479
493
  }
480
494
  }
481
- var index$3 = new PlatformSDKShape(PanelsSDKShape).withPublicMethod("openLanguageSupportPanel").withPublicMethod("openFontsUploadPanel").build();
495
+ var index$4 = new PlatformSDKShape(PanelsSDKShape).withPublicMethod("openLanguageSupportPanel").withPublicMethod("openFontsUploadPanel").build();
482
496
 
483
497
  class ModalsSDKShape extends BaseSDKShape {
484
498
  async openDashboardModal(options) {
@@ -489,7 +503,58 @@ class ModalsSDKShape extends BaseSDKShape {
489
503
  );
490
504
  }
491
505
  }
492
- var index$2 = new PlatformSDKShape(ModalsSDKShape).withPublicMethod("openDashboardModal").build();
506
+ var index$3 = new PlatformSDKShape(ModalsSDKShape).withPublicMethod("openDashboardModal").build();
507
+
508
+ class ElementSDKShape extends BaseSDKShape {
509
+ async getStyleDefinitions() {
510
+ const privateAPI = await this.getPlatformPrivateAPI();
511
+ const manifestContextId = await this.getRequiredManifestContextId();
512
+ return privateAPI.builderComponent.getStyleDefinitions(manifestContextId);
513
+ }
514
+ async getStyles() {
515
+ const privateAPI = await this.getPlatformPrivateAPI();
516
+ const manifestContextId = await this.getRequiredManifestContextId();
517
+ return privateAPI.builderComponent.getStyles(manifestContextId);
518
+ }
519
+ async setStyles(values) {
520
+ const privateAPI = await this.getPlatformPrivateAPI();
521
+ const manifestContextId = await this.getRequiredManifestContextId();
522
+ return privateAPI.builderComponent.setStyles(manifestContextId, values);
523
+ }
524
+ async getDataDefinitions() {
525
+ const privateAPI = await this.getPlatformPrivateAPI();
526
+ const manifestContextId = await this.getRequiredManifestContextId();
527
+ return privateAPI.builderComponent.getDataDefinitions(manifestContextId);
528
+ }
529
+ async getData() {
530
+ const privateAPI = await this.getPlatformPrivateAPI();
531
+ const manifestContextId = await this.getRequiredManifestContextId();
532
+ return privateAPI.builderComponent.getData(manifestContextId);
533
+ }
534
+ async setData(values) {
535
+ const privateAPI = await this.getPlatformPrivateAPI();
536
+ const manifestContextId = await this.getRequiredManifestContextId();
537
+ return privateAPI.builderComponent.setData(manifestContextId, values);
538
+ }
539
+ async getState() {
540
+ return null;
541
+ }
542
+ async setState() {
543
+ return null;
544
+ }
545
+ async getStateDefinitions() {
546
+ return null;
547
+ }
548
+ async onChange(cb) {
549
+ const privateAPI = await this.getPlatformPrivateAPI();
550
+ const manifestContextId = await this.getRequiredManifestContextId();
551
+ return privateAPI.builderComponent.onContextualManifestChange(
552
+ manifestContextId,
553
+ cb
554
+ );
555
+ }
556
+ }
557
+ 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();
493
558
 
494
559
  class PreferencesSDKShape extends BaseSDKShape {
495
560
  async get(keys) {
@@ -599,5 +664,5 @@ const editor = {
599
664
  auth
600
665
  };
601
666
 
602
- export { index$9 as application, editor, index$7 as elements, index$8 as events, index as externalPanels, index$6 as info, index$4 as inputs, index$2 as modals, index$3 as panels, index$1 as preferences, index$5 as widget };
667
+ export { index$a as application, editor, index$2 as element, index$8 as elements, index$9 as events, index as externalPanels, index$7 as info, index$5 as inputs, index$3 as modals, index$4 as panels, index$1 as preferences, index$6 as widget };
603
668
  //# sourceMappingURL=index.js.map
@@ -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 { 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<any>>;\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';\n\n// export type IBaseSDKShape = new (\n// overrideApplicationContext?: Promise<ApplicationContext<any>>,\n// ) => any;\n\nexport class BaseSDKShape {\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 // 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 const bindings = await this.getContextBindings();\n\n return privateAPI.info.getAppInstance(bindings.appDefinitionId);\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 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<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":["WidgetShapeErrorCode","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.onContextualManifestChange(\n manifestContextId,\n cb,\n );\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":["WidgetShapeErrorCode","host.worker","host.frame"],"mappings":"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"}