@nordhealth/components 1.0.0-beta.16 → 1.0.0-beta.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/custom-elements.json +1282 -1269
  2. package/lib/Button.js +1 -1
  3. package/lib/Button.js.map +1 -1
  4. package/lib/{Calendar-4cb3c8f2.js → Calendar-d2da5dc7.js} +3 -3
  5. package/lib/Calendar-d2da5dc7.js.map +1 -0
  6. package/lib/Calendar.js +1 -1
  7. package/lib/Checkbox.js +1 -1
  8. package/lib/Checkbox.js.map +1 -1
  9. package/lib/CommandMenu.js +1 -1
  10. package/lib/CommandMenu.js.map +1 -1
  11. package/lib/DatePicker.js +1 -1
  12. package/lib/DatePicker.js.map +1 -1
  13. package/lib/DateSelectEvent.js +1 -1
  14. package/lib/DateSelectEvent.js.map +1 -1
  15. package/lib/FocusableMixin-ca9d30fa.js +2 -0
  16. package/lib/{FocusableMixin-98e13999.js.map → FocusableMixin-ca9d30fa.js.map} +1 -1
  17. package/lib/Input.js +1 -1
  18. package/lib/Input.js.map +1 -1
  19. package/lib/NavItem.js +1 -1
  20. package/lib/NavItem.js.map +1 -1
  21. package/lib/Radio.js +1 -1
  22. package/lib/Radio.js.map +1 -1
  23. package/lib/Select.js +1 -1
  24. package/lib/Select.js.map +1 -1
  25. package/lib/Textarea.js +1 -1
  26. package/lib/Textarea.js.map +1 -1
  27. package/lib/bundle.js +8 -8
  28. package/lib/bundle.js.map +1 -1
  29. package/lib/index.js +1 -1
  30. package/lib/number-02c91604.js +7 -0
  31. package/lib/{number-e7cd246c.js.map → number-02c91604.js.map} +1 -1
  32. package/lib/ref-82d2502a.js +17 -0
  33. package/lib/ref-82d2502a.js.map +1 -0
  34. package/lib/src/calendar/Calendar.d.ts +8 -0
  35. package/lib/src/calendar/Calendar.test.d.ts +2 -0
  36. package/lib/src/calendar/DateSelectEvent.d.ts +1 -2
  37. package/lib/src/date-picker/DatePicker.d.ts +3 -3
  38. package/package.json +2 -2
  39. package/lib/Calendar-4cb3c8f2.js.map +0 -1
  40. package/lib/FocusableMixin-98e13999.js +0 -2
  41. package/lib/directive-helpers-e7b6bf4b.js +0 -7
  42. package/lib/directive-helpers-e7b6bf4b.js.map +0 -1
  43. package/lib/number-e7cd246c.js +0 -7
  44. package/lib/ref-eb5cfa10.js +0 -12
  45. package/lib/ref-eb5cfa10.js.map +0 -1
@@ -628,9 +628,11 @@
628
628
  "optional": true,
629
629
  "type": {
630
630
  "text": "FocusOptions & { target: \"day\" | \"month\" }"
631
- }
631
+ },
632
+ "description": "An object which controls aspects of the focusing process."
632
633
  }
633
- ]
634
+ ],
635
+ "description": "Programmatically move focus to the calendar."
634
636
  },
635
637
  {
636
638
  "kind": "method",
@@ -761,6 +763,22 @@
761
763
  "privacy": "private"
762
764
  }
763
765
  ],
766
+ "events": [
767
+ {
768
+ "name": "nord-focus-date",
769
+ "type": {
770
+ "text": "DateSelectEvent"
771
+ },
772
+ "description": "Dispatched when the calendar's focused date changes."
773
+ },
774
+ {
775
+ "type": {
776
+ "text": "DateSelectEvent"
777
+ },
778
+ "description": "Dispatched when a date is selected and the value changes.",
779
+ "name": "change"
780
+ }
781
+ ],
764
782
  "attributes": [
765
783
  {
766
784
  "name": "value",
@@ -837,15 +855,6 @@
837
855
  "description": "",
838
856
  "name": "DateSelectEvent",
839
857
  "members": [
840
- {
841
- "kind": "field",
842
- "name": "eventName",
843
- "type": {
844
- "text": "string"
845
- },
846
- "static": true,
847
- "default": "\"nord-select\""
848
- },
849
858
  {
850
859
  "kind": "field",
851
860
  "name": "date",
@@ -3595,6 +3604,51 @@
3595
3604
  }
3596
3605
  ]
3597
3606
  },
3607
+ {
3608
+ "kind": "javascript-module",
3609
+ "path": "src/empty-state/EmptyState.ts",
3610
+ "declarations": [
3611
+ {
3612
+ "kind": "class",
3613
+ "description": "Empty state can be used when there is no data to display to\ndescribe what the user can do next. Empty state provides\nexplanation and guidance to help user progress.",
3614
+ "name": "EmptyState",
3615
+ "slots": [
3616
+ {
3617
+ "description": "default slot",
3618
+ "name": ""
3619
+ }
3620
+ ],
3621
+ "members": [],
3622
+ "superclass": {
3623
+ "name": "LitElement",
3624
+ "package": "lit"
3625
+ },
3626
+ "status": "new",
3627
+ "category": "feedback",
3628
+ "tagName": "nord-empty-state",
3629
+ "customElement": true
3630
+ }
3631
+ ],
3632
+ "exports": [
3633
+ {
3634
+ "kind": "js",
3635
+ "name": "default",
3636
+ "declaration": {
3637
+ "name": "EmptyState",
3638
+ "module": "src/empty-state/EmptyState.ts"
3639
+ }
3640
+ },
3641
+ {
3642
+ "kind": "custom-element-definition",
3643
+ "name": "nord-empty-state",
3644
+ "declaration": {
3645
+ "name": "EmptyState",
3646
+ "module": "src/empty-state/EmptyState.ts"
3647
+ }
3648
+ }
3649
+ ],
3650
+ "readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Use when another component or part of UI has no items or data to show.\n- Help users by clearly explaining the benefit and utility of a product or feature.\n- Be encouraging and never make users feel unsuccessful or guilty.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use as a generic banner to highlight specific content.\n\n</div>\n\n---\n\n## Content guidelines\n\nEmpty state headings should state to the user what’s wrong or why there’s no content:\n\n<div class=\"n-usage n-usage-do\">No results found</div>\n<div class=\"n-usage n-usage-dont\">Error</div>\n\nWhen writing empty state headings, always write them in sentence case, not title case. The first word should be capitalized and the rest lowercase (unless a proper noun):\n\n<div class=\"n-usage n-usage-do\">You don’t have access to this content</div>\n<div class=\"n-usage n-usage-dont\">You Don’t Have Access To This Content</div>\n\nDescriptions in empty states should add useful and relevant additional information:\n\n<div class=\"n-usage n-usage-do\">We were unable to connect to the service. Click Retry to try again or View log to learn what happened.</div>\n<div class=\"n-usage n-usage-dont\">No connection.</div>\n\nButton labels should be clear, accurate and predictable. It should be possible for the user to understand what will happen when they click a button:\n\n<div class=\"n-usage n-usage-do\">Clear filters</div>\n<div class=\"n-usage n-usage-dont\">Clear</div>\n\nWhen writing button labels, always write them in sentence case, not title case. The first word should be capitalized and the rest lowercase (unless a proper noun):\n\n<div class=\"n-usage n-usage-do\">View log</div>\n<div class=\"n-usage n-usage-dont\">View Log</div>\n\nAvoid unnecessary words and articles in button labels, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Request access</div>\n<div class=\"n-usage n-usage-dont\">Request an access</div>\n"
3651
+ },
3598
3652
  {
3599
3653
  "kind": "javascript-module",
3600
3654
  "path": "src/date-picker/DatePicker.ts",
@@ -3773,10 +3827,14 @@
3773
3827
  "parameters": [
3774
3828
  {
3775
3829
  "name": "moveFocusToButton",
3776
- "default": "true"
3830
+ "default": "true",
3831
+ "description": "controls whether focus should be returned to the date picker's button",
3832
+ "type": {
3833
+ "text": "boolean"
3834
+ }
3777
3835
  }
3778
3836
  ],
3779
- "description": "Hide the calendar modal. Set `moveFocusToButton` to false to prevent focus\nreturning to the date picker's button. Default is true."
3837
+ "description": "Hide the calendar modal"
3780
3838
  },
3781
3839
  {
3782
3840
  "kind": "method",
@@ -4484,51 +4542,6 @@
4484
4542
  ],
4485
4543
  "readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Use when the user needs to choose a single date or a date range.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use for entering date of birth. Use input component instead.\n- Don’t use to choose a date that is over 10 years in the future or the past.\n\n</div>\n\n---\n\n## Keyboard accessibility\n\nDate picker is built to closely follow [W3C Date Picker Dialog example](https://www.w3.org/TR/wai-aria-practices/examples/dialog-modal/datepicker-dialog.html) with some small exceptions to e.g. better support iOS VoiceOver and Android TalkBack.\n\n### Choose date button\n\n- `Space, Enter`: Opens the date picker dialog and moves focus to the first select menu in the dialog.\n\n### Date picker dialog\n\n- `Esc`: Closes the date picker dialog and moves focus back to the “choose date” button.\n- `Tab`: Moves focus to the next element in the dialog. Please note since the calendar uses `role=\"grid\"`, only one button in the calendar grid is in the tab sequence. Additionally, if focus is on the last focusable element, focus is next moved back to the first focusable element inside the date picker dialog.\n- `Shift + Tab`: Same as above, but in reverse order.\n\n### Date picker dialog: Month/year buttons\n\n- `Space, Enter`: Changes the month and/or year displayed.\n\n### Date picker dialog: Date grid\n\n- `Space, Enter`: Selects a date, closes the dialog, and moves focus back to the “Choose Date” button. Additionally updates the value of the date picker input with the selected date, and adds selected date to “Choose Date” button label.\n- `Arrow up`: Moves focus to the same day of the previous week.\n- `Arrow down`: Moves focus to the same day of the next week.\n- `Arrow right`: Moves focus to the next day. In right-to-left languages, moves focus to the previous day.\n- `Arrow left`: Moves focus to the previous day. In right-to-left languages, moves focus to the next day.\n- `Home`: Moves focus to the first day (e.g Monday) of the current week.\n- `End`: Moves focus to the last day (e.g. Sunday) of the current week.\n- `Page Up`: Changes the grid of dates to the previous month and sets focus on the same day of the same week.\n- `Shift + Page Up`: Changes the grid of dates to the previous year and sets focus on the same day of the same week.\n- `Page Down`: Changes the grid of dates to the next month and sets focus on the same day of the same week.\n- `Shift + Page Down`: Changes the grid of dates to the next year and sets focus on the same day of the same week.\n\n#### Date picker dialog: Close button\n\n- `Space, Enter`: Closes the dialog, moves focus to “choose date” button, but does not update the date in input.\n"
4486
4544
  },
4487
- {
4488
- "kind": "javascript-module",
4489
- "path": "src/empty-state/EmptyState.ts",
4490
- "declarations": [
4491
- {
4492
- "kind": "class",
4493
- "description": "Empty state can be used when there is no data to display to\ndescribe what the user can do next. Empty state provides\nexplanation and guidance to help user progress.",
4494
- "name": "EmptyState",
4495
- "slots": [
4496
- {
4497
- "description": "default slot",
4498
- "name": ""
4499
- }
4500
- ],
4501
- "members": [],
4502
- "superclass": {
4503
- "name": "LitElement",
4504
- "package": "lit"
4505
- },
4506
- "status": "new",
4507
- "category": "feedback",
4508
- "tagName": "nord-empty-state",
4509
- "customElement": true
4510
- }
4511
- ],
4512
- "exports": [
4513
- {
4514
- "kind": "js",
4515
- "name": "default",
4516
- "declaration": {
4517
- "name": "EmptyState",
4518
- "module": "src/empty-state/EmptyState.ts"
4519
- }
4520
- },
4521
- {
4522
- "kind": "custom-element-definition",
4523
- "name": "nord-empty-state",
4524
- "declaration": {
4525
- "name": "EmptyState",
4526
- "module": "src/empty-state/EmptyState.ts"
4527
- }
4528
- }
4529
- ],
4530
- "readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Use when another component or part of UI has no items or data to show.\n- Help users by clearly explaining the benefit and utility of a product or feature.\n- Be encouraging and never make users feel unsuccessful or guilty.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use as a generic banner to highlight specific content.\n\n</div>\n\n---\n\n## Content guidelines\n\nEmpty state headings should state to the user what’s wrong or why there’s no content:\n\n<div class=\"n-usage n-usage-do\">No results found</div>\n<div class=\"n-usage n-usage-dont\">Error</div>\n\nWhen writing empty state headings, always write them in sentence case, not title case. The first word should be capitalized and the rest lowercase (unless a proper noun):\n\n<div class=\"n-usage n-usage-do\">You don’t have access to this content</div>\n<div class=\"n-usage n-usage-dont\">You Don’t Have Access To This Content</div>\n\nDescriptions in empty states should add useful and relevant additional information:\n\n<div class=\"n-usage n-usage-do\">We were unable to connect to the service. Click Retry to try again or View log to learn what happened.</div>\n<div class=\"n-usage n-usage-dont\">No connection.</div>\n\nButton labels should be clear, accurate and predictable. It should be possible for the user to understand what will happen when they click a button:\n\n<div class=\"n-usage n-usage-do\">Clear filters</div>\n<div class=\"n-usage n-usage-dont\">Clear</div>\n\nWhen writing button labels, always write them in sentence case, not title case. The first word should be capitalized and the rest lowercase (unless a proper noun):\n\n<div class=\"n-usage n-usage-do\">View log</div>\n<div class=\"n-usage n-usage-dont\">View Log</div>\n\nAvoid unnecessary words and articles in button labels, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Request access</div>\n<div class=\"n-usage n-usage-dont\">Request an access</div>\n"
4531
- },
4532
4545
  {
4533
4546
  "kind": "javascript-module",
4534
4547
  "path": "src/fieldset/Fieldset.ts",
@@ -4660,82 +4673,6 @@
4660
4673
  ],
