@nordhealth/components 1.8.0 → 1.8.1-alpha.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 (2) hide show
  1. package/custom-elements.json +1224 -1224
  2. package/package.json +5 -5
@@ -908,74 +908,6 @@
908
908
  ],
909
909
  "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 clear and accurate labels.\n- Use established button colors appropriately. For example, only use a danger button style for an action that’s difficult or impossible to undo.\n- Prioritize the most important actions. Too many buttons will cause confusion.\n- Be consistent with positioning of buttons in the user interface.\n- Use strong, actionable verbs in labels such as “Add”, “Close”, “Cancel”, or “Save”.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use buttons to link to other pages. Use regular link or a plain style instead where necessary.\n- Don’t use buttons for navigation where the link appears within or following a sentence.\n- Don’t use labels such as “Read more”, “Click here” or “More”.\n\n</div>\n\n---\n\n## Content guidelines\n\nButton labels should be clear, accurate and predictable. It should be possible for the user to understand what will happen when they click a button:\n\n<div class=\"n-usage n-usage-do\">View user settings</div>\n<div class=\"n-usage n-usage-dont\">Click here</div>\n\nWhen writing button labels, always write them in sentence case, not title case. The first word should be capitalized and the rest lowercase (unless a proper noun):\n\n<div class=\"n-usage n-usage-do\">My tasks</div>\n<div class=\"n-usage n-usage-dont\">My Tasks</div>\n\nAvoid unnecessary words and articles in button labels, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Add item</div>\n<div class=\"n-usage n-usage-dont\">Add an item</div>\n\n---\n\n## Variants\n\nThis section describes the different component variants, their purpose, and when to use each variant.\n\n| Name | Purpose |\n| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `default` | Default style is the most common button variant. Only switch to another variant if you need to adjust the visual weight of the element. |\n| `primary` | Primary style is reserved for main call-to-actions. Should be used only once per content area or panel, e.g. for a “Save” action. |\n| `dashed` | Dashed style should be used for actions that trigger filtering. |\n| `danger` | Danger style should be used for actions that delete data or otherwise make it hard to undo the action. |\n| `plain` | Used for less important or less common actions. Can be also used for linking to other pages. |\n| `disabled` | Used for actions that aren’t currently available or not available anymore. Also prevents users from being able to interact with the component, and conveys its inactive state to assistive technologies. |\n| `switch` | Switch style is reserved for the clinic switcher in the top left corner of an application. |\n\n---\n\n## Additional considerations\n\n- Users of assistive technology expect a button to submit data or do an action. If you need the button to navigate into another view, use the `href` property which will output `<a>` tag instead of a `<button>`.\n- When you need to disable a button, use `disabled` property as it conveys this information correctly to assistive technologies like screen readers.\n- Button component provides 3 size variants; small, medium and large. The large size should only be used for marketing purposes or on areas such as an empty space/content notice.\n"
910
910
  },
911
- {
912
- "kind": "javascript-module",
913
- "path": "src/banner/Banner.ts",
914
- "declarations": [
915
- {
916
- "kind": "class",
917
- "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.",
918
- "name": "Banner",
919
- "slots": [
920
- {
921
- "description": "default slot",
922
- "name": ""
923
- }
924
- ],
925
- "members": [
926
- {
927
- "kind": "field",
928
- "name": "variant",
929
- "type": {
930
- "text": "\"info\" | \"danger\" | \"success\" | \"warning\""
931
- },
932
- "default": "\"info\"",
933
- "description": "The style variant of the banner.",
934
- "attribute": "variant",
935
- "reflects": true
936
- }
937
- ],
938
- "attributes": [
939
- {
940
- "name": "variant",
941
- "type": {
942
- "text": "\"info\" | \"danger\" | \"success\" | \"warning\""
943
- },
944
- "default": "\"info\"",
945
- "description": "The style variant of the banner.",
946
- "fieldName": "variant"
947
- }
948
- ],
949
- "superclass": {
950
- "name": "LitElement",
951
- "package": "lit"
952
- },
953
- "status": "ready",
954
- "category": "feedback",
955
- "tagName": "nord-banner",
956
- "customElement": true
957
- }
958
- ],
959
- "exports": [
960
- {
961
- "kind": "js",
962
- "name": "default",
963
- "declaration": {
964
- "name": "Banner",
965
- "module": "src/banner/Banner.ts"
966
- }
967
- },
968
- {
969
- "kind": "custom-element-definition",
970
- "name": "nord-banner",
971
- "declaration": {
972
- "name": "Banner",
973
- "module": "src/banner/Banner.ts"
974
- }
975
- }
976
- ],
977
- "readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Use this component if you need to communicate in a prominent way.\n- Place banner at the top of the section it applies to.\n- Use for highlighting errors and success statuses.\n- Put banner close to the context it’s referring to.\n- Move focus to the banner if it’s relevant to the current workflow.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Move focus to banner if it appears on page load.\n- Use for highlighting general content or as a banner.\n- Use to replace an error page.\n\n</div>\n\n---\n\n## Content guidelines\n\nBanner content should be clear, accurate and easy to understand:\n\n<div class=\"n-usage n-usage-do\">We’re experiencing an incident. Please see our status page for more details.</div>\n<div class=\"n-usage n-usage-dont\">There was an error.</div>\n\nWhen writing banner content, always write it in sentence case, not title case. The first word should be capitalized and the rest lowercase (unless a proper noun):\n\n<div class=\"n-usage n-usage-do\">We’re experiencing an incident.</div>\n<div class=\"n-usage n-usage-dont\">We’re Experiencing An Incident.</div>\n\nAlways end in punctuation:\n\n<div class=\"n-usage n-usage-do\">We’re experiencing an incident.</div>\n<div class=\"n-usage n-usage-dont\">We’re experiencing an incident</div>\n"
978
- },
979
911
  {
980
912
  "kind": "javascript-module",
981
913
  "path": "src/calendar/Calendar.ts",
@@ -1496,60 +1428,40 @@
1496
1428
  },
1497
1429
  {
1498
1430
  "kind": "javascript-module",
1499
- "path": "src/card/Card.ts",
1431
+ "path": "src/banner/Banner.ts",
1500
1432
  "declarations": [
1501
1433
  {
1502
1434
  "kind": "class",
1503
- "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.",
1504
- "name": "Card",
1435
+ "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.",
1436
+ "name": "Banner",
1505
1437
  "slots": [
1506
1438
  {
1507
- "description": "The card content.",
1439
+ "description": "default slot",
1508
1440
  "name": ""
1509
- },
1510
- {
1511
- "description": "Optional slot that holds a header for the card.",
1512
- "name": "header"
1513
- },
1514
- {
1515
- "description": "Optional slot that holds footer content for the card.",
1516
- "name": "footer"
1517
1441
  }
1518
1442
  ],
1519
1443
  "members": [
1520
1444
  {
1521
1445
  "kind": "field",
1522
- "name": "headerSlot",
1523
- "privacy": "private",
1524
- "default": "new SlotController(this, \"header\")"
1525
- },
1526
- {
1527
- "kind": "field",
1528
- "name": "footerSlot",
1529
- "privacy": "private",
1530
- "default": "new SlotController(this, \"footer\")"
1531
- },
1532
- {
1533
- "kind": "field",
1534
- "name": "padding",
1446
+ "name": "variant",
1535
1447
  "type": {
1536
- "text": "\"m\" | \"l\" | \"none\""
1448
+ "text": "\"info\" | \"danger\" | \"success\" | \"warning\""
1537
1449
  },
1538
- "default": "\"m\"",
1539
- "description": "Controls the padding of the card component. When set to “none”,\nthe header and footer slots will still have padding.",
1540
- "attribute": "padding",
1450
+ "default": "\"info\"",
1451
+ "description": "The style variant of the banner.",
1452
+ "attribute": "variant",
1541
1453
  "reflects": true
1542
1454
  }
1543
1455
  ],
1544
1456
  "attributes": [
1545
1457
  {
1546
- "name": "padding",
1458
+ "name": "variant",
1547
1459
  "type": {
1548
- "text": "\"m\" | \"l\" | \"none\""
1460
+ "text": "\"info\" | \"danger\" | \"success\" | \"warning\""
1549
1461
  },
1550
- "default": "\"m\"",
1551
- "description": "Controls the padding of the card component. When set to “none”,\nthe header and footer slots will still have padding.",
1552
- "fieldName": "padding"
1462
+ "default": "\"info\"",
1463
+ "description": "The style variant of the banner.",
1464
+ "fieldName": "variant"
1553
1465
  }
1554
1466
  ],
1555
1467
  "superclass": {
@@ -1557,8 +1469,8 @@
1557
1469
  "package": "lit"
1558
1470
  },
1559
1471
  "status": "ready",
1560
- "category": "structure",
1561
- "tagName": "nord-card",
1472
+ "category": "feedback",
1473
+ "tagName": "nord-banner",
1562
1474
  "customElement": true
1563
1475
  }
1564
1476
  ],
@@ -1567,20 +1479,20 @@
1567
1479
  "kind": "js",
1568
1480
  "name": "default",
1569
1481
  "declaration": {
1570
- "name": "Card",
1571
- "module": "src/card/Card.ts"
1482
+ "name": "Banner",
1483
+ "module": "src/banner/Banner.ts"
1572
1484
  }
1573
1485
  },
1574
1486
  {
1575
1487
  "kind": "custom-element-definition",
1576
- "name": "nord-card",
1488
+ "name": "nord-banner",
1577
1489
  "declaration": {
1578
- "name": "Card",
1579
- "module": "src/card/Card.ts"
1490
+ "name": "Banner",
1491
+ "module": "src/banner/Banner.ts"
1580
1492
  }
1581
1493
  }
1582
1494
  ],
1583
- "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"
1495
+ "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"
1584
1496
  },
1585
1497
  {
1586
1498
  "kind": "javascript-module",
@@ -1650,6 +1562,94 @@
1650
1562
  ],
1651
1563
  "readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Use to show a status update on a piece of information or action.\n- Use to mark something as a “draft” or “new”.\n- Use when you want to highlight something that has been added recently.\n- Use established color patterns so that users can clearly identify the importance level.\n- Always position badge so that it’s clear to understand what object it’s related to.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t make badges clickable. Instead use button component’s small variant.\n- Don’t use alternatives to existing badge variants.\n\n</div>\n\n---\n\n## Content guidelines\n\nBadge labels should use a single word to describe the status of an object. Only use two words if you need to describe a complex state:\n\n<div class=\"n-usage n-usage-do\">Complete</div>\n<div class=\"n-usage n-usage-dont\">Action completed</div>\n\nWhen writing badge labels, always write them in sentence case, not title case. The first word should be capitalized and the rest lowercase (unless a proper noun):\n\n<div class=\"n-usage n-usage-do\">Partially refunded</div>\n<div class=\"n-usage n-usage-dont\">Partially Refunded</div>\n\nAvoid unnecessary words and articles in badge labels, such as “is”, “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Pending</div>\n<div class=\"n-usage n-usage-dont\">Item is pending</div>\n\nAlways describe the status in the past tense:\n\n<div class=\"n-usage n-usage-do\">Refunded</div>\n<div class=\"n-usage n-usage-dont\">Refund</div>\n\n---\n\n## Variants\n\nThis section describes the different component variants, their purpose, and when to use each variant.\n\n| Name | Purpose |\n| ----------- | --------------------------------------------------------------------------------------------------------------------------------------- |\n| `info` | The default variant. Used to convey general information that isn’t critical. |\n| `success` | Used to convey success states. For example, you might want to show a badge that tells the user a payment was successful. |\n| `highlight` | Used to highlight specific items in the interface, like notifications. |\n| `danger` | Used to communicate problems that have to be resolved so that user can continue forward. Should always be used for highlighting errors. |\n| `warning` | Used to display information that needs a user’s attention attention and may require further steps. |\n"
1652
1564
  },
