@nordhealth/components 2.16.1-alpha.5 → 2.17.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.
Files changed (168) hide show
  1. package/README.md +1 -1
  2. package/custom-elements.json +1277 -791
  3. package/lib/{AutocompleteMixin-c8018288.js → AutocompleteMixin-5163f8db.js} +2 -2
  4. package/lib/{AutocompleteMixin-c8018288.js.map → AutocompleteMixin-5163f8db.js.map} +1 -1
  5. package/lib/Avatar.js +1 -1
  6. package/lib/Badge.js +1 -1
  7. package/lib/Badge.js.map +1 -1
  8. package/lib/Banner.js +1 -1
  9. package/lib/Banner.js.map +1 -1
  10. package/lib/Button.js +1 -1
  11. package/lib/Button.js.map +1 -1
  12. package/lib/ButtonGroup.js +1 -1
  13. package/lib/Calendar-8ee21eab.js +2 -0
  14. package/lib/{Calendar-27eae615.js.map → Calendar-8ee21eab.js.map} +1 -1
  15. package/lib/Calendar.js +1 -1
  16. package/lib/Card.js +1 -1
  17. package/lib/Checkbox.js +1 -1
  18. package/lib/Checkbox.js.map +1 -1
  19. package/lib/CommandMenu.js +1 -1
  20. package/lib/CommandMenu.js.map +1 -1
  21. package/lib/CommandMenuAction.js +1 -1
  22. package/lib/CommandMenuAction.js.map +1 -1
  23. package/lib/{Component-d4d6fa77.js → Component-449e40fb.js} +2 -2
  24. package/lib/Component-449e40fb.js.map +1 -0
  25. package/lib/DatePicker.js +1 -1
  26. package/lib/DatePicker.js.map +1 -1
  27. package/lib/DateSelectEvent.js +1 -1
  28. package/lib/Divider.js +1 -1
  29. package/lib/Divider.js.map +1 -1
  30. package/lib/Drawer.js +1 -1
  31. package/lib/Dropdown.js +1 -1
  32. package/lib/Dropdown.js.map +1 -1
  33. package/lib/DropdownGroup.js +1 -1
  34. package/lib/DropdownGroup.js.map +1 -1
  35. package/lib/DropdownItem.js +1 -1
  36. package/lib/EmptyState.js +1 -1
  37. package/lib/EmptyState.js.map +1 -1
  38. package/lib/Fieldset.js +1 -1
  39. package/lib/FocusableMixin-32631bff.js +2 -0
  40. package/lib/{FocusableMixin-fc1e2a13.js.map → FocusableMixin-32631bff.js.map} +1 -1
  41. package/lib/{FormAssociatedMixin-ad4d6c08.js → FormAssociatedMixin-9e798802.js} +2 -2
  42. package/lib/{FormAssociatedMixin-ad4d6c08.js.map → FormAssociatedMixin-9e798802.js.map} +1 -1
  43. package/lib/{FormField-c733b196.js → FormField-3f772bad.js} +2 -2
  44. package/lib/FormField-3f772bad.js.map +1 -0
  45. package/lib/Header.js +1 -1
  46. package/lib/Header.js.map +1 -1
  47. package/lib/Icon.js +1 -1
  48. package/lib/Input.js +1 -1
  49. package/lib/Input.js.map +1 -1
  50. package/lib/{InputMixin-1564ca2a.js → InputMixin-7fa755e1.js} +2 -2
  51. package/lib/{InputMixin-1564ca2a.js.map → InputMixin-7fa755e1.js.map} +1 -1
  52. package/lib/Layout.js +1 -1
  53. package/lib/Layout.js.map +1 -1
  54. package/lib/{LightDomController-3b7b1f44.js → LightDomController-052f446a.js} +2 -2
  55. package/lib/{LightDomController-3b7b1f44.js.map → LightDomController-052f446a.js.map} +1 -1
  56. package/lib/LocalizeController.js +1 -1
  57. package/lib/LocalizeController.js.map +1 -1
  58. package/lib/Modal.js +1 -1
  59. package/lib/Modal.js.map +1 -1
  60. package/lib/NavGroup.js +1 -1
  61. package/lib/NavItem.js +1 -1
  62. package/lib/NavItem.js.map +1 -1
  63. package/lib/NavToggle.js +1 -1
  64. package/lib/NavToggle.js.map +1 -1
  65. package/lib/Navigation.js +1 -1
  66. package/lib/Navigation.js.map +1 -1
  67. package/lib/Notification.js +2 -0
  68. package/lib/Notification.js.map +1 -0
  69. package/lib/NotificationGroup.js +2 -0
  70. package/lib/NotificationGroup.js.map +1 -0
  71. package/lib/NotificationMixin-86b09bcd.js +2 -0
  72. package/lib/NotificationMixin-86b09bcd.js.map +1 -0
  73. package/lib/{Popout-0baf2085.js → Popout-bb7ff989.js} +2 -2
  74. package/lib/{Popout-0baf2085.js.map → Popout-bb7ff989.js.map} +1 -1
  75. package/lib/Popout.js +1 -1
  76. package/lib/ProgressBar.js +1 -1
  77. package/lib/Qrcode.js +1 -1
  78. package/lib/Radio.js +1 -1
  79. package/lib/Radio.js.map +1 -1
  80. package/lib/Range.js +1 -1
  81. package/lib/Select.js +1 -1
  82. package/lib/SelectEvent.js +1 -1
  83. package/lib/{SizeMixin-9da6dc81.js → SizeMixin-4d04817d.js} +2 -2
  84. package/lib/{SizeMixin-9da6dc81.js.map → SizeMixin-4d04817d.js.map} +1 -1
  85. package/lib/Skeleton.js +1 -1
  86. package/lib/Skeleton.js.map +1 -1
  87. package/lib/Spinner.js +1 -1
  88. package/lib/Stack.js +1 -1
  89. package/lib/{Sticky-64b0b58a.js → Sticky-c4cf185e.js} +2 -2
  90. package/lib/Sticky-c4cf185e.js.map +1 -0
  91. package/lib/Tab.js +1 -1
  92. package/lib/Tab.js.map +1 -1
  93. package/lib/TabGroup.js +1 -1
  94. package/lib/TabGroup.js.map +1 -1
  95. package/lib/TabPanel.js +1 -1
  96. package/lib/Table.js +1 -1
  97. package/lib/TextField-55a08df5.js +2 -0
  98. package/lib/{TextField-6a272cd7.js.map → TextField-55a08df5.js.map} +1 -1
  99. package/lib/Textarea.js +1 -1
  100. package/lib/Textarea.js.map +1 -1
  101. package/lib/Toast.js +1 -1
  102. package/lib/Toast.js.map +1 -1
  103. package/lib/ToastGroup.js +1 -1
  104. package/lib/Toggle.js +1 -1
  105. package/lib/Toggle.js.map +1 -1
  106. package/lib/Tooltip.js +1 -1
  107. package/lib/VisuallyHidden.js +1 -1
  108. package/lib/bundle.js +10 -9
  109. package/lib/bundle.js.map +1 -1
  110. package/lib/class-map-21152cee.js +7 -0
  111. package/lib/{class-map-1bc3148f.js.map → class-map-21152cee.js.map} +1 -1
  112. package/lib/{collection-a0cd49b2.js → collection-7eee4e72.js} +2 -2
  113. package/lib/{collection-a0cd49b2.js.map → collection-7eee4e72.js.map} +1 -1
  114. package/lib/cond-2da54107.js +2 -0
  115. package/lib/{cond-8e7df9cf.js.map → cond-2da54107.js.map} +1 -1
  116. package/lib/en-us.js +1 -1
  117. package/lib/en-us.js.map +1 -1
  118. package/lib/events-d9666e88.js +2 -0
  119. package/lib/events-d9666e88.js.map +1 -0
  120. package/lib/fi-fi.js +1 -1
  121. package/lib/fi-fi.js.map +1 -1
  122. package/lib/{if-defined-718a58b2.js → if-defined-720964c0.js} +2 -2
  123. package/lib/{if-defined-718a58b2.js.map → if-defined-720964c0.js.map} +1 -1
  124. package/lib/index.js +1 -1
  125. package/lib/localization7.js +2 -0
  126. package/lib/localization7.js.map +1 -0
  127. package/lib/positioning-3bbd3548.js +2 -0
  128. package/lib/positioning-3bbd3548.js.map +1 -0
  129. package/lib/query-assigned-elements-cf502539.js +35 -0
  130. package/lib/query-assigned-elements-cf502539.js.map +1 -0
  131. package/lib/{ref-4265fcf9.js → ref-c44e9f3c.js} +4 -4
  132. package/lib/{ref-4265fcf9.js.map → ref-c44e9f3c.js.map} +1 -1
  133. package/lib/src/common/events.d.ts +1 -0
  134. package/lib/src/common/mixins/NotificationMixin.d.ts +10 -0
  135. package/lib/src/drawer/Drawer.test.d.ts +1 -0
  136. package/lib/src/header/Header.d.ts +4 -0
  137. package/lib/src/index.d.ts +2 -0
  138. package/lib/src/input/Input.d.ts +2 -1
  139. package/lib/src/layout/Layout.d.ts +2 -2
  140. package/lib/src/localization/en-us.d.ts +3 -0
  141. package/lib/src/localization/translation.d.ts +3 -0
  142. package/lib/src/navigation/Navigation.d.ts +1 -1
  143. package/lib/src/notification/Notification.d.ts +26 -0
  144. package/lib/src/notification/Notification.test.d.ts +1 -0
  145. package/lib/src/notification/localization.d.ts +4 -0
  146. package/lib/src/notification-group/NotificationGroup.d.ts +19 -0
  147. package/lib/src/notification-group/NotificationGroup.test.d.ts +1 -0
  148. package/lib/src/skeleton/Skeleton.d.ts +2 -1
  149. package/lib/src/toast/Toast.d.ts +3 -4
  150. package/lib/{style-map-c63c0180.js → style-map-2e8fcab6.js} +2 -2
  151. package/lib/{style-map-c63c0180.js.map → style-map-2e8fcab6.js.map} +1 -1
  152. package/lib/translation.js +1 -1
  153. package/lib/translation.js.map +1 -1
  154. package/package.json +7 -6
  155. package/lib/Calendar-27eae615.js +0 -2
  156. package/lib/Component-d4d6fa77.js.map +0 -1
  157. package/lib/FocusableMixin-fc1e2a13.js +0 -2
  158. package/lib/FormField-c733b196.js.map +0 -1
  159. package/lib/Sticky-64b0b58a.js.map +0 -1
  160. package/lib/TextField-6a272cd7.js +0 -2
  161. package/lib/class-map-1bc3148f.js +0 -7
  162. package/lib/cond-8e7df9cf.js +0 -2
  163. package/lib/events-5337a6d7.js +0 -2
  164. package/lib/events-5337a6d7.js.map +0 -1
  165. package/lib/positioning-acf73137.js +0 -2
  166. package/lib/positioning-acf73137.js.map +0 -1
  167. package/lib/query-assigned-elements-89f41e17.js +0 -34
  168. package/lib/query-assigned-elements-89f41e17.js.map +0 -1
@@ -398,6 +398,22 @@
398
398
  "name": "default",
399
399
  "module": "\"./button-group/ButtonGroup.js\""
400
400
  }
401
+ },
402
+ {
403
+ "kind": "js",
404
+ "name": "Notification",
405
+ "declaration": {
406
+ "name": "default",
407
+ "module": "\"./notification/Notification.js\""
408
+ }
409
+ },
410
+ {
411
+ "kind": "js",
412
+ "name": "NotificationGroup",
413
+ "declaration": {
414
+ "name": "default",
415
+ "module": "\"./notification-group/NotificationGroup.js\""
416
+ }
401
417
  }
402
418
  ]
403
419
  },
@@ -564,6 +580,10 @@
564
580
  "category": "image",
565
581
  "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",
566
582
  "examples": [],
583
+ "dependencies": [
584
+ "visually-hidden",
585
+ "icon"
586
+ ],
567
587
  "tagName": "nord-avatar",
568
588
  "customElement": true
569
589
  }
@@ -587,6 +607,96 @@
587
607
  }
588
608
  ]
589
609
  },
610
+ {
611
+ "kind": "javascript-module",
612
+ "path": "src/badge/Badge.ts",
613
+ "declarations": [
614
+ {
615
+ "kind": "class",
616
+ "description": "Badges are used to inform users of the status of an object\nor of an action that’s been taken. Commonly used in tabular\ndata to indicate status.",
617
+ "name": "Badge",
618
+ "slots": [
619
+ {
620
+ "description": "The badge content.",
621
+ "name": ""
622
+ }
623
+ ],
624
+ "members": [
625
+ {
626
+ "kind": "field",
627
+ "name": "type",
628
+ "type": {
629
+ "text": "\"warning\" | \"success\" | \"danger\" | \"highlight\" | \"info\" | \"neutral\" | \"progress\" | undefined"
630
+ },
631
+ "default": "\"neutral\"",
632
+ "description": "The type of badge.\nDetermines the background color of the badge.",
633
+ "attribute": "type",
634
+ "reflects": true
635
+ },
636
+ {
637
+ "kind": "field",
638
+ "name": "progress",
639
+ "type": {
640
+ "text": "\"cancelled\" | \"complete\" | \"incomplete\" | \"partially-complete\" | undefined"
641
+ },
642
+ "description": "The progress of the badge. Displays a progress\nindicator next to the label.",
643
+ "attribute": "progress"
644
+ }
645
+ ],
646
+ "attributes": [
647
+ {
648
+ "name": "type",
649
+ "type": {
650
+ "text": "\"warning\" | \"success\" | \"danger\" | \"highlight\" | \"info\" | \"neutral\" | \"progress\" | undefined"
651
+ },
652
+ "default": "\"neutral\"",
653
+ "description": "The type of badge.\nDetermines the background color of the badge.",
654
+ "fieldName": "type"
655
+ },
656
+ {
657
+ "name": "progress",
658
+ "type": {
659
+ "text": "\"cancelled\" | \"complete\" | \"incomplete\" | \"partially-complete\" | undefined"
660
+ },
661
+ "description": "The progress of the badge. Displays a progress\nindicator next to the label.",
662
+ "fieldName": "progress"
663
+ }
664
+ ],
665
+ "superclass": {
666
+ "name": "LitElement",
667
+ "package": "lit"
668
+ },
669
+ "localization": [],
670
+ "status": "ready",
671
+ "category": "text",
672
+ "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 established variants and color patterns so that users can clearly identify the importance level.\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- 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| `neutral` | The default style variant. |\n| `info` | 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| `progress` | Used to convey something that’s in progress. |\n",
673
+ "examples": [],
674
+ "dependencies": [
675
+ "icon"
676
+ ],
677
+ "tagName": "nord-badge",
678
+ "customElement": true
679
+ }
680
+ ],
681
+ "exports": [
682
+ {
683
+ "kind": "js",
684
+ "name": "default",
685
+ "declaration": {
686
+ "name": "Badge",
687
+ "module": "src/badge/Badge.ts"
688
+ }
689
+ },
690
+ {
691
+ "kind": "custom-element-definition",
692
+ "name": "nord-badge",
693
+ "declaration": {
694
+ "name": "Badge",
695
+ "module": "src/badge/Badge.ts"
696
+ }
697
+ }
698
+ ]
699
+ },
590
700
  {
591
701
  "kind": "javascript-module",
592
702
  "path": "src/button/Button.ts",
@@ -1104,6 +1214,9 @@
1104
1214
  "category": "action",
1105
1215
  "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- Only use one primary button per section, as a main call-to-action.\n- Use clear and accurate labels.\n- Use established button colors appropriately. For example, only use a danger button style for an action that’s difficult or impossible to undo.\n- Prioritize the most important actions. Too many buttons will cause confusion.\n- Be consistent with positioning of buttons in the user interface.\n- Use strong, actionable verbs in labels such as “Add”, “Close”, “Cancel”, or “Save”.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don't use a primary button in every row of a table.\n- Don’t use buttons to link to other pages. Use regular link or a plain style instead where necessary.\n- Don’t use buttons for navigation where the link appears within or following a sentence.\n- Don’t use labels such as “Read more”, “Click here” or “More”.\n\n</div>\n\n---\n\n## Content guidelines\n\nButton labels should be clear, accurate and predictable. It should be possible for the user to understand what will happen when they click a button:\n\n<div class=\"n-usage n-usage-do\">View user settings</div>\n<div class=\"n-usage n-usage-dont\">Click here</div>\n\nWhen writing button 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 button labels, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Add item</div>\n<div class=\"n-usage n-usage-dont\">Add an item</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| `default` | Default style is the most common button variant. Only switch to another variant if you need to adjust the visual weight of the element. |\n| `primary` | Primary style is reserved for main call-to-actions. Should be used only once per content area or panel, e.g. for a “Save” action. |\n| `dashed` | Dashed style should be used for actions that trigger filtering. |\n| `danger` | Danger style should be used for actions that delete data or otherwise make it hard to undo the action. |\n| `plain` | Used for less important or less common actions. Can be also used for linking to other pages. |\n| `disabled` | Used for actions that aren’t currently available or not available anymore. Also prevents users from being able to interact with the component, and conveys its inactive state to assistive technologies. |\n| `switch` | **Deprecated:** Switch style is reserved for the clinic switcher in the top left corner of an application. |\n\n---\n\n## Icon usage in button\n\nIllustrative icons should be always positioned in the `start` slot:\n\n<img src=\"/img/components/button/start-slot.png\" style=\"max-width:700px;\" loading=\"lazy\" height=\"475\" width=\"800\" alt=\"Button with icon in start slot\" />\n\nWhen a button is used as a dropdown toggle, the `interface-dropdown-small` icon from [Nordicons](/nordicons/) is automatically placed in the `end` slot:\n\n<img src=\"/img/components/button/dropdown.png\" style=\"max-width:700px;\" loading=\"lazy\" height=\"475\" width=\"800\" alt=\"Dropdown button\" />\n\nEach button size has a recommended icon size. The medium button uses the `s` icon size, the [small button](/components/button/?example=small+buttons) uses the `xs` icon size, and the [large button](/components/button/?example=large+buttons) uses the `m` icon size. The icon will adjust size automatically based on the button size, so you will get the correct behavior by default. However, this can be overridden by explicitly setting a size on the icon.\n\n<img src=\"/img/components/button/icon-sizes.png\" style=\"max-width:700px;\" loading=\"lazy\" height=\"475\" width=\"800\" alt=\"Button icon sizes\" />\n\nUse `interface-add-small` icon in the `start` slot for create/add type primary actions in the [header](/components/header/):\n\n<img src=\"/img/components/button/create.png\" style=\"max-width:700px;\" loading=\"lazy\" height=\"475\" width=\"800\" alt=\"Create/add type primary action with icon\" />\n\n---\n\n## Additional considerations\n\n- Users of assistive technology expect a button to submit data or do an action. If you need the button to navigate into another view, use the `href` property which will output `<a>` tag instead of a `<button>`.\n- When you need to disable a button, use `disabled` property as it conveys this information correctly to assistive technologies like screen readers.\n- Button component provides 3 size variants; small, medium and large. The large size should only be used for marketing purposes or on areas such as an empty space/content notice.\n",
1106
1216
  "examples": [],
1217
+ "dependencies": [
1218
+ "spinner"
1219
+ ],
1107
1220
  "tagName": "nord-button",
1108
1221
  "customElement": true
1109
1222
  }
@@ -1127,93 +1240,6 @@
1127
1240
  }
1128
1241
  ]
1129
1242
  },
