@wix/editor 1.306.0 → 1.308.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,112 @@ const auth = () => {
315
317
  };
316
318
  };
317
319
 
320
+ const INIT_KEY = "_EP_TRANSPORT_INIT_KEY";
321
+ if (!globalThis[INIT_KEY]) {
322
+ const isWorker = typeof importScripts === "function";
323
+ if (isWorker) {
324
+ const channel = new editorPlatformTransport.WorkerConsumerChannel();
325
+ channel.expose(new platformWorkerApi.PlatformWorkerAPI());
326
+ } else {
327
+ const channel = new editorPlatformTransport.IFrameConsumerChannel();
328
+ channel.expose(new platformFrameApi.PlatformFrameAPI());
329
+ }
330
+ globalThis[INIT_KEY] = true;
331
+ }
332
+
318
333
  class PlatformSDKShape {
319
334
  constructor(namespace, shape) {
320
335
  this.namespace = namespace;
321
336
  this.shape = shape;
322
337
  }
323
- static create(namespace, shape) {
324
- return new PlatformSDKShape(namespace, shape);
325
- }
326
338
  build() {
327
339
  return hostModules.createHostModule(
328
340
  Object.fromEntries(
329
- Object.entries(this.shape).map(([key, value]) => [key, () => value])
341
+ Object.entries(this.shape).map(([key, value]) => [
342
+ key,
343
+ (host) => {
344
+ if (host?.environmentContext && host?.applicationContext) {
345
+ return value({
346
+ environmentContext: host.environmentContext,
347
+ applicationContext: host.applicationContext
348
+ });
349
+ }
350
+ return async (...args) => {
351
+ const environmentContext = await EnvironmentContext.getInstance();
352
+ const applicationContext = await ApplicationContext.getInstance();
353
+ return value({
354
+ environmentContext,
355
+ applicationContext
356
+ })(...args);
357
+ };
358
+ }
359
+ ])
330
360
  )
331
361
  );
332
362
  }
333
363
  }
334
364
 
335
- const application = {
336
- getPrivateAPI: async () => {
337
- const context = await ApplicationContext.getInstance();
338
- return context.getPrivateApplicationAPI();
365
+ const applicationShape = new PlatformSDKShape("application", {
366
+ getPrivateAPI({ applicationContext }) {
367
+ return async () => {
368
+ return applicationContext.getPrivateApplicationAPI();
369
+ };
339
370
  },
340
- getPublicAPI: async (appDefinitionId) => {
341
- const context = await ApplicationContext.getInstance();
342
- const privateAPI = context.getPrivateAPI();
343
- return privateAPI.applicationManager.getPublicApplicationAPI(
344
- appDefinitionId
345
- );
371
+ getPublicAPI({ applicationContext }) {
372
+ return async (appDefinitionId) => {
373
+ const privateAPI = applicationContext.getPrivateAPI();
374
+ return privateAPI.applicationManager.getPublicApplicationAPI(
375
+ appDefinitionId
376
+ );
377
+ };
346
378
  },
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);
379
+ getAppInstance({ applicationContext }) {
380
+ return async () => {
381
+ const privateAPI = applicationContext.getPrivateAPI();
382
+ const bindings = applicationContext.getBindings();
383
+ return privateAPI.info.getAppInstance(bindings.appDefinitionId);
384
+ };
352
385
  }
353
- };
354
- var index$5 = PlatformSDKShape.create("application", application).build();
386
+ });
387
+ var index$4 = applicationShape.build();
355
388
 
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
- );
389
+ const componentsShape = new PlatformSDKShape("components", {
390
+ getSelectedComponents({ applicationContext }) {
391
+ return async () => {
392
+ const privateAPI = applicationContext.getPrivateAPI();
393
+ const refs = await privateAPI.components.getSelectedComponents();
394
+ return Promise.all(
395
+ refs.map((ref) => privateAPI.components.getComponent(ref))
396
+ );
397
+ };
364
398
  }
365
- };
366
- var index$4 = PlatformSDKShape.create("components", components).build();
399
+ });
400
+ var components = componentsShape.build();
367
401
 
