@nordhealth/components 1.7.0 → 1.8.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.
@@ -337,6 +337,139 @@
337
337
  }
338
338
  ]
339
339
  },
340
+ {
341
+ "kind": "javascript-module",
342
+ "path": "src/avatar/Avatar.ts",
343
+ "declarations": [
344
+ {
345
+ "kind": "class",
346
+ "description": "Avatar is used for showing a thumbnail representation of a user or entity.\nDefault avatar illustration is displayed when no src is specified.",
347
+ "name": "Avatar",
348
+ "members": [
349
+ {
350
+ "kind": "field",
351
+ "name": "state",
352
+ "type": {
353
+ "text": "States<typeof transition>"
354
+ },
355
+ "privacy": "private",
356
+ "default": "\"initial\""
357
+ },
358
+ {
359
+ "kind": "field",
360
+ "name": "size",
361
+ "type": {
362
+ "text": "\"m\" | \"l\" | \"xl\" | \"xxl\""
363
+ },
364
+ "default": "\"m\"",
365
+ "description": "The size of the avatar.",
366
+ "attribute": "size",
367
+ "reflects": true
368
+ },
369
+ {
370
+ "kind": "field",
371
+ "name": "src",
372
+ "type": {
373
+ "text": "string | undefined"
374
+ },
375
+ "description": "The URL of the avatar image uploaded by the user.",
376
+ "attribute": "src",
377
+ "reflects": true
378
+ },
379
+ {
380
+ "kind": "field",
381
+ "name": "name",
382
+ "type": {
383
+ "text": "string"
384
+ },
385
+ "default": "\"\"",
386
+ "description": "The name of the person.",
387
+ "attribute": "name"
388
+ },
389
+ {
390
+ "kind": "method",
391
+ "name": "handleSrcChange",
392
+ "privacy": "protected"
393
+ },
394
+ {
395
+ "kind": "method",
396
+ "name": "renderImage",
397
+ "privacy": "protected"
398
+ },
399
+ {
400
+ "kind": "method",
401
+ "name": "renderFallback",
402
+ "privacy": "protected"
403
+ },
404
+ {
405
+ "kind": "method",
406
+ "name": "handleLoad",
407
+ "privacy": "private"
408
+ },
409
+ {
410
+ "kind": "method",
411
+ "name": "handleError",
412
+ "privacy": "private"
413
+ }
414
+ ],
415
+ "attributes": [
416
+ {
417
+ "name": "size",
418
+ "type": {
419
+ "text": "\"m\" | \"l\" | \"xl\" | \"xxl\""
420
+ },
421
+ "default": "\"m\"",
422
+ "description": "The size of the avatar.",
423
+ "fieldName": "size"
424
+ },
425
+ {
426
+ "name": "src",
427
+ "type": {
428
+ "text": "string | undefined"
429
+ },
430
+ "description": "The URL of the avatar image uploaded by the user.",
431
+ "fieldName": "src"
432
+ },
433
+ {
434
+ "name": "name",
435
+ "type": {
436
+ "text": "string"
437
+ },
438
+ "default": "\"\"",
439
+ "description": "The name of the person.",
440
+ "fieldName": "name"
441
+ }
442
+ ],
443
+ "superclass": {
444
+ "name": "LitElement",
445
+ "package": "lit"
446
+ },
447
+ "status": "ready",
448
+ "category": "image",
449
+ "tagName": "nord-avatar",
450
+ "customElement": true
451
+ }
452
+ ],
453
+ "exports": [
454
+ {
455
+ "kind": "js",
456
+ "name": "default",
457
+ "declaration": {
458
+ "name": "Avatar",
459
+ "module": "src/avatar/Avatar.ts"
460
+ }
461
+ },
462
+ {
463
+ "kind": "custom-element-definition",
464
+ "name": "nord-avatar",
465
+ "declaration": {
466
+ "name": "Avatar",
467
+ "module": "src/avatar/Avatar.ts"
468
+ }
469
+ }
470
+ ],
471
+ "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"
472
+ },
340
473
  {
341
474
  "kind": "javascript-module",
342
475
  "path": "src/button/Button.ts",
@@ -845,358 +978,69 @@
845
978
  },
