@nordhealth/components 4.0.0-alpha.3 → 4.0.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.
@@ -673,91 +673,6 @@
673
673
  }
674
674
  ]
675
675
  },
676
- {
677
- "kind": "javascript-module",
678
- "path": "src/banner/Banner.ts",
679
- "declarations": [
680
- {
681
- "kind": "class",
682
- "description": "Banner informs users about important changes or conditions in the\ninterface. Use this component if you need to communicate to users\nin a prominent way.",
683
- "name": "Banner",
684
- "cssProperties": [
685
- {
686
- "description": "Controls how rounded the corners are, using [border radius tokens](/tokens/#border-radius).",
687
- "name": "--n-banner-border-radius",
688
- "default": "var(--n-border-radius)"
689
- },
690
- {
691
- "description": "Controls the surrounding shadow, using [box shadow tokens](/tokens/#box-shadow).",
692
- "name": "--n-banner-box-shadow",
693
- "default": "var(--n-box-shadow-card)"
694
- }
695
- ],
696
- "slots": [
697
- {
698
- "description": "default slot",
699
- "name": ""
700
- }
701
- ],
702
- "members": [
703
- {
704
- "kind": "field",
705
- "name": "variant",
706
- "type": {
707
- "text": "\"info\" | \"danger\" | \"success\" | \"warning\""
708
- },
709
- "default": "\"info\"",
710
- "description": "The style variant of the banner.",
711
- "attribute": "variant",
712
- "reflects": true
713
- }
714
- ],
715
- "attributes": [
716
- {
717
- "name": "variant",
718
- "type": {
719
- "text": "\"info\" | \"danger\" | \"success\" | \"warning\""
720
- },
721
- "default": "\"info\"",
722
- "description": "The style variant of the banner.",
723
- "fieldName": "variant"
724
- }
725
- ],
726
- "superclass": {
727
- "name": "LitElement",
728
- "package": "lit"
729
- },
730
- "localization": [],
731
- "status": "ready",
732
- "category": "feedback",
733
- "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",
734
- "examples": [],
735
- "dependencies": [
736
- "icon"
737
- ],
738
- "tagName": "nord-banner",
739
- "customElement": true
740
- }
741
- ],
742
- "exports": [
743
- {
744
- "kind": "js",
745
- "name": "default",
746
- "declaration": {
747
- "name": "Banner",
748
- "module": "src/banner/Banner.ts"
749
- }
750
- },
751
- {
752
- "kind": "custom-element-definition",
753
- "name": "nord-banner",
754
- "declaration": {
755
- "name": "Banner",
756
- "module": "src/banner/Banner.ts"
757
- }
758
- }
759
- ]
760
- },
761
676
  {
762
677
  "kind": "javascript-module",
763
678
  "path": "src/badge/Badge.ts",
@@ -1486,6 +1401,91 @@
1486
1401
  }
1487
1402
  ]
1488
1403
  },
1404
+ {
1405
+ "kind": "javascript-module",
1406
+ "path": "src/banner/Banner.ts",
1407
+ "declarations": [
1408
+ {
1409
+ "kind": "class",
1410
+ "description": "Banner informs users about important changes or conditions in the\ninterface. Use this component if you need to communicate to users\nin a prominent way.",
1411
+ "name": "Banner",
1412
+ "cssProperties": [
1413
+ {
1414
+ "description": "Controls how rounded the corners are, using [border radius tokens](/tokens/#border-radius).",
1415
+ "name": "--n-banner-border-radius",
1416
+ "default": "var(--n-border-radius)"
1417
+ },
1418
+ {
1419
+ "description": "Controls the surrounding shadow, using [box shadow tokens](/tokens/#box-shadow).",
1420
+ "name": "--n-banner-box-shadow",
1421
+ "default": "var(--n-box-shadow-card)"
1422
+ }
1423
+ ],
1424
+ "slots": [
1425
+ {
1426
+ "description": "default slot",
1427
+ "name": ""
1428
+ }
1429
+ ],
1430
+ "members": [
1431
+ {
1432
+ "kind": "field",
1433
+ "name": "variant",
1434
+ "type": {
1435
+ "text": "\"info\" | \"danger\" | \"success\" | \"warning\""
1436
+ },
1437
+ "default": "\"info\"",
1438
+ "description": "The style variant of the banner.",
1439
+ "attribute": "variant",
1440
+ "reflects": true
1441
+ }
1442
+ ],
1443
+ "attributes": [
1444
+ {
1445
+ "name": "variant",
1446
+ "type": {
1447
+ "text": "\"info\" | \"danger\" | \"success\" | \"warning\""
1448
+ },
1449
+ "default": "\"info\"",
1450
+ "description": "The style variant of the banner.",
1451
+ "fieldName": "variant"
1452
+ }
1453
+ ],
1454
+ "superclass": {
1455
+ "name": "LitElement",
1456
+ "package": "lit"
1457
+ },
1458
+ "localization": [],
1459
+ "status": "ready",
1460
+ "category": "feedback",
1461
+ "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",
1462
+ "examples": [],
1463
+ "dependencies": [
1464
+ "icon"
1465
+ ],
1466
+ "tagName": "nord-banner",
1467
+ "customElement": true
1468
+ }
1469
+ ],
1470
+ "exports": [
1471
+ {
1472
+ "kind": "js",
1473
+ "name": "default",
1474
+ "declaration": {
1475
+ "name": "Banner",
1476
+ "module": "src/banner/Banner.ts"
1477
+ }
1478
+ },
1479
+ {
1480
+ "kind": "custom-element-definition",
1481
+ "name": "nord-banner",
1482
+ "declaration": {
1483
+ "name": "Banner",
1484
+ "module": "src/banner/Banner.ts"
1485
+ }
1486
+ }
1487
+ ]
1488
+ },
1489
1489
  {
1490
1490
  "kind": "javascript-module",
1491
1491
  "path": "src/button-group/ButtonGroup.ts",
@@ -1766,1174 +1766,1223 @@
1766
1766
  },
