@oxyhq/bloom 0.27.0 → 0.29.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/lib/commonjs/animated-check/AnimatedCheck.js +162 -0
- package/lib/commonjs/animated-check/AnimatedCheck.js.map +1 -0
- package/lib/commonjs/animated-check/index.js +13 -0
- package/lib/commonjs/animated-check/index.js.map +1 -0
- package/lib/commonjs/dialog/placement.js +9 -7
- package/lib/commonjs/dialog/placement.js.map +1 -1
- package/lib/commonjs/fill/index.js.map +1 -1
- package/lib/commonjs/hooks/index.js +20 -0
- package/lib/commonjs/hooks/index.js.map +1 -1
- package/lib/commonjs/hooks/useGutters.js +106 -0
- package/lib/commonjs/hooks/useGutters.js.map +1 -0
- package/lib/commonjs/hooks/useHaptics.js +69 -0
- package/lib/commonjs/hooks/useHaptics.js.map +1 -0
- package/lib/commonjs/hooks/useInteractionState.js +8 -2
- package/lib/commonjs/hooks/useInteractionState.js.map +1 -1
- package/lib/commonjs/index.js +155 -63
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +155 -63
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/media-inset-border/MediaInsetBorder.js +50 -0
- package/lib/commonjs/media-inset-border/MediaInsetBorder.js.map +1 -0
- package/lib/commonjs/media-inset-border/index.js +13 -0
- package/lib/commonjs/media-inset-border/index.js.map +1 -0
- package/lib/commonjs/motion/ScreenTransition.js +46 -0
- package/lib/commonjs/motion/ScreenTransition.js.map +1 -0
- package/lib/commonjs/motion/index.js +32 -0
- package/lib/commonjs/motion/index.js.map +1 -0
- package/lib/commonjs/motion/motion.js +93 -0
- package/lib/commonjs/motion/motion.js.map +1 -0
- package/lib/commonjs/pressable-scale/PressableScale.js +78 -0
- package/lib/commonjs/pressable-scale/PressableScale.js.map +1 -0
- package/lib/commonjs/pressable-scale/index.js +13 -0
- package/lib/commonjs/pressable-scale/index.js.map +1 -0
- package/lib/commonjs/pressable-with-hover/PressableWithHover.js +36 -0
- package/lib/commonjs/pressable-with-hover/PressableWithHover.js.map +1 -0
- package/lib/commonjs/pressable-with-hover/index.js +13 -0
- package/lib/commonjs/pressable-with-hover/index.js.map +1 -0
- package/lib/commonjs/styles/breakpoints.js +24 -0
- package/lib/commonjs/styles/breakpoints.js.map +1 -0
- package/lib/commonjs/styles/index.js +7 -0
- package/lib/commonjs/styles/index.js.map +1 -1
- package/lib/commonjs/subtle-hover/SubtleHover.js +74 -0
- package/lib/commonjs/subtle-hover/SubtleHover.js.map +1 -0
- package/lib/commonjs/subtle-hover/index.js +13 -0
- package/lib/commonjs/subtle-hover/index.js.map +1 -0
- package/lib/commonjs/theme/build-theme.js +2 -0
- package/lib/commonjs/theme/build-theme.js.map +1 -1
- package/lib/commonjs/theme/gradients.js +39 -0
- package/lib/commonjs/theme/gradients.js.map +1 -0
- package/lib/commonjs/theme/index.js +7 -0
- package/lib/commonjs/theme/index.js.map +1 -1
- package/lib/module/animated-check/AnimatedCheck.js +157 -0
- package/lib/module/animated-check/AnimatedCheck.js.map +1 -0
- package/lib/module/animated-check/index.js +4 -0
- package/lib/module/animated-check/index.js.map +1 -0
- package/lib/module/dialog/placement.js +9 -7
- package/lib/module/dialog/placement.js.map +1 -1
- package/lib/module/fill/index.js.map +1 -1
- package/lib/module/hooks/index.js +2 -0
- package/lib/module/hooks/index.js.map +1 -1
- package/lib/module/hooks/useGutters.js +103 -0
- package/lib/module/hooks/useGutters.js.map +1 -0
- package/lib/module/hooks/useHaptics.js +65 -0
- package/lib/module/hooks/useHaptics.js.map +1 -0
- package/lib/module/hooks/useInteractionState.js +10 -3
- package/lib/module/hooks/useInteractionState.js.map +1 -1
- package/lib/module/index.js +10 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +10 -1
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/media-inset-border/MediaInsetBorder.js +47 -0
- package/lib/module/media-inset-border/MediaInsetBorder.js.map +1 -0
- package/lib/module/media-inset-border/index.js +4 -0
- package/lib/module/media-inset-border/index.js.map +1 -0
- package/lib/module/motion/ScreenTransition.js +40 -0
- package/lib/module/motion/ScreenTransition.js.map +1 -0
- package/lib/module/motion/index.js +5 -0
- package/lib/module/motion/index.js.map +1 -0
- package/lib/module/motion/motion.js +87 -0
- package/lib/module/motion/motion.js.map +1 -0
- package/lib/module/pressable-scale/PressableScale.js +75 -0
- package/lib/module/pressable-scale/PressableScale.js.map +1 -0
- package/lib/module/pressable-scale/index.js +4 -0
- package/lib/module/pressable-scale/index.js.map +1 -0
- package/lib/module/pressable-with-hover/PressableWithHover.js +31 -0
- package/lib/module/pressable-with-hover/PressableWithHover.js.map +1 -0
- package/lib/module/pressable-with-hover/index.js +4 -0
- package/lib/module/pressable-with-hover/index.js.map +1 -0
- package/lib/module/styles/breakpoints.js +20 -0
- package/lib/module/styles/breakpoints.js.map +1 -0
- package/lib/module/styles/index.js +1 -0
- package/lib/module/styles/index.js.map +1 -1
- package/lib/module/subtle-hover/SubtleHover.js +71 -0
- package/lib/module/subtle-hover/SubtleHover.js.map +1 -0
- package/lib/module/subtle-hover/index.js +4 -0
- package/lib/module/subtle-hover/index.js.map +1 -0
- package/lib/module/theme/build-theme.js +2 -0
- package/lib/module/theme/build-theme.js.map +1 -1
- package/lib/module/theme/gradients.js +35 -0
- package/lib/module/theme/gradients.js.map +1 -0
- package/lib/module/theme/index.js +1 -0
- package/lib/module/theme/index.js.map +1 -1
- package/lib/typescript/commonjs/animated-check/AnimatedCheck.d.ts +18 -0
- package/lib/typescript/commonjs/animated-check/AnimatedCheck.d.ts.map +1 -0
- package/lib/typescript/commonjs/animated-check/index.d.ts +3 -0
- package/lib/typescript/commonjs/animated-check/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/dialog/placement.d.ts +8 -7
- package/lib/typescript/commonjs/dialog/placement.d.ts.map +1 -1
- package/lib/typescript/commonjs/fill/index.d.ts +2 -2
- package/lib/typescript/commonjs/fill/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/hooks/index.d.ts +4 -0
- package/lib/typescript/commonjs/hooks/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/hooks/useGutters.d.ts +32 -0
- package/lib/typescript/commonjs/hooks/useGutters.d.ts.map +1 -0
- package/lib/typescript/commonjs/hooks/useHaptics.d.ts +28 -0
- package/lib/typescript/commonjs/hooks/useHaptics.d.ts.map +1 -0
- package/lib/typescript/commonjs/hooks/useInteractionState.d.ts +6 -0
- package/lib/typescript/commonjs/hooks/useInteractionState.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +16 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.web.d.ts +16 -0
- package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/media-inset-border/MediaInsetBorder.d.ts +26 -0
- package/lib/typescript/commonjs/media-inset-border/MediaInsetBorder.d.ts.map +1 -0
- package/lib/typescript/commonjs/media-inset-border/index.d.ts +3 -0
- package/lib/typescript/commonjs/media-inset-border/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/motion/ScreenTransition.d.ts +33 -0
- package/lib/typescript/commonjs/motion/ScreenTransition.d.ts.map +1 -0
- package/lib/typescript/commonjs/motion/index.d.ts +4 -0
- package/lib/typescript/commonjs/motion/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/motion/motion.d.ts +24 -0
- package/lib/typescript/commonjs/motion/motion.d.ts.map +1 -0
- package/lib/typescript/commonjs/pressable-scale/PressableScale.d.ts +21 -0
- package/lib/typescript/commonjs/pressable-scale/PressableScale.d.ts.map +1 -0
- package/lib/typescript/commonjs/pressable-scale/index.d.ts +3 -0
- package/lib/typescript/commonjs/pressable-scale/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/pressable-with-hover/PressableWithHover.d.ts +18 -0
- package/lib/typescript/commonjs/pressable-with-hover/PressableWithHover.d.ts.map +1 -0
- package/lib/typescript/commonjs/pressable-with-hover/index.d.ts +3 -0
- package/lib/typescript/commonjs/pressable-with-hover/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/styles/breakpoints.d.ts +18 -0
- package/lib/typescript/commonjs/styles/breakpoints.d.ts.map +1 -0
- package/lib/typescript/commonjs/styles/index.d.ts +2 -0
- package/lib/typescript/commonjs/styles/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/subtle-hover/SubtleHover.d.ts +37 -0
- package/lib/typescript/commonjs/subtle-hover/SubtleHover.d.ts.map +1 -0
- package/lib/typescript/commonjs/subtle-hover/index.d.ts +3 -0
- package/lib/typescript/commonjs/subtle-hover/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/build-theme.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/gradients.d.ts +12 -0
- package/lib/typescript/commonjs/theme/gradients.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/index.d.ts +2 -1
- package/lib/typescript/commonjs/theme/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/types.d.ts +11 -0
- package/lib/typescript/commonjs/theme/types.d.ts.map +1 -1
- package/lib/typescript/module/animated-check/AnimatedCheck.d.ts +18 -0
- package/lib/typescript/module/animated-check/AnimatedCheck.d.ts.map +1 -0
- package/lib/typescript/module/animated-check/index.d.ts +3 -0
- package/lib/typescript/module/animated-check/index.d.ts.map +1 -0
- package/lib/typescript/module/dialog/placement.d.ts +8 -7
- package/lib/typescript/module/dialog/placement.d.ts.map +1 -1
- package/lib/typescript/module/fill/index.d.ts +2 -2
- package/lib/typescript/module/fill/index.d.ts.map +1 -1
- package/lib/typescript/module/hooks/index.d.ts +4 -0
- package/lib/typescript/module/hooks/index.d.ts.map +1 -1
- package/lib/typescript/module/hooks/useGutters.d.ts +32 -0
- package/lib/typescript/module/hooks/useGutters.d.ts.map +1 -0
- package/lib/typescript/module/hooks/useHaptics.d.ts +28 -0
- package/lib/typescript/module/hooks/useHaptics.d.ts.map +1 -0
- package/lib/typescript/module/hooks/useInteractionState.d.ts +6 -0
- package/lib/typescript/module/hooks/useInteractionState.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +16 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/index.web.d.ts +16 -0
- package/lib/typescript/module/index.web.d.ts.map +1 -1
- package/lib/typescript/module/media-inset-border/MediaInsetBorder.d.ts +26 -0
- package/lib/typescript/module/media-inset-border/MediaInsetBorder.d.ts.map +1 -0
- package/lib/typescript/module/media-inset-border/index.d.ts +3 -0
- package/lib/typescript/module/media-inset-border/index.d.ts.map +1 -0
- package/lib/typescript/module/motion/ScreenTransition.d.ts +33 -0
- package/lib/typescript/module/motion/ScreenTransition.d.ts.map +1 -0
- package/lib/typescript/module/motion/index.d.ts +4 -0
- package/lib/typescript/module/motion/index.d.ts.map +1 -0
- package/lib/typescript/module/motion/motion.d.ts +24 -0
- package/lib/typescript/module/motion/motion.d.ts.map +1 -0
- package/lib/typescript/module/pressable-scale/PressableScale.d.ts +21 -0
- package/lib/typescript/module/pressable-scale/PressableScale.d.ts.map +1 -0
- package/lib/typescript/module/pressable-scale/index.d.ts +3 -0
- package/lib/typescript/module/pressable-scale/index.d.ts.map +1 -0
- package/lib/typescript/module/pressable-with-hover/PressableWithHover.d.ts +18 -0
- package/lib/typescript/module/pressable-with-hover/PressableWithHover.d.ts.map +1 -0
- package/lib/typescript/module/pressable-with-hover/index.d.ts +3 -0
- package/lib/typescript/module/pressable-with-hover/index.d.ts.map +1 -0
- package/lib/typescript/module/styles/breakpoints.d.ts +18 -0
- package/lib/typescript/module/styles/breakpoints.d.ts.map +1 -0
- package/lib/typescript/module/styles/index.d.ts +2 -0
- package/lib/typescript/module/styles/index.d.ts.map +1 -1
- package/lib/typescript/module/subtle-hover/SubtleHover.d.ts +37 -0
- package/lib/typescript/module/subtle-hover/SubtleHover.d.ts.map +1 -0
- package/lib/typescript/module/subtle-hover/index.d.ts +3 -0
- package/lib/typescript/module/subtle-hover/index.d.ts.map +1 -0
- package/lib/typescript/module/theme/build-theme.d.ts.map +1 -1
- package/lib/typescript/module/theme/gradients.d.ts +12 -0
- package/lib/typescript/module/theme/gradients.d.ts.map +1 -0
- package/lib/typescript/module/theme/index.d.ts +2 -1
- package/lib/typescript/module/theme/index.d.ts.map +1 -1
- package/lib/typescript/module/theme/types.d.ts +11 -0
- package/lib/typescript/module/theme/types.d.ts.map +1 -1
- package/package.json +72 -1
- package/src/__tests__/AnimatedCheck.test.tsx +31 -0
- package/src/__tests__/MediaInsetBorder.test.tsx +36 -0
- package/src/__tests__/Motion.test.tsx +58 -0
- package/src/__tests__/PressableScale.test.tsx +38 -0
- package/src/__tests__/PressableWithHover.test.tsx +48 -0
- package/src/__tests__/SubtleHover.test.tsx +50 -0
- package/src/__tests__/theme-gradients.test.ts +31 -0
- package/src/__tests__/theme.test.ts +3 -0
- package/src/__tests__/useGutters.test.ts +58 -0
- package/src/__tests__/useHaptics.test.tsx +58 -0
- package/src/__tests__/useInteractionState.test.ts +27 -0
- package/src/animated-check/AnimatedCheck.stories.tsx +60 -0
- package/src/animated-check/AnimatedCheck.tsx +173 -0
- package/src/animated-check/index.ts +2 -0
- package/src/dialog/placement.ts +10 -7
- package/src/fill/index.tsx +2 -2
- package/src/hooks/index.ts +4 -0
- package/src/hooks/useGutters.ts +99 -0
- package/src/hooks/useHaptics.tsx +69 -0
- package/src/hooks/useInteractionState.ts +8 -2
- package/src/index.ts +20 -0
- package/src/index.web.ts +20 -0
- package/src/media-inset-border/MediaInsetBorder.stories.tsx +60 -0
- package/src/media-inset-border/MediaInsetBorder.tsx +72 -0
- package/src/media-inset-border/index.ts +2 -0
- package/src/motion/Motion.stories.tsx +99 -0
- package/src/motion/ScreenTransition.tsx +71 -0
- package/src/motion/index.ts +3 -0
- package/src/motion/motion.ts +75 -0
- package/src/pressable-scale/PressableScale.stories.tsx +92 -0
- package/src/pressable-scale/PressableScale.tsx +93 -0
- package/src/pressable-scale/index.ts +2 -0
- package/src/pressable-with-hover/PressableWithHover.stories.tsx +43 -0
- package/src/pressable-with-hover/PressableWithHover.tsx +43 -0
- package/src/pressable-with-hover/index.ts +2 -0
- package/src/styles/breakpoints.ts +18 -0
- package/src/styles/index.ts +2 -0
- package/src/subtle-hover/SubtleHover.stories.tsx +85 -0
- package/src/subtle-hover/SubtleHover.tsx +98 -0
- package/src/subtle-hover/index.ts +2 -0
- package/src/theme/build-theme.ts +2 -0
- package/src/theme/gradients.ts +61 -0
- package/src/theme/index.ts +2 -1
- package/src/theme/types.ts +13 -0
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { forwardRef, useCallback, useImperativeHandle, useMemo } from 'react';
|
|
4
|
+
import { StyleSheet, Text } from 'react-native';
|
|
5
|
+
import Animated, { Easing, useAnimatedProps, useSharedValue, withDelay, withTiming } from 'react-native-reanimated';
|
|
6
|
+
import { getSvgModule } from "../avatar/svg-module.js";
|
|
7
|
+
import { useTheme } from "../theme/index.js";
|
|
8
|
+
|
|
9
|
+
/** The resolved `react-native-svg` module (non-null branch). */
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
/** Square viewBox the ring + check are drawn on. */
|
|
12
|
+
const VIEW_BOX = 52;
|
|
13
|
+
/** Ring radius within the viewBox. */
|
|
14
|
+
const CIRCLE_RADIUS = 24;
|
|
15
|
+
/** Ring circumference (2·π·r ≈ 150.8) rounded up so the dash fully hides it. */
|
|
16
|
+
const CIRCLE_LENGTH = 166;
|
|
17
|
+
/** Approximate path length of the check stroke. */
|
|
18
|
+
const CHECK_LENGTH = 48;
|
|
19
|
+
/** The check glyph, drawn on the 52×52 canvas. */
|
|
20
|
+
const CHECK_PATH = 'M14.1 27.2l7.1 7.2 16.7-16.8';
|
|
21
|
+
const STROKE_WIDTH = 4;
|
|
22
|
+
/** Ring draw-on duration (ms). */
|
|
23
|
+
const CIRCLE_DURATION = 500;
|
|
24
|
+
/** Check draw-on duration (ms), started once the ring completes. */
|
|
25
|
+
const CHECK_DURATION = 300;
|
|
26
|
+
// `Animated.createAnimatedComponent` must be called once per underlying
|
|
27
|
+
// component (calling it per-render would remount and break the animation).
|
|
28
|
+
// react-native-svg is a lazy/optional peer, so we build the animated wrappers
|
|
29
|
+
// the first time it resolves and cache them at module scope.
|
|
30
|
+
function buildAnimatedSvg(svg) {
|
|
31
|
+
return {
|
|
32
|
+
Circle: Animated.createAnimatedComponent(svg.Circle),
|
|
33
|
+
Path: Animated.createAnimatedComponent(svg.Path)
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
let animatedSvgCache = null;
|
|
37
|
+
function getAnimatedSvg(svg) {
|
|
38
|
+
if (!animatedSvgCache) animatedSvgCache = buildAnimatedSvg(svg);
|
|
39
|
+
return animatedSvgCache;
|
|
40
|
+
}
|
|
41
|
+
/** The animated SVG implementation, rendered only when react-native-svg exists. */
|
|
42
|
+
const AnimatedCheckSvg = /*#__PURE__*/forwardRef(function AnimatedCheckSvg({
|
|
43
|
+
size,
|
|
44
|
+
color,
|
|
45
|
+
svg
|
|
46
|
+
}, ref) {
|
|
47
|
+
const {
|
|
48
|
+
default: Svg
|
|
49
|
+
} = svg;
|
|
50
|
+
const {
|
|
51
|
+
Circle,
|
|
52
|
+
Path
|
|
53
|
+
} = getAnimatedSvg(svg);
|
|
54
|
+
const circleProgress = useSharedValue(0);
|
|
55
|
+
const checkProgress = useSharedValue(0);
|
|
56
|
+
const circleAnimatedProps = useAnimatedProps(() => ({
|
|
57
|
+
strokeDashoffset: CIRCLE_LENGTH - circleProgress.value * CIRCLE_LENGTH
|
|
58
|
+
}));
|
|
59
|
+
const checkAnimatedProps = useAnimatedProps(() => ({
|
|
60
|
+
strokeDashoffset: CHECK_LENGTH - CHECK_LENGTH * checkProgress.value
|
|
61
|
+
}));
|
|
62
|
+
const play = useCallback(() => {
|
|
63
|
+
circleProgress.value = 0;
|
|
64
|
+
checkProgress.value = 0;
|
|
65
|
+
circleProgress.value = withTiming(1, {
|
|
66
|
+
duration: CIRCLE_DURATION,
|
|
67
|
+
easing: Easing.linear
|
|
68
|
+
});
|
|
69
|
+
checkProgress.value = withDelay(CIRCLE_DURATION, withTiming(1, {
|
|
70
|
+
duration: CHECK_DURATION,
|
|
71
|
+
easing: Easing.linear
|
|
72
|
+
}));
|
|
73
|
+
}, [circleProgress, checkProgress]);
|
|
74
|
+
useImperativeHandle(ref, () => ({
|
|
75
|
+
play
|
|
76
|
+
}), [play]);
|
|
77
|
+
return /*#__PURE__*/_jsxs(Svg, {
|
|
78
|
+
fill: "none",
|
|
79
|
+
viewBox: `0 0 ${VIEW_BOX} ${VIEW_BOX}`,
|
|
80
|
+
width: size,
|
|
81
|
+
height: size,
|
|
82
|
+
children: [/*#__PURE__*/_jsx(Circle, {
|
|
83
|
+
animatedProps: circleAnimatedProps,
|
|
84
|
+
cx: VIEW_BOX / 2,
|
|
85
|
+
cy: VIEW_BOX / 2,
|
|
86
|
+
r: CIRCLE_RADIUS,
|
|
87
|
+
fill: "none",
|
|
88
|
+
stroke: color,
|
|
89
|
+
strokeWidth: STROKE_WIDTH,
|
|
90
|
+
strokeDasharray: CIRCLE_LENGTH
|
|
91
|
+
}), /*#__PURE__*/_jsx(Path, {
|
|
92
|
+
animatedProps: checkAnimatedProps,
|
|
93
|
+
d: CHECK_PATH,
|
|
94
|
+
stroke: color,
|
|
95
|
+
strokeWidth: STROKE_WIDTH,
|
|
96
|
+
strokeDasharray: CHECK_LENGTH
|
|
97
|
+
})]
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
/**
|
|
101
|
+
* Static fallback rendered when react-native-svg is unavailable (e.g. a web
|
|
102
|
+
* bundle that omits the optional peer). Draws a plain Unicode check so the
|
|
103
|
+
* component still communicates "done"; `play()` is a no-op.
|
|
104
|
+
*/
|
|
105
|
+
const StaticCheck = /*#__PURE__*/forwardRef(function StaticCheck({
|
|
106
|
+
size,
|
|
107
|
+
color
|
|
108
|
+
}, ref) {
|
|
109
|
+
useImperativeHandle(ref, () => ({
|
|
110
|
+
play: () => undefined
|
|
111
|
+
}), []);
|
|
112
|
+
return /*#__PURE__*/_jsx(Text, {
|
|
113
|
+
accessibilityElementsHidden: true,
|
|
114
|
+
style: [styles.staticCheck, {
|
|
115
|
+
width: size,
|
|
116
|
+
fontSize: size * 0.8,
|
|
117
|
+
lineHeight: size,
|
|
118
|
+
color
|
|
119
|
+
}],
|
|
120
|
+
children: '✓'
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* A draw-on checkmark: a ring strokes on, then the check strokes in. Expose a
|
|
126
|
+
* ref and call `ref.current?.play()` to (re)play — e.g. on a successful submit.
|
|
127
|
+
* Ported from Bluesky's `AnimatedCheck`.
|
|
128
|
+
*/
|
|
129
|
+
export const AnimatedCheck = /*#__PURE__*/forwardRef(function AnimatedCheck({
|
|
130
|
+
size = 24,
|
|
131
|
+
color
|
|
132
|
+
}, ref) {
|
|
133
|
+
const theme = useTheme();
|
|
134
|
+
const resolvedColor = color ?? theme.colors.success;
|
|
135
|
+
const svg = useMemo(() => getSvgModule(), []);
|
|
136
|
+
if (!svg) {
|
|
137
|
+
return /*#__PURE__*/_jsx(StaticCheck, {
|
|
138
|
+
ref: ref,
|
|
139
|
+
size: size,
|
|
140
|
+
color: resolvedColor
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
return /*#__PURE__*/_jsx(AnimatedCheckSvg, {
|
|
144
|
+
ref: ref,
|
|
145
|
+
size: size,
|
|
146
|
+
color: resolvedColor,
|
|
147
|
+
svg: svg
|
|
148
|
+
});
|
|
149
|
+
});
|
|
150
|
+
AnimatedCheck.displayName = 'AnimatedCheck';
|
|
151
|
+
const styles = StyleSheet.create({
|
|
152
|
+
staticCheck: {
|
|
153
|
+
textAlign: 'center',
|
|
154
|
+
fontWeight: '700'
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
//# sourceMappingURL=AnimatedCheck.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","forwardRef","useCallback","useImperativeHandle","useMemo","StyleSheet","Text","Animated","Easing","useAnimatedProps","useSharedValue","withDelay","withTiming","getSvgModule","useTheme","jsx","_jsx","jsxs","_jsxs","VIEW_BOX","CIRCLE_RADIUS","CIRCLE_LENGTH","CHECK_LENGTH","CHECK_PATH","STROKE_WIDTH","CIRCLE_DURATION","CHECK_DURATION","buildAnimatedSvg","svg","Circle","createAnimatedComponent","Path","animatedSvgCache","getAnimatedSvg","AnimatedCheckSvg","size","color","ref","default","Svg","circleProgress","checkProgress","circleAnimatedProps","strokeDashoffset","value","checkAnimatedProps","play","duration","easing","linear","fill","viewBox","width","height","children","animatedProps","cx","cy","r","stroke","strokeWidth","strokeDasharray","d","StaticCheck","undefined","accessibilityElementsHidden","style","styles","staticCheck","fontSize","lineHeight","AnimatedCheck","theme","resolvedColor","colors","success","displayName","create","textAlign","fontWeight"],"sourceRoot":"../../../src","sources":["animated-check/AnimatedCheck.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AnimatedCheck"],"sourceRoot":"../../../src","sources":["animated-check/index.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,oBAAiB","ignoreList":[]}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { useMemo } from 'react';
|
|
4
4
|
import { useWindowDimensions } from 'react-native';
|
|
5
|
+
import { BREAKPOINTS } from "../styles/breakpoints.js";
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Anchor a `<Dialog>` can render against.
|
|
@@ -23,14 +24,15 @@ import { useWindowDimensions } from 'react-native';
|
|
|
23
24
|
*/
|
|
24
25
|
|
|
25
26
|
/**
|
|
26
|
-
* Tailwind-default breakpoints (px)
|
|
27
|
-
*
|
|
28
|
-
* width
|
|
27
|
+
* Tailwind-default breakpoints (px), re-exported from the canonical
|
|
28
|
+
* {@link BREAKPOINTS} source. A responsive `placement` map resolves to the value
|
|
29
|
+
* for the largest key whose min-width is `<=` the current viewport width,
|
|
30
|
+
* falling back to `base`.
|
|
29
31
|
*/
|
|
30
|
-
export const BREAKPOINT_SM =
|
|
31
|
-
export const BREAKPOINT_MD =
|
|
32
|
-
export const BREAKPOINT_LG =
|
|
33
|
-
export const BREAKPOINT_XL =
|
|
32
|
+
export const BREAKPOINT_SM = BREAKPOINTS.sm;
|
|
33
|
+
export const BREAKPOINT_MD = BREAKPOINTS.md;
|
|
34
|
+
export const BREAKPOINT_LG = BREAKPOINTS.lg;
|
|
35
|
+
export const BREAKPOINT_XL = BREAKPOINTS.xl;
|
|
34
36
|
|
|
35
37
|
/** Ordered breakpoint table, widest first, so the first match wins. */
|
|
36
38
|
const RESPONSIVE_KEYS = [['xl', BREAKPOINT_XL], ['lg', BREAKPOINT_LG], ['md', BREAKPOINT_MD], ['sm', BREAKPOINT_SM]];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","useWindowDimensions","BREAKPOINT_SM","BREAKPOINT_MD","BREAKPOINT_LG","BREAKPOINT_XL","RESPONSIVE_KEYS","DEFAULT_SIDE_WIDTH","DEFAULT_CENTER_MAX_WIDTH","DEFAULT_MAX_HEIGHT_RATIO","PANEL_RADIUS","DEFAULT_DIALOG_CONTENT_PADDING","ANIMATION_DURATION","CENTER_FADE_OUT_DURATION","EASE_OUT","SHEET_BACKDROP_OPACITY","DIALOG_SHEET_BACKDROP_TESTID","HANDLE_WIDTH","HANDLE_HEIGHT","HANDLE_RADIUS","SIDE_SHEET_MIN_GUTTER","useResolvedPlacement","placement","width","undefined","key","minWidth","value","base"],"sourceRoot":"../../../src","sources":["dialog/placement.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,mBAAmB,QAAQ,cAAc;;
|
|
1
|
+
{"version":3,"names":["useMemo","useWindowDimensions","BREAKPOINTS","BREAKPOINT_SM","sm","BREAKPOINT_MD","md","BREAKPOINT_LG","lg","BREAKPOINT_XL","xl","RESPONSIVE_KEYS","DEFAULT_SIDE_WIDTH","DEFAULT_CENTER_MAX_WIDTH","DEFAULT_MAX_HEIGHT_RATIO","PANEL_RADIUS","DEFAULT_DIALOG_CONTENT_PADDING","ANIMATION_DURATION","CENTER_FADE_OUT_DURATION","EASE_OUT","SHEET_BACKDROP_OPACITY","DIALOG_SHEET_BACKDROP_TESTID","HANDLE_WIDTH","HANDLE_HEIGHT","HANDLE_RADIUS","SIDE_SHEET_MIN_GUTTER","useResolvedPlacement","placement","width","undefined","key","minWidth","value","base"],"sourceRoot":"../../../src","sources":["dialog/placement.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,mBAAmB,QAAQ,cAAc;AAElD,SAASC,WAAW,QAAQ,0BAAuB;;AAEnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAWA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,aAAa,GAAGD,WAAW,CAACE,EAAE;AAC3C,OAAO,MAAMC,aAAa,GAAGH,WAAW,CAACI,EAAE;AAC3C,OAAO,MAAMC,aAAa,GAAGL,WAAW,CAACM,EAAE;AAC3C,OAAO,MAAMC,aAAa,GAAGP,WAAW,CAACQ,EAAE;;AAE3C;AACA,MAAMC,eAAe,GAAG,CACtB,CAAC,IAAI,EAAEF,aAAa,CAAC,EACrB,CAAC,IAAI,EAAEF,aAAa,CAAC,EACrB,CAAC,IAAI,EAAEF,aAAa,CAAC,EACrB,CAAC,IAAI,EAAEF,aAAa,CAAC,CACb;;AAEV;AACA,OAAO,MAAMS,kBAAkB,GAAG,GAAG;;AAErC;AACA,OAAO,MAAMC,wBAAwB,GAAG,GAAG;;AAE3C;AACA,OAAO,MAAMC,wBAAwB,GAAG,GAAG;;AAE3C;AACA,OAAO,MAAMC,YAAY,GAAG,EAAE;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,8BAA8B,GAAG,EAAE;;AAEhD;AACA,OAAO,MAAMC,kBAAkB,GAAG,GAAG;;AAErC;AACA,OAAO,MAAMC,wBAAwB,GAAG,GAAG;;AAE3C;AACA,OAAO,MAAMC,QAAQ,GAAG,gCAAgC;;AAExD;AACA,OAAO,MAAMC,sBAAsB,GAAG,GAAG;;AAEzC;AACA,OAAO,MAAMC,4BAA4B,GAAG,6BAA6B;;AAEzE;AACA,OAAO,MAAMC,YAAY,GAAG,EAAE;AAC9B,OAAO,MAAMC,aAAa,GAAG,CAAC;AAC9B,OAAO,MAAMC,aAAa,GAAG,CAAC;;AAE9B;AACA;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,GAAG,EAAE;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAClCC,SAAgD,EAC/B;EACjB,MAAM;IAAEC;EAAM,CAAC,GAAG3B,mBAAmB,CAAC,CAAC;EAEvC,OAAOD,OAAO,CAAkB,MAAM;IACpC,IAAI2B,SAAS,KAAKE,SAAS,EAAE,OAAO,QAAQ;IAC5C,IAAI,OAAOF,SAAS,KAAK,QAAQ,EAAE,OAAOA,SAAS;IACnD,KAAK,MAAM,CAACG,GAAG,EAAEC,QAAQ,CAAC,IAAIpB,eAAe,EAAE;MAC7C,IAAIiB,KAAK,IAAIG,QAAQ,EAAE;QACrB,MAAMC,KAAK,GAAGL,SAAS,CAACG,GAAG,CAAC;QAC5B,IAAIE,KAAK,KAAKH,SAAS,EAAE,OAAOG,KAAK;MACvC;IACF;IACA,OAAOL,SAAS,CAACM,IAAI;EACvB,CAAC,EAAE,CAACN,SAAS,EAAEC,KAAK,CAAC,CAAC;AACxB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","memo","StyleSheet","View","jsx","_jsx","FillComponent","Fill","children","style","fillStyles","base","displayName","create","position","top","right","bottom","left"],"sourceRoot":"../../../src","sources":["fill/index.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SAASC,UAAU,EAAEC,IAAI,
|
|
1
|
+
{"version":3,"names":["React","memo","StyleSheet","View","jsx","_jsx","FillComponent","Fill","children","style","fillStyles","base","displayName","create","position","top","right","bottom","left"],"sourceRoot":"../../../src","sources":["fill/index.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SAASC,UAAU,EAAEC,IAAI,QAAwC,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEhF,MAAMC,aAAa,GAAG,SAASC,IAAIA,CAAC;EAClCC,QAAQ;EACRC;AAIF,CAAC,EAAE;EACD,oBACEJ,IAAA,CAACF,IAAI;IAACM,KAAK,EAAE,CAACC,UAAU,CAACC,IAAI,EAAEF,KAAK,CAAE;IAAAD,QAAA,EACnCA;EAAQ,CACL,CAAC;AAEX,CAAC;AAED,OAAO,MAAMD,IAAI,gBAAGN,IAAI,CAACK,aAAa,CAAC;AACvCC,IAAI,CAACK,WAAW,GAAG,MAAM;AAEzB,MAAMF,UAAU,GAAGR,UAAU,CAACW,MAAM,CAAC;EACnCF,IAAI,EAAE;IACJG,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,CAAC;IACTC,IAAI,EAAE;EACR;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -5,4 +5,6 @@ export { useDelayedLoading } from "./useDelayedLoading.js";
|
|
|
5
5
|
export { useThrottledValue } from "./useThrottledValue.js";
|
|
6
6
|
export { usePressAnimation } from "./usePressAnimation.js";
|
|
7
7
|
export { mergeRefs } from "./mergeRefs.js";
|
|
8
|
+
export { useHaptics, BloomHapticsProvider } from "./useHaptics.js";
|
|
9
|
+
export { useGutters } from "./useGutters.js";
|
|
8
10
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useInteractionState","useInteractionStates","useDelayedLoading","useThrottledValue","usePressAnimation","mergeRefs"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":";;AAAA,SAASA,mBAAmB,EAAEC,oBAAoB,QAAQ,0BAAuB;AACjF,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,SAAS,QAAQ,gBAAa","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useInteractionState","useInteractionStates","useDelayedLoading","useThrottledValue","usePressAnimation","mergeRefs","useHaptics","BloomHapticsProvider","useGutters"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":";;AAAA,SAASA,mBAAmB,EAAEC,oBAAoB,QAAQ,0BAAuB;AACjF,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,iBAAiB,QAAQ,wBAAqB;AACvD,SAASC,SAAS,QAAQ,gBAAa;AACvC,SAASC,UAAU,EAAEC,oBAAoB,QAAQ,iBAAc;AAE/D,SAASC,UAAU,QAAQ,iBAAc","ignoreList":[]}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useMemo } from 'react';
|
|
4
|
+
import { useWindowDimensions } from 'react-native';
|
|
5
|
+
import { BREAKPOINTS } from "../styles/breakpoints.js";
|
|
6
|
+
import { space } from "../styles/tokens.js";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* A named gutter size, or `0` for no padding on that edge.
|
|
10
|
+
*
|
|
11
|
+
* - `'compact'` — tight gutter (dense lists, chips).
|
|
12
|
+
* - `'base'` — the default page gutter.
|
|
13
|
+
* - `'wide'` — roomy gutter (marketing / hero surfaces).
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/** Resolved edge padding in px — one value per side, ready to spread onto a style. */
|
|
17
|
+
|
|
18
|
+
/** The active viewport tier: the widest matched breakpoint, or `'base'` below `sm`. */
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Per-size gutter padding (px) at each viewport tier. Padding steps up around
|
|
22
|
+
* tablet width (`md`), mirroring the design-system scale: phones get a tighter
|
|
23
|
+
* gutter, wider screens a roomier one. Values come from the shared `space`
|
|
24
|
+
* tokens so gutters stay on the spacing grid.
|
|
25
|
+
*/
|
|
26
|
+
const GUTTER_SCALE = {
|
|
27
|
+
compact: {
|
|
28
|
+
base: space.sm,
|
|
29
|
+
sm: space.sm,
|
|
30
|
+
md: space.md,
|
|
31
|
+
lg: space.md,
|
|
32
|
+
xl: space.md
|
|
33
|
+
},
|
|
34
|
+
base: {
|
|
35
|
+
base: space.lg,
|
|
36
|
+
sm: space.lg,
|
|
37
|
+
md: space.xl,
|
|
38
|
+
lg: space.xl,
|
|
39
|
+
xl: space.xl
|
|
40
|
+
},
|
|
41
|
+
wide: {
|
|
42
|
+
base: space.xl,
|
|
43
|
+
sm: space.xl,
|
|
44
|
+
md: space._3xl,
|
|
45
|
+
lg: space._3xl,
|
|
46
|
+
xl: space._3xl
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
/** Widest-first breakpoint table so the first match wins. */
|
|
51
|
+
const TIERS = [['xl', BREAKPOINTS.xl], ['lg', BREAKPOINTS.lg], ['md', BREAKPOINTS.md], ['sm', BREAKPOINTS.sm]];
|
|
52
|
+
function resolveTier(width) {
|
|
53
|
+
for (const [tier, minWidth] of TIERS) {
|
|
54
|
+
if (width >= minWidth) return tier;
|
|
55
|
+
}
|
|
56
|
+
return 'base';
|
|
57
|
+
}
|
|
58
|
+
function resolveEdge(size, tier) {
|
|
59
|
+
return size === 0 ? 0 : GUTTER_SCALE[size][tier];
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Expand a 1/2/4-arg CSS-shorthand gutter list into `[top, right, bottom, left]`.
|
|
64
|
+
* `??` (not `||`) so an explicit `0` is preserved rather than falling through.
|
|
65
|
+
*/
|
|
66
|
+
function normalizeShorthand(gutters) {
|
|
67
|
+
const top = gutters[0] ?? 0;
|
|
68
|
+
const right = gutters[1] ?? top;
|
|
69
|
+
const bottom = gutters[2] ?? top;
|
|
70
|
+
const left = gutters[3] ?? right;
|
|
71
|
+
return [top, right, bottom, left];
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Breakpoint-aware gutter padding. Give it CSS-shorthand gutter sizes and it
|
|
76
|
+
* returns resolved `padding*` values for the current viewport width, recomputed
|
|
77
|
+
* as the window crosses a breakpoint.
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```tsx
|
|
81
|
+
* const gutters = useGutters(['base']); // uniform
|
|
82
|
+
* const gutters = useGutters([0, 'wide']); // no vertical, wide horizontal
|
|
83
|
+
* const gutters = useGutters(['compact', 'base', 0, 'base']); // t / r / b / l
|
|
84
|
+
* <View style={gutters} />
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
|
|
88
|
+
export function useGutters(gutters) {
|
|
89
|
+
const {
|
|
90
|
+
width
|
|
91
|
+
} = useWindowDimensions();
|
|
92
|
+
const [top, right, bottom, left] = normalizeShorthand(gutters);
|
|
93
|
+
return useMemo(() => {
|
|
94
|
+
const tier = resolveTier(width);
|
|
95
|
+
return {
|
|
96
|
+
paddingTop: resolveEdge(top, tier),
|
|
97
|
+
paddingRight: resolveEdge(right, tier),
|
|
98
|
+
paddingBottom: resolveEdge(bottom, tier),
|
|
99
|
+
paddingLeft: resolveEdge(left, tier)
|
|
100
|
+
};
|
|
101
|
+
}, [width, top, right, bottom, left]);
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=useGutters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useMemo","useWindowDimensions","BREAKPOINTS","space","GUTTER_SCALE","compact","base","sm","md","lg","xl","wide","_3xl","TIERS","resolveTier","width","tier","minWidth","resolveEdge","size","normalizeShorthand","gutters","top","right","bottom","left","useGutters","paddingTop","paddingRight","paddingBottom","paddingLeft"],"sourceRoot":"../../../src","sources":["hooks/useGutters.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,mBAAmB,QAAQ,cAAc;AAElD,SAASC,WAAW,QAAQ,0BAAuB;AACnD,SAASC,KAAK,QAAQ,qBAAkB;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;;AAQA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,YAAoE,GAAG;EAC3EC,OAAO,EAAE;IAAEC,IAAI,EAAEH,KAAK,CAACI,EAAE;IAAEA,EAAE,EAAEJ,KAAK,CAACI,EAAE;IAAEC,EAAE,EAAEL,KAAK,CAACK,EAAE;IAAEC,EAAE,EAAEN,KAAK,CAACK,EAAE;IAAEE,EAAE,EAAEP,KAAK,CAACK;EAAG,CAAC;EACnFF,IAAI,EAAE;IAAEA,IAAI,EAAEH,KAAK,CAACM,EAAE;IAAEF,EAAE,EAAEJ,KAAK,CAACM,EAAE;IAAED,EAAE,EAAEL,KAAK,CAACO,EAAE;IAAED,EAAE,EAAEN,KAAK,CAACO,EAAE;IAAEA,EAAE,EAAEP,KAAK,CAACO;EAAG,CAAC;EAChFC,IAAI,EAAE;IAAEL,IAAI,EAAEH,KAAK,CAACO,EAAE;IAAEH,EAAE,EAAEJ,KAAK,CAACO,EAAE;IAAEF,EAAE,EAAEL,KAAK,CAACS,IAAI;IAAEH,EAAE,EAAEN,KAAK,CAACS,IAAI;IAAEF,EAAE,EAAEP,KAAK,CAACS;EAAK;AACvF,CAAC;;AAED;AACA,MAAMC,KAAoE,GAAG,CAC3E,CAAC,IAAI,EAAEX,WAAW,CAACQ,EAAE,CAAC,EACtB,CAAC,IAAI,EAAER,WAAW,CAACO,EAAE,CAAC,EACtB,CAAC,IAAI,EAAEP,WAAW,CAACM,EAAE,CAAC,EACtB,CAAC,IAAI,EAAEN,WAAW,CAACK,EAAE,CAAC,CACvB;AAED,SAASO,WAAWA,CAACC,KAAa,EAAc;EAC9C,KAAK,MAAM,CAACC,IAAI,EAAEC,QAAQ,CAAC,IAAIJ,KAAK,EAAE;IACpC,IAAIE,KAAK,IAAIE,QAAQ,EAAE,OAAOD,IAAI;EACpC;EACA,OAAO,MAAM;AACf;AAEA,SAASE,WAAWA,CAACC,IAAY,EAAEH,IAAgB,EAAU;EAC3D,OAAOG,IAAI,KAAK,CAAC,GAAG,CAAC,GAAGf,YAAY,CAACe,IAAI,CAAC,CAACH,IAAI,CAAC;AAClD;;AAEA;AACA;AACA;AACA;AACA,SAASI,kBAAkBA,CAACC,OAAiB,EAAoC;EAC/E,MAAMC,GAAG,GAAGD,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;EAC3B,MAAME,KAAK,GAAGF,OAAO,CAAC,CAAC,CAAC,IAAIC,GAAG;EAC/B,MAAME,MAAM,GAAGH,OAAO,CAAC,CAAC,CAAC,IAAIC,GAAG;EAChC,MAAMG,IAAI,GAAGJ,OAAO,CAAC,CAAC,CAAC,IAAIE,KAAK;EAChC,OAAO,CAACD,GAAG,EAAEC,KAAK,EAAEC,MAAM,EAAEC,IAAI,CAAC;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,OAAO,SAASC,UAAUA,CAACL,OAAiB,EAAW;EACrD,MAAM;IAAEN;EAAM,CAAC,GAAGd,mBAAmB,CAAC,CAAC;EACvC,MAAM,CAACqB,GAAG,EAAEC,KAAK,EAAEC,MAAM,EAAEC,IAAI,CAAC,GAAGL,kBAAkB,CAACC,OAAO,CAAC;EAE9D,OAAOrB,OAAO,CAAU,MAAM;IAC5B,MAAMgB,IAAI,GAAGF,WAAW,CAACC,KAAK,CAAC;IAC/B,OAAO;MACLY,UAAU,EAAET,WAAW,CAACI,GAAG,EAAEN,IAAI,CAAC;MAClCY,YAAY,EAAEV,WAAW,CAACK,KAAK,EAAEP,IAAI,CAAC;MACtCa,aAAa,EAAEX,WAAW,CAACM,MAAM,EAAER,IAAI,CAAC;MACxCc,WAAW,EAAEZ,WAAW,CAACO,IAAI,EAAET,IAAI;IACrC,CAAC;EACH,CAAC,EAAE,CAACD,KAAK,EAAEO,GAAG,EAAEC,KAAK,EAAEC,MAAM,EAAEC,IAAI,CAAC,CAAC;AACvC","ignoreList":[]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { createContext, useCallback, useContext, useMemo } from 'react';
|
|
4
|
+
import { Platform } from 'react-native';
|
|
5
|
+
import { lazyRequire } from "../utils/lazy-require.js";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Lazily loads `expo-haptics`, returning `null` when it is not installed. The
|
|
9
|
+
* dependency is an optional peer, so calls degrade to a no-op when absent.
|
|
10
|
+
*/
|
|
11
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
+
const getHapticsModule = lazyRequire('expo-haptics');
|
|
13
|
+
|
|
14
|
+
/** Impact strength requested by a caller. */
|
|
15
|
+
|
|
16
|
+
const BloomHapticsContext = /*#__PURE__*/createContext({
|
|
17
|
+
enabled: true
|
|
18
|
+
});
|
|
19
|
+
/**
|
|
20
|
+
* Optional provider that toggles haptic feedback for its subtree — e.g. to honour
|
|
21
|
+
* a user "reduce haptics" preference. `useHaptics` defaults to enabled when no
|
|
22
|
+
* provider is present.
|
|
23
|
+
*/
|
|
24
|
+
export function BloomHapticsProvider({
|
|
25
|
+
enabled = true,
|
|
26
|
+
children
|
|
27
|
+
}) {
|
|
28
|
+
const value = useMemo(() => ({
|
|
29
|
+
enabled
|
|
30
|
+
}), [enabled]);
|
|
31
|
+
return /*#__PURE__*/_jsx(BloomHapticsContext.Provider, {
|
|
32
|
+
value: value,
|
|
33
|
+
children: children
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
BloomHapticsProvider.displayName = 'BloomHapticsProvider';
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Returns a function that fires a haptic impact. The returned callback no-ops on
|
|
40
|
+
* web, when haptics are disabled via {@link BloomHapticsProvider}, or when the
|
|
41
|
+
* optional `expo-haptics` peer is not installed.
|
|
42
|
+
*
|
|
43
|
+
* `strength` defaults to `'light'`. Android is clamped to the light impact style
|
|
44
|
+
* regardless of `strength` — its medium/heavy motors read as too strong for UI
|
|
45
|
+
* feedback (tuned to match iOS perceived intensity).
|
|
46
|
+
*/
|
|
47
|
+
export function useHaptics() {
|
|
48
|
+
const {
|
|
49
|
+
enabled
|
|
50
|
+
} = useContext(BloomHapticsContext);
|
|
51
|
+
return useCallback((strength = 'light') => {
|
|
52
|
+
if (!enabled || Platform.OS === 'web') return;
|
|
53
|
+
const haptics = getHapticsModule();
|
|
54
|
+
if (!haptics) return;
|
|
55
|
+
const {
|
|
56
|
+
ImpactFeedbackStyle
|
|
57
|
+
} = haptics;
|
|
58
|
+
let style = ImpactFeedbackStyle.Light;
|
|
59
|
+
if (Platform.OS !== 'android') {
|
|
60
|
+
if (strength === 'medium') style = ImpactFeedbackStyle.Medium;else if (strength === 'heavy') style = ImpactFeedbackStyle.Heavy;
|
|
61
|
+
}
|
|
62
|
+
void haptics.impactAsync(style);
|
|
63
|
+
}, [enabled]);
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=useHaptics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","createContext","useCallback","useContext","useMemo","Platform","lazyRequire","jsx","_jsx","getHapticsModule","BloomHapticsContext","enabled","BloomHapticsProvider","children","value","Provider","displayName","useHaptics","strength","OS","haptics","ImpactFeedbackStyle","style","Light","Medium","Heavy","impactAsync"],"sourceRoot":"../../../src","sources":["hooks/useHaptics.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,WAAW,EAAEC,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAC9E,SAASC,QAAQ,QAAQ,cAAc;AAEvC,SAASC,WAAW,QAAQ,0BAAuB;;AAEnD;AACA;AACA;AACA;AAHA,SAAAC,GAAA,IAAAC,IAAA;AAIA,MAAMC,gBAAgB,GAAGH,WAAW,CAAgC,cAAc,CAAC;;AAEnF;;AAOA,MAAMI,mBAAmB,gBAAGT,aAAa,CAA2B;EAAEU,OAAO,EAAE;AAAK,CAAC,CAAC;AAQtF;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAAC;EAAED,OAAO,GAAG,IAAI;EAAEE;AAAoC,CAAC,EAAE;EAC5F,MAAMC,KAAK,GAAGV,OAAO,CAAC,OAAO;IAAEO;EAAQ,CAAC,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EACrD,oBAAOH,IAAA,CAACE,mBAAmB,CAACK,QAAQ;IAACD,KAAK,EAAEA,KAAM;IAAAD,QAAA,EAAEA;EAAQ,CAA+B,CAAC;AAC9F;AAEAD,oBAAoB,CAACI,WAAW,GAAG,sBAAsB;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,UAAUA,CAAA,EAAwC;EAChE,MAAM;IAAEN;EAAQ,CAAC,GAAGR,UAAU,CAACO,mBAAmB,CAAC;EAEnD,OAAOR,WAAW,CAChB,CAACgB,QAAwB,GAAG,OAAO,KAAK;IACtC,IAAI,CAACP,OAAO,IAAIN,QAAQ,CAACc,EAAE,KAAK,KAAK,EAAE;IAEvC,MAAMC,OAAO,GAAGX,gBAAgB,CAAC,CAAC;IAClC,IAAI,CAACW,OAAO,EAAE;IAEd,MAAM;MAAEC;IAAoB,CAAC,GAAGD,OAAO;IACvC,IAAIE,KAAK,GAAGD,mBAAmB,CAACE,KAAK;IACrC,IAAIlB,QAAQ,CAACc,EAAE,KAAK,SAAS,EAAE;MAC7B,IAAID,QAAQ,KAAK,QAAQ,EAAEI,KAAK,GAAGD,mBAAmB,CAACG,MAAM,CAAC,KACzD,IAAIN,QAAQ,KAAK,OAAO,EAAEI,KAAK,GAAGD,mBAAmB,CAACI,KAAK;IAClE;IAEA,KAAKL,OAAO,CAACM,WAAW,CAACJ,KAAK,CAAC;EACjC,CAAC,EACD,CAACX,OAAO,CACV,CAAC;AACH","ignoreList":[]}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useCallback, useState } from 'react';
|
|
3
|
+
import { useCallback, useMemo, useState } from 'react';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Tracks a single boolean interaction flag (hovered / focused / pressed).
|
|
7
|
+
*
|
|
8
|
+
* Returns a memoized `{ state, onIn, onOut }` with stable handler identities,
|
|
9
|
+
* suitable for spreading onto Pressable-like components.
|
|
10
|
+
*/
|
|
4
11
|
export function useInteractionState() {
|
|
5
12
|
const [state, setState] = useState(false);
|
|
6
13
|
const onIn = useCallback(() => {
|
|
@@ -9,11 +16,11 @@ export function useInteractionState() {
|
|
|
9
16
|
const onOut = useCallback(() => {
|
|
10
17
|
setState(false);
|
|
11
18
|
}, []);
|
|
12
|
-
return {
|
|
19
|
+
return useMemo(() => ({
|
|
13
20
|
state,
|
|
14
21
|
onIn,
|
|
15
22
|
onOut
|
|
16
|
-
};
|
|
23
|
+
}), [state, onIn, onOut]);
|
|
17
24
|
}
|
|
18
25
|
|
|
19
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useState","useInteractionState","state","setState","onIn","onOut","useInteractionStates","hovered","onHoverIn","onHoverOut","focused","onFocus","onBlur","pressed","onPressIn","onPressOut","hoverHandlers","focusHandlers","pressHandlers"],"sourceRoot":"../../../src","sources":["hooks/useInteractionState.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,QAAQ,QAAQ,OAAO;
|
|
1
|
+
{"version":3,"names":["useCallback","useMemo","useState","useInteractionState","state","setState","onIn","onOut","useInteractionStates","hovered","onHoverIn","onHoverOut","focused","onFocus","onBlur","pressed","onPressIn","onPressOut","hoverHandlers","focusHandlers","pressHandlers"],"sourceRoot":"../../../src","sources":["hooks/useInteractionState.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAAA,EAAG;EACpC,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGH,QAAQ,CAAC,KAAK,CAAC;EAEzC,MAAMI,IAAI,GAAGN,WAAW,CAAC,MAAM;IAC7BK,QAAQ,CAAC,IAAI,CAAC;EAChB,CAAC,EAAE,EAAE,CAAC;EACN,MAAME,KAAK,GAAGP,WAAW,CAAC,MAAM;IAC9BK,QAAQ,CAAC,KAAK,CAAC;EACjB,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOJ,OAAO,CAAC,OAAO;IAAEG,KAAK;IAAEE,IAAI;IAAEC;EAAM,CAAC,CAAC,EAAE,CAACH,KAAK,EAAEE,IAAI,EAAEC,KAAK,CAAC,CAAC;AACtE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAAA,EAAG;EACrC,MAAM;IAAEJ,KAAK,EAAEK,OAAO;IAAEH,IAAI,EAAEI,SAAS;IAAEH,KAAK,EAAEI;EAAW,CAAC,GAAGR,mBAAmB,CAAC,CAAC;EACpF,MAAM;IAAEC,KAAK,EAAEQ,OAAO;IAAEN,IAAI,EAAEO,OAAO;IAAEN,KAAK,EAAEO;EAAO,CAAC,GAAGX,mBAAmB,CAAC,CAAC;EAC9E,MAAM;IAAEC,KAAK,EAAEW,OAAO;IAAET,IAAI,EAAEU,SAAS;IAAET,KAAK,EAAEU;EAAW,CAAC,GAAGd,mBAAmB,CAAC,CAAC;EAEpF,OAAO;IACLM,OAAO;IACPG,OAAO;IACPG,OAAO;IACPG,aAAa,EAAE;MAAER,SAAS;MAAEC;IAAW,CAAU;IACjDQ,aAAa,EAAE;MAAEN,OAAO;MAAEC;IAAO,CAAU;IAC3CM,aAAa,EAAE;MAAEJ,SAAS;MAAEC;IAAW;EACzC,CAAC;AACH","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -16,7 +16,8 @@ export { bloomTailwindPreset, bloomThemeCss, bloomThemeBlock, FILL_ROLES, TEXT_R
|
|
|
16
16
|
export { useInteractionState } from "./hooks/useInteractionState.js";
|
|
17
17
|
export { useDelayedLoading } from "./hooks/useDelayedLoading.js";
|
|
18
18
|
export { useThrottledValue } from "./hooks/useThrottledValue.js";
|
|
19
|
-
|
|
19
|
+
export { useHaptics, BloomHapticsProvider } from "./hooks/useHaptics.js";
|
|
20
|
+
export { useGutters } from "./hooks/useGutters.js";
|
|
20
21
|
// Icons
|
|
21
22
|
export * as Icons from "./icons/index.js";
|
|
22
23
|
export { sizes as iconSizes, useCommonSVGProps } from "./icons/common.js";
|
|
@@ -46,9 +47,17 @@ export * as Typography from "./typography/index.js";
|
|
|
46
47
|
export * as Skeleton from "./skeleton/index.js";
|
|
47
48
|
export * as Grid from "./grid/index.js";
|
|
48
49
|
export { Fill } from "./fill/index.js";
|
|
50
|
+
export { MediaInsetBorder } from "./media-inset-border/index.js";
|
|
49
51
|
export { IconCircle } from "./icon-circle/index.js";
|
|
50
52
|
export { ConnectionDots } from './connection-dots';
|
|
51
53
|
export { BenefitRow, BenefitList } from "./benefit-list/index.js";
|
|
54
|
+
// Interaction primitives
|
|
55
|
+
export { PressableScale } from "./pressable-scale/index.js";
|
|
56
|
+
export { PressableWithHover } from "./pressable-with-hover/index.js";
|
|
57
|
+
export { SubtleHover } from "./subtle-hover/index.js";
|
|
58
|
+
// Motion presets (Reanimated enter/exit + directional screen transition)
|
|
59
|
+
export { ScaleAndFadeIn, ScaleAndFadeOut, ShrinkAndPop, ScreenTransition } from "./motion/index.js";
|
|
60
|
+
export { AnimatedCheck } from "./animated-check/index.js";
|
|
52
61
|
// Form components
|
|
53
62
|
export * from "./text-field/index.js";
|
|
54
63
|
export * from "./segmented-control/index.js";
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","bloomTailwindPreset","bloomThemeCss","bloomThemeBlock","FILL_ROLES","TEXT_ROLES","BORDER_ROLES","SPACING","RADIUS","BORDER_WIDTH","TYPOGRAPHY","FONT_FAMILY_VARS","SHADOW_BOX","bloomShadowStyle","useInteractionState","useDelayedLoading","useThrottledValue","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","DIALOG_SHEET_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","Fab","ErrorBoundary","AvatarGroup","UserHoverCard","toast","Typography","Skeleton","Grid","Fill","IconCircle","ConnectionDots","BenefitRow","BenefitList","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","LinkPreviewCard","Item","Kbd","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA,cAAc,kBAAS;;AAEvB;AACA,SAASA,KAAK,EAAEC,OAAO,EAAEC,OAAO,EAAEC,MAAM,QAAQ,mBAAU;AAE1D,OAAO,KAAKC,MAAM,MAAM,oBAAiB;AACzC,SAASC,GAAG,EAAEC,MAAM,EAAEC,GAAG,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,sBAAmB;;AAE/E;AACA;AACA;AACA,SACEC,mBAAmB,EACnBC,aAAa,EACbC,eAAe,EACfC,UAAU,EACVC,UAAU,EACVC,YAAY,EACZC,OAAO,EACPC,MAAM,EACNC,YAAY,EACZC,UAAU,EACVC,gBAAgB,EAChBC,UAAU,EACVC,gBAAgB,QACX,0BAAiB;AAYxB;AACA,SAASC,mBAAmB,QAAQ,gCAA6B;AACjE,SAASC,iBAAiB,QAAQ,8BAA2B;AAC7D,SAASC,iBAAiB,QAAQ,8BAA2B
|
|
1
|
+
{"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","bloomTailwindPreset","bloomThemeCss","bloomThemeBlock","FILL_ROLES","TEXT_ROLES","BORDER_ROLES","SPACING","RADIUS","BORDER_WIDTH","TYPOGRAPHY","FONT_FAMILY_VARS","SHADOW_BOX","bloomShadowStyle","useInteractionState","useDelayedLoading","useThrottledValue","useHaptics","BloomHapticsProvider","useGutters","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","DIALOG_SHEET_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","Fab","ErrorBoundary","AvatarGroup","UserHoverCard","toast","Typography","Skeleton","Grid","Fill","MediaInsetBorder","IconCircle","ConnectionDots","BenefitRow","BenefitList","PressableScale","PressableWithHover","SubtleHover","ScaleAndFadeIn","ScaleAndFadeOut","ShrinkAndPop","ScreenTransition","AnimatedCheck","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","LinkPreviewCard","Item","Kbd","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.web.js
CHANGED
|
@@ -21,7 +21,8 @@ export { bloomTailwindPreset, bloomThemeCss, bloomThemeBlock, FILL_ROLES, TEXT_R
|
|
|
21
21
|
export { useInteractionState } from "./hooks/useInteractionState.js";
|
|
22
22
|
export { useDelayedLoading } from "./hooks/useDelayedLoading.js";
|
|
23
23
|
export { useThrottledValue } from "./hooks/useThrottledValue.js";
|
|
24
|
-
|
|
24
|
+
export { useHaptics, BloomHapticsProvider } from "./hooks/useHaptics.js";
|
|
25
|
+
export { useGutters } from "./hooks/useGutters.js";
|
|
25
26
|
// Icons
|
|
26
27
|
export * as Icons from "./icons/index.js";
|
|
27
28
|
export { sizes as iconSizes, useCommonSVGProps } from "./icons/common.js";
|
|
@@ -51,9 +52,17 @@ export * as Typography from "./typography/index.js";
|
|
|
51
52
|
export * as Skeleton from "./skeleton/index.js";
|
|
52
53
|
export * as Grid from "./grid/index.js";
|
|
53
54
|
export { Fill } from "./fill/index.js";
|
|
55
|
+
export { MediaInsetBorder } from "./media-inset-border/index.js";
|
|
54
56
|
export { IconCircle } from "./icon-circle/index.js";
|
|
55
57
|
export { ConnectionDots } from "./connection-dots/index.web.js";
|
|
56
58
|
export { BenefitRow, BenefitList } from "./benefit-list/index.js";
|
|
59
|
+
// Interaction primitives
|
|
60
|
+
export { PressableScale } from "./pressable-scale/index.js";
|
|
61
|
+
export { PressableWithHover } from "./pressable-with-hover/index.js";
|
|
62
|
+
export { SubtleHover } from "./subtle-hover/index.js";
|
|
63
|
+
// Motion presets (Reanimated enter/exit + directional screen transition)
|
|
64
|
+
export { ScaleAndFadeIn, ScaleAndFadeOut, ShrinkAndPop, ScreenTransition } from "./motion/index.js";
|
|
65
|
+
export { AnimatedCheck } from "./animated-check/index.js";
|
|
57
66
|
// Form components
|
|
58
67
|
export * from "./text-field/index.js";
|
|
59
68
|
export * from "./segmented-control/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","bloomTailwindPreset","bloomThemeCss","bloomThemeBlock","FILL_ROLES","TEXT_ROLES","BORDER_ROLES","SPACING","RADIUS","BORDER_WIDTH","TYPOGRAPHY","FONT_FAMILY_VARS","SHADOW_BOX","bloomShadowStyle","useInteractionState","useDelayedLoading","useThrottledValue","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","DIALOG_SHEET_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","Fab","ErrorBoundary","AvatarGroup","UserHoverCard","toast","Typography","Skeleton","Grid","Fill","IconCircle","ConnectionDots","BenefitRow","BenefitList","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","LinkPreviewCard","Item","Kbd","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA;AACA,cAAc,kBAAS;;AAEvB;AACA,SAASA,KAAK,EAAEC,OAAO,EAAEC,OAAO,EAAEC,MAAM,QAAQ,mBAAU;AAE1D,OAAO,KAAKC,MAAM,MAAM,oBAAiB;AACzC,SAASC,GAAG,EAAEC,MAAM,EAAEC,GAAG,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,sBAAmB;;AAE/E;AACA;AACA;AACA,SACEC,mBAAmB,EACnBC,aAAa,EACbC,eAAe,EACfC,UAAU,EACVC,UAAU,EACVC,YAAY,EACZC,OAAO,EACPC,MAAM,EACNC,YAAY,EACZC,UAAU,EACVC,gBAAgB,EAChBC,UAAU,EACVC,gBAAgB,QACX,0BAAiB;AAYxB;AACA,SAASC,mBAAmB,QAAQ,gCAA6B;AACjE,SAASC,iBAAiB,QAAQ,8BAA2B;AAC7D,SAASC,iBAAiB,QAAQ,8BAA2B
|
|
1
|
+
{"version":3,"names":["atoms","flatten","Z_INDEX","zIndex","tokens","web","native","ios","android","platform","select","bloomTailwindPreset","bloomThemeCss","bloomThemeBlock","FILL_ROLES","TEXT_ROLES","BORDER_ROLES","SPACING","RADIUS","BORDER_WIDTH","TYPOGRAPHY","FONT_FAMILY_VARS","SHADOW_BOX","bloomShadowStyle","useInteractionState","useDelayedLoading","useThrottledValue","useHaptics","BloomHapticsProvider","useGutters","Icons","sizes","iconSizes","useCommonSVGProps","Dialog","DIALOG_SHEET_BACKDROP_TESTID","BloomDialogProvider","alert","useDialogContext","useDialogControl","Fab","ErrorBoundary","AvatarGroup","UserHoverCard","toast","Typography","Skeleton","Grid","Fill","MediaInsetBorder","IconCircle","ConnectionDots","BenefitRow","BenefitList","PressableScale","PressableWithHover","SubtleHover","ScaleAndFadeIn","ScaleAndFadeOut","ShrinkAndPop","ScreenTransition","AnimatedCheck","SearchInput","Label","Field","InputGroup","Slider","Combobox","BottomSheet","LinkPreviewCard","Item","Kbd","AlertDialog","AlertDialogHost","confirm","Command","Code","Fonts"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA;AACA,cAAc,kBAAS;;AAEvB;AACA,SAASA,KAAK,EAAEC,OAAO,EAAEC,OAAO,EAAEC,MAAM,QAAQ,mBAAU;AAE1D,OAAO,KAAKC,MAAM,MAAM,oBAAiB;AACzC,SAASC,GAAG,EAAEC,MAAM,EAAEC,GAAG,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,MAAM,QAAQ,sBAAmB;;AAE/E;AACA;AACA;AACA,SACEC,mBAAmB,EACnBC,aAAa,EACbC,eAAe,EACfC,UAAU,EACVC,UAAU,EACVC,YAAY,EACZC,OAAO,EACPC,MAAM,EACNC,YAAY,EACZC,UAAU,EACVC,gBAAgB,EAChBC,UAAU,EACVC,gBAAgB,QACX,0BAAiB;AAYxB;AACA,SAASC,mBAAmB,QAAQ,gCAA6B;AACjE,SAASC,iBAAiB,QAAQ,8BAA2B;AAC7D,SAASC,iBAAiB,QAAQ,8BAA2B;AAC7D,SAASC,UAAU,EAAEC,oBAAoB,QAAQ,uBAAoB;AAErE,SAASC,UAAU,QAAQ,uBAAoB;AAG/C;AACA,OAAO,KAAKC,KAAK,MAAM,kBAAS;AAChC,SAAkCC,KAAK,IAAIC,SAAS,EAAEC,iBAAiB,QAAQ,mBAAgB;;AAE/F;AACA,cAAc,uBAAoB;AAClC,SACEC,MAAM,EACNC,4BAA4B,EAC5BC,mBAAmB,EACnBC,KAAK,EACLC,gBAAgB,EAChBC,gBAAgB,QACX,uBAAoB;AAa3B,cAAc,uBAAoB;AAClC,SAASC,GAAG,QAAQ,oBAAiB;AAErC,cAAc,4BAAmB;AACjC,cAAc,oBAAW;AACzB,cAAc,4BAAmB;AACjC,cAAc,wBAAe;AAC7B,SAASC,aAAa,QAAQ,2BAAkB;AAMhD,cAAc,mBAAU;AACxB,SAASC,WAAW,QAAQ,6BAA0B;AAEtD,SAASC,aAAa,QAAQ,4BAAmB;AAEjD,cAAc,wBAAqB;AACnC,cAAc,yBAAgB;AAC9B,cAAc,mBAAU;AACxB,SAASC,KAAK,QAAoB,sBAAmB;;AAErD;AACA,OAAO,KAAKC,UAAU,MAAM,uBAAc;;AAE1C;AACA,OAAO,KAAKC,QAAQ,MAAM,qBAAY;AACtC,OAAO,KAAKC,IAAI,MAAM,iBAAQ;AAC9B,SAASC,IAAI,QAAQ,iBAAQ;AAC7B,SAASC,gBAAgB,QAAQ,+BAAsB;AAEvD,SAASC,UAAU,QAAQ,wBAAe;AAC1C,SAASC,cAAc,QAAQ,gCAA6B;AAE5D,SAASC,UAAU,EAAEC,WAAW,QAAQ,yBAAgB;AAGxD;AACA,SAASC,cAAc,QAAQ,4BAAmB;AAElD,SAASC,kBAAkB,QAAQ,iCAAwB;AAE3D,SAASC,WAAW,QAAQ,yBAAgB;AAG5C;AACA,SAASC,cAAc,EAAEC,eAAe,EAAEC,YAAY,EAAEC,gBAAgB,QAAQ,mBAAU;AAE1F,SAASC,aAAa,QAAQ,2BAAkB;AAGhD;AACA,cAAc,uBAAc;AAC5B,cAAc,8BAAqB;AACnC,SAASC,WAAW,QAAQ,yBAAgB;AAC5C,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,KAAK,QAAQ,kBAAS;AAE/B,SAASC,UAAU,QAAQ,wBAAe;AAE1C,SAASC,MAAM,QAAQ,mBAAU;AAEjC,SAASC,QAAQ,QAAQ,yBAAsB;AAG/C;AACA,SAASC,WAAW,QAAQ,yBAAgB;AAG5C;AACA,cAAc,iBAAQ;AACtB,cAAc,kBAAS;AACvB,cAAc,iBAAQ;AACtB,cAAc,iBAAQ;AACtB,cAAc,qBAAY;AAC1B,cAAc,sBAAa;AAC3B,SAASC,eAAe,QAAQ,yBAAgB;AAGhD;AACA,cAAc,0BAAiB;AAC/B,SAASC,IAAI,QAAQ,iBAAQ;AAE7B,SAASC,GAAG,QAAQ,gBAAO;AAG3B;AACA,cAAc,uBAAc;AAC5B,cAAc,qBAAkB;AAChC,cAAc,wBAAqB;AACnC,cAAc,uBAAoB;AAClC,cAAc,6BAA0B;AACxC,cAAc,wBAAqB;AACnC,SAASC,WAAW,EAAEC,eAAe,EAAEC,OAAO,QAAQ,6BAA0B;AAMhF,SAASC,OAAO,QAAQ,wBAAqB;AAG7C;AACA,OAAO,KAAKC,IAAI,MAAM,iBAAQ;;AAE9B;AACA,OAAO,KAAKC,KAAK,MAAM,sBAAmB","ignoreList":[]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { PixelRatio, Platform, StyleSheet } from 'react-native';
|
|
5
|
+
import { Fill } from "../fill/index.js";
|
|
6
|
+
import { borderRadius } from "../styles/tokens.js";
|
|
7
|
+
import { useTheme } from "../theme/index.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* A 1px (hairline) inset border reads too heavy on high-DPI web displays, so we
|
|
11
|
+
* drop to 0.5px there. On native the platform hairline is already correct, and
|
|
12
|
+
* `PixelRatio` is only consulted on web.
|
|
13
|
+
*/
|
|
14
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
|
+
const HAIRLINE_WIDTH = Platform.OS === 'web' && PixelRatio.get() > 1 ? 0.5 : StyleSheet.hairlineWidth;
|
|
16
|
+
/**
|
|
17
|
+
* A theme-aware hairline border painted just inside a media box (image, avatar,
|
|
18
|
+
* embed) to separate it from the surrounding background. Absolutely positioned
|
|
19
|
+
* to fill its parent (built on {@link Fill}) and non-interactive.
|
|
20
|
+
*/
|
|
21
|
+
export function MediaInsetBorder({
|
|
22
|
+
opaque,
|
|
23
|
+
style,
|
|
24
|
+
children
|
|
25
|
+
}) {
|
|
26
|
+
const theme = useTheme();
|
|
27
|
+
return /*#__PURE__*/_jsx(Fill, {
|
|
28
|
+
style: [styles.base, {
|
|
29
|
+
borderColor: theme.colors.border
|
|
30
|
+
}, !opaque && styles.soft, style],
|
|
31
|
+
children: children
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
MediaInsetBorder.displayName = 'MediaInsetBorder';
|
|
35
|
+
const styles = StyleSheet.create({
|
|
36
|
+
base: {
|
|
37
|
+
borderRadius: borderRadius.sm,
|
|
38
|
+
borderWidth: HAIRLINE_WIDTH,
|
|
39
|
+
pointerEvents: 'none'
|
|
40
|
+
},
|
|
41
|
+
// Non-opaque: same border color at reduced opacity so it reads as a subtle,
|
|
42
|
+
// lower-contrast separator rather than a hard edge.
|
|
43
|
+
soft: {
|
|
44
|
+
opacity: 0.6
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
//# sourceMappingURL=MediaInsetBorder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","PixelRatio","Platform","StyleSheet","Fill","borderRadius","useTheme","jsx","_jsx","HAIRLINE_WIDTH","OS","get","hairlineWidth","MediaInsetBorder","opaque","style","children","theme","styles","base","borderColor","colors","border","soft","displayName","create","sm","borderWidth","pointerEvents","opacity"],"sourceRoot":"../../../src","sources":["media-inset-border/MediaInsetBorder.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,UAAU,EACVC,QAAQ,EACRC,UAAU,QAGL,cAAc;AAErB,SAASC,IAAI,QAAQ,kBAAS;AAC9B,SAASC,YAAY,QAAQ,qBAAkB;AAC/C,SAASC,QAAQ,QAAQ,mBAAU;;AAEnC;AACA;AACA;AACA;AACA;AAJA,SAAAC,GAAA,IAAAC,IAAA;AAKA,MAAMC,cAAc,GAClBP,QAAQ,CAACQ,EAAE,KAAK,KAAK,IAAIT,UAAU,CAACU,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,GAAGR,UAAU,CAACS,aAAa;AAiBhF;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAAC;EAAEC,MAAM;EAAEC,KAAK;EAAEC;AAAgC,CAAC,EAAE;EACnF,MAAMC,KAAK,GAAGX,QAAQ,CAAC,CAAC;EAExB,oBACEE,IAAA,CAACJ,IAAI;IACHW,KAAK,EAAE,CACLG,MAAM,CAACC,IAAI,EACX;MAAEC,WAAW,EAAEH,KAAK,CAACI,MAAM,CAACC;IAAO,CAAC,EACpC,CAACR,MAAM,IAAII,MAAM,CAACK,IAAI,EACtBR,KAAK,CACL;IAAAC,QAAA,EAEDA;EAAQ,CACL,CAAC;AAEX;AAEAH,gBAAgB,CAACW,WAAW,GAAG,kBAAkB;AAEjD,MAAMN,MAAM,GAAGf,UAAU,CAACsB,MAAM,CAAC;EAC/BN,IAAI,EAAE;IACJd,YAAY,EAAEA,YAAY,CAACqB,EAAE;IAC7BC,WAAW,EAAElB,cAAc;IAC3BmB,aAAa,EAAE;EACjB,CAAC;EACD;EACA;EACAL,IAAI,EAAE;IACJM,OAAO,EAAE;EACX;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["MediaInsetBorder"],"sourceRoot":"../../../src","sources":["media-inset-border/index.ts"],"mappings":";;AAAA,SAASA,gBAAgB,QAAQ,uBAAoB","ignoreList":[]}
|