@tamagui/portal 1.61.2 → 1.62.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,20 +1,15 @@
1
- "use strict";
2
1
  var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
8
+ __defProp(target, name, { get: all[name], enumerable: !0 });
9
+ }, __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from == "object" || typeof from == "function")
14
11
  for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
12
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
13
  return to;
19
14
  };
20
15
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
@@ -22,10 +17,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
22
17
  // file that has been converted to a CommonJS file using a Babel-
23
18
  // compatible transform (i.e. "__esModule" has not been set), then set
24
19
  // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
26
21
  mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
+ )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
29
23
  var GorhomPortal_exports = {};
30
24
  __export(GorhomPortal_exports, {
31
25
  ACTIONS: () => ACTIONS,
@@ -36,55 +30,23 @@ __export(GorhomPortal_exports, {
36
30
  usePortal: () => usePortal
37
31
  });
38
32
  module.exports = __toCommonJS(GorhomPortal_exports);
39
- var import_jsx_runtime = require("react/jsx-runtime");
40
- var import_core = require("@tamagui/core");
41
- var import_react = __toESM(require("react"));
42
- var ACTIONS = /* @__PURE__ */ ((ACTIONS2) => {
43
- ACTIONS2[ACTIONS2["REGISTER_HOST"] = 0] = "REGISTER_HOST";
44
- ACTIONS2[ACTIONS2["DEREGISTER_HOST"] = 1] = "DEREGISTER_HOST";
45
- ACTIONS2[ACTIONS2["ADD_UPDATE_PORTAL"] = 2] = "ADD_UPDATE_PORTAL";
46
- ACTIONS2[ACTIONS2["REMOVE_PORTAL"] = 3] = "REMOVE_PORTAL";
47
- return ACTIONS2;
48
- })(ACTIONS || {});
33
+ var import_core = require("@tamagui/core"), import_react = __toESM(require("react")), import_jsx_runtime = require("react/jsx-runtime"), 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 || {});
49
34
  const INITIAL_STATE = {};
50
- const registerHost = (state, hostName) => {
51
- if (!(hostName in state)) {
52
- state[hostName] = [];
53
- }
54
- return state;
55
- };
56
- const deregisterHost = (state, hostName) => {
57
- delete state[hostName];
58
- return state;
59
- };
60
- const addUpdatePortal = (state, hostName, portalName, node) => {
61
- if (!(hostName in state)) {
62
- state = registerHost(state, hostName);
63
- }
35
+ const registerHost = (state, hostName) => (hostName in state || (state[hostName] = []), state), deregisterHost = (state, hostName) => (delete state[hostName], state), addUpdatePortal = (state, hostName, portalName, node) => {
36
+ hostName in state || (state = registerHost(state, hostName));
64
37
  const index = state[hostName].findIndex((item) => item.name === portalName);
65
- if (index !== -1) {
66
- state[hostName][index].node = node;
67
- } else {
68
- state[hostName].push({
69
- name: portalName,
70
- node
71
- });
72
- }
73
- return state;
74
- };
75
- const removePortal = (state, hostName, portalName) => {
76
- if (!(hostName in state)) {
77
- console.log(
38
+ return index !== -1 ? state[hostName][index].node = node : state[hostName].push({
39
+ name: portalName,
40
+ node
41
+ }), state;
42
+ }, removePortal = (state, hostName, portalName) => {
43
+ if (!(hostName in state))
44
+ return console.log(
78
45
  `Failed to remove portal '${portalName}', '${hostName}' was not registered!`
79
- );
80
- return state;
81
- }
46
+ ), state;
82
47
  const index = state[hostName].findIndex((item) => item.name === portalName);
83
- if (index !== -1)
84
- state[hostName].splice(index, 1);
85
- return state;
86
- };
87
- const reducer = (state, action) => {
48
+ return index !== -1 && state[hostName].splice(index, 1), state;
49
+ }, reducer = (state, action) => {
88
50
  const { type } = action;
89
51
  switch (type) {
90
52
  case 0 /* REGISTER_HOST */:
@@ -107,46 +69,37 @@ const reducer = (state, action) => {
107
69
  default:
108
70
  return state;
109
71
  }
110
- };
111
- const PortalStateContext = (0, import_react.createContext)(null);
112
- const PortalDispatchContext = (0, import_react.createContext)(null);
113
- const usePortalState = (hostName) => {
72
+ }, PortalStateContext = (0, import_react.createContext)(null), PortalDispatchContext = (0, import_react.createContext)(null), usePortalState = (hostName) => {
114
73
  const state = (0, import_react.useContext)(PortalStateContext);
115
- if (state === null) {
74
+ if (state === null)
116
75
  throw new Error(
117
76
  "'PortalStateContext' cannot be null, please add 'PortalProvider' to the root component."
118
77
  );
119
- }
120
78
  return state[hostName] || [];
121
- };
122
- const usePortal = (hostName = "root") => {
79
+ }, usePortal = (hostName = "root") => {
123
80
  const dispatch = (0, import_react.useContext)(PortalDispatchContext);
124
- if (dispatch === null) {
81
+ if (dispatch === null)
125
82
  throw new Error(
126
83
  "'PortalDispatchContext' cannot be null, please add 'PortalProvider' to the root component."
127
84
  );
128
- }
129
85
  const registerHost2 = (0, import_react.useCallback)(() => {
130
86
  dispatch({
131
87
  type: 0 /* REGISTER_HOST */,
132
88
  hostName
133
89
  });
134
- }, []);
135
- const deregisterHost2 = (0, import_react.useCallback)(() => {
90
+ }, []), deregisterHost2 = (0, import_react.useCallback)(() => {
136
91
  dispatch({
137
92
  type: 1 /* DEREGISTER_HOST */,
138
93
  hostName
139
94
  });
140
- }, []);
141
- const addUpdatePortal2 = (0, import_react.useCallback)((name, node) => {
95
+ }, []), addUpdatePortal2 = (0, import_react.useCallback)((name, node) => {
142
96
  dispatch({
143
97
  type: 2 /* ADD_UPDATE_PORTAL */,
144
98
  hostName,
145
99
  portalName: name,
146
100
  node
147
101
  });
148
- }, []);
149
- const removePortal2 = (0, import_react.useCallback)((name) => {
102
+ }, []), removePortal2 = (0, import_react.useCallback)((name) => {
150
103
  dispatch({
151
104
  type: 3 /* REMOVE_PORTAL */,
152
105
  hostName,
@@ -160,58 +113,36 @@ const usePortal = (hostName = "root") => {
160
113
  updatePortal: addUpdatePortal2,
161
114
  removePortal: removePortal2
162
115
  };
163
- };
164
- const PortalProviderComponent = ({
116
+ }, PortalProviderComponent = ({
165
117
  rootHostName = "root",
166
- shouldAddRootHost = true,
118
+ shouldAddRootHost = !0,
167
119
  children
168
120
  }) => {
169
- const [state, dispatch] = (0, import_react.useReducer)(reducer, INITIAL_STATE);
170
- const transitionDispatch = (0, import_react.useMemo)(() => {
171
- const next = (value) => {
172
- (0, import_react.startTransition)(() => {
173
- dispatch(value);
174
- });
175
- };
176
- return next;
121
+ const [state, dispatch] = (0, import_react.useReducer)(reducer, INITIAL_STATE), transitionDispatch = (0, import_react.useMemo)(() => (value) => {
122
+ (0, import_react.startTransition)(() => {
123
+ dispatch(value);
124
+ });
177
125
  }, [dispatch]);
178
126
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalDispatchContext.Provider, { value: transitionDispatch, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(PortalStateContext.Provider, { value: state, children: [
179
127
  children,
180
128
  shouldAddRootHost && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalHost, { name: rootHostName })
181
129
  ] }) });
182
- };
183
- const PortalProvider = (0, import_react.memo)(PortalProviderComponent);
130
+ }, PortalProvider = (0, import_react.memo)(PortalProviderComponent);
184
131
  PortalProvider.displayName = "PortalProvider";
185
- const defaultRenderer = (children) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
186
- const PortalHostComponent = (props) => {
187
- const { name, forwardProps, render = defaultRenderer } = props;
188
- const isServer = !(0, import_core.useDidFinishSSR)();
189
- const state = usePortalState(name);
190
- const { registerHost: registerHost2, deregisterHost: deregisterHost2 } = usePortal(props.name);
191
- (0, import_react.useEffect)(() => {
192
- if (isServer)
193
- return;
194
- registerHost2();
195
- return () => {
196
- deregisterHost2();
197
- };
198
- }, [isServer]);
199
- if (forwardProps) {
200
- return render(
201
- state.map((item) => {
202
- let next = item.node;
203
- if (forwardProps) {
204
- return import_react.default.Children.map(next, (child) => {
205
- return import_react.default.isValidElement(child) ? import_react.default.cloneElement(child, { key: child.key, ...forwardProps }) : child;
206
- });
207
- }
208
- return next;
209
- })
210
- );
211
- }
212
- return render(state.map((item) => item.node));
213
- };
214
- const PortalHost = (0, import_react.memo)(PortalHostComponent);
132
+ const defaultRenderer = (children) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children }), PortalHostComponent = (props) => {
133
+ const { name, forwardProps, render = defaultRenderer } = props, isServer = !(0, import_core.useDidFinishSSR)(), state = usePortalState(name), { registerHost: registerHost2, deregisterHost: deregisterHost2 } = usePortal(props.name);
134
+ return (0, import_react.useEffect)(() => {
135
+ if (!isServer)
136
+ return registerHost2(), () => {
137
+ deregisterHost2();
138
+ };
139
+ }, [isServer]), render(
140
+ forwardProps ? state.map((item) => {
141
+ let next = item.node;
142
+ return forwardProps ? import_react.default.Children.map(next, (child) => import_react.default.isValidElement(child) ? import_react.default.cloneElement(child, { key: child.key, ...forwardProps }) : child) : next;
143
+ }) : state.map((item) => item.node)
144
+ );
145
+ }, PortalHost = (0, import_react.memo)(PortalHostComponent);
215
146
  PortalHost.displayName = "PortalHost";
216
147
  const PortalComponent = (props) => {
217
148
  const {
@@ -221,43 +152,19 @@ const PortalComponent = (props) => {
221
152
  handleOnUnmount: _providedHandleOnUnmount,
222
153
  handleOnUpdate: _providedHandleOnUpdate,
223
154
  children
224
- } = props;
225
- const { addPortal: addUpdatePortal2, removePortal: removePortal2 } = usePortal(hostName);
226
- const id = (0, import_react.useId)();
227
- const name = _providedName || id;
228
- const handleOnMount = (0, import_core.useEvent)(() => {
229
- if (_providedHandleOnMount) {
230
- _providedHandleOnMount(() => addUpdatePortal2(name, children));
231
- } else {
232
- addUpdatePortal2(name, children);
233
- }
234
- });
235
- const handleOnUnmount = (0, import_core.useEvent)(() => {
236
- if (_providedHandleOnUnmount) {
237
- _providedHandleOnUnmount(() => removePortal2(name));
238
- } else {
239
- removePortal2(name);
240
- }
155
+ } = props, { addPortal: addUpdatePortal2, removePortal: removePortal2 } = usePortal(hostName), id = (0, import_react.useId)(), name = _providedName || id, handleOnMount = (0, import_core.useEvent)(() => {
156
+ _providedHandleOnMount ? _providedHandleOnMount(() => addUpdatePortal2(name, children)) : addUpdatePortal2(name, children);
157
+ }), handleOnUnmount = (0, import_core.useEvent)(() => {
158
+ _providedHandleOnUnmount ? _providedHandleOnUnmount(() => removePortal2(name)) : removePortal2(name);
159
+ }), handleOnUpdate = (0, import_core.useEvent)(() => {
160
+ _providedHandleOnUpdate ? _providedHandleOnUpdate(() => addUpdatePortal2(name, children)) : addUpdatePortal2(name, children);
241
161
  });
242
- const handleOnUpdate = (0, import_core.useEvent)(() => {
243
- if (_providedHandleOnUpdate) {
244
- _providedHandleOnUpdate(() => addUpdatePortal2(name, children));
245
- } else {
246
- addUpdatePortal2(name, children);
247
- }
248
- });
249
- (0, import_core.useIsomorphicLayoutEffect)(() => {
250
- handleOnMount();
251
- return () => {
252
- handleOnUnmount();
253
- };
254
- }, []);
255
- (0, import_react.useEffect)(() => {
162
+ return (0, import_core.useIsomorphicLayoutEffect)(() => (handleOnMount(), () => {
163
+ handleOnUnmount();
164
+ }), []), (0, import_react.useEffect)(() => {
256
165
  handleOnUpdate();
257
- }, [children]);
258
- return null;
259
- };
260
- const PortalItem = (0, import_react.memo)(PortalComponent);
166
+ }, [children]), null;
167
+ }, PortalItem = (0, import_react.memo)(PortalComponent);
261
168
  PortalItem.displayName = "Portal";
262
169
  // Annotate the CommonJS export names for ESM import in node:
263
170
  0 && (module.exports = {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/GorhomPortal.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["ACTIONS", "registerHost", "deregisterHost", "addUpdatePortal", "removePortal", "React"]
6
6
  }
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: !0 });
10
+ }, __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from == "object" || typeof from == "function")
12
+ for (let key of __getOwnPropNames(from))
13
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ return to;
15
+ };
16
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
+ // If the importer is in node compatibility mode or this is not an ESM
18
+ // file that has been converted to a CommonJS file using a Babel-
19
+ // compatible transform (i.e. "__esModule" has not been set), then set
20
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
22
+ mod
23
+ )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
24
+ var GorhomPortal_exports = {};
25
+ __export(GorhomPortal_exports, {
26
+ ACTIONS: () => ACTIONS,
27
+ INITIAL_STATE: () => INITIAL_STATE,
28
+ PortalHost: () => PortalHost,
29
+ PortalItem: () => PortalItem,
30
+ PortalProvider: () => PortalProvider,
31
+ usePortal: () => usePortal
32
+ });
33
+ module.exports = __toCommonJS(GorhomPortal_exports);
34
+ var import_core = require("@tamagui/core"), import_react = __toESM(require("react")), import_jsx_runtime = require("react/jsx-runtime"), 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 || {});
35
+ const INITIAL_STATE = {};
36
+ const registerHost = (state, hostName) => (hostName in state || (state[hostName] = []), state), deregisterHost = (state, hostName) => (delete state[hostName], state), addUpdatePortal = (state, hostName, portalName, node) => {
37
+ hostName in state || (state = registerHost(state, hostName));
38
+ const index = state[hostName].findIndex((item) => item.name === portalName);
39
+ return index !== -1 ? state[hostName][index].node = node : state[hostName].push({
40
+ name: portalName,
41
+ node
42
+ }), state;
43
+ }, removePortal = (state, hostName, portalName) => {
44
+ if (!(hostName in state))
45
+ return console.log(
46
+ `Failed to remove portal '${portalName}', '${hostName}' was not registered!`
47
+ ), state;
48
+ const index = state[hostName].findIndex((item) => item.name === portalName);
49
+ return index !== -1 && state[hostName].splice(index, 1), state;
50
+ }, reducer = (state, action) => {
51
+ const { type } = action;
52
+ switch (type) {
53
+ case 0 /* REGISTER_HOST */:
54
+ return registerHost({ ...state }, action.hostName);
55
+ case 1 /* DEREGISTER_HOST */:
56
+ return deregisterHost({ ...state }, action.hostName);
57
+ case 2 /* ADD_UPDATE_PORTAL */:
58
+ return addUpdatePortal(
59
+ { ...state },
60
+ action.hostName,
61
+ action.portalName,
62
+ action.node
63
+ );
64
+ case 3 /* REMOVE_PORTAL */:
65
+ return removePortal(
66
+ { ...state },
67
+ action.hostName,
68
+ action.portalName
69
+ );
70
+ default:
71
+ return state;
72
+ }
73
+ }, PortalStateContext = (0, import_react.createContext)(null), PortalDispatchContext = (0, import_react.createContext)(null), usePortalState = (hostName) => {
74
+ const state = (0, import_react.useContext)(PortalStateContext);
75
+ if (state === null)
76
+ throw new Error(
77
+ "'PortalStateContext' cannot be null, please add 'PortalProvider' to the root component."
78
+ );
79
+ return state[hostName] || [];
80
+ }, usePortal = (hostName = "root") => {
81
+ const dispatch = (0, import_react.useContext)(PortalDispatchContext);
82
+ if (dispatch === null)
83
+ throw new Error(
84
+ "'PortalDispatchContext' cannot be null, please add 'PortalProvider' to the root component."
85
+ );
86
+ const registerHost2 = (0, import_react.useCallback)(() => {
87
+ dispatch({
88
+ type: 0 /* REGISTER_HOST */,
89
+ hostName
90
+ });
91
+ }, []), deregisterHost2 = (0, import_react.useCallback)(() => {
92
+ dispatch({
93
+ type: 1 /* DEREGISTER_HOST */,
94
+ hostName
95
+ });
96
+ }, []), addUpdatePortal2 = (0, import_react.useCallback)((name, node) => {
97
+ dispatch({
98
+ type: 2 /* ADD_UPDATE_PORTAL */,
99
+ hostName,
100
+ portalName: name,
101
+ node
102
+ });
103
+ }, []), removePortal2 = (0, import_react.useCallback)((name) => {
104
+ dispatch({
105
+ type: 3 /* REMOVE_PORTAL */,
106
+ hostName,
107
+ portalName: name
108
+ });
109
+ }, []);
110
+ return {
111
+ registerHost: registerHost2,
112
+ deregisterHost: deregisterHost2,
113
+ addPortal: addUpdatePortal2,
114
+ updatePortal: addUpdatePortal2,
115
+ removePortal: removePortal2
116
+ };
117
+ }, PortalProviderComponent = ({
118
+ rootHostName = "root",
119
+ shouldAddRootHost = !0,
120
+ children
121
+ }) => {
122
+ const [state, dispatch] = (0, import_react.useReducer)(reducer, INITIAL_STATE), transitionDispatch = (0, import_react.useMemo)(() => (value) => {
123
+ (0, import_react.startTransition)(() => {
124
+ dispatch(value);
125
+ });
126
+ }, [dispatch]);
127
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalDispatchContext.Provider, { value: transitionDispatch, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(PortalStateContext.Provider, { value: state, children: [
128
+ children,
129
+ shouldAddRootHost && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalHost, { name: rootHostName })
130
+ ] }) });
131
+ }, PortalProvider = (0, import_react.memo)(PortalProviderComponent);
132
+ PortalProvider.displayName = "PortalProvider";
133
+ const defaultRenderer = (children) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children }), PortalHostComponent = (props) => {
134
+ const { name, forwardProps, render = defaultRenderer } = props, isServer = !(0, import_core.useDidFinishSSR)(), state = usePortalState(name), { registerHost: registerHost2, deregisterHost: deregisterHost2 } = usePortal(props.name);
135
+ return (0, import_react.useEffect)(() => {
136
+ if (!isServer)
137
+ return registerHost2(), () => {
138
+ deregisterHost2();
139
+ };
140
+ }, [isServer]), render(
141
+ forwardProps ? state.map((item) => {
142
+ let next = item.node;
143
+ return forwardProps ? import_react.default.Children.map(next, (child) => import_react.default.isValidElement(child) ? import_react.default.cloneElement(child, { key: child.key, ...forwardProps }) : child) : next;
144
+ }) : state.map((item) => item.node)
145
+ );
146
+ }, PortalHost = (0, import_react.memo)(PortalHostComponent);
147
+ PortalHost.displayName = "PortalHost";
148
+ const PortalComponent = (props) => {
149
+ const {
150
+ name: _providedName,
151
+ hostName,
152
+ handleOnMount: _providedHandleOnMount,
153
+ handleOnUnmount: _providedHandleOnUnmount,
154
+ handleOnUpdate: _providedHandleOnUpdate,
155
+ children
156
+ } = props, { addPortal: addUpdatePortal2, removePortal: removePortal2 } = usePortal(hostName), id = (0, import_react.useId)(), name = _providedName || id, handleOnMount = (0, import_core.useEvent)(() => {
157
+ _providedHandleOnMount ? _providedHandleOnMount(() => addUpdatePortal2(name, children)) : addUpdatePortal2(name, children);
158
+ }), handleOnUnmount = (0, import_core.useEvent)(() => {
159
+ _providedHandleOnUnmount ? _providedHandleOnUnmount(() => removePortal2(name)) : removePortal2(name);
160
+ }), handleOnUpdate = (0, import_core.useEvent)(() => {
161
+ _providedHandleOnUpdate ? _providedHandleOnUpdate(() => addUpdatePortal2(name, children)) : addUpdatePortal2(name, children);
162
+ });
163
+ return (0, import_core.useIsomorphicLayoutEffect)(() => (handleOnMount(), () => {
164
+ handleOnUnmount();
165
+ }), []), (0, import_react.useEffect)(() => {
166
+ handleOnUpdate();
167
+ }, [children]), null;
168
+ }, PortalItem = (0, import_react.memo)(PortalComponent);
169
+ PortalItem.displayName = "Portal";
170
+ // Annotate the CommonJS export names for ESM import in node:
171
+ 0 && (module.exports = {
172
+ ACTIONS,
173
+ INITIAL_STATE,
174
+ PortalHost,
175
+ PortalItem,
176
+ PortalProvider,
177
+ usePortal
178
+ });
179
+ //# sourceMappingURL=GorhomPortal.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/GorhomPortal.tsx"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAqE,0BACrE,eAWO,2BA0OD,mDAnOD,UAAL,kBAAKA,cACHA,kBAAA,sCACAA,kBAAA,0CACAA,kBAAA,8CACAA,kBAAA,sCAJGA,WAAA;AAOL,MAAM,gBAAgB,CAAC;AAiCvB,MAAM,eAAe,CAAC,OAA0C,cACxD,YAAY,UAChB,MAAM,QAAQ,IAAI,CAAC,IAEd,QAGH,iBAAiB,CAAC,OAA0C,cAChE,OAAO,MAAM,QAAQ,GACd,QAGH,kBAAkB,CACtB,OACA,UACA,YACA,SACG;AACH,EAAM,YAAY,UAChB,QAAQ,aAAa,OAAO,QAAQ;AAMtC,QAAM,QAAQ,MAAM,QAAQ,EAAE,UAAU,CAAC,SAAS,KAAK,SAAS,UAAU;AAC1E,SAAI,UAAU,KACZ,MAAM,QAAQ,EAAE,KAAK,EAAE,OAAO,OAE9B,MAAM,QAAQ,EAAE,KAAK;AAAA,IACnB,MAAM;AAAA,IACN;AAAA,EACF,CAAC,GAEI;AACT,GAEM,eAAe,CACnB,OACA,UACA,eACG;AACH,MAAI,EAAE,YAAY;AAEhB,mBAAQ;AAAA,MACN,4BAA4B,UAAU,OAAO,QAAQ;AAAA,IACvD,GACO;AAGT,QAAM,QAAQ,MAAM,QAAQ,EAAE,UAAU,CAAC,SAAS,KAAK,SAAS,UAAU;AAC1E,SAAI,UAAU,MAAI,MAAM,QAAQ,EAAE,OAAO,OAAO,CAAC,GAC1C;AACT,GAEM,UAAU,CAAC,OAA0C,WAAwB;AACjF,QAAM,EAAE,KAAK,IAAI;AACjB,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAO,aAAa,EAAE,GAAG,MAAM,GAAG,OAAO,QAAQ;AAAA,IACnD,KAAK;AACH,aAAO,eAAe,EAAE,GAAG,MAAM,GAAG,OAAO,QAAQ;AAAA,IACrD,KAAK;AACH,aAAO;AAAA,QACL,EAAE,GAAG,MAAM;AAAA,QACX,OAAO;AAAA,QACN,OAAiC;AAAA,QACjC,OAAiC;AAAA,MACpC;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,EAAE,GAAG,MAAM;AAAA,QACX,OAAO;AAAA,QACN,OAA8B;AAAA,MACjC;AAAA,IACF;AACE,aAAO;AAAA,EACX;AACF,GAEM,yBAAqB,4BAAwD,IAAI,GACjF,4BAAwB,4BAAkD,IAAI,GAE9E,iBAAiB,CAAC,aAAqB;AAC3C,QAAM,YAAQ,yBAAW,kBAAkB;AAE3C,MAAI,UAAU;AACZ,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAGF,SAAO,MAAM,QAAQ,KAAK,CAAC;AAC7B,GAEa,YAAY,CAAC,WAAW,WAAW;AAC9C,QAAM,eAAW,yBAAW,qBAAqB;AAEjD,MAAI,aAAa;AACf,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAIF,QAAMC,oBAAe,0BAAY,MAAM;AACrC,aAAS;AAAA,MACP,MAAM;AAAA,MACN;AAAA,IACF,CAAC;AAAA,EAEH,GAAG,CAAC,CAAC,GAECC,sBAAiB,0BAAY,MAAM;AACvC,aAAS;AAAA,MACP,MAAM;AAAA,MACN;AAAA,IACF,CAAC;AAAA,EAEH,GAAG,CAAC,CAAC,GAECC,uBAAkB,0BAAY,CAAC,MAAc,SAAoB;AACrE,aAAS;AAAA,MACP,MAAM;AAAA,MACN;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EAEH,GAAG,CAAC,CAAC,GAECC,oBAAe,0BAAY,CAAC,SAAiB;AACjD,aAAS;AAAA,MACP,MAAM;AAAA,MACN;AAAA,MACA,YAAY;AAAA,IACd,CAAC;AAAA,EAEH,GAAG,CAAC,CAAC;AAGL,SAAO;AAAA,IACL,cAAAH;AAAA,IACA,gBAAAC;AAAA,IACA,WAAWC;AAAA,IACX,cAAcA;AAAA,IACd,cAAAC;AAAA,EACF;AACF,GAsBM,0BAA0B,CAAC;AAAA,EAC/B,eAAe;AAAA,EACf,oBAAoB;AAAA,EACpB;AACF,MAA2B;AACzB,QAAM,CAAC,OAAO,QAAQ,QAAI,yBAAW,SAAS,aAAa,GACrD,yBAAqB,sBAAQ,MACpB,CAAC,UAAe;AAC3B,sCAAgB,MAAM;AACpB,eAAS,KAAK;AAAA,IAChB,CAAC;AAAA,EACH,GAEC,CAAC,QAAQ,CAAC;AAEb,SACE,4CAAC,sBAAsB,UAAtB,EAA+B,OAAO,oBACrC,uDAAC,mBAAmB,UAAnB,EAA4B,OAAO,OACjC;AAAA;AAAA,IACA,qBAAqB,4CAAC,cAAW,MAAM,cAAc;AAAA,KACxD,GACF;AAEJ,GAEa,qBAAiB,mBAAK,uBAAuB;AAC1D,eAAe,cAAc;AAkB7B,MAAM,kBAA6C,CAAC,aAAa,2EAAG,UAAS,GAEvE,sBAAsB,CAAC,UAA2B;AACtD,QAAM,EAAE,MAAM,cAAc,SAAS,gBAAgB,IAAI,OACnD,WAAW,KAAC,6BAAgB,GAC5B,QAAQ,eAAe,IAAI,GAC3B,EAAE,cAAAH,eAAc,gBAAAC,gBAAe,IAAI,UAAU,MAAM,IAAI;AAa7D,aAVA,wBAAU,MAAM;AACd,QAAI;AACJ,aAAAD,cAAa,GACN,MAAM;AACX,QAAAC,gBAAe;AAAA,MACjB;AAAA,EAEF,GAAG,CAAC,QAAQ,CAAC,GAIJ;AAAA,IADL,eAEA,MAAM,IAAI,CAAC,SAAS;AAClB,UAAI,OAAO,KAAK;AAEhB,aAAI,eACK,aAAAG,QAAM,SAAS,IAAI,MAAM,CAAC,UACxB,aAAAA,QAAM,eAAe,KAAK,IAC7B,aAAAA,QAAM,aAAa,OAAO,EAAE,KAAK,MAAM,KAAK,GAAG,aAAa,CAAC,IAC7D,KACL,IAGI;AAAA,IACT,CAAC,IAKS,MAAM,IAAI,CAAC,SAAS,KAAK,IAAI;AAAA,EAJzC;AAMJ,GAEa,iBAAa,mBAAK,mBAAmB;AAClD,WAAW,cAAc;AA4CzB,MAAM,kBAAkB,CAAC,UAA2B;AAClD,QAAM;AAAA,IACJ,MAAM;AAAA,IACN;AAAA,IACA,eAAe;AAAA,IACf,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,IAChB;AAAA,EACF,IAAI,OACE,EAAE,WAAWF,kBAAiB,cAAAC,cAAa,IAAI,UAAU,QAAQ,GACjE,SAAK,oBAAM,GACX,OAAO,iBAAiB,IAExB,oBAAgB,sBAAS,MAAM;AACnC,IAAI,yBACF,uBAAuB,MAAMD,iBAAgB,MAAM,QAAQ,CAAC,IAE5DA,iBAAgB,MAAM,QAAQ;AAAA,EAElC,CAAC,GAEK,sBAAkB,sBAAS,MAAM;AACrC,IAAI,2BACF,yBAAyB,MAAMC,cAAa,IAAI,CAAC,IAEjDA,cAAa,IAAI;AAAA,EAErB,CAAC,GAEK,qBAAiB,sBAAS,MAAM;AACpC,IAAI,0BACF,wBAAwB,MAAMD,iBAAgB,MAAM,QAAQ,CAAC,IAE7DA,iBAAgB,MAAM,QAAQ;AAAA,EAElC,CAAC;AAED,oDAA0B,OACxB,cAAc,GACP,MAAM;AACX,oBAAgB;AAAA,EAClB,IACC,CAAC,CAAC,OAEL,wBAAU,MAAM;AACd,mBAAe;AAAA,EACjB,GAAG,CAAC,QAAQ,CAAC,GAEN;AACT,GAEa,iBAAa,mBAAK,eAAe;AAC9C,WAAW,cAAc;",
5
+ "names": ["ACTIONS", "registerHost", "deregisterHost", "addUpdatePortal", "removePortal", "React"]
6
+ }
@@ -1,20 +1,15 @@
1
- "use strict";
2
1
  var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