4661
4674
  "readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Use the fieldset component when you need to create a relationship between multiple form inputs.\n- It is especially important to use with a group of radio components.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t place interactive content (buttons, links etc) inside the label.\n- Don’t use with a checkbox component when there is **only one** checkbox. For example, when accepting terms and conditions.\n\n</div>\n\n-------\n\n## Content guidelines\n\nFieldset label should be clear, accurate and predictable. It should help the user to understand how the items in the fieldset are grouped together, or what kind of choice the user is making:\n\n<div class=\"n-usage n-usage-do\">Pick a color</div>\n<div class=\"n-usage n-usage-dont\">Choose</div>\n\nWhen writing fieldset labels, always write them in sentence case, not title case. The first word should be capitalized and the rest lowercase (unless a proper noun):\n\n<div class=\"n-usage n-usage-do\">Pick a color</div>\n<div class=\"n-usage n-usage-dont\">Pick A Color</div>\n\nAvoid ending in punctuation if it’s a single sentence, word, or a fragment:\n\n<div class=\"n-usage n-usage-do\">Pick a color</div>\n<div class=\"n-usage n-usage-dont\">Pick a color.</div>\n\nDo not use colons in fieldset label:\n\n<div class=\"n-usage n-usage-do\">Payment details</div>\n<div class=\"n-usage n-usage-dont\">Payment details:</div>\n\n-------\n\n## Additional considerations\n\n- A label (which becomes to `<legend>` inside the fieldset) is always required.\n- Hint text can be used to offer further information or explanation for an option.\n"
4662
4675
  },
4663
- {
4664
- "kind": "javascript-module",
4665
- "path": "src/header/Header.ts",
4666
- "declarations": [
4667
- {
4668
- "kind": "class",
4669
- "description": "The header is a block of designated space for labelling the currently\nviewed context as well as providing primary actions.",
4670
- "name": "Header",
4671
- "slots": [
4672
- {
4673
- "description": "The header content.",
4674
- "name": ""
4675
- },
4676
- {
4677
- "description": "Optional slot for buttons, toggles, etc.",
4678
- "name": "action"
4679
- }
4680
- ],
4681
- "members": [
4682
- {
4683
- "kind": "field",
4684
- "name": "actionSlot",
4685
- "privacy": "private",
4686
- "default": "new SlotController(this, \"action\")"
4687
- },
4688
- {
4689
- "kind": "field",
4690
- "name": "_warningLogged",
4691
- "type": {
4692
- "text": "boolean"
4693
- },
4694
- "privacy": "private",
4695
- "static": true,
4696
- "default": "false",
4697
- "inheritedFrom": {
4698
- "name": "DraftComponentMixin",
4699
- "module": "src/common/mixins/DraftComponentMixin.ts"
4700
- }
4701
- }
4702
- ],
4703
- "mixins": [
4704
- {
4705
- "name": "DraftComponentMixin",
4706
- "module": "/src/common/mixins/DraftComponentMixin.js"
4707
- }
4708
- ],
4709
- "superclass": {
4710
- "name": "LitElement",
4711
- "package": "lit"
4712
- },
4713
- "status": "draft",
4714
- "category": "structure",
4715
- "tagName": "nord-header",
4716
- "customElement": true
4717
- }
4718
- ],
4719
- "exports": [
4720
- {
4721
- "kind": "js",
4722
- "name": "default",
4723
- "declaration": {
4724
- "name": "Header",
4725
- "module": "src/header/Header.ts"
4726
- }
4727
- },
4728
- {
4729
- "kind": "custom-element-definition",
4730
- "name": "nord-header",
4731
- "declaration": {
4732
- "name": "Header",
4733
- "module": "src/header/Header.ts"
4734
- }
4735
- }
4736
- ],
4737
- "readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Use the header component to show a heading to describe the current view.\n- Use the header component to hold primary actions.\n- Use the header component at a visual high position at full width.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t overcrowd the header component with too many actions or information.\n- Don’t nest the header component too deeply and restrict its available space.\n\n</div>\n\n-------\n\n## Content guidelines\n\nThe header component should be a containing element placed high on the page to present high level controls and to describe the page itself. It shouldn’t be overcrowded with controls or information.\n\n<div class=\"n-usage n-usage-do\">[Menu] Dashboard [Account] [Log out]</div>\n<div class=\"n-usage n-usage-dont\">[Menu] Use the cards below to view various information [Export] [Save] [Edit Profile] [Log out] [Preferences]</div>\n"
4738
- },
4739
4676
  {
4740
4677
  "kind": "javascript-module",
4741
4678
  "path": "src/icon/Icon.ts",
@@ -4973,74 +4910,150 @@
4973
4910
  },
