@react-native-aria/overlays 0.3.9-alpha.0 → 0.3.11-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/Portal.js +17 -37
- package/lib/commonjs/Portal.js.map +1 -1
- package/lib/commonjs/index.js +0 -10
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +0 -10
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/useOverlay.js +0 -1
- package/lib/commonjs/useOverlay.js.map +1 -1
- package/lib/commonjs/useOverlay.web.js +9 -11
- package/lib/commonjs/useOverlay.web.js.map +1 -1
- package/lib/commonjs/useOverlayPosition.js +54 -69
- package/lib/commonjs/useOverlayPosition.js.map +1 -1
- package/lib/commonjs/useOverlayPosition.web.js +0 -1
- package/lib/commonjs/useOverlayPosition.web.js.map +1 -1
- package/lib/commonjs/useOverlayTrigger.js +0 -1
- package/lib/commonjs/useOverlayTrigger.js.map +1 -1
- package/lib/commonjs/useOverlayTrigger.web.js +0 -1
- package/lib/commonjs/useOverlayTrigger.web.js.map +1 -1
- package/lib/commonjs/usePreventScroll.js +0 -2
- package/lib/commonjs/usePreventScroll.js.map +1 -1
- package/lib/commonjs/usePreventScroll.web.js +0 -1
- package/lib/commonjs/usePreventScroll.web.js.map +1 -1
- package/lib/commonjs/utils.js +8 -8
- package/lib/commonjs/utils.js.map +1 -1
- package/lib/commonjs/web/overlays/index.js +0 -2
- package/lib/commonjs/web/overlays/index.js.map +1 -1
- package/lib/commonjs/web/overlays/src/calculatePosition.js +35 -68
- package/lib/commonjs/web/overlays/src/calculatePosition.js.map +1 -1
- package/lib/commonjs/web/overlays/src/index.js +0 -2
- package/lib/commonjs/web/overlays/src/index.js.map +1 -1
- package/lib/commonjs/web/overlays/src/useCloseOnScroll.js +3 -12
- package/lib/commonjs/web/overlays/src/useCloseOnScroll.js.map +1 -1
- package/lib/commonjs/web/overlays/src/useOverlayPosition.js +19 -23
- package/lib/commonjs/web/overlays/src/useOverlayPosition.js.map +1 -1
- package/lib/module/Portal.js +13 -20
- package/lib/module/Portal.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/useOverlay.js.map +1 -1
- package/lib/module/useOverlay.web.js +9 -8
- package/lib/module/useOverlay.web.js.map +1 -1
- package/lib/module/useOverlayPosition.js +55 -60
- package/lib/module/useOverlayPosition.js.map +1 -1
- package/lib/module/useOverlayPosition.web.js.map +1 -1
- package/lib/module/useOverlayTrigger.js.map +1 -1
- package/lib/module/useOverlayTrigger.web.js.map +1 -1
- package/lib/module/usePreventScroll.js.map +1 -1
- package/lib/module/usePreventScroll.web.js.map +1 -1
- package/lib/module/utils.js +8 -4
- package/lib/module/utils.js.map +1 -1
- package/lib/module/web/overlays/index.js +1 -0
- package/lib/module/web/overlays/index.js.map +1 -1
- package/lib/module/web/overlays/src/calculatePosition.js +34 -57
- package/lib/module/web/overlays/src/calculatePosition.js.map +1 -1
- package/lib/module/web/overlays/src/index.js +1 -0
- package/lib/module/web/overlays/src/index.js.map +1 -1
- package/lib/module/web/overlays/src/useCloseOnScroll.js +4 -9
- package/lib/module/web/overlays/src/useCloseOnScroll.js.map +1 -1
- package/lib/module/web/overlays/src/useOverlayPosition.js +19 -18
- package/lib/module/web/overlays/src/useOverlayPosition.js.map +1 -1
- package/lib/typescript/Portal.d.ts +4 -2
- package/lib/typescript/Portal.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +1 -0
- package/lib/typescript/index.d.ts.map +1 -0
- package/lib/typescript/index.web.d.ts +1 -0
- package/lib/typescript/index.web.d.ts.map +1 -0
- package/lib/typescript/useOverlay.d.ts +1 -0
- package/lib/typescript/useOverlay.d.ts.map +1 -0
- package/lib/typescript/useOverlay.web.d.ts +1 -0
- package/lib/typescript/useOverlay.web.d.ts.map +1 -0
- package/lib/typescript/useOverlayPosition.d.ts +1 -0
- package/lib/typescript/useOverlayPosition.d.ts.map +1 -0
- package/lib/typescript/useOverlayPosition.web.d.ts +1 -0
- package/lib/typescript/useOverlayPosition.web.d.ts.map +1 -0
- package/lib/typescript/useOverlayTrigger.d.ts +1 -0
- package/lib/typescript/useOverlayTrigger.d.ts.map +1 -0
- package/lib/typescript/useOverlayTrigger.web.d.ts +1 -0
- package/lib/typescript/useOverlayTrigger.web.d.ts.map +1 -0
- package/lib/typescript/usePreventScroll.d.ts +1 -0
- package/lib/typescript/usePreventScroll.d.ts.map +1 -0
- package/lib/typescript/usePreventScroll.web.d.ts +1 -0
- package/lib/typescript/usePreventScroll.web.d.ts.map +1 -0
- package/lib/typescript/utils.d.ts +1 -0
- package/lib/typescript/utils.d.ts.map +1 -0
- package/lib/typescript/web/overlays/index.d.ts +1 -0
- package/lib/typescript/web/overlays/index.d.ts.map +1 -0
- package/lib/typescript/web/overlays/src/calculatePosition.d.ts +1 -0
- package/lib/typescript/web/overlays/src/calculatePosition.d.ts.map +1 -0
- package/lib/typescript/web/overlays/src/index.d.ts +1 -0
- package/lib/typescript/web/overlays/src/index.d.ts.map +1 -0
- package/lib/typescript/web/overlays/src/useCloseOnScroll.d.ts +1 -0
- package/lib/typescript/web/overlays/src/useCloseOnScroll.d.ts.map +1 -0
- package/lib/typescript/web/overlays/src/useOverlayPosition.d.ts +1 -0
- package/lib/typescript/web/overlays/src/useOverlayPosition.d.ts.map +1 -0
- package/package.json +3 -2
- package/src/useOverlayPosition.ts +37 -17
- package/src/utils.ts +1 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["useOverlayPosition.ts"],"names":["React","Dimensions","isRTL","APPROX_STATUSBAR_HEIGHT","measureOffset","ref","Promise","resolve","current","measureInWindow","x","y","width","height","top","left","useOverlayPosition","props","targetRef","overlayRef","placement","offset","crossOffset","isOpen","shouldFlip","shouldOverlapWithTrigger","position","setPosition","useState","arrowOffsetLeft","undefined","arrowOffsetTop","maxHeight","rendered","setRendered","updatePosition","overlayOffset","triggerOffset","all","requestAnimationFrame","windowHeight","windowWidth","get","positions","calculatePosition","translateRTL","targetNode","overlayNode","scrollNode","padding","boundaryElement","useEffect","useLayoutEffect","style","returnProps","overlayProps","arrowProps","replace","opts","childOffset","isContainerPositioned","overlaySize","margins","bottom","right","scrollSize","boundaryDimensions","containerOffsetWithBoundary","calculatePositionInternal","placementInput","flip","placementInfo","parsePlacement","size","crossAxis","crossSize","crossPlacement","computePosition","normalizedOffset","space","getAvailableSpace","flippedPlacementInfo","FLIPPED_DIRECTION","flippedPosition","flippedSpace","delta","getDelta","getMaxHeight","Math","min","arrowPosition","axis","containerDimensions","containerScroll","containerHeight","AXIS_SIZE","startEdgeOffset","endEdgeOffset","max","_containerOffsetWithBoundary","_margins","_padding","_isContainerPositioned","minViablePosition","maxViablePosition","floor","AXIS","CROSS_AXIS","PARSED_PLACEMENT_CACHE","input","split"],"mappings":"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","sourcesContent":["import type { PlacementAxis } from '@react-types/overlays';\nimport React, { RefObject } from 'react';\nimport type { Axis, SizeAxis } from '@react-types/overlays';\nimport {\n //@ts-ignore\n Dimensions,\n} from 'react-native';\nimport type { Placement, PositionProps } from '@react-types/overlays';\n//@ts-ignore\nimport { isRTL } from '@react-native-aria/utils';\n\nimport { APPROX_STATUSBAR_HEIGHT } from './utils';\nconst measureOffset = (ref: RefObject<any>) =>\n new Promise<IMeasureResult>((resolve) => {\n if (ref.current) {\n ref.current.measureInWindow(\n (x: number, y: number, width: number, height: number) => {\n resolve({ top: y, left: x, width, height });\n }\n );\n }\n });\n\ninterface ParsedPlacement {\n placement: PlacementAxis;\n crossPlacement: PlacementAxis;\n axis: Axis;\n crossAxis: Axis;\n size: SizeAxis;\n crossSize: SizeAxis;\n}\ninterface AriaPositionProps extends PositionProps {\n /**\n * Element that that serves as the positioning boundary.\n * @default document.body\n */\n boundaryElement?: any;\n /**\n * The ref for the element which the overlay positions itself with respect to.\n */\n targetRef: RefObject<any>;\n /**\n * The ref for the overlay element.\n */\n overlayRef: RefObject<any>;\n /**\n * A ref for the scrollable region within the overlay.\n * @default overlayRef\n */\n scrollRef?: RefObject<any>;\n /**\n * Whether the overlay should update its position automatically.\n * @default true\n */\n shouldUpdatePosition?: boolean;\n /** Handler that is called when the overlay should close. */\n onClose?: () => void;\n /** Determines whether the overlay should overlap with the trigger */\n shouldOverlapWithTrigger?: boolean;\n}\n\ntype IMeasureResult = {\n top: number;\n left: number;\n height: number;\n width: number;\n};\n\nexport function useOverlayPosition(props: AriaPositionProps) {\n let {\n targetRef,\n overlayRef,\n placement = 'bottom' as Placement,\n offset = 0,\n crossOffset = 0,\n isOpen = true,\n shouldFlip = true,\n shouldOverlapWithTrigger = false,\n } = props;\n\n let [position, setPosition] = React.useState<PositionResult>({\n position: {},\n arrowOffsetLeft: undefined,\n arrowOffsetTop: undefined,\n maxHeight: undefined,\n placement: undefined,\n });\n\n // Layout measurement happens asynchronously in RN. This causes initial flickr. Using opacity and setting it to 1 post calculation prevents that.\n let [rendered, setRendered] = React.useState(false);\n\n let updatePosition = async () => {\n const [overlayOffset, triggerOffset] = await Promise.all([\n measureOffset(overlayRef),\n measureOffset(targetRef),\n ]);\n\n // Sometimes measure returns height/width 0. Best solution would be to use onLayout callback, but that might diverege from React Aria's useOverlayPosition API. Decide later, this works for now\n if (\n !overlayOffset.width ||\n !overlayOffset.height ||\n !triggerOffset.width ||\n !triggerOffset.height\n ) {\n requestAnimationFrame(updatePosition);\n return;\n }\n\n const { height: windowHeight, width: windowWidth } = Dimensions.get(\n 'window'\n );\n\n const positions = calculatePosition({\n placement: translateRTL(placement),\n targetNode: triggerOffset,\n overlayNode: overlayOffset,\n scrollNode: overlayOffset,\n padding: 0,\n shouldFlip,\n boundaryElement: {\n top: 0,\n left: 0,\n width: windowWidth,\n height: windowHeight,\n },\n offset,\n crossOffset,\n shouldOverlapWithTrigger,\n });\n setPosition(positions);\n setRendered(true);\n };\n React.useEffect(() => {\n return () => {\n setRendered(false);\n };\n }, []);\n\n React.useLayoutEffect(() => {\n updatePosition();\n }, [\n placement,\n isOpen,\n offset,\n shouldFlip,\n crossOffset,\n shouldOverlapWithTrigger,\n ]);\n\n const style = {\n ...position.position,\n };\n\n if (position?.position?.top || position?.position?.top === 0) {\n style.top = (position?.position?.top || 0) + (APPROX_STATUSBAR_HEIGHT || 0);\n }\n\n const returnProps = {\n rendered,\n overlayProps: {\n style,\n },\n placement: position.placement,\n arrowProps: {\n style: {\n left: position.arrowOffsetLeft,\n top: (position?.arrowOffsetTop || 0) + (APPROX_STATUSBAR_HEIGHT || 0),\n },\n },\n updatePosition,\n };\n\n if (position.maxHeight !== undefined) {\n //@ts-ignore\n returnProps.overlayProps.style.maxHeight = position.maxHeight;\n }\n\n return returnProps;\n}\n\nfunction translateRTL(position: any) {\n if (isRTL()) {\n return position.replace('start', 'right').replace('end', 'left');\n }\n return position.replace('start', 'left').replace('end', 'right');\n}\n\ninterface Position {\n top?: number;\n left?: number;\n bottom?: number;\n right?: number;\n}\n\ninterface Dimensions {\n width: number;\n height: number;\n top: number;\n left: number;\n scroll: Position;\n}\n\ninterface Offset {\n top: number;\n left: number;\n width: number;\n height: number;\n}\n\nexport interface PositionResult {\n position?: Position;\n arrowOffsetLeft?: number;\n arrowOffsetTop?: number;\n maxHeight?: number;\n placement: PlacementAxis | undefined;\n}\n\nconst calculatePosition = (opts: any): PositionResult => {\n let {\n placement,\n targetNode,\n overlayNode,\n scrollNode,\n padding,\n shouldFlip,\n boundaryElement,\n offset,\n crossOffset,\n shouldOverlapWithTrigger,\n } = opts;\n\n let childOffset: Offset = targetNode;\n let isContainerPositioned = false;\n let overlaySize: Offset = overlayNode;\n let margins = { top: 0, bottom: 0, left: 0, right: 0 };\n let scrollSize = scrollNode;\n let boundaryDimensions = boundaryElement;\n\n let containerOffsetWithBoundary: Offset = overlayNode;\n\n return calculatePositionInternal(\n placement,\n childOffset,\n overlaySize,\n scrollSize,\n margins,\n padding,\n shouldFlip,\n boundaryDimensions,\n containerOffsetWithBoundary,\n offset,\n crossOffset,\n isContainerPositioned,\n shouldOverlapWithTrigger\n );\n};\n\nfunction calculatePositionInternal(\n placementInput: Placement,\n childOffset: any,\n overlaySize: Offset,\n scrollSize: Offset,\n margins: Position,\n padding: number,\n flip: boolean,\n boundaryDimensions: Dimensions,\n containerOffsetWithBoundary: Offset,\n offset: number,\n crossOffset: number,\n isContainerPositioned: boolean,\n shouldOverlapWithTrigger: boolean\n): PositionResult {\n let placementInfo = parsePlacement(placementInput);\n let { size, crossAxis, crossSize, placement, crossPlacement } = placementInfo;\n let position = computePosition(\n childOffset,\n boundaryDimensions,\n overlaySize,\n placementInfo,\n offset,\n crossOffset,\n containerOffsetWithBoundary,\n isContainerPositioned\n );\n let normalizedOffset = offset;\n let space = getAvailableSpace(\n boundaryDimensions,\n containerOffsetWithBoundary,\n childOffset,\n margins,\n padding + offset,\n placementInfo\n );\n\n if (flip && scrollSize[size] > space) {\n let flippedPlacementInfo = parsePlacement(\n `${FLIPPED_DIRECTION[placement]} ${crossPlacement}` as Placement\n );\n let flippedPosition = computePosition(\n childOffset,\n boundaryDimensions,\n overlaySize,\n flippedPlacementInfo,\n offset,\n crossOffset,\n containerOffsetWithBoundary,\n isContainerPositioned\n );\n let flippedSpace = getAvailableSpace(\n boundaryDimensions,\n containerOffsetWithBoundary,\n childOffset,\n margins,\n padding + offset,\n flippedPlacementInfo\n );\n\n // If the available space for the flipped position is greater than the original available space, flip.\n if (flippedSpace > space) {\n placementInfo = flippedPlacementInfo;\n position = flippedPosition;\n normalizedOffset = offset;\n }\n }\n\n let delta = getDelta(\n crossAxis,\n position[crossAxis],\n overlaySize[crossSize],\n boundaryDimensions,\n padding\n );\n position[crossAxis] += delta;\n\n let maxHeight = getMaxHeight(\n position,\n boundaryDimensions,\n containerOffsetWithBoundary,\n childOffset,\n margins,\n padding\n );\n\n overlaySize.height = Math.min(overlaySize.height, maxHeight);\n\n position = computePosition(\n childOffset,\n boundaryDimensions,\n overlaySize,\n placementInfo,\n normalizedOffset,\n crossOffset,\n containerOffsetWithBoundary,\n isContainerPositioned\n );\n\n delta = getDelta(\n crossAxis,\n position[crossAxis],\n overlaySize[crossSize],\n boundaryDimensions,\n padding\n );\n position[crossAxis] += delta;\n\n let arrowPosition: Position = {};\n arrowPosition[crossAxis] =\n childOffset[crossAxis] - position[crossAxis] + childOffset[crossSize] / 2;\n\n if (shouldOverlapWithTrigger) {\n position[FLIPPED_DIRECTION[placementInfo.placement]] =\n position[FLIPPED_DIRECTION[placementInfo.placement]] - childOffset[size];\n }\n\n return {\n position,\n maxHeight,\n arrowOffsetLeft: arrowPosition.left,\n arrowOffsetTop: arrowPosition.top,\n placement: placementInfo.placement,\n };\n}\n\nfunction getDelta(\n axis: Axis,\n offset: number,\n size: number,\n containerDimensions: Dimensions,\n padding: number\n) {\n //@ts-ignore\n let containerScroll = containerDimensions[axis];\n //@ts-ignore\n let containerHeight = containerDimensions[AXIS_SIZE[axis]];\n\n let startEdgeOffset = offset - padding - containerScroll;\n let endEdgeOffset = offset + padding - containerScroll + size;\n\n if (startEdgeOffset < 0) {\n return -startEdgeOffset;\n } else if (endEdgeOffset > containerHeight) {\n return Math.max(containerHeight - endEdgeOffset, -startEdgeOffset);\n } else {\n return 0;\n }\n}\n\nfunction getMaxHeight(\n position: Position,\n boundaryDimensions: Dimensions,\n _containerOffsetWithBoundary: Offset,\n childOffset: Offset,\n _margins: Position,\n _padding: number\n) {\n return position.top != null\n ? // We want the distance between the top of the overlay to the bottom of the boundary\n Math.max(\n 0,\n boundaryDimensions.height - // this is the bottom of the boundary\n position.top // this is the top of the overlay\n )\n : // We want the distance between the top of the trigger to the top of the boundary\n Math.max(\n 0,\n childOffset.top - // this is the top of the trigger\n 0 // this is the top of the boundary\n );\n}\n\nfunction computePosition(\n childOffset: any,\n boundaryDimensions: Dimensions,\n overlaySize: Offset,\n placementInfo: ParsedPlacement,\n offset: number,\n crossOffset: number,\n _containerOffsetWithBoundary: Offset,\n _isContainerPositioned: boolean\n) {\n let {\n placement,\n crossPlacement,\n axis,\n crossAxis,\n size,\n crossSize,\n } = placementInfo;\n let position: any = {};\n //@ts-ignore\n position[crossAxis] = childOffset[crossAxis];\n\n if (crossPlacement === 'center') {\n position[crossAxis] +=\n (childOffset[crossSize] - overlaySize[crossSize]) / 2;\n } else if (crossPlacement !== crossAxis) {\n position[crossAxis] += childOffset[crossSize] - overlaySize[crossSize];\n }\n\n position[crossAxis] += crossOffset;\n\n // this is button center position - the overlay size + half of the button to align bottom of overlay with button center\n let minViablePosition =\n childOffset[crossAxis] +\n childOffset[crossSize] / 2 -\n overlaySize[crossSize];\n // this is button position of center, aligns top of overlay with button center\n let maxViablePosition = childOffset[crossAxis] + childOffset[crossSize] / 2;\n\n // clamp it into the range of the min/max positions\n position[crossAxis] = Math.min(\n Math.max(minViablePosition, position[crossAxis]),\n maxViablePosition\n );\n\n // Floor these so the position isn't placed on a partial pixel, only whole pixels. Shouldn't matter if it was floored or ceiled, so chose one.\n if (placement === axis) {\n // If the container is positioned (non-static), then we use the container's actual\n // height, as `bottom` will be relative to this height. But if the container is static,\n // then it can only be the `document.body`, and `bottom` will be relative to _its_\n // container, which should be as large as boundaryDimensions.\n const containerHeight = boundaryDimensions[size];\n position[FLIPPED_DIRECTION[axis]] = Math.floor(\n containerHeight - childOffset[axis] + offset\n );\n } else {\n position[axis] = Math.floor(childOffset[axis] + childOffset[size] + offset);\n }\n\n return position;\n}\n\nfunction getAvailableSpace(\n boundaryDimensions: Dimensions,\n _containerOffsetWithBoundary: Offset,\n childOffset: any,\n _margins: Position,\n padding: number,\n placementInfo: ParsedPlacement\n) {\n let { placement, axis, size } = placementInfo;\n if (placement === axis) {\n return Math.max(0, childOffset[axis] - padding);\n }\n\n return Math.max(\n 0,\n boundaryDimensions[size] - childOffset[axis] - childOffset[size] - padding\n );\n}\n\nconst AXIS: any = {\n top: 'top',\n bottom: 'top',\n left: 'left',\n right: 'left',\n};\n\nconst FLIPPED_DIRECTION: any = {\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left',\n};\n\nconst CROSS_AXIS: any = {\n top: 'left',\n left: 'top',\n};\n\nconst AXIS_SIZE: any = {\n top: 'height',\n left: 'width',\n};\n\ninterface Position {\n top?: number;\n left?: number;\n bottom?: number;\n right?: number;\n}\n\ninterface Dimensions {\n width: number;\n height: number;\n top: number;\n left: number;\n scroll: Position;\n}\n\ninterface Offset {\n top: number;\n left: number;\n width: number;\n height: number;\n}\n\nconst PARSED_PLACEMENT_CACHE: any = {};\n\nfunction parsePlacement(input: Placement): ParsedPlacement {\n if (PARSED_PLACEMENT_CACHE[input]) {\n return PARSED_PLACEMENT_CACHE[input];\n }\n\n let [placement, crossPlacement] = input.split(' ');\n let axis: Axis = AXIS[placement] || 'right';\n let crossAxis: Axis = CROSS_AXIS[axis];\n\n if (!AXIS[crossPlacement]) {\n crossPlacement = 'center';\n }\n\n let size = AXIS_SIZE[axis];\n let crossSize = AXIS_SIZE[crossAxis];\n PARSED_PLACEMENT_CACHE[input] = {\n placement,\n crossPlacement,\n axis,\n crossAxis,\n size,\n crossSize,\n };\n return PARSED_PLACEMENT_CACHE[input];\n}\n"]}
|
1
|
+
{"version":3,"names":["React","Dimensions","isRTL","APPROX_STATUSBAR_HEIGHT","measureOffset","ref","Promise","resolve","current","measureInWindow","x","y","width","height","top","left","getArrowPropsWithStatusBarHeight","topWithStatusBarHeight","undefined","style","useOverlayPosition","props","_position$position","_position$position2","targetRef","overlayRef","placement","offset","crossOffset","isOpen","shouldFlip","shouldOverlapWithTrigger","position","setPosition","useState","arrowOffsetLeft","arrowOffsetTop","maxHeight","rendered","setRendered","updatePosition","overlayOffset","triggerOffset","all","requestAnimationFrame","windowHeight","windowWidth","get","positions","calculatePosition","translateRTL","targetNode","overlayNode","scrollNode","padding","boundaryElement","useEffect","useLayoutEffect","_position$position3","arrowPropsWithStatusBarHeight","returnProps","overlayProps","arrowProps","replace","opts","childOffset","isContainerPositioned","overlaySize","margins","bottom","right","scrollSize","boundaryDimensions","containerOffsetWithBoundary","calculatePositionInternal","placementInput","flip","placementInfo","parsePlacement","size","crossAxis","crossSize","crossPlacement","computePosition","normalizedOffset","space","getAvailableSpace","flippedPlacementInfo","FLIPPED_DIRECTION","flippedPosition","flippedSpace","delta","getDelta","getMaxHeight","Math","min","arrowPosition","axis","containerDimensions","containerScroll","containerHeight","AXIS_SIZE","startEdgeOffset","endEdgeOffset","max","_containerOffsetWithBoundary","_margins","_padding","_isContainerPositioned","minViablePosition","maxViablePosition","floor","AXIS","CROSS_AXIS","PARSED_PLACEMENT_CACHE","input","split"],"sourceRoot":"../../src","sources":["useOverlayPosition.ts"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"names":["useOverlayPosition"],"sourceRoot":"../../src","sources":["useOverlayPosition.web.ts"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,uCAAuC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"names":["useOverlayTrigger","_props","state","_ref","triggerProps","isOpen","overlayProps"],"sourceRoot":"../../src","sources":["useOverlayTrigger.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAkBA;AACA;AACA;AACA;AACA,OAAO,SAASA,iBAAiBA,CAC/BC,MAA2B,EAC3BC,KAA0B,EAC1BC,IAA4B,EACR;EACpB,OAAO;IACLC,YAAY,EAAE;MACZ,eAAe,EAAEF,KAAK,CAACG;IACzB,CAAC;IACDC,YAAY,EAAE,CAAC;EACjB,CAAC;AACH"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"names":["useOverlayTrigger"],"sourceRoot":"../../src","sources":["useOverlayTrigger.web.ts"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,sBAAsB"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"names":["usePreventScroll","_options"],"sourceRoot":"../../src","sources":["usePreventScroll.ts"],"mappings":"AAKA;AACA,OAAO,MAAMA,gBAAgB,GAAGA,CAACC,QAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"names":["usePreventScroll"],"sourceRoot":"../../src","sources":["usePreventScroll.web.ts"],"mappings":"AAAA,SAASA,gBAAgB,QAAQ,sBAAsB"}
|
package/lib/module/utils.js
CHANGED
@@ -1,14 +1,18 @@
|
|
1
|
-
import { Platform, StatusBar } from 'react-native';
|
1
|
+
import { Platform, StatusBar } from 'react-native';
|
2
|
+
// import Constants from 'expo-constants';
|
2
3
|
// @ts-ignore
|
3
4
|
// const expo = global.__expo;
|
4
5
|
|
5
6
|
const IOS_STATUS_BAR_HEIGHT = 20;
|
6
|
-
const DEFAULT_STATUSBAR_HEIGHT_EXPO = 0;
|
7
|
+
const DEFAULT_STATUSBAR_HEIGHT_EXPO = 0;
|
8
|
+
|
9
|
+
// https://docs.expo.io/versions/latest/sdk/constants/
|
7
10
|
// Try to get height from expo if app is using expo env
|
8
11
|
// IOS >= 11 is handled using SafeAreaView
|
9
|
-
|
10
12
|
export const APPROX_STATUSBAR_HEIGHT = Platform.select({
|
11
13
|
android: DEFAULT_STATUSBAR_HEIGHT_EXPO ? DEFAULT_STATUSBAR_HEIGHT_EXPO : StatusBar.currentHeight,
|
12
|
-
ios:
|
14
|
+
ios:
|
15
|
+
// @ts-ignore
|
16
|
+
Platform.Version < 11 ? DEFAULT_STATUSBAR_HEIGHT_EXPO ? DEFAULT_STATUSBAR_HEIGHT_EXPO : IOS_STATUS_BAR_HEIGHT : 0
|
13
17
|
});
|
14
18
|
//# sourceMappingURL=utils.js.map
|
package/lib/module/utils.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"names":["Platform","StatusBar","IOS_STATUS_BAR_HEIGHT","DEFAULT_STATUSBAR_HEIGHT_EXPO","APPROX_STATUSBAR_HEIGHT","select","android","currentHeight","ios","Version"],"sourceRoot":"../../src","sources":["utils.ts"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,SAAS,QAAQ,cAAc;AAClD;AACA;AACA;;AAEA,MAAMC,qBAAqB,GAAG,EAAE;AAEhC,MAAMC,6BAA6B,GAAG,CAAC;;AAEvC;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,GAAGJ,QAAQ,CAACK,MAAM,CAAC;EACrDC,OAAO,EAAEH,6BAA6B,GAClCA,6BAA6B,GAC7BF,SAAS,CAACM,aAAa;EAC3BC,GAAG;EACD;EACAR,QAAQ,CAACS,OAAO,GAAG,EAAE,GACjBN,6BAA6B,GAC3BA,6BAA6B,GAC7BD,qBAAqB,GACvB;AACR,CAAC,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["web/overlays/index.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,OAAO"}
|
@@ -1,5 +1,4 @@
|
|
1
1
|
// @ts-nocheck
|
2
|
-
|
3
2
|
/*
|
4
3
|
* Copyright 2020 Adobe. All rights reserved.
|
5
4
|
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
@@ -11,6 +10,7 @@
|
|
11
10
|
* OF ANY KIND, either express or implied. See the License for the specific language
|
12
11
|
* governing permissions and limitations under the License.
|
13
12
|
*/
|
13
|
+
|
14
14
|
import getCss from 'dom-helpers/css';
|
15
15
|
import getOffset from 'dom-helpers/offset';
|
16
16
|
import getPosition from 'dom-helpers/position';
|
@@ -38,22 +38,19 @@ const AXIS_SIZE = {
|
|
38
38
|
top: 'height',
|
39
39
|
left: 'width'
|
40
40
|
};
|
41
|
-
const PARSED_PLACEMENT_CACHE = {};
|
41
|
+
const PARSED_PLACEMENT_CACHE = {};
|
42
42
|
|
43
|
+
// @ts-ignore
|
43
44
|
let visualViewport = typeof window !== 'undefined' && window.visualViewport;
|
44
|
-
|
45
45
|
function getContainerDimensions(containerNode) {
|
46
46
|
let width = 0,
|
47
|
-
|
48
|
-
|
49
|
-
|
47
|
+
height = 0,
|
48
|
+
top = 0,
|
49
|
+
left = 0;
|
50
50
|
let scroll = {};
|
51
|
-
|
52
51
|
if (containerNode.tagName === 'BODY') {
|
53
|
-
|
54
|
-
|
55
|
-
width = (_visualViewport$width = visualViewport === null || visualViewport === void 0 ? void 0 : visualViewport.width) !== null && _visualViewport$width !== void 0 ? _visualViewport$width : document.documentElement.clientWidth;
|
56
|
-
height = (_visualViewport$heigh = visualViewport === null || visualViewport === void 0 ? void 0 : visualViewport.height) !== null && _visualViewport$heigh !== void 0 ? _visualViewport$heigh : document.documentElement.clientHeight;
|
52
|
+
width = (visualViewport === null || visualViewport === void 0 ? void 0 : visualViewport.width) ?? document.documentElement.clientWidth;
|
53
|
+
height = (visualViewport === null || visualViewport === void 0 ? void 0 : visualViewport.height) ?? document.documentElement.clientHeight;
|
57
54
|
scroll.top = getScrollTop(ownerDocument(containerNode).documentElement) || getScrollTop(containerNode);
|
58
55
|
scroll.left = getScrollLeft(ownerDocument(containerNode).documentElement) || getScrollLeft(containerNode);
|
59
56
|
} else {
|
@@ -66,7 +63,6 @@ function getContainerDimensions(containerNode) {
|
|
66
63
|
scroll.top = getScrollTop(containerNode);
|
67
64
|
scroll.left = getScrollLeft(containerNode);
|
68
65
|
}
|
69
|
-
|
70
66
|
return {
|
71
67
|
width,
|
72
68
|
height,
|
@@ -75,7 +71,6 @@ function getContainerDimensions(containerNode) {
|
|
75
71
|
left
|
76
72
|
};
|
77
73
|
}
|
78
|
-
|
79
74
|
function getScroll(node) {
|
80
75
|
return {
|
81
76
|
top: node.scrollTop,
|
@@ -84,13 +79,11 @@ function getScroll(node) {
|
|
84
79
|
height: node.scrollHeight
|
85
80
|
};
|
86
81
|
}
|
87
|
-
|
88
82
|
function getDelta(axis, offset, size, containerDimensions, padding) {
|
89
83
|
let containerScroll = containerDimensions.scroll[axis];
|
90
84
|
let containerHeight = containerDimensions[AXIS_SIZE[axis]];
|
91
85
|
let startEdgeOffset = offset - padding - containerScroll;
|
92
86
|
let endEdgeOffset = offset + padding - containerScroll + size;
|
93
|
-
|
94
87
|
if (startEdgeOffset < 0) {
|
95
88
|
return -startEdgeOffset;
|
96
89
|
} else if (endEdgeOffset > containerHeight) {
|
@@ -99,7 +92,6 @@ function getDelta(axis, offset, size, containerDimensions, padding) {
|
|
99
92
|
return 0;
|
100
93
|
}
|
101
94
|
}
|
102
|
-
|
103
95
|
function getMargins(node) {
|
104
96
|
let style = window.getComputedStyle(node);
|
105
97
|
return {
|
@@ -109,20 +101,16 @@ function getMargins(node) {
|
|
109
101
|
right: parseInt(style.marginRight, 10) || 0
|
110
102
|
};
|
111
103
|
}
|
112
|
-
|
113
104
|
function parsePlacement(input) {
|
114
105
|
if (PARSED_PLACEMENT_CACHE[input]) {
|
115
106
|
return PARSED_PLACEMENT_CACHE[input];
|
116
107
|
}
|
117
|
-
|
118
108
|
let [placement, crossPlacement] = input.split(' ');
|
119
109
|
let axis = AXIS[placement] || 'right';
|
120
110
|
let crossAxis = CROSS_AXIS[axis];
|
121
|
-
|
122
111
|
if (!AXIS[crossPlacement]) {
|
123
112
|
crossPlacement = 'center';
|
124
113
|
}
|
125
|
-
|
126
114
|
let size = AXIS_SIZE[axis];
|
127
115
|
let crossSize = AXIS_SIZE[crossAxis];
|
128
116
|
PARSED_PLACEMENT_CACHE[input] = {
|
@@ -135,7 +123,6 @@ function parsePlacement(input) {
|
|
135
123
|
};
|
136
124
|
return PARSED_PLACEMENT_CACHE[input];
|
137
125
|
}
|
138
|
-
|
139
126
|
function computePosition(childOffset, boundaryDimensions, overlaySize, placementInfo, offset, crossOffset, containerOffsetWithBoundary, isContainerPositioned) {
|
140
127
|
let {
|
141
128
|
placement,
|
@@ -145,10 +132,10 @@ function computePosition(childOffset, boundaryDimensions, overlaySize, placement
|
|
145
132
|
size,
|
146
133
|
crossSize
|
147
134
|
} = placementInfo;
|
148
|
-
let position = {};
|
135
|
+
let position = {};
|
149
136
|
|
137
|
+
// button position
|
150
138
|
position[crossAxis] = childOffset[crossAxis];
|
151
|
-
|
152
139
|
if (crossPlacement === 'center') {
|
153
140
|
// + (button size / 2) - (overlay size / 2)
|
154
141
|
// at this point the overlay center should match the button center
|
@@ -157,27 +144,27 @@ function computePosition(childOffset, boundaryDimensions, overlaySize, placement
|
|
157
144
|
// + (button size) - (overlay size)
|
158
145
|
// at this point the overlay bottom should match the button bottom
|
159
146
|
position[crossAxis] += childOffset[crossSize] - overlaySize[crossSize];
|
160
|
-
}
|
161
|
-
|
162
|
-
|
163
|
-
} */
|
147
|
+
} /* else {
|
148
|
+
the overlay top should match the button top
|
149
|
+
} */
|
164
150
|
// add the crossOffset from props
|
151
|
+
position[crossAxis] += crossOffset;
|
165
152
|
|
166
|
-
|
167
|
-
position[crossAxis] += crossOffset; // // this is button center position - the overlay size + half of the button to align bottom of overlay with button center
|
153
|
+
// // this is button center position - the overlay size + half of the button to align bottom of overlay with button center
|
168
154
|
// let minViablePosition =
|
169
155
|
// childOffset[crossAxis] +
|
170
156
|
// childOffset[crossSize] / 2 -
|
171
157
|
// overlaySize[crossSize];
|
172
158
|
// // this is button position of center, aligns top of overlay with button center
|
173
159
|
// let maxViablePosition = childOffset[crossAxis] + childOffset[crossSize] / 2;
|
160
|
+
|
174
161
|
// // clamp it into the range of the min/max positions
|
175
162
|
// position[crossAxis] = Math.min(
|
176
163
|
// Math.max(minViablePosition, position[crossAxis]),
|
177
164
|
// maxViablePosition
|
178
165
|
// );
|
179
|
-
// Floor these so the position isn't placed on a partial pixel, only whole pixels. Shouldn't matter if it was floored or ceiled, so chose one.
|
180
166
|
|
167
|
+
// Floor these so the position isn't placed on a partial pixel, only whole pixels. Shouldn't matter if it was floored or ceiled, so chose one.
|
181
168
|
if (placement === axis) {
|
182
169
|
// If the container is positioned (non-static), then we use the container's actual
|
183
170
|
// height, as `bottom` will be relative to this height. But if the container is static,
|
@@ -188,36 +175,36 @@ function computePosition(childOffset, boundaryDimensions, overlaySize, placement
|
|
188
175
|
} else {
|
189
176
|
position[axis] = Math.floor(childOffset[axis] + childOffset[size] + offset);
|
190
177
|
}
|
191
|
-
|
192
178
|
return position;
|
193
179
|
}
|
194
|
-
|
195
180
|
function getMaxHeight(position, boundaryDimensions, containerOffsetWithBoundary, childOffset, margins, padding) {
|
196
|
-
return position.top != null ?
|
197
|
-
|
198
|
-
|
181
|
+
return position.top != null ?
|
182
|
+
// We want the distance between the top of the overlay to the bottom of the boundary
|
183
|
+
Math.max(0, boundaryDimensions.height + boundaryDimensions.top + boundaryDimensions.scroll.top - (
|
184
|
+
// this is the bottom of the boundary
|
185
|
+
containerOffsetWithBoundary.top + position.top) - (
|
186
|
+
// this is the top of the overlay
|
199
187
|
margins.top + margins.bottom + padding) // save additional space for margin and padding
|
200
|
-
) :
|
201
|
-
|
202
|
-
|
188
|
+
) :
|
189
|
+
// We want the distance between the top of the trigger to the top of the boundary
|
190
|
+
Math.max(0, childOffset.top + containerOffsetWithBoundary.top - (
|
191
|
+
// this is the top of the trigger
|
192
|
+
boundaryDimensions.top + boundaryDimensions.scroll.top) - (
|
193
|
+
// this is the top of the boundary
|
203
194
|
margins.top + margins.bottom + padding) // save additional space for margin and padding
|
204
195
|
);
|
205
196
|
}
|
206
|
-
|
207
197
|
function getAvailableSpace(boundaryDimensions, containerOffsetWithBoundary, childOffset, margins, padding, placementInfo) {
|
208
198
|
let {
|
209
199
|
placement,
|
210
200
|
axis,
|
211
201
|
size
|
212
202
|
} = placementInfo;
|
213
|
-
|
214
203
|
if (placement === axis) {
|
215
204
|
return Math.max(0, childOffset[axis] - boundaryDimensions[axis] - boundaryDimensions.scroll[axis] + containerOffsetWithBoundary[axis] - margins[axis] - margins[FLIPPED_DIRECTION[axis]] - padding);
|
216
205
|
}
|
217
|
-
|
218
206
|
return Math.max(0, boundaryDimensions[size] + boundaryDimensions[axis] + boundaryDimensions.scroll[axis] - containerOffsetWithBoundary[axis] - childOffset[axis] - childOffset[size] - margins[axis] - margins[FLIPPED_DIRECTION[axis]] - padding);
|
219
207
|
}
|
220
|
-
|
221
208
|
export function calculatePositionInternal(placementInput, childOffset, overlaySize, scrollSize, margins, padding, flip, boundaryDimensions, containerOffsetWithBoundary, offset, crossOffset, isContainerPositioned, shouldOverlapWithTrigger) {
|
222
209
|
let placementInfo = parsePlacement(placementInput);
|
223
210
|
let {
|
@@ -230,20 +217,21 @@ export function calculatePositionInternal(placementInput, childOffset, overlaySi
|
|
230
217
|
} = placementInfo;
|
231
218
|
let position = computePosition(childOffset, boundaryDimensions, overlaySize, placementInfo, offset, crossOffset, containerOffsetWithBoundary, isContainerPositioned);
|
232
219
|
let normalizedOffset = offset;
|
233
|
-
let space = getAvailableSpace(boundaryDimensions, containerOffsetWithBoundary, childOffset, margins, padding + offset, placementInfo);
|
220
|
+
let space = getAvailableSpace(boundaryDimensions, containerOffsetWithBoundary, childOffset, margins, padding + offset, placementInfo);
|
234
221
|
|
222
|
+
// Check if the scroll size of the overlay is greater than the available space to determine if we need to flip
|
235
223
|
if (flip && scrollSize[size] > space) {
|
236
224
|
let flippedPlacementInfo = parsePlacement(`${FLIPPED_DIRECTION[placement]} ${crossPlacement}`);
|
237
225
|
let flippedPosition = computePosition(childOffset, boundaryDimensions, overlaySize, flippedPlacementInfo, offset, crossOffset, containerOffsetWithBoundary, isContainerPositioned);
|
238
|
-
let flippedSpace = getAvailableSpace(boundaryDimensions, containerOffsetWithBoundary, childOffset, margins, padding + offset, flippedPlacementInfo);
|
226
|
+
let flippedSpace = getAvailableSpace(boundaryDimensions, containerOffsetWithBoundary, childOffset, margins, padding + offset, flippedPlacementInfo);
|
239
227
|
|
228
|
+
// If the available space for the flipped position is greater than the original available space, flip.
|
240
229
|
if (flippedSpace > space) {
|
241
230
|
placementInfo = flippedPlacementInfo;
|
242
231
|
position = flippedPosition;
|
243
232
|
normalizedOffset = offset;
|
244
233
|
}
|
245
234
|
}
|
246
|
-
|
247
235
|
let delta = getDelta(crossAxis, position[crossAxis], overlaySize[crossSize], boundaryDimensions, padding);
|
248
236
|
position[crossAxis] += delta;
|
249
237
|
let maxHeight = getMaxHeight(position, boundaryDimensions, containerOffsetWithBoundary, childOffset, margins, padding);
|
@@ -253,11 +241,9 @@ export function calculatePositionInternal(placementInput, childOffset, overlaySi
|
|
253
241
|
position[crossAxis] += delta;
|
254
242
|
let arrowPosition = {};
|
255
243
|
arrowPosition[crossAxis] = childOffset[crossAxis] - position[crossAxis] + childOffset[crossSize] / 2;
|
256
|
-
|
257
244
|
if (shouldOverlapWithTrigger) {
|
258
245
|
position[FLIPPED_DIRECTION[placementInfo.placement]] = position[FLIPPED_DIRECTION[placementInfo.placement]] - childOffset[size];
|
259
246
|
}
|
260
|
-
|
261
247
|
return {
|
262
248
|
position,
|
263
249
|
maxHeight: maxHeight,
|
@@ -266,10 +252,10 @@ export function calculatePositionInternal(placementInput, childOffset, overlaySi
|
|
266
252
|
placement: placementInfo.placement
|
267
253
|
};
|
268
254
|
}
|
255
|
+
|
269
256
|
/**
|
270
257
|
* Determines where to place the overlay with regards to the target and the position of an optional indicator.
|
271
258
|
*/
|
272
|
-
|
273
259
|
export function calculatePosition(opts) {
|
274
260
|
let {
|
275
261
|
placement,
|
@@ -288,12 +274,10 @@ export function calculatePosition(opts) {
|
|
288
274
|
const containerPositionStyle = window.getComputedStyle(container).position;
|
289
275
|
let isContainerPositioned = !!containerPositionStyle && containerPositionStyle !== 'static';
|
290
276
|
let childOffset = isBodyContainer ? getOffset(targetNode) : getPosition(targetNode, container);
|
291
|
-
|
292
277
|
if (!isBodyContainer) {
|
293
278
|
childOffset.top += parseInt(getCss(targetNode, 'marginTop'), 10) || 0;
|
294
279
|
childOffset.left += parseInt(getCss(targetNode, 'marginLeft'), 10) || 0;
|
295
280
|
}
|
296
|
-
|
297
281
|
let overlaySize = getOffset(overlayNode);
|
298
282
|
const matrix = getComputedStyle(overlayNode).getPropertyValue('transform');
|
299
283
|
const transform = matrix;
|
@@ -301,32 +285,25 @@ export function calculatePosition(opts) {
|
|
301
285
|
const matches = transform.match(regex);
|
302
286
|
let scaleX = 1;
|
303
287
|
let scaleY = 1;
|
304
|
-
|
305
288
|
if (matches) {
|
306
289
|
scaleX = parseFloat(matches[1]);
|
307
290
|
scaleY = parseFloat(matches[4]);
|
308
|
-
|
309
291
|
if (!scaleX || !Number.isFinite(scaleX)) {
|
310
292
|
scaleX = 1;
|
311
293
|
}
|
312
|
-
|
313
294
|
if (!scaleY || !Number.isFinite(scaleY)) {
|
314
295
|
scaleY = 1;
|
315
296
|
}
|
316
297
|
}
|
317
|
-
|
318
298
|
let margins = getMargins(overlayNode);
|
319
299
|
overlaySize.width += margins.left + margins.right;
|
320
300
|
overlaySize.height += margins.top + margins.bottom;
|
321
|
-
|
322
301
|
if (scaleX) {
|
323
302
|
overlaySize.width = overlaySize.width / scaleX;
|
324
303
|
}
|
325
|
-
|
326
304
|
if (scaleY) {
|
327
305
|
overlaySize.height = overlaySize.height / scaleY;
|
328
306
|
}
|
329
|
-
|
330
307
|
let scrollSize = getScroll(scrollNode);
|
331
308
|
let boundaryDimensions = getContainerDimensions(boundaryElement);
|
332
309
|
let containerOffsetWithBoundary = boundaryElement.tagName === 'BODY' ? getOffset(container) : getPosition(container, boundaryElement);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["calculatePosition.ts"],"names":["getCss","getOffset","getPosition","getScrollLeft","getScrollTop","ownerDocument","getComputedStyle","AXIS","top","bottom","left","right","FLIPPED_DIRECTION","CROSS_AXIS","AXIS_SIZE","PARSED_PLACEMENT_CACHE","visualViewport","window","getContainerDimensions","containerNode","width","height","scroll","tagName","document","documentElement","clientWidth","clientHeight","getScroll","node","scrollTop","scrollLeft","scrollWidth","scrollHeight","getDelta","axis","offset","size","containerDimensions","padding","containerScroll","containerHeight","startEdgeOffset","endEdgeOffset","Math","max","getMargins","style","parseInt","marginTop","marginBottom","marginLeft","marginRight","parsePlacement","input","placement","crossPlacement","split","crossAxis","crossSize","computePosition","childOffset","boundaryDimensions","overlaySize","placementInfo","crossOffset","containerOffsetWithBoundary","isContainerPositioned","position","floor","getMaxHeight","margins","getAvailableSpace","calculatePositionInternal","placementInput","scrollSize","flip","shouldOverlapWithTrigger","normalizedOffset","space","flippedPlacementInfo","flippedPosition","flippedSpace","delta","maxHeight","min","arrowPosition","arrowOffsetLeft","arrowOffsetTop","calculatePosition","opts","targetNode","overlayNode","scrollNode","shouldFlip","boundaryElement","container","offsetParent","body","isBodyContainer","containerPositionStyle","matrix","getPropertyValue","transform","regex","matches","match","scaleX","scaleY","parseFloat","Number","isFinite"],"mappings":"AAAA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAQA,OAAOA,MAAP,MAAmB,iBAAnB;AACA,OAAOC,SAAP,MAAsB,oBAAtB;AACA,OAAOC,WAAP,MAAwB,sBAAxB;AACA,OAAOC,aAAP,MAA0B,wBAA1B;AACA,OAAOC,YAAP,MAAyB,uBAAzB;AACA,OAAOC,aAAP,MAA0B,2BAA1B;AACA,OAAOC,gBAAP,MAA6B,8BAA7B;AAsDA,MAAMC,IAAI,GAAG;AACXC,EAAAA,GAAG,EAAE,KADM;AAEXC,EAAAA,MAAM,EAAE,KAFG;AAGXC,EAAAA,IAAI,EAAE,MAHK;AAIXC,EAAAA,KAAK,EAAE;AAJI,CAAb;AAOA,MAAMC,iBAAiB,GAAG;AACxBJ,EAAAA,GAAG,EAAE,QADmB;AAExBC,EAAAA,MAAM,EAAE,KAFgB;AAGxBC,EAAAA,IAAI,EAAE,OAHkB;AAIxBC,EAAAA,KAAK,EAAE;AAJiB,CAA1B;AAOA,MAAME,UAAU,GAAG;AACjBL,EAAAA,GAAG,EAAE,MADY;AAEjBE,EAAAA,IAAI,EAAE;AAFW,CAAnB;AAKA,MAAMI,SAAS,GAAG;AAChBN,EAAAA,GAAG,EAAE,QADW;AAEhBE,EAAAA,IAAI,EAAE;AAFU,CAAlB;AAKA,MAAMK,sBAAsB,GAAG,EAA/B,C,CAEA;;AACA,IAAIC,cAAc,GAAG,OAAOC,MAAP,KAAkB,WAAlB,IAAiCA,MAAM,CAACD,cAA7D;;AAEA,SAASE,sBAAT,CAAgCC,aAAhC,EAAoE;AAClE,MAAIC,KAAK,GAAG,CAAZ;AAAA,MACEC,MAAM,GAAG,CADX;AAAA,MAEEb,GAAG,GAAG,CAFR;AAAA,MAGEE,IAAI,GAAG,CAHT;AAIA,MAAIY,MAAgB,GAAG,EAAvB;;AAEA,MAAIH,aAAa,CAACI,OAAd,KAA0B,MAA9B,EAAsC;AAAA;;AACpCH,IAAAA,KAAK,4BAAGJ,cAAH,aAAGA,cAAH,uBAAGA,cAAc,CAAEI,KAAnB,yEAA4BI,QAAQ,CAACC,eAAT,CAAyBC,WAA1D;AACAL,IAAAA,MAAM,4BAAGL,cAAH,aAAGA,cAAH,uBAAGA,cAAc,CAAEK,MAAnB,yEAA6BG,QAAQ,CAACC,eAAT,CAAyBE,YAA5D;AAEAL,IAAAA,MAAM,CAACd,GAAP,GACEJ,YAAY,CAACC,aAAa,CAACc,aAAD,CAAb,CAA6BM,eAA9B,CAAZ,IACArB,YAAY,CAACe,aAAD,CAFd;AAGAG,IAAAA,MAAM,CAACZ,IAAP,GACEP,aAAa,CAACE,aAAa,CAACc,aAAD,CAAb,CAA6BM,eAA9B,CAAb,IACAtB,aAAa,CAACgB,aAAD,CAFf;AAGD,GAVD,MAUO;AACL,KAAC;AAAEC,MAAAA,KAAF;AAASC,MAAAA,MAAT;AAAiBb,MAAAA,GAAjB;AAAsBE,MAAAA;AAAtB,QAA+BT,SAAS,CAACkB,aAAD,CAAzC;AACAG,IAAAA,MAAM,CAACd,GAAP,GAAaJ,YAAY,CAACe,aAAD,CAAzB;AACAG,IAAAA,MAAM,CAACZ,IAAP,GAAcP,aAAa,CAACgB,aAAD,CAA3B;AACD;;AAED,SAAO;AAAEC,IAAAA,KAAF;AAASC,IAAAA,MAAT;AAAiBC,IAAAA,MAAjB;AAAyBd,IAAAA,GAAzB;AAA8BE,IAAAA;AAA9B,GAAP;AACD;;AAED,SAASkB,SAAT,CAAmBC,IAAnB,EAA8C;AAC5C,SAAO;AACLrB,IAAAA,GAAG,EAAEqB,IAAI,CAACC,SADL;AAELpB,IAAAA,IAAI,EAAEmB,IAAI,CAACE,UAFN;AAGLX,IAAAA,KAAK,EAAES,IAAI,CAACG,WAHP;AAILX,IAAAA,MAAM,EAAEQ,IAAI,CAACI;AAJR,GAAP;AAMD;;AAED,SAASC,QAAT,CACEC,IADF,EAEEC,MAFF,EAGEC,IAHF,EAIEC,mBAJF,EAKEC,OALF,EAME;AACA,MAAIC,eAAe,GAAGF,mBAAmB,CAAChB,MAApB,CAA2Ba,IAA3B,CAAtB;AACA,MAAIM,eAAe,GAAGH,mBAAmB,CAACxB,SAAS,CAACqB,IAAD,CAAV,CAAzC;AAEA,MAAIO,eAAe,GAAGN,MAAM,GAAGG,OAAT,GAAmBC,eAAzC;AACA,MAAIG,aAAa,GAAGP,MAAM,GAAGG,OAAT,GAAmBC,eAAnB,GAAqCH,IAAzD;;AAEA,MAAIK,eAAe,GAAG,CAAtB,EAAyB;AACvB,WAAO,CAACA,eAAR;AACD,GAFD,MAEO,IAAIC,aAAa,GAAGF,eAApB,EAAqC;AAC1C,WAAOG,IAAI,CAACC,GAAL,CAASJ,eAAe,GAAGE,aAA3B,EAA0C,CAACD,eAA3C,CAAP;AACD,GAFM,MAEA;AACL,WAAO,CAAP;AACD;AACF;;AAED,SAASI,UAAT,CAAoBjB,IAApB,EAAiD;AAC/C,MAAIkB,KAAK,GAAG9B,MAAM,CAACX,gBAAP,CAAwBuB,IAAxB,CAAZ;AACA,SAAO;AACLrB,IAAAA,GAAG,EAAEwC,QAAQ,CAACD,KAAK,CAACE,SAAP,EAAkB,EAAlB,CAAR,IAAiC,CADjC;AAELxC,IAAAA,MAAM,EAAEuC,QAAQ,CAACD,KAAK,CAACG,YAAP,EAAqB,EAArB,CAAR,IAAoC,CAFvC;AAGLxC,IAAAA,IAAI,EAAEsC,QAAQ,CAACD,KAAK,CAACI,UAAP,EAAmB,EAAnB,CAAR,IAAkC,CAHnC;AAILxC,IAAAA,KAAK,EAAEqC,QAAQ,CAACD,KAAK,CAACK,WAAP,EAAoB,EAApB,CAAR,IAAmC;AAJrC,GAAP;AAMD;;AAED,SAASC,cAAT,CAAwBC,KAAxB,EAA2D;AACzD,MAAIvC,sBAAsB,CAACuC,KAAD,CAA1B,EAAmC;AACjC,WAAOvC,sBAAsB,CAACuC,KAAD,CAA7B;AACD;;AAED,MAAI,CAACC,SAAD,EAAYC,cAAZ,IAA8BF,KAAK,CAACG,KAAN,CAAY,GAAZ,CAAlC;AACA,MAAItB,IAAU,GAAG5B,IAAI,CAACgD,SAAD,CAAJ,IAAmB,OAApC;AACA,MAAIG,SAAe,GAAG7C,UAAU,CAACsB,IAAD,CAAhC;;AAEA,MAAI,CAAC5B,IAAI,CAACiD,cAAD,CAAT,EAA2B;AACzBA,IAAAA,cAAc,GAAG,QAAjB;AACD;;AAED,MAAInB,IAAI,GAAGvB,SAAS,CAACqB,IAAD,CAApB;AACA,MAAIwB,SAAS,GAAG7C,SAAS,CAAC4C,SAAD,CAAzB;AACA3C,EAAAA,sBAAsB,CAACuC,KAAD,CAAtB,GAAgC;AAC9BC,IAAAA,SAD8B;AAE9BC,IAAAA,cAF8B;AAG9BrB,IAAAA,IAH8B;AAI9BuB,IAAAA,SAJ8B;AAK9BrB,IAAAA,IAL8B;AAM9BsB,IAAAA;AAN8B,GAAhC;AAQA,SAAO5C,sBAAsB,CAACuC,KAAD,CAA7B;AACD;;AAED,SAASM,eAAT,CACEC,WADF,EAEEC,kBAFF,EAGEC,WAHF,EAIEC,aAJF,EAKE5B,MALF,EAME6B,WANF,EAOEC,2BAPF,EAQEC,qBARF,EASE;AACA,MAAI;AACFZ,IAAAA,SADE;AAEFC,IAAAA,cAFE;AAGFrB,IAAAA,IAHE;AAIFuB,IAAAA,SAJE;AAKFrB,IAAAA,IALE;AAMFsB,IAAAA;AANE,MAOAK,aAPJ;AAQA,MAAII,QAAkB,GAAG,EAAzB,CATA,CAWA;;AACAA,EAAAA,QAAQ,CAACV,SAAD,CAAR,GAAsBG,WAAW,CAACH,SAAD,CAAjC;;AAEA,MAAIF,cAAc,KAAK,QAAvB,EAAiC;AAC/B;AACA;AACAY,IAAAA,QAAQ,CAACV,SAAD,CAAR,IACE,CAACG,WAAW,CAACF,SAAD,CAAX,GAAyBI,WAAW,CAACJ,SAAD,CAArC,IAAoD,CADtD;AAED,GALD,MAKO,IAAIH,cAAc,KAAKE,SAAvB,EAAkC;AACvC;AACA;AACAU,IAAAA,QAAQ,CAACV,SAAD,CAAR,IAAuBG,WAAW,CAACF,SAAD,CAAX,GAAyBI,WAAW,CAACJ,SAAD,CAA3D;AACD;AAAC;AACJ;AACA;AACE;;;AACAS,EAAAA,QAAQ,CAACV,SAAD,CAAR,IAAuBO,WAAvB,CA3BA,CA6BA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;;AACA,MAAIV,SAAS,KAAKpB,IAAlB,EAAwB;AACtB;AACA;AACA;AACA;AACA,UAAMM,eAAe,GAAG0B,qBAAqB,GACzCD,2BAA2B,CAAC7B,IAAD,CADc,GAEzCyB,kBAAkB,CAACzB,IAAD,CAFtB;AAGA+B,IAAAA,QAAQ,CAACxD,iBAAiB,CAACuB,IAAD,CAAlB,CAAR,GAAoCS,IAAI,CAACyB,KAAL,CAClC5B,eAAe,GAAGoB,WAAW,CAAC1B,IAAD,CAA7B,GAAsCC,MADJ,CAApC;AAGD,GAXD,MAWO;AACLgC,IAAAA,QAAQ,CAACjC,IAAD,CAAR,GAAiBS,IAAI,CAACyB,KAAL,CAAWR,WAAW,CAAC1B,IAAD,CAAX,GAAoB0B,WAAW,CAACxB,IAAD,CAA/B,GAAwCD,MAAnD,CAAjB;AACD;;AAED,SAAOgC,QAAP;AACD;;AAED,SAASE,YAAT,CACEF,QADF,EAEEN,kBAFF,EAGEI,2BAHF,EAIEL,WAJF,EAKEU,OALF,EAMEhC,OANF,EAOE;AACA,SAAO6B,QAAQ,CAAC5D,GAAT,IAAgB,IAAhB,GACH;AACFoC,EAAAA,IAAI,CAACC,GAAL,CACE,CADF,EAEEiB,kBAAkB,CAACzC,MAAnB,GACAyC,kBAAkB,CAACtD,GADnB,GAEAsD,kBAAkB,CAACxC,MAAnB,CAA0Bd,GAF1B,KAEgC;AAC/B0D,EAAAA,2BAA2B,CAAC1D,GAA5B,GAAkC4D,QAAQ,CAAC5D,GAH5C,MAGmD;AAClD+D,EAAAA,OAAO,CAAC/D,GAAR,GAAc+D,OAAO,CAAC9D,MAAtB,GAA+B8B,OAJhC,CAFF,CAM2C;AAN3C,GAFK,GAUH;AACFK,EAAAA,IAAI,CAACC,GAAL,CACE,CADF,EAEEgB,WAAW,CAACrD,GAAZ,GACA0D,2BAA2B,CAAC1D,GAD5B,KACkC;AACjCsD,EAAAA,kBAAkB,CAACtD,GAAnB,GAAyBsD,kBAAkB,CAACxC,MAAnB,CAA0Bd,GAFpD,MAE2D;AAC1D+D,EAAAA,OAAO,CAAC/D,GAAR,GAAc+D,OAAO,CAAC9D,MAAtB,GAA+B8B,OAHhC,CAFF,CAK2C;AAL3C,GAXF;AAkBD;;AAED,SAASiC,iBAAT,CACEV,kBADF,EAEEI,2BAFF,EAGEL,WAHF,EAIEU,OAJF,EAKEhC,OALF,EAMEyB,aANF,EAOE;AACA,MAAI;AAAET,IAAAA,SAAF;AAAapB,IAAAA,IAAb;AAAmBE,IAAAA;AAAnB,MAA4B2B,aAAhC;;AACA,MAAIT,SAAS,KAAKpB,IAAlB,EAAwB;AACtB,WAAOS,IAAI,CAACC,GAAL,CACL,CADK,EAELgB,WAAW,CAAC1B,IAAD,CAAX,GACA2B,kBAAkB,CAAC3B,IAAD,CADlB,GAEA2B,kBAAkB,CAACxC,MAAnB,CAA0Ba,IAA1B,CAFA,GAGA+B,2BAA2B,CAAC/B,IAAD,CAH3B,GAIAoC,OAAO,CAACpC,IAAD,CAJP,GAKAoC,OAAO,CAAC3D,iBAAiB,CAACuB,IAAD,CAAlB,CALP,GAMAI,OARK,CAAP;AAUD;;AAED,SAAOK,IAAI,CAACC,GAAL,CACL,CADK,EAELiB,kBAAkB,CAACzB,IAAD,CAAlB,GACAyB,kBAAkB,CAAC3B,IAAD,CADlB,GAEA2B,kBAAkB,CAACxC,MAAnB,CAA0Ba,IAA1B,CAFA,GAGA+B,2BAA2B,CAAC/B,IAAD,CAH3B,GAIA0B,WAAW,CAAC1B,IAAD,CAJX,GAKA0B,WAAW,CAACxB,IAAD,CALX,GAMAkC,OAAO,CAACpC,IAAD,CANP,GAOAoC,OAAO,CAAC3D,iBAAiB,CAACuB,IAAD,CAAlB,CAPP,GAQAI,OAVK,CAAP;AAYD;;AAED,OAAO,SAASkC,yBAAT,CACLC,cADK,EAELb,WAFK,EAGLE,WAHK,EAILY,UAJK,EAKLJ,OALK,EAMLhC,OANK,EAOLqC,IAPK,EAQLd,kBARK,EASLI,2BATK,EAUL9B,MAVK,EAWL6B,WAXK,EAYLE,qBAZK,EAaLU,wBAbK,EAcW;AAChB,MAAIb,aAAa,GAAGX,cAAc,CAACqB,cAAD,CAAlC;AACA,MAAI;AACFrC,IAAAA,IADE;AAEFqB,IAAAA,SAFE;AAGFC,IAAAA,SAHE;AAIFJ,IAAAA,SAJE;AAKFC,IAAAA,cALE;AAMFrB,IAAAA;AANE,MAOA6B,aAPJ;AAQA,MAAII,QAAQ,GAAGR,eAAe,CAC5BC,WAD4B,EAE5BC,kBAF4B,EAG5BC,WAH4B,EAI5BC,aAJ4B,EAK5B5B,MAL4B,EAM5B6B,WAN4B,EAO5BC,2BAP4B,EAQ5BC,qBAR4B,CAA9B;AAWA,MAAIW,gBAAgB,GAAG1C,MAAvB;AACA,MAAI2C,KAAK,GAAGP,iBAAiB,CAC3BV,kBAD2B,EAE3BI,2BAF2B,EAG3BL,WAH2B,EAI3BU,OAJ2B,EAK3BhC,OAAO,GAAGH,MALiB,EAM3B4B,aAN2B,CAA7B,CAtBgB,CA+BhB;;AACA,MAAIY,IAAI,IAAID,UAAU,CAACtC,IAAD,CAAV,GAAmB0C,KAA/B,EAAsC;AACpC,QAAIC,oBAAoB,GAAG3B,cAAc,CACtC,GAAEzC,iBAAiB,CAAC2C,SAAD,CAAY,IAAGC,cAAe,EADX,CAAzC;AAGA,QAAIyB,eAAe,GAAGrB,eAAe,CACnCC,WADmC,EAEnCC,kBAFmC,EAGnCC,WAHmC,EAInCiB,oBAJmC,EAKnC5C,MALmC,EAMnC6B,WANmC,EAOnCC,2BAPmC,EAQnCC,qBARmC,CAArC;AAUA,QAAIe,YAAY,GAAGV,iBAAiB,CAClCV,kBADkC,EAElCI,2BAFkC,EAGlCL,WAHkC,EAIlCU,OAJkC,EAKlChC,OAAO,GAAGH,MALwB,EAMlC4C,oBANkC,CAApC,CAdoC,CAuBpC;;AACA,QAAIE,YAAY,GAAGH,KAAnB,EAA0B;AACxBf,MAAAA,aAAa,GAAGgB,oBAAhB;AACAZ,MAAAA,QAAQ,GAAGa,eAAX;AACAH,MAAAA,gBAAgB,GAAG1C,MAAnB;AACD;AACF;;AAED,MAAI+C,KAAK,GAAGjD,QAAQ,CAClBwB,SADkB,EAElBU,QAAQ,CAACV,SAAD,CAFU,EAGlBK,WAAW,CAACJ,SAAD,CAHO,EAIlBG,kBAJkB,EAKlBvB,OALkB,CAApB;AAOA6B,EAAAA,QAAQ,CAACV,SAAD,CAAR,IAAuByB,KAAvB;AAEA,MAAIC,SAAS,GAAGd,YAAY,CAC1BF,QAD0B,EAE1BN,kBAF0B,EAG1BI,2BAH0B,EAI1BL,WAJ0B,EAK1BU,OAL0B,EAM1BhC,OAN0B,CAA5B;AASAwB,EAAAA,WAAW,CAAC1C,MAAZ,GAAqBuB,IAAI,CAACyC,GAAL,CAAStB,WAAW,CAAC1C,MAArB,EAA6B+D,SAA7B,CAArB;AAEAhB,EAAAA,QAAQ,GAAGR,eAAe,CACxBC,WADwB,EAExBC,kBAFwB,EAGxBC,WAHwB,EAIxBC,aAJwB,EAKxBc,gBALwB,EAMxBb,WANwB,EAOxBC,2BAPwB,EAQxBC,qBARwB,CAA1B;AAUAgB,EAAAA,KAAK,GAAGjD,QAAQ,CACdwB,SADc,EAEdU,QAAQ,CAACV,SAAD,CAFM,EAGdK,WAAW,CAACJ,SAAD,CAHG,EAIdG,kBAJc,EAKdvB,OALc,CAAhB;AAOA6B,EAAAA,QAAQ,CAACV,SAAD,CAAR,IAAuByB,KAAvB;AAEA,MAAIG,aAAuB,GAAG,EAA9B;AACAA,EAAAA,aAAa,CAAC5B,SAAD,CAAb,GACEG,WAAW,CAACH,SAAD,CAAX,GAAyBU,QAAQ,CAACV,SAAD,CAAjC,GAA+CG,WAAW,CAACF,SAAD,CAAX,GAAyB,CAD1E;;AAGA,MAAIkB,wBAAJ,EAA8B;AAC5BT,IAAAA,QAAQ,CAACxD,iBAAiB,CAACoD,aAAa,CAACT,SAAf,CAAlB,CAAR,GACEa,QAAQ,CAACxD,iBAAiB,CAACoD,aAAa,CAACT,SAAf,CAAlB,CAAR,GAAuDM,WAAW,CAACxB,IAAD,CADpE;AAED;;AAED,SAAO;AACL+B,IAAAA,QADK;AAELgB,IAAAA,SAAS,EAAEA,SAFN;AAGLG,IAAAA,eAAe,EAAED,aAAa,CAAC5E,IAH1B;AAIL8E,IAAAA,cAAc,EAAEF,aAAa,CAAC9E,GAJzB;AAKL+C,IAAAA,SAAS,EAAES,aAAa,CAACT;AALpB,GAAP;AAOD;AAED;AACA;AACA;;AACA,OAAO,SAASkC,iBAAT,CAA2BC,IAA3B,EAA+D;AACpE,MAAI;AACFnC,IAAAA,SADE;AAEFoC,IAAAA,UAFE;AAGFC,IAAAA,WAHE;AAIFC,IAAAA,UAJE;AAKFtD,IAAAA,OALE;AAMFuD,IAAAA,UANE;AAOFC,IAAAA,eAPE;AAQF3D,IAAAA,MARE;AASF6B,IAAAA,WATE;AAUFY,IAAAA;AAVE,MAWAa,IAXJ;AAaA,MAAIM,SAAS,GAAGJ,WAAW,CAACK,YAAZ,IAA4BzE,QAAQ,CAAC0E,IAArD;AACA,MAAIC,eAAe,GAAGH,SAAS,CAACzE,OAAV,KAAsB,MAA5C;AACA,QAAM6E,sBAAsB,GAAGnF,MAAM,CAACX,gBAAP,CAAwB0F,SAAxB,EAAmC5B,QAAlE;AACA,MAAID,qBAAqB,GACvB,CAAC,CAACiC,sBAAF,IAA4BA,sBAAsB,KAAK,QADzD;AAEA,MAAIvC,WAAmB,GAAGsC,eAAe,GACrClG,SAAS,CAAC0F,UAAD,CAD4B,GAErCzF,WAAW,CAACyF,UAAD,EAAaK,SAAb,CAFf;;AAIA,MAAI,CAACG,eAAL,EAAsB;AACpBtC,IAAAA,WAAW,CAACrD,GAAZ,IAAmBwC,QAAQ,CAAChD,MAAM,CAAC2F,UAAD,EAAa,WAAb,CAAP,EAAkC,EAAlC,CAAR,IAAiD,CAApE;AACA9B,IAAAA,WAAW,CAACnD,IAAZ,IAAoBsC,QAAQ,CAAChD,MAAM,CAAC2F,UAAD,EAAa,YAAb,CAAP,EAAmC,EAAnC,CAAR,IAAkD,CAAtE;AACD;;AAED,MAAI5B,WAAmB,GAAG9D,SAAS,CAAC2F,WAAD,CAAnC;AACA,QAAMS,MAAM,GAAG/F,gBAAgB,CAACsF,WAAD,CAAhB,CAA8BU,gBAA9B,CAA+C,WAA/C,CAAf;AACA,QAAMC,SAAS,GAAGF,MAAlB;AACA,QAAMG,KAAK,GAAG,8GAAd;AACA,QAAMC,OAAO,GAAGF,SAAS,CAACG,KAAV,CAAgBF,KAAhB,CAAhB;AACA,MAAIG,MAAM,GAAG,CAAb;AACA,MAAIC,MAAM,GAAG,CAAb;;AAEA,MAAIH,OAAJ,EAAa;AACXE,IAAAA,MAAM,GAAGE,UAAU,CAACJ,OAAO,CAAC,CAAD,CAAR,CAAnB;AACAG,IAAAA,MAAM,GAAGC,UAAU,CAACJ,OAAO,CAAC,CAAD,CAAR,CAAnB;;AACA,QAAI,CAACE,MAAD,IAAW,CAACG,MAAM,CAACC,QAAP,CAAgBJ,MAAhB,CAAhB,EAAyC;AACvCA,MAAAA,MAAM,GAAG,CAAT;AACD;;AAED,QAAI,CAACC,MAAD,IAAW,CAACE,MAAM,CAACC,QAAP,CAAgBH,MAAhB,CAAhB,EAAyC;AACvCA,MAAAA,MAAM,GAAG,CAAT;AACD;AACF;;AAED,MAAIrC,OAAO,GAAGzB,UAAU,CAAC8C,WAAD,CAAxB;AACA7B,EAAAA,WAAW,CAAC3C,KAAZ,IAAqBmD,OAAO,CAAC7D,IAAR,GAAe6D,OAAO,CAAC5D,KAA5C;AACAoD,EAAAA,WAAW,CAAC1C,MAAZ,IAAsBkD,OAAO,CAAC/D,GAAR,GAAc+D,OAAO,CAAC9D,MAA5C;;AAEA,MAAIkG,MAAJ,EAAY;AACV5C,IAAAA,WAAW,CAAC3C,KAAZ,GAAoB2C,WAAW,CAAC3C,KAAZ,GAAoBuF,MAAxC;AACD;;AACD,MAAIC,MAAJ,EAAY;AACV7C,IAAAA,WAAW,CAAC1C,MAAZ,GAAqB0C,WAAW,CAAC1C,MAAZ,GAAqBuF,MAA1C;AACD;;AAED,MAAIjC,UAAU,GAAG/C,SAAS,CAACiE,UAAD,CAA1B;AACA,MAAI/B,kBAAkB,GAAG5C,sBAAsB,CAAC6E,eAAD,CAA/C;AACA,MAAI7B,2BAAmC,GACrC6B,eAAe,CAACxE,OAAhB,KAA4B,MAA5B,GACItB,SAAS,CAAC+F,SAAD,CADb,GAEI9F,WAAW,CAAC8F,SAAD,EAAYD,eAAZ,CAHjB;AAKA,SAAOtB,yBAAyB,CAC9BlB,SAD8B,EAE9BM,WAF8B,EAG9BE,WAH8B,EAI9BY,UAJ8B,EAK9BJ,OAL8B,EAM9BhC,OAN8B,EAO9BuD,UAP8B,EAQ9BhC,kBAR8B,EAS9BI,2BAT8B,EAU9B9B,MAV8B,EAW9B6B,WAX8B,EAY9BE,qBAZ8B,EAa9BU,wBAb8B,CAAhC;AAeD","sourcesContent":["// @ts-nocheck\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n Axis,\n Placement,\n PlacementAxis,\n SizeAxis,\n} from '@react-types/overlays';\nimport getCss from 'dom-helpers/css';\nimport getOffset from 'dom-helpers/offset';\nimport getPosition from 'dom-helpers/position';\nimport getScrollLeft from 'dom-helpers/scrollLeft';\nimport getScrollTop from 'dom-helpers/scrollTop';\nimport ownerDocument from 'dom-helpers/ownerDocument';\nimport getComputedStyle from 'dom-helpers/getComputedStyle';\n\ninterface Position {\n top?: number;\n left?: number;\n bottom?: number;\n right?: number;\n}\n\ninterface Dimensions {\n width: number;\n height: number;\n top: number;\n left: number;\n scroll: Position;\n}\n\ninterface ParsedPlacement {\n placement: PlacementAxis;\n crossPlacement: PlacementAxis;\n axis: Axis;\n crossAxis: Axis;\n size: SizeAxis;\n crossSize: SizeAxis;\n}\n\ninterface Offset {\n top: number;\n left: number;\n width: number;\n height: number;\n}\n\ninterface PositionOpts {\n placement: Placement;\n targetNode: HTMLElement;\n overlayNode: HTMLElement;\n scrollNode: HTMLElement;\n padding: number;\n shouldFlip: boolean;\n boundaryElement: HTMLElement;\n offset: number;\n crossOffset: number;\n shouldOverlapWithTrigger: boolean;\n}\n\nexport interface PositionResult {\n position?: Position;\n arrowOffsetLeft?: number;\n arrowOffsetTop?: number;\n maxHeight?: number;\n placement: PlacementAxis;\n}\n\nconst AXIS = {\n top: 'top',\n bottom: 'top',\n left: 'left',\n right: 'left',\n};\n\nconst FLIPPED_DIRECTION = {\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left',\n};\n\nconst CROSS_AXIS = {\n top: 'left',\n left: 'top',\n};\n\nconst AXIS_SIZE = {\n top: 'height',\n left: 'width',\n};\n\nconst PARSED_PLACEMENT_CACHE = {};\n\n// @ts-ignore\nlet visualViewport = typeof window !== 'undefined' && window.visualViewport;\n\nfunction getContainerDimensions(containerNode: Element): Dimensions {\n let width = 0,\n height = 0,\n top = 0,\n left = 0;\n let scroll: Position = {};\n\n if (containerNode.tagName === 'BODY') {\n width = visualViewport?.width ?? document.documentElement.clientWidth;\n height = visualViewport?.height ?? document.documentElement.clientHeight;\n\n scroll.top =\n getScrollTop(ownerDocument(containerNode).documentElement) ||\n getScrollTop(containerNode);\n scroll.left =\n getScrollLeft(ownerDocument(containerNode).documentElement) ||\n getScrollLeft(containerNode);\n } else {\n ({ width, height, top, left } = getOffset(containerNode));\n scroll.top = getScrollTop(containerNode);\n scroll.left = getScrollLeft(containerNode);\n }\n\n return { width, height, scroll, top, left };\n}\n\nfunction getScroll(node: HTMLElement): Offset {\n return {\n top: node.scrollTop,\n left: node.scrollLeft,\n width: node.scrollWidth,\n height: node.scrollHeight,\n };\n}\n\nfunction getDelta(\n axis: Axis,\n offset: number,\n size: number,\n containerDimensions: Dimensions,\n padding: number\n) {\n let containerScroll = containerDimensions.scroll[axis];\n let containerHeight = containerDimensions[AXIS_SIZE[axis]];\n\n let startEdgeOffset = offset - padding - containerScroll;\n let endEdgeOffset = offset + padding - containerScroll + size;\n\n if (startEdgeOffset < 0) {\n return -startEdgeOffset;\n } else if (endEdgeOffset > containerHeight) {\n return Math.max(containerHeight - endEdgeOffset, -startEdgeOffset);\n } else {\n return 0;\n }\n}\n\nfunction getMargins(node: HTMLElement): Position {\n let style = window.getComputedStyle(node);\n return {\n top: parseInt(style.marginTop, 10) || 0,\n bottom: parseInt(style.marginBottom, 10) || 0,\n left: parseInt(style.marginLeft, 10) || 0,\n right: parseInt(style.marginRight, 10) || 0,\n };\n}\n\nfunction parsePlacement(input: Placement): ParsedPlacement {\n if (PARSED_PLACEMENT_CACHE[input]) {\n return PARSED_PLACEMENT_CACHE[input];\n }\n\n let [placement, crossPlacement] = input.split(' ');\n let axis: Axis = AXIS[placement] || 'right';\n let crossAxis: Axis = CROSS_AXIS[axis];\n\n if (!AXIS[crossPlacement]) {\n crossPlacement = 'center';\n }\n\n let size = AXIS_SIZE[axis];\n let crossSize = AXIS_SIZE[crossAxis];\n PARSED_PLACEMENT_CACHE[input] = {\n placement,\n crossPlacement,\n axis,\n crossAxis,\n size,\n crossSize,\n };\n return PARSED_PLACEMENT_CACHE[input];\n}\n\nfunction computePosition(\n childOffset: Offset,\n boundaryDimensions: Dimensions,\n overlaySize: Offset,\n placementInfo: ParsedPlacement,\n offset: number,\n crossOffset: number,\n containerOffsetWithBoundary: Offset,\n isContainerPositioned: boolean\n) {\n let {\n placement,\n crossPlacement,\n axis,\n crossAxis,\n size,\n crossSize,\n } = placementInfo;\n let position: Position = {};\n\n // button position\n position[crossAxis] = childOffset[crossAxis];\n\n if (crossPlacement === 'center') {\n // + (button size / 2) - (overlay size / 2)\n // at this point the overlay center should match the button center\n position[crossAxis] +=\n (childOffset[crossSize] - overlaySize[crossSize]) / 2;\n } else if (crossPlacement !== crossAxis) {\n // + (button size) - (overlay size)\n // at this point the overlay bottom should match the button bottom\n position[crossAxis] += childOffset[crossSize] - overlaySize[crossSize];\n } /* else {\n the overlay top should match the button top\n } */\n // add the crossOffset from props\n position[crossAxis] += crossOffset;\n\n // // this is button center position - the overlay size + half of the button to align bottom of overlay with button center\n // let minViablePosition =\n // childOffset[crossAxis] +\n // childOffset[crossSize] / 2 -\n // overlaySize[crossSize];\n // // this is button position of center, aligns top of overlay with button center\n // let maxViablePosition = childOffset[crossAxis] + childOffset[crossSize] / 2;\n\n // // clamp it into the range of the min/max positions\n // position[crossAxis] = Math.min(\n // Math.max(minViablePosition, position[crossAxis]),\n // maxViablePosition\n // );\n\n // Floor these so the position isn't placed on a partial pixel, only whole pixels. Shouldn't matter if it was floored or ceiled, so chose one.\n if (placement === axis) {\n // If the container is positioned (non-static), then we use the container's actual\n // height, as `bottom` will be relative to this height. But if the container is static,\n // then it can only be the `document.body`, and `bottom` will be relative to _its_\n // container, which should be as large as boundaryDimensions.\n const containerHeight = isContainerPositioned\n ? containerOffsetWithBoundary[size]\n : boundaryDimensions[size];\n position[FLIPPED_DIRECTION[axis]] = Math.floor(\n containerHeight - childOffset[axis] + offset\n );\n } else {\n position[axis] = Math.floor(childOffset[axis] + childOffset[size] + offset);\n }\n\n return position;\n}\n\nfunction getMaxHeight(\n position: Position,\n boundaryDimensions: Dimensions,\n containerOffsetWithBoundary: Offset,\n childOffset: Offset,\n margins: Position,\n padding: number\n) {\n return position.top != null\n ? // We want the distance between the top of the overlay to the bottom of the boundary\n Math.max(\n 0,\n boundaryDimensions.height +\n boundaryDimensions.top +\n boundaryDimensions.scroll.top - // this is the bottom of the boundary\n (containerOffsetWithBoundary.top + position.top) - // this is the top of the overlay\n (margins.top + margins.bottom + padding) // save additional space for margin and padding\n )\n : // We want the distance between the top of the trigger to the top of the boundary\n Math.max(\n 0,\n childOffset.top +\n containerOffsetWithBoundary.top - // this is the top of the trigger\n (boundaryDimensions.top + boundaryDimensions.scroll.top) - // this is the top of the boundary\n (margins.top + margins.bottom + padding) // save additional space for margin and padding\n );\n}\n\nfunction getAvailableSpace(\n boundaryDimensions: Dimensions,\n containerOffsetWithBoundary: Offset,\n childOffset: Offset,\n margins: Position,\n padding: number,\n placementInfo: ParsedPlacement\n) {\n let { placement, axis, size } = placementInfo;\n if (placement === axis) {\n return Math.max(\n 0,\n childOffset[axis] -\n boundaryDimensions[axis] -\n boundaryDimensions.scroll[axis] +\n containerOffsetWithBoundary[axis] -\n margins[axis] -\n margins[FLIPPED_DIRECTION[axis]] -\n padding\n );\n }\n\n return Math.max(\n 0,\n boundaryDimensions[size] +\n boundaryDimensions[axis] +\n boundaryDimensions.scroll[axis] -\n containerOffsetWithBoundary[axis] -\n childOffset[axis] -\n childOffset[size] -\n margins[axis] -\n margins[FLIPPED_DIRECTION[axis]] -\n padding\n );\n}\n\nexport function calculatePositionInternal(\n placementInput: Placement,\n childOffset: Offset,\n overlaySize: Offset,\n scrollSize: Offset,\n margins: Position,\n padding: number,\n flip: boolean,\n boundaryDimensions: Dimensions,\n containerOffsetWithBoundary: Offset,\n offset: number,\n crossOffset: number,\n isContainerPositioned: boolean,\n shouldOverlapWithTrigger: boolean\n): PositionResult {\n let placementInfo = parsePlacement(placementInput);\n let {\n size,\n crossAxis,\n crossSize,\n placement,\n crossPlacement,\n axis,\n } = placementInfo;\n let position = computePosition(\n childOffset,\n boundaryDimensions,\n overlaySize,\n placementInfo,\n offset,\n crossOffset,\n containerOffsetWithBoundary,\n isContainerPositioned\n );\n\n let normalizedOffset = offset;\n let space = getAvailableSpace(\n boundaryDimensions,\n containerOffsetWithBoundary,\n childOffset,\n margins,\n padding + offset,\n placementInfo\n );\n\n // Check if the scroll size of the overlay is greater than the available space to determine if we need to flip\n if (flip && scrollSize[size] > space) {\n let flippedPlacementInfo = parsePlacement(\n `${FLIPPED_DIRECTION[placement]} ${crossPlacement}` as Placement\n );\n let flippedPosition = computePosition(\n childOffset,\n boundaryDimensions,\n overlaySize,\n flippedPlacementInfo,\n offset,\n crossOffset,\n containerOffsetWithBoundary,\n isContainerPositioned\n );\n let flippedSpace = getAvailableSpace(\n boundaryDimensions,\n containerOffsetWithBoundary,\n childOffset,\n margins,\n padding + offset,\n flippedPlacementInfo\n );\n\n // If the available space for the flipped position is greater than the original available space, flip.\n if (flippedSpace > space) {\n placementInfo = flippedPlacementInfo;\n position = flippedPosition;\n normalizedOffset = offset;\n }\n }\n\n let delta = getDelta(\n crossAxis,\n position[crossAxis],\n overlaySize[crossSize],\n boundaryDimensions,\n padding\n );\n position[crossAxis] += delta;\n\n let maxHeight = getMaxHeight(\n position,\n boundaryDimensions,\n containerOffsetWithBoundary,\n childOffset,\n margins,\n padding\n );\n\n overlaySize.height = Math.min(overlaySize.height, maxHeight);\n\n position = computePosition(\n childOffset,\n boundaryDimensions,\n overlaySize,\n placementInfo,\n normalizedOffset,\n crossOffset,\n containerOffsetWithBoundary,\n isContainerPositioned\n );\n delta = getDelta(\n crossAxis,\n position[crossAxis],\n overlaySize[crossSize],\n boundaryDimensions,\n padding\n );\n position[crossAxis] += delta;\n\n let arrowPosition: Position = {};\n arrowPosition[crossAxis] =\n childOffset[crossAxis] - position[crossAxis] + childOffset[crossSize] / 2;\n\n if (shouldOverlapWithTrigger) {\n position[FLIPPED_DIRECTION[placementInfo.placement]] =\n position[FLIPPED_DIRECTION[placementInfo.placement]] - childOffset[size];\n }\n\n return {\n position,\n maxHeight: maxHeight,\n arrowOffsetLeft: arrowPosition.left,\n arrowOffsetTop: arrowPosition.top,\n placement: placementInfo.placement,\n };\n}\n\n/**\n * Determines where to place the overlay with regards to the target and the position of an optional indicator.\n */\nexport function calculatePosition(opts: PositionOpts): PositionResult {\n let {\n placement,\n targetNode,\n overlayNode,\n scrollNode,\n padding,\n shouldFlip,\n boundaryElement,\n offset,\n crossOffset,\n shouldOverlapWithTrigger,\n } = opts;\n\n let container = overlayNode.offsetParent || document.body;\n let isBodyContainer = container.tagName === 'BODY';\n const containerPositionStyle = window.getComputedStyle(container).position;\n let isContainerPositioned =\n !!containerPositionStyle && containerPositionStyle !== 'static';\n let childOffset: Offset = isBodyContainer\n ? getOffset(targetNode)\n : getPosition(targetNode, container);\n\n if (!isBodyContainer) {\n childOffset.top += parseInt(getCss(targetNode, 'marginTop'), 10) || 0;\n childOffset.left += parseInt(getCss(targetNode, 'marginLeft'), 10) || 0;\n }\n\n let overlaySize: Offset = getOffset(overlayNode);\n const matrix = getComputedStyle(overlayNode).getPropertyValue('transform');\n const transform = matrix;\n const regex = /matrix\\((-?\\d*\\.?\\d+),\\s*(-?\\d*\\.?\\d+),\\s*(-?\\d*\\.?\\d+),\\s*(-?\\d*\\.?\\d+),\\s*(-?\\d*\\.?\\d+),\\s*(-?\\d*\\.?\\d+)\\)/;\n const matches = transform.match(regex);\n let scaleX = 1;\n let scaleY = 1;\n\n if (matches) {\n scaleX = parseFloat(matches[1]);\n scaleY = parseFloat(matches[4]);\n if (!scaleX || !Number.isFinite(scaleX)) {\n scaleX = 1;\n }\n\n if (!scaleY || !Number.isFinite(scaleY)) {\n scaleY = 1;\n }\n }\n\n let margins = getMargins(overlayNode);\n overlaySize.width += margins.left + margins.right;\n overlaySize.height += margins.top + margins.bottom;\n\n if (scaleX) {\n overlaySize.width = overlaySize.width / scaleX;\n }\n if (scaleY) {\n overlaySize.height = overlaySize.height / scaleY;\n }\n\n let scrollSize = getScroll(scrollNode);\n let boundaryDimensions = getContainerDimensions(boundaryElement);\n let containerOffsetWithBoundary: Offset =\n boundaryElement.tagName === 'BODY'\n ? getOffset(container)\n : getPosition(container, boundaryElement);\n\n return calculatePositionInternal(\n placement,\n childOffset,\n overlaySize,\n scrollSize,\n margins,\n padding,\n shouldFlip,\n boundaryDimensions,\n containerOffsetWithBoundary,\n offset,\n crossOffset,\n isContainerPositioned,\n shouldOverlapWithTrigger\n );\n}\n"]}
|
1
|
+
{"version":3,"names":["getCss","getOffset","getPosition","getScrollLeft","getScrollTop","ownerDocument","getComputedStyle","AXIS","top","bottom","left","right","FLIPPED_DIRECTION","CROSS_AXIS","AXIS_SIZE","PARSED_PLACEMENT_CACHE","visualViewport","window","getContainerDimensions","containerNode","width","height","scroll","tagName","document","documentElement","clientWidth","clientHeight","getScroll","node","scrollTop","scrollLeft","scrollWidth","scrollHeight","getDelta","axis","offset","size","containerDimensions","padding","containerScroll","containerHeight","startEdgeOffset","endEdgeOffset","Math","max","getMargins","style","parseInt","marginTop","marginBottom","marginLeft","marginRight","parsePlacement","input","placement","crossPlacement","split","crossAxis","crossSize","computePosition","childOffset","boundaryDimensions","overlaySize","placementInfo","crossOffset","containerOffsetWithBoundary","isContainerPositioned","position","floor","getMaxHeight","margins","getAvailableSpace","calculatePositionInternal","placementInput","scrollSize","flip","shouldOverlapWithTrigger","normalizedOffset","space","flippedPlacementInfo","flippedPosition","flippedSpace","delta","maxHeight","min","arrowPosition","arrowOffsetLeft","arrowOffsetTop","calculatePosition","opts","targetNode","overlayNode","scrollNode","shouldFlip","boundaryElement","container","offsetParent","body","isBodyContainer","containerPositionStyle","matrix","getPropertyValue","transform","regex","matches","match","scaleX","scaleY","parseFloat","Number","isFinite"],"sourceRoot":"../../../../../src","sources":["web/overlays/src/calculatePosition.ts"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["web/overlays/src/index.ts"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,sBAAsB"}
|