@claspo/editor

Claspo Editor SDK and types for widget integration

@claspo/editor


@claspo/editor

LayoutType

Enumeration Members

Enumeration MemberValue
BUILT_IN"BUILT_IN"
DETACHED"DETACHED"
FLOATING_BOX"FLOATING_BOX"
FLOATING_BAR"FLOATING_BAR"
LAUNCHER"LAUNCHER"
CONTENT_LOCKER"CONTENT_LOCKER"

WidgetType

Enumeration Members

Enumeration MemberValue
SUBSCRIPTION_FORM"SUBSCRIPTION_FORM"
INFORMER"INFORMER"
REQUEST_FORM"REQUEST_FORM"
LAUNCHER"LAUNCHER"
AGE_VERIFY"AGE_VERIFY"
TEASER"TEASER"

AsyncPatternType

Async pattern type for API calls.

Enumeration Members

Enumeration MemberValueDescription
PROMISE"PROMISE"Use Promise-based API calls
OBSERVABLE"OBSERVABLE"Use Observable-based API calls (RxJS)

ContactMappingOptionType

Enumeration Members

Enumeration MemberValue
TEXT"text"
SELECT"select"
CHECKBOX"checkbox"
TEXT_AREA"textarea"
NUMBER"number"
DATE"date"
DATE_TIME"datetime"
BOOL"bool"
DECIMAL"decimal"
UNKNOWN"unknown"

ClPreviewEnvironment

Enumeration Members

Enumeration MemberValue
DESKTOP"DESKTOP"
MOBILE"MOBILE"

WidgetProjectConfigId

Enumeration Members

Enumeration MemberValue
ANNOYANCE_SAFEGUARD"ANNOYANCE_SAFEGUARD"
COUNTRY_CODES_PRIORITY"COUNTRY_CODES_PRIORITY"
CABINET_AB_TESTS"CABINET_AB_TESTS"

WidgetPublishStatus

Enumeration Members

Enumeration MemberValue
FOR_ALL"FOR_ALL"
PAUSED"PAUSED"
DEBUG"DEBUG"

TypeOfFilesFromCommonDir

Enumeration Members

Enumeration MemberValue
FORMS"FORMS"
CLOSE_ICON"CLOSE_ICON"
PROMOCODE_ICON"PROMOCODE_ICON"
GIFT_BOX_ICON"GIFT_BOX_ICON"
SCRATCH_CARD_ICON"SCRATCH_CARD_ICON"
FEEDBACK_ICON"FEEDBACK_ICON"

PrizePoolModelI

Properties

PropertyType
idstring
sourceTypePrizeSourceType
distributionType?PrizeDistributionType
options?PrizePoolOptionI[]

PrizePoolOptionI

Properties

PropertyType
valueTypePrizeOptionValueType
valuestring
codestring
weightnumber
id?string
config?PrizeOptionConfigI

EditorI

Global ClaspoEditor interface exposed on window object.
Use window.ClaspoEditor to access the editor API.

Example

// Initialize editor
window.ClaspoEditor.init(config, () => {
  console.log('Editor loaded');
}, () => {
  console.error('Editor failed to load');
});

// Save changes
window.ClaspoEditor.save({ publishChanges: true });

// Destroy editor
window.ClaspoEditor.destroy();

Properties

PropertyTypeDescription
init(config, onLoaded?, onError?) => voidInitialize the Claspo Editor.
destroy() => voidDestroy the editor instance and cleanup resources. Must be called before re-initializing the editor.
save(params?) => voidSave current editor state.
cancel() => voidCancel editing and discard unsaved changes.
getComponentManifests() => any[]Get all available component manifests.
getDocumentErrors() => any[]Get current document validation errors.

EditorConfigI

Main configuration object for initializing the Claspo Editor.

See

https://github.com/Claspo/claspo-plugin-starter-poc/blob/main/quickstart/public/editor.html

Properties

