@elliemae/ds-menu-button 3.80.0-next.51 → 3.80.0-next.53
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/dist/cjs/config/useSplitInherithedProps.js +13 -2
- package/dist/cjs/config/useSplitInherithedProps.js.map +2 -2
- package/dist/cjs/parts/DSFlyoutMenu/DSFlyoutMenu.js +25 -2
- package/dist/cjs/parts/DSFlyoutMenu/DSFlyoutMenu.js.map +2 -2
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useFocusTracker.js +4 -1
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useFocusTracker.js.map +2 -2
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useGlobalEvents.js +4 -3
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useGlobalEvents.js.map +2 -2
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useMenuItemEventsHandlers.js +27 -10
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useMenuItemEventsHandlers.js.map +2 -2
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useMenuOpenStatus.js +14 -8
- package/dist/cjs/parts/DSMenuBehaviouralContextProvider/config/useMenuOpenStatus.js.map +2 -2
- package/dist/cjs/parts/DSOpinionatedButton/config/useTriggerEventsHandlers.js +19 -9
- package/dist/cjs/parts/DSOpinionatedButton/config/useTriggerEventsHandlers.js.map +2 -2
- package/dist/cjs/react-desc-prop-types.js +9 -2
- package/dist/cjs/react-desc-prop-types.js.map +2 -2
- package/dist/esm/config/useSplitInherithedProps.js +13 -2
- package/dist/esm/config/useSplitInherithedProps.js.map +2 -2
- package/dist/esm/parts/DSFlyoutMenu/DSFlyoutMenu.js +25 -2
- package/dist/esm/parts/DSFlyoutMenu/DSFlyoutMenu.js.map +2 -2
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useFocusTracker.js +4 -1
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useFocusTracker.js.map +2 -2
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useGlobalEvents.js +4 -3
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useGlobalEvents.js.map +2 -2
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useMenuItemEventsHandlers.js +27 -10
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useMenuItemEventsHandlers.js.map +2 -2
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useMenuOpenStatus.js +14 -8
- package/dist/esm/parts/DSMenuBehaviouralContextProvider/config/useMenuOpenStatus.js.map +2 -2
- package/dist/esm/parts/DSOpinionatedButton/config/useTriggerEventsHandlers.js +19 -9
- package/dist/esm/parts/DSOpinionatedButton/config/useTriggerEventsHandlers.js.map +2 -2
- package/dist/esm/react-desc-prop-types.js +9 -2
- package/dist/esm/react-desc-prop-types.js.map +2 -2
- package/dist/types/config/useSplitInherithedProps.d.ts +3 -2
- package/dist/types/parts/DSMenuBehaviouralContextProvider/config/useFocusTracker.d.ts +3 -1
- package/dist/types/parts/DSMenuBehaviouralContextProvider/config/useMenuItemEventsHandlers.d.ts +1 -0
- package/dist/types/parts/DSMenuBehaviouralContextProvider/config/useMenuOpenStatus.d.ts +12 -4
- package/dist/types/react-desc-prop-types.d.ts +13 -2
- package/package.json +12 -12
|
@@ -23,8 +23,9 @@ export declare const useSplitInherithedProps: ({ propsWithDefault, focusableNode
|
|
|
23
23
|
itemNode: DSMenuButtonT.PseudoFocusableMenuNodes;
|
|
24
24
|
event?: React.SyntheticEvent;
|
|
25
25
|
}) => void) | undefined;
|
|
26
|
-
onOpen: (() => void) | undefined;
|
|
27
|
-
onClose: (
|
|
26
|
+
onOpen: ((metainfo: DSMenuButtonT.MenuOpenMetainfo) => void) | undefined;
|
|
27
|
+
onClose: (metainfo: DSMenuButtonT.MenuCloseMetainfo) => void;
|
|
28
|
+
a11yDangerouslyConsumerOwnedMenuOpenState: boolean | undefined;
|
|
28
29
|
};
|
|
29
30
|
opinionatedButtonProps: {
|
|
30
31
|
innerRef: React.RefCallback<HTMLButtonElement>;
|
|
@@ -5,8 +5,10 @@ export declare const useFocusTracker: () => {
|
|
|
5
5
|
focusRegion: "" | "trigger" | `item-dsid-${string}` | `item-dsid-${number}`;
|
|
6
6
|
focusedElementItemNode: React.MutableRefObject<DSMenuButtonT.PseudoFocusableMenuNodes | null>;
|
|
7
7
|
shouldFocusImmediately: React.MutableRefObject<boolean>;
|
|
8
|
+
shouldRefocusTrigger: React.MutableRefObject<boolean>;
|
|
8
9
|
trackFocusTrigger: (options?: {
|
|
9
|
-
shouldFocusImmediately
|
|
10
|
+
shouldFocusImmediately?: boolean;
|
|
11
|
+
refocusTrigger?: boolean;
|
|
10
12
|
}) => DSMenuButtonT.PseudoFocusableMenuNodes | null;
|
|
11
13
|
trackFocusNode: (nodeToFocus: DSMenuButtonT.PseudoFocusableMenuNodes) => void;
|
|
12
14
|
trackFocusRegionReset: () => DSMenuButtonT.PseudoFocusableMenuNodes | null;
|
package/dist/types/parts/DSMenuBehaviouralContextProvider/config/useMenuItemEventsHandlers.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ type UseMenuItemEventsHandlersConfig = {
|
|
|
10
10
|
handleChangeOpenedSubItems: Required<DSMenuButtonT.MenuBehaviouralLayerOptionalProps>['onDisplayedSubmenuChange'];
|
|
11
11
|
};
|
|
12
12
|
export declare const useMenuItemEventsHandlers: ({ propsWithDefault, focusTrackers, menuOpenStatus, handleChangeOpenedSubItems, }: UseMenuItemEventsHandlersConfig) => {
|
|
13
|
+
handleMenuTabKeyDownCapture: React.KeyboardEventHandler<HTMLElement>;
|
|
13
14
|
handleFocusableMenuItemKeyDown: React.KeyboardEventHandler<HTMLDivElement>;
|
|
14
15
|
handleFocusableMenuItemClick: (event: React.MouseEvent<HTMLDivElement>) => void;
|
|
15
16
|
handleFocusableMenuItemOnMouseEnter: (itemNode: DSMenuButtonT.PseudoFocusableMenuNodes) => void;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type DSMenuButtonT } from '../../../react-desc-prop-types.js';
|
|
1
3
|
import { type DSMenuBehaviouralContextProviderT } from '../react-desc-prop-types.js';
|
|
2
4
|
import type { useFocusTracker } from './useFocusTracker.js';
|
|
3
5
|
type UseMenuOpenStatusConfig = {
|
|
@@ -6,12 +8,18 @@ type UseMenuOpenStatusConfig = {
|
|
|
6
8
|
};
|
|
7
9
|
type OnOpinionatedOpenConfig = {
|
|
8
10
|
focusLastChild?: boolean;
|
|
11
|
+
reason: DSMenuButtonT.MenuOpenReason;
|
|
12
|
+
event?: DSMenuButtonT.MenuOpenMetainfo['event'];
|
|
13
|
+
};
|
|
14
|
+
type OnOpinionatedCloseConfig = {
|
|
15
|
+
skipFocus?: boolean;
|
|
16
|
+
reason: DSMenuButtonT.MenuCloseReason;
|
|
17
|
+
event?: DSMenuButtonT.MenuCloseMetainfo['event'];
|
|
9
18
|
};
|
|
10
19
|
export declare const useMenuOpenStatus: ({ propsWithDefault, focusTrackers }: UseMenuOpenStatusConfig) => {
|
|
11
20
|
isMenuOpen: boolean;
|
|
12
|
-
onOpinionatedClose: ({ skipFocus }
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
onOpinionatedOpen: (config?: OnOpinionatedOpenConfig) => void;
|
|
21
|
+
onOpinionatedClose: ({ skipFocus, reason, event }: OnOpinionatedCloseConfig) => void;
|
|
22
|
+
onOpinionatedOpen: ({ focusLastChild, reason, event }: OnOpinionatedOpenConfig) => void;
|
|
23
|
+
openIntentPendingRef: React.MutableRefObject<boolean>;
|
|
16
24
|
};
|
|
17
25
|
export {};
|
|
@@ -179,6 +179,16 @@ export declare namespace DSMenuButtonT {
|
|
|
179
179
|
}
|
|
180
180
|
interface DefaultProps extends MenuSpecifiDefaultProps, ButtonInheiredDefaultProps, MenuBehaviouralLayerDefaultProps {
|
|
181
181
|
}
|
|
182
|
+
type MenuOpenReason = 'trigger-click' | 'trigger-arrow-down' | 'trigger-arrow-up';
|
|
183
|
+
type MenuCloseReason = 'outside-click' | 'window-blur' | 'escape' | 'tab' | 'item-activation' | 'trigger-toggle';
|
|
184
|
+
interface MenuOpenMetainfo {
|
|
185
|
+
reason: MenuOpenReason;
|
|
186
|
+
event?: React.SyntheticEvent;
|
|
187
|
+
}
|
|
188
|
+
interface MenuCloseMetainfo {
|
|
189
|
+
reason: MenuCloseReason;
|
|
190
|
+
event?: React.SyntheticEvent | MouseEvent | TouchEvent | FocusEvent;
|
|
191
|
+
}
|
|
182
192
|
interface MenuBehaviouralLayerOptionalProps {
|
|
183
193
|
onItemSelected?: (newSelection: SelectionableMenuNodes[], metainfo: {
|
|
184
194
|
itemNode: DSMenuButtonT.SelectionableMenuNodes;
|
|
@@ -188,8 +198,9 @@ export declare namespace DSMenuButtonT {
|
|
|
188
198
|
itemNode: DSMenuButtonT.PseudoFocusableMenuNodes;
|
|
189
199
|
event?: React.SyntheticEvent;
|
|
190
200
|
}) => void;
|
|
191
|
-
onOpen?: () => void;
|
|
192
|
-
onClose?: () => void;
|
|
201
|
+
onOpen?: (metainfo: DSMenuButtonT.MenuOpenMetainfo) => void;
|
|
202
|
+
onClose?: (metainfo: DSMenuButtonT.MenuCloseMetainfo) => void;
|
|
203
|
+
a11yDangerouslyConsumerOwnedMenuOpenState?: boolean;
|
|
193
204
|
onDisplayedSubmenuChange?: (newOpenedItems: DSMenuButtonT.WithSubmenuMenuNodes[], metainfo: {
|
|
194
205
|
itemNode: DSMenuButtonT.PseudoFocusableMenuNodes | null;
|
|
195
206
|
event?: React.SyntheticEvent | FocusEvent | TouchEvent;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-menu-button",
|
|
3
|
-
"version": "3.80.0-next.
|
|
3
|
+
"version": "3.80.0-next.53",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Menu Button",
|
|
6
6
|
"files": [
|
|
@@ -36,19 +36,19 @@
|
|
|
36
36
|
"indent": 4
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@elliemae/ds-button-v2": "3.80.0-next.
|
|
40
|
-
"@elliemae/ds-floating-context": "3.80.0-next.
|
|
41
|
-
"@elliemae/ds-grid": "3.80.0-next.
|
|
42
|
-
"@elliemae/ds-hooks-on-blur-out": "3.80.0-next.
|
|
43
|
-
"@elliemae/ds-icons": "3.80.0-next.
|
|
44
|
-
"@elliemae/ds-menu-items-commons": "3.80.0-next.
|
|
45
|
-
"@elliemae/ds-props-helpers": "3.80.0-next.
|
|
46
|
-
"@elliemae/ds-system": "3.80.0-next.
|
|
47
|
-
"@elliemae/ds-tree-model": "3.80.0-next.
|
|
39
|
+
"@elliemae/ds-button-v2": "3.80.0-next.53",
|
|
40
|
+
"@elliemae/ds-floating-context": "3.80.0-next.53",
|
|
41
|
+
"@elliemae/ds-grid": "3.80.0-next.53",
|
|
42
|
+
"@elliemae/ds-hooks-on-blur-out": "3.80.0-next.53",
|
|
43
|
+
"@elliemae/ds-icons": "3.80.0-next.53",
|
|
44
|
+
"@elliemae/ds-menu-items-commons": "3.80.0-next.53",
|
|
45
|
+
"@elliemae/ds-props-helpers": "3.80.0-next.53",
|
|
46
|
+
"@elliemae/ds-system": "3.80.0-next.53",
|
|
47
|
+
"@elliemae/ds-tree-model": "3.80.0-next.53"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@elliemae/ds-monorepo-devops": "3.80.0-next.
|
|
51
|
-
"@elliemae/ds-typescript-helpers": "3.80.0-next.
|
|
50
|
+
"@elliemae/ds-monorepo-devops": "3.80.0-next.53",
|
|
51
|
+
"@elliemae/ds-typescript-helpers": "3.80.0-next.53",
|
|
52
52
|
"@elliemae/pui-theme": "~2.13.0",
|
|
53
53
|
"jest": "^30.0.0",
|
|
54
54
|
"styled-components": "~5.3.11"
|