1767
1767
  {
1768
1768
  "kind": "javascript-module",
1769
- "path": "src/checkbox/Checkbox.ts",
1769
+ "path": "src/calendar/Calendar.ts",
1770
1770
  "declarations": [
1771
1771
  {
1772
1772
  "kind": "class",
1773
- "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.",
1774
- "name": "Checkbox",
1773
+ "description": "Calendar allows user to pick a date. It comes with built-in\nfunctionality that allows you to set a minimum and a maximum allowed date.\nPlease note that the date must be passed in ISO-8601 format.",
1774
+ "name": "Calendar",
1775
1775
  "cssProperties": [
1776
1776
  {
1777
- "description": "Controls the text color of the label, using our [color tokens](/tokens/#color).",
1778
- "name": "--n-label-color",
1779
- "default": "var(--n-color-text)"
1777
+ "description": "Controls how rounded the corners are, using [border radius tokens](/tokens/#border-radius).",
1778
+ "name": "--n-calendar-border-radius",
1779
+ "default": "var(--n-border-radius)"
1780
+ },
1781
+ {
1782
+ "description": "Controls the surrounding shadow, using [box shadow tokens](/tokens/#box-shadow).",
1783
+ "name": "--n-calendar-box-shadow",
1784
+ "default": "var(--n-box-shadow-popout)"
1780
1785
  }
1781
1786
  ],
1782
- "slots": [
1787
+ "members": [
1783
1788
  {
1784
- "description": "Use when a label requires more than plain text.",
1785
- "name": "label"
1789
+ "kind": "field",
1790
+ "name": "monthSelectNode",
1791
+ "type": {
1792
+ "text": "HTMLElement"
1793
+ },
1794
+ "privacy": "private"
1786
1795
  },
1787
1796
  {
1788
- "description": "Optional slot that holds hint text for the input.",
1789
- "name": "hint"
1797
+ "kind": "field",
1798
+ "name": "focusedDayNode",
1799
+ "type": {
1800
+ "text": "HTMLButtonElement"
1801
+ },
1802
+ "privacy": "private"
1790
1803
  },
1791
1804
  {
1792
- "description": "Optional slot that holds error text for the input.",
1793
- "name": "error"
1794
- }
1795
- ],
1796
- "members": [
1805
+ "kind": "field",
1806
+ "name": "direction",
1807
+ "privacy": "private",
1808
+ "default": "new DirectionController(this)"
1809
+ },
1797
1810
  {
1798
1811
  "kind": "field",
1799
- "name": "formValue",
1800
- "privacy": "protected",
1801
- "readonly": true,
1802
- "inheritedFrom": {
1803
- "name": "FormAssociatedMixin",
1804
- "module": "src/common/mixins/FormAssociatedMixin.ts"
1805
- }
1812
+ "name": "swipe",
1813
+ "privacy": "private",
1814
+ "default": "new SwipeController(this, { matchesGesture: isHorizontalSwipe, onSwipeEnd: ({ distX }) => this.addMonths(distX < 0 ? 1 : -1), })"
1806
1815
  },
1807
1816
  {
1808
1817
  "kind": "field",
1809
- "name": "indeterminate",
1818
+ "name": "shortcuts",
1819
+ "privacy": "private"
1820
+ },
1821
+ {
1822
+ "kind": "field",
1823
+ "name": "localize",
1824
+ "privacy": "private",
1825
+ "default": "new LocalizeController<\"nord-calendar\">(this, { onLangChange: () => this.handleLangChange(), })"
1826
+ },
1827
+ {
1828
+ "kind": "field",
1829
+ "name": "dateFormatShort",
1810
1830
  "type": {
1811
- "text": "boolean"
1831
+ "text": "Intl.DateTimeFormat"
1812
1832
  },
1813
- "default": "false",
1814
- "description": "Controls whether the checkbox is in an indeterminate state.",
1815
- "attribute": "indeterminate",
1816
- "reflects": true
1833
+ "privacy": "private",
1834
+ "description": "Whilst dateAdapter is used for handling the formatting/parsing dates in the input,\nthese are used to format dates exclusively for the benefit of screen readers.\n\nWe prefer DateTimeFormat over date.toLocaleDateString, as the former has\nbetter performance when formatting large number of dates. See:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString#Performance"
1817
1835
  },
1818
1836
  {
1819
1837
  "kind": "field",
1820
- "name": "checked",
1838
+ "name": "monthNames",
1821
1839
  "type": {
1822
- "text": "boolean"
1840
+ "text": "string[]"
1823
1841
  },
1824
- "default": "false",
1825
- "description": "Controls whether the checkbox is checked or not.",
1826
- "attribute": "checked",
1827
- "reflects": true
1828
- },
1829
- {
1830
- "kind": "method",
1831
- "name": "handleChange",
1832
- "privacy": "protected",
1833
- "parameters": [
1834
- {
1835
- "name": "e",
1836
- "type": {
1837
- "text": "Event"
1838
- }
1839
- }
1840
- ],
1841
- "return": {
1842
- "type": {
1843
- "text": "void"
1844
- }
1845
- },
1846
- "inheritedFrom": {
1847
- "name": "FormAssociatedMixin",
1848
- "module": "src/common/mixins/FormAssociatedMixin.ts"
1849
- }
1842
+ "privacy": "private"
1850
1843
  },
1851
1844
  {
1852
1845
  "kind": "field",
1853
- "name": "size",
1846
+ "name": "monthNamesShort",
1854
1847
  "type": {
1855
- "text": "\"s\" | \"m\" | \"l\""
1848
+ "text": "string[]"
1856
1849
  },
1857
- "default": "\"m\"",
1858
- "description": "The size of the component.",
1859
- "attribute": "size",
1860
- "reflects": true,
1861
- "inheritedFrom": {
1862
- "name": "SizeMixin",
1863
- "module": "src/common/mixins/SizeMixin.ts"
1864
- }
1865
- },
1866
- {
1867
- "kind": "field",
1868
- "name": "labelSlot",
1869
- "privacy": "protected",
1870
- "default": "new SlotController(this, \"label\")",
1871
- "inheritedFrom": {
1872
- "name": "FormAssociatedMixin",
1873
- "module": "src/common/mixins/FormAssociatedMixin.ts"
1874
- }
1875
- },
1876
- {
1877
- "kind": "field",
1878
- "name": "errorSlot",
1879
- "privacy": "protected",
1880
- "default": "new SlotController(this, \"error\")",
1881
- "inheritedFrom": {
1882
- "name": "FormAssociatedMixin",
1883
- "module": "src/common/mixins/FormAssociatedMixin.ts"
1884
- }
1885
- },
1886
- {
1887
- "kind": "field",
1888
- "name": "hintSlot",
1889
- "privacy": "protected",
1890
- "default": "new SlotController(this, \"hint\")",
1891
- "inheritedFrom": {
1892
- "name": "FormAssociatedMixin",
1893
- "module": "src/common/mixins/FormAssociatedMixin.ts"
1894
- }
1850
+ "privacy": "private"
1895
1851
  },
1896
1852
  {
1897
1853
  "kind": "field",
1898
- "name": "formData",
1899
- "privacy": "protected",
1900
- "default": "new FormDataController(this, { value: () => this.formValue })",
1901
- "inheritedFrom": {
1902
- "name": "FormAssociatedMixin",
1903
- "module": "src/common/mixins/FormAssociatedMixin.ts"
1904
- }
1854
+ "name": "dayNames",
1855
+ "type": {
1856
+ "text": "string[]"
1857
+ },
1858
+ "privacy": "private"
1905
1859
  },
1906
1860
  {
1907
1861
  "kind": "field",
1908
- "name": "inputId",
1862
+ "name": "dayNamesShort",
1909
1863
  "type": {
1910
- "text": "string"
1864
+ "text": "string[]"
1911
1865
  },
1912
- "privacy": "protected",
1913
- "default": "\"input\"",
1914
- "inheritedFrom": {
1915
- "name": "FormAssociatedMixin",
1916
- "module": "src/common/mixins/FormAssociatedMixin.ts"
1917
- }
1866
+ "privacy": "private"
1918
1867
  },
1919
1868
  {
1920
1869
  "kind": "field",
1921
- "name": "errorId",
1870
+ "name": "value",
1922
1871
  "type": {
1923
1872
  "text": "string"
1924
1873
  },
1925
- "privacy": "protected",
1926
- "default": "\"error\"",
1927
- "inheritedFrom": {
1928
- "name": "FormAssociatedMixin",
1929
- "module": "src/common/mixins/FormAssociatedMixin.ts"
1930
- }
1874
+ "default": "\"\"",
1875
+ "description": "The selected date on the calendar. Must be in IS0-8601 format: YYYY-MM-DD.",
1876
+ "attribute": "value"
1931
1877
  },
1932
1878
  {
1933
1879
  "kind": "field",
1934
- "name": "hintId",
1880
+ "name": "firstDayOfWeek",
1935
1881
  "type": {
1936
- "text": "string"
1882
+ "text": "DaysOfWeek"
1937
1883
  },
1938
- "privacy": "protected",
1939
- "default": "\"hint\"",
1940
- "inheritedFrom": {
1941
- "name": "FormAssociatedMixin",
1942
- "module": "src/common/mixins/FormAssociatedMixin.ts"
1943
- }
1884
+ "description": "Which day is considered first day of the week? `0` for Sunday, `1` for Monday, etc.\nDefault is Monday.",
1885
+ "attribute": "first-day-of-week",
1886
+ "reflects": true
1944
1887
  },
1945
1888
  {
1946
1889
  "kind": "field",
1947
- "name": "label",
1890
+ "name": "min",
1948
1891
  "type": {
1949
- "text": "string"
1892
+ "text": "string | undefined"
1950
1893
  },
1951
- "default": "\"\"",
1952
- "description": "Label for the input.",
1953
- "attribute": "label",
1954
- "reflects": true,
1955
- "inheritedFrom": {
1956
- "name": "FormAssociatedMixin",
1957
- "module": "src/common/mixins/FormAssociatedMixin.ts"
1958
- }
1894
+ "description": "Minimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\nThis setting can be used alone or together with the max property.",
1895
+ "attribute": "min",
1896
+ "reflects": true
1959
1897
  },
1960
1898
  {
1961
1899
  "kind": "field",
1962
- "name": "hint",
1900
+ "name": "max",
1963
1901
  "type": {
1964
1902
  "text": "string | undefined"
1965
1903
  },
1966
- "description": "Optional hint text to be displayed with the input. Alternatively use the hint slot.",
1967
- "attribute": "hint",
1968
- "reflects": true,
1969
- "inheritedFrom": {
1970
- "name": "FormAssociatedMixin",
1971
- "module": "src/common/mixins/FormAssociatedMixin.ts"
1972
- }
1904
+ "description": "Maximum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\nThis setting can be used alone or together with the min property.",
1905
+ "attribute": "max",
1906
+ "reflects": true
1973
1907
  },
1974
1908
  {
1975
1909
  "kind": "field",
1976
- "name": "hideLabel",
1910
+ "name": "expand",
1977
1911
  "type": {
1978
1912
  "text": "boolean"
1979
1913
  },
1980
1914
  "default": "false",
1981
- "description": "Visually hide the label, but still show it to assistive technologies like screen readers.",
1982
- "attribute": "hide-label",
1983
- "reflects": true,
1984
- "inheritedFrom": {
1985
- "name": "FormAssociatedMixin",
1986
- "module": "src/common/mixins/FormAssociatedMixin.ts"
1987
- }
1915
+ "description": "Controls whether the calendar expands to fill the width of its container.",
1916
+ "attribute": "expand",
1917
+ "reflects": true
1988
1918
  },
1989
1919
  {
1990
1920
  "kind": "field",
1991
- "name": "placeholder",
1921
+ "name": "isDateDisabled",
1992
1922
  "type": {
1993
- "text": "string | undefined"
1923
+ "text": "DatePredicate"
1994
1924
  },
1995
- "description": "Placeholder text to display within the input.",
1996
- "attribute": "placeholder",
1997
- "reflects": true,
1998
- "inheritedFrom": {
1999
- "name": "FormAssociatedMixin",
2000
- "module": "src/common/mixins/FormAssociatedMixin.ts"
2001
- }
1925
+ "default": "isDateDisabled",
1926
+ "description": "Controls which days are disabled and therefore disallowed.\nFor example, this can be used to disallow selection of weekends."
2002
1927
  },
2003
1928
  {
2004
1929
  "kind": "field",
2005
- "name": "error",
1930
+ "name": "isDateHighlighted",
2006
1931
  "type": {
2007
- "text": "string | undefined"
1932
+ "text": "(date: Date) => string | boolean"
2008
1933
  },
2009
- "description": "Optional error to be shown with the input. Alternatively use the error slot.",
2010
- "attribute": "error",
2011
- "reflects": true,
2012
- "inheritedFrom": {
2013
- "name": "FormAssociatedMixin",
2014
- "module": "src/common/mixins/FormAssociatedMixin.ts"
2015
- }
1934
+ "default": "isDateHighlighted",
1935
+ "description": "Controls which days are highlighted with a small indicator.\nReturning a \"falsy\" value will not show an indicator.\nReturning \"truthy\" value will show the indicator, but without an accessible label.\nReturning a string will show the indicator, and use the string as accessible label.\nIt is recommended to return a string rather than a truthy value whenever possible."
2016
1936
  },
2017
1937
  {
2018
1938
  "kind": "field",
2019
- "name": "required",
1939
+ "name": "activeFocus",
2020
1940
  "type": {
2021
1941
  "text": "boolean"
2022
1942
  },
2023
- "default": "false",
2024
- "description": "Determines whether the input is required or not.\nAn input marked as required will be announced as such to users of assistive technology.\nWhen using this property you need to also set “novalidate” attribute on a form element to prevent browser from displaying its own validation errors.",
2025
- "attribute": "required",
2026
- "reflects": true,
2027
- "inheritedFrom": {
2028
- "name": "FormAssociatedMixin",
2029
- "module": "src/common/mixins/FormAssociatedMixin.ts"
2030
- }
1943
+ "privacy": "private",
1944
+ "default": "false"
2031
1945
  },
2032
1946
  {
2033
1947
  "kind": "field",
2034
- "name": "hideRequired",
2035
- "type": {
2036
- "text": "boolean"
2037
- },
2038
- "default": "false",
2039
- "description": "Visually hide the required indicator, but still show\nrequired attribute to assistive technologies like screen readers.",
2040
- "attribute": "hide-required",
2041
- "reflects": true,
2042
- "inheritedFrom": {
2043
- "name": "FormAssociatedMixin",
2044
- "module": "src/common/mixins/FormAssociatedMixin.ts"
2045
- }
1948
+ "name": "focusedDay",
1949
+ "privacy": "private",
1950
+ "default": "new Date()"
2046
1951
  },
2047
1952
  {
2048
1953
  "kind": "method",
2049
- "name": "handleInput",
2050
- "privacy": "protected",
1954
+ "name": "focus",
2051
1955
  "parameters": [
2052
1956
  {
2053
- "name": "e",
1957
+ "name": "options",
1958
+ "optional": true,
2054
1959
  "type": {
2055
- "text": "Event"
2056
- }
1960
+ "text": "FocusOptions & { target: \"day\" | \"month\" }"
1961
+ },
1962
+ "description": "An object which controls aspects of the focusing process."
2057
1963
  }
2058
1964
  ],
2059
- "inheritedFrom": {
2060
- "name": "FormAssociatedMixin",
2061
- "module": "src/common/mixins/FormAssociatedMixin.ts"
2062
- }
1965
+ "description": "Programmatically move focus to the calendar."
2063
1966
  },
2064
1967
  {
2065
1968
  "kind": "method",
2066
- "name": "renderLabel",
2067
- "privacy": "protected",
2068
- "parameters": [
2069
- {
2070
- "name": "additionalContent",
2071
- "optional": true,
2072
- "type": {
2073
- "text": "TemplateResult"
2074
- }
2075
- }
2076
- ],
2077
- "inheritedFrom": {
2078
- "name": "FormAssociatedMixin",
2079
- "module": "src/common/mixins/FormAssociatedMixin.ts"
2080
- }
1969
+ "name": "handleValueChange",
1970
+ "privacy": "protected"
2081
1971
  },
2082
1972
  {
2083
1973
  "kind": "method",
2084
- "name": "renderError",
2085
- "privacy": "protected",
2086
- "inheritedFrom": {
2087
- "name": "FormAssociatedMixin",
2088
- "module": "src/common/mixins/FormAssociatedMixin.ts"
2089
- }
1974
+ "name": "handleFocusedDayChange",
1975
+ "privacy": "protected"
2090
1976
  },
2091
1977
  {
2092
1978
  "kind": "method",
2093
- "name": "getDescribedBy",
2094
- "privacy": "protected",
2095
- "inheritedFrom": {
2096
- "name": "FormAssociatedMixin",
2097
- "module": "src/common/mixins/FormAssociatedMixin.ts"
2098
- }
2099
- },
2100
- {
2101
- "kind": "method",
2102
- "name": "getInvalid",
2103
- "privacy": "protected",
2104
- "inheritedFrom": {
2105
- "name": "FormAssociatedMixin",
2106
- "module": "src/common/mixins/FormAssociatedMixin.ts"
2107
- }
2108
- },
2109
- {
2110
- "kind": "field",
2111
- "name": "hasHint",
2112
- "privacy": "protected",
2113
- "readonly": true,
2114
- "inheritedFrom": {
2115
- "name": "FormAssociatedMixin",
2116
- "module": "src/common/mixins/FormAssociatedMixin.ts"
2117
- }
2118
- },
2119
- {
2120
- "kind": "field",
2121
- "name": "hasError",
2122
- "privacy": "protected",
2123
- "readonly": true,
2124
- "inheritedFrom": {
2125
- "name": "FormAssociatedMixin",
2126
- "module": "src/common/mixins/FormAssociatedMixin.ts"
2127
- }
2128
- },
2129
- {
2130
- "kind": "field",
2131
- "name": "disabled",
2132
- "type": {
2133
- "text": "boolean"
2134
- },
2135
- "default": "false",
2136
- "description": "Makes the component disabled. This prevents users from\nbeing able to interact with the component, and conveys\nits inactive state to assistive technologies.",
2137
- "attribute": "disabled",
2138
- "reflects": true,
2139
- "inheritedFrom": {
2140
- "name": "InputMixin",
2141
- "module": "src/common/mixins/InputMixin.ts"
2142
- }
1979
+ "name": "handleLangChange",
1980
+ "privacy": "private"
2143
1981
  },
2144
1982
  {
2145
1983
  "kind": "field",
2146
- "name": "name",
2147
- "type": {
2148
- "text": "string | undefined"
2149
- },
2150
- "description": "The name of the form component.",
2151
- "attribute": "name",
2152
- "reflects": true,
2153
- "inheritedFrom": {
2154
- "name": "InputMixin",
2155
- "module": "src/common/mixins/InputMixin.ts"
2156
- }
1984
+ "name": "handleDaySelect",
1985
+ "privacy": "private"
2157
1986
  },
2158
1987
  {
2159
- "kind": "field",
2160
- "name": "value",
2161
- "type": {
2162
- "text": "string"
2163
- },
2164
- "default": "\"\"",
2165
- "description": "The value of the form component.",
2166
- "attribute": "value",
2167
- "inheritedFrom": {
2168
- "name": "InputMixin",
2169
- "module": "src/common/mixins/InputMixin.ts"
2170
- }
1988
+ "kind": "method",
1989
+ "name": "addDays",
1990
+ "privacy": "private",
1991
+ "parameters": [
1992
+ {
1993
+ "name": "days",
1994
+ "type": {
1995
+ "text": "number"
1996
+ }
1997
+ }
1998
+ ]
2171
1999
  },
2172
2000
  {
2173
- "kind": "field",
2174
- "name": "formAncestor",
2175
- "type": {
2176
- "text": "HTMLFormElement | null"
2177
- },
2001
+ "kind": "method",
2002
+ "name": "addMonths",
2178
2003
  "privacy": "private",
2179
- "default": "null",
2180
- "inheritedFrom": {
2181
- "name": "InputMixin",
2182
- "module": "src/common/mixins/InputMixin.ts"
2183
- }
2004
+ "parameters": [
2005
+ {
2006
+ "name": "months",
2007
+ "type": {
2008
+ "text": "number"
2009
+ }
2010
+ }
2011
+ ]
2184
2012
  },
2185
2013
  {
2186
- "kind": "field",
2187
- "name": "_formId",
2188
- "type": {
2189
- "text": "string | undefined"
2190
- },
2191
- "privacy": "protected",
2192
- "inheritedFrom": {
2193
- "name": "InputMixin",
2194
- "module": "src/common/mixins/InputMixin.ts"
2195
- }
2014
+ "kind": "method",
2015
+ "name": "addYears",
2016
+ "privacy": "private",
2017
+ "parameters": [
2018
+ {
2019
+ "name": "years",
2020
+ "type": {
2021
+ "text": "number"
2022
+ }
2023
+ }
2024
+ ]
2196
2025
  },
2197
2026
  {
2198
- "kind": "field",
2199
- "name": "form",
2200
- "type": {
2201
- "text": "HTMLFormElement | null"
2202
- },
2203
- "description": "Gets the form, if any, associated with the form element.\nThe setter accepts a string, which is the id of the form.",
2204
- "attribute": "form",
2205
- "inheritedFrom": {
2206
- "name": "InputMixin",
2207
- "module": "src/common/mixins/InputMixin.ts"
2208
- }
2027
+ "kind": "method",
2028
+ "name": "startOfWeek",
2029
+ "privacy": "private"
2209
2030
  },
2210
2031
  {
2211
- "kind": "field",
2212
- "name": "focusableRef",
2213
- "privacy": "protected",
2214
- "inheritedFrom": {
2215
- "name": "FocusableMixin",
2216
- "module": "src/common/mixins/FocusableMixin.ts"
2217
- }
2032
+ "kind": "method",
2033
+ "name": "endOfWeek",
2034
+ "privacy": "private"
2218
2035
  },
2219
2036
  {
2220
2037
  "kind": "method",
2221
- "name": "focus",
2038
+ "name": "setMonth",
2039
+ "privacy": "private",
2222
2040
  "parameters": [
2223
2041
  {
2224
- "name": "options",
2225
- "optional": true,
2042
+ "name": "month",
2226
2043
  "type": {
2227
- "text": "FocusOptions"
2228
- },
2229
- "description": "An object which controls aspects of the focusing process."
2044
+ "text": "number"
2045
+ }
2230
2046
  }
2231
- ],
2232
- "description": "Programmatically move focus to the component.",
2233
- "inheritedFrom": {
2234
- "name": "FocusableMixin",
2235
- "module": "src/common/mixins/FocusableMixin.ts"
2236
- }
2047
+ ]
2237
2048
  },
2238
2049
  {
2239
2050
  "kind": "method",
2240
- "name": "blur",
2241
- "description": "Programmatically remove focus from the component.",
2242
- "inheritedFrom": {
2243
- "name": "FocusableMixin",
2244
- "module": "src/common/mixins/FocusableMixin.ts"
2245
- }
2051
+ "name": "setYear",
2052
+ "privacy": "private",
2053
+ "parameters": [
2054
+ {
2055
+ "name": "year",
2056
+ "type": {
2057
+ "text": "number"
2058
+ }
2059
+ }
2060
+ ]
2246
2061
  },
2247
2062
  {
2248
2063
  "kind": "method",
2249
- "name": "click",
2250
- "description": "Programmatically simulates a click on the component.",
2251
- "inheritedFrom": {
2252
- "name": "FocusableMixin",
2253
- "module": "src/common/mixins/FocusableMixin.ts"
2254
- }
2255
- }
2256
- ],
2257
- "attributes": [
2258
- {
2259
- "name": "indeterminate",
2260
- "type": {
2261
- "text": "boolean"
2262
- },
2263
- "default": "false",
2264
- "description": "Controls whether the checkbox is in an indeterminate state.",
2265
- "fieldName": "indeterminate"
2064
+ "name": "setFocusedDay",
2065
+ "privacy": "private",
2066
+ "parameters": [
2067
+ {
2068
+ "name": "day",
2069
+ "type": {
2070
+ "text": "Date"
2071
+ }
2072
+ }
2073
+ ]
2266
2074
  },
2267
2075
  {
2268
- "name": "checked",
2269
- "type": {
2270
- "text": "boolean"
2271
- },
2272
- "default": "false",
2273
- "description": "Controls whether the checkbox is checked or not.",
2274
- "fieldName": "checked"
2076
+ "kind": "field",
2077
+ "name": "handleMonthSelect",
2078
+ "privacy": "private"
2275
2079
  },
2276
2080
  {
2277
- "name": "size",
2278
- "type": {
2279
- "text": "\"s\" | \"m\" | \"l\""
2280
- },
2281
- "default": "\"m\"",
2282
- "description": "The size of the component.",
2283
- "fieldName": "size",
2284
- "inheritedFrom": {
2285
- "name": "SizeMixin",
2286
- "module": "src/common/mixins/SizeMixin.ts"
2287
- }
2081
+ "kind": "field",
2082
+ "name": "handleYearSelect",
2083
+ "privacy": "private"
2288
2084
  },
2289
2085
  {
2290
- "name": "label",
2291
- "type": {
2292
- "text": "string"
2293
- },
2294
- "default": "\"\"",
2295
- "description": "Label for the input.",
2296
- "fieldName": "label",
2297
- "inheritedFrom": {
2298
- "name": "FormAssociatedMixin",
2299
- "module": "src/common/mixins/FormAssociatedMixin.ts"
2300
- }
2086
+ "kind": "field",
2087
+ "name": "handleNextMonthClick",
2088
+ "privacy": "private"
2301
2089
  },
2302
2090
  {
2303
- "name": "hint",
2304
- "type": {
2305
- "text": "string | undefined"
2306
- },
2307
- "description": "Optional hint text to be displayed with the input. Alternatively use the hint slot.",
2308
- "fieldName": "hint",
2309
- "inheritedFrom": {
2310
- "name": "FormAssociatedMixin",
2311
- "module": "src/common/mixins/FormAssociatedMixin.ts"
2312
- }
2091
+ "kind": "field",
2092
+ "name": "handlePreviousMonthClick",
2093
+ "privacy": "private"
2313
2094
  },
2314
2095
  {
2315
- "name": "hide-label",
2316
- "type": {
2317
- "text": "boolean"
2318
- },
2319
- "default": "false",
2320
- "description": "Visually hide the label, but still show it to assistive technologies like screen readers.",
2321
- "fieldName": "hideLabel",
2322
- "inheritedFrom": {
2323
- "name": "FormAssociatedMixin",
2324
- "module": "src/common/mixins/FormAssociatedMixin.ts"
2325
- }
2096
+ "kind": "field",
2097
+ "name": "enableActiveFocus",
2098
+ "privacy": "private"
2326
2099
  },
2327
2100
  {
2328
- "name": "placeholder",
2329
- "type": {
2330
- "text": "string | undefined"
2331
- },
2332
- "description": "Placeholder text to display within the input.",
2333
- "fieldName": "placeholder",
2334
- "inheritedFrom": {
2335
- "name": "FormAssociatedMixin",
2336
- "module": "src/common/mixins/FormAssociatedMixin.ts"
2337
- }
2338
- },
2101
+ "kind": "field",
2102
+ "name": "disableActiveFocus",
2103
+ "privacy": "private"
2104
+ }
2105
+ ],
2106
+ "events": [
2339
2107
  {
2340
- "name": "error",
2108
+ "name": "nord-focus-date",
2341
2109
  "type": {
2342
- "text": "string | undefined"
2110
+ "text": "DateSelectEvent"
2343
2111
  },
2344
- "description": "Optional error to be shown with the input. Alternatively use the error slot.",
2345
- "fieldName": "error",
2346
- "inheritedFrom": {
2347
- "name": "FormAssociatedMixin",
2348
- "module": "src/common/mixins/FormAssociatedMixin.ts"
2349
- }
2112
+ "description": "Dispatched when the calendar's focused date changes."
2350
2113
  },
2351
2114
  {
2352
- "name": "required",
2353
2115
  "type": {
2354
- "text": "boolean"
2116
+ "text": "DateSelectEvent"
2355
2117
  },
2356
- "default": "false",
2357
- "description": "Determines whether the input is required or not.\nAn input marked as required will be announced as such to users of assistive technology.\nWhen using this property you need to also set “novalidate” attribute on a form element to prevent browser from displaying its own validation errors.",
2358
- "fieldName": "required",
2359
- "inheritedFrom": {
2360
- "name": "FormAssociatedMixin",
2361
- "module": "src/common/mixins/FormAssociatedMixin.ts"
2362
- }
2363
- },
2118
+ "description": "Dispatched when a date is selected and the value changes.",
2119
+ "name": "change"
2120
+ }
2121
+ ],
2122
+ "attributes": [
2364
2123
  {
2365
- "name": "hide-required",
2124
+ "name": "value",
2366
2125
  "type": {
2367
- "text": "boolean"
2126
+ "text": "string"
2368
2127
  },
2369
- "default": "false",
2370
- "description": "Visually hide the required indicator, but still show\nrequired attribute to assistive technologies like screen readers.",
2371
- "fieldName": "hideRequired",
2372
- "inheritedFrom": {
2373
- "name": "FormAssociatedMixin",
2374
- "module": "src/common/mixins/FormAssociatedMixin.ts"
2375
- }
2128
+ "default": "\"\"",
2129
+ "description": "The selected date on the calendar. Must be in IS0-8601 format: YYYY-MM-DD.",
2130
+ "fieldName": "value"
2376
2131
  },
2377
2132
  {
2378
- "name": "disabled",
2133
+ "name": "first-day-of-week",
2379
2134
  "type": {
2380
- "text": "boolean"
2135
+ "text": "DaysOfWeek"
2381
2136
  },
2382
- "default": "false",
2383
- "description": "Makes the component disabled. This prevents users from\nbeing able to interact with the component, and conveys\nits inactive state to assistive technologies.",
2384
- "fieldName": "disabled",
2385
- "inheritedFrom": {
2386
- "name": "InputMixin",
2387
- "module": "src/common/mixins/InputMixin.ts"
2388
- }
2137
+ "description": "Which day is considered first day of the week? `0` for Sunday, `1` for Monday, etc.\nDefault is Monday.",
2138
+ "fieldName": "firstDayOfWeek"
2389
2139
  },
2390
2140
  {
2391
- "name": "name",
2141
+ "name": "min",
2392
2142
  "type": {
2393
2143
  "text": "string | undefined"
2394
2144
  },
2395
- "description": "The name of the form component.",
2396
- "fieldName": "name",
2397
- "inheritedFrom": {
2398
- "name": "InputMixin",
2399
- "module": "src/common/mixins/InputMixin.ts"
2400
- }
2145
+ "description": "Minimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\nThis setting can be used alone or together with the max property.",
2146
+ "fieldName": "min"
2401
2147
  },
2402
2148
  {
2403
- "name": "value",
2149
+ "name": "max",
2404
2150
  "type": {
2405
- "text": "string"
2151
+ "text": "string | undefined"
2406
2152
  },
2407
- "default": "\"\"",
2408
- "description": "The value of the form component.",
2409
- "fieldName": "value",
2410
- "inheritedFrom": {
2411
- "name": "InputMixin",
2412
- "module": "src/common/mixins/InputMixin.ts"
2413
- }
2153
+ "description": "Maximum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\nThis setting can be used alone or together with the min property.",
2154
+ "fieldName": "max"
2414
2155
  },
2415
2156
  {
2416
- "name": "form",
2157
+ "name": "expand",
2417
2158
  "type": {
2418
- "text": "HTMLFormElement | null"
2159
+ "text": "boolean"
2419
2160
  },
2420
- "description": "Gets the form, if any, associated with the form element.\nThe setter accepts a string, which is the id of the form.",
2421
- "fieldName": "form",
2422
- "inheritedFrom": {
2423
- "name": "InputMixin",
2424
- "module": "src/common/mixins/InputMixin.ts"
2425
- }
2161
+ "default": "false",
2162
+ "description": "Controls whether the calendar expands to fill the width of its container.",
2163
+ "fieldName": "expand"
2426
2164
  }
2427
2165
  ],