1565
+ {
1566
+ "kind": "javascript-module",
1567
+ "path": "src/card/Card.ts",
1568
+ "declarations": [
1569
+ {
1570
+ "kind": "class",
1571
+ "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.",
1572
+ "name": "Card",
1573
+ "slots": [
1574
+ {
1575
+ "description": "The card content.",
1576
+ "name": ""
1577
+ },
1578
+ {
1579
+ "description": "Optional slot that holds a header for the card.",
1580
+ "name": "header"
1581
+ },
1582
+ {
1583
+ "description": "Optional slot that holds footer content for the card.",
1584
+ "name": "footer"
1585
+ }
1586
+ ],
1587
+ "members": [
1588
+ {
1589
+ "kind": "field",
1590
+ "name": "headerSlot",
1591
+ "privacy": "private",
1592
+ "default": "new SlotController(this, \"header\")"
1593
+ },
1594
+ {
1595
+ "kind": "field",
1596
+ "name": "footerSlot",
1597
+ "privacy": "private",
1598
+ "default": "new SlotController(this, \"footer\")"
1599
+ },
1600
+ {
1601
+ "kind": "field",
1602
+ "name": "padding",
1603
+ "type": {
1604
+ "text": "\"m\" | \"l\" | \"none\""
1605
+ },
1606
+ "default": "\"m\"",
1607
+ "description": "Controls the padding of the card component. When set to “none”,\nthe header and footer slots will still have padding.",
1608
+ "attribute": "padding",
1609
+ "reflects": true
1610
+ }
1611
+ ],
1612
+ "attributes": [
1613
+ {
1614
+ "name": "padding",
1615
+ "type": {
1616
+ "text": "\"m\" | \"l\" | \"none\""
1617
+ },
1618
+ "default": "\"m\"",
1619
+ "description": "Controls the padding of the card component. When set to “none”,\nthe header and footer slots will still have padding.",
1620
+ "fieldName": "padding"
1621
+ }
1622
+ ],
1623
+ "superclass": {
1624
+ "name": "LitElement",
1625
+ "package": "lit"
1626
+ },
1627
+ "status": "ready",
1628
+ "category": "structure",
1629
+ "tagName": "nord-card",
1630
+ "customElement": true
1631
+ }
1632
+ ],
1633
+ "exports": [
1634
+ {
1635
+ "kind": "js",
1636
+ "name": "default",
1637
+ "declaration": {
1638
+ "name": "Card",
1639
+ "module": "src/card/Card.ts"
1640
+ }
1641
+ },
1642
+ {
1643
+ "kind": "custom-element-definition",
1644
+ "name": "nord-card",
1645
+ "declaration": {
1646
+ "name": "Card",
1647
+ "module": "src/card/Card.ts"
1648
+ }
1649
+ }
1650
+ ],
1651
+ "readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Use to display content and actions on a single topic inside a container.\n- Use to visually separate specific parts of content in an application view.\n- Use to wrap a form into a container, for example a login form.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use when you need to capture user’s attention in a prominent way.\n- Don’t use to inform user about important changes or conditions in the interface.\n- Don’t use multiple primary buttons inside a card. A card should only contain a single primary action.\n\n</div>\n"
1652
+ },
1653
1653
  {
1654
1654
  "kind": "javascript-module",
1655
1655
  "path": "src/checkbox/Checkbox.ts",
@@ -9868,46 +9868,126 @@
9868
9868
  },
