@spectrum-web-components/overlay 0.30.0 → 0.30.1-overlay.30

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 (156) hide show
  1. package/package.json +50 -21
  2. package/sp-overlay.d.ts +6 -0
  3. package/sp-overlay.dev.js +5 -0
  4. package/{active-overlay.dev.js.map → sp-overlay.dev.js.map} +3 -3
  5. package/sp-overlay.js +2 -0
  6. package/{active-overlay.js.map → sp-overlay.js.map} +4 -4
  7. package/src/Overlay.d.ts +28 -0
  8. package/src/Overlay.dev.js +87 -0
  9. package/src/Overlay.dev.js.map +7 -0
  10. package/src/Overlay.js +2 -0
  11. package/src/Overlay.js.map +7 -0
  12. package/src/OverlayBase.d.ts +117 -0
  13. package/src/OverlayBase.dev.js +681 -0
  14. package/src/OverlayBase.dev.js.map +7 -0
  15. package/src/OverlayBase.js +17 -0
  16. package/src/OverlayBase.js.map +7 -0
  17. package/src/OverlayDialog.d.ts +8 -0
  18. package/src/OverlayDialog.dev.js +150 -0
  19. package/src/OverlayDialog.dev.js.map +7 -0
  20. package/src/OverlayDialog.js +2 -0
  21. package/src/OverlayDialog.js.map +7 -0
  22. package/src/OverlayNoPopover.d.ts +8 -0
  23. package/src/OverlayNoPopover.dev.js +120 -0
  24. package/src/OverlayNoPopover.dev.js.map +7 -0
  25. package/src/OverlayNoPopover.js +2 -0
  26. package/src/OverlayNoPopover.js.map +7 -0
  27. package/src/OverlayPopover.d.ts +8 -0
  28. package/src/OverlayPopover.dev.js +167 -0
  29. package/src/OverlayPopover.dev.js.map +7 -0
  30. package/src/OverlayPopover.js +2 -0
  31. package/src/OverlayPopover.js.map +7 -0
  32. package/src/OverlayStack.d.ts +24 -0
  33. package/src/OverlayStack.dev.js +125 -0
  34. package/src/OverlayStack.dev.js.map +7 -0
  35. package/src/OverlayStack.js +2 -0
  36. package/src/OverlayStack.js.map +7 -0
  37. package/src/OverlayTrigger.d.ts +19 -31
  38. package/src/OverlayTrigger.dev.js +116 -245
  39. package/src/OverlayTrigger.dev.js.map +3 -3
  40. package/src/OverlayTrigger.js +52 -22
  41. package/src/OverlayTrigger.js.map +3 -3
  42. package/src/PlacementController.d.ts +36 -0
  43. package/src/PlacementController.dev.js +193 -0
  44. package/src/PlacementController.dev.js.map +7 -0
  45. package/src/PlacementController.js +2 -0
  46. package/src/PlacementController.js.map +7 -0
  47. package/src/VirtualTrigger.dev.js +0 -2
  48. package/src/VirtualTrigger.dev.js.map +2 -2
  49. package/src/VirtualTrigger.js +1 -1
  50. package/src/VirtualTrigger.js.map +3 -3
  51. package/src/fullSizePlugin.d.ts +12 -0
  52. package/src/fullSizePlugin.dev.js +39 -0
  53. package/src/fullSizePlugin.dev.js.map +7 -0
  54. package/src/fullSizePlugin.js +2 -0
  55. package/src/fullSizePlugin.js.map +7 -0
  56. package/src/index.d.ts +2 -3
  57. package/src/index.dev.js +2 -3
  58. package/src/index.dev.js.map +2 -2
  59. package/src/index.js +1 -1
  60. package/src/index.js.map +2 -2
  61. package/src/loader.d.ts +2 -2
  62. package/src/loader.dev.js +2 -19
  63. package/src/loader.dev.js.map +2 -2
  64. package/src/loader.js +1 -1
  65. package/src/loader.js.map +3 -3
  66. package/src/overlay-base.css.dev.js +9 -0
  67. package/src/overlay-base.css.dev.js.map +7 -0
  68. package/src/overlay-base.css.js +6 -0
  69. package/src/overlay-base.css.js.map +7 -0
  70. package/src/overlay-trigger.css.dev.js +1 -1
  71. package/src/overlay-trigger.css.dev.js.map +1 -1
  72. package/src/overlay-trigger.css.js +1 -1
  73. package/src/overlay-trigger.css.js.map +1 -1
  74. package/src/overlay-types.d.ts +3 -3
  75. package/src/overlay-types.dev.js +1 -0
  76. package/src/overlay-types.dev.js.map +3 -3
  77. package/src/overlay-types.js +1 -1
  78. package/src/overlay-types.js.map +3 -3
  79. package/src/placement.d.ts +21 -0
  80. package/src/placement.dev.js +111 -0
  81. package/src/placement.dev.js.map +7 -0
  82. package/src/placement.js +2 -0
  83. package/src/placement.js.map +7 -0
  84. package/src/topLayerOverTransforms.d.ts +22 -0
  85. package/src/topLayerOverTransforms.dev.js +165 -0
  86. package/src/topLayerOverTransforms.dev.js.map +7 -0
  87. package/src/topLayerOverTransforms.js +2 -0
  88. package/src/topLayerOverTransforms.js.map +7 -0
  89. package/stories/overlay-element.stories.js +230 -0
  90. package/stories/overlay-element.stories.js.map +7 -0
  91. package/stories/overlay-story-components.js +9 -8
  92. package/stories/overlay-story-components.js.map +2 -2
  93. package/stories/overlay.stories.js +672 -646
  94. package/stories/overlay.stories.js.map +2 -2
  95. package/sync/overlay-trigger.d.ts +4 -0
  96. package/sync/overlay-trigger.dev.js +1 -4
  97. package/sync/overlay-trigger.dev.js.map +2 -2
  98. package/sync/overlay-trigger.js +1 -1
  99. package/sync/overlay-trigger.js.map +3 -3
  100. package/test/benchmark/basic-test.js +1 -1
  101. package/test/benchmark/basic-test.js.map +1 -1
  102. package/test/index.js +422 -375
  103. package/test/index.js.map +3 -3
  104. package/test/overlay-element.test-vrt.js +5 -0
  105. package/test/overlay-element.test-vrt.js.map +7 -0
  106. package/test/overlay-element.test.js +664 -0
  107. package/test/overlay-element.test.js.map +7 -0
  108. package/test/overlay-lifecycle.test.js +34 -106
  109. package/test/overlay-lifecycle.test.js.map +2 -2
  110. package/test/overlay-trigger-click.test.js +11 -5
  111. package/test/overlay-trigger-click.test.js.map +2 -2
  112. package/test/overlay-trigger-extended.test.js +1 -6
  113. package/test/overlay-trigger-extended.test.js.map +2 -2
  114. package/test/overlay-trigger-hover-click.test.js +22 -22
  115. package/test/overlay-trigger-hover-click.test.js.map +2 -2
  116. package/test/overlay-trigger-hover.test.js +40 -34
  117. package/test/overlay-trigger-hover.test.js.map +2 -2
  118. package/test/overlay-trigger-longpress.test.js +98 -80
  119. package/test/overlay-trigger-longpress.test.js.map +2 -2
  120. package/test/overlay-trigger-sync.test.js +1 -1
  121. package/test/overlay-trigger-sync.test.js.map +2 -2
  122. package/test/overlay-trigger.test.js +1 -1
  123. package/test/overlay-trigger.test.js.map +2 -2
  124. package/test/overlay-update.test.js +4 -4
  125. package/test/overlay-update.test.js.map +2 -2
  126. package/test/overlay.test.js +237 -235
  127. package/test/overlay.test.js.map +3 -3
  128. package/active-overlay.d.ts +0 -6
  129. package/active-overlay.dev.js +0 -5
  130. package/active-overlay.js +0 -2
  131. package/custom-elements.json +0 -1203
  132. package/src/ActiveOverlay.d.ts +0 -84
  133. package/src/ActiveOverlay.dev.js +0 -517
  134. package/src/ActiveOverlay.dev.js.map +0 -7
  135. package/src/ActiveOverlay.js +0 -16
  136. package/src/ActiveOverlay.js.map +0 -7
  137. package/src/active-overlay.css.dev.js +0 -13
  138. package/src/active-overlay.css.dev.js.map +0 -7
  139. package/src/active-overlay.css.js +0 -10
  140. package/src/active-overlay.css.js.map +0 -7
  141. package/src/overlay-stack.d.ts +0 -50
  142. package/src/overlay-stack.dev.js +0 -514
  143. package/src/overlay-stack.dev.js.map +0 -7
  144. package/src/overlay-stack.js +0 -33
  145. package/src/overlay-stack.js.map +0 -7
  146. package/src/overlay-utils.d.ts +0 -3
  147. package/src/overlay-utils.dev.js +0 -31
  148. package/src/overlay-utils.dev.js.map +0 -7
  149. package/src/overlay-utils.js +0 -2
  150. package/src/overlay-utils.js.map +0 -7
  151. package/src/overlay.d.ts +0 -59
  152. package/src/overlay.dev.js +0 -127
  153. package/src/overlay.dev.js.map +0 -7
  154. package/src/overlay.js +0 -2
  155. package/src/overlay.js.map +0 -7
  156. /package/src/{active-overlay.css.d.ts → overlay-base.css.d.ts} +0 -0