1130
- {
1131
- "kind": "javascript-module",
1132
- "path": "src/badge/Badge.ts",
1133
- "declarations": [
1134
- {
1135
- "kind": "class",
1136
- "description": "Badges are used to inform users of the status of an object\nor of an action that’s been taken. Commonly used in tabular\ndata to indicate status.",
1137
- "name": "Badge",
1138
- "slots": [
1139
- {
1140
- "description": "The badge content.",
1141
- "name": ""
1142
- }
1143
- ],
1144
- "members": [
1145
- {
1146
- "kind": "field",
1147
- "name": "type",
1148
- "type": {
1149
- "text": "\"warning\" | \"success\" | \"danger\" | \"highlight\" | \"info\" | \"neutral\" | \"progress\" | undefined"
1150
- },
1151
- "default": "\"neutral\"",
1152
- "description": "The type of badge.\nDetermines the background color of the badge.",
1153
- "attribute": "type",
1154
- "reflects": true
1155
- },
1156
- {
1157
- "kind": "field",
1158
- "name": "progress",
1159
- "type": {
1160
- "text": "\"cancelled\" | \"complete\" | \"incomplete\" | \"partially-complete\" | undefined"
1161
- },
1162
- "description": "The progress of the badge. Displays a progress\nindicator next to the label.",
1163
- "attribute": "progress"
1164
- }
1165
- ],
1166
- "attributes": [
1167
- {
1168
- "name": "type",
1169
- "type": {
1170
- "text": "\"warning\" | \"success\" | \"danger\" | \"highlight\" | \"info\" | \"neutral\" | \"progress\" | undefined"
1171
- },
1172
- "default": "\"neutral\"",
1173
- "description": "The type of badge.\nDetermines the background color of the badge.",
1174
- "fieldName": "type"
1175
- },
1176
- {
1177
- "name": "progress",
1178
- "type": {
1179
- "text": "\"cancelled\" | \"complete\" | \"incomplete\" | \"partially-complete\" | undefined"
1180
- },
1181
- "description": "The progress of the badge. Displays a progress\nindicator next to the label.",
1182
- "fieldName": "progress"
1183
- }
1184
- ],
1185
- "superclass": {
1186
- "name": "LitElement",
1187
- "package": "lit"
1188
- },
1189
- "localization": [],
1190
- "status": "ready",
1191
- "category": "text",
1192
- "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 established variants and color patterns so that users can clearly identify the importance level.\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- 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| `neutral` | The default style variant. |\n| `info` | 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| `progress` | Used to convey something that’s in progress. |\n",
1193
- "examples": [],
1194
- "tagName": "nord-badge",
1195
- "customElement": true
1196
- }
1197
- ],
1198
- "exports": [
1199
- {
1200
- "kind": "js",
1201
- "name": "default",
1202
- "declaration": {
1203
- "name": "Badge",
1204
- "module": "src/badge/Badge.ts"
1205
- }
1206
- },
1207
- {
1208
- "kind": "custom-element-definition",
1209
- "name": "nord-badge",
1210
- "declaration": {
1211
- "name": "Badge",
1212
- "module": "src/badge/Badge.ts"
1213
- }
1214
- }
1215
- ]
1216
- },
1217
1243
  {
1218
1244
  "kind": "javascript-module",
1219
1245
  "path": "src/banner/Banner.ts",
@@ -1273,6 +1299,9 @@
1273
1299
  "category": "feedback",
1274
1300
  "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 this component if you need to communicate in a prominent way.\n- Place banner at the top of the section it applies to.\n- Use for highlighting errors and success statuses.\n- Put banner close to the context it’s referring to.\n- Move focus to the banner if it’s relevant to the current workflow.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Move focus to banner if it appears on page load.\n- Use for highlighting general content or as a banner.\n- Use to replace an error page.\n\n</div>\n\n---\n\n## Content guidelines\n\nBanner content should be clear, accurate and easy to understand:\n\n<div class=\"n-usage n-usage-do\">We’re experiencing an incident. Please see our status page for more details.</div>\n<div class=\"n-usage n-usage-dont\">There was an error.</div>\n\nWhen writing banner content, always write it 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\">We’re experiencing an incident.</div>\n<div class=\"n-usage n-usage-dont\">We’re Experiencing An Incident.</div>\n\nAlways end in punctuation:\n\n<div class=\"n-usage n-usage-do\">We’re experiencing an incident.</div>\n<div class=\"n-usage n-usage-dont\">We’re experiencing an incident</div>\n",
1275
1301
  "examples": [],
1302
+ "dependencies": [
1303
+ "icon"
1304
+ ],
1276
1305
  "tagName": "nord-banner",
1277
1306
  "customElement": true
1278
1307
  }
@@ -1393,8 +1422,9 @@
1393
1422
  "localization": [],
1394
1423
  "status": "draft",
1395
1424
  "category": "structure",
1396
- "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",
1425
+ "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 labels should be clear, accurate and predictable. It should be possible for the user to understand what will happen when they click a button:\n\n<div class=\"n-usage n-usage-do\">View user settings</div>\n<div class=\"n-usage n-usage-dont\">Click here</div>\n\nWhen writing button 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 button labels, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Add item</div>\n<div class=\"n-usage n-usage-dont\">Add an item</div>\n",
1397
1426
  "examples": [],
1427
+ "dependencies": [],
1398
1428
  "tagName": "nord-button-group",
1399
1429
  "customElement": true
1400
1430
  }
@@ -1844,6 +1874,11 @@
1844
1874
  "category": "list",
1845
1875
  "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 when the user needs to choose a single date or a date range.\n- Close calendar after a single date is selected, unless a range with a start and end date is required.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use for entering date of birth. Use input component instead.\n- Don’t use for choosing a date that is over 10 years in the future or the past.\n\n</div>\n\n---\n\n## Keyboard accessibility\n\nCalendar component is built to closely follow [W3C Date Picker Dialog example](https://www.w3.org/TR/wai-aria-practices/examples/dialog-modal/datepicker-dialog.html) with some small exceptions to e.g. better support iOS VoiceOver and Android TalkBack.\n\n### Month/year buttons\n\n- `Space, Enter`: Changes the month and/or year displayed.\n\n### Calendar grid\n\n- `Space, Enter`: Selects a date.\n- `Arrow up`: Moves focus to the same day of the previous week.\n- `Arrow down`: Moves focus to the same day of the next week.\n- `Arrow right`: Moves focus to the next day. In right-to-left languages, moves focus to the previous day.\n- `Arrow left`: Moves focus to the previous day. In right-to-left languages, moves focus to the next day.\n- `Home`: Moves focus to the first day (e.g Monday) of the current week.\n- `End`: Moves focus to the last day (e.g. Sunday) of the current week.\n- `Page Up`: Changes the grid of dates to the previous month and sets focus on the same day of the same week.\n- `Shift + Page Up`: Changes the grid of dates to the previous year and sets focus on the same day of the same week.\n- `Page Down`: Changes the grid of dates to the next month and sets focus on the same day of the same week.\n- `Shift + Page Down`: Changes the grid of dates to the next year and sets focus on the same day of the same week.\n",
1846
1876
  "examples": [],
1877
+ "dependencies": [
1878
+ "button",
1879
+ "visually-hidden",
1880
+ "icon"
1881
+ ],
1847
1882
  "tagName": "nord-calendar",
1848
1883
  "customElement": true
1849
1884
  }
@@ -1918,50 +1953,173 @@
1918
1953
  },
1919
1954
  {
1920
1955
  "kind": "javascript-module",
1921
- "path": "src/checkbox/Checkbox.ts",
1956
+ "path": "src/card/Card.ts",
1922
1957
  "declarations": [
1923
1958
  {
1924
1959
  "kind": "class",
1925
- "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.",
1926
- "name": "Checkbox",
1960
+ "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.",
1961
+ "name": "Card",
1962
+ "cssProperties": [
1963
+ {
1964
+ "description": "Controls how rounded the corners are, using [border radius tokens](/tokens/#border-radius).",
1965
+ "name": "--n-card-border-radius",
1966
+ "default": "var(--n-border-radius)"
1967
+ },
1968
+ {
1969
+ "description": "Controls the surrounding shadow, using [box shadow tokens](/tokens/#box-shadow).",
1970
+ "name": "--n-card-box-shadow",
1971
+ "default": "var(--n-box-shadow-popout)"
1972
+ },
1973
+ {
1974
+ "description": "Controls the padding on all sides of the card.",
1975
+ "name": "--n-card-padding",
1976
+ "default": "var(--n-space-m)"
1977
+ },
1978
+ {
1979
+ "description": "Controls the padding of items slotted within the card. This does not affect the block padding of items slotted into the header.",
1980
+ "name": "--n-card-slot-padding",
1981
+ "default": "var(--n-space-m)"
1982
+ }
1983
+ ],
1927
1984
  "slots": [
1928
1985
  {
1929
- "description": "Use when a label requires more than plain text.",
1930
- "name": "label"
1986
+ "description": "The card content.",
1987
+ "name": ""
1931
1988
  },
1932
1989
  {
1933
- "description": "Optional slot that holds hint text for the input.",
1934
- "name": "hint"
1990
+ "description": "Optional slot that holds a header for the card.",
1991
+ "name": "header"
1935
1992
  },
1936
1993
  {
1937
- "description": "Optional slot that holds error text for the input.",
1938
- "name": "error"
1994
+ "description": "Optional slot that positions content at the end of the header. Useful for actions or additional info.",
1995
+ "name": "header-end"
1996
+ },
1997
+ {
1998
+ "description": "Optional slot that holds footer content for the card.",
1999
+ "name": "footer"
1939
2000
  }
1940
2001
  ],
1941
2002
  "members": [
1942
2003
  {
1943
2004
  "kind": "field",
1944
- "name": "formValue",
1945
- "privacy": "protected",
1946
- "inheritedFrom": {
1947
- "name": "FormAssociatedMixin",
1948
- "module": "src/common/mixins/FormAssociatedMixin.ts"
1949
- }
2005
+ "name": "headerSlot",
2006
+ "privacy": "private",
2007
+ "default": "new SlotController(this, \"header\")"
1950
2008
  },
1951
2009
  {
1952
2010
  "kind": "field",
1953
- "name": "indeterminate",
1954
- "type": {
1955
- "text": "boolean"
1956
- },
1957
- "default": "false",
1958
- "description": "Controls whether the checkbox is in an indeterminate state.",
1959
- "attribute": "indeterminate"
2011
+ "name": "headerEndSlot",
2012
+ "privacy": "private",
2013
+ "default": "new SlotController(this, \"header-end\")"
1960
2014
  },
1961
2015
  {
1962
2016
  "kind": "field",
1963
- "name": "checked",
1964
- "type": {
2017
+ "name": "footerSlot",
2018
+ "privacy": "private",
2019
+ "default": "new SlotController(this, \"footer\")"
2020
+ },
2021
+ {
2022
+ "kind": "field",
2023
+ "name": "padding",
2024
+ "type": {
2025
+ "text": "\"m\" | \"l\" | \"none\""
2026
+ },
2027
+ "default": "\"m\"",
2028
+ "description": "Controls the padding of the card component. When set to “none”,\nthe header and footer slots will still have padding.",
2029
+ "attribute": "padding",
2030
+ "reflects": true
2031
+ }
2032
+ ],
2033
+ "attributes": [
2034
+ {
2035
+ "name": "padding",
2036
+ "type": {
2037
+ "text": "\"m\" | \"l\" | \"none\""
2038
+ },
2039
+ "default": "\"m\"",
2040
+ "description": "Controls the padding of the card component. When set to “none”,\nthe header and footer slots will still have padding.",
2041
+ "fieldName": "padding"
2042
+ }
2043
+ ],
2044
+ "superclass": {
2045
+ "name": "LitElement",
2046
+ "package": "lit"
2047
+ },
2048
+ "localization": [],
2049
+ "status": "ready",
2050
+ "category": "structure",
2051
+ "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- Include a header when placing a [Table](/components/table) component inside the card.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t place cards within cards. Consider using the [divider](/components/divider/) component to break up sections instead.\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",
2052
+ "examples": [],
2053
+ "dependencies": [],
2054
+ "tagName": "nord-card",
2055
+ "customElement": true
2056
+ }
2057
+ ],
2058
+ "exports": [
2059
+ {
2060
+ "kind": "js",
2061
+ "name": "default",
2062
+ "declaration": {
2063
+ "name": "Card",
2064
+ "module": "src/card/Card.ts"
2065
+ }
2066
+ },
2067
+ {
2068
+ "kind": "custom-element-definition",
2069
+ "name": "nord-card",
2070
+ "declaration": {
2071
+ "name": "Card",
2072
+ "module": "src/card/Card.ts"
2073
+ }
2074
+ }
2075
+ ]
2076
+ },
2077
+ {
2078
+ "kind": "javascript-module",
2079
+ "path": "src/checkbox/Checkbox.ts",
2080
+ "declarations": [
2081
+ {
2082
+ "kind": "class",
2083
+ "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.",
2084
+ "name": "Checkbox",
2085
+ "slots": [
2086
+ {
2087
+ "description": "Use when a label requires more than plain text.",
2088
+ "name": "label"
2089
+ },
2090
+ {
2091
+ "description": "Optional slot that holds hint text for the input.",
2092
+ "name": "hint"
2093
+ },
2094
+ {
2095
+ "description": "Optional slot that holds error text for the input.",
2096
+ "name": "error"
2097
+ }
2098
+ ],
2099
+ "members": [
2100
+ {
2101
+ "kind": "field",
2102
+ "name": "formValue",
2103
+ "privacy": "protected",
2104
+ "inheritedFrom": {
2105
+ "name": "FormAssociatedMixin",
2106
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2107
+ }
2108
+ },
2109
+ {
2110
+ "kind": "field",
2111
+ "name": "indeterminate",
2112
+ "type": {
2113
+ "text": "boolean"
2114
+ },
2115
+ "default": "false",
2116
+ "description": "Controls whether the checkbox is in an indeterminate state.",
2117
+ "attribute": "indeterminate"
2118
+ },
2119
+ {
2120
+ "kind": "field",
2121
+ "name": "checked",
2122
+ "type": {
1965
2123
  "text": "boolean"
1966
2124
  },
1967
2125
  "default": "false",
@@ -2543,6 +2701,9 @@
2543
2701
  "category": "form",
2544
2702
  "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 for making it possible to choose one or more options from a limited number of options.\n- Use for “accepting terms of service” and similar functionality.\n- Use in forms to toggle something on or off.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Avoid using when you have more than 10 options to choose from.\n- Don’t change the selection of another checkbox when another one is clicked. Only exception is when a checkbox is used to make a bulk selection of multiple items.\n\n</div>\n\n---\n\n## Content guidelines\n\nCheckbox labels should be clear, accurate and predictable. It should be possible for the user to understand what they are selecting:\n\n<div class=\"n-usage n-usage-do\">User settings</div>\n<div class=\"n-usage n-usage-dont\">Option 1</div>\n\nWhen writing checkbox 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\">User settings</div>\n<div class=\"n-usage n-usage-dont\">User Settings</div>\n\nAvoid ending in punctuation if it’s a single sentence, word, or a fragment:\n\n<div class=\"n-usage n-usage-do\">Show dashboard</div>\n<div class=\"n-usage n-usage-dont\">Show dashboard.</div>\n\nDo not use commas or semicolons at the end of each line\n\n<div class=\"n-usage n-usage-do\">Patients</div>\n<div class=\"n-usage n-usage-dont\">Patients;</div>\n",
2545
2703
  "examples": [],
2704
+ "dependencies": [
2705
+ "icon"
2706
+ ],
2546
2707
  "tagName": "nord-checkbox",
2547
2708
  "customElement": true,
2548
2709
  "events": [
@@ -2590,128 +2751,6 @@
2590
2751
  }
2591
2752
  ]
2592
2753
  },
2593
- {
2594
- "kind": "javascript-module",
2595
- "path": "src/card/Card.ts",
2596
- "declarations": [
2597
- {
2598
- "kind": "class",
2599
- "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.",
2600
- "name": "Card",
2601
- "cssProperties": [
2602
- {
2603
- "description": "Controls how rounded the corners are, using [border radius tokens](/tokens/#border-radius).",
2604
- "name": "--n-card-border-radius",
2605
- "default": "var(--n-border-radius)"
2606
- },
2607
- {
2608
- "description": "Controls the surrounding shadow, using [box shadow tokens](/tokens/#box-shadow).",
2609
- "name": "--n-card-box-shadow",
2610
- "default": "var(--n-box-shadow-popout)"
2611
- },
2612
- {
2613
- "description": "Controls the padding on all sides of the card.",
2614
- "name": "--n-card-padding",
2615
- "default": "var(--n-space-m)"
2616
- },
2617
- {
2618
- "description": "Controls the padding of items slotted within the card. This does not affect the block padding of items slotted into the header.",
2619
- "name": "--n-card-slot-padding",
2620
- "default": "var(--n-space-m)"
2621
- }
2622
- ],
2623
- "slots": [
2624
- {
2625
- "description": "The card content.",
2626
- "name": ""
2627
- },
2628
- {
2629
- "description": "Optional slot that holds a header for the card.",
2630
- "name": "header"
2631
- },
2632
- {
2633
- "description": "Optional slot that positions content at the end of the header. Useful for actions or additional info.",
2634
- "name": "header-end"
2635
- },
2636
- {
2637
- "description": "Optional slot that holds footer content for the card.",
2638
- "name": "footer"
2639
- }
2640
- ],
2641
- "members": [
2642
- {
2643
- "kind": "field",
2644
- "name": "headerSlot",
2645
- "privacy": "private",
2646
- "default": "new SlotController(this, \"header\")"
2647
- },
2648
- {
2649
- "kind": "field",
2650
- "name": "headerEndSlot",
2651
- "privacy": "private",
2652
- "default": "new SlotController(this, \"header-end\")"
2653
- },
2654
- {
2655
- "kind": "field",
2656
- "name": "footerSlot",
2657
- "privacy": "private",
2658
- "default": "new SlotController(this, \"footer\")"
2659
- },
2660
- {
2661
- "kind": "field",
2662
- "name": "padding",
2663
- "type": {
2664
- "text": "\"m\" | \"l\" | \"none\""
2665
- },
2666
- "default": "\"m\"",
2667
- "description": "Controls the padding of the card component. When set to “none”,\nthe header and footer slots will still have padding.",
2668
- "attribute": "padding",
2669
- "reflects": true
2670
- }
2671
- ],
2672
- "attributes": [
2673
- {
2674
- "name": "padding",
2675
- "type": {
2676
- "text": "\"m\" | \"l\" | \"none\""
2677
- },
2678
- "default": "\"m\"",
2679
- "description": "Controls the padding of the card component. When set to “none”,\nthe header and footer slots will still have padding.",
2680
- "fieldName": "padding"
2681
- }
2682
- ],
2683
- "superclass": {
2684
- "name": "LitElement",
2685
- "package": "lit"
2686
- },
2687
- "localization": [],
2688
- "status": "ready",
2689
- "category": "structure",
2690
- "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- Include a header when placing a [Table](/components/table) component inside the card.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t place cards within cards. Consider using the [divider](/components/divider/) component to break up sections instead.\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",
2691
- "examples": [],
2692
- "tagName": "nord-card",
2693
- "customElement": true
2694
- }
2695
- ],
2696
- "exports": [
2697
- {
2698
- "kind": "js",
2699
- "name": "default",
2700
- "declaration": {
2701
- "name": "Card",
2702
- "module": "src/card/Card.ts"
2703
- }
2704
- },
2705
- {
2706
- "kind": "custom-element-definition",
2707
- "name": "nord-card",
2708
- "declaration": {
2709
- "name": "Card",
2710
- "module": "src/card/Card.ts"
2711
- }
2712
- }
2713
- ]
2714
- },
2715
2754
  {
2716
2755
  "kind": "javascript-module",
2717
2756
  "path": "src/command-menu/CommandMenu.ts",
@@ -3110,6 +3149,10 @@
3110
3149
  "category": "action",
3111
3150
  "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 provide global and contextual keyboard shortcuts for users.\n- Make command menu available everywhere. Users must be able to bring up the command menu easily.\n- Make command menu central. Users should be able to find global shortcuts from one location.\n- Make command menu omnipotent. Give users access to every possible action.\n- Group related commands logically under sections with the section setting.\n- Use `Alt` key as the modifier, since this is less likely to clash with existing shortcuts.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t make command menu available only in certain views of the application.\n- Don’t define shortcuts such as `Ctrl+C`, since this will clash with the native \"Copy\" shortcut.\n- Don't create complex shortcuts, as users will struggle to remember them.\n- Avoid using `KeyboardEvent.key` for defining the shortcut keys.\n- Don’t use as a search field only.\n\n</div>\n\n---\n\n## Content guidelines\n\nCommand titles should be clear, accurate and predictable. It should be possible for the user to understand what will happen when they execute a command:\n\n<div class=\"n-usage n-usage-do\">Start consultation</div>\n<div class=\"n-usage n-usage-dont\">Consultation</div>\n\nAlways lead with a strong verb that encourages action. To provide enough context to user, use the {verb} + {noun} content formula:\n\n<div class=\"n-usage n-usage-do\">Open dashboard</div>\n<div class=\"n-usage n-usage-dont\">Dashboard</div>\n\nWhen writing command titles, 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\">New appointment</div>\n<div class=\"n-usage n-usage-dont\">New Appointment</div>\n\nAvoid unnecessary words and articles in command titles, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Change theme</div>\n<div class=\"n-usage n-usage-dont\">Change the theme</div>\n\nAvoid ending in punctuation:\n\n<div class=\"n-usage n-usage-do\">Switch user</div>\n<div class=\"n-usage n-usage-dont\">Switch user.</div>\n\nUse ellipsis in the title when describing sections that have commands grouped inside of them:\n\n<div class=\"n-usage n-usage-do\">Change theme…</div>\n<div class=\"n-usage n-usage-dont\">Change theme</div>\n\n---\n\n## Commands data\n\nEach command in the `commands` data array must include at least an `id` and `title`. A&nbsp;command may also include properties for `section`, `icon`, `handler`, `shortcut` , `parent`, and `keywords`:\n\n| Name | Purpose |\n| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `id` | An identifier for each command, must be unique. Example: `id: \"user\"`. |\n| `title` | The title shown to users. This is used when searching for a command. Example: `title: \"Change theme...\"`. |\n| `keywords` | Not visible in the user interface, but can make it easier to discover commands through search. Example: `keywords: \"command change log sign out in\"`. |\n| `shortcut` | The keyboard shortcut. Example: `shortcut: \"Alt+KeyU\"`. See the sections [Defining Shortcuts](#defining-shortcuts) and [Choosing shortcuts](#choosing-shortcuts) below for more information. |\n| `section` | Used for grouping many commands under a common header. Example: `section: \"Commands\"`. |\n| `icon` | A name of an icon form Nordicons to show beside the title. If not specified, default command icon will be used instead. Example: `icon: \"file-picture\"`. |\n| `parent` | The `id` of a parent command. This is used for nesting commands. Example: `parent: \"theme\"`. |\n| `handler` | A function to execute when an user triggers a command. Example: `handler: () => { alert(\"Change to light theme\") }`. In cases where a command is only used as a parent command e.g. \"Change theme\", this is not required. |\n\n---\n\n## Defining shortcuts\n\nShortcuts in the Command Menu have the following form: `[modifier]+[key]`. Shortcuts are made up of a sequence of presses. A press can be as simple as a single key which matches against [`KeyboardEvent.code`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code/code_values):\n\n```js\n// Matches: event.code:\n\"KeyD\"\n```\n\nPresses can optionally be prefixed with **_modifiers_** which match against any valid value to [`KeyboardEvent.getModifierState()`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/getModifierState).\n\n```js\n\"Control+KeyD\"\n\"Meta+KeyD\"\n\"Shift+KeyD\"\n\"Alt+KeyD\"\n\"Meta+Shift+KeyD\"\n```\n\nThere is also a special `$mod` modifier that makes it easy to support cross platform keybindings:\n\n- Mac: `$mod` = `Meta` (⌘)\n- Windows/Linux: `$mod` = `Control`\n\n```js\n\"$mod+KeyD\" // ⌘/Ctrl + D\n\"$mod+Shift+KeyD\" // ⌘/Ctrl + Shift + D\n```\n\nThe Command Menu itself can be opened using `⌘+k` (or `Ctrl+k` on Windows) and closed by hitting `Esc`. These are both non-configurable shortcuts in order to unify the experience across our platforms.\n\n---\n\n## Choosing shortcuts\n\nWhen choosing shortcuts, it is very important that they do not clash with native operating system or browser shortcuts.\n\nFor example, you _should not_ define a shortcut like `$mod+KeyC`, since this will clash with the native “Copy” shortcut, and will be triggered every time a user copies text in the app. Nor should you use shortcuts like `Shift+KeyA` since this will get triggered whenever a user types an uppercase “A” character. Therefore, special care and attention must be given to _each and every_ shortcut choice.\n\nIn general, we recommend using the `Alt` modifier, since this is less likely to clash with existing shortcuts. However, be aware, the `Alt` key is also used for accented characters e.g. `Alt+KeyA` produces the letter “å”. Again, it is crucial that you choose shortcuts carefully.\n\nYou should strive to choose shortcuts that are intuitive and easy to remember. The more complex a shortcut, the less likely a user is to remember it. Of course, a user can still find a command by searching the command menu, and for some users this may be their preferred way of triggering commands.\n\n---\n\n## Common keybindings\n\nKeybindings will be matched against [`KeyboardEvent.key`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key) and [`KeyboardEvent.code`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code/code_values) which may have some names you don’t expect. Please note that we recommend always using `KeyboardEvent.code` for defining the keys and only using `KeyboardEvent.key` for defining modifiers.\n\n| Windows | macOS | key | code |\n| ------------- | --------------- | ------------- | ------------------------------ |\n| N/A | `Command` / `⌘` | `Meta` | `MetaLeft` / `MetaRight` |\n| `Alt` | `Option` / `⌥` | `Alt` | `AltLeft` / `AltRight` |\n| `Control` | `Control` / `^` | `Control` | `ControlLeft` / `ControlRight` |\n| `Shift` | `Shift` | `Shift` | `ShiftLeft` / `ShiftRight` |\n| `Space` | `Space` | N/A | `Space` |\n| `Enter` | `Return` | `Enter` | `Enter` |\n| `Esc` | `Esc` | `Escape` | `Escape` |\n| `1`, `2`, etc | `1`, `2`, etc | `1`, `2`, etc | `Digit1`, `Digit2`, etc |\n| `a`, `b`, etc | `a`, `b`, etc | `a`, `b`, etc | `KeyA`, `KeyB`, etc |\n| `-` | `-` | `-` | `Minus` |\n| `=` | `=` | `=` | `Equal` |\n| `+` | `+` | `+` | `Equal`\\* |\n\nIn addition to the above table, you can use [https://keycode.info/](https://keycode.info/) for checking the specific values needed. Note that some keys will have the same code as others because they appear on the same key on the keyboard. Keep in mind how this is affected by international keyboards which may have different layouts.\n\n---\n\n## Navigating with the command menu\n\n1. Use `Ctrl+K` (Windows/Linux) or `Cmd+K` (Mac) to open the command menu.\n2. Start typing the command you want to execute. The suggestions in the command menu change to match your text.\n3. Finish entering the name, or use the arrow keys to highlight the command you want from the list of suggestions.\n4. Use `Enter` to execute the chosen command.\n5. If you chose a command that has nested commands, you can use `Backspace` to return to the previous menu.\n6. When the command menu is active, you can use one of the following keyboard shortcuts to close it: `Esc`, `Ctrl+K` (Windows and Linux) or `Cmd+K` (Mac).\n",
3112
3151
  "examples": [],
3152
+ "dependencies": [
3153
+ "icon",
3154
+ "visually-hidden"
3155
+ ],
3113
3156
  "tagName": "nord-command-menu",
3114
3157
  "customElement": true
3115
3158
  }
@@ -3207,6 +3250,10 @@
3207
3250
  "status": "internal",
3208
3251
  "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 provide global and contextual keyboard shortcuts for users.\n- Make command menu available everywhere. Users must be able to bring up the command menu easily.\n- Make command menu central. Users should be able to find global shortcuts from one location.\n- Make command menu omnipotent. Give users access to every possible action.\n- Group related commands logically under sections with the section setting.\n- Use `Alt` key as the modifier, since this is less likely to clash with existing shortcuts.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t make command menu available only in certain views of the application.\n- Don’t define shortcuts such as `Ctrl+C`, since this will clash with the native \"Copy\" shortcut.\n- Don't create complex shortcuts, as users will struggle to remember them.\n- Avoid using `KeyboardEvent.key` for defining the shortcut keys.\n- Don’t use as a search field only.\n\n</div>\n\n---\n\n## Content guidelines\n\nCommand titles should be clear, accurate and predictable. It should be possible for the user to understand what will happen when they execute a command:\n\n<div class=\"n-usage n-usage-do\">Start consultation</div>\n<div class=\"n-usage n-usage-dont\">Consultation</div>\n\nAlways lead with a strong verb that encourages action. To provide enough context to user, use the {verb} + {noun} content formula:\n\n<div class=\"n-usage n-usage-do\">Open dashboard</div>\n<div class=\"n-usage n-usage-dont\">Dashboard</div>\n\nWhen writing command titles, 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\">New appointment</div>\n<div class=\"n-usage n-usage-dont\">New Appointment</div>\n\nAvoid unnecessary words and articles in command titles, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Change theme</div>\n<div class=\"n-usage n-usage-dont\">Change the theme</div>\n\nAvoid ending in punctuation:\n\n<div class=\"n-usage n-usage-do\">Switch user</div>\n<div class=\"n-usage n-usage-dont\">Switch user.</div>\n\nUse ellipsis in the title when describing sections that have commands grouped inside of them:\n\n<div class=\"n-usage n-usage-do\">Change theme…</div>\n<div class=\"n-usage n-usage-dont\">Change theme</div>\n\n---\n\n## Commands data\n\nEach command in the `commands` data array must include at least an `id` and `title`. A&nbsp;command may also include properties for `section`, `icon`, `handler`, `shortcut` , `parent`, and `keywords`:\n\n| Name | Purpose |\n| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `id` | An identifier for each command, must be unique. Example: `id: \"user\"`. |\n| `title` | The title shown to users. This is used when searching for a command. Example: `title: \"Change theme...\"`. |\n| `keywords` | Not visible in the user interface, but can make it easier to discover commands through search. Example: `keywords: \"command change log sign out in\"`. |\n| `shortcut` | The keyboard shortcut. Example: `shortcut: \"Alt+KeyU\"`. See the sections [Defining Shortcuts](#defining-shortcuts) and [Choosing shortcuts](#choosing-shortcuts) below for more information. |\n| `section` | Used for grouping many commands under a common header. Example: `section: \"Commands\"`. |\n| `icon` | A name of an icon form Nordicons to show beside the title. If not specified, default command icon will be used instead. Example: `icon: \"file-picture\"`. |\n| `parent` | The `id` of a parent command. This is used for nesting commands. Example: `parent: \"theme\"`. |\n| `handler` | A function to execute when an user triggers a command. Example: `handler: () => { alert(\"Change to light theme\") }`. In cases where a command is only used as a parent command e.g. \"Change theme\", this is not required. |\n\n---\n\n## Defining shortcuts\n\nShortcuts in the Command Menu have the following form: `[modifier]+[key]`. Shortcuts are made up of a sequence of presses. A press can be as simple as a single key which matches against [`KeyboardEvent.code`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code/code_values):\n\n```js\n// Matches: event.code:\n\"KeyD\"\n```\n\nPresses can optionally be prefixed with **_modifiers_** which match against any valid value to [`KeyboardEvent.getModifierState()`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/getModifierState).\n\n```js\n\"Control+KeyD\"\n\"Meta+KeyD\"\n\"Shift+KeyD\"\n\"Alt+KeyD\"\n\"Meta+Shift+KeyD\"\n```\n\nThere is also a special `$mod` modifier that makes it easy to support cross platform keybindings:\n\n- Mac: `$mod` = `Meta` (⌘)\n- Windows/Linux: `$mod` = `Control`\n\n```js\n\"$mod+KeyD\" // ⌘/Ctrl + D\n\"$mod+Shift+KeyD\" // ⌘/Ctrl + Shift + D\n```\n\nThe Command Menu itself can be opened using `⌘+k` (or `Ctrl+k` on Windows) and closed by hitting `Esc`. These are both non-configurable shortcuts in order to unify the experience across our platforms.\n\n---\n\n## Choosing shortcuts\n\nWhen choosing shortcuts, it is very important that they do not clash with native operating system or browser shortcuts.\n\nFor example, you _should not_ define a shortcut like `$mod+KeyC`, since this will clash with the native “Copy” shortcut, and will be triggered every time a user copies text in the app. Nor should you use shortcuts like `Shift+KeyA` since this will get triggered whenever a user types an uppercase “A” character. Therefore, special care and attention must be given to _each and every_ shortcut choice.\n\nIn general, we recommend using the `Alt` modifier, since this is less likely to clash with existing shortcuts. However, be aware, the `Alt` key is also used for accented characters e.g. `Alt+KeyA` produces the letter “å”. Again, it is crucial that you choose shortcuts carefully.\n\nYou should strive to choose shortcuts that are intuitive and easy to remember. The more complex a shortcut, the less likely a user is to remember it. Of course, a user can still find a command by searching the command menu, and for some users this may be their preferred way of triggering commands.\n\n---\n\n## Common keybindings\n\nKeybindings will be matched against [`KeyboardEvent.key`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key) and [`KeyboardEvent.code`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code/code_values) which may have some names you don’t expect. Please note that we recommend always using `KeyboardEvent.code` for defining the keys and only using `KeyboardEvent.key` for defining modifiers.\n\n| Windows | macOS | key | code |\n| ------------- | --------------- | ------------- | ------------------------------ |\n| N/A | `Command` / `⌘` | `Meta` | `MetaLeft` / `MetaRight` |\n| `Alt` | `Option` / `⌥` | `Alt` | `AltLeft` / `AltRight` |\n| `Control` | `Control` / `^` | `Control` | `ControlLeft` / `ControlRight` |\n| `Shift` | `Shift` | `Shift` | `ShiftLeft` / `ShiftRight` |\n| `Space` | `Space` | N/A | `Space` |\n| `Enter` | `Return` | `Enter` | `Enter` |\n| `Esc` | `Esc` | `Escape` | `Escape` |\n| `1`, `2`, etc | `1`, `2`, etc | `1`, `2`, etc | `Digit1`, `Digit2`, etc |\n| `a`, `b`, etc | `a`, `b`, etc | `a`, `b`, etc | `KeyA`, `KeyB`, etc |\n| `-` | `-` | `-` | `Minus` |\n| `=` | `=` | `=` | `Equal` |\n| `+` | `+` | `+` | `Equal`\\* |\n\nIn addition to the above table, you can use [https://keycode.info/](https://keycode.info/) for checking the specific values needed. Note that some keys will have the same code as others because they appear on the same key on the keyboard. Keep in mind how this is affected by international keyboards which may have different layouts.\n\n---\n\n## Navigating with the command menu\n\n1. Use `Ctrl+K` (Windows/Linux) or `Cmd+K` (Mac) to open the command menu.\n2. Start typing the command you want to execute. The suggestions in the command menu change to match your text.\n3. Finish entering the name, or use the arrow keys to highlight the command you want from the list of suggestions.\n4. Use `Enter` to execute the chosen command.\n5. If you chose a command that has nested commands, you can use `Backspace` to return to the previous menu.\n6. When the command menu is active, you can use one of the following keyboard shortcuts to close it: `Esc`, `Ctrl+K` (Windows and Linux) or `Cmd+K` (Mac).\n",
3209
3252
  "examples": [],
3253
+ "dependencies": [
3254
+ "icon",
3255
+ "visually-hidden"
3256
+ ],
3210
3257
  "tagName": "nord-command-menu-action",
3211
3258
  "customElement": true
3212
3259
  }
@@ -4177,6 +4224,18 @@
4177
4224
  }
4178
4225
  }
4179
4226
  ]
