@fluentui/react-menu 9.0.0-rc.7 → 9.0.0-rc.8

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 (187) hide show
  1. package/CHANGELOG.json +72 -1
  2. package/CHANGELOG.md +149 -132
  3. package/dist/{react-menu.d.ts → index.d.ts} +0 -0
  4. package/{lib → dist}/tsdoc-metadata.json +0 -0
  5. package/package.json +12 -12
  6. package/lib/Menu.d.ts +0 -1
  7. package/lib/MenuDivider.d.ts +0 -1
  8. package/lib/MenuGroup.d.ts +0 -1
  9. package/lib/MenuGroupHeader.d.ts +0 -1
  10. package/lib/MenuItem.d.ts +0 -1
  11. package/lib/MenuItemCheckbox.d.ts +0 -1
  12. package/lib/MenuItemRadio.d.ts +0 -1
  13. package/lib/MenuList.d.ts +0 -1
  14. package/lib/MenuPopover.d.ts +0 -1
  15. package/lib/MenuSplitGroup.d.ts +0 -1
  16. package/lib/MenuTrigger.d.ts +0 -1
  17. package/lib/components/Menu/Menu.d.ts +0 -6
  18. package/lib/components/Menu/Menu.types.d.ts +0 -113
  19. package/lib/components/Menu/index.d.ts +0 -5
  20. package/lib/components/Menu/renderMenu.d.ts +0 -5
  21. package/lib/components/Menu/useMenu.d.ts +0 -10
  22. package/lib/components/Menu/useMenuContextValues.d.ts +0 -2
  23. package/lib/components/MenuDivider/MenuDivider.d.ts +0 -6
  24. package/lib/components/MenuDivider/MenuDivider.types.d.ts +0 -6
  25. package/lib/components/MenuDivider/index.d.ts +0 -5
  26. package/lib/components/MenuDivider/renderMenuDivider.d.ts +0 -6
  27. package/lib/components/MenuDivider/useMenuDivider.d.ts +0 -6
  28. package/lib/components/MenuDivider/useMenuDividerStyles.d.ts +0 -8
  29. package/lib/components/MenuGroup/MenuGroup.d.ts +0 -6
  30. package/lib/components/MenuGroup/MenuGroup.types.d.ts +0 -15
  31. package/lib/components/MenuGroup/index.d.ts +0 -6
  32. package/lib/components/MenuGroup/renderMenuGroup.d.ts +0 -6
  33. package/lib/components/MenuGroup/useMenuGroup.d.ts +0 -6
  34. package/lib/components/MenuGroup/useMenuGroupContextValues.d.ts +0 -2
  35. package/lib/components/MenuGroup/useMenuGroupStyles.d.ts +0 -8
  36. package/lib/components/MenuGroupHeader/MenuGroupHeader.d.ts +0 -6
  37. package/lib/components/MenuGroupHeader/MenuGroupHeader.types.d.ts +0 -6
  38. package/lib/components/MenuGroupHeader/index.d.ts +0 -5
  39. package/lib/components/MenuGroupHeader/renderMenuGroupHeader.d.ts +0 -6
  40. package/lib/components/MenuGroupHeader/useMenuGroupHeader.d.ts +0 -6
  41. package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.d.ts +0 -8
  42. package/lib/components/MenuItem/MenuItem.d.ts +0 -6
  43. package/lib/components/MenuItem/MenuItem.types.d.ts +0 -43
  44. package/lib/components/MenuItem/index.d.ts +0 -5
  45. package/lib/components/MenuItem/renderMenuItem.d.ts +0 -5
  46. package/lib/components/MenuItem/useCharacterSearch.d.ts +0 -3
  47. package/lib/components/MenuItem/useMenuItem.d.ts +0 -6
  48. package/lib/components/MenuItem/useMenuItemStyles.d.ts +0 -9
  49. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.d.ts +0 -6
  50. package/lib/components/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +0 -4
  51. package/lib/components/MenuItemCheckbox/index.d.ts +0 -5
  52. package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.d.ts +0 -3
  53. package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.d.ts +0 -4
  54. package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.d.ts +0 -9
  55. package/lib/components/MenuItemRadio/MenuItemRadio.d.ts +0 -6
  56. package/lib/components/MenuItemRadio/MenuItemRadio.types.d.ts +0 -4
  57. package/lib/components/MenuItemRadio/index.d.ts +0 -5
  58. package/lib/components/MenuItemRadio/renderMenuItemRadio.d.ts +0 -6
  59. package/lib/components/MenuItemRadio/useMenuItemRadio.d.ts +0 -6
  60. package/lib/components/MenuItemRadio/useMenuItemRadioStyles.d.ts +0 -9
  61. package/lib/components/MenuList/MenuList.d.ts +0 -6
  62. package/lib/components/MenuList/MenuList.types.d.ts +0 -55
  63. package/lib/components/MenuList/index.d.ts +0 -6
  64. package/lib/components/MenuList/renderMenuList.d.ts +0 -5
  65. package/lib/components/MenuList/useMenuList.d.ts +0 -6
  66. package/lib/components/MenuList/useMenuListContextValues.d.ts +0 -2
  67. package/lib/components/MenuList/useMenuListStyles.d.ts +0 -11
  68. package/lib/components/MenuPopover/MenuPopover.d.ts +0 -6
  69. package/lib/components/MenuPopover/MenuPopover.types.d.ts +0 -18
  70. package/lib/components/MenuPopover/index.d.ts +0 -5
  71. package/lib/components/MenuPopover/renderMenuPopover.d.ts +0 -5
  72. package/lib/components/MenuPopover/useMenuPopover.d.ts +0 -12
  73. package/lib/components/MenuPopover/useMenuPopoverStyles.d.ts +0 -11
  74. package/lib/components/MenuSplitGroup/MenuSplitGroup.d.ts +0 -6
  75. package/lib/components/MenuSplitGroup/MenuSplitGroup.types.d.ts +0 -14
  76. package/lib/components/MenuSplitGroup/index.d.ts +0 -5
  77. package/lib/components/MenuSplitGroup/renderMenuSplitGroup.d.ts +0 -5
  78. package/lib/components/MenuSplitGroup/useMenuSplitGroup.d.ts +0 -12
  79. package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.d.ts +0 -11
  80. package/lib/components/MenuTrigger/MenuTrigger.d.ts +0 -8
  81. package/lib/components/MenuTrigger/MenuTrigger.types.d.ts +0 -20
  82. package/lib/components/MenuTrigger/index.d.ts +0 -4
  83. package/lib/components/MenuTrigger/renderMenuTrigger.d.ts +0 -7
  84. package/lib/components/MenuTrigger/useMenuTrigger.d.ts +0 -8
  85. package/lib/components/index.d.ts +0 -2
  86. package/lib/contexts/menuContext.d.ts +0 -16
  87. package/lib/contexts/menuGroupContext.d.ts +0 -13
  88. package/lib/contexts/menuListContext.d.ts +0 -15
  89. package/lib/contexts/menuTriggerContext.d.ts +0 -3
  90. package/lib/index.d.ts +0 -16
  91. package/lib/selectable/index.d.ts +0 -2
  92. package/lib/selectable/types.d.ts +0 -34
  93. package/lib/selectable/useCheckmarkStyles.d.ts +0 -8
  94. package/lib/utils/index.d.ts +0 -1
  95. package/lib/utils/useIsSubmenu.d.ts +0 -9
  96. package/lib/utils/useOnMenuEnter.d.ts +0 -23
  97. package/lib-commonjs/Menu.d.ts +0 -1
  98. package/lib-commonjs/MenuDivider.d.ts +0 -1
  99. package/lib-commonjs/MenuGroup.d.ts +0 -1
  100. package/lib-commonjs/MenuGroupHeader.d.ts +0 -1
  101. package/lib-commonjs/MenuItem.d.ts +0 -1
  102. package/lib-commonjs/MenuItemCheckbox.d.ts +0 -1
  103. package/lib-commonjs/MenuItemRadio.d.ts +0 -1
  104. package/lib-commonjs/MenuList.d.ts +0 -1
  105. package/lib-commonjs/MenuPopover.d.ts +0 -1
  106. package/lib-commonjs/MenuSplitGroup.d.ts +0 -1
  107. package/lib-commonjs/MenuTrigger.d.ts +0 -1
  108. package/lib-commonjs/components/Menu/Menu.d.ts +0 -6
  109. package/lib-commonjs/components/Menu/Menu.types.d.ts +0 -113
  110. package/lib-commonjs/components/Menu/index.d.ts +0 -5
  111. package/lib-commonjs/components/Menu/renderMenu.d.ts +0 -5
  112. package/lib-commonjs/components/Menu/useMenu.d.ts +0 -10
  113. package/lib-commonjs/components/Menu/useMenuContextValues.d.ts +0 -2
  114. package/lib-commonjs/components/MenuDivider/MenuDivider.d.ts +0 -6
  115. package/lib-commonjs/components/MenuDivider/MenuDivider.types.d.ts +0 -6
  116. package/lib-commonjs/components/MenuDivider/index.d.ts +0 -5
  117. package/lib-commonjs/components/MenuDivider/renderMenuDivider.d.ts +0 -6
  118. package/lib-commonjs/components/MenuDivider/useMenuDivider.d.ts +0 -6
  119. package/lib-commonjs/components/MenuDivider/useMenuDividerStyles.d.ts +0 -8
  120. package/lib-commonjs/components/MenuGroup/MenuGroup.d.ts +0 -6
  121. package/lib-commonjs/components/MenuGroup/MenuGroup.types.d.ts +0 -15
  122. package/lib-commonjs/components/MenuGroup/index.d.ts +0 -6
  123. package/lib-commonjs/components/MenuGroup/renderMenuGroup.d.ts +0 -6
  124. package/lib-commonjs/components/MenuGroup/useMenuGroup.d.ts +0 -6
  125. package/lib-commonjs/components/MenuGroup/useMenuGroupContextValues.d.ts +0 -2
  126. package/lib-commonjs/components/MenuGroup/useMenuGroupStyles.d.ts +0 -8
  127. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.d.ts +0 -6
  128. package/lib-commonjs/components/MenuGroupHeader/MenuGroupHeader.types.d.ts +0 -6
  129. package/lib-commonjs/components/MenuGroupHeader/index.d.ts +0 -5
  130. package/lib-commonjs/components/MenuGroupHeader/renderMenuGroupHeader.d.ts +0 -6
  131. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeader.d.ts +0 -6
  132. package/lib-commonjs/components/MenuGroupHeader/useMenuGroupHeaderStyles.d.ts +0 -8
  133. package/lib-commonjs/components/MenuItem/MenuItem.d.ts +0 -6
  134. package/lib-commonjs/components/MenuItem/MenuItem.types.d.ts +0 -43
  135. package/lib-commonjs/components/MenuItem/index.d.ts +0 -5
  136. package/lib-commonjs/components/MenuItem/renderMenuItem.d.ts +0 -5
  137. package/lib-commonjs/components/MenuItem/useCharacterSearch.d.ts +0 -3
  138. package/lib-commonjs/components/MenuItem/useMenuItem.d.ts +0 -6
  139. package/lib-commonjs/components/MenuItem/useMenuItemStyles.d.ts +0 -9
  140. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.d.ts +0 -6
  141. package/lib-commonjs/components/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +0 -4
  142. package/lib-commonjs/components/MenuItemCheckbox/index.d.ts +0 -5
  143. package/lib-commonjs/components/MenuItemCheckbox/renderMenuItemCheckbox.d.ts +0 -3
  144. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckbox.d.ts +0 -4
  145. package/lib-commonjs/components/MenuItemCheckbox/useMenuItemCheckboxStyles.d.ts +0 -9
  146. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.d.ts +0 -6
  147. package/lib-commonjs/components/MenuItemRadio/MenuItemRadio.types.d.ts +0 -4
  148. package/lib-commonjs/components/MenuItemRadio/index.d.ts +0 -5
  149. package/lib-commonjs/components/MenuItemRadio/renderMenuItemRadio.d.ts +0 -6
  150. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadio.d.ts +0 -6
  151. package/lib-commonjs/components/MenuItemRadio/useMenuItemRadioStyles.d.ts +0 -9
  152. package/lib-commonjs/components/MenuList/MenuList.d.ts +0 -6
  153. package/lib-commonjs/components/MenuList/MenuList.types.d.ts +0 -55
  154. package/lib-commonjs/components/MenuList/index.d.ts +0 -6
  155. package/lib-commonjs/components/MenuList/renderMenuList.d.ts +0 -5
  156. package/lib-commonjs/components/MenuList/useMenuList.d.ts +0 -6
  157. package/lib-commonjs/components/MenuList/useMenuListContextValues.d.ts +0 -2
  158. package/lib-commonjs/components/MenuList/useMenuListStyles.d.ts +0 -11
  159. package/lib-commonjs/components/MenuPopover/MenuPopover.d.ts +0 -6
  160. package/lib-commonjs/components/MenuPopover/MenuPopover.types.d.ts +0 -18
  161. package/lib-commonjs/components/MenuPopover/index.d.ts +0 -5
  162. package/lib-commonjs/components/MenuPopover/renderMenuPopover.d.ts +0 -5
  163. package/lib-commonjs/components/MenuPopover/useMenuPopover.d.ts +0 -12
  164. package/lib-commonjs/components/MenuPopover/useMenuPopoverStyles.d.ts +0 -11
  165. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.d.ts +0 -6
  166. package/lib-commonjs/components/MenuSplitGroup/MenuSplitGroup.types.d.ts +0 -14
  167. package/lib-commonjs/components/MenuSplitGroup/index.d.ts +0 -5
  168. package/lib-commonjs/components/MenuSplitGroup/renderMenuSplitGroup.d.ts +0 -5
  169. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroup.d.ts +0 -12
  170. package/lib-commonjs/components/MenuSplitGroup/useMenuSplitGroupStyles.d.ts +0 -11
  171. package/lib-commonjs/components/MenuTrigger/MenuTrigger.d.ts +0 -8
  172. package/lib-commonjs/components/MenuTrigger/MenuTrigger.types.d.ts +0 -20
  173. package/lib-commonjs/components/MenuTrigger/index.d.ts +0 -4
  174. package/lib-commonjs/components/MenuTrigger/renderMenuTrigger.d.ts +0 -7
  175. package/lib-commonjs/components/MenuTrigger/useMenuTrigger.d.ts +0 -8
  176. package/lib-commonjs/components/index.d.ts +0 -2
  177. package/lib-commonjs/contexts/menuContext.d.ts +0 -16
  178. package/lib-commonjs/contexts/menuGroupContext.d.ts +0 -13
  179. package/lib-commonjs/contexts/menuListContext.d.ts +0 -15
  180. package/lib-commonjs/contexts/menuTriggerContext.d.ts +0 -3
  181. package/lib-commonjs/index.d.ts +0 -16
  182. package/lib-commonjs/selectable/index.d.ts +0 -2
  183. package/lib-commonjs/selectable/types.d.ts +0 -34
  184. package/lib-commonjs/selectable/useCheckmarkStyles.d.ts +0 -8
  185. package/lib-commonjs/utils/index.d.ts +0 -1
  186. package/lib-commonjs/utils/useIsSubmenu.d.ts +0 -9
  187. package/lib-commonjs/utils/useOnMenuEnter.d.ts +0 -23
