@vectoriox/iox-ui 5.40.0 → 5.41.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/composite-core/index.d.ts +212 -12
- package/design-core/index.d.ts +694 -17
- package/fesm2022/vectoriox-iox-ui-actions-core.mjs +4 -3
- package/fesm2022/vectoriox-iox-ui-actions-core.mjs.map +1 -1
- package/fesm2022/vectoriox-iox-ui-composite-core.mjs +540 -124
- package/fesm2022/vectoriox-iox-ui-composite-core.mjs.map +1 -1
- package/fesm2022/vectoriox-iox-ui-design-core.mjs +843 -45
- package/fesm2022/vectoriox-iox-ui-design-core.mjs.map +1 -1
- package/fesm2022/vectoriox-iox-ui-generation-core.mjs +846 -17
- package/fesm2022/vectoriox-iox-ui-generation-core.mjs.map +1 -1
- package/fesm2022/vectoriox-iox-ui.mjs +3945 -3914
- package/fesm2022/vectoriox-iox-ui.mjs.map +1 -1
- package/generation-core/index.d.ts +608 -4
- package/index.d.ts +22 -1
- package/package.json +1 -1
- package/src/actions-core/element-actions.ts +4 -3
- package/src/composite-core/accordion.ts +1 -0
- package/src/composite-core/card.ts +6 -4
- package/src/composite-core/composite-kinds.ts +42 -6
- package/src/composite-core/exclusive-runtime.ts +60 -10
- package/src/composite-core/exclusive.ts +64 -0
- package/src/composite-core/public-api.ts +5 -2
- package/src/composite-core/segmented.ts +351 -0
- package/src/composite-core/structure.ts +6 -1
- package/src/composite-core/tabs.ts +6 -3
- package/src/design-core/contrast-audit.ts +8 -3
- package/src/design-core/flavor-spec.generated.ts +832 -41
- package/src/generation-core/compose-site.ts +170 -12
- package/src/generation-core/node-baselines.generated.ts +49 -0
- package/src/generation-core/patterns.ts +21 -0
- package/src/generation-core/site-spec.generated.ts +639 -0
- package/styles/iox-design.css +19 -0
|
@@ -21,6 +21,13 @@ import { SPEC_SITE_PATTERNS } from './site-spec.generated';
|
|
|
21
21
|
* `binds`, a binding path per part: `image`, `eyebrow`, `title`, `text`; `href` + `param` link the whole card
|
|
22
22
|
* through its title). A header pattern's `phoneMenu` names its phone shape (drawer · bar · both), stamped by
|
|
23
23
|
* `planNavShape` (CC1).
|
|
24
|
+
*
|
|
25
|
+
* CC4b (`pricing.tiers`): `recipe: 'segmented'` stamps a Segmented control (Monthly · Yearly, named by `name`, its own
|
|
26
|
+
* `lay` / `resp`) · `shownWhen` hides a node at base and shows it while the pattern's segmented option of that key is
|
|
27
|
+
* on (the targeted `trigger-on`) · `ph: 'price'` a price the studio types (a publish-blocking placeholder showing its
|
|
28
|
+
* label) · on a card recipe: `words` (title / text / badge), `badge` (the badge's tone) and `icon` (its glyph), `scheme`
|
|
29
|
+
* (the Brand card), and `c` — nodes joining its Content column · `icon` an Icon's glyph · `layer` the node's name in the
|
|
30
|
+
* layer tree.
|
|
24
31
|
*/
|
|
25
32
|
export interface PatternNode {
|
|
26
33
|
readonly t: string;
|
|
@@ -59,6 +66,16 @@ export interface PatternNode {
|
|
|
59
66
|
readonly opens?: string;
|
|
60
67
|
/** CC3: a control's accessible name (`ariaLabel`). */
|
|
61
68
|
readonly name?: string;
|
|
69
|
+
/** CC4b: hidden at base, shown while the pattern's Segmented option with this key is on. */
|
|
70
|
+
readonly shownWhen?: string;
|
|
71
|
+
/** CC4b: a card recipe's words (its title, text, badge). */
|
|
72
|
+
readonly words?: Readonly<Record<string, string>>;
|
|
73
|
+
/** CC4b: a card recipe's badge tone (`neutral` · `success` · `warning` · `accent`). */
|
|
74
|
+
readonly badge?: string;
|
|
75
|
+
/** CC4b: an Icon's glyph (`ph ph-check`) — on a card recipe, its badge's glyph. */
|
|
76
|
+
readonly icon?: string;
|
|
77
|
+
/** CC4b: the node's name in the layer tree (`Price · Monthly`). */
|
|
78
|
+
readonly layer?: string;
|
|
62
79
|
}
|
|
63
80
|
|
|
64
81
|
/** The composite-core recipes a pattern may stamp (`recipe`). */
|
|
@@ -70,6 +87,8 @@ export enum PatternRecipe {
|
|
|
70
87
|
/** CC4a: Tabs — Manual (three placeholder tabs), or From content when the section names a list `binding`: the tab
|
|
71
88
|
* list and the panels are both Repeaters over it, one row giving its tab AND its panel. */
|
|
72
89
|
Tabs = 'tabs',
|
|
90
|
+
/** CC4b: the Segmented control — Monthly · Yearly, named by the pattern (`name`). */
|
|
91
|
+
Segmented = 'segmented',
|
|
73
92
|
/** CC3: the accessible carousel — a named Slider whose controls are parts, one quote per slide (placeholders). */
|
|
74
93
|
Carousel = 'carousel',
|
|
75
94
|
/** CC3: the Lightbox — a Dialog holding a Slider over the node's `src` (the gallery's own source). */
|
|
@@ -112,6 +131,8 @@ export enum PatternPlaceholder {
|
|
|
112
131
|
Image = 'image',
|
|
113
132
|
/** CC3: a clip the studio uploads (a Video's file): the poster blank until then, publish-blocking. */
|
|
114
133
|
Video = 'video',
|
|
134
|
+
/** CC4b (Q37): a price the studio types — free text, publish-blocking, its label shown meanwhile, never a number. */
|
|
135
|
+
Price = 'price',
|
|
115
136
|
}
|
|
116
137
|
|
|
117
138
|
/** CC3: what an `opens` node opens. */
|
|
@@ -1025,6 +1025,645 @@ export const SPEC_SITE_PATTERNS = {
|
|
|
1025
1025
|
]
|
|
1026
1026
|
}
|
|
1027
1027
|
},
|
|
1028
|
+
"pricing.tiers": {
|
|
1029
|
+
"family": "pricing",
|
|
1030
|
+
"label": "Pricing — plans with a monthly / yearly switch",
|
|
1031
|
+
"node": {
|
|
1032
|
+
"t": "Section",
|
|
1033
|
+
"es": "section",
|
|
1034
|
+
"c": [
|
|
1035
|
+
{
|
|
1036
|
+
"t": "Container",
|
|
1037
|
+
"es": "box",
|
|
1038
|
+
"lay": {
|
|
1039
|
+
"display": "flex",
|
|
1040
|
+
"flexDirection": "column",
|
|
1041
|
+
"gap": "8px",
|
|
1042
|
+
"alignItems": "center",
|
|
1043
|
+
"textAlign": "center"
|
|
1044
|
+
},
|
|
1045
|
+
"c": [
|
|
1046
|
+
{
|
|
1047
|
+
"t": "Text",
|
|
1048
|
+
"es": "eyebrow",
|
|
1049
|
+
"slot": "eyebrow",
|
|
1050
|
+
"ph": "copy",
|
|
1051
|
+
"text": "Pricing",
|
|
1052
|
+
"lay": {
|
|
1053
|
+
"textAlign": "center"
|
|
1054
|
+
}
|
|
1055
|
+
},
|
|
1056
|
+
{
|
|
1057
|
+
"t": "Heading",
|
|
1058
|
+
"es": "h2",
|
|
1059
|
+
"level": "h2",
|
|
1060
|
+
"slot": "title",
|
|
1061
|
+
"ph": "copy",
|
|
1062
|
+
"text": "Plans",
|
|
1063
|
+
"lay": {
|
|
1064
|
+
"textAlign": "center"
|
|
1065
|
+
}
|
|
1066
|
+
}
|
|
1067
|
+
]
|
|
1068
|
+
},
|
|
1069
|
+
{
|
|
1070
|
+
"t": "Container",
|
|
1071
|
+
"recipe": "segmented",
|
|
1072
|
+
"name": "Billing period",
|
|
1073
|
+
"lay": {
|
|
1074
|
+
"alignSelf": "center"
|
|
1075
|
+
},
|
|
1076
|
+
"resp": {
|
|
1077
|
+
"mobile": {
|
|
1078
|
+
"position": "sticky",
|
|
1079
|
+
"top": "calc(12px + env(safe-area-inset-top, 0px))",
|
|
1080
|
+
"zIndex": "2",
|
|
1081
|
+
"width": "100%"
|
|
1082
|
+
}
|
|
1083
|
+
}
|
|
1084
|
+
},
|
|
1085
|
+
{
|
|
1086
|
+
"t": "Container",
|
|
1087
|
+
"es": "box",
|
|
1088
|
+
"layer": "Plans",
|
|
1089
|
+
"lay": {
|
|
1090
|
+
"display": "grid",
|
|
1091
|
+
"gridTemplateColumns": "repeat(3, minmax(0, 1fr))",
|
|
1092
|
+
"gap": "var(--iox-space-gap)",
|
|
1093
|
+
"alignItems": "stretch"
|
|
1094
|
+
},
|
|
1095
|
+
"resp": {
|
|
1096
|
+
"mobile": {
|
|
1097
|
+
"gridTemplateColumns": "minmax(0, 1fr)"
|
|
1098
|
+
}
|
|
1099
|
+
},
|
|
1100
|
+
"c": [
|
|
1101
|
+
{
|
|
1102
|
+
"t": "Container",
|
|
1103
|
+
"recipe": "card",
|
|
1104
|
+
"layout": "top",
|
|
1105
|
+
"ph": "copy",
|
|
1106
|
+
"parts": {
|
|
1107
|
+
"media": false,
|
|
1108
|
+
"eyebrow": false,
|
|
1109
|
+
"badge": false,
|
|
1110
|
+
"actions": false
|
|
1111
|
+
},
|
|
1112
|
+
"words": {
|
|
1113
|
+
"title": "First plan",
|
|
1114
|
+
"text": "Who this plan is for, in one sentence."
|
|
1115
|
+
},
|
|
1116
|
+
"c": [
|
|
1117
|
+
{
|
|
1118
|
+
"t": "Container",
|
|
1119
|
+
"es": "box",
|
|
1120
|
+
"layer": "Price · Monthly",
|
|
1121
|
+
"shownWhen": "monthly",
|
|
1122
|
+
"lay": {
|
|
1123
|
+
"display": "flex",
|
|
1124
|
+
"alignItems": "baseline",
|
|
1125
|
+
"flexWrap": "wrap",
|
|
1126
|
+
"gap": "6px"
|
|
1127
|
+
},
|
|
1128
|
+
"c": [
|
|
1129
|
+
{
|
|
1130
|
+
"t": "Text",
|
|
1131
|
+
"es": "price",
|
|
1132
|
+
"ph": "price",
|
|
1133
|
+
"text": "Monthly price",
|
|
1134
|
+
"lay": {
|
|
1135
|
+
"width": "auto"
|
|
1136
|
+
}
|
|
1137
|
+
},
|
|
1138
|
+
{
|
|
1139
|
+
"t": "Text",
|
|
1140
|
+
"es": "small",
|
|
1141
|
+
"text": "per month",
|
|
1142
|
+
"lay": {
|
|
1143
|
+
"width": "auto"
|
|
1144
|
+
}
|
|
1145
|
+
}
|
|
1146
|
+
]
|
|
1147
|
+
},
|
|
1148
|
+
{
|
|
1149
|
+
"t": "Container",
|
|
1150
|
+
"es": "box",
|
|
1151
|
+
"layer": "Price · Yearly",
|
|
1152
|
+
"shownWhen": "yearly",
|
|
1153
|
+
"lay": {
|
|
1154
|
+
"display": "flex",
|
|
1155
|
+
"alignItems": "baseline",
|
|
1156
|
+
"flexWrap": "wrap",
|
|
1157
|
+
"gap": "6px"
|
|
1158
|
+
},
|
|
1159
|
+
"c": [
|
|
1160
|
+
{
|
|
1161
|
+
"t": "Text",
|
|
1162
|
+
"es": "price",
|
|
1163
|
+
"ph": "price",
|
|
1164
|
+
"text": "Yearly price",
|
|
1165
|
+
"lay": {
|
|
1166
|
+
"width": "auto"
|
|
1167
|
+
}
|
|
1168
|
+
},
|
|
1169
|
+
{
|
|
1170
|
+
"t": "Text",
|
|
1171
|
+
"es": "small",
|
|
1172
|
+
"text": "per year",
|
|
1173
|
+
"lay": {
|
|
1174
|
+
"width": "auto"
|
|
1175
|
+
}
|
|
1176
|
+
}
|
|
1177
|
+
]
|
|
1178
|
+
},
|
|
1179
|
+
{
|
|
1180
|
+
"t": "Container",
|
|
1181
|
+
"es": "box",
|
|
1182
|
+
"layer": "Includes",
|
|
1183
|
+
"lay": {
|
|
1184
|
+
"display": "flex",
|
|
1185
|
+
"flexDirection": "column",
|
|
1186
|
+
"gap": "8px"
|
|
1187
|
+
},
|
|
1188
|
+
"c": [
|
|
1189
|
+
{
|
|
1190
|
+
"t": "Container",
|
|
1191
|
+
"es": "box",
|
|
1192
|
+
"lay": {
|
|
1193
|
+
"display": "flex",
|
|
1194
|
+
"flexWrap": "nowrap",
|
|
1195
|
+
"gap": "8px",
|
|
1196
|
+
"alignItems": "center"
|
|
1197
|
+
},
|
|
1198
|
+
"c": [
|
|
1199
|
+
{
|
|
1200
|
+
"t": "Icon",
|
|
1201
|
+
"es": "icon",
|
|
1202
|
+
"icon": "ph ph-check"
|
|
1203
|
+
},
|
|
1204
|
+
{
|
|
1205
|
+
"t": "Text",
|
|
1206
|
+
"es": "body",
|
|
1207
|
+
"ph": "copy",
|
|
1208
|
+
"text": "What this plan includes"
|
|
1209
|
+
}
|
|
1210
|
+
]
|
|
1211
|
+
},
|
|
1212
|
+
{
|
|
1213
|
+
"t": "Container",
|
|
1214
|
+
"es": "box",
|
|
1215
|
+
"lay": {
|
|
1216
|
+
"display": "flex",
|
|
1217
|
+
"flexWrap": "nowrap",
|
|
1218
|
+
"gap": "8px",
|
|
1219
|
+
"alignItems": "center"
|
|
1220
|
+
},
|
|
1221
|
+
"c": [
|
|
1222
|
+
{
|
|
1223
|
+
"t": "Icon",
|
|
1224
|
+
"es": "icon",
|
|
1225
|
+
"icon": "ph ph-check"
|
|
1226
|
+
},
|
|
1227
|
+
{
|
|
1228
|
+
"t": "Text",
|
|
1229
|
+
"es": "body",
|
|
1230
|
+
"ph": "copy",
|
|
1231
|
+
"text": "What this plan includes"
|
|
1232
|
+
}
|
|
1233
|
+
]
|
|
1234
|
+
},
|
|
1235
|
+
{
|
|
1236
|
+
"t": "Container",
|
|
1237
|
+
"es": "box",
|
|
1238
|
+
"lay": {
|
|
1239
|
+
"display": "flex",
|
|
1240
|
+
"flexWrap": "nowrap",
|
|
1241
|
+
"gap": "8px",
|
|
1242
|
+
"alignItems": "center"
|
|
1243
|
+
},
|
|
1244
|
+
"c": [
|
|
1245
|
+
{
|
|
1246
|
+
"t": "Icon",
|
|
1247
|
+
"es": "icon",
|
|
1248
|
+
"icon": "ph ph-check"
|
|
1249
|
+
},
|
|
1250
|
+
{
|
|
1251
|
+
"t": "Text",
|
|
1252
|
+
"es": "body",
|
|
1253
|
+
"ph": "copy",
|
|
1254
|
+
"text": "What this plan includes"
|
|
1255
|
+
}
|
|
1256
|
+
]
|
|
1257
|
+
}
|
|
1258
|
+
]
|
|
1259
|
+
},
|
|
1260
|
+
{
|
|
1261
|
+
"t": "Container",
|
|
1262
|
+
"es": "box",
|
|
1263
|
+
"role": "card.actions",
|
|
1264
|
+
"layer": "Buttons",
|
|
1265
|
+
"lay": {
|
|
1266
|
+
"display": "flex",
|
|
1267
|
+
"flexWrap": "wrap",
|
|
1268
|
+
"gap": "8px",
|
|
1269
|
+
"alignItems": "center",
|
|
1270
|
+
"width": "100%",
|
|
1271
|
+
"margin": "auto 0px 0px 0px",
|
|
1272
|
+
"padding": "6px 0px 0px 0px"
|
|
1273
|
+
},
|
|
1274
|
+
"c": [
|
|
1275
|
+
{
|
|
1276
|
+
"t": "ButtonBlock",
|
|
1277
|
+
"es": "button-primary",
|
|
1278
|
+
"href": "/contact",
|
|
1279
|
+
"text": "Choose this plan"
|
|
1280
|
+
}
|
|
1281
|
+
]
|
|
1282
|
+
}
|
|
1283
|
+
]
|
|
1284
|
+
},
|
|
1285
|
+
{
|
|
1286
|
+
"t": "Container",
|
|
1287
|
+
"recipe": "card",
|
|
1288
|
+
"layout": "top",
|
|
1289
|
+
"ph": "copy",
|
|
1290
|
+
"scheme": "accent",
|
|
1291
|
+
"badge": "neutral",
|
|
1292
|
+
"icon": "ph ph-sparkle",
|
|
1293
|
+
"parts": {
|
|
1294
|
+
"media": false,
|
|
1295
|
+
"eyebrow": false,
|
|
1296
|
+
"badge": true,
|
|
1297
|
+
"actions": false
|
|
1298
|
+
},
|
|
1299
|
+
"words": {
|
|
1300
|
+
"title": "Second plan",
|
|
1301
|
+
"text": "Who this plan is for, in one sentence.",
|
|
1302
|
+
"badge": "Most popular"
|
|
1303
|
+
},
|
|
1304
|
+
"c": [
|
|
1305
|
+
{
|
|
1306
|
+
"t": "Container",
|
|
1307
|
+
"es": "box",
|
|
1308
|
+
"layer": "Price · Monthly",
|
|
1309
|
+
"shownWhen": "monthly",
|
|
1310
|
+
"lay": {
|
|
1311
|
+
"display": "flex",
|
|
1312
|
+
"alignItems": "baseline",
|
|
1313
|
+
"flexWrap": "wrap",
|
|
1314
|
+
"gap": "6px"
|
|
1315
|
+
},
|
|
1316
|
+
"c": [
|
|
1317
|
+
{
|
|
1318
|
+
"t": "Text",
|
|
1319
|
+
"es": "price",
|
|
1320
|
+
"ph": "price",
|
|
1321
|
+
"text": "Monthly price",
|
|
1322
|
+
"lay": {
|
|
1323
|
+
"width": "auto"
|
|
1324
|
+
}
|
|
1325
|
+
},
|
|
1326
|
+
{
|
|
1327
|
+
"t": "Text",
|
|
1328
|
+
"es": "small",
|
|
1329
|
+
"text": "per month",
|
|
1330
|
+
"lay": {
|
|
1331
|
+
"width": "auto"
|
|
1332
|
+
}
|
|
1333
|
+
}
|
|
1334
|
+
]
|
|
1335
|
+
},
|
|
1336
|
+
{
|
|
1337
|
+
"t": "Container",
|
|
1338
|
+
"es": "box",
|
|
1339
|
+
"layer": "Price · Yearly",
|
|
1340
|
+
"shownWhen": "yearly",
|
|
1341
|
+
"lay": {
|
|
1342
|
+
"display": "flex",
|
|
1343
|
+
"alignItems": "baseline",
|
|
1344
|
+
"flexWrap": "wrap",
|
|
1345
|
+
"gap": "6px"
|
|
1346
|
+
},
|
|
1347
|
+
"c": [
|
|
1348
|
+
{
|
|
1349
|
+
"t": "Text",
|
|
1350
|
+
"es": "price",
|
|
1351
|
+
"ph": "price",
|
|
1352
|
+
"text": "Yearly price",
|
|
1353
|
+
"lay": {
|
|
1354
|
+
"width": "auto"
|
|
1355
|
+
}
|
|
1356
|
+
},
|
|
1357
|
+
{
|
|
1358
|
+
"t": "Text",
|
|
1359
|
+
"es": "small",
|
|
1360
|
+
"text": "per year",
|
|
1361
|
+
"lay": {
|
|
1362
|
+
"width": "auto"
|
|
1363
|
+
}
|
|
1364
|
+
}
|
|
1365
|
+
]
|
|
1366
|
+
},
|
|
1367
|
+
{
|
|
1368
|
+
"t": "Container",
|
|
1369
|
+
"es": "box",
|
|
1370
|
+
"layer": "Includes",
|
|
1371
|
+
"lay": {
|
|
1372
|
+
"display": "flex",
|
|
1373
|
+
"flexDirection": "column",
|
|
1374
|
+
"gap": "8px"
|
|
1375
|
+
},
|
|
1376
|
+
"c": [
|
|
1377
|
+
{
|
|
1378
|
+
"t": "Container",
|
|
1379
|
+
"es": "box",
|
|
1380
|
+
"lay": {
|
|
1381
|
+
"display": "flex",
|
|
1382
|
+
"flexWrap": "nowrap",
|
|
1383
|
+
"gap": "8px",
|
|
1384
|
+
"alignItems": "center"
|
|
1385
|
+
},
|
|
1386
|
+
"c": [
|
|
1387
|
+
{
|
|
1388
|
+
"t": "Icon",
|
|
1389
|
+
"es": "icon",
|
|
1390
|
+
"icon": "ph ph-check"
|
|
1391
|
+
},
|
|
1392
|
+
{
|
|
1393
|
+
"t": "Text",
|
|
1394
|
+
"es": "body",
|
|
1395
|
+
"ph": "copy",
|
|
1396
|
+
"text": "What this plan includes"
|
|
1397
|
+
}
|
|
1398
|
+
]
|
|
1399
|
+
},
|
|
1400
|
+
{
|
|
1401
|
+
"t": "Container",
|
|
1402
|
+
"es": "box",
|
|
1403
|
+
"lay": {
|
|
1404
|
+
"display": "flex",
|
|
1405
|
+
"flexWrap": "nowrap",
|
|
1406
|
+
"gap": "8px",
|
|
1407
|
+
"alignItems": "center"
|
|
1408
|
+
},
|
|
1409
|
+
"c": [
|
|
1410
|
+
{
|
|
1411
|
+
"t": "Icon",
|
|
1412
|
+
"es": "icon",
|
|
1413
|
+
"icon": "ph ph-check"
|
|
1414
|
+
},
|
|
1415
|
+
{
|
|
1416
|
+
"t": "Text",
|
|
1417
|
+
"es": "body",
|
|
1418
|
+
"ph": "copy",
|
|
1419
|
+
"text": "What this plan includes"
|
|
1420
|
+
}
|
|
1421
|
+
]
|
|
1422
|
+
},
|
|
1423
|
+
{
|
|
1424
|
+
"t": "Container",
|
|
1425
|
+
"es": "box",
|
|
1426
|
+
"lay": {
|
|
1427
|
+
"display": "flex",
|
|
1428
|
+
"flexWrap": "nowrap",
|
|
1429
|
+
"gap": "8px",
|
|
1430
|
+
"alignItems": "center"
|
|
1431
|
+
},
|
|
1432
|
+
"c": [
|
|
1433
|
+
{
|
|
1434
|
+
"t": "Icon",
|
|
1435
|
+
"es": "icon",
|
|
1436
|
+
"icon": "ph ph-check"
|
|
1437
|
+
},
|
|
1438
|
+
{
|
|
1439
|
+
"t": "Text",
|
|
1440
|
+
"es": "body",
|
|
1441
|
+
"ph": "copy",
|
|
1442
|
+
"text": "What this plan includes"
|
|
1443
|
+
}
|
|
1444
|
+
]
|
|
1445
|
+
}
|
|
1446
|
+
]
|
|
1447
|
+
},
|
|
1448
|
+
{
|
|
1449
|
+
"t": "Container",
|
|
1450
|
+
"es": "box",
|
|
1451
|
+
"role": "card.actions",
|
|
1452
|
+
"layer": "Buttons",
|
|
1453
|
+
"lay": {
|
|
1454
|
+
"display": "flex",
|
|
1455
|
+
"flexWrap": "wrap",
|
|
1456
|
+
"gap": "8px",
|
|
1457
|
+
"alignItems": "center",
|
|
1458
|
+
"width": "100%",
|
|
1459
|
+
"margin": "auto 0px 0px 0px",
|
|
1460
|
+
"padding": "6px 0px 0px 0px"
|
|
1461
|
+
},
|
|
1462
|
+
"c": [
|
|
1463
|
+
{
|
|
1464
|
+
"t": "ButtonBlock",
|
|
1465
|
+
"es": "button-primary",
|
|
1466
|
+
"href": "/contact",
|
|
1467
|
+
"text": "Choose this plan"
|
|
1468
|
+
}
|
|
1469
|
+
]
|
|
1470
|
+
}
|
|
1471
|
+
]
|
|
1472
|
+
},
|
|
1473
|
+
{
|
|
1474
|
+
"t": "Container",
|
|
1475
|
+
"recipe": "card",
|
|
1476
|
+
"layout": "top",
|
|
1477
|
+
"ph": "copy",
|
|
1478
|
+
"parts": {
|
|
1479
|
+
"media": false,
|
|
1480
|
+
"eyebrow": false,
|
|
1481
|
+
"badge": false,
|
|
1482
|
+
"actions": false
|
|
1483
|
+
},
|
|
1484
|
+
"words": {
|
|
1485
|
+
"title": "Third plan",
|
|
1486
|
+
"text": "Who this plan is for, in one sentence."
|
|
1487
|
+
},
|
|
1488
|
+
"c": [
|
|
1489
|
+
{
|
|
1490
|
+
"t": "Container",
|
|
1491
|
+
"es": "box",
|
|
1492
|
+
"layer": "Price · Monthly",
|
|
1493
|
+
"shownWhen": "monthly",
|
|
1494
|
+
"lay": {
|
|
1495
|
+
"display": "flex",
|
|
1496
|
+
"alignItems": "baseline",
|
|
1497
|
+
"flexWrap": "wrap",
|
|
1498
|
+
"gap": "6px"
|
|
1499
|
+
},
|
|
1500
|
+
"c": [
|
|
1501
|
+
{
|
|
1502
|
+
"t": "Text",
|
|
1503
|
+
"es": "price",
|
|
1504
|
+
"ph": "price",
|
|
1505
|
+
"text": "Monthly price",
|
|
1506
|
+
"lay": {
|
|
1507
|
+
"width": "auto"
|
|
1508
|
+
}
|
|
1509
|
+
},
|
|
1510
|
+
{
|
|
1511
|
+
"t": "Text",
|
|
1512
|
+
"es": "small",
|
|
1513
|
+
"text": "per month",
|
|
1514
|
+
"lay": {
|
|
1515
|
+
"width": "auto"
|
|
1516
|
+
}
|
|
1517
|
+
}
|
|
1518
|
+
]
|
|
1519
|
+
},
|
|
1520
|
+
{
|
|
1521
|
+
"t": "Container",
|
|
1522
|
+
"es": "box",
|
|
1523
|
+
"layer": "Price · Yearly",
|
|
1524
|
+
"shownWhen": "yearly",
|
|
1525
|
+
"lay": {
|
|
1526
|
+
"display": "flex",
|
|
1527
|
+
"alignItems": "baseline",
|
|
1528
|
+
"flexWrap": "wrap",
|
|
1529
|
+
"gap": "6px"
|
|
1530
|
+
},
|
|
1531
|
+
"c": [
|
|
1532
|
+
{
|
|
1533
|
+
"t": "Text",
|
|
1534
|
+
"es": "price",
|
|
1535
|
+
"ph": "price",
|
|
1536
|
+
"text": "Yearly price",
|
|
1537
|
+
"lay": {
|
|
1538
|
+
"width": "auto"
|
|
1539
|
+
}
|
|
1540
|
+
},
|
|
1541
|
+
{
|
|
1542
|
+
"t": "Text",
|
|
1543
|
+
"es": "small",
|
|
1544
|
+
"text": "per year",
|
|
1545
|
+
"lay": {
|
|
1546
|
+
"width": "auto"
|
|
1547
|
+
}
|
|
1548
|
+
}
|
|
1549
|
+
]
|
|
1550
|
+
},
|
|
1551
|
+
{
|
|
1552
|
+
"t": "Container",
|
|
1553
|
+
"es": "box",
|
|
1554
|
+
"layer": "Includes",
|
|
1555
|
+
"lay": {
|
|
1556
|
+
"display": "flex",
|
|
1557
|
+
"flexDirection": "column",
|
|
1558
|
+
"gap": "8px"
|
|
1559
|
+
},
|
|
1560
|
+
"c": [
|
|
1561
|
+
{
|
|
1562
|
+
"t": "Container",
|
|
1563
|
+
"es": "box",
|
|
1564
|
+
"lay": {
|
|
1565
|
+
"display": "flex",
|
|
1566
|
+
"flexWrap": "nowrap",
|
|
1567
|
+
"gap": "8px",
|
|
1568
|
+
"alignItems": "center"
|
|
1569
|
+
},
|
|
1570
|
+
"c": [
|
|
1571
|
+
{
|
|
1572
|
+
"t": "Icon",
|
|
1573
|
+
"es": "icon",
|
|
1574
|
+
"icon": "ph ph-check"
|
|
1575
|
+
},
|
|
1576
|
+
{
|
|
1577
|
+
"t": "Text",
|
|
1578
|
+
"es": "body",
|
|
1579
|
+
"ph": "copy",
|
|
1580
|
+
"text": "What this plan includes"
|
|
1581
|
+
}
|
|
1582
|
+
]
|
|
1583
|
+
},
|
|
1584
|
+
{
|
|
1585
|
+
"t": "Container",
|
|
1586
|
+
"es": "box",
|
|
1587
|
+
"lay": {
|
|
1588
|
+
"display": "flex",
|
|
1589
|
+
"flexWrap": "nowrap",
|
|
1590
|
+
"gap": "8px",
|
|
1591
|
+
"alignItems": "center"
|
|
1592
|
+
},
|
|
1593
|
+
"c": [
|
|
1594
|
+
{
|
|
1595
|
+
"t": "Icon",
|
|
1596
|
+
"es": "icon",
|
|
1597
|
+
"icon": "ph ph-check"
|
|
1598
|
+
},
|
|
1599
|
+
{
|
|
1600
|
+
"t": "Text",
|
|
1601
|
+
"es": "body",
|
|
1602
|
+
"ph": "copy",
|
|
1603
|
+
"text": "What this plan includes"
|
|
1604
|
+
}
|
|
1605
|
+
]
|
|
1606
|
+
},
|
|
1607
|
+
{
|
|
1608
|
+
"t": "Container",
|
|
1609
|
+
"es": "box",
|
|
1610
|
+
"lay": {
|
|
1611
|
+
"display": "flex",
|
|
1612
|
+
"flexWrap": "nowrap",
|
|
1613
|
+
"gap": "8px",
|
|
1614
|
+
"alignItems": "center"
|
|
1615
|
+
},
|
|
1616
|
+
"c": [
|
|
1617
|
+
{
|
|
1618
|
+
"t": "Icon",
|
|
1619
|
+
"es": "icon",
|
|
1620
|
+
"icon": "ph ph-check"
|
|
1621
|
+
},
|
|
1622
|
+
{
|
|
1623
|
+
"t": "Text",
|
|
1624
|
+
"es": "body",
|
|
1625
|
+
"ph": "copy",
|
|
1626
|
+
"text": "What this plan includes"
|
|
1627
|
+
}
|
|
1628
|
+
]
|
|
1629
|
+
}
|
|
1630
|
+
]
|
|
1631
|
+
},
|
|
1632
|
+
{
|
|
1633
|
+
"t": "Container",
|
|
1634
|
+
"es": "box",
|
|
1635
|
+
"role": "card.actions",
|
|
1636
|
+
"layer": "Buttons",
|
|
1637
|
+
"lay": {
|
|
1638
|
+
"display": "flex",
|
|
1639
|
+
"flexWrap": "wrap",
|
|
1640
|
+
"gap": "8px",
|
|
1641
|
+
"alignItems": "center",
|
|
1642
|
+
"width": "100%",
|
|
1643
|
+
"margin": "auto 0px 0px 0px",
|
|
1644
|
+
"padding": "6px 0px 0px 0px"
|
|
1645
|
+
},
|
|
1646
|
+
"c": [
|
|
1647
|
+
{
|
|
1648
|
+
"t": "ButtonBlock",
|
|
1649
|
+
"es": "button-primary",
|
|
1650
|
+
"href": "/contact",
|
|
1651
|
+
"text": "Choose this plan"
|
|
1652
|
+
}
|
|
1653
|
+
]
|
|
1654
|
+
}
|
|
1655
|
+
]
|
|
1656
|
+
}
|
|
1657
|
+
]
|
|
1658
|
+
}
|
|
1659
|
+
],
|
|
1660
|
+
"lay": {
|
|
1661
|
+
"display": "flex",
|
|
1662
|
+
"flexDirection": "column",
|
|
1663
|
+
"gap": "32px"
|
|
1664
|
+
}
|
|
1665
|
+
}
|
|
1666
|
+
},
|
|
1028
1667
|
"hero.full-bleed-media": {
|
|
1029
1668
|
"family": "hero",
|
|
1030
1669
|
"label": "Hero — words over a background video",
|