2428
- "mixins": [
2166
+ "superclass": {
2167
+ "name": "LitElement",
2168
+ "package": "lit"
2169
+ },
2170
+ "localization": [
2429
2171
  {
2430
- "name": "SizeMixin",
2431
- "module": "/src/common/mixins/SizeMixin.js"
2172
+ "name": "prevMonthLabel",
2173
+ "description": "Accessible label for the previous month button."
2432
2174
  },
2433
2175
  {
2434
- "name": "FormAssociatedMixin",
2435
- "module": "/src/common/mixins/FormAssociatedMixin.js"
2176
+ "name": "nextMonthLabel",
2177
+ "description": "Accessible label for the next month button."
2436
2178
  },
2437
2179
  {
2438
- "name": "InputMixin",
2439
- "module": "/src/common/mixins/InputMixin.js"
2180
+ "name": "monthSelectLabel",
2181
+ "description": "Accessible label for the month select."
2440
2182
  },
2441
2183
  {
2442
- "name": "FocusableMixin",
2443
- "module": "/src/common/mixins/FocusableMixin.js"
2184
+ "name": "yearSelectLabel",
2185
+ "description": "Accessible label for the year select."
2444
2186
  }
2445
2187
  ],
2446
- "superclass": {
2447
- "name": "LitElement",
2448
- "package": "lit"
2449
- },
2450
- "localization": [],
2451
2188
  "status": "ready",
2452
- "category": "form",
2453
- "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",
2189
+ "category": "list",
2190
+ "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",
2454
2191
  "examples": [],
2455
2192
  "dependencies": [
2193
+ "button",
2194
+ "visually-hidden",
2456
2195
  "icon"
2457
2196
  ],
2458
- "tagName": "nord-checkbox",
2459
- "customElement": true,
2460
- "events": [
2461
- {
2462
- "name": "input",
2463
- "type": {
2464
- "text": "NordEvent"
2465
- },
2466
- "description": "Fired as the user types into the input.",
2467
- "inheritedFrom": {
2468
- "name": "FormAssociatedMixin",
2469
- "module": "src/common/mixins/FormAssociatedMixin.ts"
2470
- }
2471
- },
2472
- {
2473
- "name": "change",
2474
- "type": {
2475
- "text": "NordEvent"
2476
- },
2477
- "description": "Fired whenever the input's value is changed via user interaction.",
2478
- "inheritedFrom": {
2479
- "name": "FormAssociatedMixin",
2480
- "module": "src/common/mixins/FormAssociatedMixin.ts"
2481
- }
2482
- }
2483
- ]
2197
+ "tagName": "nord-calendar",
2198
+ "customElement": true
2199
+ }
2200
+ ],
2201
+ "exports": [
2202
+ {
2203
+ "kind": "js",
2204
+ "name": "default",
2205
+ "declaration": {
2206
+ "name": "Calendar",
2207
+ "module": "src/calendar/Calendar.ts"
2208
+ }
2209
+ },
2210
+ {
2211
+ "kind": "custom-element-definition",
2212
+ "name": "nord-calendar",
2213
+ "declaration": {
2214
+ "name": "Calendar",
2215
+ "module": "src/calendar/Calendar.ts"
2216
+ }
2217
+ }
2218
+ ]
2219
+ },
2220
+ {
2221
+ "kind": "javascript-module",
2222
+ "path": "src/calendar/DateSelectEvent.ts",
2223
+ "declarations": [
2224
+ {
2225
+ "kind": "class",
2226
+ "description": "",
2227
+ "name": "DateSelectEvent",
2228
+ "superclass": {
2229
+ "name": "NordEvent",
2230
+ "module": "/src/common/events.js"
2231
+ }
2484
2232
  }
2485
2233
  ],
2486
2234
  "exports": [
2487
2235
  {
2488
2236
  "kind": "js",
2489
- "name": "default",
2237
+ "name": "DateSelectEvent",
2490
2238
  "declaration": {
2491
- "name": "Checkbox",
2492
- "module": "src/checkbox/Checkbox.ts"
2239
+ "name": "DateSelectEvent",
2240
+ "module": "src/calendar/DateSelectEvent.ts"
2493
2241
  }
2494
- },
2242
+ }
2243
+ ]
2244
+ },
2245
+ {
2246
+ "kind": "javascript-module",
2247
+ "path": "src/calendar/localization.ts",
2248
+ "declarations": [
2495
2249
  {
2496
- "kind": "custom-element-definition",
2497
- "name": "nord-checkbox",
2250
+ "kind": "variable",
2251
+ "name": "calendarLocalization",
2252
+ "type": {
2253
+ "text": "object"
2254
+ },
2255
+ "default": "{ prevMonthLabel: \"Previous month\", nextMonthLabel: \"Next month\", monthSelectLabel: \"Month\", yearSelectLabel: \"Year\", }"
2256
+ }
2257
+ ],
2258
+ "exports": [
2259
+ {
2260
+ "kind": "js",
2261
+ "name": "default",
2498
2262
  "declaration": {
2499
- "name": "Checkbox",
2500
- "module": "src/checkbox/Checkbox.ts"
2263
+ "name": "calendarLocalization",
2264
+ "module": "src/calendar/localization.ts"
2501
2265
  }
2502
2266
  }
2503
2267
  ]
2504
2268
  },
