@tamagui/animate-presence 3.0.6 → 3.0.8

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.
@@ -30,7 +30,7 @@ var import_use_force_update = require("@tamagui/use-force-update");
30
30
  var import_react2 = require("react");
31
31
  var import_LayoutGroupContext = require("./LayoutGroupContext.native.js");
32
32
  var import_PresenceChild = require("./PresenceChild.native.js");
33
- var getChildKey = function(child) {
33
+ var getChildKey = function getChildKey2(child) {
34
34
  var _child_key;
35
35
  return (_child_key = child.key) !== null && _child_key !== void 0 ? _child_key : "";
36
36
  };
@@ -41,8 +41,9 @@ function onlyElements(children) {
41
41
  });
42
42
  return filtered;
43
43
  }
44
- var AnimatePresence = function(param) {
44
+ var AnimatePresence = function AnimatePresence2(param) {
45
45
  var { children, initial = true, onExitComplete, mode = "sync", presenceAffectsLayout = true, custom, passThrough } = param;
46
+ var _useContext_forceRender;
46
47
  var presentChildren = (0, import_react2.useMemo)(function() {
47
48
  return onlyElements(children);
48
49
  }, [children]);
@@ -55,7 +56,6 @@ var AnimatePresence = function(param) {
55
56
  });
56
57
  var [diffedChildren, setDiffedChildren] = (0, import_react2.useState)(presentChildren);
57
58
  var [renderedChildren, setRenderedChildren] = (0, import_react2.useState)(presentChildren);
58
- var _useContext_forceRender;
59
59
  var forceRender = (_useContext_forceRender = (0, import_react2.useContext)(import_LayoutGroupContext.LayoutGroupContext).forceRender) !== null && _useContext_forceRender !== void 0 ? _useContext_forceRender : (0, import_use_force_update.useForceUpdate)();
60
60
  if (passThrough) {
61
61
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
@@ -102,9 +102,10 @@ var AnimatePresence = function(param) {
102
102
  return null;
103
103
  }
104
104
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: renderedChildren.map(function(child2) {
105
+ var _frozenCustomRef_current_get;
105
106
  var key2 = getChildKey(child2);
106
107
  var isPresent = presentChildren === renderedChildren || presentKeys.includes(key2);
107
- var onExit = function() {
108
+ var onExit = function onExit2() {
108
109
  if (exitComplete.has(key2)) {
109
110
  exitComplete.set(key2, true);
110
111
  } else {
@@ -120,7 +121,6 @@ var AnimatePresence = function(param) {
120
121
  onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete();
121
122
  }
122
123
  };
123
- var _frozenCustomRef_current_get;
124
124
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_PresenceChild.PresenceChild, {
125
125
  isPresent,
126
126
  initial: !isInitialRender.current || initial ? void 0 : false,
@@ -30,7 +30,7 @@ var import_use_force_update = require("@tamagui/use-force-update");
30
30
  var import_react2 = require("react");
31
31
  var import_LayoutGroupContext = require("./LayoutGroupContext.native.js");
32
32
  var import_PresenceChild = require("./PresenceChild.native.js");
33
- var getChildKey = function(child) {
33
+ var getChildKey = function getChildKey2(child) {
34
34
  var _child_key;
35
35
  return (_child_key = child.key) !== null && _child_key !== void 0 ? _child_key : "";
36
36
  };
@@ -41,8 +41,9 @@ function onlyElements(children) {
41
41
  });
42
42
  return filtered;
43
43
  }
44
- var AnimatePresence = function(param) {
44
+ var AnimatePresence = function AnimatePresence2(param) {
45
45
  var { children, initial = true, onExitComplete, mode = "sync", presenceAffectsLayout = true, custom, passThrough } = param;
46
+ var _useContext_forceRender;
46
47
  var presentChildren = (0, import_react2.useMemo)(function() {
47
48
  return onlyElements(children);
48
49
  }, [children]);
@@ -55,7 +56,6 @@ var AnimatePresence = function(param) {
55
56
  });
56
57
  var [diffedChildren, setDiffedChildren] = (0, import_react2.useState)(presentChildren);
57
58
  var [renderedChildren, setRenderedChildren] = (0, import_react2.useState)(presentChildren);
58
- var _useContext_forceRender;
59
59
  var forceRender = (_useContext_forceRender = (0, import_react2.useContext)(import_LayoutGroupContext.LayoutGroupContext).forceRender) !== null && _useContext_forceRender !== void 0 ? _useContext_forceRender : (0, import_use_force_update.useForceUpdate)();
60
60
  if (passThrough) {
61
61
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
@@ -102,9 +102,10 @@ var AnimatePresence = function(param) {
102
102
  return null;
103
103
  }
104
104
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: renderedChildren.map(function(child2) {
105
+ var _frozenCustomRef_current_get;
105
106
  var key2 = getChildKey(child2);
106
107
  var isPresent = presentChildren === renderedChildren || presentKeys.includes(key2);
107
- var onExit = function() {
108
+ var onExit = function onExit2() {
108
109
  if (exitComplete.has(key2)) {
109
110
  exitComplete.set(key2, true);
110
111
  } else {
@@ -120,7 +121,6 @@ var AnimatePresence = function(param) {
120
121
  onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete();
121
122
  }
122
123
  };
123
- var _frozenCustomRef_current_get;
124
124
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_PresenceChild.PresenceChild, {
125
125
  isPresent,
126
126
  initial: !isInitialRender.current || initial ? void 0 : false,
@@ -1 +1 @@
1
- {"version":3,"file":"AnimatePresence.native.js","names":[],"sources":["cjs/AnimatePresence.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar AnimatePresence_exports = {};\n__export(AnimatePresence_exports, {\n AnimatePresence: () => AnimatePresence\n});\nmodule.exports = __toCommonJS(AnimatePresence_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_react = require(\"react\");\nvar import_use_constant = require(\"@tamagui/use-constant\");\nvar import_use_force_update = require(\"@tamagui/use-force-update\");\nvar import_react2 = require(\"react\");\nvar import_LayoutGroupContext = require(\"./LayoutGroupContext\");\nvar import_PresenceChild = require(\"./PresenceChild\");\nvar getChildKey = function(child) {\n var _child_key;\n return (_child_key = child.key) !== null && _child_key !== void 0 ? _child_key : \"\";\n};\nfunction onlyElements(children) {\n var filtered = [];\n import_react2.Children.forEach(children, function(child) {\n if (/* @__PURE__ */ (0, import_react2.isValidElement)(child)) filtered.push(child);\n });\n return filtered;\n}\nvar AnimatePresence = function(param) {\n var { children, initial = true, onExitComplete, mode = \"sync\", presenceAffectsLayout = true, custom, passThrough } = param;\n var presentChildren = (0, import_react2.useMemo)(function() {\n return onlyElements(children);\n }, [\n children\n ]);\n var presentKeys = presentChildren.map(getChildKey);\n var isInitialRender = (0, import_react2.useRef)(true);\n var frozenCustomRef = (0, import_react2.useRef)(/* @__PURE__ */ new Map());\n var pendingPresentChildren = (0, import_react2.useRef)(presentChildren);\n var exitComplete = (0, import_use_constant.useConstant)(function() {\n return /* @__PURE__ */ new Map();\n });\n var [diffedChildren, setDiffedChildren] = (0, import_react2.useState)(presentChildren);\n var [renderedChildren, setRenderedChildren] = (0, import_react2.useState)(presentChildren);\n var _useContext_forceRender;\n var forceRender = (_useContext_forceRender = (0, import_react2.useContext)(import_LayoutGroupContext.LayoutGroupContext).forceRender) !== null && _useContext_forceRender !== void 0 ? _useContext_forceRender : (0, import_use_force_update.useForceUpdate)();\n if (passThrough) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {\n children\n });\n }\n (0, import_react.useInsertionEffect)(function() {\n isInitialRender.current = false;\n pendingPresentChildren.current = presentChildren;\n for (var i2 = 0; i2 < renderedChildren.length; i2++) {\n var key2 = getChildKey(renderedChildren[i2]);\n if (!presentKeys.includes(key2)) {\n if (exitComplete.get(key2) !== true) {\n exitComplete.set(key2, false);\n }\n } else {\n exitComplete.delete(key2);\n frozenCustomRef.current.delete(key2);\n }\n }\n }, [\n renderedChildren,\n presentKeys.length,\n presentKeys.join(\"-\")\n ]);\n if (presentChildren !== diffedChildren) {\n var nextChildren = [\n ...presentChildren\n ];\n for (var i = 0; i < renderedChildren.length; i++) {\n var child = renderedChildren[i];\n var key = getChildKey(child);\n if (!presentKeys.includes(key)) {\n nextChildren.splice(i, 0, child);\n if (!frozenCustomRef.current.has(key)) {\n frozenCustomRef.current.set(key, custom);\n }\n }\n }\n var exitingChildren = renderedChildren.filter(function(child2) {\n return !presentKeys.includes(getChildKey(child2));\n });\n if (mode === \"wait\" && exitingChildren.length) {\n nextChildren = exitingChildren;\n }\n setRenderedChildren(onlyElements(nextChildren));\n setDiffedChildren(presentChildren);\n return null;\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {\n children: renderedChildren.map(function(child2) {\n var key2 = getChildKey(child2);\n var isPresent = presentChildren === renderedChildren || presentKeys.includes(key2);\n var onExit = function() {\n if (exitComplete.has(key2)) {\n exitComplete.set(key2, true);\n } else {\n return;\n }\n var isEveryExitComplete = true;\n exitComplete.forEach(function(isExitComplete) {\n if (!isExitComplete) isEveryExitComplete = false;\n });\n if (isEveryExitComplete) {\n forceRender === null || forceRender === void 0 ? void 0 : forceRender();\n setRenderedChildren(pendingPresentChildren.current);\n onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete();\n }\n };\n var _frozenCustomRef_current_get;\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_PresenceChild.PresenceChild, {\n isPresent,\n initial: !isInitialRender.current || initial ? void 0 : false,\n custom: isPresent ? custom : (_frozenCustomRef_current_get = frozenCustomRef.current.get(key2)) !== null && _frozenCustomRef_current_get !== void 0 ? _frozenCustomRef_current_get : custom,\n presenceAffectsLayout,\n onExitComplete: isPresent ? void 0 : onExit,\n children: child2\n }, key2);\n })\n });\n};\nAnimatePresence.displayName = \"AnimatePresence\";\n//# sourceMappingURL=AnimatePresence.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"AnimatePresence.native.js","names":[],"sources":["cjs/AnimatePresence.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar AnimatePresence_exports = {};\n__export(AnimatePresence_exports, {\n AnimatePresence: () => AnimatePresence\n});\nmodule.exports = __toCommonJS(AnimatePresence_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_react = require(\"react\");\nvar import_use_constant = require(\"@tamagui/use-constant\");\nvar import_use_force_update = require(\"@tamagui/use-force-update\");\nvar import_react2 = require(\"react\");\nvar import_LayoutGroupContext = require(\"./LayoutGroupContext\");\nvar import_PresenceChild = require(\"./PresenceChild\");\nvar getChildKey = function getChildKey2(child) {\n var _child_key;\n return (_child_key = child.key) !== null && _child_key !== void 0 ? _child_key : \"\";\n};\nfunction onlyElements(children) {\n var filtered = [];\n import_react2.Children.forEach(children, function(child) {\n if (/* @__PURE__ */ (0, import_react2.isValidElement)(child)) filtered.push(child);\n });\n return filtered;\n}\nvar AnimatePresence = function AnimatePresence2(param) {\n var { children, initial = true, onExitComplete, mode = \"sync\", presenceAffectsLayout = true, custom, passThrough } = param;\n var _useContext_forceRender;\n var presentChildren = (0, import_react2.useMemo)(function() {\n return onlyElements(children);\n }, [\n children\n ]);\n var presentKeys = presentChildren.map(getChildKey);\n var isInitialRender = (0, import_react2.useRef)(true);\n var frozenCustomRef = (0, import_react2.useRef)(/* @__PURE__ */ new Map());\n var pendingPresentChildren = (0, import_react2.useRef)(presentChildren);\n var exitComplete = (0, import_use_constant.useConstant)(function() {\n return /* @__PURE__ */ new Map();\n });\n var [diffedChildren, setDiffedChildren] = (0, import_react2.useState)(presentChildren);\n var [renderedChildren, setRenderedChildren] = (0, import_react2.useState)(presentChildren);\n var forceRender = (_useContext_forceRender = (0, import_react2.useContext)(import_LayoutGroupContext.LayoutGroupContext).forceRender) !== null && _useContext_forceRender !== void 0 ? _useContext_forceRender : (0, import_use_force_update.useForceUpdate)();\n if (passThrough) {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {\n children\n });\n }\n (0, import_react.useInsertionEffect)(function() {\n isInitialRender.current = false;\n pendingPresentChildren.current = presentChildren;\n for (var i2 = 0; i2 < renderedChildren.length; i2++) {\n var key2 = getChildKey(renderedChildren[i2]);\n if (!presentKeys.includes(key2)) {\n if (exitComplete.get(key2) !== true) {\n exitComplete.set(key2, false);\n }\n } else {\n exitComplete.delete(key2);\n frozenCustomRef.current.delete(key2);\n }\n }\n }, [\n renderedChildren,\n presentKeys.length,\n presentKeys.join(\"-\")\n ]);\n if (presentChildren !== diffedChildren) {\n var nextChildren = [\n ...presentChildren\n ];\n for (var i = 0; i < renderedChildren.length; i++) {\n var child = renderedChildren[i];\n var key = getChildKey(child);\n if (!presentKeys.includes(key)) {\n nextChildren.splice(i, 0, child);\n if (!frozenCustomRef.current.has(key)) {\n frozenCustomRef.current.set(key, custom);\n }\n }\n }\n var exitingChildren = renderedChildren.filter(function(child2) {\n return !presentKeys.includes(getChildKey(child2));\n });\n if (mode === \"wait\" && exitingChildren.length) {\n nextChildren = exitingChildren;\n }\n setRenderedChildren(onlyElements(nextChildren));\n setDiffedChildren(presentChildren);\n return null;\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {\n children: renderedChildren.map(function(child2) {\n var _frozenCustomRef_current_get;\n var key2 = getChildKey(child2);\n var isPresent = presentChildren === renderedChildren || presentKeys.includes(key2);\n var onExit = function onExit2() {\n if (exitComplete.has(key2)) {\n exitComplete.set(key2, true);\n } else {\n return;\n }\n var isEveryExitComplete = true;\n exitComplete.forEach(function(isExitComplete) {\n if (!isExitComplete) isEveryExitComplete = false;\n });\n if (isEveryExitComplete) {\n forceRender === null || forceRender === void 0 ? void 0 : forceRender();\n setRenderedChildren(pendingPresentChildren.current);\n onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete();\n }\n };\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_PresenceChild.PresenceChild, {\n isPresent,\n initial: !isInitialRender.current || initial ? void 0 : false,\n custom: isPresent ? custom : (_frozenCustomRef_current_get = frozenCustomRef.current.get(key2)) !== null && _frozenCustomRef_current_get !== void 0 ? _frozenCustomRef_current_get : custom,\n presenceAffectsLayout,\n onExitComplete: isPresent ? void 0 : onExit,\n children: child2\n }, key2);\n })\n });\n};\nAnimatePresence.displayName = \"AnimatePresence\";\n//# sourceMappingURL=AnimatePresence.js.map\n"],"mappings":"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"}
@@ -45,7 +45,7 @@ var PresenceChild = /* @__PURE__ */ React.memo(function(param) {
45
45
  initial,
46
46
  isPresent,
47
47
  custom,
48
- onExitComplete: function() {
48
+ onExitComplete: function onExitComplete1() {
49
49
  presenceChildren.set(id, true);
50
50
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
51
51
  try {
@@ -71,7 +71,7 @@ var PresenceChild = /* @__PURE__ */ React.memo(function(param) {
71
71
  }
72
72
  onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete();
73
73
  },
74
- register: function() {
74
+ register: function register() {
75
75
  presenceChildren.set(id, false);
76
76
  return function() {
77
77
  return presenceChildren.delete(id);
@@ -45,7 +45,7 @@ var PresenceChild = /* @__PURE__ */ React.memo(function(param) {
45
45
  initial,
46
46
  isPresent,
47
47
  custom,
48
- onExitComplete: function() {
48
+ onExitComplete: function onExitComplete1() {
49
49
  presenceChildren.set(id, true);
50
50
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
51
51
  try {
@@ -71,7 +71,7 @@ var PresenceChild = /* @__PURE__ */ React.memo(function(param) {
71
71
  }
72
72
  onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete();
73
73
  },
74
- register: function() {
74
+ register: function register() {
75
75
  presenceChildren.set(id, false);
76
76
  return function() {
77
77
  return presenceChildren.delete(id);
@@ -1 +1 @@
1
- {"version":3,"file":"PresenceChild.native.js","names":[],"sources":["cjs/PresenceChild.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar PresenceChild_exports = {};\n__export(PresenceChild_exports, {\n PresenceChild: () => PresenceChild\n});\nmodule.exports = __toCommonJS(PresenceChild_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_use_constant = require(\"@tamagui/use-constant\");\nvar import_use_presence = require(\"@tamagui/use-presence\");\nvar React = __toESM(require(\"react\"), 1);\nvar import_react = require(\"react\");\nvar PresenceChild = /* @__PURE__ */ React.memo(function(param) {\n var { children, initial, isPresent, onExitComplete, presenceAffectsLayout, custom } = param;\n var presenceChildren = (0, import_use_constant.useConstant)(newChildrenMap);\n var id = (0, import_react.useId)() || \"\";\n var context = React.useMemo(\n function() {\n return {\n id,\n initial,\n isPresent,\n custom,\n onExitComplete: function() {\n presenceChildren.set(id, true);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = presenceChildren.values()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var isComplete = _step.value;\n if (!isComplete) {\n return;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete();\n },\n register: function() {\n presenceChildren.set(id, false);\n return function() {\n return presenceChildren.delete(id);\n };\n }\n };\n },\n /**\n * If the presence of a child affects the layout of the components around it,\n * we want to make a new context value to ensure they get re-rendered\n * so they can detect that layout change.\n */\n // @ts-expect-error its ok\n presenceAffectsLayout ? void 0 : [\n isPresent,\n custom\n ]\n );\n React.useMemo(function() {\n presenceChildren.forEach(function(_, key) {\n return presenceChildren.set(key, false);\n });\n }, [\n isPresent\n ]);\n React.useEffect(function() {\n !isPresent && !presenceChildren.size && (onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete());\n }, [\n isPresent\n ]);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_use_presence.PresenceContext.Provider, {\n value: context,\n children\n });\n});\nfunction newChildrenMap() {\n return /* @__PURE__ */ new Map();\n}\n//# sourceMappingURL=PresenceChild.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"PresenceChild.native.js","names":[],"sources":["cjs/PresenceChild.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar PresenceChild_exports = {};\n__export(PresenceChild_exports, {\n PresenceChild: () => PresenceChild\n});\nmodule.exports = __toCommonJS(PresenceChild_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_use_constant = require(\"@tamagui/use-constant\");\nvar import_use_presence = require(\"@tamagui/use-presence\");\nvar React = __toESM(require(\"react\"), 1);\nvar import_react = require(\"react\");\nvar PresenceChild = /* @__PURE__ */ React.memo(function(param) {\n var { children, initial, isPresent, onExitComplete, presenceAffectsLayout, custom } = param;\n var presenceChildren = (0, import_use_constant.useConstant)(newChildrenMap);\n var id = (0, import_react.useId)() || \"\";\n var context = React.useMemo(\n function() {\n return {\n id,\n initial,\n isPresent,\n custom,\n onExitComplete: function onExitComplete1() {\n presenceChildren.set(id, true);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = presenceChildren.values()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var isComplete = _step.value;\n if (!isComplete) {\n return;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete();\n },\n register: function register() {\n presenceChildren.set(id, false);\n return function() {\n return presenceChildren.delete(id);\n };\n }\n };\n },\n /**\n * If the presence of a child affects the layout of the components around it,\n * we want to make a new context value to ensure they get re-rendered\n * so they can detect that layout change.\n */\n // @ts-expect-error its ok\n presenceAffectsLayout ? void 0 : [\n isPresent,\n custom\n ]\n );\n React.useMemo(function() {\n presenceChildren.forEach(function(_, key) {\n return presenceChildren.set(key, false);\n });\n }, [\n isPresent\n ]);\n React.useEffect(function() {\n !isPresent && !presenceChildren.size && (onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete());\n }, [\n isPresent\n ]);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_use_presence.PresenceContext.Provider, {\n value: context,\n children\n });\n});\nfunction newChildrenMap() {\n return /* @__PURE__ */ new Map();\n}\n//# sourceMappingURL=PresenceChild.js.map\n"],"mappings":";;;AACA,IAAI,WAAW,OAAO;AACtB,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO;AAC1B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,WAAW,KAAK,YAAY,YAAY,SAAS,OAAO,OAAO,SAAS,aAAa,GAAG,CAAC,IAAI,CAAC,GAAG,YAKnG,cAAc,CAAC,OAAO,CAAC,IAAI,aAAa,UAAU,QAAQ,WAAW;CAAE,OAAO;CAAK,YAAY;AAAK,CAAC,IAAI,QACzG,GACF;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,wBAAwB,CAAC;AAC7B,SAAS,uBAAuB,EAC9B,qBAAqB,cACvB,CAAC;AACD,OAAO,UAAU,aAAa,qBAAqB;AACnD,IAAI,qBAAqB,QAAQ,mBAAmB;AACpD,IAAI,sBAAsB,QAAQ,uBAAuB;AACzD,IAAI,sBAAsB,QAAQ,uBAAuB;AACzD,IAAI,QAAQ,QAAQ,QAAQ,OAAO,GAAG,CAAC;AACvC,IAAI,eAAe,QAAQ,OAAO;AAClC,IAAI,gBAAgC,sBAAM,KAAK,SAAS,OAAO;CAC7D,IAAI,EAAE,UAAU,SAAS,WAAW,gBAAgB,uBAAuB,WAAW;CACtF,IAAI,oBAAoB,GAAG,oBAAoB,YAAW,CAAE,cAAc;CAC1E,IAAI,MAAM,GAAG,aAAa,MAAK,CAAE,KAAK;CACtC,IAAI,UAAU,MAAM;EAClB,WAAW;GACT,OAAO;IACL;IACA;IACA;IACA;IACA,gBAAgB,SAAS,kBAAkB;KACzC,iBAAiB,IAAI,IAAI,IAAI;KAC7B,IAAI,4BAA4B,MAAM,oBAAoB,OAAO,iBAAiB,KAAK;KACvF,IAAI;MACF,KAAK,IAAI,YAAY,iBAAiB,OAAO,CAAC,CAAC,OAAO,SAAS,CAAC,GAAG,OAAO,EAAE,6BAA6B,QAAQ,UAAU,KAAK,EAAC,CAAE,OAAO,4BAA4B,MAAM;OAC1K,IAAI,aAAa,MAAM;OACvB,IAAI,CAAC,YAAY;QACf;OACF;MACF;KACF,SAAS,KAAK;MACZ,oBAAoB;MACpB,iBAAiB;KACnB,UAAU;MACR,IAAI;OACF,IAAI,CAAC,6BAA6B,UAAU,UAAU,MAAM;QAC1D,UAAU,OAAO;OACnB;MACF,UAAU;OACR,IAAI,mBAAmB;QACrB,MAAM;OACR;MACF;KACF;KACA,mBAAmB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,IAAI,eAAe;IACjF;IACA,UAAU,SAAS,WAAW;KAC5B,iBAAiB,IAAI,IAAI,KAAK;KAC9B,OAAO,WAAW;MAChB,OAAO,iBAAiB,OAAO,EAAE;KACnC;IACF;GACF;EACF;;;;;;EAOA,wBAAwB,KAAK,IAAI,CAC/B,WACA,MACF;CACF;CACA,MAAM,QAAQ,WAAW;EACvB,iBAAiB,QAAQ,SAAS,GAAG,KAAK;GACxC,OAAO,iBAAiB,IAAI,KAAK,KAAK;EACxC,CAAC;CACH,GAAG,CACD,SACF,CAAC;CACD,MAAM,UAAU,WAAW;EACzB,CAAC,aAAa,CAAC,iBAAiB,SAAS,mBAAmB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,IAAI,eAAe;CAC1H,GAAG,CACD,SACF,CAAC;CACD,OAAuB,iBAAC,GAAG,mBAAmB,IAAG,CAAE,oBAAoB,gBAAgB,UAAU;EAC/F,OAAO;EACP;CACF,CAAC;AACH,CAAC;AACD,SAAS,iBAAiB;CACxB,uBAAuB,IAAI,IAAI;AACjC"}
@@ -5,7 +5,7 @@ import { useForceUpdate } from "@tamagui/use-force-update";
5
5
  import { LayoutGroupContext } from "./LayoutGroupContext.native.js";
6
6
  import { PresenceChild } from "./PresenceChild.native.js";
7
7
 
8
- var getChildKey = function(child) {
8
+ var getChildKey = function getChildKey2(child) {
9
9
  var _child_key;
10
10
  return (_child_key = child.key) !== null && _child_key !== void 0 ? _child_key : "";
11
11
  };
@@ -16,8 +16,9 @@ function onlyElements(children) {
16
16
  });
17
17
  return filtered;
18
18
  }
19
- var AnimatePresence = function(param) {
19
+ var AnimatePresence = function AnimatePresence2(param) {
20
20
  var { children, initial = true, onExitComplete, mode = "sync", presenceAffectsLayout = true, custom, passThrough } = param;
21
+ var _useContext_forceRender;
21
22
  var presentChildren = useMemo(function() {
22
23
  return onlyElements(children);
23
24
  }, [children]);
@@ -30,7 +31,6 @@ var AnimatePresence = function(param) {
30
31
  });
31
32
  var [diffedChildren, setDiffedChildren] = useState(presentChildren);
32
33
  var [renderedChildren, setRenderedChildren] = useState(presentChildren);
33
- var _useContext_forceRender;
34
34
  var forceRender = (_useContext_forceRender = useContext(LayoutGroupContext).forceRender) !== null && _useContext_forceRender !== void 0 ? _useContext_forceRender : useForceUpdate();
35
35
  if (passThrough) {
36
36
  return /* @__PURE__ */ jsx(Fragment, { children });
@@ -77,9 +77,10 @@ var AnimatePresence = function(param) {
77
77
  return null;
78
78
  }
79
79
  return /* @__PURE__ */ jsx(Fragment, { children: renderedChildren.map(function(child2) {
80
+ var _frozenCustomRef_current_get;
80
81
  var key2 = getChildKey(child2);
81
82
  var isPresent = presentChildren === renderedChildren || presentKeys.includes(key2);
82
- var onExit = function() {
83
+ var onExit = function onExit2() {
83
84
  if (exitComplete.has(key2)) {
84
85
  exitComplete.set(key2, true);
85
86
  } else {
@@ -95,7 +96,6 @@ var AnimatePresence = function(param) {
95
96
  onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete();
96
97
  }
97
98
  };
98
- var _frozenCustomRef_current_get;
99
99
  return /* @__PURE__ */ jsx(PresenceChild, {
100
100
  isPresent,
101
101
  initial: !isInitialRender.current || initial ? void 0 : false,
@@ -1 +1 @@
1
- {"version":3,"file":"AnimatePresence.native.js","names":["_Fragment"],"sources":["esm/AnimatePresence.native.js"],"sourcesContent":["import { jsx as _jsx, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { useInsertionEffect } from \"react\";\nimport { useConstant } from \"@tamagui/use-constant\";\nimport { useForceUpdate } from \"@tamagui/use-force-update\";\nimport { Children, isValidElement, useContext, useMemo, useRef, useState } from \"react\";\nimport { LayoutGroupContext } from \"./LayoutGroupContext\";\nimport { PresenceChild } from \"./PresenceChild\";\nvar getChildKey = function(child) {\n var _child_key;\n return (_child_key = child.key) !== null && _child_key !== void 0 ? _child_key : \"\";\n};\nfunction onlyElements(children) {\n var filtered = [];\n Children.forEach(children, function(child) {\n if (/* @__PURE__ */ isValidElement(child)) filtered.push(child);\n });\n return filtered;\n}\nvar AnimatePresence = function(param) {\n var { children, initial = true, onExitComplete, mode = \"sync\", presenceAffectsLayout = true, custom, passThrough } = param;\n var presentChildren = useMemo(function() {\n return onlyElements(children);\n }, [\n children\n ]);\n var presentKeys = presentChildren.map(getChildKey);\n var isInitialRender = useRef(true);\n var frozenCustomRef = useRef(/* @__PURE__ */ new Map());\n var pendingPresentChildren = useRef(presentChildren);\n var exitComplete = useConstant(function() {\n return /* @__PURE__ */ new Map();\n });\n var [diffedChildren, setDiffedChildren] = useState(presentChildren);\n var [renderedChildren, setRenderedChildren] = useState(presentChildren);\n var _useContext_forceRender;\n var forceRender = (_useContext_forceRender = useContext(LayoutGroupContext).forceRender) !== null && _useContext_forceRender !== void 0 ? _useContext_forceRender : useForceUpdate();\n if (passThrough) {\n return /* @__PURE__ */ _jsx(_Fragment, {\n children\n });\n }\n useInsertionEffect(function() {\n isInitialRender.current = false;\n pendingPresentChildren.current = presentChildren;\n for (var i2 = 0; i2 < renderedChildren.length; i2++) {\n var key2 = getChildKey(renderedChildren[i2]);\n if (!presentKeys.includes(key2)) {\n if (exitComplete.get(key2) !== true) {\n exitComplete.set(key2, false);\n }\n } else {\n exitComplete.delete(key2);\n frozenCustomRef.current.delete(key2);\n }\n }\n }, [\n renderedChildren,\n presentKeys.length,\n presentKeys.join(\"-\")\n ]);\n if (presentChildren !== diffedChildren) {\n var nextChildren = [\n ...presentChildren\n ];\n for (var i = 0; i < renderedChildren.length; i++) {\n var child = renderedChildren[i];\n var key = getChildKey(child);\n if (!presentKeys.includes(key)) {\n nextChildren.splice(i, 0, child);\n if (!frozenCustomRef.current.has(key)) {\n frozenCustomRef.current.set(key, custom);\n }\n }\n }\n var exitingChildren = renderedChildren.filter(function(child2) {\n return !presentKeys.includes(getChildKey(child2));\n });\n if (mode === \"wait\" && exitingChildren.length) {\n nextChildren = exitingChildren;\n }\n setRenderedChildren(onlyElements(nextChildren));\n setDiffedChildren(presentChildren);\n return null;\n }\n return /* @__PURE__ */ _jsx(_Fragment, {\n children: renderedChildren.map(function(child2) {\n var key2 = getChildKey(child2);\n var isPresent = presentChildren === renderedChildren || presentKeys.includes(key2);\n var onExit = function() {\n if (exitComplete.has(key2)) {\n exitComplete.set(key2, true);\n } else {\n return;\n }\n var isEveryExitComplete = true;\n exitComplete.forEach(function(isExitComplete) {\n if (!isExitComplete) isEveryExitComplete = false;\n });\n if (isEveryExitComplete) {\n forceRender === null || forceRender === void 0 ? void 0 : forceRender();\n setRenderedChildren(pendingPresentChildren.current);\n onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete();\n }\n };\n var _frozenCustomRef_current_get;\n return /* @__PURE__ */ _jsx(PresenceChild, {\n isPresent,\n initial: !isInitialRender.current || initial ? void 0 : false,\n custom: isPresent ? custom : (_frozenCustomRef_current_get = frozenCustomRef.current.get(key2)) !== null && _frozenCustomRef_current_get !== void 0 ? _frozenCustomRef_current_get : custom,\n presenceAffectsLayout,\n onExitComplete: isPresent ? void 0 : onExit,\n children: child2\n }, key2);\n })\n });\n};\nAnimatePresence.displayName = \"AnimatePresence\";\nexport {\n AnimatePresence\n};\n//# sourceMappingURL=AnimatePresence.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"AnimatePresence.native.js","names":["_Fragment"],"sources":["esm/AnimatePresence.native.js"],"sourcesContent":["import { jsx as _jsx, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { useInsertionEffect } from \"react\";\nimport { useConstant } from \"@tamagui/use-constant\";\nimport { useForceUpdate } from \"@tamagui/use-force-update\";\nimport { Children, isValidElement, useContext, useMemo, useRef, useState } from \"react\";\nimport { LayoutGroupContext } from \"./LayoutGroupContext\";\nimport { PresenceChild } from \"./PresenceChild\";\nvar getChildKey = function getChildKey2(child) {\n var _child_key;\n return (_child_key = child.key) !== null && _child_key !== void 0 ? _child_key : \"\";\n};\nfunction onlyElements(children) {\n var filtered = [];\n Children.forEach(children, function(child) {\n if (/* @__PURE__ */ isValidElement(child)) filtered.push(child);\n });\n return filtered;\n}\nvar AnimatePresence = function AnimatePresence2(param) {\n var { children, initial = true, onExitComplete, mode = \"sync\", presenceAffectsLayout = true, custom, passThrough } = param;\n var _useContext_forceRender;\n var presentChildren = useMemo(function() {\n return onlyElements(children);\n }, [\n children\n ]);\n var presentKeys = presentChildren.map(getChildKey);\n var isInitialRender = useRef(true);\n var frozenCustomRef = useRef(/* @__PURE__ */ new Map());\n var pendingPresentChildren = useRef(presentChildren);\n var exitComplete = useConstant(function() {\n return /* @__PURE__ */ new Map();\n });\n var [diffedChildren, setDiffedChildren] = useState(presentChildren);\n var [renderedChildren, setRenderedChildren] = useState(presentChildren);\n var forceRender = (_useContext_forceRender = useContext(LayoutGroupContext).forceRender) !== null && _useContext_forceRender !== void 0 ? _useContext_forceRender : useForceUpdate();\n if (passThrough) {\n return /* @__PURE__ */ _jsx(_Fragment, {\n children\n });\n }\n useInsertionEffect(function() {\n isInitialRender.current = false;\n pendingPresentChildren.current = presentChildren;\n for (var i2 = 0; i2 < renderedChildren.length; i2++) {\n var key2 = getChildKey(renderedChildren[i2]);\n if (!presentKeys.includes(key2)) {\n if (exitComplete.get(key2) !== true) {\n exitComplete.set(key2, false);\n }\n } else {\n exitComplete.delete(key2);\n frozenCustomRef.current.delete(key2);\n }\n }\n }, [\n renderedChildren,\n presentKeys.length,\n presentKeys.join(\"-\")\n ]);\n if (presentChildren !== diffedChildren) {\n var nextChildren = [\n ...presentChildren\n ];\n for (var i = 0; i < renderedChildren.length; i++) {\n var child = renderedChildren[i];\n var key = getChildKey(child);\n if (!presentKeys.includes(key)) {\n nextChildren.splice(i, 0, child);\n if (!frozenCustomRef.current.has(key)) {\n frozenCustomRef.current.set(key, custom);\n }\n }\n }\n var exitingChildren = renderedChildren.filter(function(child2) {\n return !presentKeys.includes(getChildKey(child2));\n });\n if (mode === \"wait\" && exitingChildren.length) {\n nextChildren = exitingChildren;\n }\n setRenderedChildren(onlyElements(nextChildren));\n setDiffedChildren(presentChildren);\n return null;\n }\n return /* @__PURE__ */ _jsx(_Fragment, {\n children: renderedChildren.map(function(child2) {\n var _frozenCustomRef_current_get;\n var key2 = getChildKey(child2);\n var isPresent = presentChildren === renderedChildren || presentKeys.includes(key2);\n var onExit = function onExit2() {\n if (exitComplete.has(key2)) {\n exitComplete.set(key2, true);\n } else {\n return;\n }\n var isEveryExitComplete = true;\n exitComplete.forEach(function(isExitComplete) {\n if (!isExitComplete) isEveryExitComplete = false;\n });\n if (isEveryExitComplete) {\n forceRender === null || forceRender === void 0 ? void 0 : forceRender();\n setRenderedChildren(pendingPresentChildren.current);\n onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete();\n }\n };\n return /* @__PURE__ */ _jsx(PresenceChild, {\n isPresent,\n initial: !isInitialRender.current || initial ? void 0 : false,\n custom: isPresent ? custom : (_frozenCustomRef_current_get = frozenCustomRef.current.get(key2)) !== null && _frozenCustomRef_current_get !== void 0 ? _frozenCustomRef_current_get : custom,\n presenceAffectsLayout,\n onExitComplete: isPresent ? void 0 : onExit,\n children: child2\n }, key2);\n })\n });\n};\nAnimatePresence.displayName = \"AnimatePresence\";\nexport {\n AnimatePresence\n};\n//# sourceMappingURL=AnimatePresence.js.map\n"],"mappings":"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"}
@@ -15,7 +15,7 @@ var PresenceChild = /* @__PURE__ */ React.memo(function(param) {
15
15
  initial,
16
16
  isPresent,
17
17
  custom,
18
- onExitComplete: function() {
18
+ onExitComplete: function onExitComplete1() {
19
19
  presenceChildren.set(id, true);
20
20
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
21
21
  try {
@@ -41,7 +41,7 @@ var PresenceChild = /* @__PURE__ */ React.memo(function(param) {
41
41
  }
42
42
  onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete();
43
43
  },
44
- register: function() {
44
+ register: function register() {
45
45
  presenceChildren.set(id, false);
46
46
  return function() {
47
47
  return presenceChildren.delete(id);
@@ -1 +1 @@
1
- {"version":3,"file":"PresenceChild.native.js","names":[],"sources":["esm/PresenceChild.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useConstant } from \"@tamagui/use-constant\";\nimport { PresenceContext } from \"@tamagui/use-presence\";\nimport * as React from \"react\";\nimport { useId } from \"react\";\nvar PresenceChild = /* @__PURE__ */ React.memo(function(param) {\n var { children, initial, isPresent, onExitComplete, presenceAffectsLayout, custom } = param;\n var presenceChildren = useConstant(newChildrenMap);\n var id = useId() || \"\";\n var context = React.useMemo(\n function() {\n return {\n id,\n initial,\n isPresent,\n custom,\n onExitComplete: function() {\n presenceChildren.set(id, true);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = presenceChildren.values()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var isComplete = _step.value;\n if (!isComplete) {\n return;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete();\n },\n register: function() {\n presenceChildren.set(id, false);\n return function() {\n return presenceChildren.delete(id);\n };\n }\n };\n },\n /**\n * If the presence of a child affects the layout of the components around it,\n * we want to make a new context value to ensure they get re-rendered\n * so they can detect that layout change.\n */\n // @ts-expect-error its ok\n presenceAffectsLayout ? void 0 : [\n isPresent,\n custom\n ]\n );\n React.useMemo(function() {\n presenceChildren.forEach(function(_, key) {\n return presenceChildren.set(key, false);\n });\n }, [\n isPresent\n ]);\n React.useEffect(function() {\n !isPresent && !presenceChildren.size && (onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete());\n }, [\n isPresent\n ]);\n return /* @__PURE__ */ _jsx(PresenceContext.Provider, {\n value: context,\n children\n });\n});\nfunction newChildrenMap() {\n return /* @__PURE__ */ new Map();\n}\nexport {\n PresenceChild\n};\n//# sourceMappingURL=PresenceChild.js.map\n"],"mappings":";;;;;;;AAKA,IAAI,gBAAgC,sBAAM,KAAK,SAAS,OAAO;CAC7D,IAAI,EAAE,UAAU,SAAS,WAAW,gBAAgB,uBAAuB,WAAW;CACtF,IAAI,mBAAmB,YAAY,cAAc;CACjD,IAAI,KAAK,MAAM,KAAK;CACpB,IAAI,UAAU,MAAM;EAClB,WAAW;GACT,OAAO;IACL;IACA;IACA;IACA;IACA,gBAAgB,WAAW;KACzB,iBAAiB,IAAI,IAAI,IAAI;KAC7B,IAAI,4BAA4B,MAAM,oBAAoB,OAAO,iBAAiB,KAAK;KACvF,IAAI;MACF,KAAK,IAAI,YAAY,iBAAiB,OAAO,CAAC,CAAC,OAAO,SAAS,CAAC,GAAG,OAAO,EAAE,6BAA6B,QAAQ,UAAU,KAAK,EAAC,CAAE,OAAO,4BAA4B,MAAM;OAC1K,IAAI,aAAa,MAAM;OACvB,IAAI,CAAC,YAAY;QACf;OACF;MACF;KACF,SAAS,KAAK;MACZ,oBAAoB;MACpB,iBAAiB;KACnB,UAAU;MACR,IAAI;OACF,IAAI,CAAC,6BAA6B,UAAU,UAAU,MAAM;QAC1D,UAAU,OAAO;OACnB;MACF,UAAU;OACR,IAAI,mBAAmB;QACrB,MAAM;OACR;MACF;KACF;KACA,mBAAmB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,IAAI,eAAe;IACjF;IACA,UAAU,WAAW;KACnB,iBAAiB,IAAI,IAAI,KAAK;KAC9B,OAAO,WAAW;MAChB,OAAO,iBAAiB,OAAO,EAAE;KACnC;IACF;GACF;EACF;;;;;;EAOA,wBAAwB,KAAK,IAAI,CAC/B,WACA,MACF;CACF;CACA,MAAM,QAAQ,WAAW;EACvB,iBAAiB,QAAQ,SAAS,GAAG,KAAK;GACxC,OAAO,iBAAiB,IAAI,KAAK,KAAK;EACxC,CAAC;CACH,GAAG,CACD,SACF,CAAC;CACD,MAAM,UAAU,WAAW;EACzB,CAAC,aAAa,CAAC,iBAAiB,SAAS,mBAAmB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,IAAI,eAAe;CAC1H,GAAG,CACD,SACF,CAAC;CACD,OAAuB,oBAAK,gBAAgB,UAAU;EACpD,OAAO;EACP;CACF,CAAC;AACH,CAAC;AACD,SAAS,iBAAiB;CACxB,uBAAuB,IAAI,IAAI;AACjC"}
1
+ {"version":3,"file":"PresenceChild.native.js","names":[],"sources":["esm/PresenceChild.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useConstant } from \"@tamagui/use-constant\";\nimport { PresenceContext } from \"@tamagui/use-presence\";\nimport * as React from \"react\";\nimport { useId } from \"react\";\nvar PresenceChild = /* @__PURE__ */ React.memo(function(param) {\n var { children, initial, isPresent, onExitComplete, presenceAffectsLayout, custom } = param;\n var presenceChildren = useConstant(newChildrenMap);\n var id = useId() || \"\";\n var context = React.useMemo(\n function() {\n return {\n id,\n initial,\n isPresent,\n custom,\n onExitComplete: function onExitComplete1() {\n presenceChildren.set(id, true);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = presenceChildren.values()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var isComplete = _step.value;\n if (!isComplete) {\n return;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete();\n },\n register: function register() {\n presenceChildren.set(id, false);\n return function() {\n return presenceChildren.delete(id);\n };\n }\n };\n },\n /**\n * If the presence of a child affects the layout of the components around it,\n * we want to make a new context value to ensure they get re-rendered\n * so they can detect that layout change.\n */\n // @ts-expect-error its ok\n presenceAffectsLayout ? void 0 : [\n isPresent,\n custom\n ]\n );\n React.useMemo(function() {\n presenceChildren.forEach(function(_, key) {\n return presenceChildren.set(key, false);\n });\n }, [\n isPresent\n ]);\n React.useEffect(function() {\n !isPresent && !presenceChildren.size && (onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete());\n }, [\n isPresent\n ]);\n return /* @__PURE__ */ _jsx(PresenceContext.Provider, {\n value: context,\n children\n });\n});\nfunction newChildrenMap() {\n return /* @__PURE__ */ new Map();\n}\nexport {\n PresenceChild\n};\n//# sourceMappingURL=PresenceChild.js.map\n"],"mappings":";;;;;;;AAKA,IAAI,gBAAgC,sBAAM,KAAK,SAAS,OAAO;CAC7D,IAAI,EAAE,UAAU,SAAS,WAAW,gBAAgB,uBAAuB,WAAW;CACtF,IAAI,mBAAmB,YAAY,cAAc;CACjD,IAAI,KAAK,MAAM,KAAK;CACpB,IAAI,UAAU,MAAM;EAClB,WAAW;GACT,OAAO;IACL;IACA;IACA;IACA;IACA,gBAAgB,SAAS,kBAAkB;KACzC,iBAAiB,IAAI,IAAI,IAAI;KAC7B,IAAI,4BAA4B,MAAM,oBAAoB,OAAO,iBAAiB,KAAK;KACvF,IAAI;MACF,KAAK,IAAI,YAAY,iBAAiB,OAAO,CAAC,CAAC,OAAO,SAAS,CAAC,GAAG,OAAO,EAAE,6BAA6B,QAAQ,UAAU,KAAK,EAAC,CAAE,OAAO,4BAA4B,MAAM;OAC1K,IAAI,aAAa,MAAM;OACvB,IAAI,CAAC,YAAY;QACf;OACF;MACF;KACF,SAAS,KAAK;MACZ,oBAAoB;MACpB,iBAAiB;KACnB,UAAU;MACR,IAAI;OACF,IAAI,CAAC,6BAA6B,UAAU,UAAU,MAAM;QAC1D,UAAU,OAAO;OACnB;MACF,UAAU;OACR,IAAI,mBAAmB;QACrB,MAAM;OACR;MACF;KACF;KACA,mBAAmB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,IAAI,eAAe;IACjF;IACA,UAAU,SAAS,WAAW;KAC5B,iBAAiB,IAAI,IAAI,KAAK;KAC9B,OAAO,WAAW;MAChB,OAAO,iBAAiB,OAAO,EAAE;KACnC;IACF;GACF;EACF;;;;;;EAOA,wBAAwB,KAAK,IAAI,CAC/B,WACA,MACF;CACF;CACA,MAAM,QAAQ,WAAW;EACvB,iBAAiB,QAAQ,SAAS,GAAG,KAAK;GACxC,OAAO,iBAAiB,IAAI,KAAK,KAAK;EACxC,CAAC;CACH,GAAG,CACD,SACF,CAAC;CACD,MAAM,UAAU,WAAW;EACzB,CAAC,aAAa,CAAC,iBAAiB,SAAS,mBAAmB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,IAAI,eAAe;CAC1H,GAAG,CACD,SACF,CAAC;CACD,OAAuB,oBAAK,gBAAgB,UAAU;EACpD,OAAO;EACP;CACF,CAAC;AACH,CAAC;AACD,SAAS,iBAAiB;CACxB,uBAAuB,IAAI,IAAI;AACjC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/animate-presence",
3
- "version": "3.0.6",
3
+ "version": "3.0.8",
4
4
  "gitHead": "a49cc7ea6b93ba384e77a4880ae48ac4a5635c14",
5
5
  "license": "MIT",
6
6
  "source": "src/index.ts",
@@ -36,15 +36,15 @@
36
36
  "clean:build": "tamagui-build clean:build"
37
37
  },
38
38
  "dependencies": {
39
- "@tamagui/constants": "3.0.6",
40
- "@tamagui/helpers": "3.0.6",
41
- "@tamagui/use-constant": "3.0.6",
42
- "@tamagui/use-force-update": "3.0.6",
43
- "@tamagui/use-presence": "3.0.6",
44
- "@tamagui/web": "3.0.6"
39
+ "@tamagui/constants": "3.0.8",
40
+ "@tamagui/helpers": "3.0.8",
41
+ "@tamagui/use-constant": "3.0.8",
42
+ "@tamagui/use-force-update": "3.0.8",
43
+ "@tamagui/use-presence": "3.0.8",
44
+ "@tamagui/web": "3.0.8"
45
45
  },
46
46
  "devDependencies": {
47
- "@tamagui/build": "3.0.6",
47
+ "@tamagui/build": "3.0.8",
48
48
  "react": "19.2.3"
49
49
  },
50
50
  "peerDependencies": {
@@ -55,5 +55,5 @@
55
55
  "url": "git+https://github.com/tamagui/tamagui.git",
56
56
  "directory": "code/ui/animate-presence"
57
57
  },
58
- "releaseSourceCommit": "ee01c1a5d113f9d0f4e9e26c35154165ce25add6"
58
+ "releaseSourceCommit": "b723356193510591d9ad15877b8937e8e6a31910"
59
59
  }