@fluentui/react-menu 9.4.0 → 9.5.0
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.json +143 -1
- package/CHANGELOG.md +36 -2
- package/dist/index.d.ts +46 -5
- package/lib/components/Menu/Menu.types.js.map +1 -1
- package/lib/components/Menu/useMenu.js +13 -7
- package/lib/components/Menu/useMenu.js.map +1 -1
- package/lib/components/MenuItem/useMenuItem.js +3 -1
- package/lib/components/MenuItem/useMenuItem.js.map +1 -1
- package/lib/components/MenuPopover/useMenuPopover.js +20 -14
- package/lib/components/MenuPopover/useMenuPopover.js.map +1 -1
- package/lib/components/MenuTrigger/MenuTrigger.types.js.map +1 -1
- package/lib/components/MenuTrigger/useMenuTrigger.js +46 -31
- package/lib/components/MenuTrigger/useMenuTrigger.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib-amd/Menu.js +6 -0
- package/lib-amd/Menu.js.map +1 -0
- package/lib-amd/MenuDivider.js +6 -0
- package/lib-amd/MenuDivider.js.map +1 -0
- package/lib-amd/MenuGroup.js +6 -0
- package/lib-amd/MenuGroup.js.map +1 -0
- package/lib-amd/MenuGroupHeader.js +6 -0
- package/lib-amd/MenuGroupHeader.js.map +1 -0
- package/lib-amd/MenuItem.js +6 -0
- package/lib-amd/MenuItem.js.map +1 -0
- package/lib-amd/MenuItemCheckbox.js +6 -0
- package/lib-amd/MenuItemCheckbox.js.map +1 -0
- package/lib-amd/MenuItemRadio.js +6 -0
- package/lib-amd/MenuItemRadio.js.map +1 -0
- package/lib-amd/MenuList.js +6 -0
- package/lib-amd/MenuList.js.map +1 -0
- package/lib-amd/MenuPopover.js +6 -0
- package/lib-amd/MenuPopover.js.map +1 -0
- package/lib-amd/MenuSplitGroup.js +6 -0
- package/lib-amd/MenuSplitGroup.js.map +1 -0
- package/lib-amd/MenuTrigger.js +6 -0
- package/lib-amd/MenuTrigger.js.map +1 -0
- package/lib-amd/components/Menu/Menu.js +16 -0
- package/lib-amd/components/Menu/Menu.js.map +1 -0
- package/lib-amd/components/Menu/Menu.types.js +5 -0
- package/lib-amd/components/Menu/Menu.types.js.map +1 -0
- package/lib-amd/components/Menu/index.js +10 -0
- package/lib-amd/components/Menu/index.js.map +1 -0
- package/lib-amd/components/Menu/renderMenu.js +15 -0
- package/lib-amd/components/Menu/renderMenu.js.map +1 -0
- package/lib-amd/components/Menu/useMenu.js +233 -0
- package/lib-amd/components/Menu/useMenu.js.map +1 -0
- package/lib-amd/components/Menu/useMenuContextValues.js +29 -0
- package/lib-amd/components/Menu/useMenuContextValues.js.map +1 -0
- package/lib-amd/components/MenuDivider/MenuDivider.js +15 -0
- package/lib-amd/components/MenuDivider/MenuDivider.js.map +1 -0
- package/lib-amd/components/MenuDivider/MenuDivider.types.js +5 -0
- package/lib-amd/components/MenuDivider/MenuDivider.types.js.map +1 -0
- package/lib-amd/components/MenuDivider/index.js +10 -0
- package/lib-amd/components/MenuDivider/index.js.map +1 -0
- package/lib-amd/components/MenuDivider/renderMenuDivider.js +15 -0
- package/lib-amd/components/MenuDivider/renderMenuDivider.js.map +1 -0
- package/lib-amd/components/MenuDivider/useMenuDivider.js +18 -0
- package/lib-amd/components/MenuDivider/useMenuDivider.js.map +1 -0
- package/lib-amd/components/MenuDivider/useMenuDividerStyles.js +18 -0
- package/lib-amd/components/MenuDivider/useMenuDividerStyles.js.map +1 -0
- package/lib-amd/components/MenuGroup/MenuGroup.js +16 -0
- package/lib-amd/components/MenuGroup/MenuGroup.js.map +1 -0
- package/lib-amd/components/MenuGroup/MenuGroup.types.js +5 -0
- package/lib-amd/components/MenuGroup/MenuGroup.types.js.map +1 -0
- package/lib-amd/components/MenuGroup/index.js +11 -0
- package/lib-amd/components/MenuGroup/index.js.map +1 -0
- package/lib-amd/components/MenuGroup/renderMenuGroup.js +16 -0
- package/lib-amd/components/MenuGroup/renderMenuGroup.js.map +1 -0
- package/lib-amd/components/MenuGroup/useMenuGroup.js +20 -0
- package/lib-amd/components/MenuGroup/useMenuGroup.js.map +1 -0
- package/lib-amd/components/MenuGroup/useMenuGroupContextValues.js +12 -0
- package/lib-amd/components/MenuGroup/useMenuGroupContextValues.js.map +1 -0
- package/lib-amd/components/MenuGroup/useMenuGroupStyles.js +14 -0
- package/lib-amd/components/MenuGroup/useMenuGroupStyles.js.map +1 -0
- package/lib-amd/components/MenuGroupHeader/MenuGroupHeader.js +15 -0
- package/lib-amd/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -0
- package/lib-amd/components/MenuGroupHeader/MenuGroupHeader.types.js +5 -0
- package/lib-amd/components/MenuGroupHeader/MenuGroupHeader.types.js.map +1 -0
- package/lib-amd/components/MenuGroupHeader/index.js +10 -0
- package/lib-amd/components/MenuGroupHeader/index.js.map +1 -0
- package/lib-amd/components/MenuGroupHeader/renderMenuGroupHeader.js +15 -0
- package/lib-amd/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -0
- package/lib-amd/components/MenuGroupHeader/useMenuGroupHeader.js +19 -0
- package/lib-amd/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -0
- package/lib-amd/components/MenuGroupHeader/useMenuGroupHeaderStyles.js +27 -0
- package/lib-amd/components/MenuGroupHeader/useMenuGroupHeaderStyles.js.map +1 -0
- package/lib-amd/components/MenuItem/MenuItem.js +15 -0
- package/lib-amd/components/MenuItem/MenuItem.js.map +1 -0
- package/lib-amd/components/MenuItem/MenuItem.types.js +5 -0
- package/lib-amd/components/MenuItem/MenuItem.types.js.map +1 -0
- package/lib-amd/components/MenuItem/index.js +10 -0
- package/lib-amd/components/MenuItem/index.js.map +1 -0
- package/lib-amd/components/MenuItem/renderMenuItem.js +19 -0
- package/lib-amd/components/MenuItem/renderMenuItem.js.map +1 -0
- package/lib-amd/components/MenuItem/useCharacterSearch.js +22 -0
- package/lib-amd/components/MenuItem/useCharacterSearch.js.map +1 -0
- package/lib-amd/components/MenuItem/useMenuItem.js +80 -0
- package/lib-amd/components/MenuItem/useMenuItem.js.map +1 -0
- package/lib-amd/components/MenuItem/useMenuItemStyles.js +100 -0
- package/lib-amd/components/MenuItem/useMenuItemStyles.js.map +1 -0
- package/lib-amd/components/MenuItemCheckbox/MenuItemCheckbox.js +15 -0
- package/lib-amd/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -0
- package/lib-amd/components/MenuItemCheckbox/MenuItemCheckbox.types.js +5 -0
- package/lib-amd/components/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -0
- package/lib-amd/components/MenuItemCheckbox/index.js +10 -0
- package/lib-amd/components/MenuItemCheckbox/index.js.map +1 -0
- package/lib-amd/components/MenuItemCheckbox/renderMenuItemCheckbox.js +16 -0
- package/lib-amd/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -0
- package/lib-amd/components/MenuItemCheckbox/useMenuItemCheckbox.js +26 -0
- package/lib-amd/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -0
- package/lib-amd/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js +31 -0
- package/lib-amd/components/MenuItemCheckbox/useMenuItemCheckboxStyles.js.map +1 -0
- package/lib-amd/components/MenuItemRadio/MenuItemRadio.js +15 -0
- package/lib-amd/components/MenuItemRadio/MenuItemRadio.js.map +1 -0
- package/lib-amd/components/MenuItemRadio/MenuItemRadio.types.js +5 -0
- package/lib-amd/components/MenuItemRadio/MenuItemRadio.types.js.map +1 -0
- package/lib-amd/components/MenuItemRadio/index.js +10 -0
- package/lib-amd/components/MenuItemRadio/index.js.map +1 -0
- package/lib-amd/components/MenuItemRadio/renderMenuItemRadio.js +19 -0
- package/lib-amd/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -0
- package/lib-amd/components/MenuItemRadio/useMenuItemRadio.js +27 -0
- package/lib-amd/components/MenuItemRadio/useMenuItemRadio.js.map +1 -0
- package/lib-amd/components/MenuItemRadio/useMenuItemRadioStyles.js +31 -0
- package/lib-amd/components/MenuItemRadio/useMenuItemRadioStyles.js.map +1 -0
- package/lib-amd/components/MenuList/MenuList.js +16 -0
- package/lib-amd/components/MenuList/MenuList.js.map +1 -0
- package/lib-amd/components/MenuList/MenuList.types.js +5 -0
- package/lib-amd/components/MenuList/MenuList.types.js.map +1 -0
- package/lib-amd/components/MenuList/index.js +11 -0
- package/lib-amd/components/MenuList/index.js.map +1 -0
- package/lib-amd/components/MenuList/renderMenuList.js +15 -0
- package/lib-amd/components/MenuList/renderMenuList.js.map +1 -0
- package/lib-amd/components/MenuList/useMenuList.js +119 -0
- package/lib-amd/components/MenuList/useMenuList.js.map +1 -0
- package/lib-amd/components/MenuList/useMenuListContextValues.js +21 -0
- package/lib-amd/components/MenuList/useMenuListContextValues.js.map +1 -0
- package/lib-amd/components/MenuList/useMenuListStyles.js +21 -0
- package/lib-amd/components/MenuList/useMenuListStyles.js.map +1 -0
- package/lib-amd/components/MenuPopover/MenuPopover.js +15 -0
- package/lib-amd/components/MenuPopover/MenuPopover.js.map +1 -0
- package/lib-amd/components/MenuPopover/MenuPopover.types.js +5 -0
- package/lib-amd/components/MenuPopover/MenuPopover.types.js.map +1 -0
- package/lib-amd/components/MenuPopover/index.js +10 -0
- package/lib-amd/components/MenuPopover/index.js.map +1 -0
- package/lib-amd/components/MenuPopover/renderMenuPopover.js +18 -0
- package/lib-amd/components/MenuPopover/renderMenuPopover.js.map +1 -0
- package/lib-amd/components/MenuPopover/useMenuPopover.js +82 -0
- package/lib-amd/components/MenuPopover/useMenuPopover.js.map +1 -0
- package/lib-amd/components/MenuPopover/useMenuPopoverStyles.js +21 -0
- package/lib-amd/components/MenuPopover/useMenuPopoverStyles.js.map +1 -0
- package/lib-amd/components/MenuSplitGroup/MenuSplitGroup.js +15 -0
- package/lib-amd/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -0
- package/lib-amd/components/MenuSplitGroup/MenuSplitGroup.types.js +5 -0
- package/lib-amd/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -0
- package/lib-amd/components/MenuSplitGroup/index.js +10 -0
- package/lib-amd/components/MenuSplitGroup/index.js.map +1 -0
- package/lib-amd/components/MenuSplitGroup/renderMenuSplitGroup.js +14 -0
- package/lib-amd/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -0
- package/lib-amd/components/MenuSplitGroup/useMenuSplitGroup.js +47 -0
- package/lib-amd/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -0
- package/lib-amd/components/MenuSplitGroup/useMenuSplitGroupStyles.js +43 -0
- package/lib-amd/components/MenuSplitGroup/useMenuSplitGroupStyles.js.map +1 -0
- package/lib-amd/components/MenuTrigger/MenuTrigger.js +18 -0
- package/lib-amd/components/MenuTrigger/MenuTrigger.js.map +1 -0
- package/lib-amd/components/MenuTrigger/MenuTrigger.types.js +5 -0
- package/lib-amd/components/MenuTrigger/MenuTrigger.types.js.map +1 -0
- package/lib-amd/components/MenuTrigger/index.js +9 -0
- package/lib-amd/components/MenuTrigger/index.js.map +1 -0
- package/lib-amd/components/MenuTrigger/renderMenuTrigger.js +15 -0
- package/lib-amd/components/MenuTrigger/renderMenuTrigger.js.map +1 -0
- package/lib-amd/components/MenuTrigger/useMenuTrigger.js +112 -0
- package/lib-amd/components/MenuTrigger/useMenuTrigger.js.map +1 -0
- package/lib-amd/components/index.js +7 -0
- package/lib-amd/components/index.js.map +1 -0
- package/lib-amd/contexts/menuContext.js +32 -0
- package/lib-amd/contexts/menuContext.js.map +1 -0
- package/lib-amd/contexts/menuGroupContext.js +13 -0
- package/lib-amd/contexts/menuGroupContext.js.map +1 -0
- package/lib-amd/contexts/menuListContext.js +24 -0
- package/lib-amd/contexts/menuListContext.js.map +1 -0
- package/lib-amd/contexts/menuTriggerContext.js +14 -0
- package/lib-amd/contexts/menuTriggerContext.js.map +1 -0
- package/lib-amd/index.js +69 -0
- package/lib-amd/index.js.map +1 -0
- package/lib-amd/selectable/index.js +7 -0
- package/lib-amd/selectable/index.js.map +1 -0
- package/lib-amd/selectable/types.js +5 -0
- package/lib-amd/selectable/types.js.map +1 -0
- package/lib-amd/selectable/useCheckmarkStyles.js +28 -0
- package/lib-amd/selectable/useCheckmarkStyles.js.map +1 -0
- package/lib-amd/utils/index.js +6 -0
- package/lib-amd/utils/index.js.map +1 -0
- package/lib-amd/utils/useIsSubmenu.js +20 -0
- package/lib-amd/utils/useIsSubmenu.js.map +1 -0
- package/lib-amd/utils/useOnMenuEnter.js +59 -0
- package/lib-amd/utils/useOnMenuEnter.js.map +1 -0
- package/lib-commonjs/components/Menu/useMenu.js +13 -7
- package/lib-commonjs/components/Menu/useMenu.js.map +1 -1
- package/lib-commonjs/components/MenuItem/useMenuItem.js +3 -1
- package/lib-commonjs/components/MenuItem/useMenuItem.js.map +1 -1
- package/lib-commonjs/components/MenuPopover/useMenuPopover.js +20 -14
- package/lib-commonjs/components/MenuPopover/useMenuPopover.js.map +1 -1
- package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js +46 -31
- package/lib-commonjs/components/MenuTrigger/useMenuTrigger.js.map +1 -1
- package/lib-commonjs/index.js.map +1 -1
- package/package.json +11 -11
@@ -0,0 +1,233 @@
|
|
1
|
+
define(["require", "exports", "tslib", "react", "@fluentui/react-positioning", "@fluentui/react-utilities", "@fluentui/react-shared-contexts", "@fluentui/react-portal", "@fluentui/react-tabster", "../../contexts/menuContext", "../../utils/index", "../../utils/useIsSubmenu", "@fluentui/keyboard-keys"], function (require, exports, tslib_1, React, react_positioning_1, react_utilities_1, react_shared_contexts_1, react_portal_1, react_tabster_1, menuContext_1, index_1, useIsSubmenu_1, keyboard_keys_1) {
|
2
|
+
"use strict";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.useMenu_unstable = void 0;
|
5
|
+
/**
|
6
|
+
* Create the state required to render Menu.
|
7
|
+
*
|
8
|
+
* The returned state can be modified with hooks such as useMenuStyles,
|
9
|
+
* before being passed to renderMenu_unstable.
|
10
|
+
*
|
11
|
+
* @param props - props from this instance of Menu
|
12
|
+
*/
|
13
|
+
var useMenu_unstable = function (props) {
|
14
|
+
var isSubmenu = useIsSubmenu_1.useIsSubmenu();
|
15
|
+
var _a = props.hoverDelay, hoverDelay = _a === void 0 ? 500 : _a, _b = props.inline, inline = _b === void 0 ? false : _b, _c = props.hasCheckmarks, hasCheckmarks = _c === void 0 ? false : _c, _d = props.hasIcons, hasIcons = _d === void 0 ? false : _d, _e = props.closeOnScroll, closeOnScroll = _e === void 0 ? false : _e, _f = props.openOnContext, openOnContext = _f === void 0 ? false : _f, _g = props.persistOnItemClick, persistOnItemClick = _g === void 0 ? false : _g, _h = props.openOnHover, openOnHover = _h === void 0 ? isSubmenu : _h, defaultCheckedValues = props.defaultCheckedValues;
|
16
|
+
var triggerId = react_utilities_1.useId('menu');
|
17
|
+
var _j = react_positioning_1.usePositioningMouseTarget(), contextTarget = _j[0], setContextTarget = _j[1];
|
18
|
+
var positioningState = tslib_1.__assign({ position: isSubmenu ? 'after' : 'below', align: isSubmenu ? 'top' : 'start', target: props.openOnContext ? contextTarget : undefined }, react_positioning_1.resolvePositioningShorthand(props.positioning));
|
19
|
+
var children = React.Children.toArray(props.children);
|
20
|
+
if (process.env.NODE_ENV !== 'production') {
|
21
|
+
if (children.length === 0) {
|
22
|
+
// eslint-disable-next-line no-console
|
23
|
+
console.warn('Menu must contain at least one child');
|
24
|
+
}
|
25
|
+
if (children.length > 2) {
|
26
|
+
// eslint-disable-next-line no-console
|
27
|
+
console.warn('Menu must contain at most two children');
|
28
|
+
}
|
29
|
+
}
|
30
|
+
var menuTrigger = undefined;
|
31
|
+
var menuPopover = undefined;
|
32
|
+
if (children.length === 2) {
|
33
|
+
menuTrigger = children[0];
|
34
|
+
menuPopover = children[1];
|
35
|
+
}
|
36
|
+
else if (children.length === 1) {
|
37
|
+
menuPopover = children[0];
|
38
|
+
}
|
39
|
+
var _k = react_positioning_1.usePositioning(positioningState), triggerRef = _k.targetRef, menuPopoverRef = _k.containerRef;
|
40
|
+
// TODO Better way to narrow types ?
|
41
|
+
var _l = useMenuOpenState({
|
42
|
+
hoverDelay: hoverDelay,
|
43
|
+
isSubmenu: isSubmenu,
|
44
|
+
setContextTarget: setContextTarget,
|
45
|
+
closeOnScroll: closeOnScroll,
|
46
|
+
menuPopoverRef: menuPopoverRef,
|
47
|
+
triggerRef: triggerRef,
|
48
|
+
open: props.open,
|
49
|
+
defaultOpen: props.defaultOpen,
|
50
|
+
onOpenChange: props.onOpenChange,
|
51
|
+
openOnContext: openOnContext,
|
52
|
+
}), open = _l[0], setOpen = _l[1];
|
53
|
+
var _m = useMenuSelectableState({
|
54
|
+
checkedValues: props.checkedValues,
|
55
|
+
defaultCheckedValues: defaultCheckedValues,
|
56
|
+
onCheckedValueChange: props.onCheckedValueChange,
|
57
|
+
}), checkedValues = _m[0], onCheckedValueChange = _m[1];
|
58
|
+
return {
|
59
|
+
inline: inline,
|
60
|
+
hoverDelay: hoverDelay,
|
61
|
+
triggerId: triggerId,
|
62
|
+
isSubmenu: isSubmenu,
|
63
|
+
openOnHover: openOnHover,
|
64
|
+
contextTarget: contextTarget,
|
65
|
+
setContextTarget: setContextTarget,
|
66
|
+
hasCheckmarks: hasCheckmarks,
|
67
|
+
hasIcons: hasIcons,
|
68
|
+
closeOnScroll: closeOnScroll,
|
69
|
+
menuTrigger: menuTrigger,
|
70
|
+
menuPopover: menuPopover,
|
71
|
+
triggerRef: triggerRef,
|
72
|
+
menuPopoverRef: menuPopoverRef,
|
73
|
+
components: {},
|
74
|
+
openOnContext: openOnContext,
|
75
|
+
open: open,
|
76
|
+
setOpen: setOpen,
|
77
|
+
checkedValues: checkedValues,
|
78
|
+
defaultCheckedValues: defaultCheckedValues,
|
79
|
+
onCheckedValueChange: onCheckedValueChange,
|
80
|
+
persistOnItemClick: persistOnItemClick,
|
81
|
+
};
|
82
|
+
};
|
83
|
+
exports.useMenu_unstable = useMenu_unstable;
|
84
|
+
/**
|
85
|
+
* Adds appropriate state values and handlers for selectable items
|
86
|
+
* i.e checkboxes and radios
|
87
|
+
*/
|
88
|
+
var useMenuSelectableState = function (state) {
|
89
|
+
var _a = react_utilities_1.useControllableState({
|
90
|
+
state: state.checkedValues,
|
91
|
+
defaultState: state.defaultCheckedValues,
|
92
|
+
initialState: {},
|
93
|
+
}), checkedValues = _a[0], setCheckedValues = _a[1];
|
94
|
+
var onCheckedValueChangeOriginal = state.onCheckedValueChange;
|
95
|
+
var onCheckedValueChange = react_utilities_1.useEventCallback(function (e, _a) {
|
96
|
+
var name = _a.name, checkedItems = _a.checkedItems;
|
97
|
+
if (onCheckedValueChangeOriginal) {
|
98
|
+
onCheckedValueChangeOriginal(e, { name: name, checkedItems: checkedItems });
|
99
|
+
}
|
100
|
+
setCheckedValues(function (s) {
|
101
|
+
var _a, _b;
|
102
|
+
return s ? tslib_1.__assign(tslib_1.__assign({}, s), (_a = {}, _a[name] = checkedItems, _a)) : (_b = {}, _b[name] = checkedItems, _b);
|
103
|
+
});
|
104
|
+
});
|
105
|
+
return [checkedValues, onCheckedValueChange];
|
106
|
+
};
|
107
|
+
var useMenuOpenState = function (state) {
|
108
|
+
var targetDocument = react_shared_contexts_1.useFluent_unstable().targetDocument;
|
109
|
+
var parentSetOpen = menuContext_1.useMenuContext_unstable(function (context) { return context.setOpen; });
|
110
|
+
var onOpenChange = react_utilities_1.useEventCallback(function (e, data) { var _a; return (_a = state.onOpenChange) === null || _a === void 0 ? void 0 : _a.call(state, e, data); });
|
111
|
+
var shouldHandleCloseRef = React.useRef(false);
|
112
|
+
var shouldHandleTabRef = React.useRef(false);
|
113
|
+
var pressedShiftRef = React.useRef(false);
|
114
|
+
var setOpenTimeout = React.useRef(0);
|
115
|
+
var enteringTriggerRef = React.useRef(false);
|
116
|
+
var _a = react_utilities_1.useControllableState({
|
117
|
+
state: state.open,
|
118
|
+
defaultState: state.defaultOpen,
|
119
|
+
initialState: false,
|
120
|
+
}), open = _a[0], setOpenState = _a[1];
|
121
|
+
var trySetOpen = react_utilities_1.useEventCallback(function (e, data) {
|
122
|
+
var event = e instanceof CustomEvent && e.type === index_1.MENU_ENTER_EVENT ? e.detail.nativeEvent : e;
|
123
|
+
onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(event, tslib_1.__assign({}, data));
|
124
|
+
if (data.open && e.type === 'contextmenu') {
|
125
|
+
state.setContextTarget(e);
|
126
|
+
}
|
127
|
+
if (!data.open) {
|
128
|
+
state.setContextTarget(undefined);
|
129
|
+
shouldHandleCloseRef.current = true;
|
130
|
+
}
|
131
|
+
if (e.type === 'keydown') {
|
132
|
+
if (e.key === keyboard_keys_1.Tab) {
|
133
|
+
shouldHandleTabRef.current = true;
|
134
|
+
pressedShiftRef.current = e.shiftKey;
|
135
|
+
}
|
136
|
+
}
|
137
|
+
if (data.bubble) {
|
138
|
+
parentSetOpen(e, tslib_1.__assign({}, data));
|
139
|
+
}
|
140
|
+
setOpenState(data.open);
|
141
|
+
});
|
142
|
+
var setOpen = react_utilities_1.useEventCallback(function (e, data) {
|
143
|
+
var _a;
|
144
|
+
clearTimeout(setOpenTimeout.current);
|
145
|
+
if (!(e instanceof Event) && e.persist) {
|
146
|
+
// < React 17 still uses pooled synthetic events
|
147
|
+
e.persist();
|
148
|
+
}
|
149
|
+
if (e.type === 'mouseleave' || e.type === 'mouseenter' || e.type === 'mousemove' || e.type === index_1.MENU_ENTER_EVENT) {
|
150
|
+
if ((_a = state.triggerRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target)) {
|
151
|
+
enteringTriggerRef.current = e.type === 'mouseenter' || e.type === 'mousemove';
|
152
|
+
}
|
153
|
+
// FIXME leaking Node timeout type
|
154
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
155
|
+
// @ts-ignore
|
156
|
+
setOpenTimeout.current = setTimeout(function () { return trySetOpen(e, data); }, state.hoverDelay);
|
157
|
+
}
|
158
|
+
else {
|
159
|
+
trySetOpen(e, data);
|
160
|
+
}
|
161
|
+
});
|
162
|
+
react_utilities_1.useOnClickOutside({
|
163
|
+
contains: react_portal_1.elementContains,
|
164
|
+
disabled: !open,
|
165
|
+
element: targetDocument,
|
166
|
+
refs: [state.menuPopoverRef, !state.openOnContext && state.triggerRef].filter(Boolean),
|
167
|
+
callback: function (event) { return setOpen(event, { open: false, type: 'clickOutside', event: event }); },
|
168
|
+
});
|
169
|
+
// only close on scroll for context, or when closeOnScroll is specified
|
170
|
+
var closeOnScroll = state.openOnContext || state.closeOnScroll;
|
171
|
+
react_utilities_1.useOnScrollOutside({
|
172
|
+
contains: react_portal_1.elementContains,
|
173
|
+
element: targetDocument,
|
174
|
+
callback: function (event) { return setOpen(event, { open: false, type: 'scrollOutside', event: event }); },
|
175
|
+
refs: [state.menuPopoverRef, !state.openOnContext && state.triggerRef].filter(Boolean),
|
176
|
+
disabled: !open || !closeOnScroll,
|
177
|
+
});
|
178
|
+
index_1.useOnMenuMouseEnter({
|
179
|
+
element: targetDocument,
|
180
|
+
callback: function (event) {
|
181
|
+
// When moving from a menu directly back to its trigger, this handler can close the menu
|
182
|
+
// Explicitly check a flag to see if this situation happens
|
183
|
+
if (!enteringTriggerRef.current) {
|
184
|
+
setOpen(event, { open: false, type: 'menuMouseEnter', event: event });
|
185
|
+
}
|
186
|
+
},
|
187
|
+
disabled: !open,
|
188
|
+
refs: [state.menuPopoverRef],
|
189
|
+
});
|
190
|
+
// Clear timeout on unmount
|
191
|
+
// Setting state after a component unmounts can cause memory leaks
|
192
|
+
React.useEffect(function () {
|
193
|
+
return function () {
|
194
|
+
clearTimeout(setOpenTimeout.current);
|
195
|
+
};
|
196
|
+
}, []);
|
197
|
+
// Manage focus for open state
|
198
|
+
var _b = react_tabster_1.useFocusFinders(), findFirstFocusable = _b.findFirstFocusable, findNextFocusable = _b.findNextFocusable, findPrevFocusable = _b.findPrevFocusable;
|
199
|
+
var focusFirst = React.useCallback(function () {
|
200
|
+
var firstFocusable = findFirstFocusable(state.menuPopoverRef.current);
|
201
|
+
firstFocusable === null || firstFocusable === void 0 ? void 0 : firstFocusable.focus();
|
202
|
+
}, [findFirstFocusable, state.menuPopoverRef]);
|
203
|
+
var focusAfterMenuTrigger = React.useCallback(function () {
|
204
|
+
var nextFocusable = findNextFocusable(state.triggerRef.current);
|
205
|
+
nextFocusable === null || nextFocusable === void 0 ? void 0 : nextFocusable.focus();
|
206
|
+
}, [findNextFocusable, state.triggerRef]);
|
207
|
+
var focusBeforeMenuTrigger = React.useCallback(function () {
|
208
|
+
var prevFocusable = findPrevFocusable(state.triggerRef.current);
|
209
|
+
prevFocusable === null || prevFocusable === void 0 ? void 0 : prevFocusable.focus();
|
210
|
+
}, [findPrevFocusable, state.triggerRef]);
|
211
|
+
React.useEffect(function () {
|
212
|
+
var _a;
|
213
|
+
if (open) {
|
214
|
+
focusFirst();
|
215
|
+
}
|
216
|
+
else {
|
217
|
+
if (shouldHandleCloseRef.current) {
|
218
|
+
if (shouldHandleTabRef.current && !state.isSubmenu) {
|
219
|
+
pressedShiftRef.current ? focusBeforeMenuTrigger() : focusAfterMenuTrigger();
|
220
|
+
}
|
221
|
+
else {
|
222
|
+
(_a = state.triggerRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
223
|
+
}
|
224
|
+
}
|
225
|
+
}
|
226
|
+
shouldHandleCloseRef.current = false;
|
227
|
+
shouldHandleTabRef.current = false;
|
228
|
+
pressedShiftRef.current = false;
|
229
|
+
}, [state.triggerRef, state.isSubmenu, open, focusFirst, focusAfterMenuTrigger, focusBeforeMenuTrigger]);
|
230
|
+
return [open, setOpen];
|
231
|
+
};
|
232
|
+
});
|
233
|
+
//# sourceMappingURL=useMenu.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useMenu.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/Menu/useMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { usePositioningMouseTarget, usePositioning, resolvePositioningShorthand } from '@fluentui/react-positioning';\nimport {\n useControllableState,\n useId,\n useOnClickOutside,\n useEventCallback,\n useOnScrollOutside,\n} from '@fluentui/react-utilities';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { elementContains } from '@fluentui/react-portal';\nimport { useFocusFinders } from '@fluentui/react-tabster';\nimport { useMenuContext_unstable } from '../../contexts/menuContext';\nimport { MENU_ENTER_EVENT, useOnMenuMouseEnter } from '../../utils/index';\nimport { useIsSubmenu } from '../../utils/useIsSubmenu';\nimport type { MenuOpenChangeData, MenuOpenEvent, MenuProps, MenuState } from './Menu.types';\nimport { Tab } from '@fluentui/keyboard-keys';\n\n/**\n * Create the state required to render Menu.\n *\n * The returned state can be modified with hooks such as useMenuStyles,\n * before being passed to renderMenu_unstable.\n *\n * @param props - props from this instance of Menu\n */\nexport const useMenu_unstable = (props: MenuProps): MenuState => {\n const isSubmenu = useIsSubmenu();\n const {\n hoverDelay = 500,\n inline = false,\n hasCheckmarks = false,\n hasIcons = false,\n closeOnScroll = false,\n openOnContext = false,\n persistOnItemClick = false,\n openOnHover = isSubmenu,\n defaultCheckedValues,\n } = props;\n const triggerId = useId('menu');\n const [contextTarget, setContextTarget] = usePositioningMouseTarget();\n\n const positioningState = {\n position: isSubmenu ? ('after' as const) : ('below' as const),\n align: isSubmenu ? ('top' as const) : ('start' as const),\n target: props.openOnContext ? contextTarget : undefined,\n ...resolvePositioningShorthand(props.positioning),\n };\n\n const children = React.Children.toArray(props.children) as React.ReactElement[];\n\n if (process.env.NODE_ENV !== 'production') {\n if (children.length === 0) {\n // eslint-disable-next-line no-console\n console.warn('Menu must contain at least one child');\n }\n\n if (children.length > 2) {\n // eslint-disable-next-line no-console\n console.warn('Menu must contain at most two children');\n }\n }\n\n let menuTrigger: React.ReactElement | undefined = undefined;\n let menuPopover: React.ReactElement | undefined = undefined;\n if (children.length === 2) {\n menuTrigger = children[0];\n menuPopover = children[1];\n } else if (children.length === 1) {\n menuPopover = children[0];\n }\n const { targetRef: triggerRef, containerRef: menuPopoverRef } = usePositioning(positioningState);\n\n // TODO Better way to narrow types ?\n\n const [open, setOpen] = useMenuOpenState({\n hoverDelay,\n isSubmenu,\n setContextTarget,\n closeOnScroll,\n menuPopoverRef,\n triggerRef,\n open: props.open,\n defaultOpen: props.defaultOpen,\n onOpenChange: props.onOpenChange,\n openOnContext,\n });\n\n const [checkedValues, onCheckedValueChange] = useMenuSelectableState({\n checkedValues: props.checkedValues,\n defaultCheckedValues,\n onCheckedValueChange: props.onCheckedValueChange,\n });\n\n return {\n inline,\n hoverDelay,\n triggerId,\n isSubmenu,\n openOnHover,\n contextTarget,\n setContextTarget,\n hasCheckmarks,\n hasIcons,\n closeOnScroll,\n menuTrigger,\n menuPopover,\n triggerRef,\n menuPopoverRef,\n components: {},\n openOnContext,\n open,\n setOpen,\n checkedValues,\n defaultCheckedValues,\n onCheckedValueChange,\n persistOnItemClick,\n };\n};\n\n/**\n * Adds appropriate state values and handlers for selectable items\n * i.e checkboxes and radios\n */\nconst useMenuSelectableState = (\n state: Pick<MenuProps, 'checkedValues' | 'defaultCheckedValues' | 'onCheckedValueChange'>,\n) => {\n const [checkedValues, setCheckedValues] = useControllableState({\n state: state.checkedValues,\n defaultState: state.defaultCheckedValues,\n initialState: {},\n });\n const { onCheckedValueChange: onCheckedValueChangeOriginal } = state;\n const onCheckedValueChange: MenuState['onCheckedValueChange'] = useEventCallback((e, { name, checkedItems }) => {\n if (onCheckedValueChangeOriginal) {\n onCheckedValueChangeOriginal(e, { name, checkedItems });\n }\n\n setCheckedValues(s => {\n return s ? { ...s, [name]: checkedItems } : { [name]: checkedItems };\n });\n });\n\n return [checkedValues, onCheckedValueChange] as const;\n};\n\nconst useMenuOpenState = (\n state: Pick<\n MenuState,\n | 'isSubmenu'\n | 'menuPopoverRef'\n | 'onOpenChange'\n | 'setContextTarget'\n | 'triggerRef'\n | 'openOnContext'\n | 'closeOnScroll'\n | 'hoverDelay'\n > &\n Pick<MenuProps, 'open' | 'defaultOpen'>,\n) => {\n const { targetDocument } = useFluent();\n const parentSetOpen = useMenuContext_unstable(context => context.setOpen);\n const onOpenChange: MenuState['onOpenChange'] = useEventCallback((e, data) => state.onOpenChange?.(e, data));\n\n const shouldHandleCloseRef = React.useRef(false);\n const shouldHandleTabRef = React.useRef(false);\n const pressedShiftRef = React.useRef(false);\n const setOpenTimeout = React.useRef(0);\n const enteringTriggerRef = React.useRef(false);\n\n const [open, setOpenState] = useControllableState({\n state: state.open,\n defaultState: state.defaultOpen,\n initialState: false,\n });\n\n const trySetOpen = useEventCallback((e: MenuOpenEvent, data: MenuOpenChangeData) => {\n const event = e instanceof CustomEvent && e.type === MENU_ENTER_EVENT ? e.detail.nativeEvent : e;\n onOpenChange?.(event, { ...data });\n if (data.open && e.type === 'contextmenu') {\n state.setContextTarget(e as React.MouseEvent);\n }\n\n if (!data.open) {\n state.setContextTarget(undefined);\n shouldHandleCloseRef.current = true;\n }\n\n if (e.type === 'keydown') {\n if ((e as React.KeyboardEvent<HTMLElement>).key === Tab) {\n shouldHandleTabRef.current = true;\n pressedShiftRef.current = (e as React.KeyboardEvent<HTMLElement>).shiftKey;\n }\n }\n\n if (data.bubble) {\n parentSetOpen(e, { ...data });\n }\n\n setOpenState(data.open);\n });\n\n const setOpen = useEventCallback((e: MenuOpenEvent, data: MenuOpenChangeData) => {\n clearTimeout(setOpenTimeout.current);\n if (!(e instanceof Event) && e.persist) {\n // < React 17 still uses pooled synthetic events\n e.persist();\n }\n\n if (e.type === 'mouseleave' || e.type === 'mouseenter' || e.type === 'mousemove' || e.type === MENU_ENTER_EVENT) {\n if (state.triggerRef.current?.contains(e.target as HTMLElement)) {\n enteringTriggerRef.current = e.type === 'mouseenter' || e.type === 'mousemove';\n }\n\n // FIXME leaking Node timeout type\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n setOpenTimeout.current = setTimeout(() => trySetOpen(e, data), state.hoverDelay);\n } else {\n trySetOpen(e, data);\n }\n });\n\n useOnClickOutside({\n contains: elementContains,\n disabled: !open,\n element: targetDocument,\n refs: [state.menuPopoverRef, !state.openOnContext && state.triggerRef].filter(\n Boolean,\n ) as React.MutableRefObject<HTMLElement>[],\n callback: event => setOpen(event, { open: false, type: 'clickOutside', event }),\n });\n\n // only close on scroll for context, or when closeOnScroll is specified\n const closeOnScroll = state.openOnContext || state.closeOnScroll;\n useOnScrollOutside({\n contains: elementContains,\n element: targetDocument,\n callback: event => setOpen(event, { open: false, type: 'scrollOutside', event }),\n refs: [state.menuPopoverRef, !state.openOnContext && state.triggerRef].filter(\n Boolean,\n ) as React.MutableRefObject<HTMLElement>[],\n disabled: !open || !closeOnScroll,\n });\n\n useOnMenuMouseEnter({\n element: targetDocument,\n callback: event => {\n // When moving from a menu directly back to its trigger, this handler can close the menu\n // Explicitly check a flag to see if this situation happens\n if (!enteringTriggerRef.current) {\n setOpen(event, { open: false, type: 'menuMouseEnter', event });\n }\n },\n disabled: !open,\n refs: [state.menuPopoverRef],\n });\n\n // Clear timeout on unmount\n // Setting state after a component unmounts can cause memory leaks\n React.useEffect(() => {\n return () => {\n clearTimeout(setOpenTimeout.current);\n };\n }, []);\n\n // Manage focus for open state\n const { findFirstFocusable, findNextFocusable, findPrevFocusable } = useFocusFinders();\n const focusFirst = React.useCallback(() => {\n const firstFocusable = findFirstFocusable(state.menuPopoverRef.current);\n firstFocusable?.focus();\n }, [findFirstFocusable, state.menuPopoverRef]);\n\n const focusAfterMenuTrigger = React.useCallback(() => {\n const nextFocusable = findNextFocusable(state.triggerRef.current);\n nextFocusable?.focus();\n }, [findNextFocusable, state.triggerRef]);\n\n const focusBeforeMenuTrigger = React.useCallback(() => {\n const prevFocusable = findPrevFocusable(state.triggerRef.current);\n prevFocusable?.focus();\n }, [findPrevFocusable, state.triggerRef]);\n\n React.useEffect(() => {\n if (open) {\n focusFirst();\n } else {\n if (shouldHandleCloseRef.current) {\n if (shouldHandleTabRef.current && !state.isSubmenu) {\n pressedShiftRef.current ? focusBeforeMenuTrigger() : focusAfterMenuTrigger();\n } else {\n state.triggerRef.current?.focus();\n }\n }\n }\n\n shouldHandleCloseRef.current = false;\n shouldHandleTabRef.current = false;\n pressedShiftRef.current = false;\n }, [state.triggerRef, state.isSubmenu, open, focusFirst, focusAfterMenuTrigger, focusBeforeMenuTrigger]);\n\n return [open, setOpen] as const;\n};\n"]}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
define(["require", "exports"], function (require, exports) {
|
2
|
+
"use strict";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.useMenuContextValues_unstable = void 0;
|
5
|
+
function useMenuContextValues_unstable(state) {
|
6
|
+
var checkedValues = state.checkedValues, defaultCheckedValues = state.defaultCheckedValues, hasCheckmarks = state.hasCheckmarks, hasIcons = state.hasIcons, inline = state.inline, isSubmenu = state.isSubmenu, menuPopoverRef = state.menuPopoverRef, onCheckedValueChange = state.onCheckedValueChange, open = state.open, openOnContext = state.openOnContext, openOnHover = state.openOnHover, persistOnItemClick = state.persistOnItemClick, setOpen = state.setOpen, triggerId = state.triggerId, triggerRef = state.triggerRef;
|
7
|
+
// This context is created with "@fluentui/react-context-selector", these is no sense to memoize it
|
8
|
+
var menu = {
|
9
|
+
checkedValues: checkedValues,
|
10
|
+
defaultCheckedValues: defaultCheckedValues,
|
11
|
+
hasCheckmarks: hasCheckmarks,
|
12
|
+
hasIcons: hasIcons,
|
13
|
+
inline: inline,
|
14
|
+
isSubmenu: isSubmenu,
|
15
|
+
menuPopoverRef: menuPopoverRef,
|
16
|
+
onCheckedValueChange: onCheckedValueChange,
|
17
|
+
open: open,
|
18
|
+
openOnContext: openOnContext,
|
19
|
+
openOnHover: openOnHover,
|
20
|
+
persistOnItemClick: persistOnItemClick,
|
21
|
+
setOpen: setOpen,
|
22
|
+
triggerId: triggerId,
|
23
|
+
triggerRef: triggerRef,
|
24
|
+
};
|
25
|
+
return { menu: menu };
|
26
|
+
}
|
27
|
+
exports.useMenuContextValues_unstable = useMenuContextValues_unstable;
|
28
|
+
});
|
29
|
+
//# sourceMappingURL=useMenuContextValues.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useMenuContextValues.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/Menu/useMenuContextValues.ts"],"names":[],"mappings":";;;;IAEA,SAAgB,6BAA6B,CAAC,KAAgB;QAE1D,IAAA,aAAa,GAeX,KAAK,cAfM,EACb,oBAAoB,GAclB,KAAK,qBAda,EACpB,aAAa,GAaX,KAAK,cAbM,EACb,QAAQ,GAYN,KAAK,SAZC,EACR,MAAM,GAWJ,KAAK,OAXD,EACN,SAAS,GAUP,KAAK,UAVE,EACT,cAAc,GASZ,KAAK,eATO,EACd,oBAAoB,GAQlB,KAAK,qBARa,EACpB,IAAI,GAOF,KAAK,KAPH,EACJ,aAAa,GAMX,KAAK,cANM,EACb,WAAW,GAKT,KAAK,YALI,EACX,kBAAkB,GAIhB,KAAK,mBAJW,EAClB,OAAO,GAGL,KAAK,QAHA,EACP,SAAS,GAEP,KAAK,UAFE,EACT,UAAU,GACR,KAAK,WADG,CACF;QAEV,mGAAmG;QACnG,IAAM,IAAI,GAAG;YACX,aAAa,eAAA;YACb,oBAAoB,sBAAA;YACpB,aAAa,eAAA;YACb,QAAQ,UAAA;YACR,MAAM,QAAA;YACN,SAAS,WAAA;YACT,cAAc,gBAAA;YACd,oBAAoB,sBAAA;YACpB,IAAI,MAAA;YACJ,aAAa,eAAA;YACb,WAAW,aAAA;YACX,kBAAkB,oBAAA;YAClB,OAAO,SAAA;YACP,SAAS,WAAA;YACT,UAAU,YAAA;SACX,CAAC;QAEF,OAAO,EAAE,IAAI,MAAA,EAAE,CAAC;IAClB,CAAC;IAvCD,sEAuCC","sourcesContent":["import type { MenuContextValues, MenuState } from './Menu.types';\n\nexport function useMenuContextValues_unstable(state: MenuState): MenuContextValues {\n const {\n checkedValues,\n defaultCheckedValues,\n hasCheckmarks,\n hasIcons,\n inline,\n isSubmenu,\n menuPopoverRef,\n onCheckedValueChange,\n open,\n openOnContext,\n openOnHover,\n persistOnItemClick,\n setOpen,\n triggerId,\n triggerRef,\n } = state;\n\n // This context is created with \"@fluentui/react-context-selector\", these is no sense to memoize it\n const menu = {\n checkedValues,\n defaultCheckedValues,\n hasCheckmarks,\n hasIcons,\n inline,\n isSubmenu,\n menuPopoverRef,\n onCheckedValueChange,\n open,\n openOnContext,\n openOnHover,\n persistOnItemClick,\n setOpen,\n triggerId,\n triggerRef,\n };\n\n return { menu };\n}\n"]}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
define(["require", "exports", "react", "./useMenuDivider", "./useMenuDividerStyles", "./renderMenuDivider"], function (require, exports, React, useMenuDivider_1, useMenuDividerStyles_1, renderMenuDivider_1) {
|
2
|
+
"use strict";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.MenuDivider = void 0;
|
5
|
+
/**
|
6
|
+
* Define a styled MenuDivider, using the `useMenuDivider_unstable` hook.
|
7
|
+
*/
|
8
|
+
exports.MenuDivider = React.forwardRef(function (props, ref) {
|
9
|
+
var state = useMenuDivider_1.useMenuDivider_unstable(props, ref);
|
10
|
+
useMenuDividerStyles_1.useMenuDividerStyles_unstable(state);
|
11
|
+
return renderMenuDivider_1.renderMenuDivider_unstable(state);
|
12
|
+
});
|
13
|
+
exports.MenuDivider.displayName = 'MenuDivider';
|
14
|
+
});
|
15
|
+
//# sourceMappingURL=MenuDivider.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"MenuDivider.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuDivider/MenuDivider.tsx"],"names":[],"mappings":";;;;IAOA;;OAEG;IACU,QAAA,WAAW,GAA0C,KAAK,CAAC,UAAU,CAAC,UAAC,KAAK,EAAE,GAAG;QAC5F,IAAM,KAAK,GAAG,wCAAuB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAClD,oDAA6B,CAAC,KAAK,CAAC,CAAC;QAErC,OAAO,8CAA0B,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,mBAAW,CAAC,WAAW,GAAG,aAAa,CAAC","sourcesContent":["import * as React from 'react';\nimport { useMenuDivider_unstable } from './useMenuDivider';\nimport { useMenuDividerStyles_unstable } from './useMenuDividerStyles';\nimport { renderMenuDivider_unstable } from './renderMenuDivider';\nimport type { MenuDividerProps } from './MenuDivider.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * Define a styled MenuDivider, using the `useMenuDivider_unstable` hook.\n */\nexport const MenuDivider: ForwardRefComponent<MenuDividerProps> = React.forwardRef((props, ref) => {\n const state = useMenuDivider_unstable(props, ref);\n useMenuDividerStyles_unstable(state);\n\n return renderMenuDivider_unstable(state);\n});\n\nMenuDivider.displayName = 'MenuDivider';\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"MenuDivider.types.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuDivider/MenuDivider.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\nexport type MenuDividerSlots = {\n root: Slot<'div'>;\n};\n\nexport type MenuDividerProps = ComponentProps<MenuDividerSlots>;\n\nexport type MenuDividerState = ComponentState<MenuDividerSlots>;\n"]}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
define(["require", "exports", "tslib", "./MenuDivider.types", "./MenuDivider", "./renderMenuDivider", "./useMenuDivider", "./useMenuDividerStyles"], function (require, exports, tslib_1, MenuDivider_types_1, MenuDivider_1, renderMenuDivider_1, useMenuDivider_1, useMenuDividerStyles_1) {
|
2
|
+
"use strict";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
tslib_1.__exportStar(MenuDivider_types_1, exports);
|
5
|
+
tslib_1.__exportStar(MenuDivider_1, exports);
|
6
|
+
tslib_1.__exportStar(renderMenuDivider_1, exports);
|
7
|
+
tslib_1.__exportStar(useMenuDivider_1, exports);
|
8
|
+
tslib_1.__exportStar(useMenuDividerStyles_1, exports);
|
9
|
+
});
|
10
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuDivider/index.ts"],"names":[],"mappings":";;;IAAA,mDAAoC;IACpC,6CAA8B;IAC9B,mDAAoC;IACpC,gDAAiC;IACjC,sDAAuC","sourcesContent":["export * from './MenuDivider.types';\nexport * from './MenuDivider';\nexport * from './renderMenuDivider';\nexport * from './useMenuDivider';\nexport * from './useMenuDividerStyles';\n"]}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
define(["require", "exports", "tslib", "react", "@fluentui/react-utilities"], function (require, exports, tslib_1, React, react_utilities_1) {
|
2
|
+
"use strict";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.renderMenuDivider_unstable = void 0;
|
5
|
+
/**
|
6
|
+
* Redefine the render function to add slots. Reuse the menudivider structure but add
|
7
|
+
* slots to children.
|
8
|
+
*/
|
9
|
+
var renderMenuDivider_unstable = function (state) {
|
10
|
+
var _a = react_utilities_1.getSlots(state), slots = _a.slots, slotProps = _a.slotProps;
|
11
|
+
return React.createElement(slots.root, tslib_1.__assign({}, slotProps.root));
|
12
|
+
};
|
13
|
+
exports.renderMenuDivider_unstable = renderMenuDivider_unstable;
|
14
|
+
});
|
15
|
+
//# sourceMappingURL=renderMenuDivider.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"renderMenuDivider.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuDivider/renderMenuDivider.tsx"],"names":[],"mappings":";;;;IAIA;;;OAGG;IACI,IAAM,0BAA0B,GAAG,UAAC,KAAuB;QAC1D,IAAA,KAAuB,0BAAQ,CAAmB,KAAK,CAAC,EAAtD,KAAK,WAAA,EAAE,SAAS,eAAsC,CAAC;QAE/D,OAAO,oBAAC,KAAK,CAAC,IAAI,uBAAK,SAAS,CAAC,IAAI,EAAI,CAAC;IAC5C,CAAC,CAAC;IAJW,QAAA,0BAA0B,8BAIrC","sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport { MenuDividerSlots, MenuDividerState } from './MenuDivider.types';\n\n/**\n * Redefine the render function to add slots. Reuse the menudivider structure but add\n * slots to children.\n */\nexport const renderMenuDivider_unstable = (state: MenuDividerState) => {\n const { slots, slotProps } = getSlots<MenuDividerSlots>(state);\n\n return <slots.root {...slotProps.root} />;\n};\n"]}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
define(["require", "exports", "tslib", "@fluentui/react-utilities"], function (require, exports, tslib_1, react_utilities_1) {
|
2
|
+
"use strict";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.useMenuDivider_unstable = void 0;
|
5
|
+
/**
|
6
|
+
* Given user props, returns state and render function for a MenuDivider.
|
7
|
+
*/
|
8
|
+
var useMenuDivider_unstable = function (props, ref) {
|
9
|
+
return {
|
10
|
+
components: {
|
11
|
+
root: 'div',
|
12
|
+
},
|
13
|
+
root: react_utilities_1.getNativeElementProps('div', tslib_1.__assign(tslib_1.__assign({ role: 'presentation', 'aria-hidden': true }, props), { ref: ref })),
|
14
|
+
};
|
15
|
+
};
|
16
|
+
exports.useMenuDivider_unstable = useMenuDivider_unstable;
|
17
|
+
});
|
18
|
+
//# sourceMappingURL=useMenuDivider.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useMenuDivider.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuDivider/useMenuDivider.ts"],"names":[],"mappings":";;;;IAIA;;OAEG;IACI,IAAM,uBAAuB,GAAG,UAAC,KAAuB,EAAE,GAA2B;QAC1F,OAAO;YACL,UAAU,EAAE;gBACV,IAAI,EAAE,KAAK;aACZ;YACD,IAAI,EAAE,uCAAqB,CAAC,KAAK,sCAC/B,IAAI,EAAE,cAAc,EACpB,aAAa,EAAE,IAAI,IAChB,KAAK,KACR,GAAG,KAAA,IACH;SACH,CAAC;IACJ,CAAC,CAAC;IAZW,QAAA,uBAAuB,2BAYlC","sourcesContent":["import { getNativeElementProps } from '@fluentui/react-utilities';\nimport * as React from 'react';\nimport type { MenuDividerProps, MenuDividerState } from './MenuDivider.types';\n\n/**\n * Given user props, returns state and render function for a MenuDivider.\n */\nexport const useMenuDivider_unstable = (props: MenuDividerProps, ref: React.Ref<HTMLElement>): MenuDividerState => {\n return {\n components: {\n root: 'div',\n },\n root: getNativeElementProps('div', {\n role: 'presentation',\n 'aria-hidden': true,\n ...props,\n ref,\n }),\n };\n};\n"]}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
define(["require", "exports", "tslib", "@griffel/react", "@fluentui/react-theme"], function (require, exports, tslib_1, react_1, react_theme_1) {
|
2
|
+
"use strict";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.useMenuDividerStyles_unstable = exports.menuDividerClassNames = void 0;
|
5
|
+
exports.menuDividerClassNames = {
|
6
|
+
root: 'fui-MenuDivider',
|
7
|
+
};
|
8
|
+
var useStyles = react_1.makeStyles({
|
9
|
+
root: tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, react_1.shorthands.margin('4px', '-5px', '4px', '-5px')), { width: 'auto' }), react_1.shorthands.borderBottom('1px', 'solid', react_theme_1.tokens.colorNeutralStroke2)),
|
10
|
+
});
|
11
|
+
var useMenuDividerStyles_unstable = function (state) {
|
12
|
+
var styles = useStyles();
|
13
|
+
state.root.className = react_1.mergeClasses(exports.menuDividerClassNames.root, styles.root, state.root.className);
|
14
|
+
return state;
|
15
|
+
};
|
16
|
+
exports.useMenuDividerStyles_unstable = useMenuDividerStyles_unstable;
|
17
|
+
});
|
18
|
+
//# sourceMappingURL=useMenuDividerStyles.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useMenuDividerStyles.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuDivider/useMenuDividerStyles.ts"],"names":[],"mappings":";;;;IAKa,QAAA,qBAAqB,GAAqC;QACrE,IAAI,EAAE,iBAAiB;KACxB,CAAC;IAEF,IAAM,SAAS,GAAG,kBAAU,CAAC;QAC3B,IAAI,yDACC,kBAAU,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAClD,KAAK,EAAE,MAAM,KACV,kBAAU,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,oBAAM,CAAC,mBAAmB,CAAC,CACvE;KACF,CAAC,CAAC;IAEI,IAAM,6BAA6B,GAAG,UAAC,KAAuB;QACnE,IAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,oBAAY,CAAC,6BAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEnG,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IALW,QAAA,6BAA6B,iCAKxC","sourcesContent":["import { shorthands, mergeClasses, makeStyles } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport type { MenuDividerSlots, MenuDividerState } from './MenuDivider.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\n\nexport const menuDividerClassNames: SlotClassNames<MenuDividerSlots> = {\n root: 'fui-MenuDivider',\n};\n\nconst useStyles = makeStyles({\n root: {\n ...shorthands.margin('4px', '-5px', '4px', '-5px'),\n width: 'auto',\n ...shorthands.borderBottom('1px', 'solid', tokens.colorNeutralStroke2),\n },\n});\n\nexport const useMenuDividerStyles_unstable = (state: MenuDividerState) => {\n const styles = useStyles();\n state.root.className = mergeClasses(menuDividerClassNames.root, styles.root, state.root.className);\n\n return state;\n};\n"]}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
define(["require", "exports", "react", "./useMenuGroup", "./renderMenuGroup", "./useMenuGroupContextValues", "./useMenuGroupStyles"], function (require, exports, React, useMenuGroup_1, renderMenuGroup_1, useMenuGroupContextValues_1, useMenuGroupStyles_1) {
|
2
|
+
"use strict";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.MenuGroup = void 0;
|
5
|
+
/**
|
6
|
+
* Define a styled MenuGroup, using the `useMenuGroup_unstable` hook.
|
7
|
+
*/
|
8
|
+
exports.MenuGroup = React.forwardRef(function (props, ref) {
|
9
|
+
var state = useMenuGroup_1.useMenuGroup_unstable(props, ref);
|
10
|
+
var contextValues = useMenuGroupContextValues_1.useMenuGroupContextValues_unstable(state);
|
11
|
+
useMenuGroupStyles_1.useMenuGroupStyles_unstable(state);
|
12
|
+
return renderMenuGroup_1.renderMenuGroup_unstable(state, contextValues);
|
13
|
+
});
|
14
|
+
exports.MenuGroup.displayName = 'MenuGroup';
|
15
|
+
});
|
16
|
+
//# sourceMappingURL=MenuGroup.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"MenuGroup.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuGroup/MenuGroup.tsx"],"names":[],"mappings":";;;;IAQA;;OAEG;IACU,QAAA,SAAS,GAAwC,KAAK,CAAC,UAAU,CAAC,UAAC,KAAK,EAAE,GAAG;QACxF,IAAM,KAAK,GAAG,oCAAqB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChD,IAAM,aAAa,GAAG,8DAAkC,CAAC,KAAK,CAAC,CAAC;QAEhE,gDAA2B,CAAC,KAAK,CAAC,CAAC;QAEnC,OAAO,0CAAwB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,iBAAS,CAAC,WAAW,GAAG,WAAW,CAAC","sourcesContent":["import * as React from 'react';\nimport { useMenuGroup_unstable } from './useMenuGroup';\nimport { renderMenuGroup_unstable } from './renderMenuGroup';\nimport { useMenuGroupContextValues_unstable } from './useMenuGroupContextValues';\nimport type { MenuGroupProps } from './MenuGroup.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useMenuGroupStyles_unstable } from './useMenuGroupStyles';\n\n/**\n * Define a styled MenuGroup, using the `useMenuGroup_unstable` hook.\n */\nexport const MenuGroup: ForwardRefComponent<MenuGroupProps> = React.forwardRef((props, ref) => {\n const state = useMenuGroup_unstable(props, ref);\n const contextValues = useMenuGroupContextValues_unstable(state);\n\n useMenuGroupStyles_unstable(state);\n\n return renderMenuGroup_unstable(state, contextValues);\n});\n\nMenuGroup.displayName = 'MenuGroup';\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"MenuGroup.types.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuGroup/MenuGroup.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { MenuGroupContextValue } from '../../contexts/menuGroupContext';\n\nexport type MenuGroupSlots = {\n root: Slot<'div'>;\n};\n\nexport type MenuGroupProps = ComponentProps<MenuGroupSlots>;\n\nexport type MenuGroupState = ComponentState<MenuGroupSlots> & {\n /**\n * id applied to the DOM element of `MenuGroupHeader`\n */\n headerId: string;\n};\n\nexport type MenuGroupContextValues = {\n menuGroup: MenuGroupContextValue;\n};\n"]}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
define(["require", "exports", "tslib", "./MenuGroup.types", "./MenuGroup", "./renderMenuGroup", "./useMenuGroup", "./useMenuGroupContextValues", "./useMenuGroupStyles"], function (require, exports, tslib_1, MenuGroup_types_1, MenuGroup_1, renderMenuGroup_1, useMenuGroup_1, useMenuGroupContextValues_1, useMenuGroupStyles_1) {
|
2
|
+
"use strict";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
tslib_1.__exportStar(MenuGroup_types_1, exports);
|
5
|
+
tslib_1.__exportStar(MenuGroup_1, exports);
|
6
|
+
tslib_1.__exportStar(renderMenuGroup_1, exports);
|
7
|
+
tslib_1.__exportStar(useMenuGroup_1, exports);
|
8
|
+
tslib_1.__exportStar(useMenuGroupContextValues_1, exports);
|
9
|
+
tslib_1.__exportStar(useMenuGroupStyles_1, exports);
|
10
|
+
});
|
11
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuGroup/index.ts"],"names":[],"mappings":";;;IAAA,iDAAkC;IAClC,2CAA4B;IAC5B,iDAAkC;IAClC,8CAA+B;IAC/B,2DAA4C;IAC5C,oDAAqC","sourcesContent":["export * from './MenuGroup.types';\nexport * from './MenuGroup';\nexport * from './renderMenuGroup';\nexport * from './useMenuGroup';\nexport * from './useMenuGroupContextValues';\nexport * from './useMenuGroupStyles';\n"]}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
define(["require", "exports", "tslib", "react", "@fluentui/react-utilities", "../../contexts/menuGroupContext"], function (require, exports, tslib_1, React, react_utilities_1, menuGroupContext_1) {
|
2
|
+
"use strict";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.renderMenuGroup_unstable = void 0;
|
5
|
+
/**
|
6
|
+
* Redefine the render function to add slots. Reuse the menugroup structure but add
|
7
|
+
* slots to children.
|
8
|
+
*/
|
9
|
+
var renderMenuGroup_unstable = function (state, contextValues) {
|
10
|
+
var _a = react_utilities_1.getSlots(state), slots = _a.slots, slotProps = _a.slotProps;
|
11
|
+
return (React.createElement(menuGroupContext_1.MenuGroupContextProvider, { value: contextValues.menuGroup },
|
12
|
+
React.createElement(slots.root, tslib_1.__assign({}, slotProps.root))));
|
13
|
+
};
|
14
|
+
exports.renderMenuGroup_unstable = renderMenuGroup_unstable;
|
15
|
+
});
|
16
|
+
//# sourceMappingURL=renderMenuGroup.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"renderMenuGroup.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuGroup/renderMenuGroup.tsx"],"names":[],"mappings":";;;;IAKA;;;OAGG;IACI,IAAM,wBAAwB,GAAG,UAAC,KAAqB,EAAE,aAAqC;QAC7F,IAAA,KAAuB,0BAAQ,CAAiB,KAAK,CAAC,EAApD,KAAK,WAAA,EAAE,SAAS,eAAoC,CAAC;QAE7D,OAAO,CACL,oBAAC,2CAAwB,IAAC,KAAK,EAAE,aAAa,CAAC,SAAS;YACtD,oBAAC,KAAK,CAAC,IAAI,uBAAK,SAAS,CAAC,IAAI,EAAI,CACT,CAC5B,CAAC;IACJ,CAAC,CAAC;IARW,QAAA,wBAAwB,4BAQnC","sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport { MenuGroupContextValues, MenuGroupSlots, MenuGroupState } from './MenuGroup.types';\nimport { MenuGroupContextProvider } from '../../contexts/menuGroupContext';\n\n/**\n * Redefine the render function to add slots. Reuse the menugroup structure but add\n * slots to children.\n */\nexport const renderMenuGroup_unstable = (state: MenuGroupState, contextValues: MenuGroupContextValues) => {\n const { slots, slotProps } = getSlots<MenuGroupSlots>(state);\n\n return (\n <MenuGroupContextProvider value={contextValues.menuGroup}>\n <slots.root {...slotProps.root} />\n </MenuGroupContextProvider>\n );\n};\n"]}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
define(["require", "exports", "tslib", "@fluentui/react-utilities"], function (require, exports, tslib_1, react_utilities_1) {
|
2
|
+
"use strict";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.useMenuGroup_unstable = void 0;
|
5
|
+
/**
|
6
|
+
* Given user props, returns state and render function for a MenuGroup.
|
7
|
+
*/
|
8
|
+
function useMenuGroup_unstable(props, ref) {
|
9
|
+
var headerId = react_utilities_1.useId('menu-group');
|
10
|
+
return {
|
11
|
+
components: {
|
12
|
+
root: 'div',
|
13
|
+
},
|
14
|
+
root: react_utilities_1.getNativeElementProps('div', tslib_1.__assign({ ref: ref, 'aria-labelledby': headerId, role: 'group' }, props)),
|
15
|
+
headerId: headerId,
|
16
|
+
};
|
17
|
+
}
|
18
|
+
exports.useMenuGroup_unstable = useMenuGroup_unstable;
|
19
|
+
});
|
20
|
+
//# sourceMappingURL=useMenuGroup.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useMenuGroup.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuGroup/useMenuGroup.ts"],"names":[],"mappings":";;;;IAIA;;OAEG;IACH,SAAgB,qBAAqB,CAAC,KAAqB,EAAE,GAA2B;QACtF,IAAM,QAAQ,GAAG,uBAAK,CAAC,YAAY,CAAC,CAAC;QAErC,OAAO;YACL,UAAU,EAAE;gBACV,IAAI,EAAE,KAAK;aACZ;YACD,IAAI,EAAE,uCAAqB,CAAC,KAAK,qBAC/B,GAAG,KAAA,EACH,iBAAiB,EAAE,QAAQ,EAC3B,IAAI,EAAE,OAAO,IACV,KAAK,EACR;YACF,QAAQ,EAAE,QAAQ;SACnB,CAAC;IACJ,CAAC;IAfD,sDAeC","sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, useId } from '@fluentui/react-utilities';\nimport { MenuGroupProps, MenuGroupState } from './MenuGroup.types';\n\n/**\n * Given user props, returns state and render function for a MenuGroup.\n */\nexport function useMenuGroup_unstable(props: MenuGroupProps, ref: React.Ref<HTMLElement>): MenuGroupState {\n const headerId = useId('menu-group');\n\n return {\n components: {\n root: 'div',\n },\n root: getNativeElementProps('div', {\n ref,\n 'aria-labelledby': headerId,\n role: 'group',\n ...props,\n }),\n headerId: headerId,\n };\n}\n"]}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
define(["require", "exports", "react"], function (require, exports, React) {
|
2
|
+
"use strict";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.useMenuGroupContextValues_unstable = void 0;
|
5
|
+
function useMenuGroupContextValues_unstable(state) {
|
6
|
+
var headerId = state.headerId;
|
7
|
+
var menuGroup = React.useMemo(function () { return ({ headerId: headerId }); }, [headerId]);
|
8
|
+
return { menuGroup: menuGroup };
|
9
|
+
}
|
10
|
+
exports.useMenuGroupContextValues_unstable = useMenuGroupContextValues_unstable;
|
11
|
+
});
|
12
|
+
//# sourceMappingURL=useMenuGroupContextValues.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useMenuGroupContextValues.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuGroup/useMenuGroupContextValues.ts"],"names":[],"mappings":";;;;IAGA,SAAgB,kCAAkC,CAAC,KAAqB;QAC9D,IAAA,QAAQ,GAAK,KAAK,SAAV,CAAW;QAC3B,IAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,cAAM,OAAA,CAAC,EAAE,QAAQ,UAAA,EAAE,CAAC,EAAd,CAAc,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAElE,OAAO,EAAE,SAAS,WAAA,EAAE,CAAC;IACvB,CAAC;IALD,gFAKC","sourcesContent":["import * as React from 'react';\nimport type { MenuGroupContextValues, MenuGroupState } from './MenuGroup.types';\n\nexport function useMenuGroupContextValues_unstable(state: MenuGroupState): MenuGroupContextValues {\n const { headerId } = state;\n const menuGroup = React.useMemo(() => ({ headerId }), [headerId]);\n\n return { menuGroup };\n}\n"]}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
define(["require", "exports", "@griffel/react"], function (require, exports, react_1) {
|
2
|
+
"use strict";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.useMenuGroupStyles_unstable = exports.menuGroupClassNames = void 0;
|
5
|
+
exports.menuGroupClassNames = {
|
6
|
+
root: 'fui-MenuGroup',
|
7
|
+
};
|
8
|
+
var useMenuGroupStyles_unstable = function (state) {
|
9
|
+
state.root.className = react_1.mergeClasses(exports.menuGroupClassNames.root, state.root.className);
|
10
|
+
return state;
|
11
|
+
};
|
12
|
+
exports.useMenuGroupStyles_unstable = useMenuGroupStyles_unstable;
|
13
|
+
});
|
14
|
+
//# sourceMappingURL=useMenuGroupStyles.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useMenuGroupStyles.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuGroup/useMenuGroupStyles.ts"],"names":[],"mappings":";;;;IAIa,QAAA,mBAAmB,GAAmC;QACjE,IAAI,EAAE,eAAe;KACtB,CAAC;IAEK,IAAM,2BAA2B,GAAG,UAAC,KAAqB;QAC/D,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,oBAAY,CAAC,2BAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEpF,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAJW,QAAA,2BAA2B,+BAItC","sourcesContent":["import type { SlotClassNames } from '@fluentui/react-utilities';\nimport { mergeClasses } from '@griffel/react';\nimport type { MenuGroupSlots, MenuGroupState } from './MenuGroup.types';\n\nexport const menuGroupClassNames: SlotClassNames<MenuGroupSlots> = {\n root: 'fui-MenuGroup',\n};\n\nexport const useMenuGroupStyles_unstable = (state: MenuGroupState): MenuGroupState => {\n state.root.className = mergeClasses(menuGroupClassNames.root, state.root.className);\n\n return state;\n};\n"]}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
define(["require", "exports", "react", "./useMenuGroupHeader", "./useMenuGroupHeaderStyles", "./renderMenuGroupHeader"], function (require, exports, React, useMenuGroupHeader_1, useMenuGroupHeaderStyles_1, renderMenuGroupHeader_1) {
|
2
|
+
"use strict";
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
+
exports.MenuGroupHeader = void 0;
|
5
|
+
/**
|
6
|
+
* Define a styled MenuGroupHeader, using the `useMenuGroupHeader_unstable` hook.
|
7
|
+
*/
|
8
|
+
exports.MenuGroupHeader = React.forwardRef(function (props, ref) {
|
9
|
+
var state = useMenuGroupHeader_1.useMenuGroupHeader_unstable(props, ref);
|
10
|
+
useMenuGroupHeaderStyles_1.useMenuGroupHeaderStyles_unstable(state);
|
11
|
+
return renderMenuGroupHeader_1.renderMenuGroupHeader_unstable(state);
|
12
|
+
});
|
13
|
+
exports.MenuGroupHeader.displayName = 'MenuGroupHeader';
|
14
|
+
});
|
15
|
+
//# sourceMappingURL=MenuGroupHeader.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"MenuGroupHeader.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuGroupHeader/MenuGroupHeader.tsx"],"names":[],"mappings":";;;;IAOA;;OAEG;IACU,QAAA,eAAe,GAA8C,KAAK,CAAC,UAAU,CAAC,UAAC,KAAK,EAAE,GAAG;QACpG,IAAM,KAAK,GAAG,gDAA2B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACtD,4DAAiC,CAAC,KAAK,CAAC,CAAC;QAEzC,OAAO,sDAA8B,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,uBAAe,CAAC,WAAW,GAAG,iBAAiB,CAAC","sourcesContent":["import * as React from 'react';\nimport { useMenuGroupHeader_unstable } from './useMenuGroupHeader';\nimport { useMenuGroupHeaderStyles_unstable } from './useMenuGroupHeaderStyles';\nimport { renderMenuGroupHeader_unstable } from './renderMenuGroupHeader';\nimport type { MenuGroupHeaderProps } from './MenuGroupHeader.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * Define a styled MenuGroupHeader, using the `useMenuGroupHeader_unstable` hook.\n */\nexport const MenuGroupHeader: ForwardRefComponent<MenuGroupHeaderProps> = React.forwardRef((props, ref) => {\n const state = useMenuGroupHeader_unstable(props, ref);\n useMenuGroupHeaderStyles_unstable(state);\n\n return renderMenuGroupHeader_unstable(state);\n});\n\nMenuGroupHeader.displayName = 'MenuGroupHeader';\n"]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"MenuGroupHeader.types.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-menu/src/components/MenuGroupHeader/MenuGroupHeader.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\nexport type MenuGroupHeaderSlots = {\n root: Slot<'div'>;\n};\n\nexport type MenuGroupHeaderProps = ComponentProps<MenuGroupHeaderSlots>;\n\nexport type MenuGroupHeaderState = ComponentState<MenuGroupHeaderSlots>;\n"]}
|