@nordhealth/components 1.14.2 → 1.14.3

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.
@@ -505,209 +505,125 @@
505
505
  },
506
506
  {
507
507
  "kind": "javascript-module",
508
- "path": "src/banner/Banner.ts",
508
+ "path": "src/button/Button.ts",
509
509
  "declarations": [
510
510
  {
511
511
  "kind": "class",
512
- "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.",
513
- "name": "Banner",
512
+ "description": "Buttons are used for interface actions. Primary style should be\nused only once per section for main call-to-action, while other\nstyles can appear more frequently.",
513
+ "name": "Button",
514
514
  "slots": [
515
515
  {
516
- "description": "default slot",
516
+ "description": "The button content",
517
517
  "name": ""
518
- }
519
- ],
520
- "members": [
518
+ },
521
519
  {
522
- "kind": "field",
523
- "name": "variant",
524
- "type": {
525
- "text": "\"info\" | \"danger\" | \"success\" | \"warning\""
526
- },
527
- "default": "\"info\"",
528
- "description": "The style variant of the banner.",
529
- "attribute": "variant",
530
- "reflects": true
531
- }
532
- ],
533
- "attributes": [
520
+ "description": "Used to place content at the start of button text. Typically used for icons.",
521
+ "name": "start"
522
+ },
534
523
  {
535
- "name": "variant",
536
- "type": {
537
- "text": "\"info\" | \"danger\" | \"success\" | \"warning\""
538
- },
539
- "default": "\"info\"",
540
- "description": "The style variant of the banner.",
541
- "fieldName": "variant"
524
+ "description": "Used to place content at the end of button text. Typically used for icons.",
525
+ "name": "end"
542
526
  }
543
527
  ],
544
- "superclass": {
545
- "name": "LitElement",
546
- "package": "lit"
547
- },
548
- "status": "ready",
549
- "category": "feedback",
550
- "displayName": null,
551
- "tagName": "nord-banner",
552
- "customElement": true
553
- }
554
- ],
555
- "exports": [
556
- {
557
- "kind": "js",
558
- "name": "default",
559
- "declaration": {
560
- "name": "Banner",
561
- "module": "src/banner/Banner.ts"
562
- }
563
- },
564
- {
565
- "kind": "custom-element-definition",
566
- "name": "nord-banner",
567
- "declaration": {
568
- "name": "Banner",
569
- "module": "src/banner/Banner.ts"
570
- }
571
- }
572
- ],
573
- "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"
574
- },
575
- {
576
- "kind": "javascript-module",
577
- "path": "src/calendar/Calendar.ts",
578
- "declarations": [
579
- {
580
- "kind": "class",
581
- "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.",
582
- "name": "Calendar",
583
528
  "members": [
584
529
  {
585
530
  "kind": "field",
586
- "name": "dialogLabelId",
587
- "type": {
588
- "text": "string"
589
- },
590
- "privacy": "private",
591
- "default": "\"dialog-header\""
592
- },
593
- {
594
- "kind": "field",
595
- "name": "monthSelectNode",
596
- "type": {
597
- "text": "HTMLElement"
598
- },
599
- "privacy": "private"
600
- },
601
- {
602
- "kind": "field",
603
- "name": "focusedDayNode",
604
- "type": {
605
- "text": "HTMLButtonElement"
606
- },
607
- "privacy": "private"
608
- },
609
- {
610
- "kind": "field",
611
- "name": "direction",
612
- "privacy": "private",
613
- "default": "new DirectionController(this)"
614
- },
615
- {
616
- "kind": "field",
617
- "name": "swipe",
618
- "privacy": "private",
619
- "default": "new SwipeController(this, {\n matchesGesture: isHorizontalSwipe,\n onSwipeEnd: ({ distX }) => this.addMonths(distX < 0 ? 1 : -1),\n })"
620
- },
621
- {
622
- "kind": "field",
623
- "name": "shortcuts",
531
+ "name": "buttonRef",
624
532
  "privacy": "private"
625
533
  },
626
534
  {
627
535
  "kind": "field",
628
- "name": "localize",
536
+ "name": "events",
629
537
  "privacy": "private",
630
- "default": "new LocalizeController<\"nord-calendar\">(this, {\n onLangChange: () => this.handleLangChange(),\n })"
538
+ "default": "new EventController(this)"
631
539
  },
632
540
  {
633
541
  "kind": "field",
634
- "name": "dateFormatShort",
635
- "type": {
636
- "text": "Intl.DateTimeFormat"
637
- },
542
+ "name": "lightDom",
638
543
  "privacy": "private",
639
- "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"
544
+ "default": "new LightDomController(this, {\n render: () => this.renderLightDom(),\n })"
640
545
  },
641
546
  {
642
547
  "kind": "field",
643
- "name": "monthNames",
548
+ "name": "variant",
644
549
  "type": {
645
- "text": "string[]"
550
+ "text": "\"default\" | \"primary\" | \"dashed\" | \"plain\" | \"danger\" | \"switch\""
646
551
  },
647
- "privacy": "private"
552
+ "default": "\"default\"",
553
+ "description": "The style variant of the button.",
554
+ "attribute": "variant",
555
+ "reflects": true
648
556
  },
649
557
  {
650
558
  "kind": "field",
651
- "name": "monthNamesShort",
559
+ "name": "type",
652
560
  "type": {
653
- "text": "string[]"
561
+ "text": "\"button\" | \"submit\" | \"reset\""
654
562
  },
655
- "privacy": "private"
563
+ "default": "\"submit\"",
564
+ "description": "The type of the button.",
565
+ "attribute": "type",
566
+ "reflects": true
656
567
  },
657
568
  {
658
569
  "kind": "field",
659
- "name": "dayNames",
570
+ "name": "size",
660
571
  "type": {
661
- "text": "string[]"
572
+ "text": "\"s\" | \"m\" | \"l\""
662
573
  },
663
- "privacy": "private"
574
+ "default": "\"m\"",
575
+ "description": "The size of the button.\nThis affects font-size and padding.",
576
+ "attribute": "size",
577
+ "reflects": true
664
578
  },
665
579
  {
666
580
  "kind": "field",
667
- "name": "dayNamesShort",
581
+ "name": "accessibleExpanded",
668
582
  "type": {
669
- "text": "string[]"
583
+ "text": "\"true\" | \"false\" | undefined"
670
584
  },
671
- "privacy": "private"
585
+ "privacy": "private",
586
+ "attribute": "aria-expanded"
672
587
  },
673
588
  {
674
589
  "kind": "field",
675
- "name": "value",
590
+ "name": "accessibleHasPopup",
676
591
  "type": {
677
- "text": "string"
592
+ "text": "| \"false\"\n | \"true\"\n | \"menu\"\n | \"listbox\"\n | \"tree\"\n | \"grid\"\n | \"dialog\" | undefined"
678
593
  },
679
- "default": "\"\"",
680
- "description": "The selected date on the calendar. Must be in IS0-8601 format: YYYY-MM-DD.",
681
- "attribute": "value"
594
+ "privacy": "private",
595
+ "attribute": "aria-haspopup"
682
596
  },
683
597
  {
684
598
  "kind": "field",
685
- "name": "firstDayOfWeek",
599
+ "name": "href",
686
600
  "type": {
687
- "text": "DaysOfWeek"
601
+ "text": "string | undefined"
688
602
  },
689
- "description": "Which day is considered first day of the week? `0` for Sunday, `1` for Monday, etc.\nDefault is Monday.",
690
- "attribute": "firstDayOfWeek"
603
+ "description": "When provided, renders the button as a link,\nwith its href attribute set to the given value.",
604
+ "attribute": "href",
605
+ "reflects": true
691
606
  },
692
607
  {
693
608
  "kind": "field",
694
- "name": "min",
609
+ "name": "download",
695
610
  "type": {
696
- "text": "string"
611
+ "text": "boolean"
697
612
  },
698
- "default": "\"\"",
699
- "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.",
700
- "attribute": "min"
613
+ "default": "false",
614
+ "description": "When provided together with a href property, the button will\ntrigger a file download instead of a page visit.",
615
+ "attribute": "download"
701
616
  },
702
617
  {
703
618
  "kind": "field",
704
- "name": "max",
619
+ "name": "target",
705
620
  "type": {
706
- "text": "string"
621
+ "text": "\"_self\" | \"_blank\" | \"_parent\" | \"_top\""
707
622
  },
708
- "default": "\"\"",
709
- "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.",
710
- "attribute": "max"
623
+ "default": "\"_self\"",
624
+ "description": "When provided together with a href property, determines where\nto open the linked URL. The keywords have special meanings for\nwhere to load the URL: “_self” means the current browsing context,\n“_blank” usually a new tab but users can configure browsers this to\nopen a new window instead, “_parent” means the parent browsing\ncontext of the current one, but if no parent exists, behaves as\n_self, and finally “top” means the topmost browsing context.",
625
+ "attribute": "target",
626
+ "reflects": true
711
627
  },
712
628
  {
713
629
  "kind": "field",
@@ -716,258 +632,326 @@
716
632
  "text": "boolean"
717
633
  },
718
634
  "default": "false",
719
- "description": "Controls whether the calendar expands to fill the width of its container.",
635
+ "description": "Controls whether the button expands to fill the width of its container.",
720
636
  "attribute": "expand",
721
637
  "reflects": true
722
638
  },
723
639
  {
724
640
  "kind": "field",
725
- "name": "isDateDisabled",
726
- "type": {
727
- "text": "DateDisabledPredicate"
728
- },
729
- "default": "isDateDisabled",
730
- "description": "Controls which days are disabled and therefore disallowed.\nFor example, this can be used to disallow selection of weekends."
731
- },
732
- {
733
- "kind": "field",
734
- "name": "activeFocus",
641
+ "name": "loading",
735
642
  "type": {
736
643
  "text": "boolean"
737
644
  },
738
- "privacy": "private",
739
- "default": "false"
740
- },
741
- {
742
- "kind": "field",
743
- "name": "focusedDay",
744
- "privacy": "private",
745
- "default": "new Date()"
645
+ "default": "false",
646
+ "description": "Controls whether the button is in loading state. Please note that the spinner\nis hidden from assistive technologies, so you need to make sure to announce\nthe loading state to e.g. screen reader users. We also recommend disabling\nall user interactions on the button itself while in loading state.",
647
+ "attribute": "loading",
648
+ "reflects": true
746
649
  },
747
650
  {
748
651
  "kind": "method",
749
- "name": "focus",
652
+ "name": "renderLink",
653
+ "privacy": "private",
750
654
  "parameters": [
751
655
  {
752
- "name": "options",
753
- "optional": true,
656
+ "name": "innards",
754
657
  "type": {
755
- "text": "FocusOptions & { target: \"day\" | \"month\" }"
756
- },
757
- "description": "An object which controls aspects of the focusing process."
658
+ "text": "TemplateResult"
659
+ }
758
660
  }
759
661
  ],
760
- "description": "Programmatically move focus to the calendar."
662
+ "description": "We jump through some hoops here to ensure the link is treated correctly when \"disabled\".\nLinks cannot be disabled natively, so we need to rely on some aria magic to get the correct semantics.\nAlong with the advice in the article below, we also set tabindex to \"-1\", so it is taken out of tab order."
761
663
  },
762
664
  {
763
665
  "kind": "method",
764
- "name": "handleValueChange",
765
- "privacy": "protected"
666
+ "name": "renderButton",
667
+ "privacy": "private",
668
+ "parameters": [
669
+ {
670
+ "name": "innards",
671
+ "type": {
672
+ "text": "TemplateResult"
673
+ }
674
+ }
675
+ ]
766
676
  },
767
677
  {
768
678
  "kind": "method",
769
- "name": "handleFocusedDayChange",
770
- "privacy": "protected"
679
+ "name": "renderLightDom",
680
+ "privacy": "private"
771
681
  },
772
682
  {
773
- "kind": "method",
774
- "name": "handleLangChange",
775
- "privacy": "private"
776
- },
777
- {
778
- "kind": "field",
779
- "name": "handleDaySelect",
683
+ "kind": "field",
684
+ "name": "handleOuterClick",
780
685
  "privacy": "private"
781
686
  },
782
687
  {
783
688
  "kind": "method",
784
- "name": "addDays",
689
+ "name": "handleClick",
785
690
  "privacy": "private",
786
691
  "parameters": [
787
692
  {
788
- "name": "days",
693
+ "name": "e",
789
694
  "type": {
790
- "text": "number"
695
+ "text": "Event"
791
696
  }
792
697
  }
793
698
  ]
794
699
  },
795
700
  {
796
701
  "kind": "method",
797
- "name": "addMonths",
702
+ "name": "handleProxyChange",
798
703
  "privacy": "private",
799
704
  "parameters": [
800
705
  {
801
- "name": "months",
706
+ "name": "e",
802
707
  "type": {
803
- "text": "number"
708
+ "text": "Event"
804
709
  }
805
710
  }
806
- ]
711
+ ],
712
+ "description": "React/Vue etc may remove our proxy button when updating button text, since they are unaware of its existence.\nSo we listen for a slotchange event, and if the element is no longer connected to the DOM we add it back in."
807
713
  },
808
714
  {
809
- "kind": "method",
810
- "name": "addYears",
811
- "privacy": "private",
812
- "parameters": [
813
- {
814
- "name": "years",
815
- "type": {
816
- "text": "number"
817
- }
818
- }
819
- ]
715
+ "kind": "field",
716
+ "name": "disabled",
717
+ "type": {
718
+ "text": "boolean"
719
+ },
720
+ "default": "false",
721
+ "description": "Makes the component disabled. This prevents users from\nbeing able to interact with the component, and conveys\nits inactive state to assistive technologies.",
722
+ "attribute": "disabled",
723
+ "reflects": true,
724
+ "inheritedFrom": {
725
+ "name": "InputMixin",
726
+ "module": "src/common/mixins/InputMixin.ts"
727
+ }
820
728
  },
821
729
  {
822
- "kind": "method",
823
- "name": "startOfWeek",
824
- "privacy": "private"
730
+ "kind": "field",
731
+ "name": "name",
732
+ "type": {
733
+ "text": "string | undefined"
734
+ },
735
+ "description": "The name of the form component.",
736
+ "attribute": "name",
737
+ "inheritedFrom": {
738
+ "name": "InputMixin",
739
+ "module": "src/common/mixins/InputMixin.ts"
740
+ }
825
741
  },
826
742
  {
827
- "kind": "method",
828
- "name": "endOfWeek",
829
- "privacy": "private"
743
+ "kind": "field",
744
+ "name": "value",
745
+ "type": {
746
+ "text": "string"
747
+ },
748
+ "default": "\"\"",
749
+ "description": "The value of the form component.",
750
+ "attribute": "value",
751
+ "inheritedFrom": {
752
+ "name": "InputMixin",
753
+ "module": "src/common/mixins/InputMixin.ts"
754
+ }
830
755
  },
831
756
  {
832
- "kind": "method",
833
- "name": "setMonth",
834
- "privacy": "private",
835
- "parameters": [
836
- {
837
- "name": "month",
838
- "type": {
839
- "text": "number"
840
- }
841
- }
842
- ]
757
+ "kind": "field",
758
+ "name": "form",
759
+ "description": "Gets the form, if any, associated with the form element.",
760
+ "inheritedFrom": {
761
+ "name": "InputMixin",
762
+ "module": "src/common/mixins/InputMixin.ts"
763
+ }
843
764
  },
844
765
  {
845
- "kind": "method",
846
- "name": "setYear",
847
- "privacy": "private",
848
- "parameters": [
849
- {
850
- "name": "year",
851
- "type": {
852
- "text": "number"
853
- }
854
- }
855
- ]
766
+ "kind": "field",
767
+ "name": "focusableRef",
768
+ "privacy": "protected",
769
+ "inheritedFrom": {
770
+ "name": "FocusableMixin",
771
+ "module": "src/common/mixins/FocusableMixin.ts"
772
+ }
856
773
  },
857
774
  {
858
775
  "kind": "method",
859
- "name": "setFocusedDay",
860
- "privacy": "private",
776
+ "name": "focus",
861
777
  "parameters": [
862
778
  {
863
- "name": "day",
779
+ "name": "options",
780
+ "optional": true,
864
781
  "type": {
865
- "text": "Date"
866
- }
782
+ "text": "FocusOptions"
783
+ },
784
+ "description": "An object which controls aspects of the focusing process."
867
785
  }
868
- ]
786
+ ],
787
+ "description": "Programmatically move focus to the component.",
788
+ "inheritedFrom": {
789
+ "name": "FocusableMixin",
790
+ "module": "src/common/mixins/FocusableMixin.ts"
791
+ }
869
792
  },