846
979
  {
847
980
  "kind": "javascript-module",
848
- "path": "src/badge/Badge.ts",
981
+ "path": "src/calendar/Calendar.ts",
849
982
  "declarations": [
850
983
  {
851
984
  "kind": "class",
852
- "description": "Badges are used to inform users of the status of an object or of an action that’s been taken. Commonly used in tabular data to indicate status.",
853
- "name": "Badge",
854
- "slots": [
855
- {
856
- "description": "The badge content.",
857
- "name": ""
858
- }
859
- ],
985
+ "description": "Calendar allows user to pick a date. It comes with built-in\nfunctionality that allows you to set a minimum and a maximum allowed date.\nPlease note that the date must be passed in ISO-8601 format.",
986
+ "name": "Calendar",
860
987
  "members": [
861
988
  {
862
989
  "kind": "field",
863
- "name": "type",
990
+ "name": "dialogLabelId",
864
991
  "type": {
865
- "text": "\"warning\" | \"success\" | \"danger\" | \"highlight\" | \"info\" | undefined"
992
+ "text": "string"
866
993
  },
867
- "default": "\"info\"",
868
- "description": "The type of badge.\nDetermines the color of the chip shown on the badge.",
869
- "attribute": "type",
870
- "reflects": true
871
- }
872
- ],
873
- "attributes": [
994
+ "privacy": "private",
995
+ "default": "\"dialog-header\""
996
+ },
874
997
  {
875
- "name": "type",
998
+ "kind": "field",
999
+ "name": "monthSelectNode",
876
1000
  "type": {
877
- "text": "\"warning\" | \"success\" | \"danger\" | \"highlight\" | \"info\" | undefined"
1001
+ "text": "HTMLElement"
878
1002
  },
879
- "default": "\"info\"",
880
- "description": "The type of badge.\nDetermines the color of the chip shown on the badge.",
881
- "fieldName": "type"
882
- }
883
- ],
884
- "superclass": {
885
- "name": "LitElement",
886
- "package": "lit"
887
- },
888
- "status": "ready",
889
- "category": "text",
890
- "tagName": "nord-badge",
891
- "customElement": true
892
- }
893
- ],
894
- "exports": [
895
- {
896
- "kind": "js",
897
- "name": "default",
898
- "declaration": {
899
- "name": "Badge",
900
- "module": "src/badge/Badge.ts"
901
- }
902
- },
903
- {
904
- "kind": "custom-element-definition",
905
- "name": "nord-badge",
906
- "declaration": {
907
- "name": "Badge",
908
- "module": "src/badge/Badge.ts"
909
- }
910
- }
911
- ],
912
- "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 show a status update on a piece of information or action.\n- Use to mark something as a “draft” or “new”.\n- Use when you want to highlight something that has been added recently.\n- Use established color patterns so that users can clearly identify the importance level.\n- Always position badge so that it’s clear to understand what object it’s related to.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t make badges clickable. Instead use button component’s small variant.\n- Don’t use alternatives to existing badge variants.\n\n</div>\n\n---\n\n## Content guidelines\n\nBadge labels should use a single word to describe the status of an object. Only use two words if you need to describe a complex state:\n\n<div class=\"n-usage n-usage-do\">Complete</div>\n<div class=\"n-usage n-usage-dont\">Action completed</div>\n\nWhen writing badge 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\">Partially refunded</div>\n<div class=\"n-usage n-usage-dont\">Partially Refunded</div>\n\nAvoid unnecessary words and articles in badge labels, such as “is”, “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Pending</div>\n<div class=\"n-usage n-usage-dont\">Item is pending</div>\n\nAlways describe the status in the past tense:\n\n<div class=\"n-usage n-usage-do\">Refunded</div>\n<div class=\"n-usage n-usage-dont\">Refund</div>\n\n---\n\n## Variants\n\nThis section describes the different component variants, their purpose, and when to use each variant.\n\n| Name | Purpose |\n| ----------- | --------------------------------------------------------------------------------------------------------------------------------------- |\n| `info` | The default variant. Used to convey general information that isn’t critical. |\n| `success` | Used to convey success states. For example, you might want to show a badge that tells the user a payment was successful. |\n| `highlight` | Used to highlight specific items in the interface, like notifications. |\n| `danger` | Used to communicate problems that have to be resolved so that user can continue forward. Should always be used for highlighting errors. |\n| `warning` | Used to display information that needs a user’s attention attention and may require further steps. |\n"
913
- },
914
- {
915
- "kind": "javascript-module",
916
- "path": "src/avatar/Avatar.ts",
917
- "declarations": [
918
- {
919
- "kind": "class",
920
- "description": "Avatar is used for showing a thumbnail representation of a user or entity.\nDefault avatar illustration is displayed when no src is specified.",
921
- "name": "Avatar",
922
- "members": [
1003
+ "privacy": "private"
1004
+ },
923
1005
  {
924
1006
  "kind": "field",
925
- "name": "state",
1007
+ "name": "focusedDayNode",
926
1008
  "type": {
927
- "text": "States<typeof transition>"
1009
+ "text": "HTMLButtonElement"
928
1010
  },
1011
+ "privacy": "private"
1012
+ },
1013
+ {
1014
+ "kind": "field",
1015
+ "name": "direction",
929
1016
  "privacy": "private",
930
- "default": "\"initial\""
1017
+ "default": "new DirectionController(this)"
931
1018
  },
932
1019
  {
933
1020
  "kind": "field",
934
- "name": "size",
935
- "type": {
936
- "text": "\"m\" | \"l\" | \"xl\" | \"xxl\""
937
- },
938
- "default": "\"m\"",
939
- "description": "The size of the avatar.",
940
- "attribute": "size",
941
- "reflects": true
1021
+ "name": "swipe",
1022
+ "privacy": "private",
1023
+ "default": "new SwipeController(this, {\n matchesGesture: isHorizontalSwipe,\n onSwipeEnd: ({ distX }) => this.addMonths(distX < 0 ? 1 : -1),\n })"
942
1024
  },
943
1025
  {
944
1026
  "kind": "field",
945
- "name": "src",
946
- "type": {
947
- "text": "string | undefined"
948
- },
949
- "description": "The URL of the avatar image uploaded by the user.",
950
- "attribute": "src",
951
- "reflects": true
1027
+ "name": "shortcuts",
1028
+ "privacy": "private"
952
1029
  },
953
1030
  {
954
1031
  "kind": "field",
955
- "name": "name",
1032
+ "name": "localize",
1033
+ "privacy": "private",
1034
+ "default": "new LocalizeController<\"nord-calendar\">(this, {\n onLangChange: () => this.handleLangChange(),\n })"
1035
+ },
1036
+ {
1037
+ "kind": "field",
1038
+ "name": "dateFormatShort",
956
1039
  "type": {
957
- "text": "string"
1040
+ "text": "Intl.DateTimeFormat"
958
1041
  },
959
- "default": "\"\"",
960
- "description": "The name of the person.",
961
- "attribute": "name"
962
- },
963
- {
964
- "kind": "method",
965
- "name": "handleSrcChange",
966
- "privacy": "protected"
967
- },
968
- {
969
- "kind": "method",
970
- "name": "renderImage",
971
- "privacy": "protected"
972
- },
973
- {
974
- "kind": "method",
975
- "name": "renderFallback",
976
- "privacy": "protected"
977
- },
978
- {
979
- "kind": "method",
980
- "name": "handleLoad",
981
- "privacy": "private"
982
- },
983
- {
984
- "kind": "method",
985
- "name": "handleError",
986
- "privacy": "private"
987
- }
988
- ],
989
- "attributes": [
990
- {
991
- "name": "size",
992
- "type": {
993
- "text": "\"m\" | \"l\" | \"xl\" | \"xxl\""
994
- },
995
- "default": "\"m\"",
996
- "description": "The size of the avatar.",
997
- "fieldName": "size"
998
- },
999
- {
1000
- "name": "src",
1001
- "type": {
1002
- "text": "string | undefined"
1003
- },
1004
- "description": "The URL of the avatar image uploaded by the user.",
1005
- "fieldName": "src"
1006
- },
1007
- {
1008
- "name": "name",
1009
- "type": {
1010
- "text": "string"
1011
- },
1012
- "default": "\"\"",
1013
- "description": "The name of the person.",
1014
- "fieldName": "name"
1015
- }
1016
- ],
1017
- "superclass": {
1018
- "name": "LitElement",
1019
- "package": "lit"
1020
- },
1021
- "status": "ready",
1022
- "category": "image",
1023
- "tagName": "nord-avatar",
1024
- "customElement": true
1025
- }
1026
- ],
1027
- "exports": [
1028
- {
1029
- "kind": "js",
1030
- "name": "default",
1031
- "declaration": {
1032
- "name": "Avatar",
1033
- "module": "src/avatar/Avatar.ts"
1034
- }
1035
- },
1036
- {
1037
- "kind": "custom-element-definition",
1038
- "name": "nord-avatar",
1039
- "declaration": {
1040
- "name": "Avatar",
1041
- "module": "src/avatar/Avatar.ts"
1042
- }
1043
- }
1044
- ],
1045
- "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"
1046
- },
1047
- {
1048
- "kind": "javascript-module",
1049
- "path": "src/card/Card.ts",
1050
- "declarations": [
1051
- {
1052
- "kind": "class",
1053
- "description": "Cards are shadowed surfaces that display content and actions on a\nsingle topic. They should be easy to scan for relevant and\nactionable information.",
1054
- "name": "Card",
1055
- "slots": [
1056
- {
1057
- "description": "The card content.",
1058
- "name": ""
1059
- },
1060
- {
1061
- "description": "Optional slot that holds a header for the card.",
1062
- "name": "header"
1063
- },
1064
- {
1065
- "description": "Optional slot that holds footer content for the card.",
1066
- "name": "footer"
1067
- }
1068
- ],
1069
- "members": [
1070
- {
1071
- "kind": "field",
1072
- "name": "headerSlot",
1073
- "privacy": "private",
1074
- "default": "new SlotController(this, \"header\")"
1075
- },
1076
- {
1077
- "kind": "field",
1078
- "name": "footerSlot",
1079
- "privacy": "private",
1080
- "default": "new SlotController(this, \"footer\")"
1081
- },
1082
- {
1083
- "kind": "field",
1084
- "name": "padding",
1085
- "type": {
1086
- "text": "\"m\" | \"l\" | \"none\""
1087
- },
1088
- "default": "\"m\"",
1089
- "description": "Controls the padding of the card component. When set to “none”,\nthe header and footer slots will still have padding.",
1090
- "attribute": "padding",
1091
- "reflects": true
1092
- }
1093
- ],
1094
- "attributes": [
1095
- {
1096
- "name": "padding",
1097
- "type": {
1098
- "text": "\"m\" | \"l\" | \"none\""
1099
- },
1100
- "default": "\"m\"",
1101
- "description": "Controls the padding of the card component. When set to “none”,\nthe header and footer slots will still have padding.",
1102
- "fieldName": "padding"
1103
- }
1104
- ],
1105
- "superclass": {
1106
- "name": "LitElement",
1107
- "package": "lit"
1108
- },
1109
- "status": "ready",
1110
- "category": "structure",
1111
- "tagName": "nord-card",
1112
- "customElement": true
1113
- }
1114
- ],
1115
- "exports": [
1116
- {
1117
- "kind": "js",
1118
- "name": "default",
1119
- "declaration": {
1120
- "name": "Card",
1121
- "module": "src/card/Card.ts"
1122
- }
1123
- },
1124
- {
1125
- "kind": "custom-element-definition",
1126
- "name": "nord-card",
1127
- "declaration": {
1128
- "name": "Card",
1129
- "module": "src/card/Card.ts"
1130
- }
1131
- }
1132
- ],
1133
- "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 display content and actions on a single topic inside a container.\n- Use to visually separate specific parts of content in an application view.\n- Use to wrap a form into a container, for example a login form.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use when you need to capture user’s attention in a prominent way.\n- Don’t use to inform user about important changes or conditions in the interface.\n- Don’t use multiple primary buttons inside a card. A card should only contain a single primary action.\n\n</div>\n"
1134
- },
1135
- {
1136
- "kind": "javascript-module",
1137
- "path": "src/calendar/Calendar.ts",
1138
- "declarations": [
1139
- {
1140
- "kind": "class",
1141
- "description": "Calendar allows user to pick a date. It comes with built-in\nfunctionality that allows you to set a minimum and a maximum allowed date.\nPlease note that the date must be passed in ISO-8601 format.",
1142
- "name": "Calendar",
1143
- "members": [
1144
- {
1145
- "kind": "field",
1146
- "name": "dialogLabelId",
1147
- "type": {
1148
- "text": "string"
1149
- },
1150
- "privacy": "private",
1151
- "default": "\"dialog-header\""
1152
- },
1153
- {
1154
- "kind": "field",
1155
- "name": "monthSelectNode",
1156
- "type": {
1157
- "text": "HTMLElement"
1158
- },
1159
- "privacy": "private"
1160
- },
1161
- {
1162
- "kind": "field",
1163
- "name": "focusedDayNode",
1164
- "type": {
1165
- "text": "HTMLButtonElement"
1166
- },
1167
- "privacy": "private"
1168
- },
1169
- {
1170
- "kind": "field",
1171
- "name": "direction",
1172
- "privacy": "private",
1173
- "default": "new DirectionController(this)"
1174
- },
1175
- {
1176
- "kind": "field",
1177
- "name": "swipe",
1178
- "privacy": "private",
1179
- "default": "new SwipeController(this, {\n matchesGesture: isHorizontalSwipe,\n onSwipeEnd: ({ distX }) => this.addMonths(distX < 0 ? 1 : -1),\n })"
1180
- },
1181
- {
1182
- "kind": "field",
1183
- "name": "shortcuts",
1184
- "privacy": "private"
1185
- },
1186
- {
1187
- "kind": "field",
1188
- "name": "localize",
1189
- "privacy": "private",
1190
- "default": "new LocalizeController<\"nord-calendar\">(this, {\n onLangChange: () => this.handleLangChange(),\n })"
1191
- },
1192
- {
1193
- "kind": "field",
1194
- "name": "dateFormatShort",
1195
- "type": {
1196
- "text": "Intl.DateTimeFormat"
1197
- },
1198
- "privacy": "private",
1199
- "description": "Whilst dateAdapter is used for handling the formatting/parsing dates in the input,\nthese are used to format dates exclusively for the benefit of screen readers.\n\nWe prefer DateTimeFormat over date.toLocaleDateString, as the former has\nbetter performance when formatting large number of dates. See:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString#Performance"
1042
+ "privacy": "private",
1043
+ "description": "Whilst dateAdapter is used for handling the formatting/parsing dates in the input,\nthese are used to format dates exclusively for the benefit of screen readers.\n\nWe prefer DateTimeFormat over date.toLocaleDateString, as the former has\nbetter performance when formatting large number of dates. See:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString#Performance"
1200
1044
  },
1201
1045
  {
1202
1046
  "kind": "field",
@@ -1652,24 +1496,180 @@
1652
1496
  },
1653
1497
  {
1654
1498
  "kind": "javascript-module",
1655
- "path": "src/checkbox/Checkbox.ts",
1499
+ "path": "src/card/Card.ts",
1656
1500
  "declarations": [
1657
1501
  {
1658
1502
  "kind": "class",
1659
- "description": "Checkboxes allow user to choose one or more options from a limited set of options.\nIf you have more than 10 options, please use Select component instead.",
1660
- "name": "Checkbox",
1503
+ "description": "Cards are shadowed surfaces that display content and actions on a\nsingle topic. They should be easy to scan for relevant and\nactionable information.",
1504
+ "name": "Card",
1661
1505
  "slots": [
1662
1506
  {
1663
- "description": "Use when a label requires more than plain text.",
1664
- "name": "label"
1507
+ "description": "The card content.",
1508
+ "name": ""
1665
1509
  },
1666
1510
  {
1667
- "description": "Optional slot that holds hint text for the input.",
1668
- "name": "hint"
1511
+ "description": "Optional slot that holds a header for the card.",
1512
+ "name": "header"
1669
1513
  },
1670
1514
  {
1671
- "description": "Optional slot that holds error text for the input.",
1672
- "name": "error"
1515
+ "description": "Optional slot that holds footer content for the card.",
1516
+ "name": "footer"
1517
+ }
1518
+ ],
1519
+ "members": [
1520
+ {
1521
+ "kind": "field",
1522
+ "name": "headerSlot",
1523
+ "privacy": "private",
1524
+ "default": "new SlotController(this, \"header\")"
1525
+ },
1526
+ {
1527
+ "kind": "field",
1528
+ "name": "footerSlot",
1529
+ "privacy": "private",
1530
+ "default": "new SlotController(this, \"footer\")"
1531
+ },
1532
+ {
1533
+ "kind": "field",
1534
+ "name": "padding",
1535
+ "type": {
1536
+ "text": "\"m\" | \"l\" | \"none\""
1537
+ },
1538
+ "default": "\"m\"",
1539
+ "description": "Controls the padding of the card component. When set to “none”,\nthe header and footer slots will still have padding.",
1540
+ "attribute": "padding",
1541
+ "reflects": true
1542
+ }
1543
+ ],
1544
+ "attributes": [
1545
+ {
1546
+ "name": "padding",
1547
+ "type": {
1548
+ "text": "\"m\" | \"l\" | \"none\""
1549
+ },
1550
+ "default": "\"m\"",
1551
+ "description": "Controls the padding of the card component. When set to “none”,\nthe header and footer slots will still have padding.",
1552
+ "fieldName": "padding"
1553
+ }
1554
+ ],
1555
+ "superclass": {
1556
+ "name": "LitElement",
1557
+ "package": "lit"
1558
+ },
1559
+ "status": "ready",
1560
+ "category": "structure",
1561
+ "tagName": "nord-card",
1562
+ "customElement": true
1563
+ }
1564
+ ],
1565
+ "exports": [
1566
+ {
1567
+ "kind": "js",
1568
+ "name": "default",
1569
+ "declaration": {
1570
+ "name": "Card",
1571
+ "module": "src/card/Card.ts"
1572
+ }
1573
+ },
1574
+ {
1575
+ "kind": "custom-element-definition",
1576
+ "name": "nord-card",
1577
+ "declaration": {
1578
+ "name": "Card",
1579
+ "module": "src/card/Card.ts"
1580
+ }
1581
+ }
1582
+ ],
1583
+ "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 display content and actions on a single topic inside a container.\n- Use to visually separate specific parts of content in an application view.\n- Use to wrap a form into a container, for example a login form.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use when you need to capture user’s attention in a prominent way.\n- Don’t use to inform user about important changes or conditions in the interface.\n- Don’t use multiple primary buttons inside a card. A card should only contain a single primary action.\n\n</div>\n"
1584
+ },
1585
+ {
1586
+ "kind": "javascript-module",
1587
+ "path": "src/badge/Badge.ts",
1588
+ "declarations": [
1589
+ {
1590
+ "kind": "class",
1591
+ "description": "Badges are used to inform users of the status of an object or of an action that’s been taken. Commonly used in tabular data to indicate status.",
1592
+ "name": "Badge",
1593
+ "slots": [
1594
+ {
1595
+ "description": "The badge content.",
1596
+ "name": ""
1597
+ }
1598
+ ],
1599
+ "members": [
1600
+ {
1601
+ "kind": "field",
1602
+ "name": "type",
1603
+ "type": {
1604
+ "text": "\"warning\" | \"success\" | \"danger\" | \"highlight\" | \"info\" | undefined"
1605
+ },
1606
+ "default": "\"info\"",
1607
+ "description": "The type of badge.\nDetermines the color of the chip shown on the badge.",
1608
+ "attribute": "type",
1609
+ "reflects": true
1610
+ }
1611
+ ],
1612
+ "attributes": [
1613
+ {
1614
+ "name": "type",
1615
+ "type": {
1616
+ "text": "\"warning\" | \"success\" | \"danger\" | \"highlight\" | \"info\" | undefined"
1617
+ },
1618
+ "default": "\"info\"",
1619
+ "description": "The type of badge.\nDetermines the color of the chip shown on the badge.",
1620
+ "fieldName": "type"
1621
+ }
1622
+ ],
1623
+ "superclass": {
1624
+ "name": "LitElement",
1625
+ "package": "lit"
1626
+ },
1627
+ "status": "ready",
1628
+ "category": "text",
1629
+ "tagName": "nord-badge",
1630
+ "customElement": true
1631
+ }
1632
+ ],
1633
+ "exports": [
1634
+ {
1635
+ "kind": "js",
1636
+ "name": "default",
1637
+ "declaration": {
1638
+ "name": "Badge",
1639
+ "module": "src/badge/Badge.ts"
1640
+ }
1641
+ },
1642
+ {
1643
+ "kind": "custom-element-definition",
1644
+ "name": "nord-badge",
1645
+ "declaration": {
1646
+ "name": "Badge",
1647
+ "module": "src/badge/Badge.ts"
1648
+ }
1649
+ }
1650
+ ],
1651
+ "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 show a status update on a piece of information or action.\n- Use to mark something as a “draft” or “new”.\n- Use when you want to highlight something that has been added recently.\n- Use established color patterns so that users can clearly identify the importance level.\n- Always position badge so that it’s clear to understand what object it’s related to.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t make badges clickable. Instead use button component’s small variant.\n- Don’t use alternatives to existing badge variants.\n\n</div>\n\n---\n\n## Content guidelines\n\nBadge labels should use a single word to describe the status of an object. Only use two words if you need to describe a complex state:\n\n<div class=\"n-usage n-usage-do\">Complete</div>\n<div class=\"n-usage n-usage-dont\">Action completed</div>\n\nWhen writing badge 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\">Partially refunded</div>\n<div class=\"n-usage n-usage-dont\">Partially Refunded</div>\n\nAvoid unnecessary words and articles in badge labels, such as “is”, “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Pending</div>\n<div class=\"n-usage n-usage-dont\">Item is pending</div>\n\nAlways describe the status in the past tense:\n\n<div class=\"n-usage n-usage-do\">Refunded</div>\n<div class=\"n-usage n-usage-dont\">Refund</div>\n\n---\n\n## Variants\n\nThis section describes the different component variants, their purpose, and when to use each variant.\n\n| Name | Purpose |\n| ----------- | --------------------------------------------------------------------------------------------------------------------------------------- |\n| `info` | The default variant. Used to convey general information that isn’t critical. |\n| `success` | Used to convey success states. For example, you might want to show a badge that tells the user a payment was successful. |\n| `highlight` | Used to highlight specific items in the interface, like notifications. |\n| `danger` | Used to communicate problems that have to be resolved so that user can continue forward. Should always be used for highlighting errors. |\n| `warning` | Used to display information that needs a user’s attention attention and may require further steps. |\n"
1652
+ },
1653
+ {
1654
+ "kind": "javascript-module",
1655
+ "path": "src/checkbox/Checkbox.ts",
1656
+ "declarations": [
1657
+ {
1658
+ "kind": "class",
1659
+ "description": "Checkboxes allow user to choose one or more options from a limited set of options.\nIf you have more than 10 options, please use Select component instead.",
1660
+ "name": "Checkbox",
1661
+ "slots": [
1662
+ {
1663
+ "description": "Use when a label requires more than plain text.",
1664
+ "name": "label"
1665
+ },
1666
+ {
1667
+ "description": "Optional slot that holds hint text for the input.",
1668
+ "name": "hint"
1669
+ },
1670
+ {
1671
+ "description": "Optional slot that holds error text for the input.",
1672
+ "name": "error"
1673
1673
  }
1674
1674
  ],
1675
1675
  "members": [
@@ -5121,7 +5121,7 @@
5121
5121
  "name": "LitElement",
5122
5122
  "package": "lit"
5123
5123
  },
5124
- "status": "new",
5124
+ "status": "ready",
5125
5125
  "category": "action",
5126
5126
  "tagName": "nord-dropdown",
5127
5127
  "customElement": true
@@ -5186,7 +5186,7 @@
5186
5186
  "name": "LitElement",
5187
5187
  "package": "lit"
5188
5188
  },
5189
- "status": "new",
5189
+ "status": "ready",
5190
5190
  "category": "action",
5191
5191
  "tagName": "nord-dropdown-group",
5192
5192
  "customElement": true
@@ -5312,7 +5312,7 @@
5312
5312
  "name": "LitElement",
5313
5313
  "package": "lit"
5314
5314
  },
5315
- "status": "new",
5315
+ "status": "ready",
5316
5316
  "category": "action",
5317
5317
  "tagName": "nord-dropdown-item",
5318
5318
  "customElement": true
@@ -5357,7 +5357,7 @@
5357
5357
  "name": "LitElement",
5358
5358
  "package": "lit"
5359
5359
  },
5360
- "status": "new",
5360
+ "status": "ready",
5361
5361
  "category": "feedback",
5362
5362
  "tagName": "nord-empty-state",
5363
5363
  "customElement": true
@@ -6539,6 +6539,17 @@
6539
6539
  "description": "ID reference of element used to toggle the navigation.",
6540
6540
  "attribute": "nav-toggle"
6541
6541
  },
6542
+ {
6543
+ "kind": "field",
6544
+ "name": "padding",
6545
+ "type": {
6546
+ "text": "\"m\" | \"none\""
6547
+ },
6548
+ "default": "\"m\"",
6549
+ "description": "Controls the padding of the default main section slot. When set to “none”,\nthe nav and header slots will still have padding.",
6550
+ "attribute": "padding",
6551
+ "reflects": true
6552
+ },
6542
6553
  {
6543
6554
  "kind": "field",
6544
6555
  "name": "lightDismiss",
@@ -6743,6 +6754,15 @@
6743
6754
  },
6744
6755
  "description": "ID reference of element used to toggle the navigation.",
6745
6756
  "fieldName": "navToggle"
6757
+ },
6758
+ {
6759
+ "name": "padding",
6760
+ "type": {
6761
+ "text": "\"m\" | \"none\""
6762
+ },
6763
+ "default": "\"m\"",
6764
+ "description": "Controls the padding of the default main section slot. When set to “none”,\nthe nav and header slots will still have padding.",
6765
+ "fieldName": "padding"
6746
6766
  }
6747
6767
  ],
6748
6768
  "superclass": {
@@ -7936,7 +7956,7 @@
7936
7956
  "name": "LitElement",
7937
7957
  "package": "lit"
7938
7958
  },
7939
- "status": "new",
7959
+ "status": "ready",
7940
7960
  "category": "overlay",
7941
7961
  "tagName": "nord-popout",
7942
7962
  "customElement": true
@@ -9913,7 +9933,7 @@
9913
9933
  "type": {
9914
9934
  "text": "\"m\" | \"l\" | \"none\" | undefined"
9915
9935
  },
9916
- "default": "\"none\"",
9936
+ "default": "\"m\"",
9917
9937
  "description": "Controls the padding of the tab group component.",
9918
9938
  "attribute": "padding",
9919
9939
  "reflects": true
@@ -10049,7 +10069,7 @@
10049
10069
  "type": {
10050
10070
  "text": "\"m\" | \"l\" | \"none\" | undefined"
10051
10071
  },
10052
- "default": "\"none\"",
10072
+ "default": "\"m\"",
10053
10073
  "description": "Controls the padding of the tab group component.",
10054
10074
  "fieldName": "padding"
10055
10075
  },