4227
+ },
4228
+ {
4229
+ "kind": "function",
4230
+ "name": "animation",
4231
+ "parameters": [
4232
+ {
4233
+ "name": "element",
4234
+ "type": {
4235
+ "text": "HTMLElement"
4236
+ }
4237
+ }
4238
+ ]
4180
4239
  }
4181
4240
  ],
4182
4241
  "exports": [
@@ -4203,6 +4262,14 @@
4203
4262
  "name": "transition",
4204
4263
  "module": "src/common/events.ts"
4205
4264
  }
4265
+ },
4266
+ {
4267
+ "kind": "js",
4268
+ "name": "animation",
4269
+ "declaration": {
4270
+ "name": "animation",
4271
+ "module": "src/common/events.ts"
4272
+ }
4206
4273
  }
4207
4274
  ]
4208
4275
  },
@@ -5598,6 +5665,15 @@
5598
5665
  "category": "form",
5599
5666
  "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 when the user needs to choose a single date or a date range.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use for entering date of birth. Use input component instead.\n- Don’t use to choose a date that is over 10 years in the future or the past.\n\n</div>\n\n---\n\n## Keyboard accessibility\n\nDate picker is built to closely follow [W3C Date Picker Dialog example](https://www.w3.org/TR/wai-aria-practices/examples/dialog-modal/datepicker-dialog.html) with some small exceptions to e.g. better support iOS VoiceOver and Android TalkBack.\n\n### Choose date button\n\n- `Space, Enter`: Opens the date picker dialog and moves focus to the first select menu in the dialog.\n\n### Date picker dialog\n\n- `Esc`: Closes the date picker dialog and moves focus back to the “choose date” button.\n- `Tab`: Moves focus to the next element in the dialog. Please note since the calendar uses `role=\"grid\"`, only one button in the calendar grid is in the tab sequence. Additionally, if focus is on the last focusable element, focus is next moved back to the first focusable element inside the date picker dialog.\n- `Shift + Tab`: Same as above, but in reverse order.\n\n### Date picker dialog: Month/year buttons\n\n- `Space, Enter`: Changes the month and/or year displayed.\n\n### Date picker dialog: Date grid\n\n- `Space, Enter`: Selects a date, closes the dialog, and moves focus back to the “Choose Date” button. Additionally updates the value of the date picker input with the selected date, and adds selected date to “Choose Date” button label.\n- `Arrow up`: Moves focus to the same day of the previous week.\n- `Arrow down`: Moves focus to the same day of the next week.\n- `Arrow right`: Moves focus to the next day. In right-to-left languages, moves focus to the previous day.\n- `Arrow left`: Moves focus to the previous day. In right-to-left languages, moves focus to the next day.\n- `Home`: Moves focus to the first day (e.g Monday) of the current week.\n- `End`: Moves focus to the last day (e.g. Sunday) of the current week.\n- `Page Up`: Changes the grid of dates to the previous month and sets focus on the same day of the same week.\n- `Shift + Page Up`: Changes the grid of dates to the previous year and sets focus on the same day of the same week.\n- `Page Down`: Changes the grid of dates to the next month and sets focus on the same day of the same week.\n- `Shift + Page Down`: Changes the grid of dates to the next year and sets focus on the same day of the same week.\n\n#### Date picker dialog: Close button\n\n- `Space, Enter`: Closes the dialog, moves focus to “choose date” button, but does not update the date in input.\n",
5600
5667
  "examples": [],
5668
+ "dependencies": [
5669
+ "icon",
5670
+ "input",
5671
+ "button",
5672
+ "visually-hidden",
5673
+ "popout",
5674
+ "stack",
5675
+ "calendar"
5676
+ ],
5601
5677
  "tagName": "nord-date-picker",
5602
5678
  "customElement": true
5603
5679
  }
@@ -5727,6 +5803,7 @@
5727
5803
  "category": "structure",
5728
5804
  "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 represent thematic breaks between elements.\n- Use when you need to divide sections of content from each other.\n- Use to separate content into clear groups.\n- Use dividers sparingly, to create groupings or to separate items.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Avoid using for presentational purposes only.\n- Don’t use strong colors in dividers.\n- Don’t use dividers for replacing card components.\n\n</div>\n\n---\n\n## Additional considerations\n\n- Divider uses a role called `separator` which indicates that the element is a divider that separates and distinguishes sections of content or groups of menu items. The implicit ARIA role of the native thematic break (`<hr>` element) is a separator.\n- Dividers have an implicit aria-orientation value of `horizontal` which can be changed using the `direction` property.\n- For more details, please see [ARIA: separator role on MDN](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/separator_role).\n",
5729
5805
  "examples": [],
5806
+ "dependencies": [],
5730
5807
  "tagName": "nord-divider",
5731
5808
  "customElement": true
5732
5809
  }
@@ -5838,6 +5915,7 @@
5838
5915
  "category": "structure",
5839
5916
  "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 for displaying contextual actions or information. For example, when clicking on a table row.\n- Use when you don’t want to block users from completing their task in the main view of an application.\n- Always include a header that summarizes the actions and information in the drawer.\n- Should be closeable through actions like “Done” and “Close”.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t put cards inside the drawer. Consider using the [divider](/components/divider/) component to break up sections instead.\n- Don’t reset the drawer’s state when closed if used for settings or filters. Settings should persist.\n- Don’t open from within another drawer. Only one drawer can be open at a time.\n- Don’t use for presenting a small amount of content or an actions menu, use the [popout](/components/popout/) or [dropdown](/components/dropdown/) component instead.\n\n</div>\n\n---\n\n## Additional considerations\n\n- You can customize the width of the component using `--n-layout-drawer-inline-size` CSS Custom Property that is offered on [Layout component](/components/layout/).\n",
5840
5917
  "examples": [],
5918
+ "dependencies": [],
5841
5919
  "tagName": "nord-drawer",
5842
5920
  "customElement": true
5843
5921
  }
@@ -6090,6 +6168,9 @@
6090
6168
  "category": "action",
6091
6169
  "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- Dropdown menus are typically used when you have 5-15 items to choose from. They’re used for navigation or commands, where an action is initiated based on the selection.\n- When organizing dropdown menu items, sort the list in a logical order by putting the most selected option at the top.\n- Use for a “more” menu, where the control contains an icon.\n- Use for user profiles, where the control is an avatar.\n- Use in conjunction with the [dropdown item](/components/dropdown-item/) and [dropdown group](/components/dropdown-group/) components.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use for form inputs or selects, use the [select component](/components/select/) or [input component](/components/input/) instead.\n- Don’t use for hiding primary actions since they should be visible by default.\n- Don’t nest elements or components other than the [dropdown item](/components/dropdown-item/) and [dropdown group](/components/dropdown-group/) components. Consider using the [popout component](/components/popout/) when creating custom UI.\n\n</div>\n\n---\n\n## Content guidelines\n\nDropdown items should be always written 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\">Create user</div>\n<div class=\"n-usage n-usage-dont\">Create User</div>\n\nDropdown items should always lead with a strong verb that encourages action. Use the `{verb}+{noun}` format except in the case of common actions like Save, Close or Cancel:\n\n<div class=\"n-usage n-usage-do\">Edit row</div>\n<div class=\"n-usage n-usage-dont\">Editing options</div>\n\nAvoid unnecessary words and articles in dropdown items, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Change theme</div>\n<div class=\"n-usage n-usage-dont\">Change the theme</div>\n\nAvoid ending dropdown items in punctuation:\n\n<div class=\"n-usage n-usage-do\">Switch user</div>\n<div class=\"n-usage n-usage-dont\">Switch user.</div>\n\nAvoid all caps for dropdown items:\n\n<div class=\"n-usage n-usage-do\">Rename</div>\n<div class=\"n-usage n-usage-dont\">RENAME</div>\n\nKeep dropdown items to a single line of text:\n\n<div class=\"n-usage n-usage-do\">Change theme</div>\n<div class=\"n-usage n-usage-dont\">Change the theme<br/>of the veterinary application.</div>\n",
6092
6170
  "examples": [],
6171
+ "dependencies": [
6172
+ "popout"
6173
+ ],
6093
6174
  "tagName": "nord-dropdown",
6094
6175
  "customElement": true
6095
6176
  }
@@ -6157,6 +6238,7 @@
6157
6238
  "category": "action",
6158
6239
  "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- Group dropdown items into dropdown groups based on related categories.\n- Use group headings to clarify the category of a section.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use for grouping other types of content.\n\n</div>\n\n---\n\n## Content guidelines\n\nDropdown items should be always written 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\">Create user</div>\n<div class=\"n-usage n-usage-dont\">Create User</div>\n\nDropdown items should always lead with a strong verb that encourages action. Use the `{verb}+{noun}` format except in the case of common actions like Save, Close or Cancel:\n\n<div class=\"n-usage n-usage-do\">Edit row</div>\n<div class=\"n-usage n-usage-dont\">Editing options</div>\n\nAvoid unnecessary words and articles in dropdown items, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Change theme</div>\n<div class=\"n-usage n-usage-dont\">Change the theme</div>\n\nAvoid ending dropdown items in punctuation:\n\n<div class=\"n-usage n-usage-do\">Switch user</div>\n<div class=\"n-usage n-usage-dont\">Switch user.</div>\n\nAvoid all caps for dropdown items:\n\n<div class=\"n-usage n-usage-do\">Rename</div>\n<div class=\"n-usage n-usage-dont\">RENAME</div>\n\nKeep dropdown items to a single line of text:\n\n<div class=\"n-usage n-usage-do\">Change theme</div>\n<div class=\"n-usage n-usage-dont\">Change the theme<br/>of the veterinary application.</div>\n",
