Skip to content

Commit

Permalink
fix(react-menu): removes exposing of internal type FluentTriggerCompo…
Browse files Browse the repository at this point in the history
…nent
  • Loading branch information
bsunderhus committed Oct 28, 2022
1 parent ee9ca8f commit cd3d6da
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 10 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"type": "minor",
"comment": "removes exposing of internal type FluentTriggerComponent",
"packageName": "@fluentui/react-menu",
"email": "[email protected]",
"dependentChangeType": "patch"
}
10 changes: 5 additions & 5 deletions packages/react-components/react-menu/etc/react-menu.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ import { ARIAButtonType } from '@fluentui/react-aria';
import type { ComponentProps } from '@fluentui/react-utilities';
import type { ComponentState } from '@fluentui/react-utilities';
import type { ContextSelector } from '@fluentui/react-context-selector';
import type { FluentTriggerComponent } from '@fluentui/react-utilities';
import type { ForwardRefComponent } from '@fluentui/react-utilities';
import type { PositioningShorthand } from '@fluentui/react-positioning';
import { PositioningVirtualElement } from '@fluentui/react-positioning';
import * as React_2 from 'react';
import { SetVirtualMouseTarget } from '@fluentui/react-positioning';
import type { Slot } from '@fluentui/react-utilities';
import type { SlotClassNames } from '@fluentui/react-utilities';
import type { TriggerProps } from '@fluentui/react-utilities';
import { usePositioningMouseTarget } from '@fluentui/react-positioning';

// @public
export const Menu: React_2.FC<MenuProps>;
Expand Down Expand Up @@ -284,19 +284,19 @@ export type MenuSplitGroupState = ComponentState<MenuSplitGroupSlots>;

// @public (undocumented)
export type MenuState = ComponentState<MenuSlots> & Pick<MenuProps, 'onOpenChange' | 'defaultCheckedValues'> & Required<Pick<MenuProps, 'hasCheckmarks' | 'hasIcons' | 'inline' | 'checkedValues' | 'onCheckedValueChange' | 'open' | 'openOnHover' | 'closeOnScroll' | 'hoverDelay' | 'openOnContext' | 'persistOnItemClick'>> & {
contextTarget: ReturnType<typeof usePositioningMouseTarget>[0];
contextTarget?: PositioningVirtualElement;
isSubmenu: boolean;
menuPopover: React_2.ReactNode;
menuPopoverRef: React_2.MutableRefObject<HTMLElement>;
menuTrigger: React_2.ReactNode;
setContextTarget: ReturnType<typeof usePositioningMouseTarget>[1];
setContextTarget: SetVirtualMouseTarget;
setOpen: (e: MenuOpenEvents, data: MenuOpenChangeData) => void;
triggerId: string;
triggerRef: React_2.MutableRefObject<HTMLElement>;
};

// @public
export const MenuTrigger: React_2.FC<MenuTriggerProps> & FluentTriggerComponent;
export const MenuTrigger: React_2.FC<MenuTriggerProps>;

// @public
export type MenuTriggerChildProps<Type extends ARIAButtonType = ARIAButtonType, Props = {}> = ARIAButtonResultProps<Type, Props & {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import * as React from 'react';
import { usePositioningMouseTarget } from '@fluentui/react-positioning';
import { PositioningVirtualElement, SetVirtualMouseTarget } from '@fluentui/react-positioning';
import type { PositioningShorthand } from '@fluentui/react-positioning';
import type { ComponentProps, ComponentState } from '@fluentui/react-utilities';
import type { MenuContextValue } from '../../contexts/menuContext';
Expand Down Expand Up @@ -109,7 +109,7 @@ export type MenuState = ComponentState<MenuSlots> &
/**
* Anchors the popper to the mouse click for context events
*/
contextTarget: ReturnType<typeof usePositioningMouseTarget>[0];
contextTarget?: PositioningVirtualElement;

/**
* Whether this menu is a submenu
Expand All @@ -134,7 +134,7 @@ export type MenuState = ComponentState<MenuSlots> &
/**
* A callback to set the target of the popper to the mouse click for context events
*/
setContextTarget: ReturnType<typeof usePositioningMouseTarget>[1];
setContextTarget: SetVirtualMouseTarget;

/**
* Callback to open/close the popup
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,12 @@ import type { FluentTriggerComponent } from '@fluentui/react-utilities';
* Wraps a trigger element as an only child
* and adds the necessary event handling to open a popup menu
*/
export const MenuTrigger: React.FC<MenuTriggerProps> & FluentTriggerComponent = props => {
export const MenuTrigger: React.FC<MenuTriggerProps> = props => {
const state = useMenuTrigger_unstable(props);

return renderMenuTrigger_unstable(state);
};

MenuTrigger.displayName = 'MenuTrigger';
MenuTrigger.isFluentTriggerComponent = true;
// type casting here is required to ensure internal type FluentTriggerComponent is not leaked
(MenuTrigger as FluentTriggerComponent).isFluentTriggerComponent = true;

0 comments on commit cd3d6da

Please sign in to comment.