PropertyTypeDescription
containerElementHTMLElementHTML element or CSS selector where the editor is embedded. Editors takes full width and full height of the element. It’s important to set a size of the element before editor initialization. Editor calculates actual element size and based on that it will calculate the size of it’s blocks. Remarks Required
countryCodestringDefault country code for phone input components. See Code at https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements Default: "US"
themeEditorThemeITheme configuration for the editor UI.
notificationHandlersEditorConfigNotificationHandlersICustom notification handlers for editor messages Default console.log will be used
closeEditorCallback(payload) => voidCallback fired when Close button is clicked. Use this to handle editor closure and cleanup.
staticResourcesUrlstringBase URL for static resources (images, fonts, etc.). Must include trailing slash. Example "https://cdn.claspo.io/static/"
hostUrlstringBase URL for the host application. Example "https://app.claspo.io/"
availableComponentsPanelAvailableComponentsPanelConfigIConfiguration for the left panel component selector
getRevisionPayloadCallback(payload) => CreateWidgetRevisionRequestICallback to transform revision payload before saving
apiEditorApiConfigIHTTP API configuration for all editor operations
userInfoUserInfoICurrent user identity and language preferences
projectConfigs?WidgetProjectConfigI[]Project-level configurations
languagesForMultilingualVersions?WidgetLanguageI[]Available languages for multilingual versions of the same widget Default A set of popular languages will be used
initialLoadErrorCallback?(payload) => voidCallback fired on initial data loading errors. If not provided, default error UI will be shown.
logo?EditorLogoILogo configuration displayed in top-left corner. Example { imageUrl: 'https://example.com/logo.png', link: 'https://example.com' }
useContactFields?booleanEnable contact fields mapping functionality.
localePatch?anyOverride translations by language. Example 'WIDGET_TYPE_FLOATING_BOX': { 'en': 'Floating Box', 'ru': 'Плавающее окно', 'uk': 'Плаваюче вікно', }
defaultLanguage?stringThe defaultLanguage property serves as a fallback for localePatch when a translation for the user's language is missing. It does not control the editor UI language. See - https://docs.claspo.io/docs/localization - https://www.w3schools.com/tags/ref_language_codes.asp
showPropertyPaneSettingsInTabs?booleanShow property pane settings in tabs layout or on single columns (tabs are hidden)
defaultAsyncPattern?AsyncPatternTypeDefault async pattern for API calls. "PROMISE" by default
authToken?stringAuthentication token for editor API access
teaserFeatureConfig?TeaserFeatureConfigITeaser feature configuration
googleFontsApiKey?stringGoogle Fonts API key for font loading
previewOpenedCallback?() => voidCallback fired when preview opens via header button
previewClosedCallback?() => voidCallback fired when preview closes from header button
disableImageEditor?booleanDisable built-in image editor
disableLanguageSelect?booleanDisable language selection dropdown at the navbar
disableAbilityToRemoveUploadedFiles?booleanPrevent users from removing uploaded files

AvailableComponentsPanelConfigI

Configuration for the left panel component selector.
Defines which components are available for users to add to widgets.

Properties

PropertyTypeDescription
groupsAvailableComponentsGroupI[]Groups of available components
showRequestComponentButton?booleanShow "Request component" button at the bottom

AvailableComponentsGroupI

Group of components in the available components panel.

Properties

PropertyTypeDescription
labelstringDisplay label for the group
componentsAvailableComponentI[]Components in this group

AvailableComponentI

Configuration for a single available component.

Properties

PropertyTypeDescription
componentNamestringComponent class name (e.g., "SysButtonComponent")
customIcon?stringCustom SVG icon URL
customLabel?stringCustom display label
fullWidthIcon?booleanDisplay icon at full width
modelOverrides?anyOverride default component model properties
dependentComponentNames?string[]Components that will be added together with this one

EditorLinksConfigI

Configuration for external links shown in the editor.

Properties

PropertyTypeDescription
linkParameters?stringLink parameters template
readMoreAboutClickTrackingLink?string"Read more" link for click tracking documentation
readMoreAboutOpenUrlLink?string"Read more" link for Open URL action documentation
readMoreAboutCustomDataIosLink?string"Read more" link for iOS custom data documentation
readMoreAboutCustomDataAndroidLink?string"Read more" link for Android custom data documentation
externalLinks?anyAdditional external links
eventsTypes?anyEvent types configuration
domain?stringDefault domain for links

