@tamagui/portal 1.116.4 → 1.116.6

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.
@@ -165,14 +165,15 @@ const defaultRenderer = children => /* @__PURE__ */(0, import_jsx_runtime.jsx)(i
165
165
  ...props
166
166
  });
167
167
  }),
168
- allPortalHosts = /* @__PURE__ */new Map();
168
+ allPortalHosts = /* @__PURE__ */new Map(),
169
+ listeners = {};
169
170
  function PortalHostWeb(props) {
170
171
  return /* @__PURE__ */(0, import_jsx_runtime.jsx)("div", {
171
172
  style: {
172
173
  display: "contents"
173
174
  },
174
175
  ref: node => {
175
- node ? allPortalHosts.set(props.name, node) : allPortalHosts.delete(props.name);
176
+ node ? (allPortalHosts.set(props.name, node), listeners[props.name]?.forEach(x => x(node))) : allPortalHosts.delete(props.name);
176
177
  }
177
178
  });
178
179
  }
@@ -212,8 +213,17 @@ const PortalItem = (0, import_react.memo)(function (props) {
212
213
  }),
213
214
  PortalItemWeb = props => {
214
215
  if (!props.hostName) throw new Error("No name");
215
- const hostNode = allPortalHosts.get(props.hostName);
216
- return hostNode ? (0, import_react_dom.createPortal)(props.children, hostNode) : null;
216
+ const cur = allPortalHosts.get(props.hostName),
217
+ [node, setNode] = (0, import_react.useState)(cur);
218
+ return cur && !node && setNode(cur), (0, import_react.useEffect)(() => {
219
+ if (!props.hostName || node) return;
220
+ const listener = node2 => {
221
+ setNode(node2);
222
+ };
223
+ return listeners[props.hostName] ||= /* @__PURE__ */new Set(), listeners[props.hostName].add(listener), () => {
224
+ listeners[props.hostName]?.delete(listener);
225
+ };
226
+ }, [node]), node ? (0, import_react_dom.createPortal)(props.children, node) : null;
217
227
  },
218
228
  NonNativePortalComponent = props => {
219
229
  const {
@@ -131,7 +131,7 @@ const registerHost = (state, hostName) => (hostName in state || (state[hostName]
131
131
  PortalProvider.displayName = "PortalProvider";
132
132
  const defaultRenderer = (children) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children }), PortalHost = (0, import_react.memo)(function(props) {
133
133
  return import_constants.isWeb ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalHostWeb, { ...props }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalHostNonNative, { ...props });
134
- }), allPortalHosts = /* @__PURE__ */ new Map();
134
+ }), allPortalHosts = /* @__PURE__ */ new Map(), listeners = {};
135
135
  function PortalHostWeb(props) {
136
136
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
137
137
  "div",
@@ -140,7 +140,7 @@ function PortalHostWeb(props) {
140
140
  display: "contents"
141
141
  },
142
142
  ref: (node) => {
143
- node ? allPortalHosts.set(props.name, node) : allPortalHosts.delete(props.name);
143
+ node ? (allPortalHosts.set(props.name, node), listeners[props.name]?.forEach((x) => x(node))) : allPortalHosts.delete(props.name);
144
144
  }
145
145
  }
146
146
  );
