@fluentui-react-native/menu 1.15.0 → 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.md +22 -0
- package/SPEC.md +8 -4
- package/lib/Menu/Menu.d.ts +2 -2
- package/lib/Menu/Menu.js +12 -12
- package/lib/Menu/Menu.types.d.ts +47 -47
- package/lib/Menu/Menu.types.js +4 -4
- package/lib/Menu/index.d.ts +1 -1
- package/lib/Menu/index.js +1 -1
- package/lib/Menu/renderMenu.android.d.ts +2 -6
- package/lib/Menu/renderMenu.android.js +10 -17
- package/lib/Menu/renderMenu.d.ts +2 -6
- package/lib/Menu/renderMenu.js +5 -8
- package/lib/Menu/useMenu.android.d.ts +1 -1
- package/lib/Menu/useMenu.android.js +245 -251
- package/lib/Menu/useMenu.d.ts +1 -1
- package/lib/Menu/useMenu.js +70 -75
- package/lib/Menu/useMenuContextValue.d.ts +1 -1
- package/lib/Menu/useMenuContextValue.js +4 -4
- package/lib/MenuCallout/MenuCallout.android.d.ts +2 -2
- package/lib/MenuCallout/MenuCallout.android.js +19 -39
- package/lib/MenuCallout/MenuCallout.d.ts +2 -2
- package/lib/MenuCallout/MenuCallout.js +7 -7
- package/lib/MenuCallout/MenuCallout.types.d.ts +13 -13
- package/lib/MenuCallout/MenuCallout.types.d.ts.map +1 -1
- package/lib/MenuCallout/MenuCallout.types.js +1 -1
- package/lib/MenuCallout/index.d.ts +1 -1
- package/lib/MenuCallout/index.js +1 -1
- package/lib/MenuDivider/MenuDivider.d.ts +2 -7
- package/lib/MenuDivider/MenuDivider.js +13 -13
- package/lib/MenuDivider/MenuDivider.styling.d.ts +1 -1
- package/lib/MenuDivider/MenuDivider.styling.js +16 -19
- package/lib/MenuDivider/MenuDivider.types.d.ts +12 -12
- package/lib/MenuDivider/MenuDivider.types.js +1 -1
- package/lib/MenuDivider/MenuDividerTokens.android.d.ts +1 -1
- package/lib/MenuDivider/MenuDividerTokens.android.js +4 -4
- package/lib/MenuDivider/MenuDividerTokens.d.ts +1 -1
- package/lib/MenuDivider/MenuDividerTokens.js +4 -4
- package/lib/MenuDivider/MenuDividerTokens.macos.d.ts +1 -1
- package/lib/MenuDivider/MenuDividerTokens.macos.js +4 -4
- package/lib/MenuDivider/MenuDividerTokens.win32.d.ts +1 -1
- package/lib/MenuDivider/MenuDividerTokens.win32.js +4 -4
- package/lib/MenuDivider/index.d.ts +1 -1
- package/lib/MenuDivider/index.js +1 -1
- package/lib/MenuGroup/MenuGroup.d.ts +2 -7
- package/lib/MenuGroup/MenuGroup.js +51 -63
- package/lib/MenuGroup/MenuGroup.types.d.ts +7 -7
- package/lib/MenuGroup/MenuGroup.types.js +1 -1
- package/lib/MenuGroup/index.d.ts +1 -1
- package/lib/MenuGroup/index.js +1 -1
- package/lib/MenuGroupHeader/MenuGroupHeader.d.ts +2 -7
- package/lib/MenuGroupHeader/MenuGroupHeader.js +14 -14
- package/lib/MenuGroupHeader/MenuGroupHeader.styling.d.ts +1 -1
- package/lib/MenuGroupHeader/MenuGroupHeader.styling.js +13 -16
- package/lib/MenuGroupHeader/MenuGroupHeader.types.d.ts +7 -7
- package/lib/MenuGroupHeader/MenuGroupHeader.types.js +1 -1
- package/lib/MenuGroupHeader/MenuGroupHeaderTokens.d.ts +1 -1
- package/lib/MenuGroupHeader/MenuGroupHeaderTokens.js +7 -7
- package/lib/MenuGroupHeader/MenuGroupHeaderTokens.macos.d.ts +1 -1
- package/lib/MenuGroupHeader/MenuGroupHeaderTokens.macos.js +8 -8
- package/lib/MenuGroupHeader/index.d.ts +1 -1
- package/lib/MenuGroupHeader/index.js +1 -1
- package/lib/MenuItem/MenuItem.d.ts +2 -7
- package/lib/MenuItem/MenuItem.js +41 -63
- package/lib/MenuItem/MenuItem.styling.d.ts +1 -1
- package/lib/MenuItem/MenuItem.styling.js +52 -70
- package/lib/MenuItem/MenuItem.types.d.ts +83 -83
- package/lib/MenuItem/MenuItem.types.js +1 -1
- package/lib/MenuItem/MenuItemTokens.android.d.ts +1 -1
- package/lib/MenuItem/MenuItemTokens.android.js +17 -17
- package/lib/MenuItem/MenuItemTokens.d.ts +1 -1
- package/lib/MenuItem/MenuItemTokens.js +35 -35
- package/lib/MenuItem/MenuItemTokens.macos.d.ts +1 -1
- package/lib/MenuItem/MenuItemTokens.macos.js +34 -34
- package/lib/MenuItem/MenuItemTokens.win32.d.ts +1 -1
- package/lib/MenuItem/MenuItemTokens.win32.js +36 -36
- package/lib/MenuItem/index.d.ts +1 -1
- package/lib/MenuItem/index.js +1 -1
- package/lib/MenuItem/useMenuItem.d.ts +1 -1
- package/lib/MenuItem/useMenuItem.js +101 -111
- package/lib/MenuItemCheckbox/MenuItemCheckbox.d.ts +3 -11
- package/lib/MenuItemCheckbox/MenuItemCheckbox.js +26 -54
- package/lib/MenuItemCheckbox/MenuItemCheckbox.styling.d.ts +1 -1
- package/lib/MenuItemCheckbox/MenuItemCheckbox.styling.js +62 -81
- package/lib/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +89 -90
- package/lib/MenuItemCheckbox/MenuItemCheckbox.types.d.ts.map +1 -1
- package/lib/MenuItemCheckbox/MenuItemCheckbox.types.js +1 -1
- package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.android.d.ts +1 -1
- package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.android.js +35 -35
- package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.d.ts +1 -1
- package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.js +44 -44
- package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.macos.d.ts +1 -1
- package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.macos.js +42 -42
- package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.win32.d.ts +1 -1
- package/lib/MenuItemCheckbox/MenuItemCheckboxTokens.win32.js +45 -45
- package/lib/MenuItemCheckbox/index.d.ts +2 -8
- package/lib/MenuItemCheckbox/index.js +1 -1
- package/lib/MenuItemCheckbox/useMenuItemCheckbox.d.ts +2 -5
- package/lib/MenuItemCheckbox/useMenuItemCheckbox.js +104 -129
- package/lib/MenuItemRadio/MenuItemRadio.d.ts +3 -11
- package/lib/MenuItemRadio/MenuItemRadio.js +26 -54
- package/lib/MenuItemRadio/MenuItemRadio.styling.android.d.ts +1 -1
- package/lib/MenuItemRadio/MenuItemRadio.styling.android.js +60 -78
- package/lib/MenuItemRadio/MenuItemRadio.styling.d.ts +1 -1
- package/lib/MenuItemRadio/MenuItemRadio.styling.js +44 -59
- package/lib/MenuItemRadio/MenuItemRadio.types.d.ts +120 -121
- package/lib/MenuItemRadio/MenuItemRadio.types.d.ts.map +1 -1
- package/lib/MenuItemRadio/MenuItemRadio.types.js +1 -1
- package/lib/MenuItemRadio/MenuItemRadioTokens.android.d.ts +1 -1
- package/lib/MenuItemRadio/MenuItemRadioTokens.android.js +38 -38
- package/lib/MenuItemRadio/MenuItemRadioTokens.d.ts +1 -1
- package/lib/MenuItemRadio/MenuItemRadioTokens.js +45 -45
- package/lib/MenuItemRadio/MenuItemRadioTokens.macos.d.ts +1 -1
- package/lib/MenuItemRadio/MenuItemRadioTokens.macos.js +43 -43
- package/lib/MenuItemRadio/index.d.ts +2 -8
- package/lib/MenuItemRadio/index.js +1 -1
- package/lib/MenuItemRadio/useMenuItemRadio.d.ts +1 -1
- package/lib/MenuItemRadio/useMenuItemRadio.js +23 -26
- package/lib/MenuList/MenuList.d.ts +2 -7
- package/lib/MenuList/MenuList.js +54 -70
- package/lib/MenuList/MenuList.styling.d.ts +1 -1
- package/lib/MenuList/MenuList.styling.js +21 -27
- package/lib/MenuList/MenuList.types.d.ts +72 -72
- package/lib/MenuList/MenuList.types.js +1 -1
- package/lib/MenuList/MenuListTokens.android.d.ts +1 -1
- package/lib/MenuList/MenuListTokens.android.js +4 -4
- package/lib/MenuList/MenuListTokens.d.ts +1 -1
- package/lib/MenuList/MenuListTokens.js +6 -6
- package/lib/MenuList/MenuListTokens.macos.d.ts +1 -1
- package/lib/MenuList/MenuListTokens.macos.js +4 -4
- package/lib/MenuList/MenuListTokens.win32.d.ts +1 -1
- package/lib/MenuList/MenuListTokens.win32.js +9 -9
- package/lib/MenuList/index.d.ts +1 -1
- package/lib/MenuList/index.js +1 -1
- package/lib/MenuList/useMenuList.d.ts +1 -1
- package/lib/MenuList/useMenuList.js +142 -159
- package/lib/MenuList/useMenuListContextValue.d.ts +1 -1
- package/lib/MenuList/useMenuListContextValue.js +2 -2
- package/lib/MenuPopover/MenuPopover.d.ts +3 -9
- package/lib/MenuPopover/MenuPopover.d.ts.map +1 -1
- package/lib/MenuPopover/MenuPopover.js +35 -35
- package/lib/MenuPopover/MenuPopover.types.d.ts +14 -14
- package/lib/MenuPopover/MenuPopover.types.d.ts.map +1 -1
- package/lib/MenuPopover/MenuPopover.types.js +1 -1
- package/lib/MenuPopover/MenuPopoverTokens.android.d.ts +3 -7
- package/lib/MenuPopover/MenuPopoverTokens.android.d.ts.map +1 -1
- package/lib/MenuPopover/MenuPopoverTokens.android.js +3 -6
- package/lib/MenuPopover/MenuPopoverTokens.d.ts +3 -7
- package/lib/MenuPopover/MenuPopoverTokens.d.ts.map +1 -1
- package/lib/MenuPopover/MenuPopoverTokens.js +2 -5
- package/lib/MenuPopover/MenuPopoverTokens.macos.d.ts +3 -7
- package/lib/MenuPopover/MenuPopoverTokens.macos.d.ts.map +1 -1
- package/lib/MenuPopover/MenuPopoverTokens.macos.js +7 -10
- package/lib/MenuPopover/MenuPopoverTokens.macos.js.map +1 -1
- package/lib/MenuPopover/index.d.ts +1 -1
- package/lib/MenuPopover/index.js +1 -1
- package/lib/MenuPopover/useMenuPopover.d.ts +2 -2
- package/lib/MenuPopover/useMenuPopover.js +79 -96
- package/lib/MenuPopover/useMenuPopover.js.map +1 -1
- package/lib/MenuTrigger/MenuTrigger.d.ts +3 -3
- package/lib/MenuTrigger/MenuTrigger.js +16 -16
- package/lib/MenuTrigger/MenuTrigger.types.d.ts +13 -13
- package/lib/MenuTrigger/MenuTrigger.types.js +1 -1
- package/lib/MenuTrigger/index.d.ts +1 -1
- package/lib/MenuTrigger/index.js +1 -1
- package/lib/MenuTrigger/useMenuTrigger.d.ts +1 -1
- package/lib/MenuTrigger/useMenuTrigger.js +70 -99
- package/lib/MenuTrigger/useMergeRefs.d.ts +1 -1
- package/lib/MenuTrigger/useMergeRefs.js +14 -16
- package/lib/__tests__/Menu.test.d.ts +1 -1
- package/lib/__tests__/Menu.test.js +122 -230
- package/lib/consts.d.ts +1 -1
- package/lib/consts.js +3 -3
- package/lib/context/index.d.ts +1 -1
- package/lib/context/index.js +1 -1
- package/lib/context/menuContext.d.ts +5 -5
- package/lib/context/menuContext.js +15 -15
- package/lib/context/menuListContext.d.ts +4 -4
- package/lib/context/menuListContext.js +12 -12
- package/lib/context/menuTriggerContext.d.ts +1 -1
- package/lib/context/menuTriggerContext.js +1 -1
- package/lib/index.d.ts +4 -26
- package/lib/index.js +2 -12
- package/lib-commonjs/Menu/Menu.d.ts +2 -2
- package/lib-commonjs/Menu/Menu.js +23 -25
- package/lib-commonjs/Menu/Menu.types.d.ts +47 -47
- package/lib-commonjs/Menu/Menu.types.js +6 -6
- package/lib-commonjs/Menu/index.d.ts +1 -1
- package/lib-commonjs/Menu/index.js +11 -31
- package/lib-commonjs/Menu/renderMenu.android.d.ts +2 -6
- package/lib-commonjs/Menu/renderMenu.android.js +14 -26
- package/lib-commonjs/Menu/renderMenu.d.ts +2 -6
- package/lib-commonjs/Menu/renderMenu.js +8 -11
- package/lib-commonjs/Menu/useMenu.android.d.ts +1 -1
- package/lib-commonjs/Menu/useMenu.android.js +280 -303
- package/lib-commonjs/Menu/useMenu.d.ts +1 -1
- package/lib-commonjs/Menu/useMenu.js +79 -86
- package/lib-commonjs/Menu/useMenuContextValue.d.ts +1 -1
- package/lib-commonjs/Menu/useMenuContextValue.js +10 -12
- package/lib-commonjs/MenuCallout/MenuCallout.android.d.ts +2 -2
- package/lib-commonjs/MenuCallout/MenuCallout.android.js +25 -48
- package/lib-commonjs/MenuCallout/MenuCallout.d.ts +2 -2
- package/lib-commonjs/MenuCallout/MenuCallout.js +12 -12
- package/lib-commonjs/MenuCallout/MenuCallout.types.d.ts +13 -13
- package/lib-commonjs/MenuCallout/MenuCallout.types.d.ts.map +1 -1
- package/lib-commonjs/MenuCallout/MenuCallout.types.js +3 -3
- package/lib-commonjs/MenuCallout/index.d.ts +1 -1
- package/lib-commonjs/MenuCallout/index.js +7 -17
- package/lib-commonjs/MenuDivider/MenuDivider.d.ts +2 -7
- package/lib-commonjs/MenuDivider/MenuDivider.js +19 -19
- package/lib-commonjs/MenuDivider/MenuDivider.styling.d.ts +1 -1
- package/lib-commonjs/MenuDivider/MenuDivider.styling.js +22 -25
- package/lib-commonjs/MenuDivider/MenuDivider.types.d.ts +12 -12
- package/lib-commonjs/MenuDivider/MenuDivider.types.js +3 -3
- package/lib-commonjs/MenuDivider/MenuDividerTokens.android.d.ts +1 -1
- package/lib-commonjs/MenuDivider/MenuDividerTokens.android.js +7 -7
- package/lib-commonjs/MenuDivider/MenuDividerTokens.d.ts +1 -1
- package/lib-commonjs/MenuDivider/MenuDividerTokens.js +7 -7
- package/lib-commonjs/MenuDivider/MenuDividerTokens.macos.d.ts +1 -1
- package/lib-commonjs/MenuDivider/MenuDividerTokens.macos.js +7 -7
- package/lib-commonjs/MenuDivider/MenuDividerTokens.win32.d.ts +1 -1
- package/lib-commonjs/MenuDivider/MenuDividerTokens.win32.js +7 -7
- package/lib-commonjs/MenuDivider/index.d.ts +1 -1
- package/lib-commonjs/MenuDivider/index.js +7 -17
- package/lib-commonjs/MenuGroup/MenuGroup.d.ts +2 -7
- package/lib-commonjs/MenuGroup/MenuGroup.js +62 -78
- package/lib-commonjs/MenuGroup/MenuGroup.types.d.ts +7 -7
- package/lib-commonjs/MenuGroup/MenuGroup.types.js +3 -3
- package/lib-commonjs/MenuGroup/index.d.ts +1 -1
- package/lib-commonjs/MenuGroup/index.js +7 -17
- package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.d.ts +2 -7
- package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.js +20 -20
- package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.styling.d.ts +1 -1
- package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.styling.js +19 -22
- package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.types.d.ts +7 -7
- package/lib-commonjs/MenuGroupHeader/MenuGroupHeader.types.js +3 -3
- package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.d.ts +1 -1
- package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.js +10 -10
- package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.macos.d.ts +1 -1
- package/lib-commonjs/MenuGroupHeader/MenuGroupHeaderTokens.macos.js +11 -11
- package/lib-commonjs/MenuGroupHeader/index.d.ts +1 -1
- package/lib-commonjs/MenuGroupHeader/index.js +7 -17
- package/lib-commonjs/MenuItem/MenuItem.d.ts +2 -7
- package/lib-commonjs/MenuItem/MenuItem.js +51 -73
- package/lib-commonjs/MenuItem/MenuItem.styling.d.ts +1 -1
- package/lib-commonjs/MenuItem/MenuItem.styling.js +59 -80
- package/lib-commonjs/MenuItem/MenuItem.types.d.ts +83 -83
- package/lib-commonjs/MenuItem/MenuItem.types.js +3 -3
- package/lib-commonjs/MenuItem/MenuItemTokens.android.d.ts +1 -1
- package/lib-commonjs/MenuItem/MenuItemTokens.android.js +20 -20
- package/lib-commonjs/MenuItem/MenuItemTokens.d.ts +1 -1
- package/lib-commonjs/MenuItem/MenuItemTokens.js +38 -38
- package/lib-commonjs/MenuItem/MenuItemTokens.macos.d.ts +1 -1
- package/lib-commonjs/MenuItem/MenuItemTokens.macos.js +37 -37
- package/lib-commonjs/MenuItem/MenuItemTokens.win32.d.ts +1 -1
- package/lib-commonjs/MenuItem/MenuItemTokens.win32.js +39 -39
- package/lib-commonjs/MenuItem/index.d.ts +1 -1
- package/lib-commonjs/MenuItem/index.js +9 -24
- package/lib-commonjs/MenuItem/useMenuItem.d.ts +1 -1
- package/lib-commonjs/MenuItem/useMenuItem.js +140 -169
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.d.ts +3 -11
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.js +37 -65
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.styling.d.ts +1 -1
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.styling.js +69 -91
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.d.ts +89 -90
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.d.ts.map +1 -1
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckbox.types.js +3 -3
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.android.d.ts +1 -1
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.android.js +38 -38
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.d.ts +1 -1
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.js +47 -47
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.macos.d.ts +1 -1
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.macos.js +45 -45
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.win32.d.ts +1 -1
- package/lib-commonjs/MenuItemCheckbox/MenuItemCheckboxTokens.win32.js +48 -48
- package/lib-commonjs/MenuItemCheckbox/index.d.ts +2 -8
- package/lib-commonjs/MenuItemCheckbox/index.js +10 -30
- package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.d.ts +2 -5
- package/lib-commonjs/MenuItemCheckbox/useMenuItemCheckbox.js +143 -185
- package/lib-commonjs/MenuItemRadio/MenuItemRadio.d.ts +3 -11
- package/lib-commonjs/MenuItemRadio/MenuItemRadio.js +37 -65
- package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.android.d.ts +1 -1
- package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.android.js +67 -88
- package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.d.ts +1 -1
- package/lib-commonjs/MenuItemRadio/MenuItemRadio.styling.js +51 -69
- package/lib-commonjs/MenuItemRadio/MenuItemRadio.types.d.ts +120 -121
- package/lib-commonjs/MenuItemRadio/MenuItemRadio.types.d.ts.map +1 -1
- package/lib-commonjs/MenuItemRadio/MenuItemRadio.types.js +3 -3
- package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.android.d.ts +1 -1
- package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.android.js +41 -41
- package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.d.ts +1 -1
- package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.js +48 -48
- package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.macos.d.ts +1 -1
- package/lib-commonjs/MenuItemRadio/MenuItemRadioTokens.macos.js +46 -46
- package/lib-commonjs/MenuItemRadio/index.d.ts +2 -8
- package/lib-commonjs/MenuItemRadio/index.js +9 -24
- package/lib-commonjs/MenuItemRadio/useMenuItemRadio.d.ts +1 -1
- package/lib-commonjs/MenuItemRadio/useMenuItemRadio.js +58 -78
- package/lib-commonjs/MenuList/MenuList.d.ts +2 -7
- package/lib-commonjs/MenuList/MenuList.js +69 -87
- package/lib-commonjs/MenuList/MenuList.styling.d.ts +1 -1
- package/lib-commonjs/MenuList/MenuList.styling.js +28 -34
- package/lib-commonjs/MenuList/MenuList.types.d.ts +72 -72
- package/lib-commonjs/MenuList/MenuList.types.js +3 -3
- package/lib-commonjs/MenuList/MenuListTokens.android.d.ts +1 -1
- package/lib-commonjs/MenuList/MenuListTokens.android.js +7 -7
- package/lib-commonjs/MenuList/MenuListTokens.d.ts +1 -1
- package/lib-commonjs/MenuList/MenuListTokens.js +9 -9
- package/lib-commonjs/MenuList/MenuListTokens.macos.d.ts +1 -1
- package/lib-commonjs/MenuList/MenuListTokens.macos.js +7 -7
- package/lib-commonjs/MenuList/MenuListTokens.win32.d.ts +1 -1
- package/lib-commonjs/MenuList/MenuListTokens.win32.js +12 -12
- package/lib-commonjs/MenuList/index.d.ts +1 -1
- package/lib-commonjs/MenuList/index.js +11 -31
- package/lib-commonjs/MenuList/useMenuList.d.ts +1 -1
- package/lib-commonjs/MenuList/useMenuList.js +151 -170
- package/lib-commonjs/MenuList/useMenuListContextValue.d.ts +1 -1
- package/lib-commonjs/MenuList/useMenuListContextValue.js +4 -4
- package/lib-commonjs/MenuPopover/MenuPopover.d.ts +3 -9
- package/lib-commonjs/MenuPopover/MenuPopover.d.ts.map +1 -1
- package/lib-commonjs/MenuPopover/MenuPopover.js +48 -50
- package/lib-commonjs/MenuPopover/MenuPopover.types.d.ts +14 -14
- package/lib-commonjs/MenuPopover/MenuPopover.types.d.ts.map +1 -1
- package/lib-commonjs/MenuPopover/MenuPopover.types.js +3 -3
- package/lib-commonjs/MenuPopover/MenuPopoverTokens.android.d.ts +3 -7
- package/lib-commonjs/MenuPopover/MenuPopoverTokens.android.d.ts.map +1 -1
- package/lib-commonjs/MenuPopover/MenuPopoverTokens.android.js +9 -12
- package/lib-commonjs/MenuPopover/MenuPopoverTokens.d.ts +3 -7
- package/lib-commonjs/MenuPopover/MenuPopoverTokens.d.ts.map +1 -1
- package/lib-commonjs/MenuPopover/MenuPopoverTokens.js +6 -9
- package/lib-commonjs/MenuPopover/MenuPopoverTokens.macos.d.ts +3 -7
- package/lib-commonjs/MenuPopover/MenuPopoverTokens.macos.d.ts.map +1 -1
- package/lib-commonjs/MenuPopover/MenuPopoverTokens.macos.js +12 -15
- package/lib-commonjs/MenuPopover/MenuPopoverTokens.macos.js.map +1 -1
- package/lib-commonjs/MenuPopover/index.d.ts +1 -1
- package/lib-commonjs/MenuPopover/index.js +9 -24
- package/lib-commonjs/MenuPopover/useMenuPopover.d.ts +2 -2
- package/lib-commonjs/MenuPopover/useMenuPopover.js +87 -106
- package/lib-commonjs/MenuPopover/useMenuPopover.js.map +1 -1
- package/lib-commonjs/MenuTrigger/MenuTrigger.d.ts +3 -3
- package/lib-commonjs/MenuTrigger/MenuTrigger.js +52 -69
- package/lib-commonjs/MenuTrigger/MenuTrigger.types.d.ts +13 -13
- package/lib-commonjs/MenuTrigger/MenuTrigger.types.js +3 -3
- package/lib-commonjs/MenuTrigger/index.d.ts +1 -1
- package/lib-commonjs/MenuTrigger/index.js +9 -24
- package/lib-commonjs/MenuTrigger/useMenuTrigger.d.ts +1 -1
- package/lib-commonjs/MenuTrigger/useMenuTrigger.js +80 -111
- package/lib-commonjs/MenuTrigger/useMergeRefs.d.ts +1 -1
- package/lib-commonjs/MenuTrigger/useMergeRefs.js +46 -65
- package/lib-commonjs/__tests__/Menu.test.d.ts +1 -1
- package/lib-commonjs/__tests__/Menu.test.js +169 -333
- package/lib-commonjs/consts.d.ts +1 -1
- package/lib-commonjs/consts.js +6 -6
- package/lib-commonjs/context/index.d.ts +1 -1
- package/lib-commonjs/context/index.js +16 -70
- package/lib-commonjs/context/menuContext.d.ts +5 -5
- package/lib-commonjs/context/menuContext.js +47 -64
- package/lib-commonjs/context/menuListContext.d.ts +4 -4
- package/lib-commonjs/context/menuListContext.js +44 -61
- package/lib-commonjs/context/menuTriggerContext.d.ts +1 -1
- package/lib-commonjs/context/menuTriggerContext.js +7 -9
- package/lib-commonjs/index.d.ts +4 -26
- package/lib-commonjs/index.js +56 -296
- package/package.json +28 -27
- package/src/MenuCallout/MenuCallout.types.ts +12 -13
- package/src/MenuItemCheckbox/MenuItemCheckbox.types.ts +4 -2
- package/src/MenuItemRadio/MenuItemRadio.types.ts +4 -2
- package/src/MenuPopover/MenuPopover.types.ts +12 -13
- package/src/MenuPopover/MenuPopoverTokens.macos.ts +2 -2
- package/src/MenuPopover/useMenuPopover.ts +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx } from
|
|
1
|
+
import { jsx as _jsx } from "@fluentui-react-native/framework-base/jsx-runtime";
|
|
2
2
|
/** @jsxImportSource @fluentui-react-native/framework-base */
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import { Platform, View } from 'react-native';
|
|
@@ -9,66 +9,54 @@ import { menuGroupName } from './MenuGroup.types';
|
|
|
9
9
|
// Intentionally not enabled on macOS to match system context menus
|
|
10
10
|
const hasFocusZone = ['win32'].includes(Platform.OS);
|
|
11
11
|
export const MenuGroup = compose({
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
{
|
|
62
|
-
...(hasFocusZone && {
|
|
63
|
-
focusZoneDirection: 'vertical',
|
|
64
|
-
enableFocusRing: false,
|
|
65
|
-
navigateAtEnd: 'NavigateContinue',
|
|
66
|
-
}),
|
|
67
|
-
children: childrenWithSet,
|
|
68
|
-
},
|
|
69
|
-
),
|
|
70
|
-
});
|
|
71
|
-
};
|
|
72
|
-
},
|
|
12
|
+
displayName: menuGroupName,
|
|
13
|
+
slots: {
|
|
14
|
+
root: View,
|
|
15
|
+
contentWrapper: hasFocusZone ? FocusZone : React.Fragment,
|
|
16
|
+
},
|
|
17
|
+
useRender: (userProps, useSlots) => {
|
|
18
|
+
const Slots = useSlots(userProps);
|
|
19
|
+
return (final, children) => {
|
|
20
|
+
const { ...mergedProps } = mergeProps(userProps, final);
|
|
21
|
+
let itemPosition = 0;
|
|
22
|
+
const childrenWithSet = React.Children.toArray(children).map((child) => {
|
|
23
|
+
if (React.isValidElement(child)) {
|
|
24
|
+
const itemCount = React.Children.toArray(children).filter((child) => React.isValidElement(child) &&
|
|
25
|
+
child.type.displayName !== 'MenuGroupHeader' &&
|
|
26
|
+
child.type.displayName !== 'MenuDivider').length;
|
|
27
|
+
if (child.type.displayName !== 'MenuGroupHeader' && child.type.displayName !== 'MenuDivider') {
|
|
28
|
+
itemPosition++;
|
|
29
|
+
}
|
|
30
|
+
return React.cloneElement(child, {
|
|
31
|
+
accessibilityPosInSet: extractProps(child)?.accessibilityPosInSet ?? itemPosition, // win32
|
|
32
|
+
accessibilitySetSize: extractProps(child)?.accessibilitySetSize ?? itemCount, //win32
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
return child;
|
|
36
|
+
});
|
|
37
|
+
// Check if this MenuGroup has a MenuGroupHeader. If so, use the MenuGroupHeader
|
|
38
|
+
// as the accessibilityLabel for the MenuGroup.
|
|
39
|
+
const menuGroupHeader = React.Children.toArray(children).find((child) => React.isValidElement(child) && child.type.displayName === 'MenuGroupHeader');
|
|
40
|
+
// On win32, in order for assistive technology to read a group, it must have a name which is why
|
|
41
|
+
// we use a string with a space as the default accessibilityLabel for MenuGroup.
|
|
42
|
+
// If an empty string was used, the group context would not be read.
|
|
43
|
+
let menuGroupA11yLabel = ' ';
|
|
44
|
+
const menuGroupHeaderChild = extractChildren(menuGroupHeader);
|
|
45
|
+
if (menuGroupHeader && typeof menuGroupHeaderChild === 'string') {
|
|
46
|
+
menuGroupA11yLabel = menuGroupHeaderChild;
|
|
47
|
+
}
|
|
48
|
+
return (_jsx(Slots.root, { ...mergedProps, ...(Platform.OS == 'win32' && {
|
|
49
|
+
accessible: true,
|
|
50
|
+
accessibilityRole: 'group',
|
|
51
|
+
accessibilityLabel: mergedProps.accessibilityLabel ?? menuGroupA11yLabel,
|
|
52
|
+
}), children: _jsx(Slots.contentWrapper
|
|
53
|
+
// avoid error that fires when props are passed into React.fragment
|
|
54
|
+
, { ...(hasFocusZone && {
|
|
55
|
+
focusZoneDirection: 'vertical',
|
|
56
|
+
enableFocusRing: false,
|
|
57
|
+
navigateAtEnd: 'NavigateContinue',
|
|
58
|
+
}), children: childrenWithSet }) }));
|
|
59
|
+
};
|
|
60
|
+
},
|
|
73
61
|
});
|
|
74
|
-
//# sourceMappingURL=MenuGroup.js.map
|
|
62
|
+
//# sourceMappingURL=MenuGroup.js.map
|
|
@@ -2,16 +2,16 @@ import type { ViewProps } from 'react-native';
|
|
|
2
2
|
import type { IViewProps } from '@fluentui-react-native/adapters';
|
|
3
3
|
import type { FocusZoneProps } from '@fluentui-react-native/focus-zone';
|
|
4
4
|
import type { LayoutTokens } from '@fluentui-react-native/tokens';
|
|
5
|
-
export declare const menuGroupName =
|
|
5
|
+
export declare const menuGroupName = "MenuGroup";
|
|
6
6
|
export type MenuGroupTokens = LayoutTokens;
|
|
7
7
|
export type MenuGroupProps = IViewProps;
|
|
8
8
|
export interface MenuGroupSlotProps {
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
root: ViewProps;
|
|
10
|
+
contentWrapper: FocusZoneProps;
|
|
11
11
|
}
|
|
12
12
|
export interface MenuGroupType {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
props: MenuGroupProps;
|
|
14
|
+
tokens: MenuGroupTokens;
|
|
15
|
+
slotProps: MenuGroupSlotProps;
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=MenuGroup.types.d.ts.map
|
|
17
|
+
//# sourceMappingURL=MenuGroup.types.d.ts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const menuGroupName = 'MenuGroup';
|
|
2
|
-
//# sourceMappingURL=MenuGroup.types.js.map
|
|
2
|
+
//# sourceMappingURL=MenuGroup.types.js.map
|
package/lib/MenuGroup/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { MenuGroup } from './MenuGroup';
|
|
2
2
|
export { menuGroupName } from './MenuGroup.types';
|
|
3
3
|
export type { MenuGroupProps, MenuGroupTokens, MenuGroupSlotProps, MenuGroupType } from './MenuGroup.types';
|
|
4
|
-
//# sourceMappingURL=index.d.ts.map
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
package/lib/MenuGroup/index.js
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
1
|
import type { MenuGroupHeaderProps } from './MenuGroupHeader.types';
|
|
2
|
-
export declare const MenuGroupHeader: import(
|
|
3
|
-
|
|
4
|
-
import('./MenuGroupHeader.types').MenuGroupHeaderSlotProps,
|
|
5
|
-
import('./MenuGroupHeader.types').MenuGroupHeaderTokens,
|
|
6
|
-
import('@fluentui-react-native/framework-base').ObjectBase
|
|
7
|
-
>;
|
|
8
|
-
//# sourceMappingURL=MenuGroupHeader.d.ts.map
|
|
2
|
+
export declare const MenuGroupHeader: import("@fluentui-react-native/framework").ComposableComponent<MenuGroupHeaderProps, import("./MenuGroupHeader.types").MenuGroupHeaderSlotProps, import("./MenuGroupHeader.types").MenuGroupHeaderTokens, import("@fluentui-react-native/framework-base").ObjectBase>;
|
|
3
|
+
//# sourceMappingURL=MenuGroupHeader.d.ts.map
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { jsx as _jsx } from
|
|
1
|
+
import { jsx as _jsx } from "@fluentui-react-native/framework-base/jsx-runtime";
|
|
2
2
|
import { compose, mergeProps } from '@fluentui-react-native/framework';
|
|
3
3
|
import { TextV1 as Text } from '@fluentui-react-native/text';
|
|
4
4
|
import { stylingSettings } from './MenuGroupHeader.styling';
|
|
5
5
|
import { menuGroupHeaderName } from './MenuGroupHeader.types';
|
|
6
6
|
export const MenuGroupHeader = compose({
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
7
|
+
displayName: menuGroupHeaderName,
|
|
8
|
+
...stylingSettings,
|
|
9
|
+
slots: {
|
|
10
|
+
root: Text,
|
|
11
|
+
},
|
|
12
|
+
useRender: (userProps, useSlots) => {
|
|
13
|
+
const Slots = useSlots(userProps);
|
|
14
|
+
return (final, children) => {
|
|
15
|
+
const { ...mergedProps } = mergeProps(userProps, final);
|
|
16
|
+
return (_jsx(Slots.root, { accessible: userProps.accessible, ...mergedProps, children: children }));
|
|
17
|
+
};
|
|
18
|
+
},
|
|
19
19
|
});
|
|
20
|
-
//# sourceMappingURL=MenuGroupHeader.js.map
|
|
20
|
+
//# sourceMappingURL=MenuGroupHeader.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { UseStylingOptions } from '@fluentui-react-native/framework';
|
|
2
2
|
import type { MenuGroupHeaderProps, MenuGroupHeaderTokens, MenuGroupHeaderSlotProps } from './MenuGroupHeader.types';
|
|
3
3
|
export declare const stylingSettings: UseStylingOptions<MenuGroupHeaderProps, MenuGroupHeaderSlotProps, MenuGroupHeaderTokens>;
|
|
4
|
-
//# sourceMappingURL=MenuGroupHeader.styling.d.ts.map
|
|
4
|
+
//# sourceMappingURL=MenuGroupHeader.styling.d.ts.map
|
|
@@ -3,20 +3,17 @@ import { buildProps } from '@fluentui-react-native/framework';
|
|
|
3
3
|
import { menuGroupHeaderName } from './MenuGroupHeader.types';
|
|
4
4
|
import { defaultMenuGroupHeaderTokens } from './MenuGroupHeaderTokens';
|
|
5
5
|
export const stylingSettings = {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
['color'],
|
|
19
|
-
),
|
|
20
|
-
},
|
|
6
|
+
tokens: [defaultMenuGroupHeaderTokens, menuGroupHeaderName],
|
|
7
|
+
slotProps: {
|
|
8
|
+
root: buildProps((tokens, theme) => {
|
|
9
|
+
return {
|
|
10
|
+
color: tokens.color,
|
|
11
|
+
style: {
|
|
12
|
+
marginStart: tokens.gap,
|
|
13
|
+
...fontStyles.from(tokens, theme),
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
}, ['color']),
|
|
17
|
+
},
|
|
21
18
|
};
|
|
22
|
-
//# sourceMappingURL=MenuGroupHeader.styling.js.map
|
|
19
|
+
//# sourceMappingURL=MenuGroupHeader.styling.js.map
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import type { TextProps } from '@fluentui-react-native/text';
|
|
2
2
|
import type { FontTokens, IColorTokens, LayoutTokens } from '@fluentui-react-native/tokens';
|
|
3
|
-
export declare const menuGroupHeaderName =
|
|
3
|
+
export declare const menuGroupHeaderName = "MenuGroupHeader";
|
|
4
4
|
export interface MenuGroupHeaderTokens extends LayoutTokens, FontTokens, IColorTokens {
|
|
5
|
-
|
|
5
|
+
gap?: number;
|
|
6
6
|
}
|
|
7
7
|
export type MenuGroupHeaderProps = TextProps;
|
|
8
8
|
export interface MenuGroupHeaderSlotProps {
|
|
9
|
-
|
|
9
|
+
root: TextProps;
|
|
10
10
|
}
|
|
11
11
|
export interface MenuGroupHeaderType {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
props: MenuGroupHeaderProps;
|
|
13
|
+
tokens: MenuGroupHeaderTokens;
|
|
14
|
+
slotProps: MenuGroupHeaderSlotProps;
|
|
15
15
|
}
|
|
16
|
-
//# sourceMappingURL=MenuGroupHeader.types.d.ts.map
|
|
16
|
+
//# sourceMappingURL=MenuGroupHeader.types.d.ts.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const menuGroupHeaderName = 'MenuGroupHeader';
|
|
2
|
-
//# sourceMappingURL=MenuGroupHeader.types.js.map
|
|
2
|
+
//# sourceMappingURL=MenuGroupHeader.types.js.map
|
|
@@ -2,4 +2,4 @@ import type { Theme } from '@fluentui-react-native/framework';
|
|
|
2
2
|
import type { TokenSettings } from '@fluentui-react-native/use-styling';
|
|
3
3
|
import type { MenuGroupHeaderTokens } from './MenuGroupHeader.types';
|
|
4
4
|
export declare const defaultMenuGroupHeaderTokens: TokenSettings<MenuGroupHeaderTokens, Theme>;
|
|
5
|
-
//# sourceMappingURL=MenuGroupHeaderTokens.d.ts.map
|
|
5
|
+
//# sourceMappingURL=MenuGroupHeaderTokens.d.ts.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { globalTokens } from '@fluentui-react-native/theme-tokens';
|
|
2
2
|
export const defaultMenuGroupHeaderTokens = (t) => ({
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
color: t.colors.neutralForeground2,
|
|
4
|
+
fontFamily: t.typography.families.primary,
|
|
5
|
+
fontSize: globalTokens.font.size300,
|
|
6
|
+
fontWeight: globalTokens.font.weight.regular,
|
|
7
|
+
gap: globalTokens.size40,
|
|
8
|
+
padding: globalTokens.size60,
|
|
9
9
|
});
|
|
10
|
-
//# sourceMappingURL=MenuGroupHeaderTokens.js.map
|
|
10
|
+
//# sourceMappingURL=MenuGroupHeaderTokens.js.map
|
|
@@ -2,4 +2,4 @@ import type { Theme } from '@fluentui-react-native/framework';
|
|
|
2
2
|
import type { TokenSettings } from '@fluentui-react-native/use-styling';
|
|
3
3
|
import type { MenuGroupHeaderTokens } from './MenuGroupHeader.types';
|
|
4
4
|
export declare const defaultMenuGroupHeaderTokens: TokenSettings<MenuGroupHeaderTokens, Theme>;
|
|
5
|
-
//# sourceMappingURL=MenuGroupHeaderTokens.macos.d.ts.map
|
|
5
|
+
//# sourceMappingURL=MenuGroupHeaderTokens.macos.d.ts.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { globalTokens } from '@fluentui-react-native/theme-tokens';
|
|
2
2
|
export const defaultMenuGroupHeaderTokens = (t) => ({
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
color: t.colors.disabledText,
|
|
4
|
+
fontFamily: t.typography.families.primary,
|
|
5
|
+
fontSize: 13,
|
|
6
|
+
fontWeight: globalTokens.font.weight.regular,
|
|
7
|
+
gap: globalTokens.size40,
|
|
8
|
+
paddingHorizontal: 5,
|
|
9
|
+
paddingVertical: 3,
|
|
10
10
|
});
|
|
11
|
-
//# sourceMappingURL=MenuGroupHeaderTokens.macos.js.map
|
|
11
|
+
//# sourceMappingURL=MenuGroupHeaderTokens.macos.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { MenuGroupHeader } from './MenuGroupHeader';
|
|
2
2
|
export { menuGroupHeaderName } from './MenuGroupHeader.types';
|
|
3
3
|
export type { MenuGroupHeaderProps, MenuGroupHeaderTokens, MenuGroupHeaderSlotProps, MenuGroupHeaderType } from './MenuGroupHeader.types';
|
|
4
|
-
//# sourceMappingURL=index.d.ts.map
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
/** @jsxImportSource @fluentui-react-native/framework-base */
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import type { MenuItemProps } from './MenuItem.types';
|
|
4
|
-
export declare const MenuItem: import(
|
|
5
|
-
MenuItemProps,
|
|
6
|
-
import('./MenuItem.types').MenuItemSlotProps,
|
|
7
|
-
import('./MenuItem.types').MenuItemTokens,
|
|
8
|
-
import('@fluentui-react-native/framework-base').ObjectBase
|
|
9
|
-
>;
|
|
4
|
+
export declare const MenuItem: import("@fluentui-react-native/framework").ComposableComponent<MenuItemProps, import("./MenuItem.types").MenuItemSlotProps, import("./MenuItem.types").MenuItemTokens, import("@fluentui-react-native/framework-base").ObjectBase>;
|
|
10
5
|
export declare const getAccessibilityLabel: (accessibilityLabel: string, child: React.ReactNode) => string;
|
|
11
6
|
export declare const getTooltip: (tooltip: string, hasTooltips: boolean, child: React.ReactNode) => string;
|
|
12
|
-
//# sourceMappingURL=MenuItem.d.ts.map
|
|
7
|
+
//# sourceMappingURL=MenuItem.d.ts.map
|
package/lib/MenuItem/MenuItem.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "@fluentui-react-native/framework-base/jsx-runtime";
|
|
2
2
|
import { I18nManager, Image, Pressable, View } from 'react-native';
|
|
3
3
|
import { compose, memoize, mergeProps } from '@fluentui-react-native/framework';
|
|
4
4
|
import { IconV1 as Icon } from '@fluentui-react-native/icon';
|
|
@@ -8,78 +8,56 @@ import { stylingSettings } from './MenuItem.styling';
|
|
|
8
8
|
import { menuItemName } from './MenuItem.types';
|
|
9
9
|
import { useMenuItem } from './useMenuItem';
|
|
10
10
|
export const MenuItem = compose({
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
11
|
+
displayName: menuItemName,
|
|
12
|
+
...stylingSettings,
|
|
13
|
+
slots: {
|
|
14
|
+
root: Pressable,
|
|
15
|
+
checkmark: View,
|
|
16
|
+
content: Text,
|
|
17
|
+
iconPlaceholder: View,
|
|
18
|
+
imgIcon: Image,
|
|
19
|
+
fontOrSvgIcon: Icon,
|
|
20
|
+
submenuIndicator: SvgXml,
|
|
21
|
+
},
|
|
22
|
+
useRender: (userProps, useSlots) => {
|
|
23
|
+
const menuItem = useMenuItem(userProps);
|
|
24
|
+
const Slots = useSlots(userProps, (layer) => menuItem.state[layer] || userProps[layer]);
|
|
25
|
+
return (final, children) => {
|
|
26
|
+
const { accessibilityLabel, icon, tooltip, ...mergedProps } = mergeProps(menuItem.props, final);
|
|
27
|
+
const chevronXml = I18nManager.isRTL
|
|
28
|
+
? `
|
|
29
29
|
<svg>
|
|
30
30
|
<path fill='currentColor' d="M10.2603 3.20041C10.5639 3.48226 10.5814 3.95681 10.2996 4.26034L6.77348 8L10.2996 11.7397C10.5814 12.0432 10.5639 12.5177 10.2603 12.7996C9.9568 13.0815 9.48226 13.0639 9.2004 12.7603L5.2004 8.51034C4.9332 8.22258 4.9332 7.77743 5.2004 7.48966L9.20041 3.23966C9.48226 2.93613 9.95681 2.91856 10.2603 3.20041Z"/>
|
|
31
31
|
</svg>`
|
|
32
|
-
|
|
32
|
+
: `
|
|
33
33
|
<svg>
|
|
34
34
|
<path fill='currentColor' d="M5.73966 3.20041C5.43613 3.48226 5.41856 3.95681 5.70041 4.26034L9.22652 8L5.70041 11.7397C5.41856 12.0432 5.43613 12.5177 5.73967 12.7996C6.0432 13.0815 6.51775 13.0639 6.7996 12.7603L10.7996 8.51034C11.0668 8.22258 11.0668 7.77743 10.7996 7.48966L6.7996 3.23966C6.51775 2.93613 6.0432 2.91856 5.73966 3.20041Z"/>
|
|
35
35
|
</svg>`;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
children: [
|
|
43
|
-
menuItem.state.hasCheckmarks && _jsx(Slots.checkmark, { accessible: false }),
|
|
44
|
-
(icon || menuItem.state.hasIcons) &&
|
|
45
|
-
_jsxs(Slots.iconPlaceholder, {
|
|
46
|
-
accessible: false,
|
|
47
|
-
children: [
|
|
48
|
-
icon && icon.source && _jsx(Slots.imgIcon, { accessible: false, ...icon }),
|
|
49
|
-
icon && (icon.svgSource || icon.fontSource) && _jsx(Slots.fontOrSvgIcon, { accessible: false, ...icon }),
|
|
50
|
-
],
|
|
51
|
-
}),
|
|
52
|
-
children &&
|
|
53
|
-
_jsx(Slots.content, {
|
|
54
|
-
accessible: false,
|
|
55
|
-
tooltip: tooltipResult,
|
|
56
|
-
...(tooltipResult && { alwaysShowToolTip: true }),
|
|
57
|
-
children: children,
|
|
58
|
-
}),
|
|
59
|
-
menuItem.state.hasSubmenu && _jsx(Slots.submenuIndicator, { accessible: false, xml: chevronXml }),
|
|
60
|
-
],
|
|
61
|
-
});
|
|
62
|
-
};
|
|
63
|
-
},
|
|
36
|
+
// We only automatically support the one child string.
|
|
37
|
+
const label = getAccessibilityLabel(accessibilityLabel, children[0]);
|
|
38
|
+
const tooltipResult = getTooltip(tooltip, menuItem.state.hasTooltips, children[0]);
|
|
39
|
+
return (_jsxs(Slots.root, { ...mergedProps, accessibilityLabel: label, children: [menuItem.state.hasCheckmarks && _jsx(Slots.checkmark, { accessible: false }), (icon || menuItem.state.hasIcons) && (_jsxs(Slots.iconPlaceholder, { accessible: false, children: [icon && icon.source && _jsx(Slots.imgIcon, { accessible: false, ...icon }), icon && (icon.svgSource || icon.fontSource) && _jsx(Slots.fontOrSvgIcon, { accessible: false, ...icon })] })), children && (_jsx(Slots.content, { accessible: false, tooltip: tooltipResult, ...(tooltipResult && { alwaysShowToolTip: true }), children: children })), menuItem.state.hasSubmenu && _jsx(Slots.submenuIndicator, { accessible: false, xml: chevronXml })] }));
|
|
40
|
+
};
|
|
41
|
+
},
|
|
64
42
|
});
|
|
65
43
|
const getAccessibilityLabelWorker = (accessibilityLabel, child) => {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
44
|
+
if (accessibilityLabel !== undefined) {
|
|
45
|
+
return accessibilityLabel;
|
|
46
|
+
}
|
|
47
|
+
if (typeof child === 'string') {
|
|
48
|
+
return child;
|
|
49
|
+
}
|
|
50
|
+
return undefined;
|
|
73
51
|
};
|
|
74
52
|
export const getAccessibilityLabel = memoize(getAccessibilityLabelWorker);
|
|
75
53
|
const getTooltipWorker = (tooltip, hasTooltips, child) => {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
54
|
+
if (tooltip !== undefined) {
|
|
55
|
+
return tooltip;
|
|
56
|
+
}
|
|
57
|
+
if (hasTooltips && typeof child === 'string') {
|
|
58
|
+
return child;
|
|
59
|
+
}
|
|
60
|
+
return undefined;
|
|
83
61
|
};
|
|
84
62
|
export const getTooltip = memoize(getTooltipWorker);
|
|
85
|
-
//# sourceMappingURL=MenuItem.js.map
|
|
63
|
+
//# sourceMappingURL=MenuItem.js.map
|
|
@@ -2,4 +2,4 @@ import type { UseStylingOptions } from '@fluentui-react-native/framework';
|
|
|
2
2
|
import type { MenuItemProps, MenuItemTokens, MenuItemSlotProps } from './MenuItem.types';
|
|
3
3
|
export declare const menuItemStates: (keyof MenuItemTokens)[];
|
|
4
4
|
export declare const stylingSettings: UseStylingOptions<MenuItemProps, MenuItemSlotProps, MenuItemTokens>;
|
|
5
|
-
//# sourceMappingURL=MenuItem.styling.d.ts.map
|
|
5
|
+
//# sourceMappingURL=MenuItem.styling.d.ts.map
|