@wix/editor 1.392.0 → 1.394.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
@@ -584,33 +584,47 @@ class ElementSDKShape extends BaseSDKShape {
584
584
  async getResolvedData({ dataItemKey }) {
585
585
  const privateAPI = await this.getPlatformPrivateAPI();
586
586
  const manifestContextId = await this.getRequiredManifestContextId();
587
- return privateAPI.builderComponent.getResolvedData(manifestContextId, {
588
- dataItemKey
589
- });
587
+ return privateAPI.builderComponent.getResolvedData(
588
+ manifestContextId,
589
+ this.childPath,
590
+ {
591
+ dataItemKey
592
+ }
593
+ );
590
594
  }
591
595
  async setData(values) {
592
596
  const privateAPI = await this.getPlatformPrivateAPI();
593
597
  const manifestContextId = await this.getRequiredManifestContextId();
594
598
  return privateAPI.builderComponent.setData(
595
599
  manifestContextId,
596
- values,
597
- this.childPath
600
+ this.childPath,
601
+ values
598
602
  );
599
603
  }
600
604
  async getPresetDefinitions() {
601
605
  const privateAPI = await this.getPlatformPrivateAPI();
602
606
  const manifestContextId = await this.getRequiredManifestContextId();
603
- return privateAPI.builderComponent.getPresetDefinitions(manifestContextId);
607
+ return privateAPI.builderComponent.getPresetDefinitions(
608
+ manifestContextId,
609
+ this.childPath
610
+ );
604
611
  }
605
612
  async getAppliedPreset() {
606
613
  const privateAPI = await this.getPlatformPrivateAPI();
607
614
  const manifestContextId = await this.getRequiredManifestContextId();
608
- return privateAPI.builderComponent.getAppliedPreset(manifestContextId);
615
+ return privateAPI.builderComponent.getAppliedPreset(
616
+ manifestContextId,
617
+ this.childPath
618
+ );
609
619
  }
610
620
  async applyPreset(options) {
611
621
  const privateAPI = await this.getPlatformPrivateAPI();
612
622
  const manifestContextId = await this.getRequiredManifestContextId();
613
- return privateAPI.builderComponent.applyPreset(manifestContextId, options);
623
+ return privateAPI.builderComponent.applyPreset(
624
+ manifestContextId,
625
+ this.childPath,
626
+ options
627
+ );
614
628
  }
615
629
  // TODO: group type should come from builder enum
616
630
  async getDisplayGroupDefinitions(options) {
@@ -618,6 +632,7 @@ class ElementSDKShape extends BaseSDKShape {
618
632
  const manifestContextId = await this.getRequiredManifestContextId();
619
633
  return privateAPI.builderComponent.getDisplayGroupDefinitions(
620
634
  manifestContextId,
635
+ this.childPath,
621
636
  options
622
637
  );
623
638
  }
@@ -634,14 +649,17 @@ class ElementSDKShape extends BaseSDKShape {
634
649
  const manifestContextId = await this.getRequiredManifestContextId();
635
650
  return privateAPI.builderComponent.setState(
636
651
  manifestContextId,
637
- stateKey,
638
- this.childPath
652
+ this.childPath,
653
+ stateKey
639
654
  );
640
655
  }
641
656
  async getStateDefinitions() {
642
657
  const privateAPI = await this.getPlatformPrivateAPI();
643
658
  const manifestContextId = await this.getRequiredManifestContextId();
644
- return privateAPI.builderComponent.getStateDefinitions(manifestContextId);
659
+ return privateAPI.builderComponent.getStateDefinitions(
660
+ manifestContextId,
661
+ this.childPath
662
+ );
645
663
  }
646
664
  async onChange(cb) {
647
665
  const privateAPI = await this.getPlatformPrivateAPI();
@@ -657,11 +675,11 @@ class ElementSDKShape extends BaseSDKShape {
657
675
  const manifestContextId = await this.getRequiredManifestContextId();
658
676
  const selectedFont = await privateAPI.builderComponent.selectFont(
659
677
  manifestContextId,
678
+ this.childPath,
660
679
  {
661
680
  ...params,
662
681
  showWeights: true
663
- },
664
- this.childPath
682
+ }
665
683
  );
666
684
  return selectedFont;
667
685
  } catch (error) {
@@ -673,11 +691,11 @@ class ElementSDKShape extends BaseSDKShape {
673
691
  const manifestContextId = await this.getRequiredManifestContextId();
674
692
  const selectedFont = await privateAPI.builderComponent.selectFont(
675
693
  manifestContextId,
694
+ this.childPath,
676
695
  {
677
696
  ...params,
678
697
  showWeights: false
679
- },
680
- this.childPath
698
+ }
681
699
  );
682
700
  return selectedFont;
683
701
  } catch (error) {
@@ -688,8 +706,8 @@ class ElementSDKShape extends BaseSDKShape {
688
706
  const manifestContextId = await this.getRequiredManifestContextId();
689
707
  return privateAPI.builderComponent.selectMedia(
690
708
  manifestContextId,
691
- params,
692
- this.childPath
709
+ this.childPath,
710
+ params
693
711
  );
694
712
  }
695
713
  async selectLink(params) {
@@ -697,8 +715,8 @@ class ElementSDKShape extends BaseSDKShape {
697
715
  const manifestContextId = await this.getRequiredManifestContextId();
698
716
  return privateAPI.builderComponent.selectLink(
699
717
  manifestContextId,
700
- params,
701
- this.childPath
718
+ this.childPath,
719
+ params
702
720
  );
703
721
  }
704
722
  async selectColor(params) {
@@ -707,8 +725,8 @@ class ElementSDKShape extends BaseSDKShape {
707
725
  const manifestContextId = await this.getRequiredManifestContextId();
708
726
  const selectedColor = await privateAPI.builderComponent.selectColor(
709
727
  manifestContextId,
710
- params,
711
- this.childPath
728
+ this.childPath,
729
+ params
712
730
  );
713
731
  return selectedColor;
714
732
  } catch (error) {
@@ -719,8 +737,8 @@ class ElementSDKShape extends BaseSDKShape {
719
737
  const manifestContextId = await this.getRequiredManifestContextId();
720
738
  return privateAPI.builderComponent.selectFontWeight(
721
739
  manifestContextId,
722
- params,
723
- this.childPath
740
+ this.childPath,
741
+ params
724
742
  );
725
743
  }
726
744
  async selectTextTheme(params) {
@@ -927,6 +945,33 @@ class BindingsProvidersSDKShape extends BaseSDKShape {
927
945
  }
928
946
  var index = new PlatformSDKShape(BindingsProvidersSDKShape).withPublicMethod("list").build();
929
947
 
948
+ class Admin {
949
+ constructor(applicationContext) {
950
+ this.applicationContext = applicationContext;
951
+ }
952
+ async adminAPI() {
953
+ const context = await this.applicationContext;
954
+ const privateAPI = context.getPrivateAPI();
955
+ const adminAPI = await privateAPI.admin;
956
+ return adminAPI;
957
+ }
958
+ getContextIds = () => {
959
+ throw new Error("Not implemented yet");
960
+ };
961
+ openItemSelector = (_args) => {
962
+ throw new Error("Not implemented yet");
963
+ };
964
+ }
965
+ class AdminHost {
966
+ #api;
967
+ getAPI() {
968
+ return this.#api;
969
+ }
970
+ constructor(applicationContext) {
971
+ this.#api = new Admin(applicationContext);
972
+ }
973
+ }
974
+
930
975
  const frame = () => {
931
976
  const queryParams = new URLSearchParams(window.location.search);
932
977
  const essentialsQueryParamValue = queryParams.has("essentials") ? JSON.parse(queryParams.get("essentials")) : void 0;
@@ -938,9 +983,11 @@ const frame = () => {
938
983
  monitoringConfig: config,
939
984
  sentrySDK: typeof window !== "undefined" ? window.Sentry : void 0
940
985
  });
986
+ const applicationContext = editorPlatformContexts.ApplicationContext.getInstance();
987
+ const adminHost = new AdminHost(applicationContext);
941
988
  return {
942
989
  environment: {},
943
- applicationContext: editorPlatformContexts.ApplicationContext.getInstance(),
990
+ applicationContext,
944
991
  channel: {
945
992
  observeState: async () => {
946
993
  return { disconnect() {
@@ -948,19 +995,23 @@ const frame = () => {
948
995
  }
949
996
  },
950
997
  getMonitoringClient,
998
+ admin: adminHost.getAPI(),
951
999
  essentials
952
1000
  };
953
1001
  };
954
1002
  const worker = () => {
1003
+ const applicationContext = editorPlatformContexts.ApplicationContext.getInstance();
1004
+ const adminHost = new AdminHost(applicationContext);
955
1005
  return {
956
1006
  environment: {},
957
- applicationContext: editorPlatformContexts.ApplicationContext.getInstance(),
1007
+ applicationContext,
958
1008
  channel: {
959
1009
  observeState: async () => {
960
1010
  return { disconnect() {
961
1011
  } };
962
1012
  }
963
- }
1013
+ },
1014
+ admin: adminHost.getAPI()
964
1015
  };
965
1016
  };
966
1017
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/env.ts","../../src/auth.ts","../../src/PlatformSDKShape.ts","../../src/BaseSDKShape.ts","../../src/application/index.ts","../../src/events/index.ts","../../src/elements/index.ts","../../src/info/index.ts","../../src/widget/errors.ts","../../src/inputs/utils.ts","../../src/widget/index.ts","../../src/inputs/index.ts","../../src/panels/index.ts","../../src/modals/index.ts","../../src/element/index.ts","../../src/preferences/index.ts","../../src/externalPanels/index.ts","../../src/controllers/errors.ts","../../src/controllers/index.ts","../../src/bindings/index.ts","../../src/bindingsProviders/index.ts","../../src/host.ts","../../src/index.ts"],"sourcesContent":["import { EditorPlatformContextEnvironment } from '@wix/editor-platform-environment-api';\n\nnew EditorPlatformContextEnvironment().expose();\n","import { ApplicationContext } from '@wix/editor-platform-contexts';\nimport {\n BaseError,\n createErrorBuilder,\n} from '@wix/public-editor-platform-errors';\nimport { AccessToken } from '@wix/public-editor-platform-interfaces';\n\nexport enum EditorPlatformSDKAuthErrorCode {\n EmptyAppAuthInstance = 'EmptyAppAuthInstance',\n EmptyAppDefinitionId = 'EmptyAppDefinitionId',\n}\n\nclass EditorPlatformSDKAuthError extends BaseError<EditorPlatformSDKAuthErrorCode> {\n state: Partial<{\n appDefinitionId: string;\n }> = {};\n\n constructor(message: string, code: EditorPlatformSDKAuthErrorCode) {\n super(message, code, 'Auth Strategy Error');\n }\n\n withAppDefinitionId(appDefinitionId: string) {\n this.state = { ...this.state, appDefinitionId };\n return this;\n }\n}\n\nexport const createEditorPlatformSDKAuthError = createErrorBuilder<\n EditorPlatformSDKAuthErrorCode,\n EditorPlatformSDKAuthError\n>(EditorPlatformSDKAuthError);\n\nfunction hasEnoughTimeUntilExpiry(\n expires: Date | undefined,\n expiryBuffer: number,\n) {\n const now = Date.now();\n const expiryTime = expires ? new Date(expires).getTime() : null;\n return expiryTime && expiryTime - now > expiryBuffer;\n}\n\nconst ACCESS_TOKEN_EXPIRY_GRACE_PERIOD = 30 * 60 * 1000; // half an hour\n\n/**\n * TODO: find a way to reuse implementation from PlatformInfra.getSDKAuth(...)\n * probably we should do it along with effort to support SDK shapes as placeholders,\n * when implementation is always injected from the main thread\n */\nexport const auth = () => {\n let instance: AccessToken;\n\n return {\n getAuthHeaders: async () => {\n const context = await ApplicationContext.getInstance();\n const appDefinitionId = context.getAppDefinitionId();\n const privateAPI = context.getPrivateAPI();\n\n if (!appDefinitionId) {\n throw createEditorPlatformSDKAuthError(\n EditorPlatformSDKAuthErrorCode.EmptyAppDefinitionId,\n );\n }\n\n if (\n !instance ||\n hasEnoughTimeUntilExpiry(\n instance.expires,\n ACCESS_TOKEN_EXPIRY_GRACE_PERIOD,\n )\n ) {\n instance = await privateAPI.auth.getAccessToken(\n appDefinitionId,\n await privateAPI.info.getMetaSiteId(),\n );\n }\n\n if (!instance?.token) {\n console.error(\n createEditorPlatformSDKAuthError(\n EditorPlatformSDKAuthErrorCode.EmptyAppAuthInstance,\n ).withAppDefinitionId(appDefinitionId),\n );\n\n return {\n headers: {\n Authorization: '',\n },\n };\n }\n\n return {\n headers: {\n Authorization: instance.token,\n },\n };\n },\n };\n};\n","import { ApplicationContext } from '@wix/editor-platform-contexts';\nimport { createHostModule } from '@wix/sdk-runtime/host-modules';\nimport { Host } from '@wix/sdk-types';\n\ninterface IHostWithPlatformContexts {\n applicationContext?: Promise<ApplicationContext>;\n}\n\ntype MethodNames<T> = Extract<\n {\n [K in keyof T]: T[K] extends (...args: any[]) => any ? K : never;\n }[keyof T],\n string\n>;\n\ntype PickMethods<T, Keys extends keyof T> = {\n [K in Keys]: T[K];\n};\n\nexport class PlatformSDKShape<\n TShape extends new (...args: any[]) => any,\n TSelected extends MethodNames<InstanceType<TShape>> = never,\n> {\n constructor(\n private ShapeConstructor: TShape,\n private selectedMethods: TSelected[] = [],\n ) {}\n\n withPublicMethod<K extends MethodNames<InstanceType<TShape>>>(\n method: K,\n ): PlatformSDKShape<TShape, TSelected | K> {\n return new PlatformSDKShape(this.ShapeConstructor, [\n ...this.selectedMethods,\n method,\n ]);\n }\n\n build() {\n if (!this.selectedMethods.length) {\n throw new Error('methods are not defined for the SDK shape');\n }\n\n const sdk = this.selectedMethods.reduce(\n (acc, method) => {\n return {\n ...acc,\n [method]: (host: IHostWithPlatformContexts) => {\n const instance = new this.ShapeConstructor(\n host?.applicationContext,\n );\n\n if (!instance[method]) {\n return () => {\n console.error(`\"${method}\" is not defined in the SDK shape`);\n };\n }\n\n return instance[method].bind(instance);\n },\n };\n },\n {} as PickMethods<InstanceType<TShape>, TSelected>,\n );\n\n // @ts-expect-error\n return createHostModule<Host, InstanceType<TShape>>(sdk);\n }\n}\n","import { ApplicationContext } from '@wix/editor-platform-contexts';\nimport {\n BaseError,\n createErrorBuilder,\n} from '@wix/public-editor-platform-errors';\n\n// export type IBaseSDKShape = new (\n// overrideApplicationContext?: Promise<ApplicationContext<any>>,\n// ) => any;\n\nexport enum BaseSDKErrorCode {\n ManifestContextIdRequired = 'ManifestContextIdRequired',\n}\n\nclass BaseSDKError extends BaseError<BaseSDKErrorCode> {\n constructor(message: string, code: BaseSDKErrorCode) {\n super(message, code, 'Base SDK Error');\n }\n}\n\nconst createBaseSDKError = createErrorBuilder<BaseSDKErrorCode, BaseSDKError>(\n BaseSDKError,\n);\n\nexport class BaseSDKShape {\n constructor(\n protected overriddenApplicationContext: Promise<ApplicationContext> | null = null,\n ) {}\n\n protected getApplicationContext() {\n return this.overriddenApplicationContext\n ? this.overriddenApplicationContext\n : ApplicationContext.getInstance();\n }\n\n protected async getAppDefinitionId() {\n return (await this.getApplicationContext()).getAppDefinitionId();\n }\n\n protected async getManifestContextId() {\n return (await this.getApplicationContext()).getManifestContextId();\n }\n\n protected async getRequiredManifestContextId() {\n const manifestContextId = await this.getManifestContextId();\n if (!manifestContextId) {\n throw createBaseSDKError(BaseSDKErrorCode.ManifestContextIdRequired);\n }\n\n return manifestContextId;\n }\n\n protected async getEnvironmentContext() {\n return (await this.getApplicationContext()).getEnvironmentContext();\n }\n\n protected async getPlatformPrivateAPI() {\n return (await this.getApplicationContext()).getPrivateAPI();\n }\n\n // NOTE: don't remove this for now\n // protected dep<TDep extends IBaseSDKShape>(Factory: TDep) {\n // let instance: InstanceType<TDep>;\n //\n // return () => {\n // if (!instance) {\n // instance = new Factory(this.getApplicationContext());\n // }\n //\n // return instance;\n // };\n // }\n}\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class ApplicationSDKShape extends BaseSDKShape {\n async getPrivateAPI<T>() {\n return (await this.getApplicationContext()).getPrivateApplicationAPI() as T;\n }\n\n async getPublicAPI<T>(appDefinitionId: string) {\n const privateAPI = await this.getPlatformPrivateAPI();\n\n return privateAPI.applicationManager.getPublicApplicationAPI(\n appDefinitionId,\n ) as Promise<T>;\n }\n\n async getAppInstance() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.info.getAppInstance(await this.getAppDefinitionId());\n }\n}\n\nexport default new PlatformSDKShape(ApplicationSDKShape)\n .withPublicMethod('getPrivateAPI')\n .withPublicMethod('getPublicAPI')\n .withPublicMethod('getAppInstance')\n .build();\n","import { AppEventPayload, AllowedEvents } from '@wix/editor-platform-contexts';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\n// TODO: remove events shape and remove payload transformations\nexport class EventsSDKShape extends BaseSDKShape {\n async addEventListener(\n name: any,\n // TODO: fix types\n cb: (payload: AppEventPayload<AllowedEvents>) => void,\n ) {\n return (await this.getApplicationContext())\n .getEvents()\n .addEventListener(name, cb);\n }\n}\n\nexport default new PlatformSDKShape(EventsSDKShape)\n .withPublicMethod('addEventListener')\n .build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\nimport { EventsSDKShape } from '../events';\nimport { IElement } from '@wix/public-editor-platform-interfaces';\n\nexport class ElementsSDKShape extends BaseSDKShape {\n async getSelection() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const refs = await privateAPI.components.getSelectedComponents();\n\n return Promise.all<IElement[]>(\n refs.map(\n (ref: any) => privateAPI.components.getComponent(ref) as IElement,\n ),\n );\n }\n\n async onSelectionChange(cb: (elements: IElement[]) => void) {\n const events = new EventsSDKShape(this.getApplicationContext());\n void events.addEventListener('componentSelectionChanged', (payload) => {\n // @ts-expect-error TODO: refactor events.\n cb(payload.components);\n });\n }\n}\n\nexport default new PlatformSDKShape(ElementsSDKShape)\n .withPublicMethod('onSelectionChange')\n .withPublicMethod('getSelection')\n .build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\ntype ThemeCustomProperty =\n | {\n type: string;\n value: string;\n displayName: string;\n }\n | { error: string };\n\nexport class InfoSDKShape extends BaseSDKShape {\n async getViewMode() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.info.getViewMode();\n }\n\n async getLanguageCode() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.info.getLanguageCode();\n }\n\n async getSiteDirection() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.info.getSiteDirection();\n }\n\n async siteHasCustomClasses() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.info.siteHasCustomClasses();\n }\n\n async getThemeCustomProperties(filter: {\n keys?: string[];\n }): Promise<Record<string, ThemeCustomProperty>> {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.info.getThemeCustomProperties(filter);\n }\n}\n\nexport default new PlatformSDKShape(InfoSDKShape)\n .withPublicMethod('getViewMode')\n .withPublicMethod('getLanguageCode')\n .withPublicMethod('getSiteDirection')\n .withPublicMethod('siteHasCustomClasses')\n .withPublicMethod('getThemeCustomProperties')\n .build();\n","import {\n BaseError,\n createErrorBuilder,\n} from '@wix/public-editor-platform-errors';\n\nexport enum WidgetShapeErrorCode {\n UndefinedCompRef = 'UndefinedCompRef',\n NotAvailableMethod = 'NotAvailableMethod',\n}\n\nclass WidgetShapeError extends BaseError<WidgetShapeErrorCode> {\n constructor(message: string, code: WidgetShapeErrorCode) {\n super(message, code, 'Widget Error');\n }\n}\n\nexport const createWidgetShapeError = createErrorBuilder<\n WidgetShapeErrorCode,\n WidgetShapeError\n>(WidgetShapeError);\n","export interface IFontValue {\n theme?: string;\n family?: string;\n size?: number;\n bold?: boolean;\n italic?: boolean;\n underline?: boolean;\n cssVariableName?: string;\n}\n\nexport interface FontPickerValue {\n font: string;\n textDecoration?: string;\n}\n\nexport const UNDERLINE_DEFINITION = 'underline';\n\nexport function getFontFamiliesFromFonts(fonts: string[]) {\n return fonts\n .map((font) => parseFontString({ font }).family)\n .filter(Boolean) as string[];\n}\n\nexport function parseFontString(fontPickerValue?: FontPickerValue) {\n const font: IFontValue = {\n family: undefined,\n size: undefined,\n };\n\n if (fontPickerValue?.font) {\n const { variableName, fallbackValue } = extractFontVar(\n fontPickerValue.font,\n );\n font.cssVariableName = variableName;\n const parts = fallbackValue.match(/(?:([\"']).*?\\1|\\S)+/g) || [];\n\n for (let i = 0; i < parts.length; i++) {\n const part = parts[i];\n\n switch (part) {\n case 'bold':\n font.bold = true;\n break;\n case 'italic':\n font.italic = true;\n break;\n default:\n if (part?.endsWith('px')) {\n font.size = parseInt(part, 10);\n } else if (i === parts.length - 1) {\n font.family = part;\n } else {\n font.family = (font.family || '') + ' ' + part;\n }\n }\n }\n }\n if (fontPickerValue?.textDecoration) {\n font.underline = fontPickerValue.textDecoration === UNDERLINE_DEFINITION;\n }\n // since we wrap it with \"\" in the font string, we need to remove it\n font.family = font.family?.trim().replace(/['\"]+/g, '');\n\n return font;\n}\n\nfunction extractFontVar(fontString: string) {\n const trimmedFont = fontString.trim();\n const match = trimmedFont.match(/var\\((--[\\w-]+),\\s*(.+)\\)/);\n\n if (match) {\n return {\n variableName: match[1],\n fallbackValue: match[2]?.trim() ?? '',\n };\n } else {\n return {\n variableName: undefined,\n fallbackValue: trimmedFont,\n };\n }\n}\n","import { createWidgetShapeError, WidgetShapeErrorCode } from './errors';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\nimport { getFontFamiliesFromFonts } from '../inputs/utils';\nimport { ComponentRef } from '@wix/public-editor-platform-interfaces';\n\nexport class WidgetScopedSDK {\n constructor(\n private compRef: ComponentRef,\n private privateAPI: any,\n ) {}\n\n async getProp(propName: string): Promise<string> {\n const props = await this.privateAPI.refComponents.getProps(this.compRef);\n return props?.[propName];\n }\n\n async setProp(propName: string, value: string) {\n await this.privateAPI.refComponents.setProps(this.compRef, {\n [propName]: value,\n });\n }\n\n async getDesignPreset() {\n return this.privateAPI.designPresets.getDesignPresetName(this.compRef);\n }\n\n async setDesignPreset(designPresetName: string) {\n await this.privateAPI.designPresets.setDesignPresetByName(\n this.compRef,\n designPresetName,\n );\n }\n\n async getNestedWidget(selector: `#${string}`) {\n const childCompRef =\n await this.privateAPI.refComponents.findComponentBySelector(\n this.compRef,\n selector,\n );\n\n if (!childCompRef) {\n return null;\n }\n\n return new WidgetScopedSDK(childCompRef, this.privateAPI);\n }\n}\n\nexport class WidgetSDKShape extends BaseSDKShape {\n async #getSelectedComponentRef() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const refs = await privateAPI.components.getSelectedComponents();\n const compRef = refs[0];\n\n if (!compRef) {\n throw createWidgetShapeError(WidgetShapeErrorCode.UndefinedCompRef);\n }\n\n return compRef;\n }\n\n async setPreloadFonts(fonts: string[]): Promise<void> {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRef = await this.#getSelectedComponentRef();\n\n if (await privateAPI.refComponents.isRefComponent(compRef)) {\n throw createWidgetShapeError(\n WidgetShapeErrorCode.NotAvailableMethod,\n 'not available for the current component type',\n );\n }\n\n const fontFamilies = getFontFamiliesFromFonts(fonts);\n\n await privateAPI.customElement.setPreloadFonts(compRef, fontFamilies);\n }\n\n async getProp(propName: string): Promise<string> {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRef = await this.#getSelectedComponentRef();\n\n if (await privateAPI.refComponents.isRefComponent(compRef)) {\n return new WidgetScopedSDK(compRef, privateAPI).getProp(propName);\n } else {\n return privateAPI.customElement.getAttribute(compRef, propName);\n }\n }\n\n async setProp(propName: string, value: string) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRef = await this.#getSelectedComponentRef();\n\n if (await privateAPI.refComponents.isRefComponent(compRef)) {\n return new WidgetScopedSDK(compRef, privateAPI).setProp(propName, value);\n } else {\n await privateAPI.customElement.setAttribute(compRef, propName, value);\n }\n }\n\n async getDesignPreset() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRef = await this.#getSelectedComponentRef();\n\n if (!(await privateAPI.refComponents.isRefComponent(compRef))) {\n throw createWidgetShapeError(\n WidgetShapeErrorCode.NotAvailableMethod,\n 'not available for the current component type',\n );\n }\n\n return new WidgetScopedSDK(compRef, privateAPI).getDesignPreset();\n }\n\n async setDesignPreset(designPresetName: string) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRef = await this.#getSelectedComponentRef();\n\n if (!(await privateAPI.refComponents.isRefComponent(compRef))) {\n throw createWidgetShapeError(\n WidgetShapeErrorCode.NotAvailableMethod,\n 'not available for the current component type',\n );\n }\n\n return new WidgetScopedSDK(compRef, privateAPI).setDesignPreset(\n designPresetName,\n );\n }\n\n async getNestedWidget(selector: `#${string}`) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRef = await this.#getSelectedComponentRef();\n\n return new WidgetScopedSDK(compRef, privateAPI).getNestedWidget(selector);\n }\n}\n\nconst widgetShape = new PlatformSDKShape(WidgetSDKShape)\n .withPublicMethod('getNestedWidget')\n .withPublicMethod('setDesignPreset')\n .withPublicMethod('getDesignPreset')\n .withPublicMethod('setProp')\n .withPublicMethod('getProp')\n .withPublicMethod('setPreloadFonts');\n\nexport default widgetShape.build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\nimport {\n type IFontValue,\n type FontPickerValue,\n parseFontString,\n UNDERLINE_DEFINITION,\n} from './utils';\n\ninterface IColorValue {\n color: string;\n theme?: string;\n cssVariableName?: string;\n}\n\ntype IColorPickerValue = string | null | undefined;\n\nfunction fontValueToCSS(fontValue: IFontValue): string {\n return `${\n fontValue.cssVariableName ? `var(${fontValue.cssVariableName}, ` : ''\n }${fontValue.italic ? 'italic ' : ''}${fontValue.bold ? 'bold ' : ''}${fontValue.size || 16}px ${\n // wrap each font family with quotes\n fontValue.family\n ?.split(',')\n .map((fontFamily) => `\"${fontFamily.replace(/['\"]+/g, '')}\"`)\n .join(',') || 'serif'\n }${fontValue.cssVariableName ? ')' : ''}`;\n}\n\nfunction parseColorString(\n colorPickerValue?: IColorPickerValue,\n): IColorValue | null {\n if (!colorPickerValue) {\n return null;\n }\n const colorString = colorPickerValue!;\n const match = colorString.match(/var\\((--[\\w-]+),\\s*(.+)\\)/);\n\n if (match) {\n return {\n cssVariableName: match[1],\n color: match[2]!,\n };\n } else {\n return {\n color: colorString,\n };\n }\n}\n\nfunction colorValueToCSS(colorValue?: IColorValue | null): string {\n if (!colorValue) {\n return '';\n }\n return colorValue.cssVariableName\n ? `var(${colorValue.cssVariableName}, ${colorValue.color})`\n : colorValue.color;\n}\n\ntype IFontValueInternal = {\n preset?: string;\n editorKey?: string;\n family?: string;\n size?: number;\n style: {\n bold?: boolean;\n italic?: boolean;\n underline?: boolean;\n };\n htmlTag?: string;\n};\n\nconst fonts = {\n transformFontInternalValue: (value?: IFontValue): IFontValueInternal => {\n if (value) {\n const { theme, cssVariableName, bold, italic, underline, ...rest } =\n value;\n\n return {\n ...rest,\n style: {\n bold,\n italic,\n underline,\n },\n editorKey: cssVariableName || theme || '',\n };\n } else {\n return {\n editorKey: 'font_7',\n family: 'helvetica-w01-roman',\n size: 16,\n style: {},\n };\n }\n },\n};\n\nexport class InputsSDKShape extends BaseSDKShape {\n async selectColor(\n value?: IColorPickerValue,\n options?: {\n onChange?: (value: IColorPickerValue) => void;\n },\n ) {\n const privateAPI = await this.getPlatformPrivateAPI();\n\n let colorValue: IColorValue | null = parseColorString(value);\n let colorResult = colorValueToCSS(colorValue);\n\n await privateAPI.inputs.openColorPicker(\n {\n color:\n colorValue?.cssVariableName || colorValue?.theme || colorValue?.color,\n },\n ({\n color,\n theme,\n cssVariableTheme,\n }: {\n color: string;\n theme: string;\n cssVariableTheme: string;\n isHover: boolean;\n }) => {\n colorValue = {\n color,\n theme,\n cssVariableName: cssVariableTheme,\n };\n colorResult = colorValueToCSS(colorValue);\n options?.onChange?.(colorResult);\n },\n );\n\n return colorResult;\n }\n\n async selectFont(\n value?: FontPickerValue,\n options?: {\n onChange?: (value: FontPickerValue) => void;\n },\n ) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const fontValue = parseFontString(value);\n let _value = value;\n\n await privateAPI.inputs.openFontPickerV2(\n {\n ...options,\n panelSectionsDefinition: {\n htmlTag: 'hidden',\n },\n componentStyle: fonts.transformFontInternalValue(fontValue),\n },\n (font: IFontValue, accessibility: any) => {\n _value = {\n font: fontValueToCSS(font),\n textDecoration: font.underline ? UNDERLINE_DEFINITION : undefined,\n };\n options?.onChange?.(_value);\n },\n );\n\n return _value;\n }\n}\n\nexport default new PlatformSDKShape(InputsSDKShape)\n .withPublicMethod('selectColor')\n .withPublicMethod('selectFont')\n .build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class PanelsSDKShape extends BaseSDKShape {\n async openLanguageSupportPanel() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.panels.openLanguageSupportPanel();\n }\n\n async openFontsUploadPanel() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.panels.openFontsUploadPanel();\n }\n}\n\nexport default new PlatformSDKShape(PanelsSDKShape)\n .withPublicMethod('openLanguageSupportPanel')\n .withPublicMethod('openFontsUploadPanel')\n .build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class ModalsSDKShape extends BaseSDKShape {\n async openDashboardModal(options: {\n url: string;\n closeOtherPanels?: boolean;\n }) {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.panels.openDashboardPanel(\n await this.getAppDefinitionId(),\n options,\n );\n }\n}\n\nexport default new PlatformSDKShape(ModalsSDKShape)\n .withPublicMethod('openDashboardModal')\n .build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\nimport { ApplicationContext } from '@wix/editor-platform-contexts';\n\ninterface IFontFamily {\n family: string;\n weight: string;\n}\n\ninterface IFontWeight {\n weight: string;\n}\n\ntype IFontFamilyAndWeight = IFontFamily & IFontWeight;\n\nexport class ElementSDKShape extends BaseSDKShape {\n constructor(\n protected overriddenApplicationContext: Promise<ApplicationContext> | null = null,\n private childPath: number[] = [],\n ) {\n super(overriddenApplicationContext);\n }\n\n async getStyleDefinitions() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.getStyleDefinitions(\n manifestContextId,\n this.childPath,\n );\n }\n\n async getStyles(): Promise<{\n cssProperties: Record<string, string>;\n cssCustomProperties: Record<string, string>;\n }> {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n return privateAPI.builderComponent.getStyles(\n manifestContextId,\n this.childPath,\n );\n }\n\n async setStyles({\n cssProperties,\n cssCustomProperties,\n }: {\n cssProperties?: Record<string, string>;\n cssCustomProperties?: Record<string, string>;\n } = {}): Promise<void> {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n return privateAPI.builderComponent.setStyles(\n manifestContextId,\n this.childPath,\n {\n cssProperties,\n cssCustomProperties,\n },\n );\n }\n\n async removeStyles(\n values: {\n cssPropertiesKeys?: string[];\n cssCustomPropertiesKeys?: string[];\n } = {},\n ) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.removeStyles(\n manifestContextId,\n this.childPath,\n values,\n );\n }\n\n async getDataDefinitions() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.getDataDefinitions(\n manifestContextId,\n this.childPath,\n );\n }\n\n async getData() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.getData(\n manifestContextId,\n this.childPath,\n );\n }\n\n async getResolvedData({ dataItemKey }: { dataItemKey: string }) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.getResolvedData(manifestContextId, {\n dataItemKey,\n });\n }\n\n async setData(values: {}) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.setData(\n manifestContextId,\n values,\n this.childPath,\n );\n }\n\n async getPresetDefinitions() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n return privateAPI.builderComponent.getPresetDefinitions(manifestContextId);\n }\n\n async getAppliedPreset() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n return privateAPI.builderComponent.getAppliedPreset(manifestContextId);\n }\n\n async applyPreset(options: { key: string }) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n return privateAPI.builderComponent.applyPreset(manifestContextId, options);\n }\n\n // TODO: group type should come from builder enum\n async getDisplayGroupDefinitions(options?: {\n filter?: { groupType?: string };\n }) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n return privateAPI.builderComponent.getDisplayGroupDefinitions(\n manifestContextId,\n options,\n );\n }\n\n async getState() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.getState(\n manifestContextId,\n this.childPath,\n );\n }\n\n async setState(stateKey: string | null) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.setState(\n manifestContextId,\n stateKey,\n this.childPath,\n );\n }\n\n async getStateDefinitions() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.getStateDefinitions(manifestContextId);\n }\n\n async onChange(cb: () => void) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.onContextualManifestChange(\n manifestContextId,\n cb,\n );\n }\n\n async selectFont(\n params:\n | {\n styleItemKey: string;\n }\n // TODO: get type from common place https://wix.atlassian.net/browse/EP-6480\n | {\n selectedFontFamily?: IFontFamilyAndWeight;\n onChange?: (value: IFontFamilyAndWeight) => void;\n onPreview?: (value: IFontFamilyAndWeight) => void;\n },\n ) {\n try {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n const selectedFont = await privateAPI.builderComponent.selectFont(\n manifestContextId,\n {\n ...params,\n showWeights: true,\n },\n this.childPath,\n );\n return selectedFont;\n } catch (error) {\n // TODO: handle error https://wix.atlassian.net/browse/EP-6428\n }\n }\n\n async selectFontFamily(\n params:\n | {\n styleItemKey: string;\n }\n // TODO: get type from common place https://wix.atlassian.net/browse/EP-6480\n | {\n selectedFontFamily?: IFontFamily;\n onChange?: (value: IFontFamily) => void;\n onPreview?: (value: IFontFamily) => void;\n },\n ) {\n try {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n const selectedFont = await privateAPI.builderComponent.selectFont(\n manifestContextId,\n {\n ...params,\n showWeights: false,\n },\n this.childPath,\n );\n return selectedFont;\n } catch (error) {\n // TODO: handle error https://wix.atlassian.net/browse/EP-6428\n }\n }\n\n async selectMedia(\n params: // TODO: get type from common place https://wix.atlassian.net/browse/EP-6462\n | {\n dataItemKey: string;\n }\n | {\n isMultiSelect?: boolean;\n category?: string;\n },\n ) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.selectMedia(\n manifestContextId,\n params,\n this.childPath,\n );\n }\n\n async selectLink(\n params:\n | {\n dataItemKey: string;\n }\n | {\n value?: object;\n options?: {\n linkType?: string[];\n };\n },\n ) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.selectLink(\n manifestContextId,\n params,\n this.childPath,\n );\n }\n\n async selectColor(\n params:\n | { styleItemKey: string }\n // TODO: get the ColorPickerOptions from SDK types https://wix.atlassian.net/browse/EP-6433\n | {\n initialValue?: string;\n mode?: ('solid' | 'gradient')[];\n showBrand?: boolean;\n showCustom?: boolean;\n showAdvancedSettings?: boolean;\n showOpacity?: boolean;\n position?: { x: number; y: number };\n biData?: { origin: string };\n // TODO: Fix when public Color type is available https://wix.atlassian.net/browse/EP-6427\n onChange?: (color: string) => void;\n // TODO: Fix when public Color type is available https://wix.atlassian.net/browse/EP-6427\n onApply?: (color: string) => void;\n onClose?: () => void;\n onCancel?: () => void;\n },\n ) {\n const privateAPI = await this.getPlatformPrivateAPI();\n try {\n const manifestContextId = await this.getRequiredManifestContextId();\n const selectedColor = await privateAPI.builderComponent.selectColor(\n manifestContextId,\n params,\n this.childPath,\n );\n return selectedColor;\n } catch (error) {\n // TODO: handle error https://wix.atlassian.net/browse/EP-6428\n }\n }\n\n async selectFontWeight(\n params:\n | {\n fontFamilyStyleItemKey: string;\n fontWeightStyleItemKey: string;\n }\n | {\n fontStyleItemKey: string;\n }\n | {\n fontFamily?: IFontFamily;\n onChange?: (value: IFontWeight) => void;\n },\n ): Promise<IFontWeight> {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n return privateAPI.builderComponent.selectFontWeight(\n manifestContextId,\n params,\n this.childPath,\n );\n }\n\n async selectTextTheme(params: {\n target?: HTMLElement;\n initialValue?: {\n font?: string;\n color?: string;\n };\n }) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n return privateAPI.builderComponent.selectTextTheme(\n manifestContextId,\n params,\n );\n }\n}\n\nexport default new PlatformSDKShape(ElementSDKShape)\n .withPublicMethod('getDataDefinitions')\n .withPublicMethod('getData')\n .withPublicMethod('getResolvedData')\n .withPublicMethod('setData')\n .withPublicMethod('getStyleDefinitions')\n .withPublicMethod('getStyles')\n .withPublicMethod('setStyles')\n .withPublicMethod('removeStyles')\n .withPublicMethod('getPresetDefinitions')\n .withPublicMethod('getAppliedPreset')\n .withPublicMethod('applyPreset')\n .withPublicMethod('getDisplayGroupDefinitions')\n .withPublicMethod('getState')\n .withPublicMethod('setState')\n .withPublicMethod('onChange')\n .withPublicMethod('getStateDefinitions')\n .withPublicMethod('selectFont')\n .withPublicMethod('selectFontFamily')\n .withPublicMethod('selectMedia')\n .withPublicMethod('selectLink')\n .withPublicMethod('selectColor')\n .withPublicMethod('selectFontWeight')\n .withPublicMethod('selectTextTheme')\n .build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class PreferencesSDKShape extends BaseSDKShape {\n async get(keys: string[]) {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.userPreferences.get(\n await this.getAppDefinitionId(),\n keys,\n );\n }\n\n async set(preferences: Record<string, any>) {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.userPreferences.set(\n await this.getAppDefinitionId(),\n preferences,\n );\n }\n}\n\nexport default new PlatformSDKShape(PreferencesSDKShape)\n .withPublicMethod('set')\n .withPublicMethod('get')\n .build();\n","import {\n DsItem,\n BuilderStyle,\n StyleRef,\n OpenColorPickerFn,\n OpenLinkPanelFn,\n} from '@wix/public-editor-platform-interfaces';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class ExternalPanelsSDKShape extends BaseSDKShape {\n async getData() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.getData();\n }\n\n async setData(newData: DsItem) {\n const privateAPI = await this.getPlatformPrivateAPI();\n\n return privateAPI.externalPanels.setData(newData);\n }\n\n async getStyle() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.getStyle();\n }\n\n async setStyle(newStyle: Partial<BuilderStyle> | StyleRef) {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.setStyle(newStyle);\n }\n\n async getTheme() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.getTheme();\n }\n\n async selectMedia() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.selectMedia();\n }\n\n async selectLink(...options: any): Promise<OpenLinkPanelFn> {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.selectLink(...options);\n }\n\n async selectColor(...options: any): Promise<OpenColorPickerFn> {\n return async () => {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.selectColor(...options);\n };\n }\n\n async translate(key: string | string[], values?: Record<string, any>) {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.translate(key, values);\n }\n}\n\nexport default new PlatformSDKShape(ExternalPanelsSDKShape)\n .withPublicMethod('getTheme')\n .withPublicMethod('getData')\n .withPublicMethod('getStyle')\n .withPublicMethod('selectColor')\n .withPublicMethod('selectLink')\n .withPublicMethod('selectMedia')\n .withPublicMethod('setData')\n .withPublicMethod('setStyle')\n .withPublicMethod('translate')\n .build();\n","import {\n BaseError,\n createErrorBuilder,\n} from '@wix/public-editor-platform-errors';\n\nexport enum ControllersErrorCode {\n UndefinedCompRef = 'UndefinedCompRef',\n}\n\nclass ControllersError extends BaseError<ControllersErrorCode> {\n constructor(message: string, code: ControllersErrorCode) {\n super(message, code, 'Controllers Error');\n }\n}\n\nexport const createControllersError = createErrorBuilder<\n ControllersErrorCode,\n ControllersError\n>(ControllersError);\n","import { BaseSDKShape } from '../BaseSDKShape';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\nimport { ControllersErrorCode, createControllersError } from './errors';\n\ninterface AppController {\n type: string;\n settings: Record<string, any>;\n update: (settings: Record<string, any>) => void;\n}\n\nexport class ControllersSDKShape extends BaseSDKShape {\n async #getSelectedComponentRef() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const refs = await privateAPI.components.getSelectedComponents();\n const compRef = refs[0];\n\n if (!compRef) {\n throw createControllersError(ControllersErrorCode.UndefinedCompRef);\n }\n\n return compRef;\n }\n async get(): Promise<AppController[]> {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.controllers.get(\n await this.getAppDefinitionId(),\n await this.#getSelectedComponentRef(),\n );\n }\n}\n\nexport default new PlatformSDKShape(ControllersSDKShape)\n .withPublicMethod('get')\n .build();\n","import { ComponentRef } from '@wix/public-editor-platform-interfaces';\nimport { BaseSDKShape } from '../BaseSDKShape';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\nimport {\n BindingTarget,\n IBindingConnectionItem,\n IDataBindingItem,\n} from './types';\nexport class BindingConnectionItem {\n constructor(\n private privateAPI: any,\n private compRef: ComponentRef,\n private bindingTargetId: string,\n protected config: string,\n ) {}\n\n public update(data: Partial<IDataBindingItem>) {\n return this.privateAPI.bindings.update(this.compRef, this.bindingTargetId, {\n config: data.config,\n role: data.role,\n });\n }\n\n public delete() {\n return this.privateAPI.bindings.delete(this.compRef, this.bindingTargetId);\n }\n}\nexport class BindingsSDKShape extends BaseSDKShape {\n public async get(\n bindingTarget: BindingTarget,\n ): Promise<IBindingConnectionItem | null> {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRefs = await privateAPI.components.getSelectedComponents();\n if (compRefs.length !== 1) {\n return null;\n }\n const [compRef] = compRefs;\n const dataBindingConfig = privateAPI.bindings.get(\n bindingTarget.id,\n compRef,\n );\n if (!dataBindingConfig) {\n return null;\n }\n\n return new BindingConnectionItem(\n privateAPI,\n compRef,\n bindingTarget.id,\n dataBindingConfig,\n );\n }\n}\n\nexport default new PlatformSDKShape(BindingsSDKShape)\n .withPublicMethod('get')\n .build();\n","import { ComponentRef } from '@wix/public-editor-platform-interfaces';\nimport { BaseSDKShape } from '../BaseSDKShape';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\nimport {\n BindingTarget,\n IBindingsProvider,\n IDataBindingItem,\n} from '../bindings/types';\nimport { BindingConnectionItem } from '../bindings';\n\nconst DATA_BINDING_PANEL_ID = 'Data Binding';\n\nconst { dataBindingPanelId, bindingItemName } = {\n dataBindingPanelId: '',\n bindingItemName: 'dataBinding',\n};\n\nclass BindingsProvider implements IBindingsProvider {\n constructor(\n private privateAPI: any,\n private compRef: ComponentRef,\n private dataItemTarget: BindingTarget,\n public name: string,\n protected dataBindingPanelId: string,\n ) {}\n\n public select() {\n return this.privateAPI.bindings.openDataBindingPanel(\n this.dataItemTarget.id,\n this.dataBindingPanelId,\n );\n }\n\n public createBinding(data: IDataBindingItem) {\n const created = this.privateAPI.bindings.create(this.compRef, {\n dataItemId: this.dataItemTarget.id,\n bindingItemType: bindingItemName,\n ...data,\n });\n\n if (!created) {\n return null;\n }\n\n return new BindingConnectionItem(\n this.privateAPI,\n this.compRef,\n this.dataItemTarget.id,\n JSON.stringify(data),\n );\n }\n}\nexport class BindingsProvidersSDKShape extends BaseSDKShape {\n public async list(bindingTarget: BindingTarget) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRefs: ComponentRef[] =\n await privateAPI.components.getSelectedComponents();\n if (compRefs.length !== 1) {\n return [];\n }\n const [compRef] = compRefs;\n if (!(await privateAPI.bindings.canCreateBindingsProvider(compRef))) {\n return [];\n }\n\n return [\n new BindingsProvider(\n privateAPI,\n compRef!,\n bindingTarget,\n DATA_BINDING_PANEL_ID,\n dataBindingPanelId,\n ),\n ];\n }\n}\n\nexport default new PlatformSDKShape(BindingsProvidersSDKShape)\n .withPublicMethod('list')\n .build();\n","import type { WixSDKTypes } from '@wix/public-editor-platform-interfaces';\nimport { ApplicationContext } from '@wix/editor-platform-contexts';\nimport { getMonitoringClientFunction } from '@wix/monitoring-browser-sdk-host';\n\ndeclare global {\n interface Window {\n Sentry?: any;\n }\n}\n\nexport const frame = (): WixSDKTypes.Host & {\n applicationContext: Promise<ApplicationContext>;\n essentials: {\n language?: string;\n locale?: string;\n };\n} => {\n const queryParams = new URLSearchParams(window.location.search);\n const essentialsQueryParamValue = queryParams.has('essentials')\n ? JSON.parse(queryParams.get('essentials')!)\n : undefined;\n const { monitoring, ...essentials } = essentialsQueryParamValue || {};\n const appDefinitionId = queryParams.get('appDefinitionId')!;\n const { context, config } = monitoring || {};\n const getMonitoringClient = getMonitoringClientFunction({\n hostContext: { appId: appDefinitionId, ...context },\n monitoringConfig: config,\n sentrySDK: typeof window !== 'undefined' ? window.Sentry : undefined,\n });\n\n return {\n environment: {},\n applicationContext: ApplicationContext.getInstance(),\n channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n getMonitoringClient,\n essentials,\n };\n};\n\nexport const worker = (): WixSDKTypes.Host & {\n applicationContext: Promise<ApplicationContext>;\n} => {\n return {\n environment: {},\n applicationContext: ApplicationContext.getInstance(),\n channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n };\n};\n","import './env';\nimport { auth } from './auth';\n\nexport { default as application } from './application';\nexport { default as elements } from './elements';\nexport { default as events } from './events';\nexport { default as info } from './info';\nexport { default as widget } from './widget';\nexport { default as inputs } from './inputs';\nexport { default as panels } from './panels';\nexport { default as modals } from './modals';\nexport { default as element, ElementSDKShape } from './element';\nexport { default as preferences } from './preferences';\nexport { default as externalPanels } from './externalPanels';\nexport { default as controllers } from './controllers';\nexport { default as bindings } from './bindings';\nexport { default as bindingsProviders } from './bindingsProviders';\nexport { BaseSDKShape } from './BaseSDKShape';\nexport { PlatformSDKShape } from './PlatformSDKShape';\n\nimport * as host from './host';\n\nexport const editor = {\n host: () => {\n const isWorker = typeof importScripts === 'function';\n\n if (isWorker) {\n return host.worker();\n }\n\n return host.frame();\n },\n auth,\n};\n"],"names":["EditorPlatformContextEnvironment","BaseError","createErrorBuilder","ApplicationContext","createHostModule","WidgetShapeErrorCode","ControllersErrorCode","dataBindingPanelId","getMonitoringClientFunction","host.worker","host.frame"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/env.ts","../../src/auth.ts","../../src/PlatformSDKShape.ts","../../src/BaseSDKShape.ts","../../src/application/index.ts","../../src/events/index.ts","../../src/elements/index.ts","../../src/info/index.ts","../../src/widget/errors.ts","../../src/inputs/utils.ts","../../src/widget/index.ts","../../src/inputs/index.ts","../../src/panels/index.ts","../../src/modals/index.ts","../../src/element/index.ts","../../src/preferences/index.ts","../../src/externalPanels/index.ts","../../src/controllers/errors.ts","../../src/controllers/index.ts","../../src/bindings/index.ts","../../src/bindingsProviders/index.ts","../../src/adminHost.ts","../../src/host.ts","../../src/index.ts"],"sourcesContent":["import { EditorPlatformContextEnvironment } from '@wix/editor-platform-environment-api';\n\nnew EditorPlatformContextEnvironment().expose();\n","import { ApplicationContext } from '@wix/editor-platform-contexts';\nimport {\n BaseError,\n createErrorBuilder,\n} from '@wix/public-editor-platform-errors';\nimport { AccessToken } from '@wix/public-editor-platform-interfaces';\n\nexport enum EditorPlatformSDKAuthErrorCode {\n EmptyAppAuthInstance = 'EmptyAppAuthInstance',\n EmptyAppDefinitionId = 'EmptyAppDefinitionId',\n}\n\nclass EditorPlatformSDKAuthError extends BaseError<EditorPlatformSDKAuthErrorCode> {\n state: Partial<{\n appDefinitionId: string;\n }> = {};\n\n constructor(message: string, code: EditorPlatformSDKAuthErrorCode) {\n super(message, code, 'Auth Strategy Error');\n }\n\n withAppDefinitionId(appDefinitionId: string) {\n this.state = { ...this.state, appDefinitionId };\n return this;\n }\n}\n\nexport const createEditorPlatformSDKAuthError = createErrorBuilder<\n EditorPlatformSDKAuthErrorCode,\n EditorPlatformSDKAuthError\n>(EditorPlatformSDKAuthError);\n\nfunction hasEnoughTimeUntilExpiry(\n expires: Date | undefined,\n expiryBuffer: number,\n) {\n const now = Date.now();\n const expiryTime = expires ? new Date(expires).getTime() : null;\n return expiryTime && expiryTime - now > expiryBuffer;\n}\n\nconst ACCESS_TOKEN_EXPIRY_GRACE_PERIOD = 30 * 60 * 1000; // half an hour\n\n/**\n * TODO: find a way to reuse implementation from PlatformInfra.getSDKAuth(...)\n * probably we should do it along with effort to support SDK shapes as placeholders,\n * when implementation is always injected from the main thread\n */\nexport const auth = () => {\n let instance: AccessToken;\n\n return {\n getAuthHeaders: async () => {\n const context = await ApplicationContext.getInstance();\n const appDefinitionId = context.getAppDefinitionId();\n const privateAPI = context.getPrivateAPI();\n\n if (!appDefinitionId) {\n throw createEditorPlatformSDKAuthError(\n EditorPlatformSDKAuthErrorCode.EmptyAppDefinitionId,\n );\n }\n\n if (\n !instance ||\n hasEnoughTimeUntilExpiry(\n instance.expires,\n ACCESS_TOKEN_EXPIRY_GRACE_PERIOD,\n )\n ) {\n instance = await privateAPI.auth.getAccessToken(\n appDefinitionId,\n await privateAPI.info.getMetaSiteId(),\n );\n }\n\n if (!instance?.token) {\n console.error(\n createEditorPlatformSDKAuthError(\n EditorPlatformSDKAuthErrorCode.EmptyAppAuthInstance,\n ).withAppDefinitionId(appDefinitionId),\n );\n\n return {\n headers: {\n Authorization: '',\n },\n };\n }\n\n return {\n headers: {\n Authorization: instance.token,\n },\n };\n },\n };\n};\n","import { ApplicationContext } from '@wix/editor-platform-contexts';\nimport { createHostModule } from '@wix/sdk-runtime/host-modules';\nimport { Host } from '@wix/sdk-types';\n\ninterface IHostWithPlatformContexts {\n applicationContext?: Promise<ApplicationContext>;\n}\n\ntype MethodNames<T> = Extract<\n {\n [K in keyof T]: T[K] extends (...args: any[]) => any ? K : never;\n }[keyof T],\n string\n>;\n\ntype PickMethods<T, Keys extends keyof T> = {\n [K in Keys]: T[K];\n};\n\nexport class PlatformSDKShape<\n TShape extends new (...args: any[]) => any,\n TSelected extends MethodNames<InstanceType<TShape>> = never,\n> {\n constructor(\n private ShapeConstructor: TShape,\n private selectedMethods: TSelected[] = [],\n ) {}\n\n withPublicMethod<K extends MethodNames<InstanceType<TShape>>>(\n method: K,\n ): PlatformSDKShape<TShape, TSelected | K> {\n return new PlatformSDKShape(this.ShapeConstructor, [\n ...this.selectedMethods,\n method,\n ]);\n }\n\n build() {\n if (!this.selectedMethods.length) {\n throw new Error('methods are not defined for the SDK shape');\n }\n\n const sdk = this.selectedMethods.reduce(\n (acc, method) => {\n return {\n ...acc,\n [method]: (host: IHostWithPlatformContexts) => {\n const instance = new this.ShapeConstructor(\n host?.applicationContext,\n );\n\n if (!instance[method]) {\n return () => {\n console.error(`\"${method}\" is not defined in the SDK shape`);\n };\n }\n\n return instance[method].bind(instance);\n },\n };\n },\n {} as PickMethods<InstanceType<TShape>, TSelected>,\n );\n\n // @ts-expect-error\n return createHostModule<Host, InstanceType<TShape>>(sdk);\n }\n}\n","import { ApplicationContext } from '@wix/editor-platform-contexts';\nimport {\n BaseError,\n createErrorBuilder,\n} from '@wix/public-editor-platform-errors';\n\n// export type IBaseSDKShape = new (\n// overrideApplicationContext?: Promise<ApplicationContext<any>>,\n// ) => any;\n\nexport enum BaseSDKErrorCode {\n ManifestContextIdRequired = 'ManifestContextIdRequired',\n}\n\nclass BaseSDKError extends BaseError<BaseSDKErrorCode> {\n constructor(message: string, code: BaseSDKErrorCode) {\n super(message, code, 'Base SDK Error');\n }\n}\n\nconst createBaseSDKError = createErrorBuilder<BaseSDKErrorCode, BaseSDKError>(\n BaseSDKError,\n);\n\nexport class BaseSDKShape {\n constructor(\n protected overriddenApplicationContext: Promise<ApplicationContext> | null = null,\n ) {}\n\n protected getApplicationContext() {\n return this.overriddenApplicationContext\n ? this.overriddenApplicationContext\n : ApplicationContext.getInstance();\n }\n\n protected async getAppDefinitionId() {\n return (await this.getApplicationContext()).getAppDefinitionId();\n }\n\n protected async getManifestContextId() {\n return (await this.getApplicationContext()).getManifestContextId();\n }\n\n protected async getRequiredManifestContextId() {\n const manifestContextId = await this.getManifestContextId();\n if (!manifestContextId) {\n throw createBaseSDKError(BaseSDKErrorCode.ManifestContextIdRequired);\n }\n\n return manifestContextId;\n }\n\n protected async getEnvironmentContext() {\n return (await this.getApplicationContext()).getEnvironmentContext();\n }\n\n protected async getPlatformPrivateAPI() {\n return (await this.getApplicationContext()).getPrivateAPI();\n }\n\n // NOTE: don't remove this for now\n // protected dep<TDep extends IBaseSDKShape>(Factory: TDep) {\n // let instance: InstanceType<TDep>;\n //\n // return () => {\n // if (!instance) {\n // instance = new Factory(this.getApplicationContext());\n // }\n //\n // return instance;\n // };\n // }\n}\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class ApplicationSDKShape extends BaseSDKShape {\n async getPrivateAPI<T>() {\n return (await this.getApplicationContext()).getPrivateApplicationAPI() as T;\n }\n\n async getPublicAPI<T>(appDefinitionId: string) {\n const privateAPI = await this.getPlatformPrivateAPI();\n\n return privateAPI.applicationManager.getPublicApplicationAPI(\n appDefinitionId,\n ) as Promise<T>;\n }\n\n async getAppInstance() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.info.getAppInstance(await this.getAppDefinitionId());\n }\n}\n\nexport default new PlatformSDKShape(ApplicationSDKShape)\n .withPublicMethod('getPrivateAPI')\n .withPublicMethod('getPublicAPI')\n .withPublicMethod('getAppInstance')\n .build();\n","import { AppEventPayload, AllowedEvents } from '@wix/editor-platform-contexts';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\n// TODO: remove events shape and remove payload transformations\nexport class EventsSDKShape extends BaseSDKShape {\n async addEventListener(\n name: any,\n // TODO: fix types\n cb: (payload: AppEventPayload<AllowedEvents>) => void,\n ) {\n return (await this.getApplicationContext())\n .getEvents()\n .addEventListener(name, cb);\n }\n}\n\nexport default new PlatformSDKShape(EventsSDKShape)\n .withPublicMethod('addEventListener')\n .build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\nimport { EventsSDKShape } from '../events';\nimport { IElement } from '@wix/public-editor-platform-interfaces';\n\nexport class ElementsSDKShape extends BaseSDKShape {\n async getSelection() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const refs = await privateAPI.components.getSelectedComponents();\n\n return Promise.all<IElement[]>(\n refs.map(\n (ref: any) => privateAPI.components.getComponent(ref) as IElement,\n ),\n );\n }\n\n async onSelectionChange(cb: (elements: IElement[]) => void) {\n const events = new EventsSDKShape(this.getApplicationContext());\n void events.addEventListener('componentSelectionChanged', (payload) => {\n // @ts-expect-error TODO: refactor events.\n cb(payload.components);\n });\n }\n}\n\nexport default new PlatformSDKShape(ElementsSDKShape)\n .withPublicMethod('onSelectionChange')\n .withPublicMethod('getSelection')\n .build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\ntype ThemeCustomProperty =\n | {\n type: string;\n value: string;\n displayName: string;\n }\n | { error: string };\n\nexport class InfoSDKShape extends BaseSDKShape {\n async getViewMode() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.info.getViewMode();\n }\n\n async getLanguageCode() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.info.getLanguageCode();\n }\n\n async getSiteDirection() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.info.getSiteDirection();\n }\n\n async siteHasCustomClasses() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.info.siteHasCustomClasses();\n }\n\n async getThemeCustomProperties(filter: {\n keys?: string[];\n }): Promise<Record<string, ThemeCustomProperty>> {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.info.getThemeCustomProperties(filter);\n }\n}\n\nexport default new PlatformSDKShape(InfoSDKShape)\n .withPublicMethod('getViewMode')\n .withPublicMethod('getLanguageCode')\n .withPublicMethod('getSiteDirection')\n .withPublicMethod('siteHasCustomClasses')\n .withPublicMethod('getThemeCustomProperties')\n .build();\n","import {\n BaseError,\n createErrorBuilder,\n} from '@wix/public-editor-platform-errors';\n\nexport enum WidgetShapeErrorCode {\n UndefinedCompRef = 'UndefinedCompRef',\n NotAvailableMethod = 'NotAvailableMethod',\n}\n\nclass WidgetShapeError extends BaseError<WidgetShapeErrorCode> {\n constructor(message: string, code: WidgetShapeErrorCode) {\n super(message, code, 'Widget Error');\n }\n}\n\nexport const createWidgetShapeError = createErrorBuilder<\n WidgetShapeErrorCode,\n WidgetShapeError\n>(WidgetShapeError);\n","export interface IFontValue {\n theme?: string;\n family?: string;\n size?: number;\n bold?: boolean;\n italic?: boolean;\n underline?: boolean;\n cssVariableName?: string;\n}\n\nexport interface FontPickerValue {\n font: string;\n textDecoration?: string;\n}\n\nexport const UNDERLINE_DEFINITION = 'underline';\n\nexport function getFontFamiliesFromFonts(fonts: string[]) {\n return fonts\n .map((font) => parseFontString({ font }).family)\n .filter(Boolean) as string[];\n}\n\nexport function parseFontString(fontPickerValue?: FontPickerValue) {\n const font: IFontValue = {\n family: undefined,\n size: undefined,\n };\n\n if (fontPickerValue?.font) {\n const { variableName, fallbackValue } = extractFontVar(\n fontPickerValue.font,\n );\n font.cssVariableName = variableName;\n const parts = fallbackValue.match(/(?:([\"']).*?\\1|\\S)+/g) || [];\n\n for (let i = 0; i < parts.length; i++) {\n const part = parts[i];\n\n switch (part) {\n case 'bold':\n font.bold = true;\n break;\n case 'italic':\n font.italic = true;\n break;\n default:\n if (part?.endsWith('px')) {\n font.size = parseInt(part, 10);\n } else if (i === parts.length - 1) {\n font.family = part;\n } else {\n font.family = (font.family || '') + ' ' + part;\n }\n }\n }\n }\n if (fontPickerValue?.textDecoration) {\n font.underline = fontPickerValue.textDecoration === UNDERLINE_DEFINITION;\n }\n // since we wrap it with \"\" in the font string, we need to remove it\n font.family = font.family?.trim().replace(/['\"]+/g, '');\n\n return font;\n}\n\nfunction extractFontVar(fontString: string) {\n const trimmedFont = fontString.trim();\n const match = trimmedFont.match(/var\\((--[\\w-]+),\\s*(.+)\\)/);\n\n if (match) {\n return {\n variableName: match[1],\n fallbackValue: match[2]?.trim() ?? '',\n };\n } else {\n return {\n variableName: undefined,\n fallbackValue: trimmedFont,\n };\n }\n}\n","import { createWidgetShapeError, WidgetShapeErrorCode } from './errors';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\nimport { getFontFamiliesFromFonts } from '../inputs/utils';\nimport { ComponentRef } from '@wix/public-editor-platform-interfaces';\n\nexport class WidgetScopedSDK {\n constructor(\n private compRef: ComponentRef,\n private privateAPI: any,\n ) {}\n\n async getProp(propName: string): Promise<string> {\n const props = await this.privateAPI.refComponents.getProps(this.compRef);\n return props?.[propName];\n }\n\n async setProp(propName: string, value: string) {\n await this.privateAPI.refComponents.setProps(this.compRef, {\n [propName]: value,\n });\n }\n\n async getDesignPreset() {\n return this.privateAPI.designPresets.getDesignPresetName(this.compRef);\n }\n\n async setDesignPreset(designPresetName: string) {\n await this.privateAPI.designPresets.setDesignPresetByName(\n this.compRef,\n designPresetName,\n );\n }\n\n async getNestedWidget(selector: `#${string}`) {\n const childCompRef =\n await this.privateAPI.refComponents.findComponentBySelector(\n this.compRef,\n selector,\n );\n\n if (!childCompRef) {\n return null;\n }\n\n return new WidgetScopedSDK(childCompRef, this.privateAPI);\n }\n}\n\nexport class WidgetSDKShape extends BaseSDKShape {\n async #getSelectedComponentRef() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const refs = await privateAPI.components.getSelectedComponents();\n const compRef = refs[0];\n\n if (!compRef) {\n throw createWidgetShapeError(WidgetShapeErrorCode.UndefinedCompRef);\n }\n\n return compRef;\n }\n\n async setPreloadFonts(fonts: string[]): Promise<void> {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRef = await this.#getSelectedComponentRef();\n\n if (await privateAPI.refComponents.isRefComponent(compRef)) {\n throw createWidgetShapeError(\n WidgetShapeErrorCode.NotAvailableMethod,\n 'not available for the current component type',\n );\n }\n\n const fontFamilies = getFontFamiliesFromFonts(fonts);\n\n await privateAPI.customElement.setPreloadFonts(compRef, fontFamilies);\n }\n\n async getProp(propName: string): Promise<string> {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRef = await this.#getSelectedComponentRef();\n\n if (await privateAPI.refComponents.isRefComponent(compRef)) {\n return new WidgetScopedSDK(compRef, privateAPI).getProp(propName);\n } else {\n return privateAPI.customElement.getAttribute(compRef, propName);\n }\n }\n\n async setProp(propName: string, value: string) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRef = await this.#getSelectedComponentRef();\n\n if (await privateAPI.refComponents.isRefComponent(compRef)) {\n return new WidgetScopedSDK(compRef, privateAPI).setProp(propName, value);\n } else {\n await privateAPI.customElement.setAttribute(compRef, propName, value);\n }\n }\n\n async getDesignPreset() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRef = await this.#getSelectedComponentRef();\n\n if (!(await privateAPI.refComponents.isRefComponent(compRef))) {\n throw createWidgetShapeError(\n WidgetShapeErrorCode.NotAvailableMethod,\n 'not available for the current component type',\n );\n }\n\n return new WidgetScopedSDK(compRef, privateAPI).getDesignPreset();\n }\n\n async setDesignPreset(designPresetName: string) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRef = await this.#getSelectedComponentRef();\n\n if (!(await privateAPI.refComponents.isRefComponent(compRef))) {\n throw createWidgetShapeError(\n WidgetShapeErrorCode.NotAvailableMethod,\n 'not available for the current component type',\n );\n }\n\n return new WidgetScopedSDK(compRef, privateAPI).setDesignPreset(\n designPresetName,\n );\n }\n\n async getNestedWidget(selector: `#${string}`) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRef = await this.#getSelectedComponentRef();\n\n return new WidgetScopedSDK(compRef, privateAPI).getNestedWidget(selector);\n }\n}\n\nconst widgetShape = new PlatformSDKShape(WidgetSDKShape)\n .withPublicMethod('getNestedWidget')\n .withPublicMethod('setDesignPreset')\n .withPublicMethod('getDesignPreset')\n .withPublicMethod('setProp')\n .withPublicMethod('getProp')\n .withPublicMethod('setPreloadFonts');\n\nexport default widgetShape.build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\nimport {\n type IFontValue,\n type FontPickerValue,\n parseFontString,\n UNDERLINE_DEFINITION,\n} from './utils';\n\ninterface IColorValue {\n color: string;\n theme?: string;\n cssVariableName?: string;\n}\n\ntype IColorPickerValue = string | null | undefined;\n\nfunction fontValueToCSS(fontValue: IFontValue): string {\n return `${\n fontValue.cssVariableName ? `var(${fontValue.cssVariableName}, ` : ''\n }${fontValue.italic ? 'italic ' : ''}${fontValue.bold ? 'bold ' : ''}${fontValue.size || 16}px ${\n // wrap each font family with quotes\n fontValue.family\n ?.split(',')\n .map((fontFamily) => `\"${fontFamily.replace(/['\"]+/g, '')}\"`)\n .join(',') || 'serif'\n }${fontValue.cssVariableName ? ')' : ''}`;\n}\n\nfunction parseColorString(\n colorPickerValue?: IColorPickerValue,\n): IColorValue | null {\n if (!colorPickerValue) {\n return null;\n }\n const colorString = colorPickerValue!;\n const match = colorString.match(/var\\((--[\\w-]+),\\s*(.+)\\)/);\n\n if (match) {\n return {\n cssVariableName: match[1],\n color: match[2]!,\n };\n } else {\n return {\n color: colorString,\n };\n }\n}\n\nfunction colorValueToCSS(colorValue?: IColorValue | null): string {\n if (!colorValue) {\n return '';\n }\n return colorValue.cssVariableName\n ? `var(${colorValue.cssVariableName}, ${colorValue.color})`\n : colorValue.color;\n}\n\ntype IFontValueInternal = {\n preset?: string;\n editorKey?: string;\n family?: string;\n size?: number;\n style: {\n bold?: boolean;\n italic?: boolean;\n underline?: boolean;\n };\n htmlTag?: string;\n};\n\nconst fonts = {\n transformFontInternalValue: (value?: IFontValue): IFontValueInternal => {\n if (value) {\n const { theme, cssVariableName, bold, italic, underline, ...rest } =\n value;\n\n return {\n ...rest,\n style: {\n bold,\n italic,\n underline,\n },\n editorKey: cssVariableName || theme || '',\n };\n } else {\n return {\n editorKey: 'font_7',\n family: 'helvetica-w01-roman',\n size: 16,\n style: {},\n };\n }\n },\n};\n\nexport class InputsSDKShape extends BaseSDKShape {\n async selectColor(\n value?: IColorPickerValue,\n options?: {\n onChange?: (value: IColorPickerValue) => void;\n },\n ) {\n const privateAPI = await this.getPlatformPrivateAPI();\n\n let colorValue: IColorValue | null = parseColorString(value);\n let colorResult = colorValueToCSS(colorValue);\n\n await privateAPI.inputs.openColorPicker(\n {\n color:\n colorValue?.cssVariableName || colorValue?.theme || colorValue?.color,\n },\n ({\n color,\n theme,\n cssVariableTheme,\n }: {\n color: string;\n theme: string;\n cssVariableTheme: string;\n isHover: boolean;\n }) => {\n colorValue = {\n color,\n theme,\n cssVariableName: cssVariableTheme,\n };\n colorResult = colorValueToCSS(colorValue);\n options?.onChange?.(colorResult);\n },\n );\n\n return colorResult;\n }\n\n async selectFont(\n value?: FontPickerValue,\n options?: {\n onChange?: (value: FontPickerValue) => void;\n },\n ) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const fontValue = parseFontString(value);\n let _value = value;\n\n await privateAPI.inputs.openFontPickerV2(\n {\n ...options,\n panelSectionsDefinition: {\n htmlTag: 'hidden',\n },\n componentStyle: fonts.transformFontInternalValue(fontValue),\n },\n (font: IFontValue, accessibility: any) => {\n _value = {\n font: fontValueToCSS(font),\n textDecoration: font.underline ? UNDERLINE_DEFINITION : undefined,\n };\n options?.onChange?.(_value);\n },\n );\n\n return _value;\n }\n}\n\nexport default new PlatformSDKShape(InputsSDKShape)\n .withPublicMethod('selectColor')\n .withPublicMethod('selectFont')\n .build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class PanelsSDKShape extends BaseSDKShape {\n async openLanguageSupportPanel() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.panels.openLanguageSupportPanel();\n }\n\n async openFontsUploadPanel() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.panels.openFontsUploadPanel();\n }\n}\n\nexport default new PlatformSDKShape(PanelsSDKShape)\n .withPublicMethod('openLanguageSupportPanel')\n .withPublicMethod('openFontsUploadPanel')\n .build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class ModalsSDKShape extends BaseSDKShape {\n async openDashboardModal(options: {\n url: string;\n closeOtherPanels?: boolean;\n }) {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.panels.openDashboardPanel(\n await this.getAppDefinitionId(),\n options,\n );\n }\n}\n\nexport default new PlatformSDKShape(ModalsSDKShape)\n .withPublicMethod('openDashboardModal')\n .build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\nimport { ApplicationContext } from '@wix/editor-platform-contexts';\n\ninterface IFontFamily {\n family: string;\n weight: string;\n}\n\ninterface IFontWeight {\n weight: string;\n}\n\ntype IFontFamilyAndWeight = IFontFamily & IFontWeight;\n\nexport class ElementSDKShape extends BaseSDKShape {\n constructor(\n protected overriddenApplicationContext: Promise<ApplicationContext> | null = null,\n private childPath: number[] = [],\n ) {\n super(overriddenApplicationContext);\n }\n\n async getStyleDefinitions() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.getStyleDefinitions(\n manifestContextId,\n this.childPath,\n );\n }\n\n async getStyles(): Promise<{\n cssProperties: Record<string, string>;\n cssCustomProperties: Record<string, string>;\n }> {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n return privateAPI.builderComponent.getStyles(\n manifestContextId,\n this.childPath,\n );\n }\n\n async setStyles({\n cssProperties,\n cssCustomProperties,\n }: {\n cssProperties?: Record<string, string>;\n cssCustomProperties?: Record<string, string>;\n } = {}): Promise<void> {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n return privateAPI.builderComponent.setStyles(\n manifestContextId,\n this.childPath,\n {\n cssProperties,\n cssCustomProperties,\n },\n );\n }\n\n async removeStyles(\n values: {\n cssPropertiesKeys?: string[];\n cssCustomPropertiesKeys?: string[];\n } = {},\n ) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.removeStyles(\n manifestContextId,\n this.childPath,\n values,\n );\n }\n\n async getDataDefinitions() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.getDataDefinitions(\n manifestContextId,\n this.childPath,\n );\n }\n\n async getData() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.getData(\n manifestContextId,\n this.childPath,\n );\n }\n\n async getResolvedData({ dataItemKey }: { dataItemKey: string }) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.getResolvedData(\n manifestContextId,\n this.childPath,\n {\n dataItemKey,\n },\n );\n }\n\n async setData(values: {}) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.setData(\n manifestContextId,\n this.childPath,\n values,\n );\n }\n\n async getPresetDefinitions() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n return privateAPI.builderComponent.getPresetDefinitions(\n manifestContextId,\n this.childPath,\n );\n }\n\n async getAppliedPreset() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n return privateAPI.builderComponent.getAppliedPreset(\n manifestContextId,\n this.childPath,\n );\n }\n\n async applyPreset(options: { key: string }) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n return privateAPI.builderComponent.applyPreset(\n manifestContextId,\n this.childPath,\n options,\n );\n }\n\n // TODO: group type should come from builder enum\n async getDisplayGroupDefinitions(options?: {\n filter?: { groupType?: string };\n }) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n return privateAPI.builderComponent.getDisplayGroupDefinitions(\n manifestContextId,\n this.childPath,\n options,\n );\n }\n\n async getState() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.getState(\n manifestContextId,\n this.childPath,\n );\n }\n\n async setState(stateKey: string | null) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.setState(\n manifestContextId,\n this.childPath,\n stateKey,\n );\n }\n\n async getStateDefinitions() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.getStateDefinitions(\n manifestContextId,\n this.childPath,\n );\n }\n\n async onChange(cb: () => void) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.onContextualManifestChange(\n manifestContextId,\n cb,\n );\n }\n\n async selectFont(\n params:\n | {\n styleItemKey: string;\n }\n // TODO: get type from common place https://wix.atlassian.net/browse/EP-6480\n | {\n selectedFontFamily?: IFontFamilyAndWeight;\n onChange?: (value: IFontFamilyAndWeight) => void;\n onPreview?: (value: IFontFamilyAndWeight) => void;\n },\n ) {\n try {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n const selectedFont = await privateAPI.builderComponent.selectFont(\n manifestContextId,\n this.childPath,\n {\n ...params,\n showWeights: true,\n },\n );\n return selectedFont;\n } catch (error) {\n // TODO: handle error https://wix.atlassian.net/browse/EP-6428\n }\n }\n\n async selectFontFamily(\n params:\n | {\n styleItemKey: string;\n }\n // TODO: get type from common place https://wix.atlassian.net/browse/EP-6480\n | {\n selectedFontFamily?: IFontFamily;\n onChange?: (value: IFontFamily) => void;\n onPreview?: (value: IFontFamily) => void;\n },\n ) {\n try {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n const selectedFont = await privateAPI.builderComponent.selectFont(\n manifestContextId,\n this.childPath,\n {\n ...params,\n showWeights: false,\n },\n );\n return selectedFont;\n } catch (error) {\n // TODO: handle error https://wix.atlassian.net/browse/EP-6428\n }\n }\n\n async selectMedia(\n params: // TODO: get type from common place https://wix.atlassian.net/browse/EP-6462\n | {\n dataItemKey: string;\n }\n | {\n isMultiSelect?: boolean;\n category?: string;\n },\n ) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.selectMedia(\n manifestContextId,\n this.childPath,\n params,\n );\n }\n\n async selectLink(\n params:\n | {\n dataItemKey: string;\n }\n | {\n value?: object;\n options?: {\n linkType?: string[];\n };\n },\n ) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n\n return privateAPI.builderComponent.selectLink(\n manifestContextId,\n this.childPath,\n params,\n );\n }\n\n async selectColor(\n params:\n | { styleItemKey: string }\n // TODO: get the ColorPickerOptions from SDK types https://wix.atlassian.net/browse/EP-6433\n | {\n initialValue?: string;\n mode?: ('solid' | 'gradient')[];\n showBrand?: boolean;\n showCustom?: boolean;\n showAdvancedSettings?: boolean;\n showOpacity?: boolean;\n position?: { x: number; y: number };\n biData?: { origin: string };\n // TODO: Fix when public Color type is available https://wix.atlassian.net/browse/EP-6427\n onChange?: (color: string) => void;\n // TODO: Fix when public Color type is available https://wix.atlassian.net/browse/EP-6427\n onApply?: (color: string) => void;\n onClose?: () => void;\n onCancel?: () => void;\n },\n ) {\n const privateAPI = await this.getPlatformPrivateAPI();\n try {\n const manifestContextId = await this.getRequiredManifestContextId();\n const selectedColor = await privateAPI.builderComponent.selectColor(\n manifestContextId,\n this.childPath,\n params,\n );\n return selectedColor;\n } catch (error) {\n // TODO: handle error https://wix.atlassian.net/browse/EP-6428\n }\n }\n\n async selectFontWeight(\n params:\n | {\n fontFamilyStyleItemKey: string;\n fontWeightStyleItemKey: string;\n }\n | {\n fontStyleItemKey: string;\n }\n | {\n fontFamily?: IFontFamily;\n onChange?: (value: IFontWeight) => void;\n },\n ): Promise<IFontWeight> {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n return privateAPI.builderComponent.selectFontWeight(\n manifestContextId,\n this.childPath,\n params,\n );\n }\n\n async selectTextTheme(params: {\n target?: HTMLElement;\n initialValue?: {\n font?: string;\n color?: string;\n };\n }) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const manifestContextId = await this.getRequiredManifestContextId();\n return privateAPI.builderComponent.selectTextTheme(\n manifestContextId,\n params,\n );\n }\n}\n\nexport default new PlatformSDKShape(ElementSDKShape)\n .withPublicMethod('getDataDefinitions')\n .withPublicMethod('getData')\n .withPublicMethod('getResolvedData')\n .withPublicMethod('setData')\n .withPublicMethod('getStyleDefinitions')\n .withPublicMethod('getStyles')\n .withPublicMethod('setStyles')\n .withPublicMethod('removeStyles')\n .withPublicMethod('getPresetDefinitions')\n .withPublicMethod('getAppliedPreset')\n .withPublicMethod('applyPreset')\n .withPublicMethod('getDisplayGroupDefinitions')\n .withPublicMethod('getState')\n .withPublicMethod('setState')\n .withPublicMethod('onChange')\n .withPublicMethod('getStateDefinitions')\n .withPublicMethod('selectFont')\n .withPublicMethod('selectFontFamily')\n .withPublicMethod('selectMedia')\n .withPublicMethod('selectLink')\n .withPublicMethod('selectColor')\n .withPublicMethod('selectFontWeight')\n .withPublicMethod('selectTextTheme')\n .build();\n","import { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class PreferencesSDKShape extends BaseSDKShape {\n async get(keys: string[]) {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.userPreferences.get(\n await this.getAppDefinitionId(),\n keys,\n );\n }\n\n async set(preferences: Record<string, any>) {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.userPreferences.set(\n await this.getAppDefinitionId(),\n preferences,\n );\n }\n}\n\nexport default new PlatformSDKShape(PreferencesSDKShape)\n .withPublicMethod('set')\n .withPublicMethod('get')\n .build();\n","import {\n DsItem,\n BuilderStyle,\n StyleRef,\n OpenColorPickerFn,\n OpenLinkPanelFn,\n} from '@wix/public-editor-platform-interfaces';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\nimport { BaseSDKShape } from '../BaseSDKShape';\n\nexport class ExternalPanelsSDKShape extends BaseSDKShape {\n async getData() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.getData();\n }\n\n async setData(newData: DsItem) {\n const privateAPI = await this.getPlatformPrivateAPI();\n\n return privateAPI.externalPanels.setData(newData);\n }\n\n async getStyle() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.getStyle();\n }\n\n async setStyle(newStyle: Partial<BuilderStyle> | StyleRef) {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.setStyle(newStyle);\n }\n\n async getTheme() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.getTheme();\n }\n\n async selectMedia() {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.selectMedia();\n }\n\n async selectLink(...options: any): Promise<OpenLinkPanelFn> {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.selectLink(...options);\n }\n\n async selectColor(...options: any): Promise<OpenColorPickerFn> {\n return async () => {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.selectColor(...options);\n };\n }\n\n async translate(key: string | string[], values?: Record<string, any>) {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.externalPanels.translate(key, values);\n }\n}\n\nexport default new PlatformSDKShape(ExternalPanelsSDKShape)\n .withPublicMethod('getTheme')\n .withPublicMethod('getData')\n .withPublicMethod('getStyle')\n .withPublicMethod('selectColor')\n .withPublicMethod('selectLink')\n .withPublicMethod('selectMedia')\n .withPublicMethod('setData')\n .withPublicMethod('setStyle')\n .withPublicMethod('translate')\n .build();\n","import {\n BaseError,\n createErrorBuilder,\n} from '@wix/public-editor-platform-errors';\n\nexport enum ControllersErrorCode {\n UndefinedCompRef = 'UndefinedCompRef',\n}\n\nclass ControllersError extends BaseError<ControllersErrorCode> {\n constructor(message: string, code: ControllersErrorCode) {\n super(message, code, 'Controllers Error');\n }\n}\n\nexport const createControllersError = createErrorBuilder<\n ControllersErrorCode,\n ControllersError\n>(ControllersError);\n","import { BaseSDKShape } from '../BaseSDKShape';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\nimport { ControllersErrorCode, createControllersError } from './errors';\n\ninterface AppController {\n type: string;\n settings: Record<string, any>;\n update: (settings: Record<string, any>) => void;\n}\n\nexport class ControllersSDKShape extends BaseSDKShape {\n async #getSelectedComponentRef() {\n const privateAPI = await this.getPlatformPrivateAPI();\n const refs = await privateAPI.components.getSelectedComponents();\n const compRef = refs[0];\n\n if (!compRef) {\n throw createControllersError(ControllersErrorCode.UndefinedCompRef);\n }\n\n return compRef;\n }\n async get(): Promise<AppController[]> {\n const privateAPI = await this.getPlatformPrivateAPI();\n return privateAPI.controllers.get(\n await this.getAppDefinitionId(),\n await this.#getSelectedComponentRef(),\n );\n }\n}\n\nexport default new PlatformSDKShape(ControllersSDKShape)\n .withPublicMethod('get')\n .build();\n","import { ComponentRef } from '@wix/public-editor-platform-interfaces';\nimport { BaseSDKShape } from '../BaseSDKShape';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\nimport {\n BindingTarget,\n IBindingConnectionItem,\n IDataBindingItem,\n} from './types';\nexport class BindingConnectionItem {\n constructor(\n private privateAPI: any,\n private compRef: ComponentRef,\n private bindingTargetId: string,\n protected config: string,\n ) {}\n\n public update(data: Partial<IDataBindingItem>) {\n return this.privateAPI.bindings.update(this.compRef, this.bindingTargetId, {\n config: data.config,\n role: data.role,\n });\n }\n\n public delete() {\n return this.privateAPI.bindings.delete(this.compRef, this.bindingTargetId);\n }\n}\nexport class BindingsSDKShape extends BaseSDKShape {\n public async get(\n bindingTarget: BindingTarget,\n ): Promise<IBindingConnectionItem | null> {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRefs = await privateAPI.components.getSelectedComponents();\n if (compRefs.length !== 1) {\n return null;\n }\n const [compRef] = compRefs;\n const dataBindingConfig = privateAPI.bindings.get(\n bindingTarget.id,\n compRef,\n );\n if (!dataBindingConfig) {\n return null;\n }\n\n return new BindingConnectionItem(\n privateAPI,\n compRef,\n bindingTarget.id,\n dataBindingConfig,\n );\n }\n}\n\nexport default new PlatformSDKShape(BindingsSDKShape)\n .withPublicMethod('get')\n .build();\n","import { ComponentRef } from '@wix/public-editor-platform-interfaces';\nimport { BaseSDKShape } from '../BaseSDKShape';\nimport { PlatformSDKShape } from '../PlatformSDKShape';\nimport {\n BindingTarget,\n IBindingsProvider,\n IDataBindingItem,\n} from '../bindings/types';\nimport { BindingConnectionItem } from '../bindings';\n\nconst DATA_BINDING_PANEL_ID = 'Data Binding';\n\nconst { dataBindingPanelId, bindingItemName } = {\n dataBindingPanelId: '',\n bindingItemName: 'dataBinding',\n};\n\nclass BindingsProvider implements IBindingsProvider {\n constructor(\n private privateAPI: any,\n private compRef: ComponentRef,\n private dataItemTarget: BindingTarget,\n public name: string,\n protected dataBindingPanelId: string,\n ) {}\n\n public select() {\n return this.privateAPI.bindings.openDataBindingPanel(\n this.dataItemTarget.id,\n this.dataBindingPanelId,\n );\n }\n\n public createBinding(data: IDataBindingItem) {\n const created = this.privateAPI.bindings.create(this.compRef, {\n dataItemId: this.dataItemTarget.id,\n bindingItemType: bindingItemName,\n ...data,\n });\n\n if (!created) {\n return null;\n }\n\n return new BindingConnectionItem(\n this.privateAPI,\n this.compRef,\n this.dataItemTarget.id,\n JSON.stringify(data),\n );\n }\n}\nexport class BindingsProvidersSDKShape extends BaseSDKShape {\n public async list(bindingTarget: BindingTarget) {\n const privateAPI = await this.getPlatformPrivateAPI();\n const compRefs: ComponentRef[] =\n await privateAPI.components.getSelectedComponents();\n if (compRefs.length !== 1) {\n return [];\n }\n const [compRef] = compRefs;\n if (!(await privateAPI.bindings.canCreateBindingsProvider(compRef))) {\n return [];\n }\n\n return [\n new BindingsProvider(\n privateAPI,\n compRef!,\n bindingTarget,\n DATA_BINDING_PANEL_ID,\n dataBindingPanelId,\n ),\n ];\n }\n}\n\nexport default new PlatformSDKShape(BindingsProvidersSDKShape)\n .withPublicMethod('list')\n .build();\n","import type { ApplicationContext } from '@wix/editor-platform-contexts';\nimport type { AdminHost as AdminHostType } from '@wix/admin';\n\nexport interface AdminAPI extends NonNullable<AdminHostType['admin']> {}\n\nclass Admin implements AdminAPI {\n constructor(private applicationContext: Promise<ApplicationContext>) {}\n\n private async adminAPI(): Promise<AdminAPI> {\n const context = await this.applicationContext;\n const privateAPI = context.getPrivateAPI();\n const adminAPI = await privateAPI.admin;\n return adminAPI;\n }\n\n getContextIds: AdminAPI['getContextIds'] = () => {\n throw new Error('Not implemented yet');\n };\n\n openItemSelector: AdminAPI['openItemSelector'] = (_args) => {\n throw new Error('Not implemented yet');\n };\n}\n\nexport class AdminHost {\n #api: AdminAPI;\n\n getAPI(): AdminAPI {\n return this.#api;\n }\n\n constructor(applicationContext: Promise<ApplicationContext>) {\n this.#api = new Admin(applicationContext);\n }\n}\n","import type { WixSDKTypes } from '@wix/public-editor-platform-interfaces';\nimport { ApplicationContext } from '@wix/editor-platform-contexts';\nimport { getMonitoringClientFunction } from '@wix/monitoring-browser-sdk-host';\nimport { AdminHost, type AdminAPI } from './adminHost';\n\ndeclare global {\n interface Window {\n Sentry?: any;\n }\n}\n\nexport const frame = (): WixSDKTypes.Host & {\n admin: AdminAPI;\n applicationContext: Promise<ApplicationContext>;\n essentials: {\n language?: string;\n locale?: string;\n };\n} => {\n const queryParams = new URLSearchParams(window.location.search);\n const essentialsQueryParamValue = queryParams.has('essentials')\n ? JSON.parse(queryParams.get('essentials')!)\n : undefined;\n const { monitoring, ...essentials } = essentialsQueryParamValue || {};\n const appDefinitionId = queryParams.get('appDefinitionId')!;\n const { context, config } = monitoring || {};\n const getMonitoringClient = getMonitoringClientFunction({\n hostContext: { appId: appDefinitionId, ...context },\n monitoringConfig: config,\n sentrySDK: typeof window !== 'undefined' ? window.Sentry : undefined,\n });\n\n const applicationContext = ApplicationContext.getInstance();\n const adminHost = new AdminHost(applicationContext);\n\n return {\n environment: {},\n applicationContext,\n channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n getMonitoringClient,\n admin: adminHost.getAPI(),\n essentials,\n };\n};\n\nexport const worker = (): WixSDKTypes.Host & {\n admin: AdminAPI;\n applicationContext: Promise<ApplicationContext>;\n} => {\n const applicationContext = ApplicationContext.getInstance();\n const adminHost = new AdminHost(applicationContext);\n\n return {\n environment: {},\n applicationContext,\n channel: {\n observeState: async () => {\n return { disconnect() {} };\n },\n },\n admin: adminHost.getAPI(),\n };\n};\n","import './env';\nimport { auth } from './auth';\n\nexport { default as application } from './application';\nexport { default as elements } from './elements';\nexport { default as events } from './events';\nexport { default as info } from './info';\nexport { default as widget } from './widget';\nexport { default as inputs } from './inputs';\nexport { default as panels } from './panels';\nexport { default as modals } from './modals';\nexport { default as element, ElementSDKShape } from './element';\nexport { default as preferences } from './preferences';\nexport { default as externalPanels } from './externalPanels';\nexport { default as controllers } from './controllers';\nexport { default as bindings } from './bindings';\nexport { default as bindingsProviders } from './bindingsProviders';\nexport { BaseSDKShape } from './BaseSDKShape';\nexport { PlatformSDKShape } from './PlatformSDKShape';\n\nimport * as host from './host';\n\nexport const editor = {\n host: () => {\n const isWorker = typeof importScripts === 'function';\n\n if (isWorker) {\n return host.worker();\n }\n\n return host.frame();\n },\n auth,\n};\n"],"names":["EditorPlatformContextEnvironment","BaseError","createErrorBuilder","ApplicationContext","createHostModule","WidgetShapeErrorCode","ControllersErrorCode","dataBindingPanelId","getMonitoringClientFunction","host.worker","host.frame"],"mappings":"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"}