| 1 |
@use '../common/theme'; |
| 2 |
|
| 3 |
.blueprints-demo { |
| 4 |
// Every section is held to one height so stepping between them never resizes |
| 5 |
// the card. The value fits the tallest tab (Output, with its code textarea); |
| 6 |
// shorter tabs simply leave space beneath their fields. |
| 7 |
--cs-panel-block-size: 420px; |
| 8 |
|
| 9 |
// Read-only controls keep their ordinary appearance: the walkthrough |
| 10 |
// supplies the values, and greying every field out would misread as a |
| 11 |
// broken form. |
| 12 |
.blueprint-form-content { |
| 13 |
min-block-size: var(--cs-panel-block-size); |
| 14 |
transition: opacity 220ms ease; |
| 15 |
|
| 16 |
&.is-fading { |
| 17 |
opacity: 0; |
| 18 |
} |
| 19 |
|
| 20 |
input[type='text']='text'], |
| 21 |
textarea, |
| 22 |
select { |
| 23 |
background: var(--cs-color-surface); |
| 24 |
color: var(--cs-color-text); |
| 25 |
opacity: 1; |
| 26 |
} |
| 27 |
|
| 28 |
select:disabled { |
| 29 |
appearance: none; |
| 30 |
padding-inline-end: 8px; |
| 31 |
} |
| 32 |
} |
| 33 |
|
| 34 |
.blueprint-form-sidebar__item:disabled { |
| 35 |
cursor: default; |
| 36 |
opacity: 1; |
| 37 |
} |
| 38 |
|
| 39 |
.blueprint-form-repeater__add:disabled, |
| 40 |
.blueprint-form-repeater__actions .button:disabled { |
| 41 |
cursor: default; |
| 42 |
} |
| 43 |
|
| 44 |
// The fields grid is two columns, but the attributes repeater is the only |
| 45 |
// thing on its tab, so it takes the full width rather than half of it. |
| 46 |
.blueprint-form-fields > .blueprint-form-repeater { |
| 47 |
grid-column: 1 / -1; |
| 48 |
} |
| 49 |
|
| 50 |
// One attribute per row, its three cells sharing the width evenly, so the |
| 51 |
// Attributes tab stays within the shared height. |
| 52 |
.blueprint-form-repeater__row { |
| 53 |
display: grid; |
| 54 |
grid-template-columns: repeat(3, minmax(0, 1fr)) auto; |
| 55 |
align-items: end; |
| 56 |
gap: 8px 14px; |
| 57 |
|
| 58 |
.blueprint-form-repeater__cell { |
| 59 |
flex: none; |
| 60 |
min-inline-size: 0; |
| 61 |
} |
| 62 |
|
| 63 |
.blueprint-form-repeater__actions { |
| 64 |
flex-basis: auto; |
| 65 |
} |
| 66 |
} |
| 67 |
} |
| 68 |
|
| 69 |
/* Generated confirmation */ |
| 70 |
|
| 71 |
.blueprints-demo-generated { |
| 72 |
display: flex; |
| 73 |
align-items: center; |
| 74 |
gap: 12px; |
| 75 |
margin-block: 20px; |
| 76 |
padding: 18px 20px; |
| 77 |
border: 1px solid var(--cs-color-border); |
| 78 |
border-radius: var(--cs-card-radius); |
| 79 |
background: var(--cs-color-surface); |
| 80 |
animation: demo-fade-in 0.35s ease; |
| 81 |
} |
| 82 |
|
| 83 |
.blueprints-demo-generated__text { |
| 84 |
margin: 0; |
| 85 |
font-size: 15px; |
| 86 |
font-weight: 600; |
| 87 |
color: var(--cs-color-text); |
| 88 |
} |
| 89 |
|
| 90 |
@media (prefers-reduced-motion: reduce) { |
| 91 |
.blueprints-demo .blueprint-form-content, |
| 92 |
.blueprints-demo-generated { |
| 93 |
transition: none; |
| 94 |
animation: none; |
| 95 |
} |
| 96 |
} |
| 97 |
|