@aeolus-fleet/common 0.35.0 → 0.36.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.
Files changed (84) hide show
  1. package/README.md +3 -3
  2. package/dist/{header/apps.d.ts → rules/app-switcher.d.ts} +2 -5
  3. package/dist/{header/apps.js → rules/app-switcher.js} +1 -6
  4. package/dist/rules/app-switcher.js.map +1 -0
  5. package/dist/rules/index.d.ts +4 -1
  6. package/dist/rules/index.js +4 -1
  7. package/dist/rules/index.js.map +1 -1
  8. package/dist/rules/page-size.d.ts +7 -0
  9. package/dist/rules/page-size.js +7 -0
  10. package/dist/rules/page-size.js.map +1 -1
  11. package/dist/schemas/content-type.d.ts +2 -0
  12. package/dist/schemas/content-type.js +6 -0
  13. package/dist/schemas/content-type.js.map +1 -0
  14. package/dist/schemas/delivery.d.ts +91 -0
  15. package/dist/schemas/delivery.js +17 -0
  16. package/dist/schemas/delivery.js.map +1 -1
  17. package/dist/schemas/index.d.ts +2 -0
  18. package/dist/schemas/index.js +2 -0
  19. package/dist/schemas/index.js.map +1 -1
  20. package/dist/schemas/notice-message.d.ts +20 -0
  21. package/dist/schemas/notice-message.js +26 -0
  22. package/dist/schemas/notice-message.js.map +1 -0
  23. package/dist/schemas/page.d.ts +1 -1
  24. package/dist/schemas/page.js +1 -1
  25. package/dist/schemas/page.js.map +1 -1
  26. package/dist/schemas/question.js +1 -5
  27. package/dist/schemas/question.js.map +1 -1
  28. package/dist/schemas/step.d.ts +57 -0
  29. package/dist/schemas/step.js +54 -0
  30. package/dist/schemas/step.js.map +1 -0
  31. package/package.json +4 -44
  32. package/dist/header/app-header.d.ts +0 -27
  33. package/dist/header/app-header.js +0 -18
  34. package/dist/header/app-header.js.map +0 -1
  35. package/dist/header/app-switcher.d.ts +0 -20
  36. package/dist/header/app-switcher.js +0 -57
  37. package/dist/header/app-switcher.js.map +0 -1
  38. package/dist/header/apps.js.map +0 -1
  39. package/dist/header/atoms/avatar.d.ts +0 -16
  40. package/dist/header/atoms/avatar.js +0 -44
  41. package/dist/header/atoms/avatar.js.map +0 -1
  42. package/dist/header/atoms/button.d.ts +0 -22
  43. package/dist/header/atoms/button.js +0 -48
  44. package/dist/header/atoms/button.js.map +0 -1
  45. package/dist/header/atoms/dialog-surface.d.ts +0 -19
  46. package/dist/header/atoms/dialog-surface.js +0 -32
  47. package/dist/header/atoms/dialog-surface.js.map +0 -1
  48. package/dist/header/atoms/dialog.d.ts +0 -19
  49. package/dist/header/atoms/dialog.js +0 -37
  50. package/dist/header/atoms/dialog.js.map +0 -1
  51. package/dist/header/atoms/dropdown-menu.d.ts +0 -21
  52. package/dist/header/atoms/dropdown-menu.js +0 -42
  53. package/dist/header/atoms/dropdown-menu.js.map +0 -1
  54. package/dist/header/atoms/kbd.d.ts +0 -7
  55. package/dist/header/atoms/kbd.js +0 -11
  56. package/dist/header/atoms/kbd.js.map +0 -1
  57. package/dist/header/atoms/sheet.d.ts +0 -23
  58. package/dist/header/atoms/sheet.js +0 -52
  59. package/dist/header/atoms/sheet.js.map +0 -1
  60. package/dist/header/atoms/tooltip.d.ts +0 -10
  61. package/dist/header/atoms/tooltip.js +0 -24
  62. package/dist/header/atoms/tooltip.js.map +0 -1
  63. package/dist/header/avatar-entry.d.ts +0 -21
  64. package/dist/header/avatar-entry.js +0 -6
  65. package/dist/header/avatar-entry.js.map +0 -1
  66. package/dist/header/avatar-menu.d.ts +0 -43
  67. package/dist/header/avatar-menu.js +0 -111
  68. package/dist/header/avatar-menu.js.map +0 -1
  69. package/dist/header/class-names.d.ts +0 -3
  70. package/dist/header/class-names.js +0 -29
  71. package/dist/header/class-names.js.map +0 -1
  72. package/dist/header/command-palette.d.ts +0 -44
  73. package/dist/header/command-palette.js +0 -77
  74. package/dist/header/command-palette.js.map +0 -1
  75. package/dist/header/index.d.ts +0 -23
  76. package/dist/header/index.js +0 -24
  77. package/dist/header/index.js.map +0 -1
  78. package/dist/header/sign-in-background.d.ts +0 -10
  79. package/dist/header/sign-in-background.js +0 -48
  80. package/dist/header/sign-in-background.js.map +0 -1
  81. package/dist/header/sign-in-backgrounds.d.ts +0 -40
  82. package/dist/header/sign-in-backgrounds.js +0 -135
  83. package/dist/header/sign-in-backgrounds.js.map +0 -1
  84. package/dist/header/tokens.css +0 -154
