@fluentui/react-menu 0.0.0-nightly-20230502-0418.1 → 0.0.0-nightly-20230504-0417.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 +25 -25
- package/CHANGELOG.md +15 -15
- package/dist/index.d.ts +755 -0
- package/lib/Menu.js +2 -0
- package/lib/Menu.js.map +1 -0
- package/lib/MenuDivider.js +2 -0
- package/lib/MenuDivider.js.map +1 -0
- package/lib/MenuGroup.js +2 -0
- package/lib/MenuGroup.js.map +1 -0
- package/lib/MenuGroupHeader.js +2 -0
- package/lib/MenuGroupHeader.js.map +1 -0
- package/lib/MenuItem.js +2 -0
- package/lib/MenuItem.js.map +1 -0
- package/lib/MenuItemCheckbox.js +2 -0
- package/lib/MenuItemCheckbox.js.map +1 -0
- package/lib/MenuItemRadio.js +2 -0
- package/lib/MenuItemRadio.js.map +1 -0
- package/lib/MenuList.js +2 -0
- package/lib/MenuList.js.map +1 -0
- package/lib/MenuPopover.js +2 -0
- package/lib/MenuPopover.js.map +1 -0
- package/lib/MenuSplitGroup.js +2 -0
- package/lib/MenuSplitGroup.js.map +1 -0
- package/lib/MenuTrigger.js +2 -0
- package/lib/MenuTrigger.js.map +1 -0
- package/lib/components/Menu/Menu.js +14 -0
- package/lib/components/Menu/Menu.js.map +1 -0
- package/lib/components/Menu/Menu.types.js +2 -0
- package/lib/components/Menu/Menu.types.js.map +1 -0
- package/lib/components/Menu/index.js +6 -0
- package/lib/components/Menu/index.js.map +1 -0
- package/lib/components/Menu/renderMenu.js +11 -0
- package/lib/components/Menu/renderMenu.js.map +1 -0
- package/lib/components/Menu/useMenu.js +268 -0
- package/lib/components/Menu/useMenu.js.map +1 -0
- package/lib/components/Menu/useMenuContextValues.js +41 -0
- package/lib/components/Menu/useMenuContextValues.js.map +1 -0
- package/lib/components/MenuDivider/MenuDivider.js +16 -0
- package/lib/components/MenuDivider/MenuDivider.js.map +1 -0
- package/lib/components/MenuDivider/MenuDivider.types.js +2 -0
- package/lib/components/MenuDivider/MenuDivider.types.js.map +1 -0
- package/lib/components/MenuDivider/index.js +6 -0
- package/lib/components/MenuDivider/index.js.map +1 -0
- package/lib/components/MenuDivider/renderMenuDivider.js +14 -0
- package/lib/components/MenuDivider/renderMenuDivider.js.map +1 -0
- package/lib/components/MenuDivider/useMenuDivider.js +19 -0
- package/lib/components/MenuDivider/useMenuDivider.js.map +1 -0
- package/lib/components/MenuDivider/useMenuDividerStyles.styles.js +25 -0
- package/lib/components/MenuDivider/useMenuDividerStyles.styles.js.map +1 -0
- package/lib/components/MenuGroup/MenuGroup.js +18 -0
- package/lib/components/MenuGroup/MenuGroup.js.map +1 -0
- package/lib/components/MenuGroup/MenuGroup.types.js +2 -0
- package/lib/components/MenuGroup/MenuGroup.types.js.map +1 -0
- package/lib/components/MenuGroup/index.js +7 -0
- package/lib/components/MenuGroup/index.js.map +1 -0
- package/lib/components/MenuGroup/renderMenuGroup.js +17 -0
- package/lib/components/MenuGroup/renderMenuGroup.js.map +1 -0
- package/lib/components/MenuGroup/useMenuGroup.js +21 -0
- package/lib/components/MenuGroup/useMenuGroup.js.map +1 -0
- package/lib/components/MenuGroup/useMenuGroupContextValues.js +13 -0
- package/lib/components/MenuGroup/useMenuGroupContextValues.js.map +1 -0
- package/lib/components/MenuGroup/useMenuGroupStyles.styles.js +9 -0
- package/lib/components/MenuGroup/useMenuGroupStyles.styles.js.map +1 -0
- package/lib/components/MenuGroupHeader/MenuGroupHeader.js +16 -0
- package/lib/components/MenuGroupHeader/MenuGroupHeader.js.map +1 -0
- package/lib/components/MenuGroupHeader/MenuGroupHeader.types.js +2 -0
- package/lib/components/MenuGroupHeader/MenuGroupHeader.types.js.map +1 -0
- package/lib/components/MenuGroupHeader/index.js +6 -0
- package/lib/components/MenuGroupHeader/index.js.map +1 -0
- package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js +14 -0
- package/lib/components/MenuGroupHeader/renderMenuGroupHeader.js.map +1 -0
- package/lib/components/MenuGroupHeader/useMenuGroupHeader.js +22 -0
- package/lib/components/MenuGroupHeader/useMenuGroupHeader.js.map +1 -0
- package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.styles.js +25 -0
- package/lib/components/MenuGroupHeader/useMenuGroupHeaderStyles.styles.js.map +1 -0
- package/lib/components/MenuItem/MenuItem.js +16 -0
- package/lib/components/MenuItem/MenuItem.js.map +1 -0
- package/lib/components/MenuItem/MenuItem.types.js +2 -0
- package/lib/components/MenuItem/MenuItem.types.js.map +1 -0
- package/lib/components/MenuItem/index.js +6 -0
- package/lib/components/MenuItem/index.js.map +1 -0
- package/lib/components/MenuItem/renderMenuItem.js +13 -0
- package/lib/components/MenuItem/renderMenuItem.js.map +1 -0
- package/lib/components/MenuItem/useCharacterSearch.js +20 -0
- package/lib/components/MenuItem/useCharacterSearch.js.map +1 -0
- package/lib/components/MenuItem/useMenuItem.js +101 -0
- package/lib/components/MenuItem/useMenuItem.js.map +1 -0
- package/lib/components/MenuItem/useMenuItemStyles.styles.js +150 -0
- package/lib/components/MenuItem/useMenuItemStyles.styles.js.map +1 -0
- package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js +16 -0
- package/lib/components/MenuItemCheckbox/MenuItemCheckbox.js.map +1 -0
- package/lib/components/MenuItemCheckbox/MenuItemCheckbox.types.js +2 -0
- package/lib/components/MenuItemCheckbox/MenuItemCheckbox.types.js.map +1 -0
- package/lib/components/MenuItemCheckbox/index.js +6 -0
- package/lib/components/MenuItemCheckbox/index.js.map +1 -0
- package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js +11 -0
- package/lib/components/MenuItemCheckbox/renderMenuItemCheckbox.js.map +1 -0
- package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js +42 -0
- package/lib/components/MenuItemCheckbox/useMenuItemCheckbox.js.map +1 -0
- package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.styles.js +28 -0
- package/lib/components/MenuItemCheckbox/useMenuItemCheckboxStyles.styles.js.map +1 -0
- package/lib/components/MenuItemRadio/MenuItemRadio.js +16 -0
- package/lib/components/MenuItemRadio/MenuItemRadio.js.map +1 -0
- package/lib/components/MenuItemRadio/MenuItemRadio.types.js +2 -0
- package/lib/components/MenuItemRadio/MenuItemRadio.types.js.map +1 -0
- package/lib/components/MenuItemRadio/index.js +6 -0
- package/lib/components/MenuItemRadio/index.js.map +1 -0
- package/lib/components/MenuItemRadio/renderMenuItemRadio.js +14 -0
- package/lib/components/MenuItemRadio/renderMenuItemRadio.js.map +1 -0
- package/lib/components/MenuItemRadio/useMenuItemRadio.js +42 -0
- package/lib/components/MenuItemRadio/useMenuItemRadio.js.map +1 -0
- package/lib/components/MenuItemRadio/useMenuItemRadioStyles.styles.js +28 -0
- package/lib/components/MenuItemRadio/useMenuItemRadioStyles.styles.js.map +1 -0
- package/lib/components/MenuList/MenuList.js +18 -0
- package/lib/components/MenuList/MenuList.js.map +1 -0
- package/lib/components/MenuList/MenuList.types.js +2 -0
- package/lib/components/MenuList/MenuList.types.js.map +1 -0
- package/lib/components/MenuList/index.js +7 -0
- package/lib/components/MenuList/index.js.map +1 -0
- package/lib/components/MenuList/renderMenuList.js +16 -0
- package/lib/components/MenuList/renderMenuList.js.map +1 -0
- package/lib/components/MenuList/useMenuList.js +147 -0
- package/lib/components/MenuList/useMenuList.js.map +1 -0
- package/lib/components/MenuList/useMenuListContextValues.js +23 -0
- package/lib/components/MenuList/useMenuListContextValues.js.map +1 -0
- package/lib/components/MenuList/useMenuListStyles.styles.js +23 -0
- package/lib/components/MenuList/useMenuListStyles.styles.js.map +1 -0
- package/lib/components/MenuPopover/MenuPopover.js +16 -0
- package/lib/components/MenuPopover/MenuPopover.js.map +1 -0
- package/lib/components/MenuPopover/MenuPopover.types.js +2 -0
- package/lib/components/MenuPopover/MenuPopover.types.js.map +1 -0
- package/lib/components/MenuPopover/index.js +6 -0
- package/lib/components/MenuPopover/index.js.map +1 -0
- package/lib/components/MenuPopover/renderMenuPopover.js +19 -0
- package/lib/components/MenuPopover/renderMenuPopover.js.map +1 -0
- package/lib/components/MenuPopover/useMenuPopover.js +108 -0
- package/lib/components/MenuPopover/useMenuPopover.js.map +1 -0
- package/lib/components/MenuPopover/useMenuPopoverStyles.styles.js +50 -0
- package/lib/components/MenuPopover/useMenuPopoverStyles.styles.js.map +1 -0
- package/lib/components/MenuSplitGroup/MenuSplitGroup.js +16 -0
- package/lib/components/MenuSplitGroup/MenuSplitGroup.js.map +1 -0
- package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js +2 -0
- package/lib/components/MenuSplitGroup/MenuSplitGroup.types.js.map +1 -0
- package/lib/components/MenuSplitGroup/index.js +6 -0
- package/lib/components/MenuSplitGroup/index.js.map +1 -0
- package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js +13 -0
- package/lib/components/MenuSplitGroup/renderMenuSplitGroup.js.map +1 -0
- package/lib/components/MenuSplitGroup/useMenuSplitGroup.js +61 -0
- package/lib/components/MenuSplitGroup/useMenuSplitGroup.js.map +1 -0
- package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.styles.js +34 -0
- package/lib/components/MenuSplitGroup/useMenuSplitGroupStyles.styles.js.map +1 -0
- package/lib/components/MenuTrigger/MenuTrigger.js +15 -0
- package/lib/components/MenuTrigger/MenuTrigger.js.map +1 -0
- package/lib/components/MenuTrigger/MenuTrigger.types.js +2 -0
- package/lib/components/MenuTrigger/MenuTrigger.types.js.map +1 -0
- package/lib/components/MenuTrigger/index.js +5 -0
- package/lib/components/MenuTrigger/index.js.map +1 -0
- package/lib/components/MenuTrigger/renderMenuTrigger.js +13 -0
- package/lib/components/MenuTrigger/renderMenuTrigger.js.map +1 -0
- package/lib/components/MenuTrigger/useMenuTrigger.styles.js +168 -0
- package/lib/components/MenuTrigger/useMenuTrigger.styles.js.map +1 -0
- package/lib/components/index.js +3 -0
- package/lib/components/index.js.map +1 -0
- package/lib/contexts/menuContext.js +27 -0
- package/lib/contexts/menuContext.js.map +1 -0
- package/lib/contexts/menuGroupContext.js +9 -0
- package/lib/contexts/menuGroupContext.js.map +1 -0
- package/lib/contexts/menuListContext.js +14 -0
- package/lib/contexts/menuListContext.js.map +1 -0
- package/lib/contexts/menuTriggerContext.js +10 -0
- package/lib/contexts/menuTriggerContext.js.map +1 -0
- package/lib/index.js +17 -0
- package/lib/index.js.map +1 -0
- package/lib/selectable/index.js +3 -0
- package/lib/selectable/index.js.map +1 -0
- package/lib/selectable/types.js +2 -0
- package/lib/selectable/types.js.map +1 -0
- package/lib/selectable/useCheckmarkStyles.styles.js +25 -0
- package/lib/selectable/useCheckmarkStyles.styles.js.map +1 -0
- package/lib/utils/index.js +2 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/utils/useIsSubmenu.js +17 -0
- package/lib/utils/useIsSubmenu.js.map +1 -0
- package/lib/utils/useOnMenuEnter.js +65 -0
- package/lib/utils/useOnMenuEnter.js.map +1 -0
- package/package.json +12 -12
- package/.swcrc +0 -30
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useEventCallback","elementContains","MENU_ENTER_EVENT","useOnMenuMouseEnter","options","refs","callback","element","disabled","listener","ev","popoverRef","someMenuPopover","target","_popoverRef_current","isOutsidePopover","current","useEffect","addEventListener","removeEventListener","dispatchMenuEnterEvent","el","nativeEvent","dispatchEvent","CustomEvent","bubbles","detail"],"sources":["../../src/utils/useOnMenuEnter.ts"],"sourcesContent":["import * as React from 'react';\nimport { useEventCallback } from '@fluentui/react-utilities';\nimport { elementContains } from '@fluentui/react-portal';\nimport type { UseOnClickOrScrollOutsideOptions } from '@fluentui/react-utilities';\n\n/**\n * Name of the custom event\n */\nexport const MENU_ENTER_EVENT = 'fuimenuenter';\n\n/**\n * This hook works similarly to @see {useOnClickOutside}\n *\n * Problem: Trying to behave the same as system menus:\n * When the mouse leaves a stack of nested menus the stack should not dismiss.\n * However if the mouse leaves a stack of menus and enters a parent menu all its children menu should dismiss.\n *\n * We don't use the native mouseenter event because it would trigger too many times in the document\n * Instead, dispatch custom DOM event from the menu so that it can bubble\n * Each nested menu can use the listener to check if the event is from a child or parent menu\n */\nexport const useOnMenuMouseEnter = (options: UseOnClickOrScrollOutsideOptions) => {\n const { refs, callback, element, disabled } = options;\n\n // Keep mouse event here because this is essentially a custom 'mouseenter' event\n const listener = useEventCallback((ev: MouseEvent) => {\n const popoverRef = refs[0];\n const someMenuPopover = ev.target as HTMLElement;\n\n // someMenu is a child -> will always be contained because of vParents\n // someMenu is a parent -> will always not be contained because no vParent\n // someMenu is the current popover -> it will contain itself\n const isOutsidePopover = !elementContains(popoverRef.current ?? null, someMenuPopover);\n if (isOutsidePopover && !disabled) {\n callback(ev);\n }\n });\n\n React.useEffect(() => {\n // eslint-disable-next-line eqeqeq\n if (element == null) {\n return;\n }\n\n /**\n * Because `addEventListener` type override falls back to 2nd definition (evt name is unknown string literal)\n * evt is being typed as a base class of MouseEvent -> `Event`.\n * This type is used to override `listener` calls to make TS happy\n */\n\n type ListenerOverride = (evt: Event) => void;\n\n if (!disabled) {\n element.addEventListener(MENU_ENTER_EVENT, listener as ListenerOverride);\n }\n\n return () => {\n element.removeEventListener(MENU_ENTER_EVENT, listener as ListenerOverride);\n };\n }, [listener, element, disabled]);\n};\n\n/**\n * Dispatches the custom MouseEvent enter event. Similar to calling `el.click()`\n * @param el element for the event target\n * @param nativeEvent the native mouse event this is mapped to\n */\nexport const dispatchMenuEnterEvent = (el: HTMLElement, nativeEvent: MouseEvent) => {\n el.dispatchEvent(new CustomEvent(MENU_ENTER_EVENT, { bubbles: true, detail: { nativeEvent } }));\n};\n"],"mappings":"AAAA,YAAYA,KAAA,MAAW;AACvB,SAASC,gBAAgB,QAAQ;AACjC,SAASC,eAAe,QAAQ;AAGhC;;;AAGA,OAAO,MAAMC,gBAAA,GAAmB;AAEhC;;;;;;;;;;;AAWA,OAAO,MAAMC,mBAAA,GAAuBC,OAAA,IAA8C;EAChF,MAAM;IAAEC,IAAA;IAAMC,QAAA;IAAUC,OAAA;IAASC;EAAQ,CAAE,GAAGJ,OAAA;EAE9C;EACA,MAAMK,QAAA,GAAWT,gBAAA,CAAkBU,EAAA,IAAmB;IACpD,MAAMC,UAAA,GAAaN,IAAI,CAAC,EAAE;IAC1B,MAAMO,eAAA,GAAkBF,EAAA,CAAGG,MAAM;QAKSC,mBAAA;IAH1C;IACA;IACA;IACA,MAAMC,gBAAA,GAAmB,CAACd,eAAA,CAAgB,CAAAa,mBAAA,GAAAH,UAAA,CAAWK,OAAO,cAAlBF,mBAAA,cAAAA,mBAAA,GAAsB,IAAI,EAAEF,eAAA;IACtE,IAAIG,gBAAA,IAAoB,CAACP,QAAA,EAAU;MACjCF,QAAA,CAASI,EAAA;IACX;EACF;EAEAX,KAAA,CAAMkB,SAAS,CAAC,MAAM;IACpB;IACA,IAAIV,OAAA,IAAW,IAAI,EAAE;MACnB;IACF;IAUA,IAAI,CAACC,QAAA,EAAU;MACbD,OAAA,CAAQW,gBAAgB,CAAChB,gBAAA,EAAkBO,QAAA;IAC7C;IAEA,OAAO,MAAM;MACXF,OAAA,CAAQY,mBAAmB,CAACjB,gBAAA,EAAkBO,QAAA;IAChD;EACF,GAAG,CAACA,QAAA,EAAUF,OAAA,EAASC,QAAA,CAAS;AAClC;AAEA;;;;;AAKA,OAAO,MAAMY,sBAAA,GAAyBA,CAACC,EAAA,EAAiBC,WAAA,KAA4B;EAClFD,EAAA,CAAGE,aAAa,CAAC,IAAIC,WAAA,CAAYtB,gBAAA,EAAkB;IAAEuB,OAAA,EAAS,IAAI;IAAEC,MAAA,EAAQ;MAAEJ;IAAY;EAAE;AAC9F"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluentui/react-menu",
|
|
3
|
-
"version": "0.0.0-nightly-
|
|
3
|
+
"version": "0.0.0-nightly-20230504-0417.1",
|
|
4
4
|
"description": "Fluent UI menu component",
|
|
5
5
|
"main": "lib-commonjs/index.js",
|
|
6
6
|
"module": "lib/index.js",
|
|
@@ -29,23 +29,23 @@
|
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@fluentui/eslint-plugin": "*",
|
|
31
31
|
"@fluentui/react-conformance": "*",
|
|
32
|
-
"@fluentui/react-conformance-griffel": "0.0.0-nightly-
|
|
32
|
+
"@fluentui/react-conformance-griffel": "0.0.0-nightly-20230504-0417.1",
|
|
33
33
|
"@fluentui/scripts-api-extractor": "*",
|
|
34
34
|
"@fluentui/scripts-cypress": "*",
|
|
35
35
|
"@fluentui/scripts-tasks": "*"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@fluentui/keyboard-keys": "0.0.0-nightly-
|
|
39
|
-
"@fluentui/react-aria": "0.0.0-nightly-
|
|
40
|
-
"@fluentui/react-context-selector": "0.0.0-nightly-
|
|
38
|
+
"@fluentui/keyboard-keys": "0.0.0-nightly-20230504-0417.1",
|
|
39
|
+
"@fluentui/react-aria": "0.0.0-nightly-20230504-0417.1",
|
|
40
|
+
"@fluentui/react-context-selector": "0.0.0-nightly-20230504-0417.1",
|
|
41
41
|
"@fluentui/react-icons": "^2.0.196",
|
|
42
|
-
"@fluentui/react-portal": "0.0.0-nightly-
|
|
43
|
-
"@fluentui/react-positioning": "0.0.0-nightly-
|
|
44
|
-
"@fluentui/react-shared-contexts": "0.0.0-nightly-
|
|
45
|
-
"@fluentui/react-tabster": "0.0.0-nightly-
|
|
46
|
-
"@fluentui/react-theme": "0.0.0-nightly-
|
|
47
|
-
"@fluentui/react-utilities": "0.0.0-nightly-
|
|
48
|
-
"@fluentui/react-jsx-runtime": "0.0.0-nightly-
|
|
42
|
+
"@fluentui/react-portal": "0.0.0-nightly-20230504-0417.1",
|
|
43
|
+
"@fluentui/react-positioning": "0.0.0-nightly-20230504-0417.1",
|
|
44
|
+
"@fluentui/react-shared-contexts": "0.0.0-nightly-20230504-0417.1",
|
|
45
|
+
"@fluentui/react-tabster": "0.0.0-nightly-20230504-0417.1",
|
|
46
|
+
"@fluentui/react-theme": "0.0.0-nightly-20230504-0417.1",
|
|
47
|
+
"@fluentui/react-utilities": "0.0.0-nightly-20230504-0417.1",
|
|
48
|
+
"@fluentui/react-jsx-runtime": "0.0.0-nightly-20230504-0417.1",
|
|
49
49
|
"@griffel/react": "^1.5.2",
|
|
50
50
|
"@swc/helpers": "^0.4.14"
|
|
51
51
|
},
|
package/.swcrc
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://json.schemastore.org/swcrc",
|
|
3
|
-
"exclude": [
|
|
4
|
-
"/testing",
|
|
5
|
-
"/**/*.cy.ts",
|
|
6
|
-
"/**/*.cy.tsx",
|
|
7
|
-
"/**/*.spec.ts",
|
|
8
|
-
"/**/*.spec.tsx",
|
|
9
|
-
"/**/*.test.ts",
|
|
10
|
-
"/**/*.test.tsx"
|
|
11
|
-
],
|
|
12
|
-
"jsc": {
|
|
13
|
-
"parser": {
|
|
14
|
-
"syntax": "typescript",
|
|
15
|
-
"tsx": true,
|
|
16
|
-
"decorators": false,
|
|
17
|
-
"dynamicImport": false
|
|
18
|
-
},
|
|
19
|
-
"externalHelpers": true,
|
|
20
|
-
"transform": {
|
|
21
|
-
"react": {
|
|
22
|
-
"runtime": "classic",
|
|
23
|
-
"useSpread": true
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
"target": "es2019"
|
|
27
|
-
},
|
|
28
|
-
"minify": false,
|
|
29
|
-
"sourceMaps": true
|
|
30
|
-
}
|