EditorConfigNotificationHandlersI

Custom notification handlers for editor messages.
Implement these methods to integrate with your notification system.

Example

const notificationHandlers: EditorConfigNotificationHandlersI = {
  success: (msg) => toast.success(msg),
  error: (msg) => toast.error(msg),
  warning: (msg) => toast.warning(msg),
  info: (msg) => toast.info(msg),
  hide: () => toast.dismiss()
};

Properties

PropertyTypeDescription
success(message) => voidShow success notification
info(message) => voidShow info notification
warning(message) => voidShow warning notification
error(message) => voidShow error notification
hide() => voidHide all notifications

ActionOptionsI

Configuration for click action behavior in the editor.

Properties

PropertyTypeDescription
availableClickActions?ClDocumentActionType[]List of available click actions for components
isDisplayingOpenLinkNewTabSwitch?booleanShow "Open link in new tab" switch.
isDisplayingCustomData?booleanShow custom data input fields
isAllowDeepLink?booleanAllow deep link configuration

ColumnsOptionsI

Configuration for columns component behavior.

Properties

PropertyTypeDescription
allowHideColumnOnMobile?booleanAllow hiding individual columns on mobile view

TeaserFeatureConfigI

Configuration for teaser (minimized widget) feature.

Properties

PropertyTypeDescription
enabledbooleanEnable teaser functionality
defaultDocumentModelClDocumentIDefault document model for new teasers
enabledForLayouts?LayoutType[]Layouts where teaser is available
availableComponentsPanel?AvailableComponentsPanelConfigIComponent panel configuration for teaser editor

CloseEditorCallbackPayloadI

Payload passed to EditorConfigI.closeEditorCallback.

Properties

PropertyTypeDescription
variantWidgetVariantICurrent widget variant data

GetRevisionPayloadCallbackPayloadI

Payload passed to EditorConfigI.getRevisionPayloadCallback.

Properties

PropertyTypeDescription
variantWidgetVariantICurrent widget variant
appearancesWidgetAppearanceI[]All widget appearances (desktop, mobile, etc.)
publishStatusWidgetPublishStatusCurrent publish status

InitialLoadErrorCallbackPayloadI

Payload passed to EditorConfigI.initialLoadErrorCallback.

Properties

PropertyTypeDescription
statusnumberHTTP status code of the failed request

EditorThemeI

Simplified theme configuration for the Claspo Editor.
This interface provides a streamlined API for external developers
with only the essential customization options.

Example

const theme: EditorThemeI = {
  primaryColor: '#F3492C',
  primaryFontFace: 'Montserrat, sans-serif',
  secondaryColor: '#ffffff',
  successColor: '#27C173',
  errorColor: '#E72324'
};

Properties

