From 4ccf8abffe25ded7dbd7ea22eaf7ea753c434f5f Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Mon, 26 Jan 2026 10:49:44 -0800 Subject: [PATCH 1/2] change JSX.Element to React.JSX.Element (pre-81 change) --- README.md | 2 +- .../components/MenuButton/src/MenuButton.tsx | 2 +- packages/components/Persona/src/Persona.tsx | 2 +- .../PersonaCoin/src/PersonaCoin.tsx | 2 +- packages/components/Stack/src/Stack.tsx | 2 +- .../foundation-composable/README.md | 8 +- .../foundation-composable/docs/GuideSimple.md | 10 +-- .../etc/foundation-composable.api.md | 77 +++++++++++++------ .../foundation-composable/src/Composable.ts | 2 +- .../src/Composable.types.ts | 6 +- .../deprecated/theming-react-native/README.md | 2 +- .../etc/theming-react-native.api.md | 23 +++--- .../theming-react-native/src/ThemeLayer.tsx | 4 +- .../MenuButton/src/renderContextualMenu.tsx | 4 +- .../src/component-patterns/render.types.ts | 2 +- .../framework/use-tokens/src/customizable.ts | 7 +- 16 files changed, 96 insertions(+), 59 deletions(-) diff --git a/README.md b/README.md index 91069688aef..045d9f23e38 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ If you have an existing React Native project, it's easy to begin using FluentUI import { Checkbox } from '@fluentui/react-native'; ``` -4. After importing the @fluentui/react-native package, you can use components such as `Text` and `Checkbox` in your JSX. +4. After importing the @fluentui/react-native package, you can use components such as `Text` and `Checkbox` in your React.JSX. ```jsx // In App.js in a new project diff --git a/packages/components/MenuButton/src/MenuButton.tsx b/packages/components/MenuButton/src/MenuButton.tsx index a7154abb3e9..0bff35c29c8 100644 --- a/packages/components/MenuButton/src/MenuButton.tsx +++ b/packages/components/MenuButton/src/MenuButton.tsx @@ -133,7 +133,7 @@ export const MenuButton = compose({ }, }); -const SubMenuItem: React.FunctionComponent = (props: MenuButtonItemProps): JSX.Element => { +const SubMenuItem: React.FunctionComponent = (props: MenuButtonItemProps): React.JSX.Element => { const [showSubmenuState, setShowSubmenu] = React.useState(false); const toggleShowSubmenu = React.useCallback(() => { setShowSubmenu(!showSubmenuState); diff --git a/packages/components/Persona/src/Persona.tsx b/packages/components/Persona/src/Persona.tsx index a5e62ed7611..a8b982d16be 100644 --- a/packages/components/Persona/src/Persona.tsx +++ b/packages/components/Persona/src/Persona.tsx @@ -49,7 +49,7 @@ function usePrepareForProps(props: IPersonaProps, useStyling: IUseComposeStyling }; } -const render = (Slots: ISlots, renderData: IPersonaRenderData): JSX.Element | null => { +const render = (Slots: ISlots, renderData: IPersonaRenderData): React.JSX.Element | null => { if (!renderData.state) { return null; } diff --git a/packages/components/PersonaCoin/src/PersonaCoin.tsx b/packages/components/PersonaCoin/src/PersonaCoin.tsx index a3eb4ec57d8..8cc5f34d14e 100644 --- a/packages/components/PersonaCoin/src/PersonaCoin.tsx +++ b/packages/components/PersonaCoin/src/PersonaCoin.tsx @@ -61,7 +61,7 @@ function usePrepareForProps( }; } -const render = (Slots: ISlots, renderData: IPersonaCoinRenderData): JSX.Element | null => { +const render = (Slots: ISlots, renderData: IPersonaCoinRenderData): React.JSX.Element | null => { if (!renderData.state) { return null; } diff --git a/packages/components/Stack/src/Stack.tsx b/packages/components/Stack/src/Stack.tsx index 93ac975c797..3cdafd8d537 100644 --- a/packages/components/Stack/src/Stack.tsx +++ b/packages/components/Stack/src/Stack.tsx @@ -35,7 +35,7 @@ function _mixinStyle(style: StyleProp | undefined, mixin: ObjectBase const _styleKey = 'style'; -const render = (Slots: ISlots, renderData: IStackRenderData, ...children: React.ReactNode[]): JSX.Element => { +const render = (Slots: ISlots, renderData: IStackRenderData, ...children: React.ReactNode[]): React.JSX.Element => { const { gap, horizontal, wrap } = renderData.state!; if (gap && gap > 0 && children && globalThis.__jsiExecutorDescription !== 'ChakraRuntime') { diff --git a/packages/deprecated/foundation-composable/README.md b/packages/deprecated/foundation-composable/README.md index 38295a02d64..fe9625dc367 100644 --- a/packages/deprecated/foundation-composable/README.md +++ b/packages/deprecated/foundation-composable/README.md @@ -39,7 +39,7 @@ export function composable< Slots: ISlots, renderData: IRenderData, ...children: React.ReactNode[] - ) => JSX.Element | null, + ) => React.JSX.Element | null, slots: { [K in keyof TSlotProps]: { slotType?: React.ElementType<> | string, @@ -131,7 +131,7 @@ render?: ( Slots: ISlots, renderData: IRenderData, ...children: React.ReactNode[] -) => JSX.Element | null, +) => React.JSX.Element | null, ``` The three parameters are: @@ -168,9 +168,9 @@ Render is optional in the case where there is only one sub-component, in this ca ## How it all works -The overall flow of a component can be seen in the following diagram. At its core, a functional react component takes in a set of props, and outputs a JSX.Element tree. +The overall flow of a component can be seen in the following diagram. At its core, a functional react component takes in a set of props, and outputs a React.JSX.Element tree. -Using composable, the normal flow is broken into two primary parts: `usePrepareProps` and `render`. The optional `useStyling` function allows for style injection, while the `slots` define the actual JSX.Elements that will be output. +Using composable, the normal flow is broken into two primary parts: `usePrepareProps` and `render`. The optional `useStyling` function allows for style injection, while the `slots` define the actual React.JSX.Elements that will be output. ![Composable Component Diagram](./docs/Composable.png) diff --git a/packages/deprecated/foundation-composable/docs/GuideSimple.md b/packages/deprecated/foundation-composable/docs/GuideSimple.md index 6d2726fd4ee..3ac16e279bc 100644 --- a/packages/deprecated/foundation-composable/docs/GuideSimple.md +++ b/packages/deprecated/foundation-composable/docs/GuideSimple.md @@ -77,7 +77,7 @@ type ITextSlotProps = ISlotProps; export function usePrepareProps( userProps: TextProps, - useStyling: IUseStyling + useStyling: IUseStyling, ): IRenderData { const { content, ...props } = userProps; const children = changeTextToUppercaseWithLocale(content); @@ -102,7 +102,7 @@ export function render( Slots: ISlots, renderData: IRenderData, ...children: React.ReactNode[] -): JSX.Element | null { +): React.JSX.Element | null { return renderSlot(Slots.root, null, ...children); } ``` @@ -124,8 +124,8 @@ export const UpperText = composable({ return { slotProps, state: { upperText } }; }, slots: { - root: { slotType: Text } - } + root: { slotType: Text }, + }, }); ``` @@ -141,7 +141,7 @@ export const StyledUpperText = composable({ useStyling: (props: TextProps) => { return { root: { style: myStyle } }; // could also be something like return { root: { classNames='.myClass' } }; - } + }, }); ``` diff --git a/packages/deprecated/foundation-composable/etc/foundation-composable.api.md b/packages/deprecated/foundation-composable/etc/foundation-composable.api.md index 89345dd5e7e..cac4a3b7355 100644 --- a/packages/deprecated/foundation-composable/etc/foundation-composable.api.md +++ b/packages/deprecated/foundation-composable/etc/foundation-composable.api.md @@ -3,32 +3,50 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts - import { ISlotProps } from '@uifabricshared/foundation-settings'; import * as React from 'react'; // @public -export function atomic(target: INativeSlotType, usePrepareProps: IComposable, TState>['usePrepareProps'], filter?: IPropFilter): React.FunctionComponent; +export function atomic( + target: INativeSlotType, + usePrepareProps: IComposable, TState>['usePrepareProps'], + filter?: IPropFilter, +): React.FunctionComponent; // @public (undocumented) -export function atomicRender(Slots: ISlots>, _renderData: IRenderData, TState>, ...children: React.ReactNode[]): JSX.Element | null; +export function atomicRender( + Slots: ISlots>, + _renderData: IRenderData, TState>, + ...children: React.ReactNode[] +): React.JSX.Element | null; // @public (undocumented) -export function atomicUsePrepareProps, TState = object>(props: TProps, useStyling: IUseStyling): IRenderData; +export function atomicUsePrepareProps, TState = object>( + props: TProps, + useStyling: IUseStyling, +): IRenderData; // @public -export function composable, TState = object>(options: IComposableDefinition): IWithComposable, IComposable>; +export function composable, TState = object>( + options: IComposableDefinition, +): IWithComposable, IComposable>; // @public export interface IComposable, TState = object> { - render: (Slots: ISlots, renderData: IRenderData, ...children: React.ReactNode[]) => JSX.Element | null; - slots: ISlotDefinitions; - usePrepareProps: (props: TProps, useStyling: IUseStyling) => IRenderData; - useStyling: IUseStyling; + render: ( + Slots: ISlots, + renderData: IRenderData, + ...children: React.ReactNode[] + ) => React.JSX.Element | null; + slots: ISlotDefinitions; + usePrepareProps: (props: TProps, useStyling: IUseStyling) => IRenderData; + useStyling: IUseStyling; } // @public (undocumented) -export type IComposableDefinition, TState = any> = Partial>; +export type IComposableDefinition, TState = any> = Partial< + IComposable +>; // @public export type INativeSlotType = React.ElementType | string; @@ -38,26 +56,26 @@ export type IPropFilter = (propName: string) => boolean; // @public export interface IRenderData { - // (undocumented) - slotProps?: TSlotProps; - // (undocumented) - state?: TState; + // (undocumented) + slotProps?: TSlotProps; + // (undocumented) + state?: TState; } // @public export type ISlotDefinitions = { - [K in keyof TSlotProps]: ISlotWithFilter; + [K in keyof TSlotProps]: ISlotWithFilter; }; // @public export type ISlots = { - [K in keyof TSlotProps]: React.FunctionComponent; + [K in keyof TSlotProps]: React.FunctionComponent; }; // @public export type ISlotWithFilter = { - slotType?: INativeSlotType; - filter?: IPropFilter; + slotType?: INativeSlotType; + filter?: IPropFilter; } & TMixin; // @public (undocumented) @@ -65,18 +83,29 @@ export type IUseStyling> = T & { - __composable: TComposable; + __composable: TComposable; }; // Warning: (ae-forgotten-export) The symbol "ISlotFn" needs to be exported by the entry point index.d.ts -// +// // @public -export function renderSlot(slot: INativeSlotType | ISlotFn, extraProps: TProps, ...children: React.ReactNode[]): React.ReactElement React.ReactElement React.Component)>) | (new (props: any) => React.Component)>; +export function renderSlot( + slot: INativeSlotType | ISlotFn, + extraProps: TProps, + ...children: React.ReactNode[] +): React.ReactElement< + any, + | string + | ((props: any) => React.ReactElement React.Component)>) + | (new (props: any) => React.Component) +>; // @public -export function withSlots

