@tamagui/adapt 2.0.0-rc.3 → 2.0.0-rc.30
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/Adapt.cjs +71 -26
- package/dist/cjs/Adapt.native.js +101 -27
- package/dist/cjs/Adapt.native.js.map +1 -1
- package/dist/cjs/index.js +11 -8
- package/dist/esm/Adapt.mjs +72 -27
- package/dist/esm/Adapt.mjs.map +1 -1
- package/dist/esm/Adapt.native.js +100 -26
- package/dist/esm/Adapt.native.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -6
- package/package.json +10 -13
- package/src/Adapt.tsx +118 -32
- package/types/Adapt.d.ts +0 -1
- package/types/Adapt.d.ts.map +1 -1
- package/dist/cjs/Adapt.js +0 -146
- package/dist/cjs/Adapt.js.map +0 -6
- package/dist/esm/Adapt.js +0 -134
- package/dist/esm/Adapt.js.map +0 -6
package/dist/cjs/Adapt.cjs
CHANGED
|
@@ -44,10 +44,35 @@ module.exports = __toCommonJS(Adapt_exports);
|
|
|
44
44
|
var import_constants = require("@tamagui/constants"),
|
|
45
45
|
import_core = require("@tamagui/core"),
|
|
46
46
|
import_helpers = require("@tamagui/helpers"),
|
|
47
|
+
import_native = require("@tamagui/native"),
|
|
47
48
|
import_portal = require("@tamagui/portal"),
|
|
48
49
|
import_z_index_stack = require("@tamagui/z-index-stack"),
|
|
49
50
|
import_react = __toESM(require("react"), 1),
|
|
50
51
|
import_jsx_runtime = require("react/jsx-runtime");
|
|
52
|
+
function createAdaptChildrenStore() {
|
|
53
|
+
let children = null;
|
|
54
|
+
const listeners = /* @__PURE__ */new Set();
|
|
55
|
+
return {
|
|
56
|
+
set(c) {
|
|
57
|
+
children = c;
|
|
58
|
+
for (const l of listeners) l();
|
|
59
|
+
},
|
|
60
|
+
get: () => children,
|
|
61
|
+
subscribe(callback) {
|
|
62
|
+
return listeners.add(callback), () => listeners.delete(callback);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
const AdaptChildrenStoreContext = (0, import_react.createContext)(null),
|
|
67
|
+
emptySubscribe = () => () => {},
|
|
68
|
+
emptyGet = () => null;
|
|
69
|
+
function TeleportAdaptContents() {
|
|
70
|
+
const store = (0, import_react.useContext)(AdaptChildrenStoreContext),
|
|
71
|
+
children = import_react.default.useSyncExternalStore(store?.subscribe ?? emptySubscribe, store?.get ?? emptyGet, store?.get ?? emptyGet);
|
|
72
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
|
|
73
|
+
children
|
|
74
|
+
});
|
|
75
|
+
}
|
|
51
76
|
const AdaptContext = (0, import_core.createStyledContext)({
|
|
52
77
|
Contents: null,
|
|
53
78
|
scopeName: "",
|
|
@@ -55,7 +80,6 @@ const AdaptContext = (0, import_core.createStyledContext)({
|
|
|
55
80
|
platform: null,
|
|
56
81
|
setPlatform: x => {},
|
|
57
82
|
when: null,
|
|
58
|
-
setChildren: null,
|
|
59
83
|
setWhen: () => {}
|
|
60
84
|
}),
|
|
61
85
|
LastAdaptContextScope = (0, import_react.createContext)(""),
|
|
@@ -89,33 +113,40 @@ const AdaptContext = (0, import_core.createStyledContext)({
|
|
|
89
113
|
}) => {
|
|
90
114
|
const id = (0, import_react.useId)(),
|
|
91
115
|
portalName = `AdaptPortal${scope}${id}`,
|
|
116
|
+
childrenStoreRef = import_react.default.useRef(null);
|
|
117
|
+
childrenStoreRef.current || (childrenStoreRef.current = createAdaptChildrenStore());
|
|
118
|
+
const isTeleport = !1,
|
|
92
119
|
FinalContents = (0, import_react.useMemo)(() => {
|
|
93
120
|
if (Contents) return Contents;
|
|
121
|
+
if (isTeleport) return TeleportAdaptContents;
|
|
94
122
|
if (AdaptPortals.has(portalName)) return AdaptPortals.get(portalName);
|
|
95
123
|
const element = () => /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_portal.PortalHost, {
|
|
96
124
|
name: portalName,
|
|
97
125
|
forwardProps: typeof portal == "boolean" ? void 0 : portal?.forwardProps
|
|
98
126
|
}, id);
|
|
99
127
|
return AdaptPortals.set(portalName, element), element;
|
|
100
|
-
}, [portalName, Contents]);
|
|
101
|
-
(0, import_constants.useIsomorphicLayoutEffect)(() =>
|
|
102
|
-
AdaptPortals.
|
|
103
|
-
|
|
128
|
+
}, [portalName, Contents, isTeleport]);
|
|
129
|
+
(0, import_constants.useIsomorphicLayoutEffect)(() => {
|
|
130
|
+
if (!isTeleport) return AdaptPortals.set(portalName, FinalContents), () => {
|
|
131
|
+
AdaptPortals.delete(portalName);
|
|
132
|
+
};
|
|
133
|
+
}, [portalName, isTeleport]);
|
|
104
134
|
const [when, setWhen] = import_react.default.useState(null),
|
|
105
|
-
[platform, setPlatform] = import_react.default.useState(null)
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
135
|
+
[platform, setPlatform] = import_react.default.useState(null);
|
|
136
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(AdaptChildrenStoreContext.Provider, {
|
|
137
|
+
value: childrenStoreRef.current,
|
|
138
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(LastAdaptContextScope.Provider, {
|
|
139
|
+
value: scope,
|
|
140
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ProvideAdaptContext, {
|
|
141
|
+
Contents: FinalContents,
|
|
142
|
+
when,
|
|
143
|
+
platform,
|
|
144
|
+
setPlatform,
|
|
145
|
+
setWhen,
|
|
146
|
+
portalName,
|
|
147
|
+
scopeName: scope,
|
|
148
|
+
children
|
|
149
|
+
})
|
|
119
150
|
})
|
|
120
151
|
});
|
|
121
152
|
},
|
|
@@ -150,9 +181,7 @@ const Adapt = (0, import_helpers.withStaticProperties)(function (props) {
|
|
|
150
181
|
const Component = context?.Contents;
|
|
151
182
|
output = children(Component ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(Component, {}) : null);
|
|
152
183
|
} else output = children;
|
|
153
|
-
return (0,
|
|
154
|
-
typeof children == "function" && output !== void 0 && context?.setChildren(output);
|
|
155
|
-
}, [output]), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_z_index_stack.StackZIndexContext, {
|
|
184
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_z_index_stack.StackZIndexContext, {
|
|
156
185
|
children: enabled ? output : null
|
|
157
186
|
});
|
|
158
187
|
}, {
|
|
@@ -162,14 +191,30 @@ const Adapt = (0, import_helpers.withStaticProperties)(function (props) {
|
|
|
162
191
|
const isActive = useAdaptIsActive(props.scope),
|
|
163
192
|
{
|
|
164
193
|
portalName
|
|
165
|
-
} = useAdaptContext(props.scope)
|
|
166
|
-
|
|
194
|
+
} = useAdaptContext(props.scope),
|
|
195
|
+
childrenStore = (0, import_react.useContext)(AdaptChildrenStoreContext);
|
|
196
|
+
return !import_constants.isWeb && (0, import_native.getPortal)().state.type === "teleport" && childrenStore ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(AdaptPortalTeleport, {
|
|
197
|
+
isActive,
|
|
198
|
+
store: childrenStore,
|
|
199
|
+
children: props.children
|
|
200
|
+
}) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_portal.PortalItem, {
|
|
167
201
|
passThrough: !isActive,
|
|
168
202
|
hostName: portalName,
|
|
169
203
|
children: props.children
|
|
170
204
|
});
|
|
171
|
-
}
|
|
172
|
-
|
|
205
|
+
};
|
|
206
|
+
function AdaptPortalTeleport({
|
|
207
|
+
isActive,
|
|
208
|
+
store,
|
|
209
|
+
children
|
|
210
|
+
}) {
|
|
211
|
+
return (0, import_constants.useIsomorphicLayoutEffect)(() => {
|
|
212
|
+
if (isActive) return store.set(children), () => store.set(null);
|
|
213
|
+
}), isActive ? null : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
|
|
214
|
+
children
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
const useAdaptIsActiveGiven = ({
|
|
173
218
|
when,
|
|
174
219
|
platform
|
|
175
220
|
}) => {
|
package/dist/cjs/Adapt.native.js
CHANGED
|
@@ -47,17 +47,68 @@ var import_jsx_runtime = require("react/jsx-runtime"),
|
|
|
47
47
|
import_constants = require("@tamagui/constants"),
|
|
48
48
|
import_core = require("@tamagui/core"),
|
|
49
49
|
import_helpers = require("@tamagui/helpers"),
|
|
50
|
+
import_native = require("@tamagui/native"),
|
|
50
51
|
import_portal = require("@tamagui/portal"),
|
|
51
52
|
import_z_index_stack = require("@tamagui/z-index-stack"),
|
|
52
|
-
import_react = __toESM(require("react"), 1)
|
|
53
|
-
|
|
53
|
+
import_react = __toESM(require("react"), 1);
|
|
54
|
+
function createAdaptChildrenStore() {
|
|
55
|
+
var children = null,
|
|
56
|
+
listeners = /* @__PURE__ */new Set();
|
|
57
|
+
return {
|
|
58
|
+
set(c) {
|
|
59
|
+
children = c;
|
|
60
|
+
var _iteratorNormalCompletion = !0,
|
|
61
|
+
_didIteratorError = !1,
|
|
62
|
+
_iteratorError = void 0;
|
|
63
|
+
try {
|
|
64
|
+
for (var _iterator = listeners[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
65
|
+
var l = _step.value;
|
|
66
|
+
l();
|
|
67
|
+
}
|
|
68
|
+
} catch (err) {
|
|
69
|
+
_didIteratorError = !0, _iteratorError = err;
|
|
70
|
+
} finally {
|
|
71
|
+
try {
|
|
72
|
+
!_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
|
|
73
|
+
} finally {
|
|
74
|
+
if (_didIteratorError) throw _iteratorError;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
get: function () {
|
|
79
|
+
return children;
|
|
80
|
+
},
|
|
81
|
+
subscribe(callback) {
|
|
82
|
+
return listeners.add(callback), function () {
|
|
83
|
+
return listeners.delete(callback);
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
var AdaptChildrenStoreContext = /* @__PURE__ */(0, import_react.createContext)(null),
|
|
89
|
+
emptySubscribe = function () {
|
|
90
|
+
return function () {};
|
|
91
|
+
},
|
|
92
|
+
emptyGet = function () {
|
|
93
|
+
return null;
|
|
94
|
+
};
|
|
95
|
+
function TeleportAdaptContents() {
|
|
96
|
+
var store = (0, import_react.useContext)(AdaptChildrenStoreContext),
|
|
97
|
+
_store_subscribe,
|
|
98
|
+
_store_get,
|
|
99
|
+
_store_get1,
|
|
100
|
+
children = import_react.default.useSyncExternalStore((_store_subscribe = store?.subscribe) !== null && _store_subscribe !== void 0 ? _store_subscribe : emptySubscribe, (_store_get = store?.get) !== null && _store_get !== void 0 ? _store_get : emptyGet, (_store_get1 = store?.get) !== null && _store_get1 !== void 0 ? _store_get1 : emptyGet);
|
|
101
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
|
|
102
|
+
children
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
var AdaptContext = (0, import_core.createStyledContext)({
|
|
54
106
|
Contents: null,
|
|
55
107
|
scopeName: "",
|
|
56
108
|
portalName: "",
|
|
57
109
|
platform: null,
|
|
58
110
|
setPlatform: function (x) {},
|
|
59
111
|
when: null,
|
|
60
|
-
setChildren: null,
|
|
61
112
|
setWhen: function () {}
|
|
62
113
|
}),
|
|
63
114
|
LastAdaptContextScope = /* @__PURE__ */(0, import_react.createContext)(""),
|
|
@@ -93,8 +144,12 @@ var import_jsx_runtime = require("react/jsx-runtime"),
|
|
|
93
144
|
} = param,
|
|
94
145
|
id = (0, import_react.useId)(),
|
|
95
146
|
portalName = `AdaptPortal${scope}${id}`,
|
|
147
|
+
childrenStoreRef = import_react.default.useRef(null);
|
|
148
|
+
childrenStoreRef.current || (childrenStoreRef.current = createAdaptChildrenStore());
|
|
149
|
+
var isTeleport = (0, import_native.getPortal)().state.type === "teleport",
|
|
96
150
|
FinalContents = (0, import_react.useMemo)(function () {
|
|
97
151
|
if (Contents) return Contents;
|
|
152
|
+
if (isTeleport) return TeleportAdaptContents;
|
|
98
153
|
if (AdaptPortals.has(portalName)) return AdaptPortals.get(portalName);
|
|
99
154
|
var element = function () {
|
|
100
155
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_portal.PortalHost, {
|
|
@@ -103,27 +158,28 @@ var import_jsx_runtime = require("react/jsx-runtime"),
|
|
|
103
158
|
}, id);
|
|
104
159
|
};
|
|
105
160
|
return AdaptPortals.set(portalName, element), element;
|
|
106
|
-
}, [portalName, Contents]);
|
|
161
|
+
}, [portalName, Contents, isTeleport]);
|
|
107
162
|
(0, import_constants.useIsomorphicLayoutEffect)(function () {
|
|
108
|
-
return AdaptPortals.set(portalName, FinalContents), function () {
|
|
163
|
+
if (!isTeleport) return AdaptPortals.set(portalName, FinalContents), function () {
|
|
109
164
|
AdaptPortals.delete(portalName);
|
|
110
165
|
};
|
|
111
|
-
}, [portalName]);
|
|
166
|
+
}, [portalName, isTeleport]);
|
|
112
167
|
var [when, setWhen] = import_react.default.useState(null),
|
|
113
|
-
[platform, setPlatform] = import_react.default.useState(null)
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
168
|
+
[platform, setPlatform] = import_react.default.useState(null);
|
|
169
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(AdaptChildrenStoreContext.Provider, {
|
|
170
|
+
value: childrenStoreRef.current,
|
|
171
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(LastAdaptContextScope.Provider, {
|
|
172
|
+
value: scope,
|
|
173
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ProvideAdaptContext, {
|
|
174
|
+
Contents: FinalContents,
|
|
175
|
+
when,
|
|
176
|
+
platform,
|
|
177
|
+
setPlatform,
|
|
178
|
+
setWhen,
|
|
179
|
+
portalName,
|
|
180
|
+
scopeName: scope,
|
|
181
|
+
children
|
|
182
|
+
})
|
|
127
183
|
})
|
|
128
184
|
});
|
|
129
185
|
},
|
|
@@ -163,9 +219,7 @@ var Adapt = (0, import_helpers.withStaticProperties)(function (props) {
|
|
|
163
219
|
var Component = context?.Contents;
|
|
164
220
|
output = children(Component ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(Component, {}) : null);
|
|
165
221
|
} else output = children;
|
|
166
|
-
return (0,
|
|
167
|
-
typeof children == "function" && output !== void 0 && context?.setChildren(output);
|
|
168
|
-
}, [output]), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_z_index_stack.StackZIndexContext, {
|
|
222
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_z_index_stack.StackZIndexContext, {
|
|
169
223
|
children: enabled ? output : null
|
|
170
224
|
});
|
|
171
225
|
}, {
|
|
@@ -175,14 +229,34 @@ var Adapt = (0, import_helpers.withStaticProperties)(function (props) {
|
|
|
175
229
|
var isActive = useAdaptIsActive(props.scope),
|
|
176
230
|
{
|
|
177
231
|
portalName
|
|
178
|
-
} = useAdaptContext(props.scope)
|
|
179
|
-
|
|
232
|
+
} = useAdaptContext(props.scope),
|
|
233
|
+
childrenStore = (0, import_react.useContext)(AdaptChildrenStoreContext),
|
|
234
|
+
isTeleport = !import_constants.isWeb && (0, import_native.getPortal)().state.type === "teleport";
|
|
235
|
+
return isTeleport && childrenStore ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(AdaptPortalTeleport, {
|
|
236
|
+
isActive,
|
|
237
|
+
store: childrenStore,
|
|
238
|
+
children: props.children
|
|
239
|
+
}) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_portal.PortalItem, {
|
|
180
240
|
passThrough: !isActive,
|
|
181
241
|
hostName: portalName,
|
|
182
242
|
children: props.children
|
|
183
243
|
});
|
|
184
|
-
}
|
|
185
|
-
|
|
244
|
+
};
|
|
245
|
+
function AdaptPortalTeleport(param) {
|
|
246
|
+
var {
|
|
247
|
+
isActive,
|
|
248
|
+
store,
|
|
249
|
+
children
|
|
250
|
+
} = param;
|
|
251
|
+
return (0, import_constants.useIsomorphicLayoutEffect)(function () {
|
|
252
|
+
if (isActive) return store.set(children), function () {
|
|
253
|
+
return store.set(null);
|
|
254
|
+
};
|
|
255
|
+
}), isActive ? null : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
|
|
256
|
+
children
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
var useAdaptIsActiveGiven = function (param) {
|
|
186
260
|
var {
|
|
187
261
|
when,
|
|
188
262
|
platform
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Adapt_exports","__export","Adapt","AdaptContents","AdaptContext","AdaptParent","AdaptPortalContents","ProvideAdaptContext","useAdaptContext","useAdaptIsActive","module","exports","import_jsx_runtime","require","import_constants","import_core","import_helpers","import_portal","import_z_index_stack","import_react","__toESM","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Adapt_exports","__export","Adapt","AdaptContents","AdaptContext","AdaptParent","AdaptPortalContents","ProvideAdaptContext","useAdaptContext","useAdaptIsActive","module","exports","import_jsx_runtime","require","import_constants","import_core","import_helpers","import_native","import_portal","import_z_index_stack","import_react","__toESM","createAdaptChildrenStore","children","listeners","Set","set","c","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","l","err","return","get","subscribe","callback","add","delete","AdaptChildrenStoreContext","createContext","emptySubscribe","emptyGet","TeleportAdaptContents","store","useContext","_store_subscribe","_store_get","_store_get1","default","useSyncExternalStore","jsx","Fragment","createStyledContext","Contents","scopeName","portalName","platform","setPlatform","x","when","setWhen","LastAdaptContextScope","param","context","scope","lastScope","Provider","adaptScope","useStyledContext","AdaptPortals","Map","portal","id","useId","childrenStoreRef","useRef","current","isTeleport","getPortal","state","type","FinalContents","useMemo","has","element","PortalHost","name","forwardProps","useIsomorphicLayoutEffect","useState","rest","Error","process","env","NODE_ENV","createElement","key","shouldForwardSpace","withStaticProperties","props","enabled","useAdaptIsActiveGiven","_context_setWhen","_context_setPlatform","call","output","Component"],"sources":["../../src/Adapt.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAAA;EAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;IAAAC,KAAA;EAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,QAAA,CAAAD,aAAA;EAAAE,KAAA,EAAAA,CAAA,KAAAA,KAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAA,aAAA;EAAAC,YAAA,EAAAA,CAAA,KAAAA,YAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,mBAAA,EAAAA,CAAA,KAAAA,mBAAA;EAAAC,mBAAA,EAAAA,CAAA,KAAAA,mBAAA;EAAAC,eAAA,EAAAA,CAAA,KAAAA,eAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAhB,YAMO,CAAAK,aAAA;AAqBP,IAAAY,kBAAS,GAAAC,OAAA,oBAA+C;EAAAC,gBAAA,GAAAD,OAAA;EAAAE,WAAA,GAAAF,OAAA;EAAAG,cAAA,GAAAH,OAAA;EAAAI,aAAA,GAAAJ,OAAA;EAAAK,aAAA,GAAAL,OAAA;EAAAM,oBAAA,GAAAN,OAAA;EAAAO,YAAA,GAAAC,OAAA,CAAAR,OAAA;AACtD,SAAIS,wBAA4BA,CAAA;EAChC,IAAAC,QAAM,OAAY;IAAAC,SAAA,kBAAoB,IAAAC,GAAA;EACtC,OAAO;IACLC,IAAIC,CAAA,EAAG;MACLJ,QAAA,GAAWI,CAAA;MACX,IAAAC,yBAA6B;QAAAC,iBAAA;QAAAC,cAAA;MAC/B;QACA,KAAK,IAAMC,SAAA,GAAAP,SAAA,CAAAQ,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;UACX,IAAUS,CAAA,GAAAH,KAAA,CAAUnC,KAAA;UAClBsC,CAAA;QAEF;MACF,SAAAC,GAAA;QACFT,iBAAA,OAAAC,cAAA,GAAAQ,GAAA;MAEM;QAGA;UAGG,CAAAV,yBAAwB,IAAAG,SAAA,CAAAQ,MAAA,YAAAR,SAAA,CAAAQ,MAAA;QACzB;UAEJ,IAAOV,iBAAa,EACb,MAAOC,cAAA;QACd;MACF;IACA;IACFU,GAAA,WAAAA,CAAA;MA+Ba,OAAAjB,QAAA;IACX;IACAkB,SAAWA,CAAAC,QAAA;MACX,OAAAlB,SAAY,CAAAmB,GAAA,CAAAD,QAAA;QACZ,OAAUlB,SAAA,CAAAoB,MAAA,CAAAF,QAAA;MACV;IAAoC;EACpC;AAAM;AACS,IAACG,yBAAA,sBAAAzB,YAAA,CAAA0B,aAAA;EAAAC,cAAA,YAAAA,CAAA;IACjB,OAEK,aAGJ;EAAA;EACAC,QAAG,YAAAA,CAAA;IACL,OAA+C;EAC7C;AAGA,SACEC,sBAAA;EACE,IAACC,KAAA,OAAa9B,YAAA,CAAA+B,UAAA,EAAAN,yBAAA;IAAAO,gBAAA;IAAAC,UAAA;IAAAC,WAAA;IAAA/B,QAAA,GAAAH,YAAA,CAAAmC,OAAA,CAAAC,oBAAA,EAAAJ,gBAAA,GAAAF,KAAA,EAAAT,SAAA,cAAAW,gBAAA,cAAAA,gBAAA,GAAAL,cAAA,GAAAM,UAAA,GAAAH,KAAA,EAAAV,GAAA,cAAAa,UAAA,cAAAA,UAAA,GAAAL,QAAA,GAAAM,WAAA,GAAAJ,KAAA,EAAAV,GAAA,cAAAc,WAAA,cAAAA,WAAA,GAAAN,QAAA;EAAA,OAAb,mBAAApC,kBAAA,CAAA6C,GAAA,EAAA7C,kBAAA,CAAA8C,QAAA;IAAAnC;EACC;AACgC;AAC5B,IAAAnB,YAEH,OAAAW,WAAA,CAAA4C,mBAAA;IAAAC,QAAA;IACHC,SACF;IAEJC,UAEa;IACXC,QAAM;IAENC,WAAO,WAAAA,CAAaC,CAAA,GACtB,CAiBM;IAGJC,IAAA,EAAM;IAIDC,OAAA,WAAAA,CAAA,EAAiB,CAItB;EAIE;EAAAC,qBAAI,sBAAAhD,YAAA,CAAA0B,aAAA;EAAAvC,mBAAA,YAAAA,CAAA8D,KAAA;IACF;QAAA9C,QAAO;QAAA,GAAA+C;MAAA,IAAAD,KAAA;MAAAE,KAAA,GAAAD,OAAA,CAAAT,SAAA;MAAAW,SAAA,OAAApD,YAAA,CAAA+B,UAAA,EAAAiB,qBAAA;IAMT,OAAI,mBAAAxD,kBAAA,CAAA6C,GAAA,EAAAW,qBAAA,CAAAK,QAAA;MACF1E,KAAA,EAAAyE,SAAO,IAAAF,OAAA,CAAAE,SAAA;MAGTjD,QAAI,iBAAiB,IAAAX,kBAAU,CAAA6C,GAAA,EAAArD,YAAA,CAAAqE,QAAA;QAC7BF,KAAA;QAGFC,SAAM,EAAAA,SAEF,IAAAF,OAAA,CAAAE,SAAA;QAAC,GAAAF,OAAA;QAAA/C;MAAA;IAEO;EAC0D;EAAAf,eAAA,YAAAA,CAAA+D,KAAA;IAAA,IAF3DC,SAAA,OAAApD,YAAA,CAAA+B,UAAA,EAAAiB,qBAAA;MAAAM,UAAA,GAAAH,KAAA,IAAAC,SAAA;IAAA,OAGPpE,YAAA,CAAAuE,gBAAA,CAAAD,UAAA;EAIJ;EAAAE,YAAA,kBAAiB,IAAAC,GAAY;EAAAxE,WAEtB,YAAAA,CAAAgE,KAAA;IACT,IAAI;QAAA9C,QAAA;QAAYqC,QAAA;QAAUW,KAAA;QAAAO;MAAW,IAAAT,KAAA;MAAAU,EAAA,OAAA3D,YAAA,CAAA4D,KAAA;MAAAlB,UAAA,iBAAAS,KAAA,GAAAQ,EAAA;MAAAE,gBAAA,GAAA7D,YAAA,CAAAmC,OAAA,CAAA2B,MAAA;IAErCD,gBAAA,CAAAE,OAAA,KAAAF,gBAAA,CAAAE,OAA0B,GAAM7D,wBAAA;IAC9B,IAAA8D,UAAK,OAAAnE,aAAA,CAAAoE,SAAA,IAAAC,KAAA,CAAAC,IAAA;MAAAC,aAAA,OAAApE,YAAA,CAAAqE,OAAA;QACH,IAAA7B,QAAA,EAEE,OAAAA,QAAa;QAAiB,IAChCwB,UAAA,EAEA,OAAAnC,qBAAuB;QAE3B,IAAM2B,YAAO,CAAAc,GAAO,CAAA5B,UAAI,GAGxB,OACEc,YAAA,CAAApC,GAAA,CAAAsB,UAAA;QAEK,IAAA6B,OAAA,YAAAA,CAAA;UAAA,0BAAA/E,kBAAA,CAAA6C,GAAA,EAAAvC,aAAA,CAAA0E,UAAA;YACCC,IAAA,EAAA/B,UAAU;YACVgC,YAAA,SAAAhB,MAAA,yBAAAA,MAAA,EAAAgB;UACA,GAAAf,EAAA;QAAA;QACA,OACAH,YAAA,CAAAlD,GAAA,CAAAoC,UAAA,EAAA6B,OAAA,GAAAA,OAAA;MAAA,IACA7B,UACA,EAAWF,QAEV,EAAAwB,UAAA,CACH;IAIR,CAMa,GAAAtE,gBAAmB,CAAAiF,yBAAyC;MACvE,IAAM,CAAAX,UAAU,EAEZ,OAACR,YAAS,CAAAlD,GAAA,CAAAoC,UAAA,EAAA0B,aAAA;QACZZ,YAAU,CAAAhC,MAAA,CAAAkB,UAAA;MACR;IAEI,GACN,CAIFA,UAAO,EACTsB,UAAA,CAEA;IAEO,IAAM,CAAAlB,IAAA,EAAAC,OAAQ,IAAA/C,YAAA,CAAAmC,OAAA,CAAAyC,QAAA;MAAA,CAAAjC,QAAA,EAAAC,WAAA,IAAA5C,YAAA,CAAAmC,OAAA,CAAAyC,QAAA;IACnB,sBAAkC,IAAApF,kBAAA,CAAA6C,GAAA,EAAAZ,yBAAA,CAAA4B,QAAA;MAChC1E,KAAA,EAAMkF,gBAAY,CAAME,OAAA;MAIxB5D,QAAA,qBAAAX,kBAA0B,CAAA6C,GAAA,EAAMW,qBAAA,CAAAK,QAAA;QAC9B1E,KAAA,EAAAwE,KAAS;QAEXhD,QAAU,iBAAU,CAAS,GAAAX,kBAAiB,CAAA6C,GAAQ,EAAAlD,mBAEtD;UAEIqD,QAAS,EAAA4B,aAAc;UAGvBtB,IAAC;UAEDH,QAAA;UAEAC,WAAO;UACTG,OAAM;UACNL,UAAS;UACXD,SAAA,EAAAU,KAAA;UACEhD;QAGF;MACF;IACA;EAAA;EAAApB,aACY,YAAAA,CAAAkE,KAAA;IACZ;QAAAE,KAAA;QAAA,GAAA0B;MAAA,IAAA5B,KAAA;MAAAC,OAAA,GAAA9D,eAAA,CAAA+D,KAAA;IACF,IAEa,CAAAD,OAAA,EAAAV,QAAA,EAKX,MAAM,IAAAsC,KAAW,CAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAiB,KAAM,YAChC,8CACF,6GAAoD;IAO1D,OANmB,eAACjF,YAAA,CAAAmC,OAAS,CAAA+C,aAAA,CAAAhC,OAAY,CAAAV,QAAM;MAmBjD,GAAAqC,IAAA;MAEAM,GAAA,EAAS;IACP;EAAA;AACApG,aACA,CAAAqG,kBAAA;AACF,IAIGtG,KAAA,OAAAc,cAAA,CAAAyF,oBAAA,YAAAC,KAAA;IACD;QAAA3C,QAAA;QAAAG,IAAA;QAAA3C,QAAA;QAAAgD;MAAA,IAAAmC,KAAA;MAAApC,OAA0B,GAAA9D,eAAM,CAAA+D,KAAA;MAAAoC,OAAA,GAAAC,qBAAA,CAAAF,KAAA;IAC9B,IAAA5F,gBAAK,CAAAiF,yBAAA;MACL,IAAAc,gBAAU,EAAAC,oBACS;MACpBxC,OAEM,QAAW,KAAOuC,gBAAA,GAAAvC,OAAA,CAAAH,OAAA,cAAA0C,gBAAA,WAAG,IAAAA,gBAAS,CAAAE,IAAA,CAAAzC,OAAA,EAAAJ,IAAA,IAAAyC,OAAA,GAAArC,OAAA,aAAAwC,oBAAA,GAAAxC,OAAA,CAAAN,WAAA,cAAA8C,oBAAA,eAAAA,oBAAA,CAAAC,IAAA,CAAAzC,OAAA,EAAAP,QAAA;IACvC,IAEAG,IAAM,EACJH,QAAA,EACA4C,OAAA,EACFrC,OAA6C,CAAAH,OAAA,EAC3CG,OAAM,CAAAN,WAAQ,CAEd,GAAI,IAAAlD,gBAAgB,CAAAiF,yBAAY;MAC9B,OAAO;QAGL,IAAAc,gBAAS,EAAAC,oBAAA;QACXxC,OAAO,aAAAuC,gBAAA,GAAAvC,OAAA,CAAAH,OAAA,cAAA0C,gBAAA,eAAAA,gBAAA,CAAAE,IAAA,CAAAzC,OAAA,SAAAA,OAAA,aAAAwC,oBAAA,GAAAxC,OAAA,CAAAN,WAAA,cAAA8C,oBAAA,eAAAA,oBAAA,CAAAC,IAAA,CAAAzC,OAAA;MAGT;IAQA;IASF,IAEa0C,MAAA;IACX,WAAMzF,QAAQ,cAAgB,EAAK;MACnC,IAAA0F,SAAO,GAAA3C,OAAA,EAAAV,QAA2B;MACpCoD,MAAA,GAAAzF,QAAA,CAAA0F,SAAA,sBAAArG,kBAAA,CAAA6C,GAAA,EAAAwD,SAAA","ignoreList":[]}
|
package/dist/cjs/index.js
CHANGED
|
@@ -3,13 +3,16 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
3
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
5
|
var __copyProps = (to, from, except, desc) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
|
7
|
+
get: () => from[key],
|
|
8
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
9
|
+
});
|
|
10
|
+
return to;
|
|
11
|
+
},
|
|
12
|
+
__reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
13
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
14
|
+
value: !0
|
|
15
|
+
}), mod);
|
|
12
16
|
var index_exports = {};
|
|
13
17
|
module.exports = __toCommonJS(index_exports);
|
|
14
|
-
__reExport(index_exports, require("./Adapt"), module.exports);
|
|
15
|
-
//# sourceMappingURL=index.js.map
|
|
18
|
+
__reExport(index_exports, require("./Adapt.cjs"), module.exports);
|
package/dist/esm/Adapt.mjs
CHANGED
|
@@ -1,10 +1,35 @@
|
|
|
1
1
|
import { isAndroid, isIos, isTouchable, isWeb, useIsomorphicLayoutEffect } from "@tamagui/constants";
|
|
2
2
|
import { createStyledContext, useMedia } from "@tamagui/core";
|
|
3
3
|
import { withStaticProperties } from "@tamagui/helpers";
|
|
4
|
+
import { getPortal } from "@tamagui/native";
|
|
4
5
|
import { PortalHost, PortalItem } from "@tamagui/portal";
|
|
5
6
|
import { StackZIndexContext } from "@tamagui/z-index-stack";
|
|
6
7
|
import React, { createContext, useContext, useId, useMemo } from "react";
|
|
7
|
-
import { jsx } from "react/jsx-runtime";
|
|
8
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
9
|
+
function createAdaptChildrenStore() {
|
|
10
|
+
let children = null;
|
|
11
|
+
const listeners = /* @__PURE__ */new Set();
|
|
12
|
+
return {
|
|
13
|
+
set(c) {
|
|
14
|
+
children = c;
|
|
15
|
+
for (const l of listeners) l();
|
|
16
|
+
},
|
|
17
|
+
get: () => children,
|
|
18
|
+
subscribe(callback) {
|
|
19
|
+
return listeners.add(callback), () => listeners.delete(callback);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
const AdaptChildrenStoreContext = createContext(null),
|
|
24
|
+
emptySubscribe = () => () => {},
|
|
25
|
+
emptyGet = () => null;
|
|
26
|
+
function TeleportAdaptContents() {
|
|
27
|
+
const store = useContext(AdaptChildrenStoreContext),
|
|
28
|
+
children = React.useSyncExternalStore(store?.subscribe ?? emptySubscribe, store?.get ?? emptyGet, store?.get ?? emptyGet);
|
|
29
|
+
return /* @__PURE__ */jsx(Fragment, {
|
|
30
|
+
children
|
|
31
|
+
});
|
|
32
|
+
}
|
|
8
33
|
const AdaptContext = createStyledContext({
|
|
9
34
|
Contents: null,
|
|
10
35
|
scopeName: "",
|
|
@@ -12,7 +37,6 @@ const AdaptContext = createStyledContext({
|
|
|
12
37
|
platform: null,
|
|
13
38
|
setPlatform: x => {},
|
|
14
39
|
when: null,
|
|
15
|
-
setChildren: null,
|
|
16
40
|
setWhen: () => {}
|
|
17
41
|
}),
|
|
18
42
|
LastAdaptContextScope = createContext(""),
|
|
@@ -46,33 +70,40 @@ const AdaptContext = createStyledContext({
|
|
|
46
70
|
}) => {
|
|
47
71
|
const id = useId(),
|
|
48
72
|
portalName = `AdaptPortal${scope}${id}`,
|
|
73
|
+
childrenStoreRef = React.useRef(null);
|
|
74
|
+
childrenStoreRef.current || (childrenStoreRef.current = createAdaptChildrenStore());
|
|
75
|
+
const isTeleport = !1,
|
|
49
76
|
FinalContents = useMemo(() => {
|
|
50
77
|
if (Contents) return Contents;
|
|
78
|
+
if (isTeleport) return TeleportAdaptContents;
|
|
51
79
|
if (AdaptPortals.has(portalName)) return AdaptPortals.get(portalName);
|
|
52
80
|
const element = () => /* @__PURE__ */jsx(PortalHost, {
|
|
53
81
|
name: portalName,
|
|
54
82
|
forwardProps: typeof portal == "boolean" ? void 0 : portal?.forwardProps
|
|
55
83
|
}, id);
|
|
56
84
|
return AdaptPortals.set(portalName, element), element;
|
|
57
|
-
}, [portalName, Contents]);
|
|
58
|
-
useIsomorphicLayoutEffect(() =>
|
|
59
|
-
AdaptPortals.
|
|
60
|
-
|
|
85
|
+
}, [portalName, Contents, isTeleport]);
|
|
86
|
+
useIsomorphicLayoutEffect(() => {
|
|
87
|
+
if (!isTeleport) return AdaptPortals.set(portalName, FinalContents), () => {
|
|
88
|
+
AdaptPortals.delete(portalName);
|
|
89
|
+
};
|
|
90
|
+
}, [portalName, isTeleport]);
|
|
61
91
|
const [when, setWhen] = React.useState(null),
|
|
62
|
-
[platform, setPlatform] = React.useState(null)
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
92
|
+
[platform, setPlatform] = React.useState(null);
|
|
93
|
+
return /* @__PURE__ */jsx(AdaptChildrenStoreContext.Provider, {
|
|
94
|
+
value: childrenStoreRef.current,
|
|
95
|
+
children: /* @__PURE__ */jsx(LastAdaptContextScope.Provider, {
|
|
96
|
+
value: scope,
|
|
97
|
+
children: /* @__PURE__ */jsx(ProvideAdaptContext, {
|
|
98
|
+
Contents: FinalContents,
|
|
99
|
+
when,
|
|
100
|
+
platform,
|
|
101
|
+
setPlatform,
|
|
102
|
+
setWhen,
|
|
103
|
+
portalName,
|
|
104
|
+
scopeName: scope,
|
|
105
|
+
children
|
|
106
|
+
})
|
|
76
107
|
})
|
|
77
108
|
});
|
|
78
109
|
},
|
|
@@ -107,9 +138,7 @@ const Adapt = withStaticProperties(function (props) {
|
|
|
107
138
|
const Component = context?.Contents;
|
|
108
139
|
output = children(Component ? /* @__PURE__ */jsx(Component, {}) : null);
|
|
109
140
|
} else output = children;
|
|
110
|
-
return
|
|
111
|
-
typeof children == "function" && output !== void 0 && context?.setChildren(output);
|
|
112
|
-
}, [output]), /* @__PURE__ */jsx(StackZIndexContext, {
|
|
141
|
+
return /* @__PURE__ */jsx(StackZIndexContext, {
|
|
113
142
|
children: enabled ? output : null
|
|
114
143
|
});
|
|
115
144
|
}, {
|
|
@@ -119,14 +148,30 @@ const Adapt = withStaticProperties(function (props) {
|
|
|
119
148
|
const isActive = useAdaptIsActive(props.scope),
|
|
120
149
|
{
|
|
121
150
|
portalName
|
|
122
|
-
} = useAdaptContext(props.scope)
|
|
123
|
-
|
|
151
|
+
} = useAdaptContext(props.scope),
|
|
152
|
+
childrenStore = useContext(AdaptChildrenStoreContext);
|
|
153
|
+
return !isWeb && getPortal().state.type === "teleport" && childrenStore ? /* @__PURE__ */jsx(AdaptPortalTeleport, {
|
|
154
|
+
isActive,
|
|
155
|
+
store: childrenStore,
|
|
156
|
+
children: props.children
|
|
157
|
+
}) : /* @__PURE__ */jsx(PortalItem, {
|
|
124
158
|
passThrough: !isActive,
|
|
125
159
|
hostName: portalName,
|
|
126
160
|
children: props.children
|
|
127
161
|
});
|
|
128
|
-
}
|
|
129
|
-
|
|
162
|
+
};
|
|
163
|
+
function AdaptPortalTeleport({
|
|
164
|
+
isActive,
|
|
165
|
+
store,
|
|
166
|
+
children
|
|
167
|
+
}) {
|
|
168
|
+
return useIsomorphicLayoutEffect(() => {
|
|
169
|
+
if (isActive) return store.set(children), () => store.set(null);
|
|
170
|
+
}), isActive ? null : /* @__PURE__ */jsx(Fragment, {
|
|
171
|
+
children
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
const useAdaptIsActiveGiven = ({
|
|
130
175
|
when,
|
|
131
176
|
platform
|
|
132
177
|
}) => {
|
package/dist/esm/Adapt.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["isAndroid","isIos","isTouchable","isWeb","useIsomorphicLayoutEffect","createStyledContext","useMedia","withStaticProperties","PortalHost","PortalItem","StackZIndexContext","React","createContext","useContext","useId","useMemo","jsx","AdaptContext","Contents","scopeName","portalName","platform","setPlatform","x","when","
|
|
1
|
+
{"version":3,"names":["isAndroid","isIos","isTouchable","isWeb","useIsomorphicLayoutEffect","createStyledContext","useMedia","withStaticProperties","getPortal","PortalHost","PortalItem","StackZIndexContext","React","createContext","useContext","useId","useMemo","Fragment","jsx","createAdaptChildrenStore","children","listeners","Set","set","c","l","get","subscribe","callback","add","delete","AdaptChildrenStoreContext","emptySubscribe","emptyGet","TeleportAdaptContents","store","useSyncExternalStore","AdaptContext","Contents","scopeName","portalName","platform","setPlatform","x","when","setWhen","LastAdaptContextScope","ProvideAdaptContext","context","scope","lastScope","Provider","value","useAdaptContext","adaptScope","useStyledContext","AdaptPortals","Map","AdaptParent","portal","id","childrenStoreRef","useRef","current","isTeleport","FinalContents","has","element","name","forwardProps","useState","AdaptContents","rest","Error","process","env","NODE_ENV","createElement","key","shouldForwardSpace","Adapt","props","enabled","useAdaptIsActiveGiven","output","Component","AdaptPortalContents","isActive","useAdaptIsActive","childrenStore","state","type","AdaptPortalTeleport","passThrough","hostName","media"],"sources":["../../src/Adapt.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|