ionbase-ui 0.13.1 → 0.17.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.
Files changed (59) hide show
  1. package/README.md +62 -45
  2. package/dist/components/Popover.d.ts +47 -0
  3. package/dist/components/Popover.d.ts.map +1 -0
  4. package/dist/components/Popover.js +71 -0
  5. package/dist/components/Popover.js.map +1 -0
  6. package/dist/components/Toast.d.ts +57 -0
  7. package/dist/components/Toast.d.ts.map +1 -0
  8. package/dist/components/Toast.js +81 -0
  9. package/dist/components/Toast.js.map +1 -0
  10. package/dist/components/index.d.ts +4 -0
  11. package/dist/components/index.d.ts.map +1 -1
  12. package/dist/components/index.js +2 -0
  13. package/dist/components/index.js.map +1 -1
  14. package/dist/meta/Alert.json +248 -0
  15. package/dist/meta/Avatar.json +97 -0
  16. package/dist/meta/AvatarGroup.json +82 -0
  17. package/dist/meta/Badge.json +83 -0
  18. package/dist/meta/Button.json +518 -0
  19. package/dist/meta/Checkbox.json +113 -0
  20. package/dist/meta/Divider.json +30 -0
  21. package/dist/meta/FullCard.json +97 -0
  22. package/dist/meta/Header.json +91 -0
  23. package/dist/meta/Icon.json +35 -0
  24. package/dist/meta/Input.json +558 -0
  25. package/dist/meta/Link.json +239 -0
  26. package/dist/meta/Logo.json +46 -0
  27. package/dist/meta/LogoMark.json +41 -0
  28. package/dist/meta/Menu.json +50 -0
  29. package/dist/meta/MenuItem.json +75 -0
  30. package/dist/meta/Modal.json +241 -0
  31. package/dist/meta/NavItem.json +76 -0
  32. package/dist/meta/PhoneInput.json +472 -0
  33. package/dist/meta/Popover.json +124 -0
  34. package/dist/meta/Radio.json +104 -0
  35. package/dist/meta/RadioGroup.json +126 -0
  36. package/dist/meta/ScrollProgress.json +63 -0
  37. package/dist/meta/Select.json +195 -0
  38. package/dist/meta/TabItem.json +15 -0
  39. package/dist/meta/Table.json +135 -0
  40. package/dist/meta/TableBody.json +43 -0
  41. package/dist/meta/TableCell.json +105 -0
  42. package/dist/meta/TableHead.json +43 -0
  43. package/dist/meta/TableRow.json +56 -0
  44. package/dist/meta/Tabs.json +186 -0
  45. package/dist/meta/Toast.json +105 -0
  46. package/dist/meta/ToastProvider.json +75 -0
  47. package/dist/meta/Toggle.json +102 -0
  48. package/dist/meta/Tooltip.json +78 -0
  49. package/dist/meta/components.json +4757 -0
  50. package/dist/meta/index.json +479 -0
  51. package/dist/styles/index.css +2 -0
  52. package/dist/styles/popover.css +185 -0
  53. package/dist/styles/toast.css +216 -0
  54. package/dist/styles/tokens/base.css +26 -26
  55. package/dist/styles/tokens/theme-dark.css +11 -11
  56. package/dist/tokens/index.d.ts +9 -9
  57. package/dist/tokens/index.js +9 -9
  58. package/dist/tokens/index.js.map +1 -1
  59. package/package.json +12 -6
