@wix/editor 1.315.0 → 1.317.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
@@ -278,64 +278,6 @@ class ApplicationContext {
278
278
  }
279
279
  }
280
280
 
281
- const ACCESS_TOKEN_EXPIRY_GRACE_PERIOD = 30 * 60 * 1e3;
282
- class AuthService {
283
- #accessTokensCache = /* @__PURE__ */ new Map();
284
- #hasEnoughTimeUntilExpiry(expires, expiryBuffer) {
285
- const now = Date.now();
286
- const expiryTime = expires ? new Date(expires).getTime() : null;
287
- return expiryTime && expiryTime - now > expiryBuffer;
288
- }
289
- #url(path) {
290
- return `https://www.wix.com/_serverless/editor-platform-apps-authorization-service/${path}`;
291
- }
292
- async #post(path, params) {
293
- try {
294
- const res = await fetch(this.#url(path), {
295
- method: "POST",
296
- headers: {
297
- "Content-Type": "application/json"
298
- },
299
- body: JSON.stringify(params)
300
- });
301
- const data = await res.json();
302
- return data;
303
- } catch (e) {
304
- throw createAuthStrategyError(
305
- EditorPlatformSDKAuthErrorCode.TokenRequestFailed
306
- ).withAppDefinitionId(params.appDefinitionId);
307
- }
308
- }
309
- async #fetchAccessToken(params) {
310
- return this.#post("create-token", params);
311
- }
312
- async getAccessToken(appDefinitionId, metaSiteId) {
313
- const cacheKey = `${appDefinitionId}`;
314
- const originDomain = globalThis["location"]?.origin ?? "";
315
- const existingToken = this.#accessTokensCache.get(cacheKey);
316
- if (existingToken && this.#hasEnoughTimeUntilExpiry(
317
- existingToken.expires,
318
- ACCESS_TOKEN_EXPIRY_GRACE_PERIOD
319
- )) {
320
- return existingToken.token;
321
- } else {
322
- const newAccessToken = await this.#fetchAccessToken({
323
- appDefinitionId,
324
- metaSiteId,
325
- originDomain
326
- });
327
- this.#accessTokensCache.set(cacheKey, newAccessToken);
328
- return newAccessToken.token;
329
- }
330
- }
331
- }
332
-
333
- var EditorPlatformSDKAuthErrorCode = /* @__PURE__ */ ((EditorPlatformSDKAuthErrorCode2) => {
334
- EditorPlatformSDKAuthErrorCode2["EmptyAppAuthInstance"] = "EmptyAppAuthInstance";
335
- EditorPlatformSDKAuthErrorCode2["TokenRequestFailed"] = "TokenRequestFailed";
336
- EditorPlatformSDKAuthErrorCode2["EmptyAppDefinitionId"] = "EmptyAppDefinitionId";
337
- return EditorPlatformSDKAuthErrorCode2;
338
- })(EditorPlatformSDKAuthErrorCode || {});
339
281
  class EditorPlatformSDKAuthError extends publicEditorPlatformErrors.BaseError {
340
282
  state = {};
341
283
  constructor(message, code) {
@@ -346,16 +288,22 @@ class EditorPlatformSDKAuthError extends publicEditorPlatformErrors.BaseError {
346
288
  return this;
347
289
  }
348
290
  }
349
- const createAuthStrategyError = publicEditorPlatformErrors.createErrorBuilder(EditorPlatformSDKAuthError);
291
+ const createEditorPlatformSDKAuthError = publicEditorPlatformErrors.createErrorBuilder(EditorPlatformSDKAuthError);
292
+ function hasEnoughTimeUntilExpiry(expires, expiryBuffer) {
293
+ const now = Date.now();
294
+ const expiryTime = expires ? new Date(expires).getTime() : null;
295
+ return expiryTime && expiryTime - now > expiryBuffer;
296
+ }
297
+ const ACCESS_TOKEN_EXPIRY_GRACE_PERIOD = 30 * 60 * 1e3;
350
298
  const auth = () => {
351
- const authService = new AuthService();
299
+ let instance;
352
300
  return {
353
301
  getAuthHeaders: async () => {
354
302
  const context = await ApplicationContext.getInstance();
355
303
  const bindings = context.getBindings();
356
304
  const privateAPI = context.getPrivateAPI();
357
305
  if (!bindings.appDefinitionId) {
358
- throw createAuthStrategyError(
306
+ throw createEditorPlatformSDKAuthError(
359
307
  "EmptyAppDefinitionId" /* EmptyAppDefinitionId */
360
308
  );
361
309
  }
@@ -368,18 +316,23 @@ const auth = () => {
368
316
  supportNewAuth = false;
369
317
  }
370
318
  if (supportNewAuth) {
371
- const token = await authService.getAccessToken(
372
- bindings.appDefinitionId,
373
- await privateAPI.info.getMetaSiteId()
374
- );
375
- if (token === void 0) {
376
- throw createAuthStrategyError(
319
+ if (!instance || hasEnoughTimeUntilExpiry(
320
+ instance.expires,
321
+ ACCESS_TOKEN_EXPIRY_GRACE_PERIOD
322
+ )) {
323
+ instance = await privateAPI.auth.getAccessToken(
324
+ bindings.appDefinitionId,
325
+ await privateAPI.info.getMetaSiteId()
326
+ );
327
+ }
328
+ if (!instance?.token) {
329
+ throw createEditorPlatformSDKAuthError(
377
330
  "EmptyAppAuthInstance" /* EmptyAppAuthInstance */
378
331
  ).withAppDefinitionId(bindings.appDefinitionId);
379
332
  }
380
333
  return {
381
334
  headers: {
382
- Authorization: token
335
+ Authorization: instance.token
383
336
  }
384
337
  };
385
338
  } else {
@@ -387,7 +340,7 @@ const auth = () => {
387
340
  bindings.appDefinitionId
388
341
  );
389
342
  if (authInstance === void 0) {
390
- throw createAuthStrategyError(
343
+ throw createEditorPlatformSDKAuthError(
391
344
  "EmptyAppAuthInstance" /* EmptyAppAuthInstance */
392
345
  ).withAppDefinitionId(bindings.appDefinitionId);
393
346
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../editor-platform-application-context/dist/esm/index.js","../../src/AuthService.ts","../../src/auth.ts","../../src/env.ts","../../src/PlatformSDKShape.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/editorPlatformFrameHost.ts","../../src/editorPlatformWorkerHost.ts","../../src/index.ts"],"sourcesContent":["import { createErrorBuilder, BaseError } from '@wix/public-editor-platform-errors';\nimport { PlatformAppEvent } from '@wix/public-editor-platform-events';\n\nvar EditorPlatformApplicationContextErrorCode = /* @__PURE__ */ ((EditorPlatformApplicationContextErrorCode2) => {\n EditorPlatformApplicationContextErrorCode2[\"IncorrectEnvironment\"] = \"IncorrectEnvironment\";\n EditorPlatformApplicationContextErrorCode2[\"ClientAuthError\"] = \"ClientAuthError\";\n return EditorPlatformApplicationContextErrorCode2;\n})(EditorPlatformApplicationContextErrorCode || {});\nclass EditorPlatformApplicationContextError extends BaseError {\n state = {};\n constructor(message, code) {\n super(message, code, \"Editor Platform Application Context Error\");\n }\n withUrl(url) {\n this.state = { ...this.state, url };\n return this;\n }\n withAppDefinitionId(appDefinitionId) {\n this.state = { ...this.state, appDefinitionId };\n return this;\n }\n}\nconst createEditorPlatformApplicationContextError = createErrorBuilder(EditorPlatformApplicationContextError);\n\nasync function transformEventPayload(eventPayload, privateAPI) {\n if (!eventPayload?.type) {\n return eventPayload;\n }\n switch (eventPayload.type) {\n case \"componentSelectionChanged\":\n const componentRefs = eventPayload.componentRefs || [];\n const components = await Promise.all(\n componentRefs.map((ref) => {\n return privateAPI.components.getComponent(ref);\n })\n );\n return {\n type: eventPayload.type,\n components\n };\n default:\n return eventPayload;\n }\n}\n\nclass ApplicationBoundEvents {\n constructor(appDefinitionId, events, privateAPI) {\n this.appDefinitionId = appDefinitionId;\n this.privateAPI = privateAPI;\n this.events = events;\n this.subscribe = events.subscribe.bind(events);\n this.commit = events.commit.bind(events);\n this.startTransaction = events.startTransaction.bind(events);\n this.silent = events.silent.bind(events);\n }\n events;\n subscribe;\n commit;\n startTransaction;\n silent;\n notify(event) {\n this.events.notify({\n type: event.type,\n payload: event.payload,\n meta: {\n appDefinitionId: this.appDefinitionId\n }\n });\n }\n notifyCustomEvent(type, payload) {\n this.notify({\n type: PlatformAppEvent.CustomEvent,\n payload: {\n ...payload,\n type\n }\n });\n }\n /**\n * TODO: we should use same interface for all events\n * (subscribe vs addEventListener)\n */\n addEventListener(eventType, fn) {\n return this.events.subscribe(async (event) => {\n const isAppMatch = event.meta?.appDefinitionId === this.appDefinitionId || event.meta?.appDefinitionId === null;\n const transformPayload = () => transformEventPayload(event.payload, this.privateAPI);\n if (eventType === \"*\") {\n fn(await transformPayload());\n } else if (event.type === PlatformAppEvent.CustomEvent) {\n if (eventType === event.payload?.type && !isAppMatch) {\n fn(await transformPayload());\n }\n } else if (event.type === PlatformAppEvent.HostEvent) {\n if (eventType === event.payload?.type && isAppMatch) {\n fn(await transformPayload());\n }\n }\n });\n }\n}\n\nconst WAIT_INJECTED_TIMEOUT = 200;\nconst WAIT_INJECTED_RETRY_COUNT = 50;\nclass ContextInjectionStatus {\n _resolveContextInjected = () => {\n };\n _isInjected = false;\n key;\n constructor(uuid) {\n this.key = `__${uuid}_CONTEXT_INJECTION_STATUS_KEY`;\n if (!globalThis[this.key]) {\n globalThis[this.key] = new Promise((resolve) => {\n this._resolveContextInjected = () => {\n this._isInjected = true;\n resolve();\n };\n });\n }\n }\n isInjected() {\n return !!this._isInjected;\n }\n resolveInjected() {\n this._resolveContextInjected?.();\n }\n waitInjected() {\n return new Promise((resolve, reject) => {\n let injected = false;\n let timeoutId;\n let retryCount = 0;\n const timeout = () => {\n if (injected) {\n return;\n }\n timeoutId = setTimeout(() => {\n retryCount++;\n if (retryCount < WAIT_INJECTED_RETRY_COUNT) {\n if (retryCount % 10 === 0) {\n console.log(\n createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"contexts are not resolved, still re-trying\"\n ).withMessage(`try number ${retryCount}`).message\n );\n }\n timeout();\n return;\n }\n if (!injected) {\n const error = createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"contexts are not resolved, threw by timeout\"\n );\n reject(error);\n }\n }, WAIT_INJECTED_TIMEOUT);\n };\n timeout();\n const _waitContextInjectedPromise = globalThis[this.key];\n _waitContextInjectedPromise.then(() => {\n injected = true;\n clearTimeout(timeoutId);\n resolve();\n });\n });\n }\n}\n\nconst ENVIRONMENT_CONTEXT_KEY = \"__ENVIRONMENT_CONTEXT_KEY\";\nvar PlatformEnvironment = /* @__PURE__ */ ((PlatformEnvironment2) => {\n PlatformEnvironment2[\"Worker\"] = \"Worker\";\n PlatformEnvironment2[\"Frame\"] = \"Frame\";\n PlatformEnvironment2[\"ComponentPanel\"] = \"ComponentPanel\";\n return PlatformEnvironment2;\n})(PlatformEnvironment || {});\nclass EnvironmentContext {\n constructor(environmentContext) {\n this.environmentContext = environmentContext;\n }\n static status = new ContextInjectionStatus(\"environment\");\n static async inject(context) {\n if (globalThis[ENVIRONMENT_CONTEXT_KEY]) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Environment context already exists and should not be overridden\"\n );\n }\n globalThis[ENVIRONMENT_CONTEXT_KEY] = new EnvironmentContext(context);\n this.status.resolveInjected();\n }\n static async getInstance() {\n await this.status.waitInjected();\n return globalThis[ENVIRONMENT_CONTEXT_KEY];\n }\n getPrivateAPI() {\n return this.environmentContext.privateApi;\n }\n getEvents() {\n return this.environmentContext.events;\n }\n getApplicationAPIs() {\n return this.environmentContext.applicationAPIs ?? {};\n }\n getEnvironment() {\n return this.environmentContext.environment;\n }\n}\n\nconst APPLICATION_CONTEXT_KEY = \"__APPLICATION_CONTEXT_KEY\";\nclass ApplicationContext {\n constructor(applicationContext, environment) {\n this.applicationContext = applicationContext;\n this.environment = environment;\n this.events = new ApplicationBoundEvents(\n this.applicationContext.appDefinitionId,\n this.environment.getEvents(),\n this.environment.getPrivateAPI()\n );\n }\n static status = new ContextInjectionStatus(\"application\");\n /**\n * TODO: use generics for context type\n * - application\n * - editor\n */\n static async inject(context) {\n const environment = await EnvironmentContext.getInstance();\n if (environment.getEnvironment() !== PlatformEnvironment.Frame) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Application context can be injected only in frame environment\"\n );\n }\n if (globalThis[APPLICATION_CONTEXT_KEY]) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Application context already exists and should not be overridden\"\n );\n }\n globalThis[APPLICATION_CONTEXT_KEY] = new ApplicationContext(\n context,\n await EnvironmentContext.getInstance()\n );\n this.status.resolveInjected();\n }\n static async getInstance() {\n const environment = await EnvironmentContext.getInstance();\n if (environment.getEnvironment() === PlatformEnvironment.Frame) {\n await this.status.waitInjected();\n return globalThis[APPLICATION_CONTEXT_KEY];\n } else {\n return __APPLICATION_CONTEXT_KEY;\n }\n }\n events;\n getAppDefinitionId() {\n return this.applicationContext.appDefinitionId;\n }\n getBindings() {\n return this.applicationContext;\n }\n getEvents() {\n return this.events;\n }\n getPrivateAPI() {\n return this.environment.getPrivateAPI();\n }\n getPrivateApplicationAPI() {\n const appDefinitionId = this.getAppDefinitionId();\n if (!appDefinitionId) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"appDefinitionId is not available\"\n );\n }\n return this.environment.getApplicationAPIs()[appDefinitionId];\n }\n}\n\nconst auth = (appDefinitionId, privateAPI) => {\n return {\n getAuthHeaders: async () => {\n if (!appDefinitionId) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.ClientAuthError\n );\n }\n const authInstance = await privateAPI.info.getAppInstance(appDefinitionId);\n if (authInstance === void 0) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.ClientAuthError,\n \"empty auth instance\"\n ).withAppDefinitionId(appDefinitionId);\n }\n return {\n headers: {\n Authorization: authInstance\n }\n };\n }\n };\n};\n\nexport { APPLICATION_CONTEXT_KEY, ApplicationBoundEvents, ApplicationContext, ENVIRONMENT_CONTEXT_KEY, EnvironmentContext, PlatformEnvironment, auth };\n//# sourceMappingURL=index.js.map\n","import { AccessToken } from '@wix/public-editor-platform-interfaces';\nimport {\n createAuthStrategyError,\n EditorPlatformSDKAuthErrorCode,\n} from './auth';\n\nconst ACCESS_TOKEN_EXPIRY_GRACE_PERIOD = 30 * 60 * 1000; // half an hour\n\nexport class AuthService {\n #accessTokensCache: Map<string, AccessToken> = new Map();\n\n #hasEnoughTimeUntilExpiry(expires: Date | undefined, expiryBuffer: number) {\n const now = Date.now();\n const expiryTime = expires ? new Date(expires).getTime() : null;\n return expiryTime && expiryTime - now > expiryBuffer;\n }\n\n #url(path: string) {\n return `https://www.wix.com/_serverless/editor-platform-apps-authorization-service/${path}`;\n }\n\n async #post<TResponse = any>(path: string, params: Record<string, any>) {\n try {\n const res = await fetch(this.#url(path), {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(params),\n });\n\n const data: TResponse = await res.json();\n return data;\n } catch (e: any) {\n throw createAuthStrategyError(\n EditorPlatformSDKAuthErrorCode.TokenRequestFailed,\n ).withAppDefinitionId(params.appDefinitionId);\n }\n }\n\n async #fetchAccessToken(params: {\n appDefinitionId: string;\n metaSiteId: string;\n originDomain: string;\n }) {\n return this.#post<{ token: string }>('create-token', params);\n }\n\n async getAccessToken(\n appDefinitionId: string,\n metaSiteId: string,\n ): Promise<string> {\n const cacheKey = `${appDefinitionId}`;\n\n const originDomain = globalThis['location']?.origin ?? '';\n const existingToken = this.#accessTokensCache.get(cacheKey);\n\n if (\n existingToken &&\n this.#hasEnoughTimeUntilExpiry(\n existingToken.expires,\n ACCESS_TOKEN_EXPIRY_GRACE_PERIOD,\n )\n ) {\n return existingToken.token!;\n } else {\n const newAccessToken = await this.#fetchAccessToken({\n appDefinitionId,\n metaSiteId,\n originDomain,\n });\n\n this.#accessTokensCache.set(cacheKey, newAccessToken);\n\n return newAccessToken.token;\n }\n }\n}\n","import { ApplicationContext } from '@wix/editor-application-context';\nimport {\n BaseError,\n createErrorBuilder,\n} from '@wix/public-editor-platform-errors';\nimport { AuthService } from './AuthService';\n\nexport enum EditorPlatformSDKAuthErrorCode {\n EmptyAppAuthInstance = 'EmptyAppAuthInstance',\n TokenRequestFailed = 'TokenRequestFailed',\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 createAuthStrategyError = createErrorBuilder<\n EditorPlatformSDKAuthErrorCode,\n EditorPlatformSDKAuthError\n>(EditorPlatformSDKAuthError);\n\nexport const auth = () => {\n const authService = new AuthService();\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 createAuthStrategyError(\n EditorPlatformSDKAuthErrorCode.EmptyAppDefinitionId,\n );\n }\n\n /**\n * temporary try/catch\n */\n let supportNewAuth: boolean;\n\n try {\n supportNewAuth = await privateAPI.experiments.enabled(\n 'platform2.0_sdk_auth',\n );\n } catch (e) {\n supportNewAuth = false;\n }\n\n if (supportNewAuth) {\n const token = await authService.getAccessToken(\n bindings.appDefinitionId,\n await privateAPI.info.getMetaSiteId(),\n );\n\n if (token === undefined) {\n throw createAuthStrategyError(\n EditorPlatformSDKAuthErrorCode.EmptyAppAuthInstance,\n ).withAppDefinitionId(bindings.appDefinitionId);\n }\n\n return {\n headers: {\n Authorization: token,\n },\n };\n } else {\n const authInstance = await privateAPI.info.getAppInstance(\n bindings.appDefinitionId,\n );\n\n if (authInstance === undefined) {\n throw createAuthStrategyError(\n EditorPlatformSDKAuthErrorCode.EmptyAppAuthInstance,\n ).withAppDefinitionId(bindings.appDefinitionId);\n }\n\n return {\n headers: {\n Authorization: authInstance,\n },\n };\n }\n },\n };\n};\n","import {\n IFrameConsumerChannel,\n WorkerConsumerChannel,\n} from '@wix/editor-platform-transport';\nimport { PlatformFrameAPI } from '@wix/editor-application/platform-frame-api';\nimport { PlatformWorkerAPI } from '@wix/editor-application/platform-worker-api';\n\ndeclare global {\n // eslint-disable-next-line no-var\n var _EP_TRANSPORT_INIT_KEY: boolean;\n}\n\nconst INIT_KEY = '_EP_TRANSPORT_INIT_KEY';\n\n/**\n * small workaround to run init only for a one time\n */\nif (!globalThis[INIT_KEY]) {\n const isWorker = typeof importScripts === 'function';\n\n /**\n * TODO: probably we can try to split this code somehow\n * and load the only API according to the current env.\n */\n if (isWorker) {\n const channel = new WorkerConsumerChannel();\n channel.expose(new PlatformWorkerAPI());\n } else {\n const channel = new IFrameConsumerChannel();\n channel.expose(new PlatformFrameAPI());\n }\n\n globalThis[INIT_KEY] = true;\n}\n","import './env';\n\nimport { createHostModule, HostModule } from '@wix/sdk-runtime/host-modules';\nimport { Host } from '@wix/sdk-types';\nimport {\n ApplicationContext,\n EnvironmentContext,\n IAddonContext,\n IEditorApplicationContext,\n} from '@wix/editor-application-context';\n\ninterface IHostContexts {\n environmentContext: EnvironmentContext;\n applicationContext: ApplicationContext<\n IEditorApplicationContext | IAddonContext\n >;\n}\n\ntype UnwrapShape<T> = {\n [K in keyof T]: T[K] extends (contexts: IHostContexts) => infer R ? R : never;\n};\n\nexport class PlatformSDKShape<\n TShape extends Record<\n string,\n (contexts: IHostContexts) => (...args: any[]) => any\n >,\n> {\n constructor(\n public namespace: string,\n private shape: TShape,\n ) {\n // Object.assign(this.shape, {\n // [Symbol(`platform-sdk-shape-namespace`)]: this.namespace,\n // });\n }\n\n build() {\n return createHostModule<Host, TShape>(\n Object.fromEntries(\n Object.entries(this.shape).map(([key, value]) => [\n key,\n (host: IHostContexts) => {\n /**\n * this is case when shapes are used as a host modules,\n * meaning without calling the createClient, and use one from the context\n */\n if (host?.environmentContext && host?.applicationContext) {\n return async (...args: any) => {\n const [environmentContext, applicationContext] =\n await Promise.all([\n host.environmentContext,\n host.applicationContext,\n ]);\n\n return value({\n environmentContext,\n applicationContext,\n })(...args);\n };\n }\n\n /**\n * the fallback to platform's contexts\n * if for some reason they are not available at the host.\n * for instance:\n * - `createClient` is not created or created with a wrong configuration\n */\n return async (...args: any) => {\n const [environmentContext, applicationContext] =\n await Promise.all([\n EnvironmentContext.getInstance(),\n ApplicationContext.getInstance(),\n ]);\n\n return value({\n environmentContext,\n applicationContext,\n })(...args);\n };\n },\n ]),\n ) as unknown as { [K in keyof TShape]: () => TShape[K] },\n ) as UnwrapShape<TShape> & HostModule<UnwrapShape<TShape>, Host>;\n }\n}\n","import { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst applicationShape = new PlatformSDKShape('application', {\n getPrivateAPI({ applicationContext }) {\n return async <TApplicationPrivateAPI = any>() => {\n return applicationContext.getPrivateApplicationAPI() as TApplicationPrivateAPI;\n };\n },\n\n getPublicAPI({ applicationContext }) {\n return async <TApplicationPrivateAPI>(appDefinitionId: string) => {\n const privateAPI = applicationContext.getPrivateAPI();\n\n return privateAPI.applicationManager.getPublicApplicationAPI(\n appDefinitionId,\n ) as TApplicationPrivateAPI;\n };\n },\n\n getAppInstance({ applicationContext }) {\n return async () => {\n const privateAPI = applicationContext.getPrivateAPI();\n const bindings = applicationContext.getBindings();\n\n return privateAPI.info.getAppInstance(bindings.appDefinitionId);\n };\n },\n});\n\nexport default applicationShape.build();\n","import { IComponent } from '@wix/editor-application-context';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst componentsShape = new PlatformSDKShape('components', {\n getSelectedComponents({ applicationContext }) {\n return async (): Promise<IComponent[]> => {\n const privateAPI = applicationContext.getPrivateAPI();\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});\n\nexport default componentsShape.build();\n","import {\n AppEventPayload,\n AllowedEvents,\n} from '@wix/editor-application-context';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst eventsShape = new PlatformSDKShape('events', {\n addEventListener({ applicationContext }) {\n return async (\n name: any,\n // TODO: fix types\n cb: (payload: AppEventPayload<AllowedEvents>) => void,\n ) => {\n return applicationContext.getEvents().addEventListener(name, cb);\n };\n },\n});\n\nexport default eventsShape.build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst infoShape = new PlatformSDKShape('info', {\n getViewMode({ applicationContext }) {\n return async () => {\n const privateAPI = applicationContext.getPrivateAPI();\n return privateAPI.info.getViewMode();\n };\n },\n\n getLanguageCode({ applicationContext }) {\n return async () => {\n const privateAPI = applicationContext.getPrivateAPI();\n return privateAPI.info.getLanguageCode();\n };\n },\n});\n\nexport default infoShape.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 components from '../components';\nimport { createWidgetShapeError, WidgetShapeErrorCode } from './errors';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst getSelectedComponentRef = async () => {\n const selected = await components.getSelectedComponents();\n const compRef = selected[0]?.compRef;\n\n if (!compRef) {\n throw createWidgetShapeError(WidgetShapeErrorCode.UndefinedCompRef);\n }\n\n return compRef;\n};\n\nconst widgetShape = new PlatformSDKShape('widget', {\n getProp({ applicationContext }) {\n return async (propName: string): Promise<string> => {\n const privateAPI = applicationContext.getPrivateAPI();\n const compRef = await getSelectedComponentRef();\n\n return privateAPI.customElement.getAttribute(compRef, propName);\n };\n },\n setProp({ applicationContext }) {\n return async (propName: string, value: string): Promise<void> => {\n const privateAPI = applicationContext.getPrivateAPI();\n const compRef = await getSelectedComponentRef();\n\n await privateAPI.customElement.setAttribute(compRef, propName, value);\n };\n },\n});\n\nexport default widgetShape.build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\n\ninterface IColorValue {\n color: string;\n theme?: string;\n}\n\ninterface IFontValue {\n family?: string;\n style?: {\n bold?: boolean;\n italic?: boolean;\n underline?: boolean;\n };\n size?: number;\n theme?: string;\n}\n\ntype IFontValueInternal = IFontValue & {\n editorKey?: string;\n preset?: string;\n};\n\nconst fonts = {\n transformFontInternalValue: (value?: IFontValue): IFontValueInternal => {\n if (value) {\n const { theme, ...rest } = fonts.normalize(value);\n\n return {\n ...rest,\n editorKey: 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 transformFontPublicValue: (\n value?: IFontValue & IFontValueInternal,\n ): IFontValue | null => {\n if (!value) {\n return null;\n }\n\n return {\n ...fonts.normalize(value),\n theme: value.editorKey,\n };\n },\n\n normalize: ({\n theme,\n editorKey,\n preset,\n ...rest\n }: IFontValueInternal): IFontValue => {\n return {\n ...rest,\n theme: theme ?? editorKey,\n };\n },\n};\n\nconst inputsShape = new PlatformSDKShape('inputs', {\n selectColor({ applicationContext }) {\n return async (\n value?: Partial<IColorValue>,\n onColorChange?: (value: IColorValue) => void,\n ): Promise<IColorValue | null> => {\n const privateAPI = applicationContext.getPrivateAPI() as any;\n\n let _value: IColorValue | null = value\n ? ({\n color: value.color,\n theme: value?.theme,\n } as IColorValue)\n : null;\n\n await privateAPI.inputs.openColorPicker(\n {\n color: value?.theme ? value.theme : value?.color,\n },\n ({\n color,\n theme,\n }: {\n color: string;\n theme: string;\n isHover: boolean;\n }) => {\n const _color = { color, theme };\n\n _value = _color;\n onColorChange?.(_color);\n },\n );\n\n return _value;\n };\n },\n\n selectFont({ applicationContext }) {\n return async (\n value?: IFontValue,\n options?: {\n title?: string;\n panelSectionsDefinition?: Partial<{\n theme: 'hidden' | 'enabled';\n font: 'hidden' | 'enabled';\n size: 'hidden' | 'enabled';\n style: 'hidden' | 'enabled';\n htmlTag: 'hidden' | 'enabled';\n }>;\n fontMaxSize?: number;\n fontMinSize?: number;\n },\n onFontChange?: (value: IFontValue) => void,\n ): Promise<IFontValue | null> => {\n const privateAPI = applicationContext.getPrivateAPI() as any;\n\n let _value = fonts.transformFontPublicValue(value) as IFontValue;\n\n const applyChanges = (...changes: (string | number)[]) => {\n if (!_value) {\n _value = fonts.transformFontPublicValue(\n fonts.transformFontInternalValue(value),\n ) as IFontValue;\n }\n\n switch (changes[0]) {\n case 'theme':\n Object.assign(_value, {\n theme: changes[1],\n });\n\n break;\n\n case 'size':\n Object.assign(_value, {\n size: changes[1],\n });\n\n break;\n\n case 'bold':\n Object.assign(_value, {\n style: {\n ..._value.style,\n bold: changes[1],\n },\n });\n\n break;\n\n case 'italic':\n Object.assign(_value, {\n style: {\n ..._value.style,\n italic: changes[1],\n },\n });\n\n break;\n\n case 'underline':\n Object.assign(_value, {\n style: {\n ..._value.style,\n underline: changes[1],\n },\n });\n\n break;\n\n case 'family':\n Object.assign(_value, {\n family: changes[1],\n });\n\n break;\n }\n };\n\n await privateAPI.inputs.openFontPicker(\n {\n ...options,\n componentStyle: fonts.transformFontInternalValue(value),\n },\n (...changes: (string | number)[]) => {\n applyChanges(...changes);\n onFontChange?.(_value!);\n },\n );\n\n return _value;\n };\n },\n});\n\nexport default inputsShape.build();\n","import type { WixSDKTypes } from '@wix/public-editor-platform-interfaces';\nimport {\n ApplicationContext,\n EnvironmentContext,\n} from '@wix/editor-application-context';\n\nexport const editorPlatformFrameHost = (): WixSDKTypes.Host & {\n environmentContext: Promise<EnvironmentContext>;\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 channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n environmentContext: EnvironmentContext.getInstance(),\n applicationContext: ApplicationContext.getInstance(),\n essentials: queryParams.has('essentials')\n ? JSON.parse(queryParams.get('essentials')!)\n : {},\n };\n};\n","import type { WixSDKTypes } from '@wix/public-editor-platform-interfaces';\nimport {\n ApplicationContext,\n EnvironmentContext,\n} from '@wix/editor-application-context';\n\nexport const editorPlatformWorkerHost = (): WixSDKTypes.Host & {\n environmentContext: Promise<EnvironmentContext>;\n applicationContext: Promise<ApplicationContext<any>>;\n} => {\n return {\n environment: {},\n channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n environmentContext: EnvironmentContext.getInstance(),\n applicationContext: ApplicationContext.getInstance(),\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';\n\nimport { editorPlatformFrameHost } from './editorPlatformFrameHost';\nimport { editorPlatformWorkerHost } from './editorPlatformWorkerHost';\n\nexport const editor = {\n host: () => {\n const isWorker = typeof importScripts === 'function';\n\n if (isWorker) {\n return editorPlatformWorkerHost();\n }\n\n return editorPlatformFrameHost();\n },\n auth,\n};\n"],"names":["BaseError","createErrorBuilder","PlatformAppEvent","EditorPlatformSDKAuthErrorCode","WorkerConsumerChannel","PlatformWorkerAPI","IFrameConsumerChannel","PlatformFrameAPI","createHostModule","WidgetShapeErrorCode"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../editor-platform-application-context/dist/esm/index.js","../../src/auth.ts","../../src/env.ts","../../src/PlatformSDKShape.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/editorPlatformFrameHost.ts","../../src/editorPlatformWorkerHost.ts","../../src/index.ts"],"sourcesContent":["import { createErrorBuilder, BaseError } from '@wix/public-editor-platform-errors';\nimport { PlatformAppEvent } from '@wix/public-editor-platform-events';\n\nvar EditorPlatformApplicationContextErrorCode = /* @__PURE__ */ ((EditorPlatformApplicationContextErrorCode2) => {\n EditorPlatformApplicationContextErrorCode2[\"IncorrectEnvironment\"] = \"IncorrectEnvironment\";\n EditorPlatformApplicationContextErrorCode2[\"ClientAuthError\"] = \"ClientAuthError\";\n return EditorPlatformApplicationContextErrorCode2;\n})(EditorPlatformApplicationContextErrorCode || {});\nclass EditorPlatformApplicationContextError extends BaseError {\n state = {};\n constructor(message, code) {\n super(message, code, \"Editor Platform Application Context Error\");\n }\n withUrl(url) {\n this.state = { ...this.state, url };\n return this;\n }\n withAppDefinitionId(appDefinitionId) {\n this.state = { ...this.state, appDefinitionId };\n return this;\n }\n}\nconst createEditorPlatformApplicationContextError = createErrorBuilder(EditorPlatformApplicationContextError);\n\nasync function transformEventPayload(eventPayload, privateAPI) {\n if (!eventPayload?.type) {\n return eventPayload;\n }\n switch (eventPayload.type) {\n case \"componentSelectionChanged\":\n const componentRefs = eventPayload.componentRefs || [];\n const components = await Promise.all(\n componentRefs.map((ref) => {\n return privateAPI.components.getComponent(ref);\n })\n );\n return {\n type: eventPayload.type,\n components\n };\n default:\n return eventPayload;\n }\n}\n\nclass ApplicationBoundEvents {\n constructor(appDefinitionId, events, privateAPI) {\n this.appDefinitionId = appDefinitionId;\n this.privateAPI = privateAPI;\n this.events = events;\n this.subscribe = events.subscribe.bind(events);\n this.commit = events.commit.bind(events);\n this.startTransaction = events.startTransaction.bind(events);\n this.silent = events.silent.bind(events);\n }\n events;\n subscribe;\n commit;\n startTransaction;\n silent;\n notify(event) {\n this.events.notify({\n type: event.type,\n payload: event.payload,\n meta: {\n appDefinitionId: this.appDefinitionId\n }\n });\n }\n notifyCustomEvent(type, payload) {\n this.notify({\n type: PlatformAppEvent.CustomEvent,\n payload: {\n ...payload,\n type\n }\n });\n }\n /**\n * TODO: we should use same interface for all events\n * (subscribe vs addEventListener)\n */\n addEventListener(eventType, fn) {\n return this.events.subscribe(async (event) => {\n const isAppMatch = event.meta?.appDefinitionId === this.appDefinitionId || event.meta?.appDefinitionId === null;\n const transformPayload = () => transformEventPayload(event.payload, this.privateAPI);\n if (eventType === \"*\") {\n fn(await transformPayload());\n } else if (event.type === PlatformAppEvent.CustomEvent) {\n if (eventType === event.payload?.type && !isAppMatch) {\n fn(await transformPayload());\n }\n } else if (event.type === PlatformAppEvent.HostEvent) {\n if (eventType === event.payload?.type && isAppMatch) {\n fn(await transformPayload());\n }\n }\n });\n }\n}\n\nconst WAIT_INJECTED_TIMEOUT = 200;\nconst WAIT_INJECTED_RETRY_COUNT = 50;\nclass ContextInjectionStatus {\n _resolveContextInjected = () => {\n };\n _isInjected = false;\n key;\n constructor(uuid) {\n this.key = `__${uuid}_CONTEXT_INJECTION_STATUS_KEY`;\n if (!globalThis[this.key]) {\n globalThis[this.key] = new Promise((resolve) => {\n this._resolveContextInjected = () => {\n this._isInjected = true;\n resolve();\n };\n });\n }\n }\n isInjected() {\n return !!this._isInjected;\n }\n resolveInjected() {\n this._resolveContextInjected?.();\n }\n waitInjected() {\n return new Promise((resolve, reject) => {\n let injected = false;\n let timeoutId;\n let retryCount = 0;\n const timeout = () => {\n if (injected) {\n return;\n }\n timeoutId = setTimeout(() => {\n retryCount++;\n if (retryCount < WAIT_INJECTED_RETRY_COUNT) {\n if (retryCount % 10 === 0) {\n console.log(\n createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"contexts are not resolved, still re-trying\"\n ).withMessage(`try number ${retryCount}`).message\n );\n }\n timeout();\n return;\n }\n if (!injected) {\n const error = createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"contexts are not resolved, threw by timeout\"\n );\n reject(error);\n }\n }, WAIT_INJECTED_TIMEOUT);\n };\n timeout();\n const _waitContextInjectedPromise = globalThis[this.key];\n _waitContextInjectedPromise.then(() => {\n injected = true;\n clearTimeout(timeoutId);\n resolve();\n });\n });\n }\n}\n\nconst ENVIRONMENT_CONTEXT_KEY = \"__ENVIRONMENT_CONTEXT_KEY\";\nvar PlatformEnvironment = /* @__PURE__ */ ((PlatformEnvironment2) => {\n PlatformEnvironment2[\"Worker\"] = \"Worker\";\n PlatformEnvironment2[\"Frame\"] = \"Frame\";\n PlatformEnvironment2[\"ComponentPanel\"] = \"ComponentPanel\";\n return PlatformEnvironment2;\n})(PlatformEnvironment || {});\nclass EnvironmentContext {\n constructor(environmentContext) {\n this.environmentContext = environmentContext;\n }\n static status = new ContextInjectionStatus(\"environment\");\n static async inject(context) {\n if (globalThis[ENVIRONMENT_CONTEXT_KEY]) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Environment context already exists and should not be overridden\"\n );\n }\n globalThis[ENVIRONMENT_CONTEXT_KEY] = new EnvironmentContext(context);\n this.status.resolveInjected();\n }\n static async getInstance() {\n await this.status.waitInjected();\n return globalThis[ENVIRONMENT_CONTEXT_KEY];\n }\n getPrivateAPI() {\n return this.environmentContext.privateApi;\n }\n getEvents() {\n return this.environmentContext.events;\n }\n getApplicationAPIs() {\n return this.environmentContext.applicationAPIs ?? {};\n }\n getEnvironment() {\n return this.environmentContext.environment;\n }\n}\n\nconst APPLICATION_CONTEXT_KEY = \"__APPLICATION_CONTEXT_KEY\";\nclass ApplicationContext {\n constructor(applicationContext, environment) {\n this.applicationContext = applicationContext;\n this.environment = environment;\n this.events = new ApplicationBoundEvents(\n this.applicationContext.appDefinitionId,\n this.environment.getEvents(),\n this.environment.getPrivateAPI()\n );\n }\n static status = new ContextInjectionStatus(\"application\");\n /**\n * TODO: use generics for context type\n * - application\n * - editor\n */\n static async inject(context) {\n const environment = await EnvironmentContext.getInstance();\n if (environment.getEnvironment() !== PlatformEnvironment.Frame) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Application context can be injected only in frame environment\"\n );\n }\n if (globalThis[APPLICATION_CONTEXT_KEY]) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Application context already exists and should not be overridden\"\n );\n }\n globalThis[APPLICATION_CONTEXT_KEY] = new ApplicationContext(\n context,\n await EnvironmentContext.getInstance()\n );\n this.status.resolveInjected();\n }\n static async getInstance() {\n const environment = await EnvironmentContext.getInstance();\n if (environment.getEnvironment() === PlatformEnvironment.Frame) {\n await this.status.waitInjected();\n return globalThis[APPLICATION_CONTEXT_KEY];\n } else {\n return __APPLICATION_CONTEXT_KEY;\n }\n }\n events;\n getAppDefinitionId() {\n return this.applicationContext.appDefinitionId;\n }\n getBindings() {\n return this.applicationContext;\n }\n getEvents() {\n return this.events;\n }\n getPrivateAPI() {\n return this.environment.getPrivateAPI();\n }\n getPrivateApplicationAPI() {\n const appDefinitionId = this.getAppDefinitionId();\n if (!appDefinitionId) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"appDefinitionId is not available\"\n );\n }\n return this.environment.getApplicationAPIs()[appDefinitionId];\n }\n}\n\nconst auth = (appDefinitionId, privateAPI) => {\n return {\n getAuthHeaders: async () => {\n if (!appDefinitionId) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.ClientAuthError\n );\n }\n const authInstance = await privateAPI.info.getAppInstance(appDefinitionId);\n if (authInstance === void 0) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.ClientAuthError,\n \"empty auth instance\"\n ).withAppDefinitionId(appDefinitionId);\n }\n return {\n headers: {\n Authorization: authInstance\n }\n };\n }\n };\n};\n\nexport { APPLICATION_CONTEXT_KEY, ApplicationBoundEvents, ApplicationContext, ENVIRONMENT_CONTEXT_KEY, EnvironmentContext, PlatformEnvironment, auth };\n//# sourceMappingURL=index.js.map\n","import { ApplicationContext } from '@wix/editor-application-context';\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 /**\n * temporary try/catch\n */\n let supportNewAuth: boolean;\n\n try {\n supportNewAuth = await privateAPI.experiments.enabled(\n 'platform2.0_sdk_auth',\n );\n } catch (e) {\n supportNewAuth = false;\n }\n\n if (supportNewAuth) {\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 throw createEditorPlatformSDKAuthError(\n EditorPlatformSDKAuthErrorCode.EmptyAppAuthInstance,\n ).withAppDefinitionId(bindings.appDefinitionId);\n }\n\n return {\n headers: {\n Authorization: instance.token,\n },\n };\n } else {\n const authInstance = await privateAPI.info.getAppInstance(\n bindings.appDefinitionId,\n );\n\n if (authInstance === undefined) {\n throw createEditorPlatformSDKAuthError(\n EditorPlatformSDKAuthErrorCode.EmptyAppAuthInstance,\n ).withAppDefinitionId(bindings.appDefinitionId);\n }\n\n return {\n headers: {\n Authorization: authInstance,\n },\n };\n }\n },\n };\n};\n","import {\n IFrameConsumerChannel,\n WorkerConsumerChannel,\n} from '@wix/editor-platform-transport';\nimport { PlatformFrameAPI } from '@wix/editor-application/platform-frame-api';\nimport { PlatformWorkerAPI } from '@wix/editor-application/platform-worker-api';\n\ndeclare global {\n // eslint-disable-next-line no-var\n var _EP_TRANSPORT_INIT_KEY: boolean;\n}\n\nconst INIT_KEY = '_EP_TRANSPORT_INIT_KEY';\n\n/**\n * small workaround to run init only for a one time\n */\nif (!globalThis[INIT_KEY]) {\n const isWorker = typeof importScripts === 'function';\n\n /**\n * TODO: probably we can try to split this code somehow\n * and load the only API according to the current env.\n */\n if (isWorker) {\n const channel = new WorkerConsumerChannel();\n channel.expose(new PlatformWorkerAPI());\n } else {\n const channel = new IFrameConsumerChannel();\n channel.expose(new PlatformFrameAPI());\n }\n\n globalThis[INIT_KEY] = true;\n}\n","import './env';\n\nimport { createHostModule, HostModule } from '@wix/sdk-runtime/host-modules';\nimport { Host } from '@wix/sdk-types';\nimport {\n ApplicationContext,\n EnvironmentContext,\n IAddonContext,\n IEditorApplicationContext,\n} from '@wix/editor-application-context';\n\ninterface IHostContexts {\n environmentContext: EnvironmentContext;\n applicationContext: ApplicationContext<\n IEditorApplicationContext | IAddonContext\n >;\n}\n\ntype UnwrapShape<T> = {\n [K in keyof T]: T[K] extends (contexts: IHostContexts) => infer R ? R : never;\n};\n\nexport class PlatformSDKShape<\n TShape extends Record<\n string,\n (contexts: IHostContexts) => (...args: any[]) => any\n >,\n> {\n constructor(\n public namespace: string,\n private shape: TShape,\n ) {\n // Object.assign(this.shape, {\n // [Symbol(`platform-sdk-shape-namespace`)]: this.namespace,\n // });\n }\n\n build() {\n return createHostModule<Host, TShape>(\n Object.fromEntries(\n Object.entries(this.shape).map(([key, value]) => [\n key,\n (host: IHostContexts) => {\n /**\n * this is case when shapes are used as a host modules,\n * meaning without calling the createClient, and use one from the context\n */\n if (host?.environmentContext && host?.applicationContext) {\n return async (...args: any) => {\n const [environmentContext, applicationContext] =\n await Promise.all([\n host.environmentContext,\n host.applicationContext,\n ]);\n\n return value({\n environmentContext,\n applicationContext,\n })(...args);\n };\n }\n\n /**\n * the fallback to platform's contexts\n * if for some reason they are not available at the host.\n * for instance:\n * - `createClient` is not created or created with a wrong configuration\n */\n return async (...args: any) => {\n const [environmentContext, applicationContext] =\n await Promise.all([\n EnvironmentContext.getInstance(),\n ApplicationContext.getInstance(),\n ]);\n\n return value({\n environmentContext,\n applicationContext,\n })(...args);\n };\n },\n ]),\n ) as unknown as { [K in keyof TShape]: () => TShape[K] },\n ) as UnwrapShape<TShape> & HostModule<UnwrapShape<TShape>, Host>;\n }\n}\n","import { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst applicationShape = new PlatformSDKShape('application', {\n getPrivateAPI({ applicationContext }) {\n return async <TApplicationPrivateAPI = any>() => {\n return applicationContext.getPrivateApplicationAPI() as TApplicationPrivateAPI;\n };\n },\n\n getPublicAPI({ applicationContext }) {\n return async <TApplicationPrivateAPI>(appDefinitionId: string) => {\n const privateAPI = applicationContext.getPrivateAPI();\n\n return privateAPI.applicationManager.getPublicApplicationAPI(\n appDefinitionId,\n ) as TApplicationPrivateAPI;\n };\n },\n\n getAppInstance({ applicationContext }) {\n return async () => {\n const privateAPI = applicationContext.getPrivateAPI();\n const bindings = applicationContext.getBindings();\n\n return privateAPI.info.getAppInstance(bindings.appDefinitionId);\n };\n },\n});\n\nexport default applicationShape.build();\n","import { IComponent } from '@wix/editor-application-context';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst componentsShape = new PlatformSDKShape('components', {\n getSelectedComponents({ applicationContext }) {\n return async (): Promise<IComponent[]> => {\n const privateAPI = applicationContext.getPrivateAPI();\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});\n\nexport default componentsShape.build();\n","import {\n AppEventPayload,\n AllowedEvents,\n} from '@wix/editor-application-context';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst eventsShape = new PlatformSDKShape('events', {\n addEventListener({ applicationContext }) {\n return async (\n name: any,\n // TODO: fix types\n cb: (payload: AppEventPayload<AllowedEvents>) => void,\n ) => {\n return applicationContext.getEvents().addEventListener(name, cb);\n };\n },\n});\n\nexport default eventsShape.build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst infoShape = new PlatformSDKShape('info', {\n getViewMode({ applicationContext }) {\n return async () => {\n const privateAPI = applicationContext.getPrivateAPI();\n return privateAPI.info.getViewMode();\n };\n },\n\n getLanguageCode({ applicationContext }) {\n return async () => {\n const privateAPI = applicationContext.getPrivateAPI();\n return privateAPI.info.getLanguageCode();\n };\n },\n});\n\nexport default infoShape.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 components from '../components';\nimport { createWidgetShapeError, WidgetShapeErrorCode } from './errors';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst getSelectedComponentRef = async () => {\n const selected = await components.getSelectedComponents();\n const compRef = selected[0]?.compRef;\n\n if (!compRef) {\n throw createWidgetShapeError(WidgetShapeErrorCode.UndefinedCompRef);\n }\n\n return compRef;\n};\n\nconst widgetShape = new PlatformSDKShape('widget', {\n getProp({ applicationContext }) {\n return async (propName: string): Promise<string> => {\n const privateAPI = applicationContext.getPrivateAPI();\n const compRef = await getSelectedComponentRef();\n\n return privateAPI.customElement.getAttribute(compRef, propName);\n };\n },\n setProp({ applicationContext }) {\n return async (propName: string, value: string): Promise<void> => {\n const privateAPI = applicationContext.getPrivateAPI();\n const compRef = await getSelectedComponentRef();\n\n await privateAPI.customElement.setAttribute(compRef, propName, value);\n };\n },\n});\n\nexport default widgetShape.build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\n\ninterface IColorValue {\n color: string;\n theme?: string;\n}\n\ninterface IFontValue {\n family?: string;\n style?: {\n bold?: boolean;\n italic?: boolean;\n underline?: boolean;\n };\n size?: number;\n theme?: string;\n}\n\ntype IFontValueInternal = IFontValue & {\n editorKey?: string;\n preset?: string;\n};\n\nconst fonts = {\n transformFontInternalValue: (value?: IFontValue): IFontValueInternal => {\n if (value) {\n const { theme, ...rest } = fonts.normalize(value);\n\n return {\n ...rest,\n editorKey: 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 transformFontPublicValue: (\n value?: IFontValue & IFontValueInternal,\n ): IFontValue | null => {\n if (!value) {\n return null;\n }\n\n return {\n ...fonts.normalize(value),\n theme: value.editorKey,\n };\n },\n\n normalize: ({\n theme,\n editorKey,\n preset,\n ...rest\n }: IFontValueInternal): IFontValue => {\n return {\n ...rest,\n theme: theme ?? editorKey,\n };\n },\n};\n\nconst inputsShape = new PlatformSDKShape('inputs', {\n selectColor({ applicationContext }) {\n return async (\n value?: Partial<IColorValue>,\n onColorChange?: (value: IColorValue) => void,\n ): Promise<IColorValue | null> => {\n const privateAPI = applicationContext.getPrivateAPI() as any;\n\n let _value: IColorValue | null = value\n ? ({\n color: value.color,\n theme: value?.theme,\n } as IColorValue)\n : null;\n\n await privateAPI.inputs.openColorPicker(\n {\n color: value?.theme ? value.theme : value?.color,\n },\n ({\n color,\n theme,\n }: {\n color: string;\n theme: string;\n isHover: boolean;\n }) => {\n const _color = { color, theme };\n\n _value = _color;\n onColorChange?.(_color);\n },\n );\n\n return _value;\n };\n },\n\n selectFont({ applicationContext }) {\n return async (\n value?: IFontValue,\n options?: {\n title?: string;\n panelSectionsDefinition?: Partial<{\n theme: 'hidden' | 'enabled';\n font: 'hidden' | 'enabled';\n size: 'hidden' | 'enabled';\n style: 'hidden' | 'enabled';\n htmlTag: 'hidden' | 'enabled';\n }>;\n fontMaxSize?: number;\n fontMinSize?: number;\n },\n onFontChange?: (value: IFontValue) => void,\n ): Promise<IFontValue | null> => {\n const privateAPI = applicationContext.getPrivateAPI() as any;\n\n let _value = fonts.transformFontPublicValue(value) as IFontValue;\n\n const applyChanges = (...changes: (string | number)[]) => {\n if (!_value) {\n _value = fonts.transformFontPublicValue(\n fonts.transformFontInternalValue(value),\n ) as IFontValue;\n }\n\n switch (changes[0]) {\n case 'theme':\n Object.assign(_value, {\n theme: changes[1],\n });\n\n break;\n\n case 'size':\n Object.assign(_value, {\n size: changes[1],\n });\n\n break;\n\n case 'bold':\n Object.assign(_value, {\n style: {\n ..._value.style,\n bold: changes[1],\n },\n });\n\n break;\n\n case 'italic':\n Object.assign(_value, {\n style: {\n ..._value.style,\n italic: changes[1],\n },\n });\n\n break;\n\n case 'underline':\n Object.assign(_value, {\n style: {\n ..._value.style,\n underline: changes[1],\n },\n });\n\n break;\n\n case 'family':\n Object.assign(_value, {\n family: changes[1],\n });\n\n break;\n }\n };\n\n await privateAPI.inputs.openFontPicker(\n {\n ...options,\n componentStyle: fonts.transformFontInternalValue(value),\n },\n (...changes: (string | number)[]) => {\n applyChanges(...changes);\n onFontChange?.(_value!);\n },\n );\n\n return _value;\n };\n },\n});\n\nexport default inputsShape.build();\n","import type { WixSDKTypes } from '@wix/public-editor-platform-interfaces';\nimport {\n ApplicationContext,\n EnvironmentContext,\n} from '@wix/editor-application-context';\n\nexport const editorPlatformFrameHost = (): WixSDKTypes.Host & {\n environmentContext: Promise<EnvironmentContext>;\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 channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n environmentContext: EnvironmentContext.getInstance(),\n applicationContext: ApplicationContext.getInstance(),\n essentials: queryParams.has('essentials')\n ? JSON.parse(queryParams.get('essentials')!)\n : {},\n };\n};\n","import type { WixSDKTypes } from '@wix/public-editor-platform-interfaces';\nimport {\n ApplicationContext,\n EnvironmentContext,\n} from '@wix/editor-application-context';\n\nexport const editorPlatformWorkerHost = (): WixSDKTypes.Host & {\n environmentContext: Promise<EnvironmentContext>;\n applicationContext: Promise<ApplicationContext<any>>;\n} => {\n return {\n environment: {},\n channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n environmentContext: EnvironmentContext.getInstance(),\n applicationContext: ApplicationContext.getInstance(),\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';\n\nimport { editorPlatformFrameHost } from './editorPlatformFrameHost';\nimport { editorPlatformWorkerHost } from './editorPlatformWorkerHost';\n\nexport const editor = {\n host: () => {\n const isWorker = typeof importScripts === 'function';\n\n if (isWorker) {\n return editorPlatformWorkerHost();\n }\n\n return editorPlatformFrameHost();\n },\n auth,\n};\n"],"names":["BaseError","createErrorBuilder","PlatformAppEvent","WorkerConsumerChannel","PlatformWorkerAPI","IFrameConsumerChannel","PlatformFrameAPI","createHostModule","WidgetShapeErrorCode"],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -276,64 +276,6 @@ class ApplicationContext {
276
276
  }
277
277
  }
278
278
 
279
- const ACCESS_TOKEN_EXPIRY_GRACE_PERIOD = 30 * 60 * 1e3;
280
- class AuthService {
281
- #accessTokensCache = /* @__PURE__ */ new Map();
282
- #hasEnoughTimeUntilExpiry(expires, expiryBuffer) {
283
- const now = Date.now();
284
- const expiryTime = expires ? new Date(expires).getTime() : null;
285
- return expiryTime && expiryTime - now > expiryBuffer;
286
- }
287
- #url(path) {
288
- return `https://www.wix.com/_serverless/editor-platform-apps-authorization-service/${path}`;
289
- }
290
- async #post(path, params) {
291
- try {
292
- const res = await fetch(this.#url(path), {
293
- method: "POST",
294
- headers: {
295
- "Content-Type": "application/json"
296
- },
297
- body: JSON.stringify(params)
298
- });
299
- const data = await res.json();
300
- return data;
301
- } catch (e) {
302
- throw createAuthStrategyError(
303
- EditorPlatformSDKAuthErrorCode.TokenRequestFailed
304
- ).withAppDefinitionId(params.appDefinitionId);
305
- }
306
- }
307
- async #fetchAccessToken(params) {
308
- return this.#post("create-token", params);
309
- }
310
- async getAccessToken(appDefinitionId, metaSiteId) {
311
- const cacheKey = `${appDefinitionId}`;
312
- const originDomain = globalThis["location"]?.origin ?? "";
313
- const existingToken = this.#accessTokensCache.get(cacheKey);
314
- if (existingToken && this.#hasEnoughTimeUntilExpiry(
315
- existingToken.expires,
316
- ACCESS_TOKEN_EXPIRY_GRACE_PERIOD
317
- )) {
318
- return existingToken.token;
319
- } else {
320
- const newAccessToken = await this.#fetchAccessToken({
321
- appDefinitionId,
322
- metaSiteId,
323
- originDomain
324
- });
325
- this.#accessTokensCache.set(cacheKey, newAccessToken);
326
- return newAccessToken.token;
327
- }
328
- }
329
- }
330
-
331
- var EditorPlatformSDKAuthErrorCode = /* @__PURE__ */ ((EditorPlatformSDKAuthErrorCode2) => {
332
- EditorPlatformSDKAuthErrorCode2["EmptyAppAuthInstance"] = "EmptyAppAuthInstance";
333
- EditorPlatformSDKAuthErrorCode2["TokenRequestFailed"] = "TokenRequestFailed";
334
- EditorPlatformSDKAuthErrorCode2["EmptyAppDefinitionId"] = "EmptyAppDefinitionId";
335
- return EditorPlatformSDKAuthErrorCode2;
336
- })(EditorPlatformSDKAuthErrorCode || {});
337
279
  class EditorPlatformSDKAuthError extends BaseError {
338
280
  state = {};
339
281
  constructor(message, code) {
@@ -344,16 +286,22 @@ class EditorPlatformSDKAuthError extends BaseError {
344
286
  return this;
345
287
  }
346
288
  }
347
- const createAuthStrategyError = createErrorBuilder(EditorPlatformSDKAuthError);
289
+ const createEditorPlatformSDKAuthError = createErrorBuilder(EditorPlatformSDKAuthError);
290
+ function hasEnoughTimeUntilExpiry(expires, expiryBuffer) {
291
+ const now = Date.now();
292
+ const expiryTime = expires ? new Date(expires).getTime() : null;
293
+ return expiryTime && expiryTime - now > expiryBuffer;
294
+ }
295
+ const ACCESS_TOKEN_EXPIRY_GRACE_PERIOD = 30 * 60 * 1e3;
348
296
  const auth = () => {
349
- const authService = new AuthService();
297
+ let instance;
350
298
  return {
351
299
  getAuthHeaders: async () => {
352
300
  const context = await ApplicationContext.getInstance();
353
301
  const bindings = context.getBindings();
354
302
  const privateAPI = context.getPrivateAPI();
355
303
  if (!bindings.appDefinitionId) {
356
- throw createAuthStrategyError(
304
+ throw createEditorPlatformSDKAuthError(
357
305
  "EmptyAppDefinitionId" /* EmptyAppDefinitionId */
358
306
  );
359
307
  }
@@ -366,18 +314,23 @@ const auth = () => {
366
314
  supportNewAuth = false;
367
315
  }
368
316
  if (supportNewAuth) {
369
- const token = await authService.getAccessToken(
370
- bindings.appDefinitionId,
371
- await privateAPI.info.getMetaSiteId()
372
- );
373
- if (token === void 0) {
374
- throw createAuthStrategyError(
317
+ if (!instance || hasEnoughTimeUntilExpiry(
318
+ instance.expires,
319
+ ACCESS_TOKEN_EXPIRY_GRACE_PERIOD
320
+ )) {
321
+ instance = await privateAPI.auth.getAccessToken(
322
+ bindings.appDefinitionId,
323
+ await privateAPI.info.getMetaSiteId()
324
+ );
325
+ }
326
+ if (!instance?.token) {
327
+ throw createEditorPlatformSDKAuthError(
375
328
  "EmptyAppAuthInstance" /* EmptyAppAuthInstance */
376
329
  ).withAppDefinitionId(bindings.appDefinitionId);
377
330
  }
378
331
  return {
379
332
  headers: {
380
- Authorization: token
333
+ Authorization: instance.token
381
334
  }
382
335
  };
383
336
  } else {
@@ -385,7 +338,7 @@ const auth = () => {
385
338
  bindings.appDefinitionId
386
339
  );
387
340
  if (authInstance === void 0) {
388
- throw createAuthStrategyError(
341
+ throw createEditorPlatformSDKAuthError(
389
342
  "EmptyAppAuthInstance" /* EmptyAppAuthInstance */
390
343
  ).withAppDefinitionId(bindings.appDefinitionId);
391
344
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../editor-platform-application-context/dist/esm/index.js","../../src/AuthService.ts","../../src/auth.ts","../../src/env.ts","../../src/PlatformSDKShape.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/editorPlatformFrameHost.ts","../../src/editorPlatformWorkerHost.ts","../../src/index.ts"],"sourcesContent":["import { createErrorBuilder, BaseError } from '@wix/public-editor-platform-errors';\nimport { PlatformAppEvent } from '@wix/public-editor-platform-events';\n\nvar EditorPlatformApplicationContextErrorCode = /* @__PURE__ */ ((EditorPlatformApplicationContextErrorCode2) => {\n EditorPlatformApplicationContextErrorCode2[\"IncorrectEnvironment\"] = \"IncorrectEnvironment\";\n EditorPlatformApplicationContextErrorCode2[\"ClientAuthError\"] = \"ClientAuthError\";\n return EditorPlatformApplicationContextErrorCode2;\n})(EditorPlatformApplicationContextErrorCode || {});\nclass EditorPlatformApplicationContextError extends BaseError {\n state = {};\n constructor(message, code) {\n super(message, code, \"Editor Platform Application Context Error\");\n }\n withUrl(url) {\n this.state = { ...this.state, url };\n return this;\n }\n withAppDefinitionId(appDefinitionId) {\n this.state = { ...this.state, appDefinitionId };\n return this;\n }\n}\nconst createEditorPlatformApplicationContextError = createErrorBuilder(EditorPlatformApplicationContextError);\n\nasync function transformEventPayload(eventPayload, privateAPI) {\n if (!eventPayload?.type) {\n return eventPayload;\n }\n switch (eventPayload.type) {\n case \"componentSelectionChanged\":\n const componentRefs = eventPayload.componentRefs || [];\n const components = await Promise.all(\n componentRefs.map((ref) => {\n return privateAPI.components.getComponent(ref);\n })\n );\n return {\n type: eventPayload.type,\n components\n };\n default:\n return eventPayload;\n }\n}\n\nclass ApplicationBoundEvents {\n constructor(appDefinitionId, events, privateAPI) {\n this.appDefinitionId = appDefinitionId;\n this.privateAPI = privateAPI;\n this.events = events;\n this.subscribe = events.subscribe.bind(events);\n this.commit = events.commit.bind(events);\n this.startTransaction = events.startTransaction.bind(events);\n this.silent = events.silent.bind(events);\n }\n events;\n subscribe;\n commit;\n startTransaction;\n silent;\n notify(event) {\n this.events.notify({\n type: event.type,\n payload: event.payload,\n meta: {\n appDefinitionId: this.appDefinitionId\n }\n });\n }\n notifyCustomEvent(type, payload) {\n this.notify({\n type: PlatformAppEvent.CustomEvent,\n payload: {\n ...payload,\n type\n }\n });\n }\n /**\n * TODO: we should use same interface for all events\n * (subscribe vs addEventListener)\n */\n addEventListener(eventType, fn) {\n return this.events.subscribe(async (event) => {\n const isAppMatch = event.meta?.appDefinitionId === this.appDefinitionId || event.meta?.appDefinitionId === null;\n const transformPayload = () => transformEventPayload(event.payload, this.privateAPI);\n if (eventType === \"*\") {\n fn(await transformPayload());\n } else if (event.type === PlatformAppEvent.CustomEvent) {\n if (eventType === event.payload?.type && !isAppMatch) {\n fn(await transformPayload());\n }\n } else if (event.type === PlatformAppEvent.HostEvent) {\n if (eventType === event.payload?.type && isAppMatch) {\n fn(await transformPayload());\n }\n }\n });\n }\n}\n\nconst WAIT_INJECTED_TIMEOUT = 200;\nconst WAIT_INJECTED_RETRY_COUNT = 50;\nclass ContextInjectionStatus {\n _resolveContextInjected = () => {\n };\n _isInjected = false;\n key;\n constructor(uuid) {\n this.key = `__${uuid}_CONTEXT_INJECTION_STATUS_KEY`;\n if (!globalThis[this.key]) {\n globalThis[this.key] = new Promise((resolve) => {\n this._resolveContextInjected = () => {\n this._isInjected = true;\n resolve();\n };\n });\n }\n }\n isInjected() {\n return !!this._isInjected;\n }\n resolveInjected() {\n this._resolveContextInjected?.();\n }\n waitInjected() {\n return new Promise((resolve, reject) => {\n let injected = false;\n let timeoutId;\n let retryCount = 0;\n const timeout = () => {\n if (injected) {\n return;\n }\n timeoutId = setTimeout(() => {\n retryCount++;\n if (retryCount < WAIT_INJECTED_RETRY_COUNT) {\n if (retryCount % 10 === 0) {\n console.log(\n createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"contexts are not resolved, still re-trying\"\n ).withMessage(`try number ${retryCount}`).message\n );\n }\n timeout();\n return;\n }\n if (!injected) {\n const error = createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"contexts are not resolved, threw by timeout\"\n );\n reject(error);\n }\n }, WAIT_INJECTED_TIMEOUT);\n };\n timeout();\n const _waitContextInjectedPromise = globalThis[this.key];\n _waitContextInjectedPromise.then(() => {\n injected = true;\n clearTimeout(timeoutId);\n resolve();\n });\n });\n }\n}\n\nconst ENVIRONMENT_CONTEXT_KEY = \"__ENVIRONMENT_CONTEXT_KEY\";\nvar PlatformEnvironment = /* @__PURE__ */ ((PlatformEnvironment2) => {\n PlatformEnvironment2[\"Worker\"] = \"Worker\";\n PlatformEnvironment2[\"Frame\"] = \"Frame\";\n PlatformEnvironment2[\"ComponentPanel\"] = \"ComponentPanel\";\n return PlatformEnvironment2;\n})(PlatformEnvironment || {});\nclass EnvironmentContext {\n constructor(environmentContext) {\n this.environmentContext = environmentContext;\n }\n static status = new ContextInjectionStatus(\"environment\");\n static async inject(context) {\n if (globalThis[ENVIRONMENT_CONTEXT_KEY]) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Environment context already exists and should not be overridden\"\n );\n }\n globalThis[ENVIRONMENT_CONTEXT_KEY] = new EnvironmentContext(context);\n this.status.resolveInjected();\n }\n static async getInstance() {\n await this.status.waitInjected();\n return globalThis[ENVIRONMENT_CONTEXT_KEY];\n }\n getPrivateAPI() {\n return this.environmentContext.privateApi;\n }\n getEvents() {\n return this.environmentContext.events;\n }\n getApplicationAPIs() {\n return this.environmentContext.applicationAPIs ?? {};\n }\n getEnvironment() {\n return this.environmentContext.environment;\n }\n}\n\nconst APPLICATION_CONTEXT_KEY = \"__APPLICATION_CONTEXT_KEY\";\nclass ApplicationContext {\n constructor(applicationContext, environment) {\n this.applicationContext = applicationContext;\n this.environment = environment;\n this.events = new ApplicationBoundEvents(\n this.applicationContext.appDefinitionId,\n this.environment.getEvents(),\n this.environment.getPrivateAPI()\n );\n }\n static status = new ContextInjectionStatus(\"application\");\n /**\n * TODO: use generics for context type\n * - application\n * - editor\n */\n static async inject(context) {\n const environment = await EnvironmentContext.getInstance();\n if (environment.getEnvironment() !== PlatformEnvironment.Frame) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Application context can be injected only in frame environment\"\n );\n }\n if (globalThis[APPLICATION_CONTEXT_KEY]) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Application context already exists and should not be overridden\"\n );\n }\n globalThis[APPLICATION_CONTEXT_KEY] = new ApplicationContext(\n context,\n await EnvironmentContext.getInstance()\n );\n this.status.resolveInjected();\n }\n static async getInstance() {\n const environment = await EnvironmentContext.getInstance();\n if (environment.getEnvironment() === PlatformEnvironment.Frame) {\n await this.status.waitInjected();\n return globalThis[APPLICATION_CONTEXT_KEY];\n } else {\n return __APPLICATION_CONTEXT_KEY;\n }\n }\n events;\n getAppDefinitionId() {\n return this.applicationContext.appDefinitionId;\n }\n getBindings() {\n return this.applicationContext;\n }\n getEvents() {\n return this.events;\n }\n getPrivateAPI() {\n return this.environment.getPrivateAPI();\n }\n getPrivateApplicationAPI() {\n const appDefinitionId = this.getAppDefinitionId();\n if (!appDefinitionId) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"appDefinitionId is not available\"\n );\n }\n return this.environment.getApplicationAPIs()[appDefinitionId];\n }\n}\n\nconst auth = (appDefinitionId, privateAPI) => {\n return {\n getAuthHeaders: async () => {\n if (!appDefinitionId) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.ClientAuthError\n );\n }\n const authInstance = await privateAPI.info.getAppInstance(appDefinitionId);\n if (authInstance === void 0) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.ClientAuthError,\n \"empty auth instance\"\n ).withAppDefinitionId(appDefinitionId);\n }\n return {\n headers: {\n Authorization: authInstance\n }\n };\n }\n };\n};\n\nexport { APPLICATION_CONTEXT_KEY, ApplicationBoundEvents, ApplicationContext, ENVIRONMENT_CONTEXT_KEY, EnvironmentContext, PlatformEnvironment, auth };\n//# sourceMappingURL=index.js.map\n","import { AccessToken } from '@wix/public-editor-platform-interfaces';\nimport {\n createAuthStrategyError,\n EditorPlatformSDKAuthErrorCode,\n} from './auth';\n\nconst ACCESS_TOKEN_EXPIRY_GRACE_PERIOD = 30 * 60 * 1000; // half an hour\n\nexport class AuthService {\n #accessTokensCache: Map<string, AccessToken> = new Map();\n\n #hasEnoughTimeUntilExpiry(expires: Date | undefined, expiryBuffer: number) {\n const now = Date.now();\n const expiryTime = expires ? new Date(expires).getTime() : null;\n return expiryTime && expiryTime - now > expiryBuffer;\n }\n\n #url(path: string) {\n return `https://www.wix.com/_serverless/editor-platform-apps-authorization-service/${path}`;\n }\n\n async #post<TResponse = any>(path: string, params: Record<string, any>) {\n try {\n const res = await fetch(this.#url(path), {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(params),\n });\n\n const data: TResponse = await res.json();\n return data;\n } catch (e: any) {\n throw createAuthStrategyError(\n EditorPlatformSDKAuthErrorCode.TokenRequestFailed,\n ).withAppDefinitionId(params.appDefinitionId);\n }\n }\n\n async #fetchAccessToken(params: {\n appDefinitionId: string;\n metaSiteId: string;\n originDomain: string;\n }) {\n return this.#post<{ token: string }>('create-token', params);\n }\n\n async getAccessToken(\n appDefinitionId: string,\n metaSiteId: string,\n ): Promise<string> {\n const cacheKey = `${appDefinitionId}`;\n\n const originDomain = globalThis['location']?.origin ?? '';\n const existingToken = this.#accessTokensCache.get(cacheKey);\n\n if (\n existingToken &&\n this.#hasEnoughTimeUntilExpiry(\n existingToken.expires,\n ACCESS_TOKEN_EXPIRY_GRACE_PERIOD,\n )\n ) {\n return existingToken.token!;\n } else {\n const newAccessToken = await this.#fetchAccessToken({\n appDefinitionId,\n metaSiteId,\n originDomain,\n });\n\n this.#accessTokensCache.set(cacheKey, newAccessToken);\n\n return newAccessToken.token;\n }\n }\n}\n","import { ApplicationContext } from '@wix/editor-application-context';\nimport {\n BaseError,\n createErrorBuilder,\n} from '@wix/public-editor-platform-errors';\nimport { AuthService } from './AuthService';\n\nexport enum EditorPlatformSDKAuthErrorCode {\n EmptyAppAuthInstance = 'EmptyAppAuthInstance',\n TokenRequestFailed = 'TokenRequestFailed',\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 createAuthStrategyError = createErrorBuilder<\n EditorPlatformSDKAuthErrorCode,\n EditorPlatformSDKAuthError\n>(EditorPlatformSDKAuthError);\n\nexport const auth = () => {\n const authService = new AuthService();\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 createAuthStrategyError(\n EditorPlatformSDKAuthErrorCode.EmptyAppDefinitionId,\n );\n }\n\n /**\n * temporary try/catch\n */\n let supportNewAuth: boolean;\n\n try {\n supportNewAuth = await privateAPI.experiments.enabled(\n 'platform2.0_sdk_auth',\n );\n } catch (e) {\n supportNewAuth = false;\n }\n\n if (supportNewAuth) {\n const token = await authService.getAccessToken(\n bindings.appDefinitionId,\n await privateAPI.info.getMetaSiteId(),\n );\n\n if (token === undefined) {\n throw createAuthStrategyError(\n EditorPlatformSDKAuthErrorCode.EmptyAppAuthInstance,\n ).withAppDefinitionId(bindings.appDefinitionId);\n }\n\n return {\n headers: {\n Authorization: token,\n },\n };\n } else {\n const authInstance = await privateAPI.info.getAppInstance(\n bindings.appDefinitionId,\n );\n\n if (authInstance === undefined) {\n throw createAuthStrategyError(\n EditorPlatformSDKAuthErrorCode.EmptyAppAuthInstance,\n ).withAppDefinitionId(bindings.appDefinitionId);\n }\n\n return {\n headers: {\n Authorization: authInstance,\n },\n };\n }\n },\n };\n};\n","import {\n IFrameConsumerChannel,\n WorkerConsumerChannel,\n} from '@wix/editor-platform-transport';\nimport { PlatformFrameAPI } from '@wix/editor-application/platform-frame-api';\nimport { PlatformWorkerAPI } from '@wix/editor-application/platform-worker-api';\n\ndeclare global {\n // eslint-disable-next-line no-var\n var _EP_TRANSPORT_INIT_KEY: boolean;\n}\n\nconst INIT_KEY = '_EP_TRANSPORT_INIT_KEY';\n\n/**\n * small workaround to run init only for a one time\n */\nif (!globalThis[INIT_KEY]) {\n const isWorker = typeof importScripts === 'function';\n\n /**\n * TODO: probably we can try to split this code somehow\n * and load the only API according to the current env.\n */\n if (isWorker) {\n const channel = new WorkerConsumerChannel();\n channel.expose(new PlatformWorkerAPI());\n } else {\n const channel = new IFrameConsumerChannel();\n channel.expose(new PlatformFrameAPI());\n }\n\n globalThis[INIT_KEY] = true;\n}\n","import './env';\n\nimport { createHostModule, HostModule } from '@wix/sdk-runtime/host-modules';\nimport { Host } from '@wix/sdk-types';\nimport {\n ApplicationContext,\n EnvironmentContext,\n IAddonContext,\n IEditorApplicationContext,\n} from '@wix/editor-application-context';\n\ninterface IHostContexts {\n environmentContext: EnvironmentContext;\n applicationContext: ApplicationContext<\n IEditorApplicationContext | IAddonContext\n >;\n}\n\ntype UnwrapShape<T> = {\n [K in keyof T]: T[K] extends (contexts: IHostContexts) => infer R ? R : never;\n};\n\nexport class PlatformSDKShape<\n TShape extends Record<\n string,\n (contexts: IHostContexts) => (...args: any[]) => any\n >,\n> {\n constructor(\n public namespace: string,\n private shape: TShape,\n ) {\n // Object.assign(this.shape, {\n // [Symbol(`platform-sdk-shape-namespace`)]: this.namespace,\n // });\n }\n\n build() {\n return createHostModule<Host, TShape>(\n Object.fromEntries(\n Object.entries(this.shape).map(([key, value]) => [\n key,\n (host: IHostContexts) => {\n /**\n * this is case when shapes are used as a host modules,\n * meaning without calling the createClient, and use one from the context\n */\n if (host?.environmentContext && host?.applicationContext) {\n return async (...args: any) => {\n const [environmentContext, applicationContext] =\n await Promise.all([\n host.environmentContext,\n host.applicationContext,\n ]);\n\n return value({\n environmentContext,\n applicationContext,\n })(...args);\n };\n }\n\n /**\n * the fallback to platform's contexts\n * if for some reason they are not available at the host.\n * for instance:\n * - `createClient` is not created or created with a wrong configuration\n */\n return async (...args: any) => {\n const [environmentContext, applicationContext] =\n await Promise.all([\n EnvironmentContext.getInstance(),\n ApplicationContext.getInstance(),\n ]);\n\n return value({\n environmentContext,\n applicationContext,\n })(...args);\n };\n },\n ]),\n ) as unknown as { [K in keyof TShape]: () => TShape[K] },\n ) as UnwrapShape<TShape> & HostModule<UnwrapShape<TShape>, Host>;\n }\n}\n","import { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst applicationShape = new PlatformSDKShape('application', {\n getPrivateAPI({ applicationContext }) {\n return async <TApplicationPrivateAPI = any>() => {\n return applicationContext.getPrivateApplicationAPI() as TApplicationPrivateAPI;\n };\n },\n\n getPublicAPI({ applicationContext }) {\n return async <TApplicationPrivateAPI>(appDefinitionId: string) => {\n const privateAPI = applicationContext.getPrivateAPI();\n\n return privateAPI.applicationManager.getPublicApplicationAPI(\n appDefinitionId,\n ) as TApplicationPrivateAPI;\n };\n },\n\n getAppInstance({ applicationContext }) {\n return async () => {\n const privateAPI = applicationContext.getPrivateAPI();\n const bindings = applicationContext.getBindings();\n\n return privateAPI.info.getAppInstance(bindings.appDefinitionId);\n };\n },\n});\n\nexport default applicationShape.build();\n","import { IComponent } from '@wix/editor-application-context';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst componentsShape = new PlatformSDKShape('components', {\n getSelectedComponents({ applicationContext }) {\n return async (): Promise<IComponent[]> => {\n const privateAPI = applicationContext.getPrivateAPI();\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});\n\nexport default componentsShape.build();\n","import {\n AppEventPayload,\n AllowedEvents,\n} from '@wix/editor-application-context';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst eventsShape = new PlatformSDKShape('events', {\n addEventListener({ applicationContext }) {\n return async (\n name: any,\n // TODO: fix types\n cb: (payload: AppEventPayload<AllowedEvents>) => void,\n ) => {\n return applicationContext.getEvents().addEventListener(name, cb);\n };\n },\n});\n\nexport default eventsShape.build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst infoShape = new PlatformSDKShape('info', {\n getViewMode({ applicationContext }) {\n return async () => {\n const privateAPI = applicationContext.getPrivateAPI();\n return privateAPI.info.getViewMode();\n };\n },\n\n getLanguageCode({ applicationContext }) {\n return async () => {\n const privateAPI = applicationContext.getPrivateAPI();\n return privateAPI.info.getLanguageCode();\n };\n },\n});\n\nexport default infoShape.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 components from '../components';\nimport { createWidgetShapeError, WidgetShapeErrorCode } from './errors';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst getSelectedComponentRef = async () => {\n const selected = await components.getSelectedComponents();\n const compRef = selected[0]?.compRef;\n\n if (!compRef) {\n throw createWidgetShapeError(WidgetShapeErrorCode.UndefinedCompRef);\n }\n\n return compRef;\n};\n\nconst widgetShape = new PlatformSDKShape('widget', {\n getProp({ applicationContext }) {\n return async (propName: string): Promise<string> => {\n const privateAPI = applicationContext.getPrivateAPI();\n const compRef = await getSelectedComponentRef();\n\n return privateAPI.customElement.getAttribute(compRef, propName);\n };\n },\n setProp({ applicationContext }) {\n return async (propName: string, value: string): Promise<void> => {\n const privateAPI = applicationContext.getPrivateAPI();\n const compRef = await getSelectedComponentRef();\n\n await privateAPI.customElement.setAttribute(compRef, propName, value);\n };\n },\n});\n\nexport default widgetShape.build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\n\ninterface IColorValue {\n color: string;\n theme?: string;\n}\n\ninterface IFontValue {\n family?: string;\n style?: {\n bold?: boolean;\n italic?: boolean;\n underline?: boolean;\n };\n size?: number;\n theme?: string;\n}\n\ntype IFontValueInternal = IFontValue & {\n editorKey?: string;\n preset?: string;\n};\n\nconst fonts = {\n transformFontInternalValue: (value?: IFontValue): IFontValueInternal => {\n if (value) {\n const { theme, ...rest } = fonts.normalize(value);\n\n return {\n ...rest,\n editorKey: 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 transformFontPublicValue: (\n value?: IFontValue & IFontValueInternal,\n ): IFontValue | null => {\n if (!value) {\n return null;\n }\n\n return {\n ...fonts.normalize(value),\n theme: value.editorKey,\n };\n },\n\n normalize: ({\n theme,\n editorKey,\n preset,\n ...rest\n }: IFontValueInternal): IFontValue => {\n return {\n ...rest,\n theme: theme ?? editorKey,\n };\n },\n};\n\nconst inputsShape = new PlatformSDKShape('inputs', {\n selectColor({ applicationContext }) {\n return async (\n value?: Partial<IColorValue>,\n onColorChange?: (value: IColorValue) => void,\n ): Promise<IColorValue | null> => {\n const privateAPI = applicationContext.getPrivateAPI() as any;\n\n let _value: IColorValue | null = value\n ? ({\n color: value.color,\n theme: value?.theme,\n } as IColorValue)\n : null;\n\n await privateAPI.inputs.openColorPicker(\n {\n color: value?.theme ? value.theme : value?.color,\n },\n ({\n color,\n theme,\n }: {\n color: string;\n theme: string;\n isHover: boolean;\n }) => {\n const _color = { color, theme };\n\n _value = _color;\n onColorChange?.(_color);\n },\n );\n\n return _value;\n };\n },\n\n selectFont({ applicationContext }) {\n return async (\n value?: IFontValue,\n options?: {\n title?: string;\n panelSectionsDefinition?: Partial<{\n theme: 'hidden' | 'enabled';\n font: 'hidden' | 'enabled';\n size: 'hidden' | 'enabled';\n style: 'hidden' | 'enabled';\n htmlTag: 'hidden' | 'enabled';\n }>;\n fontMaxSize?: number;\n fontMinSize?: number;\n },\n onFontChange?: (value: IFontValue) => void,\n ): Promise<IFontValue | null> => {\n const privateAPI = applicationContext.getPrivateAPI() as any;\n\n let _value = fonts.transformFontPublicValue(value) as IFontValue;\n\n const applyChanges = (...changes: (string | number)[]) => {\n if (!_value) {\n _value = fonts.transformFontPublicValue(\n fonts.transformFontInternalValue(value),\n ) as IFontValue;\n }\n\n switch (changes[0]) {\n case 'theme':\n Object.assign(_value, {\n theme: changes[1],\n });\n\n break;\n\n case 'size':\n Object.assign(_value, {\n size: changes[1],\n });\n\n break;\n\n case 'bold':\n Object.assign(_value, {\n style: {\n ..._value.style,\n bold: changes[1],\n },\n });\n\n break;\n\n case 'italic':\n Object.assign(_value, {\n style: {\n ..._value.style,\n italic: changes[1],\n },\n });\n\n break;\n\n case 'underline':\n Object.assign(_value, {\n style: {\n ..._value.style,\n underline: changes[1],\n },\n });\n\n break;\n\n case 'family':\n Object.assign(_value, {\n family: changes[1],\n });\n\n break;\n }\n };\n\n await privateAPI.inputs.openFontPicker(\n {\n ...options,\n componentStyle: fonts.transformFontInternalValue(value),\n },\n (...changes: (string | number)[]) => {\n applyChanges(...changes);\n onFontChange?.(_value!);\n },\n );\n\n return _value;\n };\n },\n});\n\nexport default inputsShape.build();\n","import type { WixSDKTypes } from '@wix/public-editor-platform-interfaces';\nimport {\n ApplicationContext,\n EnvironmentContext,\n} from '@wix/editor-application-context';\n\nexport const editorPlatformFrameHost = (): WixSDKTypes.Host & {\n environmentContext: Promise<EnvironmentContext>;\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 channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n environmentContext: EnvironmentContext.getInstance(),\n applicationContext: ApplicationContext.getInstance(),\n essentials: queryParams.has('essentials')\n ? JSON.parse(queryParams.get('essentials')!)\n : {},\n };\n};\n","import type { WixSDKTypes } from '@wix/public-editor-platform-interfaces';\nimport {\n ApplicationContext,\n EnvironmentContext,\n} from '@wix/editor-application-context';\n\nexport const editorPlatformWorkerHost = (): WixSDKTypes.Host & {\n environmentContext: Promise<EnvironmentContext>;\n applicationContext: Promise<ApplicationContext<any>>;\n} => {\n return {\n environment: {},\n channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n environmentContext: EnvironmentContext.getInstance(),\n applicationContext: ApplicationContext.getInstance(),\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';\n\nimport { editorPlatformFrameHost } from './editorPlatformFrameHost';\nimport { editorPlatformWorkerHost } from './editorPlatformWorkerHost';\n\nexport const editor = {\n host: () => {\n const isWorker = typeof importScripts === 'function';\n\n if (isWorker) {\n return editorPlatformWorkerHost();\n }\n\n return editorPlatformFrameHost();\n },\n auth,\n};\n"],"names":["EditorPlatformSDKAuthErrorCode","WidgetShapeErrorCode"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../editor-platform-application-context/dist/esm/index.js","../../src/auth.ts","../../src/env.ts","../../src/PlatformSDKShape.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/editorPlatformFrameHost.ts","../../src/editorPlatformWorkerHost.ts","../../src/index.ts"],"sourcesContent":["import { createErrorBuilder, BaseError } from '@wix/public-editor-platform-errors';\nimport { PlatformAppEvent } from '@wix/public-editor-platform-events';\n\nvar EditorPlatformApplicationContextErrorCode = /* @__PURE__ */ ((EditorPlatformApplicationContextErrorCode2) => {\n EditorPlatformApplicationContextErrorCode2[\"IncorrectEnvironment\"] = \"IncorrectEnvironment\";\n EditorPlatformApplicationContextErrorCode2[\"ClientAuthError\"] = \"ClientAuthError\";\n return EditorPlatformApplicationContextErrorCode2;\n})(EditorPlatformApplicationContextErrorCode || {});\nclass EditorPlatformApplicationContextError extends BaseError {\n state = {};\n constructor(message, code) {\n super(message, code, \"Editor Platform Application Context Error\");\n }\n withUrl(url) {\n this.state = { ...this.state, url };\n return this;\n }\n withAppDefinitionId(appDefinitionId) {\n this.state = { ...this.state, appDefinitionId };\n return this;\n }\n}\nconst createEditorPlatformApplicationContextError = createErrorBuilder(EditorPlatformApplicationContextError);\n\nasync function transformEventPayload(eventPayload, privateAPI) {\n if (!eventPayload?.type) {\n return eventPayload;\n }\n switch (eventPayload.type) {\n case \"componentSelectionChanged\":\n const componentRefs = eventPayload.componentRefs || [];\n const components = await Promise.all(\n componentRefs.map((ref) => {\n return privateAPI.components.getComponent(ref);\n })\n );\n return {\n type: eventPayload.type,\n components\n };\n default:\n return eventPayload;\n }\n}\n\nclass ApplicationBoundEvents {\n constructor(appDefinitionId, events, privateAPI) {\n this.appDefinitionId = appDefinitionId;\n this.privateAPI = privateAPI;\n this.events = events;\n this.subscribe = events.subscribe.bind(events);\n this.commit = events.commit.bind(events);\n this.startTransaction = events.startTransaction.bind(events);\n this.silent = events.silent.bind(events);\n }\n events;\n subscribe;\n commit;\n startTransaction;\n silent;\n notify(event) {\n this.events.notify({\n type: event.type,\n payload: event.payload,\n meta: {\n appDefinitionId: this.appDefinitionId\n }\n });\n }\n notifyCustomEvent(type, payload) {\n this.notify({\n type: PlatformAppEvent.CustomEvent,\n payload: {\n ...payload,\n type\n }\n });\n }\n /**\n * TODO: we should use same interface for all events\n * (subscribe vs addEventListener)\n */\n addEventListener(eventType, fn) {\n return this.events.subscribe(async (event) => {\n const isAppMatch = event.meta?.appDefinitionId === this.appDefinitionId || event.meta?.appDefinitionId === null;\n const transformPayload = () => transformEventPayload(event.payload, this.privateAPI);\n if (eventType === \"*\") {\n fn(await transformPayload());\n } else if (event.type === PlatformAppEvent.CustomEvent) {\n if (eventType === event.payload?.type && !isAppMatch) {\n fn(await transformPayload());\n }\n } else if (event.type === PlatformAppEvent.HostEvent) {\n if (eventType === event.payload?.type && isAppMatch) {\n fn(await transformPayload());\n }\n }\n });\n }\n}\n\nconst WAIT_INJECTED_TIMEOUT = 200;\nconst WAIT_INJECTED_RETRY_COUNT = 50;\nclass ContextInjectionStatus {\n _resolveContextInjected = () => {\n };\n _isInjected = false;\n key;\n constructor(uuid) {\n this.key = `__${uuid}_CONTEXT_INJECTION_STATUS_KEY`;\n if (!globalThis[this.key]) {\n globalThis[this.key] = new Promise((resolve) => {\n this._resolveContextInjected = () => {\n this._isInjected = true;\n resolve();\n };\n });\n }\n }\n isInjected() {\n return !!this._isInjected;\n }\n resolveInjected() {\n this._resolveContextInjected?.();\n }\n waitInjected() {\n return new Promise((resolve, reject) => {\n let injected = false;\n let timeoutId;\n let retryCount = 0;\n const timeout = () => {\n if (injected) {\n return;\n }\n timeoutId = setTimeout(() => {\n retryCount++;\n if (retryCount < WAIT_INJECTED_RETRY_COUNT) {\n if (retryCount % 10 === 0) {\n console.log(\n createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"contexts are not resolved, still re-trying\"\n ).withMessage(`try number ${retryCount}`).message\n );\n }\n timeout();\n return;\n }\n if (!injected) {\n const error = createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"contexts are not resolved, threw by timeout\"\n );\n reject(error);\n }\n }, WAIT_INJECTED_TIMEOUT);\n };\n timeout();\n const _waitContextInjectedPromise = globalThis[this.key];\n _waitContextInjectedPromise.then(() => {\n injected = true;\n clearTimeout(timeoutId);\n resolve();\n });\n });\n }\n}\n\nconst ENVIRONMENT_CONTEXT_KEY = \"__ENVIRONMENT_CONTEXT_KEY\";\nvar PlatformEnvironment = /* @__PURE__ */ ((PlatformEnvironment2) => {\n PlatformEnvironment2[\"Worker\"] = \"Worker\";\n PlatformEnvironment2[\"Frame\"] = \"Frame\";\n PlatformEnvironment2[\"ComponentPanel\"] = \"ComponentPanel\";\n return PlatformEnvironment2;\n})(PlatformEnvironment || {});\nclass EnvironmentContext {\n constructor(environmentContext) {\n this.environmentContext = environmentContext;\n }\n static status = new ContextInjectionStatus(\"environment\");\n static async inject(context) {\n if (globalThis[ENVIRONMENT_CONTEXT_KEY]) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Environment context already exists and should not be overridden\"\n );\n }\n globalThis[ENVIRONMENT_CONTEXT_KEY] = new EnvironmentContext(context);\n this.status.resolveInjected();\n }\n static async getInstance() {\n await this.status.waitInjected();\n return globalThis[ENVIRONMENT_CONTEXT_KEY];\n }\n getPrivateAPI() {\n return this.environmentContext.privateApi;\n }\n getEvents() {\n return this.environmentContext.events;\n }\n getApplicationAPIs() {\n return this.environmentContext.applicationAPIs ?? {};\n }\n getEnvironment() {\n return this.environmentContext.environment;\n }\n}\n\nconst APPLICATION_CONTEXT_KEY = \"__APPLICATION_CONTEXT_KEY\";\nclass ApplicationContext {\n constructor(applicationContext, environment) {\n this.applicationContext = applicationContext;\n this.environment = environment;\n this.events = new ApplicationBoundEvents(\n this.applicationContext.appDefinitionId,\n this.environment.getEvents(),\n this.environment.getPrivateAPI()\n );\n }\n static status = new ContextInjectionStatus(\"application\");\n /**\n * TODO: use generics for context type\n * - application\n * - editor\n */\n static async inject(context) {\n const environment = await EnvironmentContext.getInstance();\n if (environment.getEnvironment() !== PlatformEnvironment.Frame) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Application context can be injected only in frame environment\"\n );\n }\n if (globalThis[APPLICATION_CONTEXT_KEY]) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Application context already exists and should not be overridden\"\n );\n }\n globalThis[APPLICATION_CONTEXT_KEY] = new ApplicationContext(\n context,\n await EnvironmentContext.getInstance()\n );\n this.status.resolveInjected();\n }\n static async getInstance() {\n const environment = await EnvironmentContext.getInstance();\n if (environment.getEnvironment() === PlatformEnvironment.Frame) {\n await this.status.waitInjected();\n return globalThis[APPLICATION_CONTEXT_KEY];\n } else {\n return __APPLICATION_CONTEXT_KEY;\n }\n }\n events;\n getAppDefinitionId() {\n return this.applicationContext.appDefinitionId;\n }\n getBindings() {\n return this.applicationContext;\n }\n getEvents() {\n return this.events;\n }\n getPrivateAPI() {\n return this.environment.getPrivateAPI();\n }\n getPrivateApplicationAPI() {\n const appDefinitionId = this.getAppDefinitionId();\n if (!appDefinitionId) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"appDefinitionId is not available\"\n );\n }\n return this.environment.getApplicationAPIs()[appDefinitionId];\n }\n}\n\nconst auth = (appDefinitionId, privateAPI) => {\n return {\n getAuthHeaders: async () => {\n if (!appDefinitionId) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.ClientAuthError\n );\n }\n const authInstance = await privateAPI.info.getAppInstance(appDefinitionId);\n if (authInstance === void 0) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.ClientAuthError,\n \"empty auth instance\"\n ).withAppDefinitionId(appDefinitionId);\n }\n return {\n headers: {\n Authorization: authInstance\n }\n };\n }\n };\n};\n\nexport { APPLICATION_CONTEXT_KEY, ApplicationBoundEvents, ApplicationContext, ENVIRONMENT_CONTEXT_KEY, EnvironmentContext, PlatformEnvironment, auth };\n//# sourceMappingURL=index.js.map\n","import { ApplicationContext } from '@wix/editor-application-context';\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 /**\n * temporary try/catch\n */\n let supportNewAuth: boolean;\n\n try {\n supportNewAuth = await privateAPI.experiments.enabled(\n 'platform2.0_sdk_auth',\n );\n } catch (e) {\n supportNewAuth = false;\n }\n\n if (supportNewAuth) {\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 throw createEditorPlatformSDKAuthError(\n EditorPlatformSDKAuthErrorCode.EmptyAppAuthInstance,\n ).withAppDefinitionId(bindings.appDefinitionId);\n }\n\n return {\n headers: {\n Authorization: instance.token,\n },\n };\n } else {\n const authInstance = await privateAPI.info.getAppInstance(\n bindings.appDefinitionId,\n );\n\n if (authInstance === undefined) {\n throw createEditorPlatformSDKAuthError(\n EditorPlatformSDKAuthErrorCode.EmptyAppAuthInstance,\n ).withAppDefinitionId(bindings.appDefinitionId);\n }\n\n return {\n headers: {\n Authorization: authInstance,\n },\n };\n }\n },\n };\n};\n","import {\n IFrameConsumerChannel,\n WorkerConsumerChannel,\n} from '@wix/editor-platform-transport';\nimport { PlatformFrameAPI } from '@wix/editor-application/platform-frame-api';\nimport { PlatformWorkerAPI } from '@wix/editor-application/platform-worker-api';\n\ndeclare global {\n // eslint-disable-next-line no-var\n var _EP_TRANSPORT_INIT_KEY: boolean;\n}\n\nconst INIT_KEY = '_EP_TRANSPORT_INIT_KEY';\n\n/**\n * small workaround to run init only for a one time\n */\nif (!globalThis[INIT_KEY]) {\n const isWorker = typeof importScripts === 'function';\n\n /**\n * TODO: probably we can try to split this code somehow\n * and load the only API according to the current env.\n */\n if (isWorker) {\n const channel = new WorkerConsumerChannel();\n channel.expose(new PlatformWorkerAPI());\n } else {\n const channel = new IFrameConsumerChannel();\n channel.expose(new PlatformFrameAPI());\n }\n\n globalThis[INIT_KEY] = true;\n}\n","import './env';\n\nimport { createHostModule, HostModule } from '@wix/sdk-runtime/host-modules';\nimport { Host } from '@wix/sdk-types';\nimport {\n ApplicationContext,\n EnvironmentContext,\n IAddonContext,\n IEditorApplicationContext,\n} from '@wix/editor-application-context';\n\ninterface IHostContexts {\n environmentContext: EnvironmentContext;\n applicationContext: ApplicationContext<\n IEditorApplicationContext | IAddonContext\n >;\n}\n\ntype UnwrapShape<T> = {\n [K in keyof T]: T[K] extends (contexts: IHostContexts) => infer R ? R : never;\n};\n\nexport class PlatformSDKShape<\n TShape extends Record<\n string,\n (contexts: IHostContexts) => (...args: any[]) => any\n >,\n> {\n constructor(\n public namespace: string,\n private shape: TShape,\n ) {\n // Object.assign(this.shape, {\n // [Symbol(`platform-sdk-shape-namespace`)]: this.namespace,\n // });\n }\n\n build() {\n return createHostModule<Host, TShape>(\n Object.fromEntries(\n Object.entries(this.shape).map(([key, value]) => [\n key,\n (host: IHostContexts) => {\n /**\n * this is case when shapes are used as a host modules,\n * meaning without calling the createClient, and use one from the context\n */\n if (host?.environmentContext && host?.applicationContext) {\n return async (...args: any) => {\n const [environmentContext, applicationContext] =\n await Promise.all([\n host.environmentContext,\n host.applicationContext,\n ]);\n\n return value({\n environmentContext,\n applicationContext,\n })(...args);\n };\n }\n\n /**\n * the fallback to platform's contexts\n * if for some reason they are not available at the host.\n * for instance:\n * - `createClient` is not created or created with a wrong configuration\n */\n return async (...args: any) => {\n const [environmentContext, applicationContext] =\n await Promise.all([\n EnvironmentContext.getInstance(),\n ApplicationContext.getInstance(),\n ]);\n\n return value({\n environmentContext,\n applicationContext,\n })(...args);\n };\n },\n ]),\n ) as unknown as { [K in keyof TShape]: () => TShape[K] },\n ) as UnwrapShape<TShape> & HostModule<UnwrapShape<TShape>, Host>;\n }\n}\n","import { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst applicationShape = new PlatformSDKShape('application', {\n getPrivateAPI({ applicationContext }) {\n return async <TApplicationPrivateAPI = any>() => {\n return applicationContext.getPrivateApplicationAPI() as TApplicationPrivateAPI;\n };\n },\n\n getPublicAPI({ applicationContext }) {\n return async <TApplicationPrivateAPI>(appDefinitionId: string) => {\n const privateAPI = applicationContext.getPrivateAPI();\n\n return privateAPI.applicationManager.getPublicApplicationAPI(\n appDefinitionId,\n ) as TApplicationPrivateAPI;\n };\n },\n\n getAppInstance({ applicationContext }) {\n return async () => {\n const privateAPI = applicationContext.getPrivateAPI();\n const bindings = applicationContext.getBindings();\n\n return privateAPI.info.getAppInstance(bindings.appDefinitionId);\n };\n },\n});\n\nexport default applicationShape.build();\n","import { IComponent } from '@wix/editor-application-context';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst componentsShape = new PlatformSDKShape('components', {\n getSelectedComponents({ applicationContext }) {\n return async (): Promise<IComponent[]> => {\n const privateAPI = applicationContext.getPrivateAPI();\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});\n\nexport default componentsShape.build();\n","import {\n AppEventPayload,\n AllowedEvents,\n} from '@wix/editor-application-context';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst eventsShape = new PlatformSDKShape('events', {\n addEventListener({ applicationContext }) {\n return async (\n name: any,\n // TODO: fix types\n cb: (payload: AppEventPayload<AllowedEvents>) => void,\n ) => {\n return applicationContext.getEvents().addEventListener(name, cb);\n };\n },\n});\n\nexport default eventsShape.build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst infoShape = new PlatformSDKShape('info', {\n getViewMode({ applicationContext }) {\n return async () => {\n const privateAPI = applicationContext.getPrivateAPI();\n return privateAPI.info.getViewMode();\n };\n },\n\n getLanguageCode({ applicationContext }) {\n return async () => {\n const privateAPI = applicationContext.getPrivateAPI();\n return privateAPI.info.getLanguageCode();\n };\n },\n});\n\nexport default infoShape.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 components from '../components';\nimport { createWidgetShapeError, WidgetShapeErrorCode } from './errors';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst getSelectedComponentRef = async () => {\n const selected = await components.getSelectedComponents();\n const compRef = selected[0]?.compRef;\n\n if (!compRef) {\n throw createWidgetShapeError(WidgetShapeErrorCode.UndefinedCompRef);\n }\n\n return compRef;\n};\n\nconst widgetShape = new PlatformSDKShape('widget', {\n getProp({ applicationContext }) {\n return async (propName: string): Promise<string> => {\n const privateAPI = applicationContext.getPrivateAPI();\n const compRef = await getSelectedComponentRef();\n\n return privateAPI.customElement.getAttribute(compRef, propName);\n };\n },\n setProp({ applicationContext }) {\n return async (propName: string, value: string): Promise<void> => {\n const privateAPI = applicationContext.getPrivateAPI();\n const compRef = await getSelectedComponentRef();\n\n await privateAPI.customElement.setAttribute(compRef, propName, value);\n };\n },\n});\n\nexport default widgetShape.build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\n\ninterface IColorValue {\n color: string;\n theme?: string;\n}\n\ninterface IFontValue {\n family?: string;\n style?: {\n bold?: boolean;\n italic?: boolean;\n underline?: boolean;\n };\n size?: number;\n theme?: string;\n}\n\ntype IFontValueInternal = IFontValue & {\n editorKey?: string;\n preset?: string;\n};\n\nconst fonts = {\n transformFontInternalValue: (value?: IFontValue): IFontValueInternal => {\n if (value) {\n const { theme, ...rest } = fonts.normalize(value);\n\n return {\n ...rest,\n editorKey: 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 transformFontPublicValue: (\n value?: IFontValue & IFontValueInternal,\n ): IFontValue | null => {\n if (!value) {\n return null;\n }\n\n return {\n ...fonts.normalize(value),\n theme: value.editorKey,\n };\n },\n\n normalize: ({\n theme,\n editorKey,\n preset,\n ...rest\n }: IFontValueInternal): IFontValue => {\n return {\n ...rest,\n theme: theme ?? editorKey,\n };\n },\n};\n\nconst inputsShape = new PlatformSDKShape('inputs', {\n selectColor({ applicationContext }) {\n return async (\n value?: Partial<IColorValue>,\n onColorChange?: (value: IColorValue) => void,\n ): Promise<IColorValue | null> => {\n const privateAPI = applicationContext.getPrivateAPI() as any;\n\n let _value: IColorValue | null = value\n ? ({\n color: value.color,\n theme: value?.theme,\n } as IColorValue)\n : null;\n\n await privateAPI.inputs.openColorPicker(\n {\n color: value?.theme ? value.theme : value?.color,\n },\n ({\n color,\n theme,\n }: {\n color: string;\n theme: string;\n isHover: boolean;\n }) => {\n const _color = { color, theme };\n\n _value = _color;\n onColorChange?.(_color);\n },\n );\n\n return _value;\n };\n },\n\n selectFont({ applicationContext }) {\n return async (\n value?: IFontValue,\n options?: {\n title?: string;\n panelSectionsDefinition?: Partial<{\n theme: 'hidden' | 'enabled';\n font: 'hidden' | 'enabled';\n size: 'hidden' | 'enabled';\n style: 'hidden' | 'enabled';\n htmlTag: 'hidden' | 'enabled';\n }>;\n fontMaxSize?: number;\n fontMinSize?: number;\n },\n onFontChange?: (value: IFontValue) => void,\n ): Promise<IFontValue | null> => {\n const privateAPI = applicationContext.getPrivateAPI() as any;\n\n let _value = fonts.transformFontPublicValue(value) as IFontValue;\n\n const applyChanges = (...changes: (string | number)[]) => {\n if (!_value) {\n _value = fonts.transformFontPublicValue(\n fonts.transformFontInternalValue(value),\n ) as IFontValue;\n }\n\n switch (changes[0]) {\n case 'theme':\n Object.assign(_value, {\n theme: changes[1],\n });\n\n break;\n\n case 'size':\n Object.assign(_value, {\n size: changes[1],\n });\n\n break;\n\n case 'bold':\n Object.assign(_value, {\n style: {\n ..._value.style,\n bold: changes[1],\n },\n });\n\n break;\n\n case 'italic':\n Object.assign(_value, {\n style: {\n ..._value.style,\n italic: changes[1],\n },\n });\n\n break;\n\n case 'underline':\n Object.assign(_value, {\n style: {\n ..._value.style,\n underline: changes[1],\n },\n });\n\n break;\n\n case 'family':\n Object.assign(_value, {\n family: changes[1],\n });\n\n break;\n }\n };\n\n await privateAPI.inputs.openFontPicker(\n {\n ...options,\n componentStyle: fonts.transformFontInternalValue(value),\n },\n (...changes: (string | number)[]) => {\n applyChanges(...changes);\n onFontChange?.(_value!);\n },\n );\n\n return _value;\n };\n },\n});\n\nexport default inputsShape.build();\n","import type { WixSDKTypes } from '@wix/public-editor-platform-interfaces';\nimport {\n ApplicationContext,\n EnvironmentContext,\n} from '@wix/editor-application-context';\n\nexport const editorPlatformFrameHost = (): WixSDKTypes.Host & {\n environmentContext: Promise<EnvironmentContext>;\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 channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n environmentContext: EnvironmentContext.getInstance(),\n applicationContext: ApplicationContext.getInstance(),\n essentials: queryParams.has('essentials')\n ? JSON.parse(queryParams.get('essentials')!)\n : {},\n };\n};\n","import type { WixSDKTypes } from '@wix/public-editor-platform-interfaces';\nimport {\n ApplicationContext,\n EnvironmentContext,\n} from '@wix/editor-application-context';\n\nexport const editorPlatformWorkerHost = (): WixSDKTypes.Host & {\n environmentContext: Promise<EnvironmentContext>;\n applicationContext: Promise<ApplicationContext<any>>;\n} => {\n return {\n environment: {},\n channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n environmentContext: EnvironmentContext.getInstance(),\n applicationContext: ApplicationContext.getInstance(),\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';\n\nimport { editorPlatformFrameHost } from './editorPlatformFrameHost';\nimport { editorPlatformWorkerHost } from './editorPlatformWorkerHost';\n\nexport const editor = {\n host: () => {\n const isWorker = typeof importScripts === 'function';\n\n if (isWorker) {\n return editorPlatformWorkerHost();\n }\n\n return editorPlatformFrameHost();\n },\n auth,\n};\n"],"names":["WidgetShapeErrorCode"],"mappings":"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"}
@@ -275,64 +275,6 @@
275
275
  }
276
276
  }
277
277
 
278
- const ACCESS_TOKEN_EXPIRY_GRACE_PERIOD = 30 * 60 * 1e3;
279
- class AuthService {
280
- #accessTokensCache = /* @__PURE__ */ new Map();
281
- #hasEnoughTimeUntilExpiry(expires, expiryBuffer) {
282
- const now = Date.now();
283
- const expiryTime = expires ? new Date(expires).getTime() : null;
284
- return expiryTime && expiryTime - now > expiryBuffer;
285
- }
286
- #url(path) {
287
- return `https://www.wix.com/_serverless/editor-platform-apps-authorization-service/${path}`;
288
- }
289
- async #post(path, params) {
290
- try {
291
- const res = await fetch(this.#url(path), {
292
- method: "POST",
293
- headers: {
294
- "Content-Type": "application/json"
295
- },
296
- body: JSON.stringify(params)
297
- });
298
- const data = await res.json();
299
- return data;
300
- } catch (e) {
301
- throw createAuthStrategyError(
302
- EditorPlatformSDKAuthErrorCode.TokenRequestFailed
303
- ).withAppDefinitionId(params.appDefinitionId);
304
- }
305
- }
306
- async #fetchAccessToken(params) {
307
- return this.#post("create-token", params);
308
- }
309
- async getAccessToken(appDefinitionId, metaSiteId) {
310
- const cacheKey = `${appDefinitionId}`;
311
- const originDomain = globalThis["location"]?.origin ?? "";
312
- const existingToken = this.#accessTokensCache.get(cacheKey);
313
- if (existingToken && this.#hasEnoughTimeUntilExpiry(
314
- existingToken.expires,
315
- ACCESS_TOKEN_EXPIRY_GRACE_PERIOD
316
- )) {
317
- return existingToken.token;
318
- } else {
319
- const newAccessToken = await this.#fetchAccessToken({
320
- appDefinitionId,
321
- metaSiteId,
322
- originDomain
323
- });
324
- this.#accessTokensCache.set(cacheKey, newAccessToken);
325
- return newAccessToken.token;
326
- }
327
- }
328
- }
329
-
330
- var EditorPlatformSDKAuthErrorCode = /* @__PURE__ */ ((EditorPlatformSDKAuthErrorCode2) => {
331
- EditorPlatformSDKAuthErrorCode2["EmptyAppAuthInstance"] = "EmptyAppAuthInstance";
332
- EditorPlatformSDKAuthErrorCode2["TokenRequestFailed"] = "TokenRequestFailed";
333
- EditorPlatformSDKAuthErrorCode2["EmptyAppDefinitionId"] = "EmptyAppDefinitionId";
334
- return EditorPlatformSDKAuthErrorCode2;
335
- })(EditorPlatformSDKAuthErrorCode || {});
336
278
  class EditorPlatformSDKAuthError extends publicEditorPlatformErrors.BaseError {
337
279
  state = {};
338
280
  constructor(message, code) {
@@ -343,16 +285,22 @@
343
285
  return this;
344
286
  }
345
287
  }
346
- const createAuthStrategyError = publicEditorPlatformErrors.createErrorBuilder(EditorPlatformSDKAuthError);
288
+ const createEditorPlatformSDKAuthError = publicEditorPlatformErrors.createErrorBuilder(EditorPlatformSDKAuthError);
289
+ function hasEnoughTimeUntilExpiry(expires, expiryBuffer) {
290
+ const now = Date.now();
291
+ const expiryTime = expires ? new Date(expires).getTime() : null;
292
+ return expiryTime && expiryTime - now > expiryBuffer;
293
+ }
294
+ const ACCESS_TOKEN_EXPIRY_GRACE_PERIOD = 30 * 60 * 1e3;
347
295
  const auth = () => {
348
- const authService = new AuthService();
296
+ let instance;
349
297
  return {
350
298
  getAuthHeaders: async () => {
351
299
  const context = await ApplicationContext.getInstance();
352
300
  const bindings = context.getBindings();
353
301
  const privateAPI = context.getPrivateAPI();
354
302
  if (!bindings.appDefinitionId) {
355
- throw createAuthStrategyError(
303
+ throw createEditorPlatformSDKAuthError(
356
304
  "EmptyAppDefinitionId" /* EmptyAppDefinitionId */
357
305
  );
358
306
  }
@@ -365,18 +313,23 @@
365
313
  supportNewAuth = false;
366
314
  }
367
315
  if (supportNewAuth) {
368
- const token = await authService.getAccessToken(
369
- bindings.appDefinitionId,
370
- await privateAPI.info.getMetaSiteId()
371
- );
372
- if (token === void 0) {
373
- throw createAuthStrategyError(
316
+ if (!instance || hasEnoughTimeUntilExpiry(
317
+ instance.expires,
318
+ ACCESS_TOKEN_EXPIRY_GRACE_PERIOD
319
+ )) {
320
+ instance = await privateAPI.auth.getAccessToken(
321
+ bindings.appDefinitionId,
322
+ await privateAPI.info.getMetaSiteId()
323
+ );
324
+ }
325
+ if (!instance?.token) {
326
+ throw createEditorPlatformSDKAuthError(
374
327
  "EmptyAppAuthInstance" /* EmptyAppAuthInstance */
375
328
  ).withAppDefinitionId(bindings.appDefinitionId);
376
329
  }
377
330
  return {
378
331
  headers: {
379
- Authorization: token
332
+ Authorization: instance.token
380
333
  }
381
334
  };
382
335
  } else {
@@ -384,7 +337,7 @@
384
337
  bindings.appDefinitionId
385
338
  );
386
339
  if (authInstance === void 0) {
387
- throw createAuthStrategyError(
340
+ throw createEditorPlatformSDKAuthError(
388
341
  "EmptyAppAuthInstance" /* EmptyAppAuthInstance */
389
342
  ).withAppDefinitionId(bindings.appDefinitionId);
390
343
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../editor-platform-application-context/dist/esm/index.js","../../src/AuthService.ts","../../src/auth.ts","../../src/env.ts","../../src/PlatformSDKShape.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/editorPlatformFrameHost.ts","../../src/editorPlatformWorkerHost.ts","../../src/index.ts"],"sourcesContent":["import { createErrorBuilder, BaseError } from '@wix/public-editor-platform-errors';\nimport { PlatformAppEvent } from '@wix/public-editor-platform-events';\n\nvar EditorPlatformApplicationContextErrorCode = /* @__PURE__ */ ((EditorPlatformApplicationContextErrorCode2) => {\n EditorPlatformApplicationContextErrorCode2[\"IncorrectEnvironment\"] = \"IncorrectEnvironment\";\n EditorPlatformApplicationContextErrorCode2[\"ClientAuthError\"] = \"ClientAuthError\";\n return EditorPlatformApplicationContextErrorCode2;\n})(EditorPlatformApplicationContextErrorCode || {});\nclass EditorPlatformApplicationContextError extends BaseError {\n state = {};\n constructor(message, code) {\n super(message, code, \"Editor Platform Application Context Error\");\n }\n withUrl(url) {\n this.state = { ...this.state, url };\n return this;\n }\n withAppDefinitionId(appDefinitionId) {\n this.state = { ...this.state, appDefinitionId };\n return this;\n }\n}\nconst createEditorPlatformApplicationContextError = createErrorBuilder(EditorPlatformApplicationContextError);\n\nasync function transformEventPayload(eventPayload, privateAPI) {\n if (!eventPayload?.type) {\n return eventPayload;\n }\n switch (eventPayload.type) {\n case \"componentSelectionChanged\":\n const componentRefs = eventPayload.componentRefs || [];\n const components = await Promise.all(\n componentRefs.map((ref) => {\n return privateAPI.components.getComponent(ref);\n })\n );\n return {\n type: eventPayload.type,\n components\n };\n default:\n return eventPayload;\n }\n}\n\nclass ApplicationBoundEvents {\n constructor(appDefinitionId, events, privateAPI) {\n this.appDefinitionId = appDefinitionId;\n this.privateAPI = privateAPI;\n this.events = events;\n this.subscribe = events.subscribe.bind(events);\n this.commit = events.commit.bind(events);\n this.startTransaction = events.startTransaction.bind(events);\n this.silent = events.silent.bind(events);\n }\n events;\n subscribe;\n commit;\n startTransaction;\n silent;\n notify(event) {\n this.events.notify({\n type: event.type,\n payload: event.payload,\n meta: {\n appDefinitionId: this.appDefinitionId\n }\n });\n }\n notifyCustomEvent(type, payload) {\n this.notify({\n type: PlatformAppEvent.CustomEvent,\n payload: {\n ...payload,\n type\n }\n });\n }\n /**\n * TODO: we should use same interface for all events\n * (subscribe vs addEventListener)\n */\n addEventListener(eventType, fn) {\n return this.events.subscribe(async (event) => {\n const isAppMatch = event.meta?.appDefinitionId === this.appDefinitionId || event.meta?.appDefinitionId === null;\n const transformPayload = () => transformEventPayload(event.payload, this.privateAPI);\n if (eventType === \"*\") {\n fn(await transformPayload());\n } else if (event.type === PlatformAppEvent.CustomEvent) {\n if (eventType === event.payload?.type && !isAppMatch) {\n fn(await transformPayload());\n }\n } else if (event.type === PlatformAppEvent.HostEvent) {\n if (eventType === event.payload?.type && isAppMatch) {\n fn(await transformPayload());\n }\n }\n });\n }\n}\n\nconst WAIT_INJECTED_TIMEOUT = 200;\nconst WAIT_INJECTED_RETRY_COUNT = 50;\nclass ContextInjectionStatus {\n _resolveContextInjected = () => {\n };\n _isInjected = false;\n key;\n constructor(uuid) {\n this.key = `__${uuid}_CONTEXT_INJECTION_STATUS_KEY`;\n if (!globalThis[this.key]) {\n globalThis[this.key] = new Promise((resolve) => {\n this._resolveContextInjected = () => {\n this._isInjected = true;\n resolve();\n };\n });\n }\n }\n isInjected() {\n return !!this._isInjected;\n }\n resolveInjected() {\n this._resolveContextInjected?.();\n }\n waitInjected() {\n return new Promise((resolve, reject) => {\n let injected = false;\n let timeoutId;\n let retryCount = 0;\n const timeout = () => {\n if (injected) {\n return;\n }\n timeoutId = setTimeout(() => {\n retryCount++;\n if (retryCount < WAIT_INJECTED_RETRY_COUNT) {\n if (retryCount % 10 === 0) {\n console.log(\n createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"contexts are not resolved, still re-trying\"\n ).withMessage(`try number ${retryCount}`).message\n );\n }\n timeout();\n return;\n }\n if (!injected) {\n const error = createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"contexts are not resolved, threw by timeout\"\n );\n reject(error);\n }\n }, WAIT_INJECTED_TIMEOUT);\n };\n timeout();\n const _waitContextInjectedPromise = globalThis[this.key];\n _waitContextInjectedPromise.then(() => {\n injected = true;\n clearTimeout(timeoutId);\n resolve();\n });\n });\n }\n}\n\nconst ENVIRONMENT_CONTEXT_KEY = \"__ENVIRONMENT_CONTEXT_KEY\";\nvar PlatformEnvironment = /* @__PURE__ */ ((PlatformEnvironment2) => {\n PlatformEnvironment2[\"Worker\"] = \"Worker\";\n PlatformEnvironment2[\"Frame\"] = \"Frame\";\n PlatformEnvironment2[\"ComponentPanel\"] = \"ComponentPanel\";\n return PlatformEnvironment2;\n})(PlatformEnvironment || {});\nclass EnvironmentContext {\n constructor(environmentContext) {\n this.environmentContext = environmentContext;\n }\n static status = new ContextInjectionStatus(\"environment\");\n static async inject(context) {\n if (globalThis[ENVIRONMENT_CONTEXT_KEY]) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Environment context already exists and should not be overridden\"\n );\n }\n globalThis[ENVIRONMENT_CONTEXT_KEY] = new EnvironmentContext(context);\n this.status.resolveInjected();\n }\n static async getInstance() {\n await this.status.waitInjected();\n return globalThis[ENVIRONMENT_CONTEXT_KEY];\n }\n getPrivateAPI() {\n return this.environmentContext.privateApi;\n }\n getEvents() {\n return this.environmentContext.events;\n }\n getApplicationAPIs() {\n return this.environmentContext.applicationAPIs ?? {};\n }\n getEnvironment() {\n return this.environmentContext.environment;\n }\n}\n\nconst APPLICATION_CONTEXT_KEY = \"__APPLICATION_CONTEXT_KEY\";\nclass ApplicationContext {\n constructor(applicationContext, environment) {\n this.applicationContext = applicationContext;\n this.environment = environment;\n this.events = new ApplicationBoundEvents(\n this.applicationContext.appDefinitionId,\n this.environment.getEvents(),\n this.environment.getPrivateAPI()\n );\n }\n static status = new ContextInjectionStatus(\"application\");\n /**\n * TODO: use generics for context type\n * - application\n * - editor\n */\n static async inject(context) {\n const environment = await EnvironmentContext.getInstance();\n if (environment.getEnvironment() !== PlatformEnvironment.Frame) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Application context can be injected only in frame environment\"\n );\n }\n if (globalThis[APPLICATION_CONTEXT_KEY]) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Application context already exists and should not be overridden\"\n );\n }\n globalThis[APPLICATION_CONTEXT_KEY] = new ApplicationContext(\n context,\n await EnvironmentContext.getInstance()\n );\n this.status.resolveInjected();\n }\n static async getInstance() {\n const environment = await EnvironmentContext.getInstance();\n if (environment.getEnvironment() === PlatformEnvironment.Frame) {\n await this.status.waitInjected();\n return globalThis[APPLICATION_CONTEXT_KEY];\n } else {\n return __APPLICATION_CONTEXT_KEY;\n }\n }\n events;\n getAppDefinitionId() {\n return this.applicationContext.appDefinitionId;\n }\n getBindings() {\n return this.applicationContext;\n }\n getEvents() {\n return this.events;\n }\n getPrivateAPI() {\n return this.environment.getPrivateAPI();\n }\n getPrivateApplicationAPI() {\n const appDefinitionId = this.getAppDefinitionId();\n if (!appDefinitionId) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"appDefinitionId is not available\"\n );\n }\n return this.environment.getApplicationAPIs()[appDefinitionId];\n }\n}\n\nconst auth = (appDefinitionId, privateAPI) => {\n return {\n getAuthHeaders: async () => {\n if (!appDefinitionId) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.ClientAuthError\n );\n }\n const authInstance = await privateAPI.info.getAppInstance(appDefinitionId);\n if (authInstance === void 0) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.ClientAuthError,\n \"empty auth instance\"\n ).withAppDefinitionId(appDefinitionId);\n }\n return {\n headers: {\n Authorization: authInstance\n }\n };\n }\n };\n};\n\nexport { APPLICATION_CONTEXT_KEY, ApplicationBoundEvents, ApplicationContext, ENVIRONMENT_CONTEXT_KEY, EnvironmentContext, PlatformEnvironment, auth };\n//# sourceMappingURL=index.js.map\n","import { AccessToken } from '@wix/public-editor-platform-interfaces';\nimport {\n createAuthStrategyError,\n EditorPlatformSDKAuthErrorCode,\n} from './auth';\n\nconst ACCESS_TOKEN_EXPIRY_GRACE_PERIOD = 30 * 60 * 1000; // half an hour\n\nexport class AuthService {\n #accessTokensCache: Map<string, AccessToken> = new Map();\n\n #hasEnoughTimeUntilExpiry(expires: Date | undefined, expiryBuffer: number) {\n const now = Date.now();\n const expiryTime = expires ? new Date(expires).getTime() : null;\n return expiryTime && expiryTime - now > expiryBuffer;\n }\n\n #url(path: string) {\n return `https://www.wix.com/_serverless/editor-platform-apps-authorization-service/${path}`;\n }\n\n async #post<TResponse = any>(path: string, params: Record<string, any>) {\n try {\n const res = await fetch(this.#url(path), {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(params),\n });\n\n const data: TResponse = await res.json();\n return data;\n } catch (e: any) {\n throw createAuthStrategyError(\n EditorPlatformSDKAuthErrorCode.TokenRequestFailed,\n ).withAppDefinitionId(params.appDefinitionId);\n }\n }\n\n async #fetchAccessToken(params: {\n appDefinitionId: string;\n metaSiteId: string;\n originDomain: string;\n }) {\n return this.#post<{ token: string }>('create-token', params);\n }\n\n async getAccessToken(\n appDefinitionId: string,\n metaSiteId: string,\n ): Promise<string> {\n const cacheKey = `${appDefinitionId}`;\n\n const originDomain = globalThis['location']?.origin ?? '';\n const existingToken = this.#accessTokensCache.get(cacheKey);\n\n if (\n existingToken &&\n this.#hasEnoughTimeUntilExpiry(\n existingToken.expires,\n ACCESS_TOKEN_EXPIRY_GRACE_PERIOD,\n )\n ) {\n return existingToken.token!;\n } else {\n const newAccessToken = await this.#fetchAccessToken({\n appDefinitionId,\n metaSiteId,\n originDomain,\n });\n\n this.#accessTokensCache.set(cacheKey, newAccessToken);\n\n return newAccessToken.token;\n }\n }\n}\n","import { ApplicationContext } from '@wix/editor-application-context';\nimport {\n BaseError,\n createErrorBuilder,\n} from '@wix/public-editor-platform-errors';\nimport { AuthService } from './AuthService';\n\nexport enum EditorPlatformSDKAuthErrorCode {\n EmptyAppAuthInstance = 'EmptyAppAuthInstance',\n TokenRequestFailed = 'TokenRequestFailed',\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 createAuthStrategyError = createErrorBuilder<\n EditorPlatformSDKAuthErrorCode,\n EditorPlatformSDKAuthError\n>(EditorPlatformSDKAuthError);\n\nexport const auth = () => {\n const authService = new AuthService();\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 createAuthStrategyError(\n EditorPlatformSDKAuthErrorCode.EmptyAppDefinitionId,\n );\n }\n\n /**\n * temporary try/catch\n */\n let supportNewAuth: boolean;\n\n try {\n supportNewAuth = await privateAPI.experiments.enabled(\n 'platform2.0_sdk_auth',\n );\n } catch (e) {\n supportNewAuth = false;\n }\n\n if (supportNewAuth) {\n const token = await authService.getAccessToken(\n bindings.appDefinitionId,\n await privateAPI.info.getMetaSiteId(),\n );\n\n if (token === undefined) {\n throw createAuthStrategyError(\n EditorPlatformSDKAuthErrorCode.EmptyAppAuthInstance,\n ).withAppDefinitionId(bindings.appDefinitionId);\n }\n\n return {\n headers: {\n Authorization: token,\n },\n };\n } else {\n const authInstance = await privateAPI.info.getAppInstance(\n bindings.appDefinitionId,\n );\n\n if (authInstance === undefined) {\n throw createAuthStrategyError(\n EditorPlatformSDKAuthErrorCode.EmptyAppAuthInstance,\n ).withAppDefinitionId(bindings.appDefinitionId);\n }\n\n return {\n headers: {\n Authorization: authInstance,\n },\n };\n }\n },\n };\n};\n","import {\n IFrameConsumerChannel,\n WorkerConsumerChannel,\n} from '@wix/editor-platform-transport';\nimport { PlatformFrameAPI } from '@wix/editor-application/platform-frame-api';\nimport { PlatformWorkerAPI } from '@wix/editor-application/platform-worker-api';\n\ndeclare global {\n // eslint-disable-next-line no-var\n var _EP_TRANSPORT_INIT_KEY: boolean;\n}\n\nconst INIT_KEY = '_EP_TRANSPORT_INIT_KEY';\n\n/**\n * small workaround to run init only for a one time\n */\nif (!globalThis[INIT_KEY]) {\n const isWorker = typeof importScripts === 'function';\n\n /**\n * TODO: probably we can try to split this code somehow\n * and load the only API according to the current env.\n */\n if (isWorker) {\n const channel = new WorkerConsumerChannel();\n channel.expose(new PlatformWorkerAPI());\n } else {\n const channel = new IFrameConsumerChannel();\n channel.expose(new PlatformFrameAPI());\n }\n\n globalThis[INIT_KEY] = true;\n}\n","import './env';\n\nimport { createHostModule, HostModule } from '@wix/sdk-runtime/host-modules';\nimport { Host } from '@wix/sdk-types';\nimport {\n ApplicationContext,\n EnvironmentContext,\n IAddonContext,\n IEditorApplicationContext,\n} from '@wix/editor-application-context';\n\ninterface IHostContexts {\n environmentContext: EnvironmentContext;\n applicationContext: ApplicationContext<\n IEditorApplicationContext | IAddonContext\n >;\n}\n\ntype UnwrapShape<T> = {\n [K in keyof T]: T[K] extends (contexts: IHostContexts) => infer R ? R : never;\n};\n\nexport class PlatformSDKShape<\n TShape extends Record<\n string,\n (contexts: IHostContexts) => (...args: any[]) => any\n >,\n> {\n constructor(\n public namespace: string,\n private shape: TShape,\n ) {\n // Object.assign(this.shape, {\n // [Symbol(`platform-sdk-shape-namespace`)]: this.namespace,\n // });\n }\n\n build() {\n return createHostModule<Host, TShape>(\n Object.fromEntries(\n Object.entries(this.shape).map(([key, value]) => [\n key,\n (host: IHostContexts) => {\n /**\n * this is case when shapes are used as a host modules,\n * meaning without calling the createClient, and use one from the context\n */\n if (host?.environmentContext && host?.applicationContext) {\n return async (...args: any) => {\n const [environmentContext, applicationContext] =\n await Promise.all([\n host.environmentContext,\n host.applicationContext,\n ]);\n\n return value({\n environmentContext,\n applicationContext,\n })(...args);\n };\n }\n\n /**\n * the fallback to platform's contexts\n * if for some reason they are not available at the host.\n * for instance:\n * - `createClient` is not created or created with a wrong configuration\n */\n return async (...args: any) => {\n const [environmentContext, applicationContext] =\n await Promise.all([\n EnvironmentContext.getInstance(),\n ApplicationContext.getInstance(),\n ]);\n\n return value({\n environmentContext,\n applicationContext,\n })(...args);\n };\n },\n ]),\n ) as unknown as { [K in keyof TShape]: () => TShape[K] },\n ) as UnwrapShape<TShape> & HostModule<UnwrapShape<TShape>, Host>;\n }\n}\n","import { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst applicationShape = new PlatformSDKShape('application', {\n getPrivateAPI({ applicationContext }) {\n return async <TApplicationPrivateAPI = any>() => {\n return applicationContext.getPrivateApplicationAPI() as TApplicationPrivateAPI;\n };\n },\n\n getPublicAPI({ applicationContext }) {\n return async <TApplicationPrivateAPI>(appDefinitionId: string) => {\n const privateAPI = applicationContext.getPrivateAPI();\n\n return privateAPI.applicationManager.getPublicApplicationAPI(\n appDefinitionId,\n ) as TApplicationPrivateAPI;\n };\n },\n\n getAppInstance({ applicationContext }) {\n return async () => {\n const privateAPI = applicationContext.getPrivateAPI();\n const bindings = applicationContext.getBindings();\n\n return privateAPI.info.getAppInstance(bindings.appDefinitionId);\n };\n },\n});\n\nexport default applicationShape.build();\n","import { IComponent } from '@wix/editor-application-context';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst componentsShape = new PlatformSDKShape('components', {\n getSelectedComponents({ applicationContext }) {\n return async (): Promise<IComponent[]> => {\n const privateAPI = applicationContext.getPrivateAPI();\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});\n\nexport default componentsShape.build();\n","import {\n AppEventPayload,\n AllowedEvents,\n} from '@wix/editor-application-context';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst eventsShape = new PlatformSDKShape('events', {\n addEventListener({ applicationContext }) {\n return async (\n name: any,\n // TODO: fix types\n cb: (payload: AppEventPayload<AllowedEvents>) => void,\n ) => {\n return applicationContext.getEvents().addEventListener(name, cb);\n };\n },\n});\n\nexport default eventsShape.build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst infoShape = new PlatformSDKShape('info', {\n getViewMode({ applicationContext }) {\n return async () => {\n const privateAPI = applicationContext.getPrivateAPI();\n return privateAPI.info.getViewMode();\n };\n },\n\n getLanguageCode({ applicationContext }) {\n return async () => {\n const privateAPI = applicationContext.getPrivateAPI();\n return privateAPI.info.getLanguageCode();\n };\n },\n});\n\nexport default infoShape.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 components from '../components';\nimport { createWidgetShapeError, WidgetShapeErrorCode } from './errors';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst getSelectedComponentRef = async () => {\n const selected = await components.getSelectedComponents();\n const compRef = selected[0]?.compRef;\n\n if (!compRef) {\n throw createWidgetShapeError(WidgetShapeErrorCode.UndefinedCompRef);\n }\n\n return compRef;\n};\n\nconst widgetShape = new PlatformSDKShape('widget', {\n getProp({ applicationContext }) {\n return async (propName: string): Promise<string> => {\n const privateAPI = applicationContext.getPrivateAPI();\n const compRef = await getSelectedComponentRef();\n\n return privateAPI.customElement.getAttribute(compRef, propName);\n };\n },\n setProp({ applicationContext }) {\n return async (propName: string, value: string): Promise<void> => {\n const privateAPI = applicationContext.getPrivateAPI();\n const compRef = await getSelectedComponentRef();\n\n await privateAPI.customElement.setAttribute(compRef, propName, value);\n };\n },\n});\n\nexport default widgetShape.build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\n\ninterface IColorValue {\n color: string;\n theme?: string;\n}\n\ninterface IFontValue {\n family?: string;\n style?: {\n bold?: boolean;\n italic?: boolean;\n underline?: boolean;\n };\n size?: number;\n theme?: string;\n}\n\ntype IFontValueInternal = IFontValue & {\n editorKey?: string;\n preset?: string;\n};\n\nconst fonts = {\n transformFontInternalValue: (value?: IFontValue): IFontValueInternal => {\n if (value) {\n const { theme, ...rest } = fonts.normalize(value);\n\n return {\n ...rest,\n editorKey: 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 transformFontPublicValue: (\n value?: IFontValue & IFontValueInternal,\n ): IFontValue | null => {\n if (!value) {\n return null;\n }\n\n return {\n ...fonts.normalize(value),\n theme: value.editorKey,\n };\n },\n\n normalize: ({\n theme,\n editorKey,\n preset,\n ...rest\n }: IFontValueInternal): IFontValue => {\n return {\n ...rest,\n theme: theme ?? editorKey,\n };\n },\n};\n\nconst inputsShape = new PlatformSDKShape('inputs', {\n selectColor({ applicationContext }) {\n return async (\n value?: Partial<IColorValue>,\n onColorChange?: (value: IColorValue) => void,\n ): Promise<IColorValue | null> => {\n const privateAPI = applicationContext.getPrivateAPI() as any;\n\n let _value: IColorValue | null = value\n ? ({\n color: value.color,\n theme: value?.theme,\n } as IColorValue)\n : null;\n\n await privateAPI.inputs.openColorPicker(\n {\n color: value?.theme ? value.theme : value?.color,\n },\n ({\n color,\n theme,\n }: {\n color: string;\n theme: string;\n isHover: boolean;\n }) => {\n const _color = { color, theme };\n\n _value = _color;\n onColorChange?.(_color);\n },\n );\n\n return _value;\n };\n },\n\n selectFont({ applicationContext }) {\n return async (\n value?: IFontValue,\n options?: {\n title?: string;\n panelSectionsDefinition?: Partial<{\n theme: 'hidden' | 'enabled';\n font: 'hidden' | 'enabled';\n size: 'hidden' | 'enabled';\n style: 'hidden' | 'enabled';\n htmlTag: 'hidden' | 'enabled';\n }>;\n fontMaxSize?: number;\n fontMinSize?: number;\n },\n onFontChange?: (value: IFontValue) => void,\n ): Promise<IFontValue | null> => {\n const privateAPI = applicationContext.getPrivateAPI() as any;\n\n let _value = fonts.transformFontPublicValue(value) as IFontValue;\n\n const applyChanges = (...changes: (string | number)[]) => {\n if (!_value) {\n _value = fonts.transformFontPublicValue(\n fonts.transformFontInternalValue(value),\n ) as IFontValue;\n }\n\n switch (changes[0]) {\n case 'theme':\n Object.assign(_value, {\n theme: changes[1],\n });\n\n break;\n\n case 'size':\n Object.assign(_value, {\n size: changes[1],\n });\n\n break;\n\n case 'bold':\n Object.assign(_value, {\n style: {\n ..._value.style,\n bold: changes[1],\n },\n });\n\n break;\n\n case 'italic':\n Object.assign(_value, {\n style: {\n ..._value.style,\n italic: changes[1],\n },\n });\n\n break;\n\n case 'underline':\n Object.assign(_value, {\n style: {\n ..._value.style,\n underline: changes[1],\n },\n });\n\n break;\n\n case 'family':\n Object.assign(_value, {\n family: changes[1],\n });\n\n break;\n }\n };\n\n await privateAPI.inputs.openFontPicker(\n {\n ...options,\n componentStyle: fonts.transformFontInternalValue(value),\n },\n (...changes: (string | number)[]) => {\n applyChanges(...changes);\n onFontChange?.(_value!);\n },\n );\n\n return _value;\n };\n },\n});\n\nexport default inputsShape.build();\n","import type { WixSDKTypes } from '@wix/public-editor-platform-interfaces';\nimport {\n ApplicationContext,\n EnvironmentContext,\n} from '@wix/editor-application-context';\n\nexport const editorPlatformFrameHost = (): WixSDKTypes.Host & {\n environmentContext: Promise<EnvironmentContext>;\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 channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n environmentContext: EnvironmentContext.getInstance(),\n applicationContext: ApplicationContext.getInstance(),\n essentials: queryParams.has('essentials')\n ? JSON.parse(queryParams.get('essentials')!)\n : {},\n };\n};\n","import type { WixSDKTypes } from '@wix/public-editor-platform-interfaces';\nimport {\n ApplicationContext,\n EnvironmentContext,\n} from '@wix/editor-application-context';\n\nexport const editorPlatformWorkerHost = (): WixSDKTypes.Host & {\n environmentContext: Promise<EnvironmentContext>;\n applicationContext: Promise<ApplicationContext<any>>;\n} => {\n return {\n environment: {},\n channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n environmentContext: EnvironmentContext.getInstance(),\n applicationContext: ApplicationContext.getInstance(),\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';\n\nimport { editorPlatformFrameHost } from './editorPlatformFrameHost';\nimport { editorPlatformWorkerHost } from './editorPlatformWorkerHost';\n\nexport const editor = {\n host: () => {\n const isWorker = typeof importScripts === 'function';\n\n if (isWorker) {\n return editorPlatformWorkerHost();\n }\n\n return editorPlatformFrameHost();\n },\n auth,\n};\n"],"names":["BaseError","createErrorBuilder","PlatformAppEvent","EditorPlatformSDKAuthErrorCode","WorkerConsumerChannel","PlatformWorkerAPI","IFrameConsumerChannel","PlatformFrameAPI","createHostModule","WidgetShapeErrorCode"],"mappings":";;;;;;EAGA,IAAI,yCAAA,qBAA8D,0CAA+C,KAAA;EAC/G,EAAA,0CAAA,CAA2C,sBAAsB,CAAI,GAAA,sBAAA,CAAA;EACrE,EAAA,0CAAA,CAA2C,iBAAiB,CAAI,GAAA,iBAAA,CAAA;EAChE,EAAO,OAAA,0CAAA,CAAA;EACT,CAAG,EAAA,yCAAA,IAA6C,EAAE,CAAA,CAAA;EAClD,MAAM,8CAA8CA,oCAAU,CAAA;EAAA,EAC5D,QAAQ,EAAC,CAAA;EAAA,EACT,WAAA,CAAY,SAAS,IAAM,EAAA;EACzB,IAAM,KAAA,CAAA,OAAA,EAAS,MAAM,2CAA2C,CAAA,CAAA;EAAA,GAClE;EAAA,EACA,QAAQ,GAAK,EAAA;EACX,IAAA,IAAA,CAAK,KAAQ,GAAA,EAAE,GAAG,IAAA,CAAK,OAAO,GAAI,EAAA,CAAA;EAClC,IAAO,OAAA,IAAA,CAAA;EAAA,GACT;EAAA,EACA,oBAAoB,eAAiB,EAAA;EACnC,IAAA,IAAA,CAAK,KAAQ,GAAA,EAAE,GAAG,IAAA,CAAK,OAAO,eAAgB,EAAA,CAAA;EAC9C,IAAO,OAAA,IAAA,CAAA;EAAA,GACT;EACF,CAAA;EACA,MAAM,2CAAA,GAA8CC,8CAAmB,qCAAqC,CAAA,CAAA;EAE5G,eAAe,qBAAA,CAAsB,cAAc,UAAY,EAAA;EAC7D,EAAI,IAAA,CAAC,cAAc,IAAM,EAAA;EACvB,IAAO,OAAA,YAAA,CAAA;EAAA,GACT;EACA,EAAA,QAAQ,aAAa,IAAM;EAAA,IACzB,KAAK,2BAAA;EACH,MAAM,MAAA,aAAA,GAAgB,YAAa,CAAA,aAAA,IAAiB,EAAC,CAAA;EACrD,MAAM,MAAA,UAAA,GAAa,MAAM,OAAQ,CAAA,GAAA;EAAA,QAC/B,aAAA,CAAc,GAAI,CAAA,CAAC,GAAQ,KAAA;EACzB,UAAO,OAAA,UAAA,CAAW,UAAW,CAAA,YAAA,CAAa,GAAG,CAAA,CAAA;EAAA,SAC9C,CAAA;EAAA,OACH,CAAA;EACA,MAAO,OAAA;EAAA,QACL,MAAM,YAAa,CAAA,IAAA;EAAA,QACnB,UAAA;EAAA,OACF,CAAA;EAAA,IACF;EACE,MAAO,OAAA,YAAA,CAAA;EAAA,GACX;EACF,CAAA;EAEA,MAAM,sBAAuB,CAAA;EAAA,EAC3B,WAAA,CAAY,eAAiB,EAAA,MAAA,EAAQ,UAAY,EAAA;EAC/C,IAAA,IAAA,CAAK,eAAkB,GAAA,eAAA,CAAA;EACvB,IAAA,IAAA,CAAK,UAAa,GAAA,UAAA,CAAA;EAClB,IAAA,IAAA,CAAK,MAAS,GAAA,MAAA,CAAA;EACd,IAAA,IAAA,CAAK,SAAY,GAAA,MAAA,CAAO,SAAU,CAAA,IAAA,CAAK,MAAM,CAAA,CAAA;EAC7C,IAAA,IAAA,CAAK,MAAS,GAAA,MAAA,CAAO,MAAO,CAAA,IAAA,CAAK,MAAM,CAAA,CAAA;EACvC,IAAA,IAAA,CAAK,gBAAmB,GAAA,MAAA,CAAO,gBAAiB,CAAA,IAAA,CAAK,MAAM,CAAA,CAAA;EAC3D,IAAA,IAAA,CAAK,MAAS,GAAA,MAAA,CAAO,MAAO,CAAA,IAAA,CAAK,MAAM,CAAA,CAAA;EAAA,GACzC;EAAA,EACA,MAAA,CAAA;EAAA,EACA,SAAA,CAAA;EAAA,EACA,MAAA,CAAA;EAAA,EACA,gBAAA,CAAA;EAAA,EACA,MAAA,CAAA;EAAA,EACA,OAAO,KAAO,EAAA;EACZ,IAAA,IAAA,CAAK,OAAO,MAAO,CAAA;EAAA,MACjB,MAAM,KAAM,CAAA,IAAA;EAAA,MACZ,SAAS,KAAM,CAAA,OAAA;EAAA,MACf,IAAM,EAAA;EAAA,QACJ,iBAAiB,IAAK,CAAA,eAAA;EAAA,OACxB;EAAA,KACD,CAAA,CAAA;EAAA,GACH;EAAA,EACA,iBAAA,CAAkB,MAAM,OAAS,EAAA;EAC/B,IAAA,IAAA,CAAK,MAAO,CAAA;EAAA,MACV,MAAMC,2CAAiB,CAAA,WAAA;EAAA,MACvB,OAAS,EAAA;EAAA,QACP,GAAG,OAAA;EAAA,QACH,IAAA;EAAA,OACF;EAAA,KACD,CAAA,CAAA;EAAA,GACH;EAAA;EAAA;EAAA;EAAA;EAAA,EAKA,gBAAA,CAAiB,WAAW,EAAI,EAAA;EAC9B,IAAA,OAAO,IAAK,CAAA,MAAA,CAAO,SAAU,CAAA,OAAO,KAAU,KAAA;EAC5C,MAAM,MAAA,UAAA,GAAa,MAAM,IAAM,EAAA,eAAA,KAAoB,KAAK,eAAmB,IAAA,KAAA,CAAM,MAAM,eAAoB,KAAA,IAAA,CAAA;EAC3G,MAAA,MAAM,mBAAmB,MAAM,qBAAA,CAAsB,KAAM,CAAA,OAAA,EAAS,KAAK,UAAU,CAAA,CAAA;EACnF,MAAA,IAAI,cAAc,GAAK,EAAA;EACrB,QAAG,EAAA,CAAA,MAAM,kBAAkB,CAAA,CAAA;EAAA,OAClB,MAAA,IAAA,KAAA,CAAM,IAAS,KAAAA,2CAAA,CAAiB,WAAa,EAAA;EACtD,QAAA,IAAI,SAAc,KAAA,KAAA,CAAM,OAAS,EAAA,IAAA,IAAQ,CAAC,UAAY,EAAA;EACpD,UAAG,EAAA,CAAA,MAAM,kBAAkB,CAAA,CAAA;EAAA,SAC7B;EAAA,OACS,MAAA,IAAA,KAAA,CAAM,IAAS,KAAAA,2CAAA,CAAiB,SAAW,EAAA;EACpD,QAAA,IAAI,SAAc,KAAA,KAAA,CAAM,OAAS,EAAA,IAAA,IAAQ,UAAY,EAAA;EACnD,UAAG,EAAA,CAAA,MAAM,kBAAkB,CAAA,CAAA;EAAA,SAC7B;EAAA,OACF;EAAA,KACD,CAAA,CAAA;EAAA,GACH;EACF,CAAA;EAEA,MAAM,qBAAwB,GAAA,GAAA,CAAA;EAC9B,MAAM,yBAA4B,GAAA,EAAA,CAAA;EAClC,MAAM,sBAAuB,CAAA;EAAA,EAC3B,0BAA0B,MAAM;EAAA,GAChC,CAAA;EAAA,EACA,WAAc,GAAA,KAAA,CAAA;EAAA,EACd,GAAA,CAAA;EAAA,EACA,YAAY,IAAM,EAAA;EAChB,IAAK,IAAA,CAAA,GAAA,GAAM,KAAK,IAAI,CAAA,6BAAA,CAAA,CAAA;EACpB,IAAA,IAAI,CAAC,UAAA,CAAW,IAAK,CAAA,GAAG,CAAG,EAAA;EACzB,MAAA,UAAA,CAAW,KAAK,GAAG,CAAA,GAAI,IAAI,OAAA,CAAQ,CAAC,OAAY,KAAA;EAC9C,QAAA,IAAA,CAAK,0BAA0B,MAAM;EACnC,UAAA,IAAA,CAAK,WAAc,GAAA,IAAA,CAAA;EACnB,UAAQ,OAAA,EAAA,CAAA;EAAA,SACV,CAAA;EAAA,OACD,CAAA,CAAA;EAAA,KACH;EAAA,GACF;EAAA,EACA,UAAa,GAAA;EACX,IAAO,OAAA,CAAC,CAAC,IAAK,CAAA,WAAA,CAAA;EAAA,GAChB;EAAA,EACA,eAAkB,GAAA;EAChB,IAAA,IAAA,CAAK,uBAA0B,IAAA,CAAA;EAAA,GACjC;EAAA,EACA,YAAe,GAAA;EACb,IAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,OAAA,EAAS,MAAW,KAAA;EACtC,MAAA,IAAI,QAAW,GAAA,KAAA,CAAA;EACf,MAAI,IAAA,SAAA,CAAA;EACJ,MAAA,IAAI,UAAa,GAAA,CAAA,CAAA;EACjB,MAAA,MAAM,UAAU,MAAM;EACpB,QAAA,IAAI,QAAU,EAAA;EACZ,UAAA,OAAA;EAAA,SACF;EACA,QAAA,SAAA,GAAY,WAAW,MAAM;EAC3B,UAAA,UAAA,EAAA,CAAA;EACA,UAAA,IAAI,aAAa,yBAA2B,EAAA;EAC1C,YAAI,IAAA,UAAA,GAAa,OAAO,CAAG,EAAA;EACzB,cAAQ,OAAA,CAAA,GAAA;EAAA,gBACN,2CAAA;EAAA,kBACE,yCAA0C,CAAA,oBAAA;EAAA,kBAC1C,4CAAA;EAAA,iBACA,CAAA,WAAA,CAAY,CAAc,WAAA,EAAA,UAAU,EAAE,CAAE,CAAA,OAAA;EAAA,eAC5C,CAAA;EAAA,aACF;EACA,YAAQ,OAAA,EAAA,CAAA;EACR,YAAA,OAAA;EAAA,WACF;EACA,UAAA,IAAI,CAAC,QAAU,EAAA;EACb,YAAA,MAAM,KAAQ,GAAA,2CAAA;EAAA,cACZ,yCAA0C,CAAA,oBAAA;EAAA,cAC1C,6CAAA;EAAA,aACF,CAAA;EACA,YAAA,MAAA,CAAO,KAAK,CAAA,CAAA;EAAA,WACd;EAAA,WACC,qBAAqB,CAAA,CAAA;EAAA,OAC1B,CAAA;EACA,MAAQ,OAAA,EAAA,CAAA;EACR,MAAM,MAAA,2BAAA,GAA8B,UAAW,CAAA,IAAA,CAAK,GAAG,CAAA,CAAA;EACvD,MAAA,2BAAA,CAA4B,KAAK,MAAM;EACrC,QAAW,QAAA,GAAA,IAAA,CAAA;EACX,QAAA,YAAA,CAAa,SAAS,CAAA,CAAA;EACtB,QAAQ,OAAA,EAAA,CAAA;EAAA,OACT,CAAA,CAAA;EAAA,KACF,CAAA,CAAA;EAAA,GACH;EACF,CAAA;EAEA,MAAM,uBAA0B,GAAA,2BAAA,CAAA;EAChC,IAAI,mBAAA,qBAAwC,oBAAyB,KAAA;EACnE,EAAA,oBAAA,CAAqB,QAAQ,CAAI,GAAA,QAAA,CAAA;EACjC,EAAA,oBAAA,CAAqB,OAAO,CAAI,GAAA,OAAA,CAAA;EAChC,EAAA,oBAAA,CAAqB,gBAAgB,CAAI,GAAA,gBAAA,CAAA;EACzC,EAAO,OAAA,oBAAA,CAAA;EACT,CAAG,EAAA,mBAAA,IAAuB,EAAE,CAAA,CAAA;EAC5B,MAAM,kBAAmB,CAAA;EAAA,EACvB,YAAY,kBAAoB,EAAA;EAC9B,IAAA,IAAA,CAAK,kBAAqB,GAAA,kBAAA,CAAA;EAAA,GAC5B;EAAA,EACA,OAAO,MAAA,GAAS,IAAI,sBAAA,CAAuB,aAAa,CAAA,CAAA;EAAA,EACxD,aAAa,OAAO,OAAS,EAAA;EAC3B,IAAI,IAAA,UAAA,CAAW,uBAAuB,CAAG,EAAA;EACvC,MAAM,MAAA,2CAAA;EAAA,QACJ,yCAA0C,CAAA,oBAAA;EAAA,QAC1C,iEAAA;EAAA,OACF,CAAA;EAAA,KACF;EACA,IAAA,UAAA,CAAW,uBAAuB,CAAA,GAAI,IAAI,kBAAA,CAAmB,OAAO,CAAA,CAAA;EACpE,IAAA,IAAA,CAAK,OAAO,eAAgB,EAAA,CAAA;EAAA,GAC9B;EAAA,EACA,aAAa,WAAc,GAAA;EACzB,IAAM,MAAA,IAAA,CAAK,OAAO,YAAa,EAAA,CAAA;EAC/B,IAAA,OAAO,WAAW,uBAAuB,CAAA,CAAA;EAAA,GAC3C;EAAA,EACA,aAAgB,GAAA;EACd,IAAA,OAAO,KAAK,kBAAmB,CAAA,UAAA,CAAA;EAAA,GACjC;EAAA,EACA,SAAY,GAAA;EACV,IAAA,OAAO,KAAK,kBAAmB,CAAA,MAAA,CAAA;EAAA,GACjC;EAAA,EACA,kBAAqB,GAAA;EACnB,IAAO,OAAA,IAAA,CAAK,kBAAmB,CAAA,eAAA,IAAmB,EAAC,CAAA;EAAA,GACrD;EAAA,EACA,cAAiB,GAAA;EACf,IAAA,OAAO,KAAK,kBAAmB,CAAA,WAAA,CAAA;EAAA,GACjC;EACF,CAAA;EAEA,MAAM,uBAA0B,GAAA,2BAAA,CAAA;EAChC,MAAM,kBAAmB,CAAA;EAAA,EACvB,WAAA,CAAY,oBAAoB,WAAa,EAAA;EAC3C,IAAA,IAAA,CAAK,kBAAqB,GAAA,kBAAA,CAAA;EAC1B,IAAA,IAAA,CAAK,WAAc,GAAA,WAAA,CAAA;EACnB,IAAA,IAAA,CAAK,SAAS,IAAI,sBAAA;EAAA,MAChB,KAAK,kBAAmB,CAAA,eAAA;EAAA,MACxB,IAAA,CAAK,YAAY,SAAU,EAAA;EAAA,MAC3B,IAAA,CAAK,YAAY,aAAc,EAAA;EAAA,KACjC,CAAA;EAAA,GACF;EAAA,EACA,OAAO,MAAA,GAAS,IAAI,sBAAA,CAAuB,aAAa,CAAA,CAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA,EAMxD,aAAa,OAAO,OAAS,EAAA;EAC3B,IAAM,MAAA,WAAA,GAAc,MAAM,kBAAA,CAAmB,WAAY,EAAA,CAAA;EACzD,IAAA,IAAI,WAAY,CAAA,cAAA,EAAqB,KAAA,mBAAA,CAAoB,KAAO,EAAA;EAC9D,MAAM,MAAA,2CAAA;EAAA,QACJ,yCAA0C,CAAA,oBAAA;EAAA,QAC1C,+DAAA;EAAA,OACF,CAAA;EAAA,KACF;EACA,IAAI,IAAA,UAAA,CAAW,uBAAuB,CAAG,EAAA;EACvC,MAAM,MAAA,2CAAA;EAAA,QACJ,yCAA0C,CAAA,oBAAA;EAAA,QAC1C,iEAAA;EAAA,OACF,CAAA;EAAA,KACF;EACA,IAAW,UAAA,CAAA,uBAAuB,IAAI,IAAI,kBAAA;EAAA,MACxC,OAAA;EAAA,MACA,MAAM,mBAAmB,WAAY,EAAA;EAAA,KACvC,CAAA;EACA,IAAA,IAAA,CAAK,OAAO,eAAgB,EAAA,CAAA;EAAA,GAC9B;EAAA,EACA,aAAa,WAAc,GAAA;EACzB,IAAM,MAAA,WAAA,GAAc,MAAM,kBAAA,CAAmB,WAAY,EAAA,CAAA;EACzD,IAAA,IAAI,WAAY,CAAA,cAAA,EAAqB,KAAA,mBAAA,CAAoB,KAAO,EAAA;EAC9D,MAAM,MAAA,IAAA,CAAK,OAAO,YAAa,EAAA,CAAA;EAC/B,MAAA,OAAO,WAAW,uBAAuB,CAAA,CAAA;EAAA,KACpC,MAAA;EACL,MAAO,OAAA,yBAAA,CAAA;EAAA,KACT;EAAA,GACF;EAAA,EACA,MAAA,CAAA;EAAA,EACA,kBAAqB,GAAA;EACnB,IAAA,OAAO,KAAK,kBAAmB,CAAA,eAAA,CAAA;EAAA,GACjC;EAAA,EACA,WAAc,GAAA;EACZ,IAAA,OAAO,IAAK,CAAA,kBAAA,CAAA;EAAA,GACd;EAAA,EACA,SAAY,GAAA;EACV,IAAA,OAAO,IAAK,CAAA,MAAA,CAAA;EAAA,GACd;EAAA,EACA,aAAgB,GAAA;EACd,IAAO,OAAA,IAAA,CAAK,YAAY,aAAc,EAAA,CAAA;EAAA,GACxC;EAAA,EACA,wBAA2B,GAAA;EACzB,IAAM,MAAA,eAAA,GAAkB,KAAK,kBAAmB,EAAA,CAAA;EAChD,IAAA,IAAI,CAAC,eAAiB,EAAA;EACpB,MAAM,MAAA,2CAAA;EAAA,QACJ,yCAA0C,CAAA,oBAAA;EAAA,QAC1C,kCAAA;EAAA,OACF,CAAA;EAAA,KACF;EACA,IAAA,OAAO,IAAK,CAAA,WAAA,CAAY,kBAAmB,EAAA,CAAE,eAAe,CAAA,CAAA;EAAA,GAC9D;EACF;;EC/QA,MAAM,gCAAA,GAAmC,KAAK,EAAK,GAAA,GAAA,CAAA;EAE5C,MAAM,WAAY,CAAA;EAAA,EACvB,kBAAA,uBAAmD,GAAI,EAAA,CAAA;EAAA,EAEvD,yBAAA,CAA0B,SAA2B,YAAsB,EAAA;EACzE,IAAM,MAAA,GAAA,GAAM,KAAK,GAAI,EAAA,CAAA;EACrB,IAAA,MAAM,aAAa,OAAU,GAAA,IAAI,KAAK,OAAO,CAAA,CAAE,SAAY,GAAA,IAAA,CAAA;EAC3D,IAAO,OAAA,UAAA,IAAc,aAAa,GAAM,GAAA,YAAA,CAAA;EAAA,GAC1C;EAAA,EAEA,KAAK,IAAc,EAAA;EACjB,IAAA,OAAO,8EAA8E,IAAI,CAAA,CAAA,CAAA;EAAA,GAC3F;EAAA,EAEA,MAAM,KAAuB,CAAA,IAAA,EAAc,MAA6B,EAAA;EACtE,IAAI,IAAA;EACF,MAAA,MAAM,MAAM,MAAM,KAAA,CAAM,IAAK,CAAA,IAAA,CAAK,IAAI,CAAG,EAAA;EAAA,QACvC,MAAQ,EAAA,MAAA;EAAA,QACR,OAAS,EAAA;EAAA,UACP,cAAgB,EAAA,kBAAA;EAAA,SAClB;EAAA,QACA,IAAA,EAAM,IAAK,CAAA,SAAA,CAAU,MAAM,CAAA;EAAA,OAC5B,CAAA,CAAA;EAED,MAAM,MAAA,IAAA,GAAkB,MAAM,GAAA,CAAI,IAAK,EAAA,CAAA;EACvC,MAAO,OAAA,IAAA,CAAA;EAAA,aACA,CAAQ,EAAA;EACf,MAAM,MAAA,uBAAA;EAAA,QACJ,8BAA+B,CAAA,kBAAA;EAAA,OACjC,CAAE,mBAAoB,CAAA,MAAA,CAAO,eAAe,CAAA,CAAA;EAAA,KAC9C;EAAA,GACF;EAAA,EAEA,MAAM,kBAAkB,MAIrB,EAAA;EACD,IAAO,OAAA,IAAA,CAAK,KAAyB,CAAA,cAAA,EAAgB,MAAM,CAAA,CAAA;EAAA,GAC7D;EAAA,EAEA,MAAM,cACJ,CAAA,eAAA,EACA,UACiB,EAAA;EACjB,IAAM,MAAA,QAAA,GAAW,GAAG,eAAe,CAAA,CAAA,CAAA;EAEnC,IAAA,MAAM,YAAe,GAAA,UAAA,CAAW,UAAU,CAAA,EAAG,MAAU,IAAA,EAAA,CAAA;EACvD,IAAA,MAAM,aAAgB,GAAA,IAAA,CAAK,kBAAmB,CAAA,GAAA,CAAI,QAAQ,CAAA,CAAA;EAE1D,IAAA,IACE,iBACA,IAAK,CAAA,yBAAA;EAAA,MACH,aAAc,CAAA,OAAA;EAAA,MACd,gCAAA;EAAA,KAEF,EAAA;EACA,MAAA,OAAO,aAAc,CAAA,KAAA,CAAA;EAAA,KAChB,MAAA;EACL,MAAM,MAAA,cAAA,GAAiB,MAAM,IAAA,CAAK,iBAAkB,CAAA;EAAA,QAClD,eAAA;EAAA,QACA,UAAA;EAAA,QACA,YAAA;EAAA,OACD,CAAA,CAAA;EAED,MAAK,IAAA,CAAA,kBAAA,CAAmB,GAAI,CAAA,QAAA,EAAU,cAAc,CAAA,CAAA;EAEpD,MAAA,OAAO,cAAe,CAAA,KAAA,CAAA;EAAA,KACxB;EAAA,GACF;EACF;;ECtEY,IAAA,8BAAA,qBAAAC,+BAAL,KAAA;EACL,EAAAA,gCAAA,sBAAuB,CAAA,GAAA,sBAAA,CAAA;EACvB,EAAAA,gCAAA,oBAAqB,CAAA,GAAA,oBAAA,CAAA;EACrB,EAAAA,gCAAA,sBAAuB,CAAA,GAAA,sBAAA,CAAA;EAHb,EAAAA,OAAAA,+BAAAA,CAAAA;EAAA,CAAA,EAAA,8BAAA,IAAA,EAAA,CAAA,CAAA;EAMZ,MAAM,mCAAmCH,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,uBAAA,GAA0BC,8CAGrC,0BAA0B,CAAA,CAAA;EAErB,MAAM,OAAO,MAAM;EACxB,EAAM,MAAA,WAAA,GAAc,IAAI,WAAY,EAAA,CAAA;EAEpC,EAAO,OAAA;EAAA,IACL,gBAAgB,YAAY;EAC1B,MAAM,MAAA,OAAA,GAAU,MAAM,kBAAA,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,uBAAA;EAAA,UACJ,sBAAA;EAAA,SACF,CAAA;EAAA,OACF;EAKA,MAAI,IAAA,cAAA,CAAA;EAEJ,MAAI,IAAA;EACF,QAAiB,cAAA,GAAA,MAAM,WAAW,WAAY,CAAA,OAAA;EAAA,UAC5C,sBAAA;EAAA,SACF,CAAA;EAAA,eACO,CAAG,EAAA;EACV,QAAiB,cAAA,GAAA,KAAA,CAAA;EAAA,OACnB;EAEA,MAAA,IAAI,cAAgB,EAAA;EAClB,QAAM,MAAA,KAAA,GAAQ,MAAM,WAAY,CAAA,cAAA;EAAA,UAC9B,QAAS,CAAA,eAAA;EAAA,UACT,MAAM,UAAW,CAAA,IAAA,CAAK,aAAc,EAAA;EAAA,SACtC,CAAA;EAEA,QAAA,IAAI,UAAU,KAAW,CAAA,EAAA;EACvB,UAAM,MAAA,uBAAA;EAAA,YACJ,sBAAA;EAAA,WACF,CAAE,mBAAoB,CAAA,QAAA,CAAS,eAAe,CAAA,CAAA;EAAA,SAChD;EAEA,QAAO,OAAA;EAAA,UACL,OAAS,EAAA;EAAA,YACP,aAAe,EAAA,KAAA;EAAA,WACjB;EAAA,SACF,CAAA;EAAA,OACK,MAAA;EACL,QAAM,MAAA,YAAA,GAAe,MAAM,UAAA,CAAW,IAAK,CAAA,cAAA;EAAA,UACzC,QAAS,CAAA,eAAA;EAAA,SACX,CAAA;EAEA,QAAA,IAAI,iBAAiB,KAAW,CAAA,EAAA;EAC9B,UAAM,MAAA,uBAAA;EAAA,YACJ,sBAAA;EAAA,WACF,CAAE,mBAAoB,CAAA,QAAA,CAAS,eAAe,CAAA,CAAA;EAAA,SAChD;EAEA,QAAO,OAAA;EAAA,UACL,OAAS,EAAA;EAAA,YACP,aAAe,EAAA,YAAA;EAAA,WACjB;EAAA,SACF,CAAA;EAAA,OACF;EAAA,KACF;EAAA,GACF,CAAA;EACF,CAAA;;ECrFA,MAAM,QAAW,GAAA,wBAAA,CAAA;EAKjB,IAAI,CAAC,UAAW,CAAA,QAAQ,CAAG,EAAA;EACzB,EAAM,MAAA,QAAA,GAAW,OAAO,aAAkB,KAAA,UAAA,CAAA;EAM1C,EAAA,IAAI,QAAU,EAAA;EACZ,IAAM,MAAA,OAAA,GAAU,IAAIG,6CAAsB,EAAA,CAAA;EAC1C,IAAQ,OAAA,CAAA,MAAA,CAAO,IAAIC,mCAAA,EAAmB,CAAA,CAAA;EAAA,GACjC,MAAA;EACL,IAAM,MAAA,OAAA,GAAU,IAAIC,6CAAsB,EAAA,CAAA;EAC1C,IAAQ,OAAA,CAAA,MAAA,CAAO,IAAIC,iCAAA,EAAkB,CAAA,CAAA;EAAA,GACvC;EAEA,EAAA,UAAA,CAAW,QAAQ,CAAI,GAAA,IAAA,CAAA;EACzB;;ECXO,MAAM,gBAKX,CAAA;EAAA,EACA,WAAA,CACS,WACC,KACR,EAAA;EAFO,IAAA,IAAA,CAAA,SAAA,GAAA,SAAA,CAAA;EACC,IAAA,IAAA,CAAA,KAAA,GAAA,KAAA,CAAA;EAAA,GAKV;EAAA,EAEA,KAAQ,GAAA;EACN,IAAO,OAAAC,4BAAA;EAAA,MACL,MAAO,CAAA,WAAA;EAAA,QACL,MAAA,CAAO,OAAQ,CAAA,IAAA,CAAK,KAAK,CAAA,CAAE,IAAI,CAAC,CAAC,GAAK,EAAA,KAAK,CAAM,KAAA;EAAA,UAC/C,GAAA;EAAA,UACA,CAAC,IAAwB,KAAA;EAKvB,YAAI,IAAA,IAAA,EAAM,kBAAsB,IAAA,IAAA,EAAM,kBAAoB,EAAA;EACxD,cAAA,OAAO,UAAU,IAAc,KAAA;EAC7B,gBAAA,MAAM,CAAC,kBAAoB,EAAA,kBAAkB,CAC3C,GAAA,MAAM,QAAQ,GAAI,CAAA;EAAA,kBAChB,IAAK,CAAA,kBAAA;EAAA,kBACL,IAAK,CAAA,kBAAA;EAAA,iBACN,CAAA,CAAA;EAEH,gBAAA,OAAO,KAAM,CAAA;EAAA,kBACX,kBAAA;EAAA,kBACA,kBAAA;EAAA,iBACD,CAAE,CAAA,GAAG,IAAI,CAAA,CAAA;EAAA,eACZ,CAAA;EAAA,aACF;EAQA,YAAA,OAAO,UAAU,IAAc,KAAA;EAC7B,cAAA,MAAM,CAAC,kBAAoB,EAAA,kBAAkB,CAC3C,GAAA,MAAM,QAAQ,GAAI,CAAA;EAAA,gBAChB,mBAAmB,WAAY,EAAA;EAAA,gBAC/B,mBAAmB,WAAY,EAAA;EAAA,eAChC,CAAA,CAAA;EAEH,cAAA,OAAO,KAAM,CAAA;EAAA,gBACX,kBAAA;EAAA,gBACA,kBAAA;EAAA,eACD,CAAE,CAAA,GAAG,IAAI,CAAA,CAAA;EAAA,aACZ,CAAA;EAAA,WACF;EAAA,SACD,CAAA;EAAA,OACH;EAAA,KACF,CAAA;EAAA,GACF;EACF;;ECnFA,MAAM,gBAAA,GAAmB,IAAI,gBAAA,CAAiB,aAAe,EAAA;EAAA,EAC3D,aAAA,CAAc,EAAE,kBAAA,EAAsB,EAAA;EACpC,IAAA,OAAO,YAA0C;EAC/C,MAAA,OAAO,mBAAmB,wBAAyB,EAAA,CAAA;EAAA,KACrD,CAAA;EAAA,GACF;EAAA,EAEA,YAAA,CAAa,EAAE,kBAAA,EAAsB,EAAA;EACnC,IAAA,OAAO,OAA+B,eAA4B,KAAA;EAChE,MAAM,MAAA,UAAA,GAAa,mBAAmB,aAAc,EAAA,CAAA;EAEpD,MAAA,OAAO,WAAW,kBAAmB,CAAA,uBAAA;EAAA,QACnC,eAAA;EAAA,OACF,CAAA;EAAA,KACF,CAAA;EAAA,GACF;EAAA,EAEA,cAAA,CAAe,EAAE,kBAAA,EAAsB,EAAA;EACrC,IAAA,OAAO,YAAY;EACjB,MAAM,MAAA,UAAA,GAAa,mBAAmB,aAAc,EAAA,CAAA;EACpD,MAAM,MAAA,QAAA,GAAW,mBAAmB,WAAY,EAAA,CAAA;EAEhD,MAAA,OAAO,UAAW,CAAA,IAAA,CAAK,cAAe,CAAA,QAAA,CAAS,eAAe,CAAA,CAAA;EAAA,KAChE,CAAA;EAAA,GACF;EACF,CAAC,CAAA,CAAA;AAED,gBAAe,iBAAiB,KAAM,EAAA;;EC1BtC,MAAM,eAAA,GAAkB,IAAI,gBAAA,CAAiB,YAAc,EAAA;EAAA,EACzD,qBAAA,CAAsB,EAAE,kBAAA,EAAsB,EAAA;EAC5C,IAAA,OAAO,YAAmC;EACxC,MAAM,MAAA,UAAA,GAAa,mBAAmB,aAAc,EAAA,CAAA;EACpD,MAAA,MAAM,IAAO,GAAA,MAAM,UAAW,CAAA,UAAA,CAAW,qBAAsB,EAAA,CAAA;EAE/D,MAAA,OAAO,OAAQ,CAAA,GAAA;EAAA,QACb,IAAA,CAAK,IAAI,CAAC,GAAA,KAAa,WAAW,UAAW,CAAA,YAAA,CAAa,GAAG,CAAC,CAAA;EAAA,OAChE,CAAA;EAAA,KACF,CAAA;EAAA,GACF;EACF,CAAC,CAAA,CAAA;AAED,mBAAe,gBAAgB,KAAM,EAAA;;ECVrC,MAAM,WAAA,GAAc,IAAI,gBAAA,CAAiB,QAAU,EAAA;EAAA,EACjD,gBAAA,CAAiB,EAAE,kBAAA,EAAsB,EAAA;EACvC,IAAO,OAAA,OACL,MAEA,EACG,KAAA;EACH,MAAA,OAAO,kBAAmB,CAAA,SAAA,EAAY,CAAA,gBAAA,CAAiB,MAAM,EAAE,CAAA,CAAA;EAAA,KACjE,CAAA;EAAA,GACF;EACF,CAAC,CAAA,CAAA;AAED,gBAAe,YAAY,KAAM,EAAA;;EChBjC,MAAM,SAAA,GAAY,IAAI,gBAAA,CAAiB,MAAQ,EAAA;EAAA,EAC7C,WAAA,CAAY,EAAE,kBAAA,EAAsB,EAAA;EAClC,IAAA,OAAO,YAAY;EACjB,MAAM,MAAA,UAAA,GAAa,mBAAmB,aAAc,EAAA,CAAA;EACpD,MAAO,OAAA,UAAA,CAAW,KAAK,WAAY,EAAA,CAAA;EAAA,KACrC,CAAA;EAAA,GACF;EAAA,EAEA,eAAA,CAAgB,EAAE,kBAAA,EAAsB,EAAA;EACtC,IAAA,OAAO,YAAY;EACjB,MAAM,MAAA,UAAA,GAAa,mBAAmB,aAAc,EAAA,CAAA;EACpD,MAAO,OAAA,UAAA,CAAW,KAAK,eAAgB,EAAA,CAAA;EAAA,KACzC,CAAA;EAAA,GACF;EACF,CAAC,CAAA,CAAA;AAED,gBAAe,UAAU,KAAM,EAAA;;ECbnB,IAAA,oBAAA,qBAAAC,qBAAL,KAAA;EACL,EAAAA,sBAAA,kBAAmB,CAAA,GAAA,kBAAA,CAAA;EADT,EAAAA,OAAAA,qBAAAA,CAAAA;EAAA,CAAA,EAAA,oBAAA,IAAA,EAAA,CAAA,CAAA;EAIZ,MAAM,yBAAyBT,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;;ECdlB,MAAM,0BAA0B,YAAY;EAC1C,EAAM,MAAA,QAAA,GAAW,MAAM,UAAA,CAAW,qBAAsB,EAAA,CAAA;EACxD,EAAM,MAAA,OAAA,GAAU,QAAS,CAAA,CAAC,CAAG,EAAA,OAAA,CAAA;EAE7B,EAAA,IAAI,CAAC,OAAS,EAAA;EACZ,IAAM,MAAA,sBAAA,CAAuB,qBAAqB,gBAAgB,CAAA,CAAA;EAAA,GACpE;EAEA,EAAO,OAAA,OAAA,CAAA;EACT,CAAA,CAAA;EAEA,MAAM,WAAA,GAAc,IAAI,gBAAA,CAAiB,QAAU,EAAA;EAAA,EACjD,OAAA,CAAQ,EAAE,kBAAA,EAAsB,EAAA;EAC9B,IAAA,OAAO,OAAO,QAAsC,KAAA;EAClD,MAAM,MAAA,UAAA,GAAa,mBAAmB,aAAc,EAAA,CAAA;EACpD,MAAM,MAAA,OAAA,GAAU,MAAM,uBAAwB,EAAA,CAAA;EAE9C,MAAA,OAAO,UAAW,CAAA,aAAA,CAAc,YAAa,CAAA,OAAA,EAAS,QAAQ,CAAA,CAAA;EAAA,KAChE,CAAA;EAAA,GACF;EAAA,EACA,OAAA,CAAQ,EAAE,kBAAA,EAAsB,EAAA;EAC9B,IAAO,OAAA,OAAO,UAAkB,KAAiC,KAAA;EAC/D,MAAM,MAAA,UAAA,GAAa,mBAAmB,aAAc,EAAA,CAAA;EACpD,MAAM,MAAA,OAAA,GAAU,MAAM,uBAAwB,EAAA,CAAA;EAE9C,MAAA,MAAM,UAAW,CAAA,aAAA,CAAc,YAAa,CAAA,OAAA,EAAS,UAAU,KAAK,CAAA,CAAA;EAAA,KACtE,CAAA;EAAA,GACF;EACF,CAAC,CAAA,CAAA;AAED,gBAAe,YAAY,KAAM,EAAA;;ECXjC,MAAM,KAAQ,GAAA;EAAA,EACZ,0BAAA,EAA4B,CAAC,KAA2C,KAAA;EACtE,IAAA,IAAI,KAAO,EAAA;EACT,MAAA,MAAM,EAAE,KAAO,EAAA,GAAG,MAAS,GAAA,KAAA,CAAM,UAAU,KAAK,CAAA,CAAA;EAEhD,MAAO,OAAA;EAAA,QACL,GAAG,IAAA;EAAA,QACH,SAAW,EAAA,KAAA;EAAA,OACb,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;EAAA,EAEA,wBAAA,EAA0B,CACxB,KACsB,KAAA;EACtB,IAAA,IAAI,CAAC,KAAO,EAAA;EACV,MAAO,OAAA,IAAA,CAAA;EAAA,KACT;EAEA,IAAO,OAAA;EAAA,MACL,GAAG,KAAM,CAAA,SAAA,CAAU,KAAK,CAAA;EAAA,MACxB,OAAO,KAAM,CAAA,SAAA;EAAA,KACf,CAAA;EAAA,GACF;EAAA,EAEA,WAAW,CAAC;EAAA,IACV,KAAA;EAAA,IACA,SAAA;EAAA,IACA,MAAA;EAAA,IACA,GAAG,IAAA;EAAA,GACiC,KAAA;EACpC,IAAO,OAAA;EAAA,MACL,GAAG,IAAA;EAAA,MACH,OAAO,KAAS,IAAA,SAAA;EAAA,KAClB,CAAA;EAAA,GACF;EACF,CAAA,CAAA;EAEA,MAAM,WAAA,GAAc,IAAI,gBAAA,CAAiB,QAAU,EAAA;EAAA,EACjD,WAAA,CAAY,EAAE,kBAAA,EAAsB,EAAA;EAClC,IAAO,OAAA,OACL,OACA,aACgC,KAAA;EAChC,MAAM,MAAA,UAAA,GAAa,mBAAmB,aAAc,EAAA,CAAA;EAEpD,MAAA,IAAI,SAA6B,KAC5B,GAAA;EAAA,QACC,OAAO,KAAM,CAAA,KAAA;EAAA,QACb,OAAO,KAAO,EAAA,KAAA;EAAA,OAEhB,GAAA,IAAA,CAAA;EAEJ,MAAA,MAAM,WAAW,MAAO,CAAA,eAAA;EAAA,QACtB;EAAA,UACE,KAAO,EAAA,KAAA,EAAO,KAAQ,GAAA,KAAA,CAAM,QAAQ,KAAO,EAAA,KAAA;EAAA,SAC7C;EAAA,QACA,CAAC;EAAA,UACC,KAAA;EAAA,UACA,KAAA;EAAA,SAKI,KAAA;EACJ,UAAM,MAAA,MAAA,GAAS,EAAE,KAAA,EAAO,KAAM,EAAA,CAAA;EAE9B,UAAS,MAAA,GAAA,MAAA,CAAA;EACT,UAAA,aAAA,GAAgB,MAAM,CAAA,CAAA;EAAA,SACxB;EAAA,OACF,CAAA;EAEA,MAAO,OAAA,MAAA,CAAA;EAAA,KACT,CAAA;EAAA,GACF;EAAA,EAEA,UAAA,CAAW,EAAE,kBAAA,EAAsB,EAAA;EACjC,IAAO,OAAA,OACL,KACA,EAAA,OAAA,EAYA,YAC+B,KAAA;EAC/B,MAAM,MAAA,UAAA,GAAa,mBAAmB,aAAc,EAAA,CAAA;EAEpD,MAAI,IAAA,MAAA,GAAS,KAAM,CAAA,wBAAA,CAAyB,KAAK,CAAA,CAAA;EAEjD,MAAM,MAAA,YAAA,GAAe,IAAI,OAAiC,KAAA;EACxD,QAAA,IAAI,CAAC,MAAQ,EAAA;EACX,UAAA,MAAA,GAAS,KAAM,CAAA,wBAAA;EAAA,YACb,KAAA,CAAM,2BAA2B,KAAK,CAAA;EAAA,WACxC,CAAA;EAAA,SACF;EAEA,QAAQ,QAAA,OAAA,CAAQ,CAAC,CAAG;EAAA,UAClB,KAAK,OAAA;EACH,YAAA,MAAA,CAAO,OAAO,MAAQ,EAAA;EAAA,cACpB,KAAA,EAAO,QAAQ,CAAC,CAAA;EAAA,aACjB,CAAA,CAAA;EAED,YAAA,MAAA;EAAA,UAEF,KAAK,MAAA;EACH,YAAA,MAAA,CAAO,OAAO,MAAQ,EAAA;EAAA,cACpB,IAAA,EAAM,QAAQ,CAAC,CAAA;EAAA,aAChB,CAAA,CAAA;EAED,YAAA,MAAA;EAAA,UAEF,KAAK,MAAA;EACH,YAAA,MAAA,CAAO,OAAO,MAAQ,EAAA;EAAA,cACpB,KAAO,EAAA;EAAA,gBACL,GAAG,MAAO,CAAA,KAAA;EAAA,gBACV,IAAA,EAAM,QAAQ,CAAC,CAAA;EAAA,eACjB;EAAA,aACD,CAAA,CAAA;EAED,YAAA,MAAA;EAAA,UAEF,KAAK,QAAA;EACH,YAAA,MAAA,CAAO,OAAO,MAAQ,EAAA;EAAA,cACpB,KAAO,EAAA;EAAA,gBACL,GAAG,MAAO,CAAA,KAAA;EAAA,gBACV,MAAA,EAAQ,QAAQ,CAAC,CAAA;EAAA,eACnB;EAAA,aACD,CAAA,CAAA;EAED,YAAA,MAAA;EAAA,UAEF,KAAK,WAAA;EACH,YAAA,MAAA,CAAO,OAAO,MAAQ,EAAA;EAAA,cACpB,KAAO,EAAA;EAAA,gBACL,GAAG,MAAO,CAAA,KAAA;EAAA,gBACV,SAAA,EAAW,QAAQ,CAAC,CAAA;EAAA,eACtB;EAAA,aACD,CAAA,CAAA;EAED,YAAA,MAAA;EAAA,UAEF,KAAK,QAAA;EACH,YAAA,MAAA,CAAO,OAAO,MAAQ,EAAA;EAAA,cACpB,MAAA,EAAQ,QAAQ,CAAC,CAAA;EAAA,aAClB,CAAA,CAAA;EAED,YAAA,MAAA;EAAA,SACJ;EAAA,OACF,CAAA;EAEA,MAAA,MAAM,WAAW,MAAO,CAAA,cAAA;EAAA,QACtB;EAAA,UACE,GAAG,OAAA;EAAA,UACH,cAAA,EAAgB,KAAM,CAAA,0BAAA,CAA2B,KAAK,CAAA;EAAA,SACxD;EAAA,QACA,IAAI,OAAiC,KAAA;EACnC,UAAA,YAAA,CAAa,GAAG,OAAO,CAAA,CAAA;EACvB,UAAA,YAAA,GAAe,MAAO,CAAA,CAAA;EAAA,SACxB;EAAA,OACF,CAAA;EAEA,MAAO,OAAA,MAAA,CAAA;EAAA,KACT,CAAA;EAAA,GACF;EACF,CAAC,CAAA,CAAA;AAED,cAAe,YAAY,KAAM,EAAA;;ECtM1B,MAAM,0BAA0B,MAOlC;EACH,EAAA,MAAM,WAAc,GAAA,IAAI,eAAgB,CAAA,MAAA,CAAO,SAAS,MAAM,CAAA,CAAA;EAE9D,EAAO,OAAA;EAAA,IACL,aAAa,EAAC;EAAA,IACd,OAAS,EAAA;EAAA,MACP,cAAc,YAAY;EACxB,QAAA,OAAO,EAAE,UAAa,GAAA;EAAA,SAAG,EAAA,CAAA;EAAA,OAC3B;EAAA,KACF;EAAA,IACA,kBAAA,EAAoB,mBAAmB,WAAY,EAAA;EAAA,IACnD,kBAAA,EAAoB,mBAAmB,WAAY,EAAA;EAAA,IACnD,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;;ECvBO,MAAM,2BAA2B,MAGnC;EACH,EAAO,OAAA;EAAA,IACL,aAAa,EAAC;EAAA,IACd,OAAS,EAAA;EAAA,MACP,cAAc,YAAY;EACxB,QAAA,OAAO,EAAE,UAAa,GAAA;EAAA,SAAG,EAAA,CAAA;EAAA,OAC3B;EAAA,KACF;EAAA,IACA,kBAAA,EAAoB,mBAAmB,WAAY,EAAA;EAAA,IACnD,kBAAA,EAAoB,mBAAmB,WAAY,EAAA;EAAA,GACrD,CAAA;EACF,CAAA;;ACRO,QAAM,MAAS,GAAA;EAAA,EACpB,MAAM,MAAM;EACV,IAAM,MAAA,QAAA,GAAW,OAAO,aAAkB,KAAA,UAAA,CAAA;EAE1C,IAAA,IAAI,QAAU,EAAA;EACZ,MAAA,OAAO,wBAAyB,EAAA,CAAA;EAAA,KAClC;EAEA,IAAA,OAAO,uBAAwB,EAAA,CAAA;EAAA,GACjC;EAAA,EACA,IAAA;EACF;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../editor-platform-application-context/dist/esm/index.js","../../src/auth.ts","../../src/env.ts","../../src/PlatformSDKShape.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/editorPlatformFrameHost.ts","../../src/editorPlatformWorkerHost.ts","../../src/index.ts"],"sourcesContent":["import { createErrorBuilder, BaseError } from '@wix/public-editor-platform-errors';\nimport { PlatformAppEvent } from '@wix/public-editor-platform-events';\n\nvar EditorPlatformApplicationContextErrorCode = /* @__PURE__ */ ((EditorPlatformApplicationContextErrorCode2) => {\n EditorPlatformApplicationContextErrorCode2[\"IncorrectEnvironment\"] = \"IncorrectEnvironment\";\n EditorPlatformApplicationContextErrorCode2[\"ClientAuthError\"] = \"ClientAuthError\";\n return EditorPlatformApplicationContextErrorCode2;\n})(EditorPlatformApplicationContextErrorCode || {});\nclass EditorPlatformApplicationContextError extends BaseError {\n state = {};\n constructor(message, code) {\n super(message, code, \"Editor Platform Application Context Error\");\n }\n withUrl(url) {\n this.state = { ...this.state, url };\n return this;\n }\n withAppDefinitionId(appDefinitionId) {\n this.state = { ...this.state, appDefinitionId };\n return this;\n }\n}\nconst createEditorPlatformApplicationContextError = createErrorBuilder(EditorPlatformApplicationContextError);\n\nasync function transformEventPayload(eventPayload, privateAPI) {\n if (!eventPayload?.type) {\n return eventPayload;\n }\n switch (eventPayload.type) {\n case \"componentSelectionChanged\":\n const componentRefs = eventPayload.componentRefs || [];\n const components = await Promise.all(\n componentRefs.map((ref) => {\n return privateAPI.components.getComponent(ref);\n })\n );\n return {\n type: eventPayload.type,\n components\n };\n default:\n return eventPayload;\n }\n}\n\nclass ApplicationBoundEvents {\n constructor(appDefinitionId, events, privateAPI) {\n this.appDefinitionId = appDefinitionId;\n this.privateAPI = privateAPI;\n this.events = events;\n this.subscribe = events.subscribe.bind(events);\n this.commit = events.commit.bind(events);\n this.startTransaction = events.startTransaction.bind(events);\n this.silent = events.silent.bind(events);\n }\n events;\n subscribe;\n commit;\n startTransaction;\n silent;\n notify(event) {\n this.events.notify({\n type: event.type,\n payload: event.payload,\n meta: {\n appDefinitionId: this.appDefinitionId\n }\n });\n }\n notifyCustomEvent(type, payload) {\n this.notify({\n type: PlatformAppEvent.CustomEvent,\n payload: {\n ...payload,\n type\n }\n });\n }\n /**\n * TODO: we should use same interface for all events\n * (subscribe vs addEventListener)\n */\n addEventListener(eventType, fn) {\n return this.events.subscribe(async (event) => {\n const isAppMatch = event.meta?.appDefinitionId === this.appDefinitionId || event.meta?.appDefinitionId === null;\n const transformPayload = () => transformEventPayload(event.payload, this.privateAPI);\n if (eventType === \"*\") {\n fn(await transformPayload());\n } else if (event.type === PlatformAppEvent.CustomEvent) {\n if (eventType === event.payload?.type && !isAppMatch) {\n fn(await transformPayload());\n }\n } else if (event.type === PlatformAppEvent.HostEvent) {\n if (eventType === event.payload?.type && isAppMatch) {\n fn(await transformPayload());\n }\n }\n });\n }\n}\n\nconst WAIT_INJECTED_TIMEOUT = 200;\nconst WAIT_INJECTED_RETRY_COUNT = 50;\nclass ContextInjectionStatus {\n _resolveContextInjected = () => {\n };\n _isInjected = false;\n key;\n constructor(uuid) {\n this.key = `__${uuid}_CONTEXT_INJECTION_STATUS_KEY`;\n if (!globalThis[this.key]) {\n globalThis[this.key] = new Promise((resolve) => {\n this._resolveContextInjected = () => {\n this._isInjected = true;\n resolve();\n };\n });\n }\n }\n isInjected() {\n return !!this._isInjected;\n }\n resolveInjected() {\n this._resolveContextInjected?.();\n }\n waitInjected() {\n return new Promise((resolve, reject) => {\n let injected = false;\n let timeoutId;\n let retryCount = 0;\n const timeout = () => {\n if (injected) {\n return;\n }\n timeoutId = setTimeout(() => {\n retryCount++;\n if (retryCount < WAIT_INJECTED_RETRY_COUNT) {\n if (retryCount % 10 === 0) {\n console.log(\n createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"contexts are not resolved, still re-trying\"\n ).withMessage(`try number ${retryCount}`).message\n );\n }\n timeout();\n return;\n }\n if (!injected) {\n const error = createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"contexts are not resolved, threw by timeout\"\n );\n reject(error);\n }\n }, WAIT_INJECTED_TIMEOUT);\n };\n timeout();\n const _waitContextInjectedPromise = globalThis[this.key];\n _waitContextInjectedPromise.then(() => {\n injected = true;\n clearTimeout(timeoutId);\n resolve();\n });\n });\n }\n}\n\nconst ENVIRONMENT_CONTEXT_KEY = \"__ENVIRONMENT_CONTEXT_KEY\";\nvar PlatformEnvironment = /* @__PURE__ */ ((PlatformEnvironment2) => {\n PlatformEnvironment2[\"Worker\"] = \"Worker\";\n PlatformEnvironment2[\"Frame\"] = \"Frame\";\n PlatformEnvironment2[\"ComponentPanel\"] = \"ComponentPanel\";\n return PlatformEnvironment2;\n})(PlatformEnvironment || {});\nclass EnvironmentContext {\n constructor(environmentContext) {\n this.environmentContext = environmentContext;\n }\n static status = new ContextInjectionStatus(\"environment\");\n static async inject(context) {\n if (globalThis[ENVIRONMENT_CONTEXT_KEY]) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Environment context already exists and should not be overridden\"\n );\n }\n globalThis[ENVIRONMENT_CONTEXT_KEY] = new EnvironmentContext(context);\n this.status.resolveInjected();\n }\n static async getInstance() {\n await this.status.waitInjected();\n return globalThis[ENVIRONMENT_CONTEXT_KEY];\n }\n getPrivateAPI() {\n return this.environmentContext.privateApi;\n }\n getEvents() {\n return this.environmentContext.events;\n }\n getApplicationAPIs() {\n return this.environmentContext.applicationAPIs ?? {};\n }\n getEnvironment() {\n return this.environmentContext.environment;\n }\n}\n\nconst APPLICATION_CONTEXT_KEY = \"__APPLICATION_CONTEXT_KEY\";\nclass ApplicationContext {\n constructor(applicationContext, environment) {\n this.applicationContext = applicationContext;\n this.environment = environment;\n this.events = new ApplicationBoundEvents(\n this.applicationContext.appDefinitionId,\n this.environment.getEvents(),\n this.environment.getPrivateAPI()\n );\n }\n static status = new ContextInjectionStatus(\"application\");\n /**\n * TODO: use generics for context type\n * - application\n * - editor\n */\n static async inject(context) {\n const environment = await EnvironmentContext.getInstance();\n if (environment.getEnvironment() !== PlatformEnvironment.Frame) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Application context can be injected only in frame environment\"\n );\n }\n if (globalThis[APPLICATION_CONTEXT_KEY]) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"Application context already exists and should not be overridden\"\n );\n }\n globalThis[APPLICATION_CONTEXT_KEY] = new ApplicationContext(\n context,\n await EnvironmentContext.getInstance()\n );\n this.status.resolveInjected();\n }\n static async getInstance() {\n const environment = await EnvironmentContext.getInstance();\n if (environment.getEnvironment() === PlatformEnvironment.Frame) {\n await this.status.waitInjected();\n return globalThis[APPLICATION_CONTEXT_KEY];\n } else {\n return __APPLICATION_CONTEXT_KEY;\n }\n }\n events;\n getAppDefinitionId() {\n return this.applicationContext.appDefinitionId;\n }\n getBindings() {\n return this.applicationContext;\n }\n getEvents() {\n return this.events;\n }\n getPrivateAPI() {\n return this.environment.getPrivateAPI();\n }\n getPrivateApplicationAPI() {\n const appDefinitionId = this.getAppDefinitionId();\n if (!appDefinitionId) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.IncorrectEnvironment,\n \"appDefinitionId is not available\"\n );\n }\n return this.environment.getApplicationAPIs()[appDefinitionId];\n }\n}\n\nconst auth = (appDefinitionId, privateAPI) => {\n return {\n getAuthHeaders: async () => {\n if (!appDefinitionId) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.ClientAuthError\n );\n }\n const authInstance = await privateAPI.info.getAppInstance(appDefinitionId);\n if (authInstance === void 0) {\n throw createEditorPlatformApplicationContextError(\n EditorPlatformApplicationContextErrorCode.ClientAuthError,\n \"empty auth instance\"\n ).withAppDefinitionId(appDefinitionId);\n }\n return {\n headers: {\n Authorization: authInstance\n }\n };\n }\n };\n};\n\nexport { APPLICATION_CONTEXT_KEY, ApplicationBoundEvents, ApplicationContext, ENVIRONMENT_CONTEXT_KEY, EnvironmentContext, PlatformEnvironment, auth };\n//# sourceMappingURL=index.js.map\n","import { ApplicationContext } from '@wix/editor-application-context';\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 /**\n * temporary try/catch\n */\n let supportNewAuth: boolean;\n\n try {\n supportNewAuth = await privateAPI.experiments.enabled(\n 'platform2.0_sdk_auth',\n );\n } catch (e) {\n supportNewAuth = false;\n }\n\n if (supportNewAuth) {\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 throw createEditorPlatformSDKAuthError(\n EditorPlatformSDKAuthErrorCode.EmptyAppAuthInstance,\n ).withAppDefinitionId(bindings.appDefinitionId);\n }\n\n return {\n headers: {\n Authorization: instance.token,\n },\n };\n } else {\n const authInstance = await privateAPI.info.getAppInstance(\n bindings.appDefinitionId,\n );\n\n if (authInstance === undefined) {\n throw createEditorPlatformSDKAuthError(\n EditorPlatformSDKAuthErrorCode.EmptyAppAuthInstance,\n ).withAppDefinitionId(bindings.appDefinitionId);\n }\n\n return {\n headers: {\n Authorization: authInstance,\n },\n };\n }\n },\n };\n};\n","import {\n IFrameConsumerChannel,\n WorkerConsumerChannel,\n} from '@wix/editor-platform-transport';\nimport { PlatformFrameAPI } from '@wix/editor-application/platform-frame-api';\nimport { PlatformWorkerAPI } from '@wix/editor-application/platform-worker-api';\n\ndeclare global {\n // eslint-disable-next-line no-var\n var _EP_TRANSPORT_INIT_KEY: boolean;\n}\n\nconst INIT_KEY = '_EP_TRANSPORT_INIT_KEY';\n\n/**\n * small workaround to run init only for a one time\n */\nif (!globalThis[INIT_KEY]) {\n const isWorker = typeof importScripts === 'function';\n\n /**\n * TODO: probably we can try to split this code somehow\n * and load the only API according to the current env.\n */\n if (isWorker) {\n const channel = new WorkerConsumerChannel();\n channel.expose(new PlatformWorkerAPI());\n } else {\n const channel = new IFrameConsumerChannel();\n channel.expose(new PlatformFrameAPI());\n }\n\n globalThis[INIT_KEY] = true;\n}\n","import './env';\n\nimport { createHostModule, HostModule } from '@wix/sdk-runtime/host-modules';\nimport { Host } from '@wix/sdk-types';\nimport {\n ApplicationContext,\n EnvironmentContext,\n IAddonContext,\n IEditorApplicationContext,\n} from '@wix/editor-application-context';\n\ninterface IHostContexts {\n environmentContext: EnvironmentContext;\n applicationContext: ApplicationContext<\n IEditorApplicationContext | IAddonContext\n >;\n}\n\ntype UnwrapShape<T> = {\n [K in keyof T]: T[K] extends (contexts: IHostContexts) => infer R ? R : never;\n};\n\nexport class PlatformSDKShape<\n TShape extends Record<\n string,\n (contexts: IHostContexts) => (...args: any[]) => any\n >,\n> {\n constructor(\n public namespace: string,\n private shape: TShape,\n ) {\n // Object.assign(this.shape, {\n // [Symbol(`platform-sdk-shape-namespace`)]: this.namespace,\n // });\n }\n\n build() {\n return createHostModule<Host, TShape>(\n Object.fromEntries(\n Object.entries(this.shape).map(([key, value]) => [\n key,\n (host: IHostContexts) => {\n /**\n * this is case when shapes are used as a host modules,\n * meaning without calling the createClient, and use one from the context\n */\n if (host?.environmentContext && host?.applicationContext) {\n return async (...args: any) => {\n const [environmentContext, applicationContext] =\n await Promise.all([\n host.environmentContext,\n host.applicationContext,\n ]);\n\n return value({\n environmentContext,\n applicationContext,\n })(...args);\n };\n }\n\n /**\n * the fallback to platform's contexts\n * if for some reason they are not available at the host.\n * for instance:\n * - `createClient` is not created or created with a wrong configuration\n */\n return async (...args: any) => {\n const [environmentContext, applicationContext] =\n await Promise.all([\n EnvironmentContext.getInstance(),\n ApplicationContext.getInstance(),\n ]);\n\n return value({\n environmentContext,\n applicationContext,\n })(...args);\n };\n },\n ]),\n ) as unknown as { [K in keyof TShape]: () => TShape[K] },\n ) as UnwrapShape<TShape> & HostModule<UnwrapShape<TShape>, Host>;\n }\n}\n","import { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst applicationShape = new PlatformSDKShape('application', {\n getPrivateAPI({ applicationContext }) {\n return async <TApplicationPrivateAPI = any>() => {\n return applicationContext.getPrivateApplicationAPI() as TApplicationPrivateAPI;\n };\n },\n\n getPublicAPI({ applicationContext }) {\n return async <TApplicationPrivateAPI>(appDefinitionId: string) => {\n const privateAPI = applicationContext.getPrivateAPI();\n\n return privateAPI.applicationManager.getPublicApplicationAPI(\n appDefinitionId,\n ) as TApplicationPrivateAPI;\n };\n },\n\n getAppInstance({ applicationContext }) {\n return async () => {\n const privateAPI = applicationContext.getPrivateAPI();\n const bindings = applicationContext.getBindings();\n\n return privateAPI.info.getAppInstance(bindings.appDefinitionId);\n };\n },\n});\n\nexport default applicationShape.build();\n","import { IComponent } from '@wix/editor-application-context';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst componentsShape = new PlatformSDKShape('components', {\n getSelectedComponents({ applicationContext }) {\n return async (): Promise<IComponent[]> => {\n const privateAPI = applicationContext.getPrivateAPI();\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});\n\nexport default componentsShape.build();\n","import {\n AppEventPayload,\n AllowedEvents,\n} from '@wix/editor-application-context';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst eventsShape = new PlatformSDKShape('events', {\n addEventListener({ applicationContext }) {\n return async (\n name: any,\n // TODO: fix types\n cb: (payload: AppEventPayload<AllowedEvents>) => void,\n ) => {\n return applicationContext.getEvents().addEventListener(name, cb);\n };\n },\n});\n\nexport default eventsShape.build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst infoShape = new PlatformSDKShape('info', {\n getViewMode({ applicationContext }) {\n return async () => {\n const privateAPI = applicationContext.getPrivateAPI();\n return privateAPI.info.getViewMode();\n };\n },\n\n getLanguageCode({ applicationContext }) {\n return async () => {\n const privateAPI = applicationContext.getPrivateAPI();\n return privateAPI.info.getLanguageCode();\n };\n },\n});\n\nexport default infoShape.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 components from '../components';\nimport { createWidgetShapeError, WidgetShapeErrorCode } from './errors';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\n\nconst getSelectedComponentRef = async () => {\n const selected = await components.getSelectedComponents();\n const compRef = selected[0]?.compRef;\n\n if (!compRef) {\n throw createWidgetShapeError(WidgetShapeErrorCode.UndefinedCompRef);\n }\n\n return compRef;\n};\n\nconst widgetShape = new PlatformSDKShape('widget', {\n getProp({ applicationContext }) {\n return async (propName: string): Promise<string> => {\n const privateAPI = applicationContext.getPrivateAPI();\n const compRef = await getSelectedComponentRef();\n\n return privateAPI.customElement.getAttribute(compRef, propName);\n };\n },\n setProp({ applicationContext }) {\n return async (propName: string, value: string): Promise<void> => {\n const privateAPI = applicationContext.getPrivateAPI();\n const compRef = await getSelectedComponentRef();\n\n await privateAPI.customElement.setAttribute(compRef, propName, value);\n };\n },\n});\n\nexport default widgetShape.build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\n\ninterface IColorValue {\n color: string;\n theme?: string;\n}\n\ninterface IFontValue {\n family?: string;\n style?: {\n bold?: boolean;\n italic?: boolean;\n underline?: boolean;\n };\n size?: number;\n theme?: string;\n}\n\ntype IFontValueInternal = IFontValue & {\n editorKey?: string;\n preset?: string;\n};\n\nconst fonts = {\n transformFontInternalValue: (value?: IFontValue): IFontValueInternal => {\n if (value) {\n const { theme, ...rest } = fonts.normalize(value);\n\n return {\n ...rest,\n editorKey: 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 transformFontPublicValue: (\n value?: IFontValue & IFontValueInternal,\n ): IFontValue | null => {\n if (!value) {\n return null;\n }\n\n return {\n ...fonts.normalize(value),\n theme: value.editorKey,\n };\n },\n\n normalize: ({\n theme,\n editorKey,\n preset,\n ...rest\n }: IFontValueInternal): IFontValue => {\n return {\n ...rest,\n theme: theme ?? editorKey,\n };\n },\n};\n\nconst inputsShape = new PlatformSDKShape('inputs', {\n selectColor({ applicationContext }) {\n return async (\n value?: Partial<IColorValue>,\n onColorChange?: (value: IColorValue) => void,\n ): Promise<IColorValue | null> => {\n const privateAPI = applicationContext.getPrivateAPI() as any;\n\n let _value: IColorValue | null = value\n ? ({\n color: value.color,\n theme: value?.theme,\n } as IColorValue)\n : null;\n\n await privateAPI.inputs.openColorPicker(\n {\n color: value?.theme ? value.theme : value?.color,\n },\n ({\n color,\n theme,\n }: {\n color: string;\n theme: string;\n isHover: boolean;\n }) => {\n const _color = { color, theme };\n\n _value = _color;\n onColorChange?.(_color);\n },\n );\n\n return _value;\n };\n },\n\n selectFont({ applicationContext }) {\n return async (\n value?: IFontValue,\n options?: {\n title?: string;\n panelSectionsDefinition?: Partial<{\n theme: 'hidden' | 'enabled';\n font: 'hidden' | 'enabled';\n size: 'hidden' | 'enabled';\n style: 'hidden' | 'enabled';\n htmlTag: 'hidden' | 'enabled';\n }>;\n fontMaxSize?: number;\n fontMinSize?: number;\n },\n onFontChange?: (value: IFontValue) => void,\n ): Promise<IFontValue | null> => {\n const privateAPI = applicationContext.getPrivateAPI() as any;\n\n let _value = fonts.transformFontPublicValue(value) as IFontValue;\n\n const applyChanges = (...changes: (string | number)[]) => {\n if (!_value) {\n _value = fonts.transformFontPublicValue(\n fonts.transformFontInternalValue(value),\n ) as IFontValue;\n }\n\n switch (changes[0]) {\n case 'theme':\n Object.assign(_value, {\n theme: changes[1],\n });\n\n break;\n\n case 'size':\n Object.assign(_value, {\n size: changes[1],\n });\n\n break;\n\n case 'bold':\n Object.assign(_value, {\n style: {\n ..._value.style,\n bold: changes[1],\n },\n });\n\n break;\n\n case 'italic':\n Object.assign(_value, {\n style: {\n ..._value.style,\n italic: changes[1],\n },\n });\n\n break;\n\n case 'underline':\n Object.assign(_value, {\n style: {\n ..._value.style,\n underline: changes[1],\n },\n });\n\n break;\n\n case 'family':\n Object.assign(_value, {\n family: changes[1],\n });\n\n break;\n }\n };\n\n await privateAPI.inputs.openFontPicker(\n {\n ...options,\n componentStyle: fonts.transformFontInternalValue(value),\n },\n (...changes: (string | number)[]) => {\n applyChanges(...changes);\n onFontChange?.(_value!);\n },\n );\n\n return _value;\n };\n },\n});\n\nexport default inputsShape.build();\n","import type { WixSDKTypes } from '@wix/public-editor-platform-interfaces';\nimport {\n ApplicationContext,\n EnvironmentContext,\n} from '@wix/editor-application-context';\n\nexport const editorPlatformFrameHost = (): WixSDKTypes.Host & {\n environmentContext: Promise<EnvironmentContext>;\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 channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n environmentContext: EnvironmentContext.getInstance(),\n applicationContext: ApplicationContext.getInstance(),\n essentials: queryParams.has('essentials')\n ? JSON.parse(queryParams.get('essentials')!)\n : {},\n };\n};\n","import type { WixSDKTypes } from '@wix/public-editor-platform-interfaces';\nimport {\n ApplicationContext,\n EnvironmentContext,\n} from '@wix/editor-application-context';\n\nexport const editorPlatformWorkerHost = (): WixSDKTypes.Host & {\n environmentContext: Promise<EnvironmentContext>;\n applicationContext: Promise<ApplicationContext<any>>;\n} => {\n return {\n environment: {},\n channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n environmentContext: EnvironmentContext.getInstance(),\n applicationContext: ApplicationContext.getInstance(),\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';\n\nimport { editorPlatformFrameHost } from './editorPlatformFrameHost';\nimport { editorPlatformWorkerHost } from './editorPlatformWorkerHost';\n\nexport const editor = {\n host: () => {\n const isWorker = typeof importScripts === 'function';\n\n if (isWorker) {\n return editorPlatformWorkerHost();\n }\n\n return editorPlatformFrameHost();\n },\n auth,\n};\n"],"names":["BaseError","createErrorBuilder","PlatformAppEvent","WorkerConsumerChannel","PlatformWorkerAPI","IFrameConsumerChannel","PlatformFrameAPI","createHostModule","WidgetShapeErrorCode"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/editor",
3
- "version": "1.315.0",
3
+ "version": "1.317.0",
4
4
  "license": "UNLICENSED",
5
5
  "author": {
6
6
  "name": "Editor Platform <editor-platform-dev@wix.com>",
@@ -60,5 +60,5 @@
60
60
  ]
61
61
  }
62
62
  },
63
- "falconPackageHash": "744a829aa8cbb877a7e5904dd9a4f142152356a193ebd7be44e8c0e3"
63
+ "falconPackageHash": "54bd8afe48f40c02e5cf747054b803909e8614c47f40a66287a98fb4"
64
64
  }