@fluentui-react-native/menu 1.14.42 → 1.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +0 -21
- package/CHANGELOG.md +71 -1
- package/SPEC.md +8 -4
- package/lib/Menu/Menu.d.ts +1 -1
- package/lib/Menu/Menu.d.ts.map +1 -1
- package/lib/Menu/Menu.js +5 -5
- package/lib/Menu/Menu.js.map +1 -1
- package/lib/Menu/Menu.types.d.ts +0 -1
- package/lib/Menu/Menu.types.d.ts.map +1 -1
- package/lib/Menu/Menu.types.js +2 -1
- package/lib/Menu/Menu.types.js.map +1 -1
- package/lib/Menu/renderMenu.android.d.ts +1 -1
- package/lib/Menu/renderMenu.android.d.ts.map +1 -1
- package/lib/Menu/renderMenu.android.js +7 -7
- package/lib/Menu/renderMenu.android.js.map +1 -1
- package/lib/Menu/renderMenu.d.ts +1 -1
- package/lib/Menu/renderMenu.d.ts.map +1 -1
- package/lib/Menu/renderMenu.js +2 -4
- package/lib/Menu/renderMenu.js.map +1 -1
- package/lib/Menu/useMenu.android.d.ts.map +1 -1
- package/lib/Menu/useMenu.android.js +1 -2
- package/lib/Menu/useMenu.android.js.map +1 -1
- package/lib/Menu/useMenu.d.ts.map +1 -1
- package/lib/Menu/useMenu.js +1 -1
- package/lib/Menu/useMenu.js.map +1 -1
- package/lib/Menu/useMenuContextValue.d.ts.map +1 -1
- package/lib/Menu/useMenuContextValue.js.map +1 -1
- package/lib/MenuCallout/MenuCallout.android.d.ts +1 -1
- package/lib/MenuCallout/MenuCallout.android.d.ts.map +1 -1
- package/lib/MenuCallout/MenuCallout.android.js +10 -13
- package/lib/MenuCallout/MenuCallout.android.js.map +1 -1
- package/lib/MenuCallout/MenuCallout.d.ts +1 -1
- package/lib/MenuCallout/MenuCallout.d.ts.map +1 -1
- package/lib/MenuCallout/MenuCallout.js +8 -8
- package/lib/MenuCallout/MenuCallout.js.map +1 -1
- package/lib/MenuCallout/MenuCallout.types.d.ts +1 -1
- package/lib/MenuCallout/MenuCallout.types.d.ts.map +1 -1
- package/lib/MenuDivider/MenuDivider.d.ts +1 -1
- package/lib/MenuDivider/MenuDivider.d.ts.map +1 -1
- package/lib/MenuDivider/MenuDivider.js +4 -4
- package/lib/MenuDivider/MenuDivider.js.map +1 -1
- package/lib/MenuGroup/MenuGroup.d.ts +2 -1
- package/lib/MenuGroup/MenuGroup.d.ts.map +1 -1
- package/lib/MenuGroup/MenuGroup.js +12 -11
- package/lib/MenuGroup/MenuGroup.js.map +1 -1
- package/lib/MenuGroupHeader/MenuGroupHeader.d.ts +1 -1
- package/lib/MenuGroupHeader/MenuGroupHeader.d.ts.map +1 -1
- package/lib/MenuGroupHeader/MenuGroupHeader.js +3 -2
- package/lib/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
- package/lib/MenuGroupHeader/MenuGroupHeader.styling.js.map +1 -1
- package/lib/MenuItem/MenuItem.d.ts +2 -3
- package/lib/MenuItem/MenuItem.d.ts.map +1 -1
- package/lib/MenuItem/MenuItem.js +3 -8
- package/lib/MenuItem/MenuItem.js.map +1 -1
- package/lib/MenuItem/MenuItem.styling.js.map +1 -1
- package/lib/MenuItem/MenuItemTokens.macos.js +4 -4
- package/lib/MenuItem/MenuItemTokens.macos.js.map +1 -1
- package/lib/MenuItem/useMenuItem.d.ts.map +1 -1
- package/lib/MenuItem/useMenuItem.js.map +1 -1
- package/lib/MenuItemCheckbox/MenuItemCheckbox.d.ts +3 -6
- package/lib/MenuItemCheckbox/MenuItemCheckbox.d.ts.map +1 -1
- package/lib/MenuItemCheckbox/MenuItemCheckbox.js +4 -9
- package/lib/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
- package/lib/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +2 -2
- package/lib/MenuItemCheckbox/MenuItemCheckbox.types.d.ts.map +1 -1
- package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.macos.js +1 -1
- package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.macos.js.map +1 -1
- package/lib/MenuItemCheckbox/useMenuItemCheckbox.d.ts.map +1 -1
- package/lib/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
- package/lib/MenuItemRadio/MenuItemRadio.d.ts +3 -6
- package/lib/MenuItemRadio/MenuItemRadio.d.ts.map +1 -1
- package/lib/MenuItemRadio/MenuItemRadio.js +4 -9
- package/lib/MenuItemRadio/MenuItemRadio.js.map +1 -1
- package/lib/MenuItemRadio/MenuItemRadio.types.d.ts +2 -2
- package/lib/MenuItemRadio/MenuItemRadio.types.d.ts.map +1 -1
- package/lib/MenuItemRadio/MenuItemRadioTokens.macos.js +4 -4
- package/lib/MenuItemRadio/MenuItemRadioTokens.macos.js.map +1 -1
- package/lib/MenuItemRadio/useMenuItemRadio.d.ts.map +1 -1
- package/lib/MenuItemRadio/useMenuItemRadio.js +1 -1
- package/lib/MenuItemRadio/useMenuItemRadio.js.map +1 -1
- package/lib/MenuList/MenuList.d.ts +1 -1
- package/lib/MenuList/MenuList.d.ts.map +1 -1
- package/lib/MenuList/MenuList.js +12 -12
- package/lib/MenuList/MenuList.js.map +1 -1
- package/lib/MenuList/MenuList.types.d.ts +2 -2
- package/lib/MenuList/MenuList.types.d.ts.map +1 -1
- package/lib/MenuList/MenuListTokens.macos.js +1 -1
- package/lib/MenuList/MenuListTokens.macos.js.map +1 -1
- package/lib/MenuList/useMenuList.d.ts.map +1 -1
- package/lib/MenuList/useMenuList.js +1 -2
- package/lib/MenuList/useMenuList.js.map +1 -1
- package/lib/MenuList/useMenuListContextValue.d.ts.map +1 -1
- package/lib/MenuList/useMenuListContextValue.js.map +1 -1
- package/lib/MenuPopover/MenuPopover.d.ts +2 -4
- package/lib/MenuPopover/MenuPopover.d.ts.map +1 -1
- package/lib/MenuPopover/MenuPopover.js +2 -1
- package/lib/MenuPopover/MenuPopover.js.map +1 -1
- package/lib/MenuPopover/MenuPopover.types.d.ts +1 -1
- package/lib/MenuPopover/MenuPopover.types.d.ts.map +1 -1
- package/lib/MenuPopover/MenuPopoverTokens.android.d.ts +2 -4
- package/lib/MenuPopover/MenuPopoverTokens.android.d.ts.map +1 -1
- package/lib/MenuPopover/MenuPopoverTokens.android.js +2 -2
- package/lib/MenuPopover/MenuPopoverTokens.android.js.map +1 -1
- package/lib/MenuPopover/MenuPopoverTokens.d.ts +2 -4
- package/lib/MenuPopover/MenuPopoverTokens.d.ts.map +1 -1
- package/lib/MenuPopover/MenuPopoverTokens.macos.d.ts +2 -4
- package/lib/MenuPopover/MenuPopoverTokens.macos.d.ts.map +1 -1
- package/lib/MenuPopover/MenuPopoverTokens.macos.js.map +1 -1
- package/lib/MenuPopover/useMenuPopover.d.ts +2 -2
- package/lib/MenuPopover/useMenuPopover.d.ts.map +1 -1
- package/lib/MenuPopover/useMenuPopover.js +1 -2
- package/lib/MenuPopover/useMenuPopover.js.map +1 -1
- package/lib/MenuTrigger/MenuTrigger.d.ts +4 -1
- package/lib/MenuTrigger/MenuTrigger.d.ts.map +1 -1
- package/lib/MenuTrigger/MenuTrigger.js +6 -3
- package/lib/MenuTrigger/MenuTrigger.js.map +1 -1
- package/lib/MenuTrigger/MenuTrigger.types.d.ts +3 -2
- package/lib/MenuTrigger/MenuTrigger.types.d.ts.map +1 -1
- package/lib/MenuTrigger/MenuTrigger.types.js.map +1 -1
- package/lib/MenuTrigger/useMenuTrigger.d.ts.map +1 -1
- package/lib/MenuTrigger/useMenuTrigger.js +2 -2
- package/lib/MenuTrigger/useMenuTrigger.js.map +1 -1
- package/lib/MenuTrigger/useMergeRefs.d.ts.map +1 -1
- package/lib/MenuTrigger/useMergeRefs.js +1 -3
- package/lib/MenuTrigger/useMergeRefs.js.map +1 -1
- package/lib/__tests__/Menu.test.js +104 -104
- package/lib/__tests__/Menu.test.js.map +1 -1
- package/lib/context/menuContext.d.ts +0 -1
- package/lib/context/menuContext.d.ts.map +1 -1
- package/lib-commonjs/Menu/Menu.d.ts +1 -1
- package/lib-commonjs/Menu/Menu.d.ts.map +1 -1
- package/lib-commonjs/Menu/Menu.js +5 -5
- package/lib-commonjs/Menu/Menu.js.map +1 -1
- package/lib-commonjs/Menu/Menu.types.d.ts +0 -1
- package/lib-commonjs/Menu/Menu.types.d.ts.map +1 -1
- package/lib-commonjs/Menu/Menu.types.js +1 -1
- package/lib-commonjs/Menu/Menu.types.js.map +1 -1
- package/lib-commonjs/Menu/index.js +4 -4
- package/lib-commonjs/Menu/index.js.map +1 -1
- package/lib-commonjs/Menu/renderMenu.android.d.ts +1 -1
- package/lib-commonjs/Menu/renderMenu.android.d.ts.map +1 -1
- package/lib-commonjs/Menu/renderMenu.android.js +7 -10
- package/lib-commonjs/Menu/renderMenu.android.js.map +1 -1
- package/lib-commonjs/Menu/renderMenu.d.ts +1 -1
- package/lib-commonjs/Menu/renderMenu.d.ts.map +1 -1
- package/lib-commonjs/Menu/renderMenu.js +2 -7
- package/lib-commonjs/Menu/renderMenu.js.map +1 -1
- package/lib-commonjs/Menu/useMenu.android.d.ts.map +1 -1
- package/lib-commonjs/Menu/useMenu.android.js +18 -9
- package/lib-commonjs/Menu/useMenu.android.js.map +1 -1
- package/lib-commonjs/Menu/useMenu.d.ts.map +1 -1
- package/lib-commonjs/Menu/useMenu.js +1 -1
- package/lib-commonjs/Menu/useMenu.js.map +1 -1
- package/lib-commonjs/Menu/useMenuContextValue.d.ts.map +1 -1
- package/lib-commonjs/Menu/useMenuContextValue.js.map +1 -1
- package/lib-commonjs/MenuCallout/MenuCallout.android.d.ts +1 -1
- package/lib-commonjs/MenuCallout/MenuCallout.android.d.ts.map +1 -1
- package/lib-commonjs/MenuCallout/MenuCallout.android.js +10 -16
- package/lib-commonjs/MenuCallout/MenuCallout.android.js.map +1 -1
- package/lib-commonjs/MenuCallout/MenuCallout.d.ts +1 -1
- package/lib-commonjs/MenuCallout/MenuCallout.d.ts.map +1 -1
- package/lib-commonjs/MenuCallout/MenuCallout.js +8 -11
- package/lib-commonjs/MenuCallout/MenuCallout.js.map +1 -1
- package/lib-commonjs/MenuCallout/MenuCallout.types.d.ts +1 -1
- package/lib-commonjs/MenuCallout/MenuCallout.types.d.ts.map +1 -1
- package/lib-commonjs/MenuCallout/index.js +2 -2
- package/lib-commonjs/MenuCallout/index.js.map +1 -1
- package/lib-commonjs/MenuDivider/MenuDivider.d.ts.map +1 -1
- package/lib-commonjs/MenuDivider/MenuDivider.js +3 -3
- package/lib-commonjs/MenuDivider/MenuDivider.js.map +1 -1
- package/lib-commonjs/MenuDivider/MenuDividerTokens.android.js.map +1 -1
- package/lib-commonjs/MenuDivider/MenuDividerTokens.js.map +1 -1
- package/lib-commonjs/MenuDivider/MenuDividerTokens.macos.js.map +1 -1
- package/lib-commonjs/MenuDivider/MenuDividerTokens.win32.js.map +1 -1
- package/lib-commonjs/MenuDivider/index.js +2 -2
- package/lib-commonjs/MenuDivider/index.js.map +1 -1
- package/lib-commonjs/MenuGroup/MenuGroup.d.ts +2 -1
- package/lib-commonjs/MenuGroup/MenuGroup.d.ts.map +1 -1
- package/lib-commonjs/MenuGroup/MenuGroup.js +11 -10
- package/lib-commonjs/MenuGroup/MenuGroup.js.map +1 -1
- package/lib-commonjs/MenuGroup/index.js +2 -2
- package/lib-commonjs/MenuGroup/index.js.map +1 -1
- package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.d.ts.map +1 -1
- package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.js +2 -1
- package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.js.map +1 -1
- package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.styling.js.map +1 -1
- package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.js.map +1 -1
- package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.macos.js.map +1 -1
- package/lib-commonjs/MenuGroupHeader/index.js +2 -2
- package/lib-commonjs/MenuGroupHeader/index.js.map +1 -1
- package/lib-commonjs/MenuItem/MenuItem.d.ts +1 -2
- package/lib-commonjs/MenuItem/MenuItem.d.ts.map +1 -1
- package/lib-commonjs/MenuItem/MenuItem.js +2 -7
- package/lib-commonjs/MenuItem/MenuItem.js.map +1 -1
- package/lib-commonjs/MenuItem/MenuItem.styling.js.map +1 -1
- package/lib-commonjs/MenuItem/MenuItemTokens.android.js.map +1 -1
- package/lib-commonjs/MenuItem/MenuItemTokens.js.map +1 -1
- package/lib-commonjs/MenuItem/MenuItemTokens.macos.js +4 -4
- package/lib-commonjs/MenuItem/MenuItemTokens.macos.js.map +1 -1
- package/lib-commonjs/MenuItem/MenuItemTokens.win32.js.map +1 -1
- package/lib-commonjs/MenuItem/index.js +3 -3
- package/lib-commonjs/MenuItem/index.js.map +1 -1
- package/lib-commonjs/MenuItem/useMenuItem.d.ts.map +1 -1
- package/lib-commonjs/MenuItem/useMenuItem.js +17 -7
- package/lib-commonjs/MenuItem/useMenuItem.js.map +1 -1
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.d.ts +2 -5
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.d.ts.map +1 -1
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.js +3 -8
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -1
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.styling.js.map +1 -1
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +2 -2
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.d.ts.map +1 -1
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.android.js.map +1 -1
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.js.map +1 -1
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.macos.js +1 -1
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.macos.js.map +1 -1
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.win32.js.map +1 -1
- package/lib-commonjs/MenuItemCheckbox/index.js +3 -3
- package/lib-commonjs/MenuItemCheckbox/index.js.map +1 -1
- package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.d.ts.map +1 -1
- package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.js +17 -7
- package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -1
- package/lib-commonjs/MenuItemRadio/MenuItemRadio.d.ts +2 -5
- package/lib-commonjs/MenuItemRadio/MenuItemRadio.d.ts.map +1 -1
- package/lib-commonjs/MenuItemRadio/MenuItemRadio.js +3 -8
- package/lib-commonjs/MenuItemRadio/MenuItemRadio.js.map +1 -1
- package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.android.js.map +1 -1
- package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.js.map +1 -1
- package/lib-commonjs/MenuItemRadio/MenuItemRadio.types.d.ts +2 -2
- package/lib-commonjs/MenuItemRadio/MenuItemRadio.types.d.ts.map +1 -1
- package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.android.js.map +1 -1
- package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.js.map +1 -1
- package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.macos.js +4 -4
- package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.macos.js.map +1 -1
- package/lib-commonjs/MenuItemRadio/index.js +3 -3
- package/lib-commonjs/MenuItemRadio/index.js.map +1 -1
- package/lib-commonjs/MenuItemRadio/useMenuItemRadio.d.ts.map +1 -1
- package/lib-commonjs/MenuItemRadio/useMenuItemRadio.js +18 -8
- package/lib-commonjs/MenuItemRadio/useMenuItemRadio.js.map +1 -1
- package/lib-commonjs/MenuList/MenuList.d.ts.map +1 -1
- package/lib-commonjs/MenuList/MenuList.js +11 -11
- package/lib-commonjs/MenuList/MenuList.js.map +1 -1
- package/lib-commonjs/MenuList/MenuList.styling.js.map +1 -1
- package/lib-commonjs/MenuList/MenuList.types.d.ts +2 -2
- package/lib-commonjs/MenuList/MenuList.types.d.ts.map +1 -1
- package/lib-commonjs/MenuList/MenuListTokens.android.js.map +1 -1
- package/lib-commonjs/MenuList/MenuListTokens.js.map +1 -1
- package/lib-commonjs/MenuList/MenuListTokens.macos.js +1 -1
- package/lib-commonjs/MenuList/MenuListTokens.macos.js.map +1 -1
- package/lib-commonjs/MenuList/MenuListTokens.win32.js.map +1 -1
- package/lib-commonjs/MenuList/index.js +4 -4
- package/lib-commonjs/MenuList/index.js.map +1 -1
- package/lib-commonjs/MenuList/useMenuList.d.ts.map +1 -1
- package/lib-commonjs/MenuList/useMenuList.js +1 -2
- package/lib-commonjs/MenuList/useMenuList.js.map +1 -1
- package/lib-commonjs/MenuList/useMenuListContextValue.d.ts.map +1 -1
- package/lib-commonjs/MenuList/useMenuListContextValue.js.map +1 -1
- package/lib-commonjs/MenuPopover/MenuPopover.d.ts +2 -4
- package/lib-commonjs/MenuPopover/MenuPopover.d.ts.map +1 -1
- package/lib-commonjs/MenuPopover/MenuPopover.js +2 -1
- package/lib-commonjs/MenuPopover/MenuPopover.js.map +1 -1
- package/lib-commonjs/MenuPopover/MenuPopover.types.d.ts +1 -1
- package/lib-commonjs/MenuPopover/MenuPopover.types.d.ts.map +1 -1
- package/lib-commonjs/MenuPopover/MenuPopoverTokens.android.d.ts +2 -4
- package/lib-commonjs/MenuPopover/MenuPopoverTokens.android.d.ts.map +1 -1
- package/lib-commonjs/MenuPopover/MenuPopoverTokens.android.js +2 -2
- package/lib-commonjs/MenuPopover/MenuPopoverTokens.android.js.map +1 -1
- package/lib-commonjs/MenuPopover/MenuPopoverTokens.d.ts +2 -4
- package/lib-commonjs/MenuPopover/MenuPopoverTokens.d.ts.map +1 -1
- package/lib-commonjs/MenuPopover/MenuPopoverTokens.macos.d.ts +2 -4
- package/lib-commonjs/MenuPopover/MenuPopoverTokens.macos.d.ts.map +1 -1
- package/lib-commonjs/MenuPopover/MenuPopoverTokens.macos.js.map +1 -1
- package/lib-commonjs/MenuPopover/index.js +3 -3
- package/lib-commonjs/MenuPopover/index.js.map +1 -1
- package/lib-commonjs/MenuPopover/useMenuPopover.d.ts +2 -2
- package/lib-commonjs/MenuPopover/useMenuPopover.d.ts.map +1 -1
- package/lib-commonjs/MenuPopover/useMenuPopover.js +1 -2
- package/lib-commonjs/MenuPopover/useMenuPopover.js.map +1 -1
- package/lib-commonjs/MenuTrigger/MenuTrigger.d.ts +4 -1
- package/lib-commonjs/MenuTrigger/MenuTrigger.d.ts.map +1 -1
- package/lib-commonjs/MenuTrigger/MenuTrigger.js +23 -10
- package/lib-commonjs/MenuTrigger/MenuTrigger.js.map +1 -1
- package/lib-commonjs/MenuTrigger/MenuTrigger.types.d.ts +3 -2
- package/lib-commonjs/MenuTrigger/MenuTrigger.types.d.ts.map +1 -1
- package/lib-commonjs/MenuTrigger/MenuTrigger.types.js.map +1 -1
- package/lib-commonjs/MenuTrigger/index.js +3 -3
- package/lib-commonjs/MenuTrigger/index.js.map +1 -1
- package/lib-commonjs/MenuTrigger/useMenuTrigger.d.ts.map +1 -1
- package/lib-commonjs/MenuTrigger/useMenuTrigger.js +2 -2
- package/lib-commonjs/MenuTrigger/useMenuTrigger.js.map +1 -1
- package/lib-commonjs/MenuTrigger/useMergeRefs.d.ts.map +1 -1
- package/lib-commonjs/MenuTrigger/useMergeRefs.js +19 -12
- package/lib-commonjs/MenuTrigger/useMergeRefs.js.map +1 -1
- package/lib-commonjs/__tests__/Menu.test.js +121 -111
- package/lib-commonjs/__tests__/Menu.test.js.map +1 -1
- package/lib-commonjs/context/index.js +3 -3
- package/lib-commonjs/context/index.js.map +1 -1
- package/lib-commonjs/context/menuContext.d.ts +0 -1
- package/lib-commonjs/context/menuContext.d.ts.map +1 -1
- package/lib-commonjs/context/menuContext.js +17 -7
- package/lib-commonjs/context/menuContext.js.map +1 -1
- package/lib-commonjs/context/menuListContext.js +17 -7
- package/lib-commonjs/context/menuListContext.js.map +1 -1
- package/lib-commonjs/context/menuTriggerContext.js.map +1 -1
- package/lib-commonjs/index.js +12 -12
- package/lib-commonjs/index.js.map +1 -1
- package/package.json +75 -72
- package/src/Menu/Menu.tsx +5 -5
- package/src/Menu/useMenu.android.ts +2 -2
- package/src/Menu/useMenu.ts +2 -1
- package/src/MenuCallout/MenuCallout.android.tsx +8 -9
- package/src/MenuCallout/MenuCallout.tsx +6 -8
- package/src/MenuCallout/MenuCallout.types.ts +12 -13
- package/src/MenuDivider/MenuDivider.tsx +2 -3
- package/src/MenuGroup/MenuGroup.tsx +9 -7
- package/src/MenuGroupHeader/MenuGroupHeader.tsx +2 -3
- package/src/MenuItem/MenuItem.tsx +2 -3
- package/src/MenuItemCheckbox/MenuItemCheckbox.tsx +5 -6
- package/src/MenuItemCheckbox/MenuItemCheckbox.types.ts +6 -4
- package/src/MenuItemRadio/MenuItemRadio.tsx +5 -6
- package/src/MenuItemRadio/MenuItemRadio.types.ts +6 -4
- package/src/MenuItemRadio/useMenuItemRadio.ts +1 -1
- package/src/MenuList/MenuList.tsx +8 -6
- package/src/MenuList/MenuList.types.ts +2 -2
- package/src/MenuList/useMenuList.ts +3 -3
- package/src/MenuPopover/MenuPopover.types.ts +12 -13
- package/src/MenuPopover/MenuPopoverTokens.macos.ts +2 -2
- package/src/MenuPopover/useMenuPopover.ts +1 -2
- package/src/MenuTrigger/MenuTrigger.tsx +5 -2
- package/src/MenuTrigger/MenuTrigger.types.ts +3 -2
- package/src/MenuTrigger/useMenuTrigger.ts +6 -8
- package/src/MenuTrigger/useMergeRefs.ts +0 -1
- package/src/__tests__/Menu.test.tsx +81 -42
- package/src/__tests__/__snapshots__/Menu.test.tsx.snap +106 -0
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
/** @
|
|
2
|
-
/** @jsx withSlots */
|
|
1
|
+
/** @jsxImportSource @fluentui-react-native/framework-base */
|
|
3
2
|
import React from 'react';
|
|
4
3
|
import { Image, Platform, Pressable, View } from 'react-native';
|
|
5
4
|
|
|
6
|
-
import type { Slots, UseSlots } from '@fluentui-react-native/framework';
|
|
7
|
-
import { compose, mergeProps
|
|
5
|
+
import type { Slots, UseSlots, FinalRender } from '@fluentui-react-native/framework';
|
|
6
|
+
import { compose, mergeProps } from '@fluentui-react-native/framework';
|
|
8
7
|
import { IconV1 as Icon } from '@fluentui-react-native/icon';
|
|
9
8
|
import { TextV1 as Text } from '@fluentui-react-native/text';
|
|
10
9
|
import { SvgXml } from 'react-native-svg';
|
|
@@ -43,8 +42,8 @@ export const MenuItemCheckbox = compose<MenuItemCheckboxType>({
|
|
|
43
42
|
export const menuItemFinalRender = (
|
|
44
43
|
menuItem: MenuItemCheckboxInfo,
|
|
45
44
|
Slots: Slots<MenuItemCheckboxSlotProps>,
|
|
46
|
-
):
|
|
47
|
-
return (final: MenuItemCheckboxProps, children: React.ReactNode) => {
|
|
45
|
+
): FinalRender<MenuItemCheckboxProps> => {
|
|
46
|
+
return (final: MenuItemCheckboxProps, ...children: React.ReactNode[]) => {
|
|
48
47
|
const { accessibilityLabel, icon, tooltip, ...mergedProps } = mergeProps(menuItem.props, final);
|
|
49
48
|
|
|
50
49
|
const checkmarkXml = `
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type * as React from 'react';
|
|
2
|
-
import type { ColorValue, ImageProps } from 'react-native';
|
|
2
|
+
import type { ColorValue, ImageProps, AnimatableNumericValue } from 'react-native';
|
|
3
3
|
|
|
4
4
|
import type { IViewProps } from '@fluentui-react-native/adapters';
|
|
5
5
|
import type { IconPropsV1 as IconProps } from '@fluentui-react-native/icon';
|
|
@@ -11,8 +11,10 @@ import type { MenuItemProps, MenuItemTokens } from '../MenuItem/MenuItem.types';
|
|
|
11
11
|
|
|
12
12
|
export const menuItemCheckboxName = 'MenuItemCheckbox';
|
|
13
13
|
|
|
14
|
-
export interface MenuItemCheckboxTokens
|
|
15
|
-
|
|
14
|
+
export interface MenuItemCheckboxTokens extends Omit<
|
|
15
|
+
MenuItemTokens,
|
|
16
|
+
'submenuIndicatorPadding' | 'submenuIndicatorSize' | 'disabled' | 'focused' | 'hovered' | 'pressed'
|
|
17
|
+
> {
|
|
16
18
|
/**
|
|
17
19
|
* Color of the checkmark icon
|
|
18
20
|
*/
|
|
@@ -54,7 +56,7 @@ export interface MenuItemCheckboxTokens
|
|
|
54
56
|
* Border radius of the box containing the checkmark.
|
|
55
57
|
* @platform android
|
|
56
58
|
*/
|
|
57
|
-
checkboxBorderRadius?:
|
|
59
|
+
checkboxBorderRadius?: AnimatableNumericValue | string;
|
|
58
60
|
|
|
59
61
|
/**
|
|
60
62
|
* Width of the border around the box containing the checkmark.
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
/** @
|
|
2
|
-
/** @jsx withSlots */
|
|
1
|
+
/** @jsxImportSource @fluentui-react-native/framework-base */
|
|
3
2
|
import React from 'react';
|
|
4
3
|
import { Image, Platform, Pressable, View } from 'react-native';
|
|
5
4
|
|
|
6
|
-
import type { Slots, UseSlots } from '@fluentui-react-native/framework';
|
|
7
|
-
import { compose, mergeProps
|
|
5
|
+
import type { Slots, UseSlots, FinalRender } from '@fluentui-react-native/framework';
|
|
6
|
+
import { compose, mergeProps } from '@fluentui-react-native/framework';
|
|
8
7
|
import { IconV1 as Icon } from '@fluentui-react-native/icon';
|
|
9
8
|
import { TextV1 as Text } from '@fluentui-react-native/text';
|
|
10
9
|
import { SvgXml } from 'react-native-svg';
|
|
@@ -39,8 +38,8 @@ export const MenuItemRadio = compose<MenuItemRadioType>({
|
|
|
39
38
|
export const menuItemRadioFinalRender = (
|
|
40
39
|
menuItem: MenuItemRadioInfo,
|
|
41
40
|
Slots: Slots<MenuItemRadioSlotProps>,
|
|
42
|
-
):
|
|
43
|
-
return (final: MenuItemRadioProps, children: React.ReactNode) => {
|
|
41
|
+
): FinalRender<MenuItemRadioProps> => {
|
|
42
|
+
return (final: MenuItemRadioProps, ...children: React.ReactNode[]) => {
|
|
44
43
|
const { accessibilityLabel, icon, tooltip, ...mergedProps } = mergeProps(menuItem.props, final);
|
|
45
44
|
|
|
46
45
|
const checkmarkXml = `
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type * as React from 'react';
|
|
2
|
-
import type { ColorValue, ImageProps, ViewStyle } from 'react-native';
|
|
2
|
+
import type { ColorValue, ImageProps, ViewStyle, AnimatableNumericValue } from 'react-native';
|
|
3
3
|
|
|
4
4
|
import type { IViewProps } from '@fluentui-react-native/adapters';
|
|
5
5
|
import type { IconPropsV1 as IconProps } from '@fluentui-react-native/icon';
|
|
@@ -11,8 +11,10 @@ import type { MenuItemProps, MenuItemTokens } from '../MenuItem/MenuItem.types';
|
|
|
11
11
|
|
|
12
12
|
export const menuItemRadioName = 'MenuItemRadio';
|
|
13
13
|
|
|
14
|
-
export interface MenuItemRadioTokens
|
|
15
|
-
|
|
14
|
+
export interface MenuItemRadioTokens extends Omit<
|
|
15
|
+
MenuItemTokens,
|
|
16
|
+
'submenuIndicatorPadding' | 'submenuIndicatorSize' | 'disabled' | 'focused' | 'hovered' | 'pressed'
|
|
17
|
+
> {
|
|
16
18
|
/**
|
|
17
19
|
* Color of the checkmark icon
|
|
18
20
|
*/
|
|
@@ -62,7 +64,7 @@ export interface MenuItemRadioTokens
|
|
|
62
64
|
* Border radius of the box containing the radio.
|
|
63
65
|
* @platform android
|
|
64
66
|
*/
|
|
65
|
-
radioBorderRadius?:
|
|
67
|
+
radioBorderRadius?: AnimatableNumericValue | string;
|
|
66
68
|
|
|
67
69
|
/**
|
|
68
70
|
* Height and width of the box containing the radio.
|
|
@@ -35,7 +35,7 @@ export const useMenuItemRadio = (props: MenuItemRadioProps): MenuItemRadioInfo =
|
|
|
35
35
|
return () => {
|
|
36
36
|
listContext.removeRadioItem(name);
|
|
37
37
|
};
|
|
38
|
-
}, []);
|
|
38
|
+
}, []);
|
|
39
39
|
|
|
40
40
|
return useMenuCheckboxInteraction(props, toggleChecked);
|
|
41
41
|
};
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
/** @
|
|
2
|
-
/** @jsx withSlots */
|
|
1
|
+
/** @jsxImportSource @fluentui-react-native/framework-base */
|
|
3
2
|
import React from 'react';
|
|
4
3
|
import { Platform, ScrollView, View } from 'react-native';
|
|
5
4
|
|
|
5
|
+
import type { IViewProps } from '@fluentui-react-native/adapters';
|
|
6
6
|
import { FocusZone } from '@fluentui-react-native/focus-zone';
|
|
7
7
|
import type { UseSlots } from '@fluentui-react-native/framework';
|
|
8
|
-
import { compose
|
|
8
|
+
import { compose } from '@fluentui-react-native/framework';
|
|
9
|
+
import { extractProps } from '@fluentui-react-native/framework-base';
|
|
9
10
|
|
|
10
11
|
import { stylingSettings } from './MenuList.styling';
|
|
11
12
|
import type { MenuListProps, MenuListState, MenuListType } from './MenuList.types';
|
|
@@ -47,12 +48,13 @@ export const MenuList = compose<MenuListType>({
|
|
|
47
48
|
itemPosition++;
|
|
48
49
|
}
|
|
49
50
|
|
|
51
|
+
const childProps = extractProps<IViewProps>(child);
|
|
50
52
|
return React.cloneElement(
|
|
51
53
|
child as React.ReactElement<unknown, string | React.JSXElementConstructor<any>>,
|
|
52
54
|
{
|
|
53
|
-
|
|
54
|
-
accessibilitySetSize:
|
|
55
|
-
...(
|
|
55
|
+
accessibilityPosInSet: childProps?.accessibilityPosInSet ?? itemPosition, // win32
|
|
56
|
+
accessibilitySetSize: childProps?.accessibilitySetSize ?? itemCount, //win32
|
|
57
|
+
...(childProps?.tooltip && { alwaysShowToolTip: true }),
|
|
56
58
|
} as any,
|
|
57
59
|
);
|
|
58
60
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import type { ScrollViewProps, View } from 'react-native';
|
|
2
|
+
import type { ScrollViewProps, View, AnimatableNumericValue } from 'react-native';
|
|
3
3
|
|
|
4
4
|
import type { IViewProps } from '@fluentui-react-native/adapters';
|
|
5
5
|
import type { FocusZoneProps } from '@fluentui-react-native/focus-zone';
|
|
@@ -23,7 +23,7 @@ export interface MenuListTokens extends LayoutTokens, IBackgroundColorTokens {
|
|
|
23
23
|
* Border radius of the menu list
|
|
24
24
|
* @platform android macos
|
|
25
25
|
*/
|
|
26
|
-
borderRadius?:
|
|
26
|
+
borderRadius?: AnimatableNumericValue | string;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
export interface MenuListProps extends Omit<IViewProps, 'onPress'> {
|
|
@@ -3,6 +3,7 @@ import { Platform } from 'react-native';
|
|
|
3
3
|
import type { View } from 'react-native';
|
|
4
4
|
|
|
5
5
|
import type { InteractionEvent } from '@fluentui-react-native/interactive-hooks';
|
|
6
|
+
import type { NativeKeyEvent } from '@fluentui-react-native/adapters';
|
|
6
7
|
|
|
7
8
|
import type { MenuListProps, MenuListState, TrackedMenuItem } from './MenuList.types';
|
|
8
9
|
import { useMenuContext } from '../context/menuContext';
|
|
@@ -137,7 +138,7 @@ export const useMenuList = (_props: MenuListProps): MenuListState => {
|
|
|
137
138
|
[trackedMenuItems],
|
|
138
139
|
);
|
|
139
140
|
|
|
140
|
-
const onListKeyDown = (e:
|
|
141
|
+
const onListKeyDown = (e: NativeKeyEvent) => {
|
|
141
142
|
const key = e.nativeEvent.key;
|
|
142
143
|
if (handledKeys.includes(key)) {
|
|
143
144
|
// For iOS and macOS, 'Home' and 'End' must set focus on the first and last enabled item.
|
|
@@ -164,7 +165,7 @@ export const useMenuList = (_props: MenuListProps): MenuListState => {
|
|
|
164
165
|
});
|
|
165
166
|
|
|
166
167
|
// focus management
|
|
167
|
-
const focusZoneRef = React.useRef<View>();
|
|
168
|
+
const focusZoneRef = React.useRef<View>(null);
|
|
168
169
|
const setFocusZoneFocus = () => {
|
|
169
170
|
focusZoneRef?.current?.focus();
|
|
170
171
|
};
|
|
@@ -209,6 +210,5 @@ export const useMenuItemTracking = (ref: React.RefObject<View>, disabled: boolea
|
|
|
209
210
|
React.useEffect(() => {
|
|
210
211
|
trackMenuItem(item);
|
|
211
212
|
return () => untrackMenuItem(item);
|
|
212
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
213
213
|
}, []);
|
|
214
214
|
};
|
|
@@ -7,20 +7,19 @@ export const menuPopoverName = 'MenuPopover';
|
|
|
7
7
|
|
|
8
8
|
// Support for anchorRect and beakWidth will come at a later time.
|
|
9
9
|
// Omitting dismissBehaviors as it doesn't seem to make sense as a token
|
|
10
|
-
export type MenuPopoverTokens =
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
borderRadius?: AnimatableNumericValue;
|
|
10
|
+
export type MenuPopoverTokens = Omit<ICalloutTokens, 'anchorRect' | 'beakWidth' | 'dismissBehaviors'> & {
|
|
11
|
+
/**
|
|
12
|
+
* The props for the corner radius for the Modal MenuPopover
|
|
13
|
+
* @platform android macos
|
|
14
|
+
*/
|
|
15
|
+
borderRadius?: AnimatableNumericValue | string;
|
|
17
16
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Shadown elevation for the Modal MenuPopover
|
|
19
|
+
* @platform android
|
|
20
|
+
*/
|
|
21
|
+
elevation?: number;
|
|
22
|
+
};
|
|
24
23
|
|
|
25
24
|
export type MenuPopoverProps = ICalloutProps;
|
|
26
25
|
|
|
@@ -12,8 +12,8 @@ export const useMenuPopoverTokens = buildUseTokens<MenuPopoverTokens>(
|
|
|
12
12
|
borderColor: isHighContrast()
|
|
13
13
|
? t.colors.neutralStroke1
|
|
14
14
|
: getCurrentAppearance(t.host.appearance, 'light') === 'dark'
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
? t.colors.neutralStroke3
|
|
16
|
+
: t.colors.transparentStroke,
|
|
17
17
|
}),
|
|
18
18
|
menuPopoverName,
|
|
19
19
|
);
|
|
@@ -28,8 +28,7 @@ export const useMenuPopover = (props: MenuPopoverProps): MenuPopoverState => {
|
|
|
28
28
|
|
|
29
29
|
const onDismiss = React.useCallback(() => {
|
|
30
30
|
props.onDismiss?.();
|
|
31
|
-
setOpen(undefined, false /* isOpen */), [setOpen];
|
|
32
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
31
|
+
(setOpen(undefined, false /* isOpen */), [setOpen]);
|
|
33
32
|
}, [props.onDismiss, setOpen]);
|
|
34
33
|
const dismissBehaviors = isControlled ? controlledDismissBehaviors : undefined;
|
|
35
34
|
const directionalHint = props.directionalHint ?? getDirectionalHint(isSubmenu, I18nManager.isRTL);
|
|
@@ -4,6 +4,8 @@ import type { MenuTriggerProps } from './MenuTrigger.types';
|
|
|
4
4
|
import { menuTriggerName } from './MenuTrigger.types';
|
|
5
5
|
import { useMenuTrigger } from './useMenuTrigger';
|
|
6
6
|
import { MenuTriggerProvider } from '../context/menuTriggerContext';
|
|
7
|
+
import type { IViewProps } from '@fluentui-react-native/adapters';
|
|
8
|
+
import { extractProps } from '@fluentui-react-native/framework-base';
|
|
7
9
|
|
|
8
10
|
export const MenuTrigger: React.FunctionComponent<MenuTriggerProps> = (props: MenuTriggerProps) => {
|
|
9
11
|
if (__DEV__) {
|
|
@@ -12,13 +14,14 @@ export const MenuTrigger: React.FunctionComponent<MenuTriggerProps> = (props: Me
|
|
|
12
14
|
}
|
|
13
15
|
}
|
|
14
16
|
|
|
15
|
-
const
|
|
17
|
+
const childrenProps = extractProps<IViewProps>(props.children);
|
|
18
|
+
const menuTrigger = useMenuTrigger(childrenProps);
|
|
16
19
|
|
|
17
20
|
// In order to properly support accessibility without erasing props set on the
|
|
18
21
|
// child component which may affect accessibility, we need to modify the
|
|
19
22
|
// state in the inner render so we can access the child component and its props.
|
|
20
23
|
const revised = React.cloneElement(props.children, {
|
|
21
|
-
...(
|
|
24
|
+
...(childrenProps?.tooltip && { alwaysShowToolTip: true }),
|
|
22
25
|
...menuTrigger.props,
|
|
23
26
|
});
|
|
24
27
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type * as React from 'react';
|
|
2
2
|
|
|
3
|
-
import type {
|
|
3
|
+
import type { MouseEvent } from 'react-native';
|
|
4
|
+
import type { PressablePropsExtended } from '@fluentui-react-native/interactive-hooks';
|
|
4
5
|
|
|
5
6
|
export const menuTriggerName = 'MenuTrigger';
|
|
6
7
|
|
|
@@ -24,7 +25,7 @@ export interface MenuTriggerChildProps extends Omit<PressablePropsExtended, 'onP
|
|
|
24
25
|
/**
|
|
25
26
|
* A callback to call on button click event
|
|
26
27
|
*/
|
|
27
|
-
onClick?: (e:
|
|
28
|
+
onClick?: (e: MouseEvent) => void;
|
|
28
29
|
}
|
|
29
30
|
|
|
30
31
|
export interface MenuTriggerState {
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { AccessibilityActionEvent, AccessibilityActionName } from 'react-native';
|
|
2
|
+
import type { AccessibilityActionEvent, AccessibilityActionName, MouseEvent } from 'react-native';
|
|
3
3
|
import { Platform } from 'react-native';
|
|
4
4
|
|
|
5
|
-
import type { InteractionEvent } from '@fluentui-react-native/interactive-hooks';
|
|
6
|
-
|
|
7
5
|
import type { MenuTriggerChildProps, MenuTriggerState } from './MenuTrigger.types';
|
|
8
6
|
import { useMergedRefs } from './useMergeRefs';
|
|
9
7
|
import { hoverDelayDefault } from '../consts';
|
|
@@ -31,7 +29,7 @@ export const useMenuTrigger = (childProps: MenuTriggerChildProps): MenuTriggerSt
|
|
|
31
29
|
accessibilityActions: childAccessibilityActions,
|
|
32
30
|
accessibilityState: childAccessibilityState,
|
|
33
31
|
onAccessibilityAction: childOnAccessibilityAction,
|
|
34
|
-
|
|
32
|
+
accessibilityPosInSet: childaccessibilityPosInSet, // win32
|
|
35
33
|
accessibilitySetSize: childAccessibilitySetSize, // win32
|
|
36
34
|
onClick: childOnClick,
|
|
37
35
|
onHoverIn: childOnHoverIn,
|
|
@@ -76,7 +74,7 @@ export const useMenuTrigger = (childProps: MenuTriggerChildProps): MenuTriggerSt
|
|
|
76
74
|
);
|
|
77
75
|
|
|
78
76
|
const onHoverIn = React.useCallback(
|
|
79
|
-
(e:
|
|
77
|
+
(e: MouseEvent) => {
|
|
80
78
|
if (openOnHover) {
|
|
81
79
|
clearTimeout(popoverHoverOutTimer);
|
|
82
80
|
clearTimeout(triggerHoverOutTimer);
|
|
@@ -92,7 +90,7 @@ export const useMenuTrigger = (childProps: MenuTriggerChildProps): MenuTriggerSt
|
|
|
92
90
|
);
|
|
93
91
|
|
|
94
92
|
const onHoverOut = React.useCallback(
|
|
95
|
-
(e:
|
|
93
|
+
(e: MouseEvent) => {
|
|
96
94
|
if (openOnHover) {
|
|
97
95
|
e.persist();
|
|
98
96
|
const timer = setTimeout(() => {
|
|
@@ -107,7 +105,7 @@ export const useMenuTrigger = (childProps: MenuTriggerChildProps): MenuTriggerSt
|
|
|
107
105
|
);
|
|
108
106
|
|
|
109
107
|
const onClick = React.useCallback(
|
|
110
|
-
(e:
|
|
108
|
+
(e: MouseEvent) => {
|
|
111
109
|
setOpen(e, !open);
|
|
112
110
|
childOnClick && childOnClick(e);
|
|
113
111
|
},
|
|
@@ -125,7 +123,7 @@ export const useMenuTrigger = (childProps: MenuTriggerChildProps): MenuTriggerSt
|
|
|
125
123
|
accessibilityState,
|
|
126
124
|
accessibilityActions,
|
|
127
125
|
onAccessibilityAction,
|
|
128
|
-
|
|
126
|
+
accessibilityPosInSet: childaccessibilityPosInSet ?? context.accessibilityPosInSet, // win32
|
|
129
127
|
accessibilitySetSize: childAccessibilitySetSize ?? context.accessibilitySetSize, // win32
|
|
130
128
|
},
|
|
131
129
|
hasSubmenu: context.isSubmenu,
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
|
-
|
|
3
1
|
import { ButtonV1 as Button } from '@fluentui-react-native/button';
|
|
4
2
|
import * as renderer from 'react-test-renderer';
|
|
3
|
+
import { act } from 'react';
|
|
5
4
|
|
|
6
5
|
import { Menu } from '../Menu/Menu';
|
|
7
6
|
import { MenuDivider } from '../MenuDivider/MenuDivider';
|
|
@@ -16,8 +15,9 @@ import MenuTrigger from '../MenuTrigger/MenuTrigger';
|
|
|
16
15
|
|
|
17
16
|
describe('Menu component tests', () => {
|
|
18
17
|
it('Menu default', () => {
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
let component: renderer.ReactTestRenderer;
|
|
19
|
+
act(() => {
|
|
20
|
+
component = renderer.create(
|
|
21
21
|
<Menu>
|
|
22
22
|
<MenuTrigger>
|
|
23
23
|
<Button>Default</Button>
|
|
@@ -28,14 +28,16 @@ describe('Menu component tests', () => {
|
|
|
28
28
|
</MenuList>
|
|
29
29
|
</MenuPopover>
|
|
30
30
|
</Menu>,
|
|
31
|
-
)
|
|
32
|
-
|
|
31
|
+
);
|
|
32
|
+
});
|
|
33
|
+
const tree = component!.toJSON();
|
|
33
34
|
expect(tree).toMatchSnapshot();
|
|
34
35
|
});
|
|
35
36
|
|
|
36
37
|
it('Menu open', () => {
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
let component: renderer.ReactTestRenderer;
|
|
39
|
+
act(() => {
|
|
40
|
+
component = renderer.create(
|
|
39
41
|
<Menu open>
|
|
40
42
|
<MenuTrigger>
|
|
41
43
|
<Button>Open</Button>
|
|
@@ -46,14 +48,36 @@ describe('Menu component tests', () => {
|
|
|
46
48
|
</MenuList>
|
|
47
49
|
</MenuPopover>
|
|
48
50
|
</Menu>,
|
|
49
|
-
)
|
|
50
|
-
|
|
51
|
+
);
|
|
52
|
+
});
|
|
53
|
+
const tree = component!.toJSON();
|
|
51
54
|
expect(tree).toMatchSnapshot();
|
|
52
55
|
});
|
|
53
56
|
|
|
54
57
|
it('Menu defaultOpen', () => {
|
|
55
|
-
|
|
56
|
-
|
|
58
|
+
let component: renderer.ReactTestRenderer;
|
|
59
|
+
act(() => {
|
|
60
|
+
component = renderer.create(
|
|
61
|
+
<Menu defaultOpen>
|
|
62
|
+
<MenuTrigger>
|
|
63
|
+
<Button>Open</Button>
|
|
64
|
+
</MenuTrigger>
|
|
65
|
+
<MenuPopover>
|
|
66
|
+
<MenuList>
|
|
67
|
+
<MenuItem>Option 1</MenuItem>
|
|
68
|
+
</MenuList>
|
|
69
|
+
</MenuPopover>
|
|
70
|
+
</Menu>,
|
|
71
|
+
);
|
|
72
|
+
});
|
|
73
|
+
const tree = component!.toJSON();
|
|
74
|
+
expect(tree).toMatchSnapshot();
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
it('Menu defaultOpen with disabled', () => {
|
|
78
|
+
let component: renderer.ReactTestRenderer;
|
|
79
|
+
act(() => {
|
|
80
|
+
component = renderer.create(
|
|
57
81
|
<Menu defaultOpen>
|
|
58
82
|
<MenuTrigger>
|
|
59
83
|
<Button>Open</Button>
|
|
@@ -65,14 +89,16 @@ describe('Menu component tests', () => {
|
|
|
65
89
|
</MenuList>
|
|
66
90
|
</MenuPopover>
|
|
67
91
|
</Menu>,
|
|
68
|
-
)
|
|
69
|
-
|
|
92
|
+
);
|
|
93
|
+
});
|
|
94
|
+
const tree = component!.toJSON();
|
|
70
95
|
expect(tree).toMatchSnapshot();
|
|
71
96
|
});
|
|
72
97
|
|
|
73
98
|
it('Menu open checkbox and divider', () => {
|
|
74
|
-
|
|
75
|
-
|
|
99
|
+
let component: renderer.ReactTestRenderer;
|
|
100
|
+
act(() => {
|
|
101
|
+
component = renderer.create(
|
|
76
102
|
<Menu open>
|
|
77
103
|
<MenuTrigger>
|
|
78
104
|
<Button>Open</Button>
|
|
@@ -87,14 +113,16 @@ describe('Menu component tests', () => {
|
|
|
87
113
|
</MenuList>
|
|
88
114
|
</MenuPopover>
|
|
89
115
|
</Menu>,
|
|
90
|
-
)
|
|
91
|
-
|
|
116
|
+
);
|
|
117
|
+
});
|
|
118
|
+
const tree = component!.toJSON();
|
|
92
119
|
expect(tree).toMatchSnapshot();
|
|
93
120
|
});
|
|
94
121
|
|
|
95
122
|
it('Menu open radio', () => {
|
|
96
|
-
|
|
97
|
-
|
|
123
|
+
let component: renderer.ReactTestRenderer;
|
|
124
|
+
act(() => {
|
|
125
|
+
component = renderer.create(
|
|
98
126
|
<Menu open>
|
|
99
127
|
<MenuTrigger>
|
|
100
128
|
<Button>Open</Button>
|
|
@@ -106,14 +134,16 @@ describe('Menu component tests', () => {
|
|
|
106
134
|
</MenuList>
|
|
107
135
|
</MenuPopover>
|
|
108
136
|
</Menu>,
|
|
109
|
-
)
|
|
110
|
-
|
|
137
|
+
);
|
|
138
|
+
});
|
|
139
|
+
const tree = component!.toJSON();
|
|
111
140
|
expect(tree).toMatchSnapshot();
|
|
112
141
|
});
|
|
113
142
|
|
|
114
143
|
it('Menu open checkbox defaultChecked', () => {
|
|
115
|
-
|
|
116
|
-
|
|
144
|
+
let component: renderer.ReactTestRenderer;
|
|
145
|
+
act(() => {
|
|
146
|
+
component = renderer.create(
|
|
117
147
|
<Menu open defaultChecked={['Option 1']}>
|
|
118
148
|
<MenuTrigger>
|
|
119
149
|
<Button>Open</Button>
|
|
@@ -126,14 +156,16 @@ describe('Menu component tests', () => {
|
|
|
126
156
|
</MenuList>
|
|
127
157
|
</MenuPopover>
|
|
128
158
|
</Menu>,
|
|
129
|
-
)
|
|
130
|
-
|
|
159
|
+
);
|
|
160
|
+
});
|
|
161
|
+
const tree = component!.toJSON();
|
|
131
162
|
expect(tree).toMatchSnapshot();
|
|
132
163
|
});
|
|
133
164
|
|
|
134
165
|
it('Menu open checkbox checked', () => {
|
|
135
|
-
|
|
136
|
-
|
|
166
|
+
let component: renderer.ReactTestRenderer;
|
|
167
|
+
act(() => {
|
|
168
|
+
component = renderer.create(
|
|
137
169
|
<Menu open checked={['Option 1']}>
|
|
138
170
|
<MenuTrigger>
|
|
139
171
|
<Button>Open</Button>
|
|
@@ -146,14 +178,16 @@ describe('Menu component tests', () => {
|
|
|
146
178
|
</MenuList>
|
|
147
179
|
</MenuPopover>
|
|
148
180
|
</Menu>,
|
|
149
|
-
)
|
|
150
|
-
|
|
181
|
+
);
|
|
182
|
+
});
|
|
183
|
+
const tree = component!.toJSON();
|
|
151
184
|
expect(tree).toMatchSnapshot();
|
|
152
185
|
});
|
|
153
186
|
|
|
154
187
|
it('Menu submenu', () => {
|
|
155
|
-
|
|
156
|
-
|
|
188
|
+
let component: renderer.ReactTestRenderer;
|
|
189
|
+
act(() => {
|
|
190
|
+
component = renderer.create(
|
|
157
191
|
<Menu open>
|
|
158
192
|
<MenuTrigger>
|
|
159
193
|
<Button>Default</Button>
|
|
@@ -174,16 +208,18 @@ describe('Menu component tests', () => {
|
|
|
174
208
|
</MenuList>
|
|
175
209
|
</MenuPopover>
|
|
176
210
|
</Menu>,
|
|
177
|
-
)
|
|
178
|
-
|
|
211
|
+
);
|
|
212
|
+
});
|
|
213
|
+
const tree = component!.toJSON();
|
|
179
214
|
expect(tree).toMatchSnapshot();
|
|
180
215
|
});
|
|
181
216
|
|
|
182
217
|
// Note the capital T the "Tip" (in the snapshot)
|
|
183
218
|
// It is intentional as it matches the same prop in NetUI
|
|
184
219
|
it('Menu alwaysShowToolTip', () => {
|
|
185
|
-
|
|
186
|
-
|
|
220
|
+
let component: renderer.ReactTestRenderer;
|
|
221
|
+
act(() => {
|
|
222
|
+
component = renderer.create(
|
|
187
223
|
<Menu>
|
|
188
224
|
<MenuTrigger>
|
|
189
225
|
<Button tooltip="A Tooltip">Button</Button>
|
|
@@ -201,15 +237,17 @@ describe('Menu component tests', () => {
|
|
|
201
237
|
</MenuList>
|
|
202
238
|
</MenuPopover>
|
|
203
239
|
</Menu>,
|
|
204
|
-
)
|
|
205
|
-
|
|
240
|
+
);
|
|
241
|
+
});
|
|
242
|
+
const tree = component!.toJSON();
|
|
206
243
|
expect(tree).toMatchSnapshot();
|
|
207
244
|
});
|
|
208
245
|
});
|
|
209
246
|
|
|
210
247
|
it('Menu open menu group and menu header', () => {
|
|
211
|
-
|
|
212
|
-
|
|
248
|
+
let component: renderer.ReactTestRenderer;
|
|
249
|
+
act(() => {
|
|
250
|
+
component = renderer.create(
|
|
213
251
|
<Menu open>
|
|
214
252
|
<MenuTrigger>
|
|
215
253
|
<Button>Open</Button>
|
|
@@ -228,7 +266,8 @@ it('Menu open menu group and menu header', () => {
|
|
|
228
266
|
</MenuList>
|
|
229
267
|
</MenuPopover>
|
|
230
268
|
</Menu>,
|
|
231
|
-
)
|
|
232
|
-
|
|
269
|
+
);
|
|
270
|
+
});
|
|
271
|
+
const tree = component!.toJSON();
|
|
233
272
|
expect(tree).toMatchSnapshot();
|
|
234
273
|
});
|