4974
4911
  {
4975
4912
  "kind": "javascript-module",
4976
- "path": "src/input/Input.ts",
4913
+ "path": "src/header/Header.ts",
4977
4914
  "declarations": [
4978
4915
  {
4979
4916
  "kind": "class",
4980
- "description": "Inputs are used to allow users to provide text input when the expected input is short.\nAs well as plain text, Input supports various types of text, including passwords and numbers.",
4981
- "name": "Input",
4917
+ "description": "The header is a block of designated space for labelling the currently\nviewed context as well as providing primary actions.",
4918
+ "name": "Header",
4982
4919
  "slots": [
4983
4920
  {
4984
- "description": "Use when a label requires more than plain text.",
4985
- "name": "label"
4986
- },
4987
- {
4988
- "description": "Optional slot that holds hint text for the input.",
4989
- "name": "hint"
4990
- },
4991
- {
4992
- "description": "Optional slot that holds error text for the input.",
4993
- "name": "error"
4921
+ "description": "The header content.",
4922
+ "name": ""
4994
4923
  },
4995
4924
  {
4996
- "description": "Optional slot that holds an icon for the input.",
4997
- "name": "before"
4925
+ "description": "Optional slot for buttons, toggles, etc.",
4926
+ "name": "action"
4998
4927
  }
4999
4928
  ],
5000
4929
  "members": [
5001
4930
  {
5002
4931
  "kind": "field",
5003
- "name": "beforeSlot",
4932
+ "name": "actionSlot",
5004
4933
  "privacy": "private",
5005
- "default": "new SlotController(this, \"before\")"
4934
+ "default": "new SlotController(this, \"action\")"
5006
4935
  },
5007
4936
  {
5008
4937
  "kind": "field",
5009
- "name": "type",
4938
+ "name": "_warningLogged",
5010
4939
  "type": {
5011
- "text": "\"text\" | \"email\" | \"password\" | \"tel\" | \"url\" | \"search\" | \"number\""
4940
+ "text": "boolean"
5012
4941
  },
5013
- "default": "\"text\"",
5014
- "description": "The type of the input.",
5015
- "attribute": "type"
5016
- },
5017
- {
5018
- "kind": "method",
5019
- "name": "handleKeydown",
5020
4942
  "privacy": "private",
5021
- "parameters": [
5022
- {
5023
- "name": "e",
5024
- "type": {
5025
- "text": "KeyboardEvent"
5026
- }
5027
- }
5028
- ]
5029
- },
5030
- {
5031
- "kind": "field",
5032
- "name": "labelSlot",
5033
- "privacy": "protected",
5034
- "default": "new SlotController(this, \"label\")",
4943
+ "static": true,
4944
+ "default": "false",
5035
4945
  "inheritedFrom": {
5036
- "name": "FormAssociatedMixin",
5037
- "module": "src/common/mixins/FormAssociatedMixin.ts"
4946
+ "name": "DraftComponentMixin",
4947
+ "module": "src/common/mixins/DraftComponentMixin.ts"
5038
4948
  }
5039
- },
4949
+ }
4950
+ ],
4951
+ "mixins": [
5040
4952
  {
5041
- "kind": "field",
5042
- "name": "errorSlot",
5043
- "privacy": "protected",
4953
+ "name": "DraftComponentMixin",
4954
+ "module": "/src/common/mixins/DraftComponentMixin.js"
4955
+ }
4956
+ ],
4957
+ "superclass": {
4958
+ "name": "LitElement",
4959
+ "package": "lit"
4960
+ },
4961
+ "status": "draft",
4962
+ "category": "structure",
4963
+ "tagName": "nord-header",
4964
+ "customElement": true
4965
+ }
4966
+ ],
4967
+ "exports": [
4968
+ {
4969
+ "kind": "js",
4970
+ "name": "default",
4971
+ "declaration": {
4972
+ "name": "Header",
4973
+ "module": "src/header/Header.ts"
4974
+ }
4975
+ },
4976
+ {
4977
+ "kind": "custom-element-definition",
4978
+ "name": "nord-header",
4979
+ "declaration": {
4980
+ "name": "Header",
4981
+ "module": "src/header/Header.ts"
4982
+ }
4983
+ }
4984
+ ],
4985
+ "readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Use the header component to show a heading to describe the current view.\n- Use the header component to hold primary actions.\n- Use the header component at a visual high position at full width.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t overcrowd the header component with too many actions or information.\n- Don’t nest the header component too deeply and restrict its available space.\n\n</div>\n\n-------\n\n## Content guidelines\n\nThe header component should be a containing element placed high on the page to present high level controls and to describe the page itself. It shouldn’t be overcrowded with controls or information.\n\n<div class=\"n-usage n-usage-do\">[Menu] Dashboard [Account] [Log out]</div>\n<div class=\"n-usage n-usage-dont\">[Menu] Use the cards below to view various information [Export] [Save] [Edit Profile] [Log out] [Preferences]</div>\n"
4986
+ },
4987
+ {
4988
+ "kind": "javascript-module",
4989
+ "path": "src/input/Input.ts",
4990
+ "declarations": [
4991
+ {
4992
+ "kind": "class",
4993
+ "description": "Inputs are used to allow users to provide text input when the expected input is short.\nAs well as plain text, Input supports various types of text, including passwords and numbers.",
4994
+ "name": "Input",
4995
+ "slots": [
4996
+ {
4997
+ "description": "Use when a label requires more than plain text.",
4998
+ "name": "label"
4999
+ },
5000
+ {
5001
+ "description": "Optional slot that holds hint text for the input.",
5002
+ "name": "hint"
5003
+ },
5004
+ {
5005
+ "description": "Optional slot that holds error text for the input.",
5006
+ "name": "error"
5007
+ },
5008
+ {
5009
+ "description": "Optional slot that holds an icon for the input.",
5010
+ "name": "before"
5011
+ }
5012
+ ],
5013
+ "members": [
5014
+ {
5015
+ "kind": "field",
5016
+ "name": "beforeSlot",
5017
+ "privacy": "private",
5018
+ "default": "new SlotController(this, \"before\")"
5019
+ },
5020
+ {
5021
+ "kind": "field",
5022
+ "name": "type",
5023
+ "type": {
5024
+ "text": "\"text\" | \"email\" | \"password\" | \"tel\" | \"url\" | \"search\" | \"number\""
5025
+ },
5026
+ "default": "\"text\"",
5027
+ "description": "The type of the input.",
5028
+ "attribute": "type"
5029
+ },
5030
+ {
5031
+ "kind": "method",
5032
+ "name": "handleKeydown",
5033
+ "privacy": "private",
5034
+ "parameters": [
5035
+ {
5036
+ "name": "e",
5037
+ "type": {
5038
+ "text": "KeyboardEvent"
5039
+ }
5040
+ }
5041
+ ]
5042
+ },
5043
+ {
5044
+ "kind": "field",
5045
+ "name": "labelSlot",
5046
+ "privacy": "protected",
5047
+ "default": "new SlotController(this, \"label\")",
5048
+ "inheritedFrom": {
5049
+ "name": "FormAssociatedMixin",
5050
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
5051
+ }
5052
+ },
5053
+ {
5054
+ "kind": "field",
5055
+ "name": "errorSlot",
5056
+ "privacy": "protected",
5044
5057
  "default": "new SlotController(this, \"error\")",
5045
5058
  "inheritedFrom": {
5046
5059
  "name": "FormAssociatedMixin",
@@ -8576,62 +8589,30 @@
8576
8589
  },
8577
8590
  {
8578
8591
  "kind": "javascript-module",
8579
- "path": "src/common/controllers/DirectionController.ts",
8592
+ "path": "src/common/mixins/DraftComponentMixin.ts",
8580
8593
  "declarations": [
8581
8594
  {
8582
- "kind": "class",
8595
+ "kind": "mixin",
8583
8596
  "description": "",
8584
- "name": "DirectionController",
8597
+ "name": "DraftComponentMixin",
8585
8598
  "members": [
8586
8599
  {
8587
8600
  "kind": "field",
8588
- "name": "hosts",
8589
- "privacy": "private",
8590
- "static": true,
8591
- "default": "new Set<ReactiveControllerHost>()"
8592
- },
8593
- {
8594
- "kind": "field",
8595
- "name": "observer",
8601
+ "name": "_warningLogged",
8596
8602
  "type": {
8597
- "text": "MutationObserver | undefined"
8603
+ "text": "boolean"
8598
8604
  },
8599
8605
  "privacy": "private",
8600
- "static": true
8601
- },
8606
+ "static": true,
8607
+ "default": "false"
8608
+ }
8609
+ ],
8610
+ "parameters": [
8602
8611
  {
8603
- "kind": "field",
8604
- "name": "dir",
8612
+ "name": "superClass",
8605
8613
  "type": {
8606
- "text": "WritingDirection"
8614
+ "text": "T"
8607
8615
  }
8608
- },
8609
- {
8610
- "kind": "field",
8611
- "name": "isLTR"
8612
- },
8613
- {
8614
- "kind": "field",
8615
- "name": "isRTL"
8616
- },
8617
- {
8618
- "kind": "method",
8619
- "name": "hostConnected"
8620
- },
8621
- {
8622
- "kind": "method",
8623
- "name": "hostDisconnected"
8624
- },
8625
- {
8626
- "kind": "method",
8627
- "name": "observe",
8628
- "privacy": "private",
8629
- "static": true
8630
- },
8631
- {
8632
- "kind": "field",
8633
- "name": "host",
8634
- "default": "host"
8635
8616
  }
8636
8617
  ]
8637
8618
  }
@@ -8639,45 +8620,111 @@
8639
8620
  "exports": [
8640
8621
  {
8641
8622
  "kind": "js",
8642
- "name": "DirectionController",
8623
+ "name": "DraftComponentMixin",
8643
8624
  "declaration": {
8644
- "name": "DirectionController",
8645
- "module": "src/common/controllers/DirectionController.ts"
8625
+ "name": "DraftComponentMixin",
8626
+ "module": "src/common/mixins/DraftComponentMixin.ts"
8646
8627
  }
8647
8628
  }
8648
8629
  ]
8649
8630
  },
8650
8631
  {
8651
8632
  "kind": "javascript-module",
8652
- "path": "src/common/controllers/FormDataController.ts",
8633
+ "path": "src/common/mixins/FocusableMixin.ts",
8653
8634
  "declarations": [
8654
8635
  {
8655
8636
  "kind": "class",
8656
8637
  "description": "",
8657
- "name": "FormDataController",
8638
+ "name": "FocusableMixinInterface",
8658
8639
  "members": [
8640
+ {
8641
+ "kind": "field",
8642
+ "name": "focusableRef",
8643
+ "type": {
8644
+ "text": "Ref<HTMLElement>"
8645
+ },
8646
+ "privacy": "protected"
8647
+ },
8659
8648
  {
8660
8649
  "kind": "method",
8661
- "name": "hostConnected"
8650
+ "name": "focus",
8651
+ "return": {
8652
+ "type": {
8653
+ "text": "void"
8654
+ }
8655
+ },
8656
+ "parameters": [
8657
+ {
8658
+ "name": "options",
8659
+ "optional": true,
8660
+ "type": {
8661
+ "text": "FocusOptions"
8662
+ }
8663
+ }
8664
+ ]
8662
8665
  },
8663
8666
  {
8664
8667
  "kind": "method",
8665
- "name": "hostDisconnected"
8668
+ "name": "blur",
8669
+ "return": {
8670
+ "type": {
8671
+ "text": "void"
8672
+ }
8673
+ }
8666
8674
  },
8675
+ {
8676
+ "kind": "method",
8677
+ "name": "click",
8678
+ "return": {
8679
+ "type": {
8680
+ "text": "void"
8681
+ }
8682
+ }
8683
+ }
8684
+ ]
8685
+ },
8686
+ {
8687
+ "kind": "mixin",
8688
+ "description": "",
8689
+ "name": "FocusableMixin",
8690
+ "members": [
8667
8691
  {
8668
8692
  "kind": "field",
8669
- "name": "handleFormData",
8670
- "privacy": "private"
8693
+ "name": "focusableRef",
8694
+ "privacy": "protected"
8671
8695
  },
8672
8696
  {
8673
- "kind": "field",
8674
- "name": "host",
8675
- "default": "host"
8697
+ "kind": "method",
8698
+ "name": "focus",
8699
+ "parameters": [
8700
+ {
8701
+ "name": "options",
8702
+ "optional": true,
8703
+ "type": {
8704
+ "text": "FocusOptions"
8705
+ },
8706
+ "description": "An object which controls aspects of the focusing process."
8707
+ }
8708
+ ],
8709
+ "description": "Programmatically move focus to the component."
8676
8710
  },
8677
8711
  {
8678
- "kind": "field",
8679
- "name": "options",
8680
- "default": "options"
8712
+ "kind": "method",
8713
+ "name": "blur",
8714
+ "description": "Programmatically remove focus from the component."
8715
+ },
8716
+ {
8717
+ "kind": "method",
8718
+ "name": "click",
8719
+ "description": "Programmatically simulates a click on the component."
8720
+ }
8721
+ ],
8722
+ "parameters": [
8723
+ {
8724
+ "name": "superClass",
8725
+ "type": {
8726
+ "text": "T"
8727
+ }
8681
8728
  }
8682
8729
  ]
8683
8730
  }
@@ -8685,811 +8732,773 @@
8685
8732
  "exports": [
8686
8733
  {
8687
8734
  "kind": "js",
8688
- "name": "FormDataController",
8735
+ "name": "FocusableMixinInterface",
8689
8736
  "declaration": {
8690
- "name": "FormDataController",
8691
- "module": "src/common/controllers/FormDataController.ts"
8737
+ "name": "FocusableMixinInterface",
8738
+ "module": "src/common/mixins/FocusableMixin.ts"
8739
+ }
8740
+ },
8741
+ {
8742
+ "kind": "js",
8743
+ "name": "FocusableMixin",
8744
+ "declaration": {
8745
+ "name": "FocusableMixin",
8746
+ "module": "src/common/mixins/FocusableMixin.ts"
8692
8747
  }
8693
8748
  }
8694
8749
  ]
8695
8750
  },
8696
8751
  {
8697
8752
  "kind": "javascript-module",
8698
- "path": "src/common/controllers/LightDismissController.ts",
8753
+ "path": "src/common/mixins/FormAssociatedMixin.ts",
8699
8754
  "declarations": [
8700
8755
  {
8701
8756
  "kind": "class",
8702
8757
  "description": "",
8703
- "name": "LightDismissController",
8758
+ "name": "FormAssociatedMixinInterface",
8704
8759
  "members": [
8705
8760
  {
8706
8761
  "kind": "field",
8707
- "name": "shortcut",
8762
+ "name": "label",
8708
8763
  "type": {
8709
- "text": "ShortcutController"
8710
- },
8711
- "privacy": "private",
8712
- "default": "new ShortcutController(this.host, { Escape: this.handleEsc })"
8764
+ "text": "string"
8765
+ }
8713
8766
  },
8714
8767
  {
8715
- "kind": "method",
8716
- "name": "hostConnected"
8768
+ "kind": "field",
8769
+ "name": "required",
8770
+ "type": {
8771
+ "text": "boolean"
8772
+ }
8717
8773
  },
8718
8774
  {
8719
- "kind": "method",
8720
- "name": "hostDisconnected"
8775
+ "kind": "field",
8776
+ "name": "hint",
8777
+ "type": {
8778
+ "text": "string | undefined"
8779
+ }
8721
8780
  },
8722
8781
  {
8723
8782
  "kind": "field",
8724
- "name": "handleEsc",
8725
- "privacy": "private"
8783
+ "name": "hideLabel",
8784
+ "type": {
8785
+ "text": "boolean"
8786
+ }
8726
8787
  },
8727
8788
  {
8728
8789
  "kind": "field",
8729
- "name": "handleClickOut",
8730
- "privacy": "private"
8790
+ "name": "placeholder",
8791
+ "type": {
8792
+ "text": "string | undefined"
8793
+ }
8731
8794
  },
8732
8795
  {
8733
8796
  "kind": "field",
8734
- "name": "host",
8735
- "default": "host"
8797
+ "name": "error",
8798
+ "type": {
8799
+ "text": "string | undefined"
8800
+ }
8736
8801
  },
8737
8802
  {
8738
8803
  "kind": "field",
8739
- "name": "options",
8740
- "default": "options"
8741
- }
8742
- ]
8743
- }
8744
- ],
8745
- "exports": [
8746
- {
8747
- "kind": "js",
8748
- "name": "LightDismissController",
8749
- "declaration": {
8750
- "name": "LightDismissController",
8751
- "module": "src/common/controllers/LightDismissController.ts"
8752
- }
8753
- }
8754
- ]
8755
- },
8756
- {
8757
- "kind": "javascript-module",
8758
- "path": "src/common/controllers/LightDomController.ts",
8759
- "declarations": [
8760
- {
8761
- "kind": "class",
8762
- "description": "",
8763
- "name": "LightDomController",
8764
- "members": [
8804
+ "name": "expand",
8805
+ "type": {
8806
+ "text": "boolean"
8807
+ }
8808
+ },
8765
8809
  {
8766
8810
  "kind": "field",
8767
- "name": "container",
8811
+ "name": "inputId",
8768
8812
  "type": {
8769
- "text": "HTMLElement"
8813
+ "text": "string"
8770
8814
  },
8771
- "privacy": "private"
8815
+ "privacy": "protected"
8772
8816
  },
8773
8817
  {
8774
- "kind": "method",
8775
- "name": "hostUpdated"
8818
+ "kind": "field",
8819
+ "name": "errorId",
8820
+ "type": {
8821
+ "text": "string"
8822
+ },
8823
+ "privacy": "protected"
8776
8824
  },
8777
8825
  {
8778
- "kind": "method",
8779
- "name": "hostDisconnected"
8826
+ "kind": "field",
8827
+ "name": "hintId",
8828
+ "type": {
8829
+ "text": "string"
8830
+ },
8831
+ "privacy": "protected"
8780
8832
  },
8781
8833
  {
8782
8834
  "kind": "field",
8783
- "name": "host",
8784
- "default": "host"
8835
+ "name": "labelSlot",
8836
+ "type": {
8837
+ "text": "SlotController"
8838
+ },
8839
+ "privacy": "protected"
8785
8840
  },
8786
8841
  {
8787
8842
  "kind": "field",
8788
- "name": "options",
8789
- "default": "options"
8790
- }
8791
- ]
8792
- }
8793
- ],
8794
- "exports": [
8795
- {
8796
- "kind": "js",
8797
- "name": "LightDomController",
8798
- "declaration": {
8799
- "name": "LightDomController",
8800
- "module": "src/common/controllers/LightDomController.ts"
8801
- }
8802
- }
8803
- ]
8804
- },
8805
- {
8806
- "kind": "javascript-module",
8807
- "path": "src/common/controllers/LightSlotController.ts",
8808
- "declarations": [
8809
- {
8810
- "kind": "class",
8811
- "description": "Handles cases where a component needs to render to light DOM,\nand potentially sync component properties to user-supplied content.",
8812
- "name": "LightSlotController",
8813
- "members": [
8843
+ "name": "hintSlot",
8844
+ "type": {
8845
+ "text": "SlotController"
8846
+ },
8847
+ "privacy": "protected"
8848
+ },
8814
8849
  {
8815
8850
  "kind": "field",
8816
- "name": "renderHook",
8851
+ "name": "errorSlot",
8817
8852
  "type": {
8818
- "text": "Comment"
8853
+ "text": "SlotController"
8819
8854
  },
8820
- "privacy": "private"
8855
+ "privacy": "protected"
8821
8856
  },
8822
8857
  {
8823
8858
  "kind": "field",
8824
- "name": "lightDom",
8859
+ "name": "formData",
8825
8860
  "type": {
8826
- "text": "LightDomController"
8861
+ "text": "FormDataController"
8827
8862
  },
8828
- "privacy": "private",
8829
- "default": "new LightDomController(host, {\n render: () => (this.hasContent ? nothing : this.options.render()),\n renderOptions: { renderBefore: this.renderHook },\n })"
8863
+ "privacy": "protected"
8830
8864
  },
8831
8865
  {
8832
- "kind": "method",
8833
- "name": "hostConnected",
8834
- "inheritedFrom": {
8835
- "name": "SlotController",
8836
- "module": "src/common/controllers/SlotController.ts"
8837
- }
8866
+ "kind": "field",
8867
+ "name": "formValue",
8868
+ "type": {
8869
+ "text": "string | undefined"
8870
+ },
8871
+ "privacy": "protected"
8838
8872
  },
8839
8873
  {
8840
- "kind": "method",
8841
- "name": "hostDisconnected",
8842
- "inheritedFrom": {
8843
- "name": "SlotController",
8844
- "module": "src/common/controllers/SlotController.ts"
8845
- }
8874
+ "kind": "field",
8875
+ "name": "hasError",
8876
+ "type": {
8877
+ "text": "boolean"
8878
+ },
8879
+ "privacy": "protected"
8846
8880
  },
8847
8881
  {
8848
8882
  "kind": "field",
8849
- "name": "onChange",
8883
+ "name": "hasHint",
8884
+ "type": {
8885
+ "text": "boolean"
8886
+ },
8887
+ "privacy": "protected"
8888
+ },
8889
+ {
8890
+ "kind": "method",
8891
+ "name": "handleChange",
8850
8892
  "privacy": "protected",
8893
+ "return": {
8894
+ "type": {
8895
+ "text": "void"
8896
+ }
8897
+ },
8851
8898
  "parameters": [
8852
8899
  {
8853
- "name": "_e",
8900
+ "name": "e",
8854
8901
  "type": {
8855
8902
  "text": "Event"
8856
8903
  }
8857
8904
  }
8858
- ],
8859
- "inheritedFrom": {
8860
- "name": "SlotController",
8861
- "module": "src/common/controllers/SlotController.ts"
8862
- }
8905
+ ]
8863
8906
  },
8864
8907
  {
8865
8908
  "kind": "method",
8866
- "name": "syncLightDom",
8867
- "privacy": "private"
8868
- },
8869
- {
8870
- "kind": "field",
8871
- "name": "options",
8872
- "default": "options"
8909
+ "name": "handleInput",
8910
+ "privacy": "protected",
8911
+ "return": {
8912
+ "type": {
8913
+ "text": "void"
8914
+ }
8915
+ },
8916
+ "parameters": [
8917
+ {
8918
+ "name": "e",
8919
+ "type": {
8920
+ "text": "Event"
8921
+ }
8922
+ }
8923
+ ]
8873
8924
  },
8874
8925
  {
8875
- "kind": "field",
8876
- "name": "hasContent",
8877
- "inheritedFrom": {
8878
- "name": "SlotController",
8879
- "module": "src/common/controllers/SlotController.ts"
8926
+ "kind": "method",
8927
+ "name": "renderLabel",
8928
+ "privacy": "protected",
8929
+ "return": {
8930
+ "type": {
8931
+ "text": "TemplateResult"
8932
+ }
8880
8933
  }
8881
8934
  },
8882
8935
  {
8883
- "kind": "field",
8884
- "name": "isEmpty",
8885
- "inheritedFrom": {
8886
- "name": "SlotController",
8887
- "module": "src/common/controllers/SlotController.ts"
8936
+ "kind": "method",
8937
+ "name": "renderError",
8938
+ "privacy": "protected",
8939
+ "return": {
8940
+ "type": {
8941
+ "text": "TemplateResult"
8942
+ }
8888
8943
  }
8889
8944
  },
8890
8945
  {
8891
- "kind": "field",
8892
- "name": "content",
8893
- "inheritedFrom": {
8894
- "name": "SlotController",
8895
- "module": "src/common/controllers/SlotController.ts"
8946
+ "kind": "method",
8947
+ "name": "getDescribedBy",
8948
+ "privacy": "protected",
8949
+ "return": {
8950
+ "type": {
8951
+ "text": "string | undefined"
8952
+ }
8896
8953
  }
8897
8954
  },
8898
8955
  {
8899
- "kind": "field",
8900
- "name": "handleSlotChange",
8901
- "privacy": "private",
8902
- "inheritedFrom": {
8903
- "name": "SlotController",
8904
- "module": "src/common/controllers/SlotController.ts"
8956
+ "kind": "method",
8957
+ "name": "getInvalid",
8958
+ "privacy": "protected",
8959
+ "return": {
8960
+ "type": {
8961
+ "text": "\"true\" | undefined"
8962
+ }
8905
8963
  }
8964
+ }
8965
+ ]
8966
+ },
8967
+ {
8968
+ "kind": "mixin",
8969
+ "description": "",
8970
+ "name": "FormAssociatedMixin",
8971
+ "members": [
8972
+ {
8973
+ "kind": "field",
8974
+ "name": "labelSlot",
8975
+ "privacy": "protected",
8976
+ "default": "new SlotController(this, \"label\")"
8906
8977
  },
8907
8978
  {
8908
8979
  "kind": "field",
8909
- "name": "host",
8910
- "default": "host",
8911
- "inheritedFrom": {
8912
- "name": "SlotController",
8913
- "module": "src/common/controllers/SlotController.ts"
8914
- }
8980
+ "name": "errorSlot",
8981
+ "privacy": "protected",
8982
+ "default": "new SlotController(this, \"error\")"
8915
8983
  },
8916
8984
  {
8917
8985
  "kind": "field",
8918
- "name": "slotName",
8919
- "default": "slotName",
8920
- "inheritedFrom": {
8921
- "name": "SlotController",
8922
- "module": "src/common/controllers/SlotController.ts"
8923
- }
8924
- }
8925
- ],
8926
- "superclass": {
8927
- "name": "SlotController",
8928
- "module": "/src/common/controllers/SlotController.js"
8929
- },
8930
- "status": null,
8931
- "category": null
8932
- }
8933
- ],
8934
- "exports": [
8935
- {
8936
- "kind": "js",
8937
- "name": "LightSlotController",
8938
- "declaration": {
8939
- "name": "LightSlotController",
8940
- "module": "src/common/controllers/LightSlotController.ts"
8941
- }
8942
- }
8943
- ]
8944
- },
8945
- {
8946
- "kind": "javascript-module",
8947
- "path": "src/common/controllers/PortalController.ts",
8948
- "declarations": [
8949
- {
8950
- "kind": "class",
8951
- "description": "",
8952
- "name": "PortalController",
8953
- "members": [
8986
+ "name": "hintSlot",
8987
+ "privacy": "protected",
8988
+ "default": "new SlotController(this, \"hint\")"
8989
+ },
8954
8990
  {
8955
8991
  "kind": "field",
8956
- "name": "renderHook",
8992
+ "name": "formData",
8993
+ "privacy": "protected",
8994
+ "default": "new FormDataController(this, { value: () => this.formValue })"
8995
+ },
8996
+ {
8997
+ "kind": "field",
8998
+ "name": "formValue",
8999
+ "privacy": "protected"
9000
+ },
9001
+ {
9002
+ "kind": "field",
9003
+ "name": "inputId",
8957
9004
  "type": {
8958
- "text": "Comment"
9005
+ "text": "string"
8959
9006
  },
8960
- "privacy": "private"
9007
+ "privacy": "protected",
9008
+ "default": "\"input\""
8961
9009
  },
8962
9010
  {
8963
9011
  "kind": "field",
8964
- "name": "lightDom",
9012
+ "name": "errorId",
8965
9013
  "type": {
8966
- "text": "LightDomController"
9014
+ "text": "string"
8967
9015
  },
8968
- "privacy": "private",
8969
- "default": "new LightDomController(host, {\n render: () => this.options.render.call(host),\n container: options.outlet,\n renderOptions: {\n renderBefore: this.renderHook,\n host,\n },\n })"
9016
+ "privacy": "protected",
9017
+ "default": "\"error\""
8970
9018
  },
8971
9019
  {
8972
- "kind": "method",
8973
- "name": "hostConnected"
9020
+ "kind": "field",
9021
+ "name": "hintId",
9022
+ "type": {
9023
+ "text": "string"
9024
+ },
9025
+ "privacy": "protected",
9026
+ "default": "\"hint\""
8974
9027
  },
8975
9028
  {
8976
- "kind": "method",
8977
- "name": "hostUpdated"
9029
+ "kind": "field",
9030
+ "name": "label",
9031
+ "type": {
9032
+ "text": "string"
9033
+ },
9034
+ "default": "\"\"",
9035
+ "description": "Label for the input.",
9036
+ "attribute": "label"
8978
9037
  },
8979
9038
  {
8980
- "kind": "method",
8981
- "name": "hostDisconnected"
9039
+ "kind": "field",
9040
+ "name": "hint",
9041
+ "type": {
9042
+ "text": "string | undefined"
9043
+ },
9044
+ "description": "Optional hint text to be displayed with the input. Alternatively use the hint slot.",
9045
+ "attribute": "hint"
8982
9046
  },
8983
9047
  {
8984
9048
  "kind": "field",
8985
- "name": "host",
8986
- "default": "host"
9049
+ "name": "hideLabel",
9050
+ "type": {
9051
+ "text": "boolean"
9052
+ },
9053
+ "default": "false",
9054
+ "description": "Visually hide the label, but still show it to assistive technologies like screen readers.",
9055
+ "attribute": "hide-label"
8987
9056
  },
8988
9057
  {
8989
9058
  "kind": "field",
8990
- "name": "options",
8991
- "default": "options"
8992
- }
8993
- ]
8994
- }
8995
- ],
8996
- "exports": [
8997
- {
8998
- "kind": "js",
8999
- "name": "PortalController",
9000
- "declaration": {
9001
- "name": "PortalController",
9002
- "module": "src/common/controllers/PortalController.ts"
9003
- }
9004
- }
9005
- ]
9006
- },
9007
- {
9008
- "kind": "javascript-module",
9009
- "path": "src/common/controllers/ShortcutController.ts",
9010
- "declarations": [
9011
- {
9012
- "kind": "class",
9013
- "description": "",
9014
- "name": "ShortcutController",
9015
- "members": [
9059
+ "name": "placeholder",
9060
+ "type": {
9061
+ "text": "string | undefined"
9062
+ },
9063
+ "description": "Placeholder text to display within the input.",
9064
+ "attribute": "placeholder"
9065
+ },
9016
9066
  {
9017
9067
  "kind": "field",
9018
- "name": "unregister",
9068
+ "name": "error",
9019
9069
  "type": {
9020
- "text": "ReturnType<typeof tinykeys> | undefined"
9070
+ "text": "string | undefined"
9021
9071
  },
9022
- "privacy": "private"
9072
+ "description": "Optional error to be shown with the input. Alternatively use the error slot.",
9073
+ "attribute": "error"
9023
9074
  },
9024
9075
  {
9025
- "kind": "method",
9026
- "name": "hostConnected"
9076
+ "kind": "field",
9077
+ "name": "required",
9078
+ "type": {
9079
+ "text": "boolean"
9080
+ },
9081
+ "default": "false",
9082
+ "description": "Determines whether the input is required or not.\nAn input marked as required will be announced as such to users of assistive technology.\nWhen using this property you need to also set “novalidate” attribute on a form element to prevent browser from displaying its own validation errors.",
9083
+ "attribute": "required"
9027
9084
  },
9028
9085
  {
9029
- "kind": "method",
9030
- "name": "hostDisconnected"
9086
+ "kind": "field",
9087
+ "name": "expand",
9088
+ "type": {
9089
+ "text": "boolean"
9090
+ },
9091
+ "default": "false",
9092
+ "description": "Controls whether the input expands to fill the width of its container.",
9093
+ "attribute": "expand",
9094
+ "reflects": true
9031
9095
  },
9032
9096
  {
9033
9097
  "kind": "method",
9034
- "name": "unbind"
9098
+ "name": "handleInput",
9099
+ "privacy": "protected",
9100
+ "parameters": [
9101
+ {
9102
+ "name": "e",
9103
+ "type": {
9104
+ "text": "Event"
9105
+ }
9106
+ }
9107
+ ]
9035
9108
  },
9036
9109
  {
9037
9110
  "kind": "method",
9038
- "name": "bind",
9111
+ "name": "handleChange",
9112
+ "privacy": "protected",
9039
9113
  "parameters": [
9040
9114
  {
9041
- "name": "shortcuts",
9115
+ "name": "e",
9042
9116
  "type": {
9043
- "text": "KeyBindingMap"
9117
+ "text": "Event"
9044
9118
  }
9045
9119
  }
9046
9120
  ]
9047
9121
  },
9048
- {
9049
- "kind": "field",
9050
- "name": "shortcuts",
9051
- "default": "shortcuts"
9052
- },
9053
- {
9054
- "kind": "field",
9055
- "name": "target",
9056
- "default": "target"
9057
- }
9058
- ]
9059
- }
9060
- ],
9061
- "exports": [
9062
- {
9063
- "kind": "js",
9064
- "name": "ShortcutController",
9065
- "declaration": {
9066
- "name": "ShortcutController",
9067
- "module": "src/common/controllers/ShortcutController.ts"
9068
- }
9069
- },
9070
- {
9071
- "kind": "js",
9072
- "name": "ShortcutMap",
9073
- "declaration": {
9074
- "name": "KeyBindingMap",
9075
- "module": "src/common/controllers/ShortcutController.ts"
9076
- }
9077
- }
9078
- ]
9079
- },
9080
- {
9081
- "kind": "javascript-module",
9082
- "path": "src/common/controllers/SlotController.ts",
9083
- "declarations": [
9084
- {
9085
- "kind": "class",
9086
- "description": "",
9087
- "name": "SlotController",
9088
- "members": [
9089
9122
  {
9090
9123
  "kind": "method",
9091
- "name": "hostConnected"
9124
+ "name": "renderLabel",
9125
+ "privacy": "protected"
9092
9126
  },
9093
9127
  {
9094
9128
  "kind": "method",
9095
- "name": "hostDisconnected"
9096
- },
9097
- {
9098
- "kind": "field",
9099
- "name": "hasContent"
9100
- },
9101
- {
9102
- "kind": "field",
9103
- "name": "isEmpty"
9104
- },
9105
- {
9106
- "kind": "field",
9107
- "name": "content"
9129
+ "name": "renderError",
9130
+ "privacy": "protected"
9108
9131
  },
9109
9132
  {
9110
- "kind": "field",
9111
- "name": "handleSlotChange",
9112
- "privacy": "private"
9133
+ "kind": "method",
9134
+ "name": "getDescribedBy",
9135
+ "privacy": "protected"
9113
9136
  },
9114
9137
  {
9115
9138
  "kind": "method",
9116
- "name": "onChange",
9117
- "privacy": "protected",
9118
- "parameters": [
9119
- {
9120
- "name": "_e",
9121
- "type": {
9122
- "text": "Event"
9123
- }
9124
- }
9125
- ]
9139
+ "name": "getInvalid",
9140
+ "privacy": "protected"
9126
9141
  },
9127
9142
  {
9128
9143
  "kind": "field",
9129
- "name": "host",
9130
- "default": "host"
9144
+ "name": "hasHint",
9145
+ "privacy": "protected"
9131
9146
  },
9132
9147
  {
9133
9148
  "kind": "field",
9134
- "name": "slotName",
9135
- "default": "slotName"
9149
+ "name": "hasError",
9150
+ "privacy": "protected"
9136
9151
  }
9137
- ]
9138
- }
9139
- ],
9140
- "exports": [
9141
- {
9142
- "kind": "js",
9143
- "name": "SlotController",
9144
- "declaration": {
9145
- "name": "SlotController",
9146
- "module": "src/common/controllers/SlotController.ts"
9147
- }
9148
- }
9149
- ]
9150
- },
9151
- {
9152
- "kind": "javascript-module",
9153
- "path": "src/common/controllers/SwipeController.ts",
9154
- "declarations": [
9155
- {
9156
- "kind": "class",
9157
- "description": "",
9158
- "name": "SwipeController",
9159
- "members": [
9152
+ ],
9153
+ "events": [
9160
9154
  {
9161
- "kind": "field",
9162
- "name": "host",
9155
+ "name": "input",
9163
9156
  "type": {
9164
- "text": "ReactiveElement"
9157
+ "text": "NordEvent"
9165
9158
  },
9166
- "privacy": "private",
9167
- "default": "host"
9159
+ "description": "Fired as the user types into the input."
9168
9160
  },
9169
9161
  {
9170
- "kind": "field",
9171
- "name": "attached",
9162
+ "name": "change",
9172
9163
  "type": {
9173
- "text": "boolean"
9164
+ "text": "NordEvent"
9174
9165
  },
9175
- "privacy": "private",
9176
- "default": "false"
9177
- },
9166
+ "description": "Fired whenever the input's value is changed via user interaction."
9167
+ }
9168
+ ],
9169
+ "attributes": [
9178
9170
  {
9179
- "kind": "field",
9180
- "name": "initialTouchX",
9171
+ "name": "label",
9181
9172
  "type": {
9182
- "text": "number"
9173
+ "text": "string"
9183
9174
  },
9184
- "privacy": "private",
9185
- "default": "0"
9175
+ "default": "\"\"",
9176
+ "description": "Label for the input.",
9177
+ "fieldName": "label"
9186
9178
  },
9187
9179
  {
9188
- "kind": "field",
9189
- "name": "initialTouchY",
9180
+ "name": "hint",
9190
9181
  "type": {
9191
- "text": "number"
9182
+ "text": "string | undefined"
9192
9183
  },
9193
- "privacy": "private",
9194
- "default": "0"
9184
+ "description": "Optional hint text to be displayed with the input. Alternatively use the hint slot.",
9185
+ "fieldName": "hint"
9195
9186
  },
9196
9187
  {
9197
- "kind": "field",
9198
- "name": "target",
9188
+ "name": "hide-label",
9199
9189
  "type": {
9200
- "text": "() => HTMLElement"
9190
+ "text": "boolean"
9201
9191
  },
9202
- "privacy": "private"
9192
+ "default": "false",
9193
+ "description": "Visually hide the label, but still show it to assistive technologies like screen readers.",
9194
+ "fieldName": "hideLabel"
9203
9195
  },
9204
9196
  {
9205
- "kind": "field",
9206
- "name": "onSwipeEnd",
9197
+ "name": "placeholder",
9207
9198
  "type": {
9208
- "text": "SwipeControllerOptions[\"onSwipeEnd\"]"
9199
+ "text": "string | undefined"
9209
9200
  },
9210
- "privacy": "private"
9201
+ "description": "Placeholder text to display within the input.",
9202
+ "fieldName": "placeholder"
9211
9203
  },
9212
9204
  {
9213
- "kind": "field",
9214
- "name": "matchesGesture",
9205
+ "name": "error",
9215
9206
  "type": {
9216
- "text": "SwipeControllerOptions[\"matchesGesture\"]"
9217
- }
9218
- },
9219
- {
9220
- "kind": "method",
9221
- "name": "hostUpdated"
9222
- },
9223
- {
9224
- "kind": "method",
9225
- "name": "hostDisconnected"
9207
+ "text": "string | undefined"
9208
+ },
9209
+ "description": "Optional error to be shown with the input. Alternatively use the error slot.",
9210
+ "fieldName": "error"
9226
9211
  },
9227
9212
  {
9228
- "kind": "field",
9229
- "name": "handleTouchStart",
9230
- "privacy": "private"
9213
+ "name": "required",
9214
+ "type": {
9215
+ "text": "boolean"
9216
+ },
9217
+ "default": "false",
9218
+ "description": "Determines whether the input is required or not.\nAn input marked as required will be announced as such to users of assistive technology.\nWhen using this property you need to also set “novalidate” attribute on a form element to prevent browser from displaying its own validation errors.",
9219
+ "fieldName": "required"
9231
9220
  },
9232
9221
  {
9233
- "kind": "field",
9234
- "name": "handleTouchEnd",
9235
- "privacy": "private"
9236
- }
9237
- ]
9238
- },
9239
- {
9240
- "kind": "function",
9241
- "name": "isHorizontalSwipe",
9242
- "parameters": [
9243
- {
9244
- "name": "{ distX, distY }",
9222
+ "name": "expand",
9245
9223
  "type": {
9246
- "text": "SwipeDetails"
9247
- }
9224
+ "text": "boolean"
9225
+ },
9226
+ "default": "false",
9227
+ "description": "Controls whether the input expands to fill the width of its container.",
9228
+ "fieldName": "expand"
9248
9229
  }
9249
- ]
9250
- },
9251
- {
9252
- "kind": "function",
9253
- "name": "isDownwardsSwipe",
9230
+ ],
9254
9231
  "parameters": [
9255
9232
  {
9256
- "name": "{ distX, distY }",
9233
+ "name": "superClass",
9257
9234
  "type": {
9258
- "text": "SwipeDetails"
9235
+ "text": "T"
9259
9236
  }
9260
- }
9261
- ]
9262
- }
9263
- ],
9264
- "exports": [
9265
- {
9266
- "kind": "js",
9267
- "name": "SwipeController",
9268
- "declaration": {
9269
- "name": "SwipeController",
9270
- "module": "src/common/controllers/SwipeController.ts"
9271
- }
9272
- },
9273
- {
9274
- "kind": "js",
9275
- "name": "isHorizontalSwipe",
9276
- "declaration": {
9277
- "name": "isHorizontalSwipe",
9278
- "module": "src/common/controllers/SwipeController.ts"
9279
- }
9280
- },
9281
- {
9282
- "kind": "js",
9283
- "name": "isDownwardsSwipe",
9284
- "declaration": {
9285
- "name": "isDownwardsSwipe",
9286
- "module": "src/common/controllers/SwipeController.ts"
9287
- }
9288
- }
9289
- ]
9290
- },
9291
- {
9292
- "kind": "javascript-module",
9293
- "path": "src/common/directives/cond.ts",
9294
- "declarations": [
9295
- {
9296
- "kind": "variable",
9297
- "name": "cond"
9237
+ }
9238
+ ]
9298
9239
  }
