@radix-ui/react-popper 0.1.5-rc.45 → 0.1.5-rc.46

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/dist/index.d.ts CHANGED
@@ -17,12 +17,14 @@ export interface PopperAnchorProps extends PrimitiveDivProps {
17
17
  virtualRef?: React.RefObject<Measurable>;
18
18
  }
19
19
  export const PopperAnchor: React.ForwardRefExoticComponent<PopperAnchorProps & React.RefAttributes<HTMLDivElement>>;
20
+ type Boundary = Element | null;
20
21
  export interface PopperContentProps extends PrimitiveDivProps {
21
22
  side?: Side;
22
23
  sideOffset?: number;
23
24
  align?: Align;
24
25
  alignOffset?: number;
25
26
  arrowPadding?: number;
27
+ collisionBoundary?: Boundary | Boundary[];
26
28
  collisionPadding?: number | Partial<Record<Side, number>>;
27
29
  sticky?: 'partial' | 'always';
28
30
  hideWhenDetached?: boolean;
@@ -1 +1 @@
1
- {"mappings":";;;;;AAuBA,OAAA,MAAM,yDAA0D,CAAC;AACjE,OAAA,MAAM,kDAAmD,CAAC;AAE1D,YAAY,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACxC,aAAa,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAS1C,OAAA,wFAAgF,CAAC;AAQjF;IACE,QAAQ,CAAC,EAAE,MAAM,SAAS,CAAC;CAC5B;AACD,OAAA,MAAM,QAAQ,MAAM,EAAE,CAAC,WAAW,CAQjC,CAAC;AAWF,yBAAyB,MAAM,wBAAwB,CAAC,OAAO,UAAU,GAAG,CAAC,CAAC;AAC9E,kCAA4B,SAAQ,iBAAiB;IACnD,UAAU,CAAC,EAAE,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;CAC1C;AAED,OAAA,MAAM,sGAgBL,CAAC;AA2BF,mCAA6B,SAAQ,iBAAiB;IACpD,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1D,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,OAAA,MAAM,wGA0JL,CAAC;AAkBF,kBAAkB,MAAM,wBAAwB,CAAC,OAAO,eAAe,IAAI,CAAC,CAAC;AAC7E,iCAA2B,SAAQ,UAAU;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,OAAA,MAAM,mGA6CJ,CAAC;AAoDH,OAAA,MAAM,2BAAa,CAAC;AACpB,OAAA,MAAM,gGAAqB,CAAC;AAC5B,OAAA,MAAM,kGAAuB,CAAC;AAC9B,OAAA,MAAM,6FAAmB,CAAC","sources":["packages/react/popper/src/packages/react/popper/src/Popper.tsx","packages/react/popper/src/packages/react/popper/src/index.ts","packages/react/popper/src/index.ts"],"sourcesContent":[null,null,"export {\n createPopperScope,\n //\n Popper,\n PopperAnchor,\n PopperContent,\n PopperArrow,\n //\n Root,\n Anchor,\n Content,\n Arrow,\n //\n SIDE_OPTIONS,\n ALIGN_OPTIONS,\n} from './Popper';\nexport type {\n PopperProps,\n PopperAnchorProps,\n PopperContentProps,\n PopperArrowProps,\n} from './Popper';\n"],"names":[],"version":3,"file":"index.d.ts.map"}
1
+ {"mappings":";;;;;AAuBA,OAAA,MAAM,yDAA0D,CAAC;AACjE,OAAA,MAAM,kDAAmD,CAAC;AAE1D,YAAY,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACxC,aAAa,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAS1C,OAAA,wFAAgF,CAAC;AAQjF;IACE,QAAQ,CAAC,EAAE,MAAM,SAAS,CAAC;CAC5B;AACD,OAAA,MAAM,QAAQ,MAAM,EAAE,CAAC,WAAW,CAQjC,CAAC;AAWF,yBAAyB,MAAM,wBAAwB,CAAC,OAAO,UAAU,GAAG,CAAC,CAAC;AAC9E,kCAA4B,SAAQ,iBAAiB;IACnD,UAAU,CAAC,EAAE,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;CAC1C;AAED,OAAA,MAAM,sGAgBL,CAAC;AA0BF,gBAAgB,OAAO,GAAG,IAAI,CAAC;AAG/B,mCAA6B,SAAQ,iBAAiB;IACpD,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC;IAC1C,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1D,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,OAAA,MAAM,wGAoKL,CAAC;AAkBF,kBAAkB,MAAM,wBAAwB,CAAC,OAAO,eAAe,IAAI,CAAC,CAAC;AAC7E,iCAA2B,SAAQ,UAAU;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,OAAA,MAAM,mGA6CJ,CAAC;AAwDH,OAAA,MAAM,2BAAa,CAAC;AACpB,OAAA,MAAM,gGAAqB,CAAC;AAC5B,OAAA,MAAM,kGAAuB,CAAC;AAC9B,OAAA,MAAM,6FAAmB,CAAC","sources":["packages/react/popper/src/packages/react/popper/src/Popper.tsx","packages/react/popper/src/packages/react/popper/src/index.ts","packages/react/popper/src/index.ts"],"sourcesContent":[null,null,"export {\n createPopperScope,\n //\n Popper,\n PopperAnchor,\n PopperContent,\n PopperArrow,\n //\n Root,\n Anchor,\n Content,\n Arrow,\n //\n SIDE_OPTIONS,\n ALIGN_OPTIONS,\n} from './Popper';\nexport type {\n PopperProps,\n PopperAnchorProps,\n PopperContentProps,\n PopperArrowProps,\n} from './Popper';\n"],"names":[],"version":3,"file":"index.d.ts.map"}
package/dist/index.js CHANGED
@@ -94,7 +94,7 @@ const [$34310caa050a8d63$var$PositionContextProvider, $34310caa050a8d63$var$useP
94
94
  });
95
95
  const $34310caa050a8d63$export$bc4ae5855d3c4fc = /*#__PURE__*/ $50Iv9$react.forwardRef((props, forwardedRef)=>{
96
96
  var _arrowSize$width, _arrowSize$height, _middlewareData$arrow, _middlewareData$arrow2, _middlewareData$arrow3, _middlewareData$hide, _middlewareData$trans, _middlewareData$trans2;
97
- const { __scopePopper: __scopePopper , side: side = 'bottom' , sideOffset: sideOffset = 0 , align: align = 'center' , alignOffset: alignOffset = 0 , arrowPadding: arrowPadding = 0 , collisionPadding: collisionPaddingProp = 0 , sticky: sticky = 'partial' , hideWhenDetached: hideWhenDetached = false , avoidCollisions: avoidCollisions = true , ...contentProps } = props;
97
+ const { __scopePopper: __scopePopper , side: side = 'bottom' , sideOffset: sideOffset = 0 , align: align = 'center' , alignOffset: alignOffset = 0 , arrowPadding: arrowPadding = 0 , collisionBoundary: collisionBoundary = [] , collisionPadding: collisionPaddingProp = 0 , sticky: sticky = 'partial' , hideWhenDetached: hideWhenDetached = false , avoidCollisions: avoidCollisions = true , ...contentProps } = props;
98
98
  const context = $34310caa050a8d63$var$usePopperContext($34310caa050a8d63$var$CONTENT_NAME, __scopePopper);
99
99
  const [content, setContent] = $50Iv9$react.useState(null);
100
100
  const composedRefs = $50Iv9$radixuireactcomposerefs.useComposedRefs(forwardedRef, (node)=>setContent(node)
@@ -111,6 +111,16 @@ const $34310caa050a8d63$export$bc4ae5855d3c4fc = /*#__PURE__*/ $50Iv9$react.forw
111
111
  left: 0,
112
112
  ...collisionPaddingProp
113
113
  };
114
+ const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [
115
+ collisionBoundary
116
+ ];
117
+ const hasExplicitBoundaries = boundary.length > 0;
118
+ const detectOverflowOptions = {
119
+ padding: collisionPadding,
120
+ boundary: boundary.filter($34310caa050a8d63$var$isNotNull),
121
+ // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries
122
+ altBoundary: hasExplicitBoundaries
123
+ };
114
124
  const { reference: reference , floating: floating , strategy: strategy , x: x , y: y , placement: placement , middlewareData: middlewareData , update: update } = $50Iv9$floatinguireactdom.useFloating({
115
125
  // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues
116
126
  strategy: 'fixed',
@@ -124,17 +134,15 @@ const $34310caa050a8d63$export$bc4ae5855d3c4fc = /*#__PURE__*/ $50Iv9$react.forw
124
134
  avoidCollisions ? $50Iv9$floatinguireactdom.shift({
125
135
  mainAxis: true,
126
136
  crossAxis: false,
127
- padding: collisionPadding,
128
137
  limiter: sticky === 'partial' ? $50Iv9$floatinguireactdom.limitShift() : undefined,
129
- altBoundary: true
138
+ ...detectOverflowOptions
130
139
  }) : undefined,
131
140
  arrow ? $50Iv9$floatinguireactdom.arrow({
132
141
  element: arrow,
133
142
  padding: arrowPadding
134
143
  }) : undefined,
135
144
  avoidCollisions ? $50Iv9$floatinguireactdom.flip({
136
- padding: collisionPadding,
137
- altBoundary: true
145
+ ...detectOverflowOptions
138
146
  }) : undefined,
139
147
  $34310caa050a8d63$var$transformOrigin({
140
148
  arrowWidth: arrowWidth,
@@ -285,6 +293,9 @@ const $34310caa050a8d63$export$79d62cd4e10a3fd0 = /*#__PURE__*/ $50Iv9$react.for
285
293
  /* -----------------------------------------------------------------------------------------------*/ function $34310caa050a8d63$var$isDefined(value) {
286
294
  return value !== undefined;
287
295
  }
296
+ function $34310caa050a8d63$var$isNotNull(value) {
297
+ return value !== null;
298
+ }
288
299
  const $34310caa050a8d63$var$transformOrigin = (options)=>({
289
300
  name: 'transformOrigin',
290
301
  options: options,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/react/popper/src/index.ts","packages/react/popper/src/Popper.tsx"],"sourcesContent":["export {\n createPopperScope,\n //\n Popper,\n PopperAnchor,\n PopperContent,\n PopperArrow,\n //\n Root,\n Anchor,\n Content,\n Arrow,\n //\n SIDE_OPTIONS,\n ALIGN_OPTIONS,\n} from './Popper';\nexport type {\n PopperProps,\n PopperAnchorProps,\n PopperContentProps,\n PopperArrowProps,\n} from './Popper';\n","import * as React from 'react';\nimport {\n useFloating,\n autoUpdate,\n offset,\n shift,\n limitShift,\n hide,\n arrow as floatingUIarrow,\n flip,\n} from '@floating-ui/react-dom';\nimport * as ArrowPrimitive from '@radix-ui/react-arrow';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { useSize } from '@radix-ui/react-use-size';\n\nimport type { Placement, Middleware } from '@floating-ui/react-dom';\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\nimport type { Measurable } from '@radix-ui/rect';\n\nconst SIDE_OPTIONS = ['top', 'right', 'bottom', 'left'] as const;\nconst ALIGN_OPTIONS = ['start', 'center', 'end'] as const;\n\ntype Side = typeof SIDE_OPTIONS[number];\ntype Align = typeof ALIGN_OPTIONS[number];\n\n/* -------------------------------------------------------------------------------------------------\n * Popper\n * -----------------------------------------------------------------------------------------------*/\n\nconst POPPER_NAME = 'Popper';\n\ntype ScopedProps<P> = P & { __scopePopper?: Scope };\nconst [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);\n\ntype PopperContextValue = {\n anchor: Measurable | null;\n onAnchorChange(anchor: Measurable | null): void;\n};\nconst [PopperProvider, usePopperContext] = createPopperContext<PopperContextValue>(POPPER_NAME);\n\ninterface PopperProps {\n children?: React.ReactNode;\n}\nconst Popper: React.FC<PopperProps> = (props: ScopedProps<PopperProps>) => {\n const { __scopePopper, children } = props;\n const [anchor, setAnchor] = React.useState<Measurable | null>(null);\n return (\n <PopperProvider scope={__scopePopper} anchor={anchor} onAnchorChange={setAnchor}>\n {children}\n </PopperProvider>\n );\n};\n\nPopper.displayName = POPPER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * PopperAnchor\n * -----------------------------------------------------------------------------------------------*/\n\nconst ANCHOR_NAME = 'PopperAnchor';\n\ntype PopperAnchorElement = React.ElementRef<typeof Primitive.div>;\ntype PrimitiveDivProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface PopperAnchorProps extends PrimitiveDivProps {\n virtualRef?: React.RefObject<Measurable>;\n}\n\nconst PopperAnchor = React.forwardRef<PopperAnchorElement, PopperAnchorProps>(\n (props: ScopedProps<PopperAnchorProps>, forwardedRef) => {\n const { __scopePopper, virtualRef, ...anchorProps } = props;\n const context = usePopperContext(ANCHOR_NAME, __scopePopper);\n const ref = React.useRef<PopperAnchorElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n\n React.useEffect(() => {\n // Consumer can anchor the popper to something that isn't\n // a DOM node e.g. pointer position, so we override the\n // `anchorRef` with their virtual ref in this case.\n context.onAnchorChange(virtualRef?.current || ref.current);\n });\n\n return virtualRef ? null : <Primitive.div {...anchorProps} ref={composedRefs} />;\n }\n);\n\nPopperAnchor.displayName = ANCHOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * PopperContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'PopperContent';\n\ntype PopperContentContextValue = {\n placedSide: Side;\n onArrowChange(arrow: HTMLSpanElement | null): void;\n arrowX?: number;\n arrowY?: number;\n shouldHideArrow: boolean;\n};\n\nconst [PopperContentProvider, useContentContext] =\n createPopperContext<PopperContentContextValue>(CONTENT_NAME);\n\nconst [PositionContextProvider, usePositionContext] = createPopperContext(CONTENT_NAME, {\n hasParent: false,\n positionUpdateFns: new Set<() => void>(),\n});\n\ntype PopperContentElement = React.ElementRef<typeof Primitive.div>;\ninterface PopperContentProps extends PrimitiveDivProps {\n side?: Side;\n sideOffset?: number;\n align?: Align;\n alignOffset?: number;\n arrowPadding?: number;\n collisionPadding?: number | Partial<Record<Side, number>>;\n sticky?: 'partial' | 'always';\n hideWhenDetached?: boolean;\n avoidCollisions?: boolean;\n}\n\nconst PopperContent = React.forwardRef<PopperContentElement, PopperContentProps>(\n (props: ScopedProps<PopperContentProps>, forwardedRef) => {\n const {\n __scopePopper,\n side = 'bottom',\n sideOffset = 0,\n align = 'center',\n alignOffset = 0,\n arrowPadding = 0,\n collisionPadding: collisionPaddingProp = 0,\n sticky = 'partial',\n hideWhenDetached = false,\n avoidCollisions = true,\n ...contentProps\n } = props;\n\n const context = usePopperContext(CONTENT_NAME, __scopePopper);\n\n const [content, setContent] = React.useState<HTMLDivElement | null>(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n\n const [arrow, setArrow] = React.useState<HTMLSpanElement | null>(null);\n const arrowSize = useSize(arrow);\n const arrowWidth = arrowSize?.width ?? 0;\n const arrowHeight = arrowSize?.height ?? 0;\n\n const desiredPlacement = (side + (align !== 'center' ? '-' + align : '')) as Placement;\n\n const collisionPadding =\n typeof collisionPaddingProp === 'number'\n ? collisionPaddingProp\n : { top: 0, right: 0, bottom: 0, left: 0, ...collisionPaddingProp };\n\n const { reference, floating, strategy, x, y, placement, middlewareData, update } = useFloating({\n // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues\n strategy: 'fixed',\n placement: desiredPlacement,\n whileElementsMounted: autoUpdate,\n middleware: [\n offset({ mainAxis: sideOffset + arrowHeight, alignmentAxis: alignOffset }),\n avoidCollisions\n ? shift({\n mainAxis: true,\n crossAxis: false,\n padding: collisionPadding,\n limiter: sticky === 'partial' ? limitShift() : undefined,\n altBoundary: true,\n })\n : undefined,\n arrow ? floatingUIarrow({ element: arrow, padding: arrowPadding }) : undefined,\n avoidCollisions ? flip({ padding: collisionPadding, altBoundary: true }) : undefined,\n transformOrigin({ arrowWidth, arrowHeight }),\n hideWhenDetached ? hide({ strategy: 'referenceHidden' }) : undefined,\n ].filter(isDefined),\n });\n\n // assign the reference dynamically once `Content` has mounted so we can collocate the logic\n useLayoutEffect(() => {\n reference(context.anchor);\n }, [reference, context.anchor]);\n\n const isPlaced = x !== null && y !== null;\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n\n const arrowX = middlewareData.arrow?.x;\n const arrowY = middlewareData.arrow?.y;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n\n const [contentZIndex, setContentZIndex] = React.useState<string>();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n\n const { hasParent, positionUpdateFns } = usePositionContext(CONTENT_NAME, __scopePopper);\n const isRoot = !hasParent;\n\n React.useLayoutEffect(() => {\n if (!isRoot) {\n positionUpdateFns.add(update);\n return () => {\n positionUpdateFns.delete(update);\n };\n }\n }, [isRoot, positionUpdateFns, update]);\n\n // when nested contents are rendered in portals, they are appended out of order causing\n // children to be positioned incorrectly if initially open.\n // we need to re-compute the positioning once the parent has finally been placed.\n // https://github.com/floating-ui/floating-ui/issues/1531\n React.useLayoutEffect(() => {\n if (isRoot && isPlaced) {\n Array.from(positionUpdateFns)\n .reverse()\n .forEach((fn) => requestAnimationFrame(fn));\n }\n }, [isRoot, isPlaced, positionUpdateFns]);\n\n const commonProps = {\n 'data-side': placedSide,\n 'data-align': placedAlign,\n ...contentProps,\n ref: composedRefs,\n style: {\n ...contentProps.style,\n // if the PopperContent hasn't been placed yet (not all measurements done)\n // we prevent animations so that users's animation don't kick in too early referring wrong sides\n animation: !isPlaced ? 'none' : undefined,\n // hide the content if using the hide middleware and should be hidden\n opacity: middlewareData.hide?.referenceHidden ? 0 : undefined,\n },\n };\n\n return (\n <div\n ref={floating}\n data-radix-popper-content-wrapper=\"\"\n style={{\n position: strategy,\n left: 0,\n top: 0,\n transform: isPlaced\n ? `translate3d(${Math.round(x)}px, ${Math.round(y)}px, 0)`\n : 'translate3d(0, -200%, 0)', // keep off the page when measuring\n minWidth: 'max-content',\n zIndex: contentZIndex,\n ['--radix-popper-transform-origin' as any]: [\n middlewareData.transformOrigin?.x,\n middlewareData.transformOrigin?.y,\n ].join(' '),\n }}\n >\n <PopperContentProvider\n scope={__scopePopper}\n placedSide={placedSide}\n onArrowChange={setArrow}\n arrowX={arrowX}\n arrowY={arrowY}\n shouldHideArrow={cannotCenterArrow}\n >\n {isRoot ? (\n <PositionContextProvider\n scope={__scopePopper}\n hasParent\n positionUpdateFns={positionUpdateFns}\n >\n <Primitive.div {...commonProps} />\n </PositionContextProvider>\n ) : (\n <Primitive.div {...commonProps} />\n )}\n </PopperContentProvider>\n </div>\n );\n }\n);\n\nPopperContent.displayName = CONTENT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * PopperArrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_NAME = 'PopperArrow';\n\nconst OPPOSITE_SIDE: Record<Side, Side> = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n};\n\ntype PopperArrowElement = React.ElementRef<typeof ArrowPrimitive.Root>;\ntype ArrowProps = Radix.ComponentPropsWithoutRef<typeof ArrowPrimitive.Root>;\ninterface PopperArrowProps extends ArrowProps {\n offset?: number;\n}\n\nconst PopperArrow = React.forwardRef<PopperArrowElement, PopperArrowProps>(function PopperArrow(\n props: ScopedProps<PopperArrowProps>,\n forwardedRef\n) {\n const { __scopePopper, offset, ...arrowProps } = props;\n const contentContext = useContentContext(ARROW_NAME, __scopePopper);\n const baseSide = OPPOSITE_SIDE[contentContext.placedSide];\n\n return (\n // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)\n // doesn't report size as we'd expect on SVG elements.\n // it reports their bounding box which is effectively the largest path inside the SVG.\n <span\n ref={contentContext.onArrowChange}\n style={{\n position: 'absolute',\n left: contentContext.arrowX,\n top: contentContext.arrowY,\n [baseSide]: 0,\n transformOrigin: {\n top: '',\n right: '0 0',\n bottom: 'center 0',\n left: '100% 0',\n }[contentContext.placedSide],\n transform: {\n top: 'translateY(100%)',\n right: 'translateY(50%) rotate(90deg) translateX(-50%)',\n bottom: `rotate(180deg)`,\n left: 'translateY(50%) rotate(-90deg) translateX(50%)',\n }[contentContext.placedSide],\n visibility: contentContext.shouldHideArrow ? 'hidden' : undefined,\n }}\n >\n <ArrowPrimitive.Root\n {...arrowProps}\n ref={forwardedRef}\n style={{\n ...arrowProps.style,\n // ensures the element can be measured correctly (mostly for if SVG)\n display: 'block',\n }}\n />\n </span>\n );\n});\n\nPopperArrow.displayName = ARROW_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction isDefined<T>(value: T | undefined): value is T {\n return value !== undefined;\n}\n\nconst transformOrigin = (options: { arrowWidth: number; arrowHeight: number }): Middleware => ({\n name: 'transformOrigin',\n options,\n fn(data) {\n const { placement, rects, middlewareData } = data;\n\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const isArrowHidden = cannotCenterArrow;\n const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;\n const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;\n\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const noArrowAlign = { start: '0%', center: '50%', end: '100%' }[placedAlign];\n\n const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;\n const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;\n\n let x = '';\n let y = '';\n\n if (placedSide === 'bottom') {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${-arrowHeight}px`;\n } else if (placedSide === 'top') {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${rects.floating.height + arrowHeight}px`;\n } else if (placedSide === 'right') {\n x = `${-arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n } else if (placedSide === 'left') {\n x = `${rects.floating.width + arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n }\n return { data: { x, y } };\n },\n});\n\nfunction getSideAndAlignFromPlacement(placement: Placement) {\n const [side, align = 'center'] = placement.split('-');\n return [side as Side, align as Align] as const;\n}\n\nconst Root = Popper;\nconst Anchor = PopperAnchor;\nconst Content = PopperContent;\nconst Arrow = PopperArrow;\n\nexport {\n createPopperScope,\n //\n Popper,\n PopperAnchor,\n PopperContent,\n PopperArrow,\n //\n Root,\n Anchor,\n Content,\n Arrow,\n //\n SIDE_OPTIONS,\n ALIGN_OPTIONS,\n};\nexport type { PopperProps, PopperAnchorProps, PopperContentProps, PopperArrowProps };\n"],"names":["createPopperScope","Popper","PopperAnchor","PopperContent","PopperArrow","Root","Anchor","Content","Arrow","SIDE_OPTIONS","ALIGN_OPTIONS","React","useFloating","autoUpdate","offset","shift","limitShift","hide","arrow","floatingUIarrow","flip","ArrowPrimitive","useComposedRefs","createContextScope","Primitive","useLayoutEffect","useSize","POPPER_NAME","createPopperContext","PopperProvider","usePopperContext","props","__scopePopper","children","anchor","setAnchor","useState","ANCHOR_NAME","forwardRef","forwardedRef","virtualRef","anchorProps","context","ref","useRef","composedRefs","useEffect","onAnchorChange","current","CONTENT_NAME","PopperContentProvider","useContentContext","PositionContextProvider","usePositionContext","hasParent","positionUpdateFns","Set","side","sideOffset","align","alignOffset","arrowPadding","collisionPadding","collisionPaddingProp","sticky","hideWhenDetached","avoidCollisions","contentProps","content","setContent","node","setArrow","arrowSize","arrowWidth","width","arrowHeight","height","desiredPlacement","top","right","bottom","left","reference","floating","strategy","x","y","placement","middlewareData","update","whileElementsMounted","middleware","mainAxis","alignmentAxis","crossAxis","padding","limiter","undefined","altBoundary","element","transformOrigin","filter","isDefined","isPlaced","placedSide","placedAlign","getSideAndAlignFromPlacement","arrowX","arrowY","cannotCenterArrow","centerOffset","contentZIndex","setContentZIndex","window","getComputedStyle","zIndex","isRoot","add","delete","Array","from","reverse","forEach","fn","requestAnimationFrame","commonProps","style","animation","opacity","referenceHidden","position","transform","Math","round","minWidth","join","ARROW_NAME","OPPOSITE_SIDE","arrowProps","contentContext","baseSide","onArrowChange","visibility","shouldHideArrow","display","value","options","name","data","rects","isArrowHidden","noArrowAlign","start","center","end","arrowXCenter","arrowYCenter","split"],"version":3,"file":"index.js.map"}
1
+ {"mappings":"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","sources":["packages/react/popper/src/index.ts","packages/react/popper/src/Popper.tsx"],"sourcesContent":["export {\n createPopperScope,\n //\n Popper,\n PopperAnchor,\n PopperContent,\n PopperArrow,\n //\n Root,\n Anchor,\n Content,\n Arrow,\n //\n SIDE_OPTIONS,\n ALIGN_OPTIONS,\n} from './Popper';\nexport type {\n PopperProps,\n PopperAnchorProps,\n PopperContentProps,\n PopperArrowProps,\n} from './Popper';\n","import * as React from 'react';\nimport {\n useFloating,\n autoUpdate,\n offset,\n shift,\n limitShift,\n hide,\n arrow as floatingUIarrow,\n flip,\n} from '@floating-ui/react-dom';\nimport * as ArrowPrimitive from '@radix-ui/react-arrow';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { useSize } from '@radix-ui/react-use-size';\n\nimport type { Placement, Middleware } from '@floating-ui/react-dom';\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\nimport type { Measurable } from '@radix-ui/rect';\n\nconst SIDE_OPTIONS = ['top', 'right', 'bottom', 'left'] as const;\nconst ALIGN_OPTIONS = ['start', 'center', 'end'] as const;\n\ntype Side = typeof SIDE_OPTIONS[number];\ntype Align = typeof ALIGN_OPTIONS[number];\n\n/* -------------------------------------------------------------------------------------------------\n * Popper\n * -----------------------------------------------------------------------------------------------*/\n\nconst POPPER_NAME = 'Popper';\n\ntype ScopedProps<P> = P & { __scopePopper?: Scope };\nconst [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);\n\ntype PopperContextValue = {\n anchor: Measurable | null;\n onAnchorChange(anchor: Measurable | null): void;\n};\nconst [PopperProvider, usePopperContext] = createPopperContext<PopperContextValue>(POPPER_NAME);\n\ninterface PopperProps {\n children?: React.ReactNode;\n}\nconst Popper: React.FC<PopperProps> = (props: ScopedProps<PopperProps>) => {\n const { __scopePopper, children } = props;\n const [anchor, setAnchor] = React.useState<Measurable | null>(null);\n return (\n <PopperProvider scope={__scopePopper} anchor={anchor} onAnchorChange={setAnchor}>\n {children}\n </PopperProvider>\n );\n};\n\nPopper.displayName = POPPER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * PopperAnchor\n * -----------------------------------------------------------------------------------------------*/\n\nconst ANCHOR_NAME = 'PopperAnchor';\n\ntype PopperAnchorElement = React.ElementRef<typeof Primitive.div>;\ntype PrimitiveDivProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface PopperAnchorProps extends PrimitiveDivProps {\n virtualRef?: React.RefObject<Measurable>;\n}\n\nconst PopperAnchor = React.forwardRef<PopperAnchorElement, PopperAnchorProps>(\n (props: ScopedProps<PopperAnchorProps>, forwardedRef) => {\n const { __scopePopper, virtualRef, ...anchorProps } = props;\n const context = usePopperContext(ANCHOR_NAME, __scopePopper);\n const ref = React.useRef<PopperAnchorElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n\n React.useEffect(() => {\n // Consumer can anchor the popper to something that isn't\n // a DOM node e.g. pointer position, so we override the\n // `anchorRef` with their virtual ref in this case.\n context.onAnchorChange(virtualRef?.current || ref.current);\n });\n\n return virtualRef ? null : <Primitive.div {...anchorProps} ref={composedRefs} />;\n }\n);\n\nPopperAnchor.displayName = ANCHOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * PopperContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'PopperContent';\n\ntype PopperContentContextValue = {\n placedSide: Side;\n onArrowChange(arrow: HTMLSpanElement | null): void;\n arrowX?: number;\n arrowY?: number;\n shouldHideArrow: boolean;\n};\n\nconst [PopperContentProvider, useContentContext] =\n createPopperContext<PopperContentContextValue>(CONTENT_NAME);\n\nconst [PositionContextProvider, usePositionContext] = createPopperContext(CONTENT_NAME, {\n hasParent: false,\n positionUpdateFns: new Set<() => void>(),\n});\n\ntype Boundary = Element | null;\n\ntype PopperContentElement = React.ElementRef<typeof Primitive.div>;\ninterface PopperContentProps extends PrimitiveDivProps {\n side?: Side;\n sideOffset?: number;\n align?: Align;\n alignOffset?: number;\n arrowPadding?: number;\n collisionBoundary?: Boundary | Boundary[];\n collisionPadding?: number | Partial<Record<Side, number>>;\n sticky?: 'partial' | 'always';\n hideWhenDetached?: boolean;\n avoidCollisions?: boolean;\n}\n\nconst PopperContent = React.forwardRef<PopperContentElement, PopperContentProps>(\n (props: ScopedProps<PopperContentProps>, forwardedRef) => {\n const {\n __scopePopper,\n side = 'bottom',\n sideOffset = 0,\n align = 'center',\n alignOffset = 0,\n arrowPadding = 0,\n collisionBoundary = [],\n collisionPadding: collisionPaddingProp = 0,\n sticky = 'partial',\n hideWhenDetached = false,\n avoidCollisions = true,\n ...contentProps\n } = props;\n\n const context = usePopperContext(CONTENT_NAME, __scopePopper);\n\n const [content, setContent] = React.useState<HTMLDivElement | null>(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n\n const [arrow, setArrow] = React.useState<HTMLSpanElement | null>(null);\n const arrowSize = useSize(arrow);\n const arrowWidth = arrowSize?.width ?? 0;\n const arrowHeight = arrowSize?.height ?? 0;\n\n const desiredPlacement = (side + (align !== 'center' ? '-' + align : '')) as Placement;\n\n const collisionPadding =\n typeof collisionPaddingProp === 'number'\n ? collisionPaddingProp\n : { top: 0, right: 0, bottom: 0, left: 0, ...collisionPaddingProp };\n\n const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [collisionBoundary];\n const hasExplicitBoundaries = boundary.length > 0;\n\n const detectOverflowOptions = {\n padding: collisionPadding,\n boundary: boundary.filter(isNotNull),\n // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries\n altBoundary: hasExplicitBoundaries,\n };\n\n const { reference, floating, strategy, x, y, placement, middlewareData, update } = useFloating({\n // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues\n strategy: 'fixed',\n placement: desiredPlacement,\n whileElementsMounted: autoUpdate,\n middleware: [\n offset({ mainAxis: sideOffset + arrowHeight, alignmentAxis: alignOffset }),\n avoidCollisions\n ? shift({\n mainAxis: true,\n crossAxis: false,\n limiter: sticky === 'partial' ? limitShift() : undefined,\n ...detectOverflowOptions,\n })\n : undefined,\n arrow ? floatingUIarrow({ element: arrow, padding: arrowPadding }) : undefined,\n avoidCollisions ? flip({ ...detectOverflowOptions }) : undefined,\n transformOrigin({ arrowWidth, arrowHeight }),\n hideWhenDetached ? hide({ strategy: 'referenceHidden' }) : undefined,\n ].filter(isDefined),\n });\n\n // assign the reference dynamically once `Content` has mounted so we can collocate the logic\n useLayoutEffect(() => {\n reference(context.anchor);\n }, [reference, context.anchor]);\n\n const isPlaced = x !== null && y !== null;\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n\n const arrowX = middlewareData.arrow?.x;\n const arrowY = middlewareData.arrow?.y;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n\n const [contentZIndex, setContentZIndex] = React.useState<string>();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n\n const { hasParent, positionUpdateFns } = usePositionContext(CONTENT_NAME, __scopePopper);\n const isRoot = !hasParent;\n\n React.useLayoutEffect(() => {\n if (!isRoot) {\n positionUpdateFns.add(update);\n return () => {\n positionUpdateFns.delete(update);\n };\n }\n }, [isRoot, positionUpdateFns, update]);\n\n // when nested contents are rendered in portals, they are appended out of order causing\n // children to be positioned incorrectly if initially open.\n // we need to re-compute the positioning once the parent has finally been placed.\n // https://github.com/floating-ui/floating-ui/issues/1531\n React.useLayoutEffect(() => {\n if (isRoot && isPlaced) {\n Array.from(positionUpdateFns)\n .reverse()\n .forEach((fn) => requestAnimationFrame(fn));\n }\n }, [isRoot, isPlaced, positionUpdateFns]);\n\n const commonProps = {\n 'data-side': placedSide,\n 'data-align': placedAlign,\n ...contentProps,\n ref: composedRefs,\n style: {\n ...contentProps.style,\n // if the PopperContent hasn't been placed yet (not all measurements done)\n // we prevent animations so that users's animation don't kick in too early referring wrong sides\n animation: !isPlaced ? 'none' : undefined,\n // hide the content if using the hide middleware and should be hidden\n opacity: middlewareData.hide?.referenceHidden ? 0 : undefined,\n },\n };\n\n return (\n <div\n ref={floating}\n data-radix-popper-content-wrapper=\"\"\n style={{\n position: strategy,\n left: 0,\n top: 0,\n transform: isPlaced\n ? `translate3d(${Math.round(x)}px, ${Math.round(y)}px, 0)`\n : 'translate3d(0, -200%, 0)', // keep off the page when measuring\n minWidth: 'max-content',\n zIndex: contentZIndex,\n ['--radix-popper-transform-origin' as any]: [\n middlewareData.transformOrigin?.x,\n middlewareData.transformOrigin?.y,\n ].join(' '),\n }}\n >\n <PopperContentProvider\n scope={__scopePopper}\n placedSide={placedSide}\n onArrowChange={setArrow}\n arrowX={arrowX}\n arrowY={arrowY}\n shouldHideArrow={cannotCenterArrow}\n >\n {isRoot ? (\n <PositionContextProvider\n scope={__scopePopper}\n hasParent\n positionUpdateFns={positionUpdateFns}\n >\n <Primitive.div {...commonProps} />\n </PositionContextProvider>\n ) : (\n <Primitive.div {...commonProps} />\n )}\n </PopperContentProvider>\n </div>\n );\n }\n);\n\nPopperContent.displayName = CONTENT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * PopperArrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_NAME = 'PopperArrow';\n\nconst OPPOSITE_SIDE: Record<Side, Side> = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n};\n\ntype PopperArrowElement = React.ElementRef<typeof ArrowPrimitive.Root>;\ntype ArrowProps = Radix.ComponentPropsWithoutRef<typeof ArrowPrimitive.Root>;\ninterface PopperArrowProps extends ArrowProps {\n offset?: number;\n}\n\nconst PopperArrow = React.forwardRef<PopperArrowElement, PopperArrowProps>(function PopperArrow(\n props: ScopedProps<PopperArrowProps>,\n forwardedRef\n) {\n const { __scopePopper, offset, ...arrowProps } = props;\n const contentContext = useContentContext(ARROW_NAME, __scopePopper);\n const baseSide = OPPOSITE_SIDE[contentContext.placedSide];\n\n return (\n // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)\n // doesn't report size as we'd expect on SVG elements.\n // it reports their bounding box which is effectively the largest path inside the SVG.\n <span\n ref={contentContext.onArrowChange}\n style={{\n position: 'absolute',\n left: contentContext.arrowX,\n top: contentContext.arrowY,\n [baseSide]: 0,\n transformOrigin: {\n top: '',\n right: '0 0',\n bottom: 'center 0',\n left: '100% 0',\n }[contentContext.placedSide],\n transform: {\n top: 'translateY(100%)',\n right: 'translateY(50%) rotate(90deg) translateX(-50%)',\n bottom: `rotate(180deg)`,\n left: 'translateY(50%) rotate(-90deg) translateX(50%)',\n }[contentContext.placedSide],\n visibility: contentContext.shouldHideArrow ? 'hidden' : undefined,\n }}\n >\n <ArrowPrimitive.Root\n {...arrowProps}\n ref={forwardedRef}\n style={{\n ...arrowProps.style,\n // ensures the element can be measured correctly (mostly for if SVG)\n display: 'block',\n }}\n />\n </span>\n );\n});\n\nPopperArrow.displayName = ARROW_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction isDefined<T>(value: T | undefined): value is T {\n return value !== undefined;\n}\n\nfunction isNotNull<T>(value: T | null): value is T {\n return value !== null;\n}\n\nconst transformOrigin = (options: { arrowWidth: number; arrowHeight: number }): Middleware => ({\n name: 'transformOrigin',\n options,\n fn(data) {\n const { placement, rects, middlewareData } = data;\n\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const isArrowHidden = cannotCenterArrow;\n const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;\n const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;\n\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const noArrowAlign = { start: '0%', center: '50%', end: '100%' }[placedAlign];\n\n const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;\n const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;\n\n let x = '';\n let y = '';\n\n if (placedSide === 'bottom') {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${-arrowHeight}px`;\n } else if (placedSide === 'top') {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${rects.floating.height + arrowHeight}px`;\n } else if (placedSide === 'right') {\n x = `${-arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n } else if (placedSide === 'left') {\n x = `${rects.floating.width + arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n }\n return { data: { x, y } };\n },\n});\n\nfunction getSideAndAlignFromPlacement(placement: Placement) {\n const [side, align = 'center'] = placement.split('-');\n return [side as Side, align as Align] as const;\n}\n\nconst Root = Popper;\nconst Anchor = PopperAnchor;\nconst Content = PopperContent;\nconst Arrow = PopperArrow;\n\nexport {\n createPopperScope,\n //\n Popper,\n PopperAnchor,\n PopperContent,\n PopperArrow,\n //\n Root,\n Anchor,\n Content,\n Arrow,\n //\n SIDE_OPTIONS,\n ALIGN_OPTIONS,\n};\nexport type { PopperProps, PopperAnchorProps, PopperContentProps, PopperArrowProps };\n"],"names":["createPopperScope","Popper","PopperAnchor","PopperContent","PopperArrow","Root","Anchor","Content","Arrow","SIDE_OPTIONS","ALIGN_OPTIONS","React","useFloating","autoUpdate","offset","shift","limitShift","hide","arrow","floatingUIarrow","flip","ArrowPrimitive","useComposedRefs","createContextScope","Primitive","useLayoutEffect","useSize","POPPER_NAME","createPopperContext","PopperProvider","usePopperContext","props","__scopePopper","children","anchor","setAnchor","useState","ANCHOR_NAME","forwardRef","forwardedRef","virtualRef","anchorProps","context","ref","useRef","composedRefs","useEffect","onAnchorChange","current","CONTENT_NAME","PopperContentProvider","useContentContext","PositionContextProvider","usePositionContext","hasParent","positionUpdateFns","Set","side","sideOffset","align","alignOffset","arrowPadding","collisionBoundary","collisionPadding","collisionPaddingProp","sticky","hideWhenDetached","avoidCollisions","contentProps","content","setContent","node","setArrow","arrowSize","arrowWidth","width","arrowHeight","height","desiredPlacement","top","right","bottom","left","boundary","Array","isArray","hasExplicitBoundaries","length","detectOverflowOptions","padding","filter","isNotNull","altBoundary","reference","floating","strategy","x","y","placement","middlewareData","update","whileElementsMounted","middleware","mainAxis","alignmentAxis","crossAxis","limiter","undefined","element","transformOrigin","isDefined","isPlaced","placedSide","placedAlign","getSideAndAlignFromPlacement","arrowX","arrowY","cannotCenterArrow","centerOffset","contentZIndex","setContentZIndex","window","getComputedStyle","zIndex","isRoot","add","delete","from","reverse","forEach","fn","requestAnimationFrame","commonProps","style","animation","opacity","referenceHidden","position","transform","Math","round","minWidth","join","ARROW_NAME","OPPOSITE_SIDE","arrowProps","contentContext","baseSide","onArrowChange","visibility","shouldHideArrow","display","value","options","name","data","rects","isArrowHidden","noArrowAlign","start","center","end","arrowXCenter","arrowYCenter","split"],"version":3,"file":"index.js.map"}
@@ -76,7 +76,7 @@ const [$cf1ac5d9fe0e8206$var$PositionContextProvider, $cf1ac5d9fe0e8206$var$useP
76
76
  });
77
77
  const $cf1ac5d9fe0e8206$export$bc4ae5855d3c4fc = /*#__PURE__*/ $kY93V$forwardRef((props, forwardedRef)=>{
78
78
  var _arrowSize$width, _arrowSize$height, _middlewareData$arrow, _middlewareData$arrow2, _middlewareData$arrow3, _middlewareData$hide, _middlewareData$trans, _middlewareData$trans2;
79
- const { __scopePopper: __scopePopper , side: side = 'bottom' , sideOffset: sideOffset = 0 , align: align = 'center' , alignOffset: alignOffset = 0 , arrowPadding: arrowPadding = 0 , collisionPadding: collisionPaddingProp = 0 , sticky: sticky = 'partial' , hideWhenDetached: hideWhenDetached = false , avoidCollisions: avoidCollisions = true , ...contentProps } = props;
79
+ const { __scopePopper: __scopePopper , side: side = 'bottom' , sideOffset: sideOffset = 0 , align: align = 'center' , alignOffset: alignOffset = 0 , arrowPadding: arrowPadding = 0 , collisionBoundary: collisionBoundary = [] , collisionPadding: collisionPaddingProp = 0 , sticky: sticky = 'partial' , hideWhenDetached: hideWhenDetached = false , avoidCollisions: avoidCollisions = true , ...contentProps } = props;
80
80
  const context = $cf1ac5d9fe0e8206$var$usePopperContext($cf1ac5d9fe0e8206$var$CONTENT_NAME, __scopePopper);
81
81
  const [content, setContent] = $kY93V$useState(null);
82
82
  const composedRefs = $kY93V$useComposedRefs(forwardedRef, (node)=>setContent(node)
@@ -93,6 +93,16 @@ const $cf1ac5d9fe0e8206$export$bc4ae5855d3c4fc = /*#__PURE__*/ $kY93V$forwardRef
93
93
  left: 0,
94
94
  ...collisionPaddingProp
95
95
  };
96
+ const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [
97
+ collisionBoundary
98
+ ];
99
+ const hasExplicitBoundaries = boundary.length > 0;
100
+ const detectOverflowOptions = {
101
+ padding: collisionPadding,
102
+ boundary: boundary.filter($cf1ac5d9fe0e8206$var$isNotNull),
103
+ // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries
104
+ altBoundary: hasExplicitBoundaries
105
+ };
96
106
  const { reference: reference , floating: floating , strategy: strategy , x: x , y: y , placement: placement , middlewareData: middlewareData , update: update } = $kY93V$useFloating({
97
107
  // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues
98
108
  strategy: 'fixed',
@@ -106,17 +116,15 @@ const $cf1ac5d9fe0e8206$export$bc4ae5855d3c4fc = /*#__PURE__*/ $kY93V$forwardRef
106
116
  avoidCollisions ? $kY93V$shift({
107
117
  mainAxis: true,
108
118
  crossAxis: false,
109
- padding: collisionPadding,
110
119
  limiter: sticky === 'partial' ? $kY93V$limitShift() : undefined,
111
- altBoundary: true
120
+ ...detectOverflowOptions
112
121
  }) : undefined,
113
122
  arrow ? $kY93V$arrow({
114
123
  element: arrow,
115
124
  padding: arrowPadding
116
125
  }) : undefined,
117
126
  avoidCollisions ? $kY93V$flip({
118
- padding: collisionPadding,
119
- altBoundary: true
127
+ ...detectOverflowOptions
120
128
  }) : undefined,
121
129
  $cf1ac5d9fe0e8206$var$transformOrigin({
122
130
  arrowWidth: arrowWidth,
@@ -267,6 +275,9 @@ const $cf1ac5d9fe0e8206$export$79d62cd4e10a3fd0 = /*#__PURE__*/ $kY93V$forwardRe
267
275
  /* -----------------------------------------------------------------------------------------------*/ function $cf1ac5d9fe0e8206$var$isDefined(value) {
268
276
  return value !== undefined;
269
277
  }
278
+ function $cf1ac5d9fe0e8206$var$isNotNull(value) {
279
+ return value !== null;
280
+ }
270
281
  const $cf1ac5d9fe0e8206$var$transformOrigin = (options)=>({
271
282
  name: 'transformOrigin',
272
283
  options: options,
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;A;;;;;;;;;ACuBA,MAAMS,yCAAY,GAAG;IAAC,KAAD;IAAQ,OAAR;IAAiB,QAAjB;IAA2B,MAA3B;CAArB,AAAA;AACA,MAAMC,yCAAa,GAAG;IAAC,OAAD;IAAU,QAAV;IAAoB,KAApB;CAAtB,AAAA;AAKA;;oGAEA,CAEA,MAAMiB,iCAAW,GAAG,QAApB,AAAA;AAGA,MAAM,CAACC,yCAAD,EAAsB5B,uCAAtB,CAAA,GAA2CuB,yBAAkB,CAACI,iCAAD,CAAnE,AAAA;AAMA,MAAM,CAACE,oCAAD,EAAiBC,sCAAjB,CAAA,GAAqCF,yCAAmB,CAAqBD,iCAArB,CAA9D,AAAA;AAKA,MAAM1B,yCAA6B,GAAI8B,CAAAA,KAAD,GAAqC;IACzE,MAAM,E,eAAEC,aAAF,CAAA,E,UAAiBC,QAAAA,CAAAA,EAAjB,GAA8BF,KAApC,AAAM;IACN,MAAM,CAACG,MAAD,EAASC,SAAT,CAAA,GAAsBxB,eAAA,CAAkC,IAAlC,CAA5B,AAAA;IACA,OAAA,aACE,CAAA,oBAAA,CAAC,oCAAD,EADF;QACkB,KAAK,EAAEqB,aAAvB;QAAsC,MAAM,EAAEE,MAA9C;QAAsD,cAAc,EAAEC,SAAhB;KAAtD,EACGF,QADH,CADF,CACE;CAJJ,AAQC;AAED,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,iCAAA;CAAA,CAAA,CAAA;AAEA;;oGAEA,CAEA,MAAMI,iCAAW,GAAG,cAApB,AAAA;AAQA,MAAMnC,wCAAY,GAAA,aAAGS,CAAAA,iBAAA,CACnB,CAACoB,KAAD,EAAwCQ,YAAxC,GAAyD;IACvD,MAAM,E,eAAEP,aAAF,CAAA,E,YAAiBQ,UAAjB,CAAA,EAA6B,GAAGC,WAAH,EAA7B,GAAgDV,KAAtD,AAAM;IACN,MAAMW,OAAO,GAAGZ,sCAAgB,CAACO,iCAAD,EAAcL,aAAd,CAAhC,AAAA;IACA,MAAMW,GAAG,GAAGhC,aAAA,CAAkC,IAAlC,CAAZ,AAAA;IACA,MAAMkC,YAAY,GAAGvB,sBAAe,CAACiB,YAAD,EAAeI,GAAf,CAApC,AAAA;IAEAhC,gBAAA,CAAgB,IAAM;QACpB,yDAAA;QACA,uDAAA;QACA,mDAAA;QACA+B,OAAO,CAACK,cAAR,CAAuB,AAAAP,CAAAA,UAAU,KAAA,IAAV,IAAAA,UAAU,KAAA,KAAA,CAAV,GAAA,KAAA,CAAA,GAAAA,UAAU,CAAEQ,OAAZ,CAAA,IAAuBL,GAAG,CAACK,OAAlD,CAAAN,CAAAA;KAJF,CAKC,CAAA;IAED,OAAOF,UAAU,GAAG,IAAH,GAAA,aAAU,CAAA,oBAAA,CAAC,gBAAD,CAAW,GAAX,EAAA,oCAAA,CAAA,EAAA,EAAmBC,WAAnB,EAA3B;QAA2D,GAAG,EAAEI,YAAL;KAAhC,CAAA,CAA3B,CAA2B;CAdV,CAArB,AAeG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,wCAAA,EAAA;IAAA,WAAA,EAAA,iCAAA;CAAA,CAAA,CAAA;AAEA;;oGAEA,CAEA,MAAMI,kCAAY,GAAG,eAArB,AAAA;AAUA,MAAM,CAACC,2CAAD,EAAwBC,uCAAxB,CAAA,GACJvB,yCAAmB,CAA4BqB,kCAA5B,CADrB,AAAA;AAGA,MAAM,CAACG,6CAAD,EAA0BC,wCAA1B,CAAA,GAAgDzB,yCAAmB,CAACqB,kCAAD,EAAe;IACtFK,SAAS,EAAE,KAD2E;IAEtFC,iBAAiB,EAAE,IAAIC,GAAJ,EAAnBD;CAFuE,CAAzE,AAAwF;AAkBxF,MAAMpD,wCAAa,GAAA,aAAGQ,CAAAA,iBAAA,CACpB,CAACoB,KAAD,EAAyCQ,YAAzC,GAA0D;IAAA,IAAA,gBAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,sBAAA,AAAA;IACxD,MAAM,E,eACJP,aADI,CAAA,QAEJyB,IAAI,GAAG,QAFH,eAGJC,UAAU,GAAG,CAHT,UAIJC,KAAK,GAAG,QAJJ,gBAKJC,WAAW,GAAG,CALV,iBAMJC,YAAY,GAAG,CANX,GAOJC,gBAAgB,EAAEC,oBAAoB,GAAG,CAPrC,CAAA,UAQJC,MAAM,GAAG,SARL,qBASJC,gBAAgB,GAAG,KATf,oBAUJC,eAAe,GAAG,IAVd,GAWJ,GAAGC,YAAH,EAXI,GAYFpC,KAZJ,AAAM;IAcN,MAAMW,OAAO,GAAGZ,sCAAgB,CAACmB,kCAAD,EAAejB,aAAf,CAAhC,AAAA;IAEA,MAAM,CAACoC,OAAD,EAAUC,UAAV,CAAA,GAAwB1D,eAAA,CAAsC,IAAtC,CAA9B,AAAA;IACA,MAAMkC,YAAY,GAAGvB,sBAAe,CAACiB,YAAD,EAAgB+B,CAAAA,IAAD,GAAUD,UAAU,CAACC,IAAD,CAAnC;IAAA,CAApC,AAAA;IAEA,MAAM,CAACpD,KAAD,EAAQqD,QAAR,CAAA,GAAoB5D,eAAA,CAAuC,IAAvC,CAA1B,AAAA;IACA,MAAM6D,SAAS,GAAG9C,cAAO,CAACR,KAAD,CAAzB,AAAA;IACA,MAAMuD,UAAU,GAAA,AAAA,CAAA,gBAAA,GAAGD,SAAH,KAAA,IAAA,IAAGA,SAAH,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAGA,SAAS,CAAEE,KAAd,CAAA,KAAA,IAAA,IAAA,gBAAA,KAAA,KAAA,CAAA,GAAA,gBAAA,GAAuB,CAAvC,AAAA;IACA,MAAMC,WAAW,GAAA,AAAA,CAAA,iBAAA,GAAGH,SAAH,KAAA,IAAA,IAAGA,SAAH,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAGA,SAAS,CAAEI,MAAd,CAAA,KAAA,IAAA,IAAA,iBAAA,KAAA,KAAA,CAAA,GAAA,iBAAA,GAAwB,CAAzC,AAAA;IAEA,MAAMC,gBAAgB,GAAIpB,IAAI,GAAIE,CAAAA,KAAK,KAAK,QAAV,GAAqB,GAAA,GAAMA,KAA3B,GAAmC,EAAvC,CAAA,AAA9B,AAAA;IAEA,MAAMG,gBAAgB,GACpB,OAAOC,oBAAP,KAAgC,QAAhC,GACIA,oBADJ,GAEI;QAAEe,GAAG,EAAE,CAAP;QAAUC,KAAK,EAAE,CAAjB;QAAoBC,MAAM,EAAE,CAA5B;QAA+BC,IAAI,EAAE,CAArC;QAAwC,GAAGlB,oBAAH;KAH9C,AAGM;IAEN,MAAM,E,WAAEmB,SAAF,CAAA,E,UAAaC,QAAb,CAAA,E,UAAuBC,QAAvB,CAAA,E,GAAiCC,CAAjC,CAAA,E,GAAoCC,CAApC,CAAA,E,WAAuCC,SAAvC,CAAA,E,gBAAkDC,cAAlD,CAAA,E,QAAkEC,MAAAA,CAAAA,EAAlE,GAA6E7E,kBAAW,CAAC;QAC7F,gGAAA;QACAwE,QAAQ,EAAE,OAFmF;QAG7FG,SAAS,EAAEV,gBAHkF;QAI7Fa,oBAAoB,EAAE7E,iBAJuE;QAK7F8E,UAAU,EAAE;YACV7E,aAAM,CAAC;gBAAE8E,QAAQ,EAAElC,UAAU,GAAGiB,WAAzB;gBAAsCkB,aAAa,EAAEjC,WAAfiC;aAAvC,CADI;YAEV3B,eAAe,GACXnD,YAAK,CAAC;gBACJ6E,QAAQ,EAAE,IADN;gBAEJE,SAAS,EAAE,KAFP;gBAGJC,OAAO,EAAEjC,gBAHL;gBAIJkC,OAAO,EAAEhC,MAAM,KAAK,SAAX,GAAuBhD,iBAAU,EAAjC,GAAsCiF,SAJ3C;gBAKJC,WAAW,EAAE,IAAbA;aALG,CADM,GAQXD,SAVM;YAWV/E,KAAK,GAAGC,YAAe,CAAC;gBAAEgF,OAAO,EAAEjF,KAAX;gBAAkB6E,OAAO,EAAElC,YAATkC;aAAnB,CAAlB,GAAgEE,SAX3D;YAYV/B,eAAe,GAAG9C,WAAI,CAAC;gBAAE2E,OAAO,EAAEjC,gBAAX;gBAA6BoC,WAAW,EAAE,IAAbA;aAA9B,CAAP,GAA4DD,SAZjE;YAaVG,qCAAe,CAAC;gB,YAAE3B,UAAF;gB,aAAcE,WAAAA;aAAf,CAbL;YAcVV,gBAAgB,GAAGhD,WAAI,CAAC;gBAAEmE,QAAQ,EAAE,iBAAVA;aAAH,CAAP,GAA2Ca,SAdjD;SAAA,CAeVI,MAfU,CAeHC,+BAfG,CAcc;KAnBkE,CAA9F,AAhCwD,EAuDxD,4FAvB+F;IAwB/F7E,uBAAe,CAAC,IAAM;QACpByD,SAAS,CAACxC,OAAO,CAACR,MAAT,CAAT,CAAAgD;KADa,EAEZ;QAACA,SAAD;QAAYxC,OAAO,CAACR,MAApB;KAFY,CAAf,CAEC;IAED,MAAMqE,QAAQ,GAAGlB,CAAC,KAAK,IAAN,IAAcC,CAAC,KAAK,IAArC,AAAA;IACA,MAAM,CAACkB,UAAD,EAAaC,WAAb,CAAA,GAA4BC,kDAA4B,CAACnB,SAAD,CAA9D,AAAA;IAEA,MAAMoB,MAAM,GAAA,AAAA,CAAA,qBAAA,GAAGnB,cAAc,CAACtE,KAAlB,CAAA,KAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAG,qBAAA,CAAsBmE,CAArC,AAAA;IACA,MAAMuB,MAAM,GAAA,AAAA,CAAA,sBAAA,GAAGpB,cAAc,CAACtE,KAAlB,CAAA,KAAA,IAAA,IAAA,sBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAG,sBAAA,CAAsBoE,CAArC,AAAA;IACA,MAAMuB,iBAAiB,GAAG,AAAA,CAAA,AAAA,CAAA,sBAAA,GAAArB,cAAc,CAACtE,KAAf,CAAA,KAAA,IAAA,IAAA,sBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAAsB4F,YAAtB,CAAA,KAAuC,CAAjE,AAAA;IAEA,MAAM,CAACC,aAAD,EAAgBC,gBAAhB,CAAA,GAAoCrG,eAAA,EAA1C,AAAA;IACAc,uBAAe,CAAC,IAAM;QACpB,IAAI2C,OAAJ,EAAa4C,gBAAgB,CAACC,MAAM,CAACC,gBAAP,CAAwB9C,OAAxB,CAAA,CAAiC+C,MAAlC,CAAhB,CAAb;KADa,EAEZ;QAAC/C,OAAD;KAFY,CAAf,CAEC;IAED,MAAM,E,WAAEd,SAAF,CAAA,E,mBAAaC,iBAAAA,CAAAA,EAAb,GAAmCF,wCAAkB,CAACJ,kCAAD,EAAejB,aAAf,CAA3D,AAAM;IACN,MAAMoF,MAAM,GAAG,CAAC9D,SAAhB,AAAA;IAEA3C,sBAAA,CAAsB,IAAM;QAC1B,IAAI,CAACyG,MAAL,EAAa;YACX7D,iBAAiB,CAAC8D,GAAlB,CAAsB5B,MAAtB,CAAAlC,CAAAA;YACA,OAAO,IAAM;gBACXA,iBAAiB,CAAC+D,MAAlB,CAAyB7B,MAAzB,CAAAlC,CAAAA;aADF,CAEC;SACF;KANH,EAOG;QAAC6D,MAAD;QAAS7D,iBAAT;QAA4BkC,MAA5B;KAPH,CAAA,CA3EwD,CAoFxD,uFAFC;IAGD,2DAAA;IACA,iFAAA;IACA,yDAAA;IACA9E,sBAAA,CAAsB,IAAM;QAC1B,IAAIyG,MAAM,IAAIb,QAAd,EACEgB,KAAK,CAACC,IAAN,CAAWjE,iBAAX,CAAA,CACGkE,OADH,EAAA,CAEGC,OAFH,CAEYC,CAAAA,EAAD,GAAQC,qBAAqB,CAACD,EAAD,CAFxC;QAAA,CAAAJ,CAAAA;KAFJ,EAMG;QAACH,MAAD;QAASb,QAAT;QAAmBhD,iBAAnB;KANH,CAMC,CAAA;IAED,MAAMsE,WAAW,GAAG;QAClB,WAAA,EAAarB,UADK;QAElB,YAAA,EAAcC,WAFI;QAGlB,GAAGtC,YAHe;QAIlBxB,GAAG,EAAEE,YAJa;QAKlBiF,KAAK,EAAE;YACL,GAAG3D,YAAY,CAAC2D,KADX;YAEL,0EAAA;YACA,gGAAA;YACAC,SAAS,EAAE,CAACxB,QAAD,GAAY,MAAZ,GAAqBN,SAJ3B;YAKL,qEAAA;YACA+B,OAAO,EAAE,AAAA,CAAA,oBAAA,GAAAxC,cAAc,CAACvE,IAAf,CAAA,KAAA,IAAA,IAAA,oBAAA,KAAA,KAAA,CAAA,IAAA,oBAAA,CAAqBgH,eAArB,GAAuC,CAAvC,GAA2ChC,SAApD+B;SANK;KALT,AAAoB;IAepB,OAAA,aACE,CAAA,oBADF,CAAA,KAAA,EAAA;QAEI,GAAG,EAAE7C,QADP;QAEE,mCAAA,EAAkC,EAFpC;QAGE,KAAK,EAAE;YACL+C,QAAQ,EAAE9C,QADL;YAELH,IAAI,EAAE,CAFD;YAGLH,GAAG,EAAE,CAHA;YAILqD,SAAS,EAAE5B,QAAQ,GACd,CAAA,YAAA,EAAc6B,IAAI,CAACC,KAAL,CAAWhD,CAAX,CAAc,CAAA,IAAA,EAAM+C,IAAI,CAACC,KAAL,CAAW/C,CAAX,CAAc,CAAA,MAAA,CADlC,GAEf,0BANC;YAM2B,mCAAA;YAChCgD,QAAQ,EAAE,aAPL;YAQLnB,MAAM,EAAEJ,aARH;YASL,CAAC,iCAAD,CAAA,EAA4C;gBAAA,CAAA,qBAAA,GAC1CvB,cAAc,CAACY,eAD2B,CAAA,KAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAC1C,qBAAA,CAAgCf,CADU;gBAAA,CAAA,sBAAA,GAE1CG,cAAc,CAACY,eAF2B,CAAA,KAAA,IAAA,IAAA,sBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAE1C,sBAAA,CAAgCd,CAFU;aAAA,CAG1CiD,IAH0C,CAGrC,GAHqC,CAA5C;SATK;KAHT,EAAA,aAkBE,CAAA,oBAAA,CAAC,2CAAD,EAlBF;QAmBI,KAAK,EAAEvG,aADT;QAEE,UAAU,EAAEwE,UAFd;QAGE,aAAa,EAAEjC,QAHjB;QAIE,MAAM,EAAEoC,MAJV;QAKE,MAAM,EAAEC,MALV;QAME,eAAe,EAAEC,iBAAjB;KANF,EAQGO,MAAM,GAAA,aACL,CAAA,oBAAA,CAAC,6CAAD,EATJ;QAUM,KAAK,EAAEpF,aADT;QAEE,SAAS,EAAA,IAFX;QAGE,iBAAiB,EAAEuB,iBAAnB;KAHF,EAAA,aAKE,CAAA,oBAAA,CAAC,gBAAD,CAAW,GAAX,EAAmBsE,WAAnB,CALF,CADK,GAAA,aASL,CAAA,oBAAA,CAAC,gBAAD,CAAW,GAAX,EAAmBA,WAAnB,CAjBJ,CAlBF,CADF,CA4BQ;CA5IU,CAAtB,AAyJG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,wCAAA,EAAA;IAAA,WAAA,EAAA,kCAAA;CAAA,CAAA,CAAA;AAEA;;oGAEA,CAEA,MAAMW,gCAAU,GAAG,aAAnB,AAAA;AAEA,MAAMC,mCAAiC,GAAG;IACxC3D,GAAG,EAAE,QADmC;IAExCC,KAAK,EAAE,MAFiC;IAGxCC,MAAM,EAAE,KAHgC;IAIxCC,IAAI,EAAE,OAANA;CAJF,AAA0C;AAa1C,MAAM7E,yCAAW,GAAA,aAAGO,CAAAA,iBAAA,CAAuD,SAASP,yCAAT,CACzE2B,KADyE,EAEzEQ,YAFyE,EAGzE;IACA,MAAM,E,eAAEP,aAAF,CAAA,E,QAAiBlB,MAAjB,CAAA,EAAyB,GAAG4H,UAAH,EAAzB,GAA2C3G,KAAjD,AAAM;IACN,MAAM4G,cAAc,GAAGxF,uCAAiB,CAACqF,gCAAD,EAAaxG,aAAb,CAAxC,AAAA;IACA,MAAM4G,QAAQ,GAAGH,mCAAa,CAACE,cAAc,CAACnC,UAAhB,CAA9B,AAAA;IAEA,OAAA,aAAA,CACE,+EAAA;IACA,sDAAA;IACA,sFAAA;IACA,oBAAA,CAAA,MAAA,EAAA;QACE,GAAG,EAAEmC,cAAc,CAACE,aADtB;QAEE,KAAK,EAAE;YACLX,QAAQ,EAAE,UADL;YAELjD,IAAI,EAAE0D,cAAc,CAAChC,MAFhB;YAGL7B,GAAG,EAAE6D,cAAc,CAAC/B,MAHf;YAIL,CAACgC,QAAD,CAAA,EAAY,CAJP;YAKLxC,eAAe,EAAE;gBACftB,GAAG,EAAE,EADU;gBAEfC,KAAK,EAAE,KAFQ;gBAGfC,MAAM,EAAE,UAHO;gBAIfC,IAAI,EAAE,QAANA;aAJe,CAKf0D,cAAc,CAACnC,UALA,CALZ;YAWL2B,SAAS,EAAE;gBACTrD,GAAG,EAAE,kBADI;gBAETC,KAAK,EAAE,gDAFE;gBAGTC,MAAM,EAAG,CAAA,cAAA,CAHA;gBAITC,IAAI,EAAE,gDAANA;aAJS,CAKT0D,cAAc,CAACnC,UALN,CAXN;YAiBLsC,UAAU,EAAEH,cAAc,CAACI,eAAf,GAAiC,QAAjC,GAA4C9C,SAAxD6C;SAjBK;KAFT,EAAA,aAsBE,CAAA,oBAAA,CAAC,WAAD,EAAA,oCAAA,CAAA,EAAA,EACMJ,UADN,EAtBF;QAwBI,GAAG,EAAEnG,YAFP;QAGE,KAAK,EAAE;YACL,GAAGmG,UAAU,CAACZ,KADT;YAEL,oEAAA;YACAkB,OAAO,EAAE,OAATA;SAHK;KAHT,CAAA,CAtBF,CAsBE,EA1BJ;CARkB,CAApB,AA6CC;AAED,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,gCAAA;CAAA,CAAA,CAAA;AAEA,oGAAA,CAEA,SAAS1C,+BAAT,CAAsB2C,KAAtB,EAAwD;IACtD,OAAOA,KAAK,KAAKhD,SAAjB,CAAA;CACD;AAED,MAAMG,qCAAe,GAAI8C,CAAAA,OAAD,GAAuE,CAAA;QAC7FC,IAAI,EAAE,iBADuF;Q,SAE7FD,OAF6F;QAG7FvB,EAAE,EAACyB,IAAD,EAAO;YAAA,IAAA,sBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,sBAAA,AAAA;YACP,MAAM,E,WAAE7D,SAAF,CAAA,E,OAAa8D,KAAb,CAAA,E,gBAAoB7D,cAAAA,CAAAA,EAApB,GAAuC4D,IAA7C,AAAM;YAEN,MAAMvC,iBAAiB,GAAG,AAAA,CAAA,AAAA,CAAA,sBAAA,GAAArB,cAAc,CAACtE,KAAf,CAAA,KAAA,IAAA,IAAA,sBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAAsB4F,YAAtB,CAAA,KAAuC,CAAjE,AAAA;YACA,MAAMwC,aAAa,GAAGzC,iBAAtB,AAAA;YACA,MAAMpC,UAAU,GAAG6E,aAAa,GAAG,CAAH,GAAOJ,OAAO,CAACzE,UAA/C,AAAA;YACA,MAAME,WAAW,GAAG2E,aAAa,GAAG,CAAH,GAAOJ,OAAO,CAACvE,WAAhD,AAAA;YAEA,MAAM,CAAC6B,UAAD,EAAaC,WAAb,CAAA,GAA4BC,kDAA4B,CAACnB,SAAD,CAA9D,AAAA;YACA,MAAMgE,YAAY,GAAG;gBAAEC,KAAK,EAAE,IAAT;gBAAeC,MAAM,EAAE,KAAvB;gBAA8BC,GAAG,EAAE,MAALA;aAA9B,CAA4CjD,WAA5C,CAArB,AAAqB;YAErB,MAAMkD,YAAY,GAAG,AAAA,CAAA,AAAA,CAAA,sBAAA,GAAA,AAAA,CAAA,sBAAA,GAACnE,cAAc,CAACtE,KAAhB,CAAA,KAAA,IAAA,IAAA,sBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAC,sBAAA,CAAsBmE,CAAvB,CAAA,KAAA,IAAA,IAAA,sBAAA,KAAA,KAAA,CAAA,GAAA,sBAAA,GAA4B,CAA5B,CAAA,GAAiCZ,UAAU,GAAG,CAAnE,AAAA;YACA,MAAMmF,YAAY,GAAG,AAAA,CAAA,AAAA,CAAA,sBAAA,GAAA,AAAA,CAAA,sBAAA,GAACpE,cAAc,CAACtE,KAAhB,CAAA,KAAA,IAAA,IAAA,sBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAC,sBAAA,CAAsBoE,CAAvB,CAAA,KAAA,IAAA,IAAA,sBAAA,KAAA,KAAA,CAAA,GAAA,sBAAA,GAA4B,CAA5B,CAAA,GAAiCX,WAAW,GAAG,CAApE,AAAA;YAEA,IAAIU,CAAC,GAAG,EAAR,AAAA;YACA,IAAIC,CAAC,GAAG,EAAR,AAAA;YAEA,IAAIkB,UAAU,KAAK,QAAnB,EAA6B;gBAC3BnB,CAAC,GAAGiE,aAAa,GAAGC,YAAH,GAAmB,CAAA,EAAEI,YAAa,CAAA,EAAA,CAAnD,CAAAtE;gBACAC,CAAC,GAAI,CAAA,EAAE,CAACX,WAAY,CAAA,EAAA,CAApB,CAAAW;aAFF,MAGO,IAAIkB,UAAU,KAAK,KAAnB,EAA0B;gBAC/BnB,CAAC,GAAGiE,aAAa,GAAGC,YAAH,GAAmB,CAAA,EAAEI,YAAa,CAAA,EAAA,CAAnD,CAAAtE;gBACAC,CAAC,GAAI,CAAA,EAAE+D,KAAK,CAAClE,QAAN,CAAeP,MAAf,GAAwBD,WAAY,CAAA,EAAA,CAA3C,CAAAW;aAFK,MAGA,IAAIkB,UAAU,KAAK,OAAnB,EAA4B;gBACjCnB,CAAC,GAAI,CAAA,EAAE,CAACV,WAAY,CAAA,EAAA,CAApB,CAAAU;gBACAC,CAAC,GAAGgE,aAAa,GAAGC,YAAH,GAAmB,CAAA,EAAEK,YAAa,CAAA,EAAA,CAAnD,CAAAtE;aAFK,MAGA,IAAIkB,UAAU,KAAK,MAAnB,EAA2B;gBAChCnB,CAAC,GAAI,CAAA,EAAEgE,KAAK,CAAClE,QAAN,CAAeT,KAAf,GAAuBC,WAAY,CAAA,EAAA,CAA1C,CAAAU;gBACAC,CAAC,GAAGgE,aAAa,GAAGC,YAAH,GAAmB,CAAA,EAAEK,YAAa,CAAA,EAAA,CAAnD,CAAAtE;aACD;YACD,OAAO;gBAAE8D,IAAI,EAAE;oB,GAAE/D,CAAF;oB,GAAKC,CAAAA;iBAAL;aAAf,CAAO;SACR;KAlCqB,CAAA;AAAuE;AAqC/F,SAASoB,kDAAT,CAAsCnB,SAAtC,EAA4D;IAC1D,MAAM,CAAC9B,IAAD,EAAOE,KAAK,GAAG,QAAf,CAAA,GAA2B4B,SAAS,CAACsE,KAAV,CAAgB,GAAhB,CAAjC,AAAA;IACA,OAAO;QAACpG,IAAD;QAAeE,KAAf;KAAP,CAAA;CACD;AAED,MAAMtD,yCAAI,GAAGJ,yCAAb,AAAA;AACA,MAAMK,yCAAM,GAAGJ,wCAAf,AAAA;AACA,MAAMK,yCAAO,GAAGJ,wCAAhB,AAAA;AACA,MAAMK,yCAAK,GAAGJ,yCAAd,AAAA;;ADnZA","sources":["packages/react/popper/src/index.ts","packages/react/popper/src/Popper.tsx"],"sourcesContent":["export {\n createPopperScope,\n //\n Popper,\n PopperAnchor,\n PopperContent,\n PopperArrow,\n //\n Root,\n Anchor,\n Content,\n Arrow,\n //\n SIDE_OPTIONS,\n ALIGN_OPTIONS,\n} from './Popper';\nexport type {\n PopperProps,\n PopperAnchorProps,\n PopperContentProps,\n PopperArrowProps,\n} from './Popper';\n","import * as React from 'react';\nimport {\n useFloating,\n autoUpdate,\n offset,\n shift,\n limitShift,\n hide,\n arrow as floatingUIarrow,\n flip,\n} from '@floating-ui/react-dom';\nimport * as ArrowPrimitive from '@radix-ui/react-arrow';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { useSize } from '@radix-ui/react-use-size';\n\nimport type { Placement, Middleware } from '@floating-ui/react-dom';\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\nimport type { Measurable } from '@radix-ui/rect';\n\nconst SIDE_OPTIONS = ['top', 'right', 'bottom', 'left'] as const;\nconst ALIGN_OPTIONS = ['start', 'center', 'end'] as const;\n\ntype Side = typeof SIDE_OPTIONS[number];\ntype Align = typeof ALIGN_OPTIONS[number];\n\n/* -------------------------------------------------------------------------------------------------\n * Popper\n * -----------------------------------------------------------------------------------------------*/\n\nconst POPPER_NAME = 'Popper';\n\ntype ScopedProps<P> = P & { __scopePopper?: Scope };\nconst [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);\n\ntype PopperContextValue = {\n anchor: Measurable | null;\n onAnchorChange(anchor: Measurable | null): void;\n};\nconst [PopperProvider, usePopperContext] = createPopperContext<PopperContextValue>(POPPER_NAME);\n\ninterface PopperProps {\n children?: React.ReactNode;\n}\nconst Popper: React.FC<PopperProps> = (props: ScopedProps<PopperProps>) => {\n const { __scopePopper, children } = props;\n const [anchor, setAnchor] = React.useState<Measurable | null>(null);\n return (\n <PopperProvider scope={__scopePopper} anchor={anchor} onAnchorChange={setAnchor}>\n {children}\n </PopperProvider>\n );\n};\n\nPopper.displayName = POPPER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * PopperAnchor\n * -----------------------------------------------------------------------------------------------*/\n\nconst ANCHOR_NAME = 'PopperAnchor';\n\ntype PopperAnchorElement = React.ElementRef<typeof Primitive.div>;\ntype PrimitiveDivProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface PopperAnchorProps extends PrimitiveDivProps {\n virtualRef?: React.RefObject<Measurable>;\n}\n\nconst PopperAnchor = React.forwardRef<PopperAnchorElement, PopperAnchorProps>(\n (props: ScopedProps<PopperAnchorProps>, forwardedRef) => {\n const { __scopePopper, virtualRef, ...anchorProps } = props;\n const context = usePopperContext(ANCHOR_NAME, __scopePopper);\n const ref = React.useRef<PopperAnchorElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n\n React.useEffect(() => {\n // Consumer can anchor the popper to something that isn't\n // a DOM node e.g. pointer position, so we override the\n // `anchorRef` with their virtual ref in this case.\n context.onAnchorChange(virtualRef?.current || ref.current);\n });\n\n return virtualRef ? null : <Primitive.div {...anchorProps} ref={composedRefs} />;\n }\n);\n\nPopperAnchor.displayName = ANCHOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * PopperContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'PopperContent';\n\ntype PopperContentContextValue = {\n placedSide: Side;\n onArrowChange(arrow: HTMLSpanElement | null): void;\n arrowX?: number;\n arrowY?: number;\n shouldHideArrow: boolean;\n};\n\nconst [PopperContentProvider, useContentContext] =\n createPopperContext<PopperContentContextValue>(CONTENT_NAME);\n\nconst [PositionContextProvider, usePositionContext] = createPopperContext(CONTENT_NAME, {\n hasParent: false,\n positionUpdateFns: new Set<() => void>(),\n});\n\ntype PopperContentElement = React.ElementRef<typeof Primitive.div>;\ninterface PopperContentProps extends PrimitiveDivProps {\n side?: Side;\n sideOffset?: number;\n align?: Align;\n alignOffset?: number;\n arrowPadding?: number;\n collisionPadding?: number | Partial<Record<Side, number>>;\n sticky?: 'partial' | 'always';\n hideWhenDetached?: boolean;\n avoidCollisions?: boolean;\n}\n\nconst PopperContent = React.forwardRef<PopperContentElement, PopperContentProps>(\n (props: ScopedProps<PopperContentProps>, forwardedRef) => {\n const {\n __scopePopper,\n side = 'bottom',\n sideOffset = 0,\n align = 'center',\n alignOffset = 0,\n arrowPadding = 0,\n collisionPadding: collisionPaddingProp = 0,\n sticky = 'partial',\n hideWhenDetached = false,\n avoidCollisions = true,\n ...contentProps\n } = props;\n\n const context = usePopperContext(CONTENT_NAME, __scopePopper);\n\n const [content, setContent] = React.useState<HTMLDivElement | null>(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n\n const [arrow, setArrow] = React.useState<HTMLSpanElement | null>(null);\n const arrowSize = useSize(arrow);\n const arrowWidth = arrowSize?.width ?? 0;\n const arrowHeight = arrowSize?.height ?? 0;\n\n const desiredPlacement = (side + (align !== 'center' ? '-' + align : '')) as Placement;\n\n const collisionPadding =\n typeof collisionPaddingProp === 'number'\n ? collisionPaddingProp\n : { top: 0, right: 0, bottom: 0, left: 0, ...collisionPaddingProp };\n\n const { reference, floating, strategy, x, y, placement, middlewareData, update } = useFloating({\n // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues\n strategy: 'fixed',\n placement: desiredPlacement,\n whileElementsMounted: autoUpdate,\n middleware: [\n offset({ mainAxis: sideOffset + arrowHeight, alignmentAxis: alignOffset }),\n avoidCollisions\n ? shift({\n mainAxis: true,\n crossAxis: false,\n padding: collisionPadding,\n limiter: sticky === 'partial' ? limitShift() : undefined,\n altBoundary: true,\n })\n : undefined,\n arrow ? floatingUIarrow({ element: arrow, padding: arrowPadding }) : undefined,\n avoidCollisions ? flip({ padding: collisionPadding, altBoundary: true }) : undefined,\n transformOrigin({ arrowWidth, arrowHeight }),\n hideWhenDetached ? hide({ strategy: 'referenceHidden' }) : undefined,\n ].filter(isDefined),\n });\n\n // assign the reference dynamically once `Content` has mounted so we can collocate the logic\n useLayoutEffect(() => {\n reference(context.anchor);\n }, [reference, context.anchor]);\n\n const isPlaced = x !== null && y !== null;\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n\n const arrowX = middlewareData.arrow?.x;\n const arrowY = middlewareData.arrow?.y;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n\n const [contentZIndex, setContentZIndex] = React.useState<string>();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n\n const { hasParent, positionUpdateFns } = usePositionContext(CONTENT_NAME, __scopePopper);\n const isRoot = !hasParent;\n\n React.useLayoutEffect(() => {\n if (!isRoot) {\n positionUpdateFns.add(update);\n return () => {\n positionUpdateFns.delete(update);\n };\n }\n }, [isRoot, positionUpdateFns, update]);\n\n // when nested contents are rendered in portals, they are appended out of order causing\n // children to be positioned incorrectly if initially open.\n // we need to re-compute the positioning once the parent has finally been placed.\n // https://github.com/floating-ui/floating-ui/issues/1531\n React.useLayoutEffect(() => {\n if (isRoot && isPlaced) {\n Array.from(positionUpdateFns)\n .reverse()\n .forEach((fn) => requestAnimationFrame(fn));\n }\n }, [isRoot, isPlaced, positionUpdateFns]);\n\n const commonProps = {\n 'data-side': placedSide,\n 'data-align': placedAlign,\n ...contentProps,\n ref: composedRefs,\n style: {\n ...contentProps.style,\n // if the PopperContent hasn't been placed yet (not all measurements done)\n // we prevent animations so that users's animation don't kick in too early referring wrong sides\n animation: !isPlaced ? 'none' : undefined,\n // hide the content if using the hide middleware and should be hidden\n opacity: middlewareData.hide?.referenceHidden ? 0 : undefined,\n },\n };\n\n return (\n <div\n ref={floating}\n data-radix-popper-content-wrapper=\"\"\n style={{\n position: strategy,\n left: 0,\n top: 0,\n transform: isPlaced\n ? `translate3d(${Math.round(x)}px, ${Math.round(y)}px, 0)`\n : 'translate3d(0, -200%, 0)', // keep off the page when measuring\n minWidth: 'max-content',\n zIndex: contentZIndex,\n ['--radix-popper-transform-origin' as any]: [\n middlewareData.transformOrigin?.x,\n middlewareData.transformOrigin?.y,\n ].join(' '),\n }}\n >\n <PopperContentProvider\n scope={__scopePopper}\n placedSide={placedSide}\n onArrowChange={setArrow}\n arrowX={arrowX}\n arrowY={arrowY}\n shouldHideArrow={cannotCenterArrow}\n >\n {isRoot ? (\n <PositionContextProvider\n scope={__scopePopper}\n hasParent\n positionUpdateFns={positionUpdateFns}\n >\n <Primitive.div {...commonProps} />\n </PositionContextProvider>\n ) : (\n <Primitive.div {...commonProps} />\n )}\n </PopperContentProvider>\n </div>\n );\n }\n);\n\nPopperContent.displayName = CONTENT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * PopperArrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_NAME = 'PopperArrow';\n\nconst OPPOSITE_SIDE: Record<Side, Side> = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n};\n\ntype PopperArrowElement = React.ElementRef<typeof ArrowPrimitive.Root>;\ntype ArrowProps = Radix.ComponentPropsWithoutRef<typeof ArrowPrimitive.Root>;\ninterface PopperArrowProps extends ArrowProps {\n offset?: number;\n}\n\nconst PopperArrow = React.forwardRef<PopperArrowElement, PopperArrowProps>(function PopperArrow(\n props: ScopedProps<PopperArrowProps>,\n forwardedRef\n) {\n const { __scopePopper, offset, ...arrowProps } = props;\n const contentContext = useContentContext(ARROW_NAME, __scopePopper);\n const baseSide = OPPOSITE_SIDE[contentContext.placedSide];\n\n return (\n // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)\n // doesn't report size as we'd expect on SVG elements.\n // it reports their bounding box which is effectively the largest path inside the SVG.\n <span\n ref={contentContext.onArrowChange}\n style={{\n position: 'absolute',\n left: contentContext.arrowX,\n top: contentContext.arrowY,\n [baseSide]: 0,\n transformOrigin: {\n top: '',\n right: '0 0',\n bottom: 'center 0',\n left: '100% 0',\n }[contentContext.placedSide],\n transform: {\n top: 'translateY(100%)',\n right: 'translateY(50%) rotate(90deg) translateX(-50%)',\n bottom: `rotate(180deg)`,\n left: 'translateY(50%) rotate(-90deg) translateX(50%)',\n }[contentContext.placedSide],\n visibility: contentContext.shouldHideArrow ? 'hidden' : undefined,\n }}\n >\n <ArrowPrimitive.Root\n {...arrowProps}\n ref={forwardedRef}\n style={{\n ...arrowProps.style,\n // ensures the element can be measured correctly (mostly for if SVG)\n display: 'block',\n }}\n />\n </span>\n );\n});\n\nPopperArrow.displayName = ARROW_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction isDefined<T>(value: T | undefined): value is T {\n return value !== undefined;\n}\n\nconst transformOrigin = (options: { arrowWidth: number; arrowHeight: number }): Middleware => ({\n name: 'transformOrigin',\n options,\n fn(data) {\n const { placement, rects, middlewareData } = data;\n\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const isArrowHidden = cannotCenterArrow;\n const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;\n const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;\n\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const noArrowAlign = { start: '0%', center: '50%', end: '100%' }[placedAlign];\n\n const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;\n const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;\n\n let x = '';\n let y = '';\n\n if (placedSide === 'bottom') {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${-arrowHeight}px`;\n } else if (placedSide === 'top') {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${rects.floating.height + arrowHeight}px`;\n } else if (placedSide === 'right') {\n x = `${-arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n } else if (placedSide === 'left') {\n x = `${rects.floating.width + arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n }\n return { data: { x, y } };\n },\n});\n\nfunction getSideAndAlignFromPlacement(placement: Placement) {\n const [side, align = 'center'] = placement.split('-');\n return [side as Side, align as Align] as const;\n}\n\nconst Root = Popper;\nconst Anchor = PopperAnchor;\nconst Content = PopperContent;\nconst Arrow = PopperArrow;\n\nexport {\n createPopperScope,\n //\n Popper,\n PopperAnchor,\n PopperContent,\n PopperArrow,\n //\n Root,\n Anchor,\n Content,\n Arrow,\n //\n SIDE_OPTIONS,\n ALIGN_OPTIONS,\n};\nexport type { PopperProps, PopperAnchorProps, PopperContentProps, PopperArrowProps };\n"],"names":["createPopperScope","Popper","PopperAnchor","PopperContent","PopperArrow","Root","Anchor","Content","Arrow","SIDE_OPTIONS","ALIGN_OPTIONS","React","useFloating","autoUpdate","offset","shift","limitShift","hide","arrow","floatingUIarrow","flip","ArrowPrimitive","useComposedRefs","createContextScope","Primitive","useLayoutEffect","useSize","POPPER_NAME","createPopperContext","PopperProvider","usePopperContext","props","__scopePopper","children","anchor","setAnchor","useState","ANCHOR_NAME","forwardRef","forwardedRef","virtualRef","anchorProps","context","ref","useRef","composedRefs","useEffect","onAnchorChange","current","CONTENT_NAME","PopperContentProvider","useContentContext","PositionContextProvider","usePositionContext","hasParent","positionUpdateFns","Set","side","sideOffset","align","alignOffset","arrowPadding","collisionPadding","collisionPaddingProp","sticky","hideWhenDetached","avoidCollisions","contentProps","content","setContent","node","setArrow","arrowSize","arrowWidth","width","arrowHeight","height","desiredPlacement","top","right","bottom","left","reference","floating","strategy","x","y","placement","middlewareData","update","whileElementsMounted","middleware","mainAxis","alignmentAxis","crossAxis","padding","limiter","undefined","altBoundary","element","transformOrigin","filter","isDefined","isPlaced","placedSide","placedAlign","getSideAndAlignFromPlacement","arrowX","arrowY","cannotCenterArrow","centerOffset","contentZIndex","setContentZIndex","window","getComputedStyle","zIndex","isRoot","add","delete","Array","from","reverse","forEach","fn","requestAnimationFrame","commonProps","style","animation","opacity","referenceHidden","position","transform","Math","round","minWidth","join","ARROW_NAME","OPPOSITE_SIDE","arrowProps","contentContext","baseSide","onArrowChange","visibility","shouldHideArrow","display","value","options","name","data","rects","isArrowHidden","noArrowAlign","start","center","end","arrowXCenter","arrowYCenter","split"],"version":3,"file":"index.module.js.map"}
1
+ {"mappings":"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","sources":["packages/react/popper/src/index.ts","packages/react/popper/src/Popper.tsx"],"sourcesContent":["export {\n createPopperScope,\n //\n Popper,\n PopperAnchor,\n PopperContent,\n PopperArrow,\n //\n Root,\n Anchor,\n Content,\n Arrow,\n //\n SIDE_OPTIONS,\n ALIGN_OPTIONS,\n} from './Popper';\nexport type {\n PopperProps,\n PopperAnchorProps,\n PopperContentProps,\n PopperArrowProps,\n} from './Popper';\n","import * as React from 'react';\nimport {\n useFloating,\n autoUpdate,\n offset,\n shift,\n limitShift,\n hide,\n arrow as floatingUIarrow,\n flip,\n} from '@floating-ui/react-dom';\nimport * as ArrowPrimitive from '@radix-ui/react-arrow';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { useSize } from '@radix-ui/react-use-size';\n\nimport type { Placement, Middleware } from '@floating-ui/react-dom';\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\nimport type { Measurable } from '@radix-ui/rect';\n\nconst SIDE_OPTIONS = ['top', 'right', 'bottom', 'left'] as const;\nconst ALIGN_OPTIONS = ['start', 'center', 'end'] as const;\n\ntype Side = typeof SIDE_OPTIONS[number];\ntype Align = typeof ALIGN_OPTIONS[number];\n\n/* -------------------------------------------------------------------------------------------------\n * Popper\n * -----------------------------------------------------------------------------------------------*/\n\nconst POPPER_NAME = 'Popper';\n\ntype ScopedProps<P> = P & { __scopePopper?: Scope };\nconst [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);\n\ntype PopperContextValue = {\n anchor: Measurable | null;\n onAnchorChange(anchor: Measurable | null): void;\n};\nconst [PopperProvider, usePopperContext] = createPopperContext<PopperContextValue>(POPPER_NAME);\n\ninterface PopperProps {\n children?: React.ReactNode;\n}\nconst Popper: React.FC<PopperProps> = (props: ScopedProps<PopperProps>) => {\n const { __scopePopper, children } = props;\n const [anchor, setAnchor] = React.useState<Measurable | null>(null);\n return (\n <PopperProvider scope={__scopePopper} anchor={anchor} onAnchorChange={setAnchor}>\n {children}\n </PopperProvider>\n );\n};\n\nPopper.displayName = POPPER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * PopperAnchor\n * -----------------------------------------------------------------------------------------------*/\n\nconst ANCHOR_NAME = 'PopperAnchor';\n\ntype PopperAnchorElement = React.ElementRef<typeof Primitive.div>;\ntype PrimitiveDivProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface PopperAnchorProps extends PrimitiveDivProps {\n virtualRef?: React.RefObject<Measurable>;\n}\n\nconst PopperAnchor = React.forwardRef<PopperAnchorElement, PopperAnchorProps>(\n (props: ScopedProps<PopperAnchorProps>, forwardedRef) => {\n const { __scopePopper, virtualRef, ...anchorProps } = props;\n const context = usePopperContext(ANCHOR_NAME, __scopePopper);\n const ref = React.useRef<PopperAnchorElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n\n React.useEffect(() => {\n // Consumer can anchor the popper to something that isn't\n // a DOM node e.g. pointer position, so we override the\n // `anchorRef` with their virtual ref in this case.\n context.onAnchorChange(virtualRef?.current || ref.current);\n });\n\n return virtualRef ? null : <Primitive.div {...anchorProps} ref={composedRefs} />;\n }\n);\n\nPopperAnchor.displayName = ANCHOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * PopperContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'PopperContent';\n\ntype PopperContentContextValue = {\n placedSide: Side;\n onArrowChange(arrow: HTMLSpanElement | null): void;\n arrowX?: number;\n arrowY?: number;\n shouldHideArrow: boolean;\n};\n\nconst [PopperContentProvider, useContentContext] =\n createPopperContext<PopperContentContextValue>(CONTENT_NAME);\n\nconst [PositionContextProvider, usePositionContext] = createPopperContext(CONTENT_NAME, {\n hasParent: false,\n positionUpdateFns: new Set<() => void>(),\n});\n\ntype Boundary = Element | null;\n\ntype PopperContentElement = React.ElementRef<typeof Primitive.div>;\ninterface PopperContentProps extends PrimitiveDivProps {\n side?: Side;\n sideOffset?: number;\n align?: Align;\n alignOffset?: number;\n arrowPadding?: number;\n collisionBoundary?: Boundary | Boundary[];\n collisionPadding?: number | Partial<Record<Side, number>>;\n sticky?: 'partial' | 'always';\n hideWhenDetached?: boolean;\n avoidCollisions?: boolean;\n}\n\nconst PopperContent = React.forwardRef<PopperContentElement, PopperContentProps>(\n (props: ScopedProps<PopperContentProps>, forwardedRef) => {\n const {\n __scopePopper,\n side = 'bottom',\n sideOffset = 0,\n align = 'center',\n alignOffset = 0,\n arrowPadding = 0,\n collisionBoundary = [],\n collisionPadding: collisionPaddingProp = 0,\n sticky = 'partial',\n hideWhenDetached = false,\n avoidCollisions = true,\n ...contentProps\n } = props;\n\n const context = usePopperContext(CONTENT_NAME, __scopePopper);\n\n const [content, setContent] = React.useState<HTMLDivElement | null>(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n\n const [arrow, setArrow] = React.useState<HTMLSpanElement | null>(null);\n const arrowSize = useSize(arrow);\n const arrowWidth = arrowSize?.width ?? 0;\n const arrowHeight = arrowSize?.height ?? 0;\n\n const desiredPlacement = (side + (align !== 'center' ? '-' + align : '')) as Placement;\n\n const collisionPadding =\n typeof collisionPaddingProp === 'number'\n ? collisionPaddingProp\n : { top: 0, right: 0, bottom: 0, left: 0, ...collisionPaddingProp };\n\n const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [collisionBoundary];\n const hasExplicitBoundaries = boundary.length > 0;\n\n const detectOverflowOptions = {\n padding: collisionPadding,\n boundary: boundary.filter(isNotNull),\n // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries\n altBoundary: hasExplicitBoundaries,\n };\n\n const { reference, floating, strategy, x, y, placement, middlewareData, update } = useFloating({\n // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues\n strategy: 'fixed',\n placement: desiredPlacement,\n whileElementsMounted: autoUpdate,\n middleware: [\n offset({ mainAxis: sideOffset + arrowHeight, alignmentAxis: alignOffset }),\n avoidCollisions\n ? shift({\n mainAxis: true,\n crossAxis: false,\n limiter: sticky === 'partial' ? limitShift() : undefined,\n ...detectOverflowOptions,\n })\n : undefined,\n arrow ? floatingUIarrow({ element: arrow, padding: arrowPadding }) : undefined,\n avoidCollisions ? flip({ ...detectOverflowOptions }) : undefined,\n transformOrigin({ arrowWidth, arrowHeight }),\n hideWhenDetached ? hide({ strategy: 'referenceHidden' }) : undefined,\n ].filter(isDefined),\n });\n\n // assign the reference dynamically once `Content` has mounted so we can collocate the logic\n useLayoutEffect(() => {\n reference(context.anchor);\n }, [reference, context.anchor]);\n\n const isPlaced = x !== null && y !== null;\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n\n const arrowX = middlewareData.arrow?.x;\n const arrowY = middlewareData.arrow?.y;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n\n const [contentZIndex, setContentZIndex] = React.useState<string>();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n\n const { hasParent, positionUpdateFns } = usePositionContext(CONTENT_NAME, __scopePopper);\n const isRoot = !hasParent;\n\n React.useLayoutEffect(() => {\n if (!isRoot) {\n positionUpdateFns.add(update);\n return () => {\n positionUpdateFns.delete(update);\n };\n }\n }, [isRoot, positionUpdateFns, update]);\n\n // when nested contents are rendered in portals, they are appended out of order causing\n // children to be positioned incorrectly if initially open.\n // we need to re-compute the positioning once the parent has finally been placed.\n // https://github.com/floating-ui/floating-ui/issues/1531\n React.useLayoutEffect(() => {\n if (isRoot && isPlaced) {\n Array.from(positionUpdateFns)\n .reverse()\n .forEach((fn) => requestAnimationFrame(fn));\n }\n }, [isRoot, isPlaced, positionUpdateFns]);\n\n const commonProps = {\n 'data-side': placedSide,\n 'data-align': placedAlign,\n ...contentProps,\n ref: composedRefs,\n style: {\n ...contentProps.style,\n // if the PopperContent hasn't been placed yet (not all measurements done)\n // we prevent animations so that users's animation don't kick in too early referring wrong sides\n animation: !isPlaced ? 'none' : undefined,\n // hide the content if using the hide middleware and should be hidden\n opacity: middlewareData.hide?.referenceHidden ? 0 : undefined,\n },\n };\n\n return (\n <div\n ref={floating}\n data-radix-popper-content-wrapper=\"\"\n style={{\n position: strategy,\n left: 0,\n top: 0,\n transform: isPlaced\n ? `translate3d(${Math.round(x)}px, ${Math.round(y)}px, 0)`\n : 'translate3d(0, -200%, 0)', // keep off the page when measuring\n minWidth: 'max-content',\n zIndex: contentZIndex,\n ['--radix-popper-transform-origin' as any]: [\n middlewareData.transformOrigin?.x,\n middlewareData.transformOrigin?.y,\n ].join(' '),\n }}\n >\n <PopperContentProvider\n scope={__scopePopper}\n placedSide={placedSide}\n onArrowChange={setArrow}\n arrowX={arrowX}\n arrowY={arrowY}\n shouldHideArrow={cannotCenterArrow}\n >\n {isRoot ? (\n <PositionContextProvider\n scope={__scopePopper}\n hasParent\n positionUpdateFns={positionUpdateFns}\n >\n <Primitive.div {...commonProps} />\n </PositionContextProvider>\n ) : (\n <Primitive.div {...commonProps} />\n )}\n </PopperContentProvider>\n </div>\n );\n }\n);\n\nPopperContent.displayName = CONTENT_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * PopperArrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_NAME = 'PopperArrow';\n\nconst OPPOSITE_SIDE: Record<Side, Side> = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n};\n\ntype PopperArrowElement = React.ElementRef<typeof ArrowPrimitive.Root>;\ntype ArrowProps = Radix.ComponentPropsWithoutRef<typeof ArrowPrimitive.Root>;\ninterface PopperArrowProps extends ArrowProps {\n offset?: number;\n}\n\nconst PopperArrow = React.forwardRef<PopperArrowElement, PopperArrowProps>(function PopperArrow(\n props: ScopedProps<PopperArrowProps>,\n forwardedRef\n) {\n const { __scopePopper, offset, ...arrowProps } = props;\n const contentContext = useContentContext(ARROW_NAME, __scopePopper);\n const baseSide = OPPOSITE_SIDE[contentContext.placedSide];\n\n return (\n // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)\n // doesn't report size as we'd expect on SVG elements.\n // it reports their bounding box which is effectively the largest path inside the SVG.\n <span\n ref={contentContext.onArrowChange}\n style={{\n position: 'absolute',\n left: contentContext.arrowX,\n top: contentContext.arrowY,\n [baseSide]: 0,\n transformOrigin: {\n top: '',\n right: '0 0',\n bottom: 'center 0',\n left: '100% 0',\n }[contentContext.placedSide],\n transform: {\n top: 'translateY(100%)',\n right: 'translateY(50%) rotate(90deg) translateX(-50%)',\n bottom: `rotate(180deg)`,\n left: 'translateY(50%) rotate(-90deg) translateX(50%)',\n }[contentContext.placedSide],\n visibility: contentContext.shouldHideArrow ? 'hidden' : undefined,\n }}\n >\n <ArrowPrimitive.Root\n {...arrowProps}\n ref={forwardedRef}\n style={{\n ...arrowProps.style,\n // ensures the element can be measured correctly (mostly for if SVG)\n display: 'block',\n }}\n />\n </span>\n );\n});\n\nPopperArrow.displayName = ARROW_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction isDefined<T>(value: T | undefined): value is T {\n return value !== undefined;\n}\n\nfunction isNotNull<T>(value: T | null): value is T {\n return value !== null;\n}\n\nconst transformOrigin = (options: { arrowWidth: number; arrowHeight: number }): Middleware => ({\n name: 'transformOrigin',\n options,\n fn(data) {\n const { placement, rects, middlewareData } = data;\n\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const isArrowHidden = cannotCenterArrow;\n const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;\n const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;\n\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const noArrowAlign = { start: '0%', center: '50%', end: '100%' }[placedAlign];\n\n const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;\n const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;\n\n let x = '';\n let y = '';\n\n if (placedSide === 'bottom') {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${-arrowHeight}px`;\n } else if (placedSide === 'top') {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${rects.floating.height + arrowHeight}px`;\n } else if (placedSide === 'right') {\n x = `${-arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n } else if (placedSide === 'left') {\n x = `${rects.floating.width + arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n }\n return { data: { x, y } };\n },\n});\n\nfunction getSideAndAlignFromPlacement(placement: Placement) {\n const [side, align = 'center'] = placement.split('-');\n return [side as Side, align as Align] as const;\n}\n\nconst Root = Popper;\nconst Anchor = PopperAnchor;\nconst Content = PopperContent;\nconst Arrow = PopperArrow;\n\nexport {\n createPopperScope,\n //\n Popper,\n PopperAnchor,\n PopperContent,\n PopperArrow,\n //\n Root,\n Anchor,\n Content,\n Arrow,\n //\n SIDE_OPTIONS,\n ALIGN_OPTIONS,\n};\nexport type { PopperProps, PopperAnchorProps, PopperContentProps, PopperArrowProps };\n"],"names":["createPopperScope","Popper","PopperAnchor","PopperContent","PopperArrow","Root","Anchor","Content","Arrow","SIDE_OPTIONS","ALIGN_OPTIONS","React","useFloating","autoUpdate","offset","shift","limitShift","hide","arrow","floatingUIarrow","flip","ArrowPrimitive","useComposedRefs","createContextScope","Primitive","useLayoutEffect","useSize","POPPER_NAME","createPopperContext","PopperProvider","usePopperContext","props","__scopePopper","children","anchor","setAnchor","useState","ANCHOR_NAME","forwardRef","forwardedRef","virtualRef","anchorProps","context","ref","useRef","composedRefs","useEffect","onAnchorChange","current","CONTENT_NAME","PopperContentProvider","useContentContext","PositionContextProvider","usePositionContext","hasParent","positionUpdateFns","Set","side","sideOffset","align","alignOffset","arrowPadding","collisionBoundary","collisionPadding","collisionPaddingProp","sticky","hideWhenDetached","avoidCollisions","contentProps","content","setContent","node","setArrow","arrowSize","arrowWidth","width","arrowHeight","height","desiredPlacement","top","right","bottom","left","boundary","Array","isArray","hasExplicitBoundaries","length","detectOverflowOptions","padding","filter","isNotNull","altBoundary","reference","floating","strategy","x","y","placement","middlewareData","update","whileElementsMounted","middleware","mainAxis","alignmentAxis","crossAxis","limiter","undefined","element","transformOrigin","isDefined","isPlaced","placedSide","placedAlign","getSideAndAlignFromPlacement","arrowX","arrowY","cannotCenterArrow","centerOffset","contentZIndex","setContentZIndex","window","getComputedStyle","zIndex","isRoot","add","delete","from","reverse","forEach","fn","requestAnimationFrame","commonProps","style","animation","opacity","referenceHidden","position","transform","Math","round","minWidth","join","ARROW_NAME","OPPOSITE_SIDE","arrowProps","contentContext","baseSide","onArrowChange","visibility","shouldHideArrow","display","value","options","name","data","rects","isArrowHidden","noArrowAlign","start","center","end","arrowXCenter","arrowYCenter","split"],"version":3,"file":"index.module.js.map"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@radix-ui/react-popper",
3
- "version": "0.1.5-rc.45",
3
+ "version": "0.1.5-rc.46",
4
4
  "license": "MIT",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/index.js",
@@ -18,14 +18,14 @@
18
18
  "dependencies": {
19
19
  "@babel/runtime": "^7.13.10",
20
20
  "@floating-ui/react-dom": "0.7.2",
21
- "@radix-ui/react-arrow": "0.1.5-rc.45",
22
- "@radix-ui/react-compose-refs": "0.1.1-rc.45",
23
- "@radix-ui/react-context": "0.1.2-rc.45",
24
- "@radix-ui/react-primitive": "0.1.5-rc.45",
25
- "@radix-ui/react-use-layout-effect": "0.1.1-rc.45",
26
- "@radix-ui/react-use-rect": "0.1.2-rc.45",
27
- "@radix-ui/react-use-size": "0.1.2-rc.45",
28
- "@radix-ui/rect": "0.1.2-rc.5"
21
+ "@radix-ui/react-arrow": "0.1.5-rc.46",
22
+ "@radix-ui/react-compose-refs": "0.1.1-rc.46",
23
+ "@radix-ui/react-context": "0.1.2-rc.46",
24
+ "@radix-ui/react-primitive": "0.1.5-rc.46",
25
+ "@radix-ui/react-use-layout-effect": "0.1.1-rc.46",
26
+ "@radix-ui/react-use-rect": "0.1.2-rc.46",
27
+ "@radix-ui/react-use-size": "0.1.2-rc.46",
28
+ "@radix-ui/rect": "0.1.2-rc.6"
29
29
  },
30
30
  "peerDependencies": {
31
31
  "react": "^16.8 || ^17.0 || ^18.0",