@maggioli-design-system/styles 16.0.1 → 17.0.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/README.md +142 -85
- package/dist/css/animations.css +2 -2
- package/dist/css/base.css +13 -27
- package/dist/css/colors-hex-brand-rnd.css +25 -25
- package/dist/css/colors-hex-brand.css +46 -46
- package/dist/css/colors-hex-default.css +502 -502
- package/dist/css/colors-hex-label.css +256 -256
- package/dist/css/colors-hex-status.css +88 -88
- package/dist/css/colors-hex-theme.css +271 -0
- package/dist/css/colors-hex-tones.css +139 -139
- package/dist/css/colors-hex.css +883 -631
- package/dist/css/colors-rgb-brand-rnd.css +25 -25
- package/dist/css/colors-rgb-brand.css +46 -46
- package/dist/css/colors-rgb-default.css +502 -502
- package/dist/css/colors-rgb-label.css +256 -256
- package/dist/css/colors-rgb-status.css +88 -88
- package/dist/css/colors-rgb-theme.css +271 -0
- package/dist/css/colors-rgb-tones.css +139 -139
- package/dist/css/colors-rgb.css +883 -631
- package/dist/css/globals.css +3156 -28
- package/dist/css/hydrated.css +2 -2
- package/dist/css/reset.css +4 -6
- package/dist/css/semantic.css +253 -0
- package/dist/css/tailwind-theme-color.css +295 -211
- package/dist/css/tailwind-theme-typography.css +19 -2
- package/dist/css/theme.css +51 -0
- package/dist/css/themes.css +93 -0
- package/dist/css/tokens.editor.css +1792 -0
- package/dist/css/transitions.css +2 -2
- package/dist/css/typography.css +19 -2
- package/dist/css/utility-typography.css +2 -2
- package/dist/tailwind/base.css +31 -23
- package/dist/tailwind/semantic.css +119 -0
- package/dist/tailwind/theme.css +3 -0
- package/dist/tailwind/utilities.css +1 -1
- package/dist/tailwind3/base.css +9 -13
- package/dist/tailwind3/components.css +1 -1
- package/package.json +13 -7
- package/tailwind.config.js +2 -2
package/README.md
CHANGED
|
@@ -11,7 +11,8 @@ Use the version of this package matching the major version of [`@maggioli-design
|
|
|
11
11
|
| magma | design-tokens | styles |
|
|
12
12
|
| :--- | :--- | :--- |
|
|
13
13
|
| `1.x` (before Magma 2) | `13.x` (latest `13.7.2`) | `15.x` (latest `15.11.1`) |
|
|
14
|
-
| `2.
|
|
14
|
+
| `2.0.0-alpha.0` to `2.0.0-beta.3` (prereleases) | `14.x` | `16.x` |
|
|
15
|
+
| `2.x` and later | `>= 15` | `>= 17` |
|
|
15
16
|
|
|
16
17
|
---
|
|
17
18
|
|
|
@@ -27,7 +28,7 @@ npm i @maggioli-design-system/styles
|
|
|
27
28
|
|
|
28
29
|
### Integration
|
|
29
30
|
|
|
30
|
-
The
|
|
31
|
+
The cascade layers are ordered for Tailwind: reset, vendor, theme, base, components, utilities, and your overrides last. Import the files in this order in your global CSS entry point:
|
|
31
32
|
|
|
32
33
|
```css
|
|
33
34
|
@layer reset, vendor, theme, base, components, utilities, overrides;
|
|
@@ -42,55 +43,76 @@ The layer order is thinked to be used with tailwindcss, so the first layer is th
|
|
|
42
43
|
@import '@fontsource/roboto/500.css' layer(vendor);
|
|
43
44
|
@import '@fontsource/roboto/700.css' layer(vendor);
|
|
44
45
|
@import '@fontsource/roboto/900.css' layer(vendor);
|
|
45
|
-
@import './iconsauce.css' layer(vendor);
|
|
46
46
|
@import '@maggioli-design-system/styles/dist/css/reset.css' layer(reset);
|
|
47
47
|
@import '@maggioli-design-system/styles/dist/css/globals.css' layer(theme);
|
|
48
48
|
@import '@maggioli-design-system/styles/dist/css/colors-rgb.css' layer(theme);
|
|
49
|
+
@import '@maggioli-design-system/styles/dist/css/typography.css' layer(theme);
|
|
50
|
+
@import '@maggioli-design-system/styles/dist/css/semantic.css' layer(theme);
|
|
51
|
+
@import '@maggioli-design-system/styles/dist/css/themes.css' layer(theme);
|
|
49
52
|
@import '@maggioli-design-system/styles/dist/css/hydrated.css' layer(base);
|
|
53
|
+
@import '@maggioli-design-system/styles/dist/css/transitions.css' layer(base);
|
|
50
54
|
@import '@maggioli-design-system/styles/dist/css/animations.css' layer(base);
|
|
51
55
|
@import '@maggioli-design-system/styles/dist/css/base.css' layer(base);
|
|
56
|
+
|
|
57
|
+
/* your Tailwind entry point, if any (see Tailwind below) */
|
|
52
58
|
@import './tailwind.css';
|
|
53
59
|
|
|
54
60
|
@layer overrides {
|
|
55
|
-
|
|
56
|
-
@apply
|
|
57
|
-
bg-tone-neutral
|
|
58
|
-
text-tone-neutral-03
|
|
59
|
-
transition-colors
|
|
60
|
-
duration-300
|
|
61
|
-
ease-in-out;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
mds-button {
|
|
65
|
-
border-radius: var(--radius-2xl);
|
|
66
|
-
}
|
|
61
|
+
/* your own overrides of the --magma-* globals and --mds-* component tokens */
|
|
67
62
|
}
|
|
68
63
|
```
|
|
69
64
|
|
|
70
|
-
|
|
65
|
+
`base.css` already paints the `body` with the semantic roles (`--magma-surface-default`
|
|
66
|
+
and `--magma-text-default`), which is why `semantic.css` is required.
|
|
71
67
|
|
|
72
|
-
|
|
68
|
+
### Semantic colors
|
|
69
|
+
|
|
70
|
+
Color your UI with the semantic roles, not with raw palette steps: a role follows the
|
|
71
|
+
mode, the named theme (`data-theme-name`) and the high-contrast preference, a palette
|
|
72
|
+
step only follows the mode.
|
|
73
|
+
|
|
74
|
+
```html
|
|
75
|
+
<section class="bg-surface-raised text-fg-default border border-border-muted">
|
|
76
|
+
<p class="text-fg-muted">Secondary text</p>
|
|
77
|
+
</section>
|
|
78
|
+
```
|
|
73
79
|
|
|
80
|
+
```css
|
|
81
|
+
.panel {
|
|
82
|
+
background: rgb(var(--magma-surface-raised));
|
|
83
|
+
color: rgb(var(--magma-text-default));
|
|
84
|
+
}
|
|
74
85
|
```
|
|
75
86
|
|
|
87
|
+
The values come from `dist/css/semantic.css`, the Tailwind utilities from
|
|
88
|
+
`dist/tailwind/theme.css`. The roles, their pairing rules and the Magma 1 -> 2 map are
|
|
89
|
+
in the color guide shipped with the components package
|
|
90
|
+
(`@maggioli-design-system/magma/agents/color.md`).
|
|
91
|
+
|
|
92
|
+
### Palette
|
|
93
|
+
|
|
76
94
|
#### Colors with tailwind or web components
|
|
77
95
|
|
|
78
|
-
If you use tailwind or web components, you need
|
|
96
|
+
If you use tailwind or web components, you need the **rgb format** of the palette, the one
|
|
97
|
+
imported above:
|
|
79
98
|
|
|
80
99
|
```ts
|
|
81
|
-
import '@maggioli-design-system/styles/dist/css/colors-rgb
|
|
82
|
-
import '@maggioli-design-system/styles/dist/css/colors-rgb-status.css';
|
|
83
|
-
import '@maggioli-design-system/styles/dist/css/colors-rgb-label.css';
|
|
84
|
-
import '@maggioli-design-system/styles/dist/css/colors-rgb-brand.css';
|
|
100
|
+
import '@maggioli-design-system/styles/dist/css/colors-rgb.css';
|
|
85
101
|
```
|
|
86
102
|
|
|
87
|
-
|
|
103
|
+
The web components, the Tailwind utilities and the semantic layer read the palette as
|
|
104
|
+
custom properties in rgb channel format (`rr gg bb`). `colors-rgb.css` holds every group;
|
|
105
|
+
the per-group files (`colors-rgb-{tones,status,label,brand,default,theme}.css`) exist for
|
|
106
|
+
a custom setup, and the semantic roles need at least `default` (the `--variant-*` accents)
|
|
107
|
+
and `theme` (the `--surface-*`, `--border-*` and `--text-*` families) besides `tones` and
|
|
108
|
+
`status`.
|
|
88
109
|
|
|
89
|
-
|
|
110
|
+
A raw palette step is right only for a colour that encodes data rather than an
|
|
111
|
+
interface role (a `label-*` category, a `brand-*` identity). Outside tailwind:
|
|
90
112
|
|
|
91
113
|
```css
|
|
92
114
|
.selector {
|
|
93
|
-
color: rgb(var(--
|
|
115
|
+
color: rgb(var(--label-sky-04));
|
|
94
116
|
}
|
|
95
117
|
```
|
|
96
118
|
|
|
@@ -113,48 +135,52 @@ Then you can use them like this:
|
|
|
113
135
|
}
|
|
114
136
|
```
|
|
115
137
|
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
### Dark mode format
|
|
119
|
-
|
|
120
|
-
our color palette already supports dark mode, either according to your computer settings, or with manual support:
|
|
121
|
-
|
|
122
|
-
#### Manual mode
|
|
123
|
-
|
|
124
|
-
Just add the `dark-mode` class to the `html` tag:
|
|
138
|
+
The hex files are for plain CSS only: they cannot take an alpha, and neither the
|
|
139
|
+
components nor the semantic roles can read them.
|
|
125
140
|
|
|
126
|
-
|
|
127
|
-
<html class="dark-mode">
|
|
128
|
-
```
|
|
141
|
+
---
|
|
129
142
|
|
|
130
|
-
|
|
143
|
+
### Dark mode
|
|
131
144
|
|
|
132
|
-
|
|
145
|
+
The palette and the semantic roles already flip between light and dark. Pick the mode with a
|
|
146
|
+
class on the `html` tag:
|
|
133
147
|
|
|
134
148
|
```html
|
|
135
|
-
<html class="
|
|
149
|
+
<html class="pref-mode-system"><!-- follows the OS --></html>
|
|
150
|
+
<html class="pref-mode-light"><!-- always light --></html>
|
|
151
|
+
<html class="pref-mode-dark"><!-- always dark --></html>
|
|
136
152
|
```
|
|
137
153
|
|
|
138
|
-
|
|
154
|
+
To let the user choose, use the `mds-pref-mode` component of
|
|
155
|
+
`@maggioli-design-system/magma`: it writes the class and remembers the choice. Tailwind's
|
|
156
|
+
`dark:` variant follows only the OS (`prefers-color-scheme`), not these classes; the
|
|
157
|
+
semantic roles need no `dark:`.
|
|
139
158
|
|
|
140
159
|
---
|
|
141
160
|
|
|
142
|
-
###
|
|
161
|
+
### Tailwind
|
|
143
162
|
|
|
144
|
-
|
|
145
|
-
|
|
163
|
+
With Tailwind 4, import Magma's theme (palette, typography tokens, semantic colors), its
|
|
164
|
+
typography utilities and its helpers in your Tailwind entry point, after Tailwind's own
|
|
165
|
+
theme and utilities (Magma ships its own reset, so Tailwind's preflight is left out):
|
|
146
166
|
|
|
147
|
-
|
|
167
|
+
```css
|
|
168
|
+
/* tailwind.css */
|
|
169
|
+
@import 'tailwindcss/theme.css' layer(theme);
|
|
170
|
+
@import 'tailwindcss/utilities.css' layer(utilities);
|
|
171
|
+
@import '@maggioli-design-system/styles/dist/tailwind/theme.css';
|
|
172
|
+
@import '@maggioli-design-system/styles/dist/tailwind/typography.css';
|
|
173
|
+
@import '@maggioli-design-system/styles/dist/tailwind/utilities.css';
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
With Tailwind 3, extend the [JS preset][tailwindcss-config] (the package `main`) and use
|
|
177
|
+
the layers in `dist/tailwind3/`. The preset does not work with Tailwind 4: its colors are
|
|
178
|
+
Tailwind 3 color functions.
|
|
148
179
|
|
|
149
180
|
```js
|
|
150
181
|
module.exports = {
|
|
151
|
-
content: [
|
|
152
|
-
|
|
153
|
-
],
|
|
154
|
-
important: false,
|
|
155
|
-
presets: [
|
|
156
|
-
require('@maggioli-design-system/styles'),
|
|
157
|
-
],
|
|
182
|
+
content: ['./src/**/*.{ts,tsx}'],
|
|
183
|
+
presets: [require('@maggioli-design-system/styles')],
|
|
158
184
|
}
|
|
159
185
|
```
|
|
160
186
|
|
|
@@ -162,17 +188,17 @@ module.exports = {
|
|
|
162
188
|
|
|
163
189
|
### Fonts
|
|
164
190
|
|
|
165
|
-
|
|
191
|
+
Magma does not bundle webfonts: the type scale uses **Roboto** (titles and actions: 500,
|
|
192
|
+
700, 900), **Karla** (UI text: 400, 700), **Merriweather** (reading text: 300, 400, plus 700
|
|
193
|
+
for bold) and **Roboto Mono** (code: 400). Load them with `@fontsource`; the weights are
|
|
194
|
+
the ones of the scale.
|
|
166
195
|
|
|
167
196
|
#### TypeScript
|
|
168
197
|
|
|
169
|
-
Importing fonts in TypeScript:
|
|
170
|
-
|
|
171
|
-
```ts
|
|
172
|
-
|
|
173
198
|
```ts
|
|
174
199
|
import '@fontsource/karla/400.css'
|
|
175
200
|
import '@fontsource/karla/700.css'
|
|
201
|
+
import '@fontsource/merriweather/300.css'
|
|
176
202
|
import '@fontsource/merriweather/400.css'
|
|
177
203
|
import '@fontsource/merriweather/700.css'
|
|
178
204
|
import '@fontsource/roboto-mono/400.css'
|
|
@@ -183,42 +209,73 @@ import '@fontsource/roboto/900.css'
|
|
|
183
209
|
|
|
184
210
|
#### CSS
|
|
185
211
|
|
|
186
|
-
|
|
212
|
+
In CSS use the `layer(vendor)` imports of the Integration block above.
|
|
187
213
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
214
|
+
Fontsource supports [variable fonts][fontsource-var-fonts].
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
### Editor autocomplete
|
|
219
|
+
|
|
220
|
+
`dist/css/tokens.editor.css` is the single file to point an editor at. It is generated,
|
|
221
|
+
holds every public token exactly once - the scales, motion, palette, semantic layer,
|
|
222
|
+
globals and the tokens of every component - with each default resolved to a literal, and
|
|
223
|
+
it is ordered: a scale runs from its smallest step up, a palette keeps its ramp order.
|
|
224
|
+
|
|
225
|
+
One deliberate difference from the real stylesheets: a palette token whose value is a bare
|
|
226
|
+
rgb triplet is written as `rgb(<triplet>)`, so an editor can show its actual color. No
|
|
227
|
+
editor can preview `rgb(var(--label-yellow-03))` - a triplet is not a color, and VS Code's
|
|
228
|
+
own color support returns nothing for that shape even when the token is in the same file.
|
|
229
|
+
The token itself still holds the triplet, to be read as `rgb(var(--label-yellow-03))`.
|
|
230
|
+
|
|
231
|
+
Why a generated file rather than the real stylesheets. Editors discover custom properties
|
|
232
|
+
by walking declarations, so the `@property` registrations that publish the `--mds-*`
|
|
233
|
+
component tokens and the `--magma-pref-*` switches are invisible to them. And the token
|
|
234
|
+
layer ships the same names several times over (the design-tokens output is copied into
|
|
235
|
+
this package, and every scale exists both as `:root` and as an `@theme` bridge), while
|
|
236
|
+
editors dedupe per file rather than across files: pointing at the sources yields four to
|
|
237
|
+
eight completion entries per token. One file makes that impossible.
|
|
238
|
+
|
|
239
|
+
With [CSS Var Complete][css-variable-autocomplete], in `.vscode/settings.json`:
|
|
240
|
+
|
|
241
|
+
```json
|
|
242
|
+
{
|
|
243
|
+
"cssvar.files": [
|
|
244
|
+
"node_modules/@maggioli-design-system/styles/dist/css/tokens.editor.css"
|
|
245
|
+
],
|
|
246
|
+
"cssvar.ignore": [],
|
|
247
|
+
"cssvar.disableSort": true
|
|
248
|
+
}
|
|
197
249
|
```
|
|
198
250
|
|
|
199
|
-
|
|
251
|
+
`cssvar.ignore` defaults to `["**/node_modules/**"]` and is applied as an ignore list over
|
|
252
|
+
`cssvar.files`, so the path above is dropped unless you empty it. `cssvar.disableSort`
|
|
253
|
+
turns off the editor's own alphabetical sort and keeps the file's order, which is the
|
|
254
|
+
point of generating it.
|
|
255
|
+
|
|
256
|
+
Two things stay outside the file: `--private-*`, a component's internal wiring, declared
|
|
257
|
+
in the file that uses it where same-document completion already covers it; and the
|
|
258
|
+
handful of tokens Tailwind's own theme publishes (`--blur-*`, `--drop-shadow-*`, the
|
|
259
|
+
`--radius` steps we do not override), which Tailwind IntelliSense completes.
|
|
260
|
+
|
|
261
|
+
Never import this file. It only holds light-theme defaults, so loading it would pin every
|
|
262
|
+
token at the highest-priority origin and freeze theming; it is wrapped in a query that can
|
|
263
|
+
never match, which makes an accidental import a no-op.
|
|
200
264
|
|
|
201
265
|
---
|
|
202
266
|
|
|
203
267
|
### Dist folder
|
|
204
268
|
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
|
208
|
-
|
|
|
209
|
-
| `css` |
|
|
210
|
-
| `css` |
|
|
211
|
-
| `
|
|
212
|
-
| `
|
|
213
|
-
| `css` | plain css | `utility-typography.css` |
|
|
214
|
-
| `css` | plain css | `typography.css` |
|
|
215
|
-
| `css` | tailwind or web components | `colors-rgb-*.css` |
|
|
216
|
-
| `tailwind` | tailwind | `base.css` |
|
|
217
|
-
| `tailwind` | tailwind components | `components.css` |
|
|
269
|
+
| Folder | For | Files |
|
|
270
|
+
| --- | --- | --- |
|
|
271
|
+
| `css` | everyone | `layer.css` (the cascade layer order), `reset.css`, `globals.css` (the `--magma-*` globals and the corner axis), `colors-rgb.css` (+ one `colors-rgb-<group>.css` per group), `typography.css` (the non-color tokens: fonts, type sizes, spacing, radius, shadows), `semantic.css` (the semantic color roles), `themes.css` (the named themes), `hydrated.css`, `transitions.css`, `animations.css`, `base.css` |
|
|
272
|
+
| `css` | plain css | `colors-hex.css` (+ per group), `utility-typography.css` (the `typography-*` classes), `theme.css` (the `--depth` axis) |
|
|
273
|
+
| `css` | editors only, never import | `tokens.editor.css` |
|
|
274
|
+
| `css` | tailwind (copied from design-tokens) | `tailwind-theme-color.css`, `tailwind-theme-typography.css` |
|
|
275
|
+
| `tailwind` | Tailwind 4 | `theme.css` (palette, typography tokens, semantic colors; imports `semantic.css`), `typography.css` (the `text-title-*`, `text-info-*`, ... utilities), `utilities.css` (`focus-bounce`, `focus-zoom`, ...), `base.css`, `reset.css`, `semantic.css` |
|
|
276
|
+
| `tailwind3` | Tailwind 3 | `base.css`, `components.css`, `reset.css`, `typography.css` |
|
|
218
277
|
|
|
219
278
|
[mds]: https://magma.maggiolicloud.it/
|
|
279
|
+
[css-variable-autocomplete]: https://marketplace.visualstudio.com/items?itemName=vunguyentuan.vscode-css-variables
|
|
220
280
|
[fontsource-var-fonts]: https://fontsource.org/docs/variable-fonts
|
|
221
|
-
[tailwindcss-config]: https://
|
|
222
|
-
[tailwindcss-doc]: https://tailwindcss.com/docs/installation
|
|
223
|
-
[tailwindcss-dark]: https://tailwindcss.com/docs/dark-mode#supporting-system-preference-and-manual-selection
|
|
224
|
-
[next-themes]: https://github.com/pacocoursey/next-themes#use
|
|
281
|
+
[tailwindcss-config]: https://github.com/magma-design-system/magma/blob/main/projects/styles/tailwind.config.js
|
package/dist/css/animations.css
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
0%,
|
|
3
3
|
75%,
|
|
4
4
|
100% {
|
|
5
|
-
outline-offset: var(--magma-outline-focus-offset,
|
|
5
|
+
outline-offset: var(--magma-outline-focus-offset, 2px);
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
50% {
|
|
9
|
-
outline-offset: var(--magma-outline-blur-offset,
|
|
9
|
+
outline-offset: var(--magma-outline-blur-offset, 6px);
|
|
10
10
|
}
|
|
11
11
|
}
|
package/dist/css/base.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! tailwindcss v4.
|
|
1
|
+
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
2
2
|
@layer properties;
|
|
3
3
|
@layer base {
|
|
4
4
|
@view-transition {
|
|
@@ -11,44 +11,30 @@
|
|
|
11
11
|
body {
|
|
12
12
|
min-height: auto;
|
|
13
13
|
text-box: trim-both text;
|
|
14
|
-
font-family: var(--font-info, Karla, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
|
|
15
14
|
font-size: var(--text-size-info-detail, 1rem);
|
|
16
15
|
line-height: var(--tw-leading, var(--text-size-info-detail--line-height, 1.5rem));
|
|
17
16
|
font-weight: var(--tw-font-weight, var(--text-size-info-detail--font-weight, 400));
|
|
18
17
|
-webkit-font-smoothing: antialiased;
|
|
19
18
|
-moz-osx-font-smoothing: grayscale;
|
|
20
19
|
font-family: var(--font-info, Karla, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
|
|
21
|
-
background-color: rgb(var(--
|
|
22
|
-
color: rgb(var(--
|
|
20
|
+
background-color: rgb(var(--magma-surface-default));
|
|
21
|
+
color: rgb(var(--magma-text-default));
|
|
23
22
|
}
|
|
24
|
-
:root
|
|
25
|
-
|
|
23
|
+
:root:not([data-magma-pref]),
|
|
24
|
+
:root.pref-mode-system {
|
|
25
|
+
color-scheme: light dark;
|
|
26
26
|
}
|
|
27
|
-
|
|
28
|
-
:
|
|
29
|
-
color: rgb(var(--tone-neutral-01));
|
|
30
|
-
}
|
|
27
|
+
:root.pref-mode-light {
|
|
28
|
+
color-scheme: light;
|
|
31
29
|
}
|
|
32
|
-
:root.pref-
|
|
33
|
-
color-scheme:
|
|
30
|
+
:root.pref-mode-dark {
|
|
31
|
+
color-scheme: dark;
|
|
34
32
|
}
|
|
35
33
|
:root.pref-theme-scheme-light {
|
|
36
34
|
color-scheme: only light;
|
|
37
35
|
}
|
|
38
|
-
:root.pref-theme-scheme-
|
|
39
|
-
color-scheme:
|
|
40
|
-
}
|
|
41
|
-
@media (prefers-color-scheme: dark) {
|
|
42
|
-
:root.pref-theme-system {
|
|
43
|
-
color-scheme: dark;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
:root.pref-theme-scheme-all.pref-theme-dark {
|
|
47
|
-
color-scheme: dark;
|
|
48
|
-
}
|
|
49
|
-
::-moz-selection {
|
|
50
|
-
background-color: var(--magma-selection-background);
|
|
51
|
-
color: var(--magma-selection-color);
|
|
36
|
+
:root.pref-theme-scheme-dark {
|
|
37
|
+
color-scheme: only dark;
|
|
52
38
|
}
|
|
53
39
|
::selection {
|
|
54
40
|
background-color: var(--magma-selection-background);
|
|
@@ -76,7 +62,7 @@
|
|
|
76
62
|
letter-spacing: var(--tracking-tight, -0.025em);
|
|
77
63
|
}
|
|
78
64
|
a {
|
|
79
|
-
color: rgb(var(--
|
|
65
|
+
color: rgb(var(--magma-accent-emphasis));
|
|
80
66
|
}
|
|
81
67
|
h1,
|
|
82
68
|
h2,
|
|
@@ -1,52 +1,52 @@
|
|
|
1
1
|
/*
|
|
2
|
-
@magma-design-system/design-tokens
|
|
2
|
+
@magma-design-system/design-tokens v15.0.1
|
|
3
3
|
Generated by Style Dictionary
|
|
4
4
|
Do not edit directly
|
|
5
|
-
Generated at
|
|
5
|
+
Generated at Sat, 10 Oct 2026 11:46:08 GMT
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
:root {
|
|
9
|
-
--hex-brand-rnd-01: #
|
|
10
|
-
--hex-brand-rnd-02: #
|
|
11
|
-
--hex-brand-rnd-03: #
|
|
12
|
-
--hex-brand-rnd-04: #
|
|
9
|
+
--hex-brand-rnd-01: #342d25;
|
|
10
|
+
--hex-brand-rnd-02: #514331;
|
|
11
|
+
--hex-brand-rnd-03: #6b5639;
|
|
12
|
+
--hex-brand-rnd-04: #8b6a40;
|
|
13
13
|
--hex-brand-rnd-05: #a37a44;
|
|
14
|
-
--hex-brand-rnd-06: #
|
|
14
|
+
--hex-brand-rnd-06: #cca56f;
|
|
15
15
|
--hex-brand-rnd-07: #d6bc9a;
|
|
16
16
|
--hex-brand-rnd-08: #ded2c1;
|
|
17
|
-
--hex-brand-rnd-09: #
|
|
18
|
-
--hex-brand-rnd-10: #
|
|
17
|
+
--hex-brand-rnd-09: #e5dfd6;
|
|
18
|
+
--hex-brand-rnd-10: #efedea;
|
|
19
19
|
--hex-brand-rnd: #cba26b;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
:root:not(.pref-theme-scheme-light).pref-
|
|
22
|
+
:root:not(.pref-theme-scheme-light).pref-mode-dark,
|
|
23
23
|
:root.pref-theme-scheme-dark {
|
|
24
|
-
--hex-brand-rnd-01: #
|
|
25
|
-
--hex-brand-rnd-02: #
|
|
26
|
-
--hex-brand-rnd-03: #
|
|
27
|
-
--hex-brand-rnd-04: #
|
|
24
|
+
--hex-brand-rnd-01: #f3f3f1;
|
|
25
|
+
--hex-brand-rnd-02: #eae6e1;
|
|
26
|
+
--hex-brand-rnd-03: #e2d8cc;
|
|
27
|
+
--hex-brand-rnd-04: #dac6ad;
|
|
28
28
|
--hex-brand-rnd-05: #d4b791;
|
|
29
|
-
--hex-brand-rnd-06: #
|
|
29
|
+
--hex-brand-rnd-06: #bb8b4b;
|
|
30
30
|
--hex-brand-rnd-07: #9e7743;
|
|
31
31
|
--hex-brand-rnd-08: #7c613d;
|
|
32
|
-
--hex-brand-rnd-09: #
|
|
33
|
-
--hex-brand-rnd-10: #
|
|
32
|
+
--hex-brand-rnd-09: #655137;
|
|
33
|
+
--hex-brand-rnd-10: #483c2e;
|
|
34
34
|
--hex-brand-rnd: #cba26b;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
@media (prefers-color-scheme: dark) {
|
|
38
|
-
:root:not(.pref-theme-scheme-light).pref-
|
|
38
|
+
:root:not(.pref-theme-scheme-light).pref-mode-system,
|
|
39
39
|
:root:not([data-magma-pref]) {
|
|
40
|
-
--hex-brand-rnd-01: #
|
|
41
|
-
--hex-brand-rnd-02: #
|
|
42
|
-
--hex-brand-rnd-03: #
|
|
43
|
-
--hex-brand-rnd-04: #
|
|
40
|
+
--hex-brand-rnd-01: #f3f3f1;
|
|
41
|
+
--hex-brand-rnd-02: #eae6e1;
|
|
42
|
+
--hex-brand-rnd-03: #e2d8cc;
|
|
43
|
+
--hex-brand-rnd-04: #dac6ad;
|
|
44
44
|
--hex-brand-rnd-05: #d4b791;
|
|
45
|
-
--hex-brand-rnd-06: #
|
|
45
|
+
--hex-brand-rnd-06: #bb8b4b;
|
|
46
46
|
--hex-brand-rnd-07: #9e7743;
|
|
47
47
|
--hex-brand-rnd-08: #7c613d;
|
|
48
|
-
--hex-brand-rnd-09: #
|
|
49
|
-
--hex-brand-rnd-10: #
|
|
48
|
+
--hex-brand-rnd-09: #655137;
|
|
49
|
+
--hex-brand-rnd-10: #483c2e;
|
|
50
50
|
--hex-brand-rnd: #cba26b;
|
|
51
51
|
}
|
|
52
52
|
}
|
|
@@ -1,85 +1,85 @@
|
|
|
1
1
|
/*
|
|
2
|
-
@magma-design-system/design-tokens
|
|
2
|
+
@magma-design-system/design-tokens v15.0.1
|
|
3
3
|
Generated by Style Dictionary
|
|
4
4
|
Do not edit directly
|
|
5
|
-
Generated at
|
|
5
|
+
Generated at Sat, 10 Oct 2026 11:46:08 GMT
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
:root {
|
|
9
|
-
--hex-brand-maggioli-01: #
|
|
10
|
-
--hex-brand-maggioli-02: #
|
|
11
|
-
--hex-brand-maggioli-03: #
|
|
12
|
-
--hex-brand-maggioli-04: #
|
|
9
|
+
--hex-brand-maggioli-01: #052867;
|
|
10
|
+
--hex-brand-maggioli-02: #0039a3;
|
|
11
|
+
--hex-brand-maggioli-03: #074ccc;
|
|
12
|
+
--hex-brand-maggioli-04: #2467e7;
|
|
13
13
|
--hex-brand-maggioli-05: #4a7ee0;
|
|
14
|
-
--hex-brand-maggioli-06: #
|
|
14
|
+
--hex-brand-maggioli-06: #94acda;
|
|
15
15
|
--hex-brand-maggioli-07: #b2c0dc;
|
|
16
16
|
--hex-brand-maggioli-08: #ccd4e2;
|
|
17
|
-
--hex-brand-maggioli-09: #
|
|
18
|
-
--hex-brand-maggioli-10: #
|
|
17
|
+
--hex-brand-maggioli-09: #dce0e7;
|
|
18
|
+
--hex-brand-maggioli-10: #ecedf0;
|
|
19
19
|
--hex-brand-maggioli: #00379e;
|
|
20
|
-
--hex-brand-maggioli-editore-01: #
|
|
21
|
-
--hex-brand-maggioli-editore-02: #
|
|
22
|
-
--hex-brand-maggioli-editore-03: #
|
|
23
|
-
--hex-brand-maggioli-editore-04: #
|
|
20
|
+
--hex-brand-maggioli-editore-01: #192b58;
|
|
21
|
+
--hex-brand-maggioli-editore-02: #123b9c;
|
|
22
|
+
--hex-brand-maggioli-editore-03: #0f49d2;
|
|
23
|
+
--hex-brand-maggioli-editore-04: #2e65e9;
|
|
24
24
|
--hex-brand-maggioli-editore-05: #517de4;
|
|
25
|
-
--hex-brand-maggioli-editore-06: #
|
|
25
|
+
--hex-brand-maggioli-editore-06: #96abdf;
|
|
26
26
|
--hex-brand-maggioli-editore-07: #b3c0e0;
|
|
27
27
|
--hex-brand-maggioli-editore-08: #cdd3e4;
|
|
28
|
-
--hex-brand-maggioli-editore-09: #
|
|
29
|
-
--hex-brand-maggioli-editore-10: #
|
|
28
|
+
--hex-brand-maggioli-editore-09: #dcdfe8;
|
|
29
|
+
--hex-brand-maggioli-editore-10: #ecedf0;
|
|
30
30
|
--hex-brand-maggioli-editore: #0f4ad5;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
:root:not(.pref-theme-scheme-light).pref-
|
|
33
|
+
:root:not(.pref-theme-scheme-light).pref-mode-dark,
|
|
34
34
|
:root.pref-theme-scheme-dark {
|
|
35
|
-
--hex-brand-maggioli-01: #
|
|
36
|
-
--hex-brand-maggioli-02: #
|
|
37
|
-
--hex-brand-maggioli-03: #
|
|
38
|
-
--hex-brand-maggioli-04: #
|
|
35
|
+
--hex-brand-maggioli-01: #f2f3f4;
|
|
36
|
+
--hex-brand-maggioli-02: #e4e6eb;
|
|
37
|
+
--hex-brand-maggioli-03: #d5dae4;
|
|
38
|
+
--hex-brand-maggioli-04: #becade;
|
|
39
39
|
--hex-brand-maggioli-05: #acbcdc;
|
|
40
|
-
--hex-brand-maggioli-06: #
|
|
40
|
+
--hex-brand-maggioli-06: #6e94dc;
|
|
41
41
|
--hex-brand-maggioli-07: #447ae1;
|
|
42
42
|
--hex-brand-maggioli-08: #1058e0;
|
|
43
|
-
--hex-brand-maggioli-09: #
|
|
44
|
-
--hex-brand-maggioli-10: #
|
|
43
|
+
--hex-brand-maggioli-09: #0446c3;
|
|
44
|
+
--hex-brand-maggioli-10: #003393;
|
|
45
45
|
--hex-brand-maggioli: #00379e;
|
|
46
|
-
--hex-brand-maggioli-editore-01: #
|
|
47
|
-
--hex-brand-maggioli-editore-02: #
|
|
48
|
-
--hex-brand-maggioli-editore-03: #
|
|
49
|
-
--hex-brand-maggioli-editore-04: #
|
|
46
|
+
--hex-brand-maggioli-editore-01: #f2f3f4;
|
|
47
|
+
--hex-brand-maggioli-editore-02: #e4e6ec;
|
|
48
|
+
--hex-brand-maggioli-editore-03: #d4dae6;
|
|
49
|
+
--hex-brand-maggioli-editore-04: #bfc9e1;
|
|
50
50
|
--hex-brand-maggioli-editore-05: #acbbdf;
|
|
51
|
-
--hex-brand-maggioli-editore-06: #
|
|
51
|
+
--hex-brand-maggioli-editore-06: #7293e0;
|
|
52
52
|
--hex-brand-maggioli-editore-07: #4a78e5;
|
|
53
53
|
--hex-brand-maggioli-editore-08: #1454ec;
|
|
54
|
-
--hex-brand-maggioli-editore-09: #
|
|
55
|
-
--hex-brand-maggioli-editore-10: #
|
|
54
|
+
--hex-brand-maggioli-editore-09: #0f45c6;
|
|
55
|
+
--hex-brand-maggioli-editore-10: #153787;
|
|
56
56
|
--hex-brand-maggioli-editore: #0f4ad5;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
@media (prefers-color-scheme: dark) {
|
|
60
|
-
:root:not(.pref-theme-scheme-light).pref-
|
|
60
|
+
:root:not(.pref-theme-scheme-light).pref-mode-system,
|
|
61
61
|
:root:not([data-magma-pref]) {
|
|
62
|
-
--hex-brand-maggioli-01: #
|
|
63
|
-
--hex-brand-maggioli-02: #
|
|
64
|
-
--hex-brand-maggioli-03: #
|
|
65
|
-
--hex-brand-maggioli-04: #
|
|
62
|
+
--hex-brand-maggioli-01: #f2f3f4;
|
|
63
|
+
--hex-brand-maggioli-02: #e4e6eb;
|
|
64
|
+
--hex-brand-maggioli-03: #d5dae4;
|
|
65
|
+
--hex-brand-maggioli-04: #becade;
|
|
66
66
|
--hex-brand-maggioli-05: #acbcdc;
|
|
67
|
-
--hex-brand-maggioli-06: #
|
|
67
|
+
--hex-brand-maggioli-06: #6e94dc;
|
|
68
68
|
--hex-brand-maggioli-07: #447ae1;
|
|
69
69
|
--hex-brand-maggioli-08: #1058e0;
|
|
70
|
-
--hex-brand-maggioli-09: #
|
|
71
|
-
--hex-brand-maggioli-10: #
|
|
70
|
+
--hex-brand-maggioli-09: #0446c3;
|
|
71
|
+
--hex-brand-maggioli-10: #003393;
|
|
72
72
|
--hex-brand-maggioli: #00379e;
|
|
73
|
-
--hex-brand-maggioli-editore-01: #
|
|
74
|
-
--hex-brand-maggioli-editore-02: #
|
|
75
|
-
--hex-brand-maggioli-editore-03: #
|
|
76
|
-
--hex-brand-maggioli-editore-04: #
|
|
73
|
+
--hex-brand-maggioli-editore-01: #f2f3f4;
|
|
74
|
+
--hex-brand-maggioli-editore-02: #e4e6ec;
|
|
75
|
+
--hex-brand-maggioli-editore-03: #d4dae6;
|
|
76
|
+
--hex-brand-maggioli-editore-04: #bfc9e1;
|
|
77
77
|
--hex-brand-maggioli-editore-05: #acbbdf;
|
|
78
|
-
--hex-brand-maggioli-editore-06: #
|
|
78
|
+
--hex-brand-maggioli-editore-06: #7293e0;
|
|
79
79
|
--hex-brand-maggioli-editore-07: #4a78e5;
|
|
80
80
|
--hex-brand-maggioli-editore-08: #1454ec;
|
|
81
|
-
--hex-brand-maggioli-editore-09: #
|
|
82
|
-
--hex-brand-maggioli-editore-10: #
|
|
81
|
+
--hex-brand-maggioli-editore-09: #0f45c6;
|
|
82
|
+
--hex-brand-maggioli-editore-10: #153787;
|
|
83
83
|
--hex-brand-maggioli-editore: #0f4ad5;
|
|
84
84
|
}
|
|
85
85
|
}
|