@@ -0,0 +1,558 @@
1
+ {
2
+ "name": "Input",
3
+ "source": "src/components/Input.tsx",
4
+ "propsType": "InputProps",
5
+ "description": "Input covers both Figma components on the Input page: the field itself\n(`Input`, 80:275) and the label/helper stack around it (`Form Field`,\n80:330). They are separate there because a Figma component cannot make a\nslot optional without a boolean; here the wrapper simply isn't rendered when\nthere is nothing to put in it.\n\n`useTextField` owns the wiring that is tedious and easy to get subtly wrong:\nit generates the ids, points `aria-labelledby` at the label and\n`aria-describedby` at whichever of the helper or error message is actually\nshowing, and sets `aria-invalid`. Hand-rolling that is where form fields\nusually lose their accessibility.\n\nFigma's seven states map to three props and three CSS states. Hover and Focus\nare interaction; Filled is the placeholder distinction, which CSS already\nexpresses; Default, Invalid, Disabled and Read-only are props.",
6
+ "import": "import { Input } from 'ionbase-ui';",
7
+ "status": "stable",
8
+ "summary": "A single-line text field, together with its label, helper text and error message.",
9
+ "useWhen": [
10
+ "collecting one line of free text",
11
+ "the field needs a label, helper text, or validation messaging"
12
+ ],
13
+ "useInstead": [
14
+ {
15
+ "when": "the user picks from a fixed set of options",
16
+ "use": "Select"
17
+ },
18
+ {
19
+ "when": "it is a phone number",
20
+ "use": "PhoneInput",
21
+ "why": "country code and formatting are handled for you"
22
+ },
23
+ {
24
+ "when": "it is a single boolean",
25
+ "use": "Checkbox or Toggle"
26
+ }
27
+ ],
28
+ "variants": {
29
+ "size": {
30
+ "sm": {
31
+ "use": "dense forms, table filters, toolbars"
32
+ },
33
+ "md": {
34
+ "use": "the default"
35
+ },
36
+ "lg": {
37
+ "use": "prominent single-field forms — search, sign-in"
38
+ }
39
+ }
40
+ },
41
+ "slots": {
42
+ "leadingIcon": {
43
+ "accepts": "Icon",
44
+ "note": "decorative; omit Icon's `label`"
45
+ },
46
+ "trailingIcon": {
47
+ "accepts": "Icon",
48
+ "note": "decorative unless it is interactive, in which case it needs its own button and name"
49
+ },
50
+ "leadingAddon": {
51
+ "note": "a static prefix such as a protocol or currency; not focusable"
52
+ }
53
+ },
54
+ "a11y": {
55
+ "guarantees": [
56
+ "ids are generated and wired — the label points at the input via aria-labelledby",
57
+ "aria-describedby points at whichever of the helper text or error message is actually showing",
58
+ "aria-invalid is set from isInvalid"
59
+ ],
60
+ "requires": [
61
+ "`label`, or `aria-label` when the field is visually self-evident and no label is rendered"
62
+ ],
63
+ "notes": [
64
+ "The label/helper/error wrapper is only rendered when there is something to put in it — Figma models it as a separate `Form Field` component, this does not."
65
+ ]
66
+ },
67
+ "antiPatterns": [
68
+ {
69
+ "dont": "using `placeholder` as the label",
70
+ "do": "pass `label`",
71
+ "why": "the placeholder disappears on focus, so the user loses the field's name exactly when typing"
72
+ },
73
+ {
74
+ "dont": "rendering your own <label htmlFor>",
75
+ "do": "pass `label`",
76
+ "why": "the component generates the id; an external htmlFor will not match it"
77
+ },
78
+ {
79
+ "dont": "showing an error by putting the message in `description`",
80
+ "do": "set `isInvalid` and pass `errorMessage`",
81
+ "why": "only errorMessage drives aria-invalid and the described-by wiring"
82
+ }
83
+ ],
84
+ "deprecated": [
85
+ {
86
+ "prop": "disabled",
87
+ "replacement": "isDisabled"
88
+ }
89
+ ],
90
+ "stylesheet": "src/styles/input.css",
91
+ "tokens": [
92
+ "--border-default",
93
+ "--border-disabled",
94
+ "--border-error-strong",
95
+ "--border-focus",
96
+ "--border-strong",
97
+ "--border-subtle",
98
+ "--border-width-default",
99
+ "--border-width-thick",
100
+ "--font-family-sans",
101
+ "--font-weight-medium",
102
+ "--font-weight-regular",
103
+ "--icon-disabled",
104
+ "--icon-interactive",
105
+ "--icon-size-md",
106
+ "--icon-size-sm",
107
+ "--icon-tertiary",
108
+ "--ion-duration-base",
109
+ "--ion-ease-out",
110
+ "--ion-input-border-width",
111
+ "--ion-input-font-size",
112
+ "--ion-input-gap",
113
+ "--ion-input-height",
114
+ "--ion-input-icon-size",
115
+ "--ion-input-line-height",
116
+ "--ion-input-padding-x",
117
+ "--ion-input-radius",
118
+ "--radius-md",
119
+ "--radius-sm",
120
+ "--spacing-12",
121
+ "--spacing-16",
122
+ "--spacing-32",
123
+ "--spacing-40",
124
+ "--spacing-48",
125
+ "--spacing-6",
126
+ "--spacing-8",
127
+ "--surface-default",
128
+ "--surface-disabled",
129
+ "--surface-page",
130
+ "--text-disabled",
131
+ "--text-error",
132
+ "--text-secondary",
133
+ "--text-tertiary",
134
+ "--type-body",
135
+ "--type-body-line-height",
136
+ "--type-body-sm",
137
+ "--type-body-sm-line-height"
138
+ ],
139
+ "props": {
140
+ "size": {
141
+ "type": "InputSize | undefined",
142
+ "required": false,
143
+ "origin": "own",
144
+ "description": "Matches the Figma `Size` variant: Small, Medium, Large.",
145
+ "values": [
146
+ "sm",
147
+ "md",
148
+ "lg"
149
+ ],
150
+ "default": "md"
151
+ },
152
+ "autoCapitalize": {
153
+ "type": "\"none\" | \"off\" | \"on\" | \"sentences\" | \"words\" | \"characters\" | undefined",
154
+ "required": false,
155
+ "origin": "own",
156
+ "description": "Narrower than React's own typing, which also allows any `string`.\n`autoCapitalize` is declared on `AriaTextFieldOptions` rather than\n`AriaTextFieldProps`, so `keyof AriaTextFieldProps` above cannot omit it —\nand the wide DOM version does not satisfy what `useTextField` accepts.",
157
+ "values": [
158
+ "none",
159
+ "off",
160
+ "on",
161
+ "sentences",
162
+ "words",
163
+ "characters"
164
+ ]
165
+ },
166
+ "leadingIcon": {
167
+ "type": "React.ReactNode",
168
+ "required": false,
169
+ "origin": "own",
170
+ "description": "Leading icon. Figma's `Show Leading Icon` + `Leading Icon` swap."
171
+ },
172
+ "trailingIcon": {
173
+ "type": "React.ReactNode",
174
+ "required": false,
175
+ "origin": "own",
176
+ "description": "Trailing icon. Figma's `Show Trailing Icon` + `Trailing Icon` swap."
177
+ },
178
+ "leadingAddon": {
179
+ "type": "React.ReactNode",
180
+ "required": false,
181
+ "origin": "own",
182
+ "description": "A segment butted against the left of the control, sharing its outline —\nFigma's `Input/Phone` (80:372) country-code block.\n\nDistinct from `leadingIcon`, which sits *inside* the box: an addon has its\nown surface and border and is a sibling of the control, so the two cannot\nbe the same slot. It lives here rather than in `PhoneInput` because the\n`.ion-field` wrapper has to enclose the addon and the control together —\nbuilding it outside would put the label above only half the control and\nbreak the `aria-labelledby` wiring `useTextField` sets up.\n\nPhone is the only addon Figma specifies. This is a slot, not a system:\nresist growing a trailing counterpart or an addon variant ladder until a\ndesign actually calls for one."
183
+ },
184
+ "disabled": {
185
+ "type": "boolean | undefined",
186
+ "required": false,
187
+ "origin": "own",
188
+ "tags": {
189
+ "deprecated": "Use `isDisabled`. Accepted as an alias for one minor version."
190
+ }
191
+ },
192
+ "className": {
193
+ "type": "string | undefined",
194
+ "required": false,
195
+ "origin": "own",
196
+ "description": "Class names for the control box (`.ion-input`). Always lands here —\nnever on the form-field wrapper. Use `wrapperClassName` for that."
197
+ },
198
+ "wrapperClassName": {
199
+ "type": "string | undefined",
200
+ "required": false,
201
+ "origin": "own",
202
+ "description": "Class names for the `.ion-field` wrapper when a label or helper is shown."
203
+ },
204
+ "aria-activedescendant": {
205
+ "type": "string | undefined",
206
+ "required": false,
207
+ "origin": "aria",
208
+ "description": "Identifies the currently active element when DOM focus is on a composite widget, textbox,\ngroup, or application."
209
+ },
210
+ "aria-autocomplete": {
211
+ "type": "\"inline\" | \"list\" | \"none\" | \"both\" | undefined",
212
+ "required": false,
213
+ "origin": "aria",
214
+ "description": "Indicates whether inputting text could trigger display of one or more predictions of the user's\nintended value for an input and specifies how predictions would be presented if they are made.",
215
+ "values": [
216
+ "inline",
217
+ "list",
218
+ "none",
219
+ "both"
220
+ ]
221
+ },
222
+ "aria-haspopup": {
223
+ "type": "boolean | \"true\" | \"false\" | \"menu\" | \"listbox\" | \"tree\" | \"grid\" | \"dialog\" | undefined",
224
+ "required": false,
225
+ "origin": "aria",
226
+ "description": "Indicates the availability and type of interactive popup element, such as menu or dialog, that\ncan be triggered by an element."
227
+ },
228
+ "aria-controls": {
229
+ "type": "string | undefined",
230
+ "required": false,
231
+ "origin": "aria",
232
+ "description": "Identifies the element (or elements) whose contents or presence are controlled by the current\nelement."
233
+ },
234
+ "enterKeyHint": {
235
+ "type": "\"enter\" | \"done\" | \"go\" | \"next\" | \"previous\" | \"search\" | \"send\" | undefined",
236
+ "required": false,
237
+ "origin": "aria",
238
+ "description": "An enumerated attribute that defines what action label or icon to preset for the enter key on\nvirtual keyboards. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/enterkeyhint).",
239
+ "values": [
240
+ "enter",
241
+ "done",
242
+ "go",
243
+ "next",
244
+ "previous",
245
+ "search",
246
+ "send"
247
+ ]
248
+ },
249
+ "isDisabled": {
250
+ "type": "boolean | undefined",
251
+ "required": false,
252
+ "origin": "aria",
253
+ "description": "Whether the input is disabled."
254
+ },
255
+ "isReadOnly": {
256
+ "type": "boolean | undefined",
257
+ "required": false,
258
+ "origin": "aria",
259
+ "description": "Whether the input can be selected but not changed by the user."
260
+ },
261
+ "isRequired": {
262
+ "type": "boolean | undefined",
263
+ "required": false,
264
+ "origin": "aria",
265
+ "description": "Whether user input is required on the input before form submission."
266
+ },
267
+ "isInvalid": {
268
+ "type": "boolean | undefined",
269
+ "required": false,
270
+ "origin": "aria",
271
+ "description": "Whether the input value is invalid."
272
+ },
273
+ "validationState": {
274
+ "type": "ValidationState | undefined",
275
+ "required": false,
276
+ "origin": "aria",
277
+ "values": [
278
+ "valid",
279
+ "invalid"
280
+ ],
281
+ "tags": {
282
+ "deprecated": "Use `isInvalid` instead."
283
+ }
284
+ },
285
+ "validationBehavior": {
286
+ "type": "\"aria\" | \"native\" | undefined",
287
+ "required": false,
288
+ "origin": "aria",
289
+ "description": "Whether to use native HTML form validation to prevent form submission\nwhen the value is missing or invalid, or mark the field as required\nor invalid via ARIA.",
290
+ "values": [
291
+ "aria",
292
+ "native"
293
+ ],
294
+ "tags": {
295
+ "default": "'aria'"
296
+ }
297
+ },
298
+ "validate": {
299
+ "type": "((value: string) => ValidationError | true | null | undefined) | undefined",
300
+ "required": false,
301
+ "origin": "aria",
302
+ "description": "A function that returns an error message if a given value is invalid.\nValidation errors are displayed to the user when the form is submitted\nif `validationBehavior=\"native\"`. For realtime validation, use the `isInvalid`\nprop instead."
303
+ },
304
+ "description": {
305
+ "type": "ReactNode",
306
+ "required": false,
307
+ "origin": "aria",
308
+ "description": "A description for the field. Provides a hint such as specific requirements for what to choose."
309
+ },
310
+ "errorMessage": {
311
+ "type": "ReactNode | ((v: ValidationResult) => ReactNode)",
312
+ "required": false,
313
+ "origin": "aria",
314
+ "description": "An error message for the field."
315
+ },
316
+ "autoFocus": {
317
+ "type": "boolean | undefined",
318
+ "required": false,
319
+ "origin": "aria",
320
+ "description": "Whether the element should receive focus on render."
321
+ },
322
+ "onFocus": {
323
+ "type": "((e: FocusEvent<HTMLInputElement, Element>) => void) | undefined",
324
+ "required": false,
325
+ "origin": "aria",
326
+ "description": "Handler that is called when the element receives focus."
327
+ },
328
+ "onBlur": {
329
+ "type": "((e: FocusEvent<HTMLInputElement, Element>) => void) | undefined",
330
+ "required": false,
331
+ "origin": "aria",
332
+ "description": "Handler that is called when the element loses focus."
333
+ },
334
+ "onFocusChange": {
335
+ "type": "((isFocused: boolean) => void) | undefined",
336
+ "required": false,
337
+ "origin": "aria",
338
+ "description": "Handler that is called when the element's focus status changes."
339
+ },
340
+ "onKeyDown": {
341
+ "type": "((e: KeyboardEvent) => void) | undefined",
342
+ "required": false,
343
+ "origin": "aria",
344
+ "description": "Handler that is called when a key is pressed."
345
+ },
346
+ "onKeyUp": {
347
+ "type": "((e: KeyboardEvent) => void) | undefined",
348
+ "required": false,
349
+ "origin": "aria",
350
+ "description": "Handler that is called when a key is released."
351
+ },
352
+ "placeholder": {
353
+ "type": "string | undefined",
354
+ "required": false,
355
+ "origin": "aria",
356
+ "description": "Temporary text that occupies the text input when it is empty."
357
+ },
358
+ "value": {
359
+ "type": "string | undefined",
360
+ "required": false,
361
+ "origin": "aria",
362
+ "description": "The current value (controlled)."
363
+ },
364
+ "defaultValue": {
365
+ "type": "string | undefined",
366
+ "required": false,
367
+ "origin": "aria",
368
+ "description": "The default value (uncontrolled)."
369
+ },
370
+ "onChange": {
371
+ "type": "((value: string) => void) | undefined",
372
+ "required": false,
373
+ "origin": "aria",
374
+ "description": "Handler that is called when the value changes."
375
+ },
376
+ "label": {
377
+ "type": "ReactNode",
378
+ "required": false,
379
+ "origin": "aria",
380
+ "description": "The content to display as the label."
381
+ },
382
+ "aria-label": {
383
+ "type": "string | undefined",
384
+ "required": false,
385
+ "origin": "aria",
386
+ "description": "Defines a string value that labels the current element."
387
+ },
388
+ "aria-labelledby": {
389
+ "type": "string | undefined",
390
+ "required": false,
391
+ "origin": "aria",
392
+ "description": "Identifies the element (or elements) that labels the current element."
393
+ },
394
+ "aria-describedby": {
395
+ "type": "string | undefined",
396
+ "required": false,
397
+ "origin": "aria",
398
+ "description": "Identifies the element (or elements) that describes the object."
399
+ },
400
+ "aria-details": {
401
+ "type": "string | undefined",
402
+ "required": false,
403
+ "origin": "aria",
404
+ "description": "Identifies the element (or elements) that provide a detailed, extended description for the\nobject."
405
+ },
406
+ "excludeFromTabOrder": {
407
+ "type": "boolean | undefined",
408
+ "required": false,
409
+ "origin": "aria",
410
+ "description": "Whether to exclude the element from the sequential tab order. If true,\nthe element will not be focusable via the keyboard by tabbing. This should\nbe avoided except in rare scenarios where an alternative means of accessing\nthe element or its functionality via the keyboard is available."
411
+ },
412
+ "id": {
413
+ "type": "string | undefined",
414
+ "required": false,
415
+ "origin": "aria",
416
+ "description": "The element's unique identifier. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id)."
417
+ },
418
+ "autoComplete": {
419
+ "type": "string | undefined",
420
+ "required": false,
421
+ "origin": "aria",
422
+ "description": "Describes the type of autocomplete functionality the input should provide if any. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#htmlattrdefautocomplete)."
423
+ },
424
+ "maxLength": {
425
+ "type": "number | undefined",
426
+ "required": false,
427
+ "origin": "aria",
428
+ "description": "The maximum number of characters supported by the input. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#htmlattrdefmaxlength)."
429
+ },
430
+ "minLength": {
431
+ "type": "number | undefined",
432
+ "required": false,
433
+ "origin": "aria",
434
+ "description": "The minimum number of characters required by the input. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#htmlattrdefminlength)."
435
+ },
436
+ "pattern": {
437
+ "type": "string | undefined",
438
+ "required": false,
439
+ "origin": "aria",
440
+ "description": "Regex pattern that the value of the input must match to be valid. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#htmlattrdefpattern)."
441
+ },
442
+ "type": {
443
+ "type": "(string & {}) | \"search\" | \"text\" | \"url\" | \"tel\" | \"email\" | \"password\" | undefined",
444
+ "required": false,
445
+ "origin": "aria",
446
+ "description": "The type of input to render. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#htmlattrdeftype).",
447
+ "tags": {
448
+ "default": "'text'"
449
+ }
450
+ },
451
+ "inputMode": {
452
+ "type": "\"none\" | \"search\" | \"text\" | \"url\" | \"tel\" | \"email\" | \"numeric\" | \"decimal\" | undefined",
453
+ "required": false,
454
+ "origin": "aria",
455
+ "description": "Hints at the type of data that might be entered by the user while editing the element or its\ncontents. See\n[MDN](https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute).",
456
+ "values": [
457
+ "none",
458
+ "search",
459
+ "text",
460
+ "url",
461
+ "tel",
462
+ "email",
463
+ "numeric",
464
+ "decimal"
465
+ ]
466
+ },
467
+ "autoCorrect": {
468
+ "type": "string | undefined",
469
+ "required": false,
470
+ "origin": "aria",
471
+ "description": "An attribute that takes as its value a space-separated string that describes what, if any, type\nof autocomplete functionality the input should provide. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#autocomplete)."
472
+ },
473
+ "spellCheck": {
474
+ "type": "string | undefined",
475
+ "required": false,
476
+ "origin": "aria",
477
+ "description": "An enumerated attribute that defines whether the element may be checked for spelling errors.\nSee [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/spellcheck)."
478
+ },
479
+ "name": {
480
+ "type": "string | undefined",
481
+ "required": false,
482
+ "origin": "aria",
483
+ "description": "The name of the input element, used when submitting an HTML form. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#htmlattrdefname)."
484
+ },
485
+ "form": {
486
+ "type": "string | undefined",
487
+ "required": false,
488
+ "origin": "aria",
489
+ "description": "The `<form>` element to associate the input with.\nThe value of this attribute must be the id of a `<form>` in the same document.\nSee [MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#form)."
490
+ },
491
+ "onCopy": {
492
+ "type": "ClipboardEventHandler<HTMLInputElement> | undefined",
493
+ "required": false,
494
+ "origin": "aria",
495
+ "description": "Handler that is called when the user copies text. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/oncopy)."
496
+ },
497
+ "onCut": {
498
+ "type": "ClipboardEventHandler<HTMLInputElement> | undefined",
499
+ "required": false,
500
+ "origin": "aria",
501
+ "description": "Handler that is called when the user cuts text. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/oncut)."
502
+ },
503
+ "onPaste": {
504
+ "type": "ClipboardEventHandler<HTMLInputElement> | undefined",
505
+ "required": false,
506
+ "origin": "aria",
507
+ "description": "Handler that is called when the user pastes text. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/onpaste)."
508
+ },
509
+ "onCompositionStart": {
510
+ "type": "CompositionEventHandler<HTMLInputElement> | undefined",
511
+ "required": false,
512
+ "origin": "aria",
513
+ "description": "Handler that is called when a text composition system starts a new text composition session.\nSee [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Element/compositionstart_event)."
514
+ },
515
+ "onCompositionEnd": {
516
+ "type": "CompositionEventHandler<HTMLInputElement> | undefined",
517
+ "required": false,
518
+ "origin": "aria",
519
+ "description": "Handler that is called when a text composition system completes or cancels the current text\ncomposition session. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/API/Element/compositionend_event)."
520
+ },
521
+ "onCompositionUpdate": {
522
+ "type": "CompositionEventHandler<HTMLInputElement> | undefined",
523
+ "required": false,
524
+ "origin": "aria",
525
+ "description": "Handler that is called when a new character is received in the current text composition\nsession. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/API/Element/compositionupdate_event)."
526
+ },
527
+ "onSelect": {
528
+ "type": "ReactEventHandler<HTMLInputElement> | undefined",
529
+ "required": false,
530
+ "origin": "aria",
531
+ "description": "Handler that is called when text in the input is selected. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/API/Element/select_event)."
532
+ },
533
+ "onBeforeInput": {
534
+ "type": "FormEventHandler<HTMLInputElement> | undefined",
535
+ "required": false,
536
+ "origin": "aria",
537
+ "description": "Handler that is called when the input value is about to be modified. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/beforeinput_event)."
538
+ },
539
+ "onInput": {
540
+ "type": "FormEventHandler<HTMLInputElement> | undefined",
541
+ "required": false,
542
+ "origin": "aria",
543
+ "description": "Handler that is called when the input value is modified. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event)."
544
+ },
545
+ "aria-errormessage": {
546
+ "type": "string | undefined",
547
+ "required": false,
548
+ "origin": "aria",
549
+ "description": "Identifies the element that provides an error message for the object."
550
+ }
551
+ },
552
+ "propCounts": {
553
+ "own": 8,
554
+ "aria": 51,
555
+ "dom": 265,
556
+ "other": 0
557
+ }
558
+ }