9299
9240
  ],
9300
9241
  "exports": [
9301
9242
  {
9302
9243
  "kind": "js",
9303
- "name": "cond",
9244
+ "name": "FormAssociatedMixinInterface",
9304
9245
  "declaration": {
9305
- "name": "cond",
9306
- "module": "src/common/directives/cond.ts"
9246
+ "name": "FormAssociatedMixinInterface",
9247
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
9248
+ }
9249
+ },
9250
+ {
9251
+ "kind": "js",
9252
+ "name": "FormAssociatedMixin",
9253
+ "declaration": {
9254
+ "name": "FormAssociatedMixin",
9255
+ "module": "src/common/mixins/FormAssociatedMixin.ts"
9307
9256
  }
9308
9257
  }
9309
9258
  ]
9310
9259
  },
9311
9260
  {
9312
9261
  "kind": "javascript-module",
9313
- "path": "src/common/directives/wrapIf.ts",
9262
+ "path": "src/common/mixins/InputMixin.ts",
9314
9263
  "declarations": [
9315
9264
  {
9316
- "kind": "function",
9317
- "name": "wrapIf",
9318
- "return": {
9319
- "type": {
9320
- "text": "TInner"
9321
- }
9322
- },
9323
- "parameters": [
9324
- {
9325
- "name": "condition",
9326
- "type": {
9327
- "text": "false"
9328
- }
9329
- },
9265
+ "kind": "class",
9266
+ "description": "",
9267
+ "name": "InputMixinInterface",
9268
+ "members": [
9330
9269
  {
9331
- "name": "inner",
9270
+ "kind": "field",
9271
+ "name": "name",
9332
9272
  "type": {
9333
- "text": "() => TInner"
9273
+ "text": "string"
9334
9274
  }
9335
9275
  },
9336
9276
  {
9337
- "name": "wrapper",
9338
- "type": {
9339
- "text": "(inner: TInner) => TWrapper"
9340
- }
9341
- }
9342
- ]
9343
- },
9344
- {
9345
- "kind": "function",
9346
- "name": "wrapIf",
9347
- "return": {
9348
- "type": {
9349
- "text": "TWrapper"
9350
- }
9351
- },
9352
- "parameters": [
9353
- {
9354
- "name": "condition",
9277
+ "kind": "field",
9278
+ "name": "value",
9355
9279
  "type": {
9356
- "text": "true"
9280
+ "text": "string"
9357
9281
  }
9358
9282
  },
9359
9283
  {
9360
- "name": "inner",
9284
+ "kind": "field",
9285
+ "name": "disabled",
9361
9286
  "type": {
9362
- "text": "() => TInner"
9287
+ "text": "boolean"
9363
9288
  }
9364
9289
  },
9365
9290
  {
9366
- "name": "wrapper",
9291
+ "kind": "field",
9292
+ "name": "form",
9367
9293
  "type": {
9368
- "text": "(inner: TInner) => TWrapper"
9294
+ "text": "HTMLFormElement | undefined"
9369
9295
  }
9370
9296
  }
9371
9297
  ]
9372
9298
  },
9373
9299
  {
9374
- "kind": "function",
9375
- "name": "wrapIf",
9376
- "return": {
9377
- "type": {
9378
- "text": "TInner | TWrapper"
9379
- }
9380
- },
9381
- "parameters": [
9300
+ "kind": "mixin",
9301
+ "description": "",
9302
+ "name": "InputMixin",
9303
+ "members": [
9382
9304
  {
9383
- "name": "condition",
9305
+ "kind": "field",
9306
+ "name": "disabled",
9384
9307
  "type": {
9385
- "text": "unknown"
9386
- }
9308
+ "text": "boolean"
9309
+ },
9310
+ "default": "false",
9311
+ "description": "Makes the component disabled. This prevents users from\nbeing able to interact with the component, and conveys\nits inactive state to assistive technologies.",
9312
+ "attribute": "disabled",
9313
+ "reflects": true
9387
9314
  },
9388
9315
  {
9389
- "name": "inner",
9316
+ "kind": "field",
9317
+ "name": "name",
9390
9318
  "type": {
9391
- "text": "() => TInner"
9392
- }
9319
+ "text": "string | undefined"
9320
+ },
9321
+ "description": "The name of the form component.",
9322
+ "attribute": "name"
9393
9323
  },
9394
9324
  {
9395
- "name": "wrapper",
9325
+ "kind": "field",
9326
+ "name": "value",
9396
9327
  "type": {
9397
- "text": "(inner: TInner) => TWrapper"
9398
- }
9328
+ "text": "string"
9329
+ },
9330
+ "default": "\"\"",
9331
+ "description": "The value of the form component.",
9332
+ "attribute": "value"
9333
+ },
9334
+ {
9335
+ "kind": "field",
9336
+ "name": "form",
9337
+ "privacy": "protected",
9338
+ "description": "Gets the form, if any, associated with the form element."
9399
9339
  }
9400
- ]
9401
- },
9402
- {
9403
- "kind": "function",
9404
- "name": "wrapIf",
9405
- "parameters": [
9340
+ ],
9341
+ "attributes": [
9406
9342
  {
9407
- "name": "condition",
9343
+ "name": "disabled",
9408
9344
  "type": {
9409
- "text": "any"
9410
- }
9345
+ "text": "boolean"
9346
+ },
9347
+ "default": "false",
9348
+ "description": "Makes the component disabled. This prevents users from\nbeing able to interact with the component, and conveys\nits inactive state to assistive technologies.",
9349
+ "fieldName": "disabled"
9411
9350
  },
9412
9351
  {
9413
- "name": "inner",
9352
+ "name": "name",
9414
9353
  "type": {
9415
- "text": "() => TInner"
9416
- }
9354
+ "text": "string | undefined"
9355
+ },
9356
+ "description": "The name of the form component.",
9357
+ "fieldName": "name"
9417
9358
  },
9418
9359
  {
9419
- "name": "wrapper",
9360
+ "name": "value",
9420
9361
  "type": {
9421
- "text": "(innards: TInner) => TWrapper"
9422
- }
9362
+ "text": "string"
9363
+ },
9364
+ "default": "\"\"",
9365
+ "description": "The value of the form component.",
9366
+ "fieldName": "value"
9423
9367
  }