9869
9869
  {
9870
9870
  "kind": "javascript-module",
9871
- "path": "src/tab-group/TabGroup.ts",
9871
+ "path": "src/table/Table.ts",
9872
9872
  "declarations": [
9873
9873
  {
9874
9874
  "kind": "class",
9875
- "description": "Tab Group allows multiple panels to be contained within a single window,\nusing tabs as a navigational element.",
9876
- "name": "TabGroup",
9875
+ "description": "Table is used to organize and display information from a data set.\nProvides table styles in addition to features like sticky\nheaders and support for narrow viewports.",
9876
+ "name": "Table",
9877
9877
  "slots": [
9878
9878
  {
9879
- "description": "The element which contains the content to be revealed.",
9879
+ "description": "The table.",
9880
9880
  "name": ""
9881
- },
9882
- {
9883
- "description": "The element which contains all tabs to reveal tabbed content.",
9884
- "name": "tab"
9885
9881
  }
9886
9882
  ],
9887
9883
  "members": [
9888
9884
  {
9889
9885
  "kind": "field",
9890
- "name": "direction",
9891
- "privacy": "private",
9892
- "default": "new DirectionController(this)"
9893
- },
9894
- {
9895
- "kind": "field",
9896
- "name": "observer",
9886
+ "name": "density",
9897
9887
  "type": {
9898
- "text": "MutationObserver | undefined"
9888
+ "text": "\"condensed\" | \"default\" | \"relaxed\""
9899
9889
  },
9900
- "privacy": "private"
9890
+ "default": "\"default\"",
9891
+ "description": "Controls the density of the table's rows and headers.\nRelaxed increases space, condensed reduces space.",
9892
+ "attribute": "density",
9893
+ "reflects": true
9901
9894
  },
9902
9895
  {
9903
- "kind": "field",
9904
- "name": "observerOptions",
9905
- "type": {
9906
- "text": "object"
9907
- },
9896
+ "kind": "method",
9897
+ "name": "renderStyles",
9908
9898
  "privacy": "private",
9909
- "static": true,
9910
- "default": "{\n attributes: true,\n subtree: true,\n attributeFilter: [\"selected\"],\n attributeOldValue: true,\n }"
9899
+ "description": "renders table styles into nearest root.\nthis is necessary since we do not use shadow dom."
9900
+ },
9901
+ {
9902
+ "kind": "method",
9903
+ "name": "createRenderRoot",
9904
+ "privacy": "protected",
9905
+ "description": "opt out of shadow dom"
9906
+ }
9907
+ ],
9908
+ "attributes": [
9909
+ {
9910
+ "name": "density",
9911
+ "type": {
9912
+ "text": "\"condensed\" | \"default\" | \"relaxed\""
9913
+ },
9914
+ "default": "\"default\"",
9915
+ "description": "Controls the density of the table's rows and headers.\nRelaxed increases space, condensed reduces space.",
9916
+ "fieldName": "density"
9917
+ }
9918
+ ],
9919
+ "superclass": {
9920
+ "name": "LitElement",
9921
+ "package": "lit"
9922
+ },
9923
+ "status": "ready",
9924
+ "category": "list",
9925
+ "tagName": "nord-table",
9926
+ "customElement": true
9927
+ }
9928
+ ],
9929
+ "exports": [
9930
+ {
9931
+ "kind": "js",
9932
+ "name": "default",
9933
+ "declaration": {
9934
+ "name": "Table",
9935
+ "module": "src/table/Table.ts"
9936
+ }
9937
+ },
9938
+ {
9939
+ "kind": "custom-element-definition",
9940
+ "name": "nord-table",
9941
+ "declaration": {
9942
+ "name": "Table",
9943
+ "module": "src/table/Table.ts"
9944
+ }
9945
+ }
9946
+ ],
9947
+ "readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Use when you need to display tabular data in a view.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use to display list data.\n- Don’t use tables for layout.\n\n</div>\n\n---\n\n## Content guidelines\n\nHeaders in a table should be clear, accurate and predictable. When writing headers, always write them in sentence case, not title case. The first word should be capitalized and the rest lowercase (unless a proper noun):\n\n<div class=\"n-usage n-usage-do\">User account</div>\n<div class=\"n-usage n-usage-dont\">User Account</div>\n\nInclude units of measurement symbols in the table header so they aren’t repeated throughout every single column:\n\n<div class=\"n-usage n-usage-do\">Temperature °C</div>\n<div class=\"n-usage n-usage-dont\">Temperature</div>\n\nAvoid unnecessary words and articles in table headers, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Description</div>\n<div class=\"n-usage n-usage-dont\">A description</div>\n\nKeep decimals consistent. For example, don’t use 3 decimals in one row and 2 in others:\n\n<div class=\"n-usage n-usage-do\">30.00<br/>25.00</div>\n<div class=\"n-usage n-usage-dont\">30.000<br/>25.0</div>\n\n---\n\n## Additional considerations\n\n- Nord’s table component acts as a lightweight and un-opinionated component for enhancing tabular data. It is up to the user of this component to make sure that the table markup they use is accessible.\n- It’s important to pay close attention to semantics when authoring tables. The markup in the examples can be used as a starting point. However, be aware that HTML tables have a large feature set which cannot be fully covered in this documentation.\n"
9948
+ },
9949
+ {
9950
+ "kind": "javascript-module",
9951
+ "path": "src/tab-group/TabGroup.ts",
9952
+ "declarations": [
9953
+ {
9954
+ "kind": "class",
9955
+ "description": "Tab Group allows multiple panels to be contained within a single window,\nusing tabs as a navigational element.",
9956
+ "name": "TabGroup",
9957
+ "slots": [
9958
+ {
9959
+ "description": "The element which contains the content to be revealed.",
9960
+ "name": ""
9961
+ },
9962
+ {
9963
+ "description": "The element which contains all tabs to reveal tabbed content.",
9964
+ "name": "tab"
9965
+ }
9966
+ ],
9967
+ "members": [
9968
+ {
9969
+ "kind": "field",
9970
+ "name": "direction",
9971
+ "privacy": "private",
9972
+ "default": "new DirectionController(this)"
9973
+ },
9974
+ {
9975
+ "kind": "field",
9976
+ "name": "observer",
9977
+ "type": {
9978
+ "text": "MutationObserver | undefined"
9979
+ },
9980
+ "privacy": "private"
9981
+ },
9982
+ {
9983
+ "kind": "field",
9984
+ "name": "observerOptions",
9985
+ "type": {
9986
+ "text": "object"
9987
+ },
9988
+ "privacy": "private",
9989
+ "static": true,
9990
+ "default": "{\n attributes: true,\n subtree: true,\n attributeFilter: [\"selected\"],\n attributeOldValue: true,\n }"
9911
9991
  },
9912
9992
  {
9913
9993
  "kind": "field",
@@ -10185,86 +10265,6 @@
10185
10265
  ],
10186
10266
  "readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Use the tab panel component within the tab group component.\n- Use both non-interactive and interactive elements within the contents of the tab panel.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don't use the tab panel component outside of the tab group component.\n- Don't obscure important information within a tab panel that isn't revealed by default.\n\n</div>\n\n---\n\n## Content guidelines\n\nWhen writing tab labels, always write them in sentence case, not title case. The first word should be capitalized and the rest lowercase (unless a proper noun):\n\n<div class=\"n-usage n-usage-do\">My tasks</div>\n<div class=\"n-usage n-usage-dont\">My Tasks</div>\n\nAvoid unnecessary words and articles in tab labels, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Dashboard</div>\n<div class=\"n-usage n-usage-dont\">The dashboard</div>\n\nAvoid ending tab labels in punctuation:\n\n<div class=\"n-usage n-usage-do\">Patients</div>\n<div class=\"n-usage n-usage-dont\">Patients.</div>\n\nUse as few words as possible to describe each tab label:\n\n<div class=\"n-usage n-usage-do\">Payments</div>\n<div class=\"n-usage n-usage-dont\">Payments in your clinic</div>\n\nAvoid all caps for tab labels:\n\n<div class=\"n-usage n-usage-do\">Dashboard</div>\n<div class=\"n-usage n-usage-dont\">DASHBOARD</div>\n\n---\n\n## Additional considerations\n\n- If the content contained within the tabs UI has significance or is important for the user to see, consider using a different form of presentation that doesn't obscure it.\n- If there is a particular tab panel you wish to show out of order of the tabs UI itself consider using the `selected` option on the related tab component to select the tab but prevent the order of the tabs being affected.\n"
10187
10267
  },
10188
- {
10189
- "kind": "javascript-module",
10190
- "path": "src/table/Table.ts",
10191
- "declarations": [
10192
- {
10193
- "kind": "class",
10194
- "description": "Table is used to organize and display information from a data set.\nProvides table styles in addition to features like sticky\nheaders and support for narrow viewports.",
10195
- "name": "Table",
10196
- "slots": [
10197
- {
10198
- "description": "The table.",
10199
- "name": ""
10200
- }
10201
- ],
10202
- "members": [
10203
- {
10204
- "kind": "field",
10205
- "name": "density",
10206
- "type": {
10207
- "text": "\"condensed\" | \"default\" | \"relaxed\""
10208
- },
10209
- "default": "\"default\"",
10210
- "description": "Controls the density of the table's rows and headers.\nRelaxed increases space, condensed reduces space.",
10211
- "attribute": "density",
10212
- "reflects": true
10213
- },
10214
- {
10215
- "kind": "method",
10216
- "name": "renderStyles",
10217
- "privacy": "private",
10218
- "description": "renders table styles into nearest root.\nthis is necessary since we do not use shadow dom."
10219
- },
10220
- {
10221
- "kind": "method",
10222
- "name": "createRenderRoot",
10223
- "privacy": "protected",
10224
- "description": "opt out of shadow dom"
10225
- }
10226
- ],
10227
- "attributes": [
10228
- {
10229
- "name": "density",
10230
- "type": {
10231
- "text": "\"condensed\" | \"default\" | \"relaxed\""
10232
- },
10233
- "default": "\"default\"",
10234
- "description": "Controls the density of the table's rows and headers.\nRelaxed increases space, condensed reduces space.",
10235
- "fieldName": "density"
10236
- }
10237
- ],
10238
- "superclass": {
10239
- "name": "LitElement",
10240
- "package": "lit"
10241
- },
10242
- "status": "ready",
10243
- "category": "list",
10244
- "tagName": "nord-table",
10245
- "customElement": true
10246
- }
10247
- ],
10248
- "exports": [
10249
- {
10250
- "kind": "js",
10251
- "name": "default",
10252
- "declaration": {
10253
- "name": "Table",
10254
- "module": "src/table/Table.ts"
10255
- }
10256
- },
10257
- {
10258
- "kind": "custom-element-definition",
10259
- "name": "nord-table",
10260
- "declaration": {
10261
- "name": "Table",
10262
- "module": "src/table/Table.ts"
10263
- }
10264
- }
10265
- ],
10266
- "readme": "## Usage\n\nThis section includes guidelines for designers and developers about the usage of this component in different contexts.\n\n<div class=\"n-usage n-usage-do\">\n\n### Do\n\n- Use when you need to display tabular data in a view.\n\n</div>\n<div class=\"n-usage n-usage-dont\">\n\n### Don’t\n\n- Don’t use to display list data.\n- Don’t use tables for layout.\n\n</div>\n\n---\n\n## Content guidelines\n\nHeaders in a table should be clear, accurate and predictable. When writing headers, always write them in sentence case, not title case. The first word should be capitalized and the rest lowercase (unless a proper noun):\n\n<div class=\"n-usage n-usage-do\">User account</div>\n<div class=\"n-usage n-usage-dont\">User Account</div>\n\nInclude units of measurement symbols in the table header so they aren’t repeated throughout every single column:\n\n<div class=\"n-usage n-usage-do\">Temperature °C</div>\n<div class=\"n-usage n-usage-dont\">Temperature</div>\n\nAvoid unnecessary words and articles in table headers, such as “the”, “an” or “a”:\n\n<div class=\"n-usage n-usage-do\">Description</div>\n<div class=\"n-usage n-usage-dont\">A description</div>\n\nKeep decimals consistent. For example, don’t use 3 decimals in one row and 2 in others:\n\n<div class=\"n-usage n-usage-do\">30.00<br/>25.00</div>\n<div class=\"n-usage n-usage-dont\">30.000<br/>25.0</div>\n\n---\n\n## Additional considerations\n\n- Nord’s table component acts as a lightweight and un-opinionated component for enhancing tabular data. It is up to the user of this component to make sure that the table markup they use is accessible.\n- It’s important to pay close attention to semantics when authoring tables. The markup in the examples can be used as a starting point. However, be aware that HTML tables have a large feature set which cannot be fully covered in this documentation.\n"
10267
- },
10268
10268
  {
10269
10269
  "kind": "javascript-module",
10270
10270
  "path": "src/textarea/Textarea.ts",
@@ -11833,57 +11833,24 @@
11833
11833
  },
11834
11834
  {
11835
11835
  "kind": "javascript-module",
11836
- "path": "src/common/controllers/DirectionController.ts",
11836
+ "path": "src/common/decorators/observe.ts",
11837
11837
  "declarations": [
11838
11838
  {
11839
- "kind": "class",
11840
- "description": "",
11841
- "name": "DirectionController",
11842
- "members": [
11843
- {
11844
- "kind": "field",
11845
- "name": "hosts",
11846
- "privacy": "private",
11847
- "static": true,
11848
- "default": "new Set<ReactiveControllerHost>()"
11849
- },
11839
+ "kind": "function",
11840
+ "name": "observe",
11841
+ "parameters": [
11850
11842
  {
11851
- "kind": "field",
11852
- "name": "observer",
11843
+ "name": "propertyName",
11853
11844
  "type": {
11854
- "text": "MutationObserver | undefined"
11855
- },
11856
- "privacy": "private",
11857
- "static": true
11845
+ "text": "string"
11846
+ }
11858
11847
  },
11859
11848
  {
11860
- "kind": "field",
11861
- "name": "dir",
11849
+ "name": "lifecycle",
11850
+ "default": "\"update\"",
11862
11851
  "type": {
11863
- "text": "WritingDirection"
11852
+ "text": "ObserveLifecycle"
11864
11853
  }
11865
- },
11866
- {
11867
- "kind": "field",
11868
- "name": "isLTR"
11869
- },
11870
- {
11871
- "kind": "field",
11872
- "name": "isRTL"
11873
- },
11874
- {
11875
- "kind": "method",
11876
- "name": "hostConnected"
11877
- },
11878
- {
11879
- "kind": "method",
11880
- "name": "hostDisconnected"
11881
- },
11882
- {
11883
- "kind": "method",
11884
- "name": "observe",
11885
- "privacy": "private",
11886
- "static": true
11887
11854
  }
11888
11855
  ]
11889
11856
  }
@@ -11891,282 +11858,221 @@
11891
11858
  "exports": [
11892
11859
  {
11893
11860
  "kind": "js",
11894
- "name": "DirectionController",
11861
+ "name": "observe",
11895
11862
  "declaration": {
11896
- "name": "DirectionController",
11897
- "module": "src/common/controllers/DirectionController.ts"
11863
+ "name": "observe",
11864
+ "module": "src/common/decorators/observe.ts"
11898
11865
  }
11899
11866
  }
11900
11867
  ]
11901
11868
  },
11902
11869
  {
11903
11870
  "kind": "javascript-module",
11904
- "path": "src/common/controllers/EventController.ts",
11871
+ "path": "src/common/directives/cond.ts",
11905
11872
  "declarations": [
11906
11873
  {
11907
- "kind": "class",
11908
- "description": "",
11909
- "name": "EventController",
11910
- "members": [
11874
+ "kind": "function",
11875
+ "name": "cond",
11876
+ "return": {
11877
+ "type": {
11878
+ "text": "typeof value | typeof nothing"
11879
+ }
11880
+ },
11881
+ "parameters": [
11911
11882
  {
11912
- "kind": "field",
11913
- "name": "listeners",
11883
+ "name": "value",
11914
11884
  "type": {
11915
- "text": "Array<() => void>"
11916
- },
11917
- "privacy": "private",
11918
- "default": "[]"
11919
- },
11920
- {
11921
- "kind": "method",
11922
- "name": "hostDisconnected"
11923
- },
11885
+ "text": "any"
11886
+ }
11887
+ }
11888
+ ],
11889
+ "description": "if value is truthy, return it, otherwise return nothing"
11890
+ },
11891
+ {
11892
+ "kind": "function",
11893
+ "name": "cond",
11894
+ "return": {
11895
+ "type": {
11896
+ "text": "typeof trueCase | typeof nothing"
11897
+ }
11898
+ },
11899
+ "parameters": [
11924
11900
  {
11925
- "kind": "method",
11926
- "name": "listen",
11927
- "return": {
11928
- "type": {
11929
- "text": "void"
11930
- }
11931
- },
11932
- "parameters": [
11933
- {
11934
- "name": "window",
11935
- "type": {
11936
- "text": "Window"
11937
- }
11938
- },
11939
- {
11940
- "name": "type",
11941
- "type": {
11942
- "text": "K"
11943
- }
11944
- },
11945
- {
11946
- "name": "listener",
11947
- "type": {
11948
- "text": "(this: Window, ev: WindowEventMap[K]) => any"
11949
- }
11950
- },
11951
- {
11952
- "name": "options",
11953
- "optional": true,
11954
- "type": {
11955
- "text": "boolean | AddEventListenerOptions"
11956
- }
11957
- }
11958
- ]
11901
+ "name": "condition",
11902
+ "type": {
11903
+ "text": "unknown"
11904
+ }
11959
11905
  },
11960
11906
  {
11961
- "kind": "method",
11962
- "name": "listen",
11963
- "return": {
11964
- "type": {
11965
- "text": "void"
11966
- }
11967
- },
11968
- "parameters": [
11969
- {
11970
- "name": "document",
11971
- "type": {
11972
- "text": "Document"
11973
- }
11974
- },
11975
- {
11976
- "name": "type",
11977
- "type": {
11978
- "text": "K"
11979
- }
11980
- },
11981
- {
11982
- "name": "listener",
11983
- "type": {
11984
- "text": "(this: Document, ev: DocumentEventMap[K]) => any"
11985
- }
11986
- },
11987
- {
11988
- "name": "options",
11989
- "optional": true,
11990
- "type": {
11991
- "text": "boolean | AddEventListenerOptions"
11992
- }
11993
- }
11994
- ]
11995
- },
11907
+ "name": "trueCase",
11908
+ "type": {
11909
+ "text": "any"
11910
+ }
11911
+ }
11912
+ ],
11913
+ "description": "if condition is truthy, return trueCase, otherwise return nothing"
11914
+ },
11915
+ {
11916
+ "kind": "function",
11917
+ "name": "cond",
11918
+ "return": {
11919
+ "type": {
11920
+ "text": "typeof trueCase"
11921
+ }
11922
+ },
11923
+ "parameters": [
11996
11924
  {
11997
- "kind": "method",
11998
- "name": "listen",
11999
- "return": {
12000
- "type": {
12001
- "text": "void"
12002
- }
12003
- },
12004
- "parameters": [
12005
- {
12006
- "name": "element",
12007
- "type": {
12008
- "text": "HTMLElement"
12009
- }
12010
- },
12011
- {
12012
- "name": "type",
12013
- "type": {
12014
- "text": "K"
12015
- }
12016
- },
12017
- {
12018
- "name": "listener",
12019
- "type": {
12020
- "text": "(this: HTMLElement, ev: HTMLElementEventMap[K]) => any"
12021
- }
12022
- },
12023
- {
12024
- "name": "options",
12025
- "optional": true,
12026
- "type": {
12027
- "text": "boolean | AddEventListenerOptions"
12028
- }
12029
- }
12030
- ]
11925
+ "name": "condition",
11926
+ "type": {
11927
+ "text": "true"
11928
+ }
12031
11929
  },
12032
11930
  {
12033
- "kind": "method",
12034
- "name": "listen",
12035
- "return": {
12036
- "type": {
12037
- "text": "void"
12038
- }
12039
- },
12040
- "parameters": [
12041
- {
12042
- "name": "element",
12043
- "type": {
12044
- "text": "ShadowRoot"
12045
- }
12046
- },
12047
- {
12048
- "name": "type",
12049
- "type": {
12050
- "text": "K"
12051
- }
12052
- },
12053
- {
12054
- "name": "listener",
12055
- "type": {
12056
- "text": "(this: ShadowRoot, ev: ShadowRootEventMap[K]) => any"
12057
- }
12058
- },
12059
- {
12060
- "name": "options",
12061
- "optional": true,
12062
- "type": {
12063
- "text": "boolean | AddEventListenerOptions"
12064
- }
12065
- }
12066
- ]
11931
+ "name": "trueCase",
11932
+ "type": {
11933
+ "text": "any"
11934
+ }
11935
+ }
11936
+ ],
11937
+ "description": "condition is true, so always return trueCase"
11938
+ },
11939
+ {
11940
+ "kind": "function",
11941
+ "name": "cond",
11942
+ "return": {
11943
+ "type": {
11944
+ "text": "typeof nothing"
11945
+ }
11946
+ },
11947
+ "parameters": [
11948
+ {
11949
+ "name": "condition",
11950
+ "type": {
11951
+ "text": "false"
11952
+ }
12067
11953
  },
12068
11954
  {
12069
- "kind": "method",
12070
- "name": "listen",
12071
- "parameters": [
12072
- {
12073
- "name": "element",
12074
- "type": {
12075
- "text": "Window | Document | HTMLElement | ShadowRoot"
12076
- }
12077
- },
12078
- {
12079
- "name": "type",
12080
- "type": {
12081
- "text": "string"
12082
- }
12083
- },
12084
- {
12085
- "name": "listener",
12086
- "type": {
12087
- "text": "(ev: any) => any"
12088
- }
12089
- },
12090
- {
12091
- "name": "options",
12092
- "optional": true,
12093
- "type": {
12094
- "text": "boolean | AddEventListenerOptions"
12095
- }
12096
- }
12097
- ]
11955
+ "name": "trueCase",
11956
+ "type": {
11957
+ "text": "any"
11958
+ }
12098
11959
  }
12099
- ]
12100
- }
12101
- ],
12102
- "exports": [
12103
- {
12104
- "kind": "js",
12105
- "name": "EventController",
12106
- "declaration": {
12107
- "name": "EventController",
12108
- "module": "src/common/controllers/EventController.ts"
12109
- }
12110
- }
12111
- ]
12112
- },
12113
- {
12114
- "kind": "javascript-module",
12115
- "path": "src/common/controllers/FocusTrapController.ts",
12116
- "declarations": [
11960
+ ],
11961
+ "description": "condition is false, to will always return nothing"
11962
+ },
12117
11963
  {
12118
- "kind": "class",
12119
- "description": "",
12120
- "name": "FocusTrapController",
12121
- "members": [
11964
+ "kind": "function",
11965
+ "name": "cond",
11966
+ "return": {
11967
+ "type": {
11968
+ "text": "typeof trueCase | typeof falseCase"
11969
+ }
11970
+ },
11971
+ "parameters": [
12122
11972
  {
12123
- "kind": "field",
12124
- "name": "lastScrollY",
11973
+ "name": "condition",
12125
11974
  "type": {
12126
- "text": "number"
12127
- },
12128
- "privacy": "private",
12129
- "default": "0"
11975
+ "text": "unknown"
11976
+ }
12130
11977
  },
12131
11978
  {
12132
- "kind": "field",
12133
- "name": "lastFocused",
11979
+ "name": "trueCase",
12134
11980
  "type": {
12135
- "text": "HTMLElement | undefined"
12136
- },
12137
- "privacy": "private"
11981
+ "text": "any"
11982
+ }
12138
11983
  },
12139
11984
  {
12140
- "kind": "method",
12141
- "name": "hostDisconnected"
11985
+ "name": "falseCase",
11986
+ "type": {
11987
+ "text": "any"
11988
+ }
11989
+ }
11990
+ ],
11991
+ "description": "if condition is truthy, return trueCase, otherwise return falseCase"
11992
+ },
11993
+ {
11994
+ "kind": "function",
11995
+ "name": "cond",
11996
+ "return": {
11997
+ "type": {
11998
+ "text": "typeof trueCase"
11999
+ }
12000
+ },
12001
+ "parameters": [
12002
+ {
12003
+ "name": "condition",
12004
+ "type": {
12005
+ "text": "true"
12006
+ }
12142
12007
  },
12143
12008
  {
12144
- "kind": "method",
12145
- "name": "trap"
12009
+ "name": "trueCase",
12010
+ "type": {
12011
+ "text": "any"
12012
+ }
12146
12013
  },
12147
12014
  {
12148
- "kind": "method",
12149
- "name": "release"
12015
+ "name": "falseCase",
12016
+ "type": {
12017
+ "text": "any"
12018
+ }
12019
+ }
12020
+ ],
12021
+ "description": "condition is true, so always return trueCase"
12022
+ },
12023
+ {
12024
+ "kind": "function",
12025
+ "name": "cond",
12026
+ "return": {
12027
+ "type": {
12028
+ "text": "typeof falseCase"
12029
+ }
12030
+ },
12031
+ "parameters": [
12032
+ {
12033
+ "name": "condition",
12034
+ "type": {
12035
+ "text": "false"
12036
+ }
12150
12037
  },
12151
12038
  {
12152
- "kind": "field",
12153
- "name": "handleFocusOut",
12154
- "privacy": "private"
12039
+ "name": "trueCase",
12040
+ "type": {
12041
+ "text": "any"
12042
+ }
12155
12043
  },
12156
12044
  {
12157
- "kind": "field",
12158
- "name": "handleFocusIn",
12159
- "privacy": "private"
12045
+ "name": "falseCase",
12046
+ "type": {
12047
+ "text": "any"
12048
+ }
12049
+ }
12050
+ ],
12051
+ "description": "condition is false, so always return falseCase"
12052
+ },
12053
+ {
12054
+ "kind": "function",
12055
+ "name": "cond",
12056
+ "parameters": [
12057
+ {
12058
+ "name": "condition",
12059
+ "type": {
12060
+ "text": "unknown"
12061
+ }
12160
12062
  },
12161
12063
  {
12162
- "kind": "method",
12163
- "name": "recaptureFocus",
12164
- "privacy": "private"
12064
+ "name": "trueCase",
12065
+ "default": "condition",
12066
+ "type": {
12067
+ "text": "any"
12068
+ }
12165
12069
  },
12166
12070
  {
12167
- "kind": "field",
12168
- "name": "restoreScroll",
12169
- "privacy": "private"
12071
+ "name": "falseCase",
12072
+ "default": "nothing",
12073
+ "type": {
12074
+ "text": "any"
12075
+ }
12170
12076
  }
12171
12077
  ]
12172
12078
  }
@@ -12174,307 +12080,490 @@
12174
12080
  "exports": [
12175
12081
  {
12176
12082
  "kind": "js",
12177
- "name": "FocusTrapController",
12083
+ "name": "cond",
12084
+ "declaration": {
12085
+ "name": "cond",
12086
+ "module": "src/common/directives/cond.ts"
12087
+ }
12088
+ },
12089
+ {
12090
+ "kind": "js",
12091
+ "name": "cond",
12092
+ "declaration": {
12093
+ "name": "cond",
12094
+ "module": "src/common/directives/cond.ts"
12095
+ }
12096
+ },
12097
+ {
12098
+ "kind": "js",
12099
+ "name": "cond",
12100
+ "declaration": {
12101
+ "name": "cond",
12102
+ "module": "src/common/directives/cond.ts"
12103
+ }
12104
+ },
12105
+ {
12106
+ "kind": "js",
12107
+ "name": "cond",
12178
12108
  "declaration": {
12179
- "name": "FocusTrapController",
12180
- "module": "src/common/controllers/FocusTrapController.ts"
12109
+ "name": "cond",
12110
+ "module": "src/common/directives/cond.ts"
12111
+ }
12112
+ },
12113
+ {
12114
+ "kind": "js",
12115
+ "name": "cond",
12116
+ "declaration": {
12117
+ "name": "cond",
12118
+ "module": "src/common/directives/cond.ts"
12119
+ }
12120
+ },
12121
+ {
12122
+ "kind": "js",
12123
+ "name": "cond",
12124
+ "declaration": {
12125
+ "name": "cond",
12126
+ "module": "src/common/directives/cond.ts"
12127
+ }
12128
+ },
12129
+ {
12130
+ "kind": "js",
12131
+ "name": "cond",
12132
+ "declaration": {
12133
+ "name": "cond",
12134
+ "module": "src/common/directives/cond.ts"
12135
+ }
12136
+ },
12137
+ {
12138
+ "kind": "js",
12139
+ "name": "cond",
12140
+ "declaration": {
12141
+ "name": "cond",
12142
+ "module": "src/common/directives/cond.ts"
12181
12143
  }
12182
12144
  }
12183
12145
  ]
12184
12146
  },
12185
12147
  {
12186
12148
  "kind": "javascript-module",
12187
- "path": "src/common/controllers/FormDataController.ts",
12149
+ "path": "src/common/directives/wrapIf.ts",
12188
12150
  "declarations": [
12189
12151
  {
12190
- "kind": "class",
12191
- "description": "",
12192
- "name": "FormDataController",
12193
- "members": [
12152
+ "kind": "function",
12153
+ "name": "wrapIf",
12154
+ "return": {
12155
+ "type": {
12156
+ "text": "TInner"
12157
+ }
12158
+ },
12159
+ "parameters": [
12194
12160
  {
12195
- "kind": "field",
12196
- "name": "events",
12161
+ "name": "condition",
12197
12162
  "type": {
12198
- "text": "EventController"
12199
- },
12200
- "privacy": "private",
12201
- "default": "new EventController(host)"
12163
+ "text": "false"
12164
+ }
12202
12165
  },
12203
12166
  {
12204
- "kind": "method",
12205
- "name": "hostConnected"
12167
+ "name": "inner",
12168
+ "type": {
12169
+ "text": "() => TInner"
12170
+ }
12206
12171
  },
12207
12172
  {
12208
- "kind": "field",
12209
- "name": "handleFormData",
12210
- "privacy": "private"
12173
+ "name": "wrapper",
12174
+ "type": {
12175
+ "text": "(inner: TInner) => TWrapper"
12176
+ }
12211
12177
  }
12212
12178
  ]
12213
- }
12214
- ],
12215
- "exports": [
12216
- {
12217
- "kind": "js",
12218
- "name": "FormDataController",
12219
- "declaration": {
12220
- "name": "FormDataController",
12221
- "module": "src/common/controllers/FormDataController.ts"
12222
- }
12223
- }
12224
- ]
12225
- },
12226
- {
12227
- "kind": "javascript-module",
12228
- "path": "src/common/controllers/LightDismissController.ts",
12229
- "declarations": [
12179
+ },
12230
12180
  {
12231
- "kind": "class",
12232
- "description": "",
12233
- "name": "LightDismissController",
12234
- "members": [
12181
+ "kind": "function",
12182
+ "name": "wrapIf",
12183
+ "return": {
12184
+ "type": {
12185
+ "text": "TWrapper"
12186
+ }
12187
+ },
12188
+ "parameters": [
12235
12189
  {
12236
- "kind": "field",
12237
- "name": "shortcut",
12190
+ "name": "condition",
12238
12191
  "type": {
12239
- "text": "ShortcutController"
12240
- },
12241
- "privacy": "private",
12242
- "default": "new ShortcutController(host, { Escape: this.handleEsc })"
12192
+ "text": "true"
12193
+ }
12243
12194
  },
12244
12195
  {
12245
- "kind": "field",
12246
- "name": "events",
12196
+ "name": "inner",
12247
12197
  "type": {
12248
- "text": "EventController"
12249
- },
12250
- "privacy": "private",
12251
- "default": "new EventController(host)"
12198
+ "text": "() => TInner"
12199
+ }
12252
12200
  },
12253
12201
  {
12254
- "kind": "method",
12255
- "name": "hostConnected"
12202
+ "name": "wrapper",
12203
+ "type": {
12204
+ "text": "(inner: TInner) => TWrapper"
12205
+ }
12206
+ }
12207
+ ]
12208
+ },
12209
+ {
12210
+ "kind": "function",
12211
+ "name": "wrapIf",
12212
+ "return": {
12213
+ "type": {
12214
+ "text": "TInner | TWrapper"
12215
+ }
12216
+ },
12217
+ "parameters": [
12218
+ {
12219
+ "name": "condition",
12220
+ "type": {
12221
+ "text": "unknown"
12222
+ }
12256
12223
  },
12257
12224
  {
12258
- "kind": "field",
12259
- "name": "handleEsc",
12260
- "privacy": "private"
12225
+ "name": "inner",
12226
+ "type": {
12227
+ "text": "() => TInner"
12228
+ }
12261
12229
  },
12262
12230
  {
12263
- "kind": "field",
12264
- "name": "handleClickOut",
12265
- "privacy": "private"
12231
+ "name": "wrapper",
12232
+ "type": {
12233
+ "text": "(inner: TInner) => TWrapper"
12234
+ }
12266
12235
  }
12267
12236
  ]
12268
- }
12269
- ],
12270
- "exports": [
12271
- {
12272
- "kind": "js",
12273
- "name": "LightDismissController",
12274
- "declaration": {
12275
- "name": "LightDismissController",
12276
- "module": "src/common/controllers/LightDismissController.ts"
12277
- }
12278
- }
12279
- ]
12280
- },
12281
- {
12282
- "kind": "javascript-module",
12283
- "path": "src/common/controllers/LightDomController.ts",
12284
- "declarations": [
12237
+ },
12285
12238
  {
12286
- "kind": "class",
12287
- "description": "",
12288
- "name": "LightDomController",
12289
- "members": [
12239
+ "kind": "function",
12240
+ "name": "wrapIf",
12241
+ "parameters": [
12290
12242
  {
12291
- "kind": "field",
12292
- "name": "container",
12243
+ "name": "condition",
12293
12244
  "type": {
12294
- "text": "HTMLElement"
12295
- },
12296
- "privacy": "private"
12245
+ "text": "any"
12246
+ }
12297
12247
  },
12298
12248
  {
12299
- "kind": "method",
12300
- "name": "hostUpdated"
12249
+ "name": "inner",
12250
+ "type": {
12251
+ "text": "() => TInner"
12252
+ }
12301
12253
  },
12302
12254
  {
12303
- "kind": "method",
12304
- "name": "hostDisconnected"
12255
+ "name": "wrapper",
12256
+ "type": {
12257
+ "text": "(innards: TInner) => TWrapper"
12258
+ }
12305
12259
  }
12306
- ]
12260
+ ],
12261
+ "return": {
12262
+ "type": {
12263
+ "text": ""
12264
+ }
12265
+ }
12307
12266
  }
12308
12267
  ],
12309
12268
  "exports": [
12310
12269
  {
12311
12270
  "kind": "js",
12312
- "name": "LightDomController",
12271
+ "name": "wrapIf",
12313
12272
  "declaration": {
12314
- "name": "LightDomController",
12315
- "module": "src/common/controllers/LightDomController.ts"
12273
+ "name": "wrapIf",
12274
+ "module": "src/common/directives/wrapIf.ts"
12275
+ }
12276
+ },
12277
+ {
12278
+ "kind": "js",
12279
+ "name": "wrapIf",
12280
+ "declaration": {
12281
+ "name": "wrapIf",
12282
+ "module": "src/common/directives/wrapIf.ts"
12283
+ }
12284
+ },
12285
+ {
12286
+ "kind": "js",
12287
+ "name": "wrapIf",
12288
+ "declaration": {
12289
+ "name": "wrapIf",
12290
+ "module": "src/common/directives/wrapIf.ts"
12291
+ }
12292
+ },
12293
+ {
12294
+ "kind": "js",
12295
+ "name": "wrapIf",
12296
+ "declaration": {
12297
+ "name": "wrapIf",
12298
+ "module": "src/common/directives/wrapIf.ts"
12316
12299
  }
12317
12300
  }
12318
12301
  ]
12319
12302
  },
12320
12303
  {
12321
12304
  "kind": "javascript-module",
12322
- "path": "src/common/controllers/LightSlotController.ts",
12305
+ "path": "src/common/controllers/DirectionController.ts",
12323
12306
  "declarations": [
12324
12307
  {
12325
12308
  "kind": "class",
12326
- "description": "Handles cases where a component needs to render to light DOM,\nand potentially sync component properties to user-supplied content.",
12327
- "name": "LightSlotController",
12309
+ "description": "",
12310
+ "name": "DirectionController",
12328
12311
  "members": [
12329
12312
  {
12330
12313
  "kind": "field",
12331
- "name": "renderHook",
12332
- "type": {
12333
- "text": "Comment"
12334
- },
12335
- "privacy": "private"
12314
+ "name": "hosts",
12315
+ "privacy": "private",
12316
+ "static": true,
12317
+ "default": "new Set<ReactiveControllerHost>()"
12336
12318
  },
12337
12319
  {
12338
12320
  "kind": "field",
12339
- "name": "lightDom",
12321
+ "name": "observer",
12340
12322
  "type": {
12341
- "text": "LightDomController"
12323
+ "text": "MutationObserver | undefined"
12342
12324
  },
12343
12325
  "privacy": "private",
12344
- "default": "new LightDomController(host, {\n render: () => (this.hasContent ? nothing : this.options.render()),\n renderOptions: { renderBefore: this.renderHook },\n })"
12345
- },
12346
- {
12347
- "kind": "method",
12348
- "name": "hostConnected",
12349
- "inheritedFrom": {
12350
- "name": "SlotController",
12351
- "module": "src/common/controllers/SlotController.ts"
12352
- }
12353
- },
12354
- {
12355
- "kind": "method",
12356
- "name": "hostDisconnected"
12326
+ "static": true
12357
12327
  },
12358
12328
  {
12359
12329
  "kind": "field",
12360
- "name": "onChange",
12361
- "privacy": "protected",
12362
- "parameters": [
12363
- {
12364
- "name": "_e",
12365
- "type": {
12366
- "text": "Event"
12367
- }
12368
- }
12369
- ],
12370
- "inheritedFrom": {
12371
- "name": "SlotController",
12372
- "module": "src/common/controllers/SlotController.ts"
12330
+ "name": "dir",
12331
+ "type": {
12332
+ "text": "WritingDirection"
12373
12333
  }
12374
12334
  },
12375
- {
12376
- "kind": "method",
12377
- "name": "syncLightDom",
12378
- "privacy": "private"
12379
- },
12380
12335
  {
12381
12336
  "kind": "field",
12382
- "name": "events",
12383
- "type": {
12384
- "text": "EventController"
12385
- },
12386
- "privacy": "private",
12387
- "default": "new EventController(host)",
12388
- "inheritedFrom": {
12389
- "name": "SlotController",
12390
- "module": "src/common/controllers/SlotController.ts"
12391
- }
12337
+ "name": "isLTR"
12392
12338
  },
12393
12339
  {
12394
12340
  "kind": "field",
12395
- "name": "hasContent",
12396
- "inheritedFrom": {
12397
- "name": "SlotController",
12398
- "module": "src/common/controllers/SlotController.ts"
12399
- }
12341
+ "name": "isRTL"
12400
12342
  },
12401
12343
  {
12402
- "kind": "field",
12403
- "name": "isEmpty",
12404
- "inheritedFrom": {
12405
- "name": "SlotController",
12406
- "module": "src/common/controllers/SlotController.ts"
12407
- }
12344
+ "kind": "method",
12345
+ "name": "hostConnected"
12408
12346
  },
12409
12347
  {
12410
- "kind": "field",
12411
- "name": "content",
12412
- "inheritedFrom": {
12413
- "name": "SlotController",
12414
- "module": "src/common/controllers/SlotController.ts"
12415
- }
12348
+ "kind": "method",
12349
+ "name": "hostDisconnected"
12416
12350
  },
12417
12351
  {
12418
- "kind": "field",
12419
- "name": "handleSlotChange",
12352
+ "kind": "method",
12353
+ "name": "observe",
12420
12354
  "privacy": "private",
12421
- "inheritedFrom": {
12422
- "name": "SlotController",
12423
- "module": "src/common/controllers/SlotController.ts"
12424
- }
12355
+ "static": true
12425
12356
  }
12426
- ],
12427
- "superclass": {
12428
- "name": "SlotController",
12429
- "module": "/src/common/controllers/SlotController.js"
12430
- },
12431
- "status": null,
12432
- "category": null
12357
+ ]
12433
12358
  }
12434
12359
  ],
12435
12360
  "exports": [
12436
12361
  {
12437
12362
  "kind": "js",
12438
- "name": "LightSlotController",
12363
+ "name": "DirectionController",
12439
12364
  "declaration": {
12440
- "name": "LightSlotController",
12441
- "module": "src/common/controllers/LightSlotController.ts"
12365
+ "name": "DirectionController",
12366
+ "module": "src/common/controllers/DirectionController.ts"
12442
12367
  }
12443
12368
  }
12444
12369
  ]
12445
12370
  },
12446
12371
  {
12447
12372
  "kind": "javascript-module",
12448
- "path": "src/common/controllers/MediaQueryController.ts",
12373
+ "path": "src/common/controllers/EventController.ts",
12449
12374
  "declarations": [
12450
12375
  {
12451
12376
  "kind": "class",
12452
12377
  "description": "",
12453
- "name": "MediaQueryController",
12378
+ "name": "EventController",
12454
12379
  "members": [
12455
12380
  {
12456
12381
  "kind": "field",
12457
- "name": "mq",
12382
+ "name": "listeners",
12458
12383
  "type": {
12459
- "text": "MediaQueryList"
12384
+ "text": "Array<() => void>"
12460
12385
  },
12461
- "privacy": "private"
12386
+ "privacy": "private",
12387
+ "default": "[]"
12462
12388
  },
12463
12389
  {
12464
- "kind": "field",
12465
- "name": "matches"
12390
+ "kind": "method",
12391
+ "name": "hostDisconnected"
12466
12392
  },
12467
12393
  {
12468
12394
  "kind": "method",
12469
- "name": "hostConnected"
12395
+ "name": "listen",
12396
+ "return": {
12397
+ "type": {
12398
+ "text": "void"
12399
+ }
12400
+ },
12401
+ "parameters": [
12402
+ {
12403
+ "name": "window",
12404
+ "type": {
12405
+ "text": "Window"
12406
+ }
12407
+ },
12408
+ {
12409
+ "name": "type",
12410
+ "type": {
12411
+ "text": "K"
12412
+ }
12413
+ },
12414
+ {
12415
+ "name": "listener",
12416
+ "type": {
12417
+ "text": "(this: Window, ev: WindowEventMap[K]) => any"
12418
+ }
12419
+ },
12420
+ {
12421
+ "name": "options",
12422
+ "optional": true,
12423
+ "type": {
12424
+ "text": "boolean | AddEventListenerOptions"
12425
+ }
12426
+ }
12427
+ ]
12428
+ },
12429
+ {
12430
+ "kind": "method",
12431
+ "name": "listen",
12432
+ "return": {
12433
+ "type": {
12434
+ "text": "void"
12435
+ }
12436
+ },
12437
+ "parameters": [
12438
+ {
12439
+ "name": "document",
12440
+ "type": {
12441
+ "text": "Document"
12442
+ }
12443
+ },
12444
+ {
12445
+ "name": "type",
12446
+ "type": {
12447
+ "text": "K"
12448
+ }
12449
+ },
12450
+ {
12451
+ "name": "listener",
12452
+ "type": {
12453
+ "text": "(this: Document, ev: DocumentEventMap[K]) => any"
12454
+ }
12455
+ },
12456
+ {
12457
+ "name": "options",
12458
+ "optional": true,
12459
+ "type": {
12460
+ "text": "boolean | AddEventListenerOptions"
12461
+ }
12462
+ }
12463
+ ]
12464
+ },
12465
+ {
12466
+ "kind": "method",
12467
+ "name": "listen",
12468
+ "return": {
12469
+ "type": {
12470
+ "text": "void"
12471
+ }
12472
+ },
12473
+ "parameters": [
12474
+ {
12475
+ "name": "element",
12476
+ "type": {
12477
+ "text": "HTMLElement"
12478
+ }
12479
+ },
12480
+ {
12481
+ "name": "type",
12482
+ "type": {
12483
+ "text": "K"
12484
+ }
12485
+ },
12486
+ {
12487
+ "name": "listener",
12488
+ "type": {
12489
+ "text": "(this: HTMLElement, ev: HTMLElementEventMap[K]) => any"
12490
+ }
12491
+ },
12492
+ {
12493
+ "name": "options",
12494
+ "optional": true,
12495
+ "type": {
12496
+ "text": "boolean | AddEventListenerOptions"
12497
+ }
12498
+ }
12499
+ ]
12500
+ },
12501
+ {
12502
+ "kind": "method",
12503
+ "name": "listen",
12504
+ "return": {
12505
+ "type": {
12506
+ "text": "void"
12507
+ }
12508
+ },
12509
+ "parameters": [
12510
+ {
12511
+ "name": "element",
12512
+ "type": {
12513
+ "text": "ShadowRoot"
12514
+ }
12515
+ },
12516
+ {
12517
+ "name": "type",
12518
+ "type": {
12519
+ "text": "K"
12520
+ }
12521
+ },
12522
+ {
12523
+ "name": "listener",
12524
+ "type": {
12525
+ "text": "(this: ShadowRoot, ev: ShadowRootEventMap[K]) => any"
12526
+ }
12527
+ },
12528
+ {
12529
+ "name": "options",
12530
+ "optional": true,
12531
+ "type": {
12532
+ "text": "boolean | AddEventListenerOptions"
12533
+ }
12534
+ }
12535
+ ]
12470
12536
  },
12471
12537
  {
12472
12538
  "kind": "method",
12473
- "name": "hostDisconnected"
12474
- },
12475
- {
12476
- "kind": "field",
12477
- "name": "handleChange"
12539
+ "name": "listen",
12540
+ "parameters": [
12541
+ {
12542
+ "name": "element",
12543
+ "type": {
12544
+ "text": "Window | Document | HTMLElement | ShadowRoot"
12545
+ }
12546
+ },
12547
+ {
12548
+ "name": "type",
12549
+ "type": {
12550
+ "text": "string"
12551
+ }
12552
+ },
12553
+ {
12554
+ "name": "listener",
12555
+ "type": {
12556
+ "text": "(ev: any) => any"
12557
+ }
12558
+ },
12559
+ {
12560
+ "name": "options",
12561
+ "optional": true,
12562
+ "type": {
12563
+ "text": "boolean | AddEventListenerOptions"
12564
+ }
12565
+ }
12566
+ ]
12478
12567
  }
12479
12568
  ]
12480
12569
  }
@@ -12482,151 +12571,71 @@
12482
12571
  "exports": [
12483
12572
  {
12484
12573
  "kind": "js",
12485
- "name": "MediaQueryController",
12574
+ "name": "EventController",
12486
12575
  "declaration": {
12487
- "name": "MediaQueryController",
12488
- "module": "src/common/controllers/MediaQueryController.ts"
12576
+ "name": "EventController",
12577
+ "module": "src/common/controllers/EventController.ts"
12489
12578
  }
12490
12579
  }
12491
12580
  ]
12492
12581
  },
12493
12582
  {
12494
12583
  "kind": "javascript-module",
12495
- "path": "src/common/controllers/PortalController.ts",
12584
+ "path": "src/common/controllers/FocusTrapController.ts",
12496
12585
  "declarations": [
12497
12586
  {
12498
12587
  "kind": "class",
12499
12588
  "description": "",
12500
- "name": "PortalController",
12589
+ "name": "FocusTrapController",
12501
12590
  "members": [
12502
12591
  {
12503
12592
  "kind": "field",
12504
- "name": "renderHook",
12593
+ "name": "lastScrollY",
12505
12594
  "type": {
12506
- "text": "Comment"
12595
+ "text": "number"
12507
12596
  },
12508
- "privacy": "private"
12597
+ "privacy": "private",
12598
+ "default": "0"
12509
12599
  },
12510
12600
  {
12511
12601
  "kind": "field",
12512
- "name": "lightDom",
12602
+ "name": "lastFocused",
12513
12603
  "type": {
12514
- "text": "LightDomController"
12604
+ "text": "HTMLElement | undefined"
12515
12605
  },
12516
- "privacy": "private",
12517
- "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 })"
12518
- },
12519
- {
12520
- "kind": "method",
12521
- "name": "hostConnected"
12522
- },
12523
- {
12524
- "kind": "method",
12525
- "name": "hostUpdated"
12606
+ "privacy": "private"
12526
12607
  },
12527
12608
  {
12528
12609
  "kind": "method",
12529
12610
  "name": "hostDisconnected"
12530
- }
12531
- ]
12532
- }
12533
- ],
12534
- "exports": [
12535
- {
12536
- "kind": "js",
12537
- "name": "PortalController",
12538
- "declaration": {
12539
- "name": "PortalController",
12540
- "module": "src/common/controllers/PortalController.ts"
12541
- }
12542
- }
12543
- ]
12544
- },
12545
- {
12546
- "kind": "javascript-module",
12547
- "path": "src/common/controllers/ScrollbarController.ts",
12548
- "declarations": [
12549
- {
12550
- "kind": "class",
12551
- "description": "",
12552
- "name": "ScrollbarController",
12553
- "members": [
12554
- {
12555
- "kind": "field",
12556
- "name": "resets",
12557
- "privacy": "private",
12558
- "default": "new Set<() => void>()"
12559
12611
  },
12560
12612
  {
12561
12613
  "kind": "method",
12562
- "name": "hostDisconnected"
12563
- },
12564
- {
12565
- "kind": "field",
12566
- "name": "width"
12614
+ "name": "trap"
12567
12615
  },
12568
12616
  {
12569
12617
  "kind": "method",
12570
- "name": "hide"
12618
+ "name": "release"
12571
12619
  },
12572
- {
12573
- "kind": "method",
12574
- "name": "restore"
12575
- }
12576
- ]
12577
- }
12578
- ],
12579
- "exports": [
12580
- {
12581
- "kind": "js",
12582
- "name": "ScrollbarController",
12583
- "declaration": {
12584
- "name": "ScrollbarController",
12585
- "module": "src/common/controllers/ScrollbarController.ts"
12586
- }
12587
- }
12588
- ]
12589
- },
12590
- {
12591
- "kind": "javascript-module",
12592
- "path": "src/common/controllers/ShortcutController.ts",
12593
- "declarations": [
12594
- {
12595
- "kind": "class",
12596
- "description": "",
12597
- "name": "ShortcutController",
12598
- "members": [
12599
12620
  {
12600
12621
  "kind": "field",
12601
- "name": "unregister",
12602
- "type": {
12603
- "text": "ReturnType<typeof tinykeys> | undefined"
12604
- },
12622
+ "name": "handleFocusOut",
12605
12623
  "privacy": "private"
12606
12624
  },
12607
12625
  {
12608
- "kind": "method",
12609
- "name": "hostConnected"
12610
- },
12611
- {
12612
- "kind": "method",
12613
- "name": "hostDisconnected"
12626
+ "kind": "field",
12627
+ "name": "handleFocusIn",
12628
+ "privacy": "private"
12614
12629
  },
12615
12630
  {
12616
12631
  "kind": "method",
12617
- "name": "unbind"
12632
+ "name": "recaptureFocus",
12633
+ "privacy": "private"
12618
12634
  },
12619
12635
  {
12620
- "kind": "method",
12621
- "name": "bind",
12622
- "parameters": [
12623
- {
12624
- "name": "shortcuts",
12625
- "type": {
12626
- "text": "KeyBindingMap"
12627
- }
12628
- }
12629
- ]
12636
+ "kind": "field",
12637
+ "name": "restoreScroll",
12638
+ "privacy": "private"
12630
12639
  }
12631
12640
  ]
12632
12641
  }
@@ -12634,30 +12643,22 @@
12634
12643
  "exports": [
12635
12644
  {
12636
12645
  "kind": "js",
12637
- "name": "ShortcutController",
12638
- "declaration": {
12639
- "name": "ShortcutController",
12640
- "module": "src/common/controllers/ShortcutController.ts"
12641
- }
12642
- },
12643
- {
12644
- "kind": "js",
12645
- "name": "ShortcutMap",
12646
+ "name": "FocusTrapController",
12646
12647
  "declaration": {
12647
- "name": "KeyBindingMap",
12648
- "module": "src/common/controllers/ShortcutController.ts"
12648
+ "name": "FocusTrapController",
12649
+ "module": "src/common/controllers/FocusTrapController.ts"
12649
12650
  }
12650
12651
  }
12651
12652
  ]
12652
12653
  },
12653
12654
  {
12654
12655
  "kind": "javascript-module",
12655
- "path": "src/common/controllers/SlotController.ts",
12656
+ "path": "src/common/controllers/FormDataController.ts",
12656
12657
  "declarations": [
12657
12658
  {
12658
12659
  "kind": "class",
12659
12660
  "description": "",
12660
- "name": "SlotController",
12661
+ "name": "FormDataController",
12661
12662
  "members": [
12662
12663
  {
12663
12664
  "kind": "field",
@@ -12674,33 +12675,8 @@
12674
12675
  },
12675
12676
  {
12676
12677
  "kind": "field",
12677
- "name": "hasContent"
12678
- },
12679
- {
12680
- "kind": "field",
12681
- "name": "isEmpty"
12682
- },
12683
- {
12684
- "kind": "field",
12685
- "name": "content"
12686
- },
12687
- {
12688
- "kind": "field",
12689
- "name": "handleSlotChange",
12678
+ "name": "handleFormData",
12690
12679
  "privacy": "private"
12691
- },
12692
- {
12693
- "kind": "method",
12694
- "name": "onChange",
12695
- "privacy": "protected",
12696
- "parameters": [
12697
- {
12698
- "name": "_e",
12699
- "type": {
12700
- "text": "Event"
12701
- }
12702
- }
12703
- ]
12704
12680
  }
12705
12681
  ]
12706
12682
  }
@@ -12708,160 +12684,93 @@
12708
12684
  "exports": [
12709
12685
  {
12710
12686
  "kind": "js",
12711
- "name": "SlotController",
12687
+ "name": "FormDataController",
12712
12688
  "declaration": {
12713
- "name": "SlotController",
12714
- "module": "src/common/controllers/SlotController.ts"
12689
+ "name": "FormDataController",
12690
+ "module": "src/common/controllers/FormDataController.ts"
12715
12691
  }
12716
12692
  }
12717
12693
  ]
12718
12694
  },
12719
12695
  {
12720
12696
  "kind": "javascript-module",
12721
- "path": "src/common/controllers/SwipeController.ts",
12697
+ "path": "src/common/controllers/LightDismissController.ts",
12722
12698
  "declarations": [
12723
12699
  {
12724
12700
  "kind": "class",
12725
12701
  "description": "",
12726
- "name": "SwipeController",
12702
+ "name": "LightDismissController",
12727
12703
  "members": [
12728
12704
  {
12729
12705
  "kind": "field",
12730
- "name": "events",
12731
- "type": {
12732
- "text": "EventController"
12733
- },
12734
- "privacy": "private",
12735
- "default": "new EventController(host)"
12736
- },
12737
- {
12738
- "kind": "field",
12739
- "name": "hadFirstUpdate",
12740
- "type": {
12741
- "text": "boolean"
12742
- },
12743
- "privacy": "private",
12744
- "default": "false"
12745
- },
12746
- {
12747
- "kind": "field",
12748
- "name": "initialTouchX",
12749
- "type": {
12750
- "text": "number"
12751
- },
12752
- "privacy": "private",
12753
- "default": "0"
12754
- },
12755
- {
12756
- "kind": "field",
12757
- "name": "initialTouchY",
12706
+ "name": "shortcut",
12758
12707
  "type": {
12759
- "text": "number"
12708
+ "text": "ShortcutController"
12760
12709
  },
12761
12710
  "privacy": "private",
12762
- "default": "0"
12711
+ "default": "new ShortcutController(host, { Escape: this.handleEsc })"
12763
12712
  },
12764
12713
  {
12765
12714
  "kind": "field",
12766
- "name": "options",
12715
+ "name": "events",
12767
12716
  "type": {
12768
- "text": "SetRequired<SwipeControllerOptions, \"target\">"
12717
+ "text": "EventController"
12769
12718
  },
12770
12719
  "privacy": "private",
12771
- "default": "{\n target: () => host,\n ...options,\n }"
12772
- },
12773
- {
12774
- "kind": "method",
12775
- "name": "hostUpdated"
12720
+ "default": "new EventController(host)"
12776
12721
  },
12777
12722
  {
12778
12723
  "kind": "method",
12779
- "name": "hostDisconnected"
12724
+ "name": "hostConnected"
12780
12725
  },
12781
12726
  {
12782
12727
  "kind": "field",
12783
- "name": "handleTouchStart",
12728
+ "name": "handleEsc",
12784
12729
  "privacy": "private"
12785
12730
  },
12786
12731
  {
12787
12732
  "kind": "field",
12788
- "name": "handleTouchEnd",
12733
+ "name": "handleClickOut",
12789
12734
  "privacy": "private"
12790
12735
  }
12791
12736
  ]
12792
- },
12793
- {
12794
- "kind": "function",
12795
- "name": "isHorizontalSwipe",
12796
- "parameters": [
12797
- {
12798
- "name": "{ distX, distY }",
12799
- "type": {
12800
- "text": "SwipeDetails"
12801
- }
12802
- }
12803
- ]
12804
- },
12805
- {
12806
- "kind": "function",
12807
- "name": "isDownwardsSwipe",
12808
- "parameters": [
12809
- {
12810
- "name": "{ distX, distY }",
12811
- "type": {
12812
- "text": "SwipeDetails"
12813
- }
12814
- }
12815
- ]
12816
12737
  }
12817
12738
  ],
12818
12739
  "exports": [
12819
12740
  {
12820
12741
  "kind": "js",
12821
- "name": "SwipeController",
12822
- "declaration": {
12823
- "name": "SwipeController",
12824
- "module": "src/common/controllers/SwipeController.ts"
12825
- }
12826
- },
12827
- {
12828
- "kind": "js",
12829
- "name": "isHorizontalSwipe",
12830
- "declaration": {
12831
- "name": "isHorizontalSwipe",
12832
- "module": "src/common/controllers/SwipeController.ts"
12833
- }
12834
- },
12835
- {
12836
- "kind": "js",
12837
- "name": "isDownwardsSwipe",
12742
+ "name": "LightDismissController",
12838
12743
  "declaration": {
12839
- "name": "isDownwardsSwipe",
12840
- "module": "src/common/controllers/SwipeController.ts"
12744
+ "name": "LightDismissController",
12745
+ "module": "src/common/controllers/LightDismissController.ts"
12841
12746
  }
12842
12747
  }
12843
12748
  ]
12844
12749
  },
12845
12750
  {
12846
12751
  "kind": "javascript-module",
12847
- "path": "src/common/decorators/observe.ts",
12752
+ "path": "src/common/controllers/LightDomController.ts",
12848
12753
  "declarations": [
12849
12754
  {
12850
- "kind": "function",
12851
- "name": "observe",
12852
- "parameters": [
12755
+ "kind": "class",
12756
+ "description": "",
12757
+ "name": "LightDomController",
12758
+ "members": [
12853
12759
  {
12854
- "name": "propertyName",
12760
+ "kind": "field",
12761
+ "name": "container",
12855
12762
  "type": {
12856
- "text": "string"
12857
- }
12763
+ "text": "HTMLElement"
12764
+ },
12765
+ "privacy": "private"
12858
12766
  },
12859
12767
  {
12860
- "name": "lifecycle",
12861
- "default": "\"update\"",
12862
- "type": {
12863
- "text": "ObserveLifecycle"
12864
- }
12768
+ "kind": "method",
12769
+ "name": "hostUpdated"
12770
+ },
12771
+ {
12772
+ "kind": "method",
12773
+ "name": "hostDisconnected"
12865
12774
  }
12866
12775
  ]
12867
12776
  }
@@ -12869,221 +12778,224 @@
12869
12778
  "exports": [
12870
12779
  {
12871
12780
  "kind": "js",
12872
- "name": "observe",
12781
+ "name": "LightDomController",
12873
12782
  "declaration": {
12874
- "name": "observe",
12875
- "module": "src/common/decorators/observe.ts"
12783
+ "name": "LightDomController",
12784
+ "module": "src/common/controllers/LightDomController.ts"
12876
12785
  }
12877
12786
  }
12878
12787
  ]
12879
12788
  },
12880
12789
  {
12881
12790
  "kind": "javascript-module",
12882
- "path": "src/common/directives/cond.ts",
12791
+ "path": "src/common/controllers/LightSlotController.ts",
12883
12792
  "declarations": [
12884
12793
  {
12885
- "kind": "function",
12886
- "name": "cond",
12887
- "return": {
12888
- "type": {
12889
- "text": "typeof value | typeof nothing"
12890
- }
12891
- },
12892
- "parameters": [
12893
- {
12894
- "name": "value",
12895
- "type": {
12896
- "text": "any"
12897
- }
12898
- }
12899
- ],
12900
- "description": "if value is truthy, return it, otherwise return nothing"
12901
- },
12902
- {
12903
- "kind": "function",
12904
- "name": "cond",
12905
- "return": {
12906
- "type": {
12907
- "text": "typeof trueCase | typeof nothing"
12908
- }
12909
- },
12910
- "parameters": [
12794
+ "kind": "class",
12795
+ "description": "Handles cases where a component needs to render to light DOM,\nand potentially sync component properties to user-supplied content.",
12796
+ "name": "LightSlotController",
12797
+ "members": [
12911
12798
  {
12912
- "name": "condition",
12799
+ "kind": "field",
12800
+ "name": "renderHook",
12913
12801
  "type": {
12914
- "text": "unknown"
12915
- }
12802
+ "text": "Comment"
12803
+ },
12804
+ "privacy": "private"
12916
12805
  },
12917
12806
  {
12918
- "name": "trueCase",
12919
- "type": {
12920
- "text": "any"
12921
- }
12922
- }
12923
- ],
12924
- "description": "if condition is truthy, return trueCase, otherwise return nothing"
12925
- },
12926
- {
12927
- "kind": "function",
12928
- "name": "cond",
12929
- "return": {
12930
- "type": {
12931
- "text": "typeof trueCase"
12932
- }
12933
- },
12934
- "parameters": [
12935
- {
12936
- "name": "condition",
12807
+ "kind": "field",
12808
+ "name": "lightDom",
12937
12809
  "type": {
12938
- "text": "true"
12939
- }
12810
+ "text": "LightDomController"
12811
+ },
12812
+ "privacy": "private",
12813
+ "default": "new LightDomController(host, {\n render: () => (this.hasContent ? nothing : this.options.render()),\n renderOptions: { renderBefore: this.renderHook },\n })"
12940
12814
  },
12941
12815
  {
12942
- "name": "trueCase",
12943
- "type": {
12944
- "text": "any"
12816
+ "kind": "method",
12817
+ "name": "hostConnected",
12818
+ "inheritedFrom": {
12819
+ "name": "SlotController",
12820
+ "module": "src/common/controllers/SlotController.ts"
12945
12821
  }
12946
- }
12947
- ],
12948
- "description": "condition is true, so always return trueCase"
12949
- },
12950
- {
12951
- "kind": "function",
12952
- "name": "cond",
12953
- "return": {
12954
- "type": {
12955
- "text": "typeof nothing"
12956
- }
12957
- },
12958
- "parameters": [
12822
+ },
12959
12823
  {
12960
- "name": "condition",
12961
- "type": {
12962
- "text": "false"
12963
- }
12824
+ "kind": "method",
12825
+ "name": "hostDisconnected"
12964
12826
  },
12965
12827
  {
12966
- "name": "trueCase",
12967
- "type": {
12968
- "text": "any"
12828
+ "kind": "field",
12829
+ "name": "onChange",
12830
+ "privacy": "protected",
12831
+ "parameters": [
12832
+ {
12833
+ "name": "_e",
12834
+ "type": {
12835
+ "text": "Event"
12836
+ }
12837
+ }
12838
+ ],
12839
+ "inheritedFrom": {
12840
+ "name": "SlotController",
12841
+ "module": "src/common/controllers/SlotController.ts"
12969
12842
  }
12970
- }
12971
- ],
12972
- "description": "condition is false, to will always return nothing"
12973
- },
12974
- {
12975
- "kind": "function",
12976
- "name": "cond",
12977
- "return": {
12978
- "type": {
12979
- "text": "typeof trueCase | typeof falseCase"
12980
- }
12981
- },
12982
- "parameters": [
12843
+ },
12983
12844
  {
12984
- "name": "condition",
12985
- "type": {
12986
- "text": "unknown"
12987
- }
12845
+ "kind": "method",
12846
+ "name": "syncLightDom",
12847
+ "privacy": "private"
12988
12848
  },
12989
12849
  {
12990
- "name": "trueCase",
12850
+ "kind": "field",
12851
+ "name": "events",
12991
12852
  "type": {
12992
- "text": "any"
12853
+ "text": "EventController"
12854
+ },
12855
+ "privacy": "private",
12856
+ "default": "new EventController(host)",
12857
+ "inheritedFrom": {
12858
+ "name": "SlotController",
12859
+ "module": "src/common/controllers/SlotController.ts"
12993
12860
  }
12994
12861
  },
12995
12862
  {
12996
- "name": "falseCase",
12997
- "type": {
12998
- "text": "any"
12863
+ "kind": "field",
12864
+ "name": "hasContent",
12865
+ "inheritedFrom": {
12866
+ "name": "SlotController",
12867
+ "module": "src/common/controllers/SlotController.ts"
12999
12868
  }
13000
- }
13001
- ],
13002
- "description": "if condition is truthy, return trueCase, otherwise return falseCase"
13003
- },
13004
- {
13005
- "kind": "function",
13006
- "name": "cond",
13007
- "return": {
13008
- "type": {
13009
- "text": "typeof trueCase"
13010
- }
13011
- },
13012
- "parameters": [
13013
- {
13014
- "name": "condition",
13015
- "type": {
13016
- "text": "true"
12869
+ },
12870
+ {
12871
+ "kind": "field",
12872
+ "name": "isEmpty",
12873
+ "inheritedFrom": {
12874
+ "name": "SlotController",
12875
+ "module": "src/common/controllers/SlotController.ts"
13017
12876
  }
13018
12877
  },
13019
12878
  {
13020
- "name": "trueCase",
13021
- "type": {
13022
- "text": "any"
12879
+ "kind": "field",
12880
+ "name": "content",
12881
+ "inheritedFrom": {
12882
+ "name": "SlotController",
12883
+ "module": "src/common/controllers/SlotController.ts"
13023
12884
  }
13024
12885
  },
13025
12886
  {
13026
- "name": "falseCase",
13027
- "type": {
13028
- "text": "any"
12887
+ "kind": "field",
12888
+ "name": "handleSlotChange",
12889
+ "privacy": "private",
12890
+ "inheritedFrom": {
12891
+ "name": "SlotController",
12892
+ "module": "src/common/controllers/SlotController.ts"
13029
12893
  }
13030
12894
  }
13031
12895
  ],
13032
- "description": "condition is true, so always return trueCase"
13033
- },
13034
- {
13035
- "kind": "function",
13036
- "name": "cond",
13037
- "return": {
13038
- "type": {
13039
- "text": "typeof falseCase"
13040
- }
12896
+ "superclass": {
12897
+ "name": "SlotController",
12898
+ "module": "/src/common/controllers/SlotController.js"
13041
12899
  },
13042
- "parameters": [
12900
+ "status": null,
12901
+ "category": null
12902
+ }
12903
+ ],
12904
+ "exports": [
12905
+ {
12906
+ "kind": "js",
12907
+ "name": "LightSlotController",
12908
+ "declaration": {
12909
+ "name": "LightSlotController",
12910
+ "module": "src/common/controllers/LightSlotController.ts"
12911
+ }
12912
+ }
12913
+ ]
12914
+ },
12915
+ {
12916
+ "kind": "javascript-module",
12917
+ "path": "src/common/controllers/MediaQueryController.ts",
12918
+ "declarations": [
12919
+ {
12920
+ "kind": "class",
12921
+ "description": "",
12922
+ "name": "MediaQueryController",
12923
+ "members": [
13043
12924
  {
13044
- "name": "condition",
12925
+ "kind": "field",
12926
+ "name": "mq",
13045
12927
  "type": {
13046
- "text": "false"
13047
- }
12928
+ "text": "MediaQueryList"
12929
+ },
12930
+ "privacy": "private"
13048
12931
  },
13049
12932
  {
13050
- "name": "trueCase",
13051
- "type": {
13052
- "text": "any"
13053
- }
12933
+ "kind": "field",
12934
+ "name": "matches"
13054
12935
  },
13055
12936
  {
13056
- "name": "falseCase",
13057
- "type": {
13058
- "text": "any"
13059
- }
12937
+ "kind": "method",
12938
+ "name": "hostConnected"
12939
+ },
12940
+ {
12941
+ "kind": "method",
12942
+ "name": "hostDisconnected"
12943
+ },
12944
+ {
12945
+ "kind": "field",
12946
+ "name": "handleChange"
13060
12947
  }
13061
- ],
13062
- "description": "condition is false, so always return falseCase"
13063
- },
12948
+ ]
12949
+ }
12950
+ ],
12951
+ "exports": [
13064
12952
  {
13065
- "kind": "function",
13066
- "name": "cond",
13067
- "parameters": [
12953
+ "kind": "js",
12954
+ "name": "MediaQueryController",
12955
+ "declaration": {
12956
+ "name": "MediaQueryController",
12957
+ "module": "src/common/controllers/MediaQueryController.ts"
12958
+ }
12959
+ }
12960
+ ]
12961
+ },
12962
+ {
12963
+ "kind": "javascript-module",
12964
+ "path": "src/common/controllers/PortalController.ts",
12965
+ "declarations": [
12966
+ {
12967
+ "kind": "class",
12968
+ "description": "",
12969
+ "name": "PortalController",
12970
+ "members": [
13068
12971
  {
13069
- "name": "condition",
12972
+ "kind": "field",
12973
+ "name": "renderHook",
13070
12974
  "type": {
13071
- "text": "unknown"
13072
- }
12975
+ "text": "Comment"
12976
+ },
12977
+ "privacy": "private"
13073
12978
  },
13074
12979
  {
13075
- "name": "trueCase",
13076
- "default": "condition",
12980
+ "kind": "field",
12981
+ "name": "lightDom",
13077
12982
  "type": {
13078
- "text": "any"
13079
- }
12983
+ "text": "LightDomController"
12984
+ },
12985
+ "privacy": "private",
12986
+ "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 })"
13080
12987
  },
13081
12988
  {
13082
- "name": "falseCase",
13083
- "default": "nothing",
13084
- "type": {
13085
- "text": "any"
13086
- }
12989
+ "kind": "method",
12990
+ "name": "hostConnected"
12991
+ },
12992
+ {
12993
+ "kind": "method",
12994
+ "name": "hostUpdated"
12995
+ },
12996
+ {
12997
+ "kind": "method",
12998
+ "name": "hostDisconnected"
13087
12999
  }
13088
13000
  ]
13089
13001
  }
@@ -13091,222 +13003,310 @@
13091
13003
  "exports": [
13092
13004
  {
13093
13005
  "kind": "js",
13094
- "name": "cond",
13006
+ "name": "PortalController",
13095
13007
  "declaration": {
13096
- "name": "cond",
13097
- "module": "src/common/directives/cond.ts"
13008
+ "name": "PortalController",
13009
+ "module": "src/common/controllers/PortalController.ts"
13098
13010
  }
13099
- },
13011
+ }
13012
+ ]
13013
+ },
13014
+ {
13015
+ "kind": "javascript-module",
13016
+ "path": "src/common/controllers/ScrollbarController.ts",
13017
+ "declarations": [
13100
13018
  {
13101
- "kind": "js",
13102
- "name": "cond",
13103
- "declaration": {
13104
- "name": "cond",
13105
- "module": "src/common/directives/cond.ts"
13106
- }
13107
- },
13019
+ "kind": "class",
13020
+ "description": "",
13021
+ "name": "ScrollbarController",
13022
+ "members": [
13023
+ {
13024
+ "kind": "field",
13025
+ "name": "resets",
13026
+ "privacy": "private",
13027
+ "default": "new Set<() => void>()"
13028
+ },
13029
+ {
13030
+ "kind": "method",
13031
+ "name": "hostDisconnected"
13032
+ },
13033
+ {
13034
+ "kind": "field",
13035
+ "name": "width"
13036
+ },
13037
+ {
13038
+ "kind": "method",
13039
+ "name": "hide"
13040
+ },
13041
+ {
13042
+ "kind": "method",
13043
+ "name": "restore"
13044
+ }
13045
+ ]
13046
+ }
13047
+ ],
13048
+ "exports": [
13108
13049
  {
13109
13050
  "kind": "js",
13110
- "name": "cond",
13051
+ "name": "ScrollbarController",
13111
13052
  "declaration": {
13112
- "name": "cond",
13113
- "module": "src/common/directives/cond.ts"
13053
+ "name": "ScrollbarController",
13054
+ "module": "src/common/controllers/ScrollbarController.ts"
13114
13055
  }
13115
- },
13056
+ }
13057
+ ]
13058
+ },
13059
+ {
13060
+ "kind": "javascript-module",
13061
+ "path": "src/common/controllers/ShortcutController.ts",
13062
+ "declarations": [
13116
13063
  {
13117
- "kind": "js",
13118
- "name": "cond",
13119
- "declaration": {
13120
- "name": "cond",
13121
- "module": "src/common/directives/cond.ts"
13122
- }
13123
- },
13064
+ "kind": "class",
13065
+ "description": "",
13066
+ "name": "ShortcutController",
13067
+ "members": [
13068
+ {
13069
+ "kind": "field",
13070
+ "name": "unregister",
13071
+ "type": {
13072
+ "text": "ReturnType<typeof tinykeys> | undefined"
13073
+ },
13074
+ "privacy": "private"
13075
+ },
13076
+ {
13077
+ "kind": "method",
13078
+ "name": "hostConnected"
13079
+ },
13080
+ {
13081
+ "kind": "method",
13082
+ "name": "hostDisconnected"
13083
+ },
13084
+ {
13085
+ "kind": "method",
13086
+ "name": "unbind"
13087
+ },
13088
+ {
13089
+ "kind": "method",
13090
+ "name": "bind",
13091
+ "parameters": [
13092
+ {
13093
+ "name": "shortcuts",
13094
+ "type": {
13095
+ "text": "KeyBindingMap"
13096
+ }
13097
+ }
13098
+ ]
13099
+ }
13100
+ ]
13101
+ }
13102
+ ],
13103
+ "exports": [
13124
13104
  {
13125
13105
  "kind": "js",
13126
- "name": "cond",
13106
+ "name": "ShortcutController",
13127
13107
  "declaration": {
13128
- "name": "cond",
13129
- "module": "src/common/directives/cond.ts"
13108
+ "name": "ShortcutController",
13109
+ "module": "src/common/controllers/ShortcutController.ts"
13130
13110
  }
13131
13111
  },
13132
13112
  {
13133
13113
  "kind": "js",
13134
- "name": "cond",
13114
+ "name": "ShortcutMap",
13135
13115
  "declaration": {
13136
- "name": "cond",
13137
- "module": "src/common/directives/cond.ts"
13116
+ "name": "KeyBindingMap",
13117
+ "module": "src/common/controllers/ShortcutController.ts"
13138
13118
  }
13139
- },
13119
+ }
13120
+ ]
13121
+ },
13122
+ {
13123
+ "kind": "javascript-module",
13124
+ "path": "src/common/controllers/SlotController.ts",
13125
+ "declarations": [
13140
13126
  {
13141
- "kind": "js",
13142
- "name": "cond",
13143
- "declaration": {
13144
- "name": "cond",
13145
- "module": "src/common/directives/cond.ts"
13146
- }
13147
- },
13127
+ "kind": "class",
13128
+ "description": "",
13129
+ "name": "SlotController",
13130
+ "members": [
13131
+ {
13132
+ "kind": "field",
13133
+ "name": "events",
13134
+ "type": {
13135
+ "text": "EventController"
13136
+ },
13137
+ "privacy": "private",
13138
+ "default": "new EventController(host)"
13139
+ },
13140
+ {
13141
+ "kind": "method",
13142
+ "name": "hostConnected"
13143
+ },
13144
+ {
13145
+ "kind": "field",
13146
+ "name": "hasContent"
13147
+ },
13148
+ {
13149
+ "kind": "field",
13150
+ "name": "isEmpty"
13151
+ },
13152
+ {
13153
+ "kind": "field",
13154
+ "name": "content"
13155
+ },
13156
+ {
13157
+ "kind": "field",
13158
+ "name": "handleSlotChange",
13159
+ "privacy": "private"
13160
+ },
13161
+ {
13162
+ "kind": "method",
13163
+ "name": "onChange",
13164
+ "privacy": "protected",
13165
+ "parameters": [
13166
+ {
13167
+ "name": "_e",
13168
+ "type": {
13169
+ "text": "Event"
13170
+ }
13171
+ }
13172
+ ]
13173
+ }
13174
+ ]
13175
+ }
13176
+ ],
13177
+ "exports": [
13148
13178
  {
13149
13179
  "kind": "js",
13150
- "name": "cond",
13180
+ "name": "SlotController",
13151
13181
  "declaration": {
13152
- "name": "cond",
13153
- "module": "src/common/directives/cond.ts"
13182
+ "name": "SlotController",
13183
+ "module": "src/common/controllers/SlotController.ts"
13154
13184
  }
13155
13185
  }
13156
13186
  ]
13157
13187
  },
13158
13188
  {
13159
13189
  "kind": "javascript-module",
13160
- "path": "src/common/directives/wrapIf.ts",
13190
+ "path": "src/common/controllers/SwipeController.ts",
13161
13191
  "declarations": [
13162
13192
  {
13163
- "kind": "function",
13164
- "name": "wrapIf",
13165
- "return": {
13166
- "type": {
13167
- "text": "TInner"
13168
- }
13169
- },
13170
- "parameters": [
13193
+ "kind": "class",
13194
+ "description": "",
13195
+ "name": "SwipeController",
13196
+ "members": [
13171
13197
  {
13172
- "name": "condition",
13198
+ "kind": "field",
13199
+ "name": "events",
13173
13200
  "type": {
13174
- "text": "false"
13175
- }
13201
+ "text": "EventController"
13202
+ },
13203
+ "privacy": "private",
13204
+ "default": "new EventController(host)"
13176
13205
  },
13177
13206
  {
13178
- "name": "inner",
13207
+ "kind": "field",
13208
+ "name": "hadFirstUpdate",
13179
13209
  "type": {
13180
- "text": "() => TInner"
13181
- }
13210
+ "text": "boolean"
13211
+ },
13212
+ "privacy": "private",
13213
+ "default": "false"
13182
13214
  },
13183
13215
  {
13184
- "name": "wrapper",
13216
+ "kind": "field",
13217
+ "name": "initialTouchX",
13185
13218
  "type": {
13186
- "text": "(inner: TInner) => TWrapper"
13187
- }
13188
- }
13189
- ]
13190
- },
13191
- {
13192
- "kind": "function",
13193
- "name": "wrapIf",
13194
- "return": {
13195
- "type": {
13196
- "text": "TWrapper"
13197
- }
13198
- },
13199
- "parameters": [
13219
+ "text": "number"
13220
+ },
13221
+ "privacy": "private",
13222
+ "default": "0"
13223
+ },
13200
13224
  {
13201
- "name": "condition",
13225
+ "kind": "field",
13226
+ "name": "initialTouchY",
13202
13227
  "type": {
13203
- "text": "true"
13204
- }
13228
+ "text": "number"
13229
+ },
13230
+ "privacy": "private",
13231
+ "default": "0"
13205
13232
  },
13206
13233
  {
13207
- "name": "inner",
13234
+ "kind": "field",
13235
+ "name": "options",
13208
13236
  "type": {
13209
- "text": "() => TInner"
13210
- }
13237
+ "text": "SetRequired<SwipeControllerOptions, \"target\">"
13238
+ },
13239
+ "privacy": "private",
13240
+ "default": "{\n target: () => host,\n ...options,\n }"
13211
13241
  },
13212
13242
  {
13213
- "name": "wrapper",
13214
- "type": {
13215
- "text": "(inner: TInner) => TWrapper"
13216
- }
13243
+ "kind": "method",
13244
+ "name": "hostUpdated"
13245
+ },
13246
+ {
13247
+ "kind": "method",
13248
+ "name": "hostDisconnected"
13249
+ },
13250
+ {
13251
+ "kind": "field",
13252
+ "name": "handleTouchStart",
13253
+ "privacy": "private"
13254
+ },
13255
+ {
13256
+ "kind": "field",
13257
+ "name": "handleTouchEnd",
13258
+ "privacy": "private"
13217
13259
  }
13218
13260
  ]
13219
13261
  },
13220
13262
  {
13221
13263
  "kind": "function",
13222
- "name": "wrapIf",
13223
- "return": {
13224
- "type": {
13225
- "text": "TInner | TWrapper"
13226
- }
13227
- },
13264
+ "name": "isHorizontalSwipe",
13228
13265
  "parameters": [
13229
13266
  {
13230
- "name": "condition",
13231
- "type": {
13232
- "text": "unknown"
13233
- }
13234
- },
13235
- {
13236
- "name": "inner",
13237
- "type": {
13238
- "text": "() => TInner"
13239
- }
13240
- },
13241
- {
13242
- "name": "wrapper",
13267
+ "name": "{ distX, distY }",
13243
13268
  "type": {
13244
- "text": "(inner: TInner) => TWrapper"
13269
+ "text": "SwipeDetails"
13245
13270
  }
13246
13271
  }
13247
13272
  ]
13248
13273
  },
13249
13274
  {
13250
13275
  "kind": "function",
13251
- "name": "wrapIf",
13276
+ "name": "isDownwardsSwipe",
13252
13277
  "parameters": [
13253
13278
  {
13254
- "name": "condition",
13255
- "type": {
13256
- "text": "any"
13257
- }
13258
- },
13259
- {
13260
- "name": "inner",
13261
- "type": {
13262
- "text": "() => TInner"
13263
- }
13264
- },
13265
- {
13266
- "name": "wrapper",
13279
+ "name": "{ distX, distY }",
13267
13280
  "type": {
13268
- "text": "(innards: TInner) => TWrapper"
13281
+ "text": "SwipeDetails"
13269
13282
  }
13270
13283
  }
13271
- ],
13272
- "return": {
13273
- "type": {
13274
- "text": ""
13275
- }
13276
- }
13284
+ ]
13277
13285
  }
13278
13286
  ],
13279
13287
  "exports": [
13280
13288
  {
13281
13289
  "kind": "js",
13282
- "name": "wrapIf",
13283
- "declaration": {
13284
- "name": "wrapIf",
13285
- "module": "src/common/directives/wrapIf.ts"
13286
- }
13287
- },
13288
- {
13289
- "kind": "js",
13290
- "name": "wrapIf",
13290
+ "name": "SwipeController",
13291
13291
  "declaration": {
13292
- "name": "wrapIf",
13293
- "module": "src/common/directives/wrapIf.ts"
13292
+ "name": "SwipeController",
13293
+ "module": "src/common/controllers/SwipeController.ts"
13294
13294
  }
13295
13295
  },
13296
13296
  {
13297
13297
  "kind": "js",
13298
- "name": "wrapIf",
13298
+ "name": "isHorizontalSwipe",
13299
13299
  "declaration": {
13300
- "name": "wrapIf",
13301
- "module": "src/common/directives/wrapIf.ts"
13300
+ "name": "isHorizontalSwipe",
13301
+ "module": "src/common/controllers/SwipeController.ts"
13302
13302
  }
13303
13303
  },
13304
13304
  {
13305
13305
  "kind": "js",
13306
- "name": "wrapIf",
13306
+ "name": "isDownwardsSwipe",
13307
13307
  "declaration": {
13308
- "name": "wrapIf",
13309
- "module": "src/common/directives/wrapIf.ts"
13308
+ "name": "isDownwardsSwipe",
13309
+ "module": "src/common/controllers/SwipeController.ts"
13310
13310
  }
13311
13311
  }
13312
13312
  ]