@getvitops/create 0.9.0-alpha.3 → 0.9.0-alpha.4
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 +41 -0
- package/package.json +2 -2
- package/templates/emdash/AGENTS.md +4 -0
- package/templates/emdash/_gitignore +3 -0
- package/templates/emdash/site.json +136 -16
- package/templates/static/site.json +125 -14
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,46 @@
|
|
|
1
1
|
# @getvitops/create
|
|
2
2
|
|
|
3
|
+
## 0.9.0-alpha.4
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 99e66a2: Fixes from the vitops.ca build (alpha.3 findings 1–5, 19, 29).
|
|
8
|
+
|
|
9
|
+
- **Scaffold patterns.** Both templates now define `cta`, `link` and `details` in `patterns.items` (a `content` group too), and a `ui-accent` role. `.cta` had no CSS at all, so every hero, card and callout button rendered as plain text; a test now fails if a template omits a pattern the blocks emit. `vitops_accordion` renders a sprite chevron like `vitops_details`, and `details.css` styles an `.accordion` group (a divider and padded summaries from the `details` pattern tokens) — all formats.
|
|
10
|
+
- **Tone paints only on surfaces.** `.tone` now sets colour variables and `border-color`; the background comes from `.tone--tint` (callout, panel card, hero card, toned section/hero/nav/reviews, `theme`) or `.tone--solid`. A steps, stats or form block with a tone is no longer turned into a band. `ResolvedTone` gains `surface` (`tone tone--tint`). **If you styled `.tone` directly,** add `tone--tint` where you want the background. A `.cta` inside a tinted or filled tone takes the tone's solid. all formats.
|
|
11
|
+
- **`colors.tint: { mix: "8%" }`** derives the tint from the role's solid (`--tone-tint`) instead of its `muted` step, which turns brown for amber on a dark page. Off by default; not covered by the contrast contract.
|
|
12
|
+
- **Per-card backdrop.** `vitops_cards` and `vitops_hero` rows take a `theme` (tint or fill of a site colour), so one card of a pair can be tinted.
|
|
13
|
+
- **`colors.roles.<r>.acknowledgeContrast`**: a number of Lc a pairing may miss its APCA bar by and still only warn (e.g. pine's solid at Lc 59.5 against 60). A larger miss still fails.
|
|
14
|
+
- **Select:** where `appearance: base-select` is supported the wrapper's own chevron is hidden, so a select no longer shows two arrows, and the wrapper and control fill the field (`.custom-select` is `display: block`; add `display: inline-block` if you used it inline). all formats.
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- 00a9d86: - **`vitops audit` lets the page settle before axe reads colours.** At `load` Chromium can still be running the CSS transitions every pattern declares, so axe measured a filled button mid-way from its unstyled colour and reported ten `color-contrast` failures no visitor sees. The audit now waits (up to 2 s) for CSS transitions to finish first.
|
|
19
|
+
- `.carousel__hint` reads `text-surface-muted` instead of `x-muted` (the placeholder tier the contrast contract exempts), and its scroll-driven fade ends hidden instead of at 0.2 opacity (`--carousel-hint-dimmed` now defaults to 0): a hint parked at 20% was still text to an audit (1.34:1). all formats.
|
|
20
|
+
- The templates' `button` pattern becomes the toolkit's `btn` affordance (`fill: false`, transparent, text colour inherited), as `defaultSiteConfig()` already shipped: the old filled entry lost its white text to the new `link` pattern on `<a class="btn">` (dark green on green, 1.36:1). A filled call to action is `.cta`.
|
|
21
|
+
- The templates move the `info` and `danger` solids to step 700. Their step-600 solids (sky, rose) clear the generator's APCA bar for `text-on-<role>` (Lc 60) but not WCAG AA's 4.5:1 that axe and Lighthouse apply (4.2:1 and 4.4:1), so a `.cta-info` or a CTA inside an `info` callout failed the audit. Step 700 reads at 6.4:1 and 6.8:1 with the recomputed text. The APCA/WCAG gap in the contract itself is logged in TODO.md.
|
|
22
|
+
- d64fb20: Layout and spacing fixes from the vitops.ca build (findings 6–9).
|
|
23
|
+
|
|
24
|
+
- **`vitops_section` is the page opener.** New fields `cta_label`/`cta_href`/`secondary_label`/`secondary_href` (a `.cta` and a `.link` in the head), `*accent*` runs in the heading, and `stack: rhythm`, which puts `.rhythm` on `.section__inner` so head and body use the vertical-rhythm scale. With level 1 it replaces nesting a `vitops_hero` in a section, which rendered `section > .centered > … > section > .centered`. `vitops_hero` stays for a stand-alone hero with option cards. A plain (`stack: grid`) section also puts a gap between head and body now (`--section-gap`, default 2rem) instead of sitting flush. css/bricks/tailwind.
|
|
25
|
+
- **`.rhythm` spaces blocks.** A card row (`wc-cards`, classed `ul`/`ol`), accordion, `details`, form, table, figure or `.section__body` directly under a `.rhythm` is `--rhythm-block` (2) apart, not a paragraph apart; a button row (`p.cluster`) is `--rhythm-block-action` (1.6). Classless lists stay prose and a form's own field spacing is unchanged. A bare `<a>` that is a direct child of `.rhythm` is now `display: block; inline-size: fit-content`, since an inline box ignored `margin-top` and sat flush under the paragraph above (`.cta` and `.btn` are unaffected). all formats.
|
|
26
|
+
- **`rhythm-flex`** utility: an opt-in flex-column stack for the case the margin stack does not suit; margins apply to any child. all formats (`@utility` in tailwind).
|
|
27
|
+
|
|
28
|
+
- 322dd6a: Block fixes from the vitops.ca build (findings 11–13, 15, 17, 18, 21).
|
|
29
|
+
|
|
30
|
+
- **Steps.** The marker is an outlined disc in the tone (number and ring in `--tone-solid`, falling back to `currentColor`), so a steps block with no tone no longer shows black discs with no number. Items keep `align-content: start` and no `.rhythm li + li` margin, so markers in a row line up. Two modifiers through the block's `className`: `steps--cards` (each step in a card) and `steps--animated` (the connector draws and the marker fills as each step scrolls in; static under reduced motion or without scroll-driven animations). `steps` is now a config pattern: `patterns.items.steps` in `site.json` owns the card geometry (`content` group tokens) and the marker size (`--steps-marker-size`, `--steps-line-width`); both templates and the reference config ship an entry. all formats.
|
|
31
|
+
- **Stats.** `<wc-counter>` leaves a figure it cannot count as authored (`"1 in 6"`, `"24/7"`, `"—"`) instead of counting down from zero to a wrong value. `animate: false` on the block still turns the count-up off for a whole block.
|
|
32
|
+
- **Logos.** `vitops_logos` takes an optional `kicker`, `note` and `linkLabel`/`linkHref`; with any of them set, the row is wrapped in `.logos-block`. The list keeps the block's attributes either way.
|
|
33
|
+
- **Pricing.** Plans take `yearly` (a second price line) and `note` (under the plan name).
|
|
34
|
+
- **`<SiteFooter>`** has a `brand` named slot, rendered as the first column (`.sitefooter__brand`) in the site's own markup.
|
|
35
|
+
|
|
36
|
+
- 322dd6a: Tooling fixes from the vitops.ca build (findings 14, 23, 24, 25).
|
|
37
|
+
|
|
38
|
+
- **`vitops emdash form-template --from <seed.json | export.json> [--name contact] [--site site.json] [--dry]`** copies a `vitops_form` block into `site.templates` with the renderer's own field resolver, so the generated privacy policy and `check-prerender` know what the form collects. A re-run is a no-op, and the result is validated before it is written.
|
|
39
|
+
- `site.templates` form fields accept `checkboxes` (the block's spelling), and the template union now discriminates on `type`, so a bad entry is reported at its path instead of as a bare "Invalid input".
|
|
40
|
+
- **`prepare-db` fails fast and says why.** It validates `site.json` before starting the dev server, writes the server's output to `.vitops/prepare-db.log`, stops waiting as soon as the log shows an error, and prints the log's tail on failure, instead of waiting out a five-minute timeout with nothing to read.
|
|
41
|
+
- **`check-prerender`** skips the toolkit's own assets under `vitops/` (no more "0 h1" for the theme-editor page) and warns when the sitemap lists URLs the build produced no page for (a collection with no `urlPattern` is listed as `/<collection>/<slug>` while the site serves `/<slug>`).
|
|
42
|
+
- The emdash template ignores the duplicate `pnpm-@getvitops+skills-*` links `skills experimental_sync` leaves beside each skill; the `content-and-deploys` skill explains the sitemap warning.
|
|
43
|
+
|
|
3
44
|
## 0.9.0-alpha.3
|
|
4
45
|
|
|
5
46
|
### Patch Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getvitops/create",
|
|
3
|
-
"version": "0.9.0-alpha.
|
|
3
|
+
"version": "0.9.0-alpha.4",
|
|
4
4
|
"description": "Project templates for the Vitops design system — scaffold wired-up sites with `vp create @getvitops`.",
|
|
5
5
|
"homepage": "https://docs.vitops.ca",
|
|
6
6
|
"bugs": "https://github.com/getvitops/design-system/issues",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"access": "public"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
|
-
"@getvitops/generator": "8.3.0-alpha.
|
|
22
|
+
"@getvitops/generator": "8.3.0-alpha.4"
|
|
23
23
|
},
|
|
24
24
|
"engines": {
|
|
25
25
|
"node": ">=24"
|
|
@@ -51,6 +51,10 @@ prerendered, the Worker serving the admin and API) styled by the Vitops design s
|
|
|
51
51
|
accordion items, slides), so it can't. EmDash's built-in `columns` doesn't render `vitops_*`
|
|
52
52
|
children. For layout, nest in a section, use a `blocks` field, or hand-write the template with
|
|
53
53
|
`@getvitops/astro` components (`Subgrid`, `Cards`, `Carousel`, …).
|
|
54
|
+
- **Page opener.** Use `vitops_section` at heading level 1 with its button fields (`cta_label`,
|
|
55
|
+
`secondary_label`) and `stack: rhythm`; don't nest a `vitops_hero` or another section wrapper in a
|
|
56
|
+
section body, which renders two layers of `section > .centered`. `vitops_hero` is for a hero
|
|
57
|
+
that stands alone (it carries option cards).
|
|
54
58
|
- **Section, block or widget area?** Copy-and-edit content is an EmDash Section. The same content
|
|
55
59
|
everywhere (announcement bar, pre-footer call to action, sidebar, footer columns) is a **widget
|
|
56
60
|
area**: define it under Widgets in the admin and render it with `<VitopsWidgetArea name="…" />`
|
|
@@ -33,10 +33,17 @@
|
|
|
33
33
|
},
|
|
34
34
|
"ui-primary": "brand",
|
|
35
35
|
"brand-primary": "brand",
|
|
36
|
-
"info":
|
|
36
|
+
"info": {
|
|
37
|
+
"hue": "sky",
|
|
38
|
+
"solid": 700
|
|
39
|
+
},
|
|
37
40
|
"success": "brand",
|
|
38
41
|
"warning": "sun",
|
|
39
|
-
"danger":
|
|
42
|
+
"danger": {
|
|
43
|
+
"hue": "rose",
|
|
44
|
+
"solid": 700
|
|
45
|
+
},
|
|
46
|
+
"ui-accent": "sun"
|
|
40
47
|
},
|
|
41
48
|
"utilities": ["bg", "text", "icon", "border"]
|
|
42
49
|
},
|
|
@@ -106,6 +113,13 @@
|
|
|
106
113
|
"br": "0.25rem",
|
|
107
114
|
"p": "0.25em 0.5em",
|
|
108
115
|
"fs": "0.75rem"
|
|
116
|
+
},
|
|
117
|
+
"content": {
|
|
118
|
+
"ds": "var(--ds-default)",
|
|
119
|
+
"b": "var(--b-default)",
|
|
120
|
+
"br": "0.5rem",
|
|
121
|
+
"p": "1rem",
|
|
122
|
+
"fs": "var(--fs-default)"
|
|
109
123
|
}
|
|
110
124
|
},
|
|
111
125
|
"z": {
|
|
@@ -115,22 +129,77 @@
|
|
|
115
129
|
"top": 1000
|
|
116
130
|
},
|
|
117
131
|
"items": {
|
|
118
|
-
"
|
|
132
|
+
"btn": {
|
|
119
133
|
"group": "control",
|
|
120
134
|
"element": "button",
|
|
121
|
-
"
|
|
135
|
+
"class": "btn",
|
|
136
|
+
"fill": false,
|
|
137
|
+
"overrides": {
|
|
138
|
+
"b": "1px solid transparent",
|
|
139
|
+
"fs": "inherit"
|
|
140
|
+
},
|
|
141
|
+
"base": {
|
|
142
|
+
"display": "inline-flex",
|
|
143
|
+
"align-items": "center",
|
|
144
|
+
"justify-content": "center",
|
|
145
|
+
"gap": "0.4em",
|
|
146
|
+
"padding": "var(--p-btn-group)",
|
|
147
|
+
"border-radius": "var(--br-btn-group)",
|
|
148
|
+
"border": "var(--b-btn-group)",
|
|
149
|
+
"box-shadow": "var(--ds-btn-group)",
|
|
150
|
+
"background": "transparent",
|
|
151
|
+
"color": "inherit",
|
|
152
|
+
"font-family": "inherit",
|
|
153
|
+
"font-size": "var(--fs-btn-group)",
|
|
154
|
+
"font-weight": "inherit",
|
|
155
|
+
"text-decoration": "none",
|
|
156
|
+
"cursor": "pointer"
|
|
157
|
+
},
|
|
158
|
+
"states": {
|
|
159
|
+
"hover": {
|
|
160
|
+
"step": 1,
|
|
161
|
+
"css": {
|
|
162
|
+
"background-color": "var(--color-bg-surface-muted)"
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
"focus-visible": {
|
|
166
|
+
"ring": true
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
"roles": []
|
|
170
|
+
},
|
|
171
|
+
"cta": {
|
|
172
|
+
"group": "control",
|
|
173
|
+
"class": "cta",
|
|
174
|
+
"fill": true,
|
|
175
|
+
"default_role": "ui-primary",
|
|
176
|
+
"overrides": {
|
|
177
|
+
"p": "0.75em 1.5em",
|
|
178
|
+
"b": "none",
|
|
179
|
+
"ds": "var(--shadow-sm)",
|
|
180
|
+
"fs": "inherit"
|
|
181
|
+
},
|
|
122
182
|
"base": {
|
|
123
|
-
"
|
|
124
|
-
"
|
|
125
|
-
"
|
|
183
|
+
"display": "inline-flex",
|
|
184
|
+
"align-items": "center",
|
|
185
|
+
"justify-content": "center",
|
|
186
|
+
"gap": "0.5em",
|
|
187
|
+
"padding": "var(--p-cta-group)",
|
|
188
|
+
"border-radius": "var(--br-cta-group)",
|
|
189
|
+
"border": "var(--b-cta-group)",
|
|
190
|
+
"font-family": "inherit",
|
|
191
|
+
"font-size": "var(--fs-cta-group)",
|
|
126
192
|
"font-weight": "600",
|
|
127
|
-
"
|
|
193
|
+
"line-height": "inherit",
|
|
194
|
+
"text-decoration": "none",
|
|
128
195
|
"cursor": "pointer",
|
|
129
|
-
"
|
|
196
|
+
"color": "var(--color-text-on-ui-primary)",
|
|
197
|
+
"box-shadow": "var(--ds-cta-group)"
|
|
130
198
|
},
|
|
131
199
|
"states": {
|
|
132
200
|
"hover": {
|
|
133
|
-
"step": 1
|
|
201
|
+
"step": 1,
|
|
202
|
+
"lift": "1px"
|
|
134
203
|
},
|
|
135
204
|
"active": {
|
|
136
205
|
"scale": 0.97
|
|
@@ -139,8 +208,27 @@
|
|
|
139
208
|
"ring": true
|
|
140
209
|
}
|
|
141
210
|
},
|
|
142
|
-
"roles": ["success", "danger", "warning", "info"]
|
|
143
|
-
|
|
211
|
+
"roles": ["success", "danger", "warning", "info"]
|
|
212
|
+
},
|
|
213
|
+
"link": {
|
|
214
|
+
"group": "control",
|
|
215
|
+
"element": "a",
|
|
216
|
+
"class": "link",
|
|
217
|
+
"default_role": "ui-primary",
|
|
218
|
+
"base": {
|
|
219
|
+
"color": "var(--color-text-ui-primary)",
|
|
220
|
+
"text-decoration": "underline",
|
|
221
|
+
"text-underline-offset": "0.15em"
|
|
222
|
+
},
|
|
223
|
+
"states": {
|
|
224
|
+
"hover": {
|
|
225
|
+
"step": 1
|
|
226
|
+
},
|
|
227
|
+
"focus-visible": {
|
|
228
|
+
"ring": true
|
|
229
|
+
}
|
|
230
|
+
},
|
|
231
|
+
"roles": []
|
|
144
232
|
},
|
|
145
233
|
"card": {
|
|
146
234
|
"group": "panel",
|
|
@@ -199,6 +287,23 @@
|
|
|
199
287
|
},
|
|
200
288
|
"states": {},
|
|
201
289
|
"roles": ["success", "danger", "warning", "info"]
|
|
290
|
+
},
|
|
291
|
+
"details": {
|
|
292
|
+
"group": "content"
|
|
293
|
+
},
|
|
294
|
+
"steps": {
|
|
295
|
+
"group": "content",
|
|
296
|
+
"class": "steps",
|
|
297
|
+
"overrides": {
|
|
298
|
+
"b": "1px solid var(--color-border-surface-muted)",
|
|
299
|
+
"br": "0.75rem",
|
|
300
|
+
"p": "1.5rem",
|
|
301
|
+
"ds": "none"
|
|
302
|
+
},
|
|
303
|
+
"base": {
|
|
304
|
+
"--steps-marker-size": "2.5rem",
|
|
305
|
+
"--steps-line-width": "2px"
|
|
306
|
+
}
|
|
202
307
|
}
|
|
203
308
|
}
|
|
204
309
|
},
|
|
@@ -313,10 +418,25 @@
|
|
|
313
418
|
"contact": {
|
|
314
419
|
"type": "form",
|
|
315
420
|
"fields": [
|
|
316
|
-
{
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
421
|
+
{
|
|
422
|
+
"name": "name",
|
|
423
|
+
"type": "text",
|
|
424
|
+
"required": true
|
|
425
|
+
},
|
|
426
|
+
{
|
|
427
|
+
"name": "email",
|
|
428
|
+
"type": "email",
|
|
429
|
+
"required": true
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
"name": "tel",
|
|
433
|
+
"type": "tel"
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
"name": "message",
|
|
437
|
+
"type": "textarea",
|
|
438
|
+
"required": true
|
|
439
|
+
}
|
|
320
440
|
]
|
|
321
441
|
}
|
|
322
442
|
},
|
|
@@ -23,14 +23,27 @@
|
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
"roles": {
|
|
26
|
-
"neutral": {
|
|
27
|
-
|
|
26
|
+
"neutral": {
|
|
27
|
+
"hue": "ink",
|
|
28
|
+
"kind": "surface"
|
|
29
|
+
},
|
|
30
|
+
"surface": {
|
|
31
|
+
"hue": "ink",
|
|
32
|
+
"kind": "surface"
|
|
33
|
+
},
|
|
28
34
|
"ui-primary": "brand",
|
|
29
35
|
"brand-primary": "brand",
|
|
30
|
-
"info":
|
|
36
|
+
"info": {
|
|
37
|
+
"hue": "sky",
|
|
38
|
+
"solid": 700
|
|
39
|
+
},
|
|
31
40
|
"success": "brand",
|
|
32
41
|
"warning": "sun",
|
|
33
|
-
"danger":
|
|
42
|
+
"danger": {
|
|
43
|
+
"hue": "rose",
|
|
44
|
+
"solid": 700
|
|
45
|
+
},
|
|
46
|
+
"ui-accent": "sun"
|
|
34
47
|
},
|
|
35
48
|
"utilities": ["bg", "text", "icon", "border"]
|
|
36
49
|
},
|
|
@@ -100,6 +113,13 @@
|
|
|
100
113
|
"br": "0.25rem",
|
|
101
114
|
"p": "0.25em 0.5em",
|
|
102
115
|
"fs": "0.75rem"
|
|
116
|
+
},
|
|
117
|
+
"content": {
|
|
118
|
+
"ds": "var(--ds-default)",
|
|
119
|
+
"b": "var(--b-default)",
|
|
120
|
+
"br": "0.5rem",
|
|
121
|
+
"p": "1rem",
|
|
122
|
+
"fs": "var(--fs-default)"
|
|
103
123
|
}
|
|
104
124
|
},
|
|
105
125
|
"z": {
|
|
@@ -109,22 +129,77 @@
|
|
|
109
129
|
"top": 1000
|
|
110
130
|
},
|
|
111
131
|
"items": {
|
|
112
|
-
"
|
|
132
|
+
"btn": {
|
|
113
133
|
"group": "control",
|
|
114
134
|
"element": "button",
|
|
115
|
-
"
|
|
135
|
+
"class": "btn",
|
|
136
|
+
"fill": false,
|
|
137
|
+
"overrides": {
|
|
138
|
+
"b": "1px solid transparent",
|
|
139
|
+
"fs": "inherit"
|
|
140
|
+
},
|
|
141
|
+
"base": {
|
|
142
|
+
"display": "inline-flex",
|
|
143
|
+
"align-items": "center",
|
|
144
|
+
"justify-content": "center",
|
|
145
|
+
"gap": "0.4em",
|
|
146
|
+
"padding": "var(--p-btn-group)",
|
|
147
|
+
"border-radius": "var(--br-btn-group)",
|
|
148
|
+
"border": "var(--b-btn-group)",
|
|
149
|
+
"box-shadow": "var(--ds-btn-group)",
|
|
150
|
+
"background": "transparent",
|
|
151
|
+
"color": "inherit",
|
|
152
|
+
"font-family": "inherit",
|
|
153
|
+
"font-size": "var(--fs-btn-group)",
|
|
154
|
+
"font-weight": "inherit",
|
|
155
|
+
"text-decoration": "none",
|
|
156
|
+
"cursor": "pointer"
|
|
157
|
+
},
|
|
158
|
+
"states": {
|
|
159
|
+
"hover": {
|
|
160
|
+
"step": 1,
|
|
161
|
+
"css": {
|
|
162
|
+
"background-color": "var(--color-bg-surface-muted)"
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
"focus-visible": {
|
|
166
|
+
"ring": true
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
"roles": []
|
|
170
|
+
},
|
|
171
|
+
"cta": {
|
|
172
|
+
"group": "control",
|
|
173
|
+
"class": "cta",
|
|
174
|
+
"fill": true,
|
|
175
|
+
"default_role": "ui-primary",
|
|
176
|
+
"overrides": {
|
|
177
|
+
"p": "0.75em 1.5em",
|
|
178
|
+
"b": "none",
|
|
179
|
+
"ds": "var(--shadow-sm)",
|
|
180
|
+
"fs": "inherit"
|
|
181
|
+
},
|
|
116
182
|
"base": {
|
|
117
|
-
"
|
|
118
|
-
"
|
|
119
|
-
"
|
|
183
|
+
"display": "inline-flex",
|
|
184
|
+
"align-items": "center",
|
|
185
|
+
"justify-content": "center",
|
|
186
|
+
"gap": "0.5em",
|
|
187
|
+
"padding": "var(--p-cta-group)",
|
|
188
|
+
"border-radius": "var(--br-cta-group)",
|
|
189
|
+
"border": "var(--b-cta-group)",
|
|
190
|
+
"font-family": "inherit",
|
|
191
|
+
"font-size": "var(--fs-cta-group)",
|
|
120
192
|
"font-weight": "600",
|
|
121
|
-
"
|
|
193
|
+
"line-height": "inherit",
|
|
194
|
+
"text-decoration": "none",
|
|
122
195
|
"cursor": "pointer",
|
|
123
|
-
"
|
|
196
|
+
"color": "var(--color-text-on-ui-primary)",
|
|
197
|
+
"box-shadow": "var(--ds-cta-group)"
|
|
124
198
|
},
|
|
125
199
|
"states": {
|
|
126
200
|
"hover": {
|
|
127
|
-
"step": 1
|
|
201
|
+
"step": 1,
|
|
202
|
+
"lift": "1px"
|
|
128
203
|
},
|
|
129
204
|
"active": {
|
|
130
205
|
"scale": 0.97
|
|
@@ -133,8 +208,27 @@
|
|
|
133
208
|
"ring": true
|
|
134
209
|
}
|
|
135
210
|
},
|
|
136
|
-
"roles": ["success", "danger", "warning", "info"]
|
|
137
|
-
|
|
211
|
+
"roles": ["success", "danger", "warning", "info"]
|
|
212
|
+
},
|
|
213
|
+
"link": {
|
|
214
|
+
"group": "control",
|
|
215
|
+
"element": "a",
|
|
216
|
+
"class": "link",
|
|
217
|
+
"default_role": "ui-primary",
|
|
218
|
+
"base": {
|
|
219
|
+
"color": "var(--color-text-ui-primary)",
|
|
220
|
+
"text-decoration": "underline",
|
|
221
|
+
"text-underline-offset": "0.15em"
|
|
222
|
+
},
|
|
223
|
+
"states": {
|
|
224
|
+
"hover": {
|
|
225
|
+
"step": 1
|
|
226
|
+
},
|
|
227
|
+
"focus-visible": {
|
|
228
|
+
"ring": true
|
|
229
|
+
}
|
|
230
|
+
},
|
|
231
|
+
"roles": []
|
|
138
232
|
},
|
|
139
233
|
"card": {
|
|
140
234
|
"group": "panel",
|
|
@@ -193,6 +287,23 @@
|
|
|
193
287
|
},
|
|
194
288
|
"states": {},
|
|
195
289
|
"roles": ["success", "danger", "warning", "info"]
|
|
290
|
+
},
|
|
291
|
+
"details": {
|
|
292
|
+
"group": "content"
|
|
293
|
+
},
|
|
294
|
+
"steps": {
|
|
295
|
+
"group": "content",
|
|
296
|
+
"class": "steps",
|
|
297
|
+
"overrides": {
|
|
298
|
+
"b": "1px solid var(--color-border-surface-muted)",
|
|
299
|
+
"br": "0.75rem",
|
|
300
|
+
"p": "1.5rem",
|
|
301
|
+
"ds": "none"
|
|
302
|
+
},
|
|
303
|
+
"base": {
|
|
304
|
+
"--steps-marker-size": "2.5rem",
|
|
305
|
+
"--steps-line-width": "2px"
|
|
306
|
+
}
|
|
196
307
|
}
|
|
197
308
|
}
|
|
198
309
|
},
|