@tamagui/portal 3.0.0-beta.922.1 → 3.0.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.
@@ -145,7 +145,7 @@ const PortalProviderComponent = ({ rootHostName = "root", shouldAddRootHost = tr
145
145
  value: transitionDispatch,
146
146
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(PortalStateContext.Provider, {
147
147
  value: state,
148
- children: [children, shouldAddRootHost && portalState.type !== "teleport" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalHost, { name: rootHostName })]
148
+ children: [children, shouldAddRootHost && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalHost, { name: rootHostName })]
149
149
  })
150
150
  })
151
151
  });
@@ -158,7 +158,7 @@ var PortalProviderComponent = function(param) {
158
158
  value: transitionDispatch,
159
159
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(PortalStateContext.Provider, {
160
160
  value: state,
161
- children: [children, shouldAddRootHost && portalState.type !== "teleport" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalHost, { name: rootHostName })]
161
+ children: [children, shouldAddRootHost && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalHost, { name: rootHostName })]
162
162
  })
163
163
  })
164
164
  });
@@ -158,7 +158,7 @@ var PortalProviderComponent = function(param) {
158
158
  value: transitionDispatch,
159
159
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(PortalStateContext.Provider, {
160
160
  value: state,
161
- children: [children, shouldAddRootHost && portalState.type !== "teleport" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalHost, { name: rootHostName })]
161
+ children: [children, shouldAddRootHost && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalHost, { name: rootHostName })]
162
162
  })
163
163
  })
164
164
  });