6159
6240
  "examples": [],
6241
+ "dependencies": [],
6160
6242
  "tagName": "nord-dropdown-group",
6161
6243
  "customElement": true
6162
6244
  }
@@ -6285,6 +6367,7 @@
6285
6367
  "category": "action",
6286
6368
  "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- Group dropdown items into dropdown groups based on related categories.\n- Use group headings to clarify the category of a section.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use dropdown item outside of dropdown group and dropdown components.\n\n</div>\n\n---\n\n## Content guidelines\n\nDropdown items should be always written 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\">Create user</div>\n<div class=\"n-usage n-usage-dont\">Create User</div>\n\nDropdown items should always lead with a strong verb that encourages action. Use the `{verb}+{noun}` format except in the case of common actions like Save, Close or Cancel:\n\n<div class=\"n-usage n-usage-do\">Edit row</div>\n<div class=\"n-usage n-usage-dont\">Editing options</div>\n\nAvoid unnecessary words and articles in dropdown items, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Change theme</div>\n<div class=\"n-usage n-usage-dont\">Change the theme</div>\n\nAvoid ending dropdown items in punctuation:\n\n<div class=\"n-usage n-usage-do\">Switch user</div>\n<div class=\"n-usage n-usage-dont\">Switch user.</div>\n\nAvoid all caps for dropdown items:\n\n<div class=\"n-usage n-usage-do\">Rename</div>\n<div class=\"n-usage n-usage-dont\">RENAME</div>\n\nKeep dropdown items to a single line of text:\n\n<div class=\"n-usage n-usage-do\">Change theme</div>\n<div class=\"n-usage n-usage-dont\">Change the theme<br/>of the veterinary application.</div>\n",
6287
6369
  "examples": [],
6370
+ "dependencies": [],
6288
6371
  "tagName": "nord-dropdown-item",
6289
6372
  "customElement": true
6290
6373
  }
@@ -6332,6 +6415,7 @@
6332
6415
  "category": "feedback",
6333
6416
  "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 when another component or part of UI has no items or data to show.\n- Help users by clearly explaining the benefit and utility of a product or feature.\n- Be encouraging and never make users feel unsuccessful or guilty.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use as a generic banner to highlight specific content.\n\n</div>\n\n---\n\n## Content guidelines\n\nEmpty state headings should state to the user what’s wrong or why there’s no content:\n\n<div class=\"n-usage n-usage-do\">No results found</div>\n<div class=\"n-usage n-usage-dont\">Error</div>\n\nWhen writing empty state headings, 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\">You don’t have access to this content</div>\n<div class=\"n-usage n-usage-dont\">You Don’t Have Access To This Content</div>\n\nDescriptions in empty states should add useful and relevant additional information:\n\n<div class=\"n-usage n-usage-do\">We were unable to connect to the service. Click Retry to try again or View log to learn what happened.</div>\n<div class=\"n-usage n-usage-dont\">No connection.</div>\n\nButton labels should be clear, accurate and predictable. It should be possible for the user to understand what will happen when they click a button:\n\n<div class=\"n-usage n-usage-do\">Clear filters</div>\n<div class=\"n-usage n-usage-dont\">Clear</div>\n\nWhen writing button 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\">View log</div>\n<div class=\"n-usage n-usage-dont\">View Log</div>\n\nAvoid unnecessary words and articles in button labels, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Request access</div>\n<div class=\"n-usage n-usage-dont\">Request an access</div>\n",
6334
6417
  "examples": [],
6418
+ "dependencies": [],
6335
6419
  "tagName": "nord-empty-state",
6336
6420
  "customElement": true
6337
6421
  }
@@ -6503,6 +6587,7 @@
6503
6587
  "category": "form",
6504
6588
  "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 fieldset component when you need to create a relationship between multiple form inputs.\n- It is especially important to use with a group of radio components.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t place interactive content (buttons, links etc) inside the label.\n- Don’t use with a checkbox component when there is **only one** checkbox. For example, when accepting terms and conditions.\n\n</div>\n\n-------\n\n## Content guidelines\n\nFieldset label should be clear, accurate and predictable. It should help the user to understand how the items in the fieldset are grouped together, or what kind of choice the user is making:\n\n<div class=\"n-usage n-usage-do\">Pick a color</div>\n<div class=\"n-usage n-usage-dont\">Choose</div>\n\nWhen writing fieldset 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\">Pick a color</div>\n<div class=\"n-usage n-usage-dont\">Pick A Color</div>\n\nAvoid ending in punctuation if it’s a single sentence, word, or a fragment:\n\n<div class=\"n-usage n-usage-do\">Pick a color</div>\n<div class=\"n-usage n-usage-dont\">Pick a color.</div>\n\nDo not use colons in fieldset label:\n\n<div class=\"n-usage n-usage-do\">Payment details</div>\n<div class=\"n-usage n-usage-dont\">Payment details:</div>\n\n-------\n\n## Additional considerations\n\n- A label (which becomes to `<legend>` inside the fieldset) is always required.\n- Hint text can be used to offer further information or explanation for an option.\n",
6505
6589
  "examples": [],
6590
+ "dependencies": [],
6506
6591
  "tagName": "nord-fieldset",
6507
6592
  "customElement": true
6508
6593
  }
@@ -6550,17 +6635,40 @@
6550
6635
  "name": "endSlot",
6551
6636
  "privacy": "private",
6552
6637
  "default": "new SlotController(this, \"end\")"
6553
- }
6554
- ],
6555
- "superclass": {
6556
- "name": "LitElement",
6557
- "package": "lit"
6558
- },
6559
- "localization": [],
6638
+ },
6639
+ {
6640
+ "kind": "field",
6641
+ "name": "size",
6642
+ "type": {
6643
+ "text": "\"m\" | \"s\""
6644
+ },
6645
+ "default": "\"m\"",
6646
+ "description": "Controls the size of the header component.",
6647
+ "attribute": "size",
6648
+ "reflects": true
6649
+ }
6650
+ ],
6651
+ "attributes": [
6652
+ {
6653
+ "name": "size",
6654
+ "type": {
6655
+ "text": "\"m\" | \"s\""
6656
+ },
6657
+ "default": "\"m\"",
6658
+ "description": "Controls the size of the header component.",
6659
+ "fieldName": "size"
6660
+ }
6661
+ ],
6662
+ "superclass": {
6663
+ "name": "LitElement",
6664
+ "package": "lit"
6665
+ },
6666
+ "localization": [],
6560
6667
  "status": "ready",
6561
6668
  "category": "structure",
6562
- "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 header component to show a heading to describe the current view.\n- Use the header component to hold primary actions.\n- Use the header component at a visual high position at full width.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t overcrowd the header component with too many actions or information.\n- Don’t nest the header component too deeply and restrict its available space.\n\n</div>\n\n-------\n\n## Content guidelines\n\nThe header component should be a containing element placed high on the page to present high level controls and to describe the page itself. It shouldn’t be overcrowded with controls or information.\n\n<div class=\"n-usage n-usage-do\">[Menu] Dashboard [Account] [Log out]</div>\n<div class=\"n-usage n-usage-dont\">[Menu] Use the cards below to view various information [Export] [Save] [Edit Profile] [Log out] [Preferences]</div>\n",
6669
+ "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 header component to show a heading to describe the current view.\n- Use the header component to hold primary actions.\n- Use the header component at a visual high position at full width.\n- Utilise the [`n-truncate`](/css/#miscellaneous-utilities) CSS helper to prevent long headings from wrapping.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t overcrowd the header component with too many actions or information.\n- Don’t nest the header component too deeply and restrict its available space.\n- Don’t add large amounts of content or long headings. Aim for headings that are short and concise.\n\n</div>\n\n---\n\n## Content guidelines\n\nThe header component should be a containing element placed high on the page to present high level controls and to describe the page itself. It shouldn’t be overcrowded with controls or information.\n\n<div class=\"n-usage n-usage-do\">[Menu] Dashboard [Account] [Log out]</div>\n<div class=\"n-usage n-usage-dont\">[Menu] Use the cards below to view various information [Export] [Save] [Edit Profile] [Log out] [Preferences]</div>\n",
6563
6670
  "examples": [],
6671
+ "dependencies": [],
6564
6672
  "tagName": "nord-header",
6565
6673
  "customElement": true
6566
6674
  }
@@ -6584,6 +6692,314 @@
6584
6692
  }
6585
6693
  ]
6586
6694
  },
6695
+ {
6696
+ "kind": "javascript-module",
6697
+ "path": "src/icon/Icon.ts",
6698
+ "declarations": [
6699
+ {
6700
+ "kind": "class",
6701
+ "description": "Icons are used to provide additional meaning or in places where text label doesn’t fit.\nIcon component allows you to display an icon from the Nordicons library.",
6702
+ "name": "Icon",
6703
+ "slots": [
6704
+ {
6705
+ "description": "The default slot used for placing a custom SVG icon.",
6706
+ "name": ""
6707
+ }
6708
+ ],
6709
+ "members": [
6710
+ {
6711
+ "kind": "field",
6712
+ "name": "manager",
6713
+ "privacy": "private",
6714
+ "static": true,
6715
+ "default": "new IconManager()"
6716
+ },
6717
+ {
6718
+ "kind": "method",
6719
+ "name": "registerResolver",
6720
+ "static": true,
6721
+ "parameters": [
6722
+ {
6723
+ "name": "resolver",
6724
+ "type": {
6725
+ "text": "IconResolver"
6726
+ },
6727
+ "description": "The resolver function to register."
6728
+ }
6729
+ ],
6730
+ "description": "Register a custom icon resolver, which accepts the icon name as an parameter, and returns an SVG string.\nCan return a string synchronously, or a promise of a string.\nBy default, will load icons from the Nord CDN."
6731
+ },
6732
+ {
6733
+ "kind": "method",
6734
+ "name": "registerIcon",
6735
+ "static": true,
6736
+ "return": {
6737
+ "type": {
6738
+ "text": "void"
6739
+ }
6740
+ },
6741
+ "parameters": [
6742
+ {
6743
+ "name": "icon",
6744
+ "type": {
6745
+ "text": "{ title: string; default: string }"
6746
+ },
6747
+ "description": "An object representing the icon to be registered, where \"title\" is the icon's name, and \"default\" is the SVG string.\nThis is intended to be used in cases where you import an icon's entire ES module and register it directly."
6748
+ }
6749
+ ],
6750
+ "description": "Register an individual icon so it can be rendered synchronously, to avoid loading over the network."
6751
+ },
6752
+ {
6753
+ "kind": "method",
6754
+ "name": "registerIcon",
6755
+ "static": true,
6756
+ "return": {
6757
+ "type": {
6758
+ "text": "void"
6759
+ }
6760
+ },
6761
+ "parameters": [
6762
+ {
6763
+ "name": "name",
6764
+ "type": {
6765
+ "text": "string"
6766
+ },
6767
+ "description": "The name of the icon to be registered."
6768
+ },
6769
+ {
6770
+ "name": "icon",
6771
+ "type": {
6772
+ "text": "string"
6773
+ },
6774
+ "description": "The SVG string for the icon."
6775
+ }
6776
+ ],
6777
+ "description": "Register an individual icon so it can be rendered synchronously, to avoid loading over the network."
6778
+ },
6779
+ {
6780
+ "kind": "method",
6781
+ "name": "registerIcon",
6782
+ "static": true,
6783
+ "parameters": [
6784
+ {
6785
+ "name": "iconOrName",
6786
+ "type": {
6787
+ "text": "string | { title: string; default: string }"
6788
+ },
6789
+ "description": "The name of the icon to be registered or an object representing the icon to be registered, where \"title\" is the icon's name, and \"default\" is the SVG string."
6790
+ },
6791
+ {
6792
+ "name": "icon",
6793
+ "optional": true,
6794
+ "type": {
6795
+ "text": "string"
6796
+ },
6797
+ "description": "The SVG string for the icon."
6798
+ }
6799
+ ],
6800
+ "description": "Register an individual icon so it can be rendered synchronously, to avoid loading over the network."
6801
+ },
6802
+ {
6803
+ "kind": "field",
6804
+ "name": "name",
6805
+ "type": {
6806
+ "text": "string"
6807
+ },
6808
+ "default": "\"\"",
6809
+ "description": "The name of the icon to display, as defined by [nordicons](/nordicons/).",
6810
+ "attribute": "name",
6811
+ "reflects": true
6812
+ },
6813
+ {
6814
+ "kind": "field",
6815
+ "name": "size",
6816
+ "type": {
6817
+ "text": "\"xxs\" | \"xs\" | \"s\" | \"m\" | \"l\" | \"xl\" | \"xxl\" | undefined"
6818
+ },
6819
+ "description": "The size of the icon.",
6820
+ "attribute": "size",
6821
+ "reflects": true
6822
+ },
6823
+ {
6824
+ "kind": "field",
6825
+ "name": "color",
6826
+ "type": {
6827
+ "text": "string | undefined"
6828
+ },
6829
+ "description": "The color of the icon.\nCan accept any valid CSS color value, including custom properties.",
6830
+ "attribute": "color",
6831
+ "reflects": true
6832
+ },
6833
+ {
6834
+ "kind": "field",
6835
+ "name": "label",
6836
+ "type": {
6837
+ "text": "string | undefined"
6838
+ },
6839
+ "description": "An accessible label for the icon.\nIf no label is supplied, the icon is hidden from assistive technology.",
6840
+ "attribute": "label",
6841
+ "reflects": true
6842
+ },
6843
+ {
6844
+ "kind": "field",
6845
+ "name": "svg",
6846
+ "type": {
6847
+ "text": "string"
6848
+ },
6849
+ "privacy": "private",
6850
+ "default": "\"\""
6851
+ },
6852
+ {
6853
+ "kind": "method",
6854
+ "name": "handleNameChange",
6855
+ "privacy": "protected"
6856
+ }
6857
+ ],
6858
+ "attributes": [
6859
+ {
6860
+ "name": "name",
6861
+ "type": {
6862
+ "text": "string"
6863
+ },
6864
+ "default": "\"\"",
6865
+ "description": "The name of the icon to display, as defined by [nordicons](/nordicons/).",
6866
+ "fieldName": "name"
6867
+ },
6868
+ {
6869
+ "name": "size",
6870
+ "type": {
6871
+ "text": "\"xxs\" | \"xs\" | \"s\" | \"m\" | \"l\" | \"xl\" | \"xxl\" | undefined"
6872
+ },
6873
+ "description": "The size of the icon.",
6874
+ "fieldName": "size"
6875
+ },
6876
+ {
6877
+ "name": "color",
6878
+ "type": {
6879
+ "text": "string | undefined"
6880
+ },
6881
+ "description": "The color of the icon.\nCan accept any valid CSS color value, including custom properties.",
6882
+ "fieldName": "color"
6883
+ },
6884
+ {
6885
+ "name": "label",
6886
+ "type": {
6887
+ "text": "string | undefined"
6888
+ },
6889
+ "description": "An accessible label for the icon.\nIf no label is supplied, the icon is hidden from assistive technology.",
6890
+ "fieldName": "label"
6891
+ }
6892
+ ],
6893
+ "superclass": {
6894
+ "name": "LitElement",
6895
+ "package": "lit"
6896
+ },
6897
+ "localization": [],
6898
+ "status": "ready",
6899
+ "category": "image",
6900
+ "readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<nord-button href=\"/nordicons/\" variant=\"primary\">View Nordicons</nord-button>\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Use to provide additional meaning in addition to a text label.\n- Use to help users who have difficulties with reading and attention.\n- Use in places where text label doesn’t fit (remember to add an accessible label for the icon).\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use for decorative purposes alone.\n- Don’t use when a button’s action is already clear based on the text label.\n- Don’t use the same icon for differing purposes, as users will come to associate icons with specific types of actions.\n\n</div>\n\n---\n\n## Additional considerations\n\n- Icon components are hidden from assistive technologies by default.\n- Use `label` property to give an accessible label for the icon and to make it visible to assistive technologies.\n",
6901
+ "examples": [],
6902
+ "dependencies": [],
6903
+ "tagName": "nord-icon",
6904
+ "customElement": true
6905
+ }
6906
+ ],
6907
+ "exports": [
6908
+ {
6909
+ "kind": "js",
6910
+ "name": "default",
6911
+ "declaration": {
6912
+ "name": "Icon",
6913
+ "module": "src/icon/Icon.ts"
6914
+ }
6915
+ },
6916
+ {
6917
+ "kind": "custom-element-definition",
6918
+ "name": "nord-icon",
6919
+ "declaration": {
6920
+ "name": "Icon",
6921
+ "module": "src/icon/Icon.ts"
6922
+ }
6923
+ }
6924
+ ]
6925
+ },
6926
+ {
6927
+ "kind": "javascript-module",
6928
+ "path": "src/icon/IconManager.ts",
6929
+ "declarations": [
6930
+ {
6931
+ "kind": "class",
6932
+ "description": "",
6933
+ "name": "IconManager",
6934
+ "members": [
6935
+ {
6936
+ "kind": "field",
6937
+ "name": "cache",
6938
+ "privacy": "private",
6939
+ "default": "new Map<string, string | Promise<string>>()"
6940
+ },
6941
+ {
6942
+ "kind": "field",
6943
+ "name": "resolver",
6944
+ "type": {
6945
+ "text": "IconResolver"
6946
+ }
6947
+ },
6948
+ {
6949
+ "kind": "method",
6950
+ "name": "resolve",
6951
+ "parameters": [
6952
+ {
6953
+ "name": "name",
6954
+ "type": {
6955
+ "text": "string"
6956
+ }
6957
+ },
6958
+ {
6959
+ "name": "onResolved",
6960
+ "type": {
6961
+ "text": "(svg: string) => void"
6962
+ }
6963
+ }
6964
+ ]
6965
+ },
6966
+ {
6967
+ "kind": "method",
6968
+ "name": "registerIcon",
6969
+ "parameters": [
6970
+ {
6971
+ "name": "iconOrName",
6972
+ "type": {
6973
+ "text": "string | { title: string; default: string }"
6974
+ }
6975
+ },
6976
+ {
6977
+ "name": "icon",
6978
+ "optional": true,
6979
+ "type": {
6980
+ "text": "string"
6981
+ }
6982
+ }
6983
+ ]
6984
+ },
6985
+ {
6986
+ "kind": "method",
6987
+ "name": "clear"
6988
+ }
6989
+ ]
6990
+ }
6991
+ ],
6992
+ "exports": [
6993
+ {
6994
+ "kind": "js",
6995
+ "name": "IconManager",
6996
+ "declaration": {
6997
+ "name": "IconManager",
6998
+ "module": "src/icon/IconManager.ts"
6999
+ }
7000
+ }
7001
+ ]
7002
+ },
6587
7003
  {
6588
7004
  "kind": "javascript-module",
6589
7005
  "path": "src/input/Input.ts",
@@ -6617,6 +7033,11 @@
6617
7033
  "description": "Controls how rounded the corners are, using [border radius tokens](/tokens/#border-radius).",
6618
7034
  "name": "--n-input-border-radius",
6619
7035
  "default": "var(--n-border-radius-s)"
7036
+ },
7037
+ {
7038
+ "description": "Controls the alignment of text within the input itself.",
7039
+ "name": "--n-input-text-align",
7040
+ "default": "start"
6620
7041
  }
6621
7042
  ],
6622
7043
  "slots": [
@@ -6664,7 +7085,7 @@
6664
7085
  "kind": "field",
6665
7086
  "name": "type",
6666
7087
  "type": {
6667
- "text": "\"text\" | \"email\" | \"password\" | \"tel\" | \"url\" | \"search\" | \"number\""
7088
+ "text": "\"text\" | \"email\" | \"password\" | \"tel\" | \"url\" | \"search\" | \"number\" | \"unit\""
6668
7089
  },
6669
7090
  "default": "\"text\"",
6670
7091
  "description": "The type of the input.",
@@ -7137,7 +7558,7 @@
7137
7558
  {
7138
7559
  "name": "type",
7139
7560
  "type": {
7140
- "text": "\"text\" | \"email\" | \"password\" | \"tel\" | \"url\" | \"search\" | \"number\""
7561
+ "text": "\"text\" | \"email\" | \"password\" | \"tel\" | \"url\" | \"search\" | \"number\" | \"unit\""
7141
7562
  },
7142
7563
  "default": "\"text\"",
7143
7564
  "description": "The type of the input.",
@@ -7317,297 +7738,43 @@
7317
7738
  }
7318
7739
  },
