@tamagui/portal 2.7.7 → 3.0.0-beta.643.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/dist/cjs/GorhomPortal.cjs +132 -164
  2. package/dist/cjs/GorhomPortal.native.cjs +202 -0
  3. package/dist/cjs/GorhomPortal.native.js +166 -211
  4. package/dist/cjs/GorhomPortal.native.js.map +1 -1
  5. package/dist/cjs/GorhomPortalItem.cjs +58 -58
  6. package/dist/cjs/GorhomPortalItem.native.cjs +105 -0
  7. package/dist/cjs/GorhomPortalItem.native.js +85 -106
  8. package/dist/cjs/GorhomPortalItem.native.js.map +1 -1
  9. package/dist/cjs/Portal.cjs +52 -60
  10. package/dist/cjs/Portal.native.cjs +57 -0
  11. package/dist/cjs/Portal.native.js +39 -44
  12. package/dist/cjs/Portal.native.js.map +1 -1
  13. package/dist/cjs/PortalProps.cjs +10 -11
  14. package/dist/cjs/PortalProps.native.cjs +19 -0
  15. package/dist/cjs/PortalProps.native.js +10 -10
  16. package/dist/cjs/PortalProps.native.js.map +1 -1
  17. package/dist/cjs/constants.cjs +24 -25
  18. package/dist/cjs/constants.native.cjs +44 -0
  19. package/dist/cjs/constants.native.js +26 -26
  20. package/dist/cjs/constants.native.js.map +1 -1
  21. package/dist/cjs/helpers.cjs +23 -24
  22. package/dist/cjs/helpers.native.cjs +39 -0
  23. package/dist/cjs/helpers.native.js +23 -23
  24. package/dist/cjs/helpers.native.js.map +1 -1
  25. package/dist/cjs/index.cjs +16 -17
  26. package/dist/cjs/index.native.cjs +36 -0
  27. package/dist/cjs/index.native.js +16 -16
  28. package/dist/cjs/index.native.js.map +1 -1
  29. package/dist/cjs/native-portal.cjs +32 -35
  30. package/dist/cjs/native-portal.native.cjs +51 -0
  31. package/dist/cjs/native-portal.native.js +37 -39
  32. package/dist/cjs/native-portal.native.js.map +1 -1
  33. package/dist/cjs/types.cjs +10 -11
  34. package/dist/cjs/types.native.cjs +19 -0
  35. package/dist/cjs/types.native.js +10 -10
  36. package/dist/cjs/types.native.js.map +1 -1
  37. package/dist/esm/GorhomPortal.mjs +112 -136
  38. package/dist/esm/GorhomPortal.mjs.map +1 -1
  39. package/dist/esm/GorhomPortal.native.js +146 -184
  40. package/dist/esm/GorhomPortal.native.js.map +1 -1
  41. package/dist/esm/GorhomPortalItem.mjs +46 -41
  42. package/dist/esm/GorhomPortalItem.mjs.map +1 -1
  43. package/dist/esm/GorhomPortalItem.native.js +74 -91
  44. package/dist/esm/GorhomPortalItem.native.js.map +1 -1
  45. package/dist/esm/Portal.mjs +38 -36
  46. package/dist/esm/Portal.mjs.map +1 -1
  47. package/dist/esm/Portal.native.js +28 -29
  48. package/dist/esm/Portal.native.js.map +1 -1
  49. package/dist/esm/PortalProps.mjs +0 -2
  50. package/dist/esm/PortalProps.native.js +0 -2
  51. package/dist/esm/constants.mjs +8 -6
  52. package/dist/esm/constants.mjs.map +1 -1
  53. package/dist/esm/constants.native.js +10 -8
  54. package/dist/esm/constants.native.js.map +1 -1
  55. package/dist/esm/helpers.mjs +9 -7
  56. package/dist/esm/helpers.mjs.map +1 -1
  57. package/dist/esm/helpers.native.js +9 -7
  58. package/dist/esm/helpers.native.js.map +1 -1
  59. package/dist/esm/index.js +10 -6
  60. package/dist/esm/index.mjs +10 -6
  61. package/dist/esm/index.native.js +10 -6
  62. package/dist/esm/native-portal.mjs +23 -17
  63. package/dist/esm/native-portal.mjs.map +1 -1
  64. package/dist/esm/native-portal.native.js +28 -22
  65. package/dist/esm/native-portal.native.js.map +1 -1
  66. package/dist/esm/types.mjs +0 -2
  67. package/dist/esm/types.native.js +0 -2
  68. package/package.json +11 -10
  69. package/src/GorhomPortalItem.tsx +11 -2
  70. package/src/Portal.tsx +31 -7
  71. package/src/PortalProps.tsx +7 -0
  72. package/types/GorhomPortal.d.ts +3 -2
  73. package/types/GorhomPortal.d.ts.map +1 -1
  74. package/types/GorhomPortalItem.d.ts.map +1 -1
  75. package/types/GorhomPortalItem.native.d.ts +1 -1
  76. package/types/GorhomPortalItem.native.d.ts.map +1 -1
  77. package/types/Portal.d.ts.map +1 -1
  78. package/types/Portal.native.d.ts +1 -1
  79. package/types/Portal.native.d.ts.map +1 -1
  80. package/types/PortalProps.d.ts +7 -1
  81. package/types/PortalProps.d.ts.map +1 -1
  82. package/types/helpers.d.ts +1 -1
  83. package/types/helpers.d.ts.map +1 -1
  84. package/dist/esm/PortalProps.mjs.map +0 -1
  85. package/dist/esm/PortalProps.native.js.map +0 -1
  86. package/dist/esm/index.js.map +0 -1
  87. package/dist/esm/index.mjs.map +0 -1
  88. package/dist/esm/index.native.js.map +0 -1
  89. package/dist/esm/types.mjs.map +0 -1
  90. package/dist/esm/types.native.js.map +0 -1
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+
3
4
  var __create = Object.create;
4
5
  var __defProp = Object.defineProperty;
5
6
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -7,39 +8,32 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
7
8
  var __getProtoOf = Object.getPrototypeOf;
8
9
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
10
  var __export = (target, all) => {
10
- for (var name in all) __defProp(target, name, {
11
- get: all[name],
12
- enumerable: true
13
- });
11
+ for (var name in all) __defProp(target, name, {
12
+ get: all[name],
13
+ enumerable: true
14
+ });
14
15
  };
15
16
  var __copyProps = (to, from, except, desc) => {
16
- if (from && typeof from === "object" || typeof from === "function") {
17
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
18
- get: () => from[key],
19
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
20
- });
21
- }
22
- return to;
17
+ if (from && typeof from === "object" || typeof from === "function") {
18
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
19
+ get: () => from[key],
20
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
21
+ });
22
+ }
23
+ return to;
23
24
  };
24
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
- // If the importer is in node compatibility mode or this is not an ESM
26
- // file that has been converted to a CommonJS file using a Babel-
27
- // compatible transform (i.e. "__esModule" has not been set), then set
28
- // "default" to the CommonJS "module.exports" for node compatibility.
29
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
- value: mod,
31
- enumerable: true
25
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
26
+ value: mod,
27
+ enumerable: true
32
28
  }) : target, mod));
33
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
- value: true
35
- }), mod);
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
36
30
  var GorhomPortal_exports = {};
37
31
  __export(GorhomPortal_exports, {
38
- ACTIONS: () => ACTIONS,
39
- INITIAL_STATE: () => INITIAL_STATE,
40
- PortalHost: () => PortalHost,
41
- PortalProvider: () => PortalProvider,
42
- usePortal: () => usePortal
32
+ ACTIONS: () => ACTIONS,
33
+ INITIAL_STATE: () => INITIAL_STATE,
34
+ PortalHost: () => PortalHost,
35
+ PortalProvider: () => PortalProvider,
36
+ usePortal: () => usePortal
43
37
  });
44
38
  module.exports = __toCommonJS(GorhomPortal_exports);
45
39
  var import_jsx_runtime = require("react/jsx-runtime");
@@ -48,202 +42,163 @@ var import_native = require("@tamagui/native");
48
42
  var import_start_transition = require("@tamagui/start-transition");
49
43
  var import_react = __toESM(require("react"), 1);
50
44
  require("./constants.native.js");
51
- var ACTIONS = /* @__PURE__ */function (ACTIONS2) {
52
- ACTIONS2[ACTIONS2["REGISTER_HOST"] = 0] = "REGISTER_HOST";
53
- ACTIONS2[ACTIONS2["DEREGISTER_HOST"] = 1] = "DEREGISTER_HOST";
54
- ACTIONS2[ACTIONS2["ADD_UPDATE_PORTAL"] = 2] = "ADD_UPDATE_PORTAL";
55
- ACTIONS2[ACTIONS2["REMOVE_PORTAL"] = 3] = "REMOVE_PORTAL";
56
- return ACTIONS2;
57
- }(ACTIONS || {});
45
+ var ACTIONS = /* @__PURE__ */ (function(ACTIONS2) {
46
+ ACTIONS2[ACTIONS2["REGISTER_HOST"] = 0] = "REGISTER_HOST";
47
+ ACTIONS2[ACTIONS2["DEREGISTER_HOST"] = 1] = "DEREGISTER_HOST";
48
+ ACTIONS2[ACTIONS2["ADD_UPDATE_PORTAL"] = 2] = "ADD_UPDATE_PORTAL";
49
+ ACTIONS2[ACTIONS2["REMOVE_PORTAL"] = 3] = "REMOVE_PORTAL";
50
+ return ACTIONS2;
51
+ })(ACTIONS || {});
58
52
  var INITIAL_STATE = {};
59
- var registerHost = function (state, hostName) {
60
- if (!(hostName in state)) state[hostName] = [];
61
- return state;
53
+ var registerHost = function(state, hostName) {
54
+ if (!(hostName in state)) state[hostName] = [];
55
+ return state;
62
56
  };
63
- var deregisterHost = function (state, hostName) {
64
- delete state[hostName];
65
- return state;
57
+ var deregisterHost = function(state, hostName) {
58
+ delete state[hostName];
59
+ return state;
66
60
  };
67
- var addUpdatePortal = function (state, hostName, portalName, node) {
68
- if (!(hostName in state)) state = registerHost(state, hostName);
69
- var index = state[hostName].findIndex(function (item) {
70
- return item.name === portalName;
71
- });
72
- if (index !== -1) state[hostName][index].node = node;else state[hostName].push({
73
- name: portalName,
74
- node
75
- });
76
- return state;
61
+ var addUpdatePortal = function(state, hostName, portalName, node) {
62
+ if (!(hostName in state)) state = registerHost(state, hostName);
63
+ var index = state[hostName].findIndex(function(item) {
64
+ return item.name === portalName;
65
+ });
66
+ if (index !== -1) state[hostName][index].node = node;
67
+ else state[hostName].push({
68
+ name: portalName,
69
+ node
70
+ });
71
+ return state;
77
72
  };
78
- var removePortal = function (state, hostName, portalName) {
79
- if (!(hostName in state)) {
80
- if (process.env.NODE_ENV === "development") console.info(`Failed to remove portal '${portalName}', '${hostName}' was not registered!`);
81
- return state;
82
- }
83
- var index = state[hostName].findIndex(function (item) {
84
- return item.name === portalName;
85
- });
86
- if (index !== -1) state[hostName].splice(index, 1);
87
- return state;
73
+ var removePortal = function(state, hostName, portalName) {
74
+ if (!(hostName in state)) {
75
+ if (process.env.NODE_ENV === "development") console.info(`Failed to remove portal '${portalName}', '${hostName}' was not registered!`);
76
+ return state;
77
+ }
78
+ var index = state[hostName].findIndex(function(item) {
79
+ return item.name === portalName;
80
+ });
81
+ if (index !== -1) state[hostName].splice(index, 1);
82
+ return state;
88
83
  };
89
- var reducer = function (state, action) {
90
- var {
91
- type
92
- } = action;
93
- switch (type) {
94
- case 0:
95
- return registerHost({
96
- ...state
97
- }, action.hostName);
98
- case 1:
99
- return deregisterHost({
100
- ...state
101
- }, action.hostName);
102
- case 2:
103
- return addUpdatePortal({
104
- ...state
105
- }, action.hostName, action.portalName, action.node);
106
- case 3:
107
- return removePortal({
108
- ...state
109
- }, action.hostName, action.portalName);
110
- default:
111
- return state;
112
- }
84
+ var reducer = function(state, action) {
85
+ var { type } = action;
86
+ switch (type) {
87
+ case 0: return registerHost({ ...state }, action.hostName);
88
+ case 1: return deregisterHost({ ...state }, action.hostName);
89
+ case 2: return addUpdatePortal({ ...state }, action.hostName, action.portalName, action.node);
90
+ case 3: return removePortal({ ...state }, action.hostName, action.portalName);
91
+ default: return state;
92
+ }
113
93
  };
114
- var PortalStateContext = /* @__PURE__ */(0, import_react.createContext)(null);
115
- var PortalDispatchContext = /* @__PURE__ */(0, import_react.createContext)(null);
116
- var PortalProviderActiveContext = /* @__PURE__ */(0, import_react.createContext)(false);
117
- var usePortalState = function (hostName) {
118
- var state = (0, import_react.useContext)(PortalStateContext);
119
- if (state === null) throw new Error("'PortalStateContext' cannot be null, please add 'PortalProvider' to the root component.");
120
- return state[hostName] || [];
94
+ var PortalStateContext = /* @__PURE__ */ (0, import_react.createContext)(null);
95
+ var PortalDispatchContext = /* @__PURE__ */ (0, import_react.createContext)(null);
96
+ var PortalProviderActiveContext = /* @__PURE__ */ (0, import_react.createContext)(false);
97
+ var usePortalState = function(hostName) {
98
+ var state = (0, import_react.useContext)(PortalStateContext);
99
+ if (state === null) throw new Error("'PortalStateContext' cannot be null, please add 'PortalProvider' to the root component.");
100
+ return state[hostName] || [];
121
101
  };
122
- var usePortal = function () {
123
- var hostName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "root";
124
- var dispatch = (0, import_react.useContext)(PortalDispatchContext);
125
- if (dispatch === null) throw new Error("'PortalDispatchContext' cannot be null, please add 'PortalProvider' to the root component.");
126
- var registerHost2 = (0, import_react.useCallback)(function () {
127
- dispatch({
128
- type: 0,
129
- hostName
130
- });
131
- }, []);
132
- var deregisterHost2 = (0, import_react.useCallback)(function () {
133
- dispatch({
134
- type: 1,
135
- hostName
136
- });
137
- }, []);
138
- var addUpdatePortal2 = (0, import_react.useCallback)(function (name, node) {
139
- dispatch({
140
- type: 2,
141
- hostName,
142
- portalName: name,
143
- node
144
- });
145
- }, []);
146
- return {
147
- registerHost: registerHost2,
148
- deregisterHost: deregisterHost2,
149
- addPortal: addUpdatePortal2,
150
- updatePortal: addUpdatePortal2,
151
- removePortal: (0, import_react.useCallback)(function (name) {
152
- dispatch({
153
- type: 3,
154
- hostName,
155
- portalName: name
156
- });
157
- }, [])
158
- };
102
+ var usePortal = function() {
103
+ var hostName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "root";
104
+ var dispatch = (0, import_react.useContext)(PortalDispatchContext);
105
+ if (dispatch === null) throw new Error("'PortalDispatchContext' cannot be null, please add 'PortalProvider' to the root component.");
106
+ var registerHost2 = (0, import_react.useCallback)(function() {
107
+ dispatch({
108
+ type: 0,
109
+ hostName
110
+ });
111
+ }, []);
112
+ var deregisterHost2 = (0, import_react.useCallback)(function() {
113
+ dispatch({
114
+ type: 1,
115
+ hostName
116
+ });
117
+ }, []);
118
+ var addUpdatePortal2 = (0, import_react.useCallback)(function(name, node) {
119
+ dispatch({
120
+ type: 2,
121
+ hostName,
122
+ portalName: name,
123
+ node
124
+ });
125
+ }, []);
126
+ return {
127
+ registerHost: registerHost2,
128
+ deregisterHost: deregisterHost2,
129
+ addPortal: addUpdatePortal2,
130
+ updatePortal: addUpdatePortal2,
131
+ removePortal: (0, import_react.useCallback)(function(name) {
132
+ dispatch({
133
+ type: 3,
134
+ hostName,
135
+ portalName: name
136
+ });
137
+ }, [])
138
+ };
159
139
  };
160
- var PortalProviderComponent = function (param) {
161
- var {
162
- rootHostName = "root",
163
- shouldAddRootHost = true,
164
- children
165
- } = param;
166
- var isAlreadyInProvider = (0, import_react.useContext)(PortalProviderActiveContext);
167
- if (process.env.NODE_ENV === "development") {
168
- if (isAlreadyInProvider && shouldAddRootHost) console.warn(`[tamagui] Nested PortalProvider with shouldAddRootHost detected. This causes hydration mismatches. TamaguiProvider from 'tamagui' already includes PortalProvider - remove the explicit PortalProvider wrapper or set shouldAddRootHost={false}.`);
169
- }
170
- var [state, dispatch] = (0, import_react.useReducer)(reducer, INITIAL_STATE);
171
- var transitionDispatch = (0, import_react.useMemo)(function () {
172
- var next = function (value) {
173
- (0, import_start_transition.startTransition)(function () {
174
- dispatch(value);
175
- });
176
- };
177
- return next;
178
- }, [dispatch]);
179
- var portalState = (0, import_native.getPortal)().state;
180
- var content = /* @__PURE__ */(0, import_jsx_runtime.jsx)(PortalProviderActiveContext.Provider, {
181
- value: true,
182
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(PortalDispatchContext.Provider, {
183
- value: transitionDispatch,
184
- children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(PortalStateContext.Provider, {
185
- value: state,
186
- children: [children, shouldAddRootHost && /* @__PURE__ */(0, import_jsx_runtime.jsx)(PortalHost, {
187
- name: rootHostName
188
- })]
189
- })
190
- })
191
- });
192
- if (portalState.type === "teleport") return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_native.NativePortalProvider, {
193
- children: content
194
- });
195
- return content;
140
+ var PortalProviderComponent = function(param) {
141
+ var { rootHostName = "root", shouldAddRootHost = true, children } = param;
142
+ var isAlreadyInProvider = (0, import_react.useContext)(PortalProviderActiveContext);
143
+ if (process.env.NODE_ENV === "development") {
144
+ if (isAlreadyInProvider && shouldAddRootHost) console.warn(`[tamagui] Nested PortalProvider with shouldAddRootHost detected. This causes hydration mismatches. TamaguiProvider from 'tamagui' already includes PortalProvider - remove the explicit PortalProvider wrapper or set shouldAddRootHost={false}.`);
145
+ }
146
+ var [state, dispatch] = (0, import_react.useReducer)(reducer, INITIAL_STATE);
147
+ var transitionDispatch = (0, import_react.useMemo)(function() {
148
+ var next = function(value) {
149
+ (0, import_start_transition.startTransition)(function() {
150
+ dispatch(value);
151
+ });
152
+ };
153
+ return next;
154
+ }, [dispatch]);
155
+ var portalState = (0, import_native.getPortal)().state;
156
+ var content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalProviderActiveContext.Provider, {
157
+ value: true,
158
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalDispatchContext.Provider, {
159
+ value: transitionDispatch,
160
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(PortalStateContext.Provider, {
161
+ value: state,
162
+ children: [children, shouldAddRootHost && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalHost, { name: rootHostName })]
163
+ })
164
+ })
165
+ });
166
+ if (portalState.type === "teleport") return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_native.NativePortalProvider, { children: content });
167
+ return content;
196
168
  };
197
- var PortalProvider = /* @__PURE__ */(0, import_react.memo)(PortalProviderComponent);
169
+ var PortalProvider = /* @__PURE__ */ (0, import_react.memo)(PortalProviderComponent);
198
170
  PortalProvider.displayName = "PortalProvider";
199
- var defaultRenderer = function (children) {
200
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
201
- children
202
- });
171
+ var defaultRenderer = function(children) {
172
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
203
173
  };
204
- var PortalHost = /* @__PURE__ */(0, import_react.memo)(function PortalHost2(props) {
205
- if ((0, import_native.getPortal)().state.type === "teleport") return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_native.NativePortalHost, {
206
- name: props.name
207
- });
208
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(PortalHostNonNative, {
209
- ...props
210
- });
174
+ var PortalHost = /* @__PURE__ */ (0, import_react.memo)(function PortalHost2(props) {
175
+ if ((0, import_native.getPortal)().state.type === "teleport") return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_native.NativePortalHost, { name: props.name });
176
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalHostNonNative, { ...props });
211
177
  });
212
178
  function PortalHostNonNative(props) {
213
- var {
214
- name,
215
- forwardProps,
216
- render = defaultRenderer
217
- } = props;
218
- var state = usePortalState(name);
219
- var {
220
- registerHost: registerHost2,
221
- deregisterHost: deregisterHost2
222
- } = usePortal(props.name);
223
- (0, import_constants.useIsomorphicLayoutEffect)(function () {
224
- registerHost2();
225
- return function () {
226
- deregisterHost2();
227
- };
228
- }, []);
229
- if (forwardProps) return render(state.map(function (item) {
230
- var next = item.node;
231
- var {
232
- children,
233
- ...restForwardProps
234
- } = forwardProps;
235
- if (forwardProps) return import_react.default.Children.map(next, function (child) {
236
- return /* @__PURE__ */import_react.default.isValidElement(child) ? /* @__PURE__ */import_react.default.cloneElement(child, {
237
- key: child.key,
238
- ...restForwardProps
239
- }) : child;
240
- });
241
- return next;
242
- }));
243
- return render(state.map(function (item) {
244
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.default.Fragment, {
245
- children: item.node
246
- }, item.name);
247
- }));
179
+ var { name, forwardProps, render = defaultRenderer } = props;
180
+ var state = usePortalState(name);
181
+ var { registerHost: registerHost2, deregisterHost: deregisterHost2 } = usePortal(props.name);
182
+ (0, import_constants.useIsomorphicLayoutEffect)(function() {
183
+ registerHost2();
184
+ return function() {
185
+ deregisterHost2();
186
+ };
187
+ }, []);
188
+ if (forwardProps) return render(state.map(function(item) {
189
+ var next = item.node;
190
+ var { children, ...restForwardProps } = forwardProps;
191
+ if (forwardProps) return import_react.default.Children.map(next, function(child) {
192
+ return /* @__PURE__ */ import_react.default.isValidElement(child) ? /* @__PURE__ */ import_react.default.cloneElement(child, {
193
+ key: child.key,
194
+ ...restForwardProps
195
+ }) : child;
196
+ });
197
+ return next;
198
+ }));
199
+ return render(state.map(function(item) {
200
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.default.Fragment, { children: item.node }, item.name);
201
+ }));
248
202
  }
203
+
249
204
  //# sourceMappingURL=GorhomPortal.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["isNodeMode","mod","__esModule","__defProp","target","value","enumerable","__toCommonJS","__copyProps","GorhomPortal_exports","__export","ACTIONS","INITIAL_STATE","PortalHost","PortalProvider","usePortal","import_constants","module","exports","import_jsx_runtime","require","import_native","import_start_transition","import_react","__toESM","ACTIONS2","registerHost","state","hostName","deregisterHost","addUpdatePortal","portalName","node","index","findIndex","item","name","push","removePortal","process","env","NODE_ENV","console","info","splice","reducer","action","type","PortalStateContext","createContext","PortalDispatchContext","PortalProviderActiveContext","usePortalState","useContext","Error","arguments","length","dispatch","registerHost2","useCallback","deregisterHost2","addUpdatePortal2","addPortal","updatePortal","PortalProviderComponent","param","rootHostName","shouldAddRootHost","children","isAlreadyInProvider","warn","useReducer","transitionDispatch","useMemo","next","startTransition","portalState","getPortal","content","jsx","Provider","jsxs","NativePortalProvider","memo","displayName","defaultRenderer","Fragment","PortalHost2","props","NativePortalHost","PortalHostNonNative","forwardProps","render","useIsomorphicLayoutEffect","map","restForwardProps","default","Children","child","isValidElement","cloneElement","key"],"sources":["../../src/GorhomPortal.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"GorhomPortal.native.js","names":[],"sources":["cjs/GorhomPortal.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n\tfor (var name in all) __defProp(target, name, {\n\t\tget: all[name],\n\t\tenumerable: true\n\t});\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n\t\t\tget: () => from[key],\n\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t});\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n\t// If the importer is in node compatibility mode or this is not an ESM\n\t// file that has been converted to a CommonJS file using a Babel-\n\t// compatible transform (i.e. \"__esModule\" has not been set), then set\n\t// \"default\" to the CommonJS \"module.exports\" for node compatibility.\n\tisNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\t\tvalue: mod,\n\t\tenumerable: true\n\t}) : target,\n\tmod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar GorhomPortal_exports = {};\n__export(GorhomPortal_exports, {\n\tACTIONS: () => ACTIONS,\n\tINITIAL_STATE: () => INITIAL_STATE,\n\tPortalHost: () => PortalHost,\n\tPortalProvider: () => PortalProvider,\n\tusePortal: () => usePortal\n});\nmodule.exports = __toCommonJS(GorhomPortal_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_constants = require(\"@tamagui/constants\");\nvar import_native = require(\"@tamagui/native\");\nvar import_start_transition = require(\"@tamagui/start-transition\");\nvar import_react = __toESM(require(\"react\"), 1);\nrequire(\"./constants\");\nvar ACTIONS = /* @__PURE__ */ (function(ACTIONS2) {\n\tACTIONS2[ACTIONS2[\"REGISTER_HOST\"] = 0] = \"REGISTER_HOST\";\n\tACTIONS2[ACTIONS2[\"DEREGISTER_HOST\"] = 1] = \"DEREGISTER_HOST\";\n\tACTIONS2[ACTIONS2[\"ADD_UPDATE_PORTAL\"] = 2] = \"ADD_UPDATE_PORTAL\";\n\tACTIONS2[ACTIONS2[\"REMOVE_PORTAL\"] = 3] = \"REMOVE_PORTAL\";\n\treturn ACTIONS2;\n})(ACTIONS || {});\nvar INITIAL_STATE = {};\nvar registerHost = function(state, hostName) {\n\tif (!(hostName in state)) state[hostName] = [];\n\treturn state;\n};\nvar deregisterHost = function(state, hostName) {\n\tdelete state[hostName];\n\treturn state;\n};\nvar addUpdatePortal = function(state, hostName, portalName, node) {\n\tif (!(hostName in state)) state = registerHost(state, hostName);\n\tvar index = state[hostName].findIndex(function(item) {\n\t\treturn item.name === portalName;\n\t});\n\tif (index !== -1) state[hostName][index].node = node;\n\telse state[hostName].push({\n\t\tname: portalName,\n\t\tnode\n\t});\n\treturn state;\n};\nvar removePortal = function(state, hostName, portalName) {\n\tif (!(hostName in state)) {\n\t\tif (process.env.NODE_ENV === \"development\") console.info(`Failed to remove portal '${portalName}', '${hostName}' was not registered!`);\n\t\treturn state;\n\t}\n\tvar index = state[hostName].findIndex(function(item) {\n\t\treturn item.name === portalName;\n\t});\n\tif (index !== -1) state[hostName].splice(index, 1);\n\treturn state;\n};\nvar reducer = function(state, action) {\n\tvar { type } = action;\n\tswitch (type) {\n\t\tcase 0: return registerHost({ ...state }, action.hostName);\n\t\tcase 1: return deregisterHost({ ...state }, action.hostName);\n\t\tcase 2: return addUpdatePortal({ ...state }, action.hostName, action.portalName, action.node);\n\t\tcase 3: return removePortal({ ...state }, action.hostName, action.portalName);\n\t\tdefault: return state;\n\t}\n};\nvar PortalStateContext = /* @__PURE__ */ (0, import_react.createContext)(null);\nvar PortalDispatchContext = /* @__PURE__ */ (0, import_react.createContext)(null);\nvar PortalProviderActiveContext = /* @__PURE__ */ (0, import_react.createContext)(false);\nvar usePortalState = function(hostName) {\n\tvar state = (0, import_react.useContext)(PortalStateContext);\n\tif (state === null) throw new Error(\"'PortalStateContext' cannot be null, please add 'PortalProvider' to the root component.\");\n\treturn state[hostName] || [];\n};\nvar usePortal = function() {\n\tvar hostName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : \"root\";\n\tvar dispatch = (0, import_react.useContext)(PortalDispatchContext);\n\tif (dispatch === null) throw new Error(\"'PortalDispatchContext' cannot be null, please add 'PortalProvider' to the root component.\");\n\tvar registerHost2 = (0, import_react.useCallback)(function() {\n\t\tdispatch({\n\t\t\ttype: 0,\n\t\t\thostName\n\t\t});\n\t}, []);\n\tvar deregisterHost2 = (0, import_react.useCallback)(function() {\n\t\tdispatch({\n\t\t\ttype: 1,\n\t\t\thostName\n\t\t});\n\t}, []);\n\tvar addUpdatePortal2 = (0, import_react.useCallback)(function(name, node) {\n\t\tdispatch({\n\t\t\ttype: 2,\n\t\t\thostName,\n\t\t\tportalName: name,\n\t\t\tnode\n\t\t});\n\t}, []);\n\treturn {\n\t\tregisterHost: registerHost2,\n\t\tderegisterHost: deregisterHost2,\n\t\taddPortal: addUpdatePortal2,\n\t\tupdatePortal: addUpdatePortal2,\n\t\tremovePortal: (0, import_react.useCallback)(function(name) {\n\t\t\tdispatch({\n\t\t\t\ttype: 3,\n\t\t\t\thostName,\n\t\t\t\tportalName: name\n\t\t\t});\n\t\t}, [])\n\t};\n};\nvar PortalProviderComponent = function(param) {\n\tvar { rootHostName = \"root\", shouldAddRootHost = true, children } = param;\n\tvar isAlreadyInProvider = (0, import_react.useContext)(PortalProviderActiveContext);\n\tif (process.env.NODE_ENV === \"development\") {\n\t\tif (isAlreadyInProvider && shouldAddRootHost) console.warn(`[tamagui] Nested PortalProvider with shouldAddRootHost detected. This causes hydration mismatches. TamaguiProvider from 'tamagui' already includes PortalProvider - remove the explicit PortalProvider wrapper or set shouldAddRootHost={false}.`);\n\t}\n\tvar [state, dispatch] = (0, import_react.useReducer)(reducer, INITIAL_STATE);\n\tvar transitionDispatch = (0, import_react.useMemo)(function() {\n\t\tvar next = function(value) {\n\t\t\t(0, import_start_transition.startTransition)(function() {\n\t\t\t\tdispatch(value);\n\t\t\t});\n\t\t};\n\t\treturn next;\n\t}, [dispatch]);\n\tvar portalState = (0, import_native.getPortal)().state;\n\tvar content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalProviderActiveContext.Provider, {\n\t\tvalue: true,\n\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalDispatchContext.Provider, {\n\t\t\tvalue: transitionDispatch,\n\t\t\tchildren: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(PortalStateContext.Provider, {\n\t\t\t\tvalue: state,\n\t\t\t\tchildren: [children, shouldAddRootHost && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalHost, { name: rootHostName })]\n\t\t\t})\n\t\t})\n\t});\n\tif (portalState.type === \"teleport\") return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_native.NativePortalProvider, { children: content });\n\treturn content;\n};\nvar PortalProvider = /* @__PURE__ */ (0, import_react.memo)(PortalProviderComponent);\nPortalProvider.displayName = \"PortalProvider\";\nvar defaultRenderer = function(children) {\n\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });\n};\nvar PortalHost = /* @__PURE__ */ (0, import_react.memo)(function PortalHost2(props) {\n\tif ((0, import_native.getPortal)().state.type === \"teleport\") return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_native.NativePortalHost, { name: props.name });\n\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PortalHostNonNative, { ...props });\n});\nfunction PortalHostNonNative(props) {\n\tvar { name, forwardProps, render = defaultRenderer } = props;\n\tvar state = usePortalState(name);\n\tvar { registerHost: registerHost2, deregisterHost: deregisterHost2 } = usePortal(props.name);\n\t(0, import_constants.useIsomorphicLayoutEffect)(function() {\n\t\tregisterHost2();\n\t\treturn function() {\n\t\t\tderegisterHost2();\n\t\t};\n\t}, []);\n\tif (forwardProps) return render(state.map(function(item) {\n\t\tvar next = item.node;\n\t\tvar { children, ...restForwardProps } = forwardProps;\n\t\tif (forwardProps) return import_react.default.Children.map(next, function(child) {\n\t\t\treturn /* @__PURE__ */ import_react.default.isValidElement(child) ? /* @__PURE__ */ import_react.default.cloneElement(child, {\n\t\t\t\tkey: child.key,\n\t\t\t\t...restForwardProps\n\t\t\t}) : child;\n\t\t});\n\t\treturn next;\n\t}));\n\treturn render(state.map(function(item) {\n\t\treturn /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react.default.Fragment, { children: item.node }, item.name);\n\t}));\n}\n//# sourceMappingURL=GorhomPortal.js.map\n"],"mappings":"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"}
@@ -1,29 +1,26 @@
1
+
1
2
  var __defProp = Object.defineProperty;
2
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
6
  var __export = (target, all) => {
6
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: true
9
- });
7
+ for (var name in all) __defProp(target, name, {
8
+ get: all[name],
9
+ enumerable: true
10
+ });
10
11
  };
11
12
  var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
- get: () => from[key],
15
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
- });
17
- }
18
- return to;
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
15
+ get: () => from[key],
16
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
+ });
18
+ }
19
+ return to;
19
20
  };
20
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
- value: true
22
- }), mod);
21
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
22
  var GorhomPortalItem_exports = {};
24
- __export(GorhomPortalItem_exports, {
25
- GorhomPortalItem: () => GorhomPortalItem
26
- });
23
+ __export(GorhomPortalItem_exports, { GorhomPortalItem: () => GorhomPortalItem });
27
24
  module.exports = __toCommonJS(GorhomPortalItem_exports);
28
25
  var import_constants = require("@tamagui/constants");
29
26
  var import_web = require("@tamagui/web");
@@ -31,44 +28,47 @@ var import_react = require("react");
31
28
  var import_react_dom = require("react-dom");
32
29
  var import_constants2 = require("./constants.cjs");
33
30
  var import_jsx_runtime = require("react/jsx-runtime");
34
- const GorhomPortalItem = props => {
35
- const theme = (0, import_web.useThemeName)();
36
- if (process.env.NODE_ENV === "development") {
37
- if (!props.hostName && !props.passThrough) {
38
- console.warn(`No hostName`);
39
- }
40
- }
41
- const cur = import_constants2.allPortalHosts.get(props.hostName || "");
42
- const [node, setNode] = (0, import_react.useState)(cur);
43
- (0, import_constants.useIsomorphicLayoutEffect)(() => {
44
- if (!props.hostName) return;
45
- const listener = newNode => {
46
- setNode(newNode);
47
- };
48
- import_constants2.portalListeners[props.hostName] ||= /* @__PURE__ */new Set();
49
- import_constants2.portalListeners[props.hostName].add(listener);
50
- const existingHost = import_constants2.allPortalHosts.get(props.hostName);
51
- if (existingHost && existingHost !== node) {
52
- setNode(existingHost);
53
- }
54
- return () => {
55
- import_constants2.portalListeners[props.hostName]?.delete(listener);
56
- };
57
- }, [props.hostName]);
58
- (0, import_constants.useIsomorphicLayoutEffect)(() => {
59
- if (cur && cur !== node) {
60
- setNode(cur);
61
- }
62
- }, [cur, node]);
63
- if (props.passThrough) {
64
- return props.children;
65
- }
66
- const actualNode = node?.isConnected ? node : null;
67
- if (!actualNode) {
68
- return null;
69
- }
70
- return (0, import_react_dom.createPortal)(/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_web.TamaguiRoot, {
71
- theme,
72
- children: props.children
73
- }), actualNode);
74
- };
31
+ const GorhomPortalItem = (props) => {
32
+ const theme = (0, import_web.useThemeName)();
33
+ if (process.env.NODE_ENV === "development") {
34
+ if (!props.hostName && !props.passThrough) {
35
+ console.warn((0, import_web.formatDiagnostic)("TAMAGUI_PORTAL_HOST", "GorhomPortalItem", "hostName is required when passThrough is false", "Set hostName or enable passThrough", "hostName,passThrough", {
36
+ hostName: props.hostName,
37
+ passThrough: props.passThrough
38
+ }));
39
+ }
40
+ }
41
+ const cur = import_constants2.allPortalHosts.get(props.hostName || "");
42
+ const [node, setNode] = (0, import_react.useState)(cur);
43
+ (0, import_constants.useIsomorphicLayoutEffect)(() => {
44
+ if (!props.hostName) return;
45
+ const listener = (newNode) => {
46
+ setNode(newNode);
47
+ };
48
+ import_constants2.portalListeners[props.hostName] ||= /* @__PURE__ */ new Set();
49
+ import_constants2.portalListeners[props.hostName].add(listener);
50
+ const existingHost = import_constants2.allPortalHosts.get(props.hostName);
51
+ if (existingHost && existingHost !== node) {
52
+ setNode(existingHost);
53
+ }
54
+ return () => {
55
+ import_constants2.portalListeners[props.hostName]?.delete(listener);
56
+ };
57
+ }, [props.hostName]);
58
+ (0, import_constants.useIsomorphicLayoutEffect)(() => {
59
+ if (cur && cur !== node) {
60
+ setNode(cur);
61
+ }
62
+ }, [cur, node]);
63
+ if (props.passThrough) {
64
+ return props.children;
65
+ }
66
+ const actualNode = node?.isConnected ? node : null;
67
+ if (!actualNode) {
68
+ return null;
69
+ }
70
+ return (0, import_react_dom.createPortal)(/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_web.TamaguiRoot, {
71
+ theme,
72
+ children: props.children
73
+ }), actualNode);
74
+ };