From 63ef01e6e60015e89184b4be525ad8f1b14707e2 Mon Sep 17 00:00:00 2001 From: Devon Mack Date: Fri, 5 Apr 2024 16:04:27 -0400 Subject: [PATCH 1/2] Add loadingSpinnerDisableOnDialog to types --- src/types/bee.ts | 2808 +++++++++++++++++++++++----------------------- 1 file changed, 1429 insertions(+), 1379 deletions(-) diff --git a/src/types/bee.ts b/src/types/bee.ts index bec54b4..24534f9 100644 --- a/src/types/bee.ts +++ b/src/types/bee.ts @@ -1,60 +1,60 @@ -import * as CSS from 'csstype' -import { KebabKeys, RecursivePartial, ValueOf } from './utils' +import * as CSS from "csstype"; +import { KebabKeys, RecursivePartial, ValueOf } from "./utils"; export interface IBeeLoader { - beePluginUrl: string, - authUrl: string + beePluginUrl: string; + authUrl: string; } export interface IUrlConfig { - authUrl: string, - beePluginUrl: string + authUrl: string; + beePluginUrl: string; } export interface IBeeOptions { - shared?: boolean + shared?: boolean; } interface TemplateLanguage { - label: string, - value: string + label: string; + value: string; } export interface BeeSaveOptions { - language?: string + language?: string; } export interface IGetTokenPayload { - clientId: string, - clientSecret: string + clientId: string; + clientSecret: string; } export enum StageModeOptions { - DESKTOP = 'desktop', - MOBILE = 'mobile' + DESKTOP = "desktop", + MOBILE = "mobile", } export enum StageDisplayOptions { - BLUR = 'blur', - HIDE = 'hide' + BLUR = "blur", + HIDE = "hide", } export interface ILoadStageMode { - mode: StageModeOptions, - display: StageDisplayOptions + mode: StageModeOptions; + display: StageDisplayOptions; } -export type ILoadConfig = ILoadableProps +export type ILoadConfig = ILoadableProps; export interface ILanguage { - language: string + language: string; } export enum LoadWorkspaceOptions { - DEFAULT = 'default', - MIXED = 'mixed', - AMP_ONLY = 'amp_only', - HTML_ONLY = 'html_only' + DEFAULT = "default", + MIXED = "mixed", + AMP_ONLY = "amp_only", + HTML_ONLY = "html_only", } export enum BeePluginErrorCodes { @@ -146,632 +146,638 @@ export enum BeePluginErrorCodes { } export type BeePluginError = { - code?: BeePluginErrorCodes - detail?: string - message: string - data?: BeePluginErrorData -} + code?: BeePluginErrorCodes; + detail?: string; + message: string; + data?: BeePluginErrorData; +}; export type BeePluginInfo = { - code: BeePluginErrorCodes - message: string + code: BeePluginErrorCodes; + message: string; detail: { - handle: OnInfoDetailHandle.AI_INTEGRATION - promptId: string + handle: OnInfoDetailHandle.AI_INTEGRATION; + promptId: string; usage: { - completion_tokens: number - prompt_tokens: number - total_tokens: number - } - } -} + completion_tokens: number; + prompt_tokens: number; + total_tokens: number; + }; + }; +}; -type KebabCSSProperties = KebabKeys +type KebabCSSProperties = KebabKeys; export type BeePluginErrorData = { - uuid: string - config: IPluginRow | IPluginModule -} + uuid: string; + config: IPluginRow | IPluginModule; +}; export const ModuleTypes = { - DIVIDER: 'mailup-bee-newsletter-modules-divider', - TEXT: 'mailup-bee-newsletter-modules-text', - IMAGE: 'mailup-bee-newsletter-modules-image', - BUTTON: 'mailup-bee-newsletter-modules-button', - HTML: 'mailup-bee-newsletter-modules-html', - SOCIAL: 'mailup-bee-newsletter-modules-social', - EMPTY: 'mailup-bee-newsletter-modules-empty', - VIDEO: 'mailup-bee-newsletter-modules-video', - ADDON: 'mailup-bee-newsletter-modules-addon', - FORM: 'mailup-bee-newsletter-modules-form', - MERGE_CONTENT: 'mailup-bee-newsletter-modules-merge-content', - CAROUSEL: 'mailup-bee-newsletter-modules-carousel', - MENU: 'mailup-bee-newsletter-modules-menu', - ICONS: 'mailup-bee-newsletter-modules-icons', - HEADING: 'mailup-bee-newsletter-modules-heading', - SPACER: 'mailup-bee-newsletter-modules-spacer', - PARAGRAPH: 'mailup-bee-newsletter-modules-paragraph', - LIST: 'mailup-bee-newsletter-modules-list' -} as const + DIVIDER: "mailup-bee-newsletter-modules-divider", + TEXT: "mailup-bee-newsletter-modules-text", + IMAGE: "mailup-bee-newsletter-modules-image", + BUTTON: "mailup-bee-newsletter-modules-button", + HTML: "mailup-bee-newsletter-modules-html", + SOCIAL: "mailup-bee-newsletter-modules-social", + EMPTY: "mailup-bee-newsletter-modules-empty", + VIDEO: "mailup-bee-newsletter-modules-video", + ADDON: "mailup-bee-newsletter-modules-addon", + FORM: "mailup-bee-newsletter-modules-form", + MERGE_CONTENT: "mailup-bee-newsletter-modules-merge-content", + CAROUSEL: "mailup-bee-newsletter-modules-carousel", + MENU: "mailup-bee-newsletter-modules-menu", + ICONS: "mailup-bee-newsletter-modules-icons", + HEADING: "mailup-bee-newsletter-modules-heading", + SPACER: "mailup-bee-newsletter-modules-spacer", + PARAGRAPH: "mailup-bee-newsletter-modules-paragraph", + LIST: "mailup-bee-newsletter-modules-list", +} as const; export const ModuleDescriptorNames = { - DIVIDER: 'divider', - TEXT: 'text', - IMAGE: 'image', - BUTTON: 'button', - HTML: 'html', - SOCIAL: 'social', - VIDEO: 'video', - ADDON: 'addon', - FORM: 'form', - MERGE_CONTENT: 'mergeContent', - CAROUSEL: 'carousel', - MENU: 'menu', - ICONS: 'icons', - HEADING: 'heading', - SPACER: 'spacer', - PARAGRAPH: 'paragraph', - LIST: 'list' -} as const + DIVIDER: "divider", + TEXT: "text", + IMAGE: "image", + BUTTON: "button", + HTML: "html", + SOCIAL: "social", + VIDEO: "video", + ADDON: "addon", + FORM: "form", + MERGE_CONTENT: "mergeContent", + CAROUSEL: "carousel", + MENU: "menu", + ICONS: "icons", + HEADING: "heading", + SPACER: "spacer", + PARAGRAPH: "paragraph", + LIST: "list", +} as const; export const ModuleDescriptorOrderNames = { - DIVIDER: 'Divider', - TEXT: 'Text', - IMAGE: 'Image', - BUTTON: 'Button', - HTML: 'Html', - SOCIAL: 'Social', - VIDEO: 'Video', - FORM: 'Form', - MERGE_CONTENT: 'MergeContent', - CAROUSEL: 'Carousel', - MENU: 'Menu', - ICONS: 'Icons', - HEADING: 'Heading', - SPACER: 'Spacer', - PARAGRAPH: 'Paragraph', - LIST: 'List' -} as const + DIVIDER: "Divider", + TEXT: "Text", + IMAGE: "Image", + BUTTON: "Button", + HTML: "Html", + SOCIAL: "Social", + VIDEO: "Video", + FORM: "Form", + MERGE_CONTENT: "MergeContent", + CAROUSEL: "Carousel", + MENU: "Menu", + ICONS: "Icons", + HEADING: "Heading", + SPACER: "Spacer", + PARAGRAPH: "Paragraph", + LIST: "List", +} as const; export interface IModulesGroups { - label: string, - collapsable: boolean - collapsedOnLoad: boolean - modulesNames: ValueOf[] | string[] + label: string; + collapsable: boolean; + collapsedOnLoad: boolean; + modulesNames: ValueOf[] | string[]; } export interface IPluginModuleHeading { - type: typeof ModuleTypes.HEADING - locked?: boolean - uuid: string + type: typeof ModuleTypes.HEADING; + locked?: boolean; + uuid: string; descriptor: { - id?: string + id?: string; computedStyle: { - height: number - width: number - }, + height: number; + width: number; + }; style: { - 'padding-bottom': string - 'padding-left': string - 'padding-right': string - 'padding-top': string - 'text-align': string - width: string - } + "padding-bottom": string; + "padding-left": string; + "padding-right": string; + "padding-top": string; + "text-align": string; + width: string; + }; heading: { style: { - color: string - direction: string - 'font-family': string - 'font-size': string - 'font-weight': string - 'letter-spacing': string - 'line-height': string - 'link-color': string - 'text-align': string - } - text: string - title: 'h1' | 'h2' | 'h3' - } - } + color: string; + direction: string; + "font-family": string; + "font-size": string; + "font-weight": string; + "letter-spacing": string; + "line-height": string; + "link-color": string; + "text-align": string; + }; + text: string; + title: "h1" | "h2" | "h3"; + }; + }; } export interface IPluginModuleParagraph { - type: typeof ModuleTypes.PARAGRAPH - locked?: boolean - uuid: string + type: typeof ModuleTypes.PARAGRAPH; + locked?: boolean; + uuid: string; descriptor: { - id?: string + id?: string; style: Partial<{ - 'padding-bottom': string - 'padding-left': string - 'padding-right': string - 'padding-top': string - }> + "padding-bottom": string; + "padding-left": string; + "padding-right": string; + "padding-top": string; + }>; computedStyle: Partial<{ - hideContentOnAmp: boolean - hideContentOnDesktop: boolean - hideContentOnHtml: boolean - hideContentOnMobile: boolean - }> + hideContentOnAmp: boolean; + hideContentOnDesktop: boolean; + hideContentOnHtml: boolean; + hideContentOnMobile: boolean; + }>; paragraph: { computedStyle: Partial<{ - linkColor: string - paragraphSpacing: string - }> - html: string + linkColor: string; + paragraphSpacing: string; + }>; + html: string; style: Partial<{ - color: string - direction: string - 'font-family': string - 'font-size': string - 'font-weight': string - 'letter-spacing': string - 'line-height': string - 'text-align': string - }> - } - } + color: string; + direction: string; + "font-family": string; + "font-size": string; + "font-weight": string; + "letter-spacing": string; + "line-height": string; + "text-align": string; + }>; + }; + }; } export interface IPluginModuleButton { - type: typeof ModuleTypes.BUTTON - locked?: boolean - uuid: string + type: typeof ModuleTypes.BUTTON; + locked?: boolean; + uuid: string; descriptor: { - id?: string + id?: string; style: { - 'padding-bottom': string - 'padding-left': string - 'padding-right': string - 'padding-top': string - 'text-align': string - } + "padding-bottom": string; + "padding-left": string; + "padding-right": string; + "padding-top": string; + "text-align": string; + }; computedStyle: { - height: number - hideContentOnMobile: boolean - width: number - } + height: number; + hideContentOnMobile: boolean; + width: number; + }; button: { - href: string - label: string + href: string; + label: string; style: { - 'background-color': string - 'border-bottom': string - 'border-left': string - 'border-radius': string - 'border-right': string - 'border-top': string - 'color': string - 'font-family': string - 'font-weight': string - 'line-height': string - 'max-width': string - 'padding-bottom': string - 'padding-left': string - 'padding-right': string - 'padding-top': string - 'width': string - } - } - } + "background-color": string; + "border-bottom": string; + "border-left": string; + "border-radius": string; + "border-right": string; + "border-top": string; + color: string; + "font-family": string; + "font-weight": string; + "line-height": string; + "max-width": string; + "padding-bottom": string; + "padding-left": string; + "padding-right": string; + "padding-top": string; + width: string; + }; + }; + }; } export interface IPluginModuleList { - type: typeof ModuleTypes.LIST - locked?: boolean - uuid: string + type: typeof ModuleTypes.LIST; + locked?: boolean; + uuid: string; descriptor: { - id?: string + id?: string; style: { - 'padding-bottom': string - 'padding-left': string - 'padding-right': string - 'padding-top': string - } + "padding-bottom": string; + "padding-left": string; + "padding-right": string; + "padding-top": string; + }; computedStyle: { - hideContentOnAmp: boolean - hideContentOnDesktop: boolean - hideContentOnHtml: boolean - hideContentOnMobile: boolean - } + hideContentOnAmp: boolean; + hideContentOnDesktop: boolean; + hideContentOnHtml: boolean; + hideContentOnMobile: boolean; + }; list: { - html: string - tag: string + html: string; + tag: string; style: { - color: string - direction: string - 'font-family': string - 'font-size': string - 'font-weight': string - 'letter-spacing': string - 'line-height': string - 'text-align': string - } + color: string; + direction: string; + "font-family": string; + "font-size": string; + "font-weight": string; + "letter-spacing": string; + "line-height": string; + "text-align": string; + }; computedStyle: { - liIndent: string - liSpacing: string - linkColor: string - listStylePosition: string - listStyleType: string - startList: string - startListFrom: string - } - } - } + liIndent: string; + liSpacing: string; + linkColor: string; + listStylePosition: string; + listStyleType: string; + startList: string; + startListFrom: string; + }; + }; + }; } export interface IPluginModuleDivider { - type: typeof ModuleTypes.DIVIDER - locked?: boolean - uuid: string + type: typeof ModuleTypes.DIVIDER; + locked?: boolean; + uuid: string; descriptor: { - id?: string + id?: string; style: { - 'padding-bottom': string - 'padding-left': string - 'padding-right': string - 'padding-top': string - } + "padding-bottom": string; + "padding-left": string; + "padding-right": string; + "padding-top": string; + }; computedStyle: { - align: string - hideContentOnMobile: boolean - } + align: string; + hideContentOnMobile: boolean; + }; divider: { style: { - 'border-top': string - width: string - } - } - } + "border-top": string; + width: string; + }; + }; + }; } export interface IPluginModuleForm { - type: typeof ModuleTypes.FORM - locked?: boolean - uuid: string + type: typeof ModuleTypes.FORM; + locked?: boolean; + uuid: string; descriptor: { - id?: string + id?: string; computedStyle: { - class: string - hideContentOnDesktop: boolean - hideContentOnMobile: boolean - } + class: string; + hideContentOnDesktop: boolean; + hideContentOnMobile: boolean; + }; style: { - 'background-color': string - 'font-family': string - 'font-size': string - 'padding-bottom': string - 'padding-left': string - 'padding-right': string - 'padding-top': string - 'text-align': string - width: string - } + "background-color": string; + "font-family": string; + "font-size": string; + "padding-bottom": string; + "padding-left": string; + "padding-right": string; + "padding-top": string; + "text-align": string; + width: string; + }; form: { - attributes: unknown - structure: unknown + attributes: unknown; + structure: unknown; style: { buttons: { - backgroundColor: string - 'border-bottom': string - 'border-left': string - 'border-radius': string - 'border-right': string - 'border-top': string - color: string - 'line-height': string - 'max-width': string - 'padding-bottom': string - 'padding-left': string - 'padding-right': string - 'padding-top': string - 'text-align': string - 'font-weight': string - 'font-style': string - 'letter-spacing': string - width: string + backgroundColor: string; + "border-bottom": string; + "border-left": string; + "border-radius": string; + "border-right": string; + "border-top": string; + color: string; + "line-height": string; + "max-width": string; + "padding-bottom": string; + "padding-left": string; + "padding-right": string; + "padding-top": string; + "text-align": string; + "font-weight": string; + "font-style": string; + "letter-spacing": string; + width: string; outer: { - flexGrow: number - display: string - 'padding-bottom': string - 'padding-left': string - 'padding-right': string - 'padding-top': string - }, - } + flexGrow: number; + display: string; + "padding-bottom": string; + "padding-left": string; + "padding-right": string; + "padding-top": string; + }; + }; fields: { - backgroundColor: string - 'border-bottom': string - 'border-left': string - 'border-radius': string - 'border-right': string - 'border-top': string - color: string - outlineColor: string - 'padding-bottom': string - 'padding-left': string - 'padding-right': string - 'padding-top': string - } + backgroundColor: string; + "border-bottom": string; + "border-left": string; + "border-radius": string; + "border-right": string; + "border-top": string; + color: string; + outlineColor: string; + "padding-bottom": string; + "padding-left": string; + "padding-right": string; + "padding-top": string; + }; labels: { - color: string - 'font-style': string - 'font-weight': string - 'label-position': string - 'line-height': string - 'text-align': string - 'min-width': string - 'letter-spacing': string - } - } - } - } + color: string; + "font-style": string; + "font-weight": string; + "label-position": string; + "line-height": string; + "text-align": string; + "min-width": string; + "letter-spacing": string; + }; + }; + }; + }; } export interface IPluginModuleSocialIcon { - id: string + id: string; image: { - alt: string - href: string - prefix: string - src: string - title: string - } - name: string - text: string - type: string + alt: string; + href: string; + prefix: string; + src: string; + title: string; + }; + name: string; + text: string; + type: string; } export interface IPluginModuleSocial { - type: typeof ModuleTypes.SOCIAL - locked?: boolean - uuid: string + type: typeof ModuleTypes.SOCIAL; + locked?: boolean; + uuid: string; descriptor: { - id?: string + id?: string; style: { - 'padding-bottom': string - 'padding-left': string - 'padding-right': string - 'padding-top': string - 'text-align': string - } + "padding-bottom": string; + "padding-left": string; + "padding-right": string; + "padding-top": string; + "text-align": string; + }; computedStyle: { - height: number - hideContentOnMobile: boolean - iconsDefaultWidth: number - padding: string - width: number - } + height: number; + hideContentOnMobile: boolean; + iconsDefaultWidth: number; + padding: string; + width: number; + }; iconsList: { - icons: IPluginModuleSocialIcon[] - } - } + icons: IPluginModuleSocialIcon[]; + }; + }; } export interface IPluginModuleMenuItem { link: { - href: string, - target: string, - title: string, - }, - text: string, + href: string; + target: string; + title: string; + }; + text: string; } export interface IPluginModuleMenu { - type: typeof ModuleTypes.MENU - locked?: boolean - uuid: string + type: typeof ModuleTypes.MENU; + locked?: boolean; + uuid: string; descriptor: { - id?: string + id?: string; computedStyle: { - hideContentOnDesktop: boolean - hideContentOnMobile: boolean - layout: string - linkColor: string + hideContentOnDesktop: boolean; + hideContentOnMobile: boolean; + layout: string; + linkColor: string; hamburger: { - backgroundColor: string - foregroundColor: string - iconSize: string - iconType: string - mobile: boolean - }, + backgroundColor: string; + foregroundColor: string; + iconSize: string; + iconType: string; + mobile: boolean; + }; menuItemsSpacing: { - 'padding-bottom': string - 'padding-left': string - 'padding-right': string - 'padding-top': string - }, - }, + "padding-bottom": string; + "padding-left": string; + "padding-right": string; + "padding-top": string; + }; + }; style: { - color: string - 'font-family': string - 'font-size': string - 'padding-bottom': string - 'padding-left': string - 'padding-right': string - 'padding-top': string - 'text-align': string - } + color: string; + "font-family": string; + "font-size": string; + "padding-bottom": string; + "padding-left": string; + "padding-right": string; + "padding-top": string; + "text-align": string; + }; menuItemsList: { - items: IPluginModuleMenuItem[] - } - } + items: IPluginModuleMenuItem[]; + }; + }; } export interface IPluginModuleSpacer { - type: typeof ModuleTypes.SPACER - locked?: boolean - uuid: string + type: typeof ModuleTypes.SPACER; + locked?: boolean; + uuid: string; descriptor: { - id?: string + id?: string; spacer: { style: { - height: string - } - } + height: string; + }; + }; computedStyle: { - hideContentOnMobile: boolean - } - } + hideContentOnMobile: boolean; + }; + }; } export type IPluginModule = - IPluginModuleHeading | IPluginModuleParagraph | IPluginModuleButton | - IPluginModuleList | IPluginModuleDivider | IPluginModuleForm | - IPluginModuleSocial | IPluginModuleMenu | IPluginModuleSpacer + | IPluginModuleHeading + | IPluginModuleParagraph + | IPluginModuleButton + | IPluginModuleList + | IPluginModuleDivider + | IPluginModuleForm + | IPluginModuleSocial + | IPluginModuleMenu + | IPluginModuleSpacer; export interface IPluginColumn { - 'grid-columns': number - modules: IPluginModule[] - style: KebabCSSProperties - uuid: string + "grid-columns": number; + modules: IPluginModule[]; + style: KebabCSSProperties; + uuid: string; } export interface IPluginDisplayCondition { - after?: string - before?: string - className?: string - description?: string - isActive: boolean - label?: string - type?: string - name?: string + after?: string; + before?: string; + className?: string; + description?: string; + isActive: boolean; + label?: string; + type?: string; + name?: string; } export type IPluginComputedStyle = Partial<{ - class: string - height: number | string - width: number | string - hideContentOnAmp: boolean - hideContentOnHtml: boolean - hideContentOnMobile: boolean - hideContentOnDesktop: boolean - linkColor: string - messageBackgroundColor: string - messageWidth: string - rowColStackOnMobile: boolean - rowReverseColStackOnMobile: boolean - iconsDefaultWidth: number - padding: string - align: string - paragraphSpacing: string - liIndent: string - liSpacing: string - listStylePosition: string - listStyleType: string - startList: string - startListFrom: string - itemsSpacing: string - iconHeight: string - layout: string + class: string; + height: number | string; + width: number | string; + hideContentOnAmp: boolean; + hideContentOnHtml: boolean; + hideContentOnMobile: boolean; + hideContentOnDesktop: boolean; + linkColor: string; + messageBackgroundColor: string; + messageWidth: string; + rowColStackOnMobile: boolean; + rowReverseColStackOnMobile: boolean; + iconsDefaultWidth: number; + padding: string; + align: string; + paragraphSpacing: string; + liIndent: string; + liSpacing: string; + listStylePosition: string; + listStyleType: string; + startList: string; + startListFrom: string; + itemsSpacing: string; + iconHeight: string; + layout: string; menuItemsSpacing: { - [x: string]: string - } + [x: string]: string; + }; iconSpacing: { - [x: string]: string - } + [x: string]: string; + }; hamburger: { - [x: string]: unknown - } -}> + [x: string]: unknown; + }; +}>; //TOFIX: understand if we can rename export interface IPluginContent { - style?: KebabCSSProperties + style?: KebabCSSProperties; //TOFIX: only pick correct properties - computedStyle?: IPluginComputedStyle + computedStyle?: IPluginComputedStyle; } export interface IPluginRowContent { //TOFIX: only pick correct properties - computedStyle?: IPluginComputedStyle - style: KebabCSSProperties + computedStyle?: IPluginComputedStyle; + style: KebabCSSProperties; } export interface IPluginRowContainer { - style: KebabCSSProperties - displayCondition?: IPluginDisplayCondition + style: KebabCSSProperties; + displayCondition?: IPluginDisplayCondition; } export type RowsConfiguration = { - emptyRows?: boolean - defaultRows?: boolean - externalContentURLs?: CustomRowConfiguration[] -} + emptyRows?: boolean; + defaultRows?: boolean; + externalContentURLs?: CustomRowConfiguration[]; +}; export type CustomRowBehaviors = { - canEdit?: boolean - canDelete?: boolean - canDeleteSyncedRows?: boolean - canEditSyncedRows?: boolean -} + canEdit?: boolean; + canDelete?: boolean; + canDeleteSyncedRows?: boolean; + canEditSyncedRows?: boolean; +}; export type CustomRowConfiguration = { - name?: string - value?: string - handle?: string - isLocal?: boolean - behaviors?: CustomRowBehaviors -} + name?: string; + value?: string; + handle?: string; + isLocal?: boolean; + behaviors?: CustomRowBehaviors; +}; export const RowLayoutType = { - ONE_COLUMNS_EMPTY: 'one-column-empty', - TWO_COLUMNS_EMPTY: 'two-columns-empty', - TWO_COLUMNS_4_8_EMPTY: 'two-columns-4-8-empty', - TWO_COLUMNS_8_4_EMPTY: 'two-columns-8-4-empty', - TWO_COLUMNS_3_9_EMPTY: 'two-columns-3-9-empty', - TWO_COLUMNS_9_3_EMPTY: 'two-columns-9-3-empty', - THREE_COLUMNS_EMPTY: 'three-columns-empty', - THREE_COLUMNS_3_3_6_EMPTY: 'three-columns-3-3-6-empty', - THREE_COLUMNS_3_6_3_EMPTY: 'three-columns-3-6-3-empty', - THREE_COLUMNS_6_3_3_EMPTY: 'three-columns-6-3-3-empty', - FOUR_COLUMNS_EMPTY: 'four-columns-empty', - SIX_COLUMNS_EMPTY: 'six-columns-empty', -} as const + ONE_COLUMNS_EMPTY: "one-column-empty", + TWO_COLUMNS_EMPTY: "two-columns-empty", + TWO_COLUMNS_4_8_EMPTY: "two-columns-4-8-empty", + TWO_COLUMNS_8_4_EMPTY: "two-columns-8-4-empty", + TWO_COLUMNS_3_9_EMPTY: "two-columns-3-9-empty", + TWO_COLUMNS_9_3_EMPTY: "two-columns-9-3-empty", + THREE_COLUMNS_EMPTY: "three-columns-empty", + THREE_COLUMNS_3_3_6_EMPTY: "three-columns-3-3-6-empty", + THREE_COLUMNS_3_6_3_EMPTY: "three-columns-3-6-3-empty", + THREE_COLUMNS_6_3_3_EMPTY: "three-columns-6-3-3-empty", + FOUR_COLUMNS_EMPTY: "four-columns-empty", + SIX_COLUMNS_EMPTY: "six-columns-empty", +} as const; export interface IPluginRow { - columns: IPluginColumn[] - container: IPluginRowContainer - content: IPluginContent - type: ValueOf - uuid: string - locked?: boolean - synced?: boolean - metadata?: Record - empty?: boolean - name?: string + columns: IPluginColumn[]; + container: IPluginRowContainer; + content: IPluginContent; + type: ValueOf; + uuid: string; + locked?: boolean; + synced?: boolean; + metadata?: Record; + empty?: boolean; + name?: string; } export interface IPluginEditDeleteRow { - handle: string - label: string - row: Partial - value: string + handle: string; + label: string; + row: Partial; + value: string; } export interface IInvitedMention { - username: string - value: string - uid: string | number + username: string; + value: string; + uid: string | number; } export interface IPluginForm { structure: { - attributes: Record - fields: Record - layout: unknown[] - title: string - description: string - } + attributes: Record; + fields: Record; + layout: unknown[]; + title: string; + description: string; + }; } export interface IPluginFilePicker { - url: string + url: string; } export enum EngageHandle { - MDM = 'mdm', + MDM = "mdm", } export enum OnInfoDetailHandle { - AI_INTEGRATION = 'ai-integration' + AI_INTEGRATION = "ai-integration", } export type BeePluginContentDialogHandler = ( @@ -779,1037 +785,1067 @@ export type BeePluginContentDialogHandler = ( reject: () => void, args: A, handle?: T -) => Promise +) => Promise; export type BeePluginConfigurationsHooks = { getMentions?: { - handler: BeePluginContentDialogHandler - }, + handler: BeePluginContentDialogHandler< + IInvitedMention[], + undefined, + string + >; + }; getRows?: { - handler: BeePluginContentDialogHandler - } -} + handler: BeePluginContentDialogHandler< + IPluginRow[], + undefined, + { handle: string; value: string } + >; + }; +}; export enum OnCommentChangeEnum { - NEWCOMMENT = 'NEW_COMMENT', - DELETECOMMENT = 'COMMENT_DELETED', - CHANGECOMMENT = 'COMMENT_EDITED', - THREADRESOLVED = 'COMMENT_THREAD_RESOLVED', - THREADREOPENED = 'COMMENT_THREAD_REOPENED' + NEWCOMMENT = "NEW_COMMENT", + DELETECOMMENT = "COMMENT_DELETED", + CHANGECOMMENT = "COMMENT_EDITED", + THREADRESOLVED = "COMMENT_THREAD_RESOLVED", + THREADREOPENED = "COMMENT_THREAD_REOPENED", } export type IAuthor = { - userHandle: string - username: string - userColor: string -} + userHandle: string; + username: string; + userColor: string; +}; export type BeePluginCommentPayload = { - author: IAuthor - content: string - elementId: string - mentions: string[] - parentCommentId: string - responses: string[] - timestamp: string -} + author: IAuthor; + content: string; + elementId: string; + mentions: string[]; + parentCommentId: string; + responses: string[]; + timestamp: string; +}; export type BeePluginUpdatePayload = { - content: string - mentions: string[] -} + content: string; + mentions: string[]; +}; export type BeePluginOnCommentChangePayloadWithComment = { - type: OnCommentChangeEnum.NEWCOMMENT | OnCommentChangeEnum.THREADRESOLVED | OnCommentChangeEnum.THREADREOPENED + type: + | OnCommentChangeEnum.NEWCOMMENT + | OnCommentChangeEnum.THREADRESOLVED + | OnCommentChangeEnum.THREADREOPENED; payload: { - commentId: string - comment: BeePluginCommentPayload - } -} + commentId: string; + comment: BeePluginCommentPayload; + }; +}; export type BeePluginOnCommentChangePayloadForWithUpdate = { - type: OnCommentChangeEnum.CHANGECOMMENT + type: OnCommentChangeEnum.CHANGECOMMENT; payload: { - commentId: string - update: BeePluginUpdatePayload - } -} + commentId: string; + update: BeePluginUpdatePayload; + }; +}; export type BeePluginOnCommentChangePayloadForWithDeletedComment = { - type: OnCommentChangeEnum.DELETECOMMENT + type: OnCommentChangeEnum.DELETECOMMENT; payload: { - commentId: string - deletedComment: BeePluginCommentPayload + commentId: string; + deletedComment: BeePluginCommentPayload; deletedResponses: { - [commentId: string]: BeePluginCommentPayload - } - } -} + [commentId: string]: BeePluginCommentPayload; + }; + }; +}; -export type BeePluginOnCommentChangePayload = ( - BeePluginOnCommentChangePayloadWithComment +export type BeePluginOnCommentChangePayload = + | BeePluginOnCommentChangePayloadWithComment | BeePluginOnCommentChangePayloadForWithUpdate - | BeePluginOnCommentChangePayloadForWithDeletedComment -) + | BeePluginOnCommentChangePayloadForWithDeletedComment; export type BeePluginOnCommentPayload = { - change: BeePluginOnCommentChangePayload + change: BeePluginOnCommentChangePayload; comments: { - [commentId: string]: BeePluginCommentPayload - } + [commentId: string]: BeePluginCommentPayload; + }; threadUsers: { - contributors: IAuthor[] - } - collaboration?: boolean -} + contributors: IAuthor[]; + }; + collaboration?: boolean; +}; export interface IMergeTag { - name: string - value: string - previewValue?: string + name: string; + value: string; + previewValue?: string; } export interface IMergeContent { - name: string - value: string - id?: number + name: string; + value: string; + id?: number; } export interface ISpecialLink { - label: string - link: string - type: string - id?: number + label: string; + link: string; + type: string; + id?: number; } export type BeePluginAdvancedPermissionStageToggle = { - locked: boolean + locked: boolean; engage: { - enabled: boolean - handle: EngageHandle.MDM - tooltip?: string - } -} + enabled: boolean; + handle: EngageHandle.MDM; + tooltip?: string; + }; +}; export type AdvancedSettingsBehaviours = { - canSelect: boolean - canAdd: boolean - canViewSidebar: boolean - canClone: boolean - canMove: boolean - canDelete: boolean -} + canSelect: boolean; + canAdd: boolean; + canViewSidebar: boolean; + canClone: boolean; + canMove: boolean; + canDelete: boolean; +}; export type AdvancedSettingsShowLocked = { - show: boolean - locked: boolean -} + show: boolean; + locked: boolean; +}; export type AdvancedSettingsTextEditor = { - toolbar: string[] - fontSizes: string -} + toolbar: string[]; + fontSizes: string; +}; export type BeePluginAdvancedPermission = RecursivePartial<{ workspace: { - stageToggle: BeePluginAdvancedPermissionStageToggle - } + stageToggle: BeePluginAdvancedPermissionStageToggle; + }; tabs: { - rows: AdvancedSettingsShowLocked - settings: AdvancedSettingsShowLocked - content: AdvancedSettingsShowLocked - } + rows: AdvancedSettingsShowLocked; + settings: AdvancedSettingsShowLocked; + content: AdvancedSettingsShowLocked; + }; rows: { - behaviors: AdvancedSettingsBehaviours - backgroundColorRow: AdvancedSettingsShowLocked - backgroundColorContent: AdvancedSettingsShowLocked - doNotStackOnMobile: AdvancedSettingsShowLocked - backgroundImage: AdvancedSettingsShowLocked - backgroundVideo: AdvancedSettingsShowLocked - displayConditions: AdvancedSettingsShowLocked - columnTabs: AdvancedSettingsShowLocked - hideOnMobile: AdvancedSettingsShowLocked - rowLayout: AdvancedSettingsShowLocked - contentBorder: AdvancedSettingsShowLocked - roundedCorners: AdvancedSettingsShowLocked + behaviors: AdvancedSettingsBehaviours; + backgroundColorRow: AdvancedSettingsShowLocked; + backgroundColorContent: AdvancedSettingsShowLocked; + doNotStackOnMobile: AdvancedSettingsShowLocked; + backgroundImage: AdvancedSettingsShowLocked; + backgroundVideo: AdvancedSettingsShowLocked; + displayConditions: AdvancedSettingsShowLocked; + columnTabs: AdvancedSettingsShowLocked; + hideOnMobile: AdvancedSettingsShowLocked; + rowLayout: AdvancedSettingsShowLocked; + contentBorder: AdvancedSettingsShowLocked; + roundedCorners: AdvancedSettingsShowLocked; toolbar: { - close: AdvancedSettingsShowLocked - save: AdvancedSettingsShowLocked - editSyncedRow: AdvancedSettingsShowLocked - } - verticalAlign: AdvancedSettingsShowLocked - }, + close: AdvancedSettingsShowLocked; + save: AdvancedSettingsShowLocked; + editSyncedRow: AdvancedSettingsShowLocked; + }; + verticalAlign: AdvancedSettingsShowLocked; + }; settings: { - title: AdvancedSettingsShowLocked - description: AdvancedSettingsShowLocked - language: AdvancedSettingsShowLocked - favicon: AdvancedSettingsShowLocked - contentAreaWidth: AdvancedSettingsShowLocked - contentAreaAlign: AdvancedSettingsShowLocked - containerBackgroundColor: AdvancedSettingsShowLocked - contentBackgroundColor: AdvancedSettingsShowLocked - defaultFontFamily: AdvancedSettingsShowLocked - linkColor: AdvancedSettingsShowLocked - containerBackgroundImage: AdvancedSettingsShowLocked - } + title: AdvancedSettingsShowLocked; + description: AdvancedSettingsShowLocked; + language: AdvancedSettingsShowLocked; + favicon: AdvancedSettingsShowLocked; + contentAreaWidth: AdvancedSettingsShowLocked; + contentAreaAlign: AdvancedSettingsShowLocked; + containerBackgroundColor: AdvancedSettingsShowLocked; + contentBackgroundColor: AdvancedSettingsShowLocked; + defaultFontFamily: AdvancedSettingsShowLocked; + linkColor: AdvancedSettingsShowLocked; + containerBackgroundImage: AdvancedSettingsShowLocked; + }; columns: { behaviors: { - canResize: boolean - canAdd: boolean - canDelete: boolean - } - } + canResize: boolean; + canAdd: boolean; + canDelete: boolean; + }; + }; content: { title: { - textEditor: AdvancedSettingsTextEditor - behaviors: AdvancedSettingsBehaviours + textEditor: AdvancedSettingsTextEditor; + behaviors: AdvancedSettingsBehaviours; properties: { - fontWeight: AdvancedSettingsShowLocked - fontSize: AdvancedSettingsShowLocked - title: AdvancedSettingsShowLocked - fontFamily: AdvancedSettingsShowLocked - textColor: AdvancedSettingsShowLocked - linkColor: AdvancedSettingsShowLocked - textAlign: AdvancedSettingsShowLocked - lineHeight: AdvancedSettingsShowLocked - letterSpacing: AdvancedSettingsShowLocked - direction: AdvancedSettingsShowLocked - padding: AdvancedSettingsShowLocked - hideOnMobile: AdvancedSettingsShowLocked - hideOnAmp: AdvancedSettingsShowLocked - id: AdvancedSettingsShowLocked - aiIntegration: AdvancedSettingsShowLocked - } - } + fontWeight: AdvancedSettingsShowLocked; + fontSize: AdvancedSettingsShowLocked; + title: AdvancedSettingsShowLocked; + fontFamily: AdvancedSettingsShowLocked; + textColor: AdvancedSettingsShowLocked; + linkColor: AdvancedSettingsShowLocked; + textAlign: AdvancedSettingsShowLocked; + lineHeight: AdvancedSettingsShowLocked; + letterSpacing: AdvancedSettingsShowLocked; + direction: AdvancedSettingsShowLocked; + padding: AdvancedSettingsShowLocked; + hideOnMobile: AdvancedSettingsShowLocked; + hideOnAmp: AdvancedSettingsShowLocked; + id: AdvancedSettingsShowLocked; + aiIntegration: AdvancedSettingsShowLocked; + }; + }; viwed: { - behaviors: AdvancedSettingsBehaviours + behaviors: AdvancedSettingsBehaviours; properties: { - id: AdvancedSettingsShowLocked - } - }, + id: AdvancedSettingsShowLocked; + }; + }; spacer: { - behaviors: AdvancedSettingsBehaviours + behaviors: AdvancedSettingsBehaviours; properties: { - height: AdvancedSettingsShowLocked - hideOnMobile: AdvancedSettingsShowLocked - hideOnAmp: AdvancedSettingsShowLocked - id: AdvancedSettingsShowLocked - }, - }, + height: AdvancedSettingsShowLocked; + hideOnMobile: AdvancedSettingsShowLocked; + hideOnAmp: AdvancedSettingsShowLocked; + id: AdvancedSettingsShowLocked; + }; + }; text: { - textEditor: AdvancedSettingsTextEditor - behaviors: AdvancedSettingsBehaviours + textEditor: AdvancedSettingsTextEditor; + behaviors: AdvancedSettingsBehaviours; properties: { - letterSpacing: AdvancedSettingsShowLocked - textColor: AdvancedSettingsShowLocked - linkColor: AdvancedSettingsShowLocked - lineHeight: AdvancedSettingsShowLocked - padding: AdvancedSettingsShowLocked - hideOnMobile: AdvancedSettingsShowLocked - hideOnAmp: AdvancedSettingsShowLocked - id: AdvancedSettingsShowLocked - - } - } + letterSpacing: AdvancedSettingsShowLocked; + textColor: AdvancedSettingsShowLocked; + linkColor: AdvancedSettingsShowLocked; + lineHeight: AdvancedSettingsShowLocked; + padding: AdvancedSettingsShowLocked; + hideOnMobile: AdvancedSettingsShowLocked; + hideOnAmp: AdvancedSettingsShowLocked; + id: AdvancedSettingsShowLocked; + }; + }; button: { - textEditor: AdvancedSettingsTextEditor - behaviors: AdvancedSettingsBehaviours + textEditor: AdvancedSettingsTextEditor; + behaviors: AdvancedSettingsBehaviours; properties: { - link: AdvancedSettingsShowLocked - buttonWidth: AdvancedSettingsShowLocked - padding: AdvancedSettingsShowLocked - backgroundColor: AdvancedSettingsShowLocked - textColor: AdvancedSettingsShowLocked - textAlign: AdvancedSettingsShowLocked - buttonLineHeight: AdvancedSettingsShowLocked - borderRadius: AdvancedSettingsShowLocked - contentPadding: AdvancedSettingsShowLocked - border: AdvancedSettingsShowLocked - hideOnMobile: AdvancedSettingsShowLocked - hideOnAmp: AdvancedSettingsShowLocked - fontWeight: AdvancedSettingsShowLocked - fontFamily: AdvancedSettingsShowLocked - letterSpacing: AdvancedSettingsShowLocked - id: AdvancedSettingsShowLocked - aiIntegration: AdvancedSettingsShowLocked - } - } + link: AdvancedSettingsShowLocked; + buttonWidth: AdvancedSettingsShowLocked; + padding: AdvancedSettingsShowLocked; + backgroundColor: AdvancedSettingsShowLocked; + textColor: AdvancedSettingsShowLocked; + textAlign: AdvancedSettingsShowLocked; + buttonLineHeight: AdvancedSettingsShowLocked; + borderRadius: AdvancedSettingsShowLocked; + contentPadding: AdvancedSettingsShowLocked; + border: AdvancedSettingsShowLocked; + hideOnMobile: AdvancedSettingsShowLocked; + hideOnAmp: AdvancedSettingsShowLocked; + fontWeight: AdvancedSettingsShowLocked; + fontFamily: AdvancedSettingsShowLocked; + letterSpacing: AdvancedSettingsShowLocked; + id: AdvancedSettingsShowLocked; + aiIntegration: AdvancedSettingsShowLocked; + }; + }; image: { - behaviors: AdvancedSettingsBehaviours + behaviors: AdvancedSettingsBehaviours; properties: { - imageWidth: AdvancedSettingsShowLocked - textAlign: AdvancedSettingsShowLocked - dynamicImage: AdvancedSettingsShowLocked - imageSelector: AdvancedSettingsShowLocked - inputText: AdvancedSettingsShowLocked - link: AdvancedSettingsShowLocked - padding: AdvancedSettingsShowLocked - hideOnMobile: AdvancedSettingsShowLocked - hideOnAmp: AdvancedSettingsShowLocked - id: AdvancedSettingsShowLocked - } - } + imageWidth: AdvancedSettingsShowLocked; + textAlign: AdvancedSettingsShowLocked; + dynamicImage: AdvancedSettingsShowLocked; + imageSelector: AdvancedSettingsShowLocked; + inputText: AdvancedSettingsShowLocked; + link: AdvancedSettingsShowLocked; + padding: AdvancedSettingsShowLocked; + hideOnMobile: AdvancedSettingsShowLocked; + hideOnAmp: AdvancedSettingsShowLocked; + id: AdvancedSettingsShowLocked; + }; + }; divider: { - behaviors: AdvancedSettingsBehaviours + behaviors: AdvancedSettingsBehaviours; properties: { - dividerMode: AdvancedSettingsShowLocked - textColor: AdvancedSettingsShowLocked - linkColor: AdvancedSettingsShowLocked - lineHeight: AdvancedSettingsShowLocked - padding: AdvancedSettingsShowLocked - hideOnMobile: AdvancedSettingsShowLocked - hideOnAmp: AdvancedSettingsShowLocked - id: AdvancedSettingsShowLocked - } - } + dividerMode: AdvancedSettingsShowLocked; + textColor: AdvancedSettingsShowLocked; + linkColor: AdvancedSettingsShowLocked; + lineHeight: AdvancedSettingsShowLocked; + padding: AdvancedSettingsShowLocked; + hideOnMobile: AdvancedSettingsShowLocked; + hideOnAmp: AdvancedSettingsShowLocked; + id: AdvancedSettingsShowLocked; + }; + }; social: { - behaviors: AdvancedSettingsBehaviours + behaviors: AdvancedSettingsBehaviours; properties: { - iconsMode: AdvancedSettingsShowLocked - icons: AdvancedSettingsShowLocked - align: AdvancedSettingsShowLocked - iconSpacing: AdvancedSettingsShowLocked - padding: AdvancedSettingsShowLocked - hideOnMobile: AdvancedSettingsShowLocked - hideOnAmp: AdvancedSettingsShowLocked - id: AdvancedSettingsShowLocked - } - } + iconsMode: AdvancedSettingsShowLocked; + icons: AdvancedSettingsShowLocked; + align: AdvancedSettingsShowLocked; + iconSpacing: AdvancedSettingsShowLocked; + padding: AdvancedSettingsShowLocked; + hideOnMobile: AdvancedSettingsShowLocked; + hideOnAmp: AdvancedSettingsShowLocked; + id: AdvancedSettingsShowLocked; + }; + }; dynamic: { - behaviors: AdvancedSettingsBehaviours + behaviors: AdvancedSettingsBehaviours; properties: { - mergeContent: AdvancedSettingsShowLocked - hideOnMobile: AdvancedSettingsShowLocked - hideOnAmp: AdvancedSettingsShowLocked - id: AdvancedSettingsShowLocked - } - } + mergeContent: AdvancedSettingsShowLocked; + hideOnMobile: AdvancedSettingsShowLocked; + hideOnAmp: AdvancedSettingsShowLocked; + id: AdvancedSettingsShowLocked; + }; + }; html: { - behaviors: AdvancedSettingsBehaviours + behaviors: AdvancedSettingsBehaviours; properties: { - htmlEditor: AdvancedSettingsShowLocked - hideOnMobile: AdvancedSettingsShowLocked - hideOnAmp: AdvancedSettingsShowLocked - id: AdvancedSettingsShowLocked - } - } + htmlEditor: AdvancedSettingsShowLocked; + hideOnMobile: AdvancedSettingsShowLocked; + hideOnAmp: AdvancedSettingsShowLocked; + id: AdvancedSettingsShowLocked; + }; + }; video: { - behaviors: AdvancedSettingsBehaviours + behaviors: AdvancedSettingsBehaviours; properties: { - videoUrl: AdvancedSettingsShowLocked - videoIcon: AdvancedSettingsShowLocked - padding: AdvancedSettingsShowLocked - hideOnMobile: AdvancedSettingsShowLocked - hideOnAmp: AdvancedSettingsShowLocked - id: AdvancedSettingsShowLocked - } - } + videoUrl: AdvancedSettingsShowLocked; + videoIcon: AdvancedSettingsShowLocked; + padding: AdvancedSettingsShowLocked; + hideOnMobile: AdvancedSettingsShowLocked; + hideOnAmp: AdvancedSettingsShowLocked; + id: AdvancedSettingsShowLocked; + }; + }; form: { - behaviors: AdvancedSettingsBehaviours + behaviors: AdvancedSettingsBehaviours; properties: { - width: AdvancedSettingsShowLocked - textAlign: AdvancedSettingsShowLocked - fontFamily: AdvancedSettingsShowLocked - fontSize: AdvancedSettingsShowLocked - padding: AdvancedSettingsShowLocked - labelTextColor: AdvancedSettingsShowLocked - labelLineHeight: AdvancedSettingsShowLocked - labelTextAlign: AdvancedSettingsShowLocked - labelStyle: AdvancedSettingsShowLocked - labelPosition: AdvancedSettingsShowLocked - labelMinWidth: AdvancedSettingsShowLocked - labelLetterSpacing: AdvancedSettingsShowLocked - fieldTextColor: AdvancedSettingsShowLocked - fieldBackgroundColor: AdvancedSettingsShowLocked - fieldPadding: AdvancedSettingsShowLocked - fieldBorder: AdvancedSettingsShowLocked - fieldBorderRadius: AdvancedSettingsShowLocked - fieldOutline: AdvancedSettingsShowLocked - buttonWidth: AdvancedSettingsShowLocked - buttonTextColor: AdvancedSettingsShowLocked - buttonBackgroundColor: AdvancedSettingsShowLocked - buttonAlign: AdvancedSettingsShowLocked - buttonPadding: AdvancedSettingsShowLocked - buttonOuterPadding: AdvancedSettingsShowLocked - buttonBorder: AdvancedSettingsShowLocked - buttonBorderRadius: AdvancedSettingsShowLocked - buttonLetterSpacing: AdvancedSettingsShowLocked - buttonStyle: AdvancedSettingsShowLocked - layOutFields: AdvancedSettingsShowLocked - hideOnMobile: AdvancedSettingsShowLocked - hideOnAmp: AdvancedSettingsShowLocked - id: AdvancedSettingsShowLocked - } - } + width: AdvancedSettingsShowLocked; + textAlign: AdvancedSettingsShowLocked; + fontFamily: AdvancedSettingsShowLocked; + fontSize: AdvancedSettingsShowLocked; + padding: AdvancedSettingsShowLocked; + labelTextColor: AdvancedSettingsShowLocked; + labelLineHeight: AdvancedSettingsShowLocked; + labelTextAlign: AdvancedSettingsShowLocked; + labelStyle: AdvancedSettingsShowLocked; + labelPosition: AdvancedSettingsShowLocked; + labelMinWidth: AdvancedSettingsShowLocked; + labelLetterSpacing: AdvancedSettingsShowLocked; + fieldTextColor: AdvancedSettingsShowLocked; + fieldBackgroundColor: AdvancedSettingsShowLocked; + fieldPadding: AdvancedSettingsShowLocked; + fieldBorder: AdvancedSettingsShowLocked; + fieldBorderRadius: AdvancedSettingsShowLocked; + fieldOutline: AdvancedSettingsShowLocked; + buttonWidth: AdvancedSettingsShowLocked; + buttonTextColor: AdvancedSettingsShowLocked; + buttonBackgroundColor: AdvancedSettingsShowLocked; + buttonAlign: AdvancedSettingsShowLocked; + buttonPadding: AdvancedSettingsShowLocked; + buttonOuterPadding: AdvancedSettingsShowLocked; + buttonBorder: AdvancedSettingsShowLocked; + buttonBorderRadius: AdvancedSettingsShowLocked; + buttonLetterSpacing: AdvancedSettingsShowLocked; + buttonStyle: AdvancedSettingsShowLocked; + layOutFields: AdvancedSettingsShowLocked; + hideOnMobile: AdvancedSettingsShowLocked; + hideOnAmp: AdvancedSettingsShowLocked; + id: AdvancedSettingsShowLocked; + }; + }; icons: { - behaviors: AdvancedSettingsBehaviours + behaviors: AdvancedSettingsBehaviours; properties: { - fontFamily: AdvancedSettingsShowLocked - fontSize: AdvancedSettingsShowLocked - textColor: AdvancedSettingsShowLocked - align: AdvancedSettingsShowLocked - letterSpacing: AdvancedSettingsShowLocked - iconSize: AdvancedSettingsShowLocked - itemsSpacing: AdvancedSettingsShowLocked - iconSpacing: AdvancedSettingsShowLocked - padding: AdvancedSettingsShowLocked - hideOnMobile: AdvancedSettingsShowLocked - hideOnAmp: AdvancedSettingsShowLocked - id: AdvancedSettingsShowLocked - } - } + fontFamily: AdvancedSettingsShowLocked; + fontSize: AdvancedSettingsShowLocked; + textColor: AdvancedSettingsShowLocked; + align: AdvancedSettingsShowLocked; + letterSpacing: AdvancedSettingsShowLocked; + iconSize: AdvancedSettingsShowLocked; + itemsSpacing: AdvancedSettingsShowLocked; + iconSpacing: AdvancedSettingsShowLocked; + padding: AdvancedSettingsShowLocked; + hideOnMobile: AdvancedSettingsShowLocked; + hideOnAmp: AdvancedSettingsShowLocked; + id: AdvancedSettingsShowLocked; + }; + }; paragraph: { - behaviors: AdvancedSettingsBehaviours - textEditor: AdvancedSettingsTextEditor + behaviors: AdvancedSettingsBehaviours; + textEditor: AdvancedSettingsTextEditor; properties: { - fontFamily: AdvancedSettingsShowLocked - fontSize: AdvancedSettingsShowLocked - fontWeight: AdvancedSettingsShowLocked - textColor: AdvancedSettingsShowLocked - linkColor: AdvancedSettingsShowLocked - padding: AdvancedSettingsShowLocked - lineHeight: AdvancedSettingsShowLocked - textAlign: AdvancedSettingsShowLocked - direction: AdvancedSettingsShowLocked - letterSpacing: AdvancedSettingsShowLocked - paragraphSpacing: AdvancedSettingsShowLocked - hideOnMobile: AdvancedSettingsShowLocked - hideOnAmp: AdvancedSettingsShowLocked - id: AdvancedSettingsShowLocked - aiIntegration: AdvancedSettingsShowLocked - }, - }, + fontFamily: AdvancedSettingsShowLocked; + fontSize: AdvancedSettingsShowLocked; + fontWeight: AdvancedSettingsShowLocked; + textColor: AdvancedSettingsShowLocked; + linkColor: AdvancedSettingsShowLocked; + padding: AdvancedSettingsShowLocked; + lineHeight: AdvancedSettingsShowLocked; + textAlign: AdvancedSettingsShowLocked; + direction: AdvancedSettingsShowLocked; + letterSpacing: AdvancedSettingsShowLocked; + paragraphSpacing: AdvancedSettingsShowLocked; + hideOnMobile: AdvancedSettingsShowLocked; + hideOnAmp: AdvancedSettingsShowLocked; + id: AdvancedSettingsShowLocked; + aiIntegration: AdvancedSettingsShowLocked; + }; + }; list: { - behaviors: AdvancedSettingsBehaviours - textEditor: AdvancedSettingsTextEditor + behaviors: AdvancedSettingsBehaviours; + textEditor: AdvancedSettingsTextEditor; properties: { - tag: AdvancedSettingsShowLocked - listStyleType: AdvancedSettingsShowLocked - fontFamily: AdvancedSettingsShowLocked - fontSize: AdvancedSettingsShowLocked - fontWeight: AdvancedSettingsShowLocked - textColor: AdvancedSettingsShowLocked - linkColor: AdvancedSettingsShowLocked - padding: AdvancedSettingsShowLocked - lineHeight: AdvancedSettingsShowLocked - textAlign: AdvancedSettingsShowLocked - direction: AdvancedSettingsShowLocked - letterSpacing: AdvancedSettingsShowLocked - startListFrom: AdvancedSettingsShowLocked - liSpacing: AdvancedSettingsShowLocked - liIndent: AdvancedSettingsShowLocked - hideOnMobile: AdvancedSettingsShowLocked - hideOnAmp: AdvancedSettingsShowLocked - id: AdvancedSettingsShowLocked - aiIntegration: AdvancedSettingsShowLocked - }, - }, + tag: AdvancedSettingsShowLocked; + listStyleType: AdvancedSettingsShowLocked; + fontFamily: AdvancedSettingsShowLocked; + fontSize: AdvancedSettingsShowLocked; + fontWeight: AdvancedSettingsShowLocked; + textColor: AdvancedSettingsShowLocked; + linkColor: AdvancedSettingsShowLocked; + padding: AdvancedSettingsShowLocked; + lineHeight: AdvancedSettingsShowLocked; + textAlign: AdvancedSettingsShowLocked; + direction: AdvancedSettingsShowLocked; + letterSpacing: AdvancedSettingsShowLocked; + startListFrom: AdvancedSettingsShowLocked; + liSpacing: AdvancedSettingsShowLocked; + liIndent: AdvancedSettingsShowLocked; + hideOnMobile: AdvancedSettingsShowLocked; + hideOnAmp: AdvancedSettingsShowLocked; + id: AdvancedSettingsShowLocked; + aiIntegration: AdvancedSettingsShowLocked; + }; + }; menu: { - behaviors: AdvancedSettingsBehaviours + behaviors: AdvancedSettingsBehaviours; properties: { - fontFamily: AdvancedSettingsShowLocked - fontSize: AdvancedSettingsShowLocked - textColor: AdvancedSettingsShowLocked - linkColor: AdvancedSettingsShowLocked - align: AdvancedSettingsShowLocked - letterSpacing: AdvancedSettingsShowLocked - layout: AdvancedSettingsShowLocked - separator: AdvancedSettingsShowLocked - padding: AdvancedSettingsShowLocked - hamburger: AdvancedSettingsShowLocked - itemSpacing: AdvancedSettingsShowLocked - menuItems: AdvancedSettingsShowLocked - hideOnMobile: AdvancedSettingsShowLocked - hideOnAmp: AdvancedSettingsShowLocked - id: AdvancedSettingsShowLocked - } - }, + fontFamily: AdvancedSettingsShowLocked; + fontSize: AdvancedSettingsShowLocked; + textColor: AdvancedSettingsShowLocked; + linkColor: AdvancedSettingsShowLocked; + align: AdvancedSettingsShowLocked; + letterSpacing: AdvancedSettingsShowLocked; + layout: AdvancedSettingsShowLocked; + separator: AdvancedSettingsShowLocked; + padding: AdvancedSettingsShowLocked; + hamburger: AdvancedSettingsShowLocked; + itemSpacing: AdvancedSettingsShowLocked; + menuItems: AdvancedSettingsShowLocked; + hideOnMobile: AdvancedSettingsShowLocked; + hideOnAmp: AdvancedSettingsShowLocked; + id: AdvancedSettingsShowLocked; + }; + }; table: { - behaviors: AdvancedSettingsBehaviours + behaviors: AdvancedSettingsBehaviours; properties: { - columns: AdvancedSettingsShowLocked - rows: AdvancedSettingsShowLocked - backgroundColor: AdvancedSettingsShowLocked - border: AdvancedSettingsShowLocked - textColor: AdvancedSettingsShowLocked - linkColor: AdvancedSettingsShowLocked - fontFamily: AdvancedSettingsShowLocked - fontWeight: AdvancedSettingsShowLocked - fontSize: AdvancedSettingsShowLocked - textAlign: AdvancedSettingsShowLocked - lineHeight: AdvancedSettingsShowLocked - letterSpacing: AdvancedSettingsShowLocked - direction: AdvancedSettingsShowLocked - padding: AdvancedSettingsShowLocked - hideOnMobile: AdvancedSettingsShowLocked - hideOnAmp: AdvancedSettingsShowLocked - id: AdvancedSettingsShowLocked - alternateRowBackgroundColor: AdvancedSettingsShowLocked - headers: AdvancedSettingsShowLocked - } - } + columns: AdvancedSettingsShowLocked; + rows: AdvancedSettingsShowLocked; + backgroundColor: AdvancedSettingsShowLocked; + border: AdvancedSettingsShowLocked; + textColor: AdvancedSettingsShowLocked; + linkColor: AdvancedSettingsShowLocked; + fontFamily: AdvancedSettingsShowLocked; + fontWeight: AdvancedSettingsShowLocked; + fontSize: AdvancedSettingsShowLocked; + textAlign: AdvancedSettingsShowLocked; + lineHeight: AdvancedSettingsShowLocked; + letterSpacing: AdvancedSettingsShowLocked; + direction: AdvancedSettingsShowLocked; + padding: AdvancedSettingsShowLocked; + hideOnMobile: AdvancedSettingsShowLocked; + hideOnAmp: AdvancedSettingsShowLocked; + id: AdvancedSettingsShowLocked; + alternateRowBackgroundColor: AdvancedSettingsShowLocked; + headers: AdvancedSettingsShowLocked; + }; + }; addon: { [uuid: string]: { - behaviors: AdvancedSettingsBehaviours - } - } - } -}> + behaviors: AdvancedSettingsBehaviours; + }; + }; + }; +}>; export type IAiAddon = { - id: 'ai-integration' + id: "ai-integration"; settings?: { - tokensAvailable?: number - tokensUsed?: number - tokenLabel?: string - isPromptDisabled?: boolean - isSuggestionsDisabled?: boolean - } -} + tokensAvailable?: number; + tokensUsed?: number; + tokenLabel?: string; + isPromptDisabled?: boolean; + isSuggestionsDisabled?: boolean; + }; +}; export enum WorkspaceStage { - desktop = 'desktop', - mobile = 'mobile', - global = 'global', + desktop = "desktop", + mobile = "mobile", + global = "global", } export type BeePluginWorkspace = { - type?: LoadWorkspaceOptions - stage?: WorkspaceStage - displayHidden?: StageDisplayOptions - hideStageToggle?: boolean - editSingleRow?: boolean -} + type?: LoadWorkspaceOptions; + stage?: WorkspaceStage; + displayHidden?: StageDisplayOptions; + hideStageToggle?: boolean; + editSingleRow?: boolean; +}; export type IPluginSessionInfo = { - sessionId: string -} + sessionId: string; +}; export type FontElement = { - fontFamily: string - name: string - url?: string -} + fontFamily: string; + name: string; + url?: string; +}; export type EntityBody = { - type: string - webFonts: FontElement[] + type: string; + webFonts: FontElement[]; container: { style: { - "background-color": string - } - } + "background-color": string; + }; + }; content: { style: { - "font-family": string - color: string - } + "font-family": string; + color: string; + }; computedStyle: { - align: string - linkColor: string - messageBackgroundColor: string - messageWidth: string - } - } -} + align: string; + linkColor: string; + messageBackgroundColor: string; + messageWidth: string; + }; + }; +}; export interface IEntityContentJson { page: { - body: EntityBody - description: string - rows: IPluginRow[] + body: EntityBody; + description: string; + rows: IPluginRow[]; template: { - name: string - type: string - version: string - } - title: string - } + name: string; + type: string; + version: string; + }; + title: string; + }; } export type BeePluginMessageEditDetailPatch = { - op: string - path: string - value: string -} + op: string; + path: string; + value: string; +}; export type BeePluginMessageEditDetail = { - code: unknown - value: string - description: string - patches: BeePluginMessageEditDetailPatch[] -} + code: unknown; + value: string; + description: string; + patches: BeePluginMessageEditDetailPatch[]; +}; export enum BeePluginRoles { - REVIEWER = 'reviewer' + REVIEWER = "reviewer", } export type BeePluginCustomHeader = { - name: string - value: string -} + name: string; + value: string; +}; -export type IRefreshSavedRow = boolean +export type IRefreshSavedRow = boolean; // TOFIX: Need to remove some properties with Omit generics -export type ILoadableProps = Partial +export type ILoadableProps = Partial; export type ContentDefaultsTitle = Partial<{ // TOFIX: understand why they are not handled in the plugin // hideContentOnMobile: boolean - defaultHeadingLevel: string + defaultHeadingLevel: string; blockOptions: Partial<{ - align: string - paddingTop: string - paddingRight: string - paddingBottom: string - paddingLeft: string - }> -}> + align: string; + paddingTop: string; + paddingRight: string; + paddingBottom: string; + paddingLeft: string; + }>; +}>; export type TitleDefaultStyle = Partial<{ - color: string - 'font-size': string - 'font-weight': string - 'font-family': string - 'link-color': string - 'line-height': string - 'text-align': string - 'direction': string - 'letter-spacing': string -}> + color: string; + "font-size": string; + "font-weight": string; + "font-family": string; + "link-color": string; + "line-height": string; + "text-align": string; + direction: string; + "letter-spacing": string; +}>; export type TitleDefaultStyles = { - h1: TitleDefaultStyle - h2: TitleDefaultStyle - h3: TitleDefaultStyle -} + h1: TitleDefaultStyle; + h2: TitleDefaultStyle; + h3: TitleDefaultStyle; +}; // TOFIX: this module will probably be removed in the near future export type ContentDefaultsText = { // we can't use partial for ContentDefaultsText since html is required - html: string + html: string; styles?: Partial<{ - color: string - linkColor: string - fontSize: string - lineHeight: string - fontFamily: string - }> + color: string; + linkColor: string; + fontSize: string; + lineHeight: string; + fontFamily: string; + }>; blockOptions?: Partial<{ - paddingBottom: string - paddingLeft: string - paddingRight: string - paddingTop: string - hideContentOnMobile: boolean - }> -} + paddingBottom: string; + paddingLeft: string; + paddingRight: string; + paddingTop: string; + hideContentOnMobile: boolean; + }>; +}; export type ContentDefaultsImage = Partial<{ - alt: string - href: string - src: string - width: string + alt: string; + href: string; + src: string; + width: string; blockOptions: Partial<{ - paddingBottom: string - paddingLeft: string - paddingRight: string - paddingTop: string - align: string - hideContentOnMobile: boolean - }> -}> + paddingBottom: string; + paddingLeft: string; + paddingRight: string; + paddingTop: string; + align: string; + hideContentOnMobile: boolean; + }>; +}>; export type ContentDefaultsButton = Partial<{ - html: string - label: string - href: string - width: string + html: string; + label: string; + href: string; + width: string; styles: Partial<{ - color: string - fontSize: string - fontFamily: string - fontWeight: string - backgroundColor: string - borderBottom: string - borderLeft: string - borderRadius: string - borderRight: string - borderTop: string - lineHeight: string - maxWidth: string - paddingBottom: string - paddingLeft: string - paddingRight: string - paddingTop: string - }>, + color: string; + fontSize: string; + fontFamily: string; + fontWeight: string; + backgroundColor: string; + borderBottom: string; + borderLeft: string; + borderRadius: string; + borderRight: string; + borderTop: string; + lineHeight: string; + maxWidth: string; + paddingBottom: string; + paddingLeft: string; + paddingRight: string; + paddingTop: string; + }>; blockOptions: Partial<{ - paddingBottom: string - paddingLeft: string - paddingRight: string - paddingTop: string - align: string - hideContentOnMobile: boolean - }> -}> + paddingBottom: string; + paddingLeft: string; + paddingRight: string; + paddingTop: string; + align: string; + hideContentOnMobile: boolean; + }>; +}>; export type ContentDefaultsDivider = Partial<{ - width: string - line: string - align: string + width: string; + line: string; + align: string; blockOptions: Partial<{ - paddingBottom: string - paddingLeft: string - paddingRight: string - paddingTop: string - hideContentOnMobile: boolean - }> -}> + paddingBottom: string; + paddingLeft: string; + paddingRight: string; + paddingTop: string; + hideContentOnMobile: boolean; + }>; +}>; export type ContentDefaultsSocial = Partial<{ - icons: IPluginModuleSocialIcon[] + icons: IPluginModuleSocialIcon[]; blockOptions: Partial<{ - paddingBottom: string - paddingLeft: string - paddingRight: string - paddingTop: string - align: string - hideContentOnMobile: boolean + paddingBottom: string; + paddingLeft: string; + paddingRight: string; + paddingTop: string; + align: string; + hideContentOnMobile: boolean; // TOFIX: understand why they are not handled in the plugin // height: number // TOFIX: understand why they are not handled in the plugin // width: number // TOFIX: understand why they are not handled in the plugin // iconWidth: number - }> -}> + }>; +}>; export type ContentDefaultsDynamic = Partial<{ blockOptions: Partial<{ - paddingBottom: string - paddingLeft: string - paddingRight: string - paddingTop: string - hideContentOnMobile: boolean - }> -}> + paddingBottom: string; + paddingLeft: string; + paddingRight: string; + paddingTop: string; + hideContentOnMobile: boolean; + }>; +}>; export type ContentDefaultsVideo = Partial<{ - src: string + src: string; blockOptions: Partial<{ - paddingBottom: string - paddingLeft: string - paddingRight: string - paddingTop: string - hideContentOnMobile: boolean - }> -}> + paddingBottom: string; + paddingLeft: string; + paddingRight: string; + paddingTop: string; + hideContentOnMobile: boolean; + }>; +}>; export type ContentDefaultsForm = Partial<{ - structure: unknown + structure: unknown; styles: Partial<{ - width: string - fontSize: string - fontFamily: string - }> + width: string; + fontSize: string; + fontFamily: string; + }>; labelsOptions: Partial<{ - color: string - lineHeight: string - fontWeight: string - fontStyle: string - align: string - position: string - letterSpacing: string - minWidth: string - }> + color: string; + lineHeight: string; + fontWeight: string; + fontStyle: string; + align: string; + position: string; + letterSpacing: string; + minWidth: string; + }>; fieldsOptions: Partial<{ - color: string - backgroundColor: string - outlineColor: string - borderRadius: string - borderTop: string - borderRight: string - borderBottom: string - borderLeft: string - paddingBottom: string - paddingLeft: string - paddingRight: string - paddingTop: string - }> + color: string; + backgroundColor: string; + outlineColor: string; + borderRadius: string; + borderTop: string; + borderRight: string; + borderBottom: string; + borderLeft: string; + paddingBottom: string; + paddingLeft: string; + paddingRight: string; + paddingTop: string; + }>; buttonsOptions: Partial<{ - color: string - backgroundColor: string - borderRadius: string - borderTop: string - borderRight: string - borderBottom: string - borderLeft: string - lineHeight: string - align: string - width: string - maxWidth: string - paddingBottom: string - paddingLeft: string - paddingRight: string - paddingTop: string - marginBottom: string - margingLeft: string - marginRight: string - marginTop: string - letterSpacing: string - fontStyle: string - fontWeight: string - }> + color: string; + backgroundColor: string; + borderRadius: string; + borderTop: string; + borderRight: string; + borderBottom: string; + borderLeft: string; + lineHeight: string; + align: string; + width: string; + maxWidth: string; + paddingBottom: string; + paddingLeft: string; + paddingRight: string; + paddingTop: string; + marginBottom: string; + margingLeft: string; + marginRight: string; + marginTop: string; + letterSpacing: string; + fontStyle: string; + fontWeight: string; + }>; blockOptions: Partial<{ - align: string - paddingBottom: string - paddingLeft: string - paddingRight: string - paddingTop: string - backgroundColor: string - hideContentOnMobile: boolean - hideContentOnDesktop: boolean - }> -}> + align: string; + paddingBottom: string; + paddingLeft: string; + paddingRight: string; + paddingTop: string; + backgroundColor: string; + hideContentOnMobile: boolean; + hideContentOnDesktop: boolean; + }>; +}>; export type ContentDefaultsIcons = Partial<{ - items: unknown + items: unknown; styles: Partial<{ - color: string - fontSize: string - fontFamily: string - }> + color: string; + fontSize: string; + fontFamily: string; + }>; blockOptions: Partial<{ - align: string - paddingBottom: string - paddingLeft: string - paddingRight: string - paddingTop: string - hideContentOnMobile: boolean - hideContentOnDesktop: boolean - itemSpacing: string - iconHeight: string - }> + align: string; + paddingBottom: string; + paddingLeft: string; + paddingRight: string; + paddingTop: string; + hideContentOnMobile: boolean; + hideContentOnDesktop: boolean; + itemSpacing: string; + iconHeight: string; + }>; iconSpacing: Partial<{ - paddingBottom: string - paddingLeft: string - paddingRight: string - paddingTop: string - }> -}> + paddingBottom: string; + paddingLeft: string; + paddingRight: string; + paddingTop: string; + }>; +}>; export type ContentDefaultsMenu = Partial<{ - items: unknown + items: unknown; styles: Partial<{ - color: string - linkColor: string - fontSize: string - fontFamily: string - }> + color: string; + linkColor: string; + fontSize: string; + fontFamily: string; + }>; hamburger: Partial<{ - mobile: boolean - foregroundColor: string - backgroundColor: string - iconSize: string - iconType: string - }> + mobile: boolean; + foregroundColor: string; + backgroundColor: string; + iconSize: string; + iconType: string; + }>; blockOptions: Partial<{ - align: string - paddingBottom: string - paddingLeft: string - paddingRight: string - paddingTop: string - layout: string - hideContentOnMobile: boolean - hideContentOnDesktop: boolean - }> + align: string; + paddingBottom: string; + paddingLeft: string; + paddingRight: string; + paddingTop: string; + layout: string; + hideContentOnMobile: boolean; + hideContentOnDesktop: boolean; + }>; itemsSpacing: Partial<{ - paddingBottom: string - paddingLeft: string - paddingRight: string - paddingTop: string - }> -}> + paddingBottom: string; + paddingLeft: string; + paddingRight: string; + paddingTop: string; + }>; +}>; export type ContentDefaultsSpacer = Partial<{ - height: string + height: string; blockOptions: Partial<{ - hideContentOnMobile: boolean - }> -}> + hideContentOnMobile: boolean; + }>; +}>; export type ContentDefaultsParagraph = Partial<{ styles: Partial<{ - color: string - fontSize: string - fontFamily: string - fontWeight: string - lineHeight: string - textAlign: string - direction: string - letterSpacing: string - linkColor: string - paragraphSpacing: string - }> + color: string; + fontSize: string; + fontFamily: string; + fontWeight: string; + lineHeight: string; + textAlign: string; + direction: string; + letterSpacing: string; + linkColor: string; + paragraphSpacing: string; + }>; blockOptions: Partial<{ - paddingTop: string - paddingRight: string - paddingBottom: string - paddingLeft: string - }> -}> + paddingTop: string; + paddingRight: string; + paddingBottom: string; + paddingLeft: string; + }>; +}>; export type ContentDefaultsList = Partial<{ styles: Partial<{ - color: string - fontSize: string - fontFamily: string - fontWeight: string - lineHeight: string - textAlign: string - direction: string - letterSpacing: string - linkColor: string - liSpacing: string - liIndent: string - listType: string - listStyleType: string - startList: string - listStylePosition: string - }> + color: string; + fontSize: string; + fontFamily: string; + fontWeight: string; + lineHeight: string; + textAlign: string; + direction: string; + letterSpacing: string; + linkColor: string; + liSpacing: string; + liIndent: string; + listType: string; + listStyleType: string; + startList: string; + listStylePosition: string; + }>; blockOptions: Partial<{ - paddingTop: string - paddingRight: string - paddingBottom: string - paddingLeft: string - }> -}> + paddingTop: string; + paddingRight: string; + paddingBottom: string; + paddingLeft: string; + }>; +}>; export type ContentDefaultsGeneral = Partial<{ - backgroundColor: string - contentAreaBackgroundColor: string - defaultFont: string - linkColor: string - contentAreaWidth: string -}> + backgroundColor: string; + contentAreaBackgroundColor: string; + defaultFont: string; + linkColor: string; + contentAreaWidth: string; +}>; export type ContentDefaults = Partial<{ - title: ContentDefaultsTitle - text: ContentDefaultsText - image: ContentDefaultsImage - button: ContentDefaultsButton - divider: ContentDefaultsDivider - social: ContentDefaultsSocial - dynamic: ContentDefaultsDynamic - video: ContentDefaultsVideo - form: ContentDefaultsForm - paragraph: ContentDefaultsParagraph - spacer: ContentDefaultsSpacer - menu: ContentDefaultsMenu - icons: ContentDefaultsIcons - list: ContentDefaultsList - general: ContentDefaultsGeneral -}> + title: ContentDefaultsTitle; + text: ContentDefaultsText; + image: ContentDefaultsImage; + button: ContentDefaultsButton; + divider: ContentDefaultsDivider; + social: ContentDefaultsSocial; + dynamic: ContentDefaultsDynamic; + video: ContentDefaultsVideo; + form: ContentDefaultsForm; + paragraph: ContentDefaultsParagraph; + spacer: ContentDefaultsSpacer; + menu: ContentDefaultsMenu; + icons: ContentDefaultsIcons; + list: ContentDefaultsList; + general: ContentDefaultsGeneral; +}>; export enum TokenStatus { - OK = 'ok', - REFRESHING= 'refreshing' + OK = "ok", + REFRESHING = "refreshing", } export interface IToken { - access_token: string - v2: boolean - status: TokenStatus - shared: boolean - coediting_session_id: string | null + access_token: string; + v2: boolean; + status: TokenStatus; + shared: boolean; + coediting_session_id: string | null; } export interface IAddOnResponseImage { - type: 'image', + type: "image"; value: { - alt: string, - href: string, - src: string, - dynamicSrc: string - } + alt: string; + href: string; + src: string; + dynamicSrc: string; + }; } export interface IAddOnResponseHTML { - type: 'html', + type: "html"; value: { - html: string - } + html: string; + }; } export interface IAddOnResponseMixed { - type: 'mixed', - value: Record[] //todo define the specific type for this part + type: "mixed"; + value: Record[]; //todo define the specific type for this part } export interface IAddOnResponseRowAddOn { - type: 'rowAddon', - value: Record //todo define the specific type for this part + type: "rowAddon"; + value: Record; //todo define the specific type for this part } export type BeeContentDialogs = { engage?: { - handler: BeePluginContentDialogHandler, undefined, EngageHandle> - }, + handler: BeePluginContentDialogHandler< + Partial, + undefined, + EngageHandle + >; + }; saveRow?: { - label?: string - handler: BeePluginContentDialogHandler, undefined, IPluginRow> - } + label?: string; + handler: BeePluginContentDialogHandler< + Record, + undefined, + IPluginRow + >; + }; editSyncedRow?: { - label?: string - description?: string - notPermittedDescription?: string - handler: BeePluginContentDialogHandler - } + label?: string; + description?: string; + notPermittedDescription?: string; + handler: BeePluginContentDialogHandler; + }; addOn?: { - label: string - handler: BeePluginContentDialogHandler - } + label: string; + handler: BeePluginContentDialogHandler< + | IAddOnResponseImage + | IAddOnResponseHTML + | IAddOnResponseMixed + | IAddOnResponseRowAddOn + >; + }; specialLinks?: { - label: string - handler: BeePluginContentDialogHandler - } + label: string; + handler: BeePluginContentDialogHandler; + }; mergeTags?: { - label: string - handler: BeePluginContentDialogHandler - } + label: string; + handler: BeePluginContentDialogHandler; + }; manageForm?: { - label?: string - handler: BeePluginContentDialogHandler - }, + label?: string; + handler: BeePluginContentDialogHandler; + }; filePicker?: { - label?: string - handler: BeePluginContentDialogHandler - }, + label?: string; + handler: BeePluginContentDialogHandler; + }; getMention?: { - label?: string - handler: BeePluginContentDialogHandler - } + label?: string; + handler: BeePluginContentDialogHandler; + }; onDeleteRow?: { - label?: string - handler: BeePluginContentDialogHandler - } + label?: string; + handler: BeePluginContentDialogHandler< + IRefreshSavedRow, + undefined, + IPluginEditDeleteRow + >; + }; onEditRow?: { - label?: string - handler: BeePluginContentDialogHandler - }, + label?: string; + handler: BeePluginContentDialogHandler< + IRefreshSavedRow, + undefined, + IPluginEditDeleteRow + >; + }; externalContentURLs?: { - label?: string - handler: BeePluginContentDialogHandler - } -} + label?: string; + handler: BeePluginContentDialogHandler; + }; +}; export type BeePluginFont = { - name: string - fontFamily: string - url?: string - fontWeight: Record -} + name: string; + fontFamily: string; + url?: string; + fontWeight: Record; +}; export type BeePluginEditorFonts = { - showDefaultFonts: boolean - customFonts: BeePluginFont[] -} + showDefaultFonts: boolean; + customFonts: BeePluginFont[]; +}; export interface FormField { type: string; @@ -1829,7 +1865,7 @@ export interface FormField { } export interface DefaultForm { - structure: FormStructure + structure: FormStructure; } export interface FormStructure { @@ -1838,7 +1874,7 @@ export interface FormStructure { }; layout: string[][]; attributes: { - 'accept-charset': string; + "accept-charset": string; action: string; autocomplete: string; enctype: string; @@ -1851,105 +1887,119 @@ export interface FormStructure { } export interface AddOnPartner { -id: string - enabled: boolean - label?: string - ctaLabel?: string - placeholder?: string + id: string; + enabled: boolean; + label?: string; + ctaLabel?: string; + placeholder?: string; } export interface AddOnOpenAI { - id: 'ai-integration' + id: "ai-integration"; settings: { - isPromptDisabled: boolean - tokensAvailable?: number - tokensUsed?: number - tokenLabel?: string - isSuggestionsDisabled?: boolean - } + isPromptDisabled: boolean; + tokensAvailable?: number; + tokensUsed?: number; + tokenLabel?: string; + isSuggestionsDisabled?: boolean; + }; } -export type AddOn = AddOnPartner | AddOnOpenAI +export type AddOn = AddOnPartner | AddOnOpenAI; export interface Translations { [key: string]: string | Translations; } - export interface TextEditor { - onChangeDelay: number + onChangeDelay: number; } export interface IBeeConfig { - container: string - uid?: string - trackChanges?: boolean - preventClose?: boolean - enable_display_conditions?: boolean - language?: string - templateLanguage?: TemplateLanguage - templateLanguages?: TemplateLanguage[] - mergeTags?: IMergeTag[] - mergeContents?: IMergeContent[] - specialLinks?: ISpecialLink[] - username?: string - userColor?: string - userHandle?: string - commenting?: boolean - customAssetsOptions?: Record - advancedPermissions?: BeePluginAdvancedPermission - defaultForm?: DefaultForm - loadingSpinnerTheme?: string - loadingSpinnerDisableOnSave?: boolean - editorFonts?: BeePluginEditorFonts - roleHash?: string - role?: BeePluginRoles, - defaultColors?: string[] - contentDefaults?: ContentDefaults - defaultModulesOrder?: ValueOf[] | string[] - modulesGroups?: IModulesGroups[] - customCss?: string - workspace?: BeePluginWorkspace - autosave?: number, - customHeaders?: BeePluginCustomHeader[] - saveRows?: boolean, - autoScrollTo?: string, - contentDialog?: BeeContentDialogs, - rowsConfiguration?: RowsConfiguration - hooks?: BeePluginConfigurationsHooks - defaultTab?: 'content' | 'rows' | 'settings' - titleDefaultStyles?: TitleDefaultStyles - disableColorHistory?: boolean - disableBaseColors?: boolean - addOns?: AddOn[] - translations?: Translations - textEditor?: TextEditor - onTemplateLanguageChange?: (lang: { label: string, value: string, isMain: boolean }) => void - onLoad?: (json: IEntityContentJson) => void - onPreview?: (opened: boolean) => void - onTogglePreview?: (toggled: boolean) => void - onSessionStarted?: (sessionInfo: IPluginSessionInfo) => void - onSessionChange?: (sessionInfo: IPluginSessionInfo) => void - onReady?: (args: Record) => void - onSave?: (pageJson: string, pageHtml: string, ampHtml: string | null, templateVersion: number, language: string | null) => void - onSaveRow?: (rowJson: string, rowHtml: string, pageJson: string) => void - onError?: (error: BeePluginError) => void - onAutoSave?: (pageJson: string) => void - onSaveAsTemplate?: (pageJson: string, templateVersion: number) => void - onStart?: () => void - onSend?: (pageHtml: string) => void - onChange?: (json: string, detail: BeePluginMessageEditDetail, version: number) => void - onWarning?: (error: BeePluginError) => void - onComment?: (commentPayload: BeePluginOnCommentPayload, json: string) => void - onInfo?: (info: BeePluginInfo) => void - onLoadWorkspace?: (worspaceType: LoadWorkspaceOptions) => void + container: string; + uid?: string; + trackChanges?: boolean; + preventClose?: boolean; + enable_display_conditions?: boolean; + language?: string; + templateLanguage?: TemplateLanguage; + templateLanguages?: TemplateLanguage[]; + mergeTags?: IMergeTag[]; + mergeContents?: IMergeContent[]; + specialLinks?: ISpecialLink[]; + username?: string; + userColor?: string; + userHandle?: string; + commenting?: boolean; + customAssetsOptions?: Record; + advancedPermissions?: BeePluginAdvancedPermission; + defaultForm?: DefaultForm; + loadingSpinnerTheme?: string; + loadingSpinnerDisableOnDialog?: boolean; + loadingSpinnerDisableOnSave?: boolean; + editorFonts?: BeePluginEditorFonts; + roleHash?: string; + role?: BeePluginRoles; + defaultColors?: string[]; + contentDefaults?: ContentDefaults; + defaultModulesOrder?: ValueOf[] | string[]; + modulesGroups?: IModulesGroups[]; + customCss?: string; + workspace?: BeePluginWorkspace; + autosave?: number; + customHeaders?: BeePluginCustomHeader[]; + saveRows?: boolean; + autoScrollTo?: string; + contentDialog?: BeeContentDialogs; + rowsConfiguration?: RowsConfiguration; + hooks?: BeePluginConfigurationsHooks; + defaultTab?: "content" | "rows" | "settings"; + titleDefaultStyles?: TitleDefaultStyles; + disableColorHistory?: boolean; + disableBaseColors?: boolean; + addOns?: AddOn[]; + translations?: Translations; + textEditor?: TextEditor; + onTemplateLanguageChange?: (lang: { + label: string; + value: string; + isMain: boolean; + }) => void; + onLoad?: (json: IEntityContentJson) => void; + onPreview?: (opened: boolean) => void; + onTogglePreview?: (toggled: boolean) => void; + onSessionStarted?: (sessionInfo: IPluginSessionInfo) => void; + onSessionChange?: (sessionInfo: IPluginSessionInfo) => void; + onReady?: (args: Record) => void; + onSave?: ( + pageJson: string, + pageHtml: string, + ampHtml: string | null, + templateVersion: number, + language: string | null + ) => void; + onSaveRow?: (rowJson: string, rowHtml: string, pageJson: string) => void; + onError?: (error: BeePluginError) => void; + onAutoSave?: (pageJson: string) => void; + onSaveAsTemplate?: (pageJson: string, templateVersion: number) => void; + onStart?: () => void; + onSend?: (pageHtml: string) => void; + onChange?: ( + json: string, + detail: BeePluginMessageEditDetail, + version: number + ) => void; + onWarning?: (error: BeePluginError) => void; + onComment?: (commentPayload: BeePluginOnCommentPayload, json: string) => void; + onInfo?: (info: BeePluginInfo) => void; + onLoadWorkspace?: (worspaceType: LoadWorkspaceOptions) => void; } export interface IBeeConfigFileManager { - container: string - uid?: string - customCss?: string - onFilePickerInsert?: (data: unknown) => void - onFilePickerCancel?: () => void + container: string; + uid?: string; + customCss?: string; + onFilePickerInsert?: (data: unknown) => void; + onFilePickerCancel?: () => void; } -export type { KebabCSSProperties } +export type { KebabCSSProperties }; From c91dd4c190e2d9bd4b4d65f6c4f6864b513dfb5c Mon Sep 17 00:00:00 2001 From: Devon Mack Date: Fri, 5 Apr 2024 16:06:42 -0400 Subject: [PATCH 2/2] Unformat --- src/types/bee.ts | 2807 +++++++++++++++++++++++----------------------- 1 file changed, 1379 insertions(+), 1428 deletions(-) diff --git a/src/types/bee.ts b/src/types/bee.ts index 24534f9..a40e1ff 100644 --- a/src/types/bee.ts +++ b/src/types/bee.ts @@ -1,60 +1,60 @@ -import * as CSS from "csstype"; -import { KebabKeys, RecursivePartial, ValueOf } from "./utils"; +import * as CSS from 'csstype' +import { KebabKeys, RecursivePartial, ValueOf } from './utils' export interface IBeeLoader { - beePluginUrl: string; - authUrl: string; + beePluginUrl: string, + authUrl: string } export interface IUrlConfig { - authUrl: string; - beePluginUrl: string; + authUrl: string, + beePluginUrl: string } export interface IBeeOptions { - shared?: boolean; + shared?: boolean } interface TemplateLanguage { - label: string; - value: string; + label: string, + value: string } export interface BeeSaveOptions { - language?: string; + language?: string } export interface IGetTokenPayload { - clientId: string; - clientSecret: string; + clientId: string, + clientSecret: string } export enum StageModeOptions { - DESKTOP = "desktop", - MOBILE = "mobile", + DESKTOP = 'desktop', + MOBILE = 'mobile' } export enum StageDisplayOptions { - BLUR = "blur", - HIDE = "hide", + BLUR = 'blur', + HIDE = 'hide' } export interface ILoadStageMode { - mode: StageModeOptions; - display: StageDisplayOptions; + mode: StageModeOptions, + display: StageDisplayOptions } -export type ILoadConfig = ILoadableProps; +export type ILoadConfig = ILoadableProps export interface ILanguage { - language: string; + language: string } export enum LoadWorkspaceOptions { - DEFAULT = "default", - MIXED = "mixed", - AMP_ONLY = "amp_only", - HTML_ONLY = "html_only", + DEFAULT = 'default', + MIXED = 'mixed', + AMP_ONLY = 'amp_only', + HTML_ONLY = 'html_only' } export enum BeePluginErrorCodes { @@ -146,638 +146,632 @@ export enum BeePluginErrorCodes { } export type BeePluginError = { - code?: BeePluginErrorCodes; - detail?: string; - message: string; - data?: BeePluginErrorData; -}; + code?: BeePluginErrorCodes + detail?: string + message: string + data?: BeePluginErrorData +} export type BeePluginInfo = { - code: BeePluginErrorCodes; - message: string; + code: BeePluginErrorCodes + message: string detail: { - handle: OnInfoDetailHandle.AI_INTEGRATION; - promptId: string; + handle: OnInfoDetailHandle.AI_INTEGRATION + promptId: string usage: { - completion_tokens: number; - prompt_tokens: number; - total_tokens: number; - }; - }; -}; + completion_tokens: number + prompt_tokens: number + total_tokens: number + } + } +} -type KebabCSSProperties = KebabKeys; +type KebabCSSProperties = KebabKeys export type BeePluginErrorData = { - uuid: string; - config: IPluginRow | IPluginModule; -}; + uuid: string + config: IPluginRow | IPluginModule +} export const ModuleTypes = { - DIVIDER: "mailup-bee-newsletter-modules-divider", - TEXT: "mailup-bee-newsletter-modules-text", - IMAGE: "mailup-bee-newsletter-modules-image", - BUTTON: "mailup-bee-newsletter-modules-button", - HTML: "mailup-bee-newsletter-modules-html", - SOCIAL: "mailup-bee-newsletter-modules-social", - EMPTY: "mailup-bee-newsletter-modules-empty", - VIDEO: "mailup-bee-newsletter-modules-video", - ADDON: "mailup-bee-newsletter-modules-addon", - FORM: "mailup-bee-newsletter-modules-form", - MERGE_CONTENT: "mailup-bee-newsletter-modules-merge-content", - CAROUSEL: "mailup-bee-newsletter-modules-carousel", - MENU: "mailup-bee-newsletter-modules-menu", - ICONS: "mailup-bee-newsletter-modules-icons", - HEADING: "mailup-bee-newsletter-modules-heading", - SPACER: "mailup-bee-newsletter-modules-spacer", - PARAGRAPH: "mailup-bee-newsletter-modules-paragraph", - LIST: "mailup-bee-newsletter-modules-list", -} as const; + DIVIDER: 'mailup-bee-newsletter-modules-divider', + TEXT: 'mailup-bee-newsletter-modules-text', + IMAGE: 'mailup-bee-newsletter-modules-image', + BUTTON: 'mailup-bee-newsletter-modules-button', + HTML: 'mailup-bee-newsletter-modules-html', + SOCIAL: 'mailup-bee-newsletter-modules-social', + EMPTY: 'mailup-bee-newsletter-modules-empty', + VIDEO: 'mailup-bee-newsletter-modules-video', + ADDON: 'mailup-bee-newsletter-modules-addon', + FORM: 'mailup-bee-newsletter-modules-form', + MERGE_CONTENT: 'mailup-bee-newsletter-modules-merge-content', + CAROUSEL: 'mailup-bee-newsletter-modules-carousel', + MENU: 'mailup-bee-newsletter-modules-menu', + ICONS: 'mailup-bee-newsletter-modules-icons', + HEADING: 'mailup-bee-newsletter-modules-heading', + SPACER: 'mailup-bee-newsletter-modules-spacer', + PARAGRAPH: 'mailup-bee-newsletter-modules-paragraph', + LIST: 'mailup-bee-newsletter-modules-list' +} as const export const ModuleDescriptorNames = { - DIVIDER: "divider", - TEXT: "text", - IMAGE: "image", - BUTTON: "button", - HTML: "html", - SOCIAL: "social", - VIDEO: "video", - ADDON: "addon", - FORM: "form", - MERGE_CONTENT: "mergeContent", - CAROUSEL: "carousel", - MENU: "menu", - ICONS: "icons", - HEADING: "heading", - SPACER: "spacer", - PARAGRAPH: "paragraph", - LIST: "list", -} as const; + DIVIDER: 'divider', + TEXT: 'text', + IMAGE: 'image', + BUTTON: 'button', + HTML: 'html', + SOCIAL: 'social', + VIDEO: 'video', + ADDON: 'addon', + FORM: 'form', + MERGE_CONTENT: 'mergeContent', + CAROUSEL: 'carousel', + MENU: 'menu', + ICONS: 'icons', + HEADING: 'heading', + SPACER: 'spacer', + PARAGRAPH: 'paragraph', + LIST: 'list' +} as const export const ModuleDescriptorOrderNames = { - DIVIDER: "Divider", - TEXT: "Text", - IMAGE: "Image", - BUTTON: "Button", - HTML: "Html", - SOCIAL: "Social", - VIDEO: "Video", - FORM: "Form", - MERGE_CONTENT: "MergeContent", - CAROUSEL: "Carousel", - MENU: "Menu", - ICONS: "Icons", - HEADING: "Heading", - SPACER: "Spacer", - PARAGRAPH: "Paragraph", - LIST: "List", -} as const; + DIVIDER: 'Divider', + TEXT: 'Text', + IMAGE: 'Image', + BUTTON: 'Button', + HTML: 'Html', + SOCIAL: 'Social', + VIDEO: 'Video', + FORM: 'Form', + MERGE_CONTENT: 'MergeContent', + CAROUSEL: 'Carousel', + MENU: 'Menu', + ICONS: 'Icons', + HEADING: 'Heading', + SPACER: 'Spacer', + PARAGRAPH: 'Paragraph', + LIST: 'List' +} as const export interface IModulesGroups { - label: string; - collapsable: boolean; - collapsedOnLoad: boolean; - modulesNames: ValueOf[] | string[]; + label: string, + collapsable: boolean + collapsedOnLoad: boolean + modulesNames: ValueOf[] | string[] } export interface IPluginModuleHeading { - type: typeof ModuleTypes.HEADING; - locked?: boolean; - uuid: string; + type: typeof ModuleTypes.HEADING + locked?: boolean + uuid: string descriptor: { - id?: string; + id?: string computedStyle: { - height: number; - width: number; - }; + height: number + width: number + }, style: { - "padding-bottom": string; - "padding-left": string; - "padding-right": string; - "padding-top": string; - "text-align": string; - width: string; - }; + 'padding-bottom': string + 'padding-left': string + 'padding-right': string + 'padding-top': string + 'text-align': string + width: string + } heading: { style: { - color: string; - direction: string; - "font-family": string; - "font-size": string; - "font-weight": string; - "letter-spacing": string; - "line-height": string; - "link-color": string; - "text-align": string; - }; - text: string; - title: "h1" | "h2" | "h3"; - }; - }; + color: string + direction: string + 'font-family': string + 'font-size': string + 'font-weight': string + 'letter-spacing': string + 'line-height': string + 'link-color': string + 'text-align': string + } + text: string + title: 'h1' | 'h2' | 'h3' + } + } } export interface IPluginModuleParagraph { - type: typeof ModuleTypes.PARAGRAPH; - locked?: boolean; - uuid: string; + type: typeof ModuleTypes.PARAGRAPH + locked?: boolean + uuid: string descriptor: { - id?: string; + id?: string style: Partial<{ - "padding-bottom": string; - "padding-left": string; - "padding-right": string; - "padding-top": string; - }>; + 'padding-bottom': string + 'padding-left': string + 'padding-right': string + 'padding-top': string + }> computedStyle: Partial<{ - hideContentOnAmp: boolean; - hideContentOnDesktop: boolean; - hideContentOnHtml: boolean; - hideContentOnMobile: boolean; - }>; + hideContentOnAmp: boolean + hideContentOnDesktop: boolean + hideContentOnHtml: boolean + hideContentOnMobile: boolean + }> paragraph: { computedStyle: Partial<{ - linkColor: string; - paragraphSpacing: string; - }>; - html: string; + linkColor: string + paragraphSpacing: string + }> + html: string style: Partial<{ - color: string; - direction: string; - "font-family": string; - "font-size": string; - "font-weight": string; - "letter-spacing": string; - "line-height": string; - "text-align": string; - }>; - }; - }; + color: string + direction: string + 'font-family': string + 'font-size': string + 'font-weight': string + 'letter-spacing': string + 'line-height': string + 'text-align': string + }> + } + } } export interface IPluginModuleButton { - type: typeof ModuleTypes.BUTTON; - locked?: boolean; - uuid: string; + type: typeof ModuleTypes.BUTTON + locked?: boolean + uuid: string descriptor: { - id?: string; + id?: string style: { - "padding-bottom": string; - "padding-left": string; - "padding-right": string; - "padding-top": string; - "text-align": string; - }; + 'padding-bottom': string + 'padding-left': string + 'padding-right': string + 'padding-top': string + 'text-align': string + } computedStyle: { - height: number; - hideContentOnMobile: boolean; - width: number; - }; + height: number + hideContentOnMobile: boolean + width: number + } button: { - href: string; - label: string; + href: string + label: string style: { - "background-color": string; - "border-bottom": string; - "border-left": string; - "border-radius": string; - "border-right": string; - "border-top": string; - color: string; - "font-family": string; - "font-weight": string; - "line-height": string; - "max-width": string; - "padding-bottom": string; - "padding-left": string; - "padding-right": string; - "padding-top": string; - width: string; - }; - }; - }; + 'background-color': string + 'border-bottom': string + 'border-left': string + 'border-radius': string + 'border-right': string + 'border-top': string + 'color': string + 'font-family': string + 'font-weight': string + 'line-height': string + 'max-width': string + 'padding-bottom': string + 'padding-left': string + 'padding-right': string + 'padding-top': string + 'width': string + } + } + } } export interface IPluginModuleList { - type: typeof ModuleTypes.LIST; - locked?: boolean; - uuid: string; + type: typeof ModuleTypes.LIST + locked?: boolean + uuid: string descriptor: { - id?: string; + id?: string style: { - "padding-bottom": string; - "padding-left": string; - "padding-right": string; - "padding-top": string; - }; + 'padding-bottom': string + 'padding-left': string + 'padding-right': string + 'padding-top': string + } computedStyle: { - hideContentOnAmp: boolean; - hideContentOnDesktop: boolean; - hideContentOnHtml: boolean; - hideContentOnMobile: boolean; - }; + hideContentOnAmp: boolean + hideContentOnDesktop: boolean + hideContentOnHtml: boolean + hideContentOnMobile: boolean + } list: { - html: string; - tag: string; + html: string + tag: string style: { - color: string; - direction: string; - "font-family": string; - "font-size": string; - "font-weight": string; - "letter-spacing": string; - "line-height": string; - "text-align": string; - }; + color: string + direction: string + 'font-family': string + 'font-size': string + 'font-weight': string + 'letter-spacing': string + 'line-height': string + 'text-align': string + } computedStyle: { - liIndent: string; - liSpacing: string; - linkColor: string; - listStylePosition: string; - listStyleType: string; - startList: string; - startListFrom: string; - }; - }; - }; + liIndent: string + liSpacing: string + linkColor: string + listStylePosition: string + listStyleType: string + startList: string + startListFrom: string + } + } + } } export interface IPluginModuleDivider { - type: typeof ModuleTypes.DIVIDER; - locked?: boolean; - uuid: string; + type: typeof ModuleTypes.DIVIDER + locked?: boolean + uuid: string descriptor: { - id?: string; + id?: string style: { - "padding-bottom": string; - "padding-left": string; - "padding-right": string; - "padding-top": string; - }; + 'padding-bottom': string + 'padding-left': string + 'padding-right': string + 'padding-top': string + } computedStyle: { - align: string; - hideContentOnMobile: boolean; - }; + align: string + hideContentOnMobile: boolean + } divider: { style: { - "border-top": string; - width: string; - }; - }; - }; + 'border-top': string + width: string + } + } + } } export interface IPluginModuleForm { - type: typeof ModuleTypes.FORM; - locked?: boolean; - uuid: string; + type: typeof ModuleTypes.FORM + locked?: boolean + uuid: string descriptor: { - id?: string; + id?: string computedStyle: { - class: string; - hideContentOnDesktop: boolean; - hideContentOnMobile: boolean; - }; + class: string + hideContentOnDesktop: boolean + hideContentOnMobile: boolean + } style: { - "background-color": string; - "font-family": string; - "font-size": string; - "padding-bottom": string; - "padding-left": string; - "padding-right": string; - "padding-top": string; - "text-align": string; - width: string; - }; + 'background-color': string + 'font-family': string + 'font-size': string + 'padding-bottom': string + 'padding-left': string + 'padding-right': string + 'padding-top': string + 'text-align': string + width: string + } form: { - attributes: unknown; - structure: unknown; + attributes: unknown + structure: unknown style: { buttons: { - backgroundColor: string; - "border-bottom": string; - "border-left": string; - "border-radius": string; - "border-right": string; - "border-top": string; - color: string; - "line-height": string; - "max-width": string; - "padding-bottom": string; - "padding-left": string; - "padding-right": string; - "padding-top": string; - "text-align": string; - "font-weight": string; - "font-style": string; - "letter-spacing": string; - width: string; + backgroundColor: string + 'border-bottom': string + 'border-left': string + 'border-radius': string + 'border-right': string + 'border-top': string + color: string + 'line-height': string + 'max-width': string + 'padding-bottom': string + 'padding-left': string + 'padding-right': string + 'padding-top': string + 'text-align': string + 'font-weight': string + 'font-style': string + 'letter-spacing': string + width: string outer: { - flexGrow: number; - display: string; - "padding-bottom": string; - "padding-left": string; - "padding-right": string; - "padding-top": string; - }; - }; + flexGrow: number + display: string + 'padding-bottom': string + 'padding-left': string + 'padding-right': string + 'padding-top': string + }, + } fields: { - backgroundColor: string; - "border-bottom": string; - "border-left": string; - "border-radius": string; - "border-right": string; - "border-top": string; - color: string; - outlineColor: string; - "padding-bottom": string; - "padding-left": string; - "padding-right": string; - "padding-top": string; - }; + backgroundColor: string + 'border-bottom': string + 'border-left': string + 'border-radius': string + 'border-right': string + 'border-top': string + color: string + outlineColor: string + 'padding-bottom': string + 'padding-left': string + 'padding-right': string + 'padding-top': string + } labels: { - color: string; - "font-style": string; - "font-weight": string; - "label-position": string; - "line-height": string; - "text-align": string; - "min-width": string; - "letter-spacing": string; - }; - }; - }; - }; + color: string + 'font-style': string + 'font-weight': string + 'label-position': string + 'line-height': string + 'text-align': string + 'min-width': string + 'letter-spacing': string + } + } + } + } } export interface IPluginModuleSocialIcon { - id: string; + id: string image: { - alt: string; - href: string; - prefix: string; - src: string; - title: string; - }; - name: string; - text: string; - type: string; + alt: string + href: string + prefix: string + src: string + title: string + } + name: string + text: string + type: string } export interface IPluginModuleSocial { - type: typeof ModuleTypes.SOCIAL; - locked?: boolean; - uuid: string; + type: typeof ModuleTypes.SOCIAL + locked?: boolean + uuid: string descriptor: { - id?: string; + id?: string style: { - "padding-bottom": string; - "padding-left": string; - "padding-right": string; - "padding-top": string; - "text-align": string; - }; + 'padding-bottom': string + 'padding-left': string + 'padding-right': string + 'padding-top': string + 'text-align': string + } computedStyle: { - height: number; - hideContentOnMobile: boolean; - iconsDefaultWidth: number; - padding: string; - width: number; - }; + height: number + hideContentOnMobile: boolean + iconsDefaultWidth: number + padding: string + width: number + } iconsList: { - icons: IPluginModuleSocialIcon[]; - }; - }; + icons: IPluginModuleSocialIcon[] + } + } } export interface IPluginModuleMenuItem { link: { - href: string; - target: string; - title: string; - }; - text: string; + href: string, + target: string, + title: string, + }, + text: string, } export interface IPluginModuleMenu { - type: typeof ModuleTypes.MENU; - locked?: boolean; - uuid: string; + type: typeof ModuleTypes.MENU + locked?: boolean + uuid: string descriptor: { - id?: string; + id?: string computedStyle: { - hideContentOnDesktop: boolean; - hideContentOnMobile: boolean; - layout: string; - linkColor: string; + hideContentOnDesktop: boolean + hideContentOnMobile: boolean + layout: string + linkColor: string hamburger: { - backgroundColor: string; - foregroundColor: string; - iconSize: string; - iconType: string; - mobile: boolean; - }; + backgroundColor: string + foregroundColor: string + iconSize: string + iconType: string + mobile: boolean + }, menuItemsSpacing: { - "padding-bottom": string; - "padding-left": string; - "padding-right": string; - "padding-top": string; - }; - }; + 'padding-bottom': string + 'padding-left': string + 'padding-right': string + 'padding-top': string + }, + }, style: { - color: string; - "font-family": string; - "font-size": string; - "padding-bottom": string; - "padding-left": string; - "padding-right": string; - "padding-top": string; - "text-align": string; - }; + color: string + 'font-family': string + 'font-size': string + 'padding-bottom': string + 'padding-left': string + 'padding-right': string + 'padding-top': string + 'text-align': string + } menuItemsList: { - items: IPluginModuleMenuItem[]; - }; - }; + items: IPluginModuleMenuItem[] + } + } } export interface IPluginModuleSpacer { - type: typeof ModuleTypes.SPACER; - locked?: boolean; - uuid: string; + type: typeof ModuleTypes.SPACER + locked?: boolean + uuid: string descriptor: { - id?: string; + id?: string spacer: { style: { - height: string; - }; - }; + height: string + } + } computedStyle: { - hideContentOnMobile: boolean; - }; - }; + hideContentOnMobile: boolean + } + } } export type IPluginModule = - | IPluginModuleHeading - | IPluginModuleParagraph - | IPluginModuleButton - | IPluginModuleList - | IPluginModuleDivider - | IPluginModuleForm - | IPluginModuleSocial - | IPluginModuleMenu - | IPluginModuleSpacer; + IPluginModuleHeading | IPluginModuleParagraph | IPluginModuleButton | + IPluginModuleList | IPluginModuleDivider | IPluginModuleForm | + IPluginModuleSocial | IPluginModuleMenu | IPluginModuleSpacer export interface IPluginColumn { - "grid-columns": number; - modules: IPluginModule[]; - style: KebabCSSProperties; - uuid: string; + 'grid-columns': number + modules: IPluginModule[] + style: KebabCSSProperties + uuid: string } export interface IPluginDisplayCondition { - after?: string; - before?: string; - className?: string; - description?: string; - isActive: boolean; - label?: string; - type?: string; - name?: string; + after?: string + before?: string + className?: string + description?: string + isActive: boolean + label?: string + type?: string + name?: string } export type IPluginComputedStyle = Partial<{ - class: string; - height: number | string; - width: number | string; - hideContentOnAmp: boolean; - hideContentOnHtml: boolean; - hideContentOnMobile: boolean; - hideContentOnDesktop: boolean; - linkColor: string; - messageBackgroundColor: string; - messageWidth: string; - rowColStackOnMobile: boolean; - rowReverseColStackOnMobile: boolean; - iconsDefaultWidth: number; - padding: string; - align: string; - paragraphSpacing: string; - liIndent: string; - liSpacing: string; - listStylePosition: string; - listStyleType: string; - startList: string; - startListFrom: string; - itemsSpacing: string; - iconHeight: string; - layout: string; + class: string + height: number | string + width: number | string + hideContentOnAmp: boolean + hideContentOnHtml: boolean + hideContentOnMobile: boolean + hideContentOnDesktop: boolean + linkColor: string + messageBackgroundColor: string + messageWidth: string + rowColStackOnMobile: boolean + rowReverseColStackOnMobile: boolean + iconsDefaultWidth: number + padding: string + align: string + paragraphSpacing: string + liIndent: string + liSpacing: string + listStylePosition: string + listStyleType: string + startList: string + startListFrom: string + itemsSpacing: string + iconHeight: string + layout: string menuItemsSpacing: { - [x: string]: string; - }; + [x: string]: string + } iconSpacing: { - [x: string]: string; - }; + [x: string]: string + } hamburger: { - [x: string]: unknown; - }; -}>; + [x: string]: unknown + } +}> //TOFIX: understand if we can rename export interface IPluginContent { - style?: KebabCSSProperties; + style?: KebabCSSProperties //TOFIX: only pick correct properties - computedStyle?: IPluginComputedStyle; + computedStyle?: IPluginComputedStyle } export interface IPluginRowContent { //TOFIX: only pick correct properties - computedStyle?: IPluginComputedStyle; - style: KebabCSSProperties; + computedStyle?: IPluginComputedStyle + style: KebabCSSProperties } export interface IPluginRowContainer { - style: KebabCSSProperties; - displayCondition?: IPluginDisplayCondition; + style: KebabCSSProperties + displayCondition?: IPluginDisplayCondition } export type RowsConfiguration = { - emptyRows?: boolean; - defaultRows?: boolean; - externalContentURLs?: CustomRowConfiguration[]; -}; + emptyRows?: boolean + defaultRows?: boolean + externalContentURLs?: CustomRowConfiguration[] +} export type CustomRowBehaviors = { - canEdit?: boolean; - canDelete?: boolean; - canDeleteSyncedRows?: boolean; - canEditSyncedRows?: boolean; -}; + canEdit?: boolean + canDelete?: boolean + canDeleteSyncedRows?: boolean + canEditSyncedRows?: boolean +} export type CustomRowConfiguration = { - name?: string; - value?: string; - handle?: string; - isLocal?: boolean; - behaviors?: CustomRowBehaviors; -}; + name?: string + value?: string + handle?: string + isLocal?: boolean + behaviors?: CustomRowBehaviors +} export const RowLayoutType = { - ONE_COLUMNS_EMPTY: "one-column-empty", - TWO_COLUMNS_EMPTY: "two-columns-empty", - TWO_COLUMNS_4_8_EMPTY: "two-columns-4-8-empty", - TWO_COLUMNS_8_4_EMPTY: "two-columns-8-4-empty", - TWO_COLUMNS_3_9_EMPTY: "two-columns-3-9-empty", - TWO_COLUMNS_9_3_EMPTY: "two-columns-9-3-empty", - THREE_COLUMNS_EMPTY: "three-columns-empty", - THREE_COLUMNS_3_3_6_EMPTY: "three-columns-3-3-6-empty", - THREE_COLUMNS_3_6_3_EMPTY: "three-columns-3-6-3-empty", - THREE_COLUMNS_6_3_3_EMPTY: "three-columns-6-3-3-empty", - FOUR_COLUMNS_EMPTY: "four-columns-empty", - SIX_COLUMNS_EMPTY: "six-columns-empty", -} as const; + ONE_COLUMNS_EMPTY: 'one-column-empty', + TWO_COLUMNS_EMPTY: 'two-columns-empty', + TWO_COLUMNS_4_8_EMPTY: 'two-columns-4-8-empty', + TWO_COLUMNS_8_4_EMPTY: 'two-columns-8-4-empty', + TWO_COLUMNS_3_9_EMPTY: 'two-columns-3-9-empty', + TWO_COLUMNS_9_3_EMPTY: 'two-columns-9-3-empty', + THREE_COLUMNS_EMPTY: 'three-columns-empty', + THREE_COLUMNS_3_3_6_EMPTY: 'three-columns-3-3-6-empty', + THREE_COLUMNS_3_6_3_EMPTY: 'three-columns-3-6-3-empty', + THREE_COLUMNS_6_3_3_EMPTY: 'three-columns-6-3-3-empty', + FOUR_COLUMNS_EMPTY: 'four-columns-empty', + SIX_COLUMNS_EMPTY: 'six-columns-empty', +} as const export interface IPluginRow { - columns: IPluginColumn[]; - container: IPluginRowContainer; - content: IPluginContent; - type: ValueOf; - uuid: string; - locked?: boolean; - synced?: boolean; - metadata?: Record; - empty?: boolean; - name?: string; + columns: IPluginColumn[] + container: IPluginRowContainer + content: IPluginContent + type: ValueOf + uuid: string + locked?: boolean + synced?: boolean + metadata?: Record + empty?: boolean + name?: string } export interface IPluginEditDeleteRow { - handle: string; - label: string; - row: Partial; - value: string; + handle: string + label: string + row: Partial + value: string } export interface IInvitedMention { - username: string; - value: string; - uid: string | number; + username: string + value: string + uid: string | number } export interface IPluginForm { structure: { - attributes: Record; - fields: Record; - layout: unknown[]; - title: string; - description: string; - }; + attributes: Record + fields: Record + layout: unknown[] + title: string + description: string + } } export interface IPluginFilePicker { - url: string; + url: string } export enum EngageHandle { - MDM = "mdm", + MDM = 'mdm', } export enum OnInfoDetailHandle { - AI_INTEGRATION = "ai-integration", + AI_INTEGRATION = 'ai-integration' } export type BeePluginContentDialogHandler = ( @@ -785,1067 +779,1037 @@ export type BeePluginContentDialogHandler = ( reject: () => void, args: A, handle?: T -) => Promise; +) => Promise export type BeePluginConfigurationsHooks = { getMentions?: { - handler: BeePluginContentDialogHandler< - IInvitedMention[], - undefined, - string - >; - }; + handler: BeePluginContentDialogHandler + }, getRows?: { - handler: BeePluginContentDialogHandler< - IPluginRow[], - undefined, - { handle: string; value: string } - >; - }; -}; + handler: BeePluginContentDialogHandler + } +} export enum OnCommentChangeEnum { - NEWCOMMENT = "NEW_COMMENT", - DELETECOMMENT = "COMMENT_DELETED", - CHANGECOMMENT = "COMMENT_EDITED", - THREADRESOLVED = "COMMENT_THREAD_RESOLVED", - THREADREOPENED = "COMMENT_THREAD_REOPENED", + NEWCOMMENT = 'NEW_COMMENT', + DELETECOMMENT = 'COMMENT_DELETED', + CHANGECOMMENT = 'COMMENT_EDITED', + THREADRESOLVED = 'COMMENT_THREAD_RESOLVED', + THREADREOPENED = 'COMMENT_THREAD_REOPENED' } export type IAuthor = { - userHandle: string; - username: string; - userColor: string; -}; + userHandle: string + username: string + userColor: string +} export type BeePluginCommentPayload = { - author: IAuthor; - content: string; - elementId: string; - mentions: string[]; - parentCommentId: string; - responses: string[]; - timestamp: string; -}; + author: IAuthor + content: string + elementId: string + mentions: string[] + parentCommentId: string + responses: string[] + timestamp: string +} export type BeePluginUpdatePayload = { - content: string; - mentions: string[]; -}; + content: string + mentions: string[] +} export type BeePluginOnCommentChangePayloadWithComment = { - type: - | OnCommentChangeEnum.NEWCOMMENT - | OnCommentChangeEnum.THREADRESOLVED - | OnCommentChangeEnum.THREADREOPENED; + type: OnCommentChangeEnum.NEWCOMMENT | OnCommentChangeEnum.THREADRESOLVED | OnCommentChangeEnum.THREADREOPENED payload: { - commentId: string; - comment: BeePluginCommentPayload; - }; -}; + commentId: string + comment: BeePluginCommentPayload + } +} export type BeePluginOnCommentChangePayloadForWithUpdate = { - type: OnCommentChangeEnum.CHANGECOMMENT; + type: OnCommentChangeEnum.CHANGECOMMENT payload: { - commentId: string; - update: BeePluginUpdatePayload; - }; -}; + commentId: string + update: BeePluginUpdatePayload + } +} export type BeePluginOnCommentChangePayloadForWithDeletedComment = { - type: OnCommentChangeEnum.DELETECOMMENT; + type: OnCommentChangeEnum.DELETECOMMENT payload: { - commentId: string; - deletedComment: BeePluginCommentPayload; + commentId: string + deletedComment: BeePluginCommentPayload deletedResponses: { - [commentId: string]: BeePluginCommentPayload; - }; - }; -}; + [commentId: string]: BeePluginCommentPayload + } + } +} -export type BeePluginOnCommentChangePayload = - | BeePluginOnCommentChangePayloadWithComment +export type BeePluginOnCommentChangePayload = ( + BeePluginOnCommentChangePayloadWithComment | BeePluginOnCommentChangePayloadForWithUpdate - | BeePluginOnCommentChangePayloadForWithDeletedComment; + | BeePluginOnCommentChangePayloadForWithDeletedComment +) export type BeePluginOnCommentPayload = { - change: BeePluginOnCommentChangePayload; + change: BeePluginOnCommentChangePayload comments: { - [commentId: string]: BeePluginCommentPayload; - }; + [commentId: string]: BeePluginCommentPayload + } threadUsers: { - contributors: IAuthor[]; - }; - collaboration?: boolean; -}; + contributors: IAuthor[] + } + collaboration?: boolean +} export interface IMergeTag { - name: string; - value: string; - previewValue?: string; + name: string + value: string + previewValue?: string } export interface IMergeContent { - name: string; - value: string; - id?: number; + name: string + value: string + id?: number } export interface ISpecialLink { - label: string; - link: string; - type: string; - id?: number; + label: string + link: string + type: string + id?: number } export type BeePluginAdvancedPermissionStageToggle = { - locked: boolean; + locked: boolean engage: { - enabled: boolean; - handle: EngageHandle.MDM; - tooltip?: string; - }; -}; + enabled: boolean + handle: EngageHandle.MDM + tooltip?: string + } +} export type AdvancedSettingsBehaviours = { - canSelect: boolean; - canAdd: boolean; - canViewSidebar: boolean; - canClone: boolean; - canMove: boolean; - canDelete: boolean; -}; + canSelect: boolean + canAdd: boolean + canViewSidebar: boolean + canClone: boolean + canMove: boolean + canDelete: boolean +} export type AdvancedSettingsShowLocked = { - show: boolean; - locked: boolean; -}; + show: boolean + locked: boolean +} export type AdvancedSettingsTextEditor = { - toolbar: string[]; - fontSizes: string; -}; + toolbar: string[] + fontSizes: string +} export type BeePluginAdvancedPermission = RecursivePartial<{ workspace: { - stageToggle: BeePluginAdvancedPermissionStageToggle; - }; + stageToggle: BeePluginAdvancedPermissionStageToggle + } tabs: { - rows: AdvancedSettingsShowLocked; - settings: AdvancedSettingsShowLocked; - content: AdvancedSettingsShowLocked; - }; + rows: AdvancedSettingsShowLocked + settings: AdvancedSettingsShowLocked + content: AdvancedSettingsShowLocked + } rows: { - behaviors: AdvancedSettingsBehaviours; - backgroundColorRow: AdvancedSettingsShowLocked; - backgroundColorContent: AdvancedSettingsShowLocked; - doNotStackOnMobile: AdvancedSettingsShowLocked; - backgroundImage: AdvancedSettingsShowLocked; - backgroundVideo: AdvancedSettingsShowLocked; - displayConditions: AdvancedSettingsShowLocked; - columnTabs: AdvancedSettingsShowLocked; - hideOnMobile: AdvancedSettingsShowLocked; - rowLayout: AdvancedSettingsShowLocked; - contentBorder: AdvancedSettingsShowLocked; - roundedCorners: AdvancedSettingsShowLocked; + behaviors: AdvancedSettingsBehaviours + backgroundColorRow: AdvancedSettingsShowLocked + backgroundColorContent: AdvancedSettingsShowLocked + doNotStackOnMobile: AdvancedSettingsShowLocked + backgroundImage: AdvancedSettingsShowLocked + backgroundVideo: AdvancedSettingsShowLocked + displayConditions: AdvancedSettingsShowLocked + columnTabs: AdvancedSettingsShowLocked + hideOnMobile: AdvancedSettingsShowLocked + rowLayout: AdvancedSettingsShowLocked + contentBorder: AdvancedSettingsShowLocked + roundedCorners: AdvancedSettingsShowLocked toolbar: { - close: AdvancedSettingsShowLocked; - save: AdvancedSettingsShowLocked; - editSyncedRow: AdvancedSettingsShowLocked; - }; - verticalAlign: AdvancedSettingsShowLocked; - }; + close: AdvancedSettingsShowLocked + save: AdvancedSettingsShowLocked + editSyncedRow: AdvancedSettingsShowLocked + } + verticalAlign: AdvancedSettingsShowLocked + }, settings: { - title: AdvancedSettingsShowLocked; - description: AdvancedSettingsShowLocked; - language: AdvancedSettingsShowLocked; - favicon: AdvancedSettingsShowLocked; - contentAreaWidth: AdvancedSettingsShowLocked; - contentAreaAlign: AdvancedSettingsShowLocked; - containerBackgroundColor: AdvancedSettingsShowLocked; - contentBackgroundColor: AdvancedSettingsShowLocked; - defaultFontFamily: AdvancedSettingsShowLocked; - linkColor: AdvancedSettingsShowLocked; - containerBackgroundImage: AdvancedSettingsShowLocked; - }; + title: AdvancedSettingsShowLocked + description: AdvancedSettingsShowLocked + language: AdvancedSettingsShowLocked + favicon: AdvancedSettingsShowLocked + contentAreaWidth: AdvancedSettingsShowLocked + contentAreaAlign: AdvancedSettingsShowLocked + containerBackgroundColor: AdvancedSettingsShowLocked + contentBackgroundColor: AdvancedSettingsShowLocked + defaultFontFamily: AdvancedSettingsShowLocked + linkColor: AdvancedSettingsShowLocked + containerBackgroundImage: AdvancedSettingsShowLocked + } columns: { behaviors: { - canResize: boolean; - canAdd: boolean; - canDelete: boolean; - }; - }; + canResize: boolean + canAdd: boolean + canDelete: boolean + } + } content: { title: { - textEditor: AdvancedSettingsTextEditor; - behaviors: AdvancedSettingsBehaviours; + textEditor: AdvancedSettingsTextEditor + behaviors: AdvancedSettingsBehaviours properties: { - fontWeight: AdvancedSettingsShowLocked; - fontSize: AdvancedSettingsShowLocked; - title: AdvancedSettingsShowLocked; - fontFamily: AdvancedSettingsShowLocked; - textColor: AdvancedSettingsShowLocked; - linkColor: AdvancedSettingsShowLocked; - textAlign: AdvancedSettingsShowLocked; - lineHeight: AdvancedSettingsShowLocked; - letterSpacing: AdvancedSettingsShowLocked; - direction: AdvancedSettingsShowLocked; - padding: AdvancedSettingsShowLocked; - hideOnMobile: AdvancedSettingsShowLocked; - hideOnAmp: AdvancedSettingsShowLocked; - id: AdvancedSettingsShowLocked; - aiIntegration: AdvancedSettingsShowLocked; - }; - }; + fontWeight: AdvancedSettingsShowLocked + fontSize: AdvancedSettingsShowLocked + title: AdvancedSettingsShowLocked + fontFamily: AdvancedSettingsShowLocked + textColor: AdvancedSettingsShowLocked + linkColor: AdvancedSettingsShowLocked + textAlign: AdvancedSettingsShowLocked + lineHeight: AdvancedSettingsShowLocked + letterSpacing: AdvancedSettingsShowLocked + direction: AdvancedSettingsShowLocked + padding: AdvancedSettingsShowLocked + hideOnMobile: AdvancedSettingsShowLocked + hideOnAmp: AdvancedSettingsShowLocked + id: AdvancedSettingsShowLocked + aiIntegration: AdvancedSettingsShowLocked + } + } viwed: { - behaviors: AdvancedSettingsBehaviours; + behaviors: AdvancedSettingsBehaviours properties: { - id: AdvancedSettingsShowLocked; - }; - }; + id: AdvancedSettingsShowLocked + } + }, spacer: { - behaviors: AdvancedSettingsBehaviours; + behaviors: AdvancedSettingsBehaviours properties: { - height: AdvancedSettingsShowLocked; - hideOnMobile: AdvancedSettingsShowLocked; - hideOnAmp: AdvancedSettingsShowLocked; - id: AdvancedSettingsShowLocked; - }; - }; + height: AdvancedSettingsShowLocked + hideOnMobile: AdvancedSettingsShowLocked + hideOnAmp: AdvancedSettingsShowLocked + id: AdvancedSettingsShowLocked + }, + }, text: { - textEditor: AdvancedSettingsTextEditor; - behaviors: AdvancedSettingsBehaviours; + textEditor: AdvancedSettingsTextEditor + behaviors: AdvancedSettingsBehaviours properties: { - letterSpacing: AdvancedSettingsShowLocked; - textColor: AdvancedSettingsShowLocked; - linkColor: AdvancedSettingsShowLocked; - lineHeight: AdvancedSettingsShowLocked; - padding: AdvancedSettingsShowLocked; - hideOnMobile: AdvancedSettingsShowLocked; - hideOnAmp: AdvancedSettingsShowLocked; - id: AdvancedSettingsShowLocked; - }; - }; + letterSpacing: AdvancedSettingsShowLocked + textColor: AdvancedSettingsShowLocked + linkColor: AdvancedSettingsShowLocked + lineHeight: AdvancedSettingsShowLocked + padding: AdvancedSettingsShowLocked + hideOnMobile: AdvancedSettingsShowLocked + hideOnAmp: AdvancedSettingsShowLocked + id: AdvancedSettingsShowLocked + + } + } button: { - textEditor: AdvancedSettingsTextEditor; - behaviors: AdvancedSettingsBehaviours; + textEditor: AdvancedSettingsTextEditor + behaviors: AdvancedSettingsBehaviours properties: { - link: AdvancedSettingsShowLocked; - buttonWidth: AdvancedSettingsShowLocked; - padding: AdvancedSettingsShowLocked; - backgroundColor: AdvancedSettingsShowLocked; - textColor: AdvancedSettingsShowLocked; - textAlign: AdvancedSettingsShowLocked; - buttonLineHeight: AdvancedSettingsShowLocked; - borderRadius: AdvancedSettingsShowLocked; - contentPadding: AdvancedSettingsShowLocked; - border: AdvancedSettingsShowLocked; - hideOnMobile: AdvancedSettingsShowLocked; - hideOnAmp: AdvancedSettingsShowLocked; - fontWeight: AdvancedSettingsShowLocked; - fontFamily: AdvancedSettingsShowLocked; - letterSpacing: AdvancedSettingsShowLocked; - id: AdvancedSettingsShowLocked; - aiIntegration: AdvancedSettingsShowLocked; - }; - }; + link: AdvancedSettingsShowLocked + buttonWidth: AdvancedSettingsShowLocked + padding: AdvancedSettingsShowLocked + backgroundColor: AdvancedSettingsShowLocked + textColor: AdvancedSettingsShowLocked + textAlign: AdvancedSettingsShowLocked + buttonLineHeight: AdvancedSettingsShowLocked + borderRadius: AdvancedSettingsShowLocked + contentPadding: AdvancedSettingsShowLocked + border: AdvancedSettingsShowLocked + hideOnMobile: AdvancedSettingsShowLocked + hideOnAmp: AdvancedSettingsShowLocked + fontWeight: AdvancedSettingsShowLocked + fontFamily: AdvancedSettingsShowLocked + letterSpacing: AdvancedSettingsShowLocked + id: AdvancedSettingsShowLocked + aiIntegration: AdvancedSettingsShowLocked + } + } image: { - behaviors: AdvancedSettingsBehaviours; + behaviors: AdvancedSettingsBehaviours properties: { - imageWidth: AdvancedSettingsShowLocked; - textAlign: AdvancedSettingsShowLocked; - dynamicImage: AdvancedSettingsShowLocked; - imageSelector: AdvancedSettingsShowLocked; - inputText: AdvancedSettingsShowLocked; - link: AdvancedSettingsShowLocked; - padding: AdvancedSettingsShowLocked; - hideOnMobile: AdvancedSettingsShowLocked; - hideOnAmp: AdvancedSettingsShowLocked; - id: AdvancedSettingsShowLocked; - }; - }; + imageWidth: AdvancedSettingsShowLocked + textAlign: AdvancedSettingsShowLocked + dynamicImage: AdvancedSettingsShowLocked + imageSelector: AdvancedSettingsShowLocked + inputText: AdvancedSettingsShowLocked + link: AdvancedSettingsShowLocked + padding: AdvancedSettingsShowLocked + hideOnMobile: AdvancedSettingsShowLocked + hideOnAmp: AdvancedSettingsShowLocked + id: AdvancedSettingsShowLocked + } + } divider: { - behaviors: AdvancedSettingsBehaviours; + behaviors: AdvancedSettingsBehaviours properties: { - dividerMode: AdvancedSettingsShowLocked; - textColor: AdvancedSettingsShowLocked; - linkColor: AdvancedSettingsShowLocked; - lineHeight: AdvancedSettingsShowLocked; - padding: AdvancedSettingsShowLocked; - hideOnMobile: AdvancedSettingsShowLocked; - hideOnAmp: AdvancedSettingsShowLocked; - id: AdvancedSettingsShowLocked; - }; - }; + dividerMode: AdvancedSettingsShowLocked + textColor: AdvancedSettingsShowLocked + linkColor: AdvancedSettingsShowLocked + lineHeight: AdvancedSettingsShowLocked + padding: AdvancedSettingsShowLocked + hideOnMobile: AdvancedSettingsShowLocked + hideOnAmp: AdvancedSettingsShowLocked + id: AdvancedSettingsShowLocked + } + } social: { - behaviors: AdvancedSettingsBehaviours; + behaviors: AdvancedSettingsBehaviours properties: { - iconsMode: AdvancedSettingsShowLocked; - icons: AdvancedSettingsShowLocked; - align: AdvancedSettingsShowLocked; - iconSpacing: AdvancedSettingsShowLocked; - padding: AdvancedSettingsShowLocked; - hideOnMobile: AdvancedSettingsShowLocked; - hideOnAmp: AdvancedSettingsShowLocked; - id: AdvancedSettingsShowLocked; - }; - }; + iconsMode: AdvancedSettingsShowLocked + icons: AdvancedSettingsShowLocked + align: AdvancedSettingsShowLocked + iconSpacing: AdvancedSettingsShowLocked + padding: AdvancedSettingsShowLocked + hideOnMobile: AdvancedSettingsShowLocked + hideOnAmp: AdvancedSettingsShowLocked + id: AdvancedSettingsShowLocked + } + } dynamic: { - behaviors: AdvancedSettingsBehaviours; + behaviors: AdvancedSettingsBehaviours properties: { - mergeContent: AdvancedSettingsShowLocked; - hideOnMobile: AdvancedSettingsShowLocked; - hideOnAmp: AdvancedSettingsShowLocked; - id: AdvancedSettingsShowLocked; - }; - }; + mergeContent: AdvancedSettingsShowLocked + hideOnMobile: AdvancedSettingsShowLocked + hideOnAmp: AdvancedSettingsShowLocked + id: AdvancedSettingsShowLocked + } + } html: { - behaviors: AdvancedSettingsBehaviours; + behaviors: AdvancedSettingsBehaviours properties: { - htmlEditor: AdvancedSettingsShowLocked; - hideOnMobile: AdvancedSettingsShowLocked; - hideOnAmp: AdvancedSettingsShowLocked; - id: AdvancedSettingsShowLocked; - }; - }; + htmlEditor: AdvancedSettingsShowLocked + hideOnMobile: AdvancedSettingsShowLocked + hideOnAmp: AdvancedSettingsShowLocked + id: AdvancedSettingsShowLocked + } + } video: { - behaviors: AdvancedSettingsBehaviours; + behaviors: AdvancedSettingsBehaviours properties: { - videoUrl: AdvancedSettingsShowLocked; - videoIcon: AdvancedSettingsShowLocked; - padding: AdvancedSettingsShowLocked; - hideOnMobile: AdvancedSettingsShowLocked; - hideOnAmp: AdvancedSettingsShowLocked; - id: AdvancedSettingsShowLocked; - }; - }; + videoUrl: AdvancedSettingsShowLocked + videoIcon: AdvancedSettingsShowLocked + padding: AdvancedSettingsShowLocked + hideOnMobile: AdvancedSettingsShowLocked + hideOnAmp: AdvancedSettingsShowLocked + id: AdvancedSettingsShowLocked + } + } form: { - behaviors: AdvancedSettingsBehaviours; + behaviors: AdvancedSettingsBehaviours properties: { - width: AdvancedSettingsShowLocked; - textAlign: AdvancedSettingsShowLocked; - fontFamily: AdvancedSettingsShowLocked; - fontSize: AdvancedSettingsShowLocked; - padding: AdvancedSettingsShowLocked; - labelTextColor: AdvancedSettingsShowLocked; - labelLineHeight: AdvancedSettingsShowLocked; - labelTextAlign: AdvancedSettingsShowLocked; - labelStyle: AdvancedSettingsShowLocked; - labelPosition: AdvancedSettingsShowLocked; - labelMinWidth: AdvancedSettingsShowLocked; - labelLetterSpacing: AdvancedSettingsShowLocked; - fieldTextColor: AdvancedSettingsShowLocked; - fieldBackgroundColor: AdvancedSettingsShowLocked; - fieldPadding: AdvancedSettingsShowLocked; - fieldBorder: AdvancedSettingsShowLocked; - fieldBorderRadius: AdvancedSettingsShowLocked; - fieldOutline: AdvancedSettingsShowLocked; - buttonWidth: AdvancedSettingsShowLocked; - buttonTextColor: AdvancedSettingsShowLocked; - buttonBackgroundColor: AdvancedSettingsShowLocked; - buttonAlign: AdvancedSettingsShowLocked; - buttonPadding: AdvancedSettingsShowLocked; - buttonOuterPadding: AdvancedSettingsShowLocked; - buttonBorder: AdvancedSettingsShowLocked; - buttonBorderRadius: AdvancedSettingsShowLocked; - buttonLetterSpacing: AdvancedSettingsShowLocked; - buttonStyle: AdvancedSettingsShowLocked; - layOutFields: AdvancedSettingsShowLocked; - hideOnMobile: AdvancedSettingsShowLocked; - hideOnAmp: AdvancedSettingsShowLocked; - id: AdvancedSettingsShowLocked; - }; - }; + width: AdvancedSettingsShowLocked + textAlign: AdvancedSettingsShowLocked + fontFamily: AdvancedSettingsShowLocked + fontSize: AdvancedSettingsShowLocked + padding: AdvancedSettingsShowLocked + labelTextColor: AdvancedSettingsShowLocked + labelLineHeight: AdvancedSettingsShowLocked + labelTextAlign: AdvancedSettingsShowLocked + labelStyle: AdvancedSettingsShowLocked + labelPosition: AdvancedSettingsShowLocked + labelMinWidth: AdvancedSettingsShowLocked + labelLetterSpacing: AdvancedSettingsShowLocked + fieldTextColor: AdvancedSettingsShowLocked + fieldBackgroundColor: AdvancedSettingsShowLocked + fieldPadding: AdvancedSettingsShowLocked + fieldBorder: AdvancedSettingsShowLocked + fieldBorderRadius: AdvancedSettingsShowLocked + fieldOutline: AdvancedSettingsShowLocked + buttonWidth: AdvancedSettingsShowLocked + buttonTextColor: AdvancedSettingsShowLocked + buttonBackgroundColor: AdvancedSettingsShowLocked + buttonAlign: AdvancedSettingsShowLocked + buttonPadding: AdvancedSettingsShowLocked + buttonOuterPadding: AdvancedSettingsShowLocked + buttonBorder: AdvancedSettingsShowLocked + buttonBorderRadius: AdvancedSettingsShowLocked + buttonLetterSpacing: AdvancedSettingsShowLocked + buttonStyle: AdvancedSettingsShowLocked + layOutFields: AdvancedSettingsShowLocked + hideOnMobile: AdvancedSettingsShowLocked + hideOnAmp: AdvancedSettingsShowLocked + id: AdvancedSettingsShowLocked + } + } icons: { - behaviors: AdvancedSettingsBehaviours; + behaviors: AdvancedSettingsBehaviours properties: { - fontFamily: AdvancedSettingsShowLocked; - fontSize: AdvancedSettingsShowLocked; - textColor: AdvancedSettingsShowLocked; - align: AdvancedSettingsShowLocked; - letterSpacing: AdvancedSettingsShowLocked; - iconSize: AdvancedSettingsShowLocked; - itemsSpacing: AdvancedSettingsShowLocked; - iconSpacing: AdvancedSettingsShowLocked; - padding: AdvancedSettingsShowLocked; - hideOnMobile: AdvancedSettingsShowLocked; - hideOnAmp: AdvancedSettingsShowLocked; - id: AdvancedSettingsShowLocked; - }; - }; + fontFamily: AdvancedSettingsShowLocked + fontSize: AdvancedSettingsShowLocked + textColor: AdvancedSettingsShowLocked + align: AdvancedSettingsShowLocked + letterSpacing: AdvancedSettingsShowLocked + iconSize: AdvancedSettingsShowLocked + itemsSpacing: AdvancedSettingsShowLocked + iconSpacing: AdvancedSettingsShowLocked + padding: AdvancedSettingsShowLocked + hideOnMobile: AdvancedSettingsShowLocked + hideOnAmp: AdvancedSettingsShowLocked + id: AdvancedSettingsShowLocked + } + } paragraph: { - behaviors: AdvancedSettingsBehaviours; - textEditor: AdvancedSettingsTextEditor; + behaviors: AdvancedSettingsBehaviours + textEditor: AdvancedSettingsTextEditor properties: { - fontFamily: AdvancedSettingsShowLocked; - fontSize: AdvancedSettingsShowLocked; - fontWeight: AdvancedSettingsShowLocked; - textColor: AdvancedSettingsShowLocked; - linkColor: AdvancedSettingsShowLocked; - padding: AdvancedSettingsShowLocked; - lineHeight: AdvancedSettingsShowLocked; - textAlign: AdvancedSettingsShowLocked; - direction: AdvancedSettingsShowLocked; - letterSpacing: AdvancedSettingsShowLocked; - paragraphSpacing: AdvancedSettingsShowLocked; - hideOnMobile: AdvancedSettingsShowLocked; - hideOnAmp: AdvancedSettingsShowLocked; - id: AdvancedSettingsShowLocked; - aiIntegration: AdvancedSettingsShowLocked; - }; - }; + fontFamily: AdvancedSettingsShowLocked + fontSize: AdvancedSettingsShowLocked + fontWeight: AdvancedSettingsShowLocked + textColor: AdvancedSettingsShowLocked + linkColor: AdvancedSettingsShowLocked + padding: AdvancedSettingsShowLocked + lineHeight: AdvancedSettingsShowLocked + textAlign: AdvancedSettingsShowLocked + direction: AdvancedSettingsShowLocked + letterSpacing: AdvancedSettingsShowLocked + paragraphSpacing: AdvancedSettingsShowLocked + hideOnMobile: AdvancedSettingsShowLocked + hideOnAmp: AdvancedSettingsShowLocked + id: AdvancedSettingsShowLocked + aiIntegration: AdvancedSettingsShowLocked + }, + }, list: { - behaviors: AdvancedSettingsBehaviours; - textEditor: AdvancedSettingsTextEditor; + behaviors: AdvancedSettingsBehaviours + textEditor: AdvancedSettingsTextEditor properties: { - tag: AdvancedSettingsShowLocked; - listStyleType: AdvancedSettingsShowLocked; - fontFamily: AdvancedSettingsShowLocked; - fontSize: AdvancedSettingsShowLocked; - fontWeight: AdvancedSettingsShowLocked; - textColor: AdvancedSettingsShowLocked; - linkColor: AdvancedSettingsShowLocked; - padding: AdvancedSettingsShowLocked; - lineHeight: AdvancedSettingsShowLocked; - textAlign: AdvancedSettingsShowLocked; - direction: AdvancedSettingsShowLocked; - letterSpacing: AdvancedSettingsShowLocked; - startListFrom: AdvancedSettingsShowLocked; - liSpacing: AdvancedSettingsShowLocked; - liIndent: AdvancedSettingsShowLocked; - hideOnMobile: AdvancedSettingsShowLocked; - hideOnAmp: AdvancedSettingsShowLocked; - id: AdvancedSettingsShowLocked; - aiIntegration: AdvancedSettingsShowLocked; - }; - }; + tag: AdvancedSettingsShowLocked + listStyleType: AdvancedSettingsShowLocked + fontFamily: AdvancedSettingsShowLocked + fontSize: AdvancedSettingsShowLocked + fontWeight: AdvancedSettingsShowLocked + textColor: AdvancedSettingsShowLocked + linkColor: AdvancedSettingsShowLocked + padding: AdvancedSettingsShowLocked + lineHeight: AdvancedSettingsShowLocked + textAlign: AdvancedSettingsShowLocked + direction: AdvancedSettingsShowLocked + letterSpacing: AdvancedSettingsShowLocked + startListFrom: AdvancedSettingsShowLocked + liSpacing: AdvancedSettingsShowLocked + liIndent: AdvancedSettingsShowLocked + hideOnMobile: AdvancedSettingsShowLocked + hideOnAmp: AdvancedSettingsShowLocked + id: AdvancedSettingsShowLocked + aiIntegration: AdvancedSettingsShowLocked + }, + }, menu: { - behaviors: AdvancedSettingsBehaviours; + behaviors: AdvancedSettingsBehaviours properties: { - fontFamily: AdvancedSettingsShowLocked; - fontSize: AdvancedSettingsShowLocked; - textColor: AdvancedSettingsShowLocked; - linkColor: AdvancedSettingsShowLocked; - align: AdvancedSettingsShowLocked; - letterSpacing: AdvancedSettingsShowLocked; - layout: AdvancedSettingsShowLocked; - separator: AdvancedSettingsShowLocked; - padding: AdvancedSettingsShowLocked; - hamburger: AdvancedSettingsShowLocked; - itemSpacing: AdvancedSettingsShowLocked; - menuItems: AdvancedSettingsShowLocked; - hideOnMobile: AdvancedSettingsShowLocked; - hideOnAmp: AdvancedSettingsShowLocked; - id: AdvancedSettingsShowLocked; - }; - }; + fontFamily: AdvancedSettingsShowLocked + fontSize: AdvancedSettingsShowLocked + textColor: AdvancedSettingsShowLocked + linkColor: AdvancedSettingsShowLocked + align: AdvancedSettingsShowLocked + letterSpacing: AdvancedSettingsShowLocked + layout: AdvancedSettingsShowLocked + separator: AdvancedSettingsShowLocked + padding: AdvancedSettingsShowLocked + hamburger: AdvancedSettingsShowLocked + itemSpacing: AdvancedSettingsShowLocked + menuItems: AdvancedSettingsShowLocked + hideOnMobile: AdvancedSettingsShowLocked + hideOnAmp: AdvancedSettingsShowLocked + id: AdvancedSettingsShowLocked + } + }, table: { - behaviors: AdvancedSettingsBehaviours; + behaviors: AdvancedSettingsBehaviours properties: { - columns: AdvancedSettingsShowLocked; - rows: AdvancedSettingsShowLocked; - backgroundColor: AdvancedSettingsShowLocked; - border: AdvancedSettingsShowLocked; - textColor: AdvancedSettingsShowLocked; - linkColor: AdvancedSettingsShowLocked; - fontFamily: AdvancedSettingsShowLocked; - fontWeight: AdvancedSettingsShowLocked; - fontSize: AdvancedSettingsShowLocked; - textAlign: AdvancedSettingsShowLocked; - lineHeight: AdvancedSettingsShowLocked; - letterSpacing: AdvancedSettingsShowLocked; - direction: AdvancedSettingsShowLocked; - padding: AdvancedSettingsShowLocked; - hideOnMobile: AdvancedSettingsShowLocked; - hideOnAmp: AdvancedSettingsShowLocked; - id: AdvancedSettingsShowLocked; - alternateRowBackgroundColor: AdvancedSettingsShowLocked; - headers: AdvancedSettingsShowLocked; - }; - }; + columns: AdvancedSettingsShowLocked + rows: AdvancedSettingsShowLocked + backgroundColor: AdvancedSettingsShowLocked + border: AdvancedSettingsShowLocked + textColor: AdvancedSettingsShowLocked + linkColor: AdvancedSettingsShowLocked + fontFamily: AdvancedSettingsShowLocked + fontWeight: AdvancedSettingsShowLocked + fontSize: AdvancedSettingsShowLocked + textAlign: AdvancedSettingsShowLocked + lineHeight: AdvancedSettingsShowLocked + letterSpacing: AdvancedSettingsShowLocked + direction: AdvancedSettingsShowLocked + padding: AdvancedSettingsShowLocked + hideOnMobile: AdvancedSettingsShowLocked + hideOnAmp: AdvancedSettingsShowLocked + id: AdvancedSettingsShowLocked + alternateRowBackgroundColor: AdvancedSettingsShowLocked + headers: AdvancedSettingsShowLocked + } + } addon: { [uuid: string]: { - behaviors: AdvancedSettingsBehaviours; - }; - }; - }; -}>; + behaviors: AdvancedSettingsBehaviours + } + } + } +}> export type IAiAddon = { - id: "ai-integration"; + id: 'ai-integration' settings?: { - tokensAvailable?: number; - tokensUsed?: number; - tokenLabel?: string; - isPromptDisabled?: boolean; - isSuggestionsDisabled?: boolean; - }; -}; + tokensAvailable?: number + tokensUsed?: number + tokenLabel?: string + isPromptDisabled?: boolean + isSuggestionsDisabled?: boolean + } +} export enum WorkspaceStage { - desktop = "desktop", - mobile = "mobile", - global = "global", + desktop = 'desktop', + mobile = 'mobile', + global = 'global', } export type BeePluginWorkspace = { - type?: LoadWorkspaceOptions; - stage?: WorkspaceStage; - displayHidden?: StageDisplayOptions; - hideStageToggle?: boolean; - editSingleRow?: boolean; -}; + type?: LoadWorkspaceOptions + stage?: WorkspaceStage + displayHidden?: StageDisplayOptions + hideStageToggle?: boolean + editSingleRow?: boolean +} export type IPluginSessionInfo = { - sessionId: string; -}; + sessionId: string +} export type FontElement = { - fontFamily: string; - name: string; - url?: string; -}; + fontFamily: string + name: string + url?: string +} export type EntityBody = { - type: string; - webFonts: FontElement[]; + type: string + webFonts: FontElement[] container: { style: { - "background-color": string; - }; - }; + "background-color": string + } + } content: { style: { - "font-family": string; - color: string; - }; + "font-family": string + color: string + } computedStyle: { - align: string; - linkColor: string; - messageBackgroundColor: string; - messageWidth: string; - }; - }; -}; + align: string + linkColor: string + messageBackgroundColor: string + messageWidth: string + } + } +} export interface IEntityContentJson { page: { - body: EntityBody; - description: string; - rows: IPluginRow[]; + body: EntityBody + description: string + rows: IPluginRow[] template: { - name: string; - type: string; - version: string; - }; - title: string; - }; + name: string + type: string + version: string + } + title: string + } } export type BeePluginMessageEditDetailPatch = { - op: string; - path: string; - value: string; -}; + op: string + path: string + value: string +} export type BeePluginMessageEditDetail = { - code: unknown; - value: string; - description: string; - patches: BeePluginMessageEditDetailPatch[]; -}; + code: unknown + value: string + description: string + patches: BeePluginMessageEditDetailPatch[] +} export enum BeePluginRoles { - REVIEWER = "reviewer", + REVIEWER = 'reviewer' } export type BeePluginCustomHeader = { - name: string; - value: string; -}; + name: string + value: string +} -export type IRefreshSavedRow = boolean; +export type IRefreshSavedRow = boolean // TOFIX: Need to remove some properties with Omit generics -export type ILoadableProps = Partial; +export type ILoadableProps = Partial export type ContentDefaultsTitle = Partial<{ // TOFIX: understand why they are not handled in the plugin // hideContentOnMobile: boolean - defaultHeadingLevel: string; + defaultHeadingLevel: string blockOptions: Partial<{ - align: string; - paddingTop: string; - paddingRight: string; - paddingBottom: string; - paddingLeft: string; - }>; -}>; + align: string + paddingTop: string + paddingRight: string + paddingBottom: string + paddingLeft: string + }> +}> export type TitleDefaultStyle = Partial<{ - color: string; - "font-size": string; - "font-weight": string; - "font-family": string; - "link-color": string; - "line-height": string; - "text-align": string; - direction: string; - "letter-spacing": string; -}>; + color: string + 'font-size': string + 'font-weight': string + 'font-family': string + 'link-color': string + 'line-height': string + 'text-align': string + 'direction': string + 'letter-spacing': string +}> export type TitleDefaultStyles = { - h1: TitleDefaultStyle; - h2: TitleDefaultStyle; - h3: TitleDefaultStyle; -}; + h1: TitleDefaultStyle + h2: TitleDefaultStyle + h3: TitleDefaultStyle +} // TOFIX: this module will probably be removed in the near future export type ContentDefaultsText = { // we can't use partial for ContentDefaultsText since html is required - html: string; + html: string styles?: Partial<{ - color: string; - linkColor: string; - fontSize: string; - lineHeight: string; - fontFamily: string; - }>; + color: string + linkColor: string + fontSize: string + lineHeight: string + fontFamily: string + }> blockOptions?: Partial<{ - paddingBottom: string; - paddingLeft: string; - paddingRight: string; - paddingTop: string; - hideContentOnMobile: boolean; - }>; -}; + paddingBottom: string + paddingLeft: string + paddingRight: string + paddingTop: string + hideContentOnMobile: boolean + }> +} export type ContentDefaultsImage = Partial<{ - alt: string; - href: string; - src: string; - width: string; + alt: string + href: string + src: string + width: string blockOptions: Partial<{ - paddingBottom: string; - paddingLeft: string; - paddingRight: string; - paddingTop: string; - align: string; - hideContentOnMobile: boolean; - }>; -}>; + paddingBottom: string + paddingLeft: string + paddingRight: string + paddingTop: string + align: string + hideContentOnMobile: boolean + }> +}> export type ContentDefaultsButton = Partial<{ - html: string; - label: string; - href: string; - width: string; + html: string + label: string + href: string + width: string styles: Partial<{ - color: string; - fontSize: string; - fontFamily: string; - fontWeight: string; - backgroundColor: string; - borderBottom: string; - borderLeft: string; - borderRadius: string; - borderRight: string; - borderTop: string; - lineHeight: string; - maxWidth: string; - paddingBottom: string; - paddingLeft: string; - paddingRight: string; - paddingTop: string; - }>; + color: string + fontSize: string + fontFamily: string + fontWeight: string + backgroundColor: string + borderBottom: string + borderLeft: string + borderRadius: string + borderRight: string + borderTop: string + lineHeight: string + maxWidth: string + paddingBottom: string + paddingLeft: string + paddingRight: string + paddingTop: string + }>, blockOptions: Partial<{ - paddingBottom: string; - paddingLeft: string; - paddingRight: string; - paddingTop: string; - align: string; - hideContentOnMobile: boolean; - }>; -}>; + paddingBottom: string + paddingLeft: string + paddingRight: string + paddingTop: string + align: string + hideContentOnMobile: boolean + }> +}> export type ContentDefaultsDivider = Partial<{ - width: string; - line: string; - align: string; + width: string + line: string + align: string blockOptions: Partial<{ - paddingBottom: string; - paddingLeft: string; - paddingRight: string; - paddingTop: string; - hideContentOnMobile: boolean; - }>; -}>; + paddingBottom: string + paddingLeft: string + paddingRight: string + paddingTop: string + hideContentOnMobile: boolean + }> +}> export type ContentDefaultsSocial = Partial<{ - icons: IPluginModuleSocialIcon[]; + icons: IPluginModuleSocialIcon[] blockOptions: Partial<{ - paddingBottom: string; - paddingLeft: string; - paddingRight: string; - paddingTop: string; - align: string; - hideContentOnMobile: boolean; + paddingBottom: string + paddingLeft: string + paddingRight: string + paddingTop: string + align: string + hideContentOnMobile: boolean // TOFIX: understand why they are not handled in the plugin // height: number // TOFIX: understand why they are not handled in the plugin // width: number // TOFIX: understand why they are not handled in the plugin // iconWidth: number - }>; -}>; + }> +}> export type ContentDefaultsDynamic = Partial<{ blockOptions: Partial<{ - paddingBottom: string; - paddingLeft: string; - paddingRight: string; - paddingTop: string; - hideContentOnMobile: boolean; - }>; -}>; + paddingBottom: string + paddingLeft: string + paddingRight: string + paddingTop: string + hideContentOnMobile: boolean + }> +}> export type ContentDefaultsVideo = Partial<{ - src: string; + src: string blockOptions: Partial<{ - paddingBottom: string; - paddingLeft: string; - paddingRight: string; - paddingTop: string; - hideContentOnMobile: boolean; - }>; -}>; + paddingBottom: string + paddingLeft: string + paddingRight: string + paddingTop: string + hideContentOnMobile: boolean + }> +}> export type ContentDefaultsForm = Partial<{ - structure: unknown; + structure: unknown styles: Partial<{ - width: string; - fontSize: string; - fontFamily: string; - }>; + width: string + fontSize: string + fontFamily: string + }> labelsOptions: Partial<{ - color: string; - lineHeight: string; - fontWeight: string; - fontStyle: string; - align: string; - position: string; - letterSpacing: string; - minWidth: string; - }>; + color: string + lineHeight: string + fontWeight: string + fontStyle: string + align: string + position: string + letterSpacing: string + minWidth: string + }> fieldsOptions: Partial<{ - color: string; - backgroundColor: string; - outlineColor: string; - borderRadius: string; - borderTop: string; - borderRight: string; - borderBottom: string; - borderLeft: string; - paddingBottom: string; - paddingLeft: string; - paddingRight: string; - paddingTop: string; - }>; + color: string + backgroundColor: string + outlineColor: string + borderRadius: string + borderTop: string + borderRight: string + borderBottom: string + borderLeft: string + paddingBottom: string + paddingLeft: string + paddingRight: string + paddingTop: string + }> buttonsOptions: Partial<{ - color: string; - backgroundColor: string; - borderRadius: string; - borderTop: string; - borderRight: string; - borderBottom: string; - borderLeft: string; - lineHeight: string; - align: string; - width: string; - maxWidth: string; - paddingBottom: string; - paddingLeft: string; - paddingRight: string; - paddingTop: string; - marginBottom: string; - margingLeft: string; - marginRight: string; - marginTop: string; - letterSpacing: string; - fontStyle: string; - fontWeight: string; - }>; + color: string + backgroundColor: string + borderRadius: string + borderTop: string + borderRight: string + borderBottom: string + borderLeft: string + lineHeight: string + align: string + width: string + maxWidth: string + paddingBottom: string + paddingLeft: string + paddingRight: string + paddingTop: string + marginBottom: string + margingLeft: string + marginRight: string + marginTop: string + letterSpacing: string + fontStyle: string + fontWeight: string + }> blockOptions: Partial<{ - align: string; - paddingBottom: string; - paddingLeft: string; - paddingRight: string; - paddingTop: string; - backgroundColor: string; - hideContentOnMobile: boolean; - hideContentOnDesktop: boolean; - }>; -}>; + align: string + paddingBottom: string + paddingLeft: string + paddingRight: string + paddingTop: string + backgroundColor: string + hideContentOnMobile: boolean + hideContentOnDesktop: boolean + }> +}> export type ContentDefaultsIcons = Partial<{ - items: unknown; + items: unknown styles: Partial<{ - color: string; - fontSize: string; - fontFamily: string; - }>; + color: string + fontSize: string + fontFamily: string + }> blockOptions: Partial<{ - align: string; - paddingBottom: string; - paddingLeft: string; - paddingRight: string; - paddingTop: string; - hideContentOnMobile: boolean; - hideContentOnDesktop: boolean; - itemSpacing: string; - iconHeight: string; - }>; + align: string + paddingBottom: string + paddingLeft: string + paddingRight: string + paddingTop: string + hideContentOnMobile: boolean + hideContentOnDesktop: boolean + itemSpacing: string + iconHeight: string + }> iconSpacing: Partial<{ - paddingBottom: string; - paddingLeft: string; - paddingRight: string; - paddingTop: string; - }>; -}>; + paddingBottom: string + paddingLeft: string + paddingRight: string + paddingTop: string + }> +}> export type ContentDefaultsMenu = Partial<{ - items: unknown; + items: unknown styles: Partial<{ - color: string; - linkColor: string; - fontSize: string; - fontFamily: string; - }>; + color: string + linkColor: string + fontSize: string + fontFamily: string + }> hamburger: Partial<{ - mobile: boolean; - foregroundColor: string; - backgroundColor: string; - iconSize: string; - iconType: string; - }>; + mobile: boolean + foregroundColor: string + backgroundColor: string + iconSize: string + iconType: string + }> blockOptions: Partial<{ - align: string; - paddingBottom: string; - paddingLeft: string; - paddingRight: string; - paddingTop: string; - layout: string; - hideContentOnMobile: boolean; - hideContentOnDesktop: boolean; - }>; + align: string + paddingBottom: string + paddingLeft: string + paddingRight: string + paddingTop: string + layout: string + hideContentOnMobile: boolean + hideContentOnDesktop: boolean + }> itemsSpacing: Partial<{ - paddingBottom: string; - paddingLeft: string; - paddingRight: string; - paddingTop: string; - }>; -}>; + paddingBottom: string + paddingLeft: string + paddingRight: string + paddingTop: string + }> +}> export type ContentDefaultsSpacer = Partial<{ - height: string; + height: string blockOptions: Partial<{ - hideContentOnMobile: boolean; - }>; -}>; + hideContentOnMobile: boolean + }> +}> export type ContentDefaultsParagraph = Partial<{ styles: Partial<{ - color: string; - fontSize: string; - fontFamily: string; - fontWeight: string; - lineHeight: string; - textAlign: string; - direction: string; - letterSpacing: string; - linkColor: string; - paragraphSpacing: string; - }>; + color: string + fontSize: string + fontFamily: string + fontWeight: string + lineHeight: string + textAlign: string + direction: string + letterSpacing: string + linkColor: string + paragraphSpacing: string + }> blockOptions: Partial<{ - paddingTop: string; - paddingRight: string; - paddingBottom: string; - paddingLeft: string; - }>; -}>; + paddingTop: string + paddingRight: string + paddingBottom: string + paddingLeft: string + }> +}> export type ContentDefaultsList = Partial<{ styles: Partial<{ - color: string; - fontSize: string; - fontFamily: string; - fontWeight: string; - lineHeight: string; - textAlign: string; - direction: string; - letterSpacing: string; - linkColor: string; - liSpacing: string; - liIndent: string; - listType: string; - listStyleType: string; - startList: string; - listStylePosition: string; - }>; + color: string + fontSize: string + fontFamily: string + fontWeight: string + lineHeight: string + textAlign: string + direction: string + letterSpacing: string + linkColor: string + liSpacing: string + liIndent: string + listType: string + listStyleType: string + startList: string + listStylePosition: string + }> blockOptions: Partial<{ - paddingTop: string; - paddingRight: string; - paddingBottom: string; - paddingLeft: string; - }>; -}>; + paddingTop: string + paddingRight: string + paddingBottom: string + paddingLeft: string + }> +}> export type ContentDefaultsGeneral = Partial<{ - backgroundColor: string; - contentAreaBackgroundColor: string; - defaultFont: string; - linkColor: string; - contentAreaWidth: string; -}>; + backgroundColor: string + contentAreaBackgroundColor: string + defaultFont: string + linkColor: string + contentAreaWidth: string +}> export type ContentDefaults = Partial<{ - title: ContentDefaultsTitle; - text: ContentDefaultsText; - image: ContentDefaultsImage; - button: ContentDefaultsButton; - divider: ContentDefaultsDivider; - social: ContentDefaultsSocial; - dynamic: ContentDefaultsDynamic; - video: ContentDefaultsVideo; - form: ContentDefaultsForm; - paragraph: ContentDefaultsParagraph; - spacer: ContentDefaultsSpacer; - menu: ContentDefaultsMenu; - icons: ContentDefaultsIcons; - list: ContentDefaultsList; - general: ContentDefaultsGeneral; -}>; + title: ContentDefaultsTitle + text: ContentDefaultsText + image: ContentDefaultsImage + button: ContentDefaultsButton + divider: ContentDefaultsDivider + social: ContentDefaultsSocial + dynamic: ContentDefaultsDynamic + video: ContentDefaultsVideo + form: ContentDefaultsForm + paragraph: ContentDefaultsParagraph + spacer: ContentDefaultsSpacer + menu: ContentDefaultsMenu + icons: ContentDefaultsIcons + list: ContentDefaultsList + general: ContentDefaultsGeneral +}> export enum TokenStatus { - OK = "ok", - REFRESHING = "refreshing", + OK = 'ok', + REFRESHING= 'refreshing' } export interface IToken { - access_token: string; - v2: boolean; - status: TokenStatus; - shared: boolean; - coediting_session_id: string | null; + access_token: string + v2: boolean + status: TokenStatus + shared: boolean + coediting_session_id: string | null } export interface IAddOnResponseImage { - type: "image"; + type: 'image', value: { - alt: string; - href: string; - src: string; - dynamicSrc: string; - }; + alt: string, + href: string, + src: string, + dynamicSrc: string + } } export interface IAddOnResponseHTML { - type: "html"; + type: 'html', value: { - html: string; - }; + html: string + } } export interface IAddOnResponseMixed { - type: "mixed"; - value: Record[]; //todo define the specific type for this part + type: 'mixed', + value: Record[] //todo define the specific type for this part } export interface IAddOnResponseRowAddOn { - type: "rowAddon"; - value: Record; //todo define the specific type for this part + type: 'rowAddon', + value: Record //todo define the specific type for this part } export type BeeContentDialogs = { engage?: { - handler: BeePluginContentDialogHandler< - Partial, - undefined, - EngageHandle - >; - }; + handler: BeePluginContentDialogHandler, undefined, EngageHandle> + }, saveRow?: { - label?: string; - handler: BeePluginContentDialogHandler< - Record, - undefined, - IPluginRow - >; - }; + label?: string + handler: BeePluginContentDialogHandler, undefined, IPluginRow> + } editSyncedRow?: { - label?: string; - description?: string; - notPermittedDescription?: string; - handler: BeePluginContentDialogHandler; - }; + label?: string + description?: string + notPermittedDescription?: string + handler: BeePluginContentDialogHandler + } addOn?: { - label: string; - handler: BeePluginContentDialogHandler< - | IAddOnResponseImage - | IAddOnResponseHTML - | IAddOnResponseMixed - | IAddOnResponseRowAddOn - >; - }; + label: string + handler: BeePluginContentDialogHandler + } specialLinks?: { - label: string; - handler: BeePluginContentDialogHandler; - }; + label: string + handler: BeePluginContentDialogHandler + } mergeTags?: { - label: string; - handler: BeePluginContentDialogHandler; - }; + label: string + handler: BeePluginContentDialogHandler + } manageForm?: { - label?: string; - handler: BeePluginContentDialogHandler; - }; + label?: string + handler: BeePluginContentDialogHandler + }, filePicker?: { - label?: string; - handler: BeePluginContentDialogHandler; - }; + label?: string + handler: BeePluginContentDialogHandler + }, getMention?: { - label?: string; - handler: BeePluginContentDialogHandler; - }; + label?: string + handler: BeePluginContentDialogHandler + } onDeleteRow?: { - label?: string; - handler: BeePluginContentDialogHandler< - IRefreshSavedRow, - undefined, - IPluginEditDeleteRow - >; - }; + label?: string + handler: BeePluginContentDialogHandler + } onEditRow?: { - label?: string; - handler: BeePluginContentDialogHandler< - IRefreshSavedRow, - undefined, - IPluginEditDeleteRow - >; - }; + label?: string + handler: BeePluginContentDialogHandler + }, externalContentURLs?: { - label?: string; - handler: BeePluginContentDialogHandler; - }; -}; + label?: string + handler: BeePluginContentDialogHandler + } +} export type BeePluginFont = { - name: string; - fontFamily: string; - url?: string; - fontWeight: Record; -}; + name: string + fontFamily: string + url?: string + fontWeight: Record +} export type BeePluginEditorFonts = { - showDefaultFonts: boolean; - customFonts: BeePluginFont[]; -}; + showDefaultFonts: boolean + customFonts: BeePluginFont[] +} export interface FormField { type: string; @@ -1865,7 +1829,7 @@ export interface FormField { } export interface DefaultForm { - structure: FormStructure; + structure: FormStructure } export interface FormStructure { @@ -1874,7 +1838,7 @@ export interface FormStructure { }; layout: string[][]; attributes: { - "accept-charset": string; + 'accept-charset': string; action: string; autocomplete: string; enctype: string; @@ -1887,119 +1851,106 @@ export interface FormStructure { } export interface AddOnPartner { - id: string; - enabled: boolean; - label?: string; - ctaLabel?: string; - placeholder?: string; +id: string + enabled: boolean + label?: string + ctaLabel?: string + placeholder?: string } export interface AddOnOpenAI { - id: "ai-integration"; + id: 'ai-integration' settings: { - isPromptDisabled: boolean; - tokensAvailable?: number; - tokensUsed?: number; - tokenLabel?: string; - isSuggestionsDisabled?: boolean; - }; + isPromptDisabled: boolean + tokensAvailable?: number + tokensUsed?: number + tokenLabel?: string + isSuggestionsDisabled?: boolean + } } -export type AddOn = AddOnPartner | AddOnOpenAI; +export type AddOn = AddOnPartner | AddOnOpenAI export interface Translations { [key: string]: string | Translations; } + export interface TextEditor { - onChangeDelay: number; + onChangeDelay: number } export interface IBeeConfig { - container: string; - uid?: string; - trackChanges?: boolean; - preventClose?: boolean; - enable_display_conditions?: boolean; - language?: string; - templateLanguage?: TemplateLanguage; - templateLanguages?: TemplateLanguage[]; - mergeTags?: IMergeTag[]; - mergeContents?: IMergeContent[]; - specialLinks?: ISpecialLink[]; - username?: string; - userColor?: string; - userHandle?: string; - commenting?: boolean; - customAssetsOptions?: Record; - advancedPermissions?: BeePluginAdvancedPermission; - defaultForm?: DefaultForm; - loadingSpinnerTheme?: string; + container: string + uid?: string + trackChanges?: boolean + preventClose?: boolean + enable_display_conditions?: boolean + language?: string + templateLanguage?: TemplateLanguage + templateLanguages?: TemplateLanguage[] + mergeTags?: IMergeTag[] + mergeContents?: IMergeContent[] + specialLinks?: ISpecialLink[] + username?: string + userColor?: string + userHandle?: string + commenting?: boolean + customAssetsOptions?: Record + advancedPermissions?: BeePluginAdvancedPermission + defaultForm?: DefaultForm + loadingSpinnerTheme?: string loadingSpinnerDisableOnDialog?: boolean; - loadingSpinnerDisableOnSave?: boolean; - editorFonts?: BeePluginEditorFonts; - roleHash?: string; - role?: BeePluginRoles; - defaultColors?: string[]; - contentDefaults?: ContentDefaults; - defaultModulesOrder?: ValueOf[] | string[]; - modulesGroups?: IModulesGroups[]; - customCss?: string; - workspace?: BeePluginWorkspace; - autosave?: number; - customHeaders?: BeePluginCustomHeader[]; - saveRows?: boolean; - autoScrollTo?: string; - contentDialog?: BeeContentDialogs; - rowsConfiguration?: RowsConfiguration; - hooks?: BeePluginConfigurationsHooks; - defaultTab?: "content" | "rows" | "settings"; - titleDefaultStyles?: TitleDefaultStyles; - disableColorHistory?: boolean; - disableBaseColors?: boolean; - addOns?: AddOn[]; - translations?: Translations; - textEditor?: TextEditor; - onTemplateLanguageChange?: (lang: { - label: string; - value: string; - isMain: boolean; - }) => void; - onLoad?: (json: IEntityContentJson) => void; - onPreview?: (opened: boolean) => void; - onTogglePreview?: (toggled: boolean) => void; - onSessionStarted?: (sessionInfo: IPluginSessionInfo) => void; - onSessionChange?: (sessionInfo: IPluginSessionInfo) => void; - onReady?: (args: Record) => void; - onSave?: ( - pageJson: string, - pageHtml: string, - ampHtml: string | null, - templateVersion: number, - language: string | null - ) => void; - onSaveRow?: (rowJson: string, rowHtml: string, pageJson: string) => void; - onError?: (error: BeePluginError) => void; - onAutoSave?: (pageJson: string) => void; - onSaveAsTemplate?: (pageJson: string, templateVersion: number) => void; - onStart?: () => void; - onSend?: (pageHtml: string) => void; - onChange?: ( - json: string, - detail: BeePluginMessageEditDetail, - version: number - ) => void; - onWarning?: (error: BeePluginError) => void; - onComment?: (commentPayload: BeePluginOnCommentPayload, json: string) => void; - onInfo?: (info: BeePluginInfo) => void; - onLoadWorkspace?: (worspaceType: LoadWorkspaceOptions) => void; + loadingSpinnerDisableOnSave?: boolean + editorFonts?: BeePluginEditorFonts + roleHash?: string + role?: BeePluginRoles, + defaultColors?: string[] + contentDefaults?: ContentDefaults + defaultModulesOrder?: ValueOf[] | string[] + modulesGroups?: IModulesGroups[] + customCss?: string + workspace?: BeePluginWorkspace + autosave?: number, + customHeaders?: BeePluginCustomHeader[] + saveRows?: boolean, + autoScrollTo?: string, + contentDialog?: BeeContentDialogs, + rowsConfiguration?: RowsConfiguration + hooks?: BeePluginConfigurationsHooks + defaultTab?: 'content' | 'rows' | 'settings' + titleDefaultStyles?: TitleDefaultStyles + disableColorHistory?: boolean + disableBaseColors?: boolean + addOns?: AddOn[] + translations?: Translations + textEditor?: TextEditor + onTemplateLanguageChange?: (lang: { label: string, value: string, isMain: boolean }) => void + onLoad?: (json: IEntityContentJson) => void + onPreview?: (opened: boolean) => void + onTogglePreview?: (toggled: boolean) => void + onSessionStarted?: (sessionInfo: IPluginSessionInfo) => void + onSessionChange?: (sessionInfo: IPluginSessionInfo) => void + onReady?: (args: Record) => void + onSave?: (pageJson: string, pageHtml: string, ampHtml: string | null, templateVersion: number, language: string | null) => void + onSaveRow?: (rowJson: string, rowHtml: string, pageJson: string) => void + onError?: (error: BeePluginError) => void + onAutoSave?: (pageJson: string) => void + onSaveAsTemplate?: (pageJson: string, templateVersion: number) => void + onStart?: () => void + onSend?: (pageHtml: string) => void + onChange?: (json: string, detail: BeePluginMessageEditDetail, version: number) => void + onWarning?: (error: BeePluginError) => void + onComment?: (commentPayload: BeePluginOnCommentPayload, json: string) => void + onInfo?: (info: BeePluginInfo) => void + onLoadWorkspace?: (worspaceType: LoadWorkspaceOptions) => void } export interface IBeeConfigFileManager { - container: string; - uid?: string; - customCss?: string; - onFilePickerInsert?: (data: unknown) => void; - onFilePickerCancel?: () => void; + container: string + uid?: string + customCss?: string + onFilePickerInsert?: (data: unknown) => void + onFilePickerCancel?: () => void } -export type { KebabCSSProperties }; +export type { KebabCSSProperties }