PropertyTypeDescription
primaryColorstringPrimary brand color used throughout the editor
primaryFontFacestringMain font family for the editor UI
secondaryColor?stringSecondary/background color
successColor?stringSuccess state color
warningColor?stringWarning state color
infoColor?stringInfo state color
errorColor?stringError state color
disabledFontColor?stringDisabled elements font color
primaryFontColor?stringPrimary text color
secondaryFontColor?stringSecondary text color
buttonFontWeight?stringButton font weight
primaryButtonFontColor?stringPrimary button text color
secondaryButtonFontColor?stringSecondary button text color
secondaryButtonBorderColor?stringSecondary button border color
secondaryButtonBorderWidth?stringSecondary button border width
buttonLoadingBackground?stringButton loading state background
buttonHeight?stringButton height
buttonPadding?stringButton padding
buttonPaddingWithIcon?stringButton padding when icon is present
inputLoadingBackground?stringInput loading state background
textInputDefaultBorderColor?stringText input default border color
textInputDefaultBorderWidth?stringText input default border width
textInputDefaultBackgroundColor?stringText input default background color
textInputPadding?stringText input padding
checkboxDefaultBorderColor?stringCheckbox default border color
checkboxDefaultBorderWidth?stringCheckbox default border width
checkboxDefaultBackgroundColor?stringCheckbox default background color
checkboxSelectedIconColor?stringCheckbox selected icon color
checkboxSize?stringCheckbox size
radioButtonDefaultBackgroundColor?stringRadio button default background color
switchDefaultBackgroundColor?stringSwitch default background color
switchIconColor?stringSwitch icon color
selectDefaultBorderColor?stringSelect default border color
selectDefaultBorderWidth?stringSelect default border width
selectDefaultBackgroundColor?stringSelect default background color
selectPadding?stringSelect padding
largeBorderRadius?stringLarge border radius for rounded elements
smallBorderRadius?stringSmall border radius for subtle rounding
contextMenuSelectedBackgroundColor?stringContext menu selected item background color
snackBarPositionTop?stringSnackbar position from top
snackBarPadding?stringSnackbar padding
darkerPrimaryColorKey?stringDarker shade of primary color (CSS value)
lighterPrimaryColor?stringLighter shade of primary color
veryLightPrimaryColor?stringVery light shade of primary color (for backgrounds)
iconPickerColor?stringIcon picker accent color
notification?{ padding?: string; borderRadius?: string; boxShadow?: string; textColor?: string; warningBackgroundColor?: string; fontSize?: string; }Notification theme settings
notification.padding?string-
notification.borderRadius?string-
notification.boxShadow?string-
notification.textColor?string-
notification.warningBackgroundColor?string-
notification.fontSize?string-
dialog?{ titleFontSize?: string; titleFontWeight?: string; }Dialog theme settings
dialog.titleFontSize?string-
dialog.titleFontWeight?string-
checkbox?{ valueFontSize?: string; valueFontColor?: string; }Checkbox component theme settings
checkbox.valueFontSize?string-
checkbox.valueFontColor?string-
select?{ filterBorderRadius?: string; filterPadding?: string; filterIconPadding?: string; }Select filter theme settings
select.filterBorderRadius?string-
select.filterPadding?string-
select.filterIconPadding?string-
input?{ labelMargin?: string; textInputTextareaPadding?: string; searchInputBackgroundIconColor?: string; searchInputBorderRadius?: string; searchInputIconColorActive?: string; }Input field theme settings
input.labelMargin?string-
input.textInputTextareaPadding?string-
input.searchInputBackgroundIconColor?string-
input.searchInputBorderRadius?string-
input.searchInputIconColorActive?string-
dropdown?{ borderRadius?: string; padding?: string; leftRightIndent?: string; }Dropdown menu theme settings
dropdown.borderRadius?string-
dropdown.padding?string-
dropdown.leftRightIndent?string-
editorOption?{ customPrizeImageSize?: string; borderDefaultColor?: string; borderClearButtonColor?: string; borderRadiusToggleButtons?: string; descriptionFontSize?: string; backgroundToggleButtonSelected?: string; backgroundToggleTextButtonSelected?: string; backgroundToggleButtonHover?: string; defaultBorder?: string; }Editor option controls theme settings
editorOption.customPrizeImageSize?string-
editorOption.borderDefaultColor?string-
editorOption.borderClearButtonColor?string-
editorOption.borderRadiusToggleButtons?string-
editorOption.descriptionFontSize?string-
editorOption.backgroundToggleButtonSelected?string-
editorOption.backgroundToggleTextButtonSelected?string-
editorOption.backgroundToggleButtonHover?string-
editorOption.defaultBorder?string-
editorPrizeOption?{ gridTemplateColumns?: string; decrementIncrementGap?: string; chancePseudoBorderRight?: string; customEsInputFormWidth?: string; confirmButtonBottomPadding?: string; }Prize option editor theme settings
editorPrizeOption.gridTemplateColumns?string-
editorPrizeOption.decrementIncrementGap?string-
editorPrizeOption.chancePseudoBorderRight?string-
editorPrizeOption.customEsInputFormWidth?string-
editorPrizeOption.confirmButtonBottomPadding?string-
dropzone?{ codeFont?: string; }Dropzone/code editor theme settings
dropzone.codeFont?string-
slidebar?{ padding?: string; margin?: string; titleFontSize?: string; titleFontWeight?: string; }Slidebar/sidebar theme settings
slidebar.padding?string-
slidebar.margin?string-
slidebar.titleFontSize?string-
slidebar.titleFontWeight?string-
editorPanel?{ smallBorderRadius?: string; rewardsInputWidth?: string; errorNotificationBackgroundColor?: string; errorNotificationLeftPadding?: string; tabsBackgroundColor?: string; tabBackgroundColor?: string; tabsDeviceBackgroundColor?: string; tabHoverBackgroundColor?: string; tabHoverColor?: string; tabBorderRadius?: string; borderLeftWidthSelected?: string; borderTopWidthSelected?: string; borderRightWidthSelected?: string; borderBottomWidthSelected?: string; borderBottomWidth?: string; tabPadding?: string; tabHeaderPadding?: string; tabButtonPadding?: string; tabHeight?: string; tabGap?: string; }Editor panel (tabs, property pane) theme settings
editorPanel.smallBorderRadius?string-
editorPanel.rewardsInputWidth?string-
editorPanel.errorNotificationBackgroundColor?string-
editorPanel.errorNotificationLeftPadding?string-
editorPanel.tabsBackgroundColor?string-
editorPanel.tabBackgroundColor?string-
editorPanel.tabsDeviceBackgroundColor?string-
editorPanel.tabHoverBackgroundColor?string-
editorPanel.tabHoverColor?string-
editorPanel.tabBorderRadius?string-
editorPanel.borderLeftWidthSelected?string-
editorPanel.borderTopWidthSelected?string-
editorPanel.borderRightWidthSelected?string-
editorPanel.borderBottomWidthSelected?string-
editorPanel.borderBottomWidth?string-
editorPanel.tabPadding?string-
editorPanel.tabHeaderPadding?string-
editorPanel.tabButtonPadding?string-
editorPanel.tabHeight?string-
editorPanel.tabGap?string-
editorInputs?{ selectDefaultAlignItems?: string; selectDefaultJustifyContent?: string; selectInputDefaultMinHeight?: string; selectInputDefaultLineHeight?: string; inputDefaultMinWidth?: string; inputSmallMinWidth?: string; selectBodyWidth?: string; searchInputBoxShadow?: string; searchInputBackgroundIconColor?: string; searchInputBorderRadius?: string; searchInputBackgroundActiveColor?: string; searchInputBorderActiveColorHover?: string; searchInputBackgroundActiveMargin?: string; selectTextParamsWidth?: string; }Editor inputs theme settings
editorInputs.selectDefaultAlignItems?string-
editorInputs.selectDefaultJustifyContent?string-
editorInputs.selectInputDefaultMinHeight?string-
editorInputs.selectInputDefaultLineHeight?string-
editorInputs.inputDefaultMinWidth?string-
editorInputs.inputSmallMinWidth?string-
editorInputs.selectBodyWidth?string-
editorInputs.searchInputBoxShadow?string-
editorInputs.searchInputBackgroundIconColor?string-
editorInputs.searchInputBorderRadius?string-
editorInputs.searchInputBackgroundActiveColor?string-
editorInputs.searchInputBorderActiveColorHover?string-
editorInputs.searchInputBackgroundActiveMargin?string-
editorInputs.selectTextParamsWidth?string-

