ionbase-ui 0.51.0 → 0.69.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 (174) hide show
  1. package/dist/components/Accordion.d.ts +54 -0
  2. package/dist/components/Accordion.d.ts.map +1 -0
  3. package/dist/components/Accordion.js +68 -0
  4. package/dist/components/Accordion.js.map +1 -0
  5. package/dist/components/AgentActivity.d.ts +2 -1
  6. package/dist/components/AgentActivity.d.ts.map +1 -1
  7. package/dist/components/AgentActivity.js +4 -17
  8. package/dist/components/AgentActivity.js.map +1 -1
  9. package/dist/components/Breadcrumb.d.ts +45 -0
  10. package/dist/components/Breadcrumb.d.ts.map +1 -0
  11. package/dist/components/Breadcrumb.js +31 -0
  12. package/dist/components/Breadcrumb.js.map +1 -0
  13. package/dist/components/Calendar.d.ts +20 -0
  14. package/dist/components/Calendar.d.ts.map +1 -0
  15. package/dist/components/Calendar.js +151 -0
  16. package/dist/components/Calendar.js.map +1 -0
  17. package/dist/components/CalendarPopover.d.ts +26 -0
  18. package/dist/components/CalendarPopover.d.ts.map +1 -0
  19. package/dist/components/CalendarPopover.js +45 -0
  20. package/dist/components/CalendarPopover.js.map +1 -0
  21. package/dist/components/Checkbox.d.ts +2 -1
  22. package/dist/components/Checkbox.d.ts.map +1 -1
  23. package/dist/components/Checkbox.js +4 -2
  24. package/dist/components/Checkbox.js.map +1 -1
  25. package/dist/components/Combobox.d.ts +86 -0
  26. package/dist/components/Combobox.d.ts.map +1 -0
  27. package/dist/components/Combobox.js +261 -0
  28. package/dist/components/Combobox.js.map +1 -0
  29. package/dist/components/DateField.d.ts +15 -0
  30. package/dist/components/DateField.d.ts.map +1 -0
  31. package/dist/components/DateField.js +74 -0
  32. package/dist/components/DateField.js.map +1 -0
  33. package/dist/components/DatePicker.d.ts +81 -0
  34. package/dist/components/DatePicker.d.ts.map +1 -0
  35. package/dist/components/DatePicker.js +102 -0
  36. package/dist/components/DatePicker.js.map +1 -0
  37. package/dist/components/DateRangePicker.d.ts +117 -0
  38. package/dist/components/DateRangePicker.d.ts.map +1 -0
  39. package/dist/components/DateRangePicker.js +152 -0
  40. package/dist/components/DateRangePicker.js.map +1 -0
  41. package/dist/components/Drawer.d.ts +52 -0
  42. package/dist/components/Drawer.d.ts.map +1 -0
  43. package/dist/components/Drawer.js +66 -0
  44. package/dist/components/Drawer.js.map +1 -0
  45. package/dist/components/FileUpload.d.ts +79 -0
  46. package/dist/components/FileUpload.d.ts.map +1 -0
  47. package/dist/components/FileUpload.js +218 -0
  48. package/dist/components/FileUpload.js.map +1 -0
  49. package/dist/components/Header.d.ts +10 -0
  50. package/dist/components/Header.d.ts.map +1 -1
  51. package/dist/components/Header.js +18 -3
  52. package/dist/components/Header.js.map +1 -1
  53. package/dist/components/NumberInput.d.ts +63 -0
  54. package/dist/components/NumberInput.d.ts.map +1 -0
  55. package/dist/components/NumberInput.js +102 -0
  56. package/dist/components/NumberInput.js.map +1 -0
  57. package/dist/components/ProgressBar.d.ts +46 -0
  58. package/dist/components/ProgressBar.d.ts.map +1 -0
  59. package/dist/components/ProgressBar.js +52 -0
  60. package/dist/components/ProgressBar.js.map +1 -0
  61. package/dist/components/PromptInput.d.ts +89 -0
  62. package/dist/components/PromptInput.d.ts.map +1 -0
  63. package/dist/components/PromptInput.js +130 -0
  64. package/dist/components/PromptInput.js.map +1 -0
  65. package/dist/components/SegmentedControl.d.ts +63 -0
  66. package/dist/components/SegmentedControl.d.ts.map +1 -0
  67. package/dist/components/SegmentedControl.js +79 -0
  68. package/dist/components/SegmentedControl.js.map +1 -0
  69. package/dist/components/Select.d.ts +9 -2
  70. package/dist/components/Select.d.ts.map +1 -1
  71. package/dist/components/Select.js.map +1 -1
  72. package/dist/components/Sidebar.d.ts +109 -0
  73. package/dist/components/Sidebar.d.ts.map +1 -0
  74. package/dist/components/Sidebar.js +106 -0
  75. package/dist/components/Sidebar.js.map +1 -0
  76. package/dist/components/Skeleton.d.ts +39 -0
  77. package/dist/components/Skeleton.d.ts.map +1 -0
  78. package/dist/components/Skeleton.js +50 -0
  79. package/dist/components/Skeleton.js.map +1 -0
  80. package/dist/components/Spinner.d.ts +45 -0
  81. package/dist/components/Spinner.d.ts.map +1 -0
  82. package/dist/components/Spinner.js +44 -0
  83. package/dist/components/Spinner.js.map +1 -0
  84. package/dist/components/Stepper.d.ts +73 -0
  85. package/dist/components/Stepper.d.ts.map +1 -0
  86. package/dist/components/Stepper.js +82 -0
  87. package/dist/components/Stepper.js.map +1 -0
  88. package/dist/components/Toggle.d.ts +2 -1
  89. package/dist/components/Toggle.d.ts.map +1 -1
  90. package/dist/components/Toggle.js +4 -2
  91. package/dist/components/Toggle.js.map +1 -1
  92. package/dist/components/ToolCall.d.ts +66 -0
  93. package/dist/components/ToolCall.d.ts.map +1 -0
  94. package/dist/components/ToolCall.js +78 -0
  95. package/dist/components/ToolCall.js.map +1 -0
  96. package/dist/components/agent-status.d.ts +14 -0
  97. package/dist/components/agent-status.d.ts.map +1 -0
  98. package/dist/components/agent-status.js +16 -0
  99. package/dist/components/agent-status.js.map +1 -0
  100. package/dist/components/index.d.ts +33 -0
  101. package/dist/components/index.d.ts.map +1 -1
  102. package/dist/components/index.js +16 -0
  103. package/dist/components/index.js.map +1 -1
  104. package/dist/components/iso-date.d.ts +53 -0
  105. package/dist/components/iso-date.d.ts.map +1 -0
  106. package/dist/components/iso-date.js +102 -0
  107. package/dist/components/iso-date.js.map +1 -0
  108. package/dist/components/resolve-selection.d.ts +36 -0
  109. package/dist/components/resolve-selection.d.ts.map +1 -0
  110. package/dist/components/resolve-selection.js +14 -0
  111. package/dist/components/resolve-selection.js.map +1 -0
  112. package/dist/figma-descriptions.json +255 -145
  113. package/dist/figma-map.json +3205 -1860
  114. package/dist/meta/Accordion.json +123 -0
  115. package/dist/meta/AccordionItem.json +90 -0
  116. package/dist/meta/AgentActivityStep.json +2 -2
  117. package/dist/meta/Breadcrumb.json +87 -0
  118. package/dist/meta/BreadcrumbItem.json +78 -0
  119. package/dist/meta/Checkbox.json +18 -1
  120. package/dist/meta/Combobox.json +265 -0
  121. package/dist/meta/DatePicker.json +270 -0
  122. package/dist/meta/DateRangePicker.json +284 -0
  123. package/dist/meta/Drawer.json +234 -0
  124. package/dist/meta/EmptyState.json +1 -1
  125. package/dist/meta/FileUpload.json +246 -0
  126. package/dist/meta/Header.json +32 -2
  127. package/dist/meta/NumberInput.json +407 -0
  128. package/dist/meta/PhoneInput.json +39 -39
  129. package/dist/meta/Popover.json +3 -3
  130. package/dist/meta/ProgressBar.json +166 -0
  131. package/dist/meta/PromptInput.json +212 -0
  132. package/dist/meta/SegmentedControl.json +217 -0
  133. package/dist/meta/SegmentedControlItem.json +122 -0
  134. package/dist/meta/Select.json +4 -3
  135. package/dist/meta/Sidebar.json +150 -0
  136. package/dist/meta/SidebarItem.json +184 -0
  137. package/dist/meta/SidebarSection.json +131 -0
  138. package/dist/meta/Skeleton.json +120 -0
  139. package/dist/meta/Spinner.json +123 -0
  140. package/dist/meta/Stepper.json +135 -0
  141. package/dist/meta/StepperStep.json +148 -0
  142. package/dist/meta/Tabs.json +5 -0
  143. package/dist/meta/Toggle.json +18 -1
  144. package/dist/meta/ToolCall.json +192 -0
  145. package/dist/meta/Tooltip.json +3 -3
  146. package/dist/meta/components.json +6759 -2705
  147. package/dist/meta/contrast.json +11075 -3098
  148. package/dist/meta/index.json +266 -8
  149. package/dist/meta/patterns/AgentRun.json +27 -0
  150. package/dist/meta/patterns/Form.json +9 -0
  151. package/dist/meta/patterns/PageShell.json +43 -3
  152. package/dist/meta/patterns/Wizard.json +20 -1
  153. package/dist/meta/patterns/index.json +10 -1
  154. package/dist/styles/accordion.css +102 -0
  155. package/dist/styles/breadcrumb.css +72 -0
  156. package/dist/styles/combobox.css +154 -0
  157. package/dist/styles/date-picker.css +420 -0
  158. package/dist/styles/date-range-picker.css +280 -0
  159. package/dist/styles/drawer.css +181 -0
  160. package/dist/styles/empty-state.css +16 -4
  161. package/dist/styles/file-upload.css +236 -0
  162. package/dist/styles/header.css +26 -0
  163. package/dist/styles/index.css +23 -0
  164. package/dist/styles/number-input.css +83 -0
  165. package/dist/styles/progress-bar.css +107 -0
  166. package/dist/styles/prompt-input.css +127 -0
  167. package/dist/styles/segmented-control.css +182 -0
  168. package/dist/styles/sidebar.css +307 -0
  169. package/dist/styles/skeleton.css +76 -0
  170. package/dist/styles/spinner.css +70 -0
  171. package/dist/styles/stepper.css +250 -0
  172. package/dist/styles/tool-call.css +202 -0
  173. package/llms.txt +2 -2
  174. package/package.json +2 -1
