react-native-laminar 1.2.0 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -2
- package/lib/commonjs/hooks/use-display-units.js +1 -0
- package/lib/commonjs/hooks/use-display-units.js.map +1 -1
- package/lib/commonjs/hooks/use-inline-auto-width.js +43 -10
- package/lib/commonjs/hooks/use-inline-auto-width.js.map +1 -1
- package/lib/commonjs/hooks/use-morph-motion.js +2 -1
- package/lib/commonjs/hooks/use-morph-motion.js.map +1 -1
- package/lib/commonjs/hooks/use-morph-text-style.js +4 -0
- package/lib/commonjs/hooks/use-morph-text-style.js.map +1 -1
- package/lib/commonjs/hooks/use-numeric-lanes.js +1 -0
- package/lib/commonjs/hooks/use-numeric-lanes.js.map +1 -1
- package/lib/commonjs/hooks/use-text-glyphs.js +28 -7
- package/lib/commonjs/hooks/use-text-glyphs.js.map +1 -1
- package/lib/commonjs/index.js +54 -11
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/model/display-units.js +7 -1
- package/lib/commonjs/model/display-units.js.map +1 -1
- package/lib/commonjs/model/numeric-lanes.js +4 -0
- package/lib/commonjs/model/numeric-lanes.js.map +1 -1
- package/lib/commonjs/model/text-keys.js +4 -0
- package/lib/commonjs/model/text-keys.js.map +1 -1
- package/lib/commonjs/motion/entry-exit-builders.js +78 -1
- package/lib/commonjs/motion/entry-exit-builders.js.map +1 -1
- package/lib/commonjs/motion/preset-map.js +7 -0
- package/lib/commonjs/motion/preset-map.js.map +1 -1
- package/lib/commonjs/view/glyph-run.js +21 -2
- package/lib/commonjs/view/glyph-run.js.map +1 -1
- package/lib/commonjs/view/morph-viewport.js +4 -0
- package/lib/commonjs/view/morph-viewport.js.map +1 -1
- package/lib/commonjs/view/number-lane.js +5 -1
- package/lib/commonjs/view/number-lane.js.map +1 -1
- package/lib/commonjs/view/number-run.js +4 -0
- package/lib/commonjs/view/number-run.js.map +1 -1
- package/lib/commonjs/view/slots-run.js +258 -0
- package/lib/commonjs/view/slots-run.js.map +1 -0
- package/lib/commonjs/view/text-run.js +35 -3
- package/lib/commonjs/view/text-run.js.map +1 -1
- package/lib/module/hooks/use-display-units.js +2 -0
- package/lib/module/hooks/use-display-units.js.map +1 -1
- package/lib/module/hooks/use-inline-auto-width.js +44 -11
- package/lib/module/hooks/use-inline-auto-width.js.map +1 -1
- package/lib/module/hooks/use-morph-motion.js +2 -1
- package/lib/module/hooks/use-morph-motion.js.map +1 -1
- package/lib/module/hooks/use-morph-text-style.js +4 -0
- package/lib/module/hooks/use-morph-text-style.js.map +1 -1
- package/lib/module/hooks/use-numeric-lanes.js +1 -0
- package/lib/module/hooks/use-numeric-lanes.js.map +1 -1
- package/lib/module/hooks/use-text-glyphs.js +28 -7
- package/lib/module/hooks/use-text-glyphs.js.map +1 -1
- package/lib/module/index.js +56 -12
- package/lib/module/index.js.map +1 -1
- package/lib/module/model/display-units.js +7 -1
- package/lib/module/model/display-units.js.map +1 -1
- package/lib/module/model/numeric-lanes.js +5 -0
- package/lib/module/model/numeric-lanes.js.map +1 -1
- package/lib/module/model/text-keys.js +4 -0
- package/lib/module/model/text-keys.js.map +1 -1
- package/lib/module/motion/entry-exit-builders.js +75 -0
- package/lib/module/motion/entry-exit-builders.js.map +1 -1
- package/lib/module/motion/preset-map.js +7 -0
- package/lib/module/motion/preset-map.js.map +1 -1
- package/lib/module/view/glyph-run.js +21 -2
- package/lib/module/view/glyph-run.js.map +1 -1
- package/lib/module/view/morph-viewport.js +4 -0
- package/lib/module/view/morph-viewport.js.map +1 -1
- package/lib/module/view/number-lane.js +5 -1
- package/lib/module/view/number-lane.js.map +1 -1
- package/lib/module/view/number-run.js +4 -0
- package/lib/module/view/number-run.js.map +1 -1
- package/lib/module/view/slots-run.js +253 -0
- package/lib/module/view/slots-run.js.map +1 -0
- package/lib/module/view/text-run.js +36 -4
- package/lib/module/view/text-run.js.map +1 -1
- package/lib/typescript/commonjs/hooks/use-display-units.d.ts.map +1 -1
- package/lib/typescript/commonjs/hooks/use-inline-auto-width.d.ts +3 -1
- package/lib/typescript/commonjs/hooks/use-inline-auto-width.d.ts.map +1 -1
- package/lib/typescript/commonjs/hooks/use-morph-motion.d.ts.map +1 -1
- package/lib/typescript/commonjs/hooks/use-morph-text-style.d.ts.map +1 -1
- package/lib/typescript/commonjs/hooks/use-numeric-lanes.d.ts.map +1 -1
- package/lib/typescript/commonjs/hooks/use-text-glyphs.d.ts +2 -1
- package/lib/typescript/commonjs/hooks/use-text-glyphs.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +1 -3
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/model/display-units.d.ts.map +1 -1
- package/lib/typescript/commonjs/model/numeric-lanes.d.ts.map +1 -1
- package/lib/typescript/commonjs/model/text-keys.d.ts.map +1 -1
- package/lib/typescript/commonjs/motion/entry-exit-builders.d.ts +13 -0
- package/lib/typescript/commonjs/motion/entry-exit-builders.d.ts.map +1 -1
- package/lib/typescript/commonjs/motion/preset-map.d.ts.map +1 -1
- package/lib/typescript/commonjs/types.d.ts +12 -2
- package/lib/typescript/commonjs/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/view/glyph-run.d.ts +5 -2
- package/lib/typescript/commonjs/view/glyph-run.d.ts.map +1 -1
- package/lib/typescript/commonjs/view/morph-viewport.d.ts.map +1 -1
- package/lib/typescript/commonjs/view/number-lane.d.ts.map +1 -1
- package/lib/typescript/commonjs/view/number-run.d.ts.map +1 -1
- package/lib/typescript/commonjs/view/slots-run.d.ts +15 -0
- package/lib/typescript/commonjs/view/slots-run.d.ts.map +1 -0
- package/lib/typescript/commonjs/view/text-run.d.ts +5 -1
- package/lib/typescript/commonjs/view/text-run.d.ts.map +1 -1
- package/lib/typescript/module/hooks/use-display-units.d.ts.map +1 -1
- package/lib/typescript/module/hooks/use-inline-auto-width.d.ts +3 -1
- package/lib/typescript/module/hooks/use-inline-auto-width.d.ts.map +1 -1
- package/lib/typescript/module/hooks/use-morph-motion.d.ts.map +1 -1
- package/lib/typescript/module/hooks/use-morph-text-style.d.ts.map +1 -1
- package/lib/typescript/module/hooks/use-numeric-lanes.d.ts.map +1 -1
- package/lib/typescript/module/hooks/use-text-glyphs.d.ts +2 -1
- package/lib/typescript/module/hooks/use-text-glyphs.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +1 -3
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/model/display-units.d.ts.map +1 -1
- package/lib/typescript/module/model/numeric-lanes.d.ts.map +1 -1
- package/lib/typescript/module/model/text-keys.d.ts.map +1 -1
- package/lib/typescript/module/motion/entry-exit-builders.d.ts +13 -0
- package/lib/typescript/module/motion/entry-exit-builders.d.ts.map +1 -1
- package/lib/typescript/module/motion/preset-map.d.ts.map +1 -1
- package/lib/typescript/module/types.d.ts +12 -2
- package/lib/typescript/module/types.d.ts.map +1 -1
- package/lib/typescript/module/view/glyph-run.d.ts +5 -2
- package/lib/typescript/module/view/glyph-run.d.ts.map +1 -1
- package/lib/typescript/module/view/morph-viewport.d.ts.map +1 -1
- package/lib/typescript/module/view/number-lane.d.ts.map +1 -1
- package/lib/typescript/module/view/number-run.d.ts.map +1 -1
- package/lib/typescript/module/view/slots-run.d.ts +15 -0
- package/lib/typescript/module/view/slots-run.d.ts.map +1 -0
- package/lib/typescript/module/view/text-run.d.ts +5 -1
- package/lib/typescript/module/view/text-run.d.ts.map +1 -1
- package/package.json +11 -2
- package/src/hooks/use-display-units.ts +1 -0
- package/src/hooks/use-inline-auto-width.ts +55 -12
- package/src/hooks/use-morph-motion.ts +2 -1
- package/src/hooks/use-morph-text-style.ts +3 -0
- package/src/hooks/use-numeric-lanes.ts +1 -0
- package/src/hooks/use-text-glyphs.ts +48 -10
- package/src/index.tsx +98 -17
- package/src/model/display-units.ts +4 -1
- package/src/model/numeric-lanes.ts +3 -0
- package/src/model/text-keys.ts +3 -0
- package/src/motion/entry-exit-builders.ts +73 -0
- package/src/motion/preset-map.ts +4 -0
- package/src/types.ts +14 -2
- package/src/view/glyph-run.tsx +38 -13
- package/src/view/morph-viewport.tsx +3 -0
- package/src/view/number-lane.tsx +7 -2
- package/src/view/number-run.tsx +3 -0
- package/src/view/slots-run.tsx +385 -0
- package/src/view/text-run.tsx +77 -6
|
@@ -4,12 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.reconcileTextGlyphKeys = void 0;
|
|
7
|
+
// find the longest ordered set of shared units so edits keep nearby glyph identity
|
|
7
8
|
const computeLcsPairs = (previousUnits, nextUnits) => {
|
|
8
9
|
const previousLength = previousUnits.length;
|
|
9
10
|
const nextLength = nextUnits.length;
|
|
10
11
|
if (previousLength === 0 || nextLength === 0) {
|
|
11
12
|
return [];
|
|
12
13
|
}
|
|
14
|
+
|
|
15
|
+
// dynamic programming makes the middle edit deterministic when prefix and suffix match
|
|
13
16
|
const dp = Array.from({
|
|
14
17
|
length: previousLength + 1
|
|
15
18
|
}, () => new Array(nextLength + 1).fill(0));
|
|
@@ -37,6 +40,7 @@ const computeLcsPairs = (previousUnits, nextUnits) => {
|
|
|
37
40
|
pairs.reverse();
|
|
38
41
|
return pairs;
|
|
39
42
|
};
|
|
43
|
+
// reuse prefix, suffix, and lcs matches before allocating keys for new glyphs
|
|
40
44
|
const reconcileTextGlyphKeys = (previousUnits, nextUnits, previousKeys, seed, namespace) => {
|
|
41
45
|
const previousLength = previousUnits.length;
|
|
42
46
|
const nextLength = nextUnits.length;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["computeLcsPairs","previousUnits","nextUnits","previousLength","length","nextLength","dp","Array","from","fill","previousIndex","nextIndex","Math","max","pairs","push","reverse","reconcileTextGlyphKeys","previousKeys","seed","namespace","nextGlyphKeys","nextSeed","sharedPrefixLength","sharedSuffixLength","previousMiddleEnd","nextMiddleEnd","previousMiddleUnits","slice","nextMiddleUnits","matches","absolutePreviousIndex","absoluteNextIndex","glyphKeys","exports"],"sourceRoot":"../../../src","sources":["model/text-keys.ts"],"mappings":";;;;;;AAAA,MAAMA,eAAe,GAAGA,CACtBC,aAAgC,EAChCC,SAA4B,KACI;EAChC,MAAMC,cAAc,GAAGF,aAAa,CAACG,MAAM;EAC3C,MAAMC,UAAU,GAAGH,SAAS,CAACE,MAAM;EAEnC,IAAID,cAAc,KAAK,CAAC,IAAIE,UAAU,KAAK,CAAC,EAAE;IAC5C,OAAO,EAAE;EACX;
|
|
1
|
+
{"version":3,"names":["computeLcsPairs","previousUnits","nextUnits","previousLength","length","nextLength","dp","Array","from","fill","previousIndex","nextIndex","Math","max","pairs","push","reverse","reconcileTextGlyphKeys","previousKeys","seed","namespace","nextGlyphKeys","nextSeed","sharedPrefixLength","sharedSuffixLength","previousMiddleEnd","nextMiddleEnd","previousMiddleUnits","slice","nextMiddleUnits","matches","absolutePreviousIndex","absoluteNextIndex","glyphKeys","exports"],"sourceRoot":"../../../src","sources":["model/text-keys.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,8 +3,41 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.createShiftTransition = void 0;
|
|
6
|
+
exports.createShiftTransition = exports.createLeadingExitTransition = exports.createLeadingEnterTransition = void 0;
|
|
7
7
|
var _reactNativeReanimated = require("react-native-reanimated");
|
|
8
|
+
// leading replacements use scale while first appearance uses the regular fade path
|
|
9
|
+
const createLeadingEnterTransition = ({
|
|
10
|
+
durationMs,
|
|
11
|
+
easing
|
|
12
|
+
}) => {
|
|
13
|
+
return () => {
|
|
14
|
+
"worklet";
|
|
15
|
+
|
|
16
|
+
return {
|
|
17
|
+
initialValues: {
|
|
18
|
+
opacity: 0,
|
|
19
|
+
transform: [{
|
|
20
|
+
scale: 0.5
|
|
21
|
+
}]
|
|
22
|
+
},
|
|
23
|
+
animations: {
|
|
24
|
+
opacity: (0, _reactNativeReanimated.withTiming)(1, {
|
|
25
|
+
duration: durationMs,
|
|
26
|
+
easing
|
|
27
|
+
}),
|
|
28
|
+
transform: [{
|
|
29
|
+
scale: (0, _reactNativeReanimated.withTiming)(1, {
|
|
30
|
+
duration: durationMs,
|
|
31
|
+
easing
|
|
32
|
+
})
|
|
33
|
+
}]
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
// one builder covers glyph opacity, travel, scale, and optional stagger timing
|
|
40
|
+
exports.createLeadingEnterTransition = createLeadingEnterTransition;
|
|
8
41
|
const createShiftTransition = ({
|
|
9
42
|
delayMs = 0,
|
|
10
43
|
durationMs,
|
|
@@ -53,5 +86,49 @@ const createShiftTransition = ({
|
|
|
53
86
|
};
|
|
54
87
|
};
|
|
55
88
|
};
|
|
89
|
+
|
|
90
|
+
// the shared swap flag lets an exiting worklet read the current transition type
|
|
56
91
|
exports.createShiftTransition = createShiftTransition;
|
|
92
|
+
const createLeadingExitTransition = ({
|
|
93
|
+
durationMs,
|
|
94
|
+
easing,
|
|
95
|
+
leadingGap,
|
|
96
|
+
scale = false
|
|
97
|
+
}) => {
|
|
98
|
+
return values => {
|
|
99
|
+
"worklet";
|
|
100
|
+
|
|
101
|
+
const shouldScale = typeof scale === "object" ? scale.value > 0.5 : scale;
|
|
102
|
+
return {
|
|
103
|
+
initialValues: {
|
|
104
|
+
opacity: 1,
|
|
105
|
+
originX: values.currentOriginX,
|
|
106
|
+
...(shouldScale ? {
|
|
107
|
+
transform: [{
|
|
108
|
+
scale: 1
|
|
109
|
+
}]
|
|
110
|
+
} : {})
|
|
111
|
+
},
|
|
112
|
+
animations: {
|
|
113
|
+
opacity: (0, _reactNativeReanimated.withTiming)(0, {
|
|
114
|
+
duration: durationMs,
|
|
115
|
+
easing
|
|
116
|
+
}),
|
|
117
|
+
originX: (0, _reactNativeReanimated.withTiming)(values.currentOriginX - values.currentWidth - leadingGap, {
|
|
118
|
+
duration: durationMs,
|
|
119
|
+
easing
|
|
120
|
+
}),
|
|
121
|
+
...(shouldScale ? {
|
|
122
|
+
transform: [{
|
|
123
|
+
scale: (0, _reactNativeReanimated.withTiming)(0.5, {
|
|
124
|
+
duration: durationMs,
|
|
125
|
+
easing
|
|
126
|
+
})
|
|
127
|
+
}]
|
|
128
|
+
} : {})
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
exports.createLeadingExitTransition = createLeadingExitTransition;
|
|
57
134
|
//# sourceMappingURL=entry-exit-builders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeReanimated","require","
|
|
1
|
+
{"version":3,"names":["_reactNativeReanimated","require","createLeadingEnterTransition","durationMs","easing","initialValues","opacity","transform","scale","animations","withTiming","duration","exports","createShiftTransition","delayMs","fromOpacity","toOpacity","fromTranslateY","toTranslateY","fromScale","toScale","animate","toValue","withDelay","translateY","createLeadingExitTransition","leadingGap","values","shouldScale","value","originX","currentOriginX","currentWidth"],"sourceRoot":"../../../src","sources":["motion/entry-exit-builders.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.resolveMotionRecipe = exports.MOTION_PRESETS = void 0;
|
|
7
7
|
var _reactNativeReanimated = require("react-native-reanimated");
|
|
8
|
+
// keep all presets on one curve family so layout and glyph motion agree
|
|
8
9
|
const DEFAULT_CURVE = [0.19, 1, 0.22, 1];
|
|
9
10
|
const MOTION_PRESETS = exports.MOTION_PRESETS = {
|
|
10
11
|
default: {
|
|
@@ -27,8 +28,12 @@ const MOTION_PRESETS = exports.MOTION_PRESETS = {
|
|
|
27
28
|
bounce: 0.3
|
|
28
29
|
}
|
|
29
30
|
};
|
|
31
|
+
|
|
32
|
+
// the public preset table uses seconds while reanimated timing uses milliseconds
|
|
30
33
|
const toMilliseconds = seconds => Math.round(seconds * 1000);
|
|
31
34
|
const toDampingRatio = bounce => Math.max(0.55, Math.min(1, 1 - bounce));
|
|
35
|
+
|
|
36
|
+
// spring and timing presets share the same opacity contract
|
|
32
37
|
const createOpacityTransition = (fromOpacity, toOpacity, durationMs, easing) => {
|
|
33
38
|
return () => {
|
|
34
39
|
"worklet";
|
|
@@ -46,6 +51,8 @@ const createOpacityTransition = (fromOpacity, toOpacity, durationMs, easing) =>
|
|
|
46
51
|
};
|
|
47
52
|
};
|
|
48
53
|
};
|
|
54
|
+
|
|
55
|
+
// convert a named preset into the builders consumed by every rendering variant
|
|
49
56
|
const resolveMotionRecipe = (presetName = "default", durationOverride) => {
|
|
50
57
|
const preset = MOTION_PRESETS[presetName];
|
|
51
58
|
const durationMs = durationOverride ?? toMilliseconds(preset.duration);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeReanimated","require","DEFAULT_CURVE","MOTION_PRESETS","exports","default","duration","ease","smooth","type","bounce","snappy","bouncy","toMilliseconds","seconds","Math","round","toDampingRatio","max","min","createOpacityTransition","fromOpacity","toOpacity","durationMs","easing","initialValues","opacity","animations","withTiming","resolveMotionRecipe","presetName","durationOverride","preset","dampingRatio","Easing","bezier","layoutTransition","LinearTransition","factory","enterTransition","exitTransition","driveNumber","toValue","delayMs","animation","withSpring","overshootClamping","withDelay","timingPreset","x1","y1","x2","y2"],"sourceRoot":"../../../src","sources":["motion/preset-map.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AAeA,MAAMC,aAAa,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAU;AAE1C,MAAMC,cAGZ,GAAAC,OAAA,CAAAD,cAAA,GAAG;EACFE,OAAO,EAAE;IACPC,QAAQ,EAAE,IAAI;IACdC,IAAI,EAAEL;EACR,CAAC;EACDM,MAAM,EAAE;IACNC,IAAI,EAAE,QAAQ;IACdH,QAAQ,EAAE,GAAG;IACbI,MAAM,EAAE;EACV,CAAC;EACDC,MAAM,EAAE;IACNF,IAAI,EAAE,QAAQ;IACdH,QAAQ,EAAE,IAAI;IACdI,MAAM,EAAE;EACV,CAAC;EACDE,MAAM,EAAE;IACNH,IAAI,EAAE,QAAQ;IACdH,QAAQ,EAAE,GAAG;IACbI,MAAM,EAAE;EACV;AACF,CAAU;
|
|
1
|
+
{"version":3,"names":["_reactNativeReanimated","require","DEFAULT_CURVE","MOTION_PRESETS","exports","default","duration","ease","smooth","type","bounce","snappy","bouncy","toMilliseconds","seconds","Math","round","toDampingRatio","max","min","createOpacityTransition","fromOpacity","toOpacity","durationMs","easing","initialValues","opacity","animations","withTiming","resolveMotionRecipe","presetName","durationOverride","preset","dampingRatio","Easing","bezier","layoutTransition","LinearTransition","factory","enterTransition","exitTransition","driveNumber","toValue","delayMs","animation","withSpring","overshootClamping","withDelay","timingPreset","x1","y1","x2","y2"],"sourceRoot":"../../../src","sources":["motion/preset-map.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -25,17 +25,36 @@ const rowAlignStyles = {
|
|
|
25
25
|
alignSelf: "flex-end"
|
|
26
26
|
}
|
|
27
27
|
};
|
|
28
|
+
|
|
29
|
+
// render text and inline elements through one animated token row
|
|
28
30
|
const GlyphRun = exports.GlyphRun = /*#__PURE__*/_react.default.memo(({
|
|
29
31
|
glyphs,
|
|
30
32
|
layoutTransition,
|
|
31
33
|
enterTransition,
|
|
34
|
+
elementEnterTransition,
|
|
32
35
|
exitTransition,
|
|
36
|
+
elementExitTransition,
|
|
37
|
+
leadingGap,
|
|
33
38
|
align,
|
|
34
39
|
textStyle,
|
|
35
40
|
className
|
|
36
|
-
}) =>
|
|
41
|
+
}) =>
|
|
42
|
+
/*#__PURE__*/
|
|
43
|
+
// each token keeps its own view so reanimated can animate only changed content
|
|
44
|
+
(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
37
45
|
style: [rowStyle, rowAlignStyles[align]],
|
|
38
|
-
children: glyphs.map(glyph => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.
|
|
46
|
+
children: glyphs.map((glyph, glyphIndex) => glyph.kind === "element" ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
47
|
+
layout: layoutTransition,
|
|
48
|
+
entering: elementEnterTransition ?? enterTransition,
|
|
49
|
+
exiting: elementExitTransition ?? exitTransition,
|
|
50
|
+
style: [{
|
|
51
|
+
alignItems: "center",
|
|
52
|
+
justifyContent: "center"
|
|
53
|
+
}, glyphIndex === 0 && (leadingGap ?? 0) > 0 ? {
|
|
54
|
+
marginRight: leadingGap
|
|
55
|
+
} : undefined],
|
|
56
|
+
children: glyph.element
|
|
57
|
+
}, glyph.id) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.Text, {
|
|
39
58
|
layout: layoutTransition,
|
|
40
59
|
entering: enterTransition,
|
|
41
60
|
exiting: exitTransition,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeReanimated","_jsxRuntime","e","__esModule","default","rowStyle","flexDirection","alignItems","alignSelf","rowAlignStyles","left","center","right","GlyphRun","exports","React","memo","glyphs","layoutTransition","enterTransition","exitTransition","align","textStyle","className","jsx","View","style","children","map","glyph","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeReanimated","_jsxRuntime","e","__esModule","default","rowStyle","flexDirection","alignItems","alignSelf","rowAlignStyles","left","center","right","GlyphRun","exports","React","memo","glyphs","layoutTransition","enterTransition","elementEnterTransition","exitTransition","elementExitTransition","leadingGap","align","textStyle","className","jsx","View","style","children","map","glyph","glyphIndex","kind","layout","entering","exiting","justifyContent","marginRight","undefined","element","id","Text","value","displayName"],"sourceRoot":"../../../src","sources":["view/glyph-run.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAH,sBAAA,CAAAC,OAAA;AAA+C,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAD,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAO/C,MAAMG,QAAQ,GAAG;EACfC,aAAa,EAAE,KAAK;EACpBC,UAAU,EAAE,QAAQ;EACpBC,SAAS,EAAE;AACb,CAAU;AAEV,MAAMC,cAAc,GAAG;EACrBC,IAAI,EAAE;IAAEF,SAAS,EAAE;EAAa,CAAC;EACjCG,MAAM,EAAE;IAAEH,SAAS,EAAE;EAAS,CAAC;EAC/BI,KAAK,EAAE;IAAEJ,SAAS,EAAE;EAAW;AACjC,CAAU;;AAEV;AACO,MAAMK,QAAQ,GAAAC,OAAA,CAAAD,QAAA,gBAAGE,cAAK,CAACC,IAAI,CAChC,CAAC;EACCC,MAAM;EACNC,gBAAgB;EAChBC,eAAe;EACfC,sBAAsB;EACtBC,cAAc;EACdC,qBAAqB;EACrBC,UAAU;EACVC,KAAK;EACLC,SAAS;EACTC;AAYD,CAAC;AAAA;AACA;AACE,IAAAzB,WAAA,CAAA0B,GAAA,EAAC5B,YAAA,CAAA6B,IAAI;EAACC,KAAK,EAAE,CAACxB,QAAQ,EAAEI,cAAc,CAACe,KAAK,CAAC,CAAE;EAAAM,QAAA,EAE5Cb,MAAM,CAACc,GAAG,CAAC,CAACC,KAAK,EAAEC,UAAU,KAC5BD,KAAK,CAACE,IAAI,KAAK,SAAS,gBACtB,IAAAjC,WAAA,CAAA0B,GAAA,EAAC3B,sBAAA,CAAAI,OAAQ,CAACwB,IAAI;IAEZO,MAAM,EAAEjB,gBAAiB;IACzBkB,QAAQ,EAAEhB,sBAAsB,IAAID,eAAgB;IACpDkB,OAAO,EAAEf,qBAAqB,IAAID,cAAe;IACjDQ,KAAK,EAAE,CACL;MAAEtB,UAAU,EAAE,QAAQ;MAAE+B,cAAc,EAAE;IAAS,CAAC,EAClDL,UAAU,KAAK,CAAC,IAAI,CAACV,UAAU,IAAI,CAAC,IAAI,CAAC,GACrC;MAAEgB,WAAW,EAAEhB;IAAW,CAAC,GAC3BiB,SAAS,CACb;IAAAV,QAAA,EAEDE,KAAK,CAACS;EAAO,GAXTT,KAAK,CAACU,EAYE,CAAC,gBAEhB,IAAAzC,WAAA,CAAA0B,GAAA,EAAC3B,sBAAA,CAAAI,OAAQ,CAACuC,IAAI;IAEZR,MAAM,EAAEjB,gBAAiB;IACzBkB,QAAQ,EAAEjB,eAAgB;IAC1BkB,OAAO,EAAEhB,cAAe;IACxBQ,KAAK,EAAEJ,SAAU;IACjBC,SAAS,EAAEA,SAAU;IAAAI,QAAA,EAEpBE,KAAK,CAACY;EAAK,GAPPZ,KAAK,CAACU,EAQE,CAEnB;AAAC,CACG,CAEZ,CAAC;AAED7B,QAAQ,CAACgC,WAAW,GAAG,UAAU","ignoreList":[]}
|
|
@@ -56,6 +56,7 @@ const viewportAlignStyles = {
|
|
|
56
56
|
alignItems: "flex-end"
|
|
57
57
|
}
|
|
58
58
|
};
|
|
59
|
+
// separate hidden measurement from visible content while sharing the shell alignment
|
|
59
60
|
const MorphViewport = exports.MorphViewport = /*#__PURE__*/_react.default.memo(({
|
|
60
61
|
autoSize,
|
|
61
62
|
clipToBounds,
|
|
@@ -65,7 +66,10 @@ const MorphViewport = exports.MorphViewport = /*#__PURE__*/_react.default.memo((
|
|
|
65
66
|
measurement,
|
|
66
67
|
children
|
|
67
68
|
}) => {
|
|
69
|
+
// compute alignment once so the animated shell and its child share one layout contract
|
|
68
70
|
const resolvedViewportStyle = (0, _react.useMemo)(() => [viewportStyle, viewportAlignStyles[align], clipToBounds ? clippedViewportStyle : unclippedViewportStyle], [align, clipToBounds]);
|
|
71
|
+
|
|
72
|
+
// keep measurement outside the visible viewport so it cannot affect accessibility or layout
|
|
69
73
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
70
74
|
style: [shellStyle, shellAlignStyles[align], containerStyle],
|
|
71
75
|
children: autoSize ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_interopRequireDefault","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","shellStyle","position","alignSelf","viewportStyle","measuredContentStyle","left","top","opacity","flexShrink","clippedViewportStyle","overflow","unclippedViewportStyle","fullWidthViewportStyle","width","shellAlignStyles","center","right","viewportAlignStyles","alignItems","MorphViewport","exports","React","memo","autoSize","clipToBounds","align","containerStyle","animatedWidthStyle","measurement","children","resolvedViewportStyle","useMemo","jsx","View","style","jsxs","Fragment","accessibilityElementsHidden","collapsable","importantForAccessibility","pointerEvents","displayName"],"sourceRoot":"../../../src","sources":["view/morph-viewport.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAC,sBAAA,CAAAH,OAAA;AAA+C,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAG,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAV,uBAAA,YAAAA,CAAAM,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAG/C,MAAMgB,UAAU,GAAG;EACjBC,QAAQ,EAAE,UAAU;EACpBC,SAAS,EAAE;AACb,CAAU;AAEV,MAAMC,aAAa,GAAG;EACpBD,SAAS,EAAE;AACb,CAAU;AAEV,MAAME,oBAA+B,GAAG;EACtCH,QAAQ,EAAE,UAAU;EACpBI,IAAI,EAAE,CAAC;EACPC,GAAG,EAAE,CAAC;EACNC,OAAO,EAAE,CAAC;EACVL,SAAS,EAAE,YAAY;EACvBM,UAAU,EAAE;AACd,CAAC;AAED,MAAMC,oBAA+B,GAAG;EACtCC,QAAQ,EAAE;AACZ,CAAC;AAED,MAAMC,sBAAiC,GAAG;EACxCD,QAAQ,EAAE;AACZ,CAAC;AAED,MAAME,sBAAiC,GAAG;EACxCC,KAAK,EAAE;AACT,CAAC;AAED,MAAMC,gBAAiD,GAAG;EACxDT,IAAI,EAAE;IAAEH,SAAS,EAAE;EAAa,CAAC;EACjCa,MAAM,EAAE;IAAEb,SAAS,EAAE;EAAS,CAAC;EAC/Bc,KAAK,EAAE;IAAEd,SAAS,EAAE;EAAW;AACjC,CAAC;AAED,MAAMe,mBAAoD,GAAG;EAC3DZ,IAAI,EAAE;IAAEa,UAAU,EAAE;EAAa,CAAC;EAClCH,MAAM,EAAE;IAAEG,UAAU,EAAE;EAAS,CAAC;EAChCF,KAAK,EAAE;IAAEE,UAAU,EAAE;EAAW;AAClC,CAAC;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_interopRequireDefault","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","shellStyle","position","alignSelf","viewportStyle","measuredContentStyle","left","top","opacity","flexShrink","clippedViewportStyle","overflow","unclippedViewportStyle","fullWidthViewportStyle","width","shellAlignStyles","center","right","viewportAlignStyles","alignItems","MorphViewport","exports","React","memo","autoSize","clipToBounds","align","containerStyle","animatedWidthStyle","measurement","children","resolvedViewportStyle","useMemo","jsx","View","style","jsxs","Fragment","accessibilityElementsHidden","collapsable","importantForAccessibility","pointerEvents","displayName"],"sourceRoot":"../../../src","sources":["view/morph-viewport.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -24,6 +24,7 @@ const laneTokenStyle = {
|
|
|
24
24
|
top: 0,
|
|
25
25
|
left: 0
|
|
26
26
|
};
|
|
27
|
+
// render one place-value lane with a hidden layout probe and an animated token
|
|
27
28
|
const NumberLane = exports.NumberLane = /*#__PURE__*/_react.default.memo(({
|
|
28
29
|
unit,
|
|
29
30
|
tokenKey,
|
|
@@ -36,6 +37,7 @@ const NumberLane = exports.NumberLane = /*#__PURE__*/_react.default.memo(({
|
|
|
36
37
|
textStyle,
|
|
37
38
|
className
|
|
38
39
|
}) => {
|
|
40
|
+
// punctuation stays in place while digits travel by the shared numeric direction
|
|
39
41
|
const usesDigitTravel = (0, _displayUnits.isAsciiDigit)(unit);
|
|
40
42
|
const verticalOffset = direction > 0 ? travelDistance : direction < 0 ? -travelDistance : 0;
|
|
41
43
|
const enterTransition = (0, _react.useMemo)(() => (0, _entryExitBuilders.createShiftTransition)({
|
|
@@ -60,6 +62,8 @@ const NumberLane = exports.NumberLane = /*#__PURE__*/_react.default.memo(({
|
|
|
60
62
|
fromScale: 1,
|
|
61
63
|
toScale: 0.6
|
|
62
64
|
}), [delayMs, motionRecipe.durationMs, motionRecipe.easing, usesDigitTravel, verticalOffset]);
|
|
65
|
+
|
|
66
|
+
// prefix units do not need an absolute lane or a duplicate probe
|
|
63
67
|
if (isLead) {
|
|
64
68
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
65
69
|
style: textStyle,
|
|
@@ -68,7 +72,7 @@ const NumberLane = exports.NumberLane = /*#__PURE__*/_react.default.memo(({
|
|
|
68
72
|
});
|
|
69
73
|
}
|
|
70
74
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNativeReanimated.default.View, {
|
|
71
|
-
layout: motionRecipe.layoutTransition,
|
|
75
|
+
layout: hasAnimated ? motionRecipe.layoutTransition : undefined,
|
|
72
76
|
entering: hasAnimated ? motionRecipe.enterTransition : undefined,
|
|
73
77
|
exiting: motionRecipe.exitTransition,
|
|
74
78
|
style: laneStyle,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_interopRequireDefault","_displayUnits","_entryExitBuilders","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","laneStyle","position","alignSelf","laneProbeStyle","opacity","laneTokenStyle","top","left","NumberLane","exports","React","memo","unit","tokenKey","isLead","hasAnimated","delayMs","direction","travelDistance","motionRecipe","textStyle","className","usesDigitTravel","isAsciiDigit","verticalOffset","enterTransition","useMemo","createShiftTransition","durationMs","easing","fromOpacity","toOpacity","fromTranslateY","toTranslateY","fromScale","toScale","exitTransition","jsx","Text","style","children","jsxs","View","layout","layoutTransition","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeReanimated","_interopRequireDefault","_displayUnits","_entryExitBuilders","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","laneStyle","position","alignSelf","laneProbeStyle","opacity","laneTokenStyle","top","left","NumberLane","exports","React","memo","unit","tokenKey","isLead","hasAnimated","delayMs","direction","travelDistance","motionRecipe","textStyle","className","usesDigitTravel","isAsciiDigit","verticalOffset","enterTransition","useMemo","createShiftTransition","durationMs","easing","fromOpacity","toOpacity","fromTranslateY","toTranslateY","fromScale","toScale","exitTransition","jsx","Text","style","children","jsxs","View","layout","layoutTransition","undefined","entering","exiting","displayName"],"sourceRoot":"../../../src","sources":["view/number-lane.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -26,6 +26,7 @@ const rowAlignStyles = {
|
|
|
26
26
|
alignSelf: "flex-end"
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
|
+
// arrange numeric lanes from left to right while the hook preserves their identities
|
|
29
30
|
const NumberRun = exports.NumberRun = /*#__PURE__*/_react.default.memo(({
|
|
30
31
|
value,
|
|
31
32
|
motionRecipe,
|
|
@@ -35,6 +36,7 @@ const NumberRun = exports.NumberRun = /*#__PURE__*/_react.default.memo(({
|
|
|
35
36
|
staggerMs,
|
|
36
37
|
className
|
|
37
38
|
}) => {
|
|
39
|
+
// the hook owns lane identity while this component owns row placement and timing
|
|
38
40
|
const {
|
|
39
41
|
units,
|
|
40
42
|
laneKeys,
|
|
@@ -49,6 +51,8 @@ const NumberRun = exports.NumberRun = /*#__PURE__*/_react.default.memo(({
|
|
|
49
51
|
hasAnimatedRef.current = true;
|
|
50
52
|
lastValueRef.current = value;
|
|
51
53
|
}
|
|
54
|
+
|
|
55
|
+
// scale travel from the font while keeping a minimum visible movement
|
|
52
56
|
const travelDistance = (0, _react.useMemo)(() => Math.max(8, Math.round((fontSize ?? 16) * 0.4)), [fontSize]);
|
|
53
57
|
const hasAnimated = hasAnimatedRef.current;
|
|
54
58
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useNumericLanes","_numberLane","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","rowStyle","flexDirection","alignItems","alignSelf","rowAlignStyles","left","center","right","NumberRun","exports","React","memo","value","motionRecipe","align","fontSize","textStyle","staggerMs","className","units","laneKeys","direction","leadLength","useNumericLanes","lastValueRef","useRef","hasAnimatedRef","current","travelDistance","useMemo","Math","max","round","hasAnimated","jsx","View","style","children","map","unit","index","inLead","laneKey","length","NumberLane","tokenKey","isLead","delayMs","displayName"],"sourceRoot":"../../../src","sources":["view/number-run.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AAEA,IAAAG,WAAA,GAAAH,OAAA;AAA2C,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAM,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAE3C,MAAMkB,QAAQ,GAAG;EACfC,aAAa,EAAE,KAAK;EACpBC,UAAU,EAAE,QAAQ;EACpBC,SAAS,EAAE;AACb,CAAU;AAEV,MAAMC,cAAc,GAAG;EACrBC,IAAI,EAAE;IAAEF,SAAS,EAAE;EAAa,CAAC;EACjCG,MAAM,EAAE;IAAEH,SAAS,EAAE;EAAS,CAAC;EAC/BI,KAAK,EAAE;IAAEJ,SAAS,EAAE;EAAW;AACjC,CAAU;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_useNumericLanes","_numberLane","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","rowStyle","flexDirection","alignItems","alignSelf","rowAlignStyles","left","center","right","NumberRun","exports","React","memo","value","motionRecipe","align","fontSize","textStyle","staggerMs","className","units","laneKeys","direction","leadLength","useNumericLanes","lastValueRef","useRef","hasAnimatedRef","current","travelDistance","useMemo","Math","max","round","hasAnimated","jsx","View","style","children","map","unit","index","inLead","laneKey","length","NumberLane","tokenKey","isLead","delayMs","displayName"],"sourceRoot":"../../../src","sources":["view/number-run.tsx"],"mappings":"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","ignoreList":[]}
|