(reactType: INativeSlotType, props?: React.Attributes & P | null, ...children: React.ReactNode[]): ReturnType>; - +export function withSlots

( + reactType: INativeSlotType, + props?: (React.Attributes & P) | null, + ...children: React.ReactNode[] +): ReturnType>; // (No @packageDocumentation comment for this package) - ``` diff --git a/packages/deprecated/foundation-composable/src/Composable.ts b/packages/deprecated/foundation-composable/src/Composable.ts index 539df6792c5..d0d17bd901e 100644 --- a/packages/deprecated/foundation-composable/src/Composable.ts +++ b/packages/deprecated/foundation-composable/src/Composable.ts @@ -24,7 +24,7 @@ export function atomicRender( Slots: ISlots>, _renderData: IRenderData, TState>, ...children: React.ReactNode[] -): JSX.Element | null { +): React.JSX.Element | null { return renderSlot(Slots.root, undefined, ...children); } diff --git a/packages/deprecated/foundation-composable/src/Composable.types.ts b/packages/deprecated/foundation-composable/src/Composable.types.ts index 6de243dcd94..6c5b3e9d980 100644 --- a/packages/deprecated/foundation-composable/src/Composable.types.ts +++ b/packages/deprecated/foundation-composable/src/Composable.types.ts @@ -88,7 +88,11 @@ export interface IComposable { * @param renderData - IRenderData returned from usePrepareProps * @param children - The react children property in the form passed into React.createElement */ - render: (Slots: ISlots, renderData: IRenderData, ...children: React.ReactNode[]) => JSX.Element | null; + render: ( + Slots: ISlots, + renderData: IRenderData, + ...children: React.ReactNode[] + ) => React.JSX.Element | null; /** * The slot definitions for this component. If this only has one sub-component this will only have a root entry. Using diff --git a/packages/deprecated/theming-react-native/README.md b/packages/deprecated/theming-react-native/README.md index 1ec550144ed..cabaa1002af 100644 --- a/packages/deprecated/theming-react-native/README.md +++ b/packages/deprecated/theming-react-native/README.md @@ -64,7 +64,7 @@ import * as React from 'react'; import { ThemeContext, ITheme } from '@uifabricshared/theming-react-native'; export class OtherComponent extends React.Component { - public render(): JSX.Element { + public render(): React.JSX.Element { return ( {(theme: ITheme) => { diff --git a/packages/deprecated/theming-react-native/etc/theming-react-native.api.md b/packages/deprecated/theming-react-native/etc/theming-react-native.api.md index adfe34053c4..eb8861f1b12 100644 --- a/packages/deprecated/theming-react-native/etc/theming-react-native.api.md +++ b/packages/deprecated/theming-react-native/etc/theming-react-native.api.md @@ -3,7 +3,6 @@ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts - import { IPartialTheme } from '@uifabricshared/theming-ramp'; import { IProcessTheme } from '@uifabricshared/theme-registry'; import { ITheme } from '@uifabricshared/theming-ramp'; @@ -30,28 +29,30 @@ export type INativeThemeDefinition = IPartialTheme; // @public export interface IThemeLayerProps { - children: (theme: INativeTheme) => JSX.Element | null; - themeName?: string; + children: (theme: INativeTheme) => React.JSX.Element | null; + themeName?: string; } // @public export function removeThemeRegistryListener(listener: IThemeEventListener): void; // @public -export function setTheme(definition: INativeThemeDefinition | IProcessTheme, name?: string, parent?: string): void; +export function setTheme( + definition: INativeThemeDefinition | IProcessTheme, + name?: string, + parent?: string, +): void; // @public (undocumented) -export const ThemeContext: React.Context; +export const ThemeContext: React.Context; // @public export class ThemeLayer extends React.Component { - componentWillUnmount(): void; - onInvalidate: IThemeEventListener['onInvalidate']; - // (undocumented) - render(): JSX.Element; + componentWillUnmount(): void; + onInvalidate: IThemeEventListener['onInvalidate']; + // (undocumented) + render(): React.JSX.Element; } - // (No @packageDocumentation comment for this package) - ``` diff --git a/packages/deprecated/theming-react-native/src/ThemeLayer.tsx b/packages/deprecated/theming-react-native/src/ThemeLayer.tsx index 9ed227ef5d0..a238d5e027e 100644 --- a/packages/deprecated/theming-react-native/src/ThemeLayer.tsx +++ b/packages/deprecated/theming-react-native/src/ThemeLayer.tsx @@ -22,7 +22,7 @@ export interface IThemeLayerProps { * children function that allows passing of the theme to children. This is a standard pattern for * consumers. */ - children: (theme: ITheme) => JSX.Element | null; + children: (theme: ITheme) => React.JSX.Element | null; } /** @@ -74,7 +74,7 @@ export class ThemeLayer extends React.Component { } } - public render(): JSX.Element { + public render(): React.JSX.Element { let themeName = this.props.themeName; return ( diff --git a/packages/experimental/MenuButton/src/renderContextualMenu.tsx b/packages/experimental/MenuButton/src/renderContextualMenu.tsx index f19f3cd7065..b77449e1e1f 100644 --- a/packages/experimental/MenuButton/src/renderContextualMenu.tsx +++ b/packages/experimental/MenuButton/src/renderContextualMenu.tsx @@ -5,7 +5,7 @@ import { ContextualMenu, ContextualMenuItem, SubmenuItem, Submenu } from '@fluen import type { MenuButtonItemProps } from './MenuButton.types'; -export const renderContextualMenu = (contextualMenu: ContextualMenuProps, menuItems: MenuButtonItemProps[]): JSX.Element => { +export const renderContextualMenu = (contextualMenu: ContextualMenuProps, menuItems: MenuButtonItemProps[]): React.JSX.Element => { return ( {menuItems?.map((menuItem) => { @@ -15,7 +15,7 @@ export const renderContextualMenu = (contextualMenu: ContextualMenuProps, menuIt ); }; -const SubMenuItem: React.FunctionComponent = (props: MenuButtonItemProps): JSX.Element => { +const SubMenuItem: React.FunctionComponent = (props: MenuButtonItemProps): React.JSX.Element => { const [showSubmenuState, setShowSubmenu] = React.useState(false); const toggleShowSubmenu = React.useCallback(() => { setShowSubmenu(!showSubmenuState); diff --git a/packages/framework-base/src/component-patterns/render.types.ts b/packages/framework-base/src/component-patterns/render.types.ts index 815ad392500..f86b39bbfe8 100644 --- a/packages/framework-base/src/component-patterns/render.types.ts +++ b/packages/framework-base/src/component-patterns/render.types.ts @@ -92,7 +92,7 @@ export type StagedComponent = React.FunctionComponent & { * The final rendering of the props in a staged render. This is the function component signature that matches that of * React.createElement, children (if present) will be part of the variable args at the end. */ -export type FinalRender = (props: TProps, ...children: React.ReactNode[]) => JSX.Element | null; +export type FinalRender = (props: TProps, ...children: React.ReactNode[]) => React.JSX.Element | null; /** * Signature for a staged render function. diff --git a/packages/framework/use-tokens/src/customizable.ts b/packages/framework/use-tokens/src/customizable.ts index 37c9bc263f8..a96dfd6c238 100644 --- a/packages/framework/use-tokens/src/customizable.ts +++ b/packages/framework/use-tokens/src/customizable.ts @@ -6,7 +6,10 @@ import type { TokenSettings, UseTokens } from './buildUseTokens'; * A component implementation, with a use tokens hook passed in. Implementing it this way allows the useTokens hook to be * modified by the customization handler */ -export type InjectableComponent = (props: TProps, useTokens: UseTokens) => JSX.Element | null; +export type InjectableComponent = ( + props: TProps, + useTokens: UseTokens, +) => React.JSX.Element | null; /** * A component with an attached customize function, used to create alternatively styled versions of the component @@ -18,7 +21,7 @@ export type CustomizableComponent = React.FunctionCompo /** * Function helper for easily creating a customizable component based on the useTokens hook * - * @param injectable - a function component implementation, written in (props, useTokens) => JSX.Element form + * @param injectable - a function component implementation, written in (props, useTokens) => React.JSX.Element form * @param useTokens - a hook function, generally built via buildUseTokens, used to retrieve design tokens for the component * * @returns - a function component that has a static function called customize attached. Customize will return a From 60e08f32f88b70f6386b74746cc3469895ad8a02 Mon Sep 17 00:00:00 2001 From: Jason Morse Date: Mon, 26 Jan 2026 10:50:49 -0800 Subject: [PATCH 2/2] Change files --- ...l-menu-button-39d41871-1688-484f-9264-7c0ac0516ff5.json | 7 +++++++ ...ramework-base-a8231119-6b0d-474c-a53e-7c5ba9714e0a.json | 7 +++++++ ...e-menu-button-29279e6d-f25e-4f9e-93b6-7ab2ca4758a1.json | 7 +++++++ ...-persona-coin-869b29f0-821a-4bf2-a373-3b43c3e0d46d.json | 7 +++++++ ...ative-persona-dc00fd3b-be7c-4b7a-875c-196437e7d80c.json | 7 +++++++ ...-native-stack-03d1053d-d742-48a3-ad10-921a17b23d1f.json | 7 +++++++ ...ve-use-tokens-c619beff-d712-42a8-b583-31bdf61dc62b.json | 7 +++++++ ...on-composable-a7a86edb-3214-45bf-8484-097566287ca2.json | 7 +++++++ ...-react-native-3623a100-f1fc-40f7-99d7-45633458815e.json | 7 +++++++ 9 files changed, 63 insertions(+) create mode 100644 change/@fluentui-react-native-experimental-menu-button-39d41871-1688-484f-9264-7c0ac0516ff5.json create mode 100644 change/@fluentui-react-native-framework-base-a8231119-6b0d-474c-a53e-7c5ba9714e0a.json create mode 100644 change/@fluentui-react-native-menu-button-29279e6d-f25e-4f9e-93b6-7ab2ca4758a1.json create mode 100644 change/@fluentui-react-native-persona-coin-869b29f0-821a-4bf2-a373-3b43c3e0d46d.json create mode 100644 change/@fluentui-react-native-persona-dc00fd3b-be7c-4b7a-875c-196437e7d80c.json create mode 100644 change/@fluentui-react-native-stack-03d1053d-d742-48a3-ad10-921a17b23d1f.json create mode 100644 change/@fluentui-react-native-use-tokens-c619beff-d712-42a8-b583-31bdf61dc62b.json create mode 100644 change/@uifabricshared-foundation-composable-a7a86edb-3214-45bf-8484-097566287ca2.json create mode 100644 change/@uifabricshared-theming-react-native-3623a100-f1fc-40f7-99d7-45633458815e.json diff --git a/change/@fluentui-react-native-experimental-menu-button-39d41871-1688-484f-9264-7c0ac0516ff5.json b/change/@fluentui-react-native-experimental-menu-button-39d41871-1688-484f-9264-7c0ac0516ff5.json new file mode 100644 index 00000000000..93a33a0b460 --- /dev/null +++ b/change/@fluentui-react-native-experimental-menu-button-39d41871-1688-484f-9264-7c0ac0516ff5.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "change JSX.Element to React.JSX.Element (pre-81 change)", + "packageName": "@fluentui-react-native/experimental-menu-button", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-framework-base-a8231119-6b0d-474c-a53e-7c5ba9714e0a.json b/change/@fluentui-react-native-framework-base-a8231119-6b0d-474c-a53e-7c5ba9714e0a.json new file mode 100644 index 00000000000..ece95e19213 --- /dev/null +++ b/change/@fluentui-react-native-framework-base-a8231119-6b0d-474c-a53e-7c5ba9714e0a.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "change JSX.Element to React.JSX.Element (pre-81 change)", + "packageName": "@fluentui-react-native/framework-base", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-menu-button-29279e6d-f25e-4f9e-93b6-7ab2ca4758a1.json b/change/@fluentui-react-native-menu-button-29279e6d-f25e-4f9e-93b6-7ab2ca4758a1.json new file mode 100644 index 00000000000..188d0bfc2ad --- /dev/null +++ b/change/@fluentui-react-native-menu-button-29279e6d-f25e-4f9e-93b6-7ab2ca4758a1.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "change JSX.Element to React.JSX.Element (pre-81 change)", + "packageName": "@fluentui-react-native/menu-button", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-persona-coin-869b29f0-821a-4bf2-a373-3b43c3e0d46d.json b/change/@fluentui-react-native-persona-coin-869b29f0-821a-4bf2-a373-3b43c3e0d46d.json new file mode 100644 index 00000000000..1b3646fbd93 --- /dev/null +++ b/change/@fluentui-react-native-persona-coin-869b29f0-821a-4bf2-a373-3b43c3e0d46d.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "change JSX.Element to React.JSX.Element (pre-81 change)", + "packageName": "@fluentui-react-native/persona-coin", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-persona-dc00fd3b-be7c-4b7a-875c-196437e7d80c.json b/change/@fluentui-react-native-persona-dc00fd3b-be7c-4b7a-875c-196437e7d80c.json new file mode 100644 index 00000000000..fbb2d185f06 --- /dev/null +++ b/change/@fluentui-react-native-persona-dc00fd3b-be7c-4b7a-875c-196437e7d80c.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "change JSX.Element to React.JSX.Element (pre-81 change)", + "packageName": "@fluentui-react-native/persona", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-stack-03d1053d-d742-48a3-ad10-921a17b23d1f.json b/change/@fluentui-react-native-stack-03d1053d-d742-48a3-ad10-921a17b23d1f.json new file mode 100644 index 00000000000..d2df6e2a0d0 --- /dev/null +++ b/change/@fluentui-react-native-stack-03d1053d-d742-48a3-ad10-921a17b23d1f.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "change JSX.Element to React.JSX.Element (pre-81 change)", + "packageName": "@fluentui-react-native/stack", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-native-use-tokens-c619beff-d712-42a8-b583-31bdf61dc62b.json b/change/@fluentui-react-native-use-tokens-c619beff-d712-42a8-b583-31bdf61dc62b.json new file mode 100644 index 00000000000..882125d807d --- /dev/null +++ b/change/@fluentui-react-native-use-tokens-c619beff-d712-42a8-b583-31bdf61dc62b.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "change JSX.Element to React.JSX.Element (pre-81 change)", + "packageName": "@fluentui-react-native/use-tokens", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@uifabricshared-foundation-composable-a7a86edb-3214-45bf-8484-097566287ca2.json b/change/@uifabricshared-foundation-composable-a7a86edb-3214-45bf-8484-097566287ca2.json new file mode 100644 index 00000000000..6f3a4555a54 --- /dev/null +++ b/change/@uifabricshared-foundation-composable-a7a86edb-3214-45bf-8484-097566287ca2.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "change JSX.Element to React.JSX.Element (pre-81 change)", + "packageName": "@uifabricshared/foundation-composable", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +} diff --git a/change/@uifabricshared-theming-react-native-3623a100-f1fc-40f7-99d7-45633458815e.json b/change/@uifabricshared-theming-react-native-3623a100-f1fc-40f7-99d7-45633458815e.json new file mode 100644 index 00000000000..a90c21d312c --- /dev/null +++ b/change/@uifabricshared-theming-react-native-3623a100-f1fc-40f7-99d7-45633458815e.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "change JSX.Element to React.JSX.Element (pre-81 change)", + "packageName": "@uifabricshared/theming-react-native", + "email": "jasonmo@microsoft.com", + "dependentChangeType": "patch" +}