@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.
@@ -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)(() => (AdaptPortals.set(portalName, FinalContents), () => {
102
- AdaptPortals.delete(portalName);
103
- }), [portalName]);
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
- [children2, setChildren] = import_react.default.useState(null);
107
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(LastAdaptContextScope.Provider, {
108
- value: scope,
109
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ProvideAdaptContext, {
110
- Contents: FinalContents,
111
- when,
112
- platform,
113
- setPlatform,
114
- setWhen,
115
- setChildren,
116
- portalName,
117
- scopeName: scope,
118
- children
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, import_constants.useIsomorphicLayoutEffect)(() => {
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
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_portal.PortalItem, {
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
- useAdaptIsActiveGiven = ({
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
  }) => {
@@ -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
- AdaptContext = (0, import_core.createStyledContext)({
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
- [children2, setChildren] = import_react.default.useState(null);
115
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(LastAdaptContextScope.Provider, {
116
- value: scope,
117
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ProvideAdaptContext, {
118
- Contents: FinalContents,
119
- when,
120
- platform,
121
- setPlatform,
122
- setWhen,
123
- setChildren,
124
- portalName,
125
- scopeName: scope,
126
- children
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, import_constants.useIsomorphicLayoutEffect)(function () {
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
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_portal.PortalItem, {
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
- useAdaptIsActiveGiven = function (param) {
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","createStyledContext","Contents","scopeName","portalName","platform","setPlatform","x","when","setChildren","setWhen","LastAdaptContextScope","createContext","param","children","context","scope","lastScope","useContext","jsx","Provider","adaptScope","useStyledContext","AdaptPortals","Map","portal","id","useId","FinalContents","useMemo","has","get","element","PortalHost","name","forwardProps","set","useIsomorphicLayoutEffect","delete","default","useState","children2","rest","Error","process","env","NODE_ENV","createElement","key","shouldForwardSpace","withStaticProperties","props","enabled","useAdaptIsActiveGiven","_context_setWhen","_context_setPlatform","call","output","Component","StackZIndexContext","isActive","PortalItem","passThrough"],"sources":["../../src/Adapt.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
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":"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","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
- if (from && typeof from == "object" || typeof from == "function")
7
- for (let key of __getOwnPropNames(from))
8
- !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
9
- return to;
10
- }, __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
11
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
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);
@@ -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(() => (AdaptPortals.set(portalName, FinalContents), () => {
59
- AdaptPortals.delete(portalName);
60
- }), [portalName]);
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
- [children2, setChildren] = React.useState(null);
64
- return /* @__PURE__ */jsx(LastAdaptContextScope.Provider, {
65
- value: scope,
66
- children: /* @__PURE__ */jsx(ProvideAdaptContext, {
67
- Contents: FinalContents,
68
- when,
69
- platform,
70
- setPlatform,
71
- setWhen,
72
- setChildren,
73
- portalName,
74
- scopeName: scope,
75
- children
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 useIsomorphicLayoutEffect(() => {
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
- return /* @__PURE__ */jsx(PortalItem, {
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
- useAdaptIsActiveGiven = ({
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
  }) => {
@@ -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","setChildren","setWhen","LastAdaptContextScope","ProvideAdaptContext","children","context","scope","lastScope","Provider","value","useAdaptContext","adaptScope","useStyledContext","AdaptPortals","Map","AdaptParent","portal","id","FinalContents","has","get","element","name","forwardProps","set","delete","useState","children2","AdaptContents","rest","Error","process","env","NODE_ENV","createElement","key","shouldForwardSpace","Adapt","props","enabled","useAdaptIsActiveGiven","output","Component","AdaptPortalContents","isActive","useAdaptIsActive","passThrough","hostName","media"],"sources":["../../src/Adapt.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
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":[]}