@fluentui/react-portal 9.0.0-alpha.45 → 9.0.0-alpha.49
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/CHANGELOG.json +73 -1
- package/CHANGELOG.md +40 -2
- package/dist/react-portal.d.ts +8 -6
- package/lib/components/Portal/Portal.types.d.ts +6 -4
- package/lib/components/Portal/Portal.types.js.map +1 -1
- package/lib/components/Portal/usePortal.d.ts +1 -2
- package/lib/components/Portal/usePortal.js +10 -8
- package/lib/components/Portal/usePortal.js.map +1 -1
- package/lib-amd/components/Portal/Portal.types.d.ts +6 -4
- package/lib-amd/components/Portal/Portal.types.js.map +1 -1
- package/lib-amd/components/Portal/usePortal.d.ts +1 -2
- package/lib-amd/components/Portal/usePortal.js +9 -7
- package/lib-amd/components/Portal/usePortal.js.map +1 -1
- package/lib-commonjs/components/Portal/Portal.types.d.ts +6 -4
- package/lib-commonjs/components/Portal/Portal.types.js.map +1 -1
- package/lib-commonjs/components/Portal/usePortal.d.ts +1 -2
- package/lib-commonjs/components/Portal/usePortal.js +9 -7
- package/lib-commonjs/components/Portal/usePortal.js.map +1 -1
- package/package.json +6 -6
package/CHANGELOG.json
CHANGED
|
@@ -2,7 +2,79 @@
|
|
|
2
2
|
"name": "@fluentui/react-portal",
|
|
3
3
|
"entries": [
|
|
4
4
|
{
|
|
5
|
-
"date": "Fri,
|
|
5
|
+
"date": "Fri, 17 Sep 2021 07:32:57 GMT",
|
|
6
|
+
"tag": "@fluentui/react-portal_v9.0.0-alpha.49",
|
|
7
|
+
"version": "9.0.0-alpha.49",
|
|
8
|
+
"comments": {
|
|
9
|
+
"prerelease": [
|
|
10
|
+
{
|
|
11
|
+
"author": "Humberto.Morimoto@microsoft.com",
|
|
12
|
+
"package": "@fluentui/react-portal",
|
|
13
|
+
"commit": "90d71a0914acbb73a0365d60a85237e3d58ef575",
|
|
14
|
+
"comment": "Bump @fluentui/react-portal to v9.0.0-alpha.49"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"date": "Thu, 16 Sep 2021 07:38:39 GMT",
|
|
21
|
+
"tag": "@fluentui/react-portal_v9.0.0-alpha.48",
|
|
22
|
+
"version": "9.0.0-alpha.48",
|
|
23
|
+
"comments": {
|
|
24
|
+
"prerelease": [
|
|
25
|
+
{
|
|
26
|
+
"author": "behowell@microsoft.com",
|
|
27
|
+
"package": "@fluentui/react-portal",
|
|
28
|
+
"commit": "fbe41e2877a20ce0f3c01b5188e17c12f941cc4c",
|
|
29
|
+
"comment": "Bump @fluentui/react-portal to v9.0.0-alpha.48"
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"date": "Tue, 14 Sep 2021 20:09:02 GMT",
|
|
36
|
+
"tag": "@fluentui/react-portal_v9.0.0-alpha.47",
|
|
37
|
+
"version": "9.0.0-alpha.47",
|
|
38
|
+
"comments": {
|
|
39
|
+
"prerelease": [
|
|
40
|
+
{
|
|
41
|
+
"author": "bsunderhus@microsoft.com",
|
|
42
|
+
"package": "@fluentui/react-portal",
|
|
43
|
+
"commit": "10495c31fb5c5cf48b4665601a75a0cfabb6a03c",
|
|
44
|
+
"comment": "Bump @fluentui/react-portal to v9.0.0-alpha.47"
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"date": "Fri, 10 Sep 2021 16:31:53 GMT",
|
|
51
|
+
"tag": "@fluentui/react-portal_v9.0.0-alpha.46",
|
|
52
|
+
"version": "9.0.0-alpha.46",
|
|
53
|
+
"comments": {
|
|
54
|
+
"prerelease": [
|
|
55
|
+
{
|
|
56
|
+
"author": "olfedias@microsoft.com",
|
|
57
|
+
"package": "@fluentui/react-portal",
|
|
58
|
+
"comment": "use simplified prop merging",
|
|
59
|
+
"commit": "01a06f5b2aa14ae96a2fca056d34d99a5ad124e0"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"author": "lingfangao@hotmail.com",
|
|
63
|
+
"package": "@fluentui/react-portal",
|
|
64
|
+
"comment": "chore(v9): Move all internal v9 dependencies from caret to fixed version",
|
|
65
|
+
"commit": "01a06f5b2aa14ae96a2fca056d34d99a5ad124e0"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"author": "lingfangao@hotmail.com",
|
|
69
|
+
"package": "@fluentui/react-portal",
|
|
70
|
+
"commit": "01a06f5b2aa14ae96a2fca056d34d99a5ad124e0",
|
|
71
|
+
"comment": "Bump @fluentui/react-portal to v9.0.0-alpha.46"
|
|
72
|
+
}
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"date": "Fri, 10 Sep 2021 07:39:51 GMT",
|
|
6
78
|
"tag": "@fluentui/react-portal_v9.0.0-alpha.45",
|
|
7
79
|
"version": "9.0.0-alpha.45",
|
|
8
80
|
"comments": {
|
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,50 @@
|
|
|
1
1
|
# Change Log - @fluentui/react-portal
|
|
2
2
|
|
|
3
|
-
This log was last generated on Fri,
|
|
3
|
+
This log was last generated on Fri, 17 Sep 2021 07:32:57 GMT and should not be manually modified.
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## [9.0.0-alpha.49](https://github.com/microsoft/fluentui/tree/@fluentui/react-portal_v9.0.0-alpha.49)
|
|
8
|
+
|
|
9
|
+
Fri, 17 Sep 2021 07:32:57 GMT
|
|
10
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-portal_v9.0.0-alpha.48..@fluentui/react-portal_v9.0.0-alpha.49)
|
|
11
|
+
|
|
12
|
+
### Changes
|
|
13
|
+
|
|
14
|
+
- Bump @fluentui/react-portal to v9.0.0-alpha.49 ([PR #19840](https://github.com/microsoft/fluentui/pull/19840) by Humberto.Morimoto@microsoft.com)
|
|
15
|
+
|
|
16
|
+
## [9.0.0-alpha.48](https://github.com/microsoft/fluentui/tree/@fluentui/react-portal_v9.0.0-alpha.48)
|
|
17
|
+
|
|
18
|
+
Thu, 16 Sep 2021 07:38:39 GMT
|
|
19
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-portal_v9.0.0-alpha.47..@fluentui/react-portal_v9.0.0-alpha.48)
|
|
20
|
+
|
|
21
|
+
### Changes
|
|
22
|
+
|
|
23
|
+
- Bump @fluentui/react-portal to v9.0.0-alpha.48 ([PR #19815](https://github.com/microsoft/fluentui/pull/19815) by behowell@microsoft.com)
|
|
24
|
+
|
|
25
|
+
## [9.0.0-alpha.47](https://github.com/microsoft/fluentui/tree/@fluentui/react-portal_v9.0.0-alpha.47)
|
|
26
|
+
|
|
27
|
+
Tue, 14 Sep 2021 20:09:02 GMT
|
|
28
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-portal_v9.0.0-alpha.46..@fluentui/react-portal_v9.0.0-alpha.47)
|
|
29
|
+
|
|
30
|
+
### Changes
|
|
31
|
+
|
|
32
|
+
- Bump @fluentui/react-portal to v9.0.0-alpha.47 ([PR #19155](https://github.com/microsoft/fluentui/pull/19155) by bsunderhus@microsoft.com)
|
|
33
|
+
|
|
34
|
+
## [9.0.0-alpha.46](https://github.com/microsoft/fluentui/tree/@fluentui/react-portal_v9.0.0-alpha.46)
|
|
35
|
+
|
|
36
|
+
Fri, 10 Sep 2021 16:31:53 GMT
|
|
37
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-portal_v9.0.0-alpha.45..@fluentui/react-portal_v9.0.0-alpha.46)
|
|
38
|
+
|
|
39
|
+
### Changes
|
|
40
|
+
|
|
41
|
+
- use simplified prop merging ([PR #19748](https://github.com/microsoft/fluentui/pull/19748) by olfedias@microsoft.com)
|
|
42
|
+
- chore(v9): Move all internal v9 dependencies from caret to fixed version ([PR #19748](https://github.com/microsoft/fluentui/pull/19748) by lingfangao@hotmail.com)
|
|
43
|
+
- Bump @fluentui/react-portal to v9.0.0-alpha.46 ([PR #19748](https://github.com/microsoft/fluentui/pull/19748) by lingfangao@hotmail.com)
|
|
44
|
+
|
|
7
45
|
## [9.0.0-alpha.45](https://github.com/microsoft/fluentui/tree/@fluentui/react-portal_v9.0.0-alpha.45)
|
|
8
46
|
|
|
9
|
-
Fri, 10 Sep 2021 07:
|
|
47
|
+
Fri, 10 Sep 2021 07:39:51 GMT
|
|
10
48
|
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-portal_v9.0.0-alpha.44..@fluentui/react-portal_v9.0.0-alpha.45)
|
|
11
49
|
|
|
12
50
|
### Changes
|
package/dist/react-portal.d.ts
CHANGED
|
@@ -13,19 +13,22 @@ export declare function elementContains(parent: HTMLElement | null, child: HTMLE
|
|
|
13
13
|
*/
|
|
14
14
|
export declare const Portal: React_2.FC<PortalProps>;
|
|
15
15
|
|
|
16
|
-
export declare interface
|
|
16
|
+
export declare interface PortalCommons {
|
|
17
17
|
/**
|
|
18
18
|
* React children
|
|
19
19
|
*/
|
|
20
|
-
children
|
|
20
|
+
children: React_2.ReactNode;
|
|
21
21
|
/**
|
|
22
22
|
* Where the portal children are mounted on DOM
|
|
23
23
|
* @defaultValue a new element on document.body without any styling
|
|
24
24
|
*/
|
|
25
|
-
mountNode
|
|
25
|
+
mountNode: HTMLDivElement | undefined;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
export declare interface
|
|
28
|
+
export declare interface PortalProps extends Partial<PortalCommons> {
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export declare interface PortalState extends PortalCommons {
|
|
29
32
|
/** Indicates if a Portal should be rendered. */
|
|
30
33
|
shouldRender: boolean;
|
|
31
34
|
/**
|
|
@@ -53,8 +56,7 @@ export declare function setVirtualParent(child: HTMLElement, parent?: HTMLElemen
|
|
|
53
56
|
* The returned state can be modified with hooks such as usePortalStyles, before being passed to renderPortal.
|
|
54
57
|
*
|
|
55
58
|
* @param props - props from this instance of Portal
|
|
56
|
-
* @param defaultProps - (optional) default prop values provided by the implementing type
|
|
57
59
|
*/
|
|
58
|
-
export declare const usePortal: (props: PortalProps
|
|
60
|
+
export declare const usePortal: (props: PortalProps) => PortalState;
|
|
59
61
|
|
|
60
62
|
export { }
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
export interface
|
|
2
|
+
export interface PortalCommons {
|
|
3
3
|
/**
|
|
4
4
|
* React children
|
|
5
5
|
*/
|
|
6
|
-
children
|
|
6
|
+
children: React.ReactNode;
|
|
7
7
|
/**
|
|
8
8
|
* Where the portal children are mounted on DOM
|
|
9
9
|
* @defaultValue a new element on document.body without any styling
|
|
10
10
|
*/
|
|
11
|
-
mountNode
|
|
11
|
+
mountNode: HTMLDivElement | undefined;
|
|
12
12
|
}
|
|
13
|
-
export interface
|
|
13
|
+
export interface PortalProps extends Partial<PortalCommons> {
|
|
14
|
+
}
|
|
15
|
+
export interface PortalState extends PortalCommons {
|
|
14
16
|
/** Indicates if a Portal should be rendered. */
|
|
15
17
|
shouldRender: boolean;
|
|
16
18
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Portal.types.js","sourceRoot":"../src/","sources":["components/Portal/Portal.types.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\n\nexport interface
|
|
1
|
+
{"version":3,"file":"Portal.types.js","sourceRoot":"../src/","sources":["components/Portal/Portal.types.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\n\nexport interface PortalCommons {\n /**\n * React children\n */\n children: React.ReactNode;\n /**\n * Where the portal children are mounted on DOM\n * @defaultValue a new element on document.body without any styling\n */\n mountNode: HTMLDivElement | undefined;\n}\n\nexport interface PortalProps extends Partial<PortalCommons> {}\n\nexport interface PortalState extends PortalCommons {\n /** Indicates if a Portal should be rendered. */\n shouldRender: boolean;\n\n /**\n * Ref to the root span element as virtual parent\n */\n virtualParentRootRef: React.MutableRefObject<HTMLSpanElement | null>;\n}\n"]}
|
|
@@ -5,6 +5,5 @@ import type { PortalProps, PortalState } from './Portal.types';
|
|
|
5
5
|
* The returned state can be modified with hooks such as usePortalStyles, before being passed to renderPortal.
|
|
6
6
|
*
|
|
7
7
|
* @param props - props from this instance of Portal
|
|
8
|
-
* @param defaultProps - (optional) default prop values provided by the implementing type
|
|
9
8
|
*/
|
|
10
|
-
export declare const usePortal: (props: PortalProps
|
|
9
|
+
export declare const usePortal: (props: PortalProps) => PortalState;
|
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { useIsSSR } from '@fluentui/react-utilities';
|
|
3
3
|
import { usePortalMountNode } from './usePortalMountNode';
|
|
4
4
|
import { setVirtualParent } from '../../virtualParent/index';
|
|
5
|
-
var mergeProps = makeMergeProps();
|
|
6
5
|
/**
|
|
7
6
|
* Create the state required to render Portal.
|
|
8
7
|
*
|
|
9
8
|
* The returned state can be modified with hooks such as usePortalStyles, before being passed to renderPortal.
|
|
10
9
|
*
|
|
11
10
|
* @param props - props from this instance of Portal
|
|
12
|
-
* @param defaultProps - (optional) default prop values provided by the implementing type
|
|
13
11
|
*/
|
|
14
|
-
export var usePortal = function (props
|
|
15
|
-
var
|
|
12
|
+
export var usePortal = function (props) {
|
|
13
|
+
var children = props.children, mountNode = props.mountNode;
|
|
16
14
|
var virtualParentRootRef = React.useRef(null);
|
|
17
|
-
var
|
|
18
|
-
var
|
|
19
|
-
|
|
15
|
+
var fallbackMountNode = usePortalMountNode({ disabled: !!mountNode });
|
|
16
|
+
var state = {
|
|
17
|
+
children: children,
|
|
18
|
+
mountNode: mountNode !== null && mountNode !== void 0 ? mountNode : fallbackMountNode,
|
|
19
|
+
shouldRender: !useIsSSR(),
|
|
20
|
+
virtualParentRootRef: virtualParentRootRef,
|
|
21
|
+
};
|
|
20
22
|
React.useEffect(function () {
|
|
21
23
|
if (state.virtualParentRootRef.current && state.mountNode) {
|
|
22
24
|
setVirtualParent(state.mountNode, state.virtualParentRootRef.current);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePortal.js","sourceRoot":"../src/","sources":["components/Portal/usePortal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"usePortal.js","sourceRoot":"../src/","sources":["components/Portal/usePortal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAG7D;;;;;;GAMG;AACH,MAAM,CAAC,IAAM,SAAS,GAAG,UAAC,KAAkB;IAClC,IAAA,QAAQ,GAAgB,KAAK,SAArB,EAAE,SAAS,GAAK,KAAK,UAAV,CAAW;IAEtC,IAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAAkB,IAAI,CAAC,CAAC;IACjE,IAAM,iBAAiB,GAAG,kBAAkB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IAExE,IAAM,KAAK,GAAgB;QACzB,QAAQ,UAAA;QACR,SAAS,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,iBAAiB;QACzC,YAAY,EAAE,CAAC,QAAQ,EAAE;QACzB,oBAAoB,sBAAA;KACrB,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC;QACd,IAAI,KAAK,CAAC,oBAAoB,CAAC,OAAO,IAAI,KAAK,CAAC,SAAS,EAAE;YACzD,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;SACvE;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAElD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["import * as React from 'react';\nimport { useIsSSR } from '@fluentui/react-utilities';\nimport { usePortalMountNode } from './usePortalMountNode';\nimport { setVirtualParent } from '../../virtualParent/index';\nimport type { PortalProps, PortalState } from './Portal.types';\n\n/**\n * Create the state required to render Portal.\n *\n * The returned state can be modified with hooks such as usePortalStyles, before being passed to renderPortal.\n *\n * @param props - props from this instance of Portal\n */\nexport const usePortal = (props: PortalProps): PortalState => {\n const { children, mountNode } = props;\n\n const virtualParentRootRef = React.useRef<HTMLSpanElement>(null);\n const fallbackMountNode = usePortalMountNode({ disabled: !!mountNode });\n\n const state: PortalState = {\n children,\n mountNode: mountNode ?? fallbackMountNode,\n shouldRender: !useIsSSR(),\n virtualParentRootRef,\n };\n\n React.useEffect(() => {\n if (state.virtualParentRootRef.current && state.mountNode) {\n setVirtualParent(state.mountNode, state.virtualParentRootRef.current);\n }\n }, [state.virtualParentRootRef, state.mountNode]);\n\n return state;\n};\n"]}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
export interface
|
|
2
|
+
export interface PortalCommons {
|
|
3
3
|
/**
|
|
4
4
|
* React children
|
|
5
5
|
*/
|
|
6
|
-
children
|
|
6
|
+
children: React.ReactNode;
|
|
7
7
|
/**
|
|
8
8
|
* Where the portal children are mounted on DOM
|
|
9
9
|
* @defaultValue a new element on document.body without any styling
|
|
10
10
|
*/
|
|
11
|
-
mountNode
|
|
11
|
+
mountNode: HTMLDivElement | undefined;
|
|
12
12
|
}
|
|
13
|
-
export interface
|
|
13
|
+
export interface PortalProps extends Partial<PortalCommons> {
|
|
14
|
+
}
|
|
15
|
+
export interface PortalState extends PortalCommons {
|
|
14
16
|
/** Indicates if a Portal should be rendered. */
|
|
15
17
|
shouldRender: boolean;
|
|
16
18
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Portal.types.js","sourceRoot":"../src/","sources":["components/Portal/Portal.types.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\n\nexport interface
|
|
1
|
+
{"version":3,"file":"Portal.types.js","sourceRoot":"../src/","sources":["components/Portal/Portal.types.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\n\nexport interface PortalCommons {\n /**\n * React children\n */\n children: React.ReactNode;\n /**\n * Where the portal children are mounted on DOM\n * @defaultValue a new element on document.body without any styling\n */\n mountNode: HTMLDivElement | undefined;\n}\n\nexport interface PortalProps extends Partial<PortalCommons> {}\n\nexport interface PortalState extends PortalCommons {\n /** Indicates if a Portal should be rendered. */\n shouldRender: boolean;\n\n /**\n * Ref to the root span element as virtual parent\n */\n virtualParentRootRef: React.MutableRefObject<HTMLSpanElement | null>;\n}\n"]}
|
|
@@ -5,6 +5,5 @@ import type { PortalProps, PortalState } from './Portal.types';
|
|
|
5
5
|
* The returned state can be modified with hooks such as usePortalStyles, before being passed to renderPortal.
|
|
6
6
|
*
|
|
7
7
|
* @param props - props from this instance of Portal
|
|
8
|
-
* @param defaultProps - (optional) default prop values provided by the implementing type
|
|
9
8
|
*/
|
|
10
|
-
export declare const usePortal: (props: PortalProps
|
|
9
|
+
export declare const usePortal: (props: PortalProps) => PortalState;
|
|
@@ -2,21 +2,23 @@ define(["require", "exports", "react", "@fluentui/react-utilities", "./usePortal
|
|
|
2
2
|
"use strict";
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.usePortal = void 0;
|
|
5
|
-
var mergeProps = react_utilities_1.makeMergeProps();
|
|
6
5
|
/**
|
|
7
6
|
* Create the state required to render Portal.
|
|
8
7
|
*
|
|
9
8
|
* The returned state can be modified with hooks such as usePortalStyles, before being passed to renderPortal.
|
|
10
9
|
*
|
|
11
10
|
* @param props - props from this instance of Portal
|
|
12
|
-
* @param defaultProps - (optional) default prop values provided by the implementing type
|
|
13
11
|
*/
|
|
14
|
-
var usePortal = function (props
|
|
15
|
-
var
|
|
12
|
+
var usePortal = function (props) {
|
|
13
|
+
var children = props.children, mountNode = props.mountNode;
|
|
16
14
|
var virtualParentRootRef = React.useRef(null);
|
|
17
|
-
var
|
|
18
|
-
var
|
|
19
|
-
|
|
15
|
+
var fallbackMountNode = usePortalMountNode_1.usePortalMountNode({ disabled: !!mountNode });
|
|
16
|
+
var state = {
|
|
17
|
+
children: children,
|
|
18
|
+
mountNode: mountNode !== null && mountNode !== void 0 ? mountNode : fallbackMountNode,
|
|
19
|
+
shouldRender: !react_utilities_1.useIsSSR(),
|
|
20
|
+
virtualParentRootRef: virtualParentRootRef,
|
|
21
|
+
};
|
|
20
22
|
React.useEffect(function () {
|
|
21
23
|
if (state.virtualParentRootRef.current && state.mountNode) {
|
|
22
24
|
index_1.setVirtualParent(state.mountNode, state.virtualParentRootRef.current);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePortal.js","sourceRoot":"../src/","sources":["components/Portal/usePortal.ts"],"names":[],"mappings":";;;;IAMA,IAAM,
|
|
1
|
+
{"version":3,"file":"usePortal.js","sourceRoot":"../src/","sources":["components/Portal/usePortal.ts"],"names":[],"mappings":";;;;IAMA;;;;;;OAMG;IACI,IAAM,SAAS,GAAG,UAAC,KAAkB;QAClC,IAAA,QAAQ,GAAgB,KAAK,SAArB,EAAE,SAAS,GAAK,KAAK,UAAV,CAAW;QAEtC,IAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAAkB,IAAI,CAAC,CAAC;QACjE,IAAM,iBAAiB,GAAG,uCAAkB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QAExE,IAAM,KAAK,GAAgB;YACzB,QAAQ,UAAA;YACR,SAAS,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,iBAAiB;YACzC,YAAY,EAAE,CAAC,0BAAQ,EAAE;YACzB,oBAAoB,sBAAA;SACrB,CAAC;QAEF,KAAK,CAAC,SAAS,CAAC;YACd,IAAI,KAAK,CAAC,oBAAoB,CAAC,OAAO,IAAI,KAAK,CAAC,SAAS,EAAE;gBACzD,wBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;aACvE;QACH,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAElD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IApBW,QAAA,SAAS,aAoBpB","sourcesContent":["import * as React from 'react';\nimport { useIsSSR } from '@fluentui/react-utilities';\nimport { usePortalMountNode } from './usePortalMountNode';\nimport { setVirtualParent } from '../../virtualParent/index';\nimport type { PortalProps, PortalState } from './Portal.types';\n\n/**\n * Create the state required to render Portal.\n *\n * The returned state can be modified with hooks such as usePortalStyles, before being passed to renderPortal.\n *\n * @param props - props from this instance of Portal\n */\nexport const usePortal = (props: PortalProps): PortalState => {\n const { children, mountNode } = props;\n\n const virtualParentRootRef = React.useRef<HTMLSpanElement>(null);\n const fallbackMountNode = usePortalMountNode({ disabled: !!mountNode });\n\n const state: PortalState = {\n children,\n mountNode: mountNode ?? fallbackMountNode,\n shouldRender: !useIsSSR(),\n virtualParentRootRef,\n };\n\n React.useEffect(() => {\n if (state.virtualParentRootRef.current && state.mountNode) {\n setVirtualParent(state.mountNode, state.virtualParentRootRef.current);\n }\n }, [state.virtualParentRootRef, state.mountNode]);\n\n return state;\n};\n"]}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
export interface
|
|
2
|
+
export interface PortalCommons {
|
|
3
3
|
/**
|
|
4
4
|
* React children
|
|
5
5
|
*/
|
|
6
|
-
children
|
|
6
|
+
children: React.ReactNode;
|
|
7
7
|
/**
|
|
8
8
|
* Where the portal children are mounted on DOM
|
|
9
9
|
* @defaultValue a new element on document.body without any styling
|
|
10
10
|
*/
|
|
11
|
-
mountNode
|
|
11
|
+
mountNode: HTMLDivElement | undefined;
|
|
12
12
|
}
|
|
13
|
-
export interface
|
|
13
|
+
export interface PortalProps extends Partial<PortalCommons> {
|
|
14
|
+
}
|
|
15
|
+
export interface PortalState extends PortalCommons {
|
|
14
16
|
/** Indicates if a Portal should be rendered. */
|
|
15
17
|
shouldRender: boolean;
|
|
16
18
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Portal.types.js","sourceRoot":"../src/","sources":["components/Portal/Portal.types.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\n\nexport interface
|
|
1
|
+
{"version":3,"file":"Portal.types.js","sourceRoot":"../src/","sources":["components/Portal/Portal.types.ts"],"names":[],"mappings":"","sourcesContent":["import * as React from 'react';\n\nexport interface PortalCommons {\n /**\n * React children\n */\n children: React.ReactNode;\n /**\n * Where the portal children are mounted on DOM\n * @defaultValue a new element on document.body without any styling\n */\n mountNode: HTMLDivElement | undefined;\n}\n\nexport interface PortalProps extends Partial<PortalCommons> {}\n\nexport interface PortalState extends PortalCommons {\n /** Indicates if a Portal should be rendered. */\n shouldRender: boolean;\n\n /**\n * Ref to the root span element as virtual parent\n */\n virtualParentRootRef: React.MutableRefObject<HTMLSpanElement | null>;\n}\n"]}
|
|
@@ -5,6 +5,5 @@ import type { PortalProps, PortalState } from './Portal.types';
|
|
|
5
5
|
* The returned state can be modified with hooks such as usePortalStyles, before being passed to renderPortal.
|
|
6
6
|
*
|
|
7
7
|
* @param props - props from this instance of Portal
|
|
8
|
-
* @param defaultProps - (optional) default prop values provided by the implementing type
|
|
9
8
|
*/
|
|
10
|
-
export declare const usePortal: (props: PortalProps
|
|
9
|
+
export declare const usePortal: (props: PortalProps) => PortalState;
|
|
@@ -5,21 +5,23 @@ var React = require("react");
|
|
|
5
5
|
var react_utilities_1 = require("@fluentui/react-utilities");
|
|
6
6
|
var usePortalMountNode_1 = require("./usePortalMountNode");
|
|
7
7
|
var index_1 = require("../../virtualParent/index");
|
|
8
|
-
var mergeProps = react_utilities_1.makeMergeProps();
|
|
9
8
|
/**
|
|
10
9
|
* Create the state required to render Portal.
|
|
11
10
|
*
|
|
12
11
|
* The returned state can be modified with hooks such as usePortalStyles, before being passed to renderPortal.
|
|
13
12
|
*
|
|
14
13
|
* @param props - props from this instance of Portal
|
|
15
|
-
* @param defaultProps - (optional) default prop values provided by the implementing type
|
|
16
14
|
*/
|
|
17
|
-
var usePortal = function (props
|
|
18
|
-
var
|
|
15
|
+
var usePortal = function (props) {
|
|
16
|
+
var children = props.children, mountNode = props.mountNode;
|
|
19
17
|
var virtualParentRootRef = React.useRef(null);
|
|
20
|
-
var
|
|
21
|
-
var
|
|
22
|
-
|
|
18
|
+
var fallbackMountNode = usePortalMountNode_1.usePortalMountNode({ disabled: !!mountNode });
|
|
19
|
+
var state = {
|
|
20
|
+
children: children,
|
|
21
|
+
mountNode: mountNode !== null && mountNode !== void 0 ? mountNode : fallbackMountNode,
|
|
22
|
+
shouldRender: !react_utilities_1.useIsSSR(),
|
|
23
|
+
virtualParentRootRef: virtualParentRootRef,
|
|
24
|
+
};
|
|
23
25
|
React.useEffect(function () {
|
|
24
26
|
if (state.virtualParentRootRef.current && state.mountNode) {
|
|
25
27
|
index_1.setVirtualParent(state.mountNode, state.virtualParentRootRef.current);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePortal.js","sourceRoot":"../src/","sources":["components/Portal/usePortal.ts"],"names":[],"mappings":";;;AAAA,6BAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"usePortal.js","sourceRoot":"../src/","sources":["components/Portal/usePortal.ts"],"names":[],"mappings":";;;AAAA,6BAA+B;AAC/B,6DAAqD;AACrD,2DAA0D;AAC1D,mDAA6D;AAG7D;;;;;;GAMG;AACI,IAAM,SAAS,GAAG,UAAC,KAAkB;IAClC,IAAA,QAAQ,GAAgB,KAAK,SAArB,EAAE,SAAS,GAAK,KAAK,UAAV,CAAW;IAEtC,IAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAAkB,IAAI,CAAC,CAAC;IACjE,IAAM,iBAAiB,GAAG,uCAAkB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;IAExE,IAAM,KAAK,GAAgB;QACzB,QAAQ,UAAA;QACR,SAAS,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,iBAAiB;QACzC,YAAY,EAAE,CAAC,0BAAQ,EAAE;QACzB,oBAAoB,sBAAA;KACrB,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC;QACd,IAAI,KAAK,CAAC,oBAAoB,CAAC,OAAO,IAAI,KAAK,CAAC,SAAS,EAAE;YACzD,wBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;SACvE;IACH,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAoB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAElD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AApBW,QAAA,SAAS,aAoBpB","sourcesContent":["import * as React from 'react';\nimport { useIsSSR } from '@fluentui/react-utilities';\nimport { usePortalMountNode } from './usePortalMountNode';\nimport { setVirtualParent } from '../../virtualParent/index';\nimport type { PortalProps, PortalState } from './Portal.types';\n\n/**\n * Create the state required to render Portal.\n *\n * The returned state can be modified with hooks such as usePortalStyles, before being passed to renderPortal.\n *\n * @param props - props from this instance of Portal\n */\nexport const usePortal = (props: PortalProps): PortalState => {\n const { children, mountNode } = props;\n\n const virtualParentRootRef = React.useRef<HTMLSpanElement>(null);\n const fallbackMountNode = usePortalMountNode({ disabled: !!mountNode });\n\n const state: PortalState = {\n children,\n mountNode: mountNode ?? fallbackMountNode,\n shouldRender: !useIsSSR(),\n virtualParentRootRef,\n };\n\n React.useEffect(() => {\n if (state.virtualParentRootRef.current && state.mountNode) {\n setVirtualParent(state.mountNode, state.virtualParentRootRef.current);\n }\n }, [state.virtualParentRootRef, state.mountNode]);\n\n return state;\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluentui/react-portal",
|
|
3
|
-
"version": "9.0.0-alpha.
|
|
3
|
+
"version": "9.0.0-alpha.49",
|
|
4
4
|
"description": "A utility component that creates portals compatible with Fluent UI",
|
|
5
5
|
"main": "lib-commonjs/index.js",
|
|
6
6
|
"module": "lib/index.js",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@fluentui/eslint-plugin": "^1.4.1",
|
|
29
|
-
"@fluentui/jest-serializer-make-styles": "
|
|
29
|
+
"@fluentui/jest-serializer-make-styles": "9.0.0-alpha.42",
|
|
30
30
|
"@fluentui/react-conformance": "^0.5.0",
|
|
31
31
|
"@fluentui/scripts": "^1.0.0",
|
|
32
32
|
"@types/enzyme": "3.10.3",
|
|
@@ -41,10 +41,10 @@
|
|
|
41
41
|
"react-test-renderer": "^16.3.0"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@fluentui/react-make-styles": "
|
|
45
|
-
"@fluentui/react-shared-contexts": "
|
|
46
|
-
"@fluentui/react-tabster": "
|
|
47
|
-
"@fluentui/react-utilities": "
|
|
44
|
+
"@fluentui/react-make-styles": "9.0.0-alpha.67",
|
|
45
|
+
"@fluentui/react-shared-contexts": "9.0.0-alpha.24",
|
|
46
|
+
"@fluentui/react-tabster": "9.0.0-alpha.61",
|
|
47
|
+
"@fluentui/react-utilities": "9.0.0-alpha.49",
|
|
48
48
|
"tslib": "^2.1.0"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|