2505
2269
  {
2506
2270
  "kind": "javascript-module",
2507
- "path": "src/calendar/Calendar.ts",
2271
+ "path": "src/checkbox/Checkbox.ts",
2508
2272
  "declarations": [
2509
2273
  {
2510
2274
  "kind": "class",
2511
- "description": "Calendar allows user to pick a date. It comes with built-in\nfunctionality that allows you to set a minimum and a maximum allowed date.\nPlease note that the date must be passed in ISO-8601 format.",
2512
- "name": "Calendar",
2275
+ "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.",
2276
+ "name": "Checkbox",
2513
2277
  "cssProperties": [
2514
2278
  {
2515
- "description": "Controls how rounded the corners are, using [border radius tokens](/tokens/#border-radius).",
2516
- "name": "--n-calendar-border-radius",
2517
- "default": "var(--n-border-radius)"
2279
+ "description": "Controls the text color of the label, using our [color tokens](/tokens/#color).",
2280
+ "name": "--n-label-color",
2281
+ "default": "var(--n-color-text)"
2282
+ }
2283
+ ],
2284
+ "slots": [
2285
+ {
2286
+ "description": "Use when a label requires more than plain text.",
2287
+ "name": "label"
2518
2288
  },
2519
2289
  {
2520
- "description": "Controls the surrounding shadow, using [box shadow tokens](/tokens/#box-shadow).",
2521
- "name": "--n-calendar-box-shadow",
2522
- "default": "var(--n-box-shadow-popout)"
2290
+ "description": "Optional slot that holds hint text for the input.",
2291
+ "name": "hint"
2292
+ },
2293
+ {
2294
+ "description": "Optional slot that holds error text for the input.",
2295
+ "name": "error"
2523
2296
  }
2524
2297
  ],
2525
2298
  "members": [
2526
2299
  {
2527
2300
  "kind": "field",
2528
- "name": "monthSelectNode",
2529
- "type": {
2530
- "text": "HTMLElement"
2531
- },
2532
- "privacy": "private"
2301
+ "name": "formValue",
2302
+ "privacy": "protected",
2303
+ "readonly": true,
2304
+ "inheritedFrom": {
2305
+ "name": "FormAssociatedMixin",
2306
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2307
+ }
2533
2308
  },
2534
2309
  {
2535
2310
  "kind": "field",
2536
- "name": "focusedDayNode",
2311
+ "name": "indeterminate",
2537
2312
  "type": {
2538
- "text": "HTMLButtonElement"
2313
+ "text": "boolean"
2539
2314
  },
2540
- "privacy": "private"
2541
- },
2542
- {
2543
- "kind": "field",
2544
- "name": "direction",
2545
- "privacy": "private",
2546
- "default": "new DirectionController(this)"
2315
+ "default": "false",
2316
+ "description": "Controls whether the checkbox is in an indeterminate state.",
2317
+ "attribute": "indeterminate",
2318
+ "reflects": true
2547
2319
  },
2548
2320
  {
2549
2321
  "kind": "field",
2550
- "name": "swipe",
2551
- "privacy": "private",
2552
- "default": "new SwipeController(this, { matchesGesture: isHorizontalSwipe, onSwipeEnd: ({ distX }) => this.addMonths(distX < 0 ? 1 : -1), })"
2322
+ "name": "checked",
2323
+ "type": {
2324
+ "text": "boolean"
2325
+ },
2326
+ "default": "false",
2327
+ "description": "Controls whether the checkbox is checked or not.",
2328
+ "attribute": "checked",
2329
+ "reflects": true
2553
2330
  },
2554
2331
  {
2555
- "kind": "field",
2556
- "name": "shortcuts",
2557
- "privacy": "private"
2332
+ "kind": "method",
2333
+ "name": "handleChange",
2334
+ "privacy": "protected",
2335
+ "parameters": [
2336
+ {
2337
+ "name": "e",
2338
+ "type": {
2339
+ "text": "Event"
2340
+ }
2341
+ }
2342
+ ],
2343
+ "return": {
2344
+ "type": {
2345
+ "text": "void"
2346
+ }
2347
+ },
2348
+ "inheritedFrom": {
2349
+ "name": "FormAssociatedMixin",
2350
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2351
+ }
2558
2352
  },
2559
2353
  {
2560
2354
  "kind": "field",
2561
- "name": "localize",
2562
- "privacy": "private",
2563
- "default": "new LocalizeController<\"nord-calendar\">(this, { onLangChange: () => this.handleLangChange(), })"
2355
+ "name": "size",
2356
+ "type": {
2357
+ "text": "\"s\" | \"m\" | \"l\""
2358
+ },
2359
+ "default": "\"m\"",
2360
+ "description": "The size of the component.",
2361
+ "attribute": "size",
2362
+ "reflects": true,
2363
+ "inheritedFrom": {
2364
+ "name": "SizeMixin",
2365
+ "module": "src/common/mixins/SizeMixin.ts"
2366
+ }
2564
2367
  },
2565
2368
  {
2566
2369
  "kind": "field",
2567
- "name": "dateFormatShort",
2568
- "type": {
2569
- "text": "Intl.DateTimeFormat"
2570
- },
2571
- "privacy": "private",
2572
- "description": "Whilst dateAdapter is used for handling the formatting/parsing dates in the input,\nthese are used to format dates exclusively for the benefit of screen readers.\n\nWe prefer DateTimeFormat over date.toLocaleDateString, as the former has\nbetter performance when formatting large number of dates. See:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString#Performance"
2370
+ "name": "labelSlot",
2371
+ "privacy": "protected",
2372
+ "default": "new SlotController(this, \"label\")",
2373
+ "inheritedFrom": {
2374
+ "name": "FormAssociatedMixin",
2375
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2376
+ }
2573
2377
  },
2574
2378
  {
2575
2379
  "kind": "field",
2576
- "name": "monthNames",
2577
- "type": {
2578
- "text": "string[]"
2579
- },
2580
- "privacy": "private"
2380
+ "name": "errorSlot",
2381
+ "privacy": "protected",
2382
+ "default": "new SlotController(this, \"error\")",
2383
+ "inheritedFrom": {
2384
+ "name": "FormAssociatedMixin",
2385
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2386
+ }
2581
2387
  },
2582
2388
  {
2583
2389
  "kind": "field",
2584
- "name": "monthNamesShort",
2585
- "type": {
2586
- "text": "string[]"
2587
- },
2588
- "privacy": "private"
2390
+ "name": "hintSlot",
2391
+ "privacy": "protected",
2392
+ "default": "new SlotController(this, \"hint\")",
2393
+ "inheritedFrom": {
2394
+ "name": "FormAssociatedMixin",
2395
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2396
+ }
2589
2397
  },
2590
2398
  {
2591
2399
  "kind": "field",
2592
- "name": "dayNames",
2593
- "type": {
2594
- "text": "string[]"
2595
- },
2596
- "privacy": "private"
2400
+ "name": "formData",
2401
+ "privacy": "protected",
2402
+ "default": "new FormDataController(this, { value: () => this.formValue })",
2403
+ "inheritedFrom": {
2404
+ "name": "FormAssociatedMixin",
2405
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2406
+ }
2597
2407
  },
2598
2408
  {
2599
2409
  "kind": "field",
2600
- "name": "dayNamesShort",
2410
+ "name": "inputId",
2601
2411
  "type": {
2602
- "text": "string[]"
2412
+ "text": "string"
2603
2413
  },
2604
- "privacy": "private"
2414
+ "privacy": "protected",
2415
+ "default": "\"input\"",
2416
+ "inheritedFrom": {
2417
+ "name": "FormAssociatedMixin",
2418
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2419
+ }
2605
2420
  },
2606
2421
  {
2607
2422
  "kind": "field",
2608
- "name": "value",
2423
+ "name": "errorId",
2609
2424
  "type": {
2610
2425
  "text": "string"
2611
2426
  },
2612
- "default": "\"\"",
2613
- "description": "The selected date on the calendar. Must be in IS0-8601 format: YYYY-MM-DD.",
2614
- "attribute": "value"
2427
+ "privacy": "protected",
2428
+ "default": "\"error\"",
2429
+ "inheritedFrom": {
2430
+ "name": "FormAssociatedMixin",
2431
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2432
+ }
2615
2433
  },
2616
2434
  {
2617
2435
  "kind": "field",
2618
- "name": "firstDayOfWeek",
2436
+ "name": "hintId",
2619
2437
  "type": {
2620
- "text": "DaysOfWeek"
2438
+ "text": "string"
2621
2439
  },
2622
- "description": "Which day is considered first day of the week? `0` for Sunday, `1` for Monday, etc.\nDefault is Monday.",
2623
- "attribute": "first-day-of-week",
2624
- "reflects": true
2440
+ "privacy": "protected",
2441
+ "default": "\"hint\"",
2442
+ "inheritedFrom": {
2443
+ "name": "FormAssociatedMixin",
2444
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2445
+ }
2625
2446
  },
2626
2447
  {
2627
2448
  "kind": "field",
2628
- "name": "min",
2449
+ "name": "label",
2629
2450
  "type": {
2630
- "text": "string | undefined"
2451
+ "text": "string"
2631
2452
  },
2632
- "description": "Minimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\nThis setting can be used alone or together with the max property.",
2633
- "attribute": "min",
2634
- "reflects": true
2453
+ "default": "\"\"",
2454
+ "description": "Label for the input.",
2455
+ "attribute": "label",
2456
+ "reflects": true,
2457
+ "inheritedFrom": {
2458
+ "name": "FormAssociatedMixin",
2459
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2460
+ }
2635
2461
  },
2636
2462
  {
2637
2463
  "kind": "field",
2638
- "name": "max",
2464
+ "name": "hint",
2639
2465
  "type": {
2640
2466
  "text": "string | undefined"
2641
2467
  },
2642
- "description": "Maximum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\nThis setting can be used alone or together with the min property.",
2643
- "attribute": "max",
2644
- "reflects": true
2468
+ "description": "Optional hint text to be displayed with the input. Alternatively use the hint slot.",
2469
+ "attribute": "hint",
2470
+ "reflects": true,
2471
+ "inheritedFrom": {
2472
+ "name": "FormAssociatedMixin",
2473
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2474
+ }
2645
2475
  },
2646
2476
  {
2647
2477
  "kind": "field",
2648
- "name": "expand",
2478
+ "name": "hideLabel",
2649
2479
  "type": {
2650
2480
  "text": "boolean"
2651
2481
  },
2652
2482
  "default": "false",
2653
- "description": "Controls whether the calendar expands to fill the width of its container.",
2654
- "attribute": "expand",
2655
- "reflects": true
2483
+ "description": "Visually hide the label, but still show it to assistive technologies like screen readers.",
2484
+ "attribute": "hide-label",
2485
+ "reflects": true,
2486
+ "inheritedFrom": {
2487
+ "name": "FormAssociatedMixin",
2488
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2489
+ }
2656
2490
  },
2657
2491
  {
2658
2492
  "kind": "field",
2659
- "name": "isDateDisabled",
2493
+ "name": "placeholder",
2660
2494
  "type": {
2661
- "text": "DatePredicate"
2495
+ "text": "string | undefined"
2662
2496
  },
2663
- "default": "isDateDisabled",
2664
- "description": "Controls which days are disabled and therefore disallowed.\nFor example, this can be used to disallow selection of weekends."
2497
+ "description": "Placeholder text to display within the input.",
2498
+ "attribute": "placeholder",
2499
+ "reflects": true,
2500
+ "inheritedFrom": {
2501
+ "name": "FormAssociatedMixin",
2502
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2503
+ }
2665
2504
  },
2666
2505
  {
2667
2506
  "kind": "field",
2668
- "name": "isDateHighlighted",
2507
+ "name": "error",
2669
2508
  "type": {
2670
- "text": "(date: Date) => string | boolean"
2509
+ "text": "string | undefined"
2671
2510
  },
2672
- "default": "isDateHighlighted",
2673
- "description": "Controls which days are highlighted with a small indicator.\nReturning a \"falsy\" value will not show an indicator.\nReturning \"truthy\" value will show the indicator, but without an accessible label.\nReturning a string will show the indicator, and use the string as accessible label.\nIt is recommended to return a string rather than a truthy value whenever possible."
2511
+ "description": "Optional error to be shown with the input. Alternatively use the error slot.",
2512
+ "attribute": "error",
2513
+ "reflects": true,
2514
+ "inheritedFrom": {
2515
+ "name": "FormAssociatedMixin",
2516
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2517
+ }
2674
2518
  },
2675
2519
  {
2676
2520
  "kind": "field",
2677
- "name": "activeFocus",
2521
+ "name": "required",
2678
2522
  "type": {
2679
2523
  "text": "boolean"
2680
2524
  },
2681
- "privacy": "private",
2682
- "default": "false"
2525
+ "default": "false",
2526
+ "description": "Determines whether the input is required or not.\nAn input marked as required will be announced as such to users of assistive technology.\nWhen using this property you need to also set “novalidate” attribute on a form element to prevent browser from displaying its own validation errors.",
2527
+ "attribute": "required",
2528
+ "reflects": true,
2529
+ "inheritedFrom": {
2530
+ "name": "FormAssociatedMixin",
2531
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2532
+ }
2683
2533
  },
2684
2534
  {
2685
2535
  "kind": "field",
2686
- "name": "focusedDay",
2687
- "privacy": "private",
2688
- "default": "new Date()"
2536
+ "name": "hideRequired",
2537
+ "type": {
2538
+ "text": "boolean"
2539
+ },
2540
+ "default": "false",
2541
+ "description": "Visually hide the required indicator, but still show\nrequired attribute to assistive technologies like screen readers.",
2542
+ "attribute": "hide-required",
2543
+ "reflects": true,
2544
+ "inheritedFrom": {
2545
+ "name": "FormAssociatedMixin",
2546
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2547
+ }
2689
2548
  },
2690
2549
  {
2691
2550
  "kind": "method",
2692
- "name": "focus",
2551
+ "name": "handleInput",
2552
+ "privacy": "protected",
2693
2553
  "parameters": [
2694
2554
  {
2695
- "name": "options",
2555
+ "name": "e",
2556
+ "type": {
2557
+ "text": "Event"
2558
+ }
2559
+ }
2560
+ ],
2561
+ "inheritedFrom": {
2562
+ "name": "FormAssociatedMixin",
2563
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2564
+ }
2565
+ },
2566
+ {
2567
+ "kind": "method",
2568
+ "name": "renderLabel",
2569
+ "privacy": "protected",
2570
+ "parameters": [
2571
+ {
2572
+ "name": "additionalContent",
2696
2573
  "optional": true,
2697
2574
  "type": {
2698
- "text": "FocusOptions & { target: \"day\" | \"month\" }"
2699
- },
2700
- "description": "An object which controls aspects of the focusing process."
2575
+ "text": "TemplateResult"
2576
+ }
2701
2577
  }
2702
2578
  ],
2703
- "description": "Programmatically move focus to the calendar."
2579
+ "inheritedFrom": {
2580
+ "name": "FormAssociatedMixin",
2581
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2582
+ }
2704
2583
  },
2705
2584
  {
2706
2585
  "kind": "method",
2707
- "name": "handleValueChange",
2708
- "privacy": "protected"
2586
+ "name": "renderError",
2587
+ "privacy": "protected",
2588
+ "inheritedFrom": {
2589
+ "name": "FormAssociatedMixin",
2590
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2591
+ }
2709
2592
  },
2710
2593
  {
2711
2594
  "kind": "method",
2712
- "name": "handleFocusedDayChange",
2713
- "privacy": "protected"
2595
+ "name": "getDescribedBy",
2596
+ "privacy": "protected",
2597
+ "inheritedFrom": {
2598
+ "name": "FormAssociatedMixin",
2599
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2600
+ }
2714
2601
  },
2715
2602
  {
2716
2603
  "kind": "method",
2717
- "name": "handleLangChange",
2718
- "privacy": "private"
2604
+ "name": "getInvalid",
2605
+ "privacy": "protected",
2606
+ "inheritedFrom": {
2607
+ "name": "FormAssociatedMixin",
2608
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2609
+ }
2719
2610
  },
2720
2611
  {
2721
2612
  "kind": "field",
2722
- "name": "handleDaySelect",
2723
- "privacy": "private"
2613
+ "name": "hasHint",
2614
+ "privacy": "protected",
2615
+ "readonly": true,
2616
+ "inheritedFrom": {
2617
+ "name": "FormAssociatedMixin",
2618
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2619
+ }
2724
2620
  },
2725
2621
  {
2726
- "kind": "method",
2727
- "name": "addDays",
2728
- "privacy": "private",
2729
- "parameters": [
2730
- {
2731
- "name": "days",
2732
- "type": {
2733
- "text": "number"
2734
- }
2735
- }
2736
- ]
2622
+ "kind": "field",
2623
+ "name": "hasError",
2624
+ "privacy": "protected",
2625
+ "readonly": true,
2626
+ "inheritedFrom": {
2627
+ "name": "FormAssociatedMixin",
2628
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2629
+ }
2737
2630
  },
2738
2631
  {
2739
- "kind": "method",
2740
- "name": "addMonths",
2741
- "privacy": "private",
2742
- "parameters": [
2743
- {
2744
- "name": "months",
2745
- "type": {
2746
- "text": "number"
2747
- }
2748
- }
2749
- ]
2632
+ "kind": "field",
2633
+ "name": "disabled",
2634
+ "type": {
2635
+ "text": "boolean"
2636
+ },
2637
+ "default": "false",
2638
+ "description": "Makes the component disabled. This prevents users from\nbeing able to interact with the component, and conveys\nits inactive state to assistive technologies.",
2639
+ "attribute": "disabled",
2640
+ "reflects": true,
2641
+ "inheritedFrom": {
2642
+ "name": "InputMixin",
2643
+ "module": "src/common/mixins/InputMixin.ts"
2644
+ }
2750
2645
  },
2751
2646
  {
2752
- "kind": "method",
2753
- "name": "addYears",
2647
+ "kind": "field",
2648
+ "name": "name",
2649
+ "type": {
2650
+ "text": "string | undefined"
2651
+ },
2652
+ "description": "The name of the form component.",
2653
+ "attribute": "name",
2654
+ "reflects": true,
2655
+ "inheritedFrom": {
2656
+ "name": "InputMixin",
2657
+ "module": "src/common/mixins/InputMixin.ts"
2658
+ }
2659
+ },
2660
+ {
2661
+ "kind": "field",
2662
+ "name": "value",
2663
+ "type": {
2664
+ "text": "string"
2665
+ },
2666
+ "default": "\"\"",
2667
+ "description": "The value of the form component.",
2668
+ "attribute": "value",
2669
+ "inheritedFrom": {
2670
+ "name": "InputMixin",
2671
+ "module": "src/common/mixins/InputMixin.ts"
2672
+ }
2673
+ },
2674
+ {
2675
+ "kind": "field",
2676
+ "name": "formAncestor",
2677
+ "type": {
2678
+ "text": "HTMLFormElement | null"
2679
+ },
2754
2680
  "privacy": "private",
2755
- "parameters": [
2756
- {
2757
- "name": "years",
2758
- "type": {
2759
- "text": "number"
2760
- }
2761
- }
2762
- ]
2681
+ "default": "null",
2682
+ "inheritedFrom": {
2683
+ "name": "InputMixin",
2684
+ "module": "src/common/mixins/InputMixin.ts"
2685
+ }
2763
2686
  },
2764
2687
  {
2765
- "kind": "method",
2766
- "name": "startOfWeek",
2767
- "privacy": "private"
2688
+ "kind": "field",
2689
+ "name": "_formId",
2690
+ "type": {
2691
+ "text": "string | undefined"
2692
+ },
2693
+ "privacy": "protected",
2694
+ "inheritedFrom": {
2695
+ "name": "InputMixin",
2696
+ "module": "src/common/mixins/InputMixin.ts"
2697
+ }
2768
2698
  },
2769
2699
  {
2770
- "kind": "method",
2771
- "name": "endOfWeek",
2772
- "privacy": "private"
2700
+ "kind": "field",
2701
+ "name": "form",
2702
+ "type": {
2703
+ "text": "HTMLFormElement | null"
2704
+ },
2705
+ "description": "Gets the form, if any, associated with the form element.\nThe setter accepts a string, which is the id of the form.",
2706
+ "attribute": "form",
2707
+ "inheritedFrom": {
2708
+ "name": "InputMixin",
2709
+ "module": "src/common/mixins/InputMixin.ts"
2710
+ }
2711
+ },
2712
+ {
2713
+ "kind": "field",
2714
+ "name": "focusableRef",
2715
+ "privacy": "protected",
2716
+ "inheritedFrom": {
2717
+ "name": "FocusableMixin",
2718
+ "module": "src/common/mixins/FocusableMixin.ts"
2719
+ }
2773
2720
  },
2774
2721
  {
2775
2722
  "kind": "method",
2776
- "name": "setMonth",
2777
- "privacy": "private",
2723
+ "name": "focus",
2778
2724
  "parameters": [
2779
2725
  {
2780
- "name": "month",
2726
+ "name": "options",
2727
+ "optional": true,
2781
2728
  "type": {
2782
- "text": "number"
2783
- }
2729
+ "text": "FocusOptions"
2730
+ },
2731
+ "description": "An object which controls aspects of the focusing process."
2784
2732
  }
2785
- ]
2733
+ ],
2734
+ "description": "Programmatically move focus to the component.",
2735
+ "inheritedFrom": {
2736
+ "name": "FocusableMixin",
2737
+ "module": "src/common/mixins/FocusableMixin.ts"
2738
+ }
2786
2739
  },
2787
2740
  {
2788
2741
  "kind": "method",
2789
- "name": "setYear",
2790
- "privacy": "private",
2791
- "parameters": [
2792
- {
2793
- "name": "year",
2794
- "type": {
2795
- "text": "number"
2796
- }
2797
- }
2798
- ]
2742
+ "name": "blur",
2743
+ "description": "Programmatically remove focus from the component.",
2744
+ "inheritedFrom": {
2745
+ "name": "FocusableMixin",
2746
+ "module": "src/common/mixins/FocusableMixin.ts"
2747
+ }
2799
2748
  },
2800
2749
  {
2801
2750
  "kind": "method",
2802
- "name": "setFocusedDay",
2803
- "privacy": "private",
2804
- "parameters": [
2805
- {
2806
- "name": "day",
2807
- "type": {
2808
- "text": "Date"
2809
- }
2810
- }
2811
- ]
2751
+ "name": "click",
2752
+ "description": "Programmatically simulates a click on the component.",
2753
+ "inheritedFrom": {
2754
+ "name": "FocusableMixin",
2755
+ "module": "src/common/mixins/FocusableMixin.ts"
2756
+ }
2757
+ }
2758
+ ],
2759
+ "attributes": [
2760
+ {
2761
+ "name": "indeterminate",
2762
+ "type": {
2763
+ "text": "boolean"
2764
+ },
2765
+ "default": "false",
2766
+ "description": "Controls whether the checkbox is in an indeterminate state.",
2767
+ "fieldName": "indeterminate"
2812
2768
  },
2813
2769
  {
2814
- "kind": "field",
2815
- "name": "handleMonthSelect",
2816
- "privacy": "private"
2770
+ "name": "checked",
2771
+ "type": {
2772
+ "text": "boolean"
2773
+ },
2774
+ "default": "false",
2775
+ "description": "Controls whether the checkbox is checked or not.",
2776
+ "fieldName": "checked"
2817
2777
  },
2818
2778
  {
2819
- "kind": "field",
2820
- "name": "handleYearSelect",
2821
- "privacy": "private"
2779
+ "name": "size",
2780
+ "type": {
2781
+ "text": "\"s\" | \"m\" | \"l\""
2782
+ },
2783
+ "default": "\"m\"",
2784
+ "description": "The size of the component.",
2785
+ "fieldName": "size",
2786
+ "inheritedFrom": {
2787
+ "name": "SizeMixin",
2788
+ "module": "src/common/mixins/SizeMixin.ts"
2789
+ }
2822
2790
  },
2823
2791
  {
2824
- "kind": "field",
2825
- "name": "handleNextMonthClick",
2826
- "privacy": "private"
2792
+ "name": "label",
2793
+ "type": {
2794
+ "text": "string"
2795
+ },
2796
+ "default": "\"\"",
2797
+ "description": "Label for the input.",
2798
+ "fieldName": "label",
2799
+ "inheritedFrom": {
2800
+ "name": "FormAssociatedMixin",
2801
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2802
+ }
2827
2803
  },
2828
2804
  {
2829
- "kind": "field",
2830
- "name": "handlePreviousMonthClick",
2831
- "privacy": "private"
2805
+ "name": "hint",
2806
+ "type": {
2807
+ "text": "string | undefined"
2808
+ },
2809
+ "description": "Optional hint text to be displayed with the input. Alternatively use the hint slot.",
2810
+ "fieldName": "hint",
2811
+ "inheritedFrom": {
2812
+ "name": "FormAssociatedMixin",
2813
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2814
+ }
2832
2815
  },
2833
2816
  {
2834
- "kind": "field",
2835
- "name": "enableActiveFocus",
2836
- "privacy": "private"
2817
+ "name": "hide-label",
2818
+ "type": {
2819
+ "text": "boolean"
2820
+ },
2821
+ "default": "false",
2822
+ "description": "Visually hide the label, but still show it to assistive technologies like screen readers.",
2823
+ "fieldName": "hideLabel",
2824
+ "inheritedFrom": {
2825
+ "name": "FormAssociatedMixin",
2826
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2827
+ }
2837
2828
  },
2838
2829
  {
2839
- "kind": "field",
2840
- "name": "disableActiveFocus",
2841
- "privacy": "private"
2842
- }
2843
- ],
2844
- "events": [
2830
+ "name": "placeholder",
2831
+ "type": {
2832
+ "text": "string | undefined"
2833
+ },
2834
+ "description": "Placeholder text to display within the input.",
2835
+ "fieldName": "placeholder",
2836
+ "inheritedFrom": {
2837
+ "name": "FormAssociatedMixin",
2838
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2839
+ }
2840
+ },
2845
2841
  {
2846
- "name": "nord-focus-date",
2842
+ "name": "error",
2847
2843
  "type": {
2848
- "text": "DateSelectEvent"
2844
+ "text": "string | undefined"
2849
2845
  },
2850
- "description": "Dispatched when the calendar's focused date changes."
2846
+ "description": "Optional error to be shown with the input. Alternatively use the error slot.",
2847
+ "fieldName": "error",
2848
+ "inheritedFrom": {
2849
+ "name": "FormAssociatedMixin",
2850
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2851
+ }
2851
2852
  },
