@uni-design-system/uni-mcp 4.5.0 → 4.6.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/README.md +28 -0
- package/dist/{chunk-VM5SXSG2.js → chunk-GT3T5DVX.js} +1974 -349
- package/dist/chunk-GT3T5DVX.js.map +1 -0
- package/dist/http.js +28 -4
- package/dist/http.js.map +1 -1
- package/dist/server.js +1 -1
- package/dist/stdio.js +1 -1
- package/package.json +2 -2
- package/dist/chunk-VM5SXSG2.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-
|
|
10
|
+
version: "8.0.0",
|
|
11
|
+
builtAt: "2026-08-11T20:20:04.699Z",
|
|
12
12
|
frameworks: [
|
|
13
13
|
"angular"
|
|
14
14
|
],
|
|
15
15
|
counts: {
|
|
16
|
-
components:
|
|
17
|
-
tokens:
|
|
16
|
+
components: 72,
|
|
17
|
+
tokens: 331,
|
|
18
18
|
themes: 2,
|
|
19
|
-
examples:
|
|
19
|
+
examples: 150
|
|
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: "8.0.0",
|
|
31
31
|
bindings: {
|
|
32
32
|
angular: {
|
|
33
33
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -101,7 +101,7 @@ var uni_index_default = {
|
|
|
101
101
|
summary: "",
|
|
102
102
|
description: "",
|
|
103
103
|
category: "components",
|
|
104
|
-
version: "
|
|
104
|
+
version: "8.0.0",
|
|
105
105
|
bindings: {
|
|
106
106
|
angular: {
|
|
107
107
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -158,7 +158,7 @@ var uni_index_default = {
|
|
|
158
158
|
summary: "",
|
|
159
159
|
description: "",
|
|
160
160
|
category: "components",
|
|
161
|
-
version: "
|
|
161
|
+
version: "8.0.0",
|
|
162
162
|
bindings: {
|
|
163
163
|
angular: {
|
|
164
164
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -237,7 +237,7 @@ var uni_index_default = {
|
|
|
237
237
|
summary: "",
|
|
238
238
|
description: "",
|
|
239
239
|
category: "components",
|
|
240
|
-
version: "
|
|
240
|
+
version: "8.0.0",
|
|
241
241
|
bindings: {
|
|
242
242
|
angular: {
|
|
243
243
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -270,7 +270,7 @@ var uni_index_default = {
|
|
|
270
270
|
summary: "",
|
|
271
271
|
description: "",
|
|
272
272
|
category: "primitives",
|
|
273
|
-
version: "
|
|
273
|
+
version: "8.0.0",
|
|
274
274
|
bindings: {
|
|
275
275
|
angular: {
|
|
276
276
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -351,7 +351,7 @@ var uni_index_default = {
|
|
|
351
351
|
summary: "",
|
|
352
352
|
description: "",
|
|
353
353
|
category: "feedback",
|
|
354
|
-
version: "
|
|
354
|
+
version: "8.0.0",
|
|
355
355
|
bindings: {
|
|
356
356
|
angular: {
|
|
357
357
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -432,7 +432,7 @@ var uni_index_default = {
|
|
|
432
432
|
summary: "",
|
|
433
433
|
description: "",
|
|
434
434
|
category: "directives",
|
|
435
|
-
version: "
|
|
435
|
+
version: "8.0.0",
|
|
436
436
|
bindings: {
|
|
437
437
|
angular: {
|
|
438
438
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -456,7 +456,7 @@ var uni_index_default = {
|
|
|
456
456
|
summary: "",
|
|
457
457
|
description: "",
|
|
458
458
|
category: "layout",
|
|
459
|
-
version: "
|
|
459
|
+
version: "8.0.0",
|
|
460
460
|
bindings: {
|
|
461
461
|
angular: {
|
|
462
462
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -819,7 +819,7 @@ var uni_index_default = {
|
|
|
819
819
|
summary: "",
|
|
820
820
|
description: "",
|
|
821
821
|
category: "components",
|
|
822
|
-
version: "
|
|
822
|
+
version: "8.0.0",
|
|
823
823
|
bindings: {
|
|
824
824
|
angular: {
|
|
825
825
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -888,7 +888,7 @@ var uni_index_default = {
|
|
|
888
888
|
summary: "",
|
|
889
889
|
description: "",
|
|
890
890
|
category: "primitives",
|
|
891
|
-
version: "
|
|
891
|
+
version: "8.0.0",
|
|
892
892
|
bindings: {
|
|
893
893
|
angular: {
|
|
894
894
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1031,7 +1031,7 @@ var uni_index_default = {
|
|
|
1031
1031
|
summary: "",
|
|
1032
1032
|
description: "",
|
|
1033
1033
|
category: "primitives",
|
|
1034
|
-
version: "
|
|
1034
|
+
version: "8.0.0",
|
|
1035
1035
|
bindings: {
|
|
1036
1036
|
angular: {
|
|
1037
1037
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1063,7 +1063,7 @@ var uni_index_default = {
|
|
|
1063
1063
|
summary: "",
|
|
1064
1064
|
description: "",
|
|
1065
1065
|
category: "layout",
|
|
1066
|
-
version: "
|
|
1066
|
+
version: "8.0.0",
|
|
1067
1067
|
bindings: {
|
|
1068
1068
|
angular: {
|
|
1069
1069
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1108,7 +1108,7 @@ var uni_index_default = {
|
|
|
1108
1108
|
summary: "",
|
|
1109
1109
|
description: "",
|
|
1110
1110
|
category: "layout",
|
|
1111
|
-
version: "
|
|
1111
|
+
version: "8.0.0",
|
|
1112
1112
|
bindings: {
|
|
1113
1113
|
angular: {
|
|
1114
1114
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1132,7 +1132,7 @@ var uni_index_default = {
|
|
|
1132
1132
|
summary: "",
|
|
1133
1133
|
description: "",
|
|
1134
1134
|
category: "layout",
|
|
1135
|
-
version: "
|
|
1135
|
+
version: "8.0.0",
|
|
1136
1136
|
bindings: {
|
|
1137
1137
|
angular: {
|
|
1138
1138
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1173,7 +1173,7 @@ var uni_index_default = {
|
|
|
1173
1173
|
summary: "",
|
|
1174
1174
|
description: "",
|
|
1175
1175
|
category: "layout",
|
|
1176
|
-
version: "
|
|
1176
|
+
version: "8.0.0",
|
|
1177
1177
|
bindings: {
|
|
1178
1178
|
angular: {
|
|
1179
1179
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1228,7 +1228,7 @@ var uni_index_default = {
|
|
|
1228
1228
|
summary: "",
|
|
1229
1229
|
description: "",
|
|
1230
1230
|
category: "forms",
|
|
1231
|
-
version: "
|
|
1231
|
+
version: "8.0.0",
|
|
1232
1232
|
bindings: {
|
|
1233
1233
|
angular: {
|
|
1234
1234
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1365,7 +1365,7 @@ var uni_index_default = {
|
|
|
1365
1365
|
summary: "",
|
|
1366
1366
|
description: "",
|
|
1367
1367
|
category: "feedback",
|
|
1368
|
-
version: "
|
|
1368
|
+
version: "8.0.0",
|
|
1369
1369
|
bindings: {
|
|
1370
1370
|
angular: {
|
|
1371
1371
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1412,7 +1412,7 @@ var uni_index_default = {
|
|
|
1412
1412
|
summary: "",
|
|
1413
1413
|
description: "",
|
|
1414
1414
|
category: "forms",
|
|
1415
|
-
version: "
|
|
1415
|
+
version: "8.0.0",
|
|
1416
1416
|
bindings: {
|
|
1417
1417
|
angular: {
|
|
1418
1418
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1481,7 +1481,7 @@ var uni_index_default = {
|
|
|
1481
1481
|
}
|
|
1482
1482
|
],
|
|
1483
1483
|
guidelines: {
|
|
1484
|
-
whenToUse: 'The Data Search input filters a `UniDatasource` as the user types. With a client-side\n`UniRecordDatasource` it applies a predicate over the record\'s fields; with a\n`UniServerSideDatasource` it sends a filter object to the data loader. Pass `fields` to\nrestrict the search to specific columns. A clear button resets the filter.\nIt pairs with the [Data Table](?path=/docs/components-data-table--
|
|
1484
|
+
whenToUse: 'The Data Search input filters a `UniDatasource` as the user types. With a client-side\n`UniRecordDatasource` it applies a predicate over the record\'s fields; with a\n`UniServerSideDatasource` it sends a filter object to the data loader. Pass `fields` to\nrestrict the search to specific columns. A clear button resets the filter.\nIt pairs with the [Data Table](?path=/docs/components-data-display-data-table--data-table) \u2014 see its\n"With Search" story.',
|
|
1485
1485
|
dos: [],
|
|
1486
1486
|
donts: [],
|
|
1487
1487
|
accessibility: []
|
|
@@ -1495,7 +1495,7 @@ var uni_index_default = {
|
|
|
1495
1495
|
summary: "",
|
|
1496
1496
|
description: "",
|
|
1497
1497
|
category: "data",
|
|
1498
|
-
version: "
|
|
1498
|
+
version: "8.0.0",
|
|
1499
1499
|
bindings: {
|
|
1500
1500
|
angular: {
|
|
1501
1501
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1596,7 +1596,7 @@ var uni_index_default = {
|
|
|
1596
1596
|
summary: "",
|
|
1597
1597
|
description: "",
|
|
1598
1598
|
category: "forms",
|
|
1599
|
-
version: "
|
|
1599
|
+
version: "8.0.0",
|
|
1600
1600
|
bindings: {
|
|
1601
1601
|
angular: {
|
|
1602
1602
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1705,7 +1705,7 @@ var uni_index_default = {
|
|
|
1705
1705
|
}
|
|
1706
1706
|
],
|
|
1707
1707
|
guidelines: {
|
|
1708
|
-
whenToUse: "A themed text input that emits its `change` output only after the user pauses typing\n(400 ms by default) and only when the value actually changed \u2014 a signal-based\ndebounce with no rxjs involved. The live value is exposed as the `value` signal, and\n`clear()` empties the field immediately (cancelling any pending emit).\nIt wears the shared input chrome (color, border, typeface, focus ring) via the input\nbox, and offers `pre-input` / `post-input` attribute slots for adornments plus ARIA\npassthrough inputs (`role`, `ariaExpanded`, `ariaControls`, `ariaActivedescendant`)\nso composite widgets can annotate the real input element.\nUsed by the [Search Input](?path=/docs/components-forms-search-input--
|
|
1708
|
+
whenToUse: "A themed text input that emits its `change` output only after the user pauses typing\n(400 ms by default) and only when the value actually changed \u2014 a signal-based\ndebounce with no rxjs involved. The live value is exposed as the `value` signal, and\n`clear()` empties the field immediately (cancelling any pending emit).\nIt wears the shared input chrome (color, border, typeface, focus ring) via the input\nbox, and offers `pre-input` / `post-input` attribute slots for adornments plus ARIA\npassthrough inputs (`role`, `ariaExpanded`, `ariaControls`, `ariaActivedescendant`)\nso composite widgets can annotate the real input element.\nUsed by the [Search Input](?path=/docs/components-forms-search-input--search-input), which\nprojects its magnifier and clear button through the slots and drives the combobox\nARIA through the passthroughs.",
|
|
1709
1709
|
dos: [],
|
|
1710
1710
|
donts: [],
|
|
1711
1711
|
accessibility: [
|
|
@@ -1722,7 +1722,7 @@ var uni_index_default = {
|
|
|
1722
1722
|
summary: "",
|
|
1723
1723
|
description: "",
|
|
1724
1724
|
category: "feedback",
|
|
1725
|
-
version: "
|
|
1725
|
+
version: "8.0.0",
|
|
1726
1726
|
bindings: {
|
|
1727
1727
|
angular: {
|
|
1728
1728
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1800,7 +1800,7 @@ var uni_index_default = {
|
|
|
1800
1800
|
summary: "",
|
|
1801
1801
|
description: "",
|
|
1802
1802
|
category: "feedback",
|
|
1803
|
-
version: "
|
|
1803
|
+
version: "8.0.0",
|
|
1804
1804
|
bindings: {
|
|
1805
1805
|
angular: {
|
|
1806
1806
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1888,7 +1888,7 @@ var uni_index_default = {
|
|
|
1888
1888
|
summary: "",
|
|
1889
1889
|
description: "",
|
|
1890
1890
|
category: "feedback",
|
|
1891
|
-
version: "
|
|
1891
|
+
version: "8.0.0",
|
|
1892
1892
|
bindings: {
|
|
1893
1893
|
angular: {
|
|
1894
1894
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1912,7 +1912,7 @@ var uni_index_default = {
|
|
|
1912
1912
|
summary: "",
|
|
1913
1913
|
description: "",
|
|
1914
1914
|
category: "layout",
|
|
1915
|
-
version: "
|
|
1915
|
+
version: "8.0.0",
|
|
1916
1916
|
bindings: {
|
|
1917
1917
|
angular: {
|
|
1918
1918
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1968,7 +1968,7 @@ var uni_index_default = {
|
|
|
1968
1968
|
summary: "",
|
|
1969
1969
|
description: "",
|
|
1970
1970
|
category: "directives",
|
|
1971
|
-
version: "
|
|
1971
|
+
version: "8.0.0",
|
|
1972
1972
|
bindings: {
|
|
1973
1973
|
angular: {
|
|
1974
1974
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2000,7 +2000,7 @@ var uni_index_default = {
|
|
|
2000
2000
|
summary: "",
|
|
2001
2001
|
description: "",
|
|
2002
2002
|
category: "components",
|
|
2003
|
-
version: "
|
|
2003
|
+
version: "8.0.0",
|
|
2004
2004
|
bindings: {
|
|
2005
2005
|
angular: {
|
|
2006
2006
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2079,7 +2079,7 @@ var uni_index_default = {
|
|
|
2079
2079
|
summary: "",
|
|
2080
2080
|
description: "",
|
|
2081
2081
|
category: "components",
|
|
2082
|
-
version: "
|
|
2082
|
+
version: "8.0.0",
|
|
2083
2083
|
bindings: {
|
|
2084
2084
|
angular: {
|
|
2085
2085
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2130,6 +2130,34 @@ var uni_index_default = {
|
|
|
2130
2130
|
required: false,
|
|
2131
2131
|
description: ""
|
|
2132
2132
|
},
|
|
2133
|
+
{
|
|
2134
|
+
name: "border",
|
|
2135
|
+
kind: "input",
|
|
2136
|
+
type: "Border | undefined",
|
|
2137
|
+
required: false,
|
|
2138
|
+
description: ""
|
|
2139
|
+
},
|
|
2140
|
+
{
|
|
2141
|
+
name: "borderRadius",
|
|
2142
|
+
kind: "input",
|
|
2143
|
+
type: "Radius | undefined",
|
|
2144
|
+
required: false,
|
|
2145
|
+
description: ""
|
|
2146
|
+
},
|
|
2147
|
+
{
|
|
2148
|
+
name: "shadow",
|
|
2149
|
+
kind: "input",
|
|
2150
|
+
type: "Shadow | undefined",
|
|
2151
|
+
required: false,
|
|
2152
|
+
description: ""
|
|
2153
|
+
},
|
|
2154
|
+
{
|
|
2155
|
+
name: "color",
|
|
2156
|
+
kind: "input",
|
|
2157
|
+
type: "ContainerColorToken | undefined",
|
|
2158
|
+
required: false,
|
|
2159
|
+
description: ""
|
|
2160
|
+
},
|
|
2133
2161
|
{
|
|
2134
2162
|
name: "dropdownShowing",
|
|
2135
2163
|
kind: "output",
|
|
@@ -2168,7 +2196,7 @@ var uni_index_default = {
|
|
|
2168
2196
|
summary: "",
|
|
2169
2197
|
description: "",
|
|
2170
2198
|
category: "layout",
|
|
2171
|
-
version: "
|
|
2199
|
+
version: "8.0.0",
|
|
2172
2200
|
bindings: {
|
|
2173
2201
|
angular: {
|
|
2174
2202
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2181,6 +2209,13 @@ var uni_index_default = {
|
|
|
2181
2209
|
required: false,
|
|
2182
2210
|
default: "true",
|
|
2183
2211
|
description: ""
|
|
2212
|
+
},
|
|
2213
|
+
{
|
|
2214
|
+
name: "transitionSpeed",
|
|
2215
|
+
kind: "input",
|
|
2216
|
+
type: "number",
|
|
2217
|
+
required: false,
|
|
2218
|
+
description: "Exact per-instance duration in seconds. Bypasses size-aware scaling \u2014 an explicit number means the consumer wants that number. Omitted, the duration derives from the `expand` theme options' `transitionSpeed` scaled by content height (see `duration`)."
|
|
2184
2219
|
}
|
|
2185
2220
|
]
|
|
2186
2221
|
}
|
|
@@ -2191,8 +2226,8 @@ var uni_index_default = {
|
|
|
2191
2226
|
framework: "angular",
|
|
2192
2227
|
code: `<!-- Storybook story: Primary -->
|
|
2193
2228
|
<uni-card>
|
|
2194
|
-
<uni-card-header title="Expandable Card"><uni-expand-toggle #toggle /></uni-card-header>
|
|
2195
|
-
<uni-expand [collapsed]="toggle.collapsed()">
|
|
2229
|
+
<uni-card-header title="Expandable Card"><uni-expand-toggle #toggle [transitionSpeed]="expand.duration()" /></uni-card-header>
|
|
2230
|
+
<uni-expand #expand [collapsed]="toggle.collapsed()" [transitionSpeed]="transitionSpeed">
|
|
2196
2231
|
<uni-card-content>
|
|
2197
2232
|
<span uni-text>\${ngContent}</span>
|
|
2198
2233
|
</uni-card-content>
|
|
@@ -2203,6 +2238,30 @@ var uni_index_default = {
|
|
|
2203
2238
|
ngContent: 'Expandable Content',
|
|
2204
2239
|
}
|
|
2205
2240
|
-->`
|
|
2241
|
+
},
|
|
2242
|
+
{
|
|
2243
|
+
title: "Snappy",
|
|
2244
|
+
framework: "angular",
|
|
2245
|
+
code: `<!-- Storybook story: Snappy -->
|
|
2246
|
+
<uni-card>
|
|
2247
|
+
<uni-card-header title="Expandable Card"><uni-expand-toggle #toggle [transitionSpeed]="expand.duration()" /></uni-card-header>
|
|
2248
|
+
<uni-expand #expand [collapsed]="toggle.collapsed()" [transitionSpeed]="transitionSpeed">
|
|
2249
|
+
<uni-card-content>
|
|
2250
|
+
<span uni-text>\${ngContent}</span>
|
|
2251
|
+
</uni-card-content>
|
|
2252
|
+
</uni-expand>
|
|
2253
|
+
</uni-card>
|
|
2254
|
+
<!-- args:
|
|
2255
|
+
{
|
|
2256
|
+
ngContent: 'Reveals in exactly 150ms, regardless of content height.',
|
|
2257
|
+
transitionSpeed: 0.15,
|
|
2258
|
+
}
|
|
2259
|
+
-->`
|
|
2260
|
+
},
|
|
2261
|
+
{
|
|
2262
|
+
title: "Tall",
|
|
2263
|
+
framework: "angular",
|
|
2264
|
+
code: '<!-- Storybook story: Tall -->\n<uni-card>\n<uni-card-header title="Expandable Card"><uni-expand-toggle #toggle [transitionSpeed]="expand.duration()" /></uni-card-header>\n<uni-expand #expand [collapsed]="toggle.collapsed()" [transitionSpeed]="transitionSpeed">\n <uni-card-content>\n <span uni-text>${ngContent}</span>\n </uni-card-content>\n</uni-expand>\n</uni-card>\n<!-- args:\n{\n ngContent: Array.from(\n { length: 12 },\n (_, i) => `Row ${i + 1} of a tall reveal, timed to its height.`,\n ).join(\'<br>\'),\n }\n-->'
|
|
2206
2265
|
}
|
|
2207
2266
|
],
|
|
2208
2267
|
guidelines: {
|
|
@@ -2210,10 +2269,13 @@ var uni_index_default = {
|
|
|
2210
2269
|
dos: [],
|
|
2211
2270
|
donts: [],
|
|
2212
2271
|
accessibility: [
|
|
2213
|
-
"The toggle carries `aria-expanded` and `aria-controls` for its region (wired automatically inside Expand Area)."
|
|
2272
|
+
"The toggle carries `aria-expanded` and `aria-controls` for its region (wired automatically inside Expand Area).",
|
|
2273
|
+
"The reveal is motion-safe (WCAG 2.3.3): under `prefers-reduced-motion` the"
|
|
2214
2274
|
]
|
|
2215
2275
|
},
|
|
2216
|
-
relatedTokens: [
|
|
2276
|
+
relatedTokens: [
|
|
2277
|
+
"expand.behavior.transitionSpeed"
|
|
2278
|
+
]
|
|
2217
2279
|
},
|
|
2218
2280
|
{
|
|
2219
2281
|
id: "expand-area",
|
|
@@ -2222,7 +2284,7 @@ var uni_index_default = {
|
|
|
2222
2284
|
summary: "",
|
|
2223
2285
|
description: "",
|
|
2224
2286
|
category: "layout",
|
|
2225
|
-
version: "
|
|
2287
|
+
version: "8.0.0",
|
|
2226
2288
|
bindings: {
|
|
2227
2289
|
angular: {
|
|
2228
2290
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2293,7 +2355,7 @@ var uni_index_default = {
|
|
|
2293
2355
|
summary: "",
|
|
2294
2356
|
description: "",
|
|
2295
2357
|
category: "forms",
|
|
2296
|
-
version: "
|
|
2358
|
+
version: "8.0.0",
|
|
2297
2359
|
bindings: {
|
|
2298
2360
|
angular: {
|
|
2299
2361
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2313,6 +2375,27 @@ var uni_index_default = {
|
|
|
2313
2375
|
type: "string",
|
|
2314
2376
|
required: false,
|
|
2315
2377
|
description: "Id of the Expand region this toggle controls (see UniExpandComponent.regionId)."
|
|
2378
|
+
},
|
|
2379
|
+
{
|
|
2380
|
+
name: "label",
|
|
2381
|
+
kind: "input",
|
|
2382
|
+
type: "string",
|
|
2383
|
+
required: false,
|
|
2384
|
+
description: "Names the region. Setting it switches the toggle to its labelled shape."
|
|
2385
|
+
},
|
|
2386
|
+
{
|
|
2387
|
+
name: "sublabel",
|
|
2388
|
+
kind: "input",
|
|
2389
|
+
type: "string",
|
|
2390
|
+
required: false,
|
|
2391
|
+
description: 'Muted qualifier beside the label ("for POs & custom orders"). Needs `label`.'
|
|
2392
|
+
},
|
|
2393
|
+
{
|
|
2394
|
+
name: "transitionSpeed",
|
|
2395
|
+
kind: "input",
|
|
2396
|
+
type: "number",
|
|
2397
|
+
required: false,
|
|
2398
|
+
description: "Rotation duration in seconds. Expand Area binds the region's resolved `duration` here so chevron and reveal share one clock even when the region is size-scaled or overridden per instance."
|
|
2316
2399
|
}
|
|
2317
2400
|
]
|
|
2318
2401
|
}
|
|
@@ -2322,13 +2405,31 @@ var uni_index_default = {
|
|
|
2322
2405
|
title: "Primary",
|
|
2323
2406
|
framework: "angular",
|
|
2324
2407
|
code: '<!-- Storybook story: Primary -->\n<uni-expand-toggle [collapsed]="collapsed" #toggle />\n<div>Collapsed: {{ toggle.collapsed() }}</div>\n<!-- args:\n{\n collapsed: true,\n }\n-->'
|
|
2408
|
+
},
|
|
2409
|
+
{
|
|
2410
|
+
title: "Labelled",
|
|
2411
|
+
framework: "angular",
|
|
2412
|
+
code: `<!-- Storybook story: Labelled -->
|
|
2413
|
+
<uni-expand-toggle [collapsed]="collapsed" #toggle />
|
|
2414
|
+
<div>Collapsed: {{ toggle.collapsed() }}</div>
|
|
2415
|
+
<!-- args:
|
|
2416
|
+
{
|
|
2417
|
+
collapsed: true,
|
|
2418
|
+
label: 'Dimensions & Materials',
|
|
2419
|
+
sublabel: 'for POs & custom orders',
|
|
2420
|
+
}
|
|
2421
|
+
-->`
|
|
2325
2422
|
}
|
|
2326
2423
|
],
|
|
2327
2424
|
guidelines: {
|
|
2328
|
-
whenToUse: 'The Expand Toggle is a chevron icon button that controls collapsed/expanded state. It pairs\nwith the [Expand](?path=/docs/components-expand--
|
|
2425
|
+
whenToUse: 'The Expand Toggle is a chevron icon button that controls collapsed/expanded state. It pairs\nwith the [Expand](?path=/docs/components-surfaces-expand--expand) component: bind the toggle\'s\n`collapsed` model to the Expand\'s `collapsed` input to build collapsible sections.\nThe icon rotates 180\xB0 between states and shows an "Expand"/"Collapse" tooltip.\nThe transform is applied to the glyph, not to the component host \u2014 the host is\nthe tooltip\'s anchor, so rotating it would carry the bubble around with it.',
|
|
2329
2426
|
dos: [],
|
|
2330
2427
|
donts: [],
|
|
2331
|
-
accessibility: [
|
|
2428
|
+
accessibility: [
|
|
2429
|
+
"`aria-expanded` is set for you from `collapsed`.",
|
|
2430
|
+
"Pass `ariaControls` the Expand's `regionId` so the trigger points at its",
|
|
2431
|
+
"Rotation is motion-safe \u2014 it does not animate under `prefers-reduced-motion`."
|
|
2432
|
+
]
|
|
2332
2433
|
},
|
|
2333
2434
|
relatedTokens: []
|
|
2334
2435
|
},
|
|
@@ -2339,7 +2440,7 @@ var uni_index_default = {
|
|
|
2339
2440
|
summary: "",
|
|
2340
2441
|
description: "",
|
|
2341
2442
|
category: "forms",
|
|
2342
|
-
version: "
|
|
2443
|
+
version: "8.0.0",
|
|
2343
2444
|
bindings: {
|
|
2344
2445
|
angular: {
|
|
2345
2446
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2497,7 +2598,7 @@ var uni_index_default = {
|
|
|
2497
2598
|
summary: "",
|
|
2498
2599
|
description: "",
|
|
2499
2600
|
category: "layout",
|
|
2500
|
-
version: "
|
|
2601
|
+
version: "8.0.0",
|
|
2501
2602
|
bindings: {
|
|
2502
2603
|
angular: {
|
|
2503
2604
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2594,7 +2695,7 @@ var uni_index_default = {
|
|
|
2594
2695
|
summary: "",
|
|
2595
2696
|
description: "",
|
|
2596
2697
|
category: "layout",
|
|
2597
|
-
version: "
|
|
2698
|
+
version: "8.0.0",
|
|
2598
2699
|
bindings: {
|
|
2599
2700
|
angular: {
|
|
2600
2701
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2626,7 +2727,7 @@ var uni_index_default = {
|
|
|
2626
2727
|
summary: "",
|
|
2627
2728
|
description: "",
|
|
2628
2729
|
category: "primitives",
|
|
2629
|
-
version: "
|
|
2730
|
+
version: "8.0.0",
|
|
2630
2731
|
bindings: {
|
|
2631
2732
|
angular: {
|
|
2632
2733
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2686,7 +2787,7 @@ var uni_index_default = {
|
|
|
2686
2787
|
summary: "",
|
|
2687
2788
|
description: "",
|
|
2688
2789
|
category: "primitives",
|
|
2689
|
-
version: "
|
|
2790
|
+
version: "8.0.0",
|
|
2690
2791
|
bindings: {
|
|
2691
2792
|
angular: {
|
|
2692
2793
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2789,7 +2890,7 @@ var uni_index_default = {
|
|
|
2789
2890
|
summary: "",
|
|
2790
2891
|
description: "",
|
|
2791
2892
|
category: "forms",
|
|
2792
|
-
version: "
|
|
2893
|
+
version: "8.0.0",
|
|
2793
2894
|
bindings: {
|
|
2794
2895
|
angular: {
|
|
2795
2896
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2934,7 +3035,7 @@ var uni_index_default = {
|
|
|
2934
3035
|
summary: "",
|
|
2935
3036
|
description: "",
|
|
2936
3037
|
category: "forms",
|
|
2937
|
-
version: "
|
|
3038
|
+
version: "8.0.0",
|
|
2938
3039
|
bindings: {
|
|
2939
3040
|
angular: {
|
|
2940
3041
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2993,7 +3094,7 @@ var uni_index_default = {
|
|
|
2993
3094
|
}
|
|
2994
3095
|
],
|
|
2995
3096
|
guidelines: {
|
|
2996
|
-
whenToUse: "The Input Box is the themed shell shared by all text-like form controls\n([Input](?path=/docs/components-forms-input--
|
|
3097
|
+
whenToUse: "The Input Box is the themed shell shared by all text-like form controls\n([Input](?path=/docs/components-forms-input--input),\n[Select](?path=/docs/components-forms-select--select), Multi Select Dropdown). It projects any\nnative `input` or `select` element, strips the platform's default styling, and applies the\n`input` component theme options: colors, border, radius, focus outline, and the error and\ndisabled states.\nUse it directly when composing a custom form control that should match the design system's\ninput styling.",
|
|
2997
3098
|
dos: [],
|
|
2998
3099
|
donts: [],
|
|
2999
3100
|
accessibility: []
|
|
@@ -3007,7 +3108,7 @@ var uni_index_default = {
|
|
|
3007
3108
|
summary: "",
|
|
3008
3109
|
description: "",
|
|
3009
3110
|
category: "components",
|
|
3010
|
-
version: "
|
|
3111
|
+
version: "8.0.0",
|
|
3011
3112
|
bindings: {
|
|
3012
3113
|
angular: {
|
|
3013
3114
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -3077,7 +3178,7 @@ var uni_index_default = {
|
|
|
3077
3178
|
summary: "",
|
|
3078
3179
|
description: "",
|
|
3079
3180
|
category: "layout",
|
|
3080
|
-
version: "
|
|
3181
|
+
version: "8.0.0",
|
|
3081
3182
|
bindings: {
|
|
3082
3183
|
angular: {
|
|
3083
3184
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -3133,11 +3234,32 @@ var uni_index_default = {
|
|
|
3133
3234
|
{ label: 'Logout', symbolName: 'logout' },
|
|
3134
3235
|
],
|
|
3135
3236
|
}
|
|
3237
|
+
-->`
|
|
3238
|
+
},
|
|
3239
|
+
{
|
|
3240
|
+
title: "Tones",
|
|
3241
|
+
framework: "angular",
|
|
3242
|
+
code: `<!-- Storybook story: Tones -->
|
|
3243
|
+
<div box-layout color="primary" padding="sm">
|
|
3244
|
+
<uni-menu \${argsToTemplate(props)}>
|
|
3245
|
+
<button text-button variant="ghost" symbolRight="arrow_drop_down">Menu</button>
|
|
3246
|
+
</uni-menu>
|
|
3247
|
+
</div>
|
|
3248
|
+
<!-- args:
|
|
3249
|
+
{
|
|
3250
|
+
menuItems: [
|
|
3251
|
+
{ label: 'Rename', symbolName: 'edit' },
|
|
3252
|
+
{ label: 'Duplicate', symbolName: 'content_copy' },
|
|
3253
|
+
{ label: 'Share', symbolName: 'share', disabled: true },
|
|
3254
|
+
{ divider: true },
|
|
3255
|
+
{ label: 'Delete', symbolName: 'delete', variant: 'warn' },
|
|
3256
|
+
],
|
|
3257
|
+
}
|
|
3136
3258
|
-->`
|
|
3137
3259
|
}
|
|
3138
3260
|
],
|
|
3139
3261
|
guidelines: {
|
|
3140
|
-
whenToUse: "Menus can be linked to any component, but it is recommended to use either the `text-button` or `icon-button` component.\nMenus are populated by creating an array of Menu Items (`MenuItem[]`) and binding it to the `Menu` component.\nActions are optional as the `Menu` component also emits the clicked menu item via the `menuItemClicked` output attribute.\n### Menu Item Interface\n```\nMenuItem
|
|
3262
|
+
whenToUse: "Menus can be linked to any component, but it is recommended to use either the `text-button` or `icon-button` component.\nMenus are populated by creating an array of Menu Items (`MenuItem[]`) and binding it to the `Menu` component.\nActions are optional as the `Menu` component also emits the clicked menu item via the `menuItemClicked` output attribute.\n### Menu Item Interface\nAn item is either a labeled action, a templated action, or a divider:\n```\nMenuItem =\n | { label: string; symbolName?: string; action?: () => void;\n variant?: Variant; disabled?: boolean }\n | { template: TemplateRef<T>; context: T; symbolName?: string;\n action?: () => void; variant?: Variant; disabled?: boolean }\n | { divider: true }\n```\n- `variant` routes through the theme's `menuItem` variants \u2014 e.g. `variant: 'warn'`\n renders the item in the theme's destructive tone.\n- `disabled` items render with the disabled color and are skipped by keyboard\n navigation.\n- `{ divider: true }` renders a `role=\"separator\"` rule styled by the `menu`\n theme options.",
|
|
3141
3263
|
dos: [],
|
|
3142
3264
|
donts: [],
|
|
3143
3265
|
accessibility: [
|
|
@@ -3145,7 +3267,13 @@ var uni_index_default = {
|
|
|
3145
3267
|
"ArrowDown/ArrowUp on the trigger opens onto the first/last item; focus returns to the trigger on close."
|
|
3146
3268
|
]
|
|
3147
3269
|
},
|
|
3148
|
-
relatedTokens: [
|
|
3270
|
+
relatedTokens: [
|
|
3271
|
+
"menu.behavior.minWidth",
|
|
3272
|
+
"menu.behavior.paddingVertical",
|
|
3273
|
+
"menu.behavior.paddingHorizontal",
|
|
3274
|
+
"menu.behavior.dividerBorder",
|
|
3275
|
+
"menu.behavior.dividerSpacing"
|
|
3276
|
+
]
|
|
3149
3277
|
},
|
|
3150
3278
|
{
|
|
3151
3279
|
id: "menu-item",
|
|
@@ -3154,52 +3282,12 @@ var uni_index_default = {
|
|
|
3154
3282
|
summary: "",
|
|
3155
3283
|
description: "",
|
|
3156
3284
|
category: "layout",
|
|
3157
|
-
version: "
|
|
3285
|
+
version: "8.0.0",
|
|
3158
3286
|
bindings: {
|
|
3159
3287
|
angular: {
|
|
3160
3288
|
importPath: "@uni-design-system/uni-angular",
|
|
3161
3289
|
selectorOrTag: "[uni-menu-item], [menu-item]",
|
|
3162
3290
|
api: [
|
|
3163
|
-
{
|
|
3164
|
-
name: "display",
|
|
3165
|
-
kind: "input",
|
|
3166
|
-
type: "OptionalDisplay",
|
|
3167
|
-
required: false,
|
|
3168
|
-
default: "'flex'",
|
|
3169
|
-
description: ""
|
|
3170
|
-
},
|
|
3171
|
-
{
|
|
3172
|
-
name: "flexDirection",
|
|
3173
|
-
kind: "input",
|
|
3174
|
-
type: "OptionalFlexDirection",
|
|
3175
|
-
required: false,
|
|
3176
|
-
default: "'row'",
|
|
3177
|
-
description: ""
|
|
3178
|
-
},
|
|
3179
|
-
{
|
|
3180
|
-
name: "alignItems",
|
|
3181
|
-
kind: "input",
|
|
3182
|
-
type: "OptionalAlignItems",
|
|
3183
|
-
required: false,
|
|
3184
|
-
default: "'center'",
|
|
3185
|
-
description: ""
|
|
3186
|
-
},
|
|
3187
|
-
{
|
|
3188
|
-
name: "paddingHorizontal",
|
|
3189
|
-
kind: "input",
|
|
3190
|
-
type: "OptionalSize",
|
|
3191
|
-
required: false,
|
|
3192
|
-
default: "'md'",
|
|
3193
|
-
description: ""
|
|
3194
|
-
},
|
|
3195
|
-
{
|
|
3196
|
-
name: "gap",
|
|
3197
|
-
kind: "input",
|
|
3198
|
-
type: "OptionalSize",
|
|
3199
|
-
required: false,
|
|
3200
|
-
default: "'md'",
|
|
3201
|
-
description: ""
|
|
3202
|
-
},
|
|
3203
3291
|
{
|
|
3204
3292
|
name: "label",
|
|
3205
3293
|
kind: "input",
|
|
@@ -3235,13 +3323,19 @@ var uni_index_default = {
|
|
|
3235
3323
|
required: false,
|
|
3236
3324
|
description: ""
|
|
3237
3325
|
},
|
|
3326
|
+
{
|
|
3327
|
+
name: "variant",
|
|
3328
|
+
kind: "input",
|
|
3329
|
+
type: "Variant | undefined",
|
|
3330
|
+
required: false,
|
|
3331
|
+
description: "Tone routed through the theme's `menuItem` variants (e.g. 'warn')."
|
|
3332
|
+
},
|
|
3238
3333
|
{
|
|
3239
3334
|
name: "hoverColor",
|
|
3240
3335
|
kind: "input",
|
|
3241
|
-
type: "ContainerColorToken",
|
|
3336
|
+
type: "ContainerColorToken | undefined",
|
|
3242
3337
|
required: false,
|
|
3243
|
-
|
|
3244
|
-
description: ""
|
|
3338
|
+
description: "Per-instance override of the theme's `menuItem.hoverColor`."
|
|
3245
3339
|
},
|
|
3246
3340
|
{
|
|
3247
3341
|
name: "disabled",
|
|
@@ -3270,7 +3364,7 @@ var uni_index_default = {
|
|
|
3270
3364
|
summary: "",
|
|
3271
3365
|
description: "",
|
|
3272
3366
|
category: "forms",
|
|
3273
|
-
version: "
|
|
3367
|
+
version: "8.0.0",
|
|
3274
3368
|
bindings: {
|
|
3275
3369
|
angular: {
|
|
3276
3370
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -3358,7 +3452,7 @@ var uni_index_default = {
|
|
|
3358
3452
|
summary: "",
|
|
3359
3453
|
description: "",
|
|
3360
3454
|
category: "forms",
|
|
3361
|
-
version: "
|
|
3455
|
+
version: "8.0.0",
|
|
3362
3456
|
bindings: {
|
|
3363
3457
|
angular: {
|
|
3364
3458
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -3433,6 +3527,21 @@ var uni_index_default = {
|
|
|
3433
3527
|
required: false,
|
|
3434
3528
|
default: "''",
|
|
3435
3529
|
description: ""
|
|
3530
|
+
},
|
|
3531
|
+
{
|
|
3532
|
+
name: "label",
|
|
3533
|
+
kind: "input",
|
|
3534
|
+
type: "string",
|
|
3535
|
+
required: false,
|
|
3536
|
+
description: 'What the field is for, e.g. "Fruits". Rendered visually hidden inside the trigger so its accessible name reads "Fruits, Apple, Pear" \u2014 without it a screen reader announces only the current selection, with no clue which field it belongs to.'
|
|
3537
|
+
},
|
|
3538
|
+
{
|
|
3539
|
+
name: "debounceTime",
|
|
3540
|
+
kind: "input",
|
|
3541
|
+
type: "number",
|
|
3542
|
+
required: false,
|
|
3543
|
+
default: "200",
|
|
3544
|
+
description: "Debounce for the filter box, matching the library's input debounce."
|
|
3436
3545
|
}
|
|
3437
3546
|
]
|
|
3438
3547
|
}
|
|
@@ -3493,7 +3602,7 @@ var uni_index_default = {
|
|
|
3493
3602
|
summary: "",
|
|
3494
3603
|
description: "",
|
|
3495
3604
|
category: "feedback",
|
|
3496
|
-
version: "
|
|
3605
|
+
version: "8.0.0",
|
|
3497
3606
|
bindings: {
|
|
3498
3607
|
angular: {
|
|
3499
3608
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -3737,7 +3846,7 @@ var uni_index_default = {
|
|
|
3737
3846
|
summary: "",
|
|
3738
3847
|
description: "",
|
|
3739
3848
|
category: "feedback",
|
|
3740
|
-
version: "
|
|
3849
|
+
version: "8.0.0",
|
|
3741
3850
|
bindings: {
|
|
3742
3851
|
angular: {
|
|
3743
3852
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -3761,7 +3870,7 @@ var uni_index_default = {
|
|
|
3761
3870
|
summary: "",
|
|
3762
3871
|
description: "",
|
|
3763
3872
|
category: "data",
|
|
3764
|
-
version: "
|
|
3873
|
+
version: "8.0.0",
|
|
3765
3874
|
bindings: {
|
|
3766
3875
|
angular: {
|
|
3767
3876
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -3821,7 +3930,7 @@ var uni_index_default = {
|
|
|
3821
3930
|
}
|
|
3822
3931
|
],
|
|
3823
3932
|
guidelines: {
|
|
3824
|
-
whenToUse: "The Paginator drives page navigation for any `UniDatasource`: first/previous/next/last\nbuttons, truncated page numbers, an editable page size, and a page jumper. Each section can\nbe toggled independently, so it can render as a full control bar or a minimal pager \u2014 the\n[Data Table](?path=/docs/components-data-table--
|
|
3933
|
+
whenToUse: "The Paginator drives page navigation for any `UniDatasource`: first/previous/next/last\nbuttons, truncated page numbers, an editable page size, and a page jumper. Each section can\nbe toggled independently, so it can render as a full control bar or a minimal pager \u2014 the\n[Data Table](?path=/docs/components-data-display-data-table--data-table) stories use one paginator in the header\nfor page size and another in the footer for page numbers.",
|
|
3825
3934
|
dos: [],
|
|
3826
3935
|
donts: [],
|
|
3827
3936
|
accessibility: [
|
|
@@ -3846,7 +3955,7 @@ var uni_index_default = {
|
|
|
3846
3955
|
summary: "",
|
|
3847
3956
|
description: "",
|
|
3848
3957
|
category: "layout",
|
|
3849
|
-
version: "
|
|
3958
|
+
version: "8.0.0",
|
|
3850
3959
|
bindings: {
|
|
3851
3960
|
angular: {
|
|
3852
3961
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -3895,7 +4004,7 @@ var uni_index_default = {
|
|
|
3895
4004
|
summary: "",
|
|
3896
4005
|
description: "",
|
|
3897
4006
|
category: "feedback",
|
|
3898
|
-
version: "
|
|
4007
|
+
version: "8.0.0",
|
|
3899
4008
|
bindings: {
|
|
3900
4009
|
angular: {
|
|
3901
4010
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -3959,7 +4068,7 @@ var uni_index_default = {
|
|
|
3959
4068
|
summary: "",
|
|
3960
4069
|
description: "",
|
|
3961
4070
|
category: "feedback",
|
|
3962
|
-
version: "
|
|
4071
|
+
version: "8.0.0",
|
|
3963
4072
|
bindings: {
|
|
3964
4073
|
angular: {
|
|
3965
4074
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4015,7 +4124,7 @@ var uni_index_default = {
|
|
|
4015
4124
|
summary: "",
|
|
4016
4125
|
description: "",
|
|
4017
4126
|
category: "forms",
|
|
4018
|
-
version: "
|
|
4127
|
+
version: "8.0.0",
|
|
4019
4128
|
bindings: {
|
|
4020
4129
|
angular: {
|
|
4021
4130
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4166,7 +4275,7 @@ var uni_index_default = {
|
|
|
4166
4275
|
summary: "",
|
|
4167
4276
|
description: "",
|
|
4168
4277
|
category: "directives",
|
|
4169
|
-
version: "
|
|
4278
|
+
version: "8.0.0",
|
|
4170
4279
|
bindings: {
|
|
4171
4280
|
angular: {
|
|
4172
4281
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4190,7 +4299,7 @@ var uni_index_default = {
|
|
|
4190
4299
|
summary: "",
|
|
4191
4300
|
description: "",
|
|
4192
4301
|
category: "layout",
|
|
4193
|
-
version: "
|
|
4302
|
+
version: "8.0.0",
|
|
4194
4303
|
bindings: {
|
|
4195
4304
|
angular: {
|
|
4196
4305
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4245,7 +4354,7 @@ var uni_index_default = {
|
|
|
4245
4354
|
summary: "",
|
|
4246
4355
|
description: "",
|
|
4247
4356
|
category: "layout",
|
|
4248
|
-
version: "
|
|
4357
|
+
version: "8.0.0",
|
|
4249
4358
|
bindings: {
|
|
4250
4359
|
angular: {
|
|
4251
4360
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4392,7 +4501,7 @@ var uni_index_default = {
|
|
|
4392
4501
|
summary: "",
|
|
4393
4502
|
description: "",
|
|
4394
4503
|
category: "forms",
|
|
4395
|
-
version: "
|
|
4504
|
+
version: "8.0.0",
|
|
4396
4505
|
bindings: {
|
|
4397
4506
|
angular: {
|
|
4398
4507
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4503,7 +4612,7 @@ var uni_index_default = {
|
|
|
4503
4612
|
summary: "",
|
|
4504
4613
|
description: "",
|
|
4505
4614
|
category: "forms",
|
|
4506
|
-
version: "
|
|
4615
|
+
version: "8.0.0",
|
|
4507
4616
|
bindings: {
|
|
4508
4617
|
angular: {
|
|
4509
4618
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4639,7 +4748,7 @@ var uni_index_default = {
|
|
|
4639
4748
|
summary: "",
|
|
4640
4749
|
description: "",
|
|
4641
4750
|
category: "components",
|
|
4642
|
-
version: "
|
|
4751
|
+
version: "8.0.0",
|
|
4643
4752
|
bindings: {
|
|
4644
4753
|
angular: {
|
|
4645
4754
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4735,7 +4844,7 @@ var uni_index_default = {
|
|
|
4735
4844
|
summary: "",
|
|
4736
4845
|
description: "",
|
|
4737
4846
|
category: "forms",
|
|
4738
|
-
version: "
|
|
4847
|
+
version: "8.0.0",
|
|
4739
4848
|
bindings: {
|
|
4740
4849
|
angular: {
|
|
4741
4850
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4872,7 +4981,7 @@ var uni_index_default = {
|
|
|
4872
4981
|
summary: "",
|
|
4873
4982
|
description: "",
|
|
4874
4983
|
category: "feedback",
|
|
4875
|
-
version: "
|
|
4984
|
+
version: "8.0.0",
|
|
4876
4985
|
bindings: {
|
|
4877
4986
|
angular: {
|
|
4878
4987
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4964,7 +5073,7 @@ var uni_index_default = {
|
|
|
4964
5073
|
summary: "",
|
|
4965
5074
|
description: "",
|
|
4966
5075
|
category: "data",
|
|
4967
|
-
version: "
|
|
5076
|
+
version: "8.0.0",
|
|
4968
5077
|
bindings: {
|
|
4969
5078
|
angular: {
|
|
4970
5079
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5009,7 +5118,7 @@ var uni_index_default = {
|
|
|
5009
5118
|
}
|
|
5010
5119
|
],
|
|
5011
5120
|
guidelines: {
|
|
5012
|
-
whenToUse: "The Sort Header wraps a column heading and cycles the bound datasource's sort state\n(ascending \u2192 descending \u2192 unsorted) when clicked. An animated arrow indicates the current\nsort direction. It is used by the [Data Table](?path=/docs/components-data-table--
|
|
5121
|
+
whenToUse: "The Sort Header wraps a column heading and cycles the bound datasource's sort state\n(ascending \u2192 descending \u2192 unsorted) when clicked. An animated arrow indicates the current\nsort direction. It is used by the [Data Table](?path=/docs/components-data-display-data-table--data-table)\nfor sortable columns, but can wrap any header content bound to a `UniDatasource`.",
|
|
5013
5122
|
dos: [],
|
|
5014
5123
|
donts: [],
|
|
5015
5124
|
accessibility: []
|
|
@@ -5023,7 +5132,7 @@ var uni_index_default = {
|
|
|
5023
5132
|
summary: "",
|
|
5024
5133
|
description: "",
|
|
5025
5134
|
category: "layout",
|
|
5026
|
-
version: "
|
|
5135
|
+
version: "8.0.0",
|
|
5027
5136
|
bindings: {
|
|
5028
5137
|
angular: {
|
|
5029
5138
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5078,7 +5187,7 @@ var uni_index_default = {
|
|
|
5078
5187
|
summary: "",
|
|
5079
5188
|
description: "",
|
|
5080
5189
|
category: "components",
|
|
5081
|
-
version: "
|
|
5190
|
+
version: "8.0.0",
|
|
5082
5191
|
bindings: {
|
|
5083
5192
|
angular: {
|
|
5084
5193
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5180,7 +5289,7 @@ var uni_index_default = {
|
|
|
5180
5289
|
summary: "",
|
|
5181
5290
|
description: "",
|
|
5182
5291
|
category: "primitives",
|
|
5183
|
-
version: "
|
|
5292
|
+
version: "8.0.0",
|
|
5184
5293
|
bindings: {
|
|
5185
5294
|
angular: {
|
|
5186
5295
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5253,7 +5362,7 @@ var uni_index_default = {
|
|
|
5253
5362
|
summary: "",
|
|
5254
5363
|
description: "",
|
|
5255
5364
|
category: "components",
|
|
5256
|
-
version: "
|
|
5365
|
+
version: "8.0.0",
|
|
5257
5366
|
bindings: {
|
|
5258
5367
|
angular: {
|
|
5259
5368
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5293,7 +5402,7 @@ var uni_index_default = {
|
|
|
5293
5402
|
summary: "",
|
|
5294
5403
|
description: "",
|
|
5295
5404
|
category: "components",
|
|
5296
|
-
version: "
|
|
5405
|
+
version: "8.0.0",
|
|
5297
5406
|
bindings: {
|
|
5298
5407
|
angular: {
|
|
5299
5408
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5357,12 +5466,28 @@ var uni_index_default = {
|
|
|
5357
5466
|
summary: "",
|
|
5358
5467
|
description: "",
|
|
5359
5468
|
category: "data",
|
|
5360
|
-
version: "
|
|
5469
|
+
version: "8.0.0",
|
|
5361
5470
|
bindings: {
|
|
5362
5471
|
angular: {
|
|
5363
5472
|
importPath: "@uni-design-system/uni-angular",
|
|
5364
5473
|
selectorOrTag: "uni-tag",
|
|
5365
5474
|
api: [
|
|
5475
|
+
{
|
|
5476
|
+
name: "size",
|
|
5477
|
+
kind: "input",
|
|
5478
|
+
type: "Size",
|
|
5479
|
+
required: false,
|
|
5480
|
+
default: "'md'",
|
|
5481
|
+
description: ""
|
|
5482
|
+
},
|
|
5483
|
+
{
|
|
5484
|
+
name: "tone",
|
|
5485
|
+
kind: "input",
|
|
5486
|
+
type: "TagTone",
|
|
5487
|
+
required: false,
|
|
5488
|
+
default: "'soft'",
|
|
5489
|
+
description: ""
|
|
5490
|
+
},
|
|
5366
5491
|
{
|
|
5367
5492
|
name: "label",
|
|
5368
5493
|
kind: "input",
|
|
@@ -5378,120 +5503,716 @@ var uni_index_default = {
|
|
|
5378
5503
|
description: ""
|
|
5379
5504
|
},
|
|
5380
5505
|
{
|
|
5381
|
-
name: "
|
|
5382
|
-
kind: "
|
|
5506
|
+
name: "maxWidth",
|
|
5507
|
+
kind: "input",
|
|
5383
5508
|
type: "string | number",
|
|
5384
5509
|
required: false,
|
|
5510
|
+
description: "Truncation budget, e.g. `'14ch'`. A number is treated as px."
|
|
5511
|
+
},
|
|
5512
|
+
{
|
|
5513
|
+
name: "avatarSrc",
|
|
5514
|
+
kind: "input",
|
|
5515
|
+
type: "string",
|
|
5516
|
+
required: false,
|
|
5385
5517
|
description: ""
|
|
5386
|
-
}
|
|
5387
|
-
]
|
|
5388
|
-
}
|
|
5389
|
-
},
|
|
5390
|
-
examples: [
|
|
5391
|
-
{
|
|
5392
|
-
title: "Primary",
|
|
5393
|
-
framework: "angular",
|
|
5394
|
-
code: "<!-- Storybook story: Primary -->\n<!-- args:\n{\n label: 'Primary Tag',\n value: '1',\n }\n-->"
|
|
5395
|
-
},
|
|
5396
|
-
{
|
|
5397
|
-
title: "Numeric Value",
|
|
5398
|
-
framework: "angular",
|
|
5399
|
-
code: "<!-- Storybook story: Numeric Value -->\n<!-- args:\n{\n label: 'Numeric Tag',\n value: 42,\n }\n-->"
|
|
5400
|
-
},
|
|
5401
|
-
{
|
|
5402
|
-
title: "Long Label",
|
|
5403
|
-
framework: "angular",
|
|
5404
|
-
code: "<!-- Storybook story: Long Label -->\n<!-- args:\n{\n label: 'This is a very long tag label that might need truncation',\n value: 'long',\n }\n-->"
|
|
5405
|
-
},
|
|
5406
|
-
{
|
|
5407
|
-
title: "Without Value",
|
|
5408
|
-
framework: "angular",
|
|
5409
|
-
code: "<!-- Storybook story: Without Value -->\n<!-- args:\n{\n label: 'Tag without value',\n }\n-->"
|
|
5410
|
-
}
|
|
5411
|
-
],
|
|
5412
|
-
guidelines: {
|
|
5413
|
-
whenToUse: "Compact label for classifying content \u2014 categories, states, filters. Tags are\ndisplay-only chips that wear the active variant's colors; for removable,\ntype-to-add chips (a future input variant), see the roadmap.",
|
|
5414
|
-
dos: [],
|
|
5415
|
-
donts: [],
|
|
5416
|
-
accessibility: []
|
|
5417
|
-
},
|
|
5418
|
-
relatedTokens: []
|
|
5419
|
-
},
|
|
5420
|
-
{
|
|
5421
|
-
id: "text",
|
|
5422
|
-
name: "Text",
|
|
5423
|
-
status: "stable",
|
|
5424
|
-
summary: "",
|
|
5425
|
-
description: "",
|
|
5426
|
-
category: "primitives",
|
|
5427
|
-
version: "7.1.0",
|
|
5428
|
-
bindings: {
|
|
5429
|
-
angular: {
|
|
5430
|
-
importPath: "@uni-design-system/uni-angular",
|
|
5431
|
-
selectorOrTag: "[uni-text]",
|
|
5432
|
-
api: [
|
|
5518
|
+
},
|
|
5433
5519
|
{
|
|
5434
|
-
name: "
|
|
5520
|
+
name: "avatarName",
|
|
5435
5521
|
kind: "input",
|
|
5436
|
-
type: "
|
|
5522
|
+
type: "string",
|
|
5437
5523
|
required: false,
|
|
5438
|
-
|
|
5439
|
-
description: 'Typeface via the selector attribute: `uni-text="headline-large"`.'
|
|
5524
|
+
description: "Initials fallback when `avatarSrc` is absent or fails to load."
|
|
5440
5525
|
},
|
|
5441
5526
|
{
|
|
5442
|
-
name: "
|
|
5527
|
+
name: "iconName",
|
|
5443
5528
|
kind: "input",
|
|
5444
|
-
type: "
|
|
5529
|
+
type: "IconName",
|
|
5445
5530
|
required: false,
|
|
5446
|
-
|
|
5447
|
-
description: "Explicit typeface; the attribute value wins when both are set."
|
|
5531
|
+
description: "Theme icon primitive \u2014 the preferred glyph path."
|
|
5448
5532
|
},
|
|
5449
5533
|
{
|
|
5450
|
-
name: "
|
|
5534
|
+
name: "symbolName",
|
|
5451
5535
|
kind: "input",
|
|
5452
|
-
type: "
|
|
5536
|
+
type: "string",
|
|
5453
5537
|
required: false,
|
|
5454
|
-
description: ""
|
|
5538
|
+
description: "Material Symbols ligature, for glyphs the theme's icon set doesn't carry."
|
|
5455
5539
|
},
|
|
5456
5540
|
{
|
|
5457
|
-
name: "
|
|
5541
|
+
name: "dot",
|
|
5458
5542
|
kind: "input",
|
|
5459
|
-
type: "
|
|
5543
|
+
type: "boolean",
|
|
5460
5544
|
required: false,
|
|
5461
|
-
|
|
5545
|
+
default: "false",
|
|
5546
|
+
description: "Status dot in the current colour."
|
|
5462
5547
|
},
|
|
5463
5548
|
{
|
|
5464
|
-
name: "
|
|
5549
|
+
name: "removable",
|
|
5465
5550
|
kind: "input",
|
|
5466
|
-
type: "
|
|
5551
|
+
type: "boolean",
|
|
5467
5552
|
required: false,
|
|
5553
|
+
default: "false",
|
|
5468
5554
|
description: ""
|
|
5469
5555
|
},
|
|
5470
5556
|
{
|
|
5471
|
-
name: "
|
|
5557
|
+
name: "interactive",
|
|
5472
5558
|
kind: "input",
|
|
5473
5559
|
type: "boolean",
|
|
5474
5560
|
required: false,
|
|
5561
|
+
default: "false",
|
|
5475
5562
|
description: ""
|
|
5476
5563
|
},
|
|
5477
5564
|
{
|
|
5478
|
-
name: "
|
|
5565
|
+
name: "selected",
|
|
5479
5566
|
kind: "input",
|
|
5480
|
-
type: "
|
|
5567
|
+
type: "boolean | undefined",
|
|
5568
|
+
required: false,
|
|
5569
|
+
default: "undefined",
|
|
5570
|
+
description: 'Toggle state. Left undefined the chip carries no `aria-pressed` at all \u2014 an interactive chip is not always a toggle (inside a tag input it is focusable so it can be removed), and announcing "not pressed" on a recipient chip is worse than announcing nothing.'
|
|
5571
|
+
},
|
|
5572
|
+
{
|
|
5573
|
+
name: "invalid",
|
|
5574
|
+
kind: "input",
|
|
5575
|
+
type: "boolean",
|
|
5481
5576
|
required: false,
|
|
5577
|
+
default: "false",
|
|
5482
5578
|
description: ""
|
|
5483
5579
|
},
|
|
5484
5580
|
{
|
|
5485
|
-
name: "
|
|
5581
|
+
name: "disabled",
|
|
5486
5582
|
kind: "input",
|
|
5487
5583
|
type: "boolean",
|
|
5488
5584
|
required: false,
|
|
5489
5585
|
default: "false",
|
|
5490
5586
|
description: ""
|
|
5491
|
-
}
|
|
5492
|
-
|
|
5493
|
-
|
|
5494
|
-
|
|
5587
|
+
},
|
|
5588
|
+
{
|
|
5589
|
+
name: "removeLabel",
|
|
5590
|
+
kind: "input",
|
|
5591
|
+
type: "string",
|
|
5592
|
+
required: false,
|
|
5593
|
+
description: "Accessible-name override for the remove button."
|
|
5594
|
+
},
|
|
5595
|
+
{
|
|
5596
|
+
name: "controlTabIndex",
|
|
5597
|
+
kind: "input",
|
|
5598
|
+
type: "number",
|
|
5599
|
+
required: false,
|
|
5600
|
+
default: "0",
|
|
5601
|
+
description: "Tab position of the chip's controls. A composite that owns its own roving focus \u2014 `uni-tag-input`, where the whole field is one tab stop \u2014 passes `-1` so Tab does not walk through every chip to reach the next control."
|
|
5602
|
+
},
|
|
5603
|
+
{
|
|
5604
|
+
name: "removed",
|
|
5605
|
+
kind: "output",
|
|
5606
|
+
type: "UniTagValue",
|
|
5607
|
+
required: false,
|
|
5608
|
+
description: ""
|
|
5609
|
+
},
|
|
5610
|
+
{
|
|
5611
|
+
name: "activated",
|
|
5612
|
+
kind: "output",
|
|
5613
|
+
type: "UniTagValue",
|
|
5614
|
+
required: false,
|
|
5615
|
+
description: ""
|
|
5616
|
+
}
|
|
5617
|
+
]
|
|
5618
|
+
}
|
|
5619
|
+
},
|
|
5620
|
+
examples: [
|
|
5621
|
+
{
|
|
5622
|
+
title: "Primary",
|
|
5623
|
+
framework: "angular",
|
|
5624
|
+
code: `<!-- Storybook story: Primary -->
|
|
5625
|
+
<div box-layout gap="sm">
|
|
5626
|
+
@for (tone of ['soft', 'solid', 'outline']; track tone) {
|
|
5627
|
+
<div row-layout gap="sm" alignItems="center" style="margin-bottom:8px">
|
|
5628
|
+
@for (variant of ['primary', 'secondary', 'tertiary', 'warn', 'success', 'ghost']; track variant) {
|
|
5629
|
+
<uni-tag [variant]="variant" [tone]="tone" [label]="variant" />
|
|
5630
|
+
}
|
|
5631
|
+
</div>
|
|
5632
|
+
}
|
|
5633
|
+
</div>
|
|
5634
|
+
<!-- args:
|
|
5635
|
+
{ removable: true }
|
|
5636
|
+
-->`
|
|
5637
|
+
},
|
|
5638
|
+
{
|
|
5639
|
+
title: "Variants And Tones",
|
|
5640
|
+
framework: "angular",
|
|
5641
|
+
code: `<!-- Storybook story: Variants And Tones -->
|
|
5642
|
+
<div box-layout gap="sm">
|
|
5643
|
+
@for (tone of ['soft', 'solid', 'outline']; track tone) {
|
|
5644
|
+
<div row-layout gap="sm" alignItems="center" style="margin-bottom:8px">
|
|
5645
|
+
@for (variant of ['primary', 'secondary', 'tertiary', 'warn', 'success', 'ghost']; track variant) {
|
|
5646
|
+
<uni-tag [variant]="variant" [tone]="tone" [label]="variant" />
|
|
5647
|
+
}
|
|
5648
|
+
</div>
|
|
5649
|
+
}
|
|
5650
|
+
</div>
|
|
5651
|
+
<!-- args:
|
|
5652
|
+
{ removable: true }
|
|
5653
|
+
-->`
|
|
5654
|
+
},
|
|
5655
|
+
{
|
|
5656
|
+
title: "Sizes",
|
|
5657
|
+
framework: "angular",
|
|
5658
|
+
code: `<!-- Storybook story: Sizes -->
|
|
5659
|
+
<div box-layout gap="sm">
|
|
5660
|
+
@for (tone of ['soft', 'solid', 'outline']; track tone) {
|
|
5661
|
+
<div row-layout gap="sm" alignItems="center" style="margin-bottom:8px">
|
|
5662
|
+
@for (variant of ['primary', 'secondary', 'tertiary', 'warn', 'success', 'ghost']; track variant) {
|
|
5663
|
+
<uni-tag [variant]="variant" [tone]="tone" [label]="variant" />
|
|
5664
|
+
}
|
|
5665
|
+
</div>
|
|
5666
|
+
}
|
|
5667
|
+
</div>
|
|
5668
|
+
<!-- args:
|
|
5669
|
+
{ removable: true }
|
|
5670
|
+
-->`
|
|
5671
|
+
},
|
|
5672
|
+
{
|
|
5673
|
+
title: "Removable",
|
|
5674
|
+
framework: "angular",
|
|
5675
|
+
code: `<!-- Storybook story: Removable -->
|
|
5676
|
+
<div box-layout gap="sm">
|
|
5677
|
+
@for (tone of ['soft', 'solid', 'outline']; track tone) {
|
|
5678
|
+
<div row-layout gap="sm" alignItems="center" style="margin-bottom:8px">
|
|
5679
|
+
@for (variant of ['primary', 'secondary', 'tertiary', 'warn', 'success', 'ghost']; track variant) {
|
|
5680
|
+
<uni-tag [variant]="variant" [tone]="tone" [label]="variant" />
|
|
5681
|
+
}
|
|
5682
|
+
</div>
|
|
5683
|
+
}
|
|
5684
|
+
</div>
|
|
5685
|
+
<!-- args:
|
|
5686
|
+
{ removable: true }
|
|
5687
|
+
-->`
|
|
5688
|
+
},
|
|
5689
|
+
{
|
|
5690
|
+
title: "Interactive",
|
|
5691
|
+
framework: "angular",
|
|
5692
|
+
code: `<!-- Storybook story: Interactive -->
|
|
5693
|
+
<div box-layout gap="sm">
|
|
5694
|
+
@for (tone of ['soft', 'solid', 'outline']; track tone) {
|
|
5695
|
+
<div row-layout gap="sm" alignItems="center" style="margin-bottom:8px">
|
|
5696
|
+
@for (variant of ['primary', 'secondary', 'tertiary', 'warn', 'success', 'ghost']; track variant) {
|
|
5697
|
+
<uni-tag [variant]="variant" [tone]="tone" [label]="variant" />
|
|
5698
|
+
}
|
|
5699
|
+
</div>
|
|
5700
|
+
}
|
|
5701
|
+
</div>
|
|
5702
|
+
<!-- args:
|
|
5703
|
+
{ interactive: true, removable: true, selected: false }
|
|
5704
|
+
-->`
|
|
5705
|
+
},
|
|
5706
|
+
{
|
|
5707
|
+
title: "Selected",
|
|
5708
|
+
framework: "angular",
|
|
5709
|
+
code: `<!-- Storybook story: Selected -->
|
|
5710
|
+
<div box-layout gap="sm">
|
|
5711
|
+
@for (tone of ['soft', 'solid', 'outline']; track tone) {
|
|
5712
|
+
<div row-layout gap="sm" alignItems="center" style="margin-bottom:8px">
|
|
5713
|
+
@for (variant of ['primary', 'secondary', 'tertiary', 'warn', 'success', 'ghost']; track variant) {
|
|
5714
|
+
<uni-tag [variant]="variant" [tone]="tone" [label]="variant" />
|
|
5715
|
+
}
|
|
5716
|
+
</div>
|
|
5717
|
+
}
|
|
5718
|
+
</div>
|
|
5719
|
+
<!-- args:
|
|
5720
|
+
{ interactive: true, selected: true, tone: 'solid' }
|
|
5721
|
+
-->`
|
|
5722
|
+
},
|
|
5723
|
+
{
|
|
5724
|
+
title: "Lead Elements",
|
|
5725
|
+
framework: "angular",
|
|
5726
|
+
code: `<!-- Storybook story: Lead Elements -->
|
|
5727
|
+
<div box-layout gap="sm">
|
|
5728
|
+
@for (tone of ['soft', 'solid', 'outline']; track tone) {
|
|
5729
|
+
<div row-layout gap="sm" alignItems="center" style="margin-bottom:8px">
|
|
5730
|
+
@for (variant of ['primary', 'secondary', 'tertiary', 'warn', 'success', 'ghost']; track variant) {
|
|
5731
|
+
<uni-tag [variant]="variant" [tone]="tone" [label]="variant" />
|
|
5732
|
+
}
|
|
5733
|
+
</div>
|
|
5734
|
+
}
|
|
5735
|
+
</div>
|
|
5736
|
+
<!-- args:
|
|
5737
|
+
{ label: 'nope@@x', invalid: true, removable: true, variant: 'warn' }
|
|
5738
|
+
-->`
|
|
5739
|
+
},
|
|
5740
|
+
{
|
|
5741
|
+
title: "Invalid",
|
|
5742
|
+
framework: "angular",
|
|
5743
|
+
code: `<!-- Storybook story: Invalid -->
|
|
5744
|
+
<div box-layout gap="sm">
|
|
5745
|
+
@for (tone of ['soft', 'solid', 'outline']; track tone) {
|
|
5746
|
+
<div row-layout gap="sm" alignItems="center" style="margin-bottom:8px">
|
|
5747
|
+
@for (variant of ['primary', 'secondary', 'tertiary', 'warn', 'success', 'ghost']; track variant) {
|
|
5748
|
+
<uni-tag [variant]="variant" [tone]="tone" [label]="variant" />
|
|
5749
|
+
}
|
|
5750
|
+
</div>
|
|
5751
|
+
}
|
|
5752
|
+
</div>
|
|
5753
|
+
<!-- args:
|
|
5754
|
+
{ label: 'nope@@x', invalid: true, removable: true, variant: 'warn' }
|
|
5755
|
+
-->`
|
|
5756
|
+
},
|
|
5757
|
+
{
|
|
5758
|
+
title: "Disabled",
|
|
5759
|
+
framework: "angular",
|
|
5760
|
+
code: `<!-- Storybook story: Disabled -->
|
|
5761
|
+
<div box-layout gap="sm">
|
|
5762
|
+
@for (tone of ['soft', 'solid', 'outline']; track tone) {
|
|
5763
|
+
<div row-layout gap="sm" alignItems="center" style="margin-bottom:8px">
|
|
5764
|
+
@for (variant of ['primary', 'secondary', 'tertiary', 'warn', 'success', 'ghost']; track variant) {
|
|
5765
|
+
<uni-tag [variant]="variant" [tone]="tone" [label]="variant" />
|
|
5766
|
+
}
|
|
5767
|
+
</div>
|
|
5768
|
+
}
|
|
5769
|
+
</div>
|
|
5770
|
+
<!-- args:
|
|
5771
|
+
{ label: 'Locked', disabled: true, removable: true }
|
|
5772
|
+
-->`
|
|
5773
|
+
},
|
|
5774
|
+
{
|
|
5775
|
+
title: "Truncated",
|
|
5776
|
+
framework: "angular",
|
|
5777
|
+
code: `<!-- Storybook story: Truncated -->
|
|
5778
|
+
<div box-layout gap="sm">
|
|
5779
|
+
@for (tone of ['soft', 'solid', 'outline']; track tone) {
|
|
5780
|
+
<div row-layout gap="sm" alignItems="center" style="margin-bottom:8px">
|
|
5781
|
+
@for (variant of ['primary', 'secondary', 'tertiary', 'warn', 'success', 'ghost']; track variant) {
|
|
5782
|
+
<uni-tag [variant]="variant" [tone]="tone" [label]="variant" />
|
|
5783
|
+
}
|
|
5784
|
+
</div>
|
|
5785
|
+
}
|
|
5786
|
+
</div>
|
|
5787
|
+
<!-- args:
|
|
5788
|
+
{
|
|
5789
|
+
label: 'A very long tag label that has to be truncated somewhere',
|
|
5790
|
+
maxWidth: '18ch',
|
|
5791
|
+
removable: true,
|
|
5792
|
+
}
|
|
5793
|
+
-->`
|
|
5794
|
+
}
|
|
5795
|
+
],
|
|
5796
|
+
guidelines: {
|
|
5797
|
+
whenToUse: "Compact chip for categories, states, filters and tokens. Two orthogonal style\naxes: **`variant`** picks the colour role and **`tone`** picks the archetype\n(`soft`, `solid`, `outline`). Both resolve from the theme's `tag` entry, so a\ntheme restyles every chip in the app without touching markup.",
|
|
5798
|
+
dos: [
|
|
5799
|
+
"Use `variant` for meaning (a `warn` chip for a problem) and `tone` for emphasis.",
|
|
5800
|
+
"Give `removable` chips a `value` so the handler knows which one to drop.",
|
|
5801
|
+
"Set `maxWidth` when user-supplied text could be arbitrarily long."
|
|
5802
|
+
],
|
|
5803
|
+
donts: [
|
|
5804
|
+
"Don't make a whole chip clickable *and* nest the remove control inside it \u2014",
|
|
5805
|
+
"Don't rely on chip colour alone to convey state.",
|
|
5806
|
+
"Don't put a remove control on a chip that is purely a label."
|
|
5807
|
+
],
|
|
5808
|
+
accessibility: [
|
|
5809
|
+
"A static tag is **text, not a widget**: no role, no tab stop. Screen readers",
|
|
5810
|
+
"`removable` adds one real `<button>` named `Remove {label}`, overridable with",
|
|
5811
|
+
'`interactive` makes the body a `<button type="button">`; `selected` maps to',
|
|
5812
|
+
"Icons, avatars, initials and dots are `aria-hidden` \u2014 the chip's text is its",
|
|
5813
|
+
"`invalid` sets `aria-invalid` and adds a non-colour cue."
|
|
5814
|
+
]
|
|
5815
|
+
},
|
|
5816
|
+
relatedTokens: [
|
|
5817
|
+
"tag.behavior.borderRadius",
|
|
5818
|
+
"tag.behavior.typeface",
|
|
5819
|
+
"tag.behavior.gap",
|
|
5820
|
+
"tag.behavior.removeIcon",
|
|
5821
|
+
"tag.behavior.selectedIcon"
|
|
5822
|
+
]
|
|
5823
|
+
},
|
|
5824
|
+
{
|
|
5825
|
+
id: "tag-input",
|
|
5826
|
+
name: "TagInput",
|
|
5827
|
+
status: "stable",
|
|
5828
|
+
summary: "",
|
|
5829
|
+
description: "",
|
|
5830
|
+
category: "forms",
|
|
5831
|
+
version: "8.0.0",
|
|
5832
|
+
bindings: {
|
|
5833
|
+
angular: {
|
|
5834
|
+
importPath: "@uni-design-system/uni-angular",
|
|
5835
|
+
selectorOrTag: "uni-tag-input",
|
|
5836
|
+
api: [
|
|
5837
|
+
{
|
|
5838
|
+
name: "value",
|
|
5839
|
+
kind: "model",
|
|
5840
|
+
type: "UniTagItem[]",
|
|
5841
|
+
required: false,
|
|
5842
|
+
default: "[]",
|
|
5843
|
+
description: ""
|
|
5844
|
+
},
|
|
5845
|
+
{
|
|
5846
|
+
name: "disabled",
|
|
5847
|
+
kind: "input",
|
|
5848
|
+
type: "boolean",
|
|
5849
|
+
required: false,
|
|
5850
|
+
default: "false",
|
|
5851
|
+
description: ""
|
|
5852
|
+
},
|
|
5853
|
+
{
|
|
5854
|
+
name: "touched",
|
|
5855
|
+
kind: "model",
|
|
5856
|
+
type: "boolean",
|
|
5857
|
+
required: false,
|
|
5858
|
+
default: "false",
|
|
5859
|
+
description: ""
|
|
5860
|
+
},
|
|
5861
|
+
{
|
|
5862
|
+
name: "invalid",
|
|
5863
|
+
kind: "input",
|
|
5864
|
+
type: "boolean",
|
|
5865
|
+
required: false,
|
|
5866
|
+
default: "false",
|
|
5867
|
+
description: ""
|
|
5868
|
+
},
|
|
5869
|
+
{
|
|
5870
|
+
name: "dirty",
|
|
5871
|
+
kind: "input",
|
|
5872
|
+
type: "boolean",
|
|
5873
|
+
required: false,
|
|
5874
|
+
default: "false",
|
|
5875
|
+
description: ""
|
|
5876
|
+
},
|
|
5877
|
+
{
|
|
5878
|
+
name: "required",
|
|
5879
|
+
kind: "input",
|
|
5880
|
+
type: "boolean",
|
|
5881
|
+
required: false,
|
|
5882
|
+
default: "false",
|
|
5883
|
+
description: ""
|
|
5884
|
+
},
|
|
5885
|
+
{
|
|
5886
|
+
name: "ariaDescribedBy",
|
|
5887
|
+
kind: "input",
|
|
5888
|
+
type: "string",
|
|
5889
|
+
required: false,
|
|
5890
|
+
description: ""
|
|
5891
|
+
},
|
|
5892
|
+
{
|
|
5893
|
+
name: "label",
|
|
5894
|
+
kind: "input",
|
|
5895
|
+
type: "string",
|
|
5896
|
+
required: true,
|
|
5897
|
+
description: 'Accessible name for the field, e.g. "To".'
|
|
5898
|
+
},
|
|
5899
|
+
{
|
|
5900
|
+
name: "placeholder",
|
|
5901
|
+
kind: "input",
|
|
5902
|
+
type: "string",
|
|
5903
|
+
required: false,
|
|
5904
|
+
description: ""
|
|
5905
|
+
},
|
|
5906
|
+
{
|
|
5907
|
+
name: "preset",
|
|
5908
|
+
kind: "input",
|
|
5909
|
+
type: "'text' | 'email'",
|
|
5910
|
+
required: false,
|
|
5911
|
+
default: "'text'",
|
|
5912
|
+
description: "`email` wires an address validator, paste parser and space separator."
|
|
5913
|
+
},
|
|
5914
|
+
{
|
|
5915
|
+
name: "separators",
|
|
5916
|
+
kind: "input",
|
|
5917
|
+
type: "string[]",
|
|
5918
|
+
required: false,
|
|
5919
|
+
default: "[',', ';']",
|
|
5920
|
+
description: ""
|
|
5921
|
+
},
|
|
5922
|
+
{
|
|
5923
|
+
name: "commitOnBlur",
|
|
5924
|
+
kind: "input",
|
|
5925
|
+
type: "boolean",
|
|
5926
|
+
required: false,
|
|
5927
|
+
default: "true",
|
|
5928
|
+
description: ""
|
|
5929
|
+
},
|
|
5930
|
+
{
|
|
5931
|
+
name: "allowDuplicates",
|
|
5932
|
+
kind: "input",
|
|
5933
|
+
type: "boolean",
|
|
5934
|
+
required: false,
|
|
5935
|
+
default: "false",
|
|
5936
|
+
description: ""
|
|
5937
|
+
},
|
|
5938
|
+
{
|
|
5939
|
+
name: "max",
|
|
5940
|
+
kind: "input",
|
|
5941
|
+
type: "number",
|
|
5942
|
+
required: false,
|
|
5943
|
+
description: ""
|
|
5944
|
+
},
|
|
5945
|
+
{
|
|
5946
|
+
name: "tagVariant",
|
|
5947
|
+
kind: "input",
|
|
5948
|
+
type: "Variant",
|
|
5949
|
+
required: false,
|
|
5950
|
+
default: "'primary'",
|
|
5951
|
+
description: ""
|
|
5952
|
+
},
|
|
5953
|
+
{
|
|
5954
|
+
name: "tagTone",
|
|
5955
|
+
kind: "input",
|
|
5956
|
+
type: "TagTone",
|
|
5957
|
+
required: false,
|
|
5958
|
+
default: "'soft'",
|
|
5959
|
+
description: ""
|
|
5960
|
+
},
|
|
5961
|
+
{
|
|
5962
|
+
name: "tagSize",
|
|
5963
|
+
kind: "input",
|
|
5964
|
+
type: "Size",
|
|
5965
|
+
required: false,
|
|
5966
|
+
description: ""
|
|
5967
|
+
},
|
|
5968
|
+
{
|
|
5969
|
+
name: "suggestions",
|
|
5970
|
+
kind: "input",
|
|
5971
|
+
type: "UniTagSuggestion[]",
|
|
5972
|
+
required: false,
|
|
5973
|
+
default: "[]",
|
|
5974
|
+
description: ""
|
|
5975
|
+
},
|
|
5976
|
+
{
|
|
5977
|
+
name: "query",
|
|
5978
|
+
kind: "output",
|
|
5979
|
+
type: "string",
|
|
5980
|
+
required: false,
|
|
5981
|
+
description: "Debounced text the app should filter `suggestions` from."
|
|
5982
|
+
},
|
|
5983
|
+
{
|
|
5984
|
+
name: "debounceTime",
|
|
5985
|
+
kind: "input",
|
|
5986
|
+
type: "number",
|
|
5987
|
+
required: false,
|
|
5988
|
+
default: "250",
|
|
5989
|
+
description: ""
|
|
5990
|
+
},
|
|
5991
|
+
{
|
|
5992
|
+
name: "added",
|
|
5993
|
+
kind: "output",
|
|
5994
|
+
type: "UniTagItem",
|
|
5995
|
+
required: false,
|
|
5996
|
+
description: ""
|
|
5997
|
+
},
|
|
5998
|
+
{
|
|
5999
|
+
name: "removed",
|
|
6000
|
+
kind: "output",
|
|
6001
|
+
type: "UniTagItem",
|
|
6002
|
+
required: false,
|
|
6003
|
+
description: ""
|
|
6004
|
+
},
|
|
6005
|
+
{
|
|
6006
|
+
name: "rejected",
|
|
6007
|
+
kind: "output",
|
|
6008
|
+
type: "UniTagRejection",
|
|
6009
|
+
required: false,
|
|
6010
|
+
description: ""
|
|
6011
|
+
}
|
|
6012
|
+
]
|
|
6013
|
+
}
|
|
6014
|
+
},
|
|
6015
|
+
examples: [
|
|
6016
|
+
{
|
|
6017
|
+
title: "Primary",
|
|
6018
|
+
framework: "angular",
|
|
6019
|
+
code: `<!-- Storybook story: Primary -->
|
|
6020
|
+
<uni-tag-input
|
|
6021
|
+
label="To"
|
|
6022
|
+
preset="email"
|
|
6023
|
+
placeholder="Name or address\u2026"
|
|
6024
|
+
[value]="value"
|
|
6025
|
+
[suggestions]="suggestions"
|
|
6026
|
+
(query)="onQuery($event)"
|
|
6027
|
+
/>
|
|
6028
|
+
<!-- args:
|
|
6029
|
+
{ value: [{ value: 'alice@uni.dev', label: 'Alice Chen' }] }
|
|
6030
|
+
-->`
|
|
6031
|
+
},
|
|
6032
|
+
{
|
|
6033
|
+
title: "Email Recipients",
|
|
6034
|
+
framework: "angular",
|
|
6035
|
+
code: `<!-- Storybook story: Email Recipients -->
|
|
6036
|
+
<uni-tag-input
|
|
6037
|
+
label="To"
|
|
6038
|
+
preset="email"
|
|
6039
|
+
placeholder="Name or address\u2026"
|
|
6040
|
+
[value]="value"
|
|
6041
|
+
[suggestions]="suggestions"
|
|
6042
|
+
(query)="onQuery($event)"
|
|
6043
|
+
/>
|
|
6044
|
+
<!-- args:
|
|
6045
|
+
{ value: [{ value: 'alice@uni.dev', label: 'Alice Chen' }] }
|
|
6046
|
+
-->`
|
|
6047
|
+
},
|
|
6048
|
+
{
|
|
6049
|
+
title: "Invalid Entry",
|
|
6050
|
+
framework: "angular",
|
|
6051
|
+
code: `<!-- Storybook story: Invalid Entry -->
|
|
6052
|
+
<uni-tag-input
|
|
6053
|
+
label="To"
|
|
6054
|
+
preset="email"
|
|
6055
|
+
placeholder="Name or address\u2026"
|
|
6056
|
+
[value]="value"
|
|
6057
|
+
[suggestions]="suggestions"
|
|
6058
|
+
(query)="onQuery($event)"
|
|
6059
|
+
/>
|
|
6060
|
+
<!-- args:
|
|
6061
|
+
{
|
|
6062
|
+
preset: 'email',
|
|
6063
|
+
value: [
|
|
6064
|
+
{ value: 'alice@uni.dev', label: 'Alice Chen' },
|
|
6065
|
+
{ value: 'nope@@x', invalid: true },
|
|
6066
|
+
],
|
|
6067
|
+
}
|
|
6068
|
+
-->`
|
|
6069
|
+
},
|
|
6070
|
+
{
|
|
6071
|
+
title: "Locked Entry",
|
|
6072
|
+
framework: "angular",
|
|
6073
|
+
code: `<!-- Storybook story: Locked Entry -->
|
|
6074
|
+
<uni-tag-input
|
|
6075
|
+
label="To"
|
|
6076
|
+
preset="email"
|
|
6077
|
+
placeholder="Name or address\u2026"
|
|
6078
|
+
[value]="value"
|
|
6079
|
+
[suggestions]="suggestions"
|
|
6080
|
+
(query)="onQuery($event)"
|
|
6081
|
+
/>
|
|
6082
|
+
<!-- args:
|
|
6083
|
+
{
|
|
6084
|
+
value: [
|
|
6085
|
+
{ value: 'owner@uni.dev', label: 'Thread owner', disabled: true },
|
|
6086
|
+
{ value: 'bob@uni.dev', label: 'Bob Ferrari' },
|
|
6087
|
+
],
|
|
6088
|
+
}
|
|
6089
|
+
-->`
|
|
6090
|
+
},
|
|
6091
|
+
{
|
|
6092
|
+
title: "With Maximum",
|
|
6093
|
+
framework: "angular",
|
|
6094
|
+
code: `<!-- Storybook story: With Maximum -->
|
|
6095
|
+
<uni-tag-input
|
|
6096
|
+
label="To"
|
|
6097
|
+
preset="email"
|
|
6098
|
+
placeholder="Name or address\u2026"
|
|
6099
|
+
[value]="value"
|
|
6100
|
+
[suggestions]="suggestions"
|
|
6101
|
+
(query)="onQuery($event)"
|
|
6102
|
+
/>
|
|
6103
|
+
<!-- args:
|
|
6104
|
+
{ max: 3, value: [{ value: 'alpha' }, { value: 'beta' }] }
|
|
6105
|
+
-->`
|
|
6106
|
+
},
|
|
6107
|
+
{
|
|
6108
|
+
title: "Disabled",
|
|
6109
|
+
framework: "angular",
|
|
6110
|
+
code: `<!-- Storybook story: Disabled -->
|
|
6111
|
+
<uni-tag-input
|
|
6112
|
+
label="To"
|
|
6113
|
+
preset="email"
|
|
6114
|
+
placeholder="Name or address\u2026"
|
|
6115
|
+
[value]="value"
|
|
6116
|
+
[suggestions]="suggestions"
|
|
6117
|
+
(query)="onQuery($event)"
|
|
6118
|
+
/>
|
|
6119
|
+
<!-- args:
|
|
6120
|
+
{ disabled: true, value: [{ value: 'alpha' }, { value: 'beta' }] }
|
|
6121
|
+
-->`
|
|
6122
|
+
}
|
|
6123
|
+
],
|
|
6124
|
+
guidelines: {
|
|
6125
|
+
whenToUse: "Type-to-add chip field: recipients, filters, labels. It is the **open-set**\ncontrol \u2014 anything the user types can become a token, whether or not it matches\na suggestion. For picking from a fixed list, use `uni-select` or\n`uni-multi-select-dropdown` instead.",
|
|
6126
|
+
dos: [],
|
|
6127
|
+
donts: [
|
|
6128
|
+
"Don't use it to pick from a closed list \u2014 that is `uni-multi-select-dropdown`.",
|
|
6129
|
+
"Don't filter `suggestions` inside the component; drive them from `(query)`.",
|
|
6130
|
+
"Don't set `preset=\"email\"` for people's names: Space would split them."
|
|
6131
|
+
],
|
|
6132
|
+
accessibility: [
|
|
6133
|
+
'The text input is `role="combobox"` with `aria-expanded`, `aria-controls` and',
|
|
6134
|
+
'Every add, remove and rejection announces through a `role="status"` live',
|
|
6135
|
+
"The removal route is described **once** for the field through",
|
|
6136
|
+
"`aria-invalid` is gated on `invalid && (touched || dirty)`, per the library's"
|
|
6137
|
+
]
|
|
6138
|
+
},
|
|
6139
|
+
relatedTokens: []
|
|
6140
|
+
},
|
|
6141
|
+
{
|
|
6142
|
+
id: "text",
|
|
6143
|
+
name: "Text",
|
|
6144
|
+
status: "stable",
|
|
6145
|
+
summary: "",
|
|
6146
|
+
description: "",
|
|
6147
|
+
category: "primitives",
|
|
6148
|
+
version: "8.0.0",
|
|
6149
|
+
bindings: {
|
|
6150
|
+
angular: {
|
|
6151
|
+
importPath: "@uni-design-system/uni-angular",
|
|
6152
|
+
selectorOrTag: "[uni-text]",
|
|
6153
|
+
api: [
|
|
6154
|
+
{
|
|
6155
|
+
name: "uniText",
|
|
6156
|
+
kind: "input",
|
|
6157
|
+
type: "Typeface | ''",
|
|
6158
|
+
required: false,
|
|
6159
|
+
default: "'', { alias: 'uni-text' }",
|
|
6160
|
+
description: 'Typeface via the selector attribute: `uni-text="headline-large"`.'
|
|
6161
|
+
},
|
|
6162
|
+
{
|
|
6163
|
+
name: "typeface",
|
|
6164
|
+
kind: "input",
|
|
6165
|
+
type: "Typeface | undefined",
|
|
6166
|
+
required: false,
|
|
6167
|
+
default: "undefined",
|
|
6168
|
+
description: "Explicit typeface; the attribute value wins when both are set."
|
|
6169
|
+
},
|
|
6170
|
+
{
|
|
6171
|
+
name: "color",
|
|
6172
|
+
kind: "input",
|
|
6173
|
+
type: "ColorKey",
|
|
6174
|
+
required: false,
|
|
6175
|
+
description: ""
|
|
6176
|
+
},
|
|
6177
|
+
{
|
|
6178
|
+
name: "display",
|
|
6179
|
+
kind: "input",
|
|
6180
|
+
type: "OptionalDisplay",
|
|
6181
|
+
required: false,
|
|
6182
|
+
description: ""
|
|
6183
|
+
},
|
|
6184
|
+
{
|
|
6185
|
+
name: "align",
|
|
6186
|
+
kind: "input",
|
|
6187
|
+
type: "OptionalTextAlign",
|
|
6188
|
+
required: false,
|
|
6189
|
+
description: ""
|
|
6190
|
+
},
|
|
6191
|
+
{
|
|
6192
|
+
name: "nowrap",
|
|
6193
|
+
kind: "input",
|
|
6194
|
+
type: "boolean",
|
|
6195
|
+
required: false,
|
|
6196
|
+
description: ""
|
|
6197
|
+
},
|
|
6198
|
+
{
|
|
6199
|
+
name: "maxWidth",
|
|
6200
|
+
kind: "input",
|
|
6201
|
+
type: "number",
|
|
6202
|
+
required: false,
|
|
6203
|
+
description: ""
|
|
6204
|
+
},
|
|
6205
|
+
{
|
|
6206
|
+
name: "ellipsis",
|
|
6207
|
+
kind: "input",
|
|
6208
|
+
type: "boolean",
|
|
6209
|
+
required: false,
|
|
6210
|
+
default: "false",
|
|
6211
|
+
description: ""
|
|
6212
|
+
}
|
|
6213
|
+
]
|
|
6214
|
+
}
|
|
6215
|
+
},
|
|
5495
6216
|
examples: [
|
|
5496
6217
|
{
|
|
5497
6218
|
title: "Value shorthand",
|
|
@@ -5526,7 +6247,7 @@ var uni_index_default = {
|
|
|
5526
6247
|
summary: "",
|
|
5527
6248
|
description: "",
|
|
5528
6249
|
category: "primitives",
|
|
5529
|
-
version: "
|
|
6250
|
+
version: "8.0.0",
|
|
5530
6251
|
bindings: {
|
|
5531
6252
|
angular: {
|
|
5532
6253
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5656,7 +6377,7 @@ var uni_index_default = {
|
|
|
5656
6377
|
summary: "",
|
|
5657
6378
|
description: "",
|
|
5658
6379
|
category: "primitives",
|
|
5659
|
-
version: "
|
|
6380
|
+
version: "8.0.0",
|
|
5660
6381
|
bindings: {
|
|
5661
6382
|
angular: {
|
|
5662
6383
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5686,7 +6407,7 @@ var uni_index_default = {
|
|
|
5686
6407
|
summary: "",
|
|
5687
6408
|
description: "",
|
|
5688
6409
|
category: "components",
|
|
5689
|
-
version: "
|
|
6410
|
+
version: "8.0.0",
|
|
5690
6411
|
bindings: {
|
|
5691
6412
|
angular: {
|
|
5692
6413
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5720,12 +6441,12 @@ var uni_index_default = {
|
|
|
5720
6441
|
guidelines: {
|
|
5721
6442
|
whenToUse: "Drop-in switcher for every theme registered via `UNI_THEMES`. Renders a `uni-select` over\n`ThemeService.themeOptions` and applies the choice through `ThemeService.selectTheme`, so the\nselection persists across reloads exactly like any other theme change. Use it wherever an app\noffers a theme choice \u2014 a settings page, an app-bar action, or a light/dark toggle backed by two\nregistered themes. Because it reads the registry from the injected `UNI_THEMES` token, adding a\nnew theme to the registry is all it takes for the switcher to offer it.",
|
|
5722
6443
|
dos: [
|
|
5723
|
-
"Register every selectable theme in `UNI_THEMES
|
|
6444
|
+
"Register every selectable theme in `UNI_THEMES` (bootstrap) or via `registerTheme` (runtime); the switcher derives its options from the registry.",
|
|
5724
6445
|
'Give the control a meaningful `ariaLabel` when "Theme" is ambiguous in context (e.g. "Editor color theme").',
|
|
5725
6446
|
"Use `themeChanged` for side effects like analytics or syncing a user preference to a backend."
|
|
5726
6447
|
],
|
|
5727
6448
|
donts: [
|
|
5728
|
-
"Don't
|
|
6449
|
+
"Don't try to write `ThemeService.theme` directly \u2014 it's a readonly signal. Go through `selectTheme`/`registerTheme` (persisted, listed) or `setTheme` (validated, unlisted) instead.",
|
|
5729
6450
|
"Don't hardcode theme ids in app logic; read `ThemeService.selectedThemeKey()` instead.",
|
|
5730
6451
|
"Don't use it for the palette-generation workflow \u2014 that's the Theme Builder; the switcher only picks among registered themes."
|
|
5731
6452
|
],
|
|
@@ -5744,7 +6465,7 @@ var uni_index_default = {
|
|
|
5744
6465
|
summary: "",
|
|
5745
6466
|
description: "",
|
|
5746
6467
|
category: "forms",
|
|
5747
|
-
version: "
|
|
6468
|
+
version: "8.0.0",
|
|
5748
6469
|
bindings: {
|
|
5749
6470
|
angular: {
|
|
5750
6471
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5874,7 +6595,7 @@ var uni_index_default = {
|
|
|
5874
6595
|
summary: "",
|
|
5875
6596
|
description: "",
|
|
5876
6597
|
category: "feedback",
|
|
5877
|
-
version: "
|
|
6598
|
+
version: "8.0.0",
|
|
5878
6599
|
bindings: {
|
|
5879
6600
|
angular: {
|
|
5880
6601
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5930,7 +6651,7 @@ var uni_index_default = {
|
|
|
5930
6651
|
}
|
|
5931
6652
|
],
|
|
5932
6653
|
guidelines: {
|
|
5933
|
-
whenToUse:
|
|
6654
|
+
whenToUse: 'A tooltip is a brief, informative message that appears when a user interacts with an element.\nIf using a tooltip within a body of text, set the `inlineText` option to `true`.\nWrapping an interactive control (a button, a link) is supported: activating\nthe control hides the bubble and keeps it hidden until the pointer leaves and\nreturns, so a label that changes with the control\'s state ("Expand" \u2192\n"Collapse") never blinks back mid-interaction. Tapping a non-interactive\ntooltip (inline text) still toggles the bubble.',
|
|
5934
6655
|
dos: [],
|
|
5935
6656
|
donts: [],
|
|
5936
6657
|
accessibility: [
|
|
@@ -5953,7 +6674,7 @@ var uni_index_default = {
|
|
|
5953
6674
|
summary: "",
|
|
5954
6675
|
description: "",
|
|
5955
6676
|
category: "layout",
|
|
5956
|
-
version: "
|
|
6677
|
+
version: "8.0.0",
|
|
5957
6678
|
bindings: {
|
|
5958
6679
|
angular: {
|
|
5959
6680
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -8060,159 +8781,327 @@ var uni_index_default = {
|
|
|
8060
8781
|
}
|
|
8061
8782
|
},
|
|
8062
8783
|
{
|
|
8063
|
-
id: "dialogButtons.behavior.stretch",
|
|
8064
|
-
value: false,
|
|
8065
|
-
type: "boolean",
|
|
8784
|
+
id: "dialogButtons.behavior.stretch",
|
|
8785
|
+
value: false,
|
|
8786
|
+
type: "boolean",
|
|
8787
|
+
kind: "behavioral",
|
|
8788
|
+
target: "component-prop",
|
|
8789
|
+
appliesTo: "dialogButtons",
|
|
8790
|
+
themeValues: {
|
|
8791
|
+
LightTheme: false,
|
|
8792
|
+
DarkTheme: false
|
|
8793
|
+
}
|
|
8794
|
+
},
|
|
8795
|
+
{
|
|
8796
|
+
id: "dialogButtons.behavior.reverseOrder",
|
|
8797
|
+
value: false,
|
|
8798
|
+
type: "boolean",
|
|
8799
|
+
kind: "behavioral",
|
|
8800
|
+
target: "component-prop",
|
|
8801
|
+
appliesTo: "dialogButtons",
|
|
8802
|
+
themeValues: {
|
|
8803
|
+
LightTheme: false,
|
|
8804
|
+
DarkTheme: false
|
|
8805
|
+
}
|
|
8806
|
+
},
|
|
8807
|
+
{
|
|
8808
|
+
id: "dialogHeader.behavior.borderRadius",
|
|
8809
|
+
value: "max",
|
|
8810
|
+
type: "string",
|
|
8811
|
+
kind: "behavioral",
|
|
8812
|
+
target: "component-prop",
|
|
8813
|
+
appliesTo: "dialogHeader",
|
|
8814
|
+
themeValues: {
|
|
8815
|
+
LightTheme: "max",
|
|
8816
|
+
DarkTheme: "max"
|
|
8817
|
+
}
|
|
8818
|
+
},
|
|
8819
|
+
{
|
|
8820
|
+
id: "dialogHeader.behavior.color",
|
|
8821
|
+
value: "primary",
|
|
8822
|
+
type: "string",
|
|
8823
|
+
kind: "behavioral",
|
|
8824
|
+
target: "component-prop",
|
|
8825
|
+
appliesTo: "dialogHeader",
|
|
8826
|
+
themeValues: {
|
|
8827
|
+
LightTheme: "primary",
|
|
8828
|
+
DarkTheme: "primary"
|
|
8829
|
+
}
|
|
8830
|
+
},
|
|
8831
|
+
{
|
|
8832
|
+
id: "dialogHeader.behavior.height",
|
|
8833
|
+
value: 48,
|
|
8834
|
+
type: "number",
|
|
8835
|
+
kind: "behavioral",
|
|
8836
|
+
target: "component-prop",
|
|
8837
|
+
appliesTo: "dialogHeader",
|
|
8838
|
+
themeValues: {
|
|
8839
|
+
LightTheme: 48,
|
|
8840
|
+
DarkTheme: 48
|
|
8841
|
+
}
|
|
8842
|
+
},
|
|
8843
|
+
{
|
|
8844
|
+
id: "dialogHeader.behavior.textRole",
|
|
8845
|
+
value: "title-large",
|
|
8846
|
+
type: "string",
|
|
8847
|
+
kind: "behavioral",
|
|
8848
|
+
target: "component-prop",
|
|
8849
|
+
appliesTo: "dialogHeader",
|
|
8850
|
+
themeValues: {
|
|
8851
|
+
LightTheme: "title-large",
|
|
8852
|
+
DarkTheme: "title-large"
|
|
8853
|
+
}
|
|
8854
|
+
},
|
|
8855
|
+
{
|
|
8856
|
+
id: "dialogHeader.behavior.textAlign",
|
|
8857
|
+
value: "center",
|
|
8858
|
+
type: "string",
|
|
8859
|
+
kind: "behavioral",
|
|
8860
|
+
target: "component-prop",
|
|
8861
|
+
appliesTo: "dialogHeader",
|
|
8862
|
+
themeValues: {
|
|
8863
|
+
LightTheme: "center",
|
|
8864
|
+
DarkTheme: "center"
|
|
8865
|
+
}
|
|
8866
|
+
},
|
|
8867
|
+
{
|
|
8868
|
+
id: "dialogHeader.behavior.closeButtonIcon",
|
|
8869
|
+
value: "close",
|
|
8870
|
+
type: "string",
|
|
8871
|
+
kind: "behavioral",
|
|
8872
|
+
target: "component-prop",
|
|
8873
|
+
appliesTo: "dialogHeader",
|
|
8874
|
+
themeValues: {
|
|
8875
|
+
LightTheme: "close",
|
|
8876
|
+
DarkTheme: "close"
|
|
8877
|
+
}
|
|
8878
|
+
},
|
|
8879
|
+
{
|
|
8880
|
+
id: "dialogHeader.behavior.closeButtonSize",
|
|
8881
|
+
value: "md",
|
|
8882
|
+
type: "string",
|
|
8883
|
+
kind: "behavioral",
|
|
8884
|
+
target: "component-prop",
|
|
8885
|
+
appliesTo: "dialogHeader",
|
|
8886
|
+
themeValues: {
|
|
8887
|
+
LightTheme: "md",
|
|
8888
|
+
DarkTheme: "md"
|
|
8889
|
+
}
|
|
8890
|
+
},
|
|
8891
|
+
{
|
|
8892
|
+
id: "dropdown.behavior.border",
|
|
8893
|
+
value: "none",
|
|
8894
|
+
type: "string",
|
|
8895
|
+
kind: "behavioral",
|
|
8896
|
+
target: "component-prop",
|
|
8897
|
+
appliesTo: "dropdown",
|
|
8898
|
+
themeValues: {
|
|
8899
|
+
LightTheme: "none",
|
|
8900
|
+
DarkTheme: "none"
|
|
8901
|
+
}
|
|
8902
|
+
},
|
|
8903
|
+
{
|
|
8904
|
+
id: "dropdown.behavior.borderRadius",
|
|
8905
|
+
value: "xxs",
|
|
8906
|
+
type: "string",
|
|
8907
|
+
kind: "behavioral",
|
|
8908
|
+
target: "component-prop",
|
|
8909
|
+
appliesTo: "dropdown",
|
|
8910
|
+
themeValues: {
|
|
8911
|
+
LightTheme: "xxs",
|
|
8912
|
+
DarkTheme: "xxs"
|
|
8913
|
+
}
|
|
8914
|
+
},
|
|
8915
|
+
{
|
|
8916
|
+
id: "dropdown.behavior.color",
|
|
8917
|
+
value: "primary-surface",
|
|
8918
|
+
type: "string",
|
|
8919
|
+
kind: "behavioral",
|
|
8920
|
+
target: "component-prop",
|
|
8921
|
+
appliesTo: "dropdown",
|
|
8922
|
+
themeValues: {
|
|
8923
|
+
LightTheme: "primary-surface",
|
|
8924
|
+
DarkTheme: "primary-surface"
|
|
8925
|
+
}
|
|
8926
|
+
},
|
|
8927
|
+
{
|
|
8928
|
+
id: "dropdown.behavior.shadow",
|
|
8929
|
+
value: "menu",
|
|
8930
|
+
type: "string",
|
|
8066
8931
|
kind: "behavioral",
|
|
8067
8932
|
target: "component-prop",
|
|
8068
|
-
appliesTo: "
|
|
8933
|
+
appliesTo: "dropdown",
|
|
8069
8934
|
themeValues: {
|
|
8070
|
-
LightTheme:
|
|
8071
|
-
DarkTheme:
|
|
8935
|
+
LightTheme: "menu",
|
|
8936
|
+
DarkTheme: "menu"
|
|
8072
8937
|
}
|
|
8073
8938
|
},
|
|
8074
8939
|
{
|
|
8075
|
-
id: "
|
|
8076
|
-
value:
|
|
8077
|
-
type: "
|
|
8940
|
+
id: "menu.behavior.minWidth",
|
|
8941
|
+
value: 184,
|
|
8942
|
+
type: "number",
|
|
8078
8943
|
kind: "behavioral",
|
|
8079
8944
|
target: "component-prop",
|
|
8080
|
-
appliesTo: "
|
|
8945
|
+
appliesTo: "menu",
|
|
8081
8946
|
themeValues: {
|
|
8082
|
-
LightTheme:
|
|
8083
|
-
DarkTheme:
|
|
8947
|
+
LightTheme: 184,
|
|
8948
|
+
DarkTheme: 184
|
|
8084
8949
|
}
|
|
8085
8950
|
},
|
|
8086
8951
|
{
|
|
8087
|
-
id: "
|
|
8088
|
-
value: "
|
|
8952
|
+
id: "menu.behavior.paddingVertical",
|
|
8953
|
+
value: "xs",
|
|
8089
8954
|
type: "string",
|
|
8090
8955
|
kind: "behavioral",
|
|
8091
8956
|
target: "component-prop",
|
|
8092
|
-
appliesTo: "
|
|
8957
|
+
appliesTo: "menu",
|
|
8093
8958
|
themeValues: {
|
|
8094
|
-
LightTheme: "
|
|
8095
|
-
DarkTheme: "
|
|
8959
|
+
LightTheme: "xs",
|
|
8960
|
+
DarkTheme: "xs"
|
|
8096
8961
|
}
|
|
8097
8962
|
},
|
|
8098
8963
|
{
|
|
8099
|
-
id: "
|
|
8100
|
-
value: "
|
|
8964
|
+
id: "menu.behavior.paddingHorizontal",
|
|
8965
|
+
value: "none",
|
|
8101
8966
|
type: "string",
|
|
8102
8967
|
kind: "behavioral",
|
|
8103
8968
|
target: "component-prop",
|
|
8104
|
-
appliesTo: "
|
|
8969
|
+
appliesTo: "menu",
|
|
8105
8970
|
themeValues: {
|
|
8106
|
-
LightTheme: "
|
|
8107
|
-
DarkTheme: "
|
|
8971
|
+
LightTheme: "none",
|
|
8972
|
+
DarkTheme: "none"
|
|
8108
8973
|
}
|
|
8109
8974
|
},
|
|
8110
8975
|
{
|
|
8111
|
-
id: "
|
|
8112
|
-
value:
|
|
8113
|
-
type: "
|
|
8976
|
+
id: "menu.behavior.dividerBorder",
|
|
8977
|
+
value: "light",
|
|
8978
|
+
type: "string",
|
|
8114
8979
|
kind: "behavioral",
|
|
8115
8980
|
target: "component-prop",
|
|
8116
|
-
appliesTo: "
|
|
8981
|
+
appliesTo: "menu",
|
|
8117
8982
|
themeValues: {
|
|
8118
|
-
LightTheme:
|
|
8119
|
-
DarkTheme:
|
|
8983
|
+
LightTheme: "light",
|
|
8984
|
+
DarkTheme: "light"
|
|
8120
8985
|
}
|
|
8121
8986
|
},
|
|
8122
8987
|
{
|
|
8123
|
-
id: "
|
|
8124
|
-
value: "
|
|
8988
|
+
id: "menu.behavior.dividerSpacing",
|
|
8989
|
+
value: "xs",
|
|
8125
8990
|
type: "string",
|
|
8126
8991
|
kind: "behavioral",
|
|
8127
8992
|
target: "component-prop",
|
|
8128
|
-
appliesTo: "
|
|
8993
|
+
appliesTo: "menu",
|
|
8129
8994
|
themeValues: {
|
|
8130
|
-
LightTheme: "
|
|
8131
|
-
DarkTheme: "
|
|
8995
|
+
LightTheme: "xs",
|
|
8996
|
+
DarkTheme: "xs"
|
|
8132
8997
|
}
|
|
8133
8998
|
},
|
|
8134
8999
|
{
|
|
8135
|
-
id: "
|
|
8136
|
-
value:
|
|
8137
|
-
type: "
|
|
9000
|
+
id: "menuItem.behavior.height",
|
|
9001
|
+
value: 38,
|
|
9002
|
+
type: "number",
|
|
8138
9003
|
kind: "behavioral",
|
|
8139
9004
|
target: "component-prop",
|
|
8140
|
-
appliesTo: "
|
|
9005
|
+
appliesTo: "menuItem",
|
|
8141
9006
|
themeValues: {
|
|
8142
|
-
LightTheme:
|
|
8143
|
-
DarkTheme:
|
|
9007
|
+
LightTheme: 38,
|
|
9008
|
+
DarkTheme: 38
|
|
8144
9009
|
}
|
|
8145
9010
|
},
|
|
8146
9011
|
{
|
|
8147
|
-
id: "
|
|
8148
|
-
value: "
|
|
9012
|
+
id: "menuItem.behavior.paddingHorizontal",
|
|
9013
|
+
value: "md",
|
|
8149
9014
|
type: "string",
|
|
8150
9015
|
kind: "behavioral",
|
|
8151
9016
|
target: "component-prop",
|
|
8152
|
-
appliesTo: "
|
|
9017
|
+
appliesTo: "menuItem",
|
|
8153
9018
|
themeValues: {
|
|
8154
|
-
LightTheme: "
|
|
8155
|
-
DarkTheme: "
|
|
9019
|
+
LightTheme: "md",
|
|
9020
|
+
DarkTheme: "md"
|
|
8156
9021
|
}
|
|
8157
9022
|
},
|
|
8158
9023
|
{
|
|
8159
|
-
id: "
|
|
9024
|
+
id: "menuItem.behavior.gap",
|
|
8160
9025
|
value: "md",
|
|
8161
9026
|
type: "string",
|
|
8162
9027
|
kind: "behavioral",
|
|
8163
9028
|
target: "component-prop",
|
|
8164
|
-
appliesTo: "
|
|
9029
|
+
appliesTo: "menuItem",
|
|
8165
9030
|
themeValues: {
|
|
8166
9031
|
LightTheme: "md",
|
|
8167
9032
|
DarkTheme: "md"
|
|
8168
9033
|
}
|
|
8169
9034
|
},
|
|
8170
9035
|
{
|
|
8171
|
-
id: "
|
|
9036
|
+
id: "menuItem.behavior.borderRadius",
|
|
8172
9037
|
value: "none",
|
|
8173
9038
|
type: "string",
|
|
8174
9039
|
kind: "behavioral",
|
|
8175
9040
|
target: "component-prop",
|
|
8176
|
-
appliesTo: "
|
|
9041
|
+
appliesTo: "menuItem",
|
|
8177
9042
|
themeValues: {
|
|
8178
9043
|
LightTheme: "none",
|
|
8179
9044
|
DarkTheme: "none"
|
|
8180
9045
|
}
|
|
8181
9046
|
},
|
|
8182
9047
|
{
|
|
8183
|
-
id: "
|
|
8184
|
-
value: "
|
|
9048
|
+
id: "menuItem.behavior.typeface",
|
|
9049
|
+
value: "label",
|
|
8185
9050
|
type: "string",
|
|
8186
9051
|
kind: "behavioral",
|
|
8187
9052
|
target: "component-prop",
|
|
8188
|
-
appliesTo: "
|
|
9053
|
+
appliesTo: "menuItem",
|
|
8189
9054
|
themeValues: {
|
|
8190
|
-
LightTheme: "
|
|
8191
|
-
DarkTheme: "
|
|
9055
|
+
LightTheme: "label",
|
|
9056
|
+
DarkTheme: "label"
|
|
8192
9057
|
}
|
|
8193
9058
|
},
|
|
8194
9059
|
{
|
|
8195
|
-
id: "
|
|
8196
|
-
value: "primary-
|
|
9060
|
+
id: "menuItem.behavior.hoverColor",
|
|
9061
|
+
value: "primary-container",
|
|
8197
9062
|
type: "string",
|
|
8198
9063
|
kind: "behavioral",
|
|
8199
9064
|
target: "component-prop",
|
|
8200
|
-
appliesTo: "
|
|
9065
|
+
appliesTo: "menuItem",
|
|
8201
9066
|
themeValues: {
|
|
8202
|
-
LightTheme: "primary-
|
|
8203
|
-
DarkTheme: "primary-
|
|
9067
|
+
LightTheme: "primary-container",
|
|
9068
|
+
DarkTheme: "primary-container"
|
|
8204
9069
|
}
|
|
8205
9070
|
},
|
|
8206
9071
|
{
|
|
8207
|
-
id: "
|
|
8208
|
-
value: "
|
|
9072
|
+
id: "menuItem.behavior.activeSymbol",
|
|
9073
|
+
value: "check",
|
|
8209
9074
|
type: "string",
|
|
8210
9075
|
kind: "behavioral",
|
|
8211
9076
|
target: "component-prop",
|
|
8212
|
-
appliesTo: "
|
|
9077
|
+
appliesTo: "menuItem",
|
|
8213
9078
|
themeValues: {
|
|
8214
|
-
LightTheme: "
|
|
8215
|
-
DarkTheme: "
|
|
9079
|
+
LightTheme: "check",
|
|
9080
|
+
DarkTheme: "check"
|
|
9081
|
+
}
|
|
9082
|
+
},
|
|
9083
|
+
{
|
|
9084
|
+
id: "menuItem.behavior.transitionSpeed",
|
|
9085
|
+
value: 0.35,
|
|
9086
|
+
type: "number",
|
|
9087
|
+
kind: "behavioral",
|
|
9088
|
+
target: "component-prop",
|
|
9089
|
+
appliesTo: "menuItem",
|
|
9090
|
+
themeValues: {
|
|
9091
|
+
LightTheme: 0.35,
|
|
9092
|
+
DarkTheme: 0.35
|
|
9093
|
+
}
|
|
9094
|
+
},
|
|
9095
|
+
{
|
|
9096
|
+
id: "expand.behavior.transitionSpeed",
|
|
9097
|
+
value: 0.35,
|
|
9098
|
+
type: "number",
|
|
9099
|
+
kind: "behavioral",
|
|
9100
|
+
target: "component-prop",
|
|
9101
|
+
appliesTo: "expand",
|
|
9102
|
+
themeValues: {
|
|
9103
|
+
LightTheme: 0.35,
|
|
9104
|
+
DarkTheme: 0.35
|
|
8216
9105
|
}
|
|
8217
9106
|
},
|
|
8218
9107
|
{
|
|
@@ -8509,142 +9398,286 @@ var uni_index_default = {
|
|
|
8509
9398
|
type: "string",
|
|
8510
9399
|
kind: "behavioral",
|
|
8511
9400
|
target: "component-prop",
|
|
8512
|
-
appliesTo: "tabs",
|
|
9401
|
+
appliesTo: "tabs",
|
|
9402
|
+
themeValues: {
|
|
9403
|
+
LightTheme: "light",
|
|
9404
|
+
DarkTheme: "light"
|
|
9405
|
+
}
|
|
9406
|
+
},
|
|
9407
|
+
{
|
|
9408
|
+
id: "tabs.behavior.gap",
|
|
9409
|
+
value: "sm",
|
|
9410
|
+
type: "string",
|
|
9411
|
+
kind: "behavioral",
|
|
9412
|
+
target: "component-prop",
|
|
9413
|
+
appliesTo: "tabs",
|
|
9414
|
+
themeValues: {
|
|
9415
|
+
LightTheme: "sm",
|
|
9416
|
+
DarkTheme: "sm"
|
|
9417
|
+
}
|
|
9418
|
+
},
|
|
9419
|
+
{
|
|
9420
|
+
id: "tabs.behavior.borderRadius",
|
|
9421
|
+
value: "none",
|
|
9422
|
+
type: "string",
|
|
9423
|
+
kind: "behavioral",
|
|
9424
|
+
target: "component-prop",
|
|
9425
|
+
appliesTo: "tabs",
|
|
9426
|
+
themeValues: {
|
|
9427
|
+
LightTheme: "none",
|
|
9428
|
+
DarkTheme: "none"
|
|
9429
|
+
}
|
|
9430
|
+
},
|
|
9431
|
+
{
|
|
9432
|
+
id: "tabs.behavior.padding",
|
|
9433
|
+
value: "md",
|
|
9434
|
+
type: "string",
|
|
9435
|
+
kind: "behavioral",
|
|
9436
|
+
target: "component-prop",
|
|
9437
|
+
appliesTo: "tabs",
|
|
9438
|
+
themeValues: {
|
|
9439
|
+
LightTheme: "md",
|
|
9440
|
+
DarkTheme: "md"
|
|
9441
|
+
}
|
|
9442
|
+
},
|
|
9443
|
+
{
|
|
9444
|
+
id: "multiSelectDropdown.behavior.textRole",
|
|
9445
|
+
value: "input",
|
|
9446
|
+
type: "string",
|
|
9447
|
+
kind: "behavioral",
|
|
9448
|
+
target: "component-prop",
|
|
9449
|
+
appliesTo: "multiSelectDropdown",
|
|
9450
|
+
themeValues: {
|
|
9451
|
+
LightTheme: "input",
|
|
9452
|
+
DarkTheme: "input"
|
|
9453
|
+
}
|
|
9454
|
+
},
|
|
9455
|
+
{
|
|
9456
|
+
id: "multiSelectDropdown.behavior.textColor",
|
|
9457
|
+
value: "on-primary-surface",
|
|
9458
|
+
type: "string",
|
|
9459
|
+
kind: "behavioral",
|
|
9460
|
+
target: "component-prop",
|
|
9461
|
+
appliesTo: "multiSelectDropdown",
|
|
9462
|
+
themeValues: {
|
|
9463
|
+
LightTheme: "on-primary-surface",
|
|
9464
|
+
DarkTheme: "on-primary-surface"
|
|
9465
|
+
}
|
|
9466
|
+
},
|
|
9467
|
+
{
|
|
9468
|
+
id: "multiSelectDropdown.behavior.dividerBorder",
|
|
9469
|
+
value: "light",
|
|
9470
|
+
type: "string",
|
|
9471
|
+
kind: "behavioral",
|
|
9472
|
+
target: "component-prop",
|
|
9473
|
+
appliesTo: "multiSelectDropdown",
|
|
9474
|
+
themeValues: {
|
|
9475
|
+
LightTheme: "light",
|
|
9476
|
+
DarkTheme: "light"
|
|
9477
|
+
}
|
|
9478
|
+
},
|
|
9479
|
+
{
|
|
9480
|
+
id: "multiSelectDropdown.behavior.searchInputBorder",
|
|
9481
|
+
value: "light",
|
|
9482
|
+
type: "string",
|
|
9483
|
+
kind: "behavioral",
|
|
9484
|
+
target: "component-prop",
|
|
9485
|
+
appliesTo: "multiSelectDropdown",
|
|
9486
|
+
themeValues: {
|
|
9487
|
+
LightTheme: "light",
|
|
9488
|
+
DarkTheme: "light"
|
|
9489
|
+
}
|
|
9490
|
+
},
|
|
9491
|
+
{
|
|
9492
|
+
id: "multiSelectDropdown.behavior.searchInputBorderRadius",
|
|
9493
|
+
value: "xxs",
|
|
9494
|
+
type: "string",
|
|
9495
|
+
kind: "behavioral",
|
|
9496
|
+
target: "component-prop",
|
|
9497
|
+
appliesTo: "multiSelectDropdown",
|
|
9498
|
+
themeValues: {
|
|
9499
|
+
LightTheme: "xxs",
|
|
9500
|
+
DarkTheme: "xxs"
|
|
9501
|
+
}
|
|
9502
|
+
},
|
|
9503
|
+
{
|
|
9504
|
+
id: "multiSelectDropdown.behavior.focusOutline",
|
|
9505
|
+
value: "2px solid #6A6F8F",
|
|
9506
|
+
type: "string",
|
|
9507
|
+
kind: "behavioral",
|
|
9508
|
+
target: "component-prop",
|
|
9509
|
+
appliesTo: "multiSelectDropdown",
|
|
9510
|
+
themeValues: {
|
|
9511
|
+
LightTheme: "2px solid #6A6F8F",
|
|
9512
|
+
DarkTheme: "2px solid #AFB5D8"
|
|
9513
|
+
}
|
|
9514
|
+
},
|
|
9515
|
+
{
|
|
9516
|
+
id: "multiSelectDropdown.behavior.focusOutlineOffset",
|
|
9517
|
+
value: 2,
|
|
9518
|
+
type: "number",
|
|
9519
|
+
kind: "behavioral",
|
|
9520
|
+
target: "component-prop",
|
|
9521
|
+
appliesTo: "multiSelectDropdown",
|
|
9522
|
+
themeValues: {
|
|
9523
|
+
LightTheme: 2,
|
|
9524
|
+
DarkTheme: 2
|
|
9525
|
+
}
|
|
9526
|
+
},
|
|
9527
|
+
{
|
|
9528
|
+
id: "badge.behavior.borderRadius",
|
|
9529
|
+
value: "xxs",
|
|
9530
|
+
type: "string",
|
|
9531
|
+
kind: "behavioral",
|
|
9532
|
+
target: "component-prop",
|
|
9533
|
+
appliesTo: "badge",
|
|
9534
|
+
themeValues: {
|
|
9535
|
+
LightTheme: "xxs",
|
|
9536
|
+
DarkTheme: "xxs"
|
|
9537
|
+
}
|
|
9538
|
+
},
|
|
9539
|
+
{
|
|
9540
|
+
id: "tag.behavior.borderRadius",
|
|
9541
|
+
value: "max",
|
|
9542
|
+
type: "string",
|
|
9543
|
+
kind: "behavioral",
|
|
9544
|
+
target: "component-prop",
|
|
9545
|
+
appliesTo: "tag",
|
|
8513
9546
|
themeValues: {
|
|
8514
|
-
LightTheme: "
|
|
8515
|
-
DarkTheme: "
|
|
9547
|
+
LightTheme: "max",
|
|
9548
|
+
DarkTheme: "max"
|
|
8516
9549
|
}
|
|
8517
9550
|
},
|
|
8518
9551
|
{
|
|
8519
|
-
id: "
|
|
8520
|
-
value: "
|
|
9552
|
+
id: "tag.behavior.typeface",
|
|
9553
|
+
value: "tag",
|
|
8521
9554
|
type: "string",
|
|
8522
9555
|
kind: "behavioral",
|
|
8523
9556
|
target: "component-prop",
|
|
8524
|
-
appliesTo: "
|
|
9557
|
+
appliesTo: "tag",
|
|
8525
9558
|
themeValues: {
|
|
8526
|
-
LightTheme: "
|
|
8527
|
-
DarkTheme: "
|
|
9559
|
+
LightTheme: "tag",
|
|
9560
|
+
DarkTheme: "tag"
|
|
8528
9561
|
}
|
|
8529
9562
|
},
|
|
8530
9563
|
{
|
|
8531
|
-
id: "
|
|
8532
|
-
value: "
|
|
9564
|
+
id: "tag.behavior.gap",
|
|
9565
|
+
value: "xs",
|
|
8533
9566
|
type: "string",
|
|
8534
9567
|
kind: "behavioral",
|
|
8535
9568
|
target: "component-prop",
|
|
8536
|
-
appliesTo: "
|
|
9569
|
+
appliesTo: "tag",
|
|
8537
9570
|
themeValues: {
|
|
8538
|
-
LightTheme: "
|
|
8539
|
-
DarkTheme: "
|
|
9571
|
+
LightTheme: "xs",
|
|
9572
|
+
DarkTheme: "xs"
|
|
8540
9573
|
}
|
|
8541
9574
|
},
|
|
8542
9575
|
{
|
|
8543
|
-
id: "
|
|
8544
|
-
value: "
|
|
9576
|
+
id: "tag.behavior.removeIcon",
|
|
9577
|
+
value: "close",
|
|
8545
9578
|
type: "string",
|
|
8546
9579
|
kind: "behavioral",
|
|
8547
9580
|
target: "component-prop",
|
|
8548
|
-
appliesTo: "
|
|
9581
|
+
appliesTo: "tag",
|
|
8549
9582
|
themeValues: {
|
|
8550
|
-
LightTheme: "
|
|
8551
|
-
DarkTheme: "
|
|
9583
|
+
LightTheme: "close",
|
|
9584
|
+
DarkTheme: "close"
|
|
8552
9585
|
}
|
|
8553
9586
|
},
|
|
8554
9587
|
{
|
|
8555
|
-
id: "
|
|
8556
|
-
value: "
|
|
9588
|
+
id: "tag.behavior.selectedIcon",
|
|
9589
|
+
value: "check",
|
|
8557
9590
|
type: "string",
|
|
8558
9591
|
kind: "behavioral",
|
|
8559
9592
|
target: "component-prop",
|
|
8560
|
-
appliesTo: "
|
|
9593
|
+
appliesTo: "tag",
|
|
8561
9594
|
themeValues: {
|
|
8562
|
-
LightTheme: "
|
|
8563
|
-
DarkTheme: "
|
|
9595
|
+
LightTheme: "check",
|
|
9596
|
+
DarkTheme: "check"
|
|
8564
9597
|
}
|
|
8565
9598
|
},
|
|
8566
9599
|
{
|
|
8567
|
-
id: "
|
|
8568
|
-
value: "
|
|
9600
|
+
id: "tagInput.behavior.chipGap",
|
|
9601
|
+
value: "xs",
|
|
8569
9602
|
type: "string",
|
|
8570
9603
|
kind: "behavioral",
|
|
8571
9604
|
target: "component-prop",
|
|
8572
|
-
appliesTo: "
|
|
9605
|
+
appliesTo: "tagInput",
|
|
8573
9606
|
themeValues: {
|
|
8574
|
-
LightTheme: "
|
|
8575
|
-
DarkTheme: "
|
|
9607
|
+
LightTheme: "xs",
|
|
9608
|
+
DarkTheme: "xs"
|
|
8576
9609
|
}
|
|
8577
9610
|
},
|
|
8578
9611
|
{
|
|
8579
|
-
id: "
|
|
8580
|
-
value: "
|
|
9612
|
+
id: "tagInput.behavior.chipSize",
|
|
9613
|
+
value: "md",
|
|
8581
9614
|
type: "string",
|
|
8582
9615
|
kind: "behavioral",
|
|
8583
9616
|
target: "component-prop",
|
|
8584
|
-
appliesTo: "
|
|
9617
|
+
appliesTo: "tagInput",
|
|
8585
9618
|
themeValues: {
|
|
8586
|
-
LightTheme: "
|
|
8587
|
-
DarkTheme: "
|
|
9619
|
+
LightTheme: "md",
|
|
9620
|
+
DarkTheme: "md"
|
|
8588
9621
|
}
|
|
8589
9622
|
},
|
|
8590
9623
|
{
|
|
8591
|
-
id: "
|
|
8592
|
-
value: "
|
|
9624
|
+
id: "tagInput.behavior.minInputWidth",
|
|
9625
|
+
value: "12ch",
|
|
8593
9626
|
type: "string",
|
|
8594
9627
|
kind: "behavioral",
|
|
8595
9628
|
target: "component-prop",
|
|
8596
|
-
appliesTo: "
|
|
9629
|
+
appliesTo: "tagInput",
|
|
8597
9630
|
themeValues: {
|
|
8598
|
-
LightTheme: "
|
|
8599
|
-
DarkTheme: "
|
|
9631
|
+
LightTheme: "12ch",
|
|
9632
|
+
DarkTheme: "12ch"
|
|
8600
9633
|
}
|
|
8601
9634
|
},
|
|
8602
9635
|
{
|
|
8603
|
-
id: "
|
|
8604
|
-
value: "
|
|
9636
|
+
id: "tagInput.behavior.listColor",
|
|
9637
|
+
value: "primary-surface",
|
|
8605
9638
|
type: "string",
|
|
8606
9639
|
kind: "behavioral",
|
|
8607
9640
|
target: "component-prop",
|
|
8608
|
-
appliesTo: "
|
|
9641
|
+
appliesTo: "tagInput",
|
|
8609
9642
|
themeValues: {
|
|
8610
|
-
LightTheme: "
|
|
8611
|
-
DarkTheme: "
|
|
9643
|
+
LightTheme: "primary-surface",
|
|
9644
|
+
DarkTheme: "primary-surface"
|
|
8612
9645
|
}
|
|
8613
9646
|
},
|
|
8614
9647
|
{
|
|
8615
|
-
id: "
|
|
8616
|
-
value: "
|
|
9648
|
+
id: "tagInput.behavior.listShadow",
|
|
9649
|
+
value: "menu",
|
|
8617
9650
|
type: "string",
|
|
8618
9651
|
kind: "behavioral",
|
|
8619
9652
|
target: "component-prop",
|
|
8620
|
-
appliesTo: "
|
|
9653
|
+
appliesTo: "tagInput",
|
|
8621
9654
|
themeValues: {
|
|
8622
|
-
LightTheme: "
|
|
8623
|
-
DarkTheme: "
|
|
9655
|
+
LightTheme: "menu",
|
|
9656
|
+
DarkTheme: "menu"
|
|
8624
9657
|
}
|
|
8625
9658
|
},
|
|
8626
9659
|
{
|
|
8627
|
-
id: "
|
|
8628
|
-
value:
|
|
8629
|
-
type: "
|
|
9660
|
+
id: "tagInput.behavior.listBorderRadius",
|
|
9661
|
+
value: "xs",
|
|
9662
|
+
type: "string",
|
|
8630
9663
|
kind: "behavioral",
|
|
8631
9664
|
target: "component-prop",
|
|
8632
|
-
appliesTo: "
|
|
9665
|
+
appliesTo: "tagInput",
|
|
8633
9666
|
themeValues: {
|
|
8634
|
-
LightTheme:
|
|
8635
|
-
DarkTheme:
|
|
9667
|
+
LightTheme: "xs",
|
|
9668
|
+
DarkTheme: "xs"
|
|
8636
9669
|
}
|
|
8637
9670
|
},
|
|
8638
9671
|
{
|
|
8639
|
-
id: "
|
|
8640
|
-
value:
|
|
8641
|
-
type: "
|
|
9672
|
+
id: "tagInput.behavior.maxSuggestions",
|
|
9673
|
+
value: 8,
|
|
9674
|
+
type: "number",
|
|
8642
9675
|
kind: "behavioral",
|
|
8643
9676
|
target: "component-prop",
|
|
8644
|
-
appliesTo: "
|
|
9677
|
+
appliesTo: "tagInput",
|
|
8645
9678
|
themeValues: {
|
|
8646
|
-
LightTheme:
|
|
8647
|
-
DarkTheme:
|
|
9679
|
+
LightTheme: 8,
|
|
9680
|
+
DarkTheme: 8
|
|
8648
9681
|
}
|
|
8649
9682
|
},
|
|
8650
9683
|
{
|
|
@@ -9754,6 +10787,26 @@ var uni_index_default = {
|
|
|
9754
10787
|
color: "primary-surface",
|
|
9755
10788
|
shadow: "menu"
|
|
9756
10789
|
},
|
|
10790
|
+
menu: {
|
|
10791
|
+
minWidth: 184,
|
|
10792
|
+
paddingVertical: "xs",
|
|
10793
|
+
paddingHorizontal: "none",
|
|
10794
|
+
dividerBorder: "light",
|
|
10795
|
+
dividerSpacing: "xs"
|
|
10796
|
+
},
|
|
10797
|
+
menuItem: {
|
|
10798
|
+
height: 38,
|
|
10799
|
+
paddingHorizontal: "md",
|
|
10800
|
+
gap: "md",
|
|
10801
|
+
borderRadius: "none",
|
|
10802
|
+
typeface: "label",
|
|
10803
|
+
hoverColor: "primary-container",
|
|
10804
|
+
activeSymbol: "check",
|
|
10805
|
+
transitionSpeed: 0.35
|
|
10806
|
+
},
|
|
10807
|
+
expand: {
|
|
10808
|
+
transitionSpeed: 0.35
|
|
10809
|
+
},
|
|
9757
10810
|
footer: {
|
|
9758
10811
|
height: 52,
|
|
9759
10812
|
color: "primary",
|
|
@@ -9802,6 +10855,22 @@ var uni_index_default = {
|
|
|
9802
10855
|
badge: {
|
|
9803
10856
|
borderRadius: "xxs"
|
|
9804
10857
|
},
|
|
10858
|
+
tag: {
|
|
10859
|
+
borderRadius: "max",
|
|
10860
|
+
typeface: "tag",
|
|
10861
|
+
gap: "xs",
|
|
10862
|
+
removeIcon: "close",
|
|
10863
|
+
selectedIcon: "check"
|
|
10864
|
+
},
|
|
10865
|
+
tagInput: {
|
|
10866
|
+
chipGap: "xs",
|
|
10867
|
+
chipSize: "md",
|
|
10868
|
+
minInputWidth: "12ch",
|
|
10869
|
+
listColor: "primary-surface",
|
|
10870
|
+
listShadow: "menu",
|
|
10871
|
+
listBorderRadius: "xs",
|
|
10872
|
+
maxSuggestions: 8
|
|
10873
|
+
},
|
|
9805
10874
|
button: {
|
|
9806
10875
|
borderRadius: "max",
|
|
9807
10876
|
typeface: "button"
|
|
@@ -10135,6 +11204,26 @@ var uni_index_default = {
|
|
|
10135
11204
|
color: "primary-surface",
|
|
10136
11205
|
shadow: "menu"
|
|
10137
11206
|
},
|
|
11207
|
+
menu: {
|
|
11208
|
+
minWidth: 184,
|
|
11209
|
+
paddingVertical: "xs",
|
|
11210
|
+
paddingHorizontal: "none",
|
|
11211
|
+
dividerBorder: "light",
|
|
11212
|
+
dividerSpacing: "xs"
|
|
11213
|
+
},
|
|
11214
|
+
menuItem: {
|
|
11215
|
+
height: 38,
|
|
11216
|
+
paddingHorizontal: "md",
|
|
11217
|
+
gap: "md",
|
|
11218
|
+
borderRadius: "none",
|
|
11219
|
+
typeface: "label",
|
|
11220
|
+
hoverColor: "primary-container",
|
|
11221
|
+
activeSymbol: "check",
|
|
11222
|
+
transitionSpeed: 0.35
|
|
11223
|
+
},
|
|
11224
|
+
expand: {
|
|
11225
|
+
transitionSpeed: 0.35
|
|
11226
|
+
},
|
|
10138
11227
|
footer: {
|
|
10139
11228
|
height: 52,
|
|
10140
11229
|
color: "primary",
|
|
@@ -10183,6 +11272,22 @@ var uni_index_default = {
|
|
|
10183
11272
|
badge: {
|
|
10184
11273
|
borderRadius: "xxs"
|
|
10185
11274
|
},
|
|
11275
|
+
tag: {
|
|
11276
|
+
borderRadius: "max",
|
|
11277
|
+
typeface: "tag",
|
|
11278
|
+
gap: "xs",
|
|
11279
|
+
removeIcon: "close",
|
|
11280
|
+
selectedIcon: "check"
|
|
11281
|
+
},
|
|
11282
|
+
tagInput: {
|
|
11283
|
+
chipGap: "xs",
|
|
11284
|
+
chipSize: "md",
|
|
11285
|
+
minInputWidth: "12ch",
|
|
11286
|
+
listColor: "primary-surface",
|
|
11287
|
+
listShadow: "menu",
|
|
11288
|
+
listBorderRadius: "xs",
|
|
11289
|
+
maxSuggestions: 8
|
|
11290
|
+
},
|
|
10186
11291
|
button: {
|
|
10187
11292
|
borderRadius: "max",
|
|
10188
11293
|
typeface: "button"
|
|
@@ -10511,6 +11616,11 @@ ${rows.join("\n")}${more}`;
|
|
|
10511
11616
|
}
|
|
10512
11617
|
|
|
10513
11618
|
// ../core/dist/esm/index.js
|
|
11619
|
+
var EXPAND_DEFAULT_SPEED = 0.35;
|
|
11620
|
+
var EXPAND_MIN_DURATION = 0.15;
|
|
11621
|
+
var EXPAND_MAX_DURATION = 0.6;
|
|
11622
|
+
var MIN_SCALE = EXPAND_MIN_DURATION / EXPAND_DEFAULT_SPEED;
|
|
11623
|
+
var MAX_SCALE = EXPAND_MAX_DURATION / EXPAND_DEFAULT_SPEED;
|
|
10514
11624
|
var cycle = (angle) => {
|
|
10515
11625
|
if (angle > 360) return angle - 360;
|
|
10516
11626
|
if (angle < 0) return angle + 360;
|
|
@@ -11022,6 +12132,7 @@ var BaseIcons = {
|
|
|
11022
12132
|
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",
|
|
11023
12133
|
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",
|
|
11024
12134
|
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",
|
|
12135
|
+
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",
|
|
11025
12136
|
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",
|
|
11026
12137
|
link: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M432.31-298.46H281.54q-75.34 0-128.44-53.1Q100-404.65 100-479.98q0-75.33 53.1-128.44 53.1-53.12 128.44-53.12h150.77v60H281.54q-50.39 0-85.96 35.58Q160-530.38 160-480q0 50.38 35.58 85.96 35.57 35.58 85.96 35.58h150.77v60ZM330-450v-60h300v60H330Zm197.69 151.54v-60h150.77q50.39 0 85.96-35.58Q800-429.62 800-480q0-50.38-35.58-85.96-35.57-35.58-85.96-35.58H527.69v-60h150.77q75.34 0 128.44 53.1Q860-555.35 860-480.02q0 75.33-53.1 128.44-53.1 53.12-128.44 53.12H527.69Z'/%3e%3c/svg%3e",
|
|
11027
12138
|
expand: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M140-140v-300h60v198.23L718.23-760H520v-60h300v300h-60v-198.23L241.77-200H440v60H140Z'/%3e%3c/svg%3e",
|
|
@@ -11041,6 +12152,7 @@ var BaseIcons = {
|
|
|
11041
12152
|
share: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M672.22-100q-44.91 0-76.26-31.41-31.34-31.41-31.34-76.28 0-6 4.15-29.16L284.31-404.31q-14.46 15-34.36 23.5t-42.64 8.5q-44.71 0-76.01-31.54Q100-435.39 100-480q0-44.61 31.3-76.15 31.3-31.54 76.01-31.54 22.74 0 42.64 8.5 19.9 8.5 34.36 23.5l284.46-167.08q-2.38-7.38-3.27-14.46-.88-7.08-.88-15.08 0-44.87 31.43-76.28Q627.49-860 672.4-860t76.25 31.44Q780-797.13 780-752.22q0 44.91-31.41 76.26-31.41 31.34-76.28 31.34-22.85 0-42.5-8.69Q610.15-662 595.69-677L311.23-509.54q2.38 7.39 3.27 14.46.88 7.08.88 15.08t-.88 15.08q-.89 7.07-3.27 14.46L595.69-283q14.46-15 34.12-23.69 19.65-8.69 42.5-8.69 44.87 0 76.28 31.43Q780-252.51 780-207.6t-31.44 76.25Q717.13-100 672.22-100Zm.09-60q20.27 0 33.98-13.71Q720-187.42 720-207.69q0-20.27-13.71-33.98-13.71-13.72-33.98-13.72-20.27 0-33.98 13.72-13.72 13.71-13.72 33.98 0 20.27 13.72 33.98Q652.04-160 672.31-160Zm-465-272.31q20.43 0 34.25-13.8 13.83-13.81 13.83-33.89t-13.83-33.89q-13.82-13.8-34.25-13.8-20.11 0-33.71 13.8Q160-500.08 160-480t13.6 33.89q13.6 13.8 33.71 13.8Zm498.88-286.02Q720-732.04 720-752.31q0-20.27-13.71-33.98Q692.58-800 672.31-800q-20.27 0-33.98 13.71-13.72 13.71-13.72 33.98 0 20.27 13.81 33.98 13.81 13.72 33.89 13.72 20.07 0 33.88-13.72Zm-33.88 510.64ZM207.69-480Zm464.62-272.31Z'/%3e%3c/svg%3e",
|
|
11042
12153
|
send: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M140-190v-580l688.46 290L140-190Zm60-90 474-200-474-200v147.69L416.92-480 200-427.69V-280Zm0 0v-400 400Z'/%3e%3c/svg%3e",
|
|
11043
12154
|
filter: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M411.15-260v-60h137.31v60H411.15ZM256.16-450v-60h447.3v60h-447.3ZM140-640v-60h680v60H140Z'/%3e%3c/svg%3e",
|
|
12155
|
+
funnel: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M455.39-180q-15.08 0-25.23-10.16Q420-200.31 420-215.39v-231.53L196.08-731.38q-11.54-15.39-3.35-32 8.2-16.62 27.66-16.62h519.22q19.46 0 27.66 16.62 8.19 16.61-3.35 32L540-446.92v231.53q0 15.08-10.16 25.23Q519.69-180 504.61-180h-49.22ZM480-468l198-252H282l198 252Zm0 0Z'/%3e%3c/svg%3e",
|
|
11044
12156
|
refresh: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M481.54-180q-125.63 0-212.81-87.17-87.19-87.17-87.19-212.77 0-125.6 87.19-212.83Q355.91-780 481.54-780q70.15 0 132.77 31.19 62.61 31.2 104.15 88.04V-780h60v244.61H533.85v-59.99h158q-31.62-57.93-87.7-91.27Q548.08-720 481.54-720q-100 0-170 70t-70 170q0 100 70 170t170 70q77 0 139-44t87-116h63.23q-27.23 97.92-107.27 158.96Q583.46-180 481.54-180Z'/%3e%3c/svg%3e",
|
|
11045
12157
|
dragHandle: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M360-175.39q-26.65 0-45.63-18.98-18.98-18.98-18.98-45.63 0-26.65 18.98-45.63 18.98-18.98 45.63-18.98 26.65 0 45.63 18.98 18.98 18.98 18.98 45.63 0 26.65-18.98 45.63-18.98 18.98-45.63 18.98Zm240 0q-26.65 0-45.63-18.98-18.98-18.98-18.98-45.63 0-26.65 18.98-45.63 18.98-18.98 45.63-18.98 26.65 0 45.63 18.98 18.98 18.98 18.98 45.63 0 26.65-18.98 45.63-18.98 18.98-45.63 18.98Zm-240-240q-26.65 0-45.63-18.98-18.98-18.98-18.98-45.63 0-26.65 18.98-45.63 18.98-18.98 45.63-18.98 26.65 0 45.63 18.98 18.98 18.98 18.98 45.63 0 26.65-18.98 45.63-18.98 18.98-45.63 18.98Zm240 0q-26.65 0-45.63-18.98-18.98-18.98-18.98-45.63 0-26.65 18.98-45.63 18.98-18.98 45.63-18.98 26.65 0 45.63 18.98 18.98 18.98 18.98 45.63 0 26.65-18.98 45.63-18.98 18.98-45.63 18.98Zm-240-240q-26.65 0-45.63-18.98-18.98-18.98-18.98-45.63 0-26.65 18.98-45.63 18.98-18.98 45.63-18.98 26.65 0 45.63 18.98 18.98 18.98 18.98 45.63 0 26.65-18.98 45.63-18.98 18.98-45.63 18.98Zm240 0q-26.65 0-45.63-18.98-18.98-18.98-18.98-45.63 0-26.65 18.98-45.63 18.98-18.98 45.63-18.98 26.65 0 45.63 18.98 18.98 18.98 18.98 45.63 0 26.65-18.98 45.63-18.98 18.98-45.63 18.98Z'/%3e%3c/svg%3e",
|
|
11046
12158
|
qrCode: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M140-520v-300h300v300H140Zm60-60h180v-180H200v180Zm-60 440v-300h300v300H140Zm60-60h180v-180H200v180Zm320-320v-300h300v300H520Zm60-60h180v-180H580v180Zm165 440v-75h75v75h-75ZM520-365v-75h75v75h-75Zm75 75v-75h75v75h-75Zm-75 75v-75h75v75h-75Zm75 75v-75h75v75h-75Zm75-75v-75h75v75h-75Zm0-150v-75h75v75h-75Zm75 75v-75h75v75h-75Z'/%3e%3c/svg%3e",
|
|
@@ -11074,6 +12186,7 @@ var BaseIcons = {
|
|
|
11074
12186
|
logout: "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-21h268.07v60H212.31q-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.85h268.07v60H212.31Zm436.92-169.23-41.54-43.39L705.08-450H363.85v-60h341.23l-97.39-97.38 41.54-43.39L820-480 649.23-309.23Z'/%3e%3c/svg%3e",
|
|
11075
12187
|
spinner: "data:image/svg+xml;charset=UTF-8,%3csvg stroke='%23000' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3e%3cstyle%3e .oui_spinner %7b transform-origin: center; animation: rotate_360 2s linear infinite;%7d .oui_spinner circle %7b stroke-linecap: round; animation: dash 1.5s ease-in-out infinite;%7d %40keyframes rotate_360 %7b 100%25 %7b transform: rotate(360deg);%7d %7d %40keyframes dash %7b 0%25 %7b stroke-dasharray: 0 150; stroke-dashoffset: 0;%7d 47.5%25 %7b stroke-dasharray: 42 150; stroke-dashoffset: -16;%7d 95%25, 100%25 %7b stroke-dasharray: 42 150; stroke-dashoffset: -59;%7d %7d %3c/style%3e%3cg class='oui_spinner'%3e%3ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3'%3e%3c/circle%3e%3c/g%3e%3c/svg%3e "
|
|
11076
12188
|
};
|
|
12189
|
+
var HOVER_OR_KEYBOARD_FOCUS = "&:hover, &:focus-visible";
|
|
11077
12190
|
var BaseTypography = {
|
|
11078
12191
|
"display-large": {
|
|
11079
12192
|
fontFamily: "Red Hat Display",
|
|
@@ -11270,6 +12383,19 @@ var buildBorders = (c) => ({
|
|
|
11270
12383
|
dark: `1px solid ${c["on-background"]}`,
|
|
11271
12384
|
dotted: `1px dotted ${c["on-background"]}`
|
|
11272
12385
|
});
|
|
12386
|
+
var tagVariant = (c, role) => ({ [role]: {
|
|
12387
|
+
backgroundColor: c[`${role}-container`],
|
|
12388
|
+
color: c[`on-${role}-container`],
|
|
12389
|
+
"&.tone-solid": {
|
|
12390
|
+
backgroundColor: c[role],
|
|
12391
|
+
color: c[`on-${role}`]
|
|
12392
|
+
},
|
|
12393
|
+
"&.tone-outline": {
|
|
12394
|
+
backgroundColor: "transparent",
|
|
12395
|
+
color: c[role],
|
|
12396
|
+
borderColor: c[`on-${role}-container-border`] ?? c[role]
|
|
12397
|
+
}
|
|
12398
|
+
} });
|
|
11273
12399
|
var buildComponents = (c) => ({
|
|
11274
12400
|
alert: { options: {
|
|
11275
12401
|
topPosition: 40,
|
|
@@ -11415,6 +12541,38 @@ var buildComponents = (c) => ({
|
|
|
11415
12541
|
color: "primary-surface",
|
|
11416
12542
|
shadow: "menu"
|
|
11417
12543
|
} },
|
|
12544
|
+
menu: { options: {
|
|
12545
|
+
minWidth: 184,
|
|
12546
|
+
color: void 0,
|
|
12547
|
+
border: void 0,
|
|
12548
|
+
borderRadius: void 0,
|
|
12549
|
+
shadow: void 0,
|
|
12550
|
+
paddingVertical: "xs",
|
|
12551
|
+
paddingHorizontal: "none",
|
|
12552
|
+
dividerBorder: "light",
|
|
12553
|
+
dividerSpacing: "xs"
|
|
12554
|
+
} },
|
|
12555
|
+
menuItem: {
|
|
12556
|
+
options: {
|
|
12557
|
+
height: 38,
|
|
12558
|
+
paddingHorizontal: "md",
|
|
12559
|
+
gap: "md",
|
|
12560
|
+
borderRadius: "none",
|
|
12561
|
+
typeface: "label",
|
|
12562
|
+
textColor: void 0,
|
|
12563
|
+
hoverColor: "primary-container",
|
|
12564
|
+
activeSymbol: "check",
|
|
12565
|
+
transitionSpeed: 0.35
|
|
12566
|
+
},
|
|
12567
|
+
variants: { warn: {
|
|
12568
|
+
color: c.warn,
|
|
12569
|
+
[HOVER_OR_KEYBOARD_FOCUS]: {
|
|
12570
|
+
backgroundColor: c["warn-container"],
|
|
12571
|
+
color: c["on-warn-container"]
|
|
12572
|
+
}
|
|
12573
|
+
} }
|
|
12574
|
+
},
|
|
12575
|
+
expand: { options: { transitionSpeed: 0.35 } },
|
|
11418
12576
|
footer: { options: {
|
|
11419
12577
|
height: 52,
|
|
11420
12578
|
color: "primary",
|
|
@@ -11462,6 +12620,79 @@ var buildComponents = (c) => ({
|
|
|
11462
12620
|
focusOutlineOffset: 2
|
|
11463
12621
|
} },
|
|
11464
12622
|
badge: { options: { borderRadius: "xxs" } },
|
|
12623
|
+
tag: {
|
|
12624
|
+
options: {
|
|
12625
|
+
borderRadius: "max",
|
|
12626
|
+
typeface: "tag",
|
|
12627
|
+
gap: "xs",
|
|
12628
|
+
removeIcon: "close",
|
|
12629
|
+
selectedIcon: "check"
|
|
12630
|
+
},
|
|
12631
|
+
fixed: {
|
|
12632
|
+
display: "inline-flex",
|
|
12633
|
+
alignItems: "center",
|
|
12634
|
+
maxWidth: "100%",
|
|
12635
|
+
border: "1px solid transparent",
|
|
12636
|
+
transition: "background-color .2s ease, color .2s ease"
|
|
12637
|
+
},
|
|
12638
|
+
variants: {
|
|
12639
|
+
...tagVariant(c, "primary"),
|
|
12640
|
+
...tagVariant(c, "secondary"),
|
|
12641
|
+
...tagVariant(c, "tertiary"),
|
|
12642
|
+
...tagVariant(c, "warn"),
|
|
12643
|
+
...tagVariant(c, "success"),
|
|
12644
|
+
ghost: {
|
|
12645
|
+
backgroundColor: "transparent",
|
|
12646
|
+
color: c["on-background"],
|
|
12647
|
+
"&.tone-solid": {
|
|
12648
|
+
backgroundColor: c["surface-variant"],
|
|
12649
|
+
color: c["on-surface-variant"]
|
|
12650
|
+
},
|
|
12651
|
+
"&.tone-outline": {
|
|
12652
|
+
backgroundColor: "transparent",
|
|
12653
|
+
borderColor: c.outline
|
|
12654
|
+
}
|
|
12655
|
+
},
|
|
12656
|
+
disabled: {
|
|
12657
|
+
backgroundColor: c["disabled-container"],
|
|
12658
|
+
color: c["on-disabled"],
|
|
12659
|
+
"&.tone-solid": {
|
|
12660
|
+
backgroundColor: c.disabled,
|
|
12661
|
+
color: c["on-disabled"]
|
|
12662
|
+
},
|
|
12663
|
+
"&.tone-outline": {
|
|
12664
|
+
backgroundColor: "transparent",
|
|
12665
|
+
borderColor: c.disabled
|
|
12666
|
+
}
|
|
12667
|
+
}
|
|
12668
|
+
},
|
|
12669
|
+
sizes: {
|
|
12670
|
+
sm: {
|
|
12671
|
+
height: 20,
|
|
12672
|
+
fontSize: 12,
|
|
12673
|
+
padding: "0 8px"
|
|
12674
|
+
},
|
|
12675
|
+
md: {
|
|
12676
|
+
height: 24,
|
|
12677
|
+
fontSize: 13,
|
|
12678
|
+
padding: "0 10px"
|
|
12679
|
+
},
|
|
12680
|
+
lg: {
|
|
12681
|
+
height: 32,
|
|
12682
|
+
fontSize: 15,
|
|
12683
|
+
padding: "0 12px"
|
|
12684
|
+
}
|
|
12685
|
+
}
|
|
12686
|
+
},
|
|
12687
|
+
tagInput: { options: {
|
|
12688
|
+
chipGap: "xs",
|
|
12689
|
+
chipSize: "md",
|
|
12690
|
+
minInputWidth: "12ch",
|
|
12691
|
+
listColor: "primary-surface",
|
|
12692
|
+
listShadow: "menu",
|
|
12693
|
+
listBorderRadius: "xs",
|
|
12694
|
+
maxSuggestions: 8
|
|
12695
|
+
} },
|
|
11465
12696
|
button: {
|
|
11466
12697
|
options: {
|
|
11467
12698
|
borderRadius: "max",
|
|
@@ -11765,11 +12996,11 @@ var buildComponents = (c) => ({
|
|
|
11765
12996
|
typeface: "label"
|
|
11766
12997
|
} }
|
|
11767
12998
|
});
|
|
11768
|
-
var isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
12999
|
+
var isRecord$1 = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
11769
13000
|
var deepMerge = (base, override) => {
|
|
11770
13001
|
if (!override) return base;
|
|
11771
13002
|
const out = { ...base };
|
|
11772
|
-
for (const [key, value] of Object.entries(override)) out[key] = isRecord(value) && isRecord(out[key]) ? deepMerge(out[key], value) : value;
|
|
13003
|
+
for (const [key, value] of Object.entries(override)) out[key] = isRecord$1(value) && isRecord$1(out[key]) ? deepMerge(out[key], value) : value;
|
|
11773
13004
|
return out;
|
|
11774
13005
|
};
|
|
11775
13006
|
var createTheme = ({ id, name, colors, icons = {}, radii = BaseRadii, shadows = BaseShadows, borders, components }) => ({
|
|
@@ -11788,6 +13019,10 @@ var createTheme = ({ id, name, colors, icons = {}, radii = BaseRadii, shadows =
|
|
|
11788
13019
|
},
|
|
11789
13020
|
components: deepMerge(buildComponents(colors), components)
|
|
11790
13021
|
});
|
|
13022
|
+
var dehydrateTheme = (theme) => ({
|
|
13023
|
+
...theme,
|
|
13024
|
+
icons: Object.fromEntries(Object.entries(theme.icons).filter(([name, uri]) => BaseIcons[name] !== uri))
|
|
13025
|
+
});
|
|
11791
13026
|
var BASE_PALETTE_CONFIG = {
|
|
11792
13027
|
seed: "#4F46E5",
|
|
11793
13028
|
scheme: "triadic",
|
|
@@ -11897,6 +13132,29 @@ var generateThemes = (input) => {
|
|
|
11897
13132
|
}
|
|
11898
13133
|
};
|
|
11899
13134
|
};
|
|
13135
|
+
var summarizeContrast = (report) => `${report.checks.length} contrast pairs checked \xB7 worst ${report.worstRatio}:1 \xB7 ${report.pass ? "all AA" : `${report.checks.filter((check) => !check.pass).length} failing`}`;
|
|
13136
|
+
var generateUniThemes = (input) => {
|
|
13137
|
+
const { lightColors: lightColors2, darkColors: darkColors2, radii, lightShadows, darkShadows, report } = generateThemes(input);
|
|
13138
|
+
const name = input.name ?? "Brand";
|
|
13139
|
+
const id = name.replace(/\W+/g, "") || "Brand";
|
|
13140
|
+
return {
|
|
13141
|
+
light: createTheme({
|
|
13142
|
+
id: `${id}Light`,
|
|
13143
|
+
name: `${name} Light`,
|
|
13144
|
+
colors: lightColors2,
|
|
13145
|
+
radii,
|
|
13146
|
+
shadows: lightShadows
|
|
13147
|
+
}),
|
|
13148
|
+
dark: createTheme({
|
|
13149
|
+
id: `${id}Dark`,
|
|
13150
|
+
name: `${name} Dark`,
|
|
13151
|
+
colors: darkColors2,
|
|
13152
|
+
radii,
|
|
13153
|
+
shadows: darkShadows
|
|
13154
|
+
}),
|
|
13155
|
+
report
|
|
13156
|
+
};
|
|
13157
|
+
};
|
|
11900
13158
|
var IDENT = /^[A-Za-z_$][A-Za-z0-9_$]*$/;
|
|
11901
13159
|
var asKey = (k) => IDENT.test(k) ? k : `'${k}'`;
|
|
11902
13160
|
var recordLiteral = (record, indent) => Object.entries(record).map(([k, v]) => `${indent}${asKey(k)}: '${v}',`).join("\n");
|
|
@@ -11942,7 +13200,7 @@ var emitThemeFile = (input) => {
|
|
|
11942
13200
|
input.shape && `--shape=${input.shape}`,
|
|
11943
13201
|
!darkMode && "--dark-mode=false"
|
|
11944
13202
|
].filter(Boolean).join(" ");
|
|
11945
|
-
const reportSummary =
|
|
13203
|
+
const reportSummary = summarizeContrast(report);
|
|
11946
13204
|
const modes = [{
|
|
11947
13205
|
exportName: `${id}Light`,
|
|
11948
13206
|
displayName: `${name} Light`,
|
|
@@ -11998,7 +13256,7 @@ ${recordLiteral(shadows, " ")}
|
|
|
11998
13256
|
"const components = (colors: Colors): ComponentThemes => ({});",
|
|
11999
13257
|
"",
|
|
12000
13258
|
"/**",
|
|
12001
|
-
" * Icon primitives, merged over the built-in
|
|
13259
|
+
" * Icon primitives, merged over the built-in 61-icon set per name: reuse a",
|
|
12002
13260
|
" * built-in name to reskin it, or add any new name. Define an icon ONCE here",
|
|
12003
13261
|
" * and render it anywhere via `<uni-icon name='\u2026'/>` \u2014 never inline SVG in",
|
|
12004
13262
|
" * components.",
|
|
@@ -12179,20 +13437,236 @@ var UniThemes = {
|
|
|
12179
13437
|
DarkTheme
|
|
12180
13438
|
};
|
|
12181
13439
|
var DefaultThemeId = Object.keys(UniThemes)[0];
|
|
13440
|
+
var REQUIRED_COLOR_TOKENS = [
|
|
13441
|
+
"primary",
|
|
13442
|
+
"on-primary",
|
|
13443
|
+
"primary-container",
|
|
13444
|
+
"on-primary-container",
|
|
13445
|
+
"primary-surface",
|
|
13446
|
+
"on-primary-surface",
|
|
13447
|
+
"surface",
|
|
13448
|
+
"on-surface",
|
|
13449
|
+
"background",
|
|
13450
|
+
"on-background",
|
|
13451
|
+
"warn",
|
|
13452
|
+
"on-warn",
|
|
13453
|
+
"disabled",
|
|
13454
|
+
"on-disabled",
|
|
13455
|
+
"outline",
|
|
13456
|
+
"transparent"
|
|
13457
|
+
];
|
|
13458
|
+
var REQUIRED_TEXT_ROLES = [
|
|
13459
|
+
"display-large",
|
|
13460
|
+
"display-medium",
|
|
13461
|
+
"display-small",
|
|
13462
|
+
"headline-large",
|
|
13463
|
+
"headline-medium",
|
|
13464
|
+
"headline-small",
|
|
13465
|
+
"title-large",
|
|
13466
|
+
"title-medium",
|
|
13467
|
+
"title-small",
|
|
13468
|
+
"body-1-long",
|
|
13469
|
+
"body-1-short",
|
|
13470
|
+
"body-2-long",
|
|
13471
|
+
"body-2-short",
|
|
13472
|
+
"subtitle-1",
|
|
13473
|
+
"subtitle-2",
|
|
13474
|
+
"label",
|
|
13475
|
+
"button",
|
|
13476
|
+
"caption",
|
|
13477
|
+
"overline",
|
|
13478
|
+
"paragraph",
|
|
13479
|
+
"quote",
|
|
13480
|
+
"note"
|
|
13481
|
+
];
|
|
13482
|
+
var REQUIRED_SPACING_SIZES = [
|
|
13483
|
+
"none",
|
|
13484
|
+
"xxs",
|
|
13485
|
+
"xs",
|
|
13486
|
+
"sm",
|
|
13487
|
+
"md",
|
|
13488
|
+
"lg",
|
|
13489
|
+
"xl"
|
|
13490
|
+
];
|
|
13491
|
+
var REQUIRED_RADII_SIZES = [
|
|
13492
|
+
"none",
|
|
13493
|
+
"xxs",
|
|
13494
|
+
"xs",
|
|
13495
|
+
"sm",
|
|
13496
|
+
"md",
|
|
13497
|
+
"lg",
|
|
13498
|
+
"max"
|
|
13499
|
+
];
|
|
13500
|
+
var REQUIRED_SHADOWS = [
|
|
13501
|
+
"raised",
|
|
13502
|
+
"menu",
|
|
13503
|
+
"dialog",
|
|
13504
|
+
"warn"
|
|
13505
|
+
];
|
|
13506
|
+
var REQUIRED_THICKNESSES = [
|
|
13507
|
+
"thin",
|
|
13508
|
+
"standard",
|
|
13509
|
+
"thick"
|
|
13510
|
+
];
|
|
13511
|
+
var isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
13512
|
+
var isCssValue = (value) => typeof value === "string" || typeof value === "number";
|
|
13513
|
+
var checkStyleExpression = (value, path, issues) => {
|
|
13514
|
+
if (!isRecord(value)) {
|
|
13515
|
+
issues.push({
|
|
13516
|
+
path,
|
|
13517
|
+
message: "must be a style object"
|
|
13518
|
+
});
|
|
13519
|
+
return;
|
|
13520
|
+
}
|
|
13521
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
13522
|
+
if (entry === void 0 || isCssValue(entry)) continue;
|
|
13523
|
+
if (isRecord(entry)) checkStyleExpression(entry, `${path}.${key}`, issues);
|
|
13524
|
+
else issues.push({
|
|
13525
|
+
path: `${path}.${key}`,
|
|
13526
|
+
message: "must be a string, number, or nested style object"
|
|
13527
|
+
});
|
|
13528
|
+
}
|
|
13529
|
+
};
|
|
13530
|
+
var checkStringRecord = (value, path, issues, required = [], allowNumbers = false) => {
|
|
13531
|
+
if (!isRecord(value)) {
|
|
13532
|
+
issues.push({
|
|
13533
|
+
path,
|
|
13534
|
+
message: "must be an object"
|
|
13535
|
+
});
|
|
13536
|
+
return;
|
|
13537
|
+
}
|
|
13538
|
+
for (const key of required) if (!(key in value)) issues.push({
|
|
13539
|
+
path: `${path}.${key}`,
|
|
13540
|
+
message: "is required"
|
|
13541
|
+
});
|
|
13542
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
13543
|
+
if (entry === void 0) continue;
|
|
13544
|
+
if (!(allowNumbers ? isCssValue(entry) : typeof entry === "string")) issues.push({
|
|
13545
|
+
path: `${path}.${key}`,
|
|
13546
|
+
message: allowNumbers ? "must be a string or number" : "must be a string"
|
|
13547
|
+
});
|
|
13548
|
+
}
|
|
13549
|
+
};
|
|
13550
|
+
var checkTypography = (value, issues) => {
|
|
13551
|
+
if (!isRecord(value)) {
|
|
13552
|
+
issues.push({
|
|
13553
|
+
path: "typography",
|
|
13554
|
+
message: "must be an object"
|
|
13555
|
+
});
|
|
13556
|
+
return;
|
|
13557
|
+
}
|
|
13558
|
+
for (const role of REQUIRED_TEXT_ROLES) if (!(role in value)) issues.push({
|
|
13559
|
+
path: `typography.${role}`,
|
|
13560
|
+
message: "is required"
|
|
13561
|
+
});
|
|
13562
|
+
for (const [role, style] of Object.entries(value)) {
|
|
13563
|
+
if (!isRecord(style)) {
|
|
13564
|
+
issues.push({
|
|
13565
|
+
path: `typography.${role}`,
|
|
13566
|
+
message: "must be a TextStyle object"
|
|
13567
|
+
});
|
|
13568
|
+
continue;
|
|
13569
|
+
}
|
|
13570
|
+
if (typeof style["fontFamily"] !== "string") issues.push({
|
|
13571
|
+
path: `typography.${role}.fontFamily`,
|
|
13572
|
+
message: "must be a string"
|
|
13573
|
+
});
|
|
13574
|
+
for (const field of ["fontSize", "lineHeight"]) if (!isCssValue(style[field])) issues.push({
|
|
13575
|
+
path: `typography.${role}.${field}`,
|
|
13576
|
+
message: "must be a string or number"
|
|
13577
|
+
});
|
|
13578
|
+
}
|
|
13579
|
+
};
|
|
13580
|
+
var checkComponents = (value, issues) => {
|
|
13581
|
+
if (!isRecord(value)) {
|
|
13582
|
+
issues.push({
|
|
13583
|
+
path: "components",
|
|
13584
|
+
message: "must be an object"
|
|
13585
|
+
});
|
|
13586
|
+
return;
|
|
13587
|
+
}
|
|
13588
|
+
for (const [name, entry] of Object.entries(value)) {
|
|
13589
|
+
if (entry === void 0) continue;
|
|
13590
|
+
if (!isRecord(entry)) {
|
|
13591
|
+
issues.push({
|
|
13592
|
+
path: `components.${name}`,
|
|
13593
|
+
message: "must be a component theme object"
|
|
13594
|
+
});
|
|
13595
|
+
continue;
|
|
13596
|
+
}
|
|
13597
|
+
if (entry["fixed"] !== void 0) checkStyleExpression(entry["fixed"], `components.${name}.fixed`, issues);
|
|
13598
|
+
for (const section of ["variants", "sizes"]) {
|
|
13599
|
+
const styles = entry[section];
|
|
13600
|
+
if (styles === void 0) continue;
|
|
13601
|
+
if (!isRecord(styles)) {
|
|
13602
|
+
issues.push({
|
|
13603
|
+
path: `components.${name}.${section}`,
|
|
13604
|
+
message: "must be an object"
|
|
13605
|
+
});
|
|
13606
|
+
continue;
|
|
13607
|
+
}
|
|
13608
|
+
for (const [key, style] of Object.entries(styles)) if (style !== void 0) checkStyleExpression(style, `components.${name}.${section}.${key}`, issues);
|
|
13609
|
+
}
|
|
13610
|
+
if (entry["options"] !== void 0 && !isRecord(entry["options"])) issues.push({
|
|
13611
|
+
path: `components.${name}.options`,
|
|
13612
|
+
message: "must be an object"
|
|
13613
|
+
});
|
|
13614
|
+
}
|
|
13615
|
+
};
|
|
13616
|
+
var parseTheme = (input) => {
|
|
13617
|
+
const issues = [];
|
|
13618
|
+
if (!isRecord(input)) return {
|
|
13619
|
+
success: false,
|
|
13620
|
+
issues: [{
|
|
13621
|
+
path: "",
|
|
13622
|
+
message: "theme must be an object"
|
|
13623
|
+
}]
|
|
13624
|
+
};
|
|
13625
|
+
for (const field of ["id", "name"]) if (typeof input[field] !== "string" || input[field] === "") issues.push({
|
|
13626
|
+
path: field,
|
|
13627
|
+
message: "must be a non-empty string"
|
|
13628
|
+
});
|
|
13629
|
+
checkStringRecord(input["colors"], "colors", issues, REQUIRED_COLOR_TOKENS);
|
|
13630
|
+
checkTypography(input["typography"], issues);
|
|
13631
|
+
checkStringRecord(input["borders"], "borders", issues);
|
|
13632
|
+
checkStringRecord(input["radii"], "radii", issues, REQUIRED_RADII_SIZES);
|
|
13633
|
+
checkStringRecord(input["shadows"], "shadows", issues, REQUIRED_SHADOWS);
|
|
13634
|
+
checkStringRecord(input["spacing"], "spacing", issues, REQUIRED_SPACING_SIZES, true);
|
|
13635
|
+
checkStringRecord(input["thicknesses"], "thicknesses", issues, REQUIRED_THICKNESSES, true);
|
|
13636
|
+
checkStringRecord(input["icons"], "icons", issues);
|
|
13637
|
+
checkComponents(input["components"], issues);
|
|
13638
|
+
return issues.length === 0 ? {
|
|
13639
|
+
success: true,
|
|
13640
|
+
theme: input,
|
|
13641
|
+
issues: []
|
|
13642
|
+
} : {
|
|
13643
|
+
success: false,
|
|
13644
|
+
issues
|
|
13645
|
+
};
|
|
13646
|
+
};
|
|
13647
|
+
var formatThemeIssues = (issues) => issues.map(({ path, message }) => path ? `${path} ${message}` : message).join("; ");
|
|
12182
13648
|
|
|
12183
13649
|
// src/server/generate.ts
|
|
12184
13650
|
var HEX = /^#[0-9a-fA-F]{6}$/;
|
|
12185
|
-
function
|
|
12186
|
-
const seeds = (Array.isArray(
|
|
13651
|
+
function resolveSeed(brand) {
|
|
13652
|
+
const seeds = (Array.isArray(brand) ? brand : [brand]).map(
|
|
12187
13653
|
(s) => s.startsWith("#") ? s : `#${s}`
|
|
12188
13654
|
);
|
|
12189
13655
|
const invalid = seeds.filter((s) => !HEX.test(s));
|
|
12190
13656
|
if (invalid.length) {
|
|
12191
|
-
return
|
|
13657
|
+
return {
|
|
13658
|
+
ok: false,
|
|
13659
|
+
error: `Invalid brand color(s): ${invalid.join(", ")}. Pass 6-digit hex values, e.g. "#0052FF" (1\u20133 colors: primary, secondary, tertiary).`
|
|
13660
|
+
};
|
|
12192
13661
|
}
|
|
13662
|
+
return { ok: true, seed: seeds.length === 1 ? seeds[0] : seeds };
|
|
13663
|
+
}
|
|
13664
|
+
function formatGeneratedTheme(args) {
|
|
13665
|
+
const resolved = resolveSeed(args.brand);
|
|
13666
|
+
if (!resolved.ok) return resolved.error;
|
|
12193
13667
|
const { content, providerSnippet, reportSummary, report } = emitThemeFile({
|
|
12194
13668
|
...args,
|
|
12195
|
-
seed:
|
|
13669
|
+
seed: resolved.seed
|
|
12196
13670
|
});
|
|
12197
13671
|
const failing = report.checks.filter((c) => !c.pass);
|
|
12198
13672
|
const failLines = failing.length ? `
|
|
@@ -12233,7 +13707,7 @@ ${failing.map((f) => `- ${f.mode} \`${f.foreground}\` on \`${f.background}\`: ${
|
|
|
12233
13707
|
"- **Icons**: never inline SVG in components. Define an icon ONCE in the theme file's",
|
|
12234
13708
|
" `icons` map as an inline SVG data URI \u2014 it is masked with `currentColor`, so it",
|
|
12235
13709
|
" recolors with the theme \u2014 then render it anywhere with `<uni-icon name='\u2026'/>`.",
|
|
12236
|
-
" A built-in set of
|
|
13710
|
+
" A built-in set of 61 icons ships with every theme (navigation, actions, feedback,",
|
|
12237
13711
|
" user/system) \u2014 check `BaseIcons` before adding one; names are flat camelCase",
|
|
12238
13712
|
" (`chevronDown`, `checkCircle`, `externalLink`) and `IconName` autocompletes them.",
|
|
12239
13713
|
" To add your own, encode with `svgToIconUri` from uni-core rather than hand-writing",
|
|
@@ -12339,11 +13813,141 @@ function formatIconTokens(icons) {
|
|
|
12339
13813
|
return out.join("\n");
|
|
12340
13814
|
}
|
|
12341
13815
|
|
|
13816
|
+
// src/server/theme-json.ts
|
|
13817
|
+
var APPLY_SNIPPET = [
|
|
13818
|
+
"// Angular \u2014 ThemeService from @uni-design-system/uni-angular",
|
|
13819
|
+
"const result = themeService.registerTheme(theme, { select: true });",
|
|
13820
|
+
"if (!result.success) console.warn(result.issues);"
|
|
13821
|
+
].join("\n");
|
|
13822
|
+
var APPLY_NOTE = "Each `theme` is a complete, validated UniTheme with the built-in icon set elided. ThemeService restores it on register (the theme's own icons win). Outside Angular, call `hydrateTheme(theme)` from @uni-design-system/uni-core before use, and `parseTheme` if the payload crossed a trust boundary.";
|
|
13823
|
+
function envelope(themes, report) {
|
|
13824
|
+
for (const { id, theme } of themes) {
|
|
13825
|
+
const result = parseTheme(theme);
|
|
13826
|
+
if (!result.success) {
|
|
13827
|
+
return { ok: false, error: `Generated theme \`${id}\` failed validation: ${formatThemeIssues(result.issues)}` };
|
|
13828
|
+
}
|
|
13829
|
+
}
|
|
13830
|
+
return {
|
|
13831
|
+
ok: true,
|
|
13832
|
+
envelope: {
|
|
13833
|
+
themes,
|
|
13834
|
+
...report ? {
|
|
13835
|
+
contrast: {
|
|
13836
|
+
summary: summarizeContrast(report),
|
|
13837
|
+
pass: report.pass,
|
|
13838
|
+
worstRatio: report.worstRatio,
|
|
13839
|
+
failing: report.checks.filter((check) => !check.pass).map(({ mode, foreground, background, ratio, required }) => ({
|
|
13840
|
+
mode,
|
|
13841
|
+
foreground,
|
|
13842
|
+
background,
|
|
13843
|
+
ratio,
|
|
13844
|
+
required
|
|
13845
|
+
}))
|
|
13846
|
+
}
|
|
13847
|
+
} : {},
|
|
13848
|
+
apply: { snippet: APPLY_SNIPPET, note: APPLY_NOTE },
|
|
13849
|
+
iconsElided: true
|
|
13850
|
+
}
|
|
13851
|
+
};
|
|
13852
|
+
}
|
|
13853
|
+
function buildGeneratedTheme(args) {
|
|
13854
|
+
const resolved = resolveSeed(args.brand);
|
|
13855
|
+
if (!resolved.ok) return resolved;
|
|
13856
|
+
const { light, dark, report } = generateUniThemes({ ...args, seed: resolved.seed });
|
|
13857
|
+
const themes = [
|
|
13858
|
+
{ id: light.id, name: light.name, mode: "light", theme: dehydrateTheme(light) }
|
|
13859
|
+
];
|
|
13860
|
+
if (args.darkMode !== false) {
|
|
13861
|
+
themes.push({ id: dark.id, name: dark.name, mode: "dark", theme: dehydrateTheme(dark) });
|
|
13862
|
+
}
|
|
13863
|
+
return envelope(themes, report);
|
|
13864
|
+
}
|
|
13865
|
+
function listRuntimeThemes() {
|
|
13866
|
+
return Object.entries(UniThemes).map(([id, theme]) => ({
|
|
13867
|
+
id,
|
|
13868
|
+
name: theme.name,
|
|
13869
|
+
mode: modeOf(id)
|
|
13870
|
+
}));
|
|
13871
|
+
}
|
|
13872
|
+
var modeOf = (id) => /dark/i.test(id) ? "dark" : "light";
|
|
13873
|
+
function buildStoredTheme(id) {
|
|
13874
|
+
const theme = UniThemes[id];
|
|
13875
|
+
if (!theme) {
|
|
13876
|
+
const ids = Object.keys(UniThemes).join(", ");
|
|
13877
|
+
return { ok: false, error: `No theme found with id \`${id}\`. Available: ${ids}.` };
|
|
13878
|
+
}
|
|
13879
|
+
return envelope([
|
|
13880
|
+
{ id: theme.id, name: theme.name, mode: modeOf(id), theme: dehydrateTheme(theme) }
|
|
13881
|
+
]);
|
|
13882
|
+
}
|
|
13883
|
+
function summarizeEnvelope(env) {
|
|
13884
|
+
const list = env.themes.map((t) => `\`${t.id}\` (${t.mode})`).join(", ");
|
|
13885
|
+
const failing = env.contrast?.failing.length ? `
|
|
13886
|
+
|
|
13887
|
+
Failing pairs:
|
|
13888
|
+
${env.contrast.failing.map((f) => `- ${f.mode} \`${f.foreground}\` on \`${f.background}\`: ${f.ratio}:1 (needs ${f.required}:1)`).join("\n")}` : "";
|
|
13889
|
+
return [
|
|
13890
|
+
`# Runtime theme JSON \u2014 ${env.themes.length} theme${env.themes.length === 1 ? "" : "s"}`,
|
|
13891
|
+
"",
|
|
13892
|
+
`${list}. The full validated theme data is in this result's structured content.`,
|
|
13893
|
+
...env.contrast ? ["", `${env.contrast.summary}.${failing}`] : [],
|
|
13894
|
+
"",
|
|
13895
|
+
"## Apply",
|
|
13896
|
+
"",
|
|
13897
|
+
"```ts",
|
|
13898
|
+
env.apply.snippet,
|
|
13899
|
+
"```",
|
|
13900
|
+
"",
|
|
13901
|
+
env.apply.note,
|
|
13902
|
+
"",
|
|
13903
|
+
"To brand an app permanently instead, use `generate-uni-theme` \u2014 it returns an editable `uni-theme.ts` that becomes the source of truth. Use this tool when the theme should apply immediately without a build step."
|
|
13904
|
+
].join("\n");
|
|
13905
|
+
}
|
|
13906
|
+
|
|
12342
13907
|
// src/server/core.ts
|
|
12343
13908
|
var FrameworkArg = z.enum(["angular", "react"]);
|
|
12344
13909
|
function text(body) {
|
|
12345
13910
|
return { content: [{ type: "text", text: body }] };
|
|
12346
13911
|
}
|
|
13912
|
+
var ThemeGenerationInput = {
|
|
13913
|
+
brand: z.union([z.string(), z.array(z.string()).min(1).max(3)]).describe('Brand hex color(s), e.g. "#0052FF". 2\u20133 colors map to primary/secondary/tertiary.'),
|
|
13914
|
+
vibe: z.enum(["jewel", "pastel", "earth", "neutral", "florescent"]).optional().describe("Tonal character; defaults to a category inferred from the seed chroma."),
|
|
13915
|
+
scheme: z.enum(["monochromatic", "analogous", "complimentary", "splitComplimentary", "triadic"]).optional().describe("Hue-wheel relationship for generated roles; auto-classified for multi-color input."),
|
|
13916
|
+
name: z.string().optional().describe('Theme display name, defaults to "Brand".')
|
|
13917
|
+
};
|
|
13918
|
+
var RuntimeThemeOutput = {
|
|
13919
|
+
themes: z.array(
|
|
13920
|
+
z.object({
|
|
13921
|
+
id: z.string(),
|
|
13922
|
+
name: z.string(),
|
|
13923
|
+
mode: z.enum(["light", "dark"]),
|
|
13924
|
+
theme: z.record(z.string(), z.unknown()).describe("A validated UniTheme with the built-in icon set elided.")
|
|
13925
|
+
})
|
|
13926
|
+
).describe("Registration-ready themes."),
|
|
13927
|
+
contrast: z.object({
|
|
13928
|
+
summary: z.string(),
|
|
13929
|
+
pass: z.boolean(),
|
|
13930
|
+
worstRatio: z.number(),
|
|
13931
|
+
failing: z.array(
|
|
13932
|
+
z.object({
|
|
13933
|
+
mode: z.string(),
|
|
13934
|
+
foreground: z.string(),
|
|
13935
|
+
background: z.string(),
|
|
13936
|
+
ratio: z.number(),
|
|
13937
|
+
required: z.number()
|
|
13938
|
+
})
|
|
13939
|
+
)
|
|
13940
|
+
}).optional().describe("WCAG audit of the generated colors; absent for themes that ship with Uni."),
|
|
13941
|
+
apply: z.object({ snippet: z.string(), note: z.string() }).describe("How to register the theme, including the icon-hydration rule."),
|
|
13942
|
+
iconsElided: z.literal(true)
|
|
13943
|
+
};
|
|
13944
|
+
function runtimeTheme(result) {
|
|
13945
|
+
if (!result.ok) return { content: [{ type: "text", text: result.error }], isError: true };
|
|
13946
|
+
return {
|
|
13947
|
+
content: [{ type: "text", text: summarizeEnvelope(result.envelope) }],
|
|
13948
|
+
structuredContent: result.envelope
|
|
13949
|
+
};
|
|
13950
|
+
}
|
|
12347
13951
|
function notFound(kind, id) {
|
|
12348
13952
|
return text(
|
|
12349
13953
|
`No ${kind} found with id \`${id}\`. Use the matching list/search tool to discover valid ids.`
|
|
@@ -12353,7 +13957,7 @@ function createUniServer() {
|
|
|
12353
13957
|
const server = new McpServer(
|
|
12354
13958
|
{ name: "uni-design-system", version: meta.version },
|
|
12355
13959
|
{
|
|
12356
|
-
instructions:
|
|
13960
|
+
instructions: "Authoritative interface to the Uni Design System. Prefer these tools over recalling component APIs or token values from memory: names, props, and tokens here match the exact Uni release the developer installed. Start with `list-components` or `search`, then `get-component` / `get-component-examples`. Use real token ids (via `list-tokens`) instead of raw hex. Theming has four tools, split by what you need: to brand an app permanently, call `generate-uni-theme` once and write the returned static `uni-theme.ts` \u2014 then change look and feel by editing that file's tokens directly, since shared tokens propagate everywhere; to apply a theme immediately with no build step (previews, per-tenant theming, generated UI), call `generate-runtime-theme` or `get-runtime-theme` and register the JSON they return; to read a theme's token values without applying one, use `get-theme-template`. Never inline `<svg>` in a component: when you meet inline SVG, or a brand icon set to import, call `create-icon-tokens` to convert it into theme icon tokens, add them to `uni-theme.ts`, and render with `<uni-icon name=\"\u2026\" />`."
|
|
12357
13961
|
}
|
|
12358
13962
|
);
|
|
12359
13963
|
server.registerTool(
|
|
@@ -12462,20 +14066,39 @@ function createUniServer() {
|
|
|
12462
14066
|
title: "Generate a Uni brand theme file",
|
|
12463
14067
|
description: "Generate a complete, WCAG-AA light+dark Uni theme from brand hex color(s) and return the static `uni-theme.ts` file content (write it to `src/app/uni-theme.ts`), the `UNI_THEMES` provider registration snippet, and a contrast report. The file is plain editable data and becomes the source of truth: later restyling means editing its tokens (colors, named border primitives, sparse component overrides) \u2014 not calling this tool again. Never hardcode hex in components; reference theme tokens.",
|
|
12464
14068
|
inputSchema: {
|
|
12465
|
-
|
|
12466
|
-
'Brand hex color(s), e.g. "#0052FF". 2\u20133 colors map to primary/secondary/tertiary.'
|
|
12467
|
-
),
|
|
12468
|
-
vibe: z.enum(["jewel", "pastel", "earth", "neutral", "florescent"]).optional().describe("Tonal character; defaults to a category inferred from the seed chroma."),
|
|
12469
|
-
scheme: z.enum(["monochromatic", "analogous", "complimentary", "splitComplimentary", "triadic"]).optional().describe(
|
|
12470
|
-
"Hue-wheel relationship for generated roles; auto-classified for multi-color input."
|
|
12471
|
-
),
|
|
14069
|
+
...ThemeGenerationInput,
|
|
12472
14070
|
shape: z.enum(["sharp", "modern", "playful"]).optional().describe("Shape language \u2014 emits a radii override into the file."),
|
|
12473
|
-
name: z.string().optional().describe('Theme display name, defaults to "Brand".'),
|
|
12474
14071
|
darkMode: z.boolean().optional().describe("Emit the dark theme too. Defaults to true.")
|
|
12475
14072
|
}
|
|
12476
14073
|
},
|
|
12477
14074
|
async (args) => text(formatGeneratedTheme(args))
|
|
12478
14075
|
);
|
|
14076
|
+
server.registerTool(
|
|
14077
|
+
"generate-runtime-theme",
|
|
14078
|
+
{
|
|
14079
|
+
title: "Generate a Uni brand theme as runtime JSON",
|
|
14080
|
+
description: "Generate a WCAG-AA light+dark Uni theme from brand hex color(s) and return it as validated JSON data, ready to register live via `ThemeService.registerTheme(theme, { select: true })` \u2014 no file to write, no rebuild. Use this when a theme should apply immediately (previewing a brand, per-tenant theming, generated UI). To brand an app permanently, use `generate-uni-theme` instead: it returns an editable `uni-theme.ts` that becomes the source of truth. The built-in icon set is elided from the payload and restored on registration.",
|
|
14081
|
+
inputSchema: {
|
|
14082
|
+
...ThemeGenerationInput,
|
|
14083
|
+
shape: z.enum(["sharp", "modern", "playful"]).optional().describe("Shape language \u2014 sets the radii scale on the returned themes."),
|
|
14084
|
+
darkMode: z.boolean().optional().describe("Include the dark theme too. Defaults to true.")
|
|
14085
|
+
},
|
|
14086
|
+
outputSchema: RuntimeThemeOutput
|
|
14087
|
+
},
|
|
14088
|
+
async (args) => runtimeTheme(buildGeneratedTheme(args))
|
|
14089
|
+
);
|
|
14090
|
+
server.registerTool(
|
|
14091
|
+
"get-runtime-theme",
|
|
14092
|
+
{
|
|
14093
|
+
title: "Get a built-in Uni theme as runtime JSON",
|
|
14094
|
+
description: "A theme that ships with Uni, as a complete validated `UniTheme` ready to register at runtime. Differs from `get-theme-template`, which returns a flat read-only projection of token values for inspection \u2014 this returns the real theme object. The built-in icon set is elided from the payload and restored on registration.",
|
|
14095
|
+
inputSchema: {
|
|
14096
|
+
id: z.string().describe('Theme id, e.g. "LightTheme" or "DarkTheme".')
|
|
14097
|
+
},
|
|
14098
|
+
outputSchema: RuntimeThemeOutput
|
|
14099
|
+
},
|
|
14100
|
+
async ({ id }) => runtimeTheme(buildStoredTheme(id))
|
|
14101
|
+
);
|
|
12479
14102
|
server.registerTool(
|
|
12480
14103
|
"create-icon-tokens",
|
|
12481
14104
|
{
|
|
@@ -12633,6 +14256,8 @@ function registerResources(server) {
|
|
|
12633
14256
|
|
|
12634
14257
|
export {
|
|
12635
14258
|
meta,
|
|
14259
|
+
listRuntimeThemes,
|
|
14260
|
+
buildStoredTheme,
|
|
12636
14261
|
createUniServer
|
|
12637
14262
|
};
|
|
12638
|
-
//# sourceMappingURL=chunk-
|
|
14263
|
+
//# sourceMappingURL=chunk-GT3T5DVX.js.map
|