From 1652b00b9d81db222b5e11103dd94b59ccf20dc5 Mon Sep 17 00:00:00 2001 From: flavien Date: Mon, 21 Oct 2024 09:47:37 +0200 Subject: [PATCH] [TreeView] Make the cancellable event types public --- .../src/TreeItem/TreeItem.types.ts | 5 ++--- .../src/TreeItem/TreeItemContent.tsx | 4 ++-- .../src/TreeItem/useTreeItemState.ts | 4 ++-- .../src/TreeItem2/TreeItem2.types.ts | 6 ++--- .../TreeItem2LabelInput.types.ts | 6 ++--- .../useTreeItem2Utils/useTreeItem2Utils.tsx | 4 ++-- packages/x-tree-view/src/internals/index.ts | 2 -- .../internals/models/MuiCancellableEvent.ts | 5 ----- .../x-tree-view/src/internals/models/index.ts | 1 - .../useTreeViewFocus/useTreeViewFocus.ts | 4 ++-- .../useTreeViewKeyboardNavigation.ts | 5 +++-- .../useTreeViewKeyboardNavigation.types.ts | 8 +++---- .../useTreeViewLabel.itemPlugin.ts | 9 +++++--- packages/x-tree-view/src/models/events.ts | 8 +++++++ packages/x-tree-view/src/models/index.ts | 1 + .../src/useTreeItem2/useTreeItem2.ts | 22 +++++++++---------- .../src/useTreeItem2/useTreeItem2.types.ts | 20 ++++++++--------- scripts/x-tree-view-pro.exports.json | 2 ++ scripts/x-tree-view.exports.json | 2 ++ 19 files changed, 62 insertions(+), 56 deletions(-) delete mode 100644 packages/x-tree-view/src/internals/models/MuiCancellableEvent.ts create mode 100644 packages/x-tree-view/src/models/events.ts diff --git a/packages/x-tree-view/src/TreeItem/TreeItem.types.ts b/packages/x-tree-view/src/TreeItem/TreeItem.types.ts index c00ccde26717c..222266527fa98 100644 --- a/packages/x-tree-view/src/TreeItem/TreeItem.types.ts +++ b/packages/x-tree-view/src/TreeItem/TreeItem.types.ts @@ -5,9 +5,8 @@ import { TransitionProps } from '@mui/material/transitions'; import { SxProps } from '@mui/system'; import { TreeItemContentProps } from './TreeItemContent'; import { TreeItemClasses } from './treeItemClasses'; -import { TreeViewItemId } from '../models'; +import { TreeViewItemId, TreeViewCancellableEventHandler } from '../models'; import { SlotComponentPropsFromProps } from '../internals/models'; -import { MuiCancellableEventHandler } from '../internals/models/MuiCancellableEvent'; import { UseTreeViewIconsSignature } from '../internals/plugins/useTreeViewIcons'; import { UseTreeViewSelectionSignature } from '../internals/plugins/useTreeViewSelection'; import { UseTreeViewItemsSignature } from '../internals/plugins/useTreeViewItems'; @@ -103,7 +102,7 @@ export interface TreeItemProps extends Omit, /** * Callback fired when a key of the keyboard is pressed on the item. */ - onKeyDown?: MuiCancellableEventHandler>; + onKeyDown?: TreeViewCancellableEventHandler>; } export interface TreeItemOwnerState extends TreeItemProps { diff --git a/packages/x-tree-view/src/TreeItem/TreeItemContent.tsx b/packages/x-tree-view/src/TreeItem/TreeItemContent.tsx index 5df9134e2cf1d..15a0d73496799 100644 --- a/packages/x-tree-view/src/TreeItem/TreeItemContent.tsx +++ b/packages/x-tree-view/src/TreeItem/TreeItemContent.tsx @@ -8,7 +8,7 @@ import { TreeItem2DragAndDropOverlayProps, } from '../TreeItem2DragAndDropOverlay'; import { TreeItem2LabelInput, TreeItem2LabelInputProps } from '../TreeItem2LabelInput'; -import { MuiCancellableEvent } from '../internals/models'; +import { TreeViewCancellableEvent } from '../models'; export interface TreeItemContentProps extends React.HTMLAttributes { className?: string; @@ -136,7 +136,7 @@ const TreeItemContent = React.forwardRef(function TreeItemContent( } }; - const handleLabelDoubleClick = (event: React.MouseEvent & MuiCancellableEvent) => { + const handleLabelDoubleClick = (event: React.MouseEvent & TreeViewCancellableEvent) => { if (event.defaultMuiPrevented) { return; } diff --git a/packages/x-tree-view/src/TreeItem/useTreeItemState.ts b/packages/x-tree-view/src/TreeItem/useTreeItemState.ts index f28549c2603cb..5553684131888 100644 --- a/packages/x-tree-view/src/TreeItem/useTreeItemState.ts +++ b/packages/x-tree-view/src/TreeItem/useTreeItemState.ts @@ -1,6 +1,6 @@ 'use client'; import * as React from 'react'; -import { MuiCancellableEvent } from '../internals/models/MuiCancellableEvent'; +import { TreeViewCancellableEvent } from '../models'; import { useTreeViewContext } from '../internals/TreeViewProvider'; import { UseTreeViewSelectionSignature } from '../internals/plugins/useTreeViewSelection'; import { UseTreeViewExpansionSignature } from '../internals/plugins/useTreeViewExpansion'; @@ -107,7 +107,7 @@ export function useTreeItemState(itemId: string) { }; const handleSaveItemLabel = ( - event: React.SyntheticEvent & MuiCancellableEvent, + event: React.SyntheticEvent & TreeViewCancellableEvent, label: string, ) => { if (!hasPlugin(instance, useTreeViewLabel)) { diff --git a/packages/x-tree-view/src/TreeItem2/TreeItem2.types.ts b/packages/x-tree-view/src/TreeItem2/TreeItem2.types.ts index e72de430bd953..d4be829641895 100644 --- a/packages/x-tree-view/src/TreeItem2/TreeItem2.types.ts +++ b/packages/x-tree-view/src/TreeItem2/TreeItem2.types.ts @@ -3,7 +3,7 @@ import { SlotComponentProps } from '@mui/utils'; import { UseTreeItem2Parameters, UseTreeItem2Status } from '../useTreeItem2'; import { TreeItemClasses } from '../TreeItem'; import { TreeItem2IconSlotProps, TreeItem2IconSlots } from '../TreeItem2Icon'; -import { MuiCancellableEventHandler } from '../internals/models/MuiCancellableEvent'; +import { TreeViewCancellableEventHandler } from '../models'; export interface TreeItem2Slots extends TreeItem2IconSlots { /** @@ -87,11 +87,11 @@ export interface TreeItem2Props /** * Callback fired when the item root is blurred. */ - onBlur?: MuiCancellableEventHandler>; + onBlur?: TreeViewCancellableEventHandler>; /** * Callback fired when a key is pressed on the keyboard and the tree is in focus. */ - onKeyDown?: MuiCancellableEventHandler>; + onKeyDown?: TreeViewCancellableEventHandler>; } export interface TreeItem2OwnerState extends Omit, UseTreeItem2Status {} diff --git a/packages/x-tree-view/src/TreeItem2LabelInput/TreeItem2LabelInput.types.ts b/packages/x-tree-view/src/TreeItem2LabelInput/TreeItem2LabelInput.types.ts index 099b8c5b2b5e0..73b8e8159fa27 100644 --- a/packages/x-tree-view/src/TreeItem2LabelInput/TreeItem2LabelInput.types.ts +++ b/packages/x-tree-view/src/TreeItem2LabelInput/TreeItem2LabelInput.types.ts @@ -1,5 +1,5 @@ import * as React from 'react'; -import { MuiCancellableEventHandler } from '../internals/models/MuiCancellableEvent'; +import { TreeViewCancellableEventHandler } from '../models'; export interface TreeItem2LabelInputProps { value?: string; @@ -8,8 +8,8 @@ export interface TreeItem2LabelInputProps { */ 'data-element'?: 'labelInput'; onChange?: React.ChangeEventHandler; - onKeyDown?: MuiCancellableEventHandler>; - onBlur?: MuiCancellableEventHandler>; + onKeyDown?: TreeViewCancellableEventHandler>; + onBlur?: TreeViewCancellableEventHandler>; autoFocus?: true; type?: 'text'; } diff --git a/packages/x-tree-view/src/hooks/useTreeItem2Utils/useTreeItem2Utils.tsx b/packages/x-tree-view/src/hooks/useTreeItem2Utils/useTreeItem2Utils.tsx index cac94733ea711..1204f925ff97a 100644 --- a/packages/x-tree-view/src/hooks/useTreeItem2Utils/useTreeItem2Utils.tsx +++ b/packages/x-tree-view/src/hooks/useTreeItem2Utils/useTreeItem2Utils.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import { MuiCancellableEvent } from '../../internals/models/MuiCancellableEvent'; +import { TreeViewCancellableEvent } from '../../models'; import { useTreeViewContext } from '../../internals/TreeViewProvider'; import { UseTreeViewSelectionSignature } from '../../internals/plugins/useTreeViewSelection'; import { UseTreeViewExpansionSignature } from '../../internals/plugins/useTreeViewExpansion'; @@ -150,7 +150,7 @@ export const useTreeItem2Utils = < }; const handleSaveItemLabel = ( - event: React.SyntheticEvent & MuiCancellableEvent, + event: React.SyntheticEvent & TreeViewCancellableEvent, label: string, ) => { if (!hasPlugin(instance, useTreeViewLabel)) { diff --git a/packages/x-tree-view/src/internals/index.ts b/packages/x-tree-view/src/internals/index.ts index 6fd119a8ffb92..fa24b5ede3fb2 100644 --- a/packages/x-tree-view/src/internals/index.ts +++ b/packages/x-tree-view/src/internals/index.ts @@ -16,8 +16,6 @@ export type { TreeViewInstance, DefaultizedProps, TreeViewItemPlugin, - MuiCancellableEvent, - MuiCancellableEventHandler, } from './models'; // Core plugins diff --git a/packages/x-tree-view/src/internals/models/MuiCancellableEvent.ts b/packages/x-tree-view/src/internals/models/MuiCancellableEvent.ts deleted file mode 100644 index 78596ff9ba9e6..0000000000000 --- a/packages/x-tree-view/src/internals/models/MuiCancellableEvent.ts +++ /dev/null @@ -1,5 +0,0 @@ -export type MuiCancellableEvent = { - defaultMuiPrevented?: boolean; -}; - -export type MuiCancellableEventHandler = (event: Event & MuiCancellableEvent) => void; diff --git a/packages/x-tree-view/src/internals/models/index.ts b/packages/x-tree-view/src/internals/models/index.ts index 7478186e4ea91..9095cd823af3f 100644 --- a/packages/x-tree-view/src/internals/models/index.ts +++ b/packages/x-tree-view/src/internals/models/index.ts @@ -2,4 +2,3 @@ export * from './helpers'; export * from './plugin'; export * from './itemPlugin'; export * from './treeView'; -export * from './MuiCancellableEvent'; diff --git a/packages/x-tree-view/src/internals/plugins/useTreeViewFocus/useTreeViewFocus.ts b/packages/x-tree-view/src/internals/plugins/useTreeViewFocus/useTreeViewFocus.ts index 96fe7f1b34a37..5e86c40374bd1 100644 --- a/packages/x-tree-view/src/internals/plugins/useTreeViewFocus/useTreeViewFocus.ts +++ b/packages/x-tree-view/src/internals/plugins/useTreeViewFocus/useTreeViewFocus.ts @@ -7,7 +7,7 @@ import { UseTreeViewFocusSignature } from './useTreeViewFocus.types'; import { useInstanceEventHandler } from '../../hooks/useInstanceEventHandler'; import { getActiveElement } from '../../utils/utils'; import { getFirstNavigableItem } from '../../utils/tree'; -import { MuiCancellableEvent } from '../../models/MuiCancellableEvent'; +import { TreeViewCancellableEvent } from '../../../models'; import { convertSelectedItemsToArray } from '../useTreeViewSelection/useTreeViewSelection.utils'; const useDefaultFocusableItemId = ( @@ -110,7 +110,7 @@ export const useTreeViewFocus: TreeViewPlugin = ({ const createRootHandleFocus = (otherHandlers: EventHandlers) => - (event: React.FocusEvent & MuiCancellableEvent) => { + (event: React.FocusEvent & TreeViewCancellableEvent) => { otherHandlers.onFocus?.(event); if (event.defaultMuiPrevented) { return; diff --git a/packages/x-tree-view/src/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.ts b/packages/x-tree-view/src/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.ts index 5b2739b6f9887..e5f587f755716 100644 --- a/packages/x-tree-view/src/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.ts +++ b/packages/x-tree-view/src/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.ts @@ -1,7 +1,8 @@ import * as React from 'react'; import { useRtl } from '@mui/system/RtlProvider'; import useEventCallback from '@mui/utils/useEventCallback'; -import { TreeViewItemMeta, TreeViewPlugin, MuiCancellableEvent } from '../../models'; +import { TreeViewCancellableEvent } from '../../../models'; +import { TreeViewItemMeta, TreeViewPlugin } from '../../models'; import { getFirstNavigableItem, getLastNavigableItem, @@ -85,7 +86,7 @@ export const useTreeViewKeyboardNavigation: TreeViewPlugin< // ARIA specification: https://www.w3.org/WAI/ARIA/apg/patterns/treeview/#keyboardinteraction const handleItemKeyDown = ( - event: React.KeyboardEvent & MuiCancellableEvent, + event: React.KeyboardEvent & TreeViewCancellableEvent, itemId: string, ) => { if (event.defaultMuiPrevented) { diff --git a/packages/x-tree-view/src/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.ts b/packages/x-tree-view/src/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.ts index 921e874c9e80b..deaec508ac614 100644 --- a/packages/x-tree-view/src/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.ts +++ b/packages/x-tree-view/src/internals/plugins/useTreeViewKeyboardNavigation/useTreeViewKeyboardNavigation.types.ts @@ -1,10 +1,10 @@ import * as React from 'react'; -import { TreeViewPluginSignature, MuiCancellableEvent } from '../../models'; +import { TreeViewPluginSignature } from '../../models'; import { UseTreeViewItemsSignature } from '../useTreeViewItems'; import { UseTreeViewSelectionSignature } from '../useTreeViewSelection'; import { UseTreeViewFocusSignature } from '../useTreeViewFocus'; import { UseTreeViewExpansionSignature } from '../useTreeViewExpansion'; -import { TreeViewItemId } from '../../../models'; +import { TreeViewItemId, TreeViewCancellableEvent } from '../../../models'; import { UseTreeViewLabelSignature } from '../useTreeViewLabel'; export interface UseTreeViewKeyboardNavigationInstance { @@ -18,11 +18,11 @@ export interface UseTreeViewKeyboardNavigationInstance { /** * Callback fired when a key is pressed on an item. * Handles all the keyboard navigation logic. - * @param {React.KeyboardEvent & MuiCancellableEvent} event The keyboard event that triggered the callback. + * @param {React.KeyboardEvent & TreeViewCancellableEvent} event The keyboard event that triggered the callback. * @param {TreeViewItemId} itemId The id of the item that the event was triggered on. */ handleItemKeyDown: ( - event: React.KeyboardEvent & MuiCancellableEvent, + event: React.KeyboardEvent & TreeViewCancellableEvent, itemId: TreeViewItemId, ) => void; } diff --git a/packages/x-tree-view/src/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.ts b/packages/x-tree-view/src/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.ts index 3a663be337b80..6f2aaf91f2f35 100644 --- a/packages/x-tree-view/src/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.ts +++ b/packages/x-tree-view/src/internals/plugins/useTreeViewLabel/useTreeViewLabel.itemPlugin.ts @@ -1,6 +1,7 @@ import * as React from 'react'; import { useTreeViewContext } from '../../TreeViewProvider'; -import { MuiCancellableEvent, TreeViewItemPlugin } from '../../models'; +import { TreeViewCancellableEvent } from '../../../models'; +import { TreeViewItemPlugin } from '../../models'; import { UseTreeViewItemsSignature } from '../useTreeViewItems'; import { UseTreeItem2LabelInputSlotPropsFromLabelEditing, @@ -34,7 +35,7 @@ export const useTreeViewLabelItemPlugin: TreeViewItemPlugin = ({ props }) = } const handleKeydown = ( - event: React.KeyboardEvent & MuiCancellableEvent, + event: React.KeyboardEvent & TreeViewCancellableEvent, ) => { externalEventHandlers.onKeyDown?.(event); if (event.defaultMuiPrevented) { @@ -49,7 +50,9 @@ export const useTreeViewLabelItemPlugin: TreeViewItemPlugin = ({ props }) = } }; - const handleBlur = (event: React.FocusEvent & MuiCancellableEvent) => { + const handleBlur = ( + event: React.FocusEvent & TreeViewCancellableEvent, + ) => { externalEventHandlers.onBlur?.(event); if (event.defaultMuiPrevented) { return; diff --git a/packages/x-tree-view/src/models/events.ts b/packages/x-tree-view/src/models/events.ts new file mode 100644 index 0000000000000..bddb1e4fea7e1 --- /dev/null +++ b/packages/x-tree-view/src/models/events.ts @@ -0,0 +1,8 @@ +export type TreeViewCancellableEvent = { + // TODO: Rename `defaultXTreeViewPrevented` + defaultMuiPrevented?: boolean; +}; + +export type TreeViewCancellableEventHandler = ( + event: Event & TreeViewCancellableEvent, +) => void; diff --git a/packages/x-tree-view/src/models/index.ts b/packages/x-tree-view/src/models/index.ts index d3853dec6dd71..460d553fdd5cb 100644 --- a/packages/x-tree-view/src/models/index.ts +++ b/packages/x-tree-view/src/models/index.ts @@ -1,4 +1,5 @@ export * from './items'; +export * from './events'; // Utils shared across the X packages export type { PropsFromSlot } from '@mui/x-internals/slots'; diff --git a/packages/x-tree-view/src/useTreeItem2/useTreeItem2.ts b/packages/x-tree-view/src/useTreeItem2/useTreeItem2.ts index 54f210b799e55..6eb05172543f9 100644 --- a/packages/x-tree-view/src/useTreeItem2/useTreeItem2.ts +++ b/packages/x-tree-view/src/useTreeItem2/useTreeItem2.ts @@ -2,6 +2,7 @@ import * as React from 'react'; import { EventHandlers } from '@mui/utils'; import extractEventHandlers from '@mui/utils/extractEventHandlers'; import useForkRef from '@mui/utils/useForkRef'; +import { TreeViewCancellableEvent } from '../models'; import { UseTreeItem2Parameters, UseTreeItem2ReturnValue, @@ -19,10 +20,7 @@ import { UseTreeItem2ContentSlotPropsFromUseTreeItem, } from './useTreeItem2.types'; import { useTreeViewContext } from '../internals/TreeViewProvider'; -import { - MuiCancellableEvent, - TreeViewItemPluginSlotPropsEnhancerParams, -} from '../internals/models'; +import { TreeViewItemPluginSlotPropsEnhancerParams } from '../internals/models'; import { useTreeItem2Utils } from '../hooks/useTreeItem2Utils'; import { TreeViewItemDepthContext } from '../internals/TreeViewItemDepthContext'; import { isTargetInDescendants } from '../internals/utils/tree'; @@ -65,7 +63,7 @@ export const useTreeItem2 = < const createRootHandleFocus = (otherHandlers: EventHandlers) => - (event: React.FocusEvent & MuiCancellableEvent) => { + (event: React.FocusEvent & TreeViewCancellableEvent) => { otherHandlers.onFocus?.(event); if (event.defaultMuiPrevented) { return; @@ -79,7 +77,7 @@ export const useTreeItem2 = < const createRootHandleBlur = (otherHandlers: EventHandlers) => - (event: React.FocusEvent & MuiCancellableEvent) => { + (event: React.FocusEvent & TreeViewCancellableEvent) => { otherHandlers.onBlur?.(event); if (event.defaultMuiPrevented) { return; @@ -109,7 +107,7 @@ export const useTreeItem2 = < const createRootHandleKeyDown = (otherHandlers: EventHandlers) => - (event: React.KeyboardEvent & MuiCancellableEvent) => { + (event: React.KeyboardEvent & TreeViewCancellableEvent) => { otherHandlers.onKeyDown?.(event); if ( event.defaultMuiPrevented || @@ -122,7 +120,7 @@ export const useTreeItem2 = < }; const createLabelHandleDoubleClick = - (otherHandlers: EventHandlers) => (event: React.MouseEvent & MuiCancellableEvent) => { + (otherHandlers: EventHandlers) => (event: React.MouseEvent & TreeViewCancellableEvent) => { otherHandlers.onDoubleClick?.(event); if (event.defaultMuiPrevented) { return; @@ -131,7 +129,7 @@ export const useTreeItem2 = < }; const createContentHandleClick = - (otherHandlers: EventHandlers) => (event: React.MouseEvent & MuiCancellableEvent) => { + (otherHandlers: EventHandlers) => (event: React.MouseEvent & TreeViewCancellableEvent) => { otherHandlers.onClick?.(event); onItemClick?.(event, itemId); @@ -148,7 +146,7 @@ export const useTreeItem2 = < }; const createContentHandleMouseDown = - (otherHandlers: EventHandlers) => (event: React.MouseEvent & MuiCancellableEvent) => { + (otherHandlers: EventHandlers) => (event: React.MouseEvent & TreeViewCancellableEvent) => { otherHandlers.onMouseDown?.(event); if (event.defaultMuiPrevented) { return; @@ -162,7 +160,7 @@ export const useTreeItem2 = < const createCheckboxHandleChange = (otherHandlers: EventHandlers) => - (event: React.ChangeEvent & MuiCancellableEvent) => { + (event: React.ChangeEvent & TreeViewCancellableEvent) => { otherHandlers.onChange?.(event); if (event.defaultMuiPrevented) { return; @@ -176,7 +174,7 @@ export const useTreeItem2 = < }; const createIconContainerHandleClick = - (otherHandlers: EventHandlers) => (event: React.MouseEvent & MuiCancellableEvent) => { + (otherHandlers: EventHandlers) => (event: React.MouseEvent & TreeViewCancellableEvent) => { otherHandlers.onClick?.(event); if (event.defaultMuiPrevented) { return; diff --git a/packages/x-tree-view/src/useTreeItem2/useTreeItem2.types.ts b/packages/x-tree-view/src/useTreeItem2/useTreeItem2.types.ts index a859514bd2833..3d711b079230f 100644 --- a/packages/x-tree-view/src/useTreeItem2/useTreeItem2.types.ts +++ b/packages/x-tree-view/src/useTreeItem2/useTreeItem2.types.ts @@ -1,6 +1,6 @@ import * as React from 'react'; -import { TreeViewItemId } from '../models'; -import { TreeViewPublicAPI, MuiCancellableEventHandler } from '../internals/models'; +import { TreeViewItemId, TreeViewCancellableEventHandler } from '../models'; +import { TreeViewPublicAPI } from '../internals/models'; import { UseTreeViewSelectionSignature } from '../internals/plugins/useTreeViewSelection'; import { UseTreeViewItemsSignature } from '../internals/plugins/useTreeViewItems'; import { UseTreeViewFocusSignature } from '../internals/plugins/useTreeViewFocus'; @@ -41,9 +41,9 @@ export interface UseTreeItem2RootSlotPropsFromUseTreeItem { 'aria-expanded': React.AriaAttributes['aria-expanded']; 'aria-selected': React.AriaAttributes['aria-selected']; 'aria-disabled': React.AriaAttributes['aria-disabled']; - onFocus: MuiCancellableEventHandler>; - onBlur: MuiCancellableEventHandler>; - onKeyDown: MuiCancellableEventHandler>; + onFocus: TreeViewCancellableEventHandler>; + onBlur: TreeViewCancellableEventHandler>; + onKeyDown: TreeViewCancellableEventHandler>; ref: React.RefCallback; /** * Only defined when the `indentationAtItemLevel` experimental feature is enabled. @@ -57,8 +57,8 @@ export type UseTreeItem2RootSlotProps = ExternalProps & UseTreeItem2RootSlotOwnProps; export interface UseTreeItem2ContentSlotPropsFromUseTreeItem { - onClick: MuiCancellableEventHandler; - onMouseDown: MuiCancellableEventHandler; + onClick: TreeViewCancellableEventHandler; + onMouseDown: TreeViewCancellableEventHandler; ref: React.RefCallback | null; status: UseTreeItem2Status; /** @@ -74,7 +74,7 @@ export type UseTreeItem2ContentSlotProps = ExternalProps & UseTreeItem2ContentSlotOwnProps; export interface UseTreeItem2IconContainerSlotOwnProps { - onClick: MuiCancellableEventHandler; + onClick: TreeViewCancellableEventHandler; } export type UseTreeItemIconContainerSlotProps = ExternalProps & @@ -82,7 +82,7 @@ export type UseTreeItemIconContainerSlotProps = ExternalProp export interface UseTreeItem2LabelSlotOwnProps { children: React.ReactNode; - onDoubleClick: MuiCancellableEventHandler; + onDoubleClick: TreeViewCancellableEventHandler; /** * Only defined when the `isItemEditable` experimental feature is enabled. */ @@ -100,7 +100,7 @@ export type UseTreeItem2LabelInputSlotProps = ExternalProps export interface UseTreeItem2CheckboxSlotOwnProps { visible: boolean; checked: boolean; - onChange: MuiCancellableEventHandler>; + onChange: TreeViewCancellableEventHandler>; disabled: boolean; ref: React.RefObject; tabIndex: -1; diff --git a/scripts/x-tree-view-pro.exports.json b/scripts/x-tree-view-pro.exports.json index aa48d50761f16..decec771aa7fd 100644 --- a/scripts/x-tree-view-pro.exports.json +++ b/scripts/x-tree-view-pro.exports.json @@ -51,6 +51,8 @@ { "name": "TreeItemSlots", "kind": "Interface" }, { "name": "TreeView", "kind": "Variable" }, { "name": "TreeViewBaseItem", "kind": "TypeAlias" }, + { "name": "TreeViewCancellableEvent", "kind": "TypeAlias" }, + { "name": "TreeViewCancellableEventHandler", "kind": "TypeAlias" }, { "name": "treeViewClasses", "kind": "Variable" }, { "name": "TreeViewClasses", "kind": "Interface" }, { "name": "TreeViewClassKey", "kind": "TypeAlias" }, diff --git a/scripts/x-tree-view.exports.json b/scripts/x-tree-view.exports.json index ad00319179cf5..67797b594ce19 100644 --- a/scripts/x-tree-view.exports.json +++ b/scripts/x-tree-view.exports.json @@ -55,6 +55,8 @@ { "name": "TreeItemSlots", "kind": "Interface" }, { "name": "TreeView", "kind": "Variable" }, { "name": "TreeViewBaseItem", "kind": "TypeAlias" }, + { "name": "TreeViewCancellableEvent", "kind": "TypeAlias" }, + { "name": "TreeViewCancellableEventHandler", "kind": "TypeAlias" }, { "name": "treeViewClasses", "kind": "Variable" }, { "name": "TreeViewClasses", "kind": "Interface" }, { "name": "TreeViewClassKey", "kind": "TypeAlias" },