@spectrum-web-components/overlay 0.31.1-overlay.29 → 0.31.1-react.21

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/active-overlay.d.ts +6 -0
  2. package/active-overlay.dev.js +5 -0
  3. package/{sp-overlay.dev.js.map → active-overlay.dev.js.map} +3 -3
  4. package/active-overlay.js +2 -0
  5. package/{sp-overlay.js.map → active-overlay.js.map} +4 -4
  6. package/custom-elements.json +1215 -0
  7. package/package.json +21 -50
  8. package/src/ActiveOverlay.d.ts +84 -0
  9. package/src/ActiveOverlay.dev.js +517 -0
  10. package/src/ActiveOverlay.dev.js.map +7 -0
  11. package/src/ActiveOverlay.js +16 -0
  12. package/src/ActiveOverlay.js.map +7 -0
  13. package/src/OverlayTrigger.d.ts +31 -23
  14. package/src/OverlayTrigger.dev.js +245 -135
  15. package/src/OverlayTrigger.dev.js.map +3 -3
  16. package/src/OverlayTrigger.js +22 -52
  17. package/src/OverlayTrigger.js.map +3 -3
  18. package/src/VirtualTrigger.dev.js +2 -0
  19. package/src/VirtualTrigger.dev.js.map +2 -2
  20. package/src/VirtualTrigger.js +1 -1
  21. package/src/VirtualTrigger.js.map +3 -3
  22. package/src/active-overlay.css.dev.js +13 -0
  23. package/src/active-overlay.css.dev.js.map +7 -0
  24. package/src/active-overlay.css.js +10 -0
  25. package/src/active-overlay.css.js.map +7 -0
  26. package/src/index.d.ts +3 -2
  27. package/src/index.dev.js +3 -2
  28. package/src/index.dev.js.map +2 -2
  29. package/src/index.js +1 -1
  30. package/src/index.js.map +2 -2
  31. package/src/loader.d.ts +2 -2
  32. package/src/loader.dev.js +19 -2
  33. package/src/loader.dev.js.map +2 -2
  34. package/src/loader.js +1 -1
  35. package/src/loader.js.map +3 -3
  36. package/src/overlay-stack.d.ts +50 -0
  37. package/src/overlay-stack.dev.js +514 -0
  38. package/src/overlay-stack.dev.js.map +7 -0
  39. package/src/overlay-stack.js +33 -0
  40. package/src/overlay-stack.js.map +7 -0
  41. package/src/overlay-trigger.css.dev.js +1 -1
  42. package/src/overlay-trigger.css.dev.js.map +1 -1
  43. package/src/overlay-trigger.css.js +1 -1
  44. package/src/overlay-trigger.css.js.map +1 -1
  45. package/src/overlay-types.d.ts +4 -6
  46. package/src/overlay-types.dev.js +0 -1
  47. package/src/overlay-types.dev.js.map +3 -3
  48. package/src/overlay-types.js +1 -1
  49. package/src/overlay-types.js.map +3 -3
  50. package/src/overlay-utils.d.ts +3 -0
  51. package/src/overlay-utils.dev.js +31 -0
  52. package/src/overlay-utils.dev.js.map +7 -0
  53. package/src/overlay-utils.js +2 -0
  54. package/src/overlay-utils.js.map +7 -0
  55. package/src/overlay.d.ts +59 -0
  56. package/src/overlay.dev.js +127 -0
  57. package/src/overlay.dev.js.map +7 -0
  58. package/src/overlay.js +2 -0
  59. package/src/overlay.js.map +7 -0
  60. package/stories/overlay-story-components.js +26 -24
  61. package/stories/overlay-story-components.js.map +2 -2
  62. package/stories/overlay.stories.js +730 -733
  63. package/stories/overlay.stories.js.map +2 -2
  64. package/sync/overlay-trigger.d.ts +0 -4
  65. package/sync/overlay-trigger.dev.js +4 -1
  66. package/sync/overlay-trigger.dev.js.map +2 -2
  67. package/sync/overlay-trigger.js +1 -1
  68. package/sync/overlay-trigger.js.map +3 -3
  69. package/test/benchmark/basic-test.js +1 -1
  70. package/test/benchmark/basic-test.js.map +1 -1
  71. package/test/index.js +428 -461
  72. package/test/index.js.map +3 -3
  73. package/test/overlay-lifecycle.test.js +106 -34
  74. package/test/overlay-lifecycle.test.js.map +2 -2
  75. package/test/overlay-trigger-click.test.js +5 -11
  76. package/test/overlay-trigger-click.test.js.map +2 -2
  77. package/test/overlay-trigger-extended.test.js +9 -3
  78. package/test/overlay-trigger-extended.test.js.map +2 -2
  79. package/test/overlay-trigger-hover-click.test.js +23 -23
  80. package/test/overlay-trigger-hover-click.test.js.map +2 -2
  81. package/test/overlay-trigger-hover.test.js +34 -40
  82. package/test/overlay-trigger-hover.test.js.map +2 -2
  83. package/test/overlay-trigger-longpress.test.js +80 -98
  84. package/test/overlay-trigger-longpress.test.js.map +2 -2
  85. package/test/overlay-trigger-sync.test.js +1 -1
  86. package/test/overlay-trigger-sync.test.js.map +2 -2
  87. package/test/overlay-trigger.test.js +1 -1
  88. package/test/overlay-trigger.test.js.map +2 -2
  89. package/test/overlay-update.test.js +4 -4
  90. package/test/overlay-update.test.js.map +2 -2
  91. package/test/overlay.test.js +237 -240
  92. package/test/overlay.test.js.map +3 -3
  93. package/sp-overlay.d.ts +0 -6
  94. package/sp-overlay.dev.js +0 -5
  95. package/sp-overlay.js +0 -2
  96. package/src/Overlay.d.ts +0 -28
  97. package/src/Overlay.dev.js +0 -88
  98. package/src/Overlay.dev.js.map +0 -7
  99. package/src/Overlay.js +0 -2
  100. package/src/Overlay.js.map +0 -7
  101. package/src/OverlayBase.d.ts +0 -122
  102. package/src/OverlayBase.dev.js +0 -701
  103. package/src/OverlayBase.dev.js.map +0 -7
  104. package/src/OverlayBase.js +0 -17
  105. package/src/OverlayBase.js.map +0 -7
  106. package/src/OverlayDialog.d.ts +0 -8
  107. package/src/OverlayDialog.dev.js +0 -160
  108. package/src/OverlayDialog.dev.js.map +0 -7
  109. package/src/OverlayDialog.js +0 -2
  110. package/src/OverlayDialog.js.map +0 -7
  111. package/src/OverlayNoPopover.d.ts +0 -8
  112. package/src/OverlayNoPopover.dev.js +0 -149
  113. package/src/OverlayNoPopover.dev.js.map +0 -7
  114. package/src/OverlayNoPopover.js +0 -2
  115. package/src/OverlayNoPopover.js.map +0 -7
  116. package/src/OverlayPopover.d.ts +0 -8
  117. package/src/OverlayPopover.dev.js +0 -199
  118. package/src/OverlayPopover.dev.js.map +0 -7
  119. package/src/OverlayPopover.js +0 -2
  120. package/src/OverlayPopover.js.map +0 -7
  121. package/src/OverlayStack.d.ts +0 -24
  122. package/src/OverlayStack.dev.js +0 -125
  123. package/src/OverlayStack.dev.js.map +0 -7
  124. package/src/OverlayStack.js +0 -2
  125. package/src/OverlayStack.js.map +0 -7
  126. package/src/PlacementController.d.ts +0 -36
  127. package/src/PlacementController.dev.js +0 -193
  128. package/src/PlacementController.dev.js.map +0 -7
  129. package/src/PlacementController.js +0 -2
  130. package/src/PlacementController.js.map +0 -7
  131. package/src/fullSizePlugin.d.ts +0 -12
  132. package/src/fullSizePlugin.dev.js +0 -39
  133. package/src/fullSizePlugin.dev.js.map +0 -7
  134. package/src/fullSizePlugin.js +0 -2
  135. package/src/fullSizePlugin.js.map +0 -7
  136. package/src/overlay-base.css.dev.js +0 -9
  137. package/src/overlay-base.css.dev.js.map +0 -7
  138. package/src/overlay-base.css.js +0 -6
  139. package/src/overlay-base.css.js.map +0 -7
  140. package/src/placement.d.ts +0 -21
  141. package/src/placement.dev.js +0 -111
  142. package/src/placement.dev.js.map +0 -7
  143. package/src/placement.js +0 -2
  144. package/src/placement.js.map +0 -7
  145. package/src/topLayerOverTransforms.d.ts +0 -22
  146. package/src/topLayerOverTransforms.dev.js +0 -165
  147. package/src/topLayerOverTransforms.dev.js.map +0 -7
  148. package/src/topLayerOverTransforms.js +0 -2
  149. package/src/topLayerOverTransforms.js.map +0 -7
  150. package/stories/overlay-element.stories.js +0 -247
  151. package/stories/overlay-element.stories.js.map +0 -7
  152. package/test/overlay-element.test-vrt.js +0 -5
  153. package/test/overlay-element.test-vrt.js.map +0 -7
  154. package/test/overlay-element.test.js +0 -664
  155. package/test/overlay-element.test.js.map +0 -7
  156. /package/src/{overlay-base.css.d.ts → active-overlay.css.d.ts} +0 -0
