@uni-design-system/uni-mcp 10.4.0 → 11.1.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 +16 -0
- package/dist/{chunk-QZ5TESCY.js → chunk-G5LYVS3L.js} +1424 -354
- package/dist/chunk-G5LYVS3L.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 +3 -3
- package/dist/chunk-QZ5TESCY.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
|
-
builtAt: "2026-09-
|
|
10
|
+
version: "11.1.0",
|
|
11
|
+
builtAt: "2026-09-10T16:48:25.514Z",
|
|
12
12
|
frameworks: [
|
|
13
13
|
"angular"
|
|
14
14
|
],
|
|
15
15
|
counts: {
|
|
16
|
-
components:
|
|
17
|
-
tokens:
|
|
16
|
+
components: 86,
|
|
17
|
+
tokens: 485,
|
|
18
18
|
themes: 2,
|
|
19
|
-
examples:
|
|
19
|
+
examples: 238
|
|
20
20
|
}
|
|
21
21
|
},
|
|
22
22
|
components: [
|
|
@@ -27,7 +27,7 @@ var uni_index_default = {
|
|
|
27
27
|
summary: "",
|
|
28
28
|
description: "",
|
|
29
29
|
category: "feedback",
|
|
30
|
-
version: "
|
|
30
|
+
version: "11.1.0",
|
|
31
31
|
bindings: {
|
|
32
32
|
angular: {
|
|
33
33
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -117,7 +117,7 @@ var uni_index_default = {
|
|
|
117
117
|
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.",
|
|
118
118
|
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.",
|
|
119
119
|
category: "components",
|
|
120
|
-
version: "
|
|
120
|
+
version: "11.1.0",
|
|
121
121
|
bindings: {
|
|
122
122
|
angular: {
|
|
123
123
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -190,7 +190,7 @@ var uni_index_default = {
|
|
|
190
190
|
summary: "Identity avatar with a graceful fallback chain: image \u2192 initials from `name` \u2192 themed symbol.",
|
|
191
191
|
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.",
|
|
192
192
|
category: "components",
|
|
193
|
-
version: "
|
|
193
|
+
version: "11.1.0",
|
|
194
194
|
bindings: {
|
|
195
195
|
angular: {
|
|
196
196
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -275,7 +275,7 @@ var uni_index_default = {
|
|
|
275
275
|
relatedTokens: [
|
|
276
276
|
"avatar.behavior.borderRadius",
|
|
277
277
|
"avatar.behavior.typeface",
|
|
278
|
-
"avatar.behavior.
|
|
278
|
+
"avatar.behavior.fallbackIcon"
|
|
279
279
|
]
|
|
280
280
|
},
|
|
281
281
|
{
|
|
@@ -285,7 +285,7 @@ var uni_index_default = {
|
|
|
285
285
|
summary: "Overlapping stack of avatars.",
|
|
286
286
|
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.",
|
|
287
287
|
category: "components",
|
|
288
|
-
version: "
|
|
288
|
+
version: "11.1.0",
|
|
289
289
|
bindings: {
|
|
290
290
|
angular: {
|
|
291
291
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -334,7 +334,7 @@ var uni_index_default = {
|
|
|
334
334
|
summary: "",
|
|
335
335
|
description: "",
|
|
336
336
|
category: "primitives",
|
|
337
|
-
version: "
|
|
337
|
+
version: "11.1.0",
|
|
338
338
|
bindings: {
|
|
339
339
|
angular: {
|
|
340
340
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -415,7 +415,7 @@ var uni_index_default = {
|
|
|
415
415
|
summary: "",
|
|
416
416
|
description: "",
|
|
417
417
|
category: "feedback",
|
|
418
|
-
version: "
|
|
418
|
+
version: "11.1.0",
|
|
419
419
|
bindings: {
|
|
420
420
|
angular: {
|
|
421
421
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -512,7 +512,7 @@ var uni_index_default = {
|
|
|
512
512
|
summary: "",
|
|
513
513
|
description: "",
|
|
514
514
|
category: "directives",
|
|
515
|
-
version: "
|
|
515
|
+
version: "11.1.0",
|
|
516
516
|
bindings: {
|
|
517
517
|
angular: {
|
|
518
518
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -536,7 +536,7 @@ var uni_index_default = {
|
|
|
536
536
|
summary: 'The base layout primitive, applied as an attribute to any element so semantics stay yours: `<main box-layout [grow]="1" padding="md">`.',
|
|
537
537
|
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.',
|
|
538
538
|
category: "layout",
|
|
539
|
-
version: "
|
|
539
|
+
version: "11.1.0",
|
|
540
540
|
bindings: {
|
|
541
541
|
angular: {
|
|
542
542
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -942,7 +942,7 @@ var uni_index_default = {
|
|
|
942
942
|
summary: 'WAI-ARIA breadcrumb: a `nav` landmark wrapping an ordered list; the last item is the current page (`aria-current="page"`), separators are decorative.',
|
|
943
943
|
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.',
|
|
944
944
|
category: "components",
|
|
945
|
-
version: "
|
|
945
|
+
version: "11.1.0",
|
|
946
946
|
bindings: {
|
|
947
947
|
angular: {
|
|
948
948
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1016,7 +1016,7 @@ var uni_index_default = {
|
|
|
1016
1016
|
"breadcrumb.behavior.typeface",
|
|
1017
1017
|
"breadcrumb.behavior.color",
|
|
1018
1018
|
"breadcrumb.behavior.currentColor",
|
|
1019
|
-
"breadcrumb.behavior.
|
|
1019
|
+
"breadcrumb.behavior.separatorIcon",
|
|
1020
1020
|
"breadcrumb.behavior.gap"
|
|
1021
1021
|
]
|
|
1022
1022
|
},
|
|
@@ -1027,7 +1027,7 @@ var uni_index_default = {
|
|
|
1027
1027
|
summary: "",
|
|
1028
1028
|
description: "",
|
|
1029
1029
|
category: "primitives",
|
|
1030
|
-
version: "
|
|
1030
|
+
version: "11.1.0",
|
|
1031
1031
|
bindings: {
|
|
1032
1032
|
angular: {
|
|
1033
1033
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1176,7 +1176,8 @@ var uni_index_default = {
|
|
|
1176
1176
|
},
|
|
1177
1177
|
relatedTokens: [
|
|
1178
1178
|
"button.behavior.borderRadius",
|
|
1179
|
-
"button.behavior.typeface"
|
|
1179
|
+
"button.behavior.typeface",
|
|
1180
|
+
"button.behavior.motion"
|
|
1180
1181
|
]
|
|
1181
1182
|
},
|
|
1182
1183
|
{
|
|
@@ -1186,7 +1187,7 @@ var uni_index_default = {
|
|
|
1186
1187
|
summary: "",
|
|
1187
1188
|
description: "",
|
|
1188
1189
|
category: "primitives",
|
|
1189
|
-
version: "
|
|
1190
|
+
version: "11.1.0",
|
|
1190
1191
|
bindings: {
|
|
1191
1192
|
angular: {
|
|
1192
1193
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1218,7 +1219,7 @@ var uni_index_default = {
|
|
|
1218
1219
|
summary: "Inline month calendar: single-date or start\u2013end range selection, day markers (availability dots), min/max fences and disabled dates.",
|
|
1219
1220
|
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.",
|
|
1220
1221
|
category: "forms",
|
|
1221
|
-
version: "
|
|
1222
|
+
version: "11.1.0",
|
|
1222
1223
|
bindings: {
|
|
1223
1224
|
angular: {
|
|
1224
1225
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1247,6 +1248,13 @@ var uni_index_default = {
|
|
|
1247
1248
|
default: "false",
|
|
1248
1249
|
description: ""
|
|
1249
1250
|
},
|
|
1251
|
+
{
|
|
1252
|
+
name: "touch",
|
|
1253
|
+
kind: "output",
|
|
1254
|
+
type: "void",
|
|
1255
|
+
required: false,
|
|
1256
|
+
description: "Angular 22 marks the bound field touched through this output; the `touched` model above is bound inward by the directive and no longer propagates back out. Emitted wherever this control already decided the user was done with it."
|
|
1257
|
+
},
|
|
1250
1258
|
{
|
|
1251
1259
|
name: "invalid",
|
|
1252
1260
|
kind: "input",
|
|
@@ -1438,8 +1446,8 @@ var uni_index_default = {
|
|
|
1438
1446
|
"calendar.behavior.dayBorderRadius",
|
|
1439
1447
|
"calendar.behavior.typeface",
|
|
1440
1448
|
"calendar.behavior.gap",
|
|
1441
|
-
"calendar.behavior.
|
|
1442
|
-
"calendar.behavior.
|
|
1449
|
+
"calendar.behavior.navPrevIcon",
|
|
1450
|
+
"calendar.behavior.navNextIcon",
|
|
1443
1451
|
"calendar.behavior.weekdayFormat",
|
|
1444
1452
|
"calendar.behavior.showOutsideDays",
|
|
1445
1453
|
"calendar.behavior.todayStyle"
|
|
@@ -1452,7 +1460,7 @@ var uni_index_default = {
|
|
|
1452
1460
|
summary: "Anchored coach-mark panel that dims the page and cuts a spotlight hole around its target.",
|
|
1453
1461
|
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).',
|
|
1454
1462
|
category: "components",
|
|
1455
|
-
version: "
|
|
1463
|
+
version: "11.1.0",
|
|
1456
1464
|
bindings: {
|
|
1457
1465
|
angular: {
|
|
1458
1466
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1655,7 +1663,7 @@ var uni_index_default = {
|
|
|
1655
1663
|
"callout.behavior.padding",
|
|
1656
1664
|
"callout.behavior.headerTypeface",
|
|
1657
1665
|
"callout.behavior.typeface",
|
|
1658
|
-
"callout.behavior.
|
|
1666
|
+
"callout.behavior.closeIcon",
|
|
1659
1667
|
"callout.behavior.arrowSize",
|
|
1660
1668
|
"callout.behavior.offset",
|
|
1661
1669
|
"callout.behavior.scrimColor",
|
|
@@ -1672,7 +1680,7 @@ var uni_index_default = {
|
|
|
1672
1680
|
summary: "",
|
|
1673
1681
|
description: "",
|
|
1674
1682
|
category: "layout",
|
|
1675
|
-
version: "
|
|
1683
|
+
version: "11.1.0",
|
|
1676
1684
|
bindings: {
|
|
1677
1685
|
angular: {
|
|
1678
1686
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1734,7 +1742,7 @@ var uni_index_default = {
|
|
|
1734
1742
|
summary: "",
|
|
1735
1743
|
description: "",
|
|
1736
1744
|
category: "layout",
|
|
1737
|
-
version: "
|
|
1745
|
+
version: "11.1.0",
|
|
1738
1746
|
bindings: {
|
|
1739
1747
|
angular: {
|
|
1740
1748
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1775,7 +1783,7 @@ var uni_index_default = {
|
|
|
1775
1783
|
summary: "",
|
|
1776
1784
|
description: "",
|
|
1777
1785
|
category: "layout",
|
|
1778
|
-
version: "
|
|
1786
|
+
version: "11.1.0",
|
|
1779
1787
|
bindings: {
|
|
1780
1788
|
angular: {
|
|
1781
1789
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1832,7 +1840,7 @@ var uni_index_default = {
|
|
|
1832
1840
|
summary: "",
|
|
1833
1841
|
description: "",
|
|
1834
1842
|
category: "layout",
|
|
1835
|
-
version: "
|
|
1843
|
+
version: "11.1.0",
|
|
1836
1844
|
bindings: {
|
|
1837
1845
|
angular: {
|
|
1838
1846
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1887,7 +1895,7 @@ var uni_index_default = {
|
|
|
1887
1895
|
summary: "",
|
|
1888
1896
|
description: "",
|
|
1889
1897
|
category: "forms",
|
|
1890
|
-
version: "
|
|
1898
|
+
version: "11.1.0",
|
|
1891
1899
|
bindings: {
|
|
1892
1900
|
angular: {
|
|
1893
1901
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1917,6 +1925,13 @@ var uni_index_default = {
|
|
|
1917
1925
|
default: "false",
|
|
1918
1926
|
description: ""
|
|
1919
1927
|
},
|
|
1928
|
+
{
|
|
1929
|
+
name: "touch",
|
|
1930
|
+
kind: "output",
|
|
1931
|
+
type: "void",
|
|
1932
|
+
required: false,
|
|
1933
|
+
description: "Angular 22 marks the bound field touched through this output; the `touched` model above is bound inward by the directive and no longer propagates back out. Emitted wherever this control already decided the user was done with it."
|
|
1934
|
+
},
|
|
1920
1935
|
{
|
|
1921
1936
|
name: "invalid",
|
|
1922
1937
|
kind: "input",
|
|
@@ -2050,6 +2065,7 @@ var uni_index_default = {
|
|
|
2050
2065
|
]
|
|
2051
2066
|
},
|
|
2052
2067
|
relatedTokens: [
|
|
2068
|
+
"checkbox.behavior.motion",
|
|
2053
2069
|
"checkbox.behavior.size",
|
|
2054
2070
|
"checkbox.behavior.boxColor",
|
|
2055
2071
|
"checkbox.behavior.borderRadius",
|
|
@@ -2063,7 +2079,7 @@ var uni_index_default = {
|
|
|
2063
2079
|
summary: "Form-bound, closed-set, single-select autocomplete: `FormValueControl<T | null>` over object `Options<T>`, type-to-filter, commit-on-select.",
|
|
2064
2080
|
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.",
|
|
2065
2081
|
category: "forms",
|
|
2066
|
-
version: "
|
|
2082
|
+
version: "11.1.0",
|
|
2067
2083
|
bindings: {
|
|
2068
2084
|
angular: {
|
|
2069
2085
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2093,6 +2109,13 @@ var uni_index_default = {
|
|
|
2093
2109
|
default: "false",
|
|
2094
2110
|
description: ""
|
|
2095
2111
|
},
|
|
2112
|
+
{
|
|
2113
|
+
name: "touch",
|
|
2114
|
+
kind: "output",
|
|
2115
|
+
type: "void",
|
|
2116
|
+
required: false,
|
|
2117
|
+
description: "Angular 22 marks the bound field touched through this output; the `touched` model above is bound inward by the directive and no longer propagates back out. Emitted wherever this control already decided the user was done with it."
|
|
2118
|
+
},
|
|
2096
2119
|
{
|
|
2097
2120
|
name: "invalid",
|
|
2098
2121
|
kind: "input",
|
|
@@ -2342,7 +2365,7 @@ emptyText="No countries found"
|
|
|
2342
2365
|
summary: "",
|
|
2343
2366
|
description: "",
|
|
2344
2367
|
category: "feedback",
|
|
2345
|
-
version: "
|
|
2368
|
+
version: "11.1.0",
|
|
2346
2369
|
bindings: {
|
|
2347
2370
|
angular: {
|
|
2348
2371
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2389,7 +2412,7 @@ emptyText="No countries found"
|
|
|
2389
2412
|
summary: "",
|
|
2390
2413
|
description: "",
|
|
2391
2414
|
category: "forms",
|
|
2392
|
-
version: "
|
|
2415
|
+
version: "11.1.0",
|
|
2393
2416
|
bindings: {
|
|
2394
2417
|
angular: {
|
|
2395
2418
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2488,7 +2511,7 @@ emptyText="No countries found"
|
|
|
2488
2511
|
summary: "",
|
|
2489
2512
|
description: "",
|
|
2490
2513
|
category: "data",
|
|
2491
|
-
version: "
|
|
2514
|
+
version: "11.1.0",
|
|
2492
2515
|
bindings: {
|
|
2493
2516
|
angular: {
|
|
2494
2517
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2728,7 +2751,7 @@ emptyText="No countries found"
|
|
|
2728
2751
|
summary: "Date field with free-typed parsing and a popup calendar.",
|
|
2729
2752
|
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.",
|
|
2730
2753
|
category: "forms",
|
|
2731
|
-
version: "
|
|
2754
|
+
version: "11.1.0",
|
|
2732
2755
|
bindings: {
|
|
2733
2756
|
angular: {
|
|
2734
2757
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2757,6 +2780,13 @@ emptyText="No countries found"
|
|
|
2757
2780
|
default: "false",
|
|
2758
2781
|
description: ""
|
|
2759
2782
|
},
|
|
2783
|
+
{
|
|
2784
|
+
name: "touch",
|
|
2785
|
+
kind: "output",
|
|
2786
|
+
type: "void",
|
|
2787
|
+
required: false,
|
|
2788
|
+
description: "Angular 22 marks the bound field touched through this output; the `touched` model above is bound inward by the directive and no longer propagates back out. Emitted wherever this control already decided the user was done with it."
|
|
2789
|
+
},
|
|
2760
2790
|
{
|
|
2761
2791
|
name: "invalid",
|
|
2762
2792
|
kind: "input",
|
|
@@ -2952,7 +2982,7 @@ emptyText="No countries found"
|
|
|
2952
2982
|
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.",
|
|
2953
2983
|
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.",
|
|
2954
2984
|
category: "forms",
|
|
2955
|
-
version: "
|
|
2985
|
+
version: "11.1.0",
|
|
2956
2986
|
bindings: {
|
|
2957
2987
|
angular: {
|
|
2958
2988
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2981,6 +3011,13 @@ emptyText="No countries found"
|
|
|
2981
3011
|
default: "false",
|
|
2982
3012
|
description: ""
|
|
2983
3013
|
},
|
|
3014
|
+
{
|
|
3015
|
+
name: "touch",
|
|
3016
|
+
kind: "output",
|
|
3017
|
+
type: "void",
|
|
3018
|
+
required: false,
|
|
3019
|
+
description: "Angular 22 marks the bound field touched through this output; the `touched` model above is bound inward by the directive and no longer propagates back out. Emitted wherever this control already decided the user was done with it."
|
|
3020
|
+
},
|
|
2984
3021
|
{
|
|
2985
3022
|
name: "invalid",
|
|
2986
3023
|
kind: "input",
|
|
@@ -3138,7 +3175,7 @@ emptyText="No countries found"
|
|
|
3138
3175
|
summary: "Text input that emits `change` only after the user pauses typing.",
|
|
3139
3176
|
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.",
|
|
3140
3177
|
category: "forms",
|
|
3141
|
-
version: "
|
|
3178
|
+
version: "11.1.0",
|
|
3142
3179
|
bindings: {
|
|
3143
3180
|
angular: {
|
|
3144
3181
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -3286,7 +3323,7 @@ emptyText="No countries found"
|
|
|
3286
3323
|
summary: "Modal dialog on the native `<dialog>` element, laid out as three rows: an optional `[dialog-header]`, the projected body, an optional `[dialog-buttons]`.",
|
|
3287
3324
|
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.",
|
|
3288
3325
|
category: "feedback",
|
|
3289
|
-
version: "
|
|
3326
|
+
version: "11.1.0",
|
|
3290
3327
|
bindings: {
|
|
3291
3328
|
angular: {
|
|
3292
3329
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -3439,7 +3476,7 @@ uni-dialog
|
|
|
3439
3476
|
summary: "",
|
|
3440
3477
|
description: "",
|
|
3441
3478
|
category: "feedback",
|
|
3442
|
-
version: "
|
|
3479
|
+
version: "11.1.0",
|
|
3443
3480
|
bindings: {
|
|
3444
3481
|
angular: {
|
|
3445
3482
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -3543,7 +3580,7 @@ uni-dialog
|
|
|
3543
3580
|
summary: "",
|
|
3544
3581
|
description: "",
|
|
3545
3582
|
category: "feedback",
|
|
3546
|
-
version: "
|
|
3583
|
+
version: "11.1.0",
|
|
3547
3584
|
bindings: {
|
|
3548
3585
|
angular: {
|
|
3549
3586
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -3584,7 +3621,7 @@ uni-dialog
|
|
|
3584
3621
|
summary: "",
|
|
3585
3622
|
description: "",
|
|
3586
3623
|
category: "layout",
|
|
3587
|
-
version: "
|
|
3624
|
+
version: "11.1.0",
|
|
3588
3625
|
bindings: {
|
|
3589
3626
|
angular: {
|
|
3590
3627
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -3640,7 +3677,7 @@ uni-dialog
|
|
|
3640
3677
|
summary: "",
|
|
3641
3678
|
description: "",
|
|
3642
3679
|
category: "directives",
|
|
3643
|
-
version: "
|
|
3680
|
+
version: "11.1.0",
|
|
3644
3681
|
bindings: {
|
|
3645
3682
|
angular: {
|
|
3646
3683
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -3672,7 +3709,7 @@ uni-dialog
|
|
|
3672
3709
|
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.",
|
|
3673
3710
|
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.",
|
|
3674
3711
|
category: "components",
|
|
3675
|
-
version: "
|
|
3712
|
+
version: "11.1.0",
|
|
3676
3713
|
bindings: {
|
|
3677
3714
|
angular: {
|
|
3678
3715
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -3863,7 +3900,7 @@ initialFocus="input"
|
|
|
3863
3900
|
summary: "The drawer's pinned footer action row \u2014 the save bar of an editor panel.",
|
|
3864
3901
|
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.",
|
|
3865
3902
|
category: "primitives",
|
|
3866
|
-
version: "
|
|
3903
|
+
version: "11.1.0",
|
|
3867
3904
|
bindings: {
|
|
3868
3905
|
angular: {
|
|
3869
3906
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -3960,7 +3997,7 @@ initialFocus="input"
|
|
|
3960
3997
|
summary: "The drawer's pinned header row: a title, and optionally a close button.",
|
|
3961
3998
|
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.",
|
|
3962
3999
|
category: "components",
|
|
3963
|
-
version: "
|
|
4000
|
+
version: "11.1.0",
|
|
3964
4001
|
bindings: {
|
|
3965
4002
|
angular: {
|
|
3966
4003
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4008,7 +4045,7 @@ initialFocus="input"
|
|
|
4008
4045
|
summary: "",
|
|
4009
4046
|
description: "",
|
|
4010
4047
|
category: "components",
|
|
4011
|
-
version: "
|
|
4048
|
+
version: "11.1.0",
|
|
4012
4049
|
bindings: {
|
|
4013
4050
|
angular: {
|
|
4014
4051
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4142,7 +4179,7 @@ initialFocus="input"
|
|
|
4142
4179
|
summary: "",
|
|
4143
4180
|
description: "",
|
|
4144
4181
|
category: "layout",
|
|
4145
|
-
version: "
|
|
4182
|
+
version: "11.1.0",
|
|
4146
4183
|
bindings: {
|
|
4147
4184
|
angular: {
|
|
4148
4185
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4246,7 +4283,7 @@ initialFocus="input"
|
|
|
4246
4283
|
summary: "",
|
|
4247
4284
|
description: "",
|
|
4248
4285
|
category: "layout",
|
|
4249
|
-
version: "
|
|
4286
|
+
version: "11.1.0",
|
|
4250
4287
|
bindings: {
|
|
4251
4288
|
angular: {
|
|
4252
4289
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4317,7 +4354,7 @@ initialFocus="input"
|
|
|
4317
4354
|
summary: "Trigger for a {@link UniExpandComponent} region.",
|
|
4318
4355
|
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.",
|
|
4319
4356
|
category: "layout",
|
|
4320
|
-
version: "
|
|
4357
|
+
version: "11.1.0",
|
|
4321
4358
|
bindings: {
|
|
4322
4359
|
angular: {
|
|
4323
4360
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4402,7 +4439,7 @@ initialFocus="input"
|
|
|
4402
4439
|
summary: "",
|
|
4403
4440
|
description: "",
|
|
4404
4441
|
category: "forms",
|
|
4405
|
-
version: "
|
|
4442
|
+
version: "11.1.0",
|
|
4406
4443
|
bindings: {
|
|
4407
4444
|
angular: {
|
|
4408
4445
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4560,7 +4597,7 @@ initialFocus="input"
|
|
|
4560
4597
|
summary: "",
|
|
4561
4598
|
description: "",
|
|
4562
4599
|
category: "layout",
|
|
4563
|
-
version: "
|
|
4600
|
+
version: "11.1.0",
|
|
4564
4601
|
bindings: {
|
|
4565
4602
|
angular: {
|
|
4566
4603
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4657,7 +4694,7 @@ initialFocus="input"
|
|
|
4657
4694
|
summary: "",
|
|
4658
4695
|
description: "",
|
|
4659
4696
|
category: "layout",
|
|
4660
|
-
version: "
|
|
4697
|
+
version: "11.1.0",
|
|
4661
4698
|
bindings: {
|
|
4662
4699
|
angular: {
|
|
4663
4700
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4689,7 +4726,7 @@ initialFocus="input"
|
|
|
4689
4726
|
summary: "",
|
|
4690
4727
|
description: "",
|
|
4691
4728
|
category: "primitives",
|
|
4692
|
-
version: "
|
|
4729
|
+
version: "11.1.0",
|
|
4693
4730
|
bindings: {
|
|
4694
4731
|
angular: {
|
|
4695
4732
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4749,7 +4786,7 @@ initialFocus="input"
|
|
|
4749
4786
|
summary: "",
|
|
4750
4787
|
description: "",
|
|
4751
4788
|
category: "primitives",
|
|
4752
|
-
version: "
|
|
4789
|
+
version: "11.1.0",
|
|
4753
4790
|
bindings: {
|
|
4754
4791
|
angular: {
|
|
4755
4792
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4845,6 +4882,121 @@ initialFocus="input"
|
|
|
4845
4882
|
},
|
|
4846
4883
|
relatedTokens: []
|
|
4847
4884
|
},
|
|
4885
|
+
{
|
|
4886
|
+
id: "inline-button",
|
|
4887
|
+
name: "InlineButton",
|
|
4888
|
+
status: "stable",
|
|
4889
|
+
summary: "A button that lives inside a sentence.",
|
|
4890
|
+
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.",
|
|
4891
|
+
category: "primitives",
|
|
4892
|
+
version: "11.1.0",
|
|
4893
|
+
bindings: {
|
|
4894
|
+
angular: {
|
|
4895
|
+
importPath: "@uni-design-system/uni-angular",
|
|
4896
|
+
selectorOrTag: "button[uni-inline-button], button[inline-button]",
|
|
4897
|
+
api: [
|
|
4898
|
+
{
|
|
4899
|
+
name: "iconName",
|
|
4900
|
+
kind: "input",
|
|
4901
|
+
type: "IconName",
|
|
4902
|
+
required: false,
|
|
4903
|
+
description: "Theme icon token rendered beside the label. Prefer this over `symbolName`."
|
|
4904
|
+
},
|
|
4905
|
+
{
|
|
4906
|
+
name: "symbolName",
|
|
4907
|
+
kind: "input",
|
|
4908
|
+
type: "string",
|
|
4909
|
+
required: false,
|
|
4910
|
+
description: "Material Symbols ligature, for glyphs the theme's icon set doesn't carry."
|
|
4911
|
+
},
|
|
4912
|
+
{
|
|
4913
|
+
name: "iconPosition",
|
|
4914
|
+
kind: "input",
|
|
4915
|
+
type: "'start' | 'end'",
|
|
4916
|
+
required: false,
|
|
4917
|
+
default: "'start'",
|
|
4918
|
+
description: "Which side of the label the glyph sits on."
|
|
4919
|
+
},
|
|
4920
|
+
{
|
|
4921
|
+
name: "link",
|
|
4922
|
+
kind: "input",
|
|
4923
|
+
type: "unknown",
|
|
4924
|
+
required: false,
|
|
4925
|
+
default: "false, { transform: booleanAttribute }",
|
|
4926
|
+
description: "Paint the label with the theme's link colour instead of inheriting the ink."
|
|
4927
|
+
},
|
|
4928
|
+
{
|
|
4929
|
+
name: "disable",
|
|
4930
|
+
kind: "input",
|
|
4931
|
+
type: "unknown",
|
|
4932
|
+
required: false,
|
|
4933
|
+
default: "false, { transform: booleanAttribute }",
|
|
4934
|
+
description: ""
|
|
4935
|
+
},
|
|
4936
|
+
{
|
|
4937
|
+
name: "variant",
|
|
4938
|
+
kind: "input",
|
|
4939
|
+
type: "Variant",
|
|
4940
|
+
required: false,
|
|
4941
|
+
default: "'primary'",
|
|
4942
|
+
description: "Style archetype from the theme. Inherited from BaseComponent."
|
|
4943
|
+
},
|
|
4944
|
+
{
|
|
4945
|
+
name: "size",
|
|
4946
|
+
kind: "input",
|
|
4947
|
+
type: "Size",
|
|
4948
|
+
required: false,
|
|
4949
|
+
default: "'lg'",
|
|
4950
|
+
description: "Size token from the theme. Inherited from BaseComponent. Only has an effect where the component theme defines a `sizes` block."
|
|
4951
|
+
}
|
|
4952
|
+
]
|
|
4953
|
+
}
|
|
4954
|
+
},
|
|
4955
|
+
examples: [
|
|
4956
|
+
{
|
|
4957
|
+
title: "In Prose",
|
|
4958
|
+
framework: "angular",
|
|
4959
|
+
code: '<!-- Storybook story: In Prose -->\n<p uni-text="body-1-long" style="max-width: 46ch">\nYour data is processed under the terms you accepted at sign-up. You can\n<button inline-button [underline]="underline" [link]="link" [disable]="disable"\n [iconName]="iconName" [symbolName]="symbolName" [iconPosition]="iconPosition">review them</button>\nat any time, or\n<button inline-button [underline]="underline" [link]="link">export everything</button>\nas a single archive.\n</p>\n<!-- args:\n{ underline: true, link: true }\n-->'
|
|
4960
|
+
},
|
|
4961
|
+
{
|
|
4962
|
+
title: "Against A Ghost Button",
|
|
4963
|
+
framework: "angular",
|
|
4964
|
+
code: '<!-- Storybook story: Against A Ghost Button -->\n<div style="display: grid; gap: 16px; max-width: 46ch">\n<p uni-text="body-1-long">\n Inline button: read the <button inline-button underline>privacy policy</button> before continuing.\n</p>\n<p uni-text="body-1-long">\n Ghost button: read the <button text-button variant="ghost">privacy policy</button> before continuing.\n</p>\n</div>'
|
|
4965
|
+
},
|
|
4966
|
+
{
|
|
4967
|
+
title: "With A Glyph",
|
|
4968
|
+
framework: "angular",
|
|
4969
|
+
code: '<!-- Storybook story: With A Glyph -->\n<div style="display: grid; gap: 16px; max-width: 46ch">\n<p uni-text="body-1-long">\n Opens elsewhere:\n <button inline-button link underline iconName="externalLink" iconPosition="end">the full report</button>.\n</p>\n<p uni-text="caption">\n Same control at caption size:\n <button inline-button link underline iconName="externalLink" iconPosition="end">the full report</button>.\n</p>\n<p uni-text="headline-small">\n And in a headline:\n <button inline-button link underline iconName="externalLink" iconPosition="end">the full report</button>.\n</p>\n</div>'
|
|
4970
|
+
},
|
|
4971
|
+
{
|
|
4972
|
+
title: "Long Labels Stay Whole",
|
|
4973
|
+
framework: "angular",
|
|
4974
|
+
code: '<!-- Storybook story: Long Labels Stay Whole -->\n<div style="display: grid; gap: 16px; max-width: 20ch">\n<p uni-text="body-1-long">\n Short label: <button inline-button underline>review terms</button> whenever you like.\n</p>\n<p uni-text="body-1-long">\n Long label: <button inline-button underline>review the terms of processing</button> whenever you like.\n</p>\n</div>'
|
|
4975
|
+
}
|
|
4976
|
+
],
|
|
4977
|
+
guidelines: {
|
|
4978
|
+
whenToUse: "An action that lives **inside a sentence**.\nEvery other button in the library owns a box. Even `ghost` is a flex box with a\nhit area, horizontal padding and its own type scale, so dropping one into a\nparagraph takes it out of the run of text and onto a line of its own. This one\nadds no box at all: it inherits the surrounding type \u2014 family, size, weight,\nline height, letter spacing and colour \u2014 and renders as part of the sentence.",
|
|
4979
|
+
dos: [
|
|
4980
|
+
"Use it for actions inside running text: opening a dialog, revealing a section, undoing the last change",
|
|
4981
|
+
"Keep the label to a few words, so it never has to wrap",
|
|
4982
|
+
"Pair `link` with `underline`, so the action is not marked by colour alone",
|
|
4983
|
+
"Write a label that says what the action does on its own \u2014 it is the accessible name"
|
|
4984
|
+
],
|
|
4985
|
+
donts: [
|
|
4986
|
+
"Reach for it where a link belongs; if the thing goes somewhere, use an `<a>`",
|
|
4987
|
+
"Set a px size on the glyph \u2014 the `em` sizing is what lets one markup read correctly from caption to headline",
|
|
4988
|
+
"Leave it undecorated *and* turn `underlineOnHover` off, which hides the action entirely",
|
|
4989
|
+
"Use it as a primary action; a paragraph is not where a form's Submit lives"
|
|
4990
|
+
],
|
|
4991
|
+
accessibility: [
|
|
4992
|
+
"A real `<button>`: native focus, Enter/Space activation and `disabled` semantics, so nothing has to be re-implemented with key handlers",
|
|
4993
|
+
"The focus ring is the library's shared ring, drawn on the control rather than on the paragraph, and `focusColor` retunes it per theme",
|
|
4994
|
+
"The glyph is decorative and hidden from assistive tech; the label carries the accessible name",
|
|
4995
|
+
"Underlining is a visual affordance only \u2014 do not rely on colour alone to mark the action"
|
|
4996
|
+
]
|
|
4997
|
+
},
|
|
4998
|
+
relatedTokens: []
|
|
4999
|
+
},
|
|
4848
5000
|
{
|
|
4849
5001
|
id: "input",
|
|
4850
5002
|
name: "Input",
|
|
@@ -4852,7 +5004,7 @@ initialFocus="input"
|
|
|
4852
5004
|
summary: "",
|
|
4853
5005
|
description: "",
|
|
4854
5006
|
category: "forms",
|
|
4855
|
-
version: "
|
|
5007
|
+
version: "11.1.0",
|
|
4856
5008
|
bindings: {
|
|
4857
5009
|
angular: {
|
|
4858
5010
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4882,6 +5034,13 @@ initialFocus="input"
|
|
|
4882
5034
|
default: "false",
|
|
4883
5035
|
description: ""
|
|
4884
5036
|
},
|
|
5037
|
+
{
|
|
5038
|
+
name: "touch",
|
|
5039
|
+
kind: "output",
|
|
5040
|
+
type: "void",
|
|
5041
|
+
required: false,
|
|
5042
|
+
description: "Angular 22 marks the bound field touched through this output; the `touched` model above is bound inward by the directive and no longer propagates back out. Emitted wherever this control already decided the user was done with it."
|
|
5043
|
+
},
|
|
4885
5044
|
{
|
|
4886
5045
|
name: "invalid",
|
|
4887
5046
|
kind: "input",
|
|
@@ -4953,19 +5112,19 @@ initialFocus="input"
|
|
|
4953
5112
|
description: ""
|
|
4954
5113
|
},
|
|
4955
5114
|
{
|
|
4956
|
-
name: "
|
|
5115
|
+
name: "minAttr",
|
|
4957
5116
|
kind: "input",
|
|
4958
5117
|
type: "number | undefined",
|
|
4959
5118
|
required: false,
|
|
4960
|
-
default: "undefined",
|
|
5119
|
+
default: "undefined, { alias: 'min' }",
|
|
4961
5120
|
description: ""
|
|
4962
5121
|
},
|
|
4963
5122
|
{
|
|
4964
|
-
name: "
|
|
5123
|
+
name: "maxAttr",
|
|
4965
5124
|
kind: "input",
|
|
4966
5125
|
type: "number | undefined",
|
|
4967
5126
|
required: false,
|
|
4968
|
-
default: "undefined",
|
|
5127
|
+
default: "undefined, { alias: 'max' }",
|
|
4969
5128
|
description: ""
|
|
4970
5129
|
},
|
|
4971
5130
|
{
|
|
@@ -5130,7 +5289,7 @@ initialFocus="input"
|
|
|
5130
5289
|
summary: "",
|
|
5131
5290
|
description: "",
|
|
5132
5291
|
category: "forms",
|
|
5133
|
-
version: "
|
|
5292
|
+
version: "11.1.0",
|
|
5134
5293
|
bindings: {
|
|
5135
5294
|
angular: {
|
|
5136
5295
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5251,7 +5410,7 @@ initialFocus="input"
|
|
|
5251
5410
|
summary: "",
|
|
5252
5411
|
description: "",
|
|
5253
5412
|
category: "components",
|
|
5254
|
-
version: "
|
|
5413
|
+
version: "11.1.0",
|
|
5255
5414
|
bindings: {
|
|
5256
5415
|
angular: {
|
|
5257
5416
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5321,7 +5480,7 @@ initialFocus="input"
|
|
|
5321
5480
|
summary: "",
|
|
5322
5481
|
description: "",
|
|
5323
5482
|
category: "layout",
|
|
5324
|
-
version: "
|
|
5483
|
+
version: "11.1.0",
|
|
5325
5484
|
bindings: {
|
|
5326
5485
|
angular: {
|
|
5327
5486
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5425,7 +5584,7 @@ initialFocus="input"
|
|
|
5425
5584
|
summary: "",
|
|
5426
5585
|
description: "",
|
|
5427
5586
|
category: "layout",
|
|
5428
|
-
version: "
|
|
5587
|
+
version: "11.1.0",
|
|
5429
5588
|
bindings: {
|
|
5430
5589
|
angular: {
|
|
5431
5590
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5507,7 +5666,7 @@ initialFocus="input"
|
|
|
5507
5666
|
summary: "",
|
|
5508
5667
|
description: "",
|
|
5509
5668
|
category: "forms",
|
|
5510
|
-
version: "
|
|
5669
|
+
version: "11.1.0",
|
|
5511
5670
|
bindings: {
|
|
5512
5671
|
angular: {
|
|
5513
5672
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5601,7 +5760,7 @@ initialFocus="input"
|
|
|
5601
5760
|
summary: "",
|
|
5602
5761
|
description: "",
|
|
5603
5762
|
category: "forms",
|
|
5604
|
-
version: "
|
|
5763
|
+
version: "11.1.0",
|
|
5605
5764
|
bindings: {
|
|
5606
5765
|
angular: {
|
|
5607
5766
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5631,6 +5790,13 @@ initialFocus="input"
|
|
|
5631
5790
|
default: "false",
|
|
5632
5791
|
description: ""
|
|
5633
5792
|
},
|
|
5793
|
+
{
|
|
5794
|
+
name: "touch",
|
|
5795
|
+
kind: "output",
|
|
5796
|
+
type: "void",
|
|
5797
|
+
required: false,
|
|
5798
|
+
description: "Angular 22 marks the bound field touched through this output; the `touched` model above is bound inward by the directive and no longer propagates back out. Emitted wherever this control already decided the user was done with it."
|
|
5799
|
+
},
|
|
5634
5800
|
{
|
|
5635
5801
|
name: "invalid",
|
|
5636
5802
|
kind: "input",
|
|
@@ -5773,7 +5939,7 @@ initialFocus="input"
|
|
|
5773
5939
|
summary: "",
|
|
5774
5940
|
description: "",
|
|
5775
5941
|
category: "feedback",
|
|
5776
|
-
version: "
|
|
5942
|
+
version: "11.1.0",
|
|
5777
5943
|
bindings: {
|
|
5778
5944
|
angular: {
|
|
5779
5945
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -6033,7 +6199,7 @@ initialFocus="input"
|
|
|
6033
6199
|
summary: "",
|
|
6034
6200
|
description: "",
|
|
6035
6201
|
category: "feedback",
|
|
6036
|
-
version: "
|
|
6202
|
+
version: "11.1.0",
|
|
6037
6203
|
bindings: {
|
|
6038
6204
|
angular: {
|
|
6039
6205
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -6057,7 +6223,7 @@ initialFocus="input"
|
|
|
6057
6223
|
summary: "Numeric field with locale-aware parsing, `Intl` formatting on commit, prefix/suffix adornments and steppers that hold to repeat.",
|
|
6058
6224
|
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.',
|
|
6059
6225
|
category: "forms",
|
|
6060
|
-
version: "
|
|
6226
|
+
version: "11.1.0",
|
|
6061
6227
|
bindings: {
|
|
6062
6228
|
angular: {
|
|
6063
6229
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -6087,6 +6253,13 @@ initialFocus="input"
|
|
|
6087
6253
|
default: "false",
|
|
6088
6254
|
description: ""
|
|
6089
6255
|
},
|
|
6256
|
+
{
|
|
6257
|
+
name: "touch",
|
|
6258
|
+
kind: "output",
|
|
6259
|
+
type: "void",
|
|
6260
|
+
required: false,
|
|
6261
|
+
description: "Angular 22 marks the bound field touched through this output; the `touched` model above is bound inward by the directive and no longer propagates back out. Emitted wherever this control already decided the user was done with it."
|
|
6262
|
+
},
|
|
6090
6263
|
{
|
|
6091
6264
|
name: "invalid",
|
|
6092
6265
|
kind: "input",
|
|
@@ -6476,7 +6649,7 @@ initialFocus="input"
|
|
|
6476
6649
|
summary: "Two linked numeric fields in one chrome, with one `{ start, end }` value \u2014 price filters, thresholds, tolerances.",
|
|
6477
6650
|
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.",
|
|
6478
6651
|
category: "forms",
|
|
6479
|
-
version: "
|
|
6652
|
+
version: "11.1.0",
|
|
6480
6653
|
bindings: {
|
|
6481
6654
|
angular: {
|
|
6482
6655
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -6506,6 +6679,13 @@ initialFocus="input"
|
|
|
6506
6679
|
default: "false",
|
|
6507
6680
|
description: ""
|
|
6508
6681
|
},
|
|
6682
|
+
{
|
|
6683
|
+
name: "touch",
|
|
6684
|
+
kind: "output",
|
|
6685
|
+
type: "void",
|
|
6686
|
+
required: false,
|
|
6687
|
+
description: "Angular 22 marks the bound field touched through this output; the `touched` model above is bound inward by the directive and no longer propagates back out. Emitted wherever this control already decided the user was done with it."
|
|
6688
|
+
},
|
|
6509
6689
|
{
|
|
6510
6690
|
name: "invalid",
|
|
6511
6691
|
kind: "input",
|
|
@@ -6633,17 +6813,19 @@ initialFocus="input"
|
|
|
6633
6813
|
description: ""
|
|
6634
6814
|
},
|
|
6635
6815
|
{
|
|
6636
|
-
name: "
|
|
6816
|
+
name: "minValue",
|
|
6637
6817
|
kind: "input",
|
|
6638
6818
|
type: "number | undefined",
|
|
6639
6819
|
required: false,
|
|
6820
|
+
default: "undefined, { alias: 'min' }",
|
|
6640
6821
|
description: ""
|
|
6641
6822
|
},
|
|
6642
6823
|
{
|
|
6643
|
-
name: "
|
|
6824
|
+
name: "maxValue",
|
|
6644
6825
|
kind: "input",
|
|
6645
6826
|
type: "number | undefined",
|
|
6646
6827
|
required: false,
|
|
6828
|
+
default: "undefined, { alias: 'max' }",
|
|
6647
6829
|
description: ""
|
|
6648
6830
|
},
|
|
6649
6831
|
{
|
|
@@ -6698,17 +6880,17 @@ initialFocus="input"
|
|
|
6698
6880
|
{
|
|
6699
6881
|
title: "Primary",
|
|
6700
6882
|
framework: "angular",
|
|
6701
|
-
code: "<!-- Storybook story: Primary -->\n<!-- args:\n{\n label: 'Price range',\n currency: 'USD',\n
|
|
6883
|
+
code: "<!-- Storybook story: Primary -->\n<!-- args:\n{\n label: 'Price range',\n currency: 'USD',\n minValue: 0,\n maxValue: 5000,\n step: 10,\n value: { start: 200, end: 1500 },\n }\n-->"
|
|
6702
6884
|
},
|
|
6703
6885
|
{
|
|
6704
6886
|
title: "Price Filter",
|
|
6705
6887
|
framework: "angular",
|
|
6706
|
-
code: "<!-- Storybook story: Price Filter -->\n<!-- args:\n{\n label: 'Price range',\n currency: 'USD',\n
|
|
6888
|
+
code: "<!-- Storybook story: Price Filter -->\n<!-- args:\n{\n label: 'Price range',\n currency: 'USD',\n minValue: 0,\n maxValue: 5000,\n step: 10,\n value: { start: 200, end: 1500 },\n }\n-->"
|
|
6707
6889
|
},
|
|
6708
6890
|
{
|
|
6709
6891
|
title: "Minimum Gap",
|
|
6710
6892
|
framework: "angular",
|
|
6711
|
-
code: "<!-- Storybook story: Minimum Gap -->\n<!-- args:\n{ label: 'Temperature tolerance', suffix: '\xB0C',
|
|
6893
|
+
code: "<!-- Storybook story: Minimum Gap -->\n<!-- args:\n{ label: 'Temperature tolerance', suffix: '\xB0C', minValue: -20, maxValue: 40, minGap: 5, value: { start: 5, end: 20 } }\n-->"
|
|
6712
6894
|
},
|
|
6713
6895
|
{
|
|
6714
6896
|
title: "Open Ended",
|
|
@@ -6718,7 +6900,7 @@ initialFocus="input"
|
|
|
6718
6900
|
{
|
|
6719
6901
|
title: "Custom End Labels",
|
|
6720
6902
|
framework: "angular",
|
|
6721
|
-
code: "<!-- Storybook story: Custom End Labels -->\n<!-- args:\n{ label: 'Delivery window', suffix: ' days', startLabel: 'From', endLabel: 'To',
|
|
6903
|
+
code: "<!-- Storybook story: Custom End Labels -->\n<!-- args:\n{ label: 'Delivery window', suffix: ' days', startLabel: 'From', endLabel: 'To', minValue: 0, value: { start: 2, end: 7 } }\n-->"
|
|
6722
6904
|
},
|
|
6723
6905
|
{
|
|
6724
6906
|
title: "Disabled",
|
|
@@ -6758,7 +6940,7 @@ initialFocus="input"
|
|
|
6758
6940
|
summary: "",
|
|
6759
6941
|
description: "",
|
|
6760
6942
|
category: "data",
|
|
6761
|
-
version: "
|
|
6943
|
+
version: "11.1.0",
|
|
6762
6944
|
bindings: {
|
|
6763
6945
|
angular: {
|
|
6764
6946
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -6859,7 +7041,7 @@ initialFocus="input"
|
|
|
6859
7041
|
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.",
|
|
6860
7042
|
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.',
|
|
6861
7043
|
category: "layout",
|
|
6862
|
-
version: "
|
|
7044
|
+
version: "11.1.0",
|
|
6863
7045
|
bindings: {
|
|
6864
7046
|
angular: {
|
|
6865
7047
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -7036,7 +7218,7 @@ initialFocus="input"
|
|
|
7036
7218
|
"popover.behavior.maxWidth",
|
|
7037
7219
|
"popover.behavior.offset",
|
|
7038
7220
|
"popover.behavior.arrowSize",
|
|
7039
|
-
"popover.behavior.
|
|
7221
|
+
"popover.behavior.closeIcon",
|
|
7040
7222
|
"popover.behavior.headerTypeface",
|
|
7041
7223
|
"popover.behavior.tooltipPadding",
|
|
7042
7224
|
"popover.behavior.tooltipOpenDelay",
|
|
@@ -7051,7 +7233,7 @@ initialFocus="input"
|
|
|
7051
7233
|
summary: "",
|
|
7052
7234
|
description: "",
|
|
7053
7235
|
category: "feedback",
|
|
7054
|
-
version: "
|
|
7236
|
+
version: "11.1.0",
|
|
7055
7237
|
bindings: {
|
|
7056
7238
|
angular: {
|
|
7057
7239
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -7115,7 +7297,7 @@ initialFocus="input"
|
|
|
7115
7297
|
summary: "",
|
|
7116
7298
|
description: "",
|
|
7117
7299
|
category: "feedback",
|
|
7118
|
-
version: "
|
|
7300
|
+
version: "11.1.0",
|
|
7119
7301
|
bindings: {
|
|
7120
7302
|
angular: {
|
|
7121
7303
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -7187,7 +7369,7 @@ initialFocus="input"
|
|
|
7187
7369
|
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.",
|
|
7188
7370
|
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.',
|
|
7189
7371
|
category: "forms",
|
|
7190
|
-
version: "
|
|
7372
|
+
version: "11.1.0",
|
|
7191
7373
|
bindings: {
|
|
7192
7374
|
angular: {
|
|
7193
7375
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -7217,6 +7399,13 @@ initialFocus="input"
|
|
|
7217
7399
|
default: "false",
|
|
7218
7400
|
description: ""
|
|
7219
7401
|
},
|
|
7402
|
+
{
|
|
7403
|
+
name: "touch",
|
|
7404
|
+
kind: "output",
|
|
7405
|
+
type: "void",
|
|
7406
|
+
required: false,
|
|
7407
|
+
description: "Angular 22 marks the bound field touched through this output; the `touched` model above is bound inward by the directive and no longer propagates back out. Emitted wherever this control already decided the user was done with it."
|
|
7408
|
+
},
|
|
7220
7409
|
{
|
|
7221
7410
|
name: "invalid",
|
|
7222
7411
|
kind: "input",
|
|
@@ -7383,7 +7572,7 @@ initialFocus="input"
|
|
|
7383
7572
|
summary: "",
|
|
7384
7573
|
description: "",
|
|
7385
7574
|
category: "forms",
|
|
7386
|
-
version: "
|
|
7575
|
+
version: "11.1.0",
|
|
7387
7576
|
bindings: {
|
|
7388
7577
|
angular: {
|
|
7389
7578
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -7413,6 +7602,13 @@ initialFocus="input"
|
|
|
7413
7602
|
default: "false",
|
|
7414
7603
|
description: ""
|
|
7415
7604
|
},
|
|
7605
|
+
{
|
|
7606
|
+
name: "touch",
|
|
7607
|
+
kind: "output",
|
|
7608
|
+
type: "void",
|
|
7609
|
+
required: false,
|
|
7610
|
+
description: "Angular 22 marks the bound field touched through this output; the `touched` model above is bound inward by the directive and no longer propagates back out. Emitted wherever this control already decided the user was done with it."
|
|
7611
|
+
},
|
|
7416
7612
|
{
|
|
7417
7613
|
name: "invalid",
|
|
7418
7614
|
kind: "input",
|
|
@@ -7574,7 +7770,7 @@ initialFocus="input"
|
|
|
7574
7770
|
summary: "",
|
|
7575
7771
|
description: "",
|
|
7576
7772
|
category: "directives",
|
|
7577
|
-
version: "
|
|
7773
|
+
version: "11.1.0",
|
|
7578
7774
|
bindings: {
|
|
7579
7775
|
angular: {
|
|
7580
7776
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -7598,7 +7794,7 @@ initialFocus="input"
|
|
|
7598
7794
|
summary: "",
|
|
7599
7795
|
description: "",
|
|
7600
7796
|
category: "layout",
|
|
7601
|
-
version: "
|
|
7797
|
+
version: "11.1.0",
|
|
7602
7798
|
bindings: {
|
|
7603
7799
|
angular: {
|
|
7604
7800
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -7653,7 +7849,7 @@ initialFocus="input"
|
|
|
7653
7849
|
summary: "Native scroll area with theme-driven scrollbar styling.",
|
|
7654
7850
|
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.",
|
|
7655
7851
|
category: "layout",
|
|
7656
|
-
version: "
|
|
7852
|
+
version: "11.1.0",
|
|
7657
7853
|
bindings: {
|
|
7658
7854
|
angular: {
|
|
7659
7855
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -7800,7 +7996,7 @@ initialFocus="input"
|
|
|
7800
7996
|
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.",
|
|
7801
7997
|
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.",
|
|
7802
7998
|
category: "forms",
|
|
7803
|
-
version: "
|
|
7999
|
+
version: "11.1.0",
|
|
7804
8000
|
bindings: {
|
|
7805
8001
|
angular: {
|
|
7806
8002
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -7927,7 +8123,7 @@ initialFocus="input"
|
|
|
7927
8123
|
summary: "",
|
|
7928
8124
|
description: "",
|
|
7929
8125
|
category: "forms",
|
|
7930
|
-
version: "
|
|
8126
|
+
version: "11.1.0",
|
|
7931
8127
|
bindings: {
|
|
7932
8128
|
angular: {
|
|
7933
8129
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -8084,7 +8280,11 @@ initialFocus="input"
|
|
|
8084
8280
|
"Disabled options are rendered and announced, not hidden \u2014 removing them would"
|
|
8085
8281
|
]
|
|
8086
8282
|
},
|
|
8087
|
-
relatedTokens: [
|
|
8283
|
+
relatedTokens: [
|
|
8284
|
+
"select.behavior.toggleIcon",
|
|
8285
|
+
"select.behavior.toggleColor",
|
|
8286
|
+
"select.behavior.toggleSize"
|
|
8287
|
+
]
|
|
8088
8288
|
},
|
|
8089
8289
|
{
|
|
8090
8290
|
id: "skeleton",
|
|
@@ -8093,7 +8293,7 @@ initialFocus="input"
|
|
|
8093
8293
|
summary: "Loading placeholder painted with surface tokens.",
|
|
8094
8294
|
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.",
|
|
8095
8295
|
category: "components",
|
|
8096
|
-
version: "
|
|
8296
|
+
version: "11.1.0",
|
|
8097
8297
|
bindings: {
|
|
8098
8298
|
angular: {
|
|
8099
8299
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -8244,7 +8444,7 @@ initialFocus="input"
|
|
|
8244
8444
|
summary: "Bounded numeric input by pointer, for values where the *position* is the information: volume, opacity, weightings, price filters.",
|
|
8245
8445
|
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.",
|
|
8246
8446
|
category: "forms",
|
|
8247
|
-
version: "
|
|
8447
|
+
version: "11.1.0",
|
|
8248
8448
|
bindings: {
|
|
8249
8449
|
angular: {
|
|
8250
8450
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -8274,6 +8474,13 @@ initialFocus="input"
|
|
|
8274
8474
|
default: "false",
|
|
8275
8475
|
description: ""
|
|
8276
8476
|
},
|
|
8477
|
+
{
|
|
8478
|
+
name: "touch",
|
|
8479
|
+
kind: "output",
|
|
8480
|
+
type: "void",
|
|
8481
|
+
required: false,
|
|
8482
|
+
description: "Angular 22 marks the bound field touched through this output; the `touched` model above is bound inward by the directive and no longer propagates back out. Emitted wherever this control already decided the user was done with it."
|
|
8483
|
+
},
|
|
8277
8484
|
{
|
|
8278
8485
|
name: "invalid",
|
|
8279
8486
|
kind: "input",
|
|
@@ -8323,7 +8530,7 @@ initialFocus="input"
|
|
|
8323
8530
|
{
|
|
8324
8531
|
name: "min",
|
|
8325
8532
|
kind: "input",
|
|
8326
|
-
type: "number | undefined",
|
|
8533
|
+
type: "number | UniNumberRange | undefined",
|
|
8327
8534
|
required: false,
|
|
8328
8535
|
default: "0",
|
|
8329
8536
|
description: ""
|
|
@@ -8331,7 +8538,7 @@ initialFocus="input"
|
|
|
8331
8538
|
{
|
|
8332
8539
|
name: "max",
|
|
8333
8540
|
kind: "input",
|
|
8334
|
-
type: "number | undefined",
|
|
8541
|
+
type: "number | UniNumberRange | undefined",
|
|
8335
8542
|
required: false,
|
|
8336
8543
|
default: "100",
|
|
8337
8544
|
description: ""
|
|
@@ -8501,7 +8708,7 @@ initialFocus="input"
|
|
|
8501
8708
|
"slider.behavior.tooltipTextColor",
|
|
8502
8709
|
"slider.behavior.tooltipShadow",
|
|
8503
8710
|
"slider.behavior.tooltipBorderRadius",
|
|
8504
|
-
"slider.behavior.
|
|
8711
|
+
"slider.behavior.motion"
|
|
8505
8712
|
]
|
|
8506
8713
|
},
|
|
8507
8714
|
{
|
|
@@ -8511,7 +8718,7 @@ initialFocus="input"
|
|
|
8511
8718
|
summary: "",
|
|
8512
8719
|
description: "",
|
|
8513
8720
|
category: "feedback",
|
|
8514
|
-
version: "
|
|
8721
|
+
version: "11.1.0",
|
|
8515
8722
|
bindings: {
|
|
8516
8723
|
angular: {
|
|
8517
8724
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -8623,7 +8830,7 @@ initialFocus="input"
|
|
|
8623
8830
|
summary: "",
|
|
8624
8831
|
description: "",
|
|
8625
8832
|
category: "data",
|
|
8626
|
-
version: "
|
|
8833
|
+
version: "11.1.0",
|
|
8627
8834
|
bindings: {
|
|
8628
8835
|
angular: {
|
|
8629
8836
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -8682,7 +8889,7 @@ initialFocus="input"
|
|
|
8682
8889
|
summary: "",
|
|
8683
8890
|
description: "",
|
|
8684
8891
|
category: "layout",
|
|
8685
|
-
version: "
|
|
8892
|
+
version: "11.1.0",
|
|
8686
8893
|
bindings: {
|
|
8687
8894
|
angular: {
|
|
8688
8895
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -8737,7 +8944,7 @@ initialFocus="input"
|
|
|
8737
8944
|
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.',
|
|
8738
8945
|
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.',
|
|
8739
8946
|
category: "components",
|
|
8740
|
-
version: "
|
|
8947
|
+
version: "11.1.0",
|
|
8741
8948
|
bindings: {
|
|
8742
8949
|
angular: {
|
|
8743
8950
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -8855,7 +9062,7 @@ initialFocus="input"
|
|
|
8855
9062
|
summary: "",
|
|
8856
9063
|
description: "",
|
|
8857
9064
|
category: "primitives",
|
|
8858
|
-
version: "
|
|
9065
|
+
version: "11.1.0",
|
|
8859
9066
|
bindings: {
|
|
8860
9067
|
angular: {
|
|
8861
9068
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -8944,7 +9151,7 @@ initialFocus="input"
|
|
|
8944
9151
|
summary: "One tab inside `uni-tabs`: a label for the tablist plus projected panel content.",
|
|
8945
9152
|
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.",
|
|
8946
9153
|
category: "components",
|
|
8947
|
-
version: "
|
|
9154
|
+
version: "11.1.0",
|
|
8948
9155
|
bindings: {
|
|
8949
9156
|
angular: {
|
|
8950
9157
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -8984,7 +9191,7 @@ initialFocus="input"
|
|
|
8984
9191
|
summary: "WAI-ARIA tabs: roving tabindex, automatic activation (arrow keys move focus and select), Home/End, disabled tabs skipped.",
|
|
8985
9192
|
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.",
|
|
8986
9193
|
category: "components",
|
|
8987
|
-
version: "
|
|
9194
|
+
version: "11.1.0",
|
|
8988
9195
|
bindings: {
|
|
8989
9196
|
angular: {
|
|
8990
9197
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -9046,6 +9253,7 @@ initialFocus="input"
|
|
|
9046
9253
|
]
|
|
9047
9254
|
},
|
|
9048
9255
|
relatedTokens: [
|
|
9256
|
+
"tabs.behavior.motion",
|
|
9049
9257
|
"tabs.behavior.typeface",
|
|
9050
9258
|
"tabs.behavior.textColor",
|
|
9051
9259
|
"tabs.behavior.activeTextColor",
|
|
@@ -9062,9 +9270,9 @@ initialFocus="input"
|
|
|
9062
9270
|
name: "Tag",
|
|
9063
9271
|
status: "stable",
|
|
9064
9272
|
summary: "Compact chip for categories, states, filters and tokens.",
|
|
9065
|
-
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. 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.",
|
|
9273
|
+
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.",
|
|
9066
9274
|
category: "data",
|
|
9067
|
-
version: "
|
|
9275
|
+
version: "11.1.0",
|
|
9068
9276
|
bindings: {
|
|
9069
9277
|
angular: {
|
|
9070
9278
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -9096,7 +9304,7 @@ initialFocus="input"
|
|
|
9096
9304
|
{
|
|
9097
9305
|
name: "value",
|
|
9098
9306
|
kind: "input",
|
|
9099
|
-
type: "
|
|
9307
|
+
type: "T",
|
|
9100
9308
|
required: false,
|
|
9101
9309
|
description: ""
|
|
9102
9310
|
},
|
|
@@ -9196,19 +9404,19 @@ initialFocus="input"
|
|
|
9196
9404
|
type: "number",
|
|
9197
9405
|
required: false,
|
|
9198
9406
|
default: "0",
|
|
9199
|
-
description: "Tab position of the chip's controls. A composite that owns its own roving focus \u2014 `uni-tag-input`, where the whole
|
|
9407
|
+
description: "Tab position of the chip's controls. A composite that owns its own roving focus \u2014 `uni-tag-input` or `uni-tag-group`, where the whole thing is one tab stop \u2014 passes `-1` so Tab does not walk through every chip to reach the next control."
|
|
9200
9408
|
},
|
|
9201
9409
|
{
|
|
9202
9410
|
name: "removed",
|
|
9203
9411
|
kind: "output",
|
|
9204
|
-
type: "
|
|
9412
|
+
type: "T | undefined",
|
|
9205
9413
|
required: false,
|
|
9206
9414
|
description: ""
|
|
9207
9415
|
},
|
|
9208
9416
|
{
|
|
9209
9417
|
name: "activated",
|
|
9210
9418
|
kind: "output",
|
|
9211
|
-
type: "
|
|
9419
|
+
type: "T | undefined",
|
|
9212
9420
|
required: false,
|
|
9213
9421
|
description: ""
|
|
9214
9422
|
},
|
|
@@ -9311,7 +9519,25 @@ initialFocus="input"
|
|
|
9311
9519
|
}
|
|
9312
9520
|
</div>
|
|
9313
9521
|
<!-- args:
|
|
9314
|
-
{ interactive: true, selected: true
|
|
9522
|
+
{ interactive: true, selected: true }
|
|
9523
|
+
-->`
|
|
9524
|
+
},
|
|
9525
|
+
{
|
|
9526
|
+
title: "Toggles",
|
|
9527
|
+
framework: "angular",
|
|
9528
|
+
code: `<!-- Storybook story: Toggles -->
|
|
9529
|
+
<div row-layout gap="sm" alignItems="center" style="flex-wrap:wrap">
|
|
9530
|
+
@for (facet of ['Design', 'Engineering', 'Legal', 'Finance']; track facet) {
|
|
9531
|
+
<uni-tag
|
|
9532
|
+
[interactive]="true"
|
|
9533
|
+
[label]="facet"
|
|
9534
|
+
[selected]="picked.includes(facet)"
|
|
9535
|
+
(activated)="toggle(facet)"
|
|
9536
|
+
/>
|
|
9537
|
+
}
|
|
9538
|
+
</div>
|
|
9539
|
+
<!-- args:
|
|
9540
|
+
{ label: 'nope@@x', invalid: true, removable: true, variant: 'warn' }
|
|
9315
9541
|
-->`
|
|
9316
9542
|
},
|
|
9317
9543
|
{
|
|
@@ -9402,6 +9628,7 @@ initialFocus="input"
|
|
|
9402
9628
|
"A static tag is **text, not a widget**: no role, no tab stop. Screen readers",
|
|
9403
9629
|
"`removable` adds one real `<button>` named `Remove {label}`, overridable with",
|
|
9404
9630
|
'`interactive` makes the body a `<button type="button">`; `selected` maps to',
|
|
9631
|
+
"`controlTabIndex` lets a composite that owns its own roving focus \u2014",
|
|
9405
9632
|
"Icons, avatars, initials and dots are `aria-hidden` \u2014 the chip's text is its",
|
|
9406
9633
|
"`invalid` sets `aria-invalid` and adds a non-colour cue."
|
|
9407
9634
|
]
|
|
@@ -9411,134 +9638,342 @@ initialFocus="input"
|
|
|
9411
9638
|
"tag.behavior.typeface",
|
|
9412
9639
|
"tag.behavior.gap",
|
|
9413
9640
|
"tag.behavior.removeIcon",
|
|
9414
|
-
"tag.behavior.selectedIcon"
|
|
9641
|
+
"tag.behavior.selectedIcon",
|
|
9642
|
+
"tag.behavior.motion",
|
|
9643
|
+
"tag.behavior.endInset"
|
|
9415
9644
|
]
|
|
9416
9645
|
},
|
|
9417
9646
|
{
|
|
9418
|
-
id: "tag-
|
|
9419
|
-
name: "
|
|
9647
|
+
id: "tag-group",
|
|
9648
|
+
name: "TagGroup",
|
|
9420
9649
|
status: "stable",
|
|
9421
|
-
summary: "",
|
|
9422
|
-
description: "",
|
|
9423
|
-
category: "
|
|
9424
|
-
version: "
|
|
9650
|
+
summary: "A row of chips the user picks from: filters, facets, a set of labels.",
|
|
9651
|
+
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.",
|
|
9652
|
+
category: "data",
|
|
9653
|
+
version: "11.1.0",
|
|
9425
9654
|
bindings: {
|
|
9426
9655
|
angular: {
|
|
9427
9656
|
importPath: "@uni-design-system/uni-angular",
|
|
9428
|
-
selectorOrTag: "uni-tag-
|
|
9657
|
+
selectorOrTag: "uni-tag-group",
|
|
9429
9658
|
api: [
|
|
9430
9659
|
{
|
|
9431
|
-
name: "
|
|
9432
|
-
kind: "
|
|
9433
|
-
type: "
|
|
9660
|
+
name: "items",
|
|
9661
|
+
kind: "input",
|
|
9662
|
+
type: "readonly UniTagGroupItem<T>[]",
|
|
9434
9663
|
required: false,
|
|
9435
9664
|
default: "[]",
|
|
9436
9665
|
description: ""
|
|
9437
9666
|
},
|
|
9438
9667
|
{
|
|
9439
|
-
name: "
|
|
9668
|
+
name: "layout",
|
|
9440
9669
|
kind: "input",
|
|
9441
|
-
type: "
|
|
9442
|
-
required: false,
|
|
9443
|
-
default: "false",
|
|
9444
|
-
description: ""
|
|
9445
|
-
},
|
|
9446
|
-
{
|
|
9447
|
-
name: "touched",
|
|
9448
|
-
kind: "model",
|
|
9449
|
-
type: "boolean",
|
|
9670
|
+
type: "'wrap' | 'justify'",
|
|
9450
9671
|
required: false,
|
|
9451
|
-
default: "
|
|
9452
|
-
description: ""
|
|
9672
|
+
default: "'wrap'",
|
|
9673
|
+
description: "`wrap` lets chips keep their natural widths. `justify` stretches each filled row flush to both edges, leaving the last row ragged; chips put the extra width around their labels, so tucked leads and remove controls stay tucked."
|
|
9453
9674
|
},
|
|
9454
9675
|
{
|
|
9455
|
-
name: "
|
|
9676
|
+
name: "multiple",
|
|
9456
9677
|
kind: "input",
|
|
9457
9678
|
type: "boolean",
|
|
9458
9679
|
required: false,
|
|
9459
9680
|
default: "false",
|
|
9460
|
-
description: ""
|
|
9681
|
+
description: "Allow more than one chip at a time. Single select replaces instead."
|
|
9461
9682
|
},
|
|
9462
9683
|
{
|
|
9463
|
-
name: "
|
|
9464
|
-
kind: "
|
|
9465
|
-
type: "
|
|
9684
|
+
name: "value",
|
|
9685
|
+
kind: "model",
|
|
9686
|
+
type: "T[]",
|
|
9466
9687
|
required: false,
|
|
9467
|
-
default: "
|
|
9468
|
-
description: ""
|
|
9688
|
+
default: "[]",
|
|
9689
|
+
description: "The selected values \u2014 one array in both modes, as `uni-tag-input` keeps one array for its items. Single select simply never holds more than one, which spares callers a `T[] | T | null` union at every call site."
|
|
9469
9690
|
},
|
|
9470
9691
|
{
|
|
9471
|
-
name: "
|
|
9472
|
-
kind: "
|
|
9473
|
-
type: "
|
|
9692
|
+
name: "activated",
|
|
9693
|
+
kind: "output",
|
|
9694
|
+
type: "T | undefined",
|
|
9474
9695
|
required: false,
|
|
9475
|
-
|
|
9476
|
-
description: ""
|
|
9696
|
+
description: "The chip the user just activated, selected or deselected."
|
|
9477
9697
|
},
|
|
9478
9698
|
{
|
|
9479
|
-
name: "
|
|
9480
|
-
kind: "
|
|
9481
|
-
type: "
|
|
9699
|
+
name: "removed",
|
|
9700
|
+
kind: "output",
|
|
9701
|
+
type: "T | undefined",
|
|
9482
9702
|
required: false,
|
|
9483
9703
|
description: ""
|
|
9484
9704
|
},
|
|
9485
9705
|
{
|
|
9486
|
-
name: "
|
|
9487
|
-
kind: "input",
|
|
9488
|
-
type: "string",
|
|
9489
|
-
required: true,
|
|
9490
|
-
description: 'Accessible name for the field, e.g. "To".'
|
|
9491
|
-
},
|
|
9492
|
-
{
|
|
9493
|
-
name: "placeholder",
|
|
9706
|
+
name: "chipTone",
|
|
9494
9707
|
kind: "input",
|
|
9495
|
-
type: "
|
|
9708
|
+
type: "TagTone | undefined",
|
|
9496
9709
|
required: false,
|
|
9710
|
+
default: "undefined",
|
|
9497
9711
|
description: ""
|
|
9498
9712
|
},
|
|
9499
9713
|
{
|
|
9500
|
-
name: "
|
|
9501
|
-
kind: "input",
|
|
9502
|
-
type: "'text' | 'email'",
|
|
9503
|
-
required: false,
|
|
9504
|
-
default: "'text'",
|
|
9505
|
-
description: "`email` wires an address validator, paste parser and space separator."
|
|
9506
|
-
},
|
|
9507
|
-
{
|
|
9508
|
-
name: "separators",
|
|
9714
|
+
name: "chipSize",
|
|
9509
9715
|
kind: "input",
|
|
9510
|
-
type: "
|
|
9716
|
+
type: "Size | undefined",
|
|
9511
9717
|
required: false,
|
|
9512
|
-
default: "
|
|
9718
|
+
default: "undefined",
|
|
9513
9719
|
description: ""
|
|
9514
9720
|
},
|
|
9515
9721
|
{
|
|
9516
|
-
name: "
|
|
9722
|
+
name: "chipVariant",
|
|
9517
9723
|
kind: "input",
|
|
9518
|
-
type: "
|
|
9724
|
+
type: "Variant | undefined",
|
|
9519
9725
|
required: false,
|
|
9520
|
-
default: "
|
|
9726
|
+
default: "undefined",
|
|
9521
9727
|
description: ""
|
|
9522
9728
|
},
|
|
9523
9729
|
{
|
|
9524
|
-
name: "
|
|
9730
|
+
name: "variant",
|
|
9525
9731
|
kind: "input",
|
|
9526
|
-
type: "
|
|
9732
|
+
type: "Variant",
|
|
9527
9733
|
required: false,
|
|
9528
|
-
default: "
|
|
9529
|
-
description: ""
|
|
9734
|
+
default: "'primary'",
|
|
9735
|
+
description: "Style archetype from the theme. Inherited from BaseComponent."
|
|
9530
9736
|
},
|
|
9531
9737
|
{
|
|
9532
|
-
name: "
|
|
9738
|
+
name: "size",
|
|
9533
9739
|
kind: "input",
|
|
9534
|
-
type: "
|
|
9740
|
+
type: "Size",
|
|
9535
9741
|
required: false,
|
|
9536
|
-
|
|
9537
|
-
|
|
9538
|
-
|
|
9539
|
-
|
|
9540
|
-
|
|
9541
|
-
|
|
9742
|
+
default: "'lg'",
|
|
9743
|
+
description: "Size token from the theme. Inherited from BaseComponent. Only has an effect where the component theme defines a `sizes` block."
|
|
9744
|
+
}
|
|
9745
|
+
]
|
|
9746
|
+
}
|
|
9747
|
+
},
|
|
9748
|
+
examples: [
|
|
9749
|
+
{
|
|
9750
|
+
title: "Wrap",
|
|
9751
|
+
framework: "angular",
|
|
9752
|
+
code: `<!-- Storybook story: Wrap -->
|
|
9753
|
+
<div style="max-width: 520px">
|
|
9754
|
+
<uni-tag-group
|
|
9755
|
+
[items]="items"
|
|
9756
|
+
[value]="value"
|
|
9757
|
+
[multiple]="multiple"
|
|
9758
|
+
layout="justify"
|
|
9759
|
+
/>
|
|
9760
|
+
</div>
|
|
9761
|
+
<!-- args:
|
|
9762
|
+
{ value: ['engineering'] }
|
|
9763
|
+
-->`
|
|
9764
|
+
},
|
|
9765
|
+
{
|
|
9766
|
+
title: "Justify",
|
|
9767
|
+
framework: "angular",
|
|
9768
|
+
code: `<!-- Storybook story: Justify -->
|
|
9769
|
+
<div style="max-width: 520px">
|
|
9770
|
+
<uni-tag-group
|
|
9771
|
+
[items]="items"
|
|
9772
|
+
[value]="value"
|
|
9773
|
+
[multiple]="multiple"
|
|
9774
|
+
layout="justify"
|
|
9775
|
+
/>
|
|
9776
|
+
</div>
|
|
9777
|
+
<!-- args:
|
|
9778
|
+
{ layout: 'justify', value: ['design', 'security'] }
|
|
9779
|
+
-->`
|
|
9780
|
+
},
|
|
9781
|
+
{
|
|
9782
|
+
title: "Single Select",
|
|
9783
|
+
framework: "angular",
|
|
9784
|
+
code: `<!-- Storybook story: Single Select -->
|
|
9785
|
+
<div style="max-width: 520px">
|
|
9786
|
+
<uni-tag-group
|
|
9787
|
+
[items]="items"
|
|
9788
|
+
[value]="value"
|
|
9789
|
+
[multiple]="multiple"
|
|
9790
|
+
layout="justify"
|
|
9791
|
+
/>
|
|
9792
|
+
</div>
|
|
9793
|
+
<!-- args:
|
|
9794
|
+
{ multiple: false, value: ['legal'] }
|
|
9795
|
+
-->`
|
|
9796
|
+
},
|
|
9797
|
+
{
|
|
9798
|
+
title: "Mixed Chips",
|
|
9799
|
+
framework: "angular",
|
|
9800
|
+
code: `<!-- Storybook story: Mixed Chips -->
|
|
9801
|
+
<div style="max-width: 520px">
|
|
9802
|
+
<uni-tag-group
|
|
9803
|
+
[items]="items"
|
|
9804
|
+
[value]="value"
|
|
9805
|
+
[multiple]="multiple"
|
|
9806
|
+
layout="justify"
|
|
9807
|
+
/>
|
|
9808
|
+
</div>
|
|
9809
|
+
<!-- args:
|
|
9810
|
+
{
|
|
9811
|
+
items: [
|
|
9812
|
+
{ label: 'Starred', value: 'starred', iconName: 'star' },
|
|
9813
|
+
{ label: 'Live', value: 'live', dot: true, variant: 'success' },
|
|
9814
|
+
{ label: 'Alice Chen', value: 'alice', avatarName: 'Alice Chen' },
|
|
9815
|
+
{ label: 'Blocked', value: 'blocked', variant: 'warn', tone: 'outline' },
|
|
9816
|
+
{ label: 'Archived', value: 'archived', disabled: true },
|
|
9817
|
+
{ label: 'Custom', value: 'custom', removable: true },
|
|
9818
|
+
],
|
|
9819
|
+
}
|
|
9820
|
+
-->`
|
|
9821
|
+
}
|
|
9822
|
+
],
|
|
9823
|
+
guidelines: {
|
|
9824
|
+
whenToUse: "A row of chips the user picks from: filters, facets, a set of labels. The group\nowns the two things an app was otherwise wiring on every chip \u2014 **which one is\nselected** and **which one holds the tab stop**.",
|
|
9825
|
+
dos: [
|
|
9826
|
+
"Give the group `multiple` when the filters combine, and leave it off when they",
|
|
9827
|
+
'Reach for `layout="justify"` when the row is long enough to wrap \u2014 a single',
|
|
9828
|
+
"Put per-chip differences on the item (`variant`, `tone`, `iconName`)."
|
|
9829
|
+
],
|
|
9830
|
+
donts: [
|
|
9831
|
+
"Don't bind `[selected]` on chips inside a group \u2014 that is the thing the group",
|
|
9832
|
+
"Don't use it for an open set the user types into; that is `uni-tag-input`.",
|
|
9833
|
+
"Don't reach for it as a generic chip row. With no selection to own it is just"
|
|
9834
|
+
],
|
|
9835
|
+
accessibility: [
|
|
9836
|
+
'`role="toolbar"` with `aria-orientation="horizontal"`: one tab stop for the',
|
|
9837
|
+
"Arrow keys move within the group. Both axes work, because the row wraps \u2014",
|
|
9838
|
+
"The tab stop follows the last chip the user picked, so tabbing back into the",
|
|
9839
|
+
"Each chip announces its own state through `aria-pressed`, since each one is an"
|
|
9840
|
+
]
|
|
9841
|
+
},
|
|
9842
|
+
relatedTokens: []
|
|
9843
|
+
},
|
|
9844
|
+
{
|
|
9845
|
+
id: "tag-input",
|
|
9846
|
+
name: "TagInput",
|
|
9847
|
+
status: "stable",
|
|
9848
|
+
summary: "",
|
|
9849
|
+
description: "",
|
|
9850
|
+
category: "forms",
|
|
9851
|
+
version: "11.1.0",
|
|
9852
|
+
bindings: {
|
|
9853
|
+
angular: {
|
|
9854
|
+
importPath: "@uni-design-system/uni-angular",
|
|
9855
|
+
selectorOrTag: "uni-tag-input",
|
|
9856
|
+
api: [
|
|
9857
|
+
{
|
|
9858
|
+
name: "value",
|
|
9859
|
+
kind: "model",
|
|
9860
|
+
type: "UniTagItem[]",
|
|
9861
|
+
required: false,
|
|
9862
|
+
default: "[]",
|
|
9863
|
+
description: ""
|
|
9864
|
+
},
|
|
9865
|
+
{
|
|
9866
|
+
name: "disabled",
|
|
9867
|
+
kind: "input",
|
|
9868
|
+
type: "boolean",
|
|
9869
|
+
required: false,
|
|
9870
|
+
default: "false",
|
|
9871
|
+
description: ""
|
|
9872
|
+
},
|
|
9873
|
+
{
|
|
9874
|
+
name: "touched",
|
|
9875
|
+
kind: "model",
|
|
9876
|
+
type: "boolean",
|
|
9877
|
+
required: false,
|
|
9878
|
+
default: "false",
|
|
9879
|
+
description: ""
|
|
9880
|
+
},
|
|
9881
|
+
{
|
|
9882
|
+
name: "touch",
|
|
9883
|
+
kind: "output",
|
|
9884
|
+
type: "void",
|
|
9885
|
+
required: false,
|
|
9886
|
+
description: "Angular 22 marks the bound field touched through this output; the `touched` model above is bound inward by the directive and no longer propagates back out. Emitted wherever this control already decided the user was done with it."
|
|
9887
|
+
},
|
|
9888
|
+
{
|
|
9889
|
+
name: "invalid",
|
|
9890
|
+
kind: "input",
|
|
9891
|
+
type: "boolean",
|
|
9892
|
+
required: false,
|
|
9893
|
+
default: "false",
|
|
9894
|
+
description: ""
|
|
9895
|
+
},
|
|
9896
|
+
{
|
|
9897
|
+
name: "dirty",
|
|
9898
|
+
kind: "input",
|
|
9899
|
+
type: "boolean",
|
|
9900
|
+
required: false,
|
|
9901
|
+
default: "false",
|
|
9902
|
+
description: ""
|
|
9903
|
+
},
|
|
9904
|
+
{
|
|
9905
|
+
name: "required",
|
|
9906
|
+
kind: "input",
|
|
9907
|
+
type: "boolean",
|
|
9908
|
+
required: false,
|
|
9909
|
+
default: "false",
|
|
9910
|
+
description: ""
|
|
9911
|
+
},
|
|
9912
|
+
{
|
|
9913
|
+
name: "ariaDescribedBy",
|
|
9914
|
+
kind: "input",
|
|
9915
|
+
type: "string",
|
|
9916
|
+
required: false,
|
|
9917
|
+
description: ""
|
|
9918
|
+
},
|
|
9919
|
+
{
|
|
9920
|
+
name: "label",
|
|
9921
|
+
kind: "input",
|
|
9922
|
+
type: "string",
|
|
9923
|
+
required: true,
|
|
9924
|
+
description: 'Accessible name for the field, e.g. "To".'
|
|
9925
|
+
},
|
|
9926
|
+
{
|
|
9927
|
+
name: "placeholder",
|
|
9928
|
+
kind: "input",
|
|
9929
|
+
type: "string",
|
|
9930
|
+
required: false,
|
|
9931
|
+
description: ""
|
|
9932
|
+
},
|
|
9933
|
+
{
|
|
9934
|
+
name: "preset",
|
|
9935
|
+
kind: "input",
|
|
9936
|
+
type: "'text' | 'email'",
|
|
9937
|
+
required: false,
|
|
9938
|
+
default: "'text'",
|
|
9939
|
+
description: "`email` wires an address validator, paste parser and space separator."
|
|
9940
|
+
},
|
|
9941
|
+
{
|
|
9942
|
+
name: "separators",
|
|
9943
|
+
kind: "input",
|
|
9944
|
+
type: "string[]",
|
|
9945
|
+
required: false,
|
|
9946
|
+
default: "[',', ';']",
|
|
9947
|
+
description: ""
|
|
9948
|
+
},
|
|
9949
|
+
{
|
|
9950
|
+
name: "commitOnBlur",
|
|
9951
|
+
kind: "input",
|
|
9952
|
+
type: "boolean",
|
|
9953
|
+
required: false,
|
|
9954
|
+
default: "true",
|
|
9955
|
+
description: ""
|
|
9956
|
+
},
|
|
9957
|
+
{
|
|
9958
|
+
name: "allowDuplicates",
|
|
9959
|
+
kind: "input",
|
|
9960
|
+
type: "boolean",
|
|
9961
|
+
required: false,
|
|
9962
|
+
default: "false",
|
|
9963
|
+
description: ""
|
|
9964
|
+
},
|
|
9965
|
+
{
|
|
9966
|
+
name: "maxLength",
|
|
9967
|
+
kind: "input",
|
|
9968
|
+
type: "number | undefined",
|
|
9969
|
+
required: false,
|
|
9970
|
+
default: "undefined, { alias: 'max' }",
|
|
9971
|
+
description: ""
|
|
9972
|
+
},
|
|
9973
|
+
{
|
|
9974
|
+
name: "tagVariant",
|
|
9975
|
+
kind: "input",
|
|
9976
|
+
type: "Variant",
|
|
9542
9977
|
required: false,
|
|
9543
9978
|
default: "'primary'",
|
|
9544
9979
|
description: ""
|
|
@@ -9710,7 +10145,7 @@ placeholder="Name or address\u2026"
|
|
|
9710
10145
|
(query)="onQuery($event)"
|
|
9711
10146
|
/>
|
|
9712
10147
|
<!-- args:
|
|
9713
|
-
{
|
|
10148
|
+
{ maxLength: 3, value: [{ value: 'alpha' }, { value: 'beta' }] }
|
|
9714
10149
|
-->`
|
|
9715
10150
|
},
|
|
9716
10151
|
{
|
|
@@ -9754,7 +10189,7 @@ placeholder="Name or address\u2026"
|
|
|
9754
10189
|
summary: "The typography primitive, applied as an attribute to any element so semantics stay yours.",
|
|
9755
10190
|
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.',
|
|
9756
10191
|
category: "primitives",
|
|
9757
|
-
version: "
|
|
10192
|
+
version: "11.1.0",
|
|
9758
10193
|
bindings: {
|
|
9759
10194
|
angular: {
|
|
9760
10195
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -9856,7 +10291,7 @@ placeholder="Name or address\u2026"
|
|
|
9856
10291
|
summary: "",
|
|
9857
10292
|
description: "",
|
|
9858
10293
|
category: "forms",
|
|
9859
|
-
version: "
|
|
10294
|
+
version: "11.1.0",
|
|
9860
10295
|
bindings: {
|
|
9861
10296
|
angular: {
|
|
9862
10297
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -9886,6 +10321,13 @@ placeholder="Name or address\u2026"
|
|
|
9886
10321
|
default: "false",
|
|
9887
10322
|
description: ""
|
|
9888
10323
|
},
|
|
10324
|
+
{
|
|
10325
|
+
name: "touch",
|
|
10326
|
+
kind: "output",
|
|
10327
|
+
type: "void",
|
|
10328
|
+
required: false,
|
|
10329
|
+
description: "Angular 22 marks the bound field touched through this output; the `touched` model above is bound inward by the directive and no longer propagates back out. Emitted wherever this control already decided the user was done with it."
|
|
10330
|
+
},
|
|
9889
10331
|
{
|
|
9890
10332
|
name: "invalid",
|
|
9891
10333
|
kind: "input",
|
|
@@ -10056,7 +10498,7 @@ placeholder="Name or address\u2026"
|
|
|
10056
10498
|
summary: "",
|
|
10057
10499
|
description: "",
|
|
10058
10500
|
category: "primitives",
|
|
10059
|
-
version: "
|
|
10501
|
+
version: "11.1.0",
|
|
10060
10502
|
bindings: {
|
|
10061
10503
|
angular: {
|
|
10062
10504
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -10086,7 +10528,7 @@ placeholder="Name or address\u2026"
|
|
|
10086
10528
|
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).",
|
|
10087
10529
|
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).",
|
|
10088
10530
|
category: "components",
|
|
10089
|
-
version: "
|
|
10531
|
+
version: "11.1.0",
|
|
10090
10532
|
bindings: {
|
|
10091
10533
|
angular: {
|
|
10092
10534
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -10144,7 +10586,7 @@ placeholder="Name or address\u2026"
|
|
|
10144
10586
|
summary: "Time field: a combobox over time options \u2014 the same listbox contract as uni-search-input and uni-tag-input.",
|
|
10145
10587
|
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.",
|
|
10146
10588
|
category: "forms",
|
|
10147
|
-
version: "
|
|
10589
|
+
version: "11.1.0",
|
|
10148
10590
|
bindings: {
|
|
10149
10591
|
angular: {
|
|
10150
10592
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -10173,6 +10615,13 @@ placeholder="Name or address\u2026"
|
|
|
10173
10615
|
default: "false",
|
|
10174
10616
|
description: ""
|
|
10175
10617
|
},
|
|
10618
|
+
{
|
|
10619
|
+
name: "touch",
|
|
10620
|
+
kind: "output",
|
|
10621
|
+
type: "void",
|
|
10622
|
+
required: false,
|
|
10623
|
+
description: "Angular 22 marks the bound field touched through this output; the `touched` model above is bound inward by the directive and no longer propagates back out. Emitted wherever this control already decided the user was done with it."
|
|
10624
|
+
},
|
|
10176
10625
|
{
|
|
10177
10626
|
name: "invalid",
|
|
10178
10627
|
kind: "input",
|
|
@@ -10352,7 +10801,7 @@ placeholder="Name or address\u2026"
|
|
|
10352
10801
|
summary: "",
|
|
10353
10802
|
description: "",
|
|
10354
10803
|
category: "forms",
|
|
10355
|
-
version: "
|
|
10804
|
+
version: "11.1.0",
|
|
10356
10805
|
bindings: {
|
|
10357
10806
|
angular: {
|
|
10358
10807
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -10382,6 +10831,13 @@ placeholder="Name or address\u2026"
|
|
|
10382
10831
|
default: "false",
|
|
10383
10832
|
description: ""
|
|
10384
10833
|
},
|
|
10834
|
+
{
|
|
10835
|
+
name: "touch",
|
|
10836
|
+
kind: "output",
|
|
10837
|
+
type: "void",
|
|
10838
|
+
required: false,
|
|
10839
|
+
description: "Angular 22 marks the bound field touched through this output; the `touched` model above is bound inward by the directive and no longer propagates back out. Emitted wherever this control already decided the user was done with it."
|
|
10840
|
+
},
|
|
10385
10841
|
{
|
|
10386
10842
|
name: "invalid",
|
|
10387
10843
|
kind: "input",
|
|
@@ -10575,7 +11031,7 @@ placeholder="Name or address\u2026"
|
|
|
10575
11031
|
summary: "",
|
|
10576
11032
|
description: "",
|
|
10577
11033
|
category: "feedback",
|
|
10578
|
-
version: "
|
|
11034
|
+
version: "11.1.0",
|
|
10579
11035
|
bindings: {
|
|
10580
11036
|
angular: {
|
|
10581
11037
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -10649,6 +11105,7 @@ placeholder="Name or address\u2026"
|
|
|
10649
11105
|
]
|
|
10650
11106
|
},
|
|
10651
11107
|
relatedTokens: [
|
|
11108
|
+
"tooltip.behavior.motion",
|
|
10652
11109
|
"tooltip.behavior.borderRadius",
|
|
10653
11110
|
"tooltip.behavior.shadow",
|
|
10654
11111
|
"tooltip.behavior.color",
|
|
@@ -10662,7 +11119,7 @@ placeholder="Name or address\u2026"
|
|
|
10662
11119
|
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).',
|
|
10663
11120
|
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.',
|
|
10664
11121
|
category: "components",
|
|
10665
|
-
version: "
|
|
11122
|
+
version: "11.1.0",
|
|
10666
11123
|
bindings: {
|
|
10667
11124
|
angular: {
|
|
10668
11125
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -10789,7 +11246,7 @@ placeholder="Name or address\u2026"
|
|
|
10789
11246
|
summary: "",
|
|
10790
11247
|
description: "",
|
|
10791
11248
|
category: "layout",
|
|
10792
|
-
version: "
|
|
11249
|
+
version: "11.1.0",
|
|
10793
11250
|
bindings: {
|
|
10794
11251
|
angular: {
|
|
10795
11252
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -11986,6 +12443,72 @@ placeholder="Name or address\u2026"
|
|
|
11986
12443
|
DarkTheme: '{"background":"rgba(255, 255, 255, 0.6)","backdropFilter":"blur(2px)"}'
|
|
11987
12444
|
}
|
|
11988
12445
|
},
|
|
12446
|
+
{
|
|
12447
|
+
id: "motion.popup",
|
|
12448
|
+
value: '{"duration":100,"easing":"linear","scale":0.8}',
|
|
12449
|
+
type: "motion",
|
|
12450
|
+
kind: "style",
|
|
12451
|
+
target: "emotion-css",
|
|
12452
|
+
themeValues: {
|
|
12453
|
+
LightTheme: '{"duration":100,"easing":"linear","scale":0.8}',
|
|
12454
|
+
DarkTheme: '{"duration":100,"easing":"linear","scale":0.8}'
|
|
12455
|
+
}
|
|
12456
|
+
},
|
|
12457
|
+
{
|
|
12458
|
+
id: "motion.panel",
|
|
12459
|
+
value: '{"duration":250,"easing":"ease"}',
|
|
12460
|
+
type: "motion",
|
|
12461
|
+
kind: "style",
|
|
12462
|
+
target: "emotion-css",
|
|
12463
|
+
themeValues: {
|
|
12464
|
+
LightTheme: '{"duration":250,"easing":"ease"}',
|
|
12465
|
+
DarkTheme: '{"duration":250,"easing":"ease"}'
|
|
12466
|
+
}
|
|
12467
|
+
},
|
|
12468
|
+
{
|
|
12469
|
+
id: "motion.reveal",
|
|
12470
|
+
value: '{"duration":350,"easing":"ease-in-out"}',
|
|
12471
|
+
type: "motion",
|
|
12472
|
+
kind: "style",
|
|
12473
|
+
target: "emotion-css",
|
|
12474
|
+
themeValues: {
|
|
12475
|
+
LightTheme: '{"duration":350,"easing":"ease-in-out"}',
|
|
12476
|
+
DarkTheme: '{"duration":350,"easing":"ease-in-out"}'
|
|
12477
|
+
}
|
|
12478
|
+
},
|
|
12479
|
+
{
|
|
12480
|
+
id: "motion.notification",
|
|
12481
|
+
value: '{"duration":350,"easing":"ease-in-out"}',
|
|
12482
|
+
type: "motion",
|
|
12483
|
+
kind: "style",
|
|
12484
|
+
target: "emotion-css",
|
|
12485
|
+
themeValues: {
|
|
12486
|
+
LightTheme: '{"duration":350,"easing":"ease-in-out"}',
|
|
12487
|
+
DarkTheme: '{"duration":350,"easing":"ease-in-out"}'
|
|
12488
|
+
}
|
|
12489
|
+
},
|
|
12490
|
+
{
|
|
12491
|
+
id: "motion.control",
|
|
12492
|
+
value: '{"duration":300,"easing":"ease"}',
|
|
12493
|
+
type: "motion",
|
|
12494
|
+
kind: "style",
|
|
12495
|
+
target: "emotion-css",
|
|
12496
|
+
themeValues: {
|
|
12497
|
+
LightTheme: '{"duration":300,"easing":"ease"}',
|
|
12498
|
+
DarkTheme: '{"duration":300,"easing":"ease"}'
|
|
12499
|
+
}
|
|
12500
|
+
},
|
|
12501
|
+
{
|
|
12502
|
+
id: "motion.snap",
|
|
12503
|
+
value: '{"duration":120,"easing":"ease"}',
|
|
12504
|
+
type: "motion",
|
|
12505
|
+
kind: "style",
|
|
12506
|
+
target: "emotion-css",
|
|
12507
|
+
themeValues: {
|
|
12508
|
+
LightTheme: '{"duration":120,"easing":"ease"}',
|
|
12509
|
+
DarkTheme: '{"duration":120,"easing":"ease"}'
|
|
12510
|
+
}
|
|
12511
|
+
},
|
|
11989
12512
|
{
|
|
11990
12513
|
id: "thickness.thin",
|
|
11991
12514
|
value: 1,
|
|
@@ -12285,13 +12808,13 @@ placeholder="Name or address\u2026"
|
|
|
12285
12808
|
},
|
|
12286
12809
|
{
|
|
12287
12810
|
id: "typography.tag",
|
|
12288
|
-
value: '{"fontFamily":"Red Hat Display","fontSize":15,"lineHeight":20,"fontWeight":
|
|
12811
|
+
value: '{"fontFamily":"Red Hat Display","fontSize":15,"lineHeight":20,"fontWeight":500}',
|
|
12289
12812
|
type: "typography",
|
|
12290
12813
|
kind: "style",
|
|
12291
12814
|
target: "emotion-css",
|
|
12292
12815
|
themeValues: {
|
|
12293
|
-
LightTheme: '{"fontFamily":"Red Hat Display","fontSize":15,"lineHeight":20,"fontWeight":
|
|
12294
|
-
DarkTheme: '{"fontFamily":"Red Hat Display","fontSize":15,"lineHeight":20,"fontWeight":
|
|
12816
|
+
LightTheme: '{"fontFamily":"Red Hat Display","fontSize":15,"lineHeight":20,"fontWeight":500}',
|
|
12817
|
+
DarkTheme: '{"fontFamily":"Red Hat Display","fontSize":15,"lineHeight":20,"fontWeight":500}'
|
|
12295
12818
|
}
|
|
12296
12819
|
},
|
|
12297
12820
|
{
|
|
@@ -12390,15 +12913,15 @@ placeholder="Name or address\u2026"
|
|
|
12390
12913
|
}
|
|
12391
12914
|
},
|
|
12392
12915
|
{
|
|
12393
|
-
id: "breadcrumb.behavior.
|
|
12394
|
-
value: "
|
|
12916
|
+
id: "breadcrumb.behavior.separatorIcon",
|
|
12917
|
+
value: "chevronRight",
|
|
12395
12918
|
type: "string",
|
|
12396
12919
|
kind: "behavioral",
|
|
12397
12920
|
target: "component-prop",
|
|
12398
12921
|
appliesTo: "breadcrumb",
|
|
12399
12922
|
themeValues: {
|
|
12400
|
-
LightTheme: "
|
|
12401
|
-
DarkTheme: "
|
|
12923
|
+
LightTheme: "chevronRight",
|
|
12924
|
+
DarkTheme: "chevronRight"
|
|
12402
12925
|
}
|
|
12403
12926
|
},
|
|
12404
12927
|
{
|
|
@@ -12810,15 +13333,15 @@ placeholder="Name or address\u2026"
|
|
|
12810
13333
|
}
|
|
12811
13334
|
},
|
|
12812
13335
|
{
|
|
12813
|
-
id: "avatar.behavior.
|
|
12814
|
-
value: "
|
|
13336
|
+
id: "avatar.behavior.fallbackIcon",
|
|
13337
|
+
value: "profile",
|
|
12815
13338
|
type: "string",
|
|
12816
13339
|
kind: "behavioral",
|
|
12817
13340
|
target: "component-prop",
|
|
12818
13341
|
appliesTo: "avatar",
|
|
12819
13342
|
themeValues: {
|
|
12820
|
-
LightTheme: "
|
|
12821
|
-
DarkTheme: "
|
|
13343
|
+
LightTheme: "profile",
|
|
13344
|
+
DarkTheme: "profile"
|
|
12822
13345
|
}
|
|
12823
13346
|
},
|
|
12824
13347
|
{
|
|
@@ -12858,7 +13381,7 @@ placeholder="Name or address\u2026"
|
|
|
12858
13381
|
}
|
|
12859
13382
|
},
|
|
12860
13383
|
{
|
|
12861
|
-
id: "searchInput.behavior.
|
|
13384
|
+
id: "searchInput.behavior.searchIcon",
|
|
12862
13385
|
value: "search",
|
|
12863
13386
|
type: "string",
|
|
12864
13387
|
kind: "behavioral",
|
|
@@ -12870,7 +13393,7 @@ placeholder="Name or address\u2026"
|
|
|
12870
13393
|
}
|
|
12871
13394
|
},
|
|
12872
13395
|
{
|
|
12873
|
-
id: "searchInput.behavior.
|
|
13396
|
+
id: "searchInput.behavior.clearIcon",
|
|
12874
13397
|
value: "close",
|
|
12875
13398
|
type: "string",
|
|
12876
13399
|
kind: "behavioral",
|
|
@@ -12941,6 +13464,18 @@ placeholder="Name or address\u2026"
|
|
|
12941
13464
|
DarkTheme: 8
|
|
12942
13465
|
}
|
|
12943
13466
|
},
|
|
13467
|
+
{
|
|
13468
|
+
id: "checkbox.behavior.motion",
|
|
13469
|
+
value: "control",
|
|
13470
|
+
type: "string",
|
|
13471
|
+
kind: "behavioral",
|
|
13472
|
+
target: "component-prop",
|
|
13473
|
+
appliesTo: "checkbox",
|
|
13474
|
+
themeValues: {
|
|
13475
|
+
LightTheme: "control",
|
|
13476
|
+
DarkTheme: "control"
|
|
13477
|
+
}
|
|
13478
|
+
},
|
|
12944
13479
|
{
|
|
12945
13480
|
id: "checkbox.behavior.size",
|
|
12946
13481
|
value: 20,
|
|
@@ -13325,6 +13860,126 @@ placeholder="Name or address\u2026"
|
|
|
13325
13860
|
DarkTheme: "md"
|
|
13326
13861
|
}
|
|
13327
13862
|
},
|
|
13863
|
+
{
|
|
13864
|
+
id: "select.behavior.toggleIcon",
|
|
13865
|
+
value: "chevronDown",
|
|
13866
|
+
type: "string",
|
|
13867
|
+
kind: "behavioral",
|
|
13868
|
+
target: "component-prop",
|
|
13869
|
+
appliesTo: "select",
|
|
13870
|
+
themeValues: {
|
|
13871
|
+
LightTheme: "chevronDown",
|
|
13872
|
+
DarkTheme: "chevronDown"
|
|
13873
|
+
}
|
|
13874
|
+
},
|
|
13875
|
+
{
|
|
13876
|
+
id: "select.behavior.toggleColor",
|
|
13877
|
+
value: "on-background-variant",
|
|
13878
|
+
type: "string",
|
|
13879
|
+
kind: "behavioral",
|
|
13880
|
+
target: "component-prop",
|
|
13881
|
+
appliesTo: "select",
|
|
13882
|
+
themeValues: {
|
|
13883
|
+
LightTheme: "on-background-variant",
|
|
13884
|
+
DarkTheme: "on-background-variant"
|
|
13885
|
+
}
|
|
13886
|
+
},
|
|
13887
|
+
{
|
|
13888
|
+
id: "select.behavior.toggleSize",
|
|
13889
|
+
value: 20,
|
|
13890
|
+
type: "number",
|
|
13891
|
+
kind: "behavioral",
|
|
13892
|
+
target: "component-prop",
|
|
13893
|
+
appliesTo: "select",
|
|
13894
|
+
themeValues: {
|
|
13895
|
+
LightTheme: 20,
|
|
13896
|
+
DarkTheme: 20
|
|
13897
|
+
}
|
|
13898
|
+
},
|
|
13899
|
+
{
|
|
13900
|
+
id: "buttonGroup.behavior.border",
|
|
13901
|
+
value: "quaternary",
|
|
13902
|
+
type: "string",
|
|
13903
|
+
kind: "behavioral",
|
|
13904
|
+
target: "component-prop",
|
|
13905
|
+
appliesTo: "buttonGroup",
|
|
13906
|
+
themeValues: {
|
|
13907
|
+
LightTheme: "quaternary",
|
|
13908
|
+
DarkTheme: "quaternary"
|
|
13909
|
+
}
|
|
13910
|
+
},
|
|
13911
|
+
{
|
|
13912
|
+
id: "buttonGroup.behavior.borderRadius",
|
|
13913
|
+
value: 4,
|
|
13914
|
+
type: "number",
|
|
13915
|
+
kind: "behavioral",
|
|
13916
|
+
target: "component-prop",
|
|
13917
|
+
appliesTo: "buttonGroup",
|
|
13918
|
+
themeValues: {
|
|
13919
|
+
LightTheme: 4,
|
|
13920
|
+
DarkTheme: 4
|
|
13921
|
+
}
|
|
13922
|
+
},
|
|
13923
|
+
{
|
|
13924
|
+
id: "progressBar.behavior.trackColor",
|
|
13925
|
+
value: "primary-surface",
|
|
13926
|
+
type: "string",
|
|
13927
|
+
kind: "behavioral",
|
|
13928
|
+
target: "component-prop",
|
|
13929
|
+
appliesTo: "progressBar",
|
|
13930
|
+
themeValues: {
|
|
13931
|
+
LightTheme: "primary-surface",
|
|
13932
|
+
DarkTheme: "primary-surface"
|
|
13933
|
+
}
|
|
13934
|
+
},
|
|
13935
|
+
{
|
|
13936
|
+
id: "progressBar.behavior.fillColor",
|
|
13937
|
+
value: "secondary-surface",
|
|
13938
|
+
type: "string",
|
|
13939
|
+
kind: "behavioral",
|
|
13940
|
+
target: "component-prop",
|
|
13941
|
+
appliesTo: "progressBar",
|
|
13942
|
+
themeValues: {
|
|
13943
|
+
LightTheme: "secondary-surface",
|
|
13944
|
+
DarkTheme: "secondary-surface"
|
|
13945
|
+
}
|
|
13946
|
+
},
|
|
13947
|
+
{
|
|
13948
|
+
id: "progressBar.behavior.completeColor",
|
|
13949
|
+
value: "secondary",
|
|
13950
|
+
type: "string",
|
|
13951
|
+
kind: "behavioral",
|
|
13952
|
+
target: "component-prop",
|
|
13953
|
+
appliesTo: "progressBar",
|
|
13954
|
+
themeValues: {
|
|
13955
|
+
LightTheme: "secondary",
|
|
13956
|
+
DarkTheme: "secondary"
|
|
13957
|
+
}
|
|
13958
|
+
},
|
|
13959
|
+
{
|
|
13960
|
+
id: "progressBar.behavior.borderColor",
|
|
13961
|
+
value: "on-background-variant",
|
|
13962
|
+
type: "string",
|
|
13963
|
+
kind: "behavioral",
|
|
13964
|
+
target: "component-prop",
|
|
13965
|
+
appliesTo: "progressBar",
|
|
13966
|
+
themeValues: {
|
|
13967
|
+
LightTheme: "on-background-variant",
|
|
13968
|
+
DarkTheme: "on-background-variant"
|
|
13969
|
+
}
|
|
13970
|
+
},
|
|
13971
|
+
{
|
|
13972
|
+
id: "progressBar.behavior.strokeWidth",
|
|
13973
|
+
value: 1,
|
|
13974
|
+
type: "number",
|
|
13975
|
+
kind: "behavioral",
|
|
13976
|
+
target: "component-prop",
|
|
13977
|
+
appliesTo: "progressBar",
|
|
13978
|
+
themeValues: {
|
|
13979
|
+
LightTheme: 1,
|
|
13980
|
+
DarkTheme: 1
|
|
13981
|
+
}
|
|
13982
|
+
},
|
|
13328
13983
|
{
|
|
13329
13984
|
id: "dropdown.behavior.border",
|
|
13330
13985
|
value: "none",
|
|
@@ -13518,7 +14173,7 @@ placeholder="Name or address\u2026"
|
|
|
13518
14173
|
}
|
|
13519
14174
|
},
|
|
13520
14175
|
{
|
|
13521
|
-
id: "menuItem.behavior.
|
|
14176
|
+
id: "menuItem.behavior.activeIcon",
|
|
13522
14177
|
value: "check",
|
|
13523
14178
|
type: "string",
|
|
13524
14179
|
kind: "behavioral",
|
|
@@ -13650,7 +14305,7 @@ placeholder="Name or address\u2026"
|
|
|
13650
14305
|
}
|
|
13651
14306
|
},
|
|
13652
14307
|
{
|
|
13653
|
-
id: "popover.behavior.
|
|
14308
|
+
id: "popover.behavior.closeIcon",
|
|
13654
14309
|
value: "close",
|
|
13655
14310
|
type: "string",
|
|
13656
14311
|
kind: "behavioral",
|
|
@@ -13733,54 +14388,6 @@ placeholder="Name or address\u2026"
|
|
|
13733
14388
|
DarkTheme: "reveal"
|
|
13734
14389
|
}
|
|
13735
14390
|
},
|
|
13736
|
-
{
|
|
13737
|
-
id: "footer.behavior.height",
|
|
13738
|
-
value: 52,
|
|
13739
|
-
type: "number",
|
|
13740
|
-
kind: "behavioral",
|
|
13741
|
-
target: "component-prop",
|
|
13742
|
-
appliesTo: "footer",
|
|
13743
|
-
themeValues: {
|
|
13744
|
-
LightTheme: 52,
|
|
13745
|
-
DarkTheme: 52
|
|
13746
|
-
}
|
|
13747
|
-
},
|
|
13748
|
-
{
|
|
13749
|
-
id: "footer.behavior.color",
|
|
13750
|
-
value: "primary",
|
|
13751
|
-
type: "string",
|
|
13752
|
-
kind: "behavioral",
|
|
13753
|
-
target: "component-prop",
|
|
13754
|
-
appliesTo: "footer",
|
|
13755
|
-
themeValues: {
|
|
13756
|
-
LightTheme: "primary",
|
|
13757
|
-
DarkTheme: "primary"
|
|
13758
|
-
}
|
|
13759
|
-
},
|
|
13760
|
-
{
|
|
13761
|
-
id: "footer.behavior.logoHeight",
|
|
13762
|
-
value: 18.6,
|
|
13763
|
-
type: "number",
|
|
13764
|
-
kind: "behavioral",
|
|
13765
|
-
target: "component-prop",
|
|
13766
|
-
appliesTo: "footer",
|
|
13767
|
-
themeValues: {
|
|
13768
|
-
LightTheme: 18.6,
|
|
13769
|
-
DarkTheme: 18.6
|
|
13770
|
-
}
|
|
13771
|
-
},
|
|
13772
|
-
{
|
|
13773
|
-
id: "footer.behavior.logoPadding",
|
|
13774
|
-
value: "md",
|
|
13775
|
-
type: "string",
|
|
13776
|
-
kind: "behavioral",
|
|
13777
|
-
target: "component-prop",
|
|
13778
|
-
appliesTo: "footer",
|
|
13779
|
-
themeValues: {
|
|
13780
|
-
LightTheme: "md",
|
|
13781
|
-
DarkTheme: "md"
|
|
13782
|
-
}
|
|
13783
|
-
},
|
|
13784
14391
|
{
|
|
13785
14392
|
id: "input.behavior.typeface",
|
|
13786
14393
|
value: "input",
|
|
@@ -14261,6 +14868,18 @@ placeholder="Name or address\u2026"
|
|
|
14261
14868
|
DarkTheme: "3ch"
|
|
14262
14869
|
}
|
|
14263
14870
|
},
|
|
14871
|
+
{
|
|
14872
|
+
id: "tabs.behavior.motion",
|
|
14873
|
+
value: "snap",
|
|
14874
|
+
type: "string",
|
|
14875
|
+
kind: "behavioral",
|
|
14876
|
+
target: "component-prop",
|
|
14877
|
+
appliesTo: "tabs",
|
|
14878
|
+
themeValues: {
|
|
14879
|
+
LightTheme: "snap",
|
|
14880
|
+
DarkTheme: "snap"
|
|
14881
|
+
}
|
|
14882
|
+
},
|
|
14264
14883
|
{
|
|
14265
14884
|
id: "tabs.behavior.typeface",
|
|
14266
14885
|
value: "title-small",
|
|
@@ -14525,6 +15144,54 @@ placeholder="Name or address\u2026"
|
|
|
14525
15144
|
DarkTheme: "check"
|
|
14526
15145
|
}
|
|
14527
15146
|
},
|
|
15147
|
+
{
|
|
15148
|
+
id: "tag.behavior.motion",
|
|
15149
|
+
value: "control",
|
|
15150
|
+
type: "string",
|
|
15151
|
+
kind: "behavioral",
|
|
15152
|
+
target: "component-prop",
|
|
15153
|
+
appliesTo: "tag",
|
|
15154
|
+
themeValues: {
|
|
15155
|
+
LightTheme: "control",
|
|
15156
|
+
DarkTheme: "control"
|
|
15157
|
+
}
|
|
15158
|
+
},
|
|
15159
|
+
{
|
|
15160
|
+
id: "tag.behavior.endInset",
|
|
15161
|
+
value: "auto",
|
|
15162
|
+
type: "string",
|
|
15163
|
+
kind: "behavioral",
|
|
15164
|
+
target: "component-prop",
|
|
15165
|
+
appliesTo: "tag",
|
|
15166
|
+
themeValues: {
|
|
15167
|
+
LightTheme: "auto",
|
|
15168
|
+
DarkTheme: "auto"
|
|
15169
|
+
}
|
|
15170
|
+
},
|
|
15171
|
+
{
|
|
15172
|
+
id: "tagGroup.behavior.gap",
|
|
15173
|
+
value: "xs",
|
|
15174
|
+
type: "string",
|
|
15175
|
+
kind: "behavioral",
|
|
15176
|
+
target: "component-prop",
|
|
15177
|
+
appliesTo: "tagGroup",
|
|
15178
|
+
themeValues: {
|
|
15179
|
+
LightTheme: "xs",
|
|
15180
|
+
DarkTheme: "xs"
|
|
15181
|
+
}
|
|
15182
|
+
},
|
|
15183
|
+
{
|
|
15184
|
+
id: "tagGroup.behavior.rowGap",
|
|
15185
|
+
value: "xs",
|
|
15186
|
+
type: "string",
|
|
15187
|
+
kind: "behavioral",
|
|
15188
|
+
target: "component-prop",
|
|
15189
|
+
appliesTo: "tagGroup",
|
|
15190
|
+
themeValues: {
|
|
15191
|
+
LightTheme: "xs",
|
|
15192
|
+
DarkTheme: "xs"
|
|
15193
|
+
}
|
|
15194
|
+
},
|
|
14528
15195
|
{
|
|
14529
15196
|
id: "tagInput.behavior.chipGap",
|
|
14530
15197
|
value: "xs",
|
|
@@ -14658,27 +15325,27 @@ placeholder="Name or address\u2026"
|
|
|
14658
15325
|
}
|
|
14659
15326
|
},
|
|
14660
15327
|
{
|
|
14661
|
-
id: "calendar.behavior.
|
|
14662
|
-
value: "
|
|
15328
|
+
id: "calendar.behavior.navPrevIcon",
|
|
15329
|
+
value: "chevronLeft",
|
|
14663
15330
|
type: "string",
|
|
14664
15331
|
kind: "behavioral",
|
|
14665
15332
|
target: "component-prop",
|
|
14666
15333
|
appliesTo: "calendar",
|
|
14667
15334
|
themeValues: {
|
|
14668
|
-
LightTheme: "
|
|
14669
|
-
DarkTheme: "
|
|
15335
|
+
LightTheme: "chevronLeft",
|
|
15336
|
+
DarkTheme: "chevronLeft"
|
|
14670
15337
|
}
|
|
14671
15338
|
},
|
|
14672
15339
|
{
|
|
14673
|
-
id: "calendar.behavior.
|
|
14674
|
-
value: "
|
|
15340
|
+
id: "calendar.behavior.navNextIcon",
|
|
15341
|
+
value: "chevronRight",
|
|
14675
15342
|
type: "string",
|
|
14676
15343
|
kind: "behavioral",
|
|
14677
15344
|
target: "component-prop",
|
|
14678
15345
|
appliesTo: "calendar",
|
|
14679
15346
|
themeValues: {
|
|
14680
|
-
LightTheme: "
|
|
14681
|
-
DarkTheme: "
|
|
15347
|
+
LightTheme: "chevronRight",
|
|
15348
|
+
DarkTheme: "chevronRight"
|
|
14682
15349
|
}
|
|
14683
15350
|
},
|
|
14684
15351
|
{
|
|
@@ -14826,15 +15493,15 @@ placeholder="Name or address\u2026"
|
|
|
14826
15493
|
}
|
|
14827
15494
|
},
|
|
14828
15495
|
{
|
|
14829
|
-
id: "dateInput.behavior.
|
|
14830
|
-
value: "
|
|
15496
|
+
id: "dateInput.behavior.toggleIcon",
|
|
15497
|
+
value: "calendar",
|
|
14831
15498
|
type: "string",
|
|
14832
15499
|
kind: "behavioral",
|
|
14833
15500
|
target: "component-prop",
|
|
14834
15501
|
appliesTo: "dateInput",
|
|
14835
15502
|
themeValues: {
|
|
14836
|
-
LightTheme: "
|
|
14837
|
-
DarkTheme: "
|
|
15503
|
+
LightTheme: "calendar",
|
|
15504
|
+
DarkTheme: "calendar"
|
|
14838
15505
|
}
|
|
14839
15506
|
},
|
|
14840
15507
|
{
|
|
@@ -14874,15 +15541,15 @@ placeholder="Name or address\u2026"
|
|
|
14874
15541
|
}
|
|
14875
15542
|
},
|
|
14876
15543
|
{
|
|
14877
|
-
id: "timeInput.behavior.
|
|
14878
|
-
value: "
|
|
15544
|
+
id: "timeInput.behavior.toggleIcon",
|
|
15545
|
+
value: "clock",
|
|
14879
15546
|
type: "string",
|
|
14880
15547
|
kind: "behavioral",
|
|
14881
15548
|
target: "component-prop",
|
|
14882
15549
|
appliesTo: "timeInput",
|
|
14883
15550
|
themeValues: {
|
|
14884
|
-
LightTheme: "
|
|
14885
|
-
DarkTheme: "
|
|
15551
|
+
LightTheme: "clock",
|
|
15552
|
+
DarkTheme: "clock"
|
|
14886
15553
|
}
|
|
14887
15554
|
},
|
|
14888
15555
|
{
|
|
@@ -14993,6 +15660,18 @@ placeholder="Name or address\u2026"
|
|
|
14993
15660
|
DarkTheme: "button"
|
|
14994
15661
|
}
|
|
14995
15662
|
},
|
|
15663
|
+
{
|
|
15664
|
+
id: "button.behavior.motion",
|
|
15665
|
+
value: "control",
|
|
15666
|
+
type: "string",
|
|
15667
|
+
kind: "behavioral",
|
|
15668
|
+
target: "component-prop",
|
|
15669
|
+
appliesTo: "button",
|
|
15670
|
+
themeValues: {
|
|
15671
|
+
LightTheme: "control",
|
|
15672
|
+
DarkTheme: "control"
|
|
15673
|
+
}
|
|
15674
|
+
},
|
|
14996
15675
|
{
|
|
14997
15676
|
id: "iconButton.behavior.borderRadius",
|
|
14998
15677
|
value: "max",
|
|
@@ -15005,6 +15684,78 @@ placeholder="Name or address\u2026"
|
|
|
15005
15684
|
DarkTheme: "max"
|
|
15006
15685
|
}
|
|
15007
15686
|
},
|
|
15687
|
+
{
|
|
15688
|
+
id: "iconButton.behavior.motion",
|
|
15689
|
+
value: "control",
|
|
15690
|
+
type: "string",
|
|
15691
|
+
kind: "behavioral",
|
|
15692
|
+
target: "component-prop",
|
|
15693
|
+
appliesTo: "iconButton",
|
|
15694
|
+
themeValues: {
|
|
15695
|
+
LightTheme: "control",
|
|
15696
|
+
DarkTheme: "control"
|
|
15697
|
+
}
|
|
15698
|
+
},
|
|
15699
|
+
{
|
|
15700
|
+
id: "inlineButton.behavior.linkColor",
|
|
15701
|
+
value: "primary",
|
|
15702
|
+
type: "string",
|
|
15703
|
+
kind: "behavioral",
|
|
15704
|
+
target: "component-prop",
|
|
15705
|
+
appliesTo: "inlineButton",
|
|
15706
|
+
themeValues: {
|
|
15707
|
+
LightTheme: "primary",
|
|
15708
|
+
DarkTheme: "primary"
|
|
15709
|
+
}
|
|
15710
|
+
},
|
|
15711
|
+
{
|
|
15712
|
+
id: "inlineButton.behavior.underline",
|
|
15713
|
+
value: false,
|
|
15714
|
+
type: "boolean",
|
|
15715
|
+
kind: "behavioral",
|
|
15716
|
+
target: "component-prop",
|
|
15717
|
+
appliesTo: "inlineButton",
|
|
15718
|
+
themeValues: {
|
|
15719
|
+
LightTheme: false,
|
|
15720
|
+
DarkTheme: false
|
|
15721
|
+
}
|
|
15722
|
+
},
|
|
15723
|
+
{
|
|
15724
|
+
id: "inlineButton.behavior.underlineOnHover",
|
|
15725
|
+
value: true,
|
|
15726
|
+
type: "boolean",
|
|
15727
|
+
kind: "behavioral",
|
|
15728
|
+
target: "component-prop",
|
|
15729
|
+
appliesTo: "inlineButton",
|
|
15730
|
+
themeValues: {
|
|
15731
|
+
LightTheme: true,
|
|
15732
|
+
DarkTheme: true
|
|
15733
|
+
}
|
|
15734
|
+
},
|
|
15735
|
+
{
|
|
15736
|
+
id: "inlineButton.behavior.underlineOffset",
|
|
15737
|
+
value: "0.15em",
|
|
15738
|
+
type: "string",
|
|
15739
|
+
kind: "behavioral",
|
|
15740
|
+
target: "component-prop",
|
|
15741
|
+
appliesTo: "inlineButton",
|
|
15742
|
+
themeValues: {
|
|
15743
|
+
LightTheme: "0.15em",
|
|
15744
|
+
DarkTheme: "0.15em"
|
|
15745
|
+
}
|
|
15746
|
+
},
|
|
15747
|
+
{
|
|
15748
|
+
id: "inlineButton.behavior.gap",
|
|
15749
|
+
value: "xxs",
|
|
15750
|
+
type: "string",
|
|
15751
|
+
kind: "behavioral",
|
|
15752
|
+
target: "component-prop",
|
|
15753
|
+
appliesTo: "inlineButton",
|
|
15754
|
+
themeValues: {
|
|
15755
|
+
LightTheme: "xxs",
|
|
15756
|
+
DarkTheme: "xxs"
|
|
15757
|
+
}
|
|
15758
|
+
},
|
|
15008
15759
|
{
|
|
15009
15760
|
id: "card.behavior.borderRadius",
|
|
15010
15761
|
value: "xs",
|
|
@@ -15065,6 +15816,18 @@ placeholder="Name or address\u2026"
|
|
|
15065
15816
|
DarkTheme: "disabled"
|
|
15066
15817
|
}
|
|
15067
15818
|
},
|
|
15819
|
+
{
|
|
15820
|
+
id: "dataTable.behavior.motion",
|
|
15821
|
+
value: "control",
|
|
15822
|
+
type: "string",
|
|
15823
|
+
kind: "behavioral",
|
|
15824
|
+
target: "component-prop",
|
|
15825
|
+
appliesTo: "dataTable",
|
|
15826
|
+
themeValues: {
|
|
15827
|
+
LightTheme: "control",
|
|
15828
|
+
DarkTheme: "control"
|
|
15829
|
+
}
|
|
15830
|
+
},
|
|
15068
15831
|
{
|
|
15069
15832
|
id: "dataTable.behavior.color",
|
|
15070
15833
|
value: "primary-surface",
|
|
@@ -15714,15 +16477,15 @@ placeholder="Name or address\u2026"
|
|
|
15714
16477
|
}
|
|
15715
16478
|
},
|
|
15716
16479
|
{
|
|
15717
|
-
id: "slider.behavior.
|
|
15718
|
-
value:
|
|
15719
|
-
type: "
|
|
16480
|
+
id: "slider.behavior.motion",
|
|
16481
|
+
value: "snap",
|
|
16482
|
+
type: "string",
|
|
15720
16483
|
kind: "behavioral",
|
|
15721
16484
|
target: "component-prop",
|
|
15722
16485
|
appliesTo: "slider",
|
|
15723
16486
|
themeValues: {
|
|
15724
|
-
LightTheme:
|
|
15725
|
-
DarkTheme:
|
|
16487
|
+
LightTheme: "snap",
|
|
16488
|
+
DarkTheme: "snap"
|
|
15726
16489
|
}
|
|
15727
16490
|
},
|
|
15728
16491
|
{
|
|
@@ -15941,6 +16704,18 @@ placeholder="Name or address\u2026"
|
|
|
15941
16704
|
DarkTheme: "control"
|
|
15942
16705
|
}
|
|
15943
16706
|
},
|
|
16707
|
+
{
|
|
16708
|
+
id: "tooltip.behavior.motion",
|
|
16709
|
+
value: "notification",
|
|
16710
|
+
type: "string",
|
|
16711
|
+
kind: "behavioral",
|
|
16712
|
+
target: "component-prop",
|
|
16713
|
+
appliesTo: "tooltip",
|
|
16714
|
+
themeValues: {
|
|
16715
|
+
LightTheme: "notification",
|
|
16716
|
+
DarkTheme: "notification"
|
|
16717
|
+
}
|
|
16718
|
+
},
|
|
15944
16719
|
{
|
|
15945
16720
|
id: "tooltip.behavior.borderRadius",
|
|
15946
16721
|
value: "xs",
|
|
@@ -16074,7 +16849,7 @@ placeholder="Name or address\u2026"
|
|
|
16074
16849
|
}
|
|
16075
16850
|
},
|
|
16076
16851
|
{
|
|
16077
|
-
id: "callout.behavior.
|
|
16852
|
+
id: "callout.behavior.closeIcon",
|
|
16078
16853
|
value: "close",
|
|
16079
16854
|
type: "string",
|
|
16080
16855
|
kind: "behavioral",
|
|
@@ -16305,6 +17080,12 @@ placeholder="Name or address\u2026"
|
|
|
16305
17080
|
"shadow.dialog": "rgba(23, 25, 43, 0.2) 0px 3px 5px -1px, rgba(23, 25, 43, 0.14) 0px 6px 10px 0px, rgba(23, 25, 43, 0.12) 0px 1px 18px 0px",
|
|
16306
17081
|
"shadow.warn": "0 0 5px rgba(204, 40, 39, 0.5), inset 0 0 5px rgba(204, 40, 39, 0.3)",
|
|
16307
17082
|
"backdrop.scrim": '{"background":"rgba(255, 255, 255, 0.6)","backdropFilter":"blur(2px)"}',
|
|
17083
|
+
"motion.popup": '{"duration":100,"easing":"linear","scale":0.8}',
|
|
17084
|
+
"motion.panel": '{"duration":250,"easing":"ease"}',
|
|
17085
|
+
"motion.reveal": '{"duration":350,"easing":"ease-in-out"}',
|
|
17086
|
+
"motion.notification": '{"duration":350,"easing":"ease-in-out"}',
|
|
17087
|
+
"motion.control": '{"duration":300,"easing":"ease"}',
|
|
17088
|
+
"motion.snap": '{"duration":120,"easing":"ease"}',
|
|
16308
17089
|
"thickness.thin": 1,
|
|
16309
17090
|
"thickness.standard": 2,
|
|
16310
17091
|
"thickness.thick": 4,
|
|
@@ -16332,7 +17113,7 @@ placeholder="Name or address\u2026"
|
|
|
16332
17113
|
"typography.note": '{"fontFamily":"Roboto","fontSize":14,"lineHeight":22,"fontStyle":"italic"}',
|
|
16333
17114
|
"typography.badge": '{"fontFamily":"Red Hat Display","fontSize":16,"lineHeight":24}',
|
|
16334
17115
|
"typography.stat": '{"fontFamily":"Red Hat Display","fontSize":32,"lineHeight":38,"fontWeight":600,"letterSpacing":-0.32}',
|
|
16335
|
-
"typography.tag": '{"fontFamily":"Red Hat Display","fontSize":15,"lineHeight":20,"fontWeight":
|
|
17116
|
+
"typography.tag": '{"fontFamily":"Red Hat Display","fontSize":15,"lineHeight":20,"fontWeight":500}',
|
|
16336
17117
|
"typography.input": '{"fontFamily":"Red Hat Display","fontSize":14,"lineHeight":24}'
|
|
16337
17118
|
},
|
|
16338
17119
|
componentOptions: {
|
|
@@ -16346,7 +17127,7 @@ placeholder="Name or address\u2026"
|
|
|
16346
17127
|
typeface: "label",
|
|
16347
17128
|
color: "on-background-variant",
|
|
16348
17129
|
currentColor: "on-background",
|
|
16349
|
-
|
|
17130
|
+
separatorIcon: "chevronRight",
|
|
16350
17131
|
gap: "xs"
|
|
16351
17132
|
},
|
|
16352
17133
|
appBar: {
|
|
@@ -16391,7 +17172,7 @@ placeholder="Name or address\u2026"
|
|
|
16391
17172
|
avatar: {
|
|
16392
17173
|
borderRadius: "max",
|
|
16393
17174
|
typeface: "subtitle-2",
|
|
16394
|
-
|
|
17175
|
+
fallbackIcon: "profile"
|
|
16395
17176
|
},
|
|
16396
17177
|
avatarGroup: {
|
|
16397
17178
|
overlap: "sm",
|
|
@@ -16399,8 +17180,8 @@ placeholder="Name or address\u2026"
|
|
|
16399
17180
|
ringWidth: 2
|
|
16400
17181
|
},
|
|
16401
17182
|
searchInput: {
|
|
16402
|
-
|
|
16403
|
-
|
|
17183
|
+
searchIcon: "search",
|
|
17184
|
+
clearIcon: "close",
|
|
16404
17185
|
listColor: "primary-surface",
|
|
16405
17186
|
listShadow: "menu",
|
|
16406
17187
|
listBorderRadius: "xs",
|
|
@@ -16408,6 +17189,7 @@ placeholder="Name or address\u2026"
|
|
|
16408
17189
|
maxSuggestions: 8
|
|
16409
17190
|
},
|
|
16410
17191
|
checkbox: {
|
|
17192
|
+
motion: "control",
|
|
16411
17193
|
size: 20,
|
|
16412
17194
|
boxColor: "surface",
|
|
16413
17195
|
borderRadius: 2,
|
|
@@ -16449,6 +17231,22 @@ placeholder="Name or address\u2026"
|
|
|
16449
17231
|
closeButtonIcon: "close",
|
|
16450
17232
|
closeButtonSize: "md"
|
|
16451
17233
|
},
|
|
17234
|
+
select: {
|
|
17235
|
+
toggleIcon: "chevronDown",
|
|
17236
|
+
toggleColor: "on-background-variant",
|
|
17237
|
+
toggleSize: 20
|
|
17238
|
+
},
|
|
17239
|
+
buttonGroup: {
|
|
17240
|
+
border: "quaternary",
|
|
17241
|
+
borderRadius: 4
|
|
17242
|
+
},
|
|
17243
|
+
progressBar: {
|
|
17244
|
+
trackColor: "primary-surface",
|
|
17245
|
+
fillColor: "secondary-surface",
|
|
17246
|
+
completeColor: "secondary",
|
|
17247
|
+
borderColor: "on-background-variant",
|
|
17248
|
+
strokeWidth: 1
|
|
17249
|
+
},
|
|
16452
17250
|
dropdown: {
|
|
16453
17251
|
border: "none",
|
|
16454
17252
|
borderRadius: "xxs",
|
|
@@ -16470,7 +17268,7 @@ placeholder="Name or address\u2026"
|
|
|
16470
17268
|
borderRadius: "none",
|
|
16471
17269
|
typeface: "label",
|
|
16472
17270
|
hoverColor: "primary-container",
|
|
16473
|
-
|
|
17271
|
+
activeIcon: "check",
|
|
16474
17272
|
motion: "control"
|
|
16475
17273
|
},
|
|
16476
17274
|
popover: {
|
|
@@ -16483,7 +17281,7 @@ placeholder="Name or address\u2026"
|
|
|
16483
17281
|
maxWidth: "38ch",
|
|
16484
17282
|
offset: 7,
|
|
16485
17283
|
arrowSize: 8,
|
|
16486
|
-
|
|
17284
|
+
closeIcon: "close",
|
|
16487
17285
|
headerTypeface: "title-small",
|
|
16488
17286
|
tooltipPadding: "4px 8px",
|
|
16489
17287
|
tooltipOpenDelay: 500,
|
|
@@ -16493,12 +17291,6 @@ placeholder="Name or address\u2026"
|
|
|
16493
17291
|
expand: {
|
|
16494
17292
|
motion: "reveal"
|
|
16495
17293
|
},
|
|
16496
|
-
footer: {
|
|
16497
|
-
height: 52,
|
|
16498
|
-
color: "primary",
|
|
16499
|
-
logoHeight: 18.6,
|
|
16500
|
-
logoPadding: "md"
|
|
16501
|
-
},
|
|
16502
17294
|
input: {
|
|
16503
17295
|
typeface: "input",
|
|
16504
17296
|
color: "primary-surface",
|
|
@@ -16550,6 +17342,7 @@ placeholder="Name or address\u2026"
|
|
|
16550
17342
|
valueWidth: "3ch"
|
|
16551
17343
|
},
|
|
16552
17344
|
tabs: {
|
|
17345
|
+
motion: "snap",
|
|
16553
17346
|
typeface: "title-small",
|
|
16554
17347
|
textColor: "on-surface-variant",
|
|
16555
17348
|
activeTextColor: "primary",
|
|
@@ -16577,7 +17370,13 @@ placeholder="Name or address\u2026"
|
|
|
16577
17370
|
typeface: "tag",
|
|
16578
17371
|
gap: "xs",
|
|
16579
17372
|
removeIcon: "close",
|
|
16580
|
-
selectedIcon: "check"
|
|
17373
|
+
selectedIcon: "check",
|
|
17374
|
+
motion: "control",
|
|
17375
|
+
endInset: "auto"
|
|
17376
|
+
},
|
|
17377
|
+
tagGroup: {
|
|
17378
|
+
gap: "xs",
|
|
17379
|
+
rowGap: "xs"
|
|
16581
17380
|
},
|
|
16582
17381
|
tagInput: {
|
|
16583
17382
|
chipGap: "xs",
|
|
@@ -16593,8 +17392,8 @@ placeholder="Name or address\u2026"
|
|
|
16593
17392
|
dayBorderRadius: "max",
|
|
16594
17393
|
typeface: "label",
|
|
16595
17394
|
gap: "xxs",
|
|
16596
|
-
|
|
16597
|
-
|
|
17395
|
+
navPrevIcon: "chevronLeft",
|
|
17396
|
+
navNextIcon: "chevronRight",
|
|
16598
17397
|
weekdayFormat: "short",
|
|
16599
17398
|
showOutsideDays: false,
|
|
16600
17399
|
todayStyle: "outline"
|
|
@@ -16611,13 +17410,13 @@ placeholder="Name or address\u2026"
|
|
|
16611
17410
|
descriptionColor: "on-primary-surface-variant"
|
|
16612
17411
|
},
|
|
16613
17412
|
dateInput: {
|
|
16614
|
-
|
|
17413
|
+
toggleIcon: "calendar",
|
|
16615
17414
|
popupShadow: "menu",
|
|
16616
17415
|
popupBorderRadius: "xs",
|
|
16617
17416
|
popupColor: "primary-surface"
|
|
16618
17417
|
},
|
|
16619
17418
|
timeInput: {
|
|
16620
|
-
|
|
17419
|
+
toggleIcon: "clock",
|
|
16621
17420
|
listColor: "primary-surface",
|
|
16622
17421
|
listShadow: "menu",
|
|
16623
17422
|
listBorderRadius: "xs",
|
|
@@ -16630,10 +17429,19 @@ placeholder="Name or address\u2026"
|
|
|
16630
17429
|
},
|
|
16631
17430
|
button: {
|
|
16632
17431
|
borderRadius: "max",
|
|
16633
|
-
typeface: "button"
|
|
17432
|
+
typeface: "button",
|
|
17433
|
+
motion: "control"
|
|
16634
17434
|
},
|
|
16635
17435
|
iconButton: {
|
|
16636
|
-
borderRadius: "max"
|
|
17436
|
+
borderRadius: "max",
|
|
17437
|
+
motion: "control"
|
|
17438
|
+
},
|
|
17439
|
+
inlineButton: {
|
|
17440
|
+
linkColor: "primary",
|
|
17441
|
+
underline: false,
|
|
17442
|
+
underlineOnHover: true,
|
|
17443
|
+
underlineOffset: "0.15em",
|
|
17444
|
+
gap: "xxs"
|
|
16637
17445
|
},
|
|
16638
17446
|
card: {
|
|
16639
17447
|
borderRadius: "xs"
|
|
@@ -16645,6 +17453,7 @@ placeholder="Name or address\u2026"
|
|
|
16645
17453
|
placeholderColor: "disabled"
|
|
16646
17454
|
},
|
|
16647
17455
|
dataTable: {
|
|
17456
|
+
motion: "control",
|
|
16648
17457
|
color: "primary-surface",
|
|
16649
17458
|
border: "light",
|
|
16650
17459
|
borderRadius: "sm",
|
|
@@ -16707,7 +17516,7 @@ placeholder="Name or address\u2026"
|
|
|
16707
17516
|
tooltipTextColor: "on-inverse-surface",
|
|
16708
17517
|
tooltipShadow: "menu",
|
|
16709
17518
|
tooltipBorderRadius: "xs",
|
|
16710
|
-
|
|
17519
|
+
motion: "snap"
|
|
16711
17520
|
},
|
|
16712
17521
|
skeleton: {
|
|
16713
17522
|
color: "surface-variant",
|
|
@@ -16736,6 +17545,7 @@ placeholder="Name or address\u2026"
|
|
|
16736
17545
|
motion: "control"
|
|
16737
17546
|
},
|
|
16738
17547
|
tooltip: {
|
|
17548
|
+
motion: "notification",
|
|
16739
17549
|
borderRadius: "xs",
|
|
16740
17550
|
shadow: "raised",
|
|
16741
17551
|
color: "inverse-surface",
|
|
@@ -16749,7 +17559,7 @@ placeholder="Name or address\u2026"
|
|
|
16749
17559
|
padding: "16px",
|
|
16750
17560
|
headerTypeface: "title-small",
|
|
16751
17561
|
typeface: "label",
|
|
16752
|
-
|
|
17562
|
+
closeIcon: "close",
|
|
16753
17563
|
arrowSize: 8,
|
|
16754
17564
|
offset: 12,
|
|
16755
17565
|
scrimColor: "rgba(0, 0, 0, 0.45)",
|
|
@@ -16875,6 +17685,12 @@ placeholder="Name or address\u2026"
|
|
|
16875
17685
|
"shadow.dialog": "0px 8px 28px rgba(0, 0, 0, 0.55)",
|
|
16876
17686
|
"shadow.warn": "0 0 5px rgba(255, 150, 138, 0.55), inset 0 0 5px rgba(255, 150, 138, 0.35)",
|
|
16877
17687
|
"backdrop.scrim": '{"background":"rgba(255, 255, 255, 0.6)","backdropFilter":"blur(2px)"}',
|
|
17688
|
+
"motion.popup": '{"duration":100,"easing":"linear","scale":0.8}',
|
|
17689
|
+
"motion.panel": '{"duration":250,"easing":"ease"}',
|
|
17690
|
+
"motion.reveal": '{"duration":350,"easing":"ease-in-out"}',
|
|
17691
|
+
"motion.notification": '{"duration":350,"easing":"ease-in-out"}',
|
|
17692
|
+
"motion.control": '{"duration":300,"easing":"ease"}',
|
|
17693
|
+
"motion.snap": '{"duration":120,"easing":"ease"}',
|
|
16878
17694
|
"thickness.thin": 1,
|
|
16879
17695
|
"thickness.standard": 2,
|
|
16880
17696
|
"thickness.thick": 4,
|
|
@@ -16902,7 +17718,7 @@ placeholder="Name or address\u2026"
|
|
|
16902
17718
|
"typography.note": '{"fontFamily":"Roboto","fontSize":14,"lineHeight":22,"fontStyle":"italic"}',
|
|
16903
17719
|
"typography.badge": '{"fontFamily":"Red Hat Display","fontSize":16,"lineHeight":24}',
|
|
16904
17720
|
"typography.stat": '{"fontFamily":"Red Hat Display","fontSize":32,"lineHeight":38,"fontWeight":600,"letterSpacing":-0.32}',
|
|
16905
|
-
"typography.tag": '{"fontFamily":"Red Hat Display","fontSize":15,"lineHeight":20,"fontWeight":
|
|
17721
|
+
"typography.tag": '{"fontFamily":"Red Hat Display","fontSize":15,"lineHeight":20,"fontWeight":500}',
|
|
16906
17722
|
"typography.input": '{"fontFamily":"Red Hat Display","fontSize":14,"lineHeight":24}'
|
|
16907
17723
|
},
|
|
16908
17724
|
componentOptions: {
|
|
@@ -16916,7 +17732,7 @@ placeholder="Name or address\u2026"
|
|
|
16916
17732
|
typeface: "label",
|
|
16917
17733
|
color: "on-background-variant",
|
|
16918
17734
|
currentColor: "on-background",
|
|
16919
|
-
|
|
17735
|
+
separatorIcon: "chevronRight",
|
|
16920
17736
|
gap: "xs"
|
|
16921
17737
|
},
|
|
16922
17738
|
appBar: {
|
|
@@ -16961,7 +17777,7 @@ placeholder="Name or address\u2026"
|
|
|
16961
17777
|
avatar: {
|
|
16962
17778
|
borderRadius: "max",
|
|
16963
17779
|
typeface: "subtitle-2",
|
|
16964
|
-
|
|
17780
|
+
fallbackIcon: "profile"
|
|
16965
17781
|
},
|
|
16966
17782
|
avatarGroup: {
|
|
16967
17783
|
overlap: "sm",
|
|
@@ -16969,8 +17785,8 @@ placeholder="Name or address\u2026"
|
|
|
16969
17785
|
ringWidth: 2
|
|
16970
17786
|
},
|
|
16971
17787
|
searchInput: {
|
|
16972
|
-
|
|
16973
|
-
|
|
17788
|
+
searchIcon: "search",
|
|
17789
|
+
clearIcon: "close",
|
|
16974
17790
|
listColor: "primary-surface",
|
|
16975
17791
|
listShadow: "menu",
|
|
16976
17792
|
listBorderRadius: "xs",
|
|
@@ -16978,6 +17794,7 @@ placeholder="Name or address\u2026"
|
|
|
16978
17794
|
maxSuggestions: 8
|
|
16979
17795
|
},
|
|
16980
17796
|
checkbox: {
|
|
17797
|
+
motion: "control",
|
|
16981
17798
|
size: 20,
|
|
16982
17799
|
boxColor: "surface",
|
|
16983
17800
|
borderRadius: 2,
|
|
@@ -17019,6 +17836,22 @@ placeholder="Name or address\u2026"
|
|
|
17019
17836
|
closeButtonIcon: "close",
|
|
17020
17837
|
closeButtonSize: "md"
|
|
17021
17838
|
},
|
|
17839
|
+
select: {
|
|
17840
|
+
toggleIcon: "chevronDown",
|
|
17841
|
+
toggleColor: "on-background-variant",
|
|
17842
|
+
toggleSize: 20
|
|
17843
|
+
},
|
|
17844
|
+
buttonGroup: {
|
|
17845
|
+
border: "quaternary",
|
|
17846
|
+
borderRadius: 4
|
|
17847
|
+
},
|
|
17848
|
+
progressBar: {
|
|
17849
|
+
trackColor: "primary-surface",
|
|
17850
|
+
fillColor: "secondary-surface",
|
|
17851
|
+
completeColor: "secondary",
|
|
17852
|
+
borderColor: "on-background-variant",
|
|
17853
|
+
strokeWidth: 1
|
|
17854
|
+
},
|
|
17022
17855
|
dropdown: {
|
|
17023
17856
|
border: "none",
|
|
17024
17857
|
borderRadius: "xxs",
|
|
@@ -17040,7 +17873,7 @@ placeholder="Name or address\u2026"
|
|
|
17040
17873
|
borderRadius: "none",
|
|
17041
17874
|
typeface: "label",
|
|
17042
17875
|
hoverColor: "primary-container",
|
|
17043
|
-
|
|
17876
|
+
activeIcon: "check",
|
|
17044
17877
|
motion: "control"
|
|
17045
17878
|
},
|
|
17046
17879
|
popover: {
|
|
@@ -17053,7 +17886,7 @@ placeholder="Name or address\u2026"
|
|
|
17053
17886
|
maxWidth: "38ch",
|
|
17054
17887
|
offset: 7,
|
|
17055
17888
|
arrowSize: 8,
|
|
17056
|
-
|
|
17889
|
+
closeIcon: "close",
|
|
17057
17890
|
headerTypeface: "title-small",
|
|
17058
17891
|
tooltipPadding: "4px 8px",
|
|
17059
17892
|
tooltipOpenDelay: 500,
|
|
@@ -17063,12 +17896,6 @@ placeholder="Name or address\u2026"
|
|
|
17063
17896
|
expand: {
|
|
17064
17897
|
motion: "reveal"
|
|
17065
17898
|
},
|
|
17066
|
-
footer: {
|
|
17067
|
-
height: 52,
|
|
17068
|
-
color: "primary",
|
|
17069
|
-
logoHeight: 18.6,
|
|
17070
|
-
logoPadding: "md"
|
|
17071
|
-
},
|
|
17072
17899
|
input: {
|
|
17073
17900
|
typeface: "input",
|
|
17074
17901
|
color: "primary-surface",
|
|
@@ -17120,6 +17947,7 @@ placeholder="Name or address\u2026"
|
|
|
17120
17947
|
valueWidth: "3ch"
|
|
17121
17948
|
},
|
|
17122
17949
|
tabs: {
|
|
17950
|
+
motion: "snap",
|
|
17123
17951
|
typeface: "title-small",
|
|
17124
17952
|
textColor: "on-surface-variant",
|
|
17125
17953
|
activeTextColor: "primary",
|
|
@@ -17147,7 +17975,13 @@ placeholder="Name or address\u2026"
|
|
|
17147
17975
|
typeface: "tag",
|
|
17148
17976
|
gap: "xs",
|
|
17149
17977
|
removeIcon: "close",
|
|
17150
|
-
selectedIcon: "check"
|
|
17978
|
+
selectedIcon: "check",
|
|
17979
|
+
motion: "control",
|
|
17980
|
+
endInset: "auto"
|
|
17981
|
+
},
|
|
17982
|
+
tagGroup: {
|
|
17983
|
+
gap: "xs",
|
|
17984
|
+
rowGap: "xs"
|
|
17151
17985
|
},
|
|
17152
17986
|
tagInput: {
|
|
17153
17987
|
chipGap: "xs",
|
|
@@ -17163,8 +17997,8 @@ placeholder="Name or address\u2026"
|
|
|
17163
17997
|
dayBorderRadius: "max",
|
|
17164
17998
|
typeface: "label",
|
|
17165
17999
|
gap: "xxs",
|
|
17166
|
-
|
|
17167
|
-
|
|
18000
|
+
navPrevIcon: "chevronLeft",
|
|
18001
|
+
navNextIcon: "chevronRight",
|
|
17168
18002
|
weekdayFormat: "short",
|
|
17169
18003
|
showOutsideDays: false,
|
|
17170
18004
|
todayStyle: "outline"
|
|
@@ -17181,13 +18015,13 @@ placeholder="Name or address\u2026"
|
|
|
17181
18015
|
descriptionColor: "on-primary-surface-variant"
|
|
17182
18016
|
},
|
|
17183
18017
|
dateInput: {
|
|
17184
|
-
|
|
18018
|
+
toggleIcon: "calendar",
|
|
17185
18019
|
popupShadow: "menu",
|
|
17186
18020
|
popupBorderRadius: "xs",
|
|
17187
18021
|
popupColor: "primary-surface"
|
|
17188
18022
|
},
|
|
17189
18023
|
timeInput: {
|
|
17190
|
-
|
|
18024
|
+
toggleIcon: "clock",
|
|
17191
18025
|
listColor: "primary-surface",
|
|
17192
18026
|
listShadow: "menu",
|
|
17193
18027
|
listBorderRadius: "xs",
|
|
@@ -17200,10 +18034,19 @@ placeholder="Name or address\u2026"
|
|
|
17200
18034
|
},
|
|
17201
18035
|
button: {
|
|
17202
18036
|
borderRadius: "max",
|
|
17203
|
-
typeface: "button"
|
|
18037
|
+
typeface: "button",
|
|
18038
|
+
motion: "control"
|
|
17204
18039
|
},
|
|
17205
18040
|
iconButton: {
|
|
17206
|
-
borderRadius: "max"
|
|
18041
|
+
borderRadius: "max",
|
|
18042
|
+
motion: "control"
|
|
18043
|
+
},
|
|
18044
|
+
inlineButton: {
|
|
18045
|
+
linkColor: "primary",
|
|
18046
|
+
underline: false,
|
|
18047
|
+
underlineOnHover: true,
|
|
18048
|
+
underlineOffset: "0.15em",
|
|
18049
|
+
gap: "xxs"
|
|
17207
18050
|
},
|
|
17208
18051
|
card: {
|
|
17209
18052
|
borderRadius: "xs"
|
|
@@ -17215,6 +18058,7 @@ placeholder="Name or address\u2026"
|
|
|
17215
18058
|
placeholderColor: "disabled"
|
|
17216
18059
|
},
|
|
17217
18060
|
dataTable: {
|
|
18061
|
+
motion: "control",
|
|
17218
18062
|
color: "primary-surface",
|
|
17219
18063
|
border: "light",
|
|
17220
18064
|
borderRadius: "sm",
|
|
@@ -17277,7 +18121,7 @@ placeholder="Name or address\u2026"
|
|
|
17277
18121
|
tooltipTextColor: "on-inverse-surface",
|
|
17278
18122
|
tooltipShadow: "menu",
|
|
17279
18123
|
tooltipBorderRadius: "xs",
|
|
17280
|
-
|
|
18124
|
+
motion: "snap"
|
|
17281
18125
|
},
|
|
17282
18126
|
skeleton: {
|
|
17283
18127
|
color: "surface-variant",
|
|
@@ -17306,6 +18150,7 @@ placeholder="Name or address\u2026"
|
|
|
17306
18150
|
motion: "control"
|
|
17307
18151
|
},
|
|
17308
18152
|
tooltip: {
|
|
18153
|
+
motion: "notification",
|
|
17309
18154
|
borderRadius: "xs",
|
|
17310
18155
|
shadow: "raised",
|
|
17311
18156
|
color: "inverse-surface",
|
|
@@ -17319,7 +18164,7 @@ placeholder="Name or address\u2026"
|
|
|
17319
18164
|
padding: "16px",
|
|
17320
18165
|
headerTypeface: "title-small",
|
|
17321
18166
|
typeface: "label",
|
|
17322
|
-
|
|
18167
|
+
closeIcon: "close",
|
|
17323
18168
|
arrowSize: 8,
|
|
17324
18169
|
offset: 12,
|
|
17325
18170
|
scrimColor: "rgba(0, 0, 0, 0.45)",
|
|
@@ -17340,6 +18185,62 @@ placeholder="Name or address\u2026"
|
|
|
17340
18185
|
{
|
|
17341
18186
|
package: "@uni-design-system/uni-angular",
|
|
17342
18187
|
releases: [
|
|
18188
|
+
{
|
|
18189
|
+
version: "11.1.0",
|
|
18190
|
+
entries: [
|
|
18191
|
+
{
|
|
18192
|
+
bump: "minor",
|
|
18193
|
+
title: "Selection, hover and density become theme decisions on `uni-tag`, and add `uni-tag-group`.",
|
|
18194
|
+
body: "`uni-tag` had the right axes but made the app do the work. `selected` painted nothing \u2014 it set `aria-pressed` and swapped the lead glyph \u2014 so every toggle chip in app markup carried a `[tone]=\"on() ? 'solid' : 'soft'\"` of its own. Interactive chips had no hover state at all. The selected check was added rather than reserved, so picking a chip reflowed the whole row.\n\n**Selection paints itself.** A selected chip adds a `tag-selected` class and an interactive one adds `tag-interactive`, both as much public theme contract as `&.tone-*` already was. The base theme's `tag` variants use them: selection promotes a chip to its role's solid pair at every tone (`solid` deepens instead of refilling), and `&.tag-interactive:hover` is a `brightness(0.95)` wash that darkens fill, ink and edge together. A theme restyling either writes the rules per variant, beside the colours they belong to.\n\n**A toggle chip holds the check's place.** Bind `selected` and the chip reserves the glyph's footprint while unselected, so picking one never resizes it. A chip that already has a lead needs no slot \u2014 the check replaces the avatar or icon at identical width.\n\n**`uni-tag-group`** is a row of chips the user picks from. It renders its own chips from `items` and owns the two things an app was otherwise wiring per chip: which one is selected (`value`, plus `multiple`) and which one holds the tab stop. Keyboard model is the toolbar pattern \u2014 one tab stop for the whole row, arrow keys within it, on both axes because the row wraps. `layout=\"justify\"` stretches each filled row flush to both edges and leaves the last row at its natural widths, the way justified text leaves its last line alone. It is themed as **`tagGroup`** (`gap`, `rowGap`, `chipSize`, `chipTone`, `chipVariant`), layout only \u2014 every colour decision stays on the chips, so a group restyles with them.\n\n**Visual changes to every existing chip**, including the chips inside `uni-tag-input`:\n- A lead element and the remove control now **tuck into the rounded end** instead of starting where the radius ends \u2014 each sits concentric with the curve it is in, so a small status dot sits further in than a full lead box. A lead is balanced against, so the **label sits centred**; the tuck costs less than the old gutter did, so that balance is largely paid for rather than added. A remove control is not balanced against on its own, since it reads as an affordance rather than as content \u2014 a chip with nothing but a remove button keeps its gutter and simply tucks the glyph. A chip whose ends are too square to flow into (`borderRadius: 'xs'`) keeps the size token's gutter at both ends.\n- The `tag` typeface drops from **weight 600 to 500**. Geometry is unchanged; what made these chips read louder than the ones they replaced was the weight, not the size.\n- `border-color` and `filter` join the transition list, so an outline\u2194solid change fades its edge instead of snapping while the fill animates, and the hover wash fades in.\n\nNew `tag` theme option **`endInset`** (`number | 'auto'`) sets how far that tuck goes; `auto` derives it from the chip so the lead sits concentric with the cap. The `tag` size tokens now state `paddingInline` rather than a `padding` shorthand, since the chip reads that number back to balance the label \u2014 a theme still stating the shorthand is parsed as before.\n\n`UniTagComponent` is now generic in its value (`UniTagComponent<T extends UniTagValue = UniTagValue>`), so `value`, `removed` and `activated` carry an app's own type and `$event` flows without a closure. The default type parameter leaves every existing use compiling unchanged.",
|
|
18195
|
+
commit: "d00b2fe"
|
|
18196
|
+
}
|
|
18197
|
+
],
|
|
18198
|
+
dependencyBumps: []
|
|
18199
|
+
},
|
|
18200
|
+
{
|
|
18201
|
+
version: "11.0.0",
|
|
18202
|
+
entries: [
|
|
18203
|
+
{
|
|
18204
|
+
bump: "major",
|
|
18205
|
+
title: "Require Angular 22. `@angular/common`, `@angular/core` and `@angular/forms` move from `^21.2.0` to `^22.0.0`, so 11.x tracks Angular 22 and 10.x remains the Angular 21 line \u2014 one major of this package per Angular major, as documented. The old range excluded v22 outright, so an app that had taken Angular 22 could not install this package without a peer override.",
|
|
18206
|
+
body: "Two consequences of the framework's own changes:\n\n**`touch` output on every form control.** Angular 22 marks a bound field touched through a dedicated `touch` output rather than through the `touched` model, which the `Field` directive now binds inward only. All sixteen controls that track touched state (input, textarea, checkbox, radio, toggle, select, combobox, multi-select, tag-input, calendar, date/date-time/time inputs, number/number-range inputs, quantity-stepper, slider) emit it wherever they already considered the user done with the control. Without it, `touched()` never flips and error display gated on it never appears.\n\n**`min` / `max` typing.** The contract now types `min`/`max` as the control's own value type rather than as numbers. Where that still fits, the input was widened (`uni-slider`). Where it does not \u2014 a text control's native numeric attributes (`uni-input`), a range control's scalar bounds (`uni-number-range-input`), a tag limit (`uni-tag-input`) \u2014 the class member steps aside and the public binding name is preserved by an alias, so **templates are unchanged**. Only code reaching these through a `ViewChild` instance is affected: `min`/`max` are now `minAttr`/`maxAttr` on `uni-input`, `minValue`/`maxValue` on `uni-number-range-input`, and `max` is `maxLength` on `uni-tag-input`. `uni-number-range-input`'s protected `valueOf()` is renamed `partValue()`, since `valueOf` collides with `Object.valueOf`.\n\nAngular 22 also makes `OnPush` the default change detection; every component here already set it explicitly.",
|
|
18207
|
+
commit: "8fef84f"
|
|
18208
|
+
},
|
|
18209
|
+
{
|
|
18210
|
+
bump: "major",
|
|
18211
|
+
title: "Add `uni-inline-button`, and remove the `footer` component name.",
|
|
18212
|
+
body: "**`uni-inline-button`** is an action that lives inside a sentence. Every other button in the library owns a box \u2014 even `ghost` carries padding and a hit area, so dropping one into a paragraph pushes the words apart and breaks the line's rhythm. This one adds no box: it inherits the surrounding type (family, size, weight, line height, letter spacing and colour) and renders as part of the run of text.\n\n```html\nYour data is processed under the terms you accepted. You can\n<button inline-button underline link>review them</button> at any time.\n```\n\nIt is always a real `<button>`, so it can _look_ like a link without claiming to be navigation: Enter and Space activate it and assistive tech announces a button rather than an unfollowable link. Reach for an `<a>` when the thing actually goes somewhere.\n\nInputs: `underline` and `link` (both tri-state against the theme's defaults, and both readable as bare attributes), `iconName` / `symbolName` with `iconPosition`, and `disable`. A glyph is sized in `em` rather than px, so the same markup reads correctly in a caption and in a headline and never changes the line height of the paragraph it sits in.\n\nIt is themed as **`inlineButton`**, with `linkColor`, `underline`, `underlineOnHover`, `underlineOffset`, `gap` and `focusColor`. This replaces the `textButton` name that had sat in `ComponentName` since before there was anything to put behind it \u2014 **`ComponentName`'s `'textButton'` is renamed to `'inlineButton'`, and the exported options type `UniTextButtonOptions` to `UniInlineButtonOptions`.** Nothing shipped a `textButton` entry, so a theme only needs the rename if it had reached for the unbacked name.\n\nOne documented limit: browsers blockify every `<button>` to `inline-block` whatever `display` it asks for, so the control is an atomic inline box. A long label wraps inside it, but the run moves to the next line whole rather than splitting where the surrounding words would. `display: contents` would fix that and cost the button its focusability, so labels should stay to a few words.\n\n**`footer` is removed** from `ComponentName` and from the base theme. It was declared and themed but never built, so a theme could set options that reached nothing. Themes that state a `footer` entry now fail to type-check; delete the entry.",
|
|
18213
|
+
commit: "403043a"
|
|
18214
|
+
},
|
|
18215
|
+
{
|
|
18216
|
+
bump: "major",
|
|
18217
|
+
title: "Put every remaining hardcoded animation duration on the `motion` scale. Seventeen sites across twelve components carried their own literal, so a theme could retime some of the library and not the rest.",
|
|
18218
|
+
body: "New `motion` options, each defaulting to the token named: `button`, `iconButton`, `checkbox`, `tabs`, `tooltip`, `dataTable`, `tag`. `uni-sort-header` names `control` directly \u2014 it has no theme entry to hang an option on. `combobox`'s chevron now turns with the popup it opens, reading that component's existing `motion` option.\n\nTimings move where the literal and the token disagreed:\n\n| | before | after | token |\n| ----------------------------------------- | ----------------- | ----------------- | -------------- |\n| button, icon-button, data-table row hover | 280ms ease | 300ms ease | `control` |\n| checkbox box and dash | 200ms ease | 300ms ease | `control` |\n| checkbox tick (drawn, trails the box) | 500ms ease | 350ms ease-in-out | `reveal` |\n| tabs ink and indicator | 150ms ease | 120ms ease | `snap` |\n| combobox chevron | 150ms ease | 100ms linear | `popup` |\n| tag fill and ink | 200ms ease | 300ms ease | `control` |\n| sort-header arrow | 350ms ease-in-out | 300ms ease | `control` |\n| alert, snackbar dismiss | 300ms | 350ms | `notification` |\n| data-table detail expand | 300ms ease | 350ms ease-in-out | `reveal` |\n| tooltip fade, data-table loading overlay | 350ms | unchanged | `notification` |\n\nTwo of these lived in the theme rather than in a component: `button.fixed` and `tag.fixed` each baked a `transition`, and the button's won over the component that had already been migrated \u2014 so the button kept its old timing regardless. Both are gone; the components own their transitions and follow the token at runtime. A spec now fails if any shipped theme states a duration in a style block.\n\n`uni-skeleton` still stays out: its shimmer is a loop, not a transition.",
|
|
18219
|
+
commit: "2e4a6a4"
|
|
18220
|
+
},
|
|
18221
|
+
{
|
|
18222
|
+
bump: "major",
|
|
18223
|
+
title: "Move `uni-slider`'s click-to-jump timing onto the `motion` scale. The `slider.transitionMs` theme option is removed; use `slider.motion` \u2014 a token name \u2014 instead.",
|
|
18224
|
+
body: "It was the last duration option outside the scale. The other eight went in 9.0.0, but the slider was rewritten for the numeric family afterwards and reintroduced its own, so a theme could retime every animated component except this one.\n\nThe scale gains a sixth token for it, `snap` (120ms `ease`), which is the slider's exact previous timing \u2014 nothing moves faster or slower than before. It is a separate token rather than a reuse of `control` because the two describe different motion: `control` times a state change in place (a hover fill, a check mark) and runs 300ms, where a slider thumb covers distance to a value the user just chose and at 300ms reads as lagging the input rather than answering it. A drag is still never animated.\n\nThemes setting `slider.transitionMs` should set `motion.snap` instead, which also retimes anything else pointed at that token.",
|
|
18225
|
+
commit: "2dc4fb5"
|
|
18226
|
+
},
|
|
18227
|
+
{
|
|
18228
|
+
bump: "major",
|
|
18229
|
+
title: "Composite components now render their glyphs through `uni-icon` theme tokens instead of `uni-symbol` ligatures, completing the rule set in `AGENTS.md`. Thirteen theme options are renamed and retyped from `string` to `IconName`:",
|
|
18230
|
+
body: "| Component | before | after |\n| ---------------------- | --------------------------------- | ------------------------------------- |\n| date-input, time-input | `toggleSymbol` | `toggleIcon` (`calendar`, `clock`) |\n| calendar | `navPrevSymbol` / `navNextSymbol` | `navPrevIcon` / `navNextIcon` |\n| menu-item | `activeSymbol` | `activeIcon` |\n| avatar | `fallbackSymbol` | `fallbackIcon` (`person` \u2192 `profile`) |\n| breadcrumb | `separatorSymbol` | `separatorIcon` |\n| search-input | `searchSymbol` / `clearSymbol` | `searchIcon` / `clearIcon` |\n| callout, popover | `closeSymbol` | `closeIcon` |\n\n`drawer-header` and `dialog-header` shipped both `closeButtonIcon` and `closeButtonSymbol`; the `*Symbol` half is removed, and since `symbolName` outranked `iconName` inside the icon button, those two headers were still rendering the ligature path until now.\n\nFour glyphs join `BaseIcons` (65 total): `arrowUp`/`arrowDown` and `chevronsLeft`/`chevronsRight`, which is what unblocked `uni-sort-header` and `uni-paginator`. `select-input`, `multi-select-dropdown` and `data-search` also stopped hardcoding ligatures.\n\n**Migrating:** rename the option in your theme and swap the Material ligature for an icon token \u2014 `activeSymbol: 'check'` becomes `activeIcon: 'check'`, `toggleSymbol: 'calendar_month'` becomes `toggleIcon: 'calendar'`. Any glyph you need that `BaseIcons` lacks can be registered through `createTheme({ icons })`.\n\n`uni-symbol` is unchanged and still the right tool for app-facing inputs that take arbitrary ligature names \u2014 `symbolName` on icon-button, tag, alert, snackbar and menu-item, and `symbolLeft`/`symbolRight` on button. One consequence worth knowing: `uni-icon` has no variable-font axes, so a theme setting `symbol: { options: { weight } }` no longer affects these composites' glyphs \u2014 they take the icon set's weight (300). The Wellsourced theme, which sets weight 200, has accepted this.",
|
|
18231
|
+
commit: "44feb5d"
|
|
18232
|
+
},
|
|
18233
|
+
{
|
|
18234
|
+
bump: "major",
|
|
18235
|
+
title: "Remove the deprecated `toggle.size` theme option and wire up three component names that were declared but unreachable.",
|
|
18236
|
+
body: "`toggle.size` was the last `@deprecated` API in the library \u2014 the pre-`sizes` geometry (width 2x, knob 0.8x) that outranked the size block for every instance regardless of a toggle's own `size` input. No shipped theme set it. Use the `toggle.sizes` block, which gives each size token its own `width` / `height` / `padding`.\n\n`select`, `buttonGroup` and `progressBar` were listed in `ComponentName` with no theme entry and no `COMPONENT_NAME` provider behind them, so a theme could not dress them however it tried. Each now has an entry whose defaults are exactly what the component previously hardcoded, so nothing moves:\n- **`select`** \u2014 `toggleIcon`, `toggleColor`, `toggleSize` for the dropdown affordance, matching `uni-combobox`'s (`chevronDown`, `on-background-variant`, 20).\n- **`buttonGroup`** \u2014 `border` and `borderRadius` for the segmented frame, previously a literal `quaternary` border and 4px corners.\n- **`progressBar`** \u2014 `trackColor`, `fillColor`, `completeColor`, `borderColor` and `strokeWidth`, previously read straight off the palette.\n\nThe two remaining names are dealt with separately: `textButton` is renamed `inlineButton` and now backs the new `uni-inline-button`, and `footer` is removed from `ComponentName` altogether.",
|
|
18237
|
+
commit: "0b1c528"
|
|
18238
|
+
}
|
|
18239
|
+
],
|
|
18240
|
+
dependencyBumps: [
|
|
18241
|
+
"@uni-design-system/uni-core@11.0.0"
|
|
18242
|
+
]
|
|
18243
|
+
},
|
|
17343
18244
|
{
|
|
17344
18245
|
version: "10.4.0",
|
|
17345
18246
|
entries: [
|
|
@@ -18128,6 +19029,66 @@ placeholder="Name or address\u2026"
|
|
|
18128
19029
|
{
|
|
18129
19030
|
package: "@uni-design-system/uni-core",
|
|
18130
19031
|
releases: [
|
|
19032
|
+
{
|
|
19033
|
+
version: "11.1.0",
|
|
19034
|
+
entries: [
|
|
19035
|
+
{
|
|
19036
|
+
bump: "minor",
|
|
19037
|
+
title: "Selection, hover and density become theme decisions on `uni-tag`, and add `uni-tag-group`.",
|
|
19038
|
+
body: "`uni-tag` had the right axes but made the app do the work. `selected` painted nothing \u2014 it set `aria-pressed` and swapped the lead glyph \u2014 so every toggle chip in app markup carried a `[tone]=\"on() ? 'solid' : 'soft'\"` of its own. Interactive chips had no hover state at all. The selected check was added rather than reserved, so picking a chip reflowed the whole row.\n\n**Selection paints itself.** A selected chip adds a `tag-selected` class and an interactive one adds `tag-interactive`, both as much public theme contract as `&.tone-*` already was. The base theme's `tag` variants use them: selection promotes a chip to its role's solid pair at every tone (`solid` deepens instead of refilling), and `&.tag-interactive:hover` is a `brightness(0.95)` wash that darkens fill, ink and edge together. A theme restyling either writes the rules per variant, beside the colours they belong to.\n\n**A toggle chip holds the check's place.** Bind `selected` and the chip reserves the glyph's footprint while unselected, so picking one never resizes it. A chip that already has a lead needs no slot \u2014 the check replaces the avatar or icon at identical width.\n\n**`uni-tag-group`** is a row of chips the user picks from. It renders its own chips from `items` and owns the two things an app was otherwise wiring per chip: which one is selected (`value`, plus `multiple`) and which one holds the tab stop. Keyboard model is the toolbar pattern \u2014 one tab stop for the whole row, arrow keys within it, on both axes because the row wraps. `layout=\"justify\"` stretches each filled row flush to both edges and leaves the last row at its natural widths, the way justified text leaves its last line alone. It is themed as **`tagGroup`** (`gap`, `rowGap`, `chipSize`, `chipTone`, `chipVariant`), layout only \u2014 every colour decision stays on the chips, so a group restyles with them.\n\n**Visual changes to every existing chip**, including the chips inside `uni-tag-input`:\n- A lead element and the remove control now **tuck into the rounded end** instead of starting where the radius ends \u2014 each sits concentric with the curve it is in, so a small status dot sits further in than a full lead box. A lead is balanced against, so the **label sits centred**; the tuck costs less than the old gutter did, so that balance is largely paid for rather than added. A remove control is not balanced against on its own, since it reads as an affordance rather than as content \u2014 a chip with nothing but a remove button keeps its gutter and simply tucks the glyph. A chip whose ends are too square to flow into (`borderRadius: 'xs'`) keeps the size token's gutter at both ends.\n- The `tag` typeface drops from **weight 600 to 500**. Geometry is unchanged; what made these chips read louder than the ones they replaced was the weight, not the size.\n- `border-color` and `filter` join the transition list, so an outline\u2194solid change fades its edge instead of snapping while the fill animates, and the hover wash fades in.\n\nNew `tag` theme option **`endInset`** (`number | 'auto'`) sets how far that tuck goes; `auto` derives it from the chip so the lead sits concentric with the cap. The `tag` size tokens now state `paddingInline` rather than a `padding` shorthand, since the chip reads that number back to balance the label \u2014 a theme still stating the shorthand is parsed as before.\n\n`UniTagComponent` is now generic in its value (`UniTagComponent<T extends UniTagValue = UniTagValue>`), so `value`, `removed` and `activated` carry an app's own type and `$event` flows without a closure. The default type parameter leaves every existing use compiling unchanged.",
|
|
19039
|
+
commit: "d00b2fe"
|
|
19040
|
+
}
|
|
19041
|
+
],
|
|
19042
|
+
dependencyBumps: []
|
|
19043
|
+
},
|
|
19044
|
+
{
|
|
19045
|
+
version: "11.0.0",
|
|
19046
|
+
entries: [
|
|
19047
|
+
{
|
|
19048
|
+
bump: "major",
|
|
19049
|
+
title: "Require Angular 22. `@angular/common`, `@angular/core` and `@angular/forms` move from `^21.2.0` to `^22.0.0`, so 11.x tracks Angular 22 and 10.x remains the Angular 21 line \u2014 one major of this package per Angular major, as documented. The old range excluded v22 outright, so an app that had taken Angular 22 could not install this package without a peer override.",
|
|
19050
|
+
body: "Two consequences of the framework's own changes:\n\n**`touch` output on every form control.** Angular 22 marks a bound field touched through a dedicated `touch` output rather than through the `touched` model, which the `Field` directive now binds inward only. All sixteen controls that track touched state (input, textarea, checkbox, radio, toggle, select, combobox, multi-select, tag-input, calendar, date/date-time/time inputs, number/number-range inputs, quantity-stepper, slider) emit it wherever they already considered the user done with the control. Without it, `touched()` never flips and error display gated on it never appears.\n\n**`min` / `max` typing.** The contract now types `min`/`max` as the control's own value type rather than as numbers. Where that still fits, the input was widened (`uni-slider`). Where it does not \u2014 a text control's native numeric attributes (`uni-input`), a range control's scalar bounds (`uni-number-range-input`), a tag limit (`uni-tag-input`) \u2014 the class member steps aside and the public binding name is preserved by an alias, so **templates are unchanged**. Only code reaching these through a `ViewChild` instance is affected: `min`/`max` are now `minAttr`/`maxAttr` on `uni-input`, `minValue`/`maxValue` on `uni-number-range-input`, and `max` is `maxLength` on `uni-tag-input`. `uni-number-range-input`'s protected `valueOf()` is renamed `partValue()`, since `valueOf` collides with `Object.valueOf`.\n\nAngular 22 also makes `OnPush` the default change detection; every component here already set it explicitly.",
|
|
19051
|
+
commit: "8fef84f"
|
|
19052
|
+
},
|
|
19053
|
+
{
|
|
19054
|
+
bump: "major",
|
|
19055
|
+
title: "Add `uni-inline-button`, and remove the `footer` component name.",
|
|
19056
|
+
body: "**`uni-inline-button`** is an action that lives inside a sentence. Every other button in the library owns a box \u2014 even `ghost` carries padding and a hit area, so dropping one into a paragraph pushes the words apart and breaks the line's rhythm. This one adds no box: it inherits the surrounding type (family, size, weight, line height, letter spacing and colour) and renders as part of the run of text.\n\n```html\nYour data is processed under the terms you accepted. You can\n<button inline-button underline link>review them</button> at any time.\n```\n\nIt is always a real `<button>`, so it can _look_ like a link without claiming to be navigation: Enter and Space activate it and assistive tech announces a button rather than an unfollowable link. Reach for an `<a>` when the thing actually goes somewhere.\n\nInputs: `underline` and `link` (both tri-state against the theme's defaults, and both readable as bare attributes), `iconName` / `symbolName` with `iconPosition`, and `disable`. A glyph is sized in `em` rather than px, so the same markup reads correctly in a caption and in a headline and never changes the line height of the paragraph it sits in.\n\nIt is themed as **`inlineButton`**, with `linkColor`, `underline`, `underlineOnHover`, `underlineOffset`, `gap` and `focusColor`. This replaces the `textButton` name that had sat in `ComponentName` since before there was anything to put behind it \u2014 **`ComponentName`'s `'textButton'` is renamed to `'inlineButton'`, and the exported options type `UniTextButtonOptions` to `UniInlineButtonOptions`.** Nothing shipped a `textButton` entry, so a theme only needs the rename if it had reached for the unbacked name.\n\nOne documented limit: browsers blockify every `<button>` to `inline-block` whatever `display` it asks for, so the control is an atomic inline box. A long label wraps inside it, but the run moves to the next line whole rather than splitting where the surrounding words would. `display: contents` would fix that and cost the button its focusability, so labels should stay to a few words.\n\n**`footer` is removed** from `ComponentName` and from the base theme. It was declared and themed but never built, so a theme could set options that reached nothing. Themes that state a `footer` entry now fail to type-check; delete the entry.",
|
|
19057
|
+
commit: "403043a"
|
|
19058
|
+
},
|
|
19059
|
+
{
|
|
19060
|
+
bump: "major",
|
|
19061
|
+
title: "Put every remaining hardcoded animation duration on the `motion` scale. Seventeen sites across twelve components carried their own literal, so a theme could retime some of the library and not the rest.",
|
|
19062
|
+
body: "New `motion` options, each defaulting to the token named: `button`, `iconButton`, `checkbox`, `tabs`, `tooltip`, `dataTable`, `tag`. `uni-sort-header` names `control` directly \u2014 it has no theme entry to hang an option on. `combobox`'s chevron now turns with the popup it opens, reading that component's existing `motion` option.\n\nTimings move where the literal and the token disagreed:\n\n| | before | after | token |\n| ----------------------------------------- | ----------------- | ----------------- | -------------- |\n| button, icon-button, data-table row hover | 280ms ease | 300ms ease | `control` |\n| checkbox box and dash | 200ms ease | 300ms ease | `control` |\n| checkbox tick (drawn, trails the box) | 500ms ease | 350ms ease-in-out | `reveal` |\n| tabs ink and indicator | 150ms ease | 120ms ease | `snap` |\n| combobox chevron | 150ms ease | 100ms linear | `popup` |\n| tag fill and ink | 200ms ease | 300ms ease | `control` |\n| sort-header arrow | 350ms ease-in-out | 300ms ease | `control` |\n| alert, snackbar dismiss | 300ms | 350ms | `notification` |\n| data-table detail expand | 300ms ease | 350ms ease-in-out | `reveal` |\n| tooltip fade, data-table loading overlay | 350ms | unchanged | `notification` |\n\nTwo of these lived in the theme rather than in a component: `button.fixed` and `tag.fixed` each baked a `transition`, and the button's won over the component that had already been migrated \u2014 so the button kept its old timing regardless. Both are gone; the components own their transitions and follow the token at runtime. A spec now fails if any shipped theme states a duration in a style block.\n\n`uni-skeleton` still stays out: its shimmer is a loop, not a transition.",
|
|
19063
|
+
commit: "2e4a6a4"
|
|
19064
|
+
},
|
|
19065
|
+
{
|
|
19066
|
+
bump: "major",
|
|
19067
|
+
title: "Move `uni-slider`'s click-to-jump timing onto the `motion` scale. The `slider.transitionMs` theme option is removed; use `slider.motion` \u2014 a token name \u2014 instead.",
|
|
19068
|
+
body: "It was the last duration option outside the scale. The other eight went in 9.0.0, but the slider was rewritten for the numeric family afterwards and reintroduced its own, so a theme could retime every animated component except this one.\n\nThe scale gains a sixth token for it, `snap` (120ms `ease`), which is the slider's exact previous timing \u2014 nothing moves faster or slower than before. It is a separate token rather than a reuse of `control` because the two describe different motion: `control` times a state change in place (a hover fill, a check mark) and runs 300ms, where a slider thumb covers distance to a value the user just chose and at 300ms reads as lagging the input rather than answering it. A drag is still never animated.\n\nThemes setting `slider.transitionMs` should set `motion.snap` instead, which also retimes anything else pointed at that token.",
|
|
19069
|
+
commit: "2dc4fb5"
|
|
19070
|
+
},
|
|
19071
|
+
{
|
|
19072
|
+
bump: "major",
|
|
19073
|
+
title: "Composite components now render their glyphs through `uni-icon` theme tokens instead of `uni-symbol` ligatures, completing the rule set in `AGENTS.md`. Thirteen theme options are renamed and retyped from `string` to `IconName`:",
|
|
19074
|
+
body: "| Component | before | after |\n| ---------------------- | --------------------------------- | ------------------------------------- |\n| date-input, time-input | `toggleSymbol` | `toggleIcon` (`calendar`, `clock`) |\n| calendar | `navPrevSymbol` / `navNextSymbol` | `navPrevIcon` / `navNextIcon` |\n| menu-item | `activeSymbol` | `activeIcon` |\n| avatar | `fallbackSymbol` | `fallbackIcon` (`person` \u2192 `profile`) |\n| breadcrumb | `separatorSymbol` | `separatorIcon` |\n| search-input | `searchSymbol` / `clearSymbol` | `searchIcon` / `clearIcon` |\n| callout, popover | `closeSymbol` | `closeIcon` |\n\n`drawer-header` and `dialog-header` shipped both `closeButtonIcon` and `closeButtonSymbol`; the `*Symbol` half is removed, and since `symbolName` outranked `iconName` inside the icon button, those two headers were still rendering the ligature path until now.\n\nFour glyphs join `BaseIcons` (65 total): `arrowUp`/`arrowDown` and `chevronsLeft`/`chevronsRight`, which is what unblocked `uni-sort-header` and `uni-paginator`. `select-input`, `multi-select-dropdown` and `data-search` also stopped hardcoding ligatures.\n\n**Migrating:** rename the option in your theme and swap the Material ligature for an icon token \u2014 `activeSymbol: 'check'` becomes `activeIcon: 'check'`, `toggleSymbol: 'calendar_month'` becomes `toggleIcon: 'calendar'`. Any glyph you need that `BaseIcons` lacks can be registered through `createTheme({ icons })`.\n\n`uni-symbol` is unchanged and still the right tool for app-facing inputs that take arbitrary ligature names \u2014 `symbolName` on icon-button, tag, alert, snackbar and menu-item, and `symbolLeft`/`symbolRight` on button. One consequence worth knowing: `uni-icon` has no variable-font axes, so a theme setting `symbol: { options: { weight } }` no longer affects these composites' glyphs \u2014 they take the icon set's weight (300). The Wellsourced theme, which sets weight 200, has accepted this.",
|
|
19075
|
+
commit: "44feb5d"
|
|
19076
|
+
},
|
|
19077
|
+
{
|
|
19078
|
+
bump: "major",
|
|
19079
|
+
title: "Remove the deprecated `toggle.size` theme option and wire up three component names that were declared but unreachable.",
|
|
19080
|
+
body: "`toggle.size` was the last `@deprecated` API in the library \u2014 the pre-`sizes` geometry (width 2x, knob 0.8x) that outranked the size block for every instance regardless of a toggle's own `size` input. No shipped theme set it. Use the `toggle.sizes` block, which gives each size token its own `width` / `height` / `padding`.\n\n`select`, `buttonGroup` and `progressBar` were listed in `ComponentName` with no theme entry and no `COMPONENT_NAME` provider behind them, so a theme could not dress them however it tried. Each now has an entry whose defaults are exactly what the component previously hardcoded, so nothing moves:\n- **`select`** \u2014 `toggleIcon`, `toggleColor`, `toggleSize` for the dropdown affordance, matching `uni-combobox`'s (`chevronDown`, `on-background-variant`, 20).\n- **`buttonGroup`** \u2014 `border` and `borderRadius` for the segmented frame, previously a literal `quaternary` border and 4px corners.\n- **`progressBar`** \u2014 `trackColor`, `fillColor`, `completeColor`, `borderColor` and `strokeWidth`, previously read straight off the palette.\n\nThe two remaining names are dealt with separately: `textButton` is renamed `inlineButton` and now backs the new `uni-inline-button`, and `footer` is removed from `ComponentName` altogether.",
|
|
19081
|
+
commit: "0b1c528"
|
|
19082
|
+
},
|
|
19083
|
+
{
|
|
19084
|
+
bump: "patch",
|
|
19085
|
+
title: "Fix unreadable text in `uni-card` under dark themes. The card's theme entry painted `backgroundColor` without the matching `color`, so any unstyled text inside it fell back to the user-agent default black. On a light theme that happened to read; on every dark theme it rendered black on a near-black surface \u2014 1.11:1 against a 4.5:1 AA requirement, reported from the theme switcher's preview card.",
|
|
19086
|
+
body: "The card now states `on-background` alongside its background, as `cardHeader` already did for each of its variants. All six registered themes measure between 13.8:1 and 18.1:1 on that text.\n\nAdded with the fix: a spec asserting the invariant across every component entry in the shipped themes \u2014 anything that paints a `backgroundColor` must also state a `color` \u2014 so the next half-painted surface fails a test rather than reaching a consumer.",
|
|
19087
|
+
commit: "85a1ec5"
|
|
19088
|
+
}
|
|
19089
|
+
],
|
|
19090
|
+
dependencyBumps: []
|
|
19091
|
+
},
|
|
18131
19092
|
{
|
|
18132
19093
|
version: "10.4.0",
|
|
18133
19094
|
entries: [
|
|
@@ -18688,6 +19649,29 @@ placeholder="Name or address\u2026"
|
|
|
18688
19649
|
{
|
|
18689
19650
|
package: "@uni-design-system/uni-react",
|
|
18690
19651
|
releases: [
|
|
19652
|
+
{
|
|
19653
|
+
version: "11.1.0",
|
|
19654
|
+
entries: [],
|
|
19655
|
+
dependencyBumps: []
|
|
19656
|
+
},
|
|
19657
|
+
{
|
|
19658
|
+
version: "11.0.0",
|
|
19659
|
+
entries: [
|
|
19660
|
+
{
|
|
19661
|
+
bump: "major",
|
|
19662
|
+
title: "Require Angular 22. `@angular/common`, `@angular/core` and `@angular/forms` move from `^21.2.0` to `^22.0.0`, so 11.x tracks Angular 22 and 10.x remains the Angular 21 line \u2014 one major of this package per Angular major, as documented. The old range excluded v22 outright, so an app that had taken Angular 22 could not install this package without a peer override.",
|
|
19663
|
+
body: "Two consequences of the framework's own changes:\n\n**`touch` output on every form control.** Angular 22 marks a bound field touched through a dedicated `touch` output rather than through the `touched` model, which the `Field` directive now binds inward only. All sixteen controls that track touched state (input, textarea, checkbox, radio, toggle, select, combobox, multi-select, tag-input, calendar, date/date-time/time inputs, number/number-range inputs, quantity-stepper, slider) emit it wherever they already considered the user done with the control. Without it, `touched()` never flips and error display gated on it never appears.\n\n**`min` / `max` typing.** The contract now types `min`/`max` as the control's own value type rather than as numbers. Where that still fits, the input was widened (`uni-slider`). Where it does not \u2014 a text control's native numeric attributes (`uni-input`), a range control's scalar bounds (`uni-number-range-input`), a tag limit (`uni-tag-input`) \u2014 the class member steps aside and the public binding name is preserved by an alias, so **templates are unchanged**. Only code reaching these through a `ViewChild` instance is affected: `min`/`max` are now `minAttr`/`maxAttr` on `uni-input`, `minValue`/`maxValue` on `uni-number-range-input`, and `max` is `maxLength` on `uni-tag-input`. `uni-number-range-input`'s protected `valueOf()` is renamed `partValue()`, since `valueOf` collides with `Object.valueOf`.\n\nAngular 22 also makes `OnPush` the default change detection; every component here already set it explicitly.",
|
|
19664
|
+
commit: "8fef84f"
|
|
19665
|
+
},
|
|
19666
|
+
{
|
|
19667
|
+
bump: "patch",
|
|
19668
|
+
title: "Mark the React package experimental. It shares a version number with `@uni-design-system/uni-angular` because the packages release together as a fixed group, not because they are at parity \u2014 React implements roughly a sixth of the Angular library's components and carries a single spec file. The version was reading as a maturity signal it had not earned.",
|
|
19669
|
+
body: "The package description and a README banner now say so; nothing about the code changes, and it stays published.",
|
|
19670
|
+
commit: "0b1c528"
|
|
19671
|
+
}
|
|
19672
|
+
],
|
|
19673
|
+
dependencyBumps: []
|
|
19674
|
+
},
|
|
18691
19675
|
{
|
|
18692
19676
|
version: "10.4.0",
|
|
18693
19677
|
entries: [],
|
|
@@ -18941,6 +19925,23 @@ placeholder="Name or address\u2026"
|
|
|
18941
19925
|
{
|
|
18942
19926
|
package: "@uni-design-system/uni-mcp",
|
|
18943
19927
|
releases: [
|
|
19928
|
+
{
|
|
19929
|
+
version: "11.1.0",
|
|
19930
|
+
entries: [],
|
|
19931
|
+
dependencyBumps: []
|
|
19932
|
+
},
|
|
19933
|
+
{
|
|
19934
|
+
version: "11.0.0",
|
|
19935
|
+
entries: [
|
|
19936
|
+
{
|
|
19937
|
+
bump: "major",
|
|
19938
|
+
title: "Require Angular 22. `@angular/common`, `@angular/core` and `@angular/forms` move from `^21.2.0` to `^22.0.0`, so 11.x tracks Angular 22 and 10.x remains the Angular 21 line \u2014 one major of this package per Angular major, as documented. The old range excluded v22 outright, so an app that had taken Angular 22 could not install this package without a peer override.",
|
|
19939
|
+
body: "Two consequences of the framework's own changes:\n\n**`touch` output on every form control.** Angular 22 marks a bound field touched through a dedicated `touch` output rather than through the `touched` model, which the `Field` directive now binds inward only. All sixteen controls that track touched state (input, textarea, checkbox, radio, toggle, select, combobox, multi-select, tag-input, calendar, date/date-time/time inputs, number/number-range inputs, quantity-stepper, slider) emit it wherever they already considered the user done with the control. Without it, `touched()` never flips and error display gated on it never appears.\n\n**`min` / `max` typing.** The contract now types `min`/`max` as the control's own value type rather than as numbers. Where that still fits, the input was widened (`uni-slider`). Where it does not \u2014 a text control's native numeric attributes (`uni-input`), a range control's scalar bounds (`uni-number-range-input`), a tag limit (`uni-tag-input`) \u2014 the class member steps aside and the public binding name is preserved by an alias, so **templates are unchanged**. Only code reaching these through a `ViewChild` instance is affected: `min`/`max` are now `minAttr`/`maxAttr` on `uni-input`, `minValue`/`maxValue` on `uni-number-range-input`, and `max` is `maxLength` on `uni-tag-input`. `uni-number-range-input`'s protected `valueOf()` is renamed `partValue()`, since `valueOf` collides with `Object.valueOf`.\n\nAngular 22 also makes `OnPush` the default change detection; every component here already set it explicitly.",
|
|
19940
|
+
commit: "8fef84f"
|
|
19941
|
+
}
|
|
19942
|
+
],
|
|
19943
|
+
dependencyBumps: []
|
|
19944
|
+
},
|
|
18944
19945
|
{
|
|
18945
19946
|
version: "10.4.0",
|
|
18946
19947
|
entries: [],
|
|
@@ -19959,6 +20960,10 @@ var BaseIcons = {
|
|
|
19959
20960
|
chevronRight: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='m517.85-480-184-184L376-706.15 602.15-480 376-253.85 333.85-296l184-184Z'/%3e%3c/svg%3e",
|
|
19960
20961
|
arrowLeft: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='m294.92-450 227.85 227.85L480-180 180-480l300-300 42.77 42.15L294.92-510H780v60H294.92Z'/%3e%3c/svg%3e",
|
|
19961
20962
|
arrowRight: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M665.08-450H180v-60h485.08L437.23-737.85 480-780l300 300-300 300-42.77-42.15L665.08-450Z'/%3e%3c/svg%3e",
|
|
20963
|
+
arrowUp: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M450-180v-485.08L222.15-437.23 180-480l300-300 300 300-42.15 42.77L510-665.08V-180h-60Z'/%3e%3c/svg%3e",
|
|
20964
|
+
arrowDown: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M450-780v485.08L222.15-522.77 180-480l300 300 300-300-42.15-42.77L510-294.92V-780h-60Z'/%3e%3c/svg%3e",
|
|
20965
|
+
chevronsLeft: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M445-253.85 218.85-480 445-706.15 487.15-664 303.77-480l183.38 184L445-253.85Zm254 0L472.85-480 699-706.15 741.15-664 557.77-480l183.38 184L699-253.85Z'/%3e%3c/svg%3e",
|
|
20966
|
+
chevronsRight: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M402.23-480 218.85-664 261-706.15 487.15-480 261-253.85 218.85-296l183.38-184Zm254 0L472.85-664 515-706.15 741.15-480 515-253.85 472.85-296l183.38-184Z'/%3e%3c/svg%3e",
|
|
19962
20967
|
home: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M240-200h133.85v-237.69h212.3V-200H720v-360L480-740.77 240-560v360Zm-60 60v-450l300-225.77L780-590v450H526.15v-237.69h-92.3V-140H180Zm300-330.38Z'/%3e%3c/svg%3e",
|
|
19963
20968
|
building: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M130-136.92v-540h160v-160h380v320h160v380H530v-160H430v160H130Zm60-60h100v-100H190v100Zm0-160h100v-100H190v100Zm0-160h100v-100H190v100Zm160 160h100v-100H350v100Zm0-160h100v-100H350v100Zm0-160h100v-100H350v100Zm160 320h100v-100H510v100Zm0-160h100v-100H510v100Zm0-160h100v-100H510v100Zm160 480h100v-100H670v100Zm0-160h100v-100H670v100Z'/%3e%3c/svg%3e",
|
|
19964
20969
|
externalLink: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M212.31-140Q182-140 161-161q-21-21-21-51.31v-535.38Q140-778 161-799q21-21 51.31-21h252.3v60h-252.3q-4.62 0-8.46 3.85-3.85 3.84-3.85 8.46v535.38q0 4.62 3.85 8.46 3.84 3.85 8.46 3.85h535.38q4.62 0 8.46-3.85 3.85-3.84 3.85-8.46v-252.3h60v252.3Q820-182 799-161q-21 21-51.31 21H212.31Zm176.46-206.62-42.15-42.15L717.85-760H560v-60h260v260h-60v-157.85L388.77-346.62Z'/%3e%3c/svg%3e",
|
|
@@ -20163,7 +21168,7 @@ var BaseTypography = {
|
|
|
20163
21168
|
fontFamily: "Red Hat Display",
|
|
20164
21169
|
fontSize: 15,
|
|
20165
21170
|
lineHeight: 20,
|
|
20166
|
-
fontWeight:
|
|
21171
|
+
fontWeight: 500
|
|
20167
21172
|
},
|
|
20168
21173
|
input: {
|
|
20169
21174
|
fontFamily: "Red Hat Display",
|
|
@@ -20213,6 +21218,10 @@ var BaseMotion = {
|
|
|
20213
21218
|
control: {
|
|
20214
21219
|
duration: 300,
|
|
20215
21220
|
easing: "ease"
|
|
21221
|
+
},
|
|
21222
|
+
snap: {
|
|
21223
|
+
duration: 120,
|
|
21224
|
+
easing: "ease"
|
|
20216
21225
|
}
|
|
20217
21226
|
};
|
|
20218
21227
|
var BaseBackdrops = { scrim: {
|
|
@@ -20254,14 +21263,26 @@ var SELECTION_ACCENTS = {
|
|
|
20254
21263
|
var tagVariant = (c, role) => ({ [role]: {
|
|
20255
21264
|
backgroundColor: c[`${role}-container`],
|
|
20256
21265
|
color: c[`on-${role}-container`],
|
|
20257
|
-
"&.
|
|
21266
|
+
"&.tag-selected": {
|
|
20258
21267
|
backgroundColor: c[role],
|
|
20259
21268
|
color: c[`on-${role}`]
|
|
20260
21269
|
},
|
|
21270
|
+
"&.tag-interactive:hover": { filter: "brightness(0.95)" },
|
|
21271
|
+
"&.tone-solid": {
|
|
21272
|
+
backgroundColor: c[role],
|
|
21273
|
+
color: c[`on-${role}`],
|
|
21274
|
+
"&.tag-selected": { filter: "brightness(0.9)" },
|
|
21275
|
+
"&.tag-selected.tag-interactive:hover": { filter: "brightness(0.85)" }
|
|
21276
|
+
},
|
|
20261
21277
|
"&.tone-outline": {
|
|
20262
21278
|
backgroundColor: "transparent",
|
|
20263
21279
|
color: c[role],
|
|
20264
|
-
borderColor: c[`on-${role}-container-border`] ?? c[role]
|
|
21280
|
+
borderColor: c[`on-${role}-container-border`] ?? c[role],
|
|
21281
|
+
"&.tag-selected": {
|
|
21282
|
+
backgroundColor: c[role],
|
|
21283
|
+
color: c[`on-${role}`],
|
|
21284
|
+
borderColor: c[role]
|
|
21285
|
+
}
|
|
20265
21286
|
}
|
|
20266
21287
|
} });
|
|
20267
21288
|
var buildComponents = (c) => ({
|
|
@@ -20275,7 +21296,7 @@ var buildComponents = (c) => ({
|
|
|
20275
21296
|
typeface: "label",
|
|
20276
21297
|
color: "on-background-variant",
|
|
20277
21298
|
currentColor: "on-background",
|
|
20278
|
-
|
|
21299
|
+
separatorIcon: "chevronRight",
|
|
20279
21300
|
gap: "xs"
|
|
20280
21301
|
} },
|
|
20281
21302
|
appBar: { options: {
|
|
@@ -20323,7 +21344,7 @@ var buildComponents = (c) => ({
|
|
|
20323
21344
|
options: {
|
|
20324
21345
|
borderRadius: "max",
|
|
20325
21346
|
typeface: "subtitle-2",
|
|
20326
|
-
|
|
21347
|
+
fallbackIcon: "profile"
|
|
20327
21348
|
},
|
|
20328
21349
|
variants: {
|
|
20329
21350
|
primary: {
|
|
@@ -20380,8 +21401,8 @@ var buildComponents = (c) => ({
|
|
|
20380
21401
|
ringWidth: 2
|
|
20381
21402
|
} },
|
|
20382
21403
|
searchInput: { options: {
|
|
20383
|
-
|
|
20384
|
-
|
|
21404
|
+
searchIcon: "search",
|
|
21405
|
+
clearIcon: "close",
|
|
20385
21406
|
listColor: "primary-surface",
|
|
20386
21407
|
listShadow: "menu",
|
|
20387
21408
|
listBorderRadius: "xs",
|
|
@@ -20390,6 +21411,7 @@ var buildComponents = (c) => ({
|
|
|
20390
21411
|
} },
|
|
20391
21412
|
checkbox: {
|
|
20392
21413
|
options: {
|
|
21414
|
+
motion: "control",
|
|
20393
21415
|
size: 20,
|
|
20394
21416
|
boxColor: "surface",
|
|
20395
21417
|
borderRadius: 2,
|
|
@@ -20439,6 +21461,22 @@ var buildComponents = (c) => ({
|
|
|
20439
21461
|
closeButtonIcon: "close",
|
|
20440
21462
|
closeButtonSize: "md"
|
|
20441
21463
|
} },
|
|
21464
|
+
select: { options: {
|
|
21465
|
+
toggleIcon: "chevronDown",
|
|
21466
|
+
toggleColor: "on-background-variant",
|
|
21467
|
+
toggleSize: 20
|
|
21468
|
+
} },
|
|
21469
|
+
buttonGroup: { options: {
|
|
21470
|
+
border: "quaternary",
|
|
21471
|
+
borderRadius: 4
|
|
21472
|
+
} },
|
|
21473
|
+
progressBar: { options: {
|
|
21474
|
+
trackColor: "primary-surface",
|
|
21475
|
+
fillColor: "secondary-surface",
|
|
21476
|
+
completeColor: "secondary",
|
|
21477
|
+
borderColor: "on-background-variant",
|
|
21478
|
+
strokeWidth: 1
|
|
21479
|
+
} },
|
|
20442
21480
|
dropdown: { options: {
|
|
20443
21481
|
border: "none",
|
|
20444
21482
|
borderRadius: "xxs",
|
|
@@ -20466,7 +21504,7 @@ var buildComponents = (c) => ({
|
|
|
20466
21504
|
typeface: "label",
|
|
20467
21505
|
textColor: void 0,
|
|
20468
21506
|
hoverColor: "primary-container",
|
|
20469
|
-
|
|
21507
|
+
activeIcon: "check",
|
|
20470
21508
|
motion: "control"
|
|
20471
21509
|
},
|
|
20472
21510
|
variants: {
|
|
@@ -20490,7 +21528,7 @@ var buildComponents = (c) => ({
|
|
|
20490
21528
|
maxWidth: "38ch",
|
|
20491
21529
|
offset: 7,
|
|
20492
21530
|
arrowSize: 8,
|
|
20493
|
-
|
|
21531
|
+
closeIcon: "close",
|
|
20494
21532
|
headerTypeface: "title-small",
|
|
20495
21533
|
tooltipPadding: "4px 8px",
|
|
20496
21534
|
tooltipOpenDelay: 500,
|
|
@@ -20498,12 +21536,6 @@ var buildComponents = (c) => ({
|
|
|
20498
21536
|
motion: "panel"
|
|
20499
21537
|
} },
|
|
20500
21538
|
expand: { options: { motion: "reveal" } },
|
|
20501
|
-
footer: { options: {
|
|
20502
|
-
height: 52,
|
|
20503
|
-
color: "primary",
|
|
20504
|
-
logoHeight: 18.6,
|
|
20505
|
-
logoPadding: "md"
|
|
20506
|
-
} },
|
|
20507
21539
|
input: { options: {
|
|
20508
21540
|
typeface: "input",
|
|
20509
21541
|
color: "primary-surface",
|
|
@@ -20562,6 +21594,7 @@ var buildComponents = (c) => ({
|
|
|
20562
21594
|
}
|
|
20563
21595
|
},
|
|
20564
21596
|
tabs: { options: {
|
|
21597
|
+
motion: "snap",
|
|
20565
21598
|
typeface: "title-small",
|
|
20566
21599
|
textColor: "on-surface-variant",
|
|
20567
21600
|
activeTextColor: "primary",
|
|
@@ -20589,14 +21622,15 @@ var buildComponents = (c) => ({
|
|
|
20589
21622
|
typeface: "tag",
|
|
20590
21623
|
gap: "xs",
|
|
20591
21624
|
removeIcon: "close",
|
|
20592
|
-
selectedIcon: "check"
|
|
21625
|
+
selectedIcon: "check",
|
|
21626
|
+
motion: "control",
|
|
21627
|
+
endInset: "auto"
|
|
20593
21628
|
},
|
|
20594
21629
|
fixed: {
|
|
20595
21630
|
display: "inline-flex",
|
|
20596
21631
|
alignItems: "center",
|
|
20597
21632
|
maxWidth: "100%",
|
|
20598
|
-
border: "1px solid transparent"
|
|
20599
|
-
transition: "background-color .2s ease, color .2s ease"
|
|
21633
|
+
border: "1px solid transparent"
|
|
20600
21634
|
},
|
|
20601
21635
|
variants: {
|
|
20602
21636
|
...tagVariant(c, "primary"),
|
|
@@ -20607,13 +21641,25 @@ var buildComponents = (c) => ({
|
|
|
20607
21641
|
ghost: {
|
|
20608
21642
|
backgroundColor: "transparent",
|
|
20609
21643
|
color: c["on-background"],
|
|
20610
|
-
"&.
|
|
21644
|
+
"&.tag-selected": {
|
|
20611
21645
|
backgroundColor: c["surface-variant"],
|
|
20612
21646
|
color: c["on-surface-variant"]
|
|
20613
21647
|
},
|
|
21648
|
+
"&.tag-interactive:hover": { filter: "brightness(0.95)" },
|
|
21649
|
+
"&.tone-solid": {
|
|
21650
|
+
backgroundColor: c["surface-variant"],
|
|
21651
|
+
color: c["on-surface-variant"],
|
|
21652
|
+
"&.tag-selected": { filter: "brightness(0.9)" },
|
|
21653
|
+
"&.tag-selected.tag-interactive:hover": { filter: "brightness(0.85)" }
|
|
21654
|
+
},
|
|
20614
21655
|
"&.tone-outline": {
|
|
20615
21656
|
backgroundColor: "transparent",
|
|
20616
|
-
borderColor: c.outline
|
|
21657
|
+
borderColor: c.outline,
|
|
21658
|
+
"&.tag-selected": {
|
|
21659
|
+
backgroundColor: c["surface-variant"],
|
|
21660
|
+
color: c["on-surface-variant"],
|
|
21661
|
+
borderColor: c.outline
|
|
21662
|
+
}
|
|
20617
21663
|
}
|
|
20618
21664
|
},
|
|
20619
21665
|
disabled: {
|
|
@@ -20633,20 +21679,31 @@ var buildComponents = (c) => ({
|
|
|
20633
21679
|
sm: {
|
|
20634
21680
|
height: 20,
|
|
20635
21681
|
fontSize: 12,
|
|
20636
|
-
|
|
21682
|
+
paddingInline: 8
|
|
20637
21683
|
},
|
|
20638
21684
|
md: {
|
|
20639
21685
|
height: 24,
|
|
20640
21686
|
fontSize: 13,
|
|
20641
|
-
|
|
21687
|
+
paddingInline: 10
|
|
20642
21688
|
},
|
|
20643
21689
|
lg: {
|
|
20644
21690
|
height: 32,
|
|
20645
21691
|
fontSize: 15,
|
|
20646
|
-
|
|
21692
|
+
paddingInline: 12
|
|
20647
21693
|
}
|
|
20648
21694
|
}
|
|
20649
21695
|
},
|
|
21696
|
+
tagGroup: {
|
|
21697
|
+
options: {
|
|
21698
|
+
gap: "xs",
|
|
21699
|
+
rowGap: "xs"
|
|
21700
|
+
},
|
|
21701
|
+
fixed: {
|
|
21702
|
+
display: "flex",
|
|
21703
|
+
flexWrap: "wrap",
|
|
21704
|
+
alignItems: "center"
|
|
21705
|
+
}
|
|
21706
|
+
},
|
|
20650
21707
|
tagInput: { options: {
|
|
20651
21708
|
chipGap: "xs",
|
|
20652
21709
|
chipSize: "md",
|
|
@@ -20662,8 +21719,8 @@ var buildComponents = (c) => ({
|
|
|
20662
21719
|
dayBorderRadius: "max",
|
|
20663
21720
|
typeface: "label",
|
|
20664
21721
|
gap: "xxs",
|
|
20665
|
-
|
|
20666
|
-
|
|
21722
|
+
navPrevIcon: "chevronLeft",
|
|
21723
|
+
navNextIcon: "chevronRight",
|
|
20667
21724
|
weekdayFormat: "short",
|
|
20668
21725
|
showOutsideDays: false,
|
|
20669
21726
|
todayStyle: "outline"
|
|
@@ -20702,13 +21759,13 @@ var buildComponents = (c) => ({
|
|
|
20702
21759
|
descriptionColor: "on-primary-surface-variant"
|
|
20703
21760
|
} },
|
|
20704
21761
|
dateInput: { options: {
|
|
20705
|
-
|
|
21762
|
+
toggleIcon: "calendar",
|
|
20706
21763
|
popupShadow: "menu",
|
|
20707
21764
|
popupBorderRadius: "xs",
|
|
20708
21765
|
popupColor: "primary-surface"
|
|
20709
21766
|
} },
|
|
20710
21767
|
timeInput: { options: {
|
|
20711
|
-
|
|
21768
|
+
toggleIcon: "clock",
|
|
20712
21769
|
listColor: "primary-surface",
|
|
20713
21770
|
listShadow: "menu",
|
|
20714
21771
|
listBorderRadius: "xs",
|
|
@@ -20722,15 +21779,15 @@ var buildComponents = (c) => ({
|
|
|
20722
21779
|
button: {
|
|
20723
21780
|
options: {
|
|
20724
21781
|
borderRadius: "max",
|
|
20725
|
-
typeface: "button"
|
|
21782
|
+
typeface: "button",
|
|
21783
|
+
motion: "control"
|
|
20726
21784
|
},
|
|
20727
21785
|
fixed: {
|
|
20728
21786
|
position: "relative",
|
|
20729
21787
|
overflow: "hidden",
|
|
20730
21788
|
outline: "0",
|
|
20731
21789
|
border: "0",
|
|
20732
|
-
cursor: "pointer"
|
|
20733
|
-
transition: "all 0.28s ease"
|
|
21790
|
+
cursor: "pointer"
|
|
20734
21791
|
},
|
|
20735
21792
|
variantOptions: {
|
|
20736
21793
|
primary: { focusColor: "primary" },
|
|
@@ -20811,7 +21868,10 @@ var buildComponents = (c) => ({
|
|
|
20811
21868
|
}
|
|
20812
21869
|
},
|
|
20813
21870
|
iconButton: {
|
|
20814
|
-
options: {
|
|
21871
|
+
options: {
|
|
21872
|
+
borderRadius: "max",
|
|
21873
|
+
motion: "control"
|
|
21874
|
+
},
|
|
20815
21875
|
variantOptions: {
|
|
20816
21876
|
primary: { focusColor: "primary" },
|
|
20817
21877
|
secondary: { focusColor: "secondary" },
|
|
@@ -20888,6 +21948,13 @@ var buildComponents = (c) => ({
|
|
|
20888
21948
|
}
|
|
20889
21949
|
}
|
|
20890
21950
|
},
|
|
21951
|
+
inlineButton: { options: {
|
|
21952
|
+
linkColor: "primary",
|
|
21953
|
+
underline: false,
|
|
21954
|
+
underlineOnHover: true,
|
|
21955
|
+
underlineOffset: "0.15em",
|
|
21956
|
+
gap: "xxs"
|
|
21957
|
+
} },
|
|
20891
21958
|
progressGauge: {
|
|
20892
21959
|
fixed: { textFill: c["on-background"] },
|
|
20893
21960
|
variants: {
|
|
@@ -20923,7 +21990,8 @@ var buildComponents = (c) => ({
|
|
|
20923
21990
|
options: { borderRadius: "xs" },
|
|
20924
21991
|
fixed: {
|
|
20925
21992
|
overflow: "hidden",
|
|
20926
|
-
backgroundColor: c.background
|
|
21993
|
+
backgroundColor: c.background,
|
|
21994
|
+
color: c["on-background"]
|
|
20927
21995
|
}
|
|
20928
21996
|
},
|
|
20929
21997
|
cardHeader: {
|
|
@@ -20959,6 +22027,7 @@ var buildComponents = (c) => ({
|
|
|
20959
22027
|
placeholderColor: "disabled"
|
|
20960
22028
|
} },
|
|
20961
22029
|
dataTable: { options: {
|
|
22030
|
+
motion: "control",
|
|
20962
22031
|
color: "primary-surface",
|
|
20963
22032
|
border: "light",
|
|
20964
22033
|
borderRadius: "sm",
|
|
@@ -21022,7 +22091,7 @@ var buildComponents = (c) => ({
|
|
|
21022
22091
|
tooltipTextColor: "on-inverse-surface",
|
|
21023
22092
|
tooltipShadow: "menu",
|
|
21024
22093
|
tooltipBorderRadius: "xs",
|
|
21025
|
-
|
|
22094
|
+
motion: "snap"
|
|
21026
22095
|
} },
|
|
21027
22096
|
skeleton: { options: {
|
|
21028
22097
|
color: "surface-variant",
|
|
@@ -21071,6 +22140,7 @@ var buildComponents = (c) => ({
|
|
|
21071
22140
|
}
|
|
21072
22141
|
},
|
|
21073
22142
|
tooltip: { options: {
|
|
22143
|
+
motion: "notification",
|
|
21074
22144
|
border: void 0,
|
|
21075
22145
|
borderRadius: "xs",
|
|
21076
22146
|
shadow: "raised",
|
|
@@ -21085,7 +22155,7 @@ var buildComponents = (c) => ({
|
|
|
21085
22155
|
padding: "16px",
|
|
21086
22156
|
headerTypeface: "title-small",
|
|
21087
22157
|
typeface: "label",
|
|
21088
|
-
|
|
22158
|
+
closeIcon: "close",
|
|
21089
22159
|
arrowSize: 8,
|
|
21090
22160
|
offset: 12,
|
|
21091
22161
|
scrimColor: "rgba(0, 0, 0, 0.45)",
|
|
@@ -22156,7 +23226,7 @@ function createUniServer() {
|
|
|
22156
23226
|
"list-tokens",
|
|
22157
23227
|
{
|
|
22158
23228
|
title: "List design tokens",
|
|
22159
|
-
description: "Inventory of Uni design tokens. Filter by `type` (color, spacing, radius, shadow, border, backdrop, thickness, typography, ...), `kind` (style|behavioral), or `theme`.",
|
|
23229
|
+
description: "Inventory of Uni design tokens. Filter by `type` (color, spacing, radius, shadow, border, backdrop, motion, thickness, typography, ...), `kind` (style|behavioral), or `theme`.",
|
|
22160
23230
|
inputSchema: {
|
|
22161
23231
|
type: z.string().optional(),
|
|
22162
23232
|
kind: z.enum(["style", "behavioral"]).optional(),
|
|
@@ -22476,4 +23546,4 @@ export {
|
|
|
22476
23546
|
buildStoredTheme,
|
|
22477
23547
|
createUniServer
|
|
22478
23548
|
};
|
|
22479
|
-
//# sourceMappingURL=chunk-
|
|
23549
|
+
//# sourceMappingURL=chunk-G5LYVS3L.js.map
|