package/src/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";export*from"./overlay.js";export*from"./OverlayTrigger.js";export*from"./overlay-types.js";export*from"./ActiveOverlay.js";export*from"./loader.js";export*from"./VirtualTrigger.js";
1
+ "use strict";export*from"./Overlay.js";export*from"./OverlayTrigger.js";export*from"./overlay-types.js";export*from"./VirtualTrigger.js";export*from"./loader.js";
2
2
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["index.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\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*/\nexport * from './overlay.js';\nexport * from './OverlayTrigger.js';\nexport * from './overlay-types.js';\nexport * from './ActiveOverlay.js';\nexport * from './loader.js';\nexport * from './VirtualTrigger.js';\n"],
5
- "mappings": "aAWA,WAAc,eACd,WAAc,sBACd,WAAc,qBACd,WAAc,qBACd,WAAc,cACd,WAAc",
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\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*/\nexport * from './Overlay.js';\nexport * from './OverlayTrigger.js';\nexport * from './overlay-types.js';\nexport * from './VirtualTrigger.js';\nexport * from './loader.js';\n"],
5
+ "mappings": "aAWA,WAAc,eACd,WAAc,sBACd,WAAc,qBACd,WAAc,sBACd,WAAc",
6
6
  "names": []
7
7
  }
package/src/loader.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import type { OverlayOptions, TriggerInteractions } from './overlay-types';
2
- export declare const openOverlay: (target: HTMLElement, interaction: TriggerInteractions, content: HTMLElement, options: OverlayOptions) => Promise<() => void>;
1
+ import { Overlay } from './Overlay.js';
2
+ export declare const openOverlay: typeof Overlay.open;
package/src/loader.dev.js CHANGED
@@ -1,21 +1,4 @@
1
1
  "use strict";
2
- export const openOverlay = async (target, interaction, content, options) => {
3
- if (true) {
4
- var ignoreDeprecations = window.__swc.ignoreWarningLevels.deprecation;
5
- }
6
- const { Overlay } = await import("@spectrum-web-components/overlay/src/overlay.js");
7
- if (true) {
8
- if (
9
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
10
- // @ts-ignore
11
- ignoreDeprecations && !window.__swc.ignoreWarningLevels.deprecation
12
- ) {
13
- window.__swc.ignoreWarningLevels.deprecation = ignoreDeprecations;
14
- requestAnimationFrame(() => {
15
- window.__swc.ignoreWarningLevels.deprecation = false;
16
- });
17
- }
18
- }
19
- return Overlay.open(target, interaction, content, options);
20
- };
2
+ import { Overlay } from "./Overlay.dev.js";
3
+ export const openOverlay = Overlay.open;
21
4
  //# sourceMappingURL=loader.dev.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["loader.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\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 type { OverlayOptions, TriggerInteractions } from './overlay-types';\n\nexport const openOverlay = async (\n target: HTMLElement,\n interaction: TriggerInteractions,\n content: HTMLElement,\n options: OverlayOptions\n): Promise<() => void> => {\n if (window.__swc.DEBUG) {\n // eslint-disable-next-line no-var\n var ignoreDeprecations = window.__swc.ignoreWarningLevels.deprecation;\n }\n const { Overlay } = await import(\n '@spectrum-web-components/overlay/src/overlay.js'\n );\n if (window.__swc.DEBUG) {\n if (\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n ignoreDeprecations &&\n !window.__swc.ignoreWarningLevels.deprecation\n ) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n window.__swc.ignoreWarningLevels.deprecation = ignoreDeprecations;\n requestAnimationFrame(() => {\n window.__swc.ignoreWarningLevels.deprecation = false;\n });\n }\n }\n return Overlay.open(target, interaction, content, options);\n};\n"],