ResolvedDataI

Data returned by EditorApiConfigI.getWidgetData.
Contains all information needed to initialize the editor.

Properties

PropertyTypeDescription
widgetDataResolvedWidgetDataIMain widget data
teaserDataResolvedWidgetDataITeaser (minimized widget) data, if enabled
linkedWidgetsWidgetsListItemI[]List of widgets that can be linked
prizePools?PrizePoolModelI[]Prize pools for gamification widgets

ResolvedWidgetDataI

Widget-specific data within ResolvedDataI.

Properties

PropertyTypeDescription
variantWidgetVariantDtoIWidget variant (form) data
appearancesWidgetAppearanceI[]All appearances (desktop, mobile, etc.)
latestRevisionWidgetRevisionILatest saved revision
currentRevisionWidgetRevisionICurrently loaded revision
publishStatusWidgetPublishStatusCurrent publish status

DataToSaveI

Data passed to EditorApiConfigI.saveWidgetData.
Contains both original and modified data for comparison.

Properties

PropertyTypeDescription
widgetDataWidgetDataToSaveIMain widget data to save
teaserDataWidgetDataToSaveITeaser data to save, if enabled
pristineConfigsWidgetProjectConfigI[]Original project configs (for comparison)
updatedConfigsWidgetProjectConfigI[]Modified project configs
publishChangesbooleanWhether to publish changes immediately

