@fluentui-react-native/menu 1.4.28 → 1.4.30
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.
- package/CHANGELOG.json +79 -1
- package/CHANGELOG.md +26 -2
- package/SPEC.md +46 -0
- package/lib/Menu/Menu.d.ts +4 -0
- package/lib/Menu/Menu.d.ts.map +1 -0
- package/lib/Menu/Menu.js +35 -0
- package/lib/Menu/Menu.js.map +1 -0
- package/lib/Menu/Menu.types.d.ts +40 -0
- package/lib/Menu/Menu.types.d.ts.map +1 -0
- package/lib/Menu/Menu.types.js +2 -0
- package/lib/Menu/Menu.types.js.map +1 -0
- package/lib/Menu/index.d.ts +6 -0
- package/lib/Menu/index.d.ts.map +1 -0
- package/lib/Menu/index.js +5 -0
- package/lib/Menu/index.js.map +1 -0
- package/lib/Menu/useMenu.d.ts +3 -0
- package/lib/Menu/useMenu.d.ts.map +1 -0
- package/lib/Menu/useMenu.js +76 -0
- package/lib/Menu/useMenu.js.map +1 -0
- package/lib/Menu/useMenuContextValue.d.ts +4 -0
- package/lib/Menu/useMenuContextValue.d.ts.map +1 -0
- package/lib/Menu/useMenuContextValue.js +8 -0
- package/lib/Menu/useMenuContextValue.js.map +1 -0
- package/lib/MenuDivider/MenuDivider.d.ts +2 -0
- package/lib/MenuDivider/MenuDivider.d.ts.map +1 -0
- package/lib/MenuDivider/MenuDivider.js +15 -0
- package/lib/MenuDivider/MenuDivider.js.map +1 -0
- package/lib/MenuDivider/MenuDivider.styling.d.ts +4 -0
- package/lib/MenuDivider/MenuDivider.styling.d.ts.map +1 -0
- package/lib/MenuDivider/MenuDivider.styling.js +19 -0
- package/lib/MenuDivider/MenuDivider.styling.js.map +1 -0
- package/lib/MenuDivider/MenuDivider.types.d.ts +21 -0
- package/lib/MenuDivider/MenuDivider.types.d.ts.map +1 -0
- package/lib/MenuDivider/MenuDivider.types.js +2 -0
- package/lib/MenuDivider/MenuDivider.types.js.map +1 -0
- package/lib/MenuDivider/MenuDividerTokens.d.ts +5 -0
- package/lib/MenuDivider/MenuDividerTokens.d.ts.map +1 -0
- package/lib/MenuDivider/MenuDividerTokens.js +7 -0
- package/lib/MenuDivider/MenuDividerTokens.js.map +1 -0
- package/lib/MenuDivider/MenuDividerTokens.macos.d.ts +5 -0
- package/lib/MenuDivider/MenuDividerTokens.macos.d.ts.map +1 -0
- package/lib/MenuDivider/MenuDividerTokens.macos.js +7 -0
- package/lib/MenuDivider/MenuDividerTokens.macos.js.map +1 -0
- package/lib/MenuDivider/MenuDividerTokens.win32.d.ts +5 -0
- package/lib/MenuDivider/MenuDividerTokens.win32.d.ts.map +1 -0
- package/lib/MenuDivider/MenuDividerTokens.win32.js +7 -0
- package/lib/MenuDivider/MenuDividerTokens.win32.js.map +1 -0
- package/lib/MenuDivider/index.d.ts +4 -0
- package/lib/MenuDivider/index.d.ts.map +1 -0
- package/lib/MenuDivider/index.js +3 -0
- package/lib/MenuDivider/index.js.map +1 -0
- package/lib/MenuItem/MenuItem.d.ts +7 -0
- package/lib/MenuItem/MenuItem.d.ts.map +1 -0
- package/lib/MenuItem/MenuItem.js +58 -0
- package/lib/MenuItem/MenuItem.js.map +1 -0
- package/lib/MenuItem/MenuItem.styling.d.ts +5 -0
- package/lib/MenuItem/MenuItem.styling.d.ts.map +1 -0
- package/lib/MenuItem/MenuItem.styling.js +50 -0
- package/lib/MenuItem/MenuItem.styling.js.map +1 -0
- package/lib/MenuItem/MenuItem.types.d.ts +98 -0
- package/lib/MenuItem/MenuItem.types.d.ts.map +1 -0
- package/lib/MenuItem/MenuItem.types.js +2 -0
- package/lib/MenuItem/MenuItem.types.js.map +1 -0
- package/lib/MenuItem/MenuItemTokens.d.ts +5 -0
- package/lib/MenuItem/MenuItemTokens.d.ts.map +1 -0
- package/lib/MenuItem/MenuItemTokens.js +39 -0
- package/lib/MenuItem/MenuItemTokens.js.map +1 -0
- package/lib/MenuItem/MenuItemTokens.macos.d.ts +5 -0
- package/lib/MenuItem/MenuItemTokens.macos.d.ts.map +1 -0
- package/lib/MenuItem/MenuItemTokens.macos.js +34 -0
- package/lib/MenuItem/MenuItemTokens.macos.js.map +1 -0
- package/lib/MenuItem/MenuItemTokens.win32.d.ts +5 -0
- package/lib/MenuItem/MenuItemTokens.win32.d.ts.map +1 -0
- package/lib/MenuItem/MenuItemTokens.win32.js +40 -0
- package/lib/MenuItem/MenuItemTokens.win32.js.map +1 -0
- package/lib/MenuItem/index.d.ts +5 -0
- package/lib/MenuItem/index.d.ts.map +1 -0
- package/lib/MenuItem/index.js +4 -0
- package/lib/MenuItem/index.js.map +1 -0
- package/lib/MenuItem/useMenuItem.d.ts +7 -0
- package/lib/MenuItem/useMenuItem.d.ts.map +1 -0
- package/lib/MenuItem/useMenuItem.js +74 -0
- package/lib/MenuItem/useMenuItem.js.map +1 -0
- package/lib/MenuItemCheckbox/MenuItemCheckbox.d.ts +7 -0
- package/lib/MenuItemCheckbox/MenuItemCheckbox.d.ts.map +1 -0
- package/lib/MenuItemCheckbox/MenuItemCheckbox.js +37 -0
- package/lib/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -0
- package/lib/MenuItemCheckbox/MenuItemCheckbox.styling.d.ts +5 -0
- package/lib/MenuItemCheckbox/MenuItemCheckbox.styling.d.ts.map +1 -0
- package/lib/MenuItemCheckbox/MenuItemCheckbox.styling.js +40 -0
- package/lib/MenuItemCheckbox/MenuItemCheckbox.styling.js.map +1 -0
- package/lib/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +66 -0
- package/lib/MenuItemCheckbox/MenuItemCheckbox.types.d.ts.map +1 -0
- package/lib/MenuItemCheckbox/MenuItemCheckbox.types.js +2 -0
- package/lib/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -0
- package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.d.ts +5 -0
- package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.d.ts.map +1 -0
- package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.js +51 -0
- package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.js.map +1 -0
- package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.macos.d.ts +5 -0
- package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.macos.d.ts.map +1 -0
- package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.macos.js +49 -0
- package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.macos.js.map +1 -0
- package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.win32.d.ts +5 -0
- package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.win32.d.ts.map +1 -0
- package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.win32.js +52 -0
- package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.win32.js.map +1 -0
- package/lib/MenuItemCheckbox/index.d.ts +5 -0
- package/lib/MenuItemCheckbox/index.d.ts.map +1 -0
- package/lib/MenuItemCheckbox/index.js +4 -0
- package/lib/MenuItemCheckbox/index.js.map +1 -0
- package/lib/MenuItemCheckbox/useMenuItemCheckbox.d.ts +13 -0
- package/lib/MenuItemCheckbox/useMenuItemCheckbox.d.ts.map +1 -0
- package/lib/MenuItemCheckbox/useMenuItemCheckbox.js +85 -0
- package/lib/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -0
- package/lib/MenuItemRadio/MenuItemRadio.d.ts +4 -0
- package/lib/MenuItemRadio/MenuItemRadio.d.ts.map +1 -0
- package/lib/MenuItemRadio/MenuItemRadio.js +12 -0
- package/lib/MenuItemRadio/MenuItemRadio.js.map +1 -0
- package/lib/MenuItemRadio/index.d.ts +3 -0
- package/lib/MenuItemRadio/index.d.ts.map +1 -0
- package/lib/MenuItemRadio/index.js +3 -0
- package/lib/MenuItemRadio/index.js.map +1 -0
- package/lib/MenuItemRadio/useMenuItemRadio.d.ts +3 -0
- package/lib/MenuItemRadio/useMenuItemRadio.d.ts.map +1 -0
- package/lib/MenuItemRadio/useMenuItemRadio.js +30 -0
- package/lib/MenuItemRadio/useMenuItemRadio.js.map +1 -0
- package/lib/MenuList/MenuList.d.ts +4 -0
- package/lib/MenuList/MenuList.d.ts.map +1 -0
- package/lib/MenuList/MenuList.js +68 -0
- package/lib/MenuList/MenuList.js.map +1 -0
- package/lib/MenuList/MenuList.styling.d.ts +5 -0
- package/lib/MenuList/MenuList.styling.d.ts.map +1 -0
- package/lib/MenuList/MenuList.styling.js +17 -0
- package/lib/MenuList/MenuList.styling.js.map +1 -0
- package/lib/MenuList/MenuList.types.d.ts +77 -0
- package/lib/MenuList/MenuList.types.d.ts.map +1 -0
- package/lib/MenuList/MenuList.types.js +2 -0
- package/lib/MenuList/MenuList.types.js.map +1 -0
- package/lib/MenuList/MenuListTokens.d.ts +5 -0
- package/lib/MenuList/MenuListTokens.d.ts.map +1 -0
- package/lib/MenuList/MenuListTokens.js +9 -0
- package/lib/MenuList/MenuListTokens.js.map +1 -0
- package/lib/MenuList/MenuListTokens.macos.d.ts +5 -0
- package/lib/MenuList/MenuListTokens.macos.d.ts.map +1 -0
- package/lib/MenuList/MenuListTokens.macos.js +7 -0
- package/lib/MenuList/MenuListTokens.macos.js.map +1 -0
- package/lib/MenuList/MenuListTokens.win32.d.ts +5 -0
- package/lib/MenuList/MenuListTokens.win32.d.ts.map +1 -0
- package/lib/MenuList/MenuListTokens.win32.js +12 -0
- package/lib/MenuList/MenuListTokens.win32.js.map +1 -0
- package/lib/MenuList/index.d.ts +6 -0
- package/lib/MenuList/index.d.ts.map +1 -0
- package/lib/MenuList/index.js +5 -0
- package/lib/MenuList/index.js.map +1 -0
- package/lib/MenuList/useMenuList.d.ts +3 -0
- package/lib/MenuList/useMenuList.d.ts.map +1 -0
- package/lib/MenuList/useMenuList.js +109 -0
- package/lib/MenuList/useMenuList.js.map +1 -0
- package/lib/MenuList/useMenuListContextValue.d.ts +4 -0
- package/lib/MenuList/useMenuListContextValue.d.ts.map +1 -0
- package/lib/MenuList/useMenuListContextValue.js +5 -0
- package/lib/MenuList/useMenuListContextValue.js.map +1 -0
- package/lib/MenuPopover/MenuPopover.d.ts +4 -0
- package/lib/MenuPopover/MenuPopover.d.ts.map +1 -0
- package/lib/MenuPopover/MenuPopover.js +44 -0
- package/lib/MenuPopover/MenuPopover.js.map +1 -0
- package/lib/MenuPopover/MenuPopover.types.d.ts +10 -0
- package/lib/MenuPopover/MenuPopover.types.d.ts.map +1 -0
- package/lib/MenuPopover/MenuPopover.types.js +2 -0
- package/lib/MenuPopover/MenuPopover.types.js.map +1 -0
- package/lib/MenuPopover/MenuPopoverTokens.d.ts +3 -0
- package/lib/MenuPopover/MenuPopoverTokens.d.ts.map +1 -0
- package/lib/MenuPopover/MenuPopoverTokens.js +4 -0
- package/lib/MenuPopover/MenuPopoverTokens.js.map +1 -0
- package/lib/MenuPopover/index.d.ts +5 -0
- package/lib/MenuPopover/index.d.ts.map +1 -0
- package/lib/MenuPopover/index.js +4 -0
- package/lib/MenuPopover/index.js.map +1 -0
- package/lib/MenuPopover/useMenuPopover.d.ts +3 -0
- package/lib/MenuPopover/useMenuPopover.d.ts.map +1 -0
- package/lib/MenuPopover/useMenuPopover.js +92 -0
- package/lib/MenuPopover/useMenuPopover.js.map +1 -0
- package/lib/MenuTrigger/MenuTrigger.d.ts +5 -0
- package/lib/MenuTrigger/MenuTrigger.d.ts.map +1 -0
- package/lib/MenuTrigger/MenuTrigger.js +20 -0
- package/lib/MenuTrigger/MenuTrigger.js.map +1 -0
- package/lib/MenuTrigger/MenuTrigger.types.d.ts +28 -0
- package/lib/MenuTrigger/MenuTrigger.types.d.ts.map +1 -0
- package/lib/MenuTrigger/MenuTrigger.types.js +2 -0
- package/lib/MenuTrigger/MenuTrigger.types.js.map +1 -0
- package/lib/MenuTrigger/index.d.ts +5 -0
- package/lib/MenuTrigger/index.d.ts.map +1 -0
- package/lib/MenuTrigger/index.js +4 -0
- package/lib/MenuTrigger/index.js.map +1 -0
- package/lib/MenuTrigger/useMenuTrigger.d.ts +3 -0
- package/lib/MenuTrigger/useMenuTrigger.d.ts.map +1 -0
- package/lib/MenuTrigger/useMenuTrigger.js +79 -0
- package/lib/MenuTrigger/useMenuTrigger.js.map +1 -0
- package/lib/MenuTrigger/useMergeRefs.d.ts +20 -0
- package/lib/MenuTrigger/useMergeRefs.d.ts.map +1 -0
- package/lib/MenuTrigger/useMergeRefs.js +36 -0
- package/lib/MenuTrigger/useMergeRefs.js.map +1 -0
- package/lib/__tests__/Menu.test.d.ts +2 -0
- package/lib/__tests__/Menu.test.d.ts.map +1 -0
- package/lib/__tests__/Menu.test.js +145 -0
- package/lib/__tests__/Menu.test.js.map +1 -0
- package/lib/consts.d.ts +2 -0
- package/lib/consts.d.ts.map +1 -0
- package/lib/consts.js +6 -0
- package/lib/consts.js.map +1 -0
- package/lib/context/index.d.ts +4 -0
- package/lib/context/index.d.ts.map +1 -0
- package/lib/context/index.js +4 -0
- package/lib/context/index.js.map +1 -0
- package/lib/context/menuContext.d.ts +16 -0
- package/lib/context/menuContext.d.ts.map +1 -0
- package/lib/context/menuContext.js +20 -0
- package/lib/context/menuContext.js.map +1 -0
- package/lib/context/menuListContext.d.ts +14 -0
- package/lib/context/menuListContext.d.ts.map +1 -0
- package/lib/context/menuListContext.js +15 -0
- package/lib/context/menuListContext.js.map +1 -0
- package/lib/context/menuTriggerContext.d.ts +9 -0
- package/lib/context/menuTriggerContext.d.ts.map +1 -0
- package/lib/context/menuTriggerContext.js +9 -0
- package/lib/context/menuTriggerContext.js.map +1 -0
- package/lib/index.d.ts +10 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +10 -0
- package/lib/index.js.map +1 -0
- package/lib-commonjs/MenuItem/MenuItem.types.d.ts +12 -0
- package/lib-commonjs/MenuItem/MenuItem.types.d.ts.map +1 -1
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +6 -0
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.d.ts.map +1 -1
- package/lib-commonjs/MenuList/MenuList.types.d.ts +3 -0
- package/lib-commonjs/MenuList/MenuList.types.d.ts.map +1 -1
- package/package.json +9 -9
- package/src/MenuItem/MenuItem.types.ts +14 -0
- package/src/MenuItemCheckbox/MenuItemCheckbox.types.ts +8 -0
- package/src/MenuList/MenuList.types.ts +4 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { MenuListProps, MenuListState } from './MenuList.types';
|
|
2
|
+
export declare const menuListLookup: (layer: string, state: MenuListState, userProps: MenuListProps) => boolean;
|
|
3
|
+
export declare const MenuList: import("@fluentui-react-native/framework").ComposableComponent<MenuListProps, import("./MenuList.types").MenuListSlotProps, import("./MenuList.types").MenuListTokens, object>;
|
|
4
|
+
//# sourceMappingURL=MenuList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuList.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAgB,MAAM,kBAAkB,CAAC;AA0BnF,eAAO,MAAM,cAAc,UAAW,MAAM,SAAS,aAAa,aAAa,aAAa,KAAG,OAE9F,CAAC;AACF,eAAO,MAAM,QAAQ,gLA0EnB,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { __assign, __rest } from "tslib";
|
|
2
|
+
/** @jsx withSlots */
|
|
3
|
+
import React from 'react';
|
|
4
|
+
import { Platform, ScrollView, View } from 'react-native';
|
|
5
|
+
import { FocusZone } from '@fluentui-react-native/focus-zone';
|
|
6
|
+
import { compose, mergeProps, stagedComponent, withSlots } from '@fluentui-react-native/framework';
|
|
7
|
+
import { stylingSettings } from './MenuList.styling';
|
|
8
|
+
import { menuListName } from './MenuList.types';
|
|
9
|
+
import { useMenuList } from './useMenuList';
|
|
10
|
+
import { useMenuListContextValue } from './useMenuListContextValue';
|
|
11
|
+
import { useMenuContext } from '../context';
|
|
12
|
+
import { MenuListProvider } from '../context/menuListContext';
|
|
13
|
+
var MenuStack = stagedComponent(function (props) {
|
|
14
|
+
var gap = props.gap, rest = __rest(props, ["gap"]);
|
|
15
|
+
return function (final, children) {
|
|
16
|
+
if (gap && gap > 0 && children) {
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
18
|
+
// @ts-ignore - GH:1684, fix typing error
|
|
19
|
+
children = React.Children.map(children, function (child, index) {
|
|
20
|
+
if (React.isValidElement(child) && index > 0) {
|
|
21
|
+
return React.cloneElement(child, mergeProps(child.props, { style: { marginTop: gap } }));
|
|
22
|
+
}
|
|
23
|
+
return child;
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
return withSlots(View, __assign({}, mergeProps(rest, final)), children);
|
|
27
|
+
};
|
|
28
|
+
});
|
|
29
|
+
MenuStack.displayName = 'MenuStack';
|
|
30
|
+
export var menuListLookup = function (layer, state, userProps) {
|
|
31
|
+
return state[layer] || userProps[layer] || layer === 'hasMaxHeight';
|
|
32
|
+
};
|
|
33
|
+
export var MenuList = compose(__assign(__assign({ displayName: menuListName }, stylingSettings), { slots: __assign({ root: MenuStack, scrollView: ScrollView }, (Platform.OS === 'macos' && { focusZone: FocusZone })), useRender: function (userProps, useSlots) {
|
|
34
|
+
var menuList = useMenuList(userProps);
|
|
35
|
+
var menuContext = useMenuContext();
|
|
36
|
+
var menuListContextValue = useMenuListContextValue(menuList);
|
|
37
|
+
var Slots = useSlots(menuList.props, function (layer) { return menuListLookup(layer, menuList, userProps); });
|
|
38
|
+
var focusZoneRef = React.useRef();
|
|
39
|
+
React.useEffect(function () {
|
|
40
|
+
var _a;
|
|
41
|
+
(_a = focusZoneRef === null || focusZoneRef === void 0 ? void 0 : focusZoneRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
42
|
+
}, []);
|
|
43
|
+
return function (_final, children) {
|
|
44
|
+
var itemCount = React.Children.toArray(children).filter(function (child) { return React.isValidElement(child) && child.type.displayName !== 'MenuDivider'; }).length;
|
|
45
|
+
var itemPosition = 0;
|
|
46
|
+
var childrenWithSet = React.Children.toArray(children).map(function (child) {
|
|
47
|
+
var _a, _b;
|
|
48
|
+
if (React.isValidElement(child)) {
|
|
49
|
+
if (child.type.displayName !== 'MenuDivider') {
|
|
50
|
+
itemPosition++;
|
|
51
|
+
}
|
|
52
|
+
return React.cloneElement(child, {
|
|
53
|
+
accessibilityPositionInSet: (_a = child.props.accessibilityPositionInSet) !== null && _a !== void 0 ? _a : itemPosition,
|
|
54
|
+
accessibilitySetSize: (_b = child.props.accessibilitySetSize) !== null && _b !== void 0 ? _b : itemCount, //win32
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
return child;
|
|
58
|
+
});
|
|
59
|
+
var content = Platform.OS === 'macos' ? (withSlots(Slots.root, null,
|
|
60
|
+
withSlots(Slots.scrollView, { accessibilityRole: "menu", showsVerticalScrollIndicator: menuContext.hasMaxHeight, showsHorizontalScrollIndicator: menuContext.hasMaxWidth },
|
|
61
|
+
withSlots(Slots.focusZone, { componentRef: focusZoneRef, focusZoneDirection: 'vertical', defaultTabbableElement: focusZoneRef,
|
|
62
|
+
// @ts-ignore FocusZone takes ViewProps, but that isn't defined on it's type.
|
|
63
|
+
enableFocusRing: false }, childrenWithSet)))) : menuContext.hasMaxHeight ? (withSlots(Slots.root, { style: menuContext.minWidth ? { minWidth: menuContext.minWidth } : {} },
|
|
64
|
+
withSlots(Slots.scrollView, null, childrenWithSet))) : (withSlots(Slots.root, { style: menuContext.minWidth ? { minWidth: menuContext.minWidth } : {} }, childrenWithSet));
|
|
65
|
+
return withSlots(MenuListProvider, { value: menuListContextValue }, content);
|
|
66
|
+
};
|
|
67
|
+
} }));
|
|
68
|
+
//# sourceMappingURL=MenuList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuList.js","sourceRoot":"","sources":["../../src/MenuList/MenuList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { UseStylingOptions } from '@fluentui-react-native/framework';
|
|
2
|
+
import type { MenuListProps, MenuListTokens, MenuListSlotProps } from './MenuList.types';
|
|
3
|
+
export declare const menuListStates: (keyof MenuListTokens)[];
|
|
4
|
+
export declare const stylingSettings: UseStylingOptions<MenuListProps, MenuListSlotProps, MenuListTokens>;
|
|
5
|
+
//# sourceMappingURL=MenuList.styling.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuList.styling.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuList.styling.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAS,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAIjF,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAIzF,eAAO,MAAM,cAAc,EAAE,CAAC,MAAM,cAAc,CAAC,EAAqB,CAAC;AAEzE,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,aAAa,EAAE,iBAAiB,EAAE,cAAc,CAgB/F,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { __assign, __spreadArray } from "tslib";
|
|
2
|
+
import { buildProps } from '@fluentui-react-native/framework';
|
|
3
|
+
import { layoutStyles } from '@fluentui-react-native/tokens';
|
|
4
|
+
import { menuListName } from './MenuList.types';
|
|
5
|
+
import { defaultMenuListTokens } from './MenuListTokens';
|
|
6
|
+
export var menuListStates = ['hasMaxHeight'];
|
|
7
|
+
export var stylingSettings = {
|
|
8
|
+
tokens: [defaultMenuListTokens, menuListName],
|
|
9
|
+
states: menuListStates,
|
|
10
|
+
slotProps: {
|
|
11
|
+
root: buildProps(function (tokens, theme) { return ({
|
|
12
|
+
style: __assign({ backgroundColor: tokens.backgroundColor, display: 'flex' }, layoutStyles.from(tokens, theme)),
|
|
13
|
+
gap: tokens.gap,
|
|
14
|
+
}); }, __spreadArray(['backgroundColor', 'gap'], layoutStyles.keys, true)),
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=MenuList.styling.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuList.styling.js","sourceRoot":"","sources":["../../src/MenuList/MenuList.styling.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAG7D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,CAAC,IAAM,cAAc,GAA6B,CAAC,cAAc,CAAC,CAAC;AAEzE,MAAM,CAAC,IAAM,eAAe,GAAwE;IAClG,MAAM,EAAE,CAAC,qBAAqB,EAAE,YAAY,CAAC;IAC7C,MAAM,EAAE,cAAc;IACtB,SAAS,EAAE;QACT,IAAI,EAAE,UAAU,CACd,UAAC,MAAsB,EAAE,KAAY,IAAK,OAAA,CAAC;YACzC,KAAK,aACH,eAAe,EAAE,MAAM,CAAC,eAAe,EACvC,OAAO,EAAE,MAAM,IACZ,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CACpC;YACD,GAAG,EAAE,MAAM,CAAC,GAAG;SAChB,CAAC,EAPwC,CAOxC,iBACD,iBAAiB,EAAE,KAAK,GAAK,YAAY,CAAC,IAAI,QAChD;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import type { ScrollViewProps } from 'react-native';
|
|
3
|
+
import type { IViewProps } from '@fluentui-react-native/adapters';
|
|
4
|
+
import type { FocusZoneProps } from '@fluentui-react-native/focus-zone';
|
|
5
|
+
import type { InteractionEvent } from '@fluentui-react-native/interactive-hooks';
|
|
6
|
+
import type { IBackgroundColorTokens, LayoutTokens } from '@fluentui-react-native/tokens';
|
|
7
|
+
export declare const menuListName = "MenuList";
|
|
8
|
+
export interface MenuListTokens extends LayoutTokens, IBackgroundColorTokens {
|
|
9
|
+
/**
|
|
10
|
+
* Space between items in pixels
|
|
11
|
+
*/
|
|
12
|
+
gap?: number;
|
|
13
|
+
/**
|
|
14
|
+
* States of the list control
|
|
15
|
+
*/
|
|
16
|
+
hasMaxHeight?: MenuListTokens;
|
|
17
|
+
}
|
|
18
|
+
export interface MenuListProps extends Omit<IViewProps, 'onPress'> {
|
|
19
|
+
/**
|
|
20
|
+
* Array of all checked items
|
|
21
|
+
*/
|
|
22
|
+
checked?: string[];
|
|
23
|
+
/**
|
|
24
|
+
* Default items to be checked on mount
|
|
25
|
+
*/
|
|
26
|
+
defaultChecked?: string[];
|
|
27
|
+
/**
|
|
28
|
+
* States that menu items can contain selectable items and reserves space for item alignment
|
|
29
|
+
*/
|
|
30
|
+
hasCheckmarks?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* States that menu items can contain icons and reserves space for item alignment
|
|
33
|
+
*/
|
|
34
|
+
hasIcons?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* States that menu items all have tooltips with its text by default.
|
|
37
|
+
*
|
|
38
|
+
* This option is useful for programmatically generated items to provide
|
|
39
|
+
* text for options that end up having tuncated text.
|
|
40
|
+
*/
|
|
41
|
+
hasTooltips?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Callback when checked items change
|
|
44
|
+
*
|
|
45
|
+
* @param checked Array of all currently checked values
|
|
46
|
+
*/
|
|
47
|
+
onCheckedChange?: (e: InteractionEvent, checked: string[]) => void;
|
|
48
|
+
/**
|
|
49
|
+
* Defines a minumum width for the Menu.
|
|
50
|
+
*/
|
|
51
|
+
minWidth?: number | string;
|
|
52
|
+
}
|
|
53
|
+
export interface MenuListState extends Omit<MenuListProps, 'checked' | 'onCheckedChange'> {
|
|
54
|
+
props: MenuListProps;
|
|
55
|
+
checked?: Record<string, boolean>;
|
|
56
|
+
isCheckedControlled: boolean;
|
|
57
|
+
onArrowClose?: (e: InteractionEvent) => void;
|
|
58
|
+
onCheckedChange?: (e: InteractionEvent, name: string, isChecked: boolean) => void;
|
|
59
|
+
selectRadio?: (e: InteractionEvent, name: string) => void;
|
|
60
|
+
addRadioItem: (name: string) => void;
|
|
61
|
+
removeRadioItem: (name: string) => void;
|
|
62
|
+
hasMaxHeight?: boolean;
|
|
63
|
+
hasMaxWidth?: boolean;
|
|
64
|
+
}
|
|
65
|
+
export interface MenuListSlotProps {
|
|
66
|
+
root: React.PropsWithRef<IViewProps> & {
|
|
67
|
+
gap?: number;
|
|
68
|
+
};
|
|
69
|
+
focusZone?: FocusZoneProps;
|
|
70
|
+
scrollView?: ScrollViewProps;
|
|
71
|
+
}
|
|
72
|
+
export interface MenuListType {
|
|
73
|
+
props: MenuListProps;
|
|
74
|
+
tokens: MenuListTokens;
|
|
75
|
+
slotProps: MenuListSlotProps;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=MenuList.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuList.types.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuList.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AACjF,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE1F,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,MAAM,WAAW,cAAe,SAAQ,YAAY,EAAE,sBAAsB;IAC1E;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,YAAY,CAAC,EAAE,cAAc,CAAC;CAC/B;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC;IAChE;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACnE;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,aAAa,EAAE,SAAS,GAAG,iBAAiB,CAAC;IACvF,KAAK,EAAE,aAAa,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC7C,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAClF,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,UAAU,CAAC,EAAE,eAAe,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,EAAE,iBAAiB,CAAC;CAC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuList.types.js","sourceRoot":"","sources":["../../src/MenuList/MenuList.types.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,IAAM,YAAY,GAAG,UAAU,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Theme } from '@fluentui-react-native/framework';
|
|
2
|
+
import type { TokenSettings } from '@fluentui-react-native/use-styling';
|
|
3
|
+
import type { MenuListTokens } from './MenuList.types';
|
|
4
|
+
export declare const defaultMenuListTokens: TokenSettings<MenuListTokens, Theme>;
|
|
5
|
+
//# sourceMappingURL=MenuListTokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuListTokens.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuListTokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAE9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,cAAc,EAAE,KAAK,CAMrE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { globalTokens } from '@fluentui-react-native/theme-tokens';
|
|
2
|
+
export var defaultMenuListTokens = function (t) { return ({
|
|
3
|
+
padding: globalTokens.size40,
|
|
4
|
+
minWidth: 128,
|
|
5
|
+
maxWidth: 300,
|
|
6
|
+
backgroundColor: t.colors.neutralBackground1,
|
|
7
|
+
gap: globalTokens.size20,
|
|
8
|
+
}); };
|
|
9
|
+
//# sourceMappingURL=MenuListTokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuListTokens.js","sourceRoot":"","sources":["../../src/MenuList/MenuListTokens.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAKnE,MAAM,CAAC,IAAM,qBAAqB,GAAyC,UAAC,CAAQ,IAAqB,OAAA,CAAC;IACxG,OAAO,EAAE,YAAY,CAAC,MAAM;IAC5B,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,kBAAkB;IAC5C,GAAG,EAAE,YAAY,CAAC,MAAM;CACzB,CAAC,EANuG,CAMvG,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Theme } from '@fluentui-react-native/framework';
|
|
2
|
+
import type { TokenSettings } from '@fluentui-react-native/use-styling';
|
|
3
|
+
import type { MenuListTokens } from './MenuList.types';
|
|
4
|
+
export declare const defaultMenuListTokens: TokenSettings<MenuListTokens, Theme>;
|
|
5
|
+
//# sourceMappingURL=MenuListTokens.macos.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuListTokens.macos.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuListTokens.macos.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAE9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,cAAc,EAAE,KAAK,CAIrE,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { globalTokens } from '@fluentui-react-native/theme-tokens';
|
|
2
|
+
export var defaultMenuListTokens = function (t) { return ({
|
|
3
|
+
padding: 5,
|
|
4
|
+
backgroundColor: t.colors.transparentBackground,
|
|
5
|
+
gap: globalTokens.size20,
|
|
6
|
+
}); };
|
|
7
|
+
//# sourceMappingURL=MenuListTokens.macos.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuListTokens.macos.js","sourceRoot":"","sources":["../../src/MenuList/MenuListTokens.macos.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAKnE,MAAM,CAAC,IAAM,qBAAqB,GAAyC,UAAC,CAAQ,IAAqB,OAAA,CAAC;IACxG,OAAO,EAAE,CAAC;IACV,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,qBAAqB;IAC/C,GAAG,EAAE,YAAY,CAAC,MAAM;CACzB,CAAC,EAJuG,CAIvG,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Theme } from '@fluentui-react-native/framework';
|
|
2
|
+
import type { TokenSettings } from '@fluentui-react-native/use-styling';
|
|
3
|
+
import type { MenuListTokens } from './MenuList.types';
|
|
4
|
+
export declare const defaultMenuListTokens: TokenSettings<MenuListTokens, Theme>;
|
|
5
|
+
//# sourceMappingURL=MenuListTokens.win32.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuListTokens.win32.d.ts","sourceRoot":"","sources":["../../src/MenuList/MenuListTokens.win32.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAE9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,cAAc,EAAE,KAAK,CASrE,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { globalTokens } from '@fluentui-react-native/theme-tokens';
|
|
2
|
+
export var defaultMenuListTokens = function (t) { return ({
|
|
3
|
+
paddingVertical: globalTokens.size40,
|
|
4
|
+
minWidth: 128,
|
|
5
|
+
maxWidth: 300,
|
|
6
|
+
backgroundColor: t.colors.neutralBackground1,
|
|
7
|
+
/* To account for the width of the vertical scrollView. With the default minWidth, some content may be cut off */
|
|
8
|
+
hasMaxHeight: {
|
|
9
|
+
minWidth: 140,
|
|
10
|
+
},
|
|
11
|
+
}); };
|
|
12
|
+
//# sourceMappingURL=MenuListTokens.win32.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuListTokens.win32.js","sourceRoot":"","sources":["../../src/MenuList/MenuListTokens.win32.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAKnE,MAAM,CAAC,IAAM,qBAAqB,GAAyC,UAAC,CAAQ,IAAqB,OAAA,CAAC;IACxG,eAAe,EAAE,YAAY,CAAC,MAAM;IACpC,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,kBAAkB;IAC5C,iHAAiH;IACjH,YAAY,EAAE;QACZ,QAAQ,EAAE,GAAG;KACd;CACF,CAAC,EATuG,CASvG,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { MenuList } from './MenuList';
|
|
2
|
+
export { menuListName } from './MenuList.types';
|
|
3
|
+
export type { MenuListProps, MenuListState, MenuListTokens, MenuListSlotProps, MenuListType } from './MenuList.types';
|
|
4
|
+
export { useMenuList } from './useMenuList';
|
|
5
|
+
export { useMenuListContextValue } from './useMenuListContextValue';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/MenuList/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACtH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/MenuList/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMenuList.d.ts","sourceRoot":"","sources":["../../src/MenuList/useMenuList.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAerE,eAAO,MAAM,WAAW,WAAY,aAAa,KAAG,aAmHnD,CAAC"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { __assign } from "tslib";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { useMenuContext } from '../context/menuContext';
|
|
4
|
+
// Track the radio items so we know what to clear selection from when selectRadio is called
|
|
5
|
+
// Purposefully left out of the hook because
|
|
6
|
+
// 1. RadioItems just keeps track of information - changing this array doesn't need to force rerender
|
|
7
|
+
// 2. Keeping them here means these consts are not recreated on every render, which would force rerendering of all children
|
|
8
|
+
var radioItems = [];
|
|
9
|
+
var addRadioItem = function (name) {
|
|
10
|
+
radioItems.push(name);
|
|
11
|
+
};
|
|
12
|
+
var removeRadioItem = function (name) {
|
|
13
|
+
radioItems.filter(function (item) { return item !== name; });
|
|
14
|
+
};
|
|
15
|
+
export var useMenuList = function (_props) {
|
|
16
|
+
var context = useMenuContext();
|
|
17
|
+
// MenuList v2 needs to be able to be standalone, but this is not in scope for v1
|
|
18
|
+
// Assuming that checked information will come from parent Menu
|
|
19
|
+
var defaultChecked = context.defaultChecked, onCheckedChangeOriginal = context.onCheckedChange, checkedOriginal = context.checked, isSubmenu = context.isSubmenu, setOpen = context.setOpen, triggerRef = context.triggerRef;
|
|
20
|
+
// Convert passed in array to map so that i's easier to look up checked state
|
|
21
|
+
var checkedMap = React.useMemo(function () {
|
|
22
|
+
var state = {};
|
|
23
|
+
if (!checkedOriginal) {
|
|
24
|
+
return state;
|
|
25
|
+
}
|
|
26
|
+
for (var _i = 0, checkedOriginal_1 = checkedOriginal; _i < checkedOriginal_1.length; _i++) {
|
|
27
|
+
var key = checkedOriginal_1[_i];
|
|
28
|
+
state[key] = true;
|
|
29
|
+
}
|
|
30
|
+
return state;
|
|
31
|
+
}, [checkedOriginal]);
|
|
32
|
+
var _a = React.useState(function () {
|
|
33
|
+
if (checkedMap) {
|
|
34
|
+
return checkedMap;
|
|
35
|
+
}
|
|
36
|
+
var initialChecked = defaultChecked !== null && defaultChecked !== void 0 ? defaultChecked : [];
|
|
37
|
+
var state = {};
|
|
38
|
+
for (var _i = 0, initialChecked_1 = initialChecked; _i < initialChecked_1.length; _i++) {
|
|
39
|
+
var key = initialChecked_1[_i];
|
|
40
|
+
state[key] = true;
|
|
41
|
+
}
|
|
42
|
+
return state;
|
|
43
|
+
}), checkedInternal = _a[0], setCheckedInternal = _a[1];
|
|
44
|
+
var isCheckedControlled = typeof checkedOriginal !== 'undefined';
|
|
45
|
+
var checked = isCheckedControlled ? checkedMap : checkedInternal;
|
|
46
|
+
var onCheckedChange = React.useCallback(function (e, name, isChecked) {
|
|
47
|
+
var updatedChecked = __assign({}, checked);
|
|
48
|
+
if (isChecked) {
|
|
49
|
+
updatedChecked[name] = true;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
delete updatedChecked[name];
|
|
53
|
+
}
|
|
54
|
+
if (!isCheckedControlled) {
|
|
55
|
+
setCheckedInternal(updatedChecked);
|
|
56
|
+
}
|
|
57
|
+
if (onCheckedChangeOriginal) {
|
|
58
|
+
onCheckedChangeOriginal(e, Object.keys(updatedChecked));
|
|
59
|
+
}
|
|
60
|
+
}, [isCheckedControlled, checked, onCheckedChangeOriginal, setCheckedInternal]);
|
|
61
|
+
var selectRadio = React.useCallback(function (e, name) {
|
|
62
|
+
var updatedChecked = {};
|
|
63
|
+
for (var _i = 0, _a = Object.keys(checked); _i < _a.length; _i++) {
|
|
64
|
+
var checkedName = _a[_i];
|
|
65
|
+
if (!radioItems.includes(checkedName)) {
|
|
66
|
+
// Preserve checked state if non-radio items
|
|
67
|
+
updatedChecked[checkedName] = checked[checkedName];
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
updatedChecked[name] = true;
|
|
71
|
+
if (!isCheckedControlled) {
|
|
72
|
+
setCheckedInternal(updatedChecked);
|
|
73
|
+
}
|
|
74
|
+
if (onCheckedChangeOriginal) {
|
|
75
|
+
onCheckedChangeOriginal(e, Object.keys(updatedChecked));
|
|
76
|
+
}
|
|
77
|
+
}, [isCheckedControlled, onCheckedChangeOriginal, setCheckedInternal, checked]);
|
|
78
|
+
// The close arrow key must be handled at this level so that close arrow is responsive when arrowing
|
|
79
|
+
// on a submenu trigger inside a submenu. Otherwise the arrowing event gets "swallowed up" by the trigger,
|
|
80
|
+
// because it is considered to be inside the submenu due to the Menu component wrapping both the
|
|
81
|
+
// trigger and popover. Listening to key events directly here to handle this case doesn't work
|
|
82
|
+
// since left and right arrow key events are already handled and swallowed by native behavior
|
|
83
|
+
var onArrowClose = React.useCallback(function (e) {
|
|
84
|
+
var _a;
|
|
85
|
+
if (!isSubmenu) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
setOpen(e, false /* isOpen */, false /* bubble */);
|
|
89
|
+
(_a = triggerRef === null || triggerRef === void 0 ? void 0 : triggerRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
|
90
|
+
}, [isSubmenu, setOpen, triggerRef]);
|
|
91
|
+
React.useEffect(function () {
|
|
92
|
+
return function cleanup() {
|
|
93
|
+
clearTimeout(context.triggerHoverOutTimer);
|
|
94
|
+
};
|
|
95
|
+
});
|
|
96
|
+
return {
|
|
97
|
+
props: __assign({}, context),
|
|
98
|
+
isCheckedControlled: isCheckedControlled,
|
|
99
|
+
checked: checked,
|
|
100
|
+
onArrowClose: onArrowClose,
|
|
101
|
+
onCheckedChange: onCheckedChange,
|
|
102
|
+
selectRadio: selectRadio,
|
|
103
|
+
addRadioItem: addRadioItem,
|
|
104
|
+
removeRadioItem: removeRadioItem,
|
|
105
|
+
hasMaxHeight: context.hasMaxHeight,
|
|
106
|
+
hasMaxWidth: context.hasMaxWidth,
|
|
107
|
+
};
|
|
108
|
+
};
|
|
109
|
+
//# sourceMappingURL=useMenuList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMenuList.js","sourceRoot":"","sources":["../../src/MenuList/useMenuList.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { MenuListState } from './MenuList.types';
|
|
2
|
+
import type { MenuListContextValue } from '../context/menuListContext';
|
|
3
|
+
export declare const useMenuListContextValue: (state: MenuListState) => MenuListContextValue;
|
|
4
|
+
//# sourceMappingURL=useMenuListContextValue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMenuListContextValue.d.ts","sourceRoot":"","sources":["../../src/MenuList/useMenuListContextValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,eAAO,MAAM,uBAAuB,UAAW,aAAa,KAAG,oBAE9D,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { __assign } from "tslib";
|
|
2
|
+
export var useMenuListContextValue = function (state) {
|
|
3
|
+
return __assign({ hasCheckmarks: state.props.hasCheckmarks, hasIcons: state.props.hasIcons, hasTooltips: state.props.hasTooltips }, state);
|
|
4
|
+
};
|
|
5
|
+
//# sourceMappingURL=useMenuListContextValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMenuListContextValue.js","sourceRoot":"","sources":["../../src/MenuList/useMenuListContextValue.ts"],"names":[],"mappings":";AAGA,MAAM,CAAC,IAAM,uBAAuB,GAAG,UAAC,KAAoB;IAC1D,kBAAS,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,IAAK,KAAK,EAAG;AACtI,CAAC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { MenuPopoverTokens } from './MenuPopover.types';
|
|
2
|
+
export declare const MenuPopover: import("@fluentui-react-native/use-tokens").CustomizableComponent<import("@fluentui-react-native/callout").ICalloutProps, MenuPopoverTokens, import("@fluentui-react-native/framework").Theme>;
|
|
3
|
+
export default MenuPopover;
|
|
4
|
+
//# sourceMappingURL=MenuPopover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuPopover.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAoB,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAM/E,eAAO,MAAM,WAAW,gMAwCvB,CAAC;AAGF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { __assign } from "tslib";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { Platform, View } from 'react-native';
|
|
4
|
+
import { Callout } from '@fluentui-react-native/callout';
|
|
5
|
+
import { compressible, mergeProps, patchTokens, useFluentTheme } from '@fluentui-react-native/framework';
|
|
6
|
+
import { menuPopoverName } from './MenuPopover.types';
|
|
7
|
+
import { useMenuPopoverTokens } from './MenuPopoverTokens';
|
|
8
|
+
import { useMenuPopover } from './useMenuPopover';
|
|
9
|
+
import { useMenuContext } from '../context';
|
|
10
|
+
export var MenuPopover = compressible(function (props, useTokens) {
|
|
11
|
+
var _a;
|
|
12
|
+
var directionalHint = props.directionalHint, gapSpace = props.gapSpace, maxHeight = props.maxHeight, maxWidth = props.maxWidth, minWidth = props.minWidth, minPadding = props.minPadding, borderWidth = props.borderWidth, borderColor = props.borderColor, backgroundColor = props.backgroundColor;
|
|
13
|
+
var state = useMenuPopover(props);
|
|
14
|
+
var theme = useFluentTheme();
|
|
15
|
+
var context = useMenuContext();
|
|
16
|
+
var _b = useTokens(theme), tokens = _b[0], cache = _b[1];
|
|
17
|
+
context.hasMaxHeight = maxHeight != undefined;
|
|
18
|
+
context.minWidth = minWidth !== null && minWidth !== void 0 ? minWidth : context.minWidth;
|
|
19
|
+
_a = patchTokens(tokens, cache, {
|
|
20
|
+
directionalHint: directionalHint,
|
|
21
|
+
gapSpace: gapSpace,
|
|
22
|
+
maxHeight: maxHeight,
|
|
23
|
+
maxWidth: maxWidth,
|
|
24
|
+
minWidth: minWidth,
|
|
25
|
+
minPadding: minPadding,
|
|
26
|
+
borderWidth: borderWidth,
|
|
27
|
+
borderColor: borderColor,
|
|
28
|
+
backgroundColor: backgroundColor,
|
|
29
|
+
}), tokens = _a[0], cache = _a[1];
|
|
30
|
+
return function (final, children) {
|
|
31
|
+
var mergedProps = mergeProps(tokens, state.props, final);
|
|
32
|
+
var innerViewProps =
|
|
33
|
+
//For windows platforms, styling needs to be set on container view instead of the callout itself for the scrollview to reflect correct width and height
|
|
34
|
+
Platform.OS === 'windows' || Platform.OS === 'win32'
|
|
35
|
+
? __assign(__assign({}, state.innerView), { style: {
|
|
36
|
+
maxHeight: mergedProps.maxHeight,
|
|
37
|
+
} }) : state.innerView;
|
|
38
|
+
var content = React.createElement(View, innerViewProps, children);
|
|
39
|
+
return React.createElement(Callout, __assign({}, mergedProps), content);
|
|
40
|
+
};
|
|
41
|
+
}, useMenuPopoverTokens);
|
|
42
|
+
MenuPopover.displayName = menuPopoverName;
|
|
43
|
+
export default MenuPopover;
|
|
44
|
+
//# sourceMappingURL=MenuPopover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuPopover.js","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAGzG,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,CAAC,IAAM,WAAW,GAAG,YAAY,CACrC,UAAC,KAAuB,EAAE,SAAuC;;IACvD,IAAA,eAAe,GAAqG,KAAK,gBAA1G,EAAE,QAAQ,GAA2F,KAAK,SAAhG,EAAE,SAAS,GAAgF,KAAK,UAArF,EAAE,QAAQ,GAAsE,KAAK,SAA3E,EAAE,QAAQ,GAA4D,KAAK,SAAjE,EAAE,UAAU,GAAgD,KAAK,WAArD,EAAE,WAAW,GAAmC,KAAK,YAAxC,EAAE,WAAW,GAAsB,KAAK,YAA3B,EAAE,eAAe,GAAK,KAAK,gBAAV,CAAW;IAClI,IAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACpC,IAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,IAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IAC7B,IAAA,KAAkB,SAAS,CAAC,KAAK,CAAC,EAAjC,MAAM,QAAA,EAAE,KAAK,QAAoB,CAAC;IAEvC,OAAO,CAAC,YAAY,GAAG,SAAS,IAAI,SAAS,CAAC;IAC9C,OAAO,CAAC,QAAQ,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,OAAO,CAAC,QAAQ,CAAC;IAEhD,KAAkB,WAAW,CAAC,MAAM,EAAE,KAAK,EAAE;QAC3C,eAAe,iBAAA;QACf,QAAQ,UAAA;QACR,SAAS,WAAA;QACT,QAAQ,UAAA;QACR,QAAQ,UAAA;QACR,UAAU,YAAA;QACV,WAAW,aAAA;QACX,WAAW,aAAA;QACX,eAAe,iBAAA;KAChB,CAAC,EAVD,MAAM,QAAA,EAAE,KAAK,QAAA,CAUX;IAEH,OAAO,UAAC,KAAuB,EAAE,QAAyB;QACxD,IAAM,WAAW,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC3D,IAAM,cAAc;QAClB,uJAAuJ;QACvJ,QAAQ,CAAC,EAAE,KAAK,SAAS,IAAI,QAAQ,CAAC,EAAE,KAAM,OAAe;YAC3D,CAAC,uBACM,KAAK,CAAC,SAAS,KAClB,KAAK,EAAE;oBACL,SAAS,EAAE,WAAW,CAAC,SAAS;iBACjC,IAEL,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;QACtB,IAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;QACpE,OAAO,oBAAC,OAAO,eAAK,WAAW,GAAG,OAAO,CAAW,CAAC;IACvD,CAAC,CAAC;AACJ,CAAC,EACD,oBAAoB,CACrB,CAAC;AACF,WAAW,CAAC,WAAW,GAAG,eAAe,CAAC;AAE1C,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IViewProps } from '@fluentui-react-native/adapters';
|
|
2
|
+
import type { ICalloutProps, ICalloutTokens } from '@fluentui-react-native/callout';
|
|
3
|
+
export declare const menuPopoverName = "MenuPopover";
|
|
4
|
+
export type MenuPopoverTokens = Omit<ICalloutTokens, 'anchorRect' | 'beakWidth' | 'dismissBehaviors'>;
|
|
5
|
+
export type MenuPopoverProps = ICalloutProps;
|
|
6
|
+
export interface MenuPopoverState {
|
|
7
|
+
props: ICalloutProps;
|
|
8
|
+
innerView: IViewProps;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=MenuPopover.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuPopover.types.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEpF,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAI7C,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,EAAE,YAAY,GAAG,WAAW,GAAG,kBAAkB,CAAC,CAAC;AAEtG,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,UAAU,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuPopover.types.js","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopover.types.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,IAAM,eAAe,GAAG,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuPopoverTokens.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopoverTokens.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,eAAO,MAAM,oBAAoB,yEAGhC,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { buildUseTokens } from '@fluentui-react-native/framework';
|
|
2
|
+
import { menuPopoverName } from './MenuPopover.types';
|
|
3
|
+
export var useMenuPopoverTokens = buildUseTokens(function (t) { return ({ borderWidth: 1, borderColor: t.colors.neutralStrokeAccessible }); }, menuPopoverName);
|
|
4
|
+
//# sourceMappingURL=MenuPopoverTokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuPopoverTokens.js","sourceRoot":"","sources":["../../src/MenuPopover/MenuPopoverTokens.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAGlE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,CAAC,IAAM,oBAAoB,GAAG,cAAc,CAChD,UAAC,CAAQ,IAAK,OAAA,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC,EAAnE,CAAmE,EACjF,eAAe,CAChB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { MenuPopover } from './MenuPopover';
|
|
2
|
+
export { menuPopoverName } from './MenuPopover.types';
|
|
3
|
+
export type { MenuPopoverProps, MenuPopoverState, MenuPopoverTokens } from './MenuPopover.types';
|
|
4
|
+
export { useMenuPopover } from './useMenuPopover';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/MenuPopover/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMenuPopover.d.ts","sourceRoot":"","sources":["../../src/MenuPopover/useMenuPopover.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAM9E,eAAO,MAAM,cAAc,UAAW,gBAAgB,KAAG,gBAyGxD,CAAC"}
|