@tamagui/sheet 1.108.0 → 1.108.2

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.
Files changed (115) hide show
  1. package/dist/cjs/SheetController.js +12 -4
  2. package/dist/cjs/SheetController.js.map +2 -2
  3. package/dist/cjs/SheetController.native.js +12 -4
  4. package/dist/cjs/SheetController.native.js.map +2 -2
  5. package/dist/cjs/SheetImplementationCustom.js +248 -238
  6. package/dist/cjs/SheetImplementationCustom.js.map +2 -2
  7. package/dist/cjs/SheetImplementationCustom.native.js +27 -19
  8. package/dist/cjs/SheetImplementationCustom.native.js.map +2 -2
  9. package/dist/cjs/SheetScrollView.js +14 -6
  10. package/dist/cjs/SheetScrollView.js.map +2 -2
  11. package/dist/cjs/SheetScrollView.native.js +14 -6
  12. package/dist/cjs/SheetScrollView.native.js.map +2 -2
  13. package/dist/cjs/contexts.js +13 -5
  14. package/dist/cjs/contexts.js.map +2 -2
  15. package/dist/cjs/contexts.native.js +12 -4
  16. package/dist/cjs/contexts.native.js.map +2 -2
  17. package/dist/cjs/useSheetController.js +13 -7
  18. package/dist/cjs/useSheetController.js.map +2 -2
  19. package/dist/cjs/useSheetController.native.js +13 -5
  20. package/dist/cjs/useSheetController.native.js.map +2 -2
  21. package/dist/cjs/useSheetProviderProps.js +4 -4
  22. package/dist/cjs/useSheetProviderProps.js.map +1 -1
  23. package/dist/cjs/useSheetProviderProps.native.js +5 -5
  24. package/dist/cjs/useSheetProviderProps.native.js.map +1 -1
  25. package/dist/esm/SheetController.js +2 -2
  26. package/dist/esm/SheetController.js.map +1 -1
  27. package/dist/esm/SheetController.mjs +2 -2
  28. package/dist/esm/SheetController.mjs.map +1 -1
  29. package/dist/esm/SheetController.native.js +2 -2
  30. package/dist/esm/SheetController.native.js.map +2 -2
  31. package/dist/esm/SheetImplementationCustom.js +238 -245
  32. package/dist/esm/SheetImplementationCustom.js.map +1 -1
  33. package/dist/esm/SheetImplementationCustom.mjs +22 -22
  34. package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
  35. package/dist/esm/SheetImplementationCustom.native.js +17 -17
  36. package/dist/esm/SheetImplementationCustom.native.js.map +2 -2
  37. package/dist/esm/SheetScrollView.js +4 -4
  38. package/dist/esm/SheetScrollView.js.map +1 -1
  39. package/dist/esm/SheetScrollView.mjs +5 -5
  40. package/dist/esm/SheetScrollView.mjs.map +1 -1
  41. package/dist/esm/SheetScrollView.native.js +4 -4
  42. package/dist/esm/SheetScrollView.native.js.map +2 -2
  43. package/dist/esm/contexts.js +3 -3
  44. package/dist/esm/contexts.js.map +1 -1
  45. package/dist/esm/contexts.mjs +3 -3
  46. package/dist/esm/contexts.mjs.map +1 -1
  47. package/dist/esm/contexts.native.js +3 -3
  48. package/dist/esm/contexts.native.js.map +2 -2
  49. package/dist/esm/useSheetController.js +3 -5
  50. package/dist/esm/useSheetController.js.map +1 -1
  51. package/dist/esm/useSheetController.mjs +3 -3
  52. package/dist/esm/useSheetController.mjs.map +1 -1
  53. package/dist/esm/useSheetController.native.js +3 -3
  54. package/dist/esm/useSheetController.native.js.map +2 -2
  55. package/dist/esm/useSheetProviderProps.js +4 -4
  56. package/dist/esm/useSheetProviderProps.js.map +1 -1
  57. package/dist/esm/useSheetProviderProps.mjs +6 -6
  58. package/dist/esm/useSheetProviderProps.mjs.map +1 -1
  59. package/dist/esm/useSheetProviderProps.native.js +5 -5
  60. package/dist/esm/useSheetProviderProps.native.js.map +2 -2
  61. package/dist/jsx/SheetController.js +2 -2
  62. package/dist/jsx/SheetController.js.map +1 -1
  63. package/dist/jsx/SheetController.mjs +2 -2
  64. package/dist/jsx/SheetController.mjs.map +1 -1
  65. package/dist/jsx/SheetController.native.js +2 -2
  66. package/dist/jsx/SheetController.native.js.map +2 -2
  67. package/dist/jsx/SheetImplementationCustom.js +238 -245
  68. package/dist/jsx/SheetImplementationCustom.js.map +1 -1
  69. package/dist/jsx/SheetImplementationCustom.mjs +22 -22
  70. package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
  71. package/dist/jsx/SheetImplementationCustom.native.js +17 -17
  72. package/dist/jsx/SheetImplementationCustom.native.js.map +2 -2
  73. package/dist/jsx/SheetScrollView.js +4 -4
  74. package/dist/jsx/SheetScrollView.js.map +1 -1
  75. package/dist/jsx/SheetScrollView.mjs +5 -5
  76. package/dist/jsx/SheetScrollView.mjs.map +1 -1
  77. package/dist/jsx/SheetScrollView.native.js +4 -4
  78. package/dist/jsx/SheetScrollView.native.js.map +2 -2
  79. package/dist/jsx/contexts.js +3 -3
  80. package/dist/jsx/contexts.js.map +1 -1
  81. package/dist/jsx/contexts.mjs +3 -3
  82. package/dist/jsx/contexts.mjs.map +1 -1
  83. package/dist/jsx/contexts.native.js +3 -3
  84. package/dist/jsx/contexts.native.js.map +2 -2
  85. package/dist/jsx/useSheetController.js +3 -5
  86. package/dist/jsx/useSheetController.js.map +1 -1
  87. package/dist/jsx/useSheetController.mjs +3 -3
  88. package/dist/jsx/useSheetController.mjs.map +1 -1
  89. package/dist/jsx/useSheetController.native.js +3 -3
  90. package/dist/jsx/useSheetController.native.js.map +2 -2
  91. package/dist/jsx/useSheetProviderProps.js +4 -4
  92. package/dist/jsx/useSheetProviderProps.js.map +1 -1
  93. package/dist/jsx/useSheetProviderProps.mjs +6 -6
  94. package/dist/jsx/useSheetProviderProps.mjs.map +1 -1
  95. package/dist/jsx/useSheetProviderProps.native.js +5 -5
  96. package/dist/jsx/useSheetProviderProps.native.js.map +2 -2
  97. package/package.json +16 -16
  98. package/src/SheetController.tsx +3 -2
  99. package/src/SheetImplementationCustom.tsx +426 -432
  100. package/src/SheetScrollView.tsx +9 -5
  101. package/src/contexts.ts +3 -3
  102. package/src/useSheetController.tsx +4 -5
  103. package/src/useSheetProviderProps.tsx +6 -6
  104. package/types/SheetController.d.ts +1 -1
  105. package/types/SheetController.d.ts.map +1 -1
  106. package/types/SheetImplementationCustom.d.ts +5 -4
  107. package/types/SheetImplementationCustom.d.ts.map +1 -1
  108. package/types/SheetScrollView.d.ts +3 -2
  109. package/types/SheetScrollView.d.ts.map +1 -1
  110. package/types/contexts.d.ts +3 -2
  111. package/types/contexts.d.ts.map +1 -1
  112. package/types/useSheetController.d.ts +2 -1
  113. package/types/useSheetController.d.ts.map +1 -1
  114. package/types/useSheetProviderProps.d.ts +1 -1
  115. package/types/useSheetProviderProps.d.ts.map +1 -1
