@nordhealth/components 1.0.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/README.md +29 -1
  2. package/custom-elements.json +997 -1023
  3. package/lib/Avatar.js +1 -1
  4. package/lib/Badge.js +1 -1
  5. package/lib/Banner.js +1 -1
  6. package/lib/Banner.js.map +1 -1
  7. package/lib/Button.js +1 -1
  8. package/lib/{Calendar-52774c03.js → Calendar-73a2fcfd.js} +2 -2
  9. package/lib/{Calendar-52774c03.js.map → Calendar-73a2fcfd.js.map} +1 -1
  10. package/lib/Calendar.js +1 -1
  11. package/lib/Card.js +1 -1
  12. package/lib/Checkbox.js +1 -1
  13. package/lib/CommandMenu.js +1 -1
  14. package/lib/CommandMenuAction.js +1 -1
  15. package/lib/{Component-6bf383d6.js → Component-fa316972.js} +2 -2
  16. package/lib/Component-fa316972.js.map +1 -0
  17. package/lib/DatePicker.js +1 -1
  18. package/lib/DatePicker.js.map +1 -1
  19. package/lib/Dropdown.js +1 -1
  20. package/lib/Dropdown.js.map +1 -1
  21. package/lib/DropdownGroup.js +1 -1
  22. package/lib/DropdownGroup.js.map +1 -1
  23. package/lib/DropdownItem.js +1 -1
  24. package/lib/DropdownItem.js.map +1 -1
  25. package/lib/EmptyState.js +1 -1
  26. package/lib/Fieldset.js +1 -1
  27. package/lib/FocusableMixin-4c85ced9.js +2 -0
  28. package/lib/{FocusableMixin-c010d3b3.js.map → FocusableMixin-4c85ced9.js.map} +1 -1
  29. package/lib/{FormAssociatedMixin-f69a60dd.js → FormAssociatedMixin-9d38814c.js} +2 -2
  30. package/lib/{FormAssociatedMixin-f69a60dd.js.map → FormAssociatedMixin-9d38814c.js.map} +1 -1
  31. package/lib/{FormField-900069ed.js → FormField-44e865a4.js} +2 -2
  32. package/lib/FormField-44e865a4.js.map +1 -0
  33. package/lib/Header.js +1 -1
  34. package/lib/Icon.js +1 -1
  35. package/lib/Input.js +1 -1
  36. package/lib/Layout.js +1 -1
  37. package/lib/{LightDomController-f21f0a7c.js → LightDomController-e0762f0d.js} +2 -2
  38. package/lib/{LightDomController-f21f0a7c.js.map → LightDomController-e0762f0d.js.map} +1 -1
  39. package/lib/NavGroup.js +1 -1
  40. package/lib/NavGroup.js.map +1 -1
  41. package/lib/NavItem.js +1 -1
  42. package/lib/NavItem.js.map +1 -1
  43. package/lib/Navigation.js +1 -1
  44. package/lib/Popout.js +1 -1
  45. package/lib/Popout.js.map +1 -1
  46. package/lib/ProgressBar.js +1 -1
  47. package/lib/ProgressBar.js.map +1 -1
  48. package/lib/Radio.js +1 -1
  49. package/lib/Select.js +1 -1
  50. package/lib/Spinner.js +1 -1
  51. package/lib/Stack.js +1 -1
  52. package/lib/Stack.js.map +1 -1
  53. package/lib/Table.js +1 -1
  54. package/lib/TextField-f8848f28.js +2 -0
  55. package/lib/TextField-f8848f28.js.map +1 -0
  56. package/lib/Textarea.js +1 -1
  57. package/lib/Tooltip.js +1 -1
  58. package/lib/Tooltip.js.map +1 -1
  59. package/lib/VisuallyHidden.js +1 -1
  60. package/lib/bundle.js +5 -5
  61. package/lib/bundle.js.map +1 -1
  62. package/lib/{class-map-f93f9ba8.js → class-map-9e39244c.js} +2 -2
  63. package/lib/{class-map-f93f9ba8.js.map → class-map-9e39244c.js.map} +1 -1
  64. package/lib/cond-ed8742b5.js +2 -0
  65. package/lib/{cond-a3e00141.js.map → cond-ed8742b5.js.map} +1 -1
  66. package/lib/{if-defined-ee2efb2f.js → if-defined-4d1db15c.js} +2 -2
  67. package/lib/{if-defined-ee2efb2f.js.map → if-defined-4d1db15c.js.map} +1 -1
  68. package/lib/index.js +1 -1
  69. package/lib/{lit-element-99bdfe5a.js → lit-element-e382250e.js} +3 -3
  70. package/lib/{lit-element-99bdfe5a.js.map → lit-element-e382250e.js.map} +1 -1
  71. package/lib/month-view.js +1 -1
  72. package/lib/number-1c122a1e.js +7 -0
  73. package/lib/{number-ff1c5d88.js.map → number-1c122a1e.js.map} +1 -1
  74. package/lib/{ref-7e1d4d24.js → ref-adf41565.js} +3 -3
  75. package/lib/{ref-7e1d4d24.js.map → ref-adf41565.js.map} +1 -1
  76. package/lib/src/fieldset/Fieldset.test.d.ts +2 -0
  77. package/lib/src/nav-group/NavGroup.d.ts +2 -4
  78. package/lib/src/nav-item/NavItem.d.ts +1 -1
  79. package/lib/src/popout/Popout.d.ts +6 -0
  80. package/lib/src/stack/Stack.d.ts +2 -3
  81. package/lib/{unsafe-html-feceb926.js → unsafe-html-76575c49.js} +2 -2
  82. package/lib/{unsafe-html-feceb926.js.map → unsafe-html-76575c49.js.map} +1 -1
  83. package/package.json +8 -8
  84. package/lib/Component-6bf383d6.js.map +0 -1
  85. package/lib/FocusableMixin-c010d3b3.js +0 -2
  86. package/lib/FormField-900069ed.js.map +0 -1
  87. package/lib/TextField-0ba775e0.js +0 -2
  88. package/lib/TextField-0ba775e0.js.map +0 -1
  89. package/lib/cond-a3e00141.js +0 -2
  90. package/lib/number-ff1c5d88.js +0 -7
@@ -1448,49 +1448,69 @@
1448
1448
  },
1449
1449
  {
1450
1450
  "kind": "javascript-module",
1451
- "path": "src/banner/Banner.ts",
1451
+ "path": "src/card/Card.ts",
1452
1452
  "declarations": [
1453
1453
  {
1454
1454
  "kind": "class",
1455
- "description": "Banner informs users about important changes or conditions in the\ninterface. Use this component if you need to communicate to users\nin a prominent way.",
1456
- "name": "Banner",
1455
+ "description": "Cards are shadowed surfaces that display content and actions on a\nsingle topic. They should be easy to scan for relevant and\nactionable information.",
1456
+ "name": "Card",
1457
1457
  "slots": [
1458
1458
  {
1459
- "description": "default slot",
1459
+ "description": "The card content.",
1460
1460
  "name": ""
1461
+ },
1462
+ {
1463
+ "description": "Optional slot that holds a header for the card.",
1464
+ "name": "header"
1465
+ },
1466
+ {
1467
+ "description": "Optional slot that holds footer content for the card.",
1468
+ "name": "footer"
1461
1469
  }
1462
1470
  ],
1463
1471
  "members": [
1464
1472
  {
1465
1473
  "kind": "field",
1466
- "name": "variant",
1474
+ "name": "headerSlot",
1475
+ "privacy": "private",
1476
+ "default": "new SlotController(this, \"header\")"
1477
+ },
1478
+ {
1479
+ "kind": "field",
1480
+ "name": "footerSlot",
1481
+ "privacy": "private",
1482
+ "default": "new SlotController(this, \"footer\")"
1483
+ },
1484
+ {
1485
+ "kind": "field",
1486
+ "name": "padding",
1467
1487
  "type": {
1468
- "text": "\"info\" | \"danger\" | \"success\" | \"warning\""
1488
+ "text": "\"m\" | \"l\" | \"none\""
1469
1489
  },
1470
- "default": "\"info\"",
1471
- "description": "The style variant of the banner.",
1472
- "attribute": "variant",
1490
+ "default": "\"m\"",
1491
+ "description": "Controls the padding of card component. When set to “none”,\nthe header and footer slots will still have padding.",
1492
+ "attribute": "padding",
1473
1493
  "reflects": true
1474
1494
  }
1475
1495
  ],
1476
1496
  "attributes": [
1477
1497
  {
1478
- "name": "variant",
1498
+ "name": "padding",
1479
1499
  "type": {
1480
- "text": "\"info\" | \"danger\" | \"success\" | \"warning\""
1500
+ "text": "\"m\" | \"l\" | \"none\""
1481
1501
  },
1482
- "default": "\"info\"",
1483
- "description": "The style variant of the banner.",
1484
- "fieldName": "variant"
1502
+ "default": "\"m\"",
1503
+ "description": "Controls the padding of card component. When set to “none”,\nthe header and footer slots will still have padding.",
1504
+ "fieldName": "padding"
1485
1505
  }
1486
1506
  ],
1487
1507
  "superclass": {
1488
1508
  "name": "LitElement",
1489
1509
  "package": "lit"
1490
1510
  },
1491
- "status": "new",
1492
- "category": "feedback",
1493
- "tagName": "nord-banner",
1511
+ "status": "ready",
1512
+ "category": "structure",
1513
+ "tagName": "nord-card",
1494
1514
  "customElement": true
1495
1515
  }
1496
1516
  ],
@@ -1499,86 +1519,66 @@
1499
1519
  "kind": "js",
1500
1520
  "name": "default",
1501
1521
  "declaration": {
1502
- "name": "Banner",
1503
- "module": "src/banner/Banner.ts"
1522
+ "name": "Card",
1523
+ "module": "src/card/Card.ts"
1504
1524
  }
1505
1525
  },
1506
1526
  {
1507
1527
  "kind": "custom-element-definition",
1508
- "name": "nord-banner",
1528
+ "name": "nord-card",
1509
1529
  "declaration": {
1510
- "name": "Banner",
1511
- "module": "src/banner/Banner.ts"
1530
+ "name": "Card",
1531
+ "module": "src/card/Card.ts"
1512
1532
  }
1513
1533
  }
1514
1534
  ],