9424
9368
  ],
9425
- "return": {
9426
- "type": {
9427
- "text": ""
9369
+ "parameters": [
9370
+ {
9371
+ "name": "superClass",
9372
+ "type": {
9373
+ "text": "T"
9374
+ }
9428
9375
  }
9429
- }
9376
+ ]
9430
9377
  }
9431
9378
  ],
9432
9379
  "exports": [
9433
9380
  {
9434
9381
  "kind": "js",
9435
- "name": "wrapIf",
9382
+ "name": "InputMixinInterface",
9436
9383
  "declaration": {
9437
- "name": "wrapIf",
9438
- "module": "src/common/directives/wrapIf.ts"
9384
+ "name": "InputMixinInterface",
9385
+ "module": "src/common/mixins/InputMixin.ts"
9439
9386
  }
9440
9387
  },
9441
9388
  {
9442
9389
  "kind": "js",
9443
- "name": "wrapIf",
9390
+ "name": "InputMixin",
9444
9391
  "declaration": {
9445
- "name": "wrapIf",
9446
- "module": "src/common/directives/wrapIf.ts"
9392
+ "name": "InputMixin",
9393
+ "module": "src/common/mixins/InputMixin.ts"
9447
9394
  }
9448
- },
9395
+ }
9396
+ ]
9397
+ },
9398
+ {
9399
+ "kind": "javascript-module",
9400
+ "path": "src/common/controllers/DirectionController.ts",
9401
+ "declarations": [
9449
9402
  {
9450
- "kind": "js",
9451
- "name": "wrapIf",
9452
- "declaration": {
9453
- "name": "wrapIf",
9454
- "module": "src/common/directives/wrapIf.ts"
9455
- }
9456
- },
9403
+ "kind": "class",
9404
+ "description": "",
9405
+ "name": "DirectionController",
9406
+ "members": [
9407
+ {
9408
+ "kind": "field",
9409
+ "name": "hosts",
9410
+ "privacy": "private",
9411
+ "static": true,
9412
+ "default": "new Set<ReactiveControllerHost>()"
9413
+ },
9414
+ {
9415
+ "kind": "field",
9416
+ "name": "observer",
9417
+ "type": {
9418
+ "text": "MutationObserver | undefined"
9419
+ },
9420
+ "privacy": "private",
9421
+ "static": true
9422
+ },
9423
+ {
9424
+ "kind": "field",
9425
+ "name": "dir",
9426
+ "type": {
9427
+ "text": "WritingDirection"
9428
+ }
9429
+ },
9430
+ {
9431
+ "kind": "field",
9432
+ "name": "isLTR"
9433
+ },
9434
+ {
9435
+ "kind": "field",
9436
+ "name": "isRTL"
9437
+ },
9438
+ {
9439
+ "kind": "method",
9440
+ "name": "hostConnected"
9441
+ },
9442
+ {
9443
+ "kind": "method",
9444
+ "name": "hostDisconnected"
9445
+ },
9446
+ {
9447
+ "kind": "method",
9448
+ "name": "observe",
9449
+ "privacy": "private",
9450
+ "static": true
9451
+ },
9452
+ {
9453
+ "kind": "field",
9454
+ "name": "host",
9455
+ "default": "host"
9456
+ }
9457
+ ]
9458
+ }
9459
+ ],
9460
+ "exports": [
9457
9461
  {
9458
9462
  "kind": "js",
9459
- "name": "wrapIf",
9460
- "declaration": {
9461
- "name": "wrapIf",
9462
- "module": "src/common/directives/wrapIf.ts"
9463
+ "name": "DirectionController",
9464
+ "declaration": {
9465
+ "name": "DirectionController",
9466
+ "module": "src/common/controllers/DirectionController.ts"
9463
9467
  }
9464
9468
  }
9465
9469
  ]
9466
9470
  },