8
+ __defProp(target, name, { get: all[name], enumerable: !0 });
9
+ }, __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from == "object" || typeof from == "function")
14
11
  for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
12
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
13
  return to;
19
14
  };
20
15
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
@@ -22,43 +17,32 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
22
17
  // file that has been converted to a CommonJS file using a Babel-
23
18
  // compatible transform (i.e. "__esModule" has not been set), then set
24
19
  // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
26
21
  mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
22
+ )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
29
23
  var Portal_exports = {};
30
24
  __export(Portal_exports, {
31
25
  Portal: () => Portal
32
26
  });
33
27
  module.exports = __toCommonJS(Portal_exports);
34
- var import_jsx_runtime = require("react/jsx-runtime");
35
- var import_polyfill_dev = require("@tamagui/polyfill-dev");
36
- var import_core = require("@tamagui/core");
37
- var import_stacks = require("@tamagui/stacks");
38
- var React = __toESM(require("react"));
39
- var import_react_dom = require("react-dom");
28
+ var import_polyfill_dev = require("@tamagui/polyfill-dev"), import_core = require("@tamagui/core"), import_stacks = require("@tamagui/stacks"), React = __toESM(require("react")), import_react_dom = require("react-dom"), import_jsx_runtime = require("react/jsx-runtime");
40
29
  const Portal = React.memo(
41
- ({ host = ((_a) => (_a = globalThis.document) == null ? void 0 : _a.body)(), ...props }) => {
30
+ ({ host = globalThis.document?.body, ...props }) => {
42
31
  const contents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
43
32
  import_stacks.YStack,
44
33
  {
45
34
  contain: "strict",
46
- fullscreen: true,
35
+ fullscreen: !0,
47
36
  position: import_core.isWeb ? "fixed" : "absolute",
48
37
  maxWidth: import_core.isWeb ? "100vw" : "100%",
49
38
  maxHeight: import_core.isWeb ? "100vh" : "100%",
50
39
  pointerEvents: "none",
51
40
  ...props
52
41
  }
53
- );
54
- const [hostElement, setHostElement] = React.useState(null);
55
- (0, import_core.useIsomorphicLayoutEffect)(() => {
42
+ ), [hostElement, setHostElement] = React.useState(null);
43
+ return (0, import_core.useIsomorphicLayoutEffect)(() => {
56
44
  setHostElement(host);
57
- }, [host]);
58
- if (hostElement && props.children) {
59
- return (0, import_react_dom.createPortal)(contents, hostElement);
60
- }
61
- return null;
45
+ }, [host]), hostElement && props.children ? (0, import_react_dom.createPortal)(contents, hostElement) : null;
62
46
  }
63
47
  );
64
48
  // Annotate the CommonJS export names for ESM import in node:
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Portal.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAaM;AAZN,0BAAO;AAEP,kBAAiD;AACjD,oBAAuB;AACvB,YAAuB;AACvB,uBAA6B;AAItB,MAAM,SAAS,MAAM;AAAA,EAC1B,CAAC,EAAE,QAAO,yBAAW,aAAX,mBAAqB,SAAM,GAAG,MAAM,MAAmB;AAC/D,UAAM,WACJ;AAAA,MAAC;AAAA;AAAA,QACC,SAAQ;AAAA,QACR,YAAU;AAAA,QAEV,UAAU,oBAAQ,UAAU;AAAA,QAC5B,UAAU,oBAAQ,UAAU;AAAA,QAC5B,WAAW,oBAAQ,UAAU;AAAA,QAC7B,eAAc;AAAA,QACb,GAAG;AAAA;AAAA,IACN;AAGF,UAAM,CAAC,aAAa,cAAc,IAAI,MAAM,SAAc,IAAI;AAE9D,+CAA0B,MAAM;AAC9B,qBAAe,IAAI;AAAA,IACrB,GAAG,CAAC,IAAI,CAAC;AAET,QAAI,eAAe,MAAM,UAAU;AACjC,iBAAO,+BAAa,UAAU,WAAW;AAAA,IAC3C;AAGA,WAAO;AAAA,EACT;AACF;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,0BAAO,kCAEP,cAAiD,0BACjD,gBAAuB,4BACvB,QAAuB,2BACvB,mBAA6B,sBAOvB;AAHC,MAAM,SAAS,MAAM;AAAA,EAC1B,CAAC,EAAE,OAAO,WAAW,UAAU,MAAM,GAAG,MAAM,MAAmB;AAC/D,UAAM,WACJ;AAAA,MAAC;AAAA;AAAA,QACC,SAAQ;AAAA,QACR,YAAU;AAAA,QAEV,UAAU,oBAAQ,UAAU;AAAA,QAC5B,UAAU,oBAAQ,UAAU;AAAA,QAC5B,WAAW,oBAAQ,UAAU;AAAA,QAC7B,eAAc;AAAA,QACb,GAAG;AAAA;AAAA,IACN,GAGI,CAAC,aAAa,cAAc,IAAI,MAAM,SAAc,IAAI;AAM9D,eAJA,uCAA0B,MAAM;AAC9B,qBAAe,IAAI;AAAA,IACrB,GAAG,CAAC,IAAI,CAAC,GAEL,eAAe,MAAM,eAChB,+BAAa,UAAU,WAAW,IAIpC;AAAA,EACT;AACF;",
5
5
  "names": []
6
6
  }
@@ -3,18 +3,14 @@ var __create = Object.create;
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
8
7
  var __export = (target, all) => {
9
8
  for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
9
+ __defProp(target, name, { get: all[name], enumerable: !0 });
10
+ }, __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from == "object" || typeof from == "function")
14
12
  for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
13
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
14
  return to;
19
15
  };
20
16
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
@@ -22,44 +18,31 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
22
18
  // file that has been converted to a CommonJS file using a Babel-
23
19
  // compatible transform (i.e. "__esModule" has not been set), then set
24
20
  // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
26
22
  mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
+ )), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
29
24
  var Portal_native_exports = {};
30
25
  __export(Portal_native_exports, {
31
26
  Portal: () => Portal
32
27
  });
33
28
  module.exports = __toCommonJS(Portal_native_exports);
34
- var import_jsx_runtime = require("react/jsx-runtime");
35
- var import_stacks = require("@tamagui/stacks");
36
- var React = __toESM(require("react"));
37
- var import_react_native = require("react-native");
38
- var import_GorhomPortal = require("./GorhomPortal");
39
- const isFabric = global == null ? void 0 : global.nativeFabricUIManager;
29
+ var import_stacks = require("@tamagui/stacks"), React = __toESM(require("react")), import_react_native = require("react-native"), import_GorhomPortal = require("./GorhomPortal"), import_jsx_runtime = require("react/jsx-runtime");
30
+ const isFabric = global?.nativeFabricUIManager;
40
31
  let createPortal;
41
- if (isFabric) {
42
- createPortal = require("react-native/Libraries/Renderer/shims/ReactFabric").createPortal;
43
- } else {
44
- createPortal = require("react-native/Libraries/Renderer/shims/ReactNative").createPortal;
45
- }
32
+ isFabric ? createPortal = require("react-native/Libraries/Renderer/shims/ReactFabric").createPortal : createPortal = require("react-native/Libraries/Renderer/shims/ReactNative").createPortal;
46
33
  const Portal = (props) => {
47
- const rootTag = React.useContext(import_react_native.RootTagContext);
48
- const contents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
34
+ const rootTag = React.useContext(import_react_native.RootTagContext), contents = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
49
35
  import_stacks.YStack,
50
36
  {
51
37
  pointerEvents: "box-none",
52
- fullscreen: true,
38
+ fullscreen: !0,
53
39
  position: "absolute",
54
40
  maxWidth: "100%",
55
41
  zIndex: 1e5,
56
42
  ...props
57
43
  }
58
44
  );
59
- if (import_react_native.Platform.OS === "android" || !rootTag) {
60
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_GorhomPortal.PortalItem, { hostName: "root", children: contents });
61
- }
62
- return createPortal(contents, rootTag);
45
+ return import_react_native.Platform.OS === "android" || !rootTag ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_GorhomPortal.PortalItem, { hostName: "root", children: contents }) : createPortal(contents, rootTag);
63
46
  };
64
47
  // Annotate the CommonJS export names for ESM import in node:
65
48
  0 && (module.exports = {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Portal.native.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAoBI;AApBJ,oBAAuB;AACvB,YAAuB;AAEvB,0BAAyC;AAEzC,0BAA2B;AAG3B,MAAM,WAAW,iCAAQ;AACzB,IAAI;AACJ,IAAI,UAAU;AACZ,iBAAe,QAAQ,mDAAmD,EAAE;AAC9E,OAAO;AACL,iBAAe,QAAQ,mDAAmD,EAAE;AAC9E;AAEO,MAAM,SAAS,CAAC,UAAuB;AAC5C,QAAM,UAAU,MAAM,WAAW,kCAAc;AAE/C,QAAM,WACJ;AAAA,IAAC;AAAA;AAAA,MACC,eAAc;AAAA,MACd,YAAU;AAAA,MACV,UAAS;AAAA,MACT,UAAS;AAAA,MACT,QAAQ;AAAA,MACP,GAAG;AAAA;AAAA,EACN;AAGF,MAAI,6BAAS,OAAO,aAAa,CAAC,SAAS;AACzC,WAAO,4CAAC,kCAAW,UAAS,QAAQ,oBAAS;AAAA,EAC/C;AAEA,SAAO,aAAa,UAAU,OAAO;AACvC;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAuB,4BACvB,QAAuB,2BAEvB,sBAAyC,yBAEzC,sBAA2B,2BAevB;AAZJ,MAAM,WAAW,QAAQ;AACzB,IAAI;AACA,WACF,eAAe,QAAQ,mDAAmD,EAAE,eAE5E,eAAe,QAAQ,mDAAmD,EAAE;AAGvE,MAAM,SAAS,CAAC,UAAuB;AAC5C,QAAM,UAAU,MAAM,WAAW,kCAAc,GAEzC,WACJ;AAAA,IAAC;AAAA;AAAA,MACC,eAAc;AAAA,MACd,YAAU;AAAA,MACV,UAAS;AAAA,MACT,UAAS;AAAA,MACT,QAAQ;AAAA,MACP,GAAG;AAAA;AAAA,EACN;AAGF,SAAI,6BAAS,OAAO,aAAa,CAAC,UACzB,4CAAC,kCAAW,UAAS,QAAQ,oBAAS,IAGxC,aAAa,UAAU,OAAO;AACvC;",
5
5
  "names": []
6
6
  }
@@ -1,17 +1,14 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
5
  var __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
6
+ if (from && typeof from == "object" || typeof from == "function")
8
7
  for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
8
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
9
  return to;
13
10
  };
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
11
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
12
  var PortalProps_exports = {};
16
13
  module.exports = __toCommonJS(PortalProps_exports);
17
14
  //# sourceMappingURL=PortalProps.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/PortalProps.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
4
+ "mappings": ";;;;;;;;;;;AAAA;AAAA;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from == "object" || typeof from == "function")
8
+ for (let key of __getOwnPropNames(from))
9
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ return to;
11
+ };
12
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
13
+ var PortalProps_exports = {};
14
+ module.exports = __toCommonJS(PortalProps_exports);
15
+ //# sourceMappingURL=PortalProps.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/PortalProps.tsx"],
4
+ "mappings": ";;;;;;;;;;;;AAAA;AAAA;",
5
+ "names": []
6
+ }
package/dist/cjs/index.js CHANGED
@@ -1,18 +1,14 @@
1
- "use strict";
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
5
  var __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
6
+ if (from && typeof from == "object" || typeof from == "function")
8
7
  for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
8
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
9
  return to;
13
- };
14
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
10
+ }, __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
11
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
16
12
  var src_exports = {};
17
13
  module.exports = __toCommonJS(src_exports);
18
14
  __reExport(src_exports, require("./Portal"), module.exports);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,qBAAd;AACA,wBAAc,0BADd;AAEA,wBAAc,2BAFd;",
4
+ "mappings": ";;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,qBAAd;AACA,wBAAc,0BADd;AAEA,wBAAc,2BAFd;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from == "object" || typeof from == "function")
8
+ for (let key of __getOwnPropNames(from))
9
+ !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ return to;
11
+ }, __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
12
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
13
+ var src_exports = {};
14
+ module.exports = __toCommonJS(src_exports);
15
+ __reExport(src_exports, require("./Portal"), module.exports);
16
+ __reExport(src_exports, require("./PortalProps"), module.exports);
17
+ __reExport(src_exports, require("./GorhomPortal"), module.exports);
18
+ // Annotate the CommonJS export names for ESM import in node:
19
+ 0 && (module.exports = {
20
+ ...require("./Portal"),
21
+ ...require("./PortalProps"),
22
+ ...require("./GorhomPortal")
23
+ });
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/index.tsx"],
4
+ "mappings": ";;;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,qBAAd;AACA,wBAAc,0BADd;AAEA,wBAAc,2BAFd;",
5
+ "names": []
6
+ }
@@ -1,4 +1,3 @@
1
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
1
  import { useDidFinishSSR, useEvent, useIsomorphicLayoutEffect } from "@tamagui/core";
3
2
  import React, {
4
3
  createContext,
@@ -11,52 +10,24 @@ import React, {
11
10
  useMemo,
12
11
  useReducer
13
12
  } from "react";
14
- var ACTIONS = /* @__PURE__ */ ((ACTIONS2) => {
15
- ACTIONS2[ACTIONS2["REGISTER_HOST"] = 0] = "REGISTER_HOST";
16
- ACTIONS2[ACTIONS2["DEREGISTER_HOST"] = 1] = "DEREGISTER_HOST";
17
- ACTIONS2[ACTIONS2["ADD_UPDATE_PORTAL"] = 2] = "ADD_UPDATE_PORTAL";
18
- ACTIONS2[ACTIONS2["REMOVE_PORTAL"] = 3] = "REMOVE_PORTAL";
19
- return ACTIONS2;
20
- })(ACTIONS || {});
13
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
14
+ 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 || {});
21
15
  const INITIAL_STATE = {};
22
- const registerHost = (state, hostName) => {
23
- if (!(hostName in state)) {
24
- state[hostName] = [];
25
- }
26
- return state;
27
- };
28
- const deregisterHost = (state, hostName) => {
29
- delete state[hostName];
30
- return state;
31
- };
32
- const addUpdatePortal = (state, hostName, portalName, node) => {
33
- if (!(hostName in state)) {
34
- state = registerHost(state, hostName);
35
- }
16
+ const registerHost = (state, hostName) => (hostName in state || (state[hostName] = []), state), deregisterHost = (state, hostName) => (delete state[hostName], state), addUpdatePortal = (state, hostName, portalName, node) => {
17
+ hostName in state || (state = registerHost(state, hostName));
36
18
  const index = state[hostName].findIndex((item) => item.name === portalName);
37
- if (index !== -1) {
38
- state[hostName][index].node = node;
39
- } else {
40
- state[hostName].push({
41
- name: portalName,
42
- node
43
- });
44
- }
45
- return state;
46
- };
47
- const removePortal = (state, hostName, portalName) => {
48
- if (!(hostName in state)) {
49
- console.log(
19
+ return index !== -1 ? state[hostName][index].node = node : state[hostName].push({
20
+ name: portalName,
21
+ node
22
+ }), state;
23
+ }, removePortal = (state, hostName, portalName) => {
24
+ if (!(hostName in state))
25
+ return console.log(
50
26
  `Failed to remove portal '${portalName}', '${hostName}' was not registered!`
51
- );
52
- return state;
53
- }
27
+ ), state;
54
28
  const index = state[hostName].findIndex((item) => item.name === portalName);
55
- if (index !== -1)
56
- state[hostName].splice(index, 1);
57
- return state;
58
- };
59
- const reducer = (state, action) => {
29
+ return index !== -1 && state[hostName].splice(index, 1), state;
30
+ }, reducer = (state, action) => {
60
31
  const { type } = action;
61
32
  switch (type) {
62
33
  case 0 /* REGISTER_HOST */:
@@ -79,46 +50,37 @@ const reducer = (state, action) => {
79
50
  default:
80
51
  return state;
81
52
  }
82
- };
83
- const PortalStateContext = createContext(null);
84
- const PortalDispatchContext = createContext(null);
85
- const usePortalState = (hostName) => {
53
+ }, PortalStateContext = createContext(null), PortalDispatchContext = createContext(null), usePortalState = (hostName) => {
86
54
  const state = useContext(PortalStateContext);
87
- if (state === null) {
55
+ if (state === null)
88
56
  throw new Error(
89
57
  "'PortalStateContext' cannot be null, please add 'PortalProvider' to the root component."
90
58
  );
91
- }
92
59
  return state[hostName] || [];
93
- };
94
- const usePortal = (hostName = "root") => {
60
+ }, usePortal = (hostName = "root") => {
95
61
  const dispatch = useContext(PortalDispatchContext);
96
- if (dispatch === null) {
62
+ if (dispatch === null)
97
63
  throw new Error(
98
64
  "'PortalDispatchContext' cannot be null, please add 'PortalProvider' to the root component."
99
65
  );
100
- }
101
66
  const registerHost2 = useCallback(() => {
102
67
  dispatch({
103
68
  type: 0 /* REGISTER_HOST */,
104
69
  hostName
105
70
  });
106
- }, []);
107
- const deregisterHost2 = useCallback(() => {
71
+ }, []), deregisterHost2 = useCallback(() => {
108
72
  dispatch({
109
73
  type: 1 /* DEREGISTER_HOST */,
110
74
  hostName
111
75
  });
112
- }, []);
113
- const addUpdatePortal2 = useCallback((name, node) => {
76
+ }, []), addUpdatePortal2 = useCallback((name, node) => {
114
77
  dispatch({
115
78
  type: 2 /* ADD_UPDATE_PORTAL */,
116
79
  hostName,
117
80
  portalName: name,
118
81
  node
119
82
  });
120
- }, []);
121
- const removePortal2 = useCallback((name) => {
83
+ }, []), removePortal2 = useCallback((name) => {
122
84
  dispatch({
123
85
  type: 3 /* REMOVE_PORTAL */,
124
86
  hostName,
@@ -132,58 +94,36 @@ const usePortal = (hostName = "root") => {
132
94
  updatePortal: addUpdatePortal2,
133
95
  removePortal: removePortal2
134
96
  };
135
- };
136
- const PortalProviderComponent = ({
97
+ }, PortalProviderComponent = ({
137
98
  rootHostName = "root",
138
- shouldAddRootHost = true,
99
+ shouldAddRootHost = !0,
139
100
  children
140
101
  }) => {
141
- const [state, dispatch] = useReducer(reducer, INITIAL_STATE);
142
- const transitionDispatch = useMemo(() => {
143
- const next = (value) => {
144
- startTransition(() => {
145
- dispatch(value);
146
- });
147
- };
148
- return next;
102
+ const [state, dispatch] = useReducer(reducer, INITIAL_STATE), transitionDispatch = useMemo(() => (value) => {
103
+ startTransition(() => {
104
+ dispatch(value);
105
+ });
149
106
  }, [dispatch]);
150
107
  return /* @__PURE__ */ jsx(PortalDispatchContext.Provider, { value: transitionDispatch, children: /* @__PURE__ */ jsxs(PortalStateContext.Provider, { value: state, children: [
151
108
  children,
152
109
  shouldAddRootHost && /* @__PURE__ */ jsx(PortalHost, { name: rootHostName })
153
110
  ] }) });
154
- };
155
- const PortalProvider = memo(PortalProviderComponent);
111
+ }, PortalProvider = memo(PortalProviderComponent);
156
112
  PortalProvider.displayName = "PortalProvider";
157
- const defaultRenderer = (children) => /* @__PURE__ */ jsx(Fragment, { children });
158
- const PortalHostComponent = (props) => {
159
- const { name, forwardProps, render = defaultRenderer } = props;
160
- const isServer = !useDidFinishSSR();
161
- const state = usePortalState(name);
162
- const { registerHost: registerHost2, deregisterHost: deregisterHost2 } = usePortal(props.name);
163
- useEffect(() => {
164
- if (isServer)
165
- return;
166
- registerHost2();
167
- return () => {
168
- deregisterHost2();
169
- };
170
- }, [isServer]);
171
- if (forwardProps) {
172
- return render(
173
- state.map((item) => {
174
- let next = item.node;
175
- if (forwardProps) {
176
- return React.Children.map(next, (child) => {
177
- return React.isValidElement(child) ? React.cloneElement(child, { key: child.key, ...forwardProps }) : child;
178
- });
179
- }
180
- return next;
181
- })
182
- );
183
- }
184
- return render(state.map((item) => item.node));
185
- };
186
- const PortalHost = memo(PortalHostComponent);
113
+ const defaultRenderer = (children) => /* @__PURE__ */ jsx(Fragment, { children }), PortalHostComponent = (props) => {
114
+ const { name, forwardProps, render = defaultRenderer } = props, isServer = !useDidFinishSSR(), state = usePortalState(name), { registerHost: registerHost2, deregisterHost: deregisterHost2 } = usePortal(props.name);
115
+ return useEffect(() => {
116
+ if (!isServer)
117
+ return registerHost2(), () => {
118
+ deregisterHost2();
119
+ };
120
+ }, [isServer]), render(
121
+ forwardProps ? state.map((item) => {
122
+ let next = item.node;
123
+ return forwardProps ? React.Children.map(next, (child) => React.isValidElement(child) ? React.cloneElement(child, { key: child.key, ...forwardProps }) : child) : next;
124
+ }) : state.map((item) => item.node)
125
+ );
126
+ }, PortalHost = memo(PortalHostComponent);
187
127
  PortalHost.displayName = "PortalHost";
188
128
  const PortalComponent = (props) => {
189
129
  const {
@@ -193,43 +133,19 @@ const PortalComponent = (props) => {
193
133
  handleOnUnmount: _providedHandleOnUnmount,
194
134
  handleOnUpdate: _providedHandleOnUpdate,
195
135
  children
196
- } = props;
197
- const { addPortal: addUpdatePortal2, removePortal: removePortal2 } = usePortal(hostName);
198
- const id = useId();
199
- const name = _providedName || id;
200
- const handleOnMount = useEvent(() => {
201
- if (_providedHandleOnMount) {
202
- _providedHandleOnMount(() => addUpdatePortal2(name, children));
203
- } else {
204
- addUpdatePortal2(name, children);
205
- }
206
- });
207
- const handleOnUnmount = useEvent(() => {
208
- if (_providedHandleOnUnmount) {
209
- _providedHandleOnUnmount(() => removePortal2(name));
210
- } else {
211
- removePortal2(name);
212
- }
136
+ } = props, { addPortal: addUpdatePortal2, removePortal: removePortal2 } = usePortal(hostName), id = useId(), name = _providedName || id, handleOnMount = useEvent(() => {
137
+ _providedHandleOnMount ? _providedHandleOnMount(() => addUpdatePortal2(name, children)) : addUpdatePortal2(name, children);
138
+ }), handleOnUnmount = useEvent(() => {
139
+ _providedHandleOnUnmount ? _providedHandleOnUnmount(() => removePortal2(name)) : removePortal2(name);
140
+ }), handleOnUpdate = useEvent(() => {
141
+ _providedHandleOnUpdate ? _providedHandleOnUpdate(() => addUpdatePortal2(name, children)) : addUpdatePortal2(name, children);
213
142
  });
214
- const handleOnUpdate = useEvent(() => {
215
- if (_providedHandleOnUpdate) {
216
- _providedHandleOnUpdate(() => addUpdatePortal2(name, children));
217
- } else {
218
- addUpdatePortal2(name, children);
219
- }
220
- });
221
- useIsomorphicLayoutEffect(() => {
222
- handleOnMount();
223
- return () => {
224
- handleOnUnmount();
225
- };
226
- }, []);
227
- useEffect(() => {
143
+ return useIsomorphicLayoutEffect(() => (handleOnMount(), () => {
144
+ handleOnUnmount();
145
+ }), []), useEffect(() => {
228
146
  handleOnUpdate();
229
- }, [children]);
230
- return null;
231
- };
232
- const PortalItem = memo(PortalComponent);
147
+ }, [children]), null;
148
+ }, PortalItem = memo(PortalComponent);
233
149
  PortalItem.displayName = "Portal";
234
150
  export {
235
151
  ACTIONS,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/GorhomPortal.tsx"],
4
- "mappings": "AAyPM,SA2B2D,UAzBnC,KAFxB;AAtPN,SAAS,iBAAiB,UAAU,iCAAiC;AACrE,OAAO;AAAA,EAEL;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAOP,IAAK,UAAL,kBAAKA,aAAL;AACE,EAAAA,kBAAA;AACA,EAAAA,kBAAA;AACA,EAAAA,kBAAA;AACA,EAAAA,kBAAA;AAJG,SAAAA;AAAA,GAAA;AAOL,MAAM,gBAAgB,CAAC;AAiCvB,MAAM,eAAe,CAAC,OAA0C,aAAqB;AACnF,MAAI,EAAE,YAAY,QAAQ;AACxB,UAAM,QAAQ,IAAI,CAAC;AAAA,EACrB;AACA,SAAO;AACT;AAEA,MAAM,iBAAiB,CAAC,OAA0C,aAAqB;AACrF,SAAO,MAAM,QAAQ;AACrB,SAAO;AACT;AAEA,MAAM,kBAAkB,CACtB,OACA,UACA,YACA,SACG;AACH,MAAI,EAAE,YAAY,QAAQ;AACxB,YAAQ,aAAa,OAAO,QAAQ;AAAA,EACtC;AAKA,QAAM,QAAQ,MAAM,QAAQ,EAAE,UAAU,CAAC,SAAS,KAAK,SAAS,UAAU;AAC1E,MAAI,UAAU,IAAI;AAChB,UAAM,QAAQ,EAAE,KAAK,EAAE,OAAO;AAAA,EAChC,OAAO;AACL,UAAM,QAAQ,EAAE,KAAK;AAAA,MACnB,MAAM;AAAA,MACN;AAAA,IACF,CAAC;AAAA,EACH;AACA,SAAO;AACT;AAEA,MAAM,eAAe,CACnB,OACA,UACA,eACG;AACH,MAAI,EAAE,YAAY,QAAQ;AAExB,YAAQ;AAAA,MACN,4BAA4B,UAAU,OAAO,QAAQ;AAAA,IACvD;AACA,WAAO;AAAA,EACT;AAEA,QAAM,QAAQ,MAAM,QAAQ,EAAE,UAAU,CAAC,SAAS,KAAK,SAAS,UAAU;AAC1E,MAAI,UAAU;AAAI,UAAM,QAAQ,EAAE,OAAO,OAAO,CAAC;AACjD,SAAO;AACT;AAEA,MAAM,UAAU,CAAC,OAA0C,WAAwB;AACjF,QAAM,EAAE,KAAK,IAAI;AACjB,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAO,aAAa,EAAE,GAAG,MAAM,GAAG,OAAO,QAAQ;AAAA,IACnD,KAAK;AACH,aAAO,eAAe,EAAE,GAAG,MAAM,GAAG,OAAO,QAAQ;AAAA,IACrD,KAAK;AACH,aAAO;AAAA,QACL,EAAE,GAAG,MAAM;AAAA,QACX,OAAO;AAAA,QACN,OAAiC;AAAA,QACjC,OAAiC;AAAA,MACpC;AAAA,IACF,KAAK;AACH,aAAO;AAAA,QACL,EAAE,GAAG,MAAM;AAAA,QACX,OAAO;AAAA,QACN,OAA8B;AAAA,MACjC;AAAA,IACF;AACE,aAAO;AAAA,EACX;AACF;AAEA,MAAM,qBAAqB,cAAwD,IAAI;AACvF,MAAM,wBAAwB,cAAkD,IAAI;AAEpF,MAAM,iBAAiB,CAAC,aAAqB;AAC3C,QAAM,QAAQ,WAAW,kBAAkB;AAE3C,MAAI,UAAU,MAAM;AAClB,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,SAAO,MAAM,QAAQ,KAAK,CAAC;AAC7B;AAEO,MAAM,YAAY,CAAC,WAAW,WAAW;AAC9C,QAAM,WAAW,WAAW,qBAAqB;AAEjD,MAAI,aAAa,MAAM;AACrB,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAGA,QAAMC,gBAAe,YAAY,MAAM;AACrC,aAAS;AAAA,MACP,MAAM;AAAA,MACN;AAAA,IACF,CAAC;AAAA,EAEH,GAAG,CAAC,CAAC;AAEL,QAAMC,kBAAiB,YAAY,MAAM;AACvC,aAAS;AAAA,MACP,MAAM;AAAA,MACN;AAAA,IACF,CAAC;AAAA,EAEH,GAAG,CAAC,CAAC;AAEL,QAAMC,mBAAkB,YAAY,CAAC,MAAc,SAAoB;AACrE,aAAS;AAAA,MACP,MAAM;AAAA,MACN;AAAA,MACA,YAAY;AAAA,MACZ;AAAA,IACF,CAAC;AAAA,EAEH,GAAG,CAAC,CAAC;AAEL,QAAMC,gBAAe,YAAY,CAAC,SAAiB;AACjD,aAAS;AAAA,MACP,MAAM;AAAA,MACN;AAAA,MACA,YAAY;AAAA,IACd,CAAC;AAAA,EAEH,GAAG,CAAC,CAAC;AAGL,SAAO;AAAA,IACL,cAAAH;AAAA,IACA,gBAAAC;AAAA,IACA,WAAWC;AAAA,IACX,cAAcA;AAAA,IACd,cAAAC;AAAA,EACF;AACF;AAsBA,MAAM,0BAA0B,CAAC;AAAA,EAC/B,eAAe;AAAA,EACf,oBAAoB;AAAA,EACpB;AACF,MAA2B;AACzB,QAAM,CAAC,OAAO,QAAQ,IAAI,WAAW,SAAS,aAAa;AAC3D,QAAM,qBAAqB,QAAQ,MAAM;AACvC,UAAM,OAAO,CAAC,UAAe;AAC3B,sBAAgB,MAAM;AACpB,iBAAS,KAAK;AAAA,MAChB,CAAC;AAAA,IACH;AACA,WAAO;AAAA,EACT,GAAG,CAAC,QAAQ,CAAC;AAEb,SACE,oBAAC,sBAAsB,UAAtB,EAA+B,OAAO,oBACrC,+BAAC,mBAAmB,UAAnB,EAA4B,OAAO,OACjC;AAAA;AAAA,IACA,qBAAqB,oBAAC,cAAW,MAAM,cAAc;AAAA,KACxD,GACF;AAEJ;AAEO,MAAM,iBAAiB,KAAK,uBAAuB;AAC1D,eAAe,cAAc;AAkB7B,MAAM,kBAA6C,CAAC,aAAa,gCAAG,UAAS;AAE7E,MAAM,sBAAsB,CAAC,UAA2B;AACtD,QAAM,EAAE,MAAM,cAAc,SAAS,gBAAgB,IAAI;AACzD,QAAM,WAAW,CAAC,gBAAgB;AAClC,QAAM,QAAQ,eAAe,IAAI;AACjC,QAAM,EAAE,cAAAH,eAAc,gBAAAC,gBAAe,IAAI,UAAU,MAAM,IAAI;AAG7D,YAAU,MAAM;AACd,QAAI;AAAU;AACd,IAAAD,cAAa;AACb,WAAO,MAAM;AACX,MAAAC,gBAAe;AAAA,IACjB;AAAA,EAEF,GAAG,CAAC,QAAQ,CAAC;AAGb,MAAI,cAAc;AAChB,WAAO;AAAA,MACL,MAAM,IAAI,CAAC,SAAS;AAClB,YAAI,OAAO,KAAK;AAEhB,YAAI,cAAc;AAChB,iBAAO,MAAM,SAAS,IAAI,MAAM,CAAC,UAAU;AACzC,mBAAO,MAAM,eAAe,KAAK,IAC7B,MAAM,aAAa,OAAO,EAAE,KAAK,MAAM,KAAK,GAAG,aAAa,CAAC,IAC7D;AAAA,UACN,CAAC;AAAA,QACH;AAEA,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA,EACF;AAGA,SAAO,OAAO,MAAM,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC;AAE9C;AAEO,MAAM,aAAa,KAAK,mBAAmB;AAClD,WAAW,cAAc;AA4CzB,MAAM,kBAAkB,CAAC,UAA2B;AAClD,QAAM;AAAA,IACJ,MAAM;AAAA,IACN;AAAA,IACA,eAAe;AAAA,IACf,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,IAChB;AAAA,EACF,IAAI;AACJ,QAAM,EAAE,WAAWC,kBAAiB,cAAAC,cAAa,IAAI,UAAU,QAAQ;AACvE,QAAM,KAAK,MAAM;AACjB,QAAM,OAAO,iBAAiB;AAE9B,QAAM,gBAAgB,SAAS,MAAM;AACnC,QAAI,wBAAwB;AAC1B,6BAAuB,MAAMD,iBAAgB,MAAM,QAAQ,CAAC;AAAA,IAC9D,OAAO;AACL,MAAAA,iBAAgB,MAAM,QAAQ;AAAA,IAChC;AAAA,EACF,CAAC;AAED,QAAM,kBAAkB,SAAS,MAAM;AACrC,QAAI,0BAA0B;AAC5B,+BAAyB,MAAMC,cAAa,IAAI,CAAC;AAAA,IACnD,OAAO;AACL,MAAAA,cAAa,IAAI;AAAA,IACnB;AAAA,EACF,CAAC;AAED,QAAM,iBAAiB,SAAS,MAAM;AACpC,QAAI,yBAAyB;AAC3B,8BAAwB,MAAMD,iBAAgB,MAAM,QAAQ,CAAC;AAAA,IAC/D,OAAO;AACL,MAAAA,iBAAgB,MAAM,QAAQ;AAAA,IAChC;AAAA,EACF,CAAC;AAED,4BAA0B,MAAM;AAC9B,kBAAc;AACd,WAAO,MAAM;AACX,sBAAgB;AAAA,IAClB;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,YAAU,MAAM;AACd,mBAAe;AAAA,EACjB,GAAG,CAAC,QAAQ,CAAC;AAEb,SAAO;AACT;AAEO,MAAM,aAAa,KAAK,eAAe;AAC9C,WAAW,cAAc;",
4
+ "mappings": "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",
5
5
  "names": ["ACTIONS", "registerHost", "deregisterHost", "addUpdatePortal", "removePortal"]
6
6
  }
@@ -1,31 +1,26 @@
1
- import { jsx } from "react/jsx-runtime";
2
1
  import "@tamagui/polyfill-dev";
3
2
  import { isWeb, useIsomorphicLayoutEffect } from "@tamagui/core";
4
3
  import { YStack } from "@tamagui/stacks";
5
4
  import * as React from "react";
6
5
  import { createPortal } from "react-dom";
6
+ import { jsx } from "react/jsx-runtime";
7
7
  const Portal = React.memo(
8
- ({ host = ((_a) => (_a = globalThis.document) == null ? void 0 : _a.body)(), ...props }) => {
8
+ ({ host = globalThis.document?.body, ...props }) => {
9
9
  const contents = /* @__PURE__ */ jsx(
10
10
  YStack,
11
11
  {
12
12
  contain: "strict",
13
- fullscreen: true,
13
+ fullscreen: !0,
14
14
  position: isWeb ? "fixed" : "absolute",
15
15
  maxWidth: isWeb ? "100vw" : "100%",
16
16
  maxHeight: isWeb ? "100vh" : "100%",
17
17
  pointerEvents: "none",
18
18
  ...props
19
19
  }
20
- );
21
- const [hostElement, setHostElement] = React.useState(null);
22
- useIsomorphicLayoutEffect(() => {
20
+ ), [hostElement, setHostElement] = React.useState(null);
21
+ return useIsomorphicLayoutEffect(() => {
23
22
  setHostElement(host);
24
- }, [host]);
25
- if (hostElement && props.children) {
26
- return createPortal(contents, hostElement);
27
- }
28
- return null;
23
+ }, [host]), hostElement && props.children ? createPortal(contents, hostElement) : null;
29
24
  }
30
25
  );
31
26
  export {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Portal.tsx"],
4
- "mappings": "AAaM;AAZN,OAAO;AAEP,SAAS,OAAO,iCAAiC;AACjD,SAAS,cAAc;AACvB,YAAY,WAAW;AACvB,SAAS,oBAAoB;AAItB,MAAM,SAAS,MAAM;AAAA,EAC1B,CAAC,EAAE,QAAO,yBAAW,aAAX,mBAAqB,SAAM,GAAG,MAAM,MAAmB;AAC/D,UAAM,WACJ;AAAA,MAAC;AAAA;AAAA,QACC,SAAQ;AAAA,QACR,YAAU;AAAA,QAEV,UAAU,QAAQ,UAAU;AAAA,QAC5B,UAAU,QAAQ,UAAU;AAAA,QAC5B,WAAW,QAAQ,UAAU;AAAA,QAC7B,eAAc;AAAA,QACb,GAAG;AAAA;AAAA,IACN;AAGF,UAAM,CAAC,aAAa,cAAc,IAAI,MAAM,SAAc,IAAI;AAE9D,8BAA0B,MAAM;AAC9B,qBAAe,IAAI;AAAA,IACrB,GAAG,CAAC,IAAI,CAAC;AAET,QAAI,eAAe,MAAM,UAAU;AACjC,aAAO,aAAa,UAAU,WAAW;AAAA,IAC3C;AAGA,WAAO;AAAA,EACT;AACF;",
4
+ "mappings": "AACA,OAAO;AAEP,SAAS,OAAO,iCAAiC;AACjD,SAAS,cAAc;AACvB,YAAY,WAAW;AACvB,SAAS,oBAAoB;AAOvB;AAHC,MAAM,SAAS,MAAM;AAAA,EAC1B,CAAC,EAAE,OAAO,WAAW,UAAU,MAAM,GAAG,MAAM,MAAmB;AAC/D,UAAM,WACJ;AAAA,MAAC;AAAA;AAAA,QACC,SAAQ;AAAA,QACR,YAAU;AAAA,QAEV,UAAU,QAAQ,UAAU;AAAA,QAC5B,UAAU,QAAQ,UAAU;AAAA,QAC5B,WAAW,QAAQ,UAAU;AAAA,QAC7B,eAAc;AAAA,QACb,GAAG;AAAA;AAAA,IACN,GAGI,CAAC,aAAa,cAAc,IAAI,MAAM,SAAc,IAAI;AAM9D,WAJA,0BAA0B,MAAM;AAC9B,qBAAe,IAAI;AAAA,IACrB,GAAG,CAAC,IAAI,CAAC,GAEL,eAAe,MAAM,WAChB,aAAa,UAAU,WAAW,IAIpC;AAAA,EACT;AACF;",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/portal",
3
- "version": "1.61.2",
3
+ "version": "1.62.0",
4
4
  "source": "src/index.ts",
5
5
  "types": "./types/index.d.ts",
6
6
  "main": "dist/cjs",
@@ -27,16 +27,16 @@
27
27
  }
28
28
  },
29
29
  "dependencies": {
30
- "@tamagui/core": "1.61.2",
31
- "@tamagui/stacks": "1.61.2",
32
- "@tamagui/use-event": "1.61.2"
30
+ "@tamagui/core": "1.62.0",
31
+ "@tamagui/stacks": "1.62.0",
32
+ "@tamagui/use-event": "1.62.0"
33
33
  },
34
34
  "peerDependencies": {
35
35
  "react": "*",
36
36
  "react-native": "*"
37
37
  },
38
38
  "devDependencies": {
39
- "@tamagui/build": "1.61.2",
39
+ "@tamagui/build": "1.62.0",
40
40
  "react": "^18.2.0",
41
41
  "react-native": "^0.72.1"
42
42
  },
@@ -1,34 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { YStack } from "@tamagui/stacks";
3
- import * as React from "react";
4
- import { Platform, RootTagContext } from "react-native";
5
- import { PortalItem } from "./GorhomPortal";
6
- const isFabric = global == null ? void 0 : global.nativeFabricUIManager;
7
- let createPortal;
8
- if (isFabric) {
9
- createPortal = require("react-native/Libraries/Renderer/shims/ReactFabric").createPortal;
10
- } else {
11
- createPortal = require("react-native/Libraries/Renderer/shims/ReactNative").createPortal;
12
- }
13
- const Portal = (props) => {
14
- const rootTag = React.useContext(RootTagContext);
15
- const contents = /* @__PURE__ */ jsx(
16
- YStack,
17
- {
18
- pointerEvents: "box-none",
19
- fullscreen: true,
20
- position: "absolute",
21
- maxWidth: "100%",
22
- zIndex: 1e5,
23
- ...props
24
- }
25
- );
26
- if (Platform.OS === "android" || !rootTag) {
27
- return /* @__PURE__ */ jsx(PortalItem, { hostName: "root", children: contents });
28
- }
29
- return createPortal(contents, rootTag);
30
- };
31
- export {
32
- Portal
33
- };
34
- //# sourceMappingURL=Portal.native.js.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/Portal.native.tsx"],
4
- "mappings": "AAoBI;AApBJ,SAAS,cAAc;AACvB,YAAY,WAAW;AAEvB,SAAS,UAAU,sBAAsB;AAEzC,SAAS,kBAAkB;AAG3B,MAAM,WAAW,iCAAQ;AACzB,IAAI;AACJ,IAAI,UAAU;AACZ,iBAAe,QAAQ,mDAAmD,EAAE;AAC9E,OAAO;AACL,iBAAe,QAAQ,mDAAmD,EAAE;AAC9E;AAEO,MAAM,SAAS,CAAC,UAAuB;AAC5C,QAAM,UAAU,MAAM,WAAW,cAAc;AAE/C,QAAM,WACJ;AAAA,IAAC;AAAA;AAAA,MACC,eAAc;AAAA,MACd,YAAU;AAAA,MACV,UAAS;AAAA,MACT,UAAS;AAAA,MACT,QAAQ;AAAA,MACP,GAAG;AAAA;AAAA,EACN;AAGF,MAAI,SAAS,OAAO,aAAa,CAAC,SAAS;AACzC,WAAO,oBAAC,cAAW,UAAS,QAAQ,oBAAS;AAAA,EAC/C;AAEA,SAAO,aAAa,UAAU,OAAO;AACvC;",
5
- "names": []
6
- }