@@ -165,8 +165,16 @@ const PortalItem = (0, import_react.memo)(function(props) {
165
165
  }), PortalItemWeb = (props) => {
166
166
  if (!props.hostName)
167
167
  throw new Error("No name");
168
- const hostNode = allPortalHosts.get(props.hostName);
169
- return hostNode ? (0, import_react_dom.createPortal)(props.children, hostNode) : null;
168
+ const cur = allPortalHosts.get(props.hostName), [node, setNode] = (0, import_react.useState)(cur);
169
+ return cur && !node && setNode(cur), (0, import_react.useEffect)(() => {
170
+ if (!props.hostName || node) return;
171
+ const listener = (node2) => {
172
+ setNode(node2);
173
+ };
174
+ return listeners[props.hostName] ||= /* @__PURE__ */ new Set(), listeners[props.hostName].add(listener), () => {
175
+ listeners[props.hostName]?.delete(listener);
176
+ };
177
+ }, [node]), node ? (0, import_react_dom.createPortal)(props.children, node) : null;
170
178
  }, NonNativePortalComponent = (props) => {
171
179
  const {
172
180
  name: _providedName,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/GorhomPortal.tsx"],
4
- "mappings": "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",
5
- "names": ["ACTIONS", "registerHost", "deregisterHost", "addUpdatePortal", "removePortal", "React"]
4
+ "mappings": "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",
5
+ "names": ["ACTIONS", "registerHost", "deregisterHost", "addUpdatePortal", "removePortal", "React", "node"]
6
6
  }
@@ -151,14 +151,20 @@ var defaultRenderer = function(children) {
151
151
  }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalHostNonNative, {
152
152
  ...props
153
153
  });
154
- }), allPortalHosts = /* @__PURE__ */ new Map();
154
+ }), allPortalHosts = /* @__PURE__ */ new Map(), listeners = {};
155
155
  function PortalHostWeb(props) {
156
156
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
157
157
  style: {
158
158
  display: "contents"
159
159
  },
160
160
  ref: function(node) {
161
- node ? allPortalHosts.set(props.name, node) : allPortalHosts.delete(props.name);
161
+ if (node) {
162
+ var _listeners_props_name;
163
+ allPortalHosts.set(props.name, node), (_listeners_props_name = listeners[props.name]) === null || _listeners_props_name === void 0 || _listeners_props_name.forEach(function(x) {
164
+ return x(node);
165
+ });
166
+ } else
167
+ allPortalHosts.delete(props.name);
162
168
  }
163
169
  });
164
170
  }