7319
7740
  {
7320
- "name": "value",
7321
- "type": {
7322
- "text": "string"
7323
- },
7324
- "default": "\"\"",
7325
- "description": "The value of the form component.",
7326
- "fieldName": "value",
7327
- "inheritedFrom": {
7328
- "name": "InputMixin",
7329
- "module": "src/common/mixins/InputMixin.ts"
7330
- }
7331
- }
7332
- ],
7333
- "mixins": [
7334
- {
7335
- "name": "SizeMixin",
7336
- "module": "/src/common/mixins/SizeMixin.js"
7337
- },
7338
- {
7339
- "name": "FormAssociatedMixin",
7340
- "module": "/src/common/mixins/FormAssociatedMixin.js"
7341
- },
7342
- {
7343
- "name": "AutocompleteMixin",
7344
- "module": "/src/common/mixins/AutocompleteMixin.js"
7345
- },
7346
- {
7347
- "name": "ReadonlyMixin",
7348
- "module": "/src/common/mixins/ReadonlyMixin.js"
7349
- },
7350
- {
7351
- "name": "InputMixin",
7352
- "module": "/src/common/mixins/InputMixin.js"
7353
- },
7354
- {
7355
- "name": "FocusableMixin",
7356
- "module": "/src/common/mixins/FocusableMixin.js"
7357
- }
7358
- ],
7359
- "superclass": {
7360
- "name": "LitElement",
7361
- "package": "lit"
7362
- },
7363
- "localization": [],
7364
- "status": "ready",
7365
- "category": "form",
7366
- "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 provide a text input where the expected input is short.\n- Use to only ask for information that’s really needed. Hide optional fields by default if possible or have them shown with a lower priority.\n- Use help text and placeholder to provide additional, non-critical instructions.\n- Validate input as soon as users have finished interacting with them (but not before).\n- Where necessary, label the input as “Optional” when you need to request input that’s not required.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use when the expected text input is long. Use textarea component instead.\n- Don’t use the placeholder to provide information that’s required to use the input. Hint text should be used for this purpose instead.\n\n</div>\n\n---\n\n## Content guidelines\n\nInput labels act as a title for the text field. Labels should typically be short and in noun form:\n\n<div class=\"n-usage n-usage-do\">Company name</div>\n<div class=\"n-usage n-usage-dont\">What is your company name?</div>\n\nWhen writing input 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\">Company name</div>\n<div class=\"n-usage n-usage-dont\">Company Name</div>\n\nWhen an input isn’t part of a form and is placed individually on a page, you could provide the input label as a call to action:\n\n<div class=\"n-usage n-usage-do\">Leave a comment</div>\n<div class=\"n-usage n-usage-dont\">Comment</div>\n\nDo not use colons in input label:\n\n<div class=\"n-usage n-usage-do\">First name</div>\n<div class=\"n-usage n-usage-dont\">First name:</div>\n\n---\n\n## Types\n\nThis section describes the different input types, their purpose, and when to use each type.\n\n| Name | Purpose |\n| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| `text` | The default and most common variant. Displayed as a single-line text field. Line-breaks are automatically removed from the input value. |\n| `email` | A field for editing an email address. Looks similar to a text input, but has validation parameters and relevant keyboard for devices with dynamic keyboards. |\n| `password` | A single-line text field where the value is obscured. This type will alert user if a site is not secure. |\n| `tel` | A field for entering a telephone number. Displays a number keypad on mobile devices. |\n| `url` | A field variant that is used to let the user enter and edit an URL. |\n| `search` | A single-line text field for entering search strings. |\n| `number` | Used to let the user enter a number. |\n\n## Icon usage in input\n\nEach [input size](/components/input/?example=size) has a recommended icon size. The medium input uses the `s` icon size, the small input uses the `xs` icon size, and the large input uses the `m` icon size. The icon will adjust size automatically based on the button size, so you will get the correct behavior by default. However, this can be overridden by explicitly setting a size on the icon.\n",
7367
- "examples": [],
7368
- "tagName": "nord-input",
7369
- "customElement": true,
7370
- "events": [
7371
- {
7372
- "name": "input",
7373
- "type": {
7374
- "text": "NordEvent"
7375
- },
7376
- "description": "Fired as the user types into the input.",
7377
- "inheritedFrom": {
7378
- "name": "FormAssociatedMixin",
7379
- "module": "src/common/mixins/FormAssociatedMixin.ts"
7380
- }
7381
- },
7382
- {
7383
- "name": "change",
7384
- "type": {
7385
- "text": "NordEvent"
7386
- },
7387
- "description": "Fired whenever the input's value is changed via user interaction.",
7388
- "inheritedFrom": {
7389
- "name": "FormAssociatedMixin",
7390
- "module": "src/common/mixins/FormAssociatedMixin.ts"
7391
- }
7392
- }
7393
- ]
7394
- }
7395
- ],
7396
- "exports": [
7397
- {
7398
- "kind": "js",
7399
- "name": "default",
7400
- "declaration": {
7401
- "name": "Input",
7402
- "module": "src/input/Input.ts"
7403
- }
7404
- },
7405
- {
7406
- "kind": "custom-element-definition",
7407
- "name": "nord-input",
7408
- "declaration": {
7409
- "name": "Input",
7410
- "module": "src/input/Input.ts"
7411
- }
7412
- }
7413
- ]
7414
- },
7415
- {
7416
- "kind": "javascript-module",
7417
- "path": "src/icon/Icon.ts",
7418
- "declarations": [
7419
- {
7420
- "kind": "class",
7421
- "description": "Icons are used to provide additional meaning or in places where text label doesn’t fit.\nIcon component allows you to display an icon from the Nordicons library.",
7422
- "name": "Icon",
7423
- "slots": [
7424
- {
7425
- "description": "The default slot used for placing a custom SVG icon.",
7426
- "name": ""
7427
- }
7428
- ],
7429
- "members": [
7430
- {
7431
- "kind": "field",
7432
- "name": "manager",
7433
- "privacy": "private",
7434
- "static": true,
7435
- "default": "new IconManager()"
7436
- },
7437
- {
7438
- "kind": "method",
7439
- "name": "registerResolver",
7440
- "static": true,
7441
- "parameters": [
7442
- {
7443
- "name": "resolver",
7444
- "type": {
7445
- "text": "IconResolver"
7446
- },
7447
- "description": "The resolver function to register."
7448
- }
7449
- ],
7450
- "description": "Register a custom icon resolver, which accepts the icon name as an parameter, and returns an SVG string.\nCan return a string synchronously, or a promise of a string.\nBy default, will load icons from the Nord CDN."
7451
- },
7452
- {
7453
- "kind": "method",
7454
- "name": "registerIcon",
7455
- "static": true,
7456
- "return": {
7457
- "type": {
7458
- "text": "void"
7459
- }
7460
- },
7461
- "parameters": [
7462
- {
7463
- "name": "icon",
7464
- "type": {
7465
- "text": "{ title: string; default: string }"
7466
- },
7467
- "description": "An object representing the icon to be registered, where \"title\" is the icon's name, and \"default\" is the SVG string.\nThis is intended to be used in cases where you import an icon's entire ES module and register it directly."
7468
- }
7469
- ],
7470
- "description": "Register an individual icon so it can be rendered synchronously, to avoid loading over the network."
7471
- },
7472
- {
7473
- "kind": "method",
7474
- "name": "registerIcon",
7475
- "static": true,
7476
- "return": {
7477
- "type": {
7478
- "text": "void"
7479
- }
7480
- },
7481
- "parameters": [
7482
- {
7483
- "name": "name",
7484
- "type": {
7485
- "text": "string"
7486
- },
7487
- "description": "The name of the icon to be registered."
7488
- },
7489
- {
7490
- "name": "icon",
7491
- "type": {
7492
- "text": "string"
7493
- },
7494
- "description": "The SVG string for the icon."
7495
- }
7496
- ],
7497
- "description": "Register an individual icon so it can be rendered synchronously, to avoid loading over the network."
7498
- },
7499
- {
7500
- "kind": "method",
7501
- "name": "registerIcon",
7502
- "static": true,
7503
- "parameters": [
7504
- {
7505
- "name": "iconOrName",
7506
- "type": {
7507
- "text": "string | { title: string; default: string }"
7508
- },
7509
- "description": "The name of the icon to be registered or an object representing the icon to be registered, where \"title\" is the icon's name, and \"default\" is the SVG string."
7510
- },
7511
- {
7512
- "name": "icon",
7513
- "optional": true,
7514
- "type": {
7515
- "text": "string"
7516
- },
7517
- "description": "The SVG string for the icon."
7518
- }
7519
- ],
7520
- "description": "Register an individual icon so it can be rendered synchronously, to avoid loading over the network."
7521
- },
7522
- {
7523
- "kind": "field",
7524
- "name": "name",
7525
- "type": {
7526
- "text": "string"
7527
- },
7528
- "default": "\"\"",
7529
- "description": "The name of the icon to display, as defined by [nordicons](/nordicons/).",
7530
- "attribute": "name",
7531
- "reflects": true
7532
- },
7533
- {
7534
- "kind": "field",
7535
- "name": "size",
7536
- "type": {
7537
- "text": "\"xxs\" | \"xs\" | \"s\" | \"m\" | \"l\" | \"xl\" | \"xxl\" | undefined"
7538
- },
7539
- "description": "The size of the icon.",
7540
- "attribute": "size",
7541
- "reflects": true
7542
- },
7543
- {
7544
- "kind": "field",
7545
- "name": "color",
7546
- "type": {
7547
- "text": "string | undefined"
7548
- },
7549
- "description": "The color of the icon.\nCan accept any valid CSS color value, including custom properties.",
7550
- "attribute": "color",
7551
- "reflects": true
7552
- },
7553
- {
7554
- "kind": "field",
7555
- "name": "label",
7556
- "type": {
7557
- "text": "string | undefined"
7558
- },
7559
- "description": "An accessible label for the icon.\nIf no label is supplied, the icon is hidden from assistive technology.",
7560
- "attribute": "label",
7561
- "reflects": true
7562
- },
7563
- {
7564
- "kind": "field",
7565
- "name": "svg",
7566
- "type": {
7567
- "text": "string"
7568
- },
7569
- "privacy": "private",
7570
- "default": "\"\""
7571
- },
7572
- {
7573
- "kind": "method",
7574
- "name": "handleNameChange",
7575
- "privacy": "protected"
7576
- }
7577
- ],
7578
- "attributes": [
7579
- {
7580
- "name": "name",
7741
+ "name": "value",
7581
7742
  "type": {
7582
7743
  "text": "string"
7583
7744
  },
7584
7745
  "default": "\"\"",
7585
- "description": "The name of the icon to display, as defined by [nordicons](/nordicons/).",
7586
- "fieldName": "name"
7746
+ "description": "The value of the form component.",
7747
+ "fieldName": "value",
7748
+ "inheritedFrom": {
7749
+ "name": "InputMixin",
7750
+ "module": "src/common/mixins/InputMixin.ts"
7751
+ }
7752
+ }
7753
+ ],
7754
+ "mixins": [
7755
+ {
7756
+ "name": "SizeMixin",
7757
+ "module": "/src/common/mixins/SizeMixin.js"
7587
7758
  },
7588
7759
  {
7589
- "name": "size",
7590
- "type": {
7591
- "text": "\"xxs\" | \"xs\" | \"s\" | \"m\" | \"l\" | \"xl\" | \"xxl\" | undefined"
7592
- },
7593
- "description": "The size of the icon.",
7594
- "fieldName": "size"
7760
+ "name": "FormAssociatedMixin",
7761
+ "module": "/src/common/mixins/FormAssociatedMixin.js"
7595
7762
  },
7596
7763
  {
7597
- "name": "color",
7598
- "type": {
7599
- "text": "string | undefined"
7600
- },
7601
- "description": "The color of the icon.\nCan accept any valid CSS color value, including custom properties.",
7602
- "fieldName": "color"
7764
+ "name": "AutocompleteMixin",
7765
+ "module": "/src/common/mixins/AutocompleteMixin.js"
7603
7766
  },
7604
7767
  {
7605
- "name": "label",
7606
- "type": {
7607
- "text": "string | undefined"
7608
- },
7609
- "description": "An accessible label for the icon.\nIf no label is supplied, the icon is hidden from assistive technology.",
7610
- "fieldName": "label"
7768
+ "name": "ReadonlyMixin",
7769
+ "module": "/src/common/mixins/ReadonlyMixin.js"
7770
+ },
7771
+ {
7772
+ "name": "InputMixin",
7773
+ "module": "/src/common/mixins/InputMixin.js"
7774
+ },
7775
+ {
7776
+ "name": "FocusableMixin",
7777
+ "module": "/src/common/mixins/FocusableMixin.js"
7611
7778
  }
7612
7779
  ],
7613
7780
  "superclass": {
@@ -7616,94 +7783,36 @@
7616
7783
  },
7617
7784
  "localization": [],
7618
7785
  "status": "ready",
7619
- "category": "image",
7620
- "readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<nord-button href=\"/nordicons/\" variant=\"primary\">View Nordicons</nord-button>\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Use to provide additional meaning in addition to a text label.\n- Use to help users who have difficulties with reading and attention.\n- Use in places where text label doesn’t fit (remember to add an accessible label for the icon).\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use for decorative purposes alone.\n- Don’t use when a button’s action is already clear based on the text label.\n- Don’t use the same icon for differing purposes, as users will come to associate icons with specific types of actions.\n\n</div>\n\n---\n\n## Additional considerations\n\n- Icon components are hidden from assistive technologies by default.\n- Use `label` property to give an accessible label for the icon and to make it visible to assistive technologies.\n",
7786
+ "category": "form",
7787
+ "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 provide a text input where the expected input is short.\n- Use to only ask for information that’s really needed. Hide optional fields by default if possible or have them shown with a lower priority.\n- Use help text and placeholder to provide additional, non-critical instructions.\n- Validate input as soon as users have finished interacting with them (but not before).\n- Where necessary, label the input as “Optional” when you need to request input that’s not required.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use when the expected text input is long. Use textarea component instead.\n- Don’t use the placeholder to provide information that’s required to use the input. Hint text should be used for this purpose instead.\n\n</div>\n\n---\n\n## Content guidelines\n\nInput labels act as a title for the text field. Labels should typically be short and in noun form:\n\n<div class=\"n-usage n-usage-do\">Company name</div>\n<div class=\"n-usage n-usage-dont\">What is your company name?</div>\n\nWhen writing input 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\">Company name</div>\n<div class=\"n-usage n-usage-dont\">Company Name</div>\n\nWhen an input isn’t part of a form and is placed individually on a page, you could provide the input label as a call to action:\n\n<div class=\"n-usage n-usage-do\">Leave a comment</div>\n<div class=\"n-usage n-usage-dont\">Comment</div>\n\nDo not use colons in input label:\n\n<div class=\"n-usage n-usage-do\">First name</div>\n<div class=\"n-usage n-usage-dont\">First name:</div>\n\n---\n\n## Types\n\nThis section describes the different input types, their purpose, and when to use each type.\n\n| Name | Purpose |\n| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| `text` | The default and most common variant. Displayed as a single-line text field. Line-breaks are automatically removed from the input value. |\n| `email` | A field for editing an email address. Looks similar to a text input, but has validation parameters and relevant keyboard for devices with dynamic keyboards. |\n| `password` | A single-line text field where the value is obscured. This type will alert user if a site is not secure. |\n| `tel` | A field for entering a telephone number. Displays a number keypad on mobile devices. |\n| `url` | A field variant that is used to let the user enter and edit an URL. |\n| `search` | A single-line text field for entering search strings. |\n| `number` | Used to let the user enter a number. |\n\n## Icon usage in input\n\nEach [input size](/components/input/?example=size) has a recommended icon size. The medium input uses the `s` icon size, the small input uses the `xs` icon size, and the large input uses the `m` icon size. The icon will adjust size automatically based on the button size, so you will get the correct behavior by default. However, this can be overridden by explicitly setting a size on the icon.\n",
7621
7788
  "examples": [],
7622
- "tagName": "nord-icon",
7623
- "customElement": true
7624
- }
7625
- ],
7626
- "exports": [
7627
- {
7628
- "kind": "js",
7629
- "name": "default",
7630
- "declaration": {
7631
- "name": "Icon",
7632
- "module": "src/icon/Icon.ts"
7633
- }
7634
- },
7635
- {
7636
- "kind": "custom-element-definition",
7637
- "name": "nord-icon",
7638
- "declaration": {
7639
- "name": "Icon",
7640
- "module": "src/icon/Icon.ts"
7641
- }
7642
- }
7643
- ]
7644
- },
7645
- {
7646
- "kind": "javascript-module",
7647
- "path": "src/icon/IconManager.ts",
7648
- "declarations": [
7649
- {
7650
- "kind": "class",
7651
- "description": "",
7652
- "name": "IconManager",
7653
- "members": [
7654
- {
7655
- "kind": "field",
7656
- "name": "cache",
7657
- "privacy": "private",
7658
- "default": "new Map<string, string | Promise<string>>()"
7659
- },
7789
+ "dependencies": [
7790
+ "icon"
7791
+ ],
7792
+ "tagName": "nord-input",
7793
+ "customElement": true,
7794
+ "events": [
7660
7795
  {
7661
- "kind": "field",
7662
- "name": "resolver",
7796
+ "name": "input",
7663
7797
  "type": {
7664
- "text": "IconResolver"
7798
+ "text": "NordEvent"
7799
+ },
7800
+ "description": "Fired as the user types into the input.",
7801
+ "inheritedFrom": {
7802
+ "name": "FormAssociatedMixin",
7803
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
7665
7804
  }
7666
7805
  },
7667
7806
  {
7668
- "kind": "method",
7669
- "name": "resolve",
7670
- "parameters": [
7671
- {
7672
- "name": "name",
7673
- "type": {
7674
- "text": "string"
7675
- }
7676
- },
7677
- {
7678
- "name": "onResolved",
7679
- "type": {
7680
- "text": "(svg: string) => void"
7681
- }
7682
- }
7683
- ]
7684
- },
7685
- {
7686
- "kind": "method",
7687
- "name": "registerIcon",
7688
- "parameters": [
7689
- {
7690
- "name": "iconOrName",
7691
- "type": {
7692
- "text": "string | { title: string; default: string }"
7693
- }
7694
- },
7695
- {
7696
- "name": "icon",
7697
- "optional": true,
7698
- "type": {
7699
- "text": "string"
7700
- }
7701
- }
7702
- ]
7703
- },
7704
- {
7705
- "kind": "method",
7706
- "name": "clear"
7807
+ "name": "change",
7808
+ "type": {
7809
+ "text": "NordEvent"
7810
+ },
7811
+ "description": "Fired whenever the input's value is changed via user interaction.",
7812
+ "inheritedFrom": {
7813
+ "name": "FormAssociatedMixin",
7814
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
7815
+ }
7707
7816
  }
7708
7817
  ]
7709
7818
  }
@@ -7711,10 +7820,18 @@
7711
7820
  "exports": [
7712
7821
  {
7713
7822
  "kind": "js",
7714
- "name": "IconManager",
7823
+ "name": "default",
7715
7824
  "declaration": {
7716
- "name": "IconManager",
7717
- "module": "src/icon/IconManager.ts"
7825
+ "name": "Input",
7826
+ "module": "src/input/Input.ts"
7827
+ }
7828
+ },
7829
+ {
7830
+ "kind": "custom-element-definition",
7831
+ "name": "nord-input",
7832
+ "declaration": {
7833
+ "name": "Input",
7834
+ "module": "src/input/Input.ts"
7718
7835
  }
7719
7836
  }
7720
7837
  ]
@@ -7779,7 +7896,7 @@
7779
7896
  "kind": "field",
7780
7897
  "name": "resizeObserver",
7781
7898
  "privacy": "private",
7782
- "default": "new ResizeObserver(entries => {\n this.stickySize = Math.round(entries[0].borderBoxSize[0].blockSize)\n })"
7899
+ "default": "new ResizeObserver(entries => {\n this.headerSize = Math.round(entries[0].borderBoxSize[0].blockSize)\n })"
7783
7900
  },
7784
7901
  {
7785
7902
  "kind": "field",
@@ -7856,9 +7973,9 @@
7856
7973
  },
7857
7974
  {
7858
7975
  "kind": "field",
7859
- "name": "stickySize",
7976
+ "name": "headerSize",
7860
7977
  "type": {
7861
- "text": "number | null"
7978
+ "text": "number"
7862
7979
  },
7863
7980
  "privacy": "private",
7864
7981
  "default": "0"
@@ -7918,19 +8035,6 @@
7918
8035
  "name": "renderNavToggle",
7919
8036
  "privacy": "private"
7920
8037
  },
7921
- {
7922
- "kind": "method",
7923
- "name": "handleStickyChange",
7924
- "privacy": "protected",
7925
- "parameters": [
7926
- {
7927
- "name": "prev",
7928
- "type": {
7929
- "text": "boolean"
7930
- }
7931
- }
7932
- ]
7933
- },
7934
8038
  {
7935
8039
  "kind": "method",
7936
8040
  "name": "handleNavWidthChange",
@@ -8163,6 +8267,9 @@
8163
8267
  "category": "structure",
8164
8268
  "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- To visually group content in a layout section, use the Card component.\n- To lay out a set of smaller components, use the Stack component.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Never put layout component inside another HTML landmark.\n- Don’t use when you need a vertical or horizontal layout system. Use Stack component instead.\n\n</div>\n\n---\n\n## Additional considerations\n\n- Layout component uses `<main>` element internally which is an HTML sectioning element which by default defines an ARIA landmark role. For that reason you should never put layout component inside another HTML landmark.\n",
8165
8269
  "examples": [],
8270
+ "dependencies": [
8271
+ "nav-toggle"
8272
+ ],
8166
8273
  "tagName": "nord-layout",
8167
8274
  "customElement": true
8168
8275
  }
@@ -8281,7 +8388,7 @@
8281
8388
  "type": {
8282
8389
  "text": "object"
8283
8390
  },
8284
- "default": "{\n $lang: \"en-US\",\n $name: \"English\",\n $dir: \"ltr\" as \"ltr\" | \"rtl\",\n \"nord-command-menu\": commandMenuLocalization,\n \"nord-calendar\": calendarLocalization,\n \"nord-date-picker\": datePickerLocalization,\n \"nord-modal\": modalLocalization,\n \"nord-nav-toggle\": navToggleLocalization,\n \"nord-textarea\": textareaLocalization,\n}"
8391
+ "default": "{\n $lang: \"en-US\",\n $name: \"English\",\n $dir: \"ltr\" as \"ltr\" | \"rtl\",\n \"nord-command-menu\": commandMenuLocalization,\n \"nord-calendar\": calendarLocalization,\n \"nord-date-picker\": datePickerLocalization,\n \"nord-modal\": modalLocalization,\n \"nord-nav-toggle\": navToggleLocalization,\n \"nord-textarea\": textareaLocalization,\n \"nord-notification\": notificationLocalization,\n}"
8285
8392
  }
8286
8393
  ],
