@rowkit/tokens 1.0.0-beta.0 → 1.0.0-beta.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 +68 -10
- package/dist/color.d.ts +119 -2
- package/dist/css.d.ts +16 -2
- package/dist/index.d.ts +241 -0
- package/dist/index.js +95 -257
- package/dist/index.js.map +1 -1
- package/dist/radius.d.ts +6 -0
- package/dist/reference.d.ts +20 -0
- package/dist/reference.data.d.ts +2 -0
- package/dist/reference.js +403 -0
- package/dist/reference.js.map +1 -0
- package/dist/shadow.d.ts +34 -0
- package/dist/size.d.ts +194 -0
- package/dist/style.d.ts +129 -0
- package/dist/themes/index.d.ts +69 -0
- package/dist/themes/modern.d.ts +139 -0
- package/dist/themes-B0J8E0xq.js +1022 -0
- package/dist/themes-B0J8E0xq.js.map +1 -0
- package/dist/tokens.css +1169 -12
- package/dist/typography.d.ts +6 -0
- package/package.json +7 -2
package/README.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# @rowkit/tokens
|
|
2
2
|
|
|
3
|
-
[](https://www.npmjs.com/package/@rowkit/tokens)
|
|
4
4
|
[](https://github.com/NikolaiKushner/rowkit/blob/main/LICENSE)
|
|
5
5
|
|
|
6
|
-
The design tokens behind [rowkit](https://www.npmjs.com/package/rowkit) —
|
|
6
|
+
The design tokens behind [rowkit](https://www.npmjs.com/package/rowkit) — colour, shadows, sizes, corners, type, layers and motion for its two themes: **Windows 98**, the default, and **modern**, in light and dark. Plus `defineTheme()`, to make a theme of your own (with rowkit installed, import it from `rowkit/theme` — the same function, matched to the components).
|
|
7
7
|
|
|
8
8
|
Usable on its own. Nothing here depends on Vue, so a chart library, a design tool or an email template can read the same values the components use.
|
|
9
9
|
|
|
@@ -19,7 +19,7 @@ npm i @rowkit/tokens@beta
|
|
|
19
19
|
|
|
20
20
|
**Primitives** are the raw palette — the VGA colours and Windows 98's system colours: `--color-vga-navy` is one specific blue and means nothing on its own. **Semantic** tokens name a role — `--color-card`, `--color-muted-foreground`, `--color-border` — and point at a primitive through `var()`.
|
|
21
21
|
|
|
22
|
-
Rebranding is a matter of repointing semantic references rather than hunting hex codes.
|
|
22
|
+
Rebranding is a matter of repointing semantic references rather than hunting hex codes. The modern theme has a palette of its own (`--color-modern-*`) and points the same semantic names at it, once for light and once for dark.
|
|
23
23
|
|
|
24
24
|
## Use
|
|
25
25
|
|
|
@@ -30,7 +30,13 @@ As a Tailwind v4 theme:
|
|
|
30
30
|
@import '@rowkit/tokens/css';
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
Every token becomes a theme value, so `bg-card`, `text-ui`, `p-4` and `shadow-raised` resolve to the scales above.
|
|
33
|
+
Every token becomes a theme value, so `bg-card`, `text-ui`, `p-4` and `shadow-raised` resolve to the scales above. The stylesheet also carries both themes. Pick one with an attribute on any element; themes nest:
|
|
34
|
+
|
|
35
|
+
```html
|
|
36
|
+
<html data-theme="modern" data-color-scheme="dark"></html>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Without `data-theme` a page is Windows 98. Without `data-color-scheme` the modern theme follows the system's light or dark setting.
|
|
34
40
|
|
|
35
41
|
As CSS custom properties, for anything Tailwind does not cover:
|
|
36
42
|
|
|
@@ -51,17 +57,69 @@ tokens.color.vga.silver // '#c0c0c0' — the face of every window
|
|
|
51
57
|
const series = [tokens.color.vga.navy, tokens.color.vga.green, tokens.color.vga.maroon]
|
|
52
58
|
```
|
|
53
59
|
|
|
54
|
-
`tokens` is grouped by scale rather than flattened, so `tokens.color.vga.navy` narrows to its literal type and autocompletes at every level.
|
|
60
|
+
`tokens` is grouped by scale rather than flattened, so `tokens.color.vga.navy` narrows to its literal type and autocompletes at every level. The scales are Windows 98's values.
|
|
61
|
+
|
|
62
|
+
## Themes as data
|
|
63
|
+
|
|
64
|
+
`tokens.themes` has each theme as the CSS variables it declares — every value a theme may set, by name:
|
|
65
|
+
|
|
66
|
+
```ts
|
|
67
|
+
import { tokens } from '@rowkit/tokens'
|
|
68
|
+
|
|
69
|
+
tokens.themes.win98['--spacing-control-md'] // '28px'
|
|
70
|
+
tokens.themes.modern.light['--spacing-control-md'] // '32px'
|
|
71
|
+
tokens.themes.modern.dark // only what the dark scheme changes
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## A theme of your own
|
|
75
|
+
|
|
76
|
+
`defineTheme()` starts from `modern` (the default) or `win98`, lays your values over it and returns the stylesheet — every variable declared, and for a theme with a dark scheme, the dark rules too, following the system unless `data-color-scheme` fixes it. A token name rowkit does not have throws, so a typo fails the build.
|
|
77
|
+
|
|
78
|
+
```ts
|
|
79
|
+
import { defineTheme } from '@rowkit/tokens'
|
|
80
|
+
|
|
81
|
+
export const acme = defineTheme({
|
|
82
|
+
name: 'acme', // <html data-theme="acme">
|
|
83
|
+
extends: 'modern',
|
|
84
|
+
light: { '--color-control-primary': '#5b3df5', '--radius-md': '10px' },
|
|
85
|
+
dark: { '--color-control-primary': '#7c66ff' },
|
|
86
|
+
})
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Write the string to a file imported after `rowkit/styles`, or into a `<style>` element at start-up. `themeRule(selector, scheme, values)` writes one rule, if you would rather assemble the stylesheet yourself:
|
|
90
|
+
|
|
91
|
+
```ts
|
|
92
|
+
import { themeRule, tokens } from '@rowkit/tokens'
|
|
93
|
+
|
|
94
|
+
themeRule('.print', 'light', { ...tokens.themes.win98, '--color-background': '#ffffff' })
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
The whole guide, with a live builder: [Themes](https://rowkit.dev/foundations/themes).
|
|
98
|
+
|
|
99
|
+
## Reference
|
|
100
|
+
|
|
101
|
+
`@rowkit/tokens/reference` describes every token a theme sets: what it is for, which components read it, and its value in Windows 98 and in modern light and dark. A separate entry point, so the main one stays small.
|
|
102
|
+
|
|
103
|
+
```ts
|
|
104
|
+
import { tokenReference } from '@rowkit/tokens/reference'
|
|
105
|
+
|
|
106
|
+
tokenReference.find((t) => t.name === '--color-control-primary')
|
|
107
|
+
// { name, group: 'color', description: '…', components: ['Button'], values: { win98, modernLight, modernDark } }
|
|
108
|
+
```
|
|
55
109
|
|
|
56
110
|
## Notes on the values
|
|
57
111
|
|
|
58
|
-
**
|
|
112
|
+
**Windows 98's colour is the exact Windows 98 palette.** Primitives are `#rrggbb` values from the VGA palette and the default Windows 98 scheme, named as in the design's Figma variables. The modern palette follows the designer's Figma file.
|
|
113
|
+
|
|
114
|
+
**Depth: bevels in Windows 98, soft shadows in modern.** In Windows 98, `shadow-raised`, `shadow-sunken`, `shadow-window` and the rest are hard inset lines in the four `bevel-*` colours. The modern theme sets the same names to soft shadows outside the box and hairline edges.
|
|
115
|
+
|
|
116
|
+
**Corners: square in Windows 98, rounded in modern.** In Windows 98 the radius scale multiplies `--radius`, which is `0rem` until you set it. The modern theme sets each step as a length: 7px for a button or a field, 12px for a window.
|
|
59
117
|
|
|
60
|
-
**
|
|
118
|
+
**Type: PT Sans and VT323 in Windows 98, the system's faces in modern.** Both set the interface at 13px (`text-ui`) — in Windows 98, its 8pt at Large Fonts. Windows 98 has two weights, regular and bold; modern's emphasis (`--font-weight-strong`) is semibold. The font files are not shipped: for Windows 98, load `@fontsource/pt-sans` and `@fontsource/vt323` in the app. The modern theme loads nothing.
|
|
61
119
|
|
|
62
|
-
**
|
|
120
|
+
**Motion: next to none in Windows 98, short in modern.** Windows 98 changes state at once; the modern theme uses transitions of 120–160ms.
|
|
63
121
|
|
|
64
|
-
**Contrast is asserted, not claimed.** Every semantic text pairing is checked against WCAG AA, and every control boundary and focus ring against 3:1, in the package's own tests.
|
|
122
|
+
**Contrast is asserted, not claimed.** Every semantic text pairing is checked against WCAG AA, and every control boundary and focus ring against 3:1, in every theme and scheme, in the package's own tests.
|
|
65
123
|
|
|
66
124
|
**Spacing keys are multiples of 4px.** `4` is 1rem, `2` is 8px — the convention most Vue and Tailwind developers already carry.
|
|
67
125
|
|
|
@@ -71,4 +129,4 @@ const series = [tokens.color.vga.navy, tokens.color.vga.green, tokens.color.vga.
|
|
|
71
129
|
|
|
72
130
|
MIT © Nikolai Kushner
|
|
73
131
|
|
|
74
|
-
The
|
|
132
|
+
The Windows 98 theme is a tribute to Windows 98. rowkit is not affiliated with or endorsed by Microsoft.
|
package/dist/color.d.ts
CHANGED
|
@@ -177,40 +177,157 @@ export declare const semanticColor: {
|
|
|
177
177
|
* 11:1 on `#b5b5b5`.
|
|
178
178
|
*/
|
|
179
179
|
readonly 'titlebar-inactive-foreground': `var(--color-${string})`;
|
|
180
|
+
/** Neutral fill: a solid neutral badge, and anything filled in the neutral colour. */
|
|
180
181
|
readonly 'neutral-solid': `var(--color-${string})`;
|
|
182
|
+
/** Neutral fill under the pointer. */
|
|
181
183
|
readonly 'neutral-solid-hover': `var(--color-${string})`;
|
|
184
|
+
/** Text and icons on the neutral fill. */
|
|
182
185
|
readonly 'neutral-on-solid': `var(--color-${string})`;
|
|
186
|
+
/** Neutral tint: the face of a subtle neutral badge or callout. */
|
|
183
187
|
readonly 'neutral-subtle': `var(--color-${string})`;
|
|
188
|
+
/** Neutral text and icons, on its tint and on the page. */
|
|
184
189
|
readonly 'neutral-on-subtle': `var(--color-${string})`;
|
|
190
|
+
/** The edge of a subtle or outlined neutral badge. */
|
|
185
191
|
readonly 'neutral-border': `var(--color-${string})`;
|
|
192
|
+
/** Primary fill — the accent: a solid primary badge, a selected item, the default action in a theme that colours it. */
|
|
186
193
|
readonly 'primary-solid': `var(--color-${string})`;
|
|
194
|
+
/** Primary fill under the pointer. */
|
|
187
195
|
readonly 'primary-solid-hover': `var(--color-${string})`;
|
|
196
|
+
/** Text and icons on the primary fill. */
|
|
188
197
|
readonly 'primary-on-solid': `var(--color-${string})`;
|
|
198
|
+
/** Primary tint: the face of a subtle primary badge or callout. */
|
|
189
199
|
readonly 'primary-subtle': `var(--color-${string})`;
|
|
200
|
+
/** Primary text and icons, on its tint and on the page. */
|
|
190
201
|
readonly 'primary-on-subtle': `var(--color-${string})`;
|
|
202
|
+
/** The edge of a subtle or outlined primary badge. */
|
|
191
203
|
readonly 'primary-border': `var(--color-${string})`;
|
|
204
|
+
/** Success fill: a solid success badge, and anything filled in the success colour. */
|
|
192
205
|
readonly 'success-solid': `var(--color-${string})`;
|
|
206
|
+
/** Success fill under the pointer. */
|
|
193
207
|
readonly 'success-solid-hover': `var(--color-${string})`;
|
|
208
|
+
/** Text and icons on the success fill. */
|
|
194
209
|
readonly 'success-on-solid': `var(--color-${string})`;
|
|
210
|
+
/** Success tint: the face of a subtle success badge or callout. */
|
|
195
211
|
readonly 'success-subtle': `var(--color-${string})`;
|
|
212
|
+
/** Success text and icons, on its tint and on the page. */
|
|
196
213
|
readonly 'success-on-subtle': `var(--color-${string})`;
|
|
214
|
+
/** The edge of a subtle or outlined success badge. */
|
|
197
215
|
readonly 'success-border': `var(--color-${string})`;
|
|
198
216
|
/**
|
|
199
|
-
* Yellow carries black, never white: white on `#ffff00` is 1.07:1
|
|
200
|
-
* is olive, because yellow on silver has almost no edge of its own.
|
|
217
|
+
* Warning fill: a solid warning badge, and anything filled in the warning colour. Yellow carries black, never white: white on `#ffff00` is 1.07:1;
|
|
218
|
+
* its edge is olive, because yellow on silver has almost no edge of its own.
|
|
201
219
|
*/
|
|
202
220
|
readonly 'warning-solid': `var(--color-${string})`;
|
|
221
|
+
/** Warning fill under the pointer. */
|
|
203
222
|
readonly 'warning-solid-hover': `var(--color-${string})`;
|
|
223
|
+
/** Text and icons on the warning fill. */
|
|
204
224
|
readonly 'warning-on-solid': `var(--color-${string})`;
|
|
225
|
+
/** Warning tint: the face of a subtle warning badge or callout. */
|
|
205
226
|
readonly 'warning-subtle': `var(--color-${string})`;
|
|
227
|
+
/** Warning text and icons, on its tint and on the page. */
|
|
206
228
|
readonly 'warning-on-subtle': `var(--color-${string})`;
|
|
229
|
+
/** The edge of a subtle or outlined warning badge. */
|
|
207
230
|
readonly 'warning-border': `var(--color-${string})`;
|
|
231
|
+
/** Danger fill: a solid danger badge, and anything filled in the danger colour. */
|
|
208
232
|
readonly 'danger-solid': `var(--color-${string})`;
|
|
233
|
+
/** Danger fill under the pointer. */
|
|
209
234
|
readonly 'danger-solid-hover': `var(--color-${string})`;
|
|
235
|
+
/** Text and icons on the danger fill. */
|
|
210
236
|
readonly 'danger-on-solid': `var(--color-${string})`;
|
|
237
|
+
/** Danger tint: the face of a subtle danger badge or callout. */
|
|
211
238
|
readonly 'danger-subtle': `var(--color-${string})`;
|
|
239
|
+
/** Danger text and icons, on its tint and on the page. */
|
|
212
240
|
readonly 'danger-on-subtle': `var(--color-${string})`;
|
|
241
|
+
/** The edge of a subtle or outlined danger badge. */
|
|
213
242
|
readonly 'danger-border': `var(--color-${string})`;
|
|
243
|
+
/** A plain button, a spin or drop button, a table's sort header. */
|
|
244
|
+
readonly control: `var(--color-${string})`;
|
|
245
|
+
/** Text and icons on a plain button. */
|
|
246
|
+
readonly 'control-foreground': `var(--color-${string})`;
|
|
247
|
+
/** A plain button under the pointer. */
|
|
248
|
+
readonly 'control-hover': `var(--color-${string})`;
|
|
249
|
+
/** A plain button while it is held. */
|
|
250
|
+
readonly 'control-active': `var(--color-${string})`;
|
|
251
|
+
/** The default button of a form or dialog — Enter's target. */
|
|
252
|
+
readonly 'control-primary': `var(--color-${string})`;
|
|
253
|
+
/** Text and icons on the default button. */
|
|
254
|
+
readonly 'control-primary-foreground': `var(--color-${string})`;
|
|
255
|
+
/** The default button under the pointer. */
|
|
256
|
+
readonly 'control-primary-hover': `var(--color-${string})`;
|
|
257
|
+
/** The default button while it is held. */
|
|
258
|
+
readonly 'control-primary-active': `var(--color-${string})`;
|
|
259
|
+
/** A flat toolbar button while hovered and while held. */
|
|
260
|
+
readonly 'control-ghost-hover': `var(--color-${string})`;
|
|
261
|
+
readonly 'control-ghost-active': `var(--color-${string})`;
|
|
262
|
+
/** The face of a latched toggle, under its pattern. */
|
|
263
|
+
readonly 'control-latched': `var(--color-${string})`;
|
|
264
|
+
/** A latched default button. A toggle is never the default, but if one latches it keeps its colour. */
|
|
265
|
+
readonly 'control-primary-latched': `var(--color-${string})`;
|
|
266
|
+
/** The box of a checked checkbox or radio, and the mark inside it. */
|
|
267
|
+
readonly checked: `var(--color-${string})`;
|
|
268
|
+
readonly 'on-checked': `var(--color-${string})`;
|
|
269
|
+
/** A list that drops from a trigger: a select's options. */
|
|
270
|
+
readonly popover: `var(--color-${string})`;
|
|
271
|
+
readonly 'popover-border': `var(--color-${string})`;
|
|
272
|
+
/** The ring a theme draws around a focused control, outside its edge. */
|
|
273
|
+
readonly 'focus-ring': `var(--color-${string})`;
|
|
274
|
+
/** A window's caption buttons; one fill per button, for themes that colour them. */
|
|
275
|
+
readonly caption: `var(--color-${string})`;
|
|
276
|
+
readonly 'caption-foreground': `var(--color-${string})`;
|
|
277
|
+
readonly 'caption-close': `var(--color-${string})`;
|
|
278
|
+
readonly 'caption-minimize': `var(--color-${string})`;
|
|
279
|
+
readonly 'caption-maximize': `var(--color-${string})`;
|
|
280
|
+
readonly 'caption-inactive': `var(--color-${string})`;
|
|
281
|
+
/** A data table's column headers. */
|
|
282
|
+
readonly 'table-header': `var(--color-${string})`;
|
|
283
|
+
readonly 'table-header-foreground': `var(--color-${string})`;
|
|
284
|
+
/** Every other row of a data table. Windows 98 does not stripe. */
|
|
285
|
+
readonly 'table-stripe': `var(--color-${string})`;
|
|
286
|
+
/** A data table row under the pointer. Windows 98 does not highlight it. */
|
|
287
|
+
readonly 'table-row-hover': `var(--color-${string})`;
|
|
288
|
+
/** The channel a progress bar or a scroll thumb runs in, and what fills it. */
|
|
289
|
+
readonly track: `var(--color-${string})`;
|
|
290
|
+
readonly progress: `var(--color-${string})`;
|
|
291
|
+
readonly 'scroll-thumb': `var(--color-${string})`;
|
|
292
|
+
/** The channel a scroll bar's thumb runs in, under its pattern. */
|
|
293
|
+
readonly 'scroll-track': `var(--color-${string})`;
|
|
294
|
+
/** The frame of a tooltip. */
|
|
295
|
+
readonly 'tooltip-border': `var(--color-${string})`;
|
|
296
|
+
/**
|
|
297
|
+
* The inside of a group box's frame, and the face around it — behind the
|
|
298
|
+
* legend and the frame's edge. Both the window's silver in Windows 98.
|
|
299
|
+
*/
|
|
300
|
+
readonly groupbox: `var(--color-${string})`;
|
|
301
|
+
readonly 'groupbox-face': `var(--color-${string})`;
|
|
302
|
+
/** A toast's ✕: the caption button's silver in Windows 98, a soft grey disc elsewhere. */
|
|
303
|
+
readonly 'toast-close': `var(--color-${string})`;
|
|
304
|
+
readonly 'toast-close-foreground': `var(--color-${string})`;
|
|
305
|
+
/** «Loading…» in a dropped list: plain text in Windows 98, the subtle grey elsewhere. */
|
|
306
|
+
readonly 'loading-foreground': `var(--color-${string})`;
|
|
307
|
+
/** The strip that holds a searchable list's search box: the window face in Windows 98, nothing elsewhere. */
|
|
308
|
+
readonly 'select-search': `var(--color-${string})`;
|
|
309
|
+
/** A pager's buttons: raised command buttons in Windows 98, flat elsewhere. */
|
|
310
|
+
readonly pager: `var(--color-${string})`;
|
|
311
|
+
readonly 'pager-hover': `var(--color-${string})`;
|
|
312
|
+
readonly 'pager-active': `var(--color-${string})`;
|
|
313
|
+
/** The strip a filter bar sits on. */
|
|
314
|
+
readonly 'filter-bar': `var(--color-${string})`;
|
|
315
|
+
/** A filter chip: its face, its edge and its text. */
|
|
316
|
+
readonly chip: `var(--color-${string})`;
|
|
317
|
+
readonly 'chip-border': `var(--color-${string})`;
|
|
318
|
+
readonly 'chip-foreground': `var(--color-${string})`;
|
|
319
|
+
/** The face of a chip's ✕ at rest: the chip's own white in Windows 98. */
|
|
320
|
+
readonly 'chip-remove': `var(--color-${string})`;
|
|
321
|
+
/**
|
|
322
|
+
* The value of a read-only field that holds focus — a drop-down list's —
|
|
323
|
+
* highlighted the way Windows 98 marks it, and the text on it.
|
|
324
|
+
*/
|
|
325
|
+
readonly 'field-highlight': `var(--color-${string})`;
|
|
326
|
+
readonly 'on-field-highlight': `var(--color-${string})`;
|
|
327
|
+
/** The text caret in a field. */
|
|
328
|
+
readonly 'field-caret': `var(--color-${string})`;
|
|
329
|
+
/** The buttons inside a field: a select's drop button, a number's spin buttons. */
|
|
330
|
+
readonly 'field-button': `var(--color-${string})`;
|
|
214
331
|
};
|
|
215
332
|
/** Names of every semantic colour token. */
|
|
216
333
|
export type SemanticColorName = keyof typeof semanticColor;
|
package/dist/css.d.ts
CHANGED
|
@@ -5,8 +5,22 @@
|
|
|
5
5
|
* the stylesheet from them, so the two cannot drift. `css.test.ts` asserts that
|
|
6
6
|
* every token in every scale reaches the output.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* Two themes. Windows 98 is the default, carried by `:root`; the modern theme
|
|
9
|
+
* is switched on by `data-theme="modern"` on any element, and its dark scheme
|
|
10
|
+
* by the system or by `data-color-scheme="dark"` on that same element. A theme
|
|
11
|
+
* is a set of custom property values and nothing else, so themes nest: a
|
|
12
|
+
* region marked `data-theme="win98"` inside a modern page is Windows 98.
|
|
13
|
+
*
|
|
14
|
+
* One thing makes that work, and it is easy to break. A custom property whose
|
|
15
|
+
* value contains `var()` is resolved on the element that declares it, and
|
|
16
|
+
* descendants inherit the result. A theme therefore re-declares every token it
|
|
17
|
+
* changes on its own element; repointing a primitive at `:root` would not reach
|
|
18
|
+
* a semantic token that has already been resolved there.
|
|
19
|
+
*
|
|
20
|
+
* Shadows take one more step. Tailwind copies a `--shadow-*` value into each
|
|
21
|
+
* `shadow-*` utility rather than referencing it, so a theme could never change
|
|
22
|
+
* one. The `@theme` entry is therefore `var(--rk-shadow-*)`, and the value
|
|
23
|
+
* lives in that variable.
|
|
10
24
|
*
|
|
11
25
|
* @returns The complete stylesheet, ready to write to disk.
|
|
12
26
|
*/
|
package/dist/index.d.ts
CHANGED
|
@@ -28,6 +28,12 @@ export { shadow, textShadow } from './shadow.js';
|
|
|
28
28
|
export type { ShadowName, TextShadowName } from './shadow.js';
|
|
29
29
|
export { spacing, spacingBase } from './spacing.js';
|
|
30
30
|
export type { SpacingName } from './spacing.js';
|
|
31
|
+
export { size } from './size.js';
|
|
32
|
+
export type { SizeName } from './size.js';
|
|
33
|
+
export { style } from './style.js';
|
|
34
|
+
export type { StyleName } from './style.js';
|
|
35
|
+
export { modernDarkColor, modernDarkShadow, modernDarkVars, modernFont, modernFontSize, modernFontWeight, modernLightColor, modernLightShadow, modernLightVars, modernPalette, modernRadius, modernSize, modernStyle, defineTheme, themeNames, themeRule, win98Vars, } from './themes/index.js';
|
|
36
|
+
export type { ModernPaletteName, ThemeDefinition, ThemeName, ThemeTokenName, ThemeValues, ThemeVars, } from './themes/index.js';
|
|
31
37
|
export { fontFamily, fontSize, fontWeight, letterSpacing, lineHeight } from './typography.js';
|
|
32
38
|
export type { FontSizeName } from './typography.js';
|
|
33
39
|
export { zIndex } from './z-index.js';
|
|
@@ -149,6 +155,56 @@ export declare const tokens: {
|
|
|
149
155
|
readonly 'danger-subtle': `var(--color-${string})`;
|
|
150
156
|
readonly 'danger-on-subtle': `var(--color-${string})`;
|
|
151
157
|
readonly 'danger-border': `var(--color-${string})`;
|
|
158
|
+
readonly control: `var(--color-${string})`;
|
|
159
|
+
readonly 'control-foreground': `var(--color-${string})`;
|
|
160
|
+
readonly 'control-hover': `var(--color-${string})`;
|
|
161
|
+
readonly 'control-active': `var(--color-${string})`;
|
|
162
|
+
readonly 'control-primary': `var(--color-${string})`;
|
|
163
|
+
readonly 'control-primary-foreground': `var(--color-${string})`;
|
|
164
|
+
readonly 'control-primary-hover': `var(--color-${string})`;
|
|
165
|
+
readonly 'control-primary-active': `var(--color-${string})`;
|
|
166
|
+
readonly 'control-ghost-hover': `var(--color-${string})`;
|
|
167
|
+
readonly 'control-ghost-active': `var(--color-${string})`;
|
|
168
|
+
readonly 'control-latched': `var(--color-${string})`;
|
|
169
|
+
readonly 'control-primary-latched': `var(--color-${string})`;
|
|
170
|
+
readonly checked: `var(--color-${string})`;
|
|
171
|
+
readonly 'on-checked': `var(--color-${string})`;
|
|
172
|
+
readonly popover: `var(--color-${string})`;
|
|
173
|
+
readonly 'popover-border': `var(--color-${string})`;
|
|
174
|
+
readonly 'focus-ring': `var(--color-${string})`;
|
|
175
|
+
readonly caption: `var(--color-${string})`;
|
|
176
|
+
readonly 'caption-foreground': `var(--color-${string})`;
|
|
177
|
+
readonly 'caption-close': `var(--color-${string})`;
|
|
178
|
+
readonly 'caption-minimize': `var(--color-${string})`;
|
|
179
|
+
readonly 'caption-maximize': `var(--color-${string})`;
|
|
180
|
+
readonly 'caption-inactive': `var(--color-${string})`;
|
|
181
|
+
readonly 'table-header': `var(--color-${string})`;
|
|
182
|
+
readonly 'table-header-foreground': `var(--color-${string})`;
|
|
183
|
+
readonly 'table-stripe': `var(--color-${string})`;
|
|
184
|
+
readonly 'table-row-hover': `var(--color-${string})`;
|
|
185
|
+
readonly track: `var(--color-${string})`;
|
|
186
|
+
readonly progress: `var(--color-${string})`;
|
|
187
|
+
readonly 'scroll-thumb': `var(--color-${string})`;
|
|
188
|
+
readonly 'scroll-track': `var(--color-${string})`;
|
|
189
|
+
readonly 'tooltip-border': `var(--color-${string})`;
|
|
190
|
+
readonly groupbox: `var(--color-${string})`;
|
|
191
|
+
readonly 'groupbox-face': `var(--color-${string})`;
|
|
192
|
+
readonly 'toast-close': `var(--color-${string})`;
|
|
193
|
+
readonly 'toast-close-foreground': `var(--color-${string})`;
|
|
194
|
+
readonly 'loading-foreground': `var(--color-${string})`;
|
|
195
|
+
readonly 'select-search': `var(--color-${string})`;
|
|
196
|
+
readonly pager: `var(--color-${string})`;
|
|
197
|
+
readonly 'pager-hover': `var(--color-${string})`;
|
|
198
|
+
readonly 'pager-active': `var(--color-${string})`;
|
|
199
|
+
readonly 'filter-bar': `var(--color-${string})`;
|
|
200
|
+
readonly chip: `var(--color-${string})`;
|
|
201
|
+
readonly 'chip-border': `var(--color-${string})`;
|
|
202
|
+
readonly 'chip-foreground': `var(--color-${string})`;
|
|
203
|
+
readonly 'chip-remove': `var(--color-${string})`;
|
|
204
|
+
readonly 'field-highlight': `var(--color-${string})`;
|
|
205
|
+
readonly 'on-field-highlight': `var(--color-${string})`;
|
|
206
|
+
readonly 'field-caret': `var(--color-${string})`;
|
|
207
|
+
readonly 'field-button': `var(--color-${string})`;
|
|
152
208
|
};
|
|
153
209
|
};
|
|
154
210
|
readonly spacing: {
|
|
@@ -168,6 +224,165 @@ export declare const tokens: {
|
|
|
168
224
|
readonly 24: "6rem";
|
|
169
225
|
};
|
|
170
226
|
readonly spacingBase: "0.25rem";
|
|
227
|
+
readonly size: {
|
|
228
|
+
readonly 'control-xs': "21px";
|
|
229
|
+
readonly 'control-sm': "26px";
|
|
230
|
+
readonly 'control-md': "28px";
|
|
231
|
+
readonly 'control-lg': "33px";
|
|
232
|
+
readonly 'icon-xs': "25px";
|
|
233
|
+
readonly 'icon-sm': "27px";
|
|
234
|
+
readonly 'icon-md': "30px";
|
|
235
|
+
readonly 'icon-lg': "34px";
|
|
236
|
+
readonly 'button-min-xs': "3rem";
|
|
237
|
+
readonly 'button-min-sm': "4rem";
|
|
238
|
+
readonly 'button-min-md': "92px";
|
|
239
|
+
readonly 'button-min-lg': "108px";
|
|
240
|
+
readonly 'button-px-xs': "0.375rem";
|
|
241
|
+
readonly 'button-px-sm': "0.5rem";
|
|
242
|
+
readonly 'button-px-md': "0.75rem";
|
|
243
|
+
readonly 'button-px-lg': "1rem";
|
|
244
|
+
readonly 'field-px': "0.25rem";
|
|
245
|
+
readonly 'field-px-lg': "0.375rem";
|
|
246
|
+
readonly 'field-gap-sm': "0.25rem";
|
|
247
|
+
readonly 'field-gap-md': "0.375rem";
|
|
248
|
+
readonly 'field-gap-lg': "0.5rem";
|
|
249
|
+
readonly 'field-left-gap': "0.5rem";
|
|
250
|
+
readonly 'field-error-gap': "0.25rem";
|
|
251
|
+
readonly check: "13px";
|
|
252
|
+
readonly radio: "12px";
|
|
253
|
+
readonly 'check-gap': "4px";
|
|
254
|
+
readonly 'check-label-px': "1px";
|
|
255
|
+
readonly titlebar: "22px";
|
|
256
|
+
readonly 'caption-w': "20px";
|
|
257
|
+
readonly 'caption-h': "18px";
|
|
258
|
+
readonly 'caption-gap': "0px";
|
|
259
|
+
readonly 'caption-close-gap': "2px";
|
|
260
|
+
readonly 'titlebar-px': "2px";
|
|
261
|
+
readonly 'title-inset-start': "4px";
|
|
262
|
+
readonly 'title-inset-end': "28px";
|
|
263
|
+
readonly frame: "2px";
|
|
264
|
+
readonly 'dialog-px': "0.75rem";
|
|
265
|
+
readonly 'dialog-pt': "0.75rem";
|
|
266
|
+
readonly 'dialog-footer-pt': "0.5rem";
|
|
267
|
+
readonly 'dialog-footer-pb': "0.75rem";
|
|
268
|
+
readonly item: "22px";
|
|
269
|
+
readonly 'item-pl': "2px";
|
|
270
|
+
readonly 'item-pr': "0.25rem";
|
|
271
|
+
readonly 'item-check': "12px";
|
|
272
|
+
readonly 'item-gap': "2px";
|
|
273
|
+
readonly 'item-check-glyph': "7px";
|
|
274
|
+
readonly 'popover-inset': "1px";
|
|
275
|
+
readonly 'table-header-px': "0.25rem";
|
|
276
|
+
readonly 'table-cell-px': "0.375rem";
|
|
277
|
+
readonly 'row-sm': "22px";
|
|
278
|
+
readonly 'row-md': "27px";
|
|
279
|
+
readonly 'select-arrow': "8px";
|
|
280
|
+
readonly 'select-arrow-overlap': "0px";
|
|
281
|
+
readonly 'select-message-px': "6px";
|
|
282
|
+
readonly 'select-message-py': "6px";
|
|
283
|
+
readonly 'select-message-gap': "6px";
|
|
284
|
+
readonly 'select-search-p': "2px";
|
|
285
|
+
readonly 'select-search-gap': "0px";
|
|
286
|
+
readonly 'field-button-h-sm': "17px";
|
|
287
|
+
readonly 'field-button-h': "19px";
|
|
288
|
+
readonly 'field-button-h-lg': "23px";
|
|
289
|
+
readonly 'field-button-pr': "2px";
|
|
290
|
+
readonly 'field-drop-icon': "8px";
|
|
291
|
+
readonly 'select-pr': "2px";
|
|
292
|
+
readonly 'filter-bar-p': "0.25rem";
|
|
293
|
+
readonly 'filter-bar-gap': "0.25rem";
|
|
294
|
+
readonly 'chip-px': "0.375rem";
|
|
295
|
+
readonly 'chip-pr-remove': "0.125rem";
|
|
296
|
+
readonly 'toast-py': "0.5rem";
|
|
297
|
+
readonly 'toast-pl': "0.5rem";
|
|
298
|
+
readonly 'toast-pr': "0.25rem";
|
|
299
|
+
readonly 'toast-gap': "0.5rem";
|
|
300
|
+
readonly 'toast-body-gap': "0.25rem";
|
|
301
|
+
readonly 'toast-icon': "16px";
|
|
302
|
+
readonly 'toast-close-w': "20px";
|
|
303
|
+
readonly 'toast-close-h': "18px";
|
|
304
|
+
readonly 'pager-px': "0.25rem";
|
|
305
|
+
readonly 'pager-arrow': "8px";
|
|
306
|
+
readonly 'pager-focus-px': "1px";
|
|
307
|
+
readonly 'pager-min-sm': "0px";
|
|
308
|
+
readonly 'chip-sm': "23px";
|
|
309
|
+
readonly 'chip-md': "26px";
|
|
310
|
+
readonly 'badge-px-sm': "0.25rem";
|
|
311
|
+
readonly 'badge-px-md': "0.375rem";
|
|
312
|
+
readonly 'badge-dot': "5px";
|
|
313
|
+
readonly 'empty-p-sm': "0.75rem";
|
|
314
|
+
readonly 'empty-p-md': "1.5rem";
|
|
315
|
+
readonly 'empty-p-lg': "1.5rem";
|
|
316
|
+
readonly 'empty-gap': "1rem";
|
|
317
|
+
readonly 'tooltip-px': "0.25rem";
|
|
318
|
+
readonly 'tooltip-py': "1px";
|
|
319
|
+
readonly statusbar: "27px";
|
|
320
|
+
readonly 'statusbar-px': "2px";
|
|
321
|
+
readonly 'statusbar-py': "2px";
|
|
322
|
+
readonly 'statusbar-gap': "2px";
|
|
323
|
+
readonly 'statusbar-section-px': "0.25rem";
|
|
324
|
+
readonly 'statusbar-section-gap': "0.25rem";
|
|
325
|
+
readonly progress: "18px";
|
|
326
|
+
readonly 'progress-inset': "2px";
|
|
327
|
+
readonly 'progress-fill': "12px";
|
|
328
|
+
readonly 'progress-block': "8px";
|
|
329
|
+
readonly 'progress-period': "10px";
|
|
330
|
+
readonly 'progress-segment': "38px";
|
|
331
|
+
readonly scrollbar: "16px";
|
|
332
|
+
readonly 'scroll-button': "16px";
|
|
333
|
+
readonly 'scroll-inset': "0px";
|
|
334
|
+
readonly 'groupbox-top': "6px";
|
|
335
|
+
readonly 'groupbox-pt': "1rem";
|
|
336
|
+
readonly 'groupbox-legend-x': "0.5rem";
|
|
337
|
+
readonly 'groupbox-legend-px': "2px";
|
|
338
|
+
};
|
|
339
|
+
readonly style: {
|
|
340
|
+
readonly 'focus-label-width': "1px";
|
|
341
|
+
readonly 'focus-ring-width': "1px";
|
|
342
|
+
readonly 'focus-ring-style': "dotted";
|
|
343
|
+
readonly 'focus-outer-width': "0px";
|
|
344
|
+
readonly 'focus-outer-offset': "0px";
|
|
345
|
+
readonly 'press-shift': "1px";
|
|
346
|
+
readonly 'press-brightness': "1";
|
|
347
|
+
readonly 'dither-image': string;
|
|
348
|
+
readonly 'loading-image': string;
|
|
349
|
+
readonly 'animate-loading': "rk-dither 800ms steps(1) infinite";
|
|
350
|
+
readonly 'animate-busy': "none";
|
|
351
|
+
readonly 'animate-progress': "rk-progress-march calc(var(--rk-progress-steps, 18) * 100ms) steps(var(--rk-progress-steps, 18)) infinite";
|
|
352
|
+
readonly 'duration-control': "0ms";
|
|
353
|
+
readonly 'animate-overlay-in': "none";
|
|
354
|
+
readonly 'etch-width': "1px";
|
|
355
|
+
readonly 'caption-order': "0";
|
|
356
|
+
readonly 'close-order': "0";
|
|
357
|
+
readonly 'titlebar-icon': "flex";
|
|
358
|
+
readonly 'titlebar-align': "start";
|
|
359
|
+
readonly 'titlebar-balance': "0px";
|
|
360
|
+
readonly 'caption-glyph-opacity': "1";
|
|
361
|
+
readonly 'legend-weight': "400";
|
|
362
|
+
readonly 'link-decoration': "underline";
|
|
363
|
+
readonly 'invalid-width': "0px";
|
|
364
|
+
readonly 'field-error-align': "center";
|
|
365
|
+
readonly 'select-up': "none";
|
|
366
|
+
readonly 'footer-direction': "row";
|
|
367
|
+
readonly 'empty-direction': "row";
|
|
368
|
+
readonly 'empty-align': "start";
|
|
369
|
+
readonly 'overlay-bg': "transparent";
|
|
370
|
+
readonly 'popover-backdrop': "none";
|
|
371
|
+
readonly 'popover-border-width': "1px";
|
|
372
|
+
readonly 'scrollbar-buttons': "block";
|
|
373
|
+
readonly 'glyph-scale': "1";
|
|
374
|
+
readonly 'radio-fill': "0%";
|
|
375
|
+
readonly 'radio-dot-r': "0px";
|
|
376
|
+
readonly 'radio-edge': "0px";
|
|
377
|
+
readonly 'icon-pixels': "inline";
|
|
378
|
+
readonly 'icon-glyphs': "initial";
|
|
379
|
+
readonly 'icon-fill': "transparent";
|
|
380
|
+
readonly 'icon-tone-danger': "transparent";
|
|
381
|
+
readonly 'icon-tone-warning': "transparent";
|
|
382
|
+
readonly 'icon-tone-info': "transparent";
|
|
383
|
+
readonly 'icon-tone-success': "transparent";
|
|
384
|
+
readonly 'icon-tone-folder': "transparent";
|
|
385
|
+
};
|
|
171
386
|
readonly font: {
|
|
172
387
|
readonly family: {
|
|
173
388
|
readonly sans: string;
|
|
@@ -210,6 +425,7 @@ export declare const tokens: {
|
|
|
210
425
|
readonly weight: {
|
|
211
426
|
readonly normal: "400";
|
|
212
427
|
readonly bold: "700";
|
|
428
|
+
readonly strong: "700";
|
|
213
429
|
};
|
|
214
430
|
readonly letterSpacing: {
|
|
215
431
|
readonly normal: "0em";
|
|
@@ -224,6 +440,7 @@ export declare const tokens: {
|
|
|
224
440
|
};
|
|
225
441
|
readonly radius: {
|
|
226
442
|
readonly full: "9999px";
|
|
443
|
+
readonly pill: "0rem";
|
|
227
444
|
readonly none: string;
|
|
228
445
|
readonly xs: string;
|
|
229
446
|
readonly sm: string;
|
|
@@ -242,6 +459,22 @@ export declare const tokens: {
|
|
|
242
459
|
readonly status: string;
|
|
243
460
|
readonly etched: string;
|
|
244
461
|
readonly 'raised-thin': string;
|
|
462
|
+
readonly popover: "none";
|
|
463
|
+
readonly table: string;
|
|
464
|
+
readonly header: string;
|
|
465
|
+
readonly caption: string;
|
|
466
|
+
readonly statusbar: "none";
|
|
467
|
+
readonly titlebar: "none";
|
|
468
|
+
readonly checked: string;
|
|
469
|
+
readonly 'field-button-pressed': string;
|
|
470
|
+
readonly 'latched-ghost': string;
|
|
471
|
+
readonly 'checked-selected': string;
|
|
472
|
+
readonly 'toast-close': string;
|
|
473
|
+
readonly pager: string;
|
|
474
|
+
readonly 'pager-focus': string;
|
|
475
|
+
readonly 'pager-pressed': string;
|
|
476
|
+
readonly 'field-button': string;
|
|
477
|
+
readonly 'scroll-thumb': string;
|
|
245
478
|
readonly 'scroll-x': "inset -1px 0 var(--color-bevel-shadow)";
|
|
246
479
|
readonly 'sticky-header': "inset 0 -1px 0 var(--color-border)";
|
|
247
480
|
};
|
|
@@ -272,6 +505,14 @@ export declare const tokens: {
|
|
|
272
505
|
readonly exit: "cubic-bezier(0.4, 0, 1, 1)";
|
|
273
506
|
};
|
|
274
507
|
};
|
|
508
|
+
/** Each theme as the variables it declares. */
|
|
509
|
+
readonly themes: {
|
|
510
|
+
readonly win98: import('./themes').ThemeVars;
|
|
511
|
+
readonly modern: {
|
|
512
|
+
readonly light: import('./themes').ThemeVars;
|
|
513
|
+
readonly dark: import('./themes').ThemeVars;
|
|
514
|
+
};
|
|
515
|
+
};
|
|
275
516
|
};
|
|
276
517
|
/** The shape of {@link tokens}. */
|
|
277
518
|
export type Tokens = typeof tokens;
|