2852
2853
  {
2854
+ "name": "required",
2853
2855
  "type": {
2854
- "text": "DateSelectEvent"
2856
+ "text": "boolean"
2855
2857
  },
2856
- "description": "Dispatched when a date is selected and the value changes.",
2857
- "name": "change"
2858
- }
2859
- ],
2860
- "attributes": [
2858
+ "default": "false",
2859
+ "description": "Determines whether the input is required or not.\nAn input marked as required will be announced as such to users of assistive technology.\nWhen using this property you need to also set “novalidate” attribute on a form element to prevent browser from displaying its own validation errors.",
2860
+ "fieldName": "required",
2861
+ "inheritedFrom": {
2862
+ "name": "FormAssociatedMixin",
2863
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2864
+ }
2865
+ },
2861
2866
  {
2862
- "name": "value",
2867
+ "name": "hide-required",
2863
2868
  "type": {
2864
- "text": "string"
2869
+ "text": "boolean"
2865
2870
  },
2866
- "default": "\"\"",
2867
- "description": "The selected date on the calendar. Must be in IS0-8601 format: YYYY-MM-DD.",
2868
- "fieldName": "value"
2871
+ "default": "false",
2872
+ "description": "Visually hide the required indicator, but still show\nrequired attribute to assistive technologies like screen readers.",
2873
+ "fieldName": "hideRequired",
2874
+ "inheritedFrom": {
2875
+ "name": "FormAssociatedMixin",
2876
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2877
+ }
2869
2878
  },
2870
2879
  {
2871
- "name": "first-day-of-week",
2880
+ "name": "disabled",
2872
2881
  "type": {
2873
- "text": "DaysOfWeek"
2882
+ "text": "boolean"
2874
2883
  },
2875
- "description": "Which day is considered first day of the week? `0` for Sunday, `1` for Monday, etc.\nDefault is Monday.",
2876
- "fieldName": "firstDayOfWeek"
2884
+ "default": "false",
2885
+ "description": "Makes the component disabled. This prevents users from\nbeing able to interact with the component, and conveys\nits inactive state to assistive technologies.",
2886
+ "fieldName": "disabled",
2887
+ "inheritedFrom": {
2888
+ "name": "InputMixin",
2889
+ "module": "src/common/mixins/InputMixin.ts"
2890
+ }
2877
2891
  },
2878
2892
  {
2879
- "name": "min",
2893
+ "name": "name",
2880
2894
  "type": {
2881
2895
  "text": "string | undefined"
2882
2896
  },
2883
- "description": "Minimum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\nThis setting can be used alone or together with the max property.",
2884
- "fieldName": "min"
2897
+ "description": "The name of the form component.",
2898
+ "fieldName": "name",
2899
+ "inheritedFrom": {
2900
+ "name": "InputMixin",
2901
+ "module": "src/common/mixins/InputMixin.ts"
2902
+ }
2885
2903
  },
2886
2904
  {
2887
- "name": "max",
2905
+ "name": "value",
2888
2906
  "type": {
2889
- "text": "string | undefined"
2907
+ "text": "string"
2890
2908
  },
2891
- "description": "Maximum date allowed to be picked. Must be in IS0-8601 format: YYYY-MM-DD.\nThis setting can be used alone or together with the min property.",
2892
- "fieldName": "max"
2909
+ "default": "\"\"",
2910
+ "description": "The value of the form component.",
2911
+ "fieldName": "value",
2912
+ "inheritedFrom": {
2913
+ "name": "InputMixin",
2914
+ "module": "src/common/mixins/InputMixin.ts"
2915
+ }
2893
2916
  },
2894
2917
  {
2895
- "name": "expand",
2918
+ "name": "form",
2896
2919
  "type": {
2897
- "text": "boolean"
2920
+ "text": "HTMLFormElement | null"
2898
2921
  },
2899
- "default": "false",
2900
- "description": "Controls whether the calendar expands to fill the width of its container.",
2901
- "fieldName": "expand"
2922
+ "description": "Gets the form, if any, associated with the form element.\nThe setter accepts a string, which is the id of the form.",
2923
+ "fieldName": "form",
2924
+ "inheritedFrom": {
2925
+ "name": "InputMixin",
2926
+ "module": "src/common/mixins/InputMixin.ts"
2927
+ }
2902
2928
  }
2903
2929
  ],
2904
- "superclass": {
2905
- "name": "LitElement",
2906
- "package": "lit"
2907
- },
2908
- "localization": [
2930
+ "mixins": [
2909
2931
  {
2910
- "name": "prevMonthLabel",
2911
- "description": "Accessible label for the previous month button."
2932
+ "name": "SizeMixin",
2933
+ "module": "/src/common/mixins/SizeMixin.js"
2912
2934
  },
2913
2935
  {
2914
- "name": "nextMonthLabel",
2915
- "description": "Accessible label for the next month button."
2936
+ "name": "FormAssociatedMixin",
2937
+ "module": "/src/common/mixins/FormAssociatedMixin.js"
2916
2938
  },
2917
2939
  {
2918
- "name": "monthSelectLabel",
2919
- "description": "Accessible label for the month select."
2940
+ "name": "InputMixin",
2941
+ "module": "/src/common/mixins/InputMixin.js"
2920
2942
  },
2921
2943
  {
2922
- "name": "yearSelectLabel",
2923
- "description": "Accessible label for the year select."
2944
+ "name": "FocusableMixin",
2945
+ "module": "/src/common/mixins/FocusableMixin.js"
2924
2946
  }
2925
2947
  ],
2948
+ "superclass": {
2949
+ "name": "LitElement",
2950
+ "package": "lit"
2951
+ },
2952
+ "localization": [],
2926
2953
  "status": "ready",
2927
- "category": "list",
2928
- "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",
2954
+ "category": "form",
2955
+ "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",
2929
2956
  "examples": [],
2930
2957
  "dependencies": [
2931
- "button",
2932
- "visually-hidden",
2933
2958
  "icon"
2934
2959
  ],
2935
- "tagName": "nord-calendar",
2936
- "customElement": true
2960
+ "tagName": "nord-checkbox",
2961
+ "customElement": true,
2962
+ "events": [
2963
+ {
2964
+ "name": "input",
2965
+ "type": {
2966
+ "text": "NordEvent"
2967
+ },
2968
+ "description": "Fired as the user types into the input.",
2969
+ "inheritedFrom": {
2970
+ "name": "FormAssociatedMixin",
2971
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2972
+ }
2973
+ },
2974
+ {
2975
+ "name": "change",
2976
+ "type": {
2977
+ "text": "NordEvent"
2978
+ },
2979
+ "description": "Fired whenever the input's value is changed via user interaction.",
2980
+ "inheritedFrom": {
2981
+ "name": "FormAssociatedMixin",
2982
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2983
+ }
2984
+ }
2985
+ ]
2937
2986
  }
2938
2987
  ],
2939
2988
  "exports": [
@@ -2941,65 +2990,16 @@
2941
2990
  "kind": "js",
2942
2991
  "name": "default",
2943
2992
  "declaration": {
2944
- "name": "Calendar",
2945
- "module": "src/calendar/Calendar.ts"
2993
+ "name": "Checkbox",
2994
+ "module": "src/checkbox/Checkbox.ts"
2946
2995
  }
2947
2996
  },
2948
2997
  {
2949
2998
  "kind": "custom-element-definition",
2950
- "name": "nord-calendar",
2951
- "declaration": {
2952
- "name": "Calendar",
2953
- "module": "src/calendar/Calendar.ts"
2954
- }
2955
- }
2956
- ]
2957
- },
2958
- {
2959
- "kind": "javascript-module",
2960
- "path": "src/calendar/DateSelectEvent.ts",
2961
- "declarations": [
2962
- {
2963
- "kind": "class",
2964
- "description": "",
2965
- "name": "DateSelectEvent",
2966
- "superclass": {
2967
- "name": "NordEvent",
2968
- "module": "/src/common/events.js"
2969
- }
2970
- }
2971
- ],
2972
- "exports": [
2973
- {
2974
- "kind": "js",
2975
- "name": "DateSelectEvent",
2976
- "declaration": {
2977
- "name": "DateSelectEvent",
2978
- "module": "src/calendar/DateSelectEvent.ts"
2979
- }
2980
- }
2981
- ]
2982
- },
2983
- {
2984
- "kind": "javascript-module",
2985
- "path": "src/calendar/localization.ts",
2986
- "declarations": [
2987
- {
2988
- "kind": "variable",
2989
- "name": "calendarLocalization",
2990
- "type": {
2991
- "text": "object"
2992
- },
2993
- "default": "{ prevMonthLabel: \"Previous month\", nextMonthLabel: \"Next month\", monthSelectLabel: \"Month\", yearSelectLabel: \"Year\", }"
2994
- }
2995
- ],
2996
- "exports": [
2997
- {
2998
- "kind": "js",
2999
- "name": "default",
2999
+ "name": "nord-checkbox",
3000
3000
  "declaration": {
3001
- "name": "calendarLocalization",
3002
- "module": "src/calendar/localization.ts"
3001
+ "name": "Checkbox",
3002
+ "module": "src/checkbox/Checkbox.ts"
3003
3003
  }
3004
3004
  }
3005
3005
  ]
@@ -10732,63 +10732,6 @@
10732
10732
  }
10733
10733
  ]
10734
10734
  },
10735
- {
10736
- "kind": "javascript-module",
10737
- "path": "src/notification-group/NotificationGroup.ts",
10738
- "declarations": [
10739
- {
10740
- "kind": "class",
10741
- "description": "Notification group is used to position and style a group of notifications.",
10742
- "name": "NotificationGroup",
10743
- "slots": [
10744
- {
10745
- "description": "Default slot in which to place notifications.",
10746
- "name": ""
10747
- }
10748
- ],
10749
- "members": [],
10750
- "events": [
10751
- {
10752
- "type": {
10753
- "text": "NordEvent"
10754
- },
10755
- "description": "Fired when a notification is dismissed, and its exit animation has completed. This event should be used to remove the dismissed notification from the DOM.",
10756
- "name": "dismiss"
10757
- }
10758
- ],
10759
- "superclass": {
10760
- "name": "LitElement",
10761
- "package": "lit"
10762
- },
10763
- "localization": [],
10764
- "status": "ready",
10765
- "category": "feedback",
10766
- "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\">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",
10767
- "examples": [],
10768
- "dependencies": [],
10769
- "tagName": "nord-notification-group",
10770
- "customElement": true
10771
- }
10772
- ],
10773
- "exports": [
10774
- {
10775
- "kind": "js",
10776
- "name": "default",
10777
- "declaration": {
10778
- "name": "NotificationGroup",
10779
- "module": "src/notification-group/NotificationGroup.ts"
10780
- }
10781
- },
10782
- {
10783
- "kind": "custom-element-definition",
10784
- "name": "nord-notification-group",
10785
- "declaration": {
10786
- "name": "NotificationGroup",
10787
- "module": "src/notification-group/NotificationGroup.ts"
10788
- }
10789
- }
10790
- ]
10791
- },
10792
10735
  {
10793
10736
  "kind": "javascript-module",
10794
10737
  "path": "src/notification/Notification.ts",
@@ -10932,141 +10875,26 @@
10932
10875
  },
