panelui-native 0.83.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/circular-text/circular-text-geometry.js +63 -0
- package/lib/module/components/circular-text/circular-text-geometry.js.map +1 -0
- package/lib/module/components/circular-text/index.js +146 -0
- package/lib/module/components/circular-text/index.js.map +1 -0
- 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/marquee/index.js +12 -5
- package/lib/module/components/marquee/index.js.map +1 -1
- package/lib/module/components/panelside/index.js +15 -417
- package/lib/module/components/panelside/index.js.map +1 -1
- package/lib/module/components/popover/index.js +120 -7
- 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/icons/index.js +24 -4
- package/lib/module/icons/index.js.map +1 -1
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/native/index.js +35 -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/circular-text/circular-text-geometry.d.ts +39 -0
- package/lib/typescript/src/components/circular-text/circular-text-geometry.d.ts.map +1 -0
- package/lib/typescript/src/components/circular-text/index.d.ts +69 -0
- package/lib/typescript/src/components/circular-text/index.d.ts.map +1 -0
- 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/marquee/index.d.ts.map +1 -1
- package/lib/typescript/src/components/panelside/index.d.ts +10 -202
- package/lib/typescript/src/components/panelside/index.d.ts.map +1 -1
- package/lib/typescript/src/components/popover/index.d.ts +25 -1
- package/lib/typescript/src/components/popover/index.d.ts.map +1 -1
- 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/icons/index.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +3 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/native/index.d.ts +67 -10
- 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/circular-text/circular-text-geometry.ts +80 -0
- package/src/components/circular-text/index.tsx +217 -0
- package/src/components/flip-card/index.tsx +419 -0
- package/src/components/marquee/index.tsx +12 -5
- package/src/components/panelside/index.tsx +16 -604
- package/src/components/popover/index.tsx +146 -4
- 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/icons/index.tsx +23 -2
- package/src/index.ts +10 -6
- package/src/native/index.ts +89 -9
- 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,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Where each character sits on the ring, kept out of the component so it can
|
|
5
|
+
* be tested without rendering one.
|
|
6
|
+
*
|
|
7
|
+
* Every number here reaches a transform, and a transform treats `NaN` and
|
|
8
|
+
* `Infinity` as a frame that never resolves rather than as an error — a ring
|
|
9
|
+
* handed a bad radius should draw nothing, not wedge. So the guards live at
|
|
10
|
+
* the boundary, once, instead of at each use.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
/** Points from the centre to the baseline the characters sit on. */
|
|
14
|
+
export const DEFAULT_CIRCULAR_TEXT_RADIUS = 90;
|
|
15
|
+
|
|
16
|
+
/** Milliseconds for one full turn. Slow: it is decoration, not a spinner. */
|
|
17
|
+
export const DEFAULT_CIRCULAR_TEXT_DURATION = 20000;
|
|
18
|
+
|
|
19
|
+
/** Degrees of the circle the text is spread across. The whole way round. */
|
|
20
|
+
export const DEFAULT_CIRCULAR_TEXT_SPREAD = 360;
|
|
21
|
+
export function normalizeRadius(value) {
|
|
22
|
+
if (!Number.isFinite(value)) return DEFAULT_CIRCULAR_TEXT_RADIUS;
|
|
23
|
+
return Math.max(value, 0);
|
|
24
|
+
}
|
|
25
|
+
export function normalizeDuration(value) {
|
|
26
|
+
if (!Number.isFinite(value)) return DEFAULT_CIRCULAR_TEXT_DURATION;
|
|
27
|
+
return Math.max(value, 0);
|
|
28
|
+
}
|
|
29
|
+
export function normalizeSpread(value) {
|
|
30
|
+
if (!Number.isFinite(value)) return DEFAULT_CIRCULAR_TEXT_SPREAD;
|
|
31
|
+
// Clamped rather than wrapped: past a full turn the characters would overlap
|
|
32
|
+
// the ones already there, and a spread of -40 is a spread of 40 the other
|
|
33
|
+
// way round, which `reverse` is the prop for.
|
|
34
|
+
return Math.min(Math.abs(value), 360);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* One entry per character, evenly spaced around the arc.
|
|
38
|
+
*
|
|
39
|
+
* The step is measured between characters rather than across them, and which
|
|
40
|
+
* of the two you divide by is the whole difference between a closed ring and
|
|
41
|
+
* one with a visible seam. A full turn has no last gap — the end of the string
|
|
42
|
+
* is adjacent to its start — so `n` characters make `n` gaps and the step is
|
|
43
|
+
* `spread / n`. Anything less than a full turn has one gap fewer than it has
|
|
44
|
+
* characters, so the step is `spread / (n - 1)` and the text reaches both ends
|
|
45
|
+
* of the arc it was given instead of stopping short of the second one.
|
|
46
|
+
*/
|
|
47
|
+
export function circularTextGlyphs(text, spread, startAngle) {
|
|
48
|
+
const characters = Array.from(text);
|
|
49
|
+
if (characters.length === 0) return [];
|
|
50
|
+
const arc = normalizeSpread(spread);
|
|
51
|
+
const from = Number.isFinite(startAngle) ? startAngle : 0;
|
|
52
|
+
const closed = arc >= 360;
|
|
53
|
+
|
|
54
|
+
// One character cannot be spread across anything, and dividing by the zero
|
|
55
|
+
// gaps it has would put it nowhere.
|
|
56
|
+
const step = characters.length === 1 ? 0 : arc / (closed ? characters.length : characters.length - 1);
|
|
57
|
+
return characters.map((character, index) => ({
|
|
58
|
+
character,
|
|
59
|
+
index,
|
|
60
|
+
angle: from + step * index
|
|
61
|
+
}));
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=circular-text-geometry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DEFAULT_CIRCULAR_TEXT_RADIUS","DEFAULT_CIRCULAR_TEXT_DURATION","DEFAULT_CIRCULAR_TEXT_SPREAD","normalizeRadius","value","Number","isFinite","Math","max","normalizeDuration","normalizeSpread","min","abs","circularTextGlyphs","text","spread","startAngle","characters","Array","from","length","arc","closed","step","map","character","index","angle"],"sourceRoot":"../../../../src","sources":["components/circular-text/circular-text-geometry.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO,MAAMA,4BAA4B,GAAG,EAAE;;AAE9C;AACA,OAAO,MAAMC,8BAA8B,GAAG,KAAK;;AAEnD;AACA,OAAO,MAAMC,4BAA4B,GAAG,GAAG;AAE/C,OAAO,SAASC,eAAeA,CAACC,KAAa,EAAU;EACrD,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,EAAE,OAAOJ,4BAA4B;EAChE,OAAOO,IAAI,CAACC,GAAG,CAACJ,KAAK,EAAE,CAAC,CAAC;AAC3B;AAEA,OAAO,SAASK,iBAAiBA,CAACL,KAAa,EAAU;EACvD,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,EAAE,OAAOH,8BAA8B;EAClE,OAAOM,IAAI,CAACC,GAAG,CAACJ,KAAK,EAAE,CAAC,CAAC;AAC3B;AAEA,OAAO,SAASM,eAAeA,CAACN,KAAa,EAAU;EACrD,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACF,KAAK,CAAC,EAAE,OAAOF,4BAA4B;EAChE;EACA;EACA;EACA,OAAOK,IAAI,CAACI,GAAG,CAACJ,IAAI,CAACK,GAAG,CAACR,KAAK,CAAC,EAAE,GAAG,CAAC;AACvC;AAWA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASS,kBAAkBA,CAChCC,IAAY,EACZC,MAAc,EACdC,UAAkB,EACG;EACrB,MAAMC,UAAU,GAAGC,KAAK,CAACC,IAAI,CAACL,IAAI,CAAC;EACnC,IAAIG,UAAU,CAACG,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE;EAEtC,MAAMC,GAAG,GAAGX,eAAe,CAACK,MAAM,CAAC;EACnC,MAAMI,IAAI,GAAGd,MAAM,CAACC,QAAQ,CAACU,UAAU,CAAC,GAAGA,UAAU,GAAG,CAAC;EACzD,MAAMM,MAAM,GAAGD,GAAG,IAAI,GAAG;;EAEzB;EACA;EACA,MAAME,IAAI,GACRN,UAAU,CAACG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAGC,GAAG,IAAIC,MAAM,GAAGL,UAAU,CAACG,MAAM,GAAGH,UAAU,CAACG,MAAM,GAAG,CAAC,CAAC;EAE1F,OAAOH,UAAU,CAACO,GAAG,CAAC,CAACC,SAAS,EAAEC,KAAK,MAAM;IAC3CD,SAAS;IACTC,KAAK;IACLC,KAAK,EAAER,IAAI,GAAGI,IAAI,GAAGG;EACvB,CAAC,CAAC,CAAC;AACL","ignoreList":[]}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useEffect, useMemo } from 'react';
|
|
4
|
+
import { View } from 'react-native';
|
|
5
|
+
import Animated, { Easing, cancelAnimation, useAnimatedStyle, useReducedMotion, useSharedValue, withRepeat, withTiming } from 'react-native-reanimated';
|
|
6
|
+
import { tv } from 'tailwind-variants';
|
|
7
|
+
import { Text } from "../../primitives/text.js";
|
|
8
|
+
import { cn } from "../../utils/cn.js";
|
|
9
|
+
import { DEFAULT_CIRCULAR_TEXT_DURATION, DEFAULT_CIRCULAR_TEXT_RADIUS, DEFAULT_CIRCULAR_TEXT_SPREAD, circularTextGlyphs, normalizeDuration, normalizeRadius, normalizeSpread } from "./circular-text-geometry.js";
|
|
10
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
|
+
const circularTextVariants = tv({
|
|
12
|
+
base: 'items-center justify-center'
|
|
13
|
+
});
|
|
14
|
+
const glyphVariants = tv({
|
|
15
|
+
/*
|
|
16
|
+
* Every character gets a box the size of the ring, laid over the same point,
|
|
17
|
+
* with the character at the top edge of it. Rotating the box about its own
|
|
18
|
+
* centre — which is the ring's centre — is what swings the character round
|
|
19
|
+
* the circle, and it means no per-character arithmetic reaches the transform
|
|
20
|
+
* beyond the one angle.
|
|
21
|
+
*
|
|
22
|
+
* The box's size is set inline rather than by a utility, and that is not
|
|
23
|
+
* decoration: a box that states its own width and height cannot end up with
|
|
24
|
+
* a different one, and one glyph sitting at twice the radius of the rest is
|
|
25
|
+
* exactly what a box of the wrong size looks like.
|
|
26
|
+
*/
|
|
27
|
+
base: 'items-center justify-start'
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* The glyph size the ring is drawn at unless the caller says otherwise.
|
|
32
|
+
*
|
|
33
|
+
* A step up from the body default. Text bent round a circle is read a letter
|
|
34
|
+
* at a time rather than as a word, and at body size the letters are small
|
|
35
|
+
* enough that the ring reads as a texture instead of as a phrase.
|
|
36
|
+
*/
|
|
37
|
+
const GLYPH_TEXT = 'text-lg';
|
|
38
|
+
/**
|
|
39
|
+
* Text set around a circle, turning.
|
|
40
|
+
*
|
|
41
|
+
* For a badge, a seal, a mark around a logo: decoration whose job is to be a
|
|
42
|
+
* shape first and a sentence second. The characters are placed one at a time
|
|
43
|
+
* and each is turned to sit square on the curve, so the ring closes and the
|
|
44
|
+
* text at the bottom is upside down — which is what makes it read as a
|
|
45
|
+
* circle rather than as a sentence bent into one.
|
|
46
|
+
*
|
|
47
|
+
* The centre is left empty and nothing is laid out inside it. Put a logo
|
|
48
|
+
* there by stacking the two, rather than by passing it as a child.
|
|
49
|
+
*
|
|
50
|
+
* The turn runs entirely on the UI thread, and under the platform's
|
|
51
|
+
* reduce-motion setting the ring is drawn once and held still. Not a slower
|
|
52
|
+
* turn — none. The shape carries the whole meaning; the rotation is the part
|
|
53
|
+
* that setting exists to remove.
|
|
54
|
+
*/
|
|
55
|
+
export function CircularText({
|
|
56
|
+
children,
|
|
57
|
+
radius = DEFAULT_CIRCULAR_TEXT_RADIUS,
|
|
58
|
+
spinDuration = DEFAULT_CIRCULAR_TEXT_DURATION,
|
|
59
|
+
reverse = false,
|
|
60
|
+
paused = false,
|
|
61
|
+
spread = DEFAULT_CIRCULAR_TEXT_SPREAD,
|
|
62
|
+
startAngle = 0,
|
|
63
|
+
className,
|
|
64
|
+
textClassName,
|
|
65
|
+
style,
|
|
66
|
+
...props
|
|
67
|
+
}) {
|
|
68
|
+
const reducedMotion = useReducedMotion();
|
|
69
|
+
const rotation = useSharedValue(0);
|
|
70
|
+
const size = normalizeRadius(radius) * 2;
|
|
71
|
+
const duration = normalizeDuration(spinDuration);
|
|
72
|
+
const arc = normalizeSpread(spread);
|
|
73
|
+
const glyphs = useMemo(() => circularTextGlyphs(children, arc, startAngle), [children, arc, startAngle]);
|
|
74
|
+
|
|
75
|
+
// A duration of zero is a timing that never advances, so it is a held ring
|
|
76
|
+
// rather than an infinitely fast one.
|
|
77
|
+
const turning = !paused && !reducedMotion && duration > 0 && glyphs.length > 0;
|
|
78
|
+
useEffect(() => {
|
|
79
|
+
if (!turning) {
|
|
80
|
+
// Leaves the value where it reached. Zeroing here would send a ring
|
|
81
|
+
// paused mid-word back to the top, and the pause would read as a reset.
|
|
82
|
+
cancelAnimation(rotation);
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/*
|
|
87
|
+
* From wherever it already is, one turn, forever.
|
|
88
|
+
*
|
|
89
|
+
* The repeat restarts each cycle at the value it began on, and the state
|
|
90
|
+
* at `from + 360` is the state at `from`, so the seam between cycles is
|
|
91
|
+
* arithmetic rather than something to see. Taking the remainder first
|
|
92
|
+
* keeps the number from growing without bound over a long session.
|
|
93
|
+
*/
|
|
94
|
+
const from = rotation.value % 360;
|
|
95
|
+
const to = reverse ? from - 360 : from + 360;
|
|
96
|
+
rotation.value = from;
|
|
97
|
+
rotation.value = withRepeat(withTiming(to, {
|
|
98
|
+
duration,
|
|
99
|
+
easing: Easing.linear
|
|
100
|
+
}), -1, false);
|
|
101
|
+
return () => cancelAnimation(rotation);
|
|
102
|
+
}, [rotation, turning, duration, reverse]);
|
|
103
|
+
const ringStyle = useAnimatedStyle(() => ({
|
|
104
|
+
transform: [{
|
|
105
|
+
rotate: `${rotation.value}deg`
|
|
106
|
+
}]
|
|
107
|
+
}));
|
|
108
|
+
return /*#__PURE__*/_jsx(View, {
|
|
109
|
+
accessible: true,
|
|
110
|
+
accessibilityRole: "text",
|
|
111
|
+
accessibilityLabel: children,
|
|
112
|
+
className: cn(circularTextVariants(), className),
|
|
113
|
+
style: [{
|
|
114
|
+
width: size,
|
|
115
|
+
height: size
|
|
116
|
+
}, style],
|
|
117
|
+
...props,
|
|
118
|
+
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
119
|
+
accessibilityElementsHidden: true,
|
|
120
|
+
importantForAccessibility: "no-hide-descendants",
|
|
121
|
+
style: [{
|
|
122
|
+
width: size,
|
|
123
|
+
height: size
|
|
124
|
+
}, ringStyle],
|
|
125
|
+
children: glyphs.map(glyph => /*#__PURE__*/_jsx(View, {
|
|
126
|
+
className: glyphVariants(),
|
|
127
|
+
style: {
|
|
128
|
+
position: 'absolute',
|
|
129
|
+
left: 0,
|
|
130
|
+
top: 0,
|
|
131
|
+
width: size,
|
|
132
|
+
height: size,
|
|
133
|
+
transform: [{
|
|
134
|
+
rotate: `${glyph.angle}deg`
|
|
135
|
+
}]
|
|
136
|
+
},
|
|
137
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
138
|
+
className: cn(GLYPH_TEXT, textClassName),
|
|
139
|
+
children: glyph.character
|
|
140
|
+
})
|
|
141
|
+
}, `${glyph.character}-${glyph.index}`))
|
|
142
|
+
})
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
CircularText.displayName = 'CircularText';
|
|
146
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","useMemo","View","Animated","Easing","cancelAnimation","useAnimatedStyle","useReducedMotion","useSharedValue","withRepeat","withTiming","tv","Text","cn","DEFAULT_CIRCULAR_TEXT_DURATION","DEFAULT_CIRCULAR_TEXT_RADIUS","DEFAULT_CIRCULAR_TEXT_SPREAD","circularTextGlyphs","normalizeDuration","normalizeRadius","normalizeSpread","jsx","_jsx","circularTextVariants","base","glyphVariants","GLYPH_TEXT","CircularText","children","radius","spinDuration","reverse","paused","spread","startAngle","className","textClassName","style","props","reducedMotion","rotation","size","duration","arc","glyphs","turning","length","undefined","from","value","to","easing","linear","ringStyle","transform","rotate","accessible","accessibilityRole","accessibilityLabel","width","height","accessibilityElementsHidden","importantForAccessibility","map","glyph","position","left","top","angle","character","index","displayName"],"sourceRoot":"../../../../src","sources":["components/circular-text/index.tsx"],"mappings":"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","ignoreList":[]}
|