@@ -12859,307 +12879,499 @@
12859
12879
  },
12860
12880
  {
12861
12881
  "kind": "javascript-module",
12862
- "path": "src/common/mixins/DraftComponentMixin.ts",
12882
+ "path": "src/common/directives/cond.ts",
12863
12883
  "declarations": [
12864
12884
  {
12865
- "kind": "mixin",
12866
- "description": "",
12867
- "name": "DraftComponentMixin",
12868
- "members": [
12869
- {
12870
- "kind": "field",
12871
- "name": "_warningLogged",
12872
- "type": {
12873
- "text": "boolean"
12874
- },
12875
- "privacy": "private",
12876
- "static": true,
12877
- "default": "false"
12885
+ "kind": "function",
12886
+ "name": "cond",
12887
+ "return": {
12888
+ "type": {
12889
+ "text": "typeof value | typeof nothing"
12878
12890
  }
12879
- ],
12891
+ },
12880
12892
  "parameters": [
12881
12893
  {
12882
- "name": "superClass",
12894
+ "name": "value",
12883
12895
  "type": {
12884
- "text": "T"
12896
+ "text": "any"
12885
12897
  }
12886
12898
  }
12887
- ]
12888
- }
12889
- ],
12890
- "exports": [
12891
- {
12892
- "kind": "js",
12893
- "name": "DraftComponentMixin",
12894
- "declaration": {
12895
- "name": "DraftComponentMixin",
12896
- "module": "src/common/mixins/DraftComponentMixin.ts"
12897
- }
12898
- }
12899
- ]
12900
- },
12901
- {
12902
- "kind": "javascript-module",
12903
- "path": "src/common/mixins/FocusableMixin.ts",
12904
- "declarations": [
12899
+ ],
12900
+ "description": "if value is truthy, return it, otherwise return nothing"
12901
+ },
12905
12902
  {
12906
- "kind": "class",
12907
- "description": "",
12908
- "name": "FocusableMixinInterface",
12909
- "members": [
12903
+ "kind": "function",
12904
+ "name": "cond",
12905
+ "return": {
12906
+ "type": {
12907
+ "text": "typeof trueCase | typeof nothing"
12908
+ }
12909
+ },
12910
+ "parameters": [
12910
12911
  {
12911
- "kind": "field",
12912
- "name": "focusableRef",
12912
+ "name": "condition",
12913
12913
  "type": {
12914
- "text": "Ref<HTMLElement>"
12915
- },
12916
- "privacy": "protected"
12914
+ "text": "unknown"
12915
+ }
12917
12916
  },
12918
12917
  {
12919
- "kind": "method",
12920
- "name": "focus",
12921
- "return": {
12922
- "type": {
12923
- "text": "void"
12924
- }
12925
- },
12926
- "parameters": [
12927
- {
12928
- "name": "options",
12929
- "optional": true,
12930
- "type": {
12931
- "text": "FocusOptions"
12932
- }
12933
- }
12934
- ]
12935
- },
12936
- {
12937
- "kind": "method",
12938
- "name": "blur",
12939
- "return": {
12940
- "type": {
12941
- "text": "void"
12942
- }
12943
- }
12944
- },
12945
- {
12946
- "kind": "method",
12947
- "name": "click",
12948
- "return": {
12949
- "type": {
12950
- "text": "void"
12951
- }
12918
+ "name": "trueCase",
12919
+ "type": {
12920
+ "text": "any"
12952
12921
  }
12953
12922
  }
12954
- ]
12923
+ ],
12924
+ "description": "if condition is truthy, return trueCase, otherwise return nothing"
12955
12925
  },
12956
12926
  {
12957
- "kind": "mixin",
12958
- "description": "",
12959
- "name": "FocusableMixin",
12960
- "members": [
12961
- {
12962
- "kind": "field",
12963
- "name": "focusableRef",
12964
- "privacy": "protected"
12965
- },
12966
- {
12967
- "kind": "method",
12968
- "name": "focus",
12969
- "parameters": [
12970
- {
12971
- "name": "options",
12972
- "optional": true,
12973
- "type": {
12974
- "text": "FocusOptions"
12975
- },
12976
- "description": "An object which controls aspects of the focusing process."
12977
- }
12978
- ],
12979
- "description": "Programmatically move focus to the component."
12980
- },
12927
+ "kind": "function",
12928
+ "name": "cond",
12929
+ "return": {
12930
+ "type": {
12931
+ "text": "typeof trueCase"
12932
+ }
12933
+ },
12934
+ "parameters": [
12981
12935
  {
12982
- "kind": "method",
12983
- "name": "blur",
12984
- "description": "Programmatically remove focus from the component."
12936
+ "name": "condition",
12937
+ "type": {
12938
+ "text": "true"
12939
+ }
12985
12940
  },
12986
12941
  {
12987
- "kind": "method",
12988
- "name": "click",
12989
- "description": "Programmatically simulates a click on the component."
12942
+ "name": "trueCase",
12943
+ "type": {
12944
+ "text": "any"
12945
+ }
12990
12946
  }
12991
12947
  ],
12948
+ "description": "condition is true, so always return trueCase"
12949
+ },
12950
+ {
12951
+ "kind": "function",
12952
+ "name": "cond",
12953
+ "return": {
12954
+ "type": {
12955
+ "text": "typeof nothing"
12956
+ }
12957
+ },
12992
12958
  "parameters": [
12993
12959
  {
12994
- "name": "superClass",
12960
+ "name": "condition",
12995
12961
  "type": {
12996
- "text": "T"
12962
+ "text": "false"
12963
+ }
12964
+ },
12965
+ {
12966
+ "name": "trueCase",
12967
+ "type": {
12968
+ "text": "any"
12997
12969
  }
12998
12970
  }
12999
- ]
13000
- }
13001
- ],
13002
- "exports": [
13003
- {
13004
- "kind": "js",
13005
- "name": "FocusableMixinInterface",
13006
- "declaration": {
13007
- "name": "FocusableMixinInterface",
13008
- "module": "src/common/mixins/FocusableMixin.ts"
13009
- }
12971
+ ],
12972
+ "description": "condition is false, to will always return nothing"
13010
12973
  },
13011
12974
  {
13012
- "kind": "js",
13013
- "name": "FocusableMixin",
13014
- "declaration": {
13015
- "name": "FocusableMixin",
13016
- "module": "src/common/mixins/FocusableMixin.ts"
13017
- }
13018
- }
13019
- ]
13020
- },
13021
- {
13022
- "kind": "javascript-module",
13023
- "path": "src/common/mixins/FormAssociatedMixin.ts",
13024
- "declarations": [
13025
- {
13026
- "kind": "class",
13027
- "description": "",
13028
- "name": "FormAssociatedMixinInterface",
13029
- "members": [
12975
+ "kind": "function",
12976
+ "name": "cond",
12977
+ "return": {
12978
+ "type": {
12979
+ "text": "typeof trueCase | typeof falseCase"
12980
+ }
12981
+ },
12982
+ "parameters": [
13030
12983
  {
13031
- "kind": "field",
13032
- "name": "label",
12984
+ "name": "condition",
13033
12985
  "type": {
13034
- "text": "string"
12986
+ "text": "unknown"
13035
12987
  }
13036
12988
  },
13037
12989
  {
13038
- "kind": "field",
13039
- "name": "required",
12990
+ "name": "trueCase",
13040
12991
  "type": {
13041
- "text": "boolean"
12992
+ "text": "any"
13042
12993
  }
13043
12994
  },
13044
12995
  {
13045
- "kind": "field",
13046
- "name": "hint",
12996
+ "name": "falseCase",
13047
12997
  "type": {
13048
- "text": "string | undefined"
12998
+ "text": "any"
13049
12999
  }
13050
- },
13000
+ }
13001
+ ],
13002
+ "description": "if condition is truthy, return trueCase, otherwise return falseCase"
13003
+ },
13004
+ {
13005
+ "kind": "function",
13006
+ "name": "cond",
13007
+ "return": {
13008
+ "type": {
13009
+ "text": "typeof trueCase"
13010
+ }
13011
+ },
13012
+ "parameters": [
13051
13013
  {
13052
- "kind": "field",
13053
- "name": "hideLabel",
13014
+ "name": "condition",
13054
13015
  "type": {
13055
- "text": "boolean"
13016
+ "text": "true"
13056
13017
  }
13057
13018
  },
13058
13019
  {
13059
- "kind": "field",
13060
- "name": "placeholder",
13020
+ "name": "trueCase",
13061
13021
  "type": {
13062
- "text": "string | undefined"
13022
+ "text": "any"
13063
13023
  }
13064
13024
  },
13065
13025
  {
13066
- "kind": "field",
13067
- "name": "error",
13026
+ "name": "falseCase",
13068
13027
  "type": {
13069
- "text": "string | undefined"
13028
+ "text": "any"
13070
13029
  }
13071
- },
13030
+ }
13031
+ ],
13032
+ "description": "condition is true, so always return trueCase"
13033
+ },
13034
+ {
13035
+ "kind": "function",
13036
+ "name": "cond",
13037
+ "return": {
13038
+ "type": {
13039
+ "text": "typeof falseCase"
13040
+ }
13041
+ },
13042
+ "parameters": [
13072
13043
  {
13073
- "kind": "field",
13074
- "name": "expand",
13044
+ "name": "condition",
13075
13045
  "type": {
13076
- "text": "boolean"
13046
+ "text": "false"
13077
13047
  }
13078
13048
  },
13079
13049
  {
13080
- "kind": "field",
13081
- "name": "inputId",
13050
+ "name": "trueCase",
13082
13051
  "type": {
13083
- "text": "string"
13084
- },
13085
- "privacy": "protected"
13052
+ "text": "any"
13053
+ }
13086
13054
  },
13087
13055
  {
13088
- "kind": "field",
13089
- "name": "errorId",
13056
+ "name": "falseCase",
13090
13057
  "type": {
13091
- "text": "string"
13092
- },
13093
- "privacy": "protected"
13094
- },
13058
+ "text": "any"
13059
+ }
13060
+ }
13061
+ ],
13062
+ "description": "condition is false, so always return falseCase"
13063
+ },
13064
+ {
13065
+ "kind": "function",
13066
+ "name": "cond",
13067
+ "parameters": [
13095
13068
  {
13096
- "kind": "field",
13097
- "name": "hintId",
13069
+ "name": "condition",
13098
13070
  "type": {
13099
- "text": "string"
13100
- },
13101
- "privacy": "protected"
13071
+ "text": "unknown"
13072
+ }
13102
13073
  },
13103
13074
  {
13104
- "kind": "field",
13105
- "name": "labelSlot",
13075
+ "name": "trueCase",
13076
+ "default": "condition",
13106
13077
  "type": {
13107
- "text": "SlotController"
13108
- },
13109
- "privacy": "protected"
13078
+ "text": "any"
13079
+ }
13110
13080
  },
