@uni-design-system/uni-mcp 11.6.0 → 11.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/dist/{chunk-INTB6KJ7.js → chunk-Y6SCKJEM.js} +542 -244
- package/dist/chunk-Y6SCKJEM.js.map +1 -0
- package/dist/http.js +1 -1
- package/dist/server.js +1 -1
- package/dist/stdio.js +1 -1
- package/package.json +2 -2
- package/dist/chunk-INTB6KJ7.js.map +0 -1
|
@@ -7,16 +7,16 @@ import { z } from "zod";
|
|
|
7
7
|
// src/data/uni-index.json
|
|
8
8
|
var uni_index_default = {
|
|
9
9
|
meta: {
|
|
10
|
-
version: "11.
|
|
11
|
-
builtAt: "2026-10-
|
|
10
|
+
version: "11.7.0",
|
|
11
|
+
builtAt: "2026-10-22T04:29:01.107Z",
|
|
12
12
|
frameworks: [
|
|
13
13
|
"angular"
|
|
14
14
|
],
|
|
15
15
|
counts: {
|
|
16
16
|
components: 88,
|
|
17
|
-
tokens:
|
|
17
|
+
tokens: 511,
|
|
18
18
|
themes: 2,
|
|
19
|
-
examples:
|
|
19
|
+
examples: 256,
|
|
20
20
|
utilities: 122
|
|
21
21
|
}
|
|
22
22
|
},
|
|
@@ -28,7 +28,7 @@ var uni_index_default = {
|
|
|
28
28
|
summary: "",
|
|
29
29
|
description: "",
|
|
30
30
|
category: "feedback",
|
|
31
|
-
version: "11.
|
|
31
|
+
version: "11.7.0",
|
|
32
32
|
bindings: {
|
|
33
33
|
angular: {
|
|
34
34
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -118,7 +118,7 @@ var uni_index_default = {
|
|
|
118
118
|
summary: "Horizontal application bar: project leading controls (menu button, logo) with the `leading` attribute, actions with `trailing` (pushed to the far edge), and either pass `title` or project custom center content.",
|
|
119
119
|
description: "Horizontal application bar: project leading controls (menu button, logo) with the `leading` attribute, actions with `trailing` (pushed to the far edge), and either pass `title` or project custom center content. Surface, divider, height, typography and spacing all resolve from `appBar` tokens. Place it inside your page's `<header>` landmark.",
|
|
120
120
|
category: "components",
|
|
121
|
-
version: "11.
|
|
121
|
+
version: "11.7.0",
|
|
122
122
|
bindings: {
|
|
123
123
|
angular: {
|
|
124
124
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -191,7 +191,7 @@ var uni_index_default = {
|
|
|
191
191
|
summary: "Identity avatar with a graceful fallback chain: image \u2192 initials from `name` \u2192 themed symbol.",
|
|
192
192
|
description: "Identity avatar with a graceful fallback chain: image \u2192 initials from `name` \u2192 themed symbol. Coloring, radius, typeface and sizes all resolve from `avatar` theme tokens; `variant` picks the container palette.",
|
|
193
193
|
category: "components",
|
|
194
|
-
version: "11.
|
|
194
|
+
version: "11.7.0",
|
|
195
195
|
bindings: {
|
|
196
196
|
angular: {
|
|
197
197
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -286,7 +286,7 @@ var uni_index_default = {
|
|
|
286
286
|
summary: "Overlapping stack of avatars.",
|
|
287
287
|
description: "Overlapping stack of avatars. `max` collapses the overflow into a themed \u201C+N\u201D chip (itself a `uni-avatar`). Overlap and separator ring resolve from `avatarGroup` theme tokens.",
|
|
288
288
|
category: "components",
|
|
289
|
-
version: "11.
|
|
289
|
+
version: "11.7.0",
|
|
290
290
|
bindings: {
|
|
291
291
|
angular: {
|
|
292
292
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -335,7 +335,7 @@ var uni_index_default = {
|
|
|
335
335
|
summary: "",
|
|
336
336
|
description: "",
|
|
337
337
|
category: "primitives",
|
|
338
|
-
version: "11.
|
|
338
|
+
version: "11.7.0",
|
|
339
339
|
bindings: {
|
|
340
340
|
angular: {
|
|
341
341
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -416,7 +416,7 @@ var uni_index_default = {
|
|
|
416
416
|
summary: "",
|
|
417
417
|
description: "",
|
|
418
418
|
category: "feedback",
|
|
419
|
-
version: "11.
|
|
419
|
+
version: "11.7.0",
|
|
420
420
|
bindings: {
|
|
421
421
|
angular: {
|
|
422
422
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -513,7 +513,7 @@ var uni_index_default = {
|
|
|
513
513
|
summary: "",
|
|
514
514
|
description: "",
|
|
515
515
|
category: "directives",
|
|
516
|
-
version: "11.
|
|
516
|
+
version: "11.7.0",
|
|
517
517
|
bindings: {
|
|
518
518
|
angular: {
|
|
519
519
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -537,7 +537,7 @@ var uni_index_default = {
|
|
|
537
537
|
summary: 'The base layout primitive, applied as an attribute to any element so semantics stay yours: `<main box-layout [grow]="1" padding="md">`.',
|
|
538
538
|
description: 'The base layout primitive, applied as an attribute to any element so semantics stay yours: `<main box-layout [grow]="1" padding="md">`. It is a directive, so it composes freely \u2014 with another layout attribute (`<div stack-layout uni-text="body-1-long">`) and with a component\'s own host element (`<uni-card box-layout padding="lg">`); Angular merges the host `class` bindings rather than letting one win. Sizing convention (height/width/min/max/inset): a **number is px and needs a binding** \u2014 `[height]="420"`; a **plain attribute is a CSS length string** \u2014 `height="420px"`. Spacing/radius/color inputs take theme tokens.',
|
|
539
539
|
category: "layout",
|
|
540
|
-
version: "11.
|
|
540
|
+
version: "11.7.0",
|
|
541
541
|
bindings: {
|
|
542
542
|
angular: {
|
|
543
543
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -945,7 +945,7 @@ var uni_index_default = {
|
|
|
945
945
|
summary: 'WAI-ARIA breadcrumb: a `nav` landmark wrapping an ordered list; the last item is the current page (`aria-current="page"`), separators are decorative.',
|
|
946
946
|
description: 'WAI-ARIA breadcrumb: a `nav` landmark wrapping an ordered list; the last item is the current page (`aria-current="page"`), separators are decorative. Items with `href` render as real links; without one they render as link-styled buttons emitting `itemClicked` \u2014 wire that to your router.',
|
|
947
947
|
category: "components",
|
|
948
|
-
version: "11.
|
|
948
|
+
version: "11.7.0",
|
|
949
949
|
bindings: {
|
|
950
950
|
angular: {
|
|
951
951
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1030,7 +1030,7 @@ var uni_index_default = {
|
|
|
1030
1030
|
summary: "",
|
|
1031
1031
|
description: "",
|
|
1032
1032
|
category: "primitives",
|
|
1033
|
-
version: "11.
|
|
1033
|
+
version: "11.7.0",
|
|
1034
1034
|
bindings: {
|
|
1035
1035
|
angular: {
|
|
1036
1036
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1044,6 +1044,14 @@ var uni_index_default = {
|
|
|
1044
1044
|
default: "false, { transform: booleanAttribute }",
|
|
1045
1045
|
description: ""
|
|
1046
1046
|
},
|
|
1047
|
+
{
|
|
1048
|
+
name: "disabled",
|
|
1049
|
+
kind: "input",
|
|
1050
|
+
type: "unknown",
|
|
1051
|
+
required: false,
|
|
1052
|
+
default: "false, { transform: booleanAttribute }",
|
|
1053
|
+
description: "The native name, accepted as an alias of `disable`. Every other Uni form control takes `disabled`, so consumers write it here too \u2014 and without this input the binding landed on the DOM property, where the host's own `disabled` attribute binding removed it on the first pass. The button rendered enabled, with no error. Either name now works."
|
|
1054
|
+
},
|
|
1047
1055
|
{
|
|
1048
1056
|
name: "loading",
|
|
1049
1057
|
kind: "input",
|
|
@@ -1190,7 +1198,7 @@ var uni_index_default = {
|
|
|
1190
1198
|
summary: "",
|
|
1191
1199
|
description: "",
|
|
1192
1200
|
category: "primitives",
|
|
1193
|
-
version: "11.
|
|
1201
|
+
version: "11.7.0",
|
|
1194
1202
|
bindings: {
|
|
1195
1203
|
angular: {
|
|
1196
1204
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1222,7 +1230,7 @@ var uni_index_default = {
|
|
|
1222
1230
|
summary: "Inline month calendar: single-date or start\u2013end range selection, day markers (availability dots), min/max fences and disabled dates.",
|
|
1223
1231
|
description: "Inline month calendar: single-date or start\u2013end range selection, day markers (availability dots), min/max fences and disabled dates. One tab stop with a roving-tabindex `role=\"grid\"`; every day is a real button named with its full date. Values are plain ISO strings (`'YYYY-MM-DD'`), never `Date` objects, so bindings are timezone-free and serializable. Selection and today colours come from the theme's `primary` role pair; geometry and glyphs come from the `calendar` theme entry.",
|
|
1224
1232
|
category: "forms",
|
|
1225
|
-
version: "11.
|
|
1233
|
+
version: "11.7.0",
|
|
1226
1234
|
bindings: {
|
|
1227
1235
|
angular: {
|
|
1228
1236
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1463,7 +1471,7 @@ var uni_index_default = {
|
|
|
1463
1471
|
summary: "Anchored coach-mark panel that dims the page and cuts a spotlight hole around its target.",
|
|
1464
1472
|
description: 'Anchored coach-mark panel that dims the page and cuts a spotlight hole around its target. Both the scrim and the panel are `popover="manual"` elements shown in order, so they stack deterministically in the top layer above every app z-index, and every scrim piece is CSS-anchor-positioned to the target \u2014 the hole tracks scroll/resize/layout with zero listeners. The panel is a non-modal `role="dialog"` (deliberately no `aria-modal`): focus moves into it on open, Tab runs a "duet loop" over the panel\'s focusables plus the spotlit target while it stays interactive, and on close focus returns to the pre-open element \u2014 unless the user moved into the target, where it stays. Storage-free by rule: `key` and the `dismissed` output are the "don\'t show again" hooks; persistence is the app\'s business (e.g. cdk local-storage).',
|
|
1465
1473
|
category: "components",
|
|
1466
|
-
version: "11.
|
|
1474
|
+
version: "11.7.0",
|
|
1467
1475
|
bindings: {
|
|
1468
1476
|
angular: {
|
|
1469
1477
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1683,7 +1691,7 @@ var uni_index_default = {
|
|
|
1683
1691
|
summary: "",
|
|
1684
1692
|
description: "",
|
|
1685
1693
|
category: "layout",
|
|
1686
|
-
version: "11.
|
|
1694
|
+
version: "11.7.0",
|
|
1687
1695
|
bindings: {
|
|
1688
1696
|
angular: {
|
|
1689
1697
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1745,7 +1753,7 @@ var uni_index_default = {
|
|
|
1745
1753
|
summary: "",
|
|
1746
1754
|
description: "",
|
|
1747
1755
|
category: "layout",
|
|
1748
|
-
version: "11.
|
|
1756
|
+
version: "11.7.0",
|
|
1749
1757
|
bindings: {
|
|
1750
1758
|
angular: {
|
|
1751
1759
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1786,7 +1794,7 @@ var uni_index_default = {
|
|
|
1786
1794
|
summary: "",
|
|
1787
1795
|
description: "",
|
|
1788
1796
|
category: "layout",
|
|
1789
|
-
version: "11.
|
|
1797
|
+
version: "11.7.0",
|
|
1790
1798
|
bindings: {
|
|
1791
1799
|
angular: {
|
|
1792
1800
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1843,7 +1851,7 @@ var uni_index_default = {
|
|
|
1843
1851
|
summary: "",
|
|
1844
1852
|
description: "",
|
|
1845
1853
|
category: "layout",
|
|
1846
|
-
version: "11.
|
|
1854
|
+
version: "11.7.0",
|
|
1847
1855
|
bindings: {
|
|
1848
1856
|
angular: {
|
|
1849
1857
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1898,7 +1906,7 @@ var uni_index_default = {
|
|
|
1898
1906
|
summary: "",
|
|
1899
1907
|
description: "",
|
|
1900
1908
|
category: "forms",
|
|
1901
|
-
version: "11.
|
|
1909
|
+
version: "11.7.0",
|
|
1902
1910
|
bindings: {
|
|
1903
1911
|
angular: {
|
|
1904
1912
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2120,7 +2128,7 @@ var uni_index_default = {
|
|
|
2120
2128
|
summary: "Form-bound, closed-set, single-select autocomplete: `FormValueControl<T | null>` over object `Options<T>`, type-to-filter, commit-on-select.",
|
|
2121
2129
|
description: "Form-bound, closed-set, single-select autocomplete: `FormValueControl<T | null>` over object `Options<T>`, type-to-filter, commit-on-select. Typing produces a draft \u2014 a filter, never a value; the value changes only when an option commits, `clear()` runs, or the model is written from outside. Select semantics, not search: a real label, a chevron, no magnifier, nothing submits. For short lists with no need to type, prefer `uni-select` \u2014 the value contract is identical, so swapping is a template-only change.",
|
|
2122
2130
|
category: "forms",
|
|
2123
|
-
version: "11.
|
|
2131
|
+
version: "11.7.0",
|
|
2124
2132
|
bindings: {
|
|
2125
2133
|
angular: {
|
|
2126
2134
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2226,6 +2234,14 @@ var uni_index_default = {
|
|
|
2226
2234
|
default: "true",
|
|
2227
2235
|
description: "Show a \u2715 while a value is set; an emptied field on blur also clears."
|
|
2228
2236
|
},
|
|
2237
|
+
{
|
|
2238
|
+
name: "emptyValue",
|
|
2239
|
+
kind: "input",
|
|
2240
|
+
type: "T | null",
|
|
2241
|
+
required: false,
|
|
2242
|
+
default: "null",
|
|
2243
|
+
description: "What \"nothing selected\" is written as. `null` by default \u2014 the control's contract is `FormValueControl<T | null>` \u2014 but a field bound to a plain `string` schema wants `''`, so a clear does not hand `null` to every reader of a string. A value equal to it reads as empty: no \u2715, no match."
|
|
2244
|
+
},
|
|
2229
2245
|
{
|
|
2230
2246
|
name: "commitOnBlur",
|
|
2231
2247
|
kind: "input",
|
|
@@ -2379,7 +2395,7 @@ emptyText="No countries found"
|
|
|
2379
2395
|
}
|
|
2380
2396
|
],
|
|
2381
2397
|
guidelines: {
|
|
2382
|
-
whenToUse: "The form-bound, **closed-set, single-select** autocomplete: object\n`Options<T>`, `FormValueControl<T | null>`, type-to-filter, commit-on-select.\nTyping produces a *draft* \u2014 a filter, never a value; the value changes only\nwhen an option commits, the field clears, or the model is written from\noutside. Select semantics, not search: a real label, a chevron, no magnifier,\nnothing submits.\nUnder ~10 options and no need to type \u2192 `uni-select`, the native, zero-JS,\nmobile-friendly answer. More options, or users know what they're looking for \u2192\n`uni-combobox`. The value contract is identical (`T | null`, `compareWith`),\nso swapping one for the other as a list grows is a template-only change \u2014 that\nis deliberate. For open sets, where typing *creates* values, use\n`uni-tag-input` (multi) or `uni-search-input` (queries); for closed multi\nsets, `uni-multi-select-dropdown`.",
|
|
2398
|
+
whenToUse: "The form-bound, **closed-set, single-select** autocomplete: object\n`Options<T>`, `FormValueControl<T | null>`, type-to-filter, commit-on-select.\nTyping produces a *draft* \u2014 a filter, never a value; the value changes only\nwhen an option commits, the field clears, or the model is written from\noutside. Select semantics, not search: a real label, a chevron, no magnifier,\nnothing submits.\nUnder ~10 options and no need to type \u2192 `uni-select`, the native, zero-JS,\nmobile-friendly answer. More options, or users know what they're looking for \u2192\n`uni-combobox`. The value contract is identical (`T | null`, `compareWith`),\nso swapping one for the other as a list grows is a template-only change \u2014 that\nis deliberate. A clear writes `null`; a field bound to a plain `string` schema\nsets `emptyValue=\"''\"` so its readers never meet a `null`. For open sets, where typing *creates* values, use\n`uni-tag-input` (multi) or `uni-search-input` (queries); for closed multi\nsets, `uni-multi-select-dropdown`.",
|
|
2383
2399
|
dos: [],
|
|
2384
2400
|
donts: [
|
|
2385
2401
|
"Don't expect free text to commit implicitly \u2014 it never does. Offer creation",
|
|
@@ -2414,7 +2430,7 @@ emptyText="No countries found"
|
|
|
2414
2430
|
summary: "",
|
|
2415
2431
|
description: "",
|
|
2416
2432
|
category: "feedback",
|
|
2417
|
-
version: "11.
|
|
2433
|
+
version: "11.7.0",
|
|
2418
2434
|
bindings: {
|
|
2419
2435
|
angular: {
|
|
2420
2436
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2461,7 +2477,7 @@ emptyText="No countries found"
|
|
|
2461
2477
|
summary: "Recipient field for picking people: removable chips, a text input, and a list of known contacts that opens on focus and narrows as the user types \u2014 each row drawn as a person (avatar, name, address, a trailing note).",
|
|
2462
2478
|
description: "Recipient field for picking people: removable chips, a text input, and a list of known contacts that opens on focus and narrows as the user types \u2014 each row drawn as a person (avatar, name, address, a trailing note). A thin composition of `uni-tag-input` with a mail client's manners baked in: ArrowDown walks the matches and Enter picks the active one, Backspace in an empty field removes the last person, and text that is neither a known contact nor a valid address stays in the field to be fixed (`rejected` says why). Reach for `uni-tag-input` itself when the tokens are not people.",
|
|
2463
2479
|
category: "forms",
|
|
2464
|
-
version: "11.
|
|
2480
|
+
version: "11.7.0",
|
|
2465
2481
|
bindings: {
|
|
2466
2482
|
angular: {
|
|
2467
2483
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2559,6 +2575,14 @@ emptyText="No countries found"
|
|
|
2559
2575
|
default: "true",
|
|
2560
2576
|
description: "Accept a typed value that is not a known contact. On by default \u2014 a typed email address becomes a chip; `false` restricts the field to `contacts`."
|
|
2561
2577
|
},
|
|
2578
|
+
{
|
|
2579
|
+
name: "chipAvatar",
|
|
2580
|
+
kind: "input",
|
|
2581
|
+
type: "boolean | undefined",
|
|
2582
|
+
required: false,
|
|
2583
|
+
default: "undefined",
|
|
2584
|
+
description: "Draw an initials avatar on each chip. Unbound, the `contactInput` theme entry's `chipAvatar` decides (on by default). Off, a chip is the name alone \u2014 in a narrow row of first names the initials only repeat it."
|
|
2585
|
+
},
|
|
2562
2586
|
{
|
|
2563
2587
|
name: "filterLocally",
|
|
2564
2588
|
kind: "input",
|
|
@@ -2710,7 +2734,7 @@ emptyText="No countries found"
|
|
|
2710
2734
|
}
|
|
2711
2735
|
],
|
|
2712
2736
|
guidelines: {
|
|
2713
|
-
whenToUse: "Recipient field for picking people: removable chips, a text input, and a list\nof known contacts that opens on focus and narrows as the user types. Each row\nis drawn as a person \u2014 avatar, name, address, and an optional note. Reach for\nit for a To line, a share dialog, assignees or mentions; for tokens that are\nnot people, use `uni-tag-input`, which this composes.\nIt behaves like a mail client: ArrowDown walks the matches and Enter picks\nthe active one, Backspace in an empty field removes the last person, and text\nthat is neither a known contact nor a valid address stays in the field to be\nfixed. Set `autoHighlight` to keep the first match active, so Enter or Tab\npicks it without arrowing. The chips come\nfrom the `tag` theme entry, the popup from `tagInput`, the field chrome from\n`input`, and the person row from `contactInput`.",
|
|
2737
|
+
whenToUse: "Recipient field for picking people: removable chips, a text input, and a list\nof known contacts that opens on focus and narrows as the user types. Each row\nis drawn as a person \u2014 avatar, name, address, and an optional note. Reach for\nit for a To line, a share dialog, assignees or mentions; for tokens that are\nnot people, use `uni-tag-input`, which this composes.\nIt behaves like a mail client: ArrowDown walks the matches and Enter picks\nthe active one, Backspace in an empty field removes the last person, and text\nthat is neither a known contact nor a valid address stays in the field to be\nfixed. Set `autoHighlight` to keep the first match active, so Enter or Tab\npicks it without arrowing. A paste splits on commas, semicolons, line breaks\nand whitespace, so a column copied from a spreadsheet becomes one chip per\naddress (`parse` takes over tokenizing when that is wrong). The chips come\nfrom the `tag` theme entry, the popup from `tagInput`, the field chrome from\n`input`, and the person row and chip avatar from `contactInput`.",
|
|
2714
2738
|
dos: [
|
|
2715
2739
|
"Order `contacts` most-relevant first; only the first few are shown.",
|
|
2716
2740
|
"Set `filterLocally` to `false` and refresh `contacts` from `(query)` when",
|
|
@@ -2738,7 +2762,7 @@ emptyText="No countries found"
|
|
|
2738
2762
|
summary: "",
|
|
2739
2763
|
description: "",
|
|
2740
2764
|
category: "forms",
|
|
2741
|
-
version: "11.
|
|
2765
|
+
version: "11.7.0",
|
|
2742
2766
|
bindings: {
|
|
2743
2767
|
angular: {
|
|
2744
2768
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2837,7 +2861,7 @@ emptyText="No countries found"
|
|
|
2837
2861
|
summary: "",
|
|
2838
2862
|
description: "",
|
|
2839
2863
|
category: "data",
|
|
2840
|
-
version: "11.
|
|
2864
|
+
version: "11.7.0",
|
|
2841
2865
|
bindings: {
|
|
2842
2866
|
angular: {
|
|
2843
2867
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -3056,6 +3080,23 @@ emptyText="No countries found"
|
|
|
3056
3080
|
datasource: new UniRecordDatasource<any>(starWarsCharacters),
|
|
3057
3081
|
}
|
|
3058
3082
|
-->`
|
|
3083
|
+
},
|
|
3084
|
+
{
|
|
3085
|
+
title: "Column Options",
|
|
3086
|
+
framework: "angular",
|
|
3087
|
+
code: `<!-- Storybook story: Column Options -->
|
|
3088
|
+
<ng-template #nameCell let-row let-index="index">
|
|
3089
|
+
<div box-layout padding="sm" uni-text="title-small">{{ index + 1 }}. {{ row.name }}</div>
|
|
3090
|
+
</ng-template>
|
|
3091
|
+
<uni-data-table
|
|
3092
|
+
[datasource]="datasource"
|
|
3093
|
+
[useRowClick]="false"
|
|
3094
|
+
[columns]="[
|
|
3095
|
+
{ columnDef: 'name', header: 'Name', textAlign: 'left', width: '50%', template: nameCell },
|
|
3096
|
+
base[0],
|
|
3097
|
+
base[1]
|
|
3098
|
+
]"
|
|
3099
|
+
/>`
|
|
3059
3100
|
}
|
|
3060
3101
|
],
|
|
3061
3102
|
guidelines: {
|
|
@@ -3063,7 +3104,7 @@ emptyText="No countries found"
|
|
|
3063
3104
|
dos: [],
|
|
3064
3105
|
donts: [],
|
|
3065
3106
|
accessibility: [
|
|
3066
|
-
'Column headers use `scope="col"`; sortable headers are real buttons with `aria-sort` on the `<th>`.',
|
|
3107
|
+
'Column headers use `scope="col"`; sortable headers are real buttons with `aria-sort` on the `<th>`. A `sortable: false` column is a plain heading with neither.',
|
|
3067
3108
|
'The loading overlay is a `role="status"` region and the table is `aria-busy` while loading.',
|
|
3068
3109
|
"Collapsed detail rows are `inert`, out of the accessibility tree until expanded."
|
|
3069
3110
|
]
|
|
@@ -3077,7 +3118,7 @@ emptyText="No countries found"
|
|
|
3077
3118
|
summary: "Date field with free-typed parsing and a popup calendar.",
|
|
3078
3119
|
description: "Date field with free-typed parsing and a popup calendar. Type `aug 20`, `8/20/2026` or `2026-08-20`, or pick from the grid \u2014 the form gets the same canonical `'YYYY-MM-DD'` string either way. Parsing is `Intl`-driven (locale digit order and month names, never hardcoded); unreadable text stays in the field, flagged, with a `rejected` event. The popup is a native popover hosting the same `uni-calendar` an app could render inline.",
|
|
3079
3120
|
category: "forms",
|
|
3080
|
-
version: "11.
|
|
3121
|
+
version: "11.7.0",
|
|
3081
3122
|
bindings: {
|
|
3082
3123
|
angular: {
|
|
3083
3124
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -3308,7 +3349,7 @@ emptyText="No countries found"
|
|
|
3308
3349
|
summary: "One field for a date and a time: a thin composer seating a uni-date-input and a uni-time-input in one input-box chrome under one label, yielding one combined `'YYYY-MM-DDTHH:mm'` value.",
|
|
3309
3350
|
description: "One field for a date and a time: a thin composer seating a uni-date-input and a uni-time-input in one input-box chrome under one label, yielding one combined `'YYYY-MM-DDTHH:mm'` value. The value emits only when both parts are set \u2014 a time without a day is not an answer \u2014 and clearing the date clears it. With `slotsFor`, the time part stays disabled until a day is chosen and offers exactly that day's slots: the scheduling flow in one attribute. Two honest tab stops (it is two questions); apps needing a different arrangement compose the primitives directly.",
|
|
3310
3351
|
category: "forms",
|
|
3311
|
-
version: "11.
|
|
3352
|
+
version: "11.7.0",
|
|
3312
3353
|
bindings: {
|
|
3313
3354
|
angular: {
|
|
3314
3355
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -3501,7 +3542,7 @@ emptyText="No countries found"
|
|
|
3501
3542
|
summary: "Text input that emits `change` only after the user pauses typing.",
|
|
3502
3543
|
description: "Text input that emits `change` only after the user pauses typing. Wears the shared input chrome (themed color, border, typeface, focus ring) via `uni-input-box`; project adornments with the `pre-input` / `post-input` slots, matching `uni-input`'s convention. The ARIA passthrough inputs let a wrapping composite (e.g. SearchInput's combobox) annotate the real input element.",
|
|
3503
3544
|
category: "forms",
|
|
3504
|
-
version: "11.
|
|
3545
|
+
version: "11.7.0",
|
|
3505
3546
|
bindings: {
|
|
3506
3547
|
angular: {
|
|
3507
3548
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -3649,7 +3690,7 @@ emptyText="No countries found"
|
|
|
3649
3690
|
summary: "Modal dialog on the native `<dialog>` element, laid out as three rows: an optional `[dialog-header]`, the projected body, an optional `[dialog-buttons]`.",
|
|
3650
3691
|
description: "Modal dialog on the native `<dialog>` element, laid out as three rows: an optional `[dialog-header]`, the projected body, an optional `[dialog-buttons]`. **The surface is never the scroll container.** It is a flex column that is `overflow: clip` on both axes; the header and buttons pin while only the body row scrolls. Unlike the drawer, which is deliberately viewport-tall, the dialog stays content-sized: it has no `height`, and grows until it hits `calc(100dvh - 2 x inset)` \u2014 the point at which the body starts to scroll. The theme's `padding` insets all three rows (which is what makes the default header read as a pill floating inside the surface); `bodyPadding` pads the scrolling row alone.",
|
|
3651
3692
|
category: "feedback",
|
|
3652
|
-
version: "11.
|
|
3693
|
+
version: "11.7.0",
|
|
3653
3694
|
bindings: {
|
|
3654
3695
|
angular: {
|
|
3655
3696
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -3790,6 +3831,7 @@ uni-dialog
|
|
|
3790
3831
|
"dialog.behavior.border",
|
|
3791
3832
|
"dialog.behavior.padding",
|
|
3792
3833
|
"dialog.behavior.inset",
|
|
3834
|
+
"dialog.behavior.overscroll",
|
|
3793
3835
|
"dialog.behavior.elevation",
|
|
3794
3836
|
"dialog.behavior.backdrop",
|
|
3795
3837
|
"dialog.behavior.motion"
|
|
@@ -3802,7 +3844,7 @@ uni-dialog
|
|
|
3802
3844
|
summary: "",
|
|
3803
3845
|
description: "",
|
|
3804
3846
|
category: "feedback",
|
|
3805
|
-
version: "11.
|
|
3847
|
+
version: "11.7.0",
|
|
3806
3848
|
bindings: {
|
|
3807
3849
|
angular: {
|
|
3808
3850
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -3906,7 +3948,7 @@ uni-dialog
|
|
|
3906
3948
|
summary: "",
|
|
3907
3949
|
description: "",
|
|
3908
3950
|
category: "feedback",
|
|
3909
|
-
version: "11.
|
|
3951
|
+
version: "11.7.0",
|
|
3910
3952
|
bindings: {
|
|
3911
3953
|
angular: {
|
|
3912
3954
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -3947,7 +3989,7 @@ uni-dialog
|
|
|
3947
3989
|
summary: "",
|
|
3948
3990
|
description: "",
|
|
3949
3991
|
category: "layout",
|
|
3950
|
-
version: "11.
|
|
3992
|
+
version: "11.7.0",
|
|
3951
3993
|
bindings: {
|
|
3952
3994
|
angular: {
|
|
3953
3995
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4003,7 +4045,7 @@ uni-dialog
|
|
|
4003
4045
|
summary: "",
|
|
4004
4046
|
description: "",
|
|
4005
4047
|
category: "directives",
|
|
4006
|
-
version: "11.
|
|
4048
|
+
version: "11.7.0",
|
|
4007
4049
|
bindings: {
|
|
4008
4050
|
angular: {
|
|
4009
4051
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4035,7 +4077,7 @@ uni-dialog
|
|
|
4035
4077
|
summary: "Drawer with two modes sharing one three-row layout: - `side` \u2014 an in-flow `<aside>` that pushes content (dashboard sidenav); opening/closing animates its width, and the divider border primitive separates it from the page.",
|
|
4036
4078
|
description: "Drawer with two modes sharing one three-row layout: - `side` \u2014 an in-flow `<aside>` that pushes content (dashboard sidenav); opening/closing animates its width, and the divider border primitive separates it from the page. - `over` \u2014 a native `<dialog>` in the top layer: focus trap, Escape and scrim backdrop come from the platform (same machinery as `uni-dialog`), sliding in from its edge. **The panel is never the scroll container.** It is a flex column of three rows \u2014 an optional `[uni-drawer-header]`, the projected body, an optional `[uni-drawer-buttons]` \u2014 and only the body scrolls. The panel itself is `overflow: clip` on both axes. That is what lets a header and a save bar pin while a long form scrolls between them, and it is why the theme's `padding` option lands on the body row rather than the panel: padding on a scrolling box scrolls away with its content. Surface, width, divider, elevation, padding, backdrop, scrim and background all resolve from `drawer` theme tokens.",
|
|
4037
4079
|
category: "components",
|
|
4038
|
-
version: "11.
|
|
4080
|
+
version: "11.7.0",
|
|
4039
4081
|
bindings: {
|
|
4040
4082
|
angular: {
|
|
4041
4083
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4226,7 +4268,7 @@ initialFocus="input"
|
|
|
4226
4268
|
summary: "The drawer's pinned footer action row \u2014 the save bar of an editor panel.",
|
|
4227
4269
|
description: "The drawer's pinned footer action row \u2014 the save bar of an editor panel. Sits outside the scrolling body, so the actions stay reachable however long the form is. Mirrors `[dialog-buttons]`; the difference is posture, which lives in the `drawerButtons` theme options rather than here.",
|
|
4228
4270
|
category: "primitives",
|
|
4229
|
-
version: "11.
|
|
4271
|
+
version: "11.7.0",
|
|
4230
4272
|
bindings: {
|
|
4231
4273
|
angular: {
|
|
4232
4274
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4323,7 +4365,7 @@ initialFocus="input"
|
|
|
4323
4365
|
summary: "The drawer's pinned header row: a title, and optionally a close button.",
|
|
4324
4366
|
description: "The drawer's pinned header row: a title, and optionally a close button. Sits outside the scrolling body, so it stays put while the form beneath it moves. Reached either by projecting it \u2014 `<div uni-drawer-header>` \u2014 or implicitly, by giving `uni-drawer` a `headline`, in which case the drawer renders one of these itself.",
|
|
4325
4367
|
category: "components",
|
|
4326
|
-
version: "11.
|
|
4368
|
+
version: "11.7.0",
|
|
4327
4369
|
bindings: {
|
|
4328
4370
|
angular: {
|
|
4329
4371
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4371,7 +4413,7 @@ initialFocus="input"
|
|
|
4371
4413
|
summary: "",
|
|
4372
4414
|
description: "",
|
|
4373
4415
|
category: "components",
|
|
4374
|
-
version: "11.
|
|
4416
|
+
version: "11.7.0",
|
|
4375
4417
|
bindings: {
|
|
4376
4418
|
angular: {
|
|
4377
4419
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4505,7 +4547,7 @@ initialFocus="input"
|
|
|
4505
4547
|
summary: "",
|
|
4506
4548
|
description: "",
|
|
4507
4549
|
category: "layout",
|
|
4508
|
-
version: "11.
|
|
4550
|
+
version: "11.7.0",
|
|
4509
4551
|
bindings: {
|
|
4510
4552
|
angular: {
|
|
4511
4553
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4599,7 +4641,10 @@ initialFocus="input"
|
|
|
4599
4641
|
]
|
|
4600
4642
|
},
|
|
4601
4643
|
relatedTokens: [
|
|
4602
|
-
"expand.behavior.motion"
|
|
4644
|
+
"expand.behavior.motion",
|
|
4645
|
+
"expand.behavior.textRole",
|
|
4646
|
+
"expand.behavior.sublabelRole",
|
|
4647
|
+
"expand.behavior.sublabelColor"
|
|
4603
4648
|
]
|
|
4604
4649
|
},
|
|
4605
4650
|
{
|
|
@@ -4609,7 +4654,7 @@ initialFocus="input"
|
|
|
4609
4654
|
summary: "",
|
|
4610
4655
|
description: "",
|
|
4611
4656
|
category: "layout",
|
|
4612
|
-
version: "11.
|
|
4657
|
+
version: "11.7.0",
|
|
4613
4658
|
bindings: {
|
|
4614
4659
|
angular: {
|
|
4615
4660
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4680,7 +4725,7 @@ initialFocus="input"
|
|
|
4680
4725
|
summary: "Trigger for a {@link UniExpandComponent} region.",
|
|
4681
4726
|
description: "Trigger for a {@link UniExpandComponent} region. Two shapes, chosen by whether `label` is set: - **Icon only** (default) \u2014 the bare chevron, sized for a Card Header. - **Labelled** \u2014 chevron plus a label and optional muted sublabel, as a single full-width button. Most real disclosures need a name for the section, and building that row by hand is the thing this saves; it also makes the label the button's accessible name rather than adjacent text.",
|
|
4682
4727
|
category: "layout",
|
|
4683
|
-
version: "11.
|
|
4728
|
+
version: "11.7.0",
|
|
4684
4729
|
bindings: {
|
|
4685
4730
|
angular: {
|
|
4686
4731
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4729,13 +4774,13 @@ initialFocus="input"
|
|
|
4729
4774
|
{
|
|
4730
4775
|
title: "Primary",
|
|
4731
4776
|
framework: "angular",
|
|
4732
|
-
code: '<!-- Storybook story: Primary -->\n<uni-expand-toggle [collapsed]="collapsed" #toggle />\n<div>Collapsed: {{ toggle.collapsed() }}</div>\n<!-- args:\n{\n collapsed: true,\n }\n-->'
|
|
4777
|
+
code: '<!-- Storybook story: Primary -->\n<uni-expand-toggle [collapsed]="collapsed" [label]="label" [sublabel]="sublabel" #toggle />\n<div>Collapsed: {{ toggle.collapsed() }}</div>\n<!-- args:\n{\n collapsed: true,\n }\n-->'
|
|
4733
4778
|
},
|
|
4734
4779
|
{
|
|
4735
4780
|
title: "Labelled",
|
|
4736
4781
|
framework: "angular",
|
|
4737
4782
|
code: `<!-- Storybook story: Labelled -->
|
|
4738
|
-
<uni-expand-toggle [collapsed]="collapsed" #toggle />
|
|
4783
|
+
<uni-expand-toggle [collapsed]="collapsed" [label]="label" [sublabel]="sublabel" #toggle />
|
|
4739
4784
|
<div>Collapsed: {{ toggle.collapsed() }}</div>
|
|
4740
4785
|
<!-- args:
|
|
4741
4786
|
{
|
|
@@ -4765,7 +4810,7 @@ initialFocus="input"
|
|
|
4765
4810
|
summary: "",
|
|
4766
4811
|
description: "",
|
|
4767
4812
|
category: "forms",
|
|
4768
|
-
version: "11.
|
|
4813
|
+
version: "11.7.0",
|
|
4769
4814
|
bindings: {
|
|
4770
4815
|
angular: {
|
|
4771
4816
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4923,7 +4968,7 @@ initialFocus="input"
|
|
|
4923
4968
|
summary: "",
|
|
4924
4969
|
description: "",
|
|
4925
4970
|
category: "layout",
|
|
4926
|
-
version: "11.
|
|
4971
|
+
version: "11.7.0",
|
|
4927
4972
|
bindings: {
|
|
4928
4973
|
angular: {
|
|
4929
4974
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5020,7 +5065,7 @@ initialFocus="input"
|
|
|
5020
5065
|
summary: "",
|
|
5021
5066
|
description: "",
|
|
5022
5067
|
category: "layout",
|
|
5023
|
-
version: "11.
|
|
5068
|
+
version: "11.7.0",
|
|
5024
5069
|
bindings: {
|
|
5025
5070
|
angular: {
|
|
5026
5071
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5052,7 +5097,7 @@ initialFocus="input"
|
|
|
5052
5097
|
summary: "",
|
|
5053
5098
|
description: "",
|
|
5054
5099
|
category: "primitives",
|
|
5055
|
-
version: "11.
|
|
5100
|
+
version: "11.7.0",
|
|
5056
5101
|
bindings: {
|
|
5057
5102
|
angular: {
|
|
5058
5103
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5112,7 +5157,7 @@ initialFocus="input"
|
|
|
5112
5157
|
summary: "",
|
|
5113
5158
|
description: "",
|
|
5114
5159
|
category: "primitives",
|
|
5115
|
-
version: "11.
|
|
5160
|
+
version: "11.7.0",
|
|
5116
5161
|
bindings: {
|
|
5117
5162
|
angular: {
|
|
5118
5163
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5158,15 +5203,25 @@ initialFocus="input"
|
|
|
5158
5203
|
{
|
|
5159
5204
|
name: "disable",
|
|
5160
5205
|
kind: "input",
|
|
5161
|
-
type: "
|
|
5206
|
+
type: "unknown",
|
|
5162
5207
|
required: false,
|
|
5163
|
-
|
|
5208
|
+
default: "false, { transform: booleanAttribute }",
|
|
5209
|
+
description: "A bare `disable` attribute reads as true, as `uni-button`'s does; `undefined` as false."
|
|
5210
|
+
},
|
|
5211
|
+
{
|
|
5212
|
+
name: "disabled",
|
|
5213
|
+
kind: "input",
|
|
5214
|
+
type: "unknown",
|
|
5215
|
+
required: false,
|
|
5216
|
+
default: "false, { transform: booleanAttribute }",
|
|
5217
|
+
description: "The native name, accepted as an alias of `disable` \u2014 see `uni-button`."
|
|
5164
5218
|
},
|
|
5165
5219
|
{
|
|
5166
5220
|
name: "loading",
|
|
5167
5221
|
kind: "input",
|
|
5168
|
-
type: "
|
|
5222
|
+
type: "unknown",
|
|
5169
5223
|
required: false,
|
|
5224
|
+
default: "false, { transform: booleanAttribute }",
|
|
5170
5225
|
description: ""
|
|
5171
5226
|
},
|
|
5172
5227
|
{
|
|
@@ -5215,7 +5270,7 @@ initialFocus="input"
|
|
|
5215
5270
|
summary: "A button that lives inside a sentence.",
|
|
5216
5271
|
description: "A button that lives inside a sentence. Every other button in the library owns a box. Even `ghost` is a flex box with a hit area, horizontal padding and a type scale of its own, so dropping one into a sentence takes it out of the run of text entirely. This one inherits that type \u2014 family, size, weight, line height and colour \u2014 and adds no padding, so a paragraph reads as one continuous run with an action in the middle of it. It is always a real `<button>`: it can *look* like a link (`underline`, `link`) without claiming to be navigation, so Enter and Space activate it and assistive tech announces a button rather than an unfollowable link. A glyph may sit alongside the label without disturbing that: it is sized in `em`, so it scales with the type it lands in rather than pinning a px size into someone else's paragraph. One limit comes from the element itself. Browsers blockify a `<button>` to `inline-block` whatever `display` it asks for, so the control is an atomic inline box: its own label wraps inside it, but the run cannot split across a line break the way the words around it do. `display: contents` would buy that at the cost of the button being focusable at all, which is not a trade worth making \u2014 keep labels to a few words, which is what an inline action wants anyway.",
|
|
5217
5272
|
category: "primitives",
|
|
5218
|
-
version: "11.
|
|
5273
|
+
version: "11.7.0",
|
|
5219
5274
|
bindings: {
|
|
5220
5275
|
angular: {
|
|
5221
5276
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5330,7 +5385,7 @@ initialFocus="input"
|
|
|
5330
5385
|
summary: "",
|
|
5331
5386
|
description: "",
|
|
5332
5387
|
category: "forms",
|
|
5333
|
-
version: "11.
|
|
5388
|
+
version: "11.7.0",
|
|
5334
5389
|
bindings: {
|
|
5335
5390
|
angular: {
|
|
5336
5391
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5535,6 +5590,21 @@ initialFocus="input"
|
|
|
5535
5590
|
required: false,
|
|
5536
5591
|
default: "undefined",
|
|
5537
5592
|
description: ""
|
|
5593
|
+
},
|
|
5594
|
+
{
|
|
5595
|
+
name: "unframed",
|
|
5596
|
+
kind: "input",
|
|
5597
|
+
type: "unknown",
|
|
5598
|
+
required: false,
|
|
5599
|
+
default: "false, { transform: booleanAttribute }",
|
|
5600
|
+
description: "Drop the field chrome and render the bare input \u2014 see `uni-input-box`."
|
|
5601
|
+
},
|
|
5602
|
+
{
|
|
5603
|
+
name: "align",
|
|
5604
|
+
kind: "input",
|
|
5605
|
+
type: "'start' | 'center' | 'end'",
|
|
5606
|
+
required: false,
|
|
5607
|
+
description: "Text alignment, as `uni-number-input`'s. Default: `start`."
|
|
5538
5608
|
}
|
|
5539
5609
|
]
|
|
5540
5610
|
}
|
|
@@ -5615,7 +5685,7 @@ initialFocus="input"
|
|
|
5615
5685
|
summary: "",
|
|
5616
5686
|
description: "",
|
|
5617
5687
|
category: "forms",
|
|
5618
|
-
version: "11.
|
|
5688
|
+
version: "11.7.0",
|
|
5619
5689
|
bindings: {
|
|
5620
5690
|
angular: {
|
|
5621
5691
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5685,6 +5755,14 @@ initialFocus="input"
|
|
|
5685
5755
|
default: "false",
|
|
5686
5756
|
description: "Stop applying the themed leading inset to the inner control, for fields that place it themselves. The inset normally rides the `<input>`, which is right while the text is the field's leading edge. It is wrong the moment an adornment sits in front: a currency prefix would hug the border while the number it belongs to is indented past it. A field with adornments takes the inset over and puts it on whichever element is actually first."
|
|
5687
5757
|
},
|
|
5758
|
+
{
|
|
5759
|
+
name: "unframed",
|
|
5760
|
+
kind: "input",
|
|
5761
|
+
type: "unknown",
|
|
5762
|
+
required: false,
|
|
5763
|
+
default: "false, { transform: booleanAttribute }",
|
|
5764
|
+
description: "Drop the field chrome \u2014 border, fill, radius, shadow, leading inset and the focus treatment \u2014 and render the bare row. For fields drawn as an email client draws them: unframed lines with a hairline between. The surrounding layout draws any focus cue; the error state is still exposed through `aria-invalid` on the control inside. Same meaning as `uni-tag-input`'s."
|
|
5765
|
+
},
|
|
5688
5766
|
{
|
|
5689
5767
|
name: "variant",
|
|
5690
5768
|
kind: "input",
|
|
@@ -5736,7 +5814,7 @@ initialFocus="input"
|
|
|
5736
5814
|
summary: "",
|
|
5737
5815
|
description: "",
|
|
5738
5816
|
category: "components",
|
|
5739
|
-
version: "11.
|
|
5817
|
+
version: "11.7.0",
|
|
5740
5818
|
bindings: {
|
|
5741
5819
|
angular: {
|
|
5742
5820
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5806,7 +5884,7 @@ initialFocus="input"
|
|
|
5806
5884
|
summary: "",
|
|
5807
5885
|
description: "",
|
|
5808
5886
|
category: "layout",
|
|
5809
|
-
version: "11.
|
|
5887
|
+
version: "11.7.0",
|
|
5810
5888
|
bindings: {
|
|
5811
5889
|
angular: {
|
|
5812
5890
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5910,7 +5988,7 @@ initialFocus="input"
|
|
|
5910
5988
|
summary: "",
|
|
5911
5989
|
description: "",
|
|
5912
5990
|
category: "layout",
|
|
5913
|
-
version: "11.
|
|
5991
|
+
version: "11.7.0",
|
|
5914
5992
|
bindings: {
|
|
5915
5993
|
angular: {
|
|
5916
5994
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5992,7 +6070,7 @@ initialFocus="input"
|
|
|
5992
6070
|
summary: "",
|
|
5993
6071
|
description: "",
|
|
5994
6072
|
category: "forms",
|
|
5995
|
-
version: "11.
|
|
6073
|
+
version: "11.7.0",
|
|
5996
6074
|
bindings: {
|
|
5997
6075
|
angular: {
|
|
5998
6076
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -6086,7 +6164,7 @@ initialFocus="input"
|
|
|
6086
6164
|
summary: "",
|
|
6087
6165
|
description: "",
|
|
6088
6166
|
category: "forms",
|
|
6089
|
-
version: "11.
|
|
6167
|
+
version: "11.7.0",
|
|
6090
6168
|
bindings: {
|
|
6091
6169
|
angular: {
|
|
6092
6170
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -6265,7 +6343,7 @@ initialFocus="input"
|
|
|
6265
6343
|
summary: "",
|
|
6266
6344
|
description: "",
|
|
6267
6345
|
category: "feedback",
|
|
6268
|
-
version: "11.
|
|
6346
|
+
version: "11.7.0",
|
|
6269
6347
|
bindings: {
|
|
6270
6348
|
angular: {
|
|
6271
6349
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -6506,7 +6584,7 @@ initialFocus="input"
|
|
|
6506
6584
|
}
|
|
6507
6585
|
],
|
|
6508
6586
|
guidelines: {
|
|
6509
|
-
whenToUse:
|
|
6587
|
+
whenToUse: "Attention indicator anchored to whatever it wraps \u2014 an icon button, a nav item, an\navatar. Three shapes: `dot` (something is new), `count` (how many), and `pill`\n(counts that need room); `maxCount` caps the display (\"99+\"). Position it on any\ncorner of the wrapped content.\nRadius, offset and the count's typeface resolve from the `notificationBadge`\ntheme options, and the disc's size from its `sizes` block through the `size`\ninput (a `sm` badge for a 12px nav label, `lg` for an icon button); the badge\nwears the active `variant` color. The wrapper is inline-flex, so it never moves\nthe element it wraps.",
|
|
6510
6588
|
dos: [],
|
|
6511
6589
|
donts: [
|
|
6512
6590
|
"Convey urgency by color alone \u2014 the count/dot shape carries the signal"
|
|
@@ -6525,7 +6603,7 @@ initialFocus="input"
|
|
|
6525
6603
|
summary: "",
|
|
6526
6604
|
description: "",
|
|
6527
6605
|
category: "feedback",
|
|
6528
|
-
version: "11.
|
|
6606
|
+
version: "11.7.0",
|
|
6529
6607
|
bindings: {
|
|
6530
6608
|
angular: {
|
|
6531
6609
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -6549,7 +6627,7 @@ initialFocus="input"
|
|
|
6549
6627
|
summary: "Numeric field with locale-aware parsing, `Intl` formatting on commit, prefix/suffix adornments and steppers that hold to repeat.",
|
|
6550
6628
|
description: 'Numeric field with locale-aware parsing, `Intl` formatting on commit, prefix/suffix adornments and steppers that hold to repeat. Not `<input type="number">`, and the first reason is a data-loss bug: per the HTML value sanitization algorithm, a number input whose text is not a valid floating-point number reports `value === \'\'`. Type `12,50` as most of Europe does, or paste `1,234.56` from a spreadsheet, and the app reads an empty field. This is `type="text"` with `role="spinbutton"`, which is the only way to keep the user\'s malformed text on screen and tell them about it. Chrome comes from `uni-input-box`, so error, disabled and focus states match every other field. All arithmetic runs on the cdk\'s exact decimal helpers.',
|
|
6551
6629
|
category: "forms",
|
|
6552
|
-
version: "11.
|
|
6630
|
+
version: "11.7.0",
|
|
6553
6631
|
bindings: {
|
|
6554
6632
|
angular: {
|
|
6555
6633
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -6742,6 +6820,14 @@ initialFocus="input"
|
|
|
6742
6820
|
default: "false",
|
|
6743
6821
|
description: "Renders without its own input-box chrome, for composers like uni-slider."
|
|
6744
6822
|
},
|
|
6823
|
+
{
|
|
6824
|
+
name: "unframed",
|
|
6825
|
+
kind: "input",
|
|
6826
|
+
type: "unknown",
|
|
6827
|
+
required: false,
|
|
6828
|
+
default: "false, { transform: booleanAttribute }",
|
|
6829
|
+
description: "Keep the box but drop its chrome \u2014 border, fill, inset, focus treatment \u2014 as `uni-input`'s `unframed` does. Unlike `embedded`, the field still owns its row and its steppers."
|
|
6830
|
+
},
|
|
6745
6831
|
{
|
|
6746
6832
|
name: "min",
|
|
6747
6833
|
kind: "input",
|
|
@@ -6975,7 +7061,7 @@ initialFocus="input"
|
|
|
6975
7061
|
summary: "Two linked numeric fields in one chrome, with one `{ start, end }` value \u2014 price filters, thresholds, tolerances.",
|
|
6976
7062
|
description: "Two linked numeric fields in one chrome, with one `{ start, end }` value \u2014 price filters, thresholds, tolerances. `start`/`end` deliberately match `UniDateRange`, so the library has one range vocabulary, and they avoid colliding with the `min`/`max` **inputs**, which mean the fence rather than the value. It owns its commit path rather than nesting two `uni-number-input`s, because the two behaviours the spec asks for need *different* bounds: a stepper must be fenced at the other end, while a typed commit must reach the parent un-clamped so a backwards range can be swapped instead of destroyed. A child field applies one bound pair to both. The arithmetic, parsing and formatting are still the cdk's, shared with every other numeric control.",
|
|
6977
7063
|
category: "forms",
|
|
6978
|
-
version: "11.
|
|
7064
|
+
version: "11.7.0",
|
|
6979
7065
|
bindings: {
|
|
6980
7066
|
angular: {
|
|
6981
7067
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -7266,7 +7352,7 @@ initialFocus="input"
|
|
|
7266
7352
|
summary: "",
|
|
7267
7353
|
description: "",
|
|
7268
7354
|
category: "data",
|
|
7269
|
-
version: "11.
|
|
7355
|
+
version: "11.7.0",
|
|
7270
7356
|
bindings: {
|
|
7271
7357
|
angular: {
|
|
7272
7358
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -7367,7 +7453,7 @@ initialFocus="input"
|
|
|
7367
7453
|
summary: "Anchored, top-layer panel on the native `popover` element \u2014 the browser owns positioning (CSS anchor positioning), stacking, and, in rich mode, light dismissal.",
|
|
7368
7454
|
description: 'Anchored, top-layer panel on the native `popover` element \u2014 the browser owns positioning (CSS anchor positioning), stacking, and, in rich mode, light dismissal. Two modes share one implementation: - `rich` (default): a click-toggled disclosure. The projected `[trigger]` carries `aria-expanded`/`aria-controls`; with no trigger content the app drives `open` and no element claims controller ARIA. Focus stays on the trigger (APG disclosure) unless the panel marks an `[autofocus]` field, and returns to the trigger on close. - `tooltip`: hover/focus-triggered, `role="tooltip"` + `aria-describedby`, WCAG 1.4.13 dismissable/hoverable/persistent. Content must not contain focusable elements. Anchoring and control are separate: `anchor` re-anchors the panel to any element (or id) while the trigger keeps the disclosure semantics.',
|
|
7369
7455
|
category: "layout",
|
|
7370
|
-
version: "11.
|
|
7456
|
+
version: "11.7.0",
|
|
7371
7457
|
bindings: {
|
|
7372
7458
|
angular: {
|
|
7373
7459
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -7559,7 +7645,7 @@ initialFocus="input"
|
|
|
7559
7645
|
summary: "",
|
|
7560
7646
|
description: "",
|
|
7561
7647
|
category: "feedback",
|
|
7562
|
-
version: "11.
|
|
7648
|
+
version: "11.7.0",
|
|
7563
7649
|
bindings: {
|
|
7564
7650
|
angular: {
|
|
7565
7651
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -7623,7 +7709,7 @@ initialFocus="input"
|
|
|
7623
7709
|
summary: "",
|
|
7624
7710
|
description: "",
|
|
7625
7711
|
category: "feedback",
|
|
7626
|
-
version: "11.
|
|
7712
|
+
version: "11.7.0",
|
|
7627
7713
|
bindings: {
|
|
7628
7714
|
angular: {
|
|
7629
7715
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -7695,7 +7781,7 @@ initialFocus="input"
|
|
|
7695
7781
|
summary: "`\u2212 3 +` for cart lines, table cells and seat counts: the numeric core with no field chrome, no label and no room for either.",
|
|
7696
7782
|
description: '`\u2212 3 +` for cart lines, table cells and seat counts: the numeric core with no field chrome, no label and no room for either. A separate component rather than a `chrome="bare"` flag on `uni-number-input`, because this control is defined by what it does *not* have \u2014 presets, affixes, expressions, four stepper layouts \u2014 and eight inputs are easier to write correctly than forty with a list of which ones to leave alone. The arithmetic, parsing and hold-to-repeat are the cdk\'s, shared with the field, so `1,200` and the keyboard map behave identically in both. The middle stays a real input by default: typing `12` beats tapping `+` eleven times. `editable=false` is for read-mostly tables.',
|
|
7697
7783
|
category: "forms",
|
|
7698
|
-
version: "11.
|
|
7784
|
+
version: "11.7.0",
|
|
7699
7785
|
bindings: {
|
|
7700
7786
|
angular: {
|
|
7701
7787
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -7898,7 +7984,7 @@ initialFocus="input"
|
|
|
7898
7984
|
summary: "",
|
|
7899
7985
|
description: "",
|
|
7900
7986
|
category: "forms",
|
|
7901
|
-
version: "11.
|
|
7987
|
+
version: "11.7.0",
|
|
7902
7988
|
bindings: {
|
|
7903
7989
|
angular: {
|
|
7904
7990
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -8127,7 +8213,7 @@ initialFocus="input"
|
|
|
8127
8213
|
summary: "Content for each of a radio group's options, in place of the plain label string.",
|
|
8128
8214
|
description: 'Content for each of a radio group\'s options, in place of the plain label string. A group renders N labels from an `options` array, so it cannot take `<ng-content />` the way `uni-checkbox` and `uni-toggle` do \u2014 there is no single slot to project into. A template is the shape that survives the repetition: it is instantiated once per option and handed that option, so a row can carry a description, a price or a badge and still be part of the `<label>` that drives the input. ```html <uni-radio [options]="plans"> <ng-template uniRadioOption let-option> <span uni-text="body-2-long">{{ option.label }}</span> </ng-template> </uni-radio> ```',
|
|
8129
8215
|
category: "forms",
|
|
8130
|
-
version: "11.
|
|
8216
|
+
version: "11.7.0",
|
|
8131
8217
|
bindings: {
|
|
8132
8218
|
angular: {
|
|
8133
8219
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -8151,7 +8237,7 @@ initialFocus="input"
|
|
|
8151
8237
|
summary: "",
|
|
8152
8238
|
description: "",
|
|
8153
8239
|
category: "directives",
|
|
8154
|
-
version: "11.
|
|
8240
|
+
version: "11.7.0",
|
|
8155
8241
|
bindings: {
|
|
8156
8242
|
angular: {
|
|
8157
8243
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -8175,7 +8261,7 @@ initialFocus="input"
|
|
|
8175
8261
|
summary: "",
|
|
8176
8262
|
description: "",
|
|
8177
8263
|
category: "layout",
|
|
8178
|
-
version: "11.
|
|
8264
|
+
version: "11.7.0",
|
|
8179
8265
|
bindings: {
|
|
8180
8266
|
angular: {
|
|
8181
8267
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -8230,7 +8316,7 @@ initialFocus="input"
|
|
|
8230
8316
|
summary: "Native scroll area with theme-driven scrollbar styling.",
|
|
8231
8317
|
description: "Native scroll area with theme-driven scrollbar styling. Scrollbars are styled entirely through Emotion-generated CSS: `::-webkit-scrollbar` rules cover Chromium/Safari, with a `scrollbar-width`/`scrollbar-color` fallback for Firefox.",
|
|
8232
8318
|
category: "layout",
|
|
8233
|
-
version: "11.
|
|
8319
|
+
version: "11.7.0",
|
|
8234
8320
|
bindings: {
|
|
8235
8321
|
angular: {
|
|
8236
8322
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -8314,6 +8400,21 @@ initialFocus="input"
|
|
|
8314
8400
|
required: false,
|
|
8315
8401
|
description: ""
|
|
8316
8402
|
},
|
|
8403
|
+
{
|
|
8404
|
+
name: "maxHeight",
|
|
8405
|
+
kind: "input",
|
|
8406
|
+
type: "OptionalValue",
|
|
8407
|
+
required: false,
|
|
8408
|
+
description: "Grow with the content up to this height, then scroll. The shape a dialog body wants: as tall as the form until it would leave the viewport. With `height` unset the area is otherwise content-sized and never scrolls."
|
|
8409
|
+
},
|
|
8410
|
+
{
|
|
8411
|
+
name: "fill",
|
|
8412
|
+
kind: "input",
|
|
8413
|
+
type: "unknown",
|
|
8414
|
+
required: false,
|
|
8415
|
+
default: "false, { transform: booleanAttribute }",
|
|
8416
|
+
description: "Take the room a flex-column parent leaves (`flex: 1 1 auto; min-height: 0`) and scroll within it \u2014 the body of a dialog or drawer without a wrapper."
|
|
8417
|
+
},
|
|
8317
8418
|
{
|
|
8318
8419
|
name: "width",
|
|
8319
8420
|
kind: "input",
|
|
@@ -8360,10 +8461,15 @@ initialFocus="input"
|
|
|
8360
8461
|
title: "Primary",
|
|
8361
8462
|
framework: "angular",
|
|
8362
8463
|
code: '<!-- Storybook story: Primary -->\n<div scroll-area ${argsToTemplate(props)} #scrollArea>\n <button size="sm" text-button variant="ghost" symbolLeft="arrow_downward" (click)="scrollArea.scrollToBottom()">Scroll to bottom</button>\n ${ngContent}\n <button size="sm" text-button variant="ghost" symbolLeft="arrow_upward" (click)="scrollArea.scrollToTop()">Back to top</button>\n</div>\n<!-- args:\n{\n border: \'quaternary\',\n containerColor: \'tertiary-surface\',\n height: 200,\n ngContent: `\n <span uni-text="headline-medium">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</span>\n <span uni-text="body-1-long">\n <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quis facere debitis ullam, quae quidem, impedit\n culpa nam\n repellat in voluptatibus esse ab harum, hic? Aliquam nesciunt voluptates repellendus assumenda labore.\n </p>\n <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Porro quos voluptate doloribus. Optio unde\n inventore, tempore\n nemo repellat expedita! Quod, accusamus nobis iure. Aliquam quibusdam, nemo explicabo ipsum provident\n asperiores.</p>\n <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quaerat, qui, rem! Debitis cum maiores iste,\n possimus!\n Obcaecati accusamus eaque expedita quo soluta quis, repudiandae similique, veritatis repellendus facere\n suscipit!\n Et!</p>\n <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Harum doloremque repellat praesentium quae et\n consectetur\n iure quos porro, provident voluptates reprehenderit a. Accusamus ut, quaerat asperiores blanditiis\n voluptate, sint\n facilis.</p>\n <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusamus beatae inventore nobis esse\n temporibus\n exercitationem\n eos illo minima non magnam, provident sit doloribus maiores odio in animi quidem unde. Perferendis.</p>\n\n </span>\n\n\n `,\n }\n-->'
|
|
8464
|
+
},
|
|
8465
|
+
{
|
|
8466
|
+
title: "Max Height",
|
|
8467
|
+
framework: "angular",
|
|
8468
|
+
code: '<!-- Storybook story: Max Height -->\n<div scroll-area ${argsToTemplate(props)} #scrollArea>\n <button size="sm" text-button variant="ghost" symbolLeft="arrow_downward" (click)="scrollArea.scrollToBottom()">Scroll to bottom</button>\n ${ngContent}\n <button size="sm" text-button variant="ghost" symbolLeft="arrow_upward" (click)="scrollArea.scrollToTop()">Back to top</button>\n</div>\n<!-- args:\n{ ...Primary.args, height: undefined, maxHeight: 160 }\n-->'
|
|
8363
8469
|
}
|
|
8364
8470
|
],
|
|
8365
8471
|
guidelines: {
|
|
8366
|
-
whenToUse: "A scroll container with themed, consistent scrollbars across browsers \u2014 thin\nEmotion-styled WebKit scrollbars with a `scrollbar-width`/`scrollbar-color`\nfallback. It detects scrollable state via ResizeObserver (the `scrollable` output)\nand offers `scrollToTop`/`scrollToBottom` for programmatic control.",
|
|
8472
|
+
whenToUse: "A scroll container with themed, consistent scrollbars across browsers \u2014 thin\nEmotion-styled WebKit scrollbars with a `scrollbar-width`/`scrollbar-color`\nfallback. It detects scrollable state via ResizeObserver (the `scrollable` output)\nand offers `scrollToTop`/`scrollToBottom` for programmatic control.\nThree ways to size it: `height` fixes it; `maxHeight` lets it grow with its\ncontent up to a cap, then scroll; `fill` takes the room a flex-column parent\nleaves and scrolls within it \u2014 the body of a dialog without a wrapper. With none\nof them the area is content-sized and never scrolls.",
|
|
8367
8473
|
dos: [],
|
|
8368
8474
|
donts: [],
|
|
8369
8475
|
accessibility: []
|
|
@@ -8377,7 +8483,7 @@ initialFocus="input"
|
|
|
8377
8483
|
summary: "Generic search field: shared input chrome with a leading magnifier, a clear button while there's a query, Enter to submit, and optional type-ahead \u2014 pass `suggestions` (refresh them from `change`) and the field becomes an ARIA combobox with a keyboard-navigable listbox.",
|
|
8378
8484
|
description: "Generic search field: shared input chrome with a leading magnifier, a clear button while there's a query, Enter to submit, and optional type-ahead \u2014 pass `suggestions` (refresh them from `change`) and the field becomes an ARIA combobox with a keyboard-navigable listbox. Escape closes the list first, then clears the query.",
|
|
8379
8485
|
category: "forms",
|
|
8380
|
-
version: "11.
|
|
8486
|
+
version: "11.7.0",
|
|
8381
8487
|
bindings: {
|
|
8382
8488
|
angular: {
|
|
8383
8489
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -8512,7 +8618,7 @@ initialFocus="input"
|
|
|
8512
8618
|
summary: "",
|
|
8513
8619
|
description: "",
|
|
8514
8620
|
category: "forms",
|
|
8515
|
-
version: "11.
|
|
8621
|
+
version: "11.7.0",
|
|
8516
8622
|
bindings: {
|
|
8517
8623
|
angular: {
|
|
8518
8624
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -8660,9 +8766,11 @@ initialFocus="input"
|
|
|
8660
8766
|
}
|
|
8661
8767
|
],
|
|
8662
8768
|
guidelines: {
|
|
8663
|
-
whenToUse: "Single choice from a list, on a native `<select>` \u2014 platform pickers on mobile,\nplatform keyboard behavior everywhere. Options are typed generically\n(`options: T[]` with `optionLabel`/`optionValue` accessors), and the component\nimplements `FormValueControl` for the Signal Forms `[formField]` directive. Errors\nstyle the field only after interaction, matching Input.\nFor choosing several, use Multi Select. When the list outgrows ~10 options, or\nusers know what they're looking for and want to type it, use Combobox \u2014 the\nvalue contract is identical (`T | null`, `compareWith`), so the swap is a\ntemplate-only change.",
|
|
8769
|
+
whenToUse: "Single choice from a list, on a native `<select>` \u2014 platform pickers on mobile,\nplatform keyboard behavior everywhere. Options are typed generically\n(`options: T[]` with `optionLabel`/`optionValue` accessors), and the component\nimplements `FormValueControl` for the Signal Forms `[formField]` directive. Errors\nstyle the field only after interaction, matching Input.\nThe value contract is `T | null`: `null` is \"nothing selected\". A value that no\noption stands for \u2014 `''`, a stale id \u2014 renders as empty too, never as the first\noption, and is reported with a dev-mode warning once the options have loaded.\nFor choosing several, use Multi Select. When the list outgrows ~10 options, or\nusers know what they're looking for and want to type it, use Combobox \u2014 the\nvalue contract is identical (`T | null`, `compareWith`), so the swap is a\ntemplate-only change.",
|
|
8664
8770
|
dos: [],
|
|
8665
|
-
donts: [
|
|
8771
|
+
donts: [
|
|
8772
|
+
"Bind `''` to mean \"nothing selected\" \u2014 the contract is `null`. The field shows"
|
|
8773
|
+
],
|
|
8666
8774
|
accessibility: [
|
|
8667
8775
|
"Native `<select>`: platform keyboard interaction and mobile pickers for free.",
|
|
8668
8776
|
"`label` becomes the accessible name; `aria-invalid` reflects the touched error state.",
|
|
@@ -8682,7 +8790,7 @@ initialFocus="input"
|
|
|
8682
8790
|
summary: "Loading placeholder painted with surface tokens.",
|
|
8683
8791
|
description: "Loading placeholder painted with surface tokens. `text` renders one or more lines (the last line shortened, as real text would be), `rect` and `circle` render fixed shapes. The shimmer only animates when the user allows motion; it degrades to static blocks under `prefers-reduced-motion`. Color and radius are theme options with per-instance overrides, because one app routinely needs several: skeletons on a card and on the page background want different tints, and a pill placeholder wants a different corner than the text bars beside it.",
|
|
8684
8792
|
category: "components",
|
|
8685
|
-
version: "11.
|
|
8793
|
+
version: "11.7.0",
|
|
8686
8794
|
bindings: {
|
|
8687
8795
|
angular: {
|
|
8688
8796
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -8833,7 +8941,7 @@ initialFocus="input"
|
|
|
8833
8941
|
summary: "Bounded numeric input by pointer, for values where the *position* is the information: volume, opacity, weightings, price filters.",
|
|
8834
8942
|
description: "Bounded numeric input by pointer, for values where the *position* is the information: volume, opacity, weightings, price filters. Custom thumbs rather than `<input type=\"range\">`, which the previous version used: one native range input cannot carry two thumbs, marks or a tooltip, and a second component for the range case would mean two keyboard maps to keep in step. The step model and the keyboard map are the cdk's, shared with the numeric fields, so nothing new is learned moving between them. All arithmetic on values runs through the cdk's exact decimal helpers \u2014 stepping `0.1` never yields `0.30000000000000004`. Only pointer *positions* use floats, and they are snapped to the grid before becoming a value.",
|
|
8835
8943
|
category: "forms",
|
|
8836
|
-
version: "11.
|
|
8944
|
+
version: "11.7.0",
|
|
8837
8945
|
bindings: {
|
|
8838
8946
|
angular: {
|
|
8839
8947
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -9110,7 +9218,7 @@ initialFocus="input"
|
|
|
9110
9218
|
summary: "",
|
|
9111
9219
|
description: "",
|
|
9112
9220
|
category: "feedback",
|
|
9113
|
-
version: "11.
|
|
9221
|
+
version: "11.7.0",
|
|
9114
9222
|
bindings: {
|
|
9115
9223
|
angular: {
|
|
9116
9224
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -9222,7 +9330,7 @@ initialFocus="input"
|
|
|
9222
9330
|
summary: "",
|
|
9223
9331
|
description: "",
|
|
9224
9332
|
category: "data",
|
|
9225
|
-
version: "11.
|
|
9333
|
+
version: "11.7.0",
|
|
9226
9334
|
bindings: {
|
|
9227
9335
|
angular: {
|
|
9228
9336
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -9241,6 +9349,21 @@ initialFocus="input"
|
|
|
9241
9349
|
type: "UniDatasource<T>",
|
|
9242
9350
|
required: false,
|
|
9243
9351
|
description: ""
|
|
9352
|
+
},
|
|
9353
|
+
{
|
|
9354
|
+
name: "iconName",
|
|
9355
|
+
kind: "input",
|
|
9356
|
+
type: "IconName",
|
|
9357
|
+
required: false,
|
|
9358
|
+
default: "'arrowUp'",
|
|
9359
|
+
description: "The glyph shown while sorted. One icon serves both directions \u2014 it is drawn as given for descending and rotated half a turn for ascending \u2014 so pick an arrow or chevron that reads either way up."
|
|
9360
|
+
},
|
|
9361
|
+
{
|
|
9362
|
+
name: "align",
|
|
9363
|
+
kind: "input",
|
|
9364
|
+
type: "'left' | 'right' | 'center'",
|
|
9365
|
+
required: false,
|
|
9366
|
+
description: "The column's text alignment. The arrow hangs outside the label so the label stays flush with the cells under it; in a right-aligned column it moves to the leading side, where it cannot push past the table's edge."
|
|
9244
9367
|
}
|
|
9245
9368
|
]
|
|
9246
9369
|
}
|
|
@@ -9281,7 +9404,7 @@ initialFocus="input"
|
|
|
9281
9404
|
summary: "",
|
|
9282
9405
|
description: "",
|
|
9283
9406
|
category: "layout",
|
|
9284
|
-
version: "11.
|
|
9407
|
+
version: "11.7.0",
|
|
9285
9408
|
bindings: {
|
|
9286
9409
|
angular: {
|
|
9287
9410
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -9336,7 +9459,7 @@ initialFocus="input"
|
|
|
9336
9459
|
summary: 'KPI stat tile: muted label, large value (numbers auto-compact: 48234 \u2192 "48.2K"), an optional delta whose ink is decided by *direction \xD7 whether up is good* (never direction alone \u2014 churn going down is good news), and an optional decorative sparkline.',
|
|
9337
9460
|
description: 'KPI stat tile: muted label, large value (numbers auto-compact: 48234 \u2192 "48.2K"), an optional delta whose ink is decided by *direction \xD7 whether up is good* (never direction alone \u2014 churn going down is good news), and an optional decorative sparkline. Frame, typography and inks are all `stat` theme tokens.',
|
|
9338
9461
|
category: "components",
|
|
9339
|
-
version: "11.
|
|
9462
|
+
version: "11.7.0",
|
|
9340
9463
|
bindings: {
|
|
9341
9464
|
angular: {
|
|
9342
9465
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -9454,7 +9577,7 @@ initialFocus="input"
|
|
|
9454
9577
|
summary: "",
|
|
9455
9578
|
description: "",
|
|
9456
9579
|
category: "primitives",
|
|
9457
|
-
version: "11.
|
|
9580
|
+
version: "11.7.0",
|
|
9458
9581
|
bindings: {
|
|
9459
9582
|
angular: {
|
|
9460
9583
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -9543,7 +9666,7 @@ initialFocus="input"
|
|
|
9543
9666
|
summary: "One tab inside `uni-tabs`: a label for the tablist plus projected panel content.",
|
|
9544
9667
|
description: "One tab inside `uni-tabs`: a label for the tablist plus projected panel content. Content is captured in a template and only instantiated while the tab is selected, so inactive panels cost nothing.",
|
|
9545
9668
|
category: "components",
|
|
9546
|
-
version: "11.
|
|
9669
|
+
version: "11.7.0",
|
|
9547
9670
|
bindings: {
|
|
9548
9671
|
angular: {
|
|
9549
9672
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -9583,7 +9706,7 @@ initialFocus="input"
|
|
|
9583
9706
|
summary: "WAI-ARIA tabs: roving tabindex, automatic activation (arrow keys move focus and select), Home/End, disabled tabs skipped.",
|
|
9584
9707
|
description: "WAI-ARIA tabs: roving tabindex, automatic activation (arrow keys move focus and select), Home/End, disabled tabs skipped. Only the selected panel is instantiated. All styling resolves from `tabs` theme option tokens. A tab switch is softened by the `panelMotion` option: the incoming content fades in while the panel animates from the outgoing content's height to its own. The new content is live from the first frame \u2014 nothing waits on the animation.",
|
|
9585
9708
|
category: "components",
|
|
9586
|
-
version: "11.
|
|
9709
|
+
version: "11.7.0",
|
|
9587
9710
|
bindings: {
|
|
9588
9711
|
angular: {
|
|
9589
9712
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -9671,7 +9794,7 @@ initialFocus="input"
|
|
|
9671
9794
|
summary: "Compact chip for categories, states, filters and tokens.",
|
|
9672
9795
|
description: "Compact chip for categories, states, filters and tokens. Two orthogonal style axes: `variant` picks the colour role and `tone` picks the archetype (soft / solid / outline). Both live in the theme's `tag` entry, so a theme restyles every chip in the app without touching markup. Two state classes ride alongside the tone class for the same reason: `tag-selected` and `tag-interactive` let the theme paint selection and hover beside the colours they belong to, instead of an app swapping `tone` by hand on every chip. Structurally a chip is **body + trailing action as siblings**, never nested buttons: an interactive chip whose body is a `<button>` cannot contain the remove `<button>` (invalid HTML, and the inner control becomes unreachable for keyboard users). Both stay independently operable.",
|
|
9673
9796
|
category: "data",
|
|
9674
|
-
version: "11.
|
|
9797
|
+
version: "11.7.0",
|
|
9675
9798
|
bindings: {
|
|
9676
9799
|
angular: {
|
|
9677
9800
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -10049,7 +10172,7 @@ initialFocus="input"
|
|
|
10049
10172
|
summary: "A row of chips the user picks from: filters, facets, a set of labels.",
|
|
10050
10173
|
description: "A row of chips the user picks from: filters, facets, a set of labels. The group **renders its own chips** from `items` rather than projecting them. That is what lets it own the things an app was otherwise wiring per chip \u2014 which one is selected, which one holds the tab stop \u2014 since a parent cannot write a projected child's inputs. `uni-tag` is unchanged by this component; `controlTabIndex` was already its hook for a composite that manages focus. Keyboard model is the toolbar pattern: one tab stop for the whole group, and the arrow keys move within it. Twelve filter chips should cost one Tab to pass, not twelve.",
|
|
10051
10174
|
category: "data",
|
|
10052
|
-
version: "11.
|
|
10175
|
+
version: "11.7.0",
|
|
10053
10176
|
bindings: {
|
|
10054
10177
|
angular: {
|
|
10055
10178
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -10247,7 +10370,7 @@ initialFocus="input"
|
|
|
10247
10370
|
summary: "",
|
|
10248
10371
|
description: "",
|
|
10249
10372
|
category: "forms",
|
|
10250
|
-
version: "11.
|
|
10373
|
+
version: "11.7.0",
|
|
10251
10374
|
bindings: {
|
|
10252
10375
|
angular: {
|
|
10253
10376
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -10698,7 +10821,7 @@ placeholder="Name or address\u2026"
|
|
|
10698
10821
|
summary: "The typography primitive, applied as an attribute to any element so semantics stay yours.",
|
|
10699
10822
|
description: 'The typography primitive, applied as an attribute to any element so semantics stay yours. The attribute value is the typeface: `<h1 uni-text="display-small">`, `<span uni-text="caption">`, dynamic via `[uni-text]="role()"`. With no value, the typeface is inferred from the host element (h1 \u2192 headline-large, p \u2192 body-1-long, \u2026), falling back to `title-small`; the `typeface` input remains as an explicit override. It is a directive, so it stacks with anything else on the element \u2014 a layout attribute (`<div stack-layout uni-text="title-small">`) or a component\'s own host \u2014 rather than colliding with it.',
|
|
10700
10823
|
category: "primitives",
|
|
10701
|
-
version: "11.
|
|
10824
|
+
version: "11.7.0",
|
|
10702
10825
|
bindings: {
|
|
10703
10826
|
angular: {
|
|
10704
10827
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -10808,7 +10931,7 @@ placeholder="Name or address\u2026"
|
|
|
10808
10931
|
summary: "",
|
|
10809
10932
|
description: "",
|
|
10810
10933
|
category: "forms",
|
|
10811
|
-
version: "11.
|
|
10934
|
+
version: "11.7.0",
|
|
10812
10935
|
bindings: {
|
|
10813
10936
|
angular: {
|
|
10814
10937
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -10968,6 +11091,14 @@ placeholder="Name or address\u2026"
|
|
|
10968
11091
|
required: false,
|
|
10969
11092
|
default: "undefined",
|
|
10970
11093
|
description: ""
|
|
11094
|
+
},
|
|
11095
|
+
{
|
|
11096
|
+
name: "unframed",
|
|
11097
|
+
kind: "input",
|
|
11098
|
+
type: "unknown",
|
|
11099
|
+
required: false,
|
|
11100
|
+
default: "false, { transform: booleanAttribute }",
|
|
11101
|
+
description: "Drop the field chrome and render the bare textarea \u2014 see `uni-input-box`."
|
|
10971
11102
|
}
|
|
10972
11103
|
]
|
|
10973
11104
|
}
|
|
@@ -11015,7 +11146,7 @@ placeholder="Name or address\u2026"
|
|
|
11015
11146
|
summary: "",
|
|
11016
11147
|
description: "",
|
|
11017
11148
|
category: "primitives",
|
|
11018
|
-
version: "11.
|
|
11149
|
+
version: "11.7.0",
|
|
11019
11150
|
bindings: {
|
|
11020
11151
|
angular: {
|
|
11021
11152
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -11045,7 +11176,7 @@ placeholder="Name or address\u2026"
|
|
|
11045
11176
|
summary: "Drop-in switcher for the themes registered via `UNI_THEMES`: a select over `ThemeService.themeOptions` that applies the choice through `selectTheme` (so it persists across reloads like any other theme selection).",
|
|
11046
11177
|
description: "Drop-in switcher for the themes registered via `UNI_THEMES`: a select over `ThemeService.themeOptions` that applies the choice through `selectTheme` (so it persists across reloads like any other theme selection).",
|
|
11047
11178
|
category: "components",
|
|
11048
|
-
version: "11.
|
|
11179
|
+
version: "11.7.0",
|
|
11049
11180
|
bindings: {
|
|
11050
11181
|
angular: {
|
|
11051
11182
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -11103,7 +11234,7 @@ placeholder="Name or address\u2026"
|
|
|
11103
11234
|
summary: "Time field: a combobox over time options \u2014 the same listbox contract as uni-search-input and uni-tag-input.",
|
|
11104
11235
|
description: "Time field: a combobox over time options \u2014 the same listbox contract as uni-search-input and uni-tag-input. Type `3p`, `930` or `15:00`, or pick `3:00 PM` from the list; the form always gets 24-hour `'HH:mm'` (`hour12` affects display only). The list is assistive, not exhaustive: any parseable time commits, unless `slots` pins the choices (a slot picker) \u2014 then a typed time must match one. Unreadable or unavailable text stays in the field, flagged, with a `rejected` event.",
|
|
11105
11236
|
category: "forms",
|
|
11106
|
-
version: "11.
|
|
11237
|
+
version: "11.7.0",
|
|
11107
11238
|
bindings: {
|
|
11108
11239
|
angular: {
|
|
11109
11240
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -11318,7 +11449,7 @@ placeholder="Name or address\u2026"
|
|
|
11318
11449
|
summary: "",
|
|
11319
11450
|
description: "",
|
|
11320
11451
|
category: "forms",
|
|
11321
|
-
version: "11.
|
|
11452
|
+
version: "11.7.0",
|
|
11322
11453
|
bindings: {
|
|
11323
11454
|
angular: {
|
|
11324
11455
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -11580,7 +11711,7 @@ placeholder="Name or address\u2026"
|
|
|
11580
11711
|
summary: "",
|
|
11581
11712
|
description: "",
|
|
11582
11713
|
category: "feedback",
|
|
11583
|
-
version: "11.
|
|
11714
|
+
version: "11.7.0",
|
|
11584
11715
|
bindings: {
|
|
11585
11716
|
angular: {
|
|
11586
11717
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -11668,7 +11799,7 @@ placeholder="Name or address\u2026"
|
|
|
11668
11799
|
summary: 'A thin sequencer over one `uni-callout`: steps spotlight their targets, a footer walks Next/Back with dots-or-fraction progress, and `advanceOn` gates a step behind an interaction with its target (auto-advancing for clicks, unlocking Next otherwise \u2014 announced through one `role="status"` region).',
|
|
11669
11800
|
description: 'A thin sequencer over one `uni-callout`: steps spotlight their targets, a footer walks Next/Back with dots-or-fraction progress, and `advanceOn` gates a step behind an interaction with its target (auto-advancing for clicks, unlocking Next otherwise \u2014 announced through one `role="status"` region). Escape or the close button skips the tour and reports the step. `active` is a two-way model, so a tour is deep-linkable and inspectable; steps whose declared target cannot be resolved are skipped (with a dev warning) in the direction of travel rather than erroring.',
|
|
11670
11801
|
category: "components",
|
|
11671
|
-
version: "11.
|
|
11802
|
+
version: "11.7.0",
|
|
11672
11803
|
bindings: {
|
|
11673
11804
|
angular: {
|
|
11674
11805
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -11689,6 +11820,13 @@ placeholder="Name or address\u2026"
|
|
|
11689
11820
|
default: "null",
|
|
11690
11821
|
description: "The presented step index, or null when the tour is not running."
|
|
11691
11822
|
},
|
|
11823
|
+
{
|
|
11824
|
+
name: "progressStyle",
|
|
11825
|
+
kind: "input",
|
|
11826
|
+
type: "'dots' | 'fraction' | 'none'",
|
|
11827
|
+
required: false,
|
|
11828
|
+
description: "Per-instance override of the `progressStyle` theme option, so a one-off pointer can differ from the app's tours without a second theme entry. A one-step tour renders no progress whatever this says \u2014 one dot beside Done counts nothing."
|
|
11829
|
+
},
|
|
11692
11830
|
{
|
|
11693
11831
|
name: "nextLabel",
|
|
11694
11832
|
kind: "input",
|
|
@@ -11726,14 +11864,14 @@ placeholder="Name or address\u2026"
|
|
|
11726
11864
|
kind: "output",
|
|
11727
11865
|
type: "void",
|
|
11728
11866
|
required: false,
|
|
11729
|
-
description: ""
|
|
11867
|
+
description: "The first step of a run was presented \u2014 from `start()` or from a write to `active`."
|
|
11730
11868
|
},
|
|
11731
11869
|
{
|
|
11732
11870
|
name: "finished",
|
|
11733
11871
|
kind: "output",
|
|
11734
11872
|
type: "void",
|
|
11735
11873
|
required: false,
|
|
11736
|
-
description: ""
|
|
11874
|
+
description: "The run walked past its last step. Never emitted for a run in which no step was presented (empty `steps`, every target missing): a tour that never opened did not finish."
|
|
11737
11875
|
},
|
|
11738
11876
|
{
|
|
11739
11877
|
name: "variant",
|
|
@@ -11767,10 +11905,10 @@ placeholder="Name or address\u2026"
|
|
|
11767
11905
|
}
|
|
11768
11906
|
],
|
|
11769
11907
|
guidelines: {
|
|
11770
|
-
whenToUse: 'Tour sequences one `uni-callout` through a list of steps: spotlight targets,\ndim interludes, and interaction gates. A step with `advanceOn` locks Next\nuntil the user performs the gesture on its target \u2014 clicks auto-advance\n(the gesture is complete), anything else unlocks Next and announces it\nthrough one polite `role="status"` region, so nobody is yanked forward\nmid-typing. Steps whose declared target cannot be found are skipped in the\ndirection of travel with a dev warning, never an error. `active` is a\ntwo-way model, so tours are deep-linkable; Escape or the close button skips\nand reports the step through `skipped
|
|
11908
|
+
whenToUse: 'Tour sequences one `uni-callout` through a list of steps: spotlight targets,\ndim interludes, and interaction gates. A step with `advanceOn` locks Next\nuntil the user performs the gesture on its target \u2014 clicks auto-advance\n(the gesture is complete), anything else unlocks Next and announces it\nthrough one polite `role="status"` region, so nobody is yanked forward\nmid-typing. Steps whose declared target cannot be found are skipped in the\ndirection of travel with a dev warning, never an error. `active` is a\ntwo-way model, so tours are deep-linkable; Escape or the close button skips\nand reports the step through `skipped`.\n`started` fires when the first step of a run is presented \u2014 through `start()`\nor a write to `active` \u2014 and `finished` only for a run that presented at least\none step. A `start()` issued before `steps` are bound waits for them, so a host\nthat loads steps from a service and starts in the same turn still opens on the\nfirst one. A step without a `body` renders its title alone, and a one-step tour\ndraws no progress.',
|
|
11771
11909
|
dos: [
|
|
11772
11910
|
"Keep tours short and gate only steps whose gesture teaches something",
|
|
11773
|
-
"Handle `skipped`/`finished` and persist them \u2014 the tour holds no storage"
|
|
11911
|
+
"Handle `skipped`/`finished` and persist them \u2014 the tour holds no storage;"
|
|
11774
11912
|
],
|
|
11775
11913
|
donts: [
|
|
11776
11914
|
"Point steps at elements that may not exist without accepting the skip",
|
|
@@ -11795,7 +11933,7 @@ placeholder="Name or address\u2026"
|
|
|
11795
11933
|
summary: "",
|
|
11796
11934
|
description: "",
|
|
11797
11935
|
category: "layout",
|
|
11798
|
-
version: "11.
|
|
11936
|
+
version: "11.7.0",
|
|
11799
11937
|
bindings: {
|
|
11800
11938
|
angular: {
|
|
11801
11939
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -14217,6 +14355,18 @@ placeholder="Name or address\u2026"
|
|
|
14217
14355
|
DarkTheme: "lg"
|
|
14218
14356
|
}
|
|
14219
14357
|
},
|
|
14358
|
+
{
|
|
14359
|
+
id: "dialog.behavior.overscroll",
|
|
14360
|
+
value: "contain",
|
|
14361
|
+
type: "string",
|
|
14362
|
+
kind: "behavioral",
|
|
14363
|
+
target: "component-prop",
|
|
14364
|
+
appliesTo: "dialog",
|
|
14365
|
+
themeValues: {
|
|
14366
|
+
LightTheme: "contain",
|
|
14367
|
+
DarkTheme: "contain"
|
|
14368
|
+
}
|
|
14369
|
+
},
|
|
14220
14370
|
{
|
|
14221
14371
|
id: "dialog.behavior.elevation",
|
|
14222
14372
|
value: "dialog",
|
|
@@ -14973,6 +15123,42 @@ placeholder="Name or address\u2026"
|
|
|
14973
15123
|
DarkTheme: "reveal"
|
|
14974
15124
|
}
|
|
14975
15125
|
},
|
|
15126
|
+
{
|
|
15127
|
+
id: "expand.behavior.textRole",
|
|
15128
|
+
value: "label",
|
|
15129
|
+
type: "string",
|
|
15130
|
+
kind: "behavioral",
|
|
15131
|
+
target: "component-prop",
|
|
15132
|
+
appliesTo: "expand",
|
|
15133
|
+
themeValues: {
|
|
15134
|
+
LightTheme: "label",
|
|
15135
|
+
DarkTheme: "label"
|
|
15136
|
+
}
|
|
15137
|
+
},
|
|
15138
|
+
{
|
|
15139
|
+
id: "expand.behavior.sublabelRole",
|
|
15140
|
+
value: "caption",
|
|
15141
|
+
type: "string",
|
|
15142
|
+
kind: "behavioral",
|
|
15143
|
+
target: "component-prop",
|
|
15144
|
+
appliesTo: "expand",
|
|
15145
|
+
themeValues: {
|
|
15146
|
+
LightTheme: "caption",
|
|
15147
|
+
DarkTheme: "caption"
|
|
15148
|
+
}
|
|
15149
|
+
},
|
|
15150
|
+
{
|
|
15151
|
+
id: "expand.behavior.sublabelColor",
|
|
15152
|
+
value: "on-background-variant",
|
|
15153
|
+
type: "string",
|
|
15154
|
+
kind: "behavioral",
|
|
15155
|
+
target: "component-prop",
|
|
15156
|
+
appliesTo: "expand",
|
|
15157
|
+
themeValues: {
|
|
15158
|
+
LightTheme: "on-background-variant",
|
|
15159
|
+
DarkTheme: "on-background-variant"
|
|
15160
|
+
}
|
|
15161
|
+
},
|
|
14976
15162
|
{
|
|
14977
15163
|
id: "input.behavior.typeface",
|
|
14978
15164
|
value: "input",
|
|
@@ -16005,6 +16191,18 @@ placeholder="Name or address\u2026"
|
|
|
16005
16191
|
DarkTheme: "sm"
|
|
16006
16192
|
}
|
|
16007
16193
|
},
|
|
16194
|
+
{
|
|
16195
|
+
id: "contactInput.behavior.chipAvatar",
|
|
16196
|
+
value: true,
|
|
16197
|
+
type: "boolean",
|
|
16198
|
+
kind: "behavioral",
|
|
16199
|
+
target: "component-prop",
|
|
16200
|
+
appliesTo: "contactInput",
|
|
16201
|
+
themeValues: {
|
|
16202
|
+
LightTheme: true,
|
|
16203
|
+
DarkTheme: true
|
|
16204
|
+
}
|
|
16205
|
+
},
|
|
16008
16206
|
{
|
|
16009
16207
|
id: "calendar.behavior.dayBorderRadius",
|
|
16010
16208
|
value: "max",
|
|
@@ -16665,6 +16863,18 @@ placeholder="Name or address\u2026"
|
|
|
16665
16863
|
DarkTheme: "sm"
|
|
16666
16864
|
}
|
|
16667
16865
|
},
|
|
16866
|
+
{
|
|
16867
|
+
id: "dataTable.behavior.sortIcon",
|
|
16868
|
+
value: "arrowUp",
|
|
16869
|
+
type: "string",
|
|
16870
|
+
kind: "behavioral",
|
|
16871
|
+
target: "component-prop",
|
|
16872
|
+
appliesTo: "dataTable",
|
|
16873
|
+
themeValues: {
|
|
16874
|
+
LightTheme: "arrowUp",
|
|
16875
|
+
DarkTheme: "arrowUp"
|
|
16876
|
+
}
|
|
16877
|
+
},
|
|
16668
16878
|
{
|
|
16669
16879
|
id: "dataTable.behavior.tdTextRole",
|
|
16670
16880
|
value: "title-small",
|
|
@@ -16809,6 +17019,18 @@ placeholder="Name or address\u2026"
|
|
|
16809
17019
|
DarkTheme: -10
|
|
16810
17020
|
}
|
|
16811
17021
|
},
|
|
17022
|
+
{
|
|
17023
|
+
id: "notificationBadge.behavior.typeface",
|
|
17024
|
+
value: "overline",
|
|
17025
|
+
type: "string",
|
|
17026
|
+
kind: "behavioral",
|
|
17027
|
+
target: "component-prop",
|
|
17028
|
+
appliesTo: "notificationBadge",
|
|
17029
|
+
themeValues: {
|
|
17030
|
+
LightTheme: "overline",
|
|
17031
|
+
DarkTheme: "overline"
|
|
17032
|
+
}
|
|
17033
|
+
},
|
|
16812
17034
|
{
|
|
16813
17035
|
id: "paginator.behavior.gap",
|
|
16814
17036
|
value: "xs",
|
|
@@ -17987,6 +18209,7 @@ placeholder="Name or address\u2026"
|
|
|
17987
18209
|
border: "quaternary",
|
|
17988
18210
|
padding: "sm",
|
|
17989
18211
|
inset: "lg",
|
|
18212
|
+
overscroll: "contain",
|
|
17990
18213
|
elevation: "dialog",
|
|
17991
18214
|
backdrop: "scrim",
|
|
17992
18215
|
motion: "panel"
|
|
@@ -18069,7 +18292,10 @@ placeholder="Name or address\u2026"
|
|
|
18069
18292
|
motion: "panel"
|
|
18070
18293
|
},
|
|
18071
18294
|
expand: {
|
|
18072
|
-
motion: "reveal"
|
|
18295
|
+
motion: "reveal",
|
|
18296
|
+
textRole: "label",
|
|
18297
|
+
sublabelRole: "caption",
|
|
18298
|
+
sublabelColor: "on-background-variant"
|
|
18073
18299
|
},
|
|
18074
18300
|
input: {
|
|
18075
18301
|
typeface: "input",
|
|
@@ -18179,7 +18405,8 @@ placeholder="Name or address\u2026"
|
|
|
18179
18405
|
avatarVariant: "primary",
|
|
18180
18406
|
nameTypeface: "body-2-short",
|
|
18181
18407
|
detailTypeface: "caption",
|
|
18182
|
-
rowGap: "sm"
|
|
18408
|
+
rowGap: "sm",
|
|
18409
|
+
chipAvatar: true
|
|
18183
18410
|
},
|
|
18184
18411
|
calendar: {
|
|
18185
18412
|
dayBorderRadius: "max",
|
|
@@ -18257,6 +18484,7 @@ placeholder="Name or address\u2026"
|
|
|
18257
18484
|
thVerticalBorder: "dotted",
|
|
18258
18485
|
thHorizontalBorder: "light",
|
|
18259
18486
|
thPadding: "sm",
|
|
18487
|
+
sortIcon: "arrowUp",
|
|
18260
18488
|
tdTextRole: "title-small",
|
|
18261
18489
|
tdColor: "primary-surface",
|
|
18262
18490
|
tdStickyColor: "primary-container",
|
|
@@ -18270,7 +18498,8 @@ placeholder="Name or address\u2026"
|
|
|
18270
18498
|
},
|
|
18271
18499
|
notificationBadge: {
|
|
18272
18500
|
borderRadius: "sm",
|
|
18273
|
-
offset: -10
|
|
18501
|
+
offset: -10,
|
|
18502
|
+
typeface: "overline"
|
|
18274
18503
|
},
|
|
18275
18504
|
paginator: {
|
|
18276
18505
|
gap: "xs",
|
|
@@ -18613,6 +18842,7 @@ placeholder="Name or address\u2026"
|
|
|
18613
18842
|
border: "quaternary",
|
|
18614
18843
|
padding: "sm",
|
|
18615
18844
|
inset: "lg",
|
|
18845
|
+
overscroll: "contain",
|
|
18616
18846
|
elevation: "dialog",
|
|
18617
18847
|
backdrop: "scrim",
|
|
18618
18848
|
motion: "panel"
|
|
@@ -18695,7 +18925,10 @@ placeholder="Name or address\u2026"
|
|
|
18695
18925
|
motion: "panel"
|
|
18696
18926
|
},
|
|
18697
18927
|
expand: {
|
|
18698
|
-
motion: "reveal"
|
|
18928
|
+
motion: "reveal",
|
|
18929
|
+
textRole: "label",
|
|
18930
|
+
sublabelRole: "caption",
|
|
18931
|
+
sublabelColor: "on-background-variant"
|
|
18699
18932
|
},
|
|
18700
18933
|
input: {
|
|
18701
18934
|
typeface: "input",
|
|
@@ -18805,7 +19038,8 @@ placeholder="Name or address\u2026"
|
|
|
18805
19038
|
avatarVariant: "primary",
|
|
18806
19039
|
nameTypeface: "body-2-short",
|
|
18807
19040
|
detailTypeface: "caption",
|
|
18808
|
-
rowGap: "sm"
|
|
19041
|
+
rowGap: "sm",
|
|
19042
|
+
chipAvatar: true
|
|
18809
19043
|
},
|
|
18810
19044
|
calendar: {
|
|
18811
19045
|
dayBorderRadius: "max",
|
|
@@ -18883,6 +19117,7 @@ placeholder="Name or address\u2026"
|
|
|
18883
19117
|
thVerticalBorder: "dotted",
|
|
18884
19118
|
thHorizontalBorder: "light",
|
|
18885
19119
|
thPadding: "sm",
|
|
19120
|
+
sortIcon: "arrowUp",
|
|
18886
19121
|
tdTextRole: "title-small",
|
|
18887
19122
|
tdColor: "primary-surface",
|
|
18888
19123
|
tdStickyColor: "primary-container",
|
|
@@ -18896,7 +19131,8 @@ placeholder="Name or address\u2026"
|
|
|
18896
19131
|
},
|
|
18897
19132
|
notificationBadge: {
|
|
18898
19133
|
borderRadius: "sm",
|
|
18899
|
-
offset: -10
|
|
19134
|
+
offset: -10,
|
|
19135
|
+
typeface: "overline"
|
|
18900
19136
|
},
|
|
18901
19137
|
paginator: {
|
|
18902
19138
|
gap: "xs",
|
|
@@ -19004,6 +19240,24 @@ placeholder="Name or address\u2026"
|
|
|
19004
19240
|
{
|
|
19005
19241
|
package: "@uni-design-system/uni-angular",
|
|
19006
19242
|
releases: [
|
|
19243
|
+
{
|
|
19244
|
+
version: "11.7.0",
|
|
19245
|
+
entries: [
|
|
19246
|
+
{
|
|
19247
|
+
bump: "minor",
|
|
19248
|
+
title: "Data table refinements from the Wellsourced adoption.",
|
|
19249
|
+
body: '- **Phantom scrollbar fixed**: a right-aligned last column no longer grows a horizontal scrollbar. The sort arrow now sits on the leading side of the label in right-aligned columns, and header cells clip the arrow instead of letting it widen the scroll area.\n- **`ColumnDefinition`**: `width` (a preferred column width) and `sortable` (default `true`; `false` renders a plain heading with no sort button or `aria-sort`).\n- **Cell templates** receive the row as `$implicit` and its `index`, alongside the row\'s fields by name, so `let-row` works and existing `let-name="name"` templates are unchanged. The context type is exported as `UniDataTableCellContext<T>`.\n- **`dataTable` theme options**: `thPaddingVertical` / `thPaddingHorizontal` and `tdPaddingVertical` / `tdPaddingHorizontal` override `thPadding` / `tdPadding` per axis; `sortIcon` picks the sort glyph (default `arrowUp`).\n- **`uni-sort-header`**: `iconName` and `align` inputs.',
|
|
19250
|
+
commit: "ffe2080"
|
|
19251
|
+
},
|
|
19252
|
+
{
|
|
19253
|
+
bump: "minor",
|
|
19254
|
+
title: 'Close the first two tiers of the Wellsourced change-request queue: six silent-failure fixes and five "the theme could not reach it" gaps, all additive.',
|
|
19255
|
+
body: "- **`uni-select`**: a value no option stands for \u2014 `''`, a stale id, or `null` with no `placeholder` \u2014 now renders as empty instead of as the first option. A native `<select>` with no selected `<option>` shows its first entry, so the field used to display a choice the model did not hold. A hidden \"nothing selected\" row is rendered whenever the model is unmatched (the placeholder, when there is one), and a dev-mode warning names a bound value that matches no option once the options have loaded.\n- **`uni-button`, `uni-icon-button`**: `disabled` is accepted as an alias of `disable`. The native name \u2014 the one every other Uni control uses \u2014 used to land on the DOM property, where the host's own attribute binding removed it on the first pass, so a button that had to start disabled rendered enabled with no error. `icon-button`'s `disable` and `loading` gain the `booleanAttribute` transform `text-button`'s already had: `<button icon-button disable>` works, and an optional chain (`[disable]=\"x()?.saving\"`) no longer needs a `!!`.\n- **`uni-tour`**: `finished` is only emitted for a run that presented at least one step, and `started` fires when the first step is presented \u2014 from `start()` or from a write to `active` \u2014 rather than at the call. A `start()` issued before `steps` are bound waits for them, so a host that loads steps from a service and starts in the same turn opens on the first one instead of reporting a finish for a tour that never opened. A one-step tour draws no progress, `progressStyle` accepts `'none'` and has a per-instance input, and a step may omit `body`.\n- **`uni-notification-badge`**: the `typeface` option is read (it was declared and never wired), the host is `inline-flex` so it no longer drops a wrapped link under its flex siblings, and the disc takes its size from a new `sizes` block (`sm` 14 / `md` 16 / `lg` 20px, keyed by `size`; `lg` is the default and the 20px it always drew). A count may widen rather than clip inside a fixed square. `offset` documents how it should scale with the wrapped element.\n- **`uni-contact-input`**: forwards `parse`; a `chipAvatar` input and theme option (default `true`) draw the chip as the name alone when the initials would only repeat it. **`uni-tag-input`** under `preset=\"email\"` now splits a paste on whitespace too \u2014 a column copied from a spreadsheet becomes one chip per address \u2014 while keeping the words of `Name <address>` together; and `openOnFocus` opens the list when suggestions arrive _after_ focus, so a field focused while its contacts are still loading shows them the moment they land (unless Escape dismissed the list in between).\n- **`uni-toggle`**: the hidden native input uses the shared `visuallyHidden` recipe \u2014 the last hidden helper in the library still on a private `position: absolute`.\n- **`uni-expand-toggle`**: the labelled trigger's type is themable through the `expand` entry \u2014 `textRole` / `textColor` and `sublabelRole` / `sublabelColor`, defaulting to the `label` / `caption` it hardcoded. The checkbox finding from 11.2.0, closed here.\n- **`uni-input`, `uni-textarea`, `uni-number-input`**: `unframed` drops the field chrome (border, fill, radius, shadow, inset and focus treatment) and renders the bare control, the same meaning it has on `uni-tag-input`; it lives on `uni-input-box` and is forwarded. `uni-input` also gains `align`, as `uni-number-input` has. (`labelHidden` was asked for too: the text fields never draw their `label` \u2014 it is the accessible name only \u2014 so there is nothing to hide.)\n- **`uni-dialog`**: an `overscroll` theme option (`auto` / `contain` / `none`, default `contain`, which is what the body hardcoded) for the scrolling body row.\n- **`uni-scroll-area`**: `maxHeight` lets the area grow with its content up to a cap and then scroll; `fill` takes the room a flex-column parent leaves. Either makes it the body of a dialog without a wrapper. With neither (or `height`) the layout is unchanged.\n- **`uni-combobox`**: `emptyValue` is what a clear writes \u2014 `null` by default, `''` for a field bound to a plain `string` schema, whose readers no longer meet a `null` after the \u2715.\n\nTheme-level additions in uni-core's base theme: `notificationBadge.sizes` and `options.typeface`, `expand.options.textRole` / `sublabelRole` / `sublabelColor`, `dialog.options.overscroll`, `contactInput.options.chipAvatar`. Every default reproduces what the component previously hardcoded.",
|
|
19256
|
+
commit: "9ff14bc"
|
|
19257
|
+
}
|
|
19258
|
+
],
|
|
19259
|
+
dependencyBumps: []
|
|
19260
|
+
},
|
|
19007
19261
|
{
|
|
19008
19262
|
version: "11.6.0",
|
|
19009
19263
|
entries: [
|
|
@@ -19962,6 +20216,24 @@ placeholder="Name or address\u2026"
|
|
|
19962
20216
|
{
|
|
19963
20217
|
package: "@uni-design-system/uni-core",
|
|
19964
20218
|
releases: [
|
|
20219
|
+
{
|
|
20220
|
+
version: "11.7.0",
|
|
20221
|
+
entries: [
|
|
20222
|
+
{
|
|
20223
|
+
bump: "minor",
|
|
20224
|
+
title: "Data table refinements from the Wellsourced adoption.",
|
|
20225
|
+
body: '- **Phantom scrollbar fixed**: a right-aligned last column no longer grows a horizontal scrollbar. The sort arrow now sits on the leading side of the label in right-aligned columns, and header cells clip the arrow instead of letting it widen the scroll area.\n- **`ColumnDefinition`**: `width` (a preferred column width) and `sortable` (default `true`; `false` renders a plain heading with no sort button or `aria-sort`).\n- **Cell templates** receive the row as `$implicit` and its `index`, alongside the row\'s fields by name, so `let-row` works and existing `let-name="name"` templates are unchanged. The context type is exported as `UniDataTableCellContext<T>`.\n- **`dataTable` theme options**: `thPaddingVertical` / `thPaddingHorizontal` and `tdPaddingVertical` / `tdPaddingHorizontal` override `thPadding` / `tdPadding` per axis; `sortIcon` picks the sort glyph (default `arrowUp`).\n- **`uni-sort-header`**: `iconName` and `align` inputs.',
|
|
20226
|
+
commit: "ffe2080"
|
|
20227
|
+
},
|
|
20228
|
+
{
|
|
20229
|
+
bump: "minor",
|
|
20230
|
+
title: 'Close the first two tiers of the Wellsourced change-request queue: six silent-failure fixes and five "the theme could not reach it" gaps, all additive.',
|
|
20231
|
+
body: "- **`uni-select`**: a value no option stands for \u2014 `''`, a stale id, or `null` with no `placeholder` \u2014 now renders as empty instead of as the first option. A native `<select>` with no selected `<option>` shows its first entry, so the field used to display a choice the model did not hold. A hidden \"nothing selected\" row is rendered whenever the model is unmatched (the placeholder, when there is one), and a dev-mode warning names a bound value that matches no option once the options have loaded.\n- **`uni-button`, `uni-icon-button`**: `disabled` is accepted as an alias of `disable`. The native name \u2014 the one every other Uni control uses \u2014 used to land on the DOM property, where the host's own attribute binding removed it on the first pass, so a button that had to start disabled rendered enabled with no error. `icon-button`'s `disable` and `loading` gain the `booleanAttribute` transform `text-button`'s already had: `<button icon-button disable>` works, and an optional chain (`[disable]=\"x()?.saving\"`) no longer needs a `!!`.\n- **`uni-tour`**: `finished` is only emitted for a run that presented at least one step, and `started` fires when the first step is presented \u2014 from `start()` or from a write to `active` \u2014 rather than at the call. A `start()` issued before `steps` are bound waits for them, so a host that loads steps from a service and starts in the same turn opens on the first one instead of reporting a finish for a tour that never opened. A one-step tour draws no progress, `progressStyle` accepts `'none'` and has a per-instance input, and a step may omit `body`.\n- **`uni-notification-badge`**: the `typeface` option is read (it was declared and never wired), the host is `inline-flex` so it no longer drops a wrapped link under its flex siblings, and the disc takes its size from a new `sizes` block (`sm` 14 / `md` 16 / `lg` 20px, keyed by `size`; `lg` is the default and the 20px it always drew). A count may widen rather than clip inside a fixed square. `offset` documents how it should scale with the wrapped element.\n- **`uni-contact-input`**: forwards `parse`; a `chipAvatar` input and theme option (default `true`) draw the chip as the name alone when the initials would only repeat it. **`uni-tag-input`** under `preset=\"email\"` now splits a paste on whitespace too \u2014 a column copied from a spreadsheet becomes one chip per address \u2014 while keeping the words of `Name <address>` together; and `openOnFocus` opens the list when suggestions arrive _after_ focus, so a field focused while its contacts are still loading shows them the moment they land (unless Escape dismissed the list in between).\n- **`uni-toggle`**: the hidden native input uses the shared `visuallyHidden` recipe \u2014 the last hidden helper in the library still on a private `position: absolute`.\n- **`uni-expand-toggle`**: the labelled trigger's type is themable through the `expand` entry \u2014 `textRole` / `textColor` and `sublabelRole` / `sublabelColor`, defaulting to the `label` / `caption` it hardcoded. The checkbox finding from 11.2.0, closed here.\n- **`uni-input`, `uni-textarea`, `uni-number-input`**: `unframed` drops the field chrome (border, fill, radius, shadow, inset and focus treatment) and renders the bare control, the same meaning it has on `uni-tag-input`; it lives on `uni-input-box` and is forwarded. `uni-input` also gains `align`, as `uni-number-input` has. (`labelHidden` was asked for too: the text fields never draw their `label` \u2014 it is the accessible name only \u2014 so there is nothing to hide.)\n- **`uni-dialog`**: an `overscroll` theme option (`auto` / `contain` / `none`, default `contain`, which is what the body hardcoded) for the scrolling body row.\n- **`uni-scroll-area`**: `maxHeight` lets the area grow with its content up to a cap and then scroll; `fill` takes the room a flex-column parent leaves. Either makes it the body of a dialog without a wrapper. With neither (or `height`) the layout is unchanged.\n- **`uni-combobox`**: `emptyValue` is what a clear writes \u2014 `null` by default, `''` for a field bound to a plain `string` schema, whose readers no longer meet a `null` after the \u2715.\n\nTheme-level additions in uni-core's base theme: `notificationBadge.sizes` and `options.typeface`, `expand.options.textRole` / `sublabelRole` / `sublabelColor`, `dialog.options.overscroll`, `contactInput.options.chipAvatar`. Every default reproduces what the component previously hardcoded.",
|
|
20232
|
+
commit: "9ff14bc"
|
|
20233
|
+
}
|
|
20234
|
+
],
|
|
20235
|
+
dependencyBumps: []
|
|
20236
|
+
},
|
|
19965
20237
|
{
|
|
19966
20238
|
version: "11.6.0",
|
|
19967
20239
|
entries: [
|
|
@@ -20645,6 +20917,11 @@ placeholder="Name or address\u2026"
|
|
|
20645
20917
|
{
|
|
20646
20918
|
package: "@uni-design-system/uni-react",
|
|
20647
20919
|
releases: [
|
|
20920
|
+
{
|
|
20921
|
+
version: "11.7.0",
|
|
20922
|
+
entries: [],
|
|
20923
|
+
dependencyBumps: []
|
|
20924
|
+
},
|
|
20648
20925
|
{
|
|
20649
20926
|
version: "11.6.0",
|
|
20650
20927
|
entries: [],
|
|
@@ -20956,6 +21233,11 @@ placeholder="Name or address\u2026"
|
|
|
20956
21233
|
{
|
|
20957
21234
|
package: "@uni-design-system/uni-mcp",
|
|
20958
21235
|
releases: [
|
|
21236
|
+
{
|
|
21237
|
+
version: "11.7.0",
|
|
21238
|
+
entries: [],
|
|
21239
|
+
dependencyBumps: []
|
|
21240
|
+
},
|
|
20959
21241
|
{
|
|
20960
21242
|
version: "11.6.0",
|
|
20961
21243
|
entries: [],
|
|
@@ -21225,7 +21507,7 @@ placeholder="Name or address\u2026"
|
|
|
21225
21507
|
summary: "Returns a document-unique id for wiring ARIA relationships (aria-controls, aria-describedby, aria-labelledby, ...).",
|
|
21226
21508
|
description: "Returns a document-unique id for wiring ARIA relationships (aria-controls, aria-describedby, aria-labelledby, ...).",
|
|
21227
21509
|
members: [],
|
|
21228
|
-
version: "11.
|
|
21510
|
+
version: "11.7.0"
|
|
21229
21511
|
},
|
|
21230
21512
|
{
|
|
21231
21513
|
id: "focusable-selector",
|
|
@@ -21237,7 +21519,7 @@ placeholder="Name or address\u2026"
|
|
|
21237
21519
|
summary: "Selector matching natively focusable elements.",
|
|
21238
21520
|
description: "Selector matching natively focusable elements. Used to locate the interactive element inside a projected trigger so ARIA attributes land on the element that actually receives focus.",
|
|
21239
21521
|
members: [],
|
|
21240
|
-
version: "11.
|
|
21522
|
+
version: "11.7.0"
|
|
21241
21523
|
},
|
|
21242
21524
|
{
|
|
21243
21525
|
id: "resolve-focus-target",
|
|
@@ -21249,7 +21531,7 @@ placeholder="Name or address\u2026"
|
|
|
21249
21531
|
summary: "Resolves the element that should carry ARIA state for a trigger: the element itself when focusable, otherwise its first focusable descendant.",
|
|
21250
21532
|
description: "Resolves the element that should carry ARIA state for a trigger: the element itself when focusable, otherwise its first focusable descendant.",
|
|
21251
21533
|
members: [],
|
|
21252
|
-
version: "11.
|
|
21534
|
+
version: "11.7.0"
|
|
21253
21535
|
},
|
|
21254
21536
|
{
|
|
21255
21537
|
id: "visually-hidden",
|
|
@@ -21261,7 +21543,7 @@ placeholder="Name or address\u2026"
|
|
|
21261
21543
|
summary: "Visually hides content while keeping it available to screen readers.",
|
|
21262
21544
|
description: "Visually hides content while keeping it available to screen readers. Use for text alternatives (e.g. badge counts, icon-only affordances). `fixed`, not `absolute`, and that is load-bearing. An absolutely positioned box resolves its containing block to the nearest *positioned* ancestor \u2014 which, since the controls emitting these spans are `position: static`, is whatever positioned box happens to be above them in the consumer's layout, often several scroll containers up. The span then skips every intervening `overflow: auto` and lands in that distant ancestor's scrollable overflow, turning 1x1 of invisible text into real scrollable distance in a box that never opted into scrolling. A fixed box's containing block is the viewport, so it joins no ancestor's scrollable overflow at all. Caveat: inside a `transform`ed (or `filter`ed/`contain`ed) ancestor a fixed box re-anchors to that ancestor. Harmless here \u2014 the element is 1x1 and clipped to nothing, so where it lands never matters, only what it overflows.",
|
|
21263
21545
|
members: [],
|
|
21264
|
-
version: "11.
|
|
21546
|
+
version: "11.7.0"
|
|
21265
21547
|
},
|
|
21266
21548
|
{
|
|
21267
21549
|
id: "motion-safe",
|
|
@@ -21273,7 +21555,7 @@ placeholder="Name or address\u2026"
|
|
|
21273
21555
|
summary: "Wraps animation/transition styles so they only apply when the user has not requested reduced motion (WCAG 2.3.3).",
|
|
21274
21556
|
description: "Wraps animation/transition styles so they only apply when the user has not requested reduced motion (WCAG 2.3.3).",
|
|
21275
21557
|
members: [],
|
|
21276
|
-
version: "11.
|
|
21558
|
+
version: "11.7.0"
|
|
21277
21559
|
},
|
|
21278
21560
|
{
|
|
21279
21561
|
id: "announcer",
|
|
@@ -21298,7 +21580,7 @@ placeholder="Name or address\u2026"
|
|
|
21298
21580
|
description: "Announce `text`, even when it repeats what was just announced."
|
|
21299
21581
|
}
|
|
21300
21582
|
],
|
|
21301
|
-
version: "11.
|
|
21583
|
+
version: "11.7.0"
|
|
21302
21584
|
},
|
|
21303
21585
|
{
|
|
21304
21586
|
id: "create-announcer",
|
|
@@ -21310,7 +21592,7 @@ placeholder="Name or address\u2026"
|
|
|
21310
21592
|
summary: "A polite live region's text, for the running commentary a form control owes a screen reader: commits, clears, refused entries, result counts \u2014 changes a sighted user sees but that are otherwise silent.",
|
|
21311
21593
|
description: "A polite live region's text, for the running commentary a form control owes a screen reader: commits, clears, refused entries, result counts \u2014 changes a sighted user sees but that are otherwise silent. Extracted because five controls (`uni-combobox`, `uni-tag-input`, `uni-time-input`, `uni-date-input`, `uni-calendar`) carried byte-identical copies, including the repeat trick below \u2014 the kind of subtlety that is quietly dropped when the sixth control hand-rolls its own. Announcing the same text twice must still be heard: assistive tech reads a live region when its content *changes*, so setting an identical string is a no-op and the second \"No match.\" would be silent. A trailing space breaks the equality without changing a word of what is read. Successive repeats alternate between the padded and unpadded form, so nothing accumulates. Deliberately holds no DOM and no styling: the region belongs to the component's own template, where its placement and visually-hidden class are already the component's business.",
|
|
21312
21594
|
members: [],
|
|
21313
|
-
version: "11.
|
|
21595
|
+
version: "11.7.0"
|
|
21314
21596
|
},
|
|
21315
21597
|
{
|
|
21316
21598
|
id: "uni-date",
|
|
@@ -21322,7 +21604,7 @@ placeholder="Name or address\u2026"
|
|
|
21322
21604
|
summary: "A calendar date, `'YYYY-MM-DD'`.",
|
|
21323
21605
|
description: "A calendar date, `'YYYY-MM-DD'`.",
|
|
21324
21606
|
members: [],
|
|
21325
|
-
version: "11.
|
|
21607
|
+
version: "11.7.0"
|
|
21326
21608
|
},
|
|
21327
21609
|
{
|
|
21328
21610
|
id: "uni-time",
|
|
@@ -21334,7 +21616,7 @@ placeholder="Name or address\u2026"
|
|
|
21334
21616
|
summary: "A wall-clock time, `'HH:mm'` (24-hour).",
|
|
21335
21617
|
description: "A wall-clock time, `'HH:mm'` (24-hour). Display format is separate.",
|
|
21336
21618
|
members: [],
|
|
21337
|
-
version: "11.
|
|
21619
|
+
version: "11.7.0"
|
|
21338
21620
|
},
|
|
21339
21621
|
{
|
|
21340
21622
|
id: "uni-date-time",
|
|
@@ -21346,7 +21628,7 @@ placeholder="Name or address\u2026"
|
|
|
21346
21628
|
summary: "A combined date and time, `'YYYY-MM-DDTHH:mm'`.",
|
|
21347
21629
|
description: "A combined date and time, `'YYYY-MM-DDTHH:mm'`.",
|
|
21348
21630
|
members: [],
|
|
21349
|
-
version: "11.
|
|
21631
|
+
version: "11.7.0"
|
|
21350
21632
|
},
|
|
21351
21633
|
{
|
|
21352
21634
|
id: "uni-date-range",
|
|
@@ -21371,7 +21653,7 @@ placeholder="Name or address\u2026"
|
|
|
21371
21653
|
description: ""
|
|
21372
21654
|
}
|
|
21373
21655
|
],
|
|
21374
|
-
version: "11.
|
|
21656
|
+
version: "11.7.0"
|
|
21375
21657
|
},
|
|
21376
21658
|
{
|
|
21377
21659
|
id: "iso-date",
|
|
@@ -21383,7 +21665,7 @@ placeholder="Name or address\u2026"
|
|
|
21383
21665
|
summary: "`(2026, 8, 5)` \u2192 `'2026-08-05'`.",
|
|
21384
21666
|
description: "`(2026, 8, 5)` \u2192 `'2026-08-05'`. Does not validate \u2014 see `isValidDate`.",
|
|
21385
21667
|
members: [],
|
|
21386
|
-
version: "11.
|
|
21668
|
+
version: "11.7.0"
|
|
21387
21669
|
},
|
|
21388
21670
|
{
|
|
21389
21671
|
id: "is-valid-date",
|
|
@@ -21395,7 +21677,7 @@ placeholder="Name or address\u2026"
|
|
|
21395
21677
|
summary: "The ISO date when the parts form a real calendar day, else `null`.",
|
|
21396
21678
|
description: "The ISO date when the parts form a real calendar day, else `null`.",
|
|
21397
21679
|
members: [],
|
|
21398
|
-
version: "11.
|
|
21680
|
+
version: "11.7.0"
|
|
21399
21681
|
},
|
|
21400
21682
|
{
|
|
21401
21683
|
id: "days-in-month",
|
|
@@ -21407,7 +21689,7 @@ placeholder="Name or address\u2026"
|
|
|
21407
21689
|
summary: "Days in a month, leap-year aware.",
|
|
21408
21690
|
description: "Days in a month, leap-year aware.",
|
|
21409
21691
|
members: [],
|
|
21410
|
-
version: "11.
|
|
21692
|
+
version: "11.7.0"
|
|
21411
21693
|
},
|
|
21412
21694
|
{
|
|
21413
21695
|
id: "add-days",
|
|
@@ -21419,7 +21701,7 @@ placeholder="Name or address\u2026"
|
|
|
21419
21701
|
summary: "",
|
|
21420
21702
|
description: "",
|
|
21421
21703
|
members: [],
|
|
21422
|
-
version: "11.
|
|
21704
|
+
version: "11.7.0"
|
|
21423
21705
|
},
|
|
21424
21706
|
{
|
|
21425
21707
|
id: "add-months",
|
|
@@ -21431,7 +21713,7 @@ placeholder="Name or address\u2026"
|
|
|
21431
21713
|
summary: "Same day \xB1 n months, clamping the day to the target month's length.",
|
|
21432
21714
|
description: "Same day \xB1 n months, clamping the day to the target month's length.",
|
|
21433
21715
|
members: [],
|
|
21434
|
-
version: "11.
|
|
21716
|
+
version: "11.7.0"
|
|
21435
21717
|
},
|
|
21436
21718
|
{
|
|
21437
21719
|
id: "day-of-week",
|
|
@@ -21443,7 +21725,7 @@ placeholder="Name or address\u2026"
|
|
|
21443
21725
|
summary: "Day of week, 0 = Sunday \u2026 6 = Saturday.",
|
|
21444
21726
|
description: "Day of week, 0 = Sunday \u2026 6 = Saturday.",
|
|
21445
21727
|
members: [],
|
|
21446
|
-
version: "11.
|
|
21728
|
+
version: "11.7.0"
|
|
21447
21729
|
},
|
|
21448
21730
|
{
|
|
21449
21731
|
id: "month-of",
|
|
@@ -21455,7 +21737,7 @@ placeholder="Name or address\u2026"
|
|
|
21455
21737
|
summary: "`'2026-08-20'` \u2192 `'2026-08'`.",
|
|
21456
21738
|
description: "`'2026-08-20'` \u2192 `'2026-08'`.",
|
|
21457
21739
|
members: [],
|
|
21458
|
-
version: "11.
|
|
21740
|
+
version: "11.7.0"
|
|
21459
21741
|
},
|
|
21460
21742
|
{
|
|
21461
21743
|
id: "today-iso",
|
|
@@ -21467,7 +21749,7 @@ placeholder="Name or address\u2026"
|
|
|
21467
21749
|
summary: "Today as a local-wall-clock ISO date (the one place local time matters).",
|
|
21468
21750
|
description: "Today as a local-wall-clock ISO date (the one place local time matters).",
|
|
21469
21751
|
members: [],
|
|
21470
|
-
version: "11.
|
|
21752
|
+
version: "11.7.0"
|
|
21471
21753
|
},
|
|
21472
21754
|
{
|
|
21473
21755
|
id: "inclusive-day-count",
|
|
@@ -21479,7 +21761,7 @@ placeholder="Name or address\u2026"
|
|
|
21479
21761
|
summary: "Inclusive day count of a range: `('-20', '-24')` \u2192 5.",
|
|
21480
21762
|
description: "Inclusive day count of a range: `('-20', '-24')` \u2192 5.",
|
|
21481
21763
|
members: [],
|
|
21482
|
-
version: "11.
|
|
21764
|
+
version: "11.7.0"
|
|
21483
21765
|
},
|
|
21484
21766
|
{
|
|
21485
21767
|
id: "uni-month-grid-cell",
|
|
@@ -21504,7 +21786,7 @@ placeholder="Name or address\u2026"
|
|
|
21504
21786
|
description: "True for leading/trailing cells that belong to the adjacent months."
|
|
21505
21787
|
}
|
|
21506
21788
|
],
|
|
21507
|
-
version: "11.
|
|
21789
|
+
version: "11.7.0"
|
|
21508
21790
|
},
|
|
21509
21791
|
{
|
|
21510
21792
|
id: "build-month-grid",
|
|
@@ -21516,7 +21798,7 @@ placeholder="Name or address\u2026"
|
|
|
21516
21798
|
summary: "The week matrix a calendar renders: full weeks covering `'YYYY-MM'`, starting on `weekStart` (0 = Sunday).",
|
|
21517
21799
|
description: "The week matrix a calendar renders: full weeks covering `'YYYY-MM'`, starting on `weekStart` (0 = Sunday). Outside cells are always present so showing or hiding them is a pure render decision.",
|
|
21518
21800
|
members: [],
|
|
21519
|
-
version: "11.
|
|
21801
|
+
version: "11.7.0"
|
|
21520
21802
|
},
|
|
21521
21803
|
{
|
|
21522
21804
|
id: "format-date",
|
|
@@ -21528,7 +21810,7 @@ placeholder="Name or address\u2026"
|
|
|
21528
21810
|
summary: "",
|
|
21529
21811
|
description: "",
|
|
21530
21812
|
members: [],
|
|
21531
|
-
version: "11.
|
|
21813
|
+
version: "11.7.0"
|
|
21532
21814
|
},
|
|
21533
21815
|
{
|
|
21534
21816
|
id: "format-month-heading",
|
|
@@ -21540,7 +21822,7 @@ placeholder="Name or address\u2026"
|
|
|
21540
21822
|
summary: "`'2026-08'` \u2192 `'August 2026'` in the locale.",
|
|
21541
21823
|
description: "`'2026-08'` \u2192 `'August 2026'` in the locale.",
|
|
21542
21824
|
members: [],
|
|
21543
|
-
version: "11.
|
|
21825
|
+
version: "11.7.0"
|
|
21544
21826
|
},
|
|
21545
21827
|
{
|
|
21546
21828
|
id: "uni-weekday-name",
|
|
@@ -21565,7 +21847,7 @@ placeholder="Name or address\u2026"
|
|
|
21565
21847
|
description: "Full weekday name, for the columnheader's `abbr`."
|
|
21566
21848
|
}
|
|
21567
21849
|
],
|
|
21568
|
-
version: "11.
|
|
21850
|
+
version: "11.7.0"
|
|
21569
21851
|
},
|
|
21570
21852
|
{
|
|
21571
21853
|
id: "weekday-names",
|
|
@@ -21577,7 +21859,7 @@ placeholder="Name or address\u2026"
|
|
|
21577
21859
|
summary: "Weekday header labels starting at `weekStart` (0 = Sunday).",
|
|
21578
21860
|
description: "Weekday header labels starting at `weekStart` (0 = Sunday).",
|
|
21579
21861
|
members: [],
|
|
21580
|
-
version: "11.
|
|
21862
|
+
version: "11.7.0"
|
|
21581
21863
|
},
|
|
21582
21864
|
{
|
|
21583
21865
|
id: "format-time",
|
|
@@ -21589,7 +21871,7 @@ placeholder="Name or address\u2026"
|
|
|
21589
21871
|
summary: "`'15:00'` \u2192 `'3:00 PM'` (or `'15:00'` when `hour12` is false).",
|
|
21590
21872
|
description: "`'15:00'` \u2192 `'3:00 PM'` (or `'15:00'` when `hour12` is false).",
|
|
21591
21873
|
members: [],
|
|
21592
|
-
version: "11.
|
|
21874
|
+
version: "11.7.0"
|
|
21593
21875
|
},
|
|
21594
21876
|
{
|
|
21595
21877
|
id: "locale-week-start",
|
|
@@ -21601,7 +21883,7 @@ placeholder="Name or address\u2026"
|
|
|
21601
21883
|
summary: "The locale's first day of week, 0 = Sunday \u2026 6 = Saturday.",
|
|
21602
21884
|
description: "The locale's first day of week, 0 = Sunday \u2026 6 = Saturday. Falls back to Sunday where `Intl.Locale` week info is unavailable.",
|
|
21603
21885
|
members: [],
|
|
21604
|
-
version: "11.
|
|
21886
|
+
version: "11.7.0"
|
|
21605
21887
|
},
|
|
21606
21888
|
{
|
|
21607
21889
|
id: "locale-default-hour12",
|
|
@@ -21613,7 +21895,7 @@ placeholder="Name or address\u2026"
|
|
|
21613
21895
|
summary: "Whether the locale's default clock is 12-hour.",
|
|
21614
21896
|
description: "Whether the locale's default clock is 12-hour.",
|
|
21615
21897
|
members: [],
|
|
21616
|
-
version: "11.
|
|
21898
|
+
version: "11.7.0"
|
|
21617
21899
|
},
|
|
21618
21900
|
{
|
|
21619
21901
|
id: "locale-field-order",
|
|
@@ -21625,7 +21907,7 @@ placeholder="Name or address\u2026"
|
|
|
21625
21907
|
summary: "The locale's numeric-date field order, e.g.",
|
|
21626
21908
|
description: "The locale's numeric-date field order, e.g. en-US \u2192 month, day, year.",
|
|
21627
21909
|
members: [],
|
|
21628
|
-
version: "11.
|
|
21910
|
+
version: "11.7.0"
|
|
21629
21911
|
},
|
|
21630
21912
|
{
|
|
21631
21913
|
id: "locale-month-names",
|
|
@@ -21637,7 +21919,7 @@ placeholder="Name or address\u2026"
|
|
|
21637
21919
|
summary: "Long + short month names \u2192 month number, lowercased, dots stripped.",
|
|
21638
21920
|
description: "Long + short month names \u2192 month number, lowercased, dots stripped.",
|
|
21639
21921
|
members: [],
|
|
21640
|
-
version: "11.
|
|
21922
|
+
version: "11.7.0"
|
|
21641
21923
|
},
|
|
21642
21924
|
{
|
|
21643
21925
|
id: "locale-date-placeholder",
|
|
@@ -21649,7 +21931,7 @@ placeholder="Name or address\u2026"
|
|
|
21649
21931
|
summary: "The locale's digit pattern as a placeholder, e.g.",
|
|
21650
21932
|
description: "The locale's digit pattern as a placeholder, e.g. `'MM/DD/YYYY'`.",
|
|
21651
21933
|
members: [],
|
|
21652
|
-
version: "11.
|
|
21934
|
+
version: "11.7.0"
|
|
21653
21935
|
},
|
|
21654
21936
|
{
|
|
21655
21937
|
id: "parse-date-text",
|
|
@@ -21661,7 +21943,7 @@ placeholder="Name or address\u2026"
|
|
|
21661
21943
|
summary: "Free-typed date text \u2192 ISO date, or `null` when unreadable.",
|
|
21662
21944
|
description: "Free-typed date text \u2192 ISO date, or `null` when unreadable. Accepts, in order: ISO (`2026-08-20`), a month name from the locale's own long/short lists (`aug 20`, `20 aug 2026`, `August 20th`), and locale-numeric text (`8/20/2026`, `20.8.2026`, `08-20`) with the digit order taken from `Intl.DateTimeFormat(locale).formatToParts()`. A missing year resolves to the next occurrence; two-digit years are refused rather than guessed.",
|
|
21663
21945
|
members: [],
|
|
21664
|
-
version: "11.
|
|
21946
|
+
version: "11.7.0"
|
|
21665
21947
|
},
|
|
21666
21948
|
{
|
|
21667
21949
|
id: "parse-time-text",
|
|
@@ -21673,7 +21955,7 @@ placeholder="Name or address\u2026"
|
|
|
21673
21955
|
summary: "Free-typed time text \u2192 `'HH:mm'`, or `null`.",
|
|
21674
21956
|
description: "Free-typed time text \u2192 `'HH:mm'`, or `null`. Accepts `9`, `930`, `9:30`, `9.30`, `9 30`, `3p`, `3pm`, `3 PM`, `15:00`. Bare hours 1\u20137 with no meridiem lean PM when `hour12` \u2014 typing `3` into an appointment field means 15:00, not 03:00.",
|
|
21675
21957
|
members: [],
|
|
21676
|
-
version: "11.
|
|
21958
|
+
version: "11.7.0"
|
|
21677
21959
|
},
|
|
21678
21960
|
{
|
|
21679
21961
|
id: "time-slots",
|
|
@@ -21685,7 +21967,7 @@ placeholder="Name or address\u2026"
|
|
|
21685
21967
|
summary: "Every `minuteStep` time between `min` and `max` (inclusive bounds).",
|
|
21686
21968
|
description: "Every `minuteStep` time between `min` and `max` (inclusive bounds).",
|
|
21687
21969
|
members: [],
|
|
21688
|
-
version: "11.
|
|
21970
|
+
version: "11.7.0"
|
|
21689
21971
|
},
|
|
21690
21972
|
{
|
|
21691
21973
|
id: "split-date-time",
|
|
@@ -21697,7 +21979,7 @@ placeholder="Name or address\u2026"
|
|
|
21697
21979
|
summary: "",
|
|
21698
21980
|
description: "",
|
|
21699
21981
|
members: [],
|
|
21700
|
-
version: "11.
|
|
21982
|
+
version: "11.7.0"
|
|
21701
21983
|
},
|
|
21702
21984
|
{
|
|
21703
21985
|
id: "join-date-time",
|
|
@@ -21709,7 +21991,7 @@ placeholder="Name or address\u2026"
|
|
|
21709
21991
|
summary: "One combined value only when both parts are present.",
|
|
21710
21992
|
description: "One combined value only when both parts are present.",
|
|
21711
21993
|
members: [],
|
|
21712
|
-
version: "11.
|
|
21994
|
+
version: "11.7.0"
|
|
21713
21995
|
},
|
|
21714
21996
|
{
|
|
21715
21997
|
id: "uni-number-range",
|
|
@@ -21734,7 +22016,7 @@ placeholder="Name or address\u2026"
|
|
|
21734
22016
|
description: ""
|
|
21735
22017
|
}
|
|
21736
22018
|
],
|
|
21737
|
-
version: "11.
|
|
22019
|
+
version: "11.7.0"
|
|
21738
22020
|
},
|
|
21739
22021
|
{
|
|
21740
22022
|
id: "uni-rounding-mode",
|
|
@@ -21746,7 +22028,7 @@ placeholder="Name or address\u2026"
|
|
|
21746
22028
|
summary: "How a tie is resolved when rounding to a fraction-digit count.",
|
|
21747
22029
|
description: "How a tie is resolved when rounding to a fraction-digit count. `half-up` is the invoice default (ties away from zero: `1.15` \u2192 `1.2`); `half-even` is banker's rounding, which removes the upward bias across a column of figures (`1.25` \u2192 `1.2`, `1.35` \u2192 `1.4`).",
|
|
21748
22030
|
members: [],
|
|
21749
|
-
version: "11.
|
|
22031
|
+
version: "11.7.0"
|
|
21750
22032
|
},
|
|
21751
22033
|
{
|
|
21752
22034
|
id: "uni-number-preset",
|
|
@@ -21758,7 +22040,7 @@ placeholder="Name or address\u2026"
|
|
|
21758
22040
|
summary: "Format archetype.",
|
|
21759
22041
|
description: "Format archetype. Supplies decimals, grouping, affix and `inputmode`.",
|
|
21760
22042
|
members: [],
|
|
21761
|
-
version: "11.
|
|
22043
|
+
version: "11.7.0"
|
|
21762
22044
|
},
|
|
21763
22045
|
{
|
|
21764
22046
|
id: "uni-number-grouping",
|
|
@@ -21770,7 +22052,7 @@ placeholder="Name or address\u2026"
|
|
|
21770
22052
|
summary: "Thousands-separator policy, mapped onto `Intl`'s `useGrouping`.",
|
|
21771
22053
|
description: "Thousands-separator policy, mapped onto `Intl`'s `useGrouping`. `min2` \u2014 the default \u2014 groups only from five integer digits, so a year renders `2026` rather than `2,026` while a price still renders `10,000`.",
|
|
21772
22054
|
members: [],
|
|
21773
|
-
version: "11.
|
|
22055
|
+
version: "11.7.0"
|
|
21774
22056
|
},
|
|
21775
22057
|
{
|
|
21776
22058
|
id: "uni-number-reject-reason",
|
|
@@ -21782,7 +22064,7 @@ placeholder="Name or address\u2026"
|
|
|
21782
22064
|
summary: "Why a typed commit was refused.",
|
|
21783
22065
|
description: "Why a typed commit was refused. The raw text stays in the field.",
|
|
21784
22066
|
members: [],
|
|
21785
|
-
version: "11.
|
|
22067
|
+
version: "11.7.0"
|
|
21786
22068
|
},
|
|
21787
22069
|
{
|
|
21788
22070
|
id: "uni-number-step-config",
|
|
@@ -21825,7 +22107,7 @@ placeholder="Name or address\u2026"
|
|
|
21825
22107
|
description: "Cycle past a fence instead of stopping at it \u2014 for genuinely cyclic fields only (23 \u2192 0 hours, 359 \u2192 0 degrees). Needs both `min` and `max`."
|
|
21826
22108
|
}
|
|
21827
22109
|
],
|
|
21828
|
-
version: "11.
|
|
22110
|
+
version: "11.7.0"
|
|
21829
22111
|
},
|
|
21830
22112
|
{
|
|
21831
22113
|
id: "uni-number-clamp",
|
|
@@ -21850,7 +22132,7 @@ placeholder="Name or address\u2026"
|
|
|
21850
22132
|
description: "Which fence was hit, or `null` when the value was already in range."
|
|
21851
22133
|
}
|
|
21852
22134
|
],
|
|
21853
|
-
version: "11.
|
|
22135
|
+
version: "11.7.0"
|
|
21854
22136
|
},
|
|
21855
22137
|
{
|
|
21856
22138
|
id: "uni-locale-number-parts",
|
|
@@ -21893,7 +22175,7 @@ placeholder="Name or address\u2026"
|
|
|
21893
22175
|
description: "Fraction digits `Intl` uses for the currency \u2014 JPY 0, USD 2."
|
|
21894
22176
|
}
|
|
21895
22177
|
],
|
|
21896
|
-
version: "11.
|
|
22178
|
+
version: "11.7.0"
|
|
21897
22179
|
},
|
|
21898
22180
|
{
|
|
21899
22181
|
id: "uni-number-format-config",
|
|
@@ -21978,7 +22260,7 @@ placeholder="Name or address\u2026"
|
|
|
21978
22260
|
description: "Spoken long form of an abbreviated suffix, for `aria-valuetext`."
|
|
21979
22261
|
}
|
|
21980
22262
|
],
|
|
21981
|
-
version: "11.
|
|
22263
|
+
version: "11.7.0"
|
|
21982
22264
|
},
|
|
21983
22265
|
{
|
|
21984
22266
|
id: "uni-resolved-number-format",
|
|
@@ -22069,7 +22351,7 @@ placeholder="Name or address\u2026"
|
|
|
22069
22351
|
description: ""
|
|
22070
22352
|
}
|
|
22071
22353
|
],
|
|
22072
|
-
version: "11.
|
|
22354
|
+
version: "11.7.0"
|
|
22073
22355
|
},
|
|
22074
22356
|
{
|
|
22075
22357
|
id: "uni-number-parse-result",
|
|
@@ -22081,7 +22363,7 @@ placeholder="Name or address\u2026"
|
|
|
22081
22363
|
summary: "The outcome of reading a user's text.",
|
|
22082
22364
|
description: "The outcome of reading a user's text. Refused text is never swallowed: the caller keeps it in the field and flags it, so nobody loses their work to a silently emptied box.",
|
|
22083
22365
|
members: [],
|
|
22084
|
-
version: "11.
|
|
22366
|
+
version: "11.7.0"
|
|
22085
22367
|
},
|
|
22086
22368
|
{
|
|
22087
22369
|
id: "is-canonical-decimal",
|
|
@@ -22093,7 +22375,7 @@ placeholder="Name or address\u2026"
|
|
|
22093
22375
|
summary: "True when `text` is already a canonical decimal (leading/trailing space allowed).",
|
|
22094
22376
|
description: "True when `text` is already a canonical decimal (leading/trailing space allowed).",
|
|
22095
22377
|
members: [],
|
|
22096
|
-
version: "11.
|
|
22378
|
+
version: "11.7.0"
|
|
22097
22379
|
},
|
|
22098
22380
|
{
|
|
22099
22381
|
id: "decimal-scale",
|
|
@@ -22105,7 +22387,7 @@ placeholder="Name or address\u2026"
|
|
|
22105
22387
|
summary: "Fraction-digit count.",
|
|
22106
22388
|
description: "Fraction-digit count. `'1.250'` \u2192 3, `'12'` \u2192 0, `'5.'` \u2192 0.",
|
|
22107
22389
|
members: [],
|
|
22108
|
-
version: "11.
|
|
22390
|
+
version: "11.7.0"
|
|
22109
22391
|
},
|
|
22110
22392
|
{
|
|
22111
22393
|
id: "to-scaled",
|
|
@@ -22117,7 +22399,7 @@ placeholder="Name or address\u2026"
|
|
|
22117
22399
|
summary: "Canonical decimal \u2192 integer scaled by `10^scale`.",
|
|
22118
22400
|
description: "Canonical decimal \u2192 integer scaled by `10^scale`. Fraction digits beyond `scale` are truncated, so callers that must not lose them pass a `scale` at least `decimalScale(value)`.",
|
|
22119
22401
|
members: [],
|
|
22120
|
-
version: "11.
|
|
22402
|
+
version: "11.7.0"
|
|
22121
22403
|
},
|
|
22122
22404
|
{
|
|
22123
22405
|
id: "from-scaled",
|
|
@@ -22129,7 +22411,7 @@ placeholder="Name or address\u2026"
|
|
|
22129
22411
|
summary: "Scaled integer \u2192 canonical decimal, with trailing fraction zeros trimmed.",
|
|
22130
22412
|
description: "Scaled integer \u2192 canonical decimal, with trailing fraction zeros trimmed.",
|
|
22131
22413
|
members: [],
|
|
22132
|
-
version: "11.
|
|
22414
|
+
version: "11.7.0"
|
|
22133
22415
|
},
|
|
22134
22416
|
{
|
|
22135
22417
|
id: "normalize-decimal",
|
|
@@ -22141,7 +22423,7 @@ placeholder="Name or address\u2026"
|
|
|
22141
22423
|
summary: "Strip a leading `+`, leading zeros and trailing fraction zeros: `'+01.50'` \u2192 `'1.5'`.",
|
|
22142
22424
|
description: "Strip a leading `+`, leading zeros and trailing fraction zeros: `'+01.50'` \u2192 `'1.5'`. Requires a canonical decimal; guard with `isCanonicalDecimal`.",
|
|
22143
22425
|
members: [],
|
|
22144
|
-
version: "11.
|
|
22426
|
+
version: "11.7.0"
|
|
22145
22427
|
},
|
|
22146
22428
|
{
|
|
22147
22429
|
id: "to-decimal",
|
|
@@ -22153,7 +22435,7 @@ placeholder="Name or address\u2026"
|
|
|
22153
22435
|
summary: "Any numeric input \u2192 canonical decimal, expanding the exponential notation `String(number)` produces outside 1e-7\u20261e21.",
|
|
22154
22436
|
description: "Any numeric input \u2192 canonical decimal, expanding the exponential notation `String(number)` produces outside 1e-7\u20261e21. A `step` of `1e-7` would otherwise reach the arithmetic as the literal text `'1e-7'`. Throws on text that is not numeric at all \u2014 every caller here passes either a `number` input or text already cleared by the parser.",
|
|
22155
22437
|
members: [],
|
|
22156
|
-
version: "11.
|
|
22438
|
+
version: "11.7.0"
|
|
22157
22439
|
},
|
|
22158
22440
|
{
|
|
22159
22441
|
id: "compare-decimal",
|
|
@@ -22165,7 +22447,7 @@ placeholder="Name or address\u2026"
|
|
|
22165
22447
|
summary: "`-1` when `a < b`, `1` when `a > b`, `0` when equal.",
|
|
22166
22448
|
description: "`-1` when `a < b`, `1` when `a > b`, `0` when equal. `'1.50'` equals `'1.5'`.",
|
|
22167
22449
|
members: [],
|
|
22168
|
-
version: "11.
|
|
22450
|
+
version: "11.7.0"
|
|
22169
22451
|
},
|
|
22170
22452
|
{
|
|
22171
22453
|
id: "round-decimal",
|
|
@@ -22177,7 +22459,7 @@ placeholder="Name or address\u2026"
|
|
|
22177
22459
|
summary: "Round to `fractionDigits`, breaking ties per `mode`.",
|
|
22178
22460
|
description: "Round to `fractionDigits`, breaking ties per `mode`. Exact where `Number.prototype.toFixed` is not \u2014 see the file header.",
|
|
22179
22461
|
members: [],
|
|
22180
|
-
version: "11.
|
|
22462
|
+
version: "11.7.0"
|
|
22181
22463
|
},
|
|
22182
22464
|
{
|
|
22183
22465
|
id: "shift-decimal",
|
|
@@ -22189,7 +22471,7 @@ placeholder="Name or address\u2026"
|
|
|
22189
22471
|
summary: "Multiply by `10^places`, exactly.",
|
|
22190
22472
|
description: "Multiply by `10^places`, exactly. Used for the percent preset's fraction \u21C4 display shift (`0.15` \u21C4 `15`) and for deriving a default large step of `step \xD7 10` without touching a float.",
|
|
22191
22473
|
members: [],
|
|
22192
|
-
version: "11.
|
|
22474
|
+
version: "11.7.0"
|
|
22193
22475
|
},
|
|
22194
22476
|
{
|
|
22195
22477
|
id: "clamp-decimal",
|
|
@@ -22201,7 +22483,7 @@ placeholder="Name or address\u2026"
|
|
|
22201
22483
|
summary: "Hold a value inside its fences, reporting which one it hit so the caller can announce it.",
|
|
22202
22484
|
description: "Hold a value inside its fences, reporting which one it hit so the caller can announce it. Clamping belongs on commit, never per keystroke: a `min=10` field that clamps live can never be typed into, because the `1` becomes `10` before the `5` arrives.",
|
|
22203
22485
|
members: [],
|
|
22204
|
-
version: "11.
|
|
22486
|
+
version: "11.7.0"
|
|
22205
22487
|
},
|
|
22206
22488
|
{
|
|
22207
22489
|
id: "step-decimal",
|
|
@@ -22213,7 +22495,7 @@ placeholder="Name or address\u2026"
|
|
|
22213
22495
|
summary: "One step from `current`, in `direction` (`1` up, `-1` down).",
|
|
22214
22496
|
description: "One step from `current`, in `direction` (`1` up, `-1` down). Steps land on the grid `origin + n \xB7 step`, where `origin` is `min` by default. A value that is *off* the grid snaps to the nearest grid point **in the direction of travel** rather than jumping past it: with `min=5, step=10` the grid is 5, 15, 25, and stepping up from 7 gives 15, not 17. Fences stop the value; they never wrap unless `wrap` is set and both bounds are defined. Returns `current` unchanged when `step` is zero.",
|
|
22215
22497
|
members: [],
|
|
22216
|
-
version: "11.
|
|
22498
|
+
version: "11.7.0"
|
|
22217
22499
|
},
|
|
22218
22500
|
{
|
|
22219
22501
|
id: "locale-number-parts",
|
|
@@ -22225,7 +22507,7 @@ placeholder="Name or address\u2026"
|
|
|
22225
22507
|
summary: "Locale separators plus, when a currency is given, its symbol, side and fraction digits.",
|
|
22226
22508
|
description: "Locale separators plus, when a currency is given, its symbol, side and fraction digits. Memoized: constructing an `Intl.NumberFormat` is expensive and a field re-resolves this on every keystroke.",
|
|
22227
22509
|
members: [],
|
|
22228
|
-
version: "11.
|
|
22510
|
+
version: "11.7.0"
|
|
22229
22511
|
},
|
|
22230
22512
|
{
|
|
22231
22513
|
id: "to-ascii-digits",
|
|
@@ -22237,7 +22519,7 @@ placeholder="Name or address\u2026"
|
|
|
22237
22519
|
summary: "Map localized digits and Arabic separators to ASCII, so `\u0661\u0662\u0663\u0664\u066B\u0665` parses in `ar` and `\u0967\u0968\u0969\u096A.\u096B` in `hi`.",
|
|
22238
22520
|
description: "Map localized digits and Arabic separators to ASCII, so `\u0661\u0662\u0663\u0664\u066B\u0665` parses in `ar` and `\u0967\u0968\u0969\u096A.\u096B` in `hi`.",
|
|
22239
22521
|
members: [],
|
|
22240
|
-
version: "11.
|
|
22522
|
+
version: "11.7.0"
|
|
22241
22523
|
},
|
|
22242
22524
|
{
|
|
22243
22525
|
id: "evaluate-expression",
|
|
@@ -22249,7 +22531,7 @@ placeholder="Name or address\u2026"
|
|
|
22249
22531
|
summary: "Evaluate `+ \u2212 \xD7 \xF7 ( )` over decimal literals \u2014 shunting-yard, roughly thirty lines, and **never `eval`**.",
|
|
22250
22532
|
description: "Evaluate `+ \u2212 \xD7 \xF7 ( )` over decimal literals \u2014 shunting-yard, roughly thirty lines, and **never `eval`**. Returns a canonical decimal, or `null` when the text is not a well-formed expression. Floats are acceptable here in a way they are not elsewhere: this is a convenience path for spreadsheet muscle memory (`12*3`, `100/4+5`), and the result is settled to ten decimals before re-entering exact arithmetic. Division is the only operation that can produce a non-terminating decimal, and no exact representation would help there either.",
|
|
22251
22533
|
members: [],
|
|
22252
|
-
version: "11.
|
|
22534
|
+
version: "11.7.0"
|
|
22253
22535
|
},
|
|
22254
22536
|
{
|
|
22255
22537
|
id: "resolve-number-format",
|
|
@@ -22261,7 +22543,7 @@ placeholder="Name or address\u2026"
|
|
|
22261
22543
|
summary: "Fill in every preset, locale and currency default.",
|
|
22262
22544
|
description: "Fill in every preset, locale and currency default.",
|
|
22263
22545
|
members: [],
|
|
22264
|
-
version: "11.
|
|
22546
|
+
version: "11.7.0"
|
|
22265
22547
|
},
|
|
22266
22548
|
{
|
|
22267
22549
|
id: "parse-number",
|
|
@@ -22273,7 +22555,7 @@ placeholder="Name or address\u2026"
|
|
|
22273
22555
|
summary: "Read a user's text into a canonical decimal in **model units**.",
|
|
22274
22556
|
description: "Read a user's text into a canonical decimal in **model units**. Accepted, in order: canonical/ASCII (always, whatever the locale \u2014 it is what agents and APIs write), locale-grouped, affixed, localized digits, compact (`1.5k`), accounting negatives (`(1,234.56)` \u2192 `-1234.56`), and expressions when `allowExpressions` is set.",
|
|
22275
22557
|
members: [],
|
|
22276
|
-
version: "11.
|
|
22558
|
+
version: "11.7.0"
|
|
22277
22559
|
},
|
|
22278
22560
|
{
|
|
22279
22561
|
id: "format-number",
|
|
@@ -22285,7 +22567,7 @@ placeholder="Name or address\u2026"
|
|
|
22285
22567
|
summary: "Canonical decimal (model units) \u2192 the display number, without affixes.",
|
|
22286
22568
|
description: "Canonical decimal (model units) \u2192 the display number, without affixes. `min2` grouping \u2014 the default \u2014 starts at five integer digits, so a year renders `2026` rather than `2,026` while a price still renders `10,000`.",
|
|
22287
22569
|
members: [],
|
|
22288
|
-
version: "11.
|
|
22570
|
+
version: "11.7.0"
|
|
22289
22571
|
},
|
|
22290
22572
|
{
|
|
22291
22573
|
id: "raw-number-text",
|
|
@@ -22297,7 +22579,7 @@ placeholder="Name or address\u2026"
|
|
|
22297
22579
|
summary: "The plain text the field shows while focused: the display number with no grouping and no affixes, so the caret never has to walk over a separator that appears and vanishes mid-word.",
|
|
22298
22580
|
description: "The plain text the field shows while focused: the display number with no grouping and no affixes, so the caret never has to walk over a separator that appears and vanishes mid-word.",
|
|
22299
22581
|
members: [],
|
|
22300
|
-
version: "11.
|
|
22582
|
+
version: "11.7.0"
|
|
22301
22583
|
},
|
|
22302
22584
|
{
|
|
22303
22585
|
id: "settle-number",
|
|
@@ -22309,7 +22591,7 @@ placeholder="Name or address\u2026"
|
|
|
22309
22591
|
summary: "Round a committed value to the field's precision, in model units.",
|
|
22310
22592
|
description: "Round a committed value to the field's precision, in model units.",
|
|
22311
22593
|
members: [],
|
|
22312
|
-
version: "11.
|
|
22594
|
+
version: "11.7.0"
|
|
22313
22595
|
},
|
|
22314
22596
|
{
|
|
22315
22597
|
id: "speak-number",
|
|
@@ -22321,7 +22603,7 @@ placeholder="Name or address\u2026"
|
|
|
22321
22603
|
summary: "The `aria-valuetext` string: the formatted number with its affixes spoken.",
|
|
22322
22604
|
description: 'The `aria-valuetext` string: the formatted number with its affixes spoken. `aria-valuenow` alone announces "1234.56", which is the one thing about a money field that is not the point. An empty field says "Empty" per APG.',
|
|
22323
22605
|
members: [],
|
|
22324
|
-
version: "11.
|
|
22606
|
+
version: "11.7.0"
|
|
22325
22607
|
},
|
|
22326
22608
|
{
|
|
22327
22609
|
id: "to-number",
|
|
@@ -22333,7 +22615,7 @@ placeholder="Name or address\u2026"
|
|
|
22333
22615
|
summary: "Model-units canonical decimal \u2192 the bound `number`.",
|
|
22334
22616
|
description: "Model-units canonical decimal \u2192 the bound `number`.",
|
|
22335
22617
|
members: [],
|
|
22336
|
-
version: "11.
|
|
22618
|
+
version: "11.7.0"
|
|
22337
22619
|
},
|
|
22338
22620
|
{
|
|
22339
22621
|
id: "loses-precision",
|
|
@@ -22345,7 +22627,7 @@ placeholder="Name or address\u2026"
|
|
|
22345
22627
|
summary: "True when a value cannot survive the trip through `number` \u2014 the reason the components also expose an exact `valueAsString` model, and the trigger for the dev-mode warning.",
|
|
22346
22628
|
description: "True when a value cannot survive the trip through `number` \u2014 the reason the components also expose an exact `valueAsString` model, and the trigger for the dev-mode warning. Silent precision loss is the whole point of that second model, so it is worth saying out loud once. A `number` can only be checked for magnitude, since it has already lost whatever it was going to lose. A canonical string can be checked properly: `'9007199254740993'` comes back as `'9007199254740992'`.",
|
|
22347
22629
|
members: [],
|
|
22348
|
-
version: "11.
|
|
22630
|
+
version: "11.7.0"
|
|
22349
22631
|
},
|
|
22350
22632
|
{
|
|
22351
22633
|
id: "press-repeat-timing",
|
|
@@ -22382,7 +22664,7 @@ placeholder="Name or address\u2026"
|
|
|
22382
22664
|
description: ""
|
|
22383
22665
|
}
|
|
22384
22666
|
],
|
|
22385
|
-
version: "11.
|
|
22667
|
+
version: "11.7.0"
|
|
22386
22668
|
},
|
|
22387
22669
|
{
|
|
22388
22670
|
id: "press-repeat-config",
|
|
@@ -22431,7 +22713,7 @@ placeholder="Name or address\u2026"
|
|
|
22431
22713
|
description: ""
|
|
22432
22714
|
}
|
|
22433
22715
|
],
|
|
22434
|
-
version: "11.
|
|
22716
|
+
version: "11.7.0"
|
|
22435
22717
|
},
|
|
22436
22718
|
{
|
|
22437
22719
|
id: "press-repeat",
|
|
@@ -22468,7 +22750,7 @@ placeholder="Name or address\u2026"
|
|
|
22468
22750
|
description: "End a hold without firing `onRelease` \u2014 for `Escape` and `pointercancel`."
|
|
22469
22751
|
}
|
|
22470
22752
|
],
|
|
22471
|
-
version: "11.
|
|
22753
|
+
version: "11.7.0"
|
|
22472
22754
|
},
|
|
22473
22755
|
{
|
|
22474
22756
|
id: "create-press-repeat",
|
|
@@ -22480,7 +22762,7 @@ placeholder="Name or address\u2026"
|
|
|
22480
22762
|
summary: "",
|
|
22481
22763
|
description: "",
|
|
22482
22764
|
members: [],
|
|
22483
|
-
version: "11.
|
|
22765
|
+
version: "11.7.0"
|
|
22484
22766
|
},
|
|
22485
22767
|
{
|
|
22486
22768
|
id: "listbox-navigation-config",
|
|
@@ -22523,7 +22805,7 @@ placeholder="Name or address\u2026"
|
|
|
22523
22805
|
description: "Let Home/End jump to the ends of the list. Default false. In an editable combobox those keys belong to the caret \u2014 APG reserves them for text editing, and a control that steals them makes the text un-navigable while its list is open. Opt in only where focus is *not* in a text field (uni-multi-select-dropdown, whose focus rides the option checkboxes). Nothing is lost by leaving it off: opening with ArrowUp already lands on the last option, ArrowDown on the first, and navigation wraps at both ends."
|
|
22524
22806
|
}
|
|
22525
22807
|
],
|
|
22526
|
-
version: "11.
|
|
22808
|
+
version: "11.7.0"
|
|
22527
22809
|
},
|
|
22528
22810
|
{
|
|
22529
22811
|
id: "listbox-navigation",
|
|
@@ -22596,7 +22878,7 @@ placeholder="Name or address\u2026"
|
|
|
22596
22878
|
description: "Close when focus leaves the control entirely (not on internal moves)."
|
|
22597
22879
|
}
|
|
22598
22880
|
],
|
|
22599
|
-
version: "11.
|
|
22881
|
+
version: "11.7.0"
|
|
22600
22882
|
},
|
|
22601
22883
|
{
|
|
22602
22884
|
id: "create-listbox-navigation",
|
|
@@ -22608,7 +22890,7 @@ placeholder="Name or address\u2026"
|
|
|
22608
22890
|
summary: "Factory mirroring the signal-API style used elsewhere in the CDK.",
|
|
22609
22891
|
description: "Factory mirroring the signal-API style used elsewhere in the CDK.",
|
|
22610
22892
|
members: [],
|
|
22611
|
-
version: "11.
|
|
22893
|
+
version: "11.7.0"
|
|
22612
22894
|
},
|
|
22613
22895
|
{
|
|
22614
22896
|
id: "placement",
|
|
@@ -22620,7 +22902,7 @@ placeholder="Name or address\u2026"
|
|
|
22620
22902
|
summary: "Native CSS Anchor Positioning helpers (Baseline 2026).",
|
|
22621
22903
|
description: "Native CSS Anchor Positioning helpers (Baseline 2026). These replace the former",
|
|
22622
22904
|
members: [],
|
|
22623
|
-
version: "11.
|
|
22905
|
+
version: "11.7.0"
|
|
22624
22906
|
},
|
|
22625
22907
|
{
|
|
22626
22908
|
id: "anchor-offset",
|
|
@@ -22645,7 +22927,7 @@ placeholder="Name or address\u2026"
|
|
|
22645
22927
|
description: "Shift along the cross axis, from the aligned edge."
|
|
22646
22928
|
}
|
|
22647
22929
|
],
|
|
22648
|
-
version: "11.
|
|
22930
|
+
version: "11.7.0"
|
|
22649
22931
|
},
|
|
22650
22932
|
{
|
|
22651
22933
|
id: "new-anchor-name",
|
|
@@ -22657,7 +22939,7 @@ placeholder="Name or address\u2026"
|
|
|
22657
22939
|
summary: "Returns a document-unique dashed-ident usable as a CSS `anchor-name`.",
|
|
22658
22940
|
description: "Returns a document-unique dashed-ident usable as a CSS `anchor-name`.",
|
|
22659
22941
|
members: [],
|
|
22660
|
-
version: "11.
|
|
22942
|
+
version: "11.7.0"
|
|
22661
22943
|
},
|
|
22662
22944
|
{
|
|
22663
22945
|
id: "anchor-styles",
|
|
@@ -22669,7 +22951,7 @@ placeholder="Name or address\u2026"
|
|
|
22669
22951
|
summary: "Emotion style object anchoring a panel to `anchor` at `placement`.",
|
|
22670
22952
|
description: "Emotion style object anchoring a panel to `anchor` at `placement`. Spread into the panel's `css()` styles. The trigger element must carry `anchor-name: <anchor>` (see `newAnchorName`).",
|
|
22671
22953
|
members: [],
|
|
22672
|
-
version: "11.
|
|
22954
|
+
version: "11.7.0"
|
|
22673
22955
|
},
|
|
22674
22956
|
{
|
|
22675
22957
|
id: "anchor-arrow-styles",
|
|
@@ -22681,7 +22963,7 @@ placeholder="Name or address\u2026"
|
|
|
22681
22963
|
summary: "Absolute positioning for a rotated-square arrow sitting on the panel edge that faces the anchor.",
|
|
22682
22964
|
description: "Absolute positioning for a rotated-square arrow sitting on the panel edge that faces the anchor. Static per placement: if the browser flips the panel via position-try, the arrow stays on the configured side (cosmetic-only degradation, matching the flip-support caveat above). `overlap` (default 0 \u2014 cut exactly on the panel edge) extends the kept half into the panel; see for when that is ever wanted.",
|
|
22683
22965
|
members: [],
|
|
22684
|
-
version: "11.
|
|
22966
|
+
version: "11.7.0"
|
|
22685
22967
|
},
|
|
22686
22968
|
{
|
|
22687
22969
|
id: "spotlight-options",
|
|
@@ -22712,7 +22994,7 @@ placeholder="Name or address\u2026"
|
|
|
22712
22994
|
description: "Scrim paint; scheme-invariant by convention, like `::backdrop`."
|
|
22713
22995
|
}
|
|
22714
22996
|
],
|
|
22715
|
-
version: "11.
|
|
22997
|
+
version: "11.7.0"
|
|
22716
22998
|
},
|
|
22717
22999
|
{
|
|
22718
23000
|
id: "spotlight-styles",
|
|
@@ -22743,7 +23025,7 @@ placeholder="Name or address\u2026"
|
|
|
22743
23025
|
description: "Hole-sized click-blocker, shown when the target must not be interactive."
|
|
22744
23026
|
}
|
|
22745
23027
|
],
|
|
22746
|
-
version: "11.
|
|
23028
|
+
version: "11.7.0"
|
|
22747
23029
|
},
|
|
22748
23030
|
{
|
|
22749
23031
|
id: "anchor-rect",
|
|
@@ -22792,7 +23074,7 @@ placeholder="Name or address\u2026"
|
|
|
22792
23074
|
description: ""
|
|
22793
23075
|
}
|
|
22794
23076
|
],
|
|
22795
|
-
version: "11.
|
|
23077
|
+
version: "11.7.0"
|
|
22796
23078
|
},
|
|
22797
23079
|
{
|
|
22798
23080
|
id: "transform-origin-for",
|
|
@@ -22804,7 +23086,7 @@ placeholder="Name or address\u2026"
|
|
|
22804
23086
|
summary: "Transform origin for a panel's open/close scale animation, derived from where the panel **actually** rendered relative to its anchor \u2014 not from the requested placement.",
|
|
22805
23087
|
description: "Transform origin for a panel's open/close scale animation, derived from where the panel **actually** rendered relative to its anchor \u2014 not from the requested placement. `position-try-fallbacks` lets the browser flip a panel at viewport edges, and a statically mapped origin then animates from the wrong corner (a `bottom-end` picker flipped above its field would still scale from `top right`). Measure after the popover is shown and apply the result as an inline style. Returns keyword pairs like `'top right'` / `'bottom center'`, or `null` when the panel has no box yet (e.g. `display: none`, or jsdom).",
|
|
22806
23088
|
members: [],
|
|
22807
|
-
version: "11.
|
|
23089
|
+
version: "11.7.0"
|
|
22808
23090
|
},
|
|
22809
23091
|
{
|
|
22810
23092
|
id: "transform-origins",
|
|
@@ -22816,7 +23098,7 @@ placeholder="Name or address\u2026"
|
|
|
22816
23098
|
summary: "Placement \u2192 `transform-origin`, so scale animations grow from the anchor.",
|
|
22817
23099
|
description: "Placement \u2192 `transform-origin`, so scale animations grow from the anchor.",
|
|
22818
23100
|
members: [],
|
|
22819
|
-
version: "11.
|
|
23101
|
+
version: "11.7.0"
|
|
22820
23102
|
},
|
|
22821
23103
|
{
|
|
22822
23104
|
id: "set-anchor-name",
|
|
@@ -22828,7 +23110,7 @@ placeholder="Name or address\u2026"
|
|
|
22828
23110
|
summary: "Write a CSS `anchor-name` onto an element (detached anchors and targets).",
|
|
22829
23111
|
description: "Write a CSS `anchor-name` onto an element (detached anchors and targets).",
|
|
22830
23112
|
members: [],
|
|
22831
|
-
version: "11.
|
|
23113
|
+
version: "11.7.0"
|
|
22832
23114
|
},
|
|
22833
23115
|
{
|
|
22834
23116
|
id: "clear-anchor-name",
|
|
@@ -22840,7 +23122,7 @@ placeholder="Name or address\u2026"
|
|
|
22840
23122
|
summary: "",
|
|
22841
23123
|
description: "",
|
|
22842
23124
|
members: [],
|
|
22843
|
-
version: "11.
|
|
23125
|
+
version: "11.7.0"
|
|
22844
23126
|
},
|
|
22845
23127
|
{
|
|
22846
23128
|
id: "resolve-element",
|
|
@@ -22852,7 +23134,7 @@ placeholder="Name or address\u2026"
|
|
|
22852
23134
|
summary: "Resolve an element-or-id reference.",
|
|
22853
23135
|
description: "Resolve an element-or-id reference. Id strings are looked up at call time \u2014 never cache the result across opens, the element may have been re-rendered. `''` and null-ish mean \"unset\" (falsy guard: an empty string is the only typeable empty for a string-typed input).",
|
|
22854
23136
|
members: [],
|
|
22855
|
-
version: "11.
|
|
23137
|
+
version: "11.7.0"
|
|
22856
23138
|
},
|
|
22857
23139
|
{
|
|
22858
23140
|
id: "is-toggle-open",
|
|
@@ -22864,7 +23146,7 @@ placeholder="Name or address\u2026"
|
|
|
22864
23146
|
summary: "True when a native `toggle` event reports the overlay opening.",
|
|
22865
23147
|
description: "True when a native `toggle` event reports the overlay opening.",
|
|
22866
23148
|
members: [],
|
|
22867
|
-
version: "11.
|
|
23149
|
+
version: "11.7.0"
|
|
22868
23150
|
},
|
|
22869
23151
|
{
|
|
22870
23152
|
id: "discrete-overlay-transition",
|
|
@@ -22876,7 +23158,7 @@ placeholder="Name or address\u2026"
|
|
|
22876
23158
|
summary: "The discrete-transition block that animates an element into and out of the top layer: `transition-behavior: allow-discrete` over the `hidden` keys plus `display`/`overlay`, the shown state under `:popover-open`, and `@starting-style` so entry transitions run from the hidden state.",
|
|
22877
23159
|
description: "The discrete-transition block that animates an element into and out of the top layer: `transition-behavior: allow-discrete` over the `hidden` keys plus `display`/`overlay`, the shown state under `:popover-open`, and `@starting-style` so entry transitions run from the hidden state. `display` and `overlay` must ride along or the element cannot animate into and out of the top layer at all \u2014 it would simply appear and vanish. `timingFunction` is omitted from the output when not given, leaving the CSS initial value (`ease`), so callers that never asked for one are unaffected.",
|
|
22878
23160
|
members: [],
|
|
22879
|
-
version: "11.
|
|
23161
|
+
version: "11.7.0"
|
|
22880
23162
|
},
|
|
22881
23163
|
{
|
|
22882
23164
|
id: "restore-overlay-focus",
|
|
@@ -22888,7 +23170,7 @@ placeholder="Name or address\u2026"
|
|
|
22888
23170
|
summary: "Returns focus to `target` when an overlay closes while focus was inside its panel (or was dropped on `<body>` by the top layer closing), so keyboard users are never stranded (WCAG 2.4.3).",
|
|
22889
23171
|
description: "Returns focus to `target` when an overlay closes while focus was inside its panel (or was dropped on `<body>` by the top layer closing), so keyboard users are never stranded (WCAG 2.4.3). Focus resting anywhere else is left alone.",
|
|
22890
23172
|
members: [],
|
|
22891
|
-
version: "11.
|
|
23173
|
+
version: "11.7.0"
|
|
22892
23174
|
},
|
|
22893
23175
|
{
|
|
22894
23176
|
id: "focusable-elements",
|
|
@@ -22900,7 +23182,7 @@ placeholder="Name or address\u2026"
|
|
|
22900
23182
|
summary: "The focusable elements inside `root`, in DOM order.",
|
|
22901
23183
|
description: "The focusable elements inside `root`, in DOM order. Filters disabled controls, and hidden ones where the environment can tell: jsdom reports `offsetParent` as null for every element, so the visibility filter applies only when the document actually lays out (some element has an offsetParent).",
|
|
22902
23184
|
members: [],
|
|
22903
|
-
version: "11.
|
|
23185
|
+
version: "11.7.0"
|
|
22904
23186
|
},
|
|
22905
23187
|
{
|
|
22906
23188
|
id: "backdrop-dismiss",
|
|
@@ -22925,7 +23207,7 @@ placeholder="Name or address\u2026"
|
|
|
22925
23207
|
description: "True only when both the press and the click landed on the dialog itself."
|
|
22926
23208
|
}
|
|
22927
23209
|
],
|
|
22928
|
-
version: "11.
|
|
23210
|
+
version: "11.7.0"
|
|
22929
23211
|
},
|
|
22930
23212
|
{
|
|
22931
23213
|
id: "sort-direction",
|
|
@@ -22937,7 +23219,7 @@ placeholder="Name or address\u2026"
|
|
|
22937
23219
|
summary: "",
|
|
22938
23220
|
description: "",
|
|
22939
23221
|
members: [],
|
|
22940
|
-
version: "11.
|
|
23222
|
+
version: "11.7.0"
|
|
22941
23223
|
},
|
|
22942
23224
|
{
|
|
22943
23225
|
id: "sort",
|
|
@@ -22962,7 +23244,7 @@ placeholder="Name or address\u2026"
|
|
|
22962
23244
|
description: ""
|
|
22963
23245
|
}
|
|
22964
23246
|
],
|
|
22965
|
-
version: "11.
|
|
23247
|
+
version: "11.7.0"
|
|
22966
23248
|
},
|
|
22967
23249
|
{
|
|
22968
23250
|
id: "uni-base-datasource",
|
|
@@ -23131,7 +23413,7 @@ placeholder="Name or address\u2026"
|
|
|
23131
23413
|
description: ""
|
|
23132
23414
|
}
|
|
23133
23415
|
],
|
|
23134
|
-
version: "11.
|
|
23416
|
+
version: "11.7.0"
|
|
23135
23417
|
},
|
|
23136
23418
|
{
|
|
23137
23419
|
id: "page-request",
|
|
@@ -23174,7 +23456,7 @@ placeholder="Name or address\u2026"
|
|
|
23174
23456
|
description: ""
|
|
23175
23457
|
}
|
|
23176
23458
|
],
|
|
23177
|
-
version: "11.
|
|
23459
|
+
version: "11.7.0"
|
|
23178
23460
|
},
|
|
23179
23461
|
{
|
|
23180
23462
|
id: "page-response",
|
|
@@ -23211,7 +23493,7 @@ placeholder="Name or address\u2026"
|
|
|
23211
23493
|
description: ""
|
|
23212
23494
|
}
|
|
23213
23495
|
],
|
|
23214
|
-
version: "11.
|
|
23496
|
+
version: "11.7.0"
|
|
23215
23497
|
},
|
|
23216
23498
|
{
|
|
23217
23499
|
id: "data-loader",
|
|
@@ -23223,7 +23505,7 @@ placeholder="Name or address\u2026"
|
|
|
23223
23505
|
summary: "",
|
|
23224
23506
|
description: "",
|
|
23225
23507
|
members: [],
|
|
23226
|
-
version: "11.
|
|
23508
|
+
version: "11.7.0"
|
|
23227
23509
|
},
|
|
23228
23510
|
{
|
|
23229
23511
|
id: "uni-server-side-datasource",
|
|
@@ -23362,7 +23644,7 @@ placeholder="Name or address\u2026"
|
|
|
23362
23644
|
description: ""
|
|
23363
23645
|
}
|
|
23364
23646
|
],
|
|
23365
|
-
version: "11.
|
|
23647
|
+
version: "11.7.0"
|
|
23366
23648
|
},
|
|
23367
23649
|
{
|
|
23368
23650
|
id: "uni-datasource",
|
|
@@ -23374,7 +23656,7 @@ placeholder="Name or address\u2026"
|
|
|
23374
23656
|
summary: "",
|
|
23375
23657
|
description: "",
|
|
23376
23658
|
members: [],
|
|
23377
|
-
version: "11.
|
|
23659
|
+
version: "11.7.0"
|
|
23378
23660
|
},
|
|
23379
23661
|
{
|
|
23380
23662
|
id: "uni-record-datasource",
|
|
@@ -23483,7 +23765,7 @@ placeholder="Name or address\u2026"
|
|
|
23483
23765
|
description: ""
|
|
23484
23766
|
}
|
|
23485
23767
|
],
|
|
23486
|
-
version: "11.
|
|
23768
|
+
version: "11.7.0"
|
|
23487
23769
|
},
|
|
23488
23770
|
{
|
|
23489
23771
|
id: "local-storage-service",
|
|
@@ -23538,7 +23820,7 @@ placeholder="Name or address\u2026"
|
|
|
23538
23820
|
description: ""
|
|
23539
23821
|
}
|
|
23540
23822
|
],
|
|
23541
|
-
version: "11.
|
|
23823
|
+
version: "11.7.0"
|
|
23542
23824
|
},
|
|
23543
23825
|
{
|
|
23544
23826
|
id: "alert",
|
|
@@ -23593,7 +23875,7 @@ placeholder="Name or address\u2026"
|
|
|
23593
23875
|
description: ""
|
|
23594
23876
|
}
|
|
23595
23877
|
],
|
|
23596
|
-
version: "11.
|
|
23878
|
+
version: "11.7.0"
|
|
23597
23879
|
},
|
|
23598
23880
|
{
|
|
23599
23881
|
id: "snackbar",
|
|
@@ -23648,7 +23930,7 @@ placeholder="Name or address\u2026"
|
|
|
23648
23930
|
description: ""
|
|
23649
23931
|
}
|
|
23650
23932
|
],
|
|
23651
|
-
version: "11.
|
|
23933
|
+
version: "11.7.0"
|
|
23652
23934
|
},
|
|
23653
23935
|
{
|
|
23654
23936
|
id: "confirmation",
|
|
@@ -23697,7 +23979,7 @@ placeholder="Name or address\u2026"
|
|
|
23697
23979
|
description: ""
|
|
23698
23980
|
}
|
|
23699
23981
|
],
|
|
23700
|
-
version: "11.
|
|
23982
|
+
version: "11.7.0"
|
|
23701
23983
|
},
|
|
23702
23984
|
{
|
|
23703
23985
|
id: "notification-service",
|
|
@@ -23764,7 +24046,7 @@ placeholder="Name or address\u2026"
|
|
|
23764
24046
|
description: ""
|
|
23765
24047
|
}
|
|
23766
24048
|
],
|
|
23767
|
-
version: "11.
|
|
24049
|
+
version: "11.7.0"
|
|
23768
24050
|
},
|
|
23769
24051
|
{
|
|
23770
24052
|
id: "option",
|
|
@@ -23801,7 +24083,7 @@ placeholder="Name or address\u2026"
|
|
|
23801
24083
|
description: "Visible and announced, but not committable; listbox navigation skips it."
|
|
23802
24084
|
}
|
|
23803
24085
|
],
|
|
23804
|
-
version: "11.
|
|
24086
|
+
version: "11.7.0"
|
|
23805
24087
|
},
|
|
23806
24088
|
{
|
|
23807
24089
|
id: "options",
|
|
@@ -23813,7 +24095,7 @@ placeholder="Name or address\u2026"
|
|
|
23813
24095
|
summary: "",
|
|
23814
24096
|
description: "",
|
|
23815
24097
|
members: [],
|
|
23816
|
-
version: "11.
|
|
24098
|
+
version: "11.7.0"
|
|
23817
24099
|
},
|
|
23818
24100
|
{
|
|
23819
24101
|
id: "use-timer",
|
|
@@ -23825,7 +24107,7 @@ placeholder="Name or address\u2026"
|
|
|
23825
24107
|
summary: "",
|
|
23826
24108
|
description: "",
|
|
23827
24109
|
members: [],
|
|
23828
|
-
version: "11.
|
|
24110
|
+
version: "11.7.0"
|
|
23829
24111
|
},
|
|
23830
24112
|
{
|
|
23831
24113
|
id: "acceptable-file",
|
|
@@ -23837,7 +24119,7 @@ placeholder="Name or address\u2026"
|
|
|
23837
24119
|
summary: "",
|
|
23838
24120
|
description: "",
|
|
23839
24121
|
members: [],
|
|
23840
|
-
version: "11.
|
|
24122
|
+
version: "11.7.0"
|
|
23841
24123
|
},
|
|
23842
24124
|
{
|
|
23843
24125
|
id: "get-file-extension",
|
|
@@ -23849,7 +24131,7 @@ placeholder="Name or address\u2026"
|
|
|
23849
24131
|
summary: "",
|
|
23850
24132
|
description: "",
|
|
23851
24133
|
members: [],
|
|
23852
|
-
version: "11.
|
|
24134
|
+
version: "11.7.0"
|
|
23853
24135
|
},
|
|
23854
24136
|
{
|
|
23855
24137
|
id: "query-permission",
|
|
@@ -23861,7 +24143,7 @@ placeholder="Name or address\u2026"
|
|
|
23861
24143
|
summary: "The current state of a browser permission.",
|
|
23862
24144
|
description: 'The current state of a browser permission. Resolves `unsupported` \u2014 never rejects \u2014 where the Permissions API is missing or does not know the name, which is the norm rather than the exception: Firefox and Safari reject `clipboard-write`, for one. Treat `unsupported` as "can\'t tell", not "no".',
|
|
23863
24145
|
members: [],
|
|
23864
|
-
version: "11.
|
|
24146
|
+
version: "11.7.0"
|
|
23865
24147
|
},
|
|
23866
24148
|
{
|
|
23867
24149
|
id: "permission-service",
|
|
@@ -23886,7 +24168,7 @@ placeholder="Name or address\u2026"
|
|
|
23886
24168
|
description: ""
|
|
23887
24169
|
}
|
|
23888
24170
|
],
|
|
23889
|
-
version: "11.
|
|
24171
|
+
version: "11.7.0"
|
|
23890
24172
|
},
|
|
23891
24173
|
{
|
|
23892
24174
|
id: "permission",
|
|
@@ -23898,7 +24180,7 @@ placeholder="Name or address\u2026"
|
|
|
23898
24180
|
summary: "",
|
|
23899
24181
|
description: "",
|
|
23900
24182
|
members: [],
|
|
23901
|
-
version: "11.
|
|
24183
|
+
version: "11.7.0"
|
|
23902
24184
|
},
|
|
23903
24185
|
{
|
|
23904
24186
|
id: "permission-state",
|
|
@@ -23910,7 +24192,7 @@ placeholder="Name or address\u2026"
|
|
|
23910
24192
|
summary: "",
|
|
23911
24193
|
description: "",
|
|
23912
24194
|
members: [],
|
|
23913
|
-
version: "11.
|
|
24195
|
+
version: "11.7.0"
|
|
23914
24196
|
},
|
|
23915
24197
|
{
|
|
23916
24198
|
id: "clipboard-copy-result",
|
|
@@ -23922,7 +24204,7 @@ placeholder="Name or address\u2026"
|
|
|
23922
24204
|
summary: "How a copy ended: - `copied` \u2014 the content is on the clipboard.",
|
|
23923
24205
|
description: "How a copy ended: - `copied` \u2014 the content is on the clipboard. - `denied` \u2014 the user or a policy has blocked clipboard access for this site; only a change in the browser's site settings will fix it. - `unsupported` \u2014 no Clipboard API here (an insecure context, a server render, an old browser) or the browser cannot write one of the types. - `failed` \u2014 the browser refused this attempt for another reason, most often a call made outside a user gesture or from an unfocused document.",
|
|
23924
24206
|
members: [],
|
|
23925
|
-
version: "11.
|
|
24207
|
+
version: "11.7.0"
|
|
23926
24208
|
},
|
|
23927
24209
|
{
|
|
23928
24210
|
id: "clipboard-data",
|
|
@@ -23934,7 +24216,7 @@ placeholder="Name or address\u2026"
|
|
|
23934
24216
|
summary: "One clipboard representation; a promise lets the data arrive after the gesture.",
|
|
23935
24217
|
description: "One clipboard representation; a promise lets the data arrive after the gesture.",
|
|
23936
24218
|
members: [],
|
|
23937
|
-
version: "11.
|
|
24219
|
+
version: "11.7.0"
|
|
23938
24220
|
},
|
|
23939
24221
|
{
|
|
23940
24222
|
id: "clipboard-content",
|
|
@@ -23946,7 +24228,7 @@ placeholder="Name or address\u2026"
|
|
|
23946
24228
|
summary: "What to copy: a plain string, or one item in several representations keyed by MIME type \u2014 `{ 'text/plain': \u2026, 'text/html': \u2026 }`, `{ 'image/png': blob }`.",
|
|
23947
24229
|
description: "What to copy: a plain string, or one item in several representations keyed by MIME type \u2014 `{ 'text/plain': \u2026, 'text/html': \u2026 }`, `{ 'image/png': blob }`.",
|
|
23948
24230
|
members: [],
|
|
23949
|
-
version: "11.
|
|
24231
|
+
version: "11.7.0"
|
|
23950
24232
|
},
|
|
23951
24233
|
{
|
|
23952
24234
|
id: "copy-to-clipboard",
|
|
@@ -23958,7 +24240,7 @@ placeholder="Name or address\u2026"
|
|
|
23958
24240
|
summary: "Copies text or rich content with the Async Clipboard API.",
|
|
23959
24241
|
description: "Copies text or rich content with the Async Clipboard API. Never rejects: the result says what happened, so a caller can tell the user why. Call it directly from the click or key handler. The write starts synchronously, before anything is awaited, because browsers only honor it inside the user gesture \u2014 which is also why the `clipboard-write` permission is consulted after a refusal, to explain it, rather than before the attempt. For content that has to be fetched or rendered first, pass a promise as the value instead of awaiting it yourself.",
|
|
23960
24242
|
members: [],
|
|
23961
|
-
version: "11.
|
|
24243
|
+
version: "11.7.0"
|
|
23962
24244
|
}
|
|
23963
24245
|
],
|
|
23964
24246
|
utilityDocs: [
|
|
@@ -25396,6 +25678,7 @@ var buildComponents = (c) => ({
|
|
|
25396
25678
|
padding: "sm",
|
|
25397
25679
|
bodyPadding: void 0,
|
|
25398
25680
|
inset: "lg",
|
|
25681
|
+
overscroll: "contain",
|
|
25399
25682
|
elevation: "dialog",
|
|
25400
25683
|
backdrop: "scrim",
|
|
25401
25684
|
motion: "panel"
|
|
@@ -25496,7 +25779,12 @@ var buildComponents = (c) => ({
|
|
|
25496
25779
|
tooltipCloseDelay: 150,
|
|
25497
25780
|
motion: "panel"
|
|
25498
25781
|
} },
|
|
25499
|
-
expand: { options: {
|
|
25782
|
+
expand: { options: {
|
|
25783
|
+
motion: "reveal",
|
|
25784
|
+
textRole: "label",
|
|
25785
|
+
sublabelRole: "caption",
|
|
25786
|
+
sublabelColor: "on-background-variant"
|
|
25787
|
+
} },
|
|
25500
25788
|
input: { options: {
|
|
25501
25789
|
typeface: "input",
|
|
25502
25790
|
color: "primary-surface",
|
|
@@ -25686,7 +25974,8 @@ var buildComponents = (c) => ({
|
|
|
25686
25974
|
avatarVariant: "primary",
|
|
25687
25975
|
nameTypeface: "body-2-short",
|
|
25688
25976
|
detailTypeface: "caption",
|
|
25689
|
-
rowGap: "sm"
|
|
25977
|
+
rowGap: "sm",
|
|
25978
|
+
chipAvatar: true
|
|
25690
25979
|
} },
|
|
25691
25980
|
calendar: {
|
|
25692
25981
|
options: {
|
|
@@ -26013,6 +26302,7 @@ var buildComponents = (c) => ({
|
|
|
26013
26302
|
thVerticalBorder: "dotted",
|
|
26014
26303
|
thHorizontalBorder: "light",
|
|
26015
26304
|
thPadding: "sm",
|
|
26305
|
+
sortIcon: "arrowUp",
|
|
26016
26306
|
tdTextRole: "title-small",
|
|
26017
26307
|
tdColor: "primary-surface",
|
|
26018
26308
|
tdStickyColor: "primary-container",
|
|
@@ -26024,10 +26314,18 @@ var buildComponents = (c) => ({
|
|
|
26024
26314
|
loadingSpinnerColor: "primary",
|
|
26025
26315
|
loadingSpinnerSize: 40
|
|
26026
26316
|
} },
|
|
26027
|
-
notificationBadge: {
|
|
26028
|
-
|
|
26029
|
-
|
|
26030
|
-
|
|
26317
|
+
notificationBadge: {
|
|
26318
|
+
options: {
|
|
26319
|
+
borderRadius: "sm",
|
|
26320
|
+
offset: -10,
|
|
26321
|
+
typeface: "overline"
|
|
26322
|
+
},
|
|
26323
|
+
sizes: {
|
|
26324
|
+
sm: { height: 14 },
|
|
26325
|
+
md: { height: 16 },
|
|
26326
|
+
lg: { height: 20 }
|
|
26327
|
+
}
|
|
26328
|
+
},
|
|
26031
26329
|
paginator: { options: {
|
|
26032
26330
|
gap: "xs",
|
|
26033
26331
|
textRole: "label",
|
|
@@ -27582,4 +27880,4 @@ export {
|
|
|
27582
27880
|
buildStoredTheme,
|
|
27583
27881
|
createUniServer
|
|
27584
27882
|
};
|
|
27585
|
-
//# sourceMappingURL=chunk-
|
|
27883
|
+
//# sourceMappingURL=chunk-Y6SCKJEM.js.map
|