panelui-native 0.102.1 → 0.102.3
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/lib/module/components/bottom-sheet/index.js +22 -9
- package/lib/module/components/bottom-sheet/index.js.map +1 -1
- package/lib/module/components/number-input/index.js +28 -17
- package/lib/module/components/number-input/index.js.map +1 -1
- package/lib/module/components/number-input/number-input-repeat.js +51 -0
- package/lib/module/components/number-input/number-input-repeat.js.map +1 -0
- package/lib/typescript/src/components/bottom-sheet/index.d.ts +2 -1
- package/lib/typescript/src/components/bottom-sheet/index.d.ts.map +1 -1
- package/lib/typescript/src/components/number-input/index.d.ts.map +1 -1
- package/lib/typescript/src/components/number-input/number-input-repeat.d.ts +24 -0
- package/lib/typescript/src/components/number-input/number-input-repeat.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/components/bottom-sheet/index.tsx +23 -8
- package/src/components/number-input/index.tsx +28 -17
- package/src/components/number-input/number-input-repeat.ts +55 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { cloneElement, createContext, forwardRef, isValidElement, useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
|
|
4
|
-
import { Pressable, StyleSheet, useWindowDimensions, View } from 'react-native';
|
|
4
|
+
import { Platform, Pressable, StyleSheet, useWindowDimensions, View } from 'react-native';
|
|
5
5
|
import { useCSSVariable } from 'uniwind';
|
|
6
6
|
import { Gesture, GestureDetector } from 'react-native-gesture-handler';
|
|
7
7
|
import Animated, { Extrapolation, FadeIn, cancelAnimation, interpolate, runOnJS, useAnimatedScrollHandler, useAnimatedStyle, useComposedEventHandler, useReducedMotion, useSharedValue, withSpring, withTiming } from 'react-native-reanimated';
|
|
@@ -74,8 +74,9 @@ const sheetVariants = tv({
|
|
|
74
74
|
// rule through the middle of nothing.
|
|
75
75
|
false: 'rounded-t-3xl border-b-0',
|
|
76
76
|
// Floating: all four edges are real, so all four are drawn and all four
|
|
77
|
-
// corners are rounded.
|
|
78
|
-
|
|
77
|
+
// corners are rounded. The bottom gap depends on the safe area, so it is
|
|
78
|
+
// set in the style rather than here — see `detachedGap`.
|
|
79
|
+
true: 'mx-4 rounded-3xl'
|
|
79
80
|
}
|
|
80
81
|
},
|
|
81
82
|
defaultVariants: {
|
|
@@ -516,12 +517,21 @@ function BottomSheetContent({
|
|
|
516
517
|
opacity: interpolate(translateY.value, [0, screenHeight], [1, 0], Extrapolation.CLAMP)
|
|
517
518
|
}));
|
|
518
519
|
|
|
520
|
+
/*
|
|
521
|
+
* How far a detached sheet floats above the bottom of the screen.
|
|
522
|
+
*
|
|
523
|
+
* On iOS it floats over the home indicator, which only takes a swipe. On
|
|
524
|
+
* Android the bottom inset can be the three-button navigation bar, whose
|
|
525
|
+
* buttons have to stay reachable, so the sheet sits above the inset.
|
|
526
|
+
*/
|
|
527
|
+
const detachedGap = Platform.OS === 'android' ? Math.max(insets.bottom + 12, 24) : 24;
|
|
528
|
+
|
|
519
529
|
/*
|
|
520
530
|
* A sized sheet is clamped rather than handed its fraction outright.
|
|
521
531
|
* `insets.top` is the status bar and the notch, and content that runs under
|
|
522
532
|
* those is unreadable at exactly the moment the sheet is at its tallest.
|
|
523
533
|
*/
|
|
524
|
-
const sizedHeight = size === 'auto' ? undefined : Math.min(screenHeight * SIZE_FRACTION[size], screenHeight - insets.top - (detached ?
|
|
534
|
+
const sizedHeight = size === 'auto' ? undefined : Math.min(screenHeight * SIZE_FRACTION[size], screenHeight - insets.top - (detached ? detachedGap : 8));
|
|
525
535
|
const surface = useMemo(() => ({
|
|
526
536
|
scrollGesture,
|
|
527
537
|
scrollOffset,
|
|
@@ -636,11 +646,14 @@ function BottomSheetContent({
|
|
|
636
646
|
// `style` for a height would silently drop the drag transform and
|
|
637
647
|
// the safe-area padding with it.
|
|
638
648
|
style: [sheetStyle,
|
|
639
|
-
// A detached sheet's own bottom margin already clears the
|
|
640
|
-
//
|
|
641
|
-
//
|
|
642
|
-
{
|
|
643
|
-
|
|
649
|
+
// A detached sheet's own bottom margin already clears the system
|
|
650
|
+
// bar, so it takes plain padding rather than stacking the inset
|
|
651
|
+
// on top of the gap.
|
|
652
|
+
detached ? {
|
|
653
|
+
marginBottom: detachedGap,
|
|
654
|
+
paddingBottom: 16
|
|
655
|
+
} : {
|
|
656
|
+
paddingBottom: Math.max(insets.bottom, 16)
|
|
644
657
|
}, sizedHeight === undefined ? null : {
|
|
645
658
|
height: sizedHeight
|
|
646
659
|
}, props.style],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["cloneElement","createContext","forwardRef","isValidElement","useCallback","useContext","useEffect","useMemo","useRef","useState","Pressable","StyleSheet","useWindowDimensions","View","useCSSVariable","Gesture","GestureDetector","Animated","Extrapolation","FadeIn","cancelAnimation","interpolate","runOnJS","useAnimatedScrollHandler","useAnimatedStyle","useComposedEventHandler","useReducedMotion","useSharedValue","withSpring","withTiming","useSafeAreaInsets","tv","NativeHost","getComposeModifiers","getNativeUI","getSwiftUIModifiers","XIcon","ModalPortal","Scrim","Text","textChildren","useBackHandler","cn","impactKnock","jsx","_jsx","jsxs","_jsxs","SPRING","duration","dampingRatio","EXIT_SPRING","overshootClamping","DISMISS_DISTANCE","DISMISS_VELOCITY","project","velocity","decelerationRate","sheetVariants","base","variants","detached","false","true","defaultVariants","BottomSheetContext","useBottomSheet","component","context","Error","DETENT_FRACTION","half","full","NATIVE_DISMISS_MS","bottomSheetDetentHeight","snapPoints","screenHeight","length","undefined","first","fraction","height","nativeSheetSurface","color","swiftUI","presentationBackground","compose","background","NativeSheetContext","SheetSurfaceContext","BottomSheetRoot","children","open","onOpenChange","defaultOpen","native","nativeBackground","internalOpen","setInternalOpen","isControlled","resolvedOpen","setOpen","next","nativeUI","nativeSheet","Provider","value","BottomSheetTrigger","onPress","args","props","SIZE_FRACTION","BottomSheetContent","className","dismissible","showClose","showGrabber","blur","size","width","screenWidth","reducedMotion","insets","translateY","closeTint","popoverSurface","scrollGesture","Native","scrollOffset","hasScrollable","close","presented","setPresented","land","finished","nativePresented","setNativePresented","nativeOnScreen","nativeDismissing","nativeDismissTimer","openRef","current","endNativeDismissal","clearTimeout","setTimeout","onNativeDismiss","pan","Pan","enabled","activeOffsetY","simultaneousWithExternalGesture","onChange","event","changeY","onEnd","projected","velocityY","sheetStyle","transform","backdropStyle","opacity","CLAMP","sizedHeight","Math","min","top","surface","Host","BottomSheet","NativeBottomSheet","RNHostView","requested","modifiers","host","matchContents","ignoreSafeArea","style","position","isPresented","onDismiss","minHeight","paddingBottom","max","bottom","absoluteFill","accessibilityLabel","gesture","entering","accessibilityViewIsModal","accessibilityRole","hitSlop","BottomSheetHeader","title","description","text","weight","muted","displayName","BottomSheetBody","onScroll","ref","handler","contentOffset","y","composed","body","ScrollView","scrollEventThrottle","showsVerticalScrollIndicator","BottomSheetFooter","Object","assign","Trigger","Content","Header","Body","Footer"],"sourceRoot":"../../../../src","sources":["components/bottom-sheet/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["cloneElement","createContext","forwardRef","isValidElement","useCallback","useContext","useEffect","useMemo","useRef","useState","Platform","Pressable","StyleSheet","useWindowDimensions","View","useCSSVariable","Gesture","GestureDetector","Animated","Extrapolation","FadeIn","cancelAnimation","interpolate","runOnJS","useAnimatedScrollHandler","useAnimatedStyle","useComposedEventHandler","useReducedMotion","useSharedValue","withSpring","withTiming","useSafeAreaInsets","tv","NativeHost","getComposeModifiers","getNativeUI","getSwiftUIModifiers","XIcon","ModalPortal","Scrim","Text","textChildren","useBackHandler","cn","impactKnock","jsx","_jsx","jsxs","_jsxs","SPRING","duration","dampingRatio","EXIT_SPRING","overshootClamping","DISMISS_DISTANCE","DISMISS_VELOCITY","project","velocity","decelerationRate","sheetVariants","base","variants","detached","false","true","defaultVariants","BottomSheetContext","useBottomSheet","component","context","Error","DETENT_FRACTION","half","full","NATIVE_DISMISS_MS","bottomSheetDetentHeight","snapPoints","screenHeight","length","undefined","first","fraction","height","nativeSheetSurface","color","swiftUI","presentationBackground","compose","background","NativeSheetContext","SheetSurfaceContext","BottomSheetRoot","children","open","onOpenChange","defaultOpen","native","nativeBackground","internalOpen","setInternalOpen","isControlled","resolvedOpen","setOpen","next","nativeUI","nativeSheet","Provider","value","BottomSheetTrigger","onPress","args","props","SIZE_FRACTION","BottomSheetContent","className","dismissible","showClose","showGrabber","blur","size","width","screenWidth","reducedMotion","insets","translateY","closeTint","popoverSurface","scrollGesture","Native","scrollOffset","hasScrollable","close","presented","setPresented","land","finished","nativePresented","setNativePresented","nativeOnScreen","nativeDismissing","nativeDismissTimer","openRef","current","endNativeDismissal","clearTimeout","setTimeout","onNativeDismiss","pan","Pan","enabled","activeOffsetY","simultaneousWithExternalGesture","onChange","event","changeY","onEnd","projected","velocityY","sheetStyle","transform","backdropStyle","opacity","CLAMP","detachedGap","OS","Math","max","bottom","sizedHeight","min","top","surface","Host","BottomSheet","NativeBottomSheet","RNHostView","requested","modifiers","host","matchContents","ignoreSafeArea","style","position","isPresented","onDismiss","minHeight","paddingBottom","absoluteFill","accessibilityLabel","gesture","entering","accessibilityViewIsModal","marginBottom","accessibilityRole","hitSlop","BottomSheetHeader","title","description","text","weight","muted","displayName","BottomSheetBody","onScroll","ref","handler","contentOffset","y","composed","body","ScrollView","scrollEventThrottle","showsVerticalScrollIndicator","BottomSheetFooter","Object","assign","Trigger","Content","Header","Body","Footer"],"sourceRoot":"../../../../src","sources":["components/bottom-sheet/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
* short delay and then faster, the way a native stepper does — so walking from
|
|
14
14
|
* 0 to 200 is a press, not two hundred of them. The repeat reads the live
|
|
15
15
|
* value from a ref rather than a closure, so it never strides off a stale
|
|
16
|
-
* number
|
|
16
|
+
* number, and it stops at a bound on its own rather than waiting for a
|
|
17
|
+
* release a disabled button may never send.
|
|
17
18
|
*
|
|
18
19
|
* Typing is allowed to be briefly invalid — an empty field, a lone `-`, a
|
|
19
20
|
* trailing `.` — because clamping every keystroke fights the person mid-number.
|
|
@@ -37,6 +38,7 @@ import { Text } from "../../primitives/text.js";
|
|
|
37
38
|
import { selectionTick } from "../../utils/haptics.js";
|
|
38
39
|
import { Label } from "../label/index.js";
|
|
39
40
|
import { normalize, precisionOf } from "./number-input-math.js";
|
|
41
|
+
import { createRepeater } from "./number-input-repeat.js";
|
|
40
42
|
|
|
41
43
|
/** Wait before a held button starts repeating — a tap must not trip it. */
|
|
42
44
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -204,26 +206,35 @@ export const NumberInput = /*#__PURE__*/forwardRef(({
|
|
|
204
206
|
const clamped = normalize(next, min, max, step);
|
|
205
207
|
if (tick && haptics) selectionTick();
|
|
206
208
|
if (!isControlled) setUncontrolled(clamped);
|
|
207
|
-
if (clamped !==
|
|
208
|
-
|
|
209
|
+
if (clamped !== valueRef.current) onValueChange?.(clamped);
|
|
210
|
+
// Advance the ref now, so the next repeat steps from here even if the
|
|
211
|
+
// render carrying this value has not landed yet.
|
|
212
|
+
valueRef.current = clamped;
|
|
213
|
+
}, [min, max, step, haptics, isControlled, onValueChange]);
|
|
209
214
|
|
|
210
215
|
// --- hold-to-repeat -----------------------------------------------------
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
const
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
216
|
+
// The timer outlives the render that started it, so it calls the latest
|
|
217
|
+
// `commit` through a ref instead of the one it was created with.
|
|
218
|
+
const commitRef = useRef(commit);
|
|
219
|
+
commitRef.current = commit;
|
|
220
|
+
const repeaterRef = useRef(null);
|
|
221
|
+
if (!repeaterRef.current) repeaterRef.current = createRepeater(REPEAT_DELAY, REPEAT_INTERVAL);
|
|
222
|
+
const repeater = repeaterRef.current;
|
|
223
|
+
const stopRepeat = repeater.stop;
|
|
219
224
|
useEffect(() => stopRepeat, [stopRepeat]);
|
|
225
|
+
useEffect(() => {
|
|
226
|
+
if (disabled) stopRepeat();
|
|
227
|
+
}, [disabled, stopRepeat]);
|
|
220
228
|
const startRepeat = useCallback(direction => {
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
229
|
+
repeater.start(() => {
|
|
230
|
+
const current = valueRef.current;
|
|
231
|
+
const next = normalize(current + direction * step, min, max, step);
|
|
232
|
+
if (next === current) return false;
|
|
233
|
+
commitRef.current(next, true);
|
|
234
|
+
// Keep going only while there is room for another step.
|
|
235
|
+
return direction > 0 ? next < max : next > min;
|
|
236
|
+
});
|
|
237
|
+
}, [repeater, step, min, max]);
|
|
227
238
|
const atMin = value <= min;
|
|
228
239
|
const atMax = value >= max;
|
|
229
240
|
const handleEndEditing = useCallback(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","useCallback","useEffect","useRef","useState","TextInput","View","tv","useCSSVariable","MinusIcon","PlusIcon","AnimatedPressable","Text","selectionTick","Label","normalize","precisionOf","jsx","_jsx","jsxs","_jsxs","REPEAT_DELAY","REPEAT_INTERVAL","numberInputVariants","slots","container","control","button","field","description","error","variants","variant","outline","filled","size","sm","md","lg","invalid","true","disabled","defaultVariants","ICON_SIZE","FIELD_BASE","paddingVertical","paddingHorizontal","includeFontPadding","textAlignVertical","fontVariant","FIELD_STYLE","fontSize","NumberInput","className","containerClassName","value","controlledValue","defaultValue","min","Infinity","max","step","onValueChange","formatValue","editable","label","errorMessage","isRequired","haptics","placeholder","onFocus","onBlur","returnKeyType","ref","isControlled","undefined","initial","isFinite","uncontrolled","setUncontrolled","valueRef","current","foreground","iconColor","format","v","String","text","setText","focused","setFocused","commit","next","tick","clamped","
|
|
1
|
+
{"version":3,"names":["forwardRef","useCallback","useEffect","useRef","useState","TextInput","View","tv","useCSSVariable","MinusIcon","PlusIcon","AnimatedPressable","Text","selectionTick","Label","normalize","precisionOf","createRepeater","jsx","_jsx","jsxs","_jsxs","REPEAT_DELAY","REPEAT_INTERVAL","numberInputVariants","slots","container","control","button","field","description","error","variants","variant","outline","filled","size","sm","md","lg","invalid","true","disabled","defaultVariants","ICON_SIZE","FIELD_BASE","paddingVertical","paddingHorizontal","includeFontPadding","textAlignVertical","fontVariant","FIELD_STYLE","fontSize","NumberInput","className","containerClassName","value","controlledValue","defaultValue","min","Infinity","max","step","onValueChange","formatValue","editable","label","errorMessage","isRequired","haptics","placeholder","onFocus","onBlur","returnKeyType","ref","isControlled","undefined","initial","isFinite","uncontrolled","setUncontrolled","valueRef","current","foreground","iconColor","format","v","String","text","setText","focused","setFocused","commit","next","tick","clamped","commitRef","repeaterRef","repeater","stopRepeat","stop","startRepeat","direction","start","atMin","atMax","handleEndEditing","parsed","parseFloat","Number","isNaN","children","isInvalid","isDisabled","pressOpacity","onPressIn","onPressOut","accessibilityRole","accessibilityLabel","accessibilityState","style","opacity","color","strokeWidth","keyboardType","selectTextOnFocus","onChangeText","e","onSubmitEditing","displayName"],"sourceRoot":"../../../../src","sources":["components/number-input/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The hold-to-repeat timer behind NumberInput's − and + buttons.
|
|
5
|
+
*
|
|
6
|
+
* A press steps once, then after `delay` keeps stepping every `interval` until
|
|
7
|
+
* it is stopped. Two things keep it from running away:
|
|
8
|
+
*
|
|
9
|
+
* - There is only ever one timer. `start` clears whatever is already running,
|
|
10
|
+
* because a press-in does not always arrive after the previous press-out —
|
|
11
|
+
* quick taps on Android can deliver two press-ins in a row, and a second
|
|
12
|
+
* timer started over the first leaves the first with no handle to clear it.
|
|
13
|
+
* - The step reports whether another one is possible. At a bound the button
|
|
14
|
+
* disables, and a disabled button is not guaranteed to deliver the release
|
|
15
|
+
* that would stop the timer, so the timer stops itself there instead.
|
|
16
|
+
*
|
|
17
|
+
* Kept free of React so it can be tested on its own.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
export function createRepeater(delay, interval) {
|
|
21
|
+
let delayTimer = null;
|
|
22
|
+
let intervalTimer = null;
|
|
23
|
+
// Bumped by every start and stop. A callback from an earlier generation does
|
|
24
|
+
// nothing, so a timer that fires once more after being cleared cannot step.
|
|
25
|
+
let generation = 0;
|
|
26
|
+
const stop = () => {
|
|
27
|
+
generation += 1;
|
|
28
|
+
if (delayTimer !== null) clearTimeout(delayTimer);
|
|
29
|
+
if (intervalTimer !== null) clearInterval(intervalTimer);
|
|
30
|
+
delayTimer = null;
|
|
31
|
+
intervalTimer = null;
|
|
32
|
+
};
|
|
33
|
+
const start = step => {
|
|
34
|
+
stop();
|
|
35
|
+
const current = generation;
|
|
36
|
+
if (!step()) return;
|
|
37
|
+
delayTimer = setTimeout(() => {
|
|
38
|
+
if (current !== generation) return;
|
|
39
|
+
delayTimer = null;
|
|
40
|
+
intervalTimer = setInterval(() => {
|
|
41
|
+
if (current !== generation) return;
|
|
42
|
+
if (!step()) stop();
|
|
43
|
+
}, interval);
|
|
44
|
+
}, delay);
|
|
45
|
+
};
|
|
46
|
+
return {
|
|
47
|
+
start,
|
|
48
|
+
stop
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=number-input-repeat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createRepeater","delay","interval","delayTimer","intervalTimer","generation","stop","clearTimeout","clearInterval","start","step","current","setTimeout","setInterval"],"sourceRoot":"../../../../src","sources":["components/number-input/number-input-repeat.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASA,OAAO,SAASA,cAAcA,CAACC,KAAa,EAAEC,QAAgB,EAAY;EACxE,IAAIC,UAAgD,GAAG,IAAI;EAC3D,IAAIC,aAAoD,GAAG,IAAI;EAC/D;EACA;EACA,IAAIC,UAAU,GAAG,CAAC;EAElB,MAAMC,IAAI,GAAGA,CAAA,KAAM;IACjBD,UAAU,IAAI,CAAC;IACf,IAAIF,UAAU,KAAK,IAAI,EAAEI,YAAY,CAACJ,UAAU,CAAC;IACjD,IAAIC,aAAa,KAAK,IAAI,EAAEI,aAAa,CAACJ,aAAa,CAAC;IACxDD,UAAU,GAAG,IAAI;IACjBC,aAAa,GAAG,IAAI;EACtB,CAAC;EAED,MAAMK,KAAK,GAAIC,IAAmB,IAAK;IACrCJ,IAAI,CAAC,CAAC;IACN,MAAMK,OAAO,GAAGN,UAAU;IAC1B,IAAI,CAACK,IAAI,CAAC,CAAC,EAAE;IACbP,UAAU,GAAGS,UAAU,CAAC,MAAM;MAC5B,IAAID,OAAO,KAAKN,UAAU,EAAE;MAC5BF,UAAU,GAAG,IAAI;MACjBC,aAAa,GAAGS,WAAW,CAAC,MAAM;QAChC,IAAIF,OAAO,KAAKN,UAAU,EAAE;QAC5B,IAAI,CAACK,IAAI,CAAC,CAAC,EAAEJ,IAAI,CAAC,CAAC;MACrB,CAAC,EAAEJ,QAAQ,CAAC;IACd,CAAC,EAAED,KAAK,CAAC;EACX,CAAC;EAED,OAAO;IAAEQ,KAAK;IAAEH;EAAK,CAAC;AACxB","ignoreList":[]}
|
|
@@ -93,7 +93,8 @@ export interface BottomSheetContentProps extends ViewProps {
|
|
|
93
93
|
* bottom, so it reads as a card laid over the app rather than a drawer
|
|
94
94
|
* pulled out of it. All four corners round and the bottom border comes back,
|
|
95
95
|
* since a floating sheet has four real edges where a docked one has three.
|
|
96
|
-
*
|
|
96
|
+
* On Android it floats above the navigation bar, so the system buttons stay
|
|
97
|
+
* uncovered. Ignored by the native sheet, which the platform positions itself.
|
|
97
98
|
*/
|
|
98
99
|
detached?: boolean;
|
|
99
100
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/bottom-sheet/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAWL,KAAK,cAAc,EAEnB,KAAK,YAAY,EACjB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/bottom-sheet/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/number-input/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/number-input/index.tsx"],"names":[],"mappings":"AA6BA,OAAO,EAAE,SAAS,EAAQ,KAAK,cAAc,EAAkB,MAAM,cAAc,CAAC;AACpF,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAe1D,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAkCvB,CAAC;AAuCH,KAAK,uBAAuB,GAAG,YAAY,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAExE,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,uBAAuB,EAAE,SAAS,GAAG,UAAU,CAAC,EAC3D,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,QAAQ,GAAG,aAAa,GAAG,eAAe,CAAC;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iFAAiF;IACjF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,yEAAyE;IACzE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,wGA+LvB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The hold-to-repeat timer behind NumberInput's − and + buttons.
|
|
3
|
+
*
|
|
4
|
+
* A press steps once, then after `delay` keeps stepping every `interval` until
|
|
5
|
+
* it is stopped. Two things keep it from running away:
|
|
6
|
+
*
|
|
7
|
+
* - There is only ever one timer. `start` clears whatever is already running,
|
|
8
|
+
* because a press-in does not always arrive after the previous press-out —
|
|
9
|
+
* quick taps on Android can deliver two press-ins in a row, and a second
|
|
10
|
+
* timer started over the first leaves the first with no handle to clear it.
|
|
11
|
+
* - The step reports whether another one is possible. At a bound the button
|
|
12
|
+
* disables, and a disabled button is not guaranteed to deliver the release
|
|
13
|
+
* that would stop the timer, so the timer stops itself there instead.
|
|
14
|
+
*
|
|
15
|
+
* Kept free of React so it can be tested on its own.
|
|
16
|
+
*/
|
|
17
|
+
export interface Repeater {
|
|
18
|
+
/** Step once now, then repeat until `stop`. Replaces any running repeat. */
|
|
19
|
+
start: (step: () => boolean) => void;
|
|
20
|
+
/** Stop repeating. Safe to call when nothing is running. */
|
|
21
|
+
stop: () => void;
|
|
22
|
+
}
|
|
23
|
+
export declare function createRepeater(delay: number, interval: number): Repeater;
|
|
24
|
+
//# sourceMappingURL=number-input-repeat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number-input-repeat.d.ts","sourceRoot":"","sources":["../../../../../src/components/number-input/number-input-repeat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,QAAQ;IACvB,4EAA4E;IAC5E,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,OAAO,KAAK,IAAI,CAAC;IACrC,4DAA4D;IAC5D,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,CA8BxE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "panelui-native",
|
|
3
|
-
"version": "0.102.
|
|
3
|
+
"version": "0.102.3",
|
|
4
4
|
"description": "High-performance React Native UI components for Expo. Semantic design tokens, powered by Uniwind (Tailwind v4) and Reanimated.",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"module": "./lib/module/index.js",
|
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
type ReactNode,
|
|
16
16
|
} from 'react';
|
|
17
17
|
import {
|
|
18
|
+
Platform,
|
|
18
19
|
Pressable,
|
|
19
20
|
StyleSheet,
|
|
20
21
|
useWindowDimensions,
|
|
@@ -100,8 +101,9 @@ const sheetVariants = tv({
|
|
|
100
101
|
// rule through the middle of nothing.
|
|
101
102
|
false: 'rounded-t-3xl border-b-0',
|
|
102
103
|
// Floating: all four edges are real, so all four are drawn and all four
|
|
103
|
-
// corners are rounded.
|
|
104
|
-
|
|
104
|
+
// corners are rounded. The bottom gap depends on the safe area, so it is
|
|
105
|
+
// set in the style rather than here — see `detachedGap`.
|
|
106
|
+
true: 'mx-4 rounded-3xl',
|
|
105
107
|
},
|
|
106
108
|
},
|
|
107
109
|
defaultVariants: {
|
|
@@ -352,7 +354,8 @@ export interface BottomSheetContentProps extends ViewProps {
|
|
|
352
354
|
* bottom, so it reads as a card laid over the app rather than a drawer
|
|
353
355
|
* pulled out of it. All four corners round and the bottom border comes back,
|
|
354
356
|
* since a floating sheet has four real edges where a docked one has three.
|
|
355
|
-
*
|
|
357
|
+
* On Android it floats above the navigation bar, so the system buttons stay
|
|
358
|
+
* uncovered. Ignored by the native sheet, which the platform positions itself.
|
|
356
359
|
*/
|
|
357
360
|
detached?: boolean;
|
|
358
361
|
/**
|
|
@@ -689,6 +692,16 @@ function BottomSheetContent({
|
|
|
689
692
|
),
|
|
690
693
|
}));
|
|
691
694
|
|
|
695
|
+
/*
|
|
696
|
+
* How far a detached sheet floats above the bottom of the screen.
|
|
697
|
+
*
|
|
698
|
+
* On iOS it floats over the home indicator, which only takes a swipe. On
|
|
699
|
+
* Android the bottom inset can be the three-button navigation bar, whose
|
|
700
|
+
* buttons have to stay reachable, so the sheet sits above the inset.
|
|
701
|
+
*/
|
|
702
|
+
const detachedGap =
|
|
703
|
+
Platform.OS === 'android' ? Math.max(insets.bottom + 12, 24) : 24;
|
|
704
|
+
|
|
692
705
|
/*
|
|
693
706
|
* A sized sheet is clamped rather than handed its fraction outright.
|
|
694
707
|
* `insets.top` is the status bar and the notch, and content that runs under
|
|
@@ -699,7 +712,7 @@ function BottomSheetContent({
|
|
|
699
712
|
? undefined
|
|
700
713
|
: Math.min(
|
|
701
714
|
screenHeight * SIZE_FRACTION[size],
|
|
702
|
-
screenHeight - insets.top - (detached ?
|
|
715
|
+
screenHeight - insets.top - (detached ? detachedGap : 8)
|
|
703
716
|
);
|
|
704
717
|
|
|
705
718
|
const surface = useMemo(
|
|
@@ -828,10 +841,12 @@ function BottomSheetContent({
|
|
|
828
841
|
// the safe-area padding with it.
|
|
829
842
|
style={[
|
|
830
843
|
sheetStyle,
|
|
831
|
-
// A detached sheet's own bottom margin already clears the
|
|
832
|
-
//
|
|
833
|
-
//
|
|
834
|
-
|
|
844
|
+
// A detached sheet's own bottom margin already clears the system
|
|
845
|
+
// bar, so it takes plain padding rather than stacking the inset
|
|
846
|
+
// on top of the gap.
|
|
847
|
+
detached
|
|
848
|
+
? { marginBottom: detachedGap, paddingBottom: 16 }
|
|
849
|
+
: { paddingBottom: Math.max(insets.bottom, 16) },
|
|
835
850
|
sizedHeight === undefined ? null : { height: sizedHeight },
|
|
836
851
|
props.style,
|
|
837
852
|
]}
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
* short delay and then faster, the way a native stepper does — so walking from
|
|
12
12
|
* 0 to 200 is a press, not two hundred of them. The repeat reads the live
|
|
13
13
|
* value from a ref rather than a closure, so it never strides off a stale
|
|
14
|
-
* number
|
|
14
|
+
* number, and it stops at a bound on its own rather than waiting for a
|
|
15
|
+
* release a disabled button may never send.
|
|
15
16
|
*
|
|
16
17
|
* Typing is allowed to be briefly invalid — an empty field, a lone `-`, a
|
|
17
18
|
* trailing `.` — because clamping every keystroke fights the person mid-number.
|
|
@@ -35,6 +36,7 @@ import { Text } from '../../primitives/text';
|
|
|
35
36
|
import { selectionTick } from '../../utils/haptics';
|
|
36
37
|
import { Label } from '../label';
|
|
37
38
|
import { normalize, precisionOf } from './number-input-math';
|
|
39
|
+
import { createRepeater } from './number-input-repeat';
|
|
38
40
|
|
|
39
41
|
/** Wait before a held button starts repeating — a tap must not trip it. */
|
|
40
42
|
const REPEAT_DELAY = 400;
|
|
@@ -227,33 +229,42 @@ export const NumberInput = forwardRef<TextInput, NumberInputProps>(
|
|
|
227
229
|
const clamped = normalize(next, min, max, step);
|
|
228
230
|
if (tick && haptics) selectionTick();
|
|
229
231
|
if (!isControlled) setUncontrolled(clamped);
|
|
230
|
-
if (clamped !==
|
|
232
|
+
if (clamped !== valueRef.current) onValueChange?.(clamped);
|
|
233
|
+
// Advance the ref now, so the next repeat steps from here even if the
|
|
234
|
+
// render carrying this value has not landed yet.
|
|
235
|
+
valueRef.current = clamped;
|
|
231
236
|
},
|
|
232
|
-
[min, max, step, haptics, isControlled,
|
|
237
|
+
[min, max, step, haptics, isControlled, onValueChange]
|
|
233
238
|
);
|
|
234
239
|
|
|
235
240
|
// --- hold-to-repeat -----------------------------------------------------
|
|
236
|
-
|
|
237
|
-
|
|
241
|
+
// The timer outlives the render that started it, so it calls the latest
|
|
242
|
+
// `commit` through a ref instead of the one it was created with.
|
|
243
|
+
const commitRef = useRef(commit);
|
|
244
|
+
commitRef.current = commit;
|
|
238
245
|
|
|
239
|
-
const
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
delayRef.current = null;
|
|
243
|
-
intervalRef.current = null;
|
|
244
|
-
}, []);
|
|
246
|
+
const repeaterRef = useRef<ReturnType<typeof createRepeater> | null>(null);
|
|
247
|
+
if (!repeaterRef.current) repeaterRef.current = createRepeater(REPEAT_DELAY, REPEAT_INTERVAL);
|
|
248
|
+
const repeater = repeaterRef.current;
|
|
245
249
|
|
|
250
|
+
const stopRepeat = repeater.stop;
|
|
246
251
|
useEffect(() => stopRepeat, [stopRepeat]);
|
|
252
|
+
useEffect(() => {
|
|
253
|
+
if (disabled) stopRepeat();
|
|
254
|
+
}, [disabled, stopRepeat]);
|
|
247
255
|
|
|
248
256
|
const startRepeat = useCallback(
|
|
249
257
|
(direction: 1 | -1) => {
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
258
|
+
repeater.start(() => {
|
|
259
|
+
const current = valueRef.current;
|
|
260
|
+
const next = normalize(current + direction * step, min, max, step);
|
|
261
|
+
if (next === current) return false;
|
|
262
|
+
commitRef.current(next, true);
|
|
263
|
+
// Keep going only while there is room for another step.
|
|
264
|
+
return direction > 0 ? next < max : next > min;
|
|
265
|
+
});
|
|
255
266
|
},
|
|
256
|
-
[
|
|
267
|
+
[repeater, step, min, max]
|
|
257
268
|
);
|
|
258
269
|
|
|
259
270
|
const atMin = value <= min;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The hold-to-repeat timer behind NumberInput's − and + buttons.
|
|
3
|
+
*
|
|
4
|
+
* A press steps once, then after `delay` keeps stepping every `interval` until
|
|
5
|
+
* it is stopped. Two things keep it from running away:
|
|
6
|
+
*
|
|
7
|
+
* - There is only ever one timer. `start` clears whatever is already running,
|
|
8
|
+
* because a press-in does not always arrive after the previous press-out —
|
|
9
|
+
* quick taps on Android can deliver two press-ins in a row, and a second
|
|
10
|
+
* timer started over the first leaves the first with no handle to clear it.
|
|
11
|
+
* - The step reports whether another one is possible. At a bound the button
|
|
12
|
+
* disables, and a disabled button is not guaranteed to deliver the release
|
|
13
|
+
* that would stop the timer, so the timer stops itself there instead.
|
|
14
|
+
*
|
|
15
|
+
* Kept free of React so it can be tested on its own.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
export interface Repeater {
|
|
19
|
+
/** Step once now, then repeat until `stop`. Replaces any running repeat. */
|
|
20
|
+
start: (step: () => boolean) => void;
|
|
21
|
+
/** Stop repeating. Safe to call when nothing is running. */
|
|
22
|
+
stop: () => void;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function createRepeater(delay: number, interval: number): Repeater {
|
|
26
|
+
let delayTimer: ReturnType<typeof setTimeout> | null = null;
|
|
27
|
+
let intervalTimer: ReturnType<typeof setInterval> | null = null;
|
|
28
|
+
// Bumped by every start and stop. A callback from an earlier generation does
|
|
29
|
+
// nothing, so a timer that fires once more after being cleared cannot step.
|
|
30
|
+
let generation = 0;
|
|
31
|
+
|
|
32
|
+
const stop = () => {
|
|
33
|
+
generation += 1;
|
|
34
|
+
if (delayTimer !== null) clearTimeout(delayTimer);
|
|
35
|
+
if (intervalTimer !== null) clearInterval(intervalTimer);
|
|
36
|
+
delayTimer = null;
|
|
37
|
+
intervalTimer = null;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
const start = (step: () => boolean) => {
|
|
41
|
+
stop();
|
|
42
|
+
const current = generation;
|
|
43
|
+
if (!step()) return;
|
|
44
|
+
delayTimer = setTimeout(() => {
|
|
45
|
+
if (current !== generation) return;
|
|
46
|
+
delayTimer = null;
|
|
47
|
+
intervalTimer = setInterval(() => {
|
|
48
|
+
if (current !== generation) return;
|
|
49
|
+
if (!step()) stop();
|
|
50
|
+
}, interval);
|
|
51
|
+
}, delay);
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
return { start, stop };
|
|
55
|
+
}
|