@radix-ui/react-popper 1.1.1 → 1.1.2-rc.10

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.
@@ -1 +1 @@
1
- {"mappings":";;;;;AAyBA,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;IAC1B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,OAAA,MAAM,wGAwLL,CAAC;AAkBF,kBAAkB,MAAM,wBAAwB,CAAC,OAAO,eAAe,IAAI,CAAC,CAAC;AAC7E,iCAA2B,SAAQ,UAAU;CAAG;AAEhD,OAAA,MAAM,mGA6CJ,CAAC;AAmEH,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":";;;;;AAyBA,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;AAqBF,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;IAC1B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,OAAA,MAAM,wGA+IL,CAAC;AAkBF,kBAAkB,MAAM,wBAAwB,CAAC,OAAO,eAAe,IAAI,CAAC,CAAC;AAC7E,iCAA2B,SAAQ,UAAU;CAAG;AAEhD,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"}
package/dist/index.js CHANGED
@@ -90,12 +90,8 @@ const $34310caa050a8d63$export$ecd4e1ccab6ed6d = /*#__PURE__*/ $50Iv9$react.forw
90
90
  * PopperContent
91
91
  * -----------------------------------------------------------------------------------------------*/ const $34310caa050a8d63$var$CONTENT_NAME = 'PopperContent';
92
92
  const [$34310caa050a8d63$var$PopperContentProvider, $34310caa050a8d63$var$useContentContext] = $34310caa050a8d63$var$createPopperContext($34310caa050a8d63$var$CONTENT_NAME);
93
- const [$34310caa050a8d63$var$PositionContextProvider, $34310caa050a8d63$var$usePositionContext] = $34310caa050a8d63$var$createPopperContext($34310caa050a8d63$var$CONTENT_NAME, {
94
- hasParent: false,
95
- positionUpdateFns: new Set()
96
- });
97
93
  const $34310caa050a8d63$export$bc4ae5855d3c4fc = /*#__PURE__*/ $50Iv9$react.forwardRef((props, forwardedRef)=>{
98
- var _arrowSize$width, _arrowSize$height, _middlewareData$arrow, _middlewareData$arrow2, _middlewareData$arrow3, _middlewareData$hide, _middlewareData$trans, _middlewareData$trans2;
94
+ var _arrowSize$width, _arrowSize$height, _middlewareData$arrow, _middlewareData$arrow2, _middlewareData$arrow3, _middlewareData$trans, _middlewareData$trans2, _middlewareData$hide;
99
95
  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 , onPlaced: onPlaced , ...contentProps } = props;
100
96
  const context = $34310caa050a8d63$var$usePopperContext($34310caa050a8d63$var$CONTENT_NAME, __scopePopper);
101
97
  const [content, setContent] = $50Iv9$react.useState(null);
@@ -123,59 +119,58 @@ const $34310caa050a8d63$export$bc4ae5855d3c4fc = /*#__PURE__*/ $50Iv9$react.forw
123
119
  // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries
124
120
  altBoundary: hasExplicitBoundaries
125
121
  };
126
- const { reference: reference , floating: floating , strategy: strategy , x: x , y: y , placement: placement , middlewareData: middlewareData , update: update } = $50Iv9$floatinguireactdom.useFloating({
122
+ const { refs: refs , floatingStyles: floatingStyles , placement: placement , isPositioned: isPositioned , middlewareData: middlewareData } = $50Iv9$floatinguireactdom.useFloating({
127
123
  // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues
128
124
  strategy: 'fixed',
129
125
  placement: desiredPlacement,
130
126
  whileElementsMounted: $50Iv9$floatinguireactdom.autoUpdate,
127
+ elements: {
128
+ reference: context.anchor
129
+ },
131
130
  middleware: [
132
- $34310caa050a8d63$var$anchorCssProperties(),
133
131
  $50Iv9$floatinguireactdom.offset({
134
132
  mainAxis: sideOffset + arrowHeight,
135
133
  alignmentAxis: alignOffset
136
134
  }),
137
- avoidCollisions ? $50Iv9$floatinguireactdom.shift({
135
+ avoidCollisions && $50Iv9$floatinguireactdom.shift({
138
136
  mainAxis: true,
139
137
  crossAxis: false,
140
138
  limiter: sticky === 'partial' ? $50Iv9$floatinguireactdom.limitShift() : undefined,
141
139
  ...detectOverflowOptions
142
- }) : undefined,
143
- arrow ? $50Iv9$floatinguireactdom.arrow({
144
- element: arrow,
145
- padding: arrowPadding
146
- }) : undefined,
147
- avoidCollisions ? $50Iv9$floatinguireactdom.flip({
140
+ }),
141
+ avoidCollisions && $50Iv9$floatinguireactdom.flip({
148
142
  ...detectOverflowOptions
149
- }) : undefined,
143
+ }),
150
144
  $50Iv9$floatinguireactdom.size({
151
145
  ...detectOverflowOptions,
152
- apply: ({ elements: elements , availableWidth: width , availableHeight: height })=>{
153
- elements.floating.style.setProperty('--radix-popper-available-width', `${width}px`);
154
- elements.floating.style.setProperty('--radix-popper-available-height', `${height}px`);
146
+ apply: ({ elements: elements , rects: rects , availableWidth: availableWidth , availableHeight: availableHeight })=>{
147
+ const { width: anchorWidth , height: anchorHeight } = rects.reference;
148
+ const contentStyle = elements.floating.style;
149
+ contentStyle.setProperty('--radix-popper-available-width', `${availableWidth}px`);
150
+ contentStyle.setProperty('--radix-popper-available-height', `${availableHeight}px`);
151
+ contentStyle.setProperty('--radix-popper-anchor-width', `${anchorWidth}px`);
152
+ contentStyle.setProperty('--radix-popper-anchor-height', `${anchorHeight}px`);
155
153
  }
156
154
  }),
155
+ arrow && $50Iv9$floatinguireactdom.arrow({
156
+ element: arrow,
157
+ padding: arrowPadding
158
+ }),
157
159
  $34310caa050a8d63$var$transformOrigin({
158
160
  arrowWidth: arrowWidth,
159
161
  arrowHeight: arrowHeight
160
162
  }),
161
- hideWhenDetached ? $50Iv9$floatinguireactdom.hide({
163
+ hideWhenDetached && $50Iv9$floatinguireactdom.hide({
162
164
  strategy: 'referenceHidden'
163
- }) : undefined
164
- ].filter($34310caa050a8d63$var$isDefined)
165
- }); // assign the reference dynamically once `Content` has mounted so we can collocate the logic
166
- $50Iv9$radixuireactuselayouteffect.useLayoutEffect(()=>{
167
- reference(context.anchor);
168
- }, [
169
- reference,
170
- context.anchor
171
- ]);
172
- const isPlaced = x !== null && y !== null;
165
+ })
166
+ ]
167
+ });
173
168
  const [placedSide, placedAlign] = $34310caa050a8d63$var$getSideAndAlignFromPlacement(placement);
174
169
  const handlePlaced = $50Iv9$radixuireactusecallbackref.useCallbackRef(onPlaced);
175
170
  $50Iv9$radixuireactuselayouteffect.useLayoutEffect(()=>{
176
- if (isPlaced) handlePlaced === null || handlePlaced === void 0 || handlePlaced();
171
+ if (isPositioned) handlePlaced === null || handlePlaced === void 0 || handlePlaced();
177
172
  }, [
178
- isPlaced,
173
+ isPositioned,
179
174
  handlePlaced
180
175
  ]);
181
176
  const arrowX = (_middlewareData$arrow = middlewareData.arrow) === null || _middlewareData$arrow === void 0 ? void 0 : _middlewareData$arrow.x;
@@ -187,53 +182,12 @@ const $34310caa050a8d63$export$bc4ae5855d3c4fc = /*#__PURE__*/ $50Iv9$react.forw
187
182
  }, [
188
183
  content
189
184
  ]);
