@wix/editor 1.316.0 → 1.318.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,65 +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
- mode: "cors",
300
- body: JSON.stringify(params)
301
- });
302
- const data = await res.json();
303
- return data;
304
- } catch (e) {
305
- throw createAuthStrategyError(
306
- EditorPlatformSDKAuthErrorCode.TokenRequestFailed
307
- ).withAppDefinitionId(params.appDefinitionId);
308
- }
309
- }
310
- async #fetchAccessToken(params) {
311
- return this.#post("create-token", params);
312
- }
313
- async getAccessToken(appDefinitionId, metaSiteId) {
314
- const cacheKey = `${appDefinitionId}`;
315
- const originDomain = globalThis["location"]?.origin ?? "";
316
- const existingToken = this.#accessTokensCache.get(cacheKey);
317
- if (existingToken && this.#hasEnoughTimeUntilExpiry(
318
- existingToken.expires,
319
- ACCESS_TOKEN_EXPIRY_GRACE_PERIOD
320
- )) {
321
- return existingToken.token;
322
- } else {
323
- const newAccessToken = await this.#fetchAccessToken({
324
- appDefinitionId,
325
- metaSiteId,
326
- originDomain
327
- });
328
- this.#accessTokensCache.set(cacheKey, newAccessToken);
329
- return newAccessToken.token;
330
- }
331
- }
332
- }
333
-
334
- var EditorPlatformSDKAuthErrorCode = /* @__PURE__ */ ((EditorPlatformSDKAuthErrorCode2) => {
335
- EditorPlatformSDKAuthErrorCode2["EmptyAppAuthInstance"] = "EmptyAppAuthInstance";
336
- EditorPlatformSDKAuthErrorCode2["TokenRequestFailed"] = "TokenRequestFailed";
337
- EditorPlatformSDKAuthErrorCode2["EmptyAppDefinitionId"] = "EmptyAppDefinitionId";
338
- return EditorPlatformSDKAuthErrorCode2;
339
- })(EditorPlatformSDKAuthErrorCode || {});
340
281
  class EditorPlatformSDKAuthError extends publicEditorPlatformErrors.BaseError {
341
282
  state = {};
342
283
  constructor(message, code) {
@@ -347,16 +288,22 @@ class EditorPlatformSDKAuthError extends publicEditorPlatformErrors.BaseError {
347
288
  return this;
348
289
  }
349
290
  }
350
- 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;
351
298
  const auth = () => {
352
- const authService = new AuthService();
299
+ let instance;
353
300
  return {
354
301
  getAuthHeaders: async () => {
355
302
  const context = await ApplicationContext.getInstance();
356
303
  const bindings = context.getBindings();
357
304
  const privateAPI = context.getPrivateAPI();
358
305
  if (!bindings.appDefinitionId) {
359
- throw createAuthStrategyError(
306
+ throw createEditorPlatformSDKAuthError(
360
307
  "EmptyAppDefinitionId" /* EmptyAppDefinitionId */
361
308
  );
362
309
  }
@@ -369,18 +316,23 @@ const auth = () => {
369
316
  supportNewAuth = false;
370
317
  }
371
318
  if (supportNewAuth) {
372
- const token = await authService.getAccessToken(
373
- bindings.appDefinitionId,
374
- await privateAPI.info.getMetaSiteId()
375
- );
376
- if (token === void 0) {
377
- 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(
378
330
  "EmptyAppAuthInstance" /* EmptyAppAuthInstance */
379
331
  ).withAppDefinitionId(bindings.appDefinitionId);
380
332
  }
381
333
  return {
382
334
  headers: {
383
- Authorization: token
335
+ Authorization: instance.token
384
336
  }
385
337
  };
386
338
  } else {
@@ -388,7 +340,7 @@ const auth = () => {
388
340
  bindings.appDefinitionId
389
341
  );
390
342
  if (authInstance === void 0) {
391
- throw createAuthStrategyError(
343
+ throw createEditorPlatformSDKAuthError(
392
344
  "EmptyAppAuthInstance" /* EmptyAppAuthInstance */
393
345
  ).withAppDefinitionId(bindings.appDefinitionId);
394
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 mode: 'cors',\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,65 +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
- mode: "cors",
298
- body: JSON.stringify(params)
299
- });
300
- const data = await res.json();
301
- return data;
302
- } catch (e) {
303
- throw createAuthStrategyError(
304
- EditorPlatformSDKAuthErrorCode.TokenRequestFailed
305
- ).withAppDefinitionId(params.appDefinitionId);
306
- }
307
- }
308
- async #fetchAccessToken(params) {
309
- return this.#post("create-token", params);
310
- }
311
- async getAccessToken(appDefinitionId, metaSiteId) {
312
- const cacheKey = `${appDefinitionId}`;
313
- const originDomain = globalThis["location"]?.origin ?? "";
314
- const existingToken = this.#accessTokensCache.get(cacheKey);
315
- if (existingToken && this.#hasEnoughTimeUntilExpiry(
316
- existingToken.expires,
317
- ACCESS_TOKEN_EXPIRY_GRACE_PERIOD
318
- )) {
319
- return existingToken.token;
320
- } else {
321
- const newAccessToken = await this.#fetchAccessToken({
322
- appDefinitionId,
323
- metaSiteId,
324
- originDomain
325
- });
326
- this.#accessTokensCache.set(cacheKey, newAccessToken);
327
- return newAccessToken.token;
328
- }
329
- }
330
- }
331
-
332
- var EditorPlatformSDKAuthErrorCode = /* @__PURE__ */ ((EditorPlatformSDKAuthErrorCode2) => {
333
- EditorPlatformSDKAuthErrorCode2["EmptyAppAuthInstance"] = "EmptyAppAuthInstance";
334
- EditorPlatformSDKAuthErrorCode2["TokenRequestFailed"] = "TokenRequestFailed";
335
- EditorPlatformSDKAuthErrorCode2["EmptyAppDefinitionId"] = "EmptyAppDefinitionId";
336
- return EditorPlatformSDKAuthErrorCode2;
337
- })(EditorPlatformSDKAuthErrorCode || {});
338
279
  class EditorPlatformSDKAuthError extends BaseError {
339
280
  state = {};
340
281
  constructor(message, code) {
@@ -345,16 +286,22 @@ class EditorPlatformSDKAuthError extends BaseError {
345
286
  return this;
346
287
  }
347
288
  }
348
- 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;
349
296
  const auth = () => {
350
- const authService = new AuthService();
297
+ let instance;
351
298
  return {
352
299
  getAuthHeaders: async () => {
353
300
  const context = await ApplicationContext.getInstance();
354
301
  const bindings = context.getBindings();
355
302
  const privateAPI = context.getPrivateAPI();
356
303
  if (!bindings.appDefinitionId) {
357
- throw createAuthStrategyError(
304
+ throw createEditorPlatformSDKAuthError(
358
305
  "EmptyAppDefinitionId" /* EmptyAppDefinitionId */
359
306
  );
360
307
  }
@@ -367,18 +314,23 @@ const auth = () => {
367
314
  supportNewAuth = false;
368
315
  }
369
316
  if (supportNewAuth) {
370
- const token = await authService.getAccessToken(
371
- bindings.appDefinitionId,
372
- await privateAPI.info.getMetaSiteId()
373
- );
374
- if (token === void 0) {
375
- 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(
376
328
  "EmptyAppAuthInstance" /* EmptyAppAuthInstance */
377
329
  ).withAppDefinitionId(bindings.appDefinitionId);
378
330
  }
379
331
  return {
380
332
  headers: {
381
- Authorization: token
333
+ Authorization: instance.token
382
334
  }
383
335
  };
384
336
  } else {
@@ -386,7 +338,7 @@ const auth = () => {
386
338
  bindings.appDefinitionId
387
339
  );
388
340
  if (authInstance === void 0) {
389
- throw createAuthStrategyError(
341
+ throw createEditorPlatformSDKAuthError(
390
342
  "EmptyAppAuthInstance" /* EmptyAppAuthInstance */
391
343
  ).withAppDefinitionId(bindings.appDefinitionId);
392
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 mode: 'cors',\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,65 +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
- mode: "cors",
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
278
  class EditorPlatformSDKAuthError extends publicEditorPlatformErrors.BaseError {
338
279
  state = {};
339
280
  constructor(message, code) {
@@ -344,16 +285,22 @@
344
285
  return this;
345
286
  }
346
287
  }
347
- 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;
348
295
  const auth = () => {
349
- const authService = new AuthService();
296
+ let instance;
350
297
  return {
351
298
  getAuthHeaders: async () => {
352
299
  const context = await ApplicationContext.getInstance();
353
300
  const bindings = context.getBindings();
354
301
  const privateAPI = context.getPrivateAPI();
355
302
  if (!bindings.appDefinitionId) {
356
- throw createAuthStrategyError(
303
+ throw createEditorPlatformSDKAuthError(
357
304
  "EmptyAppDefinitionId" /* EmptyAppDefinitionId */
358
305
  );
359
306
  }
@@ -366,18 +313,23 @@
366
313
  supportNewAuth = false;
367
314
  }
368
315
  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(
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(
375
327
  "EmptyAppAuthInstance" /* EmptyAppAuthInstance */
376
328
  ).withAppDefinitionId(bindings.appDefinitionId);
377
329
  }
378
330
  return {
379
331
  headers: {
380
- Authorization: token
332
+ Authorization: instance.token
381
333
  }
382
334
  };
383
335
  } else {
@@ -385,7 +337,7 @@
385
337
  bindings.appDefinitionId
386
338
  );
387
339
  if (authInstance === void 0) {
388
- throw createAuthStrategyError(
340
+ throw createEditorPlatformSDKAuthError(
389
341
  "EmptyAppAuthInstance" /* EmptyAppAuthInstance */
390
342
  ).withAppDefinitionId(bindings.appDefinitionId);
391
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 mode: 'cors',\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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/editor",
3
- "version": "1.316.0",
3
+ "version": "1.318.0",
4
4
  "license": "UNLICENSED",
5
5
  "author": {
6
6
  "name": "Editor Platform <editor-platform-dev@wix.com>",
@@ -30,7 +30,7 @@
30
30
  "*.{js,ts}": "yarn lint"
31
31
  },
32
32
  "dependencies": {
33
- "@wix/editor-application": "1.367.0",
33
+ "@wix/editor-application": "1.370.0",
34
34
  "@wix/editor-application-context": "1.287.0",
35
35
  "@wix/editor-platform-transport": "1.10.0",
36
36
  "@wix/public-editor-platform-errors": "1.8.0",
@@ -60,5 +60,5 @@
60
60
  ]
61
61
  }
62
62
  },
63
- "falconPackageHash": "dfcb69b2e88d943d639bf31a974f7305e37f842f6c5375bde4c237bf"
63
+ "falconPackageHash": "3b4e83c5eeab85e99c4820a143bf251e315a31e665beb943be91aeb6"
64
64
  }