1515
- "readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Use this component if you need to communicate in a prominent way.\n- Place banner at the top of the section it applies to.\n- Use for highlighting errors and success statuses.\n- Put banner close to the context it’s referring to.\n- Move focus to the banner if it’s relevant to the current workflow.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Move focus to banner if it appears on page load.\n- Use for highlighting general content or as a banner.\n- Use to replace an error page.\n\n</div>\n\n---\n\n## Content guidelines\n\nBanner content should be clear, accurate and easy to understand:\n\n<div class=\"n-usage n-usage-do\">Were experiencing an incident. Please see our status page for more details.</div>\n<div class=\"n-usage n-usage-dont\">There was an error.</div>\n\nWhen writing banner content, always write it in sentence case, not title case. The first word should be capitalized and the rest lowercase (unless a proper noun):\n\n<div class=\"n-usage n-usage-do\">We’re experiencing an incident.</div>\n<div class=\"n-usage n-usage-dont\">We’re Experiencing An Incident.</div>\n\nAlways end in punctuation:\n\n<div class=\"n-usage n-usage-do\">We’re experiencing an incident.</div>\n<div class=\"n-usage n-usage-dont\">We’re experiencing an incident</div>\n"
1535
+ "readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Use to display content and actions on a single topic inside a container.\n- Use to visually separate specific parts of content in an application view.\n- Use to wrap a form into a container, for example a login form.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use when you need to capture user’s attention in a prominent way.\n- Dont use to inform user about important changes or conditions in the interface.\n- Don’t use multiple primary buttons inside a card. A card should only contain a single primary action.\n\n</div>\n"
1516
1536
  },
1517
1537
  {
1518
1538
  "kind": "javascript-module",
1519
- "path": "src/card/Card.ts",
1539
+ "path": "src/banner/Banner.ts",
1520
1540
  "declarations": [
1521
1541
  {
1522
1542
  "kind": "class",
1523
- "description": "Cards are shadowed surfaces that display content and actions on a\nsingle topic. They should be easy to scan for relevant and\nactionable information.",
1524
- "name": "Card",
1543
+ "description": "Banner informs users about important changes or conditions in the\ninterface. Use this component if you need to communicate to users\nin a prominent way.",
1544
+ "name": "Banner",
1525
1545
  "slots": [
1526
1546
  {
1527
- "description": "The card content.",
1547
+ "description": "default slot",
1528
1548
  "name": ""
1529
- },
1530
- {
1531
- "description": "Optional slot that holds a header for the card.",
1532
- "name": "header"
1533
- },
1534
- {
1535
- "description": "Optional slot that holds footer content for the card.",
1536
- "name": "footer"
1537
1549
  }
1538
1550
  ],
1539
1551
  "members": [
1540
1552
  {
1541
1553
  "kind": "field",
1542
- "name": "headerSlot",
1543
- "privacy": "private",
1544
- "default": "new SlotController(this, \"header\")"
1545
- },
1546
- {
1547
- "kind": "field",
1548
- "name": "footerSlot",
1549
- "privacy": "private",
1550
- "default": "new SlotController(this, \"footer\")"
1551
- },
1552
- {
1553
- "kind": "field",
1554
- "name": "padding",
1554
+ "name": "variant",
1555
1555
  "type": {
1556
- "text": "\"m\" | \"l\" | \"none\""
1556
+ "text": "\"info\" | \"danger\" | \"success\" | \"warning\""
1557
1557
  },
1558
- "default": "\"m\"",
1559
- "description": "Controls the padding of card component. When set to “none”,\nthe header and footer slots will still have padding.",
1560
- "attribute": "padding",
1558
+ "default": "\"info\"",
1559
+ "description": "The style variant of the banner.",
1560
+ "attribute": "variant",
1561
1561
  "reflects": true
1562
1562
  }
1563
1563
  ],
1564
1564
  "attributes": [
1565
1565
  {
1566
- "name": "padding",
1566
+ "name": "variant",
1567
1567
  "type": {
1568
- "text": "\"m\" | \"l\" | \"none\""
1568
+ "text": "\"info\" | \"danger\" | \"success\" | \"warning\""
1569
1569
  },
1570
- "default": "\"m\"",
1571
- "description": "Controls the padding of card component. When set to “none”,\nthe header and footer slots will still have padding.",
1572
- "fieldName": "padding"
1570
+ "default": "\"info\"",
1571
+ "description": "The style variant of the banner.",
1572
+ "fieldName": "variant"
1573
1573
  }
1574
1574
  ],
1575
1575
  "superclass": {
1576
1576
  "name": "LitElement",
1577
1577
  "package": "lit"
1578
1578
  },
1579
- "status": "ready",
1580
- "category": "structure",
1581
- "tagName": "nord-card",
1579
+ "status": "new",
1580
+ "category": "feedback",
1581
+ "tagName": "nord-banner",
1582
1582
  "customElement": true
1583
1583
  }
1584
1584
  ],
@@ -1587,20 +1587,20 @@
1587
1587
  "kind": "js",
1588
1588
  "name": "default",
1589
1589
  "declaration": {
1590
- "name": "Card",
1591
- "module": "src/card/Card.ts"
1590
+ "name": "Banner",
1591
+ "module": "src/banner/Banner.ts"
1592
1592
  }
1593
1593
  },
1594
1594
  {
1595
1595
  "kind": "custom-element-definition",
1596
- "name": "nord-card",
1596
+ "name": "nord-banner",
1597
1597
  "declaration": {
1598
- "name": "Card",
1599
- "module": "src/card/Card.ts"
1598
+ "name": "Banner",
1599
+ "module": "src/banner/Banner.ts"
1600
1600
  }
1601
1601
  }
1602
1602
  ],
1603
- "readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Use to display content and actions on a single topic inside a container.\n- Use to visually separate specific parts of content in an application view.\n- Use to wrap a form into a container, for example a login form.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use when you need to capture user’s attention in a prominent way.\n- Dont use to inform user about important changes or conditions in the interface.\n- Don’t use multiple primary buttons inside a card. A card should only contain a single primary action.\n\n</div>\n"
1603
+ "readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Use this component if you need to communicate in a prominent way.\n- Place banner at the top of the section it applies to.\n- Use for highlighting errors and success statuses.\n- Put banner close to the context it’s referring to.\n- Move focus to the banner if it’s relevant to the current workflow.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Move focus to banner if it appears on page load.\n- Use for highlighting general content or as a banner.\n- Use to replace an error page.\n\n</div>\n\n---\n\n## Content guidelines\n\nBanner content should be clear, accurate and easy to understand:\n\n<div class=\"n-usage n-usage-do\">Were experiencing an incident. Please see our status page for more details.</div>\n<div class=\"n-usage n-usage-dont\">There was an error.</div>\n\nWhen writing banner content, always write it in sentence case, not title case. The first word should be capitalized and the rest lowercase (unless a proper noun):\n\n<div class=\"n-usage n-usage-do\">We’re experiencing an incident.</div>\n<div class=\"n-usage n-usage-dont\">We’re Experiencing An Incident.</div>\n\nAlways end in punctuation:\n\n<div class=\"n-usage n-usage-do\">We’re experiencing an incident.</div>\n<div class=\"n-usage n-usage-dont\">We’re experiencing an incident</div>\n"
1604
1604
  },
1605
1605
  {
1606
1606
  "kind": "javascript-module",
@@ -6625,20 +6625,6 @@
6625
6625
  },
6626
6626
  "description": "Heading and accessible label for the nav group",
6627
6627
  "attribute": "heading"
6628
- },
6629
- {
6630
- "kind": "field",
6631
- "name": "_warningLogged",
6632
- "type": {
6633
- "text": "boolean"
6634
- },
6635
- "privacy": "private",
6636
- "static": true,
6637
- "default": "false",
6638
- "inheritedFrom": {
6639
- "name": "DraftComponentMixin",
6640
- "module": "src/common/mixins/DraftComponentMixin.ts"
6641
- }
6642
6628
  }
6643
6629
  ],
6644
6630
  "attributes": [
@@ -6651,17 +6637,11 @@
6651
6637
  "fieldName": "heading"
6652
6638
  }
6653
6639
  ],
6654
- "mixins": [
6655
- {
6656
- "name": "DraftComponentMixin",
6657
- "module": "/src/common/mixins/DraftComponentMixin.js"
6658
- }
6659
- ],
6660
6640
  "superclass": {
6661
6641
  "name": "LitElement",
6662
6642
  "package": "lit"
6663
6643
  },
6664
- "status": "draft",
6644
+ "status": "new",
6665
6645
  "category": "navigation",
6666
6646
  "tagName": "nord-nav-group",
6667
6647
  "customElement": true
@@ -6855,20 +6835,6 @@
6855
6835
  "name": "FocusableMixin",
6856
6836
  "module": "src/common/mixins/FocusableMixin.ts"
6857
6837
  }
6858
- },
6859
- {
6860
- "kind": "field",
6861
- "name": "_warningLogged",
6862
- "type": {
6863
- "text": "boolean"
6864
- },
6865
- "privacy": "private",
6866
- "static": true,
6867
- "default": "false",
6868
- "inheritedFrom": {
6869
- "name": "DraftComponentMixin",
6870
- "module": "src/common/mixins/DraftComponentMixin.ts"
6871
- }
6872
6838
  }
6873
6839
  ],
6874
6840
  "events": [
@@ -6928,17 +6894,13 @@
6928
6894
  {
6929
6895
  "name": "FocusableMixin",
6930
6896
  "module": "/src/common/mixins/FocusableMixin.js"
6931
- },
6932
- {
6933
- "name": "DraftComponentMixin",
6934
- "module": "/src/common/mixins/DraftComponentMixin.js"
6935
6897
  }
6936
6898
  ],
6937
6899
  "superclass": {
6938
6900
  "name": "LitElement",
6939
6901
  "package": "lit"
6940
6902
  },
6941
- "status": "draft",
6903
+ "status": "new",
6942
6904
  "category": "navigation",
6943
6905
  "tagName": "nord-nav-item",
6944
6906
  "customElement": true
@@ -7099,6 +7061,11 @@
7099
7061
  },
7100
7062
  "privacy": "private"
7101
7063
  },
7064
+ {
7065
+ "kind": "field",
7066
+ "name": "smallViewport",
7067
+ "privacy": "private"
7068
+ },
7102
7069
  {
7103
7070
  "kind": "field",
7104
7071
  "name": "align",
@@ -7178,6 +7145,12 @@
7178
7145
  "kind": "method",
7179
7146
  "name": "getToggle",
7180
7147
  "privacy": "private"
7148
+ },
7149
+ {
7150
+ "kind": "field",
7151
+ "name": "handleMediaQueryChange",
7152
+ "privacy": "private",
7153
+ "description": "Update the smallViewport flag to switch between \"sheet\" and \"floating\".\nautoUpdate is needed when a viewport gets larger and the popout is open."
7181
7154
  }
7182
7155
  ],
7183
7156
  "events": [
@@ -8846,9 +8819,10 @@
8846
8819
  "text": "boolean"
8847
8820
  },
8848
8821
  "default": "false",
8849
- "description": "Enable or disable responsive behaviour of the stack component.\nSetting this option \"true\" makes sure that contents are\nstacked vertically on mobile (768px and under).",
8822
+ "description": "This property is deprecated and will be removed in a future version. We recommend using standard [CSS media queries](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries) over this property. Please see the [updated usage example](/components/stack/?example=using+responsive+media+query).",
8850
8823
  "attribute": "responsive",
8851
- "reflects": true
8824
+ "reflects": true,
8825
+ "deprecated": true
8852
8826
  },
