@spectrum-web-components/menu 0.36.0 → 0.37.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.
@@ -83,8 +83,8 @@
83
83
  "type": {
84
84
  "text": "boolean"
85
85
  },
86
- "privacy": "public",
87
- "default": "false"
86
+ "privacy": "private",
87
+ "readonly": true
88
88
  },
89
89
  {
90
90
  "kind": "field",
@@ -267,7 +267,7 @@
267
267
  }
268
268
  }
269
269
  ],
270
- "description": "When a descendant `<sp-menu-item>` element is added or updated it will dispatch\nthis event to announce its presence in the DOM. During the capture phase the first\nMenu based element that the event encounters will manage the focus state of the\ndispatching `<sp-menu-item>` element."
270
+ "description": "When a descendant `<sp-menu-item>` element is added or updated it will dispatch\nthis event to announce its presence in the DOM. During the CAPTURE phase the first\nMenu based element that the event encounters will manage the focus state of the\ndispatching `<sp-menu-item>` element."
271
271
  },
272
272
  {
273
273
  "kind": "method",
@@ -286,7 +286,7 @@
286
286
  }
287
287
  }
288
288
  ],
289
- "description": "When a descendant `<sp-menu-item>` element is added or updated it will dispatch\nthis event to announce its presence in the DOM. During the bubble phase the first\nMenu based element that the event encounters that does not inherit selection will\nmanage the selection state of the dispatching `<sp-menu-item>` element."
289
+ "description": "When a descendant `<sp-menu-item>` element is added or updated it will dispatch\nthis event to announce its presence in the DOM. During the BUBBLE phase the first\nMenu based element that the event encounters that does not inherit selection will\nmanage the selection state of the dispatching `<sp-menu-item>` element."
290
290
  },
291
291
  {
292
292
  "kind": "method",
@@ -317,9 +317,9 @@
317
317
  },
318
318
  "parameters": [
319
319
  {
320
- "name": "event",
320
+ "name": "item",
321
321
  "type": {
322
- "text": "MenuItemRemovedEvent"
322
+ "text": "MenuItem"
323
323
  }
324
324
  }
325
325
  ]
@@ -345,7 +345,7 @@
345
345
  },
346
346
  {
347
347
  "kind": "method",
348
- "name": "onClick",
348
+ "name": "handleClick",
349
349
  "privacy": "private",
350
350
  "return": {
351
351
  "type": {
@@ -417,6 +417,58 @@
417
417
  }
418
418
  }
419
419
  },
420
+ {
421
+ "kind": "field",
422
+ "name": "descendentOverlays",
423
+ "privacy": "private",
424
+ "default": "new Map<Overlay, Overlay>()"
425
+ },
426
+ {
427
+ "kind": "method",
428
+ "name": "handleDescendentOverlayOpened",
429
+ "privacy": "protected",
430
+ "return": {
431
+ "type": {
432
+ "text": "void"
433
+ }
434
+ },
435
+ "parameters": [
436
+ {
437
+ "name": "event",
438
+ "type": {
439
+ "text": "Event"
440
+ }
441
+ }
442
+ ]
443
+ },
444
+ {
445
+ "kind": "method",
446
+ "name": "handleDescendentOverlayClosed",
447
+ "privacy": "protected",
448
+ "return": {
449
+ "type": {
450
+ "text": "void"
451
+ }
452
+ },
453
+ "parameters": [
454
+ {
455
+ "name": "event",
456
+ "type": {
457
+ "text": "Event"
458
+ }
459
+ }
460
+ ]
461
+ },
462
+ {
463
+ "kind": "field",
464
+ "name": "handleSubmenuClosed",
465
+ "privacy": "public"
466
+ },
467
+ {
468
+ "kind": "field",
469
+ "name": "handleSubmenuOpened",
470
+ "privacy": "public"
471
+ },
420
472
  {
421
473
  "kind": "method",
422
474
  "name": "selectOrToggleItem",
@@ -464,9 +516,9 @@
464
516
  },
465
517
  "parameters": [
466
518
  {
467
- "name": "code",
519
+ "name": "event",
468
520
  "type": {
469
- "text": "string"
521
+ "text": "KeyboardEvent"
470
522
  }
471
523
  }
472
524
  ]
@@ -517,6 +569,15 @@
517
569
  }
518
570
  }
519
571
  },
572
+ {
573
+ "kind": "field",
574
+ "name": "_hasUpdatedSelectedItemIndex",
575
+ "type": {
576
+ "text": "boolean"
577
+ },
578
+ "privacy": "private",
579
+ "default": "false"
580
+ },
520
581
  {
521
582
  "kind": "method",
522
583
  "name": "updateSelectedItemIndex",
@@ -546,6 +607,16 @@
546
607
  }
547
608
  }
548
609
  },
610
+ {
611
+ "kind": "method",
612
+ "name": "updateCache",
613
+ "privacy": "private",
614
+ "return": {
615
+ "type": {
616
+ "text": "Promise<void>"
617
+ }
618
+ }
619
+ },
549
620
  {
550
621
  "kind": "method",
551
622
  "name": "updateItemFocus",
@@ -556,6 +627,16 @@
556
627
  }
557
628
  }
558
629
  },
630
+ {
631
+ "kind": "method",
632
+ "name": "closeDescendentOverlays",
633
+ "privacy": "public",
634
+ "return": {
635
+ "type": {
636
+ "text": "void"
637
+ }
638
+ }
639
+ },
559
640
  {
560
641
  "kind": "method",
561
642
  "name": "forwardFocusVisibleToItem",
@@ -575,13 +656,32 @@
575
656
  ]
576
657
  },
577
658
  {
578
- "kind": "field",
579
- "name": "_notFirstUpdated",
580
- "type": {
581
- "text": "boolean"
582
- },
659
+ "kind": "method",
660
+ "name": "handleSlotchange",
583
661
  "privacy": "private",
584
- "default": "false"
662
+ "return": {
663
+ "type": {
664
+ "text": "void"
665
+ }
666
+ },
667
+ "parameters": [
668
+ {
669
+ "name": "{\n target,\n }",
670
+ "type": {
671
+ "text": "Event & { target: HTMLSlotElement }"
672
+ }
673
+ }
674
+ ]
675
+ },
676
+ {
677
+ "kind": "method",
678
+ "name": "renderMenuItemSlot",
679
+ "privacy": "protected",
680
+ "return": {
681
+ "type": {
682
+ "text": "TemplateResult"
683
+ }
684
+ }
585
685
  },
586
686
  {
587
687
  "kind": "method",
@@ -606,6 +706,11 @@
606
706
  "name": "cacheUpdated",
607
707
  "privacy": "protected"
608
708
  },
709
+ {
710
+ "kind": "field",
711
+ "name": "resolveCacheUpdated",
712
+ "privacy": "protected"
713
+ },
609
714
  {
610
715
  "kind": "method",
611
716
  "name": "getUpdateComplete",
@@ -752,16 +857,6 @@
752
857
  }
753
858
  ],
754
859
  "members": [
755
- {
756
- "kind": "field",
757
- "name": "instances",
758
- "type": {
759
- "text": "number"
760
- },
761
- "privacy": "private",
762
- "static": true,
763
- "default": "1"
764
- },
765
860
  {
766
861
  "kind": "field",
767
862
  "name": "headerId",
@@ -769,7 +864,7 @@
769
864
  "text": "string"
770
865
  },
771
866
  "privacy": "private",
772
- "default": "`sp-menu-group-label-${MenuGroup.instances}`"
867
+ "default": "''"
773
868
  },
774
869
  {
775
870
  "kind": "field",
@@ -816,8 +911,8 @@
816
911
  "type": {
817
912
  "text": "boolean"
818
913
  },
819
- "privacy": "public",
820
- "default": "false",
914
+ "privacy": "private",
915
+ "readonly": true,
821
916
  "inheritedFrom": {
822
917
  "name": "Menu",
823
918
  "module": "src/Menu.js"
@@ -1067,7 +1162,7 @@
1067
1162
  }
1068
1163
  }
1069
1164
  ],
1070
- "description": "When a descendant `<sp-menu-item>` element is added or updated it will dispatch\nthis event to announce its presence in the DOM. During the capture phase the first\nMenu based element that the event encounters will manage the focus state of the\ndispatching `<sp-menu-item>` element.",
1165
+ "description": "When a descendant `<sp-menu-item>` element is added or updated it will dispatch\nthis event to announce its presence in the DOM. During the CAPTURE phase the first\nMenu based element that the event encounters will manage the focus state of the\ndispatching `<sp-menu-item>` element.",
1071
1166
  "inheritedFrom": {
1072
1167
  "name": "Menu",
1073
1168
  "module": "src/Menu.js"
@@ -1090,7 +1185,7 @@
1090
1185
  }
1091
1186
  }
1092
1187
  ],
1093
- "description": "When a descendant `<sp-menu-item>` element is added or updated it will dispatch\nthis event to announce its presence in the DOM. During the bubble phase the first\nMenu based element that the event encounters that does not inherit selection will\nmanage the selection state of the dispatching `<sp-menu-item>` element.",
1188
+ "description": "When a descendant `<sp-menu-item>` element is added or updated it will dispatch\nthis event to announce its presence in the DOM. During the BUBBLE phase the first\nMenu based element that the event encounters that does not inherit selection will\nmanage the selection state of the dispatching `<sp-menu-item>` element.",
1094
1189
  "inheritedFrom": {
1095
1190
  "name": "Menu",
1096
1191
  "module": "src/Menu.js"
@@ -1129,9 +1224,9 @@
1129
1224
  },
1130
1225
  "parameters": [
1131
1226
  {
1132
- "name": "event",
1227
+ "name": "item",
1133
1228
  "type": {
1134
- "text": "MenuItemRemovedEvent"
1229
+ "text": "MenuItem"
1135
1230
  }
1136
1231
  }
1137
1232
  ],
@@ -1165,7 +1260,7 @@
1165
1260
  },
1166
1261
  {
1167
1262
  "kind": "method",
1168
- "name": "onClick",
1263
+ "name": "handleClick",
1169
1264
  "privacy": "private",
1170
1265
  "return": {
1171
1266
  "type": {
@@ -1257,6 +1352,78 @@
1257
1352
  "module": "src/Menu.js"
1258
1353
  }
1259
1354
  },
1355
+ {
1356
+ "kind": "field",
1357
+ "name": "descendentOverlays",
1358
+ "privacy": "private",
1359
+ "default": "new Map<Overlay, Overlay>()",
1360
+ "inheritedFrom": {
1361
+ "name": "Menu",
1362
+ "module": "src/Menu.js"
1363
+ }
1364
+ },
1365
+ {
1366
+ "kind": "method",
1367
+ "name": "handleDescendentOverlayOpened",
1368
+ "privacy": "protected",
1369
+ "return": {
1370
+ "type": {
1371
+ "text": "void"
1372
+ }
1373
+ },
1374
+ "parameters": [
1375
+ {
1376
+ "name": "event",
1377
+ "type": {
1378
+ "text": "Event"
1379
+ }
1380
+ }
1381
+ ],
1382
+ "inheritedFrom": {
1383
+ "name": "Menu",
1384
+ "module": "src/Menu.js"
1385
+ }
1386
+ },
1387
+ {
1388
+ "kind": "method",
1389
+ "name": "handleDescendentOverlayClosed",
1390
+ "privacy": "protected",
1391
+ "return": {
1392
+ "type": {
1393
+ "text": "void"
1394
+ }
1395
+ },
1396
+ "parameters": [
1397
+ {
1398
+ "name": "event",
1399
+ "type": {
1400
+ "text": "Event"
1401
+ }
1402
+ }
1403
+ ],
1404
+ "inheritedFrom": {
1405
+ "name": "Menu",
1406
+ "module": "src/Menu.js"
1407
+ }
1408
+ },
1409
+ {
1410
+ "kind": "field",
1411
+ "name": "handleSubmenuClosed",
1412
+ "privacy": "public",
1413
+ "inheritedFrom": {
1414
+ "name": "Menu",
1415
+ "module": "src/Menu.js"
1416
+ }
1417
+ },
1418
+ {
1419
+ "kind": "field",
1420
+ "name": "handleSubmenuOpened",
1421
+ "privacy": "public",
1422
+ "inheritedFrom": {
1423
+ "name": "Menu",
1424
+ "module": "src/Menu.js"
1425
+ }
1426
+ },
1260
1427
  {
1261
1428
  "kind": "method",
1262
1429
  "name": "selectOrToggleItem",
@@ -1312,9 +1479,9 @@
1312
1479
  },
1313
1480
  "parameters": [
1314
1481
  {
1315
- "name": "code",
1482
+ "name": "event",
1316
1483
  "type": {
1317
- "text": "string"
1484
+ "text": "KeyboardEvent"
1318
1485
  }
1319
1486
  }
1320
1487
  ],
@@ -1381,6 +1548,19 @@
1381
1548
  "module": "src/Menu.js"
1382
1549
  }
1383
1550
  },
1551
+ {
1552
+ "kind": "field",
1553
+ "name": "_hasUpdatedSelectedItemIndex",
1554
+ "type": {
1555
+ "text": "boolean"
1556
+ },
1557
+ "privacy": "private",
1558
+ "default": "false",
1559
+ "inheritedFrom": {
1560
+ "name": "Menu",
1561
+ "module": "src/Menu.js"
1562
+ }
1563
+ },
1384
1564
  {
1385
1565
  "kind": "method",
1386
1566
  "name": "updateSelectedItemIndex",
@@ -1422,6 +1602,20 @@
1422
1602
  "module": "src/Menu.js"
1423
1603
  }
1424
1604
  },
1605
+ {
1606
+ "kind": "method",
1607
+ "name": "updateCache",
1608
+ "privacy": "private",
1609
+ "return": {
1610
+ "type": {
1611
+ "text": "Promise<void>"
1612
+ }
1613
+ },
1614
+ "inheritedFrom": {
1615
+ "name": "Menu",
1616
+ "module": "src/Menu.js"
1617
+ }
1618
+ },
1425
1619
  {
1426
1620
  "kind": "method",
1427
1621
  "name": "updateItemFocus",
@@ -1436,6 +1630,20 @@
1436
1630
  "module": "src/Menu.js"
1437
1631
  }
1438
1632
  },
1633
+ {
1634
+ "kind": "method",
1635
+ "name": "closeDescendentOverlays",
1636
+ "privacy": "public",
1637
+ "return": {
1638
+ "type": {
1639
+ "text": "void"
1640
+ }
1641
+ },
1642
+ "inheritedFrom": {
1643
+ "name": "Menu",
1644
+ "module": "src/Menu.js"
1645
+ }
1646
+ },
1439
1647
  {
1440
1648
  "kind": "method",
1441
1649
  "name": "forwardFocusVisibleToItem",
@@ -1459,13 +1667,36 @@
1459
1667
  }
1460
1668
  },
1461
1669
  {
1462
- "kind": "field",
1463
- "name": "_notFirstUpdated",
1464
- "type": {
1465
- "text": "boolean"
1466
- },
1670
+ "kind": "method",
1671
+ "name": "handleSlotchange",
1467
1672
  "privacy": "private",
1468
- "default": "false",
1673
+ "return": {
1674
+ "type": {
1675
+ "text": "void"
1676
+ }
1677
+ },
1678
+ "parameters": [
1679
+ {
1680
+ "name": "{\n target,\n }",
1681
+ "type": {
1682
+ "text": "Event & { target: HTMLSlotElement }"
1683
+ }
1684
+ }
1685
+ ],
1686
+ "inheritedFrom": {
1687
+ "name": "Menu",
1688
+ "module": "src/Menu.js"
1689
+ }
1690
+ },
1691
+ {
1692
+ "kind": "method",
1693
+ "name": "renderMenuItemSlot",
1694
+ "privacy": "protected",
1695
+ "return": {
1696
+ "type": {
1697
+ "text": "TemplateResult"
1698
+ }
1699
+ },
1469
1700
  "inheritedFrom": {
1470
1701
  "name": "Menu",
1471
1702
  "module": "src/Menu.js"
@@ -1506,6 +1737,15 @@
1506
1737
  "module": "src/Menu.js"
1507
1738
  }
1508
1739
  },
1740
+ {
1741
+ "kind": "field",
1742
+ "name": "resolveCacheUpdated",
1743
+ "privacy": "protected",
1744
+ "inheritedFrom": {
1745
+ "name": "Menu",
1746
+ "module": "src/Menu.js"
1747
+ }
1748
+ },
1509
1749
  {
1510
1750
  "kind": "method",
1511
1751
  "name": "getUpdateComplete",
@@ -1632,34 +1872,11 @@
1632
1872
  {
1633
1873
  "kind": "class",
1634
1874
  "description": "",
1635
- "name": "MenuItemRemovedEvent",
1875
+ "name": "MenuItemAddedOrUpdatedEvent",
1636
1876
  "members": [
1637
- {
1638
- "kind": "field",
1639
- "name": "item",
1640
- "type": {
1641
- "text": "MenuItem"
1642
- },
1643
- "readonly": true
1644
- },
1645
- {
1646
- "kind": "field",
1647
- "name": "_item",
1648
- "type": {
1649
- "text": "MenuItem"
1650
- }
1651
- },
1652
- {
1653
- "kind": "field",
1654
- "name": "focused",
1655
- "type": {
1656
- "text": "boolean"
1657
- },
1658
- "default": "false"
1659
- },
1660
1877
  {
1661
1878
  "kind": "method",
1662
- "name": "reset",
1879
+ "name": "clear",
1663
1880
  "return": {
1664
1881
  "type": {
1665
1882
  "text": "void"
@@ -1673,25 +1890,11 @@
1673
1890
  }
1674
1891
  }
1675
1892
  ]
1676
- }
1677
- ],
1678
- "superclass": {
1679
- "name": "Event",
1680
- "module": "src/MenuItem.ts"
1681
- }
1682
- },
1683
- {
1684
- "kind": "class",
1685
- "description": "",
1686
- "name": "MenuItemAddedOrUpdatedEvent",
1687
- "members": [
1688
- {
1689
- "kind": "field",
1690
- "name": "focusRoot"
1691
1893
  },
1692
1894
  {
1693
1895
  "kind": "field",
1694
- "name": "selectionRoot"
1896
+ "name": "menuCascade",
1897
+ "default": "new WeakMap<HTMLElement, MenuCascadeItem>()"
1695
1898
  },
1696
1899
  {
1697
1900
  "kind": "field",
@@ -1706,7 +1909,8 @@
1706
1909
  "name": "_item",
1707
1910
  "type": {
1708
1911
  "text": "MenuItem"
1709
- }
1912
+ },
1913
+ "privacy": "private"
1710
1914
  },
1711
1915
  {
1712
1916
  "kind": "field",
@@ -1714,30 +1918,6 @@
1714
1918
  "type": {
1715
1919
  "text": "Menu | undefined"
1716
1920
  }
1717
- },
1718
- {
1719
- "kind": "field",
1720
- "name": "_currentAncestorWithSelects",
1721
- "type": {
1722
- "text": "Menu | undefined"
1723
- }
1724
- },
1725
- {
1726
- "kind": "method",
1727
- "name": "reset",
1728
- "return": {
1729
- "type": {
1730
- "text": "void"
1731
- }
1732
- },
1733
- "parameters": [
1734
- {
1735
- "name": "item",
1736
- "type": {
1737
- "text": "MenuItem"
1738
- }
1739
- }
1740
- ]
1741
1921
  }
1742
1922
  ],
1743
1923
  "superclass": {
@@ -1770,21 +1950,17 @@
1770
1950
  "members": [
1771
1951
  {
1772
1952
  "kind": "field",
1773
- "name": "instanceCount",
1953
+ "name": "abortControllerPointer",
1774
1954
  "type": {
1775
- "text": "number"
1776
- },
1777
- "static": true,
1778
- "default": "0"
1955
+ "text": "AbortController"
1956
+ }
1779
1957
  },
1780
1958
  {
1781
1959
  "kind": "field",
1782
- "name": "isInSubmenu",
1960
+ "name": "abortControllerSubmenu",
1783
1961
  "type": {
1784
- "text": "boolean"
1785
- },
1786
- "privacy": "private",
1787
- "default": "false"
1962
+ "text": "AbortController"
1963
+ }
1788
1964
  },
1789
1965
  {
1790
1966
  "kind": "field",
@@ -1857,6 +2033,20 @@
1857
2033
  "attribute": "has-submenu",
1858
2034
  "reflects": true
1859
2035
  },
2036
+ {
2037
+ "kind": "field",
2038
+ "name": "contentSlot",
2039
+ "type": {
2040
+ "text": "HTMLSlotElement"
2041
+ }
2042
+ },
2043
+ {
2044
+ "kind": "field",
2045
+ "name": "iconSlot",
2046
+ "type": {
2047
+ "text": "HTMLSlotElement"
2048
+ }
2049
+ },
1860
2050
  {
1861
2051
  "kind": "field",
1862
2052
  "name": "noWrap",
@@ -1876,6 +2066,14 @@
1876
2066
  },
1877
2067
  "privacy": "private"
1878
2068
  },
2069
+ {
2070
+ "kind": "field",
2071
+ "name": "overlayElement",
2072
+ "type": {
2073
+ "text": "Overlay"
2074
+ },
2075
+ "privacy": "public"
2076
+ },
1879
2077
  {
1880
2078
  "kind": "field",
1881
2079
  "name": "focusElement",
@@ -1919,7 +2117,8 @@
1919
2117
  },
1920
2118
  "privacy": "public",
1921
2119
  "default": "false",
1922
- "attribute": "open"
2120
+ "attribute": "open",
2121
+ "reflects": true
1923
2122
  },
1924
2123
  {
1925
2124
  "kind": "method",
@@ -1950,14 +2149,9 @@
1950
2149
  ]
1951
2150
  },
1952
2151
  {
1953
- "kind": "method",
2152
+ "kind": "field",
1954
2153
  "name": "proxyFocus",
1955
- "privacy": "private",
1956
- "return": {
1957
- "type": {
1958
- "text": "void"
1959
- }
1960
- }
2154
+ "privacy": "private"
1961
2155
  },
1962
2156
  {
1963
2157
  "kind": "method",
@@ -1979,6 +2173,16 @@
1979
2173
  }
1980
2174
  }
1981
2175
  },
2176
+ {
2177
+ "kind": "method",
2178
+ "name": "renderSubmenu",
2179
+ "privacy": "protected",
2180
+ "return": {
2181
+ "type": {
2182
+ "text": "TemplateResult"
2183
+ }
2184
+ }
2185
+ },
1982
2186
  {
1983
2187
  "kind": "method",
1984
2188
  "name": "manageSubmenu",
@@ -2001,6 +2205,16 @@
2001
2205
  "kind": "method",
2002
2206
  "name": "handleRemoveActive",
2003
2207
  "privacy": "private",
2208
+ "return": {
2209
+ "type": {
2210
+ "text": "void"
2211
+ }
2212
+ }
2213
+ },
2214
+ {
2215
+ "kind": "method",
2216
+ "name": "handlePointerdown",
2217
+ "privacy": "private",
2004
2218
  "return": {
2005
2219
  "type": {
2006
2220
  "text": "void"
@@ -2010,15 +2224,15 @@
2010
2224
  {
2011
2225
  "name": "event",
2012
2226
  "type": {
2013
- "text": "Event"
2227
+ "text": "PointerEvent"
2014
2228
  }
2015
2229
  }
2016
2230
  ]
2017
2231
  },
2018
2232
  {
2019
2233
  "kind": "method",
2020
- "name": "handlePointerdown",
2021
- "privacy": "private",
2234
+ "name": "closeOverlaysForRoot",
2235
+ "privacy": "protected",
2022
2236
  "return": {
2023
2237
  "type": {
2024
2238
  "text": "void"
@@ -2027,25 +2241,25 @@
2027
2241
  },
2028
2242
  {
2029
2243
  "kind": "method",
2030
- "name": "closeOverlaysForRoot",
2244
+ "name": "handleSubmenuClick",
2031
2245
  "privacy": "protected",
2032
2246
  "return": {
2033
2247
  "type": {
2034
2248
  "text": "void"
2035
2249
  }
2036
- }
2037
- },
2038
- {
2039
- "kind": "field",
2040
- "name": "closeOverlay",
2041
- "type": {
2042
- "text": "() => Promise<void> | undefined"
2043
2250
  },
2044
- "privacy": "public"
2251
+ "parameters": [
2252
+ {
2253
+ "name": "event",
2254
+ "type": {
2255
+ "text": "Event"
2256
+ }
2257
+ }
2258
+ ]
2045
2259
  },
2046
2260
  {
2047
2261
  "kind": "method",
2048
- "name": "handleSubmenuClick",
2262
+ "name": "handleSubmenuFocus",
2049
2263
  "privacy": "protected",
2050
2264
  "return": {
2051
2265
  "type": {
@@ -2053,6 +2267,11 @@
2053
2267
  }
2054
2268
  }
2055
2269
  },
2270
+ {
2271
+ "kind": "field",
2272
+ "name": "handleBeforetoggle",
2273
+ "privacy": "protected"
2274
+ },
2056
2275
  {
2057
2276
  "kind": "method",
2058
2277
  "name": "handlePointerenter",
@@ -2071,6 +2290,15 @@
2071
2290
  },
2072
2291
  "privacy": "protected"
2073
2292
  },
2293
+ {
2294
+ "kind": "field",
2295
+ "name": "recentlyLeftChild",
2296
+ "type": {
2297
+ "text": "boolean"
2298
+ },
2299
+ "privacy": "protected",
2300
+ "default": "false"
2301
+ },
2074
2302
  {
2075
2303
  "kind": "method",
2076
2304
  "name": "handlePointerleave",
@@ -2082,15 +2310,71 @@
2082
2310
  }
2083
2311
  },
2084
2312
  {
2085
- "kind": "field",
2313
+ "kind": "method",
2086
2314
  "name": "handleSubmenuChange",
2087
2315
  "privacy": "protected",
2316
+ "return": {
2317
+ "type": {
2318
+ "text": "void"
2319
+ }
2320
+ },
2321
+ "parameters": [
2322
+ {
2323
+ "name": "event",
2324
+ "type": {
2325
+ "text": "Event"
2326
+ }
2327
+ }
2328
+ ],
2088
2329
  "description": "When there is a `change` event in the submenu for this item\nthen we \"click\" this item to cascade the selection up the\nmenu tree allowing all submenus between the initial selection\nand the root of the tree to have their selection changes and\nbe closed."
2089
2330
  },
2090
2331
  {
2091
- "kind": "field",
2332
+ "kind": "method",
2092
2333
  "name": "handleSubmenuPointerenter",
2093
- "privacy": "protected"
2334
+ "privacy": "protected",
2335
+ "return": {
2336
+ "type": {
2337
+ "text": "void"
2338
+ }
2339
+ }
2340
+ },
2341
+ {
2342
+ "kind": "method",
2343
+ "name": "handleSubmenuPointerleave",
2344
+ "privacy": "protected",
2345
+ "return": {
2346
+ "type": {
2347
+ "text": "Promise<void>"
2348
+ }
2349
+ }
2350
+ },
2351
+ {
2352
+ "kind": "method",
2353
+ "name": "handleSubmenuOpen",
2354
+ "privacy": "protected",
2355
+ "return": {
2356
+ "type": {
2357
+ "text": "void"
2358
+ }
2359
+ },
2360
+ "parameters": [
2361
+ {
2362
+ "name": "event",
2363
+ "type": {
2364
+ "text": "Event"
2365
+ }
2366
+ }
2367
+ ]
2368
+ },
2369
+ {
2370
+ "kind": "method",
2371
+ "name": "cleanup",
2372
+ "privacy": "protected",
2373
+ "return": {
2374
+ "type": {
2375
+ "text": "void"
2376
+ }
2377
+ }
2094
2378
  },
2095
2379
  {
2096
2380
  "kind": "method",
@@ -2136,6 +2420,15 @@
2136
2420
  "text": "HTMLElement"
2137
2421
  }
2138
2422
  },
2423
+ {
2424
+ "kind": "field",
2425
+ "name": "willDispatchUpdate",
2426
+ "type": {
2427
+ "text": "boolean"
2428
+ },
2429
+ "privacy": "private",
2430
+ "default": "false"
2431
+ },
2139
2432
  {
2140
2433
  "kind": "method",
2141
2434
  "name": "triggerUpdate",
@@ -2146,24 +2439,35 @@
2146
2439
  }
2147
2440
  }
2148
2441
  },
2442
+ {
2443
+ "kind": "method",
2444
+ "name": "dispatchUpdate",
2445
+ "privacy": "public",
2446
+ "return": {
2447
+ "type": {
2448
+ "text": "void"
2449
+ }
2450
+ }
2451
+ },
2149
2452
  {
2150
2453
  "kind": "field",
2151
2454
  "name": "menuData",
2152
2455
  "type": {
2153
- "text": "{\n focusRoot?: Menu;\n selectionRoot?: Menu;\n }"
2456
+ "text": "{\n focusRoot?: Menu;\n parentMenu?: Menu;\n selectionRoot?: Menu;\n cleanupSteps: ((item: MenuItem) => void)[];\n }"
2154
2457
  },
2155
2458
  "privacy": "public",
2156
- "default": "{\n focusRoot: undefined,\n selectionRoot: undefined,\n }"
2459
+ "default": "{\n focusRoot: undefined,\n parentMenu: undefined,\n selectionRoot: undefined,\n cleanupSteps: [],\n }"
2157
2460
  }
2158
2461
  ],
2159
2462
  "events": [
2160
2463
  {
2161
- "description": "announces the item has been added so a parent menu can take ownerships",
2162
- "name": "sp-menu-item-added"
2464
+ "type": {
2465
+ "text": "MenuItemAddedOrUpdatedEvent"
2466
+ }
2163
2467
  },
2164
2468
  {
2165
- "description": "announces when removed from the DOM so the parent menu can remove ownership and update selected state",
2166
- "name": "sp-menu-item-removed"
2469
+ "description": "announces the item has been added so a parent menu can take ownerships",
2470
+ "name": "sp-menu-item-added"
2167
2471
  }
2168
2472
  ],
2169
2473
  "attributes": [
@@ -2246,14 +2550,6 @@
2246
2550
  }
2247
2551
  ],
2248
2552
  "exports": [
2249
- {
2250
- "kind": "js",
2251
- "name": "MenuItemRemovedEvent",
2252
- "declaration": {
2253
- "name": "MenuItemRemovedEvent",
2254
- "module": "src/MenuItem.js"
2255
- }
2256
- },
2257
2553
  {
2258
2554
  "kind": "js",
2259
2555
  "name": "MenuItemAddedOrUpdatedEvent",