@@ -0,0 +1,407 @@
1
+ {
2
+ "name": "NumberInput",
3
+ "source": "src/components/NumberInput.tsx",
4
+ "propsType": "NumberInputProps",
5
+ "description": "NumberInput — a quantity, with formatting, bounds and steps.\n\nNOT `<input type=\"number\">`, and the list of reasons is the component:\n\n It scrolls. A focused `type=\"number\"` changes value under the mouse wheel,\n so a user scrolling the page past a price field edits the price. The wheel\n is OFF here by default (`isWheelDisabled`), and a caller has to ask for it.\n\n It cannot format. \"1,234.50\", \"€12\", \"15%\" are text to the browser's number\n input, which rejects them. `formatOptions` takes `Intl.NumberFormatOptions`,\n so currency, percent and units display and parse in the user's locale —\n including \"1.234,50\" for a German user.\n\n It is not a number to the browser's validation either. `type=\"text\"` with\n the right `inputMode` gets the numeric keyboard on a phone without\n Firefox letting letters in and Chrome silently reporting an empty value.\n\nEMPTY IS `null`, NOT `NaN`. React Aria reports an empty field as `NaN`, and\n`NaN === NaN` is false — so every \"is it empty\" check a caller writes is\nwrong. This converts at the boundary, both ways.\n\n− AND + SIT SIDE BY SIDE, NOT STACKED. Stacked chevrons split the field's\nheight in two, which puts a Small field's targets at 16px — under the 24px\nWCAG 2.5.8 asks. Side by side, every size clears it. They are out of the tab\norder, as React Aria sets them: the arrow keys do the same job from the field,\nand two extra tab stops per number on a form is a tax on every keyboard user.\n\nThe box is Input's, class for class, so every state — hover, focus, invalid,\nread-only, disabled — is Input's and cannot drift from it.",
6
+ "import": "import { NumberInput } from 'ionbase-ui';",
7
+ "status": "stable",
8
+ "summary": "A quantity field: formats and parses in the user's locale, clamps to bounds, steps with − and + or the arrow keys, and never changes under the scroll wheel unless asked.",
9
+ "useWhen": [
10
+ "the value is a quantity someone might add to or compare — a price, a count, a percentage, a duration",
11
+ "the value has bounds or a step the field should enforce",
12
+ "the value needs formatting — currency, percent, units — in the user's locale"
13
+ ],
14
+ "useInstead": [
15
+ {
16
+ "when": "the value is made of digits but is not a quantity — a phone number, postcode, card number, account or order ID",
17
+ "use": "Input",
18
+ "why": "a number field strips leading zeros, adds grouping separators and offers + and −, all of which corrupt an identifier. Nobody increments a postcode"
19
+ },
20
+ {
21
+ "when": "the value is a phone number",
22
+ "use": "PhoneInput"
23
+ },
24
+ {
25
+ "when": "a rough value within a range matters more than an exact one — volume, a zoom level",
26
+ "use": "Input",
27
+ "why": "there is no Slider yet; do not stand one in with a stepper that takes forty presses"
28
+ }
29
+ ],
30
+ "variants": {
31
+ "size": {
32
+ "sm": {
33
+ "use": "dense forms and table cells"
34
+ },
35
+ "md": {
36
+ "use": "the default"
37
+ },
38
+ "lg": {
39
+ "use": "a form where this value is the main input"
40
+ }
41
+ }
42
+ },
43
+ "a11y": {
44
+ "requires": [
45
+ "`label` or `aria-label` — the accessible name. A unit shown by `formatOptions` is not a name"
46
+ ],
47
+ "guarantees": [
48
+ "Arrow Up and Down step the value from the field; Page Up and Down step by ten; Home and End go to the bounds",
49
+ "the − and + buttons are named and out of the tab order, because the arrow keys already do their job from the field",
50
+ "every size's step buttons are at least 24px square — WCAG 2.5.8",
51
+ "the field is `type=\"text\"` with the matching `inputMode`, so phones show a numeric keyboard without the native number input's parsing quirks"
52
+ ],
53
+ "notes": [
54
+ "the scroll wheel does not change the value unless `isWheelDisabled={false}` — a focused number input edited by scrolling past it is the classic bug",
55
+ "`onChange` fires on commit — blur, Enter, a step — not per keystroke. `null` means empty; `NaN` never reaches the caller"
56
+ ]
57
+ },
58
+ "antiPatterns": [
59
+ {
60
+ "dont": "<NumberInput label=\"Postcode\" />",
61
+ "do": "<Input label=\"Postcode\" inputMode=\"numeric\" />",
62
+ "why": "\"02134\" becomes 2,134 — leading zero gone, separator added, and a + button nobody should press"
63
+ },
64
+ {
65
+ "dont": "<Input type=\"number\" />",
66
+ "do": "<NumberInput />",
67
+ "why": "the native number input changes under the scroll wheel, cannot show currency or grouping, and reports an empty string for input it cannot parse"
68
+ },
69
+ {
70
+ "dont": "a unit typed into the label and the value — label=\"Price ($)\" with a \"$\" typed in",
71
+ "do": "formatOptions={{ style: 'currency', currency: 'USD' }}",
72
+ "why": "formatOptions displays and parses the unit in the user's locale; a hand-typed symbol is text the parser has to reject"
73
+ },
74
+ {
75
+ "dont": "checking `Number.isNaN(value)` for empty",
76
+ "do": "`value === null`",
77
+ "why": "this component converts the hook's NaN to null at the boundary, so NaN never arrives"
78
+ }
79
+ ],
80
+ "stylesheet": "src/styles/number-input.css",
81
+ "tokens": [
82
+ "--icon-default",
83
+ "--icon-disabled",
84
+ "--icon-secondary",
85
+ "--ion-input-height",
86
+ "--ion-input-icon-size",
87
+ "--radius-sm",
88
+ "--spacing-2",
89
+ "--spacing-4",
90
+ "--spacing-8",
91
+ "--surface-default",
92
+ "--surface-hover",
93
+ "--surface-pressed"
94
+ ],
95
+ "props": {
96
+ "value": {
97
+ "type": "number | null | undefined",
98
+ "required": false,
99
+ "origin": "own",
100
+ "description": "Controlled value. `null` is empty — never `NaN`, which is what the\nunderlying hook uses and which fails every `===` check a caller writes."
101
+ },
102
+ "defaultValue": {
103
+ "type": "number | null | undefined",
104
+ "required": false,
105
+ "origin": "own",
106
+ "description": "Uncontrolled starting value. `null` for empty."
107
+ },
108
+ "onChange": {
109
+ "type": "((value: number | null) => void) | undefined",
110
+ "required": false,
111
+ "origin": "own",
112
+ "description": "Fires when the value is committed — on blur, Enter, a step button or an\narrow key — not on every keystroke. `null` when the field was cleared."
113
+ },
114
+ "size": {
115
+ "type": "NumberInputSize | undefined",
116
+ "required": false,
117
+ "origin": "own",
118
+ "description": "Matches Input's `size`: Small, Medium, Large.",
119
+ "values": [
120
+ "sm",
121
+ "md",
122
+ "lg"
123
+ ],
124
+ "default": "md"
125
+ },
126
+ "showStepper": {
127
+ "type": "boolean | undefined",
128
+ "required": false,
129
+ "origin": "own",
130
+ "description": "The − and + buttons. On by default; turn off for a dense table cell where\nthe arrow keys are enough.",
131
+ "default": true
132
+ },
133
+ "className": {
134
+ "type": "string | undefined",
135
+ "required": false,
136
+ "origin": "own",
137
+ "description": "Class names for the control box (`.ion-input`)."
138
+ },
139
+ "wrapperClassName": {
140
+ "type": "string | undefined",
141
+ "required": false,
142
+ "origin": "own",
143
+ "description": "Class names for the `.ion-field` wrapper when a label or helper is shown."
144
+ },
145
+ "autoFocus": {
146
+ "type": "boolean | undefined",
147
+ "required": false,
148
+ "origin": "aria",
149
+ "description": "Whether the element should receive focus on render."
150
+ },
151
+ "id": {
152
+ "type": "string | undefined",
153
+ "required": false,
154
+ "origin": "aria",
155
+ "description": "The element's unique identifier. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id)."
156
+ },
157
+ "aria-describedby": {
158
+ "type": "string | undefined",
159
+ "required": false,
160
+ "origin": "aria",
161
+ "description": "Identifies the element (or elements) that describes the object."
162
+ },
163
+ "aria-details": {
164
+ "type": "string | undefined",
165
+ "required": false,
166
+ "origin": "aria",
167
+ "description": "Identifies the element (or elements) that provide a detailed, extended description for the\nobject."
168
+ },
169
+ "aria-label": {
170
+ "type": "string | undefined",
171
+ "required": false,
172
+ "origin": "aria",
173
+ "description": "Defines a string value that labels the current element."
174
+ },
175
+ "aria-labelledby": {
176
+ "type": "string | undefined",
177
+ "required": false,
178
+ "origin": "aria",
179
+ "description": "Identifies the element (or elements) that labels the current element."
180
+ },
181
+ "onCopy": {
182
+ "type": "ClipboardEventHandler<HTMLInputElement> | undefined",
183
+ "required": false,
184
+ "origin": "aria",
185
+ "description": "Handler that is called when the user copies text. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/oncopy)."
186
+ },
187
+ "onCut": {
188
+ "type": "ClipboardEventHandler<HTMLInputElement> | undefined",
189
+ "required": false,
190
+ "origin": "aria",
191
+ "description": "Handler that is called when the user cuts text. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/oncut)."
192
+ },
193
+ "onPaste": {
194
+ "type": "ClipboardEventHandler<HTMLInputElement> | undefined",
195
+ "required": false,
196
+ "origin": "aria",
197
+ "description": "Handler that is called when the user pastes text. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/onpaste)."
198
+ },
199
+ "onCompositionEnd": {
200
+ "type": "CompositionEventHandler<HTMLInputElement> | undefined",
201
+ "required": false,
202
+ "origin": "aria",
203
+ "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)."
204
+ },
205
+ "onCompositionStart": {
206
+ "type": "CompositionEventHandler<HTMLInputElement> | undefined",
207
+ "required": false,
208
+ "origin": "aria",
209
+ "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)."
210
+ },
211
+ "onCompositionUpdate": {
212
+ "type": "CompositionEventHandler<HTMLInputElement> | undefined",
213
+ "required": false,
214
+ "origin": "aria",
215
+ "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)."
216
+ },
217
+ "onFocus": {
218
+ "type": "((e: FocusEvent<Element, Element>) => void) | undefined",
219
+ "required": false,
220
+ "origin": "aria",
221
+ "description": "Handler that is called when the element receives focus."
222
+ },
223
+ "onBlur": {
224
+ "type": "((e: FocusEvent<Element, Element>) => void) | undefined",
225
+ "required": false,
226
+ "origin": "aria",
227
+ "description": "Handler that is called when the element loses focus."
228
+ },
229
+ "onBeforeInput": {
230
+ "type": "FormEventHandler<HTMLInputElement> | undefined",
231
+ "required": false,
232
+ "origin": "aria",
233
+ "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)."
234
+ },
235
+ "onInput": {
236
+ "type": "FormEventHandler<HTMLInputElement> | undefined",
237
+ "required": false,
238
+ "origin": "aria",
239
+ "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)."
240
+ },
241
+ "onKeyDown": {
242
+ "type": "((e: KeyboardEvent) => void) | undefined",
243
+ "required": false,
244
+ "origin": "aria",
245
+ "description": "Handler that is called when a key is pressed."
246
+ },
247
+ "onKeyUp": {
248
+ "type": "((e: KeyboardEvent) => void) | undefined",
249
+ "required": false,
250
+ "origin": "aria",
251
+ "description": "Handler that is called when a key is released."
252
+ },
253
+ "onSelect": {
254
+ "type": "ReactEventHandler<HTMLInputElement> | undefined",
255
+ "required": false,
256
+ "origin": "aria",
257
+ "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)."
258
+ },
259
+ "step": {
260
+ "type": "number | undefined",
261
+ "required": false,
262
+ "origin": "aria",
263
+ "description": "The amount that the input value changes with each increment or decrement \"tick\"."
264
+ },
265
+ "placeholder": {
266
+ "type": "string | undefined",
267
+ "required": false,
268
+ "origin": "aria",
269
+ "description": "Temporary text that occupies the text input when it is empty."
270
+ },
271
+ "isDisabled": {
272
+ "type": "boolean | undefined",
273
+ "required": false,
274
+ "origin": "aria",
275
+ "description": "Whether the input is disabled."
276
+ },
277
+ "isReadOnly": {
278
+ "type": "boolean | undefined",
279
+ "required": false,
280
+ "origin": "aria",
281
+ "description": "Whether the input can be selected but not changed by the user."
282
+ },
283
+ "isRequired": {
284
+ "type": "boolean | undefined",
285
+ "required": false,
286
+ "origin": "aria",
287
+ "description": "Whether user input is required on the input before form submission."
288
+ },
289
+ "isInvalid": {
290
+ "type": "boolean | undefined",
291
+ "required": false,
292
+ "origin": "aria",
293
+ "description": "Whether the input value is invalid."
294
+ },
295
+ "validationState": {
296
+ "type": "ValidationState | undefined",
297
+ "required": false,
298
+ "origin": "aria",
299
+ "values": [
300
+ "valid",
301
+ "invalid"
302
+ ],
303
+ "tags": {
304
+ "deprecated": "Use `isInvalid` instead."
305
+ }
306
+ },
307
+ "validationBehavior": {
308
+ "type": "\"aria\" | \"native\" | undefined",
309
+ "required": false,
310
+ "origin": "aria",
311
+ "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.",
312
+ "values": [
313
+ "aria",
314
+ "native"
315
+ ],
316
+ "tags": {
317
+ "default": "'aria'"
318
+ }
319
+ },
320
+ "validate": {
321
+ "type": "((value: number) => ValidationError | true | null | undefined) | undefined",
322
+ "required": false,
323
+ "origin": "aria",
324
+ "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."
325
+ },
326
+ "description": {
327
+ "type": "ReactNode",
328
+ "required": false,
329
+ "origin": "aria",
330
+ "description": "A description for the field. Provides a hint such as specific requirements for what to choose."
331
+ },
332
+ "errorMessage": {
333
+ "type": "ReactNode | ((v: ValidationResult) => ReactNode)",
334
+ "required": false,
335
+ "origin": "aria",
336
+ "description": "An error message for the field."
337
+ },
338
+ "onFocusChange": {
339
+ "type": "((isFocused: boolean) => void) | undefined",
340
+ "required": false,
341
+ "origin": "aria",
342
+ "description": "Handler that is called when the element's focus status changes."
343
+ },
344
+ "label": {
345
+ "type": "ReactNode",
346
+ "required": false,
347
+ "origin": "aria",
348
+ "description": "The content to display as the label."
349
+ },
350
+ "decrementAriaLabel": {
351
+ "type": "string | undefined",
352
+ "required": false,
353
+ "origin": "aria",
354
+ "description": "A custom aria-label for the decrement button. If not provided, the localized string \"Decrement\"\nis used."
355
+ },
356
+ "incrementAriaLabel": {
357
+ "type": "string | undefined",
358
+ "required": false,
359
+ "origin": "aria",
360
+ "description": "A custom aria-label for the increment button. If not provided, the localized string \"Increment\"\nis used."
361
+ },
362
+ "isWheelDisabled": {
363
+ "type": "boolean | undefined",
364
+ "required": false,
365
+ "origin": "aria",
366
+ "description": "Enables or disables changing the value with scroll.",
367
+ "default": true
368
+ },
369
+ "formatOptions": {
370
+ "type": "Intl.NumberFormatOptions | undefined",
371
+ "required": false,
372
+ "origin": "other",
373
+ "description": "Formatting options for the value displayed in the number field.\nThis also affects what characters are allowed to be typed by the user."
374
+ },
375
+ "commitBehavior": {
376
+ "type": "\"validate\" | \"snap\" | undefined",
377
+ "required": false,
378
+ "origin": "other",
379
+ "description": "Controls the behavior of the number field when the user blurs the field after editing. 'snap'\nwill clamp the value to the min/max values, and snap to the nearest step value. 'validate' will\nnot clamp the value, and will validate that the value is within the min/max range and on a\nvalid step.",
380
+ "values": [
381
+ "validate",
382
+ "snap"
383
+ ],
384
+ "tags": {
385
+ "default": "'snap'"
386
+ }
387
+ },
388
+ "minValue": {
389
+ "type": "number | undefined",
390
+ "required": false,
391
+ "origin": "aria",
392
+ "description": "The smallest value allowed for the input."
393
+ },
394
+ "maxValue": {
395
+ "type": "number | undefined",
396
+ "required": false,
397
+ "origin": "aria",
398
+ "description": "The largest value allowed for the input."
399
+ }
400
+ },
401
+ "propCounts": {
402
+ "own": 7,
403
+ "aria": 37,
404
+ "dom": 278,
405
+ "other": 2
406
+ }
407
+ }
@@ -122,41 +122,11 @@
122
122
  "origin": "own",