13111
13081
  {
13112
- "kind": "field",
13113
- "name": "hintSlot",
13082
+ "name": "falseCase",
13083
+ "default": "nothing",
13114
13084
  "type": {
13115
- "text": "SlotController"
13116
- },
13117
- "privacy": "protected"
13118
- },
13119
- {
13120
- "kind": "field",
13121
- "name": "errorSlot",
13085
+ "text": "any"
13086
+ }
13087
+ }
13088
+ ]
13089
+ }
13090
+ ],
13091
+ "exports": [
13092
+ {
13093
+ "kind": "js",
13094
+ "name": "cond",
13095
+ "declaration": {
13096
+ "name": "cond",
13097
+ "module": "src/common/directives/cond.ts"
13098
+ }
13099
+ },
13100
+ {
13101
+ "kind": "js",
13102
+ "name": "cond",
13103
+ "declaration": {
13104
+ "name": "cond",
13105
+ "module": "src/common/directives/cond.ts"
13106
+ }
13107
+ },
13108
+ {
13109
+ "kind": "js",
13110
+ "name": "cond",
13111
+ "declaration": {
13112
+ "name": "cond",
13113
+ "module": "src/common/directives/cond.ts"
13114
+ }
13115
+ },
13116
+ {
13117
+ "kind": "js",
13118
+ "name": "cond",
13119
+ "declaration": {
13120
+ "name": "cond",
13121
+ "module": "src/common/directives/cond.ts"
13122
+ }
13123
+ },
13124
+ {
13125
+ "kind": "js",
13126
+ "name": "cond",
13127
+ "declaration": {
13128
+ "name": "cond",
13129
+ "module": "src/common/directives/cond.ts"
13130
+ }
13131
+ },
13132
+ {
13133
+ "kind": "js",
13134
+ "name": "cond",
13135
+ "declaration": {
13136
+ "name": "cond",
13137
+ "module": "src/common/directives/cond.ts"
13138
+ }
13139
+ },
13140
+ {
13141
+ "kind": "js",
13142
+ "name": "cond",
13143
+ "declaration": {
13144
+ "name": "cond",
13145
+ "module": "src/common/directives/cond.ts"
13146
+ }
13147
+ },
13148
+ {
13149
+ "kind": "js",
13150
+ "name": "cond",
13151
+ "declaration": {
13152
+ "name": "cond",
13153
+ "module": "src/common/directives/cond.ts"
13154
+ }
13155
+ }
13156
+ ]
13157
+ },
13158
+ {
13159
+ "kind": "javascript-module",
13160
+ "path": "src/common/directives/wrapIf.ts",
13161
+ "declarations": [
13162
+ {
13163
+ "kind": "function",
13164
+ "name": "wrapIf",
13165
+ "return": {
13166
+ "type": {
13167
+ "text": "TInner"
13168
+ }
13169
+ },
13170
+ "parameters": [
13171
+ {
13172
+ "name": "condition",
13122
13173
  "type": {
13123
- "text": "SlotController"
13124
- },
13125
- "privacy": "protected"
13174
+ "text": "false"
13175
+ }
13126
13176
  },
13127
13177
  {
13128
- "kind": "field",
13129
- "name": "formData",
13178
+ "name": "inner",
13130
13179
  "type": {
13131
- "text": "FormDataController"
13132
- },
13133
- "privacy": "protected"
13180
+ "text": "() => TInner"
13181
+ }
13134
13182
  },
13135
13183
  {
13136
- "kind": "field",
13137
- "name": "formValue",
13184
+ "name": "wrapper",
13138
13185
  "type": {
13139
- "text": "string | undefined"
13140
- },
13141
- "privacy": "protected"
13186
+ "text": "(inner: TInner) => TWrapper"
13187
+ }
13188
+ }
13189
+ ]
13190
+ },
13191
+ {
13192
+ "kind": "function",
13193
+ "name": "wrapIf",
13194
+ "return": {
13195
+ "type": {
13196
+ "text": "TWrapper"
13197
+ }
13198
+ },
13199
+ "parameters": [
13200
+ {
13201
+ "name": "condition",
13202
+ "type": {
13203
+ "text": "true"
13204
+ }
13205
+ },
13206
+ {
13207
+ "name": "inner",
13208
+ "type": {
13209
+ "text": "() => TInner"
13210
+ }
13211
+ },
13212
+ {
13213
+ "name": "wrapper",
13214
+ "type": {
13215
+ "text": "(inner: TInner) => TWrapper"
13216
+ }
13217
+ }
13218
+ ]
13219
+ },
13220
+ {
13221
+ "kind": "function",
13222
+ "name": "wrapIf",
13223
+ "return": {
13224
+ "type": {
13225
+ "text": "TInner | TWrapper"
13226
+ }
13227
+ },
13228
+ "parameters": [
13229
+ {
13230
+ "name": "condition",
13231
+ "type": {
13232
+ "text": "unknown"
13233
+ }
13234
+ },
13235
+ {
13236
+ "name": "inner",
13237
+ "type": {
13238
+ "text": "() => TInner"
13239
+ }
13240
+ },
13241
+ {
13242
+ "name": "wrapper",
13243
+ "type": {
13244
+ "text": "(inner: TInner) => TWrapper"
13245
+ }
13246
+ }
13247
+ ]
13248
+ },
13249
+ {
13250
+ "kind": "function",
13251
+ "name": "wrapIf",
13252
+ "parameters": [
13253
+ {
13254
+ "name": "condition",
13255
+ "type": {
13256
+ "text": "any"
13257
+ }
13142
13258
  },
13259
+ {
13260
+ "name": "inner",
13261
+ "type": {
13262
+ "text": "() => TInner"
13263
+ }
13264
+ },
13265
+ {
13266
+ "name": "wrapper",
13267
+ "type": {
13268
+ "text": "(innards: TInner) => TWrapper"
13269
+ }
13270
+ }
13271
+ ],
13272
+ "return": {
13273
+ "type": {
13274
+ "text": ""
13275
+ }
13276
+ }
13277
+ }
13278
+ ],
13279
+ "exports": [
13280
+ {
13281
+ "kind": "js",
13282
+ "name": "wrapIf",
13283
+ "declaration": {
13284
+ "name": "wrapIf",
13285
+ "module": "src/common/directives/wrapIf.ts"
13286
+ }
13287
+ },
13288
+ {
13289
+ "kind": "js",
13290
+ "name": "wrapIf",
13291
+ "declaration": {
13292
+ "name": "wrapIf",
13293
+ "module": "src/common/directives/wrapIf.ts"
13294
+ }
13295
+ },
13296
+ {
13297
+ "kind": "js",
13298
+ "name": "wrapIf",
13299
+ "declaration": {
13300
+ "name": "wrapIf",
13301
+ "module": "src/common/directives/wrapIf.ts"
13302
+ }
13303
+ },
13304
+ {
13305
+ "kind": "js",
13306
+ "name": "wrapIf",
13307
+ "declaration": {
13308
+ "name": "wrapIf",
13309
+ "module": "src/common/directives/wrapIf.ts"
13310
+ }
13311
+ }
13312
+ ]
13313
+ },
13314
+ {
13315
+ "kind": "javascript-module",
13316
+ "path": "src/common/mixins/DraftComponentMixin.ts",
13317
+ "declarations": [
13318
+ {
13319
+ "kind": "mixin",
13320
+ "description": "",
13321
+ "name": "DraftComponentMixin",
13322
+ "members": [
13143
13323
  {
13144
13324
  "kind": "field",
13145
- "name": "hasError",
13325
+ "name": "_warningLogged",
13146
13326
  "type": {
13147
13327
  "text": "boolean"
13148
13328
  },
13149
- "privacy": "protected"
13150
- },
13329
+ "privacy": "private",
13330
+ "static": true,
13331
+ "default": "false"
13332
+ }
13333
+ ],
13334
+ "parameters": [
13335
+ {
13336
+ "name": "superClass",
13337
+ "type": {
13338
+ "text": "T"
13339
+ }
13340
+ }
13341
+ ]
13342
+ }
13343
+ ],
13344
+ "exports": [
13345
+ {
13346
+ "kind": "js",
13347
+ "name": "DraftComponentMixin",
13348
+ "declaration": {
13349
+ "name": "DraftComponentMixin",
13350
+ "module": "src/common/mixins/DraftComponentMixin.ts"
13351
+ }
13352
+ }
13353
+ ]
13354
+ },
13355
+ {
13356
+ "kind": "javascript-module",
13357
+ "path": "src/common/mixins/FocusableMixin.ts",
13358
+ "declarations": [
13359
+ {
13360
+ "kind": "class",
13361
+ "description": "",
13362
+ "name": "FocusableMixinInterface",
13363
+ "members": [
13151
13364
  {
13152
13365
  "kind": "field",
13153
- "name": "hasHint",
13366
+ "name": "focusableRef",
13154
13367
  "type": {
13155
- "text": "boolean"
13368
+ "text": "Ref<HTMLElement>"
13156
13369
  },
13157
13370
  "privacy": "protected"
13158
13371
  },
13159
13372
  {
13160
13373
  "kind": "method",
13161
- "name": "handleChange",
13162
- "privacy": "protected",
13374
+ "name": "focus",
13163
13375
  "return": {
13164
13376
  "type": {
13165
13377
  "text": "void"
@@ -13167,68 +13379,29 @@
13167
13379
  },
13168
13380
  "parameters": [
13169
13381
  {
13170
- "name": "e",
13382
+ "name": "options",
13383
+ "optional": true,
13171
13384
  "type": {
13172
- "text": "Event"
13385
+ "text": "FocusOptions"
13173
13386
  }
13174
13387
  }
13175
13388
  ]
13176
13389
  },
13177
13390
  {
13178
13391
  "kind": "method",
13179
- "name": "handleInput",
13180
- "privacy": "protected",
13392
+ "name": "blur",
13181
13393
  "return": {
13182
13394
  "type": {
13183
13395
  "text": "void"
13184
13396
  }
13185
- },
13186
- "parameters": [
13187
- {
13188
- "name": "e",
13189
- "type": {
13190
- "text": "Event"
13191
- }
13192
- }
13193
- ]
13194
- },
13195
- {
13196
- "kind": "method",
13197
- "name": "renderLabel",
13198
- "privacy": "protected",
13199
- "return": {
13200
- "type": {
13201
- "text": "TemplateResult"
13202
- }
13203
- }
13204
- },
13205
- {
13206
- "kind": "method",
13207
- "name": "renderError",
13208
- "privacy": "protected",
13209
- "return": {
13210
- "type": {
13211
- "text": "TemplateResult"
13212
- }
13213
13397
  }
13214
13398
  },
13215
13399
  {
13216
13400
  "kind": "method",
13217
- "name": "getDescribedBy",
13218
- "privacy": "protected",
13219
- "return": {
13220
- "type": {
13221
- "text": "string | undefined"
13222
- }
13223
- }
13224
- },
13225
- {
13226
- "kind": "method",
13227
- "name": "getInvalid",
13228
- "privacy": "protected",
13401
+ "name": "click",
13229
13402
  "return": {
13230
13403
  "type": {
13231
- "text": "\"true\" | undefined"
13404
+ "text": "void"
13232
13405
  }
13233
13406
  }
13234
13407
  }
@@ -13237,331 +13410,280 @@
13237
13410
  {
13238
13411
  "kind": "mixin",
13239
13412
  "description": "",
13240
- "name": "FormAssociatedMixin",
13413
+ "name": "FocusableMixin",
13241
13414
  "members": [
13242
13415
  {
13243
13416
  "kind": "field",
13244
- "name": "labelSlot",
13245
- "privacy": "protected",
13246
- "default": "new SlotController(this, \"label\")"
13247
- },
13248
- {
13249
- "kind": "field",
13250
- "name": "errorSlot",
13251
- "privacy": "protected",
13252
- "default": "new SlotController(this, \"error\")"
13253
- },
13254
- {
13255
- "kind": "field",
13256
- "name": "hintSlot",
13257
- "privacy": "protected",
13258
- "default": "new SlotController(this, \"hint\")"
13259
- },
13260
- {
13261
- "kind": "field",
13262
- "name": "formData",
13263
- "privacy": "protected",
13264
- "default": "new FormDataController(this, { value: () => this.formValue })"
13417
+ "name": "focusableRef",
13418
+ "privacy": "protected"
13265
13419
  },
13266
13420
  {
13267
- "kind": "field",
13268
- "name": "formValue",
13269
- "privacy": "protected"
13421
+ "kind": "method",
13422
+ "name": "focus",
13423
+ "parameters": [
13424
+ {
13425
+ "name": "options",
13426
+ "optional": true,
13427
+ "type": {
13428
+ "text": "FocusOptions"
13429
+ },
13430
+ "description": "An object which controls aspects of the focusing process."
13431
+ }
13432
+ ],
13433
+ "description": "Programmatically move focus to the component."
13270
13434
  },
13271
13435
  {
13272
- "kind": "field",
13273
- "name": "inputId",
13274
- "type": {
13275
- "text": "string"
13276
- },
13277
- "privacy": "protected",
13278
- "default": "\"input\""
13436
+ "kind": "method",
13437
+ "name": "blur",
13438
+ "description": "Programmatically remove focus from the component."
13279
13439
  },
13280
13440
  {
13281
- "kind": "field",
13282
- "name": "errorId",
13441
+ "kind": "method",
13442
+ "name": "click",
13443
+ "description": "Programmatically simulates a click on the component."
13444
+ }
13445
+ ],
13446
+ "parameters": [
13447
+ {
13448
+ "name": "superClass",
13283
13449
  "type": {
13284
- "text": "string"
13285
- },
13286
- "privacy": "protected",
13287
- "default": "\"error\""
13288
- },
13450
+ "text": "T"
13451
+ }
13452
+ }
13453
+ ]
13454
+ }
13455
+ ],
13456
+ "exports": [
13457
+ {
13458
+ "kind": "js",
13459
+ "name": "FocusableMixinInterface",
13460
+ "declaration": {
13461
+ "name": "FocusableMixinInterface",
13462
+ "module": "src/common/mixins/FocusableMixin.ts"
13463
+ }
13464
+ },
13465
+ {
13466
+ "kind": "js",
13467
+ "name": "FocusableMixin",
13468
+ "declaration": {
13469
+ "name": "FocusableMixin",
13470
+ "module": "src/common/mixins/FocusableMixin.ts"
13471
+ }
13472
+ }
13473
+ ]
13474
+ },
13475
+ {
13476
+ "kind": "javascript-module",
13477
+ "path": "src/common/mixins/FormAssociatedMixin.ts",
13478
+ "declarations": [
13479
+ {
13480
+ "kind": "class",
13481
+ "description": "",
13482
+ "name": "FormAssociatedMixinInterface",
13483
+ "members": [
13289
13484
  {
13290
13485
  "kind": "field",
13291
- "name": "hintId",
13486
+ "name": "label",
13292
13487
  "type": {
13293
13488
  "text": "string"
13294
- },
13295
- "privacy": "protected",
13296
- "default": "\"hint\""
13489
+ }
13297
13490
  },
13298
13491
  {
13299
13492
  "kind": "field",
13300
- "name": "label",
13493
+ "name": "required",
13301
13494
  "type": {
13302
- "text": "string"
13303
- },
13304
- "default": "\"\"",
13305
- "description": "Label for the input.",
13306
- "attribute": "label"
13495
+ "text": "boolean"
13496
+ }
13307
13497
  },
13308
13498
  {
13309
13499
  "kind": "field",
13310
13500
  "name": "hint",
13311
13501
  "type": {
13312
13502
  "text": "string | undefined"
13313
- },
13314
- "description": "Optional hint text to be displayed with the input. Alternatively use the hint slot.",
13315
- "attribute": "hint"
13503
+ }
13316
13504
  },
13317
13505
  {
13318
13506
  "kind": "field",
13319
13507
  "name": "hideLabel",
13320
13508
  "type": {
13321
13509
  "text": "boolean"
13322
- },
13323
- "default": "false",
13324
- "description": "Visually hide the label, but still show it to assistive technologies like screen readers.",
13325
- "attribute": "hide-label"
13510
+ }
13326
13511
  },
13327
13512
  {
13328
13513
  "kind": "field",
13329
13514
  "name": "placeholder",
13330
13515
  "type": {
13331
13516
  "text": "string | undefined"
13332
- },
13333
- "description": "Placeholder text to display within the input.",
13334
- "attribute": "placeholder"
13517
+ }
13335
13518
  },