9467
9471
  {
9468
9472
  "kind": "javascript-module",
9469
- "path": "src/common/mixins/DraftComponentMixin.ts",
9473
+ "path": "src/common/controllers/FormDataController.ts",
9470
9474
  "declarations": [
9471
9475
  {
9472
- "kind": "mixin",
9476
+ "kind": "class",
9473
9477
  "description": "",
9474
- "name": "DraftComponentMixin",
9478
+ "name": "FormDataController",
9475
9479
  "members": [
9480
+ {
9481
+ "kind": "method",
9482
+ "name": "hostConnected"
9483
+ },
9484
+ {
9485
+ "kind": "method",
9486
+ "name": "hostDisconnected"
9487
+ },
9476
9488
  {
9477
9489
  "kind": "field",
9478
- "name": "_warningLogged",
9479
- "type": {
9480
- "text": "boolean"
9481
- },
9482
- "privacy": "private",
9483
- "static": true,
9484
- "default": "false"
9485
- }
9486
- ],
9487
- "parameters": [
9490
+ "name": "handleFormData",
9491
+ "privacy": "private"
9492
+ },
9488
9493
  {
9489
- "name": "superClass",
9490
- "type": {
9491
- "text": "T"
9492
- }
9494
+ "kind": "field",
9495
+ "name": "host",
9496
+ "default": "host"
9497
+ },
9498
+ {
9499
+ "kind": "field",
9500
+ "name": "options",
9501
+ "default": "options"
9493
9502
  }
9494
9503
  ]
9495
9504
  }
@@ -9497,111 +9506,108 @@
9497
9506
  "exports": [
9498
9507
  {
9499
9508
  "kind": "js",
9500
- "name": "DraftComponentMixin",
9509
+ "name": "FormDataController",
9501
9510
  "declaration": {
9502
- "name": "DraftComponentMixin",
9503
- "module": "src/common/mixins/DraftComponentMixin.ts"
9511
+ "name": "FormDataController",
9512
+ "module": "src/common/controllers/FormDataController.ts"
9504
9513
  }
9505
9514
  }
9506
9515
  ]
9507
9516
  },
9508
9517
  {
9509
9518
  "kind": "javascript-module",
9510
- "path": "src/common/mixins/FocusableMixin.ts",
9519
+ "path": "src/common/controllers/LightDismissController.ts",
9511
9520
  "declarations": [
9512
9521
  {
9513
9522
  "kind": "class",
9514
9523
  "description": "",
9515
- "name": "FocusableMixinInterface",
9524
+ "name": "LightDismissController",
9516
9525
  "members": [
9517
9526
  {
9518
9527
  "kind": "field",
9519
- "name": "focusableRef",
9528
+ "name": "shortcut",
9520
9529
  "type": {
9521
- "text": "Ref<HTMLElement>"
9530
+ "text": "ShortcutController"
9522
9531
  },
9523
- "privacy": "protected"
9532
+ "privacy": "private",
9533
+ "default": "new ShortcutController(this.host, { Escape: this.handleEsc })"
9524
9534
  },
9525
9535
  {
9526
9536
  "kind": "method",
9527
- "name": "focus",
9528
- "return": {
9529
- "type": {
9530
- "text": "void"
9531
- }
9532
- },
9533
- "parameters": [
9534
- {
9535
- "name": "options",
9536
- "optional": true,
9537
- "type": {
9538
- "text": "FocusOptions"
9539
- }
9540
- }
9541
- ]
9537
+ "name": "hostConnected"
9542
9538
  },
9543
9539
  {
9544
9540
  "kind": "method",
9545
- "name": "blur",
9546
- "return": {
9547
- "type": {
9548
- "text": "void"
9549
- }
9550
- }
9541
+ "name": "hostDisconnected"
9551
9542
  },
9552
9543
  {
9553
- "kind": "method",
9554
- "name": "click",
9555
- "return": {
9556
- "type": {
9557
- "text": "void"
9558
- }
9559
- }
9544
+ "kind": "field",
9545
+ "name": "handleEsc",
9546
+ "privacy": "private"
9547
+ },
9548
+ {
9549
+ "kind": "field",
9550
+ "name": "handleClickOut",
9551
+ "privacy": "private"
9552
+ },
9553
+ {
9554
+ "kind": "field",
9555
+ "name": "host",
9556
+ "default": "host"
9557
+ },
9558
+ {
9559
+ "kind": "field",
9560
+ "name": "options",
9561
+ "default": "options"
9560
9562
  }
9561
9563
  ]
9562
- },
9564
+ }
9565
+ ],
9566
+ "exports": [
9563
9567
  {
9564
- "kind": "mixin",
9568
+ "kind": "js",
9569
+ "name": "LightDismissController",
9570
+ "declaration": {
9571
+ "name": "LightDismissController",
9572
+ "module": "src/common/controllers/LightDismissController.ts"
9573
+ }
9574
+ }
9575
+ ]
9576
+ },
9577
+ {
9578
+ "kind": "javascript-module",
9579
+ "path": "src/common/controllers/LightDomController.ts",
9580
+ "declarations": [
9581
+ {
9582
+ "kind": "class",
9565
9583
  "description": "",
9566
- "name": "FocusableMixin",
9584
+ "name": "LightDomController",
9567
9585
  "members": [
9568
9586
  {
9569
9587
  "kind": "field",
9570
- "name": "focusableRef",
9571
- "privacy": "protected"
9588
+ "name": "container",
9589
+ "type": {
9590
+ "text": "HTMLElement"
9591
+ },
9592
+ "privacy": "private"
9572
9593
  },
9573
9594
  {
9574
9595
  "kind": "method",
9575
- "name": "focus",
9576
- "parameters": [
9577
- {
9578
- "name": "options",
9579
- "optional": true,
9580
- "type": {
9581
- "text": "FocusOptions"
9582
- },
9583
- "description": "An object which controls aspects of the focusing process."
9584
- }
9585
- ],
9586
- "description": "Programmatically move focus to the component."
9596
+ "name": "hostUpdated"
9587
9597
  },
9588
9598
  {
9589
9599
  "kind": "method",
9590
- "name": "blur",
9591
- "description": "Programmatically remove focus from the component."
9600
+ "name": "hostDisconnected"
9592
9601
  },
9593
9602
  {
9594
- "kind": "method",
9595
- "name": "click",
9596
- "description": "Programmatically simulates a click on the component."
9597
- }
9598
- ],
9599
- "parameters": [
9603
+ "kind": "field",
9604
+ "name": "host",
9605
+ "default": "host"
9606
+ },
9600
9607
  {
9601
- "name": "superClass",
9602
- "type": {
9603
- "text": "T"
9604
- }
9608
+ "kind": "field",
9609
+ "name": "options",
9610
+ "default": "options"
9605
9611
  }
9606
9612
  ]
9607
9613
  }
@@ -9609,507 +9615,468 @@
9609
9615
  "exports": [
9610
9616
  {
9611
9617
  "kind": "js",
9612
- "name": "FocusableMixinInterface",
9613
- "declaration": {
9614
- "name": "FocusableMixinInterface",
9615
- "module": "src/common/mixins/FocusableMixin.ts"
9616
- }
9617
- },
9618
- {
9619
- "kind": "js",
9620
- "name": "FocusableMixin",
9618
+ "name": "LightDomController",
9621
9619
  "declaration": {
9622
- "name": "FocusableMixin",
9623
- "module": "src/common/mixins/FocusableMixin.ts"
9620
+ "name": "LightDomController",
9621
+ "module": "src/common/controllers/LightDomController.ts"
9624
9622
  }
9625
9623
  }
9626
9624
  ]
9627
9625
  },
