@coinbase/cds-mcp-server 8.41.0 → 8.42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/mcp-docs/mobile/components/ContainedAssetCard.txt +1 -1
- package/mcp-docs/mobile/components/ContentCard.txt +220 -174
- package/mcp-docs/mobile/components/ContentCardBody.txt +127 -19
- package/mcp-docs/mobile/components/ContentCardFooter.txt +63 -1
- package/mcp-docs/mobile/components/ContentCardHeader.txt +71 -16
- package/mcp-docs/mobile/components/DataCard.txt +723 -0
- package/mcp-docs/mobile/components/FloatingAssetCard.txt +1 -1
- package/mcp-docs/mobile/components/MediaCard.txt +526 -0
- package/mcp-docs/mobile/components/MessagingCard.txt +1025 -0
- package/mcp-docs/mobile/components/Scrubber.txt +140 -0
- package/mcp-docs/mobile/routes.txt +6 -3
- package/mcp-docs/web/components/ContentCard.txt +419 -327
- package/mcp-docs/web/components/ContentCardBody.txt +91 -16
- package/mcp-docs/web/components/ContentCardFooter.txt +231 -165
- package/mcp-docs/web/components/ContentCardHeader.txt +237 -177
- package/mcp-docs/web/components/DataCard.txt +800 -0
- package/mcp-docs/web/components/MediaCard.txt +559 -0
- package/mcp-docs/web/components/MessagingCard.txt +1054 -0
- package/mcp-docs/web/components/ReferenceLine.txt +1 -0
- package/mcp-docs/web/components/Scrubber.txt +106 -0
- package/mcp-docs/web/routes.txt +3 -0
- package/package.json +1 -1
|
@@ -10,84 +10,154 @@ import { ContentCard } from '@coinbase/cds-web/cards/ContentCard'
|
|
|
10
10
|
|
|
11
11
|
## Examples
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
ContentCard is a flexible, composable card component built with `ContentCardHeader`, `ContentCardBody`, and `ContentCardFooter` sub-components. It can display various content layouts including text, media, and interactive elements.
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
:::note Semantic HTML
|
|
16
|
+
ContentCard and its sub-components render semantic HTML elements by default:
|
|
17
|
+
|
|
18
|
+
- `ContentCard` renders as `<article>`
|
|
19
|
+
- `ContentCardHeader` renders as `<header>`
|
|
20
|
+
- `ContentCardFooter` renders as `<footer>`
|
|
21
|
+
|
|
22
|
+
You can override these defaults using the `as` prop on each component.
|
|
23
|
+
:::
|
|
24
|
+
|
|
25
|
+
### Basic Examples
|
|
26
|
+
|
|
27
|
+
ContentCard uses sub-components for flexible layout. Combine `ContentCardHeader`, `ContentCardBody`, and `ContentCardFooter` to create your card structure.
|
|
16
28
|
|
|
17
29
|
```jsx live
|
|
18
30
|
function Example() {
|
|
19
31
|
return (
|
|
20
|
-
<VStack
|
|
32
|
+
<VStack gap={2} maxWidth={375}>
|
|
21
33
|
<ContentCard>
|
|
22
34
|
<ContentCardHeader
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
thumbnail={<RemoteImage alt="Ethereum" shape="circle" size="l" source={ethBackground} />}
|
|
36
|
+
title="CoinDesk"
|
|
37
|
+
subtitle="News"
|
|
38
|
+
actions={
|
|
39
|
+
<HStack gap={0}>
|
|
40
|
+
<IconButton
|
|
41
|
+
transparent
|
|
42
|
+
accessibilityLabel="favorite"
|
|
43
|
+
name="star"
|
|
44
|
+
variant="secondary"
|
|
45
|
+
/>
|
|
46
|
+
<IconButton
|
|
47
|
+
transparent
|
|
48
|
+
accessibilityLabel="More options"
|
|
49
|
+
name="more"
|
|
50
|
+
variant="secondary"
|
|
51
|
+
/>
|
|
52
|
+
</HStack>
|
|
37
53
|
}
|
|
38
|
-
title="Description"
|
|
39
54
|
/>
|
|
40
55
|
<ContentCardBody
|
|
41
|
-
|
|
56
|
+
title="Ethereum Network Shatters Records With Hashrate Climbing to 464 EH/s"
|
|
57
|
+
description="This is a description of the record-breaking hashrate milestone."
|
|
42
58
|
label={
|
|
43
59
|
<HStack alignItems="flex-end" flexWrap="wrap" gap={0.5}>
|
|
44
|
-
<Text as="p"
|
|
45
|
-
|
|
60
|
+
<Text as="p" color="fgMuted" font="label2" numberOfLines={1}>
|
|
61
|
+
$3,081.01
|
|
46
62
|
</Text>
|
|
47
|
-
<Text
|
|
48
|
-
↗
|
|
63
|
+
<Text as="p" color="fgPositive" font="label2">
|
|
64
|
+
↗ 6.37%
|
|
49
65
|
</Text>
|
|
50
66
|
</HStack>
|
|
51
67
|
}
|
|
52
68
|
/>
|
|
69
|
+
<ContentCardFooter>
|
|
70
|
+
<RemoteImageGroup shape="circle" size={32}>
|
|
71
|
+
<RemoteImage src={assets.eth.imageUrl} />
|
|
72
|
+
<RemoteImage src={assets.btc.imageUrl} />
|
|
73
|
+
</RemoteImageGroup>
|
|
74
|
+
<Button compact variant="secondary">
|
|
75
|
+
Share
|
|
76
|
+
</Button>
|
|
77
|
+
</ContentCardFooter>
|
|
53
78
|
</ContentCard>
|
|
79
|
+
</VStack>
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Media Placement
|
|
85
|
+
|
|
86
|
+
Use the `mediaPlacement` prop on `ContentCardBody` to control where media is positioned relative to the content.
|
|
87
|
+
|
|
88
|
+
```jsx live
|
|
89
|
+
function Example() {
|
|
90
|
+
const exampleMedia = (
|
|
91
|
+
<RemoteImage alt="Ethereum background" source={ethBackground} width="100%" />
|
|
92
|
+
);
|
|
93
|
+
|
|
94
|
+
return (
|
|
95
|
+
<VStack gap={2} maxWidth={375}>
|
|
96
|
+
<Text as="h3" font="headline">
|
|
97
|
+
mediaPlacement: top (default)
|
|
98
|
+
</Text>
|
|
54
99
|
<ContentCard>
|
|
55
100
|
<ContentCardHeader
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
・News・5 hrs
|
|
60
|
-
</Text>
|
|
61
|
-
</Box>
|
|
62
|
-
}
|
|
63
|
-
title="Brian Armstrong"
|
|
101
|
+
thumbnail={<RemoteImage alt="Ethereum" shape="circle" size="l" source={ethBackground} />}
|
|
102
|
+
title="CoinDesk"
|
|
103
|
+
subtitle="News"
|
|
64
104
|
/>
|
|
65
105
|
<ContentCardBody
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
106
|
+
title="Media at top"
|
|
107
|
+
description="The media appears above the text content."
|
|
108
|
+
media={exampleMedia}
|
|
109
|
+
mediaPlacement="top"
|
|
110
|
+
/>
|
|
111
|
+
</ContentCard>
|
|
112
|
+
|
|
113
|
+
<Text as="h3" font="headline">
|
|
114
|
+
mediaPlacement: bottom
|
|
115
|
+
</Text>
|
|
116
|
+
<ContentCard>
|
|
117
|
+
<ContentCardHeader
|
|
118
|
+
thumbnail={<RemoteImage alt="Ethereum" shape="circle" size="l" source={ethBackground} />}
|
|
119
|
+
title="CoinDesk"
|
|
120
|
+
subtitle="News"
|
|
121
|
+
/>
|
|
122
|
+
<ContentCardBody
|
|
123
|
+
title="Media at bottom"
|
|
124
|
+
description="The media appears below the text content."
|
|
125
|
+
media={exampleMedia}
|
|
126
|
+
mediaPlacement="bottom"
|
|
127
|
+
/>
|
|
128
|
+
</ContentCard>
|
|
129
|
+
|
|
130
|
+
<Text as="h3" font="headline">
|
|
131
|
+
mediaPlacement: end
|
|
132
|
+
</Text>
|
|
133
|
+
<ContentCard>
|
|
134
|
+
<ContentCardHeader
|
|
135
|
+
thumbnail={<RemoteImage alt="Ethereum" shape="circle" size="l" source={ethBackground} />}
|
|
136
|
+
title="CoinDesk"
|
|
137
|
+
subtitle="News"
|
|
138
|
+
/>
|
|
139
|
+
<ContentCardBody
|
|
140
|
+
title="Media at end"
|
|
141
|
+
description="The media appears to the right of the text content."
|
|
142
|
+
media={exampleMedia}
|
|
143
|
+
mediaPlacement="end"
|
|
144
|
+
/>
|
|
145
|
+
</ContentCard>
|
|
146
|
+
|
|
147
|
+
<Text as="h3" font="headline">
|
|
148
|
+
mediaPlacement: start
|
|
149
|
+
</Text>
|
|
150
|
+
<ContentCard>
|
|
151
|
+
<ContentCardHeader
|
|
152
|
+
thumbnail={<RemoteImage alt="Ethereum" shape="circle" size="l" source={ethBackground} />}
|
|
153
|
+
title="CoinDesk"
|
|
154
|
+
subtitle="News"
|
|
155
|
+
/>
|
|
156
|
+
<ContentCardBody
|
|
157
|
+
title="Media at start"
|
|
158
|
+
description="The media appears to the left of the text content."
|
|
159
|
+
media={exampleMedia}
|
|
160
|
+
mediaPlacement="start"
|
|
91
161
|
/>
|
|
92
162
|
</ContentCard>
|
|
93
163
|
</VStack>
|
|
@@ -95,72 +165,111 @@ function Example() {
|
|
|
95
165
|
}
|
|
96
166
|
```
|
|
97
167
|
|
|
98
|
-
###
|
|
168
|
+
### With Background
|
|
99
169
|
|
|
100
|
-
|
|
170
|
+
Apply a background color to the card using the `background` prop. When using a background, consider using `variant="tertiary"` on buttons.
|
|
101
171
|
|
|
102
172
|
```jsx live
|
|
103
173
|
function Example() {
|
|
104
|
-
const
|
|
105
|
-
<
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
174
|
+
const exampleMedia = (
|
|
175
|
+
<RemoteImage
|
|
176
|
+
alt="Ethereum background"
|
|
177
|
+
src={ethBackground}
|
|
178
|
+
style={{ objectFit: 'cover', borderRadius: '24px' }}
|
|
179
|
+
width="100%"
|
|
180
|
+
/>
|
|
181
|
+
);
|
|
182
|
+
|
|
183
|
+
return (
|
|
184
|
+
<VStack gap={2} maxWidth={375}>
|
|
185
|
+
<ContentCard background="bgAlternate">
|
|
186
|
+
<ContentCardHeader
|
|
187
|
+
thumbnail={<RemoteImage alt="Ethereum" shape="circle" size="l" source={ethBackground} />}
|
|
188
|
+
title="CoinDesk"
|
|
189
|
+
subtitle="News"
|
|
113
190
|
/>
|
|
114
|
-
<
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
fillRule="evenodd"
|
|
191
|
+
<ContentCardBody
|
|
192
|
+
title="Card with Background"
|
|
193
|
+
description="This card has an alternate background color."
|
|
194
|
+
media={exampleMedia}
|
|
119
195
|
/>
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
196
|
+
<ContentCardFooter>
|
|
197
|
+
<RemoteImageGroup shape="circle" size={32}>
|
|
198
|
+
<RemoteImage src={assets.eth.imageUrl} />
|
|
199
|
+
<RemoteImage src={assets.btc.imageUrl} />
|
|
200
|
+
</RemoteImageGroup>
|
|
201
|
+
<Button compact variant="tertiary">
|
|
202
|
+
Share
|
|
203
|
+
</Button>
|
|
204
|
+
</ContentCardFooter>
|
|
205
|
+
</ContentCard>
|
|
206
|
+
|
|
207
|
+
<ContentCard background="bgAlternate">
|
|
208
|
+
<ContentCardHeader
|
|
209
|
+
thumbnail={<RemoteImage alt="Ethereum" shape="circle" size="l" source={ethBackground} />}
|
|
210
|
+
title="CoinDesk"
|
|
211
|
+
subtitle="News"
|
|
212
|
+
/>
|
|
213
|
+
<ContentCardBody
|
|
214
|
+
title="No Media with Background"
|
|
215
|
+
description="This card has no media element."
|
|
216
|
+
/>
|
|
217
|
+
<ContentCardFooter gap={4} justifyContent="space-between" paddingTop={0.5}>
|
|
218
|
+
<IconCounterButton accessibilityLabel="like, 99 likes" count={99} icon="heart" />
|
|
219
|
+
<IconCounterButton
|
|
220
|
+
accessibilityLabel="comment, 4200 comments"
|
|
221
|
+
count={4200}
|
|
222
|
+
icon="comment"
|
|
223
|
+
/>
|
|
224
|
+
<IconCounterButton
|
|
225
|
+
accessibilityLabel="share, 32 shares"
|
|
226
|
+
count={32}
|
|
227
|
+
icon="arrowsHorizontal"
|
|
228
|
+
/>
|
|
229
|
+
</ContentCardFooter>
|
|
230
|
+
</ContentCard>
|
|
231
|
+
</VStack>
|
|
127
232
|
);
|
|
233
|
+
}
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### Rewards Card Example
|
|
237
|
+
|
|
238
|
+
Example showing a rewards-style content card with claim button.
|
|
239
|
+
|
|
240
|
+
```jsx live
|
|
241
|
+
function Example() {
|
|
128
242
|
return (
|
|
129
|
-
<VStack
|
|
243
|
+
<VStack gap={2} maxWidth={375}>
|
|
130
244
|
<ContentCard gap={3}>
|
|
131
245
|
<ContentCardBody
|
|
132
|
-
|
|
246
|
+
title={
|
|
133
247
|
<Text as="p" font="body" paddingTop={0.5}>
|
|
134
248
|
Bitcoin Network Shatters Records With Hashrate Climbing to 464 EH/s
|
|
135
249
|
</Text>
|
|
136
250
|
}
|
|
137
251
|
label={
|
|
138
252
|
<HStack alignItems="flex-end" flexWrap="wrap" gap={0.5}>
|
|
139
|
-
<Text as="p"
|
|
253
|
+
<Text as="p" color="fgMuted" font="label2" numberOfLines={1}>
|
|
140
254
|
BTC
|
|
141
255
|
</Text>
|
|
142
|
-
<Text
|
|
256
|
+
<Text as="p" color="fgPositive" font="label2">
|
|
143
257
|
↗ 5.12%
|
|
144
258
|
</Text>
|
|
145
259
|
</HStack>
|
|
146
260
|
}
|
|
147
261
|
media={
|
|
148
|
-
<
|
|
149
|
-
alt=""
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
style={{
|
|
153
|
-
objectFit: 'cover',
|
|
154
|
-
cursor: 'pointer',
|
|
155
|
-
borderRadius: '24px',
|
|
156
|
-
}}
|
|
262
|
+
<RemoteImage
|
|
263
|
+
alt="Rewards banner"
|
|
264
|
+
src={ethBackground}
|
|
265
|
+
style={{ objectFit: 'cover', borderRadius: '24px' }}
|
|
157
266
|
width="100%"
|
|
158
267
|
/>
|
|
159
268
|
}
|
|
160
269
|
/>
|
|
161
|
-
<ContentCardFooter>
|
|
270
|
+
<ContentCardFooter alignItems="center">
|
|
162
271
|
<HStack alignItems="center" gap={1}>
|
|
163
|
-
<
|
|
272
|
+
<Avatar src={assets.btc.imageUrl} size="xl" />
|
|
164
273
|
<VStack>
|
|
165
274
|
<TextLegal as="span" color="fgMuted">
|
|
166
275
|
Reward
|
|
@@ -180,92 +289,75 @@ function Example() {
|
|
|
180
289
|
}
|
|
181
290
|
```
|
|
182
291
|
|
|
183
|
-
###
|
|
292
|
+
### Accessibility
|
|
293
|
+
|
|
294
|
+
#### Interactive Cards
|
|
295
|
+
|
|
296
|
+
When making ContentCard interactive, wrap it in a `Pressable` component and handle accessibility carefully to avoid nested interactive elements.
|
|
297
|
+
|
|
298
|
+
**The Problem**: If you wrap ContentCard in a `Pressable` and also have interactive elements inside (like buttons), the card becomes a clickable container with nested interactive elements. This creates accessibility issues for screen reader users.
|
|
184
299
|
|
|
185
|
-
|
|
300
|
+
**The Solution**: Use `as="div"` on the Pressable wrapper and add a separate action button inside the card. This allows:
|
|
301
|
+
|
|
302
|
+
- Regular users to click anywhere on the card
|
|
303
|
+
- Screen reader users to navigate through card content and focus on individual interactive elements
|
|
304
|
+
- Keyboard users to tab to the action button
|
|
186
305
|
|
|
187
306
|
```jsx live
|
|
188
|
-
function
|
|
189
|
-
|
|
190
|
-
<
|
|
307
|
+
function AccessibleCard() {
|
|
308
|
+
return (
|
|
309
|
+
<Pressable
|
|
310
|
+
as="div"
|
|
191
311
|
background="bgAlternate"
|
|
192
|
-
borderRadius=
|
|
193
|
-
|
|
194
|
-
|
|
312
|
+
borderRadius={500}
|
|
313
|
+
onClick={() => alert('Card clicked - navigating...')}
|
|
314
|
+
width="fit-content"
|
|
195
315
|
>
|
|
196
|
-
<
|
|
197
|
-
avatar={
|
|
198
|
-
<Avatar
|
|
199
|
-
alt="Mat Dryhurst"
|
|
200
|
-
name="Mat Dryhurst"
|
|
201
|
-
shape="circle"
|
|
202
|
-
size="s"
|
|
203
|
-
src="/img/card/content_card_custom_avatar_2.png"
|
|
204
|
-
/>
|
|
205
|
-
}
|
|
206
|
-
meta={
|
|
207
|
-
<Box marginLeft={-1}>
|
|
208
|
-
<Text as="span" font="label2" color="fgMuted" numberOfLines={1}>
|
|
209
|
-
@matdryhurst・7 mo
|
|
210
|
-
</Text>
|
|
211
|
-
</Box>
|
|
212
|
-
}
|
|
213
|
-
title="Mat Dryhurst"
|
|
214
|
-
/>
|
|
215
|
-
<ContentCardBody body="A bunch of massive youtubers are quitting, citing exhuastion and an algorithm that punishes a variety of output." />
|
|
216
|
-
</ContentCard>
|
|
217
|
-
);
|
|
218
|
-
return (
|
|
219
|
-
<VStack alignItems="center" maxWidth={375} bordered borderRadius={400}>
|
|
220
|
-
<ContentCard>
|
|
316
|
+
<ContentCard maxWidth={375}>
|
|
221
317
|
<ContentCardHeader
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
<Text as="span" font="label2" color="fgMuted" numberOfLines={1}>
|
|
226
|
-
・News・5 hrs
|
|
227
|
-
</Text>
|
|
228
|
-
</Box>
|
|
229
|
-
}
|
|
230
|
-
title="Description"
|
|
231
|
-
end={
|
|
232
|
-
<IconButton
|
|
233
|
-
transparent
|
|
234
|
-
accessibilityLabel="More information about coinDesk card news"
|
|
235
|
-
name="more"
|
|
236
|
-
variant="secondary"
|
|
237
|
-
/>
|
|
238
|
-
}
|
|
318
|
+
subtitle="News"
|
|
319
|
+
thumbnail={<RemoteImage alt="Ethereum" shape="circle" size="l" source={ethBackground} />}
|
|
320
|
+
title="CoinDesk"
|
|
239
321
|
/>
|
|
240
322
|
<ContentCardBody
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
<ContentCardFooter>
|
|
259
|
-
<IconCounterButton count={20} icon="heart" />
|
|
260
|
-
<IconCounterButton count={40} icon="comment" />
|
|
261
|
-
<IconCounterButton count={32} icon="wireTransfer" />
|
|
323
|
+
title="Accessible Interactive Card"
|
|
324
|
+
description="Card with both card-level click and internal action button"
|
|
325
|
+
/>
|
|
326
|
+
<ContentCardFooter alignItems="center">
|
|
327
|
+
<Text as="span" color="fgMuted" font="legal">
|
|
328
|
+
2 hours ago
|
|
329
|
+
</Text>
|
|
330
|
+
<Button
|
|
331
|
+
compact
|
|
332
|
+
variant="tertiary"
|
|
333
|
+
onClick={(event) => {
|
|
334
|
+
event.stopPropagation();
|
|
335
|
+
alert('Button clicked - navigating...');
|
|
336
|
+
}}
|
|
337
|
+
>
|
|
338
|
+
View Details
|
|
339
|
+
</Button>
|
|
262
340
|
</ContentCardFooter>
|
|
263
341
|
</ContentCard>
|
|
264
|
-
</
|
|
342
|
+
</Pressable>
|
|
265
343
|
);
|
|
266
344
|
}
|
|
267
345
|
```
|
|
268
346
|
|
|
347
|
+
**Key points:**
|
|
348
|
+
|
|
349
|
+
- Use `as="div"` on the Pressable to avoid rendering as a semantic button
|
|
350
|
+
- When using `as="div"`, the Pressable remains keyboard focusable. Set `tabIndex={-1}` to remove it from the tab order if needed
|
|
351
|
+
- Call `event.stopPropagation()` at the beginning of the event handler method passed into the `onClick` prop for action buttons. This will prevent two click events from firing if the user directly clicks the action button.
|
|
352
|
+
|
|
353
|
+
:::warning Avoid Nested Interactive Elements
|
|
354
|
+
When ContentCard is wrapped in an interactive Pressable, avoid placing too many interactive elements inside the card. Each interactive element should have a clear, distinct purpose. If the card has many actions, consider using a non-interactive card layout instead.
|
|
355
|
+
:::
|
|
356
|
+
|
|
357
|
+
#### Color Contrast
|
|
358
|
+
|
|
359
|
+
When customizing card backgrounds, ensure sufficient color contrast between text and background colors. Use tools like the [WebAIM Contrast Checker](https://webaim.org/resources/contrastchecker/) to verify your color combinations meet WCAG guidelines.
|
|
360
|
+
|
|
269
361
|
## Props
|
|
270
362
|
|
|
271
363
|
| Prop | Type | Required | Default | Description |
|
|
@@ -328,7 +420,7 @@ function Example() {
|
|
|
328
420
|
| `aria-valuemin` | `number \| undefined` | No | `-` | Defines the minimum allowed value for a range widget. |
|
|
329
421
|
| `aria-valuenow` | `number \| undefined` | No | `-` | Defines the current value for a range widget. |
|
|
330
422
|
| `aria-valuetext` | `string \| undefined` | No | `-` | Defines the human readable text alternative of aria-valuenow for a range widget. |
|
|
331
|
-
| `as` | `symbol \| object \| style \| div \| a \| abbr \| address \| area \| article \| aside \| audio \| b \| base \| bdi \| bdo \| big \| blockquote \| body \| br \| button \| canvas \| caption \| center \| cite \| code \| col \| colgroup \| data \| datalist \| dd \| del \| details \| dfn \| dialog \| dl \| dt \| em \| embed \| fieldset \| figcaption \| figure \| footer \| form \| h1 \| h2 \| h3 \| h4 \| h5 \| h6 \| head \| header \| hgroup \| hr \| html \| i \| iframe \| img \| input \| ins \| kbd \| keygen \| label \| legend \| li \| link \| main \| map \| mark \| menu \| menuitem \| meta \| meter \| nav \| noindex \| noscript \| ol \| optgroup \| option \| output \| p \| param \| picture \| pre \| progress \| q \| rp \| rt \| ruby \| s \| samp \| search \| slot \| script \| section \| select \| small \| source \| span \| strong \| sub \| summary \| sup \| table \| template \| tbody \| td \| textarea \| tfoot \| th \| thead \| time \| title \| tr \| track \| u \| ul \| var \| video \| wbr \| webview \| svg \| animate \| animateMotion \| animateTransform \| circle \| clipPath \| defs \| desc \| ellipse \| feBlend \| feColorMatrix \| feComponentTransfer \| feComposite \| feConvolveMatrix \| feDiffuseLighting \| feDisplacementMap \| feDistantLight \| feDropShadow \| feFlood \| feFuncA \| feFuncB \| feFuncG \| feFuncR \| feGaussianBlur \| feImage \| feMerge \| feMergeNode \| feMorphology \| feOffset \| fePointLight \| feSpecularLighting \| feSpotLight \| feTile \| feTurbulence \| filter \| foreignObject \| g \| image \| line \| linearGradient \| marker \| mask \| metadata \| mpath \| path \| pattern \| polygon \| polyline \| radialGradient \| rect \| set \| stop \| switch \| text \| textPath \| tspan \| use \| view \| ComponentClass<any, any> \| FunctionComponent<any>` | No | `
|
|
423
|
+
| `as` | `symbol \| object \| style \| div \| a \| abbr \| address \| area \| article \| aside \| audio \| b \| base \| bdi \| bdo \| big \| blockquote \| body \| br \| button \| canvas \| caption \| center \| cite \| code \| col \| colgroup \| data \| datalist \| dd \| del \| details \| dfn \| dialog \| dl \| dt \| em \| embed \| fieldset \| figcaption \| figure \| footer \| form \| h1 \| h2 \| h3 \| h4 \| h5 \| h6 \| head \| header \| hgroup \| hr \| html \| i \| iframe \| img \| input \| ins \| kbd \| keygen \| label \| legend \| li \| link \| main \| map \| mark \| menu \| menuitem \| meta \| meter \| nav \| noindex \| noscript \| ol \| optgroup \| option \| output \| p \| param \| picture \| pre \| progress \| q \| rp \| rt \| ruby \| s \| samp \| search \| slot \| script \| section \| select \| small \| source \| span \| strong \| sub \| summary \| sup \| table \| template \| tbody \| td \| textarea \| tfoot \| th \| thead \| time \| title \| tr \| track \| u \| ul \| var \| video \| wbr \| webview \| svg \| animate \| animateMotion \| animateTransform \| circle \| clipPath \| defs \| desc \| ellipse \| feBlend \| feColorMatrix \| feComponentTransfer \| feComposite \| feConvolveMatrix \| feDiffuseLighting \| feDisplacementMap \| feDistantLight \| feDropShadow \| feFlood \| feFuncA \| feFuncB \| feFuncG \| feFuncR \| feGaussianBlur \| feImage \| feMerge \| feMergeNode \| feMorphology \| feOffset \| fePointLight \| feSpecularLighting \| feSpotLight \| feTile \| feTurbulence \| filter \| foreignObject \| g \| image \| line \| linearGradient \| marker \| mask \| metadata \| mpath \| path \| pattern \| polygon \| polyline \| radialGradient \| rect \| set \| stop \| switch \| text \| textPath \| tspan \| use \| view \| ComponentClass<any, any> \| FunctionComponent<any>` | No | `article` | The underlying element or component the polymorphic component will render. Changing as also changes the inherited native props (e.g. href for as=a) and the expected ref type. |
|
|
332
424
|
| `aspectRatio` | `inherit \| auto \| revert \| -moz-initial \| initial \| revert-layer \| unset` | No | `-` | - |
|
|
333
425
|
| `autoCapitalize` | `off \| none \| on \| sentences \| words \| characters \| (string & {}) \| undefined` | No | `-` | - |
|
|
334
426
|
| `autoCorrect` | `string \| undefined` | No | `-` | - |
|
|
@@ -424,166 +516,166 @@ function Example() {
|
|
|
424
516
|
| `minHeight` | `ResponsiveProp<MinHeight<string \| number>>` | No | `-` | - |
|
|
425
517
|
| `minWidth` | `ResponsiveProp<MinWidth<string \| number>>` | No | `-` | - |
|
|
426
518
|
| `nonce` | `string \| undefined` | No | `-` | - |
|
|
427
|
-
| `onAbort` | `ReactEventHandler<
|
|
428
|
-
| `onAbortCapture` | `ReactEventHandler<
|
|
429
|
-
| `onAnimationEnd` | `AnimationEventHandler<
|
|
430
|
-
| `onAnimationEndCapture` | `AnimationEventHandler<
|
|
431
|
-
| `onAnimationIteration` | `AnimationEventHandler<
|
|
432
|
-
| `onAnimationIterationCapture` | `AnimationEventHandler<
|
|
433
|
-
| `onAnimationStart` | `AnimationEventHandler<
|
|
434
|
-
| `onAnimationStartCapture` | `AnimationEventHandler<
|
|
435
|
-
| `onAuxClick` | `MouseEventHandler<
|
|
436
|
-
| `onAuxClickCapture` | `MouseEventHandler<
|
|
437
|
-
| `onBeforeInput` | `FormEventHandler<
|
|
438
|
-
| `onBeforeInputCapture` | `FormEventHandler<
|
|
439
|
-
| `onBlur` | `FocusEventHandler<
|
|
440
|
-
| `onBlurCapture` | `FocusEventHandler<
|
|
441
|
-
| `onCanPlay` | `ReactEventHandler<
|
|
442
|
-
| `onCanPlayCapture` | `ReactEventHandler<
|
|
443
|
-
| `onCanPlayThrough` | `ReactEventHandler<
|
|
444
|
-
| `onCanPlayThroughCapture` | `ReactEventHandler<
|
|
445
|
-
| `onChange` | `FormEventHandler<
|
|
446
|
-
| `onChangeCapture` | `FormEventHandler<
|
|
447
|
-
| `onClick` | `MouseEventHandler<
|
|
448
|
-
| `onClickCapture` | `MouseEventHandler<
|
|
449
|
-
| `onCompositionEnd` | `CompositionEventHandler<
|
|
450
|
-
| `onCompositionEndCapture` | `CompositionEventHandler<
|
|
451
|
-
| `onCompositionStart` | `CompositionEventHandler<
|
|
452
|
-
| `onCompositionStartCapture` | `CompositionEventHandler<
|
|
453
|
-
| `onCompositionUpdate` | `CompositionEventHandler<
|
|
454
|
-
| `onCompositionUpdateCapture` | `CompositionEventHandler<
|
|
455
|
-
| `onContextMenu` | `MouseEventHandler<
|
|
456
|
-
| `onContextMenuCapture` | `MouseEventHandler<
|
|
457
|
-
| `onCopy` | `ClipboardEventHandler<
|
|
458
|
-
| `onCopyCapture` | `ClipboardEventHandler<
|
|
459
|
-
| `onCut` | `ClipboardEventHandler<
|
|
460
|
-
| `onCutCapture` | `ClipboardEventHandler<
|
|
461
|
-
| `onDoubleClick` | `MouseEventHandler<
|
|
462
|
-
| `onDoubleClickCapture` | `MouseEventHandler<
|
|
463
|
-
| `onDrag` | `DragEventHandler<
|
|
464
|
-
| `onDragCapture` | `DragEventHandler<
|
|
465
|
-
| `onDragEnd` | `DragEventHandler<
|
|
466
|
-
| `onDragEndCapture` | `DragEventHandler<
|
|
467
|
-
| `onDragEnter` | `DragEventHandler<
|
|
468
|
-
| `onDragEnterCapture` | `DragEventHandler<
|
|
469
|
-
| `onDragExit` | `DragEventHandler<
|
|
470
|
-
| `onDragExitCapture` | `DragEventHandler<
|
|
471
|
-
| `onDragLeave` | `DragEventHandler<
|
|
472
|
-
| `onDragLeaveCapture` | `DragEventHandler<
|
|
473
|
-
| `onDragOver` | `DragEventHandler<
|
|
474
|
-
| `onDragOverCapture` | `DragEventHandler<
|
|
475
|
-
| `onDragStart` | `DragEventHandler<
|
|
476
|
-
| `onDragStartCapture` | `DragEventHandler<
|
|
477
|
-
| `onDrop` | `DragEventHandler<
|
|
478
|
-
| `onDropCapture` | `DragEventHandler<
|
|
479
|
-
| `onDurationChange` | `ReactEventHandler<
|
|
480
|
-
| `onDurationChangeCapture` | `ReactEventHandler<
|
|
481
|
-
| `onEmptied` | `ReactEventHandler<
|
|
482
|
-
| `onEmptiedCapture` | `ReactEventHandler<
|
|
483
|
-
| `onEncrypted` | `ReactEventHandler<
|
|
484
|
-
| `onEncryptedCapture` | `ReactEventHandler<
|
|
485
|
-
| `onEnded` | `ReactEventHandler<
|
|
486
|
-
| `onEndedCapture` | `ReactEventHandler<
|
|
487
|
-
| `onError` | `ReactEventHandler<
|
|
488
|
-
| `onErrorCapture` | `ReactEventHandler<
|
|
489
|
-
| `onFocus` | `FocusEventHandler<
|
|
490
|
-
| `onFocusCapture` | `FocusEventHandler<
|
|
491
|
-
| `onGotPointerCapture` | `PointerEventHandler<
|
|
492
|
-
| `onGotPointerCaptureCapture` | `PointerEventHandler<
|
|
493
|
-
| `onInput` | `FormEventHandler<
|
|
494
|
-
| `onInputCapture` | `FormEventHandler<
|
|
495
|
-
| `onInvalid` | `FormEventHandler<
|
|
496
|
-
| `onInvalidCapture` | `FormEventHandler<
|
|
497
|
-
| `onKeyDown` | `KeyboardEventHandler<
|
|
498
|
-
| `onKeyDownCapture` | `KeyboardEventHandler<
|
|
499
|
-
| `onKeyPress` | `KeyboardEventHandler<
|
|
500
|
-
| `onKeyPressCapture` | `KeyboardEventHandler<
|
|
501
|
-
| `onKeyUp` | `KeyboardEventHandler<
|
|
502
|
-
| `onKeyUpCapture` | `KeyboardEventHandler<
|
|
503
|
-
| `onLoad` | `ReactEventHandler<
|
|
504
|
-
| `onLoadCapture` | `ReactEventHandler<
|
|
505
|
-
| `onLoadStart` | `ReactEventHandler<
|
|
506
|
-
| `onLoadStartCapture` | `ReactEventHandler<
|
|
507
|
-
| `onLoadedData` | `ReactEventHandler<
|
|
508
|
-
| `onLoadedDataCapture` | `ReactEventHandler<
|
|
509
|
-
| `onLoadedMetadata` | `ReactEventHandler<
|
|
510
|
-
| `onLoadedMetadataCapture` | `ReactEventHandler<
|
|
511
|
-
| `onLostPointerCapture` | `PointerEventHandler<
|
|
512
|
-
| `onLostPointerCaptureCapture` | `PointerEventHandler<
|
|
513
|
-
| `onMouseDown` | `MouseEventHandler<
|
|
514
|
-
| `onMouseDownCapture` | `MouseEventHandler<
|
|
515
|
-
| `onMouseEnter` | `MouseEventHandler<
|
|
516
|
-
| `onMouseLeave` | `MouseEventHandler<
|
|
517
|
-
| `onMouseMove` | `MouseEventHandler<
|
|
518
|
-
| `onMouseMoveCapture` | `MouseEventHandler<
|
|
519
|
-
| `onMouseOut` | `MouseEventHandler<
|
|
520
|
-
| `onMouseOutCapture` | `MouseEventHandler<
|
|
521
|
-
| `onMouseOver` | `MouseEventHandler<
|
|
522
|
-
| `onMouseOverCapture` | `MouseEventHandler<
|
|
523
|
-
| `onMouseUp` | `MouseEventHandler<
|
|
524
|
-
| `onMouseUpCapture` | `MouseEventHandler<
|
|
525
|
-
| `onPaste` | `ClipboardEventHandler<
|
|
526
|
-
| `onPasteCapture` | `ClipboardEventHandler<
|
|
527
|
-
| `onPause` | `ReactEventHandler<
|
|
528
|
-
| `onPauseCapture` | `ReactEventHandler<
|
|
529
|
-
| `onPlay` | `ReactEventHandler<
|
|
530
|
-
| `onPlayCapture` | `ReactEventHandler<
|
|
531
|
-
| `onPlaying` | `ReactEventHandler<
|
|
532
|
-
| `onPlayingCapture` | `ReactEventHandler<
|
|
533
|
-
| `onPointerCancel` | `PointerEventHandler<
|
|
534
|
-
| `onPointerCancelCapture` | `PointerEventHandler<
|
|
535
|
-
| `onPointerDown` | `PointerEventHandler<
|
|
536
|
-
| `onPointerDownCapture` | `PointerEventHandler<
|
|
537
|
-
| `onPointerEnter` | `PointerEventHandler<
|
|
538
|
-
| `onPointerLeave` | `PointerEventHandler<
|
|
539
|
-
| `onPointerMove` | `PointerEventHandler<
|
|
540
|
-
| `onPointerMoveCapture` | `PointerEventHandler<
|
|
541
|
-
| `onPointerOut` | `PointerEventHandler<
|
|
542
|
-
| `onPointerOutCapture` | `PointerEventHandler<
|
|
543
|
-
| `onPointerOver` | `PointerEventHandler<
|
|
544
|
-
| `onPointerOverCapture` | `PointerEventHandler<
|
|
545
|
-
| `onPointerUp` | `PointerEventHandler<
|
|
546
|
-
| `onPointerUpCapture` | `PointerEventHandler<
|
|
547
|
-
| `onProgress` | `ReactEventHandler<
|
|
548
|
-
| `onProgressCapture` | `ReactEventHandler<
|
|
549
|
-
| `onRateChange` | `ReactEventHandler<
|
|
550
|
-
| `onRateChangeCapture` | `ReactEventHandler<
|
|
551
|
-
| `onReset` | `FormEventHandler<
|
|
552
|
-
| `onResetCapture` | `FormEventHandler<
|
|
553
|
-
| `onResize` | `ReactEventHandler<
|
|
554
|
-
| `onResizeCapture` | `ReactEventHandler<
|
|
555
|
-
| `onScroll` | `UIEventHandler<
|
|
556
|
-
| `onScrollCapture` | `UIEventHandler<
|
|
557
|
-
| `onSeeked` | `ReactEventHandler<
|
|
558
|
-
| `onSeekedCapture` | `ReactEventHandler<
|
|
559
|
-
| `onSeeking` | `ReactEventHandler<
|
|
560
|
-
| `onSeekingCapture` | `ReactEventHandler<
|
|
561
|
-
| `onSelect` | `ReactEventHandler<
|
|
562
|
-
| `onSelectCapture` | `ReactEventHandler<
|
|
563
|
-
| `onStalled` | `ReactEventHandler<
|
|
564
|
-
| `onStalledCapture` | `ReactEventHandler<
|
|
565
|
-
| `onSubmit` | `FormEventHandler<
|
|
566
|
-
| `onSubmitCapture` | `FormEventHandler<
|
|
567
|
-
| `onSuspend` | `ReactEventHandler<
|
|
568
|
-
| `onSuspendCapture` | `ReactEventHandler<
|
|
569
|
-
| `onTimeUpdate` | `ReactEventHandler<
|
|
570
|
-
| `onTimeUpdateCapture` | `ReactEventHandler<
|
|
571
|
-
| `onTouchCancel` | `TouchEventHandler<
|
|
572
|
-
| `onTouchCancelCapture` | `TouchEventHandler<
|
|
573
|
-
| `onTouchEnd` | `TouchEventHandler<
|
|
574
|
-
| `onTouchEndCapture` | `TouchEventHandler<
|
|
575
|
-
| `onTouchMove` | `TouchEventHandler<
|
|
576
|
-
| `onTouchMoveCapture` | `TouchEventHandler<
|
|
577
|
-
| `onTouchStart` | `TouchEventHandler<
|
|
578
|
-
| `onTouchStartCapture` | `TouchEventHandler<
|
|
579
|
-
| `onTransitionEnd` | `TransitionEventHandler<
|
|
580
|
-
| `onTransitionEndCapture` | `TransitionEventHandler<
|
|
581
|
-
| `onVolumeChange` | `ReactEventHandler<
|
|
582
|
-
| `onVolumeChangeCapture` | `ReactEventHandler<
|
|
583
|
-
| `onWaiting` | `ReactEventHandler<
|
|
584
|
-
| `onWaitingCapture` | `ReactEventHandler<
|
|
585
|
-
| `onWheel` | `WheelEventHandler<
|
|
586
|
-
| `onWheelCapture` | `WheelEventHandler<
|
|
519
|
+
| `onAbort` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
520
|
+
| `onAbortCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
521
|
+
| `onAnimationEnd` | `AnimationEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
522
|
+
| `onAnimationEndCapture` | `AnimationEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
523
|
+
| `onAnimationIteration` | `AnimationEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
524
|
+
| `onAnimationIterationCapture` | `AnimationEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
525
|
+
| `onAnimationStart` | `AnimationEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
526
|
+
| `onAnimationStartCapture` | `AnimationEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
527
|
+
| `onAuxClick` | `MouseEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
528
|
+
| `onAuxClickCapture` | `MouseEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
529
|
+
| `onBeforeInput` | `FormEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
530
|
+
| `onBeforeInputCapture` | `FormEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
531
|
+
| `onBlur` | `FocusEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
532
|
+
| `onBlurCapture` | `FocusEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
533
|
+
| `onCanPlay` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
534
|
+
| `onCanPlayCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
535
|
+
| `onCanPlayThrough` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
536
|
+
| `onCanPlayThroughCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
537
|
+
| `onChange` | `FormEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
538
|
+
| `onChangeCapture` | `FormEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
539
|
+
| `onClick` | `MouseEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
540
|
+
| `onClickCapture` | `MouseEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
541
|
+
| `onCompositionEnd` | `CompositionEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
542
|
+
| `onCompositionEndCapture` | `CompositionEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
543
|
+
| `onCompositionStart` | `CompositionEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
544
|
+
| `onCompositionStartCapture` | `CompositionEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
545
|
+
| `onCompositionUpdate` | `CompositionEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
546
|
+
| `onCompositionUpdateCapture` | `CompositionEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
547
|
+
| `onContextMenu` | `MouseEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
548
|
+
| `onContextMenuCapture` | `MouseEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
549
|
+
| `onCopy` | `ClipboardEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
550
|
+
| `onCopyCapture` | `ClipboardEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
551
|
+
| `onCut` | `ClipboardEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
552
|
+
| `onCutCapture` | `ClipboardEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
553
|
+
| `onDoubleClick` | `MouseEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
554
|
+
| `onDoubleClickCapture` | `MouseEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
555
|
+
| `onDrag` | `DragEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
556
|
+
| `onDragCapture` | `DragEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
557
|
+
| `onDragEnd` | `DragEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
558
|
+
| `onDragEndCapture` | `DragEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
559
|
+
| `onDragEnter` | `DragEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
560
|
+
| `onDragEnterCapture` | `DragEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
561
|
+
| `onDragExit` | `DragEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
562
|
+
| `onDragExitCapture` | `DragEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
563
|
+
| `onDragLeave` | `DragEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
564
|
+
| `onDragLeaveCapture` | `DragEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
565
|
+
| `onDragOver` | `DragEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
566
|
+
| `onDragOverCapture` | `DragEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
567
|
+
| `onDragStart` | `DragEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
568
|
+
| `onDragStartCapture` | `DragEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
569
|
+
| `onDrop` | `DragEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
570
|
+
| `onDropCapture` | `DragEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
571
|
+
| `onDurationChange` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
572
|
+
| `onDurationChangeCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
573
|
+
| `onEmptied` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
574
|
+
| `onEmptiedCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
575
|
+
| `onEncrypted` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
576
|
+
| `onEncryptedCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
577
|
+
| `onEnded` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
578
|
+
| `onEndedCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
579
|
+
| `onError` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
580
|
+
| `onErrorCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
581
|
+
| `onFocus` | `FocusEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
582
|
+
| `onFocusCapture` | `FocusEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
583
|
+
| `onGotPointerCapture` | `PointerEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
584
|
+
| `onGotPointerCaptureCapture` | `PointerEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
585
|
+
| `onInput` | `FormEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
586
|
+
| `onInputCapture` | `FormEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
587
|
+
| `onInvalid` | `FormEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
588
|
+
| `onInvalidCapture` | `FormEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
589
|
+
| `onKeyDown` | `KeyboardEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
590
|
+
| `onKeyDownCapture` | `KeyboardEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
591
|
+
| `onKeyPress` | `KeyboardEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
592
|
+
| `onKeyPressCapture` | `KeyboardEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
593
|
+
| `onKeyUp` | `KeyboardEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
594
|
+
| `onKeyUpCapture` | `KeyboardEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
595
|
+
| `onLoad` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
596
|
+
| `onLoadCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
597
|
+
| `onLoadStart` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
598
|
+
| `onLoadStartCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
599
|
+
| `onLoadedData` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
600
|
+
| `onLoadedDataCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
601
|
+
| `onLoadedMetadata` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
602
|
+
| `onLoadedMetadataCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
603
|
+
| `onLostPointerCapture` | `PointerEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
604
|
+
| `onLostPointerCaptureCapture` | `PointerEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
605
|
+
| `onMouseDown` | `MouseEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
606
|
+
| `onMouseDownCapture` | `MouseEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
607
|
+
| `onMouseEnter` | `MouseEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
608
|
+
| `onMouseLeave` | `MouseEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
609
|
+
| `onMouseMove` | `MouseEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
610
|
+
| `onMouseMoveCapture` | `MouseEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
611
|
+
| `onMouseOut` | `MouseEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
612
|
+
| `onMouseOutCapture` | `MouseEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
613
|
+
| `onMouseOver` | `MouseEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
614
|
+
| `onMouseOverCapture` | `MouseEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
615
|
+
| `onMouseUp` | `MouseEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
616
|
+
| `onMouseUpCapture` | `MouseEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
617
|
+
| `onPaste` | `ClipboardEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
618
|
+
| `onPasteCapture` | `ClipboardEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
619
|
+
| `onPause` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
620
|
+
| `onPauseCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
621
|
+
| `onPlay` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
622
|
+
| `onPlayCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
623
|
+
| `onPlaying` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
624
|
+
| `onPlayingCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
625
|
+
| `onPointerCancel` | `PointerEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
626
|
+
| `onPointerCancelCapture` | `PointerEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
627
|
+
| `onPointerDown` | `PointerEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
628
|
+
| `onPointerDownCapture` | `PointerEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
629
|
+
| `onPointerEnter` | `PointerEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
630
|
+
| `onPointerLeave` | `PointerEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
631
|
+
| `onPointerMove` | `PointerEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
632
|
+
| `onPointerMoveCapture` | `PointerEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
633
|
+
| `onPointerOut` | `PointerEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
634
|
+
| `onPointerOutCapture` | `PointerEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
635
|
+
| `onPointerOver` | `PointerEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
636
|
+
| `onPointerOverCapture` | `PointerEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
637
|
+
| `onPointerUp` | `PointerEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
638
|
+
| `onPointerUpCapture` | `PointerEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
639
|
+
| `onProgress` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
640
|
+
| `onProgressCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
641
|
+
| `onRateChange` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
642
|
+
| `onRateChangeCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
643
|
+
| `onReset` | `FormEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
644
|
+
| `onResetCapture` | `FormEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
645
|
+
| `onResize` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
646
|
+
| `onResizeCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
647
|
+
| `onScroll` | `UIEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
648
|
+
| `onScrollCapture` | `UIEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
649
|
+
| `onSeeked` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
650
|
+
| `onSeekedCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
651
|
+
| `onSeeking` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
652
|
+
| `onSeekingCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
653
|
+
| `onSelect` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
654
|
+
| `onSelectCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
655
|
+
| `onStalled` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
656
|
+
| `onStalledCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
657
|
+
| `onSubmit` | `FormEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
658
|
+
| `onSubmitCapture` | `FormEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
659
|
+
| `onSuspend` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
660
|
+
| `onSuspendCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
661
|
+
| `onTimeUpdate` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
662
|
+
| `onTimeUpdateCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
663
|
+
| `onTouchCancel` | `TouchEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
664
|
+
| `onTouchCancelCapture` | `TouchEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
665
|
+
| `onTouchEnd` | `TouchEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
666
|
+
| `onTouchEndCapture` | `TouchEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
667
|
+
| `onTouchMove` | `TouchEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
668
|
+
| `onTouchMoveCapture` | `TouchEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
669
|
+
| `onTouchStart` | `TouchEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
670
|
+
| `onTouchStartCapture` | `TouchEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
671
|
+
| `onTransitionEnd` | `TransitionEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
672
|
+
| `onTransitionEndCapture` | `TransitionEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
673
|
+
| `onVolumeChange` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
674
|
+
| `onVolumeChangeCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
675
|
+
| `onWaiting` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
676
|
+
| `onWaitingCapture` | `ReactEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
677
|
+
| `onWheel` | `WheelEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
678
|
+
| `onWheelCapture` | `WheelEventHandler<HTMLElement> \| undefined` | No | `-` | - |
|
|
587
679
|
| `opacity` | `inherit \| revert \| -moz-initial \| initial \| revert-layer \| unset` | No | `-` | - |
|
|
588
680
|
| `overflow` | `ResponsiveProp<hidden \| auto \| visible \| clip \| scroll>` | No | `-` | - |
|
|
589
681
|
| `padding` | `0 \| 1 \| 2 \| 0.25 \| 0.5 \| 0.75 \| 1.5 \| 3 \| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \| 10` | No | `-` | - |
|