8287
8394
  "exports": [
@@ -8305,7 +8412,7 @@
8305
8412
  "type": {
8306
8413
  "text": "Translation"
8307
8414
  },
8308
- "default": "{\n $lang: \"fi\",\n $name: \"Suomi\",\n $dir: \"ltr\",\n\n \"nord-command-menu\": {\n instructions: \"Paina 'Enter' vahvistaaksesi valinnan tai 'Escape' peruuttaaksesi\",\n inputLabel: \"Kirjoita komento jonka haluat suorittaa.\",\n footerArrowKeys: \"Siirry\",\n footerEnterKey: \"Valitse\",\n footerEscapeKey: \"Esc sulje\",\n footerBackspaceKey: \"Siirry takaisin\",\n noResults: searchTerm => `Ei tuloksia haulle \"${searchTerm}\"`,\n tip: \"Vinkki: jotkin haut vaativat tarkan hakutermin. Koita kirjoittaa koko hakutermi kokonaisuudessaan, tai kokeile toista sanaa tai fraasia.\",\n },\n\n \"nord-calendar\": {\n prevMonthLabel: \"Edellinen kuukausi\",\n nextMonthLabel: \"Seuraava kuukausi\",\n monthSelectLabel: \"Kuukausi\",\n yearSelectLabel: \"Vuosi\",\n },\n\n \"nord-date-picker\": {\n modalHeading: \"Valitse päivämäärä\",\n closeLabel: \"Sulje ikkuna\",\n buttonLabel: \"Valitse päivämäärä\",\n selectedDateMessage: \"Valittu päivämäärä on\",\n },\n\n \"nord-modal\": {\n closeLabel: \"Sulje ikkuna\",\n },\n\n \"nord-nav-toggle\": {\n label: \"Näytä/Piilota valikko\",\n },\n\n \"nord-textarea\": {\n remainingCharacters: (remaining: number) => `${remaining} merkkiä jäljellä`,\n },\n}"
8415
+ "default": "{\n $lang: \"fi\",\n $name: \"Suomi\",\n $dir: \"ltr\",\n\n \"nord-command-menu\": {\n instructions: \"Paina 'Enter' vahvistaaksesi valinnan tai 'Escape' peruuttaaksesi\",\n inputLabel: \"Kirjoita komento jonka haluat suorittaa.\",\n footerArrowKeys: \"Siirry\",\n footerEnterKey: \"Valitse\",\n footerEscapeKey: \"Esc sulje\",\n footerBackspaceKey: \"Siirry takaisin\",\n noResults: searchTerm => `Ei tuloksia haulle \"${searchTerm}\"`,\n tip: \"Vinkki: jotkin haut vaativat tarkan hakutermin. Koita kirjoittaa koko hakutermi kokonaisuudessaan, tai kokeile toista sanaa tai fraasia.\",\n },\n\n \"nord-calendar\": {\n prevMonthLabel: \"Edellinen kuukausi\",\n nextMonthLabel: \"Seuraava kuukausi\",\n monthSelectLabel: \"Kuukausi\",\n yearSelectLabel: \"Vuosi\",\n },\n\n \"nord-date-picker\": {\n modalHeading: \"Valitse päivämäärä\",\n closeLabel: \"Sulje ikkuna\",\n buttonLabel: \"Valitse päivämäärä\",\n selectedDateMessage: \"Valittu päivämäärä on\",\n },\n\n \"nord-modal\": {\n closeLabel: \"Sulje ikkuna\",\n },\n\n \"nord-nav-toggle\": {\n label: \"Näytä/Piilota valikko\",\n },\n\n \"nord-textarea\": {\n remainingCharacters: (remaining: number) => `${remaining} merkkiä jäljellä`,\n },\n\n \"nord-notification\": {\n dismissLabel: \"Sulje ilmoitus\",\n },\n}"
8309
8416
  }
8310
8417
  ],
8311
8418
  "exports": [
@@ -8680,6 +8787,9 @@
8680
8787
  "category": "overlay",
8681
8788
  "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 for confirmations and conditional changes.\n- Use when the user is required to take an action.\n- Use when you need to display content that temporarily blocks interactions with the main view of an application.\n- Use when you need to ask a confirmation from a user before proceeding.\n- Use for important warnings, as a way to prevent or correct critical errors.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use for nonessential information that is not related to the current userflow.\n- Don’t use when the modal requires additional information for decision making that is unavailable in the modal itself.\n- Don’t open a modal window on top of another modal.\n\n</div>\n\n---\n\n## Content guidelines\n\nModal title should be clear, accurate and predictable. Always lead with a strong verb that encourages action. To provide enough context to user, use the {verb} + {noun} content formula:\n\n<div class=\"n-usage n-usage-do\">Edit patient</div>\n<div class=\"n-usage n-usage-dont\">Edit the patient called John Doe</div>\n<div class=\"n-usage n-usage-do\">Discard changes?</div>\n<div class=\"n-usage n-usage-dont\">Discard?</div>\n<div class=\"n-usage n-usage-do\">Delete patient?</div>\n<div class=\"n-usage n-usage-dont\">Are you sure you want to delete this patent?</div>\n\nWhen writing modal titles, 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\">New appointment</div>\n<div class=\"n-usage n-usage-dont\">New Appointment</div>\n\nAvoid unnecessary words and articles in modal titles, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Change theme</div>\n<div class=\"n-usage n-usage-dont\">Change the theme</div>\n\nAvoid ending in punctuation:\n\n<div class=\"n-usage n-usage-do\">Edit patient</div>\n<div class=\"n-usage n-usage-dont\">Edit patient.</div>\n\n---\n\n## Focus behaviour\n\n- Use the `autofocus` attribute to set the initial focus to the first location that accepts user input.\n- If it is a transactional modal without form inputs, then `autofocus` should be set on the primary button in the modal footer. This is for efficiency since most users will simply dismiss the dialog as soon as they have read the message.\n- If the modal contains a form, use `autofocus` in the first form field.\n- Focus remains trapped inside the modal dialog until it is closed.\n- For more examples and best practices, please see [WAI-ARIA Authoring Practices Modal Dialog Example](https://www.w3.org/TR/2017/NOTE-wai-aria-practices-1.1-20171214/examples/dialog-modal/dialog.html).\n",
8682
8789
  "examples": [],
8790
+ "dependencies": [
8791
+ "icon"
8792
+ ],
8683
8793
  "tagName": "nord-modal",
8684
8794
  "customElement": true
8685
8795
  }
@@ -8859,8 +8969,78 @@
8859
8969
  "kind": "js",
8860
8970
  "name": "default",
8861
8971
  "declaration": {
8862
- "name": "localization",
8863
- "module": "src/modal/localization.ts"
8972
+ "name": "localization",
8973
+ "module": "src/modal/localization.ts"
8974
+ }
8975
+ }
8976
+ ]
8977
+ },
8978
+ {
8979
+ "kind": "javascript-module",
8980
+ "path": "src/nav-group/NavGroup.ts",
8981
+ "declarations": [
8982
+ {
8983
+ "kind": "class",
8984
+ "description": "Navigation group includes all the actions or items in a single\ngroup and is used for grouping items into related categories.",
8985
+ "name": "NavGroup",
8986
+ "slots": [
8987
+ {
8988
+ "description": "The default slot used for the nav items.",
8989
+ "name": ""
8990
+ }
8991
+ ],
8992
+ "members": [
8993
+ {
8994
+ "kind": "field",
8995
+ "name": "heading",
8996
+ "type": {
8997
+ "text": "string | undefined"
8998
+ },
8999
+ "description": "Heading and accessible label for the nav group",
9000
+ "attribute": "heading"
9001
+ }
9002
+ ],
9003
+ "attributes": [
9004
+ {
9005
+ "name": "heading",
9006
+ "type": {
9007
+ "text": "string | undefined"
9008
+ },
9009
+ "description": "Heading and accessible label for the nav group",
9010
+ "fieldName": "heading"
9011
+ }
9012
+ ],
9013
+ "superclass": {
9014
+ "name": "LitElement",
9015
+ "package": "lit"
9016
+ },
9017
+ "localization": [],
9018
+ "status": "ready",
9019
+ "category": "navigation",
9020
+ "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- Group navigation items into navigation groups based on related categories.\n- Use group headings to clarify the category of a section.\n- Use icons for all top level navigation items.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use for grouping other types of content.\n\n</div>\n\n---\n\n## Content guidelines\n\nWhen writing navigation item 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 item labels, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Change theme</div>\n<div class=\"n-usage n-usage-dont\">Change the theme</div>\n\nAvoid ending item labels in punctuation:\n\n<div class=\"n-usage n-usage-do\">Switch user</div>\n<div class=\"n-usage n-usage-dont\">Switch user.</div>\n\nUse as few words as possible to describe each item 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 item labels and group titles:\n\n<div class=\"n-usage n-usage-do\">Dashboard</div>\n<div class=\"n-usage n-usage-dont\">DASHBOARD</div>\n",
9021
+ "examples": [],
9022
+ "dependencies": [
9023
+ "icon"
9024
+ ],
9025
+ "tagName": "nord-nav-group",
9026
+ "customElement": true
9027
+ }
9028
+ ],
9029
+ "exports": [
9030
+ {
9031
+ "kind": "js",
9032
+ "name": "default",
9033
+ "declaration": {
9034
+ "name": "NavGroup",
9035
+ "module": "src/nav-group/NavGroup.ts"
9036
+ }
9037
+ },
9038
+ {
9039
+ "kind": "custom-element-definition",
9040
+ "name": "nord-nav-group",
9041
+ "declaration": {
9042
+ "name": "NavGroup",
9043
+ "module": "src/nav-group/NavGroup.ts"
8864
9044
  }
8865
9045
  }
8866
9046
  ]
@@ -9103,6 +9283,7 @@
9103
9283
  "category": "navigation",
9104
9284
  "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- Group navigation items into navigation groups based on related categories.\n- Use group headings to clarify the category of a section.\n- Use icons for all top level navigation items.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use navigation item outside of navigation group and navigation components.\n\n</div>\n\n---\n\n## Content guidelines\n\nWhen writing navigation item 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 item labels, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Change theme</div>\n<div class=\"n-usage n-usage-dont\">Change the theme</div>\n\nAvoid ending item labels in punctuation:\n\n<div class=\"n-usage n-usage-do\">Switch user</div>\n<div class=\"n-usage n-usage-dont\">Switch user.</div>\n\nUse as few words as possible to describe each item 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 item labels and group titles:\n\n<div class=\"n-usage n-usage-do\">Dashboard</div>\n<div class=\"n-usage n-usage-dont\">DASHBOARD</div>\n",
9105
9285
  "examples": [],
9286
+ "dependencies": [],
9106
9287
  "tagName": "nord-nav-item",
9107
9288
  "customElement": true
9108
9289
  }
@@ -9126,73 +9307,6 @@
9126
9307
  }
9127
9308
  ]
9128
9309
  },
9129
- {
9130
- "kind": "javascript-module",
9131
- "path": "src/nav-group/NavGroup.ts",
9132
- "declarations": [
9133
- {
9134
- "kind": "class",
9135
- "description": "Navigation group includes all the actions or items in a single\ngroup and is used for grouping items into related categories.",
9136
- "name": "NavGroup",
9137
- "slots": [
9138
- {
9139
- "description": "The default slot used for the nav items.",
9140
- "name": ""
9141
- }
9142
- ],
9143
- "members": [
9144
- {
9145
- "kind": "field",
9146
- "name": "heading",
9147
- "type": {
9148
- "text": "string | undefined"
9149
- },
9150
- "description": "Heading and accessible label for the nav group",
9151
- "attribute": "heading"
9152
- }
9153
- ],
9154
- "attributes": [
9155
- {
9156
- "name": "heading",
9157
- "type": {
9158
- "text": "string | undefined"
9159
- },
9160
- "description": "Heading and accessible label for the nav group",
9161
- "fieldName": "heading"
9162
- }
9163
- ],
9164
- "superclass": {
9165
- "name": "LitElement",
9166
- "package": "lit"
9167
- },
9168
- "localization": [],
9169
- "status": "ready",
9170
- "category": "navigation",
9171
- "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- Group navigation items into navigation groups based on related categories.\n- Use group headings to clarify the category of a section.\n- Use icons for all top level navigation items.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use for grouping other types of content.\n\n</div>\n\n---\n\n## Content guidelines\n\nWhen writing navigation item 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 item labels, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Change theme</div>\n<div class=\"n-usage n-usage-dont\">Change the theme</div>\n\nAvoid ending item labels in punctuation:\n\n<div class=\"n-usage n-usage-do\">Switch user</div>\n<div class=\"n-usage n-usage-dont\">Switch user.</div>\n\nUse as few words as possible to describe each item 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 item labels and group titles:\n\n<div class=\"n-usage n-usage-do\">Dashboard</div>\n<div class=\"n-usage n-usage-dont\">DASHBOARD</div>\n",
9172
- "examples": [],
9173
- "tagName": "nord-nav-group",
9174
- "customElement": true
9175
- }
9176
- ],
9177
- "exports": [
9178
- {
9179
- "kind": "js",
9180
- "name": "default",
9181
- "declaration": {
9182
- "name": "NavGroup",
9183
- "module": "src/nav-group/NavGroup.ts"
9184
- }
9185
- },
9186
- {
9187
- "kind": "custom-element-definition",
9188
- "name": "nord-nav-group",
9189
- "declaration": {
9190
- "name": "NavGroup",
9191
- "module": "src/nav-group/NavGroup.ts"
9192
- }
9193
- }
9194
- ]
9195
- },
9196
9310
  {
9197
9311
  "kind": "javascript-module",
9198
9312
  "path": "src/nav-toggle/NavToggle.ts",
@@ -9281,6 +9395,11 @@
9281
9395
  "category": "action",
9282
9396
  "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 a tooltip with the toggle that’s labelled as `Toggle navigation`.\n- We recommend setting a keyboard shortcut that toggles the navigation.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use as a generic button or toggle. Use the [Button component](/components/button/) instead.\n\n</div>\n",
9283
9397
  "examples": [],
9398
+ "dependencies": [
9399
+ "button",
9400
+ "icon",
9401
+ "visually-hidden"
9402
+ ],
9284
9403
  "tagName": "nord-nav-toggle",
9285
9404
  "customElement": true
9286
9405
  }
@@ -9350,12 +9469,240 @@
9350
9469
  "name": "footer"
9351
9470
  }
9352
9471
  ],
