@uni-design-system/uni-mcp 4.1.2 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-E34OHB3Z.js → chunk-WCJS2FYS.js} +1120 -339
- package/dist/chunk-WCJS2FYS.js.map +1 -0
- package/dist/http.js +1 -1
- package/dist/server.js +1 -1
- package/dist/stdio.js +1 -1
- package/package.json +2 -2
- package/dist/chunk-E34OHB3Z.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-07-
|
|
10
|
+
version: "6.0.1",
|
|
11
|
+
builtAt: "2026-07-24T15:08:54.365Z",
|
|
12
12
|
frameworks: [
|
|
13
13
|
"angular"
|
|
14
14
|
],
|
|
15
15
|
counts: {
|
|
16
|
-
components:
|
|
17
|
-
tokens:
|
|
16
|
+
components: 70,
|
|
17
|
+
tokens: 296,
|
|
18
18
|
themes: 2,
|
|
19
|
-
examples:
|
|
19
|
+
examples: 132
|
|
20
20
|
}
|
|
21
21
|
},
|
|
22
22
|
components: [
|
|
@@ -27,11 +27,11 @@ var uni_index_default = {
|
|
|
27
27
|
summary: "",
|
|
28
28
|
description: "",
|
|
29
29
|
category: "feedback",
|
|
30
|
-
version: "
|
|
30
|
+
version: "6.0.1",
|
|
31
31
|
bindings: {
|
|
32
32
|
angular: {
|
|
33
33
|
importPath: "@uni-design-system/uni-angular",
|
|
34
|
-
selectorOrTag: "uni-alert
|
|
34
|
+
selectorOrTag: "uni-alert",
|
|
35
35
|
api: [
|
|
36
36
|
{
|
|
37
37
|
name: "show",
|
|
@@ -78,11 +78,11 @@ var uni_index_default = {
|
|
|
78
78
|
{
|
|
79
79
|
title: "Primary",
|
|
80
80
|
framework: "angular",
|
|
81
|
-
code: "<!-- Storybook story: Primary -->\n<
|
|
81
|
+
code: "<!-- Storybook story: Primary -->\n<button text-button (click)=\"alert.open()\">Show Alert</button>\n<uni-alert #alert ${argsToTemplate(props)}>\n ${ngContent}\n</uni-alert>\n<!-- args:\n{\n ngContent: 'This is an alert!',\n variant: 'tertiary',\n symbolName: 'privacy_tip',\n }\n-->"
|
|
82
82
|
}
|
|
83
83
|
],
|
|
84
84
|
guidelines: {
|
|
85
|
-
whenToUse: "",
|
|
85
|
+
whenToUse: "The Alert is used to communicate a state that affects a system, feature or page.\nFor instance, alerts can be used to display errors or any unexpected results from a user's action.",
|
|
86
86
|
dos: [],
|
|
87
87
|
donts: [],
|
|
88
88
|
accessibility: []
|
|
@@ -101,11 +101,11 @@ var uni_index_default = {
|
|
|
101
101
|
summary: "",
|
|
102
102
|
description: "",
|
|
103
103
|
category: "components",
|
|
104
|
-
version: "
|
|
104
|
+
version: "6.0.1",
|
|
105
105
|
bindings: {
|
|
106
106
|
angular: {
|
|
107
107
|
importPath: "@uni-design-system/uni-angular",
|
|
108
|
-
selectorOrTag: "uni-app-bar
|
|
108
|
+
selectorOrTag: "uni-app-bar",
|
|
109
109
|
api: [
|
|
110
110
|
{
|
|
111
111
|
name: "title",
|
|
@@ -141,10 +141,13 @@ var uni_index_default = {
|
|
|
141
141
|
}
|
|
142
142
|
],
|
|
143
143
|
guidelines: {
|
|
144
|
-
whenToUse: "",
|
|
144
|
+
whenToUse: "Horizontal application bar for the top of a page or section. Project controls with the\n`leading` attribute (menu button, logo) and actions with `trailing` (pushed to the far\nedge); pass `title` or project your own center content. Surface color, height, the\ndivider rule, title typography and spacing all resolve from the theme's `appBar`\noptions, and `sticky` pins the bar to the top of its scroll container.\nPlace it inside your page's `<header>` landmark. It pairs with the Drawer \u2014 see the\nDrawer docs for the full dashboard-shell recipe.",
|
|
145
145
|
dos: [],
|
|
146
146
|
donts: [],
|
|
147
|
-
accessibility: [
|
|
147
|
+
accessibility: [
|
|
148
|
+
"The bar is a styled container, not a landmark \u2014 place it inside your page's `<header>` element.",
|
|
149
|
+
"Give leading/trailing icon buttons text content or `ariaLabel` so they announce."
|
|
150
|
+
]
|
|
148
151
|
},
|
|
149
152
|
relatedTokens: []
|
|
150
153
|
},
|
|
@@ -155,11 +158,11 @@ var uni_index_default = {
|
|
|
155
158
|
summary: "",
|
|
156
159
|
description: "",
|
|
157
160
|
category: "components",
|
|
158
|
-
version: "
|
|
161
|
+
version: "6.0.1",
|
|
159
162
|
bindings: {
|
|
160
163
|
angular: {
|
|
161
164
|
importPath: "@uni-design-system/uni-angular",
|
|
162
|
-
selectorOrTag: "uni-avatar
|
|
165
|
+
selectorOrTag: "uni-avatar",
|
|
163
166
|
api: [
|
|
164
167
|
{
|
|
165
168
|
name: "src",
|
|
@@ -190,7 +193,7 @@ var uni_index_default = {
|
|
|
190
193
|
title: "Initials",
|
|
191
194
|
framework: "angular",
|
|
192
195
|
code: `<!-- Storybook story: Initials -->
|
|
193
|
-
<div
|
|
196
|
+
<div row-layout gap="sm" alignItems="center">
|
|
194
197
|
<uni-avatar name="Ada Lovelace" size="sm" />
|
|
195
198
|
<uni-avatar name="Grace Hopper" size="md" variant="secondary" />
|
|
196
199
|
<uni-avatar name="Katherine Johnson" size="lg" variant="tertiary" />
|
|
@@ -204,19 +207,22 @@ var uni_index_default = {
|
|
|
204
207
|
{
|
|
205
208
|
title: "Sizes And Variants",
|
|
206
209
|
framework: "angular",
|
|
207
|
-
code: '<!-- Storybook story: Sizes And Variants -->\n<div
|
|
210
|
+
code: '<!-- Storybook story: Sizes And Variants -->\n<div row-layout gap="sm" alignItems="center">\n<uni-avatar name="Ada Lovelace" size="sm" />\n<uni-avatar name="Grace Hopper" size="md" variant="secondary" />\n<uni-avatar name="Katherine Johnson" size="lg" variant="tertiary" />\n<uni-avatar name="Annie Easley" size="xl" variant="success" />\n<uni-avatar size="lg" variant="quaternary" />\n</div>'
|
|
208
211
|
},
|
|
209
212
|
{
|
|
210
213
|
title: "Group",
|
|
211
214
|
framework: "angular",
|
|
212
|
-
code: '<!-- Storybook story: Group -->\n<div
|
|
215
|
+
code: '<!-- Storybook story: Group -->\n<div row-layout gap="sm" alignItems="center">\n<uni-avatar name="Ada Lovelace" size="sm" />\n<uni-avatar name="Grace Hopper" size="md" variant="secondary" />\n<uni-avatar name="Katherine Johnson" size="lg" variant="tertiary" />\n<uni-avatar name="Annie Easley" size="xl" variant="success" />\n<uni-avatar size="lg" variant="quaternary" />\n</div>'
|
|
213
216
|
}
|
|
214
217
|
],
|
|
215
218
|
guidelines: {
|
|
216
|
-
whenToUse: "",
|
|
219
|
+
whenToUse: "Identity avatar with a graceful fallback chain: the image when it loads, initials\nderived from `name` when it doesn't (or was never given), and a themed symbol as the\nlast resort. The name doubles as the accessible label; avatars with no name are marked\ndecorative automatically.\nVariants color initials from the role's container tokens, so avatars follow the brand\npalette in light and dark. The corner radius is the theme's `avatar.options.borderRadius`\ntoken \u2014 circles by default, squares under a `sharp` shape language.",
|
|
217
220
|
dos: [],
|
|
218
221
|
donts: [],
|
|
219
|
-
accessibility: [
|
|
222
|
+
accessibility: [
|
|
223
|
+
'With a `name`, the avatar is `role="img"` labelled by that name; purely decorative avatars are `aria-hidden`.',
|
|
224
|
+
'The group is a `role="group"`; the "+N" chip reads as text.'
|
|
225
|
+
]
|
|
220
226
|
},
|
|
221
227
|
relatedTokens: [
|
|
222
228
|
"avatar.behavior.borderRadius",
|
|
@@ -231,11 +237,11 @@ var uni_index_default = {
|
|
|
231
237
|
summary: "",
|
|
232
238
|
description: "",
|
|
233
239
|
category: "components",
|
|
234
|
-
version: "
|
|
240
|
+
version: "6.0.1",
|
|
235
241
|
bindings: {
|
|
236
242
|
angular: {
|
|
237
243
|
importPath: "@uni-design-system/uni-angular",
|
|
238
|
-
selectorOrTag: "uni-avatar-group
|
|
244
|
+
selectorOrTag: "uni-avatar-group",
|
|
239
245
|
api: [
|
|
240
246
|
{
|
|
241
247
|
name: "max",
|
|
@@ -264,11 +270,11 @@ var uni_index_default = {
|
|
|
264
270
|
summary: "",
|
|
265
271
|
description: "",
|
|
266
272
|
category: "primitives",
|
|
267
|
-
version: "
|
|
273
|
+
version: "6.0.1",
|
|
268
274
|
bindings: {
|
|
269
275
|
angular: {
|
|
270
276
|
importPath: "@uni-design-system/uni-angular",
|
|
271
|
-
selectorOrTag: "uni-background
|
|
277
|
+
selectorOrTag: "uni-background",
|
|
272
278
|
api: [
|
|
273
279
|
{
|
|
274
280
|
name: "image",
|
|
@@ -327,10 +333,14 @@ var uni_index_default = {
|
|
|
327
333
|
}
|
|
328
334
|
],
|
|
329
335
|
guidelines: {
|
|
330
|
-
whenToUse: "",
|
|
336
|
+
whenToUse: "The Background component is a flexible container that allows you to add and control background images in your application.\nIt provides various options for positioning and sizing the background image while maintaining a clean and responsive layout.",
|
|
331
337
|
dos: [],
|
|
332
338
|
donts: [],
|
|
333
|
-
accessibility: [
|
|
339
|
+
accessibility: [
|
|
340
|
+
"Ensure any text overlaid on the background has sufficient contrast",
|
|
341
|
+
"Don't rely on background images to convey important information",
|
|
342
|
+
"Consider providing alternative visual styles for users who prefer reduced motion"
|
|
343
|
+
]
|
|
334
344
|
},
|
|
335
345
|
relatedTokens: []
|
|
336
346
|
},
|
|
@@ -341,11 +351,11 @@ var uni_index_default = {
|
|
|
341
351
|
summary: "",
|
|
342
352
|
description: "",
|
|
343
353
|
category: "feedback",
|
|
344
|
-
version: "
|
|
354
|
+
version: "6.0.1",
|
|
345
355
|
bindings: {
|
|
346
356
|
angular: {
|
|
347
357
|
importPath: "@uni-design-system/uni-angular",
|
|
348
|
-
selectorOrTag: "
|
|
358
|
+
selectorOrTag: "[uni-badge]",
|
|
349
359
|
api: [
|
|
350
360
|
{
|
|
351
361
|
name: "color",
|
|
@@ -378,9 +388,9 @@ var uni_index_default = {
|
|
|
378
388
|
title: "Pass",
|
|
379
389
|
framework: "angular",
|
|
380
390
|
code: `<!-- Storybook story: Pass -->
|
|
381
|
-
<
|
|
391
|
+
<div uni-badge color="\${color}" [width]="\${width}">
|
|
382
392
|
\${ngContent}
|
|
383
|
-
</
|
|
393
|
+
</div>
|
|
384
394
|
<!-- args:
|
|
385
395
|
{
|
|
386
396
|
color: 'secondary',
|
|
@@ -393,9 +403,9 @@ var uni_index_default = {
|
|
|
393
403
|
title: "Fail",
|
|
394
404
|
framework: "angular",
|
|
395
405
|
code: `<!-- Storybook story: Fail -->
|
|
396
|
-
<
|
|
406
|
+
<div uni-badge color="\${color}" [width]="\${width}">
|
|
397
407
|
\${ngContent}
|
|
398
|
-
</
|
|
408
|
+
</div>
|
|
399
409
|
<!-- args:
|
|
400
410
|
{
|
|
401
411
|
color: 'warn',
|
|
@@ -406,7 +416,7 @@ var uni_index_default = {
|
|
|
406
416
|
}
|
|
407
417
|
],
|
|
408
418
|
guidelines: {
|
|
409
|
-
whenToUse: "",
|
|
419
|
+
whenToUse: "Badges are used to highlight an item's status for quick recognition.",
|
|
410
420
|
dos: [],
|
|
411
421
|
donts: [],
|
|
412
422
|
accessibility: []
|
|
@@ -422,7 +432,7 @@ var uni_index_default = {
|
|
|
422
432
|
summary: "",
|
|
423
433
|
description: "",
|
|
424
434
|
category: "directives",
|
|
425
|
-
version: "
|
|
435
|
+
version: "6.0.1",
|
|
426
436
|
bindings: {
|
|
427
437
|
angular: {
|
|
428
438
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -446,11 +456,11 @@ var uni_index_default = {
|
|
|
446
456
|
summary: "",
|
|
447
457
|
description: "",
|
|
448
458
|
category: "layout",
|
|
449
|
-
version: "
|
|
459
|
+
version: "6.0.1",
|
|
450
460
|
bindings: {
|
|
451
461
|
angular: {
|
|
452
462
|
importPath: "@uni-design-system/uni-angular",
|
|
453
|
-
selectorOrTag: "
|
|
463
|
+
selectorOrTag: "[uni-box-layout], [box-layout]",
|
|
454
464
|
api: [
|
|
455
465
|
{
|
|
456
466
|
name: "color",
|
|
@@ -654,7 +664,7 @@ var uni_index_default = {
|
|
|
654
664
|
kind: "input",
|
|
655
665
|
type: "number | string",
|
|
656
666
|
required: false,
|
|
657
|
-
description: ""
|
|
667
|
+
description: 'Number = px via binding (`[height]="420"`); string = CSS length (`height="420px"`).'
|
|
658
668
|
},
|
|
659
669
|
{
|
|
660
670
|
name: "minHeight",
|
|
@@ -675,7 +685,7 @@ var uni_index_default = {
|
|
|
675
685
|
kind: "input",
|
|
676
686
|
type: "number | string",
|
|
677
687
|
required: false,
|
|
678
|
-
description: ""
|
|
688
|
+
description: 'Number = px via binding (`[width]="420"`); string = CSS length (`width="50%"`).'
|
|
679
689
|
},
|
|
680
690
|
{
|
|
681
691
|
name: "minWidth",
|
|
@@ -791,11 +801,11 @@ var uni_index_default = {
|
|
|
791
801
|
{
|
|
792
802
|
title: "Primary",
|
|
793
803
|
framework: "angular",
|
|
794
|
-
code: "<!-- Storybook story: Primary -->\n<div box-layout ${argsToTemplate(props)}>\n<
|
|
804
|
+
code: "<!-- Storybook story: Primary -->\n<div box-layout ${argsToTemplate(props)}>\n<span uni-text>${ngContent}</span>\n</div>\n<!-- args:\n{\n color: 'secondary-container',\n borderRadius: 'md',\n padding: 'lg',\n ngContent: 'Box Content.',\n }\n-->"
|
|
795
805
|
}
|
|
796
806
|
],
|
|
797
807
|
guidelines: {
|
|
798
|
-
whenToUse: "",
|
|
808
|
+
whenToUse: "Box is the base Layout component. It is highly configurable.\nEach layout component extends the Box component while providing presets to support their application.",
|
|
799
809
|
dos: [],
|
|
800
810
|
donts: [],
|
|
801
811
|
accessibility: []
|
|
@@ -809,11 +819,11 @@ var uni_index_default = {
|
|
|
809
819
|
summary: "",
|
|
810
820
|
description: "",
|
|
811
821
|
category: "components",
|
|
812
|
-
version: "
|
|
822
|
+
version: "6.0.1",
|
|
813
823
|
bindings: {
|
|
814
824
|
angular: {
|
|
815
825
|
importPath: "@uni-design-system/uni-angular",
|
|
816
|
-
selectorOrTag: "uni-breadcrumb
|
|
826
|
+
selectorOrTag: "uni-breadcrumb",
|
|
817
827
|
api: [
|
|
818
828
|
{
|
|
819
829
|
name: "items",
|
|
@@ -853,10 +863,15 @@ var uni_index_default = {
|
|
|
853
863
|
}
|
|
854
864
|
],
|
|
855
865
|
guidelines: {
|
|
856
|
-
whenToUse: "",
|
|
866
|
+
whenToUse: "Breadcrumbs show where the current page sits in the hierarchy and give one-click\npassage back up the trail. The component renders the WAI-ARIA pattern: a labelled\n`nav` landmark wrapping an ordered list, with the last item marked as the current page\nand separators hidden from assistive tech.\nItems with `href` render as real links. For SPA routing, omit `href` and handle\n`itemClicked` \u2014 items render as link-styled buttons instead. Typography, link and\ncurrent-page colors, the separator symbol, and spacing all resolve from the theme's\n`breadcrumb` options.",
|
|
857
867
|
dos: [],
|
|
858
868
|
donts: [],
|
|
859
|
-
accessibility: [
|
|
869
|
+
accessibility: [
|
|
870
|
+
"Renders the WAI-ARIA pattern: a labelled `nav` landmark wrapping an ordered list.",
|
|
871
|
+
'The last item is `aria-current="page"` and not a link.',
|
|
872
|
+
"Separators are `aria-hidden` \u2014 screen readers hear the trail, not the chevrons.",
|
|
873
|
+
"Set `ariaLabel` when a page has more than one breadcrumb nav."
|
|
874
|
+
]
|
|
860
875
|
},
|
|
861
876
|
relatedTokens: [
|
|
862
877
|
"breadcrumb.behavior.typeface",
|
|
@@ -873,11 +888,11 @@ var uni_index_default = {
|
|
|
873
888
|
summary: "",
|
|
874
889
|
description: "",
|
|
875
890
|
category: "primitives",
|
|
876
|
-
version: "
|
|
891
|
+
version: "6.0.1",
|
|
877
892
|
bindings: {
|
|
878
893
|
angular: {
|
|
879
894
|
importPath: "@uni-design-system/uni-angular",
|
|
880
|
-
selectorOrTag: "button[uni-text-button],
|
|
895
|
+
selectorOrTag: "button[uni-text-button], button[text-button]",
|
|
881
896
|
api: [
|
|
882
897
|
{
|
|
883
898
|
name: "disable",
|
|
@@ -996,10 +1011,13 @@ var uni_index_default = {
|
|
|
996
1011
|
}
|
|
997
1012
|
],
|
|
998
1013
|
guidelines: {
|
|
999
|
-
whenToUse: "",
|
|
1014
|
+
whenToUse: "Button is a clickable interactive element that triggers a response.\nYou can place text and icons inside of a button.\nButtons are often used for form submissions and to toggle elements into view.",
|
|
1000
1015
|
dos: [],
|
|
1001
1016
|
donts: [],
|
|
1002
|
-
accessibility: [
|
|
1017
|
+
accessibility: [
|
|
1018
|
+
"A real `<button>` element \u2014 native focus, Enter/Space activation, and `disabled` semantics.",
|
|
1019
|
+
"`aria-busy` is set while `loading`; the spinner and symbols are decorative."
|
|
1020
|
+
]
|
|
1003
1021
|
},
|
|
1004
1022
|
relatedTokens: [
|
|
1005
1023
|
"button.behavior.borderRadius",
|
|
@@ -1013,11 +1031,11 @@ var uni_index_default = {
|
|
|
1013
1031
|
summary: "",
|
|
1014
1032
|
description: "",
|
|
1015
1033
|
category: "primitives",
|
|
1016
|
-
version: "
|
|
1034
|
+
version: "6.0.1",
|
|
1017
1035
|
bindings: {
|
|
1018
1036
|
angular: {
|
|
1019
1037
|
importPath: "@uni-design-system/uni-angular",
|
|
1020
|
-
selectorOrTag: "uni-button-group
|
|
1038
|
+
selectorOrTag: "uni-button-group",
|
|
1021
1039
|
api: []
|
|
1022
1040
|
}
|
|
1023
1041
|
},
|
|
@@ -1025,14 +1043,16 @@ var uni_index_default = {
|
|
|
1025
1043
|
{
|
|
1026
1044
|
title: "Primary",
|
|
1027
1045
|
framework: "angular",
|
|
1028
|
-
code: '<!-- Storybook story: Primary -->\n<
|
|
1046
|
+
code: '<!-- Storybook story: Primary -->\n<uni-button-group ${argsToTemplate(props)}>\n <button icon-button symbolName="align_horizontal_left" size="sm"></button>\n <button icon-button symbolName="align_horizontal_center" size="sm"></button>\n <button icon-button symbolName="align_horizontal_right" size="sm"></button>\n</uni-button-group>\n<!-- args:\n{}\n-->'
|
|
1029
1047
|
}
|
|
1030
1048
|
],
|
|
1031
1049
|
guidelines: {
|
|
1032
|
-
whenToUse: "",
|
|
1050
|
+
whenToUse: "The `ButtonGroup` component is used to group related buttons. It applies some base styling to the nested buttons.\nIf this is not desirable, consider using the `Row` component.",
|
|
1033
1051
|
dos: [],
|
|
1034
1052
|
donts: [],
|
|
1035
|
-
accessibility: [
|
|
1053
|
+
accessibility: [
|
|
1054
|
+
"Group the related actions; each button keeps its own accessible name."
|
|
1055
|
+
]
|
|
1036
1056
|
},
|
|
1037
1057
|
relatedTokens: []
|
|
1038
1058
|
},
|
|
@@ -1043,11 +1063,11 @@ var uni_index_default = {
|
|
|
1043
1063
|
summary: "",
|
|
1044
1064
|
description: "",
|
|
1045
1065
|
category: "layout",
|
|
1046
|
-
version: "
|
|
1066
|
+
version: "6.0.1",
|
|
1047
1067
|
bindings: {
|
|
1048
1068
|
angular: {
|
|
1049
1069
|
importPath: "@uni-design-system/uni-angular",
|
|
1050
|
-
selectorOrTag: "uni-card
|
|
1070
|
+
selectorOrTag: "uni-card",
|
|
1051
1071
|
api: []
|
|
1052
1072
|
}
|
|
1053
1073
|
},
|
|
@@ -1056,12 +1076,12 @@ var uni_index_default = {
|
|
|
1056
1076
|
title: "Primary",
|
|
1057
1077
|
framework: "angular",
|
|
1058
1078
|
code: `<!-- Storybook story: Primary -->
|
|
1059
|
-
<
|
|
1060
|
-
<
|
|
1061
|
-
<
|
|
1062
|
-
<
|
|
1063
|
-
</
|
|
1064
|
-
</
|
|
1079
|
+
<uni-card variant="\${variant}">
|
|
1080
|
+
<uni-card-header title="Card Header"></uni-card-header>
|
|
1081
|
+
<uni-card-content>
|
|
1082
|
+
<span uni-text>\${ngContent}</span>
|
|
1083
|
+
</uni-card-content>
|
|
1084
|
+
</uni-card>
|
|
1065
1085
|
<!-- args:
|
|
1066
1086
|
{
|
|
1067
1087
|
variant: 'primary',
|
|
@@ -1072,7 +1092,7 @@ var uni_index_default = {
|
|
|
1072
1092
|
}
|
|
1073
1093
|
],
|
|
1074
1094
|
guidelines: {
|
|
1075
|
-
whenToUse: "",
|
|
1095
|
+
whenToUse: "Content container with a themed frame: the border resolves from the **border\nprimitive named by its variant** (`borders.primary` \u2026 `borders.success`), the corner\nradius from the `card` theme options, and an optional elevation shadow. Compose with\nCard Header and Card Content for the standard anatomy \u2014 or point `options.border` at\na custom primitive to restyle every card in the theme at once.",
|
|
1076
1096
|
dos: [],
|
|
1077
1097
|
donts: [],
|
|
1078
1098
|
accessibility: []
|
|
@@ -1088,11 +1108,11 @@ var uni_index_default = {
|
|
|
1088
1108
|
summary: "",
|
|
1089
1109
|
description: "",
|
|
1090
1110
|
category: "layout",
|
|
1091
|
-
version: "
|
|
1111
|
+
version: "6.0.1",
|
|
1092
1112
|
bindings: {
|
|
1093
1113
|
angular: {
|
|
1094
1114
|
importPath: "@uni-design-system/uni-angular",
|
|
1095
|
-
selectorOrTag: "uni-card-content
|
|
1115
|
+
selectorOrTag: "uni-card-content",
|
|
1096
1116
|
api: []
|
|
1097
1117
|
}
|
|
1098
1118
|
},
|
|
@@ -1112,11 +1132,11 @@ var uni_index_default = {
|
|
|
1112
1132
|
summary: "",
|
|
1113
1133
|
description: "",
|
|
1114
1134
|
category: "layout",
|
|
1115
|
-
version: "
|
|
1135
|
+
version: "6.0.1",
|
|
1116
1136
|
bindings: {
|
|
1117
1137
|
angular: {
|
|
1118
1138
|
importPath: "@uni-design-system/uni-angular",
|
|
1119
|
-
selectorOrTag: "uni-card-header
|
|
1139
|
+
selectorOrTag: "uni-card-header",
|
|
1120
1140
|
api: [
|
|
1121
1141
|
{
|
|
1122
1142
|
name: "title",
|
|
@@ -1153,11 +1173,11 @@ var uni_index_default = {
|
|
|
1153
1173
|
summary: "",
|
|
1154
1174
|
description: "",
|
|
1155
1175
|
category: "layout",
|
|
1156
|
-
version: "
|
|
1176
|
+
version: "6.0.1",
|
|
1157
1177
|
bindings: {
|
|
1158
1178
|
angular: {
|
|
1159
1179
|
importPath: "@uni-design-system/uni-angular",
|
|
1160
|
-
selectorOrTag: "
|
|
1180
|
+
selectorOrTag: "[uni-center-layout], [center-layout]",
|
|
1161
1181
|
api: [
|
|
1162
1182
|
{
|
|
1163
1183
|
name: "display",
|
|
@@ -1190,11 +1210,11 @@ var uni_index_default = {
|
|
|
1190
1210
|
{
|
|
1191
1211
|
title: "Primary",
|
|
1192
1212
|
framework: "angular",
|
|
1193
|
-
code: "<!-- Storybook story: Primary -->\n<div center-layout ${argsToTemplate(props)}>\n <
|
|
1213
|
+
code: "<!-- Storybook story: Primary -->\n<div center-layout ${argsToTemplate(props)}>\n <span uni-text=\"headline-large\">${ngContent}</span>\n</div>\n<!-- args:\n{\n ngContent: 'Centered Content',\n height: 180,\n width: '100%',\n }\n-->"
|
|
1194
1214
|
}
|
|
1195
1215
|
],
|
|
1196
1216
|
guidelines: {
|
|
1197
|
-
whenToUse: "",
|
|
1217
|
+
whenToUse: "`Center` is a layout component that centers its child within itself.\n`Center` is an extension to the `Box` component and has all the `Box` attributes available to it.",
|
|
1198
1218
|
dos: [],
|
|
1199
1219
|
donts: [],
|
|
1200
1220
|
accessibility: []
|
|
@@ -1208,11 +1228,11 @@ var uni_index_default = {
|
|
|
1208
1228
|
summary: "",
|
|
1209
1229
|
description: "",
|
|
1210
1230
|
category: "forms",
|
|
1211
|
-
version: "
|
|
1231
|
+
version: "6.0.1",
|
|
1212
1232
|
bindings: {
|
|
1213
1233
|
angular: {
|
|
1214
1234
|
importPath: "@uni-design-system/uni-angular",
|
|
1215
|
-
selectorOrTag: "uni-checkbox
|
|
1235
|
+
selectorOrTag: "uni-checkbox",
|
|
1216
1236
|
api: [
|
|
1217
1237
|
{
|
|
1218
1238
|
name: "checked",
|
|
@@ -1320,13 +1340,22 @@ var uni_index_default = {
|
|
|
1320
1340
|
}
|
|
1321
1341
|
],
|
|
1322
1342
|
guidelines: {
|
|
1323
|
-
whenToUse: "",
|
|
1324
|
-
dos: [
|
|
1325
|
-
|
|
1326
|
-
|
|
1343
|
+
whenToUse: 'Binary choice control for forms: check to opt in, submit to apply. It implements\n`FormCheckboxControl` for the Signal Forms `[field]` directive (or bind\n`[(checked)]` directly), exposes `aria-invalid` once touched, and supports an\n`indeterminate` model for "select all" parents \u2014 cleared automatically on the next\nuser interaction, matching native behavior.\nThe box color, check stroke (the variant\'s paired on-color), and size resolve from\nthe `checkbox` theme options.',
|
|
1344
|
+
dos: [
|
|
1345
|
+
"Use for choices that apply when the form is submitted"
|
|
1346
|
+
],
|
|
1347
|
+
donts: [
|
|
1348
|
+
"Use for instant on/off effects \u2014 that is a toggle"
|
|
1349
|
+
],
|
|
1350
|
+
accessibility: [
|
|
1351
|
+
'Semantic `<input type="checkbox">` + `<label>`; Space toggles.',
|
|
1352
|
+
"`aria-invalid` reflects the error state once the field was touched or is dirty.",
|
|
1353
|
+
'The indeterminate visual state is carried by the native `indeterminate` property, announced as "mixed".'
|
|
1354
|
+
]
|
|
1327
1355
|
},
|
|
1328
1356
|
relatedTokens: [
|
|
1329
|
-
"checkbox.behavior.size"
|
|
1357
|
+
"checkbox.behavior.size",
|
|
1358
|
+
"checkbox.behavior.boxColor"
|
|
1330
1359
|
]
|
|
1331
1360
|
},
|
|
1332
1361
|
{
|
|
@@ -1336,11 +1365,11 @@ var uni_index_default = {
|
|
|
1336
1365
|
summary: "",
|
|
1337
1366
|
description: "",
|
|
1338
1367
|
category: "feedback",
|
|
1339
|
-
version: "
|
|
1368
|
+
version: "6.0.1",
|
|
1340
1369
|
bindings: {
|
|
1341
1370
|
angular: {
|
|
1342
1371
|
importPath: "@uni-design-system/uni-angular",
|
|
1343
|
-
selectorOrTag: "uni-confirmation-dialog
|
|
1372
|
+
selectorOrTag: "uni-confirmation-dialog",
|
|
1344
1373
|
api: [
|
|
1345
1374
|
{
|
|
1346
1375
|
name: "show",
|
|
@@ -1383,7 +1412,7 @@ var uni_index_default = {
|
|
|
1383
1412
|
summary: "",
|
|
1384
1413
|
description: "",
|
|
1385
1414
|
category: "forms",
|
|
1386
|
-
version: "
|
|
1415
|
+
version: "6.0.1",
|
|
1387
1416
|
bindings: {
|
|
1388
1417
|
angular: {
|
|
1389
1418
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1420,7 +1449,7 @@ var uni_index_default = {
|
|
|
1420
1449
|
framework: "angular",
|
|
1421
1450
|
code: `<!-- Storybook story: Primary -->
|
|
1422
1451
|
<uni-data-search \${argsToTemplate(props)} />
|
|
1423
|
-
<div
|
|
1452
|
+
<div box-layout paddingTop="md">
|
|
1424
1453
|
@for (record of datasource.records(); track record.id) {
|
|
1425
1454
|
<div>{{ record.name }} \u2014 {{ record.homeworld }}</div>
|
|
1426
1455
|
}
|
|
@@ -1437,7 +1466,7 @@ var uni_index_default = {
|
|
|
1437
1466
|
framework: "angular",
|
|
1438
1467
|
code: `<!-- Storybook story: Field Scoped -->
|
|
1439
1468
|
<uni-data-search \${argsToTemplate(props)} />
|
|
1440
|
-
<div
|
|
1469
|
+
<div box-layout paddingTop="md">
|
|
1441
1470
|
@for (record of datasource.records(); track record.id) {
|
|
1442
1471
|
<div>{{ record.name }} \u2014 {{ record.homeworld }}</div>
|
|
1443
1472
|
}
|
|
@@ -1452,7 +1481,7 @@ var uni_index_default = {
|
|
|
1452
1481
|
}
|
|
1453
1482
|
],
|
|
1454
1483
|
guidelines: {
|
|
1455
|
-
whenToUse: "",
|
|
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--docs) \u2014 see its\n"With Search" story.',
|
|
1456
1485
|
dos: [],
|
|
1457
1486
|
donts: [],
|
|
1458
1487
|
accessibility: []
|
|
@@ -1466,11 +1495,11 @@ var uni_index_default = {
|
|
|
1466
1495
|
summary: "",
|
|
1467
1496
|
description: "",
|
|
1468
1497
|
category: "data",
|
|
1469
|
-
version: "
|
|
1498
|
+
version: "6.0.1",
|
|
1470
1499
|
bindings: {
|
|
1471
1500
|
angular: {
|
|
1472
1501
|
importPath: "@uni-design-system/uni-angular",
|
|
1473
|
-
selectorOrTag: "uni-data-table
|
|
1502
|
+
selectorOrTag: "uni-data-table",
|
|
1474
1503
|
api: [
|
|
1475
1504
|
{
|
|
1476
1505
|
name: "datasource",
|
|
@@ -1549,10 +1578,14 @@ var uni_index_default = {
|
|
|
1549
1578
|
}
|
|
1550
1579
|
],
|
|
1551
1580
|
guidelines: {
|
|
1552
|
-
whenToUse: "",
|
|
1581
|
+
whenToUse: "Data grid for structured records: sortable column headers (Sort Header), paging\n(Paginator), field-scoped search (Data Search), row interaction, sticky columns,\nand expandable detail rows \u2014 all themed through the `dataTable` options, which\npoint at shared tokens for surfaces, borders, and typography.",
|
|
1553
1582
|
dos: [],
|
|
1554
1583
|
donts: [],
|
|
1555
|
-
accessibility: [
|
|
1584
|
+
accessibility: [
|
|
1585
|
+
'Column headers use `scope="col"`; sortable headers are real buttons with `aria-sort` on the `<th>`.',
|
|
1586
|
+
'The loading overlay is a `role="status"` region and the table is `aria-busy` while loading.',
|
|
1587
|
+
"Collapsed detail rows are `inert`, out of the accessibility tree until expanded."
|
|
1588
|
+
]
|
|
1556
1589
|
},
|
|
1557
1590
|
relatedTokens: []
|
|
1558
1591
|
},
|
|
@@ -1563,11 +1596,11 @@ var uni_index_default = {
|
|
|
1563
1596
|
summary: "",
|
|
1564
1597
|
description: "",
|
|
1565
1598
|
category: "forms",
|
|
1566
|
-
version: "
|
|
1599
|
+
version: "6.0.1",
|
|
1567
1600
|
bindings: {
|
|
1568
1601
|
angular: {
|
|
1569
1602
|
importPath: "@uni-design-system/uni-angular",
|
|
1570
|
-
selectorOrTag: "
|
|
1603
|
+
selectorOrTag: "uni-debounce-input",
|
|
1571
1604
|
api: [
|
|
1572
1605
|
{
|
|
1573
1606
|
name: "inputName",
|
|
@@ -1591,6 +1624,58 @@ var uni_index_default = {
|
|
|
1591
1624
|
default: "400",
|
|
1592
1625
|
description: ""
|
|
1593
1626
|
},
|
|
1627
|
+
{
|
|
1628
|
+
name: "label",
|
|
1629
|
+
kind: "input",
|
|
1630
|
+
type: "string",
|
|
1631
|
+
required: false,
|
|
1632
|
+
description: "Accessible name for the input."
|
|
1633
|
+
},
|
|
1634
|
+
{
|
|
1635
|
+
name: "placeholder",
|
|
1636
|
+
kind: "input",
|
|
1637
|
+
type: "string",
|
|
1638
|
+
required: false,
|
|
1639
|
+
default: "''",
|
|
1640
|
+
description: ""
|
|
1641
|
+
},
|
|
1642
|
+
{
|
|
1643
|
+
name: "disabled",
|
|
1644
|
+
kind: "input",
|
|
1645
|
+
type: "boolean",
|
|
1646
|
+
required: false,
|
|
1647
|
+
default: "false",
|
|
1648
|
+
description: ""
|
|
1649
|
+
},
|
|
1650
|
+
{
|
|
1651
|
+
name: "role",
|
|
1652
|
+
kind: "input",
|
|
1653
|
+
type: "string",
|
|
1654
|
+
required: false,
|
|
1655
|
+
description: ""
|
|
1656
|
+
},
|
|
1657
|
+
{
|
|
1658
|
+
name: "ariaExpanded",
|
|
1659
|
+
kind: "input",
|
|
1660
|
+
type: "boolean | undefined",
|
|
1661
|
+
required: false,
|
|
1662
|
+
default: "undefined",
|
|
1663
|
+
description: ""
|
|
1664
|
+
},
|
|
1665
|
+
{
|
|
1666
|
+
name: "ariaControls",
|
|
1667
|
+
kind: "input",
|
|
1668
|
+
type: "string",
|
|
1669
|
+
required: false,
|
|
1670
|
+
description: ""
|
|
1671
|
+
},
|
|
1672
|
+
{
|
|
1673
|
+
name: "ariaActivedescendant",
|
|
1674
|
+
kind: "input",
|
|
1675
|
+
type: "string",
|
|
1676
|
+
required: false,
|
|
1677
|
+
description: ""
|
|
1678
|
+
},
|
|
1594
1679
|
{
|
|
1595
1680
|
name: "change",
|
|
1596
1681
|
kind: "output",
|
|
@@ -1606,8 +1691,8 @@ var uni_index_default = {
|
|
|
1606
1691
|
title: "Primary",
|
|
1607
1692
|
framework: "angular",
|
|
1608
1693
|
code: `<!-- Storybook story: Primary -->
|
|
1609
|
-
<
|
|
1610
|
-
<div
|
|
1694
|
+
<uni-debounce-input \${argsToTemplate(props)} (change)="lastEmitted = $event" #debounce />
|
|
1695
|
+
<div box-layout paddingTop="md">
|
|
1611
1696
|
<div>Live value: {{ debounce.value() }}</div>
|
|
1612
1697
|
<div>Debounced value: {{ lastEmitted }}</div>
|
|
1613
1698
|
</div>
|
|
@@ -1620,10 +1705,13 @@ var uni_index_default = {
|
|
|
1620
1705
|
}
|
|
1621
1706
|
],
|
|
1622
1707
|
guidelines: {
|
|
1623
|
-
whenToUse: "",
|
|
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--docs), which\nprojects its magnifier and clear button through the slots and drives the combobox\nARIA through the passthroughs.",
|
|
1624
1709
|
dos: [],
|
|
1625
1710
|
donts: [],
|
|
1626
|
-
accessibility: [
|
|
1711
|
+
accessibility: [
|
|
1712
|
+
"Set `label` \u2014 it becomes the accessible name (`aria-label`) of the inner input.",
|
|
1713
|
+
"The ARIA passthrough inputs (`role`, `ariaExpanded`, `ariaControls`,"
|
|
1714
|
+
]
|
|
1627
1715
|
},
|
|
1628
1716
|
relatedTokens: []
|
|
1629
1717
|
},
|
|
@@ -1634,11 +1722,11 @@ var uni_index_default = {
|
|
|
1634
1722
|
summary: "",
|
|
1635
1723
|
description: "",
|
|
1636
1724
|
category: "feedback",
|
|
1637
|
-
version: "
|
|
1725
|
+
version: "6.0.1",
|
|
1638
1726
|
bindings: {
|
|
1639
1727
|
angular: {
|
|
1640
1728
|
importPath: "@uni-design-system/uni-angular",
|
|
1641
|
-
selectorOrTag: "dialog[uni-dialog]
|
|
1729
|
+
selectorOrTag: "dialog[uni-dialog]",
|
|
1642
1730
|
api: [
|
|
1643
1731
|
{
|
|
1644
1732
|
name: "show",
|
|
@@ -1683,14 +1771,18 @@ var uni_index_default = {
|
|
|
1683
1771
|
{
|
|
1684
1772
|
title: "Primary",
|
|
1685
1773
|
framework: "angular",
|
|
1686
|
-
code: '<!-- Storybook story: Primary -->\n<
|
|
1774
|
+
code: '<!-- Storybook story: Primary -->\n<button text-button (click)="dialog.open()">Open Dialog</button>\n<dialog uni-dialog #dialog>\n <header uni-dialog-header color="primary">Sample Dialog</header>\n <div center-layout [width]="300" [height]="200">\n <span uni-text>Dialog</span>\n </div>\n <footer dialog-buttons></footer>\n</dialog>\n<!-- args:\n{}\n-->'
|
|
1687
1775
|
}
|
|
1688
1776
|
],
|
|
1689
1777
|
guidelines: {
|
|
1690
|
-
whenToUse: "",
|
|
1778
|
+
whenToUse: "Enhanced modal dialog that extends the native HTML `<dialog>` element with built-in animations, composition components, and accessibility features.\n### Features\n- **Native HTML Dialog**: Built on the standard dialog element with full semantic support\n- **Smooth Animations**: Automatic fade transitions for open/close states\n- **Composition Components**: Optional `DialogHeader` and `DialogButtons` for consistent layouts\n- **Programmatic Control**: Open/close methods plus show property binding\n- **Backdrop Handling**: Click-outside-to-close with customizable behavior\n- **Accessibility**: Full keyboard navigation, focus trapping, and screen reader support",
|
|
1691
1779
|
dos: [],
|
|
1692
1780
|
donts: [],
|
|
1693
|
-
accessibility: [
|
|
1781
|
+
accessibility: [
|
|
1782
|
+
"Focus trapping and keyboard navigation (Tab, Escape, Enter)",
|
|
1783
|
+
"Screen reader announcements",
|
|
1784
|
+
"Semantic dialog roles"
|
|
1785
|
+
]
|
|
1694
1786
|
},
|
|
1695
1787
|
relatedTokens: [
|
|
1696
1788
|
"dialog.behavior.borderRadius",
|
|
@@ -1708,11 +1800,11 @@ var uni_index_default = {
|
|
|
1708
1800
|
summary: "",
|
|
1709
1801
|
description: "",
|
|
1710
1802
|
category: "feedback",
|
|
1711
|
-
version: "
|
|
1803
|
+
version: "6.0.1",
|
|
1712
1804
|
bindings: {
|
|
1713
1805
|
angular: {
|
|
1714
1806
|
importPath: "@uni-design-system/uni-angular",
|
|
1715
|
-
selectorOrTag: "uni-dialog-buttons,
|
|
1807
|
+
selectorOrTag: "[uni-dialog-buttons], [dialog-buttons]",
|
|
1716
1808
|
api: [
|
|
1717
1809
|
{
|
|
1718
1810
|
name: "confirmButtonText",
|
|
@@ -1793,11 +1885,11 @@ var uni_index_default = {
|
|
|
1793
1885
|
summary: "",
|
|
1794
1886
|
description: "",
|
|
1795
1887
|
category: "feedback",
|
|
1796
|
-
version: "
|
|
1888
|
+
version: "6.0.1",
|
|
1797
1889
|
bindings: {
|
|
1798
1890
|
angular: {
|
|
1799
1891
|
importPath: "@uni-design-system/uni-angular",
|
|
1800
|
-
selectorOrTag: "
|
|
1892
|
+
selectorOrTag: "[uni-dialog-header]",
|
|
1801
1893
|
api: []
|
|
1802
1894
|
}
|
|
1803
1895
|
},
|
|
@@ -1817,11 +1909,11 @@ var uni_index_default = {
|
|
|
1817
1909
|
summary: "",
|
|
1818
1910
|
description: "",
|
|
1819
1911
|
category: "layout",
|
|
1820
|
-
version: "
|
|
1912
|
+
version: "6.0.1",
|
|
1821
1913
|
bindings: {
|
|
1822
1914
|
angular: {
|
|
1823
1915
|
importPath: "@uni-design-system/uni-angular",
|
|
1824
|
-
selectorOrTag: "uni-divider
|
|
1916
|
+
selectorOrTag: "uni-divider",
|
|
1825
1917
|
api: [
|
|
1826
1918
|
{
|
|
1827
1919
|
name: "orientation",
|
|
@@ -1847,9 +1939,9 @@ var uni_index_default = {
|
|
|
1847
1939
|
title: "Primary",
|
|
1848
1940
|
framework: "angular",
|
|
1849
1941
|
code: `<!-- Storybook story: Primary -->
|
|
1850
|
-
<
|
|
1851
|
-
<
|
|
1852
|
-
</
|
|
1942
|
+
<div center-layout height="200px">
|
|
1943
|
+
<uni-divider border="\${border}" orientation="\${orientation}" />
|
|
1944
|
+
</div>
|
|
1853
1945
|
<!-- args:
|
|
1854
1946
|
{
|
|
1855
1947
|
orientation: 'horizontal',
|
|
@@ -1859,7 +1951,7 @@ var uni_index_default = {
|
|
|
1859
1951
|
}
|
|
1860
1952
|
],
|
|
1861
1953
|
guidelines: {
|
|
1862
|
-
whenToUse: "",
|
|
1954
|
+
whenToUse: "Dividers are used to visually separate content in a list or group.",
|
|
1863
1955
|
dos: [],
|
|
1864
1956
|
donts: [],
|
|
1865
1957
|
accessibility: []
|
|
@@ -1873,7 +1965,7 @@ var uni_index_default = {
|
|
|
1873
1965
|
summary: "",
|
|
1874
1966
|
description: "",
|
|
1875
1967
|
category: "directives",
|
|
1876
|
-
version: "
|
|
1968
|
+
version: "6.0.1",
|
|
1877
1969
|
bindings: {
|
|
1878
1970
|
angular: {
|
|
1879
1971
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -1905,11 +1997,11 @@ var uni_index_default = {
|
|
|
1905
1997
|
summary: "",
|
|
1906
1998
|
description: "",
|
|
1907
1999
|
category: "components",
|
|
1908
|
-
version: "
|
|
2000
|
+
version: "6.0.1",
|
|
1909
2001
|
bindings: {
|
|
1910
2002
|
angular: {
|
|
1911
2003
|
importPath: "@uni-design-system/uni-angular",
|
|
1912
|
-
selectorOrTag: "uni-drawer
|
|
2004
|
+
selectorOrTag: "uni-drawer",
|
|
1913
2005
|
api: [
|
|
1914
2006
|
{
|
|
1915
2007
|
name: "open",
|
|
@@ -1950,19 +2042,23 @@ var uni_index_default = {
|
|
|
1950
2042
|
{
|
|
1951
2043
|
title: "Dashboard Shell",
|
|
1952
2044
|
framework: "angular",
|
|
1953
|
-
code: '<!-- Storybook story: Dashboard Shell -->\n<
|
|
2045
|
+
code: '<!-- Storybook story: Dashboard Shell -->\n<section stack-layout height="420px" overflow="hidden">\n<uni-app-bar title="Console">\n <button leading icon-button symbolName="menu" (click)="open = !open">Toggle navigation</button>\n <button trailing icon-button symbolName="account_circle">Account</button>\n</uni-app-bar>\n<div row-layout [grow]="1" [minHeight]="0">\n <uni-drawer mode="side" [(open)]="open">\n <nav stack-layout gap="sm" aria-label="Main">\n <span uni-text="title-small" display="block">Dashboard</span>\n <span uni-text="title-small" display="block">Reports</span>\n <span uni-text="title-small" display="block">Settings</span>\n </nav>\n </uni-drawer>\n <main box-layout [grow]="1" padding="md" [minWidth]="0">\n <h2 uni-text="headline-small">Content</h2>\n <span uni-text="body-1-long" display="block">\n The side drawer pushes this content; toggle it from the app bar.\n </span>\n </main>\n</div>\n</section>'
|
|
1954
2046
|
},
|
|
1955
2047
|
{
|
|
1956
2048
|
title: "Overlay",
|
|
1957
2049
|
framework: "angular",
|
|
1958
|
-
code: '<!-- Storybook story: Overlay -->\n<
|
|
2050
|
+
code: '<!-- Storybook story: Overlay -->\n<section stack-layout height="420px" overflow="hidden">\n<uni-app-bar title="Console">\n <button leading icon-button symbolName="menu" (click)="open = !open">Toggle navigation</button>\n <button trailing icon-button symbolName="account_circle">Account</button>\n</uni-app-bar>\n<div row-layout [grow]="1" [minHeight]="0">\n <uni-drawer mode="side" [(open)]="open">\n <nav stack-layout gap="sm" aria-label="Main">\n <span uni-text="title-small" display="block">Dashboard</span>\n <span uni-text="title-small" display="block">Reports</span>\n <span uni-text="title-small" display="block">Settings</span>\n </nav>\n </uni-drawer>\n <main box-layout [grow]="1" padding="md" [minWidth]="0">\n <h2 uni-text="headline-small">Content</h2>\n <span uni-text="body-1-long" display="block">\n The side drawer pushes this content; toggle it from the app bar.\n </span>\n </main>\n</div>\n</section>'
|
|
1959
2051
|
}
|
|
1960
2052
|
],
|
|
1961
2053
|
guidelines: {
|
|
1962
|
-
whenToUse: "",
|
|
2054
|
+
whenToUse: "Navigation drawer with two modes sharing one content slot:\n- **`side`** renders an in-flow `<aside>` that pushes page content \u2014 the classic\n dashboard sidenav. Opening and closing animates its width; a divider border primitive\n separates it from the content, and it is hidden from assistive tech while closed.\n- **`over`** renders a native `<dialog>` in the top layer: focus trapping, Escape, and\n the scrim backdrop come from the platform, and the panel slides in from its edge\n (`position`: `start` or `end`).\n`[(open)]` is two-way; Escape and backdrop clicks keep it in sync. Surface, width,\ndivider, elevation, padding and backdrop all resolve from the theme's `drawer` options.",
|
|
1963
2055
|
dos: [],
|
|
1964
2056
|
donts: [],
|
|
1965
|
-
accessibility: [
|
|
2057
|
+
accessibility: [
|
|
2058
|
+
"Overlay mode is a native `<dialog>`: focus is trapped by `showModal()`, Escape closes, and the backdrop click closes \u2014 all kept in sync with `[(open)]`.",
|
|
2059
|
+
'Give the overlay an accessible name via `ariaLabel` (defaults to "Navigation").',
|
|
2060
|
+
"A closed side drawer is `aria-hidden`, so its links leave the accessibility tree."
|
|
2061
|
+
]
|
|
1966
2062
|
},
|
|
1967
2063
|
relatedTokens: [
|
|
1968
2064
|
"drawer.behavior.color",
|
|
@@ -1980,11 +2076,11 @@ var uni_index_default = {
|
|
|
1980
2076
|
summary: "",
|
|
1981
2077
|
description: "",
|
|
1982
2078
|
category: "components",
|
|
1983
|
-
version: "
|
|
2079
|
+
version: "6.0.1",
|
|
1984
2080
|
bindings: {
|
|
1985
2081
|
angular: {
|
|
1986
2082
|
importPath: "@uni-design-system/uni-angular",
|
|
1987
|
-
selectorOrTag: "uni-dropdown
|
|
2083
|
+
selectorOrTag: "uni-dropdown",
|
|
1988
2084
|
api: [
|
|
1989
2085
|
{
|
|
1990
2086
|
name: "trigger",
|
|
@@ -2069,11 +2165,11 @@ var uni_index_default = {
|
|
|
2069
2165
|
summary: "",
|
|
2070
2166
|
description: "",
|
|
2071
2167
|
category: "layout",
|
|
2072
|
-
version: "
|
|
2168
|
+
version: "6.0.1",
|
|
2073
2169
|
bindings: {
|
|
2074
2170
|
angular: {
|
|
2075
2171
|
importPath: "@uni-design-system/uni-angular",
|
|
2076
|
-
selectorOrTag: "uni-expand
|
|
2172
|
+
selectorOrTag: "uni-expand",
|
|
2077
2173
|
api: [
|
|
2078
2174
|
{
|
|
2079
2175
|
name: "collapsed",
|
|
@@ -2091,14 +2187,14 @@ var uni_index_default = {
|
|
|
2091
2187
|
title: "Primary",
|
|
2092
2188
|
framework: "angular",
|
|
2093
2189
|
code: `<!-- Storybook story: Primary -->
|
|
2094
|
-
<
|
|
2095
|
-
<
|
|
2096
|
-
<
|
|
2097
|
-
<
|
|
2098
|
-
<
|
|
2099
|
-
</
|
|
2100
|
-
</
|
|
2101
|
-
</
|
|
2190
|
+
<uni-card>
|
|
2191
|
+
<uni-card-header title="Expandable Card"><uni-expand-toggle #toggle /></uni-card-header>
|
|
2192
|
+
<uni-expand [collapsed]="toggle.collapsed()">
|
|
2193
|
+
<uni-card-content>
|
|
2194
|
+
<span uni-text>\${ngContent}</span>
|
|
2195
|
+
</uni-card-content>
|
|
2196
|
+
</uni-expand>
|
|
2197
|
+
</uni-card>
|
|
2102
2198
|
<!-- args:
|
|
2103
2199
|
{
|
|
2104
2200
|
collapsed: false,
|
|
@@ -2108,10 +2204,12 @@ var uni_index_default = {
|
|
|
2108
2204
|
}
|
|
2109
2205
|
],
|
|
2110
2206
|
guidelines: {
|
|
2111
|
-
whenToUse: "",
|
|
2207
|
+
whenToUse: "Expand is a group of components that can be used in concert to expand/collapse sections of information.\nThe Expand component is transparent in nature and can nest any element to collapse it out of view.\nThe Expand Toggle is an optional convenience element that can be used to trigger the expand/collapse animation.\nIt has been designed to work with the Card Header.",
|
|
2112
2208
|
dos: [],
|
|
2113
2209
|
donts: [],
|
|
2114
|
-
accessibility: [
|
|
2210
|
+
accessibility: [
|
|
2211
|
+
"The toggle carries `aria-expanded` and `aria-controls` for its region (wired automatically inside Expand Area)."
|
|
2212
|
+
]
|
|
2115
2213
|
},
|
|
2116
2214
|
relatedTokens: []
|
|
2117
2215
|
},
|
|
@@ -2122,11 +2220,11 @@ var uni_index_default = {
|
|
|
2122
2220
|
summary: "",
|
|
2123
2221
|
description: "",
|
|
2124
2222
|
category: "layout",
|
|
2125
|
-
version: "
|
|
2223
|
+
version: "6.0.1",
|
|
2126
2224
|
bindings: {
|
|
2127
2225
|
angular: {
|
|
2128
2226
|
importPath: "@uni-design-system/uni-angular",
|
|
2129
|
-
selectorOrTag: "uni-expand-area
|
|
2227
|
+
selectorOrTag: "uni-expand-area",
|
|
2130
2228
|
api: [
|
|
2131
2229
|
{
|
|
2132
2230
|
name: "title",
|
|
@@ -2166,9 +2264,9 @@ var uni_index_default = {
|
|
|
2166
2264
|
title: "Primary",
|
|
2167
2265
|
framework: "angular",
|
|
2168
2266
|
code: `<!-- Storybook story: Primary -->
|
|
2169
|
-
<
|
|
2267
|
+
<uni-expand-area title="\${title}" padding="\${padding}" initCollapsed="\${initCollapsed}" #expandArea>
|
|
2170
2268
|
<button text-button (click)="expandArea.toggleExpand()" size="md" variant="ghost" symbolLeft="collapse_all">Collapse area</button>
|
|
2171
|
-
</
|
|
2269
|
+
</uni-expand-area>
|
|
2172
2270
|
<!-- args:
|
|
2173
2271
|
{
|
|
2174
2272
|
title: 'Expand Area Title',
|
|
@@ -2179,7 +2277,7 @@ var uni_index_default = {
|
|
|
2179
2277
|
}
|
|
2180
2278
|
],
|
|
2181
2279
|
guidelines: {
|
|
2182
|
-
whenToUse: "",
|
|
2280
|
+
whenToUse: "The batteries-included collapsible: a themed surface with a header row, an Expand\nToggle, and a content region wired together \u2014 `aria-expanded`/`aria-controls`\nhandled automatically. For custom collapse layouts, compose the lower-level Expand\nand Expand Toggle directly.",
|
|
2183
2281
|
dos: [],
|
|
2184
2282
|
donts: [],
|
|
2185
2283
|
accessibility: []
|
|
@@ -2193,11 +2291,11 @@ var uni_index_default = {
|
|
|
2193
2291
|
summary: "",
|
|
2194
2292
|
description: "",
|
|
2195
2293
|
category: "forms",
|
|
2196
|
-
version: "
|
|
2294
|
+
version: "6.0.1",
|
|
2197
2295
|
bindings: {
|
|
2198
2296
|
angular: {
|
|
2199
2297
|
importPath: "@uni-design-system/uni-angular",
|
|
2200
|
-
selectorOrTag: "uni-expand-toggle
|
|
2298
|
+
selectorOrTag: "uni-expand-toggle",
|
|
2201
2299
|
api: [
|
|
2202
2300
|
{
|
|
2203
2301
|
name: "collapsed",
|
|
@@ -2221,11 +2319,11 @@ var uni_index_default = {
|
|
|
2221
2319
|
{
|
|
2222
2320
|
title: "Primary",
|
|
2223
2321
|
framework: "angular",
|
|
2224
|
-
code: '<!-- Storybook story: Primary -->\n<
|
|
2322
|
+
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-->'
|
|
2225
2323
|
}
|
|
2226
2324
|
],
|
|
2227
2325
|
guidelines: {
|
|
2228
|
-
whenToUse: "",
|
|
2326
|
+
whenToUse: 'The Expand Toggle is a chevron icon button that controls collapsed/expanded state. It pairs\nwith the [Expand](?path=/docs/components-expand--docs) 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.',
|
|
2229
2327
|
dos: [],
|
|
2230
2328
|
donts: [],
|
|
2231
2329
|
accessibility: []
|
|
@@ -2239,7 +2337,7 @@ var uni_index_default = {
|
|
|
2239
2337
|
summary: "",
|
|
2240
2338
|
description: "",
|
|
2241
2339
|
category: "forms",
|
|
2242
|
-
version: "
|
|
2340
|
+
version: "6.0.1",
|
|
2243
2341
|
bindings: {
|
|
2244
2342
|
angular: {
|
|
2245
2343
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2348,8 +2446,8 @@ var uni_index_default = {
|
|
|
2348
2446
|
<uni-file-drop-zone \${argsToTemplate(props)} [helpTemplate]="myTemplate" />
|
|
2349
2447
|
<ng-template #myTemplate>
|
|
2350
2448
|
<div stack-layout alignItems="center">
|
|
2351
|
-
<
|
|
2352
|
-
<
|
|
2449
|
+
<span uni-text="title-medium">Title Text</span>
|
|
2450
|
+
<span uni-text="subtitle-1">Subtitle Text</span>
|
|
2353
2451
|
</div>
|
|
2354
2452
|
</ng-template>
|
|
2355
2453
|
<!-- args:
|
|
@@ -2367,8 +2465,8 @@ var uni_index_default = {
|
|
|
2367
2465
|
<uni-file-drop-zone \${argsToTemplate(props)} [helpTemplate]="myTemplate" />
|
|
2368
2466
|
<ng-template #myTemplate>
|
|
2369
2467
|
<div stack-layout alignItems="center">
|
|
2370
|
-
<
|
|
2371
|
-
<
|
|
2468
|
+
<span uni-text="title-medium">Title Text</span>
|
|
2469
|
+
<span uni-text="subtitle-1">Subtitle Text</span>
|
|
2372
2470
|
</div>
|
|
2373
2471
|
</ng-template>
|
|
2374
2472
|
<!-- args:
|
|
@@ -2381,10 +2479,12 @@ var uni_index_default = {
|
|
|
2381
2479
|
}
|
|
2382
2480
|
],
|
|
2383
2481
|
guidelines: {
|
|
2384
|
-
whenToUse: "",
|
|
2482
|
+
whenToUse: "The File Drop Zone component is used in uploading files.",
|
|
2385
2483
|
dos: [],
|
|
2386
2484
|
donts: [],
|
|
2387
|
-
accessibility: [
|
|
2485
|
+
accessibility: [
|
|
2486
|
+
'Without a browse button, the zone itself is `role="button"` with `tabindex="0"` and Enter/Space activation.'
|
|
2487
|
+
]
|
|
2388
2488
|
},
|
|
2389
2489
|
relatedTokens: []
|
|
2390
2490
|
},
|
|
@@ -2395,11 +2495,11 @@ var uni_index_default = {
|
|
|
2395
2495
|
summary: "",
|
|
2396
2496
|
description: "",
|
|
2397
2497
|
category: "layout",
|
|
2398
|
-
version: "
|
|
2498
|
+
version: "6.0.1",
|
|
2399
2499
|
bindings: {
|
|
2400
2500
|
angular: {
|
|
2401
2501
|
importPath: "@uni-design-system/uni-angular",
|
|
2402
|
-
selectorOrTag: "
|
|
2502
|
+
selectorOrTag: "[uni-grid-layout], [grid-layout]",
|
|
2403
2503
|
api: [
|
|
2404
2504
|
{
|
|
2405
2505
|
name: "display",
|
|
@@ -2454,19 +2554,19 @@ var uni_index_default = {
|
|
|
2454
2554
|
code: `<!-- Storybook story: Simple Grid -->
|
|
2455
2555
|
<div grid-layout \${argsToTemplate(props)}>
|
|
2456
2556
|
<div box-layout gridArea="nav" color="quaternary" padding="md" borderRadius="sm">
|
|
2457
|
-
<
|
|
2557
|
+
<span uni-text>nav</span>
|
|
2458
2558
|
</div>
|
|
2459
2559
|
<div box-layout gridArea="a1" color="primary" padding="md" borderRadius="sm">
|
|
2460
|
-
<
|
|
2560
|
+
<span uni-text>a1</span>
|
|
2461
2561
|
</div>
|
|
2462
2562
|
<div box-layout gridArea="a2" color="secondary" padding="md" borderRadius="sm">
|
|
2463
|
-
<
|
|
2563
|
+
<span uni-text>a2</span>
|
|
2464
2564
|
</div>
|
|
2465
2565
|
<div box-layout gridArea="b1" color="tertiary" padding="md" borderRadius="sm">
|
|
2466
|
-
<
|
|
2566
|
+
<span uni-text>b1</span>
|
|
2467
2567
|
</div>
|
|
2468
2568
|
<div box-layout gridArea="b2" color="warn" padding="md" borderRadius="sm">
|
|
2469
|
-
<
|
|
2569
|
+
<span uni-text>b2</span>
|
|
2470
2570
|
</div>
|
|
2471
2571
|
</div>
|
|
2472
2572
|
<!-- args:
|
|
@@ -2478,7 +2578,7 @@ var uni_index_default = {
|
|
|
2478
2578
|
}
|
|
2479
2579
|
],
|
|
2480
2580
|
guidelines: {
|
|
2481
|
-
whenToUse: "",
|
|
2581
|
+
whenToUse: "Grid is a layout component used for composing elements in a grid-like pattern.\nLike tables, grid layouts align elements into columns and rows.\nHowever, grids allow for more control when spanning elements across columns and rows.",
|
|
2482
2582
|
dos: [],
|
|
2483
2583
|
donts: [],
|
|
2484
2584
|
accessibility: []
|
|
@@ -2492,11 +2592,11 @@ var uni_index_default = {
|
|
|
2492
2592
|
summary: "",
|
|
2493
2593
|
description: "",
|
|
2494
2594
|
category: "layout",
|
|
2495
|
-
version: "
|
|
2595
|
+
version: "6.0.1",
|
|
2496
2596
|
bindings: {
|
|
2497
2597
|
angular: {
|
|
2498
2598
|
importPath: "@uni-design-system/uni-angular",
|
|
2499
|
-
selectorOrTag: "
|
|
2599
|
+
selectorOrTag: "[uni-grid-area-layout], [grid-area-layout]",
|
|
2500
2600
|
api: [
|
|
2501
2601
|
{
|
|
2502
2602
|
name: "area",
|
|
@@ -2524,11 +2624,11 @@ var uni_index_default = {
|
|
|
2524
2624
|
summary: "",
|
|
2525
2625
|
description: "",
|
|
2526
2626
|
category: "primitives",
|
|
2527
|
-
version: "
|
|
2627
|
+
version: "6.0.1",
|
|
2528
2628
|
bindings: {
|
|
2529
2629
|
angular: {
|
|
2530
2630
|
importPath: "@uni-design-system/uni-angular",
|
|
2531
|
-
selectorOrTag: "uni-icon
|
|
2631
|
+
selectorOrTag: "uni-icon",
|
|
2532
2632
|
api: [
|
|
2533
2633
|
{
|
|
2534
2634
|
name: "color",
|
|
@@ -2551,22 +2651,17 @@ var uni_index_default = {
|
|
|
2551
2651
|
{
|
|
2552
2652
|
title: "Primary",
|
|
2553
2653
|
framework: "angular",
|
|
2554
|
-
code:
|
|
2555
|
-
<div style="height: \${size + 'px'}">
|
|
2556
|
-
<Icon name="\${name}" color="\${color}" />
|
|
2557
|
-
</div>
|
|
2558
|
-
<!-- args:
|
|
2559
|
-
{
|
|
2560
|
-
name: 'checkCircle',
|
|
2561
|
-
}
|
|
2562
|
-
-->`
|
|
2654
|
+
code: '<!-- Storybook story: Primary -->\n<div box-layout height="${size}px">\n <uni-icon name="${name}" color="${color}" />\n </div>\n<!-- args:\n{\n name: \'checkCircle\',\n }\n-->'
|
|
2563
2655
|
}
|
|
2564
2656
|
],
|
|
2565
2657
|
guidelines: {
|
|
2566
|
-
whenToUse: "",
|
|
2658
|
+
whenToUse: "Icons are adaptive svg images. Instead of defining a size or color attributes, Icons\nwill grow to the space allotted to them and use the current color of its parent element.\nHowever, it is possible to statically set the icon color.",
|
|
2567
2659
|
dos: [],
|
|
2568
2660
|
donts: [],
|
|
2569
|
-
accessibility: [
|
|
2661
|
+
accessibility: [
|
|
2662
|
+
"Icons are decorative (`aria-hidden`) \u2014 the parent control carries the accessible name.",
|
|
2663
|
+
"Icons come from the theme's `icons` map (masked with `currentColor`); unknown names render nothing."
|
|
2664
|
+
]
|
|
2570
2665
|
},
|
|
2571
2666
|
relatedTokens: []
|
|
2572
2667
|
},
|
|
@@ -2577,7 +2672,7 @@ var uni_index_default = {
|
|
|
2577
2672
|
summary: "",
|
|
2578
2673
|
description: "",
|
|
2579
2674
|
category: "primitives",
|
|
2580
|
-
version: "
|
|
2675
|
+
version: "6.0.1",
|
|
2581
2676
|
bindings: {
|
|
2582
2677
|
angular: {
|
|
2583
2678
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2663,10 +2758,13 @@ var uni_index_default = {
|
|
|
2663
2758
|
}
|
|
2664
2759
|
],
|
|
2665
2760
|
guidelines: {
|
|
2666
|
-
whenToUse: "",
|
|
2761
|
+
whenToUse: "A square, icon-only button for toolbars, bars, and tight layouts. Renders a real\n`<button>` around a symbol or icon, with ghost as the default variant so it sits\nquietly on any surface. Because there is no visible text, the accessible name comes\nfrom projected (visually hidden) text or `ariaLabel`.",
|
|
2667
2762
|
dos: [],
|
|
2668
2763
|
donts: [],
|
|
2669
|
-
accessibility: [
|
|
2764
|
+
accessibility: [
|
|
2765
|
+
"Icon-only buttons need a name: project text (rendered visually hidden) or set `ariaLabel`.",
|
|
2766
|
+
"The icon/symbol itself is decorative (`aria-hidden`)."
|
|
2767
|
+
]
|
|
2670
2768
|
},
|
|
2671
2769
|
relatedTokens: []
|
|
2672
2770
|
},
|
|
@@ -2677,7 +2775,7 @@ var uni_index_default = {
|
|
|
2677
2775
|
summary: "",
|
|
2678
2776
|
description: "",
|
|
2679
2777
|
category: "forms",
|
|
2680
|
-
version: "
|
|
2778
|
+
version: "6.0.1",
|
|
2681
2779
|
bindings: {
|
|
2682
2780
|
angular: {
|
|
2683
2781
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2789,10 +2887,15 @@ var uni_index_default = {
|
|
|
2789
2887
|
}
|
|
2790
2888
|
],
|
|
2791
2889
|
guidelines: {
|
|
2792
|
-
whenToUse: "",
|
|
2890
|
+
whenToUse: "Single-line text field with the shared input chrome (themed color, border, typeface,\nfocus ring, error state). It implements `FormValueControl<string>`: bind a Signal\nForms field with `[field]`, or drive `[(value)]` directly. Errors style the field\nonly after the user has interacted (touched or dirty), and `required` syncs from\n`required()` validators automatically.\nProject adornments with the `pre-input` / `post-input` slots. For multi-line text\nuse Textarea; for search semantics use Search Input.",
|
|
2793
2891
|
dos: [],
|
|
2794
2892
|
donts: [],
|
|
2795
|
-
accessibility: [
|
|
2893
|
+
accessibility: [
|
|
2894
|
+
"`label` is required and becomes the accessible name (`aria-label`).",
|
|
2895
|
+
"`aria-invalid` reflects the error state once the field was touched or is dirty.",
|
|
2896
|
+
"`aria-required` mirrors the `required` state synced from validators.",
|
|
2897
|
+
"Link external error text with `ariaDescribedBy`."
|
|
2898
|
+
]
|
|
2796
2899
|
},
|
|
2797
2900
|
relatedTokens: [
|
|
2798
2901
|
"input.behavior.typeFace",
|
|
@@ -2817,7 +2920,7 @@ var uni_index_default = {
|
|
|
2817
2920
|
summary: "",
|
|
2818
2921
|
description: "",
|
|
2819
2922
|
category: "forms",
|
|
2820
|
-
version: "
|
|
2923
|
+
version: "6.0.1",
|
|
2821
2924
|
bindings: {
|
|
2822
2925
|
angular: {
|
|
2823
2926
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2876,7 +2979,7 @@ var uni_index_default = {
|
|
|
2876
2979
|
}
|
|
2877
2980
|
],
|
|
2878
2981
|
guidelines: {
|
|
2879
|
-
whenToUse: "",
|
|
2982
|
+
whenToUse: "The Input Box is the themed shell shared by all text-like form controls\n([Input](?path=/docs/components-forms-input--docs),\n[Select](?path=/docs/components-forms-select--docs), 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.",
|
|
2880
2983
|
dos: [],
|
|
2881
2984
|
donts: [],
|
|
2882
2985
|
accessibility: []
|
|
@@ -2890,7 +2993,7 @@ var uni_index_default = {
|
|
|
2890
2993
|
summary: "",
|
|
2891
2994
|
description: "",
|
|
2892
2995
|
category: "components",
|
|
2893
|
-
version: "
|
|
2996
|
+
version: "6.0.1",
|
|
2894
2997
|
bindings: {
|
|
2895
2998
|
angular: {
|
|
2896
2999
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -2946,7 +3049,7 @@ var uni_index_default = {
|
|
|
2946
3049
|
}
|
|
2947
3050
|
],
|
|
2948
3051
|
guidelines: {
|
|
2949
|
-
whenToUse: "",
|
|
3052
|
+
whenToUse: "The JSON View component provides a simple way to display JSON data in a formatted, readable manner. It renders the JSON in a textarea element, making it easy for users to view and copy the content. The component automatically formats the JSON with proper indentation for better readability.",
|
|
2950
3053
|
dos: [],
|
|
2951
3054
|
donts: [],
|
|
2952
3055
|
accessibility: []
|
|
@@ -2960,11 +3063,11 @@ var uni_index_default = {
|
|
|
2960
3063
|
summary: "",
|
|
2961
3064
|
description: "",
|
|
2962
3065
|
category: "layout",
|
|
2963
|
-
version: "
|
|
3066
|
+
version: "6.0.1",
|
|
2964
3067
|
bindings: {
|
|
2965
3068
|
angular: {
|
|
2966
3069
|
importPath: "@uni-design-system/uni-angular",
|
|
2967
|
-
selectorOrTag: "
|
|
3070
|
+
selectorOrTag: "uni-menu",
|
|
2968
3071
|
api: [
|
|
2969
3072
|
{
|
|
2970
3073
|
name: "menuItems",
|
|
@@ -3004,9 +3107,9 @@ var uni_index_default = {
|
|
|
3004
3107
|
framework: "angular",
|
|
3005
3108
|
code: `<!-- Storybook story: Primary -->
|
|
3006
3109
|
<div box-layout color="primary" padding="sm">
|
|
3007
|
-
<
|
|
3110
|
+
<uni-menu \${argsToTemplate(props)}>
|
|
3008
3111
|
<button text-button variant="ghost" symbolRight="arrow_drop_down">Menu</button>
|
|
3009
|
-
</
|
|
3112
|
+
</uni-menu>
|
|
3010
3113
|
</div>
|
|
3011
3114
|
<!-- args:
|
|
3012
3115
|
{
|
|
@@ -3020,10 +3123,13 @@ var uni_index_default = {
|
|
|
3020
3123
|
}
|
|
3021
3124
|
],
|
|
3022
3125
|
guidelines: {
|
|
3023
|
-
whenToUse: "",
|
|
3126
|
+
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 {\n label: string;\n symbolName?: string;\n action?: () => void;\n}\n```",
|
|
3024
3127
|
dos: [],
|
|
3025
3128
|
donts: [],
|
|
3026
|
-
accessibility: [
|
|
3129
|
+
accessibility: [
|
|
3130
|
+
"Full ARIA menu pattern: arrows and Home/End move, first-letter typeahead jumps, Enter/Space activates.",
|
|
3131
|
+
"ArrowDown/ArrowUp on the trigger opens onto the first/last item; focus returns to the trigger on close."
|
|
3132
|
+
]
|
|
3027
3133
|
},
|
|
3028
3134
|
relatedTokens: []
|
|
3029
3135
|
},
|
|
@@ -3034,11 +3140,11 @@ var uni_index_default = {
|
|
|
3034
3140
|
summary: "",
|
|
3035
3141
|
description: "",
|
|
3036
3142
|
category: "layout",
|
|
3037
|
-
version: "
|
|
3143
|
+
version: "6.0.1",
|
|
3038
3144
|
bindings: {
|
|
3039
3145
|
angular: {
|
|
3040
3146
|
importPath: "@uni-design-system/uni-angular",
|
|
3041
|
-
selectorOrTag: "
|
|
3147
|
+
selectorOrTag: "[uni-menu-item], [menu-item]",
|
|
3042
3148
|
api: [
|
|
3043
3149
|
{
|
|
3044
3150
|
name: "display",
|
|
@@ -3150,11 +3256,11 @@ var uni_index_default = {
|
|
|
3150
3256
|
summary: "",
|
|
3151
3257
|
description: "",
|
|
3152
3258
|
category: "forms",
|
|
3153
|
-
version: "
|
|
3259
|
+
version: "6.0.1",
|
|
3154
3260
|
bindings: {
|
|
3155
3261
|
angular: {
|
|
3156
3262
|
importPath: "@uni-design-system/uni-angular",
|
|
3157
|
-
selectorOrTag: "uni-multi-select
|
|
3263
|
+
selectorOrTag: "uni-multi-select",
|
|
3158
3264
|
api: [
|
|
3159
3265
|
{
|
|
3160
3266
|
name: "options",
|
|
@@ -3221,10 +3327,13 @@ var uni_index_default = {
|
|
|
3221
3327
|
}
|
|
3222
3328
|
],
|
|
3223
3329
|
guidelines: {
|
|
3224
|
-
whenToUse: "",
|
|
3330
|
+
whenToUse: "Inline multiple-choice: every option visible as a toggleable item, selection\nemitted as an array. Reach for it when the option set is small enough to show all\nat once and seeing the full set helps the choice; when space is tight or options\nare many, use Multi Select Dropdown instead.",
|
|
3225
3331
|
dos: [],
|
|
3226
3332
|
donts: [],
|
|
3227
|
-
accessibility: [
|
|
3333
|
+
accessibility: [
|
|
3334
|
+
"Options are real checkboxes in a labelled group \u2014 Space toggles, Tab moves between them.",
|
|
3335
|
+
"Selection state is announced per option."
|
|
3336
|
+
]
|
|
3228
3337
|
},
|
|
3229
3338
|
relatedTokens: []
|
|
3230
3339
|
},
|
|
@@ -3235,11 +3344,11 @@ var uni_index_default = {
|
|
|
3235
3344
|
summary: "",
|
|
3236
3345
|
description: "",
|
|
3237
3346
|
category: "forms",
|
|
3238
|
-
version: "
|
|
3347
|
+
version: "6.0.1",
|
|
3239
3348
|
bindings: {
|
|
3240
3349
|
angular: {
|
|
3241
3350
|
importPath: "@uni-design-system/uni-angular",
|
|
3242
|
-
selectorOrTag: "uni-multi-select-dropdown
|
|
3351
|
+
selectorOrTag: "uni-multi-select-dropdown",
|
|
3243
3352
|
api: [
|
|
3244
3353
|
{
|
|
3245
3354
|
name: "value",
|
|
@@ -3352,10 +3461,14 @@ var uni_index_default = {
|
|
|
3352
3461
|
}
|
|
3353
3462
|
],
|
|
3354
3463
|
guidelines: {
|
|
3355
|
-
whenToUse: "",
|
|
3464
|
+
whenToUse: "Multiple choice behind a compact trigger: a disclosure popover containing a search\nfield, checkbox options, and a Done action. Implements `FormValueControl` with an\narray value for Signal Forms, and shows a summarized selection in the trigger.\nThe popover surface, radius, and elevation resolve from the\n`multiSelectDropdown` theme options.",
|
|
3356
3465
|
dos: [],
|
|
3357
3466
|
donts: [],
|
|
3358
|
-
accessibility: [
|
|
3467
|
+
accessibility: [
|
|
3468
|
+
'The trigger is a disclosure (`aria-haspopup="dialog"`, `aria-expanded`); the popover contains native focusables Tab reaches normally.',
|
|
3469
|
+
"The search input is labelled; options are real checkboxes announced with their state.",
|
|
3470
|
+
"Escape closes the popover and returns focus to the trigger."
|
|
3471
|
+
]
|
|
3359
3472
|
},
|
|
3360
3473
|
relatedTokens: []
|
|
3361
3474
|
},
|
|
@@ -3366,7 +3479,7 @@ var uni_index_default = {
|
|
|
3366
3479
|
summary: "",
|
|
3367
3480
|
description: "",
|
|
3368
3481
|
category: "feedback",
|
|
3369
|
-
version: "
|
|
3482
|
+
version: "6.0.1",
|
|
3370
3483
|
bindings: {
|
|
3371
3484
|
angular: {
|
|
3372
3485
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -3435,7 +3548,7 @@ var uni_index_default = {
|
|
|
3435
3548
|
title: "Default",
|
|
3436
3549
|
framework: "angular",
|
|
3437
3550
|
code: `<!-- Storybook story: Default -->
|
|
3438
|
-
<div
|
|
3551
|
+
<div box-layout padding="md">
|
|
3439
3552
|
<uni-notification-badge
|
|
3440
3553
|
[count]="count"
|
|
3441
3554
|
[maxCount]="maxCount"
|
|
@@ -3463,7 +3576,7 @@ var uni_index_default = {
|
|
|
3463
3576
|
title: "Dot",
|
|
3464
3577
|
framework: "angular",
|
|
3465
3578
|
code: `<!-- Storybook story: Dot -->
|
|
3466
|
-
<div
|
|
3579
|
+
<div box-layout padding="md">
|
|
3467
3580
|
<uni-notification-badge
|
|
3468
3581
|
[count]="count"
|
|
3469
3582
|
[maxCount]="maxCount"
|
|
@@ -3489,7 +3602,7 @@ var uni_index_default = {
|
|
|
3489
3602
|
title: "Count",
|
|
3490
3603
|
framework: "angular",
|
|
3491
3604
|
code: `<!-- Storybook story: Count -->
|
|
3492
|
-
<div
|
|
3605
|
+
<div box-layout padding="md">
|
|
3493
3606
|
<uni-notification-badge
|
|
3494
3607
|
[count]="count"
|
|
3495
3608
|
[maxCount]="maxCount"
|
|
@@ -3517,7 +3630,7 @@ var uni_index_default = {
|
|
|
3517
3630
|
title: "Pill",
|
|
3518
3631
|
framework: "angular",
|
|
3519
3632
|
code: `<!-- Storybook story: Pill -->
|
|
3520
|
-
<div
|
|
3633
|
+
<div box-layout padding="md">
|
|
3521
3634
|
<uni-notification-badge
|
|
3522
3635
|
[count]="count"
|
|
3523
3636
|
[maxCount]="maxCount"
|
|
@@ -3545,7 +3658,7 @@ var uni_index_default = {
|
|
|
3545
3658
|
title: "Large Count",
|
|
3546
3659
|
framework: "angular",
|
|
3547
3660
|
code: `<!-- Storybook story: Large Count -->
|
|
3548
|
-
<div
|
|
3661
|
+
<div box-layout padding="md">
|
|
3549
3662
|
<uni-notification-badge
|
|
3550
3663
|
[count]="count"
|
|
3551
3664
|
[maxCount]="maxCount"
|
|
@@ -3572,29 +3685,34 @@ var uni_index_default = {
|
|
|
3572
3685
|
{
|
|
3573
3686
|
title: "Different Colors",
|
|
3574
3687
|
framework: "angular",
|
|
3575
|
-
code: '<!-- Storybook story: Different Colors -->\n<div
|
|
3688
|
+
code: '<!-- Storybook story: Different Colors -->\n<div box-layout padding="md">\n<uni-notification-badge\n [count]="count"\n [maxCount]="maxCount"\n [badgeVariant]="badgeVariant"\n [color]="color"\n [position]="position"\n [show]="show">\n <button uni-text-button>\n Button with Badge\n </button>\n</uni-notification-badge>\n</div>'
|
|
3576
3689
|
},
|
|
3577
3690
|
{
|
|
3578
3691
|
title: "Different Positions",
|
|
3579
3692
|
framework: "angular",
|
|
3580
|
-
code: '<!-- Storybook story: Different Positions -->\n<div
|
|
3693
|
+
code: '<!-- Storybook story: Different Positions -->\n<div box-layout padding="md">\n<uni-notification-badge\n [count]="count"\n [maxCount]="maxCount"\n [badgeVariant]="badgeVariant"\n [color]="color"\n [position]="position"\n [show]="show">\n <button uni-text-button>\n Button with Badge\n </button>\n</uni-notification-badge>\n</div>'
|
|
3581
3694
|
},
|
|
3582
3695
|
{
|
|
3583
3696
|
title: "Variant Comparison",
|
|
3584
3697
|
framework: "angular",
|
|
3585
|
-
code: '<!-- Storybook story: Variant Comparison -->\n<div
|
|
3698
|
+
code: '<!-- Storybook story: Variant Comparison -->\n<div box-layout padding="md">\n<uni-notification-badge\n [count]="count"\n [maxCount]="maxCount"\n [badgeVariant]="badgeVariant"\n [color]="color"\n [position]="position"\n [show]="show">\n <button uni-text-button>\n Button with Badge\n </button>\n</uni-notification-badge>\n</div>'
|
|
3586
3699
|
},
|
|
3587
3700
|
{
|
|
3588
3701
|
title: "With Icons",
|
|
3589
3702
|
framework: "angular",
|
|
3590
|
-
code: '<!-- Storybook story: With Icons -->\n<div
|
|
3703
|
+
code: '<!-- Storybook story: With Icons -->\n<div box-layout padding="md">\n<uni-notification-badge\n [count]="count"\n [maxCount]="maxCount"\n [badgeVariant]="badgeVariant"\n [color]="color"\n [position]="position"\n [show]="show">\n <button uni-text-button>\n Button with Badge\n </button>\n</uni-notification-badge>\n</div>'
|
|
3591
3704
|
}
|
|
3592
3705
|
],
|
|
3593
3706
|
guidelines: {
|
|
3594
|
-
whenToUse: "",
|
|
3707
|
+
whenToUse: 'Attention indicator anchored to whatever it wraps \u2014 an icon button, a nav item, an\navatar. Three shapes: `dot` (something is new), `count` (how many), and `pill`\n(counts that need room); `maxCount` caps the display ("99+"). Position it on any\ncorner of the wrapped content.\nRadius and offset resolve from the `notificationBadge` theme options; the badge\nwears the active `variant` color.',
|
|
3595
3708
|
dos: [],
|
|
3596
|
-
donts: [
|
|
3597
|
-
|
|
3709
|
+
donts: [
|
|
3710
|
+
"Convey urgency by color alone \u2014 the count/dot shape carries the signal"
|
|
3711
|
+
],
|
|
3712
|
+
accessibility: [
|
|
3713
|
+
'The visual badge is hidden from assistive tech; a visually-hidden text announcement carries the meaning ("3 notifications").',
|
|
3714
|
+
"Provide `ariaLabel` context when the wrapped control's purpose isn't obvious from its own name."
|
|
3715
|
+
]
|
|
3598
3716
|
},
|
|
3599
3717
|
relatedTokens: []
|
|
3600
3718
|
},
|
|
@@ -3605,11 +3723,11 @@ var uni_index_default = {
|
|
|
3605
3723
|
summary: "",
|
|
3606
3724
|
description: "",
|
|
3607
3725
|
category: "feedback",
|
|
3608
|
-
version: "
|
|
3726
|
+
version: "6.0.1",
|
|
3609
3727
|
bindings: {
|
|
3610
3728
|
angular: {
|
|
3611
3729
|
importPath: "@uni-design-system/uni-angular",
|
|
3612
|
-
selectorOrTag: "uni-notifications
|
|
3730
|
+
selectorOrTag: "uni-notifications",
|
|
3613
3731
|
api: []
|
|
3614
3732
|
}
|
|
3615
3733
|
},
|
|
@@ -3629,11 +3747,11 @@ var uni_index_default = {
|
|
|
3629
3747
|
summary: "",
|
|
3630
3748
|
description: "",
|
|
3631
3749
|
category: "data",
|
|
3632
|
-
version: "
|
|
3750
|
+
version: "6.0.1",
|
|
3633
3751
|
bindings: {
|
|
3634
3752
|
angular: {
|
|
3635
3753
|
importPath: "@uni-design-system/uni-angular",
|
|
3636
|
-
selectorOrTag: "uni-paginator
|
|
3754
|
+
selectorOrTag: "uni-paginator",
|
|
3637
3755
|
api: [
|
|
3638
3756
|
{
|
|
3639
3757
|
name: "datasource",
|
|
@@ -3680,19 +3798,22 @@ var uni_index_default = {
|
|
|
3680
3798
|
{
|
|
3681
3799
|
title: "Primary",
|
|
3682
3800
|
framework: "angular",
|
|
3683
|
-
code: '<!-- Storybook story: Primary -->\n<
|
|
3801
|
+
code: '<!-- Storybook story: Primary -->\n<uni-paginator ${argsToTemplate(props)} />\n<div box-layout paddingTop="md">\n @for (record of datasource.records(); track record.id) {\n <div>{{ record.name }}</div>\n }\n</div>\n<!-- args:\n{\n datasource: new UniRecordDatasource<any>(starWarsCharacters),\n initPageSize: 5,\n showPageSize: true,\n showPageJumper: true,\n showPageNumbers: true,\n }\n-->'
|
|
3684
3802
|
},
|
|
3685
3803
|
{
|
|
3686
3804
|
title: "Page Numbers Only",
|
|
3687
3805
|
framework: "angular",
|
|
3688
|
-
code: '<!-- Storybook story: Page Numbers Only -->\n<
|
|
3806
|
+
code: '<!-- Storybook story: Page Numbers Only -->\n<uni-paginator ${argsToTemplate(props)} />\n<div box-layout paddingTop="md">\n @for (record of datasource.records(); track record.id) {\n <div>{{ record.name }}</div>\n }\n</div>\n<!-- args:\n{\n datasource: new UniRecordDatasource<any>(starWarsCharacters),\n initPageSize: 5,\n showPageSize: false,\n showPageJumper: false,\n showPageNumbers: true,\n }\n-->'
|
|
3689
3807
|
}
|
|
3690
3808
|
],
|
|
3691
3809
|
guidelines: {
|
|
3692
|
-
whenToUse: "",
|
|
3810
|
+
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--docs) stories use one paginator in the header\nfor page size and another in the footer for page numbers.",
|
|
3693
3811
|
dos: [],
|
|
3694
3812
|
donts: [],
|
|
3695
|
-
accessibility: [
|
|
3813
|
+
accessibility: [
|
|
3814
|
+
'A `role="navigation"` landmark; pages are real buttons with `aria-current="page"` on the active one.',
|
|
3815
|
+
"The page-number input is labelled."
|
|
3816
|
+
]
|
|
3696
3817
|
},
|
|
3697
3818
|
relatedTokens: [
|
|
3698
3819
|
"paginator.behavior.gap",
|
|
@@ -3711,11 +3832,11 @@ var uni_index_default = {
|
|
|
3711
3832
|
summary: "",
|
|
3712
3833
|
description: "",
|
|
3713
3834
|
category: "layout",
|
|
3714
|
-
version: "
|
|
3835
|
+
version: "6.0.1",
|
|
3715
3836
|
bindings: {
|
|
3716
3837
|
angular: {
|
|
3717
3838
|
importPath: "@uni-design-system/uni-angular",
|
|
3718
|
-
selectorOrTag: "uni-popover
|
|
3839
|
+
selectorOrTag: "uni-popover",
|
|
3719
3840
|
api: [
|
|
3720
3841
|
{
|
|
3721
3842
|
name: "placement",
|
|
@@ -3740,14 +3861,16 @@ var uni_index_default = {
|
|
|
3740
3861
|
{
|
|
3741
3862
|
title: "Primary",
|
|
3742
3863
|
framework: "angular",
|
|
3743
|
-
code: '<!-- Storybook story: Primary -->\n<
|
|
3864
|
+
code: '<!-- Storybook story: Primary -->\n<uni-popover placement="${placement}" [autoClose]="${autoClose}" #popover>\n <button text-button trigger>Open Popover</button>\n <div stack-layout gap="sm">\n <div>\n <span uni-text="title-small" display="block">\n This is a Popover.\n </span>\n It is possible to add any markup you want to a Popover.\n </div>\n <div>\n <button text-button symbolLeft="thumb_up" size="sm" variant="secondary" (click)="popover.hidePopover()">OK!</button>\n </div>\n </div>\n</uni-popover>\n<!-- args:\n{\n placement: \'right-start\',\n autoClose: true,\n }\n-->'
|
|
3744
3865
|
}
|
|
3745
3866
|
],
|
|
3746
3867
|
guidelines: {
|
|
3747
|
-
whenToUse: "",
|
|
3868
|
+
whenToUse: "Popover is a non-modal dialog that floats around a trigger.\nAny type of content can be added inside a popover; however, it is most suitable for short callouts or compact actions.\n**Note:** It is important to add the `trigger` attribute to the item you want to open and be referenced to the Popover.",
|
|
3748
3869
|
dos: [],
|
|
3749
3870
|
donts: [],
|
|
3750
|
-
accessibility: [
|
|
3871
|
+
accessibility: [
|
|
3872
|
+
"The trigger carries `aria-expanded` and `aria-controls`; light-dismiss comes from the native popover."
|
|
3873
|
+
]
|
|
3751
3874
|
},
|
|
3752
3875
|
relatedTokens: []
|
|
3753
3876
|
},
|
|
@@ -3758,11 +3881,11 @@ var uni_index_default = {
|
|
|
3758
3881
|
summary: "",
|
|
3759
3882
|
description: "",
|
|
3760
3883
|
category: "feedback",
|
|
3761
|
-
version: "
|
|
3884
|
+
version: "6.0.1",
|
|
3762
3885
|
bindings: {
|
|
3763
3886
|
angular: {
|
|
3764
3887
|
importPath: "@uni-design-system/uni-angular",
|
|
3765
|
-
selectorOrTag: "uni-progress-bar
|
|
3888
|
+
selectorOrTag: "uni-progress-bar",
|
|
3766
3889
|
api: [
|
|
3767
3890
|
{
|
|
3768
3891
|
name: "width",
|
|
@@ -3802,14 +3925,16 @@ var uni_index_default = {
|
|
|
3802
3925
|
{
|
|
3803
3926
|
title: "Default",
|
|
3804
3927
|
framework: "angular",
|
|
3805
|
-
code: '<!-- Storybook story: Default -->\n<
|
|
3928
|
+
code: '<!-- Storybook story: Default -->\n<uni-progress-bar percent="${percent}" ${argsToTemplate(props)}></uni-progress-bar>\n<!-- args:\n{\n percent: 60,\n }\n-->'
|
|
3806
3929
|
}
|
|
3807
3930
|
],
|
|
3808
3931
|
guidelines: {
|
|
3809
|
-
whenToUse: "",
|
|
3932
|
+
whenToUse: "The progress bar is a graphical way of representing progress to completion.",
|
|
3810
3933
|
dos: [],
|
|
3811
3934
|
donts: [],
|
|
3812
|
-
accessibility: [
|
|
3935
|
+
accessibility: [
|
|
3936
|
+
'`role="progressbar"` with `aria-valuenow`/`min`/`max`; name it with `ariaLabel`.'
|
|
3937
|
+
]
|
|
3813
3938
|
},
|
|
3814
3939
|
relatedTokens: []
|
|
3815
3940
|
},
|
|
@@ -3820,11 +3945,11 @@ var uni_index_default = {
|
|
|
3820
3945
|
summary: "",
|
|
3821
3946
|
description: "",
|
|
3822
3947
|
category: "feedback",
|
|
3823
|
-
version: "
|
|
3948
|
+
version: "6.0.1",
|
|
3824
3949
|
bindings: {
|
|
3825
3950
|
angular: {
|
|
3826
3951
|
importPath: "@uni-design-system/uni-angular",
|
|
3827
|
-
selectorOrTag: "uni-progress-gauge
|
|
3952
|
+
selectorOrTag: "uni-progress-gauge",
|
|
3828
3953
|
api: [
|
|
3829
3954
|
{
|
|
3830
3955
|
name: "percent",
|
|
@@ -3849,7 +3974,7 @@ var uni_index_default = {
|
|
|
3849
3974
|
title: "Default",
|
|
3850
3975
|
framework: "angular",
|
|
3851
3976
|
code: `<!-- Storybook story: Default -->
|
|
3852
|
-
<
|
|
3977
|
+
<uni-progress-gauge percent="\${percent}" variant="\${variant}" size="\${size}"></uni-progress-gauge>
|
|
3853
3978
|
<!-- args:
|
|
3854
3979
|
{
|
|
3855
3980
|
percent: 60,
|
|
@@ -3860,10 +3985,12 @@ var uni_index_default = {
|
|
|
3860
3985
|
}
|
|
3861
3986
|
],
|
|
3862
3987
|
guidelines: {
|
|
3863
|
-
whenToUse: "",
|
|
3988
|
+
whenToUse: "The progress gauge is a graphical way of representing progress to completion as well as scoring or ranking.",
|
|
3864
3989
|
dos: [],
|
|
3865
3990
|
donts: [],
|
|
3866
|
-
accessibility: [
|
|
3991
|
+
accessibility: [
|
|
3992
|
+
'`role="progressbar"` with `aria-valuenow`/`min`/`max`; name it with `ariaLabel`. The SVG is decorative.'
|
|
3993
|
+
]
|
|
3867
3994
|
},
|
|
3868
3995
|
relatedTokens: []
|
|
3869
3996
|
},
|
|
@@ -3874,11 +4001,11 @@ var uni_index_default = {
|
|
|
3874
4001
|
summary: "",
|
|
3875
4002
|
description: "",
|
|
3876
4003
|
category: "forms",
|
|
3877
|
-
version: "
|
|
4004
|
+
version: "6.0.1",
|
|
3878
4005
|
bindings: {
|
|
3879
4006
|
angular: {
|
|
3880
4007
|
importPath: "@uni-design-system/uni-angular",
|
|
3881
|
-
selectorOrTag: "uni-radio
|
|
4008
|
+
selectorOrTag: "uni-radio",
|
|
3882
4009
|
api: [
|
|
3883
4010
|
{
|
|
3884
4011
|
name: "value",
|
|
@@ -3999,12 +4126,24 @@ var uni_index_default = {
|
|
|
3999
4126
|
}
|
|
4000
4127
|
],
|
|
4001
4128
|
guidelines: {
|
|
4002
|
-
whenToUse: "",
|
|
4003
|
-
dos: [
|
|
4004
|
-
|
|
4005
|
-
|
|
4129
|
+
whenToUse: "Single choice among a small set of visible options. The component renders the whole\ngroup from an `options` array (`{ label, value, disabled? }`), implements\n`FormValueControl<string>` for Signal Forms, and defaults each group to a unique\n`name` so multiple groups on a page never collide.\nRing, fill, and size resolve from the `radio` theme options; the selected dot wears\nthe active `variant` color.",
|
|
4130
|
+
dos: [
|
|
4131
|
+
"Use for 2\u20135 mutually exclusive options that should all be visible"
|
|
4132
|
+
],
|
|
4133
|
+
donts: [
|
|
4134
|
+
"Use for long option lists \u2014 that is a select"
|
|
4135
|
+
],
|
|
4136
|
+
accessibility: [
|
|
4137
|
+
'`role="radiogroup"` labelled by the group label via `aria-labelledby`.',
|
|
4138
|
+
"Native radio inputs: arrow keys move selection within the group, Tab moves out.",
|
|
4139
|
+
"`aria-invalid` reflects the error state once the group was touched or is dirty."
|
|
4140
|
+
]
|
|
4006
4141
|
},
|
|
4007
|
-
relatedTokens: [
|
|
4142
|
+
relatedTokens: [
|
|
4143
|
+
"radio.behavior.size",
|
|
4144
|
+
"radio.behavior.ringColor",
|
|
4145
|
+
"radio.behavior.fillColor"
|
|
4146
|
+
]
|
|
4008
4147
|
},
|
|
4009
4148
|
{
|
|
4010
4149
|
id: "ripple",
|
|
@@ -4013,7 +4152,7 @@ var uni_index_default = {
|
|
|
4013
4152
|
summary: "",
|
|
4014
4153
|
description: "",
|
|
4015
4154
|
category: "directives",
|
|
4016
|
-
version: "
|
|
4155
|
+
version: "6.0.1",
|
|
4017
4156
|
bindings: {
|
|
4018
4157
|
angular: {
|
|
4019
4158
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4037,11 +4176,11 @@ var uni_index_default = {
|
|
|
4037
4176
|
summary: "",
|
|
4038
4177
|
description: "",
|
|
4039
4178
|
category: "layout",
|
|
4040
|
-
version: "
|
|
4179
|
+
version: "6.0.1",
|
|
4041
4180
|
bindings: {
|
|
4042
4181
|
angular: {
|
|
4043
4182
|
importPath: "@uni-design-system/uni-angular",
|
|
4044
|
-
selectorOrTag: "
|
|
4183
|
+
selectorOrTag: "[uni-row-layout], [row-layout]",
|
|
4045
4184
|
api: [
|
|
4046
4185
|
{
|
|
4047
4186
|
name: "display",
|
|
@@ -4065,7 +4204,7 @@ var uni_index_default = {
|
|
|
4065
4204
|
type: "number | string | undefined",
|
|
4066
4205
|
required: false,
|
|
4067
4206
|
default: "'fit-content'",
|
|
4068
|
-
description: ""
|
|
4207
|
+
description: 'Defaults to `fit-content` (guards content collapse). Set `[minWidth]="0"` when the row must shrink inside a constrained flex parent (scroll or text truncation containment).'
|
|
4069
4208
|
}
|
|
4070
4209
|
]
|
|
4071
4210
|
}
|
|
@@ -4078,7 +4217,7 @@ var uni_index_default = {
|
|
|
4078
4217
|
}
|
|
4079
4218
|
],
|
|
4080
4219
|
guidelines: {
|
|
4081
|
-
whenToUse: "",
|
|
4220
|
+
whenToUse: "`Row` is a layout component used to group elements in a horizontal arrangement and applies a uniform space between them.\n`Row` is an extension to the `Box` component and has all the `Box` attributes available to it.",
|
|
4082
4221
|
dos: [],
|
|
4083
4222
|
donts: [],
|
|
4084
4223
|
accessibility: []
|
|
@@ -4092,11 +4231,11 @@ var uni_index_default = {
|
|
|
4092
4231
|
summary: "",
|
|
4093
4232
|
description: "",
|
|
4094
4233
|
category: "layout",
|
|
4095
|
-
version: "
|
|
4234
|
+
version: "6.0.1",
|
|
4096
4235
|
bindings: {
|
|
4097
4236
|
angular: {
|
|
4098
4237
|
importPath: "@uni-design-system/uni-angular",
|
|
4099
|
-
selectorOrTag: "
|
|
4238
|
+
selectorOrTag: "[uni-scroll-area], [scroll-area]",
|
|
4100
4239
|
api: [
|
|
4101
4240
|
{
|
|
4102
4241
|
name: "color",
|
|
@@ -4221,11 +4360,11 @@ var uni_index_default = {
|
|
|
4221
4360
|
{
|
|
4222
4361
|
title: "Primary",
|
|
4223
4362
|
framework: "angular",
|
|
4224
|
-
code: '<!-- Storybook story: Primary -->\n<div scroll-area ${argsToTemplate(props)} #scrollArea>\n <button size="sm" text-button variant="ghost" symbolLeft="arrow_downward" (click)="scrollArea.scrollToBottom()">Scroll to bottom</button>\n ${ngContent}\n <button size="sm" text-button variant="ghost" symbolLeft="arrow_upward" (click)="scrollArea.scrollToTop()">Back to top</button>\n</div>\n<!-- args:\n{\n border: \'quaternary\',\n color: \'tertiary-surface\',\n height: 200,\n ngContent: `\n <
|
|
4363
|
+
code: '<!-- Storybook story: Primary -->\n<div scroll-area ${argsToTemplate(props)} #scrollArea>\n <button size="sm" text-button variant="ghost" symbolLeft="arrow_downward" (click)="scrollArea.scrollToBottom()">Scroll to bottom</button>\n ${ngContent}\n <button size="sm" text-button variant="ghost" symbolLeft="arrow_upward" (click)="scrollArea.scrollToTop()">Back to top</button>\n</div>\n<!-- args:\n{\n border: \'quaternary\',\n color: \'tertiary-surface\',\n height: 200,\n ngContent: `\n <span uni-text="headline-medium">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</span>\n <span uni-text="body-1-long">\n <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quis facere debitis ullam, quae quidem, impedit\n culpa nam\n repellat in voluptatibus esse ab harum, hic? Aliquam nesciunt voluptates repellendus assumenda labore.\n </p>\n <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Porro quos voluptate doloribus. Optio unde\n inventore, tempore\n nemo repellat expedita! Quod, accusamus nobis iure. Aliquam quibusdam, nemo explicabo ipsum provident\n asperiores.</p>\n <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quaerat, qui, rem! Debitis cum maiores iste,\n possimus!\n Obcaecati accusamus eaque expedita quo soluta quis, repudiandae similique, veritatis repellendus facere\n suscipit!\n Et!</p>\n <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Harum doloremque repellat praesentium quae et\n consectetur\n iure quos porro, provident voluptates reprehenderit a. Accusamus ut, quaerat asperiores blanditiis\n voluptate, sint\n facilis.</p>\n <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusamus beatae inventore nobis esse\n temporibus\n exercitationem\n eos illo minima non magnam, provident sit doloribus maiores odio in animi quidem unde. Perferendis.</p>\n\n </span>\n\n\n `,\n }\n-->'
|
|
4225
4364
|
}
|
|
4226
4365
|
],
|
|
4227
4366
|
guidelines: {
|
|
4228
|
-
whenToUse: "",
|
|
4367
|
+
whenToUse: "A scroll container with themed, consistent scrollbars across browsers \u2014 thin\nEmotion-styled WebKit scrollbars with a `scrollbar-width`/`scrollbar-color`\nfallback. It detects scrollable state via ResizeObserver (the `scrollable` output)\nand offers `scrollToTop`/`scrollToBottom` for programmatic control.",
|
|
4229
4368
|
dos: [],
|
|
4230
4369
|
donts: [],
|
|
4231
4370
|
accessibility: []
|
|
@@ -4239,17 +4378,24 @@ var uni_index_default = {
|
|
|
4239
4378
|
summary: "",
|
|
4240
4379
|
description: "",
|
|
4241
4380
|
category: "forms",
|
|
4242
|
-
version: "
|
|
4381
|
+
version: "6.0.1",
|
|
4243
4382
|
bindings: {
|
|
4244
4383
|
angular: {
|
|
4245
4384
|
importPath: "@uni-design-system/uni-angular",
|
|
4246
|
-
selectorOrTag: "
|
|
4385
|
+
selectorOrTag: "uni-search-input",
|
|
4247
4386
|
api: [
|
|
4248
4387
|
{
|
|
4249
4388
|
name: "label",
|
|
4250
4389
|
kind: "input",
|
|
4251
4390
|
type: "string",
|
|
4252
4391
|
required: true,
|
|
4392
|
+
description: "Accessible name for the field, also the placeholder fallback."
|
|
4393
|
+
},
|
|
4394
|
+
{
|
|
4395
|
+
name: "placeholder",
|
|
4396
|
+
kind: "input",
|
|
4397
|
+
type: "string",
|
|
4398
|
+
required: false,
|
|
4253
4399
|
description: ""
|
|
4254
4400
|
},
|
|
4255
4401
|
{
|
|
@@ -4260,6 +4406,22 @@ var uni_index_default = {
|
|
|
4260
4406
|
default: "'100%'",
|
|
4261
4407
|
description: ""
|
|
4262
4408
|
},
|
|
4409
|
+
{
|
|
4410
|
+
name: "debounceTime",
|
|
4411
|
+
kind: "input",
|
|
4412
|
+
type: "number",
|
|
4413
|
+
required: false,
|
|
4414
|
+
default: "400",
|
|
4415
|
+
description: ""
|
|
4416
|
+
},
|
|
4417
|
+
{
|
|
4418
|
+
name: "suggestions",
|
|
4419
|
+
kind: "input",
|
|
4420
|
+
type: "string[]",
|
|
4421
|
+
required: false,
|
|
4422
|
+
default: "[]",
|
|
4423
|
+
description: "Type-ahead entries. Keep them fresh from `change` emissions; the list shows while the field has focus and entries exist."
|
|
4424
|
+
},
|
|
4263
4425
|
{
|
|
4264
4426
|
name: "change",
|
|
4265
4427
|
kind: "output",
|
|
@@ -4273,6 +4435,13 @@ var uni_index_default = {
|
|
|
4273
4435
|
type: "string",
|
|
4274
4436
|
required: false,
|
|
4275
4437
|
description: ""
|
|
4438
|
+
},
|
|
4439
|
+
{
|
|
4440
|
+
name: "suggestionSelected",
|
|
4441
|
+
kind: "output",
|
|
4442
|
+
type: "string",
|
|
4443
|
+
required: false,
|
|
4444
|
+
description: ""
|
|
4276
4445
|
}
|
|
4277
4446
|
]
|
|
4278
4447
|
}
|
|
@@ -4281,14 +4450,35 @@ var uni_index_default = {
|
|
|
4281
4450
|
{
|
|
4282
4451
|
title: "Primary",
|
|
4283
4452
|
framework: "angular",
|
|
4284
|
-
code:
|
|
4453
|
+
code: `<!-- Storybook story: Primary -->
|
|
4454
|
+
<div box-layout maxWidth="420px">
|
|
4455
|
+
<uni-search-input
|
|
4456
|
+
label="Search the docs"
|
|
4457
|
+
[debounceTime]="200"
|
|
4458
|
+
[suggestions]="suggestions"
|
|
4459
|
+
(change)="filter($event)"
|
|
4460
|
+
(search)="log($event)"
|
|
4461
|
+
></uni-search-input>
|
|
4462
|
+
</div>
|
|
4463
|
+
<!-- args:
|
|
4464
|
+
{ label: 'Search' }
|
|
4465
|
+
-->`
|
|
4466
|
+
},
|
|
4467
|
+
{
|
|
4468
|
+
title: "Type-ahead",
|
|
4469
|
+
framework: "angular",
|
|
4470
|
+
code: '<!-- Storybook story: Type-ahead -->\n<div box-layout maxWidth="420px">\n<uni-search-input\n label="Search the docs"\n [debounceTime]="200"\n [suggestions]="suggestions"\n (change)="filter($event)"\n (search)="log($event)"\n></uni-search-input>\n</div>'
|
|
4285
4471
|
}
|
|
4286
4472
|
],
|
|
4287
4473
|
guidelines: {
|
|
4288
|
-
whenToUse: "",
|
|
4474
|
+
whenToUse: "Generic search field wearing the shared input chrome: a decorative leading magnifier,\na clear button while there's a query, and Enter to submit (`search`). `change` emits\ndebounced as the user types \u2014 use it to refresh results or the `suggestions` input.\nWith `suggestions`, the field becomes an ARIA combobox: entries render in a listbox\nunder the field, ArrowUp/Down move the highlight, Enter selects (emitting both\n`suggestionSelected` and `search`), and Escape closes the list first, then clears the\nquery. The suggestion list's surface, elevation and radius resolve from the theme's\n`searchInput` options, alongside the search/clear symbols.",
|
|
4289
4475
|
dos: [],
|
|
4290
4476
|
donts: [],
|
|
4291
|
-
accessibility: [
|
|
4477
|
+
accessibility: [
|
|
4478
|
+
"The field is an ARIA combobox: `aria-expanded`, `aria-controls`, and `aria-activedescendant` track the suggestion listbox.",
|
|
4479
|
+
"ArrowUp/ArrowDown move the active option, Enter selects, Escape closes the list first and clears the query second.",
|
|
4480
|
+
'The magnifier is decorative; the clear button has an accessible name ("Clear search").'
|
|
4481
|
+
]
|
|
4292
4482
|
},
|
|
4293
4483
|
relatedTokens: []
|
|
4294
4484
|
},
|
|
@@ -4299,11 +4489,11 @@ var uni_index_default = {
|
|
|
4299
4489
|
summary: "",
|
|
4300
4490
|
description: "",
|
|
4301
4491
|
category: "forms",
|
|
4302
|
-
version: "
|
|
4492
|
+
version: "6.0.1",
|
|
4303
4493
|
bindings: {
|
|
4304
4494
|
angular: {
|
|
4305
4495
|
importPath: "@uni-design-system/uni-angular",
|
|
4306
|
-
selectorOrTag: "uni-select
|
|
4496
|
+
selectorOrTag: "uni-select",
|
|
4307
4497
|
api: [
|
|
4308
4498
|
{
|
|
4309
4499
|
name: "value",
|
|
@@ -4418,10 +4608,13 @@ var uni_index_default = {
|
|
|
4418
4608
|
}
|
|
4419
4609
|
],
|
|
4420
4610
|
guidelines: {
|
|
4421
|
-
whenToUse: "",
|
|
4611
|
+
whenToUse: "Single choice from a list, on a native `<select>` \u2014 platform pickers on mobile,\nplatform keyboard behavior everywhere. Options are typed generically\n(`options: T[]` with `optionLabel`/`optionValue` accessors), and the component\nimplements `FormValueControl` for the Signal Forms `[field]` directive. Errors\nstyle the field only after interaction, matching Input.\nFor choosing several, use Multi Select; for type-to-filter over large sets, use\nSearch Input's type-ahead.",
|
|
4422
4612
|
dos: [],
|
|
4423
4613
|
donts: [],
|
|
4424
|
-
accessibility: [
|
|
4614
|
+
accessibility: [
|
|
4615
|
+
"Native `<select>`: platform keyboard interaction and mobile pickers for free.",
|
|
4616
|
+
"`label` becomes the accessible name; `aria-invalid` reflects the touched error state."
|
|
4617
|
+
]
|
|
4425
4618
|
},
|
|
4426
4619
|
relatedTokens: []
|
|
4427
4620
|
},
|
|
@@ -4432,11 +4625,11 @@ var uni_index_default = {
|
|
|
4432
4625
|
summary: "",
|
|
4433
4626
|
description: "",
|
|
4434
4627
|
category: "components",
|
|
4435
|
-
version: "
|
|
4628
|
+
version: "6.0.1",
|
|
4436
4629
|
bindings: {
|
|
4437
4630
|
angular: {
|
|
4438
4631
|
importPath: "@uni-design-system/uni-angular",
|
|
4439
|
-
selectorOrTag: "uni-skeleton
|
|
4632
|
+
selectorOrTag: "uni-skeleton",
|
|
4440
4633
|
api: [
|
|
4441
4634
|
{
|
|
4442
4635
|
name: "shape",
|
|
@@ -4478,15 +4671,19 @@ var uni_index_default = {
|
|
|
4478
4671
|
title: "Text Lines",
|
|
4479
4672
|
framework: "angular",
|
|
4480
4673
|
code: `<!-- Storybook story: Text Lines -->
|
|
4481
|
-
<
|
|
4482
|
-
<
|
|
4483
|
-
<
|
|
4484
|
-
|
|
4485
|
-
<
|
|
4674
|
+
<div box-layout maxWidth="360px">
|
|
4675
|
+
<uni-card>
|
|
4676
|
+
<div row-layout gap="sm" alignItems="center" padding="md">
|
|
4677
|
+
<uni-skeleton shape="circle" [height]="40" />
|
|
4678
|
+
<div box-layout [grow]="1">
|
|
4679
|
+
<uni-skeleton [lines]="2" />
|
|
4680
|
+
</div>
|
|
4681
|
+
</div>
|
|
4682
|
+
<div box-layout paddingHorizontal="md" paddingBottom="md">
|
|
4683
|
+
<uni-skeleton shape="rect" [height]="120" />
|
|
4486
4684
|
</div>
|
|
4487
|
-
</div>
|
|
4488
|
-
<uni-skeleton shape="rect" [height]="120" style="display: block; padding: 0 16px 16px;" />
|
|
4489
4685
|
</uni-card>
|
|
4686
|
+
</div>
|
|
4490
4687
|
<!-- args:
|
|
4491
4688
|
{ shape: 'text', lines: 3 }
|
|
4492
4689
|
-->`
|
|
@@ -4494,14 +4691,19 @@ var uni_index_default = {
|
|
|
4494
4691
|
{
|
|
4495
4692
|
title: "Card Placeholder",
|
|
4496
4693
|
framework: "angular",
|
|
4497
|
-
code: '<!-- Storybook story: Card Placeholder -->\n<
|
|
4694
|
+
code: '<!-- Storybook story: Card Placeholder -->\n<div box-layout maxWidth="360px">\n<uni-card>\n <div row-layout gap="sm" alignItems="center" padding="md">\n <uni-skeleton shape="circle" [height]="40" />\n <div box-layout [grow]="1">\n <uni-skeleton [lines]="2" />\n </div>\n </div>\n <div box-layout paddingHorizontal="md" paddingBottom="md">\n <uni-skeleton shape="rect" [height]="120" />\n </div>\n</uni-card>\n</div>'
|
|
4498
4695
|
}
|
|
4499
4696
|
],
|
|
4500
4697
|
guidelines: {
|
|
4501
|
-
whenToUse: "",
|
|
4698
|
+
whenToUse: "Loading placeholder that sketches the shape of incoming content: `text` renders one or\nmore lines (ending on a short line, as real copy would), `rect` stands in for media and\ncharts, `circle` for avatars. Skeletons paint with the theme's surface tokens so they\nsit naturally on any brand in both modes, and the shimmer sweep only animates for users\nwho allow motion \u2014 under `prefers-reduced-motion` it degrades to calm static blocks.\nSkeletons are `aria-hidden`; announce loading on the container (e.g. `aria-busy`)\nwhere your app knows what is actually loading.",
|
|
4502
4699
|
dos: [],
|
|
4503
|
-
donts: [
|
|
4504
|
-
|
|
4700
|
+
donts: [
|
|
4701
|
+
"Announce individual skeletons to assistive tech \u2014 they are decorative placeholders"
|
|
4702
|
+
],
|
|
4703
|
+
accessibility: [
|
|
4704
|
+
"Skeletons are `aria-hidden` \u2014 announce loading on the container (e.g. `aria-busy`) where your app knows what is loading.",
|
|
4705
|
+
"The shimmer respects `prefers-reduced-motion`, degrading to static blocks."
|
|
4706
|
+
]
|
|
4505
4707
|
},
|
|
4506
4708
|
relatedTokens: [
|
|
4507
4709
|
"skeleton.behavior.color",
|
|
@@ -4519,11 +4721,11 @@ var uni_index_default = {
|
|
|
4519
4721
|
summary: "",
|
|
4520
4722
|
description: "",
|
|
4521
4723
|
category: "forms",
|
|
4522
|
-
version: "
|
|
4724
|
+
version: "6.0.1",
|
|
4523
4725
|
bindings: {
|
|
4524
4726
|
angular: {
|
|
4525
4727
|
importPath: "@uni-design-system/uni-angular",
|
|
4526
|
-
selectorOrTag: "uni-slider
|
|
4728
|
+
selectorOrTag: "uni-slider",
|
|
4527
4729
|
api: [
|
|
4528
4730
|
{
|
|
4529
4731
|
name: "value",
|
|
@@ -4632,10 +4834,14 @@ var uni_index_default = {
|
|
|
4632
4834
|
}
|
|
4633
4835
|
],
|
|
4634
4836
|
guidelines: {
|
|
4635
|
-
whenToUse: "",
|
|
4837
|
+
whenToUse: 'Range slider for picking a number within bounds. It renders a native\n`<input type="range">`, so keyboard interaction (arrows, Home/End, Page Up/Down) and\nthe ARIA slider contract come from the platform. The same Signal Forms contract as\nInput applies \u2014 bind with the `[field]` directive or drive `[(value)]` directly.\nFill and thumb color, track color, radii and geometry resolve from the theme\'s\n`slider` options; the fill level rides a CSS custom property, so dragging never\nregenerates styles.',
|
|
4636
4838
|
dos: [],
|
|
4637
4839
|
donts: [],
|
|
4638
|
-
accessibility: [
|
|
4840
|
+
accessibility: [
|
|
4841
|
+
'Native `<input type="range">`: arrows, Home/End, and Page Up/Down come from the platform, and the ARIA slider contract (valuenow/min/max) is native.',
|
|
4842
|
+
"`label` is required and becomes the accessible name.",
|
|
4843
|
+
"Expose the current value textually nearby and link it with `ariaDescribedBy` when the number matters."
|
|
4844
|
+
]
|
|
4639
4845
|
},
|
|
4640
4846
|
relatedTokens: [
|
|
4641
4847
|
"slider.behavior.color",
|
|
@@ -4652,11 +4858,11 @@ var uni_index_default = {
|
|
|
4652
4858
|
summary: "",
|
|
4653
4859
|
description: "",
|
|
4654
4860
|
category: "feedback",
|
|
4655
|
-
version: "
|
|
4861
|
+
version: "6.0.1",
|
|
4656
4862
|
bindings: {
|
|
4657
4863
|
angular: {
|
|
4658
4864
|
importPath: "@uni-design-system/uni-angular",
|
|
4659
|
-
selectorOrTag: "uni-snackbar
|
|
4865
|
+
selectorOrTag: "uni-snackbar",
|
|
4660
4866
|
api: [
|
|
4661
4867
|
{
|
|
4662
4868
|
name: "show",
|
|
@@ -4722,11 +4928,11 @@ var uni_index_default = {
|
|
|
4722
4928
|
{
|
|
4723
4929
|
title: "Primary",
|
|
4724
4930
|
framework: "angular",
|
|
4725
|
-
code: "<!-- Storybook story: Primary -->\n<
|
|
4931
|
+
code: "<!-- Storybook story: Primary -->\n<button text-button (click)=\"snackbar.open()\">Show Snackbar</button>\n<uni-snackbar #snackbar ${argsToTemplate(props)}>\n ${ngContent}\n</uni-snackbar>\n<!-- args:\n{\n ngContent: 'The record has been removed.',\n variant: 'warn',\n actionLabel: 'undo',\n timeout: '5000',\n symbolName: 'delete_sweep',\n }\n-->"
|
|
4726
4932
|
}
|
|
4727
4933
|
],
|
|
4728
4934
|
guidelines: {
|
|
4729
|
-
whenToUse: "",
|
|
4935
|
+
whenToUse: "The Snackbar component is used to give feedback to users after an action has taken place.\nIt appears near the bottom center of the screen temporarily and floats above the UI to not affect the application's layout.\nA side action can be defined (e.g. undoing a process or navigating to the details of a newly created record).",
|
|
4730
4936
|
dos: [],
|
|
4731
4937
|
donts: [],
|
|
4732
4938
|
accessibility: []
|
|
@@ -4744,7 +4950,7 @@ var uni_index_default = {
|
|
|
4744
4950
|
summary: "",
|
|
4745
4951
|
description: "",
|
|
4746
4952
|
category: "data",
|
|
4747
|
-
version: "
|
|
4953
|
+
version: "6.0.1",
|
|
4748
4954
|
bindings: {
|
|
4749
4955
|
angular: {
|
|
4750
4956
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -4773,9 +4979,9 @@ var uni_index_default = {
|
|
|
4773
4979
|
framework: "angular",
|
|
4774
4980
|
code: `<!-- Storybook story: Primary -->
|
|
4775
4981
|
<uni-sort-header [datasource]="datasource" [column]="column">
|
|
4776
|
-
<
|
|
4982
|
+
<span uni-text="title-small">Name</span>
|
|
4777
4983
|
</uni-sort-header>
|
|
4778
|
-
<div
|
|
4984
|
+
<div box-layout paddingTop="md">
|
|
4779
4985
|
@for (record of datasource.records().slice(0, 5); track record.id) {
|
|
4780
4986
|
<div>{{ record.name }}</div>
|
|
4781
4987
|
}
|
|
@@ -4789,7 +4995,7 @@ var uni_index_default = {
|
|
|
4789
4995
|
}
|
|
4790
4996
|
],
|
|
4791
4997
|
guidelines: {
|
|
4792
|
-
whenToUse: "",
|
|
4998
|
+
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--docs)\nfor sortable columns, but can wrap any header content bound to a `UniDatasource`.",
|
|
4793
4999
|
dos: [],
|
|
4794
5000
|
donts: [],
|
|
4795
5001
|
accessibility: []
|
|
@@ -4803,11 +5009,11 @@ var uni_index_default = {
|
|
|
4803
5009
|
summary: "",
|
|
4804
5010
|
description: "",
|
|
4805
5011
|
category: "layout",
|
|
4806
|
-
version: "
|
|
5012
|
+
version: "6.0.1",
|
|
4807
5013
|
bindings: {
|
|
4808
5014
|
angular: {
|
|
4809
5015
|
importPath: "@uni-design-system/uni-angular",
|
|
4810
|
-
selectorOrTag: "
|
|
5016
|
+
selectorOrTag: "[uni-stack-layout], [stack-layout]",
|
|
4811
5017
|
api: [
|
|
4812
5018
|
{
|
|
4813
5019
|
name: "display",
|
|
@@ -4831,7 +5037,7 @@ var uni_index_default = {
|
|
|
4831
5037
|
type: "number | string | undefined",
|
|
4832
5038
|
required: false,
|
|
4833
5039
|
default: "'fit-content'",
|
|
4834
|
-
description: ""
|
|
5040
|
+
description: 'Defaults to `fit-content` (guards content collapse). Set `[minHeight]="0"` when the stack must shrink inside a constrained flex parent (scroll containment).'
|
|
4835
5041
|
}
|
|
4836
5042
|
]
|
|
4837
5043
|
}
|
|
@@ -4840,17 +5046,119 @@ var uni_index_default = {
|
|
|
4840
5046
|
{
|
|
4841
5047
|
title: "Stacked Cards",
|
|
4842
5048
|
framework: "angular",
|
|
4843
|
-
code: "<!-- Storybook story: Stacked Cards -->\n<div stack-layout ${argsToTemplate(props)}>\n <
|
|
5049
|
+
code: "<!-- Storybook story: Stacked Cards -->\n<div stack-layout ${argsToTemplate(props)}>\n <uni-card><uni-card-content><span uni-text>Card 1</span></uni-card-content></uni-card>\n <uni-card><uni-card-content><span uni-text>Card 2</span></uni-card-content></uni-card>\n <uni-card><uni-card-content><span uni-text>Card 3</span></uni-card-content></uni-card>\n <uni-card><uni-card-content><span uni-text>Card 4</span></uni-card-content></uni-card>\n <uni-card><uni-card-content><span uni-text>Card 5</span></uni-card-content></uni-card>\n</div>\n<!-- args:\n{ gap: 'lg' }\n-->"
|
|
4844
5050
|
}
|
|
4845
5051
|
],
|
|
4846
5052
|
guidelines: {
|
|
4847
|
-
whenToUse: "",
|
|
5053
|
+
whenToUse: "`Stack` is a layout component used to group elements in a vertical arrangement and applies a uniform space between them.\n`Stack` is an extension to the `Box` component and has all the `Box` attributes available to it.",
|
|
4848
5054
|
dos: [],
|
|
4849
5055
|
donts: [],
|
|
4850
5056
|
accessibility: []
|
|
4851
5057
|
},
|
|
4852
5058
|
relatedTokens: []
|
|
4853
5059
|
},
|
|
5060
|
+
{
|
|
5061
|
+
id: "stat",
|
|
5062
|
+
name: "Stat",
|
|
5063
|
+
status: "stable",
|
|
5064
|
+
summary: "",
|
|
5065
|
+
description: "",
|
|
5066
|
+
category: "components",
|
|
5067
|
+
version: "6.0.1",
|
|
5068
|
+
bindings: {
|
|
5069
|
+
angular: {
|
|
5070
|
+
importPath: "@uni-design-system/uni-angular",
|
|
5071
|
+
selectorOrTag: "uni-stat",
|
|
5072
|
+
api: [
|
|
5073
|
+
{
|
|
5074
|
+
name: "label",
|
|
5075
|
+
kind: "input",
|
|
5076
|
+
type: "string",
|
|
5077
|
+
required: true,
|
|
5078
|
+
description: "What is being measured, sentence case."
|
|
5079
|
+
},
|
|
5080
|
+
{
|
|
5081
|
+
name: "value",
|
|
5082
|
+
kind: "input",
|
|
5083
|
+
type: "string | number",
|
|
5084
|
+
required: true,
|
|
5085
|
+
description: "The headline number: strings render verbatim, numbers auto-compact."
|
|
5086
|
+
},
|
|
5087
|
+
{
|
|
5088
|
+
name: "delta",
|
|
5089
|
+
kind: "input",
|
|
5090
|
+
type: "string",
|
|
5091
|
+
required: false,
|
|
5092
|
+
description: 'Signed change, e.g. "+12.4%" or "-0.4%". The sign drives the arrow.'
|
|
5093
|
+
},
|
|
5094
|
+
{
|
|
5095
|
+
name: "upIsGood",
|
|
5096
|
+
kind: "input",
|
|
5097
|
+
type: "boolean",
|
|
5098
|
+
required: false,
|
|
5099
|
+
default: "true",
|
|
5100
|
+
description: "Whether an upward movement is good news. Flip for churn, errors, cost."
|
|
5101
|
+
},
|
|
5102
|
+
{
|
|
5103
|
+
name: "caption",
|
|
5104
|
+
kind: "input",
|
|
5105
|
+
type: "string",
|
|
5106
|
+
required: false,
|
|
5107
|
+
description: 'Names the comparison period, e.g. "vs last month".'
|
|
5108
|
+
},
|
|
5109
|
+
{
|
|
5110
|
+
name: "trend",
|
|
5111
|
+
kind: "input",
|
|
5112
|
+
type: "number[] | undefined",
|
|
5113
|
+
required: false,
|
|
5114
|
+
default: "undefined",
|
|
5115
|
+
description: "Recent values for the decorative sparkline (12 points reads best)."
|
|
5116
|
+
}
|
|
5117
|
+
]
|
|
5118
|
+
}
|
|
5119
|
+
},
|
|
5120
|
+
examples: [
|
|
5121
|
+
{
|
|
5122
|
+
title: "Default",
|
|
5123
|
+
framework: "angular",
|
|
5124
|
+
code: "<!-- Storybook story: Default -->\n<uni-stat ${argsToTemplate(props)}></uni-stat>\n<!-- args:\n{\n label: 'Monthly recurring revenue',\n value: '$48.2K',\n delta: '+12.4%',\n caption: 'vs last month',\n trend: [31, 34, 33, 38, 37, 41, 40, 44, 43, 46, 47, 48],\n }\n-->"
|
|
5125
|
+
},
|
|
5126
|
+
{
|
|
5127
|
+
title: "Down is good (churn)",
|
|
5128
|
+
framework: "angular",
|
|
5129
|
+
code: "<!-- Storybook story: Down is good (churn) -->\n<uni-stat ${argsToTemplate(props)}></uni-stat>\n<!-- args:\n{\n label: 'Churn rate',\n value: '2.1%',\n delta: '-0.4%',\n upIsGood: false,\n caption: 'vs last month',\n trend: [3.2, 3.1, 3.0, 2.8, 2.9, 2.7, 2.6, 2.4, 2.5, 2.3, 2.2, 2.1],\n }\n-->"
|
|
5130
|
+
},
|
|
5131
|
+
{
|
|
5132
|
+
title: "KPI row",
|
|
5133
|
+
framework: "angular",
|
|
5134
|
+
code: "<!-- Storybook story: KPI row -->\n<uni-stat ${argsToTemplate(props)}></uni-stat>"
|
|
5135
|
+
}
|
|
5136
|
+
],
|
|
5137
|
+
guidelines: {
|
|
5138
|
+
whenToUse: 'The KPI tile a dashboard leads with: a muted label, a large headline value (numbers\nauto-compact \u2014 `48234` renders "48.2K"), an optional signed delta, and an optional\ndecorative sparkline.\nThe delta\'s color is decided by **direction \xD7 whether up is good**, never direction\nalone \u2014 set `upIsGood` to `false` for measures like churn, errors, or cost, and a\nfalling number correctly reads as good news. The arrow is accompanied by\nscreen-reader text ("up"/"down"), so state never relies on color alone, and `caption`\nnames the comparison period.\nFrame (surface, border primitive, radius), typography (the type scale\'s `stat` role\nfor values), delta inks (the semantic `success`/`error`), and sparkline colors all\nresolve from the theme\'s `stat` options.',
|
|
5139
|
+
dos: [],
|
|
5140
|
+
donts: [
|
|
5141
|
+
"Rely on delta color alone \u2014 the arrow + wording carry direction for everyone"
|
|
5142
|
+
],
|
|
5143
|
+
accessibility: [
|
|
5144
|
+
'The delta arrow is decorative; screen readers hear "up"/"down" in words instead.',
|
|
5145
|
+
"The sparkline is `aria-hidden` \u2014 the value and delta carry the information."
|
|
5146
|
+
]
|
|
5147
|
+
},
|
|
5148
|
+
relatedTokens: [
|
|
5149
|
+
"stat.behavior.labelTypeface",
|
|
5150
|
+
"stat.behavior.valueTypeface",
|
|
5151
|
+
"stat.behavior.color",
|
|
5152
|
+
"stat.behavior.border",
|
|
5153
|
+
"stat.behavior.borderRadius",
|
|
5154
|
+
"stat.behavior.positiveColor",
|
|
5155
|
+
"stat.behavior.negativeColor",
|
|
5156
|
+
"stat.behavior.trendColor",
|
|
5157
|
+
"stat.behavior.trendAccent",
|
|
5158
|
+
"stat.behavior.padding",
|
|
5159
|
+
"stat.behavior.gap"
|
|
5160
|
+
]
|
|
5161
|
+
},
|
|
4854
5162
|
{
|
|
4855
5163
|
id: "symbol",
|
|
4856
5164
|
name: "Symbol",
|
|
@@ -4858,11 +5166,11 @@ var uni_index_default = {
|
|
|
4858
5166
|
summary: "",
|
|
4859
5167
|
description: "",
|
|
4860
5168
|
category: "primitives",
|
|
4861
|
-
version: "
|
|
5169
|
+
version: "6.0.1",
|
|
4862
5170
|
bindings: {
|
|
4863
5171
|
angular: {
|
|
4864
5172
|
importPath: "@uni-design-system/uni-angular",
|
|
4865
|
-
selectorOrTag: "uni-symbol
|
|
5173
|
+
selectorOrTag: "uni-symbol",
|
|
4866
5174
|
api: [
|
|
4867
5175
|
{
|
|
4868
5176
|
name: "name",
|
|
@@ -4910,10 +5218,12 @@ var uni_index_default = {
|
|
|
4910
5218
|
}
|
|
4911
5219
|
],
|
|
4912
5220
|
guidelines: {
|
|
4913
|
-
whenToUse: "",
|
|
5221
|
+
whenToUse: "The Symbol Component integrates the latest [Material Symbols](https://fonts.google.com/icons?icon.platform=web&icon.style=Rounded&icon.set=Material+Symbols&query=les).\nMaterial Symbols consolidates over 3,275 glyphs (icons) in a single font file with a wide range of design variants.\nSymbols are available in three styles and four adjustable variable font styles (fill, weight, grade, and optical size).",
|
|
4914
5222
|
dos: [],
|
|
4915
5223
|
donts: [],
|
|
4916
|
-
accessibility: [
|
|
5224
|
+
accessibility: [
|
|
5225
|
+
"Symbols are decorative (`aria-hidden`) \u2014 the parent control carries the accessible name."
|
|
5226
|
+
]
|
|
4917
5227
|
},
|
|
4918
5228
|
relatedTokens: [
|
|
4919
5229
|
"symbol.behavior.fill",
|
|
@@ -4929,11 +5239,11 @@ var uni_index_default = {
|
|
|
4929
5239
|
summary: "",
|
|
4930
5240
|
description: "",
|
|
4931
5241
|
category: "components",
|
|
4932
|
-
version: "
|
|
5242
|
+
version: "6.0.1",
|
|
4933
5243
|
bindings: {
|
|
4934
5244
|
angular: {
|
|
4935
5245
|
importPath: "@uni-design-system/uni-angular",
|
|
4936
|
-
selectorOrTag: "uni-tab
|
|
5246
|
+
selectorOrTag: "uni-tab",
|
|
4937
5247
|
api: [
|
|
4938
5248
|
{
|
|
4939
5249
|
name: "label",
|
|
@@ -4969,11 +5279,11 @@ var uni_index_default = {
|
|
|
4969
5279
|
summary: "",
|
|
4970
5280
|
description: "",
|
|
4971
5281
|
category: "components",
|
|
4972
|
-
version: "
|
|
5282
|
+
version: "6.0.1",
|
|
4973
5283
|
bindings: {
|
|
4974
5284
|
angular: {
|
|
4975
5285
|
importPath: "@uni-design-system/uni-angular",
|
|
4976
|
-
selectorOrTag: "uni-tabs
|
|
5286
|
+
selectorOrTag: "uni-tabs",
|
|
4977
5287
|
api: [
|
|
4978
5288
|
{
|
|
4979
5289
|
name: "selectedIndex",
|
|
@@ -4990,19 +5300,29 @@ var uni_index_default = {
|
|
|
4990
5300
|
{
|
|
4991
5301
|
title: "Default",
|
|
4992
5302
|
framework: "angular",
|
|
4993
|
-
code: '<!-- Storybook story: Default -->\n<uni-tabs [selectedIndex]="selectedIndex ?? 0">\n<uni-tab label="Overview">\n <uni-text
|
|
5303
|
+
code: '<!-- Storybook story: Default -->\n<uni-tabs [selectedIndex]="selectedIndex ?? 0">\n<uni-tab label="Overview">\n <span uni-text="body-1-long">\n Arrow keys move between tabs (disabled tabs are skipped), Home and End jump\n to the extremes, and only the selected panel is rendered.\n </span>\n</uni-tab>\n<uni-tab label="Activity">\n <span uni-text="body-1-long">Recent activity would render here.</span>\n</uni-tab>\n<uni-tab label="Settings">\n <span uni-text="body-1-long">Settings content, instantiated on selection.</span>\n</uni-tab>\n</uni-tabs>'
|
|
4994
5304
|
},
|
|
4995
5305
|
{
|
|
4996
5306
|
title: "With Disabled Tab",
|
|
4997
5307
|
framework: "angular",
|
|
4998
|
-
code: '<!-- Storybook story: With Disabled Tab -->\n<uni-tabs [selectedIndex]="selectedIndex ?? 0">\n<uni-tab label="Overview">\n <uni-text
|
|
5308
|
+
code: '<!-- Storybook story: With Disabled Tab -->\n<uni-tabs [selectedIndex]="selectedIndex ?? 0">\n<uni-tab label="Overview">\n <span uni-text="body-1-long">\n Arrow keys move between tabs (disabled tabs are skipped), Home and End jump\n to the extremes, and only the selected panel is rendered.\n </span>\n</uni-tab>\n<uni-tab label="Activity">\n <span uni-text="body-1-long">Recent activity would render here.</span>\n</uni-tab>\n<uni-tab label="Settings">\n <span uni-text="body-1-long">Settings content, instantiated on selection.</span>\n</uni-tab>\n</uni-tabs>'
|
|
4999
5309
|
}
|
|
5000
5310
|
],
|
|
5001
5311
|
guidelines: {
|
|
5002
|
-
whenToUse: "",
|
|
5003
|
-
dos: [
|
|
5004
|
-
|
|
5005
|
-
|
|
5312
|
+
whenToUse: "Tabs organize peer views behind a single switcher. Each `uni-tab` supplies a label and\nits panel content; only the selected panel is instantiated, so heavy tab content costs\nnothing until visited.\nThe default tokens render underline tabs; a theme that sets `borderRadius: 'max'` and\nan `activeColor` gets segmented pills without any component changes.",
|
|
5313
|
+
dos: [
|
|
5314
|
+
"Use for peer views of the same subject (details, activity, settings)",
|
|
5315
|
+
"Keep labels to one or two words"
|
|
5316
|
+
],
|
|
5317
|
+
donts: [
|
|
5318
|
+
"Nest tabs inside tabs",
|
|
5319
|
+
"Use tabs for sequential steps \u2014 that is a stepper"
|
|
5320
|
+
],
|
|
5321
|
+
accessibility: [
|
|
5322
|
+
"Full WAI-ARIA tabs pattern: `tablist`/`tab`/`tabpanel` roles with wired",
|
|
5323
|
+
"Arrow keys move between tabs with selection following focus, wrapping at the ends;",
|
|
5324
|
+
"Roving tabindex: only the selected tab sits in the tab order; the panel itself is"
|
|
5325
|
+
]
|
|
5006
5326
|
},
|
|
5007
5327
|
relatedTokens: [
|
|
5008
5328
|
"tabs.behavior.typeface",
|
|
@@ -5023,11 +5343,11 @@ var uni_index_default = {
|
|
|
5023
5343
|
summary: "",
|
|
5024
5344
|
description: "",
|
|
5025
5345
|
category: "data",
|
|
5026
|
-
version: "
|
|
5346
|
+
version: "6.0.1",
|
|
5027
5347
|
bindings: {
|
|
5028
5348
|
angular: {
|
|
5029
5349
|
importPath: "@uni-design-system/uni-angular",
|
|
5030
|
-
selectorOrTag: "
|
|
5350
|
+
selectorOrTag: "uni-tag",
|
|
5031
5351
|
api: [
|
|
5032
5352
|
{
|
|
5033
5353
|
name: "label",
|
|
@@ -5076,7 +5396,7 @@ var uni_index_default = {
|
|
|
5076
5396
|
}
|
|
5077
5397
|
],
|
|
5078
5398
|
guidelines: {
|
|
5079
|
-
whenToUse: "",
|
|
5399
|
+
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.",
|
|
5080
5400
|
dos: [],
|
|
5081
5401
|
donts: [],
|
|
5082
5402
|
accessibility: []
|
|
@@ -5090,19 +5410,27 @@ var uni_index_default = {
|
|
|
5090
5410
|
summary: "",
|
|
5091
5411
|
description: "",
|
|
5092
5412
|
category: "primitives",
|
|
5093
|
-
version: "
|
|
5413
|
+
version: "6.0.1",
|
|
5094
5414
|
bindings: {
|
|
5095
5415
|
angular: {
|
|
5096
5416
|
importPath: "@uni-design-system/uni-angular",
|
|
5097
|
-
selectorOrTag: "uni-text
|
|
5417
|
+
selectorOrTag: "[uni-text]",
|
|
5098
5418
|
api: [
|
|
5419
|
+
{
|
|
5420
|
+
name: "uniText",
|
|
5421
|
+
kind: "input",
|
|
5422
|
+
type: "Typeface | ''",
|
|
5423
|
+
required: false,
|
|
5424
|
+
default: "'', { alias: 'uni-text' }",
|
|
5425
|
+
description: 'Typeface via the selector attribute: `uni-text="headline-large"`.'
|
|
5426
|
+
},
|
|
5099
5427
|
{
|
|
5100
5428
|
name: "typeface",
|
|
5101
5429
|
kind: "input",
|
|
5102
|
-
type: "Typeface",
|
|
5430
|
+
type: "Typeface | undefined",
|
|
5103
5431
|
required: false,
|
|
5104
|
-
default: "
|
|
5105
|
-
description: ""
|
|
5432
|
+
default: "undefined",
|
|
5433
|
+
description: "Explicit typeface; the attribute value wins when both are set."
|
|
5106
5434
|
},
|
|
5107
5435
|
{
|
|
5108
5436
|
name: "color",
|
|
@@ -5150,12 +5478,30 @@ var uni_index_default = {
|
|
|
5150
5478
|
]
|
|
5151
5479
|
}
|
|
5152
5480
|
},
|
|
5153
|
-
examples: [
|
|
5481
|
+
examples: [
|
|
5482
|
+
{
|
|
5483
|
+
title: "Value shorthand",
|
|
5484
|
+
framework: "angular",
|
|
5485
|
+
code: '<!-- Storybook story: Value shorthand -->\n<div stack-layout gap="sm">\n<span uni-text="display-small" display="block">Display small</span>\n<span uni-text="headline-medium" display="block">Headline medium</span>\n<span uni-text="body-1-long" display="block">\n Body copy set with uni-text="body-1-long" \u2014 the attribute value is the typeface.\n</span>\n<span uni-text="caption" color="on-background-variant" display="block">\n A caption in the muted ink.\n</span>\n</div>'
|
|
5486
|
+
},
|
|
5487
|
+
{
|
|
5488
|
+
title: "Element-aware defaults",
|
|
5489
|
+
framework: "angular",
|
|
5490
|
+
code: '<!-- Storybook story: Element-aware defaults -->\n<div stack-layout gap="sm">\n<span uni-text="display-small" display="block">Display small</span>\n<span uni-text="headline-medium" display="block">Headline medium</span>\n<span uni-text="body-1-long" display="block">\n Body copy set with uni-text="body-1-long" \u2014 the attribute value is the typeface.\n</span>\n<span uni-text="caption" color="on-background-variant" display="block">\n A caption in the muted ink.\n</span>\n</div>'
|
|
5491
|
+
}
|
|
5492
|
+
],
|
|
5154
5493
|
guidelines: {
|
|
5155
|
-
whenToUse: "",
|
|
5156
|
-
dos: [
|
|
5157
|
-
|
|
5158
|
-
|
|
5494
|
+
whenToUse: 'The typography primitive, applied as an **attribute on any element** so your HTML\nsemantics stay intact. The attribute value is the typeface \u2014\n`<h1 uni-text="display-small">` \u2014 and `[uni-text]="role()"` binds it dynamically.\nWith no value, the typeface is inferred from the host element (`h1` \u2192\n`headline-large`, `p` \u2192 `body-1-long`, `small` \u2192 `caption`, `blockquote` \u2192 `quote`,\nfalling back to `title-small`), so plain semantic markup is correctly set with zero\nconfiguration. `color` takes any theme color token; `align`, `nowrap`, `maxWidth`,\nand `ellipsis` handle common text layout.',
|
|
5495
|
+
dos: [
|
|
5496
|
+
"Reach for semantic elements first and let the element-aware defaults set the type"
|
|
5497
|
+
],
|
|
5498
|
+
donts: [
|
|
5499
|
+
'Use `span uni-text="headline-large"` where a real heading belongs'
|
|
5500
|
+
],
|
|
5501
|
+
accessibility: [
|
|
5502
|
+
"Text never replaces your elements \u2014 headings stay `h1`\u2013`h6`, paragraphs stay `p`,",
|
|
5503
|
+
"Type is styling only: pick the element for meaning, the typeface for appearance"
|
|
5504
|
+
]
|
|
5159
5505
|
},
|
|
5160
5506
|
relatedTokens: []
|
|
5161
5507
|
},
|
|
@@ -5166,7 +5512,7 @@ var uni_index_default = {
|
|
|
5166
5512
|
summary: "",
|
|
5167
5513
|
description: "",
|
|
5168
5514
|
category: "primitives",
|
|
5169
|
-
version: "
|
|
5515
|
+
version: "6.0.1",
|
|
5170
5516
|
bindings: {
|
|
5171
5517
|
angular: {
|
|
5172
5518
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5276,10 +5622,13 @@ var uni_index_default = {
|
|
|
5276
5622
|
}
|
|
5277
5623
|
],
|
|
5278
5624
|
guidelines: {
|
|
5279
|
-
whenToUse: "",
|
|
5625
|
+
whenToUse: "Multi-line text field with the same Signal Forms contract as Input \u2014 use it anywhere\nfree-form text runs past one line (comments, descriptions, feedback). It shares Input's\nthemed chrome (color, border, error state, focus outline, typeface) and adds\ntextarea-specific behavior from the theme's `textarea` options: default `rows` and the\nCSS `resize` mode. Bind it to a form with the `[field]` directive, or drive `[(value)]`\ndirectly.",
|
|
5280
5626
|
dos: [],
|
|
5281
5627
|
donts: [],
|
|
5282
|
-
accessibility: [
|
|
5628
|
+
accessibility: [
|
|
5629
|
+
"`label` is required and becomes the accessible name (`aria-label`).",
|
|
5630
|
+
"Error state is exposed as `aria-invalid` once the field was touched or is dirty; wire your error text with `ariaDescribedBy`."
|
|
5631
|
+
]
|
|
5283
5632
|
},
|
|
5284
5633
|
relatedTokens: [
|
|
5285
5634
|
"textarea.behavior.rows",
|
|
@@ -5293,7 +5642,7 @@ var uni_index_default = {
|
|
|
5293
5642
|
summary: "",
|
|
5294
5643
|
description: "",
|
|
5295
5644
|
category: "primitives",
|
|
5296
|
-
version: "
|
|
5645
|
+
version: "6.0.1",
|
|
5297
5646
|
bindings: {
|
|
5298
5647
|
angular: {
|
|
5299
5648
|
importPath: "@uni-design-system/uni-angular",
|
|
@@ -5323,11 +5672,11 @@ var uni_index_default = {
|
|
|
5323
5672
|
summary: "",
|
|
5324
5673
|
description: "",
|
|
5325
5674
|
category: "forms",
|
|
5326
|
-
version: "
|
|
5675
|
+
version: "6.0.1",
|
|
5327
5676
|
bindings: {
|
|
5328
5677
|
angular: {
|
|
5329
5678
|
importPath: "@uni-design-system/uni-angular",
|
|
5330
|
-
selectorOrTag: "uni-toggle
|
|
5679
|
+
selectorOrTag: "uni-toggle",
|
|
5331
5680
|
api: [
|
|
5332
5681
|
{
|
|
5333
5682
|
name: "checked",
|
|
@@ -5427,13 +5776,23 @@ var uni_index_default = {
|
|
|
5427
5776
|
}
|
|
5428
5777
|
],
|
|
5429
5778
|
guidelines: {
|
|
5430
|
-
whenToUse: "",
|
|
5431
|
-
dos: [
|
|
5432
|
-
|
|
5433
|
-
|
|
5779
|
+
whenToUse: "A switch-style control for turning an option on or off with immediate effect \u2014\nprefer it over a checkbox when the change applies instantly (settings, feature\nswitches) rather than as part of a submitted form. It implements\n`FormCheckboxControl`, so it binds with the Signal Forms `[field]` directive or a\ndirect `[(checked)]` model.\nTrack, knob, and size resolve from the `toggle` theme options; the checked state\nwears the active `variant` color.",
|
|
5780
|
+
dos: [
|
|
5781
|
+
"Use for instant on/off effects (settings, feature switches)"
|
|
5782
|
+
],
|
|
5783
|
+
donts: [
|
|
5784
|
+
"Use in submitted forms where nothing happens until save \u2014 that is a checkbox"
|
|
5785
|
+
],
|
|
5786
|
+
accessibility: [
|
|
5787
|
+
'Semantic `<input type="checkbox">` with `role="switch"`, properly associated with its label.',
|
|
5788
|
+
"Space toggles; focus indicators are provided for keyboard navigation.",
|
|
5789
|
+
"Screen readers announce the label and on/off state."
|
|
5790
|
+
]
|
|
5434
5791
|
},
|
|
5435
5792
|
relatedTokens: [
|
|
5436
|
-
"toggle.behavior.size"
|
|
5793
|
+
"toggle.behavior.size",
|
|
5794
|
+
"toggle.behavior.trackColor",
|
|
5795
|
+
"toggle.behavior.knobColor"
|
|
5437
5796
|
]
|
|
5438
5797
|
},
|
|
5439
5798
|
{
|
|
@@ -5443,11 +5802,11 @@ var uni_index_default = {
|
|
|
5443
5802
|
summary: "",
|
|
5444
5803
|
description: "",
|
|
5445
5804
|
category: "feedback",
|
|
5446
|
-
version: "
|
|
5805
|
+
version: "6.0.1",
|
|
5447
5806
|
bindings: {
|
|
5448
5807
|
angular: {
|
|
5449
5808
|
importPath: "@uni-design-system/uni-angular",
|
|
5450
|
-
selectorOrTag: "uni-tooltip
|
|
5809
|
+
selectorOrTag: "uni-tooltip",
|
|
5451
5810
|
api: [
|
|
5452
5811
|
{
|
|
5453
5812
|
name: "hoverDelay",
|
|
@@ -5495,14 +5854,18 @@ var uni_index_default = {
|
|
|
5495
5854
|
{
|
|
5496
5855
|
title: "Primary",
|
|
5497
5856
|
framework: "angular",
|
|
5498
|
-
code: "<!-- Storybook story: Primary -->\n<
|
|
5857
|
+
code: "<!-- Storybook story: Primary -->\n<span uni-text>Here is some text with a <uni-tooltip ${argsToTemplate(props)}>tooltip</uni-tooltip> in the middle.\n</span>\n<!-- args:\n{\n label: 'Bottom-start tooltip',\n placement: 'bottom-start',\n inlineText: true,\n }\n-->"
|
|
5499
5858
|
}
|
|
5500
5859
|
],
|
|
5501
5860
|
guidelines: {
|
|
5502
|
-
whenToUse: "",
|
|
5861
|
+
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`.",
|
|
5503
5862
|
dos: [],
|
|
5504
5863
|
donts: [],
|
|
5505
|
-
accessibility: [
|
|
5864
|
+
accessibility: [
|
|
5865
|
+
'`role="tooltip"` linked to the trigger via `aria-describedby` (wired once \u2014 the bubble is always in the DOM).',
|
|
5866
|
+
"Shows on keyboard focus, hides on blur and Escape; stays open while hovered (WCAG 1.4.13).",
|
|
5867
|
+
'Non-focusable triggers get `tabindex="0"` so keyboard users can reach the tooltip.'
|
|
5868
|
+
]
|
|
5506
5869
|
},
|
|
5507
5870
|
relatedTokens: [
|
|
5508
5871
|
"tooltip.behavior.borderRadius",
|
|
@@ -5518,11 +5881,11 @@ var uni_index_default = {
|
|
|
5518
5881
|
summary: "",
|
|
5519
5882
|
description: "",
|
|
5520
5883
|
category: "layout",
|
|
5521
|
-
version: "
|
|
5884
|
+
version: "6.0.1",
|
|
5522
5885
|
bindings: {
|
|
5523
5886
|
angular: {
|
|
5524
5887
|
importPath: "@uni-design-system/uni-angular",
|
|
5525
|
-
selectorOrTag: "
|
|
5888
|
+
selectorOrTag: "[uni-wrap-layout], [wrap-layout]",
|
|
5526
5889
|
api: [
|
|
5527
5890
|
{
|
|
5528
5891
|
name: "display",
|
|
@@ -5551,7 +5914,7 @@ var uni_index_default = {
|
|
|
5551
5914
|
}
|
|
5552
5915
|
],
|
|
5553
5916
|
guidelines: {
|
|
5554
|
-
whenToUse: "",
|
|
5917
|
+
whenToUse: "Used to add space between elements and wraps automatically if there isn't enough space.",
|
|
5555
5918
|
dos: [],
|
|
5556
5919
|
donts: [],
|
|
5557
5920
|
accessibility: []
|
|
@@ -6979,6 +7342,17 @@ var uni_index_default = {
|
|
|
6979
7342
|
DarkTheme: '{"fontFamily":"Red Hat Display","fontSize":16,"lineHeight":24}'
|
|
6980
7343
|
}
|
|
6981
7344
|
},
|
|
7345
|
+
{
|
|
7346
|
+
id: "typography.stat",
|
|
7347
|
+
value: '{"fontFamily":"Red Hat Display","fontSize":32,"lineHeight":38,"fontWeight":600,"letterSpacing":-0.32}',
|
|
7348
|
+
type: "typography",
|
|
7349
|
+
kind: "style",
|
|
7350
|
+
target: "emotion-css",
|
|
7351
|
+
themeValues: {
|
|
7352
|
+
LightTheme: '{"fontFamily":"Red Hat Display","fontSize":32,"lineHeight":38,"fontWeight":600,"letterSpacing":-0.32}',
|
|
7353
|
+
DarkTheme: '{"fontFamily":"Red Hat Display","fontSize":32,"lineHeight":38,"fontWeight":600,"letterSpacing":-0.32}'
|
|
7354
|
+
}
|
|
7355
|
+
},
|
|
6982
7356
|
{
|
|
6983
7357
|
id: "typography.tag",
|
|
6984
7358
|
value: '{"fontFamily":"Red Hat Display","fontSize":15,"lineHeight":20,"fontWeight":600}',
|
|
@@ -7325,6 +7699,78 @@ var uni_index_default = {
|
|
|
7325
7699
|
DarkTheme: 2
|
|
7326
7700
|
}
|
|
7327
7701
|
},
|
|
7702
|
+
{
|
|
7703
|
+
id: "searchInput.behavior.searchSymbol",
|
|
7704
|
+
value: "search",
|
|
7705
|
+
type: "string",
|
|
7706
|
+
kind: "behavioral",
|
|
7707
|
+
target: "component-prop",
|
|
7708
|
+
appliesTo: "searchInput",
|
|
7709
|
+
themeValues: {
|
|
7710
|
+
LightTheme: "search",
|
|
7711
|
+
DarkTheme: "search"
|
|
7712
|
+
}
|
|
7713
|
+
},
|
|
7714
|
+
{
|
|
7715
|
+
id: "searchInput.behavior.clearSymbol",
|
|
7716
|
+
value: "close",
|
|
7717
|
+
type: "string",
|
|
7718
|
+
kind: "behavioral",
|
|
7719
|
+
target: "component-prop",
|
|
7720
|
+
appliesTo: "searchInput",
|
|
7721
|
+
themeValues: {
|
|
7722
|
+
LightTheme: "close",
|
|
7723
|
+
DarkTheme: "close"
|
|
7724
|
+
}
|
|
7725
|
+
},
|
|
7726
|
+
{
|
|
7727
|
+
id: "searchInput.behavior.listColor",
|
|
7728
|
+
value: "primary-surface",
|
|
7729
|
+
type: "string",
|
|
7730
|
+
kind: "behavioral",
|
|
7731
|
+
target: "component-prop",
|
|
7732
|
+
appliesTo: "searchInput",
|
|
7733
|
+
themeValues: {
|
|
7734
|
+
LightTheme: "primary-surface",
|
|
7735
|
+
DarkTheme: "primary-surface"
|
|
7736
|
+
}
|
|
7737
|
+
},
|
|
7738
|
+
{
|
|
7739
|
+
id: "searchInput.behavior.listShadow",
|
|
7740
|
+
value: "menu",
|
|
7741
|
+
type: "string",
|
|
7742
|
+
kind: "behavioral",
|
|
7743
|
+
target: "component-prop",
|
|
7744
|
+
appliesTo: "searchInput",
|
|
7745
|
+
themeValues: {
|
|
7746
|
+
LightTheme: "menu",
|
|
7747
|
+
DarkTheme: "menu"
|
|
7748
|
+
}
|
|
7749
|
+
},
|
|
7750
|
+
{
|
|
7751
|
+
id: "searchInput.behavior.listBorderRadius",
|
|
7752
|
+
value: "xs",
|
|
7753
|
+
type: "string",
|
|
7754
|
+
kind: "behavioral",
|
|
7755
|
+
target: "component-prop",
|
|
7756
|
+
appliesTo: "searchInput",
|
|
7757
|
+
themeValues: {
|
|
7758
|
+
LightTheme: "xs",
|
|
7759
|
+
DarkTheme: "xs"
|
|
7760
|
+
}
|
|
7761
|
+
},
|
|
7762
|
+
{
|
|
7763
|
+
id: "searchInput.behavior.maxSuggestions",
|
|
7764
|
+
value: 8,
|
|
7765
|
+
type: "number",
|
|
7766
|
+
kind: "behavioral",
|
|
7767
|
+
target: "component-prop",
|
|
7768
|
+
appliesTo: "searchInput",
|
|
7769
|
+
themeValues: {
|
|
7770
|
+
LightTheme: 8,
|
|
7771
|
+
DarkTheme: 8
|
|
7772
|
+
}
|
|
7773
|
+
},
|
|
7328
7774
|
{
|
|
7329
7775
|
id: "checkbox.behavior.size",
|
|
7330
7776
|
value: 20,
|
|
@@ -7337,6 +7783,54 @@ var uni_index_default = {
|
|
|
7337
7783
|
DarkTheme: 20
|
|
7338
7784
|
}
|
|
7339
7785
|
},
|
|
7786
|
+
{
|
|
7787
|
+
id: "checkbox.behavior.boxColor",
|
|
7788
|
+
value: "surface",
|
|
7789
|
+
type: "string",
|
|
7790
|
+
kind: "behavioral",
|
|
7791
|
+
target: "component-prop",
|
|
7792
|
+
appliesTo: "checkbox",
|
|
7793
|
+
themeValues: {
|
|
7794
|
+
LightTheme: "surface",
|
|
7795
|
+
DarkTheme: "surface"
|
|
7796
|
+
}
|
|
7797
|
+
},
|
|
7798
|
+
{
|
|
7799
|
+
id: "radio.behavior.size",
|
|
7800
|
+
value: 20,
|
|
7801
|
+
type: "number",
|
|
7802
|
+
kind: "behavioral",
|
|
7803
|
+
target: "component-prop",
|
|
7804
|
+
appliesTo: "radio",
|
|
7805
|
+
themeValues: {
|
|
7806
|
+
LightTheme: 20,
|
|
7807
|
+
DarkTheme: 20
|
|
7808
|
+
}
|
|
7809
|
+
},
|
|
7810
|
+
{
|
|
7811
|
+
id: "radio.behavior.ringColor",
|
|
7812
|
+
value: "outline",
|
|
7813
|
+
type: "string",
|
|
7814
|
+
kind: "behavioral",
|
|
7815
|
+
target: "component-prop",
|
|
7816
|
+
appliesTo: "radio",
|
|
7817
|
+
themeValues: {
|
|
7818
|
+
LightTheme: "outline",
|
|
7819
|
+
DarkTheme: "outline"
|
|
7820
|
+
}
|
|
7821
|
+
},
|
|
7822
|
+
{
|
|
7823
|
+
id: "radio.behavior.fillColor",
|
|
7824
|
+
value: "surface",
|
|
7825
|
+
type: "string",
|
|
7826
|
+
kind: "behavioral",
|
|
7827
|
+
target: "component-prop",
|
|
7828
|
+
appliesTo: "radio",
|
|
7829
|
+
themeValues: {
|
|
7830
|
+
LightTheme: "surface",
|
|
7831
|
+
DarkTheme: "surface"
|
|
7832
|
+
}
|
|
7833
|
+
},
|
|
7340
7834
|
{
|
|
7341
7835
|
id: "dialog.behavior.borderRadius",
|
|
7342
7836
|
value: "lg",
|
|
@@ -8417,6 +8911,138 @@ var uni_index_default = {
|
|
|
8417
8911
|
DarkTheme: "xs"
|
|
8418
8912
|
}
|
|
8419
8913
|
},
|
|
8914
|
+
{
|
|
8915
|
+
id: "stat.behavior.labelTypeface",
|
|
8916
|
+
value: "label",
|
|
8917
|
+
type: "string",
|
|
8918
|
+
kind: "behavioral",
|
|
8919
|
+
target: "component-prop",
|
|
8920
|
+
appliesTo: "stat",
|
|
8921
|
+
themeValues: {
|
|
8922
|
+
LightTheme: "label",
|
|
8923
|
+
DarkTheme: "label"
|
|
8924
|
+
}
|
|
8925
|
+
},
|
|
8926
|
+
{
|
|
8927
|
+
id: "stat.behavior.valueTypeface",
|
|
8928
|
+
value: "stat",
|
|
8929
|
+
type: "string",
|
|
8930
|
+
kind: "behavioral",
|
|
8931
|
+
target: "component-prop",
|
|
8932
|
+
appliesTo: "stat",
|
|
8933
|
+
themeValues: {
|
|
8934
|
+
LightTheme: "stat",
|
|
8935
|
+
DarkTheme: "stat"
|
|
8936
|
+
}
|
|
8937
|
+
},
|
|
8938
|
+
{
|
|
8939
|
+
id: "stat.behavior.color",
|
|
8940
|
+
value: "surface",
|
|
8941
|
+
type: "string",
|
|
8942
|
+
kind: "behavioral",
|
|
8943
|
+
target: "component-prop",
|
|
8944
|
+
appliesTo: "stat",
|
|
8945
|
+
themeValues: {
|
|
8946
|
+
LightTheme: "surface",
|
|
8947
|
+
DarkTheme: "surface"
|
|
8948
|
+
}
|
|
8949
|
+
},
|
|
8950
|
+
{
|
|
8951
|
+
id: "stat.behavior.border",
|
|
8952
|
+
value: "light",
|
|
8953
|
+
type: "string",
|
|
8954
|
+
kind: "behavioral",
|
|
8955
|
+
target: "component-prop",
|
|
8956
|
+
appliesTo: "stat",
|
|
8957
|
+
themeValues: {
|
|
8958
|
+
LightTheme: "light",
|
|
8959
|
+
DarkTheme: "light"
|
|
8960
|
+
}
|
|
8961
|
+
},
|
|
8962
|
+
{
|
|
8963
|
+
id: "stat.behavior.borderRadius",
|
|
8964
|
+
value: "xs",
|
|
8965
|
+
type: "string",
|
|
8966
|
+
kind: "behavioral",
|
|
8967
|
+
target: "component-prop",
|
|
8968
|
+
appliesTo: "stat",
|
|
8969
|
+
themeValues: {
|
|
8970
|
+
LightTheme: "xs",
|
|
8971
|
+
DarkTheme: "xs"
|
|
8972
|
+
}
|
|
8973
|
+
},
|
|
8974
|
+
{
|
|
8975
|
+
id: "stat.behavior.positiveColor",
|
|
8976
|
+
value: "success",
|
|
8977
|
+
type: "string",
|
|
8978
|
+
kind: "behavioral",
|
|
8979
|
+
target: "component-prop",
|
|
8980
|
+
appliesTo: "stat",
|
|
8981
|
+
themeValues: {
|
|
8982
|
+
LightTheme: "success",
|
|
8983
|
+
DarkTheme: "success"
|
|
8984
|
+
}
|
|
8985
|
+
},
|
|
8986
|
+
{
|
|
8987
|
+
id: "stat.behavior.negativeColor",
|
|
8988
|
+
value: "error",
|
|
8989
|
+
type: "string",
|
|
8990
|
+
kind: "behavioral",
|
|
8991
|
+
target: "component-prop",
|
|
8992
|
+
appliesTo: "stat",
|
|
8993
|
+
themeValues: {
|
|
8994
|
+
LightTheme: "error",
|
|
8995
|
+
DarkTheme: "error"
|
|
8996
|
+
}
|
|
8997
|
+
},
|
|
8998
|
+
{
|
|
8999
|
+
id: "stat.behavior.trendColor",
|
|
9000
|
+
value: "outline",
|
|
9001
|
+
type: "string",
|
|
9002
|
+
kind: "behavioral",
|
|
9003
|
+
target: "component-prop",
|
|
9004
|
+
appliesTo: "stat",
|
|
9005
|
+
themeValues: {
|
|
9006
|
+
LightTheme: "outline",
|
|
9007
|
+
DarkTheme: "outline"
|
|
9008
|
+
}
|
|
9009
|
+
},
|
|
9010
|
+
{
|
|
9011
|
+
id: "stat.behavior.trendAccent",
|
|
9012
|
+
value: "primary",
|
|
9013
|
+
type: "string",
|
|
9014
|
+
kind: "behavioral",
|
|
9015
|
+
target: "component-prop",
|
|
9016
|
+
appliesTo: "stat",
|
|
9017
|
+
themeValues: {
|
|
9018
|
+
LightTheme: "primary",
|
|
9019
|
+
DarkTheme: "primary"
|
|
9020
|
+
}
|
|
9021
|
+
},
|
|
9022
|
+
{
|
|
9023
|
+
id: "stat.behavior.padding",
|
|
9024
|
+
value: "md",
|
|
9025
|
+
type: "string",
|
|
9026
|
+
kind: "behavioral",
|
|
9027
|
+
target: "component-prop",
|
|
9028
|
+
appliesTo: "stat",
|
|
9029
|
+
themeValues: {
|
|
9030
|
+
LightTheme: "md",
|
|
9031
|
+
DarkTheme: "md"
|
|
9032
|
+
}
|
|
9033
|
+
},
|
|
9034
|
+
{
|
|
9035
|
+
id: "stat.behavior.gap",
|
|
9036
|
+
value: "xxs",
|
|
9037
|
+
type: "string",
|
|
9038
|
+
kind: "behavioral",
|
|
9039
|
+
target: "component-prop",
|
|
9040
|
+
appliesTo: "stat",
|
|
9041
|
+
themeValues: {
|
|
9042
|
+
LightTheme: "xxs",
|
|
9043
|
+
DarkTheme: "xxs"
|
|
9044
|
+
}
|
|
9045
|
+
},
|
|
8420
9046
|
{
|
|
8421
9047
|
id: "slider.behavior.color",
|
|
8422
9048
|
value: "primary",
|
|
@@ -8645,6 +9271,30 @@ var uni_index_default = {
|
|
|
8645
9271
|
DarkTheme: 20
|
|
8646
9272
|
}
|
|
8647
9273
|
},
|
|
9274
|
+
{
|
|
9275
|
+
id: "toggle.behavior.trackColor",
|
|
9276
|
+
value: "surface-variant",
|
|
9277
|
+
type: "string",
|
|
9278
|
+
kind: "behavioral",
|
|
9279
|
+
target: "component-prop",
|
|
9280
|
+
appliesTo: "toggle",
|
|
9281
|
+
themeValues: {
|
|
9282
|
+
LightTheme: "surface-variant",
|
|
9283
|
+
DarkTheme: "surface-variant"
|
|
9284
|
+
}
|
|
9285
|
+
},
|
|
9286
|
+
{
|
|
9287
|
+
id: "toggle.behavior.knobColor",
|
|
9288
|
+
value: "surface",
|
|
9289
|
+
type: "string",
|
|
9290
|
+
kind: "behavioral",
|
|
9291
|
+
target: "component-prop",
|
|
9292
|
+
appliesTo: "toggle",
|
|
9293
|
+
themeValues: {
|
|
9294
|
+
LightTheme: "surface",
|
|
9295
|
+
DarkTheme: "surface"
|
|
9296
|
+
}
|
|
9297
|
+
},
|
|
8648
9298
|
{
|
|
8649
9299
|
id: "tooltip.behavior.borderRadius",
|
|
8650
9300
|
value: "xs",
|
|
@@ -8829,6 +9479,7 @@ var uni_index_default = {
|
|
|
8829
9479
|
"typography.quote": '{"fontFamily":"Roboto","fontSize":16,"lineHeight":24}',
|
|
8830
9480
|
"typography.note": '{"fontFamily":"Roboto","fontSize":14,"lineHeight":22,"fontStyle":"italic"}',
|
|
8831
9481
|
"typography.badge": '{"fontFamily":"Red Hat Display","fontSize":16,"lineHeight":24}',
|
|
9482
|
+
"typography.stat": '{"fontFamily":"Red Hat Display","fontSize":32,"lineHeight":38,"fontWeight":600,"letterSpacing":-0.32}',
|
|
8832
9483
|
"typography.tag": '{"fontFamily":"Red Hat Display","fontSize":15,"lineHeight":20,"fontWeight":600}',
|
|
8833
9484
|
"typography.input": '{"fontFamily":"Red Hat Display","fontSize":14,"lineHeight":24}'
|
|
8834
9485
|
},
|
|
@@ -8872,8 +9523,22 @@ var uni_index_default = {
|
|
|
8872
9523
|
ringColor: "surface",
|
|
8873
9524
|
ringWidth: 2
|
|
8874
9525
|
},
|
|
9526
|
+
searchInput: {
|
|
9527
|
+
searchSymbol: "search",
|
|
9528
|
+
clearSymbol: "close",
|
|
9529
|
+
listColor: "primary-surface",
|
|
9530
|
+
listShadow: "menu",
|
|
9531
|
+
listBorderRadius: "xs",
|
|
9532
|
+
maxSuggestions: 8
|
|
9533
|
+
},
|
|
8875
9534
|
checkbox: {
|
|
8876
|
-
size: 20
|
|
9535
|
+
size: 20,
|
|
9536
|
+
boxColor: "surface"
|
|
9537
|
+
},
|
|
9538
|
+
radio: {
|
|
9539
|
+
size: 20,
|
|
9540
|
+
ringColor: "outline",
|
|
9541
|
+
fillColor: "surface"
|
|
8877
9542
|
},
|
|
8878
9543
|
dialog: {
|
|
8879
9544
|
borderRadius: "lg",
|
|
@@ -8997,6 +9662,19 @@ var uni_index_default = {
|
|
|
8997
9662
|
currentPageBorder: "light",
|
|
8998
9663
|
currentPageBorderRadius: "xs"
|
|
8999
9664
|
},
|
|
9665
|
+
stat: {
|
|
9666
|
+
labelTypeface: "label",
|
|
9667
|
+
valueTypeface: "stat",
|
|
9668
|
+
color: "surface",
|
|
9669
|
+
border: "light",
|
|
9670
|
+
borderRadius: "xs",
|
|
9671
|
+
positiveColor: "success",
|
|
9672
|
+
negativeColor: "error",
|
|
9673
|
+
trendColor: "outline",
|
|
9674
|
+
trendAccent: "primary",
|
|
9675
|
+
padding: "md",
|
|
9676
|
+
gap: "xxs"
|
|
9677
|
+
},
|
|
9000
9678
|
slider: {
|
|
9001
9679
|
color: "primary",
|
|
9002
9680
|
trackColor: "surface-variant",
|
|
@@ -9024,7 +9702,9 @@ var uni_index_default = {
|
|
|
9024
9702
|
opticalSize: 24
|
|
9025
9703
|
},
|
|
9026
9704
|
toggle: {
|
|
9027
|
-
size: 20
|
|
9705
|
+
size: 20,
|
|
9706
|
+
trackColor: "surface-variant",
|
|
9707
|
+
knobColor: "surface"
|
|
9028
9708
|
},
|
|
9029
9709
|
tooltip: {
|
|
9030
9710
|
borderRadius: "xs",
|
|
@@ -9169,6 +9849,7 @@ var uni_index_default = {
|
|
|
9169
9849
|
"typography.quote": '{"fontFamily":"Roboto","fontSize":16,"lineHeight":24}',
|
|
9170
9850
|
"typography.note": '{"fontFamily":"Roboto","fontSize":14,"lineHeight":22,"fontStyle":"italic"}',
|
|
9171
9851
|
"typography.badge": '{"fontFamily":"Red Hat Display","fontSize":16,"lineHeight":24}',
|
|
9852
|
+
"typography.stat": '{"fontFamily":"Red Hat Display","fontSize":32,"lineHeight":38,"fontWeight":600,"letterSpacing":-0.32}',
|
|
9172
9853
|
"typography.tag": '{"fontFamily":"Red Hat Display","fontSize":15,"lineHeight":20,"fontWeight":600}',
|
|
9173
9854
|
"typography.input": '{"fontFamily":"Red Hat Display","fontSize":14,"lineHeight":24}'
|
|
9174
9855
|
},
|
|
@@ -9212,8 +9893,22 @@ var uni_index_default = {
|
|
|
9212
9893
|
ringColor: "surface",
|
|
9213
9894
|
ringWidth: 2
|
|
9214
9895
|
},
|
|
9896
|
+
searchInput: {
|
|
9897
|
+
searchSymbol: "search",
|
|
9898
|
+
clearSymbol: "close",
|
|
9899
|
+
listColor: "primary-surface",
|
|
9900
|
+
listShadow: "menu",
|
|
9901
|
+
listBorderRadius: "xs",
|
|
9902
|
+
maxSuggestions: 8
|
|
9903
|
+
},
|
|
9215
9904
|
checkbox: {
|
|
9216
|
-
size: 20
|
|
9905
|
+
size: 20,
|
|
9906
|
+
boxColor: "surface"
|
|
9907
|
+
},
|
|
9908
|
+
radio: {
|
|
9909
|
+
size: 20,
|
|
9910
|
+
ringColor: "outline",
|
|
9911
|
+
fillColor: "surface"
|
|
9217
9912
|
},
|
|
9218
9913
|
dialog: {
|
|
9219
9914
|
borderRadius: "lg",
|
|
@@ -9337,6 +10032,19 @@ var uni_index_default = {
|
|
|
9337
10032
|
currentPageBorder: "light",
|
|
9338
10033
|
currentPageBorderRadius: "xs"
|
|
9339
10034
|
},
|
|
10035
|
+
stat: {
|
|
10036
|
+
labelTypeface: "label",
|
|
10037
|
+
valueTypeface: "stat",
|
|
10038
|
+
color: "surface",
|
|
10039
|
+
border: "light",
|
|
10040
|
+
borderRadius: "xs",
|
|
10041
|
+
positiveColor: "success",
|
|
10042
|
+
negativeColor: "error",
|
|
10043
|
+
trendColor: "outline",
|
|
10044
|
+
trendAccent: "primary",
|
|
10045
|
+
padding: "md",
|
|
10046
|
+
gap: "xxs"
|
|
10047
|
+
},
|
|
9340
10048
|
slider: {
|
|
9341
10049
|
color: "primary",
|
|
9342
10050
|
trackColor: "surface-variant",
|
|
@@ -9364,7 +10072,9 @@ var uni_index_default = {
|
|
|
9364
10072
|
opticalSize: 24
|
|
9365
10073
|
},
|
|
9366
10074
|
toggle: {
|
|
9367
|
-
size: 20
|
|
10075
|
+
size: 20,
|
|
10076
|
+
trackColor: "surface-variant",
|
|
10077
|
+
knobColor: "surface"
|
|
9368
10078
|
},
|
|
9369
10079
|
tooltip: {
|
|
9370
10080
|
borderRadius: "xs",
|
|
@@ -10101,6 +10811,19 @@ var generateShadows = (colors, mode = "light") => {
|
|
|
10101
10811
|
warn: `0 0 5px ${rgba(error, 0.5)}, inset 0 0 5px ${rgba(error, 0.3)}`
|
|
10102
10812
|
};
|
|
10103
10813
|
};
|
|
10814
|
+
var BaseIcons = {
|
|
10815
|
+
alertCircle: "data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cpath d='M0 0h24v24H0V0z' fill='none'/%3e%3cpath d='M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z'/%3e%3c/svg%3e",
|
|
10816
|
+
calendar: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z'%3E%3C/path%3E%3C/svg%3E",
|
|
10817
|
+
checkCircle: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg%3E%3Cpath d='M32,0A32,32,0,1,0,64,32,32,32,0,0,0,32,0Zm2.0873,41.5-5.4107,5.4106-.02.02L14.1751,32.4492l5.4306-5.4306,9.051,9.0509L46.2861,18.44l5.4305,5.4306Z'/%3E%3C/g%3E%3C/svg%3E",
|
|
10818
|
+
chevronUp: "data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='m296-345-56-56 240-240 240 240-56 56-184-184-184 184Z'/%3E%3C/svg%3E",
|
|
10819
|
+
chevronDown: "data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z'/%3E%3C/svg%3E",
|
|
10820
|
+
chevronLeft: "data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M560-240 320-480l240-240 56 56-184 184 184 184-56 56Z'/%3E%3C/svg%3E",
|
|
10821
|
+
chevronRight: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath d='M504-480 320-664l56-56 240 240-240 240-56-56 184-184Z'/%3E%3C/svg%3E",
|
|
10822
|
+
xCircle: "data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3e%3cg%3e%3cpath d='M32,0A32,32,0,1,0,64,32,32,32,0,0,0,32,0ZM47.4649,42.3543l-5.4306,5.43L31.68,37.4305,21.3257,47.7848l-5.4306-5.43L26.25,32,15.8951,21.6456l5.4306-5.4305L31.68,26.5694,42.0343,16.2151l5.4306,5.4305L37.1106,32Z'/%3e%3c/g%3e%3c/svg%3e",
|
|
10823
|
+
search: "data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3e%3cg%3e%3cpath d='M 21 3 C 11.601563 3 4 10.601563 4 20 C 4 29.398438 11.601563 37 21 37 C 24.355469 37 27.460938 36.015625 30.09375 34.34375 L 42.375 46.625 L 46.625 42.375 L 34.5 30.28125 C 36.679688 27.421875 38 23.878906 38 20 C 38 10.601563 30.398438 3 21 3 Z M 21 7 C 28.199219 7 34 12.800781 34 20 C 34 27.199219 28.199219 33 21 33 C 13.800781 33 8 27.199219 8 20 C 8 12.800781 13.800781 7 21 7 Z'%3e%3c/path%3e%3c/g%3e%3c/svg%3e",
|
|
10824
|
+
close: "data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3e%3cg%3e%3cpath fill='currentColor' d='M.439,21.44a1.5,1.5,0,0,0,2.122,2.121L11.823,14.3a.25.25,0,0,1,.354,0l9.262,9.263a1.5,1.5,0,1,0,2.122-2.121L14.3,12.177a.25.25,0,0,1,0-.354l9.263-9.262A1.5,1.5,0,0,0,21.439.44L12.177,9.7a.25.25,0,0,1-.354,0L2.561.44A1.5,1.5,0,0,0,.439,2.561L9.7,11.823a.25.25,0,0,1,0,.354Z'%3e%3c/path%3e%3c/g%3e%3c/svg%3e",
|
|
10825
|
+
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 "
|
|
10826
|
+
};
|
|
10104
10827
|
var BaseTypography = {
|
|
10105
10828
|
"display-large": {
|
|
10106
10829
|
fontFamily: "Red Hat Display",
|
|
@@ -10238,6 +10961,13 @@ var BaseTypography = {
|
|
|
10238
10961
|
fontSize: 16,
|
|
10239
10962
|
lineHeight: 24
|
|
10240
10963
|
},
|
|
10964
|
+
stat: {
|
|
10965
|
+
fontFamily: "Red Hat Display",
|
|
10966
|
+
fontSize: 32,
|
|
10967
|
+
lineHeight: 38,
|
|
10968
|
+
fontWeight: 600,
|
|
10969
|
+
letterSpacing: -0.32
|
|
10970
|
+
},
|
|
10241
10971
|
tag: {
|
|
10242
10972
|
fontFamily: "Red Hat Display",
|
|
10243
10973
|
fontSize: 15,
|
|
@@ -10381,7 +11111,23 @@ var buildComponents = (c) => ({
|
|
|
10381
11111
|
ringColor: "surface",
|
|
10382
11112
|
ringWidth: 2
|
|
10383
11113
|
} },
|
|
10384
|
-
|
|
11114
|
+
searchInput: { options: {
|
|
11115
|
+
searchSymbol: "search",
|
|
11116
|
+
clearSymbol: "close",
|
|
11117
|
+
listColor: "primary-surface",
|
|
11118
|
+
listShadow: "menu",
|
|
11119
|
+
listBorderRadius: "xs",
|
|
11120
|
+
maxSuggestions: 8
|
|
11121
|
+
} },
|
|
11122
|
+
checkbox: { options: {
|
|
11123
|
+
size: 20,
|
|
11124
|
+
boxColor: "surface"
|
|
11125
|
+
} },
|
|
11126
|
+
radio: { options: {
|
|
11127
|
+
size: 20,
|
|
11128
|
+
ringColor: "outline",
|
|
11129
|
+
fillColor: "surface"
|
|
11130
|
+
} },
|
|
10385
11131
|
dialog: { options: {
|
|
10386
11132
|
borderRadius: "lg",
|
|
10387
11133
|
color: "primary-surface",
|
|
@@ -10706,6 +11452,19 @@ var buildComponents = (c) => ({
|
|
|
10706
11452
|
currentPageBorder: "light",
|
|
10707
11453
|
currentPageBorderRadius: "xs"
|
|
10708
11454
|
} },
|
|
11455
|
+
stat: { options: {
|
|
11456
|
+
labelTypeface: "label",
|
|
11457
|
+
valueTypeface: "stat",
|
|
11458
|
+
color: "surface",
|
|
11459
|
+
border: "light",
|
|
11460
|
+
borderRadius: "xs",
|
|
11461
|
+
positiveColor: "success",
|
|
11462
|
+
negativeColor: "error",
|
|
11463
|
+
trendColor: "outline",
|
|
11464
|
+
trendAccent: "primary",
|
|
11465
|
+
padding: "md",
|
|
11466
|
+
gap: "xxs"
|
|
11467
|
+
} },
|
|
10709
11468
|
slider: { options: {
|
|
10710
11469
|
color: "primary",
|
|
10711
11470
|
trackColor: "surface-variant",
|
|
@@ -10732,7 +11491,11 @@ var buildComponents = (c) => ({
|
|
|
10732
11491
|
grade: 0,
|
|
10733
11492
|
opticalSize: 24
|
|
10734
11493
|
} },
|
|
10735
|
-
toggle: { options: {
|
|
11494
|
+
toggle: { options: {
|
|
11495
|
+
size: 20,
|
|
11496
|
+
trackColor: "surface-variant",
|
|
11497
|
+
knobColor: "surface"
|
|
11498
|
+
} },
|
|
10736
11499
|
tooltip: { options: {
|
|
10737
11500
|
border: void 0,
|
|
10738
11501
|
borderRadius: "xs",
|
|
@@ -10758,7 +11521,10 @@ var createTheme = ({ id, name, colors, icons = {}, radii = BaseRadii, shadows =
|
|
|
10758
11521
|
shadows,
|
|
10759
11522
|
spacing: BaseSpacing,
|
|
10760
11523
|
thicknesses: BaseThicknesses,
|
|
10761
|
-
icons
|
|
11524
|
+
icons: {
|
|
11525
|
+
...BaseIcons,
|
|
11526
|
+
...icons
|
|
11527
|
+
},
|
|
10762
11528
|
components: deepMerge(buildComponents(colors), components)
|
|
10763
11529
|
});
|
|
10764
11530
|
var BASE_PALETTE_CONFIG = {
|
|
@@ -10900,6 +11666,7 @@ var themeExport = (exportName, displayName, colorsConst, shadowsConst, radii) =>
|
|
|
10900
11666
|
` borders: borders(${colorsConst}),`,
|
|
10901
11667
|
` components: components(${colorsConst}),`,
|
|
10902
11668
|
` shadows: ${shadowsConst},`,
|
|
11669
|
+
" icons,",
|
|
10903
11670
|
...radii ? [" radii,"] : [],
|
|
10904
11671
|
"});"
|
|
10905
11672
|
].join("\n");
|
|
@@ -10945,6 +11712,7 @@ var emitThemeFile = (input) => {
|
|
|
10945
11712
|
" type Borders,",
|
|
10946
11713
|
" type Colors,",
|
|
10947
11714
|
" type ComponentThemes,",
|
|
11715
|
+
" type Icons,",
|
|
10948
11716
|
" type Shadows,",
|
|
10949
11717
|
" type UniTheme,",
|
|
10950
11718
|
"} from '@uni-design-system/uni-core';",
|
|
@@ -10968,6 +11736,15 @@ ${recordLiteral(shadows, " ")}
|
|
|
10968
11736
|
" */",
|
|
10969
11737
|
"const components = (colors: Colors): ComponentThemes => ({});",
|
|
10970
11738
|
"",
|
|
11739
|
+
"/**",
|
|
11740
|
+
" * Icon primitives, merged over the built-in set (close, search, spinner,",
|
|
11741
|
+
" * chevrons, \u2026). Define an icon ONCE here as an inline SVG data URI \u2014 it is",
|
|
11742
|
+
" * masked with currentColor, so it recolors with the theme \u2014 and render it",
|
|
11743
|
+
" * anywhere via `<uni-icon name='\u2026'/>`. Never inline SVG in components.",
|
|
11744
|
+
` * Example: logo: "data:image/svg+xml,%3Csvg xmlns='\u2026' viewBox='0 0 24 24'%3E\u2026%3C/svg%3E",`,
|
|
11745
|
+
" */",
|
|
11746
|
+
"const icons: Icons = {};",
|
|
11747
|
+
"",
|
|
10971
11748
|
...radii ? [
|
|
10972
11749
|
`/** Shape language: '${input.shape}'. */`,
|
|
10973
11750
|
`const radii = {
|
|
@@ -11139,6 +11916,10 @@ ${failing.map((f) => `- ${f.mode} \`${f.foreground}\` on \`${f.background}\`: ${
|
|
|
11139
11916
|
"- **Components**: the `components` function returns sparse overrides deep-merged over",
|
|
11140
11917
|
" Uni defaults \u2014 set only what you change, e.g.",
|
|
11141
11918
|
" `button: { variants: { secondary: { border: borders(colors)['brush-stroke'] } } }`.",
|
|
11919
|
+
"- **Icons**: never inline SVG in components. Define an icon ONCE in the theme file's",
|
|
11920
|
+
" `icons` map as an inline SVG data URI \u2014 it is masked with `currentColor`, so it",
|
|
11921
|
+
" recolors with the theme \u2014 then render it anywhere with `<uni-icon name='\u2026'/>`.",
|
|
11922
|
+
" A built-in set (close, search, spinner, chevrons, \u2026) ships with every theme.",
|
|
11142
11923
|
"- Never hardcode hex values in application components: style through `ThemeService`",
|
|
11143
11924
|
" accessors and semantic token names so themes stay swappable."
|
|
11144
11925
|
].join("\n");
|
|
@@ -11348,4 +12129,4 @@ export {
|
|
|
11348
12129
|
meta,
|
|
11349
12130
|
createUniServer
|
|
11350
12131
|
};
|
|
11351
|
-
//# sourceMappingURL=chunk-
|
|
12132
|
+
//# sourceMappingURL=chunk-WCJS2FYS.js.map
|