870
793
  {
871
- "kind": "field",
872
- "name": "handleMonthSelect",
873
- "privacy": "private"
794
+ "kind": "method",
795
+ "name": "blur",
796
+ "description": "Programmatically remove focus from the component.",
797
+ "inheritedFrom": {
798
+ "name": "FocusableMixin",
799
+ "module": "src/common/mixins/FocusableMixin.ts"
800
+ }
874
801
  },
875
802
  {
876
- "kind": "field",
877
- "name": "handleYearSelect",
878
- "privacy": "private"
879
- },
803
+ "kind": "method",
804
+ "name": "click",
805
+ "description": "Programmatically simulates a click on the component.",
806
+ "inheritedFrom": {
807
+ "name": "FocusableMixin",
808
+ "module": "src/common/mixins/FocusableMixin.ts"
809
+ }
810
+ }
811
+ ],
812
+ "attributes": [
880
813
  {
881
- "kind": "field",
882
- "name": "handleNextMonthClick",
883
- "privacy": "private"
814
+ "name": "variant",
815
+ "type": {
816
+ "text": "\"default\" | \"primary\" | \"dashed\" | \"plain\" | \"danger\" | \"switch\""
817
+ },
818
+ "default": "\"default\"",
819
+ "description": "The style variant of the button.",
820
+ "fieldName": "variant"
884
821
  },
885
822
  {
886
- "kind": "field",
887
- "name": "handlePreviousMonthClick",
888
- "privacy": "private"
823
+ "name": "type",
824
+ "type": {
825
+ "text": "\"button\" | \"submit\" | \"reset\""
826
+ },
827
+ "default": "\"submit\"",
828
+ "description": "The type of the button.",
829
+ "fieldName": "type"
889
830
  },
890
831
  {
891
- "kind": "field",
892
- "name": "enableActiveFocus",
893
- "privacy": "private"
832
+ "name": "size",
833
+ "type": {
834
+ "text": "\"s\" | \"m\" | \"l\""
835
+ },
836
+ "default": "\"m\"",
837
+ "description": "The size of the button.\nThis affects font-size and padding.",
838
+ "fieldName": "size"
894
839
  },
895
840
  {
896
- "kind": "field",
897
- "name": "disableActiveFocus",
898
- "privacy": "private"
899
- }
900
- ],
901
- "events": [
841
+ "name": "aria-expanded",
842
+ "type": {
843
+ "text": "\"true\" | \"false\" | undefined"
844
+ },
845
+ "fieldName": "accessibleExpanded"
846
+ },
902
847
  {
903
- "name": "nord-focus-date",
848
+ "name": "aria-haspopup",
904
849
  "type": {
905
- "text": "DateSelectEvent"
850
+ "text": "| \"false\"\n | \"true\"\n | \"menu\"\n | \"listbox\"\n | \"tree\"\n | \"grid\"\n | \"dialog\" | undefined"
906
851
  },
907
- "description": "Dispatched when the calendar's focused date changes."
852
+ "fieldName": "accessibleHasPopup"
908
853
  },
909
854
  {
855
+ "name": "href",
910
856
  "type": {
911
- "text": "DateSelectEvent"
857
+ "text": "string | undefined"
912
858
  },
913
- "description": "Dispatched when a date is selected and the value changes.",
914
- "name": "change"
915
- }
916
- ],
917
- "attributes": [
859
+ "description": "When provided, renders the button as a link,\nwith its href attribute set to the given value.",
860
+ "fieldName": "href"
861
+ },
918
862
  {
919
- "name": "value",
863
+ "name": "download",
920
864
  "type": {
921
- "text": "string"
865
+ "text": "boolean"
922
866
  },
923
- "default": "\"\"",
924
- "description": "The selected date on the calendar. Must be in IS0-8601 format: YYYY-MM-DD.",
925
- "fieldName": "value"
867
+ "default": "false",
868
+ "description": "When provided together with a href property, the button will\ntrigger a file download instead of a page visit.",
869
+ "fieldName": "download"
926
870
  },
927
871
  {
928
- "name": "firstDayOfWeek",
872
+ "name": "target",
929
873
  "type": {
930
- "text": "DaysOfWeek"
874
+ "text": "\"_self\" | \"_blank\" | \"_parent\" | \"_top\""
931
875
  },
932
- "description": "Which day is considered first day of the week? `0` for Sunday, `1` for Monday, etc.\nDefault is Monday.",
933
- "fieldName": "firstDayOfWeek"
876
+ "default": "\"_self\"",
877
+ "description": "When provided together with a href property, determines where\nto open the linked URL. The keywords have special meanings for\nwhere to load the URL: “_self” means the current browsing context,\n“_blank” usually a new tab but users can configure browsers this to\nopen a new window instead, “_parent” means the parent browsing\ncontext of the current one, but if no parent exists, behaves as\n_self, and finally “top” means the topmost browsing context.",
878
+ "fieldName": "target"
934
879
  },
935
880
  {
936
- "name": "min",
881
+ "name": "expand",
937
882
  "type": {
938
- "text": "string"
883
+ "text": "boolean"
939
884
  },
940
- "default": "\"\"",
941
- "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.",
942
- "fieldName": "min"
885
+ "default": "false",
886
+ "description": "Controls whether the button expands to fill the width of its container.",
887
+ "fieldName": "expand"
943
888
  },
944
889
  {
945
- "name": "max",
890
+ "name": "loading",
946
891
  "type": {
947
- "text": "string"
892
+ "text": "boolean"
948
893
  },
949
- "default": "\"\"",
950
- "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.",
951
- "fieldName": "max"
894
+ "default": "false",
895
+ "description": "Controls whether the button is in loading state. Please note that the spinner\nis hidden from assistive technologies, so you need to make sure to announce\nthe loading state to e.g. screen reader users. We also recommend disabling\nall user interactions on the button itself while in loading state.",
896
+ "fieldName": "loading"
952
897
  },