13336
13519
  {
13337
13520
  "kind": "field",
13338
13521
  "name": "error",
13339
13522
  "type": {
13340
13523
  "text": "string | undefined"
13341
- },
13342
- "description": "Optional error to be shown with the input. Alternatively use the error slot.",
13343
- "attribute": "error"
13524
+ }
13344
13525
  },
13345
13526
  {
13346
13527
  "kind": "field",
13347
- "name": "required",
13528
+ "name": "expand",
13348
13529
  "type": {
13349
13530
  "text": "boolean"
13350
- },
13351
- "default": "false",
13352
- "description": "Determines whether the input is required or not.\nAn input marked as required will be announced as such to users of assistive technology.\nWhen using this property you need to also set “novalidate” attribute on a form element to prevent browser from displaying its own validation errors.",
13353
- "attribute": "required"
13531
+ }
13354
13532
  },
13355
13533
  {
13356
13534
  "kind": "field",
13357
- "name": "expand",
13535
+ "name": "inputId",
13358
13536
  "type": {
13359
- "text": "boolean"
13537
+ "text": "string"
13360
13538
  },
13361
- "default": "false",
13362
- "description": "Controls whether the input expands to fill the width of its container.",
13363
- "attribute": "expand",
13364
- "reflects": true
13365
- },
13366
- {
13367
- "kind": "method",
13368
- "name": "handleInput",
13369
- "privacy": "protected",
13370
- "parameters": [
13371
- {
13372
- "name": "e",
13373
- "type": {
13374
- "text": "Event"
13375
- }
13376
- }
13377
- ]
13378
- },
13379
- {
13380
- "kind": "method",
13381
- "name": "handleChange",
13382
- "privacy": "protected",
13383
- "parameters": [
13384
- {
13385
- "name": "e",
13386
- "type": {
13387
- "text": "Event"
13388
- }
13389
- }
13390
- ]
13391
- },
13392
- {
13393
- "kind": "method",
13394
- "name": "renderLabel",
13395
- "privacy": "protected"
13396
- },
13397
- {
13398
- "kind": "method",
13399
- "name": "renderError",
13400
- "privacy": "protected"
13401
- },
13402
- {
13403
- "kind": "method",
13404
- "name": "getDescribedBy",
13405
- "privacy": "protected"
13406
- },
13407
- {
13408
- "kind": "method",
13409
- "name": "getInvalid",
13410
- "privacy": "protected"
13411
- },
13412
- {
13413
- "kind": "field",
13414
- "name": "hasHint",
13415
13539
  "privacy": "protected"
13416
13540
  },