368
- const events = {
369
- addEventListener: async (name, cb) => {
370
- const context = await ApplicationContext.getInstance();
371
- return context.getEvents().addEventListener(name, cb);
402
+ const eventsShape = new PlatformSDKShape("events", {
403
+ addEventListener({ applicationContext }) {
404
+ return async (name, cb) => {
405
+ return applicationContext.getEvents().addEventListener(name, cb);
406
+ };
372
407
  }
373
- };
374
- var index$3 = PlatformSDKShape.create("events", events).build();
408
+ });
409
+ var index$3 = eventsShape.build();
375
410
 
376
- const info = {
377
- async getViewMode() {
378
- const context = await ApplicationContext.getInstance();
379
- const privateAPI = context.getPrivateAPI();
380
- return privateAPI.info.getViewMode();
411
+ const infoShape = new PlatformSDKShape("info", {
412
+ getViewMode({ applicationContext }) {
413
+ return async () => {
414
+ const privateAPI = applicationContext.getPrivateAPI();
415
+ return privateAPI.info.getViewMode();
416
+ };
381
417
  },
382
- async getLanguageCode() {
383
- const context = await ApplicationContext.getInstance();
384
- const privateAPI = context.getPrivateAPI();
385
- return privateAPI.info.getLanguageCode();
418
+ getLanguageCode({ applicationContext }) {
419
+ return async () => {
420
+ const privateAPI = applicationContext.getPrivateAPI();
421
+ return privateAPI.info.getLanguageCode();
422
+ };
386
423
  }
387
- };
388
- var index$2 = PlatformSDKShape.create("info", info).build();
424
+ });
425
+ var index$2 = infoShape.build();
389
426
 
390
427
  var WidgetShapeErrorCode = /* @__PURE__ */ ((WidgetShapeErrorCode2) => {
391
428
  WidgetShapeErrorCode2["UndefinedCompRef"] = "UndefinedCompRef";
@@ -406,28 +443,23 @@ const getSelectedComponentRef = async () => {
406
443
  }
407
444
  return compRef;
408
445
  };
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);
446
+ const widgetShape = new PlatformSDKShape("widget", {
447
+ getProp({ applicationContext }) {
448
+ return async (propName) => {
449
+ const privateAPI = applicationContext.getPrivateAPI();
450
+ const compRef = await getSelectedComponentRef();
451
+ return privateAPI.customElement.getAttribute(compRef, propName);
452
+ };
422
453
  },
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);
454
+ setProp({ applicationContext }) {
455
+ return async (propName, value) => {
456
+ const privateAPI = applicationContext.getPrivateAPI();
457
+ const compRef = await getSelectedComponentRef();
458
+ await privateAPI.customElement.setAttribute(compRef, propName, value);
459
+ };
428
460
  }
429
- };
430
- var index$1 = PlatformSDKShape.create("widget", widget).build();
461
+ });
462
+ var index$1 = widgetShape.build();
431
463
 
432
464
  const fonts = {
433
465
  transformFontInternalValue: (value) => {
@@ -467,99 +499,99 @@ const fonts = {
467
499
  };
468
500
  }
469
501
  };
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;
502
+ const inputsShape = new PlatformSDKShape("inputs", {
503
+ selectColor({ applicationContext }) {
504
+ return async (value, onColorChange) => {
505
+ const privateAPI = applicationContext.getPrivateAPI();
506
+ let _value = value ? {
507
+ color: value.color,
508
+ theme: value?.theme
509
+ } : null;
510
+ await privateAPI.inputs.openColorPicker(
511
+ {
512
+ color: value?.theme ? value.theme : value?.color
513
+ },
514
+ ({
515
+ color,
516
+ theme
517
+ }) => {
518
+ const _color = { color, theme };
519
+ _value = _color;
520
+ onColorChange?.(_color);
521
+ }
522
+ );
523
+ return _value;
524
+ };
492
525
  },
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
- }
526
+ selectFont({ applicationContext }) {
527
+ return async (value, options, onFontChange) => {
528
+ const privateAPI = applicationContext.getPrivateAPI();
529
+ let _value = fonts.transformFontPublicValue(value);
530
+ const applyChanges = (...changes) => {
531
+ if (!_value) {
532
+ _value = fonts.transformFontPublicValue(
533
+ fonts.transformFontInternalValue(value)
534
+ );
535
+ }
536
+ switch (changes[0]) {
537
+ case "theme":
538
+ Object.assign(_value, {
539
+ theme: changes[1]
540
+ });
541
+ break;
542
+ case "size":
543
+ Object.assign(_value, {
544
+ size: changes[1]
545
+ });
546
+ break;
547
+ case "bold":
548
+ Object.assign(_value, {
549
+ style: {
550
+ ..._value.style,
551
+ bold: changes[1]
552
+ }
553
+ });
554
+ break;
555
+ case "italic":
556
+ Object.assign(_value, {
557
+ style: {
558
+ ..._value.style,
559
+ italic: changes[1]
560
+ }
561
+ });
562
+ break;
563
+ case "underline":
564
+ Object.assign(_value, {
565
+ style: {
566
+ ..._value.style,
567
+ underline: changes[1]
568
+ }
569
+ });
570
+ break;
571
+ case "family":
572
+ Object.assign(_value, {
573
+ family: changes[1]
574
+ });
575
+ break;
576
+ }
577
+ };
578
+ await privateAPI.inputs.openFontPicker(
579
+ {
580
+ ...options,
581
+ componentStyle: fonts.transformFontInternalValue(value)
582
+ },
583
+ (...changes) => {
584
+ applyChanges(...changes);
585
+ onFontChange?.(_value);
586
+ }
587
+ );
588
+ return _value;
544
589
  };
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
590
  }
557
- };
558
- var index = PlatformSDKShape.create("inputs", inputs).build();
591
+ });
592
+ var index = inputsShape.build();
559
593
 
560
594
  const editorPlatformFrameHost = () => {
561
- const channel = new editorPlatformTransport.IFrameConsumerChannel();
562
- channel.expose(new platformFrameApi.PlatformFrameAPI());
563
595
  return {
564
596
  environment: {},
565
597
  channel: {
@@ -572,8 +604,6 @@ const editorPlatformFrameHost = () => {
572
604
  };
573
605
 
574
606
  const editorPlatformWorkerHost = () => {
575
- const channel = new editorPlatformTransport.WorkerConsumerChannel();
576
- channel.expose(new platformWorkerApi.PlatformWorkerAPI());
577
607
  return {
578
608
  environment: {},
579
609
  channel: {
@@ -596,8 +626,8 @@ const editor = {
596
626
  auth
597
627
  };
598
628
 
599
- exports.application = index$5;
600
- exports.components = index$4;
629
+ exports.application = index$4;
630
+ exports.components = components;
601
631
  exports.editor = editor;
602
632
  exports.events = index$3;
603
633
  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\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 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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"}