From f51acda8d396ace4ba5e9409bf3f2dfb97b6cbfc Mon Sep 17 00:00:00 2001 From: Lingfan Gao Date: Thu, 19 May 2022 17:59:25 +0200 Subject: [PATCH 1/5] BREAKING: Remove context exports from react-components In order to provider proper encapsulation and allow us to change internals more easily, this PR removes exports of context objects from react-components. In cases where contexts were removed, the export was replaced with a specific provider component and hook to use the context value. Follows from #22300 --- .../etc/react-accordion.api.md | 20 +++++++---- .../components/Accordion/AccordionContext.ts | 6 +++- .../AccordionItem/AccordionItemContext.ts | 2 ++ .../react-accordion/src/index.ts | 5 +-- .../etc/react-components.api.md | 36 +++++++++---------- .../react-components/src/index.ts | 12 +++---- .../react-popover/etc/react-popover.api.md | 10 +++--- .../react-popover/src/index.ts | 2 +- .../react-popover/src/popoverContext.ts | 2 ++ .../react-radio/etc/react-radio.api.md | 14 +++++--- .../src/contexts/RadioGroupContext.ts | 7 +++- .../react-components/react-radio/src/index.ts | 2 +- 12 files changed, 73 insertions(+), 45 deletions(-) diff --git a/packages/react-components/react-accordion/etc/react-accordion.api.md b/packages/react-components/react-accordion/etc/react-accordion.api.md index a19a64f464eb2e..eecf8674615ae7 100644 --- a/packages/react-components/react-accordion/etc/react-accordion.api.md +++ b/packages/react-components/react-accordion/etc/react-accordion.api.md @@ -7,8 +7,11 @@ import type { ARIAButtonSlotProps } from '@fluentui/react-aria'; import type { ComponentProps } from '@fluentui/react-utilities'; import type { ComponentState } from '@fluentui/react-utilities'; -import type { Context } from '@fluentui/react-context-selector'; +import { ContextSelector } from '@fluentui/react-context-selector'; +import { FC } from 'react'; import type { ForwardRefComponent } from '@fluentui/react-utilities'; +import { Provider } from 'react'; +import { ProviderProps } from 'react'; import * as React_2 from 'react'; import type { Slot } from '@fluentui/react-utilities'; import type { SlotClassNames } from '@fluentui/react-utilities'; @@ -22,9 +25,6 @@ export const accordionClassName = "fui-Accordion"; // @public (undocumented) export const accordionClassNames: SlotClassNames; -// @public (undocumented) -export const AccordionContext: Context; - // @public (undocumented) export type AccordionContextValue = Required> & Pick & { openItems: AccordionItemValue[]; @@ -92,9 +92,6 @@ export const accordionItemClassName = "fui-AccordionItem"; // @public (undocumented) export const accordionItemClassNames: SlotClassNames; -// @public (undocumented) -export const AccordionItemContext: React_2.Context; - // @public (undocumented) export type AccordionItemContextValue = Required> & { onHeaderClick(ev: React_2.MouseEvent | React_2.KeyboardEvent): void; @@ -112,6 +109,9 @@ export type AccordionItemProps = ComponentProps & { value: AccordionItemValue; }; +// @public (undocumented) +export const AccordionItemProvider: React_2.Provider; + // @public (undocumented) export type AccordionItemSlots = { root: Slot<'div'>; @@ -155,6 +155,9 @@ export type AccordionProps = ComponentProps & { openItems?: AccordionItemValue | AccordionItemValue[]; }; +// @public (undocumented) +export const AccordionProvider: Provider & FC>; + // @public (undocumented) export type AccordionSlots = { root: Slot<'div'>; @@ -189,6 +192,9 @@ export const renderAccordionPanel_unstable: (state: AccordionPanelState) => JSX. // @public export const useAccordion_unstable: (props: AccordionProps, ref: React_2.Ref) => AccordionState; +// @public (undocumented) +export const useAccordionContext_unstable: (selector: ContextSelector) => T; + // @public (undocumented) export function useAccordionContextValues_unstable(state: AccordionState): AccordionContextValues; diff --git a/packages/react-components/react-accordion/src/components/Accordion/AccordionContext.ts b/packages/react-components/react-accordion/src/components/Accordion/AccordionContext.ts index 47fe7bcc60dde8..414797f284b437 100644 --- a/packages/react-components/react-accordion/src/components/Accordion/AccordionContext.ts +++ b/packages/react-components/react-accordion/src/components/Accordion/AccordionContext.ts @@ -1,4 +1,4 @@ -import { createContext } from '@fluentui/react-context-selector'; +import { createContext, ContextSelector, useContextSelector } from '@fluentui/react-context-selector'; import type { Context } from '@fluentui/react-context-selector'; import type { AccordionContextValue } from './Accordion.types'; @@ -9,3 +9,7 @@ export const AccordionContext: Context = createContext(selector: ContextSelector): T => + useContextSelector(AccordionContext, selector); diff --git a/packages/react-components/react-accordion/src/components/AccordionItem/AccordionItemContext.ts b/packages/react-components/react-accordion/src/components/AccordionItem/AccordionItemContext.ts index b9c29835e34ac4..8e8fdadbbb7409 100644 --- a/packages/react-components/react-accordion/src/components/AccordionItem/AccordionItemContext.ts +++ b/packages/react-components/react-accordion/src/components/AccordionItem/AccordionItemContext.ts @@ -10,4 +10,6 @@ export const AccordionItemContext = React.createContext React.useContext(AccordionItemContext); diff --git a/packages/react-components/react-accordion/src/index.ts b/packages/react-components/react-accordion/src/index.ts index d7b0ca103245ae..081dc4d167c1c6 100644 --- a/packages/react-components/react-accordion/src/index.ts +++ b/packages/react-components/react-accordion/src/index.ts @@ -1,10 +1,11 @@ export { Accordion, - AccordionContext, + AccordionProvider, // eslint-disable-next-line deprecation/deprecation accordionClassName, accordionClassNames, renderAccordion_unstable, + useAccordionContext_unstable, useAccordionContextValues_unstable, useAccordionStyles_unstable, useAccordion_unstable, @@ -22,7 +23,7 @@ export type { } from './Accordion'; export { AccordionItem, - AccordionItemContext, + AccordionItemProvider, // eslint-disable-next-line deprecation/deprecation accordionItemClassName, accordionItemClassNames, diff --git a/packages/react-components/react-components/etc/react-components.api.md b/packages/react-components/react-components/etc/react-components.api.md index f97407be2390f4..46f0d8029b28cd 100644 --- a/packages/react-components/react-components/etc/react-components.api.md +++ b/packages/react-components/react-components/etc/react-components.api.md @@ -8,7 +8,6 @@ import { __styles } from '@griffel/react'; import { Accordion } from '@fluentui/react-accordion'; import { accordionClassName } from '@fluentui/react-accordion'; import { accordionClassNames } from '@fluentui/react-accordion'; -import { AccordionContext } from '@fluentui/react-accordion'; import { AccordionContextValue } from '@fluentui/react-accordion'; import { AccordionContextValues } from '@fluentui/react-accordion'; import { AccordionHeader } from '@fluentui/react-accordion'; @@ -25,10 +24,10 @@ import { AccordionIndex } from '@fluentui/react-accordion'; import { AccordionItem } from '@fluentui/react-accordion'; import { accordionItemClassName } from '@fluentui/react-accordion'; import { accordionItemClassNames } from '@fluentui/react-accordion'; -import { AccordionItemContext } from '@fluentui/react-accordion'; import { AccordionItemContextValue } from '@fluentui/react-accordion'; import { AccordionItemContextValues } from '@fluentui/react-accordion'; import { AccordionItemProps } from '@fluentui/react-accordion'; +import { AccordionItemProvider } from '@fluentui/react-accordion'; import { AccordionItemSlots } from '@fluentui/react-accordion'; import { AccordionItemState } from '@fluentui/react-accordion'; import { AccordionItemValue } from '@fluentui/react-accordion'; @@ -39,6 +38,7 @@ import { AccordionPanelProps } from '@fluentui/react-accordion'; import { AccordionPanelSlots } from '@fluentui/react-accordion'; import { AccordionPanelState } from '@fluentui/react-accordion'; import { AccordionProps } from '@fluentui/react-accordion'; +import { AccordionProvider } from '@fluentui/react-accordion'; import { AccordionSlots } from '@fluentui/react-accordion'; import { AccordionState } from '@fluentui/react-accordion'; import { AccordionToggleData } from '@fluentui/react-accordion'; @@ -169,7 +169,6 @@ import { MenuButtonSlots } from '@fluentui/react-button'; import { MenuButtonState } from '@fluentui/react-button'; import { MenuCheckedValueChangeData } from '@fluentui/react-menu'; import { MenuCheckedValueChangeEvent } from '@fluentui/react-menu'; -import { MenuContext } from '@fluentui/react-menu'; import { MenuContextValue } from '@fluentui/react-menu'; import { MenuContextValues } from '@fluentui/react-menu'; import { MenuDivider } from '@fluentui/react-menu'; @@ -214,7 +213,6 @@ import { MenuItemState } from '@fluentui/react-menu'; import { MenuList } from '@fluentui/react-menu'; import { menuListClassName } from '@fluentui/react-menu'; import { menuListClassNames } from '@fluentui/react-menu'; -import { MenuListContext } from '@fluentui/react-menu'; import { MenuListContextValue } from '@fluentui/react-menu'; import { MenuListContextValues } from '@fluentui/react-menu'; import { MenuListProps } from '@fluentui/react-menu'; @@ -250,9 +248,9 @@ import { OnVisibleChangeData } from '@fluentui/react-tooltip'; import { OpenPopoverEvents } from '@fluentui/react-popover'; import { PartialTheme } from '@fluentui/react-theme'; import { Popover } from '@fluentui/react-popover'; -import { PopoverContext } from '@fluentui/react-popover'; import { PopoverContextValue } from '@fluentui/react-popover'; import { PopoverProps } from '@fluentui/react-popover'; +import { PopoverProvider } from '@fluentui/react-popover'; import { PopoverSize } from '@fluentui/react-popover'; import { PopoverState } from '@fluentui/react-popover'; import { PopoverSurface } from '@fluentui/react-popover'; @@ -282,11 +280,11 @@ import { radioClassNames } from '@fluentui/react-radio'; import { RadioGroup } from '@fluentui/react-radio'; import { radioGroupClassName } from '@fluentui/react-radio'; import { radioGroupClassNames } from '@fluentui/react-radio'; -import { RadioGroupContext } from '@fluentui/react-radio'; import { RadioGroupContextValue } from '@fluentui/react-radio'; import { RadioGroupContextValues } from '@fluentui/react-radio'; import { RadioGroupOnChangeData } from '@fluentui/react-radio'; import { RadioGroupProps } from '@fluentui/react-radio'; +import { RadioGroupProvider } from '@fluentui/react-radio'; import { RadioGroupSlots } from '@fluentui/react-radio'; import { RadioGroupState } from '@fluentui/react-radio'; import { RadioOnChangeData } from '@fluentui/react-radio'; @@ -434,6 +432,7 @@ import { TypographyStyles } from '@fluentui/react-theme'; import { typographyStyles } from '@fluentui/react-theme'; import { UninitializedMenuListState } from '@fluentui/react-menu'; import { useAccordion_unstable } from '@fluentui/react-accordion'; +import { useAccordionContext_unstable } from '@fluentui/react-accordion'; import { useAccordionContextValues_unstable } from '@fluentui/react-accordion'; import { useAccordionHeader_unstable } from '@fluentui/react-accordion'; import { useAccordionHeaderContextValues_unstable } from '@fluentui/react-accordion'; @@ -520,6 +519,7 @@ import { usePortal_unstable } from '@fluentui/react-portal'; import { usePresenceBadge_unstable } from '@fluentui/react-badge'; import { useRadio_unstable } from '@fluentui/react-radio'; import { useRadioGroup_unstable } from '@fluentui/react-radio'; +import { useRadioGroupContext_unstable } from '@fluentui/react-radio'; import { useRadioGroupContextValues } from '@fluentui/react-radio'; import { useRadioGroupStyles_unstable } from '@fluentui/react-radio'; import { useRadioStyles_unstable } from '@fluentui/react-radio'; @@ -558,8 +558,6 @@ export { accordionClassName } export { accordionClassNames } -export { AccordionContext } - export { AccordionContextValue } export { AccordionContextValues } @@ -592,14 +590,14 @@ export { accordionItemClassName } export { accordionItemClassNames } -export { AccordionItemContext } - export { AccordionItemContextValue } export { AccordionItemContextValues } export { AccordionItemProps } +export { AccordionItemProvider } + export { AccordionItemSlots } export { AccordionItemState } @@ -620,6 +618,8 @@ export { AccordionPanelState } export { AccordionProps } +export { AccordionProvider } + export { AccordionSlots } export { AccordionState } @@ -880,8 +880,6 @@ export { MenuCheckedValueChangeData } export { MenuCheckedValueChangeEvent } -export { MenuContext } - export { MenuContextValue } export { MenuContextValues } @@ -970,8 +968,6 @@ export { menuListClassName } export { menuListClassNames } -export { MenuListContext } - export { MenuListContextValue } export { MenuListContextValues } @@ -1042,12 +1038,12 @@ export { PartialTheme } export { Popover } -export { PopoverContext } - export { PopoverContextValue } export { PopoverProps } +export { PopoverProvider } + export { PopoverSize } export { PopoverState } @@ -1106,8 +1102,6 @@ export { radioGroupClassName } export { radioGroupClassNames } -export { RadioGroupContext } - export { RadioGroupContextValue } export { RadioGroupContextValues } @@ -1116,6 +1110,8 @@ export { RadioGroupOnChangeData } export { RadioGroupProps } +export { RadioGroupProvider } + export { RadioGroupSlots } export { RadioGroupState } @@ -1410,6 +1406,8 @@ export { UninitializedMenuListState } export { useAccordion_unstable } +export { useAccordionContext_unstable } + export { useAccordionContextValues_unstable } export { useAccordionHeader_unstable } @@ -1582,6 +1580,8 @@ export { useRadio_unstable } export { useRadioGroup_unstable } +export { useRadioGroupContext_unstable } + export { useRadioGroupContextValues } export { useRadioGroupStyles_unstable } diff --git a/packages/react-components/react-components/src/index.ts b/packages/react-components/react-components/src/index.ts index bb0d8b1b166997..3d9d2796fa10e2 100644 --- a/packages/react-components/react-components/src/index.ts +++ b/packages/react-components/react-components/src/index.ts @@ -33,13 +33,14 @@ export { radioClassName, radioClassNames, RadioGroup, + RadioGroupProvider, /* eslint-disable-next-line deprecation/deprecation */ radioGroupClassName, radioGroupClassNames, - RadioGroupContext, renderRadio_unstable, renderRadioGroup_unstable, useRadio_unstable, + useRadioGroupContext_unstable, useRadioGroupContextValues, useRadioGroup_unstable, useRadioGroupStyles_unstable, @@ -139,10 +140,10 @@ export type { // Components export { Accordion, - AccordionContext, + AccordionProvider, AccordionHeader, AccordionItem, - AccordionItemContext, + AccordionItemProvider, AccordionPanel, /* eslint-disable-next-line deprecation/deprecation */ accordionClassName, @@ -161,6 +162,7 @@ export { renderAccordionItem_unstable, renderAccordionPanel_unstable, useAccordion_unstable, + useAccordionContext_unstable, useAccordionContextValues_unstable, useAccordionHeader_unstable, useAccordionHeaderContextValues_unstable, @@ -347,7 +349,6 @@ export { export type { LinkProps, LinkSlots, LinkState } from '@fluentui/react-link'; export { Menu, - MenuContext, MenuDivider, MenuGroup, MenuGroupContextProvider, @@ -356,7 +357,6 @@ export { MenuItemCheckbox, MenuItemRadio, MenuList, - MenuListContext, MenuListProvider, MenuPopover, MenuProvider, @@ -479,8 +479,8 @@ export type { } from '@fluentui/react-menu'; export { Popover, - PopoverContext, PopoverSurface, + PopoverProvider, PopoverTrigger, arrowHeights, /* eslint-disable-next-line deprecation/deprecation */ diff --git a/packages/react-components/react-popover/etc/react-popover.api.md b/packages/react-components/react-popover/etc/react-popover.api.md index f7d053f16f654a..7eb799e117865e 100644 --- a/packages/react-components/react-popover/etc/react-popover.api.md +++ b/packages/react-components/react-popover/etc/react-popover.api.md @@ -6,14 +6,16 @@ import type { ComponentProps } from '@fluentui/react-utilities'; import type { ComponentState } from '@fluentui/react-utilities'; -import type { Context } from '@fluentui/react-context-selector'; import type { ContextSelector } from '@fluentui/react-context-selector'; +import { FC } from 'react'; import type { FluentTriggerComponent } from '@fluentui/react-utilities'; import type { ForwardRefComponent } from '@fluentui/react-utilities'; import { JSXElementConstructor } from 'react'; import type { PopperVirtualElement } from '@fluentui/react-positioning'; import type { PortalProps } from '@fluentui/react-portal'; import type { PositioningShorthand } from '@fluentui/react-positioning'; +import { Provider } from 'react'; +import { ProviderProps } from 'react'; import * as React_2 from 'react'; import { ReactElement } from 'react'; import type { Slot } from '@fluentui/react-utilities'; @@ -34,9 +36,6 @@ export type OpenPopoverEvents = MouseEvent | TouchEvent | React_2.FocusEvent; -// @public (undocumented) -export const PopoverContext: Context; - // @public export type PopoverContextValue = Pick; @@ -58,6 +57,9 @@ export type PopoverProps = Pick & { trapFocus?: boolean; }; +// @public (undocumented) +export const PopoverProvider: Provider & FC>; + // @public export type PopoverSize = 'small' | 'medium' | 'large'; diff --git a/packages/react-components/react-popover/src/index.ts b/packages/react-components/react-popover/src/index.ts index a7456726fe3de2..360a67fae1c5ee 100644 --- a/packages/react-components/react-popover/src/index.ts +++ b/packages/react-components/react-popover/src/index.ts @@ -11,7 +11,7 @@ export { usePopoverSurface_unstable, } from './PopoverSurface'; export type { PopoverSurfaceProps, PopoverSurfaceSlots, PopoverSurfaceState } from './PopoverSurface'; -export { PopoverContext, usePopoverContext_unstable } from './popoverContext'; +export { PopoverProvider, usePopoverContext_unstable } from './popoverContext'; export type { PopoverContextValue } from './popoverContext'; export { PopoverTrigger, renderPopoverTrigger_unstable, usePopoverTrigger_unstable } from './PopoverTrigger'; export type { PopoverTriggerChildProps, PopoverTriggerProps, PopoverTriggerState } from './PopoverTrigger'; diff --git a/packages/react-components/react-popover/src/popoverContext.ts b/packages/react-components/react-popover/src/popoverContext.ts index 179c112a4f39b7..c4ebace16ce47c 100644 --- a/packages/react-components/react-popover/src/popoverContext.ts +++ b/packages/react-components/react-popover/src/popoverContext.ts @@ -15,6 +15,8 @@ export const PopoverContext: Context = createContext; -// @public -export const RadioGroupContext: Context; - // @public (undocumented) export type RadioGroupContextValue = Pick; @@ -58,6 +58,9 @@ export type RadioGroupProps = Omit>, 'on required?: boolean; }; +// @public (undocumented) +export const RadioGroupProvider: Provider & FC>; + // @public (undocumented) export type RadioGroupSlots = { root: NonNullable>; @@ -102,6 +105,9 @@ export const useRadio_unstable: (props: RadioProps, ref: React_2.Ref) => RadioGroupState; +// @public (undocumented) +export const useRadioGroupContext_unstable: (selector: ContextSelector) => T; + // @public (undocumented) export const useRadioGroupContextValues: (state: RadioGroupState) => RadioGroupContextValues; diff --git a/packages/react-components/react-radio/src/contexts/RadioGroupContext.ts b/packages/react-components/react-radio/src/contexts/RadioGroupContext.ts index 2d11b895ce91b2..75185fa108a0fd 100644 --- a/packages/react-components/react-radio/src/contexts/RadioGroupContext.ts +++ b/packages/react-components/react-radio/src/contexts/RadioGroupContext.ts @@ -1,4 +1,4 @@ -import { createContext } from '@fluentui/react-context-selector'; +import { createContext, useContextSelector, ContextSelector } from '@fluentui/react-context-selector'; import type { Context } from '@fluentui/react-context-selector'; import type { RadioGroupContextValue } from '../RadioGroup'; @@ -6,3 +6,8 @@ import type { RadioGroupContextValue } from '../RadioGroup'; * RadioGroupContext is provided by RadioGroup, and is consumed by Radio to determine default values of some props. */ export const RadioGroupContext: Context = createContext({}); + +export const RadioGroupProvider = RadioGroupContext.Provider; + +export const useRadioGroupContext_unstable = (selector: ContextSelector): T => + useContextSelector(RadioGroupContext, selector); diff --git a/packages/react-components/react-radio/src/index.ts b/packages/react-components/react-radio/src/index.ts index 8b432ddbfe8617..56c290b74f29c2 100644 --- a/packages/react-components/react-radio/src/index.ts +++ b/packages/react-components/react-radio/src/index.ts @@ -25,4 +25,4 @@ export { useRadio_unstable, } from './Radio'; export type { RadioProps, RadioSlots, RadioState, RadioOnChangeData } from './Radio'; -export { RadioGroupContext, useRadioGroupContextValues } from './contexts/index'; +export { RadioGroupProvider, useRadioGroupContextValues, useRadioGroupContext_unstable } from './contexts/index'; From 9c86e742a8375dbeee08659fc1b13db8d594a260 Mon Sep 17 00:00:00 2001 From: Lingfan Gao Date: Thu, 19 May 2022 18:04:49 +0200 Subject: [PATCH 2/5] changefile --- ...act-accordion-6afadb5c-b2e0-4612-861b-82771a4da41a.json | 7 +++++++ ...ct-components-71e78c7a-897f-4a76-b435-b4de4d541655.json | 7 +++++++ ...react-popover-7bb78727-e0c7-447b-94e5-50a77d03d6ba.json | 7 +++++++ ...i-react-radio-830e0de9-07a9-4f79-92c5-94fec16c4476.json | 7 +++++++ 4 files changed, 28 insertions(+) create mode 100644 change/@fluentui-react-accordion-6afadb5c-b2e0-4612-861b-82771a4da41a.json create mode 100644 change/@fluentui-react-components-71e78c7a-897f-4a76-b435-b4de4d541655.json create mode 100644 change/@fluentui-react-popover-7bb78727-e0c7-447b-94e5-50a77d03d6ba.json create mode 100644 change/@fluentui-react-radio-830e0de9-07a9-4f79-92c5-94fec16c4476.json diff --git a/change/@fluentui-react-accordion-6afadb5c-b2e0-4612-861b-82771a4da41a.json b/change/@fluentui-react-accordion-6afadb5c-b2e0-4612-861b-82771a4da41a.json new file mode 100644 index 00000000000000..9ee04c70c6738b --- /dev/null +++ b/change/@fluentui-react-accordion-6afadb5c-b2e0-4612-861b-82771a4da41a.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "BREAKING: stop exporting AccordionContext and AccordionItemContext", + "packageName": "@fluentui/react-accordion", + "email": "lingfangao@hotmail.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-components-71e78c7a-897f-4a76-b435-b4de4d541655.json b/change/@fluentui-react-components-71e78c7a-897f-4a76-b435-b4de4d541655.json new file mode 100644 index 00000000000000..9024b06f6a357b --- /dev/null +++ b/change/@fluentui-react-components-71e78c7a-897f-4a76-b435-b4de4d541655.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "BREAKING: Exports of react context objects were removed, replaced with provider compoennts and hooks", + "packageName": "@fluentui/react-components", + "email": "lingfangao@hotmail.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-popover-7bb78727-e0c7-447b-94e5-50a77d03d6ba.json b/change/@fluentui-react-popover-7bb78727-e0c7-447b-94e5-50a77d03d6ba.json new file mode 100644 index 00000000000000..3217d0ae3eab6c --- /dev/null +++ b/change/@fluentui-react-popover-7bb78727-e0c7-447b-94e5-50a77d03d6ba.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "BREAKING: stop exporting PopoverContext", + "packageName": "@fluentui/react-popover", + "email": "lingfangao@hotmail.com", + "dependentChangeType": "patch" +} diff --git a/change/@fluentui-react-radio-830e0de9-07a9-4f79-92c5-94fec16c4476.json b/change/@fluentui-react-radio-830e0de9-07a9-4f79-92c5-94fec16c4476.json new file mode 100644 index 00000000000000..c33c5c8578570d --- /dev/null +++ b/change/@fluentui-react-radio-830e0de9-07a9-4f79-92c5-94fec16c4476.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "BREAKING: stop exporting RadioGroupContext", + "packageName": "@fluentui/react-radio", + "email": "lingfangao@hotmail.com", + "dependentChangeType": "patch" +} From b6ed18014f772b13402b32102c1d21c7e6616ea1 Mon Sep 17 00:00:00 2001 From: Lingfan Gao Date: Thu, 19 May 2022 19:56:17 +0200 Subject: [PATCH 3/5] stop exporting menu contexts --- packages/react-components/react-menu/src/index.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/react-components/react-menu/src/index.ts b/packages/react-components/react-menu/src/index.ts index bed9600eced159..15faf82e0ab71e 100644 --- a/packages/react-components/react-menu/src/index.ts +++ b/packages/react-components/react-menu/src/index.ts @@ -1,9 +1,9 @@ -export { MenuContext, MenuProvider, useMenuContext_unstable } from './contexts/menuContext'; +export { MenuProvider, useMenuContext_unstable } from './contexts/menuContext'; export type { MenuContextValue } from './contexts/menuContext'; export { MenuTriggerContextProvider, useMenuTriggerContext_unstable } from './contexts/menuTriggerContext'; export { MenuGroupContextProvider, useMenuGroupContext_unstable } from './contexts/menuGroupContext'; export type { MenuGroupContextValue } from './contexts/menuGroupContext'; -export { MenuListContext, MenuListProvider, useMenuListContext_unstable } from './contexts/menuListContext'; +export { MenuListProvider, useMenuListContext_unstable } from './contexts/menuListContext'; export type { MenuListContextValue } from './contexts/menuListContext'; export { Menu, renderMenu_unstable, useMenuContextValues_unstable, useMenu_unstable } from './Menu'; From db367ce97ca87dc68302cc71e2f6ae4998f4ebef Mon Sep 17 00:00:00 2001 From: Lingfan Gao Date: Thu, 19 May 2022 19:57:15 +0200 Subject: [PATCH 4/5] changefile --- ...ui-react-menu-745072ac-cbfd-40d0-8aed-3bf6a7dd7748.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 change/@fluentui-react-menu-745072ac-cbfd-40d0-8aed-3bf6a7dd7748.json diff --git a/change/@fluentui-react-menu-745072ac-cbfd-40d0-8aed-3bf6a7dd7748.json b/change/@fluentui-react-menu-745072ac-cbfd-40d0-8aed-3bf6a7dd7748.json new file mode 100644 index 00000000000000..30eb1f4a4f2c4d --- /dev/null +++ b/change/@fluentui-react-menu-745072ac-cbfd-40d0-8aed-3bf6a7dd7748.json @@ -0,0 +1,7 @@ +{ + "type": "prerelease", + "comment": "BREAKING: Stop exporting MenuContext and MenuListContext", + "packageName": "@fluentui/react-menu", + "email": "lingfangao@hotmail.com", + "dependentChangeType": "patch" +} From b943ed09bf40f0375bd5c02217e24416a1a1718d Mon Sep 17 00:00:00 2001 From: Lingfan Gao Date: Fri, 20 May 2022 09:25:59 +0200 Subject: [PATCH 5/5] update md --- packages/react-components/react-menu/etc/react-menu.api.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/packages/react-components/react-menu/etc/react-menu.api.md b/packages/react-components/react-menu/etc/react-menu.api.md index 3f7804bf19ceea..24af0d5563739d 100644 --- a/packages/react-components/react-menu/etc/react-menu.api.md +++ b/packages/react-components/react-menu/etc/react-menu.api.md @@ -6,7 +6,6 @@ import type { ComponentProps } from '@fluentui/react-utilities'; import type { ComponentState } from '@fluentui/react-utilities'; -import type { Context } from '@fluentui/react-context-selector'; import type { ContextSelector } from '@fluentui/react-context-selector'; import type { FluentTriggerComponent } from '@fluentui/react-utilities'; import type { ForwardRefComponent } from '@fluentui/react-utilities'; @@ -28,9 +27,6 @@ export type MenuCheckedValueChangeData = { // @public (undocumented) export type MenuCheckedValueChangeEvent = React_2.MouseEvent | React_2.KeyboardEvent; -// @public (undocumented) -export const MenuContext: Context; - // @public export type MenuContextValue = MenuListProps & Pick & { open: boolean; @@ -198,9 +194,6 @@ export const menuListClassName = "fui-MenuList"; // @public (undocumented) export const menuListClassNames: SlotClassNames; -// @public (undocumented) -export const MenuListContext: Context; - // @public export type MenuListContextValue = Pick & { setFocusByFirstCharacter?: (e: React_2.KeyboardEvent, itemEl: HTMLElement) => void;