13417
13541
  {
13418
13542
  "kind": "field",
13419
- "name": "hasError",
13420
- "privacy": "protected"
13421
- }
13422
- ],
13423
- "events": [
13424
- {
13425
- "name": "input",
13426
- "type": {
13427
- "text": "NordEvent"
13428
- },
13429
- "description": "Fired as the user types into the input."
13430
- },
13431
- {
13432
- "name": "change",
13433
- "type": {
13434
- "text": "NordEvent"
13435
- },
13436
- "description": "Fired whenever the input's value is changed via user interaction."
13437
- }
13438
- ],
13439
- "attributes": [
13440
- {
13441
- "name": "label",
13543
+ "name": "errorId",
13442
13544
  "type": {
13443
13545
  "text": "string"
13444
13546
  },
13445
- "default": "\"\"",
13446
- "description": "Label for the input.",
13447
- "fieldName": "label"
13448
- },
13449
- {
13450
- "name": "hint",
13451
- "type": {
13452
- "text": "string | undefined"
13453
- },
13454
- "description": "Optional hint text to be displayed with the input. Alternatively use the hint slot.",
13455
- "fieldName": "hint"
13547
+ "privacy": "protected"
13456
13548
  },
13457
13549
  {
13458
- "name": "hide-label",
13550
+ "kind": "field",
13551
+ "name": "hintId",
13459
13552
  "type": {
13460
- "text": "boolean"
13553
+ "text": "string"
13461
13554
  },
13462
- "default": "false",
13463
- "description": "Visually hide the label, but still show it to assistive technologies like screen readers.",
13464
- "fieldName": "hideLabel"
13555
+ "privacy": "protected"
13465
13556
  },
13466
13557
  {
13467
- "name": "placeholder",
13558
+ "kind": "field",
13559
+ "name": "labelSlot",
13468
13560
  "type": {
13469
- "text": "string | undefined"
13561
+ "text": "SlotController"
13470
13562
  },
13471
- "description": "Placeholder text to display within the input.",
13472
- "fieldName": "placeholder"
13563
+ "privacy": "protected"
13473
13564
  },
13474
13565
  {
13475
- "name": "error",
13566
+ "kind": "field",
13567
+ "name": "hintSlot",
13476
13568
  "type": {
13477
- "text": "string | undefined"
13569
+ "text": "SlotController"
13478
13570
  },
13479
- "description": "Optional error to be shown with the input. Alternatively use the error slot.",
13480
- "fieldName": "error"
13571
+ "privacy": "protected"
13481
13572
  },
13482
13573
  {
13483
- "name": "required",
13574
+ "kind": "field",
13575
+ "name": "errorSlot",
13484
13576
  "type": {
13485
- "text": "boolean"
13577
+ "text": "SlotController"
13486
13578
  },
13487
- "default": "false",
13488
- "description": "Determines whether the input is required or not.\nAn input marked as required will be announced as such to users of assistive technology.\nWhen using this property you need to also set “novalidate” attribute on a form element to prevent browser from displaying its own validation errors.",
13489
- "fieldName": "required"
13579
+ "privacy": "protected"
13490
13580
  },
13491
- {
13492
- "name": "expand",
13493
- "type": {
13494
- "text": "boolean"
13495
- },
13496
- "default": "false",
13497
- "description": "Controls whether the input expands to fill the width of its container.",
13498
- "fieldName": "expand"
13499
- }
13500
- ],
13501
- "parameters": [
13502
- {
13503
- "name": "superClass",
13504
- "type": {
13505
- "text": "T"
13506
- }
13507
- }
13508
- ]
13509
- }
13510
- ],
13511
- "exports": [
13512
- {
13513
- "kind": "js",
13514
- "name": "FormAssociatedMixinInterface",
13515
- "declaration": {
13516
- "name": "FormAssociatedMixinInterface",
13517
- "module": "src/common/mixins/FormAssociatedMixin.ts"
13518
- }
13519
- },
13520
- {
13521
- "kind": "js",
13522
- "name": "FormAssociatedMixin",
13523
- "declaration": {
13524
- "name": "FormAssociatedMixin",
13525
- "module": "src/common/mixins/FormAssociatedMixin.ts"
13526
- }
13527
- }
13528
- ]
13529
- },
13530
- {
13531
- "kind": "javascript-module",
13532
- "path": "src/common/mixins/InputMixin.ts",
13533
- "declarations": [
13534
- {
13535
- "kind": "class",
13536
- "description": "",
13537
- "name": "InputMixinInterface",
13538
- "members": [
13539
13581
  {
13540
13582
  "kind": "field",
13541
- "name": "name",
13583
+ "name": "formData",
13542
13584
  "type": {
13543
- "text": "string | undefined"
13544
- }
13585
+ "text": "FormDataController"
13586
+ },
13587
+ "privacy": "protected"
13545
13588
  },
13546
13589
  {
13547
13590
  "kind": "field",
13548
- "name": "value",
13591
+ "name": "formValue",
13549
13592
  "type": {
13550
- "text": "string"
13551
- }
13593
+ "text": "string | undefined"
13594
+ },
13595
+ "privacy": "protected"
13552
13596
  },
13553
13597
  {
13554
13598
  "kind": "field",
13555
- "name": "disabled",
13599
+ "name": "hasError",
13556
13600
  "type": {
13557
13601
  "text": "boolean"
13558
- }
13602
+ },
13603
+ "privacy": "protected"
13559
13604
  },
13560
13605
  {
13561
13606
  "kind": "field",
13562
- "name": "form",
13607
+ "name": "hasHint",
13563
13608
  "type": {
13564
- "text": "HTMLFormElement | undefined"
13609
+ "text": "boolean"
13610
+ },
13611
+ "privacy": "protected"
13612
+ },
13613
+ {
13614
+ "kind": "method",
13615
+ "name": "handleChange",
13616
+ "privacy": "protected",
13617
+ "return": {
13618
+ "type": {
13619
+ "text": "void"
13620
+ }
13621
+ },
13622
+ "parameters": [
13623
+ {
13624
+ "name": "e",
13625
+ "type": {
13626
+ "text": "Event"
13627
+ }
13628
+ }
13629
+ ]
13630
+ },
13631
+ {
13632
+ "kind": "method",
13633
+ "name": "handleInput",
13634
+ "privacy": "protected",
13635
+ "return": {
13636
+ "type": {
13637
+ "text": "void"
13638
+ }
13639
+ },
13640
+ "parameters": [
13641
+ {
13642
+ "name": "e",
13643
+ "type": {
13644
+ "text": "Event"
13645
+ }
13646
+ }
13647
+ ]
13648
+ },
13649
+ {
13650
+ "kind": "method",
13651
+ "name": "renderLabel",
13652
+ "privacy": "protected",
13653
+ "return": {
13654
+ "type": {
13655
+ "text": "TemplateResult"
13656
+ }
13657
+ }
13658
+ },
13659
+ {
13660
+ "kind": "method",
13661
+ "name": "renderError",
13662
+ "privacy": "protected",
13663
+ "return": {
13664
+ "type": {
13665
+ "text": "TemplateResult"
13666
+ }
13667
+ }
13668
+ },
13669
+ {
13670
+ "kind": "method",
13671
+ "name": "getDescribedBy",
13672
+ "privacy": "protected",
13673
+ "return": {
13674
+ "type": {
13675
+ "text": "string | undefined"
13676
+ }
13677
+ }
13678
+ },
13679
+ {
13680
+ "kind": "method",
13681
+ "name": "getInvalid",
13682
+ "privacy": "protected",
13683
+ "return": {
13684
+ "type": {
13685
+ "text": "\"true\" | undefined"
13686
+ }
13565
13687
  }
13566
13688
  }
13567
13689
  ]
