@tempoxyz/ds 0.3.6 → 0.3.9
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/dist/web/components/Accordion.js.zyzz.json +1 -1
- package/dist/web/components/AddressCard.css +1 -1
- package/dist/web/components/AddressCard.js.zyzz.json +1 -1
- package/dist/web/components/AgentLogo.css +1 -1
- package/dist/web/components/AgentLogo.js.zyzz.json +1 -1
- package/dist/web/components/Alert.js.zyzz.json +1 -1
- package/dist/web/components/AlertDialog.js.zyzz.json +1 -1
- package/dist/web/components/Amount.js.zyzz.json +1 -1
- package/dist/web/components/AmountInput.css +1 -1
- package/dist/web/components/AmountInput.js +1 -1
- package/dist/web/components/AmountInput.js.map +1 -1
- package/dist/web/components/AmountInput.js.zyzz.json +1 -1
- package/dist/web/components/AppShell.css +1 -1
- package/dist/web/components/AppShell.d.ts +31 -110
- package/dist/web/components/AppShell.d.ts.map +1 -1
- package/dist/web/components/AppShell.js +40 -44
- package/dist/web/components/AppShell.js.map +1 -1
- package/dist/web/components/AppShell.js.zyzz.json +1 -1
- package/dist/web/components/AssetChip.css +1 -1
- package/dist/web/components/AssetChip.js.zyzz.json +1 -1
- package/dist/web/components/Autocomplete.js.zyzz.json +1 -1
- package/dist/web/components/Avatar.js.zyzz.json +1 -1
- package/dist/web/components/Badge.css +1 -1
- package/dist/web/components/Badge.d.ts +1 -1
- package/dist/web/components/Badge.js.map +1 -1
- package/dist/web/components/Badge.js.zyzz.json +1 -1
- package/dist/web/components/BadgedLogo.css +1 -0
- package/dist/web/components/BadgedLogo.d.ts +44 -0
- package/dist/web/components/BadgedLogo.d.ts.map +1 -0
- package/dist/web/components/BadgedLogo.js +59 -0
- package/dist/web/components/BadgedLogo.js.map +1 -0
- package/dist/web/components/BadgedLogo.js.zyzz.json +1 -0
- package/dist/web/components/Banner.js.zyzz.json +1 -1
- package/dist/web/components/BarChart.css +1 -1
- package/dist/web/components/BarChart.d.ts +1 -1
- package/dist/web/components/BarChart.js.map +1 -1
- package/dist/web/components/BarChart.js.zyzz.json +1 -1
- package/dist/web/components/Breadcrumbs.js.zyzz.json +1 -1
- package/dist/web/components/Button.css +1 -1
- package/dist/web/components/Button.d.ts +40 -31
- package/dist/web/components/Button.d.ts.map +1 -1
- package/dist/web/components/Button.js +25 -8
- package/dist/web/components/Button.js.map +1 -1
- package/dist/web/components/Button.js.zyzz.json +1 -1
- package/dist/web/components/ButtonGroup.js.zyzz.json +1 -1
- package/dist/web/components/Calendar.css +1 -1
- package/dist/web/components/Calendar.js.zyzz.json +1 -1
- package/dist/web/components/Callout.js.zyzz.json +1 -1
- package/dist/web/components/Checkbox.css +1 -1
- package/dist/web/components/Checkbox.js.zyzz.json +1 -1
- package/dist/web/components/CheckboxGroup.js.zyzz.json +1 -1
- package/dist/web/components/ChoiceGroup.css +1 -1
- package/dist/web/components/ChoiceGroup.js.zyzz.json +1 -1
- package/dist/web/components/Choicebox.css +1 -1
- package/dist/web/components/Choicebox.js.zyzz.json +1 -1
- package/dist/web/components/Code.js.zyzz.json +1 -1
- package/dist/web/components/Combobox.css +1 -1
- package/dist/web/components/Combobox.js.zyzz.json +1 -1
- package/dist/web/components/Container.js.zyzz.json +1 -1
- package/dist/web/components/CopyButton.js.zyzz.json +1 -1
- package/dist/web/components/DatePicker.css +1 -1
- package/dist/web/components/DatePicker.js.zyzz.json +1 -1
- package/dist/web/components/Dialog.css +1 -1
- package/dist/web/components/Dialog.d.ts +14 -0
- package/dist/web/components/Dialog.d.ts.map +1 -1
- package/dist/web/components/Dialog.js +7 -5
- package/dist/web/components/Dialog.js.map +1 -1
- package/dist/web/components/Dialog.js.zyzz.json +1 -1
- package/dist/web/components/Drawer.css +1 -1
- package/dist/web/components/Drawer.js.zyzz.json +1 -1
- package/dist/web/components/Empty.js.zyzz.json +1 -1
- package/dist/web/components/Field.js.zyzz.json +1 -1
- package/dist/web/components/Fieldset.js.zyzz.json +1 -1
- package/dist/web/components/Frame.js.zyzz.json +1 -1
- package/dist/web/components/Gauge.js.zyzz.json +1 -1
- package/dist/web/components/GetStartedVisual.js.zyzz.json +1 -1
- package/dist/web/components/Grid.js.zyzz.json +1 -1
- package/dist/web/components/HeroVisual.js.zyzz.json +1 -1
- package/dist/web/components/Hex.js.zyzz.json +1 -1
- package/dist/web/components/IconTile.js.zyzz.json +1 -1
- package/dist/web/components/Identicon.js.zyzz.json +1 -1
- package/dist/web/components/Inline.js.zyzz.json +1 -1
- package/dist/web/components/Inset.js.zyzz.json +1 -1
- package/dist/web/components/Kbd.js.zyzz.json +1 -1
- package/dist/web/components/ListGroup.css +1 -1
- package/dist/web/components/ListGroup.d.ts +46 -4
- package/dist/web/components/ListGroup.d.ts.map +1 -1
- package/dist/web/components/ListGroup.js +11 -9
- package/dist/web/components/ListGroup.js.map +1 -1
- package/dist/web/components/ListGroup.js.zyzz.json +1 -1
- package/dist/web/components/LoadingDots.js.zyzz.json +1 -1
- package/dist/web/components/Menu.css +1 -1
- package/dist/web/components/Menu.js.zyzz.json +1 -1
- package/dist/web/components/NativeSelect.css +1 -1
- package/dist/web/components/NativeSelect.js.zyzz.json +1 -1
- package/dist/web/components/NetworkLogo.js.zyzz.json +1 -1
- package/dist/web/components/NumberField.js.zyzz.json +1 -1
- package/dist/web/components/OtpField.css +1 -1
- package/dist/web/components/OtpField.js.zyzz.json +1 -1
- package/dist/web/components/Pagination.css +1 -1
- package/dist/web/components/Pagination.js.zyzz.json +1 -1
- package/dist/web/components/Popover.css +1 -1
- package/dist/web/components/Popover.js.zyzz.json +1 -1
- package/dist/web/components/Progress.js.zyzz.json +1 -1
- package/dist/web/components/Qr.js.zyzz.json +1 -1
- package/dist/web/components/RadioGroup.css +1 -1
- package/dist/web/components/RadioGroup.js.zyzz.json +1 -1
- package/dist/web/components/SecretValue.js.zyzz.json +1 -1
- package/dist/web/components/Select.css +1 -1
- package/dist/web/components/Select.d.ts +14 -7
- package/dist/web/components/Select.d.ts.map +1 -1
- package/dist/web/components/Select.js +8 -6
- package/dist/web/components/Select.js.map +1 -1
- package/dist/web/components/Select.js.zyzz.json +1 -1
- package/dist/web/components/Separator.js.zyzz.json +1 -1
- package/dist/web/components/SidebarMenu.css +1 -1
- package/dist/web/components/SidebarMenu.d.ts +102 -11
- package/dist/web/components/SidebarMenu.d.ts.map +1 -1
- package/dist/web/components/SidebarMenu.js +58 -4
- package/dist/web/components/SidebarMenu.js.map +1 -1
- package/dist/web/components/SidebarMenu.js.zyzz.json +1 -1
- package/dist/web/components/Skeleton.js.zyzz.json +1 -1
- package/dist/web/components/Slider.js.zyzz.json +1 -1
- package/dist/web/components/Snippet.css +1 -1
- package/dist/web/components/Snippet.js.zyzz.json +1 -1
- package/dist/web/components/Spinner.css +1 -1
- package/dist/web/components/Spinner.d.ts +40 -12
- package/dist/web/components/Spinner.d.ts.map +1 -1
- package/dist/web/components/Spinner.js +8 -7
- package/dist/web/components/Spinner.js.map +1 -1
- package/dist/web/components/Spinner.js.zyzz.json +1 -1
- package/dist/web/components/SplitBar.js.zyzz.json +1 -1
- package/dist/web/components/SplitButton.js.zyzz.json +1 -1
- package/dist/web/components/Stack.js.zyzz.json +1 -1
- package/dist/web/components/StatusChip.js.zyzz.json +1 -1
- package/dist/web/components/StatusIndicator.js.zyzz.json +1 -1
- package/dist/web/components/StatusRow.js.zyzz.json +1 -1
- package/dist/web/components/Stepper.js.zyzz.json +1 -1
- package/dist/web/components/SuccessHero.css +1 -1
- package/dist/web/components/SuccessHero.d.ts.map +1 -1
- package/dist/web/components/SuccessHero.js +0 -2
- package/dist/web/components/SuccessHero.js.map +1 -1
- package/dist/web/components/SuccessHero.js.zyzz.json +1 -1
- package/dist/web/components/Surface.css +1 -1
- package/dist/web/components/Surface.d.ts +1 -1
- package/dist/web/components/Surface.js.map +1 -1
- package/dist/web/components/Surface.js.zyzz.json +1 -1
- package/dist/web/components/Switch.css +1 -1
- package/dist/web/components/Switch.d.ts +1 -1
- package/dist/web/components/Switch.js.map +1 -1
- package/dist/web/components/Switch.js.zyzz.json +1 -1
- package/dist/web/components/Table.css +1 -1
- package/dist/web/components/Table.js.zyzz.json +1 -1
- package/dist/web/components/Tabs.css +1 -1
- package/dist/web/components/Tabs.d.ts +9 -18
- package/dist/web/components/Tabs.d.ts.map +1 -1
- package/dist/web/components/Tabs.js.map +1 -1
- package/dist/web/components/Tabs.js.zyzz.json +1 -1
- package/dist/web/components/TempoLogo.js.zyzz.json +1 -1
- package/dist/web/components/TextInput.js.zyzz.json +1 -1
- package/dist/web/components/Textarea.css +1 -1
- package/dist/web/components/Textarea.js.zyzz.json +1 -1
- package/dist/web/components/Toast.css +1 -1
- package/dist/web/components/Toast.d.ts.map +1 -1
- package/dist/web/components/Toast.js +6 -7
- package/dist/web/components/Toast.js.map +1 -1
- package/dist/web/components/Toast.js.zyzz.json +1 -1
- package/dist/web/components/Token.css +1 -1
- package/dist/web/components/Token.d.ts.map +1 -1
- package/dist/web/components/Token.js +1 -1
- package/dist/web/components/Token.js.map +1 -1
- package/dist/web/components/Token.js.zyzz.json +1 -1
- package/dist/web/components/TokenLogo.js.zyzz.json +1 -1
- package/dist/web/components/Tooltip.css +1 -1
- package/dist/web/components/Tooltip.js.zyzz.json +1 -1
- package/dist/web/components/VerificationCode.js.zyzz.json +1 -1
- package/dist/web/components/Visual.css +1 -1
- package/dist/web/components/Visual.js.zyzz.json +1 -1
- package/dist/web/components/internal/Field.css +1 -1
- package/dist/web/components/internal/Field.js.zyzz.json +1 -1
- package/dist/web/components/internal/InputGroup.css +1 -1
- package/dist/web/components/internal/InputGroup.js.zyzz.json +1 -1
- package/dist/web/components/internal/Listbox.css +1 -1
- package/dist/web/components/internal/Listbox.js.zyzz.json +1 -1
- package/dist/web/components/internal/Streaks.js.zyzz.json +1 -1
- package/dist/web/components/internal/TabBar.d.ts +1 -1
- package/dist/web/index.d.ts +1 -0
- package/dist/web/index.d.ts.map +1 -1
- package/dist/web/index.js +1 -0
- package/dist/web/index.js.map +1 -1
- package/dist/web/index.js.zyzz.json +1 -1
- package/dist/web/vars.d.ts +50 -4
- package/dist/web/vars.d.ts.map +1 -1
- package/dist/web/vars.js.map +1 -1
- package/dist/web/vars.js.zyzz.json +1 -1
- package/dist/web/zyzz.config.d.ts +250 -20
- package/dist/web/zyzz.config.d.ts.map +1 -1
- package/dist/web/zyzz.config.js.zyzz.json +1 -1
- package/package.json +1 -1
- package/src/web/components/AmountInput.tsx +6 -1
- package/src/web/components/AppShell.tsx +64 -125
- package/src/web/components/Badge.tsx +1 -1
- package/src/web/components/BadgedLogo.tsx +125 -0
- package/src/web/components/BarChart.tsx +1 -1
- package/src/web/components/Button.tsx +66 -36
- package/src/web/components/Dialog.tsx +11 -0
- package/src/web/components/ListGroup.tsx +53 -7
- package/src/web/components/Select.tsx +15 -8
- package/src/web/components/SidebarMenu.tsx +165 -11
- package/src/web/components/Spinner.tsx +34 -11
- package/src/web/components/SuccessHero.tsx +2 -4
- package/src/web/components/Surface.tsx +1 -1
- package/src/web/components/Switch.tsx +1 -1
- package/src/web/components/Tabs.tsx +10 -20
- package/src/web/components/Toast.tsx +17 -5
- package/src/web/components/Token.tsx +2 -4
- package/src/web/components/internal/TabBar.ts +1 -1
- package/src/web/index.ts +1 -0
- package/src/web/vars.ts +43 -5
|
@@ -8,8 +8,9 @@ import { style, variants } from '../zyzz.config.js'
|
|
|
8
8
|
* An indeterminate loading indicator. Renders a Base UI `Progress.Root` with
|
|
9
9
|
* `role="progressbar"`, no `aria-valuenow`, and the name `Loading`. The arc draws in
|
|
10
10
|
* `currentColor` on a faint track, black in light mode and the text color in dark mode, and stops
|
|
11
|
-
* rotating under `prefers-reduced-motion: reduce`. `
|
|
12
|
-
* with a
|
|
11
|
+
* rotating under `prefers-reduced-motion: reduce`. `size` sets the ring to 16px or 40px, and the
|
|
12
|
+
* ring and its stroke scale together. `elevated` places a 16px ring on a 44px elevated tile with a
|
|
13
|
+
* shadow, whatever the `size`.
|
|
13
14
|
*
|
|
14
15
|
* - Pass `aria-label` to say what is loading, such as `Loading transactions`.
|
|
15
16
|
* - Show it only after a short delay, so fast responses do not flash an indicator.
|
|
@@ -24,13 +25,13 @@ import { style, variants } from '../zyzz.config.js'
|
|
|
24
25
|
* @see {@link https://www.w3.org/WAI/WCAG22/Understanding/pause-stop-hide.html | WCAG 2.2 Pause, Stop, Hide}
|
|
25
26
|
*/
|
|
26
27
|
export function Spinner(props: Spinner.Props) {
|
|
27
|
-
const { className, elevated, vars, ...attributes } = props
|
|
28
|
+
const { className, elevated, size, vars, ...attributes } = props
|
|
28
29
|
|
|
29
30
|
return (
|
|
30
31
|
<BaseUi.Progress.Root
|
|
31
32
|
aria-label="Loading"
|
|
32
33
|
{...attributes}
|
|
33
|
-
{...styles.spinner({ className, elevated, style: props.style, vars })}
|
|
34
|
+
{...styles.spinner({ className, elevated, size, style: props.style, vars })}
|
|
34
35
|
value={null}
|
|
35
36
|
>
|
|
36
37
|
<svg aria-hidden="true" {...styles.glyph()} fill="none" viewBox="0 0 16 16">
|
|
@@ -61,6 +62,8 @@ namespace styles {
|
|
|
61
62
|
animation: `${rotation} 0.8s linear infinite !custom`,
|
|
62
63
|
height: '100% !custom',
|
|
63
64
|
width: '100% !custom',
|
|
65
|
+
// The stroke keeps its CSS width at every size, instead of scaling with the view box.
|
|
66
|
+
selectors: { '& > *': { vectorEffect: 'non-scaling-stroke !custom' } },
|
|
64
67
|
'@media (prefers-reduced-motion: reduce)': { animation: 'none !custom' },
|
|
65
68
|
},
|
|
66
69
|
{ id: 'tds/web/spinner/glyph' },
|
|
@@ -77,12 +80,12 @@ namespace styles {
|
|
|
77
80
|
justifyContent: 'center',
|
|
78
81
|
width: '16',
|
|
79
82
|
},
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
// The designs draw the elevated tile only around the 16px ring, so the tile outranks `size`.
|
|
84
|
+
// The tile is a 44px square around the 16px ring.
|
|
85
|
+
compoundVariants: [
|
|
86
|
+
{
|
|
87
|
+
when: { elevated: true },
|
|
88
|
+
style: {
|
|
86
89
|
backgroundColor: 'background.elevated',
|
|
87
90
|
borderRadius: 'xs',
|
|
88
91
|
// Web has no elevated shadow step, so this repeats the Mobile `shadow.elevated` layers, in
|
|
@@ -90,7 +93,27 @@ namespace styles {
|
|
|
90
93
|
boxShadow: '0 12px 36px #0000000a, 0 8px 32px #0000000a, 0 4px 12px #0000000a !custom',
|
|
91
94
|
height: '44',
|
|
92
95
|
width: '44',
|
|
93
|
-
selectors: {
|
|
96
|
+
selectors: {
|
|
97
|
+
'& > svg': { height: '16', width: '16' },
|
|
98
|
+
'& > svg > *': { strokeWidth: '1px !custom' },
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
],
|
|
103
|
+
defaultVariants: { elevated: false, size: '16' },
|
|
104
|
+
variants: {
|
|
105
|
+
elevated: { false: {}, true: {} },
|
|
106
|
+
/**
|
|
107
|
+
* The width and height of the ring, in pixels. The 40px ring draws a 2.5px stroke.
|
|
108
|
+
*
|
|
109
|
+
* @default '16'
|
|
110
|
+
*/
|
|
111
|
+
size: {
|
|
112
|
+
'16': {},
|
|
113
|
+
'40': {
|
|
114
|
+
height: '40',
|
|
115
|
+
width: '40',
|
|
116
|
+
selectors: { '& > svg > *': { strokeWidth: '2.5px !custom' } },
|
|
94
117
|
},
|
|
95
118
|
},
|
|
96
119
|
},
|
|
@@ -201,9 +201,8 @@ namespace styles {
|
|
|
201
201
|
{ id: 'tds/web/success-hero/body' },
|
|
202
202
|
)
|
|
203
203
|
|
|
204
|
-
// Figma draws the caption at 50% white, which no variable holds.
|
|
205
204
|
export const caption = style(
|
|
206
|
-
{ color: '
|
|
205
|
+
{ color: 'overlay.content.tertiary', margin: '0', typography: 'body.b3Strong' },
|
|
207
206
|
{ id: 'tds/web/success-hero/caption' },
|
|
208
207
|
)
|
|
209
208
|
|
|
@@ -219,9 +218,8 @@ namespace styles {
|
|
|
219
218
|
{ id: 'tds/web/success-hero/content' },
|
|
220
219
|
)
|
|
221
220
|
|
|
222
|
-
// Figma draws the description at 60% white, which no variable holds.
|
|
223
221
|
export const description = style(
|
|
224
|
-
{ color: '
|
|
222
|
+
{ color: 'overlay.content.secondary', margin: '0', typography: 'body.b2' },
|
|
225
223
|
{ id: 'tds/web/success-hero/description' },
|
|
226
224
|
)
|
|
227
225
|
|
|
@@ -131,7 +131,7 @@ namespace styles {
|
|
|
131
131
|
'&::after': { content: '"" !custom', inset: '-8', position: 'absolute' },
|
|
132
132
|
'&:focus-visible': { outlineColor: 'border.focus', outlineOffset: '2' },
|
|
133
133
|
'&:hover:not([data-disabled]):not([data-checked])': { backgroundColor: 'line.primary' },
|
|
134
|
-
'&[data-checked]': { backgroundColor: '
|
|
134
|
+
'&[data-checked]': { backgroundColor: 'inverse.background.primary' },
|
|
135
135
|
'&[data-checked]:hover:not([data-disabled])': { opacity: 'hover' },
|
|
136
136
|
'&[data-disabled]': { cursor: 'default', opacity: 'disabled' },
|
|
137
137
|
'&[data-invalid]': {
|
|
@@ -212,8 +212,7 @@ namespace styles {
|
|
|
212
212
|
position: 'relative',
|
|
213
213
|
},
|
|
214
214
|
// The pill sizes follow the Platform Tab: 48, 40 and 32px, padded by 32, 24 and 16px, with
|
|
215
|
-
//
|
|
216
|
-
// family follows its typography set, which sets the family of the body.
|
|
215
|
+
// an L2 label, or an L3 label for small.
|
|
217
216
|
compoundVariants: [
|
|
218
217
|
{
|
|
219
218
|
when: { size: 'large', variant: 'pill' },
|
|
@@ -222,16 +221,13 @@ namespace styles {
|
|
|
222
221
|
'& > [role="tab"]': {
|
|
223
222
|
height: '48',
|
|
224
223
|
paddingInline: '32',
|
|
225
|
-
typography: '
|
|
226
|
-
fontFamily: 'heading',
|
|
224
|
+
typography: 'label.l2',
|
|
227
225
|
},
|
|
228
226
|
'& > [role="tab"]:is([data-active], [data-active]:hover)': {
|
|
229
|
-
typography: '
|
|
230
|
-
fontFamily: 'heading',
|
|
227
|
+
typography: 'label.l2',
|
|
231
228
|
},
|
|
232
229
|
'& > [role="tab"] [data-reserve]': {
|
|
233
|
-
typography: '
|
|
234
|
-
fontFamily: 'heading',
|
|
230
|
+
typography: 'label.l2',
|
|
235
231
|
},
|
|
236
232
|
},
|
|
237
233
|
},
|
|
@@ -246,16 +242,13 @@ namespace styles {
|
|
|
246
242
|
selectors: {
|
|
247
243
|
'& > [role="tab"]': {
|
|
248
244
|
paddingInline: '16',
|
|
249
|
-
typography: '
|
|
250
|
-
fontFamily: 'heading',
|
|
245
|
+
typography: 'label.l3',
|
|
251
246
|
},
|
|
252
247
|
'& > [role="tab"]:is([data-active], [data-active]:hover)': {
|
|
253
|
-
typography: '
|
|
254
|
-
fontFamily: 'heading',
|
|
248
|
+
typography: 'label.l3',
|
|
255
249
|
},
|
|
256
250
|
'& > [role="tab"] [data-reserve]': {
|
|
257
|
-
typography: '
|
|
258
|
-
fontFamily: 'heading',
|
|
251
|
+
typography: 'label.l3',
|
|
259
252
|
},
|
|
260
253
|
},
|
|
261
254
|
},
|
|
@@ -366,16 +359,13 @@ namespace styles {
|
|
|
366
359
|
minWidth: '5rem !custom',
|
|
367
360
|
outlineOffset: '2',
|
|
368
361
|
transitionProperty: 'background-color, color, outline-color, scale',
|
|
369
|
-
typography: '
|
|
370
|
-
fontFamily: 'heading',
|
|
362
|
+
typography: 'label.l2',
|
|
371
363
|
},
|
|
372
364
|
'& > [role="tab"]:is([data-active], [data-active]:hover)': {
|
|
373
|
-
typography: '
|
|
374
|
-
fontFamily: 'heading',
|
|
365
|
+
typography: 'label.l2',
|
|
375
366
|
},
|
|
376
367
|
'& > [role="tab"] [data-reserve]': {
|
|
377
|
-
typography: '
|
|
378
|
-
fontFamily: 'heading',
|
|
368
|
+
typography: 'label.l2',
|
|
379
369
|
},
|
|
380
370
|
// The fill marks the active tab, so the list hides the underline indicator.
|
|
381
371
|
'& > span:not([role="tab"])': { display: 'none' },
|
|
@@ -284,10 +284,9 @@ namespace styles {
|
|
|
284
284
|
{ id: 'tds/web/toast/content' },
|
|
285
285
|
)
|
|
286
286
|
|
|
287
|
-
// The title and description set Pilat
|
|
288
|
-
// follows the set, which sets the family of the body.
|
|
287
|
+
// The title and description set their Pilat labels through the label typography sets.
|
|
289
288
|
export const description = style(
|
|
290
|
-
{ color: 'content.secondary', margin: '0', typography: '
|
|
289
|
+
{ color: 'content.secondary', margin: '0', typography: 'label.l3' },
|
|
291
290
|
{ id: 'tds/web/toast/description' },
|
|
292
291
|
)
|
|
293
292
|
|
|
@@ -309,7 +308,7 @@ namespace styles {
|
|
|
309
308
|
|
|
310
309
|
export const root = style(
|
|
311
310
|
{
|
|
312
|
-
backgroundColor: 'background.
|
|
311
|
+
backgroundColor: 'background.menu',
|
|
313
312
|
borderRadius: 'sm',
|
|
314
313
|
boxShadow: 'large',
|
|
315
314
|
boxSizing: 'border-box',
|
|
@@ -328,6 +327,19 @@ namespace styles {
|
|
|
328
327
|
userSelect: 'none',
|
|
329
328
|
zIndex: 'calc(1000 - var(--toast-index)) !custom',
|
|
330
329
|
selectors: {
|
|
330
|
+
// The 1px card line is inset, so it adds nothing to the height that Base UI measures.
|
|
331
|
+
'&::before': {
|
|
332
|
+
borderColor: 'line.card',
|
|
333
|
+
borderRadius: 'inherit !custom',
|
|
334
|
+
borderStyle: 'solid !custom',
|
|
335
|
+
borderWidth: 'regular',
|
|
336
|
+
boxSizing: 'border-box',
|
|
337
|
+
content: '"" !custom',
|
|
338
|
+
cornerShape: 'inherit !custom',
|
|
339
|
+
inset: '0',
|
|
340
|
+
pointerEvents: 'none',
|
|
341
|
+
position: 'absolute',
|
|
342
|
+
},
|
|
331
343
|
'&::after': {
|
|
332
344
|
content: '"" !custom',
|
|
333
345
|
height: '16',
|
|
@@ -367,7 +379,7 @@ namespace styles {
|
|
|
367
379
|
)
|
|
368
380
|
|
|
369
381
|
export const title = style(
|
|
370
|
-
{ color: 'content.primary', margin: '0', typography: '
|
|
382
|
+
{ color: 'content.primary', margin: '0', typography: 'label.l2' },
|
|
371
383
|
{ id: 'tds/web/toast/title' },
|
|
372
384
|
)
|
|
373
385
|
|
|
@@ -82,11 +82,9 @@ namespace styles {
|
|
|
82
82
|
export const token = style(
|
|
83
83
|
{
|
|
84
84
|
alignItems: 'center',
|
|
85
|
-
backgroundColor: '
|
|
86
|
-
|
|
85
|
+
backgroundColor: 'container.selected',
|
|
86
|
+
border: 'none !custom',
|
|
87
87
|
borderRadius: 'full',
|
|
88
|
-
borderStyle: 'solid',
|
|
89
|
-
borderWidth: 'regular',
|
|
90
88
|
boxSizing: 'border-box',
|
|
91
89
|
color: 'content.primary',
|
|
92
90
|
columnGap: '8',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Holds the `SidebarMenu.Item` entries that `AppShell` repeats in its bottom bar
|
|
2
|
+
* Holds the `SidebarMenu.Item` entries that `AppShell` repeats in its bottom bar. The
|
|
3
3
|
* store lives outside React state, so an item that registers on every render updates the bar
|
|
4
4
|
* without rendering the shell again.
|
|
5
5
|
* @module
|
package/src/web/index.ts
CHANGED
|
@@ -10,6 +10,7 @@ export { AssetChip } from './components/AssetChip.js'
|
|
|
10
10
|
export { Autocomplete } from './components/Autocomplete.js'
|
|
11
11
|
export { Avatar } from './components/Avatar.js'
|
|
12
12
|
export { Badge } from './components/Badge.js'
|
|
13
|
+
export { BadgedLogo } from './components/BadgedLogo.js'
|
|
13
14
|
export { Banner } from './components/Banner.js'
|
|
14
15
|
export { BarChart } from './components/BarChart.js'
|
|
15
16
|
export { Breadcrumbs } from './components/Breadcrumbs.js'
|
package/src/web/vars.ts
CHANGED
|
@@ -384,12 +384,16 @@ export const variables = Vars.define(
|
|
|
384
384
|
},
|
|
385
385
|
},
|
|
386
386
|
},
|
|
387
|
+
// Dark mode lifts the page to 92% black, and the elevated and menu fills step lighter from
|
|
388
|
+
// it, at the Platform primitive solid steps 090 and 087, which TDS 1.0 Core has no step for.
|
|
387
389
|
background: {
|
|
388
|
-
elevated: { dark:
|
|
389
|
-
|
|
390
|
+
elevated: { dark: '#1a1a1a', light: vars.color.neutral['000'] },
|
|
391
|
+
menu: { dark: '#222', light: vars.color.neutral['000'] },
|
|
392
|
+
primary: { dark: vars.color.neutral['092'], light: vars.color.neutral['004'] },
|
|
390
393
|
secondary: { dark: vars.color.neutral['092'], light: vars.color.neutral['000'] },
|
|
391
|
-
// The layouts fill the sidebar
|
|
392
|
-
|
|
394
|
+
// The layouts fill the sidebar a step lighter than the page in light mode, and with the page
|
|
395
|
+
// in dark mode.
|
|
396
|
+
sidebar: { dark: vars.color.neutral['092'], light: '#fafafa' },
|
|
393
397
|
},
|
|
394
398
|
border: {
|
|
395
399
|
focus: { dark: vars.color.neutral.tint['052'], light: vars.color.neutral.shade['040'] },
|
|
@@ -457,6 +461,8 @@ export const variables = Vars.define(
|
|
|
457
461
|
},
|
|
458
462
|
container: {
|
|
459
463
|
accent: vars.color.accent.alpha.regular.blue['100'],
|
|
464
|
+
// The quiet fill of inputs and other controls.
|
|
465
|
+
control: { dark: vars.color.neutral.tint['004'], light: vars.color.neutral.shade['004'] },
|
|
460
466
|
negative: {
|
|
461
467
|
dark: vars.color.accent.alpha.regular.red['200'],
|
|
462
468
|
light: vars.color.accent.alpha.regular.red['100'],
|
|
@@ -468,6 +474,10 @@ export const variables = Vars.define(
|
|
|
468
474
|
// Dark mode fills the regular container at 8% white, dimmer than Figma's 12%, so badges and
|
|
469
475
|
// other soft fills recede on the dark page.
|
|
470
476
|
regular: { dark: vars.color.neutral.tint['008'], light: vars.color.neutral.shade['004'] },
|
|
477
|
+
// The fill of a selected option, such as a picker row.
|
|
478
|
+
selected: { dark: vars.color.neutral.tint['012'], light: vars.color.neutral['000'] },
|
|
479
|
+
// An opaque fill at the Platform primitive solid steps 079 and 010.
|
|
480
|
+
solid: { dark: '#353535', light: '#e6e6e6' },
|
|
471
481
|
strong: { dark: vars.color.neutral.tint['016'], light: vars.color.neutral.shade['008'] },
|
|
472
482
|
special: 'rgb(126 89 228 / 0.08)',
|
|
473
483
|
subtle: { dark: vars.color.neutral.tint['008'], light: vars.color.neutral.shade['003'] },
|
|
@@ -500,6 +510,8 @@ export const variables = Vars.define(
|
|
|
500
510
|
},
|
|
501
511
|
},
|
|
502
512
|
line: {
|
|
513
|
+
// The border of a card, at 5% white in dark mode.
|
|
514
|
+
card: { dark: '#ffffff0d', light: vars.color.neutral.shade['008'] },
|
|
503
515
|
primary: { dark: vars.color.neutral.tint['024'], light: vars.color.neutral.shade['016'] },
|
|
504
516
|
// Dark mode draws the secondary line at 8% white, dimmer than Figma's 16%, so the borders
|
|
505
517
|
// and dividers recede on the dark fills.
|
|
@@ -508,6 +520,8 @@ export const variables = Vars.define(
|
|
|
508
520
|
},
|
|
509
521
|
material: {
|
|
510
522
|
regular: { dark: vars.color.neutral.tint['048'], light: vars.color.neutral.shade['040'] },
|
|
523
|
+
// The grain over a material, at 7%.
|
|
524
|
+
texture: { dark: '#ffffff12', light: '#00000012' },
|
|
511
525
|
thick: { dark: vars.color.neutral.tint['064'], light: vars.color.neutral.shade['060'] },
|
|
512
526
|
thin: { dark: vars.color.neutral.tint['024'], light: vars.color.neutral.shade['020'] },
|
|
513
527
|
ultrathick: {
|
|
@@ -523,13 +537,19 @@ export const variables = Vars.define(
|
|
|
523
537
|
tertiary: { fill: { hover: vars.color.neutral.tint['012'] } },
|
|
524
538
|
},
|
|
525
539
|
container: { regular: '#70707052' },
|
|
526
|
-
content: {
|
|
540
|
+
content: {
|
|
541
|
+
primary: vars.color.neutral['000'],
|
|
542
|
+
secondary: vars.color.neutral.tint['064'],
|
|
543
|
+
tertiary: vars.color.neutral.tint['052'],
|
|
544
|
+
},
|
|
527
545
|
},
|
|
528
546
|
scrim: {
|
|
529
547
|
regular: vars.color.neutral.shade['016'],
|
|
530
548
|
strong: vars.color.neutral.shade['032'],
|
|
531
549
|
},
|
|
532
550
|
shadow: {
|
|
551
|
+
// The shadow under elevated fills, such as menus and modals.
|
|
552
|
+
elevated: { dark: '#0000003d', light: vars.color.neutral.shade['012'] },
|
|
533
553
|
primary: { dark: vars.color.neutral.shade['032'], light: vars.color.neutral.shade['008'] },
|
|
534
554
|
secondary: {
|
|
535
555
|
dark: vars.color.neutral.shade['016'],
|
|
@@ -663,6 +683,24 @@ export const variables = Vars.define(
|
|
|
663
683
|
lineHeight: '20.7px',
|
|
664
684
|
},
|
|
665
685
|
},
|
|
686
|
+
// Labels set Pilat at the size and weight of B2 Strong and B3 Strong, tracked by 1% as the
|
|
687
|
+
// Platform Tab and Toast draw them.
|
|
688
|
+
label: {
|
|
689
|
+
l2: {
|
|
690
|
+
fontFamily: vars.fontFamily.heading,
|
|
691
|
+
fontSize: '14px',
|
|
692
|
+
fontWeight: 500,
|
|
693
|
+
letterSpacing: '.14px',
|
|
694
|
+
lineHeight: '20px',
|
|
695
|
+
},
|
|
696
|
+
l3: {
|
|
697
|
+
fontFamily: vars.fontFamily.heading,
|
|
698
|
+
fontSize: '12px',
|
|
699
|
+
fontWeight: 500,
|
|
700
|
+
letterSpacing: '.15px',
|
|
701
|
+
lineHeight: '16px',
|
|
702
|
+
},
|
|
703
|
+
},
|
|
666
704
|
mono: {
|
|
667
705
|
m1: {
|
|
668
706
|
fontFamily: vars.fontFamily.mono,
|