@gluestack-ui/core 4.1.0-alpha.0 → 4.1.0-alpha.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayAnimatePresence.d.ts","sourceRoot":"","sources":["../../../../src/modal/creator/OverlayAnimatePresence.tsx"],"names":[],"mappings":"AACA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAG1C,eAAO,MAAM,sBAAsB,kFAqClC,CAAC"}
1
+ {"version":3,"file":"OverlayAnimatePresence.d.ts","sourceRoot":"","sources":["../../../../src/modal/creator/OverlayAnimatePresence.tsx"],"names":[],"mappings":"AACA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAW1C,eAAO,MAAM,sBAAsB,kFAoElC,CAAC"}
@@ -1,10 +1,38 @@
1
1
  import React, { forwardRef } from 'react';
2
+ import { Animated } from 'react-native';
2
3
  import { ExitAnimationContext } from '../../overlay/creator';
4
+ const defaultTransitionConfig = {
5
+ type: 'timing',
6
+ useNativeDriver: true,
7
+ duration: 0,
8
+ delay: 0,
9
+ };
3
10
  export const OverlayAnimatePresence = forwardRef(({ children, visible = false, AnimatePresence }, ref) => {
11
+ const animateValue = React.useRef(new Animated.Value(0)).current;
4
12
  const [animationState, setAnimationState] = React.useState('');
5
13
  const prevVisible = React.useRef(visible);
6
14
  const { setExited } = React.useContext(ExitAnimationContext);
7
15
  React.useEffect(() => {
16
+ var _a;
17
+ if (animationState === 'entering' || animationState === 'exiting') {
18
+ const startAnimation = animationState === 'entering' ? 1 : 0;
19
+ const transition = defaultTransitionConfig;
20
+ if (AnimatePresence) {
21
+ Animated.sequence([
22
+ Animated[(_a = transition.type) !== null && _a !== void 0 ? _a : 'timing'](animateValue, {
23
+ toValue: startAnimation,
24
+ useNativeDriver: true,
25
+ }),
26
+ ]).start(() => {
27
+ if (animationState === 'entering') {
28
+ setAnimationState('entered');
29
+ }
30
+ else if (animationState === 'exiting') {
31
+ setAnimationState('exited');
32
+ }
33
+ });
34
+ }
35
+ }
8
36
  if (animationState === 'exited') {
9
37
  setExited(true);
10
38
  }
@@ -15,16 +43,14 @@ export const OverlayAnimatePresence = forwardRef(({ children, visible = false, A
15
43
  React.useEffect(() => {
16
44
  if (prevVisible.current !== visible && !visible) {
17
45
  setAnimationState('exiting');
18
- setTimeout(() => setAnimationState('exited'), 200);
19
46
  }
20
47
  if (visible) {
21
48
  setAnimationState('entering');
22
- setTimeout(() => setAnimationState('entered'), 200);
23
49
  }
24
50
  prevVisible.current = visible;
25
51
  }, [visible]);
26
52
  if (!AnimatePresence) {
27
- return visible ? children : null;
53
+ return children;
28
54
  }
29
55
  return (<AnimatePresence ref={ref}>{visible ? children : null}</AnimatePresence>);
30
56
  });
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayAnimatePresence.jsx","sourceRoot":"","sources":["../../../../src/modal/creator/OverlayAnimatePresence.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAC9C,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,KAAK,EAAE,eAAe,EAAO,EAAE,GAAS,EAAE,EAAE;IACjE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,EAAE,SAAS,EAAE,GAAQ,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAElE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;YAChC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACxC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,WAAW,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YAChD,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAE7B,UAAU,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAE9B,UAAU,CAAC,GAAG,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;QACtD,CAAC;QACD,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;IAChC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACnC,CAAC;IAED,OAAO,CACL,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CACzE,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"OverlayAnimatePresence.jsx","sourceRoot":"","sources":["../../../../src/modal/creator/OverlayAnimatePresence.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,uBAAuB,GAAQ;IACnC,IAAI,EAAE,QAAQ;IACd,eAAe,EAAE,IAAI;IACrB,QAAQ,EAAE,CAAC;IACX,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAC9C,CAAC,EAAE,QAAQ,EAAE,OAAO,GAAG,KAAK,EAAE,eAAe,EAAO,EAAE,GAAS,EAAE,EAAE;IACjE,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAEjE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE/D,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,EAAE,SAAS,EAAE,GAAQ,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAElE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;;QACnB,IAAI,cAAc,KAAK,UAAU,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YAClE,MAAM,cAAc,GAAG,cAAc,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE7D,MAAM,UAAU,GAAG,uBAAuB,CAAC;YAE3C,IAAI,eAAe,EAAE,CAAC;gBACpB,QAAQ,CAAC,QAAQ,CAAC;oBAGhB,QAAQ,CAAC,MAAA,UAAU,CAAC,IAAI,mCAAI,QAAQ,CAAC,CAAC,YAAY,EAAE;wBAClD,OAAO,EAAE,cAAc;wBACvB,eAAe,EAAE,IAAI;qBACtB,CAAC;iBACH,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBACZ,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;wBAClC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBAC/B,CAAC;yBAAM,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;wBACxC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;oBAC9B,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC;QAEH,CAAC;QAED,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;YAChC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;aAAM,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACxC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;IAKH,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QAEnB,IAAI,WAAW,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YAChD,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QACD,WAAW,CAAC,OAAO,GAAG,OAAO,CAAC;IAEhC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAId,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,CACL,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,CACzE,CAAC;AACJ,CAAC,CACF,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gluestack-ui/core",
3
3
  "description": "Universal UI components for React Native, Expo, and Next.js",
4
- "version": "4.1.0-alpha.0",
4
+ "version": "4.1.0-alpha.1",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/gluestack/gluestack-ui.git"