8853
8827
  {
8854
8828
  "kind": "field",
@@ -8906,7 +8880,7 @@
8906
8880
  "text": "boolean"
8907
8881
  },
8908
8882
  "default": "false",
8909
- "description": "Enable or disable responsive behaviour of the stack component.\nSetting this option \"true\" makes sure that contents are\nstacked vertically on mobile (768px and under).",
8883
+ "description": "This property is deprecated and will be removed in a future version. We recommend using standard [CSS media queries](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries) over this property. Please see the [updated usage example](/components/stack/?example=using+responsive+media+query).",
8910
8884
  "fieldName": "responsive"
8911
8885
  },
8912
8886
  {
@@ -9951,57 +9925,24 @@
9951
9925
  },
9952
9926
  {
9953
9927
  "kind": "javascript-module",
9954
- "path": "src/common/controllers/DirectionController.ts",
9928
+ "path": "src/common/decorators/observe.ts",
9955
9929
  "declarations": [
9956
9930
  {
9957
- "kind": "class",
9958
- "description": "",
9959
- "name": "DirectionController",
9960
- "members": [
9961
- {
9962
- "kind": "field",
9963
- "name": "hosts",
9964
- "privacy": "private",
9965
- "static": true,
9966
- "default": "new Set<ReactiveControllerHost>()"
9967
- },
9931
+ "kind": "function",
9932
+ "name": "observe",
9933
+ "parameters": [
9968
9934
  {
9969
- "kind": "field",
9970
- "name": "observer",
9935
+ "name": "propertyName",
9971
9936
  "type": {
9972
- "text": "MutationObserver | undefined"
9973
- },
9974
- "privacy": "private",
9975
- "static": true
9937
+ "text": "string"
9938
+ }
9976
9939
  },
9977
9940
  {
9978
- "kind": "field",
9979
- "name": "dir",
9941
+ "name": "lifecycle",
9942
+ "default": "\"update\"",
9980
9943
  "type": {
9981
- "text": "WritingDirection"
9944
+ "text": "ObserveLifecycle"
9982
9945
  }
9983
- },
9984
- {
9985
- "kind": "field",
9986
- "name": "isLTR"
9987
- },
9988
- {
9989
- "kind": "field",
9990
- "name": "isRTL"
9991
- },
9992
- {
9993
- "kind": "method",
9994
- "name": "hostConnected"
9995
- },
9996
- {
9997
- "kind": "method",
9998
- "name": "hostDisconnected"
9999
- },
10000
- {
10001
- "kind": "method",
10002
- "name": "observe",
10003
- "privacy": "private",
10004
- "static": true
10005
9946
  }
10006
9947
  ]
10007
9948
  }
@@ -10009,345 +9950,221 @@
10009
9950
  "exports": [
10010
9951
  {
10011
9952
  "kind": "js",
10012
- "name": "DirectionController",
9953
+ "name": "observe",
10013
9954
  "declaration": {
10014
- "name": "DirectionController",
10015
- "module": "src/common/controllers/DirectionController.ts"
9955
+ "name": "observe",
9956
+ "module": "src/common/decorators/observe.ts"
10016
9957
  }
10017
9958
  }
10018
9959
  ]
10019
9960
  },
10020
9961
  {
10021
9962
  "kind": "javascript-module",
10022
- "path": "src/common/controllers/EventController.ts",
9963
+ "path": "src/common/directives/cond.ts",
10023
9964
  "declarations": [
10024
9965
  {
10025
- "kind": "class",
10026
- "description": "",
10027
- "name": "EventController",
10028
- "members": [
10029
- {
10030
- "kind": "field",
10031
- "name": "listeners",
10032
- "type": {
10033
- "text": "Array<() => void>"
10034
- },
10035
- "privacy": "private",
10036
- "default": "[]"
10037
- },
9966
+ "kind": "function",
9967
+ "name": "cond",
9968
+ "return": {
9969
+ "type": {
9970
+ "text": "typeof value | typeof nothing"
9971
+ }
9972
+ },
9973
+ "parameters": [
10038
9974
  {
10039
- "kind": "method",
10040
- "name": "hostDisconnected"
10041
- },
9975
+ "name": "value",
9976
+ "type": {
9977
+ "text": "any"
9978
+ }
9979
+ }
9980
+ ],
9981
+ "description": "if value is truthy, return it, otherwise return nothing"
9982
+ },
9983
+ {
9984
+ "kind": "function",
9985
+ "name": "cond",
9986
+ "return": {
9987
+ "type": {
9988
+ "text": "typeof trueCase | typeof nothing"
9989
+ }
9990
+ },
9991
+ "parameters": [
10042
9992
  {
10043
- "kind": "method",
10044
- "name": "listen",
10045
- "return": {
10046
- "type": {
10047
- "text": "void"
10048
- }
10049
- },
10050
- "parameters": [
10051
- {
10052
- "name": "window",
10053
- "type": {
10054
- "text": "Window"
10055
- }
10056
- },
10057
- {
10058
- "name": "type",
10059
- "type": {
10060
- "text": "K"
10061
- }
10062
- },
10063
- {
10064
- "name": "listener",
10065
- "type": {
10066
- "text": "(this: Window, ev: WindowEventMap[K]) => any"
10067
- }
10068
- },
10069
- {
10070
- "name": "options",
10071
- "optional": true,
10072
- "type": {
10073
- "text": "boolean | AddEventListenerOptions"
10074
- }
10075
- }
10076
- ]
9993
+ "name": "condition",
9994
+ "type": {
9995
+ "text": "unknown"
9996
+ }
10077
9997
  },
10078
9998
  {
10079
- "kind": "method",
10080
- "name": "listen",
10081
- "return": {
10082
- "type": {
10083
- "text": "void"
10084
- }
10085
- },
10086
- "parameters": [
10087
- {
10088
- "name": "document",
10089
- "type": {
10090
- "text": "Document"
10091
- }
10092
- },
10093
- {
10094
- "name": "type",
10095
- "type": {
10096
- "text": "K"
10097
- }
10098
- },
10099
- {
10100
- "name": "listener",
10101
- "type": {
10102
- "text": "(this: Document, ev: DocumentEventMap[K]) => any"
10103
- }
10104
- },
10105
- {
10106
- "name": "options",
10107
- "optional": true,
10108
- "type": {
10109
- "text": "boolean | AddEventListenerOptions"
10110
- }
10111
- }
10112
- ]
10113
- },
9999
+ "name": "trueCase",
10000
+ "type": {
10001
+ "text": "any"
10002
+ }
10003
+ }
10004
+ ],
10005
+ "description": "if condition is truthy, return trueCase, otherwise return nothing"
10006
+ },
10007
+ {
10008
+ "kind": "function",
10009
+ "name": "cond",
10010
+ "return": {
10011
+ "type": {
10012
+ "text": "typeof trueCase"
10013
+ }
10014
+ },
10015
+ "parameters": [
10114
10016
  {
10115
- "kind": "method",
10116
- "name": "listen",
10117
- "return": {
10118
- "type": {
10119
- "text": "void"
10120
- }
10121
- },
10122
- "parameters": [
10123
- {
10124
- "name": "element",
10125
- "type": {
10126
- "text": "HTMLElement"
10127
- }
10128
- },
10129
- {
10130
- "name": "type",
10131
- "type": {
10132
- "text": "K"
10133
- }
10134
- },
10135
- {
10136
- "name": "listener",
10137
- "type": {
10138
- "text": "(this: HTMLElement, ev: HTMLElementEventMap[K]) => any"
10139
- }
10140
- },
10141
- {
10142
- "name": "options",
10143
- "optional": true,
10144
- "type": {
10145
- "text": "boolean | AddEventListenerOptions"
10146
- }
10147
- }
10148
- ]
10017
+ "name": "condition",
10018
+ "type": {
10019
+ "text": "true"
10020
+ }
10149
10021
  },
10150
10022
  {
10151
- "kind": "method",
10152
- "name": "listen",
10153
- "return": {
10154
- "type": {
10155
- "text": "void"
10156
- }
10157
- },
10158
- "parameters": [
10159
- {
10160
- "name": "element",
10161
- "type": {
10162
- "text": "ShadowRoot"
10163
- }
10164
- },
10165
- {
10166
- "name": "type",
10167
- "type": {
10168
- "text": "K"
10169
- }
10170
- },
10171
- {
10172
- "name": "listener",
10173
- "type": {
10174
- "text": "(this: ShadowRoot, ev: ShadowRootEventMap[K]) => any"
10175
- }
10176
- },
10177
- {
10178
- "name": "options",
10179
- "optional": true,
10180
- "type": {
10181
- "text": "boolean | AddEventListenerOptions"
10182
- }
10183
- }
10184
- ]
10023
+ "name": "trueCase",
10024
+ "type": {
10025
+ "text": "any"
10026
+ }
10027
+ }
10028
+ ],
10029
+ "description": "condition is true, so always return trueCase"
10030
+ },
10031
+ {
10032
+ "kind": "function",
10033
+ "name": "cond",
10034
+ "return": {
10035
+ "type": {
10036
+ "text": "typeof nothing"
10037
+ }
10038
+ },
10039
+ "parameters": [
10040
+ {
10041
+ "name": "condition",
10042
+ "type": {
10043
+ "text": "false"
10044
+ }
10185
10045
  },
10186
10046
  {
10187
- "kind": "method",
10188
- "name": "listen",
10189
- "parameters": [
10190
- {
10191
- "name": "element",
10192
- "type": {
10193
- "text": "Window | Document | HTMLElement | ShadowRoot"
10194
- }
10195
- },
10196
- {
10197
- "name": "type",
10198
- "type": {
10199
- "text": "string"
10200
- }
10201
- },
10202
- {
10203
- "name": "listener",
10204
- "type": {
10205
- "text": "(ev: any) => any"
10206
- }
10207
- },
10208
- {
10209
- "name": "options",
10210
- "optional": true,
10211
- "type": {
10212
- "text": "boolean | AddEventListenerOptions"
10213
- }
10214
- }
10215
- ]
10047
+ "name": "trueCase",
10048
+ "type": {
10049
+ "text": "any"
10050
+ }
10216
10051
  }
10217
- ]
10218
- }
10219
- ],
10220
- "exports": [
10221
- {
10222
- "kind": "js",
10223
- "name": "EventController",
10224
- "declaration": {
10225
- "name": "EventController",
10226
- "module": "src/common/controllers/EventController.ts"
10227
- }
10228
- }
10229
- ]
10230
- },
10231
- {
10232
- "kind": "javascript-module",
10233
- "path": "src/common/controllers/FormDataController.ts",
10234
- "declarations": [
10052
+ ],
10053
+ "description": "condition is false, to will always return nothing"
10054
+ },
10235
10055
  {
10236
- "kind": "class",
10237
- "description": "",
10238
- "name": "FormDataController",
10239
- "members": [
10056
+ "kind": "function",
10057
+ "name": "cond",
10058
+ "return": {
10059
+ "type": {
10060
+ "text": "typeof trueCase | typeof falseCase"
10061
+ }
10062
+ },
10063
+ "parameters": [
10240
10064
  {
10241
- "kind": "field",
10242
- "name": "events",
10065
+ "name": "condition",
10243
10066
  "type": {
10244
- "text": "EventController"
10245
- },
10246
- "privacy": "private",
10247
- "default": "new EventController(host)"
10067
+ "text": "unknown"
10068
+ }
10248
10069
  },
10249
10070
  {
10250
- "kind": "method",
10251
- "name": "hostConnected"
10071
+ "name": "trueCase",
10072
+ "type": {
10073
+ "text": "any"
10074
+ }
10252
10075
  },
10253
10076
  {
10254
- "kind": "field",
10255
- "name": "handleFormData",
10256
- "privacy": "private"
10077
+ "name": "falseCase",
10078
+ "type": {
10079
+ "text": "any"
10080
+ }
10257
10081
  }
10258
- ]
10259
- }
10260
- ],
10261
- "exports": [
10262
- {
10263
- "kind": "js",
10264
- "name": "FormDataController",
10265
- "declaration": {
10266
- "name": "FormDataController",
10267
- "module": "src/common/controllers/FormDataController.ts"
10268
- }
10269
- }
10270
- ]
10271
- },
10272
- {
10273
- "kind": "javascript-module",
10274
- "path": "src/common/controllers/LightDismissController.ts",
10275
- "declarations": [
10082
+ ],
10083
+ "description": "if condition is truthy, return trueCase, otherwise return falseCase"
10084
+ },
10276
10085
  {
10277
- "kind": "class",
10278
- "description": "",
10279
- "name": "LightDismissController",
10280
- "members": [
10086
+ "kind": "function",
10087
+ "name": "cond",
10088
+ "return": {
10089
+ "type": {
10090
+ "text": "typeof trueCase"
10091
+ }
10092
+ },
10093
+ "parameters": [
10281
10094
  {
10282
- "kind": "field",
10283
- "name": "shortcut",
10095
+ "name": "condition",
10284
10096
  "type": {
10285
- "text": "ShortcutController"
10286
- },
10287
- "privacy": "private",
10288
- "default": "new ShortcutController(host, { Escape: this.handleEsc })"
10097
+ "text": "true"
10098
+ }
10289
10099
  },
10290
10100
  {
10291
- "kind": "field",
10292
- "name": "events",
10101
+ "name": "trueCase",
10293
10102
  "type": {
10294
- "text": "EventController"
10295
- },
10296
- "privacy": "private",
10297
- "default": "new EventController(host)"
10103
+ "text": "any"
10104
+ }
10298
10105
  },
10299
10106
  {
10300
- "kind": "method",
10301
- "name": "hostConnected"
10107
+ "name": "falseCase",
10108
+ "type": {
10109
+ "text": "any"
10110
+ }
10111
+ }
10112
+ ],
10113
+ "description": "condition is true, so always return trueCase"
10114
+ },
10115
+ {
10116
+ "kind": "function",
10117
+ "name": "cond",
10118
+ "return": {
10119
+ "type": {
10120
+ "text": "typeof falseCase"
10121
+ }
10122
+ },
10123
+ "parameters": [
10124
+ {
10125
+ "name": "condition",
10126
+ "type": {
10127
+ "text": "false"
10128
+ }
10302
10129
  },
10303
10130
  {
10304
- "kind": "field",
10305
- "name": "handleEsc",
10306
- "privacy": "private"
10131
+ "name": "trueCase",
10132
+ "type": {
10133
+ "text": "any"
10134
+ }
10307
10135
  },
10308
10136
  {
10309
- "kind": "field",
10310
- "name": "handleClickOut",
10311
- "privacy": "private"
10137
+ "name": "falseCase",
10138
+ "type": {
10139
+ "text": "any"
10140
+ }
10312
10141
  }
10313
- ]
10314
- }
10315
- ],
10316
- "exports": [
10317
- {
10318
- "kind": "js",
10319
- "name": "LightDismissController",
10320
- "declaration": {
10321
- "name": "LightDismissController",
10322
- "module": "src/common/controllers/LightDismissController.ts"
10323
- }
10324
- }
10325
- ]
10326
- },
10327
- {
10328
- "kind": "javascript-module",
10329
- "path": "src/common/controllers/LightDomController.ts",
10330
- "declarations": [
10142
+ ],
10143
+ "description": "condition is false, so always return falseCase"
10144
+ },
10331
10145
  {
10332
- "kind": "class",
10333
- "description": "",
10334
- "name": "LightDomController",
10335
- "members": [
10146
+ "kind": "function",
10147
+ "name": "cond",
10148
+ "parameters": [
10336
10149
  {
10337
- "kind": "field",
10338
- "name": "container",
10150
+ "name": "condition",
10339
10151
  "type": {
10340
- "text": "HTMLElement"
10341
- },
10342
- "privacy": "private"
10152
+ "text": "unknown"
10153
+ }
10343
10154
  },
10344
10155
  {
10345
- "kind": "method",
10346
- "name": "hostUpdated"
10156
+ "name": "trueCase",
10157
+ "default": "condition",
10158
+ "type": {
10159
+ "text": "any"
10160
+ }
10347
10161
  },
10348
10162
  {
10349
- "kind": "method",
10350
- "name": "hostDisconnected"
10163
+ "name": "falseCase",
10164
+ "default": "nothing",
10165
+ "type": {
10166
+ "text": "any"
10167
+ }
10351
10168
  }
10352
10169
  ]
10353
10170
  }