@@ -1,111 +0,0 @@
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
@@ -1,7 +0,0 @@
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
- }
package/src/placement.js DELETED
@@ -1,2 +0,0 @@
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
@@ -1,7 +0,0 @@
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
- }
@@ -1,22 +0,0 @@
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;
@@ -1,165 +0,0 @@
1
- "use strict";
2
- export const topLayerOverTransforms = () => ({
3
- name: "topLayer",
4
- async fn(middlewareArguments) {
5
- const {
6
- x,
7
- y,
8
- elements: { reference, floating }
9
- } = middlewareArguments;
10
- let onTopLayer = false;
11
- let topLayerIsFloating = false;
12
- const diffCoords = {
13
- x: 0,
14
- y: 0
15
- };
16
- try {
17
- onTopLayer = onTopLayer || floating.matches(":popover-open");
18
- } catch (e) {
19
- }
20
- try {
21
- onTopLayer = onTopLayer || floating.matches(":open");
22
- } catch (e) {
23
- }
24
- try {
25
- onTopLayer = onTopLayer || floating.matches(":modal");
26
- } catch (e) {
27
- }
28
- topLayerIsFloating = onTopLayer;
29
- if (!onTopLayer) {
30
- const dialogAncestorQueryEvent = new Event(
31
- "floating-ui-dialog-test",
32
- { composed: true, bubbles: true }
33
- );
34
- floating.addEventListener(
35
- "floating-ui-dialog-test",
36
- (event) => {
37
- event.composedPath().forEach(
38
- (el) => {
39
- if (el === floating || el.localName !== "dialog")
40
- return;
41
- try {
42
- onTopLayer = onTopLayer || el.matches(":modal");
43
- if (onTopLayer) {
44
- }
45
- } catch (e) {
46
- }
47
- }
48
- );
49
- },
50
- { once: true }
51
- );
52
- floating.dispatchEvent(dialogAncestorQueryEvent);
53
- }
54
- let overTransforms = false;
55
- const containingBlock = getContainingBlock(reference);
56
- if (containingBlock !== null && !isWindow(containingBlock)) {
57
- overTransforms = true;
58
- }
59
- if (onTopLayer && overTransforms) {
60
- const rect = containingBlock.getBoundingClientRect();
61
- diffCoords.x = rect.x;
62
- diffCoords.y = rect.y;
63
- }
64
- if (onTopLayer && topLayerIsFloating) {
65
- return {
66
- x: x + diffCoords.x,
67
- y: y + diffCoords.y,
68
- data: diffCoords
69
- };
70
- }
71
- if (onTopLayer) {
72
- return {
73
- x,
74
- y,
75
- data: diffCoords
76
- };
77
- }
78
- return {
79
- x: x - diffCoords.x,
80
- y: y - diffCoords.y,
81
- data: diffCoords
82
- };
83
- }
84
- });
85
- function getContainingBlock(element) {
86
- let currentNode = getParentNode(element);
87
- if (isShadowRoot(currentNode)) {
88
- currentNode = currentNode.host;
89
- }
90
- while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {
91
- if (isContainingBlock(currentNode)) {
92
- return currentNode;
93
- } else {
94
- const parent = currentNode.assignedSlot ? currentNode.assignedSlot : currentNode.parentNode;
95
- currentNode = isShadowRoot(parent) ? parent.host : parent;
96
- }
97
- }
98
- return null;
99
- }
100
- export function isLastTraversableNode(node) {
101
- return ["html", "body", "#document"].includes(getNodeName(node));
102
- }
103
- function isContainingBlock(element) {
104
- const isFirefox = /firefox/i.test(getUAString());
105
- if (element.tagName === "dialog") {
106
- return true;
107
- }
108
- const css = getComputedStyle(element);
109
- return css.transform !== "none" || css.perspective !== "none" || // @ts-ignore (TS 4.1 compat)
110
- css.contain === "paint" || ["transform", "perspective"].includes(css.willChange) || isFirefox && css.willChange === "filter" || isFirefox && (css.filter ? css.filter !== "none" : false);
111
- }
112
- export function getUAString() {
113
- const uaData = navigator.userAgentData;
114
- if (uaData == null ? void 0 : uaData.brands) {
115
- return uaData.brands.map((item) => `${item.brand}/${item.version}`).join(" ");
116
- }
117
- return navigator.userAgent;
118
- }
119
- export function getParentNode(node) {
120
- if (getNodeName(node) === "html") {
121
- return node;
122
- }
123
- return (
124
- // this is a quicker (but less type safe) way to save quite some bytes from the bundle
125
- // @ts-ignore
126
- node.assignedSlot || // step into the shadow DOM of the parent of a slotted node
127
- node.parentNode || // DOM Element detected
128
- (isShadowRoot(node) ? node.host : null) || // ShadowRoot detected
129
- getDocumentElement(node)
130
- );
131
- }
132
- export function getNodeName(node) {
133
- return isWindow(node) ? "" : node ? (node.nodeName || "").toLowerCase() : "";
134
- }
135
- export function getDocumentElement(node) {
136
- return ((isNode(node) ? node.ownerDocument : node.document) || window.document).documentElement;
137
- }
138
- export function isNode(value) {
139
- return value instanceof getWindow(value).Node;
140
- }
141
- export function isWindow(value) {
142
- return value && value.document && value.location && value.alert && value.setInterval;
143
- }
144
- export function getWindow(node) {
145
- if (node == null) {
146
- return window;
147
- }
148
- if (!isWindow(node)) {
149
- const ownerDocument = node.ownerDocument;
150
- return ownerDocument ? ownerDocument.defaultView || window : window;
151
- }
152
- return node;
153
- }
154
- export function isShadowRoot(node) {
155
- if (typeof ShadowRoot === "undefined") {
156
- return false;
157
- }
158
- const OwnElement = getWindow(node).ShadowRoot;
159
- const testNode = node;
160
- return node instanceof OwnElement || testNode instanceof ShadowRoot;
161
- }
162
- export function isHTMLElement(value) {
163
- return value instanceof getWindow(value).HTMLElement;
164
- }
165
- //# sourceMappingURL=topLayerOverTransforms.dev.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["topLayerOverTransforms.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\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 type { MiddlewareArguments } from '@floating-ui/dom';\n\nexport const topLayerOverTransforms = () => ({\n name: 'topLayer',\n async fn(middlewareArguments: MiddlewareArguments) {\n const {\n x,\n y,\n elements: { reference, floating },\n } = middlewareArguments;\n let onTopLayer = false;\n let topLayerIsFloating = false;\n const diffCoords = {\n x: 0,\n y: 0,\n };\n try {\n onTopLayer = onTopLayer || floating.matches(':popover-open');\n // eslint-disable-next-line no-empty\n } catch (e) {}\n try {\n onTopLayer = onTopLayer || floating.matches(':open');\n // eslint-disable-next-line no-empty\n } catch (e) {}\n try {\n onTopLayer = onTopLayer || floating.matches(':modal');\n // eslint-disable-next-line no-empty\n } catch (e) {}\n topLayerIsFloating = onTopLayer;\n if (!onTopLayer) {\n const dialogAncestorQueryEvent = new Event(\n 'floating-ui-dialog-test',\n { composed: true, bubbles: true }\n );\n floating.addEventListener(\n 'floating-ui-dialog-test',\n (event: Event) => {\n (event.composedPath() as unknown as Element[]).forEach(\n (el) => {\n if (el === floating || el.localName !== 'dialog')\n return;\n try {\n onTopLayer = onTopLayer || el.matches(':modal');\n if (onTopLayer) {\n // console.log(el);\n }\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n );\n },\n { once: true }\n );\n floating.dispatchEvent(dialogAncestorQueryEvent);\n }\n let overTransforms = false;\n const containingBlock = getContainingBlock(reference as Element);\n if (containingBlock !== null && !isWindow(containingBlock)) {\n overTransforms = true;\n }\n\n if (onTopLayer && overTransforms) {\n const rect = containingBlock!.getBoundingClientRect();\n diffCoords.x = rect.x;\n diffCoords.y = rect.y;\n }\n\n if (onTopLayer && topLayerIsFloating) {\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: diffCoords,\n };\n }\n\n if (onTopLayer) {\n return {\n x,\n y,\n data: diffCoords,\n };\n }\n\n return {\n x: x - diffCoords.x,\n y: y - diffCoords.y,\n data: diffCoords,\n };\n },\n});\n\n/* COPY/PASTE from Floating UI */\n\nfunction getContainingBlock(element: Element) {\n let currentNode: Node | null = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else {\n const parent = (\n currentNode.assignedSlot\n ? currentNode.assignedSlot\n : currentNode.parentNode\n ) as Node;\n currentNode = isShadowRoot(parent) ? parent.host : parent;\n }\n }\n\n return null;\n}\n\nexport function isLastTraversableNode(node: Node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\n\nfunction isContainingBlock(element: HTMLElement) {\n // TODO: Try and use feature detection here instead\n const isFirefox = /firefox/i.test(getUAString());\n if (element.tagName === 'dialog') {\n return true;\n }\n const css = getComputedStyle(element); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n return (\n css.transform !== 'none' ||\n css.perspective !== 'none' || // @ts-ignore (TS 4.1 compat)\n css.contain === 'paint' ||\n ['transform', 'perspective'].includes(css.willChange) ||\n (isFirefox && css.willChange === 'filter') ||\n (isFirefox && (css.filter ? css.filter !== 'none' : false))\n );\n}\n\ninterface NavigatorUAData {\n brands: Array<{ brand: string; version: string }>;\n mobile: boolean;\n platform: string;\n}\n\nexport function getUAString(): string {\n const uaData = (navigator as any).userAgentData as\n | NavigatorUAData\n | undefined;\n\n if (uaData?.brands) {\n return uaData.brands\n .map((item) => `${item.brand}/${item.version}`)\n .join(' ');\n }\n\n return navigator.userAgent;\n}\n\nexport function getParentNode(node: Node): Node {\n if (getNodeName(node) === 'html') {\n return node;\n }\n\n return (\n // this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // @ts-ignore\n node.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n node.parentNode || // DOM Element detected\n (isShadowRoot(node) ? node.host : null) || // ShadowRoot detected\n getDocumentElement(node) // fallback\n );\n}\n\nexport function getNodeName(node: Node | Window): string {\n return isWindow(node)\n ? ''\n : node\n ? (node.nodeName || '').toLowerCase()\n : '';\n}\n\nexport function getDocumentElement(node: Node | Window): HTMLElement {\n return (\n (isNode(node) ? node.ownerDocument : node.document) || window.document\n ).documentElement;\n}\n\nexport function isNode(value: any): value is Node {\n return value instanceof (getWindow(value) as unknown as { Node: any }).Node;\n}\n\nexport function isWindow(value: any): value is Window {\n return (\n value &&\n value.document &&\n value.location &&\n value.alert &&\n value.setInterval\n );\n}\n\nexport function getWindow(node: Node | Window): Window {\n if (node == null) {\n return window;\n }\n\n if (!isWindow(node)) {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}\n\nexport function isShadowRoot(node: Node): node is ShadowRoot {\n // Browsers without `ShadowRoot` support\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n const OwnElement = (\n getWindow(node) as unknown as { ShadowRoot: ShadowRoot }\n ).ShadowRoot;\n const testNode = node as Node;\n return (\n node instanceof (OwnElement as unknown as any) ||\n testNode instanceof ShadowRoot\n );\n}\n\nexport function isHTMLElement(value: any): value is HTMLElement {\n return (\n value instanceof\n (getWindow(value) as unknown as { HTMLElement: any }).HTMLElement\n );\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,2 +0,0 @@
1
- "use strict";export const topLayerOverTransforms=()=>({name:"topLayer",async fn(e){const{x:t,y:n,elements:{reference:d,floating:i}}=e;let o=!1,l=!1;const r={x:0,y:0};try{o=o||i.matches(":popover-open")}catch(a){}try{o=o||i.matches(":open")}catch(a){}try{o=o||i.matches(":modal")}catch(a){}if(l=o,!o){const a=new Event("floating-ui-dialog-test",{composed:!0,bubbles:!0});i.addEventListener("floating-ui-dialog-test",f=>{f.composedPath().forEach(c=>{if(!(c===i||c.localName!=="dialog"))try{o=o||c.matches(":modal")}catch(w){}})},{once:!0}),i.dispatchEvent(a)}let u=!1;const s=m(d);if(s!==null&&!isWindow(s)&&(u=!0),o&&u){const a=s.getBoundingClientRect();r.x=a.x,r.y=a.y}return o&&l?{x:t+r.x,y:n+r.y,data:r}:o?{x:t,y:n,data:r}:{x:t-r.x,y:n-r.y,data:r}}});function m(e){let t=getParentNode(e);for(isShadowRoot(t)&&(t=t.host);isHTMLElement(t)&&!isLastTraversableNode(t);){if(g(t))return t;{const n=t.assignedSlot?t.assignedSlot:t.parentNode;t=isShadowRoot(n)?n.host:n}}return null}export function isLastTraversableNode(e){return["html","body","#document"].includes(getNodeName(e))}function g(e){const t=/firefox/i.test(getUAString());if(e.tagName==="dialog")return!0;const n=getComputedStyle(e);return n.transform!=="none"||n.perspective!=="none"||n.contain==="paint"||["transform","perspective"].includes(n.willChange)||t&&n.willChange==="filter"||t&&(n.filter?n.filter!=="none":!1)}export function getUAString(){const e=navigator.userAgentData;return e!=null&&e.brands?e.brands.map(t=>`${t.brand}/${t.version}`).join(" "):navigator.userAgent}export function getParentNode(e){return getNodeName(e)==="html"?e:e.assignedSlot||e.parentNode||(isShadowRoot(e)?e.host:null)||getDocumentElement(e)}export function getNodeName(e){return isWindow(e)?"":e?(e.nodeName||"").toLowerCase():""}export function getDocumentElement(e){return((isNode(e)?e.ownerDocument:e.document)||window.document).documentElement}export function isNode(e){return e instanceof getWindow(e).Node}export function isWindow(e){return e&&e.document&&e.location&&e.alert&&e.setInterval}export function getWindow(e){if(e==null)return window;if(!isWindow(e)){const t=e.ownerDocument;return t&&t.defaultView||window}return e}export function isShadowRoot(e){if(typeof ShadowRoot=="undefined")return!1;const t=getWindow(e).ShadowRoot,n=e;return e instanceof t||n instanceof ShadowRoot}export function isHTMLElement(e){return e instanceof getWindow(e).HTMLElement}
2
- //# sourceMappingURL=topLayerOverTransforms.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["topLayerOverTransforms.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\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 type { MiddlewareArguments } from '@floating-ui/dom';\n\nexport const topLayerOverTransforms = () => ({\n name: 'topLayer',\n async fn(middlewareArguments: MiddlewareArguments) {\n const {\n x,\n y,\n elements: { reference, floating },\n } = middlewareArguments;\n let onTopLayer = false;\n let topLayerIsFloating = false;\n const diffCoords = {\n x: 0,\n y: 0,\n };\n try {\n onTopLayer = onTopLayer || floating.matches(':popover-open');\n // eslint-disable-next-line no-empty\n } catch (e) {}\n try {\n onTopLayer = onTopLayer || floating.matches(':open');\n // eslint-disable-next-line no-empty\n } catch (e) {}\n try {\n onTopLayer = onTopLayer || floating.matches(':modal');\n // eslint-disable-next-line no-empty\n } catch (e) {}\n topLayerIsFloating = onTopLayer;\n if (!onTopLayer) {\n const dialogAncestorQueryEvent = new Event(\n 'floating-ui-dialog-test',\n { composed: true, bubbles: true }\n );\n floating.addEventListener(\n 'floating-ui-dialog-test',\n (event: Event) => {\n (event.composedPath() as unknown as Element[]).forEach(\n (el) => {\n if (el === floating || el.localName !== 'dialog')\n return;\n try {\n onTopLayer = onTopLayer || el.matches(':modal');\n if (onTopLayer) {\n // console.log(el);\n }\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n );\n },\n { once: true }\n );\n floating.dispatchEvent(dialogAncestorQueryEvent);\n }\n let overTransforms = false;\n const containingBlock = getContainingBlock(reference as Element);\n if (containingBlock !== null && !isWindow(containingBlock)) {\n overTransforms = true;\n }\n\n if (onTopLayer && overTransforms) {\n const rect = containingBlock!.getBoundingClientRect();\n diffCoords.x = rect.x;\n diffCoords.y = rect.y;\n }\n\n if (onTopLayer && topLayerIsFloating) {\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: diffCoords,\n };\n }\n\n if (onTopLayer) {\n return {\n x,\n y,\n data: diffCoords,\n };\n }\n\n return {\n x: x - diffCoords.x,\n y: y - diffCoords.y,\n data: diffCoords,\n };\n },\n});\n\n/* COPY/PASTE from Floating UI */\n\nfunction getContainingBlock(element: Element) {\n let currentNode: Node | null = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else {\n const parent = (\n currentNode.assignedSlot\n ? currentNode.assignedSlot\n : currentNode.parentNode\n ) as Node;\n currentNode = isShadowRoot(parent) ? parent.host : parent;\n }\n }\n\n return null;\n}\n\nexport function isLastTraversableNode(node: Node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\n\nfunction isContainingBlock(element: HTMLElement) {\n // TODO: Try and use feature detection here instead\n const isFirefox = /firefox/i.test(getUAString());\n if (element.tagName === 'dialog') {\n return true;\n }\n const css = getComputedStyle(element); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n return (\n css.transform !== 'none' ||\n css.perspective !== 'none' || // @ts-ignore (TS 4.1 compat)\n css.contain === 'paint' ||\n ['transform', 'perspective'].includes(css.willChange) ||\n (isFirefox && css.willChange === 'filter') ||\n (isFirefox && (css.filter ? css.filter !== 'none' : false))\n );\n}\n\ninterface NavigatorUAData {\n brands: Array<{ brand: string; version: string }>;\n mobile: boolean;\n platform: string;\n}\n\nexport function getUAString(): string {\n const uaData = (navigator as any).userAgentData as\n | NavigatorUAData\n | undefined;\n\n if (uaData?.brands) {\n return uaData.brands\n .map((item) => `${item.brand}/${item.version}`)\n .join(' ');\n }\n\n return navigator.userAgent;\n}\n\nexport function getParentNode(node: Node): Node {\n if (getNodeName(node) === 'html') {\n return node;\n }\n\n return (\n // this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // @ts-ignore\n node.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n node.parentNode || // DOM Element detected\n (isShadowRoot(node) ? node.host : null) || // ShadowRoot detected\n getDocumentElement(node) // fallback\n );\n}\n\nexport function getNodeName(node: Node | Window): string {\n return isWindow(node)\n ? ''\n : node\n ? (node.nodeName || '').toLowerCase()\n : '';\n}\n\nexport function getDocumentElement(node: Node | Window): HTMLElement {\n return (\n (isNode(node) ? node.ownerDocument : node.document) || window.document\n ).documentElement;\n}\n\nexport function isNode(value: any): value is Node {\n return value instanceof (getWindow(value) as unknown as { Node: any }).Node;\n}\n\nexport function isWindow(value: any): value is Window {\n return (\n value &&\n value.document &&\n value.location &&\n value.alert &&\n value.setInterval\n );\n}\n\nexport function getWindow(node: Node | Window): Window {\n if (node == null) {\n return window;\n }\n\n if (!isWindow(node)) {\n const ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}\n\nexport function isShadowRoot(node: Node): node is ShadowRoot {\n // Browsers without `ShadowRoot` support\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n const OwnElement = (\n getWindow(node) as unknown as { ShadowRoot: ShadowRoot }\n ).ShadowRoot;\n const testNode = node as Node;\n return (\n node instanceof (OwnElement as unknown as any) ||\n testNode instanceof ShadowRoot\n );\n}\n\nexport function isHTMLElement(value: any): value is HTMLElement {\n return (\n value instanceof\n (getWindow(value) as unknown as { HTMLElement: any }).HTMLElement\n );\n}\n"],
5
- "mappings": "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",
6
- "names": ["middlewareArguments", "x", "y", "reference", "floating", "onTopLayer", "topLayerIsFloating", "diffCoords", "e", "dialogAncestorQueryEvent", "event", "el", "overTransforms", "containingBlock", "getContainingBlock", "rect", "element", "currentNode", "isContainingBlock", "parent", "node", "isFirefox", "css", "uaData", "item", "value", "ownerDocument", "OwnElement", "testNode"]
7
- }