@tamagui/popper 2.0.0-rc.9 → 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.
@@ -1,438 +0,0 @@
1
- import { useComposedRefs } from "@tamagui/compose-refs";
2
- import { isWeb, useIsomorphicLayoutEffect } from "@tamagui/constants";
3
- import {
4
- LayoutMeasurementController,
5
- View as TamaguiView,
6
- createStyledContext,
7
- getVariableValue,
8
- styled,
9
- useProps
10
- } from "@tamagui/core";
11
- import {
12
- arrow,
13
- autoUpdate,
14
- flip,
15
- offset as offsetFn,
16
- platform,
17
- shift,
18
- size as sizeMiddleware,
19
- useFloating
20
- } from "@tamagui/floating";
21
- import { getSpace } from "@tamagui/get-token";
22
- import { YStack } from "@tamagui/stacks";
23
- import { startTransition } from "@tamagui/start-transition";
24
- import * as React from "react";
25
-
26
- import { jsx } from "react/jsx-runtime";
27
- const PopperContextFast = createStyledContext(
28
- // since we always provide this we can avoid setting here
29
- {},
30
- "Popper__"
31
- ), PopperPositionContext = createStyledContext, { useStyledContext: usePopperContext, Provider: PopperProviderFast } = PopperContextFast, PopperContextSlow = createStyledContext(
32
- // since we always provide this we can avoid setting here
33
- {},
34
- "PopperSlow__"
35
- ), { useStyledContext: usePopperContextSlow, Provider: PopperProviderSlow } = PopperContextSlow, PopperProvider = ({
36
- scope,
37
- children,
38
- ...context
39
- }) => {
40
- const slowContext = getContextSlow(context);
41
- return /* @__PURE__ */ jsx(PopperProviderFast, { scope, ...context, children: /* @__PURE__ */ jsx(PopperProviderSlow, { scope, ...slowContext, children }) });
42
- };
43
- function getContextSlow(context) {
44
- return {
45
- refs: context.refs,
46
- size: context.size,
47
- arrowRef: context.arrowRef,
48
- arrowStyle: context.arrowStyle,
49
- onArrowSize: context.onArrowSize,
50
- hasFloating: context.hasFloating,
51
- strategy: context.strategy,
52
- update: context.update,
53
- context: context.context,
54
- getFloatingProps: context.getFloatingProps,
55
- getReferenceProps: context.getReferenceProps,
56
- open: context.open
57
- };
58
- }
59
- const checkFloating = void 0, setupOptions = {};
60
- function setupPopper(options) {
61
- Object.assign(setupOptions, options);
62
- }
63
- function getSideAndAlignFromPlacement(placement) {
64
- const [side, align = "center"] = placement.split("-");
65
- return [side, align];
66
- }
67
- const transformOriginMiddleware = (options) => ({
68
- name: "transformOrigin",
69
- options,
70
- fn(data) {
71
- const { placement, rects, middlewareData } = data, isArrowHidden = middlewareData.arrow?.centerOffset !== 0, arrowWidth = isArrowHidden ? 0 : options.arrowWidth, arrowHeight = isArrowHidden ? 0 : options.arrowHeight, [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement), noArrowAlign = { start: "0%", center: "50%", end: "100%" }[placedAlign], arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2, arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;
72
- let x = "", y = "";
73
- 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`), { data: { x, y } };
74
- }
75
- });
76
- function Popper(props) {
77
- const {
78
- children,
79
- size,
80
- strategy = "absolute",
81
- placement = "bottom",
82
- stayInFrame,
83
- allowFlip,
84
- offset,
85
- disableRTL,
86
- resize,
87
- passThrough,
88
- open,
89
- scope
90
- } = props, [arrowEl, setArrow] = React.useState(null), [arrowSize, setArrowSize] = React.useState(0), offsetOptions = offset ?? arrowSize, floatingStyle = React.useRef({}), isOpen = passThrough ? !1 : open || !0;
91
- let floating = useFloating({
92
- open: isOpen,
93
- strategy,
94
- placement,
95
- sameScrollView: !1,
96
- // this only takes effect on native
97
- whileElementsMounted: isOpen ? autoUpdate : void 0,
98
- platform: disableRTL ?? setupOptions.disableRTL ? {
99
- ...platform,
100
- isRTL(element) {
101
- return !1;
102
- }
103
- } : platform,
104
- middleware: [
105
- stayInFrame ? shift(typeof stayInFrame == "boolean" ? {} : stayInFrame) : null,
106
- allowFlip ? flip(typeof allowFlip == "boolean" ? {} : allowFlip) : null,
107
- arrowEl ? arrow({ element: arrowEl }) : null,
108
- typeof offsetOptions < "u" ? offsetFn(offsetOptions) : null,
109
- checkFloating,
110
- resize ? sizeMiddleware({
111
- apply({ availableHeight, availableWidth }) {
112
- if (passThrough)
113
- return;
114
- Object.assign(floatingStyle.current, {
115
- maxHeight: `${availableHeight}px`,
116
- maxWidth: `${availableWidth}px`
117
- });
118
- const floatingChild = floating.refs.floating.current?.firstChild;
119
- floatingChild && floatingChild instanceof HTMLElement && Object.assign(floatingChild.style, floatingStyle.current);
120
- },
121
- ...typeof resize == "object" && resize
122
- }) : null,
123
- sizeMiddleware({
124
- apply({ elements, rects, availableWidth, availableHeight }) {
125
- const { width: anchorWidth, height: anchorHeight } = rects.reference, contentStyle = elements.floating.style;
126
- contentStyle.setProperty(
127
- "--tamagui-popper-available-width",
128
- `${availableWidth}px`
129
- ), contentStyle.setProperty(
130
- "--tamagui-popper-available-height",
131
- `${availableHeight}px`
132
- ), contentStyle.setProperty(
133
- "--tamagui-popper-anchor-width",
134
- `${anchorWidth}px`
135
- ), contentStyle.setProperty(
136
- "--tamagui-popper-anchor-height",
137
- `${anchorHeight}px`
138
- );
139
- }
140
- }),
141
- transformOriginMiddleware({
142
- arrowHeight: arrowSize,
143
- arrowWidth: arrowSize
144
- })
145
- ].filter(Boolean)
146
- });
147
- floating = React.useMemo(() => {
148
- const og = floating.getFloatingProps;
149
- return resize && og && (floating.getFloatingProps = (props2) => og({
150
- ...props2,
151
- style: {
152
- ...props2.style,
153
- ...floatingStyle.current
154
- }
155
- })), floating;
156
- }, [floating, resize ? JSON.stringify(resize) : null]);
157
- const { middlewareData } = floating, popperContext = React.useMemo(() => ({
158
- size,
159
- arrowRef: setArrow,
160
- arrowStyle: middlewareData.arrow,
161
- onArrowSize: setArrowSize,
162
- hasFloating: middlewareData.checkFloating?.hasFloating,
163
- transformOrigin: middlewareData.transformOrigin,
164
- open: !!open,
165
- ...floating
166
- }), [
167
- open,
168
- size,
169
- floating.x,
170
- floating.y,
171
- floating.placement,
172
- JSON.stringify(middlewareData.arrow || null),
173
- JSON.stringify(middlewareData.transformOrigin || null),
174
- floating.isPositioned
175
- ]);
176
- return /* @__PURE__ */ jsx(LayoutMeasurementController, { disable: !isOpen, children: /* @__PURE__ */ jsx(PopperProvider, { scope, ...popperContext, children }) });
177
- }
178
- const PopperAnchor = YStack.styleable(
179
- function(props, forwardedRef) {
180
- const { virtualRef, scope, ...rest } = props, context = usePopperContextSlow(scope), { getReferenceProps, refs, update } = context, ref = React.useRef(null);
181
- React.useEffect(() => {
182
- virtualRef && refs.setReference(virtualRef.current);
183
- }, [virtualRef]);
184
- const refProps = getReferenceProps?.({
185
- ...rest,
186
- ref
187
- }) || null, safeSetReference = React.useCallback(
188
- (node) => {
189
- startTransition(() => {
190
- refs.setReference(node);
191
- });
192
- },
193
- [refs.setReference]
194
- ), shouldHandleInHover = isWeb && scope, composedRefs = useComposedRefs(
195
- forwardedRef,
196
- ref,
197
- // web handles this onMouseEnter below so it can support multiple targets + hovering
198
- shouldHandleInHover ? void 0 : safeSetReference
199
- );
200
- return /* @__PURE__ */ jsx(
201
- TamaguiView,
202
- {
203
- ...rest,
204
- ...refProps,
205
- ref: composedRefs,
206
- ...shouldHandleInHover && {
207
- // this helps us with handling scoped poppers with many different targets
208
- // basically we wait for mouseEnter to ever set a reference and remove it on leave
209
- // otherwise floating ui gets confused by having >1 reference
210
- onMouseEnter: (e) => {
211
- if (ref.current instanceof HTMLElement) {
212
- if (refs.setReference(ref.current), !refProps)
213
- return;
214
- refProps.onPointerEnter?.(e), update();
215
- }
216
- },
217
- onMouseLeave: (e) => {
218
- refProps?.onMouseLeave?.(e);
219
- }
220
- }
221
- }
222
- );
223
- }
224
- ), PopperContentFrame = styled(YStack, {
225
- name: "PopperContent",
226
- variants: {
227
- unstyled: {
228
- false: {
229
- size: "$true",
230
- backgroundColor: "$background",
231
- alignItems: "center"
232
- }
233
- },
234
- size: {
235
- "...size": (val, { tokens }) => ({
236
- padding: tokens.space[val],
237
- borderRadius: tokens.radius[val]
238
- })
239
- }
240
- },
241
- defaultVariants: {
242
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
243
- }
244
- }), PopperContent = React.forwardRef(
245
- function(props, forwardedRef) {
246
- const {
247
- scope,
248
- animatePosition,
249
- enableAnimationForPositionChange,
250
- children,
251
- passThrough,
252
- ...rest
253
- } = props, animatePos = animatePosition ?? enableAnimationForPositionChange, context = usePopperContext(scope), {
254
- strategy,
255
- placement,
256
- refs,
257
- x,
258
- y,
259
- getFloatingProps,
260
- size,
261
- isPositioned,
262
- transformOrigin
263
- } = context, safeSetFloating = React.useCallback(
264
- (node) => {
265
- startTransition(() => {
266
- refs.setFloating(node);
267
- });
268
- },
269
- [refs.setFloating]
270
- ), contentRefs = useComposedRefs(safeSetFloating, forwardedRef), [needsMeasure, setNeedsMeasure] = React.useState(animatePos);
271
- useIsomorphicLayoutEffect(() => {
272
- needsMeasure && x && y && setNeedsMeasure(!1);
273
- }, [needsMeasure, animatePos, x, y]);
274
- const hide = x === 0 && y === 0, disableAnimationProp = (
275
- // if they want to animate also when re-positioning allow it
276
- animatePos === "even-when-repositioning" ? needsMeasure : !isPositioned || needsMeasure
277
- ), [disableAnimation, setDisableAnimation] = React.useState(disableAnimationProp);
278
- React.useEffect(() => {
279
- setDisableAnimation(disableAnimationProp);
280
- }, [disableAnimationProp]);
281
- const frameProps = {
282
- ref: contentRefs,
283
- ...hide ? {} : { x: x || 0, y: y || 0 },
284
- top: 0,
285
- left: 0,
286
- position: strategy,
287
- opacity: 1,
288
- ...animatePos && {
289
- transition: rest.transition,
290
- animateOnly: disableAnimation ? [] : rest.animateOnly,
291
- // apply animation but disable it on initial render to avoid animating from 0 to the first position
292
- animatePresence: !1
293
- },
294
- ...hide && {
295
- opacity: 0,
296
- animateOnly: []
297
- }
298
- }, { style, ...floatingProps } = getFloatingProps ? getFloatingProps(frameProps) : frameProps, transformOriginStyle = isWeb && transformOrigin ? { transformOrigin: `${transformOrigin.x} ${transformOrigin.y}` } : void 0;
299
- return /* @__PURE__ */ jsx(
300
- TamaguiView,
301
- {
302
- passThrough,
303
- ref: contentRefs,
304
- contain: "layout style",
305
- ...passThrough ? null : floatingProps,
306
- ...!passThrough && animatePos && {
307
- // marker for animation driver to know this is a popper element
308
- // that needs special handling for position animation interruption
309
- "data-popper-animate-position": "true"
310
- },
311
- children: /* @__PURE__ */ jsx(
312
- PopperContentFrame,
313
- {
314
- passThrough,
315
- ...!passThrough && {
316
- "data-placement": placement,
317
- "data-strategy": strategy,
318
- size,
319
- ...style,
320
- ...transformOriginStyle,
321
- ...rest
322
- },
323
- children
324
- },
325
- "popper-content-frame"
326
- )
327
- }
328
- );
329
- }
330
- ), PopperArrowFrame = styled(YStack, {
331
- name: "PopperArrow",
332
- variants: {
333
- unstyled: {
334
- false: {
335
- borderColor: "$borderColor",
336
- backgroundColor: "$background",
337
- position: "relative"
338
- }
339
- }
340
- },
341
- defaultVariants: {
342
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
343
- }
344
- }), PopperArrowOuterFrame = styled(YStack, {
345
- name: "PopperArrowOuter",
346
- variants: {
347
- unstyled: {
348
- false: {
349
- position: "absolute",
350
- zIndex: 1e6,
351
- pointerEvents: "none",
352
- overflow: "hidden",
353
- alignItems: "center",
354
- justifyContent: "center"
355
- }
356
- }
357
- },
358
- defaultVariants: {
359
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
360
- }
361
- }), opposites = {
362
- top: "bottom",
363
- right: "left",
364
- bottom: "top",
365
- left: "right"
366
- }, PopperArrow = React.forwardRef(
367
- function(propsIn, forwardedRef) {
368
- const { scope, animatePosition, transition, ...rest } = propsIn, props = useProps(rest), { offset, size: sizeProp, borderWidth = 0, ...arrowProps } = props, context = usePopperContext(scope), sizeVal = typeof sizeProp == "number" ? sizeProp : getVariableValue(
369
- getSpace(sizeProp ?? context.size, {
370
- shift: -2,
371
- bounds: [2]
372
- })
373
- ), size = Math.max(0, +sizeVal), { placement } = context, refs = useComposedRefs(context.arrowRef, forwardedRef), x = context.arrowStyle?.x || 0, y = context.arrowStyle?.y || 0, primaryPlacement = placement ? placement.split("-")[0] : "top", arrowStyle = { x, y, width: size, height: size }, innerArrowStyle = {}, isVertical = primaryPlacement === "bottom" || primaryPlacement === "top";
374
- if (primaryPlacement) {
375
- arrowStyle[isVertical ? "width" : "height"] = size * 2;
376
- const oppSide = opposites[primaryPlacement];
377
- oppSide && (arrowStyle[oppSide] = -size, innerArrowStyle[oppSide] = size / 2), (oppSide === "top" || oppSide === "bottom") && (arrowStyle.left = 0), (oppSide === "left" || oppSide === "right") && (arrowStyle.top = 0), useIsomorphicLayoutEffect(() => {
378
- context.onArrowSize?.(size);
379
- }, [size, context.onArrowSize]);
380
- }
381
- return /* @__PURE__ */ jsx(
382
- PopperArrowOuterFrame,
383
- {
384
- ref: refs,
385
- ...arrowStyle,
386
- ...animatePosition && {
387
- transition,
388
- animateOnly: ["transform"],
389
- animatePresence: !1
390
- },
391
- children: /* @__PURE__ */ jsx(
392
- PopperArrowFrame,
393
- {
394
- width: size,
395
- height: size,
396
- ...arrowProps,
397
- ...innerArrowStyle,
398
- rotate: "45deg",
399
- ...primaryPlacement === "bottom" && {
400
- borderLeftWidth: borderWidth,
401
- borderTopWidth: borderWidth
402
- },
403
- ...primaryPlacement === "top" && {
404
- borderBottomWidth: borderWidth,
405
- borderRightWidth: borderWidth
406
- },
407
- ...primaryPlacement === "right" && {
408
- borderLeftWidth: borderWidth,
409
- borderBottomWidth: borderWidth
410
- },
411
- ...primaryPlacement === "left" && {
412
- borderTopWidth: borderWidth,
413
- borderRightWidth: borderWidth
414
- }
415
- }
416
- )
417
- }
418
- );
419
- }
420
- );
421
- export {
422
- Popper,
423
- PopperAnchor,
424
- PopperArrow,
425
- PopperArrowFrame,
426
- PopperContent,
427
- PopperContentFrame,
428
- PopperContextFast,
429
- PopperContextSlow,
430
- PopperPositionContext,
431
- PopperProvider,
432
- PopperProviderFast,
433
- PopperProviderSlow,
434
- setupPopper,
435
- usePopperContext,
436
- usePopperContextSlow
437
- };
438
- //# sourceMappingURL=Popper.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/Popper.tsx"],
4
- "mappings": "AACA,SAAS,uBAAuB;AAChC,SAAS,OAAO,iCAAiC;AAEjD;AAAA,EACE;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAWP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,OACK;AACP,SAAS,gBAAgB;AAEzB,SAAS,cAAc;AACvB,SAAS,uBAAuB;AAChC,YAAY,WAAW;AACvB,OAAyD;AA4DnD;AApCC,MAAM,oBAAoB;AAAA;AAAA,EAE/B,CAAC;AAAA,EACD;AACF,GAEa,wBAAwB,qBAExB,EAAE,kBAAkB,kBAAkB,UAAU,mBAAmB,IAC9E,mBAQW,oBAAoB;AAAA;AAAA,EAE/B,CAAC;AAAA,EACD;AACF,GAEa,EAAE,kBAAkB,sBAAsB,UAAU,mBAAmB,IAClF,mBAGW,iBAAiB,CAAC;AAAA,EAC7B;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAA2E;AACzE,QAAM,cAAc,eAAe,OAAO;AAE1C,SACE,oBAAC,sBAAmB,OAAe,GAAG,SACpC,8BAAC,sBAAmB,OAAe,GAAG,aACnC,UACH,GACF;AAEJ;AAGA,SAAS,eAAe,SAAqD;AAC3E,SAAO;AAAA,IACL,MAAM,QAAQ;AAAA,IACd,MAAM,QAAQ;AAAA,IACd,UAAU,QAAQ;AAAA,IAClB,YAAY,QAAQ;AAAA,IACpB,aAAa,QAAQ;AAAA,IACrB,aAAa,QAAQ;AAAA,IACrB,UAAU,QAAQ;AAAA,IAClB,QAAQ,QAAQ;AAAA,IAChB,SAAS,QAAQ;AAAA,IACjB,kBAAkB,QAAQ;AAAA,IAC1B,mBAAmB,QAAQ;AAAA,IAC3B,MAAM,QAAQ;AAAA,EAChB;AACF;AAwDA,MAAM,gBAYA,QAMA,eAAmC,CAAC;AAEnC,SAAS,YAAY,SAA8B;AACxD,SAAO,OAAO,cAAc,OAAO;AACrC;AAIA,SAAS,6BAA6B,WAAsB;AAC1D,QAAM,CAAC,MAAM,QAAQ,QAAQ,IAAI,UAAU,MAAM,GAAG;AACpD,SAAO,CAAC,MAAc,KAAmC;AAC3D;AAEA,MAAM,4BAA4B,CAAC,aAGhB;AAAA,EACjB,MAAM;AAAA,EACN;AAAA,EACA,GAAG,MAAM;AACP,UAAM,EAAE,WAAW,OAAO,eAAe,IAAI,MAGvC,gBADoB,eAAe,OAAO,iBAAiB,GAE3D,aAAa,gBAAgB,IAAI,QAAQ,YACzC,cAAc,gBAAgB,IAAI,QAAQ,aAE1C,CAAC,YAAY,WAAW,IAAI,6BAA6B,SAAS,GAClE,eAAe,EAAE,OAAO,MAAM,QAAQ,OAAO,KAAK,OAAO,EAAE,WAAW,GAEtE,gBAAgB,eAAe,OAAO,KAAK,KAAK,aAAa,GAC7D,gBAAgB,eAAe,OAAO,KAAK,KAAK,cAAc;AAEpE,QAAI,IAAI,IACJ,IAAI;AAER,WAAI,eAAe,YACjB,IAAI,gBAAgB,eAAe,GAAG,YAAY,MAClD,IAAI,GAAG,CAAC,WAAW,QACV,eAAe,SACxB,IAAI,gBAAgB,eAAe,GAAG,YAAY,MAClD,IAAI,GAAG,MAAM,SAAS,SAAS,WAAW,QACjC,eAAe,WACxB,IAAI,GAAG,CAAC,WAAW,MACnB,IAAI,gBAAgB,eAAe,GAAG,YAAY,QACzC,eAAe,WACxB,IAAI,GAAG,MAAM,SAAS,QAAQ,WAAW,MACzC,IAAI,gBAAgB,eAAe,GAAG,YAAY,OAG7C,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;AAAA,EAC1B;AACF;AAEO,SAAS,OAAO,OAAoB;AACzC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI,OAEE,CAAC,SAAS,QAAQ,IAAI,MAAM,SAAc,IAAI,GAC9C,CAAC,WAAW,YAAY,IAAI,MAAM,SAAS,CAAC,GAC5C,gBAAgB,UAAU,WAC1B,gBAAgB,MAAM,OAAO,CAAC,CAAC,GAC/B,SAAS,cAAc,KAAQ,QAAQ;AAE7C,MAAI,WAAW,YAAY;AAAA,IACzB,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA;AAAA,IAChB,sBAAuB,SAAqB,aAAZ;AAAA,IAChC,UACG,cAAc,aAAa,aACxB;AAAA,MACE,GAAG;AAAA,MACH,MAAM,SAAS;AACb,eAAO;AAAA,MACT;AAAA,IACF,IACA;AAAA,IACN,YAAY;AAAA,MACV,cACI,MAAM,OAAO,eAAgB,YAAY,CAAC,IAAI,WAAW,IACxD;AAAA,MACL,YAAY,KAAK,OAAO,aAAc,YAAY,CAAC,IAAI,SAAS,IAAK;AAAA,MACrE,UAAU,MAAM,EAAE,SAAS,QAAQ,CAAC,IAAK;AAAA,MACzC,OAAO,gBAAkB,MAAc,SAAS,aAAa,IAAK;AAAA,MAClE;AAAA,MAC2C,SACvC,eAAe;AAAA,QACb,MAAM,EAAE,iBAAiB,eAAe,GAAG;AACzC,cAAI;AACF;AAGF,iBAAO,OAAO,cAAc,SAAS;AAAA,YACnC,WAAW,GAAG,eAAe;AAAA,YAC7B,UAAU,GAAG,cAAc;AAAA,UAC7B,CAAC;AAED,gBAAM,gBAAgB,SAAS,KAAK,SAAS,SAAS;AACtD,UAAI,iBAAiB,yBAAyB,eAC5C,OAAO,OAAO,cAAc,OAAO,cAAc,OAAO;AAAA,QAE5D;AAAA,QACA,GAAI,OAAO,UAAW,YAAY;AAAA,MACpC,CAAC,IACA;AAAA,MAGD,eAAe;AAAA,QACb,MAAM,EAAE,UAAU,OAAO,gBAAgB,gBAAgB,GAAG;AAC1D,gBAAM,EAAE,OAAO,aAAa,QAAQ,aAAa,IAAI,MAAM,WACrD,eAAe,SAAS,SAAS;AACvC,uBAAa;AAAA,YACX;AAAA,YACA,GAAG,cAAc;AAAA,UACnB,GACA,aAAa;AAAA,YACX;AAAA,YACA,GAAG,eAAe;AAAA,UACpB,GACA,aAAa;AAAA,YACX;AAAA,YACA,GAAG,WAAW;AAAA,UAChB,GACA,aAAa;AAAA,YACX;AAAA,YACA,GAAG,YAAY;AAAA,UACjB;AAAA,QACF;AAAA,MACF,CAAC;AAAA,MAID,0BAA0B;AAAA,QACxB,aAAa;AAAA,QACb,YAAY;AAAA,MACd,CAAC;AAAA,IAEP,EAAE,OAAO,OAAO;AAAA,EAClB,CAAC;AAIC,aAAW,MAAM,QAAQ,MAAM;AAC7B,UAAM,KAAK,SAAS;AACpB,WAAI,UAAU,OACZ,SAAS,mBAAmB,CAACA,WACpB,GAAG;AAAA,MACR,GAAGA;AAAA,MACH,OAAO;AAAA,QACL,GAAGA,OAAM;AAAA,QACT,GAAG,cAAc;AAAA,MACnB;AAAA,IACF,CAAC,IAGE;AAAA,EACT,GAAG,CAAC,UAAU,SAAS,KAAK,UAAU,MAAM,IAAI,IAAI,CAAC;AAGvD,QAAM,EAAE,eAAe,IAAI,UAoCrB,gBAAgB,MAAM,QAAQ,OAC3B;AAAA,IACL;AAAA,IACA,UAAU;AAAA,IACV,YAAY,eAAe;AAAA,IAC3B,aAAa;AAAA,IACb,aAAa,eAAe,eAAe;AAAA,IAC3C,iBAAiB,eAAe;AAAA,IAGhC,MAAM,CAAC,CAAC;AAAA,IACR,GAAG;AAAA,EACL,IACC;AAAA,IACD;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT,SAAS;AAAA,IACT,SAAS;AAAA,IACT,KAAK,UAAU,eAAe,SAAS,IAAI;AAAA,IAC3C,KAAK,UAAU,eAAe,mBAAmB,IAAI;AAAA,IACrD,SAAS;AAAA,EACX,CAAC;AAED,SACE,oBAAC,+BAA4B,SAAS,CAAC,QACrC,8BAAC,kBAAe,OAAe,GAAG,eAC/B,UACH,GACF;AAEJ;AAcO,MAAM,eAAe,OAAO;AAAA,EACjC,SAAsB,OAAO,cAAc;AACzC,UAAM,EAAE,YAAY,OAAO,GAAG,KAAK,IAAI,OACjC,UAAU,qBAAqB,KAAK,GACpC,EAAE,mBAAmB,MAAM,OAAO,IAAI,SACtC,MAAM,MAAM,OAAwB,IAAI;AAE9C,UAAM,UAAU,MAAM;AACpB,MAAI,cACF,KAAK,aAAa,WAAW,OAAO;AAAA,IAExC,GAAG,CAAC,UAAU,CAAC;AAEf,UAAM,WACJ,oBAAoB;AAAA,MAClB,GAAG;AAAA,MACH;AAAA,IACF,CAAC,KAAK,MAGF,mBAAmB,MAAM;AAAA,MAC7B,CAAC,SAAc;AACb,wBAAgB,MAAM;AACpB,eAAK,aAAa,IAAI;AAAA,QACxB,CAAC;AAAA,MACH;AAAA,MACA,CAAC,KAAK,YAAY;AAAA,IACpB,GAEM,sBAAsB,SAAS,OAC/B,eAAe;AAAA,MACnB;AAAA,MACA;AAAA;AAAA,MAEA,sBAAsB,SAAY;AAAA,IACpC;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACH,GAAG;AAAA,QACJ,KAAK;AAAA,QACJ,GAAI,uBAAuB;AAAA;AAAA;AAAA;AAAA,UAI1B,cAAc,CAAC,MAAM;AACnB,gBAAI,IAAI,mBAAmB,aAAa;AAGtC,kBAFA,KAAK,aAAa,IAAI,OAAO,GAEzB,CAAC;AACH;AAGF,uBAAS,iBAAiB,CAAC,GAC3B,OAAO;AAAA,YACT;AAAA,UACF;AAAA,UACA,cAAc,CAAC,MAAM;AACnB,sBAAU,eAAe,CAAC;AAAA,UAC5B;AAAA,QACF;AAAA;AAAA,IACF;AAAA,EAEJ;AACF,GAmBa,qBAAqB,OAAO,QAAQ;AAAA,EAC/C,MAAM;AAAA,EAEN,UAAU;AAAA,IACR,UAAU;AAAA,MACR,OAAO;AAAA,QACL,MAAM;AAAA,QACN,iBAAiB;AAAA,QACjB,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IAEA,MAAM;AAAA,MACJ,WAAW,CAAC,KAAK,EAAE,OAAO,OACjB;AAAA,QACL,SAAS,OAAO,MAAM,GAAG;AAAA,QACzB,cAAc,OAAO,OAAO,GAAG;AAAA,MACjC;AAAA,IAEJ;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU,QAAQ,IAAI,qBAAqB;AAAA,EAC7C;AACF,CAAC,GAEY,gBAAgB,MAAM;AAAA,EACjC,SAAuB,OAAO,cAAc;AAC1C,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,IAAI,OACE,aAAa,mBAAmB,kCAChC,UAAU,iBAAiB,KAAK,GAEhC;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI,SAIE,kBAAkB,MAAM;AAAA,MAC5B,CAAC,SAAc;AACb,wBAAgB,MAAM;AACpB,eAAK,YAAY,IAAI;AAAA,QACvB,CAAC;AAAA,MACH;AAAA,MACA,CAAC,KAAK,WAAW;AAAA,IACnB,GAEM,cAAc,gBAAqB,iBAAiB,YAAY,GAEhE,CAAC,cAAc,eAAe,IAAI,MAAM,SAAS,UAAU;AAEjE,8BAA0B,MAAM;AAC9B,MAAI,gBAAgB,KAAK,KACvB,gBAAgB,EAAK;AAAA,IAEzB,GAAG,CAAC,cAAc,YAAY,GAAG,CAAC,CAAC;AAGnC,UAAM,OAAO,MAAM,KAAK,MAAM,GAExB;AAAA;AAAA,MAEJ,eAAe,4BACX,eACA,CAAC,gBAAgB;AAAA,OAEjB,CAAC,kBAAkB,mBAAmB,IAAI,MAAM,SAAS,oBAAoB;AAGnF,UAAM,UAAU,MAAM;AACpB,0BAAoB,oBAAoB;AAAA,IAC1C,GAAG,CAAC,oBAAoB,CAAC;AASzB,UAAM,aAAa;AAAA,MACjB,KAAK;AAAA,MACL,GANoB,OAClB,CAAC,IACD,EAAE,GAAG,KAAK,GAAG,GAAG,KAAK,EAAE;AAAA,MAKzB,KAAK;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,MACV,SAAS;AAAA,MACT,GAAI,cAAc;AAAA,QAChB,YAAY,KAAK;AAAA,QACjB,aAAa,mBAAmB,CAAC,IAAI,KAAK;AAAA;AAAA,QAE1C,iBAAiB;AAAA,MACnB;AAAA,MACA,GAAI,QAAQ;AAAA,QACV,SAAS;AAAA,QACT,aAAa,CAAC;AAAA,MAChB;AAAA,IACF,GAIM,EAAE,OAAO,GAAG,cAAc,IAAI,mBAChC,iBAAiB,UAAU,IAC3B,YAGE,uBACJ,SAAS,kBACL,EAAE,iBAAiB,GAAG,gBAAgB,CAAC,IAAI,gBAAgB,CAAC,GAAG,IAC/D;AAEN,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,KAAK;AAAA,QACL,SAAQ;AAAA,QACP,GAAI,cAAc,OAAO;AAAA,QACzB,GAAI,CAAC,eACJ,cAAc;AAAA;AAAA;AAAA,UAGZ,gCAAgC;AAAA,QAClC;AAAA,QAEF;AAAA,UAAC;AAAA;AAAA,YAEC;AAAA,YACC,GAAI,CAAC,eAAe;AAAA,cACnB,kBAAkB;AAAA,cAClB,iBAAiB;AAAA,cACjB;AAAA,cACA,GAAG;AAAA,cACH,GAAG;AAAA,cACH,GAAG;AAAA,YACL;AAAA,YAEC;AAAA;AAAA,UAXG;AAAA,QAYN;AAAA;AAAA,IACF;AAAA,EAEJ;AACF,GAkBa,mBAAmB,OAAO,QAAQ;AAAA,EAC7C,MAAM;AAAA,EAEN,UAAU;AAAA,IACR,UAAU;AAAA,MACR,OAAO;AAAA,QACL,aAAa;AAAA,QACb,iBAAiB;AAAA,QACjB,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU,QAAQ,IAAI,qBAAqB;AAAA,EAC7C;AACF,CAAC,GAEK,wBAAwB,OAAO,QAAQ;AAAA,EAC3C,MAAM;AAAA,EAEN,UAAU;AAAA,IACR,UAAU;AAAA,MACR,OAAO;AAAA,QACL,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,eAAe;AAAA,QACf,UAAU;AAAA,QACV,YAAY;AAAA,QACZ,gBAAgB;AAAA,MAClB;AAAA,IACF;AAAA,EACF;AAAA,EAEA,iBAAiB;AAAA,IACf,UAAU,QAAQ,IAAI,qBAAqB;AAAA,EAC7C;AACF,CAAC,GAEK,YAAY;AAAA,EAChB,KAAK;AAAA,EACL,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AACR,GAIa,cAAc,MAAM;AAAA,EAC/B,SAAqB,SAAS,cAAc;AAC1C,UAAM,EAAE,OAAO,iBAAiB,YAAY,GAAG,KAAK,IAAI,SAClD,QAAQ,SAAS,IAAI,GACrB,EAAE,QAAQ,MAAM,UAAU,cAAc,GAAG,GAAG,WAAW,IAAI,OAE7D,UAAU,iBAAiB,KAAK,GAChC,UACJ,OAAO,YAAa,WAChB,WACA;AAAA,MACE,SAAS,YAAY,QAAQ,MAAM;AAAA,QACjC,OAAO;AAAA,QACP,QAAQ,CAAC,CAAC;AAAA,MACZ,CAAC;AAAA,IACH,GAEA,OAAO,KAAK,IAAI,GAAG,CAAC,OAAO,GAE3B,EAAE,UAAU,IAAI,SAChB,OAAO,gBAAgB,QAAQ,UAAU,YAAY,GAIrD,IAAK,QAAQ,YAAY,KAAgB,GACzC,IAAK,QAAQ,YAAY,KAAgB,GAEzC,mBAAoB,YAAY,UAAU,MAAM,GAAG,EAAE,CAAC,IAAI,OAE1D,aAAwB,EAAE,GAAG,GAAG,OAAO,MAAM,QAAQ,KAAK,GAE1D,kBAA6B,CAAC,GAC9B,aAAa,qBAAqB,YAAY,qBAAqB;AAEzE,QAAI,kBAAkB;AAEpB,iBAAW,aAAa,UAAU,QAAQ,IAAI,OAAO;AACrD,YAAM,UAAU,UAAU,gBAAgB;AAC1C,MAAI,YACF,WAAW,OAAO,IAAI,CAAC,MACvB,gBAAgB,OAAO,IAAI,OAAO,KAEhC,YAAY,SAAS,YAAY,cACnC,WAAW,OAAO,KAEhB,YAAY,UAAU,YAAY,aACpC,WAAW,MAAM,IAInB,0BAA0B,MAAM;AAC9B,gBAAQ,cAAc,IAAI;AAAA,MAC5B,GAAG,CAAC,MAAM,QAAQ,WAAW,CAAC;AAAA,IAChC;AAGA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACJ,GAAG;AAAA,QACH,GAAI,mBAAmB;AAAA,UACtB;AAAA,UACA,aAAa,CAAC,WAAW;AAAA,UACzB,iBAAiB;AAAA,QACnB;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,YACP,QAAQ;AAAA,YACP,GAAG;AAAA,YACH,GAAG;AAAA,YACJ,QAAO;AAAA,YACN,GAAI,qBAAqB,YAAY;AAAA,cACpC,iBAAiB;AAAA,cACjB,gBAAgB;AAAA,YAClB;AAAA,YACC,GAAI,qBAAqB,SAAS;AAAA,cACjC,mBAAmB;AAAA,cACnB,kBAAkB;AAAA,YACpB;AAAA,YACC,GAAI,qBAAqB,WAAW;AAAA,cACnC,iBAAiB;AAAA,cACjB,mBAAmB;AAAA,YACrB;AAAA,YACC,GAAI,qBAAqB,UAAU;AAAA,cAClC,gBAAgB;AAAA,cAChB,kBAAkB;AAAA,YACpB;AAAA;AAAA,QACF;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;",
5
- "names": ["props"]
6
- }