953
898
  {
954
- "name": "expand",
899
+ "name": "disabled",
955
900
  "type": {
956
901
  "text": "boolean"
957
902
  },
958
903
  "default": "false",
959
- "description": "Controls whether the calendar expands to fill the width of its container.",
960
- "fieldName": "expand"
961
- }
962
- ],
963
- "superclass": {
904
+ "description": "Makes the component disabled. This prevents users from\nbeing able to interact with the component, and conveys\nits inactive state to assistive technologies.",
905
+ "fieldName": "disabled",
906
+ "inheritedFrom": {
907
+ "name": "InputMixin",
908
+ "module": "src/common/mixins/InputMixin.ts"
909
+ }
910
+ },
911
+ {
912
+ "name": "name",
913
+ "type": {
914
+ "text": "string | undefined"
915
+ },
916
+ "description": "The name of the form component.",
917
+ "fieldName": "name",
918
+ "inheritedFrom": {
919
+ "name": "InputMixin",
920
+ "module": "src/common/mixins/InputMixin.ts"
921
+ }
922
+ },
923
+ {
924
+ "name": "value",
925
+ "type": {
926
+ "text": "string"
927
+ },
928
+ "default": "\"\"",
929
+ "description": "The value of the form component.",
930
+ "fieldName": "value",
931
+ "inheritedFrom": {
932
+ "name": "InputMixin",
933
+ "module": "src/common/mixins/InputMixin.ts"
934
+ }
935
+ }
936
+ ],
937
+ "mixins": [
938
+ {
939
+ "name": "InputMixin",
940
+ "module": "/src/common/mixins/InputMixin.js"
941
+ },
942
+ {
943
+ "name": "FocusableMixin",
944
+ "module": "/src/common/mixins/FocusableMixin.js"
945
+ }
946
+ ],
947
+ "superclass": {
964
948
  "name": "LitElement",
965
949
  "package": "lit"
966
950
  },
967
951
  "status": "ready",
968
- "category": "list",
952
+ "category": "action",
969
953
  "displayName": null,
970
- "tagName": "nord-calendar",
954
+ "tagName": "nord-button",
971
955
  "customElement": true
972
956
  }
973
957
  ],
@@ -976,120 +960,89 @@
976
960
  "kind": "js",
977
961
  "name": "default",
978
962
  "declaration": {
979
- "name": "Calendar",
980
- "module": "src/calendar/Calendar.ts"
963
+ "name": "Button",
964
+ "module": "src/button/Button.ts"
981
965
  }
982
966
  },
983
967
  {
984
968
  "kind": "custom-element-definition",
985
- "name": "nord-calendar",
969
+ "name": "nord-button",
986
970
  "declaration": {
987
- "name": "Calendar",
988
- "module": "src/calendar/Calendar.ts"
971
+ "name": "Button",
972
+ "module": "src/button/Button.ts"
989
973
  }
990
974
  }
991
975
  ],
992
- "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- Dont 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"
976
+ "readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Only use one primary button per section, as a main call-to-action.\n- Use clear and accurate labels.\n- Use established button colors appropriately. For example, only use a danger button style for an action that’s difficult or impossible to undo.\n- Prioritize the most important actions. Too many buttons will cause confusion.\n- Be consistent with positioning of buttons in the user interface.\n- Use strong, actionable verbs in labels such as “Add”, “Close”, “Cancel”, or “Save”.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don't use a primary button in every row of a table.\n- Don’t use buttons to link to other pages. Use regular link or a plain style instead where necessary.\n- Don’t use buttons for navigation where the link appears within or following a sentence.\n- Don’t use labels such as “Read more”, “Click here” or “More”.\n\n</div>\n\n---\n\n## Content guidelines\n\nButton labels should be clear, accurate and predictable. It should be possible for the user to understand what will happen when they click a button:\n\n<div class=\"n-usage n-usage-do\">View user settings</div>\n<div class=\"n-usage n-usage-dont\">Click here</div>\n\nWhen writing button labels, always write them in sentence case, not title case. The first word should be capitalized and the rest lowercase (unless a proper noun):\n\n<div class=\"n-usage n-usage-do\">My tasks</div>\n<div class=\"n-usage n-usage-dont\">My Tasks</div>\n\nAvoid unnecessary words and articles in button labels, such as the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Add item</div>\n<div class=\"n-usage n-usage-dont\">Add an item</div>\n\n---\n\n## Variants\n\nThis section describes the different component variants, their purpose, and when to use each variant.\n\n| Name | Purpose |\n| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `default` | Default style is the most common button variant. Only switch to another variant if you need to adjust the visual weight of the element. |\n| `primary` | Primary style is reserved for main call-to-actions. Should be used only once per content area or panel, e.g. for a “Save” action. |\n| `dashed` | Dashed style should be used for actions that trigger filtering. |\n| `danger` | Danger style should be used for actions that delete data or otherwise make it hard to undo the action. |\n| `plain` | Used for less important or less common actions. Can be also used for linking to other pages. |\n| `disabled` | Used for actions that aren’t currently available or not available anymore. Also prevents users from being able to interact with the component, and conveys its inactive state to assistive technologies. |\n| `switch` | Switch style is reserved for the clinic switcher in the top left corner of an application. |\n\n---\n\n## Additional considerations\n\n- Users of assistive technology expect a button to submit data or do an action. If you need the button to navigate into another view, use the `href` property which will output `<a>` tag instead of a `<button>`.\n- When you need to disable a button, use `disabled` property as it conveys this information correctly to assistive technologies like screen readers.\n- Button component provides 3 size variants; small, medium and large. The large size should only be used for marketing purposes or on areas such as an empty space/content notice.\n"
993
977
  },
994
978
  {
995
979
  "kind": "javascript-module",
996
- "path": "src/calendar/DateSelectEvent.ts",
980
+ "path": "src/banner/Banner.ts",
997
981
  "declarations": [
998
982
  {
999
983
  "kind": "class",
1000
- "description": "",
1001
- "name": "DateSelectEvent",
1002
- "superclass": {
1003
- "name": "NordEvent",
1004
- "module": "/src/common/events.js"
1005
- }
1006
- }
1007
- ],
1008
- "exports": [
1009
- {
1010
- "kind": "js",
1011
- "name": "DateSelectEvent",
1012
- "declaration": {
1013
- "name": "DateSelectEvent",
1014
- "module": "src/calendar/DateSelectEvent.ts"
1015
- }
1016
- }
1017
- ],
1018
- "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"
1019
- },
1020
- {
1021
- "kind": "javascript-module",
1022
- "path": "src/calendar/localization.ts",
1023
- "declarations": [
1024
- {
1025
- "kind": "variable",
1026
- "name": "calendarLocalization",
1027
- "type": {
1028
- "text": "object"
1029
- },
1030
- "default": "{\n prevMonthLabel: \"Previous month\",\n nextMonthLabel: \"Next month\",\n monthSelectLabel: \"Month\",\n yearSelectLabel: \"Year\",\n}"
1031
- }
1032
- ],
1033
- "exports": [
1034
- {
1035
- "kind": "js",
1036
- "name": "default",
1037
- "declaration": {
1038
- "name": "calendarLocalization",
1039
- "module": "src/calendar/localization.ts"
1040
- }
1041
- }
1042
- ],
1043
- "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"
1044
- },
1045
- {
1046
- "kind": "javascript-module",
1047
- "path": "src/calendar/month-view.ts",
1048
- "declarations": [
1049
- {
1050
- "kind": "function",
1051
- "name": "dayView",
1052
- "parameters": [
984
+ "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.",
985
+ "name": "Banner",
986
+ "slots": [
1053
987
  {
1054
- "name": "{\n focusedDay,\n today,\n day,\n onDaySelect,\n onKeyboardNavigation,\n disabled,\n inRange,\n isSelected,\n dateFormatter,\n}",
988
+ "description": "default slot",
989
+ "name": ""
990
+ }
991
+ ],
992
+ "members": [
993
+ {
994
+ "kind": "field",
995
+ "name": "variant",
1055
996
  "type": {
1056
- "text": "DatePickerDayProps"
1057
- }
997
+ "text": "\"info\" | \"danger\" | \"success\" | \"warning\""
998
+ },
999
+ "default": "\"info\"",
1000
+ "description": "The style variant of the banner.",
1001
+ "attribute": "variant",
1002
+ "reflects": true
1058
1003
  }
1059
- ]
1060
- },
1061
- {
1062
- "kind": "function",
1063
- "name": "monthView",
1064
- "parameters": [
1004
+ ],
1005
+ "attributes": [
1065
1006
  {
1066
- "name": "{\n onFocusIn,\n onFocusOut,\n selectedDate,\n focusedDate,\n labelledById,\n dayNames,\n dayNamesShort,\n firstDayOfWeek,\n min,\n max,\n dateFormatter,\n isDateDisabled,\n onDateSelect,\n onKeyboardNavigation,\n}",
1007
+ "name": "variant",
1067
1008
  "type": {
1068
- "text": "MonthViewArgs"
1069
- }
1009
+ "text": "\"info\" | \"danger\" | \"success\" | \"warning\""
1010
+ },
1011
+ "default": "\"info\"",
1012
+ "description": "The style variant of the banner.",
1013
+ "fieldName": "variant"
1070
1014
  }
1071
- ]
1015
+ ],
1016
+ "superclass": {
1017
+ "name": "LitElement",
1018
+ "package": "lit"
1019
+ },
1020
+ "status": "ready",
1021
+ "category": "feedback",
1022
+ "displayName": null,
1023
+ "tagName": "nord-banner",
1024
+ "customElement": true
1072
1025
  }
1073
1026
  ],
1074
1027
  "exports": [
1075
1028
  {
1076
1029
  "kind": "js",
1077
- "name": "dayView",
1030
+ "name": "default",
1078
1031
  "declaration": {
1079
- "name": "dayView",
1080
- "module": "src/calendar/month-view.ts"
1032
+ "name": "Banner",
1033
+ "module": "src/banner/Banner.ts"
1081
1034
  }
1082
1035
  },
1083
1036
  {
1084
- "kind": "js",
1085
- "name": "monthView",
1037
+ "kind": "custom-element-definition",
1038
+ "name": "nord-banner",
1086
1039
  "declaration": {
1087
- "name": "monthView",
1088
- "module": "src/calendar/month-view.ts"
1040
+ "name": "Banner",
1041
+ "module": "src/banner/Banner.ts"
1089
1042
  }
1090
1043
  }
1091
1044
  ],
1092
- "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"
1045
+ "readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- 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"
1093
1046
  },
1094
1047
  {
1095
1048
  "kind": "javascript-module",
@@ -1162,125 +1115,140 @@
1162
1115
  },
