123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397{
"surface_id": "multi-selection-wrap-all-required-surface",
"surface_version": 1,
"payload": {
"objects": [
{
"beginRendering": {
"surfaceId": "multi-selection-wrap-all-required-surface",
"root": "root-card"
}
},
{
"surfaceUpdate": {
"surfaceId": "multi-selection-wrap-all-required-surface",
"components": [
{
"id": "root-card",
"component": {
"Card": {
"child": "main-column"
}
}
},
{
"id": "main-column",
"component": {
"Column": {
"alignment": "stretch",
"children": {
"explicitList": [
"title-text",
"subtitle-text",
"tone-title",
"tone-wrap",
"audience-title",
"audience-wrap",
"channel-title",
"channel-wrap",
"submit-gate",
"confirm-button"
]
}
}
}
},
{
"id": "title-text",
"component": {
"Label": {
"text": {
"literalString": "Build your communication package"
},
"variant": "title"
}
}
},
{
"id": "subtitle-text",
"component": {
"Label": {
"text": {
"literalString": "Button unlocks only when all selector groups satisfy their own requiredSelection."
},
"color": "secondary",
"variant": "body"
}
}
},
{
"id": "tone-title",
"component": {
"Label": {
"text": {
"literalString": "Tone (pick 1)"
},
"variant": "bodySansSemibold"
}
}
},
{
"id": "tone-wrap",
"component": {
"SelectionWrap": {
"selection": {
"path": "/selectedTone",
"literalArray": []
},
"maxSelection": 1,
"requiredSelection": 1,
"hasSelection": {
"path": "/readyTone",
"literalBoolean": false
},
"items": [
{
"value": "tone_calm",
"child": "tone-calm"
},
{
"value": "tone_bold",
"child": "tone-bold"
},
{
"value": "tone_playful",
"child": "tone-playful"
}
]
}
}
},
{
"id": "tone-calm",
"component": {
"Label": {
"text": {
"literalString": "Calm"
},
"variant": "subheadline"
}
}
},
{
"id": "tone-bold",
"component": {
"Label": {
"text": {
"literalString": "Bold"
},
"variant": "subheadline"
}
}
},
{
"id": "tone-playful",
"component": {
"Label": {
"text": {
"literalString": "Playful"
},
"variant": "subheadline"
}
}
},
{
"id": "audience-title",
"component": {
"Label": {
"text": {
"literalString": "Audience (pick at least 2)"
},
"variant": "bodySansSemibold"
}
}
},
{
"id": "audience-wrap",
"component": {
"SelectionWrap": {
"selection": {
"path": "/selectedAudience",
"literalArray": []
},
"maxSelection": 3,
"requiredSelection": 2,
"hasSelection": {
"path": "/readyAudience",
"literalBoolean": false
},
"items": [
{
"value": "audience_pm",
"child": "audience-pm"
},
{
"value": "audience_dev",
"child": "audience-dev"
},
{
"value": "audience_exec",
"child": "audience-exec"
}
]
}
}
},
{
"id": "audience-pm",
"component": {
"Label": {
"text": {
"literalString": "Product"
},
"variant": "subheadline"
}
}
},
{
"id": "audience-dev",
"component": {
"Label": {
"text": {
"literalString": "Engineering"
},
"variant": "subheadline"
}
}
},
{
"id": "audience-exec",
"component": {
"Label": {
"text": {
"literalString": "Executive"
},
"variant": "subheadline"
}
}
},
{
"id": "channel-title",
"component": {
"Label": {
"text": {
"literalString": "Channel (pick at least 1)"
},
"variant": "bodySansSemibold"
}
}
},
{
"id": "channel-wrap",
"component": {
"SelectionWrap": {
"selection": {
"path": "/selectedChannel",
"literalArray": []
},
"maxSelection": 2,
"requiredSelection": 1,
"hasSelection": {
"path": "/readyChannel",
"literalBoolean": false
},
"items": [
{
"value": "channel_email",
"child": "channel-email"
},
{
"value": "channel_inapp",
"child": "channel-inapp"
},
{
"value": "channel_push",
"child": "channel-push"
}
]
}
}
},
{
"id": "channel-email",
"component": {
"Label": {
"text": {
"literalString": "Email"
},
"variant": "subheadline"
}
}
},
{
"id": "channel-inapp",
"component": {
"Label": {
"text": {
"literalString": "In-app"
},
"variant": "subheadline"
}
}
},
{
"id": "channel-push",
"component": {
"Label": {
"text": {
"literalString": "Push"
},
"variant": "subheadline"
}
}
},
{
"id": "submit-gate",
"component": {
"BooleanAllOf": {
"inputs": [
{
"path": "/readyTone"
},
{
"path": "/readyAudience"
},
{
"path": "/readyChannel"
}
],
"output": {
"path": "/canSubmit",
"literalBoolean": false
}
}
}
},
{
"id": "confirm-button",
"component": {
"Button": {
"child": "confirm-label",
"style": "primary",
"enabled": {
"path": "/canSubmit"
},
"action": {
"name": "submitCommunicationPackage",
"context": [
{
"key": "tone",
"value": {
"path": "/selectedTone"
}
},
{
"key": "audience",
"value": {
"path": "/selectedAudience"
}
},
{
"key": "channel",
"value": {
"path": "/selectedChannel"
}
},
{
"key": "canSubmit",
"value": {
"path": "/canSubmit"
}
}
]
}
}
}
},
{
"id": "confirm-label",
"component": {
"Label": {
"text": {
"literalString": "Submit Package"
},
"variant": "bodySansSemibold"
}
}
}
]
}
},
{
"dataModelUpdate": {
"surfaceId": "multi-selection-wrap-all-required-surface",
"path": "/",
"contents": [
{
"key": "canSubmit",
"valueBoolean": false
},
{
"key": "readyTone",
"valueBoolean": false
},
{
"key": "readyAudience",
"valueBoolean": false
},
{
"key": "readyChannel",
"valueBoolean": false
}
]
}
}
]
}
}0 tokens
Build your communication package
Button unlocks only when all selector groups satisfy their own requiredSelection.
Tone (pick 1)
Audience (pick at least 2)
Channel (pick at least 1)