Interface: OptionSetBlock
Defines the structure and behavior of an option selection block.
An OptionSetBlock represents a configurable aspect of the product, such as a material choice, color selection, or component option. Each block contains settings for how options should be displayed and how they affect the product.
Extended by
Properties
allowEmpty?
optionalallowEmpty:boolean
If true, this block can have no selection and still be valid.
If false, a selection is required for valid configuration.
blockColor
blockColor:
string
The background color for this block in the UI. Used to visually differentiate blocks in the configurator.
blockName
blockName:
string
Unique name of the block, used for identification in the system.
clearable?
optionalclearable:boolean
If true, users can clear their selection for this block, returning it to an unselected state.
If false, once an option is selected, users must choose a different option but cannot deselect entirely.
collectionSetId?
optionalcollectionSetId:string
ID of the collection set this block belongs to, if applicable. Only used when type is MATERIAL_COLLECTION.
colorSettings?
optionalcolorSettings:CustomColorOption
Configuration for custom color selection functionality. Only used when mode is COLOR.
componentId?
optionalcomponentId:string
ID of the component this block is associated with, if applicable. Used in hybrid modular products to link blocks with specific components.
engrave?
optionalengrave:BlockEngraveSettings
Configuration for text engraving functionality. Only used when mode is ENGRAVE.
filterDisplayMode?
optionalfilterDisplayMode:FilterWidgetMode
Controls how filters are being displayed in filter modal. Only relevant when widgetType is FILTER or FILTER_GROUPS.
filterExpandableState?
optionalfilterExpandableState:FilterDisplayState
If filterDisplayMode is set to 'EXPANDABLE', controls behavior of filter items. Only relevant when widgetType is FILTER or FILTER_GROUPS.
filterWidgetType
filterWidgetType:
FilterWidgetType
The type of filtering widget to use for this block, if applicable. Only relevant when widgetType is FILTER or FILTER_GROUPS.
globalOptionSetId?
optionalglobalOptionSetId:string
ID of a global option set associated with this block, if applicable. Global option sets can be shared across products for consistent options.
hideDivider?
optionalhideDivider:boolean
If true, the divider between this block and others will be hidden.
Useful for creating visually connected blocks in the interface.
hideHeader?
optionalhideHeader:boolean
If true, the block header will be hidden in the UI.
The block's options will still be displayed, but without the block title.
hideInOptionPanel?
optionalhideInOptionPanel:boolean
If true, this block will be hidden in the option panel.
The block will still affect the configuration but won't be visible in the UI.
hideInPdf?
optionalhideInPdf:boolean
If true, this block will be hidden in PDF exports.
Allows excluding certain configuration options from generated documentation.
id
id:
string
Unique identifier for this block.
imageSettings?
optionalimageSettings:CustomImageOption
Configuration for custom image upload functionality. Only used when mode is IMAGE.
initialValue?
optionalinitialValue:string
Initial value for this block when the configurator loads. If provided, this option will be pre-selected.
inputSettings?
optionalinputSettings:InputOption
Configuration for input field functionality. Only used when mode is INPUT.
instanceId?
optionalinstanceId:string
Instance ID for this block, when used in a modular product. Uniquely identifies the block instance across multiple components.
isHidden?
optionalisHidden:boolean
If true, this block is hidden from users but can still affect the configuration.
Hidden blocks are typically used for system-level settings or automated configurations.
letterMappings
letterMappings:
LetterMappings
Maps option set IDs to letters used in configuration code generation. Each option set in the block is assigned a unique letter identifier. When generating configuration codes, this letter is combined with the selected option's ordinal number to form part of the product's overall configuration code (e.g., "a3" for the 3rd option in option set "a").
messageBackground?
optionalmessageBackground:string
Background color for message blocks. Only applicable when mode is MESSAGE.
messageContent?
optionalmessageContent:string|RawDraftContentState
Content for message blocks. Can be plain text or rich text. Only used when mode is MESSAGE.
messageIcon?
optionalmessageIcon:YesNoValue
Whether to show an icon with a message block. Only applicable when mode is MESSAGE.
messageIconColor?
optionalmessageIconColor:string
Color for the icon in message blocks. Only applicable when mode is MESSAGE.
messageIconType?
optionalmessageIconType:MessageIconType
The type of icon to use in message blocks. Only applicable when mode is MESSAGE.
messageStroke?
optionalmessageStroke:string
Stroke color for message blocks. Only applicable when mode is MESSAGE.
messageType?
optionalmessageType:MessageType
The type or category of the message. Can be used to display different message styling (info, warning, error, etc). Only applicable when mode is MESSAGE.
mobileThumbColumns?
optionalmobileThumbColumns:1|2|3|4|"AUTO"|5|6
Number of columns to display for thumbnail options on mobile devices. "AUTO" allows the system to determine the optimal layout for smaller screens.
mode
mode:
OptionSetMode
The mode that determines how options are sourced and what widget functionality is available. This defines whether the block uses linked option sets, manual options, or specialized widgets like image upload, engraving, color picker, etc.
name
name:
string
Display name of the block shown to users.
nextLetter
nextLetter:
string
The next available letter to assign when adding new option sets to this block. Maintains unique letter assignments across option sets in the configuration system.
optionSetIds
optionSetIds:
string[]
IDs of option sets associated with this block. For MATERIAL_COLLECTION type, these are automatically populated based on the collection. For OPTION_SET type, these are manually specified.
printOnDemandSettings?
optionalprintOnDemandSettings:PrintOnDemandOption
Configuration for print-on-demand functionality. Only used when mode is PRINT_ON_DEMAND.
showFilters?
optionalshowFilters:YesNoValue
If true will display selected filters in thumbnails preview.
Only relevant when widgetType is FILTER or FILTER_GROUPS.
showModalSearch?
optionalshowModalSearch:YesNoValue
If true, this block will display search for filters in filter modal.
Only relevant when widgetType is FILTER or FILTER_GROUPS.
showThumbSearch?
optionalshowThumbSearch:YesNoValue
If true, this block will display search for thumbnails.
thumbBorder?
optionalthumbBorder:YesNoValue
Whether to display borders around thumbnails.
When YES, adds a visual border to each thumbnail for better separation.
thumbCaption?
optionalthumbCaption:YesNoValue
Whether to show captions beneath thumbnails.
When YES, displays option names under the thumbnail images.
thumbColumns?
optionalthumbColumns:1|2|3|4|"AUTO"|5|6
Number of columns to display for thumbnail options. "AUTO" allows the system to determine the optimal layout based on available space and number of options.
thumbStyle?
optionalthumbStyle:ThumbStyle
The visual style to use for thumbnail options. Determines corner rounding and overall appearance of thumbnail images.
type
type:
OptionSetType
The source type for options in this block when in LINKED mode. Determines whether options come from material collections or specific option sets.
widgetSource?
optionalwidgetSource:WidgetSourceType
Source of this block settings. By default is Local Settings
widgetType
widgetType:
WidgetType
The type of UI widget to use for rendering this block's options. Determines the visual presentation and interaction model for the options.