@@ -1,3 +1,4 @@
1
+ import React from "react";
1
2
  import { AdaptParentContext } from "@tamagui/adapt";
2
3
  import { AnimatePresence } from "@tamagui/animate-presence";
3
4
  import { useComposedRefs } from "@tamagui/compose-refs";
@@ -13,16 +14,6 @@ import {
13
14
  } from "@tamagui/core";
14
15
  import { Portal } from "@tamagui/portal";
15
16
  import { useKeyboardVisible } from "@tamagui/use-keyboard-visible";
16
- import {
17
- forwardRef,
18
- Fragment,
19
- useCallback,
20
- useContext,
21
- useEffect,
22
- useMemo,
23
- useRef,
24
- useState
25
- } from "react";
26
17
  import { Dimensions, Keyboard, PanResponder, View } from "react-native-web";
27
18
  import { SHEET_HIDDEN_STYLESHEET } from "./constants";
28
19
  import { ParentSheetContext, SheetInsideSheetContext } from "./contexts";
@@ -33,253 +24,255 @@ import { useSheetProviderProps } from "./useSheetProviderProps";
33
24
  import { jsx, jsxs } from "react/jsx-runtime";
34
25
  let hiddenSize = 10000.1;
35
26
  const SheetImplementationCustom = themeable(
36
- forwardRef(function(props, forwardedRef) {
37
- const parentSheet = useContext(ParentSheetContext), {
38
- animation,
39
- animationConfig: animationConfigProp,
40
- modal = !1,
41
- zIndex = parentSheet.zIndex + 1,
42
- moveOnKeyboardChange = !1,
43
- unmountChildrenWhenHidden = !1,
44
- portalProps,
45
- containerComponent: ContainerComponent = Fragment
46
- } = props, keyboardIsVisible = useKeyboardVisible(), state = useSheetOpenState(props), [overlayComponent, setOverlayComponent] = useState(null), providerProps = useSheetProviderProps(props, state, {
47
- onOverlayComponent: setOverlayComponent
48
- }), {
49
- frameSize,
50
- setFrameSize,
51
- snapPoints,
52
- snapPointsMode,
53
- hasFit,
54
- position,
55
- setPosition,
56
- scrollBridge,
57
- screenSize,
58
- setMaxContentSize,
59
- maxSnapPoint
60
- } = providerProps, { open, controller, isHidden } = state, sheetRef = useRef(null), ref = useComposedRefs(forwardedRef, sheetRef), animationConfig = (() => {
61
- const [animationProp, animationPropConfig] = animation ? Array.isArray(animation) ? animation : [animation] : [];
62
- return animationConfigProp ?? (animationProp ? {
63
- ...getConfig().animations.animations[animationProp],
64
- ...animationPropConfig
65
- } : null);
66
- })(), [isShowingInnerSheet, setIsShowingInnerSheet] = useState(!1), shouldHideParentSheet = !isWeb && modal && isShowingInnerSheet, parentSheetContext = useContext(SheetInsideSheetContext), onInnerSheet = useCallback((hasChild) => {
67
- setIsShowingInnerSheet(hasChild);
68
- }, []), positions = useMemo(
69
- () => snapPoints.map(
70
- (point) => getYPositions(snapPointsMode, point, screenSize, frameSize)
71
- ),
72
- [screenSize, frameSize, snapPoints, snapPointsMode]
73
- ), { animationDriver } = useConfiguration(), { useAnimatedNumber, useAnimatedNumberStyle, useAnimatedNumberReaction } = animationDriver, AnimatedView = animationDriver.View ?? Stack;
74
- useIsomorphicLayoutEffect(() => {
75
- if (parentSheetContext && open)
76
- return parentSheetContext(!0), () => {
77
- parentSheetContext(!1);
78
- };
79
- }, [parentSheetContext, open]);
80
- const nextParentContext = useMemo(
81
- () => ({
82
- zIndex
83
- }),
84
- [zIndex]
85
- ), animatedNumber = useAnimatedNumber(hiddenSize), at = useRef(hiddenSize);
86
- useAnimatedNumberReaction(
87
- {
88
- value: animatedNumber,
89
- hostRef: sheetRef
90
- },
91
- useCallback(
92
- (value) => {
93
- at.current = value, scrollBridge.paneY = value;
27
+ React.forwardRef(
28
+ function(props, forwardedRef) {
29
+ const parentSheet = React.useContext(ParentSheetContext), {
30
+ animation,
31
+ animationConfig: animationConfigProp,
32
+ modal = !1,
33
+ zIndex = parentSheet.zIndex + 1,
34
+ moveOnKeyboardChange = !1,
35
+ unmountChildrenWhenHidden = !1,
36
+ portalProps,
37
+ containerComponent: ContainerComponent = React.Fragment
38
+ } = props, keyboardIsVisible = useKeyboardVisible(), state = useSheetOpenState(props), [overlayComponent, setOverlayComponent] = React.useState(null), providerProps = useSheetProviderProps(props, state, {
39
+ onOverlayComponent: setOverlayComponent
40
+ }), {
41
+ frameSize,
42
+ setFrameSize,
43
+ snapPoints,
44
+ snapPointsMode,
45
+ hasFit,
46
+ position,
47
+ setPosition,
48
+ scrollBridge,
49
+ screenSize,
50
+ setMaxContentSize,
51
+ maxSnapPoint
52
+ } = providerProps, { open, controller, isHidden } = state, sheetRef = React.useRef(null), ref = useComposedRefs(forwardedRef, sheetRef), animationConfig = (() => {
53
+ const [animationProp, animationPropConfig] = animation ? Array.isArray(animation) ? animation : [animation] : [];
54
+ return animationConfigProp ?? (animationProp ? {
55
+ ...getConfig().animations.animations[animationProp],
56
+ ...animationPropConfig
57
+ } : null);
58
+ })(), [isShowingInnerSheet, setIsShowingInnerSheet] = React.useState(!1), shouldHideParentSheet = !isWeb && modal && isShowingInnerSheet, parentSheetContext = React.useContext(SheetInsideSheetContext), onInnerSheet = React.useCallback((hasChild) => {
59
+ setIsShowingInnerSheet(hasChild);
60
+ }, []), positions = React.useMemo(
61
+ () => snapPoints.map(
62
+ (point) => getYPositions(snapPointsMode, point, screenSize, frameSize)
63
+ ),
64
+ [screenSize, frameSize, snapPoints, snapPointsMode]
65
+ ), { animationDriver } = useConfiguration(), { useAnimatedNumber, useAnimatedNumberStyle, useAnimatedNumberReaction } = animationDriver, AnimatedView = animationDriver.View ?? Stack;
66
+ useIsomorphicLayoutEffect(() => {
67
+ if (parentSheetContext && open)
68
+ return parentSheetContext(!0), () => {
69
+ parentSheetContext(!1);
70
+ };
71
+ }, [parentSheetContext, open]);
72
+ const nextParentContext = React.useMemo(
73
+ () => ({
74
+ zIndex
75
+ }),
76
+ [zIndex]
77
+ ), animatedNumber = useAnimatedNumber(hiddenSize), at = React.useRef(hiddenSize);
78
+ useAnimatedNumberReaction(
79
+ {
80
+ value: animatedNumber,
81
+ hostRef: sheetRef
94
82
  },
95
- [animationDriver]
96
- )
97
- );
98
- function stopSpring() {
99
- animatedNumber.stop(), scrollBridge.onFinishAnimate && (scrollBridge.onFinishAnimate(), scrollBridge.onFinishAnimate = void 0);
100
- }
101
- const hasntMeasured = at.current === hiddenSize, animateTo = useEvent((position2) => {
102
- if (frameSize === 0) return;
103
- let toValue = isHidden || position2 === -1 ? screenSize : positions[position2];
104
- if (at.current !== toValue) {
105
- if (at.current = toValue, stopSpring(), hasntMeasured || isHidden) {
106
- animatedNumber.setValue(
107
- screenSize,
108
- {
109
- type: "timing",
110
- duration: 0
111
- },
112
- () => {
113
- isHidden || (toValue = positions[position2], at.current = toValue, animatedNumber.setValue(toValue, {
114
- type: "spring",
115
- ...animationConfig
116
- }));
117
- }
118
- );
119
- return;
120
- }
121
- animatedNumber.setValue(toValue, {
122
- type: "spring",
123
- ...animationConfig
124
- });
83
+ React.useCallback(
84
+ (value) => {
85
+ at.current = value, scrollBridge.paneY = value;
86
+ },
87
+ [animationDriver]
88
+ )
89
+ );
90
+ function stopSpring() {
91
+ animatedNumber.stop(), scrollBridge.onFinishAnimate && (scrollBridge.onFinishAnimate(), scrollBridge.onFinishAnimate = void 0);
125
92
  }
126
- });
127
- useIsomorphicLayoutEffect(() => {
128
- screenSize && hasntMeasured && animatedNumber.setValue(screenSize, {
129
- type: "timing",
130
- duration: 0
93
+ const hasntMeasured = at.current === hiddenSize, animateTo = useEvent((position2) => {
94
+ if (frameSize === 0) return;
95
+ let toValue = isHidden || position2 === -1 ? screenSize : positions[position2];
96
+ if (at.current !== toValue) {
97
+ if (at.current = toValue, stopSpring(), hasntMeasured || isHidden) {
98
+ animatedNumber.setValue(
99
+ screenSize,
100
+ {
101
+ type: "timing",
102
+ duration: 0
103
+ },
104
+ () => {
105
+ isHidden || (toValue = positions[position2], at.current = toValue, animatedNumber.setValue(toValue, {
106
+ type: "spring",
107
+ ...animationConfig
108
+ }));
109
+ }
110
+ );
111
+ return;
112
+ }
113
+ animatedNumber.setValue(toValue, {
114
+ type: "spring",
115
+ ...animationConfig
116
+ });
117
+ }
131
118
  });
132
- }, [hasntMeasured, screenSize]), useIsomorphicLayoutEffect(() => {
133
- !frameSize || !screenSize || isHidden || hasntMeasured && !open || animateTo(position);
134
- }, [isHidden, frameSize, screenSize, open, position]);
135
- const disableDrag = props.disableDrag ?? controller?.disableDrag, themeName = useThemeName(), [isDragging, setIsDragging] = useState(!1), panResponder = useMemo(() => {
136
- if (disableDrag || !frameSize || isShowingInnerSheet) return;
137
- const minY = positions[0];
138
- scrollBridge.paneMinY = minY;
139
- let startY = at.current;
140
- function setPanning(val) {
141
- setIsDragging(val), SHEET_HIDDEN_STYLESHEET && (val ? SHEET_HIDDEN_STYLESHEET.innerText = ":root * { user-select: none !important; -webkit-user-select: none !important; }" : SHEET_HIDDEN_STYLESHEET.innerText = "");
142
- }
143
- const release = ({ vy, dragAt }) => {
144
- isExternalDrag = !1, previouslyScrolling = !1, setPanning(!1);
145
- const end = dragAt + startY + frameSize * vy * 0.2;
146
- let closestPoint = 0, dist = Number.POSITIVE_INFINITY;
147
- for (let i = 0; i < positions.length; i++) {
148
- const position2 = positions[i], curDist = end > position2 ? end - position2 : position2 - end;
149
- curDist < dist && (dist = curDist, closestPoint = i);
119
+ useIsomorphicLayoutEffect(() => {
120
+ screenSize && hasntMeasured && animatedNumber.setValue(screenSize, {
121
+ type: "timing",
122
+ duration: 0
123
+ });
124
+ }, [hasntMeasured, screenSize]), useIsomorphicLayoutEffect(() => {
125
+ !frameSize || !screenSize || isHidden || hasntMeasured && !open || animateTo(position);
126
+ }, [isHidden, frameSize, screenSize, open, position]);
127
+ const disableDrag = props.disableDrag ?? controller?.disableDrag, themeName = useThemeName(), [isDragging, setIsDragging] = React.useState(!1), panResponder = React.useMemo(() => {
128
+ if (disableDrag || !frameSize || isShowingInnerSheet) return;
129
+ const minY = positions[0];
130
+ scrollBridge.paneMinY = minY;
131
+ let startY = at.current;
132
+ function setPanning(val) {
133
+ setIsDragging(val), SHEET_HIDDEN_STYLESHEET && (val ? SHEET_HIDDEN_STYLESHEET.innerText = ":root * { user-select: none !important; -webkit-user-select: none !important; }" : SHEET_HIDDEN_STYLESHEET.innerText = "");
150
134
  }
151
- setPosition(closestPoint), animateTo(closestPoint);
152
- }, finish = (_e, state2) => {
153
- release({
154
- vy: state2.vy,
155
- dragAt: state2.dy
135
+ const release = ({ vy, dragAt }) => {
136
+ isExternalDrag = !1, previouslyScrolling = !1, setPanning(!1);
137
+ const end = dragAt + startY + frameSize * vy * 0.2;
138
+ let closestPoint = 0, dist = Number.POSITIVE_INFINITY;
139
+ for (let i = 0; i < positions.length; i++) {
140
+ const position2 = positions[i], curDist = end > position2 ? end - position2 : position2 - end;
141
+ curDist < dist && (dist = curDist, closestPoint = i);
142
+ }
143
+ setPosition(closestPoint), animateTo(closestPoint);
144
+ }, finish = (_e, state2) => {
145
+ release({
146
+ vy: state2.vy,
147
+ dragAt: state2.dy
148
+ });
149
+ };
150
+ let previouslyScrolling = !1;
151
+ const onMoveShouldSet = (e, { dy }) => {
152
+ if (e.target === providerProps.handleRef.current)
153
+ return !0;
154
+ const isScrolled = scrollBridge.y !== 0, isDraggingUp = dy < 0, isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;
155
+ return isScrolled ? (previouslyScrolling = !0, !1) : isNearTop && !isScrolled && isDraggingUp && !isWeb ? !1 : Math.abs(dy) > 5;
156
+ }, grant = () => {
157
+ setPanning(!0), stopSpring(), startY = at.current;
158
+ };
159
+ let isExternalDrag = !1;
160
+ return scrollBridge.drag = (dy) => {
161
+ isExternalDrag || (isExternalDrag = !0, grant());
162
+ const to = dy + startY;
163
+ animatedNumber.setValue(resisted(to, minY), { type: "direct" });
164
+ }, scrollBridge.release = release, PanResponder.create({
165
+ onMoveShouldSetPanResponder: onMoveShouldSet,
166
+ onPanResponderGrant: grant,
167
+ onPanResponderMove: (_e, { dy }) => {
168
+ const toFull = dy + startY, to = resisted(toFull, minY);
169
+ animatedNumber.setValue(to, { type: "direct" });
170
+ },
171
+ onPanResponderEnd: finish,
172
+ onPanResponderTerminate: finish,
173
+ onPanResponderRelease: finish
156
174
  });
157
- };
158
- let previouslyScrolling = !1;
159
- const onMoveShouldSet = (e, { dy }) => {
160
- if (e.target === providerProps.handleRef.current)
161
- return !0;
162
- const isScrolled = scrollBridge.y !== 0, isDraggingUp = dy < 0, isNearTop = scrollBridge.paneY - 5 <= scrollBridge.paneMinY;
163
- return isScrolled ? (previouslyScrolling = !0, !1) : isNearTop && !isScrolled && isDraggingUp && !isWeb ? !1 : Math.abs(dy) > 5;
164
- }, grant = () => {
165
- setPanning(!0), stopSpring(), startY = at.current;
166
- };
167
- let isExternalDrag = !1;
168
- return scrollBridge.drag = (dy) => {
169
- isExternalDrag || (isExternalDrag = !0, grant());
170
- const to = dy + startY;
171
- animatedNumber.setValue(resisted(to, minY), { type: "direct" });
172
- }, scrollBridge.release = release, PanResponder.create({
173
- onMoveShouldSetPanResponder: onMoveShouldSet,
174
- onPanResponderGrant: grant,
175
- onPanResponderMove: (_e, { dy }) => {
176
- const toFull = dy + startY, to = resisted(toFull, minY);
177
- animatedNumber.setValue(to, { type: "direct" });
175
+ }, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]), handleAnimationViewLayout = React.useCallback(
176
+ (e) => {
177
+ const next = Math.min(
178
+ e.nativeEvent?.layout.height,
179
+ Dimensions.get("window").height
180
+ );
181
+ next && setFrameSize(next);
178
182
  },
179
- onPanResponderEnd: finish,
180
- onPanResponderTerminate: finish,
181
- onPanResponderRelease: finish
182
- });
183
- }, [disableDrag, isShowingInnerSheet, animateTo, frameSize, positions, setPosition]), handleAnimationViewLayout = useCallback(
184
- (e) => {
185
- const next = Math.min(
186
- e.nativeEvent?.layout.height,
187
- Dimensions.get("window").height
188
- );
189
- next && setFrameSize(next);
190
- },
191
- [keyboardIsVisible]
192
- ), handleMaxContentViewLayout = useCallback(
193
- (e) => {
194
- const next = Math.min(
195
- e.nativeEvent?.layout.height,
196
- Dimensions.get("window").height
197
- );
198
- next && setMaxContentSize(next);
199
- },
200
- [keyboardIsVisible]
201
- ), animatedStyle = useAnimatedNumberStyle(animatedNumber, (val) => {
202
- "worklet";
203
- return {
204
- transform: [{ translateY: frameSize === 0 ? hiddenSize : val }]
205
- };
206
- }), sizeBeforeKeyboard = useRef(null);
207
- useEffect(() => {
208
- if (isWeb || !moveOnKeyboardChange) return;
209
- const keyboardDidShowListener = Keyboard.addListener("keyboardDidShow", (e) => {
210
- sizeBeforeKeyboard.current === null && (sizeBeforeKeyboard.current = animatedNumber.getValue(), animatedNumber.setValue(
211
- Math.max(animatedNumber.getValue() - e.endCoordinates.height, 0)
212
- ));
213
- }), keyboardDidHideListener = Keyboard.addListener("keyboardDidHide", () => {
214
- sizeBeforeKeyboard.current !== null && (animatedNumber.setValue(sizeBeforeKeyboard.current), sizeBeforeKeyboard.current = null);
215
- });
216
- return () => {
217
- keyboardDidHideListener.remove(), keyboardDidShowListener.remove();
218
- };
219
- }, [moveOnKeyboardChange]);
220
- const [opacity, setOpacity] = useState(open ? 1 : 0);
221
- open && opacity === 0 && setOpacity(1), useEffect(() => {
222
- if (!open) {
223
- const tm = setTimeout(() => {
224
- setOpacity(0);
225
- }, 400);
183
+ [keyboardIsVisible]
184
+ ), handleMaxContentViewLayout = React.useCallback(
185
+ (e) => {
186
+ const next = Math.min(
187
+ e.nativeEvent?.layout.height,
188
+ Dimensions.get("window").height
189
+ );
190
+ next && setMaxContentSize(next);
191
+ },
192
+ [keyboardIsVisible]
193
+ ), animatedStyle = useAnimatedNumberStyle(animatedNumber, (val) => {
194
+ "worklet";
195
+ return {
196
+ transform: [{ translateY: frameSize === 0 ? hiddenSize : val }]
197
+ };
198
+ }), sizeBeforeKeyboard = React.useRef(null);
199
+ React.useEffect(() => {
200
+ if (isWeb || !moveOnKeyboardChange) return;
201
+ const keyboardDidShowListener = Keyboard.addListener("keyboardDidShow", (e) => {
202
+ sizeBeforeKeyboard.current === null && (sizeBeforeKeyboard.current = animatedNumber.getValue(), animatedNumber.setValue(
203
+ Math.max(animatedNumber.getValue() - e.endCoordinates.height, 0)
204
+ ));
205
+ }), keyboardDidHideListener = Keyboard.addListener("keyboardDidHide", () => {
206
+ sizeBeforeKeyboard.current !== null && (animatedNumber.setValue(sizeBeforeKeyboard.current), sizeBeforeKeyboard.current = null);
207
+ });
226
208
  return () => {
227
- clearTimeout(tm);
209
+ keyboardDidHideListener.remove(), keyboardDidShowListener.remove();
228
210
  };
229
- }
230
- }, [open]);
231
- const forcedContentHeight = hasFit ? void 0 : snapPointsMode === "percent" ? `${maxSnapPoint}${isWeb ? "dvh" : "%"}` : maxSnapPoint, contents = /* @__PURE__ */ jsx(ParentSheetContext.Provider, { value: nextParentContext, children: /* @__PURE__ */ jsxs(SheetProvider, { ...providerProps, children: [
232
- /* @__PURE__ */ jsx(AnimatePresence, { custom: { open }, children: shouldHideParentSheet || !open ? null : overlayComponent }),
233
- snapPointsMode !== "percent" && /* @__PURE__ */ jsx(
234
- View,
235
- {
236
- style: {
237
- opacity: 0,
238
- position: "absolute",
239
- top: 0,
240
- left: 0,
241
- right: 0,
242
- bottom: 0,
243
- pointerEvents: "none"
244
- },
245
- onLayout: handleMaxContentViewLayout
211
+ }, [moveOnKeyboardChange]);
212
+ const [opacity, setOpacity] = React.useState(open ? 1 : 0);
213
+ open && opacity === 0 && setOpacity(1), React.useEffect(() => {
214
+ if (!open) {
215
+ const tm = setTimeout(() => {
216
+ setOpacity(0);
217
+ }, 400);
218
+ return () => {
219
+ clearTimeout(tm);
220
+ };
246
221
  }
247
- ),
248
- /* @__PURE__ */ jsx(
249
- AnimatedView,
250
- {
251
- ref,
252
- ...panResponder?.panHandlers,
253
- onLayout: handleAnimationViewLayout,
254
- ...!isDragging && {
255
- // @ts-ignore for CSS driver this is necessary to attach the transition
256
- animation
257
- },
258
- disableClassName: !0,
259
- style: [
260
- {
222
+ }, [open]);
223
+ const forcedContentHeight = hasFit ? void 0 : snapPointsMode === "percent" ? `${maxSnapPoint}${isWeb ? "dvh" : "%"}` : maxSnapPoint, contents = /* @__PURE__ */ jsx(ParentSheetContext.Provider, { value: nextParentContext, children: /* @__PURE__ */ jsxs(SheetProvider, { ...providerProps, children: [
224
+ /* @__PURE__ */ jsx(AnimatePresence, { custom: { open }, children: shouldHideParentSheet || !open ? null : overlayComponent }),
225
+ snapPointsMode !== "percent" && /* @__PURE__ */ jsx(
226
+ View,
227
+ {
228
+ style: {
229
+ opacity: 0,
261
230
  position: "absolute",
262
- zIndex,
263
- width: "100%",
264
- height: forcedContentHeight,
265
- minHeight: forcedContentHeight,
266
- opacity,
267
- ...(shouldHideParentSheet || !open) && {
268
- pointerEvents: "none"
269
- }
231
+ top: 0,
232
+ left: 0,
233
+ right: 0,
234
+ bottom: 0,
235
+ pointerEvents: "none"
270
236
  },
271
- animatedStyle
272
- ],
273
- children: props.children
274
- }
275
- )
276
- ] }) }), adaptContext = useContext(AdaptParentContext), shouldMountChildren = !!(opacity || !unmountChildrenWhenHidden);
277
- if (modal) {
278
- const modalContents = /* @__PURE__ */ jsx(Portal, { zIndex, ...portalProps, children: shouldMountChildren && /* @__PURE__ */ jsx(ContainerComponent, { children: /* @__PURE__ */ jsx(Theme, { forceClassName: !0, name: themeName, children: /* @__PURE__ */ jsx(AdaptParentContext.Provider, { value: adaptContext, children: contents }) }) }) });
279
- return isWeb ? modalContents : /* @__PURE__ */ jsx(SheetInsideSheetContext.Provider, { value: onInnerSheet, children: modalContents });
237
+ onLayout: handleMaxContentViewLayout
238
+ }
239
+ ),
240
+ /* @__PURE__ */ jsx(
241
+ AnimatedView,
242
+ {
243
+ ref,
244
+ ...panResponder?.panHandlers,
245
+ onLayout: handleAnimationViewLayout,
246
+ ...!isDragging && {
247
+ // @ts-ignore for CSS driver this is necessary to attach the transition
248
+ animation
249
+ },
250
+ disableClassName: !0,
251
+ style: [
252
+ {
253
+ position: "absolute",
254
+ zIndex,
255
+ width: "100%",
256
+ height: forcedContentHeight,
257
+ minHeight: forcedContentHeight,
258
+ opacity,
259
+ ...(shouldHideParentSheet || !open) && {
260
+ pointerEvents: "none"
261
+ }
262
+ },
263
+ animatedStyle
264
+ ],
265
+ children: props.children
266
+ }
267
+ )
268
+ ] }) }), adaptContext = React.useContext(AdaptParentContext), shouldMountChildren = !!(opacity || !unmountChildrenWhenHidden);
269
+ if (modal) {
270
+ const modalContents = /* @__PURE__ */ jsx(Portal, { zIndex, ...portalProps, children: shouldMountChildren && /* @__PURE__ */ jsx(ContainerComponent, { children: /* @__PURE__ */ jsx(Theme, { forceClassName: !0, name: themeName, children: /* @__PURE__ */ jsx(AdaptParentContext.Provider, { value: adaptContext, children: contents }) }) }) });
271
+ return isWeb ? modalContents : /* @__PURE__ */ jsx(SheetInsideSheetContext.Provider, { value: onInnerSheet, children: modalContents });
272
+ }
273
+ return contents;
280
274
  }
281
- return contents;
282
- })
275
+ )
283
276
  );
284
277
  function getYPositions(mode, point, screenSize, frameSize) {
285
278
  if (!screenSize || !frameSize) return 0;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/SheetImplementationCustom.tsx"],
4
- "mappings": "AAAA,SAAS,0BAA0B;AACnC,SAAS,uBAAuB;AAChC,SAAS,uBAAuB;AAChC,SAAS,OAAO,iCAAiC;AACjD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc;AACvB,SAAS,0BAA0B;AACnC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAOP,SAAS,YAAY,UAAU,cAAc,YAAY;AAEzD,SAAS,+BAA+B;AACxC,SAAS,oBAAoB,+BAA+B;AAC5D,SAAS,gBAAgB;AACzB,SAAS,qBAAqB;AAE9B,SAAS,yBAAyB;AAClC,SAAS,6BAA6B;AAoY9B,SACE,KADF;AAlYR,IAAI,aAAa;AAEV,MAAM,4BAA4B;AAAA,EACvC,WAA6B,SAAmC,OAAO,cAAc;AACnF,UAAM,cAAc,WAAW,kBAAkB,GAE3C;AAAA,MACJ;AAAA,MACA,iBAAiB;AAAA,MACjB,QAAQ;AAAA,MACR,SAAS,YAAY,SAAS;AAAA,MAC9B,uBAAuB;AAAA,MACvB,4BAA4B;AAAA,MAC5B;AAAA,MACA,oBAAoB,qBAAqB;AAAA,IAC3C,IAAI,OAEE,oBAAoB,mBAAmB,GACvC,QAAQ,kBAAkB,KAAK,GAC/B,CAAC,kBAAkB,mBAAmB,IAAI,SAAc,IAAI,GAE5D,gBAAgB,sBAAsB,OAAO,OAAO;AAAA,MACxD,oBAAoB;AAAA,IACtB,CAAC,GACK;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI,eACE,EAAE,MAAM,YAAY,SAAS,IAAI,OAEjC,WAAW,OAAa,IAAI,GAC5B,MAAM,gBAAgB,cAAc,QAAQ,GAG5C,mBAAmB,MAAM;AAC7B,YAAM,CAAC,eAAe,mBAAmB,IAAK,YAE1C,MAAM,QAAQ,SAAS,IACrB,YACC,CAAC,SAAS,IAHb,CAAC;AAIL,aACE,wBACC,gBACG;AAAA,QACE,GAAI,UAAU,EAAE,WAAW,WAAW,aAAuB;AAAA,QAC7D,GAAG;AAAA,MACL,IACA;AAAA,IAER,GAAG,GAKG,CAAC,qBAAqB,sBAAsB,IAAI,SAAS,EAAK,GAC9D,wBAAwB,CAAC,SAAS,SAAS,qBAC3C,qBAAqB,WAAW,uBAAuB,GACvD,eAAe,YAAY,CAAC,aAAsB;AACtD,6BAAuB,QAAQ;AAAA,IACjC,GAAG,CAAC,CAAC,GAEC,YAAY;AAAA,MAChB,MACE,WAAW;AAAA,QAAI,CAAC,UACd,cAAc,gBAAgB,OAAO,YAAY,SAAS;AAAA,MAC5D;AAAA,MACF,CAAC,YAAY,WAAW,YAAY,cAAc;AAAA,IACpD,GAEM,EAAE,gBAAgB,IAAI,iBAAiB,GACvC,EAAE,mBAAmB,wBAAwB,0BAA0B,IAC3E,iBACI,eAAgB,gBAAgB,QAAQ;AAE9C,8BAA0B,MAAM;AAC9B,UAAM,sBAAsB;AAC5B,kCAAmB,EAAI,GAChB,MAAM;AACX,6BAAmB,EAAK;AAAA,QAC1B;AAAA,IACF,GAAG,CAAC,oBAAoB,IAAI,CAAC;AAE7B,UAAM,oBAAoB;AAAA,MACxB,OAAO;AAAA,QACL;AAAA,MACF;AAAA,MACA,CAAC,MAAM;AAAA,IACT,GAEM,iBAAiB,kBAAkB,UAAU,GAC7C,KAAK,OAAO,UAAU;AAE5B;AAAA,MACE;AAAA,QACE,OAAO;AAAA,QACP,SAAS;AAAA,MACX;AAAA,MACA;AAAA,QACE,CAAC,UAAU;AACT,aAAG,UAAU,OACb,aAAa,QAAQ;AAAA,QACvB;AAAA,QACA,CAAC,eAAe;AAAA,MAClB;AAAA,IACF;AAEA,aAAS,aAAa;AACpB,qBAAe,KAAK,GAChB,aAAa,oBACf,aAAa,gBAAgB,GAC7B,aAAa,kBAAkB;AAAA,IAEnC;AAEA,UAAM,gBAAgB,GAAG,YAAY,YAE/B,YAAY,SAAS,CAACA,cAAqB;AAC/C,UAAI,cAAc,EAAG;AAErB,UAAI,UAAU,YAAYA,cAAa,KAAK,aAAa,UAAUA,SAAQ;AAE3E,UAAI,GAAG,YAAY,SAKnB;AAAA,YAJA,GAAG,UAAU,SAEb,WAAW,GAEP,iBAAiB,UAAU;AAE7B,yBAAe;AAAA,YACb;AAAA,YACA;AAAA,cACE,MAAM;AAAA,cACN,UAAU;AAAA,YACZ;AAAA,YACA,MAAM;AACJ,cAAI,aAIJ,UAAU,UAAUA,SAAQ,GAC5B,GAAG,UAAU,SAEb,eAAe,SAAS,SAAS;AAAA,gBAC/B,MAAM;AAAA,gBACN,GAAG;AAAA,cACL,CAAC;AAAA,YACH;AAAA,UACF;AACA;AAAA,QACF;AAEA,uBAAe,SAAS,SAAS;AAAA,UAC/B,MAAM;AAAA,UACN,GAAG;AAAA,QACL,CAAC;AAAA;AAAA,IACH,CAAC;AAED,8BAA0B,MAAM;AAC9B,MAAI,cAAc,iBAChB,eAAe,SAAS,YAAY;AAAA,QAClC,MAAM;AAAA,QACN,UAAU;AAAA,MACZ,CAAC;AAAA,IAEL,GAAG,CAAC,eAAe,UAAU,CAAC,GAE9B,0BAA0B,MAAM;AAC9B,MAAI,CAAC,aAAa,CAAC,cAAc,YAAa,iBAAiB,CAAC,QAGhE,UAAU,QAAQ;AAAA,IACpB,GAAG,CAAC,UAAU,WAAW,YAAY,MAAM,QAAQ,CAAC;AAEpD,UAAM,cAAc,MAAM,eAAe,YAAY,aAC/C,YAAY,aAAa,GACzB,CAAC,YAAY,aAAa,IAAI,SAAS,EAAK,GAE5C,eAAe,QAAQ,MAAM;AAGjC,UAFI,eACA,CAAC,aACD,oBAAqB;AAEzB,YAAM,OAAO,UAAU,CAAC;AACxB,mBAAa,WAAW;AACxB,UAAI,SAAS,GAAG;AAEhB,eAAS,WAAW,KAAc;AAIhC,QAHA,cAAc,GAAG,GAGZ,4BACA,MAGH,wBAAwB,YACtB,oFAHF,wBAAwB,YAAY;AAAA,MAKxC;AAEA,YAAM,UAAU,CAAC,EAAE,IAAI,OAAO,MAAsC;AAClE,yBAAiB,IACjB,sBAAsB,IACtB,WAAW,EAAK;AAIhB,cAAM,MAHK,SAAS,SAGH,YAAY,KAAK;AAClC,YAAI,eAAe,GACf,OAAO,OAAO;AAClB,iBAAS,IAAI,GAAG,IAAI,UAAU,QAAQ,KAAK;AACzC,gBAAMA,YAAW,UAAU,CAAC,GACtB,UAAU,MAAMA,YAAW,MAAMA,YAAWA,YAAW;AAC7D,UAAI,UAAU,SACZ,OAAO,SACP,eAAe;AAAA,QAEnB;AAEA,oBAAY,YAAY,GACxB,UAAU,YAAY;AAAA,MACxB,GAEM,SAAS,CAAC,IAA2BC,WAAoC;AAC7E,gBAAQ;AAAA,UACN,IAAIA,OAAM;AAAA,UACV,QAAQA,OAAM;AAAA,QAChB,CAAC;AAAA,MACH;AAEA,UAAI,sBAAsB;AAE1B,YAAM,kBAAkB,CACtB,GACA,EAAE,GAAG,MACF;AAEH,YAAI,EAAE,WAAW,cAAc,UAAU;AACvC,iBAAO;AAGT,cAAM,aAAa,aAAa,MAAM,GAChC,eAAe,KAAK,GAEpB,YAAY,aAAa,QAAQ,KAAK,aAAa;AACzD,eAAI,cACF,sBAAsB,IACf,MAGL,aACE,CAAC,cAAc,gBAEb,CAAC,QACI,KAKN,KAAK,IAAI,EAAE,IAAI;AAAA,MACxB,GAEM,QAAQ,MAAM;AAClB,mBAAW,EAAI,GACf,WAAW,GACX,SAAS,GAAG;AAAA,MACd;AAEA,UAAI,iBAAiB;AAErB,0BAAa,OAAO,CAAC,OAAO;AAC1B,QAAK,mBACH,iBAAiB,IACjB,MAAM;AAER,cAAM,KAAK,KAAK;AAChB,uBAAe,SAAS,SAAS,IAAI,IAAI,GAAG,EAAE,MAAM,SAAS,CAAC;AAAA,MAChE,GAEA,aAAa,UAAU,SAEhB,aAAa,OAAO;AAAA,QACzB,6BAA6B;AAAA,QAC7B,qBAAqB;AAAA,QACrB,oBAAoB,CAAC,IAAI,EAAE,GAAG,MAAM;AAClC,gBAAM,SAAS,KAAK,QACd,KAAK,SAAS,QAAQ,IAAI;AAChC,yBAAe,SAAS,IAAI,EAAE,MAAM,SAAS,CAAC;AAAA,QAChD;AAAA,QACA,mBAAmB;AAAA,QACnB,yBAAyB;AAAA,QACzB,uBAAuB;AAAA,MACzB,CAAC;AAAA,IACH,GAAG,CAAC,aAAa,qBAAqB,WAAW,WAAW,WAAW,WAAW,CAAC,GAE7E,4BAA4B;AAAA,MAChC,CAAC,MAAyB;AAExB,cAAM,OAAO,KAAK;AAAA,UAChB,EAAE,aAAa,OAAO;AAAA,UACtB,WAAW,IAAI,QAAQ,EAAE;AAAA,QAC3B;AACA,QAAK,QACL,aAAa,IAAI;AAAA,MACnB;AAAA,MACA,CAAC,iBAAiB;AAAA,IACpB,GAEM,6BAA6B;AAAA,MACjC,CAAC,MAAyB;AAExB,cAAM,OAAO,KAAK;AAAA,UAChB,EAAE,aAAa,OAAO;AAAA,UACtB,WAAW,IAAI,QAAQ,EAAE;AAAA,QAC3B;AACA,QAAK,QACL,kBAAkB,IAAI;AAAA,MACxB;AAAA,MACA,CAAC,iBAAiB;AAAA,IACpB,GAEM,gBAAgB,uBAAuB,gBAAgB,CAAC,QAAQ;AACpE;AAGA,aAAO;AAAA,QACL,WAAW,CAAC,EAAE,YAHG,cAAc,IAAI,aAAa,IAGvB,CAAC;AAAA,MAC5B;AAAA,IACF,CAAC,GAEK,qBAAqB,OAAsB,IAAI;AACrD,cAAU,MAAM;AACd,UAAI,SAAS,CAAC,qBAAsB;AACpC,YAAM,0BAA0B,SAAS,YAAY,mBAAmB,CAAC,MAAM;AAC7E,QAAI,mBAAmB,YAAY,SACnC,mBAAmB,UAAU,eAAe,SAAS,GACrD,eAAe;AAAA,UACb,KAAK,IAAI,eAAe,SAAS,IAAI,EAAE,eAAe,QAAQ,CAAC;AAAA,QACjE;AAAA,MACF,CAAC,GACK,0BAA0B,SAAS,YAAY,mBAAmB,MAAM;AAC5E,QAAI,mBAAmB,YAAY,SACnC,eAAe,SAAS,mBAAmB,OAAO,GAClD,mBAAmB,UAAU;AAAA,MAC/B,CAAC;AAED,aAAO,MAAM;AACX,gCAAwB,OAAO,GAC/B,wBAAwB,OAAO;AAAA,MACjC;AAAA,IACF,GAAG,CAAC,oBAAoB,CAAC;AAIzB,UAAM,CAAC,SAAS,UAAU,IAAI,SAAS,OAAO,IAAI,CAAC;AACnD,IAAI,QAAQ,YAAY,KACtB,WAAW,CAAC,GAEd,UAAU,MAAM;AACd,UAAI,CAAC,MAAM;AAET,cAAM,KAAK,WAAW,MAAM;AAC1B,qBAAW,CAAC;AAAA,QACd,GAAG,GAAG;AACN,eAAO,MAAM;AACX,uBAAa,EAAE;AAAA,QACjB;AAAA,MACF;AAAA,IACF,GAAG,CAAC,IAAI,CAAC;AAET,UAAM,sBAAsB,SACxB,SACA,mBAAmB,YACjB,GAAG,YAAY,GAAG,QAAQ,QAAQ,GAAG,KACrC,cAEA,WACJ,oBAAC,mBAAmB,UAAnB,EAA4B,OAAO,mBAClC,+BAAC,iBAAe,GAAG,eACjB;AAAA,0BAAC,mBAAgB,QAAQ,EAAE,KAAK,GAC7B,mCAAyB,CAAC,OAAO,OAAO,kBAC3C;AAAA,MAEC,mBAAmB,aAClB;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,YACL,SAAS;AAAA,YACT,UAAU;AAAA,YACV,KAAK;AAAA,YACL,MAAM;AAAA,YACN,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,eAAe;AAAA,UACjB;AAAA,UACA,UAAU;AAAA;AAAA,MACZ;AAAA,MAGF;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACC,GAAG,cAAc;AAAA,UAClB,UAAU;AAAA,UACT,GAAI,CAAC,cAAc;AAAA;AAAA,YAElB;AAAA,UACF;AAAA,UAEA,kBAAgB;AAAA,UAChB,OAAO;AAAA,YACL;AAAA,cACE,UAAU;AAAA,cACV;AAAA,cACA,OAAO;AAAA,cACP,QAAQ;AAAA,cACR,WAAW;AAAA,cACX;AAAA,cACA,IAAK,yBAAyB,CAAC,SAAS;AAAA,gBACtC,eAAe;AAAA,cACjB;AAAA,YACF;AAAA,YACA;AAAA,UACF;AAAA,UAEC,gBAAM;AAAA;AAAA,MACT;AAAA,OACF,GACF,GAGI,eAAe,WAAW,kBAAkB,GAG5C,sBAAsB,GAAQ,WAAW,CAAC;AAEhD,QAAI,OAAO;AACT,YAAM,gBACJ,oBAAC,UAAO,QAAiB,GAAG,aACzB,iCACC,oBAAC,sBACC,8BAAC,SAAM,gBAAc,IAAC,MAAM,WAC1B,8BAAC,mBAAmB,UAAnB,EAA4B,OAAO,cACjC,oBACH,GACF,GACF,GAEJ;AAGF,aAAI,QACK,gBAKP,oBAAC,wBAAwB,UAAxB,EAAiC,OAAO,cACtC,yBACH;AAAA,IAEJ;AAEA,WAAO;AAAA,EACT,CAAC;AACH;AAEA,SAAS,cACP,MACA,OACA,YACA,WACA;AACA,MAAI,CAAC,cAAc,CAAC,UAAW,QAAO;AAEtC,MAAI,SAAS,SAAS;AACpB,QAAI,OAAO,SAAU;AACnB,aAAO,aAAa,KAAK,IAAI,YAAY,KAAK,IAAI,GAAG,KAAK,CAAC;AAE7D,QAAI,UAAU;AACZ,aAAO,aAAa,KAAK,IAAI,YAAY,SAAS;AAEpD,QAAI,MAAM,SAAS,GAAG,GAAG;AACvB,YAAMC,OAAM,KAAK,IAAI,KAAK,KAAK,IAAI,GAAG,OAAO,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI;AACrE,aAAI,OAAO,MAAMA,IAAG,KAClB,QAAQ,KAAK,qCAAqC,GAC3C,KAEI,KAAK,MAAM,aAAaA,OAAM,UAAU;AAAA,IAEvD;AACA,mBAAQ,KAAK,iCAAiC,GACvC;AAAA,EACT;AAEA,MAAI,SAAS;AACX,WAAI,UAAU,IAAU,aACjB,aAAa,KAAK,IAAI,YAAY,SAAS;AAGpD,MAAI,SAAS,cAAc,OAAO,SAAU;AAC1C,WAAO,aAAa,KAAK,IAAI,YAAY,KAAK,IAAI,GAAG,KAAK,CAAC;AAG7D,QAAM,MAAM,KAAK,IAAI,KAAK,KAAK,IAAI,GAAG,OAAO,KAAK,CAAC,CAAC,IAAI;AACxD,SAAI,OAAO,MAAM,GAAG,KAClB,QAAQ,KAAK,8BAA8B,GACpC,KAGF,KAAK,MAAM,aAAa,MAAM,UAAU;AACjD;",
4
+ "mappings": "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",
5
5
  "names": ["position", "state", "pct"]
6
6
  }