@fluentui/react-menu 0.0.0-nightly-20220502-0420.1 → 0.0.0-nightly-20220505-0419.1

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.
Files changed (190) hide show
  1. package/CHANGELOG.json +90 -21
  2. package/CHANGELOG.md +31 -13
  3. package/{lib → dist}/tsdoc-metadata.json +0 -0
  4. package/lib/index.js +25 -16
  5. package/lib/index.js.map +1 -1
  6. package/lib-commonjs/index.js +486 -17
  7. package/lib-commonjs/index.js.map +1 -1
  8. package/package.json +11 -11
  9. package/lib/Menu.d.ts +0 -1
  10. package/lib/MenuDivider.d.ts +0 -1
  11. package/lib/MenuGroup.d.ts +0 -1
  12. package/lib/MenuGroupHeader.d.ts +0 -1
  13. package/lib/MenuItem.d.ts +0 -1
  14. package/lib/MenuItemCheckbox.d.ts +0 -1
  15. package/lib/MenuItemRadio.d.ts +0 -1
  16. package/lib/MenuList.d.ts +0 -1
  17. package/lib/MenuPopover.d.ts +0 -1
  18. package/lib/MenuSplitGroup.d.ts +0 -1
  19. package/lib/MenuTrigger.d.ts +0 -1
  20. package/lib/components/Menu/Menu.d.ts +0 -6
  21. package/lib/components/Menu/Menu.types.d.ts +0 -113
  22. package/lib/components/Menu/index.d.ts +0 -5
  23. package/lib/components/Menu/renderMenu.d.ts +0 -5
  24. package/lib/components/Menu/useMenu.d.ts +0 -10
  25. package/lib/components/Menu/useMenuContextValues.d.ts +0 -2
  26. package/lib/components/MenuDivider/MenuDivider.d.ts +0 -6
  27. package/lib/components/MenuDivider/MenuDivider.types.d.ts +0 -6
  28. package/lib/components/MenuDivider/index.d.ts +0 -5
  29. package/lib/components/MenuDivider/renderMenuDivider.d.ts +0 -6
  30. package/lib/components/MenuDivider/useMenuDivider.d.ts +0 -6
  31. package/lib/components/MenuDivider/useMenuDividerStyles.d.ts +0 -8
  32. package/lib/components/MenuGroup/MenuGroup.d.ts +0 -6
  33. package/lib/components/MenuGroup/MenuGroup.types.d.ts +0 -15
  34. package/lib/components/MenuGroup/index.d.ts +0 -6
  35. package/lib/components/MenuGroup/renderMenuGroup.d.ts +0 -6
  36. package/lib/components/MenuGroup/useMenuGroup.d.ts +0 -6
  37. package/lib/components/MenuGroup/useMenuGroupContextValues.d.ts +0 -2
  38. package/lib/components/MenuGroup/useMenuGroupStyles.d.ts +0 -8
  39. package/lib/components/MenuGroupHeader/MenuGroupHeader.d.ts +0 -6
  40. package/lib/components/MenuGroupHeader/MenuGroupHeader.types.d.ts +0 -6
  41. package/lib/components/MenuGroupHeader/index.d.ts +0 -5
  42. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.d.ts +0 -6
  43. package/lib/components/MenuGroupHeader/useMenuGroupHeader.d.ts +0 -6
  44. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.d.ts +0 -8
  45. package/lib/components/MenuItem/MenuItem.d.ts +0 -6
  46. package/lib/components/MenuItem/MenuItem.types.d.ts +0 -43
  47. package/lib/components/MenuItem/index.d.ts +0 -5
  48. package/lib/components/MenuItem/renderMenuItem.d.ts +0 -5
  49. package/lib/components/MenuItem/useCharacterSearch.d.ts +0 -3
  50. package/lib/components/MenuItem/useMenuItem.d.ts +0 -6
  51. package/lib/components/MenuItem/useMenuItemStyles.d.ts +0 -9
  52. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.d.ts +0 -6
  53. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +0 -4
  54. package/lib/components/MenuItemCheckbox/index.d.ts +0 -5
  55. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.d.ts +0 -3
  56. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.d.ts +0 -4
  57. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.d.ts +0 -9
  58. package/lib/components/MenuItemRadio/MenuItemRadio.d.ts +0 -6
  59. package/lib/components/MenuItemRadio/MenuItemRadio.types.d.ts +0 -4
  60. package/lib/components/MenuItemRadio/index.d.ts +0 -5
  61. package/lib/components/MenuItemRadio/renderMenuItemRadio.d.ts +0 -6
  62. package/lib/components/MenuItemRadio/useMenuItemRadio.d.ts +0 -6
  63. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.d.ts +0 -9
  64. package/lib/components/MenuList/MenuList.d.ts +0 -6
  65. package/lib/components/MenuList/MenuList.types.d.ts +0 -55
  66. package/lib/components/MenuList/index.d.ts +0 -6
  67. package/lib/components/MenuList/renderMenuList.d.ts +0 -5
  68. package/lib/components/MenuList/useMenuList.d.ts +0 -6
  69. package/lib/components/MenuList/useMenuListContextValues.d.ts +0 -2
  70. package/lib/components/MenuList/useMenuListStyles.d.ts +0 -11
  71. package/lib/components/MenuPopover/MenuPopover.d.ts +0 -6
  72. package/lib/components/MenuPopover/MenuPopover.types.d.ts +0 -18
  73. package/lib/components/MenuPopover/index.d.ts +0 -5
  74. package/lib/components/MenuPopover/renderMenuPopover.d.ts +0 -5
  75. package/lib/components/MenuPopover/useMenuPopover.d.ts +0 -12
  76. package/lib/components/MenuPopover/useMenuPopoverStyles.d.ts +0 -11
  77. package/lib/components/MenuSplitGroup/MenuSplitGroup.d.ts +0 -6
  78. package/lib/components/MenuSplitGroup/MenuSplitGroup.types.d.ts +0 -14
  79. package/lib/components/MenuSplitGroup/index.d.ts +0 -5
  80. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.d.ts +0 -5
  81. package/lib/components/MenuSplitGroup/useMenuSplitGroup.d.ts +0 -12
  82. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.d.ts +0 -11
  83. package/lib/components/MenuTrigger/MenuTrigger.d.ts +0 -8
  84. package/lib/components/MenuTrigger/MenuTrigger.types.d.ts +0 -20
  85. package/lib/components/MenuTrigger/index.d.ts +0 -4
  86. package/lib/components/MenuTrigger/renderMenuTrigger.d.ts +0 -7
  87. package/lib/components/MenuTrigger/useMenuTrigger.d.ts +0 -8
  88. package/lib/components/index.d.ts +0 -2
  89. package/lib/contexts/menuContext.d.ts +0 -16
  90. package/lib/contexts/menuGroupContext.d.ts +0 -13
  91. package/lib/contexts/menuListContext.d.ts +0 -15
  92. package/lib/contexts/menuTriggerContext.d.ts +0 -3
  93. package/lib/index.d.ts +0 -16
  94. package/lib/selectable/index.d.ts +0 -2
  95. package/lib/selectable/types.d.ts +0 -34
  96. package/lib/selectable/useCheckmarkStyles.d.ts +0 -8
  97. package/lib/utils/index.d.ts +0 -1
  98. package/lib/utils/useIsSubmenu.d.ts +0 -9
  99. package/lib/utils/useOnMenuEnter.d.ts +0 -23
  100. package/lib-commonjs/Menu.d.ts +0 -1
  101. package/lib-commonjs/MenuDivider.d.ts +0 -1
  102. package/lib-commonjs/MenuGroup.d.ts +0 -1
  103. package/lib-commonjs/MenuGroupHeader.d.ts +0 -1
  104. package/lib-commonjs/MenuItem.d.ts +0 -1
  105. package/lib-commonjs/MenuItemCheckbox.d.ts +0 -1
  106. package/lib-commonjs/MenuItemRadio.d.ts +0 -1
  107. package/lib-commonjs/MenuList.d.ts +0 -1
  108. package/lib-commonjs/MenuPopover.d.ts +0 -1
  109. package/lib-commonjs/MenuSplitGroup.d.ts +0 -1
  110. package/lib-commonjs/MenuTrigger.d.ts +0 -1
  111. package/lib-commonjs/components/Menu/Menu.d.ts +0 -6
  112. package/lib-commonjs/components/Menu/Menu.types.d.ts +0 -113
  113. package/lib-commonjs/components/Menu/index.d.ts +0 -5
  114. package/lib-commonjs/components/Menu/renderMenu.d.ts +0 -5
  115. package/lib-commonjs/components/Menu/useMenu.d.ts +0 -10
  116. package/lib-commonjs/components/Menu/useMenuContextValues.d.ts +0 -2
  117. package/lib-commonjs/components/MenuDivider/MenuDivider.d.ts +0 -6
  118. package/lib-commonjs/components/MenuDivider/MenuDivider.types.d.ts +0 -6
  119. package/lib-commonjs/components/MenuDivider/index.d.ts +0 -5
  120. package/lib-commonjs/components/MenuDivider/renderMenuDivider.d.ts +0 -6
  121. package/lib-commonjs/components/MenuDivider/useMenuDivider.d.ts +0 -6
  122. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.d.ts +0 -8
  123. package/lib-commonjs/components/MenuGroup/MenuGroup.d.ts +0 -6
  124. package/lib-commonjs/components/MenuGroup/MenuGroup.types.d.ts +0 -15
  125. package/lib-commonjs/components/MenuGroup/index.d.ts +0 -6
  126. package/lib-commonjs/components/MenuGroup/renderMenuGroup.d.ts +0 -6
  127. package/lib-commonjs/components/MenuGroup/useMenuGroup.d.ts +0 -6
  128. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.d.ts +0 -2
  129. package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.d.ts +0 -8
  130. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.d.ts +0 -6
  131. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.types.d.ts +0 -6
  132. package/lib-commonjs/components/MenuGroupHeader/index.d.ts +0 -5
  133. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.d.ts +0 -6
  134. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.d.ts +0 -6
  135. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.d.ts +0 -8
  136. package/lib-commonjs/components/MenuItem/MenuItem.d.ts +0 -6
  137. package/lib-commonjs/components/MenuItem/MenuItem.types.d.ts +0 -43
  138. package/lib-commonjs/components/MenuItem/index.d.ts +0 -5
  139. package/lib-commonjs/components/MenuItem/renderMenuItem.d.ts +0 -5
  140. package/lib-commonjs/components/MenuItem/useCharacterSearch.d.ts +0 -3
  141. package/lib-commonjs/components/MenuItem/useMenuItem.d.ts +0 -6
  142. package/lib-commonjs/components/MenuItem/useMenuItemStyles.d.ts +0 -9
  143. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.d.ts +0 -6
  144. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +0 -4
  145. package/lib-commonjs/components/MenuItemCheckbox/index.d.ts +0 -5
  146. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.d.ts +0 -3
  147. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.d.ts +0 -4
  148. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.d.ts +0 -9
  149. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.d.ts +0 -6
  150. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.types.d.ts +0 -4
  151. package/lib-commonjs/components/MenuItemRadio/index.d.ts +0 -5
  152. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.d.ts +0 -6
  153. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.d.ts +0 -6
  154. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.d.ts +0 -9
  155. package/lib-commonjs/components/MenuList/MenuList.d.ts +0 -6
  156. package/lib-commonjs/components/MenuList/MenuList.types.d.ts +0 -55
  157. package/lib-commonjs/components/MenuList/index.d.ts +0 -6
  158. package/lib-commonjs/components/MenuList/renderMenuList.d.ts +0 -5
  159. package/lib-commonjs/components/MenuList/useMenuList.d.ts +0 -6
  160. package/lib-commonjs/components/MenuList/useMenuListContextValues.d.ts +0 -2
  161. package/lib-commonjs/components/MenuList/useMenuListStyles.d.ts +0 -11
  162. package/lib-commonjs/components/MenuPopover/MenuPopover.d.ts +0 -6
  163. package/lib-commonjs/components/MenuPopover/MenuPopover.types.d.ts +0 -18
  164. package/lib-commonjs/components/MenuPopover/index.d.ts +0 -5
  165. package/lib-commonjs/components/MenuPopover/renderMenuPopover.d.ts +0 -5
  166. package/lib-commonjs/components/MenuPopover/useMenuPopover.d.ts +0 -12
  167. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.d.ts +0 -11
  168. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.d.ts +0 -6
  169. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.d.ts +0 -14
  170. package/lib-commonjs/components/MenuSplitGroup/index.d.ts +0 -5
  171. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.d.ts +0 -5
  172. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.d.ts +0 -12
  173. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.d.ts +0 -11
  174. package/lib-commonjs/components/MenuTrigger/MenuTrigger.d.ts +0 -8
  175. package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.d.ts +0 -20
  176. package/lib-commonjs/components/MenuTrigger/index.d.ts +0 -4
  177. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.d.ts +0 -7
  178. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.d.ts +0 -8
  179. package/lib-commonjs/components/index.d.ts +0 -2
  180. package/lib-commonjs/contexts/menuContext.d.ts +0 -16
  181. package/lib-commonjs/contexts/menuGroupContext.d.ts +0 -13
  182. package/lib-commonjs/contexts/menuListContext.d.ts +0 -15
  183. package/lib-commonjs/contexts/menuTriggerContext.d.ts +0 -3
  184. package/lib-commonjs/index.d.ts +0 -16
  185. package/lib-commonjs/selectable/index.d.ts +0 -2
  186. package/lib-commonjs/selectable/types.d.ts +0 -34
  187. package/lib-commonjs/selectable/useCheckmarkStyles.d.ts +0 -8
  188. package/lib-commonjs/utils/index.d.ts +0 -1
  189. package/lib-commonjs/utils/useIsSubmenu.d.ts +0 -9
  190. package/lib-commonjs/utils/useOnMenuEnter.d.ts +0 -23