@@ -1,55 +0,0 @@
1
- import * as React from 'react';
2
- import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
3
- import type { MenuListContextValue } from '../../contexts/menuListContext';
4
- import type { SelectableHandler } from '../../selectable/index';
5
- export declare type MenuCheckedValueChangeEvent = React.MouseEvent | React.KeyboardEvent;
6
- export declare type MenuCheckedValueChangeData = {
7
- /** The name of the value */
8
- name: string;
9
- /** The items for this value that are checked */
10
- checkedItems: string[];
11
- };
12
- export declare type MenuListCommons = {
13
- /**
14
- * Callback when checked items change for value with a name
15
- *
16
- * @param event - React's original SyntheticEvent
17
- * @param data - A data object with relevant information
18
- */
19
- onCheckedValueChange?: (e: MenuCheckedValueChangeEvent, data: MenuCheckedValueChangeData) => void;
20
- /**
21
- * Map of all checked values
22
- */
23
- checkedValues: Record<string, string[]>;
24
- /**
25
- * Default values to be checked on mount
26
- */
27
- defaultCheckedValues?: Record<string, string[]>;
28
- /**
29
- * States that menu items can contain icons and reserve slots for item alignment
30
- */
31
- hasIcons?: boolean;
32
- /**
33
- * States that menu items can contain selectable items and reserve slots for item alignment
34
- */
35
- hasCheckmarks?: boolean;
36
- };
37
- export declare type MenuListSlots = {
38
- root: Slot<'div'>;
39
- };
40
- export declare type MenuListProps = ComponentProps<MenuListSlots> & Partial<MenuListCommons>;
41
- export declare type MenuListState = ComponentState<MenuListSlots> & MenuListCommons & {
42
- /**
43
- * Callback to set focus on the next menu item by first character
44
- */
45
- setFocusByFirstCharacter: NonNullable<MenuListContextValue['setFocusByFirstCharacter']>;
46
- toggleCheckbox: SelectableHandler;
47
- /**
48
- * Selects a radio item, will de-select the currently selected ratio item
49
- */
50
- selectRadio: SelectableHandler;
51
- };
52
- export declare type MenuListContextValues = {
53
- menuList: MenuListContextValue;
54
- };
55
- export declare type UninitializedMenuListState = Omit<MenuListState, 'setFocusByFirstCharacter' | 'toggleCheckbox' | 'selectRadio' | 'checkedValues'> & Partial<Pick<MenuListState, 'checkedValues'>>;
@@ -1,6 +0,0 @@
1
- export * from './MenuList';
2
- export type { MenuCheckedValueChangeData, MenuCheckedValueChangeEvent, MenuListContextValues, MenuListProps, MenuListSlots, MenuListState, UninitializedMenuListState, } from './MenuList.types';
3
- export * from './renderMenuList';
4
- export * from './useMenuList';
5
- export * from './useMenuListStyles';
6
- export * from './useMenuListContextValues';
@@ -1,5 +0,0 @@
1
- import { MenuListContextValues, MenuListState } from './MenuList.types';
2
- /**
3
- * Function that renders the final JSX of the component
4
- */
5
- export declare const renderMenuList_unstable: (state: MenuListState, contextValues: MenuListContextValues) => JSX.Element;
@@ -1,6 +0,0 @@
1
- import * as React from 'react';
2
- import type { MenuListProps, MenuListState } from './MenuList.types';
3
- /**
4
- * Returns the props and state required to render the component
5
- */
6
- export declare const useMenuList_unstable: (props: MenuListProps, ref: React.Ref<HTMLElement>) => MenuListState;
@@ -1,2 +0,0 @@
1
- import type { MenuListContextValues, MenuListState } from './MenuList.types';
2
- export declare function useMenuListContextValues_unstable(state: MenuListState): MenuListContextValues;
@@ -1,11 +0,0 @@
1
- import type { SlotClassNames } from '@fluentui/react-utilities';
2
- import type { MenuListSlots, MenuListState } from './MenuList.types';
3
- /**
4
- * @deprecated Use `menuListClassNames.root` instead.
5
- */
6
- export declare const menuListClassName = "fui-MenuList";
7
- export declare const menuListClassNames: SlotClassNames<MenuListSlots>;
8
- /**
9
- * Apply styling to the Menu slots based on the state
10
- */
11
- export declare const useMenuListStyles_unstable: (state: MenuListState) => MenuListState;
@@ -1,6 +0,0 @@
1
- import type { MenuPopoverProps } from './MenuPopover.types';
2
- import type { ForwardRefComponent } from '@fluentui/react-utilities';
3
- /**
4
- * Popover intended to wrap `MenuList` and adds styling and interaction support specific to menus
5
- */
6
- export declare const MenuPopover: ForwardRefComponent<MenuPopoverProps>;
@@ -1,18 +0,0 @@
1
- import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';
2
- export declare type MenuPopoverSlots = {
3
- root: Slot<'div'>;
4
- };
5
- /**
6
- * MenuPopover Props
7
- */
8
- export declare type MenuPopoverProps = ComponentProps<MenuPopoverSlots>;
9
- /**
10
- * State used in rendering MenuPopover
11
- */
12
- export declare type MenuPopoverState = ComponentState<MenuPopoverSlots> & {
13
- /**
14
- * Root menus are rendered out of DOM order on `document.body`, use this to render the menu in DOM order
15
- * This option is disregarded for submenus
16
- */
17
- inline: boolean;
18
- };
@@ -1,5 +0,0 @@
1
- export * from './MenuPopover';
2
- export * from './MenuPopover.types';
3
- export * from './renderMenuPopover';
4
- export * from './useMenuPopover';
5
- export * from './useMenuPopoverStyles';
@@ -1,5 +0,0 @@
1
- import { MenuPopoverState } from './MenuPopover.types';
2
- /**
3
- * Render the final JSX of MenuPopover
4
- */
5
- export declare const renderMenuPopover_unstable: (state: MenuPopoverState) => JSX.Element;
@@ -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;