@spectrum-web-components/overlay 1.1.0-beta.8 → 1.1.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 (204) hide show
  1. package/package.json +7 -7
  2. package/overlay-trigger.d.ts +0 -6
  3. package/overlay-trigger.dev.js +0 -5
  4. package/overlay-trigger.dev.js.map +0 -7
  5. package/overlay-trigger.js +0 -2
  6. package/overlay-trigger.js.map +0 -7
  7. package/sp-overlay.d.ts +0 -6
  8. package/sp-overlay.dev.js +0 -5
  9. package/sp-overlay.dev.js.map +0 -7
  10. package/sp-overlay.js +0 -2
  11. package/sp-overlay.js.map +0 -7
  12. package/src/AbstractOverlay.d.ts +0 -72
  13. package/src/AbstractOverlay.dev.js +0 -234
  14. package/src/AbstractOverlay.dev.js.map +0 -7
  15. package/src/AbstractOverlay.js +0 -2
  16. package/src/AbstractOverlay.js.map +0 -7
  17. package/src/ClickController.d.ts +0 -14
  18. package/src/ClickController.dev.js +0 -42
  19. package/src/ClickController.dev.js.map +0 -7
  20. package/src/ClickController.js +0 -2
  21. package/src/ClickController.js.map +0 -7
  22. package/src/HoverController.d.ts +0 -20
  23. package/src/HoverController.dev.js +0 -153
  24. package/src/HoverController.dev.js.map +0 -7
  25. package/src/HoverController.js +0 -2
  26. package/src/HoverController.js.map +0 -7
  27. package/src/InteractionController.d.ts +0 -38
  28. package/src/InteractionController.dev.js +0 -90
  29. package/src/InteractionController.dev.js.map +0 -7
  30. package/src/InteractionController.js +0 -2
  31. package/src/InteractionController.js.map +0 -7
  32. package/src/LongpressController.d.ts +0 -21
  33. package/src/LongpressController.dev.js +0 -156
  34. package/src/LongpressController.dev.js.map +0 -7
  35. package/src/LongpressController.js +0 -2
  36. package/src/LongpressController.js.map +0 -7
  37. package/src/Overlay.d.ts +0 -134
  38. package/src/Overlay.dev.js +0 -534
  39. package/src/Overlay.dev.js.map +0 -7
  40. package/src/Overlay.js +0 -33
  41. package/src/Overlay.js.map +0 -7
  42. package/src/OverlayDialog.d.ts +0 -4
  43. package/src/OverlayDialog.dev.js +0 -139
  44. package/src/OverlayDialog.dev.js.map +0 -7
  45. package/src/OverlayDialog.js +0 -2
  46. package/src/OverlayDialog.js.map +0 -7
  47. package/src/OverlayNoPopover.d.ts +0 -4
  48. package/src/OverlayNoPopover.dev.js +0 -117
  49. package/src/OverlayNoPopover.dev.js.map +0 -7
  50. package/src/OverlayNoPopover.js +0 -2
  51. package/src/OverlayNoPopover.js.map +0 -7
  52. package/src/OverlayPopover.d.ts +0 -4
  53. package/src/OverlayPopover.dev.js +0 -199
  54. package/src/OverlayPopover.dev.js.map +0 -7
  55. package/src/OverlayPopover.js +0 -2
  56. package/src/OverlayPopover.js.map +0 -7
  57. package/src/OverlayStack.d.ts +0 -44
  58. package/src/OverlayStack.dev.js +0 -160
  59. package/src/OverlayStack.dev.js.map +0 -7
  60. package/src/OverlayStack.js +0 -2
  61. package/src/OverlayStack.js.map +0 -7
  62. package/src/OverlayTrigger.d.ts +0 -52
  63. package/src/OverlayTrigger.dev.js +0 -243
  64. package/src/OverlayTrigger.dev.js.map +0 -7
  65. package/src/OverlayTrigger.js +0 -57
  66. package/src/OverlayTrigger.js.map +0 -7
  67. package/src/PlacementController.d.ts +0 -40
  68. package/src/PlacementController.dev.js +0 -212
  69. package/src/PlacementController.dev.js.map +0 -7
  70. package/src/PlacementController.js +0 -2
  71. package/src/PlacementController.js.map +0 -7
  72. package/src/VirtualTrigger.d.ts +0 -7
  73. package/src/VirtualTrigger.dev.js +0 -32
  74. package/src/VirtualTrigger.dev.js.map +0 -7
  75. package/src/VirtualTrigger.js +0 -2
  76. package/src/VirtualTrigger.js.map +0 -7
  77. package/src/events.d.ts +0 -23
  78. package/src/events.dev.js +0 -39
  79. package/src/events.dev.js.map +0 -7
  80. package/src/events.js +0 -2
  81. package/src/events.js.map +0 -7
  82. package/src/fullSizePlugin.d.ts +0 -12
  83. package/src/fullSizePlugin.dev.js +0 -39
  84. package/src/fullSizePlugin.dev.js.map +0 -7
  85. package/src/fullSizePlugin.js +0 -2
  86. package/src/fullSizePlugin.js.map +0 -7
  87. package/src/index.d.ts +0 -6
  88. package/src/index.dev.js +0 -8
  89. package/src/index.dev.js.map +0 -7
  90. package/src/index.js +0 -2
  91. package/src/index.js.map +0 -7
  92. package/src/loader.d.ts +0 -4
  93. package/src/loader.dev.js +0 -11
  94. package/src/loader.dev.js.map +0 -7
  95. package/src/loader.js +0 -2
  96. package/src/loader.js.map +0 -7
  97. package/src/overlay-events.d.ts +0 -11
  98. package/src/overlay-events.dev.js +0 -8
  99. package/src/overlay-events.dev.js.map +0 -7
  100. package/src/overlay-events.js +0 -2
  101. package/src/overlay-events.js.map +0 -7
  102. package/src/overlay-timer.d.ts +0 -22
  103. package/src/overlay-timer.dev.js +0 -72
  104. package/src/overlay-timer.dev.js.map +0 -7
  105. package/src/overlay-timer.js +0 -2
  106. package/src/overlay-timer.js.map +0 -7
  107. package/src/overlay-trigger-directive.d.ts +0 -26
  108. package/src/overlay-trigger-directive.dev.js +0 -87
  109. package/src/overlay-trigger-directive.dev.js.map +0 -7
  110. package/src/overlay-trigger-directive.js +0 -2
  111. package/src/overlay-trigger-directive.js.map +0 -7
  112. package/src/overlay-trigger.css.d.ts +0 -2
  113. package/src/overlay-trigger.css.dev.js +0 -7
  114. package/src/overlay-trigger.css.dev.js.map +0 -7
  115. package/src/overlay-trigger.css.js +0 -4
  116. package/src/overlay-trigger.css.js.map +0 -7
  117. package/src/overlay-types.d.ts +0 -50
  118. package/src/overlay-types.dev.js +0 -3
  119. package/src/overlay-types.dev.js.map +0 -7
  120. package/src/overlay-types.js +0 -2
  121. package/src/overlay-types.js.map +0 -7
  122. package/src/overlay.css.d.ts +0 -2
  123. package/src/overlay.css.dev.js +0 -7
  124. package/src/overlay.css.dev.js.map +0 -7
  125. package/src/overlay.css.js +0 -4
  126. package/src/overlay.css.js.map +0 -7
  127. package/src/slottable-request-directive.d.ts +0 -17
  128. package/src/slottable-request-directive.dev.js +0 -66
  129. package/src/slottable-request-directive.dev.js.map +0 -7
  130. package/src/slottable-request-directive.js +0 -2
  131. package/src/slottable-request-directive.js.map +0 -7
  132. package/src/slottable-request-event.d.ts +0 -12
  133. package/src/slottable-request-event.dev.js +0 -28
  134. package/src/slottable-request-event.dev.js.map +0 -7
  135. package/src/slottable-request-event.js +0 -2
  136. package/src/slottable-request-event.js.map +0 -7
  137. package/src/strategies.d.ts +0 -8
  138. package/src/strategies.dev.js +0 -10
  139. package/src/strategies.dev.js.map +0 -7
  140. package/src/strategies.js +0 -2
  141. package/src/strategies.js.map +0 -7
  142. package/stories/index.js +0 -40
  143. package/stories/index.js.map +0 -7
  144. package/stories/overlay-directive.stories.js +0 -324
  145. package/stories/overlay-directive.stories.js.map +0 -7
  146. package/stories/overlay-element.stories.js +0 -675
  147. package/stories/overlay-element.stories.js.map +0 -7
  148. package/stories/overlay-story-components.js +0 -338
  149. package/stories/overlay-story-components.js.map +0 -7
  150. package/stories/overlay.stories.js +0 -1397
  151. package/stories/overlay.stories.js.map +0 -7
  152. package/sync/overlay-trigger.d.ts +0 -6
  153. package/sync/overlay-trigger.dev.js +0 -6
  154. package/sync/overlay-trigger.dev.js.map +0 -7
  155. package/sync/overlay-trigger.js +0 -2
  156. package/sync/overlay-trigger.js.map +0 -7
  157. package/test/benchmark/basic-test.js +0 -40
  158. package/test/benchmark/basic-test.js.map +0 -7
  159. package/test/benchmark/directive-test.js +0 -43
  160. package/test/benchmark/directive-test.js.map +0 -7
  161. package/test/benchmark/element-test.js +0 -40
  162. package/test/benchmark/element-test.js.map +0 -7
  163. package/test/benchmark/lazy-test.js +0 -47
  164. package/test/benchmark/lazy-test.js.map +0 -7
  165. package/test/index.js +0 -605
  166. package/test/index.js.map +0 -7
  167. package/test/overlay-directive.test-vrt.js +0 -5
  168. package/test/overlay-directive.test-vrt.js.map +0 -7
  169. package/test/overlay-directive.test.js +0 -162
  170. package/test/overlay-directive.test.js.map +0 -7
  171. package/test/overlay-element.test-vrt.js +0 -5
  172. package/test/overlay-element.test-vrt.js.map +0 -7
  173. package/test/overlay-element.test.js +0 -936
  174. package/test/overlay-element.test.js.map +0 -7
  175. package/test/overlay-lifecycle.test.js +0 -139
  176. package/test/overlay-lifecycle.test.js.map +0 -7
  177. package/test/overlay-memory.test.js +0 -10
  178. package/test/overlay-memory.test.js.map +0 -7
  179. package/test/overlay-timer.test.js +0 -118
  180. package/test/overlay-timer.test.js.map +0 -7
  181. package/test/overlay-trigger-click.test.js +0 -164
  182. package/test/overlay-trigger-click.test.js.map +0 -7
  183. package/test/overlay-trigger-directive.test.js +0 -75
  184. package/test/overlay-trigger-directive.test.js.map +0 -7
  185. package/test/overlay-trigger-extended.test.js +0 -235
  186. package/test/overlay-trigger-extended.test.js.map +0 -7
  187. package/test/overlay-trigger-hover-click.test.js +0 -225
  188. package/test/overlay-trigger-hover-click.test.js.map +0 -7
  189. package/test/overlay-trigger-hover.test.js +0 -308
  190. package/test/overlay-trigger-hover.test.js.map +0 -7
  191. package/test/overlay-trigger-longpress.test.js +0 -549
  192. package/test/overlay-trigger-longpress.test.js.map +0 -7
  193. package/test/overlay-trigger-sync.test.js +0 -5
  194. package/test/overlay-trigger-sync.test.js.map +0 -7
  195. package/test/overlay-trigger.test.js +0 -5
  196. package/test/overlay-trigger.test.js.map +0 -7
  197. package/test/overlay-update.test.js +0 -28
  198. package/test/overlay-update.test.js.map +0 -7
  199. package/test/overlay-v1.test.js +0 -569
  200. package/test/overlay-v1.test.js.map +0 -7
  201. package/test/overlay.test-vrt.js +0 -5
  202. package/test/overlay.test-vrt.js.map +0 -7
  203. package/test/overlay.test.js +0 -776
  204. package/test/overlay.test.js.map +0 -7
