ionbase-ui 0.47.0 → 0.51.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/dist/components/Pagination.d.ts +50 -0
- package/dist/components/Pagination.d.ts.map +1 -0
- package/dist/components/Pagination.js +88 -0
- package/dist/components/Pagination.js.map +1 -0
- package/dist/components/Textarea.d.ts +50 -0
- package/dist/components/Textarea.d.ts.map +1 -0
- package/dist/components/Textarea.js +48 -0
- package/dist/components/Textarea.js.map +1 -0
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +2 -0
- package/dist/components/index.js.map +1 -1
- package/dist/figma-descriptions.json +49 -39
- package/dist/figma-map.json +116 -3
- package/dist/meta/Input.json +0 -1
- package/dist/meta/Pagination.json +200 -0
- package/dist/meta/Textarea.json +520 -0
- package/dist/meta/components.json +721 -2
- package/dist/meta/contrast.json +770 -40
- package/dist/meta/index.json +39 -1
- package/dist/meta/pageItems.json +16 -0
- package/dist/meta/patterns/index.json +1 -1
- package/dist/styles/index.css +2 -0
- package/dist/styles/input.css +34 -15
- package/dist/styles/pagination.css +170 -0
- package/dist/styles/textarea.css +178 -0
- package/dist/styles/tokens/base.css +0 -1
- package/dist/styles/tokens/theme-dark.css +0 -1
- package/dist/tokens/index.d.ts +0 -6
- package/dist/tokens/index.d.ts.map +1 -1
- package/dist/tokens/index.js +0 -5
- package/dist/tokens/index.js.map +1 -1
- package/llms.txt +2 -2
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"package": "ionbase-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.51.0",
|
|
4
4
|
"generated": "by scripts/build-meta.mjs — do not edit; intent lives in meta/*.json",
|
|
5
5
|
"hooks": [
|
|
6
6
|
"useToast"
|
|
@@ -3684,7 +3684,6 @@
|
|
|
3684
3684
|
"--border-strong",
|
|
3685
3685
|
"--border-subtle",
|
|
3686
3686
|
"--border-width-default",
|
|
3687
|
-
"--border-width-thick",
|
|
3688
3687
|
"--font-family-sans",
|
|
3689
3688
|
"--font-weight-medium",
|
|
3690
3689
|
"--font-weight-regular",
|
|
@@ -5224,6 +5223,206 @@
|
|
|
5224
5223
|
"other": 0
|
|
5225
5224
|
}
|
|
5226
5225
|
},
|
|
5226
|
+
"Pagination": {
|
|
5227
|
+
"name": "Pagination",
|
|
5228
|
+
"source": "src/components/Pagination.tsx",
|
|
5229
|
+
"propsType": "PaginationProps",
|
|
5230
|
+
"description": "Page navigation for a table or list.\n\nGeometry from the Figma `Pagination` (1291:503) and `Pagination Item`\n(1283:289) components. The Figma item set is not exported — a caller places a\nPagination, never a cell.",
|
|
5231
|
+
"import": "import { Pagination } from 'ionbase-ui';",
|
|
5232
|
+
"status": "stable",
|
|
5233
|
+
"summary": "Page navigation for a table or list. Renders prev/next arrows, a truncated run of page numbers, and an optional rows-per-page Select.",
|
|
5234
|
+
"useWhen": [
|
|
5235
|
+
"a result set is split into pages and the user needs to move between them",
|
|
5236
|
+
"the total number of pages is known — the numbered run needs a last page to anchor to"
|
|
5237
|
+
],
|
|
5238
|
+
"useInstead": [
|
|
5239
|
+
{
|
|
5240
|
+
"when": "the total is unknown or unbounded, as with a cursor-based or infinite feed",
|
|
5241
|
+
"use": "Button",
|
|
5242
|
+
"why": "a numbered pager has to draw a last page; with no total there is nothing to draw, and a bare Load more button is honest about that"
|
|
5243
|
+
},
|
|
5244
|
+
{
|
|
5245
|
+
"when": "the user is moving between peer views rather than through one long list",
|
|
5246
|
+
"use": "Tabs",
|
|
5247
|
+
"why": "pagination implies a sequence with a position; tabs are peers in any order"
|
|
5248
|
+
},
|
|
5249
|
+
{
|
|
5250
|
+
"when": "it is navigation between pages of the app rather than pages of data",
|
|
5251
|
+
"use": "NavItem"
|
|
5252
|
+
}
|
|
5253
|
+
],
|
|
5254
|
+
"variants": {
|
|
5255
|
+
"type": {
|
|
5256
|
+
"numbered": {
|
|
5257
|
+
"use": "the default — prev, the page numbers, next. Use wherever the numbers fit"
|
|
5258
|
+
},
|
|
5259
|
+
"simple": {
|
|
5260
|
+
"use": "prev, \"Page N of M\", next. For drawers, narrow columns and mobile, where a numbered run would wrap or truncate to uselessness"
|
|
5261
|
+
}
|
|
5262
|
+
},
|
|
5263
|
+
"size": {
|
|
5264
|
+
"sm": {
|
|
5265
|
+
"use": "dense tables, and toolbars"
|
|
5266
|
+
},
|
|
5267
|
+
"md": {
|
|
5268
|
+
"use": "the default"
|
|
5269
|
+
},
|
|
5270
|
+
"lg": {
|
|
5271
|
+
"use": "roomy layouts, and touch targets on tablet"
|
|
5272
|
+
}
|
|
5273
|
+
}
|
|
5274
|
+
},
|
|
5275
|
+
"a11y": {
|
|
5276
|
+
"role": "navigation / list",
|
|
5277
|
+
"guarantees": [
|
|
5278
|
+
"the whole control is a landmark — a `nav` with an accessible name, defaulting to \"Pagination\"",
|
|
5279
|
+
"the current page carries `aria-current=\"page\"`, not `aria-pressed`: this is a position in a set, not a toggle",
|
|
5280
|
+
"every cell has an explicit label — \"Go to page 4\", \"Go to previous page\" — so a screen reader never announces a bare digit",
|
|
5281
|
+
"the ellipsis is `aria-hidden` and not focusable: it marks absent pages, and a tab stop that does nothing when activated is worse than no tab stop",
|
|
5282
|
+
"in `simple`, the \"Page N of M\" text is an `aria-live=\"polite\"` region, because the page can change without anything else on screen announcing it",
|
|
5283
|
+
"prev and next are genuinely `disabled` at the ends rather than styled to look it",
|
|
5284
|
+
"the focus ring shows for keyboard focus only, and hover does not latch on touch"
|
|
5285
|
+
],
|
|
5286
|
+
"requires": [
|
|
5287
|
+
"`aria-label` when more than one Pagination is on a page — two identically named landmarks are two indistinguishable landmarks",
|
|
5288
|
+
"`pageSize` when `showPageSize` is set, or the rows-per-page Select renders with nothing selected"
|
|
5289
|
+
]
|
|
5290
|
+
},
|
|
5291
|
+
"antiPatterns": [
|
|
5292
|
+
{
|
|
5293
|
+
"avoid": "passing `pageCount={0}` for an empty result set",
|
|
5294
|
+
"instead": "render EmptyState and no pager — the component clamps to a single page, which draws a lone disabled `1` that says a page exists when none does"
|
|
5295
|
+
},
|
|
5296
|
+
{
|
|
5297
|
+
"avoid": "raising `siblingCount` to avoid truncation",
|
|
5298
|
+
"instead": "switch to `type=\"simple\"`. Widening the run past the container is the problem truncation exists to solve, and it reappears one breakpoint down"
|
|
5299
|
+
},
|
|
5300
|
+
{
|
|
5301
|
+
"avoid": "treating `page` as 0-based",
|
|
5302
|
+
"instead": "it is 1-based, matching what the numbers say. An off-by-one here is silent — the pager looks right and fetches the wrong rows"
|
|
5303
|
+
}
|
|
5304
|
+
],
|
|
5305
|
+
"stylesheet": "src/styles/pagination.css",
|
|
5306
|
+
"tokens": [
|
|
5307
|
+
"--border-focus",
|
|
5308
|
+
"--border-width-thick",
|
|
5309
|
+
"--font-family-sans",
|
|
5310
|
+
"--font-weight-medium",
|
|
5311
|
+
"--font-weight-regular",
|
|
5312
|
+
"--icon-size-lg",
|
|
5313
|
+
"--icon-size-md",
|
|
5314
|
+
"--icon-size-xs",
|
|
5315
|
+
"--ion-duration-base",
|
|
5316
|
+
"--ion-ease-out",
|
|
5317
|
+
"--ion-pagination-box",
|
|
5318
|
+
"--ion-pagination-font-size",
|
|
5319
|
+
"--ion-pagination-icon",
|
|
5320
|
+
"--ion-pagination-line-height",
|
|
5321
|
+
"--radius-md",
|
|
5322
|
+
"--spacing-16",
|
|
5323
|
+
"--spacing-2",
|
|
5324
|
+
"--spacing-32",
|
|
5325
|
+
"--spacing-4",
|
|
5326
|
+
"--spacing-40",
|
|
5327
|
+
"--spacing-48",
|
|
5328
|
+
"--spacing-6",
|
|
5329
|
+
"--spacing-8",
|
|
5330
|
+
"--surface-hover",
|
|
5331
|
+
"--surface-selected",
|
|
5332
|
+
"--surface-selected-hover",
|
|
5333
|
+
"--text-default",
|
|
5334
|
+
"--text-disabled",
|
|
5335
|
+
"--text-secondary",
|
|
5336
|
+
"--text-tertiary",
|
|
5337
|
+
"--type-body",
|
|
5338
|
+
"--type-body-lg",
|
|
5339
|
+
"--type-body-lg-line-height",
|
|
5340
|
+
"--type-body-line-height",
|
|
5341
|
+
"--type-body-sm",
|
|
5342
|
+
"--type-body-sm-line-height"
|
|
5343
|
+
],
|
|
5344
|
+
"props": {
|
|
5345
|
+
"page": {
|
|
5346
|
+
"type": "number",
|
|
5347
|
+
"required": true,
|
|
5348
|
+
"origin": "own",
|
|
5349
|
+
"description": "The current page, 1-based."
|
|
5350
|
+
},
|
|
5351
|
+
"pageCount": {
|
|
5352
|
+
"type": "number",
|
|
5353
|
+
"required": true,
|
|
5354
|
+
"origin": "own",
|
|
5355
|
+
"description": "Total number of pages. One or more."
|
|
5356
|
+
},
|
|
5357
|
+
"onPageChange": {
|
|
5358
|
+
"type": "((page: number) => void) | undefined",
|
|
5359
|
+
"required": false,
|
|
5360
|
+
"origin": "own",
|
|
5361
|
+
"description": "Called with the requested page. Not called for the current page."
|
|
5362
|
+
},
|
|
5363
|
+
"type": {
|
|
5364
|
+
"type": "PaginationType | undefined",
|
|
5365
|
+
"required": false,
|
|
5366
|
+
"origin": "own",
|
|
5367
|
+
"description": "Matches the Figma `Type` variant.",
|
|
5368
|
+
"values": [
|
|
5369
|
+
"numbered",
|
|
5370
|
+
"simple"
|
|
5371
|
+
]
|
|
5372
|
+
},
|
|
5373
|
+
"size": {
|
|
5374
|
+
"type": "PaginationSize | undefined",
|
|
5375
|
+
"required": false,
|
|
5376
|
+
"origin": "own",
|
|
5377
|
+
"description": "Matches the Figma `Size` variant.",
|
|
5378
|
+
"values": [
|
|
5379
|
+
"sm",
|
|
5380
|
+
"md",
|
|
5381
|
+
"lg"
|
|
5382
|
+
]
|
|
5383
|
+
},
|
|
5384
|
+
"siblingCount": {
|
|
5385
|
+
"type": "number | undefined",
|
|
5386
|
+
"required": false,
|
|
5387
|
+
"origin": "own",
|
|
5388
|
+
"description": "How many pages to show either side of the current one. The first and last\nare always shown, so the widest run is `siblingCount * 2 + 5`."
|
|
5389
|
+
},
|
|
5390
|
+
"showPageSize": {
|
|
5391
|
+
"type": "boolean | undefined",
|
|
5392
|
+
"required": false,
|
|
5393
|
+
"origin": "own",
|
|
5394
|
+
"description": "Renders the rows-per-page control. Matches the Figma `Show Page Size`."
|
|
5395
|
+
},
|
|
5396
|
+
"pageSize": {
|
|
5397
|
+
"type": "number | undefined",
|
|
5398
|
+
"required": false,
|
|
5399
|
+
"origin": "own",
|
|
5400
|
+
"description": "Current rows-per-page value. Required when `showPageSize`."
|
|
5401
|
+
},
|
|
5402
|
+
"pageSizeOptions": {
|
|
5403
|
+
"type": "number[] | undefined",
|
|
5404
|
+
"required": false,
|
|
5405
|
+
"origin": "own",
|
|
5406
|
+
"description": "Options offered by the rows-per-page control."
|
|
5407
|
+
},
|
|
5408
|
+
"onPageSizeChange": {
|
|
5409
|
+
"type": "((pageSize: number) => void) | undefined",
|
|
5410
|
+
"required": false,
|
|
5411
|
+
"origin": "own"
|
|
5412
|
+
},
|
|
5413
|
+
"className": {
|
|
5414
|
+
"type": "string | undefined",
|
|
5415
|
+
"required": false,
|
|
5416
|
+
"origin": "own"
|
|
5417
|
+
}
|
|
5418
|
+
},
|
|
5419
|
+
"propCounts": {
|
|
5420
|
+
"own": 11,
|
|
5421
|
+
"aria": 0,
|
|
5422
|
+
"dom": 276,
|
|
5423
|
+
"other": 0
|
|
5424
|
+
}
|
|
5425
|
+
},
|
|
5227
5426
|
"PhoneInput": {
|
|
5228
5427
|
"name": "PhoneInput",
|
|
5229
5428
|
"source": "src/components/PhoneInput.tsx",
|
|
@@ -7684,6 +7883,526 @@
|
|
|
7684
7883
|
"other": 4
|
|
7685
7884
|
}
|
|
7686
7885
|
},
|
|
7886
|
+
"Textarea": {
|
|
7887
|
+
"name": "Textarea",
|
|
7888
|
+
"source": "src/components/Textarea.tsx",
|
|
7889
|
+
"propsType": "TextareaProps",
|
|
7890
|
+
"description": "A multi-line text field.\n\nGeometry from the Figma `Textarea` (1301:334). Every size and state is\nInput's — see textarea.css for why that is the point rather than a shortcut.",
|
|
7891
|
+
"import": "import { Textarea } from 'ionbase-ui';",
|
|
7892
|
+
"status": "stable",
|
|
7893
|
+
"summary": "A multi-line text field. Every size and state is Input's; it wraps and it resizes vertically.",
|
|
7894
|
+
"useWhen": [
|
|
7895
|
+
"the answer is prose — a description, a note, a message — and may run past one line",
|
|
7896
|
+
"the user should be able to see several lines of what they wrote at once"
|
|
7897
|
+
],
|
|
7898
|
+
"useInstead": [
|
|
7899
|
+
{
|
|
7900
|
+
"when": "the value is a single short string — a name, an email, a search term",
|
|
7901
|
+
"use": "Input",
|
|
7902
|
+
"why": "a one-line answer in a three-line box tells the user to write more than you want"
|
|
7903
|
+
},
|
|
7904
|
+
{
|
|
7905
|
+
"when": "the answer is one of a known set",
|
|
7906
|
+
"use": "Select",
|
|
7907
|
+
"why": "free text you intend to parse into categories is a Select you have not built yet"
|
|
7908
|
+
},
|
|
7909
|
+
{
|
|
7910
|
+
"when": "the field needs formatting controls or renders markup",
|
|
7911
|
+
"use": "Input",
|
|
7912
|
+
"why": "a rich-text editor is not in this library, and a textarea styled to look like one will not behave like one"
|
|
7913
|
+
}
|
|
7914
|
+
],
|
|
7915
|
+
"variants": {
|
|
7916
|
+
"size": {
|
|
7917
|
+
"sm": {
|
|
7918
|
+
"use": "dense forms and side panels"
|
|
7919
|
+
},
|
|
7920
|
+
"md": {
|
|
7921
|
+
"use": "the default"
|
|
7922
|
+
},
|
|
7923
|
+
"lg": {
|
|
7924
|
+
"use": "roomy layouts, and the primary field on a page"
|
|
7925
|
+
}
|
|
7926
|
+
}
|
|
7927
|
+
},
|
|
7928
|
+
"a11y": {
|
|
7929
|
+
"role": "textbox (multiline)",
|
|
7930
|
+
"guarantees": [
|
|
7931
|
+
"the label, helper text and error message are wired to the control by React Aria's useTextField, so the accessible name and description are correct without the caller doing anything",
|
|
7932
|
+
"`errorMessage` replaces the helper text only when `isInvalid` is set, and is announced as the field's description",
|
|
7933
|
+
"the focus ring shows for keyboard focus only, and hover does not latch on touch",
|
|
7934
|
+
"resize is disabled when the field is, matching what browsers do with a disabled textarea"
|
|
7935
|
+
],
|
|
7936
|
+
"requires": [
|
|
7937
|
+
"`label`, or an `aria-label` when the field is labelled by something on the page — an unlabelled textarea is announced only as \"edit text\"",
|
|
7938
|
+
"a visible error cue that is not the border. THE INVALID BORDER IS 1px AS OF 0.49.0 and differs from a default field by hue alone, so pass `errorMessage` — WCAG 1.4.1 is not satisfied by the border on its own"
|
|
7939
|
+
]
|
|
7940
|
+
},
|
|
7941
|
+
"deprecated": [
|
|
7942
|
+
{
|
|
7943
|
+
"prop": "disabled",
|
|
7944
|
+
"replacement": "isDisabled"
|
|
7945
|
+
}
|
|
7946
|
+
],
|
|
7947
|
+
"antiPatterns": [
|
|
7948
|
+
{
|
|
7949
|
+
"avoid": "setting a fixed `height` in CSS to size the box",
|
|
7950
|
+
"instead": "use `rows`. The Figma height is derived from three lines of a bound line-height, so a fixed height pins the box while the text inside it keeps scaling with the type ramp"
|
|
7951
|
+
},
|
|
7952
|
+
{
|
|
7953
|
+
"avoid": "drawing a custom resize grip",
|
|
7954
|
+
"instead": "the browser paints one for `resize: vertical` and it cannot be styled or suppressed independently, so a custom grip sits beside it and the field gets two"
|
|
7955
|
+
},
|
|
7956
|
+
{
|
|
7957
|
+
"avoid": "relying on `isInvalid` alone to communicate an error",
|
|
7958
|
+
"instead": "pass `errorMessage` too. The border is 1px and the same width as every other state, so colour is the only difference without it"
|
|
7959
|
+
}
|
|
7960
|
+
],
|
|
7961
|
+
"stylesheet": "src/styles/textarea.css",
|
|
7962
|
+
"tokens": [
|
|
7963
|
+
"--border-default",
|
|
7964
|
+
"--border-disabled",
|
|
7965
|
+
"--border-error-strong",
|
|
7966
|
+
"--border-focus",
|
|
7967
|
+
"--border-strong",
|
|
7968
|
+
"--border-subtle",
|
|
7969
|
+
"--border-width-default",
|
|
7970
|
+
"--font-family-sans",
|
|
7971
|
+
"--font-weight-regular",
|
|
7972
|
+
"--ion-duration-base",
|
|
7973
|
+
"--ion-ease-out",
|
|
7974
|
+
"--ion-textarea-border-width",
|
|
7975
|
+
"--ion-textarea-font-size",
|
|
7976
|
+
"--ion-textarea-line-height",
|
|
7977
|
+
"--ion-textarea-padding-x",
|
|
7978
|
+
"--ion-textarea-padding-y",
|
|
7979
|
+
"--ion-textarea-radius",
|
|
7980
|
+
"--radius-md",
|
|
7981
|
+
"--radius-sm",
|
|
7982
|
+
"--spacing-12",
|
|
7983
|
+
"--spacing-16",
|
|
7984
|
+
"--spacing-6",
|
|
7985
|
+
"--spacing-8",
|
|
7986
|
+
"--surface-default",
|
|
7987
|
+
"--surface-disabled",
|
|
7988
|
+
"--surface-page",
|
|
7989
|
+
"--text-disabled",
|
|
7990
|
+
"--text-secondary",
|
|
7991
|
+
"--text-tertiary",
|
|
7992
|
+
"--type-body",
|
|
7993
|
+
"--type-body-line-height",
|
|
7994
|
+
"--type-body-sm",
|
|
7995
|
+
"--type-body-sm-line-height"
|
|
7996
|
+
],
|
|
7997
|
+
"props": {
|
|
7998
|
+
"size": {
|
|
7999
|
+
"type": "TextareaSize | undefined",
|
|
8000
|
+
"required": false,
|
|
8001
|
+
"origin": "own",
|
|
8002
|
+
"description": "Matches the Figma `Size` variant: Small, Medium, Large.",
|
|
8003
|
+
"values": [
|
|
8004
|
+
"sm",
|
|
8005
|
+
"md",
|
|
8006
|
+
"lg"
|
|
8007
|
+
],
|
|
8008
|
+
"default": "md"
|
|
8009
|
+
},
|
|
8010
|
+
"autoCapitalize": {
|
|
8011
|
+
"type": "\"none\" | \"off\" | \"on\" | \"sentences\" | \"words\" | \"characters\" | undefined",
|
|
8012
|
+
"required": false,
|
|
8013
|
+
"origin": "own",
|
|
8014
|
+
"description": "Narrower than React's own typing, which also allows any `string` — the same\ncorrection Input carries. `autoCapitalize` is declared on\n`AriaTextFieldOptions` rather than `AriaTextFieldProps`, so the `keyof`\nomission above cannot reach it.",
|
|
8015
|
+
"values": [
|
|
8016
|
+
"none",
|
|
8017
|
+
"off",
|
|
8018
|
+
"on",
|
|
8019
|
+
"sentences",
|
|
8020
|
+
"words",
|
|
8021
|
+
"characters"
|
|
8022
|
+
]
|
|
8023
|
+
},
|
|
8024
|
+
"rows": {
|
|
8025
|
+
"type": "number | undefined",
|
|
8026
|
+
"required": false,
|
|
8027
|
+
"origin": "own",
|
|
8028
|
+
"description": "Visible rows. Three matches the Figma frame, whose height is derived from\nthree lines of bound line-height rather than a fixed number — so this stays\ncorrect if the type ramp moves.",
|
|
8029
|
+
"default": 3
|
|
8030
|
+
},
|
|
8031
|
+
"label": {
|
|
8032
|
+
"type": "React.ReactNode",
|
|
8033
|
+
"required": false,
|
|
8034
|
+
"origin": "own",
|
|
8035
|
+
"description": "Field label. Renders the same `.ion-field` wrapper Input uses."
|
|
8036
|
+
},
|
|
8037
|
+
"description": {
|
|
8038
|
+
"type": "React.ReactNode",
|
|
8039
|
+
"required": false,
|
|
8040
|
+
"origin": "own",
|
|
8041
|
+
"description": "Helper text below the field."
|
|
8042
|
+
},
|
|
8043
|
+
"errorMessage": {
|
|
8044
|
+
"type": "React.ReactNode",
|
|
8045
|
+
"required": false,
|
|
8046
|
+
"origin": "own",
|
|
8047
|
+
"description": "Replaces the helper text when `isInvalid` is set."
|
|
8048
|
+
},
|
|
8049
|
+
"disabled": {
|
|
8050
|
+
"type": "boolean | undefined",
|
|
8051
|
+
"required": false,
|
|
8052
|
+
"origin": "own",
|
|
8053
|
+
"tags": {
|
|
8054
|
+
"deprecated": "Use `isDisabled`. Accepted as an alias for one minor version."
|
|
8055
|
+
}
|
|
8056
|
+
},
|
|
8057
|
+
"className": {
|
|
8058
|
+
"type": "string | undefined",
|
|
8059
|
+
"required": false,
|
|
8060
|
+
"origin": "own",
|
|
8061
|
+
"description": "Class names for the control itself (`.ion-textarea`)."
|
|
8062
|
+
},
|
|
8063
|
+
"wrapperClassName": {
|
|
8064
|
+
"type": "string | undefined",
|
|
8065
|
+
"required": false,
|
|
8066
|
+
"origin": "own",
|
|
8067
|
+
"description": "Class names for the `.ion-field` wrapper when a label or helper is shown."
|
|
8068
|
+
},
|
|
8069
|
+
"aria-activedescendant": {
|
|
8070
|
+
"type": "string | undefined",
|
|
8071
|
+
"required": false,
|
|
8072
|
+
"origin": "aria",
|
|
8073
|
+
"description": "Identifies the currently active element when DOM focus is on a composite widget, textbox,\ngroup, or application."
|
|
8074
|
+
},
|
|
8075
|
+
"aria-autocomplete": {
|
|
8076
|
+
"type": "\"inline\" | \"list\" | \"none\" | \"both\" | undefined",
|
|
8077
|
+
"required": false,
|
|
8078
|
+
"origin": "aria",
|
|
8079
|
+
"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.",
|
|
8080
|
+
"values": [
|
|
8081
|
+
"inline",
|
|
8082
|
+
"list",
|
|
8083
|
+
"none",
|
|
8084
|
+
"both"
|
|
8085
|
+
]
|
|
8086
|
+
},
|
|
8087
|
+
"aria-haspopup": {
|
|
8088
|
+
"type": "boolean | \"true\" | \"false\" | \"menu\" | \"listbox\" | \"tree\" | \"grid\" | \"dialog\" | undefined",
|
|
8089
|
+
"required": false,
|
|
8090
|
+
"origin": "aria",
|
|
8091
|
+
"description": "Indicates the availability and type of interactive popup element, such as menu or dialog, that\ncan be triggered by an element."
|
|
8092
|
+
},
|
|
8093
|
+
"aria-controls": {
|
|
8094
|
+
"type": "string | undefined",
|
|
8095
|
+
"required": false,
|
|
8096
|
+
"origin": "aria",
|
|
8097
|
+
"description": "Identifies the element (or elements) whose contents or presence are controlled by the current\nelement."
|
|
8098
|
+
},
|
|
8099
|
+
"enterKeyHint": {
|
|
8100
|
+
"type": "\"done\" | \"enter\" | \"go\" | \"next\" | \"previous\" | \"search\" | \"send\" | undefined",
|
|
8101
|
+
"required": false,
|
|
8102
|
+
"origin": "aria",
|
|
8103
|
+
"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).",
|
|
8104
|
+
"values": [
|
|
8105
|
+
"done",
|
|
8106
|
+
"enter",
|
|
8107
|
+
"go",
|
|
8108
|
+
"next",
|
|
8109
|
+
"previous",
|
|
8110
|
+
"search",
|
|
8111
|
+
"send"
|
|
8112
|
+
]
|
|
8113
|
+
},
|
|
8114
|
+
"isDisabled": {
|
|
8115
|
+
"type": "boolean | undefined",
|
|
8116
|
+
"required": false,
|
|
8117
|
+
"origin": "aria",
|
|
8118
|
+
"description": "Whether the input is disabled."
|
|
8119
|
+
},
|
|
8120
|
+
"isReadOnly": {
|
|
8121
|
+
"type": "boolean | undefined",
|
|
8122
|
+
"required": false,
|
|
8123
|
+
"origin": "aria",
|
|
8124
|
+
"description": "Whether the input can be selected but not changed by the user."
|
|
8125
|
+
},
|
|
8126
|
+
"isRequired": {
|
|
8127
|
+
"type": "boolean | undefined",
|
|
8128
|
+
"required": false,
|
|
8129
|
+
"origin": "aria",
|
|
8130
|
+
"description": "Whether user input is required on the input before form submission."
|
|
8131
|
+
},
|
|
8132
|
+
"isInvalid": {
|
|
8133
|
+
"type": "boolean | undefined",
|
|
8134
|
+
"required": false,
|
|
8135
|
+
"origin": "aria",
|
|
8136
|
+
"description": "Whether the input value is invalid."
|
|
8137
|
+
},
|
|
8138
|
+
"validationState": {
|
|
8139
|
+
"type": "ValidationState | undefined",
|
|
8140
|
+
"required": false,
|
|
8141
|
+
"origin": "aria",
|
|
8142
|
+
"values": [
|
|
8143
|
+
"valid",
|
|
8144
|
+
"invalid"
|
|
8145
|
+
],
|
|
8146
|
+
"tags": {
|
|
8147
|
+
"deprecated": "Use `isInvalid` instead."
|
|
8148
|
+
}
|
|
8149
|
+
},
|
|
8150
|
+
"validationBehavior": {
|
|
8151
|
+
"type": "\"aria\" | \"native\" | undefined",
|
|
8152
|
+
"required": false,
|
|
8153
|
+
"origin": "aria",
|
|
8154
|
+
"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.",
|
|
8155
|
+
"values": [
|
|
8156
|
+
"aria",
|
|
8157
|
+
"native"
|
|
8158
|
+
],
|
|
8159
|
+
"tags": {
|
|
8160
|
+
"default": "'aria'"
|
|
8161
|
+
}
|
|
8162
|
+
},
|
|
8163
|
+
"validate": {
|
|
8164
|
+
"type": "((value: string) => ValidationError | true | null | undefined) | undefined",
|
|
8165
|
+
"required": false,
|
|
8166
|
+
"origin": "aria",
|
|
8167
|
+
"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."
|
|
8168
|
+
},
|
|
8169
|
+
"autoFocus": {
|
|
8170
|
+
"type": "boolean | undefined",
|
|
8171
|
+
"required": false,
|
|
8172
|
+
"origin": "aria",
|
|
8173
|
+
"description": "Whether the element should receive focus on render."
|
|
8174
|
+
},
|
|
8175
|
+
"onFocus": {
|
|
8176
|
+
"type": "((e: FocusEvent<HTMLTextAreaElement, Element>) => void) | undefined",
|
|
8177
|
+
"required": false,
|
|
8178
|
+
"origin": "aria",
|
|
8179
|
+
"description": "Handler that is called when the element receives focus."
|
|
8180
|
+
},
|
|
8181
|
+
"onBlur": {
|
|
8182
|
+
"type": "((e: FocusEvent<HTMLTextAreaElement, Element>) => void) | undefined",
|
|
8183
|
+
"required": false,
|
|
8184
|
+
"origin": "aria",
|
|
8185
|
+
"description": "Handler that is called when the element loses focus."
|
|
8186
|
+
},
|
|
8187
|
+
"onFocusChange": {
|
|
8188
|
+
"type": "((isFocused: boolean) => void) | undefined",
|
|
8189
|
+
"required": false,
|
|
8190
|
+
"origin": "aria",
|
|
8191
|
+
"description": "Handler that is called when the element's focus status changes."
|
|
8192
|
+
},
|
|
8193
|
+
"onKeyDown": {
|
|
8194
|
+
"type": "((e: KeyboardEvent) => void) | undefined",
|
|
8195
|
+
"required": false,
|
|
8196
|
+
"origin": "aria",
|
|
8197
|
+
"description": "Handler that is called when a key is pressed."
|
|
8198
|
+
},
|
|
8199
|
+
"onKeyUp": {
|
|
8200
|
+
"type": "((e: KeyboardEvent) => void) | undefined",
|
|
8201
|
+
"required": false,
|
|
8202
|
+
"origin": "aria",
|
|
8203
|
+
"description": "Handler that is called when a key is released."
|
|
8204
|
+
},
|
|
8205
|
+
"placeholder": {
|
|
8206
|
+
"type": "string | undefined",
|
|
8207
|
+
"required": false,
|
|
8208
|
+
"origin": "aria",
|
|
8209
|
+
"description": "Temporary text that occupies the text input when it is empty."
|
|
8210
|
+
},
|
|
8211
|
+
"value": {
|
|
8212
|
+
"type": "string | undefined",
|
|
8213
|
+
"required": false,
|
|
8214
|
+
"origin": "aria",
|
|
8215
|
+
"description": "The current value (controlled)."
|
|
8216
|
+
},
|
|
8217
|
+
"defaultValue": {
|
|
8218
|
+
"type": "string | undefined",
|
|
8219
|
+
"required": false,
|
|
8220
|
+
"origin": "aria",
|
|
8221
|
+
"description": "The default value (uncontrolled)."
|
|
8222
|
+
},
|
|
8223
|
+
"onChange": {
|
|
8224
|
+
"type": "((value: string) => void) | undefined",
|
|
8225
|
+
"required": false,
|
|
8226
|
+
"origin": "aria",
|
|
8227
|
+
"description": "Handler that is called when the value changes."
|
|
8228
|
+
},
|
|
8229
|
+
"aria-label": {
|
|
8230
|
+
"type": "string | undefined",
|
|
8231
|
+
"required": false,
|
|
8232
|
+
"origin": "aria",
|
|
8233
|
+
"description": "Defines a string value that labels the current element."
|
|
8234
|
+
},
|
|
8235
|
+
"aria-labelledby": {
|
|
8236
|
+
"type": "string | undefined",
|
|
8237
|
+
"required": false,
|
|
8238
|
+
"origin": "aria",
|
|
8239
|
+
"description": "Identifies the element (or elements) that labels the current element."
|
|
8240
|
+
},
|
|
8241
|
+
"aria-describedby": {
|
|
8242
|
+
"type": "string | undefined",
|
|
8243
|
+
"required": false,
|
|
8244
|
+
"origin": "aria",
|
|
8245
|
+
"description": "Identifies the element (or elements) that describes the object."
|
|
8246
|
+
},
|
|
8247
|
+
"aria-details": {
|
|
8248
|
+
"type": "string | undefined",
|
|
8249
|
+
"required": false,
|
|
8250
|
+
"origin": "aria",
|
|
8251
|
+
"description": "Identifies the element (or elements) that provide a detailed, extended description for the\nobject."
|
|
8252
|
+
},
|
|
8253
|
+
"excludeFromTabOrder": {
|
|
8254
|
+
"type": "boolean | undefined",
|
|
8255
|
+
"required": false,
|
|
8256
|
+
"origin": "aria",
|
|
8257
|
+
"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."
|
|
8258
|
+
},
|
|
8259
|
+
"id": {
|
|
8260
|
+
"type": "string | undefined",
|
|
8261
|
+
"required": false,
|
|
8262
|
+
"origin": "aria",
|
|
8263
|
+
"description": "The element's unique identifier. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id)."
|
|
8264
|
+
},
|
|
8265
|
+
"autoComplete": {
|
|
8266
|
+
"type": "string | undefined",
|
|
8267
|
+
"required": false,
|
|
8268
|
+
"origin": "aria",
|
|
8269
|
+
"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)."
|
|
8270
|
+
},
|
|
8271
|
+
"maxLength": {
|
|
8272
|
+
"type": "number | undefined",
|
|
8273
|
+
"required": false,
|
|
8274
|
+
"origin": "aria",
|
|
8275
|
+
"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)."
|
|
8276
|
+
},
|
|
8277
|
+
"minLength": {
|
|
8278
|
+
"type": "number | undefined",
|
|
8279
|
+
"required": false,
|
|
8280
|
+
"origin": "aria",
|
|
8281
|
+
"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)."
|
|
8282
|
+
},
|
|
8283
|
+
"pattern": {
|
|
8284
|
+
"type": "string | undefined",
|
|
8285
|
+
"required": false,
|
|
8286
|
+
"origin": "aria",
|
|
8287
|
+
"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)."
|
|
8288
|
+
},
|
|
8289
|
+
"type": {
|
|
8290
|
+
"type": "(string & {}) | \"search\" | \"text\" | \"url\" | \"tel\" | \"email\" | \"password\" | undefined",
|
|
8291
|
+
"required": false,
|
|
8292
|
+
"origin": "aria",
|
|
8293
|
+
"description": "The type of input to render. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#htmlattrdeftype).",
|
|
8294
|
+
"tags": {
|
|
8295
|
+
"default": "'text'"
|
|
8296
|
+
}
|
|
8297
|
+
},
|
|
8298
|
+
"inputMode": {
|
|
8299
|
+
"type": "\"none\" | \"search\" | \"text\" | \"url\" | \"tel\" | \"email\" | \"numeric\" | \"decimal\" | undefined",
|
|
8300
|
+
"required": false,
|
|
8301
|
+
"origin": "aria",
|
|
8302
|
+
"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).",
|
|
8303
|
+
"values": [
|
|
8304
|
+
"none",
|
|
8305
|
+
"search",
|
|
8306
|
+
"text",
|
|
8307
|
+
"url",
|
|
8308
|
+
"tel",
|
|
8309
|
+
"email",
|
|
8310
|
+
"numeric",
|
|
8311
|
+
"decimal"
|
|
8312
|
+
]
|
|
8313
|
+
},
|
|
8314
|
+
"autoCorrect": {
|
|
8315
|
+
"type": "string | undefined",
|
|
8316
|
+
"required": false,
|
|
8317
|
+
"origin": "aria",
|
|
8318
|
+
"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)."
|
|
8319
|
+
},
|
|
8320
|
+
"spellCheck": {
|
|
8321
|
+
"type": "string | undefined",
|
|
8322
|
+
"required": false,
|
|
8323
|
+
"origin": "aria",
|
|
8324
|
+
"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)."
|
|
8325
|
+
},
|
|
8326
|
+
"name": {
|
|
8327
|
+
"type": "string | undefined",
|
|
8328
|
+
"required": false,
|
|
8329
|
+
"origin": "aria",
|
|
8330
|
+
"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)."
|
|
8331
|
+
},
|
|
8332
|
+
"form": {
|
|
8333
|
+
"type": "string | undefined",
|
|
8334
|
+
"required": false,
|
|
8335
|
+
"origin": "aria",
|
|
8336
|
+
"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)."
|
|
8337
|
+
},
|
|
8338
|
+
"onCopy": {
|
|
8339
|
+
"type": "ClipboardEventHandler<HTMLTextAreaElement> | undefined",
|
|
8340
|
+
"required": false,
|
|
8341
|
+
"origin": "aria",
|
|
8342
|
+
"description": "Handler that is called when the user copies text. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/oncopy)."
|
|
8343
|
+
},
|
|
8344
|
+
"onCut": {
|
|
8345
|
+
"type": "ClipboardEventHandler<HTMLTextAreaElement> | undefined",
|
|
8346
|
+
"required": false,
|
|
8347
|
+
"origin": "aria",
|
|
8348
|
+
"description": "Handler that is called when the user cuts text. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/oncut)."
|
|
8349
|
+
},
|
|
8350
|
+
"onPaste": {
|
|
8351
|
+
"type": "ClipboardEventHandler<HTMLTextAreaElement> | undefined",
|
|
8352
|
+
"required": false,
|
|
8353
|
+
"origin": "aria",
|
|
8354
|
+
"description": "Handler that is called when the user pastes text. See\n[MDN](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/onpaste)."
|
|
8355
|
+
},
|
|
8356
|
+
"onCompositionStart": {
|
|
8357
|
+
"type": "CompositionEventHandler<HTMLTextAreaElement> | undefined",
|
|
8358
|
+
"required": false,
|
|
8359
|
+
"origin": "aria",
|
|
8360
|
+
"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)."
|
|
8361
|
+
},
|
|
8362
|
+
"onCompositionEnd": {
|
|
8363
|
+
"type": "CompositionEventHandler<HTMLTextAreaElement> | undefined",
|
|
8364
|
+
"required": false,
|
|
8365
|
+
"origin": "aria",
|
|
8366
|
+
"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)."
|
|
8367
|
+
},
|
|
8368
|
+
"onCompositionUpdate": {
|
|
8369
|
+
"type": "CompositionEventHandler<HTMLTextAreaElement> | undefined",
|
|
8370
|
+
"required": false,
|
|
8371
|
+
"origin": "aria",
|
|
8372
|
+
"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)."
|
|
8373
|
+
},
|
|
8374
|
+
"onSelect": {
|
|
8375
|
+
"type": "ReactEventHandler<HTMLTextAreaElement> | undefined",
|
|
8376
|
+
"required": false,
|
|
8377
|
+
"origin": "aria",
|
|
8378
|
+
"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)."
|
|
8379
|
+
},
|
|
8380
|
+
"onBeforeInput": {
|
|
8381
|
+
"type": "FormEventHandler<HTMLTextAreaElement> | undefined",
|
|
8382
|
+
"required": false,
|
|
8383
|
+
"origin": "aria",
|
|
8384
|
+
"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)."
|
|
8385
|
+
},
|
|
8386
|
+
"onInput": {
|
|
8387
|
+
"type": "FormEventHandler<HTMLTextAreaElement> | undefined",
|
|
8388
|
+
"required": false,
|
|
8389
|
+
"origin": "aria",
|
|
8390
|
+
"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)."
|
|
8391
|
+
},
|
|
8392
|
+
"aria-errormessage": {
|
|
8393
|
+
"type": "string | undefined",
|
|
8394
|
+
"required": false,
|
|
8395
|
+
"origin": "aria",
|
|
8396
|
+
"description": "Identifies the element that provides an error message for the object."
|
|
8397
|
+
}
|
|
8398
|
+
},
|
|
8399
|
+
"propCounts": {
|
|
8400
|
+
"own": 9,
|
|
8401
|
+
"aria": 48,
|
|
8402
|
+
"dom": 251,
|
|
8403
|
+
"other": 0
|
|
8404
|
+
}
|
|
8405
|
+
},
|
|
7687
8406
|
"Toast": {
|
|
7688
8407
|
"name": "Toast",
|
|
7689
8408
|
"source": "src/components/Toast.tsx",
|