10933
10876
  {
10934
10877
  "kind": "javascript-module",
10935
- "path": "src/progress-bar/ProgressBar.ts",
10878
+ "path": "src/notification-group/NotificationGroup.ts",
10936
10879
  "declarations": [
10937
- {
10938
- "kind": "class",
10939
- "description": "Progress Bar is used to visually represent the completion\nof a task or process. It shows how much of the task has\nbeen completed and how much is still left.",
10940
- "name": "ProgressBar",
10941
- "cssProperties": [
10942
- {
10943
- "description": "Controls the thickness of the progress bar, using our [spacing tokens](/tokens/#space).",
10944
- "name": "--n-progress-size",
10945
- "default": "var(--n-space-s)"
10946
- },
10947
- {
10948
- "description": "Controls how rounded the corners are, using [border radius tokens](/tokens/#border-radius).",
10949
- "name": "--n-progress-border-radius",
10950
- "default": "var(--n-border-radius-s)"
10951
- },
10952
- {
10953
- "description": "Controls the color of the progress bar, using [color tokens](/tokens/#color).",
10954
- "name": "--n-progress-color",
10955
- "default": "var(--n-color-accent)"
10956
- }
10957
- ],
10958
- "members": [
10959
- {
10960
- "kind": "field",
10961
- "name": "value",
10962
- "type": {
10963
- "text": "number | undefined"
10964
- },
10965
- "description": "Specifies how much of the task has been completed. Must be a valid floating\npoint number between 0 and max, or between 0 and 100 if max is omitted. If\nthere is no value, the progress bar is indeterminate; this indicates that\nan activity is ongoing with no indication of how long it’s expected to take.",
10966
- "attribute": "value",
10967
- "reflects": true
10968
- },
10969
- {
10970
- "kind": "field",
10971
- "name": "max",
10972
- "type": {
10973
- "text": "number"
10974
- },
10975
- "default": "100",
10976
- "description": "Describes how much work the task indicated by the progress element requires.\nThe max attribute, if present, must have a value greater than 0 and be a\nvalid floating point number.",
10977
- "attribute": "max",
10978
- "reflects": true
10979
- },
10980
- {
10981
- "kind": "field",
10982
- "name": "label",
10983
- "type": {
10984
- "text": "string"
10985
- },
10986
- "default": "\"Current progress\"",
10987
- "description": "Accessible label for the progress indicator. Visually hidden, but shown\nfor assistive technology.",
10988
- "attribute": "label",
10989
- "reflects": true
10990
- },
10991
- {
10992
- "kind": "field",
10993
- "name": "focusableRef",
10994
- "privacy": "protected",
10995
- "inheritedFrom": {
10996
- "name": "FocusableMixin",
10997
- "module": "src/common/mixins/FocusableMixin.ts"
10998
- }
10999
- },
11000
- {
11001
- "kind": "method",
11002
- "name": "focus",
11003
- "parameters": [
11004
- {
11005
- "name": "options",
11006
- "optional": true,
11007
- "type": {
11008
- "text": "FocusOptions"
11009
- },
11010
- "description": "An object which controls aspects of the focusing process."
11011
- }
11012
- ],
11013
- "description": "Programmatically move focus to the component.",
11014
- "inheritedFrom": {
11015
- "name": "FocusableMixin",
11016
- "module": "src/common/mixins/FocusableMixin.ts"
11017
- }
11018
- },
11019
- {
11020
- "kind": "method",
11021
- "name": "blur",
11022
- "description": "Programmatically remove focus from the component.",
11023
- "inheritedFrom": {
11024
- "name": "FocusableMixin",
11025
- "module": "src/common/mixins/FocusableMixin.ts"
11026
- }
11027
- },
11028
- {
11029
- "kind": "method",
11030
- "name": "click",
11031
- "description": "Programmatically simulates a click on the component.",
11032
- "inheritedFrom": {
11033
- "name": "FocusableMixin",
11034
- "module": "src/common/mixins/FocusableMixin.ts"
11035
- }
10880
+ {
10881
+ "kind": "class",
10882
+ "description": "Notification group is used to position and style a group of notifications.",
10883
+ "name": "NotificationGroup",
10884
+ "slots": [
10885
+ {
10886
+ "description": "Default slot in which to place notifications.",
10887
+ "name": ""
11036
10888
  }
11037
10889
  ],
11038
- "attributes": [
11039
- {
11040
- "name": "value",
11041
- "type": {
11042
- "text": "number | undefined"
11043
- },
11044
- "description": "Specifies how much of the task has been completed. Must be a valid floating\npoint number between 0 and max, or between 0 and 100 if max is omitted. If\nthere is no value, the progress bar is indeterminate; this indicates that\nan activity is ongoing with no indication of how long it’s expected to take.",
11045
- "fieldName": "value"
11046
- },
11047
- {
11048
- "name": "max",
11049
- "type": {
11050
- "text": "number"
11051
- },
11052
- "default": "100",
11053
- "description": "Describes how much work the task indicated by the progress element requires.\nThe max attribute, if present, must have a value greater than 0 and be a\nvalid floating point number.",
11054
- "fieldName": "max"
11055
- },
10890
+ "members": [],
10891
+ "events": [
11056
10892
  {
11057
- "name": "label",
11058
10893
  "type": {
11059
- "text": "string"
10894
+ "text": "NordEvent"
11060
10895
  },
11061
- "default": "\"Current progress\"",
11062
- "description": "Accessible label for the progress indicator. Visually hidden, but shown\nfor assistive technology.",
11063
- "fieldName": "label"
11064
- }
11065
- ],
11066
- "mixins": [
11067
- {
11068
- "name": "FocusableMixin",
11069
- "module": "/src/common/mixins/FocusableMixin.js"
10896
+ "description": "Fired when a notification is dismissed, and its exit animation has completed. This event should be used to remove the dismissed notification from the DOM.",
10897
+ "name": "dismiss"
11070
10898
  }
11071
10899
  ],
11072
10900
  "superclass": {
@@ -11076,10 +10904,10 @@
11076
10904
  "localization": [],
11077
10905
  "status": "ready",
11078
10906
  "category": "feedback",
11079
- "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",
10907
+ "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\">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",
11080
10908
  "examples": [],
11081
10909
  "dependencies": [],
11082
- "tagName": "nord-progress-bar",
10910
+ "tagName": "nord-notification-group",
11083
10911
  "customElement": true
11084
10912
  }
11085
10913
  ],
@@ -11088,16 +10916,16 @@
11088
10916
  "kind": "js",
11089
10917
  "name": "default",
11090
10918
  "declaration": {
11091
- "name": "ProgressBar",
11092
- "module": "src/progress-bar/ProgressBar.ts"
10919
+ "name": "NotificationGroup",
10920
+ "module": "src/notification-group/NotificationGroup.ts"
11093
10921
  }
11094
10922
  },
11095
10923
  {
11096
10924
  "kind": "custom-element-definition",
11097
- "name": "nord-progress-bar",
10925
+ "name": "nord-notification-group",
11098
10926
  "declaration": {
11099
- "name": "ProgressBar",
11100
- "module": "src/progress-bar/ProgressBar.ts"
10927
+ "name": "NotificationGroup",
10928
+ "module": "src/notification-group/NotificationGroup.ts"
11101
10929
  }
11102
10930
  }
11103
10931
  ]
@@ -11350,66 +11178,238 @@
11350
11178
  ],
11351
11179
  "attributes": [
11352
11180
  {
11353
- "name": "id",
11354
- "type": {
11355
- "text": "string"
11356
- },
11357
- "default": "\"\"",
11358
- "description": "The id for the active element to reference via aria-controls.",
11359
- "fieldName": "id"
11360
- },
11361
- {
11362
- "name": "anchor",
11363
- "type": {
11364
- "text": "string | undefined"
11365
- },
11366
- "description": "Set an optional anchor element to align against, replacing the triggering element.",
11367
- "fieldName": "anchor"
11368
- },
11369
- {
11370
- "name": "open",
11181
+ "name": "id",
11182
+ "type": {
11183
+ "text": "string"
11184
+ },
11185
+ "default": "\"\"",
11186
+ "description": "The id for the active element to reference via aria-controls.",
11187
+ "fieldName": "id"
11188
+ },
11189
+ {
11190
+ "name": "anchor",
11191
+ "type": {
11192
+ "text": "string | undefined"
11193
+ },
11194
+ "description": "Set an optional anchor element to align against, replacing the triggering element.",
11195
+ "fieldName": "anchor"
11196
+ },
11197
+ {
11198
+ "name": "open",
11199
+ "type": {
11200
+ "text": "boolean"
11201
+ },
11202
+ "default": "false",
11203
+ "description": "Controls whether the component is open or not.",
11204
+ "fieldName": "open",
11205
+ "inheritedFrom": {
11206
+ "name": "FloatingMixin",
11207
+ "module": "src/common/mixins/FloatingComponentMixin.ts"
11208
+ }
11209
+ },
11210
+ {
11211
+ "name": "align",
11212
+ "type": {
11213
+ "text": "\"start\" | \"end\""
11214
+ },
11215
+ "default": "\"start\"",
11216
+ "description": "Set the alignment in relation to the toggle (or anchor) depending on the position.\n`start` will align it to the left of the toggle (or anchor).\n`end` will align it to the right of the toggle (or anchor).\nSetting the `position` to `inline-start` or `inline-end` will switch\n`start` and `end` to the top and bottom respectively.",
11217
+ "fieldName": "align",
11218
+ "inheritedFrom": {
11219
+ "name": "FloatingMixin",
11220
+ "module": "src/common/mixins/FloatingComponentMixin.ts"
11221
+ }
11222
+ },
11223
+ {
11224
+ "name": "position",
11225
+ "type": {
11226
+ "text": "\"block-end\" | \"block-start\" | \"inline-start\" | \"inline-end\" | \"auto\""
11227
+ },
11228
+ "default": "\"block-end\"",
11229
+ "description": "Set the position in relation to the toggle (or anchor).\nOptions follow logical properties.\n`block-start` and `block-end` referring to top and bottom respectively,\n`inline-start` and `inline-end` referring to left and right respectively.\nYou can also set it to `auto` for automatic positioning depending on\nwhich side has the most space available.",
11230
+ "fieldName": "position",
11231
+ "inheritedFrom": {
11232
+ "name": "FloatingMixin",
11233
+ "module": "src/common/mixins/FloatingComponentMixin.ts"
11234
+ }
11235
+ }
11236
+ ],
11237
+ "mixins": [
11238
+ {
11239
+ "name": "FloatingMixin",
11240
+ "module": "/src/common/mixins/FloatingComponentMixin.js"
11241
+ }
11242
+ ],
11243
+ "superclass": {
11244
+ "name": "LitElement",
11245
+ "package": "lit"
11246
+ },
11247
+ "localization": [],
11248
+ "status": "ready",
11249
+ "category": "overlay",
11250
+ "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",
11251
+ "examples": [],
11252
+ "dependencies": [],
11253
+ "tagName": "nord-popout",
11254
+ "customElement": true
11255
+ }
11256
+ ],
11257
+ "exports": [
11258
+ {
11259
+ "kind": "js",
11260
+ "name": "default",
11261
+ "declaration": {
11262
+ "name": "Popout",
11263
+ "module": "src/popout/Popout.ts"
11264
+ }
11265
+ },
11266
+ {
11267
+ "kind": "custom-element-definition",
11268
+ "name": "nord-popout",
11269
+ "declaration": {
11270
+ "name": "Popout",
11271
+ "module": "src/popout/Popout.ts"
11272
+ }
11273
+ }
11274
+ ]
11275
+ },
11276
+ {
11277
+ "kind": "javascript-module",
11278
+ "path": "src/progress-bar/ProgressBar.ts",
11279
+ "declarations": [
11280
+ {
11281
+ "kind": "class",
11282
+ "description": "Progress Bar is used to visually represent the completion\nof a task or process. It shows how much of the task has\nbeen completed and how much is still left.",
11283
+ "name": "ProgressBar",
11284
+ "cssProperties": [
11285
+ {
11286
+ "description": "Controls the thickness of the progress bar, using our [spacing tokens](/tokens/#space).",
11287
+ "name": "--n-progress-size",
11288
+ "default": "var(--n-space-s)"
11289
+ },
11290
+ {
11291
+ "description": "Controls how rounded the corners are, using [border radius tokens](/tokens/#border-radius).",
11292
+ "name": "--n-progress-border-radius",
11293
+ "default": "var(--n-border-radius-s)"
11294
+ },
11295
+ {
11296
+ "description": "Controls the color of the progress bar, using [color tokens](/tokens/#color).",
11297
+ "name": "--n-progress-color",
11298
+ "default": "var(--n-color-accent)"
11299
+ }
11300
+ ],
11301
+ "members": [
11302
+ {
11303
+ "kind": "field",
11304
+ "name": "value",
11305
+ "type": {
11306
+ "text": "number | undefined"
11307
+ },
11308
+ "description": "Specifies how much of the task has been completed. Must be a valid floating\npoint number between 0 and max, or between 0 and 100 if max is omitted. If\nthere is no value, the progress bar is indeterminate; this indicates that\nan activity is ongoing with no indication of how long it’s expected to take.",
11309
+ "attribute": "value",
11310
+ "reflects": true
11311
+ },
11312
+ {
11313
+ "kind": "field",
11314
+ "name": "max",
11315
+ "type": {
11316
+ "text": "number"
11317
+ },
11318
+ "default": "100",
11319
+ "description": "Describes how much work the task indicated by the progress element requires.\nThe max attribute, if present, must have a value greater than 0 and be a\nvalid floating point number.",
11320
+ "attribute": "max",
11321
+ "reflects": true
11322
+ },
11323
+ {
11324
+ "kind": "field",
11325
+ "name": "label",
11326
+ "type": {
11327
+ "text": "string"
11328
+ },
11329
+ "default": "\"Current progress\"",
11330
+ "description": "Accessible label for the progress indicator. Visually hidden, but shown\nfor assistive technology.",
11331
+ "attribute": "label",
11332
+ "reflects": true
11333
+ },
11334
+ {
11335
+ "kind": "field",
11336
+ "name": "focusableRef",
11337
+ "privacy": "protected",
11338
+ "inheritedFrom": {
11339
+ "name": "FocusableMixin",
11340
+ "module": "src/common/mixins/FocusableMixin.ts"
11341
+ }
11342
+ },
11343
+ {
11344
+ "kind": "method",
11345
+ "name": "focus",
11346
+ "parameters": [
11347
+ {
11348
+ "name": "options",
11349
+ "optional": true,
11350
+ "type": {
11351
+ "text": "FocusOptions"
11352
+ },
11353
+ "description": "An object which controls aspects of the focusing process."
11354
+ }
11355
+ ],
11356
+ "description": "Programmatically move focus to the component.",
11357
+ "inheritedFrom": {
11358
+ "name": "FocusableMixin",
11359
+ "module": "src/common/mixins/FocusableMixin.ts"
11360
+ }
11361
+ },
11362
+ {
11363
+ "kind": "method",
11364
+ "name": "blur",
11365
+ "description": "Programmatically remove focus from the component.",
11366
+ "inheritedFrom": {
11367
+ "name": "FocusableMixin",
11368
+ "module": "src/common/mixins/FocusableMixin.ts"
11369
+ }
11370
+ },
11371
+ {
11372
+ "kind": "method",
11373
+ "name": "click",
11374
+ "description": "Programmatically simulates a click on the component.",
11375
+ "inheritedFrom": {
11376
+ "name": "FocusableMixin",
11377
+ "module": "src/common/mixins/FocusableMixin.ts"
11378
+ }
11379
+ }
11380
+ ],
11381
+ "attributes": [
11382
+ {
11383
+ "name": "value",
11371
11384
  "type": {
11372
- "text": "boolean"
11385
+ "text": "number | undefined"
11373
11386
  },
11374
- "default": "false",
11375
- "description": "Controls whether the component is open or not.",
11376
- "fieldName": "open",
11377
- "inheritedFrom": {
11378
- "name": "FloatingMixin",
11379
- "module": "src/common/mixins/FloatingComponentMixin.ts"
11380
- }
11387
+ "description": "Specifies how much of the task has been completed. Must be a valid floating\npoint number between 0 and max, or between 0 and 100 if max is omitted. If\nthere is no value, the progress bar is indeterminate; this indicates that\nan activity is ongoing with no indication of how long it’s expected to take.",
11388
+ "fieldName": "value"
11381
11389
  },
11382
11390
  {
11383
- "name": "align",
11391
+ "name": "max",
11384
11392
  "type": {
11385
- "text": "\"start\" | \"end\""
11393
+ "text": "number"
11386
11394
  },
11387
- "default": "\"start\"",
11388
- "description": "Set the alignment in relation to the toggle (or anchor) depending on the position.\n`start` will align it to the left of the toggle (or anchor).\n`end` will align it to the right of the toggle (or anchor).\nSetting the `position` to `inline-start` or `inline-end` will switch\n`start` and `end` to the top and bottom respectively.",
11389
- "fieldName": "align",
11390
- "inheritedFrom": {
11391
- "name": "FloatingMixin",
11392
- "module": "src/common/mixins/FloatingComponentMixin.ts"
11393
- }
11395
+ "default": "100",
11396
+ "description": "Describes how much work the task indicated by the progress element requires.\nThe max attribute, if present, must have a value greater than 0 and be a\nvalid floating point number.",
11397
+ "fieldName": "max"
11394
11398
  },
11395
11399
  {
11396
- "name": "position",
11400
+ "name": "label",
11397
11401
  "type": {
11398
- "text": "\"block-end\" | \"block-start\" | \"inline-start\" | \"inline-end\" | \"auto\""
11402
+ "text": "string"
11399
11403
  },
11400
- "default": "\"block-end\"",
11401
- "description": "Set the position in relation to the toggle (or anchor).\nOptions follow logical properties.\n`block-start` and `block-end` referring to top and bottom respectively,\n`inline-start` and `inline-end` referring to left and right respectively.\nYou can also set it to `auto` for automatic positioning depending on\nwhich side has the most space available.",
11402
- "fieldName": "position",
11403
- "inheritedFrom": {
11404
- "name": "FloatingMixin",
11405
- "module": "src/common/mixins/FloatingComponentMixin.ts"
11406
- }
11404
+ "default": "\"Current progress\"",
11405
+ "description": "Accessible label for the progress indicator. Visually hidden, but shown\nfor assistive technology.",
11406
+ "fieldName": "label"
11407
11407
  }
11408
11408
  ],
11409
11409
  "mixins": [
11410
11410
  {
11411
- "name": "FloatingMixin",
11412
- "module": "/src/common/mixins/FloatingComponentMixin.js"
11411
+ "name": "FocusableMixin",
11412
+ "module": "/src/common/mixins/FocusableMixin.js"
11413
11413
  }
11414
11414
  ],
11415
11415
  "superclass": {
@@ -11418,11 +11418,11 @@
11418
11418
  },
11419
11419
  "localization": [],
11420
11420
  "status": "ready",
11421
- "category": "overlay",
11422
- "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",
11421
+ "category": "feedback",
11422
+ "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",
11423
11423
  "examples": [],
11424
11424
  "dependencies": [],
11425
- "tagName": "nord-popout",
11425
+ "tagName": "nord-progress-bar",
11426
11426
  "customElement": true
11427
11427
  }
11428
11428
  ],
@@ -11431,16 +11431,16 @@
11431
11431
  "kind": "js",
11432
11432
  "name": "default",
11433
11433
  "declaration": {
11434
- "name": "Popout",
11435
- "module": "src/popout/Popout.ts"
11434
+ "name": "ProgressBar",
11435
+ "module": "src/progress-bar/ProgressBar.ts"
11436
11436
  }
11437
11437
  },
11438
11438
  {
11439
11439
  "kind": "custom-element-definition",
11440
- "name": "nord-popout",
11440
+ "name": "nord-progress-bar",
11441
11441
  "declaration": {
11442
- "name": "Popout",
11443
- "module": "src/popout/Popout.ts"
11442
+ "name": "ProgressBar",
11443
+ "module": "src/progress-bar/ProgressBar.ts"
11444
11444
  }
11445
11445
  }
11446
11446
  ]
@@ -12383,92 +12383,6 @@
12383
12383
  }
12384
12384
  ]
12385
12385
  },