1163
1116
  {
1164
1117
  "kind": "javascript-module",
1165
- "path": "src/button/Button.ts",
1118
+ "path": "src/calendar/Calendar.ts",
1166
1119
  "declarations": [
1167
1120
  {
1168
1121
  "kind": "class",
1169
- "description": "Buttons are used for interface actions. Primary style should be\nused only once per section for main call-to-action, while other\nstyles can appear more frequently.",
1170
- "name": "Button",
1171
- "slots": [
1122
+ "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.",
1123
+ "name": "Calendar",
1124
+ "members": [
1172
1125
  {
1173
- "description": "The button content",
1174
- "name": ""
1126
+ "kind": "field",
1127
+ "name": "dialogLabelId",
1128
+ "type": {
1129
+ "text": "string"
1130
+ },
1131
+ "privacy": "private",
1132
+ "default": "\"dialog-header\""
1175
1133
  },
1176
1134
  {
1177
- "description": "Used to place content at the start of button text. Typically used for icons.",
1178
- "name": "start"
1135
+ "kind": "field",
1136
+ "name": "monthSelectNode",
1137
+ "type": {
1138
+ "text": "HTMLElement"
1139
+ },
1140
+ "privacy": "private"
1179
1141
  },
1180
- {
1181
- "description": "Used to place content at the end of button text. Typically used for icons.",
1182
- "name": "end"
1183
- }
1184
- ],
1185
- "members": [
1186
1142
  {
1187
1143
  "kind": "field",
1188
- "name": "buttonRef",
1144
+ "name": "focusedDayNode",
1145
+ "type": {
1146
+ "text": "HTMLButtonElement"
1147
+ },
1189
1148
  "privacy": "private"
1190
1149
  },
1191
1150
  {
1192
1151
  "kind": "field",
1193
- "name": "events",
1152
+ "name": "direction",
1194
1153
  "privacy": "private",
1195
- "default": "new EventController(this)"
1154
+ "default": "new DirectionController(this)"
1196
1155
  },
1197
1156
  {
1198
1157
  "kind": "field",
1199
- "name": "lightDom",
1158
+ "name": "swipe",
1200
1159
  "privacy": "private",
1201
- "default": "new LightDomController(this, {\n render: () => this.renderLightDom(),\n })"
1160
+ "default": "new SwipeController(this, {\n matchesGesture: isHorizontalSwipe,\n onSwipeEnd: ({ distX }) => this.addMonths(distX < 0 ? 1 : -1),\n })"
1202
1161
  },
1203
1162
  {
1204
1163
  "kind": "field",
1205
- "name": "variant",
1206
- "type": {
1207
- "text": "\"default\" | \"primary\" | \"dashed\" | \"plain\" | \"danger\" | \"switch\""
1208
- },
1209
- "default": "\"default\"",
1210
- "description": "The style variant of the button.",
1211
- "attribute": "variant",
1212
- "reflects": true
1164
+ "name": "shortcuts",
1165
+ "privacy": "private"
1213
1166
  },
1214
1167
  {
1215
1168
  "kind": "field",
1216
- "name": "type",
1217
- "type": {
1218
- "text": "\"button\" | \"submit\" | \"reset\""
1219
- },
1220
- "default": "\"submit\"",
1221
- "description": "The type of the button.",
1222
- "attribute": "type",
1223
- "reflects": true
1169
+ "name": "localize",
1170
+ "privacy": "private",
1171
+ "default": "new LocalizeController<\"nord-calendar\">(this, {\n onLangChange: () => this.handleLangChange(),\n })"
1224
1172
  },
1225
1173
  {
1226
1174
  "kind": "field",
1227
- "name": "size",
1175
+ "name": "dateFormatShort",
1228
1176
  "type": {
1229
- "text": "\"s\" | \"m\" | \"l\""
1177
+ "text": "Intl.DateTimeFormat"
1230
1178
  },
1231
- "default": "\"m\"",
1232
- "description": "The size of the button.\nThis affects font-size and padding.",
1233
- "attribute": "size",
1234
- "reflects": true
1179
+ "privacy": "private",
1180
+ "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"
1235
1181
  },
1236
1182
  {
1237
1183
  "kind": "field",
1238
- "name": "accessibleExpanded",
1184
+ "name": "monthNames",
1239
1185
  "type": {
1240
- "text": "\"true\" | \"false\" | undefined"
1186
+ "text": "string[]"
1241
1187
  },
1242
- "privacy": "private",
1243
- "attribute": "aria-expanded"
1188
+ "privacy": "private"
1244
1189
  },
1245
1190
  {
1246
1191
  "kind": "field",
1247
- "name": "accessibleHasPopup",
1192
+ "name": "monthNamesShort",
1248
1193
  "type": {
1249
- "text": "| \"false\"\n | \"true\"\n | \"menu\"\n | \"listbox\"\n | \"tree\"\n | \"grid\"\n | \"dialog\" | undefined"
1194
+ "text": "string[]"
1250
1195
  },
1251
- "privacy": "private",
1252
- "attribute": "aria-haspopup"
1196
+ "privacy": "private"
1253
1197
  },
1254
1198
  {
1255
1199
  "kind": "field",
1256
- "name": "href",
1200
+ "name": "dayNames",
1257
1201
  "type": {
1258
- "text": "string | undefined"
1202
+ "text": "string[]"
1259
1203
  },
1260
- "description": "When provided, renders the button as a link,\nwith its href attribute set to the given value.",
1261
- "attribute": "href",
1262
- "reflects": true
1204
+ "privacy": "private"
1263
1205
  },
1264
1206
  {
1265
1207
  "kind": "field",
1266
- "name": "download",
1208
+ "name": "dayNamesShort",
1267
1209
  "type": {
1268
- "text": "boolean"
1210
+ "text": "string[]"
1269
1211
  },
1270
- "default": "false",
1271
- "description": "When provided together with a href property, the button will\ntrigger a file download instead of a page visit.",
1272
- "attribute": "download"
1212
+ "privacy": "private"
1273
1213
  },
1274
1214
  {
1275
1215
  "kind": "field",
1276
- "name": "target",
1216
+ "name": "value",
1277
1217
  "type": {
1278
- "text": "\"_self\" | \"_blank\" | \"_parent\" | \"_top\""
1218
+ "text": "string"
1279
1219
  },
1280
- "default": "\"_self\"",
1281
- "description": "When provided together with a href property, determines where\nto open the linked URL. The keywords have special meanings for\nwhere to load the URL: “_self” means the current browsing context,\n“_blank” usually a new tab but users can configure browsers this to\nopen a new window instead, “_parent” means the parent browsing\ncontext of the current one, but if no parent exists, behaves as\n_self, and finally “top” means the topmost browsing context.",
1282
- "attribute": "target",
1283
- "reflects": true
1220
+ "default": "\"\"",
1221
+ "description": "The selected date on the calendar. Must be in IS0-8601 format: YYYY-MM-DD.",
1222
+ "attribute": "value"
1223
+ },
1224
+ {
1225
+ "kind": "field",
1226
+ "name": "firstDayOfWeek",
1227
+ "type": {
1228
+ "text": "DaysOfWeek"
1229
+ },
1230
+ "description": "Which day is considered first day of the week? `0` for Sunday, `1` for Monday, etc.\nDefault is Monday.",
1231
+ "attribute": "firstDayOfWeek"
1232
+ },
1233
+ {
1234
+ "kind": "field",
1235
+ "name": "min",
1236
+ "type": {
1237
+ "text": "string"
1238
+ },
1239
+ "default": "\"\"",
1240
+ "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.",
1241
+ "attribute": "min"
1242
+ },
1243
+ {
1244
+ "kind": "field",
1245
+ "name": "max",
1246
+ "type": {
1247
+ "text": "string"
1248
+ },
1249
+ "default": "\"\"",
1250
+ "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.",
1251
+ "attribute": "max"
1284
1252
  },
1285
1253
  {
1286
1254
  "kind": "field",
@@ -1289,316 +1257,447 @@
1289
1257
  "text": "boolean"
1290
1258
  },
1291
1259
  "default": "false",
1292
- "description": "Controls whether the button expands to fill the width of its container.",
1260
+ "description": "Controls whether the calendar expands to fill the width of its container.",
1293
1261
  "attribute": "expand",
1294
1262
  "reflects": true
1295
1263
  },
1296
1264
  {
1297
1265
  "kind": "field",
1298
- "name": "loading",
1266
+ "name": "isDateDisabled",
1267
+ "type": {
1268
+ "text": "DateDisabledPredicate"
1269
+ },
1270
+ "default": "isDateDisabled",
1271
+ "description": "Controls which days are disabled and therefore disallowed.\nFor example, this can be used to disallow selection of weekends."
1272
+ },
1273
+ {
1274
+ "kind": "field",
1275
+ "name": "activeFocus",
1299
1276
  "type": {
1300
1277
  "text": "boolean"
1301
1278
  },
1302
- "default": "false",
1303
- "description": "Controls whether the button is in loading state. Please note that the spinner\nis hidden from assistive technologies, so you need to make sure to announce\nthe loading state to e.g. screen reader users. We also recommend disabling\nall user interactions on the button itself while in loading state.",
1304
- "attribute": "loading",
1305
- "reflects": true
1279
+ "privacy": "private",
1280
+ "default": "false"
1281
+ },
1282
+ {
1283
+ "kind": "field",
1284
+ "name": "focusedDay",
1285
+ "privacy": "private",
1286
+ "default": "new Date()"
1306
1287
  },
1307
1288
  {
1308
1289
  "kind": "method",
1309
- "name": "renderLink",
1290
+ "name": "focus",
1291
+ "parameters": [
1292
+ {
1293
+ "name": "options",
1294
+ "optional": true,
1295
+ "type": {
1296
+ "text": "FocusOptions & { target: \"day\" | \"month\" }"
1297
+ },
1298
+ "description": "An object which controls aspects of the focusing process."
1299
+ }
1300
+ ],
1301
+ "description": "Programmatically move focus to the calendar."
1302
+ },
1303
+ {
1304
+ "kind": "method",
1305
+ "name": "handleValueChange",
1306
+ "privacy": "protected"
1307
+ },
1308
+ {
1309
+ "kind": "method",
1310
+ "name": "handleFocusedDayChange",
1311
+ "privacy": "protected"
1312
+ },
1313
+ {
1314
+ "kind": "method",
1315
+ "name": "handleLangChange",
1316
+ "privacy": "private"
1317
+ },
1318
+ {
1319
+ "kind": "field",
1320
+ "name": "handleDaySelect",
1321
+ "privacy": "private"
1322
+ },
1323
+ {
1324
+ "kind": "method",
1325
+ "name": "addDays",
1310
1326
  "privacy": "private",
1311
1327
  "parameters": [
1312
1328
  {
1313
- "name": "innards",
1329
+ "name": "days",
1314
1330
  "type": {
1315
- "text": "TemplateResult"
1331
+ "text": "number"
1316
1332
  }
1317
1333
  }
1318
- ],
1319
- "description": "We jump through some hoops here to ensure the link is treated correctly when \"disabled\".\nLinks cannot be disabled natively, so we need to rely on some aria magic to get the correct semantics.\nAlong with the advice in the article below, we also set tabindex to \"-1\", so it is taken out of tab order."
1334
+ ]
1320
1335
  },
1321
1336
  {
1322
1337
  "kind": "method",
1323
- "name": "renderButton",
1338
+ "name": "addMonths",
1324
1339
  "privacy": "private",
1325
1340
  "parameters": [
1326
1341
  {
1327
- "name": "innards",
1342
+ "name": "months",
1328
1343
  "type": {
1329
- "text": "TemplateResult"
1344
+ "text": "number"
1330
1345
  }
1331
1346
  }
1332
1347
  ]
1333
1348
  },
1334
1349
  {
1335
1350
  "kind": "method",
1336
- "name": "renderLightDom",
1351
+ "name": "addYears",
1352
+ "privacy": "private",
1353
+ "parameters": [
1354
+ {
1355
+ "name": "years",
1356
+ "type": {
1357
+ "text": "number"
1358
+ }
1359
+ }
1360
+ ]
1361
+ },
1362
+ {
1363
+ "kind": "method",
1364
+ "name": "startOfWeek",
1337
1365
  "privacy": "private"
1338
1366
  },
1339
1367
  {
1340
- "kind": "field",
1341
- "name": "handleOuterClick",
1368
+ "kind": "method",
1369
+ "name": "endOfWeek",
1342
1370
  "privacy": "private"
1343
1371
  },
1344
1372
  {
1345
1373
  "kind": "method",
1346
- "name": "handleClick",
1374
+ "name": "setMonth",
1347
1375
  "privacy": "private",
1348
1376
  "parameters": [
1349
1377
  {
1350
- "name": "e",
1378
+ "name": "month",
1351
1379
  "type": {
1352
- "text": "Event"
1380
+ "text": "number"
1353
1381
  }
1354
1382
  }
1355
1383
  ]
1356
1384
  },
1357
1385
  {
1358
1386
  "kind": "method",
1359
- "name": "handleProxyChange",
1387
+ "name": "setYear",
1360
1388
  "privacy": "private",
1361
1389
  "parameters": [
1362
1390
  {
1363
- "name": "e",
1391
+ "name": "year",
1364
1392
  "type": {
1365
- "text": "Event"
1393
+ "text": "number"
1366
1394
  }
1367
1395
  }
1368
- ],
1369
- "description": "React/Vue etc may remove our proxy button when updating button text, since they are unaware of its existence.\nSo we listen for a slotchange event, and if the element is no longer connected to the DOM we add it back in."
1396
+ ]
1370
1397
  },
1371
1398
  {
1372
- "kind": "field",
1373
- "name": "disabled",
1374
- "type": {
1375
- "text": "boolean"
1376
- },
1377
- "default": "false",
1378
- "description": "Makes the component disabled. This prevents users from\nbeing able to interact with the component, and conveys\nits inactive state to assistive technologies.",
1379
- "attribute": "disabled",
1380
- "reflects": true,
1381
- "inheritedFrom": {
1382
- "name": "InputMixin",
1383
- "module": "src/common/mixins/InputMixin.ts"
1384
- }
1399
+ "kind": "method",
1400
+ "name": "setFocusedDay",
1401
+ "privacy": "private",
1402
+ "parameters": [
1403
+ {
1404
+ "name": "day",
1405
+ "type": {
1406
+ "text": "Date"
1407
+ }
1408
+ }
1409
+ ]
1385
1410
  },
1386
1411
  {
1387
1412
  "kind": "field",
1388
- "name": "name",
1389
- "type": {
1390
- "text": "string | undefined"
1391
- },
1392
- "description": "The name of the form component.",
1393
- "attribute": "name",
1394
- "inheritedFrom": {
1395
- "name": "InputMixin",
1396
- "module": "src/common/mixins/InputMixin.ts"
1397
- }
1413
+ "name": "handleMonthSelect",
1414
+ "privacy": "private"
1398
1415
  },
1399
1416
  {
1400
1417
  "kind": "field",
1401
- "name": "value",
1402
- "type": {
1403
- "text": "string"
1404
- },
1405
- "default": "\"\"",
1406
- "description": "The value of the form component.",
1407
- "attribute": "value",
1408
- "inheritedFrom": {
1409
- "name": "InputMixin",
1410
- "module": "src/common/mixins/InputMixin.ts"
1411
- }
1418
+ "name": "handleYearSelect",
1419
+ "privacy": "private"
1412
1420
  },
1413
1421
  {
1414
1422
  "kind": "field",
1415
- "name": "form",
1416
- "description": "Gets the form, if any, associated with the form element.",
1417
- "inheritedFrom": {
1418
- "name": "InputMixin",
1419
- "module": "src/common/mixins/InputMixin.ts"
1420
- }
1423
+ "name": "handleNextMonthClick",
1424
+ "privacy": "private"
1421
1425
  },
1422
1426
  {
1423
1427
  "kind": "field",
1424
- "name": "focusableRef",
1425
- "privacy": "protected",
1426
- "inheritedFrom": {
1427
- "name": "FocusableMixin",
1428
- "module": "src/common/mixins/FocusableMixin.ts"
1429
- }
1428
+ "name": "handlePreviousMonthClick",
1429
+ "privacy": "private"
1430
1430
  },
1431
1431
  {
1432
- "kind": "method",
1433
- "name": "focus",
1434
- "parameters": [
1435
- {
1436
- "name": "options",
1437
- "optional": true,
1438
- "type": {
1439
- "text": "FocusOptions"
1440
- },
1441
- "description": "An object which controls aspects of the focusing process."
1442
- }
1443
- ],
1444
- "description": "Programmatically move focus to the component.",
1445
- "inheritedFrom": {
1446
- "name": "FocusableMixin",
1447
- "module": "src/common/mixins/FocusableMixin.ts"
1448
- }
1432
+ "kind": "field",
1433
+ "name": "enableActiveFocus",
1434
+ "privacy": "private"
1449
1435
  },
1450
1436
  {
1451
- "kind": "method",
1452
- "name": "blur",
1453
- "description": "Programmatically remove focus from the component.",
1454
- "inheritedFrom": {
1455
- "name": "FocusableMixin",
1456
- "module": "src/common/mixins/FocusableMixin.ts"
1457
- }
1437
+ "kind": "field",
1438
+ "name": "disableActiveFocus",
1439
+ "privacy": "private"
1440
+ }
1441
+ ],
1442
+ "events": [
1443
+ {
1444
+ "name": "nord-focus-date",
1445
+ "type": {
1446
+ "text": "DateSelectEvent"
1447
+ },
1448
+ "description": "Dispatched when the calendar's focused date changes."
1458
1449
  },
1459
1450
  {
1460
- "kind": "method",
1461
- "name": "click",
1462
- "description": "Programmatically simulates a click on the component.",
1463
- "inheritedFrom": {
1464
- "name": "FocusableMixin",
1465
- "module": "src/common/mixins/FocusableMixin.ts"
1466
- }
1451
+ "type": {
1452
+ "text": "DateSelectEvent"
1453
+ },
1454
+ "description": "Dispatched when a date is selected and the value changes.",
1455
+ "name": "change"
1467
1456
  }
1468
1457
  ],
1469
1458
  "attributes": [
1470
1459
  {
1471
- "name": "variant",
1460
+ "name": "value",
1472
1461
  "type": {
1473
- "text": "\"default\" | \"primary\" | \"dashed\" | \"plain\" | \"danger\" | \"switch\""
1462
+ "text": "string"
1474
1463
  },
1475
- "default": "\"default\"",
1476
- "description": "The style variant of the button.",
1477
- "fieldName": "variant"
1464
+ "default": "\"\"",
1465
+ "description": "The selected date on the calendar. Must be in IS0-8601 format: YYYY-MM-DD.",
1466
+ "fieldName": "value"
1478
1467
  },
1479
1468
  {
1480
- "name": "type",
1469
+ "name": "firstDayOfWeek",
1481
1470
  "type": {
1482
- "text": "\"button\" | \"submit\" | \"reset\""
1471
+ "text": "DaysOfWeek"
1483
1472
  },
1484
- "default": "\"submit\"",
1485
- "description": "The type of the button.",
1486
- "fieldName": "type"
1473
+ "description": "Which day is considered first day of the week? `0` for Sunday, `1` for Monday, etc.\nDefault is Monday.",
1474
+ "fieldName": "firstDayOfWeek"
1487
1475
  },
1488
1476
  {
1489
- "name": "size",
1477
+ "name": "min",
1490
1478
  "type": {
1491
- "text": "\"s\" | \"m\" | \"l\""
1479
+ "text": "string"
1492
1480
  },
1493
- "default": "\"m\"",
1494
- "description": "The size of the button.\nThis affects font-size and padding.",
1495
- "fieldName": "size"
1481
+ "default": "\"\"",
1482
+ "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.",
1483
+ "fieldName": "min"
1496
1484
  },
1497
1485
  {
1498
- "name": "aria-expanded",
1486
+ "name": "max",
1499
1487
  "type": {
1500
- "text": "\"true\" | \"false\" | undefined"
1488
+ "text": "string"
1501
1489
  },
1502
- "fieldName": "accessibleExpanded"
1490
+ "default": "\"\"",
1491
+ "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.",
1492
+ "fieldName": "max"
1503
1493
  },
1504
1494
  {
1505
- "name": "aria-haspopup",
1495
+ "name": "expand",
1506
1496
  "type": {
1507
- "text": "| \"false\"\n | \"true\"\n | \"menu\"\n | \"listbox\"\n | \"tree\"\n | \"grid\"\n | \"dialog\" | undefined"
1497
+ "text": "boolean"
1508
1498
  },
1509
- "fieldName": "accessibleHasPopup"
1510
- },
1499
+ "default": "false",
1500
+ "description": "Controls whether the calendar expands to fill the width of its container.",
1501
+ "fieldName": "expand"
1502
+ }
1503
+ ],
1504
+ "superclass": {
1505
+ "name": "LitElement",
1506
+ "package": "lit"
1507
+ },
1508
+ "status": "ready",
1509
+ "category": "list",
1510
+ "displayName": null,
1511
+ "tagName": "nord-calendar",
1512
+ "customElement": true
1513
+ }
1514
+ ],
1515
+ "exports": [
1516
+ {
1517
+ "kind": "js",
1518
+ "name": "default",
1519
+ "declaration": {
1520
+ "name": "Calendar",
1521
+ "module": "src/calendar/Calendar.ts"
1522
+ }
1523
+ },
1524
+ {
1525
+ "kind": "custom-element-definition",
1526
+ "name": "nord-calendar",
1527
+ "declaration": {
1528
+ "name": "Calendar",
1529
+ "module": "src/calendar/Calendar.ts"
1530
+ }
1531
+ }
1532
+ ],
1533
+ "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"
1534
+ },
1535
+ {
1536
+ "kind": "javascript-module",
1537
+ "path": "src/calendar/DateSelectEvent.ts",
1538
+ "declarations": [
1539
+ {
1540
+ "kind": "class",
1541
+ "description": "",
1542
+ "name": "DateSelectEvent",
1543
+ "superclass": {
1544
+ "name": "NordEvent",
1545
+ "module": "/src/common/events.js"
1546
+ }
1547
+ }
1548
+ ],
1549
+ "exports": [
1550
+ {
1551
+ "kind": "js",
1552
+ "name": "DateSelectEvent",
1553
+ "declaration": {
1554
+ "name": "DateSelectEvent",
1555
+ "module": "src/calendar/DateSelectEvent.ts"
1556
+ }
1557
+ }
1558
+ ],
1559
+ "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"
1560
+ },
1561
+ {
1562
+ "kind": "javascript-module",
1563
+ "path": "src/calendar/localization.ts",
1564
+ "declarations": [
1565
+ {
1566
+ "kind": "variable",
1567
+ "name": "calendarLocalization",
1568
+ "type": {
1569
+ "text": "object"
1570
+ },
1571
+ "default": "{\n prevMonthLabel: \"Previous month\",\n nextMonthLabel: \"Next month\",\n monthSelectLabel: \"Month\",\n yearSelectLabel: \"Year\",\n}"
1572
+ }
1573
+ ],
1574
+ "exports": [
1575
+ {
1576
+ "kind": "js",
1577
+ "name": "default",
1578
+ "declaration": {
1579
+ "name": "calendarLocalization",
1580
+ "module": "src/calendar/localization.ts"
1581
+ }
1582
+ }
1583
+ ],
1584
+ "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"
1585
+ },
1586
+ {
1587
+ "kind": "javascript-module",
1588
+ "path": "src/calendar/month-view.ts",
1589
+ "declarations": [
1590
+ {
1591
+ "kind": "function",
1592
+ "name": "dayView",
1593
+ "parameters": [
1594
+ {
1595
+ "name": "{\n focusedDay,\n today,\n day,\n onDaySelect,\n onKeyboardNavigation,\n disabled,\n inRange,\n isSelected,\n dateFormatter,\n}",
1596
+ "type": {
1597
+ "text": "DatePickerDayProps"
1598
+ }
1599
+ }
1600
+ ]
1601
+ },
1602
+ {
1603
+ "kind": "function",
1604
+ "name": "monthView",
1605
+ "parameters": [
1606
+ {
1607
+ "name": "{\n onFocusIn,\n onFocusOut,\n selectedDate,\n focusedDate,\n labelledById,\n dayNames,\n dayNamesShort,\n firstDayOfWeek,\n min,\n max,\n dateFormatter,\n isDateDisabled,\n onDateSelect,\n onKeyboardNavigation,\n}",
1608
+ "type": {
1609
+ "text": "MonthViewArgs"
1610
+ }
1611
+ }
1612
+ ]
1613
+ }
1614
+ ],
1615
+ "exports": [
1616
+ {
1617
+ "kind": "js",
1618
+ "name": "dayView",
1619
+ "declaration": {
1620
+ "name": "dayView",
1621
+ "module": "src/calendar/month-view.ts"
1622
+ }
1623
+ },
1624
+ {
1625
+ "kind": "js",
1626
+ "name": "monthView",
1627
+ "declaration": {
1628
+ "name": "monthView",
1629
+ "module": "src/calendar/month-view.ts"
1630
+ }
1631
+ }
1632
+ ],
1633
+ "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"
1634
+ },
1635
+ {
1636
+ "kind": "javascript-module",
1637
+ "path": "src/card/Card.ts",
1638
+ "declarations": [
1639
+ {
1640
+ "kind": "class",
1641
+ "description": "Cards are shadowed surfaces that display content and actions on a\nsingle topic. They should be easy to scan for relevant and\nactionable information.",
1642
+ "name": "Card",
1643
+ "slots": [
1511
1644
  {
1512
- "name": "href",
1513
- "type": {
1514
- "text": "string | undefined"
1515
- },
1516
- "description": "When provided, renders the button as a link,\nwith its href attribute set to the given value.",
1517
- "fieldName": "href"
1645
+ "description": "The card content.",
1646
+ "name": ""
1518
1647
  },
1519
1648
  {
1520
- "name": "download",
1521
- "type": {
1522
- "text": "boolean"
1523
- },
1524
- "default": "false",
1525
- "description": "When provided together with a href property, the button will\ntrigger a file download instead of a page visit.",
1526
- "fieldName": "download"
1649
+ "description": "Optional slot that holds a header for the card.",
1650
+ "name": "header"
1527
1651
  },
1528
1652
  {
1529
- "name": "target",
1530
- "type": {
1531
- "text": "\"_self\" | \"_blank\" | \"_parent\" | \"_top\""
1532
- },
1533
- "default": "\"_self\"",
1534
- "description": "When provided together with a href property, determines where\nto open the linked URL. The keywords have special meanings for\nwhere to load the URL: “_self” means the current browsing context,\n“_blank” usually a new tab but users can configure browsers this to\nopen a new window instead, “_parent” means the parent browsing\ncontext of the current one, but if no parent exists, behaves as\n_self, and finally “top” means the topmost browsing context.",
1535
- "fieldName": "target"
1653
+ "description": "Optional slot that positions content at the end of the header. Useful for actions or additional info.",
1654
+ "name": "header-end"
1536
1655
  },
1537
1656
  {
1538
- "name": "expand",
1539
- "type": {
1540
- "text": "boolean"
1541
- },
1542
- "default": "false",
1543
- "description": "Controls whether the button expands to fill the width of its container.",
1544
- "fieldName": "expand"
1545
- },
1657
+ "description": "Optional slot that holds footer content for the card.",
1658
+ "name": "footer"
1659
+ }
1660
+ ],
1661
+ "members": [
1546
1662
  {
1547
- "name": "loading",
1548
- "type": {
1549
- "text": "boolean"
1550
- },
1551
- "default": "false",
1552
- "description": "Controls whether the button is in loading state. Please note that the spinner\nis hidden from assistive technologies, so you need to make sure to announce\nthe loading state to e.g. screen reader users. We also recommend disabling\nall user interactions on the button itself while in loading state.",
1553
- "fieldName": "loading"
1663
+ "kind": "field",
1664
+ "name": "headerSlot",
1665
+ "privacy": "private",
1666
+ "default": "new SlotController(this, \"header\")"
1554
1667
  },
1555
1668
  {
1556
- "name": "disabled",
1557
- "type": {
1558
- "text": "boolean"
1559
- },
1560
- "default": "false",
1561
- "description": "Makes the component disabled. This prevents users from\nbeing able to interact with the component, and conveys\nits inactive state to assistive technologies.",
1562
- "fieldName": "disabled",
1563
- "inheritedFrom": {
1564
- "name": "InputMixin",
1565
- "module": "src/common/mixins/InputMixin.ts"
1566
- }
1669
+ "kind": "field",
1670
+ "name": "headerEndSlot",
1671
+ "privacy": "private",
1672
+ "default": "new SlotController(this, \"header-end\")"
1567
1673
  },
1568
1674
  {
1569
- "name": "name",
1570
- "type": {
1571
- "text": "string | undefined"
1572
- },
1573
- "description": "The name of the form component.",
1574
- "fieldName": "name",
1575
- "inheritedFrom": {
1576
- "name": "InputMixin",
1577
- "module": "src/common/mixins/InputMixin.ts"
1578
- }
1675
+ "kind": "field",
1676
+ "name": "footerSlot",
1677
+ "privacy": "private",
1678
+ "default": "new SlotController(this, \"footer\")"
1579
1679
  },
1580
1680
  {
1581
- "name": "value",
1681
+ "kind": "field",
1682
+ "name": "padding",
1582
1683
  "type": {
1583
- "text": "string"
1684
+ "text": "\"m\" | \"l\" | \"none\""
1584
1685
  },
1585
- "default": "\"\"",
1586
- "description": "The value of the form component.",
1587
- "fieldName": "value",
1588
- "inheritedFrom": {
1589
- "name": "InputMixin",
1590
- "module": "src/common/mixins/InputMixin.ts"
1591
- }
1686
+ "default": "\"m\"",
1687
+ "description": "Controls the padding of the card component. When set to “none”,\nthe header and footer slots will still have padding.",
1688
+ "attribute": "padding",
1689
+ "reflects": true
1592
1690
  }
1593
1691
  ],
1594
- "mixins": [
1595
- {
1596
- "name": "InputMixin",
1597
- "module": "/src/common/mixins/InputMixin.js"
1598
- },
1692
+ "attributes": [
1599
1693
  {
1600
- "name": "FocusableMixin",
1601
- "module": "/src/common/mixins/FocusableMixin.js"
1694
+ "name": "padding",
1695
+ "type": {
1696
+ "text": "\"m\" | \"l\" | \"none\""
1697
+ },
1698
+ "default": "\"m\"",
1699
+ "description": "Controls the padding of the card component. When set to “none”,\nthe header and footer slots will still have padding.",
1700
+ "fieldName": "padding"
1602
1701
  }
1603
1702
  ],
1604
1703
  "superclass": {
@@ -1606,9 +1705,9 @@
1606
1705
  "package": "lit"
1607
1706
  },
1608
1707
  "status": "ready",
1609
- "category": "action",
1708
+ "category": "structure",
1610
1709
  "displayName": null,
1611
- "tagName": "nord-button",
1710
+ "tagName": "nord-card",
1612
1711
  "customElement": true
1613
1712
  }
1614
1713
  ],
@@ -1617,20 +1716,20 @@
1617
1716
  "kind": "js",
1618
1717
  "name": "default",
1619
1718
  "declaration": {
1620
- "name": "Button",
1621
- "module": "src/button/Button.ts"
1719
+ "name": "Card",
1720
+ "module": "src/card/Card.ts"
1622
1721
  }
1623
1722
  },
