react-native-laminar 1.4.4 → 1.5.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 (109) hide show
  1. package/README.md +36 -6
  2. package/lib/commonjs/hooks/use-inline-auto-width.js +24 -1
  3. package/lib/commonjs/hooks/use-inline-auto-width.js.map +1 -1
  4. package/lib/commonjs/hooks/use-leading-animation.js +49 -0
  5. package/lib/commonjs/hooks/use-leading-animation.js.map +1 -0
  6. package/lib/commonjs/hooks/use-morph-motion.js +3 -1
  7. package/lib/commonjs/hooks/use-morph-motion.js.map +1 -1
  8. package/lib/commonjs/index.js +35 -6
  9. package/lib/commonjs/index.js.map +1 -1
  10. package/lib/commonjs/motion/preset-map.js +5 -0
  11. package/lib/commonjs/motion/preset-map.js.map +1 -1
  12. package/lib/commonjs/view/leading-element.js +37 -0
  13. package/lib/commonjs/view/leading-element.js.map +1 -0
  14. package/lib/commonjs/view/morph-viewport.js +26 -0
  15. package/lib/commonjs/view/morph-viewport.js.map +1 -1
  16. package/lib/commonjs/view/number-run.js +70 -22
  17. package/lib/commonjs/view/number-run.js.map +1 -1
  18. package/lib/commonjs/view/slot-shadow.js +77 -0
  19. package/lib/commonjs/view/slot-shadow.js.map +1 -0
  20. package/lib/commonjs/view/slots-run.js +111 -42
  21. package/lib/commonjs/view/slots-run.js.map +1 -1
  22. package/lib/commonjs/view/text-run.js +13 -24
  23. package/lib/commonjs/view/text-run.js.map +1 -1
  24. package/lib/commonjs/view/ticker-run.js +127 -0
  25. package/lib/commonjs/view/ticker-run.js.map +1 -0
  26. package/lib/module/hooks/use-inline-auto-width.js +24 -1
  27. package/lib/module/hooks/use-inline-auto-width.js.map +1 -1
  28. package/lib/module/hooks/use-leading-animation.js +44 -0
  29. package/lib/module/hooks/use-leading-animation.js.map +1 -0
  30. package/lib/module/hooks/use-morph-motion.js +3 -1
  31. package/lib/module/hooks/use-morph-motion.js.map +1 -1
  32. package/lib/module/index.js +35 -6
  33. package/lib/module/index.js.map +1 -1
  34. package/lib/module/motion/preset-map.js +5 -0
  35. package/lib/module/motion/preset-map.js.map +1 -1
  36. package/lib/module/view/leading-element.js +32 -0
  37. package/lib/module/view/leading-element.js.map +1 -0
  38. package/lib/module/view/morph-viewport.js +28 -2
  39. package/lib/module/view/morph-viewport.js.map +1 -1
  40. package/lib/module/view/number-run.js +70 -23
  41. package/lib/module/view/number-run.js.map +1 -1
  42. package/lib/module/view/slot-shadow.js +72 -0
  43. package/lib/module/view/slot-shadow.js.map +1 -0
  44. package/lib/module/view/slots-run.js +111 -42
  45. package/lib/module/view/slots-run.js.map +1 -1
  46. package/lib/module/view/text-run.js +14 -25
  47. package/lib/module/view/text-run.js.map +1 -1
  48. package/lib/module/view/ticker-run.js +121 -0
  49. package/lib/module/view/ticker-run.js.map +1 -0
  50. package/lib/typescript/commonjs/hooks/use-inline-auto-width.d.ts.map +1 -1
  51. package/lib/typescript/commonjs/hooks/use-leading-animation.d.ts +16 -0
  52. package/lib/typescript/commonjs/hooks/use-leading-animation.d.ts.map +1 -0
  53. package/lib/typescript/commonjs/hooks/use-morph-motion.d.ts +3 -2
  54. package/lib/typescript/commonjs/hooks/use-morph-motion.d.ts.map +1 -1
  55. package/lib/typescript/commonjs/index.d.ts +1 -1
  56. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  57. package/lib/typescript/commonjs/motion/preset-map.d.ts.map +1 -1
  58. package/lib/typescript/commonjs/types.d.ts +14 -2
  59. package/lib/typescript/commonjs/types.d.ts.map +1 -1
  60. package/lib/typescript/commonjs/view/leading-element.d.ts +14 -0
  61. package/lib/typescript/commonjs/view/leading-element.d.ts.map +1 -0
  62. package/lib/typescript/commonjs/view/morph-viewport.d.ts +4 -1
  63. package/lib/typescript/commonjs/view/morph-viewport.d.ts.map +1 -1
  64. package/lib/typescript/commonjs/view/number-run.d.ts +6 -2
  65. package/lib/typescript/commonjs/view/number-run.d.ts.map +1 -1
  66. package/lib/typescript/commonjs/view/slot-shadow.d.ts +11 -0
  67. package/lib/typescript/commonjs/view/slot-shadow.d.ts.map +1 -0
  68. package/lib/typescript/commonjs/view/slots-run.d.ts +8 -3
  69. package/lib/typescript/commonjs/view/slots-run.d.ts.map +1 -1
  70. package/lib/typescript/commonjs/view/text-run.d.ts.map +1 -1
  71. package/lib/typescript/commonjs/view/ticker-run.d.ts +21 -0
  72. package/lib/typescript/commonjs/view/ticker-run.d.ts.map +1 -0
  73. package/lib/typescript/module/hooks/use-inline-auto-width.d.ts.map +1 -1
  74. package/lib/typescript/module/hooks/use-leading-animation.d.ts +16 -0
  75. package/lib/typescript/module/hooks/use-leading-animation.d.ts.map +1 -0
  76. package/lib/typescript/module/hooks/use-morph-motion.d.ts +3 -2
  77. package/lib/typescript/module/hooks/use-morph-motion.d.ts.map +1 -1
  78. package/lib/typescript/module/index.d.ts +1 -1
  79. package/lib/typescript/module/index.d.ts.map +1 -1
  80. package/lib/typescript/module/motion/preset-map.d.ts.map +1 -1
  81. package/lib/typescript/module/types.d.ts +14 -2
  82. package/lib/typescript/module/types.d.ts.map +1 -1
  83. package/lib/typescript/module/view/leading-element.d.ts +14 -0
  84. package/lib/typescript/module/view/leading-element.d.ts.map +1 -0
  85. package/lib/typescript/module/view/morph-viewport.d.ts +4 -1
  86. package/lib/typescript/module/view/morph-viewport.d.ts.map +1 -1
  87. package/lib/typescript/module/view/number-run.d.ts +6 -2
  88. package/lib/typescript/module/view/number-run.d.ts.map +1 -1
  89. package/lib/typescript/module/view/slot-shadow.d.ts +11 -0
  90. package/lib/typescript/module/view/slot-shadow.d.ts.map +1 -0
  91. package/lib/typescript/module/view/slots-run.d.ts +8 -3
  92. package/lib/typescript/module/view/slots-run.d.ts.map +1 -1
  93. package/lib/typescript/module/view/text-run.d.ts.map +1 -1
  94. package/lib/typescript/module/view/ticker-run.d.ts +21 -0
  95. package/lib/typescript/module/view/ticker-run.d.ts.map +1 -0
  96. package/package.json +3 -1
  97. package/src/hooks/use-inline-auto-width.ts +33 -1
  98. package/src/hooks/use-leading-animation.ts +74 -0
  99. package/src/hooks/use-morph-motion.ts +10 -1
  100. package/src/index.tsx +44 -6
  101. package/src/motion/preset-map.ts +5 -0
  102. package/src/types.ts +17 -2
  103. package/src/view/leading-element.tsx +45 -0
  104. package/src/view/morph-viewport.tsx +39 -1
  105. package/src/view/number-run.tsx +94 -26
  106. package/src/view/slot-shadow.tsx +99 -0
  107. package/src/view/slots-run.tsx +163 -58
  108. package/src/view/text-run.tsx +14 -51
  109. package/src/view/ticker-run.tsx +167 -0
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+
3
+ import React, { useRef } from "react";
4
+ import { View } from "react-native";
5
+ import Animated from "react-native-reanimated";
6
+ import { useLeadingAnimation } from "../hooks/use-leading-animation.js";
7
+ import { useNumericLanes } from "../hooks/use-numeric-lanes.js";
8
+ import { isAsciiDigit } from "../model/display-units.js";
9
+ import { LeadingElement } from "./leading-element.js";
10
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
+ const rowStyle = {
12
+ flexDirection: "row",
13
+ alignItems: "center",
14
+ alignSelf: "flex-start"
15
+ };
16
+
17
+ // The wrapper owns the changing layout box. Keeping the Text itself out of
18
+ // the layout transition prevents a newly rendered glyph from being clipped by
19
+ // the previous glyph's narrower bounds.
20
+ const glyphSlotStyle = {
21
+ alignSelf: "flex-start"
22
+ };
23
+ const rowAlignStyles = {
24
+ left: {
25
+ alignSelf: "flex-start"
26
+ },
27
+ center: {
28
+ alignSelf: "center"
29
+ },
30
+ right: {
31
+ alignSelf: "flex-end"
32
+ }
33
+ };
34
+ // Render the data-ticker behavior from the reference: stable inline lanes and
35
+ // crisp in-place replacements. There is deliberately no reel, vertical travel,
36
+ // opacity fade, or viewport mask in this renderer.
37
+ export const TickerRun = /*#__PURE__*/React.memo(({
38
+ value,
39
+ motionRecipe,
40
+ align,
41
+ textStyle,
42
+ className,
43
+ leading,
44
+ leadingKey,
45
+ leadingGap = 0,
46
+ ready = true
47
+ }) => {
48
+ const hasDisplayedRef = useRef(false);
49
+ const displayedValueRef = useRef(value);
50
+ const displayedLeadingRef = useRef(leading);
51
+ const displayedLeadingKeyRef = useRef(leadingKey);
52
+ const displayedLeadingGapRef = useRef(leadingGap);
53
+ const shouldDisplayTarget = ready || !hasDisplayedRef.current;
54
+ const visibleValue = shouldDisplayTarget ? value : displayedValueRef.current;
55
+ const visibleLeading = shouldDisplayTarget ? leading : displayedLeadingRef.current;
56
+ const visibleLeadingKey = shouldDisplayTarget ? leadingKey : displayedLeadingKeyRef.current;
57
+ const visibleLeadingGap = shouldDisplayTarget ? leadingGap : displayedLeadingGapRef.current;
58
+ if (shouldDisplayTarget) {
59
+ hasDisplayedRef.current = true;
60
+ displayedValueRef.current = value;
61
+ displayedLeadingRef.current = leading;
62
+ displayedLeadingKeyRef.current = leadingKey;
63
+ displayedLeadingGapRef.current = leadingGap;
64
+ }
65
+ const {
66
+ elementEnterTransition,
67
+ elementExitTransition,
68
+ isLeadingChange,
69
+ isLeadingSwap
70
+ } = useLeadingAnimation({
71
+ leading: visibleLeading,
72
+ leadingKey: visibleLeadingKey,
73
+ leadingGap: visibleLeadingGap,
74
+ motionRecipe
75
+ });
76
+ const {
77
+ units,
78
+ leadLength
79
+ } = useNumericLanes(visibleValue);
80
+ const lastValueRef = useRef(visibleValue);
81
+ const hasAnimatedRef = useRef(false);
82
+ if (visibleValue !== lastValueRef.current || isLeadingChange) {
83
+ hasAnimatedRef.current = true;
84
+ lastValueRef.current = visibleValue;
85
+ }
86
+ const hasAnimated = hasAnimatedRef.current;
87
+ const bodyLength = Math.max(units.length - leadLength, 0);
88
+ return /*#__PURE__*/_jsxs(View, {
89
+ style: [rowStyle, rowAlignStyles[align]],
90
+ children: [/*#__PURE__*/_jsx(LeadingElement, {
91
+ leading: visibleLeading,
92
+ leadingKey: visibleLeadingKey,
93
+ leadingGap: visibleLeadingGap,
94
+ enterTransition: hasAnimated ? motionRecipe.enterTransition : undefined,
95
+ elementEnterTransition: isLeadingSwap ? elementEnterTransition : undefined,
96
+ exitTransition: motionRecipe.exitTransition,
97
+ elementExitTransition: elementExitTransition
98
+ }), /*#__PURE__*/_jsx(Animated.View, {
99
+ layout: isLeadingChange ? motionRecipe.layoutTransition : undefined,
100
+ style: rowStyle,
101
+ children: units.map((unit, index) => {
102
+ const inLead = index < leadLength;
103
+ const bodyIndex = index - leadLength;
104
+ const isDigit = !inLead && isAsciiDigit(unit);
105
+ const laneKey = inLead ? `flow:lead:${index}` : `flow:${bodyLength - 1 - bodyIndex}`;
106
+ const unitKey = isDigit ? laneKey : `${laneKey}:${unit}`;
107
+ return /*#__PURE__*/_jsx(Animated.View, {
108
+ layout: hasAnimated ? motionRecipe.layoutTransition : undefined,
109
+ style: glyphSlotStyle,
110
+ children: /*#__PURE__*/_jsx(Animated.Text, {
111
+ style: textStyle,
112
+ className: className,
113
+ children: unit
114
+ })
115
+ }, unitKey);
116
+ })
117
+ })]
118
+ });
119
+ });
120
+ TickerRun.displayName = "TickerRun";
121
+ //# sourceMappingURL=ticker-run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useRef","View","Animated","useLeadingAnimation","useNumericLanes","isAsciiDigit","LeadingElement","jsx","_jsx","jsxs","_jsxs","rowStyle","flexDirection","alignItems","alignSelf","glyphSlotStyle","rowAlignStyles","left","center","right","TickerRun","memo","value","motionRecipe","align","textStyle","className","leading","leadingKey","leadingGap","ready","hasDisplayedRef","displayedValueRef","displayedLeadingRef","displayedLeadingKeyRef","displayedLeadingGapRef","shouldDisplayTarget","current","visibleValue","visibleLeading","visibleLeadingKey","visibleLeadingGap","elementEnterTransition","elementExitTransition","isLeadingChange","isLeadingSwap","units","leadLength","lastValueRef","hasAnimatedRef","hasAnimated","bodyLength","Math","max","length","style","children","enterTransition","undefined","exitTransition","layout","layoutTransition","map","unit","index","inLead","bodyIndex","isDigit","laneKey","unitKey","Text","displayName"],"sourceRoot":"../../../src","sources":["view/ticker-run.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"use-inline-auto-width.d.ts","sourceRoot":"","sources":["../../../../src/hooks/use-inline-auto-width.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtD,KAAK,MAAM,GAAG;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAUF,eAAO,MAAM,kBAAkB,GAAI,4CAIhC,MAAM;2BAyGG,iBAAiB;kCAlCjB,iBAAiB;;;;;;;;CA8I5B,CAAC"}
1
+ {"version":3,"file":"use-inline-auto-width.d.ts","sourceRoot":"","sources":["../../../../src/hooks/use-inline-auto-width.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtD,KAAK,MAAM,GAAG;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAUF,eAAO,MAAM,kBAAkB,GAAI,4CAIhC,MAAM;2BAyIG,iBAAiB;kCA5DjB,iBAAiB;;;;;;;;CAwK5B,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { type ReactNode } from "react";
2
+ import type { MotionRecipe } from "../types";
3
+ type UseLeadingAnimationParams = {
4
+ readonly leading?: ReactNode;
5
+ readonly leadingKey?: string | number;
6
+ readonly leadingGap: number;
7
+ readonly motionRecipe: MotionRecipe;
8
+ };
9
+ export declare const useLeadingAnimation: ({ leading, leadingKey, leadingGap, motionRecipe, }: UseLeadingAnimationParams) => {
10
+ elementEnterTransition: import("react-native-reanimated").EntryExitAnimationFunction;
11
+ elementExitTransition: import("react-native-reanimated").EntryExitAnimationFunction;
12
+ isLeadingChange: boolean;
13
+ isLeadingSwap: boolean;
14
+ };
15
+ export {};
16
+ //# sourceMappingURL=use-leading-animation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-leading-animation.d.ts","sourceRoot":"","sources":["../../../../src/hooks/use-leading-animation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAMzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,KAAK,yBAAyB,GAAG;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;CACrC,CAAC;AAGF,eAAO,MAAM,mBAAmB,GAAI,oDAKjC,yBAAyB;;;;;CAoD3B,CAAC"}
@@ -1,6 +1,7 @@
1
- import type { MotionRecipe, MorphAnimationPresetName, MorphContentVariant } from "../types";
1
+ import type { MotionRecipe, MorphAnimationPresetName, MorphContentVariant, MorphNumberMode } from "../types";
2
2
  type Params = {
3
3
  readonly variant: MorphContentVariant;
4
+ readonly numberMode?: MorphNumberMode;
4
5
  readonly animationPreset?: MorphAnimationPresetName;
5
6
  readonly animationDuration?: number;
6
7
  readonly stagger: number;
@@ -9,6 +10,6 @@ type MorphMotion = {
9
10
  readonly motionRecipe: MotionRecipe;
10
11
  readonly staggerMs: number;
11
12
  };
12
- export declare const useMorphMotion: ({ variant, animationPreset, animationDuration, stagger, }: Params) => MorphMotion;
13
+ export declare const useMorphMotion: ({ variant, numberMode, animationPreset, animationDuration, stagger, }: Params) => MorphMotion;
13
14
  export {};
14
15
  //# sourceMappingURL=use-morph-motion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-morph-motion.d.ts","sourceRoot":"","sources":["../../../../src/hooks/use-morph-motion.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAElB,KAAK,MAAM,GAAG;IACZ,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,eAAe,CAAC,EAAE,wBAAwB,CAAC;IACpD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;AAGF,eAAO,MAAM,cAAc,GAAI,2DAK5B,MAAM,KAAG,WAcX,CAAC"}
1
+ {"version":3,"file":"use-morph-motion.d.ts","sourceRoot":"","sources":["../../../../src/hooks/use-morph-motion.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EAChB,MAAM,UAAU,CAAC;AAElB,KAAK,MAAM,GAAG;IACZ,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,eAAe,CAAC,EAAE,wBAAwB,CAAC;IACpD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;AAGF,eAAO,MAAM,cAAc,GAAI,uEAM5B,MAAM,KAAG,WAoBX,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
2
  import type { MorphingTextProps } from "./types";
3
3
  export declare const Laminar: React.NamedExoticComponent<Readonly<MorphingTextProps>>;
4
- export type { LaminarAlign, LaminarLeadingMap, LaminarProps, MorphAnimationPresetName, MorphContentVariant, MorphingTextProps, } from "./types";
4
+ export type { LaminarAlign, LaminarLeadingMap, LaminarShadow, LaminarShadowOptions, LaminarProps, MorphAnimationPresetName, MorphContentVariant, MorphNumberMode, MorphingTextProps, } from "./types";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,KAAK,EAAqB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAOpE,eAAO,MAAM,OAAO,yDA+JhB,CAAC;AAcL,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,KAAK,EAAqB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAQpE,eAAO,MAAM,OAAO,yDAiMhB,CAAC;AAcL,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,GAClB,MAAM,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"preset-map.d.ts","sourceRoot":"","sources":["../../../../src/motion/preset-map.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAKlB,eAAO,MAAM,cAAc,EAAE,MAAM,CACjC,wBAAwB,EACxB,oBAAoB,CAqBZ,CAAC;AAiCX,eAAO,MAAM,mBAAmB,GAC9B,aAAY,wBAAoC,EAChD,mBAAmB,MAAM,KACxB,YAqDF,CAAC"}
1
+ {"version":3,"file":"preset-map.d.ts","sourceRoot":"","sources":["../../../../src/motion/preset-map.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAMlB,eAAO,MAAM,cAAc,EAAE,MAAM,CACjC,wBAAwB,EACxB,oBAAoB,CAyBZ,CAAC;AAiCX,eAAO,MAAM,mBAAmB,GAC9B,aAAY,wBAAoC,EAChD,mBAAmB,MAAM,KACxB,YAqDF,CAAC"}
@@ -1,10 +1,18 @@
1
1
  import type { ReactNode } from "react";
2
2
  import type { StyleProp, TextStyle, ViewStyle } from "react-native";
3
3
  import type { ComplexAnimationBuilder, EntryExitAnimationFunction, WithTimingConfig } from "react-native-reanimated";
4
- export type MorphAnimationPresetName = "default" | "smooth" | "snappy" | "bouncy";
4
+ export type MorphAnimationPresetName = "default" | "smooth" | "snappy" | "bouncy" | "ticker";
5
5
  export type MorphContentVariant = "text" | "number" | "slots";
6
+ export type MorphNumberMode = "morph" | "ticker";
6
7
  export type LaminarAlign = "left" | "center" | "right";
7
8
  export type LaminarLeadingMap = Readonly<Record<string, ReactNode>>;
9
+ export type LaminarShadowOptions = {
10
+ /** surface color used by the alpha mask when a platform requires it */
11
+ readonly color?: string;
12
+ /** fade depth in pixels; defaults to roughly one third of the viewport */
13
+ readonly size?: number;
14
+ };
15
+ export type LaminarShadow = boolean | LaminarShadowOptions;
8
16
  type CubicBezierTuple = readonly [number, number, number, number];
9
17
  export type MorphAnimationPreset = {
10
18
  readonly duration: number;
@@ -32,16 +40,20 @@ export type MotionRecipe = {
32
40
  export type MorphingTextProps = {
33
41
  readonly text: string | number;
34
42
  readonly variant?: MorphContentVariant;
43
+ /** number-only renderer mode; ticker uses crisp in-place digit flow */
44
+ readonly numberMode?: MorphNumberMode;
35
45
  readonly fontSize?: number;
36
46
  readonly color?: string;
37
47
  readonly align?: LaminarAlign;
38
48
  readonly className?: string;
39
- /** optional inline element reconciled and animated as the leading token */
49
+ /** optional inline element reconciled and animated before the rendered value */
40
50
  readonly leading?: ReactNode | LaminarLeadingMap;
41
51
  /** identity for swapping one leading element for another */
42
52
  readonly leadingKey?: string | number;
43
53
  /** spacing between the leading element and the first text glyph */
44
54
  readonly leadingGap?: number;
55
+ /** opt-in top and bottom fades for slot reels */
56
+ readonly shadow?: LaminarShadow;
45
57
  readonly style?: StyleProp<TextStyle>;
46
58
  readonly containerStyle?: StyleProp<ViewStyle>;
47
59
  readonly fontStyle?: StyleProp<TextStyle>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import React, { type ReactNode } from "react";
2
+ import { type EntryExitAnimationFunction } from "react-native-reanimated";
3
+ type LeadingElementProps = {
4
+ readonly leading?: ReactNode;
5
+ readonly leadingKey?: string | number;
6
+ readonly leadingGap: number;
7
+ readonly enterTransition?: EntryExitAnimationFunction;
8
+ readonly elementEnterTransition?: EntryExitAnimationFunction;
9
+ readonly exitTransition?: EntryExitAnimationFunction;
10
+ readonly elementExitTransition?: EntryExitAnimationFunction;
11
+ };
12
+ export declare const LeadingElement: React.NamedExoticComponent<LeadingElementProps>;
13
+ export {};
14
+ //# sourceMappingURL=leading-element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leading-element.d.ts","sourceRoot":"","sources":["../../../../src/view/leading-element.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAiB,EACf,KAAK,0BAA0B,EAChC,MAAM,yBAAyB,CAAC;AAEjC,KAAK,mBAAmB,GAAG;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,CAAC,EAAE,0BAA0B,CAAC;IACtD,QAAQ,CAAC,sBAAsB,CAAC,EAAE,0BAA0B,CAAC;IAC7D,QAAQ,CAAC,cAAc,CAAC,EAAE,0BAA0B,CAAC;IACrD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,0BAA0B,CAAC;CAC7D,CAAC;AAGF,eAAO,MAAM,cAAc,iDA0BzB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
2
  import type { LayoutChangeEvent, StyleProp, ViewStyle } from "react-native";
3
3
  import Animated from "react-native-reanimated";
4
+ import type { ComplexAnimationBuilder } from "react-native-reanimated";
4
5
  import type { LaminarAlign } from "../types";
5
6
  type MorphViewportProps = {
6
7
  readonly autoSize: boolean;
@@ -8,10 +9,12 @@ type MorphViewportProps = {
8
9
  readonly align: LaminarAlign;
9
10
  readonly containerStyle?: StyleProp<ViewStyle>;
10
11
  readonly animatedWidthStyle?: React.ComponentProps<typeof Animated.View>["style"];
12
+ /** optional layout-driven auto-size path for content that needs an aligned anchor */
13
+ readonly autoSizeLayoutTransition?: ComplexAnimationBuilder;
11
14
  readonly onVisibleLayout?: (event: LayoutChangeEvent) => void;
12
15
  readonly measurement?: React.ReactNode;
13
16
  readonly children: React.ReactNode;
14
17
  };
15
- export declare const MorphViewport: React.MemoExoticComponent<({ autoSize, clipToBounds, align, containerStyle, animatedWidthStyle, onVisibleLayout, measurement, children, }: MorphViewportProps) => React.JSX.Element>;
18
+ export declare const MorphViewport: React.MemoExoticComponent<({ autoSize, clipToBounds, align, containerStyle, animatedWidthStyle, autoSizeLayoutTransition, onVisibleLayout, measurement, children, }: MorphViewportProps) => React.JSX.Element>;
16
19
  export {};
17
20
  //# sourceMappingURL=morph-viewport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"morph-viewport.d.ts","sourceRoot":"","sources":["../../../../src/view/morph-viewport.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE5E,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AA4C7C,KAAK,kBAAkB,GAAG;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC/C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;IAClF,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CACpC,CAAC;AAGF,eAAO,MAAM,aAAa,6IAUrB,kBAAkB,uBAwCtB,CAAC"}
1
+ {"version":3,"file":"morph-viewport.d.ts","sourceRoot":"","sources":["../../../../src/view/morph-viewport.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE5E,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AA4C7C,KAAK,kBAAkB,GAAG;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC/C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;IAClF,qFAAqF;IACrF,QAAQ,CAAC,wBAAwB,CAAC,EAAE,uBAAuB,CAAC;IAC5D,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CACpC,CAAC;AAGF,eAAO,MAAM,aAAa,uKAWrB,kBAAkB,uBA0EtB,CAAC"}
@@ -1,4 +1,4 @@
1
- import React from "react";
1
+ import React, { type ReactNode } from "react";
2
2
  import { type StyleProp, type TextStyle } from "react-native";
3
3
  import type { LaminarAlign, MotionRecipe } from "../types";
4
4
  type NumberRunProps = {
@@ -9,7 +9,11 @@ type NumberRunProps = {
9
9
  readonly textStyle?: StyleProp<TextStyle>;
10
10
  readonly staggerMs: number;
11
11
  readonly className?: string;
12
+ readonly leading?: ReactNode;
13
+ readonly leadingKey?: string | number;
14
+ readonly leadingGap?: number;
15
+ readonly ready?: boolean;
12
16
  };
13
- export declare const NumberRun: React.MemoExoticComponent<({ value, motionRecipe, align, fontSize, textStyle, staggerMs, className, }: Readonly<NumberRunProps>) => React.JSX.Element>;
17
+ export declare const NumberRun: React.MemoExoticComponent<({ value, motionRecipe, align, fontSize, textStyle, staggerMs, className, leading, leadingKey, leadingGap, ready, }: Readonly<NumberRunProps>) => React.JSX.Element>;
14
18
  export {};
15
19
  //# sourceMappingURL=number-run.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"number-run.d.ts","sourceRoot":"","sources":["../../../../src/view/number-run.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAC/C,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAQ,MAAM,cAAc,CAAC;AAEpE,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAe3D,KAAK,cAAc,GAAG;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAGF,eAAO,MAAM,SAAS,yGASjB,QAAQ,CAAC,cAAc,CAAC,uBA8C5B,CAAC"}
1
+ {"version":3,"file":"number-run.d.ts","sourceRoot":"","sources":["../../../../src/view/number-run.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAmB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAQ,MAAM,cAAc,CAAC;AAIpE,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAgB3D,KAAK,cAAc,GAAG;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAGF,eAAO,MAAM,SAAS,iJAajB,QAAQ,CAAC,cAAc,CAAC,uBAuG5B,CAAC"}
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ type SlotShadowProps = {
3
+ readonly slotHeight: number;
4
+ readonly viewportHeight: number;
5
+ readonly color?: string;
6
+ readonly size?: number;
7
+ readonly children: React.ReactElement;
8
+ };
9
+ export declare const SlotShadow: React.NamedExoticComponent<SlotShadowProps>;
10
+ export {};
11
+ //# sourceMappingURL=slot-shadow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slot-shadow.d.ts","sourceRoot":"","sources":["../../../../src/view/slot-shadow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAkD1B,KAAK,eAAe,GAAG;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;CACvC,CAAC;AAIF,eAAO,MAAM,UAAU,6CA+BrB,CAAC"}
@@ -1,6 +1,6 @@
1
- import React from "react";
1
+ import React, { type ReactNode } from "react";
2
2
  import { type StyleProp, type TextStyle } from "react-native";
3
- import type { LaminarAlign, MotionRecipe } from "../types";
3
+ import type { LaminarAlign, LaminarShadow, MotionRecipe } from "../types";
4
4
  type SlotsRunProps = {
5
5
  readonly value: string;
6
6
  readonly motionRecipe: MotionRecipe;
@@ -9,7 +9,12 @@ type SlotsRunProps = {
9
9
  readonly textStyle?: StyleProp<TextStyle>;
10
10
  readonly staggerMs: number;
11
11
  readonly className?: string;
12
+ readonly leading?: ReactNode;
13
+ readonly leadingKey?: string | number;
14
+ readonly leadingGap?: number;
15
+ readonly ready?: boolean;
16
+ readonly shadow?: LaminarShadow;
12
17
  };
13
- export declare const SlotsRun: React.MemoExoticComponent<({ value, motionRecipe, align, fontSize, textStyle, staggerMs, className, }: Readonly<SlotsRunProps>) => React.JSX.Element>;
18
+ export declare const SlotsRun: React.MemoExoticComponent<({ value, motionRecipe, align, fontSize, textStyle, staggerMs, className, leading, leadingKey, leadingGap, ready, shadow, }: Readonly<SlotsRunProps>) => React.JSX.Element>;
14
19
  export {};
15
20
  //# sourceMappingURL=slots-run.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"slots-run.d.ts","sourceRoot":"","sources":["../../../../src/view/slots-run.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqC,MAAM,OAAO,CAAC;AAC1D,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EAEf,MAAM,cAAc,CAAC;AAQtB,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAwB,MAAM,UAAU,CAAC;AAmQjF,KAAK,aAAa,GAAG;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAGF,eAAO,MAAM,QAAQ,yGAShB,QAAQ,CAAC,aAAa,CAAC,uBAwF3B,CAAC"}
1
+ {"version":3,"file":"slots-run.d.ts","sourceRoot":"","sources":["../../../../src/view/slots-run.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA8B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,SAAS,EAEf,MAAM,cAAc,CAAC;AAStB,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,YAAY,EAEb,MAAM,UAAU,CAAC;AAqSlB,KAAK,aAAa,GAAG;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;CACjC,CAAC;AAGF,eAAO,MAAM,QAAQ,yJAchB,QAAQ,CAAC,aAAa,CAAC,uBA+I3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"text-run.d.ts","sourceRoot":"","sources":["../../../../src/view/text-run.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAOzD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG3D,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAGF,eAAO,MAAM,OAAO,gJAYf,YAAY,uBAsHhB,CAAC"}
1
+ {"version":3,"file":"text-run.d.ts","sourceRoot":"","sources":["../../../../src/view/text-run.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG3D,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAGF,eAAO,MAAM,OAAO,gJAYf,YAAY,uBAqFhB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import React, { type ReactNode } from "react";
2
+ import { type StyleProp, type TextStyle } from "react-native";
3
+ import type { LaminarAlign, LaminarShadow, MotionRecipe } from "../types";
4
+ type TickerRunProps = {
5
+ readonly value: string;
6
+ readonly motionRecipe: MotionRecipe;
7
+ readonly align: LaminarAlign;
8
+ readonly fontSize?: number;
9
+ readonly textStyle?: StyleProp<TextStyle>;
10
+ readonly staggerMs: number;
11
+ readonly className?: string;
12
+ readonly leading?: ReactNode;
13
+ readonly leadingKey?: string | number;
14
+ readonly leadingGap?: number;
15
+ readonly ready?: boolean;
16
+ /** accepted for API compatibility; flow values stay crisp and unmasked */
17
+ readonly shadow?: LaminarShadow;
18
+ };
19
+ export declare const TickerRun: React.MemoExoticComponent<({ value, motionRecipe, align, textStyle, className, leading, leadingKey, leadingGap, ready, }: Readonly<TickerRunProps>) => React.JSX.Element>;
20
+ export {};
21
+ //# sourceMappingURL=ticker-run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticker-run.d.ts","sourceRoot":"","sources":["../../../../src/view/ticker-run.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAU,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAQ,MAAM,cAAc,CAAC;AAKpE,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,YAAY,EACb,MAAM,UAAU,CAAC;AAsBlB,KAAK,cAAc,GAAG;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;CACjC,CAAC;AAKF,eAAO,MAAM,SAAS,4HAWjB,QAAQ,CAAC,cAAc,CAAC,uBAsG5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-inline-auto-width.d.ts","sourceRoot":"","sources":["../../../../src/hooks/use-inline-auto-width.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtD,KAAK,MAAM,GAAG;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAUF,eAAO,MAAM,kBAAkB,GAAI,4CAIhC,MAAM;2BAyGG,iBAAiB;kCAlCjB,iBAAiB;;;;;;;;CA8I5B,CAAC"}
1
+ {"version":3,"file":"use-inline-auto-width.d.ts","sourceRoot":"","sources":["../../../../src/hooks/use-inline-auto-width.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtD,KAAK,MAAM,GAAG;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAUF,eAAO,MAAM,kBAAkB,GAAI,4CAIhC,MAAM;2BAyIG,iBAAiB;kCA5DjB,iBAAiB;;;;;;;;CAwK5B,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { type ReactNode } from "react";
2
+ import type { MotionRecipe } from "../types";
3
+ type UseLeadingAnimationParams = {
4
+ readonly leading?: ReactNode;
5
+ readonly leadingKey?: string | number;
6
+ readonly leadingGap: number;
7
+ readonly motionRecipe: MotionRecipe;
8
+ };
9
+ export declare const useLeadingAnimation: ({ leading, leadingKey, leadingGap, motionRecipe, }: UseLeadingAnimationParams) => {
10
+ elementEnterTransition: import("react-native-reanimated").EntryExitAnimationFunction;
11
+ elementExitTransition: import("react-native-reanimated").EntryExitAnimationFunction;
12
+ isLeadingChange: boolean;
13
+ isLeadingSwap: boolean;
14
+ };
15
+ export {};
16
+ //# sourceMappingURL=use-leading-animation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-leading-animation.d.ts","sourceRoot":"","sources":["../../../../src/hooks/use-leading-animation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAMzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,KAAK,yBAAyB,GAAG;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;CACrC,CAAC;AAGF,eAAO,MAAM,mBAAmB,GAAI,oDAKjC,yBAAyB;;;;;CAoD3B,CAAC"}
@@ -1,6 +1,7 @@
1
- import type { MotionRecipe, MorphAnimationPresetName, MorphContentVariant } from "../types";
1
+ import type { MotionRecipe, MorphAnimationPresetName, MorphContentVariant, MorphNumberMode } from "../types";
2
2
  type Params = {
3
3
  readonly variant: MorphContentVariant;
4
+ readonly numberMode?: MorphNumberMode;
4
5
  readonly animationPreset?: MorphAnimationPresetName;
5
6
  readonly animationDuration?: number;
6
7
  readonly stagger: number;
@@ -9,6 +10,6 @@ type MorphMotion = {
9
10
  readonly motionRecipe: MotionRecipe;
10
11
  readonly staggerMs: number;
11
12
  };
12
- export declare const useMorphMotion: ({ variant, animationPreset, animationDuration, stagger, }: Params) => MorphMotion;
13
+ export declare const useMorphMotion: ({ variant, numberMode, animationPreset, animationDuration, stagger, }: Params) => MorphMotion;
13
14
  export {};
14
15
  //# sourceMappingURL=use-morph-motion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-morph-motion.d.ts","sourceRoot":"","sources":["../../../../src/hooks/use-morph-motion.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAElB,KAAK,MAAM,GAAG;IACZ,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,eAAe,CAAC,EAAE,wBAAwB,CAAC;IACpD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;AAGF,eAAO,MAAM,cAAc,GAAI,2DAK5B,MAAM,KAAG,WAcX,CAAC"}
1
+ {"version":3,"file":"use-morph-motion.d.ts","sourceRoot":"","sources":["../../../../src/hooks/use-morph-motion.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EAChB,MAAM,UAAU,CAAC;AAElB,KAAK,MAAM,GAAG;IACZ,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,eAAe,CAAC,EAAE,wBAAwB,CAAC;IACpD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,CAAC;AAGF,eAAO,MAAM,cAAc,GAAI,uEAM5B,MAAM,KAAG,WAoBX,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
2
  import type { MorphingTextProps } from "./types";
3
3
  export declare const Laminar: React.NamedExoticComponent<Readonly<MorphingTextProps>>;
4
- export type { LaminarAlign, LaminarLeadingMap, LaminarProps, MorphAnimationPresetName, MorphContentVariant, MorphingTextProps, } from "./types";
4
+ export type { LaminarAlign, LaminarLeadingMap, LaminarShadow, LaminarShadowOptions, LaminarProps, MorphAnimationPresetName, MorphContentVariant, MorphNumberMode, MorphingTextProps, } from "./types";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,KAAK,EAAqB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAOpE,eAAO,MAAM,OAAO,yDA+JhB,CAAC;AAcL,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,OAAO,KAAK,EAAqB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAQpE,eAAO,MAAM,OAAO,yDAiMhB,CAAC;AAcL,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,wBAAwB,EACxB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,GAClB,MAAM,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"preset-map.d.ts","sourceRoot":"","sources":["../../../../src/motion/preset-map.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAKlB,eAAO,MAAM,cAAc,EAAE,MAAM,CACjC,wBAAwB,EACxB,oBAAoB,CAqBZ,CAAC;AAiCX,eAAO,MAAM,mBAAmB,GAC9B,aAAY,wBAAoC,EAChD,mBAAmB,MAAM,KACxB,YAqDF,CAAC"}
1
+ {"version":3,"file":"preset-map.d.ts","sourceRoot":"","sources":["../../../../src/motion/preset-map.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,UAAU,CAAC;AAMlB,eAAO,MAAM,cAAc,EAAE,MAAM,CACjC,wBAAwB,EACxB,oBAAoB,CAyBZ,CAAC;AAiCX,eAAO,MAAM,mBAAmB,GAC9B,aAAY,wBAAoC,EAChD,mBAAmB,MAAM,KACxB,YAqDF,CAAC"}
@@ -1,10 +1,18 @@
1
1
  import type { ReactNode } from "react";
2
2
  import type { StyleProp, TextStyle, ViewStyle } from "react-native";
3
3
  import type { ComplexAnimationBuilder, EntryExitAnimationFunction, WithTimingConfig } from "react-native-reanimated";
4
- export type MorphAnimationPresetName = "default" | "smooth" | "snappy" | "bouncy";
4
+ export type MorphAnimationPresetName = "default" | "smooth" | "snappy" | "bouncy" | "ticker";
5
5
  export type MorphContentVariant = "text" | "number" | "slots";
6
+ export type MorphNumberMode = "morph" | "ticker";
6
7
  export type LaminarAlign = "left" | "center" | "right";
7
8
  export type LaminarLeadingMap = Readonly<Record<string, ReactNode>>;
9
+ export type LaminarShadowOptions = {
10
+ /** surface color used by the alpha mask when a platform requires it */
11
+ readonly color?: string;
12
+ /** fade depth in pixels; defaults to roughly one third of the viewport */
13
+ readonly size?: number;
14
+ };
15
+ export type LaminarShadow = boolean | LaminarShadowOptions;
8
16
  type CubicBezierTuple = readonly [number, number, number, number];
9
17
  export type MorphAnimationPreset = {
10
18
  readonly duration: number;
@@ -32,16 +40,20 @@ export type MotionRecipe = {
32
40
  export type MorphingTextProps = {
33
41
  readonly text: string | number;
34
42
  readonly variant?: MorphContentVariant;
43
+ /** number-only renderer mode; ticker uses crisp in-place digit flow */
44
+ readonly numberMode?: MorphNumberMode;
35
45
  readonly fontSize?: number;
36
46
  readonly color?: string;
37
47
  readonly align?: LaminarAlign;
38
48
  readonly className?: string;
39
- /** optional inline element reconciled and animated as the leading token */
49
+ /** optional inline element reconciled and animated before the rendered value */
40
50
  readonly leading?: ReactNode | LaminarLeadingMap;
41
51
  /** identity for swapping one leading element for another */
42
52
  readonly leadingKey?: string | number;
43
53
  /** spacing between the leading element and the first text glyph */
44
54
  readonly leadingGap?: number;
55
+ /** opt-in top and bottom fades for slot reels */
56
+ readonly shadow?: LaminarShadow;
45
57
  readonly style?: StyleProp<TextStyle>;
46
58
  readonly containerStyle?: StyleProp<ViewStyle>;
47
59
  readonly fontStyle?: StyleProp<TextStyle>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import React, { type ReactNode } from "react";
2
+ import { type EntryExitAnimationFunction } from "react-native-reanimated";
3
+ type LeadingElementProps = {
4
+ readonly leading?: ReactNode;
5
+ readonly leadingKey?: string | number;
6
+ readonly leadingGap: number;
7
+ readonly enterTransition?: EntryExitAnimationFunction;
8
+ readonly elementEnterTransition?: EntryExitAnimationFunction;
9
+ readonly exitTransition?: EntryExitAnimationFunction;
10
+ readonly elementExitTransition?: EntryExitAnimationFunction;
11
+ };
12
+ export declare const LeadingElement: React.NamedExoticComponent<LeadingElementProps>;
13
+ export {};
14
+ //# sourceMappingURL=leading-element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"leading-element.d.ts","sourceRoot":"","sources":["../../../../src/view/leading-element.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAiB,EACf,KAAK,0BAA0B,EAChC,MAAM,yBAAyB,CAAC;AAEjC,KAAK,mBAAmB,GAAG;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,CAAC,EAAE,0BAA0B,CAAC;IACtD,QAAQ,CAAC,sBAAsB,CAAC,EAAE,0BAA0B,CAAC;IAC7D,QAAQ,CAAC,cAAc,CAAC,EAAE,0BAA0B,CAAC;IACrD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,0BAA0B,CAAC;CAC7D,CAAC;AAGF,eAAO,MAAM,cAAc,iDA0BzB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
2
  import type { LayoutChangeEvent, StyleProp, ViewStyle } from "react-native";
3
3
  import Animated from "react-native-reanimated";
4
+ import type { ComplexAnimationBuilder } from "react-native-reanimated";
4
5
  import type { LaminarAlign } from "../types";
5
6
  type MorphViewportProps = {
6
7
  readonly autoSize: boolean;
@@ -8,10 +9,12 @@ type MorphViewportProps = {
8
9
  readonly align: LaminarAlign;
9
10
  readonly containerStyle?: StyleProp<ViewStyle>;
10
11
  readonly animatedWidthStyle?: React.ComponentProps<typeof Animated.View>["style"];
12
+ /** optional layout-driven auto-size path for content that needs an aligned anchor */
13
+ readonly autoSizeLayoutTransition?: ComplexAnimationBuilder;
11
14
  readonly onVisibleLayout?: (event: LayoutChangeEvent) => void;
12
15
  readonly measurement?: React.ReactNode;
13
16
  readonly children: React.ReactNode;
14
17
  };
15
- export declare const MorphViewport: React.MemoExoticComponent<({ autoSize, clipToBounds, align, containerStyle, animatedWidthStyle, onVisibleLayout, measurement, children, }: MorphViewportProps) => React.JSX.Element>;
18
+ export declare const MorphViewport: React.MemoExoticComponent<({ autoSize, clipToBounds, align, containerStyle, animatedWidthStyle, autoSizeLayoutTransition, onVisibleLayout, measurement, children, }: MorphViewportProps) => React.JSX.Element>;
16
19
  export {};
17
20
  //# sourceMappingURL=morph-viewport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"morph-viewport.d.ts","sourceRoot":"","sources":["../../../../src/view/morph-viewport.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE5E,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AA4C7C,KAAK,kBAAkB,GAAG;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC/C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;IAClF,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CACpC,CAAC;AAGF,eAAO,MAAM,aAAa,6IAUrB,kBAAkB,uBAwCtB,CAAC"}
1
+ {"version":3,"file":"morph-viewport.d.ts","sourceRoot":"","sources":["../../../../src/view/morph-viewport.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE5E,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AA4C7C,KAAK,kBAAkB,GAAG;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC/C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;IAClF,qFAAqF;IACrF,QAAQ,CAAC,wBAAwB,CAAC,EAAE,uBAAuB,CAAC;IAC5D,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CACpC,CAAC;AAGF,eAAO,MAAM,aAAa,uKAWrB,kBAAkB,uBA0EtB,CAAC"}