@@ -190,8 +196,21 @@ var PortalItem = /* @__PURE__ */ (0, import_react.memo)(function(props) {
190
196
  }), PortalItemWeb = function(props) {
191
197
  if (!props.hostName)
192
198
  throw new Error("No name");
193
- var hostNode = allPortalHosts.get(props.hostName);
194
- return hostNode ? /* @__PURE__ */ (0, import_react_dom.createPortal)(props.children, hostNode) : null;
199
+ var cur = allPortalHosts.get(props.hostName), [node, setNode] = (0, import_react.useState)(cur);
200
+ return cur && !node && setNode(cur), (0, import_react.useEffect)(function() {
201
+ var _listeners, _props_hostName;
202
+ if (props.hostName && !node) {
203
+ var listener = function(node2) {
204
+ setNode(node2);
205
+ };
206
+ return (_listeners = listeners)[_props_hostName = props.hostName] || (_listeners[_props_hostName] = /* @__PURE__ */ new Set()), listeners[props.hostName].add(listener), function() {
207
+ var _listeners_props_hostName;
208
+ (_listeners_props_hostName = listeners[props.hostName]) === null || _listeners_props_hostName === void 0 || _listeners_props_hostName.delete(listener);
209
+ };
210
+ }
211
+ }, [
212
+ node
213
+ ]), node ? /* @__PURE__ */ (0, import_react_dom.createPortal)(props.children, node) : null;
195
214
  }, NonNativePortalComponent = function(props) {
196
215
  var { name: _providedName, hostName, handleOnMount: _providedHandleOnMount, handleOnUnmount: _providedHandleOnUnmount, handleOnUpdate: _providedHandleOnUpdate, children, passthrough } = props, { addPortal: addUpdatePortal2, removePortal: removePortal2 } = usePortal(hostName), id = (0, import_react.useId)(), name = _providedName || id, handleOnMount = (0, import_core.useEvent)(function() {
197
216
  _providedHandleOnMount ? _providedHandleOnMount(function() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Users/n8/tamagui/code/ui/portal/src/GorhomPortal.tsx"],
4
- "mappings": "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",
5
- "names": ["ACTIONS", "INITIAL_STATE", "registerHost", "state", "hostName", "deregisterHost", "addUpdatePortal", "portalName", "node", "index", "findIndex", "item", "name", "push", "removePortal", "console", "info", "splice", "reducer", "action", "type", "PortalStateContext", "createContext", "PortalDispatchContext", "usePortalState", "useContext", "Error", "usePortal", "dispatch", "useCallback", "addPortal", "updatePortal", "PortalProviderComponent", "rootHostName", "shouldAddRootHost", "children", "useReducer", "INITIAL_STATE", "transitionDispatch", "useMemo", "next", "value", "startTransition", "_jsx", "Provider", "_jsxs", "PortalHost", "PortalProvider", "memo", "displayName", "defaultRenderer", "_Fragment", "props", "isWeb", "PortalHostWeb", "PortalHostNonNative", "allPortalHosts", "Map", "div", "style", "display", "ref", "set", "delete", "forwardProps", "render", "useEffect", "window", "map", "restForwardProps", "React", "Children", "child", "isValidElement", "cloneElement", "key", "PortalItem", "PortalItemWeb", "NonNativePortalComponent", "hostNode", "get", "createPortal", "_providedName", "handleOnMount", "_providedHandleOnMount", "handleOnUnmount", "_providedHandleOnUnmount", "handleOnUpdate", "_providedHandleOnUpdate", "passthrough", "id", "useId", "useEvent", "useIsomorphicLayoutEffect"]
4
+ "mappings": "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",
5
+ "names": ["ACTIONS", "INITIAL_STATE", "registerHost", "state", "hostName", "deregisterHost", "addUpdatePortal", "portalName", "node", "index", "findIndex", "item", "name", "push", "removePortal", "console", "info", "splice", "reducer", "action", "type", "PortalStateContext", "createContext", "PortalDispatchContext", "usePortalState", "useContext", "Error", "usePortal", "dispatch", "useCallback", "addPortal", "updatePortal", "PortalProviderComponent", "rootHostName", "shouldAddRootHost", "children", "useReducer", "INITIAL_STATE", "transitionDispatch", "useMemo", "next", "value", "startTransition", "_jsx", "Provider", "_jsxs", "PortalHost", "PortalProvider", "memo", "displayName", "defaultRenderer", "_Fragment", "props", "isWeb", "PortalHostWeb", "PortalHostNonNative", "allPortalHosts", "Map", "listeners", "div", "style", "display", "ref", "set", "forEach", "x", "delete", "forwardProps", "render", "useEffect", "window", "map", "restForwardProps", "React", "Children", "child", "isValidElement", "cloneElement", "key", "PortalItem", "PortalItemWeb", "NonNativePortalComponent", "cur", "get", "setNode", "useState", "listener", "Set", "add", "createPortal", "_providedName", "handleOnMount", "_providedHandleOnMount", "handleOnUnmount", "_providedHandleOnUnmount", "handleOnUpdate", "_providedHandleOnUpdate", "passthrough", "id", "useId", "useEvent", "useIsomorphicLayoutEffect"]
6
6
  }
@@ -9,7 +9,8 @@ import React, {
9
9
  useEffect,
10
10
  useId,
11
11
  useMemo,
12
- useReducer
12
+ useReducer,
13
+ useState
13
14
  } from "react";
14
15
  import { createPortal } from "react-dom";
15
16
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -114,7 +115,7 @@ const registerHost = (state, hostName) => (hostName in state || (state[hostName]
114
115
  PortalProvider.displayName = "PortalProvider";
115
116
  const defaultRenderer = (children) => /* @__PURE__ */ jsx(Fragment, { children }), PortalHost = memo(function(props) {
116
117
  return isWeb ? /* @__PURE__ */ jsx(PortalHostWeb, { ...props }) : /* @__PURE__ */ jsx(PortalHostNonNative, { ...props });
117
- }), allPortalHosts = /* @__PURE__ */ new Map();
118
+ }), allPortalHosts = /* @__PURE__ */ new Map(), listeners = {};
118
119
  function PortalHostWeb(props) {
119
120
  return /* @__PURE__ */ jsx(
120
121
  "div",
@@ -123,7 +124,7 @@ function PortalHostWeb(props) {
123
124
  display: "contents"
124
125
  },
125
126
  ref: (node) => {
126
- node ? allPortalHosts.set(props.name, node) : allPortalHosts.delete(props.name);
127
+ node ? (allPortalHosts.set(props.name, node), listeners[props.name]?.forEach((x) => x(node))) : allPortalHosts.delete(props.name);
127
128
  }
128
129
  }
129
130
  );
@@ -148,8 +149,16 @@ const PortalItem = memo(function(props) {
148
149
  }), PortalItemWeb = (props) => {
149
150
  if (!props.hostName)
150
151
  throw new Error("No name");
151
- const hostNode = allPortalHosts.get(props.hostName);
152
- return hostNode ? createPortal(props.children, hostNode) : null;
152
+ const cur = allPortalHosts.get(props.hostName), [node, setNode] = useState(cur);
153
+ return cur && !node && setNode(cur), useEffect(() => {
154
+ if (!props.hostName || node) return;
155
+ const listener = (node2) => {
156
+ setNode(node2);
157
+ };
158
+ return listeners[props.hostName] ||= /* @__PURE__ */ new Set(), listeners[props.hostName].add(listener), () => {
159
+ listeners[props.hostName]?.delete(listener);
160
+ };
161
+ }, [node]), node ? createPortal(props.children, node) : null;
153
162
  }, NonNativePortalComponent = (props) => {
154
163
  const {
155
164
  name: _providedName,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/GorhomPortal.tsx"],
4
- "mappings": "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",
5
- "names": ["ACTIONS", "registerHost", "deregisterHost", "addUpdatePortal", "removePortal"]
4
+ "mappings": "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",
5
+ "names": ["ACTIONS", "registerHost", "deregisterHost", "addUpdatePortal", "removePortal", "node"]
6
6
  }
@@ -1,7 +1,7 @@
1
1
  import { isWeb, useIsomorphicLayoutEffect } from "@tamagui/constants";
2
2
  import { useEvent } from "@tamagui/core";
3
3
  import { startTransition } from "@tamagui/start-transition";
4
- import React, { createContext, memo, useCallback, useContext, useEffect, useId, useMemo, useReducer } from "react";
4
+ import React, { createContext, memo, useCallback, useContext, useEffect, useId, useMemo, useReducer, useState } from "react";
5
5
  import { createPortal } from "react-dom";
6
6
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
7
  var ACTIONS = /* @__PURE__ */(ACTIONS2 => (ACTIONS2[ACTIONS2.REGISTER_HOST = 0] = "REGISTER_HOST", ACTIONS2[ACTIONS2.DEREGISTER_HOST = 1] = "DEREGISTER_HOST", ACTIONS2[ACTIONS2.ADD_UPDATE_PORTAL = 2] = "ADD_UPDATE_PORTAL", ACTIONS2[ACTIONS2.REMOVE_PORTAL = 3] = "REMOVE_PORTAL", ACTIONS2))(ACTIONS || {});
@@ -124,14 +124,15 @@ const defaultRenderer = children => /* @__PURE__ */jsx(Fragment, {
124
124
  ...props
125
125
  });
126
126
  }),
127
- allPortalHosts = /* @__PURE__ */new Map();
127
+ allPortalHosts = /* @__PURE__ */new Map(),
128
+ listeners = {};
128
129
  function PortalHostWeb(props) {
129
130
  return /* @__PURE__ */jsx("div", {
130
131
  style: {
131
132
  display: "contents"
132
133
  },
133
134
  ref: node => {
134
- node ? allPortalHosts.set(props.name, node) : allPortalHosts.delete(props.name);
135
+ node ? (allPortalHosts.set(props.name, node), listeners[props.name]?.forEach(x => x(node))) : allPortalHosts.delete(props.name);
135
136
  }
136
137
  });
137
138
  }
@@ -171,8 +172,17 @@ const PortalItem = memo(function (props) {
171
172
  }),
172
173
  PortalItemWeb = props => {
173
174
  if (!props.hostName) throw new Error("No name");
174
- const hostNode = allPortalHosts.get(props.hostName);
175
- return hostNode ? createPortal(props.children, hostNode) : null;
175
+ const cur = allPortalHosts.get(props.hostName),
176
+ [node, setNode] = useState(cur);
177
+ return cur && !node && setNode(cur), useEffect(() => {
178
+ if (!props.hostName || node) return;
179
+ const listener = node2 => {
180
+ setNode(node2);
181
+ };
182
+ return listeners[props.hostName] ||= /* @__PURE__ */new Set(), listeners[props.hostName].add(listener), () => {
183
+ listeners[props.hostName]?.delete(listener);
184
+ };
185
+ }, [node]), node ? createPortal(props.children, node) : null;
176
186
  },
177
187
  NonNativePortalComponent = props => {
178
188
  const {
@@ -1 +1 @@
1
- {"version":3,"names":["isWeb","useIsomorphicLayoutEffect","useEvent","startTransition","React","createContext","memo","useCallback","useContext","useEffect","useId","useMemo","useReducer","createPortal","Fragment","jsx","jsxs","ACTIONS","ACTIONS2","REGISTER_HOST","DEREGISTER_HOST","ADD_UPDATE_PORTAL","REMOVE_PORTAL","INITIAL_STATE","registerHost","state","hostName","deregisterHost","addUpdatePortal","portalName","node","index","findIndex","item","name","push","removePortal","console","info","splice","reducer","action","type","PortalStateContext","PortalDispatchContext","usePortalState","Error","usePortal","dispatch","registerHost2","deregisterHost2","addUpdatePortal2","removePortal2","addPortal","updatePortal","PortalProviderComponent","rootHostName","shouldAddRootHost","children","transitionDispatch","value","Provider","PortalHost","PortalProvider","displayName","defaultRenderer","props","PortalHostWeb","PortalHostNonNative","allPortalHosts","Map","style","display","ref","set","delete","forwardProps","render","window","map","next","restForwardProps","Children","child","isValidElement","cloneElement","key","PortalItem","PortalItemWeb","NonNativePortalComponent","hostNode","get","_providedName","handleOnMount","_providedHandleOnMount","handleOnUnmount","_providedHandleOnUnmount","handleOnUpdate","_providedHandleOnUpdate","passthrough","id"],"sources":["../../src/GorhomPortal.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isWeb","useIsomorphicLayoutEffect","useEvent","startTransition","React","createContext","memo","useCallback","useContext","useEffect","useId","useMemo","useReducer","useState","createPortal","Fragment","jsx","jsxs","ACTIONS","ACTIONS2","REGISTER_HOST","DEREGISTER_HOST","ADD_UPDATE_PORTAL","REMOVE_PORTAL","INITIAL_STATE","registerHost","state","hostName","deregisterHost","addUpdatePortal","portalName","node","index","findIndex","item","name","push","removePortal","console","info","splice","reducer","action","type","PortalStateContext","PortalDispatchContext","usePortalState","Error","usePortal","dispatch","registerHost2","deregisterHost2","addUpdatePortal2","removePortal2","addPortal","updatePortal","PortalProviderComponent","rootHostName","shouldAddRootHost","children","transitionDispatch","value","Provider","PortalHost","PortalProvider","displayName","defaultRenderer","props","PortalHostWeb","PortalHostNonNative","allPortalHosts","Map","listeners","style","display","ref","set","forEach","x","delete","forwardProps","render","window","map","next","restForwardProps","Children","child","isValidElement","cloneElement","key","PortalItem","PortalItemWeb","NonNativePortalComponent","cur","get","setNode","listener","node2","Set","add","_providedName","handleOnMount","_providedHandleOnMount","handleOnUnmount","_providedHandleOnUnmount","handleOnUpdate","_providedHandleOnUpdate","passthrough","id"],"sources":["../../src/GorhomPortal.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
2
2
  import { isWeb, useIsomorphicLayoutEffect } from "@tamagui/constants";
3
3
  import { useEvent } from "@tamagui/core";
4
4
  import { startTransition } from "@tamagui/start-transition";
5
- import React, { createContext, memo, useCallback, useContext, useEffect, useId, useMemo, useReducer } from "react";
5
+ import React, { createContext, memo, useCallback, useContext, useEffect, useId, useMemo, useReducer, useState } from "react";
6
6
  import { createPortal } from "react-dom";
7
7
  var ACTIONS = /* @__PURE__ */ function(ACTIONS2) {
8
8
  return ACTIONS2[ACTIONS2.REGISTER_HOST = 0] = "REGISTER_HOST", ACTIONS2[ACTIONS2.DEREGISTER_HOST = 1] = "DEREGISTER_HOST", ACTIONS2[ACTIONS2.ADD_UPDATE_PORTAL = 2] = "ADD_UPDATE_PORTAL", ACTIONS2[ACTIONS2.REMOVE_PORTAL = 3] = "REMOVE_PORTAL", ACTIONS2;
@@ -124,14 +124,20 @@ var defaultRenderer = function(children) {
124
124
  }) : /* @__PURE__ */ _jsx(PortalHostNonNative, {
125
125
  ...props
126
126
  });
127
- }), allPortalHosts = /* @__PURE__ */ new Map();
127
+ }), allPortalHosts = /* @__PURE__ */ new Map(), listeners = {};
128
128
  function PortalHostWeb(props) {
129
129
  return /* @__PURE__ */ _jsx("div", {
130
130
  style: {
131
131
  display: "contents"
132
132
  },
133
133
  ref: function(node) {
134
- node ? allPortalHosts.set(props.name, node) : allPortalHosts.delete(props.name);
134
+ if (node) {
135
+ var _listeners_props_name;
136
+ allPortalHosts.set(props.name, node), (_listeners_props_name = listeners[props.name]) === null || _listeners_props_name === void 0 || _listeners_props_name.forEach(function(x) {
137
+ return x(node);
138
+ });
139
+ } else
140
+ allPortalHosts.delete(props.name);
135
141
  }
136
142
  });
137
143
  }
@@ -163,8 +169,21 @@ var PortalItem = /* @__PURE__ */ memo(function(props) {
163
169
  }), PortalItemWeb = function(props) {
164
170
  if (!props.hostName)
165
171
  throw new Error("No name");
166
- var hostNode = allPortalHosts.get(props.hostName);
167
- return hostNode ? /* @__PURE__ */ createPortal(props.children, hostNode) : null;
172
+ var cur = allPortalHosts.get(props.hostName), [node, setNode] = useState(cur);
173
+ return cur && !node && setNode(cur), useEffect(function() {
174
+ var _listeners, _props_hostName;
175
+ if (props.hostName && !node) {
176
+ var listener = function(node2) {
177
+ setNode(node2);
178
+ };
179
+ return (_listeners = listeners)[_props_hostName = props.hostName] || (_listeners[_props_hostName] = /* @__PURE__ */ new Set()), listeners[props.hostName].add(listener), function() {
180
+ var _listeners_props_hostName;
181
+ (_listeners_props_hostName = listeners[props.hostName]) === null || _listeners_props_hostName === void 0 || _listeners_props_hostName.delete(listener);
182
+ };
183
+ }
184
+ }, [
185
+ node
186
+ ]), node ? /* @__PURE__ */ createPortal(props.children, node) : null;
168
187
  }, NonNativePortalComponent = function(props) {
169
188
  var { name: _providedName, hostName, handleOnMount: _providedHandleOnMount, handleOnUnmount: _providedHandleOnUnmount, handleOnUpdate: _providedHandleOnUpdate, children, passthrough } = props, { addPortal: addUpdatePortal2, removePortal: removePortal2 } = usePortal(hostName), id = useId(), name = _providedName || id, handleOnMount = useEvent(function() {
170
189
  _providedHandleOnMount ? _providedHandleOnMount(function() {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Users/n8/tamagui/code/ui/portal/src/GorhomPortal.tsx"],
4
- "mappings": "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",
5
- "names": ["isWeb", "useIsomorphicLayoutEffect", "useEvent", "startTransition", "React", "createContext", "memo", "useCallback", "useContext", "useEffect", "useId", "useMemo", "useReducer", "createPortal", "ACTIONS", "INITIAL_STATE", "registerHost", "state", "hostName", "deregisterHost", "addUpdatePortal", "portalName", "node", "index", "findIndex", "item", "name", "push", "removePortal", "console", "info", "splice", "reducer", "action", "type", "PortalStateContext", "createContext", "PortalDispatchContext", "usePortalState", "useContext", "Error", "usePortal", "dispatch", "useCallback", "addPortal", "updatePortal", "PortalProviderComponent", "rootHostName", "shouldAddRootHost", "children", "useReducer", "INITIAL_STATE", "transitionDispatch", "useMemo", "next", "value", "startTransition", "Provider", "PortalHost", "PortalProvider", "memo", "displayName", "defaultRenderer", "props", "isWeb", "PortalHostWeb", "PortalHostNonNative", "allPortalHosts", "Map", "div", "style", "display", "ref", "set", "delete", "forwardProps", "render", "useEffect", "window", "map", "restForwardProps", "React", "Children", "child", "isValidElement", "cloneElement", "key", "PortalItem", "PortalItemWeb", "NonNativePortalComponent", "hostNode", "get", "createPortal", "_providedName", "handleOnMount", "_providedHandleOnMount", "handleOnUnmount", "_providedHandleOnUnmount", "handleOnUpdate", "_providedHandleOnUpdate", "passthrough", "id", "useId", "useEvent", "useIsomorphicLayoutEffect"]
4
+ "mappings": "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",
5
+ "names": ["isWeb", "useIsomorphicLayoutEffect", "useEvent", "startTransition", "React", "createContext", "memo", "useCallback", "useContext", "useEffect", "useId", "useMemo", "useReducer", "useState", "createPortal", "ACTIONS", "INITIAL_STATE", "registerHost", "state", "hostName", "deregisterHost", "addUpdatePortal", "portalName", "node", "index", "findIndex", "item", "name", "push", "removePortal", "console", "info", "splice", "reducer", "action", "type", "PortalStateContext", "createContext", "PortalDispatchContext", "usePortalState", "useContext", "Error", "usePortal", "dispatch", "useCallback", "addPortal", "updatePortal", "PortalProviderComponent", "rootHostName", "shouldAddRootHost", "children", "useReducer", "INITIAL_STATE", "transitionDispatch", "useMemo", "next", "value", "startTransition", "Provider", "PortalHost", "PortalProvider", "memo", "displayName", "defaultRenderer", "props", "isWeb", "PortalHostWeb", "PortalHostNonNative", "allPortalHosts", "Map", "listeners", "div", "style", "display", "ref", "set", "forEach", "x", "delete", "forwardProps", "render", "useEffect", "window", "map", "restForwardProps", "React", "Children", "child", "isValidElement", "cloneElement", "key", "PortalItem", "PortalItemWeb", "NonNativePortalComponent", "cur", "get", "setNode", "useState", "listener", "Set", "add", "createPortal", "_providedName", "handleOnMount", "_providedHandleOnMount", "handleOnUnmount", "_providedHandleOnUnmount", "handleOnUpdate", "_providedHandleOnUpdate", "passthrough", "id", "useId", "useEvent", "useIsomorphicLayoutEffect"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/portal",
3
- "version": "1.116.4",
3
+ "version": "1.116.6",
4
4
  "source": "src/index.ts",
5
5
  "types": "./types/index.d.ts",
6
6
  "main": "dist/cjs",
@@ -30,17 +30,17 @@
30
30
  }
31
31
  },
32
32
  "dependencies": {
33
- "@tamagui/constants": "1.116.4",
34
- "@tamagui/core": "1.116.4",
35
- "@tamagui/stacks": "1.116.4",
36
- "@tamagui/start-transition": "1.116.4",
37
- "@tamagui/use-did-finish-ssr": "1.116.4",
38
- "@tamagui/use-event": "1.116.4",
33
+ "@tamagui/constants": "1.116.6",
34
+ "@tamagui/core": "1.116.6",
35
+ "@tamagui/stacks": "1.116.6",
36
+ "@tamagui/start-transition": "1.116.6",
37
+ "@tamagui/use-did-finish-ssr": "1.116.6",
38
+ "@tamagui/use-event": "1.116.6",
39
39
  "react": "^18.2.0 || ^19.0.0",
40
40
  "react-dom": "^18.2.0 || ^19.0.0"
41
41
  },
42
42
  "devDependencies": {
43
- "@tamagui/build": "1.116.4",
43
+ "@tamagui/build": "1.116.6",
44
44
  "react-native": "0.74.1"
45
45
  },
46
46
  "publishConfig": {
@@ -14,6 +14,7 @@ import React, {
14
14
  useId,
15
15
  useMemo,
16
16
  useReducer,
17
+ useState,
17
18
  } from 'react'
18
19
  import { createPortal } from 'react-dom'
19
20
 
@@ -282,6 +283,7 @@ export const PortalHost = memo(function PortalHost(props: PortalHostProps) {
282
283
  })
283
284
 
284
285
  const allPortalHosts = new Map<string, HTMLElement>()
286
+ const listeners: Record<string, Set<Function>> = {}
285
287
 
286
288
  function PortalHostWeb(props: PortalHostProps) {
287
289
  return (
@@ -292,6 +294,7 @@ function PortalHostWeb(props: PortalHostProps) {
292
294
  ref={(node) => {
293
295
  if (node) {
294
296
  allPortalHosts.set(props.name, node)
297
+ listeners[props.name]?.forEach((x) => x(node))
295
298
  } else {
296
299
  allPortalHosts.delete(props.name)
297
300
  }
@@ -393,13 +396,33 @@ const PortalItemWeb = (props: PortalItemProps) => {
393
396
  throw new Error(`No name`)
394
397
  }
395
398
 
396
- const hostNode = allPortalHosts.get(props.hostName)
399
+ const cur = allPortalHosts.get(props.hostName)
400
+ const [node, setNode] = useState(cur)
397
401
 
398
- if (!hostNode) {
402
+ if (cur && !node) {
403
+ setNode(cur)
404
+ }
405
+
406
+ useEffect(() => {
407
+ if (!props.hostName) return
408
+ if (node) return
409
+
410
+ const listener = (node) => {
411
+ setNode(node)
412
+ }
413
+
414
+ listeners[props.hostName] ||= new Set()
415
+ listeners[props.hostName].add(listener)
416
+ return () => {
417
+ listeners[props.hostName!]?.delete(listener)
418
+ }
419
+ }, [node])
420
+
421
+ if (!node) {
399
422
  return null
400
423
  }
401
424
 
402
- return createPortal(props.children, hostNode)
425
+ return createPortal(props.children, node)
403
426
  }
404
427
 
405
428
  const NonNativePortalComponent = (props: PortalItemProps) => {
@@ -1 +1 @@
1
- {"version":3,"file":"GorhomPortal.d.ts","sourceRoot":"","sources":["../src/GorhomPortal.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KASN,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;AAgGxB,eAAO,MAAM,SAAS;;;sBAwBuB,MAAM,QAAQ,SAAS;yBAAvB,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;AA2BD,eAAO,MAAM,cAAc,6EArBxB,mBAAmB,6CAqBqC,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,6CAMrB,CAAA;AA0DF,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;IAC3C;;;;;OAKG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;IAC/C;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAA;CACnC;AAED,eAAO,MAAM,UAAU,6CAKrB,CAAA"}
1
+ {"version":3,"file":"GorhomPortal.d.ts","sourceRoot":"","sources":["../src/GorhomPortal.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAUN,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;AAgGxB,eAAO,MAAM,SAAS;;;sBAwBuB,MAAM,QAAQ,SAAS;yBAAvB,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;AA2BD,eAAO,MAAM,cAAc,6EArBxB,mBAAmB,6CAqBqC,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,6CAMrB,CAAA;AA4DF,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAA;IAErB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;IAC3C;;;;;OAKG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;IAC/C;;;;;OAKG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,CAAA;CACnC;AAED,eAAO,MAAM,UAAU,6CAKrB,CAAA"}