@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.
- package/dist/cjs/GorhomPortal.cjs +132 -164
- package/dist/cjs/GorhomPortal.native.cjs +202 -0
- package/dist/cjs/GorhomPortal.native.js +166 -211
- package/dist/cjs/GorhomPortal.native.js.map +1 -1
- package/dist/cjs/GorhomPortalItem.cjs +58 -58
- package/dist/cjs/GorhomPortalItem.native.cjs +105 -0
- package/dist/cjs/GorhomPortalItem.native.js +85 -106
- package/dist/cjs/GorhomPortalItem.native.js.map +1 -1
- package/dist/cjs/Portal.cjs +52 -60
- package/dist/cjs/Portal.native.cjs +57 -0
- package/dist/cjs/Portal.native.js +39 -44
- package/dist/cjs/Portal.native.js.map +1 -1
- package/dist/cjs/PortalProps.cjs +10 -11
- package/dist/cjs/PortalProps.native.cjs +19 -0
- package/dist/cjs/PortalProps.native.js +10 -10
- package/dist/cjs/PortalProps.native.js.map +1 -1
- package/dist/cjs/constants.cjs +24 -25
- package/dist/cjs/constants.native.cjs +44 -0
- package/dist/cjs/constants.native.js +26 -26
- package/dist/cjs/constants.native.js.map +1 -1
- package/dist/cjs/helpers.cjs +23 -24
- package/dist/cjs/helpers.native.cjs +39 -0
- package/dist/cjs/helpers.native.js +23 -23
- package/dist/cjs/helpers.native.js.map +1 -1
- package/dist/cjs/index.cjs +16 -17
- package/dist/cjs/index.native.cjs +36 -0
- package/dist/cjs/index.native.js +16 -16
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/native-portal.cjs +32 -35
- package/dist/cjs/native-portal.native.cjs +51 -0
- package/dist/cjs/native-portal.native.js +37 -39
- package/dist/cjs/native-portal.native.js.map +1 -1
- package/dist/cjs/types.cjs +10 -11
- package/dist/cjs/types.native.cjs +19 -0
- package/dist/cjs/types.native.js +10 -10
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/esm/GorhomPortal.mjs +112 -136
- package/dist/esm/GorhomPortal.mjs.map +1 -1
- package/dist/esm/GorhomPortal.native.js +146 -184
- package/dist/esm/GorhomPortal.native.js.map +1 -1
- package/dist/esm/GorhomPortalItem.mjs +46 -41
- package/dist/esm/GorhomPortalItem.mjs.map +1 -1
- package/dist/esm/GorhomPortalItem.native.js +74 -91
- package/dist/esm/GorhomPortalItem.native.js.map +1 -1
- package/dist/esm/Portal.mjs +38 -36
- package/dist/esm/Portal.mjs.map +1 -1
- package/dist/esm/Portal.native.js +28 -29
- package/dist/esm/Portal.native.js.map +1 -1
- package/dist/esm/PortalProps.mjs +0 -2
- package/dist/esm/PortalProps.native.js +0 -2
- package/dist/esm/constants.mjs +8 -6
- package/dist/esm/constants.mjs.map +1 -1
- package/dist/esm/constants.native.js +10 -8
- package/dist/esm/constants.native.js.map +1 -1
- package/dist/esm/helpers.mjs +9 -7
- package/dist/esm/helpers.mjs.map +1 -1
- package/dist/esm/helpers.native.js +9 -7
- package/dist/esm/helpers.native.js.map +1 -1
- package/dist/esm/index.js +10 -6
- package/dist/esm/index.mjs +10 -6
- package/dist/esm/index.native.js +10 -6
- package/dist/esm/native-portal.mjs +23 -17
- package/dist/esm/native-portal.mjs.map +1 -1
- package/dist/esm/native-portal.native.js +28 -22
- package/dist/esm/native-portal.native.js.map +1 -1
- package/dist/esm/types.mjs +0 -2
- package/dist/esm/types.native.js +0 -2
- package/package.json +11 -10
- package/src/GorhomPortalItem.tsx +11 -2
- package/src/Portal.tsx +31 -7
- package/src/PortalProps.tsx +7 -0
- package/types/GorhomPortal.d.ts +3 -2
- package/types/GorhomPortal.d.ts.map +1 -1
- package/types/GorhomPortalItem.d.ts.map +1 -1
- package/types/GorhomPortalItem.native.d.ts +1 -1
- package/types/GorhomPortalItem.native.d.ts.map +1 -1
- package/types/Portal.d.ts.map +1 -1
- package/types/Portal.native.d.ts +1 -1
- package/types/Portal.native.d.ts.map +1 -1
- package/types/PortalProps.d.ts +7 -1
- package/types/PortalProps.d.ts.map +1 -1
- package/types/helpers.d.ts +1 -1
- package/types/helpers.d.ts.map +1 -1
- package/dist/esm/PortalProps.mjs.map +0 -1
- package/dist/esm/PortalProps.native.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js.map +0 -1
- package/dist/esm/types.mjs.map +0 -1
- 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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
|
-
|
|
26
|
-
|
|
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
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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__ */
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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
|
|
60
|
-
|
|
61
|
-
|
|
53
|
+
var registerHost = function(state, hostName) {
|
|
54
|
+
if (!(hostName in state)) state[hostName] = [];
|
|
55
|
+
return state;
|
|
62
56
|
};
|
|
63
|
-
var deregisterHost = function
|
|
64
|
-
|
|
65
|
-
|
|
57
|
+
var deregisterHost = function(state, hostName) {
|
|
58
|
+
delete state[hostName];
|
|
59
|
+
return state;
|
|
66
60
|
};
|
|
67
|
-
var addUpdatePortal = function
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
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
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
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
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
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
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
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
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
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
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
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
|
|
200
|
-
|
|
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
|
-
|
|
206
|
-
|
|
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
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAAA,UAAA,KAAAC,GAAA,KAAAA,GAAA,CAAAC,UAAA,GAAAC,SAAA,CAAAC,MAAA;EAAAC,KAAA,EAAAJ,GAAA;EAAAK,UAAA;AAAA,KAAAF,MAAA,EAAAH,GAAA;AAAA,IAAAM,YAAA,GAAAN,GAAA,IAAAO,WAAA,CAAAL,SAAA;EAAAE,KAAA;AAAA,IAAAJ,GAAA;AAAA,IAAAQ,oBAAA;AAAAC,QAAA,CAAAD,oBAAA;EAIAE,OAAA,EAAAA,CAAA,KAAAA,OAA0C;EAC1CC,aAAA,EAAAA,CAAA,KAAkEA,aAAA;EAClEC,UAAA,EAAAA,CAAA,KAAAA,UAAA;EAEAC,cAAA,EAAAA,CAAA,KAOOA,cAAA;EACPC,SAAA,EAAAC,CAAA,KAAAD;AAyPQ;AAlPRE,MAAK,CAAAC,OAAL,GAAAX,YAAA,CAAAE,oBAAA;AACE,IAAAU,kBAAA,GAAAC,OAAA;AACA,IAAAJ,gBAAA,GAAAI,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,uBAAA,GAAAF,OAAA;AAJG,IAAAG,YAAA,GAAAC,OAAA,CAAAJ,OAAA;AAAAA,OAAA;AAOL,IAAAT,OAAM,kBAAiB,UAAAc,QAAA;EAiCvBA,QAAM,CAAAA,QAAA,gBAA0D,SAAqB;EACnFA,QAAM,CAAAA,QAAA,kBAAoB;EACxBA,QAAA,CAAMA,QAAQ,oBAAK;EAAAA,QACrB,CAAAA,QAAA;EACA,OAAAA,QAAO;AACT,EAAAd,OAAA;AAEA,IAAAC,aAAM;AACJ,IAAAc,YAAa,YAAAA,CAAQC,KAAA,EAAAC,QAAA;EACrB,MAAAA,QAAO,IAAAD,KAAA,GAAAA,KAAA,CAAAC,QAAA;EACT,OAAAD,KAAA;AAEA;AAME,IAAAE,cAAM,GAAY,SAAAA,CAAQF,KAAA,EAAAC,QAAA;EACxB,OAAAD,KAAQ,CAAAC,QAAA;EAA4B,OACtCD,KAAA;AAKA;AACA,IAAAG,eAAc,GAAI,SAAAA,CAAAH,KAAA,EAAAC,QAAA,EAAAG,UAAA,EAAAC,IAAA;EAChB,MAAAJ,QAAM,IAAQD,KAAE,CAAK,EAAEA,KAAA,GAAOD,YAAA,CAAAC,KAAA,EAAAC,QAAA;EAAA,IAChCK,KAAO,GAAAN,KAAA,CAAAC,QAAA,EAAAM,SAAA,WAAAC,IAAA;IACL,OAAAA,IAAM,CAAAC,IAAQ,KAAEL,UAAK;EAAA;EACb,IAAAE,KACN,SAAAN,KAAA,CAAAC,QAAA,EAAAK,KAAA,EAAAD,IAAA,GAAAA,IAAA,MACDL,KAAA,CAAAC,QAAA,EAAAS,IAAA;IACHD,IAAA,EAAAL,UAAA;IACAC;EACF;EAEA,OAAML,KAAA;AAKJ;AACE,IAAAW,YAAY,YAAAA,CAAIX,KAAa,EAAAC,QAAA,EAAAG,UAAe;EAC1C,MAAAH,QAAQ,IAAAD,KAAA;IAAA,IAAAY,OACN,CAAAC,GAAA,CAAAC,QAAA,kBAA4B,EAAUC,OAAO,CAAAC,IAAA,6BAAQZ,UAAA,OAAAH,QAAA;IAAA,OACvDD,KAAA;EAAA;EAEF,IAAAM,KAAA,GAAON,KAAA,CAAAC,QAAA,EAAAM,SAAA,WAAAC,IAAA;IACT,OAAAA,IAAA,CAAAC,IAAA,KAAAL,UAAA;EAEA;EACA,IAAAE,KAAI,MAAU,GAAIN,KAAA,CAAAC,QAAM,CAAQ,CAAAgB,MAAE,CAAAX,KAAO,GAAO,CAAC;EACjD,OAAAN,KAAO;AACT;AAEA,IAAAkB,OAAM,YAAAA,CAAWlB,KAA0C,EAAAmB,MAAwB;EACjF;IAAAC;EAAQ,IAAKD,MAAI;EACjB,QAAAC,IAAQ;IAAM,KACZ;MAAK,OAAArB,YAAA;QAAA,GAAAC;MAAA,GAAAmB,MAAA,CAAAlB,QAAA;IACH;MAAA,OAAOC,cAAkB;QAAA,GAAMF;MAAG,GAAAmB,MAAO,CAAAlB,QAAQ;IAAA,KACnD;MAAK,OAAAE,eAAA;QAAA,GAAAH;MAAA,GAAAmB,MAAA,CAAAlB,QAAA,EAAAkB,MAAA,CAAAf,UAAA,EAAAe,MAAA,CAAAd,IAAA;IACH;MAAA,OAAOM,YAAe,CAAE;QAAA,GAAGX;MAAM,CAAG,EAAAmB,MAAO,CAAAlB,QAAQ,EAAAkB,MAAA,CAAAf,UAAA;IAAA;MAChD,OAAAJ,KAAA;EACH;AAAO;AACM,IAAAqB,kBACJ,sBAAAzB,YAAA,CAAA0B,aAAA;AAAA,IAAAC,qBAC2B,sBAAA3B,YAAA,CAAA0B,aAAA;AAAA,IAAAE,2BACA,sBAAA5B,YAAA,CAAA0B,aAAA;AAAA,IAAAG,cACpC,YAAAA,CAAAxB,QAAA;EAAA,IACFD,KAAK,OAAAJ,YAAA,CAAA8B,UAAA,EAAAL,kBAAA;EACH,IAAArB,KAAA,KAAO,gBAAA2B,KAAA;EAAA,OACL3B,KAAK,CAAAC,QAAM;AAAA;AACJ,IAAAb,SACN,GAA8B,SAAAA,CAAA;EAAA,IAAAa,QACjC,GAAA2B,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA;EAAA,IACFE,QAAA,OAAAlC,YAAA,CAAA8B,UAAA,EAAAH,qBAAA;EACE,IAAAO,QAAO,qBAAAH,KAAA;EAAA,IACXI,aAAA,OAAAnC,YAAA,CAAAoC,WAAA;IACFF,QAAA;MAEAV,IAAM;MACNnB;IACA;EAEA,KAAM;EACJ,IAAAgC,eAAc,OAAArC,YAAA,CAAAoC,WAAW,cAAkB;IAE3CF,QAAI;MACFV,IAAA,GAAM;MAAInB;IACR,EACF;EAAA,CACF;EAEA,IAAAiC,gBAAa,GAAQ,IAAKtC,YAAC,CAAAoC,WAAA,YAAAvB,IAAA,EAAAJ,IAAA;IAC7ByB,QAAA;MAEOV,IAAM;MACXnB,QAAM;MAENG,UAAI,EAAAK,IAAa;MACfJ;IAAU;EACR,GACF;EAAA,OACF;IAGAN,YAAM,EAAAgC,aAAe;IACnB7B,cAAS,EAAA+B,eAAA;IAAAE,SACP,EAAMD,gBAAA;IAAAE,YACN,EAAAF,gBAAA;IAAAvB,YACD,MAAAf,YAAA,CAAAoC,WAAA,YAAAvB,IAAA;MACHqB,QAAK;QAELV,IAAM;QACJnB,QAAA;QAASG,UACD,EAAAK;MAAA;IACN,GACD;EAAA,CACH;AAEA;AACE,IAAA4B,uBAAS,YAAAA,CAAAC,KAAA;EAAA;IACPC,YAAM;IAAAC,iBAAA;IAAAC;EAAA,IAAAH,KAAA;EAAA,IAAAI,mBACN,OAAA9C,YAAA,CAAA8B,UAAA,EAAAF,2BAAA;EAAA,IAAAZ,OACA,CAAAC,GAAA,CAAAC,QAAY;IAAA,IACZ4B,mBAAA,IAAAF,iBAAA,EAAAzB,OAAA,CAAA4B,IAAA;EAAA;EACD,IACA,CAAC3C,KAAC,EAAA8B,QAAA,QAAAlC,YAAA,CAAAgD,UAAA,EAAA1B,OAAA,EAAAjC,aAAA;EAEL,IAAA4D,kBAAM,KAAe,EAAAjD,YAAA,CAAAkD,OAAA,cAAa;IAChC,IAAAC,IAAA,GAAS,SAAAA,CAAArE,KAAA;MAAA,IACPiB,uBAAM,CAAAqD,eAAA;QAAAlB,QACN,CAAApD,KAAA;MAAA;IACY;IAEhB,OAAKqE,IAAA;EAGL,IAAAjB,QAAO;EAAA,IACLmB,WAAA,OAAAvD,aAAA,CAAAwD,SAAA,IAAAlD,KAAA;EAAA,IACAmD,OAAA,sBAAA3D,kBAAA,CAAA4D,GAAA,EAAA5B,2BAAA,CAAA6B,QAAA;IAAA3E,KACA;IAAW+D,QACX,iBAAc,IAAAjD,kBAAA,CAAA4D,GAAA,EAAA7B,qBAAA,CAAA8B,QAAA;MAAA3E,KACd,EAAAmE,kBAAA;MACFJ,QAAA,qBAAAjD,kBAAA,CAAA8D,IAAA,EAAAjC,kBAAA,CAAAgC,QAAA;QACF3E,KAAA,EAAAsB,KAAA;QAsBAyC,QAAM,GAAAA,QAAA,EAAAD,iBAA2B,uBAAAhD,kBAAA,CAAA4D,GAAA,EAAAlE,UAAA;UAAAuB,IAAA,EAAA8B;QAAA;MAC/B;IACA;EAAoB,CACpB;EACF,IAAAU,WAA2B,CAAA7B,IAAA,2CAAA5B,kBAAA,CAAA4D,GAAA,EAAA1D,aAAA,CAAA6D,oBAAA;IAAAd,QAAA,EAAAU;EAAA;EACzB,OAAMA,OAAA;AAEN;AACE,IAAAhE,cAAI,kBAAuB,IAAAS,YAAmB,CAAA4D,IAAA,EAAAnB,uBAAA;AAC5ClD,cAAQ,CAAAsE,WAAA;AAAA,IAAAC,eACN,YAAAA,CAAAjB,QAAA;EAAA,OAGF,mBAAAjD,kBAAA,CAAA4D,GAAA,EAAA5D,kBAAA,CAAAmE,QAAA;IAAAlB;EAAA;AAAA;AACF,IACFvD,UAAA,sBAAAU,YAAA,CAAA4D,IAAA,WAAAI,YAAAC,KAAA;EAEA,QAAOnE,aAAO,CAAAwD,SAAY,IAAAlD,KAAA,CAAAoB,IAAA,eAAW,SAAS,eAAa,IAAA5B,kBAAA,CAAA4D,GAAA,EAAA1D,aAAA,CAAAoE,gBAAA;IAAArD,IAAA,EAAAoD,KAAA,CAAApD;EAAA;EAC3D,OAAM,mBAAAjB,kBAAqB,CAAA4D,GAAA,EAAAW,mBAAc;IAAA,GAAAF;EAAA;AACvC;AACE,SAAAE,oBAAAF,KAAA;EACE;IAAApD,IAAA;IAAAuD,YAAc;IAAAC,MAAA,GAAAP;EAAA,IAAAG,KAAA;EAAA,IAAA7D,KACf,GAAAyB,cAAA,CAAAhB,IAAA;EAAA,IACH;IAAAV,YAAA,EAAAgC,aAAA;IAAA7B,cAAA,EAAA+B;EAAA,IAAA7C,SAAA,CAAAyE,KAAA,CAAApD,IAAA;EACA,IAAApB,gBAAO,CAAA6E,yBAAA;IACTnC,aAAa;IAEb,OAAM;MAINE,eACE;IAGO;EAAA,GACA;EAAqD,IACxD+B,YAEJ,SAAAC,MAAA,CAAAjE,KAAA,CAAAmE,GAAA,WAAA3D,IAAA;IAIF,IAAIuC,IAAA,GAAAvC,IAAA,CAAYH,IAAA;IACd;MAAAoC,QAAO;MAAA,GAAA2B;IAAA,IAAAJ,YAAA;IACT,IAAAA,YAAA,SAAApE,YAAA,CAAAyE,OAAA,CAAAC,QAAA,CAAAH,GAAA,CAAApB,IAAA,YAAAwB,KAAA;MAEA,OAAO,eAAA3E,YAAA,CAAAyE,OAAA,CAAAG,cAAA,CAAAD,KAAA,mBAAA3E,YAAA,CAAAyE,OAAA,CAAAI,YAAA,CAAAF,KAAA;QACTG,GAAA,EAAAH,KAAA,CAAAG,GAAA;QAEO,GAAMN;MACb,KAAAG,KAAA;IAkBA;IAEO,OAAMxB,IAAA;EACX;EACE,OAAAkB,MAAO,CAAAjE,KAAA,CAAAmE,GAAA,WAAA3D,IAAA;IACT,OAAO,mBAAAhB,kBAAA,CAAA4D,GAAA,EAAAxD,YAAA,CAAAyE,OAAA,CAAAV,QAAA;MAAAlB,QAAA,EAAAjC,IAAA,CAAAH;IAAA,GAAAG,IAAA,CAAAC,IAAA;EACL;AAGA","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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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
|
+
};
|