@tamagui/portal 2.3.3 → 2.4.0-1783099846627
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/GorhomPortalItem.native.js +11 -5
- package/dist/cjs/GorhomPortalItem.native.js.map +1 -1
- package/dist/esm/GorhomPortalItem.native.js +11 -5
- package/dist/esm/GorhomPortalItem.native.js.map +1 -1
- package/package.json +9 -9
- package/src/GorhomPortalItem.native.tsx +19 -5
- package/types/GorhomPortalItem.native.d.ts.map +1 -1
|
@@ -31,6 +31,7 @@ var import_jsx_runtime = require("react/jsx-runtime");
|
|
|
31
31
|
var import_constants = require("@tamagui/constants");
|
|
32
32
|
var import_core = require("@tamagui/core");
|
|
33
33
|
var import_native = require("@tamagui/native");
|
|
34
|
+
var import_web = require("@tamagui/web");
|
|
34
35
|
var import_react = require("react");
|
|
35
36
|
var import_GorhomPortal = require("./GorhomPortal.native.js");
|
|
36
37
|
var GorhomPortalItem = function (props) {
|
|
@@ -79,13 +80,18 @@ var GorhomPortalItemFallback = function (props) {
|
|
|
79
80
|
} = (0, import_GorhomPortal.usePortal)(hostName);
|
|
80
81
|
var id = (0, import_react.useId)();
|
|
81
82
|
var name = _providedName || id;
|
|
83
|
+
var themeName = (0, import_web.useThemeName)();
|
|
84
|
+
var themedChildren = passThrough ? children : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_web.Theme, {
|
|
85
|
+
name: themeName,
|
|
86
|
+
children
|
|
87
|
+
});
|
|
82
88
|
var handleOnMount = (0, import_core.useEvent)(function () {
|
|
83
89
|
if (_providedHandleOnMount) {
|
|
84
90
|
_providedHandleOnMount(function () {
|
|
85
|
-
return addUpdatePortal(name,
|
|
91
|
+
return addUpdatePortal(name, themedChildren);
|
|
86
92
|
});
|
|
87
93
|
} else {
|
|
88
|
-
addUpdatePortal(name,
|
|
94
|
+
addUpdatePortal(name, themedChildren);
|
|
89
95
|
}
|
|
90
96
|
});
|
|
91
97
|
var handleOnUnmount = (0, import_core.useEvent)(function () {
|
|
@@ -100,10 +106,10 @@ var GorhomPortalItemFallback = function (props) {
|
|
|
100
106
|
var handleOnUpdate = (0, import_core.useEvent)(function () {
|
|
101
107
|
if (_providedHandleOnUpdate) {
|
|
102
108
|
_providedHandleOnUpdate(function () {
|
|
103
|
-
return addUpdatePortal(name,
|
|
109
|
+
return addUpdatePortal(name, themedChildren);
|
|
104
110
|
});
|
|
105
111
|
} else {
|
|
106
|
-
addUpdatePortal(name,
|
|
112
|
+
addUpdatePortal(name, themedChildren);
|
|
107
113
|
}
|
|
108
114
|
});
|
|
109
115
|
(0, import_constants.useIsomorphicLayoutEffect)(function () {
|
|
@@ -116,7 +122,7 @@ var GorhomPortalItemFallback = function (props) {
|
|
|
116
122
|
(0, import_react.useEffect)(function () {
|
|
117
123
|
if (passThrough) return;
|
|
118
124
|
handleOnUpdate();
|
|
119
|
-
}, [children]);
|
|
125
|
+
}, [children, themeName]);
|
|
120
126
|
return passThrough ? children : null;
|
|
121
127
|
};
|
|
122
128
|
//# sourceMappingURL=GorhomPortalItem.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GorhomPortalItem_native_exports","__export","GorhomPortalItem","module","exports","__toCommonJS","import_jsx_runtime","require","import_constants","import_core","import_native","import_react","import_GorhomPortal","props","name","_providedName","hostName","handleOnMount","_providedHandleOnMount","handleOnUnmount","_providedHandleOnUnmount","handleOnUpdate","_providedHandleOnUpdate","children","passThrough","portalState","getPortal","state","type","jsx","NativePortal","GorhomPortalItemFallback","addPortal","addUpdatePortal","removePortal","usePortal","id","useId","useEvent","useIsomorphicLayoutEffect","useEffect"],"sources":["../../src/GorhomPortalItem.native.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,+BAAA;AAAAC,QAAA,CAAAD,+BAAA;EAAAE,gBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAC,YAAA,CAAAL,+BAAA;AAEA,IAAAM,kBAAA,GAA4BC,OAAA;AAC5B,IAAAC,gBAAA,GAA0CD,OAAA;AAC1C,IAAAE,WAAA,GAAyBF,OAAA;AACzB,IAAAG,aAAA,GAAwCH,OAAA;AACxC,IAAAI,YAAA,
|
|
1
|
+
{"version":3,"names":["GorhomPortalItem_native_exports","__export","GorhomPortalItem","module","exports","__toCommonJS","import_jsx_runtime","require","import_constants","import_core","import_native","import_web","import_react","import_GorhomPortal","props","name","_providedName","hostName","handleOnMount","_providedHandleOnMount","handleOnUnmount","_providedHandleOnUnmount","handleOnUpdate","_providedHandleOnUpdate","children","passThrough","portalState","getPortal","state","type","jsx","NativePortal","GorhomPortalItemFallback","addPortal","addUpdatePortal","removePortal","usePortal","id","useId","themeName","useThemeName","themedChildren","Theme","useEvent","useIsomorphicLayoutEffect","useEffect"],"sources":["../../src/GorhomPortalItem.native.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -2,6 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { useIsomorphicLayoutEffect } from "@tamagui/constants";
|
|
3
3
|
import { useEvent } from "@tamagui/core";
|
|
4
4
|
import { getPortal, NativePortal } from "@tamagui/native";
|
|
5
|
+
import { Theme, useThemeName } from "@tamagui/web";
|
|
5
6
|
import { useEffect, useId } from "react";
|
|
6
7
|
import { usePortal } from "./GorhomPortal.native.js";
|
|
7
8
|
var GorhomPortalItem = function (props) {
|
|
@@ -50,13 +51,18 @@ var GorhomPortalItemFallback = function (props) {
|
|
|
50
51
|
} = usePortal(hostName);
|
|
51
52
|
var id = useId();
|
|
52
53
|
var name = _providedName || id;
|
|
54
|
+
var themeName = useThemeName();
|
|
55
|
+
var themedChildren = passThrough ? children : /* @__PURE__ */_jsx(Theme, {
|
|
56
|
+
name: themeName,
|
|
57
|
+
children
|
|
58
|
+
});
|
|
53
59
|
var handleOnMount = useEvent(function () {
|
|
54
60
|
if (_providedHandleOnMount) {
|
|
55
61
|
_providedHandleOnMount(function () {
|
|
56
|
-
return addUpdatePortal(name,
|
|
62
|
+
return addUpdatePortal(name, themedChildren);
|
|
57
63
|
});
|
|
58
64
|
} else {
|
|
59
|
-
addUpdatePortal(name,
|
|
65
|
+
addUpdatePortal(name, themedChildren);
|
|
60
66
|
}
|
|
61
67
|
});
|
|
62
68
|
var handleOnUnmount = useEvent(function () {
|
|
@@ -71,10 +77,10 @@ var GorhomPortalItemFallback = function (props) {
|
|
|
71
77
|
var handleOnUpdate = useEvent(function () {
|
|
72
78
|
if (_providedHandleOnUpdate) {
|
|
73
79
|
_providedHandleOnUpdate(function () {
|
|
74
|
-
return addUpdatePortal(name,
|
|
80
|
+
return addUpdatePortal(name, themedChildren);
|
|
75
81
|
});
|
|
76
82
|
} else {
|
|
77
|
-
addUpdatePortal(name,
|
|
83
|
+
addUpdatePortal(name, themedChildren);
|
|
78
84
|
}
|
|
79
85
|
});
|
|
80
86
|
useIsomorphicLayoutEffect(function () {
|
|
@@ -87,7 +93,7 @@ var GorhomPortalItemFallback = function (props) {
|
|
|
87
93
|
useEffect(function () {
|
|
88
94
|
if (passThrough) return;
|
|
89
95
|
handleOnUpdate();
|
|
90
|
-
}, [children]);
|
|
96
|
+
}, [children, themeName]);
|
|
91
97
|
return passThrough ? children : null;
|
|
92
98
|
};
|
|
93
99
|
export { GorhomPortalItem };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","useIsomorphicLayoutEffect","useEvent","getPortal","NativePortal","useEffect","useId","usePortal","GorhomPortalItem","props","name","_providedName","hostName","handleOnMount","_providedHandleOnMount","handleOnUnmount","_providedHandleOnUnmount","handleOnUpdate","_providedHandleOnUpdate","children","passThrough","portalState","state","type","GorhomPortalItemFallback","addPortal","addUpdatePortal","removePortal","id"],"sources":["../../src/GorhomPortalItem.native.tsx"],"sourcesContent":[null],"mappings":"AAEA,SAASA,GAAA,IAAOC,IAAA,QAAY;AAC5B,SAASC,yBAAA,QAAiC;AAC1C,SAASC,QAAA,QAAgB;AACzB,SAASC,SAAA,EAAWC,YAAA,QAAoB;AACxC,SAASC,SAAA,EAAWC,KAAA,QAAa;AACjC,SAASC,SAAA,QAAiB;AACnB,IAAIC,gBAAA,GAAmB,SAAAA,CAASC,KAAA,EAAO;EAC1C,IAAI;IAAEC,IAAA,EAAMC,aAAA;IAAeC,QAAA,GAAW;IAAQC,aAAA,EAAeC,sBAAA;IAAwBC,eAAA,EAAiBC,wBAAA;IAA0BC,cAAA,EAAgBC,uBAAA;IAAyBC,QAAA;IAAUC;EAAY,IAAIX,KAAA;EACnM,IAAIY,WAAA,
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","useIsomorphicLayoutEffect","useEvent","getPortal","NativePortal","Theme","useThemeName","useEffect","useId","usePortal","GorhomPortalItem","props","name","_providedName","hostName","handleOnMount","_providedHandleOnMount","handleOnUnmount","_providedHandleOnUnmount","handleOnUpdate","_providedHandleOnUpdate","children","passThrough","portalState","state","type","GorhomPortalItemFallback","addPortal","addUpdatePortal","removePortal","id","themeName","themedChildren"],"sources":["../../src/GorhomPortalItem.native.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/portal",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.0-1783099846627",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"files": [
|
|
6
6
|
"src",
|
|
@@ -34,16 +34,16 @@
|
|
|
34
34
|
"clean:build": "tamagui-build clean:build"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@tamagui/constants": "2.
|
|
38
|
-
"@tamagui/core": "2.
|
|
39
|
-
"@tamagui/native": "2.
|
|
40
|
-
"@tamagui/start-transition": "2.
|
|
41
|
-
"@tamagui/use-event": "2.
|
|
42
|
-
"@tamagui/web": "2.
|
|
43
|
-
"@tamagui/z-index-stack": "2.
|
|
37
|
+
"@tamagui/constants": "2.4.0-1783099846627",
|
|
38
|
+
"@tamagui/core": "2.4.0-1783099846627",
|
|
39
|
+
"@tamagui/native": "2.4.0-1783099846627",
|
|
40
|
+
"@tamagui/start-transition": "2.4.0-1783099846627",
|
|
41
|
+
"@tamagui/use-event": "2.4.0-1783099846627",
|
|
42
|
+
"@tamagui/web": "2.4.0-1783099846627",
|
|
43
|
+
"@tamagui/z-index-stack": "2.4.0-1783099846627"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"@tamagui/build": "2.
|
|
46
|
+
"@tamagui/build": "2.4.0-1783099846627",
|
|
47
47
|
"react": ">=19",
|
|
48
48
|
"react-dom": "*",
|
|
49
49
|
"react-native": "0.83.2"
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { useIsomorphicLayoutEffect } from '@tamagui/constants'
|
|
5
5
|
import { useEvent } from '@tamagui/core'
|
|
6
6
|
import { getPortal, NativePortal } from '@tamagui/native'
|
|
7
|
+
import { Theme, useThemeName } from '@tamagui/web'
|
|
7
8
|
import { useEffect, useId } from 'react'
|
|
8
9
|
import { usePortal } from './GorhomPortal'
|
|
9
10
|
import type { PortalItemProps } from './types'
|
|
@@ -60,11 +61,24 @@ const GorhomPortalItemFallback = (props: PortalItemProps) => {
|
|
|
60
61
|
const id = useId()
|
|
61
62
|
const name = _providedName || id
|
|
62
63
|
|
|
64
|
+
// the gorhom host renders registered children in a separate flush, outside
|
|
65
|
+
// this subtree's theme context — so carry the theme as data: capture the
|
|
66
|
+
// resolved name here (reliable: this item renders at its definition site)
|
|
67
|
+
// and re-establish it with an absolute <Theme name> on the other side. that
|
|
68
|
+
// resolves themes[name] without needing the parent state, which the host
|
|
69
|
+
// flush can't see. mirrors the web Portal's repropagation (Portal.tsx).
|
|
70
|
+
const themeName = useThemeName()
|
|
71
|
+
const themedChildren = passThrough ? (
|
|
72
|
+
children
|
|
73
|
+
) : (
|
|
74
|
+
<Theme name={themeName}>{children}</Theme>
|
|
75
|
+
)
|
|
76
|
+
|
|
63
77
|
const handleOnMount = useEvent(() => {
|
|
64
78
|
if (_providedHandleOnMount) {
|
|
65
|
-
_providedHandleOnMount(() => addUpdatePortal(name,
|
|
79
|
+
_providedHandleOnMount(() => addUpdatePortal(name, themedChildren))
|
|
66
80
|
} else {
|
|
67
|
-
addUpdatePortal(name,
|
|
81
|
+
addUpdatePortal(name, themedChildren)
|
|
68
82
|
}
|
|
69
83
|
})
|
|
70
84
|
|
|
@@ -78,9 +92,9 @@ const GorhomPortalItemFallback = (props: PortalItemProps) => {
|
|
|
78
92
|
|
|
79
93
|
const handleOnUpdate = useEvent(() => {
|
|
80
94
|
if (_providedHandleOnUpdate) {
|
|
81
|
-
_providedHandleOnUpdate(() => addUpdatePortal(name,
|
|
95
|
+
_providedHandleOnUpdate(() => addUpdatePortal(name, themedChildren))
|
|
82
96
|
} else {
|
|
83
|
-
addUpdatePortal(name,
|
|
97
|
+
addUpdatePortal(name, themedChildren)
|
|
84
98
|
}
|
|
85
99
|
})
|
|
86
100
|
|
|
@@ -97,7 +111,7 @@ const GorhomPortalItemFallback = (props: PortalItemProps) => {
|
|
|
97
111
|
if (passThrough) return
|
|
98
112
|
|
|
99
113
|
handleOnUpdate()
|
|
100
|
-
}, [children])
|
|
114
|
+
}, [children, themeName])
|
|
101
115
|
|
|
102
116
|
return passThrough ? children : null
|
|
103
117
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GorhomPortalItem.native.d.ts","sourceRoot":"","sources":["../src/GorhomPortalItem.native.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GorhomPortalItem.native.d.ts","sourceRoot":"","sources":["../src/GorhomPortalItem.native.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C,eAAO,MAAM,gBAAgB,GAAI,OAAO,eAAe,4WAkCtD,CAAA"}
|