@nordhealth/components 2.15.2 → 2.16.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +254 -223
- package/lib/Avatar.js +1 -1
- package/lib/Avatar.js.map +1 -1
- package/lib/Button.js +1 -1
- package/lib/Button.js.map +1 -1
- package/lib/{Calendar-88644376.js → Calendar-2cc56879.js} +1 -1
- package/lib/{Calendar-88644376.js.map → Calendar-2cc56879.js.map} +1 -1
- package/lib/Calendar.js +1 -1
- package/lib/DatePicker.js +1 -1
- package/lib/Navigation.js +1 -1
- package/lib/Navigation.js.map +1 -1
- package/lib/bundle.js +3 -3
- package/lib/bundle.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/src/avatar/Avatar.d.ts +8 -3
- package/lib/src/button/Button.d.ts +1 -0
- package/lib/src/navigation/Navigation.d.ts +1 -0
- package/package.json +2 -2
package/custom-elements.json
CHANGED
|
@@ -407,7 +407,7 @@
|
|
|
407
407
|
"declarations": [
|
|
408
408
|
{
|
|
409
409
|
"kind": "class",
|
|
410
|
-
"description": "Avatar is used for showing a thumbnail representation of a user or entity.\nDefault avatar illustration is displayed when no src is specified.",
|
|
410
|
+
"description": "Avatar is used for showing a thumbnail representation of a single user or entity.\nDefault avatar illustration is displayed when no src is specified.",
|
|
411
411
|
"name": "Avatar",
|
|
412
412
|
"cssProperties": [
|
|
413
413
|
{
|
|
@@ -435,7 +435,7 @@
|
|
|
435
435
|
"kind": "field",
|
|
436
436
|
"name": "size",
|
|
437
437
|
"type": {
|
|
438
|
-
"text": "\"s\" | \"m\" | \"l\" | \"xl\" | \"xxl\""
|
|
438
|
+
"text": "\"s\" | \"m\" | \"l\" | \"xl\" | \"xxl\" | \"xxxl\""
|
|
439
439
|
},
|
|
440
440
|
"default": "\"m\"",
|
|
441
441
|
"description": "The size of the avatar.",
|
|
@@ -459,9 +459,19 @@
|
|
|
459
459
|
"text": "string"
|
|
460
460
|
},
|
|
461
461
|
"default": "\"\"",
|
|
462
|
-
"description": "The name of the person.",
|
|
462
|
+
"description": "The name of the person or entity.",
|
|
463
463
|
"attribute": "name"
|
|
464
464
|
},
|
|
465
|
+
{
|
|
466
|
+
"kind": "field",
|
|
467
|
+
"name": "icon",
|
|
468
|
+
"type": {
|
|
469
|
+
"text": "string"
|
|
470
|
+
},
|
|
471
|
+
"default": "\"\"",
|
|
472
|
+
"description": "The fallback icon.",
|
|
473
|
+
"attribute": "icon"
|
|
474
|
+
},
|
|
465
475
|
{
|
|
466
476
|
"kind": "field",
|
|
467
477
|
"name": "variant",
|
|
@@ -503,7 +513,7 @@
|
|
|
503
513
|
{
|
|
504
514
|
"name": "size",
|
|
505
515
|
"type": {
|
|
506
|
-
"text": "\"s\" | \"m\" | \"l\" | \"xl\" | \"xxl\""
|
|
516
|
+
"text": "\"s\" | \"m\" | \"l\" | \"xl\" | \"xxl\" | \"xxxl\""
|
|
507
517
|
},
|
|
508
518
|
"default": "\"m\"",
|
|
509
519
|
"description": "The size of the avatar.",
|
|
@@ -523,9 +533,18 @@
|
|
|
523
533
|
"text": "string"
|
|
524
534
|
},
|
|
525
535
|
"default": "\"\"",
|
|
526
|
-
"description": "The name of the person.",
|
|
536
|
+
"description": "The name of the person or entity.",
|
|
527
537
|
"fieldName": "name"
|
|
528
538
|
},
|
|
539
|
+
{
|
|
540
|
+
"name": "icon",
|
|
541
|
+
"type": {
|
|
542
|
+
"text": "string"
|
|
543
|
+
},
|
|
544
|
+
"default": "\"\"",
|
|
545
|
+
"description": "The fallback icon.",
|
|
546
|
+
"fieldName": "icon"
|
|
547
|
+
},
|
|
529
548
|
{
|
|
530
549
|
"name": "variant",
|
|
531
550
|
"type": {
|
|
@@ -543,7 +562,7 @@
|
|
|
543
562
|
"localization": [],
|
|
544
563
|
"status": "ready",
|
|
545
564
|
"category": "image",
|
|
546
|
-
"readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Always add the name of the person using the `name` property.\n- For the best results, use square images or images cropped into a square.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Try to avoid using landscape or portrait images as avatars. Let users crop their images before or after uploading if possible.\n\n</div>\n",
|
|
565
|
+
"readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Always add the name of the person using the `name` property.\n- For the best results, use square images or images cropped into a square.\n- Use the avatar to represent a single user, pet or entity.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Try to avoid using landscape or portrait images as avatars. Let users crop their images before or after uploading if possible.\n- Don't use an avatar when an icon is more suitable, for example when denoting groups or \"things\".\n\n</div>\n",
|
|
547
566
|
"examples": [],
|
|
548
567
|
"tagName": "nord-avatar",
|
|
549
568
|
"customElement": true
|
|
@@ -655,6 +674,128 @@
|
|
|
655
674
|
}
|
|
656
675
|
]
|
|
657
676
|
},
|
|
677
|
+
{
|
|
678
|
+
"kind": "javascript-module",
|
|
679
|
+
"path": "src/button-group/ButtonGroup.ts",
|
|
680
|
+
"declarations": [
|
|
681
|
+
{
|
|
682
|
+
"kind": "class",
|
|
683
|
+
"description": "Button groups are designed to bring together button controls that are of a similar nature. For example text formatting controls.",
|
|
684
|
+
"name": "ButtonGroup",
|
|
685
|
+
"cssProperties": [
|
|
686
|
+
{
|
|
687
|
+
"description": "Controls the rounded corners of the button, using [border radius tokens](/tokens/#border-radius).",
|
|
688
|
+
"name": "--n-button-group-border-radius",
|
|
689
|
+
"default": "var(--n-border-radius-s)"
|
|
690
|
+
},
|
|
691
|
+
{
|
|
692
|
+
"description": "Controls the surrounding shadow, using [box shadow tokens](/tokens/#box-shadow).",
|
|
693
|
+
"name": "--n-button-group-box-shadow",
|
|
694
|
+
"default": "var(--n-box-shadow)"
|
|
695
|
+
}
|
|
696
|
+
],
|
|
697
|
+
"slots": [
|
|
698
|
+
{
|
|
699
|
+
"description": "The button group content",
|
|
700
|
+
"name": ""
|
|
701
|
+
}
|
|
702
|
+
],
|
|
703
|
+
"members": [
|
|
704
|
+
{
|
|
705
|
+
"kind": "field",
|
|
706
|
+
"name": "direction",
|
|
707
|
+
"type": {
|
|
708
|
+
"text": "\"vertical\" | \"horizontal\""
|
|
709
|
+
},
|
|
710
|
+
"default": "\"horizontal\"",
|
|
711
|
+
"description": "The direction of the button group.",
|
|
712
|
+
"attribute": "direction",
|
|
713
|
+
"reflects": true
|
|
714
|
+
},
|
|
715
|
+
{
|
|
716
|
+
"kind": "field",
|
|
717
|
+
"name": "role",
|
|
718
|
+
"type": {
|
|
719
|
+
"text": "string"
|
|
720
|
+
},
|
|
721
|
+
"default": "\"group\"",
|
|
722
|
+
"description": "The appropriate role for the containing element.",
|
|
723
|
+
"attribute": "role",
|
|
724
|
+
"reflects": true
|
|
725
|
+
},
|
|
726
|
+
{
|
|
727
|
+
"kind": "field",
|
|
728
|
+
"name": "_warningLogged",
|
|
729
|
+
"type": {
|
|
730
|
+
"text": "boolean"
|
|
731
|
+
},
|
|
732
|
+
"privacy": "private",
|
|
733
|
+
"static": true,
|
|
734
|
+
"default": "false",
|
|
735
|
+
"inheritedFrom": {
|
|
736
|
+
"name": "DraftComponentMixin",
|
|
737
|
+
"module": "src/common/mixins/DraftComponentMixin.ts"
|
|
738
|
+
}
|
|
739
|
+
}
|
|
740
|
+
],
|
|
741
|
+
"attributes": [
|
|
742
|
+
{
|
|
743
|
+
"name": "direction",
|
|
744
|
+
"type": {
|
|
745
|
+
"text": "\"vertical\" | \"horizontal\""
|
|
746
|
+
},
|
|
747
|
+
"default": "\"horizontal\"",
|
|
748
|
+
"description": "The direction of the button group.",
|
|
749
|
+
"fieldName": "direction"
|
|
750
|
+
},
|
|
751
|
+
{
|
|
752
|
+
"name": "role",
|
|
753
|
+
"type": {
|
|
754
|
+
"text": "string"
|
|
755
|
+
},
|
|
756
|
+
"default": "\"group\"",
|
|
757
|
+
"description": "The appropriate role for the containing element.",
|
|
758
|
+
"fieldName": "role"
|
|
759
|
+
}
|
|
760
|
+
],
|
|
761
|
+
"mixins": [
|
|
762
|
+
{
|
|
763
|
+
"name": "DraftComponentMixin",
|
|
764
|
+
"module": "/src/common/mixins/DraftComponentMixin.js"
|
|
765
|
+
}
|
|
766
|
+
],
|
|
767
|
+
"superclass": {
|
|
768
|
+
"name": "LitElement",
|
|
769
|
+
"package": "lit"
|
|
770
|
+
},
|
|
771
|
+
"localization": [],
|
|
772
|
+
"status": "draft",
|
|
773
|
+
"category": "structure",
|
|
774
|
+
"readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Use to group together buttons, or dropdowns, of a similar nature or purpose.\n- Use the appropriate `role` attribute on the button group to provide additional semantics.\n- Use an `aria-labelledby` attribute referencing another element to best explain the contents of the button group.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t add components other than buttons, dropdowns and in some instances visually hidden components to the button group.\n- Don’t skip the addition of an appropriate label if the added `role` attribute value calls for it.\n- Don’t use for building grid based layouts.\n\n</div>\n\n---\n\n## Content guidelines\n\nButton group labels should be accurate and predictable.\n",
|
|
775
|
+
"examples": [],
|
|
776
|
+
"tagName": "nord-button-group",
|
|
777
|
+
"customElement": true
|
|
778
|
+
}
|
|
779
|
+
],
|
|
780
|
+
"exports": [
|
|
781
|
+
{
|
|
782
|
+
"kind": "js",
|
|
783
|
+
"name": "default",
|
|
784
|
+
"declaration": {
|
|
785
|
+
"name": "ButtonGroup",
|
|
786
|
+
"module": "src/button-group/ButtonGroup.ts"
|
|
787
|
+
}
|
|
788
|
+
},
|
|
789
|
+
{
|
|
790
|
+
"kind": "custom-element-definition",
|
|
791
|
+
"name": "nord-button-group",
|
|
792
|
+
"declaration": {
|
|
793
|
+
"name": "ButtonGroup",
|
|
794
|
+
"module": "src/button-group/ButtonGroup.ts"
|
|
795
|
+
}
|
|
796
|
+
}
|
|
797
|
+
]
|
|
798
|
+
},
|
|
658
799
|
{
|
|
659
800
|
"kind": "javascript-module",
|
|
660
801
|
"path": "src/banner/Banner.ts",
|
|
@@ -805,6 +946,11 @@
|
|
|
805
946
|
"description": "Controls the minimum block size, or height, of the button using our [spacing tokens](/tokens/#space).",
|
|
806
947
|
"name": "--n-button-min-block-size",
|
|
807
948
|
"default": "var(--n-space-xl)"
|
|
949
|
+
},
|
|
950
|
+
{
|
|
951
|
+
"description": "Controls the color of the dropdown icon, using our [color tokens](/tokens/#color).",
|
|
952
|
+
"name": "--n-button-dropdown-icon-color",
|
|
953
|
+
"default": "var(--n-color-icon)"
|
|
808
954
|
}
|
|
809
955
|
],
|
|
810
956
|
"slots": [
|
|
@@ -1277,128 +1423,6 @@
|
|
|
1277
1423
|
}
|
|
1278
1424
|
]
|
|
1279
1425
|
},
|
|
1280
|
-
{
|
|
1281
|
-
"kind": "javascript-module",
|
|
1282
|
-
"path": "src/button-group/ButtonGroup.ts",
|
|
1283
|
-
"declarations": [
|
|
1284
|
-
{
|
|
1285
|
-
"kind": "class",
|
|
1286
|
-
"description": "Button groups are designed to bring together button controls that are of a similar nature. For example text formatting controls.",
|
|
1287
|
-
"name": "ButtonGroup",
|
|
1288
|
-
"cssProperties": [
|
|
1289
|
-
{
|
|
1290
|
-
"description": "Controls the rounded corners of the button, using [border radius tokens](/tokens/#border-radius).",
|
|
1291
|
-
"name": "--n-button-group-border-radius",
|
|
1292
|
-
"default": "var(--n-border-radius-s)"
|
|
1293
|
-
},
|
|
1294
|
-
{
|
|
1295
|
-
"description": "Controls the surrounding shadow, using [box shadow tokens](/tokens/#box-shadow).",
|
|
1296
|
-
"name": "--n-button-group-box-shadow",
|
|
1297
|
-
"default": "var(--n-box-shadow)"
|
|
1298
|
-
}
|
|
1299
|
-
],
|
|
1300
|
-
"slots": [
|
|
1301
|
-
{
|
|
1302
|
-
"description": "The button group content",
|
|
1303
|
-
"name": ""
|
|
1304
|
-
}
|
|
1305
|
-
],
|
|
1306
|
-
"members": [
|
|
1307
|
-
{
|
|
1308
|
-
"kind": "field",
|
|
1309
|
-
"name": "direction",
|
|
1310
|
-
"type": {
|
|
1311
|
-
"text": "\"vertical\" | \"horizontal\""
|
|
1312
|
-
},
|
|
1313
|
-
"default": "\"horizontal\"",
|
|
1314
|
-
"description": "The direction of the button group.",
|
|
1315
|
-
"attribute": "direction",
|
|
1316
|
-
"reflects": true
|
|
1317
|
-
},
|
|
1318
|
-
{
|
|
1319
|
-
"kind": "field",
|
|
1320
|
-
"name": "role",
|
|
1321
|
-
"type": {
|
|
1322
|
-
"text": "string"
|
|
1323
|
-
},
|
|
1324
|
-
"default": "\"group\"",
|
|
1325
|
-
"description": "The appropriate role for the containing element.",
|
|
1326
|
-
"attribute": "role",
|
|
1327
|
-
"reflects": true
|
|
1328
|
-
},
|
|
1329
|
-
{
|
|
1330
|
-
"kind": "field",
|
|
1331
|
-
"name": "_warningLogged",
|
|
1332
|
-
"type": {
|
|
1333
|
-
"text": "boolean"
|
|
1334
|
-
},
|
|
1335
|
-
"privacy": "private",
|
|
1336
|
-
"static": true,
|
|
1337
|
-
"default": "false",
|
|
1338
|
-
"inheritedFrom": {
|
|
1339
|
-
"name": "DraftComponentMixin",
|
|
1340
|
-
"module": "src/common/mixins/DraftComponentMixin.ts"
|
|
1341
|
-
}
|
|
1342
|
-
}
|
|
1343
|
-
],
|
|
1344
|
-
"attributes": [
|
|
1345
|
-
{
|
|
1346
|
-
"name": "direction",
|
|
1347
|
-
"type": {
|
|
1348
|
-
"text": "\"vertical\" | \"horizontal\""
|
|
1349
|
-
},
|
|
1350
|
-
"default": "\"horizontal\"",
|
|
1351
|
-
"description": "The direction of the button group.",
|
|
1352
|
-
"fieldName": "direction"
|
|
1353
|
-
},
|
|
1354
|
-
{
|
|
1355
|
-
"name": "role",
|
|
1356
|
-
"type": {
|
|
1357
|
-
"text": "string"
|
|
1358
|
-
},
|
|
1359
|
-
"default": "\"group\"",
|
|
1360
|
-
"description": "The appropriate role for the containing element.",
|
|
1361
|
-
"fieldName": "role"
|
|
1362
|
-
}
|
|
1363
|
-
],
|
|
1364
|
-
"mixins": [
|
|
1365
|
-
{
|
|
1366
|
-
"name": "DraftComponentMixin",
|
|
1367
|
-
"module": "/src/common/mixins/DraftComponentMixin.js"
|
|
1368
|
-
}
|
|
1369
|
-
],
|
|
1370
|
-
"superclass": {
|
|
1371
|
-
"name": "LitElement",
|
|
1372
|
-
"package": "lit"
|
|
1373
|
-
},
|
|
1374
|
-
"localization": [],
|
|
1375
|
-
"status": "draft",
|
|
1376
|
-
"category": "structure",
|
|
1377
|
-
"readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Use to group together buttons, or dropdowns, of a similar nature or purpose.\n- Use the appropriate `role` attribute on the button group to provide additional semantics.\n- Use an `aria-labelledby` attribute referencing another element to best explain the contents of the button group.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t add components other than buttons, dropdowns and in some instances visually hidden components to the button group.\n- Don’t skip the addition of an appropriate label if the added `role` attribute value calls for it.\n- Don’t use for building grid based layouts.\n\n</div>\n\n---\n\n## Content guidelines\n\nButton group labels should be accurate and predictable.\n",
|
|
1378
|
-
"examples": [],
|
|
1379
|
-
"tagName": "nord-button-group",
|
|
1380
|
-
"customElement": true
|
|
1381
|
-
}
|
|
1382
|
-
],
|
|
1383
|
-
"exports": [
|
|
1384
|
-
{
|
|
1385
|
-
"kind": "js",
|
|
1386
|
-
"name": "default",
|
|
1387
|
-
"declaration": {
|
|
1388
|
-
"name": "ButtonGroup",
|
|
1389
|
-
"module": "src/button-group/ButtonGroup.ts"
|
|
1390
|
-
}
|
|
1391
|
-
},
|
|
1392
|
-
{
|
|
1393
|
-
"kind": "custom-element-definition",
|
|
1394
|
-
"name": "nord-button-group",
|
|
1395
|
-
"declaration": {
|
|
1396
|
-
"name": "ButtonGroup",
|
|
1397
|
-
"module": "src/button-group/ButtonGroup.ts"
|
|
1398
|
-
}
|
|
1399
|
-
}
|
|
1400
|
-
]
|
|
1401
|
-
},
|
|
1402
1426
|
{
|
|
1403
1427
|
"kind": "javascript-module",
|
|
1404
1428
|
"path": "src/calendar/Calendar.ts",
|
|
@@ -9331,7 +9355,14 @@
|
|
|
9331
9355
|
"name": "footer"
|
|
9332
9356
|
}
|
|
9333
9357
|
],
|
|
9334
|
-
"members": [
|
|
9358
|
+
"members": [
|
|
9359
|
+
{
|
|
9360
|
+
"kind": "field",
|
|
9361
|
+
"name": "headerSlot",
|
|
9362
|
+
"privacy": "private",
|
|
9363
|
+
"default": "new SlotController(this, \"header\")"
|
|
9364
|
+
}
|
|
9365
|
+
],
|
|
9335
9366
|
"superclass": {
|
|
9336
9367
|
"name": "LitElement",
|
|
9337
9368
|
"package": "lit"
|
|
@@ -12581,100 +12612,6 @@
|
|
|
12581
12612
|
}
|
|
12582
12613
|
]
|
|
12583
12614
|
},
|
|
12584
|
-
{
|
|
12585
|
-
"kind": "javascript-module",
|
|
12586
|
-
"path": "src/tab/Tab.ts",
|
|
12587
|
-
"declarations": [
|
|
12588
|
-
{
|
|
12589
|
-
"kind": "class",
|
|
12590
|
-
"description": "The interactive tab button for use within the tab group component.",
|
|
12591
|
-
"name": "Tab",
|
|
12592
|
-
"cssProperties": [
|
|
12593
|
-
{
|
|
12594
|
-
"description": "Controls the text color of the tab, using our [color tokens](/tokens/#color).",
|
|
12595
|
-
"name": "--n-tab-color",
|
|
12596
|
-
"default": "var(--n-color-text-weak)"
|
|
12597
|
-
},
|
|
12598
|
-
{
|
|
12599
|
-
"description": "Controls the font weight of the tab, using our [font tokens](/tokens/#font).",
|
|
12600
|
-
"name": "--n-tab-font-weight",
|
|
12601
|
-
"default": "var(--n-font-weight)"
|
|
12602
|
-
}
|
|
12603
|
-
],
|
|
12604
|
-
"slots": [
|
|
12605
|
-
{
|
|
12606
|
-
"description": "The tab button content.",
|
|
12607
|
-
"name": ""
|
|
12608
|
-
}
|
|
12609
|
-
],
|
|
12610
|
-
"members": [
|
|
12611
|
-
{
|
|
12612
|
-
"kind": "field",
|
|
12613
|
-
"name": "defaultSlot",
|
|
12614
|
-
"privacy": "private",
|
|
12615
|
-
"default": "new SlotController(this)"
|
|
12616
|
-
},
|
|
12617
|
-
{
|
|
12618
|
-
"kind": "field",
|
|
12619
|
-
"name": "selected",
|
|
12620
|
-
"type": {
|
|
12621
|
-
"text": "boolean"
|
|
12622
|
-
},
|
|
12623
|
-
"default": "false",
|
|
12624
|
-
"description": "Whether the tab item is selected",
|
|
12625
|
-
"attribute": "selected",
|
|
12626
|
-
"reflects": true
|
|
12627
|
-
},
|
|
12628
|
-
{
|
|
12629
|
-
"kind": "method",
|
|
12630
|
-
"name": "handleSelectionChange",
|
|
12631
|
-
"privacy": "protected",
|
|
12632
|
-
"description": "Apply accessible attributes and values to the tab button.\nObserve the selected property if it changes"
|
|
12633
|
-
}
|
|
12634
|
-
],
|
|
12635
|
-
"attributes": [
|
|
12636
|
-
{
|
|
12637
|
-
"name": "selected",
|
|
12638
|
-
"type": {
|
|
12639
|
-
"text": "boolean"
|
|
12640
|
-
},
|
|
12641
|
-
"default": "false",
|
|
12642
|
-
"description": "Whether the tab item is selected",
|
|
12643
|
-
"fieldName": "selected"
|
|
12644
|
-
}
|
|
12645
|
-
],
|
|
12646
|
-
"superclass": {
|
|
12647
|
-
"name": "LitElement",
|
|
12648
|
-
"package": "lit"
|
|
12649
|
-
},
|
|
12650
|
-
"localization": [],
|
|
12651
|
-
"status": "ready",
|
|
12652
|
-
"category": "navigation",
|
|
12653
|
-
"readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Use the tab component within the tab group component.\n- Use the `selected` option to signify if the tab is selected.\n- Use text, icons and other non-interactive content within the tab.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use tabs to navigate to other pages. Use navigation or links instead.\n- Don't use the tab component outside of the tab group component.\n- Don't add interactive elements, such as buttons and links, inside the tab component.\n\n</div>\n\n---\n\n## Content guidelines\n\nWhen writing tab labels, always write them in sentence case, not title case. The first word should be capitalized and the rest lowercase (unless a proper noun):\n\n<div class=\"n-usage n-usage-do\">My tasks</div>\n<div class=\"n-usage n-usage-dont\">My Tasks</div>\n\nAvoid unnecessary words and articles in tab labels, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Dashboard</div>\n<div class=\"n-usage n-usage-dont\">The dashboard</div>\n\nAvoid ending tab labels in punctuation:\n\n<div class=\"n-usage n-usage-do\">Patients</div>\n<div class=\"n-usage n-usage-dont\">Patients.</div>\n\nUse as few words as possible to describe each tab label:\n\n<div class=\"n-usage n-usage-do\">Payments</div>\n<div class=\"n-usage n-usage-dont\">Payments in your clinic</div>\n\nAvoid all caps for tab labels:\n\n<div class=\"n-usage n-usage-do\">Dashboard</div>\n<div class=\"n-usage n-usage-dont\">DASHBOARD</div>\n\n---\n\n## Additional considerations\n\n- If the content contained within the tabs UI has significance or is important for the user to see, consider using a different form of presentation that doesn't obscure it.\n- If there is a particular section you wish to show out of order of the tabs UI itself consider using the `selected` option to select the tab but prevent the order of the tabs being affected.\n",
|
|
12654
|
-
"examples": [],
|
|
12655
|
-
"tagName": "nord-tab",
|
|
12656
|
-
"customElement": true
|
|
12657
|
-
}
|
|
12658
|
-
],
|
|
12659
|
-
"exports": [
|
|
12660
|
-
{
|
|
12661
|
-
"kind": "js",
|
|
12662
|
-
"name": "default",
|
|
12663
|
-
"declaration": {
|
|
12664
|
-
"name": "Tab",
|
|
12665
|
-
"module": "src/tab/Tab.ts"
|
|
12666
|
-
}
|
|
12667
|
-
},
|
|
12668
|
-
{
|
|
12669
|
-
"kind": "custom-element-definition",
|
|
12670
|
-
"name": "nord-tab",
|
|
12671
|
-
"declaration": {
|
|
12672
|
-
"name": "Tab",
|
|
12673
|
-
"module": "src/tab/Tab.ts"
|
|
12674
|
-
}
|
|
12675
|
-
}
|
|
12676
|
-
]
|
|
12677
|
-
},
|
|
12678
12615
|
{
|
|
12679
12616
|
"kind": "javascript-module",
|
|
12680
12617
|
"path": "src/tab-group/TabGroup.ts",
|
|
@@ -12917,6 +12854,100 @@
|
|
|
12917
12854
|
}
|
|
12918
12855
|
]
|
|
12919
12856
|
},
|
|
12857
|
+
{
|
|
12858
|
+
"kind": "javascript-module",
|
|
12859
|
+
"path": "src/tab/Tab.ts",
|
|
12860
|
+
"declarations": [
|
|
12861
|
+
{
|
|
12862
|
+
"kind": "class",
|
|
12863
|
+
"description": "The interactive tab button for use within the tab group component.",
|
|
12864
|
+
"name": "Tab",
|
|
12865
|
+
"cssProperties": [
|
|
12866
|
+
{
|
|
12867
|
+
"description": "Controls the text color of the tab, using our [color tokens](/tokens/#color).",
|
|
12868
|
+
"name": "--n-tab-color",
|
|
12869
|
+
"default": "var(--n-color-text-weak)"
|
|
12870
|
+
},
|
|
12871
|
+
{
|
|
12872
|
+
"description": "Controls the font weight of the tab, using our [font tokens](/tokens/#font).",
|
|
12873
|
+
"name": "--n-tab-font-weight",
|
|
12874
|
+
"default": "var(--n-font-weight)"
|
|
12875
|
+
}
|
|
12876
|
+
],
|
|
12877
|
+
"slots": [
|
|
12878
|
+
{
|
|
12879
|
+
"description": "The tab button content.",
|
|
12880
|
+
"name": ""
|
|
12881
|
+
}
|
|
12882
|
+
],
|
|
12883
|
+
"members": [
|
|
12884
|
+
{
|
|
12885
|
+
"kind": "field",
|
|
12886
|
+
"name": "defaultSlot",
|
|
12887
|
+
"privacy": "private",
|
|
12888
|
+
"default": "new SlotController(this)"
|
|
12889
|
+
},
|
|
12890
|
+
{
|
|
12891
|
+
"kind": "field",
|
|
12892
|
+
"name": "selected",
|
|
12893
|
+
"type": {
|
|
12894
|
+
"text": "boolean"
|
|
12895
|
+
},
|
|
12896
|
+
"default": "false",
|
|
12897
|
+
"description": "Whether the tab item is selected",
|
|
12898
|
+
"attribute": "selected",
|
|
12899
|
+
"reflects": true
|
|
12900
|
+
},
|
|
12901
|
+
{
|
|
12902
|
+
"kind": "method",
|
|
12903
|
+
"name": "handleSelectionChange",
|
|
12904
|
+
"privacy": "protected",
|
|
12905
|
+
"description": "Apply accessible attributes and values to the tab button.\nObserve the selected property if it changes"
|
|
12906
|
+
}
|
|
12907
|
+
],
|
|
12908
|
+
"attributes": [
|
|
12909
|
+
{
|
|
12910
|
+
"name": "selected",
|
|
12911
|
+
"type": {
|
|
12912
|
+
"text": "boolean"
|
|
12913
|
+
},
|
|
12914
|
+
"default": "false",
|
|
12915
|
+
"description": "Whether the tab item is selected",
|
|
12916
|
+
"fieldName": "selected"
|
|
12917
|
+
}
|
|
12918
|
+
],
|
|
12919
|
+
"superclass": {
|
|
12920
|
+
"name": "LitElement",
|
|
12921
|
+
"package": "lit"
|
|
12922
|
+
},
|
|
12923
|
+
"localization": [],
|
|
12924
|
+
"status": "ready",
|
|
12925
|
+
"category": "navigation",
|
|
12926
|
+
"readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Use the tab component within the tab group component.\n- Use the `selected` option to signify if the tab is selected.\n- Use text, icons and other non-interactive content within the tab.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use tabs to navigate to other pages. Use navigation or links instead.\n- Don't use the tab component outside of the tab group component.\n- Don't add interactive elements, such as buttons and links, inside the tab component.\n\n</div>\n\n---\n\n## Content guidelines\n\nWhen writing tab labels, always write them in sentence case, not title case. The first word should be capitalized and the rest lowercase (unless a proper noun):\n\n<div class=\"n-usage n-usage-do\">My tasks</div>\n<div class=\"n-usage n-usage-dont\">My Tasks</div>\n\nAvoid unnecessary words and articles in tab labels, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Dashboard</div>\n<div class=\"n-usage n-usage-dont\">The dashboard</div>\n\nAvoid ending tab labels in punctuation:\n\n<div class=\"n-usage n-usage-do\">Patients</div>\n<div class=\"n-usage n-usage-dont\">Patients.</div>\n\nUse as few words as possible to describe each tab label:\n\n<div class=\"n-usage n-usage-do\">Payments</div>\n<div class=\"n-usage n-usage-dont\">Payments in your clinic</div>\n\nAvoid all caps for tab labels:\n\n<div class=\"n-usage n-usage-do\">Dashboard</div>\n<div class=\"n-usage n-usage-dont\">DASHBOARD</div>\n\n---\n\n## Additional considerations\n\n- If the content contained within the tabs UI has significance or is important for the user to see, consider using a different form of presentation that doesn't obscure it.\n- If there is a particular section you wish to show out of order of the tabs UI itself consider using the `selected` option to select the tab but prevent the order of the tabs being affected.\n",
|
|
12927
|
+
"examples": [],
|
|
12928
|
+
"tagName": "nord-tab",
|
|
12929
|
+
"customElement": true
|
|
12930
|
+
}
|
|
12931
|
+
],
|
|
12932
|
+
"exports": [
|
|
12933
|
+
{
|
|
12934
|
+
"kind": "js",
|
|
12935
|
+
"name": "default",
|
|
12936
|
+
"declaration": {
|
|
12937
|
+
"name": "Tab",
|
|
12938
|
+
"module": "src/tab/Tab.ts"
|
|
12939
|
+
}
|
|
12940
|
+
},
|
|
12941
|
+
{
|
|
12942
|
+
"kind": "custom-element-definition",
|
|
12943
|
+
"name": "nord-tab",
|
|
12944
|
+
"declaration": {
|
|
12945
|
+
"name": "Tab",
|
|
12946
|
+
"module": "src/tab/Tab.ts"
|
|
12947
|
+
}
|
|
12948
|
+
}
|
|
12949
|
+
]
|
|
12950
|
+
},
|
|
12920
12951
|
{
|
|
12921
12952
|
"kind": "javascript-module",
|
|
12922
12953
|
"path": "src/tab-panel/TabPanel.ts",
|
package/lib/Avatar.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{i as a,_ as r,s as t,y as e,b as
|
|
1
|
+
import{i as a,_ as r,s as t,y as e,b as i,e as o}from"./query-assigned-elements-cf502539.js";import{e as n}from"./property-03f59dce.js";import{t as s}from"./state-70f38ceb.js";import{s as l}from"./Component-449e40fb.js";import{f as c}from"./fsm-50373df9.js";import{o as v}from"./observe-a9c6dfb6.js";import"./VisuallyHidden.js";import"./Icon.js";import"./if-defined-720964c0.js";import"./directive-de55b00a.js";import"./cond-2da54107.js";import"./IconManager.js";const d=a`:host{--_n-avatar-color:var(--n-avatar-color, var(--n-color-text-weaker));--_n-avatar-size:var(--n-avatar-size, var(--n-size-icon-l));--_n-avatar-border-radius:var(--n-border-radius-circle);--_n-avatar-font-size:var(--n-font-size-xs);--_n-avatar-box-shadow:none;--_n-avatar-text-color:var(--n-color-text-on-accent);display:inline-flex;block-size:var(--_n-avatar-size);inline-size:var(--_n-avatar-size)}:host(:empty) .n-avatar-inner,:host(:not(:empty)) svg{display:none}:host(:empty){--_n-avatar-color:var(--n-avatar-color, var(--n-color-border))}.n-avatar{background:var(--_n-avatar-color);border-radius:var(--_n-avatar-border-radius);box-shadow:var(--_n-avatar-box-shadow);overflow:hidden;inline-size:100%;block-size:100%;display:grid;place-items:center;color:var(--_n-avatar-text-color);font-size:var(--_n-avatar-font-size);font-weight:var(--n-font-weight-active)}img,svg{inline-size:100%;block-size:auto;object-fit:cover}nord-icon{--_n-icon-size:calc(var(--_n-avatar-size) / 1.6)}.n-loading{display:none}:host([size="s"]){--_n-avatar-size:var(--n-avatar-size, calc(var(--n-size-icon-xs) * 2));--_n-avatar-font-size:calc(var(--n-font-size-xs) / 1.1)}:host([size="l"]){--_n-avatar-size:var(--n-avatar-size, var(--n-size-icon-xl));--_n-avatar-font-size:var(--n-font-size-m)}:host([size=xl]){--_n-avatar-size:var(--n-avatar-size, calc(var(--n-size-icon-xl) + var(--n-size-icon-s)));--_n-avatar-font-size:var(--n-font-size-xl)}:host([size=xxl]){--_n-avatar-size:var(--n-avatar-size, var(--n-size-icon-xxl));--_n-avatar-font-size:var(--n-font-size-xxl)}:host([size=xxxl]){--_n-avatar-size:var(--n-avatar-size, calc(var(--n-size-icon-xxl) + var(--n-size-icon-xl)));--_n-avatar-font-size:var(--n-font-size-xxxl)}:host([variant=square]){--_n-avatar-color:var(--n-avatar-color, var(--n-color-accent));--_n-avatar-border-radius:var(--n-border-radius);--_n-avatar-box-shadow:var(--n-box-shadow)}:host([icon]){--_n-avatar-color:var(--n-avatar-color, var(--n-color-status-neutral-weak));--_n-avatar-text-color:var(--n-color-text)}`,{transition:h}=c({initial:{"src-set":"loading"},loading:{load:"loaded",error:"initial","src-clear":"initial"},loaded:{"src-set":"loading","src-clear":"initial"}});let z=class extends t{constructor(){super(...arguments),this.state="initial",this.size="m",this.name="",this.icon="",this.variant="default"}render(){return e`<div class="n-avatar">${"initial"!==this.state?this.renderImage():i} ${"loaded"!==this.state?this.renderFallback():i}</div>`}handleSrcChange(){const a=this.src?"src-set":"src-clear";this.state=h(this.state,a)}renderImage(){return this.src?e`<slot hidden></slot><img class="n-${this.state}" src="${this.src}" @load="${this.handleLoad}" @error="${this.handleError}" alt="${this.name||""}">`:i}renderFallback(){return e`<nord-visually-hidden>${this.name}</nord-visually-hidden><div class="n-avatar-inner" aria-hidden="true"><slot></slot></div>${this.icon?e`<nord-icon name="${this.icon}"></nord-icon>`:e`<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 27 27"><rect fill="var(--_n-avatar-color)" height="27" rx="12" width="27" x="0" y="0"></rect><g fill="#fff" opacity=".7"><circle cx="13.5" cy="30" r="13"></circle><circle cx="13.5" cy="11" r="5"></circle></g></svg>`}`}handleLoad(){this.state=h(this.state,"load")}handleError(){this.state=h(this.state,"error")}};z.styles=[l,d],r([s()],z.prototype,"state",void 0),r([n({reflect:!0})],z.prototype,"size",void 0),r([n({reflect:!0})],z.prototype,"src",void 0),r([n()],z.prototype,"name",void 0),r([n()],z.prototype,"icon",void 0),r([n({reflect:!0})],z.prototype,"variant",void 0),r([v("src")],z.prototype,"handleSrcChange",null),z=r([o("nord-avatar")],z);var f=z;export{f as default};
|
|
2
2
|
//# sourceMappingURL=Avatar.js.map
|
package/lib/Avatar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.js","sources":["../src/avatar/Avatar.ts"],"sourcesContent":["import { LitElement, html, nothing } from \"lit\"\nimport { customElement, property, state } from \"lit/decorators.js\"\n\nimport componentStyle from \"../common/styles/Component.css\"\nimport style from \"./Avatar.css\"\nimport { fsm, States } from \"../common/fsm.js\"\nimport { observe } from \"../common/decorators/observe.js\"\nimport \"../visually-hidden/VisuallyHidden.js\"\n\nconst { transition } = fsm({\n initial: {\n \"src-set\": \"loading\",\n },\n loading: {\n load: \"loaded\",\n error: \"initial\",\n \"src-clear\": \"initial\",\n },\n loaded: {\n \"src-set\": \"loading\",\n \"src-clear\": \"initial\",\n },\n})\n\n/**\n * Avatar is used for showing a thumbnail representation of a user or entity.\n * Default avatar illustration is displayed when no src is specified.\n *\n * @status ready\n * @category image\n *\n * @cssprop [--n-avatar-color=var(--n-color-status-highlight)] - Controls the color of the avatar fallback, using [color tokens](/tokens/#color).\n * @cssprop [--n-avatar-size=var(--n-size-icon-l)] - Controls the size of the avatar, using [icon sizing tokens](/tokens/#size).\n */\n\n@customElement(\"nord-avatar\")\nexport default class Avatar extends LitElement {\n static styles = [componentStyle, style]\n\n @state() private state: States<typeof transition> = \"initial\"\n\n /**\n * The size of the avatar.\n */\n @property({ reflect: true }) size: \"s\" | \"m\" | \"l\" | \"xl\" | \"xxl\" = \"m\"\n\n /**\n * The URL of the avatar image uploaded by the user.\n */\n @property({ reflect: true }) src?: string\n\n /**\n * The name of the person.\n */\n @property() name: string = \"\"\n\n /**\n * The style variant of the avatar.\n */\n @property({ reflect: true }) variant: \"default\" | \"square\" = \"default\"\n\n render() {\n return html`\n <div class=\"n-avatar\">\n ${this.state !== \"initial\" ? this.renderImage() : nothing}\n ${this.state !== \"loaded\" ? this.renderFallback() : nothing}\n </div>\n `\n }\n\n @observe(\"src\")\n protected handleSrcChange() {\n const event = this.src ? \"src-set\" : \"src-clear\"\n this.state = transition(this.state, event)\n }\n\n protected renderImage() {\n return this.src\n ? html`\n <slot hidden></slot>\n <img\n class=\"n-${this.state}\"\n src=${this.src}\n @load=${this.handleLoad}\n @error=${this.handleError}\n alt=${this.name || \"\"}\n />\n `\n : nothing\n }\n\n protected renderFallback() {\n return html`\n <nord-visually-hidden>${this.name}</nord-visually-hidden>\n <div class=\"n-avatar-inner\" aria-hidden=\"true\">\n <slot></slot>\n </div>\n <svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 27 27\">\n
|
|
1
|
+
{"version":3,"file":"Avatar.js","sources":["../src/avatar/Avatar.ts"],"sourcesContent":["import { LitElement, html, nothing } from \"lit\"\nimport { customElement, property, state } from \"lit/decorators.js\"\n\nimport componentStyle from \"../common/styles/Component.css\"\nimport style from \"./Avatar.css\"\nimport { fsm, States } from \"../common/fsm.js\"\nimport { observe } from \"../common/decorators/observe.js\"\nimport \"../visually-hidden/VisuallyHidden.js\"\nimport \"../icon/Icon.js\"\n\nconst { transition } = fsm({\n initial: {\n \"src-set\": \"loading\",\n },\n loading: {\n load: \"loaded\",\n error: \"initial\",\n \"src-clear\": \"initial\",\n },\n loaded: {\n \"src-set\": \"loading\",\n \"src-clear\": \"initial\",\n },\n})\n\n/**\n * Avatar is used for showing a thumbnail representation of a single user or entity.\n * Default avatar illustration is displayed when no src is specified.\n *\n * @status ready\n * @category image\n *\n * @cssprop [--n-avatar-color=var(--n-color-status-highlight)] - Controls the color of the avatar fallback, using [color tokens](/tokens/#color).\n * @cssprop [--n-avatar-size=var(--n-size-icon-l)] - Controls the size of the avatar, using [icon sizing tokens](/tokens/#size).\n */\n\n@customElement(\"nord-avatar\")\nexport default class Avatar extends LitElement {\n static styles = [componentStyle, style]\n\n @state() private state: States<typeof transition> = \"initial\"\n\n /**\n * The size of the avatar.\n */\n @property({ reflect: true }) size: \"s\" | \"m\" | \"l\" | \"xl\" | \"xxl\" | \"xxxl\" = \"m\"\n\n /**\n * The URL of the avatar image uploaded by the user.\n */\n @property({ reflect: true }) src?: string\n\n /**\n * The name of the person or entity.\n */\n @property() name: string = \"\"\n\n /**\n * The fallback icon.\n */\n @property() icon: string = \"\"\n\n /**\n * The style variant of the avatar.\n */\n @property({ reflect: true }) variant: \"default\" | \"square\" = \"default\"\n\n render() {\n return html`\n <div class=\"n-avatar\">\n ${this.state !== \"initial\" ? this.renderImage() : nothing}\n ${this.state !== \"loaded\" ? this.renderFallback() : nothing}\n </div>\n `\n }\n\n @observe(\"src\")\n protected handleSrcChange() {\n const event = this.src ? \"src-set\" : \"src-clear\"\n this.state = transition(this.state, event)\n }\n\n protected renderImage() {\n return this.src\n ? html`\n <slot hidden></slot>\n <img\n class=\"n-${this.state}\"\n src=${this.src}\n @load=${this.handleLoad}\n @error=${this.handleError}\n alt=${this.name || \"\"}\n />\n `\n : nothing\n }\n\n protected renderFallback() {\n return html`\n <nord-visually-hidden>${this.name}</nord-visually-hidden>\n <div class=\"n-avatar-inner\" aria-hidden=\"true\">\n <slot></slot>\n </div>\n ${this.icon\n ? html`<nord-icon name=\"${this.icon}\"></nord-icon>`\n : html`\n <svg aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 27 27\">\n <rect fill=\"var(--_n-avatar-color)\" height=\"27\" rx=\"12\" width=\"27\" x=\"0\" y=\"0\"></rect>\n <g fill=\"#fff\" opacity=\".7\">\n <circle cx=\"13.5\" cy=\"30\" r=\"13\"></circle>\n <circle cx=\"13.5\" cy=\"11\" r=\"5\"></circle>\n </g>\n </svg>\n `}\n `\n }\n\n private handleLoad() {\n this.state = transition(this.state, \"load\")\n }\n\n private handleError() {\n this.state = transition(this.state, \"error\")\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"nord-avatar\": Avatar\n }\n}\n"],"names":["transition","fsm","initial","loading","load","error","loaded","Avatar","LitElement","constructor","this","state","size","name","icon","variant","render","html","renderImage","nothing","renderFallback","handleSrcChange","event","src","handleLoad","handleError","styles","componentStyle","style","__decorate","prototype","property","reflect","observe","customElement"],"mappings":"+7EAUMA,WAAEA,GAAeC,EAAI,CACzBC,QAAS,CACP,UAAW,WAEbC,QAAS,CACPC,KAAM,SACNC,MAAO,UACP,YAAa,WAEfC,OAAQ,CACN,UAAW,UACX,YAAa,aAgBjB,IAAqBC,EAArB,cAAoCC,EAApCC,kCAGmBC,KAAKC,MAA8B,UAKvBD,KAAIE,KAA4C,IAUjEF,KAAIG,KAAW,GAKfH,KAAII,KAAW,GAKEJ,KAAOK,QAAyB,SA2D9D,CAzDCC,SACE,OAAOC,CAAI,yBAEU,YAAfP,KAAKC,MAAsBD,KAAKQ,cAAgBC,KACjC,WAAfT,KAAKC,MAAqBD,KAAKU,iBAAmBD,SAGzD,CAGSE,kBACR,MAAMC,EAAQZ,KAAKa,IAAM,UAAY,YACrCb,KAAKC,MAAQX,EAAWU,KAAKC,MAAOW,EACrC,CAESJ,cACR,OAAOR,KAAKa,IACRN,CAAI,qCAGWP,KAAKC,eACVD,KAAKa,eACHb,KAAKc,uBACJd,KAAKe,qBACRf,KAAKG,MAAQ,OAGvBM,CACL,CAESC,iBACR,OAAOH,CAAI,yBACeP,KAAKG,gGAI3BH,KAAKI,KACHG,CAAI,oBAAoBP,KAAKI,qBAC7BG,CAAI,kSAUX,CAEOO,aACNd,KAAKC,MAAQX,EAAWU,KAAKC,MAAO,OACrC,CAEOc,cACNf,KAAKC,MAAQX,EAAWU,KAAKC,MAAO,QACrC,GArFMJ,EAAAmB,OAAS,CAACC,EAAgBC,GAExBC,EAAA,CAARlB,KAA4DJ,EAAAuB,UAAA,aAAA,GAKhCD,EAAA,CAA5BE,EAAS,CAAEC,SAAS,KAA2DzB,EAAAuB,UAAA,YAAA,GAKnDD,EAAA,CAA5BE,EAAS,CAAEC,SAAS,KAAoBzB,EAAAuB,UAAA,WAAA,GAK7BD,EAAA,CAAXE,KAA4BxB,EAAAuB,UAAA,YAAA,GAKjBD,EAAA,CAAXE,KAA4BxB,EAAAuB,UAAA,YAAA,GAKAD,EAAA,CAA5BE,EAAS,CAAEC,SAAS,KAAiDzB,EAAAuB,UAAA,eAAA,GAYtED,EAAA,CADCI,EAAQ,QAIR1B,EAAAuB,UAAA,kBAAA,MA3CkBvB,EAAMsB,EAAA,CAD1BK,EAAc,gBACM3B,SAAAA"}
|