package/src/strategies.js DELETED
@@ -1,2 +0,0 @@
1
- "use strict";import{ClickController as o}from"./ClickController.js";import{HoverController as r}from"./HoverController.js";import{LongpressController as e}from"./LongpressController.js";export const strategies={click:o,longpress:e,hover:r};
2
- //# sourceMappingURL=strategies.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["strategies.ts"],
4
- "sourcesContent": ["/*\nCopyright 2024 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport { ClickController } from './ClickController.js';\nimport { HoverController } from './HoverController.js';\nimport { LongpressController } from './LongpressController.js';\n\nexport const strategies = {\n click: ClickController,\n longpress: LongpressController,\n hover: HoverController,\n};\n"],
5
- "mappings": "aAYA,OAAS,mBAAAA,MAAuB,uBAChC,OAAS,mBAAAC,MAAuB,uBAChC,OAAS,uBAAAC,MAA2B,2BAE7B,aAAM,WAAa,CACtB,MAAOF,EACP,UAAWE,EACX,MAAOD,CACX",
6
- "names": ["ClickController", "HoverController", "LongpressController"]
7
- }
package/stories/index.js DELETED
@@ -1,40 +0,0 @@
1
- "use strict";
2
- import { html } from "@spectrum-web-components/base";
3
- function nextFrame() {
4
- return new Promise((res) => requestAnimationFrame(() => res()));
5
- }
6
- class IsOverlayOpen extends HTMLElement {
7
- constructor() {
8
- super();
9
- this.handleOpened = async (event) => {
10
- const overlay = event.target;
11
- const actions = [nextFrame(), overlay.updateComplete];
12
- await Promise.all(actions);
13
- await nextFrame();
14
- await nextFrame();
15
- await nextFrame();
16
- await nextFrame();
17
- this.ready(true);
18
- };
19
- this.readyPromise = Promise.resolve(false);
20
- this.readyPromise = new Promise((res) => {
21
- this.ready = res;
22
- this.setup();
23
- });
24
- }
25
- async setup() {
26
- await nextFrame();
27
- document.addEventListener("sp-opened", this.handleOpened);
28
- }
29
- get updateComplete() {
30
- return this.readyPromise;
31
- }
32
- }
33
- customElements.define("is-overlay-open", IsOverlayOpen);
34
- export const isOverlayOpen = (story) => {
35
- return html`
36
- ${story()}
37
- <is-overlay-open></is-overlay-open>
38
- `;
39
- };
40
- //# sourceMappingURL=index.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["index.ts"],
4
- "sourcesContent": ["/*\nCopyright 2023 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport { html, TemplateResult } from '@spectrum-web-components/base';\nimport type { Overlay } from '@spectrum-web-components/overlay';\n\nfunction nextFrame(): Promise<void> {\n return new Promise((res) => requestAnimationFrame(() => res()));\n}\n\nclass IsOverlayOpen extends HTMLElement {\n ready!: (value: boolean | PromiseLike<boolean>) => void;\n\n constructor() {\n super();\n this.readyPromise = new Promise((res) => {\n this.ready = res;\n this.setup();\n });\n }\n\n async setup(): Promise<void> {\n await nextFrame();\n\n document.addEventListener('sp-opened', this.handleOpened);\n }\n\n handleOpened = async (event: Event): Promise<void> => {\n const overlay = event.target as Overlay;\n const actions = [nextFrame(), overlay.updateComplete];\n\n await Promise.all(actions);\n // Focus happens _after_ `sp-opened` by at least two frames.\n await nextFrame();\n await nextFrame();\n await nextFrame();\n await nextFrame();\n\n this.ready(true);\n };\n\n private readyPromise: Promise<boolean> = Promise.resolve(false);\n\n get updateComplete(): Promise<boolean> {\n return this.readyPromise;\n }\n}\n\ncustomElements.define('is-overlay-open', IsOverlayOpen);\n\nexport const isOverlayOpen = (story: () => TemplateResult): TemplateResult => {\n return html`\n ${story()}\n <is-overlay-open></is-overlay-open>\n `;\n};\n"],
5
- "mappings": ";AAYA,SAAS,YAA4B;AAGrC,SAAS,YAA2B;AAChC,SAAO,IAAI,QAAQ,CAAC,QAAQ,sBAAsB,MAAM,IAAI,CAAC,CAAC;AAClE;AAEA,MAAM,sBAAsB,YAAY;AAAA,EAGpC,cAAc;AACV,UAAM;AAaV,wBAAe,OAAO,UAAgC;AAClD,YAAM,UAAU,MAAM;AACtB,YAAM,UAAU,CAAC,UAAU,GAAG,QAAQ,cAAc;AAEpD,YAAM,QAAQ,IAAI,OAAO;AAEzB,YAAM,UAAU;AAChB,YAAM,UAAU;AAChB,YAAM,UAAU;AAChB,YAAM,UAAU;AAEhB,WAAK,MAAM,IAAI;AAAA,IACnB;AAEA,SAAQ,eAAiC,QAAQ,QAAQ,KAAK;AA1B1D,SAAK,eAAe,IAAI,QAAQ,CAAC,QAAQ;AACrC,WAAK,QAAQ;AACb,WAAK,MAAM;AAAA,IACf,CAAC;AAAA,EACL;AAAA,EAEA,MAAM,QAAuB;AACzB,UAAM,UAAU;AAEhB,aAAS,iBAAiB,aAAa,KAAK,YAAY;AAAA,EAC5D;AAAA,EAkBA,IAAI,iBAAmC;AACnC,WAAO,KAAK;AAAA,EAChB;AACJ;AAEA,eAAe,OAAO,mBAAmB,aAAa;AAE/C,aAAM,gBAAgB,CAAC,UAAgD;AAC1E,SAAO;AAAA,UACD,MAAM,CAAC;AAAA;AAAA;AAGjB;",
6
- "names": []
7
- }
@@ -1,324 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __decorateClass = (decorators, target, key, kind) => {
5
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
6
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
7
- if (decorator = decorators[i])
8
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
9
- if (kind && result) __defProp(target, key, result);
10
- return result;
11
- };
12
- import {
13
- html,
14
- LitElement
15
- } from "@spectrum-web-components/base";
16
- import "@spectrum-web-components/action-button/sp-action-button.js";
17
- import "@spectrum-web-components/action-group/sp-action-group.js";
18
- import "@spectrum-web-components/button/sp-button.js";
19
- import "@spectrum-web-components/dialog/sp-dialog-wrapper.js";
20
- import "@spectrum-web-components/field-label/sp-field-label.js";
21
- import "@spectrum-web-components/icons-workflow/icons/sp-icon-magnify.js";
22
- import "@spectrum-web-components/icons-workflow/icons/sp-icon-open-in.js";
23
- import "@spectrum-web-components/overlay/overlay-trigger.js";
24
- import {
25
- trigger
26
- } from "@spectrum-web-components/overlay/src/overlay-trigger-directive.js";
27
- import "@spectrum-web-components/dialog/sp-dialog.js";
28
- import "@spectrum-web-components/picker/sp-picker.js";
29
- import "@spectrum-web-components/menu/sp-menu.js";
30
- import "@spectrum-web-components/menu/sp-menu-item.js";
31
- import "@spectrum-web-components/menu/sp-menu-divider.js";
32
- import "@spectrum-web-components/popover/sp-popover.js";
33
- import "@spectrum-web-components/slider/sp-slider.js";
34
- import "@spectrum-web-components/radio/sp-radio.js";
35
- import "@spectrum-web-components/radio/sp-radio-group.js";
36
- import "@spectrum-web-components/tooltip/sp-tooltip.js";
37
- import "@spectrum-web-components/theme/sp-theme.js";
38
- import "@spectrum-web-components/theme/src/themes.js";
39
- import "@spectrum-web-components/accordion/sp-accordion.js";
40
- import "@spectrum-web-components/accordion/sp-accordion-item.js";
41
- import "../../../projects/story-decorator/src/types.js";
42
- import "./overlay-story-components.js";
43
- import { tooltip } from "@spectrum-web-components/tooltip/src/tooltip-directive.js";
44
- import { ifDefined } from "@spectrum-web-components/base/src/directives.js";
45
- import { state } from "@spectrum-web-components/base/src/decorators.js";
46
- const storyStyles = html`
47
- <style>
48
- html,
49
- body,
50
- #root,
51
- #root-inner,
52
- sp-story-decorator {
53
- height: 100%;
54
- margin: 0;
55
- }
56
-
57
- sp-story-decorator::part(container) {
58
- display: flex;
59
- flex-direction: column;
60
- width: 100%;
61
- height: 100%;
62
- align-items: center;
63
- justify-content: center;
64
- }
65
-
66
- overlay-trigger {
67
- flex: none;
68
- }
69
-
70
- #styled-div {
71
- background-color: var(--styled-div-background-color, blue);
72
- color: white;
73
- padding: 4px 10px;
74
- margin-bottom: 10px;
75
- }
76
-
77
- #inner-trigger {
78
- display: inline-block;
79
- }
80
- </style>
81
- `;
82
- export default {
83
- title: "Overlay Directive",
84
- argTypes: {
85
- offset: { control: "number" },
86
- placement: {
87
- control: {
88
- type: "inline-radio",
89
- options: [
90
- "top",
91
- "top-start",
92
- "top-end",
93
- "bottom",
94
- "bottom-start",
95
- "bottom-end",
96
- "left",
97
- "left-start",
98
- "left-end",
99
- "right",
100
- "right-start",
101
- "right-end",
102
- "auto",
103
- "auto-start",
104
- "auto-end",
105
- "none"
106
- ]
107
- }
108
- },
109
- type: {
110
- control: {
111
- type: "inline-radio",
112
- options: ["modal", "replace", "inline"]
113
- }
114
- },
115
- colorStop: {
116
- control: {
117
- type: "inline-radio",
118
- options: ["light", "dark"]
119
- }
120
- },
121
- open: {
122
- name: "open",
123
- type: { name: "boolean", required: false },
124
- description: "Whether the second accordion item is open.",
125
- table: {
126
- type: { summary: "boolean" },
127
- defaultValue: { summary: false }
128
- },
129
- control: {
130
- type: "boolean"
131
- }
132
- }
133
- },
134
- args: {
135
- placement: "bottom",
136
- offset: 0,
137
- colorStop: "light",
138
- triggerOn: "click",
139
- open: false
140
- }
141
- };
142
- const template = ({
143
- placement,
144
- offset,
145
- open,
146
- triggerOn,
147
- insertionOptions: insertionOptions2
148
- }) => {
149
- const renderTooltip = () => html`
150
- Click to open a popover.
151
- `;
152
- const renderPopover = () => html`
153
- <sp-popover placement="${ifDefined(placement)}" tip>
154
- <sp-dialog no-divider>
155
- <div class="options-popover-content">
156
- <sp-slider
157
- value="5"
158
- step="0.5"
159
- min="0"
160
- max="20"
161
- label="Awesomeness"
162
- ></sp-slider>
163
- <div id="styled-div">
164
- The background of this div should be blue
165
- </div>
166
- <sp-button
167
- ${tooltip(
168
- () => html`
169
- Click to open another popover.
170
- `
171
- )}
172
- ${trigger(
173
- () => html`
174
- <sp-popover placement="bottom" tip open>
175
- <sp-dialog size="s" no-divider>
176
- <div class="options-popover-content">
177
- Another Popover
178
- </div>
179
- </sp-dialog>
180
- </sp-popover>
181
- `,
182
- {
183
- triggerInteraction: "click",
184
- overlayOptions: {
185
- placement: "bottom"
186
- }
187
- }
188
- )}
189
- >
190
- Press Me
191
- </sp-button>
192
- </div>
193
- </sp-dialog>
194
- </sp-popover>
195
- `;
196
- return html`
197
- ${storyStyles}
198
- <sp-button
199
- variant="primary"
200
- ${tooltip(renderTooltip)}
201
- ${trigger(renderPopover, {
202
- open,
203
- triggerInteraction: triggerOn,
204
- overlayOptions: {
205
- placement,
206
- offset
207
- },
208
- insertionOptions: insertionOptions2
209
- })}
210
- >
211
- Show Popover
212
- </sp-button>
213
- `;
214
- };
215
- export const Default = ({ open } = {}) => {
216
- const renderPopover = () => html`
217
- <sp-popover>
218
- <sp-dialog no-divider>Popover content goes here</sp-dialog>
219
- </sp-popover>
220
- `;
221
- const options = typeof open !== "undefined" ? { open } : void 0;
222
- return html`
223
- <sp-button ${trigger(renderPopover, options)}>Open Popover</sp-button>
224
- `;
225
- };
226
- Default.swc_vrt = {
227
- skip: true
228
- };
229
- export const configured = (args) => template(args);
230
- configured.swc_vrt = {
231
- skip: true
232
- };
233
- export const insertionOptions = (args = {}) => html`
234
- ${template(args)}
235
- <div id="other-element"></div>
236
- `;
237
- insertionOptions.args = {
238
- insertionOptions: {
239
- el: () => document.querySelector("#other-element"),
240
- where: "afterbegin"
241
- }
242
- };
243
- insertionOptions.swc_vrt = {
244
- skip: true
245
- };
246
- class ManagedOverlayTrigger extends LitElement {
247
- constructor() {
248
- super(...arguments);
249
- this.isRenderOverlay = false;
250
- this.isOpenState = false;
251
- }
252
- render() {
253
- return html`
254
- <sp-button
255
- @click=${() => {
256
- this.isRenderOverlay = !this.isRenderOverlay;
257
- }}
258
- >
259
- Toggle Overlay Render Button
260
- </sp-button>
261
-
262
- <sp-button
263
- @click=${() => {
264
- this.isRenderOverlay = true;
265
- this.isOpenState = true;
266
- }}
267
- >
268
- Create Overlay Render Button And Open Overlay
269
- </sp-button>
270
-
271
- ${this.isRenderOverlay ? this.renderOverlayButton() : html``}
272
- `;
273
- }
274
- renderOverlayButton() {
275
- return html`
276
- <sp-button
277
- ?selected=${this.isOpenState}
278
- ${trigger(
279
- () => html`
280
- <sp-popover
281
- @sp-opened=${(event) => {
282
- if (event.target !== event.currentTarget) {
283
- return;
284
- }
285
- console.log("sp-opened");
286
- this.isOpenState = true;
287
- }}
288
- @sp-closed=${(event) => {
289
- if (event.target !== event.currentTarget) {
290
- return;
291
- }
292
- console.log("sp-closed");
293
- this.isOpenState = false;
294
- }}
295
- >
296
- <h1>My Test Popover</h1>
297
- </sp-popover>
298
- `,
299
- {
300
- triggerInteraction: "click",
301
- overlayOptions: { placement: "bottom-end" },
302
- open: this.isOpenState
303
- }
304
- )}
305
- >
306
- Toggle Popover
307
- </sp-button>
308
- `;
309
- }
310
- }
311
- __decorateClass([
312
- state()
313
- ], ManagedOverlayTrigger.prototype, "isRenderOverlay", 2);
314
- __decorateClass([
315
- state()
316
- ], ManagedOverlayTrigger.prototype, "isOpenState", 2);
317
- customElements.define("managed-overlay-trigger", ManagedOverlayTrigger);
318
- export const managedOverlayTrigger = () => html`
319
- <managed-overlay-trigger></managed-overlay-trigger>
320
- `;
321
- managedOverlayTrigger.swc_vrt = {
322
- skip: true
323
- };
324
- //# sourceMappingURL=overlay-directive.stories.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["overlay-directive.stories.ts"],
4
- "sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\nimport {\n html,\n LitElement,\n TemplateResult,\n} from '@spectrum-web-components/base';\nimport {\n OverlayContentTypes,\n OverlayOpenCloseDetail,\n Placement,\n TriggerInteractions,\n} from '@spectrum-web-components/overlay';\nimport '@spectrum-web-components/action-button/sp-action-button.js';\nimport '@spectrum-web-components/action-group/sp-action-group.js';\nimport '@spectrum-web-components/button/sp-button.js';\nimport '@spectrum-web-components/dialog/sp-dialog-wrapper.js';\nimport '@spectrum-web-components/field-label/sp-field-label.js';\nimport '@spectrum-web-components/icons-workflow/icons/sp-icon-magnify.js';\nimport '@spectrum-web-components/icons-workflow/icons/sp-icon-open-in.js';\nimport '@spectrum-web-components/overlay/overlay-trigger.js';\nimport {\n InsertionOptions,\n trigger,\n} from '@spectrum-web-components/overlay/src/overlay-trigger-directive.js';\n\nimport '@spectrum-web-components/dialog/sp-dialog.js';\nimport '@spectrum-web-components/picker/sp-picker.js';\nimport '@spectrum-web-components/menu/sp-menu.js';\nimport '@spectrum-web-components/menu/sp-menu-item.js';\nimport '@spectrum-web-components/menu/sp-menu-divider.js';\nimport '@spectrum-web-components/popover/sp-popover.js';\nimport '@spectrum-web-components/slider/sp-slider.js';\nimport '@spectrum-web-components/radio/sp-radio.js';\nimport '@spectrum-web-components/radio/sp-radio-group.js';\nimport '@spectrum-web-components/tooltip/sp-tooltip.js';\nimport '@spectrum-web-components/theme/sp-theme.js';\nimport '@spectrum-web-components/theme/src/themes.js';\nimport '@spectrum-web-components/accordion/sp-accordion.js';\nimport '@spectrum-web-components/accordion/sp-accordion-item.js';\nimport '../../../projects/story-decorator/src/types.js';\n\nimport './overlay-story-components.js';\nimport { tooltip } from '@spectrum-web-components/tooltip/src/tooltip-directive.js';\nimport { ifDefined } from '@spectrum-web-components/base/src/directives.js';\nimport { state } from '@spectrum-web-components/base/src/decorators.js';\n\nconst storyStyles = html`\n <style>\n html,\n body,\n #root,\n #root-inner,\n sp-story-decorator {\n height: 100%;\n margin: 0;\n }\n\n sp-story-decorator::part(container) {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n align-items: center;\n justify-content: center;\n }\n\n overlay-trigger {\n flex: none;\n }\n\n #styled-div {\n background-color: var(--styled-div-background-color, blue);\n color: white;\n padding: 4px 10px;\n margin-bottom: 10px;\n }\n\n #inner-trigger {\n display: inline-block;\n }\n </style>\n`;\n\nexport default {\n title: 'Overlay Directive',\n argTypes: {\n offset: { control: 'number' },\n placement: {\n control: {\n type: 'inline-radio',\n options: [\n 'top',\n 'top-start',\n 'top-end',\n 'bottom',\n 'bottom-start',\n 'bottom-end',\n 'left',\n 'left-start',\n 'left-end',\n 'right',\n 'right-start',\n 'right-end',\n 'auto',\n 'auto-start',\n 'auto-end',\n 'none',\n ],\n },\n },\n type: {\n control: {\n type: 'inline-radio',\n options: ['modal', 'replace', 'inline'],\n },\n },\n colorStop: {\n control: {\n type: 'inline-radio',\n options: ['light', 'dark'],\n },\n },\n open: {\n name: 'open',\n type: { name: 'boolean', required: false },\n description: 'Whether the second accordion item is open.',\n table: {\n type: { summary: 'boolean' },\n defaultValue: { summary: false },\n },\n control: {\n type: 'boolean',\n },\n },\n },\n args: {\n placement: 'bottom',\n offset: 0,\n colorStop: 'light',\n triggerOn: 'click',\n open: false,\n },\n};\n\ninterface Properties {\n placement?: Placement;\n offset?: number;\n triggerOn?: OverlayContentTypes;\n type?: Extract<TriggerInteractions, 'inline' | 'modal' | 'replace'>;\n insertionOptions?: InsertionOptions;\n open?: boolean;\n}\n\nconst template = ({\n placement,\n offset,\n open,\n triggerOn,\n insertionOptions,\n}: Properties): TemplateResult => {\n const renderTooltip = (): TemplateResult => html`\n Click to open a popover.\n `;\n const renderPopover = (): TemplateResult => html`\n <sp-popover placement=\"${ifDefined(placement)}\" tip>\n <sp-dialog no-divider>\n <div class=\"options-popover-content\">\n <sp-slider\n value=\"5\"\n step=\"0.5\"\n min=\"0\"\n max=\"20\"\n label=\"Awesomeness\"\n ></sp-slider>\n <div id=\"styled-div\">\n The background of this div should be blue\n </div>\n <sp-button\n ${tooltip(\n () => html`\n Click to open another popover.\n `\n )}\n ${trigger(\n () => html`\n <sp-popover placement=\"bottom\" tip open>\n <sp-dialog size=\"s\" no-divider>\n <div class=\"options-popover-content\">\n Another Popover\n </div>\n </sp-dialog>\n </sp-popover>\n `,\n {\n triggerInteraction: 'click',\n overlayOptions: {\n placement: 'bottom',\n },\n }\n )}\n >\n Press Me\n </sp-button>\n </div>\n </sp-dialog>\n </sp-popover>\n `;\n return html`\n ${storyStyles}\n <sp-button\n variant=\"primary\"\n ${tooltip(renderTooltip)}\n ${trigger(renderPopover, {\n open,\n triggerInteraction: triggerOn,\n overlayOptions: {\n placement,\n offset,\n },\n insertionOptions: insertionOptions,\n })}\n >\n Show Popover\n </sp-button>\n `;\n};\n\nexport const Default = ({ open }: Properties = {}): TemplateResult => {\n const renderPopover = (): TemplateResult => html`\n <sp-popover>\n <sp-dialog no-divider>Popover content goes here</sp-dialog>\n </sp-popover>\n `;\n const options = typeof open !== 'undefined' ? { open } : undefined;\n return html`\n <sp-button ${trigger(renderPopover, options)}>Open Popover</sp-button>\n `;\n};\n\nDefault.swc_vrt = {\n skip: true,\n};\n\nexport const configured = (args: Properties): TemplateResult => template(args);\n\nconfigured.swc_vrt = {\n skip: true,\n};\n\nexport const insertionOptions = (args: Properties = {}): TemplateResult => html`\n ${template(args)}\n <div id=\"other-element\"></div>\n`;\n\ninsertionOptions.args = {\n insertionOptions: {\n el: () => document.querySelector('#other-element'),\n where: 'afterbegin',\n },\n} as Properties;\n\ninsertionOptions.swc_vrt = {\n skip: true,\n};\n\nclass ManagedOverlayTrigger extends LitElement {\n @state()\n private isRenderOverlay = false;\n\n @state()\n private isOpenState = false;\n\n protected override render(): TemplateResult {\n return html`\n <sp-button\n @click=${() => {\n this.isRenderOverlay = !this.isRenderOverlay;\n }}\n >\n Toggle Overlay Render Button\n </sp-button>\n\n <sp-button\n @click=${() => {\n this.isRenderOverlay = true;\n this.isOpenState = true;\n }}\n >\n Create Overlay Render Button And Open Overlay\n </sp-button>\n\n ${this.isRenderOverlay ? this.renderOverlayButton() : html``}\n `;\n }\n\n private renderOverlayButton(): TemplateResult {\n return html`\n <sp-button\n ?selected=${this.isOpenState}\n ${trigger(\n () => html`\n <sp-popover\n @sp-opened=${(\n event: CustomEvent<OverlayOpenCloseDetail>\n ) => {\n if (event.target !== event.currentTarget) {\n return;\n }\n console.log('sp-opened');\n this.isOpenState = true;\n }}\n @sp-closed=${(\n event: CustomEvent<OverlayOpenCloseDetail>\n ) => {\n if (event.target !== event.currentTarget) {\n return;\n }\n console.log('sp-closed');\n this.isOpenState = false;\n }}\n >\n <h1>My Test Popover</h1>\n </sp-popover>\n `,\n {\n triggerInteraction: 'click',\n overlayOptions: { placement: 'bottom-end' },\n open: this.isOpenState,\n }\n )}\n >\n Toggle Popover\n </sp-button>\n `;\n }\n}\n\ncustomElements.define('managed-overlay-trigger', ManagedOverlayTrigger);\n\nexport const managedOverlayTrigger = (): TemplateResult => html`\n <managed-overlay-trigger></managed-overlay-trigger>\n`;\n\nmanagedOverlayTrigger.swc_vrt = {\n skip: true,\n};\n"],
5
- "mappings": "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",
6
- "names": ["insertionOptions"]
7
- }