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.
Files changed (52) hide show
  1. package/lib/module/components/animated-badge/index.js +451 -0
  2. package/lib/module/components/animated-badge/index.js.map +1 -0
  3. package/lib/module/components/bottom-sheet/index.js +17 -6
  4. package/lib/module/components/bottom-sheet/index.js.map +1 -1
  5. package/lib/module/components/bubble-chart/index.js +557 -41
  6. package/lib/module/components/bubble-chart/index.js.map +1 -1
  7. package/lib/module/components/feedback-dialog/index.js +474 -0
  8. package/lib/module/components/feedback-dialog/index.js.map +1 -0
  9. package/lib/module/components/scroll-blur/index.js +363 -0
  10. package/lib/module/components/scroll-blur/index.js.map +1 -0
  11. package/lib/module/components/scroll-canvas/index.js +2 -0
  12. package/lib/module/components/scroll-canvas/index.js.map +1 -1
  13. package/lib/module/components/scroll-text/index.js +3 -0
  14. package/lib/module/components/scroll-text/index.js.map +1 -1
  15. package/lib/module/components/search-bar/index.js +390 -45
  16. package/lib/module/components/search-bar/index.js.map +1 -1
  17. package/lib/module/hooks/use-keyboard-avoidance.js +21 -1
  18. package/lib/module/hooks/use-keyboard-avoidance.js.map +1 -1
  19. package/lib/module/hooks/use-reveal-progress.js +21 -1
  20. package/lib/module/hooks/use-reveal-progress.js.map +1 -1
  21. package/lib/module/index.js +3 -0
  22. package/lib/module/index.js.map +1 -1
  23. package/lib/typescript/src/components/animated-badge/index.d.ts +224 -0
  24. package/lib/typescript/src/components/animated-badge/index.d.ts.map +1 -0
  25. package/lib/typescript/src/components/bottom-sheet/index.d.ts +1 -15
  26. package/lib/typescript/src/components/bottom-sheet/index.d.ts.map +1 -1
  27. package/lib/typescript/src/components/bubble-chart/index.d.ts +150 -7
  28. package/lib/typescript/src/components/bubble-chart/index.d.ts.map +1 -1
  29. package/lib/typescript/src/components/feedback-dialog/index.d.ts +156 -0
  30. package/lib/typescript/src/components/feedback-dialog/index.d.ts.map +1 -0
  31. package/lib/typescript/src/components/scroll-blur/index.d.ts +113 -0
  32. package/lib/typescript/src/components/scroll-blur/index.d.ts.map +1 -0
  33. package/lib/typescript/src/components/scroll-canvas/index.d.ts.map +1 -1
  34. package/lib/typescript/src/components/search-bar/index.d.ts +142 -7
  35. package/lib/typescript/src/components/search-bar/index.d.ts.map +1 -1
  36. package/lib/typescript/src/hooks/use-keyboard-avoidance.d.ts.map +1 -1
  37. package/lib/typescript/src/hooks/use-reveal-progress.d.ts +6 -27
  38. package/lib/typescript/src/hooks/use-reveal-progress.d.ts.map +1 -1
  39. package/lib/typescript/src/index.d.ts +5 -2
  40. package/lib/typescript/src/index.d.ts.map +1 -1
  41. package/package.json +1 -1
  42. package/src/components/animated-badge/index.tsx +513 -0
  43. package/src/components/bottom-sheet/index.tsx +23 -8
  44. package/src/components/bubble-chart/index.tsx +664 -46
  45. package/src/components/feedback-dialog/index.tsx +557 -0
  46. package/src/components/scroll-blur/index.tsx +466 -0
  47. package/src/components/scroll-canvas/index.tsx +2 -1
  48. package/src/components/scroll-text/index.tsx +3 -3
  49. package/src/components/search-bar/index.tsx +471 -41
  50. package/src/hooks/use-keyboard-avoidance.ts +24 -1
  51. package/src/hooks/use-reveal-progress.ts +30 -1
  52. 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":"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","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":"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","ignoreList":[]}
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":"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","ignoreList":[]}
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":[]}