@@ -1 +1 @@
1
- {"version":3,"file":"GorhomPortal.native.js","names":[],"sources":["cjs/GorhomPortal.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\tfor (var name in all) __defProp(target, name, {\n\t\tget: all[name],\n\t\tenumerable: true\n\t});\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: () => from[key],\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n\t// If the importer is in node compatibility mode or this is not an ESM\n\t// file that has been converted to a CommonJS file using a Babel-\n\t// compatible transform (i.e. \"__esModule\" has not been set), then set\n\t// \"default\" to the CommonJS \"module.exports\" for node compatibility.\n\tisNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\t\tvalue: mod,\n\t\tenumerable: true\n\t}) : target,\n\tmod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar GorhomPortal_exports = {};\n__export(GorhomPortal_exports, {\n\tACTIONS: () => ACTIONS,\n\tINITIAL_STATE: () => INITIAL_STATE,\n\tPortalHost: () => PortalHost,\n\tPortalProvider: () => PortalProvider,\n\tusePortal: () => usePortal\n});\nmodule.exports = __toCommonJS(GorhomPortal_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_constants = require(\"@tamagui/constants\");\nvar import_native = require(\"@tamagui/native\");\nvar import_start_transition = require(\"@tamagui/start-transition\");\nvar import_react = __toESM(require(\"react\"), 1);\nrequire(\"./constants\");\nvar ACTIONS = /* @__PURE__ */ (function(ACTIONS2) {\n\tACTIONS2[ACTIONS2[\"REGISTER_HOST\"] = 0] = \"REGISTER_HOST\";\n\tACTIONS2[ACTIONS2[\"DEREGISTER_HOST\"] = 1] = \"DEREGISTER_HOST\";\n\tACTIONS2[ACTIONS2[\"ADD_UPDATE_PORTAL\"] = 2] = \"ADD_UPDATE_PORTAL\";\n\tACTIONS2[ACTIONS2[\"REMOVE_PORTAL\"] = 3] = \"REMOVE_PORTAL\";\n\treturn ACTIONS2;\n})(ACTIONS || {});\nvar INITIAL_STATE = {};\nvar registerHost = function(state, hostName) {\n\tif (!(hostName in state)) state[hostName] = [];\n\treturn state;\n};\nvar deregisterHost = function(state, hostName) {\n\tdelete state[hostName];\n\treturn state;\n};\nvar addUpdatePortal = function(state, hostName, portalName, node) {\n\tif (!(hostName in state)) state = registerHost(state, hostName);\n\tvar index = state[hostName].findIndex(function(item) {\n\t\treturn item.name === portalName;\n\t});\n\tif (index !== -1) state[hostName][index].node = node;\n\telse state[hostName].push({\n\t\tname: portalName,\n\t\tnode\n\t});\n\treturn state;\n};\nvar removePortal = function(state, hostName, portalName) {\n\tif (!(hostName in state)) {\n\t\tif (process.env.NODE_ENV === \"development\") console.info(`Failed to remove portal '${portalName}', '${hostName}' was not registered!`);\n\t\treturn state;\n\t}\n\tvar index = state[hostName].findIndex(function(item) {\n\t\treturn item.name === portalName;\n\t});\n\tif (index !== -1) state[hostName].splice(index, 1);\n\treturn state;\n};\nvar reducer = function(state, action) {\n\tvar { type } = action;\n\tswitch (type) {\n\t\tcase 0: return registerHost({ ...state }, action.hostName);\n\t\tcase 1: return deregisterHost({ ...state }, action.hostName);\n\t\tcase 2: return addUpdatePortal({ ...state }, action.hostName, action.portalName, action.node);\n\t\tcase 3: return removePortal({ ...state }, action.hostName, action.portalName);\n\t\tdefault: return state;\n\t}\n};\nvar PortalStateContext = /* @__PURE__ */ (0, import_react.createContext)(null);\nvar PortalDispatchContext = /* @__PURE__ */ (0, import_react.createContext)(null);\nvar PortalProviderActiveContext = /* @__PURE__ */ (0, import_react.createContext)(false);\nvar usePortalState = function(hostName) {\n\tvar state = (0, import_react.useContext)(PortalStateContext);\n\tif (state === null) throw new Error(\"'PortalStateContext' cannot be null, please add 'PortalProvider' to the root component.\");\n\treturn state[hostName] || [];\n};\nvar usePortal = function() {\n\tvar hostName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : \"root\";\n\tvar dispatch = (0, import_react.useContext)(PortalDispatchContext);\n\tif (dispatch === null) throw new Error(\"'PortalDispatchContext' cannot be null, please add 'PortalProvider' to the root component.\");\n\tvar registerHost2 = (0, import_react.useCallback)(function() {\n\t\tdispatch({\n\t\t\ttype: 0,\n\t\t\thostName\n\t\t});\n\t}, []);\n\tvar deregisterHost2 = (0, import_react.useCallback)(function() {\n\t\tdispatch({\n\t\t\ttype: 1,\n\t\t\thostName\n\t\t});\n\t}, []);\n\tvar addUpdatePortal2 = (0, import_react.useCallback)(function(name, node) {\n\t\tdispatch({\n\t\t\ttype: 2,\n\t\t\thostName,\n\t\t\tportalName: name,\n\t\t\tnode\n\t\t});\n\t}, []);\n\treturn {\n\t\tregisterHost: registerHost2,\n\t\tderegisterHost: deregisterHost2,\n\t\taddPortal: addUpdatePortal2,\n\t\tupdatePortal: addUpdatePortal2,\n\t\tremovePortal: (0, import_react.useCallback)(function(name) {\n\t\t\tdispatch({\n\t\t\t\ttype: 3,\n\t\t\t\thostName,\n\t\t\t\tportalName: name\n\t\t\t});\n\t\t}, [])\n\t};\n};\nvar PortalProviderComponent = function(param) {\n\tvar { rootHostName = \"root\", shouldAddRootHost = true, children } = param;\n\tvar isAlreadyInProvider = (0, import_react.useContext)(PortalProviderActiveContext);\n\tif (process.env.NODE_ENV === \"development\") {\n\t\tif (isAlreadyInProvider && shouldAddRootHost) console.warn(`[tamagui] Nested PortalProvider with shouldAddRootHost detected. This causes hydration mismatches. TamaguiProvider from 'tamagui' already includes PortalProvider - remove the explicit PortalProvider wrapper or set shouldAddRootHost={false}.`);\n\t}\n\tvar [state, dispatch] = (0, import_react.useReducer)(reducer, INITIAL_STATE);\n\tvar transitionDispatch = (0, import_react.useMemo)(function() {\n\t\tvar next = function(value) {\n\t\t\t(0, import_start_transition.startTransition)(function() {\n\t\t\t\tdispatch(value);\n\t\t\t});\n\t\t};\n\t\treturn next;\n\t}, [dispatch]);\n\tvar portalState = (0, import_native.getPortal)().state;\n\tvar content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalProviderActiveContext.Provider, {\n\t\tvalue: true,\n\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalDispatchContext.Provider, {\n\t\t\tvalue: transitionDispatch,\n\t\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(PortalStateContext.Provider, {\n\t\t\t\tvalue: state,\n\t\t\t\tchildren: [children, shouldAddRootHost && portalState.type !== \"teleport\" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalHost, { name: rootHostName })]\n\t\t\t})\n\t\t})\n\t});\n\tif (portalState.type === \"teleport\") return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_native.NativePortalProvider, { children: content });\n\treturn content;\n};\nvar PortalProvider = /* @__PURE__ */ (0, import_react.memo)(PortalProviderComponent);\nPortalProvider.displayName = \"PortalProvider\";\nvar defaultRenderer = function(children) {\n\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });\n};\nvar PortalHost = /* @__PURE__ */ (0, import_react.memo)(function PortalHost2(props) {\n\tif ((0, import_native.getPortal)().state.type === \"teleport\") return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_native.NativePortalHost, { name: props.name });\n\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalHostNonNative, { ...props });\n});\nfunction PortalHostNonNative(props) {\n\tvar { name, forwardProps, render = defaultRenderer } = props;\n\tvar state = usePortalState(name);\n\tvar { registerHost: registerHost2, deregisterHost: deregisterHost2 } = usePortal(props.name);\n\t(0, import_constants.useIsomorphicLayoutEffect)(function() {\n\t\tregisterHost2();\n\t\treturn function() {\n\t\t\tderegisterHost2();\n\t\t};\n\t}, []);\n\tif (forwardProps) return render(state.map(function(item) {\n\t\tvar next = item.node;\n\t\tvar { children, ...restForwardProps } = forwardProps;\n\t\tif (forwardProps) return import_react.default.Children.map(next, function(child) {\n\t\t\treturn /* @__PURE__ */ import_react.default.isValidElement(child) ? /* @__PURE__ */ import_react.default.cloneElement(child, {\n\t\t\t\tkey: child.key,\n\t\t\t\t...restForwardProps\n\t\t\t}) : child;\n\t\t});\n\t\treturn next;\n\t}));\n\treturn render(state.map(function(item) {\n\t\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.default.Fragment, { children: item.node }, item.name);\n\t}));\n}\n//# sourceMappingURL=GorhomPortal.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"GorhomPortal.native.js","names":[],"sources":["cjs/GorhomPortal.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\tfor (var name in all) __defProp(target, name, {\n\t\tget: all[name],\n\t\tenumerable: true\n\t});\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: () => from[key],\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n\t// If the importer is in node compatibility mode or this is not an ESM\n\t// file that has been converted to a CommonJS file using a Babel-\n\t// compatible transform (i.e. \"__esModule\" has not been set), then set\n\t// \"default\" to the CommonJS \"module.exports\" for node compatibility.\n\tisNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\t\tvalue: mod,\n\t\tenumerable: true\n\t}) : target,\n\tmod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar GorhomPortal_exports = {};\n__export(GorhomPortal_exports, {\n\tACTIONS: () => ACTIONS,\n\tINITIAL_STATE: () => INITIAL_STATE,\n\tPortalHost: () => PortalHost,\n\tPortalProvider: () => PortalProvider,\n\tusePortal: () => usePortal\n});\nmodule.exports = __toCommonJS(GorhomPortal_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_constants = require(\"@tamagui/constants\");\nvar import_native = require(\"@tamagui/native\");\nvar import_start_transition = require(\"@tamagui/start-transition\");\nvar import_react = __toESM(require(\"react\"), 1);\nrequire(\"./constants\");\nvar ACTIONS = /* @__PURE__ */ (function(ACTIONS2) {\n\tACTIONS2[ACTIONS2[\"REGISTER_HOST\"] = 0] = \"REGISTER_HOST\";\n\tACTIONS2[ACTIONS2[\"DEREGISTER_HOST\"] = 1] = \"DEREGISTER_HOST\";\n\tACTIONS2[ACTIONS2[\"ADD_UPDATE_PORTAL\"] = 2] = \"ADD_UPDATE_PORTAL\";\n\tACTIONS2[ACTIONS2[\"REMOVE_PORTAL\"] = 3] = \"REMOVE_PORTAL\";\n\treturn ACTIONS2;\n})(ACTIONS || {});\nvar INITIAL_STATE = {};\nvar registerHost = function(state, hostName) {\n\tif (!(hostName in state)) state[hostName] = [];\n\treturn state;\n};\nvar deregisterHost = function(state, hostName) {\n\tdelete state[hostName];\n\treturn state;\n};\nvar addUpdatePortal = function(state, hostName, portalName, node) {\n\tif (!(hostName in state)) state = registerHost(state, hostName);\n\tvar index = state[hostName].findIndex(function(item) {\n\t\treturn item.name === portalName;\n\t});\n\tif (index !== -1) state[hostName][index].node = node;\n\telse state[hostName].push({\n\t\tname: portalName,\n\t\tnode\n\t});\n\treturn state;\n};\nvar removePortal = function(state, hostName, portalName) {\n\tif (!(hostName in state)) {\n\t\tif (process.env.NODE_ENV === \"development\") console.info(`Failed to remove portal '${portalName}', '${hostName}' was not registered!`);\n\t\treturn state;\n\t}\n\tvar index = state[hostName].findIndex(function(item) {\n\t\treturn item.name === portalName;\n\t});\n\tif (index !== -1) state[hostName].splice(index, 1);\n\treturn state;\n};\nvar reducer = function(state, action) {\n\tvar { type } = action;\n\tswitch (type) {\n\t\tcase 0: return registerHost({ ...state }, action.hostName);\n\t\tcase 1: return deregisterHost({ ...state }, action.hostName);\n\t\tcase 2: return addUpdatePortal({ ...state }, action.hostName, action.portalName, action.node);\n\t\tcase 3: return removePortal({ ...state }, action.hostName, action.portalName);\n\t\tdefault: return state;\n\t}\n};\nvar PortalStateContext = /* @__PURE__ */ (0, import_react.createContext)(null);\nvar PortalDispatchContext = /* @__PURE__ */ (0, import_react.createContext)(null);\nvar PortalProviderActiveContext = /* @__PURE__ */ (0, import_react.createContext)(false);\nvar usePortalState = function(hostName) {\n\tvar state = (0, import_react.useContext)(PortalStateContext);\n\tif (state === null) throw new Error(\"'PortalStateContext' cannot be null, please add 'PortalProvider' to the root component.\");\n\treturn state[hostName] || [];\n};\nvar usePortal = function() {\n\tvar hostName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : \"root\";\n\tvar dispatch = (0, import_react.useContext)(PortalDispatchContext);\n\tif (dispatch === null) throw new Error(\"'PortalDispatchContext' cannot be null, please add 'PortalProvider' to the root component.\");\n\tvar registerHost2 = (0, import_react.useCallback)(function() {\n\t\tdispatch({\n\t\t\ttype: 0,\n\t\t\thostName\n\t\t});\n\t}, []);\n\tvar deregisterHost2 = (0, import_react.useCallback)(function() {\n\t\tdispatch({\n\t\t\ttype: 1,\n\t\t\thostName\n\t\t});\n\t}, []);\n\tvar addUpdatePortal2 = (0, import_react.useCallback)(function(name, node) {\n\t\tdispatch({\n\t\t\ttype: 2,\n\t\t\thostName,\n\t\t\tportalName: name,\n\t\t\tnode\n\t\t});\n\t}, []);\n\treturn {\n\t\tregisterHost: registerHost2,\n\t\tderegisterHost: deregisterHost2,\n\t\taddPortal: addUpdatePortal2,\n\t\tupdatePortal: addUpdatePortal2,\n\t\tremovePortal: (0, import_react.useCallback)(function(name) {\n\t\t\tdispatch({\n\t\t\t\ttype: 3,\n\t\t\t\thostName,\n\t\t\t\tportalName: name\n\t\t\t});\n\t\t}, [])\n\t};\n};\nvar PortalProviderComponent = function(param) {\n\tvar { rootHostName = \"root\", shouldAddRootHost = true, children } = param;\n\tvar isAlreadyInProvider = (0, import_react.useContext)(PortalProviderActiveContext);\n\tif (process.env.NODE_ENV === \"development\") {\n\t\tif (isAlreadyInProvider && shouldAddRootHost) console.warn(`[tamagui] Nested PortalProvider with shouldAddRootHost detected. This causes hydration mismatches. TamaguiProvider from 'tamagui' already includes PortalProvider - remove the explicit PortalProvider wrapper or set shouldAddRootHost={false}.`);\n\t}\n\tvar [state, dispatch] = (0, import_react.useReducer)(reducer, INITIAL_STATE);\n\tvar transitionDispatch = (0, import_react.useMemo)(function() {\n\t\tvar next = function(value) {\n\t\t\t(0, import_start_transition.startTransition)(function() {\n\t\t\t\tdispatch(value);\n\t\t\t});\n\t\t};\n\t\treturn next;\n\t}, [dispatch]);\n\tvar portalState = (0, import_native.getPortal)().state;\n\tvar content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalProviderActiveContext.Provider, {\n\t\tvalue: true,\n\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalDispatchContext.Provider, {\n\t\t\tvalue: transitionDispatch,\n\t\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(PortalStateContext.Provider, {\n\t\t\t\tvalue: state,\n\t\t\t\tchildren: [children, shouldAddRootHost && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalHost, { name: rootHostName })]\n\t\t\t})\n\t\t})\n\t});\n\tif (portalState.type === \"teleport\") return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_native.NativePortalProvider, { children: content });\n\treturn content;\n};\nvar PortalProvider = /* @__PURE__ */ (0, import_react.memo)(PortalProviderComponent);\nPortalProvider.displayName = \"PortalProvider\";\nvar defaultRenderer = function(children) {\n\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });\n};\nvar PortalHost = /* @__PURE__ */ (0, import_react.memo)(function PortalHost2(props) {\n\tif ((0, import_native.getPortal)().state.type === \"teleport\") return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_native.NativePortalHost, { name: props.name });\n\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalHostNonNative, { ...props });\n});\nfunction PortalHostNonNative(props) {\n\tvar { name, forwardProps, render = defaultRenderer } = props;\n\tvar state = usePortalState(name);\n\tvar { registerHost: registerHost2, deregisterHost: deregisterHost2 } = usePortal(props.name);\n\t(0, import_constants.useIsomorphicLayoutEffect)(function() {\n\t\tregisterHost2();\n\t\treturn function() {\n\t\t\tderegisterHost2();\n\t\t};\n\t}, []);\n\tif (forwardProps) return render(state.map(function(item) {\n\t\tvar next = item.node;\n\t\tvar { children, ...restForwardProps } = forwardProps;\n\t\tif (forwardProps) return import_react.default.Children.map(next, function(child) {\n\t\t\treturn /* @__PURE__ */ import_react.default.isValidElement(child) ? /* @__PURE__ */ import_react.default.cloneElement(child, {\n\t\t\t\tkey: child.key,\n\t\t\t\t...restForwardProps\n\t\t\t}) : child;\n\t\t});\n\t\treturn next;\n\t}));\n\treturn render(state.map(function(item) {\n\t\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.default.Fragment, { children: item.node }, item.name);\n\t}));\n}\n//# sourceMappingURL=GorhomPortal.js.map\n"],"mappings":"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"}
@@ -29,8 +29,10 @@ var import_native = require("@tamagui/native");
29
29
  var import_z_index_stack = require("@tamagui/z-index-stack");
30
30
  var import_GorhomPortalItem = require("./GorhomPortalItem.native.js");
31
31
  var import_helpers = require("./helpers.native.js");
32
+ var MAX_INT32_Z_INDEX = 2147483647;
32
33
  var Portal = function(propsIn) {
33
- var zIndex = (0, import_z_index_stack.useStackedZIndex)((0, import_helpers.getStackedZIndexProps)(propsIn));
34
+ var stackedZIndex = (0, import_z_index_stack.useStackedZIndex)((0, import_helpers.getStackedZIndexProps)(propsIn));
35
+ var zIndex = Math.min(stackedZIndex, MAX_INT32_Z_INDEX);
34
36
  var { children, passThrough } = propsIn;
35
37
  var contents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_core.View, {
36
38
  pointerEvents: "box-none",
@@ -29,8 +29,10 @@ var import_native = require("@tamagui/native");
29
29
  var import_z_index_stack = require("@tamagui/z-index-stack");
30
30
  var import_GorhomPortalItem = require("./GorhomPortalItem.native.js");
31
31
  var import_helpers = require("./helpers.native.js");
32
+ var MAX_INT32_Z_INDEX = 2147483647;
32
33
  var Portal = function(propsIn) {
33
- var zIndex = (0, import_z_index_stack.useStackedZIndex)((0, import_helpers.getStackedZIndexProps)(propsIn));
34
+ var stackedZIndex = (0, import_z_index_stack.useStackedZIndex)((0, import_helpers.getStackedZIndexProps)(propsIn));
35
+ var zIndex = Math.min(stackedZIndex, MAX_INT32_Z_INDEX);
34
36
  var { children, passThrough } = propsIn;
35
37
  var contents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_core.View, {
36
38
  pointerEvents: "box-none",
@@ -1 +1 @@
1
- {"version":3,"file":"Portal.native.js","names":[],"sources":["cjs/Portal.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 Portal_native_exports = {};\n__export(Portal_native_exports, {\n Portal: () => Portal\n});\nmodule.exports = __toCommonJS(Portal_native_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_core = require(\"@tamagui/core\");\nvar import_native = require(\"@tamagui/native\");\nvar import_z_index_stack = require(\"@tamagui/z-index-stack\");\nvar import_GorhomPortalItem = require(\"./GorhomPortalItem\");\nvar import_helpers = require(\"./helpers\");\nvar Portal = function(propsIn) {\n var zIndex = (0, import_z_index_stack.useStackedZIndex)((0, import_helpers.getStackedZIndexProps)(propsIn));\n var { children, passThrough } = propsIn;\n var contents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_core.View, {\n pointerEvents: \"box-none\",\n position: \"absolute\",\n inset: 0,\n maxWidth: \"100%\",\n zIndex,\n passThrough,\n children\n });\n var portalState = (0, import_native.getPortal)().state;\n if (portalState.type === \"teleport\") {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_native.NativePortal, {\n hostName: \"root\",\n children: contents\n });\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_GorhomPortalItem.GorhomPortalItem, {\n passThrough,\n hostName: \"root\",\n children: contents\n });\n};\n//# sourceMappingURL=Portal.native.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,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,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,wBAAwB,CAAC;AAC7B,SAAS,uBAAuB,EAC9B,cAAc,OAChB,CAAC;AACD,OAAO,UAAU,aAAa,qBAAqB;AACnD,IAAI,qBAAqB,QAAQ,mBAAmB;AACpD,IAAI,cAAc,QAAQ,eAAe;AACzC,IAAI,gBAAgB,QAAQ,iBAAiB;AAC7C,IAAI,uBAAuB,QAAQ,wBAAwB;AAC3D,IAAI,0BAA0B,QAAQ,8BAAoB;AAC1D,IAAI,iBAAiB,QAAQ,qBAAW;AACxC,IAAI,SAAS,SAAS,SAAS;CAC7B,IAAI,UAAU,GAAG,qBAAqB,iBAAgB,EAAG,GAAG,eAAe,sBAAqB,CAAE,OAAO,CAAC;CAC1G,IAAI,EAAE,UAAU,gBAAgB;CAChC,IAAI,WAA2B,iBAAC,GAAG,mBAAmB,IAAG,CAAE,YAAY,MAAM;EAC3E,eAAe;EACf,UAAU;EACV,OAAO;EACP,UAAU;EACV;EACA;EACA;CACF,CAAC;CACD,IAAI,eAAe,GAAG,cAAc,UAAS,CAAE,CAAC,CAAC;CACjD,IAAI,YAAY,SAAS,YAAY;EACnC,OAAuB,iBAAC,GAAG,mBAAmB,IAAG,CAAE,cAAc,cAAc;GAC7E,UAAU;GACV,UAAU;EACZ,CAAC;CACH;CACA,OAAuB,iBAAC,GAAG,mBAAmB,IAAG,CAAE,wBAAwB,kBAAkB;EAC3F;EACA,UAAU;EACV,UAAU;CACZ,CAAC;AACH"}
1
+ {"version":3,"file":"Portal.native.js","names":[],"sources":["cjs/Portal.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 Portal_native_exports = {};\n__export(Portal_native_exports, {\n Portal: () => Portal\n});\nmodule.exports = __toCommonJS(Portal_native_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_core = require(\"@tamagui/core\");\nvar import_native = require(\"@tamagui/native\");\nvar import_z_index_stack = require(\"@tamagui/z-index-stack\");\nvar import_GorhomPortalItem = require(\"./GorhomPortalItem\");\nvar import_helpers = require(\"./helpers\");\nvar MAX_INT32_Z_INDEX = 2147483647;\nvar Portal = function(propsIn) {\n var stackedZIndex = (0, import_z_index_stack.useStackedZIndex)((0, import_helpers.getStackedZIndexProps)(propsIn));\n var zIndex = Math.min(stackedZIndex, MAX_INT32_Z_INDEX);\n var { children, passThrough } = propsIn;\n var contents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_core.View, {\n pointerEvents: \"box-none\",\n position: \"absolute\",\n inset: 0,\n maxWidth: \"100%\",\n zIndex,\n passThrough,\n children\n });\n var portalState = (0, import_native.getPortal)().state;\n if (portalState.type === \"teleport\") {\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_native.NativePortal, {\n hostName: \"root\",\n children: contents\n });\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_GorhomPortalItem.GorhomPortalItem, {\n passThrough,\n hostName: \"root\",\n children: contents\n });\n};\n//# sourceMappingURL=Portal.native.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,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,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,wBAAwB,CAAC;AAC7B,SAAS,uBAAuB,EAC9B,cAAc,OAChB,CAAC;AACD,OAAO,UAAU,aAAa,qBAAqB;AACnD,IAAI,qBAAqB,QAAQ,mBAAmB;AACpD,IAAI,cAAc,QAAQ,eAAe;AACzC,IAAI,gBAAgB,QAAQ,iBAAiB;AAC7C,IAAI,uBAAuB,QAAQ,wBAAwB;AAC3D,IAAI,0BAA0B,QAAQ,8BAAoB;AAC1D,IAAI,iBAAiB,QAAQ,qBAAW;AACxC,IAAI,oBAAoB;AACxB,IAAI,SAAS,SAAS,SAAS;CAC7B,IAAI,iBAAiB,GAAG,qBAAqB,iBAAgB,EAAG,GAAG,eAAe,sBAAqB,CAAE,OAAO,CAAC;CACjH,IAAI,SAAS,KAAK,IAAI,eAAe,iBAAiB;CACtD,IAAI,EAAE,UAAU,gBAAgB;CAChC,IAAI,WAA2B,iBAAC,GAAG,mBAAmB,IAAG,CAAE,YAAY,MAAM;EAC3E,eAAe;EACf,UAAU;EACV,OAAO;EACP,UAAU;EACV;EACA;EACA;CACF,CAAC;CACD,IAAI,eAAe,GAAG,cAAc,UAAS,CAAE,CAAC,CAAC;CACjD,IAAI,YAAY,SAAS,YAAY;EACnC,OAAuB,iBAAC,GAAG,mBAAmB,IAAG,CAAE,cAAc,cAAc;GAC7E,UAAU;GACV,UAAU;EACZ,CAAC;CACH;CACA,OAAuB,iBAAC,GAAG,mBAAmB,IAAG,CAAE,wBAAwB,kBAAkB;EAC3F;EACA,UAAU;EACV,UAAU;CACZ,CAAC;AACH"}
@@ -111,7 +111,7 @@ const PortalProviderComponent = ({ rootHostName = "root", shouldAddRootHost = tr
111
111
  value: transitionDispatch,
112
112
  children: /* @__PURE__ */ jsxs(PortalStateContext.Provider, {
113
113
  value: state,
114
- children: [children, shouldAddRootHost && portalState.type !== "teleport" && /* @__PURE__ */ jsx(PortalHost, { name: rootHostName })]
114
+ children: [children, shouldAddRootHost && /* @__PURE__ */ jsx(PortalHost, { name: rootHostName })]
115
115
  })
116
116
  })
117
117
  });
@@ -1 +1 @@
1
- {"version":3,"file":"GorhomPortal.js","names":[],"sources":["esm/GorhomPortal.js"],"sourcesContent":["import { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { NativePortalProvider, getPortal } from \"@tamagui/native\";\nimport { startTransition } from \"@tamagui/start-transition\";\nimport { createContext, memo, useCallback, useContext, useMemo, useReducer } from \"react\";\nimport { allPortalHosts, portalListeners } from \"./constants\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\n\nvar ACTIONS = /* @__PURE__ */ ((ACTIONS2) => {\n\tACTIONS2[ACTIONS2[\"REGISTER_HOST\"] = 0] = \"REGISTER_HOST\";\n\tACTIONS2[ACTIONS2[\"DEREGISTER_HOST\"] = 1] = \"DEREGISTER_HOST\";\n\tACTIONS2[ACTIONS2[\"ADD_UPDATE_PORTAL\"] = 2] = \"ADD_UPDATE_PORTAL\";\n\tACTIONS2[ACTIONS2[\"REMOVE_PORTAL\"] = 3] = \"REMOVE_PORTAL\";\n\treturn ACTIONS2;\n})(ACTIONS || {});\nconst INITIAL_STATE = {};\nconst registerHost = (state, hostName) => {\n\tif (!(hostName in state)) state[hostName] = [];\n\treturn state;\n};\nconst deregisterHost = (state, hostName) => {\n\tdelete state[hostName];\n\treturn state;\n};\nconst addUpdatePortal = (state, hostName, portalName, node) => {\n\tif (!(hostName in state)) state = registerHost(state, hostName);\n\tconst index = state[hostName].findIndex((item) => item.name === portalName);\n\tif (index !== -1) state[hostName][index].node = node;\n\telse state[hostName].push({\n\t\tname: portalName,\n\t\tnode\n\t});\n\treturn state;\n};\nconst removePortal = (state, hostName, portalName) => {\n\tif (!(hostName in state)) {\n\t\tif (process.env.NODE_ENV === \"development\") console.info(`Failed to remove portal '${portalName}', '${hostName}' was not registered!`);\n\t\treturn state;\n\t}\n\tconst index = state[hostName].findIndex((item) => item.name === portalName);\n\tif (index !== -1) state[hostName].splice(index, 1);\n\treturn state;\n};\nconst reducer = (state, action) => {\n\tconst { type } = action;\n\tswitch (type) {\n\t\tcase 0: return registerHost({ ...state }, action.hostName);\n\t\tcase 1: return deregisterHost({ ...state }, action.hostName);\n\t\tcase 2: return addUpdatePortal({ ...state }, action.hostName, action.portalName, action.node);\n\t\tcase 3: return removePortal({ ...state }, action.hostName, action.portalName);\n\t\tdefault: return state;\n\t}\n};\nconst PortalStateContext = createContext(null);\nconst PortalDispatchContext = createContext(null);\nconst PortalProviderActiveContext = createContext(false);\nconst usePortal = (hostName = \"root\") => {\n\tconst dispatch = useContext(PortalDispatchContext);\n\tif (dispatch === null) throw new Error(\"'PortalDispatchContext' cannot be null, please add 'PortalProvider' to the root component.\");\n\tconst registerHost2 = useCallback(() => {\n\t\tdispatch({\n\t\t\ttype: 0,\n\t\t\thostName\n\t\t});\n\t}, []);\n\tconst deregisterHost2 = useCallback(() => {\n\t\tdispatch({\n\t\t\ttype: 1,\n\t\t\thostName\n\t\t});\n\t}, []);\n\tconst addUpdatePortal2 = useCallback((name, node) => {\n\t\tdispatch({\n\t\t\ttype: 2,\n\t\t\thostName,\n\t\t\tportalName: name,\n\t\t\tnode\n\t\t});\n\t}, []);\n\treturn {\n\t\tregisterHost: registerHost2,\n\t\tderegisterHost: deregisterHost2,\n\t\taddPortal: addUpdatePortal2,\n\t\tupdatePortal: addUpdatePortal2,\n\t\tremovePortal: useCallback((name) => {\n\t\t\tdispatch({\n\t\t\t\ttype: 3,\n\t\t\t\thostName,\n\t\t\t\tportalName: name\n\t\t\t});\n\t\t}, [])\n\t};\n};\nconst PortalProviderComponent = ({ rootHostName = \"root\", shouldAddRootHost = true, children }) => {\n\tconst isAlreadyInProvider = useContext(PortalProviderActiveContext);\n\tif (process.env.NODE_ENV === \"development\") {\n\t\tif (isAlreadyInProvider && shouldAddRootHost) console.warn(`[tamagui] Nested PortalProvider with shouldAddRootHost detected. This causes hydration mismatches. TamaguiProvider from 'tamagui' already includes PortalProvider - remove the explicit PortalProvider wrapper or set shouldAddRootHost={false}.`);\n\t}\n\tconst [state, dispatch] = useReducer(reducer, INITIAL_STATE);\n\tconst transitionDispatch = useMemo(() => {\n\t\tconst next = (value) => {\n\t\t\tstartTransition(() => {\n\t\t\t\tdispatch(value);\n\t\t\t});\n\t\t};\n\t\treturn next;\n\t}, [dispatch]);\n\tconst portalState = getPortal().state;\n\tconst content = /* @__PURE__ */ jsx(PortalProviderActiveContext.Provider, {\n\t\tvalue: true,\n\t\tchildren: /* @__PURE__ */ jsx(PortalDispatchContext.Provider, {\n\t\t\tvalue: transitionDispatch,\n\t\t\tchildren: /* @__PURE__ */ jsxs(PortalStateContext.Provider, {\n\t\t\t\tvalue: state,\n\t\t\t\tchildren: [children, shouldAddRootHost && portalState.type !== \"teleport\" && /* @__PURE__ */ jsx(PortalHost, { name: rootHostName })]\n\t\t\t})\n\t\t})\n\t});\n\tif (portalState.type === \"teleport\") return /* @__PURE__ */ jsx(NativePortalProvider, { children: content });\n\treturn content;\n};\nconst PortalProvider = memo(PortalProviderComponent);\nPortalProvider.displayName = \"PortalProvider\";\nconst PortalHost = memo(function PortalHost2(props) {\n\treturn /* @__PURE__ */ jsx(PortalHostWeb, { ...props });\n});\nfunction PortalHostWeb(props) {\n\tuseIsomorphicLayoutEffect(() => {\n\t\treturn () => {\n\t\t\tallPortalHosts.delete(props.name);\n\t\t};\n\t}, [props.name]);\n\treturn /* @__PURE__ */ jsx(\"div\", {\n\t\tstyle: { display: \"contents\" },\n\t\tref: (node) => {\n\t\t\tif (node) {\n\t\t\t\tallPortalHosts.set(props.name, node);\n\t\t\t\tportalListeners[props.name]?.forEach((x) => x(node));\n\t\t\t}\n\t\t}\n\t});\n}\n\nexport { ACTIONS, INITIAL_STATE, PortalHost, PortalProvider, usePortal };"],"mappings":"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"}
1
+ {"version":3,"file":"GorhomPortal.js","names":[],"sources":["esm/GorhomPortal.js"],"sourcesContent":["import { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { NativePortalProvider, getPortal } from \"@tamagui/native\";\nimport { startTransition } from \"@tamagui/start-transition\";\nimport { createContext, memo, useCallback, useContext, useMemo, useReducer } from \"react\";\nimport { allPortalHosts, portalListeners } from \"./constants\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\n\nvar ACTIONS = /* @__PURE__ */ ((ACTIONS2) => {\n\tACTIONS2[ACTIONS2[\"REGISTER_HOST\"] = 0] = \"REGISTER_HOST\";\n\tACTIONS2[ACTIONS2[\"DEREGISTER_HOST\"] = 1] = \"DEREGISTER_HOST\";\n\tACTIONS2[ACTIONS2[\"ADD_UPDATE_PORTAL\"] = 2] = \"ADD_UPDATE_PORTAL\";\n\tACTIONS2[ACTIONS2[\"REMOVE_PORTAL\"] = 3] = \"REMOVE_PORTAL\";\n\treturn ACTIONS2;\n})(ACTIONS || {});\nconst INITIAL_STATE = {};\nconst registerHost = (state, hostName) => {\n\tif (!(hostName in state)) state[hostName] = [];\n\treturn state;\n};\nconst deregisterHost = (state, hostName) => {\n\tdelete state[hostName];\n\treturn state;\n};\nconst addUpdatePortal = (state, hostName, portalName, node) => {\n\tif (!(hostName in state)) state = registerHost(state, hostName);\n\tconst index = state[hostName].findIndex((item) => item.name === portalName);\n\tif (index !== -1) state[hostName][index].node = node;\n\telse state[hostName].push({\n\t\tname: portalName,\n\t\tnode\n\t});\n\treturn state;\n};\nconst removePortal = (state, hostName, portalName) => {\n\tif (!(hostName in state)) {\n\t\tif (process.env.NODE_ENV === \"development\") console.info(`Failed to remove portal '${portalName}', '${hostName}' was not registered!`);\n\t\treturn state;\n\t}\n\tconst index = state[hostName].findIndex((item) => item.name === portalName);\n\tif (index !== -1) state[hostName].splice(index, 1);\n\treturn state;\n};\nconst reducer = (state, action) => {\n\tconst { type } = action;\n\tswitch (type) {\n\t\tcase 0: return registerHost({ ...state }, action.hostName);\n\t\tcase 1: return deregisterHost({ ...state }, action.hostName);\n\t\tcase 2: return addUpdatePortal({ ...state }, action.hostName, action.portalName, action.node);\n\t\tcase 3: return removePortal({ ...state }, action.hostName, action.portalName);\n\t\tdefault: return state;\n\t}\n};\nconst PortalStateContext = createContext(null);\nconst PortalDispatchContext = createContext(null);\nconst PortalProviderActiveContext = createContext(false);\nconst usePortal = (hostName = \"root\") => {\n\tconst dispatch = useContext(PortalDispatchContext);\n\tif (dispatch === null) throw new Error(\"'PortalDispatchContext' cannot be null, please add 'PortalProvider' to the root component.\");\n\tconst registerHost2 = useCallback(() => {\n\t\tdispatch({\n\t\t\ttype: 0,\n\t\t\thostName\n\t\t});\n\t}, []);\n\tconst deregisterHost2 = useCallback(() => {\n\t\tdispatch({\n\t\t\ttype: 1,\n\t\t\thostName\n\t\t});\n\t}, []);\n\tconst addUpdatePortal2 = useCallback((name, node) => {\n\t\tdispatch({\n\t\t\ttype: 2,\n\t\t\thostName,\n\t\t\tportalName: name,\n\t\t\tnode\n\t\t});\n\t}, []);\n\treturn {\n\t\tregisterHost: registerHost2,\n\t\tderegisterHost: deregisterHost2,\n\t\taddPortal: addUpdatePortal2,\n\t\tupdatePortal: addUpdatePortal2,\n\t\tremovePortal: useCallback((name) => {\n\t\t\tdispatch({\n\t\t\t\ttype: 3,\n\t\t\t\thostName,\n\t\t\t\tportalName: name\n\t\t\t});\n\t\t}, [])\n\t};\n};\nconst PortalProviderComponent = ({ rootHostName = \"root\", shouldAddRootHost = true, children }) => {\n\tconst isAlreadyInProvider = useContext(PortalProviderActiveContext);\n\tif (process.env.NODE_ENV === \"development\") {\n\t\tif (isAlreadyInProvider && shouldAddRootHost) console.warn(`[tamagui] Nested PortalProvider with shouldAddRootHost detected. This causes hydration mismatches. TamaguiProvider from 'tamagui' already includes PortalProvider - remove the explicit PortalProvider wrapper or set shouldAddRootHost={false}.`);\n\t}\n\tconst [state, dispatch] = useReducer(reducer, INITIAL_STATE);\n\tconst transitionDispatch = useMemo(() => {\n\t\tconst next = (value) => {\n\t\t\tstartTransition(() => {\n\t\t\t\tdispatch(value);\n\t\t\t});\n\t\t};\n\t\treturn next;\n\t}, [dispatch]);\n\tconst portalState = getPortal().state;\n\tconst content = /* @__PURE__ */ jsx(PortalProviderActiveContext.Provider, {\n\t\tvalue: true,\n\t\tchildren: /* @__PURE__ */ jsx(PortalDispatchContext.Provider, {\n\t\t\tvalue: transitionDispatch,\n\t\t\tchildren: /* @__PURE__ */ jsxs(PortalStateContext.Provider, {\n\t\t\t\tvalue: state,\n\t\t\t\tchildren: [children, shouldAddRootHost && /* @__PURE__ */ jsx(PortalHost, { name: rootHostName })]\n\t\t\t})\n\t\t})\n\t});\n\tif (portalState.type === \"teleport\") return /* @__PURE__ */ jsx(NativePortalProvider, { children: content });\n\treturn content;\n};\nconst PortalProvider = memo(PortalProviderComponent);\nPortalProvider.displayName = \"PortalProvider\";\nconst PortalHost = memo(function PortalHost2(props) {\n\treturn /* @__PURE__ */ jsx(PortalHostWeb, { ...props });\n});\nfunction PortalHostWeb(props) {\n\tuseIsomorphicLayoutEffect(() => {\n\t\treturn () => {\n\t\t\tallPortalHosts.delete(props.name);\n\t\t};\n\t}, [props.name]);\n\treturn /* @__PURE__ */ jsx(\"div\", {\n\t\tstyle: { display: \"contents\" },\n\t\tref: (node) => {\n\t\t\tif (node) {\n\t\t\t\tallPortalHosts.set(props.name, node);\n\t\t\t\tportalListeners[props.name]?.forEach((x) => x(node));\n\t\t\t}\n\t\t}\n\t});\n}\n\nexport { ACTIONS, INITIAL_STATE, PortalHost, PortalProvider, usePortal };"],"mappings":"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"}
@@ -121,7 +121,7 @@ var PortalProviderComponent = function(param) {
121
121
  value: transitionDispatch,
122
122
  children: /* @__PURE__ */ jsxs(PortalStateContext.Provider, {
123
123
  value: state,
124
- children: [children, shouldAddRootHost && portalState.type !== "teleport" && /* @__PURE__ */ jsx(PortalHost, { name: rootHostName })]
124
+ children: [children, shouldAddRootHost && /* @__PURE__ */ jsx(PortalHost, { name: rootHostName })]
125
125
  })
126
126
  })
127
127
  });
@@ -1 +1 @@
1
- {"version":3,"file":"GorhomPortal.native.js","names":[],"sources":["esm/GorhomPortal.native.js"],"sourcesContent":["import { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nimport { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { NativePortalHost, NativePortalProvider, getPortal } from \"@tamagui/native\";\nimport { startTransition } from \"@tamagui/start-transition\";\nimport React, { createContext, memo, useCallback, useContext, useMemo, useReducer } from \"react\";\n\nvar ACTIONS = /* @__PURE__ */ (function(ACTIONS2) {\n\tACTIONS2[ACTIONS2[\"REGISTER_HOST\"] = 0] = \"REGISTER_HOST\";\n\tACTIONS2[ACTIONS2[\"DEREGISTER_HOST\"] = 1] = \"DEREGISTER_HOST\";\n\tACTIONS2[ACTIONS2[\"ADD_UPDATE_PORTAL\"] = 2] = \"ADD_UPDATE_PORTAL\";\n\tACTIONS2[ACTIONS2[\"REMOVE_PORTAL\"] = 3] = \"REMOVE_PORTAL\";\n\treturn ACTIONS2;\n})(ACTIONS || {});\nvar INITIAL_STATE = {};\nvar registerHost = function(state, hostName) {\n\tif (!(hostName in state)) state[hostName] = [];\n\treturn state;\n};\nvar deregisterHost = function(state, hostName) {\n\tdelete state[hostName];\n\treturn state;\n};\nvar addUpdatePortal = function(state, hostName, portalName, node) {\n\tif (!(hostName in state)) state = registerHost(state, hostName);\n\tvar index = state[hostName].findIndex(function(item) {\n\t\treturn item.name === portalName;\n\t});\n\tif (index !== -1) state[hostName][index].node = node;\n\telse state[hostName].push({\n\t\tname: portalName,\n\t\tnode\n\t});\n\treturn state;\n};\nvar removePortal = function(state, hostName, portalName) {\n\tif (!(hostName in state)) {\n\t\tif (process.env.NODE_ENV === \"development\") console.info(`Failed to remove portal '${portalName}', '${hostName}' was not registered!`);\n\t\treturn state;\n\t}\n\tvar index = state[hostName].findIndex(function(item) {\n\t\treturn item.name === portalName;\n\t});\n\tif (index !== -1) state[hostName].splice(index, 1);\n\treturn state;\n};\nvar reducer = function(state, action) {\n\tvar { type } = action;\n\tswitch (type) {\n\t\tcase 0: return registerHost({ ...state }, action.hostName);\n\t\tcase 1: return deregisterHost({ ...state }, action.hostName);\n\t\tcase 2: return addUpdatePortal({ ...state }, action.hostName, action.portalName, action.node);\n\t\tcase 3: return removePortal({ ...state }, action.hostName, action.portalName);\n\t\tdefault: return state;\n\t}\n};\nvar PortalStateContext = /* @__PURE__ */ createContext(null);\nvar PortalDispatchContext = /* @__PURE__ */ createContext(null);\nvar PortalProviderActiveContext = /* @__PURE__ */ createContext(false);\nvar usePortalState = function(hostName) {\n\tvar state = useContext(PortalStateContext);\n\tif (state === null) throw new Error(\"'PortalStateContext' cannot be null, please add 'PortalProvider' to the root component.\");\n\treturn state[hostName] || [];\n};\nvar usePortal = function() {\n\tvar hostName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : \"root\";\n\tvar dispatch = useContext(PortalDispatchContext);\n\tif (dispatch === null) throw new Error(\"'PortalDispatchContext' cannot be null, please add 'PortalProvider' to the root component.\");\n\tvar registerHost2 = useCallback(function() {\n\t\tdispatch({\n\t\t\ttype: 0,\n\t\t\thostName\n\t\t});\n\t}, []);\n\tvar deregisterHost2 = useCallback(function() {\n\t\tdispatch({\n\t\t\ttype: 1,\n\t\t\thostName\n\t\t});\n\t}, []);\n\tvar addUpdatePortal2 = useCallback(function(name, node) {\n\t\tdispatch({\n\t\t\ttype: 2,\n\t\t\thostName,\n\t\t\tportalName: name,\n\t\t\tnode\n\t\t});\n\t}, []);\n\treturn {\n\t\tregisterHost: registerHost2,\n\t\tderegisterHost: deregisterHost2,\n\t\taddPortal: addUpdatePortal2,\n\t\tupdatePortal: addUpdatePortal2,\n\t\tremovePortal: useCallback(function(name) {\n\t\t\tdispatch({\n\t\t\t\ttype: 3,\n\t\t\t\thostName,\n\t\t\t\tportalName: name\n\t\t\t});\n\t\t}, [])\n\t};\n};\nvar PortalProviderComponent = function(param) {\n\tvar { rootHostName = \"root\", shouldAddRootHost = true, children } = param;\n\tvar isAlreadyInProvider = useContext(PortalProviderActiveContext);\n\tif (process.env.NODE_ENV === \"development\") {\n\t\tif (isAlreadyInProvider && shouldAddRootHost) console.warn(`[tamagui] Nested PortalProvider with shouldAddRootHost detected. This causes hydration mismatches. TamaguiProvider from 'tamagui' already includes PortalProvider - remove the explicit PortalProvider wrapper or set shouldAddRootHost={false}.`);\n\t}\n\tvar [state, dispatch] = useReducer(reducer, INITIAL_STATE);\n\tvar transitionDispatch = useMemo(function() {\n\t\tvar next = function(value) {\n\t\t\tstartTransition(function() {\n\t\t\t\tdispatch(value);\n\t\t\t});\n\t\t};\n\t\treturn next;\n\t}, [dispatch]);\n\tvar portalState = getPortal().state;\n\tvar content = /* @__PURE__ */ jsx(PortalProviderActiveContext.Provider, {\n\t\tvalue: true,\n\t\tchildren: /* @__PURE__ */ jsx(PortalDispatchContext.Provider, {\n\t\t\tvalue: transitionDispatch,\n\t\t\tchildren: /* @__PURE__ */ jsxs(PortalStateContext.Provider, {\n\t\t\t\tvalue: state,\n\t\t\t\tchildren: [children, shouldAddRootHost && portalState.type !== \"teleport\" && /* @__PURE__ */ jsx(PortalHost, { name: rootHostName })]\n\t\t\t})\n\t\t})\n\t});\n\tif (portalState.type === \"teleport\") return /* @__PURE__ */ jsx(NativePortalProvider, { children: content });\n\treturn content;\n};\nvar PortalProvider = /* @__PURE__ */ memo(PortalProviderComponent);\nPortalProvider.displayName = \"PortalProvider\";\nvar defaultRenderer = function(children) {\n\treturn /* @__PURE__ */ jsx(Fragment, { children });\n};\nvar PortalHost = /* @__PURE__ */ memo(function PortalHost2(props) {\n\tif (getPortal().state.type === \"teleport\") return /* @__PURE__ */ jsx(NativePortalHost, { name: props.name });\n\treturn /* @__PURE__ */ jsx(PortalHostNonNative, { ...props });\n});\nfunction PortalHostNonNative(props) {\n\tvar { name, forwardProps, render = defaultRenderer } = props;\n\tvar state = usePortalState(name);\n\tvar { registerHost: registerHost2, deregisterHost: deregisterHost2 } = usePortal(props.name);\n\tuseIsomorphicLayoutEffect(function() {\n\t\tregisterHost2();\n\t\treturn function() {\n\t\t\tderegisterHost2();\n\t\t};\n\t}, []);\n\tif (forwardProps) return render(state.map(function(item) {\n\t\tvar next = item.node;\n\t\tvar { children, ...restForwardProps } = forwardProps;\n\t\tif (forwardProps) return React.Children.map(next, function(child) {\n\t\t\treturn /* @__PURE__ */ React.isValidElement(child) ? /* @__PURE__ */ React.cloneElement(child, {\n\t\t\t\tkey: child.key,\n\t\t\t\t...restForwardProps\n\t\t\t}) : child;\n\t\t});\n\t\treturn next;\n\t}));\n\treturn render(state.map(function(item) {\n\t\treturn /* @__PURE__ */ jsx(React.Fragment, { children: item.node }, item.name);\n\t}));\n}\n\nexport { ACTIONS, INITIAL_STATE, PortalHost, PortalProvider, usePortal };"],"mappings":"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"}
1
+ {"version":3,"file":"GorhomPortal.native.js","names":[],"sources":["esm/GorhomPortal.native.js"],"sourcesContent":["import { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nimport { useIsomorphicLayoutEffect } from \"@tamagui/constants\";\nimport { NativePortalHost, NativePortalProvider, getPortal } from \"@tamagui/native\";\nimport { startTransition } from \"@tamagui/start-transition\";\nimport React, { createContext, memo, useCallback, useContext, useMemo, useReducer } from \"react\";\n\nvar ACTIONS = /* @__PURE__ */ (function(ACTIONS2) {\n\tACTIONS2[ACTIONS2[\"REGISTER_HOST\"] = 0] = \"REGISTER_HOST\";\n\tACTIONS2[ACTIONS2[\"DEREGISTER_HOST\"] = 1] = \"DEREGISTER_HOST\";\n\tACTIONS2[ACTIONS2[\"ADD_UPDATE_PORTAL\"] = 2] = \"ADD_UPDATE_PORTAL\";\n\tACTIONS2[ACTIONS2[\"REMOVE_PORTAL\"] = 3] = \"REMOVE_PORTAL\";\n\treturn ACTIONS2;\n})(ACTIONS || {});\nvar INITIAL_STATE = {};\nvar registerHost = function(state, hostName) {\n\tif (!(hostName in state)) state[hostName] = [];\n\treturn state;\n};\nvar deregisterHost = function(state, hostName) {\n\tdelete state[hostName];\n\treturn state;\n};\nvar addUpdatePortal = function(state, hostName, portalName, node) {\n\tif (!(hostName in state)) state = registerHost(state, hostName);\n\tvar index = state[hostName].findIndex(function(item) {\n\t\treturn item.name === portalName;\n\t});\n\tif (index !== -1) state[hostName][index].node = node;\n\telse state[hostName].push({\n\t\tname: portalName,\n\t\tnode\n\t});\n\treturn state;\n};\nvar removePortal = function(state, hostName, portalName) {\n\tif (!(hostName in state)) {\n\t\tif (process.env.NODE_ENV === \"development\") console.info(`Failed to remove portal '${portalName}', '${hostName}' was not registered!`);\n\t\treturn state;\n\t}\n\tvar index = state[hostName].findIndex(function(item) {\n\t\treturn item.name === portalName;\n\t});\n\tif (index !== -1) state[hostName].splice(index, 1);\n\treturn state;\n};\nvar reducer = function(state, action) {\n\tvar { type } = action;\n\tswitch (type) {\n\t\tcase 0: return registerHost({ ...state }, action.hostName);\n\t\tcase 1: return deregisterHost({ ...state }, action.hostName);\n\t\tcase 2: return addUpdatePortal({ ...state }, action.hostName, action.portalName, action.node);\n\t\tcase 3: return removePortal({ ...state }, action.hostName, action.portalName);\n\t\tdefault: return state;\n\t}\n};\nvar PortalStateContext = /* @__PURE__ */ createContext(null);\nvar PortalDispatchContext = /* @__PURE__ */ createContext(null);\nvar PortalProviderActiveContext = /* @__PURE__ */ createContext(false);\nvar usePortalState = function(hostName) {\n\tvar state = useContext(PortalStateContext);\n\tif (state === null) throw new Error(\"'PortalStateContext' cannot be null, please add 'PortalProvider' to the root component.\");\n\treturn state[hostName] || [];\n};\nvar usePortal = function() {\n\tvar hostName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : \"root\";\n\tvar dispatch = useContext(PortalDispatchContext);\n\tif (dispatch === null) throw new Error(\"'PortalDispatchContext' cannot be null, please add 'PortalProvider' to the root component.\");\n\tvar registerHost2 = useCallback(function() {\n\t\tdispatch({\n\t\t\ttype: 0,\n\t\t\thostName\n\t\t});\n\t}, []);\n\tvar deregisterHost2 = useCallback(function() {\n\t\tdispatch({\n\t\t\ttype: 1,\n\t\t\thostName\n\t\t});\n\t}, []);\n\tvar addUpdatePortal2 = useCallback(function(name, node) {\n\t\tdispatch({\n\t\t\ttype: 2,\n\t\t\thostName,\n\t\t\tportalName: name,\n\t\t\tnode\n\t\t});\n\t}, []);\n\treturn {\n\t\tregisterHost: registerHost2,\n\t\tderegisterHost: deregisterHost2,\n\t\taddPortal: addUpdatePortal2,\n\t\tupdatePortal: addUpdatePortal2,\n\t\tremovePortal: useCallback(function(name) {\n\t\t\tdispatch({\n\t\t\t\ttype: 3,\n\t\t\t\thostName,\n\t\t\t\tportalName: name\n\t\t\t});\n\t\t}, [])\n\t};\n};\nvar PortalProviderComponent = function(param) {\n\tvar { rootHostName = \"root\", shouldAddRootHost = true, children } = param;\n\tvar isAlreadyInProvider = useContext(PortalProviderActiveContext);\n\tif (process.env.NODE_ENV === \"development\") {\n\t\tif (isAlreadyInProvider && shouldAddRootHost) console.warn(`[tamagui] Nested PortalProvider with shouldAddRootHost detected. This causes hydration mismatches. TamaguiProvider from 'tamagui' already includes PortalProvider - remove the explicit PortalProvider wrapper or set shouldAddRootHost={false}.`);\n\t}\n\tvar [state, dispatch] = useReducer(reducer, INITIAL_STATE);\n\tvar transitionDispatch = useMemo(function() {\n\t\tvar next = function(value) {\n\t\t\tstartTransition(function() {\n\t\t\t\tdispatch(value);\n\t\t\t});\n\t\t};\n\t\treturn next;\n\t}, [dispatch]);\n\tvar portalState = getPortal().state;\n\tvar content = /* @__PURE__ */ jsx(PortalProviderActiveContext.Provider, {\n\t\tvalue: true,\n\t\tchildren: /* @__PURE__ */ jsx(PortalDispatchContext.Provider, {\n\t\t\tvalue: transitionDispatch,\n\t\t\tchildren: /* @__PURE__ */ jsxs(PortalStateContext.Provider, {\n\t\t\t\tvalue: state,\n\t\t\t\tchildren: [children, shouldAddRootHost && /* @__PURE__ */ jsx(PortalHost, { name: rootHostName })]\n\t\t\t})\n\t\t})\n\t});\n\tif (portalState.type === \"teleport\") return /* @__PURE__ */ jsx(NativePortalProvider, { children: content });\n\treturn content;\n};\nvar PortalProvider = /* @__PURE__ */ memo(PortalProviderComponent);\nPortalProvider.displayName = \"PortalProvider\";\nvar defaultRenderer = function(children) {\n\treturn /* @__PURE__ */ jsx(Fragment, { children });\n};\nvar PortalHost = /* @__PURE__ */ memo(function PortalHost2(props) {\n\tif (getPortal().state.type === \"teleport\") return /* @__PURE__ */ jsx(NativePortalHost, { name: props.name });\n\treturn /* @__PURE__ */ jsx(PortalHostNonNative, { ...props });\n});\nfunction PortalHostNonNative(props) {\n\tvar { name, forwardProps, render = defaultRenderer } = props;\n\tvar state = usePortalState(name);\n\tvar { registerHost: registerHost2, deregisterHost: deregisterHost2 } = usePortal(props.name);\n\tuseIsomorphicLayoutEffect(function() {\n\t\tregisterHost2();\n\t\treturn function() {\n\t\t\tderegisterHost2();\n\t\t};\n\t}, []);\n\tif (forwardProps) return render(state.map(function(item) {\n\t\tvar next = item.node;\n\t\tvar { children, ...restForwardProps } = forwardProps;\n\t\tif (forwardProps) return React.Children.map(next, function(child) {\n\t\t\treturn /* @__PURE__ */ React.isValidElement(child) ? /* @__PURE__ */ React.cloneElement(child, {\n\t\t\t\tkey: child.key,\n\t\t\t\t...restForwardProps\n\t\t\t}) : child;\n\t\t});\n\t\treturn next;\n\t}));\n\treturn render(state.map(function(item) {\n\t\treturn /* @__PURE__ */ jsx(React.Fragment, { children: item.node }, item.name);\n\t}));\n}\n\nexport { ACTIONS, INITIAL_STATE, PortalHost, PortalProvider, usePortal };"],"mappings":"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"}
@@ -5,8 +5,10 @@ import { useStackedZIndex } from "@tamagui/z-index-stack";
5
5
  import { GorhomPortalItem } from "./GorhomPortalItem.native.js";
6
6
  import { getStackedZIndexProps } from "./helpers.native.js";
7
7
 
8
+ var MAX_INT32_Z_INDEX = 2147483647;
8
9
  var Portal = function(propsIn) {
9
- var zIndex = useStackedZIndex(getStackedZIndexProps(propsIn));
10
+ var stackedZIndex = useStackedZIndex(getStackedZIndexProps(propsIn));
11
+ var zIndex = Math.min(stackedZIndex, MAX_INT32_Z_INDEX);
10
12
  var { children, passThrough } = propsIn;
11
13
  var contents = /* @__PURE__ */ jsx(View, {
12
14
  pointerEvents: "box-none",
@@ -1 +1 @@
1
- {"version":3,"file":"Portal.native.js","names":[],"sources":["esm/Portal.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { View } from \"@tamagui/core\";\nimport { getPortal, NativePortal } from \"@tamagui/native\";\nimport { useStackedZIndex } from \"@tamagui/z-index-stack\";\nimport { GorhomPortalItem } from \"./GorhomPortalItem\";\nimport { getStackedZIndexProps } from \"./helpers\";\nvar Portal = function(propsIn) {\n var zIndex = useStackedZIndex(getStackedZIndexProps(propsIn));\n var { children, passThrough } = propsIn;\n var contents = /* @__PURE__ */ _jsx(View, {\n pointerEvents: \"box-none\",\n position: \"absolute\",\n inset: 0,\n maxWidth: \"100%\",\n zIndex,\n passThrough,\n children\n });\n var portalState = getPortal().state;\n if (portalState.type === \"teleport\") {\n return /* @__PURE__ */ _jsx(NativePortal, {\n hostName: \"root\",\n children: contents\n });\n }\n return /* @__PURE__ */ _jsx(GorhomPortalItem, {\n passThrough,\n hostName: \"root\",\n children: contents\n });\n};\nexport {\n Portal\n};\n//# sourceMappingURL=Portal.native.js.map\n"],"mappings":";;;;;;;;AAMA,IAAI,SAAS,SAAS,SAAS;CAC7B,IAAI,SAAS,iBAAiB,sBAAsB,OAAO,CAAC;CAC5D,IAAI,EAAE,UAAU,gBAAgB;CAChC,IAAI,WAA2B,oBAAK,MAAM;EACxC,eAAe;EACf,UAAU;EACV,OAAO;EACP,UAAU;EACV;EACA;EACA;CACF,CAAC;CACD,IAAI,cAAc,UAAU,CAAC,CAAC;CAC9B,IAAI,YAAY,SAAS,YAAY;EACnC,OAAuB,oBAAK,cAAc;GACxC,UAAU;GACV,UAAU;EACZ,CAAC;CACH;CACA,OAAuB,oBAAK,kBAAkB;EAC5C;EACA,UAAU;EACV,UAAU;CACZ,CAAC;AACH"}
1
+ {"version":3,"file":"Portal.native.js","names":[],"sources":["esm/Portal.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { View } from \"@tamagui/core\";\nimport { getPortal, NativePortal } from \"@tamagui/native\";\nimport { useStackedZIndex } from \"@tamagui/z-index-stack\";\nimport { GorhomPortalItem } from \"./GorhomPortalItem\";\nimport { getStackedZIndexProps } from \"./helpers\";\nvar MAX_INT32_Z_INDEX = 2147483647;\nvar Portal = function(propsIn) {\n var stackedZIndex = useStackedZIndex(getStackedZIndexProps(propsIn));\n var zIndex = Math.min(stackedZIndex, MAX_INT32_Z_INDEX);\n var { children, passThrough } = propsIn;\n var contents = /* @__PURE__ */ _jsx(View, {\n pointerEvents: \"box-none\",\n position: \"absolute\",\n inset: 0,\n maxWidth: \"100%\",\n zIndex,\n passThrough,\n children\n });\n var portalState = getPortal().state;\n if (portalState.type === \"teleport\") {\n return /* @__PURE__ */ _jsx(NativePortal, {\n hostName: \"root\",\n children: contents\n });\n }\n return /* @__PURE__ */ _jsx(GorhomPortalItem, {\n passThrough,\n hostName: \"root\",\n children: contents\n });\n};\nexport {\n Portal\n};\n//# sourceMappingURL=Portal.native.js.map\n"],"mappings":";;;;;;;;AAMA,IAAI,oBAAoB;AACxB,IAAI,SAAS,SAAS,SAAS;CAC7B,IAAI,gBAAgB,iBAAiB,sBAAsB,OAAO,CAAC;CACnE,IAAI,SAAS,KAAK,IAAI,eAAe,iBAAiB;CACtD,IAAI,EAAE,UAAU,gBAAgB;CAChC,IAAI,WAA2B,oBAAK,MAAM;EACxC,eAAe;EACf,UAAU;EACV,OAAO;EACP,UAAU;EACV;EACA;EACA;CACF,CAAC;CACD,IAAI,cAAc,UAAU,CAAC,CAAC;CAC9B,IAAI,YAAY,SAAS,YAAY;EACnC,OAAuB,oBAAK,cAAc;GACxC,UAAU;GACV,UAAU;EACZ,CAAC;CACH;CACA,OAAuB,oBAAK,kBAAkB;EAC5C;EACA,UAAU;EACV,UAAU;CACZ,CAAC;AACH"}
@@ -1,15 +1,10 @@
1
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof require !== "undefined" ? require : a)[b] }) : x)(function(x) {
2
- if (typeof require !== "undefined") return require.apply(this, arguments);
3
- throw Error("Calling `require` for \"" + x + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
4
- });
5
-
6
1
  const IS_FABRIC = typeof global !== "undefined" && Boolean(global._IS_FABRIC ?? global.nativeFabricUIManager);
7
2
  const setupNativePortal = () => {
8
3
  const g = globalThis;
9
4
  if (g.__tamagui_portal_create) return;
10
5
  if (IS_FABRIC) {
11
6
  try {
12
- const mod = __require("react-native/Libraries/Renderer/shims/ReactFabric");
7
+ const mod = require("react-native/Libraries/Renderer/shims/ReactFabric");
13
8
  g.__tamagui_portal_create = mod?.default?.createPortal ?? mod.createPortal;
14
9
  } catch (err) {
15
10
  console.info(`Note: error importing fabric portal, native portals disabled`, err);
@@ -17,7 +12,7 @@ const setupNativePortal = () => {
17
12
  return;
18
13
  }
19
14
  try {
20
- const mod = __require("react-native/Libraries/Renderer/shims/ReactNative");
15
+ const mod = require("react-native/Libraries/Renderer/shims/ReactNative");
21
16
  g.__tamagui_portal_create = mod?.default?.createPortal ?? mod.createPortal;
22
17
  } catch (err) {
23
18
  console.info(`Note: error importing native portal, native portals disabled`, err);
@@ -1,8 +1,3 @@
1
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof require !== "undefined" ? require : a)[b] }) : x)(function(x) {
2
- if (typeof require !== "undefined") return require.apply(this, arguments);
3
- throw Error("Calling `require` for \"" + x + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
4
- });
5
-
6
1
  var _global__IS_FABRIC;
7
2
  var IS_FABRIC = typeof global !== "undefined" && Boolean((_global__IS_FABRIC = global._IS_FABRIC) !== null && _global__IS_FABRIC !== void 0 ? _global__IS_FABRIC : global.nativeFabricUIManager);
8
3
  var setupNativePortal = function() {
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@tamagui/portal",
3
- "version": "3.0.0-beta.922.1",
3
+ "version": "3.0.0",
4
+ "license": "MIT",
4
5
  "source": "src/index.ts",
5
6
  "files": [
6
7
  "src",
@@ -34,20 +35,20 @@
34
35
  "clean:build": "tamagui-build clean:build"
35
36
  },
36
37
  "dependencies": {
37
- "@tamagui/constants": "3.0.0-beta.922.1",
38
- "@tamagui/core": "3.0.0-beta.922.1",
39
- "@tamagui/native": "3.0.0-beta.922.1",
40
- "@tamagui/polyfill-dev": "3.0.0-beta.922.1",
41
- "@tamagui/start-transition": "3.0.0-beta.922.1",
42
- "@tamagui/use-event": "3.0.0-beta.922.1",
43
- "@tamagui/web": "3.0.0-beta.922.1",
44
- "@tamagui/z-index-stack": "3.0.0-beta.922.1"
38
+ "@tamagui/constants": "3.0.0",
39
+ "@tamagui/core": "3.0.0",
40
+ "@tamagui/native": "3.0.0",
41
+ "@tamagui/polyfill-dev": "3.0.0",
42
+ "@tamagui/start-transition": "3.0.0",
43
+ "@tamagui/use-event": "3.0.0",
44
+ "@tamagui/web": "3.0.0",
45
+ "@tamagui/z-index-stack": "3.0.0"
45
46
  },
46
47
  "devDependencies": {
47
- "@tamagui/build": "3.0.0-beta.922.1",
48
+ "@tamagui/build": "3.0.0",
48
49
  "react": "19.2.3",
49
50
  "react-dom": "19.2.3",
50
- "react-native": "0.86.2"
51
+ "react-native": "0.87.1"
51
52
  },
52
53
  "peerDependencies": {
53
54
  "react": ">=19",
@@ -57,5 +58,6 @@
57
58
  "type": "git",
58
59
  "url": "git+https://github.com/tamagui/tamagui.git",
59
60
  "directory": "code/ui/portal"
60
- }
61
+ },
62
+ "releaseSourceCommit": "15fbca480b143f876f6975601e23a17d3f90d2ee"
61
63
  }
@@ -265,18 +265,13 @@ const PortalProviderComponent = ({
265
265
  <PortalDispatchContext.Provider value={transitionDispatch}>
266
266
  <PortalStateContext.Provider value={state}>
267
267
  {children}
268
- {shouldAddRootHost && portalState.type !== 'teleport' && (
269
- <PortalHost name={rootHostName} />
270
- )}
268
+ {shouldAddRootHost && <PortalHost name={rootHostName} />}
271
269
  </PortalStateContext.Provider>
272
270
  </PortalDispatchContext.Provider>
273
271
  </PortalProviderActiveContext.Provider>
274
272
  )
275
273
 
276
- // teleport's own PortalProvider renders an absolute-fill root host, so the
277
- // gorhom root host is skipped above: a second host with the same name
278
- // replaces it in the native registry and, having no style, lays out at zero
279
- // height, which draws every teleported sheet offscreen
274
+ // wrap with NativePortalProvider if teleport is available
280
275
  if (portalState.type === 'teleport') {
281
276
  return <NativePortalProvider>{content}</NativePortalProvider>
282
277
  }
@@ -5,8 +5,15 @@ import { GorhomPortalItem } from './GorhomPortalItem'
5
5
  import { getStackedZIndexProps } from './helpers'
6
6
  import type { PortalProps } from './PortalProps'
7
7
 
8
+ // react-native parses zIndex as a 32-bit int (RawValue casts number props to
9
+ // `int`), so anything above INT32_MAX wraps around silently — most notably
10
+ // Number.MAX_SAFE_INTEGER, which becomes -1 and renders the portal *behind*
11
+ // app content. Clamp so "as high as possible" stays as high as possible.
12
+ const MAX_INT32_Z_INDEX = 2147483647
13
+
8
14
  export const Portal = (propsIn: PortalProps) => {
9
- const zIndex = useStackedZIndex(getStackedZIndexProps(propsIn))
15
+ const stackedZIndex = useStackedZIndex(getStackedZIndexProps(propsIn))
16
+ const zIndex = Math.min(stackedZIndex, MAX_INT32_Z_INDEX)
10
17
  const { children, passThrough } = propsIn
11
18
 
12
19
  const contents = (
@@ -1 +1 @@
1
- {"version":3,"file":"GorhomPortal.d.ts","sourceRoot":"","sources":["../src/GorhomPortal.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAON,MAAM,OAAO,CAAA;AAQd,aAAK,OAAO;IACV,aAAa,IAAA;IACb,eAAe,IAAA;IACf,iBAAiB,IAAA;IACjB,aAAa,IAAA;CACd;AAED,QAAA,MAAM,aAAa,IAAK,CAAA;AAExB,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,CAAA;AAEjC,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,SAAS,CAAA;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,WAAW,GACnB,qBAAqB,GACrB,kBAAkB,GAClB,kBAAkB,GAClB,oBAAoB,CAAA;AAmGxB,eAAO,MAAM,SAAS;;;sBAwBuB,MAAM,QAAQ,SAAS;;yBAS1B,MAAM;CAgB/C,CAAA;AAED,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB,QAAQ,EAAE,SAAS,GAAG,SAAS,EAAE,CAAA;CAClC;AAED,QAAA,MAAM,uBAAuB,mDAI1B,mBAAmB,sBAiDrB,CAAA;AAED,eAAO,MAAM,cAAc,2DAAgC,CAAA;AAG3D,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAElC;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,YAAY,CAAA;CAC3D;AAGD,eAAO,MAAM,UAAU,oCAAmC,eAAe,uBAavE,CAAA"}
1
+ {"version":3,"file":"GorhomPortal.d.ts","sourceRoot":"","sources":["../src/GorhomPortal.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAON,MAAM,OAAO,CAAA;AAQd,aAAK,OAAO;IACV,aAAa,IAAA;IACb,eAAe,IAAA;IACf,iBAAiB,IAAA;IACjB,aAAa,IAAA;CACd;AAED,QAAA,MAAM,aAAa,IAAK,CAAA;AAExB,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,CAAA;AAEjC,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,SAAS,CAAA;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,WAAW,GACnB,qBAAqB,GACrB,kBAAkB,GAClB,kBAAkB,GAClB,oBAAoB,CAAA;AAmGxB,eAAO,MAAM,SAAS;;;sBAwBuB,MAAM,QAAQ,SAAS;;yBAS1B,MAAM;CAgB/C,CAAA;AAED,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAE3B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB,QAAQ,EAAE,SAAS,GAAG,SAAS,EAAE,CAAA;CAClC;AAED,QAAA,MAAM,uBAAuB,mDAI1B,mBAAmB,sBA4CrB,CAAA;AAED,eAAO,MAAM,cAAc,2DAAgC,CAAA;AAG3D,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAElC;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,YAAY,CAAA;CAC3D;AAGD,eAAO,MAAM,UAAU,oCAAmC,eAAe,uBAavE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Portal.native.d.ts","sourceRoot":"","sources":["../src/Portal.native.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD,eAAO,MAAM,MAAM,YAAa,WAAW,gCA8B1C,CAAA"}
1
+ {"version":3,"file":"Portal.native.d.ts","sourceRoot":"","sources":["../src/Portal.native.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAQhD,eAAO,MAAM,MAAM,YAAa,WAAW,gCA+B1C,CAAA"}