9353
- "members": [
9472
+ "members": [
9473
+ {
9474
+ "kind": "field",
9475
+ "name": "headerSlot",
9476
+ "privacy": "private",
9477
+ "default": "new SlotController(this, \"header\")"
9478
+ }
9479
+ ],
9480
+ "superclass": {
9481
+ "name": "LitElement",
9482
+ "package": "lit"
9483
+ },
9484
+ "localization": [],
9485
+ "status": "ready",
9486
+ "category": "navigation",
9487
+ "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 for primary navigation items that perform an action when clicked. Each action should navigate to a URL or trigger another action like a modal overlay.\n- Group navigation items into navigation groups based on related categories.\n- Use group headings to clarify the category of a section.\n- Use icons for all top level navigation items.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t place a `<nav>` element inside the navigation component, as it already contains one internally.\n\n</div>\n\n---\n\n## Content guidelines\n\nWhen writing navigation item 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 item labels, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Change theme</div>\n<div class=\"n-usage n-usage-dont\">Change the theme</div>\n\nAvoid ending item labels in punctuation:\n\n<div class=\"n-usage n-usage-do\">Switch user</div>\n<div class=\"n-usage n-usage-dont\">Switch user.</div>\n\nUse as few words as possible to describe each item 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 item labels and group titles:\n\n<div class=\"n-usage n-usage-do\">Dashboard</div>\n<div class=\"n-usage n-usage-dont\">DASHBOARD</div>\n",
9488
+ "examples": [],
9489
+ "dependencies": [],
9490
+ "tagName": "nord-navigation",
9491
+ "customElement": true
9492
+ }
9493
+ ],
9494
+ "exports": [
9495
+ {
9496
+ "kind": "js",
9497
+ "name": "default",
9498
+ "declaration": {
9499
+ "name": "Navigation",
9500
+ "module": "src/navigation/Navigation.ts"
9501
+ }
9502
+ },
9503
+ {
9504
+ "kind": "custom-element-definition",
9505
+ "name": "nord-navigation",
9506
+ "declaration": {
9507
+ "name": "Navigation",
9508
+ "module": "src/navigation/Navigation.ts"
9509
+ }
9510
+ }
9511
+ ]
9512
+ },
9513
+ {
9514
+ "kind": "javascript-module",
9515
+ "path": "src/notification/Notification.ts",
9516
+ "declarations": [
9517
+ {
9518
+ "kind": "class",
9519
+ "description": "Notifications provide important information that requires action or acknowledgement.\nA notification is displayed until the user dismisses it.",
9520
+ "name": "Notification",
9521
+ "slots": [
9522
+ {
9523
+ "description": "Default slot used for the notification text/message.",
9524
+ "name": ""
9525
+ },
9526
+ {
9527
+ "description": "Slot used for the notification icon.",
9528
+ "name": "icon"
9529
+ }
9530
+ ],
9531
+ "members": [
9532
+ {
9533
+ "kind": "field",
9534
+ "name": "localize",
9535
+ "privacy": "private",
9536
+ "default": "new LocalizeController<\"nord-notification\">(this)"
9537
+ },
9538
+ {
9539
+ "kind": "field",
9540
+ "name": "notificationRef",
9541
+ "privacy": "protected",
9542
+ "inheritedFrom": {
9543
+ "name": "NotificationMixin",
9544
+ "module": "src/common/mixins/NotificationMixin.ts"
9545
+ }
9546
+ },
9547
+ {
9548
+ "kind": "field",
9549
+ "name": "dismissed",
9550
+ "type": {
9551
+ "text": "boolean"
9552
+ },
9553
+ "privacy": "protected",
9554
+ "default": "false",
9555
+ "inheritedFrom": {
9556
+ "name": "NotificationMixin",
9557
+ "module": "src/common/mixins/NotificationMixin.ts"
9558
+ }
9559
+ },
9560
+ {
9561
+ "kind": "method",
9562
+ "name": "dismiss",
9563
+ "description": "Programmatically dismiss the notification.\nThe returned promise resolves when notification's exit animation is complete.",
9564
+ "inheritedFrom": {
9565
+ "name": "NotificationMixin",
9566
+ "module": "src/common/mixins/NotificationMixin.ts"
9567
+ }
9568
+ },
9569
+ {
9570
+ "kind": "field",
9571
+ "name": "_warningLogged",
9572
+ "type": {
9573
+ "text": "boolean"
9574
+ },
9575
+ "privacy": "private",
9576
+ "static": true,
9577
+ "default": "false",
9578
+ "inheritedFrom": {
9579
+ "name": "DraftComponentMixin",
9580
+ "module": "src/common/mixins/DraftComponentMixin.ts"
9581
+ }
9582
+ }
9583
+ ],
9584
+ "events": [
9585
+ {
9586
+ "name": "dismiss",
9587
+ "type": {
9588
+ "text": "NordEvent"
9589
+ },
9590
+ "description": "Fired when the notification is dismissed, and its exit animation has completed. This event should be used to remove the dismissed notification from the DOM.",
9591
+ "inheritedFrom": {
9592
+ "name": "NotificationMixin",
9593
+ "module": "src/common/mixins/NotificationMixin.ts"
9594
+ }
9595
+ }
9596
+ ],
9597
+ "mixins": [
9598
+ {
9599
+ "name": "NotificationMixin",
9600
+ "module": "/src/common/mixins/NotificationMixin.js"
9601
+ },
9602
+ {
9603
+ "name": "DraftComponentMixin",
9604
+ "module": "/src/common/mixins/DraftComponentMixin.js"
9605
+ }
9606
+ ],
9607
+ "superclass": {
9608
+ "name": "LitElement",
9609
+ "package": "lit"
9610
+ },
9611
+ "localization": [
9612
+ {
9613
+ "name": "dismissLabel",
9614
+ "description": "Accessible label for the dismiss button."
9615
+ }
9616
+ ],
9617
+ "status": "draft",
9618
+ "category": "feedback",
9619
+ "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 for short messages that describe the purpose of the notification.\n- Use for important updates that require user action/attention.\n- Provide a single call to action within the notification.\n- Use in combination with [Notification group](../notification-group/) so that notifications get styled and positioned correctly.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use for transient or unimportant messages. Consider using a [Toast](/components/toast) instead.\n- Don't remove a notification until a user has explicitly dismissed, or acted on the notification.\n- Don’t use for error messages unless absolutely necessary. Try to favor a [Banner](/components/banner/) for error messaging instead.\n\n</div>\n\n---\n\n## Content guidelines\n\nNotification content should be clear, accurate and easy to understand:\n\n<div class=\"n-usage n-usage-do\">Ariel Salminen arrived to clinic with Pixie cat.</div>\n<div class=\"n-usage n-usage-dont\">Patient arrived</div>\n\nWhen writing the notification content, be concise. Keep content to 1 to 2 sentence:\n\n<div class=\"n-usage n-usage-do\">You’ve reached the limit of 30 users included in your plan. Upgrade to add more.</div>\n<div class=\"n-usage n-usage-dont\">You have reached the user limit. Your clinic can only have a maximum of 30 users. To add more users, remove users you no longer need or upgrade your plan to add more.</div>\n\nWhen writing the notification content, always write it 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\">Ariel Salminen arrived to clinic with Pixie cat.</div>\n<div class=\"n-usage n-usage-dont\">Ariel Salminen Arrived To Clinic With Pixie Cat.</div>\n\nAlways end in punctuation:\n\n<div class=\"n-usage n-usage-do\">Ariel Salminen arrived to clinic with Pixie cat.</div>\n<div class=\"n-usage n-usage-dont\">Ariel Salminen arrived to clinic with Pixie cat</div>\n\nAction link labels in notifications should be clear, accurate and predictable. It should be possible for the user to understand what will happen when they click a button:\n\n<div class=\"n-usage n-usage-do\">Start consultation</div>\n<div class=\"n-usage n-usage-dont\">Click here</div>\n\nWhen writing action link 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\">Start consultation</div>\n<div class=\"n-usage n-usage-dont\">Start Consultation</div>\n\nAvoid unnecessary words and articles in action link labels, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Add item</div>\n<div class=\"n-usage n-usage-dont\">Add an item</div>\n",
9620
+ "examples": [],
9621
+ "dependencies": [
9622
+ "stack",
9623
+ "icon"
9624
+ ],
9625
+ "tagName": "nord-notification",
9626
+ "customElement": true
9627
+ }
9628
+ ],
9629
+ "exports": [
9630
+ {
9631
+ "kind": "js",
9632
+ "name": "default",
9633
+ "declaration": {
9634
+ "name": "Notification",
9635
+ "module": "src/notification/Notification.ts"
9636
+ }
9637
+ },
9638
+ {
9639
+ "kind": "custom-element-definition",
9640
+ "name": "nord-notification",
9641
+ "declaration": {
9642
+ "name": "Notification",
9643
+ "module": "src/notification/Notification.ts"
9644
+ }
9645
+ }
9646
+ ]
9647
+ },
9648
+ {
9649
+ "kind": "javascript-module",
9650
+ "path": "src/notification/localization.ts",
9651
+ "declarations": [
9652
+ {
9653
+ "kind": "variable",
9654
+ "name": "localization",
9655
+ "type": {
9656
+ "text": "object"
9657
+ },
9658
+ "default": "{\n dismissLabel: \"Dismiss notification\",\n}"
9659
+ }
9660
+ ],
9661
+ "exports": [
9662
+ {
9663
+ "kind": "js",
9664
+ "name": "default",
9665
+ "declaration": {
9666
+ "name": "localization",
9667
+ "module": "src/notification/localization.ts"
9668
+ }
9669
+ }
9670
+ ]
9671
+ },
9672
+ {
9673
+ "kind": "javascript-module",
9674
+ "path": "src/notification-group/NotificationGroup.ts",
9675
+ "declarations": [
9676
+ {
9677
+ "kind": "class",
9678
+ "description": "Notification group is used to position and style a group of notifications.",
9679
+ "name": "NotificationGroup",
9680
+ "slots": [
9681
+ {
9682
+ "description": "Default slot in which to place notifications.",
9683
+ "name": ""
9684
+ }
9685
+ ],
9686
+ "members": [
9687
+ {
9688
+ "kind": "field",
9689
+ "name": "_warningLogged",
9690
+ "type": {
9691
+ "text": "boolean"
9692
+ },
9693
+ "privacy": "private",
9694
+ "static": true,
9695
+ "default": "false",
9696
+ "inheritedFrom": {
9697
+ "name": "DraftComponentMixin",
9698
+ "module": "src/common/mixins/DraftComponentMixin.ts"
9699
+ }
9700
+ }
9701
+ ],
9702
+ "mixins": [
9354
9703
  {
9355
- "kind": "field",
9356
- "name": "headerSlot",
9357
- "privacy": "private",
9358
- "default": "new SlotController(this, \"header\")"
9704
+ "name": "DraftComponentMixin",
9705
+ "module": "/src/common/mixins/DraftComponentMixin.js"
9359
9706
  }
9360
9707
  ],
9361
9708
  "superclass": {
@@ -9363,11 +9710,12 @@
9363
9710
  "package": "lit"
9364
9711
  },
9365
9712
  "localization": [],
9366
- "status": "ready",
9367
- "category": "navigation",
9368
- "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 for primary navigation items that perform an action when clicked. Each action should navigate to a URL or trigger another action like a modal overlay.\n- Group navigation items into navigation groups based on related categories.\n- Use group headings to clarify the category of a section.\n- Use icons for all top level navigation items.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Dont place a `<nav>` element inside the navigation component, as it already contains one internally.\n\n</div>\n\n---\n\n## Content guidelines\n\nWhen writing navigation item 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 item labels, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Change theme</div>\n<div class=\"n-usage n-usage-dont\">Change the theme</div>\n\nAvoid ending item labels in punctuation:\n\n<div class=\"n-usage n-usage-do\">Switch user</div>\n<div class=\"n-usage n-usage-dont\">Switch user.</div>\n\nUse as few words as possible to describe each item 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 item labels and group titles:\n\n<div class=\"n-usage n-usage-do\">Dashboard</div>\n<div class=\"n-usage n-usage-dont\">DASHBOARD</div>\n",
9713
+ "status": "draft",
9714
+ "category": "feedback",
9715
+ "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 in combination with [Notification](/components/notification/) so that notifications get styled and positioned correctly.\n- Add as close to the start of your main content area as possible.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use for grouping anything other than notification components\n\n</div>\n\n---\n\n## Content guidelines\n\nNotification content should be clear, accurate and easy to understand:\n\n<div class=\"n-usage n-usage-do\">Ariel Salminen arrived to clinic with Pixie cat.</div>\n<div class=\"n-usage n-usage-dont\">Patient arrived</div>\n\nWhen writing the notification content, be concise. Keep content to 1 to 2 sentence:\n\n<div class=\"n-usage n-usage-do\">Youve reached the limit of 30 users included in your plan. Upgrade to add more.</div>\n<div class=\"n-usage n-usage-dont\">You have reached the user limit. Your clinic can only have a maximum of 30 users. To add more users, remove users you no longer need or upgrade your plan to add more.</div>\n\nWhen writing the notification content, always write it 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\">Ariel Salminen arrived to clinic with Pixie cat.</div>\n<div class=\"n-usage n-usage-dont\">Ariel Salminen Arrived To Clinic With Pixie Cat.</div>\n\nAlways end in punctuation:\n\n<div class=\"n-usage n-usage-do\">Ariel Salminen arrived to clinic with Pixie cat.</div>\n<div class=\"n-usage n-usage-dont\">Ariel Salminen arrived to clinic with Pixie cat</div>\n\nAction link labels in notifications should be clear, accurate and predictable. It should be possible for the user to understand what will happen when they click a button:\n\n<div class=\"n-usage n-usage-do\">Start consultation</div>\n<div class=\"n-usage n-usage-dont\">Click here</div>\n\nWhen writing action link 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\">Start consultation</div>\n<div class=\"n-usage n-usage-dont\">Start Consultation</div>\n\nAvoid unnecessary words and articles in action link labels, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Add item</div>\n<div class=\"n-usage n-usage-dont\">Add an item</div>\n",
9369
9716
  "examples": [],
9370
- "tagName": "nord-navigation",
9717
+ "dependencies": [],
9718
+ "tagName": "nord-notification-group",
9371
9719
  "customElement": true
9372
9720
  }
9373
9721
  ],
@@ -9376,16 +9724,16 @@
9376
9724
  "kind": "js",
9377
9725
  "name": "default",
9378
9726
  "declaration": {
9379
- "name": "Navigation",
9380
- "module": "src/navigation/Navigation.ts"
9727
+ "name": "NotificationGroup",
9728
+ "module": "src/notification-group/NotificationGroup.ts"
9381
9729
  }
9382
9730
  },
9383
9731
  {
9384
9732
  "kind": "custom-element-definition",
9385
- "name": "nord-navigation",
9733
+ "name": "nord-notification-group",
9386
9734
  "declaration": {
9387
- "name": "Navigation",
9388
- "module": "src/navigation/Navigation.ts"
9735
+ "name": "NotificationGroup",
9736
+ "module": "src/notification-group/NotificationGroup.ts"
9389
9737
  }
9390
9738
  }
9391
9739
  ]
@@ -9709,6 +10057,7 @@
9709
10057
  "category": "overlay",
9710
10058
  "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 position popout next to the button or other interface element that toggles it.\n- Use a popout to contain controls or information that doesn’t need to be shown immediately.\n- Use a popout to contain items that will most likely not fit into the current view.\n- Use a clearly labelled button to reveal the popout.\n- Use the appropriate `aria-haspopup` and `role` attributes for both the toggle button and containing items. Please refer to the [MDN documentation on both role values](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-haspopup#values) and [child role values](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-haspopup#associated_roles).\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t hide information inside a popout that is imperative to using the current view.\n- Don’t obscure other controls that are important with the popout.\n- Don’t allow the popout to be obscured by other controls or the outer bounds of the current view.\n</div>\n\n---\n\n## Content guidelines\n\nIf a popout contains actions, they should be always written 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\">Create user</div>\n<div class=\"n-usage n-usage-dont\">Create User</div>\n\nPopout actions should always lead with a strong verb that encourages action. Use the `{verb}+{noun}` format except in the case of common actions like Save, Close or Cancel:\n\n<div class=\"n-usage n-usage-do\">Edit row</div>\n<div class=\"n-usage n-usage-dont\">Editing options</div>\n\nAvoid unnecessary words and articles in popout actions, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Change theme</div>\n<div class=\"n-usage n-usage-dont\">Change the theme</div>\n\nAvoid ending popout actions in punctuation:\n\n<div class=\"n-usage n-usage-do\">Switch user</div>\n<div class=\"n-usage n-usage-dont\">Switch user.</div>\n\nAvoid all caps for popout actions:\n\n<div class=\"n-usage n-usage-do\">Rename</div>\n<div class=\"n-usage n-usage-dont\">RENAME</div>\n\n---\n\n## Additional considerations\n\n- The popout component is a containing component, only providing a way to reveal and hide controls by using a single button.\n",
9711
10059
  "examples": [],
10060
+ "dependencies": [],
9712
10061
  "tagName": "nord-popout",
9713
10062
  "customElement": true
9714
10063
  }
@@ -9880,6 +10229,7 @@
9880
10229
  "category": "feedback",
9881
10230
  "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 the completion status of an ongoing task.\n- Use progress bar when you can determine the percentage of the completed task at any time.\n- Always provide an accessible label when using Progress Bar.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use in constrained spaces indicating indeterminate loading state, see [Spinner](/components/spinner/) instead.\n\n</div>\n",
9882
10231
  "examples": [],
10232
+ "dependencies": [],
9883
10233
  "tagName": "nord-progress-bar",
9884
10234
  "customElement": true
9885
10235
  }
@@ -10066,6 +10416,7 @@
10066
10416
  "displayName": "QR Code",
10067
10417
  "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 allow people to access information on their smartphone without the need to type.\n- Always provide an alternative way to access the same information.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t hide important information behind a QR Code only.\n\n</div>\n",
10068
10418
  "examples": [],
10419
+ "dependencies": [],
10069
10420
  "tagName": "nord-qrcode",
10070
10421
  "customElement": true
10071
10422
  }
@@ -10701,6 +11052,7 @@
10701
11052
  "category": "form",
10702
11053
  "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 a radio component when users can only select one option from a list.\n- Favour radios over a select component when there are a small number of options. This reduces the number of clicks a user has to make, increasing efficiency.\n- Radio buttons are grouped by their `name` attribute. Therefore, it is crucial that the same `name` is used for a group of radios.\n- Give each radio within a group a unique `value`.\n- Radios **must** be used in combination with a fieldset component.\n- In most cases, a stack component should be used to layout a group of radio buttons.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t place interactive content (buttons, links etc) inside the label.\n- Don’t use when a user can select more than one option. In this case, use a checkbox instead.\n- Don’t use for “accepting terms of service” and similar functionality. Use a checkbox instead.\n- When you have more than 10 options to choose from. Consider using a select instead.\n\n</div>\n\n---\n\n## Content guidelines\n\nRadio button labels should be clear, accurate and predictable. It should be possible for the user to understand what they are enabling or disabling:\n\n<div class=\"n-usage n-usage-do\">User settings</div>\n<div class=\"n-usage n-usage-dont\">Option 1</div>\n\nWhen writing radio button 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 ending in punctuation if it’s a single sentence, word, or a fragment:\n\n<div class=\"n-usage n-usage-do\">Blue</div>\n<div class=\"n-usage n-usage-dont\">Blue.</div>\n\nDo not use commas or semicolons at the end of each line\n\n<div class=\"n-usage n-usage-do\">Patient</div>\n<div class=\"n-usage n-usage-dont\">Patient;</div>\n\n---\n\n## Additional considerations\n\n- Hint text can be used to offer further information or explanation for an option.\n- Once a radio has been selected, users cannot return to having no radios selected without refreshing their browser window. Therefore, you should include \"None of the above\" or \"I do not know\" if they are valid options.\n- In most cases, radio buttons should be stacked vertically. However, radio buttons can be stacked horizontally when there are only two options with short labels. An example might be a yes/no question.\n",
10703
11054
  "examples": [],
11055
+ "dependencies": [],
10704
11056
  "tagName": "nord-radio",
10705
11057
  "customElement": true,
10706
11058
  "events": [
@@ -11492,6 +11844,7 @@
11492
11844
  "category": "form",
11493
11845
  "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 let user specify a numeric value using a slider.\n- Use when the accuracy of the numeric value entered isn’t important.\n- Always use with a label, even if that label is hidden.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use when the accuracy of the numeric value entered is important.\n- For entering arbitrary numeric values. Use [input component](/components/input/) instead.\n\n</div>\n\n---\n\n## Content guidelines\n\nRange labels act as a title for the range input. Labels should typically be short and in noun form:\n\n<div class=\"n-usage n-usage-do\">Lightness percentage</div>\n<div class=\"n-usage n-usage-dont\">What is the lightness percentage?</div>\n\nWhen writing range 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\">Item price</div>\n<div class=\"n-usage n-usage-dont\">Item Price</div>\n\nDo not use colons in range label:\n\n<div class=\"n-usage n-usage-do\">Color depth</div>\n<div class=\"n-usage n-usage-dont\">Color depth:</div>\n",
11494
11846
  "examples": [],
11847
+ "dependencies": [],
11495
11848
  "tagName": "nord-range",
11496
11849
  "customElement": true
11497
11850
  }
@@ -12203,6 +12556,10 @@
12203
12556
  "category": "form",
12204
12557
  "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 let a user choose one option from an options menu.\n- Use when you have more than 6 options to choose from.\n- Use when you don’t know how many options there will be.\n- Use hint text and placeholder to provide additional, non-critical instructions.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don't use a select if you have less than 6 options to choose from. Consider using radio components instead, if you have enough space to allow it. \n\n</div>\n\n---\n\n## Content guidelines\n\nSelect labels act as a title for the select field. Labels should typically be short and in noun&nbsp;form:\n\n<div class=\"n-usage n-usage-do\">Company name</div>\n<div class=\"n-usage n-usage-dont\">What is your company name?</div>\n\nWhen writing select 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\">Company name</div>\n<div class=\"n-usage n-usage-dont\">Company Name</div>\n\nDo not use colons in select labels:\n\n<div class=\"n-usage n-usage-do\">Choose organization</div>\n<div class=\"n-usage n-usage-dont\">Choose organization:</div>\n",
12205
12558
  "examples": [],
12559
+ "dependencies": [
12560
+ "button",
12561
+ "icon"
12562
+ ],
12206
12563
  "tagName": "nord-select",
12207
12564
  "customElement": true,
12208
12565
  "events": [
@@ -12280,21 +12637,20 @@
12280
12637
  "kind": "field",
12281
12638
  "name": "effect",
12282
12639
  "type": {
12283
- "text": "\"pulse\" | \"sheen\" | \"none\""
12640
+ "text": "\"pulse\" | \"sheen\" | undefined"
12284
12641
  },
12285
- "default": "\"none\"",
12286
- "description": "Determines which animation effect the skeleton will use.",
12287
- "attribute": "effect"
12642
+ "description": "Determines which animation effect the skeleton will use.\nThe default is no animation.",
12643
+ "attribute": "effect",
12644
+ "reflects": true
12288
12645
  }
12289
12646
  ],
12290
12647
  "attributes": [
12291
12648
  {
12292
12649
  "name": "effect",
12293
12650
  "type": {
12294
- "text": "\"pulse\" | \"sheen\" | \"none\""
12651
+ "text": "\"pulse\" | \"sheen\" | undefined"
12295
12652
  },
12296
- "default": "\"none\"",
12297
- "description": "Determines which animation effect the skeleton will use.",
12653
+ "description": "Determines which animation effect the skeleton will use.\nThe default is no animation.",
12298
12654
  "fieldName": "effect"
12299
12655
  }
12300
12656
  ],
@@ -12307,6 +12663,7 @@
12307
12663
  "category": "feedback",
12308
12664
  "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 skeleton component for dynamic content only.\n- Use to give the user an indication of what the page layout will be like once loaded.\n- Mimick the actual layout using multiple Skeleton components.\n- Use `aria-busy=\"true\"` to indicate which area on the screen is currently loading and remove it or set it to `false` once loaded.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use Skeleton component for static content.\n- Don’t show placeholder content after Skeleton disappears that will change when the page fully loads.\n\n</div>\n",
12309
12665
  "examples": [],
12666
+ "dependencies": [],
12310
12667
  "tagName": "nord-skeleton",
12311
12668
  "customElement": true
12312
12669
  }
@@ -12407,6 +12764,7 @@
12407
12764
  "category": "feedback",
12408
12765
  "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 for indicating users that their action is being processed.\n- Use the label property to provide an accessible label for the spinner. If no label is supplied, the spinner is hidden from assistive technology.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use to show progress. Favor a progress bar instead.\n\n</div>\n",
12409
12766
  "examples": [],
12767
+ "dependencies": [],
12410
12768
  "tagName": "nord-spinner",
12411
12769
  "customElement": true
12412
12770
  }
@@ -12584,6 +12942,7 @@
12584
12942
  "category": "structure",
12585
12943
  "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 when you need to stack multiple components vertically or horizontally.\n- Use when you want to adjust the white space between two or more components.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use for building grid based layouts.\n\n</div>\n",
12586
12944
  "examples": [],
12945
+ "dependencies": [],
12587
12946
  "tagName": "nord-stack",
12588
12947
  "customElement": true
12589
12948
  }
@@ -12678,6 +13037,7 @@
12678
13037
  "category": "navigation",
12679
13038
  "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",
12680
13039
  "examples": [],
13040
+ "dependencies": [],
12681
13041
  "tagName": "nord-tab",
12682
13042
  "customElement": true
12683
13043
  }
@@ -12920,6 +13280,9 @@
12920
13280
  "category": "navigation",
12921
13281
  "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 allow multiple panels to be contained within a single window.\n- Use the tab panel and tab components within the tab group component.\n- Use the tab and tab panel components in order to create a tab group content structure.\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 other components to the tab and tab panel within the tab group component.\n- Don't obscure important information within a tab panel that isn't revealed by default.\n- Don't add a tab or tab panel component without providing an accompanying panel or tab.\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 tab panel you wish to show out of order of the tabs UI itself consider using the `selected` option on the tab component related to the panel to select the tab but prevent the order of the tabs being affected.\n",
12922
13282
  "examples": [],
13283
+ "dependencies": [
13284
+ "tab"
13285
+ ],
12923
13286
  "tagName": "nord-tab-group",
12924
13287
  "customElement": true
12925
13288
  }
@@ -12943,6 +13306,54 @@
12943
13306
  }
12944
13307
  ]
12945
13308
  },
13309
+ {
13310
+ "kind": "javascript-module",
13311
+ "path": "src/tab-panel/TabPanel.ts",
13312
+ "declarations": [
13313
+ {
13314
+ "kind": "class",
13315
+ "description": "The panel which contains content that can be revealed using a tab\nin the tab group component.",
13316
+ "name": "TabPanel",
13317
+ "slots": [
13318
+ {
13319
+ "description": "The tab panel content.",
13320
+ "name": ""
13321
+ }
13322
+ ],
13323
+ "members": [],
13324
+ "superclass": {
13325
+ "name": "LitElement",
13326
+ "package": "lit"
13327
+ },
13328
+ "localization": [],
13329
+ "status": "ready",
13330
+ "category": "navigation",
13331
+ "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 panel component within the tab group component.\n- Use both non-interactive and interactive elements within the contents of the tab panel.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don't use the tab panel component outside of the tab group component.\n- Don't obscure important information within a tab panel that isn't revealed by default.\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 tab panel you wish to show out of order of the tabs UI itself consider using the `selected` option on the related tab component to select the tab but prevent the order of the tabs being affected.\n",
13332
+ "examples": [],
13333
+ "dependencies": [],
13334
+ "tagName": "nord-tab-panel",
13335
+ "customElement": true
13336
+ }
13337
+ ],
13338
+ "exports": [
13339
+ {
13340
+ "kind": "js",
13341
+ "name": "default",
13342
+ "declaration": {
13343
+ "name": "TabPanel",
13344
+ "module": "src/tab-panel/TabPanel.ts"
13345
+ }
13346
+ },
13347
+ {
13348
+ "kind": "custom-element-definition",
13349
+ "name": "nord-tab-panel",
13350
+ "declaration": {
13351
+ "name": "TabPanel",
13352
+ "module": "src/tab-panel/TabPanel.ts"
13353
+ }
13354
+ }
13355
+ ]
13356
+ },
12946
13357
  {
12947
13358
  "kind": "javascript-module",
12948
13359
  "path": "src/table/Table.ts",
@@ -13071,6 +13482,7 @@
13071
13482
  "name": "with vue and ag grid"
13072
13483
  }
