@getvitops/generator 1.0.0 → 2.0.0
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/CHANGELOG.md +743 -0
- package/README.md +8 -1
- package/assets/bricks/elements/icon.php +102 -0
- package/assets/bricks/elements/split.php +8 -5
- package/assets/bricks/load.php +91 -0
- package/assets/css/animation.css +145 -34
- package/assets/css/global.css +19 -3
- package/assets/css/index.css +8 -0
- package/assets/css/layout-utilities.css +764 -0
- package/assets/css/layout.css +50 -584
- package/assets/css/patterns/consent.css +117 -0
- package/assets/css/patterns/details.css +1 -1
- package/assets/css/patterns/reveal.css +92 -0
- package/assets/css/patterns/subgrid.css +7 -2
- package/assets/css/patterns/theme-editor.css +37 -0
- package/assets/css/utilities.css +19 -98
- package/assets/js/consent.js +1 -0
- package/assets/js/deferred.js +1 -1
- package/assets/js/editor.js +1 -1
- package/dist/index.d.mts +668 -252
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +956 -133
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -3
- package/schema.json +3 -3
- package/site.schema.json +554 -506
package/assets/css/layout.css
CHANGED
|
@@ -71,54 +71,6 @@
|
|
|
71
71
|
margin-top: calc(var(--rhythm-base) * var(--rhythm-media-text));
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
-
/* Manual rhythm overrides (apply to the second element of a pair) */
|
|
75
|
-
.m-h-p {
|
|
76
|
-
margin-top: calc(var(--rhythm-base) * var(--rhythm-h-p));
|
|
77
|
-
}
|
|
78
|
-
.m-p-p {
|
|
79
|
-
margin-top: calc(var(--rhythm-base) * var(--rhythm-p-p));
|
|
80
|
-
}
|
|
81
|
-
.m-p-h {
|
|
82
|
-
margin-top: calc(var(--rhythm-base) * var(--rhythm-p-h));
|
|
83
|
-
}
|
|
84
|
-
.m-h-h {
|
|
85
|
-
margin-top: calc(var(--rhythm-base) * var(--rhythm-h-h));
|
|
86
|
-
}
|
|
87
|
-
.m-p-list {
|
|
88
|
-
margin-top: calc(var(--rhythm-base) * var(--rhythm-p-list));
|
|
89
|
-
}
|
|
90
|
-
.m-list-p {
|
|
91
|
-
margin-top: calc(var(--rhythm-base) * var(--rhythm-list-p));
|
|
92
|
-
}
|
|
93
|
-
.m-li-li {
|
|
94
|
-
margin-top: calc(var(--rhythm-base) * var(--rhythm-li-li));
|
|
95
|
-
}
|
|
96
|
-
.m-text-media {
|
|
97
|
-
margin-top: calc(var(--rhythm-base) * var(--rhythm-text-media));
|
|
98
|
-
}
|
|
99
|
-
.m-media-text {
|
|
100
|
-
margin-top: calc(var(--rhythm-base) * var(--rhythm-media-text));
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
.m-0 {
|
|
104
|
-
margin-top: 0;
|
|
105
|
-
}
|
|
106
|
-
.m-xs {
|
|
107
|
-
margin-top: calc(var(--rhythm-base) * 0.25);
|
|
108
|
-
}
|
|
109
|
-
.m-s {
|
|
110
|
-
margin-top: calc(var(--rhythm-base) * 0.5);
|
|
111
|
-
}
|
|
112
|
-
.m-m {
|
|
113
|
-
margin-top: calc(var(--rhythm-base) * 1);
|
|
114
|
-
}
|
|
115
|
-
.m-l {
|
|
116
|
-
margin-top: calc(var(--rhythm-base) * 1.5);
|
|
117
|
-
}
|
|
118
|
-
.m-xl {
|
|
119
|
-
margin-top: calc(var(--rhythm-base) * 2);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
74
|
/* ═══════════════════════════════════════════════════════════════════════════
|
|
123
75
|
4. CENTERED SECTIONS — named-track grid
|
|
124
76
|
Put .centered on a Div. Children default to the measure (reading) track;
|
|
@@ -160,78 +112,6 @@ body {
|
|
|
160
112
|
grid-column: measure;
|
|
161
113
|
}
|
|
162
114
|
|
|
163
|
-
/* Bare placement. .measure restates the default (redundant but parser-visible). */
|
|
164
|
-
.measure {
|
|
165
|
-
grid-column: measure;
|
|
166
|
-
}
|
|
167
|
-
.breakout {
|
|
168
|
-
grid-column: breakout;
|
|
169
|
-
}
|
|
170
|
-
.spotlight {
|
|
171
|
-
grid-column: spotlight;
|
|
172
|
-
}
|
|
173
|
-
.fullbleed {
|
|
174
|
-
grid-column: fullbleed;
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
/* Promotion variants (base = measure; widen past each container breakpoint) */
|
|
178
|
-
@container (min-width: 30rem) {
|
|
179
|
-
.sm-measure {
|
|
180
|
-
grid-column: measure;
|
|
181
|
-
}
|
|
182
|
-
.sm-breakout {
|
|
183
|
-
grid-column: breakout;
|
|
184
|
-
}
|
|
185
|
-
.sm-spotlight {
|
|
186
|
-
grid-column: spotlight;
|
|
187
|
-
}
|
|
188
|
-
.sm-fullbleed {
|
|
189
|
-
grid-column: fullbleed;
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
@container (min-width: 48rem) {
|
|
193
|
-
.md-measure {
|
|
194
|
-
grid-column: measure;
|
|
195
|
-
}
|
|
196
|
-
.md-breakout {
|
|
197
|
-
grid-column: breakout;
|
|
198
|
-
}
|
|
199
|
-
.md-spotlight {
|
|
200
|
-
grid-column: spotlight;
|
|
201
|
-
}
|
|
202
|
-
.md-fullbleed {
|
|
203
|
-
grid-column: fullbleed;
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
@container (min-width: 64rem) {
|
|
207
|
-
.lg-measure {
|
|
208
|
-
grid-column: measure;
|
|
209
|
-
}
|
|
210
|
-
.lg-breakout {
|
|
211
|
-
grid-column: breakout;
|
|
212
|
-
}
|
|
213
|
-
.lg-spotlight {
|
|
214
|
-
grid-column: spotlight;
|
|
215
|
-
}
|
|
216
|
-
.lg-fullbleed {
|
|
217
|
-
grid-column: fullbleed;
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
@container (min-width: 80rem) {
|
|
221
|
-
.xl-measure {
|
|
222
|
-
grid-column: measure;
|
|
223
|
-
}
|
|
224
|
-
.xl-breakout {
|
|
225
|
-
grid-column: breakout;
|
|
226
|
-
}
|
|
227
|
-
.xl-spotlight {
|
|
228
|
-
grid-column: spotlight;
|
|
229
|
-
}
|
|
230
|
-
.xl-fullbleed {
|
|
231
|
-
grid-column: fullbleed;
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
|
|
235
115
|
/* Vertical rhythm region (usually on the Section) */
|
|
236
116
|
.region {
|
|
237
117
|
padding-block: clamp(
|
|
@@ -242,482 +122,68 @@ body {
|
|
|
242
122
|
}
|
|
243
123
|
|
|
244
124
|
/* ═══════════════════════════════════════════════════════════════════════════
|
|
245
|
-
5.
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
125
|
+
5. SPLIT — a two-column pair
|
|
126
|
+
The ratio classes, the reversal and every other utility named here live in
|
|
127
|
+
layout-utilities.css, which is mapped to `vitops.utilities`. This file is
|
|
128
|
+
`vitops.components`, so a utility beats this pattern BY LAYER — there is no
|
|
129
|
+
source order to maintain, and `class="split flex-col md-split-1-2"` means the
|
|
130
|
+
same thing in every format.
|
|
249
131
|
═══════════════════════════════════════════════════════════════════════════ */
|
|
250
132
|
|
|
251
|
-
/* ── Flex direction (display + direction; tiered classes set both) ── */
|
|
252
|
-
.flex {
|
|
253
|
-
display: flex;
|
|
254
|
-
/* Set direction explicitly (not just `display:flex`): hosts like Bricks' block
|
|
255
|
-
element default `flex-direction: column`, which would otherwise win. `.flex-col`
|
|
256
|
-
still overrides. */
|
|
257
|
-
flex-direction: row;
|
|
258
|
-
--_flex-direction: row;
|
|
259
|
-
}
|
|
260
|
-
/* Each direction class also publishes --_flex-direction so descendants (e.g. .group)
|
|
261
|
-
can read the container's axis via a style query and adapt when it flips responsively. */
|
|
262
|
-
.flex-row {
|
|
263
|
-
flex-direction: row;
|
|
264
|
-
--_flex-direction: row;
|
|
265
|
-
}
|
|
266
|
-
.flex-col {
|
|
267
|
-
flex-direction: column;
|
|
268
|
-
--_flex-direction: column;
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
@container (min-width: 30rem) {
|
|
272
|
-
.sm-flex {
|
|
273
|
-
display: flex;
|
|
274
|
-
}
|
|
275
|
-
.sm-flex-row {
|
|
276
|
-
display: flex;
|
|
277
|
-
flex-direction: row;
|
|
278
|
-
--_flex-direction: row;
|
|
279
|
-
}
|
|
280
|
-
.sm-flex-col {
|
|
281
|
-
display: flex;
|
|
282
|
-
flex-direction: column;
|
|
283
|
-
--_flex-direction: column;
|
|
284
|
-
}
|
|
285
|
-
}
|
|
286
|
-
@container (min-width: 48rem) {
|
|
287
|
-
.md-flex {
|
|
288
|
-
display: flex;
|
|
289
|
-
}
|
|
290
|
-
.md-flex-row {
|
|
291
|
-
display: flex;
|
|
292
|
-
flex-direction: row;
|
|
293
|
-
--_flex-direction: row;
|
|
294
|
-
}
|
|
295
|
-
.md-flex-col {
|
|
296
|
-
display: flex;
|
|
297
|
-
flex-direction: column;
|
|
298
|
-
--_flex-direction: column;
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
@container (min-width: 64rem) {
|
|
302
|
-
.lg-flex {
|
|
303
|
-
display: flex;
|
|
304
|
-
}
|
|
305
|
-
.lg-flex-row {
|
|
306
|
-
display: flex;
|
|
307
|
-
flex-direction: row;
|
|
308
|
-
--_flex-direction: row;
|
|
309
|
-
}
|
|
310
|
-
.lg-flex-col {
|
|
311
|
-
display: flex;
|
|
312
|
-
flex-direction: column;
|
|
313
|
-
--_flex-direction: column;
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
|
-
@container (min-width: 80rem) {
|
|
317
|
-
.xl-flex {
|
|
318
|
-
display: flex;
|
|
319
|
-
}
|
|
320
|
-
.xl-flex-row {
|
|
321
|
-
display: flex;
|
|
322
|
-
flex-direction: row;
|
|
323
|
-
--_flex-direction: row;
|
|
324
|
-
}
|
|
325
|
-
.xl-flex-col {
|
|
326
|
-
display: flex;
|
|
327
|
-
flex-direction: column;
|
|
328
|
-
--_flex-direction: column;
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
|
|
332
133
|
/* ── Splits (internal fractions). .split sets its own flex context so it works
|
|
333
134
|
standalone AND is registered by Bricks' parser (a non-empty bare rule). ── */
|
|
334
135
|
.split {
|
|
335
136
|
display: flex;
|
|
137
|
+
/* Restates the initial value so a HOST that defaults the element to `column`
|
|
138
|
+
— Bricks' block element — doesn't turn a split into a stack. Note the limit
|
|
139
|
+
of that: this rule is layered, and unlayered CSS beats every layer, so it
|
|
140
|
+
only wins against a host whose rule is itself layered or lower-specificity.
|
|
141
|
+
`.flex` carries the same caveat. */
|
|
142
|
+
flex-direction: row;
|
|
336
143
|
}
|
|
337
144
|
/* Equal by default. A ratio class sets two flex vars on the container (any a:b
|
|
338
|
-
in one line); the first/last child read them
|
|
339
|
-
ratio from a container breakpoint
|
|
145
|
+
in one line); the first/last child read them; the class lives one layer up.
|
|
146
|
+
Responsive prefixes engage the ratio from a container breakpoint AND assert
|
|
147
|
+
the row, which is what lets `.flex-col` stack the pair below that breakpoint. */
|
|
340
148
|
.split > * {
|
|
341
149
|
flex: 1;
|
|
150
|
+
/* Load-bearing for the ratio below, which is a flex BASIS: a basis sizes the
|
|
151
|
+
border box only when the item IS border-box. `global.css` sets that
|
|
152
|
+
globally; restated here at a higher layer so the pattern still holds if a
|
|
153
|
+
consumer overrides the reset in a layer of their own, and so the dependency
|
|
154
|
+
is visible where it matters. */
|
|
155
|
+
box-sizing: border-box;
|
|
156
|
+
/* A flex item's automatic minimum is its min-content size, so one long
|
|
157
|
+
unbreakable run (a URL, a code span, a `<pre>`) pushes its column past its
|
|
158
|
+
share and the ratio quietly stops holding. Every consumer was re-deriving
|
|
159
|
+
this as `min-w-0`; it belongs to the pattern. */
|
|
160
|
+
min-inline-size: 0;
|
|
342
161
|
}
|
|
343
162
|
.split > :first-child {
|
|
344
|
-
flex: var(--_split-a, 1);
|
|
163
|
+
flex-grow: var(--_split-a, 1);
|
|
345
164
|
}
|
|
346
165
|
.split > :last-child {
|
|
347
|
-
flex: var(--_split-b, 1);
|
|
348
|
-
}
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
--_split-b
|
|
370
|
-
}
|
|
371
|
-
.split-3-1 {
|
|
372
|
-
--_split-a: 3;
|
|
373
|
-
--_split-b: 1;
|
|
374
|
-
}
|
|
375
|
-
.split-1-4 {
|
|
376
|
-
--_split-a: 1;
|
|
377
|
-
--_split-b: 4;
|
|
378
|
-
}
|
|
379
|
-
.split-4-1 {
|
|
380
|
-
--_split-a: 4;
|
|
381
|
-
--_split-b: 1;
|
|
382
|
-
}
|
|
383
|
-
.split-2-3 {
|
|
384
|
-
--_split-a: 2;
|
|
385
|
-
--_split-b: 3;
|
|
386
|
-
}
|
|
387
|
-
.split-3-2 {
|
|
388
|
-
--_split-a: 3;
|
|
389
|
-
--_split-b: 2;
|
|
390
|
-
}
|
|
391
|
-
|
|
392
|
-
@container (min-width: 30rem) {
|
|
393
|
-
.sm-split {
|
|
394
|
-
--_split-a: 1;
|
|
395
|
-
--_split-b: 1;
|
|
396
|
-
}
|
|
397
|
-
.sm-split-1-2 {
|
|
398
|
-
--_split-a: 1;
|
|
399
|
-
--_split-b: 2;
|
|
400
|
-
}
|
|
401
|
-
.sm-split-2-1 {
|
|
402
|
-
--_split-a: 2;
|
|
403
|
-
--_split-b: 1;
|
|
404
|
-
}
|
|
405
|
-
.sm-split-1-3 {
|
|
406
|
-
--_split-a: 1;
|
|
407
|
-
--_split-b: 3;
|
|
408
|
-
}
|
|
409
|
-
.sm-split-3-1 {
|
|
410
|
-
--_split-a: 3;
|
|
411
|
-
--_split-b: 1;
|
|
412
|
-
}
|
|
413
|
-
.sm-split-1-4 {
|
|
414
|
-
--_split-a: 1;
|
|
415
|
-
--_split-b: 4;
|
|
416
|
-
}
|
|
417
|
-
.sm-split-4-1 {
|
|
418
|
-
--_split-a: 4;
|
|
419
|
-
--_split-b: 1;
|
|
420
|
-
}
|
|
421
|
-
.sm-split-2-3 {
|
|
422
|
-
--_split-a: 2;
|
|
423
|
-
--_split-b: 3;
|
|
424
|
-
}
|
|
425
|
-
.sm-split-3-2 {
|
|
426
|
-
--_split-a: 3;
|
|
427
|
-
--_split-b: 2;
|
|
428
|
-
}
|
|
429
|
-
}
|
|
430
|
-
@container (min-width: 48rem) {
|
|
431
|
-
.md-split {
|
|
432
|
-
--_split-a: 1;
|
|
433
|
-
--_split-b: 1;
|
|
434
|
-
}
|
|
435
|
-
.md-split-1-2 {
|
|
436
|
-
--_split-a: 1;
|
|
437
|
-
--_split-b: 2;
|
|
438
|
-
}
|
|
439
|
-
.md-split-2-1 {
|
|
440
|
-
--_split-a: 2;
|
|
441
|
-
--_split-b: 1;
|
|
442
|
-
}
|
|
443
|
-
.md-split-1-3 {
|
|
444
|
-
--_split-a: 1;
|
|
445
|
-
--_split-b: 3;
|
|
446
|
-
}
|
|
447
|
-
.md-split-3-1 {
|
|
448
|
-
--_split-a: 3;
|
|
449
|
-
--_split-b: 1;
|
|
450
|
-
}
|
|
451
|
-
.md-split-1-4 {
|
|
452
|
-
--_split-a: 1;
|
|
453
|
-
--_split-b: 4;
|
|
454
|
-
}
|
|
455
|
-
.md-split-4-1 {
|
|
456
|
-
--_split-a: 4;
|
|
457
|
-
--_split-b: 1;
|
|
458
|
-
}
|
|
459
|
-
.md-split-2-3 {
|
|
460
|
-
--_split-a: 2;
|
|
461
|
-
--_split-b: 3;
|
|
462
|
-
}
|
|
463
|
-
.md-split-3-2 {
|
|
464
|
-
--_split-a: 3;
|
|
465
|
-
--_split-b: 2;
|
|
466
|
-
}
|
|
467
|
-
}
|
|
468
|
-
@container (min-width: 64rem) {
|
|
469
|
-
.lg-split {
|
|
470
|
-
--_split-a: 1;
|
|
471
|
-
--_split-b: 1;
|
|
472
|
-
}
|
|
473
|
-
.lg-split-1-2 {
|
|
474
|
-
--_split-a: 1;
|
|
475
|
-
--_split-b: 2;
|
|
476
|
-
}
|
|
477
|
-
.lg-split-2-1 {
|
|
478
|
-
--_split-a: 2;
|
|
479
|
-
--_split-b: 1;
|
|
480
|
-
}
|
|
481
|
-
.lg-split-1-3 {
|
|
482
|
-
--_split-a: 1;
|
|
483
|
-
--_split-b: 3;
|
|
484
|
-
}
|
|
485
|
-
.lg-split-3-1 {
|
|
486
|
-
--_split-a: 3;
|
|
487
|
-
--_split-b: 1;
|
|
488
|
-
}
|
|
489
|
-
.lg-split-1-4 {
|
|
490
|
-
--_split-a: 1;
|
|
491
|
-
--_split-b: 4;
|
|
492
|
-
}
|
|
493
|
-
.lg-split-4-1 {
|
|
494
|
-
--_split-a: 4;
|
|
495
|
-
--_split-b: 1;
|
|
496
|
-
}
|
|
497
|
-
.lg-split-2-3 {
|
|
498
|
-
--_split-a: 2;
|
|
499
|
-
--_split-b: 3;
|
|
500
|
-
}
|
|
501
|
-
.lg-split-3-2 {
|
|
502
|
-
--_split-a: 3;
|
|
503
|
-
--_split-b: 2;
|
|
504
|
-
}
|
|
505
|
-
}
|
|
506
|
-
@container (min-width: 80rem) {
|
|
507
|
-
.xl-split {
|
|
508
|
-
--_split-a: 1;
|
|
509
|
-
--_split-b: 1;
|
|
510
|
-
}
|
|
511
|
-
.xl-split-1-2 {
|
|
512
|
-
--_split-a: 1;
|
|
513
|
-
--_split-b: 2;
|
|
514
|
-
}
|
|
515
|
-
.xl-split-2-1 {
|
|
516
|
-
--_split-a: 2;
|
|
517
|
-
--_split-b: 1;
|
|
518
|
-
}
|
|
519
|
-
.xl-split-1-3 {
|
|
520
|
-
--_split-a: 1;
|
|
521
|
-
--_split-b: 3;
|
|
522
|
-
}
|
|
523
|
-
.xl-split-3-1 {
|
|
524
|
-
--_split-a: 3;
|
|
525
|
-
--_split-b: 1;
|
|
526
|
-
}
|
|
527
|
-
.xl-split-1-4 {
|
|
528
|
-
--_split-a: 1;
|
|
529
|
-
--_split-b: 4;
|
|
530
|
-
}
|
|
531
|
-
.xl-split-4-1 {
|
|
532
|
-
--_split-a: 4;
|
|
533
|
-
--_split-b: 1;
|
|
534
|
-
}
|
|
535
|
-
.xl-split-2-3 {
|
|
536
|
-
--_split-a: 2;
|
|
537
|
-
--_split-b: 3;
|
|
538
|
-
}
|
|
539
|
-
.xl-split-3-2 {
|
|
540
|
-
--_split-a: 3;
|
|
541
|
-
--_split-b: 2;
|
|
542
|
-
}
|
|
543
|
-
}
|
|
544
|
-
|
|
545
|
-
/* ── Alignment (flex parents) + text-align. Bare classes, then shared tiers.
|
|
546
|
-
Names mirror Tailwind: items-* (align-items), justify-* (justify-content),
|
|
547
|
-
text-* (text-align). ── */
|
|
548
|
-
.items-start {
|
|
549
|
-
align-items: flex-start;
|
|
550
|
-
}
|
|
551
|
-
.items-center {
|
|
552
|
-
align-items: center;
|
|
553
|
-
}
|
|
554
|
-
.items-end {
|
|
555
|
-
align-items: flex-end;
|
|
556
|
-
}
|
|
557
|
-
.items-stretch {
|
|
558
|
-
align-items: stretch;
|
|
559
|
-
}
|
|
560
|
-
|
|
561
|
-
.justify-start {
|
|
562
|
-
justify-content: flex-start;
|
|
563
|
-
}
|
|
564
|
-
.justify-center {
|
|
565
|
-
justify-content: center;
|
|
566
|
-
}
|
|
567
|
-
.justify-end {
|
|
568
|
-
justify-content: flex-end;
|
|
569
|
-
}
|
|
570
|
-
.justify-between {
|
|
571
|
-
justify-content: space-between;
|
|
572
|
-
}
|
|
573
|
-
|
|
574
|
-
.text-start {
|
|
575
|
-
text-align: start;
|
|
576
|
-
}
|
|
577
|
-
.text-center {
|
|
578
|
-
text-align: center;
|
|
579
|
-
}
|
|
580
|
-
.text-end {
|
|
581
|
-
text-align: end;
|
|
582
|
-
}
|
|
583
|
-
|
|
584
|
-
@container (min-width: 30rem) {
|
|
585
|
-
.sm-items-start {
|
|
586
|
-
align-items: flex-start;
|
|
587
|
-
}
|
|
588
|
-
.sm-items-center {
|
|
589
|
-
align-items: center;
|
|
590
|
-
}
|
|
591
|
-
.sm-items-end {
|
|
592
|
-
align-items: flex-end;
|
|
593
|
-
}
|
|
594
|
-
.sm-items-stretch {
|
|
595
|
-
align-items: stretch;
|
|
596
|
-
}
|
|
597
|
-
.sm-justify-start {
|
|
598
|
-
justify-content: flex-start;
|
|
599
|
-
}
|
|
600
|
-
.sm-justify-center {
|
|
601
|
-
justify-content: center;
|
|
602
|
-
}
|
|
603
|
-
.sm-justify-end {
|
|
604
|
-
justify-content: flex-end;
|
|
605
|
-
}
|
|
606
|
-
.sm-justify-between {
|
|
607
|
-
justify-content: space-between;
|
|
608
|
-
}
|
|
609
|
-
.sm-text-start {
|
|
610
|
-
text-align: start;
|
|
611
|
-
}
|
|
612
|
-
.sm-text-center {
|
|
613
|
-
text-align: center;
|
|
614
|
-
}
|
|
615
|
-
.sm-text-end {
|
|
616
|
-
text-align: end;
|
|
617
|
-
}
|
|
618
|
-
}
|
|
619
|
-
@container (min-width: 48rem) {
|
|
620
|
-
.md-items-start {
|
|
621
|
-
align-items: flex-start;
|
|
622
|
-
}
|
|
623
|
-
.md-items-center {
|
|
624
|
-
align-items: center;
|
|
625
|
-
}
|
|
626
|
-
.md-items-end {
|
|
627
|
-
align-items: flex-end;
|
|
628
|
-
}
|
|
629
|
-
.md-items-stretch {
|
|
630
|
-
align-items: stretch;
|
|
631
|
-
}
|
|
632
|
-
.md-justify-start {
|
|
633
|
-
justify-content: flex-start;
|
|
634
|
-
}
|
|
635
|
-
.md-justify-center {
|
|
636
|
-
justify-content: center;
|
|
637
|
-
}
|
|
638
|
-
.md-justify-end {
|
|
639
|
-
justify-content: flex-end;
|
|
640
|
-
}
|
|
641
|
-
.md-justify-between {
|
|
642
|
-
justify-content: space-between;
|
|
643
|
-
}
|
|
644
|
-
.md-text-start {
|
|
645
|
-
text-align: start;
|
|
646
|
-
}
|
|
647
|
-
.md-text-center {
|
|
648
|
-
text-align: center;
|
|
649
|
-
}
|
|
650
|
-
.md-text-end {
|
|
651
|
-
text-align: end;
|
|
652
|
-
}
|
|
653
|
-
}
|
|
654
|
-
@container (min-width: 64rem) {
|
|
655
|
-
.lg-items-start {
|
|
656
|
-
align-items: flex-start;
|
|
657
|
-
}
|
|
658
|
-
.lg-items-center {
|
|
659
|
-
align-items: center;
|
|
660
|
-
}
|
|
661
|
-
.lg-items-end {
|
|
662
|
-
align-items: flex-end;
|
|
663
|
-
}
|
|
664
|
-
.lg-items-stretch {
|
|
665
|
-
align-items: stretch;
|
|
666
|
-
}
|
|
667
|
-
.lg-justify-start {
|
|
668
|
-
justify-content: flex-start;
|
|
669
|
-
}
|
|
670
|
-
.lg-justify-center {
|
|
671
|
-
justify-content: center;
|
|
672
|
-
}
|
|
673
|
-
.lg-justify-end {
|
|
674
|
-
justify-content: flex-end;
|
|
675
|
-
}
|
|
676
|
-
.lg-justify-between {
|
|
677
|
-
justify-content: space-between;
|
|
678
|
-
}
|
|
679
|
-
.lg-text-start {
|
|
680
|
-
text-align: start;
|
|
681
|
-
}
|
|
682
|
-
.lg-text-center {
|
|
683
|
-
text-align: center;
|
|
684
|
-
}
|
|
685
|
-
.lg-text-end {
|
|
686
|
-
text-align: end;
|
|
687
|
-
}
|
|
688
|
-
}
|
|
689
|
-
@container (min-width: 80rem) {
|
|
690
|
-
.xl-items-start {
|
|
691
|
-
align-items: flex-start;
|
|
692
|
-
}
|
|
693
|
-
.xl-items-center {
|
|
694
|
-
align-items: center;
|
|
695
|
-
}
|
|
696
|
-
.xl-items-end {
|
|
697
|
-
align-items: flex-end;
|
|
698
|
-
}
|
|
699
|
-
.xl-items-stretch {
|
|
700
|
-
align-items: stretch;
|
|
701
|
-
}
|
|
702
|
-
.xl-justify-start {
|
|
703
|
-
justify-content: flex-start;
|
|
704
|
-
}
|
|
705
|
-
.xl-justify-center {
|
|
706
|
-
justify-content: center;
|
|
707
|
-
}
|
|
708
|
-
.xl-justify-end {
|
|
709
|
-
justify-content: flex-end;
|
|
710
|
-
}
|
|
711
|
-
.xl-justify-between {
|
|
712
|
-
justify-content: space-between;
|
|
713
|
-
}
|
|
714
|
-
.xl-text-start {
|
|
715
|
-
text-align: start;
|
|
716
|
-
}
|
|
717
|
-
.xl-text-center {
|
|
718
|
-
text-align: center;
|
|
719
|
-
}
|
|
720
|
-
.xl-text-end {
|
|
721
|
-
text-align: end;
|
|
722
|
-
}
|
|
166
|
+
flex-grow: var(--_split-b, 1);
|
|
167
|
+
}
|
|
168
|
+
/* The ratio is a BASIS, not a grow factor.
|
|
169
|
+
`flex-grow` shares out only the FREE space, and a child's padding is not part
|
|
170
|
+
of it — so a padded column came out wider than its sibling by exactly its
|
|
171
|
+
horizontal padding and the ratio silently did not hold. Measured in Chrome:
|
|
172
|
+
an equal `.split` 1000px wide, one child with 40px padding a side, resolved
|
|
173
|
+
540 / 460. `flex-basis` sizes the BORDER box (children are border-box), so
|
|
174
|
+
padding sits inside the ratio: 500 / 500.
|
|
175
|
+
|
|
176
|
+
Scoped to a two-child split, because a ratio is a pair contract — only
|
|
177
|
+
:first-child and :last-child carry one. With three or more children the bases
|
|
178
|
+
would not sum to 100% and a middle child, having no basis of its own, would
|
|
179
|
+
collapse to zero width; those keep the grow-factor behaviour above.
|
|
180
|
+
|
|
181
|
+
`gap` is absorbed by proportional shrink, which the spec weights by CONTENT-box
|
|
182
|
+
size, so a gapped pair whose columns are padded unequally lands within a few
|
|
183
|
+
px of its ratio rather than a whole padding out. */
|
|
184
|
+
.split > :first-child:nth-last-child(2) {
|
|
185
|
+
flex-basis: calc(var(--_split-a, 1) / (var(--_split-a, 1) + var(--_split-b, 1)) * 100%);
|
|
186
|
+
}
|
|
187
|
+
.split > :nth-child(2):last-child {
|
|
188
|
+
flex-basis: calc(var(--_split-b, 1) / (var(--_split-a, 1) + var(--_split-b, 1)) * 100%);
|
|
723
189
|
}
|