@@ -13569,308 +13691,272 @@
13569
13691
  {
13570
13692
  "kind": "mixin",
13571
13693
  "description": "",
13572
- "name": "InputMixin",
13694
+ "name": "FormAssociatedMixin",
13573
13695
  "members": [
13574
13696
  {
13575
13697
  "kind": "field",
13576
- "name": "disabled",
13577
- "type": {
13578
- "text": "boolean"
13579
- },
13580
- "default": "false",
13581
- "description": "Makes the component disabled. This prevents users from\nbeing able to interact with the component, and conveys\nits inactive state to assistive technologies.",
13582
- "attribute": "disabled",
13583
- "reflects": true
13698
+ "name": "labelSlot",
13699
+ "privacy": "protected",
13700
+ "default": "new SlotController(this, \"label\")"
13584
13701
  },
13585
13702
  {
13586
13703
  "kind": "field",
13587
- "name": "name",
13588
- "type": {
13589
- "text": "string | undefined"
13590
- },
13591
- "description": "The name of the form component.",
13592
- "attribute": "name"
13704
+ "name": "errorSlot",
13705
+ "privacy": "protected",
13706
+ "default": "new SlotController(this, \"error\")"
13593
13707
  },
13594
13708
  {
13595
13709
  "kind": "field",
13596
- "name": "value",
13597
- "type": {
13598
- "text": "string"
13599
- },
13600
- "default": "\"\"",
13601
- "description": "The value of the form component.",
13602
- "attribute": "value"
13710
+ "name": "hintSlot",
13711
+ "privacy": "protected",
13712
+ "default": "new SlotController(this, \"hint\")"
13603
13713
  },
13604
13714
  {
13605
13715
  "kind": "field",
13606
- "name": "form",
13716
+ "name": "formData",
13607
13717
  "privacy": "protected",
13608
- "description": "Gets the form, if any, associated with the form element."
13609
- }
13610
- ],
13611
- "attributes": [
13718
+ "default": "new FormDataController(this, { value: () => this.formValue })"
13719
+ },
13612
13720
  {
13613
- "name": "disabled",
13614
- "type": {
13615
- "text": "boolean"
13616
- },
13617
- "default": "false",
13618
- "description": "Makes the component disabled. This prevents users from\nbeing able to interact with the component, and conveys\nits inactive state to assistive technologies.",
13619
- "fieldName": "disabled"
13721
+ "kind": "field",
13722
+ "name": "formValue",
13723
+ "privacy": "protected"
13620
13724
  },
13621
13725
  {
13622
- "name": "name",
13726
+ "kind": "field",
13727
+ "name": "inputId",
13623
13728
  "type": {
13624
- "text": "string | undefined"
13729
+ "text": "string"
13625
13730
  },
13626
- "description": "The name of the form component.",
13627
- "fieldName": "name"
13731
+ "privacy": "protected",
13732
+ "default": "\"input\""
13628
13733
  },
13629
13734
  {
13630
- "name": "value",
13735
+ "kind": "field",
13736
+ "name": "errorId",
13631
13737
  "type": {
13632
13738
  "text": "string"
13633
13739
  },
13634
- "default": "\"\"",
13635
- "description": "The value of the form component.",
13636
- "fieldName": "value"
13637
- }
13638
- ],
13639
- "parameters": [
13640
- {
13641
- "name": "superClass",
13642
- "type": {
13643
- "text": "T"
13644
- }
13645
- }
13646
- ]
13647
- }
13648
- ],
13649
- "exports": [
13650
- {
13651
- "kind": "js",
13652
- "name": "InputMixinInterface",
13653
- "declaration": {
13654
- "name": "InputMixinInterface",
13655
- "module": "src/common/mixins/InputMixin.ts"
13656
- }
13657
- },
13658
- {
13659
- "kind": "js",
13660
- "name": "InputMixin",
13661
- "declaration": {
13662
- "name": "InputMixin",
13663
- "module": "src/common/mixins/InputMixin.ts"
13664
- }
13665
- }
13666
- ]
13667
- },
13668
- {
13669
- "kind": "javascript-module",
13670
- "path": "src/common/directives/cond.ts",
13671
- "declarations": [
13672
- {
13673
- "kind": "function",
13674
- "name": "cond",
13675
- "return": {
13676
- "type": {
13677
- "text": "typeof value | typeof nothing"
13678
- }
13679
- },
13680
- "parameters": [
13681
- {
13682
- "name": "value",
13683
- "type": {
13684
- "text": "any"
13685
- }
13686
- }
13687
- ],
13688
- "description": "if value is truthy, return it, otherwise return nothing"
13689
- },
13690
- {
13691
- "kind": "function",
13692
- "name": "cond",
13693
- "return": {
13694
- "type": {
13695
- "text": "typeof trueCase | typeof nothing"
13696
- }
13697
- },
13698
- "parameters": [
13699
- {
13700
- "name": "condition",
13701
- "type": {
13702
- "text": "unknown"
13703
- }
13740
+ "privacy": "protected",
13741
+ "default": "\"error\""
13704
13742
  },
13705
13743
  {
13706
- "name": "trueCase",
13744
+ "kind": "field",
13745
+ "name": "hintId",
13707
13746
  "type": {
13708
- "text": "any"
13709
- }
13710
- }
13711
- ],
13712
- "description": "if condition is truthy, return trueCase, otherwise return nothing"
13713
- },
13714
- {
13715
- "kind": "function",
13716
- "name": "cond",
13717
- "return": {
13718
- "type": {
13719
- "text": "typeof trueCase"
13720
- }
13721
- },
13722
- "parameters": [
13747
+ "text": "string"
13748
+ },
13749
+ "privacy": "protected",
13750
+ "default": "\"hint\""
13751
+ },
13723
13752
  {
13724
- "name": "condition",
13753
+ "kind": "field",
13754
+ "name": "label",
13725
13755
  "type": {
13726
- "text": "true"
13727
- }
13756
+ "text": "string"
13757
+ },
13758
+ "default": "\"\"",
13759
+ "description": "Label for the input.",
13760
+ "attribute": "label"
13728
13761
  },
13729
13762
  {
13730
- "name": "trueCase",
13763
+ "kind": "field",
13764
+ "name": "hint",
13731
13765
  "type": {
13732
- "text": "any"
13733
- }
13734
- }
13735
- ],
13736
- "description": "condition is true, so always return trueCase"
13737
- },
13738
- {
13739
- "kind": "function",
13740
- "name": "cond",
13741
- "return": {
13742
- "type": {
13743
- "text": "typeof nothing"
13744
- }
13745
- },
13746
- "parameters": [
13766
+ "text": "string | undefined"
13767
+ },
13768
+ "description": "Optional hint text to be displayed with the input. Alternatively use the hint slot.",
13769
+ "attribute": "hint"
13770
+ },
13747
13771
  {
13748
- "name": "condition",
13772
+ "kind": "field",
13773
+ "name": "hideLabel",
13749
13774
  "type": {
13750
- "text": "false"
13751
- }
13775
+ "text": "boolean"
13776
+ },
13777
+ "default": "false",
13778
+ "description": "Visually hide the label, but still show it to assistive technologies like screen readers.",
13779
+ "attribute": "hide-label"
13752
13780
  },
13753
13781
  {
13754
- "name": "trueCase",
13782
+ "kind": "field",
13783
+ "name": "placeholder",
13755
13784
  "type": {
13756
- "text": "any"
13757
- }
13758
- }
13759
- ],
13760
- "description": "condition is false, to will always return nothing"
13761
- },
13762
- {
13763
- "kind": "function",
13764
- "name": "cond",
13765
- "return": {
13766
- "type": {
13767
- "text": "typeof trueCase | typeof falseCase"
13768
- }
13769
- },
13770
- "parameters": [
13785
+ "text": "string | undefined"
13786
+ },
13787
+ "description": "Placeholder text to display within the input.",
13788
+ "attribute": "placeholder"
13789
+ },
13771
13790
  {
13772
- "name": "condition",
13791
+ "kind": "field",
13792
+ "name": "error",
13773
13793
  "type": {
13774
- "text": "unknown"
13775
- }
13794
+ "text": "string | undefined"
13795
+ },
13796
+ "description": "Optional error to be shown with the input. Alternatively use the error slot.",
13797
+ "attribute": "error"
13776
13798
  },
13777
13799
  {
13778
- "name": "trueCase",
13800
+ "kind": "field",
13801
+ "name": "required",
13779
13802
  "type": {
13780
- "text": "any"
13781
- }
13803
+ "text": "boolean"
13804
+ },
13805
+ "default": "false",
13806
+ "description": "Determines whether the input is required or not.\nAn input marked as required will be announced as such to users of assistive technology.\nWhen using this property you need to also set “novalidate” attribute on a form element to prevent browser from displaying its own validation errors.",
13807
+ "attribute": "required"
13782
13808
  },
13783
13809
  {
13784
- "name": "falseCase",
13810
+ "kind": "field",
13811
+ "name": "expand",
13785
13812
  "type": {
13786
- "text": "any"
13787
- }
13788
- }
13789
- ],
13790
- "description": "if condition is truthy, return trueCase, otherwise return falseCase"
13791
- },
13792
- {
13793
- "kind": "function",
13794
- "name": "cond",
13795
- "return": {
13796
- "type": {
13797
- "text": "typeof trueCase"
13798
- }
13799
- },
13800
- "parameters": [
13813
+ "text": "boolean"
13814
+ },
13815
+ "default": "false",
13816
+ "description": "Controls whether the input expands to fill the width of its container.",
13817
+ "attribute": "expand",
13818
+ "reflects": true
13819
+ },
13801
13820
  {
13802
- "name": "condition",
13803
- "type": {
13804
- "text": "true"
13805
- }
13821
+ "kind": "method",
13822
+ "name": "handleInput",
13823
+ "privacy": "protected",
13824
+ "parameters": [
13825
+ {
13826
+ "name": "e",
13827
+ "type": {
13828
+ "text": "Event"
13829
+ }
13830
+ }
13831
+ ]
13806
13832
  },
13807
13833
  {
13808
- "name": "trueCase",
13834
+ "kind": "method",
13835
+ "name": "handleChange",
13836
+ "privacy": "protected",
13837
+ "parameters": [
13838
+ {
13839
+ "name": "e",
13840
+ "type": {
13841
+ "text": "Event"
13842
+ }
13843
+ }
13844
+ ]
13845
+ },
13846
+ {
13847
+ "kind": "method",
13848
+ "name": "renderLabel",
13849
+ "privacy": "protected"
13850
+ },
13851
+ {
13852
+ "kind": "method",
13853
+ "name": "renderError",
13854
+ "privacy": "protected"
13855
+ },
13856
+ {
13857
+ "kind": "method",
13858
+ "name": "getDescribedBy",
13859
+ "privacy": "protected"
13860
+ },
13861
+ {
13862
+ "kind": "method",
13863
+ "name": "getInvalid",
13864
+ "privacy": "protected"
13865
+ },
13866
+ {
13867
+ "kind": "field",
13868
+ "name": "hasHint",
13869
+ "privacy": "protected"
13870
+ },
13871
+ {
13872
+ "kind": "field",
13873
+ "name": "hasError",
13874
+ "privacy": "protected"
13875
+ }
13876
+ ],
13877
+ "events": [
13878
+ {
13879
+ "name": "input",
13809
13880
  "type": {
13810
- "text": "any"
13811
- }
13881
+ "text": "NordEvent"
13882
+ },
13883
+ "description": "Fired as the user types into the input."
13812
13884
  },
13813
13885
  {
13814
- "name": "falseCase",
13886
+ "name": "change",
13815
13887
  "type": {
13816
- "text": "any"
13817
- }
13888
+ "text": "NordEvent"
13889
+ },
13890
+ "description": "Fired whenever the input's value is changed via user interaction."
13818
13891
  }
13819
13892
  ],