123
123
  "description": "Spread onto the dial-code `<button>`. This is how a country picker gets\nattached — see the note on scope below."
124
124
  },
125
- "type": {
126
- "type": "(string & {}) | \"search\" | \"text\" | \"url\" | \"tel\" | \"email\" | \"password\" | undefined",
127
- "required": false,
128
- "origin": "aria",
129
- "description": "The type of input to render. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#htmlattrdeftype).",
130
- "tags": {
131
- "default": "'text'"
132
- },
133
- "default": "tel"
134
- },
135
- "disabled": {
136
- "type": "boolean | undefined",
137
- "required": false,
138
- "origin": "own",
139
- "tags": {
140
- "deprecated": "Use `isDisabled`. Accepted as an alias for one minor version."
141
- }
142
- },
143
- "form": {
144
- "type": "string | undefined",
145
- "required": false,
146
- "origin": "aria",
147
- "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)."
148
- },
149
- "name": {
150
- "type": "string | undefined",
151
- "required": false,
152
- "origin": "aria",
153
- "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)."
154
- },
155
- "value": {
156
- "type": "string | undefined",
125
+ "onChange": {
126
+ "type": "((value: string) => void) | undefined",
157
127
  "required": false,
158
128
  "origin": "aria",
159
- "description": "The current value (controlled)."
129
+ "description": "Handler that is called when the value changes."
160
130
  },
161
131
  "defaultValue": {
162
132
  "type": "string | undefined",
@@ -347,12 +317,6 @@
347
317
  "origin": "aria",
348
318
  "description": "Handler that is called when the element loses focus."
349
319
  },
350
- "onChange": {
351
- "type": "((value: string) => void) | undefined",
352
- "required": false,
353
- "origin": "aria",
354
- "description": "Handler that is called when the value changes."
355
- },
356
320
  "onBeforeInput": {
357
321
  "type": "FormEventHandler<HTMLInputElement> | undefined",
358
322
  "required": false,
@@ -383,6 +347,42 @@
383
347
  "origin": "aria",
384
348
  "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)."
385
349
  },
350
+ "type": {
351
+ "type": "(string & {}) | \"search\" | \"text\" | \"url\" | \"tel\" | \"email\" | \"password\" | undefined",
352
+ "required": false,
353
+ "origin": "aria",
354
+ "description": "The type of input to render. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#htmlattrdeftype).",
355
+ "tags": {
356
+ "default": "'text'"
357
+ },
358
+ "default": "tel"
359
+ },
360
+ "disabled": {
361
+ "type": "boolean | undefined",
362
+ "required": false,
363
+ "origin": "own",
364
+ "tags": {
365
+ "deprecated": "Use `isDisabled`. Accepted as an alias for one minor version."
366
+ }
367
+ },
368
+ "form": {
369
+ "type": "string | undefined",
370
+ "required": false,
371
+ "origin": "aria",
372
+ "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)."
373
+ },
374
+ "name": {
375
+ "type": "string | undefined",
376
+ "required": false,
377
+ "origin": "aria",
378
+ "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)."
379
+ },
380
+ "value": {
381
+ "type": "string | undefined",
382
+ "required": false,
383
+ "origin": "aria",
384
+ "description": "The current value (controlled)."
385
+ },
386
386
  "size": {
387
387
  "type": "InputSize | undefined",
388
388
  "required": false,
@@ -157,10 +157,10 @@
157
157
  "origin": "own",
158
158
  "description": "Matches the Figma `Placement` variant, and names where the POPOVER sits —\nnot where the arrow points. A preference, not a guarantee: it flips when\nthere is no room, and the arrow follows.",
159
159
  "values": [
160
- "right",
161
- "left",
162
160
  "top",
163
- "bottom"
161
+ "bottom",
162
+ "right",
163
+ "left"
164
164
  ]
165
165
  },
166
166
  "size": {