Skip to content

Commit 9a63a21

Browse files
authored
chore(xplat): Update canUseDOM to be aware of ReactNative (#30872)
1 parent 010acf5 commit 9a63a21

File tree

7 files changed

+21
-5
lines changed

7 files changed

+21
-5
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"type": "none",
3+
"comment": "Update api.md file from TypeScript 5 changes",
4+
"packageName": "@fluentui/react-accordion",
5+
"email": "[email protected]",
6+
"dependentChangeType": "none"
7+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"type": "patch",
3+
"comment": "chore(xplat): Update canUseDOM to be aware of ReactNative",
4+
"packageName": "@fluentui/react-utilities",
5+
"email": "[email protected]",
6+
"dependentChangeType": "patch"
7+
}

packages/react-components/react-platform-adapter-preview/package.json

-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
"dependencies": {
3737
"@fluentui/react-shared-contexts": "^9.15.2",
3838
"@fluentui/react-theme": "^9.1.19",
39-
"@fluentui/react-utilities": "^9.18.5",
4039
"@griffel/core": "^1.14.1",
4140
"@griffel/react": "^1.5.14",
4241
"@swc/helpers": "^0.5.1",

packages/react-components/react-platform-adapter-preview/src/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ export { shorthands } from './styling/shorthands';
99
export { isReactNative } from './utilities/isReactNative';
1010

1111
// re-export some griffel types to have fluent use the griffel adapter instead of griffel directly
12-
export { useRenderer_unstable, TextDirectionProvider } from '@griffel/react';
1312
export { makeStyles as makeStylesCore } from '@griffel/core';
13+
export { TextDirectionProvider, useRenderer_unstable } from '@griffel/react';

packages/react-components/react-provider/src/components/FluentProvider/renderFluentProvider.tsx

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {
1313
} from '@fluentui/react-shared-contexts';
1414
import type { FluentProviderContextValues, FluentProviderState, FluentProviderSlots } from './FluentProvider.types';
1515
import { IconDirectionContextProvider } from '@fluentui/react-icons';
16-
import { isReactNative, XPlatProvider } from '@fluentui/react-platform-adapter-preview';
16+
import { XPlatProvider } from '@fluentui/react-platform-adapter-preview';
1717

1818
/**
1919
* Render the final JSX of FluentProvider
@@ -41,7 +41,7 @@ export const renderFluentProvider_unstable = (
4141
<IconDirectionContextProvider value={contextValues.iconDirection}>
4242
<OverridesProvider value={contextValues.overrides_unstable}>
4343
<state.root>
44-
{canUseDOM() || isReactNative ? null : (
44+
{canUseDOM() ? null : (
4545
<style
4646
// Using dangerous HTML because react can escape characters
4747
// which can lead to invalid CSS.

packages/react-components/react-utilities/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
},
3333
"dependencies": {
3434
"@fluentui/keyboard-keys": "^9.0.7",
35+
"@fluentui/react-platform-adapter-preview": "^0.0.0",
3536
"@fluentui/react-shared-contexts": "^9.15.2",
3637
"@swc/helpers": "^0.5.1"
3738
},
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1+
import { isReactNative } from '@fluentui/react-platform-adapter-preview';
2+
13
/**
24
* Verifies if an application can use DOM.
35
*/
46
export function canUseDOM(): boolean {
57
return (
68
// eslint-disable-next-line deprecation/deprecation, no-restricted-globals
7-
typeof window !== 'undefined' && !!(window.document && window.document.createElement)
9+
(typeof window !== 'undefined' && !!(window.document && window.document.createElement)) || isReactNative
810
);
911
}

0 commit comments

Comments
 (0)