@tamagui/adapt 1.130.8 → 1.131.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.
@@ -41,15 +41,14 @@ __export(Adapt_exports, {
41
41
  useAdaptIsActive: () => useAdaptIsActive
42
42
  });
43
43
  module.exports = __toCommonJS(Adapt_exports);
44
- var import_z_index_stack = require("@tamagui/z-index-stack"),
45
- import_constants = require("@tamagui/constants"),
44
+ var import_constants = require("@tamagui/constants"),
46
45
  import_core = require("@tamagui/core"),
47
46
  import_helpers = require("@tamagui/helpers"),
48
47
  import_portal = require("@tamagui/portal"),
48
+ import_z_index_stack = require("@tamagui/z-index-stack"),
49
49
  import_react = __toESM(require("react")),
50
50
  import_jsx_runtime = require("react/jsx-runtime");
51
- const CurrentAdaptContextScope = (0, import_react.createContext)(""),
52
- AdaptContext = (0, import_core.createStyledContext)({
51
+ const AdaptContext = (0, import_core.createStyledContext)({
53
52
  Contents: null,
54
53
  scopeName: "",
55
54
  portalName: "",
@@ -59,23 +58,27 @@ const CurrentAdaptContextScope = (0, import_react.createContext)(""),
59
58
  setChildren: null,
60
59
  setWhen: () => {}
61
60
  }),
61
+ LastAdaptContextScope = (0, import_react.createContext)(""),
62
62
  ProvideAdaptContext = ({
63
63
  children,
64
64
  ...context
65
65
  }) => {
66
- const scope = context.scopeName || "";
67
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(CurrentAdaptContextScope.Provider, {
68
- value: scope,
66
+ const scope = context.scopeName || "",
67
+ lastScope = (0, import_react.useContext)(LastAdaptContextScope);
68
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(LastAdaptContextScope.Provider, {
69
+ value: lastScope || context.lastScope || "",
69
70
  children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(AdaptContext.Provider, {
70
71
  scope,
72
+ lastScope: lastScope || context.lastScope,
71
73
  ...context,
72
74
  children
73
75
  })
74
76
  });
75
77
  },
76
- useAdaptContext = (scope = "") => {
77
- const contextScope = (0, import_react.useContext)(CurrentAdaptContextScope);
78
- return AdaptContext.useStyledContext(scope === "" && contextScope || scope);
78
+ useAdaptContext = scope => {
79
+ const lastScope = (0, import_react.useContext)(LastAdaptContextScope),
80
+ adaptScope = scope ?? lastScope;
81
+ return AdaptContext.useStyledContext(adaptScope);
79
82
  },
80
83
  AdaptPortals = /* @__PURE__ */new Map(),
81
84
  AdaptParent = ({
@@ -84,28 +87,36 @@ const CurrentAdaptContextScope = (0, import_react.createContext)(""),
84
87
  scope,
85
88
  portal
86
89
  }) => {
87
- const portalName = `AdaptPortal${scope}`,
88
- id = (0, import_react.useId)();
89
- let FinalContents = Contents || AdaptPortals.get(id);
90
- FinalContents || (FinalContents = () => /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_portal.PortalHost, {
91
- name: portalName,
92
- forwardProps: typeof portal == "boolean" ? void 0 : portal?.forwardProps
93
- }), AdaptPortals.set(id, FinalContents)), (0, import_react.useEffect)(() => () => {
94
- AdaptPortals.delete(id);
95
- }, []);
90
+ const id = (0, import_react.useId)(),
91
+ portalName = `AdaptPortal${scope}${id}`,
92
+ FinalContents = (0, import_react.useMemo)(() => {
93
+ if (Contents) return Contents;
94
+ if (AdaptPortals.has(portalName)) return AdaptPortals.get(portalName);
95
+ const element = () => /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_portal.PortalHost, {
96
+ name: portalName,
97
+ forwardProps: typeof portal == "boolean" ? void 0 : portal?.forwardProps
98
+ }, id);
99
+ return AdaptPortals.set(portalName, element), element;
100
+ }, [portalName, Contents]);
101
+ (0, import_constants.useIsomorphicLayoutEffect)(() => (AdaptPortals.set(portalName, FinalContents), () => {
102
+ AdaptPortals.delete(portalName);
103
+ }), [portalName]);
96
104
  const [when, setWhen] = import_react.default.useState(null),
97
105
  [platform, setPlatform] = import_react.default.useState(null),
98
106
  [children2, setChildren] = import_react.default.useState(null);
99
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(ProvideAdaptContext, {
100
- Contents: FinalContents,
101
- when,
102
- platform,
103
- setPlatform,
104
- setWhen,
105
- setChildren,
106
- portalName,
107
- scopeName: scope,
108
- children
107
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(LastAdaptContextScope, {
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
119
+ })
109
120
  });
110
121
  },
111
122
  AdaptContents = ({
@@ -128,7 +139,6 @@ const Adapt = (0, import_helpers.withStaticProperties)(function (props) {
128
139
  scope
129
140
  } = props,
130
141
  context = useAdaptContext(scope),
131
- scopeName = scope ?? context.scopeName,
132
142
  enabled = useAdaptIsActiveGiven(props);
133
143
  (0, import_constants.useIsomorphicLayoutEffect)(() => {
134
144
  context?.setWhen?.(when || enabled), context?.setPlatform?.(platform || null);
@@ -143,10 +153,7 @@ const Adapt = (0, import_helpers.withStaticProperties)(function (props) {
143
153
  return (0, import_constants.useIsomorphicLayoutEffect)(() => {
144
154
  typeof children == "function" && output !== void 0 && context?.setChildren(output);
145
155
  }, [output]), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_z_index_stack.StackZIndexContext, {
146
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(CurrentAdaptContextScope.Provider, {
147
- value: scopeName,
148
- children: enabled ? output : null
149
- })
156
+ children: enabled ? output : null
150
157
  });
151
158
  }, {
152
159
  Contents: AdaptContents
@@ -168,6 +175,7 @@ const Adapt = (0, import_helpers.withStaticProperties)(function (props) {
168
175
  }) => {
169
176
  const media = (0, import_core.useMedia)();
170
177
  if (when == null && platform == null) return !1;
178
+ if (when === !0) return !0;
171
179
  let enabled = !1;
172
180
  return platform === "touch" ? enabled = import_constants.isTouchable : platform === "native" ? enabled = !import_constants.isWeb : platform === "web" ? enabled = import_constants.isWeb : platform === "ios" ? enabled = import_constants.isIos : platform === "android" && (enabled = import_constants.isAndroid), platform && enabled == !1 ? !1 : (when && typeof when == "string" && (enabled = media[when]), enabled);
173
181
  },
package/dist/cjs/Adapt.js CHANGED
@@ -32,8 +32,8 @@ __export(Adapt_exports, {
32
32
  useAdaptIsActive: () => useAdaptIsActive
33
33
  });
34
34
  module.exports = __toCommonJS(Adapt_exports);
35
- var import_z_index_stack = require("@tamagui/z-index-stack"), import_constants = require("@tamagui/constants"), import_core = require("@tamagui/core"), import_helpers = require("@tamagui/helpers"), import_portal = require("@tamagui/portal"), import_react = __toESM(require("react")), import_jsx_runtime = require("react/jsx-runtime");
36
- const CurrentAdaptContextScope = (0, import_react.createContext)(""), AdaptContext = (0, import_core.createStyledContext)({
35
+ var import_constants = require("@tamagui/constants"), import_core = require("@tamagui/core"), import_helpers = require("@tamagui/helpers"), import_portal = require("@tamagui/portal"), import_z_index_stack = require("@tamagui/z-index-stack"), import_react = __toESM(require("react")), import_jsx_runtime = require("react/jsx-runtime");
36
+ const AdaptContext = (0, import_core.createStyledContext)({
37
37
  Contents: null,
38
38
  scopeName: "",
39
39
  portalName: "",
@@ -44,31 +44,44 @@ const CurrentAdaptContextScope = (0, import_react.createContext)(""), AdaptConte
44
44
  setChildren: null,
45
45
  setWhen: () => {
46
46
  }
47
- }), ProvideAdaptContext = ({
47
+ }), LastAdaptContextScope = (0, import_react.createContext)(""), ProvideAdaptContext = ({
48
48
  children,
49
49
  ...context
50
50
  }) => {
51
- const scope = context.scopeName || "";
52
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CurrentAdaptContextScope.Provider, { value: scope, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AdaptContext.Provider, { scope, ...context, children }) });
53
- }, useAdaptContext = (scope = "") => {
54
- const contextScope = (0, import_react.useContext)(CurrentAdaptContextScope);
55
- return AdaptContext.useStyledContext(
56
- scope === "" && contextScope || scope
57
- );
58
- }, AdaptPortals = /* @__PURE__ */ new Map(), AdaptParent = ({ children, Contents, scope, portal }) => {
59
- const portalName = `AdaptPortal${scope}`, id = (0, import_react.useId)();
60
- let FinalContents = Contents || AdaptPortals.get(id);
61
- FinalContents || (FinalContents = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
62
- import_portal.PortalHost,
51
+ const scope = context.scopeName || "", lastScope = (0, import_react.useContext)(LastAdaptContextScope);
52
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LastAdaptContextScope.Provider, { value: lastScope || context.lastScope || "", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
53
+ AdaptContext.Provider,
63
54
  {
64
- name: portalName,
65
- forwardProps: typeof portal == "boolean" ? void 0 : portal?.forwardProps
55
+ scope,
56
+ lastScope: lastScope || context.lastScope,
57
+ ...context,
58
+ children
66
59
  }
67
- ), AdaptPortals.set(id, FinalContents)), (0, import_react.useEffect)(() => () => {
68
- AdaptPortals.delete(id);
69
- }, []);
60
+ ) });
61
+ }, useAdaptContext = (scope) => {
62
+ const lastScope = (0, import_react.useContext)(LastAdaptContextScope), adaptScope = scope ?? lastScope;
63
+ return AdaptContext.useStyledContext(adaptScope);
64
+ }, AdaptPortals = /* @__PURE__ */ new Map(), AdaptParent = ({ children, Contents, scope, portal }) => {
65
+ const id = (0, import_react.useId)(), portalName = `AdaptPortal${scope}${id}`, FinalContents = (0, import_react.useMemo)(() => {
66
+ if (Contents)
67
+ return Contents;
68
+ if (AdaptPortals.has(portalName))
69
+ return AdaptPortals.get(portalName);
70
+ const element = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
71
+ import_portal.PortalHost,
72
+ {
73
+ name: portalName,
74
+ forwardProps: typeof portal == "boolean" ? void 0 : portal?.forwardProps
75
+ },
76
+ id
77
+ );
78
+ return AdaptPortals.set(portalName, element), element;
79
+ }, [portalName, Contents]);
80
+ (0, import_constants.useIsomorphicLayoutEffect)(() => (AdaptPortals.set(portalName, FinalContents), () => {
81
+ AdaptPortals.delete(portalName);
82
+ }), [portalName]);
70
83
  const [when, setWhen] = import_react.default.useState(null), [platform, setPlatform] = import_react.default.useState(null), [children2, setChildren] = import_react.default.useState(null);
71
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
84
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LastAdaptContextScope, { value: scope, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
72
85
  ProvideAdaptContext,
73
86
  {
74
87
  Contents: FinalContents,
@@ -81,7 +94,7 @@ const CurrentAdaptContextScope = (0, import_react.createContext)(""), AdaptConte
81
94
  scopeName: scope,
82
95
  children
83
96
  }
84
- );
97
+ ) });
85
98
  }, AdaptContents = ({ scope, ...rest }) => {
86
99
  const context = useAdaptContext(scope);
87
100
  if (!context?.Contents)
@@ -93,7 +106,7 @@ const CurrentAdaptContextScope = (0, import_react.createContext)(""), AdaptConte
93
106
  AdaptContents.shouldForwardSpace = !0;
94
107
  const Adapt = (0, import_helpers.withStaticProperties)(
95
108
  function(props) {
96
- const { platform, when, children, scope } = props, context = useAdaptContext(scope), scopeName = scope ?? context.scopeName, enabled = useAdaptIsActiveGiven(props);
109
+ const { platform, when, children, scope } = props, context = useAdaptContext(scope), enabled = useAdaptIsActiveGiven(props);
97
110
  (0, import_constants.useIsomorphicLayoutEffect)(() => {
98
111
  context?.setWhen?.(when || enabled), context?.setPlatform?.(platform || null);
99
112
  }, [when, platform, enabled, context.setWhen, context.setPlatform]), (0, import_constants.useIsomorphicLayoutEffect)(() => () => {
@@ -107,7 +120,7 @@ const Adapt = (0, import_helpers.withStaticProperties)(
107
120
  output = children;
108
121
  return (0, import_constants.useIsomorphicLayoutEffect)(() => {
109
122
  typeof children == "function" && output !== void 0 && context?.setChildren(output);
110
- }, [output]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_z_index_stack.StackZIndexContext, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CurrentAdaptContextScope.Provider, { value: scopeName, children: enabled ? output : null }) });
123
+ }, [output]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_z_index_stack.StackZIndexContext, { children: enabled ? output : null });
111
124
  },
112
125
  {
113
126
  Contents: AdaptContents
@@ -122,6 +135,8 @@ const Adapt = (0, import_helpers.withStaticProperties)(
122
135
  const media = (0, import_core.useMedia)();
123
136
  if (when == null && platform == null)
124
137
  return !1;
138
+ if (when === !0)
139
+ return !0;
125
140
  let enabled = !1;
126
141
  return platform === "touch" ? enabled = import_constants.isTouchable : platform === "native" ? enabled = !import_constants.isWeb : platform === "web" ? enabled = import_constants.isWeb : platform === "ios" ? enabled = import_constants.isIos : platform === "android" && (enabled = import_constants.isAndroid), platform && enabled == !1 ? !1 : (when && typeof when == "string" && (enabled = media[when]), enabled);
127
142
  }, useAdaptIsActive = (scope) => {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Adapt.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["React"]
6
6
  }
@@ -33,7 +33,7 @@ __export(Adapt_exports, {
33
33
  useAdaptIsActive: () => useAdaptIsActive
34
34
  });
35
35
  module.exports = __toCommonJS(Adapt_exports);
36
- var import_jsx_runtime = require("react/jsx-runtime"), import_z_index_stack = require("@tamagui/z-index-stack"), import_constants = require("@tamagui/constants"), import_core = require("@tamagui/core"), import_helpers = require("@tamagui/helpers"), import_portal = require("@tamagui/portal"), import_react = __toESM(require("react")), CurrentAdaptContextScope = /* @__PURE__ */ (0, import_react.createContext)(""), AdaptContext = (0, import_core.createStyledContext)({
36
+ var import_jsx_runtime = require("react/jsx-runtime"), import_constants = require("@tamagui/constants"), import_core = require("@tamagui/core"), import_helpers = require("@tamagui/helpers"), import_portal = require("@tamagui/portal"), import_z_index_stack = require("@tamagui/z-index-stack"), import_react = __toESM(require("react")), AdaptContext = (0, import_core.createStyledContext)({
37
37
  Contents: null,
38
38
  scopeName: "",
39
39
  portalName: "",
@@ -44,42 +44,58 @@ var import_jsx_runtime = require("react/jsx-runtime"), import_z_index_stack = re
44
44
  setChildren: null,
45
45
  setWhen: function() {
46
46
  }
47
- }), ProvideAdaptContext = function(param) {
48
- var { children, ...context } = param, scope = context.scopeName || "";
49
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CurrentAdaptContextScope.Provider, {
50
- value: scope,
47
+ }), LastAdaptContextScope = /* @__PURE__ */ (0, import_react.createContext)(""), ProvideAdaptContext = function(param) {
48
+ var { children, ...context } = param, scope = context.scopeName || "", lastScope = (0, import_react.useContext)(LastAdaptContextScope);
49
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LastAdaptContextScope.Provider, {
50
+ value: lastScope || context.lastScope || "",
51
51
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(AdaptContext.Provider, {
52
52
  scope,
53
+ lastScope: lastScope || context.lastScope,
53
54
  ...context,
54
55
  children
55
56
  })
56
57
  });
57
- }, useAdaptContext = function() {
58
- var scope = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "", contextScope = (0, import_react.useContext)(CurrentAdaptContextScope), context = AdaptContext.useStyledContext(scope === "" && contextScope || scope);
59
- return context;
58
+ }, useAdaptContext = function(scope) {
59
+ var lastScope = (0, import_react.useContext)(LastAdaptContextScope), adaptScope = scope ?? lastScope;
60
+ return AdaptContext.useStyledContext(adaptScope);
60
61
  }, AdaptPortals = /* @__PURE__ */ new Map(), AdaptParent = function(param) {
61
- var { children, Contents, scope, portal } = param, portalName = `AdaptPortal${scope}`, id = (0, import_react.useId)(), FinalContents = Contents || AdaptPortals.get(id);
62
- FinalContents || (FinalContents = function() {
63
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_portal.PortalHost, {
64
- name: portalName,
65
- forwardProps: typeof portal == "boolean" || portal == null ? void 0 : portal.forwardProps
66
- });
67
- }, AdaptPortals.set(id, FinalContents)), (0, import_react.useEffect)(function() {
68
- return function() {
69
- AdaptPortals.delete(id);
62
+ var { children, Contents, scope, portal } = param, id = (0, import_react.useId)(), portalName = `AdaptPortal${scope}${id}`, FinalContents = (0, import_react.useMemo)(function() {
63
+ if (Contents)
64
+ return Contents;
65
+ if (AdaptPortals.has(portalName))
66
+ return AdaptPortals.get(portalName);
67
+ var element = function() {
68
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_portal.PortalHost, {
69
+ name: portalName,
70
+ forwardProps: typeof portal == "boolean" || portal == null ? void 0 : portal.forwardProps
71
+ }, id);
70
72
  };
71
- }, []);
72
- var [when, setWhen] = import_react.default.useState(null), [platform, setPlatform] = import_react.default.useState(null), [children2, setChildren] = import_react.default.useState(null);
73
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ProvideAdaptContext, {
74
- Contents: FinalContents,
75
- when,
76
- platform,
77
- setPlatform,
78
- setWhen,
79
- setChildren,
73
+ return AdaptPortals.set(portalName, element), element;
74
+ }, [
80
75
  portalName,
81
- scopeName: scope,
82
- children
76
+ Contents
77
+ ]);
78
+ (0, import_constants.useIsomorphicLayoutEffect)(function() {
79
+ return AdaptPortals.set(portalName, FinalContents), function() {
80
+ AdaptPortals.delete(portalName);
81
+ };
82
+ }, [
83
+ portalName
84
+ ]);
85
+ var [when, setWhen] = import_react.default.useState(null), [platform, setPlatform] = import_react.default.useState(null), [children2, setChildren] = import_react.default.useState(null);
86
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LastAdaptContextScope, {
87
+ value: scope,
88
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ProvideAdaptContext, {
89
+ Contents: FinalContents,
90
+ when,
91
+ platform,
92
+ setPlatform,
93
+ setWhen,
94
+ setChildren,
95
+ portalName,
96
+ scopeName: scope,
97
+ children
98
+ })
83
99
  });
84
100
  }, AdaptContents = function(param) {
85
101
  var { scope, ...rest } = param, context = useAdaptContext(scope);
@@ -92,7 +108,7 @@ var import_jsx_runtime = require("react/jsx-runtime"), import_z_index_stack = re
92
108
  };
93
109
  AdaptContents.shouldForwardSpace = !0;
94
110
  var Adapt = (0, import_helpers.withStaticProperties)(function(props) {
95
- var { platform, when, children, scope } = props, context = useAdaptContext(scope), scopeName = scope ?? context.scopeName, enabled = useAdaptIsActiveGiven(props);
111
+ var { platform, when, children, scope } = props, context = useAdaptContext(scope), enabled = useAdaptIsActiveGiven(props);
96
112
  (0, import_constants.useIsomorphicLayoutEffect)(function() {
97
113
  var _context_setWhen, _context_setPlatform;
98
114
  context == null || (_context_setWhen = context.setWhen) === null || _context_setWhen === void 0 || _context_setWhen.call(context, when || enabled), context == null || (_context_setPlatform = context.setPlatform) === null || _context_setPlatform === void 0 || _context_setPlatform.call(context, platform || null);
@@ -119,10 +135,7 @@ var Adapt = (0, import_helpers.withStaticProperties)(function(props) {
119
135
  }, [
120
136
  output
121
137
  ]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_z_index_stack.StackZIndexContext, {
122
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CurrentAdaptContextScope.Provider, {
123
- value: scopeName,
124
- children: enabled ? output : null
125
- })
138
+ children: enabled ? output : null
126
139
  });
127
140
  }, {
128
141
  Contents: AdaptContents
@@ -137,6 +150,8 @@ var Adapt = (0, import_helpers.withStaticProperties)(function(props) {
137
150
  var { when, platform } = param, media = (0, import_core.useMedia)();
138
151
  if (when == null && platform == null)
139
152
  return !1;
153
+ if (when === !0)
154
+ return !0;
140
155
  var enabled = !1;
141
156
  return platform === "touch" ? enabled = import_constants.isTouchable : platform === "native" ? enabled = !import_constants.isWeb : platform === "web" ? enabled = import_constants.isWeb : platform === "ios" ? enabled = import_constants.isIos : platform === "android" && (enabled = import_constants.isAndroid), platform && enabled == !1 ? !1 : (when && typeof when == "string" && (enabled = media[when]), enabled);
142
157
  }, useAdaptIsActive = function(scope) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Adapt.tsx"],
4
- "mappings": "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",
5
- "names": ["CurrentAdaptContextScope", "createContext", "AdaptContext", "createStyledContext", "Contents", "scopeName", "portalName", "platform", "setPlatform", "x", "when", "setChildren", "setWhen", "ProvideAdaptContext", "children", "context", "scope", "_jsx", "Provider", "value", "useAdaptContext", "contextScope", "useContext", "useStyledContext", "AdaptPortals", "Map", "AdaptParent", "portal", "id", "useId", "FinalContents", "get", "PortalHost", "name", "forwardProps", "undefined", "set", "useEffect", "delete", "React", "useState", "children2", "AdaptContents", "rest", "Error", "process", "env", "NODE_ENV", "createElement", "key", "shouldForwardSpace", "Adapt", "withStaticProperties", "props", "enabled", "useAdaptIsActiveGiven", "useIsomorphicLayoutEffect", "output", "Component", "StackZIndexContext", "AdaptPortalContents", "isActive", "useAdaptIsActive", "PortalItem", "passThrough", "hostName", "media", "useMedia", "isTouchable", "isWeb", "isIos", "isAndroid"]
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uDAAA,mBAMO,+BAEP,cAA8C,0BAC9C,iBAAqC,6BACrC,gBAAuC,4BACvC,uBAAmC,mCACnC,eAAiE,2BAgCpDA,mBAAeC,iCAAyC;EACnEC,UAAU;EACVC,WAAW;EACXC,YAAY;EACZC,UAAU;EACVC,aAAa,SAACC,GAAAA;EAAsB;EACpCC,MAAM;EACNC,aAAa;EACbC,SAAS,WAAA;EAAO;AAClB,CAAA,GAEMC,wBAAwBC,gDAAc,EAAA,GAE/BC,sBAAsB,SAAA,OAAA;MAAC,EAClCC,UACA,GAAGC,QAAAA,IACqC,OAClCC,QAAQD,QAAQZ,aAAa,IAC7Bc,gBAAYC,yBAAWP,qBAAAA;AAE7B,SACE,uCAAAQ,KAACR,sBAAsBS,UAAQ;IAACC,OAAOJ,aAAaF,QAAQE,aAAa;cACvE,uCAAAE,KAACnB,aAAaoB,UAAQ;MACpBJ;MACAC,WAAWA,aAAaF,QAAQE;MAC/B,GAAGF;;;;AAMZ,GAEaO,kBAAkB,SAACN,OAAAA;AAC9B,MAAMC,gBAAYC,yBAAWP,qBAAAA,GACvBY,aAAaP,SAASC;AAC5B,SAAOjB,aAAawB,iBAAiBD,UAAAA;AACvC,GAiBME,eAAe,oBAAIC,IAAAA,GAEZC,cAAc,SAAA,OAAA;MAAC,EAAEb,UAAUZ,UAAUc,OAAOY,OAAM,IAAoB,OAC3EC,SAAKC,oBAAAA,GACL1B,aAAa,cAAcY,KAAAA,GAAQa,EAAAA,IAEnCE,oBAAgBC,sBAAQ,WAAA;AAC5B,QAAI9B;AACF,aAAOA;AAET,QAAIuB,aAAaQ,IAAI7B,UAAAA;AACnB,aAAOqB,aAAaS,IAAI9B,UAAAA;AAE1B,QAAM+B,UAAU,WAAA;AACd,aACE,uCAAAhB,KAACiB,0BAAAA;QAECC,MAAMjC;QACNkC,cAAc,OAAOV,UAAW,aAAwBA,UAAAA,OAAZW,SAAYX,OAAQU;SAF3DT,EAAAA;IAKX;AACAJ,wBAAae,IAAIpC,YAAY+B,OAAAA,GACtBA;EACT,GAAG;IAAC/B;IAAYF;GAAS;AAEzBuC,kDAA0B,WAAA;AACxBhB,wBAAae,IAAIpC,YAAY2B,aAAAA,GACtB,WAAA;AACLN,mBAAaiB,OAAOtC,UAAAA;IACtB;EACF,GAAG;IAACA;GAAW;AAEf,MAAM,CAACI,MAAME,OAAAA,IAAWiC,aAAAA,QAAMC,SAAoB,IAAA,GAC5C,CAACvC,UAAUC,WAAAA,IAAeqC,aAAAA,QAAMC,SAAwB,IAAA,GAGxD,CAACC,WAAWpC,WAAAA,IAAekC,aAAAA,QAAMC,SAAS,IAAA;AAEhD,SACE,uCAAAzB,KAACR,uBAAAA;IAAsBU,OAAOL;cAC5B,uCAAAG,KAACN,qBAAAA;MACCX,UAAU6B;MACVvB;MACAH;MACAC;MACAI;MACAD;MACAL;MACAD,WAAWa;;;;AAMnB,GAMa8B,gBAAgB,SAAA,OAAA;MAAC,EAAE9B,OAAO,GAAG+B,KAAAA,IAA0B,OAC5DhC,UAAUO,gBAAgBN,KAAAA;AAEhC,MAAI,EAACD,WAAAA,QAAAA,QAASb;AACZ,UAAM,IAAI8C,MACRC,QAAQC,IAAIC,aAAa,eACrB,8CACA,0GAA0G;AAKlH,SAAOR,6BAAAA,QAAMS,cAAcrC,QAAQb,UAAU;IAAE,GAAG6C;IAAMM,KAAK;EAAS,CAAA;AACxE;AAEAP,cAAcQ,qBAAqB;AAE5B,IAAMC,YAAQC,qCACnB,SAAeC,OAAiB;AAC9B,MAAM,EAAEpD,UAAUG,MAAMM,UAAUE,MAAK,IAAKyC,OACtC1C,UAAUO,gBAAgBN,KAAAA,GAC1B0C,UAAUC,sBAAsBF,KAAAA;AAEtChB,kDAA0B,WAAA;QACxB1B,kBACAA;AADAA,eAAAA,SAAAA,mBAAAA,QAASL,aAAO,QAAhBK,qBAAAA,UAAAA,iBAAAA,KAAAA,SAAoBP,QAAQkD,OAAAA,GAC5B3C,WAAAA,SAAAA,uBAAAA,QAAST,iBAAW,QAApBS,yBAAAA,UAAAA,qBAAAA,KAAAA,SAAuBV,YAAY,IAAA;EACrC,GAAG;IAACG;IAAMH;IAAUqD;IAAS3C,QAAQL;IAASK,QAAQT;GAAY,OAElEmC,4CAA0B,WAAA;AACxB,WAAO,WAAA;UACL1B,kBACAA;AADAA,iBAAAA,SAAAA,mBAAAA,QAASL,aAAO,QAAhBK,qBAAAA,UAAAA,iBAAAA,KAAAA,SAAmB,IAAA,GACnBA,WAAAA,SAAAA,uBAAAA,QAAST,iBAAW,QAApBS,yBAAAA,UAAAA,qBAAAA,KAAAA,SAAuB,IAAA;IACzB;EACF,GAAG,CAAA,CAAE;AAEL,MAAI6C;AAEJ,MAAI,OAAO9C,YAAa,YAAY;AAClC,QAAM+C,YAAY9C,WAAAA,OAAAA,SAAAA,QAASb;AAC3B0D,aAAS9C,SAAS+C,YAAY,uCAAA1C,KAAC0C,WAAAA,CAAAA,CAAAA,IAAe,IAAA;EAChD;AACED,aAAS9C;AAKX2B,yDAA0B,WAAA;AACxB,IAAI,OAAO3B,YAAa,cAAc8C,WAAWrB,WAC/CxB,WAAAA,QAAAA,QAASN,YAAYmD,MAAAA;EAEzB,GAAG;IAACA;GAAO,GAEJ,uCAAAzC,KAAC2C,yCAAAA;cAAqBJ,UAAiBE,SAAP;;AACzC,GACA;EACE1D,UAAU4C;AACZ,CAAA,GAGWiB,sBAAsB,SAACN,OAAAA;AAKlC,MAAMO,WAAWC,iBAAiBR,MAAMzC,KAAK,GACvC,EAAEZ,WAAU,IAAKkB,gBAAgBmC,MAAMzC,KAAK;AAElD,SACE,uCAAAG,KAAC+C,0BAAAA;IAAWC,aAAa,CAACH;IAAUI,UAAUhE;cAC3CqD,MAAM3C;;AAGb,GAEM6C,wBAAwB,SAAA,OAAA;MAAC,EAC7BnD,MACAH,SAAQ,IAC8B,OAChCgE,YAAQC,sBAAAA;AAEd,MAAI9D,QAAQ,QAAQH,YAAY;AAC9B,WAAO;AAGT,MAAIG,SAAS;AACX,WAAO;AAGT,MAAIkD,UAAU;AAQd,SANIrD,aAAa,UAASqD,UAAUa,+BAC3BlE,aAAa,WAAUqD,UAAU,CAACc,yBAClCnE,aAAa,QAAOqD,UAAUc,yBAC9BnE,aAAa,QAAOqD,UAAUe,yBAC9BpE,aAAa,cAAWqD,UAAUgB,6BAEvCrE,YAAYqD,WAAW,KAClB,MAGLlD,QAAQ,OAAOA,QAAS,aAC1BkD,UAAUW,MAAM7D,IAAAA,IAGXkD;AACT,GAEaO,mBAAmB,SAACjD,OAAAA;AAC/B,MAAMyC,QAAQnC,gBAAgBN,KAAAA;AAC9B,SAAO2C,sBAAsBF,KAAAA;AAC/B;",
5
+ "names": ["AdaptContext", "createStyledContext", "Contents", "scopeName", "portalName", "platform", "setPlatform", "x", "when", "setChildren", "setWhen", "LastAdaptContextScope", "createContext", "ProvideAdaptContext", "children", "context", "scope", "lastScope", "useContext", "_jsx", "Provider", "value", "useAdaptContext", "adaptScope", "useStyledContext", "AdaptPortals", "Map", "AdaptParent", "portal", "id", "useId", "FinalContents", "useMemo", "has", "get", "element", "PortalHost", "name", "forwardProps", "undefined", "set", "useIsomorphicLayoutEffect", "delete", "React", "useState", "children2", "AdaptContents", "rest", "Error", "process", "env", "NODE_ENV", "createElement", "key", "shouldForwardSpace", "Adapt", "withStaticProperties", "props", "enabled", "useAdaptIsActiveGiven", "output", "Component", "StackZIndexContext", "AdaptPortalContents", "isActive", "useAdaptIsActive", "PortalItem", "passThrough", "hostName", "media", "useMedia", "isTouchable", "isWeb", "isIos", "isAndroid"]
6
6
  }
@@ -15,4 +15,4 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
15
15
  }), mod);
16
16
  var index_exports = {};
17
17
  module.exports = __toCommonJS(index_exports);
18
- __reExport(index_exports, require("./Adapt"), module.exports);
18
+ __reExport(index_exports, require("./Adapt.cjs"), module.exports);
package/dist/esm/Adapt.js CHANGED
@@ -1,4 +1,3 @@
1
- import { StackZIndexContext } from "@tamagui/z-index-stack";
2
1
  import {
3
2
  isAndroid,
4
3
  isIos,
@@ -9,9 +8,10 @@ import {
9
8
  import { createStyledContext, useMedia } from "@tamagui/core";
10
9
  import { withStaticProperties } from "@tamagui/helpers";
11
10
  import { PortalHost, PortalItem } from "@tamagui/portal";
12
- import React, { createContext, useContext, useEffect, useId } from "react";
11
+ import { StackZIndexContext } from "@tamagui/z-index-stack";
12
+ import React, { createContext, useContext, useId, useMemo } from "react";
13
13
  import { jsx } from "react/jsx-runtime";
14
- const CurrentAdaptContextScope = createContext(""), AdaptContext = createStyledContext({
14
+ const AdaptContext = createStyledContext({
15
15
  Contents: null,
16
16
  scopeName: "",
17
17
  portalName: "",
@@ -22,31 +22,44 @@ const CurrentAdaptContextScope = createContext(""), AdaptContext = createStyledC
22
22
  setChildren: null,
23
23
  setWhen: () => {
24
24
  }
25
- }), ProvideAdaptContext = ({
25
+ }), LastAdaptContextScope = createContext(""), ProvideAdaptContext = ({
26
26
  children,
27
27
  ...context
28
28
  }) => {
29
- const scope = context.scopeName || "";
30
- return /* @__PURE__ */ jsx(CurrentAdaptContextScope.Provider, { value: scope, children: /* @__PURE__ */ jsx(AdaptContext.Provider, { scope, ...context, children }) });
31
- }, useAdaptContext = (scope = "") => {
32
- const contextScope = useContext(CurrentAdaptContextScope);
33
- return AdaptContext.useStyledContext(
34
- scope === "" && contextScope || scope
35
- );
36
- }, AdaptPortals = /* @__PURE__ */ new Map(), AdaptParent = ({ children, Contents, scope, portal }) => {
37
- const portalName = `AdaptPortal${scope}`, id = useId();
38
- let FinalContents = Contents || AdaptPortals.get(id);
39
- FinalContents || (FinalContents = () => /* @__PURE__ */ jsx(
40
- PortalHost,
29
+ const scope = context.scopeName || "", lastScope = useContext(LastAdaptContextScope);
30
+ return /* @__PURE__ */ jsx(LastAdaptContextScope.Provider, { value: lastScope || context.lastScope || "", children: /* @__PURE__ */ jsx(
31
+ AdaptContext.Provider,
41
32
  {
42
- name: portalName,
43
- forwardProps: typeof portal == "boolean" ? void 0 : portal?.forwardProps
33
+ scope,
34
+ lastScope: lastScope || context.lastScope,
35
+ ...context,
36
+ children
44
37
  }
45
- ), AdaptPortals.set(id, FinalContents)), useEffect(() => () => {
46
- AdaptPortals.delete(id);
47
- }, []);
38
+ ) });
39
+ }, useAdaptContext = (scope) => {
40
+ const lastScope = useContext(LastAdaptContextScope), adaptScope = scope ?? lastScope;
41
+ return AdaptContext.useStyledContext(adaptScope);
42
+ }, AdaptPortals = /* @__PURE__ */ new Map(), AdaptParent = ({ children, Contents, scope, portal }) => {
43
+ const id = useId(), portalName = `AdaptPortal${scope}${id}`, FinalContents = useMemo(() => {
44
+ if (Contents)
45
+ return Contents;
46
+ if (AdaptPortals.has(portalName))
47
+ return AdaptPortals.get(portalName);
48
+ const element = () => /* @__PURE__ */ jsx(
49
+ PortalHost,
50
+ {
51
+ name: portalName,
52
+ forwardProps: typeof portal == "boolean" ? void 0 : portal?.forwardProps
53
+ },
54
+ id
55
+ );
56
+ return AdaptPortals.set(portalName, element), element;
57
+ }, [portalName, Contents]);
58
+ useIsomorphicLayoutEffect(() => (AdaptPortals.set(portalName, FinalContents), () => {
59
+ AdaptPortals.delete(portalName);
60
+ }), [portalName]);
48
61
  const [when, setWhen] = React.useState(null), [platform, setPlatform] = React.useState(null), [children2, setChildren] = React.useState(null);
49
- return /* @__PURE__ */ jsx(
62
+ return /* @__PURE__ */ jsx(LastAdaptContextScope, { value: scope, children: /* @__PURE__ */ jsx(
50
63
  ProvideAdaptContext,
51
64
  {
52
65
  Contents: FinalContents,
@@ -59,7 +72,7 @@ const CurrentAdaptContextScope = createContext(""), AdaptContext = createStyledC
59
72
  scopeName: scope,
60
73
  children
61
74
  }
62
- );
75
+ ) });
63
76
  }, AdaptContents = ({ scope, ...rest }) => {
64
77
  const context = useAdaptContext(scope);
65
78
  if (!context?.Contents)
@@ -71,7 +84,7 @@ const CurrentAdaptContextScope = createContext(""), AdaptContext = createStyledC
71
84
  AdaptContents.shouldForwardSpace = !0;
72
85
  const Adapt = withStaticProperties(
73
86
  function(props) {
74
- const { platform, when, children, scope } = props, context = useAdaptContext(scope), scopeName = scope ?? context.scopeName, enabled = useAdaptIsActiveGiven(props);
87
+ const { platform, when, children, scope } = props, context = useAdaptContext(scope), enabled = useAdaptIsActiveGiven(props);
75
88
  useIsomorphicLayoutEffect(() => {
76
89
  context?.setWhen?.(when || enabled), context?.setPlatform?.(platform || null);
77
90
  }, [when, platform, enabled, context.setWhen, context.setPlatform]), useIsomorphicLayoutEffect(() => () => {
@@ -85,7 +98,7 @@ const Adapt = withStaticProperties(
85
98
  output = children;
86
99
  return useIsomorphicLayoutEffect(() => {
87
100
  typeof children == "function" && output !== void 0 && context?.setChildren(output);
88
- }, [output]), /* @__PURE__ */ jsx(StackZIndexContext, { children: /* @__PURE__ */ jsx(CurrentAdaptContextScope.Provider, { value: scopeName, children: enabled ? output : null }) });
101
+ }, [output]), /* @__PURE__ */ jsx(StackZIndexContext, { children: enabled ? output : null });
89
102
  },
90
103
  {
91
104
  Contents: AdaptContents
@@ -100,6 +113,8 @@ const Adapt = withStaticProperties(
100
113
  const media = useMedia();
101
114
  if (when == null && platform == null)
102
115
  return !1;
116
+ if (when === !0)
117
+ return !0;
103
118
  let enabled = !1;
104
119
  return platform === "touch" ? enabled = isTouchable : platform === "native" ? enabled = !isWeb : platform === "web" ? enabled = isWeb : platform === "ios" ? enabled = isIos : platform === "android" && (enabled = isAndroid), platform && enabled == !1 ? !1 : (when && typeof when == "string" && (enabled = media[when]), enabled);
105
120
  }, useAdaptIsActive = (scope) => {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Adapt.tsx"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1,12 +1,11 @@
1
- import { StackZIndexContext } from "@tamagui/z-index-stack";
2
1
  import { isAndroid, isIos, isTouchable, isWeb, useIsomorphicLayoutEffect } from "@tamagui/constants";
3
2
  import { createStyledContext, useMedia } from "@tamagui/core";
4
3
  import { withStaticProperties } from "@tamagui/helpers";
5
4
  import { PortalHost, PortalItem } from "@tamagui/portal";
6
- import React, { createContext, useContext, useEffect, useId } from "react";
5
+ import { StackZIndexContext } from "@tamagui/z-index-stack";
6
+ import React, { createContext, useContext, useId, useMemo } from "react";
7
7
  import { jsx } from "react/jsx-runtime";
8
- const CurrentAdaptContextScope = createContext(""),
9
- AdaptContext = createStyledContext({
8
+ const AdaptContext = createStyledContext({
10
9
  Contents: null,
11
10
  scopeName: "",
12
11
  portalName: "",
@@ -16,23 +15,27 @@ const CurrentAdaptContextScope = createContext(""),
16
15
  setChildren: null,
17
16
  setWhen: () => {}
18
17
  }),
18
+ LastAdaptContextScope = createContext(""),
19
19
  ProvideAdaptContext = ({
20
20
  children,
21
21
  ...context
22
22
  }) => {
23
- const scope = context.scopeName || "";
24
- return /* @__PURE__ */jsx(CurrentAdaptContextScope.Provider, {
25
- value: scope,
23
+ const scope = context.scopeName || "",
24
+ lastScope = useContext(LastAdaptContextScope);
25
+ return /* @__PURE__ */jsx(LastAdaptContextScope.Provider, {
26
+ value: lastScope || context.lastScope || "",
26
27
  children: /* @__PURE__ */jsx(AdaptContext.Provider, {
27
28
  scope,
29
+ lastScope: lastScope || context.lastScope,
28
30
  ...context,
29
31
  children
30
32
  })
31
33
  });
32
34
  },
33
- useAdaptContext = (scope = "") => {
34
- const contextScope = useContext(CurrentAdaptContextScope);
35
- return AdaptContext.useStyledContext(scope === "" && contextScope || scope);
35
+ useAdaptContext = scope => {
36
+ const lastScope = useContext(LastAdaptContextScope),
37
+ adaptScope = scope ?? lastScope;
38
+ return AdaptContext.useStyledContext(adaptScope);
36
39
  },
37
40
  AdaptPortals = /* @__PURE__ */new Map(),
38
41
  AdaptParent = ({
@@ -41,28 +44,36 @@ const CurrentAdaptContextScope = createContext(""),
41
44
  scope,
42
45
  portal
43
46
  }) => {
44
- const portalName = `AdaptPortal${scope}`,
45
- id = useId();
46
- let FinalContents = Contents || AdaptPortals.get(id);
47
- FinalContents || (FinalContents = () => /* @__PURE__ */jsx(PortalHost, {
48
- name: portalName,
49
- forwardProps: typeof portal == "boolean" ? void 0 : portal?.forwardProps
50
- }), AdaptPortals.set(id, FinalContents)), useEffect(() => () => {
51
- AdaptPortals.delete(id);
52
- }, []);
47
+ const id = useId(),
48
+ portalName = `AdaptPortal${scope}${id}`,
49
+ FinalContents = useMemo(() => {
50
+ if (Contents) return Contents;
51
+ if (AdaptPortals.has(portalName)) return AdaptPortals.get(portalName);
52
+ const element = () => /* @__PURE__ */jsx(PortalHost, {
53
+ name: portalName,
54
+ forwardProps: typeof portal == "boolean" ? void 0 : portal?.forwardProps
55
+ }, id);
56
+ return AdaptPortals.set(portalName, element), element;
57
+ }, [portalName, Contents]);
58
+ useIsomorphicLayoutEffect(() => (AdaptPortals.set(portalName, FinalContents), () => {
59
+ AdaptPortals.delete(portalName);
60
+ }), [portalName]);
53
61
  const [when, setWhen] = React.useState(null),
54
62
  [platform, setPlatform] = React.useState(null),
55
63
  [children2, setChildren] = React.useState(null);
56
- return /* @__PURE__ */jsx(ProvideAdaptContext, {
57
- Contents: FinalContents,
58
- when,
59
- platform,
60
- setPlatform,
61
- setWhen,
62
- setChildren,
63
- portalName,
64
- scopeName: scope,
65
- children
64
+ return /* @__PURE__ */jsx(LastAdaptContextScope, {
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
76
+ })
66
77
  });
67
78
  },
68
79
  AdaptContents = ({
@@ -85,7 +96,6 @@ const Adapt = withStaticProperties(function (props) {
85
96
  scope
86
97
  } = props,
87
98
  context = useAdaptContext(scope),
88
- scopeName = scope ?? context.scopeName,
89
99
  enabled = useAdaptIsActiveGiven(props);
90
100
  useIsomorphicLayoutEffect(() => {
91
101
  context?.setWhen?.(when || enabled), context?.setPlatform?.(platform || null);
@@ -100,10 +110,7 @@ const Adapt = withStaticProperties(function (props) {
100
110
  return useIsomorphicLayoutEffect(() => {
101
111
  typeof children == "function" && output !== void 0 && context?.setChildren(output);
102
112
  }, [output]), /* @__PURE__ */jsx(StackZIndexContext, {
103
- children: /* @__PURE__ */jsx(CurrentAdaptContextScope.Provider, {
104
- value: scopeName,
105
- children: enabled ? output : null
106
- })
113
+ children: enabled ? output : null
107
114
  });
108
115
  }, {
109
116
  Contents: AdaptContents
@@ -125,6 +132,7 @@ const Adapt = withStaticProperties(function (props) {
125
132
  }) => {
126
133
  const media = useMedia();
127
134
  if (when == null && platform == null) return !1;
135
+ if (when === !0) return !0;
128
136
  let enabled = !1;
129
137
  return platform === "touch" ? enabled = isTouchable : platform === "native" ? enabled = !isWeb : platform === "web" ? enabled = isWeb : platform === "ios" ? enabled = isIos : platform === "android" && (enabled = isAndroid), platform && enabled == !1 ? !1 : (when && typeof when == "string" && (enabled = media[when]), enabled);
130
138
  },
@@ -1 +1 @@
1
- {"version":3,"names":["StackZIndexContext","isAndroid","isIos","isTouchable","isWeb","useIsomorphicLayoutEffect","createStyledContext","useMedia","withStaticProperties","PortalHost","PortalItem","React","createContext","useContext","useEffect","useId","jsx","CurrentAdaptContextScope","AdaptContext","Contents","scopeName","portalName","platform","setPlatform","x","when","setChildren","setWhen","ProvideAdaptContext","children","context","scope","Provider","value","useAdaptContext","contextScope","useStyledContext","AdaptPortals","Map","AdaptParent","portal","id","FinalContents","get","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","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,12 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { StackZIndexContext } from "@tamagui/z-index-stack";
3
2
  import { isAndroid, isIos, isTouchable, isWeb, useIsomorphicLayoutEffect } from "@tamagui/constants";
4
3
  import { createStyledContext, useMedia } from "@tamagui/core";
5
4
  import { withStaticProperties } from "@tamagui/helpers";
6
5
  import { PortalHost, PortalItem } from "@tamagui/portal";
7
- import React, { createContext, useContext, useEffect, useId } from "react";
8
- var CurrentAdaptContextScope = /* @__PURE__ */createContext(""),
9
- AdaptContext = createStyledContext({
6
+ import { StackZIndexContext } from "@tamagui/z-index-stack";
7
+ import React, { createContext, useContext, useId, useMemo } from "react";
8
+ var AdaptContext = createStyledContext({
10
9
  Contents: null,
11
10
  scopeName: "",
12
11
  portalName: "",
@@ -16,26 +15,28 @@ var CurrentAdaptContextScope = /* @__PURE__ */createContext(""),
16
15
  setChildren: null,
17
16
  setWhen: function () {}
18
17
  }),
18
+ LastAdaptContextScope = /* @__PURE__ */createContext(""),
19
19
  ProvideAdaptContext = function (param) {
20
20
  var {
21
21
  children,
22
22
  ...context
23
23
  } = param,
24
- scope = context.scopeName || "";
25
- return /* @__PURE__ */_jsx(CurrentAdaptContextScope.Provider, {
26
- value: scope,
24
+ scope = context.scopeName || "",
25
+ lastScope = useContext(LastAdaptContextScope);
26
+ return /* @__PURE__ */_jsx(LastAdaptContextScope.Provider, {
27
+ value: lastScope || context.lastScope || "",
27
28
  children: /* @__PURE__ */_jsx(AdaptContext.Provider, {
28
29
  scope,
30
+ lastScope: lastScope || context.lastScope,
29
31
  ...context,
30
32
  children
31
33
  })
32
34
  });
33
35
  },
34
- useAdaptContext = function () {
35
- var scope = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "",
36
- contextScope = useContext(CurrentAdaptContextScope),
37
- context = AdaptContext.useStyledContext(scope === "" && contextScope || scope);
38
- return context;
36
+ useAdaptContext = function (scope) {
37
+ var lastScope = useContext(LastAdaptContextScope),
38
+ adaptScope = scope ?? lastScope;
39
+ return AdaptContext.useStyledContext(adaptScope);
39
40
  },
40
41
  AdaptPortals = /* @__PURE__ */new Map(),
41
42
  AdaptParent = function (param) {
@@ -45,32 +46,40 @@ var CurrentAdaptContextScope = /* @__PURE__ */createContext(""),
45
46
  scope,
46
47
  portal
47
48
  } = param,
48
- portalName = `AdaptPortal${scope}`,
49
49
  id = useId(),
50
- FinalContents = Contents || AdaptPortals.get(id);
51
- FinalContents || (FinalContents = function () {
52
- return /* @__PURE__ */_jsx(PortalHost, {
53
- name: portalName,
54
- forwardProps: typeof portal == "boolean" ? void 0 : portal?.forwardProps
55
- });
56
- }, AdaptPortals.set(id, FinalContents)), useEffect(function () {
57
- return function () {
58
- AdaptPortals.delete(id);
50
+ portalName = `AdaptPortal${scope}${id}`,
51
+ FinalContents = useMemo(function () {
52
+ if (Contents) return Contents;
53
+ if (AdaptPortals.has(portalName)) return AdaptPortals.get(portalName);
54
+ var element = function () {
55
+ return /* @__PURE__ */_jsx(PortalHost, {
56
+ name: portalName,
57
+ forwardProps: typeof portal == "boolean" ? void 0 : portal?.forwardProps
58
+ }, id);
59
+ };
60
+ return AdaptPortals.set(portalName, element), element;
61
+ }, [portalName, Contents]);
62
+ useIsomorphicLayoutEffect(function () {
63
+ return AdaptPortals.set(portalName, FinalContents), function () {
64
+ AdaptPortals.delete(portalName);
59
65
  };
60
- }, []);
66
+ }, [portalName]);
61
67
  var [when, setWhen] = React.useState(null),
62
68
  [platform, setPlatform] = React.useState(null),
63
69
  [children2, setChildren] = React.useState(null);
64
- return /* @__PURE__ */_jsx(ProvideAdaptContext, {
65
- Contents: FinalContents,
66
- when,
67
- platform,
68
- setPlatform,
69
- setWhen,
70
- setChildren,
71
- portalName,
72
- scopeName: scope,
73
- children
70
+ return /* @__PURE__ */_jsx(LastAdaptContextScope, {
71
+ value: scope,
72
+ children: /* @__PURE__ */_jsx(ProvideAdaptContext, {
73
+ Contents: FinalContents,
74
+ when,
75
+ platform,
76
+ setPlatform,
77
+ setWhen,
78
+ setChildren,
79
+ portalName,
80
+ scopeName: scope,
81
+ children
82
+ })
74
83
  });
75
84
  },
76
85
  AdaptContents = function (param) {
@@ -94,7 +103,6 @@ var Adapt = withStaticProperties(function (props) {
94
103
  scope
95
104
  } = props,
96
105
  context = useAdaptContext(scope),
97
- scopeName = scope ?? context.scopeName,
98
106
  enabled = useAdaptIsActiveGiven(props);
99
107
  useIsomorphicLayoutEffect(function () {
100
108
  var _context_setWhen, _context_setPlatform;
@@ -113,10 +121,7 @@ var Adapt = withStaticProperties(function (props) {
113
121
  return useIsomorphicLayoutEffect(function () {
114
122
  typeof children == "function" && output !== void 0 && context?.setChildren(output);
115
123
  }, [output]), /* @__PURE__ */_jsx(StackZIndexContext, {
116
- children: /* @__PURE__ */_jsx(CurrentAdaptContextScope.Provider, {
117
- value: scopeName,
118
- children: enabled ? output : null
119
- })
124
+ children: enabled ? output : null
120
125
  });
121
126
  }, {
122
127
  Contents: AdaptContents
@@ -139,6 +144,7 @@ var Adapt = withStaticProperties(function (props) {
139
144
  } = param,
140
145
  media = useMedia();
141
146
  if (when == null && platform == null) return !1;
147
+ if (when === !0) return !0;
142
148
  var enabled = !1;
143
149
  return platform === "touch" ? enabled = isTouchable : platform === "native" ? enabled = !isWeb : platform === "web" ? enabled = isWeb : platform === "ios" ? enabled = isIos : platform === "android" && (enabled = isAndroid), platform && enabled == !1 ? !1 : (when && typeof when == "string" && (enabled = media[when]), enabled);
144
150
  },
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","StackZIndexContext","isAndroid","isIos","isTouchable","isWeb","useIsomorphicLayoutEffect","createStyledContext","useMedia","withStaticProperties","PortalHost","PortalItem","React","createContext","useContext","useEffect","useId","CurrentAdaptContextScope","AdaptContext","Contents","scopeName","portalName","platform","setPlatform","x","when","setChildren","setWhen","ProvideAdaptContext","param","children","context","scope","Provider","value","useAdaptContext","arguments","length","contextScope","useStyledContext","AdaptPortals","Map","AdaptParent","portal","id","FinalContents","get","name","forwardProps","set","delete","useState","children2","AdaptContents","rest","Error","process","env","NODE_ENV","createElement","key","shouldForwardSpace","Adapt","props","enabled","useAdaptIsActiveGiven","_context_setWhen","_context_setPlatform","call","output","Component","AdaptPortalContents","isActive","useAdaptIsActive","passThrough","hostName"],"sources":["../../src/Adapt.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["jsx","_jsx","isAndroid","isIos","isTouchable","isWeb","useIsomorphicLayoutEffect","createStyledContext","useMedia","withStaticProperties","PortalHost","PortalItem","StackZIndexContext","React","createContext","useContext","useId","useMemo","AdaptContext","Contents","scopeName","portalName","platform","setPlatform","x","when","setChildren","setWhen","LastAdaptContextScope","ProvideAdaptContext","param","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","_context_setWhen","_context_setPlatform","call","output","Component","AdaptPortalContents","isActive","useAdaptIsActive","passThrough","hostName","media"],"sources":["../../src/Adapt.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/adapt",
3
- "version": "1.130.8",
3
+ "version": "1.131.1",
4
4
  "types": "./types/index.d.ts",
5
5
  "main": "dist/cjs",
6
6
  "module": "dist/esm",
@@ -31,14 +31,14 @@
31
31
  }
32
32
  },
33
33
  "dependencies": {
34
- "@tamagui/constants": "1.130.8",
35
- "@tamagui/core": "1.130.8",
36
- "@tamagui/helpers": "1.130.8",
37
- "@tamagui/portal": "1.130.8",
38
- "@tamagui/z-index-stack": "1.130.8"
34
+ "@tamagui/constants": "1.131.1",
35
+ "@tamagui/core": "1.131.1",
36
+ "@tamagui/helpers": "1.131.1",
37
+ "@tamagui/portal": "1.131.1",
38
+ "@tamagui/z-index-stack": "1.131.1"
39
39
  },
40
40
  "devDependencies": {
41
- "@tamagui/build": "1.130.8",
41
+ "@tamagui/build": "1.131.1",
42
42
  "react": "*"
43
43
  },
44
44
  "publishConfig": {
package/src/Adapt.tsx CHANGED
@@ -1,4 +1,3 @@
1
- import { StackZIndexContext } from '@tamagui/z-index-stack'
2
1
  import {
3
2
  isAndroid,
4
3
  isIos,
@@ -10,7 +9,8 @@ import type { AllPlatforms, MediaQueryKey } from '@tamagui/core'
10
9
  import { createStyledContext, useMedia } from '@tamagui/core'
11
10
  import { withStaticProperties } from '@tamagui/helpers'
12
11
  import { PortalHost, PortalItem } from '@tamagui/portal'
13
- import React, { createContext, useContext, useEffect, useId } from 'react'
12
+ import { StackZIndexContext } from '@tamagui/z-index-stack'
13
+ import React, { createContext, useContext, useId, useMemo } from 'react'
14
14
 
15
15
  /**
16
16
  * Interfaces
@@ -28,6 +28,7 @@ export type AdaptParentContextI = {
28
28
  setWhen: (when: AdaptWhen) => any
29
29
  setChildren: (children: any) => any
30
30
  portalName?: string
31
+ lastScope?: string
31
32
  }
32
33
 
33
34
  type MediaQueryKeyString = MediaQueryKey extends string ? MediaQueryKey : never
@@ -41,12 +42,6 @@ export type AdaptProps = {
41
42
 
42
43
  type Component = (props: any) => any
43
44
 
44
- /**
45
- * Contexts
46
- */
47
-
48
- const CurrentAdaptContextScope = createContext('')
49
-
50
45
  export const AdaptContext = createStyledContext<AdaptParentContextI>({
51
46
  Contents: null as any,
52
47
  scopeName: '',
@@ -58,27 +53,32 @@ export const AdaptContext = createStyledContext<AdaptParentContextI>({
58
53
  setWhen: () => {},
59
54
  })
60
55
 
56
+ const LastAdaptContextScope = createContext('')
57
+
61
58
  export const ProvideAdaptContext = ({
62
59
  children,
63
60
  ...context
64
61
  }: AdaptParentContextI & { children: any }) => {
65
62
  const scope = context.scopeName || ''
63
+ const lastScope = useContext(LastAdaptContextScope)
66
64
 
67
65
  return (
68
- <CurrentAdaptContextScope.Provider value={scope}>
69
- <AdaptContext.Provider scope={scope} {...context}>
66
+ <LastAdaptContextScope.Provider value={lastScope || context.lastScope || ''}>
67
+ <AdaptContext.Provider
68
+ scope={scope}
69
+ lastScope={lastScope || context.lastScope}
70
+ {...context}
71
+ >
70
72
  {children}
71
73
  </AdaptContext.Provider>
72
- </CurrentAdaptContextScope.Provider>
74
+ </LastAdaptContextScope.Provider>
73
75
  )
74
76
  }
75
77
 
76
- export const useAdaptContext = (scope = '') => {
77
- const contextScope = useContext(CurrentAdaptContextScope)
78
- const context = AdaptContext.useStyledContext(
79
- scope === '' ? contextScope || scope : scope
80
- )
81
- return context
78
+ export const useAdaptContext = (scope?: string) => {
79
+ const lastScope = useContext(LastAdaptContextScope)
80
+ const adaptScope = scope ?? lastScope
81
+ return AdaptContext.useStyledContext(adaptScope)
82
82
  }
83
83
 
84
84
  /**
@@ -87,8 +87,8 @@ export const useAdaptContext = (scope = '') => {
87
87
 
88
88
  type AdaptParentProps = {
89
89
  children?: React.ReactNode
90
- scope: string
91
90
  Contents?: AdaptParentContextI['Contents']
91
+ scope: string
92
92
  portal?:
93
93
  | boolean
94
94
  | {
@@ -99,28 +99,35 @@ type AdaptParentProps = {
99
99
  const AdaptPortals = new Map()
100
100
 
101
101
  export const AdaptParent = ({ children, Contents, scope, portal }: AdaptParentProps) => {
102
- const portalName = `AdaptPortal${scope}`
103
102
  const id = useId()
103
+ const portalName = `AdaptPortal${scope}${id}`
104
104
 
105
- let FinalContents = Contents || AdaptPortals.get(id)
106
-
107
- if (!FinalContents) {
108
- FinalContents = () => {
105
+ const FinalContents = useMemo(() => {
106
+ if (Contents) {
107
+ return Contents
108
+ }
109
+ if (AdaptPortals.has(portalName)) {
110
+ return AdaptPortals.get(portalName)
111
+ }
112
+ const element = () => {
109
113
  return (
110
114
  <PortalHost
115
+ key={id}
111
116
  name={portalName}
112
117
  forwardProps={typeof portal === 'boolean' ? undefined : portal?.forwardProps}
113
118
  />
114
119
  )
115
120
  }
116
- AdaptPortals.set(id, FinalContents)
117
- }
121
+ AdaptPortals.set(portalName, element)
122
+ return element
123
+ }, [portalName, Contents])
118
124
 
119
- useEffect(() => {
125
+ useIsomorphicLayoutEffect(() => {
126
+ AdaptPortals.set(portalName, FinalContents)
120
127
  return () => {
121
- AdaptPortals.delete(id)
128
+ AdaptPortals.delete(portalName)
122
129
  }
123
- }, [])
130
+ }, [portalName])
124
131
 
125
132
  const [when, setWhen] = React.useState<AdaptWhen>(null)
126
133
  const [platform, setPlatform] = React.useState<AdaptPlatform>(null)
@@ -129,18 +136,20 @@ export const AdaptParent = ({ children, Contents, scope, portal }: AdaptParentPr
129
136
  const [children2, setChildren] = React.useState(null)
130
137
 
131
138
  return (
132
- <ProvideAdaptContext
133
- Contents={FinalContents}
134
- when={when}
135
- platform={platform}
136
- setPlatform={setPlatform}
137
- setWhen={setWhen}
138
- setChildren={setChildren}
139
- portalName={portalName}
140
- scopeName={scope}
141
- >
142
- {children}
143
- </ProvideAdaptContext>
139
+ <LastAdaptContextScope value={scope}>
140
+ <ProvideAdaptContext
141
+ Contents={FinalContents}
142
+ when={when}
143
+ platform={platform}
144
+ setPlatform={setPlatform}
145
+ setWhen={setWhen}
146
+ setChildren={setChildren}
147
+ portalName={portalName}
148
+ scopeName={scope}
149
+ >
150
+ {children}
151
+ </ProvideAdaptContext>
152
+ </LastAdaptContextScope>
144
153
  )
145
154
  }
146
155
 
@@ -169,7 +178,6 @@ export const Adapt = withStaticProperties(
169
178
  function Adapt(props: AdaptProps) {
170
179
  const { platform, when, children, scope } = props
171
180
  const context = useAdaptContext(scope)
172
- const scopeName = scope ?? context.scopeName
173
181
  const enabled = useAdaptIsActiveGiven(props)
174
182
 
175
183
  useIsomorphicLayoutEffect(() => {
@@ -201,13 +209,7 @@ export const Adapt = withStaticProperties(
201
209
  }
202
210
  }, [output])
203
211
 
204
- return (
205
- <StackZIndexContext>
206
- <CurrentAdaptContextScope.Provider value={scopeName}>
207
- {!enabled ? null : output}
208
- </CurrentAdaptContextScope.Provider>
209
- </StackZIndexContext>
210
- )
212
+ return <StackZIndexContext>{!enabled ? null : output}</StackZIndexContext>
211
213
  },
212
214
  {
213
215
  Contents: AdaptContents,
@@ -239,6 +241,10 @@ const useAdaptIsActiveGiven = ({
239
241
  return false
240
242
  }
241
243
 
244
+ if (when === true) {
245
+ return true
246
+ }
247
+
242
248
  let enabled = false
243
249
 
244
250
  if (platform === 'touch') enabled = isTouchable
package/types/Adapt.d.ts CHANGED
@@ -14,6 +14,7 @@ export type AdaptParentContextI = {
14
14
  setWhen: (when: AdaptWhen) => any;
15
15
  setChildren: (children: any) => any;
16
16
  portalName?: string;
17
+ lastScope?: string;
17
18
  };
18
19
  type MediaQueryKeyString = MediaQueryKey extends string ? MediaQueryKey : never;
19
20
  export type AdaptProps = {
@@ -33,8 +34,8 @@ export declare const useAdaptContext: (scope?: string) => AdaptParentContextI;
33
34
  */
34
35
  type AdaptParentProps = {
35
36
  children?: React.ReactNode;
36
- scope: string;
37
37
  Contents?: AdaptParentContextI['Contents'];
38
+ scope: string;
38
39
  portal?: boolean | {
39
40
  forwardProps?: any;
40
41
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Adapt.d.ts","sourceRoot":"","sources":["../src/Adapt.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAIhE,OAAO,KAAsD,MAAM,OAAO,CAAA;AAE1E;;GAEG;AAEH,MAAM,MAAM,SAAS,GAAG,mBAAmB,GAAG,OAAO,GAAG,IAAI,CAAA;AAC5D,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,OAAO,GAAG,IAAI,CAAA;AAEzD,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,aAAa,CAAA;IACvB,WAAW,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,GAAG,CAAA;IACzC,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,GAAG,CAAA;IACjC,WAAW,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,GAAG,CAAA;IACnC,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,KAAK,mBAAmB,GAAG,aAAa,SAAS,MAAM,GAAG,aAAa,GAAG,KAAK,CAAA;AAE/E,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,QAAQ,CAAC,EAAE,aAAa,CAAA;IACxB,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC,CAAA;CAC/E,CAAA;AAED,KAAK,SAAS,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAA;AAQpC,eAAO,MAAM,YAAY,4DASvB,CAAA;AAEF,eAAO,MAAM,mBAAmB,GAAI,0BAGjC,mBAAmB,GAAG;IAAE,QAAQ,EAAE,GAAG,CAAA;CAAE,4CAUzC,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,cAAU,wBAMzC,CAAA;AAED;;GAEG;AAEH,KAAK,gBAAgB,GAAG;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAC1C,MAAM,CAAC,EACH,OAAO,GACP;QACE,YAAY,CAAC,EAAE,GAAG,CAAA;KACnB,CAAA;CACN,CAAA;AAID,eAAO,MAAM,WAAW,GAAI,uCAAuC,gBAAgB,4CA4ClF,CAAA;AAED;;GAEG;AAEH,eAAO,MAAM,aAAa;yBAAwB;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;;CAanE,CAAA;AAID,eAAO,MAAM,KAAK,WACM,UAAU;;6BAlBgB;YAAE,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE;;;CAgEnE,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,OAAO;IACzC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,4CASA,CAAA;AA+BD,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,YAG9C,CAAA"}
1
+ {"version":3,"file":"Adapt.d.ts","sourceRoot":"","sources":["../src/Adapt.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAKhE,OAAO,KAAoD,MAAM,OAAO,CAAA;AAExE;;GAEG;AAEH,MAAM,MAAM,SAAS,GAAG,mBAAmB,GAAG,OAAO,GAAG,IAAI,CAAA;AAC5D,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,OAAO,GAAG,IAAI,CAAA;AAEzD,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,aAAa,CAAA;IACvB,WAAW,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,GAAG,CAAA;IACzC,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,GAAG,CAAA;IACjC,WAAW,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,GAAG,CAAA;IACnC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,KAAK,mBAAmB,GAAG,aAAa,SAAS,MAAM,GAAG,aAAa,GAAG,KAAK,CAAA;AAE/E,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,QAAQ,CAAC,EAAE,aAAa,CAAA;IACxB,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,CAAC,CAAA;CAC/E,CAAA;AAED,KAAK,SAAS,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAA;AAEpC,eAAO,MAAM,YAAY,4DASvB,CAAA;AAIF,eAAO,MAAM,mBAAmB,GAAI,0BAGjC,mBAAmB,GAAG;IAAE,QAAQ,EAAE,GAAG,CAAA;CAAE,4CAezC,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,wBAI7C,CAAA;AAED;;GAEG;AAEH,KAAK,gBAAgB,GAAG;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAA;IAC1C,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EACH,OAAO,GACP;QACE,YAAY,CAAC,EAAE,GAAG,CAAA;KACnB,CAAA;CACN,CAAA;AAID,eAAO,MAAM,WAAW,GAAI,uCAAuC,gBAAgB,4CAqDlF,CAAA;AAED;;GAEG;AAEH,eAAO,MAAM,aAAa;yBAAwB;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;;CAanE,CAAA;AAID,eAAO,MAAM,KAAK,WACM,UAAU;;6BAlBgB;YAAE,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE;;;CAyDnE,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,OAAO;IACzC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB,4CASA,CAAA;AAmCD,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,YAG9C,CAAA"}