@tamagui/sheet 2.0.0 → 2.1.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.
- package/.turbo/turbo-build.log +1 -1
- package/dist/cjs/SheetImplementationCustom.cjs +73 -24
- package/dist/cjs/SheetImplementationCustom.native.js +83 -28
- package/dist/cjs/SheetImplementationCustom.native.js.map +1 -1
- package/dist/cjs/SheetScrollView.cjs +18 -4
- package/dist/cjs/SheetScrollView.native.js +18 -4
- package/dist/cjs/SheetScrollView.native.js.map +1 -1
- package/dist/cjs/nativeSheet.cjs +3 -0
- package/dist/cjs/nativeSheet.native.js +3 -0
- package/dist/cjs/nativeSheet.native.js.map +1 -1
- package/dist/cjs/useKeyboardControllerSheet.cjs +62 -6
- package/dist/cjs/useSheetProviderProps.native.js.map +1 -1
- package/dist/cjs/useSheetScrollViewGestures.cjs +6 -1
- package/dist/cjs/webViewport.cjs +50 -0
- package/dist/cjs/webViewport.native.js +54 -0
- package/dist/cjs/webViewport.native.js.map +1 -0
- package/dist/esm/SheetImplementationCustom.mjs +73 -24
- package/dist/esm/SheetImplementationCustom.mjs.map +1 -1
- package/dist/esm/SheetImplementationCustom.native.js +83 -28
- package/dist/esm/SheetImplementationCustom.native.js.map +1 -1
- package/dist/esm/SheetScrollView.mjs +19 -5
- package/dist/esm/SheetScrollView.mjs.map +1 -1
- package/dist/esm/SheetScrollView.native.js +19 -5
- package/dist/esm/SheetScrollView.native.js.map +1 -1
- package/dist/esm/nativeSheet.mjs +3 -0
- package/dist/esm/nativeSheet.mjs.map +1 -1
- package/dist/esm/nativeSheet.native.js +3 -0
- package/dist/esm/nativeSheet.native.js.map +1 -1
- package/dist/esm/useKeyboardControllerSheet.mjs +63 -7
- package/dist/esm/useKeyboardControllerSheet.mjs.map +1 -1
- package/dist/esm/useSheetProviderProps.mjs.map +1 -1
- package/dist/esm/useSheetProviderProps.native.js.map +1 -1
- package/dist/esm/useSheetScrollViewGestures.mjs +6 -1
- package/dist/esm/useSheetScrollViewGestures.mjs.map +1 -1
- package/dist/esm/webViewport.mjs +22 -0
- package/dist/esm/webViewport.mjs.map +1 -0
- package/dist/esm/webViewport.native.js +23 -0
- package/dist/esm/webViewport.native.js.map +1 -0
- package/dist/jsx/SheetImplementationCustom.mjs +73 -24
- package/dist/jsx/SheetImplementationCustom.mjs.map +1 -1
- package/dist/jsx/SheetImplementationCustom.native.js +83 -28
- package/dist/jsx/SheetImplementationCustom.native.js.map +1 -1
- package/dist/jsx/SheetScrollView.mjs +19 -5
- package/dist/jsx/SheetScrollView.mjs.map +1 -1
- package/dist/jsx/SheetScrollView.native.js +18 -4
- package/dist/jsx/SheetScrollView.native.js.map +1 -1
- package/dist/jsx/nativeSheet.mjs +3 -0
- package/dist/jsx/nativeSheet.mjs.map +1 -1
- package/dist/jsx/nativeSheet.native.js +3 -0
- package/dist/jsx/nativeSheet.native.js.map +1 -1
- package/dist/jsx/useKeyboardControllerSheet.mjs +63 -7
- package/dist/jsx/useKeyboardControllerSheet.mjs.map +1 -1
- package/dist/jsx/useSheetProviderProps.mjs.map +1 -1
- package/dist/jsx/useSheetProviderProps.native.js.map +1 -1
- package/dist/jsx/useSheetScrollViewGestures.mjs +6 -1
- package/dist/jsx/useSheetScrollViewGestures.mjs.map +1 -1
- package/dist/jsx/webViewport.mjs +22 -0
- package/dist/jsx/webViewport.mjs.map +1 -0
- package/dist/jsx/webViewport.native.js +54 -0
- package/dist/jsx/webViewport.native.js.map +1 -0
- package/package.json +20 -20
- package/src/SheetImplementationCustom.tsx +300 -56
- package/src/SheetScrollView.tsx +48 -9
- package/src/nativeSheet.tsx +3 -0
- package/src/types.tsx +11 -1
- package/src/useKeyboardControllerSheet.ts +106 -10
- package/src/useSheetProviderProps.tsx +16 -0
- package/src/useSheetScrollViewGestures.ts +23 -2
- package/src/webViewport.ts +52 -0
- package/types/SheetContext.d.ts +3 -0
- package/types/SheetContext.d.ts.map +1 -1
- package/types/SheetImplementationCustom.d.ts.map +1 -1
- package/types/SheetScrollView.d.ts.map +1 -1
- package/types/nativeSheet.d.ts.map +1 -1
- package/types/types.d.ts +4 -1
- package/types/types.d.ts.map +1 -1
- package/types/useKeyboardControllerSheet.d.ts +14 -3
- package/types/useKeyboardControllerSheet.d.ts.map +1 -1
- package/types/useSheetProviderProps.d.ts +3 -0
- package/types/useSheetProviderProps.d.ts.map +1 -1
- package/types/useSheetScrollViewGestures.d.ts.map +1 -1
- package/types/webViewport.d.ts +30 -0
- package/types/webViewport.d.ts.map +1 -0
|
@@ -45,6 +45,7 @@ var import_GestureSheetContext = require("./GestureSheetContext.cjs");
|
|
|
45
45
|
var import_gestureState = require("./gestureState.cjs");
|
|
46
46
|
var import_SheetContext = require("./SheetContext.cjs");
|
|
47
47
|
var import_useSheetScrollViewGestures = require("./useSheetScrollViewGestures.cjs");
|
|
48
|
+
var import_webViewport = require("./webViewport.cjs");
|
|
48
49
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
49
50
|
const SHEET_SCROLL_VIEW_NAME = "SheetScrollView";
|
|
50
51
|
const SheetScrollView = import_react.default.forwardRef(({
|
|
@@ -63,6 +64,7 @@ const SheetScrollView = import_react.default.forwardRef(({
|
|
|
63
64
|
screenSize
|
|
64
65
|
} = context;
|
|
65
66
|
const keyboardOccludedHeight = Math.max(0, context.keyboardOccludedHeight || 0);
|
|
67
|
+
const isKeyboardVisible = context.isKeyboardVisible === true || import_core.isWeb && (0, import_webViewport.getWebKeyboardHeight)() >= import_webViewport.MIN_KEYBOARD_HEIGHT;
|
|
66
68
|
const [scrollEnabled] = (0, import_use_controllable_state.useControllableState)({
|
|
67
69
|
prop: scrollEnabledProp,
|
|
68
70
|
defaultProp: true
|
|
@@ -71,14 +73,21 @@ const SheetScrollView = import_react.default.forwardRef(({
|
|
|
71
73
|
const [hasScrollableContent, setHasScrollableContent] = (0, import_react.useState)(true);
|
|
72
74
|
const parentHeight = (0, import_react.useRef)(0);
|
|
73
75
|
const contentHeight = (0, import_react.useRef)(0);
|
|
74
|
-
const
|
|
76
|
+
const frozenFrameHeight = Math.max(0, context.keyboardStableFrameHeight || 0);
|
|
75
77
|
const fitSizingStyle = hasFit ? {
|
|
76
78
|
flex: void 0,
|
|
77
|
-
height:
|
|
79
|
+
height: void 0,
|
|
78
80
|
maxHeight: screenSize || void 0
|
|
79
81
|
} : {
|
|
80
82
|
flex: 1
|
|
81
83
|
};
|
|
84
|
+
const isKeyboardSeeding = context.isKeyboardSeeding === true;
|
|
85
|
+
const keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? isKeyboardSeeding ? {
|
|
86
|
+
maxHeight: frozenFrameHeight
|
|
87
|
+
} : {
|
|
88
|
+
height: frozenFrameHeight,
|
|
89
|
+
maxHeight: frozenFrameHeight
|
|
90
|
+
} : null;
|
|
82
91
|
const panGestureRef = gestureContext?.panGestureRef;
|
|
83
92
|
const {
|
|
84
93
|
ScrollView: RNGHScrollView
|
|
@@ -125,6 +134,9 @@ const SheetScrollView = import_react.default.forwardRef(({
|
|
|
125
134
|
setHasScrollableContent(contentHeight.current > parentHeight.current);
|
|
126
135
|
}
|
|
127
136
|
};
|
|
137
|
+
const recordFitHeight = height => {
|
|
138
|
+
parentHeight.current = height;
|
|
139
|
+
};
|
|
128
140
|
(0, import_react.useEffect)(() => {
|
|
129
141
|
scrollBridge.hasScrollableContent = hasScrollableContent;
|
|
130
142
|
}, [hasScrollableContent]);
|
|
@@ -158,7 +170,7 @@ const SheetScrollView = import_react.default.forwardRef(({
|
|
|
158
170
|
scrollEnabled,
|
|
159
171
|
simultaneousHandlers: [panGestureRef],
|
|
160
172
|
onLayout: e => {
|
|
161
|
-
|
|
173
|
+
recordFitHeight(Math.ceil(e.nativeEvent.layout.height));
|
|
162
174
|
updateScrollable();
|
|
163
175
|
},
|
|
164
176
|
onScroll: e => {
|
|
@@ -198,12 +210,13 @@ const SheetScrollView = import_react.default.forwardRef(({
|
|
|
198
210
|
keyboardShouldPersistTaps: "always",
|
|
199
211
|
keyboardDismissMode: "none",
|
|
200
212
|
...props,
|
|
213
|
+
...keyboardFrozenOverride,
|
|
201
214
|
children: contentWrapper
|
|
202
215
|
});
|
|
203
216
|
}
|
|
204
217
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_scroll_view.ScrollView, {
|
|
205
218
|
onLayout: e => {
|
|
206
|
-
|
|
219
|
+
recordFitHeight(Math.ceil(e.nativeEvent.layout.height));
|
|
207
220
|
updateScrollable();
|
|
208
221
|
},
|
|
209
222
|
ref: (0, import_compose_refs.composeRefs)(scrollRef, ref),
|
|
@@ -224,6 +237,7 @@ const SheetScrollView = import_react.default.forwardRef(({
|
|
|
224
237
|
},
|
|
225
238
|
...gestureProps,
|
|
226
239
|
...props,
|
|
240
|
+
...keyboardFrozenOverride,
|
|
227
241
|
children: contentWrapper
|
|
228
242
|
});
|
|
229
243
|
});
|
|
@@ -48,6 +48,7 @@ var import_GestureSheetContext = require("./GestureSheetContext.native.js");
|
|
|
48
48
|
var import_gestureState = require("./gestureState.native.js");
|
|
49
49
|
var import_SheetContext = require("./SheetContext.native.js");
|
|
50
50
|
var import_useSheetScrollViewGestures = require("./useSheetScrollViewGestures.native.js");
|
|
51
|
+
var import_webViewport = require("./webViewport.native.js");
|
|
51
52
|
var SHEET_SCROLL_VIEW_NAME = "SheetScrollView";
|
|
52
53
|
var SheetScrollView = /* @__PURE__ */import_react.default.forwardRef(function (param, ref) {
|
|
53
54
|
var {
|
|
@@ -66,6 +67,7 @@ var SheetScrollView = /* @__PURE__ */import_react.default.forwardRef(function (p
|
|
|
66
67
|
screenSize
|
|
67
68
|
} = context;
|
|
68
69
|
var keyboardOccludedHeight = Math.max(0, context.keyboardOccludedHeight || 0);
|
|
70
|
+
var isKeyboardVisible = context.isKeyboardVisible === true || import_core.isWeb && (0, import_webViewport.getWebKeyboardHeight)() >= import_webViewport.MIN_KEYBOARD_HEIGHT;
|
|
69
71
|
var [scrollEnabled] = (0, import_use_controllable_state.useControllableState)({
|
|
70
72
|
prop: scrollEnabledProp,
|
|
71
73
|
defaultProp: true
|
|
@@ -74,14 +76,21 @@ var SheetScrollView = /* @__PURE__ */import_react.default.forwardRef(function (p
|
|
|
74
76
|
var [hasScrollableContent, setHasScrollableContent] = (0, import_react.useState)(true);
|
|
75
77
|
var parentHeight = (0, import_react.useRef)(0);
|
|
76
78
|
var contentHeight = (0, import_react.useRef)(0);
|
|
77
|
-
var
|
|
79
|
+
var frozenFrameHeight = Math.max(0, context.keyboardStableFrameHeight || 0);
|
|
78
80
|
var fitSizingStyle = hasFit ? {
|
|
79
81
|
flex: void 0,
|
|
80
|
-
height:
|
|
82
|
+
height: void 0,
|
|
81
83
|
maxHeight: screenSize || void 0
|
|
82
84
|
} : {
|
|
83
85
|
flex: 1
|
|
84
86
|
};
|
|
87
|
+
var isKeyboardSeeding = context.isKeyboardSeeding === true;
|
|
88
|
+
var keyboardFrozenOverride = hasFit && isKeyboardVisible && frozenFrameHeight > 0 ? isKeyboardSeeding ? {
|
|
89
|
+
maxHeight: frozenFrameHeight
|
|
90
|
+
} : {
|
|
91
|
+
height: frozenFrameHeight,
|
|
92
|
+
maxHeight: frozenFrameHeight
|
|
93
|
+
} : null;
|
|
85
94
|
var panGestureRef = gestureContext === null || gestureContext === void 0 ? void 0 : gestureContext.panGestureRef;
|
|
86
95
|
var {
|
|
87
96
|
ScrollView: RNGHScrollView
|
|
@@ -130,6 +139,9 @@ var SheetScrollView = /* @__PURE__ */import_react.default.forwardRef(function (p
|
|
|
130
139
|
setHasScrollableContent(contentHeight.current > parentHeight.current);
|
|
131
140
|
}
|
|
132
141
|
};
|
|
142
|
+
var recordFitHeight = function (height) {
|
|
143
|
+
parentHeight.current = height;
|
|
144
|
+
};
|
|
133
145
|
(0, import_react.useEffect)(function () {
|
|
134
146
|
scrollBridge.hasScrollableContent = hasScrollableContent;
|
|
135
147
|
}, [hasScrollableContent]);
|
|
@@ -163,7 +175,7 @@ var SheetScrollView = /* @__PURE__ */import_react.default.forwardRef(function (p
|
|
|
163
175
|
scrollEnabled,
|
|
164
176
|
simultaneousHandlers: [panGestureRef],
|
|
165
177
|
onLayout: function (e) {
|
|
166
|
-
|
|
178
|
+
recordFitHeight(Math.ceil(e.nativeEvent.layout.height));
|
|
167
179
|
updateScrollable();
|
|
168
180
|
},
|
|
169
181
|
onScroll: function (e) {
|
|
@@ -204,12 +216,13 @@ var SheetScrollView = /* @__PURE__ */import_react.default.forwardRef(function (p
|
|
|
204
216
|
keyboardShouldPersistTaps: "always",
|
|
205
217
|
keyboardDismissMode: "none",
|
|
206
218
|
...props,
|
|
219
|
+
...keyboardFrozenOverride,
|
|
207
220
|
children: contentWrapper
|
|
208
221
|
});
|
|
209
222
|
}
|
|
210
223
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_scroll_view.ScrollView, {
|
|
211
224
|
onLayout: function (e) {
|
|
212
|
-
|
|
225
|
+
recordFitHeight(Math.ceil(e.nativeEvent.layout.height));
|
|
213
226
|
updateScrollable();
|
|
214
227
|
},
|
|
215
228
|
ref: (0, import_compose_refs.composeRefs)(scrollRef, ref),
|
|
@@ -230,6 +243,7 @@ var SheetScrollView = /* @__PURE__ */import_react.default.forwardRef(function (p
|
|
|
230
243
|
},
|
|
231
244
|
...gestureProps,
|
|
232
245
|
...props,
|
|
246
|
+
...keyboardFrozenOverride,
|
|
233
247
|
children: contentWrapper
|
|
234
248
|
});
|
|
235
249
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","SheetScrollView_exports","__export","SheetScrollView","module","exports","import_jsx_runtime","require","import_compose_refs","import_core","import_scroll_view","import_use_controllable_state","import_react","__toESM","import_GestureSheetContext","import_gestureState","import_SheetContext","import_useSheetScrollViewGestures","SHEET_SCROLL_VIEW_NAME","default","forwardRef","param","ref","__scopeSheet","children","onScroll","scrollEnabled","scrollEnabledProp","props","context","useSheetContext","gestureContext","useGestureSheetContext","scrollBridge","setHasScrollView","hasFit","screenSize","keyboardOccludedHeight","Math","max","useControllableState","prop","defaultProp","scrollRef","useRef","hasScrollableContent","setHasScrollableContent","useState","parentHeight","contentHeight","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","SheetScrollView_exports","__export","SheetScrollView","module","exports","import_jsx_runtime","require","import_compose_refs","import_core","import_scroll_view","import_use_controllable_state","import_react","__toESM","import_GestureSheetContext","import_gestureState","import_SheetContext","import_useSheetScrollViewGestures","import_webViewport","SHEET_SCROLL_VIEW_NAME","default","forwardRef","param","ref","__scopeSheet","children","onScroll","scrollEnabled","scrollEnabledProp","props","context","useSheetContext","gestureContext","useGestureSheetContext","scrollBridge","setHasScrollView","hasFit","screenSize","keyboardOccludedHeight","Math","max","isKeyboardVisible","isWeb","getWebKeyboardHeight","MIN_KEYBOARD_HEIGHT","useControllableState","prop","defaultProp","scrollRef","useRef","hasScrollableContent","setHasScrollableContent","useState","parentHeight","contentHeight","frozenFrameHeight","keyboardStableFrameHeight","fitSizingStyle","flex","height","maxHeight","isKeyboardSeeding","keyboardFrozenOverride","panGestureRef","ScrollView","RNGHScrollView","getGestureHandlerState","useRNGHScrollView","isGestureHandlerEnabled","currentScrollOffset","lockedScrollY","setScrollEnabled","next","lockTo","_scrollRef_current_scrollTo","_scrollRef_current","lockY","current","scrollLockY","scrollTo","call","x","y","animated","forceScrollTo","useEffect","updateScrollable","recordFitHeight","gestureProps","useSheetScrollViewGestures","contentWrapper","jsxs","View","onLayout","e","floor","nativeEvent","layout","jsx","width","RNGHComponent","composeRefs","style","scrollEventThrottle","simultaneousHandlers","ceil","contentOffset","scrollStartY","contentContainerStyle","minHeight","bounces","keyboardShouldPersistTaps","keyboardDismissMode","className"],"sources":["../../src/SheetScrollView.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/cjs/nativeSheet.cjs
CHANGED
|
@@ -68,6 +68,9 @@ function setupNativeSheet(platform, RNIOSModal) {
|
|
|
68
68
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_SheetContext.SheetProvider, {
|
|
69
69
|
setHasScrollView: emptyFn,
|
|
70
70
|
keyboardOccludedHeight: 0,
|
|
71
|
+
isKeyboardVisible: false,
|
|
72
|
+
keyboardStableFrameHeight: 0,
|
|
73
|
+
isKeyboardSeeding: false,
|
|
71
74
|
...providerProps,
|
|
72
75
|
onlyShowFrame: true,
|
|
73
76
|
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(ModalSheetView, {
|
|
@@ -73,6 +73,9 @@ function setupNativeSheet(platform, RNIOSModal) {
|
|
|
73
73
|
children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_SheetContext.SheetProvider, {
|
|
74
74
|
setHasScrollView: emptyFn,
|
|
75
75
|
keyboardOccludedHeight: 0,
|
|
76
|
+
isKeyboardVisible: false,
|
|
77
|
+
keyboardStableFrameHeight: 0,
|
|
78
|
+
isKeyboardSeeding: false,
|
|
76
79
|
...providerProps,
|
|
77
80
|
onlyShowFrame: true,
|
|
78
81
|
children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(ModalSheetView, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","nativeSheet_exports","__export","getNativeSheet","setupNativeSheet","module","exports","import_jsx_runtime","require","import_stacks","import_react","import_react_native","import_SheetContext","import_useSheetOpenState","import_useSheetProviderProps","nativeSheets","ios","platform","RNIOSModal","ModalSheetView","ModalSheetViewMainContent","props","state","useSheetOpenState","providerProps","useSheetProviderProps","open","setOpen","ref","useRef","useEffect","_ref_current","current","presentModal","_ref_current1","dismissModal","setOpenInternal","next","_props_onOpenChange","onOpenChange","call","jsx","Fragment","children","jsxs","SheetProvider","setHasScrollView","emptyFn","keyboardOccludedHeight","onlyShowFrame","onModalDidDismiss","View","style","flex"],"sources":["../../src/nativeSheet.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,mBAAA;AAAAC,QAAA,CAAAD,mBAAA;EAAAE,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAV,YAAuB,CAAAK,mBAAA;AAEvB,IAAAM,kBAAkC,GAAAC,OAAA;AAClC,IAAAC,aAAA,GAAAD,OAAqB;AACrB,IAAAE,YAAA,GAAAF,OAA8B;AAE9B,IAAAG,mBAAA,GAAAH,OAAkC;AAClC,IAAAI,mBAAA,GAAAJ,OAAA,2BAAsC;AAqD9B,IAAAK,wBAAA,GAAAL,OAAA;AA/CR,IAAAM,4BAAyF,GAAAN,OAAA;AAAA,IACvFO,YAAK;EACPC,GAAA;AAEO;AACL,SAAOb,cAAaA,CAAAc,QAAQ;EAC9B,OAAAF,YAAA,CAAAE,QAAA;AAEO;AAIL,SAAMb,gBAAEA,CAAgBa,QAAA,EAAAC,UAAA;EAExB,IAAI;IAAAC,cAAa;IAAAC;EAAO,IAAAF,UAAA;EACtB,IAAAD,QAAA,KAAa,OAAQ;IACnBF,YAAM,CAAAE,QAAQ,cAAAI,KAAA;MACd,IAAAC,KAAM,OAAAT,wBAAgB,CAAAU,iBAAA,EAAAF,KAAA;MAItB,IAAAG,aAAc,KAAQ,EAAAV,4BAAI,CAAAW,qBAAA,EAAAJ,KAAA,EAAAC,KAAA;MAC1B;QAAMI,IAAA;QAAAC;MAAM,IAAAL,KAAA;MAKZ,IAAAM,GAAA,OAAAlB,YAAA,CAAAmB,MAAU,EAAM;MACd,IAAAnB,YAAU,CAAAoB,SAAA;QACR,IAAAJ,IAAI;UACN,IAAAK,YAAO;UACL,CAAAA,YAAa,GAAAH,GAAA,CAAAI,OAAa,cAAAD,YAAA,uBAAAA,YAAA,CAAAE,YAAA;QAC5B;UACE,IAAIC,aAAC;UAET,CAAAA,aAAS,GAAAN,GAAA,CAAgBI,OAAe,cAAAE,aAAA,uBAAAA,aAAA,CAAAC,YAAA;QACtC;MACA,IACFT,IAAA,CAQA;MAEI,SAACU,gBAAAC,IAAA;QAAA,IAAAC,mBAAA;QAAA,CAAAA,mBACmB,GAAAjB,KAAA,CAAAkB,YAAA,cAAAD,mBAAA,uBAAAA,mBAAA,CAAAE,IAAA,CAAAnB,KAAA,EAAAK,IAAA;QAAAC,OAClB,CAAAU,IAAA;MAAwB;
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","nativeSheet_exports","__export","getNativeSheet","setupNativeSheet","module","exports","import_jsx_runtime","require","import_stacks","import_react","import_react_native","import_SheetContext","import_useSheetOpenState","import_useSheetProviderProps","nativeSheets","ios","platform","RNIOSModal","ModalSheetView","ModalSheetViewMainContent","props","state","useSheetOpenState","providerProps","useSheetProviderProps","open","setOpen","ref","useRef","useEffect","_ref_current","current","presentModal","_ref_current1","dismissModal","setOpenInternal","next","_props_onOpenChange","onOpenChange","call","jsx","Fragment","children","jsxs","SheetProvider","setHasScrollView","emptyFn","keyboardOccludedHeight","isKeyboardVisible","keyboardStableFrameHeight","isKeyboardSeeding","onlyShowFrame","onModalDidDismiss","View","style","flex"],"sources":["../../src/nativeSheet.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,mBAAA;AAAAC,QAAA,CAAAD,mBAAA;EAAAE,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAV,YAAuB,CAAAK,mBAAA;AAEvB,IAAAM,kBAAkC,GAAAC,OAAA;AAClC,IAAAC,aAAA,GAAAD,OAAqB;AACrB,IAAAE,YAAA,GAAAF,OAA8B;AAE9B,IAAAG,mBAAA,GAAAH,OAAkC;AAClC,IAAAI,mBAAA,GAAAJ,OAAA,2BAAsC;AAqD9B,IAAAK,wBAAA,GAAAL,OAAA;AA/CR,IAAAM,4BAAyF,GAAAN,OAAA;AAAA,IACvFO,YAAK;EACPC,GAAA;AAEO;AACL,SAAOb,cAAaA,CAAAc,QAAQ;EAC9B,OAAAF,YAAA,CAAAE,QAAA;AAEO;AAIL,SAAMb,gBAAEA,CAAgBa,QAAA,EAAAC,UAAA;EAExB,IAAI;IAAAC,cAAa;IAAAC;EAAO,IAAAF,UAAA;EACtB,IAAAD,QAAA,KAAa,OAAQ;IACnBF,YAAM,CAAAE,QAAQ,cAAAI,KAAA;MACd,IAAAC,KAAM,OAAAT,wBAAgB,CAAAU,iBAAA,EAAAF,KAAA;MAItB,IAAAG,aAAc,KAAQ,EAAAV,4BAAI,CAAAW,qBAAA,EAAAJ,KAAA,EAAAC,KAAA;MAC1B;QAAMI,IAAA;QAAAC;MAAM,IAAAL,KAAA;MAKZ,IAAAM,GAAA,OAAAlB,YAAA,CAAAmB,MAAU,EAAM;MACd,IAAAnB,YAAU,CAAAoB,SAAA;QACR,IAAAJ,IAAI;UACN,IAAAK,YAAO;UACL,CAAAA,YAAa,GAAAH,GAAA,CAAAI,OAAa,cAAAD,YAAA,uBAAAA,YAAA,CAAAE,YAAA;QAC5B;UACE,IAAIC,aAAC;UAET,CAAAA,aAAS,GAAAN,GAAA,CAAgBI,OAAe,cAAAE,aAAA,uBAAAA,aAAA,CAAAC,YAAA;QACtC;MACA,IACFT,IAAA,CAQA;MAEI,SAACU,gBAAAC,IAAA;QAAA,IAAAC,mBAAA;QAAA,CAAAA,mBACmB,GAAAjB,KAAA,CAAAkB,YAAA,cAAAD,mBAAA,uBAAAA,mBAAA,CAAAE,IAAA,CAAAnB,KAAA,EAAAK,IAAA;QAAAC,OAClB,CAAAU,IAAA;MAAwB;MACL,OACnB,mBAAA9B,kBAA2B,CAAAkC,GAAA,EAAAlC,kBAAA,CAAAmC,QAAA;QAAAC,QAC3B,iBAAmB,IAAApC,kBAAA,CAAAqC,IAAA,EAAAhC,mBAAA,CAAAiC,aAAA;UAClBC,gBAAG,EAAAC,OAAA;UACJC,sBAAa;UAEbC,iBAAA;UAAAC,yBAAA;UAIAC,iBAIA;UAAA,GAAA3B,aAAC;UAAA4B,aAAA;UAAAT,QACC,GAAS,eACA,IAAApC,kBAAA,CAAAkC,GAAA,EAAAtB,cAAA;YAAAS,GACT;YAAcyB,iBACP,WAAAA,CAAA;cACP,OAAAjB,eAAQ;YAAA;YAEDO,QAAA,qBAAApC,kBAAA,CAAAkC,GAAA,EAAArB,yBAAA;cACTuB,QAAA,qBAAApC,kBAAA,CAAAkC,GAAA,EAAA9B,mBAAA,CAAA2C,IAAA;gBAAAC,KAAA;kBAAAC,IAAA;gBAEJ;gBAEJb,QAAA,EAAAtB,KAAA,CAAAsB;cACF;YACF;UAEM,IAEN","ignoreList":[]}
|
|
@@ -26,15 +26,71 @@ __export(useKeyboardControllerSheet_exports, {
|
|
|
26
26
|
});
|
|
27
27
|
module.exports = __toCommonJS(useKeyboardControllerSheet_exports);
|
|
28
28
|
var import_react = require("react");
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
var import_constants = require("@tamagui/constants");
|
|
30
|
+
var import_webViewport = require("./webViewport.cjs");
|
|
31
|
+
function useKeyboardControllerSheet(options) {
|
|
32
|
+
const {
|
|
33
|
+
enabled
|
|
34
|
+
} = options;
|
|
35
|
+
const [keyboardHeight, setKeyboardHeight] = (0, import_react.useState)(0);
|
|
36
|
+
const [isKeyboardVisible, setIsKeyboardVisible] = (0, import_react.useState)(false);
|
|
31
37
|
const pauseKeyboardHandler = (0, import_react.useRef)(false);
|
|
38
|
+
const pendingHide = (0, import_react.useRef)(false);
|
|
39
|
+
const isVisibleRef = (0, import_react.useRef)(false);
|
|
40
|
+
isVisibleRef.current = isKeyboardVisible;
|
|
41
|
+
const dismissKeyboard = (0, import_react.useCallback)(() => {
|
|
42
|
+
if (typeof document === "undefined") return;
|
|
43
|
+
const active = document.activeElement;
|
|
44
|
+
if ((0, import_webViewport.isEditableElement)(active)) {
|
|
45
|
+
active?.blur?.();
|
|
46
|
+
}
|
|
47
|
+
}, []);
|
|
48
|
+
const flushPendingHide = (0, import_react.useCallback)(() => {
|
|
49
|
+
if (pendingHide.current) {
|
|
50
|
+
pendingHide.current = false;
|
|
51
|
+
setIsKeyboardVisible(false);
|
|
52
|
+
setKeyboardHeight(0);
|
|
53
|
+
}
|
|
54
|
+
}, []);
|
|
55
|
+
(0, import_react.useEffect)(() => {
|
|
56
|
+
if (!import_constants.isWeb || !enabled) return;
|
|
57
|
+
if (typeof window === "undefined") return;
|
|
58
|
+
const vv = window.visualViewport;
|
|
59
|
+
if (!vv) return;
|
|
60
|
+
const update = () => {
|
|
61
|
+
const height = (0, import_webViewport.getWebKeyboardHeight)();
|
|
62
|
+
const tall = height >= import_webViewport.MIN_KEYBOARD_HEIGHT;
|
|
63
|
+
const editableFocused = (0, import_webViewport.isEditableElement)(document.activeElement);
|
|
64
|
+
const visible = tall && (editableFocused || isVisibleRef.current);
|
|
65
|
+
if (!visible) {
|
|
66
|
+
if (pauseKeyboardHandler.current && isVisibleRef.current) {
|
|
67
|
+
pendingHide.current = true;
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
setIsKeyboardVisible(false);
|
|
71
|
+
setKeyboardHeight(0);
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
pendingHide.current = false;
|
|
75
|
+
setIsKeyboardVisible(true);
|
|
76
|
+
setKeyboardHeight(prev => prev === height ? prev : height);
|
|
77
|
+
};
|
|
78
|
+
vv.addEventListener("resize", update);
|
|
79
|
+
window.addEventListener("focusin", update);
|
|
80
|
+
window.addEventListener("focusout", update);
|
|
81
|
+
update();
|
|
82
|
+
return () => {
|
|
83
|
+
vv.removeEventListener("resize", update);
|
|
84
|
+
window.removeEventListener("focusin", update);
|
|
85
|
+
window.removeEventListener("focusout", update);
|
|
86
|
+
};
|
|
87
|
+
}, [enabled]);
|
|
32
88
|
return {
|
|
33
89
|
keyboardControllerEnabled: false,
|
|
34
|
-
keyboardHeight
|
|
35
|
-
isKeyboardVisible
|
|
36
|
-
dismissKeyboard
|
|
90
|
+
keyboardHeight,
|
|
91
|
+
isKeyboardVisible,
|
|
92
|
+
dismissKeyboard,
|
|
37
93
|
pauseKeyboardHandler,
|
|
38
|
-
flushPendingHide
|
|
94
|
+
flushPendingHide
|
|
39
95
|
};
|
|
40
96
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useSheetProviderProps_exports","__export","useSheetProviderProps","module","exports","import_react","__toESM","require","import_core","import_use_constant","import_use_controllable_state","props","state","options","arguments","length","handleRef","default","useRef","contentRef","frameSize","setFrameSize","useState","maxContentSize","setMaxContentSize","_props_snapPointsMode","snapPointsMode","_props_snapPoints","snapPointsProp","snapPoints","hasFit","useMemo","dismissOnSnapToBottom","JSON","stringify","position_","setPositionImmediate","useControllableState","prop","position","defaultProp","defaultPosition","open","onChange","onPositionChange","strategy","setPosition","useCallback","next","setOpen","process","env","NODE_ENV","some","p","endsWith","n","Number","slice","console","warn","indexOf","shouldSetPositionOpen","useEffect","animationDriver","useConfiguration","Error","scrollBridge","useConstant","parentDragListeners","Set","bridge","hasScrollableContent","enabled","y","paneY","paneMinY","scrollStartY","drag","release","scrollLock","isParentDragging","onParentDragging","cb","add","delete","setParentDragging","val","forEach","disableRemoveScroll","modal","forceRemoveScrollEnabled","maxSnapPoint","screenSize","_props_dismissOnOverlayPress","_props_dismissOnSnapToBottom","providerProps","hidden","isHidden","dismissOnOverlayPress"],"sources":["../../src/useSheetProviderProps.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,6BAAA;AAAAC,QAAA,CAAAD,6BAAA;EAAAE,qBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAkB,CAAAK,6BAAA;AAElB,IAAAK,YAAA,GAAiCC,OAAA,CAAAC,OAAA;AACjC,IAAAC,WAAA,GAAAD,OAAA,CAA4B;AAC5B,IAAAE,mBAAA,GAAAF,OAAA,wBAAqC;
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useSheetProviderProps_exports","__export","useSheetProviderProps","module","exports","import_react","__toESM","require","import_core","import_use_constant","import_use_controllable_state","props","state","options","arguments","length","handleRef","default","useRef","contentRef","frameSize","setFrameSize","useState","maxContentSize","setMaxContentSize","_props_snapPointsMode","snapPointsMode","_props_snapPoints","snapPointsProp","snapPoints","hasFit","useMemo","dismissOnSnapToBottom","JSON","stringify","position_","setPositionImmediate","useControllableState","prop","position","defaultProp","defaultPosition","open","onChange","onPositionChange","strategy","setPosition","useCallback","next","setOpen","process","env","NODE_ENV","some","p","endsWith","n","Number","slice","console","warn","indexOf","shouldSetPositionOpen","useEffect","animationDriver","useConfiguration","Error","scrollBridge","useConstant","parentDragListeners","Set","bridge","hasScrollableContent","enabled","y","paneY","paneMinY","scrollStartY","drag","release","scrollLock","isParentDragging","onParentDragging","cb","add","delete","setParentDragging","val","forEach","disableRemoveScroll","modal","forceRemoveScrollEnabled","maxSnapPoint","screenSize","_props_dismissOnOverlayPress","_props_dismissOnSnapToBottom","providerProps","hidden","isHidden","dismissOnOverlayPress"],"sources":["../../src/useSheetProviderProps.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -68,6 +68,7 @@ function useSheetScrollViewGestures({
|
|
|
68
68
|
scrollYAtGestureStart: currentScrollY
|
|
69
69
|
};
|
|
70
70
|
scrollBridge.scrollStartY = touch.pageY;
|
|
71
|
+
scrollBridge.scrollNodeTouched = true;
|
|
71
72
|
};
|
|
72
73
|
const handleTouchMove = e => {
|
|
73
74
|
const touch = e.touches[0];
|
|
@@ -94,6 +95,7 @@ function useSheetScrollViewGestures({
|
|
|
94
95
|
if (newOwner === "pan") {
|
|
95
96
|
s.panDragOffset = 0;
|
|
96
97
|
s.dys = [];
|
|
98
|
+
scrollBridge.startPanDrag?.();
|
|
97
99
|
scrollBridge.setParentDragging(true);
|
|
98
100
|
disableScroll();
|
|
99
101
|
} else {
|
|
@@ -109,7 +111,7 @@ function useSheetScrollViewGestures({
|
|
|
109
111
|
scrollBridge.drag(s.panDragOffset);
|
|
110
112
|
s.dys.push(dy);
|
|
111
113
|
if (s.dys.length > 100) s.dys = s.dys.slice(-10);
|
|
112
|
-
} else if (s.owner === "scroll") {
|
|
114
|
+
} else if (s.owner === "scroll" && !e.isTrusted) {
|
|
113
115
|
const scrollDelta = -dy;
|
|
114
116
|
const maxScrollY = node.scrollHeight - node.clientHeight;
|
|
115
117
|
const newScrollY = Math.max(0, Math.min(maxScrollY, currentScrollY + scrollDelta));
|
|
@@ -135,11 +137,14 @@ function useSheetScrollViewGestures({
|
|
|
135
137
|
dragAt: s.panDragOffset,
|
|
136
138
|
vy
|
|
137
139
|
});
|
|
140
|
+
} else if (s.owner === "scroll") {
|
|
141
|
+
scrollBridge.snapToPosition?.(0);
|
|
138
142
|
}
|
|
139
143
|
enableScroll();
|
|
140
144
|
s.owner = "none";
|
|
141
145
|
s.panDragOffset = 0;
|
|
142
146
|
s.dys = [];
|
|
147
|
+
scrollBridge.scrollNodeTouched = false;
|
|
143
148
|
};
|
|
144
149
|
node.addEventListener("touchstart", handleTouchStart, {
|
|
145
150
|
signal: controller.signal,
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
14
|
+
get: () => from[key],
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
+
value: true
|
|
22
|
+
}), mod);
|
|
23
|
+
var webViewport_exports = {};
|
|
24
|
+
__export(webViewport_exports, {
|
|
25
|
+
MIN_KEYBOARD_HEIGHT: () => MIN_KEYBOARD_HEIGHT,
|
|
26
|
+
getStableLayoutViewportHeight: () => getStableLayoutViewportHeight,
|
|
27
|
+
getWebKeyboardHeight: () => getWebKeyboardHeight,
|
|
28
|
+
isEditableElement: () => isEditableElement
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(webViewport_exports);
|
|
31
|
+
const MIN_KEYBOARD_HEIGHT = 80;
|
|
32
|
+
function isEditableElement(el) {
|
|
33
|
+
if (!el) return false;
|
|
34
|
+
const tag = el.tagName;
|
|
35
|
+
if (tag === "INPUT" || tag === "TEXTAREA" || tag === "SELECT") return true;
|
|
36
|
+
if (el.isContentEditable) return true;
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
function getStableLayoutViewportHeight() {
|
|
40
|
+
if (typeof window === "undefined") return 0;
|
|
41
|
+
const ch = typeof document !== "undefined" ? document.documentElement?.clientHeight : 0;
|
|
42
|
+
if (ch && ch > 0) return ch;
|
|
43
|
+
return Math.max(window.innerHeight || 0, window.visualViewport?.height || 0);
|
|
44
|
+
}
|
|
45
|
+
function getWebKeyboardHeight() {
|
|
46
|
+
if (typeof window === "undefined") return 0;
|
|
47
|
+
const vv = window.visualViewport;
|
|
48
|
+
if (!vv) return 0;
|
|
49
|
+
return Math.max(0, Math.round(getStableLayoutViewportHeight() - vv.height));
|
|
50
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
}), mod);
|
|
25
|
+
var webViewport_exports = {};
|
|
26
|
+
__export(webViewport_exports, {
|
|
27
|
+
MIN_KEYBOARD_HEIGHT: () => MIN_KEYBOARD_HEIGHT,
|
|
28
|
+
getStableLayoutViewportHeight: () => getStableLayoutViewportHeight,
|
|
29
|
+
getWebKeyboardHeight: () => getWebKeyboardHeight,
|
|
30
|
+
isEditableElement: () => isEditableElement
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(webViewport_exports);
|
|
33
|
+
var MIN_KEYBOARD_HEIGHT = 80;
|
|
34
|
+
function isEditableElement(el) {
|
|
35
|
+
if (!el) return false;
|
|
36
|
+
var tag = el.tagName;
|
|
37
|
+
if (tag === "INPUT" || tag === "TEXTAREA" || tag === "SELECT") return true;
|
|
38
|
+
if (el.isContentEditable) return true;
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
function getStableLayoutViewportHeight() {
|
|
42
|
+
var _document_documentElement, _window_visualViewport;
|
|
43
|
+
if (typeof window === "undefined") return 0;
|
|
44
|
+
var ch = typeof document !== "undefined" ? (_document_documentElement = document.documentElement) === null || _document_documentElement === void 0 ? void 0 : _document_documentElement.clientHeight : 0;
|
|
45
|
+
if (ch && ch > 0) return ch;
|
|
46
|
+
return Math.max(window.innerHeight || 0, ((_window_visualViewport = window.visualViewport) === null || _window_visualViewport === void 0 ? void 0 : _window_visualViewport.height) || 0);
|
|
47
|
+
}
|
|
48
|
+
function getWebKeyboardHeight() {
|
|
49
|
+
if (typeof window === "undefined") return 0;
|
|
50
|
+
var vv = window.visualViewport;
|
|
51
|
+
if (!vv) return 0;
|
|
52
|
+
return Math.max(0, Math.round(getStableLayoutViewportHeight() - vv.height));
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=webViewport.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","webViewport_exports","__export","MIN_KEYBOARD_HEIGHT","getStableLayoutViewportHeight","getWebKeyboardHeight","isEditableElement","module","exports","el","tag","tagName","isContentEditable","_document_documentElement","_window_visualViewport","window","ch","document","documentElement","clientHeight","Math","max","innerHeight","visualViewport","height","vv"],"sources":["../../src/webViewport.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,mBAAA;AAAAC,QAAA,CAAAD,mBAAA;EAAAE,mBAAA,EAAAA,CAAA,KAAAA,mBAAA;EAAAC,6BAAA,EAAAA,CAAA,KAAAA,6BAAA;EAAAC,oBAAA,EAAAA,CAAA,KAAAA,oBAAA;EAAAC,iBAAA,EAAAA,CAAA,KAAAA;AAAA;AAmBOC,MAAM,CAAAC,OAAA,GAAAZ,YAAsB,CAAAK,mBAAA;AAE5B,IAAAE,mBAAS,KAAkB;AAChC,SAAKG,iBAAWA,CAAAG,EAAA;EAChB,KAAAA,EAAM,SAAS;EACf,IAAIC,GAAA,GAAAD,EAAQ,CAAAE,OAAA;EACZ,IAAKD,GAAmB,gBAAAA,GAAmB,eAAO,IAAAA,GAAA;EAClD,IAAAD,EAAA,CAAOG,iBAAA;EACT;AAOO;AACL,SAAIR,6BAA+BA,CAAA;EACnC,IAAAS,yBAAkB,EAAaC,sBAAc;EAC7C,IAAI,OAAMC,MAAQ,gBAAO;EAEzB,IAAAC,EAAA,GAAO,OAASC,QAAO,gBAAe,GAAG,CAAAJ,yBAAuB,GAAAI,QAAW,CAAAC,eAAA,cAAAL,yBAAA,uBAAAA,yBAAA,CAAAM,YAAA;EAC7E,IAAAH,EAAA,IAAAA,EAAA,aAAAA,EAAA;EAMO,OAASI,IAAA,CAAAC,GAAA,CAAAN,MAAA,CAAAO,WAA+B,SAAAR,sBAAA,GAAAC,MAAA,CAAAQ,cAAA,cAAAT,sBAAA,uBAAAA,sBAAA,CAAAU,MAAA;AAC7C;AACA,SAAMnB,oBAAYA,CAAA;EAClB,IAAI,OAAKU,MAAO;EAChB,IAAAU,EAAA,GAAOV,MAAK,CAAIQ,cAAc;EAChC,KAAAE,EAAA","ignoreList":[]}
|