@wix/editor 1.392.0 → 1.393.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 +41 -23
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +41 -23
- package/dist/esm/index.js.map +1 -1
- package/dist/statics/index.js +41 -23
- package/dist/statics/index.js.map +1 -1
- package/package.json +2 -2
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(
|
|
588
|
-
|
|
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
|
-
|
|
597
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
-
|
|
638
|
-
|
|
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(
|
|
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
|
-
|
|
692
|
-
|
|
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
|
-
|
|
701
|
-
|
|
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
|
-
|
|
711
|
-
|
|
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
|
-
|
|
723
|
-
|
|
740
|
+
this.childPath,
|
|
741
|
+
params
|
|
724
742
|
);
|
|
725
743
|
}
|
|
726
744
|
async selectTextTheme(params) {
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -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/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 { 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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"}
|