190
- const { hasParent: hasParent , positionUpdateFns: positionUpdateFns } = $34310caa050a8d63$var$usePositionContext($34310caa050a8d63$var$CONTENT_NAME, __scopePopper);
191
- const isRoot = !hasParent;
192
- $50Iv9$react.useLayoutEffect(()=>{
193
- if (!isRoot) {
194
- positionUpdateFns.add(update);
195
- return ()=>{
196
- positionUpdateFns.delete(update);
197
- };
198
- }
199
- }, [
200
- isRoot,
201
- positionUpdateFns,
202
- update
203
- ]); // when nested contents are rendered in portals, they are appended out of order causing
204
- // children to be positioned incorrectly if initially open.
205
- // we need to re-compute the positioning once the parent has finally been placed.
206
- // https://github.com/floating-ui/floating-ui/issues/1531
207
- $50Iv9$radixuireactuselayouteffect.useLayoutEffect(()=>{
208
- if (isRoot && isPlaced) Array.from(positionUpdateFns).reverse().forEach((fn)=>requestAnimationFrame(fn)
209
- );
210
- }, [
211
- isRoot,
212
- isPlaced,
213
- positionUpdateFns
214
- ]);
215
- const commonProps = {
216
- 'data-side': placedSide,
217
- 'data-align': placedAlign,
218
- ...contentProps,
219
- ref: composedRefs,
220
- style: {
221
- ...contentProps.style,
222
- // if the PopperContent hasn't been placed yet (not all measurements done)
223
- // we prevent animations so that users's animation don't kick in too early referring wrong sides
224
- animation: !isPlaced ? 'none' : undefined,
225
- // hide the content if using the hide middleware and should be hidden
226
- opacity: (_middlewareData$hide = middlewareData.hide) !== null && _middlewareData$hide !== void 0 && _middlewareData$hide.referenceHidden ? 0 : undefined
227
- }
228
- };
229
185
  return /*#__PURE__*/ $50Iv9$react.createElement("div", {
230
- ref: floating,
186
+ ref: refs.setFloating,
231
187
  "data-radix-popper-content-wrapper": "",
232
188
  style: {
233
- position: strategy,
234
- left: 0,
235
- top: 0,
236
- transform: isPlaced ? `translate3d(${Math.round(x)}px, ${Math.round(y)}px, 0)` : 'translate3d(0, -200%, 0)',
189
+ ...floatingStyles,
190
+ transform: isPositioned ? floatingStyles.transform : 'translate(0, -200%)',
237
191
  // keep off the page when measuring
238
192
  minWidth: 'max-content',
239
193
  zIndex: contentZIndex,
@@ -251,11 +205,20 @@ const $34310caa050a8d63$export$bc4ae5855d3c4fc = /*#__PURE__*/ $50Iv9$react.forw
251
205
  arrowX: arrowX,
252
206
  arrowY: arrowY,
253
207
  shouldHideArrow: cannotCenterArrow
254
- }, isRoot ? /*#__PURE__*/ $50Iv9$react.createElement($34310caa050a8d63$var$PositionContextProvider, {
255
- scope: __scopePopper,
256
- hasParent: true,
257
- positionUpdateFns: positionUpdateFns
258
- }, /*#__PURE__*/ $50Iv9$react.createElement($50Iv9$radixuireactprimitive.Primitive.div, commonProps)) : /*#__PURE__*/ $50Iv9$react.createElement($50Iv9$radixuireactprimitive.Primitive.div, commonProps)));
208
+ }, /*#__PURE__*/ $50Iv9$react.createElement($50Iv9$radixuireactprimitive.Primitive.div, ($parcel$interopDefault($50Iv9$babelruntimehelpersextends))({
209
+ "data-side": placedSide,
210
+ "data-align": placedAlign
211
+ }, contentProps, {
212
+ ref: composedRefs,
213
+ style: {
214
+ ...contentProps.style,
215
+ // if the PopperContent hasn't been placed yet (not all measurements done)
216
+ // we prevent animations so that users's animation don't kick in too early referring wrong sides
217
+ animation: !isPositioned ? 'none' : undefined,
218
+ // hide the content if using the hide middleware and should be hidden
219
+ opacity: (_middlewareData$hide = middlewareData.hide) !== null && _middlewareData$hide !== void 0 && _middlewareData$hide.referenceHidden ? 0 : undefined
220
+ }
221
+ }))));
259
222
  });
260
223
  /*#__PURE__*/ Object.assign($34310caa050a8d63$export$bc4ae5855d3c4fc, {
261
224
  displayName: $34310caa050a8d63$var$CONTENT_NAME
@@ -309,23 +272,9 @@ const $34310caa050a8d63$export$79d62cd4e10a3fd0 = /*#__PURE__*/ $50Iv9$react.for
309
272
  /*#__PURE__*/ Object.assign($34310caa050a8d63$export$79d62cd4e10a3fd0, {
310
273
  displayName: $34310caa050a8d63$var$ARROW_NAME
311
274
  });
312
- /* -----------------------------------------------------------------------------------------------*/ function $34310caa050a8d63$var$isDefined(value) {
313
- return value !== undefined;
314
- }
315
- function $34310caa050a8d63$var$isNotNull(value) {
275
+ /* -----------------------------------------------------------------------------------------------*/ function $34310caa050a8d63$var$isNotNull(value) {
316
276
  return value !== null;
317
277
  }
318
- const $34310caa050a8d63$var$anchorCssProperties = ()=>({
319
- name: 'anchorCssProperties',
320
- fn (data) {
321
- const { rects: rects , elements: elements } = data;
322
- const { width: width , height: height } = rects.reference;
323
- elements.floating.style.setProperty('--radix-popper-anchor-width', `${width}px`);
324
- elements.floating.style.setProperty('--radix-popper-anchor-height', `${height}px`);
325
- return {};
326
- }
327
- })
328
- ;
329
278
  const $34310caa050a8d63$var$transformOrigin = (options)=>({
330
279
  name: 'transformOrigin',
331
280
  options: options,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;A;;;;;;;;;;ACyBA,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,MAAMmB,iCAAW,GAAG,QAApB,AAAA;AAGA,MAAM,CAACC,yCAAD,EAAsB9B,uCAAtB,CAAA,GAA2CwB,6CAAkB,CAACK,iCAAD,CAAnE,AAAA;AAMA,MAAM,CAACE,oCAAD,EAAiBC,sCAAjB,CAAA,GAAqCF,yCAAmB,CAAqBD,iCAArB,CAA9D,AAAA;AAKA,MAAM5B,yCAA6B,GAAIgC,CAAAA,KAAD,GAAqC;IACzE,MAAM,E,eAAEC,aAAF,CAAA,E,UAAiBC,QAAAA,CAAAA,EAAjB,GAA8BF,KAApC,AAAM;IACN,MAAM,CAACG,MAAD,EAASC,SAAT,CAAA,GAAsB1B,qBAAA,CAAkC,IAAlC,CAA5B,AAAA;IACA,OAAA,aACE,CAAA,0BAAA,CAAC,oCAAD,EADF;QACkB,KAAK,EAAEuB,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,MAAMrC,wCAAY,GAAA,aAAGS,CAAAA,uBAAA,CACnB,CAACsB,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,GAAGlC,mBAAA,CAAkC,IAAlC,CAAZ,AAAA;IACA,MAAMoC,YAAY,GAAGxB,8CAAe,CAACkB,YAAD,EAAeI,GAAf,CAApC,AAAA;IAEAlC,sBAAA,CAAgB,IAAM;QACpB,yDAAA;QACA,uDAAA;QACA,mDAAA;QACAiC,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,0BAAA,CAAC,sCAAD,CAAW,GAAX,EAAA,2DAAA,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;AAsBxF,MAAMtD,wCAAa,GAAA,aAAGQ,CAAAA,uBAAA,CACpB,CAACsB,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,sBAOJC,iBAAiB,GAAG,EAPhB,GAQJC,gBAAgB,EAAEC,oBAAoB,GAAG,CARrC,CAAA,UASJC,MAAM,GAAG,SATL,qBAUJC,gBAAgB,GAAG,KAVf,oBAWJC,eAAe,GAAG,IAXd,G,UAYJC,QAZI,CAAA,EAaJ,GAAGC,YAAH,EAbI,GAcFtC,KAdJ,AAAM;IAgBN,MAAMW,OAAO,GAAGZ,sCAAgB,CAACmB,kCAAD,EAAejB,aAAf,CAAhC,AAAA;IAEA,MAAM,CAACsC,OAAD,EAAUC,UAAV,CAAA,GAAwB9D,qBAAA,CAAsC,IAAtC,CAA9B,AAAA;IACA,MAAMoC,YAAY,GAAGxB,8CAAe,CAACkB,YAAD,EAAgBiC,CAAAA,IAAD,GAAUD,UAAU,CAACC,IAAD,CAAnC;IAAA,CAApC,AAAA;IAEA,MAAM,CAACxD,KAAD,EAAQyD,QAAR,CAAA,GAAoBhE,qBAAA,CAAuC,IAAvC,CAA1B,AAAA;IACA,MAAMiE,SAAS,GAAGhD,kCAAO,CAACV,KAAD,CAAzB,AAAA;IACA,MAAM2D,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,GAAItB,IAAI,GAAIE,CAAAA,KAAK,KAAK,QAAV,GAAqB,GAAA,GAAMA,KAA3B,GAAmC,EAAvC,CAAA,AAA9B,AAAA;IAEA,MAAMI,gBAAgB,GACpB,OAAOC,oBAAP,KAAgC,QAAhC,GACIA,oBADJ,GAEI;QAAEgB,GAAG,EAAE,CAAP;QAAUC,KAAK,EAAE,CAAjB;QAAoBC,MAAM,EAAE,CAA5B;QAA+BC,IAAI,EAAE,CAArC;QAAwC,GAAGnB,oBAAH;KAH9C,AAGM;IAEN,MAAMoB,QAAQ,GAAGC,KAAK,CAACC,OAAN,CAAcxB,iBAAd,CAAA,GAAmCA,iBAAnC,GAAuD;QAACA,iBAAD;KAAxE,AAAA;IACA,MAAMyB,qBAAqB,GAAGH,QAAQ,CAACI,MAAT,GAAkB,CAAhD,AAAA;IAEA,MAAMC,qBAAqB,GAAG;QAC5BC,OAAO,EAAE3B,gBADmB;QAE5BqB,QAAQ,EAAEA,QAAQ,CAACO,MAAT,CAAgBC,+BAAhB,CAFkB;QAG5B,iFAAA;QACAC,WAAW,EAAEN,qBAAbM;KAJF,AAA8B;IAO9B,MAAM,E,WAAEC,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,GAA6E3F,qCAAW,CAAC;QAC7F,gGAAA;QACAsF,QAAQ,EAAE,OAFmF;QAG7FG,SAAS,EAAEpB,gBAHkF;QAI7FuB,oBAAoB,EAAE3F,oCAJuE;QAK7F4F,UAAU,EAAE;YACVC,yCAAmB,EADT;YAEV5F,gCAAM,CAAC;gBAAE6F,QAAQ,EAAE/C,UAAU,GAAGmB,WAAzB;gBAAsC6B,aAAa,EAAE9C,WAAf8C;aAAvC,CAFI;YAGVvC,eAAe,GACXtD,+BAAK,CAAC;gBACJ4F,QAAQ,EAAE,IADN;gBAEJE,SAAS,EAAE,KAFP;gBAGJC,OAAO,EAAE3C,MAAM,KAAK,SAAX,GAAuBnD,oCAAU,EAAjC,GAAsC+F,SAH3C;gBAIJ,GAAGpB,qBAAH;aAJG,CADM,GAOXoB,SAVM;YAWV7F,KAAK,GAAGC,+BAAe,CAAC;gBAAE6F,OAAO,EAAE9F,KAAX;gBAAkB0E,OAAO,EAAE7B,YAAT6B;aAAnB,CAAlB,GAAgEmB,SAX3D;YAYV1C,eAAe,GAAGjD,8BAAI,CAAC;gBAAE,GAAGuE,qBADJ;aACF,CAAP,GAAwCoB,SAZ7C;YAaV1F,8BAAI,CAAC;gBACH,GAAGsE,qBADA;gBAEHsB,KAAK,EAAE,CAAC,E,UAAEC,QAAF,CAAA,EAAYC,cAAc,EAAErC,KAA5B,CAAA,EAAmCsC,eAAe,EAAEpC,MAAjBoC,CAAAA,EAApC,GAAkE;oBACvEF,QAAQ,CAACjB,QAAT,CAAkBoB,KAAlB,CAAwBC,WAAxB,CAAoC,gCAApC,EAAuE,CAAA,EAAExC,KAAM,CAAA,EAAA,CAA/E,CAAAoC,CAAAA;oBACAA,QAAQ,CAACjB,QAAT,CAAkBoB,KAAlB,CAAwBC,WAAxB,CAAoC,iCAApC,EAAwE,CAAA,EAAEtC,MAAO,CAAA,EAAA,CAAjF,CAAAkC,CAAAA;iBACD;aALC,CAbM;YAoBVK,qCAAe,CAAC;gB,YAAE1C,UAAF;gB,aAAcE,WAAAA;aAAf,CApBL;YAqBVX,gBAAgB,GAAGnD,8BAAI,CAAC;gBAAEiF,QAAQ,EAAE,iBAAVA;aAAH,CAAP,GAA2Ca,SArBjD;SAAA,CAsBVlB,MAtBU,CAsBH2B,+BAtBG,CAqBc;KA1BkE,CAA9F,AA5CwD,EA0ExD,4FA9B+F;IA+B/F7F,kDAAe,CAAC,IAAM;QACpBqE,SAAS,CAACpD,OAAO,CAACR,MAAT,CAAT,CAAA4D;KADa,EAEZ;QAACA,SAAD;QAAYpD,OAAO,CAACR,MAApB;KAFY,CAAf,CAEC;IAED,MAAMqF,QAAQ,GAAGtB,CAAC,KAAK,IAAN,IAAcC,CAAC,KAAK,IAArC,AAAA;IACA,MAAM,CAACsB,UAAD,EAAaC,WAAb,CAAA,GAA4BC,kDAA4B,CAACvB,SAAD,CAA9D,AAAA;IAEA,MAAMwB,YAAY,GAAGnG,gDAAc,CAAC4C,QAAD,CAAnC,AAAA;IACA3C,kDAAe,CAAC,IAAM;QACpB,IAAI8F,QAAJ,EACEI,YAAY,KAAA,IAAZ,IAAAA,YAAY,KAAA,KAAA,CAAZ,IAAAA,YAAY,EAAZA,CAAAA;KAFW,EAIZ;QAACJ,QAAD;QAAWI,YAAX;KAJY,CAAf,CAIC;IAED,MAAMC,MAAM,GAAA,AAAA,CAAA,qBAAA,GAAGxB,cAAc,CAACpF,KAAlB,CAAA,KAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAG,qBAAA,CAAsBiF,CAArC,AAAA;IACA,MAAM4B,MAAM,GAAA,AAAA,CAAA,sBAAA,GAAGzB,cAAc,CAACpF,KAAlB,CAAA,KAAA,IAAA,IAAA,sBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAG,sBAAA,CAAsBkF,CAArC,AAAA;IACA,MAAM4B,iBAAiB,GAAG,AAAA,CAAA,AAAA,CAAA,sBAAA,GAAA1B,cAAc,CAACpF,KAAf,CAAA,KAAA,IAAA,IAAA,sBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAAsB+G,YAAtB,CAAA,KAAuC,CAAjE,AAAA;IAEA,MAAM,CAACC,aAAD,EAAgBC,gBAAhB,CAAA,GAAoCxH,qBAAA,EAA1C,AAAA;IACAgB,kDAAe,CAAC,IAAM;QACpB,IAAI6C,OAAJ,EAAa2D,gBAAgB,CAACC,MAAM,CAACC,gBAAP,CAAwB7D,OAAxB,CAAA,CAAiC8D,MAAlC,CAAhB,CAAb;KADa,EAEZ;QAAC9D,OAAD;KAFY,CAAf,CAEC;IAED,MAAM,E,WAAEhB,SAAF,CAAA,E,mBAAaC,iBAAAA,CAAAA,EAAb,GAAmCF,wCAAkB,CAACJ,kCAAD,EAAejB,aAAf,CAA3D,AAAM;IACN,MAAMqG,MAAM,GAAG,CAAC/E,SAAhB,AAAA;IAEA7C,4BAAA,CAAsB,IAAM;QAC1B,IAAI,CAAC4H,MAAL,EAAa;YACX9E,iBAAiB,CAAC+E,GAAlB,CAAsBjC,MAAtB,CAAA9C,CAAAA;YACA,OAAO,IAAM;gBACXA,iBAAiB,CAACgF,MAAlB,CAAyBlC,MAAzB,CAAA9C,CAAAA;aADF,CAEC;SACF;KANH,EAOG;QAAC8E,MAAD;QAAS9E,iBAAT;QAA4B8C,MAA5B;KAPH,CAAA,CArGwD,CA8GxD,uFAFC;IAGD,2DAAA;IACA,iFAAA;IACA,yDAAA;IACA5E,kDAAe,CAAC,IAAM;QACpB,IAAI4G,MAAM,IAAId,QAAd,EACElC,KAAK,CAACmD,IAAN,CAAWjF,iBAAX,CAAA,CACGkF,OADH,EAAA,CAEGC,OAFH,CAEYC,CAAAA,EAAD,GAAQC,qBAAqB,CAACD,EAAD,CAFxC;QAAA,CAAAtD,CAAAA;KAFW,EAMZ;QAACgD,MAAD;QAASd,QAAT;QAAmBhE,iBAAnB;KANY,CAAf,CAMC;IAED,MAAMsF,WAAW,GAAG;QAClB,WAAA,EAAarB,UADK;QAElB,YAAA,EAAcC,WAFI;QAGlB,GAAGpD,YAHe;QAIlB1B,GAAG,EAAEE,YAJa;QAKlBsE,KAAK,EAAE;YACL,GAAG9C,YAAY,CAAC8C,KADX;YAEL,0EAAA;YACA,gGAAA;YACA2B,SAAS,EAAE,CAACvB,QAAD,GAAY,MAAZ,GAAqBV,SAJ3B;YAKL,qEAAA;YACAkC,OAAO,EAAE,AAAA,CAAA,oBAAA,GAAA3C,cAAc,CAACrF,IAAf,CAAA,KAAA,IAAA,IAAA,oBAAA,KAAA,KAAA,CAAA,IAAA,oBAAA,CAAqBiI,eAArB,GAAuC,CAAvC,GAA2CnC,SAApDkC;SANK;KALT,AAAoB;IAepB,OAAA,aACE,CAAA,0BADF,CAAA,KAAA,EAAA;QAEI,GAAG,EAAEhD,QADP;QAEE,mCAAA,EAAkC,EAFpC;QAGE,KAAK,EAAE;YACLkD,QAAQ,EAAEjD,QADL;YAELb,IAAI,EAAE,CAFD;YAGLH,GAAG,EAAE,CAHA;YAILkE,SAAS,EAAE3B,QAAQ,GACd,CAAA,YAAA,EAAc4B,IAAI,CAACC,KAAL,CAAWnD,CAAX,CAAc,CAAA,IAAA,EAAMkD,IAAI,CAACC,KAAL,CAAWlD,CAAX,CAAc,CAAA,MAAA,CADlC,GAEf,0BANC;YAM2B,mCAAA;YAChCmD,QAAQ,EAAE,aAPL;YAQLjB,MAAM,EAAEJ,aARH;YASL,CAAC,iCAAD,CAAA,EAA4C;gBAAA,CAAA,qBAAA,GAC1C5B,cAAc,CAACiB,eAD2B,CAAA,KAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAC1C,qBAAA,CAAgCpB,CADU;gBAAA,CAAA,sBAAA,GAE1CG,cAAc,CAACiB,eAF2B,CAAA,KAAA,IAAA,IAAA,sBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAE1C,sBAAA,CAAgCnB,CAFU;aAAA,CAG1CoD,IAH0C,CAGrC,GAHqC,CAA5C;SAZJ,CAiBE,kFAdO;QAHT;QAoBE,GAAG,EAAEvH,KAAK,CAACwH,GAAX;KApBF,EAAA,aAsBE,CAAA,0BAAA,CAAC,2CAAD,EAtBF;QAuBI,KAAK,EAAEvH,aADT;QAEE,UAAU,EAAEwF,UAFd;QAGE,aAAa,EAAE/C,QAHjB;QAIE,MAAM,EAAEmD,MAJV;QAKE,MAAM,EAAEC,MALV;QAME,eAAe,EAAEC,iBAAjB;KANF,EAQGO,MAAM,GAAA,aACL,CAAA,0BAAA,CAAC,6CAAD,EATJ;QAUM,KAAK,EAAErG,aADT;QAEE,SAAS,EAAA,IAFX;QAGE,iBAAiB,EAAEuB,iBAAnB;KAHF,EAAA,aAKE,CAAA,0BAAA,CAAC,sCAAD,CAAW,GAAX,EAAmBsF,WAAnB,CALF,CADK,GAAA,aASL,CAAA,0BAAA,CAAC,sCAAD,CAAW,GAAX,EAAmBA,WAAnB,CAjBJ,CAtBF,CADF,CAgCQ;CA1KU,CAAtB,AAuLG;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;IACxCzE,GAAG,EAAE,QADmC;IAExCC,KAAK,EAAE,MAFiC;IAGxCC,MAAM,EAAE,KAHgC;IAIxCC,IAAI,EAAE,OAANA;CAJF,AAA0C;AAW1C,MAAMjF,yCAAW,GAAA,aAAGO,CAAAA,uBAAA,CAAuD,SAASP,yCAAT,CACzE6B,KADyE,EAEzEQ,YAFyE,EAGzE;IACA,MAAM,E,eAAEP,aAAF,CAAA,EAAiB,GAAG0H,UAAH,EAAjB,GAAmC3H,KAAzC,AAAM;IACN,MAAM4H,cAAc,GAAGxG,uCAAiB,CAACqG,gCAAD,EAAaxH,aAAb,CAAxC,AAAA;IACA,MAAM4H,QAAQ,GAAGH,mCAAa,CAACE,cAAc,CAACnC,UAAhB,CAA9B,AAAA;IAEA,OAAA,aAAA,CACE,+EAAA;IACA,sDAAA;IACA,sFAAA;IACA,0BAAA,CAAA,MAAA,EAAA;QACE,GAAG,EAAEmC,cAAc,CAACE,aADtB;QAEE,KAAK,EAAE;YACLZ,QAAQ,EAAE,UADL;YAEL9D,IAAI,EAAEwE,cAAc,CAAC/B,MAFhB;YAGL5C,GAAG,EAAE2E,cAAc,CAAC9B,MAHf;YAIL,CAAC+B,QAAD,CAAA,EAAY,CAJP;YAKLvC,eAAe,EAAE;gBACfrC,GAAG,EAAE,EADU;gBAEfC,KAAK,EAAE,KAFQ;gBAGfC,MAAM,EAAE,UAHO;gBAIfC,IAAI,EAAE,QAANA;aAJe,CAKfwE,cAAc,CAACnC,UALA,CALZ;YAWL0B,SAAS,EAAE;gBACTlE,GAAG,EAAE,kBADI;gBAETC,KAAK,EAAE,gDAFE;gBAGTC,MAAM,EAAG,CAAA,cAAA,CAHA;gBAITC,IAAI,EAAE,gDAANA;aAJS,CAKTwE,cAAc,CAACnC,UALN,CAXN;YAiBLsC,UAAU,EAAEH,cAAc,CAACI,eAAf,GAAiC,QAAjC,GAA4ClD,SAAxDiD;SAjBK;KAFT,EAAA,aAsBE,CAAA,0BAAA,CAAC,6BAAD,EAAA,2DAAA,CAAA,EAAA,EACMJ,UADN,EAtBF;QAwBI,GAAG,EAAEnH,YAFP;QAGE,KAAK,EAAE;YACL,GAAGmH,UAAU,CAACvC,KADT;YAEL,oEAAA;YACA6C,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,KAAKpD,SAAjB,CAAA;CACD;AAED,SAASjB,+BAAT,CAAsBqE,KAAtB,EAAmD;IACjD,OAAOA,KAAK,KAAK,IAAjB,CAAA;CACD;AAED,MAAMzD,yCAAmB,GAAG,IAAmB,CAAA;QAC7C0D,IAAI,EAAE,qBADuC;QAE7CvB,EAAE,EAACwB,IAAD,EAAO;YACP,MAAM,E,OAAEC,KAAF,CAAA,E,UAASpD,QAAAA,CAAAA,EAAT,GAAsBmD,IAA5B,AAAM;YACN,MAAM,E,OAAEvF,KAAF,CAAA,E,QAASE,MAAAA,CAAAA,EAAT,GAAoBsF,KAAK,CAACtE,SAAhC,AAAM;YACNkB,QAAQ,CAACjB,QAAT,CAAkBoB,KAAlB,CAAwBC,WAAxB,CAAoC,6BAApC,EAAoE,CAAA,EAAExC,KAAM,CAAA,EAAA,CAA5E,CAAAoC,CAAAA;YACAA,QAAQ,CAACjB,QAAT,CAAkBoB,KAAlB,CAAwBC,WAAxB,CAAoC,8BAApC,EAAqE,CAAA,EAAEtC,MAAO,CAAA,EAAA,CAA9E,CAAAkC,CAAAA;YACA,OAAO,EAAP,CAAA;SACD;KARyB,CAAA;AAAmB;AAW/C,MAAMK,qCAAe,GAAIgD,CAAAA,OAAD,GAAuE,CAAA;QAC7FH,IAAI,EAAE,iBADuF;Q,SAE7FG,OAF6F;QAG7F1B,EAAE,EAACwB,IAAD,EAAO;YAAA,IAAA,sBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,sBAAA,AAAA;YACP,MAAM,E,WAAEhE,SAAF,CAAA,E,OAAaiE,KAAb,CAAA,E,gBAAoBhE,cAAAA,CAAAA,EAApB,GAAuC+D,IAA7C,AAAM;YAEN,MAAMrC,iBAAiB,GAAG,AAAA,CAAA,AAAA,CAAA,sBAAA,GAAA1B,cAAc,CAACpF,KAAf,CAAA,KAAA,IAAA,IAAA,sBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAAsB+G,YAAtB,CAAA,KAAuC,CAAjE,AAAA;YACA,MAAMuC,aAAa,GAAGxC,iBAAtB,AAAA;YACA,MAAMnD,UAAU,GAAG2F,aAAa,GAAG,CAAH,GAAOD,OAAO,CAAC1F,UAA/C,AAAA;YACA,MAAME,WAAW,GAAGyF,aAAa,GAAG,CAAH,GAAOD,OAAO,CAACxF,WAAhD,AAAA;YAEA,MAAM,CAAC2C,UAAD,EAAaC,WAAb,CAAA,GAA4BC,kDAA4B,CAACvB,SAAD,CAA9D,AAAA;YACA,MAAMoE,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,GAACvE,cAAc,CAACpF,KAAhB,CAAA,KAAA,IAAA,IAAA,sBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAC,sBAAA,CAAsBiF,CAAvB,CAAA,KAAA,IAAA,IAAA,sBAAA,KAAA,KAAA,CAAA,GAAA,sBAAA,GAA4B,CAA5B,CAAA,GAAiCtB,UAAU,GAAG,CAAnE,AAAA;YACA,MAAMiG,YAAY,GAAG,AAAA,CAAA,AAAA,CAAA,sBAAA,GAAA,AAAA,CAAA,sBAAA,GAACxE,cAAc,CAACpF,KAAhB,CAAA,KAAA,IAAA,IAAA,sBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAC,sBAAA,CAAsBkF,CAAvB,CAAA,KAAA,IAAA,IAAA,sBAAA,KAAA,KAAA,CAAA,GAAA,sBAAA,GAA4B,CAA5B,CAAA,GAAiCrB,WAAW,GAAG,CAApE,AAAA;YAEA,IAAIoB,CAAC,GAAG,EAAR,AAAA;YACA,IAAIC,CAAC,GAAG,EAAR,AAAA;YAEA,IAAIsB,UAAU,KAAK,QAAnB,EAA6B;gBAC3BvB,CAAC,GAAGqE,aAAa,GAAGC,YAAH,GAAmB,CAAA,EAAEI,YAAa,CAAA,EAAA,CAAnD,CAAA1E;gBACAC,CAAC,GAAI,CAAA,EAAE,CAACrB,WAAY,CAAA,EAAA,CAApB,CAAAqB;aAFF,MAGO,IAAIsB,UAAU,KAAK,KAAnB,EAA0B;gBAC/BvB,CAAC,GAAGqE,aAAa,GAAGC,YAAH,GAAmB,CAAA,EAAEI,YAAa,CAAA,EAAA,CAAnD,CAAA1E;gBACAC,CAAC,GAAI,CAAA,EAAEkE,KAAK,CAACrE,QAAN,CAAejB,MAAf,GAAwBD,WAAY,CAAA,EAAA,CAA3C,CAAAqB;aAFK,MAGA,IAAIsB,UAAU,KAAK,OAAnB,EAA4B;gBACjCvB,CAAC,GAAI,CAAA,EAAE,CAACpB,WAAY,CAAA,EAAA,CAApB,CAAAoB;gBACAC,CAAC,GAAGoE,aAAa,GAAGC,YAAH,GAAmB,CAAA,EAAEK,YAAa,CAAA,EAAA,CAAnD,CAAA1E;aAFK,MAGA,IAAIsB,UAAU,KAAK,MAAnB,EAA2B;gBAChCvB,CAAC,GAAI,CAAA,EAAEmE,KAAK,CAACrE,QAAN,CAAenB,KAAf,GAAuBC,WAAY,CAAA,EAAA,CAA1C,CAAAoB;gBACAC,CAAC,GAAGoE,aAAa,GAAGC,YAAH,GAAmB,CAAA,EAAEK,YAAa,CAAA,EAAA,CAAnD,CAAA1E;aACD;YACD,OAAO;gBAAEiE,IAAI,EAAE;oB,GAAElE,CAAF;oB,GAAKC,CAAAA;iBAAL;aAAf,CAAO;SACR;KAlCqB,CAAA;AAAuE;AAqC/F,SAASwB,kDAAT,CAAsCvB,SAAtC,EAA4D;IAC1D,MAAM,CAAC1C,IAAD,EAAOE,KAAK,GAAG,QAAf,CAAA,GAA2BwC,SAAS,CAAC0E,KAAV,CAAgB,GAAhB,CAAjC,AAAA;IACA,OAAO;QAACpH,IAAD;QAAeE,KAAf;KAAP,CAAA;CACD;AAED,MAAMxD,yCAAI,GAAGJ,yCAAb,AAAA;AACA,MAAMK,yCAAM,GAAGJ,wCAAf,AAAA;AACA,MAAMK,yCAAO,GAAGJ,wCAAhB,AAAA;AACA,MAAMK,yCAAK,GAAGJ,yCAAd,AAAA;;ADpcA","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 size,\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 { useCallbackRef } from '@radix-ui/react-use-callback-ref';\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 onPlaced?: () => void;\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 onPlaced,\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 anchorCssProperties(),\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 size({\n ...detectOverflowOptions,\n apply: ({ elements, availableWidth: width, availableHeight: height }) => {\n elements.floating.style.setProperty('--radix-popper-available-width', `${width}px`);\n elements.floating.style.setProperty('--radix-popper-available-height', `${height}px`);\n },\n }),\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 handlePlaced = useCallbackRef(onPlaced);\n useLayoutEffect(() => {\n if (isPlaced) {\n handlePlaced?.();\n }\n }, [isPlaced, handlePlaced]);\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 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 // Floating UI interally calculates logical alignment based the `dir` attribute on\n // the reference/floating node, we must add this attribute here to ensure\n // this is calculated when portalled as well as inline.\n dir={props.dir}\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\nconst PopperArrow = React.forwardRef<PopperArrowElement, PopperArrowProps>(function PopperArrow(\n props: ScopedProps<PopperArrowProps>,\n forwardedRef\n) {\n const { __scopePopper, ...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 anchorCssProperties = (): Middleware => ({\n name: 'anchorCssProperties',\n fn(data) {\n const { rects, elements } = data;\n const { width, height } = rects.reference;\n elements.floating.style.setProperty('--radix-popper-anchor-width', `${width}px`);\n elements.floating.style.setProperty('--radix-popper-anchor-height', `${height}px`);\n return {};\n },\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","size","ArrowPrimitive","useComposedRefs","createContextScope","Primitive","useCallbackRef","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","onPlaced","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","anchorCssProperties","mainAxis","alignmentAxis","crossAxis","limiter","undefined","element","apply","elements","availableWidth","availableHeight","style","setProperty","transformOrigin","isDefined","isPlaced","placedSide","placedAlign","getSideAndAlignFromPlacement","handlePlaced","arrowX","arrowY","cannotCenterArrow","centerOffset","contentZIndex","setContentZIndex","window","getComputedStyle","zIndex","isRoot","add","delete","from","reverse","forEach","fn","requestAnimationFrame","commonProps","animation","opacity","referenceHidden","position","transform","Math","round","minWidth","join","dir","ARROW_NAME","OPPOSITE_SIDE","arrowProps","contentContext","baseSide","onArrowChange","visibility","shouldHideArrow","display","value","name","data","rects","options","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 size,\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 { useCallbackRef } from '@radix-ui/react-use-callback-ref';\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\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 onPlaced?: () => void;\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 onPlaced,\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 { refs, floatingStyles, placement, isPositioned, middlewareData } = 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 elements: {\n reference: context.anchor,\n },\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 avoidCollisions && flip({ ...detectOverflowOptions }),\n size({\n ...detectOverflowOptions,\n apply: ({ elements, rects, availableWidth, availableHeight }) => {\n const { width: anchorWidth, height: anchorHeight } = rects.reference;\n const contentStyle = elements.floating.style;\n contentStyle.setProperty('--radix-popper-available-width', `${availableWidth}px`);\n contentStyle.setProperty('--radix-popper-available-height', `${availableHeight}px`);\n contentStyle.setProperty('--radix-popper-anchor-width', `${anchorWidth}px`);\n contentStyle.setProperty('--radix-popper-anchor-height', `${anchorHeight}px`);\n },\n }),\n arrow && floatingUIarrow({ element: arrow, padding: arrowPadding }),\n transformOrigin({ arrowWidth, arrowHeight }),\n hideWhenDetached && hide({ strategy: 'referenceHidden' }),\n ],\n });\n\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n\n const handlePlaced = useCallbackRef(onPlaced);\n useLayoutEffect(() => {\n if (isPositioned) {\n handlePlaced?.();\n }\n }, [isPositioned, handlePlaced]);\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 return (\n <div\n ref={refs.setFloating}\n data-radix-popper-content-wrapper=\"\"\n style={{\n ...floatingStyles,\n transform: isPositioned ? floatingStyles.transform : 'translate(0, -200%)', // 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 // Floating UI interally calculates logical alignment based the `dir` attribute on\n // the reference/floating node, we must add this attribute here to ensure\n // this is calculated when portalled as well as inline.\n dir={props.dir}\n >\n <PopperContentProvider\n scope={__scopePopper}\n placedSide={placedSide}\n onArrowChange={setArrow}\n arrowX={arrowX}\n arrowY={arrowY}\n shouldHideArrow={cannotCenterArrow}\n >\n <Primitive.div\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: !isPositioned ? '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 </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\nconst PopperArrow = React.forwardRef<PopperArrowElement, PopperArrowProps>(function PopperArrow(\n props: ScopedProps<PopperArrowProps>,\n forwardedRef\n) {\n const { __scopePopper, ...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 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","size","ArrowPrimitive","useComposedRefs","createContextScope","Primitive","useCallbackRef","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","side","sideOffset","align","alignOffset","arrowPadding","collisionBoundary","collisionPadding","collisionPaddingProp","sticky","hideWhenDetached","avoidCollisions","onPlaced","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","refs","floatingStyles","placement","isPositioned","middlewareData","strategy","whileElementsMounted","elements","reference","middleware","mainAxis","alignmentAxis","crossAxis","limiter","undefined","apply","rects","availableWidth","availableHeight","anchorWidth","anchorHeight","contentStyle","floating","style","setProperty","element","transformOrigin","placedSide","placedAlign","getSideAndAlignFromPlacement","handlePlaced","arrowX","x","arrowY","y","cannotCenterArrow","centerOffset","contentZIndex","setContentZIndex","window","getComputedStyle","zIndex","setFloating","transform","minWidth","join","dir","animation","opacity","referenceHidden","ARROW_NAME","OPPOSITE_SIDE","arrowProps","contentContext","baseSide","onArrowChange","position","visibility","shouldHideArrow","display","value","options","name","fn","data","isArrowHidden","noArrowAlign","start","center","end","arrowXCenter","arrowYCenter","split"],"version":3,"file":"index.js.map"}
@@ -1,12 +1,12 @@
1
1
  import $kY93V$babelruntimehelpersesmextends from "@babel/runtime/helpers/esm/extends";
2
- import {useState as $kY93V$useState, createElement as $kY93V$createElement, forwardRef as $kY93V$forwardRef, useRef as $kY93V$useRef, useEffect as $kY93V$useEffect, useLayoutEffect as $kY93V$useLayoutEffect} from "react";
3
- import {useFloating as $kY93V$useFloating, autoUpdate as $kY93V$autoUpdate, offset as $kY93V$offset, shift as $kY93V$shift, limitShift as $kY93V$limitShift, arrow as $kY93V$arrow, flip as $kY93V$flip, size as $kY93V$size, hide as $kY93V$hide} from "@floating-ui/react-dom";
2
+ import {useState as $kY93V$useState, createElement as $kY93V$createElement, forwardRef as $kY93V$forwardRef, useRef as $kY93V$useRef, useEffect as $kY93V$useEffect} from "react";
3
+ import {useFloating as $kY93V$useFloating, autoUpdate as $kY93V$autoUpdate, offset as $kY93V$offset, shift as $kY93V$shift, limitShift as $kY93V$limitShift, flip as $kY93V$flip, size as $kY93V$size, arrow as $kY93V$arrow, hide as $kY93V$hide} from "@floating-ui/react-dom";
4
4
  import {Root as $kY93V$Root} from "@radix-ui/react-arrow";
5
5
  import {useComposedRefs as $kY93V$useComposedRefs} from "@radix-ui/react-compose-refs";
6
6
  import {createContextScope as $kY93V$createContextScope} from "@radix-ui/react-context";
7
7
  import {Primitive as $kY93V$Primitive} from "@radix-ui/react-primitive";
8
8
  import {useCallbackRef as $kY93V$useCallbackRef} from "@radix-ui/react-use-callback-ref";
9
- import {useLayoutEffect as $kY93V$useLayoutEffect1} from "@radix-ui/react-use-layout-effect";
9
+ import {useLayoutEffect as $kY93V$useLayoutEffect} from "@radix-ui/react-use-layout-effect";
10
10
  import {useSize as $kY93V$useSize} from "@radix-ui/react-use-size";
11
11
 
12
12
 
@@ -72,12 +72,8 @@ const $cf1ac5d9fe0e8206$export$ecd4e1ccab6ed6d = /*#__PURE__*/ $kY93V$forwardRef
72
72
  * PopperContent
73
73
  * -----------------------------------------------------------------------------------------------*/ const $cf1ac5d9fe0e8206$var$CONTENT_NAME = 'PopperContent';
74
74
  const [$cf1ac5d9fe0e8206$var$PopperContentProvider, $cf1ac5d9fe0e8206$var$useContentContext] = $cf1ac5d9fe0e8206$var$createPopperContext($cf1ac5d9fe0e8206$var$CONTENT_NAME);
75
- const [$cf1ac5d9fe0e8206$var$PositionContextProvider, $cf1ac5d9fe0e8206$var$usePositionContext] = $cf1ac5d9fe0e8206$var$createPopperContext($cf1ac5d9fe0e8206$var$CONTENT_NAME, {
76
- hasParent: false,
77
- positionUpdateFns: new Set()
78
- });
79
75
  const $cf1ac5d9fe0e8206$export$bc4ae5855d3c4fc = /*#__PURE__*/ $kY93V$forwardRef((props, forwardedRef)=>{
80
- var _arrowSize$width, _arrowSize$height, _middlewareData$arrow, _middlewareData$arrow2, _middlewareData$arrow3, _middlewareData$hide, _middlewareData$trans, _middlewareData$trans2;
76
+ var _arrowSize$width, _arrowSize$height, _middlewareData$arrow, _middlewareData$arrow2, _middlewareData$arrow3, _middlewareData$trans, _middlewareData$trans2, _middlewareData$hide;
81
77
  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 , onPlaced: onPlaced , ...contentProps } = props;
82
78
  const context = $cf1ac5d9fe0e8206$var$usePopperContext($cf1ac5d9fe0e8206$var$CONTENT_NAME, __scopePopper);
83
79
  const [content, setContent] = $kY93V$useState(null);
@@ -105,117 +101,75 @@ const $cf1ac5d9fe0e8206$export$bc4ae5855d3c4fc = /*#__PURE__*/ $kY93V$forwardRef
105
101
  // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries
106
102
  altBoundary: hasExplicitBoundaries
107
103
  };
108
- const { reference: reference , floating: floating , strategy: strategy , x: x , y: y , placement: placement , middlewareData: middlewareData , update: update } = $kY93V$useFloating({
104
+ const { refs: refs , floatingStyles: floatingStyles , placement: placement , isPositioned: isPositioned , middlewareData: middlewareData } = $kY93V$useFloating({
109
105
  // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues
110
106
  strategy: 'fixed',
111
107
  placement: desiredPlacement,
112
108
  whileElementsMounted: $kY93V$autoUpdate,
109
+ elements: {
110
+ reference: context.anchor
111
+ },
113
112
  middleware: [
114
- $cf1ac5d9fe0e8206$var$anchorCssProperties(),
115
113
  $kY93V$offset({
116
114
  mainAxis: sideOffset + arrowHeight,
117
115
  alignmentAxis: alignOffset
118
116
  }),
119
- avoidCollisions ? $kY93V$shift({
117
+ avoidCollisions && $kY93V$shift({
120
118
  mainAxis: true,
121
119
  crossAxis: false,
122
120
  limiter: sticky === 'partial' ? $kY93V$limitShift() : undefined,
123
121
  ...detectOverflowOptions
124
- }) : undefined,
125
- arrow ? $kY93V$arrow({
126
- element: arrow,
127
- padding: arrowPadding
128
- }) : undefined,
129
- avoidCollisions ? $kY93V$flip({
122
+ }),
123
+ avoidCollisions && $kY93V$flip({
130
124
  ...detectOverflowOptions
131
- }) : undefined,
125
+ }),
132
126
  $kY93V$size({
133
127
  ...detectOverflowOptions,
134
- apply: ({ elements: elements , availableWidth: width , availableHeight: height })=>{
135
- elements.floating.style.setProperty('--radix-popper-available-width', `${width}px`);
136
- elements.floating.style.setProperty('--radix-popper-available-height', `${height}px`);
128
+ apply: ({ elements: elements , rects: rects , availableWidth: availableWidth , availableHeight: availableHeight })=>{
129
+ const { width: anchorWidth , height: anchorHeight } = rects.reference;
130
+ const contentStyle = elements.floating.style;
131
+ contentStyle.setProperty('--radix-popper-available-width', `${availableWidth}px`);
132
+ contentStyle.setProperty('--radix-popper-available-height', `${availableHeight}px`);
133
+ contentStyle.setProperty('--radix-popper-anchor-width', `${anchorWidth}px`);
134
+ contentStyle.setProperty('--radix-popper-anchor-height', `${anchorHeight}px`);
137
135
  }
138
136
  }),
137
+ arrow && $kY93V$arrow({
138
+ element: arrow,
139
+ padding: arrowPadding
140
+ }),
139
141
  $cf1ac5d9fe0e8206$var$transformOrigin({
140
142
  arrowWidth: arrowWidth,
141
143
  arrowHeight: arrowHeight
142
144
  }),
143
- hideWhenDetached ? $kY93V$hide({
145
+ hideWhenDetached && $kY93V$hide({
144
146
  strategy: 'referenceHidden'
145
- }) : undefined
146
- ].filter($cf1ac5d9fe0e8206$var$isDefined)
147
- }); // assign the reference dynamically once `Content` has mounted so we can collocate the logic
148
- $kY93V$useLayoutEffect1(()=>{
149
- reference(context.anchor);
150
- }, [
151
- reference,
152
- context.anchor
153
- ]);
154
- const isPlaced = x !== null && y !== null;
147
+ })
148
+ ]
149
+ });
155
150
  const [placedSide, placedAlign] = $cf1ac5d9fe0e8206$var$getSideAndAlignFromPlacement(placement);
156
151
  const handlePlaced = $kY93V$useCallbackRef(onPlaced);
157
- $kY93V$useLayoutEffect1(()=>{
158
- if (isPlaced) handlePlaced === null || handlePlaced === void 0 || handlePlaced();
152
+ $kY93V$useLayoutEffect(()=>{
153
+ if (isPositioned) handlePlaced === null || handlePlaced === void 0 || handlePlaced();
159
154
  }, [
160
- isPlaced,
155
+ isPositioned,
161
156
  handlePlaced
162
157
  ]);
163
158
  const arrowX = (_middlewareData$arrow = middlewareData.arrow) === null || _middlewareData$arrow === void 0 ? void 0 : _middlewareData$arrow.x;
164
159
  const arrowY = (_middlewareData$arrow2 = middlewareData.arrow) === null || _middlewareData$arrow2 === void 0 ? void 0 : _middlewareData$arrow2.y;
165
160
  const cannotCenterArrow = ((_middlewareData$arrow3 = middlewareData.arrow) === null || _middlewareData$arrow3 === void 0 ? void 0 : _middlewareData$arrow3.centerOffset) !== 0;
166
161
  const [contentZIndex, setContentZIndex] = $kY93V$useState();
167
- $kY93V$useLayoutEffect1(()=>{
162
+ $kY93V$useLayoutEffect(()=>{
168
163
  if (content) setContentZIndex(window.getComputedStyle(content).zIndex);
169
164
  }, [
170
165
  content
171
166
  ]);
172
- const { hasParent: hasParent , positionUpdateFns: positionUpdateFns } = $cf1ac5d9fe0e8206$var$usePositionContext($cf1ac5d9fe0e8206$var$CONTENT_NAME, __scopePopper);
173
- const isRoot = !hasParent;
174
- $kY93V$useLayoutEffect(()=>{
175
- if (!isRoot) {
176
- positionUpdateFns.add(update);
177
- return ()=>{
178
- positionUpdateFns.delete(update);
179
- };
180
- }
181
- }, [
182
- isRoot,
183
- positionUpdateFns,
184
- update
185
- ]); // when nested contents are rendered in portals, they are appended out of order causing
186
- // children to be positioned incorrectly if initially open.
187
- // we need to re-compute the positioning once the parent has finally been placed.
188
- // https://github.com/floating-ui/floating-ui/issues/1531
189
- $kY93V$useLayoutEffect1(()=>{
190
- if (isRoot && isPlaced) Array.from(positionUpdateFns).reverse().forEach((fn)=>requestAnimationFrame(fn)
191
- );
192
- }, [
193
- isRoot,
194
- isPlaced,
195
- positionUpdateFns
196
- ]);
197
- const commonProps = {
198
- 'data-side': placedSide,
199
- 'data-align': placedAlign,
200
- ...contentProps,
201
- ref: composedRefs,
202
- style: {
203
- ...contentProps.style,
204
- // if the PopperContent hasn't been placed yet (not all measurements done)
205
- // we prevent animations so that users's animation don't kick in too early referring wrong sides
206
- animation: !isPlaced ? 'none' : undefined,
207
- // hide the content if using the hide middleware and should be hidden
208
- opacity: (_middlewareData$hide = middlewareData.hide) !== null && _middlewareData$hide !== void 0 && _middlewareData$hide.referenceHidden ? 0 : undefined
209
- }
210
- };
211
167
  return /*#__PURE__*/ $kY93V$createElement("div", {
212
- ref: floating,
168
+ ref: refs.setFloating,
213
169
  "data-radix-popper-content-wrapper": "",
214
170
  style: {
215
- position: strategy,
216
- left: 0,
217
- top: 0,
218
- transform: isPlaced ? `translate3d(${Math.round(x)}px, ${Math.round(y)}px, 0)` : 'translate3d(0, -200%, 0)',
171
+ ...floatingStyles,
172
+ transform: isPositioned ? floatingStyles.transform : 'translate(0, -200%)',
219
173
  // keep off the page when measuring
220
174
  minWidth: 'max-content',
221
175
  zIndex: contentZIndex,
@@ -233,11 +187,20 @@ const $cf1ac5d9fe0e8206$export$bc4ae5855d3c4fc = /*#__PURE__*/ $kY93V$forwardRef
233
187
  arrowX: arrowX,
234
188
  arrowY: arrowY,
235
189
  shouldHideArrow: cannotCenterArrow
236
- }, isRoot ? /*#__PURE__*/ $kY93V$createElement($cf1ac5d9fe0e8206$var$PositionContextProvider, {
237
- scope: __scopePopper,
238
- hasParent: true,
239
- positionUpdateFns: positionUpdateFns
240
- }, /*#__PURE__*/ $kY93V$createElement($kY93V$Primitive.div, commonProps)) : /*#__PURE__*/ $kY93V$createElement($kY93V$Primitive.div, commonProps)));
190
+ }, /*#__PURE__*/ $kY93V$createElement($kY93V$Primitive.div, $kY93V$babelruntimehelpersesmextends({
191
+ "data-side": placedSide,
192
+ "data-align": placedAlign
193
+ }, contentProps, {
194
+ ref: composedRefs,
195
+ style: {
196
+ ...contentProps.style,
197
+ // if the PopperContent hasn't been placed yet (not all measurements done)
198
+ // we prevent animations so that users's animation don't kick in too early referring wrong sides
199
+ animation: !isPositioned ? 'none' : undefined,
200
+ // hide the content if using the hide middleware and should be hidden
201
+ opacity: (_middlewareData$hide = middlewareData.hide) !== null && _middlewareData$hide !== void 0 && _middlewareData$hide.referenceHidden ? 0 : undefined
202
+ }
203
+ }))));
241
204
  });
242
205
  /*#__PURE__*/ Object.assign($cf1ac5d9fe0e8206$export$bc4ae5855d3c4fc, {
243
206
  displayName: $cf1ac5d9fe0e8206$var$CONTENT_NAME
@@ -291,23 +254,9 @@ const $cf1ac5d9fe0e8206$export$79d62cd4e10a3fd0 = /*#__PURE__*/ $kY93V$forwardRe
291
254
  /*#__PURE__*/ Object.assign($cf1ac5d9fe0e8206$export$79d62cd4e10a3fd0, {
292
255
  displayName: $cf1ac5d9fe0e8206$var$ARROW_NAME
293
256
  });
294
- /* -----------------------------------------------------------------------------------------------*/ function $cf1ac5d9fe0e8206$var$isDefined(value) {
295
- return value !== undefined;
296
- }
297
- function $cf1ac5d9fe0e8206$var$isNotNull(value) {
257
+ /* -----------------------------------------------------------------------------------------------*/ function $cf1ac5d9fe0e8206$var$isNotNull(value) {
298
258
  return value !== null;
299
259
  }
300
- const $cf1ac5d9fe0e8206$var$anchorCssProperties = ()=>({
301
- name: 'anchorCssProperties',
302
- fn (data) {
303
- const { rects: rects , elements: elements } = data;
304
- const { width: width , height: height } = rects.reference;
305
- elements.floating.style.setProperty('--radix-popper-anchor-width', `${width}px`);
306
- elements.floating.style.setProperty('--radix-popper-anchor-height', `${height}px`);
307
- return {};
308
- }
309
- })
310
- ;
311
260
  const $cf1ac5d9fe0e8206$var$transformOrigin = (options)=>({
312
261
  name: 'transformOrigin',
313
262
  options: options,
@@ -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 size,\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 { useCallbackRef } from '@radix-ui/react-use-callback-ref';\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 onPlaced?: () => void;\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 onPlaced,\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 anchorCssProperties(),\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 size({\n ...detectOverflowOptions,\n apply: ({ elements, availableWidth: width, availableHeight: height }) => {\n elements.floating.style.setProperty('--radix-popper-available-width', `${width}px`);\n elements.floating.style.setProperty('--radix-popper-available-height', `${height}px`);\n },\n }),\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 handlePlaced = useCallbackRef(onPlaced);\n useLayoutEffect(() => {\n if (isPlaced) {\n handlePlaced?.();\n }\n }, [isPlaced, handlePlaced]);\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 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 // Floating UI interally calculates logical alignment based the `dir` attribute on\n // the reference/floating node, we must add this attribute here to ensure\n // this is calculated when portalled as well as inline.\n dir={props.dir}\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\nconst PopperArrow = React.forwardRef<PopperArrowElement, PopperArrowProps>(function PopperArrow(\n props: ScopedProps<PopperArrowProps>,\n forwardedRef\n) {\n const { __scopePopper, ...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 anchorCssProperties = (): Middleware => ({\n name: 'anchorCssProperties',\n fn(data) {\n const { rects, elements } = data;\n const { width, height } = rects.reference;\n elements.floating.style.setProperty('--radix-popper-anchor-width', `${width}px`);\n elements.floating.style.setProperty('--radix-popper-anchor-height', `${height}px`);\n return {};\n },\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","size","ArrowPrimitive","useComposedRefs","createContextScope","Primitive","useCallbackRef","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","onPlaced","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","anchorCssProperties","mainAxis","alignmentAxis","crossAxis","limiter","undefined","element","apply","elements","availableWidth","availableHeight","style","setProperty","transformOrigin","isDefined","isPlaced","placedSide","placedAlign","getSideAndAlignFromPlacement","handlePlaced","arrowX","arrowY","cannotCenterArrow","centerOffset","contentZIndex","setContentZIndex","window","getComputedStyle","zIndex","isRoot","add","delete","from","reverse","forEach","fn","requestAnimationFrame","commonProps","animation","opacity","referenceHidden","position","transform","Math","round","minWidth","join","dir","ARROW_NAME","OPPOSITE_SIDE","arrowProps","contentContext","baseSide","onArrowChange","visibility","shouldHideArrow","display","value","name","data","rects","options","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 size,\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 { useCallbackRef } from '@radix-ui/react-use-callback-ref';\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\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 onPlaced?: () => void;\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 onPlaced,\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 { refs, floatingStyles, placement, isPositioned, middlewareData } = 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 elements: {\n reference: context.anchor,\n },\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 avoidCollisions && flip({ ...detectOverflowOptions }),\n size({\n ...detectOverflowOptions,\n apply: ({ elements, rects, availableWidth, availableHeight }) => {\n const { width: anchorWidth, height: anchorHeight } = rects.reference;\n const contentStyle = elements.floating.style;\n contentStyle.setProperty('--radix-popper-available-width', `${availableWidth}px`);\n contentStyle.setProperty('--radix-popper-available-height', `${availableHeight}px`);\n contentStyle.setProperty('--radix-popper-anchor-width', `${anchorWidth}px`);\n contentStyle.setProperty('--radix-popper-anchor-height', `${anchorHeight}px`);\n },\n }),\n arrow && floatingUIarrow({ element: arrow, padding: arrowPadding }),\n transformOrigin({ arrowWidth, arrowHeight }),\n hideWhenDetached && hide({ strategy: 'referenceHidden' }),\n ],\n });\n\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n\n const handlePlaced = useCallbackRef(onPlaced);\n useLayoutEffect(() => {\n if (isPositioned) {\n handlePlaced?.();\n }\n }, [isPositioned, handlePlaced]);\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 return (\n <div\n ref={refs.setFloating}\n data-radix-popper-content-wrapper=\"\"\n style={{\n ...floatingStyles,\n transform: isPositioned ? floatingStyles.transform : 'translate(0, -200%)', // 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 // Floating UI interally calculates logical alignment based the `dir` attribute on\n // the reference/floating node, we must add this attribute here to ensure\n // this is calculated when portalled as well as inline.\n dir={props.dir}\n >\n <PopperContentProvider\n scope={__scopePopper}\n placedSide={placedSide}\n onArrowChange={setArrow}\n arrowX={arrowX}\n arrowY={arrowY}\n shouldHideArrow={cannotCenterArrow}\n >\n <Primitive.div\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: !isPositioned ? '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 </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\nconst PopperArrow = React.forwardRef<PopperArrowElement, PopperArrowProps>(function PopperArrow(\n props: ScopedProps<PopperArrowProps>,\n forwardedRef\n) {\n const { __scopePopper, ...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 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","size","ArrowPrimitive","useComposedRefs","createContextScope","Primitive","useCallbackRef","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","side","sideOffset","align","alignOffset","arrowPadding","collisionBoundary","collisionPadding","collisionPaddingProp","sticky","hideWhenDetached","avoidCollisions","onPlaced","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","refs","floatingStyles","placement","isPositioned","middlewareData","strategy","whileElementsMounted","elements","reference","middleware","mainAxis","alignmentAxis","crossAxis","limiter","undefined","apply","rects","availableWidth","availableHeight","anchorWidth","anchorHeight","contentStyle","floating","style","setProperty","element","transformOrigin","placedSide","placedAlign","getSideAndAlignFromPlacement","handlePlaced","arrowX","x","arrowY","y","cannotCenterArrow","centerOffset","contentZIndex","setContentZIndex","window","getComputedStyle","zIndex","setFloating","transform","minWidth","join","dir","animation","opacity","referenceHidden","ARROW_NAME","OPPOSITE_SIDE","arrowProps","contentContext","baseSide","onArrowChange","position","visibility","shouldHideArrow","display","value","options","name","fn","data","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": "1.1.1",
3
+ "version": "1.1.2-rc.10",
4
4
  "license": "MIT",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/index.js",
@@ -17,11 +17,11 @@
17
17
  },
18
18
  "dependencies": {
19
19
  "@babel/runtime": "^7.13.10",
20
- "@floating-ui/react-dom": "0.7.2",
21
- "@radix-ui/react-arrow": "1.0.2",
20
+ "@floating-ui/react-dom": "^2.0.0",
21
+ "@radix-ui/react-arrow": "1.0.3-rc.5",
22
22
  "@radix-ui/react-compose-refs": "1.0.0",
23
23
  "@radix-ui/react-context": "1.0.0",
24
- "@radix-ui/react-primitive": "1.0.2",
24
+ "@radix-ui/react-primitive": "1.0.3-rc.5",
25
25
  "@radix-ui/react-use-callback-ref": "1.0.0",
26
26
  "@radix-ui/react-use-layout-effect": "1.0.0",
27
27
  "@radix-ui/react-use-rect": "1.0.0",
@@ -39,5 +39,6 @@
39
39
  },
40
40
  "bugs": {
41
41
  "url": "https://github.com/radix-ui/primitives/issues"
42
- }
42
+ },
43
+ "stableVersion": "1.1.1"
43
44
  }