1624
1723
  {
1625
1724
  "kind": "custom-element-definition",
1626
- "name": "nord-button",
1725
+ "name": "nord-card",
1627
1726
  "declaration": {
1628
- "name": "Button",
1629
- "module": "src/button/Button.ts"
1727
+ "name": "Card",
1728
+ "module": "src/card/Card.ts"
1630
1729
  }
1631
1730
  }
1632
1731
  ],
1633
- "readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Only use one primary button per section, as a main call-to-action.\n- Use clear and accurate labels.\n- Use established button colors appropriately. For example, only use a danger button style for an action that’s difficult or impossible to undo.\n- Prioritize the most important actions. Too many buttons will cause confusion.\n- Be consistent with positioning of buttons in the user interface.\n- Use strong, actionable verbs in labels such as “Add”, “Close”, “Cancel”, or “Save”.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don't use a primary button in every row of a table.\n- Don’t use buttons to link to other pages. Use regular link or a plain style instead where necessary.\n- Don’t use buttons for navigation where the link appears within or following a sentence.\n- Don’t use labels such as “Read more”, “Click here” or “More”.\n\n</div>\n\n---\n\n## Content guidelines\n\nButton labels should be clear, accurate and predictable. It should be possible for the user to understand what will happen when they click a button:\n\n<div class=\"n-usage n-usage-do\">View user settings</div>\n<div class=\"n-usage n-usage-dont\">Click here</div>\n\nWhen writing button labels, always write them in sentence case, not title case. The first word should be capitalized and the rest lowercase (unless a proper noun):\n\n<div class=\"n-usage n-usage-do\">My tasks</div>\n<div class=\"n-usage n-usage-dont\">My Tasks</div>\n\nAvoid unnecessary words and articles in button labels, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Add item</div>\n<div class=\"n-usage n-usage-dont\">Add an item</div>\n\n---\n\n## Variants\n\nThis section describes the different component variants, their purpose, and when to use each variant.\n\n| Name | Purpose |\n| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `default` | Default style is the most common button variant. Only switch to another variant if you need to adjust the visual weight of the element. |\n| `primary` | Primary style is reserved for main call-to-actions. Should be used only once per content area or panel, e.g. for a “Save” action. |\n| `dashed` | Dashed style should be used for actions that trigger filtering. |\n| `danger` | Danger style should be used for actions that delete data or otherwise make it hard to undo the action. |\n| `plain` | Used for less important or less common actions. Can be also used for linking to other pages. |\n| `disabled` | Used for actions that aren’t currently available or not available anymore. Also prevents users from being able to interact with the component, and conveys its inactive state to assistive technologies. |\n| `switch` | Switch style is reserved for the clinic switcher in the top left corner of an application. |\n\n---\n\n## Additional considerations\n\n- Users of assistive technology expect a button to submit data or do an action. If you need the button to navigate into another view, use the `href` property which will output `<a>` tag instead of a `<button>`.\n- When you need to disable a button, use `disabled` property as it conveys this information correctly to assistive technologies like screen readers.\n- Button component provides 3 size variants; small, medium and large. The large size should only be used for marketing purposes or on areas such as an empty space/content notice.\n"
1732
+ "readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Use to display content and actions on a single topic inside a container.\n- Use to visually separate specific parts of content in an application view.\n- Use to wrap a form into a container, for example a login form.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use when you need to capture user’s attention in a prominent way.\n- Don’t use to inform user about important changes or conditions in the interface.\n- Don’t use multiple primary buttons inside a card. A card should only contain a single primary action.\n\n</div>\n"
1634
1733
  },