9628
9626
  {
9629
9627
  "kind": "javascript-module",
9630
- "path": "src/common/mixins/FormAssociatedMixin.ts",
9628
+ "path": "src/common/controllers/LightSlotController.ts",
9631
9629
  "declarations": [
9632
9630
  {
9633
9631
  "kind": "class",
9634
- "description": "",
9635
- "name": "FormAssociatedMixinInterface",
9632
+ "description": "Handles cases where a component needs to render to light DOM,\nand potentially sync component properties to user-supplied content.",
9633
+ "name": "LightSlotController",
9636
9634
  "members": [
9637
9635
  {
9638
9636
  "kind": "field",
9639
- "name": "label",
9637
+ "name": "renderHook",
9640
9638
  "type": {
9641
- "text": "string"
9642
- }
9639
+ "text": "Comment"
9640
+ },
9641
+ "privacy": "private"
9643
9642
  },
9644
9643
  {
9645
9644
  "kind": "field",
9646
- "name": "required",
9645
+ "name": "lightDom",
9647
9646
  "type": {
9648
- "text": "boolean"
9647
+ "text": "LightDomController"
9648
+ },
9649
+ "privacy": "private",
9650
+ "default": "new LightDomController(host, {\n render: () => (this.hasContent ? nothing : this.options.render()),\n renderOptions: { renderBefore: this.renderHook },\n })"
9651
+ },
9652
+ {
9653
+ "kind": "method",
9654
+ "name": "hostConnected",
9655
+ "inheritedFrom": {
9656
+ "name": "SlotController",
9657
+ "module": "src/common/controllers/SlotController.ts"
9658
+ }
9659
+ },
9660
+ {
9661
+ "kind": "method",
9662
+ "name": "hostDisconnected",
9663
+ "inheritedFrom": {
9664
+ "name": "SlotController",
9665
+ "module": "src/common/controllers/SlotController.ts"
9649
9666
  }
9650
9667
  },
9651
9668
  {
9652
9669
  "kind": "field",
9653
- "name": "hint",
9654
- "type": {
9655
- "text": "string | undefined"
9670
+ "name": "onChange",
9671
+ "privacy": "protected",
9672
+ "parameters": [
9673
+ {
9674
+ "name": "_e",
9675
+ "type": {
9676
+ "text": "Event"
9677
+ }
9678
+ }
9679
+ ],
9680
+ "inheritedFrom": {
9681
+ "name": "SlotController",
9682
+ "module": "src/common/controllers/SlotController.ts"
9683
+ }
9684
+ },
9685
+ {
9686
+ "kind": "method",
9687
+ "name": "syncLightDom",
9688
+ "privacy": "private"
9689
+ },
9690
+ {
9691
+ "kind": "field",
9692
+ "name": "options",
9693
+ "default": "options"
9694
+ },
9695
+ {
9696
+ "kind": "field",
9697
+ "name": "hasContent",
9698
+ "inheritedFrom": {
9699
+ "name": "SlotController",
9700
+ "module": "src/common/controllers/SlotController.ts"
9701
+ }
9702
+ },
9703
+ {
9704
+ "kind": "field",
9705
+ "name": "isEmpty",
9706
+ "inheritedFrom": {
9707
+ "name": "SlotController",
9708
+ "module": "src/common/controllers/SlotController.ts"
9656
9709
  }
9657
9710
  },
9658
9711
  {
9659
9712
  "kind": "field",
9660
- "name": "hideLabel",
9661
- "type": {
9662
- "text": "boolean"
9713
+ "name": "content",
9714
+ "inheritedFrom": {
9715
+ "name": "SlotController",
9716
+ "module": "src/common/controllers/SlotController.ts"
9663
9717
  }
9664
9718
  },
9665
9719
  {
9666
9720
  "kind": "field",
9667
- "name": "placeholder",
9668
- "type": {
9669
- "text": "string | undefined"
9721
+ "name": "handleSlotChange",
9722
+ "privacy": "private",
9723
+ "inheritedFrom": {
9724
+ "name": "SlotController",
9725
+ "module": "src/common/controllers/SlotController.ts"
9670
9726
  }
9671
9727
  },
9672
9728
  {
9673
9729
  "kind": "field",
9674
- "name": "error",
9675
- "type": {
9676
- "text": "string | undefined"
9730
+ "name": "host",
9731
+ "default": "host",
9732
+ "inheritedFrom": {
9733
+ "name": "SlotController",
9734
+ "module": "src/common/controllers/SlotController.ts"
9677
9735
  }
9678
9736
  },
9679
9737
  {
9680
9738
  "kind": "field",
9681
- "name": "expand",
9682
- "type": {
9683
- "text": "boolean"
9739
+ "name": "slotName",
9740
+ "default": "slotName",
9741
+ "inheritedFrom": {
9742
+ "name": "SlotController",
9743
+ "module": "src/common/controllers/SlotController.ts"
9684
9744
  }
9685
- },
9745
+ }
9746
+ ],
9747
+ "superclass": {
9748
+ "name": "SlotController",
9749
+ "module": "/src/common/controllers/SlotController.js"
9750
+ },
9751
+ "status": null,
9752
+ "category": null
9753
+ }
9754
+ ],
9755
+ "exports": [
9756
+ {
9757
+ "kind": "js",
9758
+ "name": "LightSlotController",
9759
+ "declaration": {
9760
+ "name": "LightSlotController",
9761
+ "module": "src/common/controllers/LightSlotController.ts"
9762
+ }
9763
+ }
9764
+ ]
9765
+ },
9766
+ {
9767
+ "kind": "javascript-module",
9768
+ "path": "src/common/controllers/PortalController.ts",
9769
+ "declarations": [
9770
+ {
9771
+ "kind": "class",
9772
+ "description": "",
9773
+ "name": "PortalController",
9774
+ "members": [
9686
9775
  {
9687
9776
  "kind": "field",
9688
- "name": "inputId",
9777
+ "name": "renderHook",
9689
9778
  "type": {
9690
- "text": "string"
9779
+ "text": "Comment"
9691
9780
  },
9692
- "privacy": "protected"
9781
+ "privacy": "private"
9693
9782
  },
9694
9783
  {
9695
9784
  "kind": "field",
9696
- "name": "errorId",
9785
+ "name": "lightDom",
9697
9786
  "type": {
9698
- "text": "string"
9787
+ "text": "LightDomController"
9699
9788
  },
9700
- "privacy": "protected"
9789
+ "privacy": "private",
9790
+ "default": "new LightDomController(host, {\n render: () => this.options.render.call(host),\n container: options.outlet,\n renderOptions: {\n renderBefore: this.renderHook,\n host,\n },\n })"
9701
9791
  },
9702
9792
  {
9703
- "kind": "field",
9704
- "name": "hintId",
9705
- "type": {
9706
- "text": "string"
9707
- },
9708
- "privacy": "protected"
9793
+ "kind": "method",
9794
+ "name": "hostConnected"
9709
9795
  },
9710
9796
  {
9711
- "kind": "field",
9712
- "name": "labelSlot",
9713
- "type": {
9714
- "text": "SlotController"
9715
- },
9716
- "privacy": "protected"
9797
+ "kind": "method",
9798
+ "name": "hostUpdated"
9717
9799
  },
9718
9800
  {
9719
- "kind": "field",
9720
- "name": "hintSlot",
9721
- "type": {
9722
- "text": "SlotController"
9723
- },
9724
- "privacy": "protected"
9801
+ "kind": "method",
9802
+ "name": "hostDisconnected"
9725
9803
  },
9726
9804
  {
9727
9805
  "kind": "field",
9728
- "name": "errorSlot",
9729
- "type": {
9730
- "text": "SlotController"
9731
- },
9732
- "privacy": "protected"
9806
+ "name": "host",
9807
+ "default": "host"
9733
9808
  },
9734
9809
  {
9735
9810
  "kind": "field",
9736
- "name": "formData",
9737
- "type": {
9738
- "text": "FormDataController"
9739
- },
9740
- "privacy": "protected"
9741
- },
9811
+ "name": "options",
9812
+ "default": "options"
9813
+ }
9814
+ ]
9815
+ }
9816
+ ],
9817
+ "exports": [
9818
+ {
9819
+ "kind": "js",
9820
+ "name": "PortalController",
9821
+ "declaration": {
9822
+ "name": "PortalController",
9823
+ "module": "src/common/controllers/PortalController.ts"
9824
+ }
9825
+ }
9826
+ ]
9827
+ },
9828
+ {
9829
+ "kind": "javascript-module",
9830
+ "path": "src/common/controllers/ShortcutController.ts",
9831
+ "declarations": [
9832
+ {
9833
+ "kind": "class",
9834
+ "description": "",
9835
+ "name": "ShortcutController",
9836
+ "members": [
9742
9837
  {
9743
9838
  "kind": "field",
9744
- "name": "formValue",
9839
+ "name": "unregister",
9745
9840
  "type": {
9746
- "text": "string | undefined"
9841
+ "text": "ReturnType<typeof tinykeys> | undefined"
9747
9842
  },
9748
- "privacy": "protected"
9843
+ "privacy": "private"
9749
9844
  },
9750
9845
  {
9751
- "kind": "field",
9752
- "name": "hasError",
9753
- "type": {
9754
- "text": "boolean"
9755
- },
9756
- "privacy": "protected"
9846
+ "kind": "method",
9847
+ "name": "hostConnected"
9757
9848
  },
9758
9849
  {
9759
- "kind": "field",
9760
- "name": "hasHint",
9761
- "type": {
9762
- "text": "boolean"
9763
- },
9764
- "privacy": "protected"
9850
+ "kind": "method",
9851
+ "name": "hostDisconnected"
9765
9852
  },
9766
9853
  {
9767
9854
  "kind": "method",
9768
- "name": "handleChange",
9769
- "privacy": "protected",
9770
- "return": {
9771
- "type": {
9772
- "text": "void"
9773
- }
9774
- },
9775
- "parameters": [
9776
- {
9777
- "name": "e",
9778
- "type": {
9779
- "text": "Event"
9780
- }
9781
- }
9782
- ]
9855
+ "name": "unbind"
9783
9856
  },
9784
9857
  {
9785
9858
  "kind": "method",
9786
- "name": "handleInput",
9787
- "privacy": "protected",
9788
- "return": {
9789
- "type": {
9790
- "text": "void"
9791
- }
9792
- },
9859
+ "name": "bind",
9793
9860
  "parameters": [
9794
9861
  {
9795
- "name": "e",
9862
+ "name": "shortcuts",
9796
9863
  "type": {
9797
- "text": "Event"
9864
+ "text": "KeyBindingMap"
9798
9865
  }
9799
9866
  }
9800
9867
  ]
9801
9868
  },
9802
9869
  {
9803
- "kind": "method",
9804
- "name": "renderLabel",
9805
- "privacy": "protected",
9806
- "return": {
9807
- "type": {
9808
- "text": "TemplateResult"
9809
- }
9810
- }
9811
- },
9812
- {
9813
- "kind": "method",
9814
- "name": "renderError",
9815
- "privacy": "protected",
9816
- "return": {
9817
- "type": {
9818
- "text": "TemplateResult"
9819
- }
9820
- }
9821
- },
9822
- {
9823
- "kind": "method",
9824
- "name": "getDescribedBy",
9825
- "privacy": "protected",
9826
- "return": {
9827
- "type": {
9828
- "text": "string | undefined"
9829
- }
9830
- }
9870
+ "kind": "field",
9871
+ "name": "shortcuts",
9872
+ "default": "shortcuts"
9831
9873
  },
9832
9874
  {
9833
- "kind": "method",
9834
- "name": "getInvalid",
9835
- "privacy": "protected",
9836
- "return": {
9837
- "type": {
9838
- "text": "\"true\" | undefined"
9839
- }
9840
- }
9875
+ "kind": "field",
9876
+ "name": "target",
9877
+ "default": "target"
9841
9878
  }
9842
9879
  ]
9880
+ }
9881
+ ],
9882
+ "exports": [
9883
+ {
9884
+ "kind": "js",
9885
+ "name": "ShortcutController",
9886
+ "declaration": {
9887
+ "name": "ShortcutController",
9888
+ "module": "src/common/controllers/ShortcutController.ts"
9889
+ }
9843
9890
  },
9844
9891
  {
9845
- "kind": "mixin",
9892
+ "kind": "js",
9893
+ "name": "ShortcutMap",
9894
+ "declaration": {
9895
+ "name": "KeyBindingMap",
9896
+ "module": "src/common/controllers/ShortcutController.ts"
9897
+ }
9898
+ }
9899
+ ]
9900
+ },
9901
+ {
9902
+ "kind": "javascript-module",
9903
+ "path": "src/common/controllers/SlotController.ts",
9904
+ "declarations": [
9905
+ {
9906
+ "kind": "class",
9846
9907
  "description": "",
9847
- "name": "FormAssociatedMixin",
9908
+ "name": "SlotController",
9848
9909
  "members": [
9849
9910
  {
9850
- "kind": "field",
9851
- "name": "labelSlot",
9852
- "privacy": "protected",
9853
- "default": "new SlotController(this, \"label\")"
9911
+ "kind": "method",
9912
+ "name": "hostConnected"
9854
9913
  },
9855
9914
  {
9856
- "kind": "field",
9857
- "name": "errorSlot",
9858
- "privacy": "protected",
9859
- "default": "new SlotController(this, \"error\")"
9915
+ "kind": "method",
9916
+ "name": "hostDisconnected"
9860
9917
  },
9861
9918
  {
9862
9919
  "kind": "field",
9863
- "name": "hintSlot",
9864
- "privacy": "protected",
9865
- "default": "new SlotController(this, \"hint\")"
9920
+ "name": "hasContent"
9866
9921
  },
9867
9922
  {
9868
9923
  "kind": "field",
9869
- "name": "formData",
9870
- "privacy": "protected",
9871
- "default": "new FormDataController(this, { value: () => this.formValue })"
9924
+ "name": "isEmpty"
9872
9925
  },
9873
9926
  {
9874
9927
  "kind": "field",
9875
- "name": "formValue",
9876
- "privacy": "protected"
9928
+ "name": "content"
9877
9929
  },
9878
9930
  {
9879
9931
  "kind": "field",
9880
- "name": "inputId",
9881
- "type": {
9882
- "text": "string"
9883
- },
9884
- "privacy": "protected",
9885
- "default": "\"input\""
9932
+ "name": "handleSlotChange",
9933
+ "privacy": "private"
9886
9934
  },
9887
9935
  {
9888
- "kind": "field",
9889
- "name": "errorId",
9890
- "type": {
9891
- "text": "string"
9892
- },
9936
+ "kind": "method",
9937
+ "name": "onChange",
9893
9938
  "privacy": "protected",
9894
- "default": "\"error\""
9939
+ "parameters": [
9940
+ {
9941
+ "name": "_e",
9942
+ "type": {
9943
+ "text": "Event"
9944
+ }
9945
+ }
9946
+ ]
9895
9947
  },
9896
9948
  {
9897
9949
  "kind": "field",
9898
- "name": "hintId",
9899
- "type": {
9900
- "text": "string"
9901
- },
9902
- "privacy": "protected",
9903
- "default": "\"hint\""
9950
+ "name": "host",
9951
+ "default": "host"
9904
9952
  },
9905
9953
  {
9906
9954
  "kind": "field",
9907
- "name": "label",
9908
- "type": {
9909
- "text": "string"
9910
- },
9911
- "default": "\"\"",
9912
- "description": "Label for the input.",
9913
- "attribute": "label"
9914
- },
9955
+ "name": "slotName",
9956
+ "default": "slotName"
9957
+ }
9958
+ ]
9959
+ }
9960
+ ],
9961
+ "exports": [
9962
+ {
9963
+ "kind": "js",
9964
+ "name": "SlotController",
9965
+ "declaration": {
9966
+ "name": "SlotController",
9967
+ "module": "src/common/controllers/SlotController.ts"
9968
+ }
9969
+ }
9970
+ ]
9971
+ },
9972
+ {
9973
+ "kind": "javascript-module",
9974
+ "path": "src/common/controllers/SwipeController.ts",
9975
+ "declarations": [
9976
+ {
9977
+ "kind": "class",
9978
+ "description": "",
9979
+ "name": "SwipeController",
9980
+ "members": [
9915
9981
  {
9916
9982
  "kind": "field",
9917
- "name": "hint",
9983
+ "name": "host",
9918
9984
  "type": {
9919
- "text": "string | undefined"
9985
+ "text": "ReactiveElement"
9920
9986
  },
9921
- "description": "Optional hint text to be displayed with the input. Alternatively use the hint slot.",
9922
- "attribute": "hint"
9987
+ "privacy": "private",
9988
+ "default": "host"
9923
9989
  },
9924
9990
  {
9925
9991
  "kind": "field",
9926
- "name": "hideLabel",
9992
+ "name": "attached",
9927
9993
  "type": {
9928
9994
  "text": "boolean"
9929
9995
  },
9930
- "default": "false",
9931
- "description": "Visually hide the label, but still show it to assistive technologies like screen readers.",
9932
- "attribute": "hide-label"
9996
+ "privacy": "private",
9997
+ "default": "false"
9933
9998
  },
9934
9999
  {
9935
10000
  "kind": "field",
9936
- "name": "placeholder",
10001
+ "name": "initialTouchX",
9937
10002
  "type": {
9938
- "text": "string | undefined"
10003
+ "text": "number"
9939
10004
  },
9940
- "description": "Placeholder text to display within the input.",
9941
- "attribute": "placeholder"
10005
+ "privacy": "private",
10006
+ "default": "0"
9942
10007
  },
9943
10008
  {
9944
10009
  "kind": "field",
9945
- "name": "error",
10010
+ "name": "initialTouchY",
9946
10011
  "type": {
9947
- "text": "string | undefined"
10012
+ "text": "number"
9948
10013
  },
9949
- "description": "Optional error to be shown with the input. Alternatively use the error slot.",
9950
- "attribute": "error"
10014
+ "privacy": "private",
10015
+ "default": "0"
9951
10016
  },
9952
10017
  {
9953
10018
  "kind": "field",
9954
- "name": "required",
10019
+ "name": "target",
9955
10020
  "type": {
9956
- "text": "boolean"
10021
+ "text": "() => HTMLElement"
9957
10022
  },
9958
- "default": "false",
9959
- "description": "Determines whether the input is required or not.\nAn input marked as required will be announced as such to users of assistive technology.\nWhen using this property you need to also set “novalidate” attribute on a form element to prevent browser from displaying its own validation errors.",
9960
- "attribute": "required"
10023
+ "privacy": "private"
9961
10024
  },
9962
10025
  {
9963
10026
  "kind": "field",
9964
- "name": "expand",
10027
+ "name": "onSwipeEnd",
9965
10028
  "type": {
9966
- "text": "boolean"
10029
+ "text": "SwipeControllerOptions[\"onSwipeEnd\"]"
9967
10030
  },
9968
- "default": "false",
9969
- "description": "Controls whether the input expands to fill the width of its container.",
9970
- "attribute": "expand",
9971
- "reflects": true
9972
- },
9973
- {
9974
- "kind": "method",
9975
- "name": "handleInput",
9976
- "privacy": "protected",
9977
- "parameters": [
9978
- {
9979
- "name": "e",
9980
- "type": {
9981
- "text": "Event"
9982
- }
9983
- }
9984
- ]
9985
- },
9986
- {
9987
- "kind": "method",
9988
- "name": "handleChange",
9989
- "privacy": "protected",
9990
- "parameters": [
9991
- {
9992
- "name": "e",
9993
- "type": {
9994
- "text": "Event"
9995
- }
9996
- }
9997
- ]
9998
- },
9999
- {
10000
- "kind": "method",
10001
- "name": "renderLabel",
10002
- "privacy": "protected"
10031
+ "privacy": "private"
10003
10032
  },
10004
10033
  {
10005
- "kind": "method",
10006
- "name": "renderError",
10007
- "privacy": "protected"
10034
+ "kind": "field",
10035
+ "name": "matchesGesture",
10036
+ "type": {
10037
+ "text": "SwipeControllerOptions[\"matchesGesture\"]"
10038
+ }
10008
10039
  },
10009
10040
  {
10010
10041
  "kind": "method",
10011
- "name": "getDescribedBy",
10012
- "privacy": "protected"
10042
+ "name": "hostUpdated"
10013
10043
  },
10014
10044
  {
10015
10045
  "kind": "method",
10016
- "name": "getInvalid",
10017
- "privacy": "protected"
10018
- },
10019
- {
10020
- "kind": "field",
10021
- "name": "hasHint",
10022
- "privacy": "protected"
10046
+ "name": "hostDisconnected"
10023
10047
  },
10024
10048
  {
10025
10049
  "kind": "field",
10026
- "name": "hasError",
10027
- "privacy": "protected"
10028
- }
10029
- ],
10030
- "events": [
10031
- {
10032
- "name": "input",
10033
- "type": {
10034
- "text": "NordEvent"
10035
- },
10036
- "description": "Fired as the user types into the input."
10037
- },
10038
- {
10039
- "name": "change",
10040
- "type": {
10041
- "text": "NordEvent"
10042
- },
10043
- "description": "Fired whenever the input's value is changed via user interaction."
10044
- }
10045
- ],
10046
- "attributes": [
10047
- {
10048
- "name": "label",
10049
- "type": {
10050
- "text": "string"
10051
- },
10052
- "default": "\"\"",
10053
- "description": "Label for the input.",
10054
- "fieldName": "label"
10055
- },
10056
- {
10057
- "name": "hint",
10058
- "type": {
10059
- "text": "string | undefined"
10060
- },
10061
- "description": "Optional hint text to be displayed with the input. Alternatively use the hint slot.",
10062
- "fieldName": "hint"
10063
- },
10064
- {
10065
- "name": "hide-label",
10066
- "type": {
10067
- "text": "boolean"
10068
- },
10069
- "default": "false",
10070
- "description": "Visually hide the label, but still show it to assistive technologies like screen readers.",
10071
- "fieldName": "hideLabel"
10072
- },
10073
- {
10074
- "name": "placeholder",
10075
- "type": {
10076
- "text": "string | undefined"
10077
- },
10078
- "description": "Placeholder text to display within the input.",
10079
- "fieldName": "placeholder"
10080
- },
10081
- {
10082
- "name": "error",
10083
- "type": {
10084
- "text": "string | undefined"
10085
- },
10086
- "description": "Optional error to be shown with the input. Alternatively use the error slot.",
10087
- "fieldName": "error"
10050
+ "name": "handleTouchStart",
10051
+ "privacy": "private"
10088
10052
  },
10089
10053
  {
10090
- "name": "required",
10091
- "type": {
10092
- "text": "boolean"
10093
- },
10094
- "default": "false",
10095
- "description": "Determines whether the input is required or not.\nAn input marked as required will be announced as such to users of assistive technology.\nWhen using this property you need to also set “novalidate” attribute on a form element to prevent browser from displaying its own validation errors.",
10096
- "fieldName": "required"
10097
- },
10054
+ "kind": "field",
10055
+ "name": "handleTouchEnd",
10056
+ "privacy": "private"
10057
+ }
10058
+ ]
10059
+ },
10060
+ {
10061
+ "kind": "function",
10062
+ "name": "isHorizontalSwipe",
10063
+ "parameters": [
10098
10064
  {
10099
- "name": "expand",
10065
+ "name": "{ distX, distY }",
10100
10066
  "type": {
10101
- "text": "boolean"
10102
- },
10103
- "default": "false",
10104
- "description": "Controls whether the input expands to fill the width of its container.",
10105
- "fieldName": "expand"
10067
+ "text": "SwipeDetails"
10068
+ }
10106
10069
  }
10107
- ],
10070
+ ]
10071
+ },
10072
+ {
10073
+ "kind": "function",
10074
+ "name": "isDownwardsSwipe",
10108
10075
  "parameters": [
10109
10076
  {
10110
- "name": "superClass",
10077
+ "name": "{ distX, distY }",
10111
10078
  "type": {
10112
- "text": "T"
10079
+ "text": "SwipeDetails"
10113
10080
  }
10114
10081
  }
10115
10082
  ]
@@ -10118,156 +10085,202 @@
10118
10085
  "exports": [
10119
10086
  {
10120
10087
  "kind": "js",
10121
- "name": "FormAssociatedMixinInterface",
10088
+ "name": "SwipeController",
10122
10089
  "declaration": {
10123
- "name": "FormAssociatedMixinInterface",
10124
- "module": "src/common/mixins/FormAssociatedMixin.ts"
10090
+ "name": "SwipeController",
10091
+ "module": "src/common/controllers/SwipeController.ts"
10125
10092
  }
10126
10093
  },
10127
10094
  {
10128
10095
  "kind": "js",
10129
- "name": "FormAssociatedMixin",
10096
+ "name": "isHorizontalSwipe",
10130
10097
  "declaration": {
10131
- "name": "FormAssociatedMixin",
10132
- "module": "src/common/mixins/FormAssociatedMixin.ts"
10098
+ "name": "isHorizontalSwipe",
10099
+ "module": "src/common/controllers/SwipeController.ts"
10100
+ }
10101
+ },
10102
+ {
10103
+ "kind": "js",
10104
+ "name": "isDownwardsSwipe",
10105
+ "declaration": {
10106
+ "name": "isDownwardsSwipe",
10107
+ "module": "src/common/controllers/SwipeController.ts"
10133
10108
  }
10134
10109
  }
10135
10110
  ]
10136
10111
  },
