@wix/editor 1.306.0 → 1.307.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
@@ -2,13 +2,14 @@
2
2
 
3
3
  var publicEditorPlatformErrors = require('@wix/public-editor-platform-errors');
4
4
  var publicEditorPlatformEvents = require('@wix/public-editor-platform-events');
5
- var hostModules = require('@wix/sdk-runtime/host-modules');
6
5
  var editorPlatformTransport = require('@wix/editor-platform-transport');
7
6
  var platformFrameApi = require('@wix/editor-application/platform-frame-api');
8
7
  var platformWorkerApi = require('@wix/editor-application/platform-worker-api');
8
+ var hostModules = require('@wix/sdk-runtime/host-modules');
9
9
 
10
10
  var EditorPlatformApplicationContextErrorCode = /* @__PURE__ */ ((EditorPlatformApplicationContextErrorCode2) => {
11
11
  EditorPlatformApplicationContextErrorCode2["IncorrectEnvironment"] = "IncorrectEnvironment";
12
+ EditorPlatformApplicationContextErrorCode2["ClientAuthError"] = "ClientAuthError";
12
13
  return EditorPlatformApplicationContextErrorCode2;
13
14
  })(EditorPlatformApplicationContextErrorCode || {});
14
15
  class EditorPlatformApplicationContextError extends publicEditorPlatformErrors.BaseError {
@@ -171,6 +172,7 @@ const ENVIRONMENT_CONTEXT_KEY = "__ENVIRONMENT_CONTEXT_KEY";
171
172
  var PlatformEnvironment = /* @__PURE__ */ ((PlatformEnvironment2) => {
172
173
  PlatformEnvironment2["Worker"] = "Worker";
173
174
  PlatformEnvironment2["Frame"] = "Frame";
175
+ PlatformEnvironment2["ComponentPanel"] = "ComponentPanel";
174
176
  return PlatformEnvironment2;
175
177
  })(PlatformEnvironment || {});
176
178
  class EnvironmentContext {
@@ -315,77 +317,108 @@ const auth = () => {
315
317
  };
316
318
  };
317
319
 
320
+ const isWorker = typeof importScripts === "function";
321
+ if (isWorker) {
322
+ const channel = new editorPlatformTransport.WorkerConsumerChannel();
323
+ channel.expose(new platformWorkerApi.PlatformWorkerAPI());
324
+ } else {
325
+ const channel = new editorPlatformTransport.IFrameConsumerChannel();
326
+ channel.expose(new platformFrameApi.PlatformFrameAPI());
327
+ }
328
+
318
329
  class PlatformSDKShape {
319
330
  constructor(namespace, shape) {
320
331
  this.namespace = namespace;
321
332
  this.shape = shape;
322
333
  }
323
- static create(namespace, shape) {
324
- return new PlatformSDKShape(namespace, shape);
325
- }
326
334
  build() {
327
335
  return hostModules.createHostModule(
328
336
  Object.fromEntries(
329
- Object.entries(this.shape).map(([key, value]) => [key, () => value])
337
+ Object.entries(this.shape).map(([key, value]) => [
338
+ key,
339
+ (host) => {
340
+ if (host?.environmentContext && host?.applicationContext) {
341
+ return value({
342
+ environmentContext: host.environmentContext,
343
+ applicationContext: host.applicationContext
344
+ });
345
+ }
346
+ return async (...args) => {
347
+ const environmentContext = await EnvironmentContext.getInstance();
348
+ const applicationContext = await ApplicationContext.getInstance();
349
+ return value({
350
+ environmentContext,
351
+ applicationContext
352
+ })(...args);
353
+ };
354
+ }
355
+ ])
330
356
  )
331
357
  );
332
358
  }
333
359
  }
334
360
 
335
- const application = {
336
- getPrivateAPI: async () => {
337
- const context = await ApplicationContext.getInstance();
338
- return context.getPrivateApplicationAPI();
361
+ const applicationShape = new PlatformSDKShape("application", {
362
+ getPrivateAPI({ applicationContext }) {
363
+ return async () => {
364
+ return applicationContext.getPrivateApplicationAPI();
365
+ };
339
366
  },
340
- getPublicAPI: async (appDefinitionId) => {
341
- const context = await ApplicationContext.getInstance();
342
- const privateAPI = context.getPrivateAPI();
343
- return privateAPI.applicationManager.getPublicApplicationAPI(
344
- appDefinitionId
345
- );
367
+ getPublicAPI({ applicationContext }) {
368
+ return async (appDefinitionId) => {
369
+ const privateAPI = applicationContext.getPrivateAPI();
370
+ return privateAPI.applicationManager.getPublicApplicationAPI(
371
+ appDefinitionId
372
+ );
373
+ };
346
374
  },
347
- getAppInstance: async () => {
348
- const context = await ApplicationContext.getInstance();
349
- const privateAPI = context.getPrivateAPI();
350
- const bindings = context.getBindings();
351
- return privateAPI.info.getAppInstance(bindings.appDefinitionId);
375
+ getAppInstance({ applicationContext }) {
376
+ return async () => {
377
+ const privateAPI = applicationContext.getPrivateAPI();
378
+ const bindings = applicationContext.getBindings();
379
+ return privateAPI.info.getAppInstance(bindings.appDefinitionId);
380
+ };
352
381
  }
353
- };
354
- var index$5 = PlatformSDKShape.create("application", application).build();
382
+ });
383
+ var index$4 = applicationShape.build();
355
384
 
356
- const components = {
357
- async getSelectedComponents() {
358
- const context = await ApplicationContext.getInstance();
359
- const privateAPI = context.getPrivateAPI();
360
- const refs = await privateAPI.components.getSelectedComponents();
361
- return Promise.all(
362
- refs.map((ref) => privateAPI.components.getComponent(ref))
363
- );
385
+ const componentsShape = new PlatformSDKShape("components", {
386
+ getSelectedComponents({ applicationContext }) {
387
+ return async () => {
388
+ const privateAPI = applicationContext.getPrivateAPI();
389
+ const refs = await privateAPI.components.getSelectedComponents();
390
+ return Promise.all(
391
+ refs.map((ref) => privateAPI.components.getComponent(ref))
392
+ );
393
+ };
364
394
  }
365
- };
366
- var index$4 = PlatformSDKShape.create("components", components).build();
395
+ });
396
+ var components = componentsShape.build();
367
397
 
368
- const events = {
369
- addEventListener: async (name, cb) => {
370
- const context = await ApplicationContext.getInstance();
371
- return context.getEvents().addEventListener(name, cb);
398
+ const eventsShape = new PlatformSDKShape("events", {
399
+ addEventListener({ applicationContext }) {
400
+ return async (name, cb) => {
401
+ return applicationContext.getEvents().addEventListener(name, cb);
402
+ };
372
403
  }
373
- };
374
- var index$3 = PlatformSDKShape.create("events", events).build();
404
+ });
405
+ var index$3 = eventsShape.build();
375
406
 
376
- const info = {
377
- async getViewMode() {
378
- const context = await ApplicationContext.getInstance();
379
- const privateAPI = context.getPrivateAPI();
380
- return privateAPI.info.getViewMode();
407
+ const infoShape = new PlatformSDKShape("info", {
408
+ getViewMode({ applicationContext }) {
409
+ return async () => {
410
+ const privateAPI = applicationContext.getPrivateAPI();
411
+ return privateAPI.info.getViewMode();
412
+ };
381
413
  },
382
- async getLanguageCode() {
383
- const context = await ApplicationContext.getInstance();
384
- const privateAPI = context.getPrivateAPI();
385
- return privateAPI.info.getLanguageCode();
414
+ getLanguageCode({ applicationContext }) {
415
+ return async () => {
416
+ const privateAPI = applicationContext.getPrivateAPI();
417
+ return privateAPI.info.getLanguageCode();
418
+ };
386
419
  }
387
- };
388
- var index$2 = PlatformSDKShape.create("info", info).build();
420
+ });
421
+ var index$2 = infoShape.build();
389
422
 
390
423
  var WidgetShapeErrorCode = /* @__PURE__ */ ((WidgetShapeErrorCode2) => {
391
424
  WidgetShapeErrorCode2["UndefinedCompRef"] = "UndefinedCompRef";
@@ -406,28 +439,23 @@ const getSelectedComponentRef = async () => {
406
439
  }
407
440
  return compRef;
408
441
  };
409
- const widget = {
410
- // async getAttributes(): Promise<Record<string, string>> {
411
- // const context = await ApplicationContext.getInstance();
412
- // const privateAPI = context.getPrivateAPI();
413
- // const compRef = await getSelectedComponentRef();
414
- //
415
- // return privateAPI.customElement.getAttributes(compRef);
416
- // },
417
- async getProp(propName) {
418
- const context = await ApplicationContext.getInstance();
419
- const privateAPI = context.getPrivateAPI();
420
- const compRef = await getSelectedComponentRef();
421
- return privateAPI.customElement.getAttribute(compRef, propName);
442
+ const widgetShape = new PlatformSDKShape("widget", {
443
+ getProp({ applicationContext }) {
444
+ return async (propName) => {
445
+ const privateAPI = applicationContext.getPrivateAPI();
446
+ const compRef = await getSelectedComponentRef();
447
+ return privateAPI.customElement.getAttribute(compRef, propName);
448
+ };
422
449
  },
423
- async setProp(propName, value) {
424
- const context = await ApplicationContext.getInstance();
425
- const privateAPI = context.getPrivateAPI();
426
- const compRef = await getSelectedComponentRef();
427
- await privateAPI.customElement.setAttribute(compRef, propName, value);
450
+ setProp({ applicationContext }) {
451
+ return async (propName, value) => {
452
+ const privateAPI = applicationContext.getPrivateAPI();
453
+ const compRef = await getSelectedComponentRef();
454
+ await privateAPI.customElement.setAttribute(compRef, propName, value);
455
+ };
428
456
  }
429
- };
430
- var index$1 = PlatformSDKShape.create("widget", widget).build();
457
+ });
458
+ var index$1 = widgetShape.build();
431
459
 
432
460
  const fonts = {
433
461
  transformFontInternalValue: (value) => {
@@ -467,99 +495,99 @@ const fonts = {
467
495
  };
468
496
  }
469
497
  };
470
- const inputs = {
471
- async selectColor(value, onColorChange) {
472
- const context = await ApplicationContext.getInstance();
473
- const privateAPI = context.getPrivateAPI();
474
- let _value = value ? {
475
- color: value.color,
476
- theme: value?.theme
477
- } : null;
478
- await privateAPI.inputs.openColorPicker(
479
- {
480
- color: value?.theme ? value.theme : value?.color
481
- },
482
- ({
483
- color,
484
- theme
485
- }) => {
486
- const _color = { color, theme };
487
- _value = _color;
488
- onColorChange?.(_color);
489
- }
490
- );
491
- return _value;
498
+ const inputsShape = new PlatformSDKShape("inputs", {
499
+ selectColor({ applicationContext }) {
500
+ return async (value, onColorChange) => {
501
+ const privateAPI = applicationContext.getPrivateAPI();
502
+ let _value = value ? {
503
+ color: value.color,
504
+ theme: value?.theme
505
+ } : null;
506
+ await privateAPI.inputs.openColorPicker(
507
+ {
508
+ color: value?.theme ? value.theme : value?.color
509
+ },
510
+ ({
511
+ color,
512
+ theme
513
+ }) => {
514
+ const _color = { color, theme };
515
+ _value = _color;
516
+ onColorChange?.(_color);
517
+ }
518
+ );
519
+ return _value;
520
+ };
492
521
  },
493
- async selectFont(value, options, onFontChange) {
494
- const context = await ApplicationContext.getInstance();
495
- const privateAPI = context.getPrivateAPI();
496
- let _value = fonts.transformFontPublicValue(value);
497
- const applyChanges = (...changes) => {
498
- if (!_value) {
499
- _value = fonts.transformFontPublicValue(
500
- fonts.transformFontInternalValue(value)
501
- );
502
- }
503
- switch (changes[0]) {
504
- case "theme":
505
- Object.assign(_value, {
506
- theme: changes[1]
507
- });
508
- break;
509
- case "size":
510
- Object.assign(_value, {
511
- size: changes[1]
512
- });
513
- break;
514
- case "bold":
515
- Object.assign(_value, {
516
- style: {
517
- ..._value.style,
518
- bold: changes[1]
519
- }
520
- });
521
- break;
522
- case "italic":
523
- Object.assign(_value, {
524
- style: {
525
- ..._value.style,
526
- italic: changes[1]
527
- }
528
- });
529
- break;
530
- case "underline":
531
- Object.assign(_value, {
532
- style: {
533
- ..._value.style,
534
- underline: changes[1]
535
- }
536
- });
537
- break;
538
- case "family":
539
- Object.assign(_value, {
540
- family: changes[1]
541
- });
542
- break;
543
- }
522
+ selectFont({ applicationContext }) {
523
+ return async (value, options, onFontChange) => {
524
+ const privateAPI = applicationContext.getPrivateAPI();
525
+ let _value = fonts.transformFontPublicValue(value);
526
+ const applyChanges = (...changes) => {
527
+ if (!_value) {
528
+ _value = fonts.transformFontPublicValue(
529
+ fonts.transformFontInternalValue(value)
530
+ );
531
+ }
532
+ switch (changes[0]) {
533
+ case "theme":
534
+ Object.assign(_value, {
535
+ theme: changes[1]
536
+ });
537
+ break;
538
+ case "size":
539
+ Object.assign(_value, {
540
+ size: changes[1]
541
+ });
542
+ break;
543
+ case "bold":
544
+ Object.assign(_value, {
545
+ style: {
546
+ ..._value.style,
547
+ bold: changes[1]
548
+ }
549
+ });
550
+ break;
551
+ case "italic":
552
+ Object.assign(_value, {
553
+ style: {
554
+ ..._value.style,
555
+ italic: changes[1]
556
+ }
557
+ });
558
+ break;
559
+ case "underline":
560
+ Object.assign(_value, {
561
+ style: {
562
+ ..._value.style,
563
+ underline: changes[1]
564
+ }
565
+ });
566
+ break;
567
+ case "family":
568
+ Object.assign(_value, {
569
+ family: changes[1]
570
+ });
571
+ break;
572
+ }
573
+ };
574
+ await privateAPI.inputs.openFontPicker(
575
+ {
576
+ ...options,
577
+ componentStyle: fonts.transformFontInternalValue(value)
578
+ },
579
+ (...changes) => {
580
+ applyChanges(...changes);
581
+ onFontChange?.(_value);
582
+ }
583
+ );
584
+ return _value;
544
585
  };
545
- await privateAPI.inputs.openFontPicker(
546
- {
547
- ...options,
548
- componentStyle: fonts.transformFontInternalValue(value)
549
- },
550
- (...changes) => {
551
- applyChanges(...changes);
552
- onFontChange?.(_value);
553
- }
554
- );
555
- return _value;
556
586
  }
557
- };
558
- var index = PlatformSDKShape.create("inputs", inputs).build();
587
+ });
588
+ var index = inputsShape.build();
559
589
 
560
590
  const editorPlatformFrameHost = () => {
561
- const channel = new editorPlatformTransport.IFrameConsumerChannel();
562
- channel.expose(new platformFrameApi.PlatformFrameAPI());
563
591
  return {
564
592
  environment: {},
565
593
  channel: {
@@ -572,8 +600,6 @@ const editorPlatformFrameHost = () => {
572
600
  };
573
601
 
574
602
  const editorPlatformWorkerHost = () => {
575
- const channel = new editorPlatformTransport.WorkerConsumerChannel();
576
- channel.expose(new platformWorkerApi.PlatformWorkerAPI());
577
603
  return {
578
604
  environment: {},
579
605
  channel: {
@@ -596,8 +622,8 @@ const editor = {
596
622
  auth
597
623
  };
598
624
 
599
- exports.application = index$5;
600
- exports.components = index$4;
625
+ exports.application = index$4;
626
+ exports.components = components;
601
627
  exports.editor = editor;
602
628
  exports.events = index$3;
603
629
  exports.info = index$2;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../editor-platform-application-context/dist/esm/index.js","../../src/auth.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 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 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\nexport { APPLICATION_CONTEXT_KEY, ApplicationBoundEvents, ApplicationContext, ENVIRONMENT_CONTEXT_KEY, EnvironmentContext, PlatformEnvironment };\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';\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 createAuthStrategyShapeError = createErrorBuilder<\n EditorPlatformSDKAuthErrorCode,\n EditorPlatformSDKAuthError\n>(EditorPlatformSDKAuthError);\n\nexport const auth = () => {\n return {\n getAuthHeaders: async () => {\n const context = await ApplicationContext.getInstance();\n const privateAPI = context.getPrivateAPI();\n const bindings = context.getBindings();\n\n if (!bindings.appDefinitionId) {\n throw createAuthStrategyShapeError(\n EditorPlatformSDKAuthErrorCode.EmptyAppDefinitionId,\n );\n }\n\n const authInstance = await privateAPI.info.getAppInstance(\n bindings.appDefinitionId,\n );\n\n if (authInstance === undefined) {\n throw createAuthStrategyShapeError(\n EditorPlatformSDKAuthErrorCode.EmptyAppAuthInstance,\n ).withAppDefinitionId(bindings.appDefinitionId);\n }\n\n return {\n headers: {\n Authorization: authInstance,\n },\n };\n },\n };\n};\n","import { createHostModule } from '@wix/sdk-runtime/host-modules';\nimport { Host } from '@wix/sdk-types';\n\nexport class PlatformSDKShape<TShape extends Record<string, any>> {\n static create<TShape extends Record<string, any>>(\n namespace: string,\n shape: TShape,\n ) {\n return new PlatformSDKShape<TShape>(namespace, shape);\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]) => [key, () => value]),\n ) as { [K in keyof TShape]: () => TShape[K] },\n );\n }\n}\n","import { ApplicationContext } from '@wix/editor-application-context';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\n\nexport const application = {\n getPrivateAPI: async <TApplicationPrivateAPI = any>() => {\n const context = await ApplicationContext.getInstance();\n return context.getPrivateApplicationAPI() as TApplicationPrivateAPI;\n },\n getPublicAPI: async <TApplicationPrivateAPI = any>(\n appDefinitionId: string,\n ) => {\n const context = await ApplicationContext.getInstance();\n const privateAPI = context.getPrivateAPI();\n\n return privateAPI.applicationManager.getPublicApplicationAPI(\n appDefinitionId,\n ) as TApplicationPrivateAPI;\n },\n getAppInstance: async () => {\n const context = await ApplicationContext.getInstance();\n const privateAPI = context.getPrivateAPI();\n const bindings = context.getBindings();\n\n return privateAPI.info.getAppInstance(bindings.appDefinitionId);\n },\n};\n\nexport default PlatformSDKShape.create('application', application).build();\n","import {\n ApplicationContext,\n IComponent,\n} from '@wix/editor-application-context';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\n\nexport const components = {\n async getSelectedComponents(): Promise<IComponent[]> {\n const context = await ApplicationContext.getInstance();\n const privateAPI = context.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\nexport default PlatformSDKShape.create('components', components).build();\n","import {\n ApplicationContext,\n AppEventPayload,\n AllowedEvents,\n} from '@wix/editor-application-context';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\n\nexport const events = {\n addEventListener: async (\n name: any,\n // TODO: fix types\n cb: (payload: AppEventPayload<AllowedEvents>) => void,\n ) => {\n const context = await ApplicationContext.getInstance();\n return context.getEvents().addEventListener(name, cb);\n },\n};\n\nexport default PlatformSDKShape.create('events', events).build();\n","import { ApplicationContext } from '@wix/editor-application-context';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\n\nexport const info = {\n async getViewMode() {\n const context = await ApplicationContext.getInstance();\n const privateAPI = context.getPrivateAPI();\n return privateAPI.info.getViewMode();\n },\n\n async getLanguageCode() {\n const context = await ApplicationContext.getInstance();\n const privateAPI = context.getPrivateAPI();\n return privateAPI.info.getLanguageCode();\n },\n};\n\nexport default PlatformSDKShape.create('info', info).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 { ApplicationContext } from '@wix/editor-application-context';\nimport { 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\nexport const widget = {\n // async getAttributes(): Promise<Record<string, string>> {\n // const context = await ApplicationContext.getInstance();\n // const privateAPI = context.getPrivateAPI();\n // const compRef = await getSelectedComponentRef();\n //\n // return privateAPI.customElement.getAttributes(compRef);\n // },\n async getProp(propName: string): Promise<string> {\n const context = await ApplicationContext.getInstance();\n const privateAPI = context.getPrivateAPI();\n const compRef = await getSelectedComponentRef();\n\n return privateAPI.customElement.getAttribute(compRef, propName);\n },\n async setProp(propName: string, value: string): Promise<void> {\n const context = await ApplicationContext.getInstance();\n const privateAPI = context.getPrivateAPI();\n const compRef = await getSelectedComponentRef();\n\n await privateAPI.customElement.setAttribute(compRef, propName, value);\n },\n};\n\nexport default PlatformSDKShape.create('widget', widget).build();\n","import { ApplicationContext } from '@wix/editor-application-context';\nimport { 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\nexport const inputs = {\n async selectColor(\n value?: Partial<IColorValue>,\n onColorChange?: (value: IColorValue) => void,\n ): Promise<IColorValue | null> {\n const context = await ApplicationContext.getInstance();\n const privateAPI = context.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 async selectFont(\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 context = await ApplicationContext.getInstance();\n const privateAPI = context.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\nexport default PlatformSDKShape.create('inputs', inputs).build();\n","import { IFrameConsumerChannel } from '@wix/editor-platform-transport';\nimport { PlatformFrameAPI } from '@wix/editor-application/platform-frame-api';\nimport type { WixSDKTypes } from '@wix/public-editor-platform-interfaces';\n\n/**\n * TODO: expose channel from the host so all platform related modules\n * might get rid from the global Application and Environment contexts\n */\nexport const editorPlatformFrameHost = (): WixSDKTypes.Host => {\n const channel = new IFrameConsumerChannel();\n channel.expose(new PlatformFrameAPI());\n\n return {\n environment: {},\n channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n };\n};\n","import { WorkerConsumerChannel } from '@wix/editor-platform-transport';\nimport { PlatformWorkerAPI } from '@wix/editor-application/platform-worker-api';\nimport type { WixSDKTypes } from '@wix/public-editor-platform-interfaces';\n\n/**\n * TODO: expose channel from the host so all platform related modules\n * might get rid from the global Application and Environment contexts\n */\nexport const editorPlatformWorkerHost = (): WixSDKTypes.Host => {\n const channel = new WorkerConsumerChannel();\n channel.expose(new PlatformWorkerAPI());\n\n return {\n environment: {},\n channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n };\n};\n","import { auth } from './auth';\n\nexport { default as application } from './application';\nexport { default as components } from './components';\nexport { default as events } from './events';\nexport { default as info } from './info';\nexport { default as widget } from './widget';\nexport { default as inputs } from './inputs';\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","createHostModule","WidgetShapeErrorCode","IFrameConsumerChannel","PlatformFrameAPI","WorkerConsumerChannel","PlatformWorkerAPI"],"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, PlatformAppEventEmitter } 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 createSDKHost = (props) => {\n const environmentContext = new EnvironmentContext({\n environment: props.environment,\n privateApi: props.privateAPI,\n events: props.events ?? new PlatformAppEventEmitter(),\n applicationAPIs: props.applicationPrivateAPI ? {\n [props.appDefinitionId]: props.applicationPrivateAPI\n } : {}\n });\n const applicationContext = new ApplicationContext(\n {\n appDefinitionId: props.appDefinitionId,\n appDefinitionName: \"\"\n },\n environmentContext\n );\n return {\n environment: {},\n channel: {\n observeState: async () => {\n return {\n disconnect() {\n }\n };\n }\n },\n environmentContext,\n applicationContext\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, createSDKHost };\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';\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 createAuthStrategyShapeError = createErrorBuilder<\n EditorPlatformSDKAuthErrorCode,\n EditorPlatformSDKAuthError\n>(EditorPlatformSDKAuthError);\n\nexport const auth = () => {\n return {\n getAuthHeaders: async () => {\n const context = await ApplicationContext.getInstance();\n const privateAPI = context.getPrivateAPI();\n const bindings = context.getBindings();\n\n if (!bindings.appDefinitionId) {\n throw createAuthStrategyShapeError(\n EditorPlatformSDKAuthErrorCode.EmptyAppDefinitionId,\n );\n }\n\n const authInstance = await privateAPI.info.getAppInstance(\n bindings.appDefinitionId,\n );\n\n if (authInstance === undefined) {\n throw createAuthStrategyShapeError(\n EditorPlatformSDKAuthErrorCode.EmptyAppAuthInstance,\n ).withAppDefinitionId(bindings.appDefinitionId);\n }\n\n return {\n headers: {\n Authorization: authInstance,\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\nconst 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 */\nif (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","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 value({\n environmentContext: host.environmentContext,\n applicationContext: host.applicationContext,\n });\n }\n\n /**\n * this is case when\n * createClient is created manually\n */\n return async (...args: any) => {\n const environmentContext = await EnvironmentContext.getInstance();\n const applicationContext = await ApplicationContext.getInstance();\n\n return value({\n environmentContext,\n applicationContext,\n })(...args);\n };\n },\n ]),\n ) 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';\n\nexport const editorPlatformFrameHost = (): WixSDKTypes.Host => {\n return {\n environment: {},\n channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n };\n};\n","import type { WixSDKTypes } from '@wix/public-editor-platform-interfaces';\n\nexport const editorPlatformWorkerHost = (): WixSDKTypes.Host => {\n return {\n environment: {},\n channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n };\n};\n","import { auth } from './auth';\n\nexport { default as application } from './application';\nexport { default as components } from './components';\nexport { default as events } from './events';\nexport { default as info } from './info';\nexport { default as widget } from './widget';\nexport { default as inputs } from './inputs';\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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"}