1635
1734
  {
1636
1735
  "kind": "javascript-module",
@@ -2174,135 +2273,12 @@
2174
2273
  "module": "/src/common/mixins/FormAssociatedMixin.js"
2175
2274
  },
2176
2275
  {
2177
- "name": "InputMixin",
2178
- "module": "/src/common/mixins/InputMixin.js"
2179
- },
2180
- {
2181
- "name": "FocusableMixin",
2182
- "module": "/src/common/mixins/FocusableMixin.js"
2183
- }
2184
- ],
2185
- "superclass": {
2186
- "name": "LitElement",
2187
- "package": "lit"
2188
- },
2189
- "status": "ready",
2190
- "category": "form",
2191
- "displayName": null,
2192
- "tagName": "nord-checkbox",
2193
- "customElement": true,
2194
- "events": [
2195
- {
2196
- "name": "input",
2197
- "type": {
2198
- "text": "NordEvent"
2199
- },
2200
- "description": "Fired as the user types into the input.",
2201
- "inheritedFrom": {
2202
- "name": "FormAssociatedMixin",
2203
- "module": "src/common/mixins/FormAssociatedMixin.ts"
2204
- }
2205
- },
2206
- {
2207
- "name": "change",
2208
- "type": {
2209
- "text": "NordEvent"
2210
- },
2211
- "description": "Fired whenever the input's value is changed via user interaction.",
2212
- "inheritedFrom": {
2213
- "name": "FormAssociatedMixin",
2214
- "module": "src/common/mixins/FormAssociatedMixin.ts"
2215
- }
2216
- }
2217
- ]
2218
- }
2219
- ],
2220
- "exports": [
2221
- {
2222
- "kind": "js",
2223
- "name": "default",
2224
- "declaration": {
2225
- "name": "Checkbox",
2226
- "module": "src/checkbox/Checkbox.ts"
2227
- }
2228
- },
2229
- {
2230
- "kind": "custom-element-definition",
2231
- "name": "nord-checkbox",
2232
- "declaration": {
2233
- "name": "Checkbox",
2234
- "module": "src/checkbox/Checkbox.ts"
2235
- }
2236
- }
2237
- ],
2238
- "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"
2239
- },
2240
- {
2241
- "kind": "javascript-module",
2242
- "path": "src/card/Card.ts",
2243
- "declarations": [
2244
- {
2245
- "kind": "class",
2246
- "description": "Cards are shadowed surfaces that display content and actions on a\nsingle topic. They should be easy to scan for relevant and\nactionable information.",
2247
- "name": "Card",
2248
- "slots": [
2249
- {
2250
- "description": "The card content.",
2251
- "name": ""
2252
- },
2253
- {
2254
- "description": "Optional slot that holds a header for the card.",
2255
- "name": "header"
2256
- },
2257
- {
2258
- "description": "Optional slot that positions content at the end of the header. Useful for actions or additional info.",
2259
- "name": "header-end"
2260
- },
2261
- {
2262
- "description": "Optional slot that holds footer content for the card.",
2263
- "name": "footer"
2264
- }
2265
- ],
2266
- "members": [
2267
- {
2268
- "kind": "field",
2269
- "name": "headerSlot",
2270
- "privacy": "private",
2271
- "default": "new SlotController(this, \"header\")"
2272
- },
2273
- {
2274
- "kind": "field",
2275
- "name": "headerEndSlot",
2276
- "privacy": "private",
2277
- "default": "new SlotController(this, \"header-end\")"
2278
- },
2279
- {
2280
- "kind": "field",
2281
- "name": "footerSlot",
2282
- "privacy": "private",
2283
- "default": "new SlotController(this, \"footer\")"
2284
- },
2285
- {
2286
- "kind": "field",
2287
- "name": "padding",
2288
- "type": {
2289
- "text": "\"m\" | \"l\" | \"none\""
2290
- },
2291
- "default": "\"m\"",
2292
- "description": "Controls the padding of the card component. When set to “none”,\nthe header and footer slots will still have padding.",
2293
- "attribute": "padding",
2294
- "reflects": true
2295
- }
2296
- ],
2297
- "attributes": [
2276
+ "name": "InputMixin",
2277
+ "module": "/src/common/mixins/InputMixin.js"
2278
+ },
2298
2279
  {
2299
- "name": "padding",
2300
- "type": {
2301
- "text": "\"m\" | \"l\" | \"none\""
2302
- },
2303
- "default": "\"m\"",
2304
- "description": "Controls the padding of the card component. When set to “none”,\nthe header and footer slots will still have padding.",
2305
- "fieldName": "padding"
2280
+ "name": "FocusableMixin",
2281
+ "module": "/src/common/mixins/FocusableMixin.js"
2306
2282
  }
2307
2283
  ],
2308
2284
  "superclass": {
@@ -2310,10 +2286,34 @@
2310
2286
  "package": "lit"
2311
2287
  },
2312
2288
  "status": "ready",
2313
- "category": "structure",
2289
+ "category": "form",
2314
2290
  "displayName": null,
2315
- "tagName": "nord-card",
2316
- "customElement": true
2291
+ "tagName": "nord-checkbox",
2292
+ "customElement": true,
2293
+ "events": [
2294
+ {
2295
+ "name": "input",
2296
+ "type": {
2297
+ "text": "NordEvent"
2298
+ },
2299
+ "description": "Fired as the user types into the input.",
2300
+ "inheritedFrom": {
2301
+ "name": "FormAssociatedMixin",
2302
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2303
+ }
2304
+ },
2305
+ {
2306
+ "name": "change",
2307
+ "type": {
2308
+ "text": "NordEvent"
2309
+ },
2310
+ "description": "Fired whenever the input's value is changed via user interaction.",
2311
+ "inheritedFrom": {
2312
+ "name": "FormAssociatedMixin",
2313
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
2314
+ }
2315
+ }
2316
+ ]
2317
2317
  }
2318
2318
  ],