12386
- {
12387
- "kind": "javascript-module",
12388
- "path": "src/segmented-control/SegmentedControl.ts",
12389
- "declarations": [
12390
- {
12391
- "kind": "class",
12392
- "description": "Segmented control is used to pick one choice from a set of\nclosely related choices, and immediately apply that selection.",
12393
- "name": "SegmentedControl",
12394
- "slots": [
12395
- {
12396
- "description": "Default slot.",
12397
- "name": ""
12398
- }
12399
- ],
12400
- "members": [
12401
- {
12402
- "kind": "field",
12403
- "name": "defaultSlot",
12404
- "privacy": "private",
12405
- "default": "new SlotController(this)"
12406
- },
12407
- {
12408
- "kind": "field",
12409
- "name": "expand",
12410
- "type": {
12411
- "text": "boolean"
12412
- },
12413
- "default": "false",
12414
- "description": "Controls whether the segmented control expands to fill the width of its container.",
12415
- "attribute": "expand",
12416
- "reflects": true
12417
- }
12418
- ],
12419
- "events": [
12420
- {
12421
- "type": {
12422
- "text": "NordEvent"
12423
- },
12424
- "description": "Fired whenever a segmented control item has been checked.",
12425
- "name": "change"
12426
- }
12427
- ],
12428
- "attributes": [
12429
- {
12430
- "name": "expand",
12431
- "type": {
12432
- "text": "boolean"
12433
- },
12434
- "default": "false",
12435
- "description": "Controls whether the segmented control expands to fill the width of its container.",
12436
- "fieldName": "expand"
12437
- }
12438
- ],
12439
- "superclass": {
12440
- "name": "LitElement",
12441
- "package": "lit"
12442
- },
12443
- "localization": [],
12444
- "status": "new",
12445
- "category": "action",
12446
- "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 segmented control to allow users to pick one choice from a set of closely related choices, and immediately apply that selection.\n- Favor segmented control or [radio component](/components/radio/) 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- Segmented control items are grouped by their `name` attribute. Therefore, it is crucial that the same `name` is used for a group of segmented control items.\n- Give each segmented control item within a group a unique `value`.\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](/components/checkbox/) or [selectable tag](/components/tag/?example=selectable) instead.\n- Don’t use for “accepting terms of service” and similar functionality. Use a [checkbox](/components/checkbox/) instead.\n- When you have more than 5 options to choose from. Consider using a [select](/components/select/) instead.\n\n</div>\n\n---\n\n## Content guidelines\n\nSegmented control 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 segmented control 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- Once a segmented control item has been selected, users cannot return to having no items selected without refreshing their browser window. Therefore, you should always make sure one of the items is pre-selected.\n",
12447
- "examples": [],
12448
- "dependencies": [],
12449
- "tagName": "nord-segmented-control",
12450
- "customElement": true
12451
- }
12452
- ],
12453
- "exports": [
12454
- {
12455
- "kind": "js",
12456
- "name": "default",
12457
- "declaration": {
12458
- "name": "SegmentedControl",
12459
- "module": "src/segmented-control/SegmentedControl.ts"
12460
- }
12461
- },
12462
- {
12463
- "kind": "custom-element-definition",
12464
- "name": "nord-segmented-control",
12465
- "declaration": {
12466
- "name": "SegmentedControl",
12467
- "module": "src/segmented-control/SegmentedControl.ts"
12468
- }
12469
- }
12470
- ]
12471
- },
12472
12386
  {
12473
12387
  "kind": "javascript-module",
12474
12388
  "path": "src/range/Range.ts",
@@ -13227,36 +13141,122 @@
13227
13141
  {
13228
13142
  "name": "form",
13229
13143
  "type": {
13230
- "text": "HTMLFormElement | null"
13144
+ "text": "HTMLFormElement | null"
13145
+ },
13146
+ "description": "Gets the form, if any, associated with the form element.\nThe setter accepts a string, which is the id of the form.",
13147
+ "fieldName": "form",
13148
+ "inheritedFrom": {
13149
+ "name": "InputMixin",
13150
+ "module": "src/common/mixins/InputMixin.ts"
13151
+ }
13152
+ }
13153
+ ],
13154
+ "mixins": [
13155
+ {
13156
+ "name": "FormAssociatedMixin",
13157
+ "module": "/src/common/mixins/FormAssociatedMixin.js"
13158
+ },
13159
+ {
13160
+ "name": "AutocompleteMixin",
13161
+ "module": "/src/common/mixins/AutocompleteMixin.js"
13162
+ },
13163
+ {
13164
+ "name": "ReadonlyMixin",
13165
+ "module": "/src/common/mixins/ReadonlyMixin.js"
13166
+ },
13167
+ {
13168
+ "name": "InputMixin",
13169
+ "module": "/src/common/mixins/InputMixin.js"
13170
+ },
13171
+ {
13172
+ "name": "FocusableMixin",
13173
+ "module": "/src/common/mixins/FocusableMixin.js"
13174
+ }
13175
+ ],
13176
+ "superclass": {
13177
+ "name": "LitElement",
13178
+ "package": "lit"
13179
+ },
13180
+ "localization": [],
13181
+ "status": "ready",
13182
+ "category": "form",
13183
+ "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",
13184
+ "examples": [],
13185
+ "dependencies": [],
13186
+ "tagName": "nord-range",
13187
+ "customElement": true
13188
+ }
13189
+ ],
13190
+ "exports": [
13191
+ {
13192
+ "kind": "js",
13193
+ "name": "default",
13194
+ "declaration": {
13195
+ "name": "Range",
13196
+ "module": "src/range/Range.ts"
13197
+ }
13198
+ },
13199
+ {
13200
+ "kind": "custom-element-definition",
13201
+ "name": "nord-range",
13202
+ "declaration": {
13203
+ "name": "Range",
13204
+ "module": "src/range/Range.ts"
13205
+ }
13206
+ }
13207
+ ]
13208
+ },
13209
+ {
13210
+ "kind": "javascript-module",
13211
+ "path": "src/segmented-control/SegmentedControl.ts",
13212
+ "declarations": [
13213
+ {
13214
+ "kind": "class",
13215
+ "description": "Segmented control is used to pick one choice from a set of\nclosely related choices, and immediately apply that selection.",
13216
+ "name": "SegmentedControl",
13217
+ "slots": [
13218
+ {
13219
+ "description": "Default slot.",
13220
+ "name": ""
13221
+ }
13222
+ ],
13223
+ "members": [
13224
+ {
13225
+ "kind": "field",
13226
+ "name": "defaultSlot",
13227
+ "privacy": "private",
13228
+ "default": "new SlotController(this)"
13229
+ },
13230
+ {
13231
+ "kind": "field",
13232
+ "name": "expand",
13233
+ "type": {
13234
+ "text": "boolean"
13231
13235
  },
13232
- "description": "Gets the form, if any, associated with the form element.\nThe setter accepts a string, which is the id of the form.",
13233
- "fieldName": "form",
13234
- "inheritedFrom": {
13235
- "name": "InputMixin",
13236
- "module": "src/common/mixins/InputMixin.ts"
13237
- }
13236
+ "default": "false",
13237
+ "description": "Controls whether the segmented control expands to fill the width of its container.",
13238
+ "attribute": "expand",
13239
+ "reflects": true
13238
13240
  }
13239
13241
  ],
13240
- "mixins": [
13241
- {
13242
- "name": "FormAssociatedMixin",
13243
- "module": "/src/common/mixins/FormAssociatedMixin.js"
13244
- },
13245
- {
13246
- "name": "AutocompleteMixin",
13247
- "module": "/src/common/mixins/AutocompleteMixin.js"
13248
- },
13249
- {
13250
- "name": "ReadonlyMixin",
13251
- "module": "/src/common/mixins/ReadonlyMixin.js"
13252
- },
13242
+ "events": [
13253
13243
  {
13254
- "name": "InputMixin",
13255
- "module": "/src/common/mixins/InputMixin.js"
13256
- },
13244
+ "type": {
13245
+ "text": "NordEvent"
13246
+ },
13247
+ "description": "Fired whenever a segmented control item has been checked.",
13248
+ "name": "change"
13249
+ }
13250
+ ],
13251
+ "attributes": [
13257
13252
  {
13258
- "name": "FocusableMixin",
13259
- "module": "/src/common/mixins/FocusableMixin.js"
13253
+ "name": "expand",
13254
+ "type": {
13255
+ "text": "boolean"
13256
+ },
13257
+ "default": "false",
13258
+ "description": "Controls whether the segmented control expands to fill the width of its container.",
13259
+ "fieldName": "expand"
13260
13260
  }
13261
13261
  ],
13262
13262
  "superclass": {
@@ -13264,12 +13264,12 @@
13264
13264
  "package": "lit"
13265
13265
  },
13266
13266
  "localization": [],
13267
- "status": "ready",
13268
- "category": "form",
13269
- "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",
13267
+ "status": "new",
13268
+ "category": "action",
13269
+ "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 segmented control to allow users to pick one choice from a set of closely related choices, and immediately apply that selection.\n- Favor segmented control or [radio component](/components/radio/) 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- Segmented control items are grouped by their `name` attribute. Therefore, it is crucial that the same `name` is used for a group of segmented control items.\n- Give each segmented control item within a group a unique `value`.\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](/components/checkbox/) or [selectable tag](/components/tag/?example=selectable) instead.\n- Don’t use for “accepting terms of service” and similar functionality. Use a [checkbox](/components/checkbox/) instead.\n- When you have more than 5 options to choose from. Consider using a [select](/components/select/) instead.\n\n</div>\n\n---\n\n## Content guidelines\n\nSegmented control 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 segmented control 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- Once a segmented control item has been selected, users cannot return to having no items selected without refreshing their browser window. Therefore, you should always make sure one of the items is pre-selected.\n",
13270
13270
  "examples": [],
13271
13271
  "dependencies": [],
13272
- "tagName": "nord-range",
13272
+ "tagName": "nord-segmented-control",
13273
13273
  "customElement": true
13274
13274
  }
13275
13275
  ],
@@ -13278,16 +13278,16 @@
13278
13278
  "kind": "js",
13279
13279
  "name": "default",
13280
13280
  "declaration": {
13281
- "name": "Range",
13282
- "module": "src/range/Range.ts"
13281
+ "name": "SegmentedControl",
13282
+ "module": "src/segmented-control/SegmentedControl.ts"
13283
13283
  }
13284
13284
  },
13285
13285
  {
13286
13286
  "kind": "custom-element-definition",
13287
- "name": "nord-range",
13287
+ "name": "nord-segmented-control",
13288
13288
  "declaration": {
13289
- "name": "Range",
13290
- "module": "src/range/Range.ts"
13289
+ "name": "SegmentedControl",
13290
+ "module": "src/segmented-control/SegmentedControl.ts"
13291
13291
  }
13292
13292
  }
13293
13293
  ]
@@ -15782,28 +15782,223 @@
15782
15782
  "module": "/src/common/mixins/InputMixin.js"
15783
15783
  },
15784
15784
  {
15785
- "name": "FocusableMixin",
15786
- "module": "/src/common/mixins/FocusableMixin.js"
15785
+ "name": "FocusableMixin",
15786
+ "module": "/src/common/mixins/FocusableMixin.js"
15787
+ }
15788
+ ],
15789
+ "superclass": {
15790
+ "name": "LitElement",
15791
+ "package": "lit"
15792
+ },
15793
+ "localization": [
15794
+ {
15795
+ "name": "removeLabel",
15796
+ "description": "Accessible label for the remove button."
15797
+ }
15798
+ ],
15799
+ "status": "new",
15800
+ "category": "text",
15801
+ "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 labeling, categorizing, or organizing objects.\n- Ensure there is enough space around tags when they are interactive.\n- Always position tags so that it’s easy to understand what object they’re related to.\n- Keep in mind that tags can increase the amount of cognitive noise, particularly when combined with the status component, so use them in moderation.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use for showing the status of an object, use the [badge component](/components/badge/) instead.\n- Don’t use when you want to highlight something that has been added recently, use the [badge component](/components/badge/) instead.\n- Don’t use alternatives to existing tag variants.\n\n</div>\n\n---\n\n## Content guidelines\n\nTags should use short and clear labels for easy scanning. They should be concise and informative:\n\n<div class=\"n-usage n-usage-do\">Has seizures</div>\n<div class=\"n-usage n-usage-dont\">This dog has seizures often</div>\n\nWhen writing tag 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\">Service dog</div>\n<div class=\"n-usage n-usage-dont\">Service Dog</div>\n\nAvoid unnecessary words and articles in tag labels, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Service dog</div>\n<div class=\"n-usage n-usage-dont\">A service dog</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` | The default variant for a non-interactive tag. |\n| `removable` | Used for tags that can be removed by the user. |\n| `selectable` | Used for tags that can be selected or deselected. |\n",
15802
+ "examples": [],
15803
+ "dependencies": [
15804
+ "icon"
15805
+ ],
15806
+ "tagName": "nord-tag",
15807
+ "customElement": true
15808
+ }
15809
+ ],
15810
+ "exports": [
15811
+ {
15812
+ "kind": "js",
15813
+ "name": "default",
15814
+ "declaration": {
15815
+ "name": "Tag",
15816
+ "module": "src/tag/Tag.ts"
15817
+ }
15818
+ },
15819
+ {
15820
+ "kind": "custom-element-definition",
15821
+ "name": "nord-tag",
15822
+ "declaration": {
15823
+ "name": "Tag",
15824
+ "module": "src/tag/Tag.ts"
15825
+ }
15826
+ }
15827
+ ]
15828
+ },
15829
+ {
15830
+ "kind": "javascript-module",
15831
+ "path": "src/tag/localization.ts",
15832
+ "declarations": [
15833
+ {
15834
+ "kind": "variable",
15835
+ "name": "localization",
15836
+ "type": {
15837
+ "text": "object"
15838
+ },
15839
+ "default": "{ removeLabel: \"Remove\", }"
15840
+ }
15841
+ ],
15842
+ "exports": [
15843
+ {
15844
+ "kind": "js",
15845
+ "name": "default",
15846
+ "declaration": {
15847
+ "name": "localization",
15848
+ "module": "src/tag/localization.ts"
15849
+ }
15850
+ }
15851
+ ]
15852
+ },
15853
+ {
15854
+ "kind": "javascript-module",
15855
+ "path": "src/tag-group/TagGroup.ts",
15856
+ "declarations": [
15857
+ {
15858
+ "kind": "class",
15859
+ "description": "Tag groups are designed to bring together selectable tags that are of a similar nature. For example categories you can filter by.",
15860
+ "name": "TagGroup",
15861
+ "cssProperties": [
15862
+ {
15863
+ "description": "Controls the rounded corners of the tag group, using [border radius tokens](/tokens/#border-radius). Only relevant for the default variant.",
15864
+ "name": "--n-tag-group-border-radius",
15865
+ "default": "var(--n-border-radius-s)"
15866
+ },
15867
+ {
15868
+ "description": "Controls the surrounding shadow, using [box shadow tokens](/tokens/#box-shadow). Only relevant for the default variant.",
15869
+ "name": "--n-tag-group-box-shadow",
15870
+ "default": "var(--n-box-shadow)"
15871
+ }
15872
+ ],
15873
+ "slots": [
15874
+ {
15875
+ "description": "The tag group content",
15876
+ "name": ""
15877
+ }
15878
+ ],
15879
+ "members": [
15880
+ {
15881
+ "kind": "field",
15882
+ "name": "defaultSlot",
15883
+ "privacy": "private",
15884
+ "default": "new SlotController(this)"
15885
+ },
15886
+ {
15887
+ "kind": "field",
15888
+ "name": "dirController",
15889
+ "privacy": "private",
15890
+ "default": "new DirectionController(this)"
15891
+ },
15892
+ {
15893
+ "kind": "field",
15894
+ "name": "variant",
15895
+ "type": {
15896
+ "text": "\"default\" | \"spaced\""
15897
+ },
15898
+ "default": "\"default\"",
15899
+ "description": "The style variant of the tag group.",
15900
+ "attribute": "variant",
15901
+ "reflects": true
15902
+ },
15903
+ {
15904
+ "kind": "field",
15905
+ "name": "direction",
15906
+ "type": {
15907
+ "text": "\"vertical\" | \"horizontal\""
15908
+ },
15909
+ "default": "\"horizontal\"",
15910
+ "description": "The direction of the tag group.",
15911
+ "attribute": "direction",
15912
+ "reflects": true
15913
+ },
15914
+ {
15915
+ "kind": "field",
15916
+ "name": "wrap",
15917
+ "type": {
15918
+ "text": "boolean"
15919
+ },
15920
+ "default": "false",
15921
+ "description": "Defines whether the tags are forced in a single line\nor can be flowed into multiple lines (only applied when variant is set to `spaced`).",
15922
+ "attribute": "wrap",
15923
+ "reflects": true
15924
+ },
15925
+ {
15926
+ "kind": "field",
15927
+ "name": "role",
15928
+ "type": {
15929
+ "text": "string"
15930
+ },
15931
+ "default": "\"group\"",
15932
+ "description": "The appropriate role for the containing element.",
15933
+ "attribute": "role",
15934
+ "reflects": true
15935
+ }
15936
+ ],
15937
+ "events": [
15938
+ {
15939
+ "type": {
15940
+ "text": "NordEvent"
15941
+ },
15942
+ "description": "Fired whenever a tag has been checked or unchecked via user interaction.",
15943
+ "name": "change"
15944
+ },
15945
+ {
15946
+ "type": {
15947
+ "text": "NordEvent"
15948
+ },
15949
+ "description": "Fired when the remove button is activated on a tag. This event should be used to remove the tag from the DOM.",
15950
+ "name": "remove"
15951
+ }
15952
+ ],
15953
+ "attributes": [
15954
+ {
15955
+ "name": "variant",
15956
+ "type": {
15957
+ "text": "\"default\" | \"spaced\""
15958
+ },
15959
+ "default": "\"default\"",
15960
+ "description": "The style variant of the tag group.",
15961
+ "fieldName": "variant"
15962
+ },
15963
+ {
15964
+ "name": "direction",
15965
+ "type": {
15966
+ "text": "\"vertical\" | \"horizontal\""
15967
+ },
15968
+ "default": "\"horizontal\"",
15969
+ "description": "The direction of the tag group.",
15970
+ "fieldName": "direction"
15971
+ },
15972
+ {
15973
+ "name": "wrap",
15974
+ "type": {
15975
+ "text": "boolean"
15976
+ },
15977
+ "default": "false",
15978
+ "description": "Defines whether the tags are forced in a single line\nor can be flowed into multiple lines (only applied when variant is set to `spaced`).",
15979
+ "fieldName": "wrap"
15980
+ },
15981
+ {
15982
+ "name": "role",
15983
+ "type": {
15984
+ "text": "string"
15985
+ },
15986
+ "default": "\"group\"",
15987
+ "description": "The appropriate role for the containing element.",
15988
+ "fieldName": "role"
15787
15989
  }
15788
15990
  ],
15789
15991
  "superclass": {
15790
15992
  "name": "LitElement",
15791
15993
  "package": "lit"
15792
15994
  },
15793
- "localization": [
15794
- {
15795
- "name": "removeLabel",
15796
- "description": "Accessible label for the remove button."
15797
- }
15798
- ],
15995
+ "localization": [],
15799
15996
  "status": "new",
15800
- "category": "text",
15801
- "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 labeling, categorizing, or organizing objects.\n- Ensure there is enough space around tags when they are interactive.\n- Always position tags so that it’s easy to understand what object they’re related to.\n- Keep in mind that tags can increase the amount of cognitive noise, particularly when combined with the status component, so use them in moderation.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use for showing the status of an object, use the [badge component](/components/badge/) instead.\n- Don’t use when you want to highlight something that has been added recently, use the [badge component](/components/badge/) instead.\n- Don’t use alternatives to existing tag variants.\n\n</div>\n\n---\n\n## Content guidelines\n\nTags should use short and clear labels for easy scanning. They should be concise and informative:\n\n<div class=\"n-usage n-usage-do\">Has seizures</div>\n<div class=\"n-usage n-usage-dont\">This dog has seizures often</div>\n\nWhen writing tag 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\">Service dog</div>\n<div class=\"n-usage n-usage-dont\">Service Dog</div>\n\nAvoid unnecessary words and articles in tag labels, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Service dog</div>\n<div class=\"n-usage n-usage-dont\">A service dog</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` | The default variant for a non-interactive tag. |\n| `removable` | Used for tags that can be removed by the user. |\n| `selectable` | Used for tags that can be selected or deselected. |\n",
15997
+ "category": "structure",
15998
+ "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 selectable tags.\n- Use the appropriate `role` attribute on the tag group to provide additional semantics.\n- Use an `aria-labelledby` attribute referencing another element to best explain the contents of the tag group.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t add components other than selectable tags and in some instances visually hidden components to the tag 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\nTags should use short and clear labels for easy scanning. They should be concise and informative:\n\n<div class=\"n-usage n-usage-do\">Has seizures</div>\n<div class=\"n-usage n-usage-dont\">This dog has seizures often</div>\n\nWhen writing tag 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\">Service dog</div>\n<div class=\"n-usage n-usage-dont\">Service Dog</div>\n\nAvoid unnecessary words and articles in tag labels, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Service dog</div>\n<div class=\"n-usage n-usage-dont\">A service dog</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` | The default variant renders a group of tags to emphasize that they’re thematically-related. |\n| `spaced` | The spaced variant renders a gap between the tags to space them out evenly. |\n",
15802
15999
  "examples": [],
15803
- "dependencies": [
15804
- "icon"
15805
- ],
15806
- "tagName": "nord-tag",
16000
+ "dependencies": [],
16001
+ "tagName": "nord-tag-group",
15807
16002
  "customElement": true
15808
16003
  }
15809
16004
  ],
@@ -15812,40 +16007,16 @@
15812
16007
  "kind": "js",
15813
16008
  "name": "default",
15814
16009
  "declaration": {
15815
- "name": "Tag",
15816
- "module": "src/tag/Tag.ts"
16010
+ "name": "TagGroup",
16011
+ "module": "src/tag-group/TagGroup.ts"
15817
16012
  }
15818
16013
  },