5
- "mappings": ";AAcO,aAAM,cAAc,OACvB,QACA,aACA,SACA,YACsB;AACtB,MAAI,MAAoB;AAEpB,QAAI,qBAAqB,OAAO,MAAM,oBAAoB;AAAA,EAC9D;AACA,QAAM,EAAE,QAAQ,IAAI,MAAM,OACtB,iDACJ;AACA,MAAI,MAAoB;AACpB;AAAA;AAAA;AAAA,MAGI,sBACA,CAAC,OAAO,MAAM,oBAAoB;AAAA,MACpC;AAGE,aAAO,MAAM,oBAAoB,cAAc;AAC/C,4BAAsB,MAAM;AACxB,eAAO,MAAM,oBAAoB,cAAc;AAAA,MACnD,CAAC;AAAA,IACL;AAAA,EACJ;AACA,SAAO,QAAQ,KAAK,QAAQ,aAAa,SAAS,OAAO;AAC7D;",
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 { Overlay } from './Overlay.dev.js'\n\nexport const openOverlay = Overlay.open;\n"],
5
+ "mappings": ";AAYA,SAAS,eAAe;AAEjB,aAAM,cAAc,QAAQ;",
6
6
  "names": []
7
7
  }
package/src/loader.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";export const openOverlay=async(e,n,i,r)=>{if(!1)var t;const{Overlay:o}=await import("@spectrum-web-components/overlay/src/overlay.js");return o.open(e,n,i,r)};
1
+ "use strict";import{Overlay as o}from"./Overlay.js";export const openOverlay=o.open;
2
2
  //# sourceMappingURL=loader.js.map
package/src/loader.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["loader.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\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 type { OverlayOptions, TriggerInteractions } from './overlay-types';\n\nexport const openOverlay = async (\n target: HTMLElement,\n interaction: TriggerInteractions,\n content: HTMLElement,\n options: OverlayOptions\n): Promise<() => void> => {\n if (window.__swc.DEBUG) {\n // eslint-disable-next-line no-var\n var ignoreDeprecations = window.__swc.ignoreWarningLevels.deprecation;\n }\n const { Overlay } = await import(\n '@spectrum-web-components/overlay/src/overlay.js'\n );\n if (window.__swc.DEBUG) {\n if (\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n ignoreDeprecations &&\n !window.__swc.ignoreWarningLevels.deprecation\n ) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n window.__swc.ignoreWarningLevels.deprecation = ignoreDeprecations;\n requestAnimationFrame(() => {\n window.__swc.ignoreWarningLevels.deprecation = false;\n });\n }\n }\n return Overlay.open(target, interaction, content, options);\n};\n"],
5
- "mappings": "aAcO,aAAM,YAAc,MACvBA,EACAC,EACAC,EACAC,IACsB,CACtB,GAAI,GAEA,IAAIC,EAER,KAAM,CAAE,QAAAC,CAAQ,EAAI,KAAM,QACtB,iDACJ,EAgBA,OAAOA,EAAQ,KAAKL,EAAQC,EAAaC,EAASC,CAAO,CAC7D",
6
- "names": ["target", "interaction", "content", "options", "ignoreDeprecations", "Overlay"]
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 { Overlay } from './Overlay.js';\n\nexport const openOverlay = Overlay.open;\n"],
5
+ "mappings": "aAYA,OAAS,WAAAA,MAAe,eAEjB,aAAM,YAAcA,EAAQ",
6
+ "names": ["Overlay"]
7
7
  }
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ import { css } from "@spectrum-web-components/base";
3
+ const styles = css`
4
+ :host{--swc-overlay-animation-distance:var(
5
+ --spectrum-picker-m-texticon-popover-offset-y,var(--spectrum-global-dimension-size-75)
6
+ )}dialog{background:none;border:0;box-sizing:border-box;display:flex;margin:0;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);max-width:calc(100vw - 16px);opacity:1!important;overflow:visible;padding:0;position:fixed}:host(:not([open])) dialog{left:0;pointer-events:none;top:0;transform:translate(-999em,-999em)}dialog::backdrop{display:none}dialog>div{width:100%}::slotted(sp-popover){position:static}dialog[actual-placement*=top]{margin-top:var(--swc-overlay-animation-distance);padding-block:var(--swc-overlay-animation-distance)}dialog[actual-placement*=right]{margin-left:calc(var(--swc-overlay-animation-distance)*-1);padding-inline:var(--swc-overlay-animation-distance)}dialog[actual-placement*=bottom]{margin-top:calc(var(--swc-overlay-animation-distance)*-1);padding-block:var(--swc-overlay-animation-distance)}dialog[actual-placement*=left]{margin-left:var(--swc-overlay-animation-distance);padding-inline:var(--swc-overlay-animation-distance)}slot[name=longpress-describedby-descriptor]{display:none}@supports selector(:open){dialog{opacity:0}dialog:open{opacity:1}}@supports selector(:popover-open){dialog{opacity:0}dialog:popover-open{opacity:1}}@supports (not selector(:open)) and (not selector(:popover-open)){:host:not([open]) dialog{pointer-events:none}dialog[actual-placement]{z-index:var(--swc-overlay-z-index)}}
7
+ `;
8
+ export default styles;
9
+ //# sourceMappingURL=overlay-base.css.dev.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["overlay-base.css.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*/\nimport { css } from '@spectrum-web-components/base';\nconst styles = css`\n:host{--swc-overlay-animation-distance:var(\n--spectrum-picker-m-texticon-popover-offset-y,var(--spectrum-global-dimension-size-75)\n)}dialog{background:none;border:0;box-sizing:border-box;display:flex;margin:0;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);max-width:calc(100vw - 16px);opacity:1!important;overflow:visible;padding:0;position:fixed}:host(:not([open])) dialog{left:0;pointer-events:none;top:0;transform:translate(-999em,-999em)}dialog::backdrop{display:none}dialog>div{width:100%}::slotted(sp-popover){position:static}dialog[actual-placement*=top]{margin-top:var(--swc-overlay-animation-distance);padding-block:var(--swc-overlay-animation-distance)}dialog[actual-placement*=right]{margin-left:calc(var(--swc-overlay-animation-distance)*-1);padding-inline:var(--swc-overlay-animation-distance)}dialog[actual-placement*=bottom]{margin-top:calc(var(--swc-overlay-animation-distance)*-1);padding-block:var(--swc-overlay-animation-distance)}dialog[actual-placement*=left]{margin-left:var(--swc-overlay-animation-distance);padding-inline:var(--swc-overlay-animation-distance)}slot[name=longpress-describedby-descriptor]{display:none}@supports selector(:open){dialog{opacity:0}dialog:open{opacity:1}}@supports selector(:popover-open){dialog{opacity:0}dialog:popover-open{opacity:1}}@supports (not selector(:open)) and (not selector(:popover-open)){:host:not([open]) dialog{pointer-events:none}dialog[actual-placement]{z-index:var(--swc-overlay-z-index)}}\n`;\nexport default styles;"],
5
+ "mappings": ";AAWA,SAAS,WAAW;AACpB,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAKf,eAAe;",
6
+ "names": []
7
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";import{css as a}from"@spectrum-web-components/base";const o=a`
2
+ :host{--swc-overlay-animation-distance:var(
3
+ --spectrum-picker-m-texticon-popover-offset-y,var(--spectrum-global-dimension-size-75)
4
+ )}dialog{background:none;border:0;box-sizing:border-box;display:flex;margin:0;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);max-width:calc(100vw - 16px);opacity:1!important;overflow:visible;padding:0;position:fixed}:host(:not([open])) dialog{left:0;pointer-events:none;top:0;transform:translate(-999em,-999em)}dialog::backdrop{display:none}dialog>div{width:100%}::slotted(sp-popover){position:static}dialog[actual-placement*=top]{margin-top:var(--swc-overlay-animation-distance);padding-block:var(--swc-overlay-animation-distance)}dialog[actual-placement*=right]{margin-left:calc(var(--swc-overlay-animation-distance)*-1);padding-inline:var(--swc-overlay-animation-distance)}dialog[actual-placement*=bottom]{margin-top:calc(var(--swc-overlay-animation-distance)*-1);padding-block:var(--swc-overlay-animation-distance)}dialog[actual-placement*=left]{margin-left:var(--swc-overlay-animation-distance);padding-inline:var(--swc-overlay-animation-distance)}slot[name=longpress-describedby-descriptor]{display:none}@supports selector(:open){dialog{opacity:0}dialog:open{opacity:1}}@supports selector(:popover-open){dialog{opacity:0}dialog:popover-open{opacity:1}}@supports (not selector(:open)) and (not selector(:popover-open)){:host:not([open]) dialog{pointer-events:none}dialog[actual-placement]{z-index:var(--swc-overlay-z-index)}}
5
+ `;export default o;
6
+ //# sourceMappingURL=overlay-base.css.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["overlay-base.css.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*/\nimport { css } from '@spectrum-web-components/base';\nconst styles = css`\n:host{--swc-overlay-animation-distance:var(\n--spectrum-picker-m-texticon-popover-offset-y,var(--spectrum-global-dimension-size-75)\n)}dialog{background:none;border:0;box-sizing:border-box;display:flex;margin:0;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);max-width:calc(100vw - 16px);opacity:1!important;overflow:visible;padding:0;position:fixed}:host(:not([open])) dialog{left:0;pointer-events:none;top:0;transform:translate(-999em,-999em)}dialog::backdrop{display:none}dialog>div{width:100%}::slotted(sp-popover){position:static}dialog[actual-placement*=top]{margin-top:var(--swc-overlay-animation-distance);padding-block:var(--swc-overlay-animation-distance)}dialog[actual-placement*=right]{margin-left:calc(var(--swc-overlay-animation-distance)*-1);padding-inline:var(--swc-overlay-animation-distance)}dialog[actual-placement*=bottom]{margin-top:calc(var(--swc-overlay-animation-distance)*-1);padding-block:var(--swc-overlay-animation-distance)}dialog[actual-placement*=left]{margin-left:var(--swc-overlay-animation-distance);padding-inline:var(--swc-overlay-animation-distance)}slot[name=longpress-describedby-descriptor]{display:none}@supports selector(:open){dialog{opacity:0}dialog:open{opacity:1}}@supports selector(:popover-open){dialog{opacity:0}dialog:popover-open{opacity:1}}@supports (not selector(:open)) and (not selector(:popover-open)){:host:not([open]) dialog{pointer-events:none}dialog[actual-placement]{z-index:var(--swc-overlay-z-index)}}\n`;\nexport default styles;"],
5
+ "mappings": "aAWA,OAAS,OAAAA,MAAW,gCACpB,MAAMC,EAASD;AAAA;AAAA;AAAA;AAAA,EAKf,eAAeC",
6
+ "names": ["css", "styles"]
7
+ }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  import { css } from "@spectrum-web-components/base";
3
3
  const styles = css`