2319
2319
  "exports": [
@@ -2321,20 +2321,20 @@
2321
2321
  "kind": "js",
2322
2322
  "name": "default",
2323
2323
  "declaration": {
2324
- "name": "Card",
2325
- "module": "src/card/Card.ts"
2324
+ "name": "Checkbox",
2325
+ "module": "src/checkbox/Checkbox.ts"
2326
2326
  }
2327
2327
  },
2328
2328
  {
2329
2329
  "kind": "custom-element-definition",
2330
- "name": "nord-card",
2330
+ "name": "nord-checkbox",
2331
2331
  "declaration": {
2332
- "name": "Card",
2333
- "module": "src/card/Card.ts"
2332
+ "name": "Checkbox",
2333
+ "module": "src/checkbox/Checkbox.ts"
2334
2334
  }
2335
2335
  }
2336
2336
  ],
2337
- "readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Use to display content and actions on a single topic inside a container.\n- Use to visually separate specific parts of content in an application view.\n- Use to wrap a form into a container, for example a login form.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use when you need to capture user’s attention in a prominent way.\n- Don’t use to inform user about important changes or conditions in the interface.\n- Don’t use multiple primary buttons inside a card. A card should only contain a single primary action.\n\n</div>\n"
2337
+ "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"
2338
2338
  },
2339
2339
  {
2340
2340
  "kind": "javascript-module",
@@ -6730,11 +6730,21 @@
6730
6730
  },
6731
6731
  {
6732
6732
  "kind": "field",
6733
- "name": "navToggleEl",
6734
- "type": {
6735
- "text": "Element | undefined"
6736
- },
6737
- "privacy": "private"
6733
+ "name": "direction",
6734
+ "privacy": "private",
6735
+ "default": "new DirectionController(this)"
6736
+ },
6737
+ {
6738
+ "kind": "field",
6739
+ "name": "events",
6740
+ "privacy": "private",
6741
+ "default": "new EventController(this)"
6742
+ },
6743
+ {
6744
+ "kind": "field",
6745
+ "name": "lightDismiss",
6746
+ "privacy": "private",
6747
+ "default": "new LightDismissController(this, {\n isOpen: () => this.navState === \"opened\" && !mediaQuery.matches,\n onDismiss: () => this.navTransition(\"close\"),\n isDismissible: node => node !== this.navEl && !this.isNavToggle(node),\n })"
6738
6748
  },
6739
6749
  {
6740
6750
  "kind": "field",
@@ -6796,34 +6806,6 @@
6796
6806
  "attribute": "padding",
6797
6807
  "reflects": true
6798
6808
  },
6799
- {
6800
- "kind": "field",
6801
- "name": "lightDismiss",
6802
- "privacy": "private",
6803
- "default": "new LightDismissController(this, {\n isOpen: () => this.navState === \"opened\" && !this.mq.matches,\n onDismiss: () => this.navTransition(\"close\"),\n isDismissible: node => node !== this.navEl && node !== this.navToggleEl,\n })"
6804
- },
6805
- {
6806
- "kind": "field",
6807
- "name": "mq",
6808
- "privacy": "private",
6809
- "default": "new MediaQueryController(this, mediaQuery, () => this.handleMediaQueryChange())"
6810
- },
6811
- {
6812
- "kind": "field",
6813
- "name": "direction",
6814
- "privacy": "private",
6815
- "default": "new DirectionController(this)"
6816
- },
6817
- {
6818
- "kind": "method",
6819
- "name": "getToggleElement",
6820
- "privacy": "protected"
6821
- },
6822
- {
6823
- "kind": "method",
6824
- "name": "cleanup",
6825
- "privacy": "private"
6826
- },
6827
6809
  {
6828
6810
  "kind": "method",
6829
6811
  "name": "handleNavWidthChange",
@@ -6926,6 +6908,19 @@
6926
6908
  "name": "handleTransitionEnd",
6927
6909
  "privacy": "private"
6928
6910
  },
6911
+ {
6912
+ "kind": "method",
6913
+ "name": "isNavToggle",
6914
+ "privacy": "private",
6915
+ "parameters": [
6916
+ {
6917
+ "name": "node",
6918
+ "type": {
6919
+ "text": "EventTarget | null"
6920
+ }
6921
+ }
6922
+ ]
6923
+ },
6929
6924
  {
6930
6925
  "kind": "method",
6931
6926
  "name": "handleKeyboardResize",
@@ -8023,6 +8018,12 @@
8023
8018
  "default": "new LightDismissController(this, {\n isOpen: () => this.open,\n onDismiss: e => this.hide(e.type !== \"click\"),\n isDismissible: node => node !== this && node !== this.targetElement,\n })",
8024
8019
  "description": "Handle dismissal of the popout, clicking outside the target button and popout."
8025
8020
  },
8021
+ {
8022
+ "kind": "field",
8023
+ "name": "events",
8024
+ "privacy": "private",
8025
+ "default": "new EventController(this)"
8026
+ },
8026
8027
  {
8027
8028
  "kind": "field",
8028
8029
  "name": "direction",
@@ -8174,13 +8175,166 @@
8174
8175
  "fieldName": "position"
8175
8176
  },
