@tamagui/portal 3.0.0-beta.924.1 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/GorhomPortal.cjs +1 -1
- package/dist/cjs/GorhomPortal.native.cjs +1 -1
- package/dist/cjs/GorhomPortal.native.js +1 -1
- package/dist/cjs/GorhomPortal.native.js.map +1 -1
- package/dist/cjs/Portal.native.cjs +3 -1
- package/dist/cjs/Portal.native.js +3 -1
- package/dist/cjs/Portal.native.js.map +1 -1
- package/dist/esm/GorhomPortal.mjs +1 -1
- package/dist/esm/GorhomPortal.mjs.map +1 -1
- package/dist/esm/GorhomPortal.native.js +1 -1
- package/dist/esm/GorhomPortal.native.js.map +1 -1
- package/dist/esm/Portal.native.js +3 -1
- package/dist/esm/Portal.native.js.map +1 -1
- package/dist/esm/native-portal.mjs +2 -7
- package/dist/esm/native-portal.native.js +0 -5
- package/package.json +14 -12
- package/src/GorhomPortal.tsx +2 -7
- package/src/Portal.native.tsx +8 -1
- package/types/GorhomPortal.d.ts.map +1 -1
- package/types/Portal.native.d.ts.map +1 -1
|
@@ -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 &&
|
|
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 &&
|
|
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 &&
|
|
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":";;;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;CAC/B,KAAK,IAAI,QAAQ,KAAK,UAAU,QAAQ,MAAM;EAC7C,KAAK,IAAI;EACT,YAAY;CACb,CAAC;AACF;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC7C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EACnE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GAAG,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QAAQ,UAAU,IAAI,KAAK;GAC9G,WAAW,KAAK;GAChB,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAC3D,CAAC;CACF;CACA,OAAO;AACR;AACA,IAAI,WAAW,KAAK,YAAY,YAAY,SAAS,OAAO,OAAO,SAAS,aAAa,GAAG,CAAC,IAAI,CAAC,GAAG,YAKpG,cAAc,CAAC,OAAO,CAAC,IAAI,aAAa,UAAU,QAAQ,WAAW;CACpE,OAAO;CACP,YAAY;AACb,CAAC,IAAI,QACL,GACD;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,uBAAuB,CAAC;AAC5B,SAAS,sBAAsB;CAC9B,eAAe;CACf,qBAAqB;CACrB,kBAAkB;CAClB,sBAAsB;CACtB,iBAAiB;AAClB,CAAC;AACD,OAAO,UAAU,aAAa,oBAAoB;AAClD,IAAI,qBAAqB,QAAQ,mBAAmB;AACpD,IAAI,mBAAmB,QAAQ,oBAAoB;AACnD,IAAI,gBAAgB,QAAQ,iBAAiB;AAC7C,IAAI,0BAA0B,QAAQ,2BAA2B;AACjE,IAAI,eAAe,QAAQ,QAAQ,OAAO,GAAG,CAAC;AAC9C,QAAQ,uBAAa;AACrB,IAAI,UAA0B,iBAAC,SAAS,UAAU;CACjD,SAAS,SAAS,mBAAmB,KAAK;CAC1C,SAAS,SAAS,qBAAqB,KAAK;CAC5C,SAAS,SAAS,uBAAuB,KAAK;CAC9C,SAAS,SAAS,mBAAmB,KAAK;CAC1C,OAAO;AACR,EAAC,CAAE,WAAW,CAAC,CAAC;AAChB,IAAI,gBAAgB,CAAC;AACrB,IAAI,eAAe,SAAS,OAAO,UAAU;CAC5C,IAAI,EAAE,YAAY,QAAQ,MAAM,YAAY,CAAC;CAC7C,OAAO;AACR;AACA,IAAI,iBAAiB,SAAS,OAAO,UAAU;CAC9C,OAAO,MAAM;CACb,OAAO;AACR;AACA,IAAI,kBAAkB,SAAS,OAAO,UAAU,YAAY,MAAM;CACjE,IAAI,EAAE,YAAY,QAAQ,QAAQ,aAAa,OAAO,QAAQ;CAC9D,IAAI,QAAQ,MAAM,SAAS,CAAC,UAAU,SAAS,MAAM;EACpD,OAAO,KAAK,SAAS;CACtB,CAAC;CACD,IAAI,UAAU,CAAC,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,OAAO;MAC3C,MAAM,SAAS,CAAC,KAAK;EACzB,MAAM;EACN;CACD,CAAC;CACD,OAAO;AACR;AACA,IAAI,eAAe,SAAS,OAAO,UAAU,YAAY;CACxD,IAAI,EAAE,YAAY,QAAQ;EACzB,IAAI,QAAQ,IAAI,aAAa,eAAe,QAAQ,KAAK,4BAA4B,WAAW,MAAM,SAAS,sBAAsB;EACrI,OAAO;CACR;CACA,IAAI,QAAQ,MAAM,SAAS,CAAC,UAAU,SAAS,MAAM;EACpD,OAAO,KAAK,SAAS;CACtB,CAAC;CACD,IAAI,UAAU,CAAC,GAAG,MAAM,SAAS,CAAC,OAAO,OAAO,CAAC;CACjD,OAAO;AACR;AACA,IAAI,UAAU,SAAS,OAAO,QAAQ;CACrC,IAAI,EAAE,SAAS;CACf,QAAQ,MAAR;EACC,KAAK,GAAG,OAAO,aAAa,EAAE,GAAG,MAAM,GAAG,OAAO,QAAQ;EACzD,KAAK,GAAG,OAAO,eAAe,EAAE,GAAG,MAAM,GAAG,OAAO,QAAQ;EAC3D,KAAK,GAAG,OAAO,gBAAgB,EAAE,GAAG,MAAM,GAAG,OAAO,UAAU,OAAO,YAAY,OAAO,IAAI;EAC5F,KAAK,GAAG,OAAO,aAAa,EAAE,GAAG,MAAM,GAAG,OAAO,UAAU,OAAO,UAAU;EAC5E,SAAS,OAAO;CACjB;AACD;AACA,IAAI,qBAAqC,iBAAC,GAAG,aAAa,cAAa,CAAE,IAAI;AAC7E,IAAI,wBAAwC,iBAAC,GAAG,aAAa,cAAa,CAAE,IAAI;AAChF,IAAI,8BAA8C,iBAAC,GAAG,aAAa,cAAa,CAAE,KAAK;AACvF,IAAI,iBAAiB,SAAS,UAAU;CACvC,IAAI,SAAS,GAAG,aAAa,WAAU,CAAE,kBAAkB;CAC3D,IAAI,UAAU,MAAM,MAAM,IAAI,MAAM,yFAAyF;CAC7H,OAAO,MAAM,aAAa,CAAC;AAC5B;AACA,IAAI,YAAY,WAAW;CAC1B,IAAI,WAAW,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK;CAChF,IAAI,YAAY,GAAG,aAAa,WAAU,CAAE,qBAAqB;CACjE,IAAI,aAAa,MAAM,MAAM,IAAI,MAAM,4FAA4F;CACnI,IAAI,iBAAiB,GAAG,aAAa,YAAW,CAAE,WAAW;EAC5D,SAAS;GACR,MAAM;GACN;EACD,CAAC;CACF,GAAG,CAAC,CAAC;CACL,IAAI,mBAAmB,GAAG,aAAa,YAAW,CAAE,WAAW;EAC9D,SAAS;GACR,MAAM;GACN;EACD,CAAC;CACF,GAAG,CAAC,CAAC;CACL,IAAI,oBAAoB,GAAG,aAAa,YAAW,CAAE,SAAS,MAAM,MAAM;EACzE,SAAS;GACR,MAAM;GACN;GACA,YAAY;GACZ;EACD,CAAC;CACF,GAAG,CAAC,CAAC;CACL,OAAO;EACN,cAAc;EACd,gBAAgB;EAChB,WAAW;EACX,cAAc;EACd,eAAe,GAAG,aAAa,YAAW,CAAE,SAAS,MAAM;GAC1D,SAAS;IACR,MAAM;IACN;IACA,YAAY;GACb,CAAC;EACF,GAAG,CAAC,CAAC;CACN;AACD;AACA,IAAI,0BAA0B,SAAS,OAAO;CAC7C,IAAI,EAAE,eAAe,QAAQ,oBAAoB,MAAM,aAAa;CACpE,IAAI,uBAAuB,GAAG,aAAa,WAAU,CAAE,2BAA2B;CAClF,IAAI,QAAQ,IAAI,aAAa,eAAe;EAC3C,IAAI,uBAAuB,mBAAmB,QAAQ,KAAK,kPAAkP;CAC9S;CACA,IAAI,CAAC,OAAO,aAAa,GAAG,aAAa,WAAU,CAAE,SAAS,aAAa;CAC3E,IAAI,sBAAsB,GAAG,aAAa,QAAO,CAAE,WAAW;EAC7D,IAAI,OAAO,SAAS,OAAO;GAC1B,CAAC,GAAG,wBAAwB,gBAAe,CAAE,WAAW;IACvD,SAAS,KAAK;GACf,CAAC;EACF;EACA,OAAO;CACR,GAAG,CAAC,QAAQ,CAAC;CACb,IAAI,eAAe,GAAG,cAAc,UAAS,CAAE,CAAC,CAAC;CACjD,IAAI,UAA0B,iBAAC,GAAG,mBAAmB,IAAG,CAAE,4BAA4B,UAAU;EAC/F,OAAO;EACP,UAA0B,iBAAC,GAAG,mBAAmB,IAAG,CAAE,sBAAsB,UAAU;GACrF,OAAO;GACP,UAA0B,iBAAC,GAAG,mBAAmB,KAAI,CAAE,mBAAmB,UAAU;IACnF,OAAO;IACP,UAAU,CAAC,UAAU,qBAAqC,iBAAC,GAAG,mBAAmB,IAAG,CAAE,YAAY,EAAE,MAAM,aAAa,CAAC,CAAC;GAC1H,CAAC;EACF,CAAC;CACF,CAAC;CACD,IAAI,YAAY,SAAS,YAAY,OAAuB,iBAAC,GAAG,mBAAmB,IAAG,CAAE,cAAc,sBAAsB,EAAE,UAAU,QAAQ,CAAC;CACjJ,OAAO;AACR;AACA,IAAI,iBAAiC,iBAAC,GAAG,aAAa,KAAI,CAAE,uBAAuB;AACnF,eAAe,cAAc;AAC7B,IAAI,kBAAkB,SAAS,UAAU;CACxC,OAAuB,iBAAC,GAAG,mBAAmB,IAAG,CAAE,mBAAmB,UAAU,EAAE,SAAS,CAAC;AAC7F;AACA,IAAI,aAA6B,iBAAC,GAAG,aAAa,KAAI,CAAE,SAAS,YAAY,OAAO;CACnF,KAAK,GAAG,cAAc,UAAS,CAAE,CAAC,CAAC,MAAM,SAAS,YAAY,OAAuB,iBAAC,GAAG,mBAAmB,IAAG,CAAE,cAAc,kBAAkB,EAAE,MAAM,MAAM,KAAK,CAAC;CACrK,OAAuB,iBAAC,GAAG,mBAAmB,IAAG,CAAE,qBAAqB,EAAE,GAAG,MAAM,CAAC;AACrF,CAAC;AACD,SAAS,oBAAoB,OAAO;CACnC,IAAI,EAAE,MAAM,cAAc,SAAS,oBAAoB;CACvD,IAAI,QAAQ,eAAe,IAAI;CAC/B,IAAI,EAAE,cAAc,eAAe,gBAAgB,oBAAoB,UAAU,MAAM,IAAI;CAC3F,CAAC,GAAG,iBAAiB,0BAAyB,CAAE,WAAW;EAC1D,cAAc;EACd,OAAO,WAAW;GACjB,gBAAgB;EACjB;CACD,GAAG,CAAC,CAAC;CACL,IAAI,cAAc,OAAO,OAAO,MAAM,IAAI,SAAS,MAAM;EACxD,IAAI,OAAO,KAAK;EAChB,IAAI,EAAE,UAAU,GAAG,qBAAqB;EACxC,IAAI,cAAc,OAAO,aAAa,QAAQ,SAAS,IAAI,MAAM,SAAS,OAAO;GAChF,OAAuB,6BAAa,QAAQ,eAAe,KAAK,IAAoB,6BAAa,QAAQ,aAAa,OAAO;IAC5H,KAAK,MAAM;IACX,GAAG;GACJ,CAAC,IAAI;EACN,CAAC;EACD,OAAO;CACR,CAAC,CAAC;CACF,OAAO,OAAO,MAAM,IAAI,SAAS,MAAM;EACtC,OAAuB,iBAAC,GAAG,mBAAmB,IAAG,CAAE,aAAa,QAAQ,UAAU,EAAE,UAAU,KAAK,KAAK,GAAG,KAAK,IAAI;CACrH,CAAC,CAAC;AACH"}
|
|
@@ -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
|
|
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
|
|
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
|
|
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 &&
|
|
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 &&
|
|
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 &&
|
|
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
|
|
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
|
|
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 =
|
|
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 =
|
|
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.
|
|
3
|
+
"version": "3.0.1",
|
|
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.
|
|
38
|
-
"@tamagui/core": "3.0.
|
|
39
|
-
"@tamagui/native": "3.0.
|
|
40
|
-
"@tamagui/polyfill-dev": "3.0.
|
|
41
|
-
"@tamagui/start-transition": "3.0.
|
|
42
|
-
"@tamagui/use-event": "3.0.
|
|
43
|
-
"@tamagui/web": "3.0.
|
|
44
|
-
"@tamagui/z-index-stack": "3.0.
|
|
38
|
+
"@tamagui/constants": "3.0.1",
|
|
39
|
+
"@tamagui/core": "3.0.1",
|
|
40
|
+
"@tamagui/native": "3.0.1",
|
|
41
|
+
"@tamagui/polyfill-dev": "3.0.1",
|
|
42
|
+
"@tamagui/start-transition": "3.0.1",
|
|
43
|
+
"@tamagui/use-event": "3.0.1",
|
|
44
|
+
"@tamagui/web": "3.0.1",
|
|
45
|
+
"@tamagui/z-index-stack": "3.0.1"
|
|
45
46
|
},
|
|
46
47
|
"devDependencies": {
|
|
47
|
-
"@tamagui/build": "3.0.
|
|
48
|
+
"@tamagui/build": "3.0.1",
|
|
48
49
|
"react": "19.2.3",
|
|
49
50
|
"react-dom": "19.2.3",
|
|
50
|
-
"react-native": "0.
|
|
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": "c156b7cc55e5a6cc5883ebc8189720850ac32dbd"
|
|
61
63
|
}
|
package/src/GorhomPortal.tsx
CHANGED
|
@@ -265,18 +265,13 @@ const PortalProviderComponent = ({
|
|
|
265
265
|
<PortalDispatchContext.Provider value={transitionDispatch}>
|
|
266
266
|
<PortalStateContext.Provider value={state}>
|
|
267
267
|
{children}
|
|
268
|
-
{shouldAddRootHost &&
|
|
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
|
-
//
|
|
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
|
}
|
package/src/Portal.native.tsx
CHANGED
|
@@ -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
|
|
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,
|
|
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;
|
|
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"}
|