@wix/editor 1.344.0 → 1.346.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 CHANGED
@@ -141,23 +141,34 @@ class ApplicationSDKShape extends BaseSDKShape {
141
141
  }
142
142
  var index$6 = new PlatformSDKShape("application", ApplicationSDKShape).build();
143
143
 
144
- class ComponentsSDKShape extends BaseSDKShape {
145
- async getSelectedComponents() {
144
+ class EventsSDKShape extends BaseSDKShape {
145
+ async addEventListener(name, cb) {
146
+ return (await this.getApplicationContext()).getEvents().addEventListener(name, cb);
147
+ }
148
+ }
149
+ var index$5 = new PlatformSDKShape("events", EventsSDKShape).build();
150
+
151
+ class ElementsSDKShape extends BaseSDKShape {
152
+ #events = new EventsSDKShape(this.getApplicationContext());
153
+ async getSelection() {
146
154
  const privateAPI = await this.getPlatformPrivateAPI();
147
155
  const refs = await privateAPI.components.getSelectedComponents();
148
156
  return Promise.all(
149
- refs.map((ref) => privateAPI.components.getComponent(ref))
157
+ refs.map(
158
+ (ref) => privateAPI.components.getComponent(ref)
159
+ )
150
160
  );
151
161
  }
152
- }
153
- var index$5 = new PlatformSDKShape("components", ComponentsSDKShape).build();
154
-
155
- class EventsSDKShape extends BaseSDKShape {
156
- async addEventListener(name, cb) {
157
- return (await this.getApplicationContext()).getEvents().addEventListener(name, cb);
162
+ onSelectionChange(cb) {
163
+ void this.#events.addEventListener(
164
+ "componentSelectionChanged",
165
+ (payload) => {
166
+ cb(payload.components);
167
+ }
168
+ );
158
169
  }
159
170
  }
160
- var index$4 = new PlatformSDKShape("events", EventsSDKShape).build();
171
+ var index$4 = new PlatformSDKShape("elements", ElementsSDKShape).build();
161
172
 
162
173
  class InfoSDKShape extends BaseSDKShape {
163
174
  async getViewMode() {
@@ -173,6 +184,7 @@ var index$3 = new PlatformSDKShape("info", InfoSDKShape).build();
173
184
 
174
185
  var WidgetShapeErrorCode = /* @__PURE__ */ ((WidgetShapeErrorCode2) => {
175
186
  WidgetShapeErrorCode2["UndefinedCompRef"] = "UndefinedCompRef";
187
+ WidgetShapeErrorCode2["NotAvailableMethod"] = "NotAvailableMethod";
176
188
  return WidgetShapeErrorCode2;
177
189
  })(WidgetShapeErrorCode || {});
178
190
  class WidgetShapeError extends publicEditorPlatformErrors.BaseError {
@@ -182,56 +194,9 @@ class WidgetShapeError extends publicEditorPlatformErrors.BaseError {
182
194
  }
183
195
  const createWidgetShapeError = publicEditorPlatformErrors.createErrorBuilder(WidgetShapeError);
184
196
 
185
- class WidgetSDKShape extends BaseSDKShape {
186
- #components = new ComponentsSDKShape(this.getApplicationContext());
187
- async getProp(propName) {
188
- const privateAPI = await this.getPlatformPrivateAPI();
189
- const compRef = await this.#getSelectedComponentRef();
190
- if (await privateAPI.refComponents.isRefComponent(compRef)) {
191
- const props = await privateAPI.refComponents.getProps(compRef);
192
- return props?.[propName];
193
- } else {
194
- return privateAPI.customElement.getAttribute(compRef, propName);
195
- }
196
- }
197
- async setProp(propName, value) {
198
- const privateAPI = await this.getPlatformPrivateAPI();
199
- const compRef = await this.#getSelectedComponentRef();
200
- if (await privateAPI.refComponents.isRefComponent(compRef)) {
201
- await privateAPI.refComponents.setProps(compRef, {
202
- [propName]: value
203
- });
204
- } else {
205
- await privateAPI.customElement.setAttribute(compRef, propName, value);
206
- }
207
- }
208
- async #getSelectedComponentRef() {
209
- const selected = await this.#components.getSelectedComponents();
210
- const compRef = selected[0]?.compRef;
211
- if (!compRef) {
212
- throw createWidgetShapeError(WidgetShapeErrorCode.UndefinedCompRef);
213
- }
214
- return compRef;
215
- }
216
- }
217
- const widgetShape = new PlatformSDKShape("widget", WidgetSDKShape);
218
- var index$2 = widgetShape.build();
219
-
220
197
  const UNDERLINE_DEFINITION = "underline";
221
- function extractFontVar(fontString) {
222
- const trimmedFont = fontString.trim();
223
- const match = trimmedFont.match(/var\((--[\w-]+),\s*(.+)\)/);
224
- if (match) {
225
- return {
226
- variableName: match[1],
227
- fallbackValue: match[2]?.trim() ?? ""
228
- };
229
- } else {
230
- return {
231
- variableName: void 0,
232
- fallbackValue: trimmedFont
233
- };
234
- }
198
+ function getFontFamiliesFromFonts(fonts) {
199
+ return fonts.map((font) => parseFontString({ font }));
235
200
  }
236
201
  function parseFontString(fontPickerValue) {
237
202
  const font = {
@@ -270,6 +235,69 @@ function parseFontString(fontPickerValue) {
270
235
  font.family = font.family?.trim().replace(/['"]+/g, "");
271
236
  return font;
272
237
  }
238
+ function extractFontVar(fontString) {
239
+ const trimmedFont = fontString.trim();
240
+ const match = trimmedFont.match(/var\((--[\w-]+),\s*(.+)\)/);
241
+ if (match) {
242
+ return {
243
+ variableName: match[1],
244
+ fallbackValue: match[2]?.trim() ?? ""
245
+ };
246
+ } else {
247
+ return {
248
+ variableName: void 0,
249
+ fallbackValue: trimmedFont
250
+ };
251
+ }
252
+ }
253
+
254
+ class WidgetSDKShape extends BaseSDKShape {
255
+ async #getSelectedComponentRef() {
256
+ const privateAPI = await this.getPlatformPrivateAPI();
257
+ const refs = await privateAPI.components.getSelectedComponents();
258
+ const compRef = refs[0];
259
+ if (!compRef) {
260
+ throw createWidgetShapeError(WidgetShapeErrorCode.UndefinedCompRef);
261
+ }
262
+ return compRef;
263
+ }
264
+ async getProp(propName) {
265
+ const privateAPI = await this.getPlatformPrivateAPI();
266
+ const compRef = await this.#getSelectedComponentRef();
267
+ if (await privateAPI.refComponents.isRefComponent(compRef)) {
268
+ const props = await privateAPI.refComponents.getProps(compRef);
269
+ return props?.[propName];
270
+ } else {
271
+ return privateAPI.customElement.getAttribute(compRef, propName);
272
+ }
273
+ }
274
+ async setProp(propName, value) {
275
+ const privateAPI = await this.getPlatformPrivateAPI();
276
+ const compRef = await this.#getSelectedComponentRef();
277
+ if (await privateAPI.refComponents.isRefComponent(compRef)) {
278
+ await privateAPI.refComponents.setProps(compRef, {
279
+ [propName]: value
280
+ });
281
+ } else {
282
+ await privateAPI.customElement.setAttribute(compRef, propName, value);
283
+ }
284
+ }
285
+ async setPreloadFonts(fonts) {
286
+ const privateAPI = await this.getPlatformPrivateAPI();
287
+ const compRef = await this.#getSelectedComponentRef();
288
+ if (await privateAPI.refComponents.isRefComponent(compRef)) {
289
+ throw createWidgetShapeError(
290
+ WidgetShapeErrorCode.NotAvailableMethod,
291
+ "not available for the current component type"
292
+ );
293
+ }
294
+ const fontFamilies = getFontFamiliesFromFonts(fonts);
295
+ await privateAPI.customElement.setPreloadFonts(compRef, fontFamilies);
296
+ }
297
+ }
298
+ const widgetShape = new PlatformSDKShape("widget", WidgetSDKShape);
299
+ var index$2 = widgetShape.build();
300
+
273
301
  function fontValueToCSS(fontValue) {
274
302
  return `${fontValue.cssVariableName ? `var(${fontValue.cssVariableName}, ` : ""}${fontValue.italic ? "italic " : ""}${fontValue.bold ? "bold " : ""}${fontValue.size || 16}px ${// wrap each font family with quotes
275
303
  fontValue.family?.split(",").map((fontFamily) => `"${fontFamily.replace(/['"]+/g, "")}"`).join(",") || "serif"}${fontValue.cssVariableName ? ")" : ""}`;
@@ -454,9 +482,9 @@ const editor = {
454
482
  };
455
483
 
456
484
  exports.application = index$6;
457
- exports.components = index$5;
458
485
  exports.editor = editor;
459
- exports.events = index$4;
486
+ exports.elements = index$4;
487
+ exports.events = index$5;
460
488
  exports.externalPanels = index;
461
489
  exports.info = index$3;
462
490
  exports.inputs = index$1;
@@ -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/components/index.ts","../../src/events/index.ts","../../src/info/index.ts","../../src/widget/errors.ts","../../src/widget/index.ts","../../src/inputs/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 './env';\n\nimport { 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 './env';\n\nimport { 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 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 { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class ComponentsSDKShape extends BaseSDKShape {\n async getSelectedComponents() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const refs = await privateAPI.components.getSelectedComponents();\n\n return Promise.all(\n refs.map((ref: any) => privateAPI.components.getComponent(ref)),\n );\n }\n}\n\nexport default new PlatformSDKShape('components', ComponentsSDKShape).build();\n","import { AppEventPayload, AllowedEvents } from '@wix/editor-platform-contexts';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\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';\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}\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","import { createWidgetShapeError, WidgetShapeErrorCode } from './errors';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\nimport { ComponentsSDKShape } from '../components';\n\nexport class WidgetSDKShape extends BaseSDKShape {\n #components = new ComponentsSDKShape(this.getApplicationContext());\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 const props = await privateAPI.refComponents.getProps(compRef);\n return props?.[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 await privateAPI.refComponents.setProps(compRef, {\n [propName]: value,\n });\n } else {\n await privateAPI.customElement.setAttribute(compRef, propName, value);\n }\n }\n\n async #getSelectedComponentRef() {\n const selected = await this.#components.getSelectedComponents();\n const compRef = selected[0]?.compRef;\n\n if (!compRef) {\n throw createWidgetShapeError(WidgetShapeErrorCode.UndefinedCompRef);\n }\n\n return compRef;\n }\n}\n\nconst widgetShape = new PlatformSDKShape('widget', WidgetSDKShape);\n\nexport default widgetShape.build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\ninterface IColorValue {\n color: string;\n theme?: string;\n cssVariableName?: string;\n}\n\ninterface IFontValue {\n theme?: string;\n family?: string;\n size?: number;\n bold?: boolean;\n italic?: boolean;\n underline?: boolean;\n cssVariableName?: string;\n}\n\ninterface FontPickerValue {\n font: string;\n textDecoration?: string;\n}\n\ntype ColorPickerValue = string | null | undefined;\n\nconst UNDERLINE_DEFINITION = 'underline';\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\nfunction 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 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?: ColorPickerValue,\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?: ColorPickerValue,\n options?: {\n onChange?: (value: ColorPickerValue) => 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 {\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';\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\n return {\n environment: {},\n applicationContext: ApplicationContext.getInstance(),\n channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n essentials: queryParams.has('essentials')\n ? JSON.parse(queryParams.get('essentials')!)\n : {},\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 { auth } from './auth';\n\nexport { default as application } from './application';\nexport { default as components } from './components';\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 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","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/externalPanels/index.ts","../../src/host.ts","../../src/index.ts"],"sourcesContent":["import { EditorPlatformContextEnvironment } from '@wix/editor-platform-environment-api';\n\nnew EditorPlatformContextEnvironment().expose();\n","import './env';\n\nimport { 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 './env';\n\nimport { 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 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: (components: 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.map((font) => parseFontString({ font }));\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';\n\nexport class WidgetSDKShape extends BaseSDKShape {\n async #getSelectedComponentRef() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const refs = await privateAPI.components.getSelectedComponents();\n\n const compRef = refs[0];\n\n if (!compRef) {\n throw createWidgetShapeError(WidgetShapeErrorCode.UndefinedCompRef);\n }\n\n return compRef;\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 const props = await privateAPI.refComponents.getProps(compRef);\n return props?.[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 await privateAPI.refComponents.setProps(compRef, {\n [propName]: value,\n });\n } else {\n await privateAPI.customElement.setAttribute(compRef, propName, value);\n }\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\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 {\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';\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\n return {\n environment: {},\n applicationContext: ApplicationContext.getInstance(),\n channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n essentials: queryParams.has('essentials')\n ? JSON.parse(queryParams.get('essentials')!)\n : {},\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 { 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 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","host.worker","host.frame"],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -139,23 +139,34 @@ class ApplicationSDKShape extends BaseSDKShape {
139
139
  }
140
140
  var index$6 = new PlatformSDKShape("application", ApplicationSDKShape).build();
141
141
 
142
- class ComponentsSDKShape extends BaseSDKShape {
143
- async getSelectedComponents() {
142
+ class EventsSDKShape extends BaseSDKShape {
143
+ async addEventListener(name, cb) {
144
+ return (await this.getApplicationContext()).getEvents().addEventListener(name, cb);
145
+ }
146
+ }
147
+ var index$5 = new PlatformSDKShape("events", EventsSDKShape).build();
148
+
149
+ class ElementsSDKShape extends BaseSDKShape {
150
+ #events = new EventsSDKShape(this.getApplicationContext());
151
+ async getSelection() {
144
152
  const privateAPI = await this.getPlatformPrivateAPI();
145
153
  const refs = await privateAPI.components.getSelectedComponents();
146
154
  return Promise.all(
147
- refs.map((ref) => privateAPI.components.getComponent(ref))
155
+ refs.map(
156
+ (ref) => privateAPI.components.getComponent(ref)
157
+ )
148
158
  );
149
159
  }
150
- }
151
- var index$5 = new PlatformSDKShape("components", ComponentsSDKShape).build();
152
-
153
- class EventsSDKShape extends BaseSDKShape {
154
- async addEventListener(name, cb) {
155
- return (await this.getApplicationContext()).getEvents().addEventListener(name, cb);
160
+ onSelectionChange(cb) {
161
+ void this.#events.addEventListener(
162
+ "componentSelectionChanged",
163
+ (payload) => {
164
+ cb(payload.components);
165
+ }
166
+ );
156
167
  }
157
168
  }
158
- var index$4 = new PlatformSDKShape("events", EventsSDKShape).build();
169
+ var index$4 = new PlatformSDKShape("elements", ElementsSDKShape).build();
159
170
 
160
171
  class InfoSDKShape extends BaseSDKShape {
161
172
  async getViewMode() {
@@ -171,6 +182,7 @@ var index$3 = new PlatformSDKShape("info", InfoSDKShape).build();
171
182
 
172
183
  var WidgetShapeErrorCode = /* @__PURE__ */ ((WidgetShapeErrorCode2) => {
173
184
  WidgetShapeErrorCode2["UndefinedCompRef"] = "UndefinedCompRef";
185
+ WidgetShapeErrorCode2["NotAvailableMethod"] = "NotAvailableMethod";
174
186
  return WidgetShapeErrorCode2;
175
187
  })(WidgetShapeErrorCode || {});
176
188
  class WidgetShapeError extends BaseError {
@@ -180,56 +192,9 @@ class WidgetShapeError extends BaseError {
180
192
  }
181
193
  const createWidgetShapeError = createErrorBuilder(WidgetShapeError);
182
194
 
183
- class WidgetSDKShape extends BaseSDKShape {
184
- #components = new ComponentsSDKShape(this.getApplicationContext());
185
- async getProp(propName) {
186
- const privateAPI = await this.getPlatformPrivateAPI();
187
- const compRef = await this.#getSelectedComponentRef();
188
- if (await privateAPI.refComponents.isRefComponent(compRef)) {
189
- const props = await privateAPI.refComponents.getProps(compRef);
190
- return props?.[propName];
191
- } else {
192
- return privateAPI.customElement.getAttribute(compRef, propName);
193
- }
194
- }
195
- async setProp(propName, value) {
196
- const privateAPI = await this.getPlatformPrivateAPI();
197
- const compRef = await this.#getSelectedComponentRef();
198
- if (await privateAPI.refComponents.isRefComponent(compRef)) {
199
- await privateAPI.refComponents.setProps(compRef, {
200
- [propName]: value
201
- });
202
- } else {
203
- await privateAPI.customElement.setAttribute(compRef, propName, value);
204
- }
205
- }
206
- async #getSelectedComponentRef() {
207
- const selected = await this.#components.getSelectedComponents();
208
- const compRef = selected[0]?.compRef;
209
- if (!compRef) {
210
- throw createWidgetShapeError(WidgetShapeErrorCode.UndefinedCompRef);
211
- }
212
- return compRef;
213
- }
214
- }
215
- const widgetShape = new PlatformSDKShape("widget", WidgetSDKShape);
216
- var index$2 = widgetShape.build();
217
-
218
195
  const UNDERLINE_DEFINITION = "underline";
219
- function extractFontVar(fontString) {
220
- const trimmedFont = fontString.trim();
221
- const match = trimmedFont.match(/var\((--[\w-]+),\s*(.+)\)/);
222
- if (match) {
223
- return {
224
- variableName: match[1],
225
- fallbackValue: match[2]?.trim() ?? ""
226
- };
227
- } else {
228
- return {
229
- variableName: void 0,
230
- fallbackValue: trimmedFont
231
- };
232
- }
196
+ function getFontFamiliesFromFonts(fonts) {
197
+ return fonts.map((font) => parseFontString({ font }));
233
198
  }
234
199
  function parseFontString(fontPickerValue) {
235
200
  const font = {
@@ -268,6 +233,69 @@ function parseFontString(fontPickerValue) {
268
233
  font.family = font.family?.trim().replace(/['"]+/g, "");
269
234
  return font;
270
235
  }
236
+ function extractFontVar(fontString) {
237
+ const trimmedFont = fontString.trim();
238
+ const match = trimmedFont.match(/var\((--[\w-]+),\s*(.+)\)/);
239
+ if (match) {
240
+ return {
241
+ variableName: match[1],
242
+ fallbackValue: match[2]?.trim() ?? ""
243
+ };
244
+ } else {
245
+ return {
246
+ variableName: void 0,
247
+ fallbackValue: trimmedFont
248
+ };
249
+ }
250
+ }
251
+
252
+ class WidgetSDKShape extends BaseSDKShape {
253
+ async #getSelectedComponentRef() {
254
+ const privateAPI = await this.getPlatformPrivateAPI();
255
+ const refs = await privateAPI.components.getSelectedComponents();
256
+ const compRef = refs[0];
257
+ if (!compRef) {
258
+ throw createWidgetShapeError(WidgetShapeErrorCode.UndefinedCompRef);
259
+ }
260
+ return compRef;
261
+ }
262
+ async getProp(propName) {
263
+ const privateAPI = await this.getPlatformPrivateAPI();
264
+ const compRef = await this.#getSelectedComponentRef();
265
+ if (await privateAPI.refComponents.isRefComponent(compRef)) {
266
+ const props = await privateAPI.refComponents.getProps(compRef);
267
+ return props?.[propName];
268
+ } else {
269
+ return privateAPI.customElement.getAttribute(compRef, propName);
270
+ }
271
+ }
272
+ async setProp(propName, value) {
273
+ const privateAPI = await this.getPlatformPrivateAPI();
274
+ const compRef = await this.#getSelectedComponentRef();
275
+ if (await privateAPI.refComponents.isRefComponent(compRef)) {
276
+ await privateAPI.refComponents.setProps(compRef, {
277
+ [propName]: value
278
+ });
279
+ } else {
280
+ await privateAPI.customElement.setAttribute(compRef, propName, value);
281
+ }
282
+ }
283
+ async setPreloadFonts(fonts) {
284
+ const privateAPI = await this.getPlatformPrivateAPI();
285
+ const compRef = await this.#getSelectedComponentRef();
286
+ if (await privateAPI.refComponents.isRefComponent(compRef)) {
287
+ throw createWidgetShapeError(
288
+ WidgetShapeErrorCode.NotAvailableMethod,
289
+ "not available for the current component type"
290
+ );
291
+ }
292
+ const fontFamilies = getFontFamiliesFromFonts(fonts);
293
+ await privateAPI.customElement.setPreloadFonts(compRef, fontFamilies);
294
+ }
295
+ }
296
+ const widgetShape = new PlatformSDKShape("widget", WidgetSDKShape);
297
+ var index$2 = widgetShape.build();
298
+
271
299
  function fontValueToCSS(fontValue) {
272
300
  return `${fontValue.cssVariableName ? `var(${fontValue.cssVariableName}, ` : ""}${fontValue.italic ? "italic " : ""}${fontValue.bold ? "bold " : ""}${fontValue.size || 16}px ${// wrap each font family with quotes
273
301
  fontValue.family?.split(",").map((fontFamily) => `"${fontFamily.replace(/['"]+/g, "")}"`).join(",") || "serif"}${fontValue.cssVariableName ? ")" : ""}`;
@@ -451,5 +479,5 @@ const editor = {
451
479
  auth
452
480
  };
453
481
 
454
- export { index$6 as application, index$5 as components, editor, index$4 as events, index as externalPanels, index$3 as info, index$1 as inputs, index$2 as widget };
482
+ export { index$6 as application, editor, index$4 as elements, index$5 as events, index as externalPanels, index$3 as info, index$1 as inputs, index$2 as widget };
455
483
  //# 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/components/index.ts","../../src/events/index.ts","../../src/info/index.ts","../../src/widget/errors.ts","../../src/widget/index.ts","../../src/inputs/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 './env';\n\nimport { 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 './env';\n\nimport { 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 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 { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class ComponentsSDKShape extends BaseSDKShape {\n async getSelectedComponents() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const refs = await privateAPI.components.getSelectedComponents();\n\n return Promise.all(\n refs.map((ref: any) => privateAPI.components.getComponent(ref)),\n );\n }\n}\n\nexport default new PlatformSDKShape('components', ComponentsSDKShape).build();\n","import { AppEventPayload, AllowedEvents } from '@wix/editor-platform-contexts';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\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';\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}\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","import { createWidgetShapeError, WidgetShapeErrorCode } from './errors';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\nimport { ComponentsSDKShape } from '../components';\n\nexport class WidgetSDKShape extends BaseSDKShape {\n #components = new ComponentsSDKShape(this.getApplicationContext());\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 const props = await privateAPI.refComponents.getProps(compRef);\n return props?.[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 await privateAPI.refComponents.setProps(compRef, {\n [propName]: value,\n });\n } else {\n await privateAPI.customElement.setAttribute(compRef, propName, value);\n }\n }\n\n async #getSelectedComponentRef() {\n const selected = await this.#components.getSelectedComponents();\n const compRef = selected[0]?.compRef;\n\n if (!compRef) {\n throw createWidgetShapeError(WidgetShapeErrorCode.UndefinedCompRef);\n }\n\n return compRef;\n }\n}\n\nconst widgetShape = new PlatformSDKShape('widget', WidgetSDKShape);\n\nexport default widgetShape.build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\ninterface IColorValue {\n color: string;\n theme?: string;\n cssVariableName?: string;\n}\n\ninterface IFontValue {\n theme?: string;\n family?: string;\n size?: number;\n bold?: boolean;\n italic?: boolean;\n underline?: boolean;\n cssVariableName?: string;\n}\n\ninterface FontPickerValue {\n font: string;\n textDecoration?: string;\n}\n\ntype ColorPickerValue = string | null | undefined;\n\nconst UNDERLINE_DEFINITION = 'underline';\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\nfunction 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 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?: ColorPickerValue,\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?: ColorPickerValue,\n options?: {\n onChange?: (value: ColorPickerValue) => 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 {\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';\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\n return {\n environment: {},\n applicationContext: ApplicationContext.getInstance(),\n channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n essentials: queryParams.has('essentials')\n ? JSON.parse(queryParams.get('essentials')!)\n : {},\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 { auth } from './auth';\n\nexport { default as application } from './application';\nexport { default as components } from './components';\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 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/externalPanels/index.ts","../../src/host.ts","../../src/index.ts"],"sourcesContent":["import { EditorPlatformContextEnvironment } from '@wix/editor-platform-environment-api';\n\nnew EditorPlatformContextEnvironment().expose();\n","import './env';\n\nimport { 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 './env';\n\nimport { 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 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: (components: 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.map((font) => parseFontString({ font }));\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';\n\nexport class WidgetSDKShape extends BaseSDKShape {\n async #getSelectedComponentRef() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const refs = await privateAPI.components.getSelectedComponents();\n\n const compRef = refs[0];\n\n if (!compRef) {\n throw createWidgetShapeError(WidgetShapeErrorCode.UndefinedCompRef);\n }\n\n return compRef;\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 const props = await privateAPI.refComponents.getProps(compRef);\n return props?.[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 await privateAPI.refComponents.setProps(compRef, {\n [propName]: value,\n });\n } else {\n await privateAPI.customElement.setAttribute(compRef, propName, value);\n }\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\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 {\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';\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\n return {\n environment: {},\n applicationContext: ApplicationContext.getInstance(),\n channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n essentials: queryParams.has('essentials')\n ? JSON.parse(queryParams.get('essentials')!)\n : {},\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 { 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 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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"}
@@ -140,23 +140,34 @@
140
140
  }
141
141
  var index$6 = new PlatformSDKShape("application", ApplicationSDKShape).build();
142
142
 
143
- class ComponentsSDKShape extends BaseSDKShape {
144
- async getSelectedComponents() {
143
+ class EventsSDKShape extends BaseSDKShape {
144
+ async addEventListener(name, cb) {
145
+ return (await this.getApplicationContext()).getEvents().addEventListener(name, cb);
146
+ }
147
+ }
148
+ var index$5 = new PlatformSDKShape("events", EventsSDKShape).build();
149
+
150
+ class ElementsSDKShape extends BaseSDKShape {
151
+ #events = new EventsSDKShape(this.getApplicationContext());
152
+ async getSelection() {
145
153
  const privateAPI = await this.getPlatformPrivateAPI();
146
154
  const refs = await privateAPI.components.getSelectedComponents();
147
155
  return Promise.all(
148
- refs.map((ref) => privateAPI.components.getComponent(ref))
156
+ refs.map(
157
+ (ref) => privateAPI.components.getComponent(ref)
158
+ )
149
159
  );
150
160
  }
151
- }
152
- var index$5 = new PlatformSDKShape("components", ComponentsSDKShape).build();
153
-
154
- class EventsSDKShape extends BaseSDKShape {
155
- async addEventListener(name, cb) {
156
- return (await this.getApplicationContext()).getEvents().addEventListener(name, cb);
161
+ onSelectionChange(cb) {
162
+ void this.#events.addEventListener(
163
+ "componentSelectionChanged",
164
+ (payload) => {
165
+ cb(payload.components);
166
+ }
167
+ );
157
168
  }
158
169
  }
159
- var index$4 = new PlatformSDKShape("events", EventsSDKShape).build();
170
+ var index$4 = new PlatformSDKShape("elements", ElementsSDKShape).build();
160
171
 
161
172
  class InfoSDKShape extends BaseSDKShape {
162
173
  async getViewMode() {
@@ -172,6 +183,7 @@
172
183
 
173
184
  var WidgetShapeErrorCode = /* @__PURE__ */ ((WidgetShapeErrorCode2) => {
174
185
  WidgetShapeErrorCode2["UndefinedCompRef"] = "UndefinedCompRef";
186
+ WidgetShapeErrorCode2["NotAvailableMethod"] = "NotAvailableMethod";
175
187
  return WidgetShapeErrorCode2;
176
188
  })(WidgetShapeErrorCode || {});
177
189
  class WidgetShapeError extends publicEditorPlatformErrors.BaseError {
@@ -181,56 +193,9 @@
181
193
  }
182
194
  const createWidgetShapeError = publicEditorPlatformErrors.createErrorBuilder(WidgetShapeError);
183
195
 
184
- class WidgetSDKShape extends BaseSDKShape {
185
- #components = new ComponentsSDKShape(this.getApplicationContext());
186
- async getProp(propName) {
187
- const privateAPI = await this.getPlatformPrivateAPI();
188
- const compRef = await this.#getSelectedComponentRef();
189
- if (await privateAPI.refComponents.isRefComponent(compRef)) {
190
- const props = await privateAPI.refComponents.getProps(compRef);
191
- return props?.[propName];
192
- } else {
193
- return privateAPI.customElement.getAttribute(compRef, propName);
194
- }
195
- }
196
- async setProp(propName, value) {
197
- const privateAPI = await this.getPlatformPrivateAPI();
198
- const compRef = await this.#getSelectedComponentRef();
199
- if (await privateAPI.refComponents.isRefComponent(compRef)) {
200
- await privateAPI.refComponents.setProps(compRef, {
201
- [propName]: value
202
- });
203
- } else {
204
- await privateAPI.customElement.setAttribute(compRef, propName, value);
205
- }
206
- }
207
- async #getSelectedComponentRef() {
208
- const selected = await this.#components.getSelectedComponents();
209
- const compRef = selected[0]?.compRef;
210
- if (!compRef) {
211
- throw createWidgetShapeError(WidgetShapeErrorCode.UndefinedCompRef);
212
- }
213
- return compRef;
214
- }
215
- }
216
- const widgetShape = new PlatformSDKShape("widget", WidgetSDKShape);
217
- var index$2 = widgetShape.build();
218
-
219
196
  const UNDERLINE_DEFINITION = "underline";
220
- function extractFontVar(fontString) {
221
- const trimmedFont = fontString.trim();
222
- const match = trimmedFont.match(/var\((--[\w-]+),\s*(.+)\)/);
223
- if (match) {
224
- return {
225
- variableName: match[1],
226
- fallbackValue: match[2]?.trim() ?? ""
227
- };
228
- } else {
229
- return {
230
- variableName: void 0,
231
- fallbackValue: trimmedFont
232
- };
233
- }
197
+ function getFontFamiliesFromFonts(fonts) {
198
+ return fonts.map((font) => parseFontString({ font }));
234
199
  }
235
200
  function parseFontString(fontPickerValue) {
236
201
  const font = {
@@ -269,6 +234,69 @@
269
234
  font.family = font.family?.trim().replace(/['"]+/g, "");
270
235
  return font;
271
236
  }
237
+ function extractFontVar(fontString) {
238
+ const trimmedFont = fontString.trim();
239
+ const match = trimmedFont.match(/var\((--[\w-]+),\s*(.+)\)/);
240
+ if (match) {
241
+ return {
242
+ variableName: match[1],
243
+ fallbackValue: match[2]?.trim() ?? ""
244
+ };
245
+ } else {
246
+ return {
247
+ variableName: void 0,
248
+ fallbackValue: trimmedFont
249
+ };
250
+ }
251
+ }
252
+
253
+ class WidgetSDKShape extends BaseSDKShape {
254
+ async #getSelectedComponentRef() {
255
+ const privateAPI = await this.getPlatformPrivateAPI();
256
+ const refs = await privateAPI.components.getSelectedComponents();
257
+ const compRef = refs[0];
258
+ if (!compRef) {
259
+ throw createWidgetShapeError(WidgetShapeErrorCode.UndefinedCompRef);
260
+ }
261
+ return compRef;
262
+ }
263
+ async getProp(propName) {
264
+ const privateAPI = await this.getPlatformPrivateAPI();
265
+ const compRef = await this.#getSelectedComponentRef();
266
+ if (await privateAPI.refComponents.isRefComponent(compRef)) {
267
+ const props = await privateAPI.refComponents.getProps(compRef);
268
+ return props?.[propName];
269
+ } else {
270
+ return privateAPI.customElement.getAttribute(compRef, propName);
271
+ }
272
+ }
273
+ async setProp(propName, value) {
274
+ const privateAPI = await this.getPlatformPrivateAPI();
275
+ const compRef = await this.#getSelectedComponentRef();
276
+ if (await privateAPI.refComponents.isRefComponent(compRef)) {
277
+ await privateAPI.refComponents.setProps(compRef, {
278
+ [propName]: value
279
+ });
280
+ } else {
281
+ await privateAPI.customElement.setAttribute(compRef, propName, value);
282
+ }
283
+ }
284
+ async setPreloadFonts(fonts) {
285
+ const privateAPI = await this.getPlatformPrivateAPI();
286
+ const compRef = await this.#getSelectedComponentRef();
287
+ if (await privateAPI.refComponents.isRefComponent(compRef)) {
288
+ throw createWidgetShapeError(
289
+ WidgetShapeErrorCode.NotAvailableMethod,
290
+ "not available for the current component type"
291
+ );
292
+ }
293
+ const fontFamilies = getFontFamiliesFromFonts(fonts);
294
+ await privateAPI.customElement.setPreloadFonts(compRef, fontFamilies);
295
+ }
296
+ }
297
+ const widgetShape = new PlatformSDKShape("widget", WidgetSDKShape);
298
+ var index$2 = widgetShape.build();
299
+
272
300
  function fontValueToCSS(fontValue) {
273
301
  return `${fontValue.cssVariableName ? `var(${fontValue.cssVariableName}, ` : ""}${fontValue.italic ? "italic " : ""}${fontValue.bold ? "bold " : ""}${fontValue.size || 16}px ${// wrap each font family with quotes
274
302
  fontValue.family?.split(",").map((fontFamily) => `"${fontFamily.replace(/['"]+/g, "")}"`).join(",") || "serif"}${fontValue.cssVariableName ? ")" : ""}`;
@@ -453,9 +481,9 @@
453
481
  };
454
482
 
455
483
  exports.application = index$6;
456
- exports.components = index$5;
457
484
  exports.editor = editor;
458
- exports.events = index$4;
485
+ exports.elements = index$4;
486
+ exports.events = index$5;
459
487
  exports.externalPanels = index;
460
488
  exports.info = index$3;
461
489
  exports.inputs = index$1;
@@ -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/components/index.ts","../../src/events/index.ts","../../src/info/index.ts","../../src/widget/errors.ts","../../src/widget/index.ts","../../src/inputs/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 './env';\n\nimport { 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 './env';\n\nimport { 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 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 { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class ComponentsSDKShape extends BaseSDKShape {\n async getSelectedComponents() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const refs = await privateAPI.components.getSelectedComponents();\n\n return Promise.all(\n refs.map((ref: any) => privateAPI.components.getComponent(ref)),\n );\n }\n}\n\nexport default new PlatformSDKShape('components', ComponentsSDKShape).build();\n","import { AppEventPayload, AllowedEvents } from '@wix/editor-platform-contexts';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\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';\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}\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","import { createWidgetShapeError, WidgetShapeErrorCode } from './errors';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\nimport { ComponentsSDKShape } from '../components';\n\nexport class WidgetSDKShape extends BaseSDKShape {\n #components = new ComponentsSDKShape(this.getApplicationContext());\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 const props = await privateAPI.refComponents.getProps(compRef);\n return props?.[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 await privateAPI.refComponents.setProps(compRef, {\n [propName]: value,\n });\n } else {\n await privateAPI.customElement.setAttribute(compRef, propName, value);\n }\n }\n\n async #getSelectedComponentRef() {\n const selected = await this.#components.getSelectedComponents();\n const compRef = selected[0]?.compRef;\n\n if (!compRef) {\n throw createWidgetShapeError(WidgetShapeErrorCode.UndefinedCompRef);\n }\n\n return compRef;\n }\n}\n\nconst widgetShape = new PlatformSDKShape('widget', WidgetSDKShape);\n\nexport default widgetShape.build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\ninterface IColorValue {\n color: string;\n theme?: string;\n cssVariableName?: string;\n}\n\ninterface IFontValue {\n theme?: string;\n family?: string;\n size?: number;\n bold?: boolean;\n italic?: boolean;\n underline?: boolean;\n cssVariableName?: string;\n}\n\ninterface FontPickerValue {\n font: string;\n textDecoration?: string;\n}\n\ntype ColorPickerValue = string | null | undefined;\n\nconst UNDERLINE_DEFINITION = 'underline';\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\nfunction 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 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?: ColorPickerValue,\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?: ColorPickerValue,\n options?: {\n onChange?: (value: ColorPickerValue) => 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 {\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';\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\n return {\n environment: {},\n applicationContext: ApplicationContext.getInstance(),\n channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n essentials: queryParams.has('essentials')\n ? JSON.parse(queryParams.get('essentials')!)\n : {},\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 { auth } from './auth';\n\nexport { default as application } from './application';\nexport { default as components } from './components';\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 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","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/externalPanels/index.ts","../../src/host.ts","../../src/index.ts"],"sourcesContent":["import { EditorPlatformContextEnvironment } from '@wix/editor-platform-environment-api';\n\nnew EditorPlatformContextEnvironment().expose();\n","import './env';\n\nimport { 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 './env';\n\nimport { 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 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: (components: 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.map((font) => parseFontString({ font }));\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';\n\nexport class WidgetSDKShape extends BaseSDKShape {\n async #getSelectedComponentRef() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const refs = await privateAPI.components.getSelectedComponents();\n\n const compRef = refs[0];\n\n if (!compRef) {\n throw createWidgetShapeError(WidgetShapeErrorCode.UndefinedCompRef);\n }\n\n return compRef;\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 const props = await privateAPI.refComponents.getProps(compRef);\n return props?.[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 await privateAPI.refComponents.setProps(compRef, {\n [propName]: value,\n });\n } else {\n await privateAPI.customElement.setAttribute(compRef, propName, value);\n }\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\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 {\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';\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\n return {\n environment: {},\n applicationContext: ApplicationContext.getInstance(),\n channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n essentials: queryParams.has('essentials')\n ? JSON.parse(queryParams.get('essentials')!)\n : {},\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 { 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 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","host.worker","host.frame"],"mappings":";;;;;;EAEA,IAAIA,6DAAA,GAAmC,MAAO,EAAA;;ECY9C,MAAM,mCAAmCC,oCAA0C,CAAA;EAAA,EACjF,QAEK,EAAC,CAAA;EAAA,EAEN,WAAA,CAAY,SAAiB,IAAsC,EAAA;EACjE,IAAM,KAAA,CAAA,OAAA,EAAS,MAAM,qBAAqB,CAAA,CAAA;EAAA,GAC5C;EAAA,EAEA,oBAAoB,eAAyB,EAAA;EAC3C,IAAA,IAAA,CAAK,KAAQ,GAAA,EAAE,GAAG,IAAA,CAAK,OAAO,eAAgB,EAAA,CAAA;EAC9C,IAAO,OAAA,IAAA,CAAA;EAAA,GACT;EACF,CAAA;EAEa,MAAA,gCAAA,GAAmCC,8CAG9C,0BAA0B,CAAA,CAAA;EAE5B,SAAS,wBAAA,CACP,SACA,YACA,EAAA;EACA,EAAM,MAAA,GAAA,GAAM,KAAK,GAAI,EAAA,CAAA;EACrB,EAAA,MAAM,aAAa,OAAU,GAAA,IAAI,KAAK,OAAO,CAAA,CAAE,SAAY,GAAA,IAAA,CAAA;EAC3D,EAAO,OAAA,UAAA,IAAc,aAAa,GAAM,GAAA,YAAA,CAAA;EAC1C,CAAA;EAEA,MAAM,gCAAA,GAAmC,KAAK,EAAK,GAAA,GAAA,CAAA;EAE5C,MAAM,OAAO,MAAM;EACxB,EAAI,IAAA,QAAA,CAAA;EAEJ,EAAO,OAAA;EAAA,IACL,gBAAgB,YAAY;EAC1B,MAAM,MAAA,OAAA,GAAU,MAAMC,yCAAA,CAAmB,WAAY,EAAA,CAAA;EACrD,MAAM,MAAA,QAAA,GAAW,QAAQ,WAAY,EAAA,CAAA;EACrC,MAAM,MAAA,UAAA,GAAa,QAAQ,aAAc,EAAA,CAAA;EAEzC,MAAI,IAAA,CAAC,SAAS,eAAiB,EAAA;EAC7B,QAAM,MAAA,gCAAA;EAAA,UACJ,sBAAA;EAAA,SACF,CAAA;EAAA,OACF;EAEA,MAAA,IACE,CAAC,QACD,IAAA,wBAAA;EAAA,QACE,QAAS,CAAA,OAAA;EAAA,QACT,gCAAA;EAAA,OAEF,EAAA;EACA,QAAW,QAAA,GAAA,MAAM,WAAW,IAAK,CAAA,cAAA;EAAA,UAC/B,QAAS,CAAA,eAAA;EAAA,UACT,MAAM,UAAW,CAAA,IAAA,CAAK,aAAc,EAAA;EAAA,SACtC,CAAA;EAAA,OACF;EAEA,MAAI,IAAA,CAAC,UAAU,KAAO,EAAA;EACpB,QAAQ,OAAA,CAAA,KAAA;EAAA,UACN,gCAAA;EAAA,YACE,sBAAA;EAAA,WACF,CAAE,mBAAoB,CAAA,QAAA,CAAS,eAAe,CAAA;EAAA,SAChD,CAAA;EAEA,QAAO,OAAA;EAAA,UACL,OAAS,EAAA;EAAA,YACP,aAAe,EAAA,EAAA;EAAA,WACjB;EAAA,SACF,CAAA;EAAA,OACF;EAEA,MAAO,OAAA;EAAA,QACL,OAAS,EAAA;EAAA,UACP,eAAe,QAAS,CAAA,KAAA;EAAA,SAC1B;EAAA,OACF,CAAA;EAAA,KACF;EAAA,GACF,CAAA;EACF,CAAA;;ECnFO,MAAM,gBAEX,CAAA;EAAA,EACA,WAAA,CACU,WACA,gBACR,EAAA;EAFQ,IAAA,IAAA,CAAA,SAAA,GAAA,SAAA,CAAA;EACA,IAAA,IAAA,CAAA,gBAAA,GAAA,gBAAA,CAAA;EAAA,GACP;EAAA,EAEH,KAAQ,GAAA;EACN,IAAM,MAAA,QAAA,GAAW,IAAI,IAAA,CAAK,gBAAiB,EAAA,CAAA;EAE3C,IAAA,MAAM,UAAU,MAAO,CAAA,mBAAA;EAAA,MACrB,MAAA,CAAO,eAAe,QAAQ,CAAA;EAAA,KAC9B,CAAA,MAAA;EAAA,MACA,CAAC,IACC,KAAA,IAAA,KAAS,aACT,IAAA;EAAA,MAEE,QAAA,CAAS,IAAI,CACT,KAAA,UAAA;EAAA,KACV,CAAA;EAEA,IAAA,MAAM,GAAM,GAAA,OAAA,CAAQ,MAAO,CAAA,CAAC,KAAK,MAAW,KAAA;EAC1C,MAAO,OAAA;EAAA,QACL,GAAG,GAAA;EAAA,QACH,CAAC,MAAM,GAAG,CAAC,IAAoC,KAAA;EAC7C,UAAA,IAAI,MAAM,kBAAoB,EAAA;EAC5B,YAAA,MAAM,YAAY,QAAS,CAAA,sBAAA;EAAA,cACzB,IAAK,CAAA,kBAAA;EAAA,aACP,CAAA;EAEA,YAAA,OAAO,SAAU,CAAA,MAAM,CAAE,CAAA,IAAA,CAAK,SAAS,CAAA,CAAA;EAAA,WAClC,MAAA;EAEL,YAAA,OAAO,QAAS,CAAA,MAAM,CAAE,CAAA,IAAA,CAAK,QAAQ,CAAA,CAAA;EAAA,WACvC;EAAA,SACF;EAAA,OACF,CAAA;EAAA,KACF,EAAG,EAAE,CAAA,CAAA;EAGL,IAAA,OAAOC,6BAA6C,GAAG,CAAA,CAAA;EAAA,GACzD;EACF;;ECpDO,MAAM,YAAa,CAAA;EAAA;EAAA;EAAA;EAAA;EAAA,EAKxB,WAAA,CACU,6BAEG,IACX,EAAA;EAHQ,IAAA,IAAA,CAAA,0BAAA,GAAA,0BAAA,CAAA;EAAA,GAGP;EAAA,EAEO,qBAAwB,GAAA;EAChC,IAAA,OAAO,IAAK,CAAA,0BAAA,GACR,IAAK,CAAA,0BAAA,GACLD,0CAAmB,WAAY,EAAA,CAAA;EAAA,GACrC;EAAA,EAEA,MAAgB,qBAAwB,GAAA;EACtC,IAAA,OAAA,CAAQ,MAAM,IAAA,CAAK,qBAAsB,EAAA,EAAG,qBAAsB,EAAA,CAAA;EAAA,GACpE;EAAA,EAEA,MAAgB,qBAAwB,GAAA;EACtC,IAAA,OAAA,CAAQ,MAAM,IAAA,CAAK,qBAAsB,EAAA,EAAG,aAAc,EAAA,CAAA;EAAA,GAC5D;EAAA,EAEA,MAAgB,kBAAqB,GAAA;EACnC,IAAA,OAAA,CAAQ,MAAM,IAAA,CAAK,qBAAsB,EAAA,EAAG,WAAY,EAAA,CAAA;EAAA,GAC1D;EAAA,EAEO,uBACL,kBACA,EAAA;EAEA,IAAO,OAAA,IAAI,IAAK,CAAA,WAAA,CAAY,kBAAkB,CAAA,CAAA;EAAA,GAChD;EACF;;EClCO,MAAM,4BAA4B,YAAa,CAAA;EAAA,EACpD,MAAM,aAAmB,GAAA;EACvB,IAAA,OAAA,CAAQ,MAAM,IAAA,CAAK,qBAAsB,EAAA,EAAG,wBAAyB,EAAA,CAAA;EAAA,GACvE;EAAA,EAEA,MAAM,aAAgB,eAAyB,EAAA;EAC7C,IAAM,MAAA,UAAA,GAAa,MAAM,IAAA,CAAK,qBAAsB,EAAA,CAAA;EAEpD,IAAA,OAAO,WAAW,kBAAmB,CAAA,uBAAA;EAAA,MACnC,eAAA;EAAA,KACF,CAAA;EAAA,GACF;EAAA,EAEA,MAAM,cAAiB,GAAA;EACrB,IAAM,MAAA,UAAA,GAAa,MAAM,IAAA,CAAK,qBAAsB,EAAA,CAAA;EACpD,IAAM,MAAA,QAAA,GAAW,MAAM,IAAA,CAAK,kBAAmB,EAAA,CAAA;EAE/C,IAAA,OAAO,UAAW,CAAA,IAAA,CAAK,cAAe,CAAA,QAAA,CAAS,eAAe,CAAA,CAAA;EAAA,GAChE;EACF,CAAA;AAEA,gBAAe,IAAI,gBAAA,CAAiB,aAAe,EAAA,mBAAmB,EAAE,KAAM,EAAA;;ECnBvE,MAAM,uBAAuB,YAAa,CAAA;EAAA,EAC/C,MAAM,gBACJ,CAAA,IAAA,EAEA,EACA,EAAA;EACA,IAAQ,OAAA,CAAA,MAAM,KAAK,qBAAsB,EAAA,EACtC,WACA,CAAA,gBAAA,CAAiB,MAAM,EAAE,CAAA,CAAA;EAAA,GAC9B;EACF,CAAA;AAEA,gBAAe,IAAI,gBAAA,CAAiB,QAAU,EAAA,cAAc,EAAE,KAAM,EAAA;;ECZ7D,MAAM,yBAAyB,YAAa,CAAA;EAAA,EACjD,OAAU,GAAA,IAAI,cAAe,CAAA,IAAA,CAAK,uBAAuB,CAAA,CAAA;EAAA,EAEzD,MAAM,YAAe,GAAA;EACnB,IAAM,MAAA,UAAA,GAAa,MAAM,IAAA,CAAK,qBAAsB,EAAA,CAAA;EACpD,IAAA,MAAM,IAAO,GAAA,MAAM,UAAW,CAAA,UAAA,CAAW,qBAAsB,EAAA,CAAA;EAE/D,IAAA,OAAO,OAAQ,CAAA,GAAA;EAAA,MACb,IAAK,CAAA,GAAA;EAAA,QACH,CAAC,GAAA,KAAa,UAAW,CAAA,UAAA,CAAW,aAAa,GAAG,CAAA;EAAA,OACtD;EAAA,KACF,CAAA;EAAA,GACF;EAAA,EAEA,kBAAkB,EAAsC,EAAA;EACtD,IAAA,KAAK,KAAK,OAAQ,CAAA,gBAAA;EAAA,MAChB,2BAAA;EAAA,MACA,CAAC,OAAY,KAAA;EAEX,QAAA,EAAA,CAAG,QAAQ,UAAU,CAAA,CAAA;EAAA,OACvB;EAAA,KACF,CAAA;EAAA,GACF;EACF,CAAA;AAEA,gBAAe,IAAI,gBAAA,CAAiB,UAAY,EAAA,gBAAgB,EAAE,KAAM,EAAA;;EC3BjE,MAAM,qBAAqB,YAAa,CAAA;EAAA,EAC7C,MAAM,WAAc,GAAA;EAClB,IAAM,MAAA,UAAA,GAAa,MAAM,IAAA,CAAK,qBAAsB,EAAA,CAAA;EACpD,IAAO,OAAA,UAAA,CAAW,KAAK,WAAY,EAAA,CAAA;EAAA,GACrC;EAAA,EAEA,MAAM,eAAkB,GAAA;EACtB,IAAM,MAAA,UAAA,GAAa,MAAM,IAAA,CAAK,qBAAsB,EAAA,CAAA;EACpD,IAAO,OAAA,UAAA,CAAW,KAAK,eAAgB,EAAA,CAAA;EAAA,GACzC;EACF,CAAA;AAEA,gBAAe,IAAI,gBAAA,CAAiB,MAAQ,EAAA,YAAY,EAAE,KAAM,EAAA;;ECVpD,IAAA,oBAAA,qBAAAE,qBAAL,KAAA;EACL,EAAAA,sBAAA,kBAAmB,CAAA,GAAA,kBAAA,CAAA;EACnB,EAAAA,sBAAA,oBAAqB,CAAA,GAAA,oBAAA,CAAA;EAFX,EAAAA,OAAAA,qBAAAA,CAAAA;EAAA,CAAA,EAAA,oBAAA,IAAA,EAAA,CAAA,CAAA;EAKZ,MAAM,yBAAyBJ,oCAAgC,CAAA;EAAA,EAC7D,WAAA,CAAY,SAAiB,IAA4B,EAAA;EACvD,IAAM,KAAA,CAAA,OAAA,EAAS,MAAM,cAAc,CAAA,CAAA;EAAA,GACrC;EACF,CAAA;EAEa,MAAA,sBAAA,GAAyBC,8CAGpC,gBAAgB,CAAA;;ECJX,MAAM,oBAAuB,GAAA,WAAA,CAAA;EAE7B,SAAS,yBAAyB,KAAiB,EAAA;EACxD,EAAO,OAAA,KAAA,CAAM,IAAI,CAAC,IAAA,KAAS,gBAAgB,EAAE,IAAA,EAAM,CAAC,CAAA,CAAA;EACtD,CAAA;EAEO,SAAS,gBAAgB,eAAmC,EAAA;EACjE,EAAA,MAAM,IAAmB,GAAA;EAAA,IACvB,MAAQ,EAAA,KAAA,CAAA;EAAA,IACR,IAAM,EAAA,KAAA,CAAA;EAAA,GACR,CAAA;EAEA,EAAA,IAAI,iBAAiB,IAAM,EAAA;EACzB,IAAM,MAAA,EAAE,YAAc,EAAA,aAAA,EAAkB,GAAA,cAAA;EAAA,MACtC,eAAgB,CAAA,IAAA;EAAA,KAClB,CAAA;EACA,IAAA,IAAA,CAAK,eAAkB,GAAA,YAAA,CAAA;EACvB,IAAA,MAAM,KAAQ,GAAA,aAAA,CAAc,KAAM,CAAA,sBAAsB,KAAK,EAAC,CAAA;EAE9D,IAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,KAAA,CAAM,QAAQ,CAAK,EAAA,EAAA;EACrC,MAAM,MAAA,IAAA,GAAO,MAAM,CAAC,CAAA,CAAA;EAEpB,MAAA,QAAQ,IAAM;EAAA,QACZ,KAAK,MAAA;EACH,UAAA,IAAA,CAAK,IAAO,GAAA,IAAA,CAAA;EACZ,UAAA,MAAA;EAAA,QACF,KAAK,QAAA;EACH,UAAA,IAAA,CAAK,MAAS,GAAA,IAAA,CAAA;EACd,UAAA,MAAA;EAAA,QACF;EACE,UAAI,IAAA,IAAA,EAAM,QAAS,CAAA,IAAI,CAAG,EAAA;EACxB,YAAK,IAAA,CAAA,IAAA,GAAO,QAAS,CAAA,IAAA,EAAM,EAAE,CAAA,CAAA;EAAA,WACpB,MAAA,IAAA,CAAA,KAAM,KAAM,CAAA,MAAA,GAAS,CAAG,EAAA;EACjC,YAAA,IAAA,CAAK,MAAS,GAAA,IAAA,CAAA;EAAA,WACT,MAAA;EACL,YAAA,IAAA,CAAK,MAAU,GAAA,CAAA,IAAA,CAAK,MAAU,IAAA,EAAA,IAAM,GAAM,GAAA,IAAA,CAAA;EAAA,WAC5C;EAAA,OACJ;EAAA,KACF;EAAA,GACF;EACA,EAAA,IAAI,iBAAiB,cAAgB,EAAA;EACnC,IAAK,IAAA,CAAA,SAAA,GAAY,gBAAgB,cAAmB,KAAA,oBAAA,CAAA;EAAA,GACtD;EAEA,EAAA,IAAA,CAAK,SAAS,IAAK,CAAA,MAAA,EAAQ,MAAO,CAAA,OAAA,CAAQ,UAAU,EAAE,CAAA,CAAA;EAEtD,EAAO,OAAA,IAAA,CAAA;EACT,CAAA;EAEA,SAAS,eAAe,UAAoB,EAAA;EAC1C,EAAM,MAAA,WAAA,GAAc,WAAW,IAAK,EAAA,CAAA;EACpC,EAAM,MAAA,KAAA,GAAQ,WAAY,CAAA,KAAA,CAAM,2BAA2B,CAAA,CAAA;EAE3D,EAAA,IAAI,KAAO,EAAA;EACT,IAAO,OAAA;EAAA,MACL,YAAA,EAAc,MAAM,CAAC,CAAA;EAAA,MACrB,aAAe,EAAA,KAAA,CAAM,CAAC,CAAA,EAAG,MAAU,IAAA,EAAA;EAAA,KACrC,CAAA;EAAA,GACK,MAAA;EACL,IAAO,OAAA;EAAA,MACL,YAAc,EAAA,KAAA,CAAA;EAAA,MACd,aAAe,EAAA,WAAA;EAAA,KACjB,CAAA;EAAA,GACF;EACF;;EC1EO,MAAM,uBAAuB,YAAa,CAAA;EAAA,EAC/C,MAAM,wBAA2B,GAAA;EAC/B,IAAM,MAAA,UAAA,GAAa,MAAM,IAAA,CAAK,qBAAsB,EAAA,CAAA;EACpD,IAAA,MAAM,IAAO,GAAA,MAAM,UAAW,CAAA,UAAA,CAAW,qBAAsB,EAAA,CAAA;EAE/D,IAAM,MAAA,OAAA,GAAU,KAAK,CAAC,CAAA,CAAA;EAEtB,IAAA,IAAI,CAAC,OAAS,EAAA;EACZ,MAAM,MAAA,sBAAA,CAAuB,qBAAqB,gBAAgB,CAAA,CAAA;EAAA,KACpE;EAEA,IAAO,OAAA,OAAA,CAAA;EAAA,GACT;EAAA,EAEA,MAAM,QAAQ,QAAmC,EAAA;EAC/C,IAAM,MAAA,UAAA,GAAa,MAAM,IAAA,CAAK,qBAAsB,EAAA,CAAA;EACpD,IAAM,MAAA,OAAA,GAAU,MAAM,IAAA,CAAK,wBAAyB,EAAA,CAAA;EAEpD,IAAA,IAAI,MAAM,UAAA,CAAW,aAAc,CAAA,cAAA,CAAe,OAAO,CAAG,EAAA;EAC1D,MAAA,MAAM,KAAQ,GAAA,MAAM,UAAW,CAAA,aAAA,CAAc,SAAS,OAAO,CAAA,CAAA;EAC7D,MAAA,OAAO,QAAQ,QAAQ,CAAA,CAAA;EAAA,KAClB,MAAA;EACL,MAAA,OAAO,UAAW,CAAA,aAAA,CAAc,YAAa,CAAA,OAAA,EAAS,QAAQ,CAAA,CAAA;EAAA,KAChE;EAAA,GACF;EAAA,EAEA,MAAM,OAAQ,CAAA,QAAA,EAAkB,KAAe,EAAA;EAC7C,IAAM,MAAA,UAAA,GAAa,MAAM,IAAA,CAAK,qBAAsB,EAAA,CAAA;EACpD,IAAM,MAAA,OAAA,GAAU,MAAM,IAAA,CAAK,wBAAyB,EAAA,CAAA;EAEpD,IAAA,IAAI,MAAM,UAAA,CAAW,aAAc,CAAA,cAAA,CAAe,OAAO,CAAG,EAAA;EAC1D,MAAM,MAAA,UAAA,CAAW,aAAc,CAAA,QAAA,CAAS,OAAS,EAAA;EAAA,QAC/C,CAAC,QAAQ,GAAG,KAAA;EAAA,OACb,CAAA,CAAA;EAAA,KACI,MAAA;EACL,MAAA,MAAM,UAAW,CAAA,aAAA,CAAc,YAAa,CAAA,OAAA,EAAS,UAAU,KAAK,CAAA,CAAA;EAAA,KACtE;EAAA,GACF;EAAA,EAEA,MAAM,gBAAgB,KAAgC,EAAA;EACpD,IAAM,MAAA,UAAA,GAAa,MAAM,IAAA,CAAK,qBAAsB,EAAA,CAAA;EACpD,IAAM,MAAA,OAAA,GAAU,MAAM,IAAA,CAAK,wBAAyB,EAAA,CAAA;EAEpD,IAAA,IAAI,MAAM,UAAA,CAAW,aAAc,CAAA,cAAA,CAAe,OAAO,CAAG,EAAA;EAC1D,MAAM,MAAA,sBAAA;EAAA,QACJ,oBAAqB,CAAA,kBAAA;EAAA,QACrB,8CAAA;EAAA,OACF,CAAA;EAAA,KACF;EAEA,IAAM,MAAA,YAAA,GAAe,yBAAyB,KAAK,CAAA,CAAA;EAEnD,IAAA,MAAM,UAAW,CAAA,aAAA,CAAc,eAAgB,CAAA,OAAA,EAAS,YAAY,CAAA,CAAA;EAAA,GACtE;EACF,CAAA;EAEA,MAAM,WAAc,GAAA,IAAI,gBAAiB,CAAA,QAAA,EAAU,cAAc,CAAA,CAAA;AAEjE,gBAAe,YAAY,KAAM,EAAA;;EC9CjC,SAAS,eAAe,SAA+B,EAAA;EACrD,EAAO,OAAA,CAAA,EACL,UAAU,eAAkB,GAAA,CAAA,IAAA,EAAO,UAAU,eAAe,CAAA,EAAA,CAAA,GAAO,EACrE,CAAG,EAAA,SAAA,CAAU,SAAS,SAAY,GAAA,EAAE,GAAG,SAAU,CAAA,IAAA,GAAO,UAAU,EAAE,CAAA,EAAG,SAAU,CAAA,IAAA,IAAQ,EAAE,CAAA,GAAA;AAAA,EAEzF,SAAA,CAAU,MACN,EAAA,KAAA,CAAM,GAAG,CAAA,CACV,IAAI,CAAC,UAAA,KAAe,CAAI,CAAA,EAAA,UAAA,CAAW,OAAQ,CAAA,QAAA,EAAU,EAAE,CAAC,CAAA,CAAA,CAAG,CAC3D,CAAA,IAAA,CAAK,GAAG,CAAA,IAAK,OAClB,CAAG,EAAA,SAAA,CAAU,eAAkB,GAAA,GAAA,GAAM,EAAE,CAAA,CAAA,CAAA;EACzC,CAAA;EAEA,SAAS,iBACP,gBACoB,EAAA;EACpB,EAAA,IAAI,CAAC,gBAAkB,EAAA;EACrB,IAAO,OAAA,IAAA,CAAA;EAAA,GACT;EACA,EAAA,MAAM,WAAc,GAAA,gBAAA,CAAA;EACpB,EAAM,MAAA,KAAA,GAAQ,WAAY,CAAA,KAAA,CAAM,2BAA2B,CAAA,CAAA;EAE3D,EAAA,IAAI,KAAO,EAAA;EACT,IAAO,OAAA;EAAA,MACL,eAAA,EAAiB,MAAM,CAAC,CAAA;EAAA,MACxB,KAAA,EAAO,MAAM,CAAC,CAAA;EAAA,KAChB,CAAA;EAAA,GACK,MAAA;EACL,IAAO,OAAA;EAAA,MACL,KAAO,EAAA,WAAA;EAAA,KACT,CAAA;EAAA,GACF;EACF,CAAA;EAEA,SAAS,gBAAgB,UAAyC,EAAA;EAChE,EAAA,IAAI,CAAC,UAAY,EAAA;EACf,IAAO,OAAA,EAAA,CAAA;EAAA,GACT;EACA,EAAO,OAAA,UAAA,CAAW,kBACd,CAAO,IAAA,EAAA,UAAA,CAAW,eAAe,CAAK,EAAA,EAAA,UAAA,CAAW,KAAK,CAAA,CAAA,CAAA,GACtD,UAAW,CAAA,KAAA,CAAA;EACjB,CAAA;EAeA,MAAM,KAAQ,GAAA;EAAA,EACZ,0BAAA,EAA4B,CAAC,KAA2C,KAAA;EACtE,IAAA,IAAI,KAAO,EAAA;EACT,MAAM,MAAA,EAAE,OAAO,eAAiB,EAAA,IAAA,EAAM,QAAQ,SAAW,EAAA,GAAG,MAC1D,GAAA,KAAA,CAAA;EAEF,MAAO,OAAA;EAAA,QACL,GAAG,IAAA;EAAA,QACH,KAAO,EAAA;EAAA,UACL,IAAA;EAAA,UACA,MAAA;EAAA,UACA,SAAA;EAAA,SACF;EAAA,QACA,SAAA,EAAW,mBAAmB,KAAS,IAAA,EAAA;EAAA,OACzC,CAAA;EAAA,KACK,MAAA;EACL,MAAO,OAAA;EAAA,QACL,SAAW,EAAA,QAAA;EAAA,QACX,MAAQ,EAAA,qBAAA;EAAA,QACR,IAAM,EAAA,EAAA;EAAA,QACN,OAAO,EAAC;EAAA,OACV,CAAA;EAAA,KACF;EAAA,GACF;EACF,CAAA,CAAA;EAEO,MAAM,uBAAuB,YAAa,CAAA;EAAA,EAC/C,MAAM,WACJ,CAAA,KAAA,EACA,OAGA,EAAA;EACA,IAAM,MAAA,UAAA,GAAa,MAAM,IAAA,CAAK,qBAAsB,EAAA,CAAA;EAEpD,IAAI,IAAA,UAAA,GAAiC,iBAAiB,KAAK,CAAA,CAAA;EAC3D,IAAI,IAAA,WAAA,GAAc,gBAAgB,UAAU,CAAA,CAAA;EAE5C,IAAA,MAAM,WAAW,MAAO,CAAA,eAAA;EAAA,MACtB;EAAA,QACE,KACE,EAAA,UAAA,EAAY,eAAmB,IAAA,UAAA,EAAY,SAAS,UAAY,EAAA,KAAA;EAAA,OACpE;EAAA,MACA,CAAC;EAAA,QACC,KAAA;EAAA,QACA,KAAA;EAAA,QACA,gBAAA;EAAA,OAMI,KAAA;EACJ,QAAa,UAAA,GAAA;EAAA,UACX,KAAA;EAAA,UACA,KAAA;EAAA,UACA,eAAiB,EAAA,gBAAA;EAAA,SACnB,CAAA;EACA,QAAA,WAAA,GAAc,gBAAgB,UAAU,CAAA,CAAA;EACxC,QAAA,OAAA,EAAS,WAAW,WAAW,CAAA,CAAA;EAAA,OACjC;EAAA,KACF,CAAA;EAEA,IAAO,OAAA,WAAA,CAAA;EAAA,GACT;EAAA,EAEA,MAAM,UACJ,CAAA,KAAA,EACA,OAGA,EAAA;EACA,IAAM,MAAA,UAAA,GAAa,MAAM,IAAA,CAAK,qBAAsB,EAAA,CAAA;EACpD,IAAM,MAAA,SAAA,GAAY,gBAAgB,KAAK,CAAA,CAAA;EACvC,IAAA,IAAI,MAAS,GAAA,KAAA,CAAA;EAEb,IAAA,MAAM,WAAW,MAAO,CAAA,gBAAA;EAAA,MACtB;EAAA,QACE,GAAG,OAAA;EAAA,QACH,uBAAyB,EAAA;EAAA,UACvB,OAAS,EAAA,QAAA;EAAA,SACX;EAAA,QACA,cAAA,EAAgB,KAAM,CAAA,0BAAA,CAA2B,SAAS,CAAA;EAAA,OAC5D;EAAA,MACA,CAAC,MAAkB,aAAuB,KAAA;EACxC,QAAS,MAAA,GAAA;EAAA,UACP,IAAA,EAAM,eAAe,IAAI,CAAA;EAAA,UACzB,cAAA,EAAgB,IAAK,CAAA,SAAA,GAAY,oBAAuB,GAAA,KAAA,CAAA;EAAA,SAC1D,CAAA;EACA,QAAA,OAAA,EAAS,WAAW,MAAM,CAAA,CAAA;EAAA,OAC5B;EAAA,KACF,CAAA;EAEA,IAAO,OAAA,MAAA,CAAA;EAAA,GACT;EACF,CAAA;AAEA,gBAAe,IAAI,gBAAA,CAAiB,QAAU,EAAA,cAAc,EAAE,KAAM,EAAA;;EC/J7D,MAAM,+BAA+B,YAAa,CAAA;EAAA,EACvD,MAAM,OAAU,GAAA;EACd,IAAM,MAAA,UAAA,GAAa,MAAM,IAAA,CAAK,qBAAsB,EAAA,CAAA;EACpD,IAAO,OAAA,UAAA,CAAW,eAAe,OAAQ,EAAA,CAAA;EAAA,GAC3C;EAAA,EAEA,MAAM,QAAQ,OAAiB,EAAA;EAC7B,IAAM,MAAA,UAAA,GAAa,MAAM,IAAA,CAAK,qBAAsB,EAAA,CAAA;EAEpD,IAAO,OAAA,UAAA,CAAW,cAAe,CAAA,OAAA,CAAQ,OAAO,CAAA,CAAA;EAAA,GAClD;EAAA,EAEA,MAAM,QAAW,GAAA;EACf,IAAM,MAAA,UAAA,GAAa,MAAM,IAAA,CAAK,qBAAsB,EAAA,CAAA;EACpD,IAAO,OAAA,UAAA,CAAW,eAAe,QAAS,EAAA,CAAA;EAAA,GAC5C;EAAA,EAEA,MAAM,SAAS,QAA4B,EAAA;EACzC,IAAM,MAAA,UAAA,GAAa,MAAM,IAAA,CAAK,qBAAsB,EAAA,CAAA;EACpD,IAAO,OAAA,UAAA,CAAW,cAAe,CAAA,QAAA,CAAS,QAAQ,CAAA,CAAA;EAAA,GACpD;EAAA,EAEA,MAAM,QAAW,GAAA;EACf,IAAM,MAAA,UAAA,GAAa,MAAM,IAAA,CAAK,qBAAsB,EAAA,CAAA;EACpD,IAAO,OAAA,UAAA,CAAW,eAAe,QAAS,EAAA,CAAA;EAAA,GAC5C;EAAA,EAEA,MAAM,WAAc,GAAA;EAClB,IAAM,MAAA,UAAA,GAAa,MAAM,IAAA,CAAK,qBAAsB,EAAA,CAAA;EACpD,IAAO,OAAA,UAAA,CAAW,eAAe,WAAY,EAAA,CAAA;EAAA,GAC/C;EAAA,EAEA,MAAM,cAAc,OAAwC,EAAA;EAC1D,IAAM,MAAA,UAAA,GAAa,MAAM,IAAA,CAAK,qBAAsB,EAAA,CAAA;EACpD,IAAA,OAAO,UAAW,CAAA,cAAA,CAAe,UAAW,CAAA,GAAG,OAAO,CAAA,CAAA;EAAA,GACxD;EAAA,EAEA,MAAM,eAAe,OAA0C,EAAA;EAC7D,IAAA,OAAO,YAAY;EACjB,MAAM,MAAA,UAAA,GAAa,MAAM,IAAA,CAAK,qBAAsB,EAAA,CAAA;EACpD,MAAA,OAAO,UAAW,CAAA,cAAA,CAAe,WAAY,CAAA,GAAG,OAAO,CAAA,CAAA;EAAA,KACzD,CAAA;EAAA,GACF;EAAA,EAEA,MAAM,SAAU,CAAA,GAAA,EAAwB,MAA8B,EAAA;EACpE,IAAM,MAAA,UAAA,GAAa,MAAM,IAAA,CAAK,qBAAsB,EAAA,CAAA;EACpD,IAAA,OAAO,UAAW,CAAA,cAAA,CAAe,SAAU,CAAA,GAAA,EAAK,MAAM,CAAA,CAAA;EAAA,GACxD;EACF,CAAA;AAEA,cAAe,IAAI,gBAAA;EAAA,EACjB,gBAAA;EAAA,EACA,sBAAA;EACF,CAAA,CAAE,KAAM,EAAA;;EC5DD,MAAM,QAAQ,MAMhB;EACH,EAAA,MAAM,WAAc,GAAA,IAAI,eAAgB,CAAA,MAAA,CAAO,SAAS,MAAM,CAAA,CAAA;EAE9D,EAAO,OAAA;EAAA,IACL,aAAa,EAAC;EAAA,IACd,kBAAA,EAAoBC,0CAAmB,WAAY,EAAA;EAAA,IACnD,OAAS,EAAA;EAAA,MACP,cAAc,YAAY;EACxB,QAAA,OAAO,EAAE,UAAa,GAAA;EAAA,SAAG,EAAA,CAAA;EAAA,OAC3B;EAAA,KACF;EAAA,IACA,UAAY,EAAA,WAAA,CAAY,GAAI,CAAA,YAAY,CACpC,GAAA,IAAA,CAAK,KAAM,CAAA,WAAA,CAAY,GAAI,CAAA,YAAY,CAAE,CAAA,GACzC,EAAC;EAAA,GACP,CAAA;EACF,CAAA,CAAA;EAEO,MAAM,SAAS,MAEjB;EACH,EAAO,OAAA;EAAA,IACL,aAAa,EAAC;EAAA,IACd,kBAAA,EAAoBA,0CAAmB,WAAY,EAAA;EAAA,IACnD,OAAS,EAAA;EAAA,MACP,cAAc,YAAY;EACxB,QAAA,OAAO,EAAE,UAAa,GAAA;EAAA,SAAG,EAAA,CAAA;EAAA,OAC3B;EAAA,KACF;EAAA,GACF,CAAA;EACF,CAAA;;AC1BO,QAAM,MAAS,GAAA;EAAA,EACpB,MAAM,MAAM;EACV,IAAM,MAAA,QAAA,GAAW,OAAO,aAAkB,KAAA,UAAA,CAAA;EAE1C,IAAA,IAAI,QAAU,EAAA;EACZ,MAAA,OAAOG,MAAY,EAAA,CAAA;EAAA,KACrB;EAEA,IAAA,OAAOC,KAAW,EAAA,CAAA;EAAA,GACpB;EAAA,EACA,IAAA;EACF;;;;;;;;;;;;;;;"}
@@ -2,7 +2,7 @@ import * as _wix_editor_platform_contexts from '@wix/editor-platform-contexts';
2
2
  import { ApplicationContext, AppEventPayload, AllowedEvents } from '@wix/editor-platform-contexts';
3
3
  import * as _wix_sdk_types from '@wix/sdk-types';
4
4
  import * as _wix_editor_platform_transport from '@wix/editor-platform-transport';
5
- import { DsItem, Style, StyleRef, OpenLinkPanelFn, OpenColorPickerFn } from '@wix/public-editor-platform-interfaces';
5
+ import { IElement, DsItem, Style, StyleRef, OpenLinkPanelFn, OpenColorPickerFn } from '@wix/public-editor-platform-interfaces';
6
6
 
7
7
  declare class BaseSDKShape {
8
8
  private overrideApplicationContext;
@@ -25,10 +25,12 @@ declare class ApplicationSDKShape extends BaseSDKShape {
25
25
  }
26
26
  declare const _default$6: ApplicationSDKShape & _wix_sdk_types.HostModule<ApplicationSDKShape, _wix_sdk_types.Host>;
27
27
 
28
- declare class ComponentsSDKShape extends BaseSDKShape {
29
- getSelectedComponents(): Promise<any[]>;
28
+ declare class ElementsSDKShape extends BaseSDKShape {
29
+ #private;
30
+ getSelection(): Promise<IElement[]>;
31
+ onSelectionChange(cb: (components: IElement[]) => void): void;
30
32
  }
31
- declare const _default$5: ComponentsSDKShape & _wix_sdk_types.HostModule<ComponentsSDKShape, _wix_sdk_types.Host>;
33
+ declare const _default$5: ElementsSDKShape & _wix_sdk_types.HostModule<ElementsSDKShape, _wix_sdk_types.Host>;
32
34
 
33
35
  declare class EventsSDKShape extends BaseSDKShape {
34
36
  addEventListener(name: any, cb: (payload: AppEventPayload<AllowedEvents>) => void): Promise<() => void>;
@@ -45,6 +47,7 @@ declare class WidgetSDKShape extends BaseSDKShape {
45
47
  #private;
46
48
  getProp(propName: string): Promise<string>;
47
49
  setProp(propName: string, value: string): Promise<void>;
50
+ setPreloadFonts(fonts: string[]): Promise<void>;
48
51
  }
49
52
  declare const _default$2: WidgetSDKShape & _wix_sdk_types.HostModule<WidgetSDKShape, _wix_sdk_types.Host>;
50
53
 
@@ -52,10 +55,11 @@ interface FontPickerValue {
52
55
  font: string;
53
56
  textDecoration?: string;
54
57
  }
55
- type ColorPickerValue = string | null | undefined;
58
+
59
+ type IColorPickerValue = string | null | undefined;
56
60
  declare class InputsSDKShape extends BaseSDKShape {
57
- selectColor(value?: ColorPickerValue, options?: {
58
- onChange?: (value: ColorPickerValue) => void;
61
+ selectColor(value?: IColorPickerValue, options?: {
62
+ onChange?: (value: IColorPickerValue) => void;
59
63
  }): Promise<string>;
60
64
  selectFont(value?: FontPickerValue, options?: {
61
65
  onChange?: (value: FontPickerValue) => void;
@@ -89,4 +93,4 @@ declare const editor: {
89
93
  };
90
94
  };
91
95
 
92
- export { _default$6 as application, _default$5 as components, editor, _default$4 as events, _default as externalPanels, _default$3 as info, _default$1 as inputs, _default$2 as widget };
96
+ export { _default$6 as application, editor, _default$5 as elements, _default$4 as events, _default as externalPanels, _default$3 as info, _default$1 as inputs, _default$2 as widget };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/editor",
3
- "version": "1.344.0",
3
+ "version": "1.346.0",
4
4
  "license": "UNLICENSED",
5
5
  "author": {
6
6
  "name": "Editor Platform <editor-platform-dev@wix.com>",
@@ -30,10 +30,10 @@
30
30
  "*.{js,ts}": "yarn lint"
31
31
  },
32
32
  "dependencies": {
33
- "@wix/editor-platform-contexts": "1.12.0",
34
- "@wix/editor-platform-environment-api": "1.12.0",
33
+ "@wix/editor-platform-contexts": "1.20.0",
34
+ "@wix/editor-platform-environment-api": "1.20.0",
35
35
  "@wix/public-editor-platform-errors": "1.8.0",
36
- "@wix/public-editor-platform-interfaces": "1.17.0",
36
+ "@wix/public-editor-platform-interfaces": "1.18.0",
37
37
  "@wix/sdk-runtime": "^0.3.31",
38
38
  "@wix/sdk-types": "^1.13.2"
39
39
  },
@@ -59,5 +59,5 @@
59
59
  ]
60
60
  }
61
61
  },
62
- "falconPackageHash": "e44248504c7042cbac139cb9e6533f0e99ece2539e785ab7a7688c54"
62
+ "falconPackageHash": "16bf0bd7abf27e01acbd225400a98f9a7e64d2b8cdca1337373a0e12"
63
63
  }