Namespaces
- ElementUpdates
- NewElements
- RenderCustomizationObjects
Type Definitions
AudioTrack
- Description:
- Object containing all properties of audio tracks
- Source:
Properties:
| Name |
Type |
Attributes |
Description |
element_id |
string
|
|
The unique identifer automatically assigned to the audio track upon creation |
template_element |
bool
|
|
Value indicating whether this element was part of a template or added by the user |
type |
string
|
|
Always "audio" |
track_name |
string
|
|
An optional user-assigned name |
duration |
number
|
|
The duration of the track in seconds |
delay |
number
|
|
The delay before the track starts in seconds, relative to its containing scene/page or the video/presentation as a whole if global |
trim_start |
number
|
<optional>
|
The start of the trimmed clip relative to the full duration. Only included if the audio has been trimmed |
trim_end |
number
|
<optional>
|
The end of the trimmed clip relative to the full duration. Only included if the audio has been trimmed |
asset_id |
number
|
|
The internal asset_id of the file |
asset_code |
string
|
<optional>
|
The id of the file in the originating repository |
import_progress |
number
|
<optional>
|
If the imported audio is immediately available for use in the editor, but still requires asynchronous backend import, this shows its import progress percentage - from 0 to 1 |
Object containing all properties of audio tracks
ContainerElementVectorProperties
- Description:
- Properties specific to vector elements referenced as a container on images/videos
- Source:
Properties:
| Name |
Type |
Attributes |
Description |
vector_type |
string
|
|
One of: "shape", "svg" |
shape_type |
string
|
<optional>
|
If vector_type is "shape", one of: "rectangle", "ellipse", "triangle" |
path_count |
number
|
|
The number of paths in the vector |
width |
number
|
|
The width of the vector in the unit type of the project |
height |
number
|
|
The height of the vector in the unit type of the project |
angle |
number
|
<optional>
|
The rotation degrees. Excluded if not rotated |
left |
number
|
<nullable>
|
The x coordinate of the top of the vector in the unit type of the project. Null when rotated or flipped |
top |
number
|
<nullable>
|
The y coordinate of the top of the vector in the unit type of the project. Null when rotated or flipped |
bounding_box |
Object
|
<optional>
|
Coordinates of a box fully containing the zone. Only included if rotated or flipped
Properties
| Name |
Type |
Description |
top |
number
|
The y coordinate of the top of the box in the unit type of the project |
right |
number
|
The x coordinate of the right side of the box in the unit type of the project |
bottom |
number
|
The y coordinate of the bottom of the box in the unit type of the project |
left |
number
|
The x coordinate of the left side of the box in the unit type of the project |
|
background_color |
string
|
<optional>
|
The color filling the vector if/when the vector or its contained element is semi-transparent |
asset_id |
number
|
<optional>
|
The internal asset_id of the file for imported vectors |
asset_code |
string
|
<optional>
|
The id of the file in the originating repository |
Properties specific to vector elements referenced as a container on images/videos
ContainerElementZoneProperties
- Description:
- Properties specific to zone elements referenced as a container on vectors/images/videos
- Source:
Properties:
| Name |
Type |
Attributes |
Description |
zone_type |
string
|
|
One of: "fit", "mask", "pattern" depending on if contained elements will be sized to fully fit within the zone boundary, be masked to fully fill the zone boundary, or rendered multiple times in a pattern |
enforce_boundary |
bool
|
<optional>
|
If zone_type is "fit", a value indicating whether the zone restricts movement of its contained element to its boundary |
width |
number
|
|
The width of the zone in the unit type of the project |
height |
number
|
|
The height of the zone in the unit type of the project |
angle |
number
|
<optional>
|
The rotation degrees. Excluded if not rotated |
left |
number
|
<nullable>
|
The x coordinate of the top of the zone in the unit type of the project. Null when rotated |
top |
number
|
<nullable>
|
The y coordinate of the top of the zone in the unit type of the project. Null when rotated |
bounding_box |
Object
|
<optional>
|
Coordinates of a box fully containing the zone. Only included if rotated
Properties
| Name |
Type |
Description |
top |
number
|
The y coordinate of the top of the box in the unit type of the project |
right |
number
|
The x coordinate of the right side of the box in the unit type of the project |
bottom |
number
|
The y coordinate of the bottom of the box in the unit type of the project |
left |
number
|
The x coordinate of the left side of the box in the unit type of the project |
|
pattern |
Object
|
<optional>
|
Position/Size information of the pattern when zone_type is "pattern", otherwise not included
Properties
| Name |
Type |
Description |
tile_type |
string
|
Always "grid" |
margin |
number
|
The margin between tiles in the unit type of the project |
angle |
number
|
The rotation degrees |
horizontal_offset |
number
|
The distance from the left side of the top-left-most tile to the left position of the zone, in the unit type of the project |
vertical_offset |
number
|
The distance from the top of the top-left-most tile to the top position of the zone, in the unit type of the project |
|
blend_mode |
string
|
<optional>
|
The default blend mode applied to the contained element, which can be overridden on the element directly. One of: "none", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity" |
Properties specific to zone elements referenced as a container on vectors/images/videos
ElementProperties
- Description:
- Base type for shared properties across all element types
- Source:
Properties:
| Name |
Type |
Attributes |
Description |
element_id |
string
|
<optional>
|
The unique identifer automatically assigned to the element upon creation. |
element_name |
string
|
<nullable>
|
An optional user-assigned name |
element_classes |
Array.<string>
|
|
An optional list of user-assigned classes |
template_element |
bool
|
|
Value indicating whether this element was part of a template or added by the user |
type |
string
|
|
One of: "text", "image", "vector", "video", "lottie", "zone" |
width |
number
|
|
The width of the element in the unit type of the project |
height |
number
|
|
The height of the element in the unit type of the project |
angle |
number
|
<optional>
|
The rotation degrees. Excluded if not rotated |
left |
number
|
<nullable>
|
The x coordinate of the top of the element in the unit type of the project. Null when rotated, flipped or cropped, or when in a pattern type zone |
top |
number
|
<nullable>
|
The y coordinate of the top of the element in the unit type of the project. Null when rotated, flipped or cropped, or when in a pattern type zone |
bounding_box |
Object
|
<optional>
|
Coordinates of a box fully containing the element. Only included if rotated, flipped or cropped
Properties
| Name |
Type |
Description |
top |
number
|
The y coordinate of the top of the box in the unit type of the project |
right |
number
|
The x coordinate of the right side of the box in the unit type of the project |
bottom |
number
|
The y coordinate of the bottom of the box in the unit type of the project |
left |
number
|
The x coordinate of the left side of the box in the unit type of the project |
|
opacity |
number
|
|
The percentage opacity of the element, between 0 and 1 |
blend_mode |
string
|
<optional>
|
The blend mode applied to the element. One of: "none", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity" |
selected |
bool
|
<optional>
|
Value indicating whether this element is currently selected in the editor |
Base type for shared properties across all element types
FontProperties
- Description:
- Properties for fonts associated with text elements
- Source:
Properties:
| Name |
Type |
Attributes |
Description |
font_file_id |
number
|
<optional>
|
The id of the specific font variation. Not present on "project" specific fonts (e.g. partial fonts extracted from imported files) |
font_type |
string
|
|
One of: "system", "partner", "brand", "user", "pdf", "project" |
name |
string
|
|
The name of the font family or specific font variation |
weight |
string
|
<optional>
|
"Bold" if a bold variation in a font family |
style |
number
|
<optional>
|
"Italic" if an italic variation in a font family |
Properties for fonts associated with text elements
ImageElementProperties
- Description:
- Source:
Properties:
| Name |
Type |
Attributes |
Description |
file_type |
string
|
|
The file extension of the source image (e.g. "png", "jpg", "webp", "heic", "tiff") |
source_width |
number
|
|
The full width of the source image in pixels |
source_height |
number
|
|
The full height of the source image in pixels |
asset_opaque |
bool
|
<optional>
|
If the image has been fully analyzed (true for all recently added images), this property will indicate whether or not any pixels with transparency exist |
asset_id |
number
|
|
The internal asset_id of the file |
asset_code |
string
|
<optional>
|
The id of the file in the originating repository |
zone |
DSHDLib.Editors.ProjectData.ContainerElementZoneProperties
|
<optional>
|
Zone information if this element is inside of a zone |
masking_vector |
DSHDLib.Editors.ProjectData.ContainerElementVectorProperties
|
<optional>
|
Vector information if this element is masked in a vector |
Properties specific to image elements - See
ElementProperties for common properties
Type:
ImportInProgress
- Description:
- Object containing infomation about a media upload/import in progress
- Source:
Properties:
| Name |
Type |
Attributes |
Description |
type |
string
|
|
One of: "image", "vector", "video", "audio", "lottie", "media" (when the file has not yet been determined to be "video" vs "audio") |
status |
string
|
|
One of: "uploading", "importing", "awaiting_font_selection" (lottie only) |
start_date |
string
|
|
The start date/time of the initiated upload/import action, in toISOString() format |
progress_percentage |
number
|
|
The total progress from 0 to 1 |
url |
string
|
<optional>
|
For url-based media imports via addElement and updateElements (except when data-url's are provided), the supplied url |
file_size |
number
|
<optional>
|
The size of the file being uploaded in bytes. Not available on url-based media-imports except data-url's |
filename |
string
|
<optional>
|
The name of the file being uploaded. Not available for any SDK-initiated uploads/imports |
page_id |
string
|
<optional>
|
For non-video projects, the page the media has been added to. Only returned for browser-supported media (audio/video/lottie only for now) that displays immediately and uploads/imports asynchronously |
scene_id |
string
|
<optional>
|
For video projects, the scene the media has been added to. Only returned for browser-supported media (audio/video/lottie only for now) that displays immediately and uploads/imports asynchronously |
element_id |
string
|
<optional>
|
The unique identifer automatically assigned to the new element. Only returned for browser-supported media (audio/video/lottie only for now) that displays immediately and uploads/imports asynchronously |
Object containing infomation about a media upload/import in progress
LottieElementProperties
- Description:
- Source:
Properties:
Properties specific to lottie elements - See
ElementProperties for common properties
Type:
LottieImageProperties
- Description:
- Properties for embedded images in lottie elements
- Source:
Properties:
| Name |
Type |
Attributes |
Description |
asset_id |
number
|
|
The internal asset_id of the file |
asset_code |
string
|
<optional>
|
The id of the file in the originating repository |
initial_source_width |
number
|
|
The width of the original embedded image in pixels |
initial_source_height |
number
|
|
The height of the original embedded image in pixels |
Properties for embedded images in lottie elements
LottieLayerProperties
- Description:
- Properties for layers in lottie elements
- Source:
Properties:
| Name |
Type |
Attributes |
Description |
color_index |
number
|
<optional>
|
The color used in this layer referencing the colors array |
text_index |
number
|
<optional>
|
The text used in this layer referencing the text array |
image_index |
number
|
<optional>
|
The image used in this layer referencing the images array |
Properties for layers in lottie elements
LottieTextProperties
- Description:
- Properties for text fields in lottie elements
- Source:
Properties:
Properties for text fields in lottie elements
Margin
- Description:
- Properties for setting each side of a margin
- Source:
Properties:
| Name |
Type |
Description |
top |
number
|
The length of the top margin in the unit type of the project |
right |
number
|
The length of the right margin in the unit type of the project |
bottom |
number
|
The length of the bottom margin in the unit type of the project |
left |
number
|
The length of the left margin in the unit type of the project |
Properties for setting each side of a margin
Type:
PageData
- Description:
- Object containing all properties of a page in a project and all its contained elements
- Source:
Properties:
| Name |
Type |
Attributes |
Description |
page_id |
string
|
|
The unique identifer automatically assigned to the page upon creation |
dimensions |
Object
|
|
Properties
| Name |
Type |
Description |
width |
number
|
The width of the page in the unit type returned |
height |
number
|
The height of the page in the unit type returned |
unit_type_id |
string
|
One of: "px", "in", "mm" |
|
bleed_margin |
DSHDLib.Editors.ProjectData.Margin
|
<optional>
|
The bleed margin for print projects in the unit type of the project |
group_id |
string
|
<optional>
|
The scene slide group this page is associated with on a presentation project. Reference this id in scene_slide_groups in ProjectData |
masking_vector_element_id |
string
|
<optional>
|
A reference to a vector element that is masking the entire canvas |
background_element_id |
string
|
<optional>
|
A reference to an image/video element acting as the special background layer |
background_color |
string
|
<optional>
|
The color filling the background layer |
background_classes |
Array.<string>
|
|
An optional list of user-assigned classes associated with the background layer of this page |
canvas_border |
Object
|
<optional>
|
The border (outer stroke) applied to a custom shaped canvas (with a masking_vector_element_id). Set via updateCanvasBorder
Properties
| Name |
Type |
Description |
width |
number
|
The width of the border/stroke in the unit type of the project |
color |
string
|
The color of the border/stroke |
rounded |
bool
|
A value indicating whether the border/stroke is rounded around the edges of the canvas shape |
|
elements |
Object.<string, (DSHDLib.Editors.ProjectData.ElementProperties|DSHDLib.Editors.ProjectData.AudioTrack)>
|
|
The list of elements contained in the page |
Object containing all properties of a page in a project and all its contained elements
ProjectData
- Description:
- Object containing all properties and metadata related to the project and all its contained pages/scenes and ther contained elements
- Source:
Properties:
| Name |
Type |
Attributes |
Description |
project_id |
string
|
|
The unique identifer associated with the project |
project_title |
string
|
|
The current title of the project. Defaults to the template title if not supplied during project creation. |
media_type |
string
|
|
One of: "digital", "print", "video", "presentation" |
tags |
Array.<string>
|
|
A list of tags associated with the project |
metadata |
Object
|
<optional>
|
Any metadata assigned to the project programmatically |
approval_status |
string
|
<optional>
|
If previously submitted for approval, one of: "approved", "denied", "awaiting_revisions", "pending_review" |
pages |
Array.<DSHDLib.Editors.ProjectData.PageData>
|
<optional>
|
A list of all pages the their contained elements for digital, print and presentation projects |
scenes |
Array.<DSHDLib.Editors.ProjectData.SceneData>
|
<optional>
|
A list of all scenes the their contained elements for video projects |
duration |
number
|
<optional>
|
The total duration of a video project in seconds |
layouts |
Array.<DSHDLib.Editors.ProjectData.PageData>
|
Array.<DSHDLib.Editors.ProjectData.SceneData>
|
<optional>
|
A list of all pages/scenes stored as available layouts |
global_audio_tracks |
Array.<DSHDLib.Editors.ProjectData.AudioTrack>
|
<optional>
|
A list of all audio tracks not associated with a specific scene on a video project |
scene_slide_groups |
Object.<string, DSHDLib.Editors.ProjectData.SceneSlideGroup>
|
<optional>
|
A list of groups associated with scene slides on a video or presenation project |
imports_in_progress |
Array.<DSHDLib.Editors.ProjectData.ImportInProgress>
|
|
A list of all uncompleted media uploads/imports. Useful to check against before closing the editor |
current_page_id |
string
|
<optional>
|
The currently open page on digital, print and presentation projects |
current_scene_id |
string
|
<optional>
|
The currently open page on video projects |
unsaved_locking_config |
bool
|
|
Value indicating whether any modifications to the locking config have been saved for admin context uses |
Object containing all properties and metadata related to the project and all its contained pages/scenes and ther contained elements
SceneData
- Description:
- Object containing all properties of a scene in a project and all its contained elements
- Source:
Properties:
| Name |
Type |
Attributes |
Description |
scene_id |
string
|
|
The unique identifer automatically assigned to the scene upon creation |
dimensions |
Object
|
|
Properties
| Name |
Type |
Description |
width |
number
|
The width of the scene in pixels |
height |
number
|
The height of the scene in pixels |
unit_type_id |
string
|
Always "px" |
|
group_id |
string
|
<optional>
|
The scene slide group this scene is associated with. Reference this id in scene_slide_groups in ProjectData |
duration |
number
|
|
The duration of the scene in seconds |
background_element_id |
string
|
<optional>
|
A reference to an image/video element acting as the special background layer |
background_color |
string
|
<optional>
|
The color filling the background layer |
background_classes |
Array.<string>
|
|
An optional list of user-assigned classes associated with the background layer of this scene |
elements |
Object.<string, (DSHDLib.Editors.ProjectData.ElementProperties|DSHDLib.Editors.ProjectData.AudioTrack)>
|
|
The list of elements contained in the scene |
Object containing all properties of a scene in a project and all its contained elements
SceneSlideGroup
- Description:
- Object containing metadata about scene slide groups
- Source:
Properties:
| Name |
Type |
Attributes |
Description |
group_name |
string
|
|
An optional user-assigned group name |
duration |
number
|
<optional>
|
The duration of the scene slide group in seconds. Overrides its contained scene duration sum if not evenly split |
Object containing metadata about scene slide groups
TextAutoFitProperties
- Description:
- Properties for Auto Fit configuration on text elements
- Source:
Properties:
| Name |
Type |
Attributes |
Description |
max_font_size |
number
|
|
The maximum font size (in pt on print projects and px otherwise) the text will grow to given the max_lines and/or max_height values |
min_font_size |
number
|
<optional>
|
The minimum font size (in pt on print projects and px otherwise) the text will shrink to given the max_lines and/or max_height values |
max_lines |
number
|
<optional>
|
The maximum number of lines the text will wrap to |
max_height |
number
|
<optional>
|
The maximum height the text will grow to in the unit type of the project |
truncation_suffix |
string
|
<optional>
|
Upon truncation, the text that is appended to the end of the rendered text (in place of the last characters that would have otherwise shown) |
Properties for Auto Fit configuration on text elements
TextElementProperties
- Description:
- Source:
Properties:
| Name |
Type |
Attributes |
Description |
text |
string
|
|
The full text attempted to display within the textbox |
text_rendered |
string
|
<optional>
|
The actual text displayed within the textbox when auto fit limits are reached. Only returned if truncation occurs |
text_markup |
string
|
<optional>
|
The full text attempted to display within the textbox, including some html tags if relevant. Only returned if include_text_markup is supplied to getProjectData |
text_markup_rendered |
string
|
<optional>
|
The actual text displayed within the textbox when auto fit limits are reached, including some html tags if relevant. Only returned if truncation occurs and include_text_markup is supplied to getProjectData |
colors |
Array.<string>
|
|
All fill and stroke colors applied to the text |
font_size |
Object
|
|
The current size of the font
Properties
| Name |
Type |
Description |
size |
number
|
The actual size value |
unit_type_id |
string
|
One of: "px", "pt" |
|
fonts |
Array.<DSHDLib.Editors.ProjectData.FontProperties>
|
|
All fonts applied to the text (e.g. regular, bold, italic) |
line_height |
number
|
|
A value which, when multiplied by the font_size, indicates the height of each line of text |
letter_spacing |
number
|
|
A value indicating the spacing between characters, measured in 1/1000 em, which is relative to the font size |
align |
string
|
|
The alignment of the text within the textbox width |
curve |
Object
|
<optional>
|
Information about the curve of the text, if curved
Properties
| Name |
Type |
Description |
inverse |
bool
|
A value indicating whether the curve is inversed |
|
line_count |
number
|
|
The number of lines in the textbox |
longest_line_width |
number
|
|
The width of the longest line in the unit type of the project |
auto_fit |
DSHDLib.Editors.ProjectData.TextAutoFitProperties
|
<optional>
|
The Auto Fit configuration if set on the element directly (not via Locking) |
text_token_map |
Object.<string, string>
|
<optional>
|
A map of tokens that may be present in the text and their respective default replacement values |
cursor |
Object
|
<optional>
|
Information about the position of the cursor and selected range of text in a currently selected text element. Useful in creating real-time text manipulation experiences in conjunction with the text_insert property in updateElements
Properties
| Name |
Type |
Attributes |
Description |
position |
number
|
|
The 0-based index of the cursor location within the text |
selected_range |
Array.<number>
|
<optional>
|
The start and end index of the selected text when a selection is active |
|
Properties specific to text elements - See
ElementProperties for common properties
Type:
VectorElementProperties
- Description:
- Source:
Properties:
| Name |
Type |
Attributes |
Description |
vector_type |
string
|
|
One of: "line", "shape", "svg", "pdf" |
shape_type |
string
|
<optional>
|
If vector_type is "shape", one of: "rectangle", "ellipse", "triangle" |
colors |
Array.<string>
|
|
All fill and stroke colors applied to the element |
path_count |
number
|
|
The number of paths in the vector |
asset_id |
number
|
<optional>
|
The internal asset_id of the file for imported vectors |
asset_code |
string
|
<optional>
|
The id of the file in the originating repository |
zone |
DSHDLib.Editors.ProjectData.ContainerElementZoneProperties
|
<optional>
|
Zone information if this element is inside of a zone |
Properties specific to vector elements - See
ElementProperties for common properties
Type:
VideoElementProperties
- Description:
- Source:
Properties:
| Name |
Type |
Attributes |
Description |
duration |
number
|
|
The duration of the full video in seconds |
source_width |
number
|
|
The full width of the source video |
source_height |
number
|
|
The full height of the source video |
audible |
bool
|
|
Value indicating whether the video has an audio track |
speed |
number
|
|
The speed factor of the video |
loop |
bool
|
|
Value indicating whether the video is set to loop |
trim_start |
number
|
<optional>
|
The start of the trimmed clip relative to the full duration. Only included if the video has been trimmed |
trim_end |
number
|
<optional>
|
The end of the trimmed clip relative to the full duration. Only included if the video has been trimmed |
asset_id |
number
|
|
The internal asset_id of the file |
asset_code |
string
|
<optional>
|
The id of the file in the originating repository |
import_progress |
number
|
<optional>
|
If the imported video is immediately available for use in the editor, but still requires asynchronous backend import, this shows its import progress percentage - from 0 to 1 |
zone |
DSHDLib.Editors.ProjectData.ContainerElementZoneProperties
|
<optional>
|
Zone information if this element is inside of a zone |
masking_vector |
DSHDLib.Editors.ProjectData.ContainerElementVectorProperties
|
<optional>
|
Vector information if this element is masked in a vector |
Properties specific to video elements - See
ElementProperties for common properties
Type:
ZoneElementProperties
- Description:
- Properties specific to (unpopulated) zone elements - See ElementProperties for common properties. Note that when zones are populated they become part of their contained element (image, vector, video) as its "zone" property
- Source:
Properties:
| Name |
Type |
Attributes |
Description |
zone_type |
string
|
|
One of: "fit", "mask", "pattern" depending on if contained elements will be sized to fully fit within the zone boundary, be masked to fully fill the zone boundary, or rendered multiple times in a pattern. Note that vector elements can only be added to "fit" and "pattern" mode zones. |
enforce_boundary |
bool
|
<optional>
|
If zone_type is "fit", a value indicating whether the zone restricts movement of its contained element to its boundary |
Properties specific to (unpopulated) zone elements - See
ElementProperties for common properties. Note that when zones are populated they become part of their contained element (
image,
vector,
video) as its "zone" property
Type: