@spectrum-web-components/overlay 0.41.1 → 0.41.2

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 (100) hide show
  1. package/custom-elements.json +996 -314
  2. package/package.json +31 -7
  3. package/src/AbstractOverlay.d.ts +13 -3
  4. package/src/AbstractOverlay.dev.js +54 -19
  5. package/src/AbstractOverlay.dev.js.map +2 -2
  6. package/src/AbstractOverlay.js +1 -1
  7. package/src/AbstractOverlay.js.map +3 -3
  8. package/src/ClickController.d.ts +14 -0
  9. package/src/ClickController.dev.js +42 -0
  10. package/src/ClickController.dev.js.map +7 -0
  11. package/src/ClickController.js +2 -0
  12. package/src/ClickController.js.map +7 -0
  13. package/src/HoverController.d.ts +19 -0
  14. package/src/HoverController.dev.js +141 -0
  15. package/src/HoverController.dev.js.map +7 -0
  16. package/src/HoverController.js +2 -0
  17. package/src/HoverController.js.map +7 -0
  18. package/src/InteractionController.d.ts +23 -0
  19. package/src/InteractionController.dev.js +45 -0
  20. package/src/InteractionController.dev.js.map +7 -0
  21. package/src/InteractionController.js +2 -0
  22. package/src/InteractionController.js.map +7 -0
  23. package/src/LongpressController.d.ts +21 -0
  24. package/src/LongpressController.dev.js +157 -0
  25. package/src/LongpressController.dev.js.map +7 -0
  26. package/src/LongpressController.js +2 -0
  27. package/src/LongpressController.js.map +7 -0
  28. package/src/Overlay.d.ts +17 -50
  29. package/src/Overlay.dev.js +86 -363
  30. package/src/Overlay.dev.js.map +2 -2
  31. package/src/Overlay.js +10 -10
  32. package/src/Overlay.js.map +3 -3
  33. package/src/OverlayDialog.dev.js +8 -1
  34. package/src/OverlayDialog.dev.js.map +2 -2
  35. package/src/OverlayDialog.js +1 -1
  36. package/src/OverlayDialog.js.map +3 -3
  37. package/src/OverlayNoPopover.dev.js +9 -3
  38. package/src/OverlayNoPopover.dev.js.map +2 -2
  39. package/src/OverlayNoPopover.js +1 -1
  40. package/src/OverlayNoPopover.js.map +3 -3
  41. package/src/OverlayPopover.dev.js +10 -1
  42. package/src/OverlayPopover.dev.js.map +2 -2
  43. package/src/OverlayPopover.js +1 -1
  44. package/src/OverlayPopover.js.map +3 -3
  45. package/src/OverlayStack.dev.js +3 -0
  46. package/src/OverlayStack.dev.js.map +2 -2
  47. package/src/OverlayStack.js +1 -1
  48. package/src/OverlayStack.js.map +2 -2
  49. package/src/index.d.ts +1 -0
  50. package/src/index.dev.js +1 -0
  51. package/src/index.dev.js.map +2 -2
  52. package/src/index.js +1 -1
  53. package/src/index.js.map +2 -2
  54. package/src/overlay-trigger-directive.d.ts +31 -0
  55. package/src/overlay-trigger-directive.dev.js +102 -0
  56. package/src/overlay-trigger-directive.dev.js.map +7 -0
  57. package/src/overlay-trigger-directive.js +2 -0
  58. package/src/overlay-trigger-directive.js.map +7 -0
  59. package/src/overlay-trigger.css.dev.js +1 -1
  60. package/src/overlay-trigger.css.dev.js.map +1 -1
  61. package/src/overlay-trigger.css.js +1 -1
  62. package/src/overlay-trigger.css.js.map +1 -1
  63. package/src/overlay-types.d.ts +7 -0
  64. package/src/overlay-types.dev.js.map +1 -1
  65. package/src/overlay-types.js.map +1 -1
  66. package/src/overlay.css.dev.js +1 -3
  67. package/src/overlay.css.dev.js.map +2 -2
  68. package/src/overlay.css.js +1 -3
  69. package/src/overlay.css.js.map +2 -2
  70. package/src/slottable-request-event.d.ts +7 -0
  71. package/src/slottable-request-event.dev.js +28 -0
  72. package/src/slottable-request-event.dev.js.map +7 -0
  73. package/src/slottable-request-event.js +2 -0
  74. package/src/slottable-request-event.js.map +7 -0
  75. package/stories/overlay-directive.stories.js +203 -0
  76. package/stories/overlay-directive.stories.js.map +7 -0
  77. package/stories/overlay-element.stories.js +44 -1
  78. package/stories/overlay-element.stories.js.map +2 -2
  79. package/stories/overlay.stories.js +9 -9
  80. package/stories/overlay.stories.js.map +2 -2
  81. package/test/benchmark/basic-test.js +24 -1
  82. package/test/benchmark/basic-test.js.map +2 -2
  83. package/test/benchmark/directive-test.js +42 -0
  84. package/test/benchmark/directive-test.js.map +7 -0
  85. package/test/benchmark/element-test.js +40 -0
  86. package/test/benchmark/element-test.js.map +7 -0
  87. package/test/benchmark/lazy-test.js +48 -0
  88. package/test/benchmark/lazy-test.js.map +7 -0
  89. package/test/index.js +11 -176
  90. package/test/index.js.map +2 -2
  91. package/test/overlay-directive.test-vrt.js +5 -0
  92. package/test/overlay-directive.test-vrt.js.map +7 -0
  93. package/test/overlay-directive.test.js +147 -0
  94. package/test/overlay-directive.test.js.map +7 -0
  95. package/test/overlay-element.test.js +152 -1
  96. package/test/overlay-element.test.js.map +2 -2
  97. package/test/overlay-trigger-directive.test.js +75 -0
  98. package/test/overlay-trigger-directive.test.js.map +7 -0
  99. package/test/overlay-trigger-extended.test.js +1 -1
  100. package/test/overlay-trigger-extended.test.js.map +2 -2
@@ -196,15 +196,6 @@
196
196
  }
197
197
  }
198
198
  },
199
- {
200
- "kind": "function",
201
- "name": "forcePaint",
202
- "return": {
203
- "type": {
204
- "text": "void"
205
- }
206
- }
207
- },
208
199
  {
209
200
  "kind": "class",
210
201
  "description": "Abstract Overlay base class so that property tyings and imperative API\ninterfaces can be held separate from the actual class definition.",
@@ -248,11 +239,34 @@
248
239
  "text": "HTMLDialogElement & {\n showPopover(): void;\n hidePopover(): void;\n }"
249
240
  }
250
241
  },
242
+ {
243
+ "kind": "field",
244
+ "name": "disabled",
245
+ "type": {
246
+ "text": "boolean"
247
+ }
248
+ },
251
249
  {
252
250
  "kind": "field",
253
251
  "name": "dispose",
254
252
  "default": "noop"
255
253
  },
254
+ {
255
+ "kind": "field",
256
+ "name": "elementResolver",
257
+ "type": {
258
+ "text": "ElementResolutionController"
259
+ },
260
+ "privacy": "protected"
261
+ },
262
+ {
263
+ "kind": "field",
264
+ "name": "_elementResolver",
265
+ "type": {
266
+ "text": "ElementResolutionController"
267
+ },
268
+ "privacy": "protected"
269
+ },
256
270
  {
257
271
  "kind": "method",
258
272
  "name": "ensureOnDOM",
@@ -351,7 +365,7 @@
351
365
  "text": "number | [number, number]"
352
366
  },
353
367
  "privacy": "protected",
354
- "default": "6"
368
+ "default": "0"
355
369
  },
356
370
  {
357
371
  "kind": "field",
@@ -375,6 +389,14 @@
375
389
  },
376
390
  "privacy": "protected"
377
391
  },
392
+ {
393
+ "kind": "field",
394
+ "name": "_placementController",
395
+ "type": {
396
+ "text": "PlacementController"
397
+ },
398
+ "privacy": "protected"
399
+ },
378
400
  {
379
401
  "kind": "field",
380
402
  "name": "receivesFocus",
@@ -382,6 +404,26 @@
382
404
  "text": "'true' | 'false' | 'auto'"
383
405
  }
384
406
  },
407
+ {
408
+ "kind": "method",
409
+ "name": "requestSlottable",
410
+ "privacy": "protected",
411
+ "return": {
412
+ "type": {
413
+ "text": "void"
414
+ }
415
+ }
416
+ },
417
+ {
418
+ "kind": "method",
419
+ "name": "returnFocus",
420
+ "privacy": "protected",
421
+ "return": {
422
+ "type": {
423
+ "text": "void"
424
+ }
425
+ }
426
+ },
385
427
  {
386
428
  "kind": "field",
387
429
  "name": "state",
@@ -531,6 +573,30 @@
531
573
  }
532
574
  }
533
575
  ]
576
+ },
577
+ {
578
+ "kind": "method",
579
+ "name": "applyOptions",
580
+ "static": true,
581
+ "return": {
582
+ "type": {
583
+ "text": "void"
584
+ }
585
+ },
586
+ "parameters": [
587
+ {
588
+ "name": "overlay",
589
+ "type": {
590
+ "text": "Overlay"
591
+ }
592
+ },
593
+ {
594
+ "name": "options",
595
+ "type": {
596
+ "text": "OverlayOptions"
597
+ }
598
+ }
599
+ ]
534
600
  }
535
601
  ],
536
602
  "superclass": {
@@ -596,14 +662,6 @@
596
662
  "module": "src/AbstractOverlay.js"
597
663
  }
598
664
  },
599
- {
600
- "kind": "js",
601
- "name": "forcePaint",
602
- "declaration": {
603
- "name": "forcePaint",
604
- "module": "src/AbstractOverlay.js"
605
- }
606
- },
607
665
  {
608
666
  "kind": "js",
609
667
  "name": "AbstractOverlay",
@@ -616,111 +674,228 @@
616
674
  },
617
675
  {
618
676
  "kind": "javascript-module",
619
- "path": "src/Overlay.js",
677
+ "path": "src/ClickController.js",
620
678
  "declarations": [
621
- {
622
- "kind": "variable",
623
- "name": "LONGPRESS_INSTRUCTIONS",
624
- "type": {
625
- "text": "object"
626
- },
627
- "default": "{\n touch: 'Double tap and long press for additional options',\n keyboard: 'Press Space or Alt+Down Arrow for additional options',\n mouse: 'Click and hold for additional options',\n}"
628
- },
629
679
  {
630
680
  "kind": "class",
631
681
  "description": "",
632
- "name": "Overlay",
682
+ "name": "ClickController",
633
683
  "members": [
634
684
  {
635
685
  "kind": "field",
636
- "name": "abortController",
686
+ "name": "type",
637
687
  "type": {
638
- "text": "AbortController"
688
+ "text": "InteractionTypes"
689
+ },
690
+ "inheritedFrom": {
691
+ "name": "InteractionController",
692
+ "module": "src/InteractionController.js"
639
693
  }
640
694
  },
641
695
  {
642
696
  "kind": "field",
643
- "name": "delayed",
697
+ "name": "preventNextToggle",
644
698
  "type": {
645
699
  "text": "boolean"
646
700
  },
647
- "description": "An Overlay that is `delayed` will wait until a warm-up period of 1000ms\nhas completed before opening. Once the warmup period has completed, all\nsubsequent Overlays will open immediately. When no Overlays are opened,\na cooldown period of 1000ms will begin. Once the cooldown has completed,\nthe next Overlay to be opened will be subject to the warm-up period if\nprovided that option.",
648
- "attribute": "delayed"
701
+ "privacy": "private",
702
+ "default": "false",
703
+ "description": "An overlay with a `click` interaction should not close on click `triggerElement`.\nWhen a click is initiated (`pointerdown`), apply `preventNextToggle` when the\noverlay is `open` to prevent from toggling the overlay when the click event\npropagates later in the interaction."
649
704
  },
650
705
  {
651
- "kind": "field",
652
- "name": "_delayed",
653
- "type": {
654
- "text": "boolean"
706
+ "kind": "method",
707
+ "name": "handleClick",
708
+ "return": {
709
+ "type": {
710
+ "text": "void"
711
+ }
712
+ }
713
+ },
714
+ {
715
+ "kind": "method",
716
+ "name": "handlePointerdown",
717
+ "return": {
718
+ "type": {
719
+ "text": "void"
720
+ }
721
+ }
722
+ },
723
+ {
724
+ "kind": "method",
725
+ "name": "init",
726
+ "return": {
727
+ "type": {
728
+ "text": "void"
729
+ }
655
730
  },
656
- "privacy": "private",
657
- "default": "false"
731
+ "inheritedFrom": {
732
+ "name": "InteractionController",
733
+ "module": "src/InteractionController.js"
734
+ }
658
735
  },
659
736
  {
660
737
  "kind": "field",
661
- "name": "dialogEl",
738
+ "name": "abortController",
662
739
  "type": {
663
- "text": "HTMLDialogElement & {\n showPopover(): void;\n hidePopover(): void;\n }"
740
+ "text": "AbortController"
741
+ },
742
+ "inheritedFrom": {
743
+ "name": "InteractionController",
744
+ "module": "src/InteractionController.js"
664
745
  }
665
746
  },
666
747
  {
667
748
  "kind": "field",
668
- "name": "disabled",
749
+ "name": "activelyOpening",
669
750
  "type": {
670
751
  "text": "boolean"
671
752
  },
672
- "description": "Whether the overlay is currently functional or not",
673
- "attribute": "disabled"
753
+ "readonly": true,
754
+ "inheritedFrom": {
755
+ "name": "InteractionController",
756
+ "module": "src/InteractionController.js"
757
+ }
674
758
  },
675
759
  {
676
- "kind": "field",
677
- "name": "_disabled",
678
- "type": {
679
- "text": "boolean"
760
+ "kind": "method",
761
+ "name": "prepareDescription",
762
+ "return": {
763
+ "type": {
764
+ "text": "void"
765
+ }
680
766
  },
681
- "privacy": "private",
682
- "default": "false"
767
+ "parameters": [
768
+ {
769
+ "name": "_",
770
+ "type": {
771
+ "text": "HTMLElement"
772
+ }
773
+ }
774
+ ],
775
+ "inheritedFrom": {
776
+ "name": "InteractionController",
777
+ "module": "src/InteractionController.js"
778
+ }
683
779
  },
684
780
  {
685
- "kind": "field",
686
- "name": "elements",
687
- "type": {
688
- "text": "OpenableElement[]"
781
+ "kind": "method",
782
+ "name": "releaseDescription",
783
+ "return": {
784
+ "type": {
785
+ "text": "void"
786
+ }
787
+ },
788
+ "inheritedFrom": {
789
+ "name": "InteractionController",
790
+ "module": "src/InteractionController.js"
689
791
  }
690
792
  },
691
793
  {
692
- "kind": "field",
693
- "name": "parentOverlayToForceClose",
694
- "type": {
695
- "text": "Overlay | undefined"
794
+ "kind": "method",
795
+ "name": "shouldCompleteOpen",
796
+ "return": {
797
+ "type": {
798
+ "text": "void"
799
+ }
696
800
  },
697
- "privacy": "public"
801
+ "inheritedFrom": {
802
+ "name": "InteractionController",
803
+ "module": "src/InteractionController.js"
804
+ }
805
+ },
806
+ {
807
+ "kind": "method",
808
+ "name": "abort",
809
+ "return": {
810
+ "type": {
811
+ "text": "void"
812
+ }
813
+ },
814
+ "inheritedFrom": {
815
+ "name": "InteractionController",
816
+ "module": "src/InteractionController.js"
817
+ }
818
+ },
819
+ {
820
+ "kind": "method",
821
+ "name": "hostConnected",
822
+ "return": {
823
+ "type": {
824
+ "text": "void"
825
+ }
826
+ },
827
+ "inheritedFrom": {
828
+ "name": "InteractionController",
829
+ "module": "src/InteractionController.js"
830
+ }
698
831
  },
832
+ {
833
+ "kind": "method",
834
+ "name": "hostDisconnected",
835
+ "return": {
836
+ "type": {
837
+ "text": "void"
838
+ }
839
+ },
840
+ "inheritedFrom": {
841
+ "name": "InteractionController",
842
+ "module": "src/InteractionController.js"
843
+ }
844
+ }
845
+ ],
846
+ "superclass": {
847
+ "name": "InteractionController",
848
+ "module": "/src/InteractionController.js"
849
+ }
850
+ }
851
+ ],
852
+ "exports": [
853
+ {
854
+ "kind": "js",
855
+ "name": "ClickController",
856
+ "declaration": {
857
+ "name": "ClickController",
858
+ "module": "src/ClickController.js"
859
+ }
860
+ }
861
+ ]
862
+ },
863
+ {
864
+ "kind": "javascript-module",
865
+ "path": "src/HoverController.js",
866
+ "declarations": [
867
+ {
868
+ "kind": "class",
869
+ "description": "",
870
+ "name": "HoverController",
871
+ "members": [
699
872
  {
700
873
  "kind": "field",
701
- "name": "hasNonVirtualTrigger",
874
+ "name": "type",
702
875
  "type": {
703
- "text": "boolean"
876
+ "text": "InteractionTypes"
704
877
  },
705
- "privacy": "private",
706
- "readonly": true
878
+ "inheritedFrom": {
879
+ "name": "InteractionController",
880
+ "module": "src/InteractionController.js"
881
+ }
707
882
  },
708
883
  {
709
884
  "kind": "field",
710
- "name": "longpressState",
885
+ "name": "elementIds",
711
886
  "type": {
712
- "text": "'null' | 'potential' | 'opening' | 'pressed'"
887
+ "text": "string[]"
713
888
  },
714
- "privacy": "protected",
715
- "default": "'null'"
889
+ "privacy": "private",
890
+ "default": "[]"
716
891
  },
717
892
  {
718
893
  "kind": "field",
719
- "name": "longressTimeout",
894
+ "name": "focusedin",
720
895
  "type": {
721
- "text": "ReturnType<typeof setTimeout>"
896
+ "text": "boolean"
722
897
  },
723
- "privacy": "private"
898
+ "default": "false"
724
899
  },
725
900
  {
726
901
  "kind": "field",
@@ -732,19 +907,715 @@
732
907
  },
733
908
  {
734
909
  "kind": "field",
735
- "name": "offset",
910
+ "name": "pointerentered",
736
911
  "type": {
737
- "text": "number | [number, number]"
912
+ "text": "boolean"
738
913
  },
739
- "default": "0",
740
- "description": "The `offset` property accepts either a single number, to\ndefine the offset of the Overlay along the main axis from\nthe trigger, or 2-tuple, to define the offset along the\nmain axis and the cross axis. This option has no effect\nwhen there is no trigger element.",
741
- "attribute": "offset"
914
+ "default": "false"
742
915
  },
743
916
  {
744
- "kind": "field",
745
- "name": "placementController",
917
+ "kind": "method",
918
+ "name": "handleTargetFocusin",
919
+ "return": {
920
+ "type": {
921
+ "text": "void"
922
+ }
923
+ }
924
+ },
925
+ {
926
+ "kind": "method",
927
+ "name": "handleTargetFocusout",
928
+ "return": {
929
+ "type": {
930
+ "text": "void"
931
+ }
932
+ }
933
+ },
934
+ {
935
+ "kind": "method",
936
+ "name": "handleTargetPointerenter",
937
+ "return": {
938
+ "type": {
939
+ "text": "void"
940
+ }
941
+ }
942
+ },
943
+ {
944
+ "kind": "method",
945
+ "name": "handleTargetPointerleave",
946
+ "return": {
947
+ "type": {
948
+ "text": "void"
949
+ }
950
+ }
951
+ },
952
+ {
953
+ "kind": "method",
954
+ "name": "handleHostPointerenter",
955
+ "return": {
956
+ "type": {
957
+ "text": "void"
958
+ }
959
+ }
960
+ },
961
+ {
962
+ "kind": "method",
963
+ "name": "handleHostPointerleave",
964
+ "return": {
965
+ "type": {
966
+ "text": "void"
967
+ }
968
+ }
969
+ },
970
+ {
971
+ "kind": "method",
972
+ "name": "prepareDescription",
973
+ "return": {
974
+ "type": {
975
+ "text": "void"
976
+ }
977
+ },
978
+ "parameters": [
979
+ {
980
+ "name": "_",
981
+ "type": {
982
+ "text": "HTMLElement"
983
+ }
984
+ }
985
+ ],
986
+ "inheritedFrom": {
987
+ "name": "InteractionController",
988
+ "module": "src/InteractionController.js"
989
+ }
990
+ },
991
+ {
992
+ "kind": "method",
993
+ "name": "prepareOverlayRelativeDescription",
994
+ "privacy": "private",
995
+ "return": {
996
+ "type": {
997
+ "text": "void"
998
+ }
999
+ }
1000
+ },
1001
+ {
1002
+ "kind": "method",
1003
+ "name": "prepareContentRelativeDescription",
1004
+ "privacy": "private",
1005
+ "return": {
1006
+ "type": {
1007
+ "text": "void"
1008
+ }
1009
+ }
1010
+ },
1011
+ {
1012
+ "kind": "method",
1013
+ "name": "doPointerleave",
1014
+ "privacy": "protected",
1015
+ "return": {
1016
+ "type": {
1017
+ "text": "void"
1018
+ }
1019
+ }
1020
+ },
1021
+ {
1022
+ "kind": "method",
1023
+ "name": "init",
1024
+ "return": {
1025
+ "type": {
1026
+ "text": "void"
1027
+ }
1028
+ },
1029
+ "inheritedFrom": {
1030
+ "name": "InteractionController",
1031
+ "module": "src/InteractionController.js"
1032
+ }
1033
+ },
1034
+ {
1035
+ "kind": "field",
1036
+ "name": "abortController",
1037
+ "type": {
1038
+ "text": "AbortController"
1039
+ },
1040
+ "inheritedFrom": {
1041
+ "name": "InteractionController",
1042
+ "module": "src/InteractionController.js"
1043
+ }
1044
+ },
1045
+ {
1046
+ "kind": "field",
1047
+ "name": "activelyOpening",
1048
+ "type": {
1049
+ "text": "boolean"
1050
+ },
1051
+ "readonly": true,
1052
+ "inheritedFrom": {
1053
+ "name": "InteractionController",
1054
+ "module": "src/InteractionController.js"
1055
+ }
1056
+ },
1057
+ {
1058
+ "kind": "method",
1059
+ "name": "releaseDescription",
1060
+ "return": {
1061
+ "type": {
1062
+ "text": "void"
1063
+ }
1064
+ },
1065
+ "inheritedFrom": {
1066
+ "name": "InteractionController",
1067
+ "module": "src/InteractionController.js"
1068
+ }
1069
+ },
1070
+ {
1071
+ "kind": "method",
1072
+ "name": "shouldCompleteOpen",
1073
+ "return": {
1074
+ "type": {
1075
+ "text": "void"
1076
+ }
1077
+ },
1078
+ "inheritedFrom": {
1079
+ "name": "InteractionController",
1080
+ "module": "src/InteractionController.js"
1081
+ }
1082
+ },
1083
+ {
1084
+ "kind": "method",
1085
+ "name": "abort",
1086
+ "return": {
1087
+ "type": {
1088
+ "text": "void"
1089
+ }
1090
+ },
1091
+ "inheritedFrom": {
1092
+ "name": "InteractionController",
1093
+ "module": "src/InteractionController.js"
1094
+ }
1095
+ },
1096
+ {
1097
+ "kind": "method",
1098
+ "name": "hostConnected",
1099
+ "return": {
1100
+ "type": {
1101
+ "text": "void"
1102
+ }
1103
+ },
1104
+ "inheritedFrom": {
1105
+ "name": "InteractionController",
1106
+ "module": "src/InteractionController.js"
1107
+ }
1108
+ },
1109
+ {
1110
+ "kind": "method",
1111
+ "name": "hostDisconnected",
1112
+ "return": {
1113
+ "type": {
1114
+ "text": "void"
1115
+ }
1116
+ },
1117
+ "inheritedFrom": {
1118
+ "name": "InteractionController",
1119
+ "module": "src/InteractionController.js"
1120
+ }
1121
+ }
1122
+ ],
1123
+ "superclass": {
1124
+ "name": "InteractionController",
1125
+ "module": "/src/InteractionController.js"
1126
+ }
1127
+ }
1128
+ ],
1129
+ "exports": [
1130
+ {
1131
+ "kind": "js",
1132
+ "name": "HoverController",
1133
+ "declaration": {
1134
+ "name": "HoverController",
1135
+ "module": "src/HoverController.js"
1136
+ }
1137
+ }
1138
+ ]
1139
+ },
1140
+ {
1141
+ "kind": "javascript-module",
1142
+ "path": "src/InteractionController.js",
1143
+ "declarations": [
1144
+ {
1145
+ "kind": "class",
1146
+ "description": "",
1147
+ "name": "InteractionController",
1148
+ "members": [
1149
+ {
1150
+ "kind": "field",
1151
+ "name": "abortController",
1152
+ "type": {
1153
+ "text": "AbortController"
1154
+ }
1155
+ },
1156
+ {
1157
+ "kind": "field",
1158
+ "name": "activelyOpening",
1159
+ "type": {
1160
+ "text": "boolean"
1161
+ },
1162
+ "readonly": true
1163
+ },
1164
+ {
1165
+ "kind": "field",
1166
+ "name": "type",
1167
+ "type": {
1168
+ "text": "InteractionTypes"
1169
+ }
1170
+ },
1171
+ {
1172
+ "kind": "method",
1173
+ "name": "prepareDescription",
1174
+ "return": {
1175
+ "type": {
1176
+ "text": "void"
1177
+ }
1178
+ },
1179
+ "parameters": [
1180
+ {
1181
+ "name": "_",
1182
+ "type": {
1183
+ "text": "HTMLElement"
1184
+ }
1185
+ }
1186
+ ]
1187
+ },
1188
+ {
1189
+ "kind": "method",
1190
+ "name": "releaseDescription",
1191
+ "return": {
1192
+ "type": {
1193
+ "text": "void"
1194
+ }
1195
+ }
1196
+ },
1197
+ {
1198
+ "kind": "method",
1199
+ "name": "shouldCompleteOpen",
1200
+ "return": {
1201
+ "type": {
1202
+ "text": "void"
1203
+ }
1204
+ }
1205
+ },
1206
+ {
1207
+ "kind": "method",
1208
+ "name": "init",
1209
+ "return": {
1210
+ "type": {
1211
+ "text": "void"
1212
+ }
1213
+ }
1214
+ },
1215
+ {
1216
+ "kind": "method",
1217
+ "name": "abort",
1218
+ "return": {
1219
+ "type": {
1220
+ "text": "void"
1221
+ }
1222
+ }
1223
+ },
1224
+ {
1225
+ "kind": "method",
1226
+ "name": "hostConnected",
1227
+ "return": {
1228
+ "type": {
1229
+ "text": "void"
1230
+ }
1231
+ }
1232
+ },
1233
+ {
1234
+ "kind": "method",
1235
+ "name": "hostDisconnected",
1236
+ "return": {
1237
+ "type": {
1238
+ "text": "void"
1239
+ }
1240
+ }
1241
+ }
1242
+ ]
1243
+ }
1244
+ ],
1245
+ "exports": [
1246
+ {
1247
+ "kind": "js",
1248
+ "name": "InteractionController",
1249
+ "declaration": {
1250
+ "name": "InteractionController",
1251
+ "module": "src/InteractionController.js"
1252
+ }
1253
+ }
1254
+ ]
1255
+ },
1256
+ {
1257
+ "kind": "javascript-module",
1258
+ "path": "src/LongpressController.js",
1259
+ "declarations": [
1260
+ {
1261
+ "kind": "variable",
1262
+ "name": "LONGPRESS_INSTRUCTIONS",
1263
+ "type": {
1264
+ "text": "object"
1265
+ },
1266
+ "default": "{\n touch: 'Double tap and long press for additional options',\n keyboard: 'Press Space or Alt+Down Arrow for additional options',\n mouse: 'Click and hold for additional options',\n}"
1267
+ },
1268
+ {
1269
+ "kind": "class",
1270
+ "description": "",
1271
+ "name": "LongpressController",
1272
+ "members": [
1273
+ {
1274
+ "kind": "field",
1275
+ "name": "type",
1276
+ "type": {
1277
+ "text": "InteractionTypes"
1278
+ },
1279
+ "inheritedFrom": {
1280
+ "name": "InteractionController",
1281
+ "module": "src/InteractionController.js"
1282
+ }
1283
+ },
1284
+ {
1285
+ "kind": "field",
1286
+ "name": "activelyOpening",
1287
+ "type": {
1288
+ "text": "boolean"
1289
+ },
1290
+ "readonly": true,
1291
+ "inheritedFrom": {
1292
+ "name": "InteractionController",
1293
+ "module": "src/InteractionController.js"
1294
+ }
1295
+ },
1296
+ {
1297
+ "kind": "field",
1298
+ "name": "longpressState",
1299
+ "type": {
1300
+ "text": "null | 'potential' | 'opening' | 'pressed'"
1301
+ },
1302
+ "privacy": "protected",
1303
+ "default": "null"
1304
+ },
1305
+ {
1306
+ "kind": "field",
1307
+ "name": "releaseDescription",
1308
+ "return": {
1309
+ "type": {
1310
+ "text": "void"
1311
+ }
1312
+ },
1313
+ "default": "noop",
1314
+ "inheritedFrom": {
1315
+ "name": "InteractionController",
1316
+ "module": "src/InteractionController.js"
1317
+ }
1318
+ },
1319
+ {
1320
+ "kind": "field",
1321
+ "name": "timeout",
1322
+ "type": {
1323
+ "text": "ReturnType<typeof setTimeout>"
1324
+ },
1325
+ "privacy": "private"
1326
+ },
1327
+ {
1328
+ "kind": "method",
1329
+ "name": "handleLongpress",
1330
+ "return": {
1331
+ "type": {
1332
+ "text": "void"
1333
+ }
1334
+ }
1335
+ },
1336
+ {
1337
+ "kind": "method",
1338
+ "name": "handlePointerdown",
1339
+ "return": {
1340
+ "type": {
1341
+ "text": "void"
1342
+ }
1343
+ },
1344
+ "parameters": [
1345
+ {
1346
+ "name": "event",
1347
+ "type": {
1348
+ "text": "PointerEvent"
1349
+ }
1350
+ }
1351
+ ]
1352
+ },
1353
+ {
1354
+ "kind": "field",
1355
+ "name": "handlePointerup",
1356
+ "privacy": "private"
1357
+ },
1358
+ {
1359
+ "kind": "method",
1360
+ "name": "handleKeydown",
1361
+ "privacy": "private",
1362
+ "return": {
1363
+ "type": {
1364
+ "text": "void"
1365
+ }
1366
+ },
1367
+ "parameters": [
1368
+ {
1369
+ "name": "event",
1370
+ "type": {
1371
+ "text": "KeyboardEvent"
1372
+ }
1373
+ }
1374
+ ]
1375
+ },
1376
+ {
1377
+ "kind": "method",
1378
+ "name": "handleKeyup",
1379
+ "privacy": "private",
1380
+ "return": {
1381
+ "type": {
1382
+ "text": "void"
1383
+ }
1384
+ },
1385
+ "parameters": [
1386
+ {
1387
+ "name": "event",
1388
+ "type": {
1389
+ "text": "KeyboardEvent"
1390
+ }
1391
+ }
1392
+ ]
1393
+ },
1394
+ {
1395
+ "kind": "method",
1396
+ "name": "prepareDescription",
1397
+ "return": {
1398
+ "type": {
1399
+ "text": "void"
1400
+ }
1401
+ },
1402
+ "parameters": [
1403
+ {
1404
+ "name": "trigger",
1405
+ "type": {
1406
+ "text": "HTMLElement"
1407
+ }
1408
+ }
1409
+ ],
1410
+ "inheritedFrom": {
1411
+ "name": "InteractionController",
1412
+ "module": "src/InteractionController.js"
1413
+ }
1414
+ },
1415
+ {
1416
+ "kind": "method",
1417
+ "name": "shouldCompleteOpen",
1418
+ "return": {
1419
+ "type": {
1420
+ "text": "void"
1421
+ }
1422
+ },
1423
+ "inheritedFrom": {
1424
+ "name": "InteractionController",
1425
+ "module": "src/InteractionController.js"
1426
+ }
1427
+ },
1428
+ {
1429
+ "kind": "method",
1430
+ "name": "init",
1431
+ "return": {
1432
+ "type": {
1433
+ "text": "void"
1434
+ }
1435
+ },
1436
+ "inheritedFrom": {
1437
+ "name": "InteractionController",
1438
+ "module": "src/InteractionController.js"
1439
+ }
1440
+ },
1441
+ {
1442
+ "kind": "field",
1443
+ "name": "abortController",
1444
+ "type": {
1445
+ "text": "AbortController"
1446
+ },
1447
+ "inheritedFrom": {
1448
+ "name": "InteractionController",
1449
+ "module": "src/InteractionController.js"
1450
+ }
1451
+ },
1452
+ {
1453
+ "kind": "method",
1454
+ "name": "abort",
1455
+ "return": {
1456
+ "type": {
1457
+ "text": "void"
1458
+ }
1459
+ },
1460
+ "inheritedFrom": {
1461
+ "name": "InteractionController",
1462
+ "module": "src/InteractionController.js"
1463
+ }
1464
+ },
1465
+ {
1466
+ "kind": "method",
1467
+ "name": "hostConnected",
1468
+ "return": {
1469
+ "type": {
1470
+ "text": "void"
1471
+ }
1472
+ },
1473
+ "inheritedFrom": {
1474
+ "name": "InteractionController",
1475
+ "module": "src/InteractionController.js"
1476
+ }
1477
+ },
1478
+ {
1479
+ "kind": "method",
1480
+ "name": "hostDisconnected",
1481
+ "return": {
1482
+ "type": {
1483
+ "text": "void"
1484
+ }
1485
+ },
1486
+ "inheritedFrom": {
1487
+ "name": "InteractionController",
1488
+ "module": "src/InteractionController.js"
1489
+ }
1490
+ }
1491
+ ],
1492
+ "superclass": {
1493
+ "name": "InteractionController",
1494
+ "module": "/src/InteractionController.js"
1495
+ }
1496
+ }
1497
+ ],
1498
+ "exports": [
1499
+ {
1500
+ "kind": "js",
1501
+ "name": "LONGPRESS_INSTRUCTIONS",
1502
+ "declaration": {
1503
+ "name": "LONGPRESS_INSTRUCTIONS",
1504
+ "module": "src/LongpressController.js"
1505
+ }
1506
+ },
1507
+ {
1508
+ "kind": "js",
1509
+ "name": "LongpressController",
1510
+ "declaration": {
1511
+ "name": "LongpressController",
1512
+ "module": "src/LongpressController.js"
1513
+ }
1514
+ }
1515
+ ]
1516
+ },
1517
+ {
1518
+ "kind": "javascript-module",
1519
+ "path": "src/Overlay.js",
1520
+ "declarations": [
1521
+ {
1522
+ "kind": "variable",
1523
+ "name": "strategies",
1524
+ "type": {
1525
+ "text": "object"
1526
+ },
1527
+ "default": "{\n click: ClickController,\n longpress: LongpressController,\n hover: HoverController,\n}"
1528
+ },
1529
+ {
1530
+ "kind": "class",
1531
+ "description": "",
1532
+ "name": "Overlay",
1533
+ "members": [
1534
+ {
1535
+ "kind": "field",
1536
+ "name": "delayed",
1537
+ "type": {
1538
+ "text": "boolean"
1539
+ },
1540
+ "description": "An Overlay that is `delayed` will wait until a warm-up period of 1000ms\nhas completed before opening. Once the warmup period has completed, all\nsubsequent Overlays will open immediately. When no Overlays are opened,\na cooldown period of 1000ms will begin. Once the cooldown has completed,\nthe next Overlay to be opened will be subject to the warm-up period if\nprovided that option.",
1541
+ "attribute": "delayed"
1542
+ },
1543
+ {
1544
+ "kind": "field",
1545
+ "name": "_delayed",
1546
+ "type": {
1547
+ "text": "boolean"
1548
+ },
1549
+ "privacy": "private",
1550
+ "default": "false"
1551
+ },
1552
+ {
1553
+ "kind": "field",
1554
+ "name": "dialogEl",
1555
+ "type": {
1556
+ "text": "HTMLDialogElement & {\n showPopover(): void;\n hidePopover(): void;\n }"
1557
+ }
1558
+ },
1559
+ {
1560
+ "kind": "field",
1561
+ "name": "disabled",
1562
+ "type": {
1563
+ "text": "boolean"
1564
+ },
1565
+ "description": "Whether the overlay is currently functional or not",
1566
+ "attribute": "disabled"
1567
+ },
1568
+ {
1569
+ "kind": "field",
1570
+ "name": "_disabled",
1571
+ "type": {
1572
+ "text": "boolean"
1573
+ },
1574
+ "privacy": "private",
1575
+ "default": "false"
1576
+ },
1577
+ {
1578
+ "kind": "field",
1579
+ "name": "elements",
1580
+ "type": {
1581
+ "text": "OpenableElement[]"
1582
+ }
1583
+ },
1584
+ {
1585
+ "kind": "field",
1586
+ "name": "parentOverlayToForceClose",
1587
+ "type": {
1588
+ "text": "Overlay | undefined"
1589
+ },
1590
+ "privacy": "public"
1591
+ },
1592
+ {
1593
+ "kind": "field",
1594
+ "name": "hasNonVirtualTrigger",
1595
+ "type": {
1596
+ "text": "boolean"
1597
+ },
1598
+ "privacy": "private",
1599
+ "readonly": true
1600
+ },
1601
+ {
1602
+ "kind": "field",
1603
+ "name": "offset",
1604
+ "type": {
1605
+ "text": "number | [number, number]"
1606
+ },
1607
+ "default": "0",
1608
+ "description": "The `offset` property accepts either a single number, to\ndefine the offset of the Overlay along the main axis from\nthe trigger, or 2-tuple, to define the offset along the\nmain axis and the cross axis. This option has no effect\nwhen there is no trigger element.",
1609
+ "attribute": "offset"
1610
+ },
1611
+ {
1612
+ "kind": "field",
1613
+ "name": "placementController",
1614
+ "type": {
1615
+ "text": "PlacementController"
1616
+ },
746
1617
  "privacy": "protected",
747
- "default": "new PlacementController(this)"
1618
+ "readonly": true
748
1619
  },
749
1620
  {
750
1621
  "kind": "field",
@@ -793,18 +1664,6 @@
793
1664
  "description": "Whether to pass focus to the overlay once opened, or\nto the appropriate value based on the \"type\" of the overlay\nwhen set to `\"auto\"`.",
794
1665
  "attribute": "receives-focus"
795
1666
  },
796
- {
797
- "kind": "field",
798
- "name": "releaseAriaDescribedby",
799
- "privacy": "private",
800
- "default": "noop"
801
- },
802
- {
803
- "kind": "field",
804
- "name": "releaseLongpressDescribedby",
805
- "privacy": "private",
806
- "default": "noop"
807
- },
808
1667
  {
809
1668
  "kind": "field",
810
1669
  "name": "slotEl",
@@ -827,6 +1686,14 @@
827
1686
  },
828
1687
  "default": "'closed'"
829
1688
  },
1689
+ {
1690
+ "kind": "field",
1691
+ "name": "strategy",
1692
+ "type": {
1693
+ "text": "ClickController | HoverController | LongpressController | undefined"
1694
+ },
1695
+ "privacy": "public"
1696
+ },
830
1697
  {
831
1698
  "kind": "field",
832
1699
  "name": "tipPadding",
@@ -857,7 +1724,7 @@
857
1724
  "kind": "field",
858
1725
  "name": "triggerInteraction",
859
1726
  "type": {
860
- "text": "'click' | 'longpress' | 'hover' | undefined"
1727
+ "text": "TriggerInteraction | undefined"
861
1728
  },
862
1729
  "description": "The specific interaction to listen for on the `triggerElement` to open the overlay."
863
1730
  },
@@ -883,8 +1750,11 @@
883
1750
  {
884
1751
  "kind": "field",
885
1752
  "name": "elementResolver",
886
- "privacy": "private",
887
- "default": "new ElementResolutionController(this)"
1753
+ "type": {
1754
+ "text": "ElementResolutionController"
1755
+ },
1756
+ "privacy": "protected",
1757
+ "readonly": true
888
1758
  },
889
1759
  {
890
1760
  "kind": "field",
@@ -957,42 +1827,9 @@
957
1827
  }
958
1828
  ]
959
1829
  },
960
- {
961
- "kind": "field",
962
- "name": "closeOnFocusOut",
963
- "privacy": "private"
964
- },
965
- {
966
- "kind": "method",
967
- "name": "manageOpen",
968
- "privacy": "protected",
969
- "return": {
970
- "type": {
971
- "text": "Promise<void>"
972
- }
973
- },
974
- "parameters": [
975
- {
976
- "name": "oldOpen",
977
- "type": {
978
- "text": "boolean"
979
- }
980
- }
981
- ]
982
- },
983
- {
984
- "kind": "method",
985
- "name": "unbindEvents",
986
- "privacy": "protected",
987
- "return": {
988
- "type": {
989
- "text": "void"
990
- }
991
- }
992
- },
993
1830
  {
994
1831
  "kind": "method",
995
- "name": "bindEvents",
1832
+ "name": "returnFocus",
996
1833
  "privacy": "protected",
997
1834
  "return": {
998
1835
  "type": {
@@ -1000,206 +1837,32 @@
1000
1837
  }
1001
1838
  }
1002
1839
  },
1003
- {
1004
- "kind": "method",
1005
- "name": "bindClickEvents",
1006
- "privacy": "protected",
1007
- "return": {
1008
- "type": {
1009
- "text": "void"
1010
- }
1011
- },
1012
- "parameters": [
1013
- {
1014
- "name": "triggerElement",
1015
- "type": {
1016
- "text": "HTMLElement"
1017
- }
1018
- }
1019
- ]
1020
- },
1021
- {
1022
- "kind": "method",
1023
- "name": "bindLongpressEvents",
1024
- "privacy": "protected",
1025
- "return": {
1026
- "type": {
1027
- "text": "void"
1028
- }
1029
- },
1030
- "parameters": [
1031
- {
1032
- "name": "triggerElement",
1033
- "type": {
1034
- "text": "HTMLElement"
1035
- }
1036
- }
1037
- ]
1038
- },
1039
- {
1040
- "kind": "method",
1041
- "name": "bindHoverEvents",
1042
- "privacy": "protected",
1043
- "return": {
1044
- "type": {
1045
- "text": "void"
1046
- }
1047
- },
1048
- "parameters": [
1049
- {
1050
- "name": "triggerElement",
1051
- "type": {
1052
- "text": "HTMLElement"
1053
- }
1054
- }
1055
- ]
1056
- },
1057
- {
1058
- "kind": "method",
1059
- "name": "manageTriggerElement",
1060
- "privacy": "protected",
1061
- "return": {
1062
- "type": {
1063
- "text": "void"
1064
- }
1065
- },
1066
- "parameters": [
1067
- {
1068
- "name": "triggerElement",
1069
- "type": {
1070
- "text": "HTMLElement | undefined"
1071
- }
1072
- }
1073
- ]
1074
- },
1075
1840
  {
1076
1841
  "kind": "field",
1077
- "name": "elementIds",
1078
- "type": {
1079
- "text": "string[]"
1080
- },
1081
- "privacy": "private",
1082
- "default": "[]"
1842
+ "name": "closeOnFocusOut",
1843
+ "privacy": "private"
1083
1844
  },
1084
1845
  {
1085
1846
  "kind": "method",
1086
- "name": "prepareLongpressDescription",
1087
- "privacy": "private",
1847
+ "name": "manageOpen",
1848
+ "privacy": "protected",
1088
1849
  "return": {
1089
1850
  "type": {
1090
- "text": "void"
1851
+ "text": "Promise<void>"
1091
1852
  }
1092
1853
  },
1093
1854
  "parameters": [
1094
1855
  {
1095
- "name": "trigger",
1856
+ "name": "oldOpen",
1096
1857
  "type": {
1097
- "text": "HTMLElement"
1858
+ "text": "boolean"
1098
1859
  }
1099
1860
  }
1100
1861
  ]
1101
1862
  },
1102
1863
  {
1103
1864
  "kind": "method",
1104
- "name": "prepareAriaDescribedby",
1105
- "privacy": "private",
1106
- "return": {
1107
- "type": {
1108
- "text": "void"
1109
- }
1110
- }
1111
- },
1112
- {
1113
- "kind": "field",
1114
- "name": "handlePointerdown",
1115
- "privacy": "private"
1116
- },
1117
- {
1118
- "kind": "field",
1119
- "name": "handlePointerup",
1120
- "privacy": "private"
1121
- },
1122
- {
1123
- "kind": "field",
1124
- "name": "handleKeydown",
1125
- "privacy": "private"
1126
- },
1127
- {
1128
- "kind": "field",
1129
- "name": "handleKeyup",
1130
- "privacy": "protected"
1131
- },
1132
- {
1133
- "kind": "field",
1134
- "name": "preventNextToggle",
1135
- "type": {
1136
- "text": "boolean"
1137
- },
1138
- "privacy": "private",
1139
- "default": "false",
1140
- "description": "An overlay with a `click` interaction should not close on click `triggerElement`.\nWhen a click is initiated (`pointerdown`), apply `preventNextToggle` when the\noverlay is `open` to prevent from toggling the overlay when the click event\npropagates later in the interaction."
1141
- },
1142
- {
1143
- "kind": "field",
1144
- "name": "handlePointerdownForClick",
1145
- "privacy": "protected"
1146
- },
1147
- {
1148
- "kind": "field",
1149
- "name": "handleClick",
1150
- "privacy": "protected"
1151
- },
1152
- {
1153
- "kind": "field",
1154
- "name": "focusedin",
1155
- "type": {
1156
- "text": "boolean"
1157
- },
1158
- "privacy": "private",
1159
- "default": "false"
1160
- },
1161
- {
1162
- "kind": "field",
1163
- "name": "handleFocusin",
1164
- "privacy": "protected"
1165
- },
1166
- {
1167
- "kind": "field",
1168
- "name": "handleFocusout",
1169
- "privacy": "protected"
1170
- },
1171
- {
1172
- "kind": "field",
1173
- "name": "pointerentered",
1174
- "type": {
1175
- "text": "boolean"
1176
- },
1177
- "privacy": "private",
1178
- "default": "false"
1179
- },
1180
- {
1181
- "kind": "field",
1182
- "name": "handlePointerenter",
1183
- "privacy": "protected"
1184
- },
1185
- {
1186
- "kind": "field",
1187
- "name": "handleOverlayPointerenter",
1188
- "privacy": "protected"
1189
- },
1190
- {
1191
- "kind": "field",
1192
- "name": "handlePointerleave",
1193
- "privacy": "protected"
1194
- },
1195
- {
1196
- "kind": "field",
1197
- "name": "handleOverlayPointerleave",
1198
- "privacy": "protected"
1199
- },
1200
- {
1201
- "kind": "method",
1202
- "name": "doPointerleave",
1865
+ "name": "bindEvents",
1203
1866
  "privacy": "protected",
1204
1867
  "return": {
1205
1868
  "type": {
@@ -1207,11 +1870,6 @@
1207
1870
  }
1208
1871
  }
1209
1872
  },
1210
- {
1211
- "kind": "field",
1212
- "name": "handleLongpress",
1213
- "privacy": "protected"
1214
- },
1215
1873
  {
1216
1874
  "kind": "method",
1217
1875
  "name": "handleBeforetoggle",
@@ -1270,6 +1928,16 @@
1270
1928
  }
1271
1929
  }
1272
1930
  },
1931
+ {
1932
+ "kind": "method",
1933
+ "name": "requestSlottable",
1934
+ "privacy": "protected",
1935
+ "return": {
1936
+ "type": {
1937
+ "text": "void"
1938
+ }
1939
+ }
1940
+ },
1273
1941
  {
1274
1942
  "kind": "method",
1275
1943
  "name": "renderContent",
@@ -1311,6 +1979,12 @@
1311
1979
  }
1312
1980
  ],
1313
1981
  "events": [
1982
+ {
1983
+ "name": "overlay-content",
1984
+ "type": {
1985
+ "text": "SlottableRequestEvent"
1986
+ }
1987
+ },
1314
1988
  {
1315
1989
  "description": "announces that an overlay has completed any entry animations",
1316
1990
  "name": "sp-opened"
@@ -1410,6 +2084,14 @@
1410
2084
  "name": "LONGPRESS_INSTRUCTIONS",
1411
2085
  "declaration": {
1412
2086
  "name": "LONGPRESS_INSTRUCTIONS",
2087
+ "module": "./LongpressController.js"
2088
+ }
2089
+ },
2090
+ {
2091
+ "kind": "js",
2092
+ "name": "strategies",
2093
+ "declaration": {
2094
+ "name": "strategies",
1413
2095
  "module": "src/Overlay.js"
1414
2096
  }
1415
2097
  },