13820
- "description": "condition is true, so always return trueCase"
13821
- },
13822
- {
13823
- "kind": "function",
13824
- "name": "cond",
13825
- "return": {
13826
- "type": {
13827
- "text": "typeof falseCase"
13828
- }
13829
- },
13830
- "parameters": [
13893
+ "attributes": [
13831
13894
  {
13832
- "name": "condition",
13895
+ "name": "label",
13833
13896
  "type": {
13834
- "text": "false"
13835
- }
13897
+ "text": "string"
13898
+ },
13899
+ "default": "\"\"",
13900
+ "description": "Label for the input.",
13901
+ "fieldName": "label"
13836
13902
  },
13837
13903
  {
13838
- "name": "trueCase",
13904
+ "name": "hint",
13839
13905
  "type": {
13840
- "text": "any"
13841
- }
13906
+ "text": "string | undefined"
13907
+ },
13908
+ "description": "Optional hint text to be displayed with the input. Alternatively use the hint slot.",
13909
+ "fieldName": "hint"
13842
13910
  },
13843
13911
  {
13844
- "name": "falseCase",
13912
+ "name": "hide-label",
13845
13913
  "type": {
13846
- "text": "any"
13847
- }
13848
- }
13849
- ],
13850
- "description": "condition is false, so always return falseCase"
13851
- },
13852
- {
13853
- "kind": "function",
13854
- "name": "cond",
13855
- "parameters": [
13914
+ "text": "boolean"
13915
+ },
13916
+ "default": "false",
13917
+ "description": "Visually hide the label, but still show it to assistive technologies like screen readers.",
13918
+ "fieldName": "hideLabel"
13919
+ },
13856
13920
  {
13857
- "name": "condition",
13921
+ "name": "placeholder",
13858
13922
  "type": {
13859
- "text": "unknown"
13860
- }
13923
+ "text": "string | undefined"
13924
+ },
13925
+ "description": "Placeholder text to display within the input.",
13926
+ "fieldName": "placeholder"
13861
13927
  },
13862
13928
  {
13863
- "name": "trueCase",
13864
- "default": "condition",
13929
+ "name": "error",
13865
13930
  "type": {
13866
- "text": "any"
13867
- }
13931
+ "text": "string | undefined"
13932
+ },
13933
+ "description": "Optional error to be shown with the input. Alternatively use the error slot.",
13934
+ "fieldName": "error"
13935
+ },
13936
+ {
13937
+ "name": "required",
13938
+ "type": {
13939
+ "text": "boolean"
13940
+ },
13941
+ "default": "false",
13942
+ "description": "Determines whether the input is required or not.\nAn input marked as required will be announced as such to users of assistive technology.\nWhen using this property you need to also set “novalidate” attribute on a form element to prevent browser from displaying its own validation errors.",
13943
+ "fieldName": "required"
13868
13944
  },
13869
13945
  {
13870
- "name": "falseCase",
13871
- "default": "nothing",
13946
+ "name": "expand",
13872
13947
  "type": {
13873
- "text": "any"
13948
+ "text": "boolean"
13949
+ },
13950
+ "default": "false",
13951
+ "description": "Controls whether the input expands to fill the width of its container.",
13952
+ "fieldName": "expand"
13953
+ }
13954
+ ],
13955
+ "parameters": [
13956
+ {
13957
+ "name": "superClass",
13958
+ "type": {
13959
+ "text": "T"
13874
13960
  }
13875
13961
  }
13876
13962
  ]
@@ -13879,222 +13965,156 @@
13879
13965
  "exports": [
13880
13966
  {
13881
13967
  "kind": "js",
13882
- "name": "cond",
13883
- "declaration": {
13884
- "name": "cond",
13885
- "module": "src/common/directives/cond.ts"
13886
- }
13887
- },
13888
- {
13889
- "kind": "js",
13890
- "name": "cond",
13891
- "declaration": {
13892
- "name": "cond",
13893
- "module": "src/common/directives/cond.ts"
13894
- }
13895
- },
13896
- {
13897
- "kind": "js",
13898
- "name": "cond",
13899
- "declaration": {
13900
- "name": "cond",
13901
- "module": "src/common/directives/cond.ts"
13902
- }
13903
- },
13904
- {
13905
- "kind": "js",
13906
- "name": "cond",
13907
- "declaration": {
13908
- "name": "cond",
13909
- "module": "src/common/directives/cond.ts"
13910
- }
13911
- },
13912
- {
13913
- "kind": "js",
13914
- "name": "cond",
13915
- "declaration": {
13916
- "name": "cond",
13917
- "module": "src/common/directives/cond.ts"
13918
- }
13919
- },
13920
- {
13921
- "kind": "js",
13922
- "name": "cond",
13923
- "declaration": {
13924
- "name": "cond",
13925
- "module": "src/common/directives/cond.ts"
13926
- }
13927
- },
13928
- {
13929
- "kind": "js",
13930
- "name": "cond",
13968
+ "name": "FormAssociatedMixinInterface",
13931
13969
  "declaration": {
13932
- "name": "cond",
13933
- "module": "src/common/directives/cond.ts"
13970
+ "name": "FormAssociatedMixinInterface",
13971
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
13934
13972
  }
13935
13973
  },
13936
13974
  {
13937
13975
  "kind": "js",
13938
- "name": "cond",
13976
+ "name": "FormAssociatedMixin",
13939
13977
  "declaration": {
13940
- "name": "cond",
13941
- "module": "src/common/directives/cond.ts"
13978
+ "name": "FormAssociatedMixin",
13979
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
13942
13980
  }
13943
13981
  }
13944
13982
  ]
13945
13983
  },
13946
13984
  {
13947
13985
  "kind": "javascript-module",
13948
- "path": "src/common/directives/wrapIf.ts",
13986
+ "path": "src/common/mixins/InputMixin.ts",
13949
13987
  "declarations": [
13950
13988
  {
13951
- "kind": "function",
13952
- "name": "wrapIf",
13953
- "return": {
13954
- "type": {
13955
- "text": "TInner"
13956
- }
13957
- },
13958
- "parameters": [
13959
- {
13960
- "name": "condition",
13961
- "type": {
13962
- "text": "false"
13963
- }
13964
- },
13989
+ "kind": "class",
13990
+ "description": "",
13991
+ "name": "InputMixinInterface",
13992
+ "members": [
13965
13993
  {
13966
- "name": "inner",
13994
+ "kind": "field",
13995
+ "name": "name",
13967
13996
  "type": {
13968
- "text": "() => TInner"
13997
+ "text": "string | undefined"
13969
13998
  }
13970
13999
  },
13971
14000
  {
13972
- "name": "wrapper",
13973
- "type": {
13974
- "text": "(inner: TInner) => TWrapper"
13975
- }
13976
- }
13977
- ]
13978
- },
13979
- {
13980
- "kind": "function",
13981
- "name": "wrapIf",
13982
- "return": {
13983
- "type": {
13984
- "text": "TWrapper"
13985
- }
13986
- },
13987
- "parameters": [
13988
- {
13989
- "name": "condition",
14001
+ "kind": "field",
14002
+ "name": "value",
13990
14003
  "type": {
13991
- "text": "true"
14004
+ "text": "string"
13992
14005
  }
13993
14006
  },
13994
14007
  {
13995
- "name": "inner",
14008
+ "kind": "field",
14009
+ "name": "disabled",
13996
14010
  "type": {
13997
- "text": "() => TInner"
14011
+ "text": "boolean"
13998
14012
  }
13999
14013
  },
14000
14014
  {
14001
- "name": "wrapper",
14015
+ "kind": "field",
14016
+ "name": "form",
14002
14017
  "type": {
14003
- "text": "(inner: TInner) => TWrapper"
14018
+ "text": "HTMLFormElement | undefined"
14004
14019
  }
14005
14020
  }
14006
14021
  ]
14007
14022
  },
14008
14023
  {
14009
- "kind": "function",
14010
- "name": "wrapIf",
14011
- "return": {
14012
- "type": {
14013
- "text": "TInner | TWrapper"
14014
- }
14015
- },
14016
- "parameters": [
14024
+ "kind": "mixin",
14025
+ "description": "",
14026
+ "name": "InputMixin",
14027
+ "members": [
14017
14028
  {
14018
- "name": "condition",
14029
+ "kind": "field",
14030
+ "name": "disabled",
14019
14031
  "type": {
14020
- "text": "unknown"
14021
- }
14032
+ "text": "boolean"
14033
+ },
14034
+ "default": "false",
14035
+ "description": "Makes the component disabled. This prevents users from\nbeing able to interact with the component, and conveys\nits inactive state to assistive technologies.",
14036
+ "attribute": "disabled",
14037
+ "reflects": true
14022
14038
  },
14023
14039
  {
14024
- "name": "inner",
14040
+ "kind": "field",
14041
+ "name": "name",
14025
14042
  "type": {
14026
- "text": "() => TInner"
14027
- }
14043
+ "text": "string | undefined"
14044
+ },
14045
+ "description": "The name of the form component.",
14046
+ "attribute": "name"
14028
14047
  },
14029
14048
  {
14030
- "name": "wrapper",
14049
+ "kind": "field",
14050
+ "name": "value",
14031
14051
  "type": {
14032
- "text": "(inner: TInner) => TWrapper"
14033
- }
14052
+ "text": "string"
14053
+ },
14054
+ "default": "\"\"",
14055
+ "description": "The value of the form component.",
14056
+ "attribute": "value"
14057
+ },
14058
+ {
14059
+ "kind": "field",
14060
+ "name": "form",
14061
+ "privacy": "protected",
14062
+ "description": "Gets the form, if any, associated with the form element."
14034
14063
  }
14035
- ]
14036
- },
14037
- {
14038
- "kind": "function",
14039
- "name": "wrapIf",
14040
- "parameters": [
14064
+ ],
14065
+ "attributes": [
14041
14066
  {
14042
- "name": "condition",
14067
+ "name": "disabled",
14043
14068
  "type": {
14044
- "text": "any"
14045
- }
14069
+ "text": "boolean"
14070
+ },
14071
+ "default": "false",
14072
+ "description": "Makes the component disabled. This prevents users from\nbeing able to interact with the component, and conveys\nits inactive state to assistive technologies.",
14073
+ "fieldName": "disabled"
14046
14074
  },
14047
14075
  {
14048
- "name": "inner",
14076
+ "name": "name",
14049
14077
  "type": {
14050
- "text": "() => TInner"
14051
- }
14078
+ "text": "string | undefined"
14079
+ },
14080
+ "description": "The name of the form component.",
14081
+ "fieldName": "name"
14052
14082
  },
14053
14083
  {
14054
- "name": "wrapper",
14084
+ "name": "value",
14055
14085
  "type": {
14056
- "text": "(innards: TInner) => TWrapper"
14057
- }
14086
+ "text": "string"
14087
+ },
14088
+ "default": "\"\"",
14089
+ "description": "The value of the form component.",
14090
+ "fieldName": "value"
14058
14091
  }
14059
14092
  ],
14060
- "return": {
14061
- "type": {
14062
- "text": ""
14093
+ "parameters": [
14094
+ {
14095
+ "name": "superClass",
14096
+ "type": {
14097
+ "text": "T"
14098
+ }
14063
14099
  }
14064
- }
14100
+ ]
14065
14101
  }
14066
14102
  ],
14067
14103
  "exports": [
14068
14104
  {
14069
14105
  "kind": "js",
14070
- "name": "wrapIf",
14071
- "declaration": {
14072
- "name": "wrapIf",
14073
- "module": "src/common/directives/wrapIf.ts"
14074
- }
14075
- },
14076
- {
14077
- "kind": "js",
14078
- "name": "wrapIf",
14079
- "declaration": {
14080
- "name": "wrapIf",
14081
- "module": "src/common/directives/wrapIf.ts"
14082
- }
14083
- },
14084
- {
14085
- "kind": "js",
14086
- "name": "wrapIf",
14106
+ "name": "InputMixinInterface",
14087
14107
  "declaration": {
14088
- "name": "wrapIf",
14089
- "module": "src/common/directives/wrapIf.ts"
14108
+ "name": "InputMixinInterface",
14109
+ "module": "src/common/mixins/InputMixin.ts"
14090
14110
  }
14091
14111
  },
14092
14112
  {
14093
14113
  "kind": "js",
14094
- "name": "wrapIf",
14114
+ "name": "InputMixin",
14095
14115
  "declaration": {
14096
- "name": "wrapIf",
14097
- "module": "src/common/directives/wrapIf.ts"
14116
+ "name": "InputMixin",
14117
+ "module": "src/common/mixins/InputMixin.ts"
14098
14118
  }
14099
14119
  }
14100
14120
  ]