@tempoxyz/ds 0.3.11 → 0.3.13
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 +7 -6
- package/dist/docs/AGENTS.md +8 -5
- package/dist/docs/index.md +143 -135
- package/dist/docs/marketing/introduction/getting-started.md +241 -0
- package/dist/docs/{components → product/components}/accordion.md +8 -8
- package/dist/docs/{components → product/components}/address-card.md +5 -5
- package/dist/docs/{components → product/components}/agent-logo.md +5 -5
- package/dist/docs/{components → product/components}/alert-dialog.md +11 -11
- package/dist/docs/{components → product/components}/alert.md +11 -11
- package/dist/docs/{components → product/components}/amount-input.md +13 -13
- package/dist/docs/{components → product/components}/amount.md +8 -8
- package/dist/docs/{components → product/components}/app-shell.md +13 -13
- package/dist/docs/{components → product/components}/asset-chip.md +11 -11
- package/dist/docs/{components → product/components}/autocomplete.md +10 -9
- package/dist/docs/{components → product/components}/avatar.md +8 -8
- package/dist/docs/{components → product/components}/badge.md +9 -9
- package/dist/docs/{components → product/components}/badged-logo.md +6 -6
- package/dist/docs/{components → product/components}/banner.md +8 -8
- package/dist/docs/{components → product/components}/bar-chart.md +7 -7
- package/dist/docs/{components → product/components}/breadcrumbs.md +8 -8
- package/dist/docs/{components → product/components}/button-group.md +8 -8
- package/dist/docs/{components → product/components}/button.md +17 -17
- package/dist/docs/{components → product/components}/calendar.md +8 -8
- package/dist/docs/{components → product/components}/callout.md +5 -5
- package/dist/docs/{components → product/components}/checkbox-group.md +13 -13
- package/dist/docs/{components → product/components}/checkbox.md +12 -12
- package/dist/docs/{components → product/components}/choice-group.md +14 -14
- package/dist/docs/{components → product/components}/choicebox.md +9 -9
- package/dist/docs/{components → product/components}/code.md +5 -5
- package/dist/docs/{components → product/components}/combobox.md +9 -9
- package/dist/docs/{components → product/components}/container.md +7 -7
- package/dist/docs/{components → product/components}/copy-button.md +13 -13
- package/dist/docs/{components → product/components}/date-picker.md +11 -11
- package/dist/docs/{components → product/components}/dialog.md +17 -17
- package/dist/docs/{components → product/components}/drawer.md +11 -11
- package/dist/docs/{components → product/components}/empty.md +9 -9
- package/dist/docs/{components → product/components}/field.md +14 -14
- package/dist/docs/{components → product/components}/fieldset.md +6 -6
- package/dist/docs/{components → product/components}/frame.md +9 -9
- package/dist/docs/{components → product/components}/gauge.md +7 -7
- package/dist/docs/{components → product/components}/get-started-visual.md +4 -4
- package/dist/docs/{components → product/components}/grid.md +7 -7
- package/dist/docs/{components → product/components}/hero-visual.md +4 -4
- package/dist/docs/{components → product/components}/hex.md +9 -9
- package/dist/docs/{components → product/components}/icon-tile.md +8 -8
- package/dist/docs/{components → product/components}/identicon.md +7 -7
- package/dist/docs/{components → product/components}/inline.md +7 -7
- package/dist/docs/{components → product/components}/inset.md +8 -8
- package/dist/docs/{components → product/components}/kbd.md +8 -8
- package/dist/docs/{components → product/components}/list-group.md +24 -24
- package/dist/docs/{components → product/components}/loading-dots.md +8 -8
- package/dist/docs/{components → product/components}/menu.md +14 -14
- package/dist/docs/{components → product/components}/native-select.md +7 -7
- package/dist/docs/{components → product/components}/network-logo.md +7 -7
- package/dist/docs/{components → product/components}/number-field.md +8 -8
- package/dist/docs/{components → product/components}/otp-field.md +9 -9
- package/dist/docs/{components → product/components}/pagination.md +8 -8
- package/dist/docs/{components → product/components}/popover.md +11 -11
- package/dist/docs/{components → product/components}/progress.md +10 -10
- package/dist/docs/{components → product/components}/qr.md +8 -8
- package/dist/docs/{components → product/components}/radio-group.md +10 -10
- package/dist/docs/{components → product/components}/secret-value.md +8 -8
- package/dist/docs/{components → product/components}/select.md +13 -13
- package/dist/docs/{components → product/components}/separator.md +7 -7
- package/dist/docs/{components → product/components}/sidebar-menu.md +11 -11
- package/dist/docs/{components → product/components}/skeleton.md +9 -9
- package/dist/docs/{components → product/components}/slider.md +8 -8
- package/dist/docs/{components → product/components}/snippet.md +10 -10
- package/dist/docs/{components → product/components}/spinner.md +12 -12
- package/dist/docs/{components → product/components}/split-bar.md +5 -5
- package/dist/docs/{components → product/components}/split-button.md +11 -11
- package/dist/docs/{components → product/components}/stack.md +8 -8
- package/dist/docs/{components → product/components}/status-chip.md +7 -7
- package/dist/docs/{components → product/components}/status-indicator.md +6 -6
- package/dist/docs/{components → product/components}/status-row.md +7 -7
- package/dist/docs/{components → product/components}/stepper.md +9 -9
- package/dist/docs/{components → product/components}/success-hero.md +5 -5
- package/dist/docs/{components → product/components}/surface.md +11 -11
- package/dist/docs/{components → product/components}/switch.md +11 -11
- package/dist/docs/{components → product/components}/table.md +16 -16
- package/dist/docs/{components → product/components}/tabs.md +11 -11
- package/dist/docs/{components → product/components}/tempo-logo.md +4 -4
- package/dist/docs/{components → product/components}/text-input.md +14 -14
- package/dist/docs/{components → product/components}/textarea.md +7 -7
- package/dist/docs/{components → product/components}/toast.md +11 -11
- package/dist/docs/{components → product/components}/token-logo.md +16 -16
- package/dist/docs/{components → product/components}/token.md +10 -10
- package/dist/docs/{components → product/components}/tooltip.md +11 -11
- package/dist/docs/{components → product/components}/verification-code.md +4 -4
- package/dist/docs/{components → product/components}/visual.md +5 -5
- package/dist/docs/product/components.md +203 -0
- package/dist/docs/{foundations → product/foundations}/accessibility.md +16 -16
- package/dist/docs/{foundations → product/foundations}/agents.md +17 -17
- package/dist/docs/{foundations → product/foundations}/color.md +7 -7
- package/dist/docs/{foundations → product/foundations}/content/tone.md +7 -7
- package/dist/docs/{foundations → product/foundations}/content/voice.md +2 -2
- package/dist/docs/{foundations → product/foundations}/content/writing-style.md +8 -8
- package/dist/docs/{foundations → product/foundations}/iconography.md +11 -11
- package/dist/docs/{foundations → product/foundations}/intent.md +28 -28
- package/dist/docs/{foundations → product/foundations}/layout.md +22 -22
- package/dist/docs/product/foundations/linter.md +496 -0
- package/dist/docs/{foundations → product/foundations}/motion.md +7 -7
- package/dist/docs/{foundations → product/foundations}/radius-and-padding.md +3 -3
- package/dist/docs/{foundations → product/foundations}/typography.md +4 -4
- package/dist/docs/{introduction → product/introduction}/faq.md +22 -21
- package/dist/docs/{introduction → product/introduction}/getting-started.md +4 -4
- package/dist/docs/{patterns → product/patterns}/blockchain-values.md +20 -20
- package/dist/docs/{patterns → product/patterns}/dashboards.md +28 -28
- package/dist/docs/{patterns → product/patterns}/destructive-actions.md +16 -16
- package/dist/docs/{patterns → product/patterns}/empty-states.md +14 -14
- package/dist/docs/{patterns → product/patterns}/errors-and-validation.md +23 -23
- package/dist/docs/{patterns → product/patterns}/feedback-and-status.md +31 -31
- package/dist/docs/{patterns → product/patterns}/forms.md +24 -24
- package/dist/docs/{patterns → product/patterns}/loading.md +19 -19
- package/dist/docs/{patterns → product/patterns}/navigation.md +23 -23
- package/dist/docs/{patterns → product/patterns}/payments.md +20 -20
- package/dist/docs/{patterns → product/patterns}/responsive-layout.md +23 -23
- package/dist/docs/{patterns → product/patterns}/tables-and-lists.md +19 -19
- package/dist/docs/{products → product/products}/tempo-console.md +12 -12
- package/dist/docs/{products → product/products}/tempo-performance.md +11 -11
- package/dist/docs/{products → product/products}/tempo-wallet.md +12 -12
- package/dist/marketing/index.d.ts +4 -0
- package/dist/marketing/index.d.ts.map +1 -0
- package/dist/marketing/index.js +4 -0
- package/dist/marketing/index.js.map +1 -0
- package/dist/marketing/index.js.zyzz.json +1 -0
- package/dist/marketing/vars.d.ts +907 -0
- package/dist/marketing/vars.d.ts.map +1 -0
- package/dist/marketing/vars.js +15 -0
- package/dist/marketing/vars.js.map +1 -0
- package/dist/marketing/vars.js.zyzz.json +1 -0
- package/dist/marketing/zyzz.config.d.ts +4512 -0
- package/dist/marketing/zyzz.config.d.ts.map +1 -0
- package/dist/marketing/zyzz.config.js +63 -0
- package/dist/marketing/zyzz.config.js.map +1 -0
- package/dist/marketing/zyzz.config.js.zyzz.json +1 -0
- package/dist/oxlint/index.d.ts +12 -1
- package/dist/oxlint/index.d.ts.map +1 -1
- package/dist/oxlint/index.js +39 -1
- package/dist/oxlint/index.js.map +1 -1
- package/dist/oxlint/internal/Docs.d.ts +9 -0
- package/dist/oxlint/internal/Docs.d.ts.map +1 -0
- package/dist/oxlint/internal/Docs.js +15 -0
- package/dist/oxlint/internal/Docs.js.map +1 -0
- package/dist/oxlint/internal/Imports.d.ts +1 -1
- package/dist/oxlint/internal/Imports.d.ts.map +1 -1
- package/dist/oxlint/internal/Imports.js +2 -0
- package/dist/oxlint/internal/Imports.js.map +1 -1
- package/dist/oxlint/internal/Styles.d.ts +40 -0
- package/dist/oxlint/internal/Styles.d.ts.map +1 -0
- package/dist/oxlint/internal/Styles.js +194 -0
- package/dist/oxlint/internal/Styles.js.map +1 -0
- package/dist/oxlint/internal/Tokens.d.ts +16 -0
- package/dist/oxlint/internal/Tokens.d.ts.map +1 -0
- package/dist/oxlint/internal/Tokens.js +39 -0
- package/dist/oxlint/internal/Tokens.js.map +1 -0
- package/dist/oxlint/rules/NoCrossSurface.d.ts +2 -2
- package/dist/oxlint/rules/NoCrossSurface.js +3 -3
- package/dist/oxlint/rules/NoCrossSurface.js.map +1 -1
- package/dist/oxlint/rules/NoCustomValues.d.ts +11 -0
- package/dist/oxlint/rules/NoCustomValues.d.ts.map +1 -0
- package/dist/oxlint/rules/NoCustomValues.js +150 -0
- package/dist/oxlint/rules/NoCustomValues.js.map +1 -0
- package/dist/oxlint/rules/NoSingleKeyShortcuts.d.ts +11 -0
- package/dist/oxlint/rules/NoSingleKeyShortcuts.d.ts.map +1 -0
- package/dist/oxlint/rules/NoSingleKeyShortcuts.js +158 -0
- package/dist/oxlint/rules/NoSingleKeyShortcuts.js.map +1 -0
- package/dist/oxlint/rules/PreferComponent.d.ts +3 -2
- package/dist/oxlint/rules/PreferComponent.d.ts.map +1 -1
- package/dist/oxlint/rules/PreferComponent.js +11 -4
- package/dist/oxlint/rules/PreferComponent.js.map +1 -1
- package/dist/oxlint/rules/PreferLayout.d.ts +9 -0
- package/dist/oxlint/rules/PreferLayout.d.ts.map +1 -0
- package/dist/oxlint/rules/PreferLayout.js +90 -0
- package/dist/oxlint/rules/PreferLayout.js.map +1 -0
- package/dist/oxlint/rules/PreferProgress.d.ts +9 -0
- package/dist/oxlint/rules/PreferProgress.d.ts.map +1 -0
- package/dist/oxlint/rules/PreferProgress.js +43 -0
- package/dist/oxlint/rules/PreferProgress.js.map +1 -0
- package/dist/oxlint/rules/PreferSurface.d.ts +9 -0
- package/dist/oxlint/rules/PreferSurface.d.ts.map +1 -0
- package/dist/oxlint/rules/PreferSurface.js +55 -0
- package/dist/oxlint/rules/PreferSurface.js.map +1 -0
- package/dist/oxlint/rules/RequireAccessibleName.d.ts.map +1 -1
- package/dist/oxlint/rules/RequireAccessibleName.js +3 -1
- package/dist/oxlint/rules/RequireAccessibleName.js.map +1 -1
- package/dist/oxlint/rules/RequireScrollRegion.d.ts +11 -0
- package/dist/oxlint/rules/RequireScrollRegion.d.ts.map +1 -0
- package/dist/oxlint/rules/RequireScrollRegion.js +71 -0
- package/dist/oxlint/rules/RequireScrollRegion.js.map +1 -0
- package/dist/web/icons/index.js.zyzz.json +1 -0
- package/package.json +6 -1
- package/src/marketing/README.md +21 -0
- package/src/marketing/index.ts +3 -0
- package/src/marketing/vars.ts +751 -0
- package/src/marketing/zyzz.config.ts +376 -0
- package/src/oxlint/index.ts +40 -1
- package/src/oxlint/internal/Docs.ts +18 -0
- package/src/oxlint/internal/Imports.ts +2 -1
- package/src/oxlint/internal/Styles.ts +240 -0
- package/src/oxlint/internal/Tokens.ts +43 -0
- package/src/oxlint/rules/NoCrossSurface.ts +3 -3
- package/src/oxlint/rules/NoCustomValues.ts +170 -0
- package/src/oxlint/rules/NoSingleKeyShortcuts.ts +190 -0
- package/src/oxlint/rules/PreferComponent.ts +11 -4
- package/src/oxlint/rules/PreferLayout.ts +96 -0
- package/src/oxlint/rules/PreferProgress.ts +49 -0
- package/src/oxlint/rules/PreferSurface.ts +70 -0
- package/src/oxlint/rules/RequireAccessibleName.ts +3 -1
- package/src/oxlint/rules/RequireScrollRegion.ts +92 -0
- package/dist/docs/components.md +0 -203
- package/dist/docs/foundations/linter.md +0 -296
|
@@ -8,7 +8,7 @@ Figma: [Elements/Asset Chip](https://www.figma.com/design/yE96kcymnNR88PJp6G1sPs
|
|
|
8
8
|
|
|
9
9
|
## Overview
|
|
10
10
|
|
|
11
|
-
An asset chip renders a small gray label for something a row or value supports, such as the assets a network accepts. Place a [TokenLogo](
|
|
11
|
+
An asset chip renders a small gray label for something a row or value supports, such as the assets a network accepts. Place a [TokenLogo](token-logo.md) before the text to add a 12px token logo. Give it an `onClick` to pick one asset from a short set.
|
|
12
12
|
|
|
13
13
|
## Examples
|
|
14
14
|
|
|
@@ -43,7 +43,7 @@ namespace styles {
|
|
|
43
43
|
|
|
44
44
|
### Logo
|
|
45
45
|
|
|
46
|
-
A nested [TokenLogo](
|
|
46
|
+
A nested [TokenLogo](token-logo.md) renders at 12px, whatever its `size`.
|
|
47
47
|
|
|
48
48
|
```tsx
|
|
49
49
|
import { AssetChip, style, TokenLogo } from '@tempoxyz/ds'
|
|
@@ -141,9 +141,9 @@ import { AssetChip, TokenLogo } from '@tempoxyz/ds'
|
|
|
141
141
|
|
|
142
142
|
### When Not to Use
|
|
143
143
|
|
|
144
|
-
* Use [Badge](
|
|
145
|
-
* Use [Token](
|
|
146
|
-
* Use [Button](
|
|
144
|
+
* Use [Badge](badge.md) to show a status, such as Pending.
|
|
145
|
+
* Use [Token](token.md) for a token that a person can change.
|
|
146
|
+
* Use [Button](button.md) for an action other than picking an asset.
|
|
147
147
|
|
|
148
148
|
### List What a Row Supports
|
|
149
149
|
|
|
@@ -194,7 +194,7 @@ namespace styles {
|
|
|
194
194
|
}
|
|
195
195
|
```
|
|
196
196
|
|
|
197
|
-
**Don't:** Use an asset chip to show a status. Use a [Badge](
|
|
197
|
+
**Don't:** Use an asset chip to show a status. Use a [Badge](badge.md).
|
|
198
198
|
|
|
199
199
|
```tsx
|
|
200
200
|
/**
|
|
@@ -273,22 +273,22 @@ A static chip takes no focus. A chip with an `onClick` is a native button:
|
|
|
273
273
|
|
|
274
274
|
## Related
|
|
275
275
|
|
|
276
|
-
[TokenLogo](
|
|
276
|
+
[TokenLogo](token-logo.md)
|
|
277
277
|
|
|
278
278
|
Use for token logos.
|
|
279
279
|
|
|
280
|
-
[Token](
|
|
280
|
+
[Token](token.md)
|
|
281
281
|
|
|
282
282
|
Use for a token that a person can change.
|
|
283
283
|
|
|
284
|
-
[NetworkLogo](
|
|
284
|
+
[NetworkLogo](network-logo.md)
|
|
285
285
|
|
|
286
286
|
Use for network logos.
|
|
287
287
|
|
|
288
|
-
[Badge](
|
|
288
|
+
[Badge](badge.md)
|
|
289
289
|
|
|
290
290
|
Use for statuses.
|
|
291
291
|
|
|
292
|
-
[ListGroup](
|
|
292
|
+
[ListGroup](list-group.md)
|
|
293
293
|
|
|
294
294
|
Use for network and asset lists.
|
|
@@ -77,13 +77,13 @@ import { Autocomplete } from '@tempoxyz/ds'
|
|
|
77
77
|
|
|
78
78
|
### When Not to Use
|
|
79
79
|
|
|
80
|
-
* If the value must be one of the items, such as the asset to send, use [Combobox](
|
|
81
|
-
* Use [Select](
|
|
82
|
-
* If there is nothing useful to suggest, use [TextInput](
|
|
80
|
+
* If the value must be one of the items, such as the asset to send, use [Combobox](combobox.md).
|
|
81
|
+
* Use [Select](select.md) for a short list of fixed options.
|
|
82
|
+
* If there is nothing useful to suggest, use [TextInput](text-input.md).
|
|
83
83
|
|
|
84
84
|
### Accept Any Typed Value
|
|
85
85
|
|
|
86
|
-
Validate the text as you would a plain [TextInput](
|
|
86
|
+
Validate the text as you would a plain [TextInput](text-input.md), such as a 0x prefix on an address, and explain problems in a `Field.Error`.
|
|
87
87
|
|
|
88
88
|
**Do:** Accept a new 0x address that isn't among the suggestions.
|
|
89
89
|
|
|
@@ -231,6 +231,7 @@ const recipients = [
|
|
|
231
231
|
/** Renders the static preview, which the guideline card shows inert. */
|
|
232
232
|
export function Demo() {
|
|
233
233
|
return (
|
|
234
|
+
// oxlint-disable-next-line tds/require-scroll-region -- An inert picture of a popup, which never takes focus.
|
|
234
235
|
<div {...styles.popup()}>
|
|
235
236
|
{recipients.map((recipient) => (
|
|
236
237
|
<div key={recipient} {...styles.item()}>
|
|
@@ -598,22 +599,22 @@ DOM focus stays on the input while the arrow keys highlight suggestions, so typi
|
|
|
598
599
|
|
|
599
600
|
## Related
|
|
600
601
|
|
|
601
|
-
[Combobox](
|
|
602
|
+
[Combobox](combobox.md)
|
|
602
603
|
|
|
603
604
|
Use for choosing from fixed options.
|
|
604
605
|
|
|
605
|
-
[TextInput](
|
|
606
|
+
[TextInput](text-input.md)
|
|
606
607
|
|
|
607
608
|
Use for text without suggestions.
|
|
608
609
|
|
|
609
|
-
[Field](
|
|
610
|
+
[Field](field.md)
|
|
610
611
|
|
|
611
612
|
Use for the label and error.
|
|
612
613
|
|
|
613
|
-
[Select](
|
|
614
|
+
[Select](select.md)
|
|
614
615
|
|
|
615
616
|
Use for short lists.
|
|
616
617
|
|
|
617
|
-
[Blockchain Values](
|
|
618
|
+
[Blockchain Values](../patterns/blockchain-values.md)
|
|
618
619
|
|
|
619
620
|
Covers entering and showing addresses.
|
|
@@ -107,9 +107,9 @@ import { Avatar } from '@tempoxyz/ds'
|
|
|
107
107
|
|
|
108
108
|
### When Not to Use
|
|
109
109
|
|
|
110
|
-
* Use [Identicon](
|
|
111
|
-
* Use [TokenLogo](
|
|
112
|
-
* Use [IconTile](
|
|
110
|
+
* Use [Identicon](identicon.md) for an account known only by its address.
|
|
111
|
+
* Use [TokenLogo](token-logo.md) for the icon of a token or asset.
|
|
112
|
+
* Use [IconTile](icon-tile.md) for the icon above a centered modal title.
|
|
113
113
|
|
|
114
114
|
### Choose Avatar or Identicon
|
|
115
115
|
|
|
@@ -121,7 +121,7 @@ import { Avatar } from '@tempoxyz/ds'
|
|
|
121
121
|
|
|
122
122
|
* **People and organizations:** Use initials.
|
|
123
123
|
* **Wallets and apps:** Use an icon.
|
|
124
|
-
* **Accounts known by address:** Use an [Identicon](
|
|
124
|
+
* **Accounts known by address:** Use an [Identicon](identicon.md) with `size="fill"`.
|
|
125
125
|
|
|
126
126
|
**Do:** Give every avatar a fallback, such as initials, an icon, or an `Identicon`.
|
|
127
127
|
|
|
@@ -304,18 +304,18 @@ An avatar takes no focus. To open a profile, wrap the avatar and name in one lin
|
|
|
304
304
|
|
|
305
305
|
## Related
|
|
306
306
|
|
|
307
|
-
[Identicon](
|
|
307
|
+
[Identicon](identicon.md)
|
|
308
308
|
|
|
309
309
|
Use for accounts known by address.
|
|
310
310
|
|
|
311
|
-
[TokenLogo](
|
|
311
|
+
[TokenLogo](token-logo.md)
|
|
312
312
|
|
|
313
313
|
Use for token icons.
|
|
314
314
|
|
|
315
|
-
[IconTile](
|
|
315
|
+
[IconTile](icon-tile.md)
|
|
316
316
|
|
|
317
317
|
Use for the icon above a centered modal title.
|
|
318
318
|
|
|
319
|
-
[ListGroup](
|
|
319
|
+
[ListGroup](list-group.md)
|
|
320
320
|
|
|
321
321
|
Use for lists of people and accounts.
|
|
@@ -166,11 +166,11 @@ import { Badge } from '@tempoxyz/ds'
|
|
|
166
166
|
|
|
167
167
|
### When Not to Use
|
|
168
168
|
|
|
169
|
-
* Use an [Alert](
|
|
170
|
-
* Use a [Button](
|
|
171
|
-
* Use the `status` of a [Table](
|
|
172
|
-
* Use a [ChoiceGroup](
|
|
173
|
-
* Use [Kbd](
|
|
169
|
+
* Use an [Alert](alert.md) or [Banner](banner.md) for a message that needs a sentence.
|
|
170
|
+
* Use a [Button](button.md) for an action, such as Retry.
|
|
171
|
+
* Use the `status` of a [Table](table.md) cell to color a status in a table.
|
|
172
|
+
* Use a [ChoiceGroup](choice-group.md) to switch between two to four views.
|
|
173
|
+
* Use [Kbd](kbd.md) for keyboard keys.
|
|
174
174
|
|
|
175
175
|
### Choose a Variant by Emphasis
|
|
176
176
|
|
|
@@ -322,18 +322,18 @@ A static badge takes no focus. A badge rendered as a button or link is a native
|
|
|
322
322
|
|
|
323
323
|
## Related
|
|
324
324
|
|
|
325
|
-
[Table](
|
|
325
|
+
[Table](table.md)
|
|
326
326
|
|
|
327
327
|
Use for status columns.
|
|
328
328
|
|
|
329
|
-
[Alert](
|
|
329
|
+
[Alert](alert.md)
|
|
330
330
|
|
|
331
331
|
Use for messages about a section.
|
|
332
332
|
|
|
333
|
-
[ChoiceGroup](
|
|
333
|
+
[ChoiceGroup](choice-group.md)
|
|
334
334
|
|
|
335
335
|
Use for switching views.
|
|
336
336
|
|
|
337
|
-
[Feedback and Status](
|
|
337
|
+
[Feedback and Status](../patterns/feedback-and-status.md)
|
|
338
338
|
|
|
339
339
|
Covers status conventions.
|
|
@@ -77,9 +77,9 @@ import { BadgedLogo } from '@tempoxyz/ds'
|
|
|
77
77
|
|
|
78
78
|
### When Not to Use
|
|
79
79
|
|
|
80
|
-
* Use [TokenLogo](
|
|
81
|
-
* Use [Avatar](
|
|
82
|
-
* Use [IconTile](
|
|
80
|
+
* Use [TokenLogo](token-logo.md) for a token without a badge.
|
|
81
|
+
* Use [Avatar](avatar.md) for a person, a contact, or a wallet.
|
|
82
|
+
* Use [IconTile](icon-tile.md) for one icon above the title of a modal.
|
|
83
83
|
|
|
84
84
|
### Put the Logo First and the Badge Last
|
|
85
85
|
|
|
@@ -103,14 +103,14 @@ A badged logo renders `<span>` elements with no role and takes no focus.
|
|
|
103
103
|
|
|
104
104
|
## Related
|
|
105
105
|
|
|
106
|
-
[TokenLogo](
|
|
106
|
+
[TokenLogo](token-logo.md)
|
|
107
107
|
|
|
108
108
|
Use for a token logo without a badge.
|
|
109
109
|
|
|
110
|
-
[Avatar](
|
|
110
|
+
[Avatar](avatar.md)
|
|
111
111
|
|
|
112
112
|
Use for people, contacts, and wallets.
|
|
113
113
|
|
|
114
|
-
[IconTile](
|
|
114
|
+
[IconTile](icon-tile.md)
|
|
115
115
|
|
|
116
116
|
Use for one icon above the title of a modal.
|
|
@@ -82,10 +82,10 @@ import { Banner } from '@tempoxyz/ds'
|
|
|
82
82
|
|
|
83
83
|
### When Not to Use
|
|
84
84
|
|
|
85
|
-
* Use [Alert](
|
|
86
|
-
* Use [Toast](
|
|
87
|
-
* If an action needs a decision before it continues, use [AlertDialog](
|
|
88
|
-
* Use `Field.Error` from [Field](
|
|
85
|
+
* Use [Alert](alert.md) for a message about one section, form, or field.
|
|
86
|
+
* Use [Toast](toast.md) to confirm that an action finished, such as Payment sent.
|
|
87
|
+
* If an action needs a decision before it continues, use [AlertDialog](alert-dialog.md).
|
|
88
|
+
* Use `Field.Error` from [Field](field.md) for a validation message on one input.
|
|
89
89
|
|
|
90
90
|
### Choose an Intent by Severity
|
|
91
91
|
|
|
@@ -362,18 +362,18 @@ Renders a plain `div` with no role and no live region. The action and dismiss co
|
|
|
362
362
|
|
|
363
363
|
## Related
|
|
364
364
|
|
|
365
|
-
[Alert](
|
|
365
|
+
[Alert](alert.md)
|
|
366
366
|
|
|
367
367
|
Use for a message about one section.
|
|
368
368
|
|
|
369
|
-
[Toast](
|
|
369
|
+
[Toast](toast.md)
|
|
370
370
|
|
|
371
371
|
Use for confirming a finished action.
|
|
372
372
|
|
|
373
|
-
[AlertDialog](
|
|
373
|
+
[AlertDialog](alert-dialog.md)
|
|
374
374
|
|
|
375
375
|
Use for a decision before an action continues.
|
|
376
376
|
|
|
377
|
-
[Feedback and Status](
|
|
377
|
+
[Feedback and Status](../patterns/feedback-and-status.md)
|
|
378
378
|
|
|
379
379
|
Covers choosing a message component.
|
|
@@ -109,9 +109,9 @@ import { BarChart } from '@tempoxyz/ds'
|
|
|
109
109
|
|
|
110
110
|
### When Not to Use
|
|
111
111
|
|
|
112
|
-
* Use [SplitBar](
|
|
113
|
-
* Use [Table](
|
|
114
|
-
* Use [Gauge](
|
|
112
|
+
* Use [SplitBar](split-bar.md) to split one total between two parts.
|
|
113
|
+
* Use [Table](table.md) when people need to read or compare exact values.
|
|
114
|
+
* Use [Gauge](gauge.md) for one value against a limit.
|
|
115
115
|
|
|
116
116
|
### Keep Each Series in One Color
|
|
117
117
|
|
|
@@ -191,18 +191,18 @@ A bar chart renders a `<div>` with the `figure` role. Its plot takes focus, and
|
|
|
191
191
|
### Your Responsibilities
|
|
192
192
|
|
|
193
193
|
* **Name the Chart (aria-label):** Pass `aria-label`, or `aria-labelledby` pointing at the chart's heading.
|
|
194
|
-
* **Offer the Values (Table):** Offer the same values in a [Table](
|
|
194
|
+
* **Offer the Values (Table):** Offer the same values in a [Table](table.md) when people need exact values.
|
|
195
195
|
|
|
196
196
|
## Related
|
|
197
197
|
|
|
198
|
-
[SplitBar](
|
|
198
|
+
[SplitBar](split-bar.md)
|
|
199
199
|
|
|
200
200
|
Use for one total split between two parts.
|
|
201
201
|
|
|
202
|
-
[AgentLogo](
|
|
202
|
+
[AgentLogo](agent-logo.md)
|
|
203
203
|
|
|
204
204
|
Use for the agent of each series.
|
|
205
205
|
|
|
206
|
-
[Table](
|
|
206
|
+
[Table](table.md)
|
|
207
207
|
|
|
208
208
|
Use for exact values.
|
|
@@ -68,10 +68,10 @@ import { Breadcrumbs } from '@tempoxyz/ds'
|
|
|
68
68
|
|
|
69
69
|
### When Not to Use
|
|
70
70
|
|
|
71
|
-
* Use [SidebarMenu](
|
|
72
|
-
* Use [Stepper](
|
|
73
|
-
* Use [Tabs](
|
|
74
|
-
* Use `Button.Link` from [Button](
|
|
71
|
+
* Use [SidebarMenu](sidebar-menu.md) to move between top-level sections.
|
|
72
|
+
* Use [Stepper](stepper.md) to show progress through a flow, such as Send payment.
|
|
73
|
+
* Use [Tabs](tabs.md) to switch between views of the same page.
|
|
74
|
+
* Use `Button.Link` from [Button](button.md) with `variant="tertiary"` for a single Back link in a two-level product.
|
|
75
75
|
|
|
76
76
|
### Reserve Breadcrumbs for Deep Hierarchies
|
|
77
77
|
|
|
@@ -363,18 +363,18 @@ Renders a navigation landmark with an ordered list of links, following the [WAI-
|
|
|
363
363
|
|
|
364
364
|
## Related
|
|
365
365
|
|
|
366
|
-
[SidebarMenu](
|
|
366
|
+
[SidebarMenu](sidebar-menu.md)
|
|
367
367
|
|
|
368
368
|
Use for top-level navigation.
|
|
369
369
|
|
|
370
|
-
[AppShell](
|
|
370
|
+
[AppShell](app-shell.md)
|
|
371
371
|
|
|
372
372
|
Use for the page frame that holds the trail.
|
|
373
373
|
|
|
374
|
-
[Tabs](
|
|
374
|
+
[Tabs](tabs.md)
|
|
375
375
|
|
|
376
376
|
Use for switching views within a page.
|
|
377
377
|
|
|
378
|
-
[Navigation](
|
|
378
|
+
[Navigation](../patterns/navigation.md)
|
|
379
379
|
|
|
380
380
|
Covers choosing between navigation components.
|
|
@@ -8,7 +8,7 @@ Figma: [Button Group](https://www.figma.com/design/yE96kcymnNR88PJp6G1sPs?node-i
|
|
|
8
8
|
|
|
9
9
|
## Overview
|
|
10
10
|
|
|
11
|
-
A button group places [Buttons](
|
|
11
|
+
A button group places [Buttons](button.md) side by side at equal widths, or stacks them at full width.
|
|
12
12
|
|
|
13
13
|
## Examples
|
|
14
14
|
|
|
@@ -83,9 +83,9 @@ import { Button, ButtonGroup } from '@tempoxyz/ds'
|
|
|
83
83
|
|
|
84
84
|
### When Not to Use
|
|
85
85
|
|
|
86
|
-
* Use a [SplitButton](
|
|
87
|
-
* Use an [Inline](
|
|
88
|
-
* Use a [Menu](
|
|
86
|
+
* Use a [SplitButton](split-button.md) for a main action with related alternatives.
|
|
87
|
+
* Use an [Inline](inline.md) row for actions at their natural width, such as a toolbar.
|
|
88
|
+
* Use a [Menu](menu.md) for more than three actions.
|
|
89
89
|
|
|
90
90
|
### Put the Primary Action Last
|
|
91
91
|
|
|
@@ -265,7 +265,7 @@ namespace styles {
|
|
|
265
265
|
|
|
266
266
|
## Accessibility
|
|
267
267
|
|
|
268
|
-
`ButtonGroup` renders a `div` with `role="group"` around native buttons. See [Accessibility](
|
|
268
|
+
`ButtonGroup` renders a `div` with `role="group"` around native buttons. See [Accessibility](../foundations/accessibility.md) for the baseline.
|
|
269
269
|
|
|
270
270
|
* **Group (group):** Groups the actions. Name it with `aria-label` when the dialog title does not.
|
|
271
271
|
* **Focus Order (Tab):** Follows the source order, which matches the visual order in both orientations.
|
|
@@ -273,14 +273,14 @@ namespace styles {
|
|
|
273
273
|
|
|
274
274
|
## Related
|
|
275
275
|
|
|
276
|
-
[Button](
|
|
276
|
+
[Button](button.md)
|
|
277
277
|
|
|
278
278
|
Use for each action in the group.
|
|
279
279
|
|
|
280
|
-
[Dialog](
|
|
280
|
+
[Dialog](dialog.md)
|
|
281
281
|
|
|
282
282
|
Use for the focused task that the group closes.
|
|
283
283
|
|
|
284
|
-
[AlertDialog](
|
|
284
|
+
[AlertDialog](alert-dialog.md)
|
|
285
285
|
|
|
286
286
|
Use for confirming a destructive action.
|
|
@@ -270,9 +270,9 @@ import { Button } from '@tempoxyz/ds'
|
|
|
270
270
|
### When Not to Use
|
|
271
271
|
|
|
272
272
|
* Use a text link for navigation inside sentences, lists, and tables.
|
|
273
|
-
* Use [CopyButton](
|
|
274
|
-
* Use [Tabs](
|
|
275
|
-
* If a section has more than three secondary actions, put them in a [Menu](
|
|
273
|
+
* Use [CopyButton](copy-button.md) to copy a value, and [SplitButton](split-button.md) for a main action with related alternatives.
|
|
274
|
+
* Use [Tabs](tabs.md) or [ChoiceGroup](choice-group.md) to switch views, and [Switch](switch.md) to turn a setting on or off.
|
|
275
|
+
* If a section has more than three secondary actions, put them in a [Menu](menu.md) behind an icon button.
|
|
276
276
|
|
|
277
277
|
### Choose a Variant by Emphasis
|
|
278
278
|
|
|
@@ -280,11 +280,11 @@ import { Button } from '@tempoxyz/ds'
|
|
|
280
280
|
* **Supporting Actions (secondary):** Supporting actions beside a primary action, or actions of equal weight.
|
|
281
281
|
* **Low-Emphasis Actions (tertiary):** Dense areas, such as toolbars, table rows, and inline Cancel actions.
|
|
282
282
|
|
|
283
|
-
A destructive action takes the variant of its place in the flow, and its label names the outcome, such as Revoke key. Confirm it with an [AlertDialog](
|
|
283
|
+
A destructive action takes the variant of its place in the flow, and its label names the outcome, such as Revoke key. Confirm it with an [AlertDialog](alert-dialog.md), whose confirming button takes `danger`. See [Destructive Actions](../patterns/destructive-actions.md) and [Payments](../patterns/payments.md).
|
|
284
284
|
|
|
285
285
|
### Use One Primary Action
|
|
286
286
|
|
|
287
|
-
Give other actions `secondary` or `tertiary`, even if they matter. [Forms](
|
|
287
|
+
Give other actions `secondary` or `tertiary`, even if they matter. [Forms](../patterns/forms.md#submitting) sets the order of the actions.
|
|
288
288
|
|
|
289
289
|
**Do:** Pair one `primary` action with `secondary` alternatives.
|
|
290
290
|
|
|
@@ -344,7 +344,7 @@ namespace styles {
|
|
|
344
344
|
* **Default (medium):** Forms, page actions, and actions inside a dialog body, such as Copy address.
|
|
345
345
|
* **Dialog Footers (large):** Every action in a dialog footer, and the final step of a focused flow, such as Confirm send.
|
|
346
346
|
|
|
347
|
-
Lay out the actions in a dialog footer with a [ButtonGroup](
|
|
347
|
+
Lay out the actions in a dialog footer with a [ButtonGroup](button-group.md).
|
|
348
348
|
|
|
349
349
|
### Show Progress With Loading
|
|
350
350
|
|
|
@@ -364,7 +364,7 @@ export function Demo() {
|
|
|
364
364
|
}
|
|
365
365
|
```
|
|
366
366
|
|
|
367
|
-
**Don't:** Disable the button and place a separate [Spinner](
|
|
367
|
+
**Don't:** Disable the button and place a separate [Spinner](spinner.md) beside it.
|
|
368
368
|
|
|
369
369
|
```tsx
|
|
370
370
|
/**
|
|
@@ -395,7 +395,7 @@ Keep a button enabled when you can, and show validation errors after a press. If
|
|
|
395
395
|
|
|
396
396
|
* Explain why in nearby text.
|
|
397
397
|
* Set `focusableWhenDisabled` so keyboard users can reach it.
|
|
398
|
-
* Don't rely on a [Tooltip](
|
|
398
|
+
* Don't rely on a [Tooltip](tooltip.md). Many readers can't open it on a disabled button.
|
|
399
399
|
|
|
400
400
|
**Do:** Explain in nearby text why the button is unavailable.
|
|
401
401
|
|
|
@@ -466,7 +466,7 @@ namespace styles {
|
|
|
466
466
|
|
|
467
467
|
### Use Icons to Reinforce the Label
|
|
468
468
|
|
|
469
|
-
Place an icon before the label if it aids recognition, such as a plus for Add. An icon-only button (`shape="icon"`) needs a [Tooltip](
|
|
469
|
+
Place an icon before the label if it aids recognition, such as a plus for Add. An icon-only button (`shape="icon"`) needs a [Tooltip](tooltip.md) with its `aria-label` text. Use it only for familiar actions, such as Close or Copy.
|
|
470
470
|
|
|
471
471
|
**Do:** Add an icon only where it aids recognition.
|
|
472
472
|
|
|
@@ -600,7 +600,7 @@ Write Continue to review, not Click here. Screen readers list buttons out of con
|
|
|
600
600
|
|
|
601
601
|
## Accessibility
|
|
602
602
|
|
|
603
|
-
`Button` renders a native `<button type="button">`, and `Button.Link` a native `<a>`. Both follow the [WAI-ARIA button pattern](https://www.w3.org/WAI/ARIA/apg/patterns/button/). See [Accessibility](
|
|
603
|
+
`Button` renders a native `<button type="button">`, and `Button.Link` a native `<a>`. Both follow the [WAI-ARIA button pattern](https://www.w3.org/WAI/ARIA/apg/patterns/button/). See [Accessibility](../foundations/accessibility.md) for the baseline.
|
|
604
604
|
|
|
605
605
|
### Semantics
|
|
606
606
|
|
|
@@ -620,31 +620,31 @@ Write Continue to review, not Click here. Screen readers list buttons out of con
|
|
|
620
620
|
### Your Responsibilities
|
|
621
621
|
|
|
622
622
|
* **Name Icon-Only Buttons (aria-label):** An icon-only button has no visible text. Name the action, such as "Copy address", not "Copy icon".
|
|
623
|
-
* **Announce Loading Results:** Loading announces only the busy state. Announce the outcome with a [Toast](
|
|
623
|
+
* **Announce Loading Results:** Loading announces only the busy state. Announce the outcome with a [Toast](toast.md) or an [Alert](alert.md).
|
|
624
624
|
* **Use Links for Navigation (Button.Link):** Use it for navigation, not a button with a click handler that changes the page.
|
|
625
625
|
|
|
626
626
|
## Related
|
|
627
627
|
|
|
628
|
-
[ButtonGroup](
|
|
628
|
+
[ButtonGroup](button-group.md)
|
|
629
629
|
|
|
630
630
|
Use for the actions at the foot of a dialog.
|
|
631
631
|
|
|
632
|
-
[SplitButton](
|
|
632
|
+
[SplitButton](split-button.md)
|
|
633
633
|
|
|
634
634
|
Use for a main action with alternatives.
|
|
635
635
|
|
|
636
|
-
[CopyButton](
|
|
636
|
+
[CopyButton](copy-button.md)
|
|
637
637
|
|
|
638
638
|
Use for copying a value.
|
|
639
639
|
|
|
640
|
-
[AlertDialog](
|
|
640
|
+
[AlertDialog](alert-dialog.md)
|
|
641
641
|
|
|
642
642
|
Use for confirming an action.
|
|
643
643
|
|
|
644
|
-
[Forms](
|
|
644
|
+
[Forms](../patterns/forms.md)
|
|
645
645
|
|
|
646
646
|
Covers placing submit and cancel actions.
|
|
647
647
|
|
|
648
|
-
[Destructive Actions](
|
|
648
|
+
[Destructive Actions](../patterns/destructive-actions.md)
|
|
649
649
|
|
|
650
650
|
Covers deleting and revoking.
|
|
@@ -95,9 +95,9 @@ import { Calendar } from '@tempoxyz/ds'
|
|
|
95
95
|
|
|
96
96
|
### When Not to Use
|
|
97
97
|
|
|
98
|
-
* If the date is one field in a form, use [DatePicker](
|
|
99
|
-
* Use [TextInput](
|
|
100
|
-
* Use [ChoiceGroup](
|
|
98
|
+
* If the date is one field in a form, use [DatePicker](date-picker.md). It opens the same calendar in a popup.
|
|
99
|
+
* Use [TextInput](text-input.md) for dates far from today, such as a date of birth.
|
|
100
|
+
* Use [ChoiceGroup](choice-group.md) for preset ranges, such as 24H, 7D, and 30D above a chart.
|
|
101
101
|
|
|
102
102
|
### Explain Unavailable Days
|
|
103
103
|
|
|
@@ -211,7 +211,7 @@ export function Demo() {
|
|
|
211
211
|
|
|
212
212
|
### Start on the Month of the Task
|
|
213
213
|
|
|
214
|
-
`defaultMonth` falls back to the selected day's month, then the current month. Set it to the month of the task, such as the start of a statement period. To sync the page with a typed [TextInput](
|
|
214
|
+
`defaultMonth` falls back to the selected day's month, then the current month. Set it to the month of the task, such as the start of a statement period. To sync the page with a typed [TextInput](text-input.md), control it with `month` and `onMonthChange`.
|
|
215
215
|
|
|
216
216
|
**Do:** Open on the month the task is about.
|
|
217
217
|
|
|
@@ -358,18 +358,18 @@ Turning the page announces the new month in a polite live region.
|
|
|
358
358
|
|
|
359
359
|
## Related
|
|
360
360
|
|
|
361
|
-
[DatePicker](
|
|
361
|
+
[DatePicker](date-picker.md)
|
|
362
362
|
|
|
363
363
|
Use for a date field in a form.
|
|
364
364
|
|
|
365
|
-
[TextInput](
|
|
365
|
+
[TextInput](text-input.md)
|
|
366
366
|
|
|
367
367
|
Use for typed dates.
|
|
368
368
|
|
|
369
|
-
[ChoiceGroup](
|
|
369
|
+
[ChoiceGroup](choice-group.md)
|
|
370
370
|
|
|
371
371
|
Use for preset ranges.
|
|
372
372
|
|
|
373
|
-
[Field](
|
|
373
|
+
[Field](field.md)
|
|
374
374
|
|
|
375
375
|
Use for labelling the date and its constraints.
|
|
@@ -47,9 +47,9 @@ import { Callout } from '@tempoxyz/ds'
|
|
|
47
47
|
|
|
48
48
|
### When Not to Use
|
|
49
49
|
|
|
50
|
-
* Use an [Alert](
|
|
51
|
-
* Use a [Banner](
|
|
52
|
-
* Use a [Snippet](
|
|
50
|
+
* Use an [Alert](alert.md) for a message about a status or an outcome.
|
|
51
|
+
* Use a [Banner](banner.md) for a message about the whole page or product.
|
|
52
|
+
* Use a [Snippet](snippet.md) for code that people copy.
|
|
53
53
|
|
|
54
54
|
### Keep the Passage Optional
|
|
55
55
|
|
|
@@ -87,10 +87,10 @@ A callout renders a `<div>` with no role, so screen readers read its text in pla
|
|
|
87
87
|
|
|
88
88
|
## Related
|
|
89
89
|
|
|
90
|
-
[Alert](
|
|
90
|
+
[Alert](alert.md)
|
|
91
91
|
|
|
92
92
|
Use for a message about a status or an outcome.
|
|
93
93
|
|
|
94
|
-
[Banner](
|
|
94
|
+
[Banner](banner.md)
|
|
95
95
|
|
|
96
96
|
Use for a message about the whole page.
|
|
@@ -6,7 +6,7 @@ Shares one value array across a group of checkboxes.
|
|
|
6
6
|
|
|
7
7
|
## Overview
|
|
8
8
|
|
|
9
|
-
Each [Checkbox](
|
|
9
|
+
Each [Checkbox](checkbox.md) inside it joins the array under its `value`.
|
|
10
10
|
|
|
11
11
|
## Examples
|
|
12
12
|
|
|
@@ -117,11 +117,11 @@ import { CheckboxGroup, Checkbox } from '@tempoxyz/ds'
|
|
|
117
117
|
|
|
118
118
|
### When Not to Use
|
|
119
119
|
|
|
120
|
-
* If only one option can be chosen, use [RadioGroup](
|
|
121
|
-
* Use [Combobox](
|
|
122
|
-
* If each option needs an icon or a description, use `Choicebox.CheckboxGroup` from [Choicebox](
|
|
123
|
-
* Use a single [Checkbox](
|
|
124
|
-
* If choices apply immediately, as in a settings list, use a [Switch](
|
|
120
|
+
* If only one option can be chosen, use [RadioGroup](radio-group.md).
|
|
121
|
+
* Use [Combobox](combobox.md) with `multiple` for a long list filtered by typing, such as assets.
|
|
122
|
+
* If each option needs an icon or a description, use `Choicebox.CheckboxGroup` from [Choicebox](choicebox.md).
|
|
123
|
+
* Use a single [Checkbox](checkbox.md) for one independent choice.
|
|
124
|
+
* If choices apply immediately, as in a settings list, use a [Switch](switch.md) for each.
|
|
125
125
|
|
|
126
126
|
### Name the Group With Its Question
|
|
127
127
|
|
|
@@ -259,7 +259,7 @@ namespace styles {
|
|
|
259
259
|
|
|
260
260
|
### Keep the List Short and Ordered
|
|
261
261
|
|
|
262
|
-
Sort long lists of names alphabetically. If the list no longer fits without scrolling, switch to a [Combobox](
|
|
262
|
+
Sort long lists of names alphabetically. If the list no longer fits without scrolling, switch to a [Combobox](combobox.md) with `multiple`.
|
|
263
263
|
|
|
264
264
|
**Do:** Order options predictably, such as by payment lifecycle.
|
|
265
265
|
|
|
@@ -479,7 +479,7 @@ Wraps related checkboxes in a named `group`. Each checkbox follows the [WAI-ARIA
|
|
|
479
479
|
### Semantics
|
|
480
480
|
|
|
481
481
|
* **Group (group):** Name it with `aria-label` or a `Field.Label`, or screen readers announce an unnamed group.
|
|
482
|
-
* **Checkboxes (checkbox):** Each keeps its own role and state, and adds its `value` to the group. See [Checkbox](
|
|
482
|
+
* **Checkboxes (checkbox):** Each keeps its own role and state, and adds its `value` to the group. See [Checkbox](checkbox.md#accessibility).
|
|
483
483
|
* **Parent Checkbox (aria-controls):** Points at the checkboxes it controls. Reports a mixed state while only some are checked.
|
|
484
484
|
* **Disabled (aria-disabled):** Disables every checkbox and removes them from the tab order.
|
|
485
485
|
|
|
@@ -500,22 +500,22 @@ Focus stays on a parent checkbox when it changes the other options.
|
|
|
500
500
|
|
|
501
501
|
## Related
|
|
502
502
|
|
|
503
|
-
[Checkbox](
|
|
503
|
+
[Checkbox](checkbox.md)
|
|
504
504
|
|
|
505
505
|
Use for a single choice.
|
|
506
506
|
|
|
507
|
-
[Choicebox](
|
|
507
|
+
[Choicebox](choicebox.md)
|
|
508
508
|
|
|
509
509
|
Use for options with descriptions.
|
|
510
510
|
|
|
511
|
-
[Combobox](
|
|
511
|
+
[Combobox](combobox.md)
|
|
512
512
|
|
|
513
513
|
Use for choosing several items from a long list.
|
|
514
514
|
|
|
515
|
-
[Fieldset](
|
|
515
|
+
[Fieldset](fieldset.md)
|
|
516
516
|
|
|
517
517
|
Use for grouping fields under a legend.
|
|
518
518
|
|
|
519
|
-
[Field](
|
|
519
|
+
[Field](field.md)
|
|
520
520
|
|
|
521
521
|
Use for naming the group and showing its error.
|