WidgetDataToSaveI

Widget-specific data within DataToSaveI.

Properties

PropertyTypeDescription
pristineAppearancesWidgetAppearanceI[]Original appearances (for comparison)
updatedAppearancesWidgetAppearanceI[]Modified appearances
pristineVariantWidgetVariantIOriginal variant (for comparison)
updatedVariantWidgetVariantIModified variant
publishStatusWidgetPublishStatusCurrent publish status

EditorApiConfigI

HTTP API configuration for all editor operations.
All methods can return either Promise or Observable based on EditorConfigI.defaultAsyncPattern.

Example

const api: EditorApiConfigI = {
  getWidgetData: () => fetch('/api/widget').then(r => r.json()),
  saveWidgetData: (data) => fetch('/api/widget', {
    method: 'POST',
    body: JSON.stringify(data)
  }),
  // ... other methods
};

Methods

createWidgetPrizePool()

createWidgetPrizePool(body): 
  | Observable<{
  id: string;
}>
  | Promise<{
  id: string;
}>;

Create a new prize pool for gamification

Parameters
ParameterType
bodyPrizePoolModelI
Returns

| Observable<{
id: string;
}>
| Promise<{
id: string;
}>

updateWidgetPrizeOptions()

updateWidgetPrizeOptions(payload): Promise<void> | Observable<void>;

Update prize options in a prize pool

Parameters
Returns

Promise<void> | Observable<void>

Properties

PropertyTypeDescription
getWidgetData() => | Observable<ResolvedDataI> | Promise<ResolvedDataI>Fetch initial widget data for editor initialization
saveWidgetData(data) => Promise<void> | Observable<void>Save widget data (appearances, variant, configs)
getWidgetAppearances(payload) => | Observable<WidgetAppearanceI[]> | Promise<WidgetAppearanceI[]>Fetch appearances for a specific widget
createWidgetRevision(payload) => | Observable<CreateWidgetRevisionResponseI> | Promise<CreateWidgetRevisionResponseI>Create a new widget revision (save point)
getWidgetsList(params) => | Observable<BaseListDtoI<WidgetsListItemI>> | Promise<BaseListDtoI<WidgetsListItemI>>Fetch list of widgets for linking
getFilesFromCommonDir(payload) => | Observable<{ url: string; }[]> | Promise<{ url: string; }[]>Get files from common directory (icons, backgrounds, etc.)
removeFile(payload) => Promise<void> | Observable<void>Remove an uploaded file
getImageLibrary(params) => | Observable<ImageLibraryResponseDtoI> | Promise<ImageLibraryResponseDtoI>Fetch images from the image library
getUserImages(params) => | Observable<UserImagesResponseDtoI> | Promise<UserImagesResponseDtoI>Fetch user-uploaded images
uploadImage(payload) => | Observable<{ url: string; }> | Promise<{ url: string; }>Upload an image file
uploadImageByUrl(payload) => | Observable<{ url: string; }> | Promise<{ url: string; }>Upload an image from URL
copyImageByUrl(payload) => | Observable<{ url: string; }> | Promise<{ url: string; }>Copy an image by URL to widget storage
translate(params) => | Observable<{ response: TranslateRequestJsonI; }> | Promise<{ response: TranslateRequestJsonI; }>Translate text content
getContactMappingOptions() => | Observable<ClContactMappingOptionI[]> | Promise<ClContactMappingOptionI[]>Fetch available contact mapping options
getContactFieldGroups?() => | Observable<EsAdditionalFieldsListI[]> | Promise<EsAdditionalFieldsListI[]>Fetch contact field groups
createWidget?(payload) => | Observable<CreateWidgetResponseI> | Promise<CreateWidgetResponseI>Create a new widget