13073
13484
  ],
13485
+ "dependencies": [],
13074
13486
  "tagName": "nord-table",
13075
13487
  "customElement": true
13076
13488
  }
@@ -13094,53 +13506,6 @@
13094
13506
  }
13095
13507
  ]
13096
13508
  },
13097
- {
13098
- "kind": "javascript-module",
13099
- "path": "src/tab-panel/TabPanel.ts",
13100
- "declarations": [
13101
- {
13102
- "kind": "class",
13103
- "description": "The panel which contains content that can be revealed using a tab\nin the tab group component.",
13104
- "name": "TabPanel",
13105
- "slots": [
13106
- {
13107
- "description": "The tab panel content.",
13108
- "name": ""
13109
- }
13110
- ],
13111
- "members": [],
13112
- "superclass": {
13113
- "name": "LitElement",
13114
- "package": "lit"
13115
- },
13116
- "localization": [],
13117
- "status": "ready",
13118
- "category": "navigation",
13119
- "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 panel component within the tab group component.\n- Use both non-interactive and interactive elements within the contents of the tab panel.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don't use the tab panel component outside of the tab group component.\n- Don't obscure important information within a tab panel that isn't revealed by default.\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 tab panel you wish to show out of order of the tabs UI itself consider using the `selected` option on the related tab component to select the tab but prevent the order of the tabs being affected.\n",
13120
- "examples": [],
13121
- "tagName": "nord-tab-panel",
13122
- "customElement": true
13123
- }
13124
- ],
13125
- "exports": [
13126
- {
13127
- "kind": "js",
13128
- "name": "default",
13129
- "declaration": {
13130
- "name": "TabPanel",
13131
- "module": "src/tab-panel/TabPanel.ts"
13132
- }
13133
- },
13134
- {
13135
- "kind": "custom-element-definition",
13136
- "name": "nord-tab-panel",
13137
- "declaration": {
13138
- "name": "TabPanel",
13139
- "module": "src/tab-panel/TabPanel.ts"
13140
- }
13141
- }
13142
- ]
13143
- },
13144
13509
  {
13145
13510
  "kind": "javascript-module",
13146
13511
  "path": "src/textarea/Textarea.ts",
@@ -13930,6 +14295,7 @@
13930
14295
  "category": "form",
13931
14296
  "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 allow text input where the expected input is long.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use when the expected text input is short. Use input component instead.\n\n</div>\n\n---\n\n## Content guidelines\n\nTextarea labels act as a title for the text field. Labels should typically be short and in noun&nbsp;form:\n\n<div class=\"n-usage n-usage-do\">Company name</div>\n<div class=\"n-usage n-usage-dont\">What is your company name?</div>\n\nWhen writing textarea 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\">Provide description</div>\n<div class=\"n-usage n-usage-dont\">Provide Description</div>\n\nWhen a textarea isn’t part of a form and is placed individually on a page, you could provide the textarea label as a call to action:\n\n<div class=\"n-usage n-usage-do\">Leave a comment</div>\n<div class=\"n-usage n-usage-dont\">Comment</div>\n\nDo not use colons in textarea labels:\n\n<div class=\"n-usage n-usage-do\">Provide description</div>\n<div class=\"n-usage n-usage-dont\">Provide description:</div>\n",
13932
14297
  "examples": [],
14298
+ "dependencies": [],
13933
14299
  "tagName": "nord-textarea",
13934
14300
  "customElement": true,
13935
14301
  "events": [
@@ -14024,29 +14390,6 @@
14024
14390
  },
14025
14391
  "privacy": "private"
14026
14392
  },
14027
- {
14028
- "kind": "field",
14029
- "name": "events",
14030
- "privacy": "private",
14031
- "default": "new EventController(this)"
14032
- },
14033
- {
14034
- "kind": "field",
14035
- "name": "toast",
14036
- "type": {
14037
- "text": "HTMLElement"
14038
- },
14039
- "privacy": "private"
14040
- },
14041
- {
14042
- "kind": "field",
14043
- "name": "dismissed",
14044
- "type": {
14045
- "text": "boolean"
14046
- },
14047
- "privacy": "private",
14048
- "default": "false"
14049
- },
14050
14393
  {
14051
14394
  "kind": "field",
14052
14395
  "name": "variant",
@@ -14071,12 +14414,38 @@
14071
14414
  {
14072
14415
  "kind": "method",
14073
14416
  "name": "dismiss",
14074
- "description": "Programmatically dismiss the toast.\nThe returned promise resolves when toast's exit animation is complete."
14417
+ "description": "Programmatically dismiss the toast.\nThe returned promise resolves when toast's exit animation is complete.",
14418
+ "inheritedFrom": {
14419
+ "name": "NotificationMixin",
14420
+ "module": "src/common/mixins/NotificationMixin.ts"
14421
+ }
14075
14422
  },
14076
14423
  {
14077
14424
  "kind": "method",
14078
14425
  "name": "handleAutoDismissChange",
14079
14426
  "privacy": "protected"
14427
+ },
14428
+ {
14429
+ "kind": "field",
14430
+ "name": "notificationRef",
14431
+ "privacy": "protected",
14432
+ "inheritedFrom": {
14433
+ "name": "NotificationMixin",
14434
+ "module": "src/common/mixins/NotificationMixin.ts"
14435
+ }
14436
+ },
14437
+ {
14438
+ "kind": "field",
14439
+ "name": "dismissed",
14440
+ "type": {
14441
+ "text": "boolean"
14442
+ },
14443
+ "privacy": "protected",
14444
+ "default": "false",
14445
+ "inheritedFrom": {
14446
+ "name": "NotificationMixin",
14447
+ "module": "src/common/mixins/NotificationMixin.ts"
14448
+ }
14080
14449
  }
14081
14450
  ],
14082
14451
  "events": [
@@ -14085,7 +14454,11 @@
14085
14454
  "type": {
14086
14455
  "text": "NordEvent"
14087
14456
  },
14088
- "description": "Fired when the toast is dismissed (via user action or auto-dismiss), and its exit animation has completed. This event should be used to remove the dismissed toast from the DOM."
14457
+ "description": "Fired when the toast is dismissed (via user action or auto-dismiss), and its exit animation has completed. This event should be used to remove the dismissed toast from the DOM.",
14458
+ "inheritedFrom": {
14459
+ "name": "NotificationMixin",
14460
+ "module": "src/common/mixins/NotificationMixin.ts"
14461
+ }
14089
14462
  }
14090
14463
  ],
14091
14464
  "attributes": [
@@ -14108,6 +14481,12 @@
14108
14481
  "fieldName": "autoDismiss"
14109
14482
  }
14110
14483
  ],
14484
+ "mixins": [
14485
+ {
14486
+ "name": "NotificationMixin",
14487
+ "module": "/src/common/mixins/NotificationMixin.js"
14488
+ }
14489
+ ],
14111
14490
  "superclass": {
14112
14491
  "name": "LitElement",
14113
14492
  "package": "lit"
@@ -14115,8 +14494,11 @@
14115
14494
  "localization": [],
14116
14495
  "status": "ready",
14117
14496
  "category": "feedback",
14118
- "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 for short messages that confirm an action taken by a user.\n- Use for ephemeral status updates.\n- Use in combination with [Toast group](../toast-group/) so that toasts get styled and announced to screen readers correctly.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use toasts for critical information that user needs to act on.\n- Don’t rely on users seeing toasts. Toasts are transient and should not be used for critical messages.\n- Don’t place interactive content in toasts. Assistive technology like screen readers will not convey any semantics when announcing toast messages.\n- Don’t use for error messages unless absolutely necessary. Try to favor a [Banner](/components/banner/) for error messaging instead.\n\n</div>\n\n---\n\n## Content guidelines\n\nToast content should be clear, accurate and easy to understand:\n\n<div class=\"n-usage n-usage-do\">Message sent</div>\n<div class=\"n-usage n-usage-dont\">Your message has been sent</div>\n\nWhen writing the toast content, use the {noun} + {verb} content formula:\n\n<div class=\"n-usage n-usage-do\">Patient created</div>\n<div class=\"n-usage n-usage-dont\">Your patient has been successfully updated</div>\n\nUse a maximum of 3 words when writing the toast content:\n\n<div class=\"n-usage n-usage-do\">Product updated</div>\n<div class=\"n-usage n-usage-dont\">Your product was updated just now</div>\n\nWhen writing the toast content, always write it 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\">Message sent</div>\n<div class=\"n-usage n-usage-dont\">Message Sent</div>\n\nAvoid unnecessary words and articles in the toast content, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Changes saved</div>\n<div class=\"n-usage n-usage-dont\">The changes were saved</div>\n\nNever end in punctuation:\n\n<div class=\"n-usage n-usage-do\">Message sent</div>\n<div class=\"n-usage n-usage-dont\">Message sent.</div>\n\n---\n\n## Additional considerations\n\n- Toasts are complicated from an accessibility perspective. Whilst they are a convenient UI pattern for messaging, they present difficulties for keyboard or screen reader users. Therefore careful consideration should be given as to whether a toast is the correct choice.\n- If the message cannot be conveyed in 3 words or less, consider re-wording. If the message cannot be shortened any further, consider choosing a different pattern than toast.\n",
14497
+ "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 for short messages that confirm an action taken by a user.\n- Use for ephemeral status updates.\n- Use in combination with [Toast group](../toast-group/) so that toasts get styled and announced to screen readers correctly.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use toasts for critical information that user needs to act on. Consider using a [Notification](/components/notification) instead.\n- Don’t rely on users seeing toasts. Toasts are transient and should not be used for critical messages.\n- Don’t place interactive content in toasts. Assistive technology like screen readers will not convey any semantics when announcing toast messages.\n- Don’t use for error messages unless absolutely necessary. Try to favor a [Banner](/components/banner/) for error messaging instead.\n\n</div>\n\n---\n\n## Content guidelines\n\nToast content should be clear, accurate and easy to understand:\n\n<div class=\"n-usage n-usage-do\">Message sent</div>\n<div class=\"n-usage n-usage-dont\">Your message has been sent</div>\n\nWhen writing the toast content, use the {noun} + {verb} content formula:\n\n<div class=\"n-usage n-usage-do\">Patient created</div>\n<div class=\"n-usage n-usage-dont\">Your patient has been successfully updated</div>\n\nUse a maximum of 3 words when writing the toast content:\n\n<div class=\"n-usage n-usage-do\">Product updated</div>\n<div class=\"n-usage n-usage-dont\">Your product was updated just now</div>\n\nWhen writing the toast content, always write it 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\">Message sent</div>\n<div class=\"n-usage n-usage-dont\">Message Sent</div>\n\nAvoid unnecessary words and articles in the toast content, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Changes saved</div>\n<div class=\"n-usage n-usage-dont\">The changes were saved</div>\n\nNever end in punctuation:\n\n<div class=\"n-usage n-usage-do\">Message sent</div>\n<div class=\"n-usage n-usage-dont\">Message sent.</div>\n\n---\n\n## Additional considerations\n\n- Toasts are complicated from an accessibility perspective. Whilst they are a convenient UI pattern for messaging, they present difficulties for keyboard or screen reader users. Therefore careful consideration should be given as to whether a toast is the correct choice.\n- If the message cannot be conveyed in 3 words or less, consider re-wording. If the message cannot be shortened any further, consider choosing a different pattern than toast.\n",
14119
14498
  "examples": [],
14499
+ "dependencies": [
14500
+ "icon"
14501
+ ],
14120
14502
  "tagName": "nord-toast",
14121
14503
  "customElement": true
14122
14504
  }
@@ -14192,6 +14574,9 @@
14192
14574
  "category": "feedback",
14193
14575
  "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 in combination with [Toast](/components/toast/) so that toasts get styled and announced to screen readers correctly.\n- Add as close to the bottom of the document as possible, ideally near the body closing tag, to maintain correct stacking order.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use for grouping anything other than toast components\n\n</div>\n\n---\n\n## Content guidelines\n\nToast content should be clear, accurate and understandable by the user:\n\n<div class=\"n-usage n-usage-do\">Message sent</div>\n<div class=\"n-usage n-usage-dont\">Your message has been sent</div>\n\nWhen writing the toast content, use the {noun} + {verb} content formula:\n\n<div class=\"n-usage n-usage-do\">Patient created</div>\n<div class=\"n-usage n-usage-dont\">Your patient has been successfully updated</div>\n\nUse a maximum of 3 words when writing the toast content:\n\n<div class=\"n-usage n-usage-do\">Product updated</div>\n<div class=\"n-usage n-usage-dont\">Your product was updated just now</div>\n\nWhen writing the toast content, always write it 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\">Message sent</div>\n<div class=\"n-usage n-usage-dont\">Message Sent</div>\n\nAvoid unnecessary words and articles in the toast content, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Changes saved</div>\n<div class=\"n-usage n-usage-dont\">The changes were saved</div>\n\nNever end in punctuation:\n\n<div class=\"n-usage n-usage-do\">Message sent</div>\n<div class=\"n-usage n-usage-dont\">Message sent.</div>\n\n---\n\n## Additional considerations\n\n- Toasts are complicated from an accessibility perspective. Whilst they are a convenient UI pattern for messaging, they present difficulties for keyboard or screen reader users. Therefore careful consideration should be given as to whether a toast is the correct choice.\n- If the message cannot be conveyed in 3 words or less, consider re-wording. If the message cannot be shortened any further, consider choosing a different pattern than toast.\n",
14194
14576
  "examples": [],
14577
+ "dependencies": [
14578
+ "toast"
14579
+ ],
14195
14580
  "tagName": "nord-toast-group",
14196
14581
  "customElement": true
14197
14582
  }
@@ -14830,6 +15215,7 @@
14830
15215
  "category": "form",
14831
15216
  "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 toggles when your intent is to turn something on or off instantly.\n- Use for any feature or option that can be turned on or off.\n- If a physical switch would work for the action, the toggle is probably the best component to use.\n- Use for making it possible to choose one or more options from a limited number of options.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Toggles should never require users to click a button to apply or save the setting.\n- Avoid using when you have more than 10 options to choose from.\n- Don’t change the selection of another toggle when another one is clicked. Only exception is when a toggle is used to make a bulk selection of multiple items.\n\n</div>\n\n---\n\n## Content guidelines\n\nToggle labels should be clear, accurate and predictable. It should be possible for the user to understand what they are selecting:\n\n<div class=\"n-usage n-usage-do\">User settings</div>\n<div class=\"n-usage n-usage-dont\">Option 1</div>\n\nWhen writing toggle 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\">User settings</div>\n<div class=\"n-usage n-usage-dont\">User Settings</div>\n\nAvoid ending in punctuation if it’s a single sentence, word, or a fragment:\n\n<div class=\"n-usage n-usage-do\">Show dashboard</div>\n<div class=\"n-usage n-usage-dont\">Show dashboard.</div>\n\nDo not use commas or semicolons at the end of each line\n\n<div class=\"n-usage n-usage-do\">Patients</div>\n<div class=\"n-usage n-usage-dont\">Patients;</div>\n",
14832
15217
  "examples": [],
15218
+ "dependencies": [],
14833
15219
  "tagName": "nord-toggle",
14834
15220
  "customElement": true,
14835
15221
  "events": [
@@ -15116,6 +15502,7 @@
15116
15502
  "category": "overlay",
15117
15503
  "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 a tooltip if an interactive element requires more explanation.\n- Use a tooltip to provide additional information, such as UI shortcuts.\n- Use the `label` attribute on icons used for shortcuts for accessibility.\n- Use clear and accurate phrasing.\n- Be consistent with positioning of tooltips in the user interface.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use interactive elements such as links or buttons inside a tooltip.\n- Don’t rely on tooltips when you have room to provide more explanation.\n- Don’t depend on tooltips for vital information.\n\n</div>\n\n---\n\n## Content guidelines\n\nTooltips should be clear and informative, but not imperative to using the interface they refer to. They should not contain interactive elements such as buttons or links.\n\n<div class=\"n-usage n-usage-do\">Export – Export data as a spreadsheet</div>\n<div class=\"n-usage n-usage-dont\">Export – Export data as a CSV, <u>more information on CSVs</u></div>\n\nTooltips should provide useful information and not repeat information that is already present.\n\n<div class=\"n-usage n-usage-do\">Export – Export data as a spreadsheet</div>\n<div class=\"n-usage n-usage-dont\">Export – Export data</div>\n\nWhen writing tooltips, 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\">Export data as a spreadsheet</div>\n<div class=\"n-usage n-usage-dont\">Export Data As a Spreadsheet</div>\n\nUse tooltips sparingly. If your UI is requiring a lot of tooltips, consider revising the interface to provide better explanations and better labelling.\n\n---\n\n## Additional considerations\n\n- Always provide a tooltip for icon-only buttons or a button with an associated keyboard shortcut.\n- Don’t use tooltip to communicate critical information, including errors.\n- Use sparingly. If you’re building something that requires a lot of tooltips, take a step back and work on clarifying the design and the language used instead.\n",
15118
15504
  "examples": [],
15505
+ "dependencies": [],
15119
15506
  "tagName": "nord-tooltip",
15120
15507
  "customElement": true
15121
15508
  }
@@ -15163,6 +15550,7 @@
15163
15550
  "category": "text",
15164
15551
  "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 hide text visually from the screen, but keep it available to assistive technologies, such as screen readers.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use for hiding interactive content.\n\n</div>\n",
15165
15552
  "examples": [],
15553
+ "dependencies": [],
15166
15554
  "tagName": "nord-visually-hidden",
15167
15555
  "customElement": true
15168
15556
  }
@@ -17739,6 +18127,104 @@
17739
18127
  }
17740
18128
  ]
17741
18129
  },
18130
+ {
18131
+ "kind": "javascript-module",
18132
+ "path": "src/common/mixins/NotificationMixin.ts",
18133
+ "declarations": [
18134
+ {
18135
+ "kind": "class",
18136
+ "description": "",
18137
+ "name": "NotificationMixinInterface",
18138
+ "members": [
18139
+ {
18140
+ "kind": "field",
18141
+ "name": "dismissed",
18142
+ "type": {
18143
+ "text": "boolean"
18144
+ },
18145
+ "privacy": "protected"
18146
+ },
18147
+ {
18148
+ "kind": "field",
18149
+ "name": "notificationRef",
18150
+ "type": {
18151
+ "text": "Ref<HTMLElement>"
18152
+ },
18153
+ "privacy": "protected"
18154
+ },
18155
+ {
18156
+ "kind": "method",
18157
+ "name": "dismiss",
18158
+ "return": {
18159
+ "type": {
18160
+ "text": "Promise<void>"
18161
+ }
18162
+ }
18163
+ }
18164
+ ]
18165
+ },
18166
+ {
18167
+ "kind": "mixin",
18168
+ "description": "",
18169
+ "name": "NotificationMixin",
18170
+ "members": [
18171
+ {
18172
+ "kind": "field",
18173
+ "name": "notificationRef",
18174
+ "privacy": "protected"
18175
+ },
18176
+ {
18177
+ "kind": "field",
18178
+ "name": "dismissed",
18179
+ "type": {
18180
+ "text": "boolean"
18181
+ },
18182
+ "privacy": "protected",
18183
+ "default": "false"
18184
+ },
18185
+ {
18186
+ "kind": "method",
18187
+ "name": "dismiss",
18188
+ "description": "Programmatically dismiss the notification.\nThe returned promise resolves when notification's exit animation is complete."
18189
+ }
18190
+ ],
18191
+ "events": [
18192
+ {
18193
+ "name": "dismiss",
18194
+ "type": {
18195
+ "text": "NordEvent"
18196
+ }
18197
+ }
18198
+ ],
18199
+ "parameters": [
18200
+ {
18201
+ "name": "superClass",
18202
+ "type": {
18203
+ "text": "T"
18204
+ }
18205
+ }
18206
+ ]
18207
+ }
18208
+ ],
18209
+ "exports": [
18210
+ {
18211
+ "kind": "js",
18212
+ "name": "NotificationMixinInterface",
18213
+ "declaration": {
18214
+ "name": "NotificationMixinInterface",
18215
+ "module": "src/common/mixins/NotificationMixin.ts"
18216
+ }
18217
+ },
18218
+ {
18219
+ "kind": "js",
18220
+ "name": "NotificationMixin",
18221
+ "declaration": {
18222
+ "name": "NotificationMixin",
18223
+ "module": "src/common/mixins/NotificationMixin.ts"
18224
+ }
18225
+ }
18226
+ ]
18227
+ },
17742
18228
  {
17743
18229
  "kind": "javascript-module",
17744
18230
  "path": "src/common/mixins/ReadonlyMixin.ts",