4
- :host([disabled]) ::slotted([slot=trigger]){pointer-events:none}#overlay-content slot{display:none}
4
+ :host([disabled]) ::slotted([slot=trigger]){pointer-events:none}
5
5
  `;
6
6
  export default styles;
7
7
  //# sourceMappingURL=overlay-trigger.css.dev.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["overlay-trigger.css.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*/\nimport { css } from '@spectrum-web-components/base';\nconst styles = css`\n:host([disabled]) ::slotted([slot=trigger]){pointer-events:none}#overlay-content slot{display:none}\n`;\nexport default styles;"],
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*/\nimport { css } from '@spectrum-web-components/base';\nconst styles = css`\n:host([disabled]) ::slotted([slot=trigger]){pointer-events:none}\n`;\nexport default styles;"],
5
5
  "mappings": ";AAWA,SAAS,WAAW;AACpB,MAAM,SAAS;AAAA;AAAA;AAGf,eAAe;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,4 @@
1
1
  "use strict";import{css as t}from"@spectrum-web-components/base";const e=t`
2
- :host([disabled]) ::slotted([slot=trigger]){pointer-events:none}#overlay-content slot{display:none}
2
+ :host([disabled]) ::slotted([slot=trigger]){pointer-events:none}
3
3
  `;export default e;
4
4
  //# sourceMappingURL=overlay-trigger.css.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["overlay-trigger.css.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*/\nimport { css } from '@spectrum-web-components/base';\nconst styles = css`\n:host([disabled]) ::slotted([slot=trigger]){pointer-events:none}#overlay-content slot{display:none}\n`;\nexport default styles;"],
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*/\nimport { css } from '@spectrum-web-components/base';\nconst styles = css`\n:host([disabled]) ::slotted([slot=trigger]){pointer-events:none}\n`;\nexport default styles;"],
5
5
  "mappings": "aAWA,OAAS,OAAAA,MAAW,gCACpB,MAAMC,EAASD;AAAA;AAAA,EAGf,eAAeC",
6
6
  "names": ["css", "styles"]
7
7
  }
@@ -1,6 +1,7 @@
1
1
  import type { ThemeData } from '@spectrum-web-components/theme/src/Theme.js';
2
- import type { Placement as FloatingUIPlacement } from '@floating-ui/dom';
2
+ import type { Placement } from '@floating-ui/dom';
3
3
  import type { VirtualTrigger } from './VirtualTrigger.js';
4
+ export { Placement };
4
5
  export declare type TriggerInteractions = 'click' | 'longpress' | 'hover' | 'custom' | 'replace' | 'inline' | 'modal';
5
6
  export declare type OverlayTriggerInteractions = Extract<TriggerInteractions, 'inline' | 'modal' | 'replace'>;