10137
10112
  {
10138
10113
  "kind": "javascript-module",
10139
- "path": "src/common/mixins/InputMixin.ts",
10114
+ "path": "src/common/directives/cond.ts",
10140
10115
  "declarations": [
10141
10116
  {
10142
- "kind": "class",
10143
- "description": "",
10144
- "name": "InputMixinInterface",
10145
- "members": [
10117
+ "kind": "variable",
10118
+ "name": "cond"
10119
+ }
10120
+ ],
10121
+ "exports": [
10122
+ {
10123
+ "kind": "js",
10124
+ "name": "cond",
10125
+ "declaration": {
10126
+ "name": "cond",
10127
+ "module": "src/common/directives/cond.ts"
10128
+ }
10129
+ }
10130
+ ]
10131
+ },
10132
+ {
10133
+ "kind": "javascript-module",
10134
+ "path": "src/common/directives/wrapIf.ts",
10135
+ "declarations": [
10136
+ {
10137
+ "kind": "function",
10138
+ "name": "wrapIf",
10139
+ "return": {
10140
+ "type": {
10141
+ "text": "TInner"
10142
+ }
10143
+ },
10144
+ "parameters": [
10146
10145
  {
10147
- "kind": "field",
10148
- "name": "name",
10146
+ "name": "condition",
10149
10147
  "type": {
10150
- "text": "string"
10148
+ "text": "false"
10151
10149
  }
10152
10150
  },
10153
10151
  {
10154
- "kind": "field",
10155
- "name": "value",
10152
+ "name": "inner",
10156
10153
  "type": {
10157
- "text": "string"
10154
+ "text": "() => TInner"
10158
10155
  }
10159
10156
  },
10160
10157
  {
10161
- "kind": "field",
10162
- "name": "disabled",
10158
+ "name": "wrapper",
10163
10159
  "type": {
10164
- "text": "boolean"
10160
+ "text": "(inner: TInner) => TWrapper"
10161
+ }
10162
+ }
10163
+ ]
10164
+ },
10165
+ {
10166
+ "kind": "function",
10167
+ "name": "wrapIf",
10168
+ "return": {
10169
+ "type": {
10170
+ "text": "TWrapper"
10171
+ }
10172
+ },
10173
+ "parameters": [
10174
+ {
10175
+ "name": "condition",
10176
+ "type": {
10177
+ "text": "true"
10165
10178
  }
10166
10179
  },
10167
10180
  {
10168
- "kind": "field",
10169
- "name": "form",
10181
+ "name": "inner",
10170
10182
  "type": {
10171
- "text": "HTMLFormElement | undefined"
10183
+ "text": "() => TInner"
10184
+ }
10185
+ },
10186
+ {
10187
+ "name": "wrapper",
10188
+ "type": {
10189
+ "text": "(inner: TInner) => TWrapper"
10172
10190
  }
10173
10191
  }
10174
10192
  ]
10175
10193
  },
10176
10194
  {
10177
- "kind": "mixin",
10178
- "description": "",
10179
- "name": "InputMixin",
10180
- "members": [
10195
+ "kind": "function",
10196
+ "name": "wrapIf",
10197
+ "return": {
10198
+ "type": {
10199
+ "text": "TInner | TWrapper"
10200
+ }
10201
+ },
10202
+ "parameters": [
10181
10203
  {
10182
- "kind": "field",
10183
- "name": "disabled",
10204
+ "name": "condition",
10184
10205
  "type": {
10185
- "text": "boolean"
10186
- },
10187
- "default": "false",
10188
- "description": "Makes the component disabled. This prevents users from\nbeing able to interact with the component, and conveys\nits inactive state to assistive technologies.",
10189
- "attribute": "disabled",
10190
- "reflects": true
10206
+ "text": "unknown"
10207
+ }
10191
10208
  },
10192
10209
  {
10193
- "kind": "field",
10194
- "name": "name",
10210
+ "name": "inner",
10195
10211
  "type": {
10196
- "text": "string | undefined"
10197
- },
10198
- "description": "The name of the form component.",
10199
- "attribute": "name"
10212
+ "text": "() => TInner"
10213
+ }
10200
10214
  },
10201
10215
  {
10202
- "kind": "field",
10203
- "name": "value",
10216
+ "name": "wrapper",
10204
10217
  "type": {
10205
- "text": "string"
10206
- },
10207
- "default": "\"\"",
10208
- "description": "The value of the form component.",
10209
- "attribute": "value"
10210
- },
10211
- {
10212
- "kind": "field",
10213
- "name": "form",
10214
- "privacy": "protected",
10215
- "description": "Gets the form, if any, associated with the form element."
10218
+ "text": "(inner: TInner) => TWrapper"
10219
+ }
10216
10220
  }
10217
- ],
10218
- "attributes": [
10221
+ ]
10222
+ },
10223
+ {
10224
+ "kind": "function",
10225
+ "name": "wrapIf",
10226
+ "parameters": [
10219
10227
  {
10220
- "name": "disabled",
10228
+ "name": "condition",
10221
10229
  "type": {
10222
- "text": "boolean"
10223
- },
10224
- "default": "false",
10225
- "description": "Makes the component disabled. This prevents users from\nbeing able to interact with the component, and conveys\nits inactive state to assistive technologies.",
10226
- "fieldName": "disabled"
10230
+ "text": "any"
10231
+ }
10227
10232
  },
10228
10233
  {
10229
- "name": "name",
10234
+ "name": "inner",
10230
10235
  "type": {
10231
- "text": "string | undefined"
10232
- },
10233
- "description": "The name of the form component.",
10234
- "fieldName": "name"
10236
+ "text": "() => TInner"
10237
+ }
10235
10238
  },
10236
10239
  {
10237
- "name": "value",
10240
+ "name": "wrapper",
10238
10241
  "type": {
10239
- "text": "string"
10240
- },
10241
- "default": "\"\"",
10242
- "description": "The value of the form component.",
10243
- "fieldName": "value"
10242
+ "text": "(innards: TInner) => TWrapper"
10243
+ }
10244
10244
  }
10245
10245
  ],
10246
- "parameters": [
10247
- {
10248
- "name": "superClass",
10249
- "type": {
10250
- "text": "T"
10251
- }
10246
+ "return": {
10247
+ "type": {
10248
+ "text": ""
10252
10249
  }
10253
- ]
10250
+ }
10254
10251
  }
10255
10252
  ],
10256
10253
  "exports": [
10257
10254
  {
10258
10255
  "kind": "js",
10259
- "name": "InputMixinInterface",
10256
+ "name": "wrapIf",
10260
10257
  "declaration": {
10261
- "name": "InputMixinInterface",
10262
- "module": "src/common/mixins/InputMixin.ts"
10258
+ "name": "wrapIf",
10259
+ "module": "src/common/directives/wrapIf.ts"
10263
10260
  }
10264
10261
  },
10265
10262
  {
10266
10263
  "kind": "js",
10267
- "name": "InputMixin",
10264
+ "name": "wrapIf",
10268
10265
  "declaration": {
10269
- "name": "InputMixin",
10270
- "module": "src/common/mixins/InputMixin.ts"
10266
+ "name": "wrapIf",
10267
+ "module": "src/common/directives/wrapIf.ts"
10268
+ }
10269
+ },
10270
+ {
10271
+ "kind": "js",
10272
+ "name": "wrapIf",
10273
+ "declaration": {
10274
+ "name": "wrapIf",
10275
+ "module": "src/common/directives/wrapIf.ts"
10276
+ }
10277
+ },
10278
+ {
10279
+ "kind": "js",
10280
+ "name": "wrapIf",
10281
+ "declaration": {
10282
+ "name": "wrapIf",
10283
+ "module": "src/common/directives/wrapIf.ts"
10271
10284
  }
10272
10285
  }
10273
10286
  ]