@@ -1,48 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useId, useSyncExternalStore } from 'react';
4
- import { classNames } from './class-names.js';
5
- import { SIGN_IN_CANVAS, SIGN_IN_HORIZON, SIGN_IN_SUN_SHARE, drawSignInBackground, pickSignInBackground, } from './sign-in-backgrounds.js';
6
- /**
7
- * Picked once per page load in the browser, so every screen that shows a
8
- * background in this load shows the same one. The server picks none: the
9
- * background appears once the page runs, and server and browser agree.
10
- */
11
- const PICKED_AT_LOAD = pickSignInBackground(Math.random);
12
- function pickedAtLoad() {
13
- return PICKED_AT_LOAD;
14
- }
15
- function pickedOnServer() {
16
- return undefined;
17
- }
18
- function staysPut() {
19
- return () => undefined;
20
- }
21
- /** The faintness from the mockup, on the brand foreground and primary; the sun and the sky have their own light and dark. */
22
- const TONES = classNames('[--sign-in-faint:color-mix(in_oklch,var(--foreground)_11%,transparent)] [--sign-in-brand:color-mix(in_oklch,var(--primary)_22%,transparent)]', '[--sign-in-warm:oklch(0.88_0.06_60)] [--sign-in-sky:oklch(0.9_0.04_255)]', 'dark:[--sign-in-faint:color-mix(in_oklch,var(--foreground)_9%,transparent)] dark:[--sign-in-brand:color-mix(in_oklch,var(--primary)_20%,transparent)]', 'dark:[--sign-in-warm:oklch(0.55_0.06_55)] dark:[--sign-in-sky:oklch(0.3_0.05_260)]');
23
- const COLOUR = {
24
- faint: 'var(--sign-in-faint)',
25
- brand: 'var(--sign-in-brand)',
26
- warm: 'var(--sign-in-warm)',
27
- };
28
- const { width: WIDTH, height: HEIGHT } = SIGN_IN_CANVAS;
29
- const HORIZON_PERCENT = `${String((SIGN_IN_HORIZON / HEIGHT) * 100)}%`;
30
- const HILLS = `M0 ${String(SIGN_IN_HORIZON)} L0 186 C 180 166 320 182 470 172 S 760 192 920 178 S 1260 160 1420 182 L ${String(WIDTH)} 176 L ${String(WIDTH)} ${String(SIGN_IN_HORIZON)} Z`;
31
- const SUN_TRANSFORM = `translate(${String(SIGN_IN_SUN_SHARE)} 0.2) scale(0.35 1) translate(${String(-SIGN_IN_SUN_SHARE)} -0.2)`;
32
- /**
33
- * The ground of a signed-out screen (docs/design/sign-in-backgrounds): one of
34
- * the six backgrounds, picked at random at load, covering its positioned
35
- * parent behind the card. Without a background named, it shows the one picked.
36
- */
37
- export function SignInBackground({ background, className }) {
38
- const picked = useSyncExternalStore(staysPut, pickedAtLoad, pickedOnServer);
39
- const id = useId();
40
- const shown = background ?? picked;
41
- if (shown === undefined) {
42
- return null;
43
- }
44
- const skyId = `${id}-sky`;
45
- const sunId = `${id}-sun`;
46
- return (_jsxs("svg", { "data-testid": "sign-in-background", "data-background": shown, "aria-hidden": "true", viewBox: `0 0 ${String(WIDTH)} ${String(HEIGHT)}`, preserveAspectRatio: "xMidYMid slice", className: classNames('pointer-events-none absolute inset-0 size-full', TONES, className), children: [_jsxs("defs", { children: [_jsxs("linearGradient", { id: skyId, x1: 0, y1: 0, x2: 0, y2: 1, children: [_jsx("stop", { offset: "0%", stopColor: "var(--sign-in-sky)", stopOpacity: 0 }), _jsx("stop", { offset: HORIZON_PERCENT, stopColor: "var(--sign-in-warm)", stopOpacity: 0.4 }), _jsx("stop", { offset: "50%", stopColor: "var(--sign-in-sky)", stopOpacity: 0.12 }), _jsx("stop", { offset: "100%", stopColor: "var(--sign-in-sky)", stopOpacity: 0 })] }), _jsxs("radialGradient", { id: sunId, cx: SIGN_IN_SUN_SHARE, cy: 0.2, r: 0.35, gradientTransform: SUN_TRANSFORM, children: [_jsx("stop", { offset: "0%", stopColor: "var(--sign-in-warm)", stopOpacity: 0.4 }), _jsx("stop", { offset: "100%", stopColor: "var(--sign-in-warm)", stopOpacity: 0 })] })] }), _jsx("rect", { width: WIDTH, height: HEIGHT, fill: `url(#${skyId})` }), _jsx("rect", { width: WIDTH, height: HEIGHT, fill: `url(#${sunId})` }), _jsx("path", { d: HILLS, fill: COLOUR.brand, opacity: 0.45 }), _jsx("line", { x1: 0, y1: SIGN_IN_HORIZON, x2: WIDTH, y2: SIGN_IN_HORIZON, stroke: COLOUR.faint, strokeWidth: 1 }), drawSignInBackground(shown).map((mark) => mark.kind === 'boat' ? (_jsxs("g", { transform: `translate(${String(mark.x)} ${String(mark.y)}) scale(${String(mark.scale)})`, fill: COLOUR[mark.tone], children: [_jsx("path", { d: "M0 -26 L0 0 L13 0 Z" }), _jsx("path", { d: "M-2 -20 L-2 0 L-11 0 Z", opacity: 0.75 }), _jsx("path", { d: "M-13 3 L15 3 L11 8 L-9 8 Z" })] }, `boat ${String(mark.x)} ${String(mark.y)}`)) : (_jsx("line", { x1: mark.x1, y1: mark.y1, x2: mark.x2, y2: mark.y2, stroke: COLOUR[mark.tone], strokeWidth: mark.width, opacity: mark.opacity, strokeLinecap: mark.isDashed ? undefined : 'round', strokeDasharray: mark.isDashed ? '4 6' : undefined }, `line ${String(mark.x1)} ${String(mark.y1)} ${String(mark.x2)} ${String(mark.y2)}`)))] }));
47
- }
48
- //# sourceMappingURL=sign-in-background.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sign-in-background.js","sourceRoot":"","sources":["../../src/header/sign-in-background.tsx"],"names":[],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- /**
2
- * The six backgrounds of the signed-out screens, ported from
3
- * docs/design/sign-in-backgrounds/mockup.html: the sea seen from above with
4
- * single ships, and in five of them squadrons sailing among them. Each draws
5
- * the same every time from its seeds, on a 1600 by 1000 canvas; one is picked
6
- * at random when a screen loads.
7
- */
8
- export declare const SIGN_IN_BACKGROUNDS: readonly ["from-above-1", "squadrons-1", "squadrons-3", "squadrons-4", "squadrons-5", "squadrons-6"];
9
- export type SignInBackgroundName = (typeof SIGN_IN_BACKGROUNDS)[number];
10
- /** The canvas every background is drawn on; it covers the screen, cut at the sides or the top and bottom. */
11
- export declare const SIGN_IN_CANVAS: {
12
- readonly width: 1600;
13
- readonly height: 1000;
14
- };
15
- export declare const SIGN_IN_HORIZON: number;
16
- /** Where the sun's glow on the water sits, as a share of the width. */
17
- export declare const SIGN_IN_SUN_SHARE = 0.68;
18
- /** faint: the foreground, barely there. brand: the primary, a little stronger. warm: the sun's glow. */
19
- export type SignInTone = 'faint' | 'brand' | 'warm';
20
- export type SignInMark = {
21
- readonly kind: 'line';
22
- readonly x1: number;
23
- readonly y1: number;
24
- readonly x2: number;
25
- readonly y2: number;
26
- readonly tone: SignInTone;
27
- readonly width: number;
28
- readonly opacity: number;
29
- readonly isDashed: boolean;
30
- } | {
31
- readonly kind: 'boat';
32
- readonly x: number;
33
- readonly y: number;
34
- readonly scale: number;
35
- readonly tone: SignInTone;
36
- };
37
- /** Which background a screen shows, from a random number in [0, 1). */
38
- export declare function pickSignInBackground(random: () => number): SignInBackgroundName;
39
- /** The marks of one background, back to front: the water, then each ship's wake and the ship. */
40
- export declare function drawSignInBackground(background: SignInBackgroundName): readonly SignInMark[];
@@ -1,135 +0,0 @@
1
- /**
2
- * The six backgrounds of the signed-out screens, ported from
3
- * docs/design/sign-in-backgrounds/mockup.html: the sea seen from above with
4
- * single ships, and in five of them squadrons sailing among them. Each draws
5
- * the same every time from its seeds, on a 1600 by 1000 canvas; one is picked
6
- * at random when a screen loads.
7
- */
8
- export const SIGN_IN_BACKGROUNDS = ['from-above-1', 'squadrons-1', 'squadrons-3', 'squadrons-4', 'squadrons-5', 'squadrons-6'];
9
- /** The canvas every background is drawn on; it covers the screen, cut at the sides or the top and bottom. */
10
- export const SIGN_IN_CANVAS = { width: 1600, height: 1000 };
11
- /** Where the sea meets the hills, as a share of the height. */
12
- const HORIZON_SHARE = 0.2;
13
- export const SIGN_IN_HORIZON = SIGN_IN_CANVAS.height * HORIZON_SHARE;
14
- /** Where the sun's glow on the water sits, as a share of the width. */
15
- export const SIGN_IN_SUN_SHARE = 0.68;
16
- const WATER_SEED = 41;
17
- const WATER_LINES = 190;
18
- const SHIPS_FROM_ABOVE = [
19
- [0.14, 0.25, 20], [0.42, 0.12, -10], [0.83, 0.2, 200], [0.9, 0.55, -30], [0.22, 0.7, 15], [0.62, 0.82, 195], [0.08, 0.95, -20], [0.95, 0.9, 170],
20
- [0.5, 0.4, 10], [0.33, 0.5, 190], [0.7, 0.06, 0], [0.27, 0.06, 180], [0.58, 0.3, 200], [0.04, 0.45, 10], [0.76, 0.68, -15], [0.4, 0.96, 185],
21
- ];
22
- const SINGLE_SHIPS = [
23
- [0.14, 0.25, 20], [0.42, 0.12, -10], [0.83, 0.2, 200], [0.9, 0.55, -30], [0.08, 0.95, -20], [0.95, 0.9, 170],
24
- [0.33, 0.5, 190], [0.04, 0.45, 10], [0.7, 0.06, 0], [0.27, 0.07, 180], [0.58, 0.32, 200], [0.52, 0.05, 10],
25
- ];
26
- const SQUADRONS = {
27
- 'squadrons-1': { seed: 61, squadrons: [[0.2, 0.72, 15, 'loose', 4], [0.74, 0.6, 195, 'loose', 5], [0.6, 0.15, 5, 'loose', 3]] },
28
- 'squadrons-3': { seed: 89, squadrons: [[0.18, 0.78, 15, 'line', 4], [0.8, 0.6, 195, 'line', 5], [0.55, 0.18, 5, 'line', 4], [0.3, 0.3, 190, 'line', 3]] },
29
- 'squadrons-4': { seed: 97, squadrons: [[0.2, 0.72, 15, 'loose', 4], [0.8, 0.6, 195, 'line', 4], [0.58, 0.16, 5, 'loose', 3], [0.3, 0.32, 190, 'line', 3]] },
30
- 'squadrons-5': { seed: 53, squadrons: [[0.2, 0.74, 15, 'tight', 5], [0.76, 0.6, 195, 'tight', 4], [0.6, 0.15, 5, 'tight', 3], [0.12, 0.4, 10, 'tight', 3]] },
31
- 'squadrons-6': { seed: 83, squadrons: [[0.18, 0.78, 15, 'curve', 5], [0.82, 0.6, 195, 'curve', 5], [0.55, 0.17, 5, 'curve', 4]] },
32
- };
33
- /** The card's place in the middle of the canvas, where no ship sails. */
34
- const CARD_HALF_WIDTH = 250;
35
- const CARD_HALF_HEIGHT = 200;
36
- /** Which background a screen shows, from a random number in [0, 1). */
37
- export function pickSignInBackground(random) {
38
- const index = Math.min(SIGN_IN_BACKGROUNDS.length - 1, Math.floor(random() * SIGN_IN_BACKGROUNDS.length));
39
- return SIGN_IN_BACKGROUNDS[index] ?? 'from-above-1';
40
- }
41
- /** The marks of one background, back to front: the water, then each ship's wake and the ship. */
42
- export function drawSignInBackground(background) {
43
- const random = seededRandom(WATER_SEED);
44
- const water = Array.from({ length: WATER_LINES }, () => waterLine(random));
45
- const ships = background === 'from-above-1' ? SHIPS_FROM_ABOVE : shipsInSquadrons(SQUADRONS[background]);
46
- return [...water, ...ships.flatMap(shipMarks)];
47
- }
48
- /** The mockup's generator (Park and Miller), so each seed draws what the mockup drew. */
49
- function seededRandom(seed) {
50
- const modulus = 2147483647;
51
- const multiplier = 16807;
52
- let state = seed;
53
- return () => {
54
- state = (state * multiplier) % modulus;
55
- return state / modulus;
56
- };
57
- }
58
- /** A short line on the water, longer and thicker toward the viewer, warm where the sun glows on it. */
59
- function waterLine(random) {
60
- const { width, height } = SIGN_IN_CANVAS;
61
- const toward = Math.pow(random(), 1.6);
62
- const y = SIGN_IN_HORIZON + 4 + (height - SIGN_IN_HORIZON) * toward;
63
- const x = random() * width;
64
- const length = (6 + random() * 18) * (0.4 + toward * 3);
65
- const isNearSun = Math.abs(x - width * SIGN_IN_SUN_SHARE) < 40 + toward * 260;
66
- return {
67
- kind: 'line',
68
- x1: x - length / 2,
69
- y1: y,
70
- x2: x + length / 2,
71
- y2: y,
72
- tone: isNearSun ? 'warm' : 'faint',
73
- width: 0.6 + toward * 1.2,
74
- opacity: isNearSun ? 0.8 : 0.6,
75
- isDashed: false,
76
- };
77
- }
78
- /** The single ships, then each squadron's ships around its lead. */
79
- function shipsInSquadrons({ seed, squadrons }) {
80
- const random = seededRandom(seed);
81
- const inSquadrons = squadrons.flatMap(([across, toward, heading, shape, size]) => {
82
- const direction = Math.cos(radians(heading)) >= 0 ? 1 : -1;
83
- return Array.from({ length: size }, (_, place) => {
84
- const [offsetAcross, offsetToward] = squadronOffset({ shape, place, size, direction, random });
85
- return [across + offsetAcross, Math.min(0.99, Math.max(0.02, toward + offsetToward)), heading];
86
- });
87
- });
88
- return [...SINGLE_SHIPS, ...inSquadrons];
89
- }
90
- /** Where a ship sails from its squadron's lead: scattered, close abreast, astern on a bending course, or astern in line. */
91
- function squadronOffset({ shape, place, size, direction, random }) {
92
- switch (shape) {
93
- case 'loose': {
94
- const across = (random() - 0.5) * 0.09;
95
- return [across, (random() - 0.5) * 0.08];
96
- }
97
- case 'tight': {
98
- const across = (place - (size - 1) / 2) * 0.018 + (random() - 0.5) * 0.02;
99
- return [across, (random() - 0.5) * 0.05];
100
- }
101
- case 'curve':
102
- return [-direction * place * 0.03, place * 0.012 + Math.sin(place * 0.9) * 0.025];
103
- case 'line':
104
- return [-direction * place * 0.03, place * 0.012];
105
- }
106
- }
107
- /** A ship and its wake, bigger toward the viewer; none sails where the card sits. */
108
- function shipMarks([across, toward, heading]) {
109
- const { width, height } = SIGN_IN_CANVAS;
110
- const x = across * width;
111
- const y = SIGN_IN_HORIZON + (height - SIGN_IN_HORIZON) * toward;
112
- if (Math.abs(x - width / 2) < CARD_HALF_WIDTH && Math.abs(y - height / 2) < CARD_HALF_HEIGHT) {
113
- return [];
114
- }
115
- const scale = 0.3 + toward * 1.2;
116
- const tone = toward > 0.6 ? 'brand' : 'faint';
117
- const isHeadingLeft = heading > 90 && heading < 270;
118
- return [...wake({ x, y: y + 6 * scale, scale: scale * 0.8, heading: isHeadingLeft ? 180 : 0, length: 40 + toward * 120, tone }), { kind: 'boat', x, y, scale, tone }];
119
- }
120
- /** The V a ship leaves behind it, and the dashed line along its middle. */
121
- function wake({ x, y, scale, heading, length, tone }) {
122
- const back = radians(heading + 180);
123
- const sternX = x + Math.cos(back) * 14 * scale;
124
- const sternY = y + Math.sin(back) * 14 * scale;
125
- const arms = [-14, 14].map((spread) => {
126
- const angle = back + radians(spread);
127
- return { kind: 'line', x1: sternX, y1: sternY, x2: x + Math.cos(angle) * length, y2: y + Math.sin(angle) * length, tone, width: Math.max(0.6, scale * 0.9), opacity: 0.7, isDashed: false };
128
- });
129
- const middle = { kind: 'line', x1: sternX, y1: sternY, x2: x + Math.cos(back) * length * 1.1, y2: y + Math.sin(back) * length * 1.1, tone, width: Math.max(0.5, scale * 0.6), opacity: 0.4, isDashed: true };
130
- return [...arms, middle];
131
- }
132
- function radians(degrees) {
133
- return (degrees * Math.PI) / 180;
134
- }
135
- //# sourceMappingURL=sign-in-backgrounds.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sign-in-backgrounds.js","sourceRoot":"","sources":["../../src/header/sign-in-backgrounds.ts"],"names":[],"mappings":"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"}
@@ -1,154 +0,0 @@
1
- /* Aeolus design tokens, exported from the Claude Design system page. Light on :root, dark on .dark. */
2
- :root {
3
- --background:oklch(0.99 0.002 247);
4
- --card:oklch(1 0 0);
5
- --popover:oklch(1 0 0);
6
- --muted:oklch(0.967 0.005 247);
7
- --secondary:oklch(0.955 0.007 247);
8
- --accent:oklch(0.95 0.009 247);
9
- --sidebar:oklch(0.976 0.004 247);
10
- --highlight:oklch(0.95 0.035 250);
11
- --overlay:oklch(0.2 0.02 257 / 0.42);
12
- --foreground:oklch(0.22 0.02 257);
13
- --muted-foreground:oklch(0.5 0.02 257);
14
- --destructive-text:oklch(0.53 0.2 27);
15
- --border:oklch(0.912 0.008 247);
16
- --input:oklch(0.885 0.01 247);
17
- --ring:oklch(0.56 0.12 257);
18
- --primary:oklch(0.34 0.08 257);
19
- --primary-hover:oklch(0.29 0.075 257);
20
- --primary-foreground:oklch(0.985 0.003 247);
21
- --destructive:oklch(0.53 0.2 27);
22
- --destructive-foreground:oklch(0.99 0 0);
23
- --tone-waiting-bg:oklch(0.965 0.045 85);
24
- --tone-waiting-fg:oklch(0.47 0.1 62);
25
- --tone-waiting-border:oklch(0.87 0.08 80);
26
- --tone-active-bg:oklch(0.955 0.03 250);
27
- --tone-active-fg:oklch(0.45 0.14 257);
28
- --tone-active-border:oklch(0.86 0.06 252);
29
- --tone-ok-bg:oklch(0.96 0.04 155);
30
- --tone-ok-fg:oklch(0.44 0.1 155);
31
- --tone-ok-border:oklch(0.86 0.07 155);
32
- --tone-attention-bg:oklch(0.957 0.028 25);
33
- --tone-attention-fg:oklch(0.5 0.19 27);
34
- --tone-attention-border:oklch(0.86 0.07 25);
35
- --tone-ended-bg:oklch(0.957 0.005 247);
36
- --tone-ended-fg:oklch(0.47 0.015 257);
37
- --tone-ended-border:oklch(0.87 0.01 247);
38
- --card-foreground:var(--foreground);
39
- --popover-foreground:var(--foreground);
40
- --secondary-foreground:var(--foreground);
41
- --accent-foreground:var(--foreground);
42
- --sidebar-foreground:var(--foreground);
43
- --font-sans:var(--font-geist-sans, "Geist"), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
44
- --font-mono:var(--font-geist-mono, "Geist Mono"), ui-monospace, "SF Mono", Menlo, Consolas, monospace;
45
- --shadow-sm:0 1px 2px oklch(0.2 0.02 257 / 0.06);
46
- --shadow-md:0 2px 6px oklch(0.2 0.02 257 / 0.08);
47
- --shadow-lg:0 16px 40px oklch(0.2 0.02 257 / 0.16), 0 2px 8px oklch(0.2 0.02 257 / 0.08);
48
- --radius:8px;
49
- --radius-xs:4px;
50
- --radius-sm:6px;
51
- --radius-md:8px;
52
- --radius-lg:10px;
53
- --radius-xl:12px;
54
- --radius-2xl:18px;
55
- --radius-full:9999px;
56
- --spacing:4px;
57
- --text-micro:11px;
58
- --text-micro--line-height:14px;
59
- --text-caption:12px;
60
- --text-caption--line-height:16px;
61
- --text-meta:13px;
62
- --text-meta--line-height:18px;
63
- --text-body:14px;
64
- --text-body--line-height:20px;
65
- --text-section:15px;
66
- --text-section--line-height:20px;
67
- --text-body-touch:15px;
68
- --text-body-touch--line-height:22px;
69
- --text-input-touch:16px;
70
- --text-input-touch--line-height:24px;
71
- --text-heading:18px;
72
- --text-heading--line-height:24px;
73
- --text-heading-touch:20px;
74
- --text-heading-touch--line-height:26px;
75
- --text-title:22px;
76
- --text-title--line-height:28px;
77
- --text-title-touch:24px;
78
- --text-title-touch--line-height:30px;
79
- --text-metric:28px;
80
- --text-metric--line-height:32px;
81
- --text-id:12px;
82
- --text-id--line-height:16px;
83
- --text-code:13px;
84
- --text-code--line-height:20px;
85
- --size-control-xs:28px;
86
- --size-control-sm:32px;
87
- --size-control:36px;
88
- --size-control-touch:44px;
89
- --size-row-header:40px;
90
- --size-row:48px;
91
- --size-sidebar:256px;
92
- --size-rail:64px;
93
- --size-header:56px;
94
- --size-tabbar:68px;
95
- --size-dialog-sm:512px;
96
- --size-dialog-md:560px;
97
- --size-palette:600px;
98
- --size-sheet:560px;
99
- --size-toast:380px;
100
- --size-icon-sm:14px;
101
- --size-icon:16px;
102
- --size-icon-lg:20px;
103
- --size-icon-tab:22px;
104
- --size-icon-xl:24px;
105
- --duration-fast:150ms;
106
- --duration-base:200ms;
107
- --duration-slow:300ms;
108
- --duration-highlight:600ms;
109
- --duration-pulse:1800ms;
110
- --ease-standard:cubic-bezier(0.2, 0, 0, 1);
111
- --ease-exit:cubic-bezier(0.4, 0, 1, 1);
112
- }
113
-
114
- .dark {
115
- color-scheme:dark;
116
- --background:oklch(0.172 0.012 257);
117
- --card:oklch(0.2 0.013 257);
118
- --popover:oklch(0.215 0.013 257);
119
- --muted:oklch(0.228 0.012 257);
120
- --secondary:oklch(0.255 0.013 257);
121
- --accent:oklch(0.26 0.014 257);
122
- --sidebar:oklch(0.19 0.012 257);
123
- --highlight:oklch(0.27 0.045 255);
124
- --overlay:oklch(0.08 0.01 257 / 0.62);
125
- --foreground:oklch(0.955 0.005 247);
126
- --muted-foreground:oklch(0.72 0.016 257);
127
- --destructive-text:oklch(0.7 0.16 25);
128
- --border:oklch(0.29 0.014 257);
129
- --input:oklch(0.34 0.015 257);
130
- --ring:oklch(0.7 0.1 252);
131
- --primary:oklch(0.86 0.055 250);
132
- --primary-hover:oklch(0.92 0.035 250);
133
- --primary-foreground:oklch(0.21 0.035 257);
134
- --destructive:oklch(0.56 0.19 25);
135
- --destructive-foreground:oklch(0.99 0 0);
136
- --tone-waiting-bg:oklch(0.29 0.055 72);
137
- --tone-waiting-fg:oklch(0.87 0.11 82);
138
- --tone-waiting-border:oklch(0.41 0.075 72);
139
- --tone-active-bg:oklch(0.29 0.06 257);
140
- --tone-active-fg:oklch(0.85 0.08 252);
141
- --tone-active-border:oklch(0.42 0.09 257);
142
- --tone-ok-bg:oklch(0.29 0.05 155);
143
- --tone-ok-fg:oklch(0.86 0.1 155);
144
- --tone-ok-border:oklch(0.41 0.07 155);
145
- --tone-attention-bg:oklch(0.3 0.07 25);
146
- --tone-attention-fg:oklch(0.84 0.09 25);
147
- --tone-attention-border:oklch(0.45 0.11 25);
148
- --tone-ended-bg:oklch(0.255 0.01 257);
149
- --tone-ended-fg:oklch(0.78 0.015 257);
150
- --tone-ended-border:oklch(0.36 0.012 257);
151
- --shadow-sm:0 1px 2px oklch(0 0 0 / 0.3);
152
- --shadow-md:0 2px 6px oklch(0 0 0 / 0.35);
153
- --shadow-lg:0 16px 40px oklch(0 0 0 / 0.55), 0 2px 8px oklch(0 0 0 / 0.3);
154
- }