@rowkit/tokens 0.4.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 +74 -12
- package/dist/color.d.ts +249 -493
- package/dist/css.d.ts +16 -4
- package/dist/index.d.ts +383 -352
- package/dist/index.js +90 -409
- package/dist/index.js.map +1 -1
- package/dist/radius.d.ts +21 -17
- 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 +76 -20
- 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 +1268 -232
- package/dist/typography.d.ts +69 -46
- package/package.json +7 -3
- package/dist/blur.d.ts +0 -18
- package/dist/reference.html +0 -1275
|
@@ -0,0 +1,403 @@
|
|
|
1
|
+
import { n as e, o as t, r as n } from "./themes-B0J8E0xq.js";
|
|
2
|
+
//#region src/reference.data.ts
|
|
3
|
+
var r = {
|
|
4
|
+
"--color-background": ["color", "The face of a window: the page behind the content."],
|
|
5
|
+
"--color-desktop": ["color", "The desktop a window sits on. Docs and demo backdrops."],
|
|
6
|
+
"--color-card": ["color", "Panels and dialogs. Same face as the window; the bevel separates them."],
|
|
7
|
+
"--color-muted": ["color", "Toolbars and table headers."],
|
|
8
|
+
"--color-accent": ["color", "Row hover. Windows 98 has none — the token is here to be repointed."],
|
|
9
|
+
"--color-surface-active": ["color", "A pressed row or toggle. The pressed bevel carries the state, not the fill."],
|
|
10
|
+
"--color-surface-selected": ["color", "A selected row or list item: navy, with `on-selected` text."],
|
|
11
|
+
"--color-surface-disabled": ["color", "A disabled control keeps the face colour; its text goes grey and embossed."],
|
|
12
|
+
"--color-skeleton": ["color", "Loading placeholder fill."],
|
|
13
|
+
"--color-input": ["color", "The inside of a text field, list or table body: white inside a sunken bevel."],
|
|
14
|
+
"--color-tooltip-bg": ["color", "Tooltip bubble."],
|
|
15
|
+
"--color-foreground": ["color", "Body and heading text."],
|
|
16
|
+
"--color-muted-foreground": ["color", "Secondary text. Black, like body text: Windows 98 never greys out text that can still be read and acted on — grey means disabled."],
|
|
17
|
+
"--color-text-subtle": ["color", "Placeholders and de-emphasised metadata."],
|
|
18
|
+
"--color-text-disabled": ["color", "Disabled text, always drawn with {@link semanticColor ['text-disabled-emboss']} under it."],
|
|
19
|
+
"--color-text-disabled-emboss": ["color", "The white copy, one pixel right and down, that embosses disabled text."],
|
|
20
|
+
"--color-on-selected": ["color", "Text on a selected row."],
|
|
21
|
+
"--color-link": ["color", "Hyperlinks."],
|
|
22
|
+
"--color-border": ["color", "Separators and the frame of a group. Decorative, below 3:1 on purpose."],
|
|
23
|
+
"--color-border-strong": ["color", "A frame that has to read as an edge: the outline of a default button."],
|
|
24
|
+
"--color-border-subtle": ["color", "The faintest rule, inside a dense group."],
|
|
25
|
+
"--color-ring": ["color", "Focus. Drawn as a 1px dotted ring inside the control, around its label. Black, so it clears 3:1 on every surface rowkit paints."],
|
|
26
|
+
"--color-shadow": ["color", "Base colour for shadows."],
|
|
27
|
+
"--color-bevel-highlight": ["color", "Outer light edge of a raised bevel, inner one of a sunken bevel."],
|
|
28
|
+
"--color-bevel-light": ["color", "Inner light edge of a raised bevel."],
|
|
29
|
+
"--color-bevel-shadow": ["color", "Inner dark edge of a raised bevel."],
|
|
30
|
+
"--color-bevel-dark": ["color", "Outer dark edge of a raised bevel. Being black, it is what gives every control a boundary of well over 3:1 against the face (WCAG 1.4.11)."],
|
|
31
|
+
"--color-titlebar-from": ["color", "Active title bar, left end of the gradient. The title text sits on this end."],
|
|
32
|
+
"--color-titlebar-to": ["color", "Active title bar, right end of the gradient."],
|
|
33
|
+
"--color-titlebar-inactive-from": ["color", "Inactive title bar, left end of the gradient."],
|
|
34
|
+
"--color-titlebar-inactive-to": ["color", "Inactive title bar, right end of the gradient."],
|
|
35
|
+
"--color-titlebar-foreground": ["color", "Active title text."],
|
|
36
|
+
"--color-titlebar-inactive-foreground": ["color", "Inactive title text. Black, not Windows 98's silver: silver on the grey gradient is about 2:1 and fails 4.5:1; black is 5.3:1 on `#808080` and 11:1 on `#b5b5b5`."],
|
|
37
|
+
"--color-neutral-solid": ["color", "Neutral fill: a solid neutral badge, and anything filled in the neutral colour."],
|
|
38
|
+
"--color-neutral-solid-hover": ["color", "Neutral fill under the pointer."],
|
|
39
|
+
"--color-neutral-on-solid": ["color", "Text and icons on the neutral fill."],
|
|
40
|
+
"--color-neutral-subtle": ["color", "Neutral tint: the face of a subtle neutral badge or callout."],
|
|
41
|
+
"--color-neutral-on-subtle": ["color", "Neutral text and icons, on its tint and on the page."],
|
|
42
|
+
"--color-neutral-border": ["color", "The edge of a subtle or outlined neutral badge."],
|
|
43
|
+
"--color-primary-solid": ["color", "Primary fill — the accent: a solid primary badge, a selected item, the default action in a theme that colours it."],
|
|
44
|
+
"--color-primary-solid-hover": ["color", "Primary fill under the pointer."],
|
|
45
|
+
"--color-primary-on-solid": ["color", "Text and icons on the primary fill."],
|
|
46
|
+
"--color-primary-subtle": ["color", "Primary tint: the face of a subtle primary badge or callout."],
|
|
47
|
+
"--color-primary-on-subtle": ["color", "Primary text and icons, on its tint and on the page."],
|
|
48
|
+
"--color-primary-border": ["color", "The edge of a subtle or outlined primary badge."],
|
|
49
|
+
"--color-success-solid": ["color", "Success fill: a solid success badge, and anything filled in the success colour."],
|
|
50
|
+
"--color-success-solid-hover": ["color", "Success fill under the pointer."],
|
|
51
|
+
"--color-success-on-solid": ["color", "Text and icons on the success fill."],
|
|
52
|
+
"--color-success-subtle": ["color", "Success tint: the face of a subtle success badge or callout."],
|
|
53
|
+
"--color-success-on-subtle": ["color", "Success text and icons, on its tint and on the page."],
|
|
54
|
+
"--color-success-border": ["color", "The edge of a subtle or outlined success badge."],
|
|
55
|
+
"--color-warning-solid": ["color", "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; its edge is olive, because yellow on silver has almost no edge of its own."],
|
|
56
|
+
"--color-warning-solid-hover": ["color", "Warning fill under the pointer."],
|
|
57
|
+
"--color-warning-on-solid": ["color", "Text and icons on the warning fill."],
|
|
58
|
+
"--color-warning-subtle": ["color", "Warning tint: the face of a subtle warning badge or callout."],
|
|
59
|
+
"--color-warning-on-subtle": ["color", "Warning text and icons, on its tint and on the page."],
|
|
60
|
+
"--color-warning-border": ["color", "The edge of a subtle or outlined warning badge."],
|
|
61
|
+
"--color-danger-solid": ["color", "Danger fill: a solid danger badge, and anything filled in the danger colour."],
|
|
62
|
+
"--color-danger-solid-hover": ["color", "Danger fill under the pointer."],
|
|
63
|
+
"--color-danger-on-solid": ["color", "Text and icons on the danger fill."],
|
|
64
|
+
"--color-danger-subtle": ["color", "Danger tint: the face of a subtle danger badge or callout."],
|
|
65
|
+
"--color-danger-on-subtle": ["color", "Danger text and icons, on its tint and on the page."],
|
|
66
|
+
"--color-danger-border": ["color", "The edge of a subtle or outlined danger badge."],
|
|
67
|
+
"--color-control": ["color", "A plain button, a spin or drop button, a table's sort header."],
|
|
68
|
+
"--color-control-foreground": ["color", "Text and icons on a plain button."],
|
|
69
|
+
"--color-control-hover": ["color", "A plain button under the pointer."],
|
|
70
|
+
"--color-control-active": ["color", "A plain button while it is held."],
|
|
71
|
+
"--color-control-primary": ["color", "The default button of a form or dialog — Enter's target."],
|
|
72
|
+
"--color-control-primary-foreground": ["color", "Text and icons on the default button."],
|
|
73
|
+
"--color-control-primary-hover": ["color", "The default button under the pointer."],
|
|
74
|
+
"--color-control-primary-active": ["color", "The default button while it is held."],
|
|
75
|
+
"--color-control-ghost-hover": ["color", "A flat toolbar button while hovered and while held."],
|
|
76
|
+
"--color-control-ghost-active": ["color", "A flat toolbar button while hovered and while held."],
|
|
77
|
+
"--color-control-latched": ["color", "The face of a latched toggle, under its pattern."],
|
|
78
|
+
"--color-control-primary-latched": ["color", "A latched default button. A toggle is never the default, but if one latches it keeps its colour."],
|
|
79
|
+
"--color-checked": ["color", "The box of a checked checkbox or radio, and the mark inside it."],
|
|
80
|
+
"--color-on-checked": ["color", "The box of a checked checkbox or radio, and the mark inside it."],
|
|
81
|
+
"--color-popover": ["color", "A list that drops from a trigger: a select's options."],
|
|
82
|
+
"--color-popover-border": ["color", "A list that drops from a trigger: a select's options."],
|
|
83
|
+
"--color-focus-ring": ["color", "The ring a theme draws around a focused control, outside its edge."],
|
|
84
|
+
"--color-caption": ["color", "A window's caption buttons; one fill per button, for themes that colour them."],
|
|
85
|
+
"--color-caption-foreground": ["color", "A window's caption buttons; one fill per button, for themes that colour them."],
|
|
86
|
+
"--color-caption-close": ["color", "A window's caption buttons; one fill per button, for themes that colour them."],
|
|
87
|
+
"--color-caption-minimize": ["color", "A window's caption buttons; one fill per button, for themes that colour them."],
|
|
88
|
+
"--color-caption-maximize": ["color", "A window's caption buttons; one fill per button, for themes that colour them."],
|
|
89
|
+
"--color-caption-inactive": ["color", "A window's caption buttons; one fill per button, for themes that colour them."],
|
|
90
|
+
"--color-table-header": ["color", "A data table's column headers."],
|
|
91
|
+
"--color-table-header-foreground": ["color", "A data table's column headers."],
|
|
92
|
+
"--color-table-stripe": ["color", "Every other row of a data table. Windows 98 does not stripe."],
|
|
93
|
+
"--color-table-row-hover": ["color", "A data table row under the pointer. Windows 98 does not highlight it."],
|
|
94
|
+
"--color-track": ["color", "The channel a progress bar or a scroll thumb runs in, and what fills it."],
|
|
95
|
+
"--color-progress": ["color", "The channel a progress bar or a scroll thumb runs in, and what fills it."],
|
|
96
|
+
"--color-scroll-thumb": ["color", "The channel a progress bar or a scroll thumb runs in, and what fills it."],
|
|
97
|
+
"--color-scroll-track": ["color", "The channel a scroll bar's thumb runs in, under its pattern."],
|
|
98
|
+
"--color-tooltip-border": ["color", "The frame of a tooltip."],
|
|
99
|
+
"--color-groupbox": ["color", "The inside of a group box's frame, and the face around it — behind the legend and the frame's edge. Both the window's silver in Windows 98."],
|
|
100
|
+
"--color-groupbox-face": ["color", "The inside of a group box's frame, and the face around it — behind the legend and the frame's edge. Both the window's silver in Windows 98."],
|
|
101
|
+
"--color-toast-close": ["color", "A toast's ✕: the caption button's silver in Windows 98, a soft grey disc elsewhere."],
|
|
102
|
+
"--color-toast-close-foreground": ["color", "A toast's ✕: the caption button's silver in Windows 98, a soft grey disc elsewhere."],
|
|
103
|
+
"--color-loading-foreground": ["color", "«Loading…» in a dropped list: plain text in Windows 98, the subtle grey elsewhere."],
|
|
104
|
+
"--color-select-search": ["color", "The strip that holds a searchable list's search box: the window face in Windows 98, nothing elsewhere."],
|
|
105
|
+
"--color-pager": ["color", "A pager's buttons: raised command buttons in Windows 98, flat elsewhere."],
|
|
106
|
+
"--color-pager-hover": ["color", "A pager's buttons: raised command buttons in Windows 98, flat elsewhere."],
|
|
107
|
+
"--color-pager-active": ["color", "A pager's buttons: raised command buttons in Windows 98, flat elsewhere."],
|
|
108
|
+
"--color-filter-bar": ["color", "The strip a filter bar sits on."],
|
|
109
|
+
"--color-chip": ["color", "A filter chip: its face, its edge and its text."],
|
|
110
|
+
"--color-chip-border": ["color", "A filter chip: its face, its edge and its text."],
|
|
111
|
+
"--color-chip-foreground": ["color", "A filter chip: its face, its edge and its text."],
|
|
112
|
+
"--color-chip-remove": ["color", "The face of a chip's ✕ at rest: the chip's own white in Windows 98."],
|
|
113
|
+
"--color-field-highlight": ["color", "The value of a read-only field that holds focus — a drop-down list's — highlighted the way Windows 98 marks it, and the text on it."],
|
|
114
|
+
"--color-on-field-highlight": ["color", "The value of a read-only field that holds focus — a drop-down list's — highlighted the way Windows 98 marks it, and the text on it."],
|
|
115
|
+
"--color-field-caret": ["color", "The text caret in a field."],
|
|
116
|
+
"--color-field-button": ["color", "The buttons inside a field: a select's drop button, a number's spin buttons."],
|
|
117
|
+
"--rk-shadow-none": ["shadow", "No bevel."],
|
|
118
|
+
"--rk-shadow-raised": ["shadow", "Buttons and raised panels."],
|
|
119
|
+
"--rk-shadow-window": ["shadow", "A window's frame: like `raised`, with the bright white on the inner edge."],
|
|
120
|
+
"--rk-shadow-raised-default": ["shadow", "The default button of a dialog: a 1px black frame around a raised bevel, so Enter's target is visible before anyone presses it."],
|
|
121
|
+
"--rk-shadow-pressed": ["shadow", "A button held down, or a toggle that is on."],
|
|
122
|
+
"--rk-shadow-sunken": ["shadow", "Text fields, lists and table bodies: the white well a value sits in."],
|
|
123
|
+
"--rk-shadow-status": ["shadow", "A thin sunken edge: status-bar sections, counters, Badge."],
|
|
124
|
+
"--rk-shadow-etched": ["shadow", "An etched groove: group boxes and separators."],
|
|
125
|
+
"--rk-shadow-raised-thin": ["shadow", "A thin raised edge: a flat toolbar button while hovered."],
|
|
126
|
+
"--rk-shadow-popover": ["shadow", "A list dropped from a trigger. Windows 98 frames it with a border, not a shadow."],
|
|
127
|
+
"--rk-shadow-table": ["shadow", "A data table's frame: the sunken well its rows sit in."],
|
|
128
|
+
"--rk-shadow-header": ["shadow", "A data table's column header: a raised button."],
|
|
129
|
+
"--rk-shadow-caption": ["shadow", "A window's caption button."],
|
|
130
|
+
"--rk-shadow-statusbar": ["shadow", "The strip of a status bar, behind its sections."],
|
|
131
|
+
"--rk-shadow-titlebar": ["shadow", "The edge between a title bar and the window under it."],
|
|
132
|
+
"--rk-shadow-checked": ["shadow", "A checked check box: the same sunken well as an unchecked one, in Windows 98."],
|
|
133
|
+
"--rk-shadow-field-button-pressed": ["shadow", "A button inside a field while held, or while its list is open: pressed in, in Windows 98."],
|
|
134
|
+
"--rk-shadow-latched-ghost": ["shadow", "A flat toolbar button that is latched on: pressed in, in Windows 98."],
|
|
135
|
+
"--rk-shadow-checked-selected": ["shadow", "A checked check box in a selected table row: its usual well, in Windows 98."],
|
|
136
|
+
"--rk-shadow-toast-close": ["shadow", "A toast's ✕: a caption button, raised, in Windows 98."],
|
|
137
|
+
"--rk-shadow-pager": ["shadow", "A pager's buttons: a raised command button, its focused frame, and pressed in while held or while it is the current page. Flat in a theme that draws the pager as a row of plain numbers."],
|
|
138
|
+
"--rk-shadow-pager-focus": ["shadow", "A pager's buttons: a raised command button, its focused frame, and pressed in while held or while it is the current page. Flat in a theme that draws the pager as a row of plain numbers."],
|
|
139
|
+
"--rk-shadow-pager-pressed": ["shadow", "A pager's buttons: a raised command button, its focused frame, and pressed in while held or while it is the current page. Flat in a theme that draws the pager as a row of plain numbers."],
|
|
140
|
+
"--rk-shadow-field-button": ["shadow", "A button inside a field: raised, in Windows 98."],
|
|
141
|
+
"--rk-shadow-scroll-thumb": ["shadow", "A scroll bar's thumb."],
|
|
142
|
+
"--rk-shadow-scroll-x": ["shadow", "The edge of a sticky table column while rows scroll under it."],
|
|
143
|
+
"--rk-shadow-sticky-header": ["shadow", "The rule under a sticky table header, drawn as a shadow rather than a border."],
|
|
144
|
+
"--spacing-control-xs": ["size", "Control heights: buttons, fields, selects. Also the side of a square icon button's row."],
|
|
145
|
+
"--spacing-control-sm": ["size", "Control heights: buttons, fields, selects. Also the side of a square icon button's row."],
|
|
146
|
+
"--spacing-control-md": ["size", "Control heights: buttons, fields, selects. Also the side of a square icon button's row."],
|
|
147
|
+
"--spacing-control-lg": ["size", "Control heights: buttons, fields, selects. Also the side of a square icon button's row."],
|
|
148
|
+
"--spacing-icon-xs": ["size", "Square icon buttons. A touch wider than the row they sit in, as Windows 98 drew them."],
|
|
149
|
+
"--spacing-icon-sm": ["size", "Square icon buttons. A touch wider than the row they sit in, as Windows 98 drew them."],
|
|
150
|
+
"--spacing-icon-md": ["size", "Square icon buttons. A touch wider than the row they sit in, as Windows 98 drew them."],
|
|
151
|
+
"--spacing-icon-lg": ["size", "Square icon buttons. A touch wider than the row they sit in, as Windows 98 drew them."],
|
|
152
|
+
"--spacing-button-min-xs": ["size", "A button's minimum width, so a short label still makes a button worth aiming at."],
|
|
153
|
+
"--spacing-button-min-sm": ["size", "A button's minimum width, so a short label still makes a button worth aiming at."],
|
|
154
|
+
"--spacing-button-min-md": ["size", "A button's minimum width, so a short label still makes a button worth aiming at."],
|
|
155
|
+
"--spacing-button-min-lg": ["size", "A button's minimum width, so a short label still makes a button worth aiming at."],
|
|
156
|
+
"--spacing-button-px-xs": ["size", "A button's side padding."],
|
|
157
|
+
"--spacing-button-px-sm": ["size", "A button's side padding."],
|
|
158
|
+
"--spacing-button-px-md": ["size", "A button's side padding."],
|
|
159
|
+
"--spacing-button-px-lg": ["size", "A button's side padding."],
|
|
160
|
+
"--spacing-field-px": ["size", "A field's side padding, inside its edge."],
|
|
161
|
+
"--spacing-field-px-lg": ["size", "A field's side padding, inside its edge."],
|
|
162
|
+
"--spacing-field-gap-sm": ["size", "A field's spacing: between label, control and message at each size, between a label and the control beside it, and between the error icon and its text."],
|
|
163
|
+
"--spacing-field-gap-md": ["size", "A field's spacing: between label, control and message at each size, between a label and the control beside it, and between the error icon and its text."],
|
|
164
|
+
"--spacing-field-gap-lg": ["size", "A field's spacing: between label, control and message at each size, between a label and the control beside it, and between the error icon and its text."],
|
|
165
|
+
"--spacing-field-left-gap": ["size", "A field's spacing: between label, control and message at each size, between a label and the control beside it, and between the error icon and its text."],
|
|
166
|
+
"--spacing-field-error-gap": ["size", "A field's spacing: between label, control and message at each size, between a label and the control beside it, and between the error icon and its text."],
|
|
167
|
+
"--spacing-check": ["size", "The side of a checkbox's box, and of an option button."],
|
|
168
|
+
"--spacing-radio": ["size", "The side of a checkbox's box, and of an option button."],
|
|
169
|
+
"--spacing-check-gap": ["size", "Between a check box or option button and its label, and the label's own inset (where the dotted ring sits)."],
|
|
170
|
+
"--spacing-check-label-px": ["size", "Between a check box or option button and its label, and the label's own inset (where the dotted ring sits)."],
|
|
171
|
+
"--spacing-titlebar": ["size", "A window's or a dialog's title bar."],
|
|
172
|
+
"--spacing-caption-w": ["size", "A caption button: minimise, maximise, close."],
|
|
173
|
+
"--spacing-caption-h": ["size", "A caption button: minimise, maximise, close."],
|
|
174
|
+
"--spacing-caption-gap": ["size", "The gap between caption buttons, and the extra space before the close button."],
|
|
175
|
+
"--spacing-caption-close-gap": ["size", "The gap between caption buttons, and the extra space before the close button."],
|
|
176
|
+
"--spacing-titlebar-px": ["size", "A title bar's side padding."],
|
|
177
|
+
"--spacing-title-inset-start": ["size", "Where a dialog's title starts and ends in its title bar, clear of the close button. Equal values centre it."],
|
|
178
|
+
"--spacing-title-inset-end": ["size", "Where a dialog's title starts and ends in its title bar, clear of the close button. Equal values centre it."],
|
|
179
|
+
"--spacing-frame": ["size", "The frame between a window's edge and its content: the width of the bevel. A theme whose windows have no bevel sets it to zero."],
|
|
180
|
+
"--spacing-dialog-px": ["size", "A dialog's insets: the side padding of its header, body and footer, the room above the first line, and above and below the footer's buttons."],
|
|
181
|
+
"--spacing-dialog-pt": ["size", "A dialog's insets: the side padding of its header, body and footer, the room above the first line, and above and below the footer's buttons."],
|
|
182
|
+
"--spacing-dialog-footer-pt": ["size", "A dialog's insets: the side padding of its header, body and footer, the room above the first line, and above and below the footer's buttons."],
|
|
183
|
+
"--spacing-dialog-footer-pb": ["size", "A dialog's insets: the side padding of its header, body and footer, the room above the first line, and above and below the footer's buttons."],
|
|
184
|
+
"--spacing-item": ["size", "One option in a list: a select's, a menu's."],
|
|
185
|
+
"--spacing-item-pl": ["size", "An option's padding either side, the column its check mark sits in, the gap after it, and the mark."],
|
|
186
|
+
"--spacing-item-pr": ["size", "An option's padding either side, the column its check mark sits in, the gap after it, and the mark."],
|
|
187
|
+
"--spacing-item-check": ["size", "An option's padding either side, the column its check mark sits in, the gap after it, and the mark."],
|
|
188
|
+
"--spacing-item-gap": ["size", "An option's padding either side, the column its check mark sits in, the gap after it, and the mark."],
|
|
189
|
+
"--spacing-item-check-glyph": ["size", "An option's padding either side, the column its check mark sits in, the gap after it, and the mark."],
|
|
190
|
+
"--spacing-popover-inset": ["size", "The inset around a dropped list's options, inside its border: 1px in Windows 98, as Figma draws it."],
|
|
191
|
+
"--spacing-table-header-px": ["size", "A data table's side padding: a header cell's, around the 1px its label's focus ring takes, and a body cell's."],
|
|
192
|
+
"--spacing-table-cell-px": ["size", "A data table's side padding: a header cell's, around the 1px its label's focus ring takes, and a body cell's."],
|
|
193
|
+
"--spacing-row-sm": ["size", "Data table rows, and the header that matches them."],
|
|
194
|
+
"--spacing-row-md": ["size", "Data table rows, and the header that matches them."],
|
|
195
|
+
"--spacing-select-arrow": ["size", "A select's drop arrows, and how far the down arrow tucks under an up arrow above it."],
|
|
196
|
+
"--spacing-select-arrow-overlap": ["size", "A select's drop arrows, and how far the down arrow tucks under an up arrow above it."],
|
|
197
|
+
"--spacing-select-message-px": ["size", "«Loading…» and «No results found» in a dropped list: padding, and the gap after the busy glyph."],
|
|
198
|
+
"--spacing-select-message-py": ["size", "«Loading…» and «No results found» in a dropped list: padding, and the gap after the busy glyph."],
|
|
199
|
+
"--spacing-select-message-gap": ["size", "«Loading…» and «No results found» in a dropped list: padding, and the gap after the busy glyph."],
|
|
200
|
+
"--spacing-select-search-p": ["size", "The strip around a searchable list's search box, and the space under it."],
|
|
201
|
+
"--spacing-select-search-gap": ["size", "The strip around a searchable list's search box, and the space under it."],
|
|
202
|
+
"--spacing-field-button-h-sm": ["size", "The buttons inside a number, date or select field: their height at each size, centred in the field as Figma draws them; how far they sit from the field's right edge; and the date field's glyph. A select's arrows sit `select-pr` in."],
|
|
203
|
+
"--spacing-field-button-h": ["size", "The buttons inside a number, date or select field: their height at each size, centred in the field as Figma draws them; how far they sit from the field's right edge; and the date field's glyph. A select's arrows sit `select-pr` in."],
|
|
204
|
+
"--spacing-field-button-h-lg": ["size", "The buttons inside a number, date or select field: their height at each size, centred in the field as Figma draws them; how far they sit from the field's right edge; and the date field's glyph. A select's arrows sit `select-pr` in."],
|
|
205
|
+
"--spacing-field-button-pr": ["size", "The buttons inside a number, date or select field: their height at each size, centred in the field as Figma draws them; how far they sit from the field's right edge; and the date field's glyph. A select's arrows sit `select-pr` in."],
|
|
206
|
+
"--spacing-field-drop-icon": ["size", "The buttons inside a number, date or select field: their height at each size, centred in the field as Figma draws them; how far they sit from the field's right edge; and the date field's glyph. A select's arrows sit `select-pr` in."],
|
|
207
|
+
"--spacing-select-pr": ["size", "The buttons inside a number, date or select field: their height at each size, centred in the field as Figma draws them; how far they sit from the field's right edge; and the date field's glyph. A select's arrows sit `select-pr` in."],
|
|
208
|
+
"--spacing-filter-bar-p": ["size", "A filter bar's padding and the space between its items."],
|
|
209
|
+
"--spacing-filter-bar-gap": ["size", "A filter bar's padding and the space between its items."],
|
|
210
|
+
"--spacing-chip-px": ["size", "A filter chip's side padding, and its right padding beside the ✕."],
|
|
211
|
+
"--spacing-chip-pr-remove": ["size", "A filter chip's side padding, and its right padding beside the ✕."],
|
|
212
|
+
"--spacing-toast-py": ["size", "A toast's padding, the gap between its icon, text and ✕, and between its lines."],
|
|
213
|
+
"--spacing-toast-pl": ["size", "A toast's padding, the gap between its icon, text and ✕, and between its lines."],
|
|
214
|
+
"--spacing-toast-pr": ["size", "A toast's padding, the gap between its icon, text and ✕, and between its lines."],
|
|
215
|
+
"--spacing-toast-gap": ["size", "A toast's padding, the gap between its icon, text and ✕, and between its lines."],
|
|
216
|
+
"--spacing-toast-body-gap": ["size", "A toast's padding, the gap between its icon, text and ✕, and between its lines."],
|
|
217
|
+
"--spacing-toast-icon": ["size", "A toast's status icon, and its ✕."],
|
|
218
|
+
"--spacing-toast-close-w": ["size", "A toast's status icon, and its ✕."],
|
|
219
|
+
"--spacing-toast-close-h": ["size", "A toast's status icon, and its ✕."],
|
|
220
|
+
"--spacing-pager-px": ["size", "A page number's side padding."],
|
|
221
|
+
"--spacing-pager-arrow": ["size", "A pager's arrows, the inset of the dotted focus ring round a page label, and how narrow a small page button may get (Windows 98 lets it hug its number; a theme can keep it square)."],
|
|
222
|
+
"--spacing-pager-focus-px": ["size", "A pager's arrows, the inset of the dotted focus ring round a page label, and how narrow a small page button may get (Windows 98 lets it hug its number; a theme can keep it square)."],
|
|
223
|
+
"--spacing-pager-min-sm": ["size", "A pager's arrows, the inset of the dotted focus ring round a page label, and how narrow a small page button may get (Windows 98 lets it hug its number; a theme can keep it square)."],
|
|
224
|
+
"--spacing-chip-sm": ["size", "A filter chip."],
|
|
225
|
+
"--spacing-chip-md": ["size", "A filter chip."],
|
|
226
|
+
"--spacing-badge-px-sm": ["size", "A badge's side padding."],
|
|
227
|
+
"--spacing-badge-px-md": ["size", "A badge's side padding."],
|
|
228
|
+
"--spacing-badge-dot": ["size", "The side of a badge's status dot."],
|
|
229
|
+
"--spacing-empty-p-sm": ["size", "An empty view's padding at each size, and the gap between its icon and its text at `md` and `lg`."],
|
|
230
|
+
"--spacing-empty-p-md": ["size", "An empty view's padding at each size, and the gap between its icon and its text at `md` and `lg`."],
|
|
231
|
+
"--spacing-empty-p-lg": ["size", "An empty view's padding at each size, and the gap between its icon and its text at `md` and `lg`."],
|
|
232
|
+
"--spacing-empty-gap": ["size", "An empty view's padding at each size, and the gap between its icon and its text at `md` and `lg`."],
|
|
233
|
+
"--spacing-tooltip-px": ["size", "A tooltip's padding."],
|
|
234
|
+
"--spacing-tooltip-py": ["size", "A tooltip's padding."],
|
|
235
|
+
"--spacing-statusbar": ["size", "A status bar."],
|
|
236
|
+
"--spacing-statusbar-px": ["size", "A status bar's padding and the space between its sections; a section's side padding and the space inside it."],
|
|
237
|
+
"--spacing-statusbar-py": ["size", "A status bar's padding and the space between its sections; a section's side padding and the space inside it."],
|
|
238
|
+
"--spacing-statusbar-gap": ["size", "A status bar's padding and the space between its sections; a section's side padding and the space inside it."],
|
|
239
|
+
"--spacing-statusbar-section-px": ["size", "A status bar's padding and the space between its sections; a section's side padding and the space inside it."],
|
|
240
|
+
"--spacing-statusbar-section-gap": ["size", "A status bar's padding and the space between its sections; a section's side padding and the space inside it."],
|
|
241
|
+
"--spacing-progress": ["size", "A progress bar: its height, the inset around the fill, and the fill."],
|
|
242
|
+
"--spacing-progress-inset": ["size", "A progress bar: its height, the inset around the fill, and the fill."],
|
|
243
|
+
"--spacing-progress-fill": ["size", "A progress bar: its height, the inset around the fill, and the fill."],
|
|
244
|
+
"--spacing-progress-block": ["size", "One block of the fill, and the block plus the gap after it. Equal values draw a solid bar."],
|
|
245
|
+
"--spacing-progress-period": ["size", "One block of the fill, and the block plus the gap after it. Equal values draw a solid bar."],
|
|
246
|
+
"--spacing-progress-segment": ["size", "The segment an indeterminate bar moves along the track: four blocks in Windows 98."],
|
|
247
|
+
"--spacing-scrollbar": ["size", "A scroll bar's thickness, and the side of its arrow buttons (zero hides them)."],
|
|
248
|
+
"--spacing-scroll-button": ["size", "A scroll bar's thickness, and the side of its arrow buttons (zero hides them)."],
|
|
249
|
+
"--spacing-scroll-inset": ["size", "The space between the thumb and the edge of its track."],
|
|
250
|
+
"--spacing-groupbox-top": ["size", "A group box: where its frame starts, the room above its content, and its legend's offset."],
|
|
251
|
+
"--spacing-groupbox-pt": ["size", "A group box: where its frame starts, the room above its content, and its legend's offset."],
|
|
252
|
+
"--spacing-groupbox-legend-x": ["size", "A group box: where its frame starts, the room above its content, and its legend's offset."],
|
|
253
|
+
"--spacing-groupbox-legend-px": ["size", "A group box: where its frame starts, the room above its content, and its legend's offset."],
|
|
254
|
+
"--radius-none": ["radius", "Always square, whatever `--radius` is: table cells, anything that tiles."],
|
|
255
|
+
"--radius-xs": ["radius", "Checkboxes and tags inside a cell."],
|
|
256
|
+
"--radius-sm": ["radius", "Badges and small controls."],
|
|
257
|
+
"--radius-md": ["radius", "Buttons, inputs and panels."],
|
|
258
|
+
"--radius-lg": ["radius", "Windows, dialogs and popovers."],
|
|
259
|
+
"--radius-xl": ["radius", "Large empty-state panels."],
|
|
260
|
+
"--radius-full": ["radius", "Circle. The only rounded shape Windows 98 draws: radio buttons, and a round skeleton."],
|
|
261
|
+
"--radius-pill": ["radius", "A capsule, where the theme draws one: a chip, a progress bar, a caption button. Square in Windows 98, whatever `--radius` is."],
|
|
262
|
+
"--rk-focus-label-width": ["style", "The ring drawn around a control's label, inside it. Windows 98's dotted rectangle."],
|
|
263
|
+
"--rk-focus-ring-width": ["style", "The ring drawn on the focused element itself — a row, a scrolling region, a toast."],
|
|
264
|
+
"--rk-focus-ring-style": ["style", "The ring drawn on the focused element itself — a row, a scrolling region, a toast."],
|
|
265
|
+
"--rk-focus-outer-width": ["style", "The ring drawn around a control's edge, outside it. Windows 98 has none."],
|
|
266
|
+
"--rk-focus-outer-offset": ["style", "The ring drawn around a control's edge, outside it. Windows 98 has none."],
|
|
267
|
+
"--rk-press-shift": ["style", "How far a held button's label moves down and right."],
|
|
268
|
+
"--rk-press-brightness": ["style", "A brightness filter on a held caption button. `1` leaves it alone."],
|
|
269
|
+
"--rk-dither-image": ["style", "The pattern over a latched toggle and a scroll track."],
|
|
270
|
+
"--rk-loading-image": ["style", "The pattern of a loading placeholder, and how it moves."],
|
|
271
|
+
"--rk-animate-loading": ["style", "The pattern of a loading placeholder, and how it moves."],
|
|
272
|
+
"--rk-animate-busy": ["style", "The busy mark in a loading button: Windows 98's hourglass stands still; a theme with a spinner glyph turns it."],
|
|
273
|
+
"--rk-animate-progress": ["style", "An indeterminate progress bar's segment travelling across the track. Windows 98 moves its four blocks one block every 100ms and starts again at the left; `ProgressBar` sets `--rk-progress-steps` to the number of steps that fit the track it measures."],
|
|
274
|
+
"--rk-duration-control": ["style", "How long a control takes to change state. Windows 98 changes instantly."],
|
|
275
|
+
"--rk-animate-overlay-in": ["style", "How a dialog, a list or a toast arrives."],
|
|
276
|
+
"--rk-etch-width": ["style", "The light second line of an etched separator. Zero leaves a single line."],
|
|
277
|
+
"--rk-caption-order": ["style", "Where the caption buttons sit in the title bar: `0` after the title, `-1` before it."],
|
|
278
|
+
"--rk-close-order": ["style", "Where the close button sits among them: `0` last, `-1` first."],
|
|
279
|
+
"--rk-titlebar-icon": ["style", "Whether a window shows its icon in the title bar: `flex`, or `none`."],
|
|
280
|
+
"--rk-titlebar-align": ["style", "Where the title sits: `start`, or `center`."],
|
|
281
|
+
"--rk-titlebar-balance": ["style", "Space kept clear opposite the caption buttons, so a centred title is centred on the bar."],
|
|
282
|
+
"--rk-caption-glyph-opacity": ["style", "The opacity of a caption button's glyph at rest; hovering the title bar shows it."],
|
|
283
|
+
"--rk-legend-weight": ["style", "The weight of a group box's legend."],
|
|
284
|
+
"--rk-link-decoration": ["style", "The line under a link-styled button: `underline`, or `none`."],
|
|
285
|
+
"--rk-invalid-width": ["style", "The red frame inside an invalid field. Windows 98 marks it with the error icon only."],
|
|
286
|
+
"--rk-field-error-align": ["style", "Where a field's error icon sits beside a message that wraps: `center`, or `start`."],
|
|
287
|
+
"--rk-select-up": ["style", "Whether a select's drop button shows an up arrow over its down arrow: `block`, or `none`."],
|
|
288
|
+
"--rk-footer-direction": ["style", "The order of a dialog footer's buttons, written primary first: `row` keeps it, as Windows 98 does; `row-reverse` puts the primary button last."],
|
|
289
|
+
"--rk-empty-direction": ["style", "How an empty view lays out its icon and text: `row` puts the icon beside the text, `column` above it; `start` or `center` aligns the text."],
|
|
290
|
+
"--rk-empty-align": ["style", "How an empty view lays out its icon and text: `row` puts the icon beside the text, `column` above it; `start` or `center` aligns the text."],
|
|
291
|
+
"--rk-overlay-bg": ["style", "What a modal dialog lays over the page behind it."],
|
|
292
|
+
"--rk-popover-backdrop": ["style", "A backdrop filter behind a dropped list."],
|
|
293
|
+
"--rk-popover-border-width": ["style", "A dropped list's border. Windows 98 draws a black line; a theme that rings the list in its shadow (`--rk-shadow-popover`) sets it to zero."],
|
|
294
|
+
"--rk-scrollbar-buttons": ["style", "Whether a scroll bar has arrow buttons: `block`, or `none`."],
|
|
295
|
+
"--rk-glyph-scale": ["style", "A multiplier on small glyphs — a check mark, a caption glyph — for a theme whose glyphs are not pixel art."],
|
|
296
|
+
"--rk-radio-fill": ["style", "An option button drawn by CSS rather than by its pixels: how much of the well and the dot to paint (`0%` paints neither), the dot's radius and the edge's width."],
|
|
297
|
+
"--rk-radio-dot-r": ["style", "An option button drawn by CSS rather than by its pixels: how much of the well and the dot to paint (`0%` paints neither), the dot's radius and the edge's width."],
|
|
298
|
+
"--rk-radio-edge": ["style", "An option button drawn by CSS rather than by its pixels: how much of the well and the dot to paint (`0%` paints neither), the dot's radius and the edge's width."],
|
|
299
|
+
"--rk-icon-pixels": ["style", "`display` of a pixel icon's pixels."],
|
|
300
|
+
"--rk-icon-glyphs": ["style", "Whether the glyphs mask the icons at all. `initial` makes every glyph mask invalid, so a Windows 98 icon has no mask and nothing of it is clipped; an empty value lets them through. It is prepended to each mask image."],
|
|
301
|
+
"--rk-icon-fill": ["style", "The fill a theme's own glyph is painted in; transparent draws nothing."],
|
|
302
|
+
"--rk-icon-tone-danger": ["style", "The fills of the glyphs that keep a colour: status icons and folders. Transparent in Windows 98, whose pixel icons carry their own colours."],
|
|
303
|
+
"--rk-icon-tone-warning": ["style", "The fills of the glyphs that keep a colour: status icons and folders. Transparent in Windows 98, whose pixel icons carry their own colours."],
|
|
304
|
+
"--rk-icon-tone-info": ["style", "The fills of the glyphs that keep a colour: status icons and folders. Transparent in Windows 98, whose pixel icons carry their own colours."],
|
|
305
|
+
"--rk-icon-tone-success": ["style", "The fills of the glyphs that keep a colour: status icons and folders. Transparent in Windows 98, whose pixel icons carry their own colours."],
|
|
306
|
+
"--rk-icon-tone-folder": ["style", "The fills of the glyphs that keep a colour: status icons and folders. Transparent in Windows 98, whose pixel icons carry their own colours."],
|
|
307
|
+
"--font-sans": ["font", "UI and body text."],
|
|
308
|
+
"--font-mono": ["font", "Code, IDs and numbers that must align in a column."],
|
|
309
|
+
"--text-ui": ["font", "13/16 — every control, label, menu and table cell. Bold for titles and the default button."],
|
|
310
|
+
"--text-heading": ["font", "16/20, bold — the heading of an empty state or a group."],
|
|
311
|
+
"--text-mono": ["font", "16/16 — the fixed-width face beside interface text. VT323's x-height is 0.4em to PT Sans's 0.5em, so 16px VT323 stands exactly as tall as 13px PT Sans."],
|
|
312
|
+
"--text-doc": ["font", "16/26 — documentation paragraphs, about seventy characters to a line."],
|
|
313
|
+
"--text-doc-mono": ["font", "20/20 — code beside documentation text: as tall as 16px PT Sans, for the same reason as `mono`."],
|
|
314
|
+
"--text-doc-h1": ["font", "26/30, bold — a documentation page title."],
|
|
315
|
+
"--text-doc-h2": ["font", "19/24, bold — a documentation section."],
|
|
316
|
+
"--text-doc-h3": ["font", "15/20, bold — a documentation subsection."],
|
|
317
|
+
"--font-weight-normal": ["font", "Body text."],
|
|
318
|
+
"--font-weight-bold": ["font", "Window titles, headings, the default button."],
|
|
319
|
+
"--font-weight-strong": ["font", "The weight a theme gives emphasis: titles, headings, a table's totals. Components use this rather than `bold`, so a theme can make emphasis semibold without changing what `font-bold` means in the app around it."]
|
|
320
|
+
}, i = [
|
|
321
|
+
["toast", ["Toast"]],
|
|
322
|
+
["chip", ["FilterBar"]],
|
|
323
|
+
["filter-bar", ["FilterBar"]],
|
|
324
|
+
["pager", ["Pagination"]],
|
|
325
|
+
["select", ["Select"]],
|
|
326
|
+
["popover", ["Select"]],
|
|
327
|
+
["item", ["Select"]],
|
|
328
|
+
["loading", ["Select"]],
|
|
329
|
+
["field", [
|
|
330
|
+
"Input",
|
|
331
|
+
"Select",
|
|
332
|
+
"Field"
|
|
333
|
+
]],
|
|
334
|
+
["button", ["Button"]],
|
|
335
|
+
["icon", ["Button"]],
|
|
336
|
+
["control", ["Button"]],
|
|
337
|
+
["latched", ["Button", "ButtonGroup"]],
|
|
338
|
+
["check", ["Checkbox", "Radio"]],
|
|
339
|
+
["checked", ["Checkbox", "Radio"]],
|
|
340
|
+
["on-checked", ["Checkbox", "Radio"]],
|
|
341
|
+
["radio", ["Radio"]],
|
|
342
|
+
["caption", ["Window", "Dialog"]],
|
|
343
|
+
["titlebar", ["Window", "Dialog"]],
|
|
344
|
+
["title", ["Window", "Dialog"]],
|
|
345
|
+
["frame", ["Window", "Dialog"]],
|
|
346
|
+
["window", ["Window", "Dialog"]],
|
|
347
|
+
["dialog", ["Dialog"]],
|
|
348
|
+
["overlay", ["Dialog"]],
|
|
349
|
+
["footer", ["Dialog"]],
|
|
350
|
+
["table", ["DataTable"]],
|
|
351
|
+
["row", ["DataTable"]],
|
|
352
|
+
["badge", ["Badge"]],
|
|
353
|
+
["empty", ["EmptyState"]],
|
|
354
|
+
["tooltip", ["Tooltip"]],
|
|
355
|
+
["statusbar", ["StatusBar"]],
|
|
356
|
+
["status", ["StatusBar"]],
|
|
357
|
+
["progress", ["ProgressBar"]],
|
|
358
|
+
["track", ["ProgressBar", "ScrollArea"]],
|
|
359
|
+
["scroll", ["ScrollArea"]],
|
|
360
|
+
["scrollbar", ["ScrollArea"]],
|
|
361
|
+
["groupbox", ["GroupBox"]],
|
|
362
|
+
["legend", ["GroupBox"]],
|
|
363
|
+
["skeleton", ["Skeleton"]],
|
|
364
|
+
["etch", ["Separator", "GroupBox"]],
|
|
365
|
+
["link", ["Button"]],
|
|
366
|
+
["press", ["Button"]],
|
|
367
|
+
["animate-busy", ["Button"]],
|
|
368
|
+
["dither", ["ButtonGroup", "ScrollArea"]],
|
|
369
|
+
["loading-image", ["Skeleton"]],
|
|
370
|
+
["animate-loading", ["Skeleton"]],
|
|
371
|
+
["animate-progress", ["ProgressBar"]],
|
|
372
|
+
["animate-overlay", ["Dialog"]],
|
|
373
|
+
["close-order", ["Window", "Dialog"]],
|
|
374
|
+
["header", ["DataTable"]],
|
|
375
|
+
["sticky-header", ["DataTable"]],
|
|
376
|
+
["invalid", ["Input", "Select"]],
|
|
377
|
+
["icon-tone", []],
|
|
378
|
+
["icon-pixels", []],
|
|
379
|
+
["icon-glyphs", []],
|
|
380
|
+
["icon-fill", []]
|
|
381
|
+
], a = /^--(?:color-|rk-shadow-|spacing-|radius-|rk-|font-weight-|font-|text-)/;
|
|
382
|
+
function o(e) {
|
|
383
|
+
let t = e.replace(a, ""), n = i.filter(([e]) => t === e || t.startsWith(`${e}-`)).sort((e, t) => t[0].length - e[0].length)[0];
|
|
384
|
+
return n ? n[1] : [];
|
|
385
|
+
}
|
|
386
|
+
var s = Object.entries(t).map(([t, i]) => {
|
|
387
|
+
let a = /^(--text-.+)--line-height$/.exec(t)?.[1], [s, c] = a ? ["font", `The line height of ${a}.`] : r[t] ?? ["", ""], l = n[t] ?? i;
|
|
388
|
+
return {
|
|
389
|
+
name: t,
|
|
390
|
+
group: s,
|
|
391
|
+
description: c,
|
|
392
|
+
components: o(t),
|
|
393
|
+
values: {
|
|
394
|
+
win98: i,
|
|
395
|
+
modernLight: l,
|
|
396
|
+
modernDark: e[t] ?? l
|
|
397
|
+
}
|
|
398
|
+
};
|
|
399
|
+
});
|
|
400
|
+
//#endregion
|
|
401
|
+
export { s as tokenReference };
|
|
402
|
+
|
|
403
|
+
//# sourceMappingURL=reference.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reference.js","names":[],"sources":["../src/reference.data.ts","../src/reference.ts"],"sourcesContent":["// Generated by scripts/generate-reference.mjs from the JSDoc beside each value. Do not edit.\n\n/** Each token a theme may set: its group and what it is for. */\nexport const tokenDescriptions: Record<string, readonly [group: string, description: string]> = {\n '--color-background': ['color', 'The face of a window: the page behind the content.'],\n '--color-desktop': ['color', 'The desktop a window sits on. Docs and demo backdrops.'],\n '--color-card': [\n 'color',\n 'Panels and dialogs. Same face as the window; the bevel separates them.',\n ],\n '--color-muted': ['color', 'Toolbars and table headers.'],\n '--color-accent': [\n 'color',\n 'Row hover. Windows 98 has none — the token is here to be repointed.',\n ],\n '--color-surface-active': [\n 'color',\n 'A pressed row or toggle. The pressed bevel carries the state, not the fill.',\n ],\n '--color-surface-selected': [\n 'color',\n 'A selected row or list item: navy, with `on-selected` text.',\n ],\n '--color-surface-disabled': [\n 'color',\n 'A disabled control keeps the face colour; its text goes grey and embossed.',\n ],\n '--color-skeleton': ['color', 'Loading placeholder fill.'],\n '--color-input': [\n 'color',\n 'The inside of a text field, list or table body: white inside a sunken bevel.',\n ],\n '--color-tooltip-bg': ['color', 'Tooltip bubble.'],\n '--color-foreground': ['color', 'Body and heading text.'],\n '--color-muted-foreground': [\n 'color',\n 'Secondary text. Black, like body text: Windows 98 never greys out text that can still be read and acted on — grey means disabled.',\n ],\n '--color-text-subtle': ['color', 'Placeholders and de-emphasised metadata.'],\n '--color-text-disabled': [\n 'color',\n \"Disabled text, always drawn with {@link semanticColor ['text-disabled-emboss']} under it.\",\n ],\n '--color-text-disabled-emboss': [\n 'color',\n 'The white copy, one pixel right and down, that embosses disabled text.',\n ],\n '--color-on-selected': ['color', 'Text on a selected row.'],\n '--color-link': ['color', 'Hyperlinks.'],\n '--color-border': [\n 'color',\n 'Separators and the frame of a group. Decorative, below 3:1 on purpose.',\n ],\n '--color-border-strong': [\n 'color',\n 'A frame that has to read as an edge: the outline of a default button.',\n ],\n '--color-border-subtle': ['color', 'The faintest rule, inside a dense group.'],\n '--color-ring': [\n 'color',\n 'Focus. Drawn as a 1px dotted ring inside the control, around its label. Black, so it clears 3:1 on every surface rowkit paints.',\n ],\n '--color-shadow': ['color', 'Base colour for shadows.'],\n '--color-bevel-highlight': [\n 'color',\n 'Outer light edge of a raised bevel, inner one of a sunken bevel.',\n ],\n '--color-bevel-light': ['color', 'Inner light edge of a raised bevel.'],\n '--color-bevel-shadow': ['color', 'Inner dark edge of a raised bevel.'],\n '--color-bevel-dark': [\n 'color',\n 'Outer dark edge of a raised bevel. Being black, it is what gives every control a boundary of well over 3:1 against the face (WCAG 1.4.11).',\n ],\n '--color-titlebar-from': [\n 'color',\n 'Active title bar, left end of the gradient. The title text sits on this end.',\n ],\n '--color-titlebar-to': ['color', 'Active title bar, right end of the gradient.'],\n '--color-titlebar-inactive-from': ['color', 'Inactive title bar, left end of the gradient.'],\n '--color-titlebar-inactive-to': ['color', 'Inactive title bar, right end of the gradient.'],\n '--color-titlebar-foreground': ['color', 'Active title text.'],\n '--color-titlebar-inactive-foreground': [\n 'color',\n \"Inactive title text. Black, not Windows 98's silver: silver on the grey gradient is about 2:1 and fails 4.5:1; black is 5.3:1 on `#808080` and 11:1 on `#b5b5b5`.\",\n ],\n '--color-neutral-solid': [\n 'color',\n 'Neutral fill: a solid neutral badge, and anything filled in the neutral colour.',\n ],\n '--color-neutral-solid-hover': ['color', 'Neutral fill under the pointer.'],\n '--color-neutral-on-solid': ['color', 'Text and icons on the neutral fill.'],\n '--color-neutral-subtle': [\n 'color',\n 'Neutral tint: the face of a subtle neutral badge or callout.',\n ],\n '--color-neutral-on-subtle': ['color', 'Neutral text and icons, on its tint and on the page.'],\n '--color-neutral-border': ['color', 'The edge of a subtle or outlined neutral badge.'],\n '--color-primary-solid': [\n 'color',\n 'Primary fill — the accent: a solid primary badge, a selected item, the default action in a theme that colours it.',\n ],\n '--color-primary-solid-hover': ['color', 'Primary fill under the pointer.'],\n '--color-primary-on-solid': ['color', 'Text and icons on the primary fill.'],\n '--color-primary-subtle': [\n 'color',\n 'Primary tint: the face of a subtle primary badge or callout.',\n ],\n '--color-primary-on-subtle': ['color', 'Primary text and icons, on its tint and on the page.'],\n '--color-primary-border': ['color', 'The edge of a subtle or outlined primary badge.'],\n '--color-success-solid': [\n 'color',\n 'Success fill: a solid success badge, and anything filled in the success colour.',\n ],\n '--color-success-solid-hover': ['color', 'Success fill under the pointer.'],\n '--color-success-on-solid': ['color', 'Text and icons on the success fill.'],\n '--color-success-subtle': [\n 'color',\n 'Success tint: the face of a subtle success badge or callout.',\n ],\n '--color-success-on-subtle': ['color', 'Success text and icons, on its tint and on the page.'],\n '--color-success-border': ['color', 'The edge of a subtle or outlined success badge.'],\n '--color-warning-solid': [\n 'color',\n '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; its edge is olive, because yellow on silver has almost no edge of its own.',\n ],\n '--color-warning-solid-hover': ['color', 'Warning fill under the pointer.'],\n '--color-warning-on-solid': ['color', 'Text and icons on the warning fill.'],\n '--color-warning-subtle': [\n 'color',\n 'Warning tint: the face of a subtle warning badge or callout.',\n ],\n '--color-warning-on-subtle': ['color', 'Warning text and icons, on its tint and on the page.'],\n '--color-warning-border': ['color', 'The edge of a subtle or outlined warning badge.'],\n '--color-danger-solid': [\n 'color',\n 'Danger fill: a solid danger badge, and anything filled in the danger colour.',\n ],\n '--color-danger-solid-hover': ['color', 'Danger fill under the pointer.'],\n '--color-danger-on-solid': ['color', 'Text and icons on the danger fill.'],\n '--color-danger-subtle': ['color', 'Danger tint: the face of a subtle danger badge or callout.'],\n '--color-danger-on-subtle': ['color', 'Danger text and icons, on its tint and on the page.'],\n '--color-danger-border': ['color', 'The edge of a subtle or outlined danger badge.'],\n '--color-control': ['color', \"A plain button, a spin or drop button, a table's sort header.\"],\n '--color-control-foreground': ['color', 'Text and icons on a plain button.'],\n '--color-control-hover': ['color', 'A plain button under the pointer.'],\n '--color-control-active': ['color', 'A plain button while it is held.'],\n '--color-control-primary': ['color', \"The default button of a form or dialog — Enter's target.\"],\n '--color-control-primary-foreground': ['color', 'Text and icons on the default button.'],\n '--color-control-primary-hover': ['color', 'The default button under the pointer.'],\n '--color-control-primary-active': ['color', 'The default button while it is held.'],\n '--color-control-ghost-hover': ['color', 'A flat toolbar button while hovered and while held.'],\n '--color-control-ghost-active': ['color', 'A flat toolbar button while hovered and while held.'],\n '--color-control-latched': ['color', 'The face of a latched toggle, under its pattern.'],\n '--color-control-primary-latched': [\n 'color',\n 'A latched default button. A toggle is never the default, but if one latches it keeps its colour.',\n ],\n '--color-checked': ['color', 'The box of a checked checkbox or radio, and the mark inside it.'],\n '--color-on-checked': [\n 'color',\n 'The box of a checked checkbox or radio, and the mark inside it.',\n ],\n '--color-popover': ['color', \"A list that drops from a trigger: a select's options.\"],\n '--color-popover-border': ['color', \"A list that drops from a trigger: a select's options.\"],\n '--color-focus-ring': [\n 'color',\n 'The ring a theme draws around a focused control, outside its edge.',\n ],\n '--color-caption': [\n 'color',\n \"A window's caption buttons; one fill per button, for themes that colour them.\",\n ],\n '--color-caption-foreground': [\n 'color',\n \"A window's caption buttons; one fill per button, for themes that colour them.\",\n ],\n '--color-caption-close': [\n 'color',\n \"A window's caption buttons; one fill per button, for themes that colour them.\",\n ],\n '--color-caption-minimize': [\n 'color',\n \"A window's caption buttons; one fill per button, for themes that colour them.\",\n ],\n '--color-caption-maximize': [\n 'color',\n \"A window's caption buttons; one fill per button, for themes that colour them.\",\n ],\n '--color-caption-inactive': [\n 'color',\n \"A window's caption buttons; one fill per button, for themes that colour them.\",\n ],\n '--color-table-header': ['color', \"A data table's column headers.\"],\n '--color-table-header-foreground': ['color', \"A data table's column headers.\"],\n '--color-table-stripe': ['color', 'Every other row of a data table. Windows 98 does not stripe.'],\n '--color-table-row-hover': [\n 'color',\n 'A data table row under the pointer. Windows 98 does not highlight it.',\n ],\n '--color-track': [\n 'color',\n 'The channel a progress bar or a scroll thumb runs in, and what fills it.',\n ],\n '--color-progress': [\n 'color',\n 'The channel a progress bar or a scroll thumb runs in, and what fills it.',\n ],\n '--color-scroll-thumb': [\n 'color',\n 'The channel a progress bar or a scroll thumb runs in, and what fills it.',\n ],\n '--color-scroll-track': ['color', \"The channel a scroll bar's thumb runs in, under its pattern.\"],\n '--color-tooltip-border': ['color', 'The frame of a tooltip.'],\n '--color-groupbox': [\n 'color',\n \"The inside of a group box's frame, and the face around it — behind the legend and the frame's edge. Both the window's silver in Windows 98.\",\n ],\n '--color-groupbox-face': [\n 'color',\n \"The inside of a group box's frame, and the face around it — behind the legend and the frame's edge. Both the window's silver in Windows 98.\",\n ],\n '--color-toast-close': [\n 'color',\n \"A toast's ✕: the caption button's silver in Windows 98, a soft grey disc elsewhere.\",\n ],\n '--color-toast-close-foreground': [\n 'color',\n \"A toast's ✕: the caption button's silver in Windows 98, a soft grey disc elsewhere.\",\n ],\n '--color-loading-foreground': [\n 'color',\n '«Loading…» in a dropped list: plain text in Windows 98, the subtle grey elsewhere.',\n ],\n '--color-select-search': [\n 'color',\n \"The strip that holds a searchable list's search box: the window face in Windows 98, nothing elsewhere.\",\n ],\n '--color-pager': [\n 'color',\n \"A pager's buttons: raised command buttons in Windows 98, flat elsewhere.\",\n ],\n '--color-pager-hover': [\n 'color',\n \"A pager's buttons: raised command buttons in Windows 98, flat elsewhere.\",\n ],\n '--color-pager-active': [\n 'color',\n \"A pager's buttons: raised command buttons in Windows 98, flat elsewhere.\",\n ],\n '--color-filter-bar': ['color', 'The strip a filter bar sits on.'],\n '--color-chip': ['color', 'A filter chip: its face, its edge and its text.'],\n '--color-chip-border': ['color', 'A filter chip: its face, its edge and its text.'],\n '--color-chip-foreground': ['color', 'A filter chip: its face, its edge and its text.'],\n '--color-chip-remove': [\n 'color',\n \"The face of a chip's ✕ at rest: the chip's own white in Windows 98.\",\n ],\n '--color-field-highlight': [\n 'color',\n \"The value of a read-only field that holds focus — a drop-down list's — highlighted the way Windows 98 marks it, and the text on it.\",\n ],\n '--color-on-field-highlight': [\n 'color',\n \"The value of a read-only field that holds focus — a drop-down list's — highlighted the way Windows 98 marks it, and the text on it.\",\n ],\n '--color-field-caret': ['color', 'The text caret in a field.'],\n '--color-field-button': [\n 'color',\n \"The buttons inside a field: a select's drop button, a number's spin buttons.\",\n ],\n '--rk-shadow-none': ['shadow', 'No bevel.'],\n '--rk-shadow-raised': ['shadow', 'Buttons and raised panels.'],\n '--rk-shadow-window': [\n 'shadow',\n \"A window's frame: like `raised`, with the bright white on the inner edge.\",\n ],\n '--rk-shadow-raised-default': [\n 'shadow',\n \"The default button of a dialog: a 1px black frame around a raised bevel, so Enter's target is visible before anyone presses it.\",\n ],\n '--rk-shadow-pressed': ['shadow', 'A button held down, or a toggle that is on.'],\n '--rk-shadow-sunken': [\n 'shadow',\n 'Text fields, lists and table bodies: the white well a value sits in.',\n ],\n '--rk-shadow-status': ['shadow', 'A thin sunken edge: status-bar sections, counters, Badge.'],\n '--rk-shadow-etched': ['shadow', 'An etched groove: group boxes and separators.'],\n '--rk-shadow-raised-thin': ['shadow', 'A thin raised edge: a flat toolbar button while hovered.'],\n '--rk-shadow-popover': [\n 'shadow',\n 'A list dropped from a trigger. Windows 98 frames it with a border, not a shadow.',\n ],\n '--rk-shadow-table': ['shadow', \"A data table's frame: the sunken well its rows sit in.\"],\n '--rk-shadow-header': ['shadow', \"A data table's column header: a raised button.\"],\n '--rk-shadow-caption': ['shadow', \"A window's caption button.\"],\n '--rk-shadow-statusbar': ['shadow', 'The strip of a status bar, behind its sections.'],\n '--rk-shadow-titlebar': ['shadow', 'The edge between a title bar and the window under it.'],\n '--rk-shadow-checked': [\n 'shadow',\n 'A checked check box: the same sunken well as an unchecked one, in Windows 98.',\n ],\n '--rk-shadow-field-button-pressed': [\n 'shadow',\n 'A button inside a field while held, or while its list is open: pressed in, in Windows 98.',\n ],\n '--rk-shadow-latched-ghost': [\n 'shadow',\n 'A flat toolbar button that is latched on: pressed in, in Windows 98.',\n ],\n '--rk-shadow-checked-selected': [\n 'shadow',\n 'A checked check box in a selected table row: its usual well, in Windows 98.',\n ],\n '--rk-shadow-toast-close': ['shadow', \"A toast's ✕: a caption button, raised, in Windows 98.\"],\n '--rk-shadow-pager': [\n 'shadow',\n \"A pager's buttons: a raised command button, its focused frame, and pressed in while held or while it is the current page. Flat in a theme that draws the pager as a row of plain numbers.\",\n ],\n '--rk-shadow-pager-focus': [\n 'shadow',\n \"A pager's buttons: a raised command button, its focused frame, and pressed in while held or while it is the current page. Flat in a theme that draws the pager as a row of plain numbers.\",\n ],\n '--rk-shadow-pager-pressed': [\n 'shadow',\n \"A pager's buttons: a raised command button, its focused frame, and pressed in while held or while it is the current page. Flat in a theme that draws the pager as a row of plain numbers.\",\n ],\n '--rk-shadow-field-button': ['shadow', 'A button inside a field: raised, in Windows 98.'],\n '--rk-shadow-scroll-thumb': ['shadow', \"A scroll bar's thumb.\"],\n '--rk-shadow-scroll-x': [\n 'shadow',\n 'The edge of a sticky table column while rows scroll under it.',\n ],\n '--rk-shadow-sticky-header': [\n 'shadow',\n 'The rule under a sticky table header, drawn as a shadow rather than a border.',\n ],\n '--spacing-control-xs': [\n 'size',\n \"Control heights: buttons, fields, selects. Also the side of a square icon button's row.\",\n ],\n '--spacing-control-sm': [\n 'size',\n \"Control heights: buttons, fields, selects. Also the side of a square icon button's row.\",\n ],\n '--spacing-control-md': [\n 'size',\n \"Control heights: buttons, fields, selects. Also the side of a square icon button's row.\",\n ],\n '--spacing-control-lg': [\n 'size',\n \"Control heights: buttons, fields, selects. Also the side of a square icon button's row.\",\n ],\n '--spacing-icon-xs': [\n 'size',\n 'Square icon buttons. A touch wider than the row they sit in, as Windows 98 drew them.',\n ],\n '--spacing-icon-sm': [\n 'size',\n 'Square icon buttons. A touch wider than the row they sit in, as Windows 98 drew them.',\n ],\n '--spacing-icon-md': [\n 'size',\n 'Square icon buttons. A touch wider than the row they sit in, as Windows 98 drew them.',\n ],\n '--spacing-icon-lg': [\n 'size',\n 'Square icon buttons. A touch wider than the row they sit in, as Windows 98 drew them.',\n ],\n '--spacing-button-min-xs': [\n 'size',\n \"A button's minimum width, so a short label still makes a button worth aiming at.\",\n ],\n '--spacing-button-min-sm': [\n 'size',\n \"A button's minimum width, so a short label still makes a button worth aiming at.\",\n ],\n '--spacing-button-min-md': [\n 'size',\n \"A button's minimum width, so a short label still makes a button worth aiming at.\",\n ],\n '--spacing-button-min-lg': [\n 'size',\n \"A button's minimum width, so a short label still makes a button worth aiming at.\",\n ],\n '--spacing-button-px-xs': ['size', \"A button's side padding.\"],\n '--spacing-button-px-sm': ['size', \"A button's side padding.\"],\n '--spacing-button-px-md': ['size', \"A button's side padding.\"],\n '--spacing-button-px-lg': ['size', \"A button's side padding.\"],\n '--spacing-field-px': ['size', \"A field's side padding, inside its edge.\"],\n '--spacing-field-px-lg': ['size', \"A field's side padding, inside its edge.\"],\n '--spacing-field-gap-sm': [\n 'size',\n \"A field's spacing: between label, control and message at each size, between a label and the control beside it, and between the error icon and its text.\",\n ],\n '--spacing-field-gap-md': [\n 'size',\n \"A field's spacing: between label, control and message at each size, between a label and the control beside it, and between the error icon and its text.\",\n ],\n '--spacing-field-gap-lg': [\n 'size',\n \"A field's spacing: between label, control and message at each size, between a label and the control beside it, and between the error icon and its text.\",\n ],\n '--spacing-field-left-gap': [\n 'size',\n \"A field's spacing: between label, control and message at each size, between a label and the control beside it, and between the error icon and its text.\",\n ],\n '--spacing-field-error-gap': [\n 'size',\n \"A field's spacing: between label, control and message at each size, between a label and the control beside it, and between the error icon and its text.\",\n ],\n '--spacing-check': ['size', \"The side of a checkbox's box, and of an option button.\"],\n '--spacing-radio': ['size', \"The side of a checkbox's box, and of an option button.\"],\n '--spacing-check-gap': [\n 'size',\n \"Between a check box or option button and its label, and the label's own inset (where the dotted ring sits).\",\n ],\n '--spacing-check-label-px': [\n 'size',\n \"Between a check box or option button and its label, and the label's own inset (where the dotted ring sits).\",\n ],\n '--spacing-titlebar': ['size', \"A window's or a dialog's title bar.\"],\n '--spacing-caption-w': ['size', 'A caption button: minimise, maximise, close.'],\n '--spacing-caption-h': ['size', 'A caption button: minimise, maximise, close.'],\n '--spacing-caption-gap': [\n 'size',\n 'The gap between caption buttons, and the extra space before the close button.',\n ],\n '--spacing-caption-close-gap': [\n 'size',\n 'The gap between caption buttons, and the extra space before the close button.',\n ],\n '--spacing-titlebar-px': ['size', \"A title bar's side padding.\"],\n '--spacing-title-inset-start': [\n 'size',\n \"Where a dialog's title starts and ends in its title bar, clear of the close button. Equal values centre it.\",\n ],\n '--spacing-title-inset-end': [\n 'size',\n \"Where a dialog's title starts and ends in its title bar, clear of the close button. Equal values centre it.\",\n ],\n '--spacing-frame': [\n 'size',\n \"The frame between a window's edge and its content: the width of the bevel. A theme whose windows have no bevel sets it to zero.\",\n ],\n '--spacing-dialog-px': [\n 'size',\n \"A dialog's insets: the side padding of its header, body and footer, the room above the first line, and above and below the footer's buttons.\",\n ],\n '--spacing-dialog-pt': [\n 'size',\n \"A dialog's insets: the side padding of its header, body and footer, the room above the first line, and above and below the footer's buttons.\",\n ],\n '--spacing-dialog-footer-pt': [\n 'size',\n \"A dialog's insets: the side padding of its header, body and footer, the room above the first line, and above and below the footer's buttons.\",\n ],\n '--spacing-dialog-footer-pb': [\n 'size',\n \"A dialog's insets: the side padding of its header, body and footer, the room above the first line, and above and below the footer's buttons.\",\n ],\n '--spacing-item': ['size', \"One option in a list: a select's, a menu's.\"],\n '--spacing-item-pl': [\n 'size',\n \"An option's padding either side, the column its check mark sits in, the gap after it, and the mark.\",\n ],\n '--spacing-item-pr': [\n 'size',\n \"An option's padding either side, the column its check mark sits in, the gap after it, and the mark.\",\n ],\n '--spacing-item-check': [\n 'size',\n \"An option's padding either side, the column its check mark sits in, the gap after it, and the mark.\",\n ],\n '--spacing-item-gap': [\n 'size',\n \"An option's padding either side, the column its check mark sits in, the gap after it, and the mark.\",\n ],\n '--spacing-item-check-glyph': [\n 'size',\n \"An option's padding either side, the column its check mark sits in, the gap after it, and the mark.\",\n ],\n '--spacing-popover-inset': [\n 'size',\n \"The inset around a dropped list's options, inside its border: 1px in Windows 98, as Figma draws it.\",\n ],\n '--spacing-table-header-px': [\n 'size',\n \"A data table's side padding: a header cell's, around the 1px its label's focus ring takes, and a body cell's.\",\n ],\n '--spacing-table-cell-px': [\n 'size',\n \"A data table's side padding: a header cell's, around the 1px its label's focus ring takes, and a body cell's.\",\n ],\n '--spacing-row-sm': ['size', 'Data table rows, and the header that matches them.'],\n '--spacing-row-md': ['size', 'Data table rows, and the header that matches them.'],\n '--spacing-select-arrow': [\n 'size',\n \"A select's drop arrows, and how far the down arrow tucks under an up arrow above it.\",\n ],\n '--spacing-select-arrow-overlap': [\n 'size',\n \"A select's drop arrows, and how far the down arrow tucks under an up arrow above it.\",\n ],\n '--spacing-select-message-px': [\n 'size',\n '«Loading…» and «No results found» in a dropped list: padding, and the gap after the busy glyph.',\n ],\n '--spacing-select-message-py': [\n 'size',\n '«Loading…» and «No results found» in a dropped list: padding, and the gap after the busy glyph.',\n ],\n '--spacing-select-message-gap': [\n 'size',\n '«Loading…» and «No results found» in a dropped list: padding, and the gap after the busy glyph.',\n ],\n '--spacing-select-search-p': [\n 'size',\n \"The strip around a searchable list's search box, and the space under it.\",\n ],\n '--spacing-select-search-gap': [\n 'size',\n \"The strip around a searchable list's search box, and the space under it.\",\n ],\n '--spacing-field-button-h-sm': [\n 'size',\n \"The buttons inside a number, date or select field: their height at each size, centred in the field as Figma draws them; how far they sit from the field's right edge; and the date field's glyph. A select's arrows sit `select-pr` in.\",\n ],\n '--spacing-field-button-h': [\n 'size',\n \"The buttons inside a number, date or select field: their height at each size, centred in the field as Figma draws them; how far they sit from the field's right edge; and the date field's glyph. A select's arrows sit `select-pr` in.\",\n ],\n '--spacing-field-button-h-lg': [\n 'size',\n \"The buttons inside a number, date or select field: their height at each size, centred in the field as Figma draws them; how far they sit from the field's right edge; and the date field's glyph. A select's arrows sit `select-pr` in.\",\n ],\n '--spacing-field-button-pr': [\n 'size',\n \"The buttons inside a number, date or select field: their height at each size, centred in the field as Figma draws them; how far they sit from the field's right edge; and the date field's glyph. A select's arrows sit `select-pr` in.\",\n ],\n '--spacing-field-drop-icon': [\n 'size',\n \"The buttons inside a number, date or select field: their height at each size, centred in the field as Figma draws them; how far they sit from the field's right edge; and the date field's glyph. A select's arrows sit `select-pr` in.\",\n ],\n '--spacing-select-pr': [\n 'size',\n \"The buttons inside a number, date or select field: their height at each size, centred in the field as Figma draws them; how far they sit from the field's right edge; and the date field's glyph. A select's arrows sit `select-pr` in.\",\n ],\n '--spacing-filter-bar-p': ['size', \"A filter bar's padding and the space between its items.\"],\n '--spacing-filter-bar-gap': ['size', \"A filter bar's padding and the space between its items.\"],\n '--spacing-chip-px': [\n 'size',\n \"A filter chip's side padding, and its right padding beside the ✕.\",\n ],\n '--spacing-chip-pr-remove': [\n 'size',\n \"A filter chip's side padding, and its right padding beside the ✕.\",\n ],\n '--spacing-toast-py': [\n 'size',\n \"A toast's padding, the gap between its icon, text and ✕, and between its lines.\",\n ],\n '--spacing-toast-pl': [\n 'size',\n \"A toast's padding, the gap between its icon, text and ✕, and between its lines.\",\n ],\n '--spacing-toast-pr': [\n 'size',\n \"A toast's padding, the gap between its icon, text and ✕, and between its lines.\",\n ],\n '--spacing-toast-gap': [\n 'size',\n \"A toast's padding, the gap between its icon, text and ✕, and between its lines.\",\n ],\n '--spacing-toast-body-gap': [\n 'size',\n \"A toast's padding, the gap between its icon, text and ✕, and between its lines.\",\n ],\n '--spacing-toast-icon': ['size', \"A toast's status icon, and its ✕.\"],\n '--spacing-toast-close-w': ['size', \"A toast's status icon, and its ✕.\"],\n '--spacing-toast-close-h': ['size', \"A toast's status icon, and its ✕.\"],\n '--spacing-pager-px': ['size', \"A page number's side padding.\"],\n '--spacing-pager-arrow': [\n 'size',\n \"A pager's arrows, the inset of the dotted focus ring round a page label, and how narrow a small page button may get (Windows 98 lets it hug its number; a theme can keep it square).\",\n ],\n '--spacing-pager-focus-px': [\n 'size',\n \"A pager's arrows, the inset of the dotted focus ring round a page label, and how narrow a small page button may get (Windows 98 lets it hug its number; a theme can keep it square).\",\n ],\n '--spacing-pager-min-sm': [\n 'size',\n \"A pager's arrows, the inset of the dotted focus ring round a page label, and how narrow a small page button may get (Windows 98 lets it hug its number; a theme can keep it square).\",\n ],\n '--spacing-chip-sm': ['size', 'A filter chip.'],\n '--spacing-chip-md': ['size', 'A filter chip.'],\n '--spacing-badge-px-sm': ['size', \"A badge's side padding.\"],\n '--spacing-badge-px-md': ['size', \"A badge's side padding.\"],\n '--spacing-badge-dot': ['size', \"The side of a badge's status dot.\"],\n '--spacing-empty-p-sm': [\n 'size',\n \"An empty view's padding at each size, and the gap between its icon and its text at `md` and `lg`.\",\n ],\n '--spacing-empty-p-md': [\n 'size',\n \"An empty view's padding at each size, and the gap between its icon and its text at `md` and `lg`.\",\n ],\n '--spacing-empty-p-lg': [\n 'size',\n \"An empty view's padding at each size, and the gap between its icon and its text at `md` and `lg`.\",\n ],\n '--spacing-empty-gap': [\n 'size',\n \"An empty view's padding at each size, and the gap between its icon and its text at `md` and `lg`.\",\n ],\n '--spacing-tooltip-px': ['size', \"A tooltip's padding.\"],\n '--spacing-tooltip-py': ['size', \"A tooltip's padding.\"],\n '--spacing-statusbar': ['size', 'A status bar.'],\n '--spacing-statusbar-px': [\n 'size',\n \"A status bar's padding and the space between its sections; a section's side padding and the space inside it.\",\n ],\n '--spacing-statusbar-py': [\n 'size',\n \"A status bar's padding and the space between its sections; a section's side padding and the space inside it.\",\n ],\n '--spacing-statusbar-gap': [\n 'size',\n \"A status bar's padding and the space between its sections; a section's side padding and the space inside it.\",\n ],\n '--spacing-statusbar-section-px': [\n 'size',\n \"A status bar's padding and the space between its sections; a section's side padding and the space inside it.\",\n ],\n '--spacing-statusbar-section-gap': [\n 'size',\n \"A status bar's padding and the space between its sections; a section's side padding and the space inside it.\",\n ],\n '--spacing-progress': [\n 'size',\n 'A progress bar: its height, the inset around the fill, and the fill.',\n ],\n '--spacing-progress-inset': [\n 'size',\n 'A progress bar: its height, the inset around the fill, and the fill.',\n ],\n '--spacing-progress-fill': [\n 'size',\n 'A progress bar: its height, the inset around the fill, and the fill.',\n ],\n '--spacing-progress-block': [\n 'size',\n 'One block of the fill, and the block plus the gap after it. Equal values draw a solid bar.',\n ],\n '--spacing-progress-period': [\n 'size',\n 'One block of the fill, and the block plus the gap after it. Equal values draw a solid bar.',\n ],\n '--spacing-progress-segment': [\n 'size',\n 'The segment an indeterminate bar moves along the track: four blocks in Windows 98.',\n ],\n '--spacing-scrollbar': [\n 'size',\n \"A scroll bar's thickness, and the side of its arrow buttons (zero hides them).\",\n ],\n '--spacing-scroll-button': [\n 'size',\n \"A scroll bar's thickness, and the side of its arrow buttons (zero hides them).\",\n ],\n '--spacing-scroll-inset': ['size', 'The space between the thumb and the edge of its track.'],\n '--spacing-groupbox-top': [\n 'size',\n \"A group box: where its frame starts, the room above its content, and its legend's offset.\",\n ],\n '--spacing-groupbox-pt': [\n 'size',\n \"A group box: where its frame starts, the room above its content, and its legend's offset.\",\n ],\n '--spacing-groupbox-legend-x': [\n 'size',\n \"A group box: where its frame starts, the room above its content, and its legend's offset.\",\n ],\n '--spacing-groupbox-legend-px': [\n 'size',\n \"A group box: where its frame starts, the room above its content, and its legend's offset.\",\n ],\n '--radius-none': [\n 'radius',\n 'Always square, whatever `--radius` is: table cells, anything that tiles.',\n ],\n '--radius-xs': ['radius', 'Checkboxes and tags inside a cell.'],\n '--radius-sm': ['radius', 'Badges and small controls.'],\n '--radius-md': ['radius', 'Buttons, inputs and panels.'],\n '--radius-lg': ['radius', 'Windows, dialogs and popovers.'],\n '--radius-xl': ['radius', 'Large empty-state panels.'],\n '--radius-full': [\n 'radius',\n 'Circle. The only rounded shape Windows 98 draws: radio buttons, and a round skeleton.',\n ],\n '--radius-pill': [\n 'radius',\n 'A capsule, where the theme draws one: a chip, a progress bar, a caption button. Square in Windows 98, whatever `--radius` is.',\n ],\n '--rk-focus-label-width': [\n 'style',\n \"The ring drawn around a control's label, inside it. Windows 98's dotted rectangle.\",\n ],\n '--rk-focus-ring-width': [\n 'style',\n 'The ring drawn on the focused element itself — a row, a scrolling region, a toast.',\n ],\n '--rk-focus-ring-style': [\n 'style',\n 'The ring drawn on the focused element itself — a row, a scrolling region, a toast.',\n ],\n '--rk-focus-outer-width': [\n 'style',\n \"The ring drawn around a control's edge, outside it. Windows 98 has none.\",\n ],\n '--rk-focus-outer-offset': [\n 'style',\n \"The ring drawn around a control's edge, outside it. Windows 98 has none.\",\n ],\n '--rk-press-shift': ['style', \"How far a held button's label moves down and right.\"],\n '--rk-press-brightness': [\n 'style',\n 'A brightness filter on a held caption button. `1` leaves it alone.',\n ],\n '--rk-dither-image': ['style', 'The pattern over a latched toggle and a scroll track.'],\n '--rk-loading-image': ['style', 'The pattern of a loading placeholder, and how it moves.'],\n '--rk-animate-loading': ['style', 'The pattern of a loading placeholder, and how it moves.'],\n '--rk-animate-busy': [\n 'style',\n \"The busy mark in a loading button: Windows 98's hourglass stands still; a theme with a spinner glyph turns it.\",\n ],\n '--rk-animate-progress': [\n 'style',\n \"An indeterminate progress bar's segment travelling across the track. Windows 98 moves its four blocks one block every 100ms and starts again at the left; `ProgressBar` sets `--rk-progress-steps` to the number of steps that fit the track it measures.\",\n ],\n '--rk-duration-control': [\n 'style',\n 'How long a control takes to change state. Windows 98 changes instantly.',\n ],\n '--rk-animate-overlay-in': ['style', 'How a dialog, a list or a toast arrives.'],\n '--rk-etch-width': [\n 'style',\n 'The light second line of an etched separator. Zero leaves a single line.',\n ],\n '--rk-caption-order': [\n 'style',\n 'Where the caption buttons sit in the title bar: `0` after the title, `-1` before it.',\n ],\n '--rk-close-order': ['style', 'Where the close button sits among them: `0` last, `-1` first.'],\n '--rk-titlebar-icon': [\n 'style',\n 'Whether a window shows its icon in the title bar: `flex`, or `none`.',\n ],\n '--rk-titlebar-align': ['style', 'Where the title sits: `start`, or `center`.'],\n '--rk-titlebar-balance': [\n 'style',\n 'Space kept clear opposite the caption buttons, so a centred title is centred on the bar.',\n ],\n '--rk-caption-glyph-opacity': [\n 'style',\n \"The opacity of a caption button's glyph at rest; hovering the title bar shows it.\",\n ],\n '--rk-legend-weight': ['style', \"The weight of a group box's legend.\"],\n '--rk-link-decoration': ['style', 'The line under a link-styled button: `underline`, or `none`.'],\n '--rk-invalid-width': [\n 'style',\n 'The red frame inside an invalid field. Windows 98 marks it with the error icon only.',\n ],\n '--rk-field-error-align': [\n 'style',\n \"Where a field's error icon sits beside a message that wraps: `center`, or `start`.\",\n ],\n '--rk-select-up': [\n 'style',\n \"Whether a select's drop button shows an up arrow over its down arrow: `block`, or `none`.\",\n ],\n '--rk-footer-direction': [\n 'style',\n \"The order of a dialog footer's buttons, written primary first: `row` keeps it, as Windows 98 does; `row-reverse` puts the primary button last.\",\n ],\n '--rk-empty-direction': [\n 'style',\n 'How an empty view lays out its icon and text: `row` puts the icon beside the text, `column` above it; `start` or `center` aligns the text.',\n ],\n '--rk-empty-align': [\n 'style',\n 'How an empty view lays out its icon and text: `row` puts the icon beside the text, `column` above it; `start` or `center` aligns the text.',\n ],\n '--rk-overlay-bg': ['style', 'What a modal dialog lays over the page behind it.'],\n '--rk-popover-backdrop': ['style', 'A backdrop filter behind a dropped list.'],\n '--rk-popover-border-width': [\n 'style',\n \"A dropped list's border. Windows 98 draws a black line; a theme that rings the list in its shadow (`--rk-shadow-popover`) sets it to zero.\",\n ],\n '--rk-scrollbar-buttons': [\n 'style',\n 'Whether a scroll bar has arrow buttons: `block`, or `none`.',\n ],\n '--rk-glyph-scale': [\n 'style',\n 'A multiplier on small glyphs — a check mark, a caption glyph — for a theme whose glyphs are not pixel art.',\n ],\n '--rk-radio-fill': [\n 'style',\n \"An option button drawn by CSS rather than by its pixels: how much of the well and the dot to paint (`0%` paints neither), the dot's radius and the edge's width.\",\n ],\n '--rk-radio-dot-r': [\n 'style',\n \"An option button drawn by CSS rather than by its pixels: how much of the well and the dot to paint (`0%` paints neither), the dot's radius and the edge's width.\",\n ],\n '--rk-radio-edge': [\n 'style',\n \"An option button drawn by CSS rather than by its pixels: how much of the well and the dot to paint (`0%` paints neither), the dot's radius and the edge's width.\",\n ],\n '--rk-icon-pixels': ['style', \"`display` of a pixel icon's pixels.\"],\n '--rk-icon-glyphs': [\n 'style',\n 'Whether the glyphs mask the icons at all. `initial` makes every glyph mask invalid, so a Windows 98 icon has no mask and nothing of it is clipped; an empty value lets them through. It is prepended to each mask image.',\n ],\n '--rk-icon-fill': [\n 'style',\n \"The fill a theme's own glyph is painted in; transparent draws nothing.\",\n ],\n '--rk-icon-tone-danger': [\n 'style',\n 'The fills of the glyphs that keep a colour: status icons and folders. Transparent in Windows 98, whose pixel icons carry their own colours.',\n ],\n '--rk-icon-tone-warning': [\n 'style',\n 'The fills of the glyphs that keep a colour: status icons and folders. Transparent in Windows 98, whose pixel icons carry their own colours.',\n ],\n '--rk-icon-tone-info': [\n 'style',\n 'The fills of the glyphs that keep a colour: status icons and folders. Transparent in Windows 98, whose pixel icons carry their own colours.',\n ],\n '--rk-icon-tone-success': [\n 'style',\n 'The fills of the glyphs that keep a colour: status icons and folders. Transparent in Windows 98, whose pixel icons carry their own colours.',\n ],\n '--rk-icon-tone-folder': [\n 'style',\n 'The fills of the glyphs that keep a colour: status icons and folders. Transparent in Windows 98, whose pixel icons carry their own colours.',\n ],\n '--font-sans': ['font', 'UI and body text.'],\n '--font-mono': ['font', 'Code, IDs and numbers that must align in a column.'],\n '--text-ui': [\n 'font',\n '13/16 — every control, label, menu and table cell. Bold for titles and the default button.',\n ],\n '--text-heading': ['font', '16/20, bold — the heading of an empty state or a group.'],\n '--text-mono': [\n 'font',\n \"16/16 — the fixed-width face beside interface text. VT323's x-height is 0.4em to PT Sans's 0.5em, so 16px VT323 stands exactly as tall as 13px PT Sans.\",\n ],\n '--text-doc': ['font', '16/26 — documentation paragraphs, about seventy characters to a line.'],\n '--text-doc-mono': [\n 'font',\n '20/20 — code beside documentation text: as tall as 16px PT Sans, for the same reason as `mono`.',\n ],\n '--text-doc-h1': ['font', '26/30, bold — a documentation page title.'],\n '--text-doc-h2': ['font', '19/24, bold — a documentation section.'],\n '--text-doc-h3': ['font', '15/20, bold — a documentation subsection.'],\n '--font-weight-normal': ['font', 'Body text.'],\n '--font-weight-bold': ['font', 'Window titles, headings, the default button.'],\n '--font-weight-strong': [\n 'font',\n \"The weight a theme gives emphasis: titles, headings, a table's totals. Components use this rather than `bold`, so a theme can make emphasis semibold without changing what `font-bold` means in the app around it.\",\n ],\n}\n","/**\n * `@rowkit/tokens/reference` — every token a theme may set, described.\n *\n * One entry per CSS variable a theme declares: what it is for, which\n * components read it, and its value in Windows 98 and in the modern theme's\n * two schemes. The descriptions are the JSDoc comments beside the values,\n * gathered by `scripts/generate-reference.mjs`, so they cannot drift from the\n * code. A separate entry point, so the main one stays small.\n *\n * @example\n * ```ts\n * import { tokenReference } from '@rowkit/tokens/reference'\n *\n * tokenReference.find((t) => t.name === '--color-control-primary')\n * // { group: 'color', description: 'The default button…', components: ['Button'], values: { … } }\n * ```\n */\nimport { tokenDescriptions } from './reference.data'\nimport { modernDarkVars, modernLightVars, win98Vars } from './themes'\n\n/** The kinds of token a theme sets. */\nexport type TokenGroup = 'color' | 'shadow' | 'size' | 'radius' | 'style' | 'font'\n\n/** One token a theme may set. */\nexport interface TokenReference {\n /** The CSS variable a theme declares. */\n name: `--${string}`\n group: TokenGroup\n /** What it is for: the comment beside its value. */\n description: string\n /** The components that read it; empty for one every component shares, like the type scale. */\n components: string[]\n /** Its value in each theme. The dark scheme lists the light value where it changes nothing. */\n values: { win98: string; modernLight: string; modernDark: string }\n}\n\n/**\n * Which components a token belongs to, by the first part of its name. A\n * token not listed — the type scale, the status colours, the bevels — is\n * shared by many.\n */\nconst owners: [prefix: string, components: string[]][] = [\n ['toast', ['Toast']],\n ['chip', ['FilterBar']],\n ['filter-bar', ['FilterBar']],\n ['pager', ['Pagination']],\n ['select', ['Select']],\n ['popover', ['Select']],\n ['item', ['Select']],\n ['loading', ['Select']],\n ['field', ['Input', 'Select', 'Field']],\n ['button', ['Button']],\n ['icon', ['Button']],\n ['control', ['Button']],\n ['latched', ['Button', 'ButtonGroup']],\n ['check', ['Checkbox', 'Radio']],\n ['checked', ['Checkbox', 'Radio']],\n ['on-checked', ['Checkbox', 'Radio']],\n ['radio', ['Radio']],\n ['caption', ['Window', 'Dialog']],\n ['titlebar', ['Window', 'Dialog']],\n ['title', ['Window', 'Dialog']],\n ['frame', ['Window', 'Dialog']],\n ['window', ['Window', 'Dialog']],\n ['dialog', ['Dialog']],\n ['overlay', ['Dialog']],\n ['footer', ['Dialog']],\n ['table', ['DataTable']],\n ['row', ['DataTable']],\n ['badge', ['Badge']],\n ['empty', ['EmptyState']],\n ['tooltip', ['Tooltip']],\n ['statusbar', ['StatusBar']],\n ['status', ['StatusBar']],\n ['progress', ['ProgressBar']],\n ['track', ['ProgressBar', 'ScrollArea']],\n ['scroll', ['ScrollArea']],\n ['scrollbar', ['ScrollArea']],\n ['groupbox', ['GroupBox']],\n ['legend', ['GroupBox']],\n ['skeleton', ['Skeleton']],\n ['etch', ['Separator', 'GroupBox']],\n ['link', ['Button']],\n ['press', ['Button']],\n ['animate-busy', ['Button']],\n ['dither', ['ButtonGroup', 'ScrollArea']],\n ['loading-image', ['Skeleton']],\n ['animate-loading', ['Skeleton']],\n ['animate-progress', ['ProgressBar']],\n ['animate-overlay', ['Dialog']],\n ['close-order', ['Window', 'Dialog']],\n ['header', ['DataTable']],\n ['sticky-header', ['DataTable']],\n ['invalid', ['Input', 'Select']],\n // The icon system and small glyphs are every component's.\n ['icon-tone', []],\n ['icon-pixels', []],\n ['icon-glyphs', []],\n ['icon-fill', []],\n]\n\nconst PREFIX = /^--(?:color-|rk-shadow-|spacing-|radius-|rk-|font-weight-|font-|text-)/\n\nfunction componentsOf(name: string): string[] {\n const bare = name.replace(PREFIX, '')\n // The longest matching prefix wins: `icon-tone-…` is the icon system's, `icon-sm` a button's.\n const match = owners\n .filter(([prefix]) => bare === prefix || bare.startsWith(`${prefix}-`))\n .sort((a, b) => b[0].length - a[0].length)[0]\n return match ? match[1] : []\n}\n\n/** Every token a theme may set, in the order the source declares them. */\nexport const tokenReference: TokenReference[] = (\n Object.entries(win98Vars) as [`--${string}`, string][]\n).map(([name, win98]) => {\n const lineHeightOf = /^(--text-.+)--line-height$/.exec(name)?.[1]\n const [group, description] = lineHeightOf\n ? ['font', `The line height of ${lineHeightOf}.`]\n : (tokenDescriptions[name] ?? ['', ''])\n const modernLight = modernLightVars[name] ?? win98\n return {\n name,\n group: group as TokenGroup,\n description,\n components: componentsOf(name),\n values: { win98, modernLight, modernDark: modernDarkVars[name] ?? modernLight },\n }\n})\n"],"mappings":"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"}
|