@@ -1,12 +0,0 @@
1
- import * as React from 'react';
2
- import { MenuPopoverProps, MenuPopoverState } from './MenuPopover.types';
3
- /**
4
- * Create the state required to render MenuPopover.
5
- *
6
- * The returned state can be modified with hooks such as useMenuPopoverStyles_unstable,
7
- * before being passed to renderMenuPopover_unstable.
8
- *
9
- * @param props - props from this instance of MenuPopover
10
- * @param ref - reference to root HTMLElement of MenuPopover
11
- */
12
- export declare const useMenuPopover_unstable: (props: MenuPopoverProps, ref: React.Ref<HTMLElement>) => MenuPopoverState;
@@ -1,11 +0,0 @@
1
- import type { MenuPopoverSlots, MenuPopoverState } from './MenuPopover.types';
2
- import type { SlotClassNames } from '@fluentui/react-utilities';
3
- /**
4
- * @deprecated Use `menuPopoverClassNames.root` instead.
5
- */
6
- export declare const menuPopoverClassName = "fui-MenuPopover";
7
- export declare const menuPopoverClassNames: SlotClassNames<MenuPopoverSlots>;
8
- /**
9
- * Apply styling to the Menu slots based on the state
10
- */
11
- export declare const useMenuPopoverStyles_unstable: (state: MenuPopoverState) => MenuPopoverState;
@@ -1,6 +0,0 @@
1
- import type { MenuSplitGroupProps } from './MenuSplitGroup.types';
2
- import type { ForwardRefComponent } from '@fluentui/react-utilities';
3
- /**
4
- * Layout wrapper that provides extra keyboard navigation behavior for two `MenuItem` components.
5
- */
6
- export declare const MenuSplitGroup: ForwardRefComponent<MenuSplitGroupProps>;
@@ -1,14 +0,0 @@
1
- import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
2
- export declare type MenuSplitGroupSlots = {
3
- root: Slot<'div'>;
4
- };
5
- declare type MenuSplitGroupCommons = {};
6
- /**
7
- * MenuSplitGroup Props
8
- */
9
- export declare type MenuSplitGroupProps = ComponentProps<MenuSplitGroupSlots> & MenuSplitGroupCommons;
10
- /**
11
- * State used in rendering MenuSplitGroup
12
- */
13
- export declare type MenuSplitGroupState = ComponentState<MenuSplitGroupSlots> & MenuSplitGroupCommons;
14
- export {};
@@ -1,5 +0,0 @@
1
- export * from './MenuSplitGroup';
2
- export * from './MenuSplitGroup.types';
3
- export * from './renderMenuSplitGroup';
4
- export * from './useMenuSplitGroup';
5
- export * from './useMenuSplitGroupStyles';
@@ -1,5 +0,0 @@
1
- import type { MenuSplitGroupState } from './MenuSplitGroup.types';
2
- /**
3
- * Render the final JSX of MenuSplitGroup
4
- */
5
- export declare const renderMenuSplitGroup_unstable: (state: MenuSplitGroupState) => JSX.Element;
@@ -1,12 +0,0 @@
1
- import * as React from 'react';
2
- import type { MenuSplitGroupProps, MenuSplitGroupState } from './MenuSplitGroup.types';
3
- /**
4
- * Create the state required to render MenuSplitGroup.
5
- *
6
- * The returned state can be modified with hooks such as useMenuSplitGroupStyles_unstable,
7
- * before being passed to renderMenuSplitGroup_unstable.
8
- *
9
- * @param props - props from this instance of MenuSplitGroup
10
- * @param ref - reference to root HTMLElement of MenuSplitGroup
11
- */
12
- export declare const useMenuSplitGroup_unstable: (props: MenuSplitGroupProps, ref: React.Ref<HTMLElement>) => MenuSplitGroupState;
@@ -1,11 +0,0 @@
1
- import type { MenuSplitGroupSlots, MenuSplitGroupState } from './MenuSplitGroup.types';
2
- import type { SlotClassNames } from '@fluentui/react-utilities';
3
- /**
4
- * @deprecated Use `menuSplitGroupClassNames.root` instead.
5
- */
6
- export declare const menuSplitGroupClassName = "fui-MenuSplitGroup";
7
- export declare const menuSplitGroupClassNames: SlotClassNames<MenuSplitGroupSlots>;
8
- /**
9
- * Apply styling to the MenuSplitGroup slots based on the state
10
- */
11
- export declare const useMenuSplitGroupStyles_unstable: (state: MenuSplitGroupState) => MenuSplitGroupState;
@@ -1,8 +0,0 @@
1
- import * as React from 'react';
2
- import type { MenuTriggerProps } from './MenuTrigger.types';
3
- import type { FluentTriggerComponent } from '@fluentui/react-utilities';
4
- /**
5
- * Wraps a trigger element as an only child
6
- * and adds the necessary event handling to open a popup menu
7
- */
8
- export declare const MenuTrigger: React.FC<MenuTriggerProps> & FluentTriggerComponent;
@@ -1,20 +0,0 @@
1
- import * as React from 'react';
2
- export declare type MenuTriggerProps = {
3
- /**
4
- * Explicitly require single child or render function
5
- */
6
- children: (React.ReactElement & {
7
- ref?: React.Ref<unknown>;
8
- }) | ((props: MenuTriggerChildProps) => React.ReactElement | null);
9
- };
10
- /**
11
- * Props that are passed to the child of the MenuTrigger when cloned to ensure correct behaviour for the Menu
12
- */
13
- export declare type MenuTriggerChildProps = Required<Pick<React.HTMLAttributes<HTMLElement>, 'onClick' | 'onMouseEnter' | 'onMouseLeave' | 'onMouseMove' | 'onContextMenu' | 'onKeyDown' | 'aria-haspopup' | 'id'>> & {
14
- ref?: React.Ref<never>;
15
- 'aria-expanded': boolean | undefined;
16
- };
17
- export declare type MenuTriggerState = {
18
- children: React.ReactElement | null;
19
- isSubmenu: boolean;
20
- };
@@ -1,4 +0,0 @@
1
- export * from './MenuTrigger';
2
- export * from './MenuTrigger.types';
3
- export * from './renderMenuTrigger';
4
- export * from './useMenuTrigger';
@@ -1,7 +0,0 @@
1
- import type { MenuTriggerState } from './MenuTrigger.types';
2
- /**
3
- * Render the final JSX of MenuTrigger
4
- *
5
- * Only renders children
6
- */
7
- export declare const renderMenuTrigger_unstable: (state: MenuTriggerState) => JSX.Element;
@@ -1,8 +0,0 @@
1
- import { MenuTriggerProps, MenuTriggerState } from './MenuTrigger.types';
2
- /**
3
- * Create the state required to render MenuTrigger.
4
- * Clones the only child component and adds necessary event handling behaviours to open a popup menu
5
- *
6
- * @param props - props from this instance of MenuTrigger
7
- */
8
- export declare const useMenuTrigger_unstable: (props: MenuTriggerProps) => MenuTriggerState;
@@ -1,2 +0,0 @@
1
- export * from './MenuItem/index';
2
- export * from './MenuList/index';
@@ -1,16 +0,0 @@
1
- import * as React from 'react';
2
- import type { ContextSelector, Context } from '@fluentui/react-context-selector';
3
- import type { MenuListProps } from '../components/index';
4
- import type { MenuState } from '../components/Menu/index';
5
- export declare const MenuContext: Context<MenuContextValue>;
6
- /**
7
- * Context shared between Menu and its children components
8
- *
9
- * Extends and drills down MenuList props to simplify API
10
- */
11
- export declare type MenuContextValue = MenuListProps & Pick<MenuState, 'openOnHover' | 'openOnContext' | 'triggerRef' | 'menuPopoverRef' | 'setOpen' | 'isSubmenu' | 'triggerId' | 'hasIcons' | 'hasCheckmarks' | 'persistOnItemClick' | 'inline'> & {
12
- open: boolean;
13
- triggerId: string;
14
- };
15
- export declare const MenuProvider: React.Provider<MenuContextValue> & React.FC<React.ProviderProps<MenuContextValue>>;
16
- export declare const useMenuContext_unstable: <T>(selector: ContextSelector<MenuContextValue, T>) => T;
@@ -1,13 +0,0 @@
1
- import * as React from 'react';
2
- /**
3
- * Context used to guarantee correct aria-relationship between header
4
- * and group information
5
- */
6
- export declare type MenuGroupContextValue = {
7
- /**
8
- * Element id applied to the `MenuGroupHeader` component
9
- */
10
- headerId: string;
11
- };
12
- export declare const MenuGroupContextProvider: React.Provider<MenuGroupContextValue>;
13
- export declare const useMenuGroupContext_unstable: () => MenuGroupContextValue;
@@ -1,15 +0,0 @@
1
- import * as React from 'react';
2
- import type { ContextSelector, Context } from '@fluentui/react-context-selector';
3
- import type { SelectableHandler } from '../selectable/index';
4
- import type { MenuListProps } from '../components/index';
5
- export declare const MenuListContext: Context<MenuListContextValue>;
6
- /**
7
- * Context shared between MenuList and its children components
8
- */
9
- export declare type MenuListContextValue = Pick<MenuListProps, 'checkedValues' | 'onCheckedValueChange' | 'hasIcons' | 'hasCheckmarks'> & {
10
- setFocusByFirstCharacter?: (e: React.KeyboardEvent<HTMLElement>, itemEl: HTMLElement) => void;
11
- toggleCheckbox?: SelectableHandler;
12
- selectRadio?: SelectableHandler;
13
- };
14
- export declare const MenuListProvider: React.Provider<MenuListContextValue> & React.FC<React.ProviderProps<MenuListContextValue>>;
15
- export declare const useMenuListContext_unstable: <T>(selector: ContextSelector<MenuListContextValue, T>) => T;
@@ -1,3 +0,0 @@
1
- import * as React from 'react';
2
- export declare const MenuTriggerContextProvider: React.Provider<boolean>;
3
- export declare const useMenuTriggerContext_unstable: () => boolean;
package/lib/index.d.ts DELETED
@@ -1,16 +0,0 @@
1
- export * from './contexts/menuContext';
2
- export * from './contexts/menuTriggerContext';
3
- export * from './contexts/menuGroupContext';
4
- export * from './contexts/menuListContext';
5
- export * from './Menu';
6
- export * from './MenuDivider';
7
- export * from './MenuGroup';
8
- export * from './MenuGroupHeader';
9
- export * from './MenuItem';
10
- export * from './MenuItemCheckbox';
11
- export * from './MenuItemRadio';
12
- export * from './MenuList';
13
- export * from './MenuPopover';
14
- export * from './MenuSplitGroup';
15
- export * from './MenuTrigger';
16
- export * from './selectable/index';
@@ -1,2 +0,0 @@
1
- export * from './useCheckmarkStyles';
2
- export * from './types';
@@ -1,34 +0,0 @@
1
- import * as React from 'react';
2
- export declare type SelectableHandler = (e: React.MouseEvent | React.KeyboardEvent, name: string, value: string, checked: boolean) => void;
3
- /**
4
- * Props for selecatble menu items
5
- */
6
- export declare type MenuItemSelectableProps = {
7
- /**
8
- * Follows input convention
9
- * https://www.w3schools.com/jsref/prop_checkbox_name.asp
10
- */
11
- name: string;
12
- /**
13
- * Follows input convention
14
- * https://www.w3schools.com/jsref/prop_checkbox_value.asp
15
- */
16
- value: string;
17
- };
18
- /**
19
- * State for selectable menu items
20
- */
21
- export declare type MenuItemSelectableState = MenuItemSelectableProps & {
22
- /**
23
- * Checked items for a value with `name`
24
- */
25
- checkedItems: string[];
26
- /**
27
- * Callback when checked items changes for a given value with `name`
28
- */
29
- onCheckedValueChange: (e: React.MouseEvent | React.KeyboardEvent, name: string, checkedItems: string[]) => void;
30
- /**
31
- * Selectable is checked
32
- */
33
- checked: boolean;
34
- };
@@ -1,8 +0,0 @@
1
- import type { MenuItemSelectableState } from './types';
2
- import type { MenuItemState } from '../components/MenuItem/MenuItem.types';
3
- /**
4
- * Applies styles to a checkmark slot for selectable menu items
5
- *
6
- * @param state - should contain a `checkmark` slot
7
- */
8
- export declare const useCheckmarkStyles_unstable: (state: MenuItemSelectableState & Pick<MenuItemState, 'checkmark'>) => void;
@@ -1 +0,0 @@
1
- export * from './useOnMenuEnter';
@@ -1,9 +0,0 @@
1
- /**
2
- * A component can be a part of a submenu whether its menu context `isSubmenu` flag is true
3
- * or whether it is a part of a `MenuList`
4
- *
5
- * A simple hook to check box contexts easily
6
- *
7
- * @returns whether the component is part of a submenu
8
- */
9
- export declare function useIsSubmenu(): boolean;
@@ -1,23 +0,0 @@
1
- import type { UseOnClickOrScrollOutsideOptions } from '@fluentui/react-utilities';
2
- /**
3
- * Name of the custom event
4
- */
5
- export declare const MENU_ENTER_EVENT = "fuimenuenter";
6
- /**
7
- * This hook works similarly to @see {useOnClickOutside}
8
- *
9
- * Problem: Trying to behave the same as system menus:
10
- * When the mouse leaves a stack of nested menus the stack should not dismiss.
11
- * However if the mouse leaves a stack of menus and enters a parent menu all its children menu should dismiss.
12
- *
13
- * We don't use the native mouseenter event because it would trigger too many times in the document
14
- * Instead, dispatch custom DOM event from the menu so that it can bubble
15
- * Each nested menu can use the listener to check if the event is from a child or parent menu
16
- */
17
- export declare const useOnMenuMouseEnter: (options: UseOnClickOrScrollOutsideOptions) => void;
18
- /**
19
- * Dispatches the custom MouseEvent enter event. Similar to calling `el.click()`
20
- * @param el element for the event target
21
- * @param nativeEvent the native mouse event this is mapped to
22
- */
23
- export declare const dispatchMenuEnterEvent: (el: HTMLElement, nativeEvent: MouseEvent) => void;
@@ -1 +0,0 @@
1
- export * from './components/Menu/index';
@@ -1 +0,0 @@
1
- export * from './components/MenuDivider/index';
@@ -1 +0,0 @@
1
- export * from './components/MenuGroup/index';
@@ -1 +0,0 @@
1
- export * from './components/MenuGroupHeader/index';
@@ -1 +0,0 @@
1
- export * from './components/MenuItem/index';
@@ -1 +0,0 @@
1
- export * from './components/MenuItemCheckbox/index';
@@ -1 +0,0 @@
1
- export * from './components/MenuItemRadio/index';
@@ -1 +0,0 @@
1
- export * from './components/MenuList/index';
@@ -1 +0,0 @@
1
- export * from './components/MenuPopover/index';
@@ -1 +0,0 @@
1
- export * from './components/MenuSplitGroup/index';
@@ -1 +0,0 @@
1
- export * from './components/MenuTrigger/index';
@@ -1,6 +0,0 @@
1
- import * as React from 'react';
2
- import type { MenuProps } from './Menu.types';
3
- /**
4
- * Wrapper component that manages state for a popup MenuList and a MenuTrigger
5
- */
6
- export declare const Menu: React.FC<MenuProps>;
@@ -1,113 +0,0 @@
1
- import * as React from 'react';
2
- import { ComponentProps, ComponentState } from '@fluentui/react-utilities';
3
- import { usePopperMouseTarget, PositioningShorthand } from '@fluentui/react-positioning';
4
- import { MenuListCommons } from '../MenuList/MenuList.types';
5
- import { MenuContextValue } from '../../contexts/menuContext';
6
- declare type MenuCommons = MenuListCommons & {
7
- /**
8
- * Whether the popup is open
9
- */
10
- open: boolean;
11
- /**
12
- * Call back when the component requests to change value
13
- * The `open` value is used as a hint when directly controlling the component
14
- */
15
- onOpenChange?: (e: MenuOpenEvents, data: MenuOpenChangeData) => void;
16
- /**
17
- * Whether the popup is open by default
18
- */
19
- defaultOpen?: boolean;
20
- openOnHover: boolean;
21
- /**
22
- * Opens the menu on right click (context menu), removes all other menu open interactions
23
- */
24
- openOnContext?: boolean;
25
- /**
26
- * Root menus are rendered out of DOM order on `document.body`, use this to render the menu in DOM order
27
- * This option is disregarded for submenus
28
- */
29
- inline?: boolean;
30
- /**
31
- * Do not dismiss the menu when a menu item is clicked
32
- */
33
- persistOnItemClick?: boolean;
34
- /**
35
- * Sets the delay for mouse open/close for the popover one mouse enter/leave
36
- */
37
- hoverDelay?: number;
38
- };
39
- export declare type MenuSlots = {};
40
- /**
41
- * Extends and drills down Menulist props to simplify API
42
- */
43
- export declare type MenuProps = Partial<MenuCommons> & ComponentProps<MenuSlots> & {
44
- /**
45
- * Can contain two children including {@link MenuTrigger} and {@link MenuPopover}.
46
- * Alternatively can only contain {@link MenuPopover} if using a custom `target`.
47
- */
48
- children: [JSX.Element, JSX.Element] | JSX.Element;
49
- /**
50
- * Configures the positioned menu
51
- */
52
- positioning?: PositioningShorthand;
53
- };
54
- export declare type MenuState = MenuCommons & ComponentState<MenuSlots> & {
55
- /**
56
- * Callback to open/close the popup
57
- */
58
- setOpen: (e: MenuOpenEvents, data: MenuOpenChangeData) => void;
59
- /**
60
- * Internal react node that just simplifies handling children
61
- */
62
- menuPopover: React.ReactNode;
63
- /**
64
- * Internal react node that just simplifies handling children
65
- */
66
- menuTrigger: React.ReactNode;
67
- /**
68
- * The ref for the popup
69
- */
70
- menuPopoverRef: React.MutableRefObject<HTMLElement>;
71
- /**
72
- * The ref for the MenuTrigger, used for popup positioning
73
- */
74
- triggerRef: React.MutableRefObject<HTMLElement>;
75
- /**
76
- * Id for the MenuTrigger element for aria relationship
77
- */
78
- triggerId: string;
79
- /**
80
- * Whether this menu is a submenu
81
- */
82
- isSubmenu: boolean;
83
- /**
84
- * Anchors the popper to the mouse click for context events
85
- */
86
- contextTarget: ReturnType<typeof usePopperMouseTarget>[0];
87
- /**
88
- * A callback to set the target of the popper to the mouse click for context events
89
- */
90
- setContextTarget: ReturnType<typeof usePopperMouseTarget>[1];
91
- };
92
- /**
93
- * Data attached to open/close events
94
- */
95
- export declare type MenuOpenChangeData = {
96
- open: boolean;
97
- /**
98
- * Indicates whether the change of state was a keyboard interaction
99
- */
100
- keyboard?: boolean;
101
- /**
102
- * indicates whether the request for the open state was bubbled from a nested menu
103
- */
104
- bubble?: boolean;
105
- };
106
- export declare type MenuContextValues = {
107
- menu: MenuContextValue;
108
- };
109
- /**
110
- * The supported events that will trigger open/close of the menu
111
- */
112
- export declare type MenuOpenEvents = MouseEvent | TouchEvent | React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement> | React.FocusEvent<HTMLElement>;
113
- export {};
@@ -1,5 +0,0 @@
1
- export * from './Menu';
2
- export * from './Menu.types';
3
- export * from './renderMenu';
4
- export * from './useMenu';
5
- export * from './useMenuContextValues';
@@ -1,5 +0,0 @@
1
- import type { MenuContextValues, MenuState } from './Menu.types';
2
- /**
3
- * Render the final JSX of Menu
4
- */
5
- export declare const renderMenu_unstable: (state: MenuState, contextValues: MenuContextValues) => JSX.Element;
@@ -1,10 +0,0 @@
1
- import type { MenuProps, MenuState } from './Menu.types';
2
- /**
3
- * Create the state required to render Menu.
4
- *
5
- * The returned state can be modified with hooks such as useMenuStyles,
6
- * before being passed to renderMenu_unstable.
7
- *
8
- * @param props - props from this instance of Menu
9
- */
10
- export declare const useMenu_unstable: (props: MenuProps) => MenuState;
@@ -1,2 +0,0 @@
1
- import type { MenuContextValues, MenuState } from './Menu.types';
2
- export declare function useMenuContextValues_unstable(state: MenuState): MenuContextValues;
@@ -1,6 +0,0 @@
1
- import type { MenuDividerProps } from './MenuDivider.types';
2
- import type { ForwardRefComponent } from '@fluentui/react-utilities';
3
- /**
4
- * Define a styled MenuDivider, using the `useMenuDivider_unstable` hook.
5
- */
6
- export declare const MenuDivider: ForwardRefComponent<MenuDividerProps>;
@@ -1,6 +0,0 @@
1
- import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
2
- export declare type MenuDividerSlots = {
3
- root: Slot<'div'>;
4
- };
5
- export declare type MenuDividerProps = ComponentProps<MenuDividerSlots>;
6
- export declare type MenuDividerState = ComponentState<MenuDividerSlots>;
@@ -1,5 +0,0 @@
1
- export * from './MenuDivider.types';
2
- export * from './MenuDivider';
3
- export * from './renderMenuDivider';
4
- export * from './useMenuDivider';
5
- export * from './useMenuDividerStyles';
@@ -1,6 +0,0 @@
1
- import { MenuDividerState } from './MenuDivider.types';
2
- /**
3
- * Redefine the render function to add slots. Reuse the menudivider structure but add
4
- * slots to children.
5
- */
6
- export declare const renderMenuDivider_unstable: (state: MenuDividerState) => JSX.Element;
@@ -1,6 +0,0 @@
1
- import * as React from 'react';
2
- import type { MenuDividerProps, MenuDividerState } from './MenuDivider.types';
3
- /**
4
- * Given user props, returns state and render function for a MenuDivider.
5
- */
6
- export declare const useMenuDivider_unstable: (props: MenuDividerProps, ref: React.Ref<HTMLElement>) => MenuDividerState;
@@ -1,8 +0,0 @@
1
- import type { MenuDividerSlots, MenuDividerState } from './MenuDivider.types';
2
- import type { SlotClassNames } from '@fluentui/react-utilities';
3
- /**
4
- * @deprecated Use `menuDividerClassNames.root` instead.
5
- */
6
- export declare const menuDividerClassName = "fui-MenuDivider";
7
- export declare const menuDividerClassNames: SlotClassNames<MenuDividerSlots>;
8
- export declare const useMenuDividerStyles_unstable: (state: MenuDividerState) => MenuDividerState;
@@ -1,6 +0,0 @@
1
- import type { MenuGroupProps } from './MenuGroup.types';
2
- import type { ForwardRefComponent } from '@fluentui/react-utilities';
3
- /**
4
- * Define a styled MenuGroup, using the `useMenuGroup_unstable` hook.
5
- */
6
- export declare const MenuGroup: ForwardRefComponent<MenuGroupProps>;
@@ -1,15 +0,0 @@
1
- import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
2
- import type { MenuGroupContextValue } from '../../contexts/menuGroupContext';
3
- export declare type MenuGroupSlots = {
4
- root: Slot<'div'>;
5
- };
6
- export declare type MenuGroupProps = ComponentProps<MenuGroupSlots>;
7
- export declare type MenuGroupState = ComponentState<MenuGroupSlots> & {
8
- /**
9
- * id applied to the DOM element of `MenuGroupHeader`
10
- */
11
- headerId: string;
12
- };
13
- export declare type MenuGroupContextValues = {
14
- menuGroup: MenuGroupContextValue;
15
- };
@@ -1,6 +0,0 @@
1
- export * from './MenuGroup.types';
2
- export * from './MenuGroup';
3
- export * from './renderMenuGroup';
4
- export * from './useMenuGroup';
5
- export * from './useMenuGroupContextValues';
6
- export * from './useMenuGroupStyles';
@@ -1,6 +0,0 @@
1
- import { MenuGroupContextValues, MenuGroupState } from './MenuGroup.types';
2
- /**
3
- * Redefine the render function to add slots. Reuse the menugroup structure but add
4
- * slots to children.
5
- */
6
- export declare const renderMenuGroup_unstable: (state: MenuGroupState, contextValues: MenuGroupContextValues) => JSX.Element;
@@ -1,6 +0,0 @@
1
- import * as React from 'react';
2
- import { MenuGroupProps, MenuGroupState } from './MenuGroup.types';
3
- /**
4
- * Given user props, returns state and render function for a MenuGroup.
5
- */
6
- export declare function useMenuGroup_unstable(props: MenuGroupProps, ref: React.Ref<HTMLElement>): MenuGroupState;
@@ -1,2 +0,0 @@
1
- import type { MenuGroupContextValues, MenuGroupState } from './MenuGroup.types';
2
- export declare function useMenuGroupContextValues_unstable(state: MenuGroupState): MenuGroupContextValues;
@@ -1,8 +0,0 @@
1
- import type { SlotClassNames } from '@fluentui/react-utilities';
2
- import type { MenuGroupSlots, MenuGroupState } from './MenuGroup.types';
3
- /**
4
- * @deprecated Use `menuGroupClassNames.root` instead.
5
- */
6
- export declare const menuGroupClassName = "fui-MenuGroup";
7
- export declare const menuGroupClassNames: SlotClassNames<MenuGroupSlots>;
8
- export declare const useMenuGroupStyles_unstable: (state: MenuGroupState) => MenuGroupState;
@@ -1,6 +0,0 @@
1
- import type { MenuGroupHeaderProps } from './MenuGroupHeader.types';
2
- import type { ForwardRefComponent } from '@fluentui/react-utilities';
3
- /**
4
- * Define a styled MenuGroupHeader, using the `useMenuGroupHeader_unstable` hook.
5
- */
6
- export declare const MenuGroupHeader: ForwardRefComponent<MenuGroupHeaderProps>;
@@ -1,6 +0,0 @@
1
- import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
2
- export declare type MenuGroupHeaderSlots = {
3
- root: Slot<'div'>;
4
- };
5
- export declare type MenuGroupHeaderProps = ComponentProps<MenuGroupHeaderSlots>;
6
- export declare type MenuGroupHeaderState = ComponentState<MenuGroupHeaderSlots>;