15819
16014
  {
15820
16015
  "kind": "custom-element-definition",
15821
- "name": "nord-tag",
15822
- "declaration": {
15823
- "name": "Tag",
15824
- "module": "src/tag/Tag.ts"
15825
- }
15826
- }
15827
- ]
15828
- },
15829
- {
15830
- "kind": "javascript-module",
15831
- "path": "src/tag/localization.ts",
15832
- "declarations": [
15833
- {
15834
- "kind": "variable",
15835
- "name": "localization",
15836
- "type": {
15837
- "text": "object"
15838
- },
15839
- "default": "{ removeLabel: \"Remove\", }"
15840
- }
15841
- ],
15842
- "exports": [
15843
- {
15844
- "kind": "js",
15845
- "name": "default",
16016
+ "name": "nord-tag-group",
15846
16017
  "declaration": {
15847
- "name": "localization",
15848
- "module": "src/tag/localization.ts"
16018
+ "name": "TagGroup",
16019
+ "module": "src/tag-group/TagGroup.ts"
15849
16020
  }
15850
16021
  }
15851
16022
  ]
@@ -16841,237 +17012,42 @@
16841
17012
  "module": "/src/common/mixins/FormAssociatedMixin.js"
16842
17013
  },
16843
17014
  {
16844
- "name": "AutocompleteMixin",
16845
- "module": "/src/common/mixins/AutocompleteMixin.js"
16846
- },
16847
- {
16848
- "name": "ReadonlyMixin",
16849
- "module": "/src/common/mixins/ReadonlyMixin.js"
16850
- },
16851
- {
16852
- "name": "TextSelectableMixin",
16853
- "module": "/src/common/mixins/TextSelectableMixin.js"
16854
- },
16855
- {
16856
- "name": "InputMixin",
16857
- "module": "/src/common/mixins/InputMixin.js"
16858
- },
16859
- {
16860
- "name": "FocusableMixin",
16861
- "module": "/src/common/mixins/FocusableMixin.js"
16862
- }
16863
- ],
16864
- "superclass": {
16865
- "name": "LitElement",
16866
- "package": "lit"
16867
- },
16868
- "localization": [
16869
- {
16870
- "name": "remainingCharacters",
16871
- "description": "A function which receives the number of remaining characters and returns a string to be used as the aria-live message."
16872
- }
16873
- ],
16874
- "status": "ready",
16875
- "category": "form",
16876
- "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",
16877
- "examples": [],
16878
- "dependencies": [],
16879
- "tagName": "nord-textarea",
16880
- "customElement": true
16881
- }
16882
- ],
16883
- "exports": [
16884
- {
16885
- "kind": "js",
16886
- "name": "default",
16887
- "declaration": {
16888
- "name": "Textarea",
16889
- "module": "src/textarea/Textarea.ts"
16890
- }
16891
- },
16892
- {
16893
- "kind": "custom-element-definition",
16894
- "name": "nord-textarea",
16895
- "declaration": {
16896
- "name": "Textarea",
16897
- "module": "src/textarea/Textarea.ts"
16898
- }
16899
- }
16900
- ]
16901
- },
16902
- {
16903
- "kind": "javascript-module",
16904
- "path": "src/textarea/localization.ts",
16905
- "declarations": [
16906
- {
16907
- "kind": "variable",
16908
- "name": "localization",
16909
- "type": {
16910
- "text": "object"
16911
- },
16912
- "default": "{ remainingCharacters: (remainder: number) => `Characters remaining: ${remainder}`, }"
16913
- }
16914
- ],
16915
- "exports": [
16916
- {
16917
- "kind": "js",
16918
- "name": "default",
16919
- "declaration": {
16920
- "name": "localization",
16921
- "module": "src/textarea/localization.ts"
16922
- }
16923
- }
16924
- ]
16925
- },
16926
- {
16927
- "kind": "javascript-module",
16928
- "path": "src/tag-group/TagGroup.ts",
16929
- "declarations": [
16930
- {
16931
- "kind": "class",
16932
- "description": "Tag groups are designed to bring together selectable tags that are of a similar nature. For example categories you can filter by.",
16933
- "name": "TagGroup",
16934
- "cssProperties": [
16935
- {
16936
- "description": "Controls the rounded corners of the tag group, using [border radius tokens](/tokens/#border-radius). Only relevant for the default variant.",
16937
- "name": "--n-tag-group-border-radius",
16938
- "default": "var(--n-border-radius-s)"
16939
- },
16940
- {
16941
- "description": "Controls the surrounding shadow, using [box shadow tokens](/tokens/#box-shadow). Only relevant for the default variant.",
16942
- "name": "--n-tag-group-box-shadow",
16943
- "default": "var(--n-box-shadow)"
16944
- }
16945
- ],
16946
- "slots": [
16947
- {
16948
- "description": "The tag group content",
16949
- "name": ""
16950
- }
16951
- ],
16952
- "members": [
16953
- {
16954
- "kind": "field",
16955
- "name": "defaultSlot",
16956
- "privacy": "private",
16957
- "default": "new SlotController(this)"
16958
- },
16959
- {
16960
- "kind": "field",
16961
- "name": "dirController",
16962
- "privacy": "private",
16963
- "default": "new DirectionController(this)"
16964
- },
16965
- {
16966
- "kind": "field",
16967
- "name": "variant",
16968
- "type": {
16969
- "text": "\"default\" | \"spaced\""
16970
- },
16971
- "default": "\"default\"",
16972
- "description": "The style variant of the tag group.",
16973
- "attribute": "variant",
16974
- "reflects": true
16975
- },
16976
- {
16977
- "kind": "field",
16978
- "name": "direction",
16979
- "type": {
16980
- "text": "\"vertical\" | \"horizontal\""
16981
- },
16982
- "default": "\"horizontal\"",
16983
- "description": "The direction of the tag group.",
16984
- "attribute": "direction",
16985
- "reflects": true
16986
- },
16987
- {
16988
- "kind": "field",
16989
- "name": "wrap",
16990
- "type": {
16991
- "text": "boolean"
16992
- },
16993
- "default": "false",
16994
- "description": "Defines whether the tags are forced in a single line\nor can be flowed into multiple lines (only applied when variant is set to `spaced`).",
16995
- "attribute": "wrap",
16996
- "reflects": true
16997
- },
16998
- {
16999
- "kind": "field",
17000
- "name": "role",
17001
- "type": {
17002
- "text": "string"
17003
- },
17004
- "default": "\"group\"",
17005
- "description": "The appropriate role for the containing element.",
17006
- "attribute": "role",
17007
- "reflects": true
17008
- }
17009
- ],
17010
- "events": [
17011
- {
17012
- "type": {
17013
- "text": "NordEvent"
17014
- },
17015
- "description": "Fired whenever a tag has been checked or unchecked via user interaction.",
17016
- "name": "change"
17017
- },
17018
- {
17019
- "type": {
17020
- "text": "NordEvent"
17021
- },
17022
- "description": "Fired when the remove button is activated on a tag. This event should be used to remove the tag from the DOM.",
17023
- "name": "remove"
17024
- }
17025
- ],
17026
- "attributes": [
17027
- {
17028
- "name": "variant",
17029
- "type": {
17030
- "text": "\"default\" | \"spaced\""
17031
- },
17032
- "default": "\"default\"",
17033
- "description": "The style variant of the tag group.",
17034
- "fieldName": "variant"
17015
+ "name": "AutocompleteMixin",
17016
+ "module": "/src/common/mixins/AutocompleteMixin.js"
17035
17017
  },
17036
17018
  {
17037
- "name": "direction",
17038
- "type": {
17039
- "text": "\"vertical\" | \"horizontal\""
17040
- },
17041
- "default": "\"horizontal\"",
17042
- "description": "The direction of the tag group.",
17043
- "fieldName": "direction"
17019
+ "name": "ReadonlyMixin",
17020
+ "module": "/src/common/mixins/ReadonlyMixin.js"
17044
17021
  },
17045
17022
  {
17046
- "name": "wrap",
17047
- "type": {
17048
- "text": "boolean"
17049
- },
17050
- "default": "false",
17051
- "description": "Defines whether the tags are forced in a single line\nor can be flowed into multiple lines (only applied when variant is set to `spaced`).",
17052
- "fieldName": "wrap"
17023
+ "name": "TextSelectableMixin",
17024
+ "module": "/src/common/mixins/TextSelectableMixin.js"
17053
17025
  },
17054
17026
  {
17055
- "name": "role",
17056
- "type": {
17057
- "text": "string"
17058
- },
17059
- "default": "\"group\"",
17060
- "description": "The appropriate role for the containing element.",
17061
- "fieldName": "role"
17027
+ "name": "InputMixin",
17028
+ "module": "/src/common/mixins/InputMixin.js"
17029
+ },
17030
+ {
17031
+ "name": "FocusableMixin",
17032
+ "module": "/src/common/mixins/FocusableMixin.js"
17062
17033
  }
17063
17034
  ],
17064
17035
  "superclass": {
17065
17036
  "name": "LitElement",
17066
17037
  "package": "lit"
17067
17038
  },
17068
- "localization": [],
17069
- "status": "new",
17070
- "category": "structure",
17071
- "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 selectable tags.\n- Use the appropriate `role` attribute on the tag group to provide additional semantics.\n- Use an `aria-labelledby` attribute referencing another element to best explain the contents of the tag group.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t add components other than selectable tags and in some instances visually hidden components to the tag 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\nTags should use short and clear labels for easy scanning. They should be concise and informative:\n\n<div class=\"n-usage n-usage-do\">Has seizures</div>\n<div class=\"n-usage n-usage-dont\">This dog has seizures often</div>\n\nWhen writing tag 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\">Service dog</div>\n<div class=\"n-usage n-usage-dont\">Service Dog</div>\n\nAvoid unnecessary words and articles in tag labels, such as the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Service dog</div>\n<div class=\"n-usage n-usage-dont\">A service dog</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` | The default variant renders a group of tags to emphasize that they’re thematically-related. |\n| `spaced` | The spaced variant renders a gap between the tags to space them out evenly. |\n",
17039
+ "localization": [
17040
+ {
17041
+ "name": "remainingCharacters",
17042
+ "description": "A function which receives the number of remaining characters and returns a string to be used as the aria-live message."
17043
+ }
17044
+ ],
17045
+ "status": "ready",
17046
+ "category": "form",
17047
+ "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",
17072
17048
  "examples": [],
17073
17049
  "dependencies": [],
17074
- "tagName": "nord-tag-group",
17050
+ "tagName": "nord-textarea",
17075
17051
  "customElement": true
17076
17052
  }
17077
17053
  ],
@@ -17080,16 +17056,40 @@
17080
17056
  "kind": "js",
17081
17057
  "name": "default",
17082
17058
  "declaration": {
17083
- "name": "TagGroup",
17084
- "module": "src/tag-group/TagGroup.ts"
17059
+ "name": "Textarea",
17060
+ "module": "src/textarea/Textarea.ts"
17085
17061
  }
17086
17062
  },
17087
17063
  {
17088
17064
  "kind": "custom-element-definition",
17089
- "name": "nord-tag-group",
17065
+ "name": "nord-textarea",
17090
17066
  "declaration": {
17091
- "name": "TagGroup",
17092
- "module": "src/tag-group/TagGroup.ts"
17067
+ "name": "Textarea",
17068
+ "module": "src/textarea/Textarea.ts"
17069
+ }
17070
+ }
17071
+ ]
17072
+ },
17073
+ {
17074
+ "kind": "javascript-module",
17075
+ "path": "src/textarea/localization.ts",
17076
+ "declarations": [
17077
+ {
17078
+ "kind": "variable",
17079
+ "name": "localization",
17080
+ "type": {
17081
+ "text": "object"
17082
+ },
17083
+ "default": "{ remainingCharacters: (remainder: number) => `Characters remaining: ${remainder}`, }"
17084
+ }
17085
+ ],
17086
+ "exports": [
17087
+ {
17088
+ "kind": "js",
17089
+ "name": "default",
17090
+ "declaration": {
17091
+ "name": "localization",
17092
+ "module": "src/textarea/localization.ts"
17093
17093
  }
17094
17094
  }
17095
17095
  ]
@@ -17250,6 +17250,93 @@
17250
17250
  }
17251
17251
  ]
17252
17252
  },
17253
+ {
17254
+ "kind": "javascript-module",
17255
+ "path": "src/toast-group/ToastGroup.ts",
17256
+ "declarations": [
17257
+ {
17258
+ "kind": "class",
17259
+ "description": "Toast group is used to position and style a group of toasts, whilst ensuring they are announced by screen readers.",
17260
+ "name": "ToastGroup",
17261
+ "slots": [
17262
+ {
17263
+ "description": "Default slot in which to place toasts.",
17264
+ "name": ""
17265
+ }
17266
+ ],
17267
+ "members": [
17268
+ {
17269
+ "kind": "method",
17270
+ "name": "addToast",
17271
+ "parameters": [
17272
+ {
17273
+ "name": "text",
17274
+ "type": {
17275
+ "text": "string"
17276
+ },
17277
+ "description": "The text/message of the toast."
17278
+ },
17279
+ {
17280
+ "name": "options",
17281
+ "default": "{}",
17282
+ "type": {
17283
+ "text": "ToastOptions"
17284
+ },
17285
+ "description": "An optional object for configuring the toast's `variant` and `autoDismiss`."
17286
+ }
17287
+ ],
17288
+ "description": "Convenience method for creating and adding a toast to the group.",
17289
+ "return": {
17290
+ "type": {
17291
+ "text": "Toast"
17292
+ }
17293
+ }
17294
+ }
17295
+ ],
17296
+ "events": [
17297
+ {
17298
+ "type": {
17299
+ "text": "NordEvent"
17300
+ },
17301
+ "description": "Fired when a 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.",
17302
+ "name": "dismiss"
17303
+ }
17304
+ ],
17305
+ "superclass": {
17306
+ "name": "LitElement",
17307
+ "package": "lit"
17308
+ },
17309
+ "localization": [],
17310
+ "status": "ready",
17311
+ "category": "feedback",
17312
+ "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",
17313
+ "examples": [],
17314
+ "dependencies": [
17315
+ "toast"
17316
+ ],
17317
+ "tagName": "nord-toast-group",
17318
+ "customElement": true
17319
+ }
17320
+ ],
17321
+ "exports": [
17322
+ {
17323
+ "kind": "js",
17324
+ "name": "default",
17325
+ "declaration": {
17326
+ "name": "ToastGroup",
17327
+ "module": "src/toast-group/ToastGroup.ts"
17328
+ }
17329
+ },
17330
+ {
17331
+ "kind": "custom-element-definition",
17332
+ "name": "nord-toast-group",
17333
+ "declaration": {
17334
+ "name": "ToastGroup",
17335
+ "module": "src/toast-group/ToastGroup.ts"
17336
+ }
17337
+ }
17338
+ ]
17339
+ },
17253
17340
  {
17254
17341
  "kind": "javascript-module",
17255
17342
  "path": "src/toggle/Toggle.ts",
@@ -17974,93 +18061,6 @@
17974
18061
  }
17975
18062
  ]
17976
18063
  },
17977
- {
17978
- "kind": "javascript-module",
17979
- "path": "src/toast-group/ToastGroup.ts",
17980
- "declarations": [
17981
- {
17982
- "kind": "class",
17983
- "description": "Toast group is used to position and style a group of toasts, whilst ensuring they are announced by screen readers.",
17984
- "name": "ToastGroup",
17985
- "slots": [
17986
- {
17987
- "description": "Default slot in which to place toasts.",
17988
- "name": ""
17989
- }
17990
- ],
17991
- "members": [
17992
- {
17993
- "kind": "method",
17994
- "name": "addToast",
17995
- "parameters": [
17996
- {
17997
- "name": "text",
17998
- "type": {
17999
- "text": "string"
18000
- },
18001
- "description": "The text/message of the toast."
18002
- },
18003
- {
18004
- "name": "options",
18005
- "default": "{}",
18006
- "type": {
18007
- "text": "ToastOptions"
18008
- },
18009
- "description": "An optional object for configuring the toast's `variant` and `autoDismiss`."
18010
- }
18011
- ],
18012
- "description": "Convenience method for creating and adding a toast to the group.",
18013
- "return": {
18014
- "type": {
18015
- "text": "Toast"
18016
- }
18017
- }
18018
- }
18019
- ],
18020
- "events": [
18021
- {
18022
- "type": {
18023
- "text": "NordEvent"
18024
- },
18025
- "description": "Fired when a 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.",
18026
- "name": "dismiss"
18027
- }
18028
- ],
18029
- "superclass": {
18030
- "name": "LitElement",
18031
- "package": "lit"
18032
- },
18033
- "localization": [],
18034
- "status": "ready",
18035
- "category": "feedback",
18036
- "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",
18037
- "examples": [],
18038
- "dependencies": [
18039
- "toast"
18040
- ],
18041
- "tagName": "nord-toast-group",
18042
- "customElement": true
18043
- }
18044
- ],
18045
- "exports": [
18046
- {
18047
- "kind": "js",
18048
- "name": "default",
18049
- "declaration": {
18050
- "name": "ToastGroup",
18051
- "module": "src/toast-group/ToastGroup.ts"
18052
- }
18053
- },
18054
- {
18055
- "kind": "custom-element-definition",
18056
- "name": "nord-toast-group",
18057
- "declaration": {
18058
- "name": "ToastGroup",
18059
- "module": "src/toast-group/ToastGroup.ts"
18060
- }
18061
- }
18062
- ]
18063
- },
18064
18064
  {
18065
18065
  "kind": "javascript-module",
18066
18066
  "path": "src/tooltip/Tooltip.ts",