8176
8177
  {
8177
- "name": "id",
8178
+ "name": "id",
8179
+ "type": {
8180
+ "text": "string"
8181
+ },
8182
+ "default": "\"\"",
8183
+ "description": "The id for the active element to reference via aria-controls.",
8184
+ "fieldName": "id"
8185
+ }
8186
+ ],
8187
+ "superclass": {
8188
+ "name": "LitElement",
8189
+ "package": "lit"
8190
+ },
8191
+ "status": "ready",
8192
+ "category": "overlay",
8193
+ "displayName": null,
8194
+ "tagName": "nord-popout",
8195
+ "customElement": true
8196
+ }
8197
+ ],
8198
+ "exports": [
8199
+ {
8200
+ "kind": "js",
8201
+ "name": "default",
8202
+ "declaration": {
8203
+ "name": "Popout",
8204
+ "module": "src/popout/Popout.ts"
8205
+ }
8206
+ },
8207
+ {
8208
+ "kind": "custom-element-definition",
8209
+ "name": "nord-popout",
8210
+ "declaration": {
8211
+ "name": "Popout",
8212
+ "module": "src/popout/Popout.ts"
8213
+ }
8214
+ }
8215
+ ],
8216
+ "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"
8217
+ },
8218
+ {
8219
+ "kind": "javascript-module",
8220
+ "path": "src/progress-bar/ProgressBar.ts",
8221
+ "declarations": [
8222
+ {
8223
+ "kind": "class",
8224
+ "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.",
8225
+ "name": "ProgressBar",
8226
+ "members": [
8227
+ {
8228
+ "kind": "field",
8229
+ "name": "value",
8230
+ "type": {
8231
+ "text": "number | undefined"
8232
+ },
8233
+ "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.",
8234
+ "attribute": "value",
8235
+ "reflects": true
8236
+ },
8237
+ {
8238
+ "kind": "field",
8239
+ "name": "max",
8240
+ "type": {
8241
+ "text": "number"
8242
+ },
8243
+ "default": "100",
8244
+ "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.",
8245
+ "attribute": "max",
8246
+ "reflects": true
8247
+ },
8248
+ {
8249
+ "kind": "field",
8250
+ "name": "label",
8251
+ "type": {
8252
+ "text": "string"
8253
+ },
8254
+ "default": "\"Current progress\"",
8255
+ "description": "Accessible label for the progress indicator. Visually hidden, but shown\nfor assistive technology.",
8256
+ "attribute": "label",
8257
+ "reflects": true
8258
+ },
8259
+ {
8260
+ "kind": "field",
8261
+ "name": "focusableRef",
8262
+ "privacy": "protected",
8263
+ "inheritedFrom": {
8264
+ "name": "FocusableMixin",
8265
+ "module": "src/common/mixins/FocusableMixin.ts"
8266
+ }
8267
+ },
8268
+ {
8269
+ "kind": "method",
8270
+ "name": "focus",
8271
+ "parameters": [
8272
+ {
8273
+ "name": "options",
8274
+ "optional": true,
8275
+ "type": {
8276
+ "text": "FocusOptions"
8277
+ },
8278
+ "description": "An object which controls aspects of the focusing process."
8279
+ }
8280
+ ],
8281
+ "description": "Programmatically move focus to the component.",
8282
+ "inheritedFrom": {
8283
+ "name": "FocusableMixin",
8284
+ "module": "src/common/mixins/FocusableMixin.ts"
8285
+ }
8286
+ },
8287
+ {
8288
+ "kind": "method",
8289
+ "name": "blur",
8290
+ "description": "Programmatically remove focus from the component.",
8291
+ "inheritedFrom": {
8292
+ "name": "FocusableMixin",
8293
+ "module": "src/common/mixins/FocusableMixin.ts"
8294
+ }
8295
+ },
8296
+ {
8297
+ "kind": "method",
8298
+ "name": "click",
8299
+ "description": "Programmatically simulates a click on the component.",
8300
+ "inheritedFrom": {
8301
+ "name": "FocusableMixin",
8302
+ "module": "src/common/mixins/FocusableMixin.ts"
8303
+ }
8304
+ }
8305
+ ],
8306
+ "attributes": [
8307
+ {
8308
+ "name": "value",
8309
+ "type": {
8310
+ "text": "number | undefined"
8311
+ },
8312
+ "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.",
8313
+ "fieldName": "value"
8314
+ },
8315
+ {
8316
+ "name": "max",
8317
+ "type": {
8318
+ "text": "number"
8319
+ },
8320
+ "default": "100",
8321
+ "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.",
8322
+ "fieldName": "max"
8323
+ },
8324
+ {
8325
+ "name": "label",
8178
8326
  "type": {
8179
8327
  "text": "string"
8180
8328
  },
8181
- "default": "\"\"",
8182
- "description": "The id for the active element to reference via aria-controls.",
8183
- "fieldName": "id"
8329
+ "default": "\"Current progress\"",
8330
+ "description": "Accessible label for the progress indicator. Visually hidden, but shown\nfor assistive technology.",
8331
+ "fieldName": "label"
8332
+ }
8333
+ ],
8334
+ "mixins": [
8335
+ {
8336
+ "name": "FocusableMixin",
8337
+ "module": "/src/common/mixins/FocusableMixin.js"
8184
8338
  }
8185
8339
  ],
8186
8340
  "superclass": {
@@ -8188,9 +8342,9 @@
8188
8342
  "package": "lit"
8189
8343
  },
8190
8344
  "status": "ready",
8191
- "category": "overlay",
8345
+ "category": "feedback",
8192
8346
  "displayName": null,
8193
- "tagName": "nord-popout",
8347
+ "tagName": "nord-progress-bar",
8194
8348
  "customElement": true
8195
8349
  }
8196
8350
  ],
@@ -8199,20 +8353,20 @@
8199
8353
  "kind": "js",
8200
8354
  "name": "default",
8201
8355
  "declaration": {
8202
- "name": "Popout",
8203
- "module": "src/popout/Popout.ts"
8356
+ "name": "ProgressBar",
8357
+ "module": "src/progress-bar/ProgressBar.ts"
8204
8358
  }
8205
8359
  },
8206
8360
  {
8207
8361
  "kind": "custom-element-definition",
8208
- "name": "nord-popout",
8362
+ "name": "nord-progress-bar",
8209
8363
  "declaration": {
8210
- "name": "Popout",
8211
- "module": "src/popout/Popout.ts"
8364
+ "name": "ProgressBar",
8365
+ "module": "src/progress-bar/ProgressBar.ts"
8212
8366
  }
8213
8367
  }
8214
8368
  ],
8215
- "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"
8369
+ "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"
8216
8370
  },
8217
8371
  {
8218
8372
  "kind": "javascript-module",
@@ -8398,159 +8552,6 @@
8398
8552
  ],
8399
8553
  "readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Use to allow people to access information on their smartphone without the need to type.\n- Always provide an alternative way to access the same information.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t hide important information behind a QR Code only.\n\n</div>\n"
8400
8554
  },
8401
- {
8402
- "kind": "javascript-module",
8403
- "path": "src/progress-bar/ProgressBar.ts",
8404
- "declarations": [
8405
- {
8406
- "kind": "class",
8407
- "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.",
8408
- "name": "ProgressBar",
8409
- "members": [
8410
- {
8411
- "kind": "field",
8412
- "name": "value",
8413
- "type": {
8414
- "text": "number | undefined"
8415
- },
8416
- "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.",
8417
- "attribute": "value",
8418
- "reflects": true
8419
- },
8420
- {
8421
- "kind": "field",
8422
- "name": "max",
8423
- "type": {
8424
- "text": "number"
8425
- },
8426
- "default": "100",
8427
- "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.",
8428
- "attribute": "max",
8429
- "reflects": true
8430
- },
8431
- {
8432
- "kind": "field",
8433
- "name": "label",
8434
- "type": {
8435
- "text": "string"
8436
- },
8437
- "default": "\"Current progress\"",
8438
- "description": "Accessible label for the progress indicator. Visually hidden, but shown\nfor assistive technology.",
8439
- "attribute": "label",
8440
- "reflects": true
8441
- },
8442
- {
8443
- "kind": "field",
8444
- "name": "focusableRef",
8445
- "privacy": "protected",
8446
- "inheritedFrom": {
8447
- "name": "FocusableMixin",
8448
- "module": "src/common/mixins/FocusableMixin.ts"
8449
- }
8450
- },
8451
- {
8452
- "kind": "method",
8453
- "name": "focus",
8454
- "parameters": [
8455
- {
8456
- "name": "options",
8457
- "optional": true,
8458
- "type": {
8459
- "text": "FocusOptions"
8460
- },
8461
- "description": "An object which controls aspects of the focusing process."
8462
- }
8463
- ],
8464
- "description": "Programmatically move focus to the component.",
8465
- "inheritedFrom": {
8466
- "name": "FocusableMixin",
8467
- "module": "src/common/mixins/FocusableMixin.ts"
8468
- }
8469
- },
8470
- {
8471
- "kind": "method",
8472
- "name": "blur",
8473
- "description": "Programmatically remove focus from the component.",
8474
- "inheritedFrom": {
8475
- "name": "FocusableMixin",
8476
- "module": "src/common/mixins/FocusableMixin.ts"
8477
- }
8478
- },
8479
- {
8480
- "kind": "method",
8481
- "name": "click",
8482
- "description": "Programmatically simulates a click on the component.",
8483
- "inheritedFrom": {
8484
- "name": "FocusableMixin",
8485
- "module": "src/common/mixins/FocusableMixin.ts"
8486
- }
8487
- }
8488
- ],
8489
- "attributes": [
8490
- {
8491
- "name": "value",
8492
- "type": {
8493
- "text": "number | undefined"
8494
- },
8495
- "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.",
8496
- "fieldName": "value"
8497
- },
8498
- {
8499
- "name": "max",
8500
- "type": {
8501
- "text": "number"
8502
- },
8503
- "default": "100",
8504
- "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.",
8505
- "fieldName": "max"
8506
- },
8507
- {
8508
- "name": "label",
8509
- "type": {
8510
- "text": "string"
8511
- },
8512
- "default": "\"Current progress\"",
8513
- "description": "Accessible label for the progress indicator. Visually hidden, but shown\nfor assistive technology.",
8514
- "fieldName": "label"
8515
- }
8516
- ],
8517
- "mixins": [
8518
- {
8519
- "name": "FocusableMixin",
8520
- "module": "/src/common/mixins/FocusableMixin.js"
8521
- }
8522
- ],
8523
- "superclass": {
8524
- "name": "LitElement",
8525
- "package": "lit"
8526
- },
8527
- "status": "ready",
8528
- "category": "feedback",
8529
- "displayName": null,
8530
- "tagName": "nord-progress-bar",
8531
- "customElement": true
8532
- }
8533
- ],
8534
- "exports": [
8535
- {
8536
- "kind": "js",
8537
- "name": "default",
8538
- "declaration": {
8539
- "name": "ProgressBar",
8540
- "module": "src/progress-bar/ProgressBar.ts"
8541
- }
8542
- },
8543
- {
8544
- "kind": "custom-element-definition",
8545
- "name": "nord-progress-bar",
8546
- "declaration": {
8547
- "name": "ProgressBar",
8548
- "module": "src/progress-bar/ProgressBar.ts"
8549
- }
8550
- }
8551
- ],
8552
- "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"
8553
- },
8554
8555
  {
8555
8556
  "kind": "javascript-module",
8556
8557
  "path": "src/radio/Radio.ts",
@@ -12780,6 +12781,42 @@
12780
12781
  }
12781
12782
  ]
12782
12783
  },
12784
+ {
12785
+ "kind": "method",
12786
+ "name": "listen",
12787
+ "return": {
12788
+ "type": {
12789
+ "text": "void"
12790
+ }
12791
+ },
12792
+ "parameters": [
12793
+ {
12794
+ "name": "element",
12795
+ "type": {
12796
+ "text": "MediaQueryList"
12797
+ }
12798
+ },
12799
+ {
12800
+ "name": "type",
12801
+ "type": {
12802
+ "text": "K"
12803
+ }
12804
+ },
12805
+ {
12806
+ "name": "listener",
12807
+ "type": {
12808
+ "text": "(this: ShadowRoot, ev: MediaQueryListEventMap[K]) => any"
12809
+ }
12810
+ },
12811
+ {
12812
+ "name": "options",
12813
+ "optional": true,
12814
+ "type": {
12815
+ "text": "boolean | AddEventListenerOptions"
12816
+ }
12817
+ }
12818
+ ]
12819
+ },
12783
12820
  {
12784
12821
  "kind": "method",
12785
12822
  "name": "listen",
@@ -12787,7 +12824,7 @@
12787
12824
  {
12788
12825
  "name": "element",
12789
12826
  "type": {
12790
- "text": "Window | Document | HTMLElement | ShadowRoot"
12827
+ "text": "Window | Document | HTMLElement | ShadowRoot | MediaQueryList"
12791
12828
  }
12792
12829
  },
12793
12830
  {
@@ -13159,53 +13196,6 @@
13159
13196
  }
13160
13197
  ]
13161
13198
  },
13162
- {
13163
- "kind": "javascript-module",
13164
- "path": "src/common/controllers/MediaQueryController.ts",
13165
- "declarations": [
13166
- {
13167
- "kind": "class",
13168
- "description": "",
13169
- "name": "MediaQueryController",
13170
- "members": [
13171
- {
13172
- "kind": "field",
13173
- "name": "mq",
13174
- "type": {
13175
- "text": "MediaQueryList"
13176
- },
13177
- "privacy": "private"
13178
- },
13179
- {
13180
- "kind": "field",
13181
- "name": "matches"
13182
- },
13183
- {
13184
- "kind": "method",
13185
- "name": "hostConnected"
13186
- },
13187
- {
13188
- "kind": "method",
13189
- "name": "hostDisconnected"
13190
- },
13191
- {
13192
- "kind": "field",
13193
- "name": "handleChange"
13194
- }
13195
- ]
13196
- }
13197
- ],
13198
- "exports": [
13199
- {
13200
- "kind": "js",
13201
- "name": "MediaQueryController",
13202
- "declaration": {
13203
- "name": "MediaQueryController",
13204
- "module": "src/common/controllers/MediaQueryController.ts"
13205
- }
13206
- }
13207
- ]
13208
- },
13209
13199
  {
13210
13200
  "kind": "javascript-module",
13211
13201
  "path": "src/common/controllers/PortalController.ts",