panelui-native 0.87.0 → 0.88.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/module/components/animated-badge/index.js +451 -0
- package/lib/module/components/animated-badge/index.js.map +1 -0
- package/lib/module/components/bottom-sheet/index.js +17 -6
- package/lib/module/components/bottom-sheet/index.js.map +1 -1
- package/lib/module/components/bubble-chart/index.js +557 -41
- package/lib/module/components/bubble-chart/index.js.map +1 -1
- package/lib/module/components/feedback-dialog/index.js +474 -0
- package/lib/module/components/feedback-dialog/index.js.map +1 -0
- package/lib/module/components/scroll-blur/index.js +363 -0
- package/lib/module/components/scroll-blur/index.js.map +1 -0
- package/lib/module/components/scroll-canvas/index.js +2 -0
- package/lib/module/components/scroll-canvas/index.js.map +1 -1
- package/lib/module/components/scroll-text/index.js +3 -0
- package/lib/module/components/scroll-text/index.js.map +1 -1
- package/lib/module/components/search-bar/index.js +390 -45
- package/lib/module/components/search-bar/index.js.map +1 -1
- package/lib/module/hooks/use-keyboard-avoidance.js +21 -1
- package/lib/module/hooks/use-keyboard-avoidance.js.map +1 -1
- package/lib/module/hooks/use-reveal-progress.js +21 -1
- package/lib/module/hooks/use-reveal-progress.js.map +1 -1
- package/lib/module/index.js +3 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/components/animated-badge/index.d.ts +224 -0
- package/lib/typescript/src/components/animated-badge/index.d.ts.map +1 -0
- package/lib/typescript/src/components/bottom-sheet/index.d.ts +1 -15
- package/lib/typescript/src/components/bottom-sheet/index.d.ts.map +1 -1
- package/lib/typescript/src/components/bubble-chart/index.d.ts +150 -7
- package/lib/typescript/src/components/bubble-chart/index.d.ts.map +1 -1
- package/lib/typescript/src/components/feedback-dialog/index.d.ts +156 -0
- package/lib/typescript/src/components/feedback-dialog/index.d.ts.map +1 -0
- package/lib/typescript/src/components/scroll-blur/index.d.ts +113 -0
- package/lib/typescript/src/components/scroll-blur/index.d.ts.map +1 -0
- package/lib/typescript/src/components/scroll-canvas/index.d.ts.map +1 -1
- package/lib/typescript/src/components/search-bar/index.d.ts +142 -7
- package/lib/typescript/src/components/search-bar/index.d.ts.map +1 -1
- package/lib/typescript/src/hooks/use-keyboard-avoidance.d.ts.map +1 -1
- package/lib/typescript/src/hooks/use-reveal-progress.d.ts +6 -27
- package/lib/typescript/src/hooks/use-reveal-progress.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +5 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/animated-badge/index.tsx +513 -0
- package/src/components/bottom-sheet/index.tsx +23 -8
- package/src/components/bubble-chart/index.tsx +664 -46
- package/src/components/feedback-dialog/index.tsx +557 -0
- package/src/components/scroll-blur/index.tsx +466 -0
- package/src/components/scroll-canvas/index.tsx +2 -1
- package/src/components/scroll-text/index.tsx +3 -3
- package/src/components/search-bar/index.tsx +471 -41
- package/src/hooks/use-keyboard-avoidance.ts +24 -1
- package/src/hooks/use-reveal-progress.ts +30 -1
- package/src/index.ts +27 -0
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* ScrollBlur — blurs the edges of a scroll container.
|
|
5
|
+
*
|
|
6
|
+
* Content that runs past a boundary reads better receding than being cut off,
|
|
7
|
+
* and a receding edge doubles as an affordance: an edge that is going soft is
|
|
8
|
+
* an edge with more content behind it.
|
|
9
|
+
*
|
|
10
|
+
* A blur says that where a fade cannot: a fade takes the content towards the
|
|
11
|
+
* colour behind the scroller, so it only works where that colour is known and
|
|
12
|
+
* flat. A blur takes it out of focus instead, which is true over a photograph,
|
|
13
|
+
* a gradient, or a list of coloured cards. It is also what belongs under
|
|
14
|
+
* something laid *over* the scroller — a button, a header, a search field —
|
|
15
|
+
* because the content passing beneath stays visible as shape and colour while
|
|
16
|
+
* losing the detail that would compete with the thing on top.
|
|
17
|
+
*
|
|
18
|
+
* ```tsx
|
|
19
|
+
* <ScrollBlur>
|
|
20
|
+
* <ScrollView>…</ScrollView>
|
|
21
|
+
* </ScrollBlur>
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* ## The ramp is a stack and a wash, because neither alone is smooth
|
|
25
|
+
*
|
|
26
|
+
* A blur that goes from nothing to full across a band needs a per-pixel blur
|
|
27
|
+
* radius, and there is no such thing on either platform — a blur view has one
|
|
28
|
+
* strength for its whole rectangle.
|
|
29
|
+
*
|
|
30
|
+
* So the ramp is built out of several of them: each layer covers a shorter
|
|
31
|
+
* span than the last, measured from the edge, and each blurs what the layer
|
|
32
|
+
* under it has already blurred. The spans are spaced on a curve rather than
|
|
33
|
+
* evenly, which puts most of the layers in the outer third where the blur is
|
|
34
|
+
* changing fastest and the steps would otherwise be widest.
|
|
35
|
+
*
|
|
36
|
+
* That alone is not enough. Every layer has a hard edge, and a stack of hard
|
|
37
|
+
* edges is a stack of visible lines however many there are. So a gradient of
|
|
38
|
+
* `color` is washed over the top — opaque at the outer edge, clear at the
|
|
39
|
+
* inner one. It hides the seams, and it is what makes the band read as one
|
|
40
|
+
* material rather than as a pile of rectangles: the content goes soft and
|
|
41
|
+
* fades into the surface at the same time, which is what the eye expects an
|
|
42
|
+
* edge to do.
|
|
43
|
+
*
|
|
44
|
+
* That wash is why `color` matters even when the blur is drawn. Give it the
|
|
45
|
+
* surface the scrollable actually sits on — a sheet, a card, the page — or the
|
|
46
|
+
* band fades towards a colour that is not there.
|
|
47
|
+
*
|
|
48
|
+
* ## Where it cannot blur, it fades
|
|
49
|
+
*
|
|
50
|
+
* A real blur needs a native view. `expo-blur` is optional, and Reduce
|
|
51
|
+
* Transparency is a preference that outranks the design, so both cases fall
|
|
52
|
+
* back to a gradient towards `color` — the same thing `ScrollFade` draws. A
|
|
53
|
+
* blur you cannot draw is better shown as a fade than as a hard edge, and far
|
|
54
|
+
* better than as a crash.
|
|
55
|
+
*
|
|
56
|
+
* Because of that fallback, pass `color` whenever the scroller does not sit on
|
|
57
|
+
* the theme background. It is unused in the blurred case and the whole effect
|
|
58
|
+
* in the other one.
|
|
59
|
+
*
|
|
60
|
+
* Scroll position, content size and viewport size are held in shared values
|
|
61
|
+
* and read on the UI thread, so scrolling never re-renders React.
|
|
62
|
+
*/
|
|
63
|
+
import { Children, isValidElement, useMemo } from 'react';
|
|
64
|
+
import { StyleSheet, View } from 'react-native';
|
|
65
|
+
import { LinearGradient } from 'expo-linear-gradient';
|
|
66
|
+
import Animated, { useAnimatedScrollHandler, useAnimatedStyle, useComposedEventHandler, useDerivedValue, useSharedValue } from 'react-native-reanimated';
|
|
67
|
+
import { useCSSVariable } from 'uniwind';
|
|
68
|
+
import { hasBlur, useReduceTransparency } from "../../primitives/scrim.js";
|
|
69
|
+
import { useThemeMode } from "../../theme/use-theme.js";
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* `expo-blur`'s BlurView, or null when it is not installed. Resolved once at
|
|
73
|
+
* module load — the require is cheap and caching it avoids a try/catch on
|
|
74
|
+
* every render.
|
|
75
|
+
*/
|
|
76
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
77
|
+
const BlurView = (() => {
|
|
78
|
+
try {
|
|
79
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
80
|
+
const mod = require('expo-blur');
|
|
81
|
+
return mod?.BlurView ?? null;
|
|
82
|
+
} catch {
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
})();
|
|
86
|
+
|
|
87
|
+
/** Past this many pixels from an edge, that edge's band is fully drawn. */
|
|
88
|
+
const DEFAULT_FADE_IN_DISTANCE = 24;
|
|
89
|
+
|
|
90
|
+
/** Which way the material tints. `default` follows the app's theme. */
|
|
91
|
+
|
|
92
|
+
export function ScrollBlur({
|
|
93
|
+
className,
|
|
94
|
+
size = 80,
|
|
95
|
+
edges = 'both',
|
|
96
|
+
orientation,
|
|
97
|
+
layers = 8,
|
|
98
|
+
intensity = 56,
|
|
99
|
+
material = 'default',
|
|
100
|
+
tint = 0.95,
|
|
101
|
+
color,
|
|
102
|
+
fadeInDistance = DEFAULT_FADE_IN_DISTANCE,
|
|
103
|
+
enabled = true,
|
|
104
|
+
children,
|
|
105
|
+
...props
|
|
106
|
+
}) {
|
|
107
|
+
const offset = useSharedValue(0);
|
|
108
|
+
const contentLength = useSharedValue(0);
|
|
109
|
+
const viewportLength = useSharedValue(0);
|
|
110
|
+
const reduceTransparency = useReduceTransparency();
|
|
111
|
+
const {
|
|
112
|
+
mode
|
|
113
|
+
} = useThemeMode();
|
|
114
|
+
/*
|
|
115
|
+
* Not knowing yet counts as "do not blur": the answer is asynchronous and
|
|
116
|
+
* arriving a frame late costs nothing, while a blur flashed at somebody who
|
|
117
|
+
* switched Reduce Transparency on is the whole thing that setting is for.
|
|
118
|
+
*/
|
|
119
|
+
const blurring = hasBlur && BlurView !== null && reduceTransparency === false;
|
|
120
|
+
const materialTint = material === 'default' ? mode : material;
|
|
121
|
+
const themeBackground = useCSSVariable('--color-background');
|
|
122
|
+
const fadeColor = color ?? (typeof themeBackground === 'string' ? themeBackground : '#000000');
|
|
123
|
+
const child = Children.only(children);
|
|
124
|
+
const horizontal = orientation !== undefined ? orientation === 'horizontal' : /*#__PURE__*/isValidElement(child) && !!child.props.horizontal;
|
|
125
|
+
|
|
126
|
+
// Reanimated can only drive a scroll handler on an animated component, and
|
|
127
|
+
// `Animated.ScrollView` is not necessarily what was passed in — the child may
|
|
128
|
+
// be a FlatList, a SectionList or a custom scrollable. Keyed on the element
|
|
129
|
+
// *type*, not the element: rebuilding the wrapper would remount the list.
|
|
130
|
+
const childType = /*#__PURE__*/isValidElement(child) ? child.type : null;
|
|
131
|
+
const AnimatedScrollable = useMemo(() => childType ? Animated.createAnimatedComponent(childType) : null, [childType]);
|
|
132
|
+
const scrollHandler = useAnimatedScrollHandler({
|
|
133
|
+
onScroll: event => {
|
|
134
|
+
const {
|
|
135
|
+
contentOffset,
|
|
136
|
+
contentSize,
|
|
137
|
+
layoutMeasurement
|
|
138
|
+
} = event;
|
|
139
|
+
offset.value = horizontal ? contentOffset.x : contentOffset.y;
|
|
140
|
+
contentLength.value = horizontal ? contentSize.width : contentSize.height;
|
|
141
|
+
viewportLength.value = horizontal ? layoutMeasurement.width : layoutMeasurement.height;
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
// A consumer `onScroll` is composed rather than dropped — but because the
|
|
146
|
+
// child is now an animated component it has to be an animated handler too.
|
|
147
|
+
const onScroll = useComposedEventHandler([scrollHandler, child.props.onScroll ?? null]);
|
|
148
|
+
|
|
149
|
+
// Measured up front as well as on scroll, so an end edge with content behind
|
|
150
|
+
// it is drawn from the first frame rather than waiting for a scroll event.
|
|
151
|
+
const onLayout = event => {
|
|
152
|
+
const {
|
|
153
|
+
width,
|
|
154
|
+
height
|
|
155
|
+
} = event.nativeEvent.layout;
|
|
156
|
+
viewportLength.value = horizontal ? width : height;
|
|
157
|
+
child.props.onLayout?.(event);
|
|
158
|
+
};
|
|
159
|
+
const onContentSizeChange = (width, height) => {
|
|
160
|
+
contentLength.value = horizontal ? width : height;
|
|
161
|
+
child.props.onContentSizeChange?.(width, height);
|
|
162
|
+
};
|
|
163
|
+
const startOpacity = useDerivedValue(() => Math.min(offset.value / fadeInDistance, 1));
|
|
164
|
+
const endOpacity = useDerivedValue(() => {
|
|
165
|
+
// Nothing to blur towards when the content fits inside the viewport.
|
|
166
|
+
const remaining = contentLength.value - viewportLength.value - offset.value;
|
|
167
|
+
return Math.min(Math.max(remaining, 0) / fadeInDistance, 1);
|
|
168
|
+
});
|
|
169
|
+
const scrollable = AnimatedScrollable && /*#__PURE__*/isValidElement(child) ? /*#__PURE__*/_jsx(AnimatedScrollable, {
|
|
170
|
+
...child.props,
|
|
171
|
+
onScroll: onScroll,
|
|
172
|
+
onLayout: onLayout,
|
|
173
|
+
onContentSizeChange: onContentSizeChange,
|
|
174
|
+
scrollEventThrottle: child.props.scrollEventThrottle ?? 16
|
|
175
|
+
}) : child;
|
|
176
|
+
if (!enabled || edges === 'none') {
|
|
177
|
+
return /*#__PURE__*/_jsx(View, {
|
|
178
|
+
...props,
|
|
179
|
+
className: className,
|
|
180
|
+
children: scrollable
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
const edgeProps = {
|
|
184
|
+
size,
|
|
185
|
+
horizontal,
|
|
186
|
+
layers: Math.max(1, Math.round(layers)),
|
|
187
|
+
intensity,
|
|
188
|
+
material: materialTint,
|
|
189
|
+
tint: Math.max(0, Math.min(1, tint)),
|
|
190
|
+
blurring,
|
|
191
|
+
color: fadeColor
|
|
192
|
+
};
|
|
193
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
194
|
+
...props,
|
|
195
|
+
className: className,
|
|
196
|
+
children: [scrollable, edges !== 'end' ? /*#__PURE__*/_jsx(Edge, {
|
|
197
|
+
...edgeProps,
|
|
198
|
+
opacity: startOpacity,
|
|
199
|
+
edge: "start"
|
|
200
|
+
}) : null, edges !== 'start' ? /*#__PURE__*/_jsx(Edge, {
|
|
201
|
+
...edgeProps,
|
|
202
|
+
opacity: endOpacity,
|
|
203
|
+
edge: "end"
|
|
204
|
+
}) : null]
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
ScrollBlur.displayName = 'ScrollBlur';
|
|
208
|
+
|
|
209
|
+
/** One edge's band: the stack of blur views, and the wash that joins them up. */
|
|
210
|
+
function Edge({
|
|
211
|
+
size,
|
|
212
|
+
horizontal,
|
|
213
|
+
layers,
|
|
214
|
+
intensity,
|
|
215
|
+
material,
|
|
216
|
+
tint,
|
|
217
|
+
blurring,
|
|
218
|
+
color,
|
|
219
|
+
opacity,
|
|
220
|
+
edge
|
|
221
|
+
}) {
|
|
222
|
+
const isStart = edge === 'start';
|
|
223
|
+
const position = horizontal ? {
|
|
224
|
+
top: 0,
|
|
225
|
+
bottom: 0,
|
|
226
|
+
width: size,
|
|
227
|
+
...(isStart ? {
|
|
228
|
+
left: 0
|
|
229
|
+
} : {
|
|
230
|
+
right: 0
|
|
231
|
+
})
|
|
232
|
+
} : {
|
|
233
|
+
left: 0,
|
|
234
|
+
right: 0,
|
|
235
|
+
height: size,
|
|
236
|
+
...(isStart ? {
|
|
237
|
+
top: 0
|
|
238
|
+
} : {
|
|
239
|
+
bottom: 0
|
|
240
|
+
})
|
|
241
|
+
};
|
|
242
|
+
const style = useAnimatedStyle(() => ({
|
|
243
|
+
opacity: opacity.value
|
|
244
|
+
}));
|
|
245
|
+
|
|
246
|
+
/** How opaque the wash gets at the outer edge. Without a blur it is all of it. */
|
|
247
|
+
const full = blurring ? tint : 1;
|
|
248
|
+
const steps = useMemo(() => Array.from({
|
|
249
|
+
length: layers
|
|
250
|
+
}, (_unused, index) => {
|
|
251
|
+
/*
|
|
252
|
+
* Spans on a curve rather than evenly spaced. The blur's strength grows
|
|
253
|
+
* fastest near the edge, so that is where the steps between layers
|
|
254
|
+
* would be widest — squaring the fraction crowds most of the layers
|
|
255
|
+
* into the outer third and spreads the rest thin across the inner
|
|
256
|
+
* two, which is where nothing much is happening anyway.
|
|
257
|
+
*/
|
|
258
|
+
const fraction = (layers - index) / layers;
|
|
259
|
+
return {
|
|
260
|
+
key: index,
|
|
261
|
+
// Cubed rather than squared: with eight layers a square curve still
|
|
262
|
+
// leaves the outermost two nearly the same width, and two layers of
|
|
263
|
+
// the same width are one layer at twice the cost.
|
|
264
|
+
span: size * fraction * fraction * fraction,
|
|
265
|
+
/*
|
|
266
|
+
* The widest layer is the faintest, so the band starts from nothing
|
|
267
|
+
* instead of stepping up at its inner boundary. Squared, so the
|
|
268
|
+
* fade-in is gentle where the layers are widest and the eye has the
|
|
269
|
+
* most room to notice one arriving.
|
|
270
|
+
*/
|
|
271
|
+
opacity: ((index + 1) / layers) ** 2
|
|
272
|
+
};
|
|
273
|
+
}), [layers, size]);
|
|
274
|
+
const along = span => horizontal ? {
|
|
275
|
+
top: 0,
|
|
276
|
+
bottom: 0,
|
|
277
|
+
width: span,
|
|
278
|
+
...(isStart ? {
|
|
279
|
+
left: 0
|
|
280
|
+
} : {
|
|
281
|
+
right: 0
|
|
282
|
+
})
|
|
283
|
+
} : {
|
|
284
|
+
left: 0,
|
|
285
|
+
right: 0,
|
|
286
|
+
height: span,
|
|
287
|
+
...(isStart ? {
|
|
288
|
+
top: 0
|
|
289
|
+
} : {
|
|
290
|
+
bottom: 0
|
|
291
|
+
})
|
|
292
|
+
};
|
|
293
|
+
return /*#__PURE__*/_jsxs(Animated.View, {
|
|
294
|
+
pointerEvents: "none",
|
|
295
|
+
style: [{
|
|
296
|
+
position: 'absolute',
|
|
297
|
+
overflow: 'hidden'
|
|
298
|
+
}, position, style],
|
|
299
|
+
children: [blurring && BlurView ? steps.map(step => /*#__PURE__*/_jsx(View, {
|
|
300
|
+
style: [{
|
|
301
|
+
position: 'absolute',
|
|
302
|
+
opacity: step.opacity
|
|
303
|
+
}, along(step.span)],
|
|
304
|
+
children: /*#__PURE__*/_jsx(BlurView, {
|
|
305
|
+
intensity: intensity / layers,
|
|
306
|
+
tint: material,
|
|
307
|
+
style: StyleSheet.absoluteFill
|
|
308
|
+
})
|
|
309
|
+
}, step.key)) : null, tint > 0 || !blurring ?
|
|
310
|
+
/*#__PURE__*/
|
|
311
|
+
/*
|
|
312
|
+
* Three stops, not two. A straight line from opaque to clear spends
|
|
313
|
+
* half its length at alphas high enough to read as a flat panel, then
|
|
314
|
+
* gives out all at once — the band gets an edge of its own, which is
|
|
315
|
+
* the thing it exists to remove. The middle stop at just over a third
|
|
316
|
+
* of the full alpha, placed past the halfway point, bends it into the
|
|
317
|
+
* long tail an edge is supposed to have.
|
|
318
|
+
*/
|
|
319
|
+
_jsx(LinearGradient, {
|
|
320
|
+
colors: isStart ? [withAlpha(color, full), withAlpha(color, full * 0.36), withAlpha(color, 0)] : [withAlpha(color, 0), withAlpha(color, full * 0.36), withAlpha(color, full)],
|
|
321
|
+
locations: isStart ? [0, 0.55, 1] : [0, 0.45, 1],
|
|
322
|
+
start: {
|
|
323
|
+
x: 0,
|
|
324
|
+
y: 0
|
|
325
|
+
},
|
|
326
|
+
end: horizontal ? {
|
|
327
|
+
x: 1,
|
|
328
|
+
y: 0
|
|
329
|
+
} : {
|
|
330
|
+
x: 0,
|
|
331
|
+
y: 1
|
|
332
|
+
},
|
|
333
|
+
style: StyleSheet.absoluteFill
|
|
334
|
+
}) : null]
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* Gradients need a transparent stop of the *same* colour — `transparent` is
|
|
340
|
+
* black at zero alpha on Android, which shows as a grey smear.
|
|
341
|
+
*
|
|
342
|
+
* Written out here rather than shared with `ScrollFade`, because each of these
|
|
343
|
+
* components is also copied into a project on its own and a helper reached for
|
|
344
|
+
* across two of them would arrive as a file nobody asked for.
|
|
345
|
+
*/
|
|
346
|
+
function withAlpha(color, alpha) {
|
|
347
|
+
if (color.startsWith('#')) {
|
|
348
|
+
const hex = color.slice(1);
|
|
349
|
+
const full = hex.length === 3 ? hex.split('').map(c => c + c).join('') : hex.slice(0, 6);
|
|
350
|
+
const r = parseInt(full.slice(0, 2), 16);
|
|
351
|
+
const g = parseInt(full.slice(2, 4), 16);
|
|
352
|
+
const b = parseInt(full.slice(4, 6), 16);
|
|
353
|
+
if (Number.isNaN(r + g + b)) return color;
|
|
354
|
+
return `rgba(${r}, ${g}, ${b}, ${alpha})`;
|
|
355
|
+
}
|
|
356
|
+
const channels = color.match(/rgba?\(([^)]+)\)/)?.[1];
|
|
357
|
+
if (channels) {
|
|
358
|
+
const [r, g, b] = channels.split(',').map(part => part.trim());
|
|
359
|
+
return `rgba(${r}, ${g}, ${b}, ${alpha})`;
|
|
360
|
+
}
|
|
361
|
+
return color;
|
|
362
|
+
}
|
|
363
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Children","isValidElement","useMemo","StyleSheet","View","LinearGradient","Animated","useAnimatedScrollHandler","useAnimatedStyle","useComposedEventHandler","useDerivedValue","useSharedValue","useCSSVariable","hasBlur","useReduceTransparency","useThemeMode","jsx","_jsx","jsxs","_jsxs","BlurView","mod","require","DEFAULT_FADE_IN_DISTANCE","ScrollBlur","className","size","edges","orientation","layers","intensity","material","tint","color","fadeInDistance","enabled","children","props","offset","contentLength","viewportLength","reduceTransparency","mode","blurring","materialTint","themeBackground","fadeColor","child","only","horizontal","undefined","childType","type","AnimatedScrollable","createAnimatedComponent","scrollHandler","onScroll","event","contentOffset","contentSize","layoutMeasurement","value","x","y","width","height","onLayout","nativeEvent","layout","onContentSizeChange","startOpacity","Math","min","endOpacity","remaining","max","scrollable","scrollEventThrottle","edgeProps","round","Edge","opacity","edge","displayName","isStart","position","top","bottom","left","right","style","full","steps","Array","from","length","_unused","index","fraction","key","span","along","pointerEvents","overflow","map","step","absoluteFill","colors","withAlpha","locations","start","end","alpha","startsWith","hex","slice","split","c","join","r","parseInt","g","b","Number","isNaN","channels","match","part","trim"],"sourceRoot":"../../../../src","sources":["components/scroll-blur/index.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SACEA,QAAQ,EACRC,cAAc,EACdC,OAAO,QAIF,OAAO;AACd,SACEC,UAAU,EACVC,IAAI,QAGC,cAAc;AACrB,SAASC,cAAc,QAAQ,sBAAsB;AACrD,OAAOC,QAAQ,IACbC,wBAAwB,EACxBC,gBAAgB,EAChBC,uBAAuB,EACvBC,eAAe,EACfC,cAAc,QAGT,yBAAyB;AAChC,SAASC,cAAc,QAAQ,SAAS;AACxC,SAASC,OAAO,EAAEC,qBAAqB,QAAQ,2BAAwB;AACvE,SAASC,YAAY,QAAQ,0BAAuB;;AAEpD;AACA;AACA;AACA;AACA;AAJA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAKA,MAAMC,QAIG,GAAG,CAAC,MAAM;EACjB,IAAI;IACF;IACA,MAAMC,GAAG,GAAGC,OAAO,CAAC,WAAW,CAAC;IAChC,OAAQD,GAAG,EAAED,QAAQ,IAA8C,IAAI;EACzE,CAAC,CAAC,MAAM;IACN,OAAO,IAAI;EACb;AACF,CAAC,EAAE,CAAC;;AAEJ;AACA,MAAMG,wBAAwB,GAAG,EAAE;;AAEnC;;AAwDA,OAAO,SAASC,UAAUA,CAAC;EACzBC,SAAS;EACTC,IAAI,GAAG,EAAE;EACTC,KAAK,GAAG,MAAM;EACdC,WAAW;EACXC,MAAM,GAAG,CAAC;EACVC,SAAS,GAAG,EAAE;EACdC,QAAQ,GAAG,SAAS;EACpBC,IAAI,GAAG,IAAI;EACXC,KAAK;EACLC,cAAc,GAAGX,wBAAwB;EACzCY,OAAO,GAAG,IAAI;EACdC,QAAQ;EACR,GAAGC;AACY,CAAC,EAAE;EAClB,MAAMC,MAAM,GAAG3B,cAAc,CAAC,CAAC,CAAC;EAChC,MAAM4B,aAAa,GAAG5B,cAAc,CAAC,CAAC,CAAC;EACvC,MAAM6B,cAAc,GAAG7B,cAAc,CAAC,CAAC,CAAC;EAExC,MAAM8B,kBAAkB,GAAG3B,qBAAqB,CAAC,CAAC;EAClD,MAAM;IAAE4B;EAAK,CAAC,GAAG3B,YAAY,CAAC,CAAC;EAC/B;AACF;AACA;AACA;AACA;EACE,MAAM4B,QAAQ,GAAG9B,OAAO,IAAIO,QAAQ,KAAK,IAAI,IAAIqB,kBAAkB,KAAK,KAAK;EAC7E,MAAMG,YAA4B,GAAGb,QAAQ,KAAK,SAAS,GAAGW,IAAI,GAAGX,QAAQ;EAE7E,MAAMc,eAAe,GAAGjC,cAAc,CAAC,oBAAoB,CAAC;EAC5D,MAAMkC,SAAS,GACbb,KAAK,KAAK,OAAOY,eAAe,KAAK,QAAQ,GAAGA,eAAe,GAAG,SAAS,CAAC;EAE9E,MAAME,KAAK,GAAG/C,QAAQ,CAACgD,IAAI,CAACZ,QAAQ,CAAkC;EACtE,MAAMa,UAAU,GACdrB,WAAW,KAAKsB,SAAS,GACrBtB,WAAW,KAAK,YAAY,GAC5B,aAAA3B,cAAc,CAAC8C,KAAK,CAAC,IAAI,CAAC,CAACA,KAAK,CAACV,KAAK,CAACY,UAAU;;EAEvD;EACA;EACA;EACA;EACA,MAAME,SAAS,GAAG,aAAAlD,cAAc,CAAC8C,KAAK,CAAC,GAClCA,KAAK,CAACK,IAAI,GACX,IAAI;EACR,MAAMC,kBAAkB,GAAGnD,OAAO,CAChC,MAAOiD,SAAS,GAAG7C,QAAQ,CAACgD,uBAAuB,CAACH,SAAS,CAAC,GAAG,IAAK,EACtE,CAACA,SAAS,CACZ,CAAC;EAED,MAAMI,aAAa,GAAGhD,wBAAwB,CAAC;IAC7CiD,QAAQ,EAAGC,KAAK,IAAK;MACnB,MAAM;QAAEC,aAAa;QAAEC,WAAW;QAAEC;MAAkB,CAAC,GAAGH,KAAK;MAC/DnB,MAAM,CAACuB,KAAK,GAAGZ,UAAU,GAAGS,aAAa,CAACI,CAAC,GAAGJ,aAAa,CAACK,CAAC;MAC7DxB,aAAa,CAACsB,KAAK,GAAGZ,UAAU,GAAGU,WAAW,CAACK,KAAK,GAAGL,WAAW,CAACM,MAAM;MACzEzB,cAAc,CAACqB,KAAK,GAAGZ,UAAU,GAC7BW,iBAAiB,CAACI,KAAK,GACvBJ,iBAAiB,CAACK,MAAM;IAC9B;EACF,CAAC,CAAC;;EAEF;EACA;EACA,MAAMT,QAAQ,GAAG/C,uBAAuB,CAAC,CACvC8C,aAAa,EACZR,KAAK,CAACV,KAAK,CAACmB,QAAQ,IAAyC,IAAI,CACnE,CAAC;;EAEF;EACA;EACA,MAAMU,QAAQ,GAAIT,KAAwB,IAAK;IAC7C,MAAM;MAAEO,KAAK;MAAEC;IAAO,CAAC,GAAGR,KAAK,CAACU,WAAW,CAACC,MAAM;IAClD5B,cAAc,CAACqB,KAAK,GAAGZ,UAAU,GAAGe,KAAK,GAAGC,MAAM;IAClDlB,KAAK,CAACV,KAAK,CAAC6B,QAAQ,GAAGT,KAAK,CAAC;EAC/B,CAAC;EAED,MAAMY,mBAAmB,GAAGA,CAACL,KAAa,EAAEC,MAAc,KAAK;IAC7D1B,aAAa,CAACsB,KAAK,GAAGZ,UAAU,GAAGe,KAAK,GAAGC,MAAM;IACjDlB,KAAK,CAACV,KAAK,CAACgC,mBAAmB,GAAGL,KAAK,EAAEC,MAAM,CAAC;EAClD,CAAC;EAED,MAAMK,YAAY,GAAG5D,eAAe,CAAC,MACnC6D,IAAI,CAACC,GAAG,CAAClC,MAAM,CAACuB,KAAK,GAAG3B,cAAc,EAAE,CAAC,CAC3C,CAAC;EAED,MAAMuC,UAAU,GAAG/D,eAAe,CAAC,MAAM;IACvC;IACA,MAAMgE,SAAS,GAAGnC,aAAa,CAACsB,KAAK,GAAGrB,cAAc,CAACqB,KAAK,GAAGvB,MAAM,CAACuB,KAAK;IAC3E,OAAOU,IAAI,CAACC,GAAG,CAACD,IAAI,CAACI,GAAG,CAACD,SAAS,EAAE,CAAC,CAAC,GAAGxC,cAAc,EAAE,CAAC,CAAC;EAC7D,CAAC,CAAC;EAEF,MAAM0C,UAAU,GACdvB,kBAAkB,iBAAIpD,cAAc,CAAC8C,KAAK,CAAC,gBACzC9B,IAAA,CAACoC,kBAAkB;IAAA,GACbN,KAAK,CAACV,KAAK;IACfmB,QAAQ,EAAEA,QAAS;IACnBU,QAAQ,EAAEA,QAAS;IACnBG,mBAAmB,EAAEA,mBAAoB;IACzCQ,mBAAmB,EAAE9B,KAAK,CAACV,KAAK,CAACwC,mBAAmB,IAAI;EAAG,CAC5D,CAAC,GAEF9B,KACD;EAEH,IAAI,CAACZ,OAAO,IAAIR,KAAK,KAAK,MAAM,EAAE;IAChC,oBACEV,IAAA,CAACb,IAAI;MAAA,GAAKiC,KAAK;MAAEZ,SAAS,EAAEA,SAAU;MAAAW,QAAA,EACnCwC;IAAU,CACP,CAAC;EAEX;EAEA,MAAME,SAAS,GAAG;IAChBpD,IAAI;IACJuB,UAAU;IACVpB,MAAM,EAAE0C,IAAI,CAACI,GAAG,CAAC,CAAC,EAAEJ,IAAI,CAACQ,KAAK,CAAClD,MAAM,CAAC,CAAC;IACvCC,SAAS;IACTC,QAAQ,EAAEa,YAAY;IACtBZ,IAAI,EAAEuC,IAAI,CAACI,GAAG,CAAC,CAAC,EAAEJ,IAAI,CAACC,GAAG,CAAC,CAAC,EAAExC,IAAI,CAAC,CAAC;IACpCW,QAAQ;IACRV,KAAK,EAAEa;EACT,CAAC;EAED,oBACE3B,KAAA,CAACf,IAAI;IAAA,GAAKiC,KAAK;IAAEZ,SAAS,EAAEA,SAAU;IAAAW,QAAA,GACnCwC,UAAU,EAEVjD,KAAK,KAAK,KAAK,gBACdV,IAAA,CAAC+D,IAAI;MAAA,GAAKF,SAAS;MAAEG,OAAO,EAAEX,YAAa;MAACY,IAAI,EAAC;IAAO,CAAE,CAAC,GACzD,IAAI,EACPvD,KAAK,KAAK,OAAO,gBAChBV,IAAA,CAAC+D,IAAI;MAAA,GAAKF,SAAS;MAAEG,OAAO,EAAER,UAAW;MAACS,IAAI,EAAC;IAAK,CAAE,CAAC,GACrD,IAAI;EAAA,CACJ,CAAC;AAEX;AAEA1D,UAAU,CAAC2D,WAAW,GAAG,YAAY;;AAErC;AACA,SAASH,IAAIA,CAAC;EACZtD,IAAI;EACJuB,UAAU;EACVpB,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,IAAI;EACJW,QAAQ;EACRV,KAAK;EACLgD,OAAO;EACPC;AAYF,CAAC,EAAE;EACD,MAAME,OAAO,GAAGF,IAAI,KAAK,OAAO;EAEhC,MAAMG,QAAQ,GAAGpC,UAAU,GACvB;IAAEqC,GAAG,EAAE,CAAC;IAAEC,MAAM,EAAE,CAAC;IAAEvB,KAAK,EAAEtC,IAAI;IAAE,IAAI0D,OAAO,GAAG;MAAEI,IAAI,EAAE;IAAE,CAAC,GAAG;MAAEC,KAAK,EAAE;IAAE,CAAC;EAAE,CAAC,GAC7E;IAAED,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAE,CAAC;IAAExB,MAAM,EAAEvC,IAAI;IAAE,IAAI0D,OAAO,GAAG;MAAEE,GAAG,EAAE;IAAE,CAAC,GAAG;MAAEC,MAAM,EAAE;IAAE,CAAC;EAAE,CAAC;EAElF,MAAMG,KAAK,GAAGlF,gBAAgB,CAAC,OAAO;IAAEyE,OAAO,EAAEA,OAAO,CAACpB;EAAM,CAAC,CAAC,CAAC;;EAElE;EACA,MAAM8B,IAAI,GAAGhD,QAAQ,GAAGX,IAAI,GAAG,CAAC;EAEhC,MAAM4D,KAAK,GAAG1F,OAAO,CACnB,MACE2F,KAAK,CAACC,IAAI,CAAC;IAAEC,MAAM,EAAElE;EAAO,CAAC,EAAE,CAACmE,OAAO,EAAEC,KAAK,KAAK;IACjD;AACR;AACA;AACA;AACA;AACA;AACA;IACQ,MAAMC,QAAQ,GAAG,CAACrE,MAAM,GAAGoE,KAAK,IAAIpE,MAAM;IAC1C,OAAO;MACLsE,GAAG,EAAEF,KAAK;MACV;MACA;MACA;MACAG,IAAI,EAAE1E,IAAI,GAAGwE,QAAQ,GAAGA,QAAQ,GAAGA,QAAQ;MAC3C;AACV;AACA;AACA;AACA;AACA;MACUjB,OAAO,EAAE,CAAC,CAACgB,KAAK,GAAG,CAAC,IAAIpE,MAAM,KAAK;IACrC,CAAC;EACH,CAAC,CAAC,EACJ,CAACA,MAAM,EAAEH,IAAI,CACf,CAAC;EAED,MAAM2E,KAAK,GAAID,IAAY,IACzBnD,UAAU,GACN;IAAEqC,GAAG,EAAE,CAAC;IAAEC,MAAM,EAAE,CAAC;IAAEvB,KAAK,EAAEoC,IAAI;IAAE,IAAIhB,OAAO,GAAG;MAAEI,IAAI,EAAE;IAAE,CAAC,GAAG;MAAEC,KAAK,EAAE;IAAE,CAAC;EAAE,CAAC,GAC7E;IAAED,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAE,CAAC;IAAExB,MAAM,EAAEmC,IAAI;IAAE,IAAIhB,OAAO,GAAG;MAAEE,GAAG,EAAE;IAAE,CAAC,GAAG;MAAEC,MAAM,EAAE;IAAE,CAAC;EAAE,CAAC;EAEpF,oBACEpE,KAAA,CAACb,QAAQ,CAACF,IAAI;IACZkG,aAAa,EAAC,MAAM;IACpBZ,KAAK,EAAE,CAAC;MAAEL,QAAQ,EAAE,UAAU;MAAEkB,QAAQ,EAAE;IAAS,CAAC,EAAElB,QAAQ,EAAEK,KAAK,CAAE;IAAAtD,QAAA,GAEtEO,QAAQ,IAAIvB,QAAQ,GACjBwE,KAAK,CAACY,GAAG,CAAEC,IAAI,iBACbxF,IAAA,CAACb,IAAI;MAEHsF,KAAK,EAAE,CAAC;QAAEL,QAAQ,EAAE,UAAU;QAAEJ,OAAO,EAAEwB,IAAI,CAACxB;MAAQ,CAAC,EAAEoB,KAAK,CAACI,IAAI,CAACL,IAAI,CAAC,CAAE;MAAAhE,QAAA,eAE3EnB,IAAA,CAACG,QAAQ;QACPU,SAAS,EAAEA,SAAS,GAAGD,MAAO;QAC9BG,IAAI,EAAED,QAAS;QACf2D,KAAK,EAAEvF,UAAU,CAACuG;MAAa,CAChC;IAAC,GAPGD,IAAI,CAACN,GAQN,CACP,CAAC,GACF,IAAI,EAOPnE,IAAI,GAAG,CAAC,IAAI,CAACW,QAAQ;IAAA;IACpB;AACR;AACA;AACA;AACA;AACA;AACA;AACA;IACQ1B,IAAA,CAACZ,cAAc;MACbsG,MAAM,EACJvB,OAAO,GACH,CACEwB,SAAS,CAAC3E,KAAK,EAAE0D,IAAI,CAAC,EACtBiB,SAAS,CAAC3E,KAAK,EAAE0D,IAAI,GAAG,IAAI,CAAC,EAC7BiB,SAAS,CAAC3E,KAAK,EAAE,CAAC,CAAC,CACpB,GACD,CACE2E,SAAS,CAAC3E,KAAK,EAAE,CAAC,CAAC,EACnB2E,SAAS,CAAC3E,KAAK,EAAE0D,IAAI,GAAG,IAAI,CAAC,EAC7BiB,SAAS,CAAC3E,KAAK,EAAE0D,IAAI,CAAC,CAE7B;MACDkB,SAAS,EAAEzB,OAAO,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAE;MACjD0B,KAAK,EAAE;QAAEhD,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE;MAAE,CAAE;MACtBgD,GAAG,EAAE9D,UAAU,GAAG;QAAEa,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE;MAAE,CAAC,GAAG;QAAED,CAAC,EAAE,CAAC;QAAEC,CAAC,EAAE;MAAE,CAAE;MAClD2B,KAAK,EAAEvF,UAAU,CAACuG;IAAa,CAChC,CAAC,GACA,IAAI;EAAA,CACK,CAAC;AAEpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASE,SAASA,CAAC3E,KAAa,EAAE+E,KAAa,EAAU;EACvD,IAAI/E,KAAK,CAACgF,UAAU,CAAC,GAAG,CAAC,EAAE;IACzB,MAAMC,GAAG,GAAGjF,KAAK,CAACkF,KAAK,CAAC,CAAC,CAAC;IAC1B,MAAMxB,IAAI,GACRuB,GAAG,CAACnB,MAAM,KAAK,CAAC,GACZmB,GAAG,CACAE,KAAK,CAAC,EAAE,CAAC,CACTZ,GAAG,CAAEa,CAAC,IAAKA,CAAC,GAAGA,CAAC,CAAC,CACjBC,IAAI,CAAC,EAAE,CAAC,GACXJ,GAAG,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IACrB,MAAMI,CAAC,GAAGC,QAAQ,CAAC7B,IAAI,CAACwB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IACxC,MAAMM,CAAC,GAAGD,QAAQ,CAAC7B,IAAI,CAACwB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IACxC,MAAMO,CAAC,GAAGF,QAAQ,CAAC7B,IAAI,CAACwB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IACxC,IAAIQ,MAAM,CAACC,KAAK,CAACL,CAAC,GAAGE,CAAC,GAAGC,CAAC,CAAC,EAAE,OAAOzF,KAAK;IACzC,OAAO,QAAQsF,CAAC,KAAKE,CAAC,KAAKC,CAAC,KAAKV,KAAK,GAAG;EAC3C;EAEA,MAAMa,QAAQ,GAAG5F,KAAK,CAAC6F,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;EACrD,IAAID,QAAQ,EAAE;IACZ,MAAM,CAACN,CAAC,EAAEE,CAAC,EAAEC,CAAC,CAAC,GAAGG,QAAQ,CAACT,KAAK,CAAC,GAAG,CAAC,CAACZ,GAAG,CAAEuB,IAAI,IAAKA,IAAI,CAACC,IAAI,CAAC,CAAC,CAAC;IAChE,OAAO,QAAQT,CAAC,KAAKE,CAAC,KAAKC,CAAC,KAAKV,KAAK,GAAG;EAC3C;EAEA,OAAO/E,KAAK;AACd","ignoreList":[]}
|
|
@@ -65,6 +65,7 @@ export function ScrollCanvas({
|
|
|
65
65
|
const active = enabled && !reducedMotion;
|
|
66
66
|
const {
|
|
67
67
|
ref,
|
|
68
|
+
onLayout,
|
|
68
69
|
progress
|
|
69
70
|
} = useRevealProgress({
|
|
70
71
|
start,
|
|
@@ -108,6 +109,7 @@ export function ScrollCanvas({
|
|
|
108
109
|
return /*#__PURE__*/_jsxs(View, {
|
|
109
110
|
...props,
|
|
110
111
|
ref: ref,
|
|
112
|
+
onLayout: onLayout,
|
|
111
113
|
style: [{
|
|
112
114
|
aspectRatio
|
|
113
115
|
}, style],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Image","View","Animated","interpolate","useAnimatedStyle","useReducedMotion","useRevealProgress","cn","jsx","_jsx","jsxs","_jsxs","AnimatedImage","createAnimatedComponent","PARALLAX_OVERSCAN","PARALLAX_TRAVEL","ScrollCanvas","className","imageClassName","source","sources","effect","aspectRatio","distance","start","end","progress","external","enabled","style","props","reducedMotion","active","ref","frames","imageStyle","p","value","transform","scale","travel","translateY","coverStyle","children","map","frame","index","SequenceFrame","count","length","resizeMode","height","top","pointerEvents","displayName","current","Math","min","floor","opacity"],"sourceRoot":"../../../../src","sources":["components/scroll-canvas/index.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,KAAK,EAAEC,IAAI,QAAkD,cAAc;AACpF,OAAOC,QAAQ,IACbC,WAAW,EACXC,gBAAgB,EAChBC,gBAAgB,QAEX,yBAAyB;AAChC,SAASC,iBAAiB,QAAQ,oCAAiC;AACnE,SAASC,EAAE,QAAQ,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEpC,MAAMC,aAAa,GAAGV,QAAQ,CAACW,uBAAuB,CAACb,KAAK,CAAC;;AAE7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMc,iBAAiB,GAAG,IAAI;;AAE9B;AACA,MAAMC,eAAe,GAAG,GAAG;AAmC3B,OAAO,SAASC,YAAYA,CAAC;EAC3BC,SAAS;EACTC,cAAc;EACdC,MAAM;EACNC,OAAO;EACPC,MAAM,GAAG,UAAU;EACnBC,WAAW,GAAG,EAAE,GAAG,EAAE;EACrBC,QAAQ,GAAG,CAAC;EACZC,KAAK,GAAG,CAAC;EACTC,GAAG,GAAG,GAAG;EACTC,QAAQ,EAAEC,QAAQ;EAClBC,OAAO,GAAG,IAAI;EACdC,KAAK;EACL,GAAGC;AACc,CAAC,EAAE;EACpB,MAAMC,aAAa,GAAG1B,gBAAgB,CAAC,CAAC;EACxC,MAAM2B,MAAM,GAAGJ,OAAO,IAAI,CAACG,aAAa;EAExC,MAAM;IAAEE,GAAG;
|
|
1
|
+
{"version":3,"names":["Image","View","Animated","interpolate","useAnimatedStyle","useReducedMotion","useRevealProgress","cn","jsx","_jsx","jsxs","_jsxs","AnimatedImage","createAnimatedComponent","PARALLAX_OVERSCAN","PARALLAX_TRAVEL","ScrollCanvas","className","imageClassName","source","sources","effect","aspectRatio","distance","start","end","progress","external","enabled","style","props","reducedMotion","active","ref","onLayout","frames","imageStyle","p","value","transform","scale","travel","translateY","coverStyle","children","map","frame","index","SequenceFrame","count","length","resizeMode","height","top","pointerEvents","displayName","current","Math","min","floor","opacity"],"sourceRoot":"../../../../src","sources":["components/scroll-canvas/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -60,6 +60,7 @@ export function ScrollText({
|
|
|
60
60
|
const active = enabled && !reducedMotion;
|
|
61
61
|
const {
|
|
62
62
|
ref,
|
|
63
|
+
onLayout,
|
|
63
64
|
progress
|
|
64
65
|
} = useRevealProgress({
|
|
65
66
|
start,
|
|
@@ -84,6 +85,7 @@ export function ScrollText({
|
|
|
84
85
|
if (asRow) {
|
|
85
86
|
return /*#__PURE__*/_jsx(View, {
|
|
86
87
|
ref: ref,
|
|
88
|
+
onLayout: onLayout,
|
|
87
89
|
className: "flex-row flex-wrap items-baseline",
|
|
88
90
|
children: tokens.map((token, index) => /*#__PURE__*/_jsx(RisingToken, {
|
|
89
91
|
text: token,
|
|
@@ -98,6 +100,7 @@ export function ScrollText({
|
|
|
98
100
|
}
|
|
99
101
|
return /*#__PURE__*/_jsx(View, {
|
|
100
102
|
ref: ref,
|
|
103
|
+
onLayout: onLayout,
|
|
101
104
|
children: /*#__PURE__*/_jsx(Text, {
|
|
102
105
|
...textProps,
|
|
103
106
|
className: className,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","Text","RNText","View","Animated","interpolate","interpolateColor","useAnimatedStyle","useReducedMotion","useCSSVariable","useRevealProgress","jsx","_jsx","AnimatedText","createAnimatedComponent","RISE_DISTANCE","NEEDS_ROW","ScrollText","className","children","effect","by","from","to","start","end","stagger","progress","external","enabled","textProps","reducedMotion","active","ref","mutedToken","foregroundToken","accentToken","dim","lit","highlight","tokens","splitText","span","Math","max","stride","length","asRow","includes","map","token","index","RisingToken","text","startAt","last","InkedToken","displayName","style","local","min","value","opacity","color","backgroundColor","transform","translateY","undefined","marginRight","trimmed","trim","Array","split"],"sourceRoot":"../../../../src","sources":["components/scroll-text/index.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,IAAI,IAAIC,MAAM,EAAEC,IAAI,QAAwB,cAAc;AACnE,OAAOC,QAAQ,IACbC,WAAW,EACXC,gBAAgB,EAChBC,gBAAgB,EAChBC,gBAAgB,QAEX,yBAAyB;AAChC,SAASC,cAAc,QAAQ,SAAS;AACxC,SAASC,iBAAiB,QAAQ,oCAAiC;AACnE,SAAST,IAAI,QAAwB,0BAAuB;AAAC,SAAAU,GAAA,IAAAC,IAAA;AAE7D,MAAMC,YAAY,GAAGT,QAAQ,CAACU,uBAAuB,CAACZ,MAAM,CAAC;;AAE7D;AACA,MAAMa,aAAa,GAAG,EAAE;AAKxB;AACA,MAAMC,SAA6B,GAAG,CAAC,MAAM,CAAC;AAwC9C,OAAO,SAASC,UAAUA,CAAC;EACzBC,SAAS;EACTC,QAAQ,GAAG,EAAE;EACbC,MAAM,GAAG,OAAO;EAChBC,EAAE,GAAG,MAAM;EACXC,IAAI;EACJC,EAAE;EACFC,KAAK,GAAG,GAAG;EACXC,GAAG,GAAG,GAAG;EACTC,OAAO,GAAG,IAAI;EACdC,QAAQ,EAAEC,QAAQ;EAClBC,OAAO,GAAG,IAAI;EACd,GAAGC;AACY,CAAC,EAAE;EAClB,MAAMC,aAAa,GAAGvB,gBAAgB,CAAC,CAAC;EACxC,MAAMwB,MAAM,GAAGH,OAAO,IAAI,CAACE,aAAa;EAExC,MAAM;IAAEE,GAAG;
|
|
1
|
+
{"version":3,"names":["useMemo","Text","RNText","View","Animated","interpolate","interpolateColor","useAnimatedStyle","useReducedMotion","useCSSVariable","useRevealProgress","jsx","_jsx","AnimatedText","createAnimatedComponent","RISE_DISTANCE","NEEDS_ROW","ScrollText","className","children","effect","by","from","to","start","end","stagger","progress","external","enabled","textProps","reducedMotion","active","ref","onLayout","mutedToken","foregroundToken","accentToken","dim","lit","highlight","tokens","splitText","span","Math","max","stride","length","asRow","includes","map","token","index","RisingToken","text","startAt","last","InkedToken","displayName","style","local","min","value","opacity","color","backgroundColor","transform","translateY","undefined","marginRight","trimmed","trim","Array","split"],"sourceRoot":"../../../../src","sources":["components/scroll-text/index.tsx"],"mappings":"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","ignoreList":[]}
|