@@ -10355,232 +10172,279 @@
10355
10172
  "exports": [
10356
10173
  {
10357
10174
  "kind": "js",
10358
- "name": "LightDomController",
10175
+ "name": "cond",
10176
+ "declaration": {
10177
+ "name": "cond",
10178
+ "module": "src/common/directives/cond.ts"
10179
+ }
10180
+ },
10181
+ {
10182
+ "kind": "js",
10183
+ "name": "cond",
10184
+ "declaration": {
10185
+ "name": "cond",
10186
+ "module": "src/common/directives/cond.ts"
10187
+ }
10188
+ },
10189
+ {
10190
+ "kind": "js",
10191
+ "name": "cond",
10192
+ "declaration": {
10193
+ "name": "cond",
10194
+ "module": "src/common/directives/cond.ts"
10195
+ }
10196
+ },
10197
+ {
10198
+ "kind": "js",
10199
+ "name": "cond",
10200
+ "declaration": {
10201
+ "name": "cond",
10202
+ "module": "src/common/directives/cond.ts"
10203
+ }
10204
+ },
10205
+ {
10206
+ "kind": "js",
10207
+ "name": "cond",
10208
+ "declaration": {
10209
+ "name": "cond",
10210
+ "module": "src/common/directives/cond.ts"
10211
+ }
10212
+ },
10213
+ {
10214
+ "kind": "js",
10215
+ "name": "cond",
10359
10216
  "declaration": {
10360
- "name": "LightDomController",
10361
- "module": "src/common/controllers/LightDomController.ts"
10217
+ "name": "cond",
10218
+ "module": "src/common/directives/cond.ts"
10219
+ }
10220
+ },
10221
+ {
10222
+ "kind": "js",
10223
+ "name": "cond",
10224
+ "declaration": {
10225
+ "name": "cond",
10226
+ "module": "src/common/directives/cond.ts"
10227
+ }
10228
+ },
10229
+ {
10230
+ "kind": "js",
10231
+ "name": "cond",
10232
+ "declaration": {
10233
+ "name": "cond",
10234
+ "module": "src/common/directives/cond.ts"
10362
10235
  }
10363
10236
  }
10364
10237
  ]
10365
10238
  },