GetWidgetAppearancesPayloadI

Payload for EditorApiConfigI.getWidgetAppearances.

Properties

PropertyTypeDescription
widgetIdnumberWidget ID
variantIdnumberVariant ID

CreateWidgetRevisionPayloadI

Payload for EditorApiConfigI.createWidgetRevision.

Extends

Properties

PropertyTypeDescriptionInherited from
widgetIdnumberWidget ID-
revisionIdstringRevision ID-
changesSavedboolean-CreateWidgetRevisionRequestI.changesSaved
payloadWidgetRevisionPayloadI-CreateWidgetRevisionRequestI.payload

GetFilesFromCommonDirPayloadI

Payload for EditorApiConfigI.getFilesFromCommonDir.

Properties

PropertyTypeDescription
type?TypeOfFilesFromCommonDirType of files to retrieve (icons, backgrounds, etc.)

RemoveFilePayloadI

Payload for EditorApiConfigI.removeFile.

Properties

PropertyTypeDescription
fileUrlstringURL of the file to remove
widgetIdnumberWidget ID that owns the file

UploadImagePayloadI

Payload for EditorApiConfigI.uploadImage.

Properties

PropertyTypeDescription
fileFormDataFormData containing the image file
widgetIdnumberWidget ID to associate the image with
type?stringOptional image type category

UploadImageByUrlPayloadI

Payload for EditorApiConfigI.uploadImageByUrl.

Properties

PropertyTypeDescription
imageUrlstringURL of the image to upload
widgetIdnumberWidget ID to associate the image with

CopyImageByUrlPayloadI

Payload for EditorApiConfigI.copyImageByUrl.

Properties

PropertyTypeDescription
imageUrlstringURL of the image to copy
widgetIdnumberWidget ID to associate the copied image with
type?TypeOfFilesFromCommonDirType category for the copied image

UpdateWidgetPrizeOptionsPayloadI

Payload for EditorApiConfigI.updateWidgetPrizeOptions.

Properties

PropertyTypeDescription
poolIdstringPrize pool ID
optionsPrizePoolOptionI[]Updated prize options

SetAutoTranslatePayloadI

Payload for EditorApiConfigI.setAutoTranslate.

Properties

PropertyTypeDescription
enabledbooleanEnable or disable auto-translation

GetTemplatePayloadI

Payload for EditorApiConfigI.getTemplate.

Properties

PropertyTypeDescription
templateIdnumberTemplate ID to fetch

CreateWidgetResponseI

Response from EditorApiConfigI.createWidget.

Properties

PropertyTypeDescription
variantWidgetVariantICreated widget variant
appearancesWidgetAppearanceI[]Created widget appearances

EditorLogoI

Logo configuration for the editor header.

Example

const logo: EditorLogoI = {
  imageUrl: 'https://example.com/logo.png',
  link: 'https://example.com'
};

Properties

PropertyTypeDescription
imageUrlstringURL of the logo image
link?stringOptional link URL when logo is clicked

ClContactMappingOptionI

Contact mapping option for form field mapping.
Used to map form inputs to contact fields in CDP.

Properties

PropertyTypeDescription
namestringUnique identifier for the mapping option
labelstringDisplay label for the option
groupstringGroup name for categorization
isDedupebooleanWhether this field is used for deduplication
isCustombooleanWhether this is a custom field
type?ContactMappingOptionTypeType of contact mapping
values?string[]Predefined values for select-type fields
options?ContactMappingOptionLimitsIAdditional options and limits
isNew?booleanFlag indicating this is a newly created field
additionalFieldType?EsAdditionalFieldTypeType of additional field (for custom fields)