6
7
  export interface OverlayOpenDetail {
@@ -35,13 +36,12 @@ export interface OverlayDisplayQueryDetail {
35
36
  overlayRootElement?: HTMLElement;
36
37
  overlayContentTipElement?: HTMLElement;
37
38
  }
38
- export declare type Placement = FloatingUIPlacement | 'none';
39
39
  export declare type OverlayOptions = {
40
40
  root?: HTMLElement;
41
41
  delayed?: boolean;
42
42
  placement?: Placement;
43
43
  offset?: number;
44
- receivesFocus?: 'auto';
44
+ receivesFocus?: 'true' | 'false' | 'auto';
45
45
  notImmediatelyClosable?: boolean;
46
46
  abortPromise?: Promise<boolean>;
47
47
  virtualTrigger?: VirtualTrigger;
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
+ export {};
2
3
  //# sourceMappingURL=overlay-types.dev.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
3
+ "sources": ["overlay-types.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\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 type { ThemeData } from '@spectrum-web-components/theme/src/Theme.js';\nimport type { Placement } from '@floating-ui/dom';\nimport type { VirtualTrigger } from './VirtualTrigger.dev.js'\n\nexport { Placement };\n\nexport type TriggerInteractions =\n | 'click'\n | 'longpress'\n | 'hover'\n | 'custom'\n | 'replace'\n | 'inline'\n | 'modal';\n\nexport type OverlayTriggerInteractions = Extract<\n TriggerInteractions,\n 'inline' | 'modal' | 'replace'\n>;\n\nexport interface OverlayOpenDetail {\n content: HTMLElement;\n contentTip?: HTMLElement;\n delayed: boolean;\n offset: number;\n skidding?: number;\n placement?: Placement;\n receivesFocus?: 'auto';\n virtualTrigger?: VirtualTrigger;\n trigger: HTMLElement;\n root?: HTMLElement;\n interaction: TriggerInteractions;\n theme: ThemeData;\n notImmediatelyClosable?: boolean;\n abortPromise?: Promise<boolean>;\n}\n\nexport interface OverlayOpenCloseDetail {\n interaction: TriggerInteractions;\n reason?: 'external-click';\n}\n\nexport interface OverlayCloseReasonDetail {\n reason?: 'external-click';\n}\n\n/**\n * Used, via an event, to query details about how an element should be shown in\n * an overlay\n */\nexport interface OverlayDisplayQueryDetail {\n overlayRootName?: string;\n overlayRootElement?: HTMLElement;\n overlayContentTipElement?: HTMLElement;\n}\n\nexport type OverlayOptions = {\n root?: HTMLElement;\n delayed?: boolean;\n placement?: Placement;\n offset?: number;\n receivesFocus?: 'true' | 'false' | 'auto';\n notImmediatelyClosable?: boolean;\n abortPromise?: Promise<boolean>;\n virtualTrigger?: VirtualTrigger;\n};\n\ndeclare global {\n interface GlobalEventHandlersEventMap {\n 'sp-overlay-query': CustomEvent<OverlayDisplayQueryDetail>;\n 'sp-open': CustomEvent<OverlayOpenCloseDetail>;\n 'sp-close': CustomEvent<OverlayOpenCloseDetail>;\n }\n}\n"],
5
+ "mappings": ";AAgBA;",
6
6
  "names": []
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";
1
+ "use strict";export{};
2
2
  //# sourceMappingURL=overlay-types.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": [],
4
- "sourcesContent": [],
5
- "mappings": "",
3
+ "sources": ["overlay-types.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\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 type { ThemeData } from '@spectrum-web-components/theme/src/Theme.js';\nimport type { Placement } from '@floating-ui/dom';\nimport type { VirtualTrigger } from './VirtualTrigger.js';\n\nexport { Placement };\n\nexport type TriggerInteractions =\n | 'click'\n | 'longpress'\n | 'hover'\n | 'custom'\n | 'replace'\n | 'inline'\n | 'modal';\n\nexport type OverlayTriggerInteractions = Extract<\n TriggerInteractions,\n 'inline' | 'modal' | 'replace'\n>;\n\nexport interface OverlayOpenDetail {\n content: HTMLElement;\n contentTip?: HTMLElement;\n delayed: boolean;\n offset: number;\n skidding?: number;\n placement?: Placement;\n receivesFocus?: 'auto';\n virtualTrigger?: VirtualTrigger;\n trigger: HTMLElement;\n root?: HTMLElement;\n interaction: TriggerInteractions;\n theme: ThemeData;\n notImmediatelyClosable?: boolean;\n abortPromise?: Promise<boolean>;\n}\n\nexport interface OverlayOpenCloseDetail {\n interaction: TriggerInteractions;\n reason?: 'external-click';\n}\n\nexport interface OverlayCloseReasonDetail {\n reason?: 'external-click';\n}\n\n/**\n * Used, via an event, to query details about how an element should be shown in\n * an overlay\n */\nexport interface OverlayDisplayQueryDetail {\n overlayRootName?: string;\n overlayRootElement?: HTMLElement;\n overlayContentTipElement?: HTMLElement;\n}\n\nexport type OverlayOptions = {\n root?: HTMLElement;\n delayed?: boolean;\n placement?: Placement;\n offset?: number;\n receivesFocus?: 'true' | 'false' | 'auto';\n notImmediatelyClosable?: boolean;\n abortPromise?: Promise<boolean>;\n virtualTrigger?: VirtualTrigger;\n};\n\ndeclare global {\n interface GlobalEventHandlersEventMap {\n 'sp-overlay-query': CustomEvent<OverlayDisplayQueryDetail>;\n 'sp-open': CustomEvent<OverlayOpenCloseDetail>;\n 'sp-close': CustomEvent<OverlayOpenCloseDetail>;\n }\n}\n"],
5
+ "mappings": "aAgBA",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,21 @@
1
+ import { Placement } from '@floating-ui/dom';
2
+ import type { VirtualTrigger } from './VirtualTrigger.js';
3
+ declare type OverlayOptions = {
4
+ abortPromise?: Promise<boolean>;
5
+ delayed?: boolean;
6
+ offset?: number | [number, number];
7
+ placement: Placement;
8
+ notImmediatelyClosable?: boolean;
9
+ receivesFocus?: 'auto';
10
+ root?: HTMLElement;
11
+ trigger: HTMLElement | VirtualTrigger;
12
+ type?: 'modal' | 'page' | 'hint' | 'auto' | 'manual';
13
+ };
14
+ declare type OverlayData = {
15
+ initialHeight?: number;
16
+ isConstrained?: boolean;
17
+ elements?: HTMLElement[];
18
+ tipElement?: HTMLElement;
19
+ };
20
+ export declare const updateOverlayPosition: (target: HTMLElement, options: OverlayOptions, overlayData: OverlayData) => Promise<void>;
21
+ export {};
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ import {
3
+ arrow,
4
+ computePosition,
5
+ flip,
6
+ offset,
7
+ shift,
8
+ size
9
+ } from "@floating-ui/dom";
10
+ import { topLayerOverTransforms } from "./topLayerOverTransforms.dev.js";
11
+ function roundByDPR(num) {
12
+ if (typeof num === "undefined")
13
+ return 0;
14
+ const dpr = window.devicePixelRatio || 1;
15
+ return Math.round(num * dpr) / dpr || -1e4;
16
+ }
17
+ const REQUIRED_DISTANCE_TO_EDGE = 8;
18
+ const MIN_OVERLAY_HEIGHT = 100;
19
+ const getFallbackPlacements = (placement) => {
20
+ var _a;
21
+ const fallbacks = {
22
+ left: ["right", "bottom", "top"],
23
+ "left-start": ["right-start", "bottom", "top"],
24
+ "left-end": ["right-end", "bottom", "top"],
25
+ right: ["left", "bottom", "top"],
26
+ "right-start": ["left-start", "bottom", "top"],
27
+ "right-end": ["left-end", "bottom", "top"],
28
+ top: ["bottom", "left", "right"],
29
+ "top-start": ["bottom-start", "left", "right"],
30
+ "top-end": ["bottom-end", "left", "right"],
31
+ bottom: ["top", "left", "right"],
32
+ "bottom-start": ["top-start", "left", "right"],
33
+ "bottom-end": ["top-end", "left", "right"]
34
+ };
35
+ return (_a = fallbacks[placement]) != null ? _a : [placement];
36
+ };
37
+ export const updateOverlayPosition = async (target, options, overlayData) => {
38
+ var _a;
39
+ await (document.fonts ? document.fonts.ready : Promise.resolve());
40
+ const flipMiddleware = !(options.trigger instanceof HTMLElement) ? flip({
41
+ padding: REQUIRED_DISTANCE_TO_EDGE,
42
+ fallbackPlacements: getFallbackPlacements(options.placement)
43
+ }) : flip({
44
+ padding: REQUIRED_DISTANCE_TO_EDGE
45
+ });
46
+ const mainAxis = Array.isArray(options == null ? void 0 : options.offset) ? options == null ? void 0 : options.offset[0] : (options == null ? void 0 : options.offset) || 0;
47
+ const crossAxis = Array.isArray(options == null ? void 0 : options.offset) ? (options == null ? void 0 : options.offset[1]) || 0 : 0;
48
+ const middleware = [
49
+ offset({
50
+ mainAxis,
51
+ crossAxis
52
+ }),
53
+ shift({ padding: REQUIRED_DISTANCE_TO_EDGE }),
54
+ flipMiddleware,
55
+ size({
56
+ padding: REQUIRED_DISTANCE_TO_EDGE,
57
+ apply: ({
58
+ availableWidth,
59
+ availableHeight,
60
+ rects: { floating }
61
+ }) => {
62
+ const maxHeight = Math.max(
63
+ MIN_OVERLAY_HEIGHT,
64
+ Math.floor(availableHeight)
65
+ );
66
+ const actualHeight = floating.height;
67
+ overlayData.initialHeight = !overlayData.isConstrained ? actualHeight : overlayData.initialHeight || actualHeight;
68
+ overlayData.isConstrained = actualHeight < overlayData.initialHeight || maxHeight <= actualHeight;
69
+ const appliedHeight = overlayData.isConstrained ? `${maxHeight}px` : "";
70
+ Object.assign(target.style, {
71
+ maxWidth: `${Math.floor(availableWidth)}px`,
72
+ maxHeight: appliedHeight,
73
+ height: appliedHeight
74
+ });
75
+ }
76
+ }),
77
+ ...overlayData.tipElement ? [arrow({ element: overlayData.tipElement })] : [],
78
+ topLayerOverTransforms()
79
+ ];
80
+ const { x, y, placement, middlewareData } = await computePosition(
81
+ options.trigger,
82
+ target,
83
+ {
84
+ placement: options.placement,
85
+ middleware,
86
+ strategy: "fixed"
87
+ }
88
+ );
89
+ Object.assign(target.style, {
90
+ top: "0px",
91
+ left: "0px",
92
+ transform: `translate(${roundByDPR(x)}px, ${roundByDPR(y)}px)`
93
+ });
94
+ if (placement !== target.getAttribute("actual-placement")) {
95
+ target.setAttribute("actual-placement", placement);
96
+ (_a = overlayData.elements) == null ? void 0 : _a.forEach((element) => {
97
+ element.setAttribute("placement", placement);
98
+ });
99
+ }
100
+ if (overlayData.tipElement && middlewareData.arrow) {
101
+ const { x: arrowX, y: arrowY } = middlewareData.arrow;
102
+ Object.assign(overlayData.tipElement.style, {
103
+ top: placement.startsWith("right") || placement.startsWith("left") ? "0px" : "",
104
+ left: placement.startsWith("bottom") || placement.startsWith("top") ? "0px" : "",
105
+ transform: `translate(${roundByDPR(arrowX)}px, ${roundByDPR(
106
+ arrowY
107
+ )}px)`
108
+ });
109
+ }
110
+ };
111
+ //# sourceMappingURL=placement.dev.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["placement.ts"],
4
+ "sourcesContent": ["/*\nCopyright 2022 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*/\n\nimport {\n arrow,\n computePosition,\n flip,\n offset,\n Placement,\n shift,\n size,\n} from '@floating-ui/dom';\nimport type { VirtualTrigger } from './VirtualTrigger.dev.js'\nimport { topLayerOverTransforms } from './topLayerOverTransforms.dev.js'\n\ntype OverlayOptions = {\n abortPromise?: Promise<boolean>;\n delayed?: boolean;\n offset?: number | [number, number]; // supporting multi-axis\n placement: Placement;\n notImmediatelyClosable?: boolean; // rename or place behind other API options\n receivesFocus?: 'auto';\n root?: HTMLElement;\n trigger: HTMLElement | VirtualTrigger;\n type?: 'modal' | 'page' | 'hint' | 'auto' | 'manual';\n};\n\ntype OverlayData = {\n initialHeight?: number;\n isConstrained?: boolean;\n elements?: HTMLElement[];\n tipElement?: HTMLElement;\n};\n\nfunction roundByDPR(num?: number): number {\n if (typeof num === 'undefined') return 0;\n const dpr = window.devicePixelRatio || 1;\n return Math.round(num * dpr) / dpr || -10000;\n}\n\n// See: https://spectrum.adobe.com/page/popover/#Container-padding\nconst REQUIRED_DISTANCE_TO_EDGE = 8;\n// See: https://github.com/adobe/spectrum-web-components/issues/910\nconst MIN_OVERLAY_HEIGHT = 100;\n\nconst getFallbackPlacements = (placement: Placement): Placement[] => {\n const fallbacks: Record<Placement, Placement[]> = {\n left: ['right', 'bottom', 'top'],\n 'left-start': ['right-start', 'bottom', 'top'],\n 'left-end': ['right-end', 'bottom', 'top'],\n right: ['left', 'bottom', 'top'],\n 'right-start': ['left-start', 'bottom', 'top'],\n 'right-end': ['left-end', 'bottom', 'top'],\n top: ['bottom', 'left', 'right'],\n 'top-start': ['bottom-start', 'left', 'right'],\n 'top-end': ['bottom-end', 'left', 'right'],\n bottom: ['top', 'left', 'right'],\n 'bottom-start': ['top-start', 'left', 'right'],\n 'bottom-end': ['top-end', 'left', 'right'],\n };\n return fallbacks[placement] ?? [placement];\n};\n\nexport const updateOverlayPosition = async (\n target: HTMLElement,\n options: OverlayOptions,\n overlayData: OverlayData\n): Promise<void> => {\n await (document.fonts ? document.fonts.ready : Promise.resolve());\n\n const flipMiddleware = !(options.trigger instanceof HTMLElement)\n ? flip({\n padding: REQUIRED_DISTANCE_TO_EDGE,\n fallbackPlacements: getFallbackPlacements(options.placement),\n })\n : flip({\n padding: REQUIRED_DISTANCE_TO_EDGE,\n });\n\n const mainAxis = Array.isArray(options?.offset)\n ? options?.offset[0]\n : options?.offset || 0;\n const crossAxis = Array.isArray(options?.offset)\n ? options?.offset[1] || 0\n : 0;\n\n const middleware = [\n offset({\n mainAxis,\n crossAxis,\n }),\n shift({ padding: REQUIRED_DISTANCE_TO_EDGE }),\n flipMiddleware,\n size({\n padding: REQUIRED_DISTANCE_TO_EDGE,\n apply: ({\n availableWidth,\n availableHeight,\n rects: { floating },\n }) => {\n const maxHeight = Math.max(\n MIN_OVERLAY_HEIGHT,\n Math.floor(availableHeight)\n );\n const actualHeight = floating.height;\n overlayData.initialHeight =\n !overlayData.isConstrained /* && !this.virtualTrigger */\n ? actualHeight\n : overlayData.initialHeight || actualHeight;\n overlayData.isConstrained =\n actualHeight < overlayData.initialHeight ||\n maxHeight <= actualHeight;\n const appliedHeight = overlayData.isConstrained\n ? `${maxHeight}px`\n : '';\n Object.assign(target.style, {\n maxWidth: `${Math.floor(availableWidth)}px`,\n maxHeight: appliedHeight,\n height: appliedHeight,\n });\n },\n }),\n ...(overlayData.tipElement\n ? [arrow({ element: overlayData.tipElement })]\n : []),\n topLayerOverTransforms(),\n ];\n const { x, y, placement, middlewareData } = await computePosition(\n options.trigger,\n target,\n {\n placement: options.placement,\n middleware,\n strategy: 'fixed',\n }\n );\n\n Object.assign(target.style, {\n top: '0px',\n left: '0px',\n transform: `translate(${roundByDPR(x)}px, ${roundByDPR(y)}px)`,\n });\n\n if (placement !== target.getAttribute('actual-placement')) {\n target.setAttribute('actual-placement', placement);\n overlayData.elements?.forEach((element) => {\n element.setAttribute('placement', placement);\n });\n }\n\n if (overlayData.tipElement && middlewareData.arrow) {\n const { x: arrowX, y: arrowY } = middlewareData.arrow;\n\n Object.assign(overlayData.tipElement.style, {\n top:\n placement.startsWith('right') || placement.startsWith('left')\n ? '0px'\n : '',\n left:\n placement.startsWith('bottom') || placement.startsWith('top')\n ? '0px'\n : '',\n transform: `translate(${roundByDPR(arrowX)}px, ${roundByDPR(\n arrowY\n )}px)`,\n });\n }\n};\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";import{arrow as H,computePosition as P,flip as g,offset as O,shift as T,size as w}from"@floating-ui/dom";import{topLayerOverTransforms as M}from"./topLayerOverTransforms.js";function n(r){if(typeof r=="undefined")return 0;const t=window.devicePixelRatio||1;return Math.round(r*t)/t||-1e4}const m=8,A=100,L=r=>{var e;return(e={left:["right","bottom","top"],"left-start":["right-start","bottom","top"],"left-end":["right-end","bottom","top"],right:["left","bottom","top"],"right-start":["left-start","bottom","top"],"right-end":["left-end","bottom","top"],top:["bottom","left","right"],"top-start":["bottom-start","left","right"],"top-end":["bottom-end","left","right"],bottom:["top","left","right"],"bottom-start":["top-start","left","right"],"bottom-end":["top-end","left","right"]}[r])!=null?e:[r]};export const updateOverlayPosition=async(r,t,e)=>{var f;await(document.fonts?document.fonts.ready:Promise.resolve());const h=t.trigger instanceof HTMLElement?g({padding:m}):g({padding:m,fallbackPlacements:L(t.placement)}),b=Array.isArray(t==null?void 0:t.offset)?t==null?void 0:t.offset[0]:(t==null?void 0:t.offset)||0,p=Array.isArray(t==null?void 0:t.offset)&&(t==null?void 0:t.offset[1])||0,u=[O({mainAxis:b,crossAxis:p}),T({padding:m}),h,w({padding:m,apply:({availableWidth:i,availableHeight:s,rects:{floating:y}})=>{const c=Math.max(A,Math.floor(s)),l=y.height;e.initialHeight=e.isConstrained&&e.initialHeight||l,e.isConstrained=l<e.initialHeight||c<=l;const d=e.isConstrained?`${c}px`:"";Object.assign(r.style,{maxWidth:`${Math.floor(i)}px`,maxHeight:d,height:d})}}),...e.tipElement?[H({element:e.tipElement})]:[],M()],{x,y:E,placement:a,middlewareData:o}=await P(t.trigger,r,{placement:t.placement,middleware:u,strategy:"fixed"});if(Object.assign(r.style,{top:"0px",left:"0px",transform:`translate(${n(x)}px, ${n(E)}px)`}),a!==r.getAttribute("actual-placement")&&(r.setAttribute("actual-placement",a),(f=e.elements)==null||f.forEach(i=>{i.setAttribute("placement",a)})),e.tipElement&&o.arrow){const{x:i,y:s}=o.arrow;Object.assign(e.tipElement.style,{top:a.startsWith("right")||a.startsWith("left")?"0px":"",left:a.startsWith("bottom")||a.startsWith("top")?"0px":"",transform:`translate(${n(i)}px, ${n(s)}px)`})}};
2
+ //# sourceMappingURL=placement.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["placement.ts"],
4
+ "sourcesContent": ["/*\nCopyright 2022 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*/\n\nimport {\n arrow,\n computePosition,\n flip,\n offset,\n Placement,\n shift,\n size,\n} from '@floating-ui/dom';\nimport type { VirtualTrigger } from './VirtualTrigger.js';\nimport { topLayerOverTransforms } from './topLayerOverTransforms.js';\n\ntype OverlayOptions = {\n abortPromise?: Promise<boolean>;\n delayed?: boolean;\n offset?: number | [number, number]; // supporting multi-axis\n placement: Placement;\n notImmediatelyClosable?: boolean; // rename or place behind other API options\n receivesFocus?: 'auto';\n root?: HTMLElement;\n trigger: HTMLElement | VirtualTrigger;\n type?: 'modal' | 'page' | 'hint' | 'auto' | 'manual';\n};\n\ntype OverlayData = {\n initialHeight?: number;\n isConstrained?: boolean;\n elements?: HTMLElement[];\n tipElement?: HTMLElement;\n};\n\nfunction roundByDPR(num?: number): number {\n if (typeof num === 'undefined') return 0;\n const dpr = window.devicePixelRatio || 1;\n return Math.round(num * dpr) / dpr || -10000;\n}\n\n// See: https://spectrum.adobe.com/page/popover/#Container-padding\nconst REQUIRED_DISTANCE_TO_EDGE = 8;\n// See: https://github.com/adobe/spectrum-web-components/issues/910\nconst MIN_OVERLAY_HEIGHT = 100;\n\nconst getFallbackPlacements = (placement: Placement): Placement[] => {\n const fallbacks: Record<Placement, Placement[]> = {\n left: ['right', 'bottom', 'top'],\n 'left-start': ['right-start', 'bottom', 'top'],\n 'left-end': ['right-end', 'bottom', 'top'],\n right: ['left', 'bottom', 'top'],\n 'right-start': ['left-start', 'bottom', 'top'],\n 'right-end': ['left-end', 'bottom', 'top'],\n top: ['bottom', 'left', 'right'],\n 'top-start': ['bottom-start', 'left', 'right'],\n 'top-end': ['bottom-end', 'left', 'right'],\n bottom: ['top', 'left', 'right'],\n 'bottom-start': ['top-start', 'left', 'right'],\n 'bottom-end': ['top-end', 'left', 'right'],\n };\n return fallbacks[placement] ?? [placement];\n};\n\nexport const updateOverlayPosition = async (\n target: HTMLElement,\n options: OverlayOptions,\n overlayData: OverlayData\n): Promise<void> => {\n await (document.fonts ? document.fonts.ready : Promise.resolve());\n\n const flipMiddleware = !(options.trigger instanceof HTMLElement)\n ? flip({\n padding: REQUIRED_DISTANCE_TO_EDGE,\n fallbackPlacements: getFallbackPlacements(options.placement),\n })\n : flip({\n padding: REQUIRED_DISTANCE_TO_EDGE,\n });\n\n const mainAxis = Array.isArray(options?.offset)\n ? options?.offset[0]\n : options?.offset || 0;\n const crossAxis = Array.isArray(options?.offset)\n ? options?.offset[1] || 0\n : 0;\n\n const middleware = [\n offset({\n mainAxis,\n crossAxis,\n }),\n shift({ padding: REQUIRED_DISTANCE_TO_EDGE }),\n flipMiddleware,\n size({\n padding: REQUIRED_DISTANCE_TO_EDGE,\n apply: ({\n availableWidth,\n availableHeight,\n rects: { floating },\n }) => {\n const maxHeight = Math.max(\n MIN_OVERLAY_HEIGHT,\n Math.floor(availableHeight)\n );\n const actualHeight = floating.height;\n overlayData.initialHeight =\n !overlayData.isConstrained /* && !this.virtualTrigger */\n ? actualHeight\n : overlayData.initialHeight || actualHeight;\n overlayData.isConstrained =\n actualHeight < overlayData.initialHeight ||\n maxHeight <= actualHeight;\n const appliedHeight = overlayData.isConstrained\n ? `${maxHeight}px`\n : '';\n Object.assign(target.style, {\n maxWidth: `${Math.floor(availableWidth)}px`,\n maxHeight: appliedHeight,\n height: appliedHeight,\n });\n },\n }),\n ...(overlayData.tipElement\n ? [arrow({ element: overlayData.tipElement })]\n : []),\n topLayerOverTransforms(),\n ];\n const { x, y, placement, middlewareData } = await computePosition(\n options.trigger,\n target,\n {\n placement: options.placement,\n middleware,\n strategy: 'fixed',\n }\n );\n\n Object.assign(target.style, {\n top: '0px',\n left: '0px',\n transform: `translate(${roundByDPR(x)}px, ${roundByDPR(y)}px)`,\n });\n\n if (placement !== target.getAttribute('actual-placement')) {\n target.setAttribute('actual-placement', placement);\n overlayData.elements?.forEach((element) => {\n element.setAttribute('placement', placement);\n });\n }\n\n if (overlayData.tipElement && middlewareData.arrow) {\n const { x: arrowX, y: arrowY } = middlewareData.arrow;\n\n Object.assign(overlayData.tipElement.style, {\n top:\n placement.startsWith('right') || placement.startsWith('left')\n ? '0px'\n : '',\n left:\n placement.startsWith('bottom') || placement.startsWith('top')\n ? '0px'\n : '',\n transform: `translate(${roundByDPR(arrowX)}px, ${roundByDPR(\n arrowY\n )}px)`,\n });\n }\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["arrow", "computePosition", "flip", "offset", "shift", "size", "topLayerOverTransforms", "roundByDPR", "num", "dpr", "REQUIRED_DISTANCE_TO_EDGE", "MIN_OVERLAY_HEIGHT", "getFallbackPlacements", "placement", "_a", "target", "options", "overlayData", "flipMiddleware", "mainAxis", "crossAxis", "middleware", "availableWidth", "availableHeight", "floating", "maxHeight", "actualHeight", "appliedHeight", "y", "middlewareData", "element", "arrowX", "arrowY"]
7
+ }
@@ -0,0 +1,22 @@
1
+ import type { MiddlewareArguments } from '@floating-ui/dom';
2
+ export declare const topLayerOverTransforms: () => {
3
+ name: string;
4
+ fn(middlewareArguments: MiddlewareArguments): Promise<{
5
+ x: number;
6
+ y: number;
7
+ data: {
8
+ x: number;
9
+ y: number;
10
+ };
11
+ }>;
12
+ };
13
+ export declare function isLastTraversableNode(node: Node): boolean;
14
+ export declare function getUAString(): string;
15
+ export declare function getParentNode(node: Node): Node;
16
+ export declare function getNodeName(node: Node | Window): string;
17
+ export declare function getDocumentElement(node: Node | Window): HTMLElement;
18
+ export declare function isNode(value: any): value is Node;
19
+ export declare function isWindow(value: any): value is Window;
20
+ export declare function getWindow(node: Node | Window): Window;
21
+ export declare function isShadowRoot(node: Node): node is ShadowRoot;
22
+ export declare function isHTMLElement(value: any): value is HTMLElement;