panelui-native 0.84.0 → 0.85.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/README.md +17 -8
- package/lib/module/components/bottom-sheet/index.js +3 -2
- package/lib/module/components/bottom-sheet/index.js.map +1 -1
- package/lib/module/components/button/index.js +37 -16
- package/lib/module/components/button/index.js.map +1 -1
- package/lib/module/components/flip-card/index.js +338 -0
- package/lib/module/components/flip-card/index.js.map +1 -0
- package/lib/module/components/popover/index.js +3 -2
- package/lib/module/components/popover/index.js.map +1 -1
- package/lib/module/components/select/index.js +3 -2
- package/lib/module/components/select/index.js.map +1 -1
- package/lib/module/components/slider/index.js +16 -5
- package/lib/module/components/slider/index.js.map +1 -1
- package/lib/module/components/switch/index.js +28 -7
- package/lib/module/components/switch/index.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/native/index.js +7 -0
- package/lib/module/native/index.js.map +1 -1
- package/lib/module/native/native-host.js +62 -0
- package/lib/module/native/native-host.js.map +1 -0
- package/lib/module/primitives/glass.js +14 -0
- package/lib/module/primitives/glass.js.map +1 -1
- package/lib/typescript/src/components/bottom-sheet/index.d.ts.map +1 -1
- package/lib/typescript/src/components/button/index.d.ts.map +1 -1
- package/lib/typescript/src/components/flip-card/index.d.ts +116 -0
- package/lib/typescript/src/components/flip-card/index.d.ts.map +1 -0
- package/lib/typescript/src/components/slider/index.d.ts.map +1 -1
- package/lib/typescript/src/components/switch/index.d.ts +0 -4
- package/lib/typescript/src/components/switch/index.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/native/index.d.ts +28 -11
- package/lib/typescript/src/native/index.d.ts.map +1 -1
- package/lib/typescript/src/native/native-host.d.ts +71 -0
- package/lib/typescript/src/native/native-host.d.ts.map +1 -0
- package/lib/typescript/src/primitives/glass.d.ts.map +1 -1
- package/package.json +11 -1
- package/src/components/bottom-sheet/index.tsx +8 -3
- package/src/components/button/index.tsx +36 -15
- package/src/components/flip-card/index.tsx +419 -0
- package/src/components/popover/index.tsx +3 -3
- package/src/components/select/index.tsx +3 -3
- package/src/components/slider/index.tsx +28 -6
- package/src/components/switch/index.tsx +28 -7
- package/src/index.ts +9 -0
- package/src/native/index.ts +35 -10
- package/src/native/native-host.tsx +75 -0
- package/src/primitives/glass.tsx +12 -0
package/README.md
CHANGED
|
@@ -172,15 +172,14 @@ you are done. Unstyled text on a white screen means the styles are not reaching
|
|
|
172
172
|
|
|
173
173
|
## Components
|
|
174
174
|
|
|
175
|
-
The root entry
|
|
175
|
+
The root entry is the shortest import, and the one to reach for while you are trying things out:
|
|
176
176
|
|
|
177
177
|
```tsx
|
|
178
178
|
import { Button, useBreakpoint, formatTime } from 'panelui-native';
|
|
179
179
|
```
|
|
180
180
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
expose internal helpers have explicit leaves too:
|
|
181
|
+
Every component, hook, utility and foundation also has a subpath, exposing the same
|
|
182
|
+
implementations and the same types:
|
|
184
183
|
|
|
185
184
|
```tsx
|
|
186
185
|
import { Button } from 'panelui-native/components/button';
|
|
@@ -188,15 +187,21 @@ import { useBreakpoint } from 'panelui-native/hooks/use-breakpoint';
|
|
|
188
187
|
import { formatTime } from 'panelui-native/utils/time';
|
|
189
188
|
import { PanelUIProvider } from 'panelui-native/provider';
|
|
190
189
|
import { useTheme } from 'panelui-native/theme';
|
|
190
|
+
import { Text } from 'panelui-native/primitives/text';
|
|
191
|
+
import { ChevronLeftIcon } from 'panelui-native/icons';
|
|
191
192
|
import { Scrim } from 'panelui-native/primitives/scrim';
|
|
192
193
|
```
|
|
193
194
|
|
|
194
|
-
The
|
|
195
|
+
The component subpath is the slug from its documentation URL. The public utilities are `cn`,
|
|
196
|
+
`color` and `time`; the other foundation leaves are `animated-pressable`, `keyboard-avoider` and
|
|
195
197
|
`scroll-progress` under `panelui-native/primitives/`.
|
|
196
198
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
199
|
+
**Prefer the subpath for anything you ship.** The root entry re-exports all 120 components and
|
|
200
|
+
Metro does not tree-shake, so one name from it loads every component and everything they import —
|
|
201
|
+
including the charts' SVG graphs and the map. On a desktop simulator that is invisible. On an
|
|
202
|
+
Android device it is not: the whole library evaluates before your first screen paints, and under
|
|
203
|
+
memory pressure the OS can end the process with nothing in the terminal to explain it. See
|
|
204
|
+
[Troubleshooting](https://panelui.dev/docs/troubleshooting).
|
|
200
205
|
|
|
201
206
|
| Component | What it does |
|
|
202
207
|
| --- | --- |
|
|
@@ -453,6 +458,10 @@ changes natively.
|
|
|
453
458
|
Yes. PanelUI is pure TypeScript with no native modules, so no development build or prebuild is
|
|
454
459
|
required.
|
|
455
460
|
|
|
461
|
+
If an app closes in Expo Go on Android with nothing in the terminal, import through the subpaths
|
|
462
|
+
rather than the root — see [Components](#components) above and
|
|
463
|
+
[Troubleshooting](https://panelui.dev/docs/troubleshooting).
|
|
464
|
+
|
|
456
465
|
### Is it accessible?
|
|
457
466
|
|
|
458
467
|
Every interactive component sets an `accessibilityRole`, mirrors its state through
|
|
@@ -7,7 +7,7 @@ import { Gesture, GestureDetector } from 'react-native-gesture-handler';
|
|
|
7
7
|
import Animated, { Extrapolation, FadeIn, cancelAnimation, interpolate, SlideInDown, runOnJS, useAnimatedScrollHandler, useAnimatedStyle, useReducedMotion, useSharedValue, withSpring, withTiming } from 'react-native-reanimated';
|
|
8
8
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
9
9
|
import { tv } from 'tailwind-variants';
|
|
10
|
-
import { getComposeModifiers, getNativeUI, getSwiftUIModifiers } from "../../native/index.js";
|
|
10
|
+
import { NativeHost, getComposeModifiers, getNativeUI, getSwiftUIModifiers } from "../../native/index.js";
|
|
11
11
|
import { XIcon } from "../../icons/index.js";
|
|
12
12
|
import { ModalPortal } from "../../primitives/portal.js";
|
|
13
13
|
import { Scrim } from "../../primitives/scrim.js";
|
|
@@ -526,7 +526,8 @@ function BottomSheetContent({
|
|
|
526
526
|
// RNHostView is not optional: our content is React Native, and the native
|
|
527
527
|
// sheet cannot measure RN views directly. Without it the sheet sizes to
|
|
528
528
|
// nothing and the content spills outside its container.
|
|
529
|
-
return /*#__PURE__*/_jsx(
|
|
529
|
+
return /*#__PURE__*/_jsx(NativeHost, {
|
|
530
|
+
host: Host,
|
|
530
531
|
matchContents: true,
|
|
531
532
|
ignoreSafeArea: "keyboard",
|
|
532
533
|
style: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["cloneElement","createContext","isValidElement","useCallback","useContext","useEffect","useMemo","useRef","useState","Pressable","StyleSheet","useWindowDimensions","View","useCSSVariable","Gesture","GestureDetector","Animated","Extrapolation","FadeIn","cancelAnimation","interpolate","SlideInDown","runOnJS","useAnimatedScrollHandler","useAnimatedStyle","useReducedMotion","useSharedValue","withSpring","withTiming","useSafeAreaInsets","tv","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","ENTERING","springify","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","activeOffsetY","simultaneousWithExternalGesture","onChange","event","changeY","onEnd","projected","velocityY","sheetStyle","transform","backdropStyle","opacity","CLAMP","sizedHeight","Math","min","top","surface","Host","BottomSheet","NativeBottomSheet","RNHostView","requested","modifiers","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","handler","contentOffset","y","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","isValidElement","useCallback","useContext","useEffect","useMemo","useRef","useState","Pressable","StyleSheet","useWindowDimensions","View","useCSSVariable","Gesture","GestureDetector","Animated","Extrapolation","FadeIn","cancelAnimation","interpolate","SlideInDown","runOnJS","useAnimatedScrollHandler","useAnimatedStyle","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","ENTERING","springify","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","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","handler","contentOffset","y","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":[]}
|
|
@@ -8,7 +8,7 @@ import { AnimatedPressable } from "../../primitives/animated-pressable.js";
|
|
|
8
8
|
import { Text, textChildren } from "../../primitives/text.js";
|
|
9
9
|
import { cn } from "../../utils/cn.js";
|
|
10
10
|
import { IconColorProvider } from "../../icons/index.js";
|
|
11
|
-
import { getNativeUI, getSwiftUIModifiers } from "../../native/index.js";
|
|
11
|
+
import { NativeHost, getNativeUI, getSwiftUIModifiers } from "../../native/index.js";
|
|
12
12
|
import { Spinner } from "../spinner/index.js";
|
|
13
13
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
14
|
const buttonVariants = tv({
|
|
@@ -179,13 +179,15 @@ const CONTENT_COLOR_VAR = {
|
|
|
179
179
|
/**
|
|
180
180
|
* Height given to the platform button, matching the styled scale above.
|
|
181
181
|
*
|
|
182
|
-
* It goes on the
|
|
183
|
-
*
|
|
184
|
-
*
|
|
185
|
-
*
|
|
186
|
-
* the box
|
|
187
|
-
*
|
|
188
|
-
*
|
|
182
|
+
* It goes on the host as well as on the button, and the host is the half that
|
|
183
|
+
* stops the jump. `matchContents` does not mean "size the host once" — it
|
|
184
|
+
* means the host keeps its React Native box equal to whatever SwiftUI most
|
|
185
|
+
* recently laid out, and a button laying itself out again is what a press is.
|
|
186
|
+
* So the box moved under the press, and everything below it moved with it.
|
|
187
|
+
*
|
|
188
|
+
* A height we already know is not a question worth asking the platform, so it
|
|
189
|
+
* is not asked: the host states it, and `matchContents` is narrowed to the
|
|
190
|
+
* axis that is genuinely unknown. See the host in the native branch below.
|
|
189
191
|
*/
|
|
190
192
|
const NATIVE_HEIGHT = {
|
|
191
193
|
sm: 36,
|
|
@@ -335,9 +337,33 @@ export const Button = /*#__PURE__*/forwardRef(({
|
|
|
335
337
|
* material is clear enough to leave the page's own foreground legible.
|
|
336
338
|
*/
|
|
337
339
|
const nativeContent = prominent ? '#ffffff' : contentColor;
|
|
338
|
-
|
|
339
|
-
|
|
340
|
+
|
|
341
|
+
/*
|
|
342
|
+
* The box React Native reserves for the platform button, stated rather
|
|
343
|
+
* than measured.
|
|
344
|
+
*
|
|
345
|
+
* An icon button is a square we chose, so both axes are known and the
|
|
346
|
+
* host is asked to match nothing. A labelled button's width is its
|
|
347
|
+
* text's and known only to the platform, so the height is stated and
|
|
348
|
+
* only the width is matched.
|
|
349
|
+
*
|
|
350
|
+
* Leaving both to `matchContents` is what made the button move on its
|
|
351
|
+
* first press: the host tracks SwiftUI's latest layout, and a pressed
|
|
352
|
+
* button lays out again.
|
|
353
|
+
*/
|
|
354
|
+
const hostFrame = resolvedSize === 'icon' ? {
|
|
355
|
+
width: NATIVE_ICON_FRAME,
|
|
356
|
+
height: NATIVE_ICON_FRAME
|
|
357
|
+
} : {
|
|
358
|
+
height: NATIVE_HEIGHT[resolvedSize ?? 'md']
|
|
359
|
+
};
|
|
360
|
+
return /*#__PURE__*/_jsx(NativeHost, {
|
|
361
|
+
host: Host,
|
|
362
|
+
matchContents: resolvedSize === 'icon' ? false : {
|
|
363
|
+
horizontal: true
|
|
364
|
+
},
|
|
340
365
|
ignoreSafeArea: "keyboard",
|
|
366
|
+
style: hostFrame,
|
|
341
367
|
children: /*#__PURE__*/_jsx(NativeButton, {
|
|
342
368
|
label: isStringLabel ? children : undefined
|
|
343
369
|
// The platform only reads a symbol beside a label it drew itself,
|
|
@@ -356,12 +382,7 @@ export const Button = /*#__PURE__*/forwardRef(({
|
|
|
356
382
|
* background around. The frame only has to be large enough to hold
|
|
357
383
|
* the result.
|
|
358
384
|
*/,
|
|
359
|
-
style:
|
|
360
|
-
width: NATIVE_ICON_FRAME,
|
|
361
|
-
height: NATIVE_ICON_FRAME
|
|
362
|
-
} : {
|
|
363
|
-
height: NATIVE_HEIGHT[resolvedSize ?? 'md']
|
|
364
|
-
},
|
|
385
|
+
style: hostFrame,
|
|
365
386
|
modifiers: nativeModifiers.length ? nativeModifiers : undefined,
|
|
366
387
|
onPress: props.onPress,
|
|
367
388
|
children: isStringLabel ? undefined : /*#__PURE__*/_jsx(RNHostView, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","forwardRef","useContext","View","tv","useCSSVariable","AnimatedPressable","Text","textChildren","cn","IconColorProvider","getNativeUI","getSwiftUIModifiers","Spinner","jsx","_jsx","jsxs","_jsxs","buttonVariants","slots","root","label","spinner","variants","variant","primary","secondary","outline","ghost","destructive","social","size","sm","md","lg","xl","icon","fullWidth","true","disabled","defaultVariants","ButtonGroupContext","ButtonGroupProvider","value","children","Provider","useButtonGroup","ATTACHED","SPINNER_SIZE","BUTTON_HIT_SLOP","CONTENT_COLOR_VAR","NATIVE_HEIGHT","NATIVE_ICON_PADDING","NATIVE_ICON_FRAME","NATIVE_CONTROL_SIZE","NATIVE_VARIANT","Button","className","labelClassName","loading","startContent","endContent","native","systemImage","glass","accessibilityState","props","ref","isDisabled","nativeUI","group","attached","resolvedVariant","resolvedSize","themedColor","contentColor","undefined","Host","NativeButton","RNHostView","isStringLabel","prominent","swiftUI","nativeModifiers","buttonStyle","buttonBorderShape","controlSize","filter","Boolean","nativeContent","
|
|
1
|
+
{"version":3,"names":["createContext","forwardRef","useContext","View","tv","useCSSVariable","AnimatedPressable","Text","textChildren","cn","IconColorProvider","NativeHost","getNativeUI","getSwiftUIModifiers","Spinner","jsx","_jsx","jsxs","_jsxs","buttonVariants","slots","root","label","spinner","variants","variant","primary","secondary","outline","ghost","destructive","social","size","sm","md","lg","xl","icon","fullWidth","true","disabled","defaultVariants","ButtonGroupContext","ButtonGroupProvider","value","children","Provider","useButtonGroup","ATTACHED","SPINNER_SIZE","BUTTON_HIT_SLOP","CONTENT_COLOR_VAR","NATIVE_HEIGHT","NATIVE_ICON_PADDING","NATIVE_ICON_FRAME","NATIVE_CONTROL_SIZE","NATIVE_VARIANT","Button","className","labelClassName","loading","startContent","endContent","native","systemImage","glass","accessibilityState","props","ref","isDisabled","nativeUI","group","attached","resolvedVariant","resolvedSize","themedColor","contentColor","undefined","Host","NativeButton","RNHostView","isStringLabel","prominent","swiftUI","nativeModifiers","buttonStyle","buttonBorderShape","controlSize","filter","Boolean","nativeContent","hostFrame","width","height","host","matchContents","horizontal","ignoreSafeArea","style","modifiers","length","onPress","padding","alignItems","justifyContent","color","text","hitSlop","pressScale","accessibilityRole","busy","displayName"],"sourceRoot":"../../../../src","sources":["components/button/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* FlipCard — two faces of one card, and a turn between them.
|
|
5
|
+
*
|
|
6
|
+
* ```tsx
|
|
7
|
+
* <FlipCard>
|
|
8
|
+
* <FlipCard.Front className="items-center justify-center rounded-2xl bg-card p-6">
|
|
9
|
+
* <Text>Tap me</Text>
|
|
10
|
+
* </FlipCard.Front>
|
|
11
|
+
* <FlipCard.Back className="items-center justify-center rounded-2xl bg-primary p-6">
|
|
12
|
+
* <Text className="text-primary-foreground">The other side</Text>
|
|
13
|
+
* </FlipCard.Back>
|
|
14
|
+
* </FlipCard>
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* For content that is genuinely two-sided — a bank card and its security code,
|
|
18
|
+
* a term and its definition, a photograph and what it is of. Not for
|
|
19
|
+
* progressive disclosure: the back replaces the front rather than extending
|
|
20
|
+
* it, so anything the reader needs to compare across the turn belongs in
|
|
21
|
+
* [Collapsible](../collapsible) or a second card instead.
|
|
22
|
+
*
|
|
23
|
+
* ## One box, and both faces in it
|
|
24
|
+
*
|
|
25
|
+
* The back is laid over the front, so there is one box and the two faces fill
|
|
26
|
+
* it. State the height on the root and both faces take it; leave it off and
|
|
27
|
+
* the front's own content decides, with the back given whatever that came to.
|
|
28
|
+
*
|
|
29
|
+
* A back with more in it than the front overflows rather than growing the
|
|
30
|
+
* card, and the fix is a height on the root rather than more padding on the
|
|
31
|
+
* back — a card whose height changed halfway through the turn would be a card
|
|
32
|
+
* that moved everything under it.
|
|
33
|
+
*
|
|
34
|
+
* ## Both faces are hidden the same way twice
|
|
35
|
+
*
|
|
36
|
+
* `backfaceVisibility` is the mechanism, and it is not reliable on every
|
|
37
|
+
* Android surface — so the face that has turned away is also faded out and
|
|
38
|
+
* dropped behind, on the same shared value, at the halfway point. Two
|
|
39
|
+
* mechanisms for one job, because the failure of the first is a card that
|
|
40
|
+
* shows both faces mirrored through each other and nothing in the tree that
|
|
41
|
+
* says why.
|
|
42
|
+
*
|
|
43
|
+
* ## Under reduce motion
|
|
44
|
+
*
|
|
45
|
+
* The faces swap with no turn at all. Not a shorter turn — none. The rotation
|
|
46
|
+
* is the part that moves, and moving is the part the setting is about; which
|
|
47
|
+
* face is showing is the information, and it is kept.
|
|
48
|
+
*/
|
|
49
|
+
import { Children, createContext, forwardRef, isValidElement, useCallback, useContext, useEffect, useMemo, useState } from 'react';
|
|
50
|
+
import { StyleSheet, View } from 'react-native';
|
|
51
|
+
import { Gesture, GestureDetector } from 'react-native-gesture-handler';
|
|
52
|
+
import Animated, { cancelAnimation, interpolate, runOnJS, useAnimatedStyle, useReducedMotion, useSharedValue, withSpring } from 'react-native-reanimated';
|
|
53
|
+
import { tv } from 'tailwind-variants';
|
|
54
|
+
import { cn } from "../../utils/cn.js";
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* How the card settles on a face.
|
|
58
|
+
*
|
|
59
|
+
* Clamped, and a little heavier than the library's other springs. A card has
|
|
60
|
+
* apparent mass — it is a rectangle the size of your hand — and a turn that
|
|
61
|
+
* overshoots and comes back reads as a playing card being flicked rather than
|
|
62
|
+
* an object being turned over. The overshoot is also the one place the hidden
|
|
63
|
+
* face can appear, since it puts the rotation past 360.
|
|
64
|
+
*/
|
|
65
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
66
|
+
const SPRING = {
|
|
67
|
+
damping: 18,
|
|
68
|
+
stiffness: 140,
|
|
69
|
+
mass: 0.9,
|
|
70
|
+
overshootClamping: true
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Distance across the card that counts as a whole turn, as a fraction of its
|
|
75
|
+
* own width or height.
|
|
76
|
+
*
|
|
77
|
+
* Less than the full span: a drag that has crossed two thirds of the card has
|
|
78
|
+
* made its point, and requiring the whole width means the last part of every
|
|
79
|
+
* deliberate flip is spent travelling to an edge the finger has to reach.
|
|
80
|
+
*/
|
|
81
|
+
const DRAG_SPAN = 0.66;
|
|
82
|
+
|
|
83
|
+
/** Velocity, in points per second, that carries a short drag over anyway. */
|
|
84
|
+
const FLICK_VELOCITY = 500;
|
|
85
|
+
const flipCardVariants = tv({
|
|
86
|
+
slots: {
|
|
87
|
+
root: 'relative',
|
|
88
|
+
face: 'w-full'
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
/** Which axis the card turns about. */
|
|
93
|
+
|
|
94
|
+
/** Which way round it turns. */
|
|
95
|
+
|
|
96
|
+
/** What flips the card. */
|
|
97
|
+
|
|
98
|
+
const FlipCardContext = /*#__PURE__*/createContext(null);
|
|
99
|
+
function useFlipCardContext(component) {
|
|
100
|
+
const context = useContext(FlipCardContext);
|
|
101
|
+
if (!context) throw new Error(`${component} must be used within a <FlipCard>`);
|
|
102
|
+
return context;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* The card's state, for a face that needs to know which way round it is.
|
|
107
|
+
*
|
|
108
|
+
* `progress` runs 0 → 1 across the turn and is a shared value, so a face can
|
|
109
|
+
* drive its own animation off the same turn rather than starting a second one
|
|
110
|
+
* beside it.
|
|
111
|
+
*/
|
|
112
|
+
export function useFlipCard() {
|
|
113
|
+
const {
|
|
114
|
+
flipped,
|
|
115
|
+
direction,
|
|
116
|
+
rotation,
|
|
117
|
+
progress,
|
|
118
|
+
flip
|
|
119
|
+
} = useFlipCardContext('useFlipCard');
|
|
120
|
+
return {
|
|
121
|
+
flipped,
|
|
122
|
+
direction,
|
|
123
|
+
rotation,
|
|
124
|
+
progress,
|
|
125
|
+
flip
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
const FlipCardRoot = /*#__PURE__*/forwardRef(({
|
|
129
|
+
children,
|
|
130
|
+
direction = 'horizontal',
|
|
131
|
+
rotation = 'normal',
|
|
132
|
+
flipped: flippedProp,
|
|
133
|
+
defaultFlipped = false,
|
|
134
|
+
onFlippedChange,
|
|
135
|
+
trigger = 'press',
|
|
136
|
+
perspective = 1000,
|
|
137
|
+
className,
|
|
138
|
+
...props
|
|
139
|
+
}, ref) => {
|
|
140
|
+
const [internal, setInternal] = useState(defaultFlipped);
|
|
141
|
+
const isControlled = flippedProp !== undefined;
|
|
142
|
+
const flipped = isControlled ? flippedProp : internal;
|
|
143
|
+
const progress = useSharedValue(defaultFlipped ? 1 : 0);
|
|
144
|
+
const startProgress = useSharedValue(0);
|
|
145
|
+
const span = useSharedValue(0);
|
|
146
|
+
const reduceMotion = useReducedMotion();
|
|
147
|
+
const {
|
|
148
|
+
root,
|
|
149
|
+
face
|
|
150
|
+
} = flipCardVariants();
|
|
151
|
+
|
|
152
|
+
/*
|
|
153
|
+
* The settled face is React state and the turn is a shared value, and the
|
|
154
|
+
* two are kept in step from here rather than from the gesture: a drag that
|
|
155
|
+
* is let go past halfway has already decided, and telling React at the
|
|
156
|
+
* moment of release rather than at the end of the spring is what keeps the
|
|
157
|
+
* hidden face out of the accessibility tree while it is still turning.
|
|
158
|
+
*/
|
|
159
|
+
const settle = useCallback(next => {
|
|
160
|
+
if (!isControlled) setInternal(next);
|
|
161
|
+
onFlippedChange?.(next);
|
|
162
|
+
}, [isControlled, onFlippedChange]);
|
|
163
|
+
useEffect(() => {
|
|
164
|
+
progress.value = reduceMotion ? flipped ? 1 : 0 : withSpring(flipped ? 1 : 0, SPRING);
|
|
165
|
+
}, [flipped, progress, reduceMotion]);
|
|
166
|
+
useEffect(() => () => cancelAnimation(progress), [progress]);
|
|
167
|
+
const flip = useCallback(() => settle(!flipped), [flipped, settle]);
|
|
168
|
+
const gesture = useMemo(() => {
|
|
169
|
+
const tap = Gesture.Tap().enabled(trigger === 'press').onEnd((_event, success) => {
|
|
170
|
+
if (success) runOnJS(flip)();
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
/*
|
|
174
|
+
* The span is read from the shared value rather than from a captured
|
|
175
|
+
* number, so a card that is measured or resized mid-touch does not leave
|
|
176
|
+
* the gesture dividing by the width it had when the finger landed.
|
|
177
|
+
*/
|
|
178
|
+
const pan = Gesture.Pan().enabled(trigger === 'drag').onBegin(() => {
|
|
179
|
+
startProgress.value = progress.value;
|
|
180
|
+
}).onUpdate(event => {
|
|
181
|
+
const travel = direction === 'horizontal' ? event.translationX : event.translationY;
|
|
182
|
+
const reach = Math.max(span.value * DRAG_SPAN, 1);
|
|
183
|
+
const next = startProgress.value + travel / reach;
|
|
184
|
+
progress.value = Math.min(Math.max(next, 0), 1);
|
|
185
|
+
}).onEnd(event => {
|
|
186
|
+
const velocity = direction === 'horizontal' ? event.velocityX : event.velocityY;
|
|
187
|
+
const committed = progress.value > 0.5 || progress.value > 0.1 && velocity > FLICK_VELOCITY;
|
|
188
|
+
runOnJS(settle)(committed);
|
|
189
|
+
});
|
|
190
|
+
return Gesture.Exclusive(pan, tap);
|
|
191
|
+
}, [direction, flip, progress, settle, span, startProgress, trigger]);
|
|
192
|
+
|
|
193
|
+
/*
|
|
194
|
+
* One turn, read two ways. The front runs 0 → 180 and the back 180 → 360,
|
|
195
|
+
* so at any moment exactly one of them has its face toward the reader.
|
|
196
|
+
*
|
|
197
|
+
* `sign` is not an RTL mirror. Turning a physical object over is a physical
|
|
198
|
+
* direction, not a reading direction, and a card that spun the other way
|
|
199
|
+
* in an Arabic layout would be a different card rather than the same one
|
|
200
|
+
* laid out correctly.
|
|
201
|
+
*/
|
|
202
|
+
const sign = rotation === 'reverse' ? -1 : 1;
|
|
203
|
+
const axis = direction === 'horizontal' ? 'rotateY' : 'rotateX';
|
|
204
|
+
const frontStyle = useAnimatedStyle(() => {
|
|
205
|
+
const angle = interpolate(progress.value, [0, 1], [0, 180 * sign]);
|
|
206
|
+
const showing = progress.value < 0.5;
|
|
207
|
+
return {
|
|
208
|
+
transform: [{
|
|
209
|
+
perspective
|
|
210
|
+
}, {
|
|
211
|
+
[axis]: `${angle}deg`
|
|
212
|
+
}],
|
|
213
|
+
opacity: showing ? 1 : 0,
|
|
214
|
+
zIndex: showing ? 1 : 0
|
|
215
|
+
};
|
|
216
|
+
});
|
|
217
|
+
const backStyle = useAnimatedStyle(() => {
|
|
218
|
+
const angle = interpolate(progress.value, [0, 1], [-180 * sign, 0]);
|
|
219
|
+
const showing = progress.value >= 0.5;
|
|
220
|
+
return {
|
|
221
|
+
transform: [{
|
|
222
|
+
perspective
|
|
223
|
+
}, {
|
|
224
|
+
[axis]: `${angle}deg`
|
|
225
|
+
}],
|
|
226
|
+
opacity: showing ? 1 : 0,
|
|
227
|
+
zIndex: showing ? 1 : 0
|
|
228
|
+
};
|
|
229
|
+
});
|
|
230
|
+
let front = null;
|
|
231
|
+
let back = null;
|
|
232
|
+
for (const child of Children.toArray(children)) {
|
|
233
|
+
if (! /*#__PURE__*/isValidElement(child)) continue;
|
|
234
|
+
if (child.type === FlipCardFront) front = child;else if (child.type === FlipCardBack) back = child;
|
|
235
|
+
}
|
|
236
|
+
const context = useMemo(() => ({
|
|
237
|
+
flipped,
|
|
238
|
+
direction,
|
|
239
|
+
rotation,
|
|
240
|
+
perspective,
|
|
241
|
+
progress,
|
|
242
|
+
flip
|
|
243
|
+
}), [direction, flip, flipped, perspective, progress, rotation]);
|
|
244
|
+
|
|
245
|
+
/*
|
|
246
|
+
* The gesture goes on the card itself rather than on a view around it.
|
|
247
|
+
*
|
|
248
|
+
* A wrapper is an extra box with no width of its own, and a card sized
|
|
249
|
+
* `w-full` inside one is asking for a percentage of nothing — which is how
|
|
250
|
+
* a two-hundred-point card ended up taller than the screen and hanging off
|
|
251
|
+
* the side of it.
|
|
252
|
+
*
|
|
253
|
+
* The accessibility action rides here for the same reason. A drag is not
|
|
254
|
+
* available to a screen reader, and a card that can only be turned by
|
|
255
|
+
* dragging is a card some readers can never see the back of.
|
|
256
|
+
*/
|
|
257
|
+
const card = /*#__PURE__*/_jsxs(View, {
|
|
258
|
+
ref: ref,
|
|
259
|
+
onLayout: event => {
|
|
260
|
+
span.value = direction === 'horizontal' ? event.nativeEvent.layout.width : event.nativeEvent.layout.height;
|
|
261
|
+
},
|
|
262
|
+
accessible: trigger !== 'none',
|
|
263
|
+
accessibilityRole: trigger === 'none' ? undefined : 'button',
|
|
264
|
+
accessibilityState: {
|
|
265
|
+
expanded: flipped
|
|
266
|
+
},
|
|
267
|
+
accessibilityActions: trigger === 'none' ? undefined : [{
|
|
268
|
+
name: 'activate',
|
|
269
|
+
label: 'Flip the card over'
|
|
270
|
+
}],
|
|
271
|
+
onAccessibilityAction: trigger === 'none' ? undefined : flip,
|
|
272
|
+
...props,
|
|
273
|
+
className: root({
|
|
274
|
+
className
|
|
275
|
+
}),
|
|
276
|
+
children: [/*#__PURE__*/_jsx(Animated.View, {
|
|
277
|
+
style: frontStyle,
|
|
278
|
+
className: face({
|
|
279
|
+
className: 'grow'
|
|
280
|
+
}),
|
|
281
|
+
accessibilityElementsHidden: flipped,
|
|
282
|
+
importantForAccessibility: flipped ? 'no-hide-descendants' : 'auto',
|
|
283
|
+
children: front
|
|
284
|
+
}), /*#__PURE__*/_jsx(Animated.View, {
|
|
285
|
+
style: [StyleSheet.absoluteFill, backStyle],
|
|
286
|
+
className: face(),
|
|
287
|
+
accessibilityElementsHidden: !flipped,
|
|
288
|
+
importantForAccessibility: flipped ? 'auto' : 'no-hide-descendants',
|
|
289
|
+
children: back
|
|
290
|
+
})]
|
|
291
|
+
});
|
|
292
|
+
return /*#__PURE__*/_jsx(FlipCardContext.Provider, {
|
|
293
|
+
value: context,
|
|
294
|
+
children: trigger === 'none' ? card : /*#__PURE__*/_jsx(GestureDetector, {
|
|
295
|
+
gesture: gesture,
|
|
296
|
+
children: card
|
|
297
|
+
})
|
|
298
|
+
});
|
|
299
|
+
});
|
|
300
|
+
/** The face showing at rest. Its size is the card's size. */
|
|
301
|
+
const FlipCardFront = /*#__PURE__*/forwardRef(({
|
|
302
|
+
className,
|
|
303
|
+
...props
|
|
304
|
+
}, ref) => /*#__PURE__*/_jsx(View, {
|
|
305
|
+
ref: ref
|
|
306
|
+
// The backface is the first of the two mechanisms that hide a face turned
|
|
307
|
+
// away; the opacity on the animated parent is the second.
|
|
308
|
+
,
|
|
309
|
+
style: {
|
|
310
|
+
backfaceVisibility: 'hidden'
|
|
311
|
+
},
|
|
312
|
+
...props,
|
|
313
|
+
// `h-full` of a card that states no height is ignored rather than
|
|
314
|
+
// collapsing, so one shape covers both: a card given a height is filled,
|
|
315
|
+
// and a card left to its content still measures it.
|
|
316
|
+
className: cn('h-full w-full', className)
|
|
317
|
+
}));
|
|
318
|
+
|
|
319
|
+
/** The face revealed by the turn, laid over the front. */
|
|
320
|
+
const FlipCardBack = /*#__PURE__*/forwardRef(({
|
|
321
|
+
className,
|
|
322
|
+
...props
|
|
323
|
+
}, ref) => /*#__PURE__*/_jsx(View, {
|
|
324
|
+
ref: ref,
|
|
325
|
+
style: {
|
|
326
|
+
backfaceVisibility: 'hidden'
|
|
327
|
+
},
|
|
328
|
+
...props,
|
|
329
|
+
className: cn('h-full w-full', className)
|
|
330
|
+
}));
|
|
331
|
+
FlipCardRoot.displayName = 'FlipCard';
|
|
332
|
+
FlipCardFront.displayName = 'FlipCard.Front';
|
|
333
|
+
FlipCardBack.displayName = 'FlipCard.Back';
|
|
334
|
+
export const FlipCard = Object.assign(FlipCardRoot, {
|
|
335
|
+
Front: FlipCardFront,
|
|
336
|
+
Back: FlipCardBack
|
|
337
|
+
});
|
|
338
|
+
//# sourceMappingURL=index.js.map
|