BaseListDtoI

Type Parameters

Type Parameter
T

Properties

PropertyType
totalCountnumber
itemsT[]

UserInfoI

Properties

PropertyType
userIdnumber
userNamestring
languagestring

ContactMappingOptionLimitsI

Properties

PropertyType
MAX_VALUE?number
MIN_VALUE?number
ANNUAL?boolean

ClDocumentI

Extends

  • ClDocumentI

Properties

PropertyTypeOverridesInherited from
viewsClBaseComponentI[]-CommonDocumentI.views
sharedClDocumentSharedICommonDocumentI.shared-

WidgetProjectConfigI

Properties

PropertyType
idWidgetProjectConfigId
valuestring

WidgetsListItemI

Properties

PropertyType
idnumber
namestring
publishStatusWidgetPublishStatus
createdDatestring
updatedDatestring
variantIdsnumber[]
configWidgetVariantDtoI

WidgetModelI

Properties

PropertyType
idnumber
namestring
publishStatusWidgetPublishStatus
createdDatestring
updatedDatestring
variantsWidgetVariantDtoI[]
configWidgetVariantDtoI

WidgetVariantDtoI

Properties

PropertyType
formIdnumber
idnumber
configWidgetVariantConfigDtoI
appearancesWidgetAppearanceBriefI[]
linkedToVariantIdnumber
typeWidgetType
revision?string
publishedRevision?string

WidgetAppearanceI

Properties

PropertyTypeDescription
idstring | number-
originboolean-
languagestring-
translationsstring-
documentstringstringified JSON {id: object} where id is node's id
syncstring-
consents?object-
revision?string-
publishedRevision?string-

WidgetLanguageI

Properties

PropertyType
languageCodestring
namestring
localisationMessageLanguageLocalisationI

WidgetVariantI

Properties

PropertyType
formIdnumber
idnumber
configWidgetVariantConfigI
appearancesWidgetAppearanceBriefI[]
linkedToVariantIdnumber
typeWidgetType
revisionstring
publishedRevisionstring

EsAdditionalFieldsListI

Properties

PropertyType
idnumber
namestring
personalisationKeystring
fieldsEsAdditionalFieldI[]

BaseFormsListRequestParamsI

Properties

PropertyType
layoutTypes?LayoutType[]
order?BaseListOrderOption
search?string
offset?number
limit?number
sort?BaseListSortOption
types?WidgetType[]
projectId?number
filters?FormListRequestFilter
publishStatus?WidgetPublishStatus
publishDateFrom?string
publishDateTo?string
withDeleted?boolean
analyticsDateFrom?string
analyticsDateTo?string

CreateFormParamsI

Properties

PropertyType
namestring
variantCreateFormParamsVariantI
publishStatus?WidgetPublishStatus

TranslateRequestI

Properties

PropertyType
jsonTranslateRequestJsonI
sourceLanguagestring
targetLanguagestring

TranslateRequestJsonI

Properties

PropertyType
widgetTranslationsLanguageTranslateState
teaserTranslations?LanguageTranslateState

CreateWidgetRevisionRequestI

Extended by

Properties

PropertyType
changesSavedboolean
payloadWidgetRevisionPayloadI

CreateWidgetRevisionResponseI

Properties

PropertyType
uuidstring

WidgetRevisionI

Properties

PropertyType
uuidstring
createdDatestring
widgetIdnumber
userIdnumber
publishedboolean
changesSavedboolean
payloadWidgetRevisionPayloadI

ImageLibraryRequestParamsI

Properties

PropertyType
searchstring
useCacheboolean
pagenumber
limitnumber
typeImageLibraryType

ImageLibraryResponseDtoI

Properties

PropertyType
dataImageLibraryItemI[]
fromCacheboolean
sourcestring
totalnumber

UserImagesRequestParamsI

Properties

PropertyType
pagenumber
limitnumber
type?string

UserImagesResponseDtoI

Properties

PropertyType
itemsUserImageItemI[]
totalnumber