10366
10239
  {
10367
10240
  "kind": "javascript-module",
10368
- "path": "src/common/controllers/LightSlotController.ts",
10241
+ "path": "src/common/directives/wrapIf.ts",
10369
10242
  "declarations": [
10370
10243
  {
10371
- "kind": "class",
10372
- "description": "Handles cases where a component needs to render to light DOM,\nand potentially sync component properties to user-supplied content.",
10373
- "name": "LightSlotController",
10374
- "members": [
10244
+ "kind": "function",
10245
+ "name": "wrapIf",
10246
+ "return": {
10247
+ "type": {
10248
+ "text": "TInner"
10249
+ }
10250
+ },
10251
+ "parameters": [
10375
10252
  {
10376
- "kind": "field",
10377
- "name": "renderHook",
10253
+ "name": "condition",
10378
10254
  "type": {
10379
- "text": "Comment"
10380
- },
10381
- "privacy": "private"
10255
+ "text": "false"
10256
+ }
10382
10257
  },
10383
10258
  {
10384
- "kind": "field",
10385
- "name": "lightDom",
10259
+ "name": "inner",
10386
10260
  "type": {
10387
- "text": "LightDomController"
10388
- },
10389
- "privacy": "private",
10390
- "default": "new LightDomController(host, {\n render: () => (this.hasContent ? nothing : this.options.render()),\n renderOptions: { renderBefore: this.renderHook },\n })"
10261
+ "text": "() => TInner"
10262
+ }
10391
10263
  },
10392
10264
  {
10393
- "kind": "method",
10394
- "name": "hostConnected",
10395
- "inheritedFrom": {
10396
- "name": "SlotController",
10397
- "module": "src/common/controllers/SlotController.ts"
10265
+ "name": "wrapper",
10266
+ "type": {
10267
+ "text": "(inner: TInner) => TWrapper"
10398
10268
  }
10399
- },
10269
+ }
10270
+ ]
10271
+ },
10272
+ {
10273
+ "kind": "function",
10274
+ "name": "wrapIf",
10275
+ "return": {
10276
+ "type": {
10277
+ "text": "TWrapper"
10278
+ }
10279
+ },
10280
+ "parameters": [
10400
10281
  {
10401
- "kind": "method",
10402
- "name": "hostDisconnected"
10282
+ "name": "condition",
10283
+ "type": {
10284
+ "text": "true"
10285
+ }
10403
10286
  },
10404
10287
  {
10405
- "kind": "field",
10406
- "name": "onChange",
10407
- "privacy": "protected",
10408
- "parameters": [
10409
- {
10410
- "name": "_e",
10411
- "type": {
10412
- "text": "Event"
10413
- }
10414
- }
10415
- ],
10416
- "inheritedFrom": {
10417
- "name": "SlotController",
10418
- "module": "src/common/controllers/SlotController.ts"
10288
+ "name": "inner",
10289
+ "type": {
10290
+ "text": "() => TInner"
10419
10291
  }
10420
10292
  },
10421
10293
  {
10422
- "kind": "method",
10423
- "name": "syncLightDom",
10424
- "privacy": "private"
10425
- },
10294
+ "name": "wrapper",
10295
+ "type": {
10296
+ "text": "(inner: TInner) => TWrapper"
10297
+ }
10298
+ }
10299
+ ]
10300
+ },
10301
+ {
10302
+ "kind": "function",
10303
+ "name": "wrapIf",
10304
+ "return": {
10305
+ "type": {
10306
+ "text": "TInner | TWrapper"
10307
+ }
10308
+ },
10309
+ "parameters": [
10426
10310
  {
10427
- "kind": "field",
10428
- "name": "events",
10311
+ "name": "condition",
10429
10312
  "type": {
10430
- "text": "EventController"
10431
- },
10432
- "privacy": "private",
10433
- "default": "new EventController(host)",
10434
- "inheritedFrom": {
10435
- "name": "SlotController",
10436
- "module": "src/common/controllers/SlotController.ts"
10313
+ "text": "unknown"
10437
10314
  }
10438
10315
  },
10439
10316
  {
10440
- "kind": "field",
10441
- "name": "hasContent",
10442
- "inheritedFrom": {
10443
- "name": "SlotController",
10444
- "module": "src/common/controllers/SlotController.ts"
10317
+ "name": "inner",
10318
+ "type": {
10319
+ "text": "() => TInner"
10445
10320
  }
10446
10321
  },
10447
10322
  {
10448
- "kind": "field",
10449
- "name": "isEmpty",
10450
- "inheritedFrom": {
10451
- "name": "SlotController",
10452
- "module": "src/common/controllers/SlotController.ts"
10323
+ "name": "wrapper",
10324
+ "type": {
10325
+ "text": "(inner: TInner) => TWrapper"
10326
+ }
10327
+ }
10328
+ ]
10329
+ },
10330
+ {
10331
+ "kind": "function",
10332
+ "name": "wrapIf",
10333
+ "parameters": [
10334
+ {
10335
+ "name": "condition",
10336
+ "type": {
10337
+ "text": "any"
10453
10338
  }
10454
10339
  },
10455
10340
  {
10456
- "kind": "field",
10457
- "name": "content",
10458
- "inheritedFrom": {
10459
- "name": "SlotController",
10460
- "module": "src/common/controllers/SlotController.ts"
10341
+ "name": "inner",
10342
+ "type": {
10343
+ "text": "() => TInner"
10461
10344
  }
10462
10345
  },
10463
10346
  {
10464
- "kind": "field",
10465
- "name": "handleSlotChange",
10466
- "privacy": "private",
10467
- "inheritedFrom": {
10468
- "name": "SlotController",
10469
- "module": "src/common/controllers/SlotController.ts"
10347
+ "name": "wrapper",
10348
+ "type": {
10349
+ "text": "(innards: TInner) => TWrapper"
10470
10350
  }
10471
10351
  }
10472
10352
  ],
10473
- "superclass": {
10474
- "name": "SlotController",
10475
- "module": "/src/common/controllers/SlotController.js"
10476
- },
10477
- "status": null,
10478
- "category": null
10353
+ "return": {
10354
+ "type": {
10355
+ "text": ""
10356
+ }
10357
+ }
10479
10358
  }
10480
10359
  ],
10481
10360
  "exports": [
10482
10361
  {
10483
10362
  "kind": "js",
10484
- "name": "LightSlotController",
10363
+ "name": "wrapIf",
10485
10364
  "declaration": {
10486
- "name": "LightSlotController",
10487
- "module": "src/common/controllers/LightSlotController.ts"
10365
+ "name": "wrapIf",
10366
+ "module": "src/common/directives/wrapIf.ts"
10488
10367
  }
10489
- }
10490
- ]
10491
- },
10492
- {
10493
- "kind": "javascript-module",
10494
- "path": "src/common/controllers/PortalController.ts",
10495
- "declarations": [
10368
+ },
10496
10369
  {
10497
- "kind": "class",
10498
- "description": "",
10499
- "name": "PortalController",
10500
- "members": [
10501
- {
10502
- "kind": "field",
10503
- "name": "renderHook",
10504
- "type": {
10505
- "text": "Comment"
10506
- },
10507
- "privacy": "private"
10508
- },
10509
- {
10510
- "kind": "field",
10511
- "name": "lightDom",
10512
- "type": {
10513
- "text": "LightDomController"
10514
- },
10515
- "privacy": "private",
10516
- "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 })"
10517
- },
10518
- {
10519
- "kind": "method",
10520
- "name": "hostConnected"
10521
- },
10522
- {
10523
- "kind": "method",
10524
- "name": "hostUpdated"
10525
- },
10526
- {
10527
- "kind": "method",
10528
- "name": "hostDisconnected"
10529
- }
10530
- ]
10531
- }
10532
- ],
10533
- "exports": [
10370
+ "kind": "js",
10371
+ "name": "wrapIf",
10372
+ "declaration": {
10373
+ "name": "wrapIf",
10374
+ "module": "src/common/directives/wrapIf.ts"
10375
+ }
10376
+ },
10534
10377
  {
10535
10378
  "kind": "js",
10536
- "name": "PortalController",
10379
+ "name": "wrapIf",
10380
+ "declaration": {
10381
+ "name": "wrapIf",
10382
+ "module": "src/common/directives/wrapIf.ts"
10383
+ }
10384
+ },
10385
+ {
10386
+ "kind": "js",
10387
+ "name": "wrapIf",
10537
10388
  "declaration": {
10538
- "name": "PortalController",
10539
- "module": "src/common/controllers/PortalController.ts"
10389
+ "name": "wrapIf",
10390
+ "module": "src/common/directives/wrapIf.ts"
10540
10391
  }
10541
10392
  }
10542
10393
  ]
10543
10394
  },
10544
10395
  {
10545
10396
  "kind": "javascript-module",
10546
- "path": "src/common/controllers/ShortcutController.ts",
10397
+ "path": "src/common/controllers/DirectionController.ts",
10547
10398
  "declarations": [
10548
10399
  {
10549
10400
  "kind": "class",
10550
10401
  "description": "",
10551
- "name": "ShortcutController",
10402
+ "name": "DirectionController",
10552
10403
  "members": [
10553
10404
  {
10554
10405
  "kind": "field",
10555
- "name": "unregister",
10406
+ "name": "hosts",
10407
+ "privacy": "private",
10408
+ "static": true,
10409
+ "default": "new Set<ReactiveControllerHost>()"
10410
+ },
10411
+ {
10412
+ "kind": "field",
10413
+ "name": "observer",
10556
10414
  "type": {
10557
- "text": "ReturnType<typeof tinykeys> | undefined"
10415
+ "text": "MutationObserver | undefined"
10558
10416
  },
10559
- "privacy": "private"
10417
+ "privacy": "private",
10418
+ "static": true
10560
10419
  },
10561
10420
  {
10562
- "kind": "method",
10563
- "name": "hostConnected"
10421
+ "kind": "field",
10422
+ "name": "dir",
10423
+ "type": {
10424
+ "text": "WritingDirection"
10425
+ }
10426
+ },
10427
+ {
10428
+ "kind": "field",
10429
+ "name": "isLTR"
10430
+ },
10431
+ {
10432
+ "kind": "field",
10433
+ "name": "isRTL"
10564
10434
  },
10565
10435
  {
10566
10436
  "kind": "method",
10567
- "name": "hostDisconnected"
10437
+ "name": "hostConnected"
10568
10438
  },
10569
10439
  {
10570
10440
  "kind": "method",
10571
- "name": "unbind"
10441
+ "name": "hostDisconnected"
10572
10442
  },
10573
10443
  {
10574
10444
  "kind": "method",
10575
- "name": "bind",
10576
- "parameters": [
10577
- {
10578
- "name": "shortcuts",
10579
- "type": {
10580
- "text": "KeyBindingMap"
10581
- }
10582
- }
10583
- ]
10445
+ "name": "observe",
10446
+ "privacy": "private",
10447
+ "static": true
10584
10448
  }
10585
10449
  ]
10586
10450
  }
@@ -10588,70 +10452,207 @@
10588
10452
  "exports": [
10589
10453
  {
10590
10454
  "kind": "js",
10591
- "name": "ShortcutController",
10592
- "declaration": {
10593
- "name": "ShortcutController",
10594
- "module": "src/common/controllers/ShortcutController.ts"
10595
- }
10596
- },
10597
- {
10598
- "kind": "js",
10599
- "name": "ShortcutMap",
10455
+ "name": "DirectionController",
10600
10456
  "declaration": {
10601
- "name": "KeyBindingMap",
10602
- "module": "src/common/controllers/ShortcutController.ts"
10457
+ "name": "DirectionController",
10458
+ "module": "src/common/controllers/DirectionController.ts"
10603
10459
  }
10604
10460
  }
10605
10461
  ]
10606
10462
  },
10607
10463
  {
10608
10464
  "kind": "javascript-module",
10609
- "path": "src/common/controllers/SlotController.ts",
10465
+ "path": "src/common/controllers/EventController.ts",
10610
10466
  "declarations": [
10611
10467
  {
10612
10468
  "kind": "class",
10613
10469
  "description": "",
10614
- "name": "SlotController",
10470
+ "name": "EventController",
10615
10471
  "members": [
10616
10472
  {
10617
10473
  "kind": "field",
10618
- "name": "events",
10474
+ "name": "listeners",
10619
10475
  "type": {
10620
- "text": "EventController"
10476
+ "text": "Array<() => void>"
10621
10477
  },
10622
10478
  "privacy": "private",
10623
- "default": "new EventController(host)"
10479
+ "default": "[]"
10624
10480
  },
10625
10481
  {
10626
10482
  "kind": "method",
10627
- "name": "hostConnected"
10483
+ "name": "hostDisconnected"
10628
10484
  },
10629
10485
  {
10630
- "kind": "field",
10631
- "name": "hasContent"
10486
+ "kind": "method",
10487
+ "name": "listen",
10488
+ "return": {
10489
+ "type": {
10490
+ "text": "void"
10491
+ }
10492
+ },
10493
+ "parameters": [
10494
+ {
10495
+ "name": "window",
10496
+ "type": {
10497
+ "text": "Window"
10498
+ }
10499
+ },
10500
+ {
10501
+ "name": "type",
10502
+ "type": {
10503
+ "text": "K"
10504
+ }
10505
+ },
10506
+ {
10507
+ "name": "listener",
10508
+ "type": {
10509
+ "text": "(this: Window, ev: WindowEventMap[K]) => any"
10510
+ }
10511
+ },
10512
+ {
10513
+ "name": "options",
10514
+ "optional": true,
10515
+ "type": {
10516
+ "text": "boolean | AddEventListenerOptions"
10517
+ }
10518
+ }
10519
+ ]
10632
10520
  },
10633
10521
  {
10634
- "kind": "field",
10635
- "name": "isEmpty"
10522
+ "kind": "method",
10523
+ "name": "listen",
10524
+ "return": {
10525
+ "type": {
10526
+ "text": "void"
10527
+ }
10528
+ },
10529
+ "parameters": [
10530
+ {
10531
+ "name": "document",
10532
+ "type": {
10533
+ "text": "Document"
10534
+ }
10535
+ },
10536
+ {
10537
+ "name": "type",
10538
+ "type": {
10539
+ "text": "K"
10540
+ }
10541
+ },
10542
+ {
10543
+ "name": "listener",
10544
+ "type": {
10545
+ "text": "(this: Document, ev: DocumentEventMap[K]) => any"
10546
+ }
10547
+ },
10548
+ {
10549
+ "name": "options",
10550
+ "optional": true,
10551
+ "type": {
10552
+ "text": "boolean | AddEventListenerOptions"
10553
+ }
10554
+ }
10555
+ ]
10636
10556
  },
10637
10557
  {
10638
- "kind": "field",
10639
- "name": "content"
10558
+ "kind": "method",
10559
+ "name": "listen",
10560
+ "return": {
10561
+ "type": {
10562
+ "text": "void"
10563
+ }
10564
+ },
10565
+ "parameters": [
10566
+ {
10567
+ "name": "element",
10568
+ "type": {
10569
+ "text": "HTMLElement"
10570
+ }
10571
+ },
10572
+ {
10573
+ "name": "type",
10574
+ "type": {
10575
+ "text": "K"
10576
+ }
10577
+ },
10578
+ {
10579
+ "name": "listener",
10580
+ "type": {
10581
+ "text": "(this: HTMLElement, ev: HTMLElementEventMap[K]) => any"
10582
+ }
10583
+ },
10584
+ {
10585
+ "name": "options",
10586
+ "optional": true,
10587
+ "type": {
10588
+ "text": "boolean | AddEventListenerOptions"
10589
+ }
10590
+ }
10591
+ ]
10640
10592
  },
10641
10593
  {
10642
- "kind": "field",
10643
- "name": "handleSlotChange",
10644
- "privacy": "private"
10594
+ "kind": "method",
10595
+ "name": "listen",
10596
+ "return": {
10597
+ "type": {
10598
+ "text": "void"
10599
+ }
10600
+ },
10601
+ "parameters": [
10602
+ {
10603
+ "name": "element",
10604
+ "type": {
10605
+ "text": "ShadowRoot"
10606
+ }
10607
+ },
10608
+ {
10609
+ "name": "type",
10610
+ "type": {
10611
+ "text": "K"
10612
+ }
10613
+ },
10614
+ {
10615
+ "name": "listener",
10616
+ "type": {
10617
+ "text": "(this: ShadowRoot, ev: ShadowRootEventMap[K]) => any"
10618
+ }
10619
+ },
10620
+ {
10621
+ "name": "options",
10622
+ "optional": true,
10623
+ "type": {
10624
+ "text": "boolean | AddEventListenerOptions"
10625
+ }
10626
+ }
10627
+ ]
10645
10628
  },
10646
10629
  {
10647
10630
  "kind": "method",
10648
- "name": "onChange",
10649
- "privacy": "protected",
10631
+ "name": "listen",
10650
10632
  "parameters": [
10651
10633
  {
10652
- "name": "_e",
10634
+ "name": "element",
10653
10635
  "type": {
10654
- "text": "Event"
10636
+ "text": "Window | Document | HTMLElement | ShadowRoot"
10637
+ }
10638
+ },
10639
+ {
10640
+ "name": "type",
10641
+ "type": {
10642
+ "text": "string"
10643
+ }
10644
+ },
10645
+ {
10646
+ "name": "listener",
10647
+ "type": {
10648
+ "text": "(ev: any) => any"
10649
+ }
10650
+ },
10651
+ {
10652
+ "name": "options",
10653
+ "optional": true,
10654
+ "type": {
10655
+ "text": "boolean | AddEventListenerOptions"
10655
10656
  }
10656
10657
  }
10657
10658
  ]
@@ -10662,22 +10663,22 @@
10662
10663
  "exports": [
10663
10664
  {
10664
10665
  "kind": "js",
10665
- "name": "SlotController",
10666
+ "name": "EventController",
10666
10667
  "declaration": {
10667
- "name": "SlotController",
10668
- "module": "src/common/controllers/SlotController.ts"
10668
+ "name": "EventController",
10669
+ "module": "src/common/controllers/EventController.ts"
10669
10670
  }
10670
10671
  }
10671
10672
  ]
10672
10673
  },
10673
10674
  {
10674
10675
  "kind": "javascript-module",
10675
- "path": "src/common/controllers/SwipeController.ts",
10676
+ "path": "src/common/controllers/FormDataController.ts",
10676
10677
  "declarations": [
10677
10678
  {
10678
10679
  "kind": "class",
10679
10680
  "description": "",
10680
- "name": "SwipeController",
10681
+ "name": "FormDataController",
10681
10682
  "members": [
10682
10683
  {
10683
10684
  "kind": "field",
@@ -10689,133 +10690,107 @@
10689
10690
  "default": "new EventController(host)"
10690
10691
  },
10691
10692
  {
10692
- "kind": "field",
10693
- "name": "hadFirstUpdate",
10694
- "type": {
10695
- "text": "boolean"
10696
- },
10697
- "privacy": "private",
10698
- "default": "false"
10693
+ "kind": "method",
10694
+ "name": "hostConnected"
10699
10695
  },
10700
10696
  {
10701
10697
  "kind": "field",
10702
- "name": "initialTouchX",
10703
- "type": {
10704
- "text": "number"
10705
- },
10706
- "privacy": "private",
10707
- "default": "0"
10708
- },
10698
+ "name": "handleFormData",
10699
+ "privacy": "private"
10700
+ }
10701
+ ]
10702
+ }
10703
+ ],
10704
+ "exports": [
10705
+ {
10706
+ "kind": "js",
10707
+ "name": "FormDataController",
10708
+ "declaration": {
10709
+ "name": "FormDataController",
10710
+ "module": "src/common/controllers/FormDataController.ts"
10711
+ }
10712
+ }
10713
+ ]
10714
+ },
10715
+ {
10716
+ "kind": "javascript-module",
10717
+ "path": "src/common/controllers/LightDismissController.ts",
10718
+ "declarations": [
10719
+ {
10720
+ "kind": "class",
10721
+ "description": "",
10722
+ "name": "LightDismissController",
10723
+ "members": [
10709
10724
  {
10710
10725
  "kind": "field",
10711
- "name": "initialTouchY",
10726
+ "name": "shortcut",
10712
10727
  "type": {
10713
- "text": "number"
10728
+ "text": "ShortcutController"
10714
10729
  },
10715
10730
  "privacy": "private",
10716
- "default": "0"
10731
+ "default": "new ShortcutController(host, { Escape: this.handleEsc })"
10717
10732
  },
10718
10733
  {
10719
10734
  "kind": "field",
10720
- "name": "options",
10735
+ "name": "events",
10721
10736
  "type": {
10722
- "text": "SetRequired<SwipeControllerOptions, \"target\">"
10737
+ "text": "EventController"
10723
10738
  },
10724
10739
  "privacy": "private",
10725
- "default": "{\n target: () => host,\n ...options,\n }"
10726
- },
10727
- {
10728
- "kind": "method",
10729
- "name": "hostUpdated"
10740
+ "default": "new EventController(host)"
10730
10741
  },
10731
10742
  {
10732
10743
  "kind": "method",
10733
- "name": "hostDisconnected"
10744
+ "name": "hostConnected"
10734
10745
  },
10735
10746
  {
10736
10747
  "kind": "field",
10737
- "name": "handleTouchStart",
10748
+ "name": "handleEsc",
10738
10749
  "privacy": "private"
10739
10750
  },
10740
10751
  {
10741
10752
  "kind": "field",
10742
- "name": "handleTouchEnd",
10753
+ "name": "handleClickOut",
10743
10754
  "privacy": "private"
10744
10755
  }
10745
10756
  ]
10746
- },
10747
- {
10748
- "kind": "function",
10749
- "name": "isHorizontalSwipe",
10750
- "parameters": [
10751
- {
10752
- "name": "{ distX, distY }",
10753
- "type": {
10754
- "text": "SwipeDetails"
10755
- }
10756
- }
10757
- ]
10758
- },
10759
- {
10760
- "kind": "function",
10761
- "name": "isDownwardsSwipe",
10762
- "parameters": [
10763
- {
10764
- "name": "{ distX, distY }",
10765
- "type": {
10766
- "text": "SwipeDetails"
10767
- }
10768
- }
10769
- ]
10770
10757
  }
10771
10758
  ],
10772
10759
  "exports": [
10773
10760
  {
10774
10761
  "kind": "js",
10775
- "name": "SwipeController",
10776
- "declaration": {
10777
- "name": "SwipeController",
10778
- "module": "src/common/controllers/SwipeController.ts"
10779
- }
10780
- },
10781
- {
10782
- "kind": "js",
10783
- "name": "isHorizontalSwipe",
10784
- "declaration": {
10785
- "name": "isHorizontalSwipe",
10786
- "module": "src/common/controllers/SwipeController.ts"
10787
- }
10788
- },
10789
- {
10790
- "kind": "js",
10791
- "name": "isDownwardsSwipe",
10762
+ "name": "LightDismissController",
10792
10763
  "declaration": {
10793
- "name": "isDownwardsSwipe",
10794
- "module": "src/common/controllers/SwipeController.ts"
10764
+ "name": "LightDismissController",
10765
+ "module": "src/common/controllers/LightDismissController.ts"
10795
10766
  }
10796
10767
  }
10797
10768
  ]
10798
10769
  },
10799
10770
  {
10800
10771
  "kind": "javascript-module",
10801
- "path": "src/common/decorators/observe.ts",
10772
+ "path": "src/common/controllers/LightDomController.ts",
10802
10773
  "declarations": [
10803
10774
  {
10804
- "kind": "function",
10805
- "name": "observe",
10806
- "parameters": [
10775
+ "kind": "class",
10776
+ "description": "",
10777
+ "name": "LightDomController",
10778
+ "members": [
10807
10779
  {
10808
- "name": "propertyName",
10780
+ "kind": "field",
10781
+ "name": "container",
10809
10782
  "type": {
10810
- "text": "string"
10811
- }
10783
+ "text": "HTMLElement"
10784
+ },
10785
+ "privacy": "private"
10812
10786
  },
10813
10787
  {
10814
- "name": "lifecycle",
10815
- "default": "\"update\"",
10816
- "type": {
10817
- "text": "ObserveLifecycle"
10818
- }
10788
+ "kind": "method",
10789
+ "name": "hostUpdated"
10790
+ },
10791
+ {
10792
+ "kind": "method",
10793
+ "name": "hostDisconnected"
10819
10794
  }
10820
10795
  ]
10821
10796
  }
@@ -10823,221 +10798,177 @@
10823
10798
  "exports": [
10824
10799
  {
10825
10800
  "kind": "js",
10826
- "name": "observe",
10801
+ "name": "LightDomController",
10827
10802
  "declaration": {
10828
- "name": "observe",
10829
- "module": "src/common/decorators/observe.ts"
10803
+ "name": "LightDomController",
10804
+ "module": "src/common/controllers/LightDomController.ts"
10830
10805
  }
10831
10806
  }
10832
10807
  ]
10833
10808
  },
10834
10809
  {
10835
10810
  "kind": "javascript-module",
10836
- "path": "src/common/directives/cond.ts",
10811
+ "path": "src/common/controllers/LightSlotController.ts",
10837
10812
  "declarations": [
10838
10813
  {
10839
- "kind": "function",
10840
- "name": "cond",
10841
- "return": {
10842
- "type": {
10843
- "text": "typeof value | typeof nothing"
10844
- }
10845
- },
10846
- "parameters": [
10847
- {
10848
- "name": "value",
10849
- "type": {
10850
- "text": "any"
10851
- }
10852
- }
10853
- ],
10854
- "description": "if value is truthy, return it, otherwise return nothing"
10855
- },
10856
- {
10857
- "kind": "function",
10858
- "name": "cond",
10859
- "return": {
10860
- "type": {
10861
- "text": "typeof trueCase | typeof nothing"
10862
- }
10863
- },
10864
- "parameters": [
10865
- {
10866
- "name": "condition",
10867
- "type": {
10868
- "text": "unknown"
10869
- }
10870
- },
10871
- {
10872
- "name": "trueCase",
10873
- "type": {
10874
- "text": "any"
10875
- }
10876
- }
10877
- ],
10878
- "description": "if condition is truthy, return trueCase, otherwise return nothing"
10879
- },
10880
- {
10881
- "kind": "function",
10882
- "name": "cond",
10883
- "return": {
10884
- "type": {
10885
- "text": "typeof trueCase"
10886
- }
10887
- },
10888
- "parameters": [
10889
- {
10890
- "name": "condition",
10891
- "type": {
10892
- "text": "true"
10893
- }
10894
- },
10895
- {
10896
- "name": "trueCase",
10897
- "type": {
10898
- "text": "any"
10899
- }
10900
- }
10901
- ],
10902
- "description": "condition is true, so always return trueCase"
10903
- },
10904
- {
10905
- "kind": "function",
10906
- "name": "cond",
10907
- "return": {
10908
- "type": {
10909
- "text": "typeof nothing"
10910
- }
10911
- },
10912
- "parameters": [
10913
- {
10914
- "name": "condition",
10915
- "type": {
10916
- "text": "false"
10917
- }
10918
- },
10919
- {
10920
- "name": "trueCase",
10921
- "type": {
10922
- "text": "any"
10923
- }
10924
- }
10925
- ],
10926
- "description": "condition is false, to will always return nothing"
10927
- },
10928
- {
10929
- "kind": "function",
10930
- "name": "cond",
10931
- "return": {
10932
- "type": {
10933
- "text": "typeof trueCase | typeof falseCase"
10934
- }
10935
- },
10936
- "parameters": [
10814
+ "kind": "class",
10815
+ "description": "Handles cases where a component needs to render to light DOM,\nand potentially sync component properties to user-supplied content.",
10816
+ "name": "LightSlotController",
10817
+ "members": [
10937
10818
  {
10938
- "name": "condition",
10819
+ "kind": "field",
10820
+ "name": "renderHook",
10939
10821
  "type": {
10940
- "text": "unknown"
10941
- }
10822
+ "text": "Comment"
10823
+ },
10824
+ "privacy": "private"
10942
10825
  },
10943
10826
  {
10944
- "name": "trueCase",
10827
+ "kind": "field",
10828
+ "name": "lightDom",
10945
10829
  "type": {
10946
- "text": "any"
10947
- }
10830
+ "text": "LightDomController"
10831
+ },
10832
+ "privacy": "private",
10833
+ "default": "new LightDomController(host, {\n render: () => (this.hasContent ? nothing : this.options.render()),\n renderOptions: { renderBefore: this.renderHook },\n })"
10948
10834
  },
10949
10835
  {
10950
- "name": "falseCase",
10951
- "type": {
10952
- "text": "any"
10836
+ "kind": "method",
10837
+ "name": "hostConnected",
10838
+ "inheritedFrom": {
10839
+ "name": "SlotController",
10840
+ "module": "src/common/controllers/SlotController.ts"
10953
10841
  }
10954
- }
10955
- ],
10956
- "description": "if condition is truthy, return trueCase, otherwise return falseCase"
10957
- },
10958
- {
10959
- "kind": "function",
10960
- "name": "cond",
10961
- "return": {
10962
- "type": {
10963
- "text": "typeof trueCase"
10964
- }
10965
- },
10966
- "parameters": [
10842
+ },
10967
10843
  {
10968
- "name": "condition",
10969
- "type": {
10970
- "text": "true"
10844
+ "kind": "method",
10845
+ "name": "hostDisconnected"
10846
+ },
10847
+ {
10848
+ "kind": "field",
10849
+ "name": "onChange",
10850
+ "privacy": "protected",
10851
+ "parameters": [
10852
+ {
10853
+ "name": "_e",
10854
+ "type": {
10855
+ "text": "Event"
10856
+ }
10857
+ }
10858
+ ],
10859
+ "inheritedFrom": {
10860
+ "name": "SlotController",
10861
+ "module": "src/common/controllers/SlotController.ts"
10971
10862
  }
10972
10863
  },
10973
10864
  {
10974
- "name": "trueCase",
10865
+ "kind": "method",
10866
+ "name": "syncLightDom",
10867
+ "privacy": "private"
10868
+ },
10869
+ {
10870
+ "kind": "field",
10871
+ "name": "events",
10975
10872
  "type": {
10976
- "text": "any"
10873
+ "text": "EventController"
10874
+ },
10875
+ "privacy": "private",
10876
+ "default": "new EventController(host)",
10877
+ "inheritedFrom": {
10878
+ "name": "SlotController",
10879
+ "module": "src/common/controllers/SlotController.ts"
10977
10880
  }
10978
10881
  },
10979
10882
  {
10980
- "name": "falseCase",
10981
- "type": {
10982
- "text": "any"
10883
+ "kind": "field",
10884
+ "name": "hasContent",
10885
+ "inheritedFrom": {
10886
+ "name": "SlotController",
10887
+ "module": "src/common/controllers/SlotController.ts"
10983
10888
  }
10984
- }
10985
- ],
10986
- "description": "condition is true, so always return trueCase"
10987
- },
10988
- {
10989
- "kind": "function",
10990
- "name": "cond",
10991
- "return": {
10992
- "type": {
10993
- "text": "typeof falseCase"
10994
- }
10995
- },
10996
- "parameters": [
10889
+ },
10997
10890
  {
10998
- "name": "condition",
10999
- "type": {
11000
- "text": "false"
10891
+ "kind": "field",
10892
+ "name": "isEmpty",
10893
+ "inheritedFrom": {
10894
+ "name": "SlotController",
10895
+ "module": "src/common/controllers/SlotController.ts"
11001
10896
  }
11002
10897
  },
11003
10898
  {
11004
- "name": "trueCase",
11005
- "type": {
11006
- "text": "any"
10899
+ "kind": "field",
10900
+ "name": "content",
10901
+ "inheritedFrom": {
10902
+ "name": "SlotController",
10903
+ "module": "src/common/controllers/SlotController.ts"
11007
10904
  }
11008
10905
  },
11009
10906
  {
11010
- "name": "falseCase",
11011
- "type": {
11012
- "text": "any"
10907
+ "kind": "field",
10908
+ "name": "handleSlotChange",
10909
+ "privacy": "private",
10910
+ "inheritedFrom": {
10911
+ "name": "SlotController",
10912
+ "module": "src/common/controllers/SlotController.ts"
11013
10913
  }
11014
10914
  }
11015
10915
  ],
11016
- "description": "condition is false, so always return falseCase"
11017
- },
10916
+ "superclass": {
10917
+ "name": "SlotController",
10918
+ "module": "/src/common/controllers/SlotController.js"
10919
+ },
10920
+ "status": null,
10921
+ "category": null
10922
+ }
10923
+ ],
10924
+ "exports": [
11018
10925
  {
11019
- "kind": "function",
11020
- "name": "cond",
11021
- "parameters": [
10926
+ "kind": "js",
10927
+ "name": "LightSlotController",
10928
+ "declaration": {
10929
+ "name": "LightSlotController",
10930
+ "module": "src/common/controllers/LightSlotController.ts"
10931
+ }
10932
+ }
10933
+ ]
10934
+ },
10935
+ {
10936
+ "kind": "javascript-module",
10937
+ "path": "src/common/controllers/PortalController.ts",
10938
+ "declarations": [
10939
+ {
10940
+ "kind": "class",
10941
+ "description": "",
10942
+ "name": "PortalController",
10943
+ "members": [
11022
10944
  {
11023
- "name": "condition",
10945
+ "kind": "field",
10946
+ "name": "renderHook",
11024
10947
  "type": {
11025
- "text": "unknown"
11026
- }
10948
+ "text": "Comment"
10949
+ },
10950
+ "privacy": "private"
11027
10951
  },
11028
10952
  {
11029
- "name": "trueCase",
11030
- "default": "condition",
10953
+ "kind": "field",
10954
+ "name": "lightDom",
11031
10955
  "type": {
11032
- "text": "any"
11033
- }
10956
+ "text": "LightDomController"
10957
+ },
10958
+ "privacy": "private",
10959
+ "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 })"
11034
10960
  },
11035
10961
  {
11036
- "name": "falseCase",
11037
- "default": "nothing",
11038
- "type": {
11039
- "text": "any"
11040
- }
10962
+ "kind": "method",
10963
+ "name": "hostConnected"
10964
+ },
10965
+ {
10966
+ "kind": "method",
10967
+ "name": "hostUpdated"
10968
+ },
10969
+ {
10970
+ "kind": "method",
10971
+ "name": "hostDisconnected"
11041
10972
  }
11042
10973
  ]
11043
10974
  }
@@ -11045,222 +10976,265 @@
11045
10976
  "exports": [
11046
10977
  {
11047
10978
  "kind": "js",
11048
- "name": "cond",
11049
- "declaration": {
11050
- "name": "cond",
11051
- "module": "src/common/directives/cond.ts"
11052
- }
11053
- },
11054
- {
11055
- "kind": "js",
11056
- "name": "cond",
11057
- "declaration": {
11058
- "name": "cond",
11059
- "module": "src/common/directives/cond.ts"
11060
- }
11061
- },
11062
- {
11063
- "kind": "js",
11064
- "name": "cond",
10979
+ "name": "PortalController",
11065
10980
  "declaration": {
11066
- "name": "cond",
11067
- "module": "src/common/directives/cond.ts"
10981
+ "name": "PortalController",
10982
+ "module": "src/common/controllers/PortalController.ts"
11068
10983
  }
11069
- },
10984
+ }
10985
+ ]
10986
+ },
10987
+ {
10988
+ "kind": "javascript-module",
10989
+ "path": "src/common/controllers/ShortcutController.ts",
10990
+ "declarations": [
11070
10991
  {
11071
- "kind": "js",
11072
- "name": "cond",
11073
- "declaration": {
11074
- "name": "cond",
11075
- "module": "src/common/directives/cond.ts"
11076
- }
11077
- },
10992
+ "kind": "class",
10993
+ "description": "",
10994
+ "name": "ShortcutController",
10995
+ "members": [
10996
+ {
10997
+ "kind": "field",
10998
+ "name": "unregister",
10999
+ "type": {
11000
+ "text": "ReturnType<typeof tinykeys> | undefined"
11001
+ },
11002
+ "privacy": "private"
11003
+ },
11004
+ {
11005
+ "kind": "method",
11006
+ "name": "hostConnected"
11007
+ },
11008
+ {
11009
+ "kind": "method",
11010
+ "name": "hostDisconnected"
11011
+ },
11012
+ {
11013
+ "kind": "method",
11014
+ "name": "unbind"
11015
+ },
11016
+ {
11017
+ "kind": "method",
11018
+ "name": "bind",
11019
+ "parameters": [
11020
+ {
11021
+ "name": "shortcuts",
11022
+ "type": {
11023
+ "text": "KeyBindingMap"
11024
+ }
11025
+ }
11026
+ ]
11027
+ }
11028
+ ]
11029
+ }
11030
+ ],
11031
+ "exports": [
11078
11032
  {
11079
11033
  "kind": "js",
11080
- "name": "cond",
11034
+ "name": "ShortcutController",
11081
11035
  "declaration": {
11082
- "name": "cond",
11083
- "module": "src/common/directives/cond.ts"
11036
+ "name": "ShortcutController",
11037
+ "module": "src/common/controllers/ShortcutController.ts"
11084
11038
  }
11085
11039
  },
11086
11040
  {
11087
11041
  "kind": "js",
11088
- "name": "cond",
11042
+ "name": "ShortcutMap",
11089
11043
  "declaration": {
11090
- "name": "cond",
11091
- "module": "src/common/directives/cond.ts"
11044
+ "name": "KeyBindingMap",
11045
+ "module": "src/common/controllers/ShortcutController.ts"
11092
11046
  }
11093
- },
11047
+ }
11048
+ ]
11049
+ },
11050
+ {
11051
+ "kind": "javascript-module",
11052
+ "path": "src/common/controllers/SlotController.ts",
11053
+ "declarations": [
11094
11054
  {
11095
- "kind": "js",
11096
- "name": "cond",
11097
- "declaration": {
11098
- "name": "cond",
11099
- "module": "src/common/directives/cond.ts"
11100
- }
11101
- },
11055
+ "kind": "class",
11056
+ "description": "",
11057
+ "name": "SlotController",
11058
+ "members": [
11059
+ {
11060
+ "kind": "field",
11061
+ "name": "events",
11062
+ "type": {
11063
+ "text": "EventController"
11064
+ },
11065
+ "privacy": "private",
11066
+ "default": "new EventController(host)"
11067
+ },
11068
+ {
11069
+ "kind": "method",
11070
+ "name": "hostConnected"
11071
+ },
11072
+ {
11073
+ "kind": "field",
11074
+ "name": "hasContent"
11075
+ },
11076
+ {
11077
+ "kind": "field",
11078
+ "name": "isEmpty"
11079
+ },
11080
+ {
11081
+ "kind": "field",
11082
+ "name": "content"
11083
+ },
11084
+ {
11085
+ "kind": "field",
11086
+ "name": "handleSlotChange",
11087
+ "privacy": "private"
11088
+ },
11089
+ {
11090
+ "kind": "method",
11091
+ "name": "onChange",
11092
+ "privacy": "protected",
11093
+ "parameters": [
11094
+ {
11095
+ "name": "_e",
11096
+ "type": {
11097
+ "text": "Event"
11098
+ }
11099
+ }
11100
+ ]
11101
+ }
11102
+ ]
11103
+ }
11104
+ ],
11105
+ "exports": [
11102
11106
  {
11103
11107
  "kind": "js",
11104
- "name": "cond",
11108
+ "name": "SlotController",
11105
11109
  "declaration": {
11106
- "name": "cond",
11107
- "module": "src/common/directives/cond.ts"
11110
+ "name": "SlotController",
11111
+ "module": "src/common/controllers/SlotController.ts"
11108
11112
  }
11109
11113
  }
11110
11114
  ]
11111
11115
  },
11112
11116
  {
11113
11117
  "kind": "javascript-module",
11114
- "path": "src/common/directives/wrapIf.ts",
11118
+ "path": "src/common/controllers/SwipeController.ts",
11115
11119
  "declarations": [
11116
11120
  {
11117
- "kind": "function",
11118
- "name": "wrapIf",
11119
- "return": {
11120
- "type": {
11121
- "text": "TInner"
11122
- }
11123
- },
11124
- "parameters": [
11121
+ "kind": "class",
11122
+ "description": "",
11123
+ "name": "SwipeController",
11124
+ "members": [
11125
11125
  {
11126
- "name": "condition",
11126
+ "kind": "field",
11127
+ "name": "events",
11127
11128
  "type": {
11128
- "text": "false"
11129
- }
11129
+ "text": "EventController"
11130
+ },
11131
+ "privacy": "private",
11132
+ "default": "new EventController(host)"
11130
11133
  },
11131
11134
  {
11132
- "name": "inner",
11135
+ "kind": "field",
11136
+ "name": "hadFirstUpdate",
11133
11137
  "type": {
11134
- "text": "() => TInner"
11135
- }
11138
+ "text": "boolean"
11139
+ },
11140
+ "privacy": "private",
11141
+ "default": "false"
11136
11142
  },
11137
11143
  {
11138
- "name": "wrapper",
11144
+ "kind": "field",
11145
+ "name": "initialTouchX",
11139
11146
  "type": {
11140
- "text": "(inner: TInner) => TWrapper"
11141
- }
11142
- }
11143
- ]
11144
- },
11145
- {
11146
- "kind": "function",
11147
- "name": "wrapIf",
11148
- "return": {
11149
- "type": {
11150
- "text": "TWrapper"
11151
- }
11152
- },
11153
- "parameters": [
11147
+ "text": "number"
11148
+ },
11149
+ "privacy": "private",
11150
+ "default": "0"
11151
+ },
11154
11152
  {
11155
- "name": "condition",
11153
+ "kind": "field",
11154
+ "name": "initialTouchY",
11156
11155
  "type": {
11157
- "text": "true"
11158
- }
11156
+ "text": "number"
11157
+ },
11158
+ "privacy": "private",
11159
+ "default": "0"
11159
11160
  },
11160
11161
  {
11161
- "name": "inner",
11162
+ "kind": "field",
11163
+ "name": "options",
11162
11164
  "type": {
11163
- "text": "() => TInner"
11164
- }
11165
+ "text": "SetRequired<SwipeControllerOptions, \"target\">"
11166
+ },
11167
+ "privacy": "private",
11168
+ "default": "{\n target: () => host,\n ...options,\n }"
11165
11169
  },
11166
11170
  {
11167
- "name": "wrapper",
11168
- "type": {
11169
- "text": "(inner: TInner) => TWrapper"
11170
- }
11171
+ "kind": "method",
11172
+ "name": "hostUpdated"
11173
+ },
11174
+ {
11175
+ "kind": "method",
11176
+ "name": "hostDisconnected"
11177
+ },
11178
+ {
11179
+ "kind": "field",
11180
+ "name": "handleTouchStart",
11181
+ "privacy": "private"
11182
+ },
11183
+ {
11184
+ "kind": "field",
11185
+ "name": "handleTouchEnd",
11186
+ "privacy": "private"
11171
11187
  }
11172
11188
  ]
11173
11189
  },
11174
11190
  {
11175
11191
  "kind": "function",
11176
- "name": "wrapIf",
11177
- "return": {
11178
- "type": {
11179
- "text": "TInner | TWrapper"
11180
- }
11181
- },
11192
+ "name": "isHorizontalSwipe",
11182
11193
  "parameters": [
11183
11194
  {
11184
- "name": "condition",
11185
- "type": {
11186
- "text": "unknown"
11187
- }
11188
- },
11189
- {
11190
- "name": "inner",
11191
- "type": {
11192
- "text": "() => TInner"
11193
- }
11194
- },
11195
- {
11196
- "name": "wrapper",
11195
+ "name": "{ distX, distY }",
11197
11196
  "type": {
11198
- "text": "(inner: TInner) => TWrapper"
11197
+ "text": "SwipeDetails"
11199
11198
  }
11200
11199
  }
11201
11200
  ]
11202
11201
  },
11203
11202
  {
11204
11203
  "kind": "function",
11205
- "name": "wrapIf",
11204
+ "name": "isDownwardsSwipe",
11206
11205
  "parameters": [
11207
11206
  {
11208
- "name": "condition",
11209
- "type": {
11210
- "text": "any"
11211
- }
11212
- },
11213
- {
11214
- "name": "inner",
11215
- "type": {
11216
- "text": "() => TInner"
11217
- }
11218
- },
11219
- {
11220
- "name": "wrapper",
11207
+ "name": "{ distX, distY }",
11221
11208
  "type": {
11222
- "text": "(innards: TInner) => TWrapper"
11209
+ "text": "SwipeDetails"
11223
11210
  }
11224
11211
  }
11225
- ],
11226
- "return": {
11227
- "type": {
11228
- "text": ""
11229
- }
11230
- }
11212
+ ]
11231
11213
  }
11232
11214
  ],
11233
11215
  "exports": [
11234
11216
  {
11235
11217
  "kind": "js",
11236
- "name": "wrapIf",
11237
- "declaration": {
11238
- "name": "wrapIf",
11239
- "module": "src/common/directives/wrapIf.ts"
11240
- }
11241
- },
11242
- {
11243
- "kind": "js",
11244
- "name": "wrapIf",
11218
+ "name": "SwipeController",
11245
11219
  "declaration": {
11246
- "name": "wrapIf",
11247
- "module": "src/common/directives/wrapIf.ts"
11220
+ "name": "SwipeController",
11221
+ "module": "src/common/controllers/SwipeController.ts"
11248
11222
  }
11249
11223
  },
11250
11224
  {
11251
11225
  "kind": "js",
11252
- "name": "wrapIf",
11226
+ "name": "isHorizontalSwipe",
11253
11227
  "declaration": {
11254
- "name": "wrapIf",
11255
- "module": "src/common/directives/wrapIf.ts"
11228
+ "name": "isHorizontalSwipe",
11229
+ "module": "src/common/controllers/SwipeController.ts"
11256
11230
  }
11257
11231
  },
11258
11232
  {
11259
11233
  "kind": "js",
11260
- "name": "wrapIf",
11234
+ "name": "isDownwardsSwipe",
11261
11235
  "declaration": {
11262
- "name": "wrapIf",
11263
- "module": "src/common/directives/wrapIf.ts"
11236
+ "name": "isDownwardsSwipe",
11237
+ "module": "src/common/controllers/SwipeController.ts"
11264
11238
  }
11265
11239
  }
11266
11240
  ]