@hanzogui/popper 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,544 @@
1
+ import { flushSync } from "react-dom";
2
+ import { useComposedRefs } from "@hanzo/gui-compose-refs";
3
+ import { isWeb, useIsomorphicLayoutEffect } from "@hanzo/gui-constants";
4
+ import { LayoutMeasurementController, View as TamaguiView, createStyledContext, getVariableValue, registerLayoutNode, styled } from "@hanzo/gui-core";
5
+ import { FloatingOverrideContext } from "@hanzo/gui-floating";
6
+ import { arrow, flip, getOverflowAncestors, offset as offsetFn, platform, shift, size as sizeMiddleware, useFloating } from "@hanzo/gui-floating";
7
+ import { getSpace } from "@hanzo/gui-get-token";
8
+ import { YStack } from "@hanzo/gui-stacks";
9
+ import { startTransition } from "@hanzo/gui-start-transition";
10
+ import * as React from "react";
11
+ import { jsx } from "react/jsx-runtime";
12
+ const PopperContextFast = createStyledContext(
13
+ // since we always provide this we can avoid setting here
14
+ {}, "Popper__"),
15
+ PopperPositionContext = createStyledContext,
16
+ {
17
+ useStyledContext: usePopperContext,
18
+ Provider: PopperProviderFast
19
+ } = PopperContextFast,
20
+ PopperContextSlow = createStyledContext(
21
+ // since we always provide this we can avoid setting here
22
+ {}, "PopperSlow__"),
23
+ {
24
+ useStyledContext: usePopperContextSlow,
25
+ Provider: PopperProviderSlow
26
+ } = PopperContextSlow,
27
+ PopperProvider = ({
28
+ scope,
29
+ children,
30
+ ...context
31
+ }) => {
32
+ const fns = React.useRef(context);
33
+ fns.current = context;
34
+ const [slowContext] = React.useState(() => ({
35
+ refs: context.refs,
36
+ triggerElements: context.triggerElements,
37
+ update(...a) {
38
+ fns.current.update(...a);
39
+ },
40
+ getReferenceProps(p) {
41
+ return fns.current.getReferenceProps?.(p);
42
+ },
43
+ onHoverReference(e) {
44
+ fns.current.onHoverReference?.(e);
45
+ },
46
+ onLeaveReference() {
47
+ fns.current.onLeaveReference?.();
48
+ }
49
+ }));
50
+ return /* @__PURE__ */jsx(PopperProviderFast, {
51
+ scope,
52
+ ...context,
53
+ children: /* @__PURE__ */jsx(PopperProviderSlow, {
54
+ scope,
55
+ ...slowContext,
56
+ children
57
+ })
58
+ });
59
+ },
60
+ checkFloating = void 0,
61
+ setupOptions = {};
62
+ function setupPopper(options) {
63
+ Object.assign(setupOptions, options);
64
+ }
65
+ function getSideAndAlignFromPlacement(placement) {
66
+ const [side, align = "center"] = placement.split("-");
67
+ return [side, align];
68
+ }
69
+ const transformOriginMiddleware = options => ({
70
+ name: "transformOrigin",
71
+ options,
72
+ fn(data) {
73
+ const {
74
+ placement,
75
+ rects,
76
+ middlewareData
77
+ } = data,
78
+ isArrowHidden = middlewareData.arrow?.centerOffset !== 0,
79
+ arrowWidth = isArrowHidden ? 0 : options.arrowWidth,
80
+ arrowHeight = isArrowHidden ? 0 : options.arrowHeight,
81
+ [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement),
82
+ noArrowAlign = {
83
+ start: "0%",
84
+ center: "50%",
85
+ end: "100%"
86
+ }[placedAlign],
87
+ arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2,
88
+ arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;
89
+ let x = "",
90
+ y = "";
91
+ return placedSide === "bottom" ? (x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`, y = `${-arrowHeight}px`) : placedSide === "top" ? (x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`, y = `${rects.floating.height + arrowHeight}px`) : placedSide === "right" ? (x = `${-arrowHeight}px`, y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`) : placedSide === "left" && (x = `${rects.floating.width + arrowHeight}px`, y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`), {
92
+ data: {
93
+ x,
94
+ y
95
+ }
96
+ };
97
+ }
98
+ });
99
+ function tamaguiAutoUpdate(reference, floating, update) {
100
+ update();
101
+ let rafId = requestAnimationFrame(() => {
102
+ update(), rafId = 0;
103
+ });
104
+ const cleanups = [() => {
105
+ rafId && cancelAnimationFrame(rafId);
106
+ }];
107
+ reference instanceof HTMLElement && cleanups.push(registerLayoutNode(reference, update));
108
+ const ancestors = [...(reference instanceof Element ? getOverflowAncestors(reference) : []), ...getOverflowAncestors(floating)],
109
+ uniqueAncestors = [...new Set(ancestors)];
110
+ for (const ancestor of uniqueAncestors) ancestor.addEventListener("scroll", update, {
111
+ passive: !0
112
+ });
113
+ return window.addEventListener("resize", update), cleanups.push(() => {
114
+ for (const ancestor of uniqueAncestors) ancestor.removeEventListener("scroll", update);
115
+ window.removeEventListener("resize", update);
116
+ }), () => cleanups.forEach(fn => fn());
117
+ }
118
+ function Popper(props) {
119
+ const {
120
+ children,
121
+ size,
122
+ strategy = "absolute",
123
+ placement = "bottom",
124
+ stayInFrame,
125
+ allowFlip,
126
+ offset,
127
+ disableRTL,
128
+ resize,
129
+ passThrough,
130
+ open,
131
+ scope
132
+ } = props,
133
+ [arrowEl, setArrow] = React.useState(null),
134
+ [arrowSize, setArrowSize] = React.useState(0),
135
+ offsetOptions = offset ?? arrowSize,
136
+ floatingStyle = React.useRef({}),
137
+ isOpen = passThrough ? !1 : open ?? !0,
138
+ middlewareRef = React.useRef([]);
139
+ isOpen && (middlewareRef.current = [
140
+ // order matters: offset first, then flip, then shift, then arrow
141
+ typeof offsetOptions < "u" ? offsetFn(offsetOptions) : null, allowFlip ? flip(typeof allowFlip == "boolean" ? {} : allowFlip) : null,
142
+ // NOTE: shift's axis terminology is reversed vs flip/offset:
143
+ // for top/bottom placements: mainAxis = horizontal, crossAxis = vertical
144
+ // for left/right placements: mainAxis = vertical, crossAxis = horizontal
145
+ // default to horizontal shift only (mainAxis: true, crossAxis: false)
146
+ stayInFrame ? shift({
147
+ padding: 10,
148
+ mainAxis: !0,
149
+ crossAxis: !1,
150
+ ...(typeof stayInFrame == "object" ? stayInFrame : null)
151
+ }) : null, arrowEl ? arrow({
152
+ element: arrowEl
153
+ }) : null, checkFloating, resize ? sizeMiddleware({
154
+ padding: typeof stayInFrame == "object" ? stayInFrame.padding : 10,
155
+ apply({
156
+ availableHeight,
157
+ availableWidth
158
+ }) {
159
+ if (passThrough) return;
160
+ Object.assign(floatingStyle.current, {
161
+ maxHeight: `${availableHeight}px`,
162
+ maxWidth: `${availableWidth}px`
163
+ });
164
+ const floatingChild = floating.refs.floating.current?.firstChild;
165
+ floatingChild && floatingChild instanceof HTMLElement && Object.assign(floatingChild.style, floatingStyle.current);
166
+ },
167
+ ...(typeof resize == "object" && resize)
168
+ }) : null, sizeMiddleware({
169
+ apply({
170
+ elements,
171
+ rects,
172
+ availableWidth,
173
+ availableHeight
174
+ }) {
175
+ const {
176
+ width: anchorWidth,
177
+ height: anchorHeight
178
+ } = rects.reference,
179
+ contentStyle = elements.floating.style;
180
+ contentStyle.setProperty("--tamagui-popper-available-width", `${availableWidth}px`), contentStyle.setProperty("--tamagui-popper-available-height", `${availableHeight}px`), contentStyle.setProperty("--tamagui-popper-anchor-width", `${anchorWidth}px`), contentStyle.setProperty("--tamagui-popper-anchor-height", `${anchorHeight}px`);
181
+ }
182
+ }), transformOriginMiddleware({
183
+ arrowHeight: arrowSize,
184
+ arrowWidth: arrowSize
185
+ })].filter(Boolean));
186
+ let floating = useFloating({
187
+ open: isOpen,
188
+ strategy,
189
+ placement,
190
+ sameScrollView: !1,
191
+ // this only takes effect on native
192
+ whileElementsMounted: isOpen ? tamaguiAutoUpdate : void 0,
193
+ platform: disableRTL ?? setupOptions.disableRTL ? {
194
+ ...platform,
195
+ isRTL(element) {
196
+ return !1;
197
+ }
198
+ } : platform,
199
+ middleware: middlewareRef.current
200
+ });
201
+ floating = React.useMemo(() => {
202
+ const og = floating.getFloatingProps;
203
+ return resize && og && (floating.getFloatingProps = props2 => og({
204
+ ...props2,
205
+ style: {
206
+ ...props2.style,
207
+ ...floatingStyle.current
208
+ }
209
+ })), floating;
210
+ }, [floating, resize ? JSON.stringify(resize) : null]);
211
+ const {
212
+ middlewareData
213
+ } = floating,
214
+ popperContext = React.useMemo(() => ({
215
+ size,
216
+ arrowRef: setArrow,
217
+ arrowStyle: middlewareData.arrow,
218
+ onArrowSize: setArrowSize,
219
+ hasFloating: middlewareData.checkFloating?.hasFloating,
220
+ transformOrigin: middlewareData.transformOrigin,
221
+ open: !!open,
222
+ ...floating
223
+ }), [open, size, floating, JSON.stringify(middlewareData.arrow || null), JSON.stringify(middlewareData.transformOrigin || null)]);
224
+ return /* @__PURE__ */jsx(PopperProvider, {
225
+ scope,
226
+ ...popperContext,
227
+ children: /* @__PURE__ */jsx(FloatingOverrideContext.Provider, {
228
+ value: null,
229
+ children
230
+ })
231
+ });
232
+ }
233
+ const PopperAnchor = YStack.styleable(function (props, forwardedRef) {
234
+ const {
235
+ virtualRef,
236
+ scope,
237
+ ...rest
238
+ } = props,
239
+ context = usePopperContextSlow(scope),
240
+ {
241
+ getReferenceProps,
242
+ refs,
243
+ update
244
+ } = context,
245
+ ref = React.useRef(null),
246
+ triggerId = React.useId();
247
+ React.useEffect(() => {
248
+ if (!scope || !context.triggerElements || !ref.current || !(ref.current instanceof Element)) return;
249
+ const el = ref.current;
250
+ return context.triggerElements.add(triggerId, el), () => {
251
+ context.triggerElements?.delete(triggerId);
252
+ };
253
+ }, [scope, triggerId, context.triggerElements]), React.useEffect(() => {
254
+ virtualRef && (refs.setReference(virtualRef.current), update());
255
+ }, [virtualRef]);
256
+ const refProps = getReferenceProps?.({
257
+ ...rest,
258
+ ref
259
+ }) || null,
260
+ safeSetReference = React.useCallback(node => {
261
+ startTransition(() => {
262
+ refs.setReference(node);
263
+ });
264
+ },
265
+ // it was refs.setRefernce but its stable and refs is undefined on server
266
+ [refs]),
267
+ shouldHandleInHover = isWeb && scope,
268
+ composedRefs = useComposedRefs(forwardedRef, ref,
269
+ // web handles this onMouseEnter below so it can support multiple targets + hovering
270
+ shouldHandleInHover ? void 0 : safeSetReference);
271
+ return /* @__PURE__ */jsx(TamaguiView, {
272
+ ...rest,
273
+ ...refProps,
274
+ ref: composedRefs,
275
+ ...(shouldHandleInHover && {
276
+ // scoped poppers with multiple triggers: set the reference on
277
+ // mouseEnter so floating-ui positions relative to the hovered
278
+ // trigger, not the last one rendered.
279
+ //
280
+ // flushSync is critical here: without it, setReference batches
281
+ // with React's async state updates and the arrow/content position
282
+ // computes against the OLD reference element. this causes the
283
+ // arrow to flash at x=0 (top-left) during trigger switches.
284
+ // flushSync forces synchronous commit so update() below reads
285
+ // the correct reference element immediately.
286
+ onMouseEnter: e => {
287
+ const el = e.currentTarget ?? ref.current;
288
+ if (el instanceof HTMLElement) {
289
+ if (flushSync(() => refs.setReference(el)), update(), !refProps) return;
290
+ refProps.onPointerEnter?.(e), context.onHoverReference?.(e.nativeEvent);
291
+ }
292
+ },
293
+ onMouseLeave: e => {
294
+ context.onLeaveReference?.(), refProps?.onMouseLeave?.(e);
295
+ }
296
+ })
297
+ });
298
+ }),
299
+ PopperContentFrame = styled(YStack, {
300
+ name: "PopperContent",
301
+ variants: {
302
+ unstyled: {
303
+ true: {}
304
+ },
305
+ size: {
306
+ "...size": (val, {
307
+ tokens
308
+ }) => ({
309
+ padding: tokens.space[val],
310
+ borderRadius: tokens.radius[val]
311
+ })
312
+ }
313
+ }
314
+ }),
315
+ PopperContent = React.forwardRef(function (props, forwardedRef) {
316
+ const {
317
+ scope,
318
+ animatePosition,
319
+ enableAnimationForPositionChange,
320
+ children,
321
+ passThrough,
322
+ unstyled,
323
+ ...rest
324
+ } = props,
325
+ animatePos = animatePosition ?? enableAnimationForPositionChange,
326
+ context = usePopperContext(scope),
327
+ {
328
+ strategy,
329
+ placement,
330
+ refs,
331
+ x,
332
+ y,
333
+ getFloatingProps,
334
+ size,
335
+ isPositioned,
336
+ transformOrigin,
337
+ update
338
+ } = context,
339
+ updateRef = React.useRef(update);
340
+ updateRef.current = update;
341
+ const lastNodeRef = React.useRef(null),
342
+ safeSetFloating = React.useCallback(node => {
343
+ const isNewNode = node !== lastNodeRef.current;
344
+ node && (lastNodeRef.current = node, refs.setFloating(node), isNewNode || updateRef.current?.());
345
+ }, [refs.setFloating]);
346
+ React.useEffect(() => () => {
347
+ const ourNode = lastNodeRef.current;
348
+ ourNode && refs.floating.current === ourNode && refs.setFloating(null), lastNodeRef.current = null;
349
+ }, []);
350
+ const contentRefs = useComposedRefs(safeSetFloating, forwardedRef),
351
+ [needsMeasure, setNeedsMeasure] = React.useState(animatePos);
352
+ useIsomorphicLayoutEffect(() => {
353
+ needsMeasure && x && y && setNeedsMeasure(!1);
354
+ }, [needsMeasure, animatePos, x, y]);
355
+ const hasBeenPositioned = React.useRef(!1),
356
+ lastGoodPosition = React.useRef({
357
+ x: 0,
358
+ y: 0
359
+ });
360
+ (x !== 0 || y !== 0) && (lastGoodPosition.current = {
361
+ x,
362
+ y
363
+ }, isPositioned && (hasBeenPositioned.current = !0));
364
+ const brieflyZero = hasBeenPositioned.current && x === 0 && y === 0,
365
+ effectiveX = brieflyZero ? lastGoodPosition.current.x : x,
366
+ effectiveY = brieflyZero ? lastGoodPosition.current.y : y,
367
+ hide = !hasBeenPositioned.current && effectiveX === 0 && effectiveY === 0,
368
+ disableAnimationProp =
369
+ // if they want to animate also when re-positioning allow it
370
+ animatePos === "even-when-repositioning" ? needsMeasure : !hasBeenPositioned.current && !isPositioned || needsMeasure,
371
+ [disableAnimation, setDisableAnimation] = React.useState(disableAnimationProp);
372
+ React.useEffect(() => {
373
+ setDisableAnimation(disableAnimationProp);
374
+ }, [disableAnimationProp]);
375
+ const frameProps = {
376
+ ref: contentRefs,
377
+ ...(hide ? {} : {
378
+ x: effectiveX || 0,
379
+ y: effectiveY || 0
380
+ }),
381
+ top: 0,
382
+ left: 0,
383
+ position: strategy,
384
+ opacity: hide ? 0 : 1,
385
+ ...(animatePos && {
386
+ transition: rest.transition,
387
+ // animateOnly: [] turns off transitions while keeping styles applied,
388
+ // letting the element move to its position silently before animations start
389
+ animateOnly: disableAnimation ? [] : rest.animateOnly,
390
+ animatePresence: !1
391
+ })
392
+ },
393
+ {
394
+ style,
395
+ ...floatingProps
396
+ } = getFloatingProps ? getFloatingProps(frameProps) : frameProps,
397
+ transformOriginStyle = isWeb && transformOrigin ? {
398
+ transformOrigin: `${transformOrigin.x} ${transformOrigin.y}`
399
+ } : void 0;
400
+ return /* @__PURE__ */jsx(LayoutMeasurementController, {
401
+ disable: !context.open,
402
+ children: /* @__PURE__ */jsx(TamaguiView, {
403
+ passThrough,
404
+ ref: contentRefs,
405
+ direction: rest.direction,
406
+ ...(passThrough ? null : floatingProps),
407
+ ...(!passThrough && animatePos && {
408
+ "data-popper-animate-position": "true"
409
+ }),
410
+ children: /* @__PURE__ */jsx(PopperContentFrame, {
411
+ passThrough,
412
+ unstyled,
413
+ ...(!passThrough && {
414
+ "data-placement": placement,
415
+ "data-strategy": strategy,
416
+ size,
417
+ ...style,
418
+ ...transformOriginStyle,
419
+ ...rest
420
+ }),
421
+ children
422
+ }, "popper-content-frame")
423
+ })
424
+ });
425
+ }),
426
+ PopperArrowFrame = styled(YStack, {
427
+ name: "PopperArrow",
428
+ variants: {
429
+ unstyled: {
430
+ false: {
431
+ borderColor: "$borderColor",
432
+ backgroundColor: "$background",
433
+ position: "relative"
434
+ }
435
+ }
436
+ },
437
+ defaultVariants: {
438
+ unstyled: process.env.HANZO_GUI_HEADLESS === "1"
439
+ }
440
+ }),
441
+ PopperArrowOuterFrame = styled(YStack, {
442
+ name: "PopperArrowOuter",
443
+ variants: {
444
+ unstyled: {
445
+ false: {
446
+ position: "absolute",
447
+ zIndex: 1e6,
448
+ pointerEvents: "none",
449
+ overflow: "hidden",
450
+ alignItems: "center",
451
+ justifyContent: "center"
452
+ }
453
+ }
454
+ },
455
+ defaultVariants: {
456
+ unstyled: process.env.HANZO_GUI_HEADLESS === "1"
457
+ }
458
+ }),
459
+ opposites = {
460
+ top: "bottom",
461
+ right: "left",
462
+ bottom: "top",
463
+ left: "right"
464
+ },
465
+ PopperArrow = React.forwardRef(function (propsIn, forwardedRef) {
466
+ const {
467
+ scope,
468
+ animatePosition,
469
+ transition,
470
+ ...rest
471
+ } = propsIn,
472
+ {
473
+ offset,
474
+ size: sizeProp,
475
+ borderWidth = 0,
476
+ ...arrowProps
477
+ } = rest,
478
+ context = usePopperContext(scope),
479
+ sizeVal = typeof sizeProp == "number" ? sizeProp : getVariableValue(getSpace(sizeProp ?? context.size, {
480
+ shift: -2,
481
+ bounds: [2]
482
+ })),
483
+ size = Math.max(0, +sizeVal),
484
+ {
485
+ placement
486
+ } = context,
487
+ refs = useComposedRefs(context.arrowRef, forwardedRef),
488
+ x = context.arrowStyle?.x || 0,
489
+ y = context.arrowStyle?.y || 0,
490
+ arrowPositioned = context.arrowStyle != null,
491
+ primaryPlacement = placement ? placement.split("-")[0] : "top",
492
+ arrowStyle = {
493
+ x,
494
+ y,
495
+ width: size,
496
+ height: size
497
+ },
498
+ innerArrowStyle = {},
499
+ isVertical = primaryPlacement === "bottom" || primaryPlacement === "top";
500
+ if (primaryPlacement) {
501
+ arrowStyle[isVertical ? "width" : "height"] = size * 2;
502
+ const oppSide = opposites[primaryPlacement];
503
+ oppSide && (arrowStyle[oppSide] = -size, innerArrowStyle[oppSide] = size / 2), (oppSide === "top" || oppSide === "bottom") && (arrowStyle.left = 0), (oppSide === "left" || oppSide === "right") && (arrowStyle.top = 0), useIsomorphicLayoutEffect(() => {
504
+ context.onArrowSize?.(size);
505
+ }, [size, context.onArrowSize]);
506
+ }
507
+ return /* @__PURE__ */jsx(PopperArrowOuterFrame, {
508
+ ref: refs,
509
+ ...arrowStyle,
510
+ ...(!arrowPositioned && {
511
+ opacity: 0
512
+ }),
513
+ ...(animatePosition && {
514
+ transition,
515
+ animateOnly: ["transform"],
516
+ animatePresence: !1
517
+ }),
518
+ children: /* @__PURE__ */jsx(PopperArrowFrame, {
519
+ width: size,
520
+ height: size,
521
+ ...arrowProps,
522
+ ...innerArrowStyle,
523
+ rotate: "45deg",
524
+ ...(primaryPlacement === "bottom" && {
525
+ borderLeftWidth: borderWidth,
526
+ borderTopWidth: borderWidth
527
+ }),
528
+ ...(primaryPlacement === "top" && {
529
+ borderBottomWidth: borderWidth,
530
+ borderRightWidth: borderWidth
531
+ }),
532
+ ...(primaryPlacement === "right" && {
533
+ borderLeftWidth: borderWidth,
534
+ borderBottomWidth: borderWidth
535
+ }),
536
+ ...(primaryPlacement === "left" && {
537
+ borderTopWidth: borderWidth,
538
+ borderRightWidth: borderWidth
539
+ })
540
+ })
541
+ });
542
+ });
543
+ export { Popper, PopperAnchor, PopperArrow, PopperArrowFrame, PopperContent, PopperContentFrame, PopperContextFast, PopperContextSlow, PopperPositionContext, PopperProvider, PopperProviderFast, PopperProviderSlow, setupPopper, usePopperContext, usePopperContextSlow };
544
+ //# sourceMappingURL=Popper.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["flushSync","useComposedRefs","isWeb","useIsomorphicLayoutEffect","LayoutMeasurementController","View","TamaguiView","createStyledContext","getVariableValue","registerLayoutNode","styled","FloatingOverrideContext","arrow","flip","getOverflowAncestors","offset","offsetFn","platform","shift","size","sizeMiddleware","useFloating","getSpace","YStack","startTransition","React","jsx","PopperContextFast","PopperPositionContext","useStyledContext","usePopperContext","Provider","PopperProviderFast","PopperContextSlow","usePopperContextSlow","PopperProviderSlow","PopperProvider","scope","children","context","fns","useRef","current","slowContext","useState","refs","triggerElements","update","a","getReferenceProps","p","onHoverReference","e","onLeaveReference","checkFloating","setupOptions","setupPopper","options","Object","assign","getSideAndAlignFromPlacement","placement","side","align","split","transformOriginMiddleware","name","fn","data","rects","middlewareData","isArrowHidden","centerOffset","arrowWidth","arrowHeight","placedSide","placedAlign","noArrowAlign","start","center","end","arrowXCenter","x","arrowYCenter","y","floating","height","width","tamaguiAutoUpdate","reference","rafId","requestAnimationFrame","cleanups","cancelAnimationFrame","HTMLElement","push","ancestors","Element","uniqueAncestors","Set","ancestor","addEventListener","passive","window","removeEventListener","forEach","Popper","props","strategy","stayInFrame","allowFlip","disableRTL","resize","passThrough","open","arrowEl","setArrow","arrowSize","setArrowSize","offsetOptions","floatingStyle","isOpen","middlewareRef","padding","mainAxis","crossAxis","element","apply","availableHeight","availableWidth","maxHeight","maxWidth","floatingChild","firstChild","style","elements","anchorWidth","anchorHeight","contentStyle","setProperty","filter","Boolean","sameScrollView","whileElementsMounted","isRTL","middleware","useMemo","og","getFloatingProps","props2","JSON","stringify","popperContext","arrowRef","arrowStyle","onArrowSize","hasFloating","transformOrigin","value","PopperAnchor","styleable","forwardedRef","virtualRef","rest","ref","triggerId","useId","useEffect","el","add","delete","setReference","refProps","safeSetReference","useCallback","node","shouldHandleInHover","composedRefs","onMouseEnter","currentTarget","onPointerEnter","nativeEvent","onMouseLeave","PopperContentFrame","variants","unstyled","true","...size","val","tokens","space","borderRadius","radius","PopperContent","forwardRef","animatePosition","enableAnimationForPositionChange","animatePos","isPositioned","updateRef","lastNodeRef","safeSetFloating","isNewNode","setFloating","ourNode","contentRefs","needsMeasure","setNeedsMeasure","hasBeenPositioned","lastGoodPosition","brieflyZero","effectiveX","effectiveY","hide","disableAnimationProp","disableAnimation","setDisableAnimation","frameProps","top","left","position","opacity","transition","animateOnly","animatePresence","floatingProps","transformOriginStyle","disable","direction","PopperArrowFrame","false","borderColor","backgroundColor","defaultVariants","process","env","HANZO_GUI_HEADLESS","PopperArrowOuterFrame","zIndex","pointerEvents","overflow","alignItems","justifyContent","opposites","right","bottom","PopperArrow","propsIn","sizeProp","borderWidth","arrowProps","sizeVal","bounds","Math","max","arrowPositioned","primaryPlacement","innerArrowStyle","isVertical","oppSide","rotate","borderLeftWidth","borderTopWidth","borderBottomWidth","borderRightWidth"],"sources":["../../src/Popper.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,SAAA,QAAiB;AAC1B,SAASC,eAAA,QAAuB;AAChC,SAASC,KAAA,EAAOC,yBAAA,QAAiC;AAEjD,SACEC,2BAAA,EACAC,IAAA,IAAQC,WAAA,EACRC,mBAAA,EACAC,gBAAA,EACAC,kBAAA,EACAC,MAAA,QACK;AAEP,SAASC,uBAAA,QAA+B;AAYxC,SACEC,KAAA,EACAC,IAAA,EACAC,oBAAA,EACAC,MAAA,IAAUC,QAAA,EACVC,QAAA,EACAC,KAAA,EACAC,IAAA,IAAQC,cAAA,EACRC,WAAA,QACK;AACP,SAASC,QAAA,QAAgB;AAEzB,SAASC,MAAA,QAAc;AACvB,SAASC,eAAA,QAAuB;AAChC,YAAYC,KAAA,MAAW;AAyFjB,SAAAC,GAAA;AAhEC,MAAMC,iBAAA,GAAoBpB,mBAAA;EAAA;EAE/B,CAAC,GACD,UACF;EAEaqB,qBAAA,GAAwBrB,mBAAA;EAExB;IAAEsB,gBAAA,EAAkBC,gBAAA;IAAkBC,QAAA,EAAUC;EAAmB,IAC9EL,iBAAA;EAWWM,iBAAA,GAAoB1B,mBAAA;EAAA;EAE/B,CAAC,GACD,cACF;EAEa;IAAEsB,gBAAA,EAAkBK,oBAAA;IAAsBH,QAAA,EAAUI;EAAmB,IAClFF,iBAAA;EAGWG,cAAA,GAAiBA,CAAC;IAC7BC,KAAA;IACAC,QAAA;IACA,GAAGC;EACL,MAA2E;IAGzE,MAAMC,GAAA,GAAMf,KAAA,CAAMgB,MAAA,CAAOF,OAAO;IAChCC,GAAA,CAAIE,OAAA,GAAUH,OAAA;IAKd,MAAM,CAACI,WAAW,IAAIlB,KAAA,CAAMmB,QAAA,CAC1B,OAA+B;MAC7BC,IAAA,EAAMN,OAAA,CAAQM,IAAA;MACdC,eAAA,EAAiBP,OAAA,CAAQO,eAAA;MACzBC,OAAA,GAAUC,CAAA,EAAO;QACfR,GAAA,CAAIE,OAAA,CAAQK,MAAA,CAAO,GAAGC,CAAC;MACzB;MACAC,kBAAkBC,CAAA,EAAS;QACzB,OAAOV,GAAA,CAAIE,OAAA,CAAQO,iBAAA,GAAoBC,CAAC;MAC1C;MACAC,iBAAiBC,CAAA,EAAS;QACtBZ,GAAA,CAAIE,OAAA,CAAgBS,gBAAA,GAAmBC,CAAC;MAC5C;MACAC,iBAAA,EAAmB;QACfb,GAAA,CAAIE,OAAA,CAAgBW,gBAAA,GAAmB;MAC3C;IACF,EACF;IAEA,OACE,eAAA3B,GAAA,CAACM,kBAAA;MAAmBK,KAAA;MAAe,GAAGE,OAAA;MACpCD,QAAA,iBAAAZ,GAAA,CAACS,kBAAA;QAAmBE,KAAA;QAAe,GAAGM,WAAA;QACnCL;MAAA,CACH;IAAA,CACF;EAEJ;EA0DMgB,aAAA,GAYA;EAMAC,YAAA,GAAmC,CAAC;AAEnC,SAASC,YAAYC,OAAA,EAA8B;EACxDC,MAAA,CAAOC,MAAA,CAAOJ,YAAA,EAAcE,OAAO;AACrC;AAIA,SAASG,6BAA6BC,SAAA,EAAsB;EAC1D,MAAM,CAACC,IAAA,EAAMC,KAAA,GAAQ,QAAQ,IAAIF,SAAA,CAAUG,KAAA,CAAM,GAAG;EACpD,OAAO,CAACF,IAAA,EAAcC,KAAmC;AAC3D;AAEA,MAAME,yBAAA,GAA6BR,OAAA,KAGhB;EACjBS,IAAA,EAAM;EACNT,OAAA;EACAU,GAAGC,IAAA,EAAM;IACP,MAAM;QAAEP,SAAA;QAAWQ,KAAA;QAAOC;MAAe,IAAIF,IAAA;MAGvCG,aAAA,GADoBD,cAAA,CAAe1D,KAAA,EAAO4D,YAAA,KAAiB;MAE3DC,UAAA,GAAaF,aAAA,GAAgB,IAAId,OAAA,CAAQgB,UAAA;MACzCC,WAAA,GAAcH,aAAA,GAAgB,IAAId,OAAA,CAAQiB,WAAA;MAE1C,CAACC,UAAA,EAAYC,WAAW,IAAIhB,4BAAA,CAA6BC,SAAS;MAClEgB,YAAA,GAAe;QAAEC,KAAA,EAAO;QAAMC,MAAA,EAAQ;QAAOC,GAAA,EAAK;MAAO,EAAEJ,WAAW;MAEtEK,YAAA,IAAgBX,cAAA,CAAe1D,KAAA,EAAOsE,CAAA,IAAK,KAAKT,UAAA,GAAa;MAC7DU,YAAA,IAAgBb,cAAA,CAAe1D,KAAA,EAAOwE,CAAA,IAAK,KAAKV,WAAA,GAAc;IAEpE,IAAIQ,CAAA,GAAI;MACJE,CAAA,GAAI;IAER,OAAIT,UAAA,KAAe,YACjBO,CAAA,GAAIX,aAAA,GAAgBM,YAAA,GAAe,GAAGI,YAAY,MAClDG,CAAA,GAAI,GAAG,CAACV,WAAW,QACVC,UAAA,KAAe,SACxBO,CAAA,GAAIX,aAAA,GAAgBM,YAAA,GAAe,GAAGI,YAAY,MAClDG,CAAA,GAAI,GAAGf,KAAA,CAAMgB,QAAA,CAASC,MAAA,GAASZ,WAAW,QACjCC,UAAA,KAAe,WACxBO,CAAA,GAAI,GAAG,CAACR,WAAW,MACnBU,CAAA,GAAIb,aAAA,GAAgBM,YAAA,GAAe,GAAGM,YAAY,QACzCR,UAAA,KAAe,WACxBO,CAAA,GAAI,GAAGb,KAAA,CAAMgB,QAAA,CAASE,KAAA,GAAQb,WAAW,MACzCU,CAAA,GAAIb,aAAA,GAAgBM,YAAA,GAAe,GAAGM,YAAY,OAG7C;MAAEf,IAAA,EAAM;QAAEc,CAAA;QAAGE;MAAE;IAAE;EAC1B;AACF;AAKA,SAASI,kBACPC,SAAA,EACAJ,QAAA,EACAtC,MAAA,EACY;EAEZA,MAAA,CAAO;EAIP,IAAI2C,KAAA,GAAQC,qBAAA,CAAsB,MAAM;IACtC5C,MAAA,CAAO,GACP2C,KAAA,GAAQ;EACV,CAAC;EAED,MAAME,QAAA,GAA2B,CAC/B,MAAM;IACAF,KAAA,IAAOG,oBAAA,CAAqBH,KAAK;EACvC,EACF;EAKID,SAAA,YAAqBK,WAAA,IACvBF,QAAA,CAASG,IAAA,CAAKtF,kBAAA,CAAmBgF,SAAA,EAAW1C,MAAM,CAAC;EAKrD,MAAMiD,SAAA,GAAY,CAAC,IADEP,SAAA,YAAqBQ,OAAA,GAAUnF,oBAAA,CAAqB2E,SAAS,IAAI,EAAC,GACnD,GAAG3E,oBAAA,CAAqBuE,QAAQ,CAAC;IAC/Da,eAAA,GAAkB,CAAC,GAAG,IAAIC,GAAA,CAAIH,SAAS,CAAC;EAC9C,WAAWI,QAAA,IAAYF,eAAA,EACrBE,QAAA,CAASC,gBAAA,CAAiB,UAAUtD,MAAA,EAAQ;IAAEuD,OAAA,EAAS;EAAK,CAAC;EAI/D,OAAAC,MAAA,CAAOF,gBAAA,CAAiB,UAAUtD,MAAM,GAExC6C,QAAA,CAASG,IAAA,CAAK,MAAM;IAClB,WAAWK,QAAA,IAAYF,eAAA,EACrBE,QAAA,CAASI,mBAAA,CAAoB,UAAUzD,MAAM;IAE/CwD,MAAA,CAAOC,mBAAA,CAAoB,UAAUzD,MAAM;EAC7C,CAAC,GAEM,MAAM6C,QAAA,CAASa,OAAA,CAAStC,EAAA,IAAOA,EAAA,CAAG,CAAC;AAC5C;AAEO,SAASuC,OAAOC,KAAA,EAAoB;EACzC,MAAM;MACJrE,QAAA;MACAnB,IAAA;MACAyF,QAAA,GAAW;MACX/C,SAAA,GAAY;MACZgD,WAAA;MACAC,SAAA;MACA/F,MAAA;MACAgG,UAAA;MACAC,MAAA;MACAC,WAAA;MACAC,IAAA;MACA7E;IACF,IAAIsE,KAAA;IAEE,CAACQ,OAAA,EAASC,QAAQ,IAAI3F,KAAA,CAAMmB,QAAA,CAAc,IAAI;IAC9C,CAACyE,SAAA,EAAWC,YAAY,IAAI7F,KAAA,CAAMmB,QAAA,CAAS,CAAC;IAC5C2E,aAAA,GAAgBxG,MAAA,IAAUsG,SAAA;IAC1BG,aAAA,GAAgB/F,KAAA,CAAMgB,MAAA,CAAO,CAAC,CAAC;IAC/BgF,MAAA,GAASR,WAAA,GAAc,KAASC,IAAA,IAAQ;IAMxCQ,aAAA,GAAgBjG,KAAA,CAAMgB,MAAA,CAAc,EAAE;EACxCgF,MAAA,KACFC,aAAA,CAAchF,OAAA,GAAU;EAAA;EAEtB,OAAO6E,aAAA,GAAkB,MAAcvG,QAAA,CAASuG,aAAa,IAAK,MAClET,SAAA,GAAYjG,IAAA,CAAK,OAAOiG,SAAA,IAAc,YAAY,CAAC,IAAIA,SAAS,IAAK;EAAA;EAAA;EAAA;EAAA;EAKrED,WAAA,GACI3F,KAAA,CAAM;IACJyG,OAAA,EAAS;IACTC,QAAA,EAAU;IACVC,SAAA,EAAW;IACX,IAAI,OAAOhB,WAAA,IAAgB,WAAWA,WAAA,GAAc;EACtD,CAAC,IACA,MACLM,OAAA,GAAUvG,KAAA,CAAM;IAAEkH,OAAA,EAASX;EAAQ,CAAC,IAAK,MACzC7D,aAAA,EAC6C0D,MAAA,GACzC5F,cAAA,CAAe;IACbuG,OAAA,EAAS,OAAOd,WAAA,IAAgB,WAAWA,WAAA,CAAYc,OAAA,GAAU;IACjEI,MAAM;MAAEC,eAAA;MAAiBC;IAAe,GAAG;MACzC,IAAIhB,WAAA,EACF;MAGFvD,MAAA,CAAOC,MAAA,CAAO6D,aAAA,CAAc9E,OAAA,EAAS;QACnCwF,SAAA,EAAW,GAAGF,eAAe;QAC7BG,QAAA,EAAU,GAAGF,cAAc;MAC7B,CAAC;MAED,MAAMG,aAAA,GAAgB/C,QAAA,CAASxC,IAAA,CAAKwC,QAAA,CAAS3C,OAAA,EAAS2F,UAAA;MAClDD,aAAA,IAAiBA,aAAA,YAAyBtC,WAAA,IAC5CpC,MAAA,CAAOC,MAAA,CAAOyE,aAAA,CAAcE,KAAA,EAAOd,aAAA,CAAc9E,OAAO;IAE5D;IACA,IAAI,OAAOsE,MAAA,IAAW,YAAYA,MAAA;EACpC,CAAC,IACA,MAGD5F,cAAA,CAAe;IACb2G,MAAM;MAAEQ,QAAA;MAAUlE,KAAA;MAAO4D,cAAA;MAAgBD;IAAgB,GAAG;MAC1D,MAAM;UAAEzC,KAAA,EAAOiD,WAAA;UAAalD,MAAA,EAAQmD;QAAa,IAAIpE,KAAA,CAAMoB,SAAA;QACrDiD,YAAA,GAAeH,QAAA,CAASlD,QAAA,CAASiD,KAAA;MACvCI,YAAA,CAAaC,WAAA,CACX,oCACA,GAAGV,cAAc,IACnB,GACAS,YAAA,CAAaC,WAAA,CACX,qCACA,GAAGX,eAAe,IACpB,GACAU,YAAA,CAAaC,WAAA,CACX,iCACA,GAAGH,WAAW,IAChB,GACAE,YAAA,CAAaC,WAAA,CACX,kCACA,GAAGF,YAAY,IACjB;IACF;EACF,CAAC,GAIDxE,yBAAA,CAA0B;IACxBS,WAAA,EAAa2C,SAAA;IACb5C,UAAA,EAAY4C;EACd,CAAC,EAEP,CAAEuB,MAAA,CAAOC,OAAO;EAGlB,IAAIxD,QAAA,GAAWhE,WAAA,CAAY;IACzB6F,IAAA,EAAMO,MAAA;IACNb,QAAA;IACA/C,SAAA;IACAiF,cAAA,EAAgB;IAAA;IAChBC,oBAAA,EAAuBtB,MAAA,GAAqBjC,iBAAA,GAAZ;IAChCvE,QAAA,EACG8F,UAAA,IAAcxD,YAAA,CAAawD,UAAA,GACxB;MACE,GAAG9F,QAAA;MACH+H,MAAMlB,OAAA,EAAS;QACb,OAAO;MACT;IACF,IACA7G,QAAA;IACNgI,UAAA,EAAYvB,aAAA,CAAchF;EAC5B,CAAC;EAIC2C,QAAA,GAAW5D,KAAA,CAAMyH,OAAA,CAAQ,MAAM;IAC7B,MAAMC,EAAA,GAAK9D,QAAA,CAAS+D,gBAAA;IACpB,OAAIpC,MAAA,IAAUmC,EAAA,KACZ9D,QAAA,CAAS+D,gBAAA,GAAoBC,MAAA,IACpBF,EAAA,CAAG;MACR,GAAGE,MAAA;MACHf,KAAA,EAAO;QACL,GAAGe,MAAA,CAAMf,KAAA;QACT,GAAGd,aAAA,CAAc9E;MACnB;IACF,CAAC,IAGE2C,QAAA;EACT,GAAG,CAACA,QAAA,EAAU2B,MAAA,GAASsC,IAAA,CAAKC,SAAA,CAAUvC,MAAM,IAAI,IAAI,CAAC;EAGvD,MAAM;MAAE1C;IAAe,IAAIe,QAAA;IAkCrBmE,aAAA,GAAgB/H,KAAA,CAAMyH,OAAA,CAAQ,OAC3B;MACL/H,IAAA;MACAsI,QAAA,EAAUrC,QAAA;MACVsC,UAAA,EAAYpF,cAAA,CAAe1D,KAAA;MAC3B+I,WAAA,EAAarC,YAAA;MACbsC,WAAA,EAAatF,cAAA,CAAehB,aAAA,EAAesG,WAAA;MAC3CC,eAAA,EAAiBvF,cAAA,CAAeuF,eAAA;MAGhC3C,IAAA,EAAM,CAAC,CAACA,IAAA;MACR,GAAG7B;IACL,IACC,CACD6B,IAAA,EACA/F,IAAA,EACAkE,QAAA,EACAiE,IAAA,CAAKC,SAAA,CAAUjF,cAAA,CAAe1D,KAAA,IAAS,IAAI,GAC3C0I,IAAA,CAAKC,SAAA,CAAUjF,cAAA,CAAeuF,eAAA,IAAmB,IAAI,EACtD;EAED,OACE,eAAAnI,GAAA,CAACU,cAAA;IAAeC,KAAA;IAAe,GAAGmH,aAAA;IAIhClH,QAAA,iBAAAZ,GAAA,CAACf,uBAAA,CAAwBoB,QAAA,EAAxB;MAAiC+H,KAAA,EAAO;MACtCxH;IAAA,CACH;EAAA,CACF;AAEJ;AAcO,MAAMyH,YAAA,GAAexI,MAAA,CAAOyI,SAAA,CACjC,UAAsBrD,KAAA,EAAOsD,YAAA,EAAc;IACzC,MAAM;QAAEC,UAAA;QAAY7H,KAAA;QAAO,GAAG8H;MAAK,IAAIxD,KAAA;MACjCpE,OAAA,GAAUL,oBAAA,CAAqBG,KAAK;MACpC;QAAEY,iBAAA;QAAmBJ,IAAA;QAAME;MAAO,IAAIR,OAAA;MACtC6H,GAAA,GAAM3I,KAAA,CAAMgB,MAAA,CAAwB,IAAI;MACxC4H,SAAA,GAAY5I,KAAA,CAAM6I,KAAA,CAAM;IAI9B7I,KAAA,CAAM8I,SAAA,CAAU,MAAM;MAEpB,IADI,CAAClI,KAAA,IAAS,CAACE,OAAA,CAAQO,eAAA,IAAmB,CAACsH,GAAA,CAAI1H,OAAA,IAC3C,EAAE0H,GAAA,CAAI1H,OAAA,YAAmBuD,OAAA,GAAU;MACvC,MAAMuE,EAAA,GAAKJ,GAAA,CAAI1H,OAAA;MACf,OAAAH,OAAA,CAAQO,eAAA,CAAgB2H,GAAA,CAAIJ,SAAA,EAAWG,EAAE,GAClC,MAAM;QACXjI,OAAA,CAAQO,eAAA,EAAiB4H,MAAA,CAAOL,SAAS;MAC3C;IACF,GAAG,CAAChI,KAAA,EAAOgI,SAAA,EAAW9H,OAAA,CAAQO,eAAe,CAAC,GAE9CrB,KAAA,CAAM8I,SAAA,CAAU,MAAM;MAChBL,UAAA,KACFrH,IAAA,CAAK8H,YAAA,CAAaT,UAAA,CAAWxH,OAAO,GAEpCK,MAAA,CAAO;IAEX,GAAG,CAACmH,UAAU,CAAC;IAEf,MAAMU,QAAA,GACJ3H,iBAAA,GAAoB;QAClB,GAAGkH,IAAA;QACHC;MACF,CAAC,KAAK;MAGFS,gBAAA,GAAmBpJ,KAAA,CAAMqJ,WAAA,CAC5BC,IAAA,IAAc;QACbvJ,eAAA,CAAgB,MAAM;UACpBqB,IAAA,CAAK8H,YAAA,CAAaI,IAAI;QACxB,CAAC;MACH;MAAA;MAEA,CAAClI,IAAI,CACP;MAEMmI,mBAAA,GAAsB9K,KAAA,IAASmC,KAAA;MAC/B4I,YAAA,GAAehL,eAAA,CACnBgK,YAAA,EACAG,GAAA;MAAA;MAEAY,mBAAA,GAAsB,SAAYH,gBACpC;IAEA,OACE,eAAAnJ,GAAA,CAACpB,WAAA;MACE,GAAG6J,IAAA;MACH,GAAGS,QAAA;MACJR,GAAA,EAAKa,YAAA;MACJ,IAAID,mBAAA,IAAuB;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAAA;QAW1BE,YAAA,EAAe9H,CAAA,IAAM;UACnB,MAAMoH,EAAA,GAAMpH,CAAA,CAAE+H,aAAA,IAAiBf,GAAA,CAAI1H,OAAA;UACnC,IAAI8H,EAAA,YAAc1E,WAAA,EAAa;YAI7B,IAHA9F,SAAA,CAAU,MAAM6C,IAAA,CAAK8H,YAAA,CAAaH,EAAE,CAAC,GACrCzH,MAAA,CAAO,GAEH,CAAC6H,QAAA,EAAU;YAEfA,QAAA,CAASQ,cAAA,GAAiBhI,CAAC,GAC3Bb,OAAA,CAAQY,gBAAA,GAAmBC,CAAA,CAAEiI,WAAW;UAC1C;QACF;QACAC,YAAA,EAAelI,CAAA,IAAM;UACnBb,OAAA,CAAQc,gBAAA,GAAmB,GAC3BuH,QAAA,EAAUU,YAAA,GAAelI,CAAC;QAC5B;MACF;IAAA,CACF;EAEJ,CACF;EAmBamI,kBAAA,GAAqB7K,MAAA,CAAOa,MAAA,EAAQ;IAC/C2C,IAAA,EAAM;IAENsH,QAAA,EAAU;MACRC,QAAA,EAAU;QACRC,IAAA,EAAM,CAAC;MACT;MAEAvK,IAAA,EAAM;QACJ,WAAWwK,CAACC,GAAA,EAAK;UAAEC;QAAO,OACjB;UACLlE,OAAA,EAASkE,MAAA,CAAOC,KAAA,CAAMF,GAAG;UACzBG,YAAA,EAAcF,MAAA,CAAOG,MAAA,CAAOJ,GAAG;QACjC;MAEJ;IACF;EACF,CAAC;EAEYK,aAAA,GAAgBxK,KAAA,CAAMyK,UAAA,CACjC,UAAuBvF,KAAA,EAAOsD,YAAA,EAAc;IAC1C,MAAM;QACJ5H,KAAA;QACA8J,eAAA;QACAC,gCAAA;QACA9J,QAAA;QACA2E,WAAA;QACAwE,QAAA;QACA,GAAGtB;MACL,IAAIxD,KAAA;MACE0F,UAAA,GAAaF,eAAA,IAAmBC,gCAAA;MAChC7J,OAAA,GAAUT,gBAAA,CAAiBO,KAAK;MAEhC;QACJuE,QAAA;QACA/C,SAAA;QACAhB,IAAA;QACAqC,CAAA;QACAE,CAAA;QACAgE,gBAAA;QACAjI,IAAA;QACAmL,YAAA;QACAzC,eAAA;QACA9G;MACF,IAAIR,OAAA;MAGEgK,SAAA,GAAY9K,KAAA,CAAMgB,MAAA,CAAOM,MAAM;IACrCwJ,SAAA,CAAU7J,OAAA,GAAUK,MAAA;IAYpB,MAAMyJ,WAAA,GAAc/K,KAAA,CAAMgB,MAAA,CAAY,IAAI;MACpCgK,eAAA,GAAkBhL,KAAA,CAAMqJ,WAAA,CAC3BC,IAAA,IAAc;QACb,MAAM2B,SAAA,GAAY3B,IAAA,KAASyB,WAAA,CAAY9J,OAAA;QACnCqI,IAAA,KACFyB,WAAA,CAAY9J,OAAA,GAAUqI,IAAA,EACtBlI,IAAA,CAAK8J,WAAA,CAAY5B,IAAI,GAChB2B,SAAA,IAGHH,SAAA,CAAU7J,OAAA,GAAU;MAK1B,GACA,CAACG,IAAA,CAAK8J,WAAW,CACnB;IAQAlL,KAAA,CAAM8I,SAAA,CAAU,MACP,MAAM;MACX,MAAMqC,OAAA,GAAUJ,WAAA,CAAY9J,OAAA;MAGxBkK,OAAA,IAAW/J,IAAA,CAAKwC,QAAA,CAAS3C,OAAA,KAAYkK,OAAA,IACvC/J,IAAA,CAAK8J,WAAA,CAAY,IAAI,GAEvBH,WAAA,CAAY9J,OAAA,GAAU;IACxB,GACC,EAAE;IAEL,MAAMmK,WAAA,GAAc5M,eAAA,CAAqBwM,eAAA,EAAiBxC,YAAY;MAEhE,CAAC6C,YAAA,EAAcC,eAAe,IAAItL,KAAA,CAAMmB,QAAA,CAASyJ,UAAU;IAEjElM,yBAAA,CAA0B,MAAM;MAC1B2M,YAAA,IAAgB5H,CAAA,IAAKE,CAAA,IACvB2H,eAAA,CAAgB,EAAK;IAEzB,GAAG,CAACD,YAAA,EAAcT,UAAA,EAAYnH,CAAA,EAAGE,CAAC,CAAC;IAMnC,MAAM4H,iBAAA,GAAoBvL,KAAA,CAAMgB,MAAA,CAAO,EAAK;MACtCwK,gBAAA,GAAmBxL,KAAA,CAAMgB,MAAA,CAAO;QAAEyC,CAAA,EAAG;QAAGE,CAAA,EAAG;MAAE,CAAC;IACpD,CAAIF,CAAA,KAAM,KAAKE,CAAA,KAAM,OAInB6H,gBAAA,CAAiBvK,OAAA,GAAU;MAAEwC,CAAA;MAAGE;IAAE,GAC9BkH,YAAA,KACFU,iBAAA,CAAkBtK,OAAA,GAAU;IAUhC,MAAMwK,WAAA,GAAcF,iBAAA,CAAkBtK,OAAA,IAAWwC,CAAA,KAAM,KAAKE,CAAA,KAAM;MAC5D+H,UAAA,GAAaD,WAAA,GAAcD,gBAAA,CAAiBvK,OAAA,CAAQwC,CAAA,GAAIA,CAAA;MACxDkI,UAAA,GAAaF,WAAA,GAAcD,gBAAA,CAAiBvK,OAAA,CAAQ0C,CAAA,GAAIA,CAAA;MAGxDiI,IAAA,GAAO,CAACL,iBAAA,CAAkBtK,OAAA,IAAWyK,UAAA,KAAe,KAAKC,UAAA,KAAe;MAExEE,oBAAA;MAAA;MAEJjB,UAAA,KAAe,4BACXS,YAAA,GACC,CAACE,iBAAA,CAAkBtK,OAAA,IAAW,CAAC4J,YAAA,IAAiBQ,YAAA;MAEjD,CAACS,gBAAA,EAAkBC,mBAAmB,IAAI/L,KAAA,CAAMmB,QAAA,CAAS0K,oBAAoB;IAInF7L,KAAA,CAAM8I,SAAA,CAAU,MAAM;MACpBiD,mBAAA,CAAoBF,oBAAoB;IAC1C,GAAG,CAACA,oBAAoB,CAAC;IAMzB,MAAMG,UAAA,GAAa;QACjBrD,GAAA,EAAKyC,WAAA;QACL,IANoBQ,IAAA,GAClB,CAAC,IACD;UAAEnI,CAAA,EAAGiI,UAAA,IAAc;UAAG/H,CAAA,EAAGgI,UAAA,IAAc;QAAE;QAK3CM,GAAA,EAAK;QACLC,IAAA,EAAM;QACNC,QAAA,EAAUhH,QAAA;QACViH,OAAA,EAASR,IAAA,GAAO,IAAI;QACpB,IAAIhB,UAAA,IAAc;UAChByB,UAAA,EAAY3D,IAAA,CAAK2D,UAAA;UAAA;UAAA;UAGjBC,WAAA,EAAaR,gBAAA,GAAmB,EAAC,GAAIpD,IAAA,CAAK4D,WAAA;UAC1CC,eAAA,EAAiB;QACnB;MACF;MAIM;QAAE1F,KAAA;QAAO,GAAG2F;MAAc,IAAI7E,gBAAA,GAChCA,gBAAA,CAAiBqE,UAAU,IAC3BA,UAAA;MAGES,oBAAA,GACJhO,KAAA,IAAS2J,eAAA,GACL;QAAEA,eAAA,EAAiB,GAAGA,eAAA,CAAgB3E,CAAC,IAAI2E,eAAA,CAAgBzE,CAAC;MAAG,IAC/D;IAEN,OACE,eAAA1D,GAAA,CAACtB,2BAAA;MAA4B+N,OAAA,EAAS,CAAC5L,OAAA,CAAQ2E,IAAA;MAC7C5E,QAAA,iBAAAZ,GAAA,CAACpB,WAAA;QACC2G,WAAA;QACAmD,GAAA,EAAKyC,WAAA;QACLuB,SAAA,EAAWjE,IAAA,CAAKiE,SAAA;QACf,IAAInH,WAAA,GAAc,OAAOgH,aAAA;QACzB,IAAI,CAAChH,WAAA,IACJoF,UAAA,IAAc;UACZ,gCAAgC;QAClC;QAEF/J,QAAA,iBAAAZ,GAAA,CAAC6J,kBAAA;UAECtE,WAAA;UACAwE,QAAA;UACC,IAAI,CAACxE,WAAA,IAAe;YACnB,kBAAkBpD,SAAA;YAClB,iBAAiB+C,QAAA;YACjBzF,IAAA;YACA,GAAGmH,KAAA;YACH,GAAG4F,oBAAA;YACH,GAAG/D;UACL;UAEC7H;QAAA,GAZG,sBAaN;MAAA,CACF;IAAA,CACF;EAEJ,CACF;EAkBa+L,gBAAA,GAAmB3N,MAAA,CAAOa,MAAA,EAAQ;IAC7C2C,IAAA,EAAM;IAENsH,QAAA,EAAU;MACRC,QAAA,EAAU;QACR6C,KAAA,EAAO;UACLC,WAAA,EAAa;UACbC,eAAA,EAAiB;UACjBZ,QAAA,EAAU;QACZ;MACF;IACF;IAEAa,eAAA,EAAiB;MACfhD,QAAA,EAAUiD,OAAA,CAAQC,GAAA,CAAIC,kBAAA,KAAuB;IAC/C;EACF,CAAC;EAEKC,qBAAA,GAAwBnO,MAAA,CAAOa,MAAA,EAAQ;IAC3C2C,IAAA,EAAM;IAENsH,QAAA,EAAU;MACRC,QAAA,EAAU;QACR6C,KAAA,EAAO;UACLV,QAAA,EAAU;UACVkB,MAAA,EAAQ;UACRC,aAAA,EAAe;UACfC,QAAA,EAAU;UACVC,UAAA,EAAY;UACZC,cAAA,EAAgB;QAClB;MACF;IACF;IAEAT,eAAA,EAAiB;MACfhD,QAAA,EAAUiD,OAAA,CAAQC,GAAA,CAAIC,kBAAA,KAAuB;IAC/C;EACF,CAAC;EAEKO,SAAA,GAAY;IAChBzB,GAAA,EAAK;IACL0B,KAAA,EAAO;IACPC,MAAA,EAAQ;IACR1B,IAAA,EAAM;EACR;EAIa2B,WAAA,GAAc7N,KAAA,CAAMyK,UAAA,CAC/B,UAAqBqD,OAAA,EAAStF,YAAA,EAAc;IAC1C,MAAM;QAAE5H,KAAA;QAAO8J,eAAA;QAAiB2B,UAAA;QAAY,GAAG3D;MAAK,IAAIoF,OAAA;MAClD;QAAExO,MAAA;QAAQI,IAAA,EAAMqO,QAAA;QAAUC,WAAA,GAAc;QAAG,GAAGC;MAAW,IAAIvF,IAAA;MAE7D5H,OAAA,GAAUT,gBAAA,CAAiBO,KAAK;MAGhCsN,OAAA,GACJ,OAAOH,QAAA,IAAa,WAChBA,QAAA,GACAhP,gBAAA,CACEc,QAAA,CAASkO,QAAA,IAAYjN,OAAA,CAAQpB,IAAA,EAAM;QACjCD,KAAA,EAAO;QACP0O,MAAA,EAAQ,CAAC,CAAC;MACZ,CAAC,CACH;MAEAzO,IAAA,GAAO0O,IAAA,CAAKC,GAAA,CAAI,GAAG,CAACH,OAAO;MAE3B;QAAE9L;MAAU,IAAItB,OAAA;MAChBM,IAAA,GAAO5C,eAAA,CAAgBsC,OAAA,CAAQkH,QAAA,EAAUQ,YAAY;MAIrD/E,CAAA,GAAK3C,OAAA,CAAQmH,UAAA,EAAYxE,CAAA,IAAgB;MACzCE,CAAA,GAAK7C,OAAA,CAAQmH,UAAA,EAAYtE,CAAA,IAAgB;MAIzC2K,eAAA,GAAkBxN,OAAA,CAAQmH,UAAA,IAAc;MAExCsG,gBAAA,GAAoBnM,SAAA,GAAYA,SAAA,CAAUG,KAAA,CAAM,GAAG,EAAE,CAAC,IAAI;MAE1D0F,UAAA,GAAwB;QAAExE,CAAA;QAAGE,CAAA;QAAGG,KAAA,EAAOpE,IAAA;QAAMmE,MAAA,EAAQnE;MAAK;MAE1D8O,eAAA,GAA6B,CAAC;MAC9BC,UAAA,GAAaF,gBAAA,KAAqB,YAAYA,gBAAA,KAAqB;IAEzE,IAAIA,gBAAA,EAAkB;MAEpBtG,UAAA,CAAWwG,UAAA,GAAa,UAAU,QAAQ,IAAI/O,IAAA,GAAO;MACrD,MAAMgP,OAAA,GAAUhB,SAAA,CAAUa,gBAAgB;MACtCG,OAAA,KACFzG,UAAA,CAAWyG,OAAO,IAAI,CAAChP,IAAA,EACvB8O,eAAA,CAAgBE,OAAO,IAAIhP,IAAA,GAAO,KAEhCgP,OAAA,KAAY,SAASA,OAAA,KAAY,cACnCzG,UAAA,CAAWiE,IAAA,GAAO,KAEhBwC,OAAA,KAAY,UAAUA,OAAA,KAAY,aACpCzG,UAAA,CAAWgE,GAAA,GAAM,IAInBvN,yBAAA,CAA0B,MAAM;QAC9BoC,OAAA,CAAQoH,WAAA,GAAcxI,IAAI;MAC5B,GAAG,CAACA,IAAA,EAAMoB,OAAA,CAAQoH,WAAW,CAAC;IAChC;IAGA,OACE,eAAAjI,GAAA,CAACmN,qBAAA;MACCzE,GAAA,EAAKvH,IAAA;MACJ,GAAG6G,UAAA;MACH,IAAI,CAACqG,eAAA,IAAmB;QAAElC,OAAA,EAAS;MAAE;MACrC,IAAI1B,eAAA,IAAmB;QACtB2B,UAAA;QACAC,WAAA,EAAa,CAAC,WAAW;QACzBC,eAAA,EAAiB;MACnB;MAEA1L,QAAA,iBAAAZ,GAAA,CAAC2M,gBAAA;QACC9I,KAAA,EAAOpE,IAAA;QACPmE,MAAA,EAAQnE,IAAA;QACP,GAAGuO,UAAA;QACH,GAAGO,eAAA;QACJG,MAAA,EAAO;QACN,IAAIJ,gBAAA,KAAqB,YAAY;UACpCK,eAAA,EAAiBZ,WAAA;UACjBa,cAAA,EAAgBb;QAClB;QACC,IAAIO,gBAAA,KAAqB,SAAS;UACjCO,iBAAA,EAAmBd,WAAA;UACnBe,gBAAA,EAAkBf;QACpB;QACC,IAAIO,gBAAA,KAAqB,WAAW;UACnCK,eAAA,EAAiBZ,WAAA;UACjBc,iBAAA,EAAmBd;QACrB;QACC,IAAIO,gBAAA,KAAqB,UAAU;UAClCM,cAAA,EAAgBb,WAAA;UAChBe,gBAAA,EAAkBf;QACpB;MAAA,CACF;IAAA,CACF;EAEJ,CACF","ignoreList":[]}