react-native-screen-transitions 3.6.0-alpha.4 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +94 -13
- package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js +4 -1
- package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/types.js +4 -0
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +85 -28
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js +5 -4
- package/lib/commonjs/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js.map +1 -1
- package/lib/commonjs/shared/providers/screen/styles/styles.provider.js +2 -2
- package/lib/commonjs/shared/providers/screen/styles/styles.provider.js.map +1 -1
- package/lib/commonjs/shared/stores/bounds/internals/links.js +18 -3
- package/lib/commonjs/shared/stores/bounds/internals/links.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js +52 -52
- package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
- package/lib/commonjs/shared/utils/bounds/navigation/zoom/config.js +1 -1
- package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +95 -14
- package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js +4 -1
- package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/types.js +2 -0
- package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +84 -28
- package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js +5 -4
- package/lib/module/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js.map +1 -1
- package/lib/module/shared/providers/screen/styles/styles.provider.js +2 -2
- package/lib/module/shared/providers/screen/styles/styles.provider.js.map +1 -1
- package/lib/module/shared/stores/bounds/internals/links.js +18 -3
- package/lib/module/shared/stores/bounds/internals/links.js.map +1 -1
- package/lib/module/shared/utils/bounds/navigation/zoom/build.js +50 -50
- package/lib/module/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
- package/lib/module/shared/utils/bounds/navigation/zoom/config.js +1 -1
- package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/index.d.ts +4 -4
- package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/index.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/types.d.ts +2 -0
- package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/types.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts +6 -6
- package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
- package/lib/typescript/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.d.ts +3 -2
- package/lib/typescript/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.d.ts.map +1 -1
- package/lib/typescript/shared/stores/bounds/internals/links.d.ts.map +1 -1
- package/lib/typescript/shared/types/bounds.types.d.ts +27 -0
- package/lib/typescript/shared/types/bounds.types.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/navigation/zoom/build.d.ts.map +1 -1
- package/lib/typescript/shared/utils/bounds/navigation/zoom/config.d.ts +1 -1
- package/package.json +1 -1
- package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/index.ts +140 -19
- package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.ts +5 -1
- package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/types.ts +4 -0
- package/src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +132 -44
- package/src/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.tsx +7 -5
- package/src/shared/providers/screen/styles/styles.provider.tsx +2 -2
- package/src/shared/stores/bounds/internals/links.ts +27 -3
- package/src/shared/types/bounds.types.ts +27 -0
- package/src/shared/utils/bounds/navigation/zoom/build.ts +68 -73
- package/src/shared/utils/bounds/navigation/zoom/config.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"materialize-slot.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AAE1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"materialize-slot.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AAE1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AA4GpD,eAAO,MAAM,uBAAuB,GAAI,uIAUrC;IACF,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC/C,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC/C,aAAa,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAChD,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC;IAC5C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC;IAC3C,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;CAC3B,8CA4BA,CAAC"}
|
package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/types.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { NormalizedTransitionInterpolatedStyle } from "../../../../../types/animation.types";
|
|
2
|
+
export type LocalStyleLayers = NormalizedTransitionInterpolatedStyle[];
|
|
1
3
|
export type ResettableStyleState = {
|
|
2
4
|
styleKeys?: Record<string, true>;
|
|
3
5
|
styleResetValues?: Record<string, unknown>;
|
package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shared/providers/screen/styles/helpers/resolve-slot-styles/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shared/providers/screen/styles/helpers/resolve-slot-styles/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,sCAAsC,CAAC;AAElG,MAAM,MAAM,gBAAgB,GAAG,qCAAqC,EAAE,CAAC;AAEvE,MAAM,MAAM,oBAAoB,GAAG;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC"}
|
package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { LocalStyleLayers } from "../helpers/resolve-slot-styles";
|
|
2
2
|
/**
|
|
3
|
-
* Builds the raw interpolated
|
|
3
|
+
* Builds the raw interpolated style layers for the current screen pass.
|
|
4
4
|
*
|
|
5
5
|
* This hook exists to stabilize style ownership during rapid navigation,
|
|
6
6
|
* especially when an interactive close gesture overlaps with a new navigation
|
|
@@ -20,9 +20,9 @@ import type { NormalizedTransitionInterpolatedStyle } from "../../../../types/an
|
|
|
20
20
|
* hidden window so animated props and runtime options stay warm, but defer style
|
|
21
21
|
* buckets so measurement sees the final untransformed layout.
|
|
22
22
|
*
|
|
23
|
-
* The result
|
|
24
|
-
* slot ids determine whether
|
|
25
|
-
*
|
|
23
|
+
* The result is ordered from lowest to highest priority. Resolution happens
|
|
24
|
+
* downstream, where slot ids determine whether slots inherit from ancestors and
|
|
25
|
+
* where higher owner layers override lower owner layers per key.
|
|
26
26
|
*/
|
|
27
|
-
export declare const useInterpolatedStylesMap: () => import("react-native-reanimated").DerivedValue<
|
|
27
|
+
export declare const useInterpolatedStylesMap: () => import("react-native-reanimated").DerivedValue<LocalStyleLayers>;
|
|
28
28
|
//# sourceMappingURL=use-interpolated-style-maps.d.ts.map
|
package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-interpolated-style-maps.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-interpolated-style-maps.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAqFvE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,wBAAwB,wEAoHpC,CAAC"}
|
package/lib/typescript/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { type SharedValue } from "react-native-reanimated";
|
|
2
2
|
import type { NormalizedTransitionInterpolatedStyle } from "../../../../types/animation.types";
|
|
3
|
+
import { type LocalStyleLayers } from "../helpers/resolve-slot-styles";
|
|
3
4
|
interface UseResolvedStylesMapParams {
|
|
4
|
-
|
|
5
|
+
localStylesMaps: SharedValue<LocalStyleLayers>;
|
|
5
6
|
ancestorStylesMap?: SharedValue<NormalizedTransitionInterpolatedStyle>;
|
|
6
7
|
}
|
|
7
|
-
export declare const useResolvedStylesMap: ({
|
|
8
|
+
export declare const useResolvedStylesMap: ({ localStylesMaps, ancestorStylesMap, }: UseResolvedStylesMapParams) => import("react-native-reanimated").DerivedValue<NormalizedTransitionInterpolatedStyle>;
|
|
8
9
|
export {};
|
|
9
10
|
//# sourceMappingURL=use-resolved-slot-style-map.d.ts.map
|
package/lib/typescript/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-resolved-slot-style-map.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.tsx"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,WAAW,EAGhB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"use-resolved-slot-style-map.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.tsx"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,WAAW,EAGhB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,mCAAmC,CAAC;AAE/F,OAAO,EACN,KAAK,gBAAgB,EAIrB,MAAM,gCAAgC,CAAC;AAExC,UAAU,0BAA0B;IACnC,eAAe,EAAE,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC/C,iBAAiB,CAAC,EAAE,WAAW,CAAC,qCAAqC,CAAC,CAAC;CACvE;AAED,eAAO,MAAM,oBAAoB,GAAI,yCAGlC,0BAA0B,0FAoC5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/stores/bounds/internals/links.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAe9E,OAAO,KAAK,EACX,QAAQ,EACR,OAAO,EAEP,SAAS,EACT,aAAa,EACb,KAAK,EACL,OAAO,EACP,MAAM,UAAU,CAAC;AA4GlB,iBAAS,SAAS,CACjB,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,KAAK,EACV,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,kBAAkB,EAC1B,MAAM,GAAE,UAAe,EACvB,KAAK,CAAC,EAAE,QAAQ,QAiChB;AAED,iBAAS,cAAc,CACtB,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,KAAK,EACV,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,kBAAkB,EAC1B,MAAM,GAAE,UAAe,EACvB,KAAK,CAAC,EAAE,QAAQ,QAWhB;AAED,iBAAS,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,QAO5E;AAED,iBAAS,gBAAgB,CACxB,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,QAAQ,GACb,OAAO,GAAG,IAAI,CAGhB;AAED,iBAAS,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,GAAG,OAAO,GAAG,IAAI,CAGnE;
|
|
1
|
+
{"version":3,"file":"links.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/stores/bounds/internals/links.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAe9E,OAAO,KAAK,EACX,QAAQ,EACR,OAAO,EAEP,SAAS,EACT,aAAa,EACb,KAAK,EACL,OAAO,EACP,MAAM,UAAU,CAAC;AA4GlB,iBAAS,SAAS,CACjB,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,KAAK,EACV,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,kBAAkB,EAC1B,MAAM,GAAE,UAAe,EACvB,KAAK,CAAC,EAAE,QAAQ,QAiChB;AAED,iBAAS,cAAc,CACtB,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,KAAK,EACV,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,kBAAkB,EAC1B,MAAM,GAAE,UAAe,EACvB,KAAK,CAAC,EAAE,QAAQ,QAWhB;AAED,iBAAS,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,QAO5E;AAED,iBAAS,gBAAgB,CACxB,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,QAAQ,GACb,OAAO,GAAG,IAAI,CAGhB;AAED,iBAAS,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,KAAK,GAAG,OAAO,GAAG,IAAI,CAGnE;AAqBD,iBAAS,eAAe,CACvB,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,KAAK,GACR;IAAE,GAAG,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;CAAE,CAyCtC;AAED,iBAAS,SAAS,CACjB,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,KAAK,GACR,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAG1B;AAED,iBAAS,cAAc,CACtB,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,KAAK,GACR,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAG/B;AAED,OAAO,EACN,gBAAgB,EAChB,cAAc,EACd,OAAO,EACP,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,SAAS,GACT,CAAC"}
|
|
@@ -62,6 +62,33 @@ export type BoundsNavigationZoomOptions = {
|
|
|
62
62
|
* animates above it.
|
|
63
63
|
*/
|
|
64
64
|
backgroundScale?: number;
|
|
65
|
+
/**
|
|
66
|
+
* Maximum dynamic gesture sensitivity applied by zoom.
|
|
67
|
+
*
|
|
68
|
+
* Zoom lowers gesture sensitivity as the drag gets deeper so the content
|
|
69
|
+
* handoff stays stable. This value controls the starting/highest sensitivity
|
|
70
|
+
* in that curve.
|
|
71
|
+
*
|
|
72
|
+
* @default 0.8
|
|
73
|
+
*/
|
|
74
|
+
maxSensitivity?: number;
|
|
75
|
+
/**
|
|
76
|
+
* Velocity-driven depth applied to the dismiss scale handoff.
|
|
77
|
+
*
|
|
78
|
+
* Higher values make fast releases orbit farther around the final scale. Set
|
|
79
|
+
* to `0` to remove the velocity depth effect.
|
|
80
|
+
*
|
|
81
|
+
* @default 0.5
|
|
82
|
+
*/
|
|
83
|
+
velocityDepth?: number;
|
|
84
|
+
/**
|
|
85
|
+
* Whether gesture displacement should drive transition progress or remain as
|
|
86
|
+
* freeform gesture values. Zoom defaults to `"freeform"` so drag can move the
|
|
87
|
+
* content without owning the whole screen progress.
|
|
88
|
+
*
|
|
89
|
+
* @default "freeform"
|
|
90
|
+
*/
|
|
91
|
+
gestureProgressMode?: GestureProgressMode;
|
|
65
92
|
/**
|
|
66
93
|
* Horizontal gesture drag scaling curve, applied when the active dismiss
|
|
67
94
|
* direction is horizontal.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bounds.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/bounds.types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bounds.types.d.ts","sourceRoot":"","sources":["../../../../src/shared/types/bounds.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/utils/bounds/navigation/zoom/build.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/utils/bounds/navigation/zoom/build.ts"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAgC5E,wBAAgB,eAAe,CAAC,EAC/B,GAAG,EACH,WAAW,EACX,KAAK,GACL,EAAE,qBAAqB,GAAG,qBAAqB,CAga/C"}
|
|
@@ -8,7 +8,7 @@ export declare const ZOOM_DRAG_DIRECTIONAL_SCALE_EXPONENT = 2;
|
|
|
8
8
|
export declare const ZOOM_DRAG_TRANSLATION_NEGATIVE_MAX = 1;
|
|
9
9
|
export declare const ZOOM_DRAG_TRANSLATION_POSITIVE_MAX = 1;
|
|
10
10
|
export declare const ZOOM_DRAG_TRANSLATION_EXPONENT = 1;
|
|
11
|
-
export declare const ZOOM_DISMISS_SCALE_ORBIT_DEPTH = 0.
|
|
11
|
+
export declare const ZOOM_DISMISS_SCALE_ORBIT_DEPTH = 0.5;
|
|
12
12
|
export declare const ZOOM_BACKGROUND_SCALE = 0.9375;
|
|
13
13
|
export declare const ZOOM_FOCUSED_ELEMENT_OPEN_OPACITY_RANGE: readonly [0, 0.5, 0, 1];
|
|
14
14
|
export declare const ZOOM_FOCUSED_ELEMENT_CLOSE_OPACITY_RANGE: readonly [0.6, 1, 0, 1];
|
package/package.json
CHANGED
|
@@ -4,16 +4,17 @@ import type {
|
|
|
4
4
|
} from "../../../../../types/animation.types";
|
|
5
5
|
import { shouldSlotInherit } from "../../constants";
|
|
6
6
|
import { materializeResolvedSlot } from "./materialize-slot";
|
|
7
|
-
import { getResolvedSlotState
|
|
7
|
+
import { getResolvedSlotState } from "./slot-state";
|
|
8
8
|
import type {
|
|
9
|
+
LocalStyleLayers,
|
|
9
10
|
ResettableStyleState,
|
|
10
11
|
ResettableStyleStatesBySlot,
|
|
11
12
|
} from "./types";
|
|
12
13
|
|
|
13
|
-
export type { ResettableStyleStatesBySlot } from "./types";
|
|
14
|
+
export type { LocalStyleLayers, ResettableStyleStatesBySlot } from "./types";
|
|
14
15
|
|
|
15
16
|
type ResolveSlotStylesContext = {
|
|
16
|
-
|
|
17
|
+
localStylesMaps: LocalStyleLayers;
|
|
17
18
|
ancestorStylesMap: NormalizedTransitionInterpolatedStyle;
|
|
18
19
|
previousStyleStatesBySlot: ResettableStyleStatesBySlot;
|
|
19
20
|
deferLocalSlotResets: boolean;
|
|
@@ -42,6 +43,35 @@ const hasEitherResetPatch = (
|
|
|
42
43
|
return hasStyleResetPatch || hasPropResetPatch;
|
|
43
44
|
};
|
|
44
45
|
|
|
46
|
+
const hasDefinedBucketValue = (value: unknown) => {
|
|
47
|
+
"worklet";
|
|
48
|
+
return value !== undefined && value !== null;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
const hasResettableDisappearedKeys = (
|
|
52
|
+
previousKeys: Record<string, true> | undefined,
|
|
53
|
+
previousResetValues: Record<string, unknown> | undefined,
|
|
54
|
+
currentKeys: Record<string, true> | undefined,
|
|
55
|
+
) => {
|
|
56
|
+
"worklet";
|
|
57
|
+
|
|
58
|
+
if (!previousKeys || !previousResetValues) {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
for (const key in previousKeys) {
|
|
63
|
+
if (currentKeys !== undefined && currentKeys[key] === true) {
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if (previousResetValues[key] !== undefined) {
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return false;
|
|
73
|
+
};
|
|
74
|
+
|
|
45
75
|
const getResolvedSlotOutput = ({
|
|
46
76
|
slot,
|
|
47
77
|
previousState,
|
|
@@ -58,10 +88,18 @@ const getResolvedSlotOutput = ({
|
|
|
58
88
|
|
|
59
89
|
const hasStyleResetPatch =
|
|
60
90
|
resetDroppedKeys &&
|
|
61
|
-
|
|
91
|
+
hasResettableDisappearedKeys(
|
|
92
|
+
previousState?.styleKeys,
|
|
93
|
+
previousState?.styleResetValues,
|
|
94
|
+
state.styleKeys,
|
|
95
|
+
);
|
|
62
96
|
const hasPropResetPatch =
|
|
63
97
|
resetDroppedKeys &&
|
|
64
|
-
|
|
98
|
+
hasResettableDisappearedKeys(
|
|
99
|
+
previousState?.propKeys,
|
|
100
|
+
previousState?.propResetValues,
|
|
101
|
+
state.propKeys,
|
|
102
|
+
);
|
|
65
103
|
const hasResetPatch = hasEitherResetPatch(
|
|
66
104
|
hasStyleResetPatch,
|
|
67
105
|
hasPropResetPatch,
|
|
@@ -92,30 +130,105 @@ const getResolvedSlotOutput = ({
|
|
|
92
130
|
};
|
|
93
131
|
};
|
|
94
132
|
|
|
133
|
+
const hasLocalStyleSource = (context: ResolveSlotStylesContext) => {
|
|
134
|
+
"worklet";
|
|
135
|
+
return context.localStylesMaps.length > 0;
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
const hasLocalSlot = (context: ResolveSlotStylesContext, slotId: string) => {
|
|
139
|
+
"worklet";
|
|
140
|
+
|
|
141
|
+
for (let index = 0; index < context.localStylesMaps.length; index++) {
|
|
142
|
+
if (context.localStylesMaps[index]?.[slotId] !== undefined) {
|
|
143
|
+
return true;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
return false;
|
|
148
|
+
};
|
|
149
|
+
|
|
95
150
|
const shouldDeferMissingLocalSlotReset = (
|
|
96
151
|
context: ResolveSlotStylesContext,
|
|
97
152
|
slotId: string,
|
|
98
153
|
) => {
|
|
99
154
|
"worklet";
|
|
100
155
|
const canInherit = shouldSlotInherit(slotId);
|
|
101
|
-
const
|
|
156
|
+
const localSlotExists = hasLocalSlot(context, slotId);
|
|
102
157
|
const hasInheritedSlot =
|
|
103
158
|
canInherit && context.ancestorStylesMap[slotId] !== undefined;
|
|
104
159
|
|
|
105
160
|
return (
|
|
106
161
|
context.deferLocalSlotResets &&
|
|
162
|
+
!hasLocalStyleSource(context) &&
|
|
107
163
|
!canInherit &&
|
|
108
|
-
!
|
|
164
|
+
!localSlotExists &&
|
|
109
165
|
!hasInheritedSlot
|
|
110
166
|
);
|
|
111
167
|
};
|
|
112
168
|
|
|
169
|
+
const mergeBucket = (
|
|
170
|
+
resolvedBucket: Record<string, unknown> | undefined,
|
|
171
|
+
source: Record<string, unknown> | undefined,
|
|
172
|
+
) => {
|
|
173
|
+
"worklet";
|
|
174
|
+
|
|
175
|
+
if (!source) {
|
|
176
|
+
return resolvedBucket;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
let nextBucket = resolvedBucket;
|
|
180
|
+
|
|
181
|
+
for (const key in source) {
|
|
182
|
+
const value = source[key];
|
|
183
|
+
|
|
184
|
+
if (!hasDefinedBucketValue(value)) {
|
|
185
|
+
continue;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
nextBucket = nextBucket ?? {};
|
|
189
|
+
nextBucket[key] = value;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
return nextBucket;
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
const getMergedLocalSlot = (
|
|
196
|
+
context: ResolveSlotStylesContext,
|
|
197
|
+
slotId: string,
|
|
198
|
+
) => {
|
|
199
|
+
"worklet";
|
|
200
|
+
let mergedStyle: Record<string, unknown> | undefined;
|
|
201
|
+
let mergedProps: Record<string, unknown> | undefined;
|
|
202
|
+
|
|
203
|
+
for (let index = 0; index < context.localStylesMaps.length; index++) {
|
|
204
|
+
const slot = context.localStylesMaps[index]?.[slotId];
|
|
205
|
+
|
|
206
|
+
if (slot === undefined) {
|
|
207
|
+
continue;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
mergedStyle = mergeBucket(
|
|
211
|
+
mergedStyle,
|
|
212
|
+
slot.style as Record<string, unknown> | undefined,
|
|
213
|
+
);
|
|
214
|
+
mergedProps = mergeBucket(mergedProps, slot.props);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
if (!mergedStyle && !mergedProps) {
|
|
218
|
+
return undefined;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
return {
|
|
222
|
+
style: mergedStyle,
|
|
223
|
+
props: mergedProps,
|
|
224
|
+
};
|
|
225
|
+
};
|
|
226
|
+
|
|
113
227
|
const getSlotForId = (context: ResolveSlotStylesContext, slotId: string) => {
|
|
114
228
|
"worklet";
|
|
115
|
-
const currentSlot = context.currentStylesMap[slotId];
|
|
116
229
|
|
|
117
|
-
if (
|
|
118
|
-
return
|
|
230
|
+
if (hasLocalSlot(context, slotId)) {
|
|
231
|
+
return getMergedLocalSlot(context, slotId);
|
|
119
232
|
}
|
|
120
233
|
|
|
121
234
|
if (shouldSlotInherit(slotId)) {
|
|
@@ -326,9 +439,19 @@ const appendResolvedSlot = (
|
|
|
326
439
|
|
|
327
440
|
const appendCurrentSlots = (context: ResolveSlotStylesContext) => {
|
|
328
441
|
"worklet";
|
|
442
|
+
const appendedSlotIds: Record<string, true> = {};
|
|
443
|
+
|
|
444
|
+
for (let index = 0; index < context.localStylesMaps.length; index++) {
|
|
445
|
+
const stylesMap = context.localStylesMaps[index];
|
|
446
|
+
|
|
447
|
+
for (const slotId in stylesMap) {
|
|
448
|
+
if (stylesMap[slotId] === undefined || appendedSlotIds[slotId]) {
|
|
449
|
+
continue;
|
|
450
|
+
}
|
|
329
451
|
|
|
330
|
-
|
|
331
|
-
|
|
452
|
+
appendedSlotIds[slotId] = true;
|
|
453
|
+
appendResolvedSlot(context, slotId);
|
|
454
|
+
}
|
|
332
455
|
}
|
|
333
456
|
};
|
|
334
457
|
|
|
@@ -337,9 +460,7 @@ const shouldAppendInheritedSlot = (
|
|
|
337
460
|
slotId: string,
|
|
338
461
|
) => {
|
|
339
462
|
"worklet";
|
|
340
|
-
return (
|
|
341
|
-
shouldSlotInherit(slotId) && context.currentStylesMap[slotId] === undefined
|
|
342
|
-
);
|
|
463
|
+
return shouldSlotInherit(slotId) && !hasLocalSlot(context, slotId);
|
|
343
464
|
};
|
|
344
465
|
|
|
345
466
|
const appendInheritedSlots = (context: ResolveSlotStylesContext) => {
|
|
@@ -361,7 +482,7 @@ const shouldAppendPreviousSlot = (
|
|
|
361
482
|
shouldSlotInherit(slotId) &&
|
|
362
483
|
context.ancestorStylesMap[slotId] !== undefined;
|
|
363
484
|
|
|
364
|
-
return context
|
|
485
|
+
return !hasLocalSlot(context, slotId) && !inheritedSlotExists;
|
|
365
486
|
};
|
|
366
487
|
|
|
367
488
|
const appendPreviousSlots = (context: ResolveSlotStylesContext) => {
|
|
@@ -381,12 +502,12 @@ const appendPreviousSlots = (context: ResolveSlotStylesContext) => {
|
|
|
381
502
|
* concrete identity values.
|
|
382
503
|
*/
|
|
383
504
|
export const resolveSlotStyles = ({
|
|
384
|
-
|
|
505
|
+
localStylesMaps,
|
|
385
506
|
ancestorStylesMap,
|
|
386
507
|
previousStyleStatesBySlot,
|
|
387
508
|
deferLocalSlotResets = false,
|
|
388
509
|
}: {
|
|
389
|
-
|
|
510
|
+
localStylesMaps: LocalStyleLayers;
|
|
390
511
|
ancestorStylesMap: NormalizedTransitionInterpolatedStyle;
|
|
391
512
|
previousStyleStatesBySlot: ResettableStyleStatesBySlot;
|
|
392
513
|
deferLocalSlotResets?: boolean;
|
|
@@ -395,7 +516,7 @@ export const resolveSlotStyles = ({
|
|
|
395
516
|
const resolvedStylesMap: NormalizedTransitionInterpolatedStyle = {};
|
|
396
517
|
const nextPreviousStyleStatesBySlot: ResettableStyleStatesBySlot = {};
|
|
397
518
|
const context = {
|
|
398
|
-
|
|
519
|
+
localStylesMaps,
|
|
399
520
|
ancestorStylesMap,
|
|
400
521
|
previousStyleStatesBySlot,
|
|
401
522
|
deferLocalSlotResets,
|
|
@@ -35,10 +35,14 @@ const materializeResolvedBucket = ({
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
const previousResetValue = previousResetValues?.[key];
|
|
38
|
-
|
|
38
|
+
const resetValue =
|
|
39
39
|
previousResetValue !== undefined
|
|
40
40
|
? previousResetValue
|
|
41
41
|
: resetValues?.[key];
|
|
42
|
+
|
|
43
|
+
if (resetValue !== undefined) {
|
|
44
|
+
resolvedBucket[key] = resetValue;
|
|
45
|
+
}
|
|
42
46
|
}
|
|
43
47
|
|
|
44
48
|
if (source) {
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import type { NormalizedTransitionInterpolatedStyle } from "../../../../../types/animation.types";
|
|
2
|
+
|
|
3
|
+
export type LocalStyleLayers = NormalizedTransitionInterpolatedStyle[];
|
|
4
|
+
|
|
1
5
|
export type ResettableStyleState = {
|
|
2
6
|
styleKeys?: Record<string, true>;
|
|
3
7
|
styleResetValues?: Record<string, unknown>;
|