react-native-nitro-modal 0.2.0 → 0.3.1-rc
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/README.md +52 -4
- package/android/src/main/java/com/margelo/nitro/nitromodal/BottomSheetPresenter.kt +399 -34
- package/android/src/main/java/com/margelo/nitro/nitromodal/HybridNitroModal.kt +67 -22
- package/android/src/main/java/com/margelo/nitro/nitromodal/ModalConfig.kt +35 -1
- package/android/src/main/java/com/margelo/nitro/nitromodal/ModalContentRoot.kt +48 -5
- package/android/src/main/java/com/margelo/nitro/nitromodal/ModalPresenter.kt +63 -4
- package/android/src/main/java/com/margelo/nitro/nitromodal/NitroModalHostView.kt +68 -8
- package/ios/HybridNitroModal.swift +115 -20
- package/ios/ModalConfig.swift +48 -2
- package/ios/NitroModalHostView.swift +73 -8
- package/ios/SheetView.swift +647 -0
- package/ios/SheetViewController.swift +19 -450
- package/lib/module/NitroModal.js +54 -6
- package/lib/module/NitroModal.js.map +1 -1
- package/lib/module/NitroModalView.web.js +86 -26
- package/lib/module/NitroModalView.web.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/web/AnimatedValue.js +3 -0
- package/lib/module/web/AnimatedValue.js.map +1 -1
- package/lib/module/web/ModalConfig.js +10 -4
- package/lib/module/web/ModalConfig.js.map +1 -1
- package/lib/module/web/ModalController.js +29 -2
- package/lib/module/web/ModalController.js.map +1 -1
- package/lib/module/web/ModalPresenter.js +47 -12
- package/lib/module/web/ModalPresenter.js.map +1 -1
- package/lib/module/web/SheetPresenter.js +118 -34
- package/lib/module/web/SheetPresenter.js.map +1 -1
- package/lib/module/web/dom.js +16 -0
- package/lib/module/web/dom.js.map +1 -1
- package/lib/typescript/src/NitroModal.d.ts +42 -2
- package/lib/typescript/src/NitroModal.d.ts.map +1 -1
- package/lib/typescript/src/NitroModal.nitro.d.ts +37 -2
- package/lib/typescript/src/NitroModal.nitro.d.ts.map +1 -1
- package/lib/typescript/src/NitroModalView.web.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/web/AnimatedValue.d.ts +1 -0
- package/lib/typescript/src/web/AnimatedValue.d.ts.map +1 -1
- package/lib/typescript/src/web/ModalConfig.d.ts +10 -0
- package/lib/typescript/src/web/ModalConfig.d.ts.map +1 -1
- package/lib/typescript/src/web/ModalController.d.ts +5 -0
- package/lib/typescript/src/web/ModalController.d.ts.map +1 -1
- package/lib/typescript/src/web/ModalPresenter.d.ts +13 -0
- package/lib/typescript/src/web/ModalPresenter.d.ts.map +1 -1
- package/lib/typescript/src/web/SheetPresenter.d.ts +13 -2
- package/lib/typescript/src/web/SheetPresenter.d.ts.map +1 -1
- package/lib/typescript/src/web/dom.d.ts +4 -0
- package/lib/typescript/src/web/dom.d.ts.map +1 -1
- package/nitrogen/generated/android/c++/JHybridNitroModalSpec.cpp +78 -6
- package/nitrogen/generated/android/c++/JHybridNitroModalSpec.hpp +14 -2
- package/nitrogen/generated/android/c++/JNamedSheetDetent.hpp +64 -0
- package/nitrogen/generated/android/c++/JSheetDetent.cpp +26 -0
- package/nitrogen/generated/android/c++/JSheetDetent.hpp +42 -37
- package/nitrogen/generated/android/c++/views/JHybridNitroModalStateUpdater.cpp +30 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromodal/HybridNitroModalSpec.kt +52 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromodal/NamedSheetDetent.kt +25 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitromodal/SheetDetent.kt +47 -10
- package/nitrogen/generated/android/nitromodal+autolinking.cmake +1 -0
- package/nitrogen/generated/ios/NitroModal-Swift-Cxx-Bridge.hpp +68 -8
- package/nitrogen/generated/ios/NitroModal-Swift-Cxx-Umbrella.hpp +4 -3
- package/nitrogen/generated/ios/c++/HybridNitroModalSpecSwift.hpp +46 -5
- package/nitrogen/generated/ios/c++/views/HybridNitroModalComponent.mm +36 -0
- package/nitrogen/generated/ios/swift/HybridNitroModalSpec.swift +6 -0
- package/nitrogen/generated/ios/swift/HybridNitroModalSpec_cxx.swift +158 -5
- package/nitrogen/generated/ios/swift/NamedSheetDetent.swift +48 -0
- package/nitrogen/generated/ios/swift/SheetDetent.swift +15 -33
- package/nitrogen/generated/shared/c++/HybridNitroModalSpec.cpp +12 -0
- package/nitrogen/generated/shared/c++/HybridNitroModalSpec.hpp +18 -5
- package/nitrogen/generated/shared/c++/{SheetDetent.hpp → NamedSheetDetent.hpp} +17 -17
- package/nitrogen/generated/shared/c++/views/HybridNitroModalComponent.cpp +13 -1
- package/nitrogen/generated/shared/c++/views/HybridNitroModalComponent.hpp +21 -2
- package/nitrogen/generated/shared/json/NitroModalConfig.json +6 -0
- package/package.json +1 -1
- package/src/NitroModal.nitro.ts +38 -2
- package/src/NitroModal.tsx +93 -4
- package/src/NitroModalView.web.tsx +79 -12
- package/src/index.tsx +2 -0
- package/src/web/AnimatedValue.ts +4 -0
- package/src/web/ModalConfig.ts +19 -3
- package/src/web/ModalController.ts +35 -2
- package/src/web/ModalPresenter.ts +50 -11
- package/src/web/SheetPresenter.ts +169 -37
- package/src/web/dom.ts +20 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["canScrollWithin","clipOverflow","readKeyboardHeight","readSafeAreaInsets","toCSSColor","ZERO_INSETS","ModalPresenter","elements","viewport","width","height","insets","keyboardHeight","contentSize","entering","isDismissing","finished","observedContent","resizeObserver","constructor","config","listener","isShown","show","
|
|
1
|
+
{"version":3,"names":["canScrollWithin","clipOverflow","inlineInsets","readKeyboardHeight","readSafeAreaInsets","toCSSColor","ZERO_INSETS","ModalPresenter","elements","viewport","width","height","insets","keyboardHeight","contentSize","entering","isDismissing","finished","observedContent","resizeObserver","hostObserver","constructor","config","listener","isShown","show","setInteractive","surface","style","overflow","opacity","transform","backdrop","display","isInline","window","addEventListener","handleResize","ResizeObserver","observe","overlay","visualViewport","handleKeyboard","handleBackdropClick","handleWheel","passive","handleContentResize","measureViewport","observeContent","applyBackdrop","didShow","animateIn","update","previous","configDidChange","contentDidRender","contentSizeDidChange","dismiss","focused","document","activeElement","HTMLElement","contains","blur","animateOut","finish","cancelDismiss","destroy","teardown","snapToDetent","_index","notifyPresented","onPresented","reportContentArea","onContentAreaChange","stopAnimations","removeEventListener","disconnect","onDismissed","backgroundColor","backdropColor","backdropOpacity","backdropBlurRadius","setProperty","contentBackgroundColor","interactive","pointerEvents","clientWidth","clientHeight","root","content","firstElementChild","element","unobserve","measureContent","offsetWidth","offsetHeight","viewportDidChange","onBackdropPress","event","ctrlKey","Math","abs","deltaX","deltaY","target","preventDefault"],"sourceRoot":"../../../src","sources":["web/ModalPresenter.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,11 +3,16 @@
|
|
|
3
3
|
/// <reference lib="dom" />
|
|
4
4
|
|
|
5
5
|
import { AnimatedValue, INSTANT } from "./AnimatedValue.js";
|
|
6
|
-
import { findVerticalScroller, isTextInput, prefersReducedMotion, suppressNextClick } from "./dom.js";
|
|
6
|
+
import { findVerticalScroller, isTextInput, prefersReducedMotion, REFRESH_INDICATOR_SIZE, suppressNextClick, toCSSColor } from "./dom.js";
|
|
7
7
|
import { ModalPresenter } from "./ModalPresenter.js";
|
|
8
8
|
|
|
9
|
-
/** Gap kept above
|
|
9
|
+
/** Gap kept above a modal sheet at its tallest. */
|
|
10
10
|
const TOP_GAP = 10;
|
|
11
|
+
/**
|
|
12
|
+
* How far below its lowest detent the sheet must be pulled to refresh, and
|
|
13
|
+
* where it rests while refreshing.
|
|
14
|
+
*/
|
|
15
|
+
const REFRESH_THRESHOLD = 56;
|
|
11
16
|
/**
|
|
12
17
|
* Extra sheet height below the viewport so it stays attached to the bottom
|
|
13
18
|
* edge while rubber-banding upward.
|
|
@@ -35,28 +40,44 @@ const EXIT = {
|
|
|
35
40
|
response: 0.45,
|
|
36
41
|
dampingRatio: 0.8
|
|
37
42
|
};
|
|
38
|
-
function sheetWidth(available) {
|
|
39
|
-
return Math.min(available, MAX_WIDTH);
|
|
43
|
+
function sheetWidth(available, isInline) {
|
|
44
|
+
return isInline ? available : Math.min(available, MAX_WIDTH);
|
|
40
45
|
}
|
|
41
46
|
|
|
42
47
|
/** Tallest height the content may occupy (excludes the bottom safe area). */
|
|
43
|
-
function maximumDetentValue(viewportHeight, insets) {
|
|
44
|
-
|
|
48
|
+
function maximumDetentValue(viewportHeight, insets, isInline) {
|
|
49
|
+
const gap = isInline ? 0 : TOP_GAP;
|
|
50
|
+
return Math.max(0, viewportHeight - insets.top - insets.bottom - gap);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/** Content height at `detent`; `fitContent` uses the measured `fitting` height. */
|
|
54
|
+
function detentHeight(detent, maximum, fitting) {
|
|
55
|
+
switch (detent) {
|
|
56
|
+
case 'small':
|
|
57
|
+
return maximum * 0.25;
|
|
58
|
+
case 'medium':
|
|
59
|
+
return maximum * 0.5;
|
|
60
|
+
case 'large':
|
|
61
|
+
return maximum;
|
|
62
|
+
case 'fitContent':
|
|
63
|
+
return Math.min(Math.max(fitting, 1), maximum);
|
|
64
|
+
default:
|
|
65
|
+
return Number.isFinite(detent) ? Math.min(Math.max(detent, 1), maximum) : maximum;
|
|
66
|
+
}
|
|
45
67
|
}
|
|
46
68
|
|
|
47
69
|
/** Height the content may occupy at the largest of `detents`. */
|
|
48
70
|
function contentHeight(detents, maximum) {
|
|
49
|
-
if (detents.length === 0
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
return detents.includes('medium') ? maximum * 0.5 : maximum * 0.25;
|
|
71
|
+
if (detents.length === 0) return maximum;
|
|
72
|
+
// `fitContent` content can grow up to the maximum.
|
|
73
|
+
return Math.max(...detents.map(detent => detentHeight(detent, maximum, maximum)));
|
|
53
74
|
}
|
|
54
75
|
|
|
55
76
|
/** Best guess of the content area before the sheet is on screen. */
|
|
56
|
-
export function sheetContentArea(detents, viewport, insets) {
|
|
77
|
+
export function sheetContentArea(detents, viewport, insets, isInline) {
|
|
57
78
|
return {
|
|
58
|
-
width: sheetWidth(viewport.width),
|
|
59
|
-
height: contentHeight(detents, maximumDetentValue(viewport.height, insets))
|
|
79
|
+
width: sheetWidth(viewport.width, isInline),
|
|
80
|
+
height: contentHeight(detents, maximumDetentValue(viewport.height, insets, isInline))
|
|
60
81
|
};
|
|
61
82
|
}
|
|
62
83
|
function rubberBand(offset, dimension) {
|
|
@@ -82,11 +103,15 @@ export class SheetPresenter extends ModalPresenter {
|
|
|
82
103
|
drag = null;
|
|
83
104
|
/** Vertical velocity of the swipe that requested the dismissal. */
|
|
84
105
|
releaseVelocity = 0;
|
|
106
|
+
/** The sheet rests below its lowest detent, the indicator spinning above it. */
|
|
107
|
+
refreshing = false;
|
|
108
|
+
refreshSpin = null;
|
|
85
109
|
/** The sheet's top edge in the viewport. */
|
|
86
110
|
top = new AnimatedValue(0, 0.5, value => this.render(value));
|
|
87
111
|
constructor(config, listener) {
|
|
88
112
|
super(config, listener);
|
|
89
113
|
this.selectedIndex = Math.min(Math.max(config.initialDetentIndex, 0), this.detents.length - 1);
|
|
114
|
+
this.refreshing = config.refreshing ?? false;
|
|
90
115
|
}
|
|
91
116
|
snapToDetent(index) {
|
|
92
117
|
if (index < 0 || index >= this.detents.length) return;
|
|
@@ -125,7 +150,10 @@ export class SheetPresenter extends ModalPresenter {
|
|
|
125
150
|
onEnd
|
|
126
151
|
});
|
|
127
152
|
}
|
|
128
|
-
configDidChange() {
|
|
153
|
+
configDidChange(previous) {
|
|
154
|
+
if (previous.refreshing !== this.config.refreshing) {
|
|
155
|
+
this.refreshing = this.config.refreshing ?? false;
|
|
156
|
+
}
|
|
129
157
|
this.selectedIndex = Math.min(this.selectedIndex, this.detents.length - 1);
|
|
130
158
|
this.layout();
|
|
131
159
|
this.animateToRest();
|
|
@@ -145,6 +173,8 @@ export class SheetPresenter extends ModalPresenter {
|
|
|
145
173
|
teardown() {
|
|
146
174
|
super.teardown();
|
|
147
175
|
this.cancelDrag();
|
|
176
|
+
this.refreshSpin?.cancel();
|
|
177
|
+
this.refreshSpin = null;
|
|
148
178
|
const surface = this.elements?.surface;
|
|
149
179
|
surface?.removeEventListener('touchstart', this.handleTouchStart);
|
|
150
180
|
surface?.removeEventListener('touchmove', this.handleTouchMove);
|
|
@@ -159,23 +189,13 @@ export class SheetPresenter extends ModalPresenter {
|
|
|
159
189
|
return this.config.detents.length > 0 ? this.config.detents : ['fitContent'];
|
|
160
190
|
}
|
|
161
191
|
get maximumDetentValue() {
|
|
162
|
-
return maximumDetentValue(this.viewport.height, this.insets);
|
|
192
|
+
return maximumDetentValue(this.viewport.height, this.insets, this.config.isInline);
|
|
163
193
|
}
|
|
164
194
|
get keyboardLift() {
|
|
165
195
|
return this.config.keyboardBehavior === 'none' ? 0 : Math.max(0, this.keyboardHeight - this.insets.bottom);
|
|
166
196
|
}
|
|
167
197
|
height(detent) {
|
|
168
|
-
|
|
169
|
-
switch (detent) {
|
|
170
|
-
case 'small':
|
|
171
|
-
return maximum * 0.25;
|
|
172
|
-
case 'medium':
|
|
173
|
-
return maximum * 0.5;
|
|
174
|
-
case 'large':
|
|
175
|
-
return maximum;
|
|
176
|
-
case 'fitContent':
|
|
177
|
-
return Math.min(Math.max(this.contentSize.height, 1), maximum);
|
|
178
|
-
}
|
|
198
|
+
return detentHeight(detent, this.maximumDetentValue, this.contentSize.height);
|
|
179
199
|
}
|
|
180
200
|
|
|
181
201
|
/** Sheet top when resting on `detents[index]`. The bottom safe area is added below the content. */
|
|
@@ -185,18 +205,28 @@ export class SheetPresenter extends ModalPresenter {
|
|
|
185
205
|
} = this;
|
|
186
206
|
const detent = detents[Math.min(Math.max(index, 0), detents.length - 1)] ?? 'fitContent';
|
|
187
207
|
const top = this.viewport.height - this.insets.bottom - this.keyboardLift - this.height(detent);
|
|
188
|
-
return Math.max(top, this.insets.top + TOP_GAP);
|
|
208
|
+
return Math.max(top, this.insets.top + (this.config.isInline ? 0 : TOP_GAP));
|
|
189
209
|
}
|
|
190
210
|
get detentTops() {
|
|
191
211
|
return this.detents.map((_, index) => this.restingTop(index));
|
|
192
212
|
}
|
|
213
|
+
|
|
214
|
+
/** Where the sheet settles on `detents[index]`: held below the lowest detent while refreshing. */
|
|
215
|
+
settledTop(index) {
|
|
216
|
+
const top = this.restingTop(index);
|
|
217
|
+
if (!this.refreshing || Math.abs(top - Math.max(...this.detentTops)) >= 1) return top;
|
|
218
|
+
return top + REFRESH_THRESHOLD;
|
|
219
|
+
}
|
|
220
|
+
get settledTops() {
|
|
221
|
+
return this.detents.map((_, index) => this.settledTop(index));
|
|
222
|
+
}
|
|
193
223
|
layout() {
|
|
194
224
|
const {
|
|
195
225
|
surface,
|
|
196
226
|
content,
|
|
197
227
|
grabber
|
|
198
228
|
} = this.elements;
|
|
199
|
-
const width = sheetWidth(this.viewport.width);
|
|
229
|
+
const width = sheetWidth(this.viewport.width, this.config.isInline);
|
|
200
230
|
const radius = `${this.config.cornerRadius ?? DEFAULT_CORNER_RADIUS}px`;
|
|
201
231
|
Object.assign(surface.style, {
|
|
202
232
|
left: `${(this.viewport.width - width) / 2}px`,
|
|
@@ -211,6 +241,7 @@ export class SheetPresenter extends ModalPresenter {
|
|
|
211
241
|
content.style.width = `${width}px`;
|
|
212
242
|
content.style.height = `${this.maximumDetentValue}px`;
|
|
213
243
|
grabber.style.display = this.config.grabberVisible ? '' : 'none';
|
|
244
|
+
this.elements.refreshSpinner.style.color = this.config.refreshIndicatorColor != null ? toCSSColor(this.config.refreshIndicatorColor) : 'GrayText';
|
|
214
245
|
let height = contentHeight(this.config.detents, this.maximumDetentValue);
|
|
215
246
|
if (this.config.keyboardBehavior === 'resize') {
|
|
216
247
|
height -= this.keyboardLift;
|
|
@@ -222,6 +253,38 @@ export class SheetPresenter extends ModalPresenter {
|
|
|
222
253
|
if (!this.elements) return;
|
|
223
254
|
this.elements.surface.style.transform = `translate3d(0, ${top}px, 0)`;
|
|
224
255
|
this.elements.backdrop.style.opacity = String(this.backdropAlpha(top));
|
|
256
|
+
this.renderRefreshIndicator(top);
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Centered in the gap a pull uncovers below the lowest detent, fading in
|
|
261
|
+
* as the pull nears the threshold.
|
|
262
|
+
*/
|
|
263
|
+
renderRefreshIndicator(top) {
|
|
264
|
+
const {
|
|
265
|
+
refreshIndicator,
|
|
266
|
+
refreshSpinner
|
|
267
|
+
} = this.elements;
|
|
268
|
+
const visible = this.config.refreshing != null && !this.entering && !this.isDismissing && !this.isOffscreen;
|
|
269
|
+
const lowest = Math.max(...this.detentTops);
|
|
270
|
+
const progress = visible ? Math.min(Math.max((top - lowest) / REFRESH_THRESHOLD, 0), 1) : 0;
|
|
271
|
+
const x = (this.viewport.width - REFRESH_INDICATOR_SIZE) / 2;
|
|
272
|
+
const y = top - (REFRESH_THRESHOLD + REFRESH_INDICATOR_SIZE) / 2;
|
|
273
|
+
refreshIndicator.style.transform = `translate3d(${x}px, ${y}px, 0)`;
|
|
274
|
+
refreshIndicator.style.opacity = String(progress);
|
|
275
|
+
if (progress > 0 && !this.refreshSpin) {
|
|
276
|
+
this.refreshSpin = refreshSpinner.animate?.([{
|
|
277
|
+
transform: 'rotate(0deg)'
|
|
278
|
+
}, {
|
|
279
|
+
transform: 'rotate(360deg)'
|
|
280
|
+
}], {
|
|
281
|
+
duration: 800,
|
|
282
|
+
iterations: Infinity
|
|
283
|
+
}) ?? null;
|
|
284
|
+
} else if (progress === 0 && this.refreshSpin) {
|
|
285
|
+
this.refreshSpin.cancel();
|
|
286
|
+
this.refreshSpin = null;
|
|
287
|
+
}
|
|
225
288
|
}
|
|
226
289
|
|
|
227
290
|
/** Fully dimmed at every detent; fades out below the lowest one. */
|
|
@@ -235,7 +298,7 @@ export class SheetPresenter extends ModalPresenter {
|
|
|
235
298
|
return prefersReducedMotion() ? INSTANT : motion;
|
|
236
299
|
}
|
|
237
300
|
settle(motion, velocity) {
|
|
238
|
-
this.top.animateTo(this.
|
|
301
|
+
this.top.animateTo(this.settledTop(this.selectedIndex), this.motion(motion), {
|
|
239
302
|
velocity,
|
|
240
303
|
// Keeps the enter's completion when a re-layout takes it over.
|
|
241
304
|
onEnd: () => this.notifyPresented()
|
|
@@ -262,6 +325,9 @@ export class SheetPresenter extends ModalPresenter {
|
|
|
262
325
|
active: false,
|
|
263
326
|
rawTop: 0,
|
|
264
327
|
sheetDrove: false,
|
|
328
|
+
contentScrolled: false,
|
|
329
|
+
canRefresh: false,
|
|
330
|
+
refreshArmed: false,
|
|
265
331
|
samples: []
|
|
266
332
|
};
|
|
267
333
|
}
|
|
@@ -283,8 +349,10 @@ export class SheetPresenter extends ModalPresenter {
|
|
|
283
349
|
}
|
|
284
350
|
activate(drag) {
|
|
285
351
|
drag.active = true;
|
|
352
|
+
const isSettled = !this.top.isAnimating;
|
|
286
353
|
this.top.stop();
|
|
287
354
|
drag.rawTop = this.top.value;
|
|
355
|
+
drag.canRefresh = this.config.pullToRefreshEnabled && !this.config.dismissOnSwipe && !this.refreshing && isSettled && Math.abs(drag.rawTop - Math.max(...this.detentTops)) < 1;
|
|
288
356
|
const {
|
|
289
357
|
surface
|
|
290
358
|
} = this.elements;
|
|
@@ -313,20 +381,29 @@ export class SheetPresenter extends ModalPresenter {
|
|
|
313
381
|
} = drag;
|
|
314
382
|
if (scroller) {
|
|
315
383
|
// The browser's own scrolling is prevented for this gesture, so the
|
|
316
|
-
// content is scrolled here whenever the sheet can't move.
|
|
384
|
+
// content is scrolled here whenever the sheet can't move. Up: expand
|
|
385
|
+
// the sheet before scrolling. Down: scroll back to the top before
|
|
386
|
+
// collapsing the sheet, in a separate gesture.
|
|
317
387
|
const minTop = Math.min(...this.detentTops);
|
|
318
|
-
const drive = delta < 0 ? drag.rawTop > minTop + 0.5 : scroller.scrollTop <= 0;
|
|
388
|
+
const drive = delta < 0 ? drag.rawTop > minTop + 0.5 : !drag.contentScrolled && scroller.scrollTop <= 0;
|
|
319
389
|
if (drive) {
|
|
320
390
|
drag.rawTop = Math.max(drag.rawTop + delta, minTop);
|
|
321
391
|
} else {
|
|
322
392
|
scroller.scrollTop -= delta;
|
|
393
|
+
if (delta !== 0) {
|
|
394
|
+
drag.contentScrolled = true;
|
|
395
|
+
}
|
|
323
396
|
}
|
|
324
397
|
drag.sheetDrove = drive;
|
|
325
398
|
} else {
|
|
326
399
|
drag.rawTop += delta;
|
|
327
400
|
drag.sheetDrove = true;
|
|
328
401
|
}
|
|
329
|
-
|
|
402
|
+
const top = this.constrained(drag.rawTop);
|
|
403
|
+
if (drag.canRefresh) {
|
|
404
|
+
drag.refreshArmed = top - Math.max(...this.detentTops) >= REFRESH_THRESHOLD;
|
|
405
|
+
}
|
|
406
|
+
this.top.set(top);
|
|
330
407
|
}
|
|
331
408
|
release(drag) {
|
|
332
409
|
this.stopTracking();
|
|
@@ -337,7 +414,11 @@ export class SheetPresenter extends ModalPresenter {
|
|
|
337
414
|
}
|
|
338
415
|
const velocity = drag.sheetDrove ? this.velocity(drag) : 0;
|
|
339
416
|
const top = this.top.value;
|
|
340
|
-
|
|
417
|
+
if (drag.refreshArmed && this.config.refreshing != null) {
|
|
418
|
+
// Settles on the refreshing position; React confirms or ends it.
|
|
419
|
+
this.refreshing = true;
|
|
420
|
+
}
|
|
421
|
+
const tops = this.settledTops;
|
|
341
422
|
const lowest = Math.max(...tops);
|
|
342
423
|
// Where a fling of this velocity would come to rest.
|
|
343
424
|
const projected = top + velocity * 0.2;
|
|
@@ -353,6 +434,9 @@ export class SheetPresenter extends ModalPresenter {
|
|
|
353
434
|
this.listener.onDetentChange(index);
|
|
354
435
|
}
|
|
355
436
|
this.settle(SETTLE, velocity);
|
|
437
|
+
if (drag.refreshArmed) {
|
|
438
|
+
this.listener.onPullToRefresh();
|
|
439
|
+
}
|
|
356
440
|
}
|
|
357
441
|
|
|
358
442
|
/** Abandons the gesture without settling (the exit or the content takes over). */
|
|
@@ -379,7 +463,7 @@ export class SheetPresenter extends ModalPresenter {
|
|
|
379
463
|
|
|
380
464
|
/** Rubber-bands above the tallest detent, and below the lowest one when swiping can't dismiss. */
|
|
381
465
|
constrained(top) {
|
|
382
|
-
const tops = this.
|
|
466
|
+
const tops = this.settledTops;
|
|
383
467
|
const minTop = Math.min(...tops);
|
|
384
468
|
const maxTop = Math.max(...tops);
|
|
385
469
|
const dimension = Math.max(this.viewport.height, 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AnimatedValue","INSTANT","findVerticalScroller","isTextInput","prefersReducedMotion","suppressNextClick","ModalPresenter","TOP_GAP","OVERSCROLL","DEFAULT_CORNER_RADIUS","MAX_WIDTH","POINTER_SLOP","VELOCITY_WINDOW_MS","ENTER","type","response","dampingRatio","SETTLE","EXIT","sheetWidth","available","Math","min","maximumDetentValue","viewportHeight","insets","max","top","bottom","contentHeight","detents","maximum","length","includes","sheetContentArea","viewport","width","height","rubberBand","offset","dimension","findTouch","touches","id","i","touch","item","identifier","undefined","SheetPresenter","selectedIndex","isOffscreen","drag","releaseVelocity","value","render","constructor","config","listener","initialDetentIndex","snapToDetent","index","animateToRest","onDetentChange","didShow","surface","elements","addEventListener","handleTouchStart","passive","handleTouchMove","handleTouchEnd","handlePointerDown","layout","set","animateIn","settle","animateOut","onEnd","cancelDrag","velocity","animateTo","motion","stopAtTarget","configDidChange","viewportDidChange","contentSizeDidChange","stopAnimations","stop","teardown","removeEventListener","keyboardLift","keyboardBehavior","keyboardHeight","detent","contentSize","restingTop","detentTops","map","_","content","grabber","radius","cornerRadius","Object","assign","style","left","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","display","grabberVisible","reportContentArea","transform","backdrop","opacity","String","backdropAlpha","lowest","notifyPresented","active","canDrag","entering","isDismissing","beginDrag","input","x","y","target","startX","startY","lastY","scroller","rawTop","sheetDrove","samples","claim","slop","dx","dy","abs","scrollTop","activate","dispatchEvent","Event","setProperty","window","getSelection","removeAllRanges","moveDrag","delta","time","performance","now","push","shift","minTop","drive","constrained","release","stopTracking","tops","projected","dismissOnSwipe","onSwipeDismiss","reduce","best","candidate","handlePointerMove","handlePointerUp","removeProperty","filter","sample","first","last","maxTop","event","clientX","clientY","changedTouches","owner","cancelable","preventDefault","pointerType","button","pointerId"],"sourceRoot":"../../../src","sources":["web/SheetPresenter.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["AnimatedValue","INSTANT","findVerticalScroller","isTextInput","prefersReducedMotion","REFRESH_INDICATOR_SIZE","suppressNextClick","toCSSColor","ModalPresenter","TOP_GAP","REFRESH_THRESHOLD","OVERSCROLL","DEFAULT_CORNER_RADIUS","MAX_WIDTH","POINTER_SLOP","VELOCITY_WINDOW_MS","ENTER","type","response","dampingRatio","SETTLE","EXIT","sheetWidth","available","isInline","Math","min","maximumDetentValue","viewportHeight","insets","gap","max","top","bottom","detentHeight","detent","maximum","fitting","Number","isFinite","contentHeight","detents","length","map","sheetContentArea","viewport","width","height","rubberBand","offset","dimension","findTouch","touches","id","i","touch","item","identifier","undefined","SheetPresenter","selectedIndex","isOffscreen","drag","releaseVelocity","refreshing","refreshSpin","value","render","constructor","config","listener","initialDetentIndex","snapToDetent","index","animateToRest","onDetentChange","didShow","surface","elements","addEventListener","handleTouchStart","passive","handleTouchMove","handleTouchEnd","handlePointerDown","layout","set","animateIn","settle","animateOut","onEnd","cancelDrag","velocity","animateTo","motion","stopAtTarget","configDidChange","previous","viewportDidChange","contentSizeDidChange","includes","stopAnimations","stop","teardown","cancel","removeEventListener","keyboardLift","keyboardBehavior","keyboardHeight","contentSize","restingTop","detentTops","_","settledTop","abs","settledTops","content","grabber","radius","cornerRadius","Object","assign","style","left","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","display","grabberVisible","refreshSpinner","color","refreshIndicatorColor","reportContentArea","transform","backdrop","opacity","String","backdropAlpha","renderRefreshIndicator","refreshIndicator","visible","entering","isDismissing","lowest","progress","x","y","animate","duration","iterations","Infinity","notifyPresented","active","canDrag","beginDrag","input","target","startX","startY","lastY","scroller","rawTop","sheetDrove","contentScrolled","canRefresh","refreshArmed","samples","claim","slop","dx","dy","scrollTop","activate","isSettled","isAnimating","pullToRefreshEnabled","dismissOnSwipe","dispatchEvent","Event","setProperty","window","getSelection","removeAllRanges","moveDrag","delta","time","performance","now","push","shift","minTop","drive","constrained","release","stopTracking","tops","projected","onSwipeDismiss","reduce","best","candidate","onPullToRefresh","handlePointerMove","handlePointerUp","removeProperty","filter","sample","first","last","maxTop","event","clientX","clientY","changedTouches","owner","cancelable","preventDefault","pointerType","button","pointerId"],"sourceRoot":"../../../src","sources":["web/SheetPresenter.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/web/dom.js
CHANGED
|
@@ -10,6 +10,9 @@ export const ZERO_INSETS = {
|
|
|
10
10
|
};
|
|
11
11
|
export const canUseDOM = typeof window !== 'undefined' && typeof document !== 'undefined';
|
|
12
12
|
|
|
13
|
+
/** Width and height of the pull-to-refresh indicator. */
|
|
14
|
+
export const REFRESH_INDICATOR_SIZE = 24;
|
|
15
|
+
|
|
13
16
|
/** Converts a color from `processColor` (0xAARRGGBB) to CSS, scaling its alpha by `opacity`. */
|
|
14
17
|
export function toCSSColor(argb, opacity = 1) {
|
|
15
18
|
// As an unsigned 32-bit value, whatever the sign it was passed with.
|
|
@@ -42,6 +45,19 @@ export function readSafeAreaInsets() {
|
|
|
42
45
|
};
|
|
43
46
|
}
|
|
44
47
|
|
|
48
|
+
/** The part of the safe area insets that `element` overlaps. */
|
|
49
|
+
export function inlineInsets(element) {
|
|
50
|
+
const safeArea = readSafeAreaInsets();
|
|
51
|
+
const rect = element.getBoundingClientRect();
|
|
52
|
+
const clamp = (value, max) => Math.min(Math.max(value, 0), max);
|
|
53
|
+
return {
|
|
54
|
+
top: clamp(safeArea.top - rect.top, rect.height),
|
|
55
|
+
right: clamp(rect.right - (window.innerWidth - safeArea.right), rect.width),
|
|
56
|
+
bottom: clamp(rect.bottom - (window.innerHeight - safeArea.bottom), rect.height),
|
|
57
|
+
left: clamp(safeArea.left - rect.left, rect.width)
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
|
|
45
61
|
/**
|
|
46
62
|
* Height of the on-screen keyboard over a layout viewport `layoutHeight` tall.
|
|
47
63
|
* Mobile browsers keep the layout viewport and shrink the visual one.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ZERO_INSETS","top","right","bottom","left","canUseDOM","window","document","toCSSColor","argb","opacity","value","channel","shift","Math","floor","alpha","min","max","Number","toFixed","safeAreaProbe","readSafeAreaInsets","isConnected","body","probe","createElement","setAttribute","style","cssText","appendChild","getComputedStyle","parseFloat","paddingTop","paddingRight","paddingBottom","paddingLeft","readKeyboardHeight","layoutHeight","visual","visualViewport","abs","scale","covered","offsetTop","
|
|
1
|
+
{"version":3,"names":["ZERO_INSETS","top","right","bottom","left","canUseDOM","window","document","REFRESH_INDICATOR_SIZE","toCSSColor","argb","opacity","value","channel","shift","Math","floor","alpha","min","max","Number","toFixed","safeAreaProbe","readSafeAreaInsets","isConnected","body","probe","createElement","setAttribute","style","cssText","appendChild","getComputedStyle","parseFloat","paddingTop","paddingRight","paddingBottom","paddingLeft","inlineInsets","element","safeArea","rect","getBoundingClientRect","clamp","height","innerWidth","width","innerHeight","readKeyboardHeight","layoutHeight","visual","visualViewport","abs","scale","covered","offsetTop","round","estimateViewport","documentElement","clientWidth","isVerticalScroller","node","HTMLElement","scrollHeight","clientHeight","overflowY","findVerticalScroller","target","root","Element","parentElement","canScrollWithin","deltaY","canScroll","scrollTop","isTextInput","closest","suppressNextClick","swallow","event","stopPropagation","preventDefault","addEventListener","capture","once","setTimeout","removeEventListener","prefersReducedMotion","matchMedia","matches","clipValue","clipOverflow","CSS","supports"],"sourceRoot":"../../../src","sources":["web/dom.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import { type ReactNode, type Ref } from 'react';
|
|
2
2
|
import { type ColorValue, type StyleProp, type ViewStyle } from 'react-native';
|
|
3
3
|
import type { DismissReason, KeyboardBehavior, ModalMode, PopupAnimation, SheetDetent } from './NitroModal.nitro.js';
|
|
4
|
+
/**
|
|
5
|
+
* Where a `bottomSheet` lives.
|
|
6
|
+
* - `modal`: presented over the whole app, with a backdrop.
|
|
7
|
+
* - `inline`: inside the component's own frame (`style`), as part of your
|
|
8
|
+
* screen. No backdrop, the views behind it stay interactive, and the user
|
|
9
|
+
* can't dismiss it.
|
|
10
|
+
*/
|
|
11
|
+
export type ModalPresentation = 'modal' | 'inline';
|
|
4
12
|
export interface NitroModalRef {
|
|
5
13
|
/** Opens the modal. Only for uncontrolled usage (no `isOpen` prop). */
|
|
6
14
|
present(): void;
|
|
@@ -18,7 +26,23 @@ export interface NitroModalProps {
|
|
|
18
26
|
isOpen?: boolean;
|
|
19
27
|
/** @default 'bottomSheet' */
|
|
20
28
|
mode?: ModalMode;
|
|
21
|
-
/**
|
|
29
|
+
/**
|
|
30
|
+
* `inline` keeps a `bottomSheet` inside this component's frame, like a
|
|
31
|
+
* persistent sheet that is part of the screen. Popups are always modal.
|
|
32
|
+
* @default 'modal'
|
|
33
|
+
*/
|
|
34
|
+
presentation?: ModalPresentation;
|
|
35
|
+
/**
|
|
36
|
+
* Inline only: the frame the sheet lives in, laid out like any view.
|
|
37
|
+
* The sheet rests against its bottom edge and its largest detent reaches its
|
|
38
|
+
* top edge. @default StyleSheet.absoluteFill
|
|
39
|
+
*/
|
|
40
|
+
style?: StyleProp<ViewStyle>;
|
|
41
|
+
/**
|
|
42
|
+
* Sheet heights, smallest first: named sizes, or the content height in
|
|
43
|
+
* dp/pt above the bottom safe area. Android uses at most three.
|
|
44
|
+
* @default ['fitContent']
|
|
45
|
+
*/
|
|
22
46
|
detents?: SheetDetent[];
|
|
23
47
|
/** @default 0 */
|
|
24
48
|
initialDetentIndex?: number;
|
|
@@ -51,9 +75,25 @@ export interface NitroModalProps {
|
|
|
51
75
|
onDetentChange?: (index: number) => void;
|
|
52
76
|
onBackdropPress?: () => void;
|
|
53
77
|
onBackButtonPress?: () => void;
|
|
78
|
+
/**
|
|
79
|
+
* Pull-to-refresh: the user dragged the sheet down past its lowest detent
|
|
80
|
+
* and let go. Only for sheets that can't be swiped away (inline, or
|
|
81
|
+
* `dismissOnSwipe={false}`), and only from a gesture that starts with the
|
|
82
|
+
* sheet resting on its lowest detent.
|
|
83
|
+
*/
|
|
84
|
+
onPullToRefresh?: () => void;
|
|
85
|
+
/**
|
|
86
|
+
* Whether a refresh is in progress, like `RefreshControl`'s `refreshing`.
|
|
87
|
+
* While true, the sheet stays pulled down below its lowest detent with an
|
|
88
|
+
* activity indicator above it. Set it to `true` in `onPullToRefresh` and
|
|
89
|
+
* back to `false` when done. Leave undefined to show no indicator.
|
|
90
|
+
*/
|
|
91
|
+
refreshing?: boolean;
|
|
92
|
+
/** Color of the refresh indicator. Defaults to the platform style. */
|
|
93
|
+
refreshIndicatorColor?: ColorValue;
|
|
54
94
|
children?: ReactNode;
|
|
55
95
|
testID?: string;
|
|
56
96
|
ref?: Ref<NitroModalRef>;
|
|
57
97
|
}
|
|
58
|
-
export declare function NitroModal({ isOpen, mode, detents, initialDetentIndex, backdropColor, backdropOpacity, backdropBlur, dismissOnBackdropPress, dismissOnSwipe, dismissOnBackButton, showGrabber, cornerRadius, backgroundColor, keyboardBehavior, popupAnimation, contentContainerStyle, onPresent, onDismiss, onDetentChange, onBackdropPress, onBackButtonPress, children, testID, ref, }: NitroModalProps): import("react").JSX.Element;
|
|
98
|
+
export declare function NitroModal({ isOpen, mode, presentation, style, detents, initialDetentIndex, backdropColor, backdropOpacity, backdropBlur, dismissOnBackdropPress, dismissOnSwipe, dismissOnBackButton, showGrabber, cornerRadius, backgroundColor, keyboardBehavior, popupAnimation, contentContainerStyle, onPresent, onDismiss, onDetentChange, onBackdropPress, onBackButtonPress, onPullToRefresh, refreshing, refreshIndicatorColor, children, testID, ref, }: NitroModalProps): import("react").JSX.Element;
|
|
59
99
|
//# sourceMappingURL=NitroModal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NitroModal.d.ts","sourceRoot":"","sources":["../../../src/NitroModal.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"NitroModal.d.ts","sourceRoot":"","sources":["../../../src/NitroModal.tsx"],"names":[],"mappings":"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"}
|