@uni-design-system/uni-mcp 4.3.0 → 4.5.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.
@@ -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: "6.0.1",
11
- builtAt: "2026-07-24T15:08:54.365Z",
10
+ version: "7.1.0",
11
+ builtAt: "2026-07-29T18:07:05.414Z",
12
12
  frameworks: [
13
13
  "angular"
14
14
  ],
15
15
  counts: {
16
- components: 70,
17
- tokens: 296,
16
+ components: 71,
17
+ tokens: 305,
18
18
  themes: 2,
19
- examples: 132
19
+ examples: 134
20
20
  }
21
21
  },
22
22
  components: [
@@ -27,7 +27,7 @@ var uni_index_default = {
27
27
  summary: "",
28
28
  description: "",
29
29
  category: "feedback",
30
- version: "6.0.1",
30
+ version: "7.1.0",
31
31
  bindings: {
32
32
  angular: {
33
33
  importPath: "@uni-design-system/uni-angular",
@@ -101,7 +101,7 @@ var uni_index_default = {
101
101
  summary: "",
102
102
  description: "",
103
103
  category: "components",
104
- version: "6.0.1",
104
+ version: "7.1.0",
105
105
  bindings: {
106
106
  angular: {
107
107
  importPath: "@uni-design-system/uni-angular",
@@ -158,7 +158,7 @@ var uni_index_default = {
158
158
  summary: "",
159
159
  description: "",
160
160
  category: "components",
161
- version: "6.0.1",
161
+ version: "7.1.0",
162
162
  bindings: {
163
163
  angular: {
164
164
  importPath: "@uni-design-system/uni-angular",
@@ -237,7 +237,7 @@ var uni_index_default = {
237
237
  summary: "",
238
238
  description: "",
239
239
  category: "components",
240
- version: "6.0.1",
240
+ version: "7.1.0",
241
241
  bindings: {
242
242
  angular: {
243
243
  importPath: "@uni-design-system/uni-angular",
@@ -270,7 +270,7 @@ var uni_index_default = {
270
270
  summary: "",
271
271
  description: "",
272
272
  category: "primitives",
273
- version: "6.0.1",
273
+ version: "7.1.0",
274
274
  bindings: {
275
275
  angular: {
276
276
  importPath: "@uni-design-system/uni-angular",
@@ -351,7 +351,7 @@ var uni_index_default = {
351
351
  summary: "",
352
352
  description: "",
353
353
  category: "feedback",
354
- version: "6.0.1",
354
+ version: "7.1.0",
355
355
  bindings: {
356
356
  angular: {
357
357
  importPath: "@uni-design-system/uni-angular",
@@ -432,7 +432,7 @@ var uni_index_default = {
432
432
  summary: "",
433
433
  description: "",
434
434
  category: "directives",
435
- version: "6.0.1",
435
+ version: "7.1.0",
436
436
  bindings: {
437
437
  angular: {
438
438
  importPath: "@uni-design-system/uni-angular",
@@ -456,7 +456,7 @@ var uni_index_default = {
456
456
  summary: "",
457
457
  description: "",
458
458
  category: "layout",
459
- version: "6.0.1",
459
+ version: "7.1.0",
460
460
  bindings: {
461
461
  angular: {
462
462
  importPath: "@uni-design-system/uni-angular",
@@ -819,7 +819,7 @@ var uni_index_default = {
819
819
  summary: "",
820
820
  description: "",
821
821
  category: "components",
822
- version: "6.0.1",
822
+ version: "7.1.0",
823
823
  bindings: {
824
824
  angular: {
825
825
  importPath: "@uni-design-system/uni-angular",
@@ -888,7 +888,7 @@ var uni_index_default = {
888
888
  summary: "",
889
889
  description: "",
890
890
  category: "primitives",
891
- version: "6.0.1",
891
+ version: "7.1.0",
892
892
  bindings: {
893
893
  angular: {
894
894
  importPath: "@uni-design-system/uni-angular",
@@ -1031,7 +1031,7 @@ var uni_index_default = {
1031
1031
  summary: "",
1032
1032
  description: "",
1033
1033
  category: "primitives",
1034
- version: "6.0.1",
1034
+ version: "7.1.0",
1035
1035
  bindings: {
1036
1036
  angular: {
1037
1037
  importPath: "@uni-design-system/uni-angular",
@@ -1063,7 +1063,7 @@ var uni_index_default = {
1063
1063
  summary: "",
1064
1064
  description: "",
1065
1065
  category: "layout",
1066
- version: "6.0.1",
1066
+ version: "7.1.0",
1067
1067
  bindings: {
1068
1068
  angular: {
1069
1069
  importPath: "@uni-design-system/uni-angular",
@@ -1108,7 +1108,7 @@ var uni_index_default = {
1108
1108
  summary: "",
1109
1109
  description: "",
1110
1110
  category: "layout",
1111
- version: "6.0.1",
1111
+ version: "7.1.0",
1112
1112
  bindings: {
1113
1113
  angular: {
1114
1114
  importPath: "@uni-design-system/uni-angular",
@@ -1132,7 +1132,7 @@ var uni_index_default = {
1132
1132
  summary: "",
1133
1133
  description: "",
1134
1134
  category: "layout",
1135
- version: "6.0.1",
1135
+ version: "7.1.0",
1136
1136
  bindings: {
1137
1137
  angular: {
1138
1138
  importPath: "@uni-design-system/uni-angular",
@@ -1173,7 +1173,7 @@ var uni_index_default = {
1173
1173
  summary: "",
1174
1174
  description: "",
1175
1175
  category: "layout",
1176
- version: "6.0.1",
1176
+ version: "7.1.0",
1177
1177
  bindings: {
1178
1178
  angular: {
1179
1179
  importPath: "@uni-design-system/uni-angular",
@@ -1228,7 +1228,7 @@ var uni_index_default = {
1228
1228
  summary: "",
1229
1229
  description: "",
1230
1230
  category: "forms",
1231
- version: "6.0.1",
1231
+ version: "7.1.0",
1232
1232
  bindings: {
1233
1233
  angular: {
1234
1234
  importPath: "@uni-design-system/uni-angular",
@@ -1365,7 +1365,7 @@ var uni_index_default = {
1365
1365
  summary: "",
1366
1366
  description: "",
1367
1367
  category: "feedback",
1368
- version: "6.0.1",
1368
+ version: "7.1.0",
1369
1369
  bindings: {
1370
1370
  angular: {
1371
1371
  importPath: "@uni-design-system/uni-angular",
@@ -1412,7 +1412,7 @@ var uni_index_default = {
1412
1412
  summary: "",
1413
1413
  description: "",
1414
1414
  category: "forms",
1415
- version: "6.0.1",
1415
+ version: "7.1.0",
1416
1416
  bindings: {
1417
1417
  angular: {
1418
1418
  importPath: "@uni-design-system/uni-angular",
@@ -1495,7 +1495,7 @@ var uni_index_default = {
1495
1495
  summary: "",
1496
1496
  description: "",
1497
1497
  category: "data",
1498
- version: "6.0.1",
1498
+ version: "7.1.0",
1499
1499
  bindings: {
1500
1500
  angular: {
1501
1501
  importPath: "@uni-design-system/uni-angular",
@@ -1596,7 +1596,7 @@ var uni_index_default = {
1596
1596
  summary: "",
1597
1597
  description: "",
1598
1598
  category: "forms",
1599
- version: "6.0.1",
1599
+ version: "7.1.0",
1600
1600
  bindings: {
1601
1601
  angular: {
1602
1602
  importPath: "@uni-design-system/uni-angular",
@@ -1722,7 +1722,7 @@ var uni_index_default = {
1722
1722
  summary: "",
1723
1723
  description: "",
1724
1724
  category: "feedback",
1725
- version: "6.0.1",
1725
+ version: "7.1.0",
1726
1726
  bindings: {
1727
1727
  angular: {
1728
1728
  importPath: "@uni-design-system/uni-angular",
@@ -1800,7 +1800,7 @@ var uni_index_default = {
1800
1800
  summary: "",
1801
1801
  description: "",
1802
1802
  category: "feedback",
1803
- version: "6.0.1",
1803
+ version: "7.1.0",
1804
1804
  bindings: {
1805
1805
  angular: {
1806
1806
  importPath: "@uni-design-system/uni-angular",
@@ -1818,7 +1818,6 @@ var uni_index_default = {
1818
1818
  kind: "input",
1819
1819
  type: "Variant",
1820
1820
  required: false,
1821
- default: "'primary'",
1822
1821
  description: ""
1823
1822
  },
1824
1823
  {
@@ -1828,6 +1827,13 @@ var uni_index_default = {
1828
1827
  required: false,
1829
1828
  description: ""
1830
1829
  },
1830
+ {
1831
+ name: "cancelButtonVariant",
1832
+ kind: "input",
1833
+ type: "Variant",
1834
+ required: false,
1835
+ description: ""
1836
+ },
1831
1837
  {
1832
1838
  name: "disableConfirm",
1833
1839
  kind: "input",
@@ -1840,7 +1846,6 @@ var uni_index_default = {
1840
1846
  kind: "input",
1841
1847
  type: "NullableSize",
1842
1848
  required: false,
1843
- default: "'md'",
1844
1849
  description: ""
1845
1850
  },
1846
1851
  {
@@ -1848,7 +1853,6 @@ var uni_index_default = {
1848
1853
  kind: "input",
1849
1854
  type: "NullableSize",
1850
1855
  required: false,
1851
- default: "'lg'",
1852
1856
  description: ""
1853
1857
  },
1854
1858
  {
@@ -1856,7 +1860,6 @@ var uni_index_default = {
1856
1860
  kind: "input",
1857
1861
  type: "JustifyContent",
1858
1862
  required: false,
1859
- default: "'center'",
1860
1863
  description: ""
1861
1864
  },
1862
1865
  {
@@ -1885,7 +1888,7 @@ var uni_index_default = {
1885
1888
  summary: "",
1886
1889
  description: "",
1887
1890
  category: "feedback",
1888
- version: "6.0.1",
1891
+ version: "7.1.0",
1889
1892
  bindings: {
1890
1893
  angular: {
1891
1894
  importPath: "@uni-design-system/uni-angular",
@@ -1909,7 +1912,7 @@ var uni_index_default = {
1909
1912
  summary: "",
1910
1913
  description: "",
1911
1914
  category: "layout",
1912
- version: "6.0.1",
1915
+ version: "7.1.0",
1913
1916
  bindings: {
1914
1917
  angular: {
1915
1918
  importPath: "@uni-design-system/uni-angular",
@@ -1965,7 +1968,7 @@ var uni_index_default = {
1965
1968
  summary: "",
1966
1969
  description: "",
1967
1970
  category: "directives",
1968
- version: "6.0.1",
1971
+ version: "7.1.0",
1969
1972
  bindings: {
1970
1973
  angular: {
1971
1974
  importPath: "@uni-design-system/uni-angular",
@@ -1997,7 +2000,7 @@ var uni_index_default = {
1997
2000
  summary: "",
1998
2001
  description: "",
1999
2002
  category: "components",
2000
- version: "6.0.1",
2003
+ version: "7.1.0",
2001
2004
  bindings: {
2002
2005
  angular: {
2003
2006
  importPath: "@uni-design-system/uni-angular",
@@ -2076,7 +2079,7 @@ var uni_index_default = {
2076
2079
  summary: "",
2077
2080
  description: "",
2078
2081
  category: "components",
2079
- version: "6.0.1",
2082
+ version: "7.1.0",
2080
2083
  bindings: {
2081
2084
  angular: {
2082
2085
  importPath: "@uni-design-system/uni-angular",
@@ -2165,7 +2168,7 @@ var uni_index_default = {
2165
2168
  summary: "",
2166
2169
  description: "",
2167
2170
  category: "layout",
2168
- version: "6.0.1",
2171
+ version: "7.1.0",
2169
2172
  bindings: {
2170
2173
  angular: {
2171
2174
  importPath: "@uni-design-system/uni-angular",
@@ -2197,7 +2200,6 @@ var uni_index_default = {
2197
2200
  </uni-card>
2198
2201
  <!-- args:
2199
2202
  {
2200
- collapsed: false,
2201
2203
  ngContent: 'Expandable Content',
2202
2204
  }
2203
2205
  -->`
@@ -2220,7 +2222,7 @@ var uni_index_default = {
2220
2222
  summary: "",
2221
2223
  description: "",
2222
2224
  category: "layout",
2223
- version: "6.0.1",
2225
+ version: "7.1.0",
2224
2226
  bindings: {
2225
2227
  angular: {
2226
2228
  importPath: "@uni-design-system/uni-angular",
@@ -2236,9 +2238,9 @@ var uni_index_default = {
2236
2238
  {
2237
2239
  name: "initCollapsed",
2238
2240
  kind: "input",
2239
- type: "boolean",
2241
+ type: "unknown",
2240
2242
  required: false,
2241
- default: "false",
2243
+ default: "false, { transform: booleanAttribute }",
2242
2244
  description: ""
2243
2245
  },
2244
2246
  {
@@ -2264,7 +2266,7 @@ var uni_index_default = {
2264
2266
  title: "Primary",
2265
2267
  framework: "angular",
2266
2268
  code: `<!-- Storybook story: Primary -->
2267
- <uni-expand-area title="\${title}" padding="\${padding}" initCollapsed="\${initCollapsed}" #expandArea>
2269
+ <uni-expand-area title="\${title}" padding="\${padding}" [initCollapsed]="initCollapsed" #expandArea>
2268
2270
  <button text-button (click)="expandArea.toggleExpand()" size="md" variant="ghost" symbolLeft="collapse_all">Collapse area</button>
2269
2271
  </uni-expand-area>
2270
2272
  <!-- args:
@@ -2291,7 +2293,7 @@ var uni_index_default = {
2291
2293
  summary: "",
2292
2294
  description: "",
2293
2295
  category: "forms",
2294
- version: "6.0.1",
2296
+ version: "7.1.0",
2295
2297
  bindings: {
2296
2298
  angular: {
2297
2299
  importPath: "@uni-design-system/uni-angular",
@@ -2337,7 +2339,7 @@ var uni_index_default = {
2337
2339
  summary: "",
2338
2340
  description: "",
2339
2341
  category: "forms",
2340
- version: "6.0.1",
2342
+ version: "7.1.0",
2341
2343
  bindings: {
2342
2344
  angular: {
2343
2345
  importPath: "@uni-design-system/uni-angular",
@@ -2495,7 +2497,7 @@ var uni_index_default = {
2495
2497
  summary: "",
2496
2498
  description: "",
2497
2499
  category: "layout",
2498
- version: "6.0.1",
2500
+ version: "7.1.0",
2499
2501
  bindings: {
2500
2502
  angular: {
2501
2503
  importPath: "@uni-design-system/uni-angular",
@@ -2592,7 +2594,7 @@ var uni_index_default = {
2592
2594
  summary: "",
2593
2595
  description: "",
2594
2596
  category: "layout",
2595
- version: "6.0.1",
2597
+ version: "7.1.0",
2596
2598
  bindings: {
2597
2599
  angular: {
2598
2600
  importPath: "@uni-design-system/uni-angular",
@@ -2624,7 +2626,7 @@ var uni_index_default = {
2624
2626
  summary: "",
2625
2627
  description: "",
2626
2628
  category: "primitives",
2627
- version: "6.0.1",
2629
+ version: "7.1.0",
2628
2630
  bindings: {
2629
2631
  angular: {
2630
2632
  importPath: "@uni-design-system/uni-angular",
@@ -2640,9 +2642,16 @@ var uni_index_default = {
2640
2642
  {
2641
2643
  name: "name",
2642
2644
  kind: "input",
2643
- type: "keyof Icons",
2645
+ type: "IconName",
2644
2646
  required: true,
2645
2647
  description: ""
2648
+ },
2649
+ {
2650
+ name: "size",
2651
+ kind: "input",
2652
+ type: "CssLength",
2653
+ required: false,
2654
+ description: "Explicit square size. Bare numbers are px; strings pass through, so any CSS length works (`'1.25rem'`, `'1em'`, `'clamp(\u2026)'`). Leave it unset to keep the default behaviour \u2014 the icon fills its container, which is what lets a themed control size its own glyph through padding. Set it at call sites that would otherwise need a width/height rule just to size one icon."
2646
2655
  }
2647
2656
  ]
2648
2657
  }
@@ -2651,11 +2660,16 @@ var uni_index_default = {
2651
2660
  {
2652
2661
  title: "Primary",
2653
2662
  framework: "angular",
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-->'
2663
+ code: '<!-- Storybook story: Primary -->\n<div box-layout height="${containerSize}px">\n <uni-icon name="${name}" color="${color}" ${size ?\n<!-- args:\n{\n name: \'checkCircle\',\n }\n-->'
2664
+ },
2665
+ {
2666
+ title: "Explicit Size",
2667
+ framework: "angular",
2668
+ code: '<!-- Storybook story: Explicit Size -->\n<div box-layout height="${containerSize}px">\n <uni-icon name="${name}" color="${color}" ${size ?\n<!-- args:\n{\n name: \'checkCircle\',\n size: 20,\n containerSize: 48,\n }\n-->'
2655
2669
  }
2656
2670
  ],
2657
2671
  guidelines: {
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.",
2672
+ whenToUse: "Icons are adaptive svg images. By default they grow to the space allotted to them and\nuse the current color of the parent element \u2014 so a themed control can size its own glyph\nthrough padding, and recoloring the container recolors the icon.\nBoth defaults can be overridden:\n- `color` statically sets the icon color, ignoring `currentColor`.\n- `size` sets an explicit square size, for call sites that would otherwise need a\n width/height CSS rule just to size one icon. Bare numbers are px; strings pass\n through, so any CSS length works.\n```html\n```\nLeave `size` off wherever the container already defines the box \u2014 that is still the\npreferred form, and it is what keeps a themed `icon-button` in control of its glyph.",
2659
2673
  dos: [],
2660
2674
  donts: [],
2661
2675
  accessibility: [
@@ -2672,7 +2686,7 @@ var uni_index_default = {
2672
2686
  summary: "",
2673
2687
  description: "",
2674
2688
  category: "primitives",
2675
- version: "6.0.1",
2689
+ version: "7.1.0",
2676
2690
  bindings: {
2677
2691
  angular: {
2678
2692
  importPath: "@uni-design-system/uni-angular",
@@ -2775,7 +2789,7 @@ var uni_index_default = {
2775
2789
  summary: "",
2776
2790
  description: "",
2777
2791
  category: "forms",
2778
- version: "6.0.1",
2792
+ version: "7.1.0",
2779
2793
  bindings: {
2780
2794
  angular: {
2781
2795
  importPath: "@uni-design-system/uni-angular",
@@ -2920,7 +2934,7 @@ var uni_index_default = {
2920
2934
  summary: "",
2921
2935
  description: "",
2922
2936
  category: "forms",
2923
- version: "6.0.1",
2937
+ version: "7.1.0",
2924
2938
  bindings: {
2925
2939
  angular: {
2926
2940
  importPath: "@uni-design-system/uni-angular",
@@ -2993,7 +3007,7 @@ var uni_index_default = {
2993
3007
  summary: "",
2994
3008
  description: "",
2995
3009
  category: "components",
2996
- version: "6.0.1",
3010
+ version: "7.1.0",
2997
3011
  bindings: {
2998
3012
  angular: {
2999
3013
  importPath: "@uni-design-system/uni-angular",
@@ -3063,7 +3077,7 @@ var uni_index_default = {
3063
3077
  summary: "",
3064
3078
  description: "",
3065
3079
  category: "layout",
3066
- version: "6.0.1",
3080
+ version: "7.1.0",
3067
3081
  bindings: {
3068
3082
  angular: {
3069
3083
  importPath: "@uni-design-system/uni-angular",
@@ -3140,7 +3154,7 @@ var uni_index_default = {
3140
3154
  summary: "",
3141
3155
  description: "",
3142
3156
  category: "layout",
3143
- version: "6.0.1",
3157
+ version: "7.1.0",
3144
3158
  bindings: {
3145
3159
  angular: {
3146
3160
  importPath: "@uni-design-system/uni-angular",
@@ -3256,7 +3270,7 @@ var uni_index_default = {
3256
3270
  summary: "",
3257
3271
  description: "",
3258
3272
  category: "forms",
3259
- version: "6.0.1",
3273
+ version: "7.1.0",
3260
3274
  bindings: {
3261
3275
  angular: {
3262
3276
  importPath: "@uni-design-system/uni-angular",
@@ -3344,7 +3358,7 @@ var uni_index_default = {
3344
3358
  summary: "",
3345
3359
  description: "",
3346
3360
  category: "forms",
3347
- version: "6.0.1",
3361
+ version: "7.1.0",
3348
3362
  bindings: {
3349
3363
  angular: {
3350
3364
  importPath: "@uni-design-system/uni-angular",
@@ -3479,7 +3493,7 @@ var uni_index_default = {
3479
3493
  summary: "",
3480
3494
  description: "",
3481
3495
  category: "feedback",
3482
- version: "6.0.1",
3496
+ version: "7.1.0",
3483
3497
  bindings: {
3484
3498
  angular: {
3485
3499
  importPath: "@uni-design-system/uni-angular",
@@ -3723,7 +3737,7 @@ var uni_index_default = {
3723
3737
  summary: "",
3724
3738
  description: "",
3725
3739
  category: "feedback",
3726
- version: "6.0.1",
3740
+ version: "7.1.0",
3727
3741
  bindings: {
3728
3742
  angular: {
3729
3743
  importPath: "@uni-design-system/uni-angular",
@@ -3747,7 +3761,7 @@ var uni_index_default = {
3747
3761
  summary: "",
3748
3762
  description: "",
3749
3763
  category: "data",
3750
- version: "6.0.1",
3764
+ version: "7.1.0",
3751
3765
  bindings: {
3752
3766
  angular: {
3753
3767
  importPath: "@uni-design-system/uni-angular",
@@ -3832,7 +3846,7 @@ var uni_index_default = {
3832
3846
  summary: "",
3833
3847
  description: "",
3834
3848
  category: "layout",
3835
- version: "6.0.1",
3849
+ version: "7.1.0",
3836
3850
  bindings: {
3837
3851
  angular: {
3838
3852
  importPath: "@uni-design-system/uni-angular",
@@ -3881,7 +3895,7 @@ var uni_index_default = {
3881
3895
  summary: "",
3882
3896
  description: "",
3883
3897
  category: "feedback",
3884
- version: "6.0.1",
3898
+ version: "7.1.0",
3885
3899
  bindings: {
3886
3900
  angular: {
3887
3901
  importPath: "@uni-design-system/uni-angular",
@@ -3945,7 +3959,7 @@ var uni_index_default = {
3945
3959
  summary: "",
3946
3960
  description: "",
3947
3961
  category: "feedback",
3948
- version: "6.0.1",
3962
+ version: "7.1.0",
3949
3963
  bindings: {
3950
3964
  angular: {
3951
3965
  importPath: "@uni-design-system/uni-angular",
@@ -4001,7 +4015,7 @@ var uni_index_default = {
4001
4015
  summary: "",
4002
4016
  description: "",
4003
4017
  category: "forms",
4004
- version: "6.0.1",
4018
+ version: "7.1.0",
4005
4019
  bindings: {
4006
4020
  angular: {
4007
4021
  importPath: "@uni-design-system/uni-angular",
@@ -4152,7 +4166,7 @@ var uni_index_default = {
4152
4166
  summary: "",
4153
4167
  description: "",
4154
4168
  category: "directives",
4155
- version: "6.0.1",
4169
+ version: "7.1.0",
4156
4170
  bindings: {
4157
4171
  angular: {
4158
4172
  importPath: "@uni-design-system/uni-angular",
@@ -4176,7 +4190,7 @@ var uni_index_default = {
4176
4190
  summary: "",
4177
4191
  description: "",
4178
4192
  category: "layout",
4179
- version: "6.0.1",
4193
+ version: "7.1.0",
4180
4194
  bindings: {
4181
4195
  angular: {
4182
4196
  importPath: "@uni-design-system/uni-angular",
@@ -4231,7 +4245,7 @@ var uni_index_default = {
4231
4245
  summary: "",
4232
4246
  description: "",
4233
4247
  category: "layout",
4234
- version: "6.0.1",
4248
+ version: "7.1.0",
4235
4249
  bindings: {
4236
4250
  angular: {
4237
4251
  importPath: "@uni-design-system/uni-angular",
@@ -4378,7 +4392,7 @@ var uni_index_default = {
4378
4392
  summary: "",
4379
4393
  description: "",
4380
4394
  category: "forms",
4381
- version: "6.0.1",
4395
+ version: "7.1.0",
4382
4396
  bindings: {
4383
4397
  angular: {
4384
4398
  importPath: "@uni-design-system/uni-angular",
@@ -4489,7 +4503,7 @@ var uni_index_default = {
4489
4503
  summary: "",
4490
4504
  description: "",
4491
4505
  category: "forms",
4492
- version: "6.0.1",
4506
+ version: "7.1.0",
4493
4507
  bindings: {
4494
4508
  angular: {
4495
4509
  importPath: "@uni-design-system/uni-angular",
@@ -4625,7 +4639,7 @@ var uni_index_default = {
4625
4639
  summary: "",
4626
4640
  description: "",
4627
4641
  category: "components",
4628
- version: "6.0.1",
4642
+ version: "7.1.0",
4629
4643
  bindings: {
4630
4644
  angular: {
4631
4645
  importPath: "@uni-design-system/uni-angular",
@@ -4721,7 +4735,7 @@ var uni_index_default = {
4721
4735
  summary: "",
4722
4736
  description: "",
4723
4737
  category: "forms",
4724
- version: "6.0.1",
4738
+ version: "7.1.0",
4725
4739
  bindings: {
4726
4740
  angular: {
4727
4741
  importPath: "@uni-design-system/uni-angular",
@@ -4858,7 +4872,7 @@ var uni_index_default = {
4858
4872
  summary: "",
4859
4873
  description: "",
4860
4874
  category: "feedback",
4861
- version: "6.0.1",
4875
+ version: "7.1.0",
4862
4876
  bindings: {
4863
4877
  angular: {
4864
4878
  importPath: "@uni-design-system/uni-angular",
@@ -4950,7 +4964,7 @@ var uni_index_default = {
4950
4964
  summary: "",
4951
4965
  description: "",
4952
4966
  category: "data",
4953
- version: "6.0.1",
4967
+ version: "7.1.0",
4954
4968
  bindings: {
4955
4969
  angular: {
4956
4970
  importPath: "@uni-design-system/uni-angular",
@@ -5009,7 +5023,7 @@ var uni_index_default = {
5009
5023
  summary: "",
5010
5024
  description: "",
5011
5025
  category: "layout",
5012
- version: "6.0.1",
5026
+ version: "7.1.0",
5013
5027
  bindings: {
5014
5028
  angular: {
5015
5029
  importPath: "@uni-design-system/uni-angular",
@@ -5064,7 +5078,7 @@ var uni_index_default = {
5064
5078
  summary: "",
5065
5079
  description: "",
5066
5080
  category: "components",
5067
- version: "6.0.1",
5081
+ version: "7.1.0",
5068
5082
  bindings: {
5069
5083
  angular: {
5070
5084
  importPath: "@uni-design-system/uni-angular",
@@ -5166,7 +5180,7 @@ var uni_index_default = {
5166
5180
  summary: "",
5167
5181
  description: "",
5168
5182
  category: "primitives",
5169
- version: "6.0.1",
5183
+ version: "7.1.0",
5170
5184
  bindings: {
5171
5185
  angular: {
5172
5186
  importPath: "@uni-design-system/uni-angular",
@@ -5239,7 +5253,7 @@ var uni_index_default = {
5239
5253
  summary: "",
5240
5254
  description: "",
5241
5255
  category: "components",
5242
- version: "6.0.1",
5256
+ version: "7.1.0",
5243
5257
  bindings: {
5244
5258
  angular: {
5245
5259
  importPath: "@uni-design-system/uni-angular",
@@ -5279,7 +5293,7 @@ var uni_index_default = {
5279
5293
  summary: "",
5280
5294
  description: "",
5281
5295
  category: "components",
5282
- version: "6.0.1",
5296
+ version: "7.1.0",
5283
5297
  bindings: {
5284
5298
  angular: {
5285
5299
  importPath: "@uni-design-system/uni-angular",
@@ -5343,7 +5357,7 @@ var uni_index_default = {
5343
5357
  summary: "",
5344
5358
  description: "",
5345
5359
  category: "data",
5346
- version: "6.0.1",
5360
+ version: "7.1.0",
5347
5361
  bindings: {
5348
5362
  angular: {
5349
5363
  importPath: "@uni-design-system/uni-angular",
@@ -5410,7 +5424,7 @@ var uni_index_default = {
5410
5424
  summary: "",
5411
5425
  description: "",
5412
5426
  category: "primitives",
5413
- version: "6.0.1",
5427
+ version: "7.1.0",
5414
5428
  bindings: {
5415
5429
  angular: {
5416
5430
  importPath: "@uni-design-system/uni-angular",
@@ -5512,7 +5526,7 @@ var uni_index_default = {
5512
5526
  summary: "",
5513
5527
  description: "",
5514
5528
  category: "primitives",
5515
- version: "6.0.1",
5529
+ version: "7.1.0",
5516
5530
  bindings: {
5517
5531
  angular: {
5518
5532
  importPath: "@uni-design-system/uni-angular",
@@ -5642,7 +5656,7 @@ var uni_index_default = {
5642
5656
  summary: "",
5643
5657
  description: "",
5644
5658
  category: "primitives",
5645
- version: "6.0.1",
5659
+ version: "7.1.0",
5646
5660
  bindings: {
5647
5661
  angular: {
5648
5662
  importPath: "@uni-design-system/uni-angular",
@@ -5665,6 +5679,64 @@ var uni_index_default = {
5665
5679
  },
5666
5680
  relatedTokens: []
5667
5681
  },
5682
+ {
5683
+ id: "theme-switch",
5684
+ name: "ThemeSwitch",
5685
+ status: "stable",
5686
+ summary: "",
5687
+ description: "",
5688
+ category: "components",
5689
+ version: "7.1.0",
5690
+ bindings: {
5691
+ angular: {
5692
+ importPath: "@uni-design-system/uni-angular",
5693
+ selectorOrTag: "uni-theme-switch",
5694
+ api: [
5695
+ {
5696
+ name: "ariaLabel",
5697
+ kind: "input",
5698
+ type: "string",
5699
+ required: false,
5700
+ default: "'Theme'",
5701
+ description: "Accessible name for the underlying select."
5702
+ },
5703
+ {
5704
+ name: "themeChanged",
5705
+ kind: "output",
5706
+ type: "ThemeName",
5707
+ required: false,
5708
+ description: "Emits the selected theme key after it has been applied."
5709
+ }
5710
+ ]
5711
+ }
5712
+ },
5713
+ examples: [
5714
+ {
5715
+ title: "Primary",
5716
+ framework: "angular",
5717
+ code: '<!-- Storybook story: Primary -->\n<div stack-layout gap="md" [width]="420">\n<uni-theme-switch></uni-theme-switch>\n<uni-card>\n <uni-card-header>Live preview</uni-card-header>\n <uni-card-content>\n <div stack-layout gap="md">\n <span uni-text typeface="body-2-long">\n Pick a theme above \u2014 every registered theme (UNI_THEMES) restyles\n this card and these buttons instantly.\n </span>\n <div row-layout gap="sm">\n <button text-button variant="primary">Primary</button>\n <button text-button variant="secondary">Secondary</button>\n <button text-button variant="warn">Danger</button>\n </div>\n </div>\n </uni-card-content>\n</uni-card>\n</div>\n<!-- args:\n{}\n-->'
5718
+ }
5719
+ ],
5720
+ guidelines: {
5721
+ whenToUse: "Drop-in switcher for every theme registered via `UNI_THEMES`. Renders a `uni-select` over\n`ThemeService.themeOptions` and applies the choice through `ThemeService.selectTheme`, so the\nselection persists across reloads exactly like any other theme change. Use it wherever an app\noffers a theme choice \u2014 a settings page, an app-bar action, or a light/dark toggle backed by two\nregistered themes. Because it reads the registry from the injected `UNI_THEMES` token, adding a\nnew theme to the registry is all it takes for the switcher to offer it.",
5722
+ dos: [
5723
+ "Register every selectable theme in `UNI_THEMES`; the switcher derives its options from the registry.",
5724
+ 'Give the control a meaningful `ariaLabel` when "Theme" is ambiguous in context (e.g. "Editor color theme").',
5725
+ "Use `themeChanged` for side effects like analytics or syncing a user preference to a backend."
5726
+ ],
5727
+ donts: [
5728
+ "Don't call `ThemeService.theme.set()` alongside the switcher \u2014 bypassing `selectTheme` skips persistence and leaves the select out of sync.",
5729
+ "Don't hardcode theme ids in app logic; read `ThemeService.selectedThemeKey()` instead.",
5730
+ "Don't use it for the palette-generation workflow \u2014 that's the Theme Builder; the switcher only picks among registered themes."
5731
+ ],
5732
+ accessibility: [
5733
+ "Built on a native `<select>` (via `uni-select`), so keyboard and screen-reader interaction come from the platform.",
5734
+ 'Exposes `ariaLabel` (default "Theme") as the accessible name for the control.',
5735
+ "Theme changes restyle in place without moving focus or reloading, so context is preserved for assistive tech."
5736
+ ]
5737
+ },
5738
+ relatedTokens: []
5739
+ },
5668
5740
  {
5669
5741
  id: "toggle",
5670
5742
  name: "Toggle",
@@ -5672,7 +5744,7 @@ var uni_index_default = {
5672
5744
  summary: "",
5673
5745
  description: "",
5674
5746
  category: "forms",
5675
- version: "6.0.1",
5747
+ version: "7.1.0",
5676
5748
  bindings: {
5677
5749
  angular: {
5678
5750
  importPath: "@uni-design-system/uni-angular",
@@ -5802,7 +5874,7 @@ var uni_index_default = {
5802
5874
  summary: "",
5803
5875
  description: "",
5804
5876
  category: "feedback",
5805
- version: "6.0.1",
5877
+ version: "7.1.0",
5806
5878
  bindings: {
5807
5879
  angular: {
5808
5880
  importPath: "@uni-design-system/uni-angular",
@@ -5881,7 +5953,7 @@ var uni_index_default = {
5881
5953
  summary: "",
5882
5954
  description: "",
5883
5955
  category: "layout",
5884
- version: "6.0.1",
5956
+ version: "7.1.0",
5885
5957
  bindings: {
5886
5958
  angular: {
5887
5959
  importPath: "@uni-design-system/uni-angular",
@@ -6838,13 +6910,13 @@ var uni_index_default = {
6838
6910
  },
6839
6911
  {
6840
6912
  id: "spacing.none",
6841
- value: "none",
6913
+ value: 0,
6842
6914
  type: "spacing",
6843
6915
  kind: "style",
6844
6916
  target: "emotion-css",
6845
6917
  themeValues: {
6846
- LightTheme: "none",
6847
- DarkTheme: "none"
6918
+ LightTheme: 0,
6919
+ DarkTheme: 0
6848
6920
  }
6849
6921
  },
6850
6922
  {
@@ -7903,6 +7975,114 @@ var uni_index_default = {
7903
7975
  DarkTheme: '{"background":"rgba(255, 255, 255, 0.6)","backdropFilter":"blur(2px)"}'
7904
7976
  }
7905
7977
  },
7978
+ {
7979
+ id: "dialogButtons.behavior.gap",
7980
+ value: "md",
7981
+ type: "string",
7982
+ kind: "behavioral",
7983
+ target: "component-prop",
7984
+ appliesTo: "dialogButtons",
7985
+ themeValues: {
7986
+ LightTheme: "md",
7987
+ DarkTheme: "md"
7988
+ }
7989
+ },
7990
+ {
7991
+ id: "dialogButtons.behavior.padding",
7992
+ value: "md",
7993
+ type: "string",
7994
+ kind: "behavioral",
7995
+ target: "component-prop",
7996
+ appliesTo: "dialogButtons",
7997
+ themeValues: {
7998
+ LightTheme: "md",
7999
+ DarkTheme: "md"
8000
+ }
8001
+ },
8002
+ {
8003
+ id: "dialogButtons.behavior.paddingBottom",
8004
+ value: "lg",
8005
+ type: "string",
8006
+ kind: "behavioral",
8007
+ target: "component-prop",
8008
+ appliesTo: "dialogButtons",
8009
+ themeValues: {
8010
+ LightTheme: "lg",
8011
+ DarkTheme: "lg"
8012
+ }
8013
+ },
8014
+ {
8015
+ id: "dialogButtons.behavior.justifyContent",
8016
+ value: "center",
8017
+ type: "string",
8018
+ kind: "behavioral",
8019
+ target: "component-prop",
8020
+ appliesTo: "dialogButtons",
8021
+ themeValues: {
8022
+ LightTheme: "center",
8023
+ DarkTheme: "center"
8024
+ }
8025
+ },
8026
+ {
8027
+ id: "dialogButtons.behavior.confirmButtonVariant",
8028
+ value: "primary",
8029
+ type: "string",
8030
+ kind: "behavioral",
8031
+ target: "component-prop",
8032
+ appliesTo: "dialogButtons",
8033
+ themeValues: {
8034
+ LightTheme: "primary",
8035
+ DarkTheme: "primary"
8036
+ }
8037
+ },
8038
+ {
8039
+ id: "dialogButtons.behavior.cancelButtonVariant",
8040
+ value: "warn",
8041
+ type: "string",
8042
+ kind: "behavioral",
8043
+ target: "component-prop",
8044
+ appliesTo: "dialogButtons",
8045
+ themeValues: {
8046
+ LightTheme: "warn",
8047
+ DarkTheme: "warn"
8048
+ }
8049
+ },
8050
+ {
8051
+ id: "dialogButtons.behavior.buttonSize",
8052
+ value: "lg",
8053
+ type: "string",
8054
+ kind: "behavioral",
8055
+ target: "component-prop",
8056
+ appliesTo: "dialogButtons",
8057
+ themeValues: {
8058
+ LightTheme: "lg",
8059
+ DarkTheme: "lg"
8060
+ }
8061
+ },
8062
+ {
8063
+ id: "dialogButtons.behavior.stretch",
8064
+ value: false,
8065
+ type: "boolean",
8066
+ kind: "behavioral",
8067
+ target: "component-prop",
8068
+ appliesTo: "dialogButtons",
8069
+ themeValues: {
8070
+ LightTheme: false,
8071
+ DarkTheme: false
8072
+ }
8073
+ },
8074
+ {
8075
+ id: "dialogButtons.behavior.reverseOrder",
8076
+ value: false,
8077
+ type: "boolean",
8078
+ kind: "behavioral",
8079
+ target: "component-prop",
8080
+ appliesTo: "dialogButtons",
8081
+ themeValues: {
8082
+ LightTheme: false,
8083
+ DarkTheme: false
8084
+ }
8085
+ },
7906
8086
  {
7907
8087
  id: "dialogHeader.behavior.borderRadius",
7908
8088
  value: "max",
@@ -9433,7 +9613,7 @@ var uni_index_default = {
9433
9613
  "radius.md": "24px",
9434
9614
  "radius.lg": "32px",
9435
9615
  "radius.max": "999px",
9436
- "spacing.none": "none",
9616
+ "spacing.none": 0,
9437
9617
  "spacing.xxs": "2px",
9438
9618
  "spacing.xs": "4px",
9439
9619
  "spacing.sm": "8px",
@@ -9548,6 +9728,17 @@ var uni_index_default = {
9548
9728
  elevation: "dialog",
9549
9729
  backdrop: '{"background":"rgba(255, 255, 255, 0.6)","backdropFilter":"blur(2px)"}'
9550
9730
  },
9731
+ dialogButtons: {
9732
+ gap: "md",
9733
+ padding: "md",
9734
+ paddingBottom: "lg",
9735
+ justifyContent: "center",
9736
+ confirmButtonVariant: "primary",
9737
+ cancelButtonVariant: "warn",
9738
+ buttonSize: "lg",
9739
+ stretch: false,
9740
+ reverseOrder: false
9741
+ },
9551
9742
  dialogHeader: {
9552
9743
  borderRadius: "max",
9553
9744
  color: "primary",
@@ -9803,7 +9994,7 @@ var uni_index_default = {
9803
9994
  "radius.md": "24px",
9804
9995
  "radius.lg": "32px",
9805
9996
  "radius.max": "999px",
9806
- "spacing.none": "none",
9997
+ "spacing.none": 0,
9807
9998
  "spacing.xxs": "2px",
9808
9999
  "spacing.xs": "4px",
9809
10000
  "spacing.sm": "8px",
@@ -9918,6 +10109,17 @@ var uni_index_default = {
9918
10109
  elevation: "dialog",
9919
10110
  backdrop: '{"background":"rgba(255, 255, 255, 0.6)","backdropFilter":"blur(2px)"}'
9920
10111
  },
10112
+ dialogButtons: {
10113
+ gap: "md",
10114
+ padding: "md",
10115
+ paddingBottom: "lg",
10116
+ justifyContent: "center",
10117
+ confirmButtonVariant: "primary",
10118
+ cancelButtonVariant: "warn",
10119
+ buttonSize: "lg",
10120
+ stretch: false,
10121
+ reverseOrder: false
10122
+ },
9921
10123
  dialogHeader: {
9922
10124
  borderRadius: "max",
9923
10125
  color: "primary",
@@ -10812,16 +11014,64 @@ var generateShadows = (colors, mode = "light") => {
10812
11014
  };
10813
11015
  };
10814
11016
  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",
11017
+ menu: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M140-254.62v-59.99h680v59.99H140ZM140-450v-60h680v60H140Zm0-195.39v-59.99h680v59.99H140Z'/%3e%3c/svg%3e",
11018
+ chevronUp: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='m480-541.85-184 184L253.85-400 480-626.15 706.15-400 664-357.85l-184-184Z'/%3e%3c/svg%3e",
11019
+ chevronDown: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M480-357.85 253.85-584 296-626.15l184 184 184-184L706.15-584 480-357.85Z'/%3e%3c/svg%3e",
11020
+ chevronLeft: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M560-253.85 333.85-480 560-706.15 602.15-664l-184 184 184 184L560-253.85Z'/%3e%3c/svg%3e",
11021
+ chevronRight: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='m517.85-480-184-184L376-706.15 602.15-480 376-253.85 333.85-296l184-184Z'/%3e%3c/svg%3e",
11022
+ arrowLeft: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='m294.92-450 227.85 227.85L480-180 180-480l300-300 42.77 42.15L294.92-510H780v60H294.92Z'/%3e%3c/svg%3e",
11023
+ arrowRight: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M665.08-450H180v-60h485.08L437.23-737.85 480-780l300 300-300 300-42.77-42.15L665.08-450Z'/%3e%3c/svg%3e",
11024
+ home: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M240-200h133.85v-237.69h212.3V-200H720v-360L480-740.77 240-560v360Zm-60 60v-450l300-225.77L780-590v450H526.15v-237.69h-92.3V-140H180Zm300-330.38Z'/%3e%3c/svg%3e",
11025
+ externalLink: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M212.31-140Q182-140 161-161q-21-21-21-51.31v-535.38Q140-778 161-799q21-21 51.31-21h252.3v60h-252.3q-4.62 0-8.46 3.85-3.85 3.84-3.85 8.46v535.38q0 4.62 3.85 8.46 3.84 3.85 8.46 3.85h535.38q4.62 0 8.46-3.85 3.85-3.84 3.85-8.46v-252.3h60v252.3Q820-182 799-161q-21 21-51.31 21H212.31Zm176.46-206.62-42.15-42.15L717.85-760H560v-60h260v260h-60v-157.85L388.77-346.62Z'/%3e%3c/svg%3e",
11026
+ link: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M432.31-298.46H281.54q-75.34 0-128.44-53.1Q100-404.65 100-479.98q0-75.33 53.1-128.44 53.1-53.12 128.44-53.12h150.77v60H281.54q-50.39 0-85.96 35.58Q160-530.38 160-480q0 50.38 35.58 85.96 35.57 35.58 85.96 35.58h150.77v60ZM330-450v-60h300v60H330Zm197.69 151.54v-60h150.77q50.39 0 85.96-35.58Q800-429.62 800-480q0-50.38-35.58-85.96-35.57-35.58-85.96-35.58H527.69v-60h150.77q75.34 0 128.44 53.1Q860-555.35 860-480.02q0 75.33-53.1 128.44-53.1 53.12-128.44 53.12H527.69Z'/%3e%3c/svg%3e",
11027
+ expand: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M140-140v-300h60v198.23L718.23-760H520v-60h300v300h-60v-198.23L241.77-200H440v60H140Z'/%3e%3c/svg%3e",
11028
+ gridView: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M140-520v-300h300v300H140Zm0 380v-300h300v300H140Zm380-380v-300h300v300H520Zm0 380v-300h300v300H520ZM200-580h180v-180H200v180Zm380 0h180v-180H580v180Zm0 380h180v-180H580v180Zm-380 0h180v-180H200v180Zm380-380Zm0 200Zm-200 0Zm0-200Z'/%3e%3c/svg%3e",
11029
+ listView: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M293.08-597.69v-60H820v60H293.08Zm0 147.69v-60H820v60H293.08Zm0 147.69v-60H820v60H293.08ZM172.31-595.38q-13.73 0-23.02-9.4t-9.29-23.3q0-13.56 9.29-22.74 9.29-9.18 23.02-9.18t23.02 9.18q9.29 9.18 9.29 22.74 0 13.9-9.29 23.3t-23.02 9.4Zm0 147.3q-13.73 0-23.02-9.18Q140-466.43 140-480q0-14.31 9.29-23.5t23.02-9.19q13.73 0 23.02 9.19t9.29 23.5q0 13.57-9.29 22.74-9.29 9.18-23.02 9.18Zm0 148.08q-13.73 0-23.02-9.4T140-332.69q0-13.57 9.29-22.75t23.02-9.18q13.73 0 23.02 9.18t9.29 22.75q0 13.89-9.29 23.29-9.29 9.4-23.02 9.4Z'/%3e%3c/svg%3e",
11030
+ search: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M781.69-136.92 530.46-388.16q-30 24.77-69 38.77-39 14-80.69 14-102.46 0-173.54-71.07-71.07-71.08-71.07-173.54t71.07-173.54q71.08-71.07 173.54-71.07t173.54 71.07q71.07 71.08 71.07 173.54 0 42.85-14.38 81.85-14.39 39-38.39 67.84l251.23 251.23-42.15 42.16ZM380.77-395.38q77.31 0 130.96-53.66 53.66-53.65 53.66-130.96t-53.66-130.96q-53.65-53.66-130.96-53.66t-130.96 53.66Q196.15-657.31 196.15-580t53.66 130.96q53.65 53.66 130.96 53.66Z'/%3e%3c/svg%3e",
11031
+ close: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M256-213.85 213.85-256l224-224-224-224L256-746.15l224 224 224-224L746.15-704l-224 224 224 224L704-213.85l-224-224-224 224Z'/%3e%3c/svg%3e",
11032
+ plus: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M450-450H220v-60h230v-230h60v230h230v60H510v230h-60v-230Z'/%3e%3c/svg%3e",
11033
+ minus: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M220-450v-60h520v60H220Z'/%3e%3c/svg%3e",
11034
+ more: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M480-189.23q-24.75 0-42.37-17.63Q420-224.48 420-249.23q0-24.75 17.63-42.38 17.62-17.62 42.37-17.62 24.75 0 42.37 17.62Q540-273.98 540-249.23q0 24.75-17.63 42.37-17.62 17.63-42.37 17.63ZM480-420q-24.75 0-42.37-17.63Q420-455.25 420-480q0-24.75 17.63-42.37Q455.25-540 480-540q24.75 0 42.37 17.63Q540-504.75 540-480q0 24.75-17.63 42.37Q504.75-420 480-420Zm0-230.77q-24.75 0-42.37-17.62Q420-686.02 420-710.77q0-24.75 17.63-42.37 17.62-17.63 42.37-17.63 24.75 0 42.37 17.63Q540-735.52 540-710.77q0 24.75-17.63 42.38-17.62 17.62-42.37 17.62Z'/%3e%3c/svg%3e",
11035
+ moreHorizontal: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M249.23-420q-24.75 0-42.37-17.63-17.63-17.62-17.63-42.37 0-24.75 17.63-42.37Q224.48-540 249.23-540q24.75 0 42.38 17.63 17.62 17.62 17.62 42.37 0 24.75-17.62 42.37Q273.98-420 249.23-420ZM480-420q-24.75 0-42.37-17.63Q420-455.25 420-480q0-24.75 17.63-42.37Q455.25-540 480-540q24.75 0 42.37 17.63Q540-504.75 540-480q0 24.75-17.63 42.37Q504.75-420 480-420Zm230.77 0q-24.75 0-42.38-17.63-17.62-17.62-17.62-42.37 0-24.75 17.62-42.37Q686.02-540 710.77-540q24.75 0 42.37 17.63 17.63 17.62 17.63 42.37 0 24.75-17.63 42.37Q735.52-420 710.77-420Z'/%3e%3c/svg%3e",
11036
+ delete: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M292.31-140q-29.92 0-51.12-21.19Q220-182.39 220-212.31V-720h-40v-60h180v-35.38h240V-780h180v60h-40v507.69Q740-182 719-161q-21 21-51.31 21H292.31ZM680-720H280v507.69q0 5.39 3.46 8.85t8.85 3.46h375.38q4.62 0 8.46-3.85 3.85-3.84 3.85-8.46V-720ZM376.16-280h59.99v-360h-59.99v360Zm147.69 0h59.99v-360h-59.99v360ZM280-720v520-520Z'/%3e%3c/svg%3e",
11037
+ edit: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M200-200h50.46l409.46-409.46-50.46-50.46L200-250.46V-200Zm-60 60v-135.38l527.62-527.39q9.07-8.24 20.03-12.73 10.97-4.5 23-4.5t23.3 4.27q11.28 4.27 19.97 13.58l48.85 49.46q9.31 8.69 13.27 20 3.96 11.31 3.96 22.62 0 12.07-4.12 23.03-4.12 10.97-13.11 20.04L275.38-140H140Zm620.38-570.15-50.23-50.23 50.23 50.23Zm-126.13 75.9-24.79-25.67 50.46 50.46-25.67-24.79Z'/%3e%3c/svg%3e",
11038
+ copy: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M362.31-260Q332-260 311-281q-21-21-21-51.31v-455.38Q290-818 311-839q21-21 51.31-21h335.38Q728-860 749-839q21 21 21 51.31v455.38Q770-302 749-281q-21 21-51.31 21H362.31Zm0-60h335.38q4.62 0 8.46-3.85 3.85-3.84 3.85-8.46v-455.38q0-4.62-3.85-8.46-3.84-3.85-8.46-3.85H362.31q-4.62 0-8.46 3.85-3.85 3.84-3.85 8.46v455.38q0 4.62 3.85 8.46 3.84 3.85 8.46 3.85Zm-140 200Q192-120 171-141q-21-21-21-51.31v-515.38h60v515.38q0 4.62 3.85 8.46 3.84 3.85 8.46 3.85h395.38v60H222.31ZM350-320v-480 480Z'/%3e%3c/svg%3e",
11039
+ download: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M480-328.46 309.23-499.23l42.16-43.38L450-444v-336h60v336l98.61-98.61 42.16 43.38L480-328.46ZM252.31-180Q222-180 201-201q-21-21-21-51.31v-108.46h60v108.46q0 4.62 3.85 8.46 3.84 3.85 8.46 3.85h455.38q4.62 0 8.46-3.85 3.85-3.84 3.85-8.46v-108.46h60v108.46Q780-222 759-201q-21 21-51.31 21H252.31Z'/%3e%3c/svg%3e",
11040
+ upload: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M450-328.46v-336l-98.61 98.61-42.16-43.38L480-780l170.77 170.77-42.16 43.38L510-664.46v336h-60ZM252.31-180Q222-180 201-201q-21-21-21-51.31v-108.46h60v108.46q0 4.62 3.85 8.46 3.84 3.85 8.46 3.85h455.38q4.62 0 8.46-3.85 3.85-3.84 3.85-8.46v-108.46h60v108.46Q780-222 759-201q-21 21-51.31 21H252.31Z'/%3e%3c/svg%3e",
11041
+ share: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M672.22-100q-44.91 0-76.26-31.41-31.34-31.41-31.34-76.28 0-6 4.15-29.16L284.31-404.31q-14.46 15-34.36 23.5t-42.64 8.5q-44.71 0-76.01-31.54Q100-435.39 100-480q0-44.61 31.3-76.15 31.3-31.54 76.01-31.54 22.74 0 42.64 8.5 19.9 8.5 34.36 23.5l284.46-167.08q-2.38-7.38-3.27-14.46-.88-7.08-.88-15.08 0-44.87 31.43-76.28Q627.49-860 672.4-860t76.25 31.44Q780-797.13 780-752.22q0 44.91-31.41 76.26-31.41 31.34-76.28 31.34-22.85 0-42.5-8.69Q610.15-662 595.69-677L311.23-509.54q2.38 7.39 3.27 14.46.88 7.08.88 15.08t-.88 15.08q-.89 7.07-3.27 14.46L595.69-283q14.46-15 34.12-23.69 19.65-8.69 42.5-8.69 44.87 0 76.28 31.43Q780-252.51 780-207.6t-31.44 76.25Q717.13-100 672.22-100Zm.09-60q20.27 0 33.98-13.71Q720-187.42 720-207.69q0-20.27-13.71-33.98-13.71-13.72-33.98-13.72-20.27 0-33.98 13.72-13.72 13.71-13.72 33.98 0 20.27 13.72 33.98Q652.04-160 672.31-160Zm-465-272.31q20.43 0 34.25-13.8 13.83-13.81 13.83-33.89t-13.83-33.89q-13.82-13.8-34.25-13.8-20.11 0-33.71 13.8Q160-500.08 160-480t13.6 33.89q13.6 13.8 33.71 13.8Zm498.88-286.02Q720-732.04 720-752.31q0-20.27-13.71-33.98Q692.58-800 672.31-800q-20.27 0-33.98 13.71-13.72 13.71-13.72 33.98 0 20.27 13.81 33.98 13.81 13.72 33.89 13.72 20.07 0 33.88-13.72Zm-33.88 510.64ZM207.69-480Zm464.62-272.31Z'/%3e%3c/svg%3e",
11042
+ send: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M140-190v-580l688.46 290L140-190Zm60-90 474-200-474-200v147.69L416.92-480 200-427.69V-280Zm0 0v-400 400Z'/%3e%3c/svg%3e",
11043
+ filter: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M411.15-260v-60h137.31v60H411.15ZM256.16-450v-60h447.3v60h-447.3ZM140-640v-60h680v60H140Z'/%3e%3c/svg%3e",
11044
+ refresh: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M481.54-180q-125.63 0-212.81-87.17-87.19-87.17-87.19-212.77 0-125.6 87.19-212.83Q355.91-780 481.54-780q70.15 0 132.77 31.19 62.61 31.2 104.15 88.04V-780h60v244.61H533.85v-59.99h158q-31.62-57.93-87.7-91.27Q548.08-720 481.54-720q-100 0-170 70t-70 170q0 100 70 170t170 70q77 0 139-44t87-116h63.23q-27.23 97.92-107.27 158.96Q583.46-180 481.54-180Z'/%3e%3c/svg%3e",
11045
+ dragHandle: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M360-175.39q-26.65 0-45.63-18.98-18.98-18.98-18.98-45.63 0-26.65 18.98-45.63 18.98-18.98 45.63-18.98 26.65 0 45.63 18.98 18.98 18.98 18.98 45.63 0 26.65-18.98 45.63-18.98 18.98-45.63 18.98Zm240 0q-26.65 0-45.63-18.98-18.98-18.98-18.98-45.63 0-26.65 18.98-45.63 18.98-18.98 45.63-18.98 26.65 0 45.63 18.98 18.98 18.98 18.98 45.63 0 26.65-18.98 45.63-18.98 18.98-45.63 18.98Zm-240-240q-26.65 0-45.63-18.98-18.98-18.98-18.98-45.63 0-26.65 18.98-45.63 18.98-18.98 45.63-18.98 26.65 0 45.63 18.98 18.98 18.98 18.98 45.63 0 26.65-18.98 45.63-18.98 18.98-45.63 18.98Zm240 0q-26.65 0-45.63-18.98-18.98-18.98-18.98-45.63 0-26.65 18.98-45.63 18.98-18.98 45.63-18.98 26.65 0 45.63 18.98 18.98 18.98 18.98 45.63 0 26.65-18.98 45.63-18.98 18.98-45.63 18.98Zm-240-240q-26.65 0-45.63-18.98-18.98-18.98-18.98-45.63 0-26.65 18.98-45.63 18.98-18.98 45.63-18.98 26.65 0 45.63 18.98 18.98 18.98 18.98 45.63 0 26.65-18.98 45.63-18.98 18.98-45.63 18.98Zm240 0q-26.65 0-45.63-18.98-18.98-18.98-18.98-45.63 0-26.65 18.98-45.63 18.98-18.98 45.63-18.98 26.65 0 45.63 18.98 18.98 18.98 18.98 45.63 0 26.65-18.98 45.63-18.98 18.98-45.63 18.98Z'/%3e%3c/svg%3e",
11046
+ qrCode: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M140-520v-300h300v300H140Zm60-60h180v-180H200v180Zm-60 440v-300h300v300H140Zm60-60h180v-180H200v180Zm320-320v-300h300v300H520Zm60-60h180v-180H580v180Zm165 440v-75h75v75h-75ZM520-365v-75h75v75h-75Zm75 75v-75h75v75h-75Zm-75 75v-75h75v75h-75Zm75 75v-75h75v75h-75Zm75-75v-75h75v75h-75Zm0-150v-75h75v75h-75Zm75 75v-75h75v75h-75Z'/%3e%3c/svg%3e",
11047
+ check: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M382-253.85 168.62-467.23 211.38-510 382-339.38 748.62-706l42.76 42.77L382-253.85Z'/%3e%3c/svg%3e",
11048
+ checkCircle: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='m423.23-309.85 268.92-268.92L650-620.92 423.23-394.15l-114-114L267.08-466l156.15 156.15ZM480.07-100q-78.84 0-148.21-29.92t-120.68-81.21q-51.31-51.29-81.25-120.63Q100-401.1 100-479.93q0-78.84 29.92-148.21t81.21-120.68q51.29-51.31 120.63-81.25Q401.1-860 479.93-860q78.84 0 148.21 29.92t120.68 81.21q51.31 51.29 81.25 120.63Q860-558.9 860-480.07q0 78.84-29.92 148.21t-81.21 120.68q-51.29 51.31-120.63 81.25Q558.9-100 480.07-100Zm-.07-60q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z'/%3e%3c/svg%3e",
11049
+ xCircle: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='m336-293.85 144-144 144 144L666.15-336l-144-144 144-144L624-666.15l-144 144-144-144L293.85-624l144 144-144 144L336-293.85ZM480.07-100q-78.84 0-148.21-29.92t-120.68-81.21q-51.31-51.29-81.25-120.63Q100-401.1 100-479.93q0-78.84 29.92-148.21t81.21-120.68q51.29-51.31 120.63-81.25Q401.1-860 479.93-860q78.84 0 148.21 29.92t120.68 81.21q51.31 51.29 81.25 120.63Q860-558.9 860-480.07q0 78.84-29.92 148.21t-81.21 120.68q-51.29 51.31-120.63 81.25Q558.9-100 480.07-100Zm-.07-60q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z'/%3e%3c/svg%3e",
11050
+ alertCircle: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M502.92-300.15q9.39-9.39 9.39-22.93T502.92-346q-9.38-9.38-22.92-9.38-13.54 0-22.92 9.38-9.39 9.38-9.39 22.92 0 13.54 9.39 22.93 9.38 9.38 22.92 9.38 13.54 0 22.92-9.38ZM450-436.92h60v-240h-60v240ZM480.07-100q-78.84 0-148.21-29.92t-120.68-81.21q-51.31-51.29-81.25-120.63Q100-401.1 100-479.93q0-78.84 29.92-148.21t81.21-120.68q51.29-51.31 120.63-81.25Q401.1-860 479.93-860q78.84 0 148.21 29.92t120.68 81.21q51.31 51.29 81.25 120.63Q860-558.9 860-480.07q0 78.84-29.92 148.21t-81.21 120.68q-51.29 51.31-120.63 81.25Q558.9-100 480.07-100Zm-.07-60q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z'/%3e%3c/svg%3e",
11051
+ info: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M450-290h60v-230h-60v230Zm52.92-307.75q9.39-9.29 9.39-23.02t-9.29-23.02q-9.29-9.28-23.02-9.28t-23.02 9.28q-9.29 9.29-9.29 23.02t9.39 23.02q9.38 9.29 22.92 9.29 13.54 0 22.92-9.29ZM480.07-100q-78.84 0-148.21-29.92t-120.68-81.21q-51.31-51.29-81.25-120.63Q100-401.1 100-479.93q0-78.84 29.92-148.21t81.21-120.68q51.29-51.31 120.63-81.25Q401.1-860 479.93-860q78.84 0 148.21 29.92t120.68 81.21q51.31 51.29 81.25 120.63Q860-558.9 860-480.07q0 78.84-29.92 148.21t-81.21 120.68q-51.29 51.31-120.63 81.25Q558.9-100 480.07-100Zm-.07-60q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z'/%3e%3c/svg%3e",
11052
+ warning: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M74.62-140 480-840l405.38 700H74.62ZM178-200h604L480-720 178-200Zm324.92-57.08q9.39-9.38 9.39-22.92 0-13.54-9.39-22.92-9.38-9.39-22.92-9.39-13.54 0-22.92 9.39-9.39 9.38-9.39 22.92 0 13.54 9.39 22.92 9.38 9.39 22.92 9.39 13.54 0 22.92-9.39ZM450-352.31h60v-200h-60v200ZM480-460Z'/%3e%3c/svg%3e",
11053
+ lock: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M252.31-100q-29.92 0-51.12-21.19Q180-142.39 180-172.31v-375.38q0-29.92 21.19-51.12Q222.39-620 252.31-620H300v-80q0-74.92 52.54-127.46Q405.08-880 480-880q74.92 0 127.46 52.54Q660-774.92 660-700v80h47.69q29.92 0 51.12 21.19Q780-577.61 780-547.69v375.38q0 29.92-21.19 51.12Q737.61-100 707.69-100H252.31Zm0-60h455.38q5.39 0 8.85-3.46t3.46-8.85v-375.38q0-5.39-3.46-8.85t-8.85-3.46H252.31q-5.39 0-8.85 3.46t-3.46 8.85v375.38q0 5.39 3.46 8.85t8.85 3.46Zm277.27-150.42Q550-330.85 550-360t-20.42-49.58Q509.15-430 480-430t-49.58 20.42Q410-389.15 410-360t20.42 49.58Q450.85-290 480-290t49.58-20.42ZM360-620h240v-80q0-50-35-85t-85-35q-50 0-85 35t-35 85v80ZM240-160v-400 400Z'/%3e%3c/svg%3e",
11054
+ star: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='m354-287 126-76 126 77-33-144 111-96-146-13-58-136-58 135-146 13 111 97-33 143Zm-91 125.46 57.31-246.77-191.46-165.92 252.61-21.92L480-828.84l98.54 232.69 252.61 21.92-191.46 165.92L697-161.54 480-292.46 263-161.54ZM480-470Z'/%3e%3c/svg%3e",
11055
+ verified: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='m352.46-85.39-71.38-120.3-135.54-29.7 13.23-139.53L66.93-480l91.84-105.08-13.23-139.53 135.54-29.7 71.38-120.3L480-820.46l127.54-54.15 71.38 120.3 135.54 29.7-13.23 139.53L893.07-480l-91.84 105.08 13.23 139.53-135.54 29.7-71.38 120.3L480-139.54 352.46-85.39ZM378-162l102-43.23L583.23-162 640-258l110-25.23L740-396l74-84-74-85.23L750-678l-110-24-58-96-102 43.23L376.77-798 320-702l-110 24 10 112.77L146-480l74 84-10 114 110 24 58 96Zm102-318Zm-42 128.15L650.15-564 608-607.38l-170 170-86-84.77L309.85-480 438-351.85Z'/%3e%3c/svg%3e",
11056
+ profile: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M381.04-533.35Q340-574.38 340-632.31q0-57.92 41.04-98.96 41.04-41.04 98.96-41.04 57.92 0 98.96 41.04Q620-690.23 620-632.31q0 57.93-41.04 98.96-41.04 41.04-98.96 41.04-57.92 0-98.96-41.04ZM180-187.69v-88.93q0-29.38 15.96-54.42 15.96-25.04 42.66-38.5 59.3-29.07 119.65-43.61 60.35-14.54 121.73-14.54t121.73 14.54q60.35 14.54 119.65 43.61 26.7 13.46 42.66 38.5Q780-306 780-276.62v88.93H180Zm60-60h480v-28.93q0-12.15-7.04-22.5-7.04-10.34-19.11-16.88-51.7-25.46-105.42-38.58Q534.7-367.69 480-367.69q-54.7 0-108.43 13.11-53.72 13.12-105.42 38.58-12.07 6.54-19.11 16.88-7.04 10.35-7.04 22.5v28.93Zm296.5-328.12q23.5-23.5 23.5-56.5t-23.5-56.5q-23.5-23.5-56.5-23.5t-56.5 23.5q-23.5 23.5-23.5 56.5t23.5 56.5q23.5 23.5 56.5 23.5t56.5-23.5Zm-56.5-56.5Zm0 384.62Z'/%3e%3c/svg%3e",
11057
+ group: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M71.93-187.69v-88.93q0-30.92 15.96-55.19 15.96-24.27 42.63-37.76 57.02-27.89 114.67-43.01 57.66-15.11 126.73-15.11 69.08 0 126.73 15.11 57.66 15.12 114.68 43.01 26.67 13.49 42.63 37.76 15.96 24.27 15.96 55.19v88.93H71.93Zm679.99 0v-93.85q0-39.38-19.28-75.07-19.29-35.68-54.72-61.23 40.23 6 76.39 18.57 36.15 12.58 69 29.73 31 16.54 47.88 38.99 16.88 22.44 16.88 49.01v93.85H751.92ZM272.96-533.35q-41.03-41.03-41.03-98.96 0-57.92 41.03-98.96 41.04-41.04 98.96-41.04 57.93 0 98.96 41.04 41.04 41.04 41.04 98.96 0 57.93-41.04 98.96-41.03 41.04-98.96 41.04-57.92 0-98.96-41.04Zm403.22 0q-41.12 41.04-98.87 41.04-6.77 0-17.23-1.54-10.47-1.54-17.23-3.38 23.66-28.45 36.37-63.12 12.7-34.67 12.7-72 0-37.34-12.96-71.73-12.96-34.38-36.11-63.3 8.61-3.08 17.23-4 8.61-.93 17.23-.93 57.75 0 98.87 41.04 41.12 41.04 41.12 98.96 0 57.93-41.12 98.96ZM131.92-247.69h480v-28.93q0-12.53-6.27-22.3-6.26-9.77-19.88-17.08-49.38-25.46-101.69-38.58-52.31-13.11-112.16-13.11-59.84 0-112.15 13.11-52.31 13.12-101.69 38.58-13.62 7.31-19.89 17.08-6.27 9.77-6.27 22.3v28.93Zm296.5-328.12q23.5-23.5 23.5-56.5t-23.5-56.5q-23.5-23.5-56.5-23.5t-56.5 23.5q-23.5 23.5-23.5 56.5t23.5 56.5q23.5 23.5 56.5 23.5t56.5-23.5Zm-56.5 328.12Zm0-384.62Z'/%3e%3c/svg%3e",
11058
+ shieldPerson: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M387.62-487.62Q350-525.23 350-580q0-54.77 37.62-92.38Q425.23-710 480-710q54.77 0 92.38 37.62Q610-634.77 610-580q0 54.77-37.62 92.38Q534.77-450 480-450q-54.77 0-92.38-37.62Zm142.3-42.46Q550-550.15 550-580t-20.08-49.92Q509.85-650 480-650t-49.92 20.08Q410-609.85 410-580t20.08 49.92Q450.15-510 480-510t49.92-20.08ZM480-100.77q-129.77-35.39-214.88-152.77Q180-370.92 180-516v-230.15l300-112.31 300 112.31V-516q0 145.08-85.12 262.46Q609.77-136.16 480-100.77Zm0-378.85Zm0-315L240-705v189q0 57.08 16.35 110.39 16.34 53.3 45.42 99.46 40.46-20.62 84.73-32.23Q430.77-350 480-350t93.5 11.62q44.27 11.61 84.73 32.23 29.08-46.16 45.42-99.46Q720-458.92 720-516v-189l-240-89.62Zm-74.42 513q-35.73 8.39-67.5 23.54 29.77 33.08 65.5 57.2Q439.31-176.77 480-164q40.69-12.77 76.23-36.88 35.54-24.12 65.31-57.2-31.77-15.15-67.31-23.54Q518.69-290 480-290q-38.69 0-74.42 8.38Z'/%3e%3c/svg%3e",
11059
+ settings: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='m387.69-100-15.23-121.85q-16.07-5.38-32.96-15.07-16.88-9.7-30.19-20.77L196.46-210l-92.3-160 97.61-73.77q-1.38-8.92-1.96-17.92-.58-9-.58-17.93 0-8.53.58-17.34t1.96-19.27L104.16-590l92.3-159.23 112.46 47.31q14.47-11.46 30.89-20.96t32.27-15.27L387.69-860h184.62l15.23 122.23q18 6.54 32.57 15.27 14.58 8.73 29.43 20.58l114-47.31L855.84-590l-99.15 74.92q2.15 9.69 2.35 18.12.19 8.42.19 16.96 0 8.15-.39 16.58-.38 8.42-2.76 19.27L854.46-370l-92.31 160-112.61-48.08q-14.85 11.85-30.31 20.96-15.46 9.12-31.69 14.89L572.31-100H387.69ZM440-160h78.62L533-267.15q30.62-8 55.96-22.73 25.35-14.74 48.89-37.89L737.23-286l39.39-68-86.77-65.38q5-15.54 6.8-30.47 1.81-14.92 1.81-30.15 0-15.62-1.81-30.15-1.8-14.54-6.8-29.7L777.38-606 738-674l-100.54 42.38q-20.08-21.46-48.11-37.92-28.04-16.46-56.73-23.31L520-800h-79.38l-13.24 106.77q-30.61 7.23-56.53 22.15-25.93 14.93-49.47 38.46L222-674l-39.38 68L269-541.62q-5 14.24-7 29.62t-2 32.38q0 15.62 2 30.62 2 15 6.62 29.62l-86 65.38L222-286l99-42q22.77 23.38 48.69 38.31 25.93 14.92 57.31 22.92L440-160Zm40.46-200q49.92 0 84.96-35.04 35.04-35.04 35.04-84.96 0-49.92-35.04-84.96Q530.38-600 480.46-600q-50.54 0-85.27 35.04T360.46-480q0 49.92 34.73 84.96Q429.92-360 480.46-360ZM480-480Z'/%3e%3c/svg%3e",
11060
+ notification: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M180-204.62v-59.99h72.31v-298.47q0-80.69 49.81-142.69 49.8-62 127.88-79.31V-810q0-20.83 14.57-35.42Q459.14-860 479.95-860q20.82 0 35.43 14.58Q530-830.83 530-810v24.92q78.08 17.31 127.88 79.31 49.81 62 49.81 142.69v298.47H780v59.99H180Zm300-293.07Zm-.07 405.38q-29.85 0-51.04-21.24-21.2-21.24-21.2-51.07h144.62q0 29.93-21.26 51.12-21.26 21.19-51.12 21.19Zm-167.62-172.3h335.38v-298.47q0-69.46-49.11-118.57-49.12-49.12-118.58-49.12-69.46 0-118.58 49.12-49.11 49.11-49.11 118.57v298.47Z'/%3e%3c/svg%3e",
11061
+ favorite: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='m480-146.93-44.15-39.69q-99.46-90.23-164.5-155.07-65.04-64.85-103.08-115.43-38.04-50.57-53.15-92.27Q100-591.08 100-634q0-85.15 57.42-142.58Q214.85-834 300-834q52.38 0 99 24.5t81 70.27q34.38-45.77 81-70.27 46.62-24.5 99-24.5 85.15 0 142.58 57.42Q860-719.15 860-634q0 42.92-15.12 84.61-15.11 41.7-53.15 92.27-38.04 50.58-102.89 115.43Q624-276.85 524.15-186.62L480-146.93Zm0-81.07q96-86.38 158-148.08 62-61.69 98-107.19t50-80.81q14-35.3 14-69.92 0-60-40-100t-100-40q-47.38 0-87.58 26.88-40.19 26.89-63.65 74.81h-57.54q-23.85-48.31-63.85-75Q347.38-774 300-774q-59.62 0-99.81 40Q160-694 160-634q0 34.62 14 69.92 14 35.31 50 80.81t98 107q62 61.5 158 148.27Zm0-273Z'/%3e%3c/svg%3e",
11062
+ help: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M508.5-267.21q11.81-11.83 11.81-28.97 0-17.13-11.83-28.94-11.83-11.8-28.96-11.8-17.13 0-28.94 11.83-11.81 11.83-11.81 28.96 0 17.13 11.83 28.94 11.83 11.8 28.96 11.8 17.13 0 28.94-11.82Zm-57.27-131.41h56.31q.77-29.53 8.65-47.19 7.89-17.65 38.27-46.8 26.39-26.39 40.42-48.74 14.04-22.34 14.04-52.77 0-51.65-37.11-80.69-37.12-29.03-87.81-29.03-50.08 0-82.88 26.73-32.81 26.73-46.81 62.96l51.38 20.61q7.31-19.92 25-38.81 17.69-18.88 52.54-18.88 35.46 0 52.42 19.42 16.97 19.43 16.97 42.73 0 20.39-11.62 37.31-11.61 16.92-29.61 32.69-39.39 35.54-49.77 56.7-10.39 21.15-10.39 63.76ZM480.07-100q-78.84 0-148.21-29.92t-120.68-81.21q-51.31-51.29-81.25-120.63Q100-401.1 100-479.93q0-78.84 29.92-148.21t81.21-120.68q51.29-51.31 120.63-81.25Q401.1-860 479.93-860q78.84 0 148.21 29.92t120.68 81.21q51.31 51.29 81.25 120.63Q860-558.9 860-480.07q0 78.84-29.92 148.21t-81.21 120.68q-51.29 51.31-120.63 81.25Q558.9-100 480.07-100Zm-.07-60q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z'/%3e%3c/svg%3e",
11063
+ calendar: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M212.31-100Q182-100 161-121q-21-21-21-51.31v-535.38Q140-738 161-759q21-21 51.31-21h55.38v-84.61h61.54V-780h303.08v-84.61h60V-780h55.38Q778-780 799-759q21 21 21 51.31v535.38Q820-142 799-121q-21 21-51.31 21H212.31Zm0-60h535.38q4.62 0 8.46-3.85 3.85-3.84 3.85-8.46v-375.38H200v375.38q0 4.62 3.85 8.46 3.84 3.85 8.46 3.85ZM200-607.69h560v-100q0-4.62-3.85-8.46-3.84-3.85-8.46-3.85H212.31q-4.62 0-8.46 3.85-3.85 3.84-3.85 8.46v100Zm0 0V-720v112.31Zm280 210.77q-14.69 0-25.04-10.35-10.34-10.34-10.34-25.04 0-14.69 10.34-25.04 10.35-10.34 25.04-10.34t25.04 10.34q10.34 10.35 10.34 25.04 0 14.7-10.34 25.04-10.35 10.35-25.04 10.35Zm-185.04-10.35q-10.34-10.34-10.34-25.04 0-14.69 10.34-25.04 10.35-10.34 25.04-10.34t25.04 10.34q10.34 10.35 10.34 25.04 0 14.7-10.34 25.04-10.35 10.35-25.04 10.35t-25.04-10.35ZM640-396.92q-14.69 0-25.04-10.35-10.34-10.34-10.34-25.04 0-14.69 10.34-25.04 10.35-10.34 25.04-10.34t25.04 10.34q10.34 10.35 10.34 25.04 0 14.7-10.34 25.04-10.35 10.35-25.04 10.35ZM480-240q-14.69 0-25.04-10.35-10.34-10.34-10.34-25.03 0-14.7 10.34-25.04 10.35-10.35 25.04-10.35t25.04 10.35q10.34 10.34 10.34 25.04 0 14.69-10.34 25.03Q494.69-240 480-240Zm-185.04-10.35q-10.34-10.34-10.34-25.03 0-14.7 10.34-25.04 10.35-10.35 25.04-10.35t25.04 10.35q10.34 10.34 10.34 25.04 0 14.69-10.34 25.03Q334.69-240 320-240t-25.04-10.35ZM640-240q-14.69 0-25.04-10.35-10.34-10.34-10.34-25.03 0-14.7 10.34-25.04 10.35-10.35 25.04-10.35t25.04 10.35q10.34 10.34 10.34 25.04 0 14.69-10.34 25.03Q654.69-240 640-240Z'/%3e%3c/svg%3e",
11064
+ clock: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='m618.92-298.92 42.16-42.16L510-492.16V-680h-60v212.15l168.92 168.93ZM480.07-100q-78.84 0-148.21-29.92t-120.68-81.21q-51.31-51.29-81.25-120.63Q100-401.1 100-479.93q0-78.84 29.92-148.21t81.21-120.68q51.29-51.31 120.63-81.25Q401.1-860 479.93-860q78.84 0 148.21 29.92t120.68 81.21q51.31 51.29 81.25 120.63Q860-558.9 860-480.07q0 78.84-29.92 148.21t-81.21 120.68q-51.29 51.31-120.63 81.25Q558.9-100 480.07-100ZM480-480Zm0 320q133 0 226.5-93.5T800-480q0-133-93.5-226.5T480-800q-133 0-226.5 93.5T160-480q0 133 93.5 226.5T480-160Z'/%3e%3c/svg%3e",
11065
+ mail: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M172.31-180Q142-180 121-201q-21-21-21-51.31v-455.38Q100-738 121-759q21-21 51.31-21h615.38Q818-780 839-759q21 21 21 51.31v455.38Q860-222 839-201q-21 21-51.31 21H172.31ZM480-457.69 160-662.31v410q0 5.39 3.46 8.85t8.85 3.46h615.38q5.39 0 8.85-3.46t3.46-8.85v-410L480-457.69Zm0-62.31 313.85-200h-627.7L480-520ZM160-662.31V-720v467.69q0 5.39 3.46 8.85t8.85 3.46H160v-422.31Z'/%3e%3c/svg%3e",
11066
+ chat: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M250-410h300v-60H250v60Zm0-120h460v-60H250v60Zm0-120h460v-60H250v60ZM100-118.46v-669.23Q100-818 121-839q21-21 51.31-21h615.38Q818-860 839-839q21 21 21 51.31v455.38Q860-302 839-281q-21 21-51.31 21H241.54L100-118.46ZM216-320h571.69q4.62 0 8.46-3.85 3.85-3.84 3.85-8.46v-455.38q0-4.62-3.85-8.46-3.84-3.85-8.46-3.85H172.31q-4.62 0-8.46 3.85-3.85 3.84-3.85 8.46v523.08L216-320Zm-56 0v-480 480Z'/%3e%3c/svg%3e",
11067
+ image: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M212.31-140Q182-140 161-161q-21-21-21-51.31v-535.38Q140-778 161-799q21-21 51.31-21h535.38Q778-820 799-799q21 21 21 51.31v535.38Q820-182 799-161q-21 21-51.31 21H212.31Zm0-60h535.38q4.62 0 8.46-3.85 3.85-3.84 3.85-8.46v-535.38q0-4.62-3.85-8.46-3.84-3.85-8.46-3.85H212.31q-4.62 0-8.46 3.85-3.85 3.84-3.85 8.46v535.38q0 4.62 3.85 8.46 3.84 3.85 8.46 3.85ZM270-290h423.07L561.54-465.38 449.23-319.23l-80-102.31L270-290Zm-70 90v-560 560Z'/%3e%3c/svg%3e",
11068
+ document: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M330-250h300v-60H330v60Zm0-160h300v-60H330v60Zm-77.69 310Q222-100 201-121q-21-21-21-51.31v-615.38Q180-818 201-839q21-21 51.31-21H570l210 210v477.69Q780-142 759-121q-21 21-51.31 21H252.31ZM540-620v-180H252.31q-4.62 0-8.46 3.85-3.85 3.84-3.85 8.46v615.38q0 4.62 3.85 8.46 3.84 3.85 8.46 3.85h455.38q4.62 0 8.46-3.85 3.85-3.84 3.85-8.46V-620H540ZM240-800v180-180V-160v-640Z'/%3e%3c/svg%3e",
11069
+ payment: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M550-451.54q-41.92 0-70.96-29.04Q450-509.62 450-551.54q0-41.92 29.04-70.96 29.04-29.04 70.96-29.04 41.92 0 70.96 29.04Q650-593.46 650-551.54q0 41.92-29.04 70.96-29.04 29.04-70.96 29.04ZM286.15-327.69q-29.82 0-51.06-21.24-21.24-21.24-21.24-51.07v-303.08q0-29.82 21.24-51.06 21.24-21.24 51.06-21.24h527.69q29.83 0 51.07 21.24 21.24 21.24 21.24 51.06V-400q0 29.83-21.24 51.07-21.24 21.24-51.07 21.24H286.15Zm60-60h407.7q0-29.92 21.24-51.12Q796.33-460 826.15-460v-183.08q-29.92 0-51.11-21.24-21.19-21.24-21.19-51.06h-407.7q0 29.92-21.24 51.11-21.24 21.19-51.06 21.19V-460q29.92 0 51.11 21.24 21.19 21.24 21.19 51.07Zm420.77 200H146.16q-29.83 0-51.07-21.24Q73.85-230.17 73.85-260v-396.15h60V-260q0 4.61 3.84 8.46 3.85 3.85 8.47 3.85h620.76v60Zm-480.77-200h-12.3V-715.38h12.3q-5 0-8.65 3.65-3.65 3.65-3.65 8.65V-400q0 5 3.65 8.65 3.65 3.66 8.65 3.66Z'/%3e%3c/svg%3e",
11070
+ bank: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M230-280v-300h60v300h-60Zm220 0v-300h60v300h-60ZM110.77-140v-60h738.46v60H110.77ZM670-280v-300h60v300h-60ZM110.77-660v-56.92L480-897.69l369.23 180.77V-660H110.77Zm141.84-60h454.78-454.78Zm0 0h454.78L480-830 252.61-720Z'/%3e%3c/svg%3e",
11071
+ trendingUp: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M142.15-258.08 100-300.23l274.08-276.08 160 160 224.54-221.77H640v-60h220v220h-60v-117.84L534.08-330l-160-160-231.93 231.92Z'/%3e%3c/svg%3e",
11072
+ extension: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M208.85-197.69h504.61q3.85 0 6.35-2.69 2.5-2.7 2.5-6.54v-176.31l36.92-15.85q18.31-6.84 29.54-23.53Q800-439.31 800-461.15q0-21.62-11.23-38.43t-29.54-24.04l-36.92-15.23v-176.53q0-4.24-2.5-6.74t-6.35-2.5H534.92l-7.3-51.07q-3.77-25.85-22.39-43.92-18.61-18.08-44.08-18.08-26.07 0-44.69 18.08-18.61 18.07-22.38 43.92l-7.31 51.07H208.46q-3.46 0-5.96 2.5t-2.5 6.74V-624q51.77 17.15 84.15 62.04 32.39 44.88 32.39 100.81 0 57.3-32.19 102.19-32.2 44.88-84.35 61.27v90.77q0 3.84 2.5 6.54 2.5 2.69 6.35 2.69Zm0 60q-29 0-48.93-20.12Q140-177.92 140-206.92V-347q48-1.54 82.27-33.58 34.27-32.04 34.27-80.57 0-45.62-34.46-78.12-34.46-32.5-82.08-36.42v-139.69q0-28.77 20.04-49t48.42-20.23h126.23q6.62-47.93 42.16-80.5 35.54-32.58 84.3-32.58 48.16 0 83.7 32.58 35.53 32.57 42.76 80.5h125.85q28.39 0 48.62 20.23 20.23 20.23 20.23 49v136.69q34.84 14.15 56.27 46.23Q860-500.38 860-461.15q0 39.07-21.42 70.96-21.43 31.88-56.27 46.57v136.7q0 29-20.23 49.11-20.23 20.12-48.62 20.12H208.85ZM500-461.15Z'/%3e%3c/svg%3e",
11073
+ webhook: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M280-130q-78.77 0-134.38-55.62Q90-241.23 90-320q0-66.08 39.54-116.35 39.54-50.26 100.46-66.19v63q-35 14.31-57.5 46.85T150-320q0 53.85 38.08 91.92Q226.15-190 280-190t91.92-38.08Q410-266.15 410-320v-30h225.38q6.85-10.92 18.54-17.77 11.7-6.84 26.08-6.84 22.69 0 38.65 15.96 15.96 15.96 15.96 38.65 0 22.69-15.96 38.65-15.96 15.96-38.65 15.96-14.77 0-26.27-6.65T635.38-290H467.54q-11.69 71.31-65.04 115.65Q349.15-130 280-130Zm400 0q-49.08 0-89.96-22.89-40.88-22.88-67.27-61.72h81.61q15.16 11.53 34.85 18.07Q658.92-190 680-190q53.85 0 91.92-38.08Q810-266.15 810-320t-38.08-91.92Q733.85-450 680-450q-18.85 0-34.88 4.73-16.04 4.73-30.66 13.81l-117-194.93q-21-.53-36.54-15.57Q445.39-657 445.39-680q0-22.69 15.96-38.65 15.96-15.96 38.65-15.96 22.69 0 38.65 15.96 15.96 15.96 15.96 38.65 0 6.15-1.15 11.38-1.15 5.24-4.31 10.24L640-505.85q9.15-2 19.12-3.07Q669.08-510 680-510q78.77 0 134.38 55.62Q870-398.77 870-320t-55.62 134.38Q758.77-130 680-130ZM280-265.39q-22.69 0-38.65-15.96-15.96-15.96-15.96-38.65 0-21.23 14.57-36.85 14.58-15.61 36.89-16.76l98.23-163.31q-31.31-26.62-48.19-63.73Q310-637.77 310-680q0-78.77 55.62-134.38Q421.23-870 500-870t134.38 55.62Q690-758.77 690-680h-60q0-53.85-38.08-91.92Q553.85-810 500-810t-91.92 38.08Q370-733.85 370-680q0 42.62 24.08 75.5 24.07 32.88 63.3 46.89L328.54-342.62q3.15 5.39 4.61 10.93 1.46 5.54 1.46 11.69 0 22.69-15.96 38.65-15.96 15.96-38.65 15.96Z'/%3e%3c/svg%3e",
11074
+ logout: "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3e%3cpath d='M212.31-140Q182-140 161-161q-21-21-21-51.31v-535.38Q140-778 161-799q21-21 51.31-21h268.07v60H212.31q-4.62 0-8.46 3.85-3.85 3.84-3.85 8.46v535.38q0 4.62 3.85 8.46 3.84 3.85 8.46 3.85h268.07v60H212.31Zm436.92-169.23-41.54-43.39L705.08-450H363.85v-60h341.23l-97.39-97.38 41.54-43.39L820-480 649.23-309.23Z'/%3e%3c/svg%3e",
10825
11075
  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
11076
  };
10827
11077
  var BaseTypography = {
@@ -10987,7 +11237,7 @@ var BaseShadows = {
10987
11237
  warn: "0 0 5px rgba(255, 0, 0, 0.5), inset 0 0 5px rgba(255, 0, 0, 0.3)"
10988
11238
  };
10989
11239
  var BaseSpacing = {
10990
- none: "none",
11240
+ none: 0,
10991
11241
  xxs: "2px",
10992
11242
  xs: "4px",
10993
11243
  sm: "8px",
@@ -11139,6 +11389,17 @@ var buildComponents = (c) => ({
11139
11389
  backdropFilter: "blur(2px)"
11140
11390
  }
11141
11391
  } },
11392
+ dialogButtons: { options: {
11393
+ gap: "md",
11394
+ padding: "md",
11395
+ paddingBottom: "lg",
11396
+ justifyContent: "center",
11397
+ confirmButtonVariant: "primary",
11398
+ cancelButtonVariant: "warn",
11399
+ buttonSize: "lg",
11400
+ stretch: false,
11401
+ reverseOrder: false
11402
+ } },
11142
11403
  dialogHeader: { options: {
11143
11404
  borderRadius: "max",
11144
11405
  color: "primary",
@@ -11737,11 +11998,22 @@ ${recordLiteral(shadows, " ")}
11737
11998
  "const components = (colors: Colors): ComponentThemes => ({});",
11738
11999
  "",
11739
12000
  "/**",
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",`,
12001
+ " * Icon primitives, merged over the built-in 59-icon set per name: reuse a",
12002
+ " * built-in name to reskin it, or add any new name. Define an icon ONCE here",
12003
+ " * and render it anywhere via `<uni-icon name='\u2026'/>` \u2014 never inline SVG in",
12004
+ " * components.",
12005
+ " *",
12006
+ " * Encode your own SVGs with `svgToIconUri` rather than by hand \u2014 it strips",
12007
+ " * fixed width/height, escapes the URI and rejects artwork that cannot",
12008
+ " * survive masking:",
12009
+ " *",
12010
+ " * import { svgToIconUri } from '@uni-design-system/uni-core';",
12011
+ " * const icons: Icons = { logo: svgToIconUri(readFileSync('logo.svg', 'utf8')) };",
12012
+ " *",
12013
+ " * Icons are masked with currentColor, so they recolor with the theme \u2014 but",
12014
+ " * that also means they are MONOCHROME: the mask uses the alpha channel, so a",
12015
+ " * multi-color mark flattens to its silhouette. Keep one grid (viewBox) across",
12016
+ " * your set, or the glyphs will not share an optical weight.",
11745
12017
  " */",
11746
12018
  "const icons: Icons = {};",
11747
12019
  "",
@@ -11769,6 +12041,48 @@ ${recordLiteral(radii, " ")}
11769
12041
  reportSummary
11770
12042
  };
11771
12043
  };
12044
+ var BLANK_PAINT = /* @__PURE__ */ new Set([
12045
+ "none",
12046
+ "transparent",
12047
+ "inherit",
12048
+ ""
12049
+ ]);
12050
+ function paintValues(svg) {
12051
+ const found = /* @__PURE__ */ new Set();
12052
+ for (const [, value] of svg.matchAll(/\b(?:fill|stroke)\s*=\s*["']([^"']*)["']/g)) {
12053
+ const paint = value.trim().toLowerCase();
12054
+ if (!BLANK_PAINT.has(paint)) found.add(paint);
12055
+ }
12056
+ for (const [, , value] of svg.matchAll(/\b(fill|stroke)\s*:\s*([^;"'}]+)/g)) {
12057
+ const paint = value.trim().toLowerCase();
12058
+ if (!BLANK_PAINT.has(paint)) found.add(paint);
12059
+ }
12060
+ return [...found];
12061
+ }
12062
+ function normalize(svg) {
12063
+ return svg.replace(/<\?xml[^>]*\?>/g, "").replace(/<!DOCTYPE[^>]*>/gi, "").replace(/<!--[\s\S]*?-->/g, "").replace(/\s(width|height)\s*=\s*["'][^"']*["']/g, "").replace(/\s+/g, " ").replace(/>\s+</g, "><").trim();
12064
+ }
12065
+ function encode(svg) {
12066
+ return "data:image/svg+xml," + svg.replace(/"/g, "'").replace(/%/g, "%25").replace(/#/g, "%23").replace(/</g, "%3c").replace(/>/g, "%3e");
12067
+ }
12068
+ function svgToIconUri(svg, options = {}) {
12069
+ const label = options.name ? `${options.name}: ` : "";
12070
+ const fail = (message) => {
12071
+ throw new Error(`${label}${message}`);
12072
+ };
12073
+ if (typeof svg !== "string" || !svg.trim()) fail("empty SVG source");
12074
+ const normalized = normalize(svg);
12075
+ if (!/^<svg[\s>]/i.test(normalized) || !/<\/svg>$/i.test(normalized)) fail("not a complete <svg> document");
12076
+ if (!/\bviewBox\s*=\s*["'][^"']+["']/i.test(normalized)) fail("no viewBox \u2014 the icon could not scale to its container");
12077
+ if (/<image\b/i.test(normalized)) fail("contains a raster <image>; masks need vector artwork");
12078
+ if (/\b(?:xlink:)?href\s*=\s*["'](?!#)/i.test(normalized)) fail("references an external resource, which a masked SVG cannot load");
12079
+ if (!options.allowMultiColor) {
12080
+ const paints = paintValues(normalized);
12081
+ if (paints.some((p) => p.startsWith("url("))) fail("paints with a gradient or pattern \u2014 masks use the alpha channel only, so it would flatten to a silhouette. Pass { allowMultiColor: true } to accept that.");
12082
+ if (paints.length > 1) fail(`paints in ${paints.length} colors (${paints.join(", ")}) \u2014 masks use the alpha channel only, so it would flatten to a silhouette in currentColor. Pass { allowMultiColor: true } to accept that.`);
12083
+ }
12084
+ return encode(normalized);
12085
+ }
11772
12086
  var GetBoxShadow = ({ offset, blur, opacity }) => {
11773
12087
  return `0 ${offset}px ${blur}px rgba(0,0,0,0.${opacity})`;
11774
12088
  };
@@ -11919,25 +12233,127 @@ ${failing.map((f) => `- ${f.mode} \`${f.foreground}\` on \`${f.background}\`: ${
11919
12233
  "- **Icons**: never inline SVG in components. Define an icon ONCE in the theme file's",
11920
12234
  " `icons` map as an inline SVG data URI \u2014 it is masked with `currentColor`, so it",
11921
12235
  " 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.",
12236
+ " A built-in set of 59 icons ships with every theme (navigation, actions, feedback,",
12237
+ " user/system) \u2014 check `BaseIcons` before adding one; names are flat camelCase",
12238
+ " (`chevronDown`, `checkCircle`, `externalLink`) and `IconName` autocompletes them.",
12239
+ " To add your own, encode with `svgToIconUri` from uni-core rather than hand-writing",
12240
+ " a data URI \u2014 it strips fixed width/height, escapes the URI, and throws on artwork",
12241
+ " that cannot be masked. Icons are MONOCHROME (the mask uses the alpha channel), so a",
12242
+ " multi-color logo flattens to a silhouette; keep one viewBox grid across the set.",
11923
12243
  "- Never hardcode hex values in application components: style through `ThemeService`",
11924
12244
  " accessors and semantic token names so themes stay swappable."
11925
12245
  ].join("\n");
11926
12246
  }
11927
12247
 
12248
+ // src/server/icons.ts
12249
+ var DATA_URI = /^data:image\/svg\+xml[^,]*,/;
12250
+ function toCamelCase(name) {
12251
+ const cleaned = name.trim().replace(/\.svg$/i, "").replace(/[^A-Za-z0-9]+(.)?/g, (_, chr) => chr ? chr.toUpperCase() : "");
12252
+ return cleaned.charAt(0).toLowerCase() + cleaned.slice(1);
12253
+ }
12254
+ var decode = (uri) => decodeURIComponent(uri.replace(DATA_URI, ""));
12255
+ var viewBoxOf = (svg) => svg.match(/viewBox\s*=\s*["']([^"']+)["']/i)?.[1] ?? "unknown";
12256
+ var BASE_GRID = viewBoxOf(decode(BaseIcons.chevronDown));
12257
+ function formatIconTokens(icons) {
12258
+ if (!icons.length) {
12259
+ return "No icons supplied. Pass `icons: [{ name, svg }]` \u2014 `svg` may be raw SVG source or an already-encoded data URI.";
12260
+ }
12261
+ const encoded = [];
12262
+ const rejected = [];
12263
+ for (const { name, svg, allowMultiColor } of icons) {
12264
+ const tokenName = toCamelCase(name);
12265
+ const source = DATA_URI.test(svg.trim()) ? decode(svg.trim()) : svg;
12266
+ try {
12267
+ const uri = svgToIconUri(source, { name: tokenName, allowMultiColor });
12268
+ encoded.push({ name: tokenName, originalName: name, uri, viewBox: viewBoxOf(decode(uri)) });
12269
+ } catch (error) {
12270
+ const reason = error.message.replace(`${tokenName}: `, "").replace(
12271
+ /Pass \{ allowMultiColor: true \} to accept that\./,
12272
+ `Set \`allowMultiColor: true\` on \`${tokenName}\` and call again if a silhouette is intended.`
12273
+ );
12274
+ rejected.push({ name: tokenName, reason });
12275
+ }
12276
+ }
12277
+ const out = [];
12278
+ out.push(`# Icon tokens \u2014 ${encoded.length} of ${icons.length} encoded`);
12279
+ out.push("");
12280
+ if (encoded.length) {
12281
+ out.push("## First: are any of these already built in?");
12282
+ out.push("");
12283
+ out.push("Every theme ships these icons. If a glyph below *depicts* one of them, do not");
12284
+ out.push('add a token \u2014 delete the inline `<svg>` and use `<uni-icon name="\u2026" />` with the');
12285
+ out.push("built-in name. Only genuinely app-specific artwork belongs in `icons`.");
12286
+ out.push("");
12287
+ out.push(`> ${Object.keys(BaseIcons).join(", ")}`);
12288
+ out.push("");
12289
+ out.push("## Add to `uni-theme.ts`");
12290
+ out.push("");
12291
+ out.push("Merge whatever survives that check into the `icons` const. They are merged over");
12292
+ out.push('the built-in set per name, then rendered anywhere with `<uni-icon name="\u2026" />` \u2014');
12293
+ out.push("delete the inline `<svg>` from the component.");
12294
+ out.push("");
12295
+ out.push("```ts");
12296
+ out.push("const icons: Icons = {");
12297
+ for (const { name, uri } of encoded) out.push(` ${name}: "${uri}",`);
12298
+ out.push("};");
12299
+ out.push("```");
12300
+ out.push("");
12301
+ }
12302
+ if (rejected.length) {
12303
+ out.push("## Not encoded");
12304
+ out.push("");
12305
+ out.push("These cannot render as a mask. Fix the artwork and call again.");
12306
+ out.push("");
12307
+ for (const { name, reason } of rejected) out.push(`- \`${name}\` \u2014 ${reason}`);
12308
+ out.push("");
12309
+ }
12310
+ const notes = [];
12311
+ const renamed = encoded.filter((e) => e.name !== e.originalName);
12312
+ if (renamed.length) {
12313
+ notes.push(
12314
+ `Renamed to the set's flat camelCase convention: ${renamed.map((e) => `\`${e.originalName}\` \u2192 \`${e.name}\``).join(", ")}.`
12315
+ );
12316
+ }
12317
+ const overrides = encoded.filter((e) => e.name in BaseIcons);
12318
+ if (overrides.length) {
12319
+ notes.push(
12320
+ `Overrides a built-in icon: ${overrides.map((e) => `\`${e.name}\``).join(", ")}. Intentional for rebranding a standard glyph; rename if you meant to add a new one.`
12321
+ );
12322
+ }
12323
+ const grids = [...new Set(encoded.map((e) => e.viewBox))];
12324
+ if (grids.length > 1) {
12325
+ notes.push(
12326
+ `Mixed viewBox grids (${grids.map((g) => `\`${g}\``).join(", ")}). Icons drawn on different grids will not share an optical weight or size. Re-export the set on one grid.`
12327
+ );
12328
+ } else if (grids.length === 1 && grids[0] !== BASE_GRID && overrides.length) {
12329
+ notes.push(
12330
+ `This set is drawn on \`${grids[0]}\` while the built-in set uses \`${BASE_GRID}\`. That is fine on its own, but a glyph overriding a built-in will sit next to un-overridden built-ins, so check they read at the same weight.`
12331
+ );
12332
+ }
12333
+ notes.push(
12334
+ 'Icons are masked with `currentColor`, so they are monochrome: the mask uses the alpha channel and any fill colors in the source are discarded. Color them by setting text color on the container, or with `<uni-icon color="\u2026" />`.'
12335
+ );
12336
+ out.push("## Notes");
12337
+ out.push("");
12338
+ for (const note of notes) out.push(`- ${note}`);
12339
+ return out.join("\n");
12340
+ }
12341
+
11928
12342
  // src/server/core.ts
11929
12343
  var FrameworkArg = z.enum(["angular", "react"]);
11930
12344
  function text(body) {
11931
12345
  return { content: [{ type: "text", text: body }] };
11932
12346
  }
11933
12347
  function notFound(kind, id) {
11934
- return text(`No ${kind} found with id \`${id}\`. Use the matching list/search tool to discover valid ids.`);
12348
+ return text(
12349
+ `No ${kind} found with id \`${id}\`. Use the matching list/search tool to discover valid ids.`
12350
+ );
11935
12351
  }
11936
12352
  function createUniServer() {
11937
12353
  const server = new McpServer(
11938
12354
  { name: "uni-design-system", version: meta.version },
11939
12355
  {
11940
- instructions: "Authoritative interface to the Uni Design System. Prefer these tools over recalling component APIs or token values from memory: names, props, and tokens here match the exact Uni release the developer installed. Start with `list-components` or `search`, then `get-component` / `get-component-examples`. Use real token ids (via `list-tokens`) instead of raw hex; apply themes with `get-theme-template` (style overrides go through Emotion, component options are props). To brand an app, call `generate-uni-theme` once and write the returned static `uni-theme.ts`; to change look and feel afterwards (colors, borders, per-component styling), edit that file's tokens directly \u2014 shared tokens propagate everywhere."
12356
+ instructions: 'Authoritative interface to the Uni Design System. Prefer these tools over recalling component APIs or token values from memory: names, props, and tokens here match the exact Uni release the developer installed. Start with `list-components` or `search`, then `get-component` / `get-component-examples`. Use real token ids (via `list-tokens`) instead of raw hex; apply themes with `get-theme-template` (style overrides go through Emotion, component options are props). To brand an app, call `generate-uni-theme` once and write the returned static `uni-theme.ts`; to change look and feel afterwards (colors, borders, per-component styling), edit that file\'s tokens directly \u2014 shared tokens propagate everywhere. Never inline `<svg>` in a component: when you meet inline SVG, or a brand icon set to import, call `create-icon-tokens` to convert it into theme icon tokens, add them to `uni-theme.ts`, and render with `<uni-icon name="\u2026" />`.'
11941
12357
  }
11942
12358
  );
11943
12359
  server.registerTool(
@@ -11958,7 +12374,10 @@ function createUniServer() {
11958
12374
  {
11959
12375
  title: "Get a Uni component",
11960
12376
  description: "Full reference for one component: description, per-framework import + selector/tag, complete API (inputs/outputs or props/events), related tokens, and a sample. Pass `framework` to scope to Angular or React.",
11961
- inputSchema: { id: z.string().describe('component id, e.g. "button"'), framework: FrameworkArg.optional() }
12377
+ inputSchema: {
12378
+ id: z.string().describe('component id, e.g. "button"'),
12379
+ framework: FrameworkArg.optional()
12380
+ }
11962
12381
  },
11963
12382
  async ({ id, framework }) => {
11964
12383
  const c = getComponent(id);
@@ -11995,7 +12414,9 @@ function createUniServer() {
11995
12414
  {
11996
12415
  title: "Get a design token",
11997
12416
  description: "Resolved value, type, style/behavioral classification, alias chain, and per-theme values for one token.",
11998
- inputSchema: { id: z.string().describe('token id, e.g. "color.primary" or "input.behavior.height"') }
12417
+ inputSchema: {
12418
+ id: z.string().describe('token id, e.g. "color.primary" or "input.behavior.height"')
12419
+ }
11999
12420
  },
12000
12421
  async ({ id }) => {
12001
12422
  const t = getToken(id);
@@ -12016,7 +12437,11 @@ function createUniServer() {
12016
12437
  );
12017
12438
  server.registerTool(
12018
12439
  "list-themes",
12019
- { title: "List theme templates", description: "Available Uni theme templates.", inputSchema: {} },
12440
+ {
12441
+ title: "List theme templates",
12442
+ description: "Available Uni theme templates.",
12443
+ inputSchema: {}
12444
+ },
12020
12445
  async () => text(formatThemeList(listThemes()))
12021
12446
  );
12022
12447
  server.registerTool(
@@ -12037,9 +12462,13 @@ function createUniServer() {
12037
12462
  title: "Generate a Uni brand theme file",
12038
12463
  description: "Generate a complete, WCAG-AA light+dark Uni theme from brand hex color(s) and return the static `uni-theme.ts` file content (write it to `src/app/uni-theme.ts`), the `UNI_THEMES` provider registration snippet, and a contrast report. The file is plain editable data and becomes the source of truth: later restyling means editing its tokens (colors, named border primitives, sparse component overrides) \u2014 not calling this tool again. Never hardcode hex in components; reference theme tokens.",
12039
12464
  inputSchema: {
12040
- brand: z.union([z.string(), z.array(z.string()).min(1).max(3)]).describe('Brand hex color(s), e.g. "#0052FF". 2\u20133 colors map to primary/secondary/tertiary.'),
12465
+ brand: z.union([z.string(), z.array(z.string()).min(1).max(3)]).describe(
12466
+ 'Brand hex color(s), e.g. "#0052FF". 2\u20133 colors map to primary/secondary/tertiary.'
12467
+ ),
12041
12468
  vibe: z.enum(["jewel", "pastel", "earth", "neutral", "florescent"]).optional().describe("Tonal character; defaults to a category inferred from the seed chroma."),
12042
- scheme: z.enum(["monochromatic", "analogous", "complimentary", "splitComplimentary", "triadic"]).optional().describe("Hue-wheel relationship for generated roles; auto-classified for multi-color input."),
12469
+ scheme: z.enum(["monochromatic", "analogous", "complimentary", "splitComplimentary", "triadic"]).optional().describe(
12470
+ "Hue-wheel relationship for generated roles; auto-classified for multi-color input."
12471
+ ),
12043
12472
  shape: z.enum(["sharp", "modern", "playful"]).optional().describe("Shape language \u2014 emits a radii override into the file."),
12044
12473
  name: z.string().optional().describe('Theme display name, defaults to "Brand".'),
12045
12474
  darkMode: z.boolean().optional().describe("Emit the dark theme too. Defaults to true.")
@@ -12047,6 +12476,25 @@ function createUniServer() {
12047
12476
  },
12048
12477
  async (args) => text(formatGeneratedTheme(args))
12049
12478
  );
12479
+ server.registerTool(
12480
+ "create-icon-tokens",
12481
+ {
12482
+ title: "Convert SVGs into Uni icon tokens",
12483
+ description: 'Convert raw SVG source into theme icon tokens and return a paste-ready `icons` map for `uni-theme.ts`. Use this whenever an app has inline `<svg>` in a component, or a brand icon set to import: move the artwork into the theme once, then render it anywhere with `<uni-icon name="\u2026" />`. Encodes to a `currentColor`-masked data URI (identical to the built-in set), reports which names override built-ins, flags artwork that cannot be masked (multi-color, gradients, no viewBox, raster or external references), and warns when a set mixes viewBox grids. Icons are monochrome \u2014 a multi-color logo flattens to a silhouette. Safe to re-run: already-encoded data URIs pass through unchanged.',
12484
+ inputSchema: {
12485
+ icons: z.array(
12486
+ z.object({
12487
+ name: z.string().describe('Token name, e.g. "acmeLogo". Converted to flat camelCase if needed.'),
12488
+ svg: z.string().describe("Raw SVG source, or an already-encoded data:image/svg+xml URI."),
12489
+ allowMultiColor: z.boolean().optional().describe(
12490
+ "Accept multi-color artwork, knowing the mask flattens it to a silhouette."
12491
+ )
12492
+ })
12493
+ ).min(1).describe("The icons to convert. Pass the whole set at once so grids can be compared.")
12494
+ }
12495
+ },
12496
+ async ({ icons }) => text(formatIconTokens(icons))
12497
+ );
12050
12498
  server.registerTool(
12051
12499
  "search",
12052
12500
  {
@@ -12066,9 +12514,15 @@ function registerResources(server) {
12066
12514
  server.registerResource(
12067
12515
  "meta",
12068
12516
  "uni://meta",
12069
- { title: "Uni index metadata", description: "Index version, Uni release, framework coverage, counts, build time.", mimeType: "application/json" },
12517
+ {
12518
+ title: "Uni index metadata",
12519
+ description: "Index version, Uni release, framework coverage, counts, build time.",
12520
+ mimeType: "application/json"
12521
+ },
12070
12522
  async (uri) => ({
12071
- contents: [{ uri: uri.href, mimeType: "application/json", text: JSON.stringify(meta, null, 2) }]
12523
+ contents: [
12524
+ { uri: uri.href, mimeType: "application/json", text: JSON.stringify(meta, null, 2) }
12525
+ ]
12072
12526
  })
12073
12527
  );
12074
12528
  server.registerResource(
@@ -12078,23 +12532,47 @@ function registerResources(server) {
12078
12532
  resources: listComponents().map((c) => ({ uri: `uni://components/${c.id}`, name: c.name, description: c.summary }))
12079
12533
  })
12080
12534
  }),
12081
- { title: "Uni component", description: "A component reference card.", mimeType: "text/markdown" },
12535
+ {
12536
+ title: "Uni component",
12537
+ description: "A component reference card.",
12538
+ mimeType: "text/markdown"
12539
+ },
12082
12540
  async (uri, { id }) => {
12083
12541
  const c = getComponent(String(id));
12084
- return { contents: [{ uri: uri.href, mimeType: "text/markdown", text: c ? formatComponent(c) : `Unknown component: ${id}` }] };
12542
+ return {
12543
+ contents: [
12544
+ {
12545
+ uri: uri.href,
12546
+ mimeType: "text/markdown",
12547
+ text: c ? formatComponent(c) : `Unknown component: ${id}`
12548
+ }
12549
+ ]
12550
+ };
12085
12551
  }
12086
12552
  );
12087
12553
  server.registerResource(
12088
12554
  "token",
12089
12555
  new ResourceTemplate("uni://tokens/{id}", {
12090
12556
  list: async () => ({
12091
- resources: listTokens().map((t) => ({ uri: `uni://tokens/${t.id}`, name: t.id, description: `${t.type} = ${t.value}` }))
12557
+ resources: listTokens().map((t) => ({
12558
+ uri: `uni://tokens/${t.id}`,
12559
+ name: t.id,
12560
+ description: `${t.type} = ${t.value}`
12561
+ }))
12092
12562
  })
12093
12563
  }),
12094
12564
  { title: "Uni token", description: "A design token.", mimeType: "text/markdown" },
12095
12565
  async (uri, { id }) => {
12096
12566
  const t = getToken(String(id));
12097
- return { contents: [{ uri: uri.href, mimeType: "text/markdown", text: t ? formatToken(t) : `Unknown token: ${id}` }] };
12567
+ return {
12568
+ contents: [
12569
+ {
12570
+ uri: uri.href,
12571
+ mimeType: "text/markdown",
12572
+ text: t ? formatToken(t) : `Unknown token: ${id}`
12573
+ }
12574
+ ]
12575
+ };
12098
12576
  }
12099
12577
  );
12100
12578
  server.registerResource(
@@ -12104,23 +12582,51 @@ function registerResources(server) {
12104
12582
  resources: listThemes().map((t) => ({ uri: `uni://themes/${t.id}`, name: t.name, description: t.description }))
12105
12583
  })
12106
12584
  }),
12107
- { title: "Uni theme template", description: "A theme template (style + component options).", mimeType: "text/markdown" },
12585
+ {
12586
+ title: "Uni theme template",
12587
+ description: "A theme template (style + component options).",
12588
+ mimeType: "text/markdown"
12589
+ },
12108
12590
  async (uri, { id }) => {
12109
12591
  const t = getTheme(String(id));
12110
- return { contents: [{ uri: uri.href, mimeType: "text/markdown", text: t ? formatTheme(t) : `Unknown theme: ${id}` }] };
12592
+ return {
12593
+ contents: [
12594
+ {
12595
+ uri: uri.href,
12596
+ mimeType: "text/markdown",
12597
+ text: t ? formatTheme(t) : `Unknown theme: ${id}`
12598
+ }
12599
+ ]
12600
+ };
12111
12601
  }
12112
12602
  );
12113
12603
  server.registerResource(
12114
12604
  "guidelines",
12115
12605
  new ResourceTemplate("uni://guidelines/{id}", {
12116
12606
  list: async () => ({
12117
- resources: listComponents().map((c) => ({ uri: `uni://guidelines/${c.id}`, name: `${c.name} guidelines`, description: c.summary }))
12607
+ resources: listComponents().map((c) => ({
12608
+ uri: `uni://guidelines/${c.id}`,
12609
+ name: `${c.name} guidelines`,
12610
+ description: c.summary
12611
+ }))
12118
12612
  })
12119
12613
  }),
12120
- { title: "Uni guidelines", description: "Authored usage guidance for a component.", mimeType: "text/markdown" },
12614
+ {
12615
+ title: "Uni guidelines",
12616
+ description: "Authored usage guidance for a component.",
12617
+ mimeType: "text/markdown"
12618
+ },
12121
12619
  async (uri, { id }) => {
12122
12620
  const c = getComponent(String(id));
12123
- return { contents: [{ uri: uri.href, mimeType: "text/markdown", text: c ? formatGuidelines(c) : `Unknown component: ${id}` }] };
12621
+ return {
12622
+ contents: [
12623
+ {
12624
+ uri: uri.href,
12625
+ mimeType: "text/markdown",
12626
+ text: c ? formatGuidelines(c) : `Unknown component: ${id}`
12627
+ }
12628
+ ]
12629
+ };
12124
12630
  }
12125
12631
  );
12126
12632
  }
@@ -12129,4 +12635,4 @@ export {
12129
12635
  meta,
12130
12636
  createUniServer
12131
12637
  };
12132
- //# sourceMappingURL=chunk-WCJS2FYS.js.map
12638
+ //# sourceMappingURL=chunk-VM5SXSG2.js.map