@rookcom/monarch-tokens 0.2.3 → 0.4.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 +16 -0
- package/dist/brand.d.ts +95 -0
- package/dist/brand.d.ts.map +1 -0
- package/dist/brand.js +107 -0
- package/dist/brand.js.map +1 -0
- package/dist/color.d.ts +2 -0
- package/dist/color.d.ts.map +1 -1
- package/dist/color.js +9 -0
- package/dist/color.js.map +1 -1
- package/dist/css/compat.css +1 -2
- package/dist/css/monarch.css +69 -14
- package/dist/css/products/app.css +4 -0
- package/dist/css/products/atlas.css +4 -0
- package/dist/css/products/base.css +4 -0
- package/dist/css/products/calendar.css +4 -0
- package/dist/css/products/chat.css +4 -0
- package/dist/css/products/dossier.css +4 -0
- package/dist/css/products/dots.css +4 -0
- package/dist/css/products/friends.css +4 -0
- package/dist/css/products/gtm.css +4 -0
- package/dist/css/products/id.css +4 -0
- package/dist/css/products/intellect.css +4 -0
- package/dist/css/products/links.css +4 -0
- package/dist/css/products/people.css +4 -0
- package/dist/css/products/pulse.css +4 -0
- package/dist/css/products/ranker.css +4 -0
- package/dist/css/products/recruit.css +4 -0
- package/dist/css/products/signal.css +4 -0
- package/dist/css/products/stride.css +4 -0
- package/dist/css/products/tickets.css +4 -0
- package/dist/css.d.ts +22 -7
- package/dist/css.d.ts.map +1 -1
- package/dist/css.js +64 -21
- package/dist/css.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/primitives.d.ts +49 -0
- package/dist/primitives.d.ts.map +1 -1
- package/dist/primitives.js +46 -0
- package/dist/primitives.js.map +1 -1
- package/dist/tailwind.d.ts +16 -0
- package/dist/tailwind.d.ts.map +1 -1
- package/dist/tailwind.js +15 -1
- package/dist/tailwind.js.map +1 -1
- package/dist/themes.d.ts +11 -1
- package/dist/themes.d.ts.map +1 -1
- package/dist/themes.js +20 -1
- package/dist/themes.js.map +1 -1
- package/dist/tokens.json +252 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @rookcom/monarch-tokens
|
|
2
2
|
|
|
3
|
+
## 0.4.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 220a201: The categorical data palette (`--mn-color-data-1` … `-5`) is now chosen per theme and contrast-checked: every slot meets 3:1 on every chart background (4.5:1 in high contrast), and neighbouring slots stay distinguishable under normal vision, protanopia and deuteranopia. Dark-theme values are deeper and high-contrast themes get their own values. Adds `dataPalette(theme)` and `DATA_PALETTE_ORDER`.
|
|
8
|
+
|
|
9
|
+
## 0.3.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- 02ded2b: Marketing layer. Tokens: fluid display scale, lead size, section rhythm, content widths, derived gradients (`--mn-gradient-wash`, `--mn-gradient-accent`, `--mn-gradient-inverse`), inverse-surface roles (`text-inverse-muted`, `border-inverse`) and the `strong-inverse` intent role, all contrast-tested for every product. React: SiteHeader, MarketingHero, MarketingSection, MarketingSectionHeader, FeatureGrid, ProductFrame, StatStrip, CTABand, FAQ and SiteFooter from the new `@rookcom/monarch-react/marketing` entry; Accordion from the root entry.
|
|
14
|
+
|
|
15
|
+
Fix: a product's light-theme accent now wins over the light theme regardless of CSS load order (the light theme selector uses `:where()`).
|
|
16
|
+
|
|
17
|
+
- 31753b0: Brand theme engine: `deriveTheme(hex)` derives a full accent token set (every intent role plus `--mn-color-text-link` and `--mn-color-focus-ring`) for the light, dark and both high-contrast themes from one brand colour, with the same contrast guarantees as product accents (4.5:1, 7:1 in high contrast). Pure, no DOM. `brandThemeCss(theme, { selector })` renders it as CSS that follows the Monarch theme selectors, `parseHexColor()` validates input, and invalid colours fall back instead of throwing. `compat: true` adds the legacy `--primary` variables.
|
|
18
|
+
|
|
3
19
|
## 0.2.3
|
|
4
20
|
|
|
5
21
|
### Patch Changes
|
package/dist/brand.d.ts
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Brand theme engine: one brand colour in, a complete accent token set out.
|
|
3
|
+
*
|
|
4
|
+
* Products that let a customer pick a colour (booking pages, support portals,
|
|
5
|
+
* community sites, careers and status pages) previously each carried their own
|
|
6
|
+
* contrast maths. `deriveTheme` replaces those copies: it runs the same
|
|
7
|
+
* `deriveIntent` that builds every Monarch product accent, for all four
|
|
8
|
+
* themes, so a tenant colour gets exactly the guarantees a Rook product
|
|
9
|
+
* colour gets (ADR 0003):
|
|
10
|
+
*
|
|
11
|
+
* - `on-solid` on `solid`, `solid-hover` and `solid-active`: ≥ 4.5:1 (7:1 in
|
|
12
|
+
* the high-contrast themes);
|
|
13
|
+
* - `strong` (links, icons, focus rings) on canvas, surface, subtle, muted and
|
|
14
|
+
* the accent's own subtle tints: ≥ 4.5:1 (7:1 high contrast);
|
|
15
|
+
* - the fill stays distinguishable from the canvas (≥ 1.5:1, 4.5:1 high contrast).
|
|
16
|
+
*
|
|
17
|
+
* Everything here is a pure function of its arguments: no DOM, no globals, no
|
|
18
|
+
* caching. It runs the same on the server, in a worker or in the browser.
|
|
19
|
+
*/
|
|
20
|
+
import { type Hsl } from './color.js';
|
|
21
|
+
import { type IntentReport, type IntentScale, type ThemeId } from './themes.js';
|
|
22
|
+
/** CSS custom properties, ready for a `style` object or a stylesheet block. */
|
|
23
|
+
export type BrandThemeVars = Readonly<Record<`--${string}`, string>>;
|
|
24
|
+
export interface BrandThemeMode {
|
|
25
|
+
/** The derived accent roles for this theme (HSL). */
|
|
26
|
+
readonly accent: IntentScale;
|
|
27
|
+
/** What `deriveIntent` changed to meet contrast, in plain language, and the measured ratios. */
|
|
28
|
+
readonly report: IntentReport;
|
|
29
|
+
/** `--mn-color-accent-*`, `--mn-color-text-link` and `--mn-color-focus-ring` for this theme. */
|
|
30
|
+
readonly vars: BrandThemeVars;
|
|
31
|
+
}
|
|
32
|
+
export interface BrandTheme {
|
|
33
|
+
/** The value that was passed in, unchanged. */
|
|
34
|
+
readonly input: string;
|
|
35
|
+
/** The colour the theme was derived from, as lowercase `#rrggbb`. */
|
|
36
|
+
readonly brand: string;
|
|
37
|
+
/** False when `input` was not a hex colour and the fallback was used instead. */
|
|
38
|
+
readonly valid: boolean;
|
|
39
|
+
/** One accent set per Monarch theme. */
|
|
40
|
+
readonly modes: Readonly<Record<ThemeId, BrandThemeMode>>;
|
|
41
|
+
}
|
|
42
|
+
export interface DeriveThemeOptions {
|
|
43
|
+
/**
|
|
44
|
+
* Used when the brand colour is missing or not a hex colour, so a bad value
|
|
45
|
+
* saved by a customer never breaks the page. Default: the Monarch default
|
|
46
|
+
* accent (Rook Red).
|
|
47
|
+
*/
|
|
48
|
+
readonly fallback?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Also emit the legacy shadcn-style variables (`--primary`,
|
|
51
|
+
* `--primary-foreground`, `--ring`, `--sidebar-primary*`) for apps still on
|
|
52
|
+
* the compat bridge. Default false.
|
|
53
|
+
*/
|
|
54
|
+
readonly compat?: boolean;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Parses `#rgb`, `#rrggbb`, `rgb` or `rrggbb` (any case, surrounding spaces
|
|
58
|
+
* allowed). Returns null for anything else, including named colours and
|
|
59
|
+
* `#rrggbbaa`: a brand colour must be opaque for contrast to mean anything.
|
|
60
|
+
*/
|
|
61
|
+
export declare function parseHexColor(input: string | null | undefined): Hsl | null;
|
|
62
|
+
/**
|
|
63
|
+
* Derives a full accent token set from one brand colour, for the light, dark
|
|
64
|
+
* and both high-contrast themes. Pure: the same input always gives the same
|
|
65
|
+
* output, and nothing touches the DOM.
|
|
66
|
+
*
|
|
67
|
+
* ```ts
|
|
68
|
+
* const theme = deriveTheme(workspace.brandColor);
|
|
69
|
+
* // Inline, for a page that is always light:
|
|
70
|
+
* <div style={theme.modes.light.vars}>…</div>
|
|
71
|
+
* // Or a stylesheet that follows the user's theme:
|
|
72
|
+
* <style>{brandThemeCss(theme, { selector: '.booking-page' })}</style>
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
export declare function deriveTheme(brand: string, options?: DeriveThemeOptions): BrandTheme;
|
|
76
|
+
export interface BrandThemeCssOptions {
|
|
77
|
+
/**
|
|
78
|
+
* The element the theme applies to. Default `:root` (the whole page). Use a
|
|
79
|
+
* class or attribute to theme one region, such as a booking widget.
|
|
80
|
+
*/
|
|
81
|
+
readonly selector?: string;
|
|
82
|
+
/**
|
|
83
|
+
* Wrap the rules in `@layer monarch.tokens` so they sit with the other
|
|
84
|
+
* Monarch tokens and any unlayered app rule still wins. Default true.
|
|
85
|
+
*/
|
|
86
|
+
readonly layer?: boolean;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* The theme as CSS text: one block per theme, keyed to the same selectors as
|
|
90
|
+
* the Monarch stylesheets (`.dark` / `data-mn-theme="dark"` and
|
|
91
|
+
* `data-mn-contrast="more"` on an ancestor or on the element itself), so it
|
|
92
|
+
* follows the user's theme with no script. Pure string output.
|
|
93
|
+
*/
|
|
94
|
+
export declare function brandThemeCss(theme: BrandTheme, options?: BrandThemeCssOptions): string;
|
|
95
|
+
//# sourceMappingURL=brand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../src/brand.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAqC,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAGzE,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,OAAO,EACb,MAAM,aAAa,CAAC;AAErB,+EAA+E;AAC/E,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;AAErE,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,gGAAgG;IAChG,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,gGAAgG;IAChG,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,wCAAwC;IACxC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,GAAG,GAAG,IAAI,CAM1E;AA4BD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,UAAU,CAWvF;AAED,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,GAAE,oBAAyB,GAAG,MAAM,CAiB3F"}
|
package/dist/brand.js
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Brand theme engine: one brand colour in, a complete accent token set out.
|
|
3
|
+
*
|
|
4
|
+
* Products that let a customer pick a colour (booking pages, support portals,
|
|
5
|
+
* community sites, careers and status pages) previously each carried their own
|
|
6
|
+
* contrast maths. `deriveTheme` replaces those copies: it runs the same
|
|
7
|
+
* `deriveIntent` that builds every Monarch product accent, for all four
|
|
8
|
+
* themes, so a tenant colour gets exactly the guarantees a Rook product
|
|
9
|
+
* colour gets (ADR 0003):
|
|
10
|
+
*
|
|
11
|
+
* - `on-solid` on `solid`, `solid-hover` and `solid-active`: ≥ 4.5:1 (7:1 in
|
|
12
|
+
* the high-contrast themes);
|
|
13
|
+
* - `strong` (links, icons, focus rings) on canvas, surface, subtle, muted and
|
|
14
|
+
* the accent's own subtle tints: ≥ 4.5:1 (7:1 high contrast);
|
|
15
|
+
* - the fill stays distinguishable from the canvas (≥ 1.5:1, 4.5:1 high contrast).
|
|
16
|
+
*
|
|
17
|
+
* Everything here is a pure function of its arguments: no DOM, no globals, no
|
|
18
|
+
* caching. It runs the same on the server, in a worker or in the browser.
|
|
19
|
+
*/
|
|
20
|
+
import { fromHex, toChannels, toCss, toHex } from './color.js';
|
|
21
|
+
import { compatPrimary, INTENT_ROLES, themeSelectors, LAYER } from './css.js';
|
|
22
|
+
import { defaultAccent } from './primitives.js';
|
|
23
|
+
import { THEME_IDS, deriveIntent, resolveTheme, themes, } from './themes.js';
|
|
24
|
+
/**
|
|
25
|
+
* Parses `#rgb`, `#rrggbb`, `rgb` or `rrggbb` (any case, surrounding spaces
|
|
26
|
+
* allowed). Returns null for anything else, including named colours and
|
|
27
|
+
* `#rrggbbaa`: a brand colour must be opaque for contrast to mean anything.
|
|
28
|
+
*/
|
|
29
|
+
export function parseHexColor(input) {
|
|
30
|
+
if (typeof input !== 'string')
|
|
31
|
+
return null;
|
|
32
|
+
const v = input.trim().replace(/^#/, '');
|
|
33
|
+
const six = /^[0-9a-f]{3}$/i.test(v) ? v.replace(/./g, (c) => c + c) : v;
|
|
34
|
+
if (!/^[0-9a-f]{6}$/i.test(six))
|
|
35
|
+
return null;
|
|
36
|
+
return fromHex(six);
|
|
37
|
+
}
|
|
38
|
+
function accentVars(theme, base, accent, compat) {
|
|
39
|
+
const vars = {};
|
|
40
|
+
for (const role of INTENT_ROLES)
|
|
41
|
+
vars[`--mn-color-accent-${role}`] = toCss(accent[role]);
|
|
42
|
+
// These two are declared on :root as var(--mn-color-accent-strong). A custom
|
|
43
|
+
// property's var() is resolved where it is declared, so re-theming a region
|
|
44
|
+
// must restate them, or links and focus rings keep the page accent.
|
|
45
|
+
vars['--mn-color-text-link'] = toCss(accent.strong);
|
|
46
|
+
vars['--mn-color-focus-ring'] =
|
|
47
|
+
themes[theme].contrast === 'more' ? 'var(--mn-color-text-default)' : toCss(accent.strong);
|
|
48
|
+
if (compat) {
|
|
49
|
+
const p = compatPrimary(resolveTheme(themes[theme], base));
|
|
50
|
+
vars['--primary'] = toChannels(p.fill);
|
|
51
|
+
vars['--primary-foreground'] = toChannels(p.on);
|
|
52
|
+
vars['--ring'] = toChannels(accent.strong);
|
|
53
|
+
vars['--sidebar-primary'] = toChannels(p.fill);
|
|
54
|
+
vars['--sidebar-primary-foreground'] = toChannels(p.on);
|
|
55
|
+
vars['--sidebar-ring'] = toChannels(accent.strong);
|
|
56
|
+
}
|
|
57
|
+
return vars;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Derives a full accent token set from one brand colour, for the light, dark
|
|
61
|
+
* and both high-contrast themes. Pure: the same input always gives the same
|
|
62
|
+
* output, and nothing touches the DOM.
|
|
63
|
+
*
|
|
64
|
+
* ```ts
|
|
65
|
+
* const theme = deriveTheme(workspace.brandColor);
|
|
66
|
+
* // Inline, for a page that is always light:
|
|
67
|
+
* <div style={theme.modes.light.vars}>…</div>
|
|
68
|
+
* // Or a stylesheet that follows the user's theme:
|
|
69
|
+
* <style>{brandThemeCss(theme, { selector: '.booking-page' })}</style>
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export function deriveTheme(brand, options = {}) {
|
|
73
|
+
const parsed = parseHexColor(brand);
|
|
74
|
+
const fallback = parseHexColor(options.fallback) ?? defaultAccent;
|
|
75
|
+
const base = parsed ?? fallback;
|
|
76
|
+
const compat = options.compat ?? false;
|
|
77
|
+
const modes = {};
|
|
78
|
+
for (const id of THEME_IDS) {
|
|
79
|
+
const { scale, report } = deriveIntent(base, themes[id]);
|
|
80
|
+
modes[id] = { accent: scale, report, vars: accentVars(id, base, scale, compat) };
|
|
81
|
+
}
|
|
82
|
+
return { input: brand, brand: toHex(base), valid: parsed !== null, modes };
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* The theme as CSS text: one block per theme, keyed to the same selectors as
|
|
86
|
+
* the Monarch stylesheets (`.dark` / `data-mn-theme="dark"` and
|
|
87
|
+
* `data-mn-contrast="more"` on an ancestor or on the element itself), so it
|
|
88
|
+
* follows the user's theme with no script. Pure string output.
|
|
89
|
+
*/
|
|
90
|
+
export function brandThemeCss(theme, options = {}) {
|
|
91
|
+
const target = options.selector?.trim() || ':root';
|
|
92
|
+
const selectorsFor = (id) => id === 'light'
|
|
93
|
+
? [target]
|
|
94
|
+
: themeSelectors(id).flatMap((q) => [`${q}${target}`, `${q} ${target}`]);
|
|
95
|
+
const indent = options.layer === false ? '' : ' ';
|
|
96
|
+
const blocks = THEME_IDS.map((id) => {
|
|
97
|
+
const body = Object.entries(theme.modes[id].vars)
|
|
98
|
+
.map(([k, v]) => `${indent} ${k}: ${v};`)
|
|
99
|
+
.join('\n');
|
|
100
|
+
return `${indent}${selectorsFor(id).join(`,\n${indent}`)} {\n${body}\n${indent}}`;
|
|
101
|
+
});
|
|
102
|
+
const comment = `/* Monarch brand theme ${theme.brand}${theme.valid ? '' : ' (fallback)'} */`;
|
|
103
|
+
return options.layer === false
|
|
104
|
+
? `${comment}\n${blocks.join('\n\n')}\n`
|
|
105
|
+
: `${comment}\n@layer ${LAYER} {\n${blocks.join('\n\n')}\n}\n`;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=brand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"brand.js","sourceRoot":"","sources":["../src/brand.ts"],"names":[],"mappings":"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"}
|
package/dist/color.d.ts
CHANGED
|
@@ -39,4 +39,6 @@ export declare function bestForeground(bg: Hsl, candidates: readonly Hsl[]): {
|
|
|
39
39
|
color: Hsl;
|
|
40
40
|
ratio: number;
|
|
41
41
|
};
|
|
42
|
+
/** sRGB mix of `a` into `b` by `p` (0–1); same as CSS `color-mix(in srgb, a p%, b)`. */
|
|
43
|
+
export declare function mixSrgb(a: Hsl, b: Hsl, p: number): Hsl;
|
|
42
44
|
//# sourceMappingURL=color.d.ts.map
|
package/dist/color.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../src/color.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,GAAG;IAClB,kBAAkB;IAClB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,GAAG,CAExD;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAErE;AAOD,kFAAkF;AAClF,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAEzC;AAED,0BAA0B;AAC1B,wBAAgB,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAEpC;AAED,mBAAmB;AACnB,wBAAgB,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAOtD;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAWpC;AAED,4EAA4E;AAC5E,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAoBxC;AAWD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAShD;AAED,iCAAiC;AACjC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,MAAM,CAK/C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,GAAG,EACV,OAAO,EAAE,SAAS,GAAG,EAAE,EACvB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,QAAQ,GAAG,SAAS,GAC9B,GAAG,CAYL;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,GAAG,EAAE,GAAG;IAAE,KAAK,EAAE,GAAG,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAQjG"}
|
|
1
|
+
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../src/color.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,GAAG;IAClB,kBAAkB;IAClB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,GAAG,CAExD;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAErE;AAOD,kFAAkF;AAClF,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAEzC;AAED,0BAA0B;AAC1B,wBAAgB,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAEpC;AAED,mBAAmB;AACnB,wBAAgB,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAOtD;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAWpC;AAED,4EAA4E;AAC5E,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAoBxC;AAWD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAShD;AAED,iCAAiC;AACjC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,MAAM,CAK/C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,GAAG,EACV,OAAO,EAAE,SAAS,GAAG,EAAE,EACvB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,QAAQ,GAAG,SAAS,GAC9B,GAAG,CAYL;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,GAAG,EAAE,GAAG;IAAE,KAAK,EAAE,GAAG,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAQjG;AAED,wFAAwF;AACxF,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,GAAG,GAAG,CAQtD"}
|
package/dist/color.js
CHANGED
|
@@ -118,4 +118,13 @@ export function bestForeground(bg, candidates) {
|
|
|
118
118
|
throw new Error('bestForeground needs at least one candidate');
|
|
119
119
|
return best;
|
|
120
120
|
}
|
|
121
|
+
/** sRGB mix of `a` into `b` by `p` (0–1); same as CSS `color-mix(in srgb, a p%, b)`. */
|
|
122
|
+
export function mixSrgb(a, b, p) {
|
|
123
|
+
const [ar, ag, ab] = toRgb(a);
|
|
124
|
+
const [br, bg, bb] = toRgb(b);
|
|
125
|
+
const m = (x, y) => Math.round((x * p + y * (1 - p)) * 255)
|
|
126
|
+
.toString(16)
|
|
127
|
+
.padStart(2, '0');
|
|
128
|
+
return fromHex(`#${m(ar, br)}${m(ag, bg)}${m(ab, bb)}`);
|
|
129
|
+
}
|
|
121
130
|
//# sourceMappingURL=color.js.map
|
package/dist/color.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color.js","sourceRoot":"","sources":["../src/color.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"color.js","sourceRoot":"","sources":["../src/color.ts"],"names":[],"mappings":"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"}
|
package/dist/css/compat.css
CHANGED
package/dist/css/monarch.css
CHANGED
|
@@ -89,16 +89,43 @@
|
|
|
89
89
|
--mn-layout-reading-max: 42rem;
|
|
90
90
|
--mn-layout-gutter: 1rem;
|
|
91
91
|
--mn-layout-gutter-lg: 1.5rem;
|
|
92
|
+
--mn-display-xl: clamp(2.625rem, 1.85rem + 3.2vw, 4.5rem);
|
|
93
|
+
--mn-display-xl-leading: 1.04;
|
|
94
|
+
--mn-display-xl-tracking: -0.035em;
|
|
95
|
+
--mn-display-xl-weight: 600;
|
|
96
|
+
--mn-display-lg: clamp(2.125rem, 1.6rem + 2.2vw, 3.5rem);
|
|
97
|
+
--mn-display-lg-leading: 1.08;
|
|
98
|
+
--mn-display-lg-tracking: -0.03em;
|
|
99
|
+
--mn-display-lg-weight: 600;
|
|
100
|
+
--mn-display-md: clamp(1.75rem, 1.45rem + 1.25vw, 2.5rem);
|
|
101
|
+
--mn-display-md-leading: 1.14;
|
|
102
|
+
--mn-display-md-tracking: -0.025em;
|
|
103
|
+
--mn-display-md-weight: 600;
|
|
104
|
+
--mn-display-sm: clamp(1.375rem, 1.25rem + 0.55vw, 1.75rem);
|
|
105
|
+
--mn-display-sm-leading: 1.25;
|
|
106
|
+
--mn-display-sm-tracking: -0.02em;
|
|
107
|
+
--mn-display-sm-weight: 600;
|
|
108
|
+
--mn-lead: clamp(1.0625rem, 1rem + 0.3vw, 1.25rem);
|
|
109
|
+
--mn-lead-leading: 1.6;
|
|
110
|
+
--mn-section-sm: clamp(3rem, 2.25rem + 3vw, 4.5rem);
|
|
111
|
+
--mn-section-md: clamp(4rem, 2.75rem + 5vw, 7rem);
|
|
112
|
+
--mn-section-lg: clamp(5rem, 3.25rem + 7vw, 9rem);
|
|
113
|
+
--mn-width-narrow: 44rem;
|
|
114
|
+
--mn-width-content: 72rem;
|
|
115
|
+
--mn-width-wide: 80rem;
|
|
116
|
+
--mn-width-gutter: clamp(1.25rem, 0.75rem + 2vw, 2rem);
|
|
92
117
|
--mn-color-spectrum-blue: hsl(214 90% 58%);
|
|
93
118
|
--mn-color-spectrum-violet: hsl(256 82% 58%);
|
|
94
119
|
--mn-color-spectrum-purple: hsl(280 68% 58%);
|
|
95
120
|
--mn-color-spectrum-pink: hsl(330 78% 58%);
|
|
96
121
|
--mn-color-spectrum-orange: hsl(24 94% 58%);
|
|
122
|
+
--mn-gradient-wash: radial-gradient(120% 70% at 50% 0%, var(--mn-color-accent-subtle) 0%, var(--mn-color-bg-canvas) 72%);
|
|
123
|
+
--mn-gradient-accent: linear-gradient(135deg, var(--mn-color-accent-solid) 0%, var(--mn-color-accent-solid-active) 100%);
|
|
124
|
+
--mn-gradient-inverse: radial-gradient(55% 80% at 100% 0%, color-mix(in srgb, var(--mn-color-accent-solid) 12%, var(--mn-color-bg-inverse)) 0%, var(--mn-color-bg-inverse) 100%);
|
|
97
125
|
--mn-gradient-spectrum: linear-gradient(120deg, hsl(214 90% 58%), hsl(256 82% 58%) 30%, hsl(280 68% 58%) 55%, hsl(330 78% 58%) 78%, hsl(24 94% 58%));
|
|
98
126
|
}
|
|
99
127
|
|
|
100
|
-
:root,
|
|
101
|
-
[data-mn-theme="light"] {
|
|
128
|
+
:where(:root, [data-mn-theme="light"]) {
|
|
102
129
|
color-scheme: light;
|
|
103
130
|
--mn-color-bg-canvas: hsl(220 20% 99%);
|
|
104
131
|
--mn-color-bg-surface: hsl(0 0% 100%);
|
|
@@ -112,10 +139,12 @@
|
|
|
112
139
|
--mn-color-text-subtle: hsl(220 9% 43.5%);
|
|
113
140
|
--mn-color-text-disabled: hsl(220 9% 64%);
|
|
114
141
|
--mn-color-text-inverse: hsl(0 0% 100%);
|
|
142
|
+
--mn-color-text-inverse-muted: hsl(220 11% 80%);
|
|
115
143
|
--mn-color-border-subtle: hsl(220 13% 92.5%);
|
|
116
144
|
--mn-color-border-default: hsl(220 13% 89%);
|
|
117
145
|
--mn-color-border-strong: hsl(220 11% 80%);
|
|
118
146
|
--mn-color-border-input: hsl(220 9% 56%);
|
|
147
|
+
--mn-color-border-inverse: hsl(220 13% 27%);
|
|
119
148
|
--mn-color-accent-solid: hsl(354.5 71.3% 52.2%);
|
|
120
149
|
--mn-color-accent-solid-hover: hsl(354.5 71.3% 47.2%);
|
|
121
150
|
--mn-color-accent-solid-active: hsl(354.5 71.3% 43.2%);
|
|
@@ -125,6 +154,7 @@
|
|
|
125
154
|
--mn-color-accent-strong: hsl(354.5 71.3% 46.2%);
|
|
126
155
|
--mn-color-accent-on-strong: hsl(0 0% 100%);
|
|
127
156
|
--mn-color-accent-border: hsl(354.5 42.8% 84%);
|
|
157
|
+
--mn-color-accent-strong-inverse: hsl(354.5 71.3% 66.7%);
|
|
128
158
|
--mn-color-danger-solid: hsl(354.5 71.3% 52.2%);
|
|
129
159
|
--mn-color-danger-solid-hover: hsl(354.5 71.3% 47.2%);
|
|
130
160
|
--mn-color-danger-solid-active: hsl(354.5 71.3% 43.2%);
|
|
@@ -134,6 +164,7 @@
|
|
|
134
164
|
--mn-color-danger-strong: hsl(354.5 71.3% 46.2%);
|
|
135
165
|
--mn-color-danger-on-strong: hsl(0 0% 100%);
|
|
136
166
|
--mn-color-danger-border: hsl(354.5 42.8% 84%);
|
|
167
|
+
--mn-color-danger-strong-inverse: hsl(354.5 71.3% 66.7%);
|
|
137
168
|
--mn-color-success-solid: hsl(136 62.8% 32.7%);
|
|
138
169
|
--mn-color-success-solid-hover: hsl(136 62.8% 27.7%);
|
|
139
170
|
--mn-color-success-solid-active: hsl(136 62.8% 23.7%);
|
|
@@ -143,6 +174,7 @@
|
|
|
143
174
|
--mn-color-success-strong: hsl(136 62.8% 30.7%);
|
|
144
175
|
--mn-color-success-on-strong: hsl(0 0% 100%);
|
|
145
176
|
--mn-color-success-border: hsl(136 37.7% 84%);
|
|
177
|
+
--mn-color-success-strong-inverse: hsl(136 62.8% 42.2%);
|
|
146
178
|
--mn-color-warning-solid: hsl(44.3 100% 47.8%);
|
|
147
179
|
--mn-color-warning-solid-hover: hsl(44.3 100% 52.8%);
|
|
148
180
|
--mn-color-warning-solid-active: hsl(44.3 100% 56.8%);
|
|
@@ -152,6 +184,7 @@
|
|
|
152
184
|
--mn-color-warning-strong: hsl(44.3 100% 27.8%);
|
|
153
185
|
--mn-color-warning-on-strong: hsl(0 0% 100%);
|
|
154
186
|
--mn-color-warning-border: hsl(44.3 60% 84%);
|
|
187
|
+
--mn-color-warning-strong-inverse: hsl(44.3 100% 47.8%);
|
|
155
188
|
--mn-color-info-solid: hsl(197.5 100% 34.6%);
|
|
156
189
|
--mn-color-info-solid-hover: hsl(197.5 100% 29.6%);
|
|
157
190
|
--mn-color-info-solid-active: hsl(197.5 100% 25.6%);
|
|
@@ -161,6 +194,7 @@
|
|
|
161
194
|
--mn-color-info-strong: hsl(197.5 100% 32.1%);
|
|
162
195
|
--mn-color-info-on-strong: hsl(0 0% 100%);
|
|
163
196
|
--mn-color-info-border: hsl(197.5 60% 84%);
|
|
197
|
+
--mn-color-info-strong-inverse: hsl(197.5 100% 43.6%);
|
|
164
198
|
--mn-color-text-link: var(--mn-color-accent-strong);
|
|
165
199
|
--mn-color-focus-ring: var(--mn-color-accent-strong);
|
|
166
200
|
--mn-focus-ring-width: 2px;
|
|
@@ -171,7 +205,7 @@
|
|
|
171
205
|
--mn-shadow-lg: 0 12px 32px -8px hsl(222 30% 10% / 0.14), 0 4px 8px -4px hsl(222 30% 10% / 0.06);
|
|
172
206
|
--mn-shadow-xl: 0 24px 64px -16px hsl(222 30% 10% / 0.22), 0 8px 16px -8px hsl(222 30% 10% / 0.08);
|
|
173
207
|
--mn-color-data-1: hsl(214 90% 49%);
|
|
174
|
-
--mn-color-data-2: hsl(24 94%
|
|
208
|
+
--mn-color-data-2: hsl(24 94% 48.5%);
|
|
175
209
|
--mn-color-data-3: hsl(256 82% 49%);
|
|
176
210
|
--mn-color-data-4: hsl(330 78% 49%);
|
|
177
211
|
--mn-color-data-5: hsl(280 68% 49%);
|
|
@@ -192,10 +226,12 @@
|
|
|
192
226
|
--mn-color-text-subtle: hsl(220 9% 64%);
|
|
193
227
|
--mn-color-text-disabled: hsl(220 10% 37%);
|
|
194
228
|
--mn-color-text-inverse: hsl(222 18% 10%);
|
|
229
|
+
--mn-color-text-inverse-muted: hsl(220 10% 37%);
|
|
195
230
|
--mn-color-border-subtle: hsl(222 16% 13.5%);
|
|
196
231
|
--mn-color-border-default: hsl(221 15% 18%);
|
|
197
232
|
--mn-color-border-strong: hsl(220 13% 27%);
|
|
198
233
|
--mn-color-border-input: hsl(220 9% 45%);
|
|
234
|
+
--mn-color-border-inverse: hsl(220 13% 89%);
|
|
199
235
|
--mn-color-accent-solid: hsl(354.5 71.3% 52.2%);
|
|
200
236
|
--mn-color-accent-solid-hover: hsl(354.5 71.3% 47.2%);
|
|
201
237
|
--mn-color-accent-solid-active: hsl(354.5 71.3% 43.2%);
|
|
@@ -205,6 +241,7 @@
|
|
|
205
241
|
--mn-color-accent-strong: hsl(354.5 71.3% 66.2%);
|
|
206
242
|
--mn-color-accent-on-strong: hsl(224 22% 6.5%);
|
|
207
243
|
--mn-color-accent-border: hsl(354.5 32.1% 32%);
|
|
244
|
+
--mn-color-accent-strong-inverse: hsl(354.5 71.3% 45.2%);
|
|
208
245
|
--mn-color-danger-solid: hsl(354.5 71.3% 52.2%);
|
|
209
246
|
--mn-color-danger-solid-hover: hsl(354.5 71.3% 47.2%);
|
|
210
247
|
--mn-color-danger-solid-active: hsl(354.5 71.3% 43.2%);
|
|
@@ -214,6 +251,7 @@
|
|
|
214
251
|
--mn-color-danger-strong: hsl(354.5 71.3% 66.2%);
|
|
215
252
|
--mn-color-danger-on-strong: hsl(224 22% 6.5%);
|
|
216
253
|
--mn-color-danger-border: hsl(354.5 32.1% 32%);
|
|
254
|
+
--mn-color-danger-strong-inverse: hsl(354.5 71.3% 45.2%);
|
|
217
255
|
--mn-color-success-solid: hsl(136 62.8% 32.7%);
|
|
218
256
|
--mn-color-success-solid-hover: hsl(136 62.8% 27.7%);
|
|
219
257
|
--mn-color-success-solid-active: hsl(136 62.8% 23.7%);
|
|
@@ -223,6 +261,7 @@
|
|
|
223
261
|
--mn-color-success-strong: hsl(136 62.8% 43.2%);
|
|
224
262
|
--mn-color-success-on-strong: hsl(224 22% 6.5%);
|
|
225
263
|
--mn-color-success-border: hsl(136 28.3% 32%);
|
|
264
|
+
--mn-color-success-strong-inverse: hsl(136 62.8% 28.2%);
|
|
226
265
|
--mn-color-warning-solid: hsl(44.3 100% 47.8%);
|
|
227
266
|
--mn-color-warning-solid-hover: hsl(44.3 100% 52.8%);
|
|
228
267
|
--mn-color-warning-solid-active: hsl(44.3 100% 56.8%);
|
|
@@ -232,6 +271,7 @@
|
|
|
232
271
|
--mn-color-warning-strong: hsl(44.3 100% 47.8%);
|
|
233
272
|
--mn-color-warning-on-strong: hsl(224 22% 6.5%);
|
|
234
273
|
--mn-color-warning-border: hsl(44.3 45% 32%);
|
|
274
|
+
--mn-color-warning-strong-inverse: hsl(44.3 100% 25.3%);
|
|
235
275
|
--mn-color-info-solid: hsl(197.5 100% 34.6%);
|
|
236
276
|
--mn-color-info-solid-hover: hsl(197.5 100% 29.6%);
|
|
237
277
|
--mn-color-info-solid-active: hsl(197.5 100% 25.6%);
|
|
@@ -241,6 +281,7 @@
|
|
|
241
281
|
--mn-color-info-strong: hsl(197.5 100% 45.6%);
|
|
242
282
|
--mn-color-info-on-strong: hsl(224 22% 6.5%);
|
|
243
283
|
--mn-color-info-border: hsl(197.5 45% 32%);
|
|
284
|
+
--mn-color-info-strong-inverse: hsl(197.5 100% 30.1%);
|
|
244
285
|
--mn-color-text-link: var(--mn-color-accent-strong);
|
|
245
286
|
--mn-color-focus-ring: var(--mn-color-accent-strong);
|
|
246
287
|
--mn-focus-ring-width: 2px;
|
|
@@ -250,11 +291,11 @@
|
|
|
250
291
|
--mn-shadow-md: 0 4px 12px -2px hsl(0 0% 0% / 0.5), 0 2px 4px -2px hsl(0 0% 0% / 0.35);
|
|
251
292
|
--mn-shadow-lg: 0 12px 32px -8px hsl(0 0% 0% / 0.6), 0 4px 8px -4px hsl(0 0% 0% / 0.4);
|
|
252
293
|
--mn-shadow-xl: 0 24px 64px -16px hsl(0 0% 0% / 0.7), 0 8px 16px -8px hsl(0 0% 0% / 0.45);
|
|
253
|
-
--mn-color-data-1: hsl(214 90%
|
|
254
|
-
--mn-color-data-2: hsl(24 94%
|
|
294
|
+
--mn-color-data-1: hsl(214 90% 58%);
|
|
295
|
+
--mn-color-data-2: hsl(24 94% 41%);
|
|
255
296
|
--mn-color-data-3: hsl(256 82% 68%);
|
|
256
|
-
--mn-color-data-4: hsl(330 78%
|
|
257
|
-
--mn-color-data-5: hsl(280 68%
|
|
297
|
+
--mn-color-data-4: hsl(330 78% 58%);
|
|
298
|
+
--mn-color-data-5: hsl(280 68% 58%);
|
|
258
299
|
}
|
|
259
300
|
|
|
260
301
|
[data-mn-contrast="more"] {
|
|
@@ -271,10 +312,12 @@
|
|
|
271
312
|
--mn-color-text-subtle: hsl(220 13% 27%);
|
|
272
313
|
--mn-color-text-disabled: hsl(220 9% 43.5%);
|
|
273
314
|
--mn-color-text-inverse: hsl(0 0% 100%);
|
|
315
|
+
--mn-color-text-inverse-muted: hsl(220 13% 92.5%);
|
|
274
316
|
--mn-color-border-subtle: hsl(220 9% 43.5%);
|
|
275
317
|
--mn-color-border-default: hsl(220 10% 37%);
|
|
276
318
|
--mn-color-border-strong: hsl(221 15% 18%);
|
|
277
319
|
--mn-color-border-input: hsl(220 13% 27%);
|
|
320
|
+
--mn-color-border-inverse: hsl(220 9% 43.5%);
|
|
278
321
|
--mn-color-accent-solid: hsl(354.5 71.3% 39.7%);
|
|
279
322
|
--mn-color-accent-solid-hover: hsl(354.5 71.3% 34.7%);
|
|
280
323
|
--mn-color-accent-solid-active: hsl(354.5 71.3% 30.7%);
|
|
@@ -284,6 +327,7 @@
|
|
|
284
327
|
--mn-color-accent-strong: hsl(354.5 71.3% 34.7%);
|
|
285
328
|
--mn-color-accent-on-strong: hsl(0 0% 100%);
|
|
286
329
|
--mn-color-accent-border: hsl(354.5 71.3% 34.7%);
|
|
330
|
+
--mn-color-accent-strong-inverse: hsl(354.5 71.3% 72.2%);
|
|
287
331
|
--mn-color-danger-solid: hsl(354.5 71.3% 39.7%);
|
|
288
332
|
--mn-color-danger-solid-hover: hsl(354.5 71.3% 34.7%);
|
|
289
333
|
--mn-color-danger-solid-active: hsl(354.5 71.3% 30.7%);
|
|
@@ -293,6 +337,7 @@
|
|
|
293
337
|
--mn-color-danger-strong: hsl(354.5 71.3% 34.7%);
|
|
294
338
|
--mn-color-danger-on-strong: hsl(0 0% 100%);
|
|
295
339
|
--mn-color-danger-border: hsl(354.5 71.3% 34.7%);
|
|
340
|
+
--mn-color-danger-strong-inverse: hsl(354.5 71.3% 72.2%);
|
|
296
341
|
--mn-color-success-solid: hsl(136 62.8% 24.7%);
|
|
297
342
|
--mn-color-success-solid-hover: hsl(136 62.8% 19.7%);
|
|
298
343
|
--mn-color-success-solid-active: hsl(136 62.8% 15.7%);
|
|
@@ -302,6 +347,7 @@
|
|
|
302
347
|
--mn-color-success-strong: hsl(136 62.8% 22.7%);
|
|
303
348
|
--mn-color-success-on-strong: hsl(0 0% 100%);
|
|
304
349
|
--mn-color-success-border: hsl(136 62.8% 22.7%);
|
|
350
|
+
--mn-color-success-strong-inverse: hsl(136 62.8% 45.2%);
|
|
305
351
|
--mn-color-warning-solid: hsl(44.3 100% 22.3%);
|
|
306
352
|
--mn-color-warning-solid-hover: hsl(44.3 100% 17.3%);
|
|
307
353
|
--mn-color-warning-solid-active: hsl(44.3 100% 13.3%);
|
|
@@ -311,6 +357,7 @@
|
|
|
311
357
|
--mn-color-warning-strong: hsl(44.3 100% 20.3%);
|
|
312
358
|
--mn-color-warning-on-strong: hsl(0 0% 100%);
|
|
313
359
|
--mn-color-warning-border: hsl(44.3 100% 20.3%);
|
|
360
|
+
--mn-color-warning-strong-inverse: hsl(44.3 100% 47.8%);
|
|
314
361
|
--mn-color-info-solid: hsl(197.5 100% 26.1%);
|
|
315
362
|
--mn-color-info-solid-hover: hsl(197.5 100% 21.1%);
|
|
316
363
|
--mn-color-info-solid-active: hsl(197.5 100% 17.1%);
|
|
@@ -320,6 +367,7 @@
|
|
|
320
367
|
--mn-color-info-strong: hsl(197.5 100% 24.1%);
|
|
321
368
|
--mn-color-info-on-strong: hsl(0 0% 100%);
|
|
322
369
|
--mn-color-info-border: hsl(197.5 100% 24.1%);
|
|
370
|
+
--mn-color-info-strong-inverse: hsl(197.5 100% 48.1%);
|
|
323
371
|
--mn-color-text-link: var(--mn-color-accent-strong);
|
|
324
372
|
--mn-color-focus-ring: var(--mn-color-text-default);
|
|
325
373
|
--mn-focus-ring-width: 3px;
|
|
@@ -329,10 +377,10 @@
|
|
|
329
377
|
--mn-shadow-md: 0 0 0 1px hsl(0 0% 0%);
|
|
330
378
|
--mn-shadow-lg: 0 0 0 2px hsl(0 0% 0%);
|
|
331
379
|
--mn-shadow-xl: 0 0 0 2px hsl(0 0% 0%);
|
|
332
|
-
--mn-color-data-1: hsl(214 90%
|
|
333
|
-
--mn-color-data-2: hsl(24 94%
|
|
380
|
+
--mn-color-data-1: hsl(214 90% 48%);
|
|
381
|
+
--mn-color-data-2: hsl(24 94% 38.5%);
|
|
334
382
|
--mn-color-data-3: hsl(256 82% 49%);
|
|
335
|
-
--mn-color-data-4: hsl(330 78%
|
|
383
|
+
--mn-color-data-4: hsl(330 78% 47.5%);
|
|
336
384
|
--mn-color-data-5: hsl(280 68% 49%);
|
|
337
385
|
}
|
|
338
386
|
|
|
@@ -351,10 +399,12 @@
|
|
|
351
399
|
--mn-color-text-subtle: hsl(220 13% 89%);
|
|
352
400
|
--mn-color-text-disabled: hsl(220 9% 64%);
|
|
353
401
|
--mn-color-text-inverse: hsl(0 0% 0%);
|
|
402
|
+
--mn-color-text-inverse-muted: hsl(221 15% 18%);
|
|
354
403
|
--mn-color-border-subtle: hsl(220 9% 43.5%);
|
|
355
404
|
--mn-color-border-default: hsl(220 9% 64%);
|
|
356
405
|
--mn-color-border-strong: hsl(220 13% 89%);
|
|
357
406
|
--mn-color-border-input: hsl(220 11% 80%);
|
|
407
|
+
--mn-color-border-inverse: hsl(220 9% 43.5%);
|
|
358
408
|
--mn-color-accent-solid: hsl(354.5 71.3% 70.2%);
|
|
359
409
|
--mn-color-accent-solid-hover: hsl(354.5 71.3% 75.2%);
|
|
360
410
|
--mn-color-accent-solid-active: hsl(354.5 71.3% 79.2%);
|
|
@@ -364,6 +414,7 @@
|
|
|
364
414
|
--mn-color-accent-strong: hsl(354.5 71.3% 74.7%);
|
|
365
415
|
--mn-color-accent-on-strong: hsl(224 22% 6.5%);
|
|
366
416
|
--mn-color-accent-border: hsl(354.5 71.3% 74.7%);
|
|
417
|
+
--mn-color-accent-strong-inverse: hsl(354.5 71.3% 34.2%);
|
|
367
418
|
--mn-color-danger-solid: hsl(354.5 71.3% 70.2%);
|
|
368
419
|
--mn-color-danger-solid-hover: hsl(354.5 71.3% 75.2%);
|
|
369
420
|
--mn-color-danger-solid-active: hsl(354.5 71.3% 79.2%);
|
|
@@ -373,6 +424,7 @@
|
|
|
373
424
|
--mn-color-danger-strong: hsl(354.5 71.3% 74.7%);
|
|
374
425
|
--mn-color-danger-on-strong: hsl(224 22% 6.5%);
|
|
375
426
|
--mn-color-danger-border: hsl(354.5 71.3% 74.7%);
|
|
427
|
+
--mn-color-danger-strong-inverse: hsl(354.5 71.3% 34.2%);
|
|
376
428
|
--mn-color-success-solid: hsl(136 62.8% 43.7%);
|
|
377
429
|
--mn-color-success-solid-hover: hsl(136 62.8% 48.7%);
|
|
378
430
|
--mn-color-success-solid-active: hsl(136 62.8% 52.7%);
|
|
@@ -382,6 +434,7 @@
|
|
|
382
434
|
--mn-color-success-strong: hsl(136 62.8% 50.2%);
|
|
383
435
|
--mn-color-success-on-strong: hsl(224 22% 6.5%);
|
|
384
436
|
--mn-color-success-border: hsl(136 62.8% 50.2%);
|
|
437
|
+
--mn-color-success-strong-inverse: hsl(136 62.8% 20.7%);
|
|
385
438
|
--mn-color-warning-solid: hsl(44.3 100% 47.8%);
|
|
386
439
|
--mn-color-warning-solid-hover: hsl(44.3 100% 52.8%);
|
|
387
440
|
--mn-color-warning-solid-active: hsl(44.3 100% 56.8%);
|
|
@@ -391,6 +444,7 @@
|
|
|
391
444
|
--mn-color-warning-strong: hsl(44.3 100% 47.8%);
|
|
392
445
|
--mn-color-warning-on-strong: hsl(224 22% 6.5%);
|
|
393
446
|
--mn-color-warning-border: hsl(44.3 100% 47.8%);
|
|
447
|
+
--mn-color-warning-strong-inverse: hsl(44.3 100% 18.8%);
|
|
394
448
|
--mn-color-info-solid: hsl(197.5 100% 46.6%);
|
|
395
449
|
--mn-color-info-solid-hover: hsl(197.5 100% 51.6%);
|
|
396
450
|
--mn-color-info-solid-active: hsl(197.5 100% 55.6%);
|
|
@@ -400,6 +454,7 @@
|
|
|
400
454
|
--mn-color-info-strong: hsl(197.5 100% 56.6%);
|
|
401
455
|
--mn-color-info-on-strong: hsl(224 22% 6.5%);
|
|
402
456
|
--mn-color-info-border: hsl(197.5 100% 56.6%);
|
|
457
|
+
--mn-color-info-strong-inverse: hsl(197.5 100% 22.6%);
|
|
403
458
|
--mn-color-text-link: var(--mn-color-accent-strong);
|
|
404
459
|
--mn-color-focus-ring: var(--mn-color-text-default);
|
|
405
460
|
--mn-focus-ring-width: 3px;
|
|
@@ -409,11 +464,11 @@
|
|
|
409
464
|
--mn-shadow-md: 0 0 0 1px hsl(0 0% 100%);
|
|
410
465
|
--mn-shadow-lg: 0 0 0 2px hsl(0 0% 100%);
|
|
411
466
|
--mn-shadow-xl: 0 0 0 2px hsl(0 0% 100%);
|
|
412
|
-
--mn-color-data-1: hsl(214 90%
|
|
413
|
-
--mn-color-data-2: hsl(24 94%
|
|
467
|
+
--mn-color-data-1: hsl(214 90% 58%);
|
|
468
|
+
--mn-color-data-2: hsl(24 94% 42%);
|
|
414
469
|
--mn-color-data-3: hsl(256 82% 68%);
|
|
415
|
-
--mn-color-data-4: hsl(330 78%
|
|
416
|
-
--mn-color-data-5: hsl(280 68%
|
|
470
|
+
--mn-color-data-4: hsl(330 78% 58%);
|
|
471
|
+
--mn-color-data-5: hsl(280 68% 59%);
|
|
417
472
|
}
|
|
418
473
|
|
|
419
474
|
@media (prefers-reduced-motion: reduce) {
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
--mn-color-accent-strong: hsl(354 70% 46.5%);
|
|
14
14
|
--mn-color-accent-on-strong: hsl(0 0% 100%);
|
|
15
15
|
--mn-color-accent-border: hsl(354 42% 84%);
|
|
16
|
+
--mn-color-accent-strong-inverse: hsl(354 70% 66.5%);
|
|
16
17
|
--primary: 354 70% 46.5%;
|
|
17
18
|
--primary-foreground: 0 0% 100%;
|
|
18
19
|
--ring: 354 70% 46.5%;
|
|
@@ -34,6 +35,7 @@
|
|
|
34
35
|
--mn-color-accent-strong: hsl(354 70% 66%);
|
|
35
36
|
--mn-color-accent-on-strong: hsl(224 22% 6.5%);
|
|
36
37
|
--mn-color-accent-border: hsl(354 31.5% 32%);
|
|
38
|
+
--mn-color-accent-strong-inverse: hsl(354 70% 45.5%);
|
|
37
39
|
--primary: 354 70% 52%;
|
|
38
40
|
--primary-foreground: 0 0% 100%;
|
|
39
41
|
--ring: 354 70% 66%;
|
|
@@ -53,6 +55,7 @@
|
|
|
53
55
|
--mn-color-accent-strong: hsl(354 70% 34.5%);
|
|
54
56
|
--mn-color-accent-on-strong: hsl(0 0% 100%);
|
|
55
57
|
--mn-color-accent-border: hsl(354 70% 34.5%);
|
|
58
|
+
--mn-color-accent-strong-inverse: hsl(354 70% 72%);
|
|
56
59
|
--primary: 354 70% 34.5%;
|
|
57
60
|
--primary-foreground: 0 0% 100%;
|
|
58
61
|
--ring: 354 70% 34.5%;
|
|
@@ -74,6 +77,7 @@
|
|
|
74
77
|
--mn-color-accent-strong: hsl(354 70% 74.5%);
|
|
75
78
|
--mn-color-accent-on-strong: hsl(224 22% 6.5%);
|
|
76
79
|
--mn-color-accent-border: hsl(354 70% 74.5%);
|
|
80
|
+
--mn-color-accent-strong-inverse: hsl(354 70% 34%);
|
|
77
81
|
--primary: 354 70% 74.5%;
|
|
78
82
|
--primary-foreground: 224 22% 6.5%;
|
|
79
83
|
--ring: 354 70% 74.5%;
|