@tamagui/portal 1.129.18 → 1.130.0

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.
@@ -27,10 +27,10 @@ var import_react = require("react"),
27
27
  import_constants = require("./constants.cjs"),
28
28
  import_react_dom = require("react-dom");
29
29
  const GorhomPortalItem = props => {
30
- if (!props.hostName) throw new Error("No hostName");
31
- const cur = import_constants.allPortalHosts.get(props.hostName),
30
+ !props.hostName && !props.passThrough && console.warn("No hostName");
31
+ const cur = import_constants.allPortalHosts.get(props.hostName || ""),
32
32
  [node, setNode] = (0, import_react.useState)(cur);
33
- return cur && node !== cur && setNode(cur), (0, import_react.useEffect)(() => {
33
+ return !props.passThrough && cur && node !== cur && setNode(cur), (0, import_react.useEffect)(() => {
34
34
  if (!props.hostName || node) return;
35
35
  const listener = newNode => {
36
36
  setNode(newNode);
@@ -38,5 +38,5 @@ const GorhomPortalItem = props => {
38
38
  return import_constants.portalListeners[props.hostName] ||= /* @__PURE__ */new Set(), import_constants.portalListeners[props.hostName].add(listener), () => {
39
39
  import_constants.portalListeners[props.hostName]?.delete(listener);
40
40
  };
41
- }, [node]), node ? (0, import_react_dom.createPortal)(props.children, node) : null;
41
+ }, [node]), props.passThrough ? props.children : node ? (0, import_react_dom.createPortal)(props.children, node) : null;
42
42
  };
@@ -19,10 +19,9 @@ __export(GorhomPortalItem_exports, {
19
19
  module.exports = __toCommonJS(GorhomPortalItem_exports);
20
20
  var import_react = require("react"), import_constants = require("./constants"), import_react_dom = require("react-dom");
21
21
  const GorhomPortalItem = (props) => {
22
- if (!props.hostName)
23
- throw new Error("No hostName");
24
- const cur = import_constants.allPortalHosts.get(props.hostName), [node, setNode] = (0, import_react.useState)(cur);
25
- return cur && node !== cur && setNode(cur), (0, import_react.useEffect)(() => {
22
+ !props.hostName && !props.passThrough && console.warn("No hostName");
23
+ const cur = import_constants.allPortalHosts.get(props.hostName || ""), [node, setNode] = (0, import_react.useState)(cur);
24
+ return !props.passThrough && cur && node !== cur && setNode(cur), (0, import_react.useEffect)(() => {
26
25
  if (!props.hostName || node) return;
27
26
  const listener = (newNode) => {
28
27
  setNode(newNode);
@@ -30,6 +29,6 @@ const GorhomPortalItem = (props) => {
30
29
  return import_constants.portalListeners[props.hostName] ||= /* @__PURE__ */ new Set(), import_constants.portalListeners[props.hostName].add(listener), () => {
31
30
  import_constants.portalListeners[props.hostName]?.delete(listener);
32
31
  };
33
- }, [node]), node ? (0, import_react_dom.createPortal)(props.children, node) : null;
32
+ }, [node]), props.passThrough ? props.children : node ? (0, import_react_dom.createPortal)(props.children, node) : null;
34
33
  };
35
34
  //# sourceMappingURL=GorhomPortalItem.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/GorhomPortalItem.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAoC,kBACpC,mBAAgD,wBAEhD,mBAA6B;AAEtB,MAAM,mBAAmB,CAAC,UAA2B;AAC1D,MAAI,CAAC,MAAM;AACT,UAAM,IAAI,MAAM,aAAa;AAG/B,QAAM,MAAM,gCAAe,IAAI,MAAM,QAAQ,GACvC,CAAC,MAAM,OAAO,QAAI,uBAAS,GAAG;AAqBpC,SAnBI,OAAO,SAAS,OAClB,QAAQ,GAAG,OAGb,wBAAU,MAAM;AAEd,QADI,CAAC,MAAM,YACP,KAAM;AAEV,UAAM,WAAW,CAAC,YAAyB;AACzC,cAAQ,OAAO;AAAA,IACjB;AAEA,4CAAgB,MAAM,QAAQ,MAAM,oBAAI,IAAI,GAC5C,iCAAgB,MAAM,QAAQ,EAAE,IAAI,QAAQ,GACrC,MAAM;AACX,uCAAgB,MAAM,QAAS,GAAG,OAAO,QAAQ;AAAA,IACnD;AAAA,EACF,GAAG,CAAC,IAAI,CAAC,GAEJ,WAIE,+BAAa,MAAM,UAAU,IAAI,IAH/B;AAIX;",
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAoC,kBACpC,mBAAgD,wBAEhD,mBAA6B;AAEtB,MAAM,mBAAmB,CAAC,UAA2B;AAC1D,EAAI,CAAC,MAAM,YAAY,CAAC,MAAM,eAC5B,QAAQ,KAAK,aAAa;AAG5B,QAAM,MAAM,gCAAe,IAAI,MAAM,YAAY,EAAE,GAC7C,CAAC,MAAM,OAAO,QAAI,uBAAS,GAAG;AAqBpC,SAnBI,CAAC,MAAM,eAAe,OAAO,SAAS,OACxC,QAAQ,GAAG,OAGb,wBAAU,MAAM;AAEd,QADI,CAAC,MAAM,YACP,KAAM;AAEV,UAAM,WAAW,CAAC,YAAyB;AACzC,cAAQ,OAAO;AAAA,IACjB;AAEA,4CAAgB,MAAM,QAAQ,MAAM,oBAAI,IAAI,GAC5C,iCAAgB,MAAM,QAAQ,EAAE,IAAI,QAAQ,GACrC,MAAM;AACX,uCAAgB,MAAM,QAAS,GAAG,OAAO,QAAQ;AAAA,IACnD;AAAA,EACF,GAAG,CAAC,IAAI,CAAC,GAEL,MAAM,cACD,MAAM,WAGV,WAIE,+BAAa,MAAM,UAAU,IAAI,IAH/B;AAIX;",
5
5
  "names": []
6
6
  }
@@ -19,7 +19,7 @@ __export(GorhomPortalItem_native_exports, {
19
19
  });
20
20
  module.exports = __toCommonJS(GorhomPortalItem_native_exports);
21
21
  var import_constants = require("@tamagui/constants"), import_core = require("@tamagui/core"), import_react = require("react"), import_GorhomPortal = require("./GorhomPortal"), GorhomPortalItem = function(props) {
22
- var { name: _providedName, hostName, handleOnMount: _providedHandleOnMount, handleOnUnmount: _providedHandleOnUnmount, handleOnUpdate: _providedHandleOnUpdate, children, passthrough } = props, { addPortal: addUpdatePortal, removePortal } = (0, import_GorhomPortal.usePortal)(hostName), id = (0, import_react.useId)(), name = _providedName || id, handleOnMount = (0, import_core.useEvent)(function() {
22
+ var { name: _providedName, hostName, handleOnMount: _providedHandleOnMount, handleOnUnmount: _providedHandleOnUnmount, handleOnUpdate: _providedHandleOnUpdate, children, passThrough } = props, { addPortal: addUpdatePortal, removePortal } = (0, import_GorhomPortal.usePortal)(hostName), id = (0, import_react.useId)(), name = _providedName || id, handleOnMount = (0, import_core.useEvent)(function() {
23
23
  _providedHandleOnMount ? _providedHandleOnMount(function() {
24
24
  return addUpdatePortal(name, children);
25
25
  }) : addUpdatePortal(name, children);
@@ -33,15 +33,15 @@ var import_constants = require("@tamagui/constants"), import_core = require("@ta
33
33
  }) : addUpdatePortal(name, children);
34
34
  });
35
35
  return (0, import_constants.useIsomorphicLayoutEffect)(function() {
36
- if (!passthrough)
36
+ if (!passThrough)
37
37
  return handleOnMount(), function() {
38
38
  handleOnUnmount();
39
39
  };
40
40
  }, []), (0, import_react.useEffect)(function() {
41
- passthrough || handleOnUpdate();
41
+ passThrough || handleOnUpdate();
42
42
  }, [
43
43
  children
44
- ]), passthrough ? children : null;
44
+ ]), passThrough ? children : null;
45
45
  };
46
46
  // Annotate the CommonJS export names for ESM import in node:
47
47
  0 && (module.exports = {
@@ -2,5 +2,5 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/GorhomPortalItem.native.tsx"],
4
4
  "mappings": ";;;;;;;;;;;;;;;AAAA;;;;;AAGA,uBAA0C,+BAC1C,cAAyB,0BACzB,eAAiC,kBACjC,sBAA0B,2BAGbA,mBAAmB,SAACC,OAAAA;AAC/B,MAAM,EACJC,MAAMC,eACNC,UACAC,eAAeC,wBACfC,iBAAiBC,0BACjBC,gBAAgBC,yBAChBC,UACAC,YAAW,IACTX,OAEE,EAAEY,WAAWC,iBAAiBC,aAAY,QAAKC,+BAAUZ,QAAAA,GACzDa,SAAKC,oBAAAA,GACLhB,OAAOC,iBAAiBc,IAExBZ,oBAAgBc,sBAAS,WAAA;AAC7B,IAAIb,yBACFA,uBAAuB,WAAA;aAAMQ,gBAAgBZ,MAAMS,QAAAA;SAEnDG,gBAAgBZ,MAAMS,QAAAA;EAE1B,CAAA,GAEMJ,sBAAkBY,sBAAS,WAAA;AAC/B,IAAIX,2BACFA,yBAAyB,WAAA;aAAMO,aAAab,IAAAA;SAE5Ca,aAAab,IAAAA;EAEjB,CAAA,GAEMO,qBAAiBU,sBAAS,WAAA;AAC9B,IAAIT,0BACFA,wBAAwB,WAAA;aAAMI,gBAAgBZ,MAAMS,QAAAA;SAEpDG,gBAAgBZ,MAAMS,QAAAA;EAE1B,CAAA;AAEAS,yDAA0B,WAAA;AACxB,QAAIR;AAEJP,2BAAAA,GACO,WAAA;AACLE,wBAAAA;MACF;EACF,GAAG,CAAA,CAAE,OAELc,wBAAU,WAAA;AACR,IAAIT,eAEJH,eAAAA;EACF,GAAG;IAACE;GAAS,GAENC,cAAcD,WAAW;AAClC;",
5
- "names": ["GorhomPortalItem", "props", "name", "_providedName", "hostName", "handleOnMount", "_providedHandleOnMount", "handleOnUnmount", "_providedHandleOnUnmount", "handleOnUpdate", "_providedHandleOnUpdate", "children", "passthrough", "addPortal", "addUpdatePortal", "removePortal", "usePortal", "id", "useId", "useEvent", "useIsomorphicLayoutEffect", "useEffect"]
5
+ "names": ["GorhomPortalItem", "props", "name", "_providedName", "hostName", "handleOnMount", "_providedHandleOnMount", "handleOnUnmount", "_providedHandleOnUnmount", "handleOnUpdate", "_providedHandleOnUpdate", "children", "passThrough", "addPortal", "addUpdatePortal", "removePortal", "usePortal", "id", "useId", "useEvent", "useIsomorphicLayoutEffect", "useEffect"]
6
6
  }
@@ -48,10 +48,11 @@ const Portal = React.memo(propsIn => {
48
48
  host = globalThis.document?.body,
49
49
  stackZIndex,
50
50
  children,
51
+ passThrough,
51
52
  ...props
52
53
  } = propsIn,
53
54
  zIndex = (0, import_z_index_stack.useStackedZIndex)((0, import_helpers.getStackedZIndexProps)(propsIn));
54
- return (0, import_react_dom.createPortal)(/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_stacks.YStack, {
55
+ return passThrough ? children : (0, import_react_dom.createPortal)(/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_stacks.YStack, {
55
56
  contain: "strict",
56
57
  fullscreen: !0,
57
58
  position: "fixed",
@@ -29,8 +29,14 @@ var import_polyfill_dev = require("@tamagui/polyfill-dev"), import_constants = r
29
29
  const Portal = React.memo((propsIn) => {
30
30
  if (import_constants.isServer)
31
31
  return null;
32
- const { host = globalThis.document?.body, stackZIndex, children, ...props } = propsIn, zIndex = (0, import_z_index_stack.useStackedZIndex)((0, import_helpers.getStackedZIndexProps)(propsIn));
33
- return (0, import_react_dom.createPortal)(
32
+ const {
33
+ host = globalThis.document?.body,
34
+ stackZIndex,
35
+ children,
36
+ passThrough,
37
+ ...props
38
+ } = propsIn, zIndex = (0, import_z_index_stack.useStackedZIndex)((0, import_helpers.getStackedZIndexProps)(propsIn));
39
+ return passThrough ? children : (0, import_react_dom.createPortal)(
34
40
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
35
41
  import_stacks.YStack,
36
42
  {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Portal.tsx"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAO,kCAEP,mBAAyB,+BACzB,gBAAuB,4BACvB,uBAAiC,mCACjC,QAAuB,2BACvB,mBAA6B,sBAC7B,iBAAsC,sBAclC;AATG,MAAM,SAAS,MAAM,KAAK,CAAC,YAAyB;AACzD,MAAI;AACF,WAAO;AAGT,QAAM,EAAE,OAAO,WAAW,UAAU,MAAM,aAAa,UAAU,GAAG,MAAM,IAAI,SACxE,aAAS,2CAAiB,sCAAsB,OAAO,CAAC;AAE9D,aAAO;AAAA,IACL;AAAA,MAAC;AAAA;AAAA,QACC,SAAQ;AAAA,QACR,YAAU;AAAA,QAEV,UAAS;AAAA,QACT,UAAS;AAAA,QACT,WAAU;AAAA,QACV,eAAc;AAAA,QACb,GAAG;AAAA,QACJ;AAAA,QAEC;AAAA;AAAA,IACH;AAAA,IACA;AAAA,EACF;AACF,CAAC;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAO,kCAEP,mBAAyB,+BACzB,gBAAuB,4BACvB,uBAAiC,mCACjC,QAAuB,2BACvB,mBAA6B,sBAC7B,iBAAsC,sBAwBlC;AAnBG,MAAM,SAAS,MAAM,KAAK,CAAC,YAAyB;AACzD,MAAI;AACF,WAAO;AAGT,QAAM;AAAA,IACJ,OAAO,WAAW,UAAU;AAAA,IAC5B;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI,SACE,aAAS,2CAAiB,sCAAsB,OAAO,CAAC;AAE9D,SAAI,cACK,eAGF;AAAA,IACL;AAAA,MAAC;AAAA;AAAA,QACC,SAAQ;AAAA,QACR,YAAU;AAAA,QAEV,UAAS;AAAA,QACT,UAAS;AAAA,QACT,WAAU;AAAA,QACV,eAAc;AAAA,QACb,GAAG;AAAA,QACJ;AAAA,QAEC;AAAA;AAAA,IACH;AAAA,IACA;AAAA,EACF;AACF,CAAC;",
5
5
  "names": []
6
6
  }
@@ -2,10 +2,9 @@ import { useEffect, useState } from "react";
2
2
  import { allPortalHosts, portalListeners } from "./constants";
3
3
  import { createPortal } from "react-dom";
4
4
  const GorhomPortalItem = (props) => {
5
- if (!props.hostName)
6
- throw new Error("No hostName");
7
- const cur = allPortalHosts.get(props.hostName), [node, setNode] = useState(cur);
8
- return cur && node !== cur && setNode(cur), useEffect(() => {
5
+ !props.hostName && !props.passThrough && console.warn("No hostName");
6
+ const cur = allPortalHosts.get(props.hostName || ""), [node, setNode] = useState(cur);
7
+ return !props.passThrough && cur && node !== cur && setNode(cur), useEffect(() => {
9
8
  if (!props.hostName || node) return;
10
9
  const listener = (newNode) => {
11
10
  setNode(newNode);
@@ -13,7 +12,7 @@ const GorhomPortalItem = (props) => {
13
12
  return portalListeners[props.hostName] ||= /* @__PURE__ */ new Set(), portalListeners[props.hostName].add(listener), () => {
14
13
  portalListeners[props.hostName]?.delete(listener);
15
14
  };
16
- }, [node]), node ? createPortal(props.children, node) : null;
15
+ }, [node]), props.passThrough ? props.children : node ? createPortal(props.children, node) : null;
17
16
  };
18
17
  export {
19
18
  GorhomPortalItem
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/GorhomPortalItem.tsx"],
4
- "mappings": "AAAA,SAAS,WAAW,gBAAgB;AACpC,SAAS,gBAAgB,uBAAuB;AAEhD,SAAS,oBAAoB;AAEtB,MAAM,mBAAmB,CAAC,UAA2B;AAC1D,MAAI,CAAC,MAAM;AACT,UAAM,IAAI,MAAM,aAAa;AAG/B,QAAM,MAAM,eAAe,IAAI,MAAM,QAAQ,GACvC,CAAC,MAAM,OAAO,IAAI,SAAS,GAAG;AAqBpC,SAnBI,OAAO,SAAS,OAClB,QAAQ,GAAG,GAGb,UAAU,MAAM;AAEd,QADI,CAAC,MAAM,YACP,KAAM;AAEV,UAAM,WAAW,CAAC,YAAyB;AACzC,cAAQ,OAAO;AAAA,IACjB;AAEA,2BAAgB,MAAM,QAAQ,MAAM,oBAAI,IAAI,GAC5C,gBAAgB,MAAM,QAAQ,EAAE,IAAI,QAAQ,GACrC,MAAM;AACX,sBAAgB,MAAM,QAAS,GAAG,OAAO,QAAQ;AAAA,IACnD;AAAA,EACF,GAAG,CAAC,IAAI,CAAC,GAEJ,OAIE,aAAa,MAAM,UAAU,IAAI,IAH/B;AAIX;",
4
+ "mappings": "AAAA,SAAS,WAAW,gBAAgB;AACpC,SAAS,gBAAgB,uBAAuB;AAEhD,SAAS,oBAAoB;AAEtB,MAAM,mBAAmB,CAAC,UAA2B;AAC1D,EAAI,CAAC,MAAM,YAAY,CAAC,MAAM,eAC5B,QAAQ,KAAK,aAAa;AAG5B,QAAM,MAAM,eAAe,IAAI,MAAM,YAAY,EAAE,GAC7C,CAAC,MAAM,OAAO,IAAI,SAAS,GAAG;AAqBpC,SAnBI,CAAC,MAAM,eAAe,OAAO,SAAS,OACxC,QAAQ,GAAG,GAGb,UAAU,MAAM;AAEd,QADI,CAAC,MAAM,YACP,KAAM;AAEV,UAAM,WAAW,CAAC,YAAyB;AACzC,cAAQ,OAAO;AAAA,IACjB;AAEA,2BAAgB,MAAM,QAAQ,MAAM,oBAAI,IAAI,GAC5C,gBAAgB,MAAM,QAAQ,EAAE,IAAI,QAAQ,GACrC,MAAM;AACX,sBAAgB,MAAM,QAAS,GAAG,OAAO,QAAQ;AAAA,IACnD;AAAA,EACF,GAAG,CAAC,IAAI,CAAC,GAEL,MAAM,cACD,MAAM,WAGV,OAIE,aAAa,MAAM,UAAU,IAAI,IAH/B;AAIX;",
5
5
  "names": []
6
6
  }
@@ -2,10 +2,10 @@ import { useEffect, useState } from "react";
2
2
  import { allPortalHosts, portalListeners } from "./constants.mjs";
3
3
  import { createPortal } from "react-dom";
4
4
  const GorhomPortalItem = props => {
5
- if (!props.hostName) throw new Error("No hostName");
6
- const cur = allPortalHosts.get(props.hostName),
5
+ !props.hostName && !props.passThrough && console.warn("No hostName");
6
+ const cur = allPortalHosts.get(props.hostName || ""),
7
7
  [node, setNode] = useState(cur);
8
- return cur && node !== cur && setNode(cur), useEffect(() => {
8
+ return !props.passThrough && cur && node !== cur && setNode(cur), useEffect(() => {
9
9
  if (!props.hostName || node) return;
10
10
  const listener = newNode => {
11
11
  setNode(newNode);
@@ -13,7 +13,7 @@ const GorhomPortalItem = props => {
13
13
  return portalListeners[props.hostName] ||= /* @__PURE__ */new Set(), portalListeners[props.hostName].add(listener), () => {
14
14
  portalListeners[props.hostName]?.delete(listener);
15
15
  };
16
- }, [node]), node ? createPortal(props.children, node) : null;
16
+ }, [node]), props.passThrough ? props.children : node ? createPortal(props.children, node) : null;
17
17
  };
18
18
  export { GorhomPortalItem };
19
19
  //# sourceMappingURL=GorhomPortalItem.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useState","allPortalHosts","portalListeners","createPortal","GorhomPortalItem","props","hostName","Error","cur","get","node","setNode","listener","newNode","Set","add","delete","children"],"sources":["../../src/GorhomPortalItem.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,EAAWC,QAAA,QAAgB;AACpC,SAASC,cAAA,EAAgBC,eAAA,QAAuB;AAEhD,SAASC,YAAA,QAAoB;AAEtB,MAAMC,gBAAA,GAAoBC,KAAA,IAA2B;EAC1D,IAAI,CAACA,KAAA,CAAMC,QAAA,EACT,MAAM,IAAIC,KAAA,CAAM,aAAa;EAG/B,MAAMC,GAAA,GAAMP,cAAA,CAAeQ,GAAA,CAAIJ,KAAA,CAAMC,QAAQ;IACvC,CAACI,IAAA,EAAMC,OAAO,IAAIX,QAAA,CAASQ,GAAG;EAqBpC,OAnBIA,GAAA,IAAOE,IAAA,KAASF,GAAA,IAClBG,OAAA,CAAQH,GAAG,GAGbT,SAAA,CAAU,MAAM;IAEd,IADI,CAACM,KAAA,CAAMC,QAAA,IACPI,IAAA,EAAM;IAEV,MAAME,QAAA,GAAYC,OAAA,IAAyB;MACzCF,OAAA,CAAQE,OAAO;IACjB;IAEA,OAAAX,eAAA,CAAgBG,KAAA,CAAMC,QAAQ,MAAM,mBAAIQ,GAAA,CAAI,GAC5CZ,eAAA,CAAgBG,KAAA,CAAMC,QAAQ,EAAES,GAAA,CAAIH,QAAQ,GACrC,MAAM;MACXV,eAAA,CAAgBG,KAAA,CAAMC,QAAS,GAAGU,MAAA,CAAOJ,QAAQ;IACnD;EACF,GAAG,CAACF,IAAI,CAAC,GAEJA,IAAA,GAIEP,YAAA,CAAaE,KAAA,CAAMY,QAAA,EAAUP,IAAI,IAH/B;AAIX","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useState","allPortalHosts","portalListeners","createPortal","GorhomPortalItem","props","hostName","passThrough","console","warn","cur","get","node","setNode","listener","newNode","Set","add","delete","children"],"sources":["../../src/GorhomPortalItem.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,SAAA,EAAWC,QAAA,QAAgB;AACpC,SAASC,cAAA,EAAgBC,eAAA,QAAuB;AAEhD,SAASC,YAAA,QAAoB;AAEtB,MAAMC,gBAAA,GAAoBC,KAAA,IAA2B;EACtD,CAACA,KAAA,CAAMC,QAAA,IAAY,CAACD,KAAA,CAAME,WAAA,IAC5BC,OAAA,CAAQC,IAAA,CAAK,aAAa;EAG5B,MAAMC,GAAA,GAAMT,cAAA,CAAeU,GAAA,CAAIN,KAAA,CAAMC,QAAA,IAAY,EAAE;IAC7C,CAACM,IAAA,EAAMC,OAAO,IAAIb,QAAA,CAASU,GAAG;EAqBpC,OAnBI,CAACL,KAAA,CAAME,WAAA,IAAeG,GAAA,IAAOE,IAAA,KAASF,GAAA,IACxCG,OAAA,CAAQH,GAAG,GAGbX,SAAA,CAAU,MAAM;IAEd,IADI,CAACM,KAAA,CAAMC,QAAA,IACPM,IAAA,EAAM;IAEV,MAAME,QAAA,GAAYC,OAAA,IAAyB;MACzCF,OAAA,CAAQE,OAAO;IACjB;IAEA,OAAAb,eAAA,CAAgBG,KAAA,CAAMC,QAAQ,MAAM,mBAAIU,GAAA,CAAI,GAC5Cd,eAAA,CAAgBG,KAAA,CAAMC,QAAQ,EAAEW,GAAA,CAAIH,QAAQ,GACrC,MAAM;MACXZ,eAAA,CAAgBG,KAAA,CAAMC,QAAS,GAAGY,MAAA,CAAOJ,QAAQ;IACnD;EACF,GAAG,CAACF,IAAI,CAAC,GAELP,KAAA,CAAME,WAAA,GACDF,KAAA,CAAMc,QAAA,GAGVP,IAAA,GAIET,YAAA,CAAaE,KAAA,CAAMc,QAAA,EAAUP,IAAI,IAH/B;AAIX","ignoreList":[]}
@@ -10,7 +10,7 @@ var GorhomPortalItem = function (props) {
10
10
  handleOnUnmount: _providedHandleOnUnmount,
11
11
  handleOnUpdate: _providedHandleOnUpdate,
12
12
  children,
13
- passthrough
13
+ passThrough
14
14
  } = props,
15
15
  {
16
16
  addPortal: addUpdatePortal,
@@ -34,12 +34,12 @@ var GorhomPortalItem = function (props) {
34
34
  }) : addUpdatePortal(name, children);
35
35
  });
36
36
  return useIsomorphicLayoutEffect(function () {
37
- if (!passthrough) return handleOnMount(), function () {
37
+ if (!passThrough) return handleOnMount(), function () {
38
38
  handleOnUnmount();
39
39
  };
40
40
  }, []), useEffect(function () {
41
- passthrough || handleOnUpdate();
42
- }, [children]), passthrough ? children : null;
41
+ passThrough || handleOnUpdate();
42
+ }, [children]), passThrough ? children : null;
43
43
  };
44
44
  export { GorhomPortalItem };
45
45
  //# sourceMappingURL=GorhomPortalItem.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useIsomorphicLayoutEffect","useEvent","useEffect","useId","usePortal","GorhomPortalItem","props","name","_providedName","hostName","handleOnMount","_providedHandleOnMount","handleOnUnmount","_providedHandleOnUnmount","handleOnUpdate","_providedHandleOnUpdate","children","passthrough","addPortal","addUpdatePortal","removePortal","id"],"sources":["../../src/GorhomPortalItem.native.tsx"],"sourcesContent":[null],"mappings":"AAGA,SAASA,yBAAA,QAAiC;AAC1C,SAASC,QAAA,QAAgB;AACzB,SAASC,SAAA,EAAWC,KAAA,QAAa;AACjC,SAASC,SAAA,QAAiB;AAGnB,IAAMC,gBAAA,GAAmB,SAAAA,CAACC,KAAA;EAC/B,IAAM;MACJC,IAAA,EAAMC,aAAA;MACNC,QAAA;MACAC,aAAA,EAAeC,sBAAA;MACfC,eAAA,EAAiBC,wBAAA;MACjBC,cAAA,EAAgBC,uBAAA;MAChBC,QAAA;MACAC;IAAW,IACTX,KAAA;IAEE;MAAEY,SAAA,EAAWC,eAAA;MAAiBC;IAAY,IAAKhB,SAAA,CAAUK,QAAA;IACzDY,EAAA,GAAKlB,KAAA;IACLI,IAAA,GAAOC,aAAA,IAAiBa,EAAA;IAExBX,aAAA,GAAgBT,QAAA,CAAS;MACzBU,sBAAA,GACFA,sBAAA,CAAuB;eAAMQ,eAAA,CAAgBZ,IAAA,EAAMS,QAAA;WAEnDG,eAAA,CAAgBZ,IAAA,EAAMS,QAAA;IAE1B;IAEMJ,eAAA,GAAkBX,QAAA,CAAS;MAC3BY,wBAAA,GACFA,wBAAA,CAAyB;eAAMO,YAAA,CAAab,IAAA;WAE5Ca,YAAA,CAAab,IAAA;IAEjB;IAEMO,cAAA,GAAiBb,QAAA,CAAS;MAC1Bc,uBAAA,GACFA,uBAAA,CAAwB;eAAMI,eAAA,CAAgBZ,IAAA,EAAMS,QAAA;WAEpDG,eAAA,CAAgBZ,IAAA,EAAMS,QAAA;IAE1B;EAEA,OAAAhB,yBAAA,CAA0B;IACxB,IAAI,CAAAiB,WAAA,EAEJ,OAAAP,aAAA,IACO;MACLE,eAAA;IACF;EACF,GAAG,EAAE,GAELV,SAAA,CAAU;IACJe,WAAA,IAEJH,cAAA;EACF,GAAG,CAACE,QAAA,CAAS,GAENC,WAAA,GAAcD,QAAA,GAAW;AAClC","ignoreList":[]}
1
+ {"version":3,"names":["useIsomorphicLayoutEffect","useEvent","useEffect","useId","usePortal","GorhomPortalItem","props","name","_providedName","hostName","handleOnMount","_providedHandleOnMount","handleOnUnmount","_providedHandleOnUnmount","handleOnUpdate","_providedHandleOnUpdate","children","passThrough","addPortal","addUpdatePortal","removePortal","id"],"sources":["../../src/GorhomPortalItem.native.tsx"],"sourcesContent":[null],"mappings":"AAGA,SAASA,yBAAA,QAAiC;AAC1C,SAASC,QAAA,QAAgB;AACzB,SAASC,SAAA,EAAWC,KAAA,QAAa;AACjC,SAASC,SAAA,QAAiB;AAGnB,IAAMC,gBAAA,GAAmB,SAAAA,CAACC,KAAA;EAC/B,IAAM;MACJC,IAAA,EAAMC,aAAA;MACNC,QAAA;MACAC,aAAA,EAAeC,sBAAA;MACfC,eAAA,EAAiBC,wBAAA;MACjBC,cAAA,EAAgBC,uBAAA;MAChBC,QAAA;MACAC;IAAW,IACTX,KAAA;IAEE;MAAEY,SAAA,EAAWC,eAAA;MAAiBC;IAAY,IAAKhB,SAAA,CAAUK,QAAA;IACzDY,EAAA,GAAKlB,KAAA;IACLI,IAAA,GAAOC,aAAA,IAAiBa,EAAA;IAExBX,aAAA,GAAgBT,QAAA,CAAS;MACzBU,sBAAA,GACFA,sBAAA,CAAuB;eAAMQ,eAAA,CAAgBZ,IAAA,EAAMS,QAAA;WAEnDG,eAAA,CAAgBZ,IAAA,EAAMS,QAAA;IAE1B;IAEMJ,eAAA,GAAkBX,QAAA,CAAS;MAC3BY,wBAAA,GACFA,wBAAA,CAAyB;eAAMO,YAAA,CAAab,IAAA;WAE5Ca,YAAA,CAAab,IAAA;IAEjB;IAEMO,cAAA,GAAiBb,QAAA,CAAS;MAC1Bc,uBAAA,GACFA,uBAAA,CAAwB;eAAMI,eAAA,CAAgBZ,IAAA,EAAMS,QAAA;WAEpDG,eAAA,CAAgBZ,IAAA,EAAMS,QAAA;IAE1B;EAEA,OAAAhB,yBAAA,CAA0B;IACxB,IAAI,CAAAiB,WAAA,EAEJ,OAAAP,aAAA,IACO;MACLE,eAAA;IACF;EACF,GAAG,EAAE,GAELV,SAAA,CAAU;IACJe,WAAA,IAEJH,cAAA;EACF,GAAG,CAACE,QAAA,CAAS,GAENC,WAAA,GAAcD,QAAA,GAAW;AAClC","ignoreList":[]}
@@ -9,8 +9,14 @@ import { jsx } from "react/jsx-runtime";
9
9
  const Portal = React.memo((propsIn) => {
10
10
  if (isServer)
11
11
  return null;
12
- const { host = globalThis.document?.body, stackZIndex, children, ...props } = propsIn, zIndex = useStackedZIndex(getStackedZIndexProps(propsIn));
13
- return createPortal(
12
+ const {
13
+ host = globalThis.document?.body,
14
+ stackZIndex,
15
+ children,
16
+ passThrough,
17
+ ...props
18
+ } = propsIn, zIndex = useStackedZIndex(getStackedZIndexProps(propsIn));
19
+ return passThrough ? children : createPortal(
14
20
  /* @__PURE__ */ jsx(
15
21
  YStack,
16
22
  {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Portal.tsx"],
4
- "mappings": "AAAA,OAAO;AAEP,SAAS,gBAAgB;AACzB,SAAS,cAAc;AACvB,SAAS,wBAAwB;AACjC,YAAY,WAAW;AACvB,SAAS,oBAAoB;AAC7B,SAAS,6BAA6B;AAclC;AATG,MAAM,SAAS,MAAM,KAAK,CAAC,YAAyB;AACzD,MAAI;AACF,WAAO;AAGT,QAAM,EAAE,OAAO,WAAW,UAAU,MAAM,aAAa,UAAU,GAAG,MAAM,IAAI,SACxE,SAAS,iBAAiB,sBAAsB,OAAO,CAAC;AAE9D,SAAO;AAAA,IACL;AAAA,MAAC;AAAA;AAAA,QACC,SAAQ;AAAA,QACR,YAAU;AAAA,QAEV,UAAS;AAAA,QACT,UAAS;AAAA,QACT,WAAU;AAAA,QACV,eAAc;AAAA,QACb,GAAG;AAAA,QACJ;AAAA,QAEC;AAAA;AAAA,IACH;AAAA,IACA;AAAA,EACF;AACF,CAAC;",
4
+ "mappings": "AAAA,OAAO;AAEP,SAAS,gBAAgB;AACzB,SAAS,cAAc;AACvB,SAAS,wBAAwB;AACjC,YAAY,WAAW;AACvB,SAAS,oBAAoB;AAC7B,SAAS,6BAA6B;AAwBlC;AAnBG,MAAM,SAAS,MAAM,KAAK,CAAC,YAAyB;AACzD,MAAI;AACF,WAAO;AAGT,QAAM;AAAA,IACJ,OAAO,WAAW,UAAU;AAAA,IAC5B;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI,SACE,SAAS,iBAAiB,sBAAsB,OAAO,CAAC;AAE9D,SAAI,cACK,WAGF;AAAA,IACL;AAAA,MAAC;AAAA;AAAA,QACC,SAAQ;AAAA,QACR,YAAU;AAAA,QAEV,UAAS;AAAA,QACT,UAAS;AAAA,QACT,WAAU;AAAA,QACV,eAAc;AAAA,QACb,GAAG;AAAA,QACJ;AAAA,QAEC;AAAA;AAAA,IACH;AAAA,IACA;AAAA,EACF;AACF,CAAC;",
5
5
  "names": []
6
6
  }
@@ -12,10 +12,11 @@ const Portal = React.memo(propsIn => {
12
12
  host = globalThis.document?.body,
13
13
  stackZIndex,
14
14
  children,
15
+ passThrough,
15
16
  ...props
16
17
  } = propsIn,
17
18
  zIndex = useStackedZIndex(getStackedZIndexProps(propsIn));
18
- return createPortal(/* @__PURE__ */jsx(YStack, {
19
+ return passThrough ? children : createPortal(/* @__PURE__ */jsx(YStack, {
19
20
  contain: "strict",
20
21
  fullscreen: !0,
21
22
  position: "fixed",
@@ -1 +1 @@
1
- {"version":3,"names":["isServer","YStack","useStackedZIndex","React","createPortal","getStackedZIndexProps","jsx","Portal","memo","propsIn","host","globalThis","document","body","stackZIndex","children","props","zIndex","contain","fullscreen","position","maxWidth","maxHeight","pointerEvents"],"sources":["../../src/Portal.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAO;AAEP,SAASA,QAAA,QAAgB;AACzB,SAASC,MAAA,QAAc;AACvB,SAASC,gBAAA,QAAwB;AACjC,YAAYC,KAAA,MAAW;AACvB,SAASC,YAAA,QAAoB;AAC7B,SAASC,qBAAA,QAA6B;AAclC,SAAAC,GAAA;AATG,MAAMC,MAAA,GAASJ,KAAA,CAAMK,IAAA,CAAMC,OAAA,IAAyB;EACzD,IAAIT,QAAA,EACF,OAAO;EAGT,MAAM;MAAEU,IAAA,GAAOC,UAAA,CAAWC,QAAA,EAAUC,IAAA;MAAMC,WAAA;MAAaC,QAAA;MAAU,GAAGC;IAAM,IAAIP,OAAA;IACxEQ,MAAA,GAASf,gBAAA,CAAiBG,qBAAA,CAAsBI,OAAO,CAAC;EAE9D,OAAOL,YAAA,CACL,eAAAE,GAAA,CAACL,MAAA;IACCiB,OAAA,EAAQ;IACRC,UAAA,EAAU;IAEVC,QAAA,EAAS;IACTC,QAAA,EAAS;IACTC,SAAA,EAAU;IACVC,aAAA,EAAc;IACb,GAAGP,KAAA;IACJC,MAAA;IAECF;EAAA,CACH,GACAL,IACF;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["isServer","YStack","useStackedZIndex","React","createPortal","getStackedZIndexProps","jsx","Portal","memo","propsIn","host","globalThis","document","body","stackZIndex","children","passThrough","props","zIndex","contain","fullscreen","position","maxWidth","maxHeight","pointerEvents"],"sources":["../../src/Portal.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAO;AAEP,SAASA,QAAA,QAAgB;AACzB,SAASC,MAAA,QAAc;AACvB,SAASC,gBAAA,QAAwB;AACjC,YAAYC,KAAA,MAAW;AACvB,SAASC,YAAA,QAAoB;AAC7B,SAASC,qBAAA,QAA6B;AAwBlC,SAAAC,GAAA;AAnBG,MAAMC,MAAA,GAASJ,KAAA,CAAMK,IAAA,CAAMC,OAAA,IAAyB;EACzD,IAAIT,QAAA,EACF,OAAO;EAGT,MAAM;MACJU,IAAA,GAAOC,UAAA,CAAWC,QAAA,EAAUC,IAAA;MAC5BC,WAAA;MACAC,QAAA;MACAC,WAAA;MACA,GAAGC;IACL,IAAIR,OAAA;IACES,MAAA,GAAShB,gBAAA,CAAiBG,qBAAA,CAAsBI,OAAO,CAAC;EAE9D,OAAIO,WAAA,GACKD,QAAA,GAGFX,YAAA,CACL,eAAAE,GAAA,CAACL,MAAA;IACCkB,OAAA,EAAQ;IACRC,UAAA,EAAU;IAEVC,QAAA,EAAS;IACTC,QAAA,EAAS;IACTC,SAAA,EAAU;IACVC,aAAA,EAAc;IACb,GAAGP,KAAA;IACJC,MAAA;IAECH;EAAA,CACH,GACAL,IACF;AACF,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/portal",
3
- "version": "1.129.18",
3
+ "version": "1.130.0",
4
4
  "source": "src/index.ts",
5
5
  "types": "./types/index.d.ts",
6
6
  "main": "dist/cjs",
@@ -32,15 +32,15 @@
32
32
  }
33
33
  },
34
34
  "dependencies": {
35
- "@tamagui/constants": "1.129.18",
36
- "@tamagui/core": "1.129.18",
37
- "@tamagui/stacks": "1.129.18",
38
- "@tamagui/start-transition": "1.129.18",
39
- "@tamagui/use-event": "1.129.18",
40
- "@tamagui/z-index-stack": "1.129.18"
35
+ "@tamagui/constants": "1.130.0",
36
+ "@tamagui/core": "1.130.0",
37
+ "@tamagui/stacks": "1.130.0",
38
+ "@tamagui/start-transition": "1.130.0",
39
+ "@tamagui/use-event": "1.130.0",
40
+ "@tamagui/z-index-stack": "1.130.0"
41
41
  },
42
42
  "devDependencies": {
43
- "@tamagui/build": "1.129.18",
43
+ "@tamagui/build": "1.130.0",
44
44
  "@types/react-dom": "^19.1.6",
45
45
  "react-native": "^0.79.2"
46
46
  },
@@ -15,7 +15,7 @@ export const GorhomPortalItem = (props: PortalItemProps) => {
15
15
  handleOnUnmount: _providedHandleOnUnmount,
16
16
  handleOnUpdate: _providedHandleOnUpdate,
17
17
  children,
18
- passthrough,
18
+ passThrough,
19
19
  } = props
20
20
 
21
21
  const { addPortal: addUpdatePortal, removePortal } = usePortal(hostName)
@@ -47,7 +47,7 @@ export const GorhomPortalItem = (props: PortalItemProps) => {
47
47
  })
48
48
 
49
49
  useIsomorphicLayoutEffect(() => {
50
- if (passthrough) return
50
+ if (passThrough) return
51
51
 
52
52
  handleOnMount()
53
53
  return () => {
@@ -56,10 +56,10 @@ export const GorhomPortalItem = (props: PortalItemProps) => {
56
56
  }, [])
57
57
 
58
58
  useEffect(() => {
59
- if (passthrough) return
59
+ if (passThrough) return
60
60
 
61
61
  handleOnUpdate()
62
62
  }, [children])
63
63
 
64
- return passthrough ? children : null
64
+ return passThrough ? children : null
65
65
  }
@@ -4,14 +4,14 @@ import type { PortalItemProps } from './types'
4
4
  import { createPortal } from 'react-dom'
5
5
 
6
6
  export const GorhomPortalItem = (props: PortalItemProps) => {
7
- if (!props.hostName) {
8
- throw new Error(`No hostName`)
7
+ if (!props.hostName && !props.passThrough) {
8
+ console.warn(`No hostName`)
9
9
  }
10
10
 
11
- const cur = allPortalHosts.get(props.hostName)
11
+ const cur = allPortalHosts.get(props.hostName || '')
12
12
  const [node, setNode] = useState(cur)
13
13
 
14
- if (cur && node !== cur) {
14
+ if (!props.passThrough && cur && node !== cur) {
15
15
  setNode(cur)
16
16
  }
17
17
 
@@ -30,6 +30,10 @@ export const GorhomPortalItem = (props: PortalItemProps) => {
30
30
  }
31
31
  }, [node])
32
32
 
33
+ if (props.passThrough) {
34
+ return props.children
35
+ }
36
+
33
37
  if (!node) {
34
38
  return null
35
39
  }
package/src/Portal.tsx CHANGED
@@ -15,9 +15,19 @@ export const Portal = React.memo((propsIn: PortalProps) => {
15
15
  return null
16
16
  }
17
17
 
18
- const { host = globalThis.document?.body, stackZIndex, children, ...props } = propsIn
18
+ const {
19
+ host = globalThis.document?.body,
20
+ stackZIndex,
21
+ children,
22
+ passThrough,
23
+ ...props
24
+ } = propsIn
19
25
  const zIndex = useStackedZIndex(getStackedZIndexProps(propsIn))
20
26
 
27
+ if (passThrough) {
28
+ return children
29
+ }
30
+
21
31
  return createPortal(
22
32
  <YStack
23
33
  contain="strict"
package/src/types.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type { ReactNode } from 'react'
2
2
 
3
3
  export interface PortalItemProps {
4
- passthrough?: boolean
4
+ passThrough?: boolean
5
5
 
6
6
  /**
7
7
  * Portal's key or name to be used as an identifier.
@@ -1,3 +1,3 @@
1
1
  import type { PortalItemProps } from './types';
2
- export declare const GorhomPortalItem: (props: PortalItemProps) => import("react").ReactPortal | null;
2
+ export declare const GorhomPortalItem: (props: PortalItemProps) => import("react").ReactNode;
3
3
  //# sourceMappingURL=GorhomPortalItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GorhomPortalItem.d.ts","sourceRoot":"","sources":["../src/GorhomPortalItem.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG9C,eAAO,MAAM,gBAAgB,GAAI,OAAO,eAAe,uCAgCtD,CAAA"}
1
+ {"version":3,"file":"GorhomPortalItem.d.ts","sourceRoot":"","sources":["../src/GorhomPortalItem.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAG9C,eAAO,MAAM,gBAAgB,GAAI,OAAO,eAAe,8BAoCtD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Portal.d.ts","sourceRoot":"","sources":["../src/Portal.tsx"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAA;AAK9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAIhD,eAAO,MAAM,MAAM,sCAAwB,WAAW,SAwBpD,CAAA"}
1
+ {"version":3,"file":"Portal.d.ts","sourceRoot":"","sources":["../src/Portal.tsx"],"names":[],"mappings":"AAAA,OAAO,uBAAuB,CAAA;AAK9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAIhD,eAAO,MAAM,MAAM,sCAAwB,WAAW,SAkCpD,CAAA"}
package/types/types.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { ReactNode } from 'react';
2
2
  export interface PortalItemProps {
3
- passthrough?: boolean;
3
+ passThrough?: boolean;
4
4
  /**
5
5
  * Portal's key or name to be used as an identifier.
6
6
  * @type string