PropertyType Management abgeschlossen

This commit is contained in:
2026-08-19 14:53:15 +02:00
parent 2f328e9355
commit 2774a64edc
646 changed files with 76583 additions and 22642 deletions
File diff suppressed because it is too large Load Diff
+23
View File
@@ -0,0 +1,23 @@
# License
MIT License
Copyright (c) 2020 Material-UI SAS
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
@@ -0,0 +1,16 @@
# MUI X Tree View
This package is the Community plan edition of the Tree View components.
It's part of [MUI X](https://mui.com/x/), an open-core extension of our Core libraries, with advanced components.
## Installation
Install the package in your project directory with:
```bash
npm install @mui/x-tree-view @mui/material @emotion/react @emotion/styled
```
## Documentation
Visit [https://mui.com/x/react-tree-view/](https://mui.com/x/react-tree-view/) to view the full documentation.
@@ -0,0 +1,18 @@
import * as React from 'react';
import type { RichTreeViewProps } from "./RichTreeView.types.mjs";
export declare const RichTreeViewRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLUListElement>, HTMLUListElement>, keyof React.ClassAttributes<HTMLUListElement> | keyof React.HTMLAttributes<HTMLUListElement>>, {}>;
type RichTreeViewComponent = (<R extends {}, Multiple extends boolean | undefined = undefined>(props: RichTreeViewProps<R, Multiple> & React.RefAttributes<HTMLUListElement>) => React.JSX.Element) & {
propTypes?: any;
};
/**
*
* Demos:
*
* - [Tree View](https://mui.com/x/react-tree-view/)
*
* API:
*
* - [RichTreeView API](https://mui.com/x/api/tree-view/rich-tree-view/)
*/
declare const RichTreeView: RichTreeViewComponent;
export { RichTreeView };
@@ -0,0 +1,18 @@
import * as React from 'react';
import type { RichTreeViewProps } from "./RichTreeView.types.js";
export declare const RichTreeViewRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLUListElement>, HTMLUListElement>, keyof React.ClassAttributes<HTMLUListElement> | keyof React.HTMLAttributes<HTMLUListElement>>, {}>;
type RichTreeViewComponent = (<R extends {}, Multiple extends boolean | undefined = undefined>(props: RichTreeViewProps<R, Multiple> & React.RefAttributes<HTMLUListElement>) => React.JSX.Element) & {
propTypes?: any;
};
/**
*
* Demos:
*
* - [Tree View](https://mui.com/x/react-tree-view/)
*
* API:
*
* - [RichTreeView API](https://mui.com/x/api/tree-view/rich-tree-view/)
*/
declare const RichTreeView: RichTreeViewComponent;
export { RichTreeView };
@@ -0,0 +1,367 @@
"use strict";
'use client';
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.RichTreeViewRoot = exports.RichTreeView = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var React = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _useMergedRefs = require("@base-ui/utils/useMergedRefs");
var _store = require("@mui/x-internals/store");
var _Alert = _interopRequireDefault(require("@mui/material/Alert"));
var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
var _warning = require("@mui/x-internals/warning");
var _richTreeViewClasses = require("./richTreeViewClasses");
var _zeroStyled = require("../internals/zero-styled");
var _TreeViewProvider = require("../internals/TreeViewProvider");
var _RichTreeViewItems = require("../internals/components/RichTreeViewItems");
var _lazyLoading = require("../internals/plugins/lazyLoading");
var _TreeViewItemDepthContext = require("../internals/TreeViewItemDepthContext");
var _useExtractRichTreeViewParameters = require("./useExtractRichTreeViewParameters");
var _items = require("../internals/plugins/items");
var _useTreeViewStore = require("../internals/hooks/useTreeViewStore");
var _RichTreeViewStore = require("../internals/RichTreeViewStore");
var _jsxRuntime = require("react/jsx-runtime");
const useThemeProps = (0, _zeroStyled.createUseThemeProps)('MuiRichTreeView');
const useUtilityClasses = ownerState => {
const {
classes
} = ownerState;
return React.useMemo(() => {
const slots = {
root: ['root'],
item: ['item'],
itemContent: ['itemContent'],
itemGroupTransition: ['itemGroupTransition'],
itemIconContainer: ['itemIconContainer'],
itemLabel: ['itemLabel'],
itemLabelInput: ['itemLabelInput'],
itemCheckbox: ['itemCheckbox']
// itemDragAndDropOverlay: ['itemDragAndDropOverlay'], => feature not available on this component
// itemErrorIcon: ['itemErrorIcon'], => feature not available on this component
};
return (0, _composeClasses.default)(slots, _richTreeViewClasses.getRichTreeViewUtilityClass, classes);
}, [classes]);
};
const RichTreeViewRoot = exports.RichTreeViewRoot = (0, _zeroStyled.styled)('ul', {
name: 'MuiRichTreeView',
slot: 'Root'
})({
padding: 0,
margin: 0,
listStyle: 'none',
outline: 0,
position: 'relative'
});
/**
*
* Demos:
*
* - [Tree View](https://mui.com/x/react-tree-view/)
*
* API:
*
* - [RichTreeView API](https://mui.com/x/api/tree-view/rich-tree-view/)
*/
const RichTreeView = exports.RichTreeView = /*#__PURE__*/React.forwardRef(function RichTreeView(inProps, forwardedRef) {
const props = useThemeProps({
props: inProps,
name: 'MuiRichTreeView'
});
if (process.env.NODE_ENV !== 'production') {
if (props.children != null) {
(0, _warning.warnOnce)(['MUI X: The Rich Tree View component does not support JSX children.', 'If you want to add items, you need to use the `items` prop.', 'Check the documentation for more details: https://mui.com/x/react-tree-view/rich-tree-view/items/.']);
}
}
const {
slots: inSlots,
slotProps,
apiRef,
parameters,
forwardedProps
} = (0, _useExtractRichTreeViewParameters.useExtractRichTreeViewParameters)(props);
// Context hooks
const store = (0, _useTreeViewStore.useTreeViewStore)(_RichTreeViewStore.RichTreeViewStore, parameters);
// Ref hooks
const ref = React.useRef(null);
const handleRef = (0, _useMergedRefs.useMergedRefs)(forwardedRef, ref);
// Selector hooks
const isLoading = (0, _store.useStore)(store, _lazyLoading.lazyLoadingSelectors.isItemLoading, null);
const error = (0, _store.useStore)(store, _lazyLoading.lazyLoadingSelectors.itemError, null);
// Feature hooks
const classes = useUtilityClasses(props);
const slots = React.useMemo(() => (0, _extends2.default)({
root: RichTreeViewRoot
}, inSlots), [inSlots]);
if (isLoading) {
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
children: "Loading\u2026"
});
}
if (error) {
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Alert.default, {
severity: "error",
children: error.message
});
}
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeViewProvider.TreeViewProvider, {
store: store,
classes: classes,
slots: slots,
slotProps: slotProps,
apiRef: apiRef,
rootRef: ref,
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeViewItemDepthContext.TreeViewItemDepthContext.Provider, {
value: _items.itemsSelectors.itemDepth,
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_RichTreeViewItems.RichTreeViewItems, {
slots: slots,
slotProps: slotProps,
forwardedProps: forwardedProps,
ownerState: props,
rootRef: handleRef
})
})
});
});
if (process.env.NODE_ENV !== "production") RichTreeView.displayName = "RichTreeView";
process.env.NODE_ENV !== "production" ? RichTreeView.propTypes /* remove-proptypes */ = {
// ----------------------------- Warning --------------------------------
// | These PropTypes are generated from the TypeScript type definitions |
// | To update them edit the TypeScript types and run "pnpm proptypes" |
// ----------------------------------------------------------------------
/**
* The ref object that allows Tree View manipulation. Can be instantiated with `useRichTreeViewApiRef()`.
*/
apiRef: _propTypes.default.shape({
current: _propTypes.default.shape({
addItems: _propTypes.default.func,
focusItem: _propTypes.default.func,
getItem: _propTypes.default.func,
getItemDOMElement: _propTypes.default.func,
getItemOrderedChildrenIds: _propTypes.default.func,
getItemSelection: _propTypes.default.func,
getItemTree: _propTypes.default.func,
getParentId: _propTypes.default.func,
isItemExpanded: _propTypes.default.func,
setEditedItem: _propTypes.default.func,
setIsItemDisabled: _propTypes.default.func,
setItemExpansion: _propTypes.default.func,
setItemSelection: _propTypes.default.func,
updateItemLabel: _propTypes.default.func
})
}),
/**
* Whether the Tree View renders a checkbox at the left of its label that allows selecting it.
* @default false
*/
checkboxSelection: _propTypes.default.bool,
/**
* Override or extend the styles applied to the component.
*/
classes: _propTypes.default.object,
className: _propTypes.default.string,
/**
* Expanded item ids.
* Used when the item's expansion is not controlled.
* @default []
*/
defaultExpandedItems: _propTypes.default.arrayOf(_propTypes.default.string),
/**
* Selected item ids. (Uncontrolled)
* When `multiSelect` is true this takes an array of strings; when false (default) a string.
* @default []
*/
defaultSelectedItems: _propTypes.default.any,
/**
* Whether the items should be focusable when disabled.
* @default false
*/
disabledItemsFocusable: _propTypes.default.bool,
/**
* Whether selection is disabled.
* @default false
*/
disableSelection: _propTypes.default.bool,
/**
* When `'flat'`, the tree is rendered as a flat list (children are rendered as siblings of their parent).
* When `'nested'`, children are rendered inside their parent's groupTransition slot.
* Collapse/expansion animations that rely on the groupTransition slot only work with the nested DOM structure.
* @default 'nested'
*/
domStructure: _propTypes.default.oneOf(['flat', 'nested']),
/**
* Expanded item ids.
* Used when the item's expansion is controlled.
*/
expandedItems: _propTypes.default.arrayOf(_propTypes.default.string),
/**
* The slot that triggers the item's expansion when clicked.
* @default 'content'
*/
expansionTrigger: _propTypes.default.oneOf(['content', 'iconContainer']),
/**
* Used to determine the children of a given item.
*
* @template R
* @param {R} item The item to check.
* @returns {R[]} The children of the item.
* @default (item) => item.children
*/
getItemChildren: _propTypes.default.func,
/**
* Used to determine the id of a given item.
*
* @template R
* @param {R} item The item to check.
* @returns {TreeViewItemId} The id of the item.
* @default (item) => item.id
*/
getItemId: _propTypes.default.func,
/**
* Used to determine the string label for a given item.
*
* @template R
* @param {R} item The item to check.
* @returns {string} The label of the item.
* @default (item) => item.label
*/
getItemLabel: _propTypes.default.func,
/**
* This prop is used to help implement the accessibility logic.
* If you don't provide this prop. It falls back to a randomly generated id.
*/
id: _propTypes.default.string,
/**
* Used to determine if a given item should be disabled.
* @template R
* @param {R} item The item to check.
* @returns {boolean} `true` if the item should be disabled.
*/
isItemDisabled: _propTypes.default.func,
/**
* Determine if a given item can be edited.
* @template R
* @param {R} item The item to check.
* @returns {boolean} `true` if the item can be edited.
* @default () => false
*/
isItemEditable: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.bool]),
/**
* Used to determine if a given item should have selection disabled.
* @template R
* @param {R} item The item to check.
* @returns {boolean} `true` if the item should have selection disabled.
*/
isItemSelectionDisabled: _propTypes.default.func,
/**
* Horizontal indentation between an item and its children.
* Examples: 24, "24px", "2rem", "2em".
* @default 12px
*/
itemChildrenIndentation: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
/**
* Sets the height in pixel of an item.
* Set to `null` to explicitly remove any item height restriction when items have different heights.
* @default null
*/
itemHeight: _propTypes.default.number,
items: _propTypes.default.array.isRequired,
/**
* Whether multiple items can be selected.
* @default false
*/
multiSelect: _propTypes.default.bool,
/**
* Callback fired when Tree Items are expanded/collapsed.
* @param {React.SyntheticEvent} event The DOM event that triggered the change. Can be null when the change is caused by the `publicAPI.setItemExpansion()` method.
* @param {TreeViewItemId[]} itemIds The ids of the expanded items.
*/
onExpandedItemsChange: _propTypes.default.func,
/**
* Callback fired when the `content` slot of a given Tree Item is clicked.
* @param {React.MouseEvent} event The DOM event that triggered the change.
* @param {TreeViewItemId} itemId The id of the focused item.
*/
onItemClick: _propTypes.default.func,
/**
* Callback fired when a Tree Item is expanded or collapsed.
* @param {React.SyntheticEvent | null} event The DOM event that triggered the change. Can be null when the change is caused by the `publicAPI.setItemExpansion()` method.
* @param {TreeViewItemId} itemId The itemId of the modified item.
* @param {boolean} isExpanded `true` if the item has just been expanded, `false` if it has just been collapsed.
*/
onItemExpansionToggle: _propTypes.default.func,
/**
* Callback fired when a given Tree Item is focused.
* @param {React.SyntheticEvent | null} event The DOM event that triggered the change. **Warning**: This is a generic event not a focus event.
* @param {TreeViewItemId} itemId The id of the focused item.
*/
onItemFocus: _propTypes.default.func,
/**
* Callback fired when the label of an item changes.
* @param {TreeViewItemId} itemId The id of the item that was edited.
* @param {string} newLabel The new label of the items.
*/
onItemLabelChange: _propTypes.default.func,
/**
* Callback fired when a Tree Item is selected or deselected.
* @param {React.SyntheticEvent} event The DOM event that triggered the change. Can be null when the change is caused by the `publicAPI.setItemSelection()` method.
* @param {TreeViewItemId} itemId The itemId of the modified item.
* @param {boolean} isSelected `true` if the item has just been selected, `false` if it has just been deselected.
*/
onItemSelectionToggle: _propTypes.default.func,
/**
* Callback fired when Tree Items are selected/deselected.
* @param {React.SyntheticEvent} event The DOM event that triggered the change. Can be null when the change is caused by the `publicAPI.setItemSelection()` method.
* @param {TreeViewItemId[] | TreeViewItemId} itemIds The ids of the selected items.
* When `multiSelect` is `true`, this is an array of strings; when false (default) a string.
*/
onSelectedItemsChange: _propTypes.default.func,
/**
* Selected item ids. (Controlled)
* When `multiSelect` is true this takes an array of strings; when false (default) a string.
*/
selectedItems: _propTypes.default.any,
/**
* When `selectionPropagation.descendants` is set to `true`.
*
* - Selecting a parent selects all its descendants automatically.
* - Deselecting a parent deselects all its descendants automatically.
*
* When `selectionPropagation.parents` is set to `true`.
*
* - Selecting all the descendants of a parent selects the parent automatically.
* - Deselecting a descendant of a selected parent deselects the parent automatically.
*
* Only works when `multiSelect` is `true`.
* On the <SimpleTreeView />, only the expanded items are considered (since the collapsed item are not passed to the Tree View component at all)
*
* @default { parents: false, descendants: false }
*/
selectionPropagation: _propTypes.default.shape({
descendants: _propTypes.default.bool,
parents: _propTypes.default.bool
}),
/**
* The props used for each component slot.
* @default {}
*/
slotProps: _propTypes.default.object,
/**
* Overridable component slots.
* @default {}
*/
slots: _propTypes.default.object,
/**
* The system prop that allows defining system overrides as well as additional CSS styles.
*/
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
} : void 0;
@@ -0,0 +1,361 @@
'use client';
import _extends from "@babel/runtime/helpers/esm/extends";
import * as React from 'react';
import PropTypes from 'prop-types';
import { useMergedRefs } from '@base-ui/utils/useMergedRefs';
import { useStore } from '@mui/x-internals/store';
import Alert from '@mui/material/Alert';
import Typography from '@mui/material/Typography';
import composeClasses from '@mui/utils/composeClasses';
import { warnOnce } from '@mui/x-internals/warning';
import { getRichTreeViewUtilityClass } from "./richTreeViewClasses.mjs";
import { styled, createUseThemeProps } from "../internals/zero-styled/index.mjs";
import { TreeViewProvider } from "../internals/TreeViewProvider/index.mjs";
import { RichTreeViewItems } from "../internals/components/RichTreeViewItems.mjs";
import { lazyLoadingSelectors } from "../internals/plugins/lazyLoading/index.mjs";
import { TreeViewItemDepthContext } from "../internals/TreeViewItemDepthContext/index.mjs";
import { useExtractRichTreeViewParameters } from "./useExtractRichTreeViewParameters.mjs";
import { itemsSelectors } from "../internals/plugins/items/index.mjs";
import { useTreeViewStore } from "../internals/hooks/useTreeViewStore.mjs";
import { RichTreeViewStore } from "../internals/RichTreeViewStore/index.mjs";
import { jsx as _jsx } from "react/jsx-runtime";
const useThemeProps = createUseThemeProps('MuiRichTreeView');
const useUtilityClasses = ownerState => {
const {
classes
} = ownerState;
return React.useMemo(() => {
const slots = {
root: ['root'],
item: ['item'],
itemContent: ['itemContent'],
itemGroupTransition: ['itemGroupTransition'],
itemIconContainer: ['itemIconContainer'],
itemLabel: ['itemLabel'],
itemLabelInput: ['itemLabelInput'],
itemCheckbox: ['itemCheckbox']
// itemDragAndDropOverlay: ['itemDragAndDropOverlay'], => feature not available on this component
// itemErrorIcon: ['itemErrorIcon'], => feature not available on this component
};
return composeClasses(slots, getRichTreeViewUtilityClass, classes);
}, [classes]);
};
export const RichTreeViewRoot = styled('ul', {
name: 'MuiRichTreeView',
slot: 'Root'
})({
padding: 0,
margin: 0,
listStyle: 'none',
outline: 0,
position: 'relative'
});
/**
*
* Demos:
*
* - [Tree View](https://mui.com/x/react-tree-view/)
*
* API:
*
* - [RichTreeView API](https://mui.com/x/api/tree-view/rich-tree-view/)
*/
const RichTreeView = /*#__PURE__*/React.forwardRef(function RichTreeView(inProps, forwardedRef) {
const props = useThemeProps({
props: inProps,
name: 'MuiRichTreeView'
});
if (process.env.NODE_ENV !== 'production') {
if (props.children != null) {
warnOnce(['MUI X: The Rich Tree View component does not support JSX children.', 'If you want to add items, you need to use the `items` prop.', 'Check the documentation for more details: https://mui.com/x/react-tree-view/rich-tree-view/items/.']);
}
}
const {
slots: inSlots,
slotProps,
apiRef,
parameters,
forwardedProps
} = useExtractRichTreeViewParameters(props);
// Context hooks
const store = useTreeViewStore(RichTreeViewStore, parameters);
// Ref hooks
const ref = React.useRef(null);
const handleRef = useMergedRefs(forwardedRef, ref);
// Selector hooks
const isLoading = useStore(store, lazyLoadingSelectors.isItemLoading, null);
const error = useStore(store, lazyLoadingSelectors.itemError, null);
// Feature hooks
const classes = useUtilityClasses(props);
const slots = React.useMemo(() => _extends({
root: RichTreeViewRoot
}, inSlots), [inSlots]);
if (isLoading) {
return /*#__PURE__*/_jsx(Typography, {
children: "Loading\u2026"
});
}
if (error) {
return /*#__PURE__*/_jsx(Alert, {
severity: "error",
children: error.message
});
}
return /*#__PURE__*/_jsx(TreeViewProvider, {
store: store,
classes: classes,
slots: slots,
slotProps: slotProps,
apiRef: apiRef,
rootRef: ref,
children: /*#__PURE__*/_jsx(TreeViewItemDepthContext.Provider, {
value: itemsSelectors.itemDepth,
children: /*#__PURE__*/_jsx(RichTreeViewItems, {
slots: slots,
slotProps: slotProps,
forwardedProps: forwardedProps,
ownerState: props,
rootRef: handleRef
})
})
});
});
if (process.env.NODE_ENV !== "production") RichTreeView.displayName = "RichTreeView";
process.env.NODE_ENV !== "production" ? RichTreeView.propTypes /* remove-proptypes */ = {
// ----------------------------- Warning --------------------------------
// | These PropTypes are generated from the TypeScript type definitions |
// | To update them edit the TypeScript types and run "pnpm proptypes" |
// ----------------------------------------------------------------------
/**
* The ref object that allows Tree View manipulation. Can be instantiated with `useRichTreeViewApiRef()`.
*/
apiRef: PropTypes.shape({
current: PropTypes.shape({
addItems: PropTypes.func,
focusItem: PropTypes.func,
getItem: PropTypes.func,
getItemDOMElement: PropTypes.func,
getItemOrderedChildrenIds: PropTypes.func,
getItemSelection: PropTypes.func,
getItemTree: PropTypes.func,
getParentId: PropTypes.func,
isItemExpanded: PropTypes.func,
setEditedItem: PropTypes.func,
setIsItemDisabled: PropTypes.func,
setItemExpansion: PropTypes.func,
setItemSelection: PropTypes.func,
updateItemLabel: PropTypes.func
})
}),
/**
* Whether the Tree View renders a checkbox at the left of its label that allows selecting it.
* @default false
*/
checkboxSelection: PropTypes.bool,
/**
* Override or extend the styles applied to the component.
*/
classes: PropTypes.object,
className: PropTypes.string,
/**
* Expanded item ids.
* Used when the item's expansion is not controlled.
* @default []
*/
defaultExpandedItems: PropTypes.arrayOf(PropTypes.string),
/**
* Selected item ids. (Uncontrolled)
* When `multiSelect` is true this takes an array of strings; when false (default) a string.
* @default []
*/
defaultSelectedItems: PropTypes.any,
/**
* Whether the items should be focusable when disabled.
* @default false
*/
disabledItemsFocusable: PropTypes.bool,
/**
* Whether selection is disabled.
* @default false
*/
disableSelection: PropTypes.bool,
/**
* When `'flat'`, the tree is rendered as a flat list (children are rendered as siblings of their parent).
* When `'nested'`, children are rendered inside their parent's groupTransition slot.
* Collapse/expansion animations that rely on the groupTransition slot only work with the nested DOM structure.
* @default 'nested'
*/
domStructure: PropTypes.oneOf(['flat', 'nested']),
/**
* Expanded item ids.
* Used when the item's expansion is controlled.
*/
expandedItems: PropTypes.arrayOf(PropTypes.string),
/**
* The slot that triggers the item's expansion when clicked.
* @default 'content'
*/
expansionTrigger: PropTypes.oneOf(['content', 'iconContainer']),
/**
* Used to determine the children of a given item.
*
* @template R
* @param {R} item The item to check.
* @returns {R[]} The children of the item.
* @default (item) => item.children
*/
getItemChildren: PropTypes.func,
/**
* Used to determine the id of a given item.
*
* @template R
* @param {R} item The item to check.
* @returns {TreeViewItemId} The id of the item.
* @default (item) => item.id
*/
getItemId: PropTypes.func,
/**
* Used to determine the string label for a given item.
*
* @template R
* @param {R} item The item to check.
* @returns {string} The label of the item.
* @default (item) => item.label
*/
getItemLabel: PropTypes.func,
/**
* This prop is used to help implement the accessibility logic.
* If you don't provide this prop. It falls back to a randomly generated id.
*/
id: PropTypes.string,
/**
* Used to determine if a given item should be disabled.
* @template R
* @param {R} item The item to check.
* @returns {boolean} `true` if the item should be disabled.
*/
isItemDisabled: PropTypes.func,
/**
* Determine if a given item can be edited.
* @template R
* @param {R} item The item to check.
* @returns {boolean} `true` if the item can be edited.
* @default () => false
*/
isItemEditable: PropTypes.oneOfType([PropTypes.func, PropTypes.bool]),
/**
* Used to determine if a given item should have selection disabled.
* @template R
* @param {R} item The item to check.
* @returns {boolean} `true` if the item should have selection disabled.
*/
isItemSelectionDisabled: PropTypes.func,
/**
* Horizontal indentation between an item and its children.
* Examples: 24, "24px", "2rem", "2em".
* @default 12px
*/
itemChildrenIndentation: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
/**
* Sets the height in pixel of an item.
* Set to `null` to explicitly remove any item height restriction when items have different heights.
* @default null
*/
itemHeight: PropTypes.number,
items: PropTypes.array.isRequired,
/**
* Whether multiple items can be selected.
* @default false
*/
multiSelect: PropTypes.bool,
/**
* Callback fired when Tree Items are expanded/collapsed.
* @param {React.SyntheticEvent} event The DOM event that triggered the change. Can be null when the change is caused by the `publicAPI.setItemExpansion()` method.
* @param {TreeViewItemId[]} itemIds The ids of the expanded items.
*/
onExpandedItemsChange: PropTypes.func,
/**
* Callback fired when the `content` slot of a given Tree Item is clicked.
* @param {React.MouseEvent} event The DOM event that triggered the change.
* @param {TreeViewItemId} itemId The id of the focused item.
*/
onItemClick: PropTypes.func,
/**
* Callback fired when a Tree Item is expanded or collapsed.
* @param {React.SyntheticEvent | null} event The DOM event that triggered the change. Can be null when the change is caused by the `publicAPI.setItemExpansion()` method.
* @param {TreeViewItemId} itemId The itemId of the modified item.
* @param {boolean} isExpanded `true` if the item has just been expanded, `false` if it has just been collapsed.
*/
onItemExpansionToggle: PropTypes.func,
/**
* Callback fired when a given Tree Item is focused.
* @param {React.SyntheticEvent | null} event The DOM event that triggered the change. **Warning**: This is a generic event not a focus event.
* @param {TreeViewItemId} itemId The id of the focused item.
*/
onItemFocus: PropTypes.func,
/**
* Callback fired when the label of an item changes.
* @param {TreeViewItemId} itemId The id of the item that was edited.
* @param {string} newLabel The new label of the items.
*/
onItemLabelChange: PropTypes.func,
/**
* Callback fired when a Tree Item is selected or deselected.
* @param {React.SyntheticEvent} event The DOM event that triggered the change. Can be null when the change is caused by the `publicAPI.setItemSelection()` method.
* @param {TreeViewItemId} itemId The itemId of the modified item.
* @param {boolean} isSelected `true` if the item has just been selected, `false` if it has just been deselected.
*/
onItemSelectionToggle: PropTypes.func,
/**
* Callback fired when Tree Items are selected/deselected.
* @param {React.SyntheticEvent} event The DOM event that triggered the change. Can be null when the change is caused by the `publicAPI.setItemSelection()` method.
* @param {TreeViewItemId[] | TreeViewItemId} itemIds The ids of the selected items.
* When `multiSelect` is `true`, this is an array of strings; when false (default) a string.
*/
onSelectedItemsChange: PropTypes.func,
/**
* Selected item ids. (Controlled)
* When `multiSelect` is true this takes an array of strings; when false (default) a string.
*/
selectedItems: PropTypes.any,
/**
* When `selectionPropagation.descendants` is set to `true`.
*
* - Selecting a parent selects all its descendants automatically.
* - Deselecting a parent deselects all its descendants automatically.
*
* When `selectionPropagation.parents` is set to `true`.
*
* - Selecting all the descendants of a parent selects the parent automatically.
* - Deselecting a descendant of a selected parent deselects the parent automatically.
*
* Only works when `multiSelect` is `true`.
* On the <SimpleTreeView />, only the expanded items are considered (since the collapsed item are not passed to the Tree View component at all)
*
* @default { parents: false, descendants: false }
*/
selectionPropagation: PropTypes.shape({
descendants: PropTypes.bool,
parents: PropTypes.bool
}),
/**
* The props used for each component slot.
* @default {}
*/
slotProps: PropTypes.object,
/**
* Overridable component slots.
* @default {}
*/
slots: PropTypes.object,
/**
* The system prop that allows defining system overrides as well as additional CSS styles.
*/
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
} : void 0;
export { RichTreeView };
@@ -0,0 +1,46 @@
import type * as React from 'react';
import type { Theme } from '@mui/material/styles';
import type { SxProps } from '@mui/system/styleFunctionSx';
import type { RichTreeViewClasses } from "./richTreeViewClasses.mjs";
import type { RichTreeViewItemsSlotProps, RichTreeViewItemsSlots } from "../internals/components/RichTreeViewItems.mjs";
import type { TreeViewSlotProps, TreeViewSlots } from "../internals/TreeViewProvider/TreeViewStyleContext.mjs";
import type { RichTreeViewStore } from "../internals/RichTreeViewStore/index.mjs";
import type { TreeViewValidItem } from "../models/items.mjs";
import type { UseTreeViewStoreParameters } from "../internals/hooks/useTreeViewStore.mjs";
import type { TreeViewPublicAPI } from "../internals/models/index.mjs";
export interface RichTreeViewSlots extends TreeViewSlots, Omit<RichTreeViewItemsSlots, 'root'> {
/**
* Element rendered at the root.
* @default RichTreeViewRoot
*/
root?: React.ElementType;
}
export interface RichTreeViewSlotProps<R extends {}, Multiple extends boolean | undefined> extends TreeViewSlotProps, RichTreeViewItemsSlotProps<RichTreeViewProps<R, Multiple>> {}
export type RichTreeViewApiRef<R extends TreeViewValidItem<R> = any, Multiple extends boolean | undefined = any> = React.RefObject<Partial<TreeViewPublicAPI<RichTreeViewStore<R, Multiple>>> | undefined>;
export interface RichTreeViewPropsBase extends React.HTMLAttributes<HTMLUListElement> {
className?: string;
/**
* Override or extend the styles applied to the component.
*/
classes?: Partial<RichTreeViewClasses>;
/**
* The system prop that allows defining system overrides as well as additional CSS styles.
*/
sx?: SxProps<Theme>;
}
export interface RichTreeViewProps<R extends {}, Multiple extends boolean | undefined> extends UseTreeViewStoreParameters<RichTreeViewStore<R, Multiple>>, RichTreeViewPropsBase {
/**
* Overridable component slots.
* @default {}
*/
slots?: RichTreeViewSlots;
/**
* The props used for each component slot.
* @default {}
*/
slotProps?: RichTreeViewSlotProps<R, Multiple>;
/**
* The ref object that allows Tree View manipulation. Can be instantiated with `useRichTreeViewApiRef()`.
*/
apiRef?: RichTreeViewApiRef;
}
@@ -0,0 +1,46 @@
import type * as React from 'react';
import type { Theme } from '@mui/material/styles';
import type { SxProps } from '@mui/system/styleFunctionSx';
import type { RichTreeViewClasses } from "./richTreeViewClasses.js";
import type { RichTreeViewItemsSlotProps, RichTreeViewItemsSlots } from "../internals/components/RichTreeViewItems.js";
import type { TreeViewSlotProps, TreeViewSlots } from "../internals/TreeViewProvider/TreeViewStyleContext.js";
import type { RichTreeViewStore } from "../internals/RichTreeViewStore/index.js";
import type { TreeViewValidItem } from "../models/items.js";
import type { UseTreeViewStoreParameters } from "../internals/hooks/useTreeViewStore.js";
import type { TreeViewPublicAPI } from "../internals/models/index.js";
export interface RichTreeViewSlots extends TreeViewSlots, Omit<RichTreeViewItemsSlots, 'root'> {
/**
* Element rendered at the root.
* @default RichTreeViewRoot
*/
root?: React.ElementType;
}
export interface RichTreeViewSlotProps<R extends {}, Multiple extends boolean | undefined> extends TreeViewSlotProps, RichTreeViewItemsSlotProps<RichTreeViewProps<R, Multiple>> {}
export type RichTreeViewApiRef<R extends TreeViewValidItem<R> = any, Multiple extends boolean | undefined = any> = React.RefObject<Partial<TreeViewPublicAPI<RichTreeViewStore<R, Multiple>>> | undefined>;
export interface RichTreeViewPropsBase extends React.HTMLAttributes<HTMLUListElement> {
className?: string;
/**
* Override or extend the styles applied to the component.
*/
classes?: Partial<RichTreeViewClasses>;
/**
* The system prop that allows defining system overrides as well as additional CSS styles.
*/
sx?: SxProps<Theme>;
}
export interface RichTreeViewProps<R extends {}, Multiple extends boolean | undefined> extends UseTreeViewStoreParameters<RichTreeViewStore<R, Multiple>>, RichTreeViewPropsBase {
/**
* Overridable component slots.
* @default {}
*/
slots?: RichTreeViewSlots;
/**
* The props used for each component slot.
* @default {}
*/
slotProps?: RichTreeViewSlotProps<R, Multiple>;
/**
* The ref object that allows Tree View manipulation. Can be instantiated with `useRichTreeViewApiRef()`.
*/
apiRef?: RichTreeViewApiRef;
}
@@ -0,0 +1,5 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
@@ -0,0 +1 @@
export {};
@@ -0,0 +1,3 @@
export * from "./RichTreeView.mjs";
export * from "./richTreeViewClasses.mjs";
export type { RichTreeViewProps, RichTreeViewPropsBase, RichTreeViewSlots, RichTreeViewSlotProps, RichTreeViewApiRef } from "./RichTreeView.types.mjs";
@@ -0,0 +1,3 @@
export * from "./RichTreeView.js";
export * from "./richTreeViewClasses.js";
export type { RichTreeViewProps, RichTreeViewPropsBase, RichTreeViewSlots, RichTreeViewSlotProps, RichTreeViewApiRef } from "./RichTreeView.types.js";
@@ -0,0 +1,27 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _RichTreeView = require("./RichTreeView");
Object.keys(_RichTreeView).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (key in exports && exports[key] === _RichTreeView[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _RichTreeView[key];
}
});
});
var _richTreeViewClasses = require("./richTreeViewClasses");
Object.keys(_richTreeViewClasses).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (key in exports && exports[key] === _richTreeViewClasses[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _richTreeViewClasses[key];
}
});
});
@@ -0,0 +1,3 @@
export * from "./RichTreeView.mjs";
export * from "./richTreeViewClasses.mjs";
export {};
@@ -0,0 +1,5 @@
import type { TreeViewClasses } from "../internals/TreeViewProvider/TreeViewStyleContext.mjs";
export interface RichTreeViewClasses extends Omit<TreeViewClasses, 'itemDragAndDropOverlay' | 'itemErrorIcon' | 'itemLoadingIcon'> {}
export type RichTreeViewClassKey = keyof RichTreeViewClasses;
export declare function getRichTreeViewUtilityClass(slot: string): string;
export declare const richTreeViewClasses: RichTreeViewClasses;
@@ -0,0 +1,5 @@
import type { TreeViewClasses } from "../internals/TreeViewProvider/TreeViewStyleContext.js";
export interface RichTreeViewClasses extends Omit<TreeViewClasses, 'itemDragAndDropOverlay' | 'itemErrorIcon' | 'itemLoadingIcon'> {}
export type RichTreeViewClassKey = keyof RichTreeViewClasses;
export declare function getRichTreeViewUtilityClass(slot: string): string;
export declare const richTreeViewClasses: RichTreeViewClasses;
@@ -0,0 +1,14 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getRichTreeViewUtilityClass = getRichTreeViewUtilityClass;
exports.richTreeViewClasses = void 0;
var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
function getRichTreeViewUtilityClass(slot) {
return (0, _generateUtilityClass.default)('MuiRichTreeView', slot);
}
const richTreeViewClasses = exports.richTreeViewClasses = (0, _generateUtilityClasses.default)('MuiRichTreeView', ['root', 'item', 'itemContent', 'itemGroupTransition', 'itemIconContainer', 'itemLabel', 'itemCheckbox', 'itemLabelInput']);
@@ -0,0 +1,6 @@
import generateUtilityClass from '@mui/utils/generateUtilityClass';
import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
export function getRichTreeViewUtilityClass(slot) {
return generateUtilityClass('MuiRichTreeView', slot);
}
export const richTreeViewClasses = generateUtilityClasses('MuiRichTreeView', ['root', 'item', 'itemContent', 'itemGroupTransition', 'itemIconContainer', 'itemLabel', 'itemCheckbox', 'itemLabelInput']);
@@ -0,0 +1,294 @@
import * as React from 'react';
import type { TreeViewValidItem } from "../models/index.mjs";
import type { RichTreeViewProps } from "./RichTreeView.types.mjs";
import type { UseTreeViewStoreParameters } from "../internals/hooks/useTreeViewStore.mjs";
import type { RichTreeViewStore } from "../internals/RichTreeViewStore/index.mjs";
export declare function useExtractRichTreeViewParameters<R extends TreeViewValidItem<R>, Multiple extends boolean | undefined>(props: RichTreeViewProps<R, Multiple>): {
apiRef: import("./RichTreeView.types.mjs").RichTreeViewApiRef<any, any> | undefined;
slots: import("./RichTreeView.types.mjs").RichTreeViewSlots | undefined;
slotProps: import("./RichTreeView.types.mjs").RichTreeViewSlotProps<R, Multiple> | undefined;
parameters: UseTreeViewStoreParameters<RichTreeViewStore<R, Multiple>>;
forwardedProps: {
children?: React.ReactNode | undefined;
dangerouslySetInnerHTML?: {
__html: string | TrustedHTML;
} | undefined;
onCopy?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
onCopyCapture?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
onCut?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
onCutCapture?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
onPaste?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
onPasteCapture?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
onCompositionEnd?: React.CompositionEventHandler<HTMLUListElement> | undefined;
onCompositionEndCapture?: React.CompositionEventHandler<HTMLUListElement> | undefined;
onCompositionStart?: React.CompositionEventHandler<HTMLUListElement> | undefined;
onCompositionStartCapture?: React.CompositionEventHandler<HTMLUListElement> | undefined;
onCompositionUpdate?: React.CompositionEventHandler<HTMLUListElement> | undefined;
onCompositionUpdateCapture?: React.CompositionEventHandler<HTMLUListElement> | undefined;
onFocus?: React.FocusEventHandler<HTMLUListElement> | undefined;
onFocusCapture?: React.FocusEventHandler<HTMLUListElement> | undefined;
onBlur?: React.FocusEventHandler<HTMLUListElement> | undefined;
onBlurCapture?: React.FocusEventHandler<HTMLUListElement> | undefined;
onChange?: React.ChangeEventHandler<HTMLUListElement, Element> | undefined;
onChangeCapture?: React.ChangeEventHandler<HTMLUListElement, Element> | undefined;
onBeforeInput?: React.InputEventHandler<HTMLUListElement> | undefined;
onBeforeInputCapture?: React.InputEventHandler<HTMLUListElement> | undefined;
onInput?: React.InputEventHandler<HTMLUListElement> | undefined;
onInputCapture?: React.InputEventHandler<HTMLUListElement> | undefined;
onReset?: React.ReactEventHandler<HTMLUListElement> | undefined;
onResetCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSubmit?: React.SubmitEventHandler<HTMLUListElement> | undefined;
onSubmitCapture?: React.SubmitEventHandler<HTMLUListElement> | undefined;
onInvalid?: React.ReactEventHandler<HTMLUListElement> | undefined;
onInvalidCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoad?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onError?: React.ReactEventHandler<HTMLUListElement> | undefined;
onErrorCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onKeyDown?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
onKeyDownCapture?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
onKeyPress?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
onKeyPressCapture?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
onKeyUp?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
onKeyUpCapture?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
onAbort?: React.ReactEventHandler<HTMLUListElement> | undefined;
onAbortCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onCanPlay?: React.ReactEventHandler<HTMLUListElement> | undefined;
onCanPlayCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onCanPlayThrough?: React.ReactEventHandler<HTMLUListElement> | undefined;
onCanPlayThroughCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onDurationChange?: React.ReactEventHandler<HTMLUListElement> | undefined;
onDurationChangeCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onEmptied?: React.ReactEventHandler<HTMLUListElement> | undefined;
onEmptiedCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onEncrypted?: React.ReactEventHandler<HTMLUListElement> | undefined;
onEncryptedCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onEnded?: React.ReactEventHandler<HTMLUListElement> | undefined;
onEndedCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadedData?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadedDataCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadedMetadata?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadedMetadataCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadStart?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadStartCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onPause?: React.ReactEventHandler<HTMLUListElement> | undefined;
onPauseCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onPlay?: React.ReactEventHandler<HTMLUListElement> | undefined;
onPlayCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onPlaying?: React.ReactEventHandler<HTMLUListElement> | undefined;
onPlayingCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onProgress?: React.ReactEventHandler<HTMLUListElement> | undefined;
onProgressCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onRateChange?: React.ReactEventHandler<HTMLUListElement> | undefined;
onRateChangeCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSeeked?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSeekedCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSeeking?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSeekingCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onStalled?: React.ReactEventHandler<HTMLUListElement> | undefined;
onStalledCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSuspend?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSuspendCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onTimeUpdate?: React.ReactEventHandler<HTMLUListElement> | undefined;
onTimeUpdateCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onVolumeChange?: React.ReactEventHandler<HTMLUListElement> | undefined;
onVolumeChangeCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onWaiting?: React.ReactEventHandler<HTMLUListElement> | undefined;
onWaitingCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onAuxClick?: React.MouseEventHandler<HTMLUListElement> | undefined;
onAuxClickCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onClick?: React.MouseEventHandler<HTMLUListElement> | undefined;
onClickCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onContextMenu?: React.MouseEventHandler<HTMLUListElement> | undefined;
onContextMenuCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onDoubleClick?: React.MouseEventHandler<HTMLUListElement> | undefined;
onDoubleClickCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onDrag?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragEnd?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragEndCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragEnter?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragEnterCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragExit?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragExitCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragLeave?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragLeaveCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragOver?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragOverCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragStart?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragStartCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDrop?: React.DragEventHandler<HTMLUListElement> | undefined;
onDropCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onMouseDown?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseDownCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseEnter?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseLeave?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseMove?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseMoveCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseOut?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseOutCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseOver?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseOverCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseUp?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseUpCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onSelect?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSelectCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onTouchCancel?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchCancelCapture?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchEnd?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchEndCapture?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchMove?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchMoveCapture?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchStart?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchStartCapture?: React.TouchEventHandler<HTMLUListElement> | undefined;
onPointerDown?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerDownCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerMove?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerMoveCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerUp?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerUpCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerCancel?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerCancelCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerEnter?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerLeave?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerOver?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerOverCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerOut?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerOutCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onGotPointerCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onGotPointerCaptureCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onLostPointerCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onLostPointerCaptureCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onScroll?: React.UIEventHandler<HTMLUListElement> | undefined;
onScrollCapture?: React.UIEventHandler<HTMLUListElement> | undefined;
onScrollEnd?: React.UIEventHandler<HTMLUListElement> | undefined;
onScrollEndCapture?: React.UIEventHandler<HTMLUListElement> | undefined;
onWheel?: React.WheelEventHandler<HTMLUListElement> | undefined;
onWheelCapture?: React.WheelEventHandler<HTMLUListElement> | undefined;
onAnimationStart?: React.AnimationEventHandler<HTMLUListElement> | undefined;
onAnimationStartCapture?: React.AnimationEventHandler<HTMLUListElement> | undefined;
onAnimationEnd?: React.AnimationEventHandler<HTMLUListElement> | undefined;
onAnimationEndCapture?: React.AnimationEventHandler<HTMLUListElement> | undefined;
onAnimationIteration?: React.AnimationEventHandler<HTMLUListElement> | undefined;
onAnimationIterationCapture?: React.AnimationEventHandler<HTMLUListElement> | undefined;
onToggle?: React.ToggleEventHandler<HTMLUListElement> | undefined;
onBeforeToggle?: React.ToggleEventHandler<HTMLUListElement> | undefined;
onTransitionCancel?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionCancelCapture?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionEnd?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionEndCapture?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionRun?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionRunCapture?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionStart?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionStartCapture?: React.TransitionEventHandler<HTMLUListElement> | undefined;
"aria-activedescendant"?: string | undefined;
"aria-atomic"?: ("false" | "true" | boolean) | undefined;
"aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined;
"aria-braillelabel"?: string | undefined;
"aria-brailleroledescription"?: string | undefined;
"aria-busy"?: ("false" | "true" | boolean) | undefined;
"aria-checked"?: boolean | "false" | "mixed" | "true" | undefined;
"aria-colcount"?: number | undefined;
"aria-colindex"?: number | undefined;
"aria-colindextext"?: string | undefined;
"aria-colspan"?: number | undefined;
"aria-controls"?: string | undefined;
"aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined;
"aria-describedby"?: string | undefined;
"aria-description"?: string | undefined;
"aria-details"?: string | undefined;
"aria-disabled"?: ("false" | "true" | boolean) | undefined;
"aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined;
"aria-errormessage"?: string | undefined;
"aria-expanded"?: ("false" | "true" | boolean) | undefined;
"aria-flowto"?: string | undefined;
"aria-grabbed"?: ("false" | "true" | boolean) | undefined;
"aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined;
"aria-hidden"?: ("false" | "true" | boolean) | undefined;
"aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined;
"aria-keyshortcuts"?: string | undefined;
"aria-label"?: string | undefined;
"aria-labelledby"?: string | undefined;
"aria-level"?: number | undefined;
"aria-live"?: "off" | "assertive" | "polite" | undefined;
"aria-modal"?: ("false" | "true" | boolean) | undefined;
"aria-multiline"?: ("false" | "true" | boolean) | undefined;
"aria-multiselectable"?: ("false" | "true" | boolean) | undefined;
"aria-orientation"?: "horizontal" | "vertical" | undefined;
"aria-owns"?: string | undefined;
"aria-placeholder"?: string | undefined;
"aria-posinset"?: number | undefined;
"aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined;
"aria-readonly"?: ("false" | "true" | boolean) | undefined;
"aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined;
"aria-required"?: ("false" | "true" | boolean) | undefined;
"aria-roledescription"?: string | undefined;
"aria-rowcount"?: number | undefined;
"aria-rowindex"?: number | undefined;
"aria-rowindextext"?: string | undefined;
"aria-rowspan"?: number | undefined;
"aria-selected"?: ("false" | "true" | boolean) | undefined;
"aria-setsize"?: number | undefined;
"aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
"aria-valuemax"?: number | undefined;
"aria-valuemin"?: number | undefined;
"aria-valuenow"?: number | undefined;
"aria-valuetext"?: string | undefined;
defaultChecked?: boolean | undefined;
defaultValue?: string | number | readonly string[] | undefined;
suppressContentEditableWarning?: boolean | undefined;
suppressHydrationWarning?: boolean | undefined;
accessKey?: string | undefined;
autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {});
autoFocus?: boolean | undefined;
contentEditable?: ("false" | "true" | boolean) | "inherit" | "plaintext-only" | undefined;
contextMenu?: string | undefined;
dir?: string | undefined;
draggable?: ("false" | "true" | boolean) | undefined;
enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined;
hidden?: boolean | undefined;
lang?: string | undefined;
nonce?: string | undefined;
slot?: string | undefined;
spellCheck?: ("false" | "true" | boolean) | undefined;
style?: React.CSSProperties | undefined;
tabIndex?: number | undefined;
title?: string | undefined;
translate?: "yes" | "no" | undefined;
radioGroup?: string | undefined;
role?: React.AriaRole | undefined;
about?: string | undefined;
content?: string | undefined;
datatype?: string | undefined;
inlist?: any;
prefix?: string | undefined;
property?: string | undefined;
rel?: string | undefined;
resource?: string | undefined;
rev?: string | undefined;
typeof?: string | undefined;
vocab?: string | undefined;
autoCorrect?: string | undefined;
autoSave?: string | undefined;
color?: string | undefined;
itemProp?: string | undefined;
itemScope?: boolean | undefined;
itemType?: string | undefined;
itemID?: string | undefined;
itemRef?: string | undefined;
results?: number | undefined;
security?: string | undefined;
unselectable?: "on" | "off" | undefined;
popover?: "" | "auto" | "manual" | "hint" | undefined;
popoverTargetAction?: "toggle" | "show" | "hide" | undefined;
popoverTarget?: string | undefined;
inert?: boolean | undefined;
inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined;
is?: string | undefined;
exportparts?: string | undefined;
part?: string | undefined;
className?: string;
classes?: Partial<import("./richTreeViewClasses.mjs").RichTreeViewClasses>;
sx?: import("@mui/system").SxProps<import("@mui/material/styles").Theme>;
};
};
@@ -0,0 +1,294 @@
import * as React from 'react';
import type { TreeViewValidItem } from "../models/index.js";
import type { RichTreeViewProps } from "./RichTreeView.types.js";
import type { UseTreeViewStoreParameters } from "../internals/hooks/useTreeViewStore.js";
import type { RichTreeViewStore } from "../internals/RichTreeViewStore/index.js";
export declare function useExtractRichTreeViewParameters<R extends TreeViewValidItem<R>, Multiple extends boolean | undefined>(props: RichTreeViewProps<R, Multiple>): {
apiRef: import("./RichTreeView.types.js").RichTreeViewApiRef<any, any> | undefined;
slots: import("./RichTreeView.types.js").RichTreeViewSlots | undefined;
slotProps: import("./RichTreeView.types.js").RichTreeViewSlotProps<R, Multiple> | undefined;
parameters: UseTreeViewStoreParameters<RichTreeViewStore<R, Multiple>>;
forwardedProps: {
children?: React.ReactNode | undefined;
dangerouslySetInnerHTML?: {
__html: string | TrustedHTML;
} | undefined;
onCopy?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
onCopyCapture?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
onCut?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
onCutCapture?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
onPaste?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
onPasteCapture?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
onCompositionEnd?: React.CompositionEventHandler<HTMLUListElement> | undefined;
onCompositionEndCapture?: React.CompositionEventHandler<HTMLUListElement> | undefined;
onCompositionStart?: React.CompositionEventHandler<HTMLUListElement> | undefined;
onCompositionStartCapture?: React.CompositionEventHandler<HTMLUListElement> | undefined;
onCompositionUpdate?: React.CompositionEventHandler<HTMLUListElement> | undefined;
onCompositionUpdateCapture?: React.CompositionEventHandler<HTMLUListElement> | undefined;
onFocus?: React.FocusEventHandler<HTMLUListElement> | undefined;
onFocusCapture?: React.FocusEventHandler<HTMLUListElement> | undefined;
onBlur?: React.FocusEventHandler<HTMLUListElement> | undefined;
onBlurCapture?: React.FocusEventHandler<HTMLUListElement> | undefined;
onChange?: React.ChangeEventHandler<HTMLUListElement, Element> | undefined;
onChangeCapture?: React.ChangeEventHandler<HTMLUListElement, Element> | undefined;
onBeforeInput?: React.InputEventHandler<HTMLUListElement> | undefined;
onBeforeInputCapture?: React.InputEventHandler<HTMLUListElement> | undefined;
onInput?: React.InputEventHandler<HTMLUListElement> | undefined;
onInputCapture?: React.InputEventHandler<HTMLUListElement> | undefined;
onReset?: React.ReactEventHandler<HTMLUListElement> | undefined;
onResetCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSubmit?: React.SubmitEventHandler<HTMLUListElement> | undefined;
onSubmitCapture?: React.SubmitEventHandler<HTMLUListElement> | undefined;
onInvalid?: React.ReactEventHandler<HTMLUListElement> | undefined;
onInvalidCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoad?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onError?: React.ReactEventHandler<HTMLUListElement> | undefined;
onErrorCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onKeyDown?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
onKeyDownCapture?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
onKeyPress?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
onKeyPressCapture?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
onKeyUp?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
onKeyUpCapture?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
onAbort?: React.ReactEventHandler<HTMLUListElement> | undefined;
onAbortCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onCanPlay?: React.ReactEventHandler<HTMLUListElement> | undefined;
onCanPlayCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onCanPlayThrough?: React.ReactEventHandler<HTMLUListElement> | undefined;
onCanPlayThroughCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onDurationChange?: React.ReactEventHandler<HTMLUListElement> | undefined;
onDurationChangeCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onEmptied?: React.ReactEventHandler<HTMLUListElement> | undefined;
onEmptiedCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onEncrypted?: React.ReactEventHandler<HTMLUListElement> | undefined;
onEncryptedCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onEnded?: React.ReactEventHandler<HTMLUListElement> | undefined;
onEndedCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadedData?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadedDataCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadedMetadata?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadedMetadataCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadStart?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadStartCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onPause?: React.ReactEventHandler<HTMLUListElement> | undefined;
onPauseCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onPlay?: React.ReactEventHandler<HTMLUListElement> | undefined;
onPlayCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onPlaying?: React.ReactEventHandler<HTMLUListElement> | undefined;
onPlayingCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onProgress?: React.ReactEventHandler<HTMLUListElement> | undefined;
onProgressCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onRateChange?: React.ReactEventHandler<HTMLUListElement> | undefined;
onRateChangeCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSeeked?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSeekedCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSeeking?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSeekingCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onStalled?: React.ReactEventHandler<HTMLUListElement> | undefined;
onStalledCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSuspend?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSuspendCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onTimeUpdate?: React.ReactEventHandler<HTMLUListElement> | undefined;
onTimeUpdateCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onVolumeChange?: React.ReactEventHandler<HTMLUListElement> | undefined;
onVolumeChangeCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onWaiting?: React.ReactEventHandler<HTMLUListElement> | undefined;
onWaitingCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onAuxClick?: React.MouseEventHandler<HTMLUListElement> | undefined;
onAuxClickCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onClick?: React.MouseEventHandler<HTMLUListElement> | undefined;
onClickCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onContextMenu?: React.MouseEventHandler<HTMLUListElement> | undefined;
onContextMenuCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onDoubleClick?: React.MouseEventHandler<HTMLUListElement> | undefined;
onDoubleClickCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onDrag?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragEnd?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragEndCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragEnter?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragEnterCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragExit?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragExitCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragLeave?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragLeaveCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragOver?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragOverCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragStart?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragStartCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDrop?: React.DragEventHandler<HTMLUListElement> | undefined;
onDropCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onMouseDown?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseDownCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseEnter?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseLeave?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseMove?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseMoveCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseOut?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseOutCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseOver?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseOverCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseUp?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseUpCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onSelect?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSelectCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onTouchCancel?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchCancelCapture?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchEnd?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchEndCapture?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchMove?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchMoveCapture?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchStart?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchStartCapture?: React.TouchEventHandler<HTMLUListElement> | undefined;
onPointerDown?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerDownCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerMove?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerMoveCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerUp?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerUpCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerCancel?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerCancelCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerEnter?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerLeave?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerOver?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerOverCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerOut?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerOutCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onGotPointerCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onGotPointerCaptureCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onLostPointerCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onLostPointerCaptureCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onScroll?: React.UIEventHandler<HTMLUListElement> | undefined;
onScrollCapture?: React.UIEventHandler<HTMLUListElement> | undefined;
onScrollEnd?: React.UIEventHandler<HTMLUListElement> | undefined;
onScrollEndCapture?: React.UIEventHandler<HTMLUListElement> | undefined;
onWheel?: React.WheelEventHandler<HTMLUListElement> | undefined;
onWheelCapture?: React.WheelEventHandler<HTMLUListElement> | undefined;
onAnimationStart?: React.AnimationEventHandler<HTMLUListElement> | undefined;
onAnimationStartCapture?: React.AnimationEventHandler<HTMLUListElement> | undefined;
onAnimationEnd?: React.AnimationEventHandler<HTMLUListElement> | undefined;
onAnimationEndCapture?: React.AnimationEventHandler<HTMLUListElement> | undefined;
onAnimationIteration?: React.AnimationEventHandler<HTMLUListElement> | undefined;
onAnimationIterationCapture?: React.AnimationEventHandler<HTMLUListElement> | undefined;
onToggle?: React.ToggleEventHandler<HTMLUListElement> | undefined;
onBeforeToggle?: React.ToggleEventHandler<HTMLUListElement> | undefined;
onTransitionCancel?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionCancelCapture?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionEnd?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionEndCapture?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionRun?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionRunCapture?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionStart?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionStartCapture?: React.TransitionEventHandler<HTMLUListElement> | undefined;
"aria-activedescendant"?: string | undefined;
"aria-atomic"?: ("false" | "true" | boolean) | undefined;
"aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined;
"aria-braillelabel"?: string | undefined;
"aria-brailleroledescription"?: string | undefined;
"aria-busy"?: ("false" | "true" | boolean) | undefined;
"aria-checked"?: boolean | "false" | "mixed" | "true" | undefined;
"aria-colcount"?: number | undefined;
"aria-colindex"?: number | undefined;
"aria-colindextext"?: string | undefined;
"aria-colspan"?: number | undefined;
"aria-controls"?: string | undefined;
"aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined;
"aria-describedby"?: string | undefined;
"aria-description"?: string | undefined;
"aria-details"?: string | undefined;
"aria-disabled"?: ("false" | "true" | boolean) | undefined;
"aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined;
"aria-errormessage"?: string | undefined;
"aria-expanded"?: ("false" | "true" | boolean) | undefined;
"aria-flowto"?: string | undefined;
"aria-grabbed"?: ("false" | "true" | boolean) | undefined;
"aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined;
"aria-hidden"?: ("false" | "true" | boolean) | undefined;
"aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined;
"aria-keyshortcuts"?: string | undefined;
"aria-label"?: string | undefined;
"aria-labelledby"?: string | undefined;
"aria-level"?: number | undefined;
"aria-live"?: "off" | "assertive" | "polite" | undefined;
"aria-modal"?: ("false" | "true" | boolean) | undefined;
"aria-multiline"?: ("false" | "true" | boolean) | undefined;
"aria-multiselectable"?: ("false" | "true" | boolean) | undefined;
"aria-orientation"?: "horizontal" | "vertical" | undefined;
"aria-owns"?: string | undefined;
"aria-placeholder"?: string | undefined;
"aria-posinset"?: number | undefined;
"aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined;
"aria-readonly"?: ("false" | "true" | boolean) | undefined;
"aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined;
"aria-required"?: ("false" | "true" | boolean) | undefined;
"aria-roledescription"?: string | undefined;
"aria-rowcount"?: number | undefined;
"aria-rowindex"?: number | undefined;
"aria-rowindextext"?: string | undefined;
"aria-rowspan"?: number | undefined;
"aria-selected"?: ("false" | "true" | boolean) | undefined;
"aria-setsize"?: number | undefined;
"aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
"aria-valuemax"?: number | undefined;
"aria-valuemin"?: number | undefined;
"aria-valuenow"?: number | undefined;
"aria-valuetext"?: string | undefined;
defaultChecked?: boolean | undefined;
defaultValue?: string | number | readonly string[] | undefined;
suppressContentEditableWarning?: boolean | undefined;
suppressHydrationWarning?: boolean | undefined;
accessKey?: string | undefined;
autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {});
autoFocus?: boolean | undefined;
contentEditable?: ("false" | "true" | boolean) | "inherit" | "plaintext-only" | undefined;
contextMenu?: string | undefined;
dir?: string | undefined;
draggable?: ("false" | "true" | boolean) | undefined;
enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined;
hidden?: boolean | undefined;
lang?: string | undefined;
nonce?: string | undefined;
slot?: string | undefined;
spellCheck?: ("false" | "true" | boolean) | undefined;
style?: React.CSSProperties | undefined;
tabIndex?: number | undefined;
title?: string | undefined;
translate?: "yes" | "no" | undefined;
radioGroup?: string | undefined;
role?: React.AriaRole | undefined;
about?: string | undefined;
content?: string | undefined;
datatype?: string | undefined;
inlist?: any;
prefix?: string | undefined;
property?: string | undefined;
rel?: string | undefined;
resource?: string | undefined;
rev?: string | undefined;
typeof?: string | undefined;
vocab?: string | undefined;
autoCorrect?: string | undefined;
autoSave?: string | undefined;
color?: string | undefined;
itemProp?: string | undefined;
itemScope?: boolean | undefined;
itemType?: string | undefined;
itemID?: string | undefined;
itemRef?: string | undefined;
results?: number | undefined;
security?: string | undefined;
unselectable?: "on" | "off" | undefined;
popover?: "" | "auto" | "manual" | "hint" | undefined;
popoverTargetAction?: "toggle" | "show" | "hide" | undefined;
popoverTarget?: string | undefined;
inert?: boolean | undefined;
inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined;
is?: string | undefined;
exportparts?: string | undefined;
part?: string | undefined;
className?: string;
classes?: Partial<import("./richTreeViewClasses.js").RichTreeViewClasses>;
sx?: import("@mui/system").SxProps<import("@mui/material/styles").Theme>;
};
};
@@ -0,0 +1,95 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useExtractRichTreeViewParameters = useExtractRichTreeViewParameters;
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var React = _interopRequireWildcard(require("react"));
const _excluded = ["apiRef", "slots", "slotProps", "disabledItemsFocusable", "items", "isItemDisabled", "isItemSelectionDisabled", "getItemLabel", "getItemChildren", "getItemId", "onItemClick", "itemChildrenIndentation", "id", "expandedItems", "defaultExpandedItems", "onExpandedItemsChange", "onItemExpansionToggle", "expansionTrigger", "disableSelection", "selectedItems", "defaultSelectedItems", "multiSelect", "checkboxSelection", "selectionPropagation", "onSelectedItemsChange", "onItemSelectionToggle", "onItemFocus", "itemHeight", "onItemLabelChange", "isItemEditable", "domStructure"];
function useExtractRichTreeViewParameters(props) {
const {
// Props for Provider
apiRef,
slots,
slotProps,
// Shared parameters
disabledItemsFocusable,
items,
isItemDisabled,
isItemSelectionDisabled,
getItemLabel,
getItemChildren,
getItemId,
onItemClick,
itemChildrenIndentation,
id,
expandedItems,
defaultExpandedItems,
onExpandedItemsChange,
onItemExpansionToggle,
expansionTrigger,
disableSelection,
selectedItems,
defaultSelectedItems,
multiSelect,
checkboxSelection,
selectionPropagation,
onSelectedItemsChange,
onItemSelectionToggle,
onItemFocus,
itemHeight,
// RichTreeViewStore parameters
onItemLabelChange,
isItemEditable,
domStructure
// Forwarded props
} = props,
forwardedProps = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
const parameters = React.useMemo(() => ({
// Shared parameters
disabledItemsFocusable,
items,
isItemDisabled,
isItemSelectionDisabled,
getItemLabel,
getItemChildren,
getItemId,
onItemClick,
itemChildrenIndentation,
id,
expandedItems,
defaultExpandedItems,
onExpandedItemsChange,
onItemExpansionToggle,
expansionTrigger,
disableSelection,
selectedItems,
defaultSelectedItems,
multiSelect,
checkboxSelection,
selectionPropagation,
onSelectedItemsChange,
onItemSelectionToggle,
onItemFocus,
itemHeight,
// RichTreeViewStore parameters
onItemLabelChange,
isItemEditable,
domStructure
}), [
// Shared parameters
disabledItemsFocusable, items, isItemDisabled, isItemSelectionDisabled, getItemLabel, getItemChildren, getItemId, onItemClick, itemChildrenIndentation, id, expandedItems, defaultExpandedItems, onExpandedItemsChange, onItemExpansionToggle, expansionTrigger, disableSelection, selectedItems, defaultSelectedItems, multiSelect, checkboxSelection, selectionPropagation, onSelectedItemsChange, onItemSelectionToggle, onItemFocus, itemHeight,
// RichTreeViewStore parameters
onItemLabelChange, isItemEditable, domStructure]);
return {
apiRef,
slots,
slotProps,
parameters,
forwardedProps
};
}
@@ -0,0 +1,87 @@
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
const _excluded = ["apiRef", "slots", "slotProps", "disabledItemsFocusable", "items", "isItemDisabled", "isItemSelectionDisabled", "getItemLabel", "getItemChildren", "getItemId", "onItemClick", "itemChildrenIndentation", "id", "expandedItems", "defaultExpandedItems", "onExpandedItemsChange", "onItemExpansionToggle", "expansionTrigger", "disableSelection", "selectedItems", "defaultSelectedItems", "multiSelect", "checkboxSelection", "selectionPropagation", "onSelectedItemsChange", "onItemSelectionToggle", "onItemFocus", "itemHeight", "onItemLabelChange", "isItemEditable", "domStructure"];
import * as React from 'react';
export function useExtractRichTreeViewParameters(props) {
const {
// Props for Provider
apiRef,
slots,
slotProps,
// Shared parameters
disabledItemsFocusable,
items,
isItemDisabled,
isItemSelectionDisabled,
getItemLabel,
getItemChildren,
getItemId,
onItemClick,
itemChildrenIndentation,
id,
expandedItems,
defaultExpandedItems,
onExpandedItemsChange,
onItemExpansionToggle,
expansionTrigger,
disableSelection,
selectedItems,
defaultSelectedItems,
multiSelect,
checkboxSelection,
selectionPropagation,
onSelectedItemsChange,
onItemSelectionToggle,
onItemFocus,
itemHeight,
// RichTreeViewStore parameters
onItemLabelChange,
isItemEditable,
domStructure
// Forwarded props
} = props,
forwardedProps = _objectWithoutPropertiesLoose(props, _excluded);
const parameters = React.useMemo(() => ({
// Shared parameters
disabledItemsFocusable,
items,
isItemDisabled,
isItemSelectionDisabled,
getItemLabel,
getItemChildren,
getItemId,
onItemClick,
itemChildrenIndentation,
id,
expandedItems,
defaultExpandedItems,
onExpandedItemsChange,
onItemExpansionToggle,
expansionTrigger,
disableSelection,
selectedItems,
defaultSelectedItems,
multiSelect,
checkboxSelection,
selectionPropagation,
onSelectedItemsChange,
onItemSelectionToggle,
onItemFocus,
itemHeight,
// RichTreeViewStore parameters
onItemLabelChange,
isItemEditable,
domStructure
}), [
// Shared parameters
disabledItemsFocusable, items, isItemDisabled, isItemSelectionDisabled, getItemLabel, getItemChildren, getItemId, onItemClick, itemChildrenIndentation, id, expandedItems, defaultExpandedItems, onExpandedItemsChange, onItemExpansionToggle, expansionTrigger, disableSelection, selectedItems, defaultSelectedItems, multiSelect, checkboxSelection, selectionPropagation, onSelectedItemsChange, onItemSelectionToggle, onItemFocus, itemHeight,
// RichTreeViewStore parameters
onItemLabelChange, isItemEditable, domStructure]);
return {
apiRef,
slots,
slotProps,
parameters,
forwardedProps
};
}
@@ -0,0 +1,20 @@
import * as React from 'react';
import type { SimpleTreeViewProps } from "./SimpleTreeView.types.mjs";
export declare const SimpleTreeViewRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme> & {
ownerState: SimpleTreeViewProps<any>;
}, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLUListElement>, HTMLUListElement>, keyof React.ClassAttributes<HTMLUListElement> | keyof React.HTMLAttributes<HTMLUListElement>>, {}>;
type SimpleTreeViewComponent = (<Multiple extends boolean | undefined = undefined>(props: SimpleTreeViewProps<Multiple> & React.RefAttributes<HTMLUListElement>) => React.JSX.Element) & {
propTypes?: any;
};
/**
*
* Demos:
*
* - [Tree View](https://mui.com/x/react-tree-view/)
*
* API:
*
* - [SimpleTreeView API](https://mui.com/x/api/tree-view/simple-tree-view/)
*/
declare const SimpleTreeView: SimpleTreeViewComponent;
export { SimpleTreeView };
@@ -0,0 +1,20 @@
import * as React from 'react';
import type { SimpleTreeViewProps } from "./SimpleTreeView.types.js";
export declare const SimpleTreeViewRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme> & {
ownerState: SimpleTreeViewProps<any>;
}, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLUListElement>, HTMLUListElement>, keyof React.ClassAttributes<HTMLUListElement> | keyof React.HTMLAttributes<HTMLUListElement>>, {}>;
type SimpleTreeViewComponent = (<Multiple extends boolean | undefined = undefined>(props: SimpleTreeViewProps<Multiple> & React.RefAttributes<HTMLUListElement>) => React.JSX.Element) & {
propTypes?: any;
};
/**
*
* Demos:
*
* - [Tree View](https://mui.com/x/react-tree-view/)
*
* API:
*
* - [SimpleTreeView API](https://mui.com/x/api/tree-view/simple-tree-view/)
*/
declare const SimpleTreeView: SimpleTreeViewComponent;
export { SimpleTreeView };
@@ -0,0 +1,283 @@
"use strict";
'use client';
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.SimpleTreeViewRoot = exports.SimpleTreeView = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var React = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _useMergedRefs = require("@base-ui/utils/useMergedRefs");
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
var _warning = require("@mui/x-internals/warning");
var _zeroStyled = require("../internals/zero-styled");
var _simpleTreeViewClasses = require("./simpleTreeViewClasses");
var _TreeViewProvider = require("../internals/TreeViewProvider");
var _useExtractSimpleTreeViewParameters = require("./useExtractSimpleTreeViewParameters");
var _useTreeViewRootProps = require("../internals/hooks/useTreeViewRootProps");
var _TreeViewChildrenItemProvider = require("../internals/TreeViewProvider/TreeViewChildrenItemProvider");
var _TreeViewItemDepthContext = require("../internals/TreeViewItemDepthContext");
var _useTreeViewStore = require("../internals/hooks/useTreeViewStore");
var _SimpleTreeViewStore = require("../internals/SimpleTreeViewStore");
var _jsxRuntime = require("react/jsx-runtime");
const useThemeProps = (0, _zeroStyled.createUseThemeProps)('MuiSimpleTreeView');
const useUtilityClasses = ownerState => {
const {
classes
} = ownerState;
return React.useMemo(() => {
const slots = {
root: ['root'],
item: ['item'],
itemContent: ['itemContent'],
itemGroupTransition: ['itemGroupTransition'],
itemIconContainer: ['itemIconContainer'],
itemLabel: ['itemLabel'],
// itemLabelInput: ['itemLabelInput'], => feature not available on this component
itemCheckbox: ['itemCheckbox']
// itemDragAndDropOverlay: ['itemDragAndDropOverlay'], => feature not available on this component
// itemErrorIcon: ['itemErrorIcon'], => feature not available on this component
};
return (0, _composeClasses.default)(slots, _simpleTreeViewClasses.getSimpleTreeViewUtilityClass, classes);
}, [classes]);
};
const SimpleTreeViewRoot = exports.SimpleTreeViewRoot = (0, _zeroStyled.styled)('ul', {
name: 'MuiSimpleTreeView',
slot: 'Root'
})({
padding: 0,
margin: 0,
listStyle: 'none',
outline: 0,
position: 'relative'
});
/**
*
* Demos:
*
* - [Tree View](https://mui.com/x/react-tree-view/)
*
* API:
*
* - [SimpleTreeView API](https://mui.com/x/api/tree-view/simple-tree-view/)
*/
const SimpleTreeView = exports.SimpleTreeView = /*#__PURE__*/React.forwardRef(function SimpleTreeView(inProps, forwardedRef) {
const props = useThemeProps({
props: inProps,
name: 'MuiSimpleTreeView'
});
if (process.env.NODE_ENV !== 'production') {
if (props.items != null) {
(0, _warning.warnOnce)(['MUI X: The Simple Tree View component does not support the `items` prop.', 'If you want to add items, you need to pass them as JSX children.', 'Check the documentation for more details: https://mui.com/x/react-tree-view/simple-tree-view/items/.']);
}
}
const {
slots,
slotProps,
apiRef,
parameters,
forwardedProps
} = (0, _useExtractSimpleTreeViewParameters.useExtractSimpleTreeViewParameters)(props);
const store = (0, _useTreeViewStore.useTreeViewStore)(_SimpleTreeViewStore.SimpleTreeViewStore, parameters);
const ref = React.useRef(null);
const handleRef = (0, _useMergedRefs.useMergedRefs)(forwardedRef, ref);
const getRootProps = (0, _useTreeViewRootProps.useTreeViewRootProps)(store, forwardedProps, handleRef);
const classes = useUtilityClasses(props);
const Root = slots?.root ?? SimpleTreeViewRoot;
const rootProps = (0, _useSlotProps.default)({
elementType: Root,
externalSlotProps: slotProps?.root,
className: classes.root,
getSlotProps: getRootProps,
ownerState: props
});
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeViewProvider.TreeViewProvider, {
store: store,
classes: classes,
slots: slots,
slotProps: slotProps,
apiRef: apiRef,
rootRef: ref,
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeViewChildrenItemProvider.TreeViewChildrenItemProvider, {
itemId: null,
idAttribute: null,
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeViewItemDepthContext.TreeViewItemDepthContext.Provider, {
value: 0,
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Root, (0, _extends2.default)({}, rootProps))
})
})
});
});
if (process.env.NODE_ENV !== "production") SimpleTreeView.displayName = "SimpleTreeView";
process.env.NODE_ENV !== "production" ? SimpleTreeView.propTypes /* remove-proptypes */ = {
// ----------------------------- Warning --------------------------------
// | These PropTypes are generated from the TypeScript type definitions |
// | To update them edit the TypeScript types and run "pnpm proptypes" |
// ----------------------------------------------------------------------
/**
* The ref object that allows Tree View manipulation. Can be instantiated with `useSimpleTreeViewApiRef()`.
*/
apiRef: _propTypes.default.shape({
current: _propTypes.default.shape({
focusItem: _propTypes.default.func,
getItem: _propTypes.default.func,
getItemDOMElement: _propTypes.default.func,
getItemOrderedChildrenIds: _propTypes.default.func,
getItemSelection: _propTypes.default.func,
getItemTree: _propTypes.default.func,
getParentId: _propTypes.default.func,
isItemExpanded: _propTypes.default.func,
setIsItemDisabled: _propTypes.default.func,
setItemExpansion: _propTypes.default.func,
setItemSelection: _propTypes.default.func
})
}),
/**
* Whether the Tree View renders a checkbox at the left of its label that allows selecting it.
* @default false
*/
checkboxSelection: _propTypes.default.bool,
/**
* The content of the component.
*/
children: _propTypes.default.node,
/**
* Override or extend the styles applied to the component.
*/
classes: _propTypes.default.object,
className: _propTypes.default.string,
/**
* Expanded item ids.
* Used when the item's expansion is not controlled.
* @default []
*/
defaultExpandedItems: _propTypes.default.arrayOf(_propTypes.default.string),
/**
* Selected item ids. (Uncontrolled)
* When `multiSelect` is true this takes an array of strings; when false (default) a string.
* @default []
*/
defaultSelectedItems: _propTypes.default.any,
/**
* Whether the items should be focusable when disabled.
* @default false
*/
disabledItemsFocusable: _propTypes.default.bool,
/**
* Whether selection is disabled.
* @default false
*/
disableSelection: _propTypes.default.bool,
/**
* Expanded item ids.
* Used when the item's expansion is controlled.
*/
expandedItems: _propTypes.default.arrayOf(_propTypes.default.string),
/**
* The slot that triggers the item's expansion when clicked.
* @default 'content'
*/
expansionTrigger: _propTypes.default.oneOf(['content', 'iconContainer']),
/**
* This prop is used to help implement the accessibility logic.
* If you don't provide this prop. It falls back to a randomly generated id.
*/
id: _propTypes.default.string,
/**
* Horizontal indentation between an item and its children.
* Examples: 24, "24px", "2rem", "2em".
* @default 12px
*/
itemChildrenIndentation: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
/**
* Sets the height in pixel of an item.
* Set to `null` to explicitly remove any item height restriction when items have different heights.
* @default null
*/
itemHeight: _propTypes.default.number,
/**
* Whether multiple items can be selected.
* @default false
*/
multiSelect: _propTypes.default.bool,
/**
* Callback fired when Tree Items are expanded/collapsed.
* @param {React.SyntheticEvent} event The DOM event that triggered the change. Can be null when the change is caused by the `publicAPI.setItemExpansion()` method.
* @param {TreeViewItemId[]} itemIds The ids of the expanded items.
*/
onExpandedItemsChange: _propTypes.default.func,
/**
* Callback fired when the `content` slot of a given Tree Item is clicked.
* @param {React.MouseEvent} event The DOM event that triggered the change.
* @param {TreeViewItemId} itemId The id of the focused item.
*/
onItemClick: _propTypes.default.func,
/**
* Callback fired when a Tree Item is expanded or collapsed.
* @param {React.SyntheticEvent | null} event The DOM event that triggered the change. Can be null when the change is caused by the `publicAPI.setItemExpansion()` method.
* @param {TreeViewItemId} itemId The itemId of the modified item.
* @param {boolean} isExpanded `true` if the item has just been expanded, `false` if it has just been collapsed.
*/
onItemExpansionToggle: _propTypes.default.func,
/**
* Callback fired when a given Tree Item is focused.
* @param {React.SyntheticEvent | null} event The DOM event that triggered the change. **Warning**: This is a generic event not a focus event.
* @param {TreeViewItemId} itemId The id of the focused item.
*/
onItemFocus: _propTypes.default.func,
/**
* Callback fired when a Tree Item is selected or deselected.
* @param {React.SyntheticEvent} event The DOM event that triggered the change. Can be null when the change is caused by the `publicAPI.setItemSelection()` method.
* @param {TreeViewItemId} itemId The itemId of the modified item.
* @param {boolean} isSelected `true` if the item has just been selected, `false` if it has just been deselected.
*/
onItemSelectionToggle: _propTypes.default.func,
/**
* Callback fired when Tree Items are selected/deselected.
* @param {React.SyntheticEvent} event The DOM event that triggered the change. Can be null when the change is caused by the `publicAPI.setItemSelection()` method.
* @param {TreeViewItemId[] | TreeViewItemId} itemIds The ids of the selected items.
* When `multiSelect` is `true`, this is an array of strings; when false (default) a string.
*/
onSelectedItemsChange: _propTypes.default.func,
/**
* Selected item ids. (Controlled)
* When `multiSelect` is true this takes an array of strings; when false (default) a string.
*/
selectedItems: _propTypes.default.any,
/**
* When `selectionPropagation.descendants` is set to `true`.
*
* - Selecting a parent selects all its descendants automatically.
* - Deselecting a parent deselects all its descendants automatically.
*
* When `selectionPropagation.parents` is set to `true`.
*
* - Selecting all the descendants of a parent selects the parent automatically.
* - Deselecting a descendant of a selected parent deselects the parent automatically.
*
* Only works when `multiSelect` is `true`.
* On the <SimpleTreeView />, only the expanded items are considered (since the collapsed item are not passed to the Tree View component at all)
*
* @default { parents: false, descendants: false }
*/
selectionPropagation: _propTypes.default.shape({
descendants: _propTypes.default.bool,
parents: _propTypes.default.bool
}),
/**
* The props used for each component slot.
*/
slotProps: _propTypes.default.object,
/**
* Overridable component slots.
*/
slots: _propTypes.default.object,
/**
* The system prop that allows defining system overrides as well as additional CSS styles.
*/
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
} : void 0;
@@ -0,0 +1,277 @@
'use client';
import _extends from "@babel/runtime/helpers/esm/extends";
import * as React from 'react';
import PropTypes from 'prop-types';
import { useMergedRefs } from '@base-ui/utils/useMergedRefs';
import composeClasses from '@mui/utils/composeClasses';
import useSlotProps from '@mui/utils/useSlotProps';
import { warnOnce } from '@mui/x-internals/warning';
import { styled, createUseThemeProps } from "../internals/zero-styled/index.mjs";
import { getSimpleTreeViewUtilityClass } from "./simpleTreeViewClasses.mjs";
import { TreeViewProvider } from "../internals/TreeViewProvider/index.mjs";
import { useExtractSimpleTreeViewParameters } from "./useExtractSimpleTreeViewParameters.mjs";
import { useTreeViewRootProps } from "../internals/hooks/useTreeViewRootProps.mjs";
import { TreeViewChildrenItemProvider } from "../internals/TreeViewProvider/TreeViewChildrenItemProvider.mjs";
import { TreeViewItemDepthContext } from "../internals/TreeViewItemDepthContext/index.mjs";
import { useTreeViewStore } from "../internals/hooks/useTreeViewStore.mjs";
import { SimpleTreeViewStore } from "../internals/SimpleTreeViewStore/index.mjs";
import { jsx as _jsx } from "react/jsx-runtime";
const useThemeProps = createUseThemeProps('MuiSimpleTreeView');
const useUtilityClasses = ownerState => {
const {
classes
} = ownerState;
return React.useMemo(() => {
const slots = {
root: ['root'],
item: ['item'],
itemContent: ['itemContent'],
itemGroupTransition: ['itemGroupTransition'],
itemIconContainer: ['itemIconContainer'],
itemLabel: ['itemLabel'],
// itemLabelInput: ['itemLabelInput'], => feature not available on this component
itemCheckbox: ['itemCheckbox']
// itemDragAndDropOverlay: ['itemDragAndDropOverlay'], => feature not available on this component
// itemErrorIcon: ['itemErrorIcon'], => feature not available on this component
};
return composeClasses(slots, getSimpleTreeViewUtilityClass, classes);
}, [classes]);
};
export const SimpleTreeViewRoot = styled('ul', {
name: 'MuiSimpleTreeView',
slot: 'Root'
})({
padding: 0,
margin: 0,
listStyle: 'none',
outline: 0,
position: 'relative'
});
/**
*
* Demos:
*
* - [Tree View](https://mui.com/x/react-tree-view/)
*
* API:
*
* - [SimpleTreeView API](https://mui.com/x/api/tree-view/simple-tree-view/)
*/
const SimpleTreeView = /*#__PURE__*/React.forwardRef(function SimpleTreeView(inProps, forwardedRef) {
const props = useThemeProps({
props: inProps,
name: 'MuiSimpleTreeView'
});
if (process.env.NODE_ENV !== 'production') {
if (props.items != null) {
warnOnce(['MUI X: The Simple Tree View component does not support the `items` prop.', 'If you want to add items, you need to pass them as JSX children.', 'Check the documentation for more details: https://mui.com/x/react-tree-view/simple-tree-view/items/.']);
}
}
const {
slots,
slotProps,
apiRef,
parameters,
forwardedProps
} = useExtractSimpleTreeViewParameters(props);
const store = useTreeViewStore(SimpleTreeViewStore, parameters);
const ref = React.useRef(null);
const handleRef = useMergedRefs(forwardedRef, ref);
const getRootProps = useTreeViewRootProps(store, forwardedProps, handleRef);
const classes = useUtilityClasses(props);
const Root = slots?.root ?? SimpleTreeViewRoot;
const rootProps = useSlotProps({
elementType: Root,
externalSlotProps: slotProps?.root,
className: classes.root,
getSlotProps: getRootProps,
ownerState: props
});
return /*#__PURE__*/_jsx(TreeViewProvider, {
store: store,
classes: classes,
slots: slots,
slotProps: slotProps,
apiRef: apiRef,
rootRef: ref,
children: /*#__PURE__*/_jsx(TreeViewChildrenItemProvider, {
itemId: null,
idAttribute: null,
children: /*#__PURE__*/_jsx(TreeViewItemDepthContext.Provider, {
value: 0,
children: /*#__PURE__*/_jsx(Root, _extends({}, rootProps))
})
})
});
});
if (process.env.NODE_ENV !== "production") SimpleTreeView.displayName = "SimpleTreeView";
process.env.NODE_ENV !== "production" ? SimpleTreeView.propTypes /* remove-proptypes */ = {
// ----------------------------- Warning --------------------------------
// | These PropTypes are generated from the TypeScript type definitions |
// | To update them edit the TypeScript types and run "pnpm proptypes" |
// ----------------------------------------------------------------------
/**
* The ref object that allows Tree View manipulation. Can be instantiated with `useSimpleTreeViewApiRef()`.
*/
apiRef: PropTypes.shape({
current: PropTypes.shape({
focusItem: PropTypes.func,
getItem: PropTypes.func,
getItemDOMElement: PropTypes.func,
getItemOrderedChildrenIds: PropTypes.func,
getItemSelection: PropTypes.func,
getItemTree: PropTypes.func,
getParentId: PropTypes.func,
isItemExpanded: PropTypes.func,
setIsItemDisabled: PropTypes.func,
setItemExpansion: PropTypes.func,
setItemSelection: PropTypes.func
})
}),
/**
* Whether the Tree View renders a checkbox at the left of its label that allows selecting it.
* @default false
*/
checkboxSelection: PropTypes.bool,
/**
* The content of the component.
*/
children: PropTypes.node,
/**
* Override or extend the styles applied to the component.
*/
classes: PropTypes.object,
className: PropTypes.string,
/**
* Expanded item ids.
* Used when the item's expansion is not controlled.
* @default []
*/
defaultExpandedItems: PropTypes.arrayOf(PropTypes.string),
/**
* Selected item ids. (Uncontrolled)
* When `multiSelect` is true this takes an array of strings; when false (default) a string.
* @default []
*/
defaultSelectedItems: PropTypes.any,
/**
* Whether the items should be focusable when disabled.
* @default false
*/
disabledItemsFocusable: PropTypes.bool,
/**
* Whether selection is disabled.
* @default false
*/
disableSelection: PropTypes.bool,
/**
* Expanded item ids.
* Used when the item's expansion is controlled.
*/
expandedItems: PropTypes.arrayOf(PropTypes.string),
/**
* The slot that triggers the item's expansion when clicked.
* @default 'content'
*/
expansionTrigger: PropTypes.oneOf(['content', 'iconContainer']),
/**
* This prop is used to help implement the accessibility logic.
* If you don't provide this prop. It falls back to a randomly generated id.
*/
id: PropTypes.string,
/**
* Horizontal indentation between an item and its children.
* Examples: 24, "24px", "2rem", "2em".
* @default 12px
*/
itemChildrenIndentation: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
/**
* Sets the height in pixel of an item.
* Set to `null` to explicitly remove any item height restriction when items have different heights.
* @default null
*/
itemHeight: PropTypes.number,
/**
* Whether multiple items can be selected.
* @default false
*/
multiSelect: PropTypes.bool,
/**
* Callback fired when Tree Items are expanded/collapsed.
* @param {React.SyntheticEvent} event The DOM event that triggered the change. Can be null when the change is caused by the `publicAPI.setItemExpansion()` method.
* @param {TreeViewItemId[]} itemIds The ids of the expanded items.
*/
onExpandedItemsChange: PropTypes.func,
/**
* Callback fired when the `content` slot of a given Tree Item is clicked.
* @param {React.MouseEvent} event The DOM event that triggered the change.
* @param {TreeViewItemId} itemId The id of the focused item.
*/
onItemClick: PropTypes.func,
/**
* Callback fired when a Tree Item is expanded or collapsed.
* @param {React.SyntheticEvent | null} event The DOM event that triggered the change. Can be null when the change is caused by the `publicAPI.setItemExpansion()` method.
* @param {TreeViewItemId} itemId The itemId of the modified item.
* @param {boolean} isExpanded `true` if the item has just been expanded, `false` if it has just been collapsed.
*/
onItemExpansionToggle: PropTypes.func,
/**
* Callback fired when a given Tree Item is focused.
* @param {React.SyntheticEvent | null} event The DOM event that triggered the change. **Warning**: This is a generic event not a focus event.
* @param {TreeViewItemId} itemId The id of the focused item.
*/
onItemFocus: PropTypes.func,
/**
* Callback fired when a Tree Item is selected or deselected.
* @param {React.SyntheticEvent} event The DOM event that triggered the change. Can be null when the change is caused by the `publicAPI.setItemSelection()` method.
* @param {TreeViewItemId} itemId The itemId of the modified item.
* @param {boolean} isSelected `true` if the item has just been selected, `false` if it has just been deselected.
*/
onItemSelectionToggle: PropTypes.func,
/**
* Callback fired when Tree Items are selected/deselected.
* @param {React.SyntheticEvent} event The DOM event that triggered the change. Can be null when the change is caused by the `publicAPI.setItemSelection()` method.
* @param {TreeViewItemId[] | TreeViewItemId} itemIds The ids of the selected items.
* When `multiSelect` is `true`, this is an array of strings; when false (default) a string.
*/
onSelectedItemsChange: PropTypes.func,
/**
* Selected item ids. (Controlled)
* When `multiSelect` is true this takes an array of strings; when false (default) a string.
*/
selectedItems: PropTypes.any,
/**
* When `selectionPropagation.descendants` is set to `true`.
*
* - Selecting a parent selects all its descendants automatically.
* - Deselecting a parent deselects all its descendants automatically.
*
* When `selectionPropagation.parents` is set to `true`.
*
* - Selecting all the descendants of a parent selects the parent automatically.
* - Deselecting a descendant of a selected parent deselects the parent automatically.
*
* Only works when `multiSelect` is `true`.
* On the <SimpleTreeView />, only the expanded items are considered (since the collapsed item are not passed to the Tree View component at all)
*
* @default { parents: false, descendants: false }
*/
selectionPropagation: PropTypes.shape({
descendants: PropTypes.bool,
parents: PropTypes.bool
}),
/**
* The props used for each component slot.
*/
slotProps: PropTypes.object,
/**
* Overridable component slots.
*/
slots: PropTypes.object,
/**
* The system prop that allows defining system overrides as well as additional CSS styles.
*/
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
} : void 0;
export { SimpleTreeView };
@@ -0,0 +1,47 @@
import type * as React from 'react';
import type { Theme } from '@mui/material/styles';
import type { SlotComponentProps } from '@mui/utils/types';
import type { SxProps } from '@mui/system/styleFunctionSx';
import type { SimpleTreeViewClasses } from "./simpleTreeViewClasses.mjs";
import type { TreeViewSlotProps, TreeViewSlots } from "../internals/TreeViewProvider/TreeViewStyleContext.mjs";
import type { SimpleTreeViewStore } from "../internals/SimpleTreeViewStore/index.mjs";
import type { UseTreeViewStoreParameters } from "../internals/hooks/useTreeViewStore.mjs";
import type { TreeViewPublicAPI } from "../internals/models/index.mjs";
export interface SimpleTreeViewSlots extends TreeViewSlots {
/**
* Element rendered at the root.
* @default SimpleTreeViewRoot
*/
root?: React.ElementType;
}
export interface SimpleTreeViewSlotProps extends TreeViewSlotProps {
root?: SlotComponentProps<'ul', {}, {}>;
}
export type SimpleTreeViewApiRef<Multiple extends boolean | undefined = any> = React.RefObject<Partial<TreeViewPublicAPI<SimpleTreeViewStore<Multiple>>> | undefined>;
export interface SimpleTreeViewProps<Multiple extends boolean | undefined> extends UseTreeViewStoreParameters<SimpleTreeViewStore<Multiple>>, React.HTMLAttributes<HTMLUListElement> {
/**
* The content of the component.
*/
children?: React.ReactNode;
/**
* Overridable component slots.
*/
slots?: SimpleTreeViewSlots;
/**
* The props used for each component slot.
*/
slotProps?: SimpleTreeViewSlotProps;
className?: string;
/**
* Override or extend the styles applied to the component.
*/
classes?: Partial<SimpleTreeViewClasses>;
/**
* The system prop that allows defining system overrides as well as additional CSS styles.
*/
sx?: SxProps<Theme>;
/**
* The ref object that allows Tree View manipulation. Can be instantiated with `useSimpleTreeViewApiRef()`.
*/
apiRef?: SimpleTreeViewApiRef;
}
@@ -0,0 +1,47 @@
import type * as React from 'react';
import type { Theme } from '@mui/material/styles';
import type { SlotComponentProps } from '@mui/utils/types';
import type { SxProps } from '@mui/system/styleFunctionSx';
import type { SimpleTreeViewClasses } from "./simpleTreeViewClasses.js";
import type { TreeViewSlotProps, TreeViewSlots } from "../internals/TreeViewProvider/TreeViewStyleContext.js";
import type { SimpleTreeViewStore } from "../internals/SimpleTreeViewStore/index.js";
import type { UseTreeViewStoreParameters } from "../internals/hooks/useTreeViewStore.js";
import type { TreeViewPublicAPI } from "../internals/models/index.js";
export interface SimpleTreeViewSlots extends TreeViewSlots {
/**
* Element rendered at the root.
* @default SimpleTreeViewRoot
*/
root?: React.ElementType;
}
export interface SimpleTreeViewSlotProps extends TreeViewSlotProps {
root?: SlotComponentProps<'ul', {}, {}>;
}
export type SimpleTreeViewApiRef<Multiple extends boolean | undefined = any> = React.RefObject<Partial<TreeViewPublicAPI<SimpleTreeViewStore<Multiple>>> | undefined>;
export interface SimpleTreeViewProps<Multiple extends boolean | undefined> extends UseTreeViewStoreParameters<SimpleTreeViewStore<Multiple>>, React.HTMLAttributes<HTMLUListElement> {
/**
* The content of the component.
*/
children?: React.ReactNode;
/**
* Overridable component slots.
*/
slots?: SimpleTreeViewSlots;
/**
* The props used for each component slot.
*/
slotProps?: SimpleTreeViewSlotProps;
className?: string;
/**
* Override or extend the styles applied to the component.
*/
classes?: Partial<SimpleTreeViewClasses>;
/**
* The system prop that allows defining system overrides as well as additional CSS styles.
*/
sx?: SxProps<Theme>;
/**
* The ref object that allows Tree View manipulation. Can be instantiated with `useSimpleTreeViewApiRef()`.
*/
apiRef?: SimpleTreeViewApiRef;
}
@@ -0,0 +1,5 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
@@ -0,0 +1 @@
export {};
@@ -0,0 +1,3 @@
export * from "./SimpleTreeView.mjs";
export * from "./simpleTreeViewClasses.mjs";
export type { SimpleTreeViewProps, SimpleTreeViewSlots, SimpleTreeViewSlotProps, SimpleTreeViewApiRef } from "./SimpleTreeView.types.mjs";
@@ -0,0 +1,3 @@
export * from "./SimpleTreeView.js";
export * from "./simpleTreeViewClasses.js";
export type { SimpleTreeViewProps, SimpleTreeViewSlots, SimpleTreeViewSlotProps, SimpleTreeViewApiRef } from "./SimpleTreeView.types.js";
@@ -0,0 +1,27 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _SimpleTreeView = require("./SimpleTreeView");
Object.keys(_SimpleTreeView).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (key in exports && exports[key] === _SimpleTreeView[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _SimpleTreeView[key];
}
});
});
var _simpleTreeViewClasses = require("./simpleTreeViewClasses");
Object.keys(_simpleTreeViewClasses).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (key in exports && exports[key] === _simpleTreeViewClasses[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _simpleTreeViewClasses[key];
}
});
});
@@ -0,0 +1,3 @@
export * from "./SimpleTreeView.mjs";
export * from "./simpleTreeViewClasses.mjs";
export {};
@@ -0,0 +1,5 @@
import type { TreeViewClasses } from "../internals/TreeViewProvider/TreeViewStyleContext.mjs";
export interface SimpleTreeViewClasses extends Omit<TreeViewClasses, 'itemDragAndDropOverlay' | 'itemLabelInput' | 'itemErrorIcon' | 'itemLoadingIcon'> {}
export type SimpleTreeViewClassKey = keyof SimpleTreeViewClasses;
export declare function getSimpleTreeViewUtilityClass(slot: string): string;
export declare const simpleTreeViewClasses: SimpleTreeViewClasses;
@@ -0,0 +1,5 @@
import type { TreeViewClasses } from "../internals/TreeViewProvider/TreeViewStyleContext.js";
export interface SimpleTreeViewClasses extends Omit<TreeViewClasses, 'itemDragAndDropOverlay' | 'itemLabelInput' | 'itemErrorIcon' | 'itemLoadingIcon'> {}
export type SimpleTreeViewClassKey = keyof SimpleTreeViewClasses;
export declare function getSimpleTreeViewUtilityClass(slot: string): string;
export declare const simpleTreeViewClasses: SimpleTreeViewClasses;
@@ -0,0 +1,14 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getSimpleTreeViewUtilityClass = getSimpleTreeViewUtilityClass;
exports.simpleTreeViewClasses = void 0;
var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
function getSimpleTreeViewUtilityClass(slot) {
return (0, _generateUtilityClass.default)('MuiSimpleTreeView', slot);
}
const simpleTreeViewClasses = exports.simpleTreeViewClasses = (0, _generateUtilityClasses.default)('MuiSimpleTreeView', ['root', 'item', 'itemContent', 'itemGroupTransition', 'itemIconContainer', 'itemLabel', 'itemCheckbox']);
@@ -0,0 +1,6 @@
import generateUtilityClass from '@mui/utils/generateUtilityClass';
import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
export function getSimpleTreeViewUtilityClass(slot) {
return generateUtilityClass('MuiSimpleTreeView', slot);
}
export const simpleTreeViewClasses = generateUtilityClasses('MuiSimpleTreeView', ['root', 'item', 'itemContent', 'itemGroupTransition', 'itemIconContainer', 'itemLabel', 'itemCheckbox']);
@@ -0,0 +1,293 @@
import * as React from 'react';
import type { SimpleTreeViewProps } from "./SimpleTreeView.types.mjs";
import type { UseTreeViewStoreParameters } from "../internals/hooks/useTreeViewStore.mjs";
import type { SimpleTreeViewStore } from "../internals/SimpleTreeViewStore/index.mjs";
export declare function useExtractSimpleTreeViewParameters<Multiple extends boolean | undefined>(props: SimpleTreeViewProps<Multiple>): {
apiRef: import("./SimpleTreeView.types.mjs").SimpleTreeViewApiRef<any> | undefined;
slots: import("./SimpleTreeView.types.mjs").SimpleTreeViewSlots | undefined;
slotProps: import("./SimpleTreeView.types.mjs").SimpleTreeViewSlotProps | undefined;
parameters: UseTreeViewStoreParameters<SimpleTreeViewStore<Multiple>>;
forwardedProps: {
dangerouslySetInnerHTML?: {
__html: string | TrustedHTML;
} | undefined;
onCopy?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
onCopyCapture?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
onCut?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
onCutCapture?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
onPaste?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
onPasteCapture?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
onCompositionEnd?: React.CompositionEventHandler<HTMLUListElement> | undefined;
onCompositionEndCapture?: React.CompositionEventHandler<HTMLUListElement> | undefined;
onCompositionStart?: React.CompositionEventHandler<HTMLUListElement> | undefined;
onCompositionStartCapture?: React.CompositionEventHandler<HTMLUListElement> | undefined;
onCompositionUpdate?: React.CompositionEventHandler<HTMLUListElement> | undefined;
onCompositionUpdateCapture?: React.CompositionEventHandler<HTMLUListElement> | undefined;
onFocus?: React.FocusEventHandler<HTMLUListElement> | undefined;
onFocusCapture?: React.FocusEventHandler<HTMLUListElement> | undefined;
onBlur?: React.FocusEventHandler<HTMLUListElement> | undefined;
onBlurCapture?: React.FocusEventHandler<HTMLUListElement> | undefined;
onChange?: React.ChangeEventHandler<HTMLUListElement, Element> | undefined;
onChangeCapture?: React.ChangeEventHandler<HTMLUListElement, Element> | undefined;
onBeforeInput?: React.InputEventHandler<HTMLUListElement> | undefined;
onBeforeInputCapture?: React.InputEventHandler<HTMLUListElement> | undefined;
onInput?: React.InputEventHandler<HTMLUListElement> | undefined;
onInputCapture?: React.InputEventHandler<HTMLUListElement> | undefined;
onReset?: React.ReactEventHandler<HTMLUListElement> | undefined;
onResetCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSubmit?: React.SubmitEventHandler<HTMLUListElement> | undefined;
onSubmitCapture?: React.SubmitEventHandler<HTMLUListElement> | undefined;
onInvalid?: React.ReactEventHandler<HTMLUListElement> | undefined;
onInvalidCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoad?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onError?: React.ReactEventHandler<HTMLUListElement> | undefined;
onErrorCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onKeyDown?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
onKeyDownCapture?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
onKeyPress?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
onKeyPressCapture?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
onKeyUp?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
onKeyUpCapture?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
onAbort?: React.ReactEventHandler<HTMLUListElement> | undefined;
onAbortCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onCanPlay?: React.ReactEventHandler<HTMLUListElement> | undefined;
onCanPlayCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onCanPlayThrough?: React.ReactEventHandler<HTMLUListElement> | undefined;
onCanPlayThroughCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onDurationChange?: React.ReactEventHandler<HTMLUListElement> | undefined;
onDurationChangeCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onEmptied?: React.ReactEventHandler<HTMLUListElement> | undefined;
onEmptiedCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onEncrypted?: React.ReactEventHandler<HTMLUListElement> | undefined;
onEncryptedCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onEnded?: React.ReactEventHandler<HTMLUListElement> | undefined;
onEndedCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadedData?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadedDataCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadedMetadata?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadedMetadataCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadStart?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadStartCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onPause?: React.ReactEventHandler<HTMLUListElement> | undefined;
onPauseCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onPlay?: React.ReactEventHandler<HTMLUListElement> | undefined;
onPlayCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onPlaying?: React.ReactEventHandler<HTMLUListElement> | undefined;
onPlayingCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onProgress?: React.ReactEventHandler<HTMLUListElement> | undefined;
onProgressCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onRateChange?: React.ReactEventHandler<HTMLUListElement> | undefined;
onRateChangeCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSeeked?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSeekedCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSeeking?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSeekingCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onStalled?: React.ReactEventHandler<HTMLUListElement> | undefined;
onStalledCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSuspend?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSuspendCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onTimeUpdate?: React.ReactEventHandler<HTMLUListElement> | undefined;
onTimeUpdateCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onVolumeChange?: React.ReactEventHandler<HTMLUListElement> | undefined;
onVolumeChangeCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onWaiting?: React.ReactEventHandler<HTMLUListElement> | undefined;
onWaitingCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onAuxClick?: React.MouseEventHandler<HTMLUListElement> | undefined;
onAuxClickCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onClick?: React.MouseEventHandler<HTMLUListElement> | undefined;
onClickCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onContextMenu?: React.MouseEventHandler<HTMLUListElement> | undefined;
onContextMenuCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onDoubleClick?: React.MouseEventHandler<HTMLUListElement> | undefined;
onDoubleClickCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onDrag?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragEnd?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragEndCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragEnter?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragEnterCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragExit?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragExitCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragLeave?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragLeaveCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragOver?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragOverCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragStart?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragStartCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDrop?: React.DragEventHandler<HTMLUListElement> | undefined;
onDropCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onMouseDown?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseDownCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseEnter?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseLeave?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseMove?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseMoveCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseOut?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseOutCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseOver?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseOverCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseUp?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseUpCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onSelect?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSelectCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onTouchCancel?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchCancelCapture?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchEnd?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchEndCapture?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchMove?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchMoveCapture?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchStart?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchStartCapture?: React.TouchEventHandler<HTMLUListElement> | undefined;
onPointerDown?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerDownCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerMove?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerMoveCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerUp?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerUpCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerCancel?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerCancelCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerEnter?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerLeave?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerOver?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerOverCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerOut?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerOutCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onGotPointerCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onGotPointerCaptureCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onLostPointerCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onLostPointerCaptureCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onScroll?: React.UIEventHandler<HTMLUListElement> | undefined;
onScrollCapture?: React.UIEventHandler<HTMLUListElement> | undefined;
onScrollEnd?: React.UIEventHandler<HTMLUListElement> | undefined;
onScrollEndCapture?: React.UIEventHandler<HTMLUListElement> | undefined;
onWheel?: React.WheelEventHandler<HTMLUListElement> | undefined;
onWheelCapture?: React.WheelEventHandler<HTMLUListElement> | undefined;
onAnimationStart?: React.AnimationEventHandler<HTMLUListElement> | undefined;
onAnimationStartCapture?: React.AnimationEventHandler<HTMLUListElement> | undefined;
onAnimationEnd?: React.AnimationEventHandler<HTMLUListElement> | undefined;
onAnimationEndCapture?: React.AnimationEventHandler<HTMLUListElement> | undefined;
onAnimationIteration?: React.AnimationEventHandler<HTMLUListElement> | undefined;
onAnimationIterationCapture?: React.AnimationEventHandler<HTMLUListElement> | undefined;
onToggle?: React.ToggleEventHandler<HTMLUListElement> | undefined;
onBeforeToggle?: React.ToggleEventHandler<HTMLUListElement> | undefined;
onTransitionCancel?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionCancelCapture?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionEnd?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionEndCapture?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionRun?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionRunCapture?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionStart?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionStartCapture?: React.TransitionEventHandler<HTMLUListElement> | undefined;
"aria-activedescendant"?: string | undefined;
"aria-atomic"?: ("false" | "true" | boolean) | undefined;
"aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined;
"aria-braillelabel"?: string | undefined;
"aria-brailleroledescription"?: string | undefined;
"aria-busy"?: ("false" | "true" | boolean) | undefined;
"aria-checked"?: boolean | "false" | "mixed" | "true" | undefined;
"aria-colcount"?: number | undefined;
"aria-colindex"?: number | undefined;
"aria-colindextext"?: string | undefined;
"aria-colspan"?: number | undefined;
"aria-controls"?: string | undefined;
"aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined;
"aria-describedby"?: string | undefined;
"aria-description"?: string | undefined;
"aria-details"?: string | undefined;
"aria-disabled"?: ("false" | "true" | boolean) | undefined;
"aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined;
"aria-errormessage"?: string | undefined;
"aria-expanded"?: ("false" | "true" | boolean) | undefined;
"aria-flowto"?: string | undefined;
"aria-grabbed"?: ("false" | "true" | boolean) | undefined;
"aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined;
"aria-hidden"?: ("false" | "true" | boolean) | undefined;
"aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined;
"aria-keyshortcuts"?: string | undefined;
"aria-label"?: string | undefined;
"aria-labelledby"?: string | undefined;
"aria-level"?: number | undefined;
"aria-live"?: "off" | "assertive" | "polite" | undefined;
"aria-modal"?: ("false" | "true" | boolean) | undefined;
"aria-multiline"?: ("false" | "true" | boolean) | undefined;
"aria-multiselectable"?: ("false" | "true" | boolean) | undefined;
"aria-orientation"?: "horizontal" | "vertical" | undefined;
"aria-owns"?: string | undefined;
"aria-placeholder"?: string | undefined;
"aria-posinset"?: number | undefined;
"aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined;
"aria-readonly"?: ("false" | "true" | boolean) | undefined;
"aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined;
"aria-required"?: ("false" | "true" | boolean) | undefined;
"aria-roledescription"?: string | undefined;
"aria-rowcount"?: number | undefined;
"aria-rowindex"?: number | undefined;
"aria-rowindextext"?: string | undefined;
"aria-rowspan"?: number | undefined;
"aria-selected"?: ("false" | "true" | boolean) | undefined;
"aria-setsize"?: number | undefined;
"aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
"aria-valuemax"?: number | undefined;
"aria-valuemin"?: number | undefined;
"aria-valuenow"?: number | undefined;
"aria-valuetext"?: string | undefined;
defaultChecked?: boolean | undefined;
defaultValue?: string | number | readonly string[] | undefined;
suppressContentEditableWarning?: boolean | undefined;
suppressHydrationWarning?: boolean | undefined;
accessKey?: string | undefined;
autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {});
autoFocus?: boolean | undefined;
contentEditable?: ("false" | "true" | boolean) | "inherit" | "plaintext-only" | undefined;
contextMenu?: string | undefined;
dir?: string | undefined;
draggable?: ("false" | "true" | boolean) | undefined;
enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined;
hidden?: boolean | undefined;
lang?: string | undefined;
nonce?: string | undefined;
slot?: string | undefined;
spellCheck?: ("false" | "true" | boolean) | undefined;
style?: React.CSSProperties | undefined;
tabIndex?: number | undefined;
title?: string | undefined;
translate?: "yes" | "no" | undefined;
radioGroup?: string | undefined;
role?: React.AriaRole | undefined;
about?: string | undefined;
content?: string | undefined;
datatype?: string | undefined;
inlist?: any;
prefix?: string | undefined;
property?: string | undefined;
rel?: string | undefined;
resource?: string | undefined;
rev?: string | undefined;
typeof?: string | undefined;
vocab?: string | undefined;
autoCorrect?: string | undefined;
autoSave?: string | undefined;
color?: string | undefined;
itemProp?: string | undefined;
itemScope?: boolean | undefined;
itemType?: string | undefined;
itemID?: string | undefined;
itemRef?: string | undefined;
results?: number | undefined;
security?: string | undefined;
unselectable?: "on" | "off" | undefined;
popover?: "" | "auto" | "manual" | "hint" | undefined;
popoverTargetAction?: "toggle" | "show" | "hide" | undefined;
popoverTarget?: string | undefined;
inert?: boolean | undefined;
inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined;
is?: string | undefined;
exportparts?: string | undefined;
part?: string | undefined;
children?: React.ReactNode;
className?: string;
classes?: Partial<import("./simpleTreeViewClasses.mjs").SimpleTreeViewClasses>;
sx?: import("@mui/system").SxProps<import("@mui/material/styles").Theme>;
};
};
@@ -0,0 +1,293 @@
import * as React from 'react';
import type { SimpleTreeViewProps } from "./SimpleTreeView.types.js";
import type { UseTreeViewStoreParameters } from "../internals/hooks/useTreeViewStore.js";
import type { SimpleTreeViewStore } from "../internals/SimpleTreeViewStore/index.js";
export declare function useExtractSimpleTreeViewParameters<Multiple extends boolean | undefined>(props: SimpleTreeViewProps<Multiple>): {
apiRef: import("./SimpleTreeView.types.js").SimpleTreeViewApiRef<any> | undefined;
slots: import("./SimpleTreeView.types.js").SimpleTreeViewSlots | undefined;
slotProps: import("./SimpleTreeView.types.js").SimpleTreeViewSlotProps | undefined;
parameters: UseTreeViewStoreParameters<SimpleTreeViewStore<Multiple>>;
forwardedProps: {
dangerouslySetInnerHTML?: {
__html: string | TrustedHTML;
} | undefined;
onCopy?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
onCopyCapture?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
onCut?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
onCutCapture?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
onPaste?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
onPasteCapture?: React.ClipboardEventHandler<HTMLUListElement> | undefined;
onCompositionEnd?: React.CompositionEventHandler<HTMLUListElement> | undefined;
onCompositionEndCapture?: React.CompositionEventHandler<HTMLUListElement> | undefined;
onCompositionStart?: React.CompositionEventHandler<HTMLUListElement> | undefined;
onCompositionStartCapture?: React.CompositionEventHandler<HTMLUListElement> | undefined;
onCompositionUpdate?: React.CompositionEventHandler<HTMLUListElement> | undefined;
onCompositionUpdateCapture?: React.CompositionEventHandler<HTMLUListElement> | undefined;
onFocus?: React.FocusEventHandler<HTMLUListElement> | undefined;
onFocusCapture?: React.FocusEventHandler<HTMLUListElement> | undefined;
onBlur?: React.FocusEventHandler<HTMLUListElement> | undefined;
onBlurCapture?: React.FocusEventHandler<HTMLUListElement> | undefined;
onChange?: React.ChangeEventHandler<HTMLUListElement, Element> | undefined;
onChangeCapture?: React.ChangeEventHandler<HTMLUListElement, Element> | undefined;
onBeforeInput?: React.InputEventHandler<HTMLUListElement> | undefined;
onBeforeInputCapture?: React.InputEventHandler<HTMLUListElement> | undefined;
onInput?: React.InputEventHandler<HTMLUListElement> | undefined;
onInputCapture?: React.InputEventHandler<HTMLUListElement> | undefined;
onReset?: React.ReactEventHandler<HTMLUListElement> | undefined;
onResetCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSubmit?: React.SubmitEventHandler<HTMLUListElement> | undefined;
onSubmitCapture?: React.SubmitEventHandler<HTMLUListElement> | undefined;
onInvalid?: React.ReactEventHandler<HTMLUListElement> | undefined;
onInvalidCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoad?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onError?: React.ReactEventHandler<HTMLUListElement> | undefined;
onErrorCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onKeyDown?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
onKeyDownCapture?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
onKeyPress?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
onKeyPressCapture?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
onKeyUp?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
onKeyUpCapture?: React.KeyboardEventHandler<HTMLUListElement> | undefined;
onAbort?: React.ReactEventHandler<HTMLUListElement> | undefined;
onAbortCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onCanPlay?: React.ReactEventHandler<HTMLUListElement> | undefined;
onCanPlayCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onCanPlayThrough?: React.ReactEventHandler<HTMLUListElement> | undefined;
onCanPlayThroughCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onDurationChange?: React.ReactEventHandler<HTMLUListElement> | undefined;
onDurationChangeCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onEmptied?: React.ReactEventHandler<HTMLUListElement> | undefined;
onEmptiedCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onEncrypted?: React.ReactEventHandler<HTMLUListElement> | undefined;
onEncryptedCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onEnded?: React.ReactEventHandler<HTMLUListElement> | undefined;
onEndedCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadedData?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadedDataCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadedMetadata?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadedMetadataCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadStart?: React.ReactEventHandler<HTMLUListElement> | undefined;
onLoadStartCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onPause?: React.ReactEventHandler<HTMLUListElement> | undefined;
onPauseCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onPlay?: React.ReactEventHandler<HTMLUListElement> | undefined;
onPlayCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onPlaying?: React.ReactEventHandler<HTMLUListElement> | undefined;
onPlayingCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onProgress?: React.ReactEventHandler<HTMLUListElement> | undefined;
onProgressCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onRateChange?: React.ReactEventHandler<HTMLUListElement> | undefined;
onRateChangeCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSeeked?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSeekedCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSeeking?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSeekingCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onStalled?: React.ReactEventHandler<HTMLUListElement> | undefined;
onStalledCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSuspend?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSuspendCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onTimeUpdate?: React.ReactEventHandler<HTMLUListElement> | undefined;
onTimeUpdateCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onVolumeChange?: React.ReactEventHandler<HTMLUListElement> | undefined;
onVolumeChangeCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onWaiting?: React.ReactEventHandler<HTMLUListElement> | undefined;
onWaitingCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onAuxClick?: React.MouseEventHandler<HTMLUListElement> | undefined;
onAuxClickCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onClick?: React.MouseEventHandler<HTMLUListElement> | undefined;
onClickCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onContextMenu?: React.MouseEventHandler<HTMLUListElement> | undefined;
onContextMenuCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onDoubleClick?: React.MouseEventHandler<HTMLUListElement> | undefined;
onDoubleClickCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onDrag?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragEnd?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragEndCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragEnter?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragEnterCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragExit?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragExitCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragLeave?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragLeaveCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragOver?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragOverCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragStart?: React.DragEventHandler<HTMLUListElement> | undefined;
onDragStartCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onDrop?: React.DragEventHandler<HTMLUListElement> | undefined;
onDropCapture?: React.DragEventHandler<HTMLUListElement> | undefined;
onMouseDown?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseDownCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseEnter?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseLeave?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseMove?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseMoveCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseOut?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseOutCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseOver?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseOverCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseUp?: React.MouseEventHandler<HTMLUListElement> | undefined;
onMouseUpCapture?: React.MouseEventHandler<HTMLUListElement> | undefined;
onSelect?: React.ReactEventHandler<HTMLUListElement> | undefined;
onSelectCapture?: React.ReactEventHandler<HTMLUListElement> | undefined;
onTouchCancel?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchCancelCapture?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchEnd?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchEndCapture?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchMove?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchMoveCapture?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchStart?: React.TouchEventHandler<HTMLUListElement> | undefined;
onTouchStartCapture?: React.TouchEventHandler<HTMLUListElement> | undefined;
onPointerDown?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerDownCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerMove?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerMoveCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerUp?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerUpCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerCancel?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerCancelCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerEnter?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerLeave?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerOver?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerOverCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerOut?: React.PointerEventHandler<HTMLUListElement> | undefined;
onPointerOutCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onGotPointerCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onGotPointerCaptureCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onLostPointerCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onLostPointerCaptureCapture?: React.PointerEventHandler<HTMLUListElement> | undefined;
onScroll?: React.UIEventHandler<HTMLUListElement> | undefined;
onScrollCapture?: React.UIEventHandler<HTMLUListElement> | undefined;
onScrollEnd?: React.UIEventHandler<HTMLUListElement> | undefined;
onScrollEndCapture?: React.UIEventHandler<HTMLUListElement> | undefined;
onWheel?: React.WheelEventHandler<HTMLUListElement> | undefined;
onWheelCapture?: React.WheelEventHandler<HTMLUListElement> | undefined;
onAnimationStart?: React.AnimationEventHandler<HTMLUListElement> | undefined;
onAnimationStartCapture?: React.AnimationEventHandler<HTMLUListElement> | undefined;
onAnimationEnd?: React.AnimationEventHandler<HTMLUListElement> | undefined;
onAnimationEndCapture?: React.AnimationEventHandler<HTMLUListElement> | undefined;
onAnimationIteration?: React.AnimationEventHandler<HTMLUListElement> | undefined;
onAnimationIterationCapture?: React.AnimationEventHandler<HTMLUListElement> | undefined;
onToggle?: React.ToggleEventHandler<HTMLUListElement> | undefined;
onBeforeToggle?: React.ToggleEventHandler<HTMLUListElement> | undefined;
onTransitionCancel?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionCancelCapture?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionEnd?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionEndCapture?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionRun?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionRunCapture?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionStart?: React.TransitionEventHandler<HTMLUListElement> | undefined;
onTransitionStartCapture?: React.TransitionEventHandler<HTMLUListElement> | undefined;
"aria-activedescendant"?: string | undefined;
"aria-atomic"?: ("false" | "true" | boolean) | undefined;
"aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined;
"aria-braillelabel"?: string | undefined;
"aria-brailleroledescription"?: string | undefined;
"aria-busy"?: ("false" | "true" | boolean) | undefined;
"aria-checked"?: boolean | "false" | "mixed" | "true" | undefined;
"aria-colcount"?: number | undefined;
"aria-colindex"?: number | undefined;
"aria-colindextext"?: string | undefined;
"aria-colspan"?: number | undefined;
"aria-controls"?: string | undefined;
"aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined;
"aria-describedby"?: string | undefined;
"aria-description"?: string | undefined;
"aria-details"?: string | undefined;
"aria-disabled"?: ("false" | "true" | boolean) | undefined;
"aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined;
"aria-errormessage"?: string | undefined;
"aria-expanded"?: ("false" | "true" | boolean) | undefined;
"aria-flowto"?: string | undefined;
"aria-grabbed"?: ("false" | "true" | boolean) | undefined;
"aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined;
"aria-hidden"?: ("false" | "true" | boolean) | undefined;
"aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined;
"aria-keyshortcuts"?: string | undefined;
"aria-label"?: string | undefined;
"aria-labelledby"?: string | undefined;
"aria-level"?: number | undefined;
"aria-live"?: "off" | "assertive" | "polite" | undefined;
"aria-modal"?: ("false" | "true" | boolean) | undefined;
"aria-multiline"?: ("false" | "true" | boolean) | undefined;
"aria-multiselectable"?: ("false" | "true" | boolean) | undefined;
"aria-orientation"?: "horizontal" | "vertical" | undefined;
"aria-owns"?: string | undefined;
"aria-placeholder"?: string | undefined;
"aria-posinset"?: number | undefined;
"aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined;
"aria-readonly"?: ("false" | "true" | boolean) | undefined;
"aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined;
"aria-required"?: ("false" | "true" | boolean) | undefined;
"aria-roledescription"?: string | undefined;
"aria-rowcount"?: number | undefined;
"aria-rowindex"?: number | undefined;
"aria-rowindextext"?: string | undefined;
"aria-rowspan"?: number | undefined;
"aria-selected"?: ("false" | "true" | boolean) | undefined;
"aria-setsize"?: number | undefined;
"aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
"aria-valuemax"?: number | undefined;
"aria-valuemin"?: number | undefined;
"aria-valuenow"?: number | undefined;
"aria-valuetext"?: string | undefined;
defaultChecked?: boolean | undefined;
defaultValue?: string | number | readonly string[] | undefined;
suppressContentEditableWarning?: boolean | undefined;
suppressHydrationWarning?: boolean | undefined;
accessKey?: string | undefined;
autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {});
autoFocus?: boolean | undefined;
contentEditable?: ("false" | "true" | boolean) | "inherit" | "plaintext-only" | undefined;
contextMenu?: string | undefined;
dir?: string | undefined;
draggable?: ("false" | "true" | boolean) | undefined;
enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined;
hidden?: boolean | undefined;
lang?: string | undefined;
nonce?: string | undefined;
slot?: string | undefined;
spellCheck?: ("false" | "true" | boolean) | undefined;
style?: React.CSSProperties | undefined;
tabIndex?: number | undefined;
title?: string | undefined;
translate?: "yes" | "no" | undefined;
radioGroup?: string | undefined;
role?: React.AriaRole | undefined;
about?: string | undefined;
content?: string | undefined;
datatype?: string | undefined;
inlist?: any;
prefix?: string | undefined;
property?: string | undefined;
rel?: string | undefined;
resource?: string | undefined;
rev?: string | undefined;
typeof?: string | undefined;
vocab?: string | undefined;
autoCorrect?: string | undefined;
autoSave?: string | undefined;
color?: string | undefined;
itemProp?: string | undefined;
itemScope?: boolean | undefined;
itemType?: string | undefined;
itemID?: string | undefined;
itemRef?: string | undefined;
results?: number | undefined;
security?: string | undefined;
unselectable?: "on" | "off" | undefined;
popover?: "" | "auto" | "manual" | "hint" | undefined;
popoverTargetAction?: "toggle" | "show" | "hide" | undefined;
popoverTarget?: string | undefined;
inert?: boolean | undefined;
inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined;
is?: string | undefined;
exportparts?: string | undefined;
part?: string | undefined;
children?: React.ReactNode;
className?: string;
classes?: Partial<import("./simpleTreeViewClasses.js").SimpleTreeViewClasses>;
sx?: import("@mui/system").SxProps<import("@mui/material/styles").Theme>;
};
};
@@ -0,0 +1,80 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useExtractSimpleTreeViewParameters = useExtractSimpleTreeViewParameters;
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var React = _interopRequireWildcard(require("react"));
const _excluded = ["apiRef", "slots", "slotProps", "disabledItemsFocusable", "onItemClick", "itemChildrenIndentation", "id", "expandedItems", "defaultExpandedItems", "onExpandedItemsChange", "onItemExpansionToggle", "expansionTrigger", "disableSelection", "selectedItems", "defaultSelectedItems", "multiSelect", "checkboxSelection", "selectionPropagation", "onSelectedItemsChange", "onItemSelectionToggle", "onItemFocus", "itemHeight"];
function useExtractSimpleTreeViewParameters(props) {
const {
// Props for Provider
apiRef,
slots,
slotProps,
// Shared parameters
disabledItemsFocusable,
onItemClick,
itemChildrenIndentation,
id,
expandedItems,
defaultExpandedItems,
onExpandedItemsChange,
onItemExpansionToggle,
expansionTrigger,
disableSelection,
selectedItems,
defaultSelectedItems,
multiSelect,
checkboxSelection,
selectionPropagation,
onSelectedItemsChange,
onItemSelectionToggle,
onItemFocus,
itemHeight
// SimpleTreeViewStore parameters
// Forwarded props
} = props,
forwardedProps = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
const parameters = React.useMemo(() => ({
// Shared parameters
disabledItemsFocusable,
onItemClick,
itemChildrenIndentation,
id,
expandedItems,
defaultExpandedItems,
onExpandedItemsChange,
onItemExpansionToggle,
expansionTrigger,
disableSelection,
selectedItems,
defaultSelectedItems,
multiSelect,
checkboxSelection,
selectionPropagation,
onSelectedItemsChange,
onItemSelectionToggle,
onItemFocus,
itemHeight
// SimpleTreeViewStore parameters
}), [
// Shared parameters
disabledItemsFocusable, onItemClick, itemChildrenIndentation, id, expandedItems, defaultExpandedItems, onExpandedItemsChange, onItemExpansionToggle, expansionTrigger, disableSelection, selectedItems, defaultSelectedItems, multiSelect, checkboxSelection, selectionPropagation, onSelectedItemsChange, onItemSelectionToggle, onItemFocus, itemHeight
// SimpleTreeViewStore parameters
]);
return {
apiRef,
slots,
slotProps,
parameters,
forwardedProps
};
}
@@ -0,0 +1,72 @@
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
const _excluded = ["apiRef", "slots", "slotProps", "disabledItemsFocusable", "onItemClick", "itemChildrenIndentation", "id", "expandedItems", "defaultExpandedItems", "onExpandedItemsChange", "onItemExpansionToggle", "expansionTrigger", "disableSelection", "selectedItems", "defaultSelectedItems", "multiSelect", "checkboxSelection", "selectionPropagation", "onSelectedItemsChange", "onItemSelectionToggle", "onItemFocus", "itemHeight"];
import * as React from 'react';
export function useExtractSimpleTreeViewParameters(props) {
const {
// Props for Provider
apiRef,
slots,
slotProps,
// Shared parameters
disabledItemsFocusable,
onItemClick,
itemChildrenIndentation,
id,
expandedItems,
defaultExpandedItems,
onExpandedItemsChange,
onItemExpansionToggle,
expansionTrigger,
disableSelection,
selectedItems,
defaultSelectedItems,
multiSelect,
checkboxSelection,
selectionPropagation,
onSelectedItemsChange,
onItemSelectionToggle,
onItemFocus,
itemHeight
// SimpleTreeViewStore parameters
// Forwarded props
} = props,
forwardedProps = _objectWithoutPropertiesLoose(props, _excluded);
const parameters = React.useMemo(() => ({
// Shared parameters
disabledItemsFocusable,
onItemClick,
itemChildrenIndentation,
id,
expandedItems,
defaultExpandedItems,
onExpandedItemsChange,
onItemExpansionToggle,
expansionTrigger,
disableSelection,
selectedItems,
defaultSelectedItems,
multiSelect,
checkboxSelection,
selectionPropagation,
onSelectedItemsChange,
onItemSelectionToggle,
onItemFocus,
itemHeight
// SimpleTreeViewStore parameters
}), [
// Shared parameters
disabledItemsFocusable, onItemClick, itemChildrenIndentation, id, expandedItems, defaultExpandedItems, onExpandedItemsChange, onItemExpansionToggle, expansionTrigger, disableSelection, selectedItems, defaultSelectedItems, multiSelect, checkboxSelection, selectionPropagation, onSelectedItemsChange, onItemSelectionToggle, onItemFocus, itemHeight
// SimpleTreeViewStore parameters
]);
return {
apiRef,
slots,
slotProps,
parameters,
forwardedProps
};
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,417 @@
"use strict";
'use client';
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.TreeItemRoot = exports.TreeItemLoadingContainer = exports.TreeItemLabel = exports.TreeItemIconContainer = exports.TreeItemGroupTransition = exports.TreeItemErrorContainer = exports.TreeItemContent = exports.TreeItemCheckbox = exports.TreeItem = void 0;
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var React = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _clsx = _interopRequireDefault(require("clsx"));
var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
var _unsupportedProp = _interopRequireDefault(require("@mui/utils/unsupportedProp"));
var _Collapse = _interopRequireDefault(require("@mui/material/Collapse"));
var _Checkbox = _interopRequireDefault(require("@mui/material/Checkbox"));
var _useSlotProps = _interopRequireDefault(require("@mui/utils/useSlotProps"));
var _createStyled = require("@mui/system/createStyled");
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
var _zeroStyled = require("../internals/zero-styled");
var _useTreeItem = require("../useTreeItem");
var _treeItemClasses = require("./treeItemClasses");
var _TreeItemIcon = require("../TreeItemIcon");
var _TreeItemDragAndDropOverlay = require("../TreeItemDragAndDropOverlay");
var _TreeItemProvider = require("../TreeItemProvider");
var _TreeItemLabelInput = require("../TreeItemLabelInput");
var _TreeViewProvider = require("../internals/TreeViewProvider");
var _jsxRuntime = require("react/jsx-runtime");
const _excluded = ["visible"],
_excluded2 = ["id", "itemId", "label", "disabled", "disableSelection", "children", "slots", "slotProps", "classes"];
const useThemeProps = (0, _zeroStyled.createUseThemeProps)('MuiTreeItem');
const TreeItemRoot = exports.TreeItemRoot = (0, _zeroStyled.styled)('li', {
name: 'MuiTreeItem',
slot: 'Root'
})({
listStyle: 'none',
margin: 0,
padding: 0,
outline: 0
});
const TreeItemContent = exports.TreeItemContent = (0, _zeroStyled.styled)('div', {
name: 'MuiTreeItem',
slot: 'Content',
shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'status'
})(({
theme
}) => ({
padding: theme.spacing(0.5, 1),
paddingLeft: `calc(${theme.spacing(1)} + var(--TreeView-itemChildrenIndentation) * var(--TreeView-itemDepth))`,
borderRadius: theme.shape.borderRadius,
width: '100%',
height: 'var(--TreeView-itemHeight, unset)',
boxSizing: 'border-box',
// prevent width + padding to overflow
position: 'relative',
display: 'flex',
alignItems: 'center',
gap: theme.spacing(1),
cursor: 'pointer',
WebkitTapHighlightColor: 'transparent',
'&:hover': {
backgroundColor: (theme.vars || theme).palette.action.hover,
// Reset on touch devices, it doesn't add specificity
'@media (hover: none)': {
backgroundColor: 'transparent'
}
},
'&[data-disabled]': {
opacity: (theme.vars || theme).palette.action.disabledOpacity,
backgroundColor: 'transparent',
cursor: 'auto'
},
'&[data-focused]': {
backgroundColor: (theme.vars || theme).palette.action.focus
},
'&[data-selected]': {
backgroundColor: theme.alpha((theme.vars || theme).palette.primary.main, (theme.vars || theme).palette.action.selectedOpacity),
'&:hover': {
backgroundColor: theme.alpha((theme.vars || theme).palette.primary.main, `${(theme.vars || theme).palette.action.selectedOpacity} + ${(theme.vars || theme).palette.action.hoverOpacity}`),
// Reset on touch devices, it doesn't add specificity
'@media (hover: none)': {
backgroundColor: theme.alpha((theme.vars || theme).palette.primary.main, (theme.vars || theme).palette.action.selectedOpacity)
}
}
},
'&[data-selected][data-focused]': {
backgroundColor: theme.alpha((theme.vars || theme).palette.primary.main, `${(theme.vars || theme).palette.action.selectedOpacity} + ${(theme.vars || theme).palette.action.focusOpacity}`)
}
}));
const TreeItemLabel = exports.TreeItemLabel = (0, _zeroStyled.styled)('div', {
name: 'MuiTreeItem',
slot: 'Label',
shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'editable'
})(({
theme
}) => (0, _extends2.default)({
width: '100%',
boxSizing: 'border-box',
// prevent width + padding to overflow
// fixes overflow - see https://github.com/mui/material-ui/issues/27372
minWidth: 0,
position: 'relative',
overflow: 'hidden'
}, theme.typography.body1, {
variants: [{
props: ({
editable
}) => editable,
style: {
paddingLeft: '2px'
}
}]
}));
const TreeItemIconContainer = exports.TreeItemIconContainer = (0, _zeroStyled.styled)('div', {
name: 'MuiTreeItem',
slot: 'IconContainer'
})({
width: 16,
display: 'flex',
flexShrink: 0,
justifyContent: 'center',
position: 'relative',
cursor: 'inherit',
'& svg': {
fontSize: 18
}
});
const TreeItemGroupTransition = exports.TreeItemGroupTransition = (0, _zeroStyled.styled)(_Collapse.default, {
name: 'MuiTreeItem',
slot: 'GroupTransition',
overridesResolver: (props, styles) => styles.groupTransition
})({
margin: 0,
padding: 0
});
const TreeItemErrorContainer = exports.TreeItemErrorContainer = (0, _zeroStyled.styled)('div', {
name: 'MuiTreeItem',
slot: 'ErrorIcon'
})({
position: 'absolute',
right: -3,
width: 7,
height: 7,
borderRadius: '50%',
backgroundColor: 'red'
});
const TreeItemLoadingContainer = exports.TreeItemLoadingContainer = (0, _zeroStyled.styled)(_CircularProgress.default, {
name: 'MuiTreeItem',
slot: 'LoadingIcon'
})({
color: 'text.primary'
});
const TreeItemCheckbox = exports.TreeItemCheckbox = (0, _zeroStyled.styled)(/*#__PURE__*/React.forwardRef((props, ref) => {
const {
visible
} = props,
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
if (!visible) {
return null;
}
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Checkbox.default, (0, _extends2.default)({}, other, {
ref: ref
}));
}), {
name: 'MuiTreeItem',
slot: 'Checkbox'
})({
padding: 0
});
if (process.env.NODE_ENV !== "production") TreeItemCheckbox.displayName = "TreeItemCheckbox";
const useUtilityClasses = classesProp => {
const {
classes: classesFromTreeView
} = (0, _TreeViewProvider.useTreeViewStyleContext)();
const classes = (0, _extends2.default)({}, classesProp, {
root: (0, _clsx.default)(classesProp?.root, classesFromTreeView.root),
content: (0, _clsx.default)(classesProp?.content, classesFromTreeView.itemContent),
iconContainer: (0, _clsx.default)(classesProp?.iconContainer, classesFromTreeView.itemIconContainer),
checkbox: (0, _clsx.default)(classesProp?.checkbox, classesFromTreeView.itemCheckbox),
label: (0, _clsx.default)(classesProp?.label, classesFromTreeView.itemLabel),
groupTransition: (0, _clsx.default)(classesProp?.groupTransition, classesFromTreeView.itemGroupTransition),
labelInput: (0, _clsx.default)(classesProp?.labelInput, classesFromTreeView.itemLabelInput),
dragAndDropOverlay: (0, _clsx.default)(classesProp?.dragAndDropOverlay, classesFromTreeView.itemDragAndDropOverlay),
errorIcon: (0, _clsx.default)(classesProp?.errorIcon, classesFromTreeView.itemErrorIcon),
loadingIcon: (0, _clsx.default)(classesProp?.loadingIcon, classesFromTreeView.itemLoadingIcon)
});
const slots = {
root: ['root'],
content: ['content'],
iconContainer: ['iconContainer'],
checkbox: ['checkbox'],
label: ['label'],
groupTransition: ['groupTransition'],
labelInput: ['labelInput'],
dragAndDropOverlay: ['dragAndDropOverlay'],
errorIcon: ['errorIcon'],
loadingIcon: ['loadingIcon']
};
return (0, _composeClasses.default)(slots, _treeItemClasses.getTreeItemUtilityClass, classes);
};
/**
*
* Demos:
*
* - [Tree View](https://mui.com/x/react-tree-view/)
*
* API:
*
* - [TreeItem API](https://mui.com/x/api/tree-view/tree-item-2/)
*/
const TreeItem = exports.TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps, forwardedRef) {
const props = useThemeProps({
props: inProps,
name: 'MuiTreeItem'
});
const {
id,
itemId,
label,
disabled,
disableSelection,
children,
slots = {},
slotProps = {},
classes: classesProp
} = props,
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded2);
const {
getContextProviderProps,
getRootProps,
getContentProps,
getIconContainerProps,
getCheckboxProps,
getLabelProps,
getGroupTransitionProps,
getLabelInputProps,
getDragAndDropOverlayProps,
getErrorContainerProps,
getLoadingContainerProps,
status
} = (0, _useTreeItem.useTreeItem)({
id,
itemId,
children,
label,
disabled,
disableSelection
});
const classes = useUtilityClasses(classesProp);
const Root = slots.root ?? TreeItemRoot;
const rootProps = (0, _useSlotProps.default)({
elementType: Root,
getSlotProps: getRootProps,
externalForwardedProps: other,
externalSlotProps: slotProps.root,
additionalProps: {
ref: forwardedRef
},
ownerState: {},
className: classes.root
});
const Content = slots.content ?? TreeItemContent;
const contentProps = (0, _useSlotProps.default)({
elementType: Content,
getSlotProps: getContentProps,
externalSlotProps: slotProps.content,
ownerState: {},
className: classes.content
});
const IconContainer = slots.iconContainer ?? TreeItemIconContainer;
const iconContainerProps = (0, _useSlotProps.default)({
elementType: IconContainer,
getSlotProps: getIconContainerProps,
externalSlotProps: slotProps.iconContainer,
ownerState: {},
className: classes.iconContainer
});
const Label = slots.label ?? TreeItemLabel;
const labelProps = (0, _useSlotProps.default)({
elementType: Label,
getSlotProps: getLabelProps,
externalSlotProps: slotProps.label,
ownerState: {},
className: classes.label
});
const Checkbox = slots.checkbox ?? TreeItemCheckbox;
const checkboxProps = (0, _useSlotProps.default)({
elementType: Checkbox,
getSlotProps: getCheckboxProps,
externalSlotProps: slotProps.checkbox,
ownerState: {},
className: classes.checkbox
});
const GroupTransition = slots.groupTransition ?? undefined;
const groupTransitionProps = (0, _useSlotProps.default)({
elementType: GroupTransition,
getSlotProps: getGroupTransitionProps,
externalSlotProps: slotProps.groupTransition,
ownerState: {},
className: classes.groupTransition
});
const LabelInput = slots.labelInput ?? _TreeItemLabelInput.TreeItemLabelInput;
const labelInputProps = (0, _useSlotProps.default)({
elementType: LabelInput,
getSlotProps: getLabelInputProps,
externalSlotProps: slotProps.labelInput,
ownerState: {},
className: classes.labelInput
});
const DragAndDropOverlay = slots.dragAndDropOverlay ?? _TreeItemDragAndDropOverlay.TreeItemDragAndDropOverlay;
const dragAndDropOverlayProps = (0, _useSlotProps.default)({
elementType: DragAndDropOverlay,
getSlotProps: getDragAndDropOverlayProps,
externalSlotProps: slotProps.dragAndDropOverlay,
ownerState: {},
className: classes.dragAndDropOverlay
});
const ErrorIcon = slots.errorIcon ?? TreeItemErrorContainer;
const errorContainerProps = (0, _useSlotProps.default)({
elementType: ErrorIcon,
getSlotProps: getErrorContainerProps,
externalSlotProps: slotProps.errorIcon,
ownerState: {},
className: classes.errorIcon
});
const LoadingIcon = slots.loadingIcon ?? TreeItemLoadingContainer;
const loadingContainerProps = (0, _useSlotProps.default)({
elementType: LoadingIcon,
getSlotProps: getLoadingContainerProps,
externalSlotProps: slotProps.loadingIcon,
ownerState: {},
className: classes.loadingIcon
});
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeItemProvider.TreeItemProvider, (0, _extends2.default)({}, getContextProviderProps(), {
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(Root, (0, _extends2.default)({}, rootProps, {
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(Content, (0, _extends2.default)({}, contentProps, {
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(IconContainer, (0, _extends2.default)({}, iconContainerProps, {
children: [status.error && /*#__PURE__*/(0, _jsxRuntime.jsx)(ErrorIcon, (0, _extends2.default)({}, errorContainerProps)), status.loading ? /*#__PURE__*/(0, _jsxRuntime.jsx)(LoadingIcon, (0, _extends2.default)({}, loadingContainerProps)) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_TreeItemIcon.TreeItemIcon, {
status: status,
slots: slots,
slotProps: slotProps
})]
})), /*#__PURE__*/(0, _jsxRuntime.jsx)(Checkbox, (0, _extends2.default)({}, checkboxProps)), status.editing ? /*#__PURE__*/(0, _jsxRuntime.jsx)(LabelInput, (0, _extends2.default)({}, labelInputProps)) : /*#__PURE__*/(0, _jsxRuntime.jsx)(Label, (0, _extends2.default)({}, labelProps)), /*#__PURE__*/(0, _jsxRuntime.jsx)(DragAndDropOverlay, (0, _extends2.default)({}, dragAndDropOverlayProps))]
})), children && /*#__PURE__*/(0, _jsxRuntime.jsx)(TreeItemGroupTransition, (0, _extends2.default)({
as: GroupTransition
}, groupTransitionProps))]
}))
}));
});
if (process.env.NODE_ENV !== "production") TreeItem.displayName = "TreeItem";
process.env.NODE_ENV !== "production" ? TreeItem.propTypes /* remove-proptypes */ = {
// ----------------------------- Warning --------------------------------
// | These PropTypes are generated from the TypeScript type definitions |
// | To update them edit the TypeScript types and run "pnpm proptypes" |
// ----------------------------------------------------------------------
/**
* The content of the component.
*/
children: _propTypes.default /* @typescript-to-proptypes-ignore */.any,
/**
* Override or extend the styles applied to the component.
*/
classes: _propTypes.default.object,
className: _propTypes.default.string,
/**
* If `true`, the item is disabled.
* @default false
*/
disabled: _propTypes.default.bool,
/**
* If `true`, the item cannot be selected.
* @default false
*/
disableSelection: _propTypes.default.bool,
/**
* The id attribute of the item. If not provided, it will be generated.
*/
id: _propTypes.default.string,
/**
* The id of the item.
* Must be unique.
*/
itemId: _propTypes.default.string.isRequired,
/**
* The label of the item.
*/
label: _propTypes.default.node,
/**
* Callback fired when the item root is blurred.
*/
onBlur: _propTypes.default.func,
/**
* This prop isn't supported.
* Use the `onItemFocus` callback on the tree if you need to monitor an item's focus.
*/
onFocus: _unsupportedProp.default,
/**
* Callback fired when a key is pressed on the keyboard and the tree is in focus.
*/
onKeyDown: _propTypes.default.func,
/**
* The props used for each component slot.
* @default {}
*/
slotProps: _propTypes.default.object,
/**
* Overridable component slots.
* @default {}
*/
slots: _propTypes.default.object,
/**
* The system prop that allows defining system overrides as well as additional CSS styles.
*/
sx: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object, _propTypes.default.bool])), _propTypes.default.func, _propTypes.default.object])
} : void 0;
@@ -0,0 +1,410 @@
'use client';
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
import _extends from "@babel/runtime/helpers/esm/extends";
const _excluded = ["visible"],
_excluded2 = ["id", "itemId", "label", "disabled", "disableSelection", "children", "slots", "slotProps", "classes"];
import * as React from 'react';
import PropTypes from 'prop-types';
import clsx from 'clsx';
import CircularProgress from '@mui/material/CircularProgress';
import unsupportedProp from '@mui/utils/unsupportedProp';
import Collapse from '@mui/material/Collapse';
import MuiCheckbox from '@mui/material/Checkbox';
import useSlotProps from '@mui/utils/useSlotProps';
import { shouldForwardProp } from '@mui/system/createStyled';
import composeClasses from '@mui/utils/composeClasses';
import { styled, createUseThemeProps } from "../internals/zero-styled/index.mjs";
import { useTreeItem } from "../useTreeItem/index.mjs";
import { getTreeItemUtilityClass } from "./treeItemClasses.mjs";
import { TreeItemIcon } from "../TreeItemIcon/index.mjs";
import { TreeItemDragAndDropOverlay } from "../TreeItemDragAndDropOverlay/index.mjs";
import { TreeItemProvider } from "../TreeItemProvider/index.mjs";
import { TreeItemLabelInput } from "../TreeItemLabelInput/index.mjs";
import { useTreeViewStyleContext } from "../internals/TreeViewProvider/index.mjs";
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
const useThemeProps = createUseThemeProps('MuiTreeItem');
export const TreeItemRoot = styled('li', {
name: 'MuiTreeItem',
slot: 'Root'
})({
listStyle: 'none',
margin: 0,
padding: 0,
outline: 0
});
export const TreeItemContent = styled('div', {
name: 'MuiTreeItem',
slot: 'Content',
shouldForwardProp: prop => shouldForwardProp(prop) && prop !== 'status'
})(({
theme
}) => ({
padding: theme.spacing(0.5, 1),
paddingLeft: `calc(${theme.spacing(1)} + var(--TreeView-itemChildrenIndentation) * var(--TreeView-itemDepth))`,
borderRadius: theme.shape.borderRadius,
width: '100%',
height: 'var(--TreeView-itemHeight, unset)',
boxSizing: 'border-box',
// prevent width + padding to overflow
position: 'relative',
display: 'flex',
alignItems: 'center',
gap: theme.spacing(1),
cursor: 'pointer',
WebkitTapHighlightColor: 'transparent',
'&:hover': {
backgroundColor: (theme.vars || theme).palette.action.hover,
// Reset on touch devices, it doesn't add specificity
'@media (hover: none)': {
backgroundColor: 'transparent'
}
},
'&[data-disabled]': {
opacity: (theme.vars || theme).palette.action.disabledOpacity,
backgroundColor: 'transparent',
cursor: 'auto'
},
'&[data-focused]': {
backgroundColor: (theme.vars || theme).palette.action.focus
},
'&[data-selected]': {
backgroundColor: theme.alpha((theme.vars || theme).palette.primary.main, (theme.vars || theme).palette.action.selectedOpacity),
'&:hover': {
backgroundColor: theme.alpha((theme.vars || theme).palette.primary.main, `${(theme.vars || theme).palette.action.selectedOpacity} + ${(theme.vars || theme).palette.action.hoverOpacity}`),
// Reset on touch devices, it doesn't add specificity
'@media (hover: none)': {
backgroundColor: theme.alpha((theme.vars || theme).palette.primary.main, (theme.vars || theme).palette.action.selectedOpacity)
}
}
},
'&[data-selected][data-focused]': {
backgroundColor: theme.alpha((theme.vars || theme).palette.primary.main, `${(theme.vars || theme).palette.action.selectedOpacity} + ${(theme.vars || theme).palette.action.focusOpacity}`)
}
}));
export const TreeItemLabel = styled('div', {
name: 'MuiTreeItem',
slot: 'Label',
shouldForwardProp: prop => shouldForwardProp(prop) && prop !== 'editable'
})(({
theme
}) => _extends({
width: '100%',
boxSizing: 'border-box',
// prevent width + padding to overflow
// fixes overflow - see https://github.com/mui/material-ui/issues/27372
minWidth: 0,
position: 'relative',
overflow: 'hidden'
}, theme.typography.body1, {
variants: [{
props: ({
editable
}) => editable,
style: {
paddingLeft: '2px'
}
}]
}));
export const TreeItemIconContainer = styled('div', {
name: 'MuiTreeItem',
slot: 'IconContainer'
})({
width: 16,
display: 'flex',
flexShrink: 0,
justifyContent: 'center',
position: 'relative',
cursor: 'inherit',
'& svg': {
fontSize: 18
}
});
export const TreeItemGroupTransition = styled(Collapse, {
name: 'MuiTreeItem',
slot: 'GroupTransition',
overridesResolver: (props, styles) => styles.groupTransition
})({
margin: 0,
padding: 0
});
export const TreeItemErrorContainer = styled('div', {
name: 'MuiTreeItem',
slot: 'ErrorIcon'
})({
position: 'absolute',
right: -3,
width: 7,
height: 7,
borderRadius: '50%',
backgroundColor: 'red'
});
export const TreeItemLoadingContainer = styled(CircularProgress, {
name: 'MuiTreeItem',
slot: 'LoadingIcon'
})({
color: 'text.primary'
});
export const TreeItemCheckbox = styled(/*#__PURE__*/React.forwardRef((props, ref) => {
const {
visible
} = props,
other = _objectWithoutPropertiesLoose(props, _excluded);
if (!visible) {
return null;
}
return /*#__PURE__*/_jsx(MuiCheckbox, _extends({}, other, {
ref: ref
}));
}), {
name: 'MuiTreeItem',
slot: 'Checkbox'
})({
padding: 0
});
if (process.env.NODE_ENV !== "production") TreeItemCheckbox.displayName = "TreeItemCheckbox";
const useUtilityClasses = classesProp => {
const {
classes: classesFromTreeView
} = useTreeViewStyleContext();
const classes = _extends({}, classesProp, {
root: clsx(classesProp?.root, classesFromTreeView.root),
content: clsx(classesProp?.content, classesFromTreeView.itemContent),
iconContainer: clsx(classesProp?.iconContainer, classesFromTreeView.itemIconContainer),
checkbox: clsx(classesProp?.checkbox, classesFromTreeView.itemCheckbox),
label: clsx(classesProp?.label, classesFromTreeView.itemLabel),
groupTransition: clsx(classesProp?.groupTransition, classesFromTreeView.itemGroupTransition),
labelInput: clsx(classesProp?.labelInput, classesFromTreeView.itemLabelInput),
dragAndDropOverlay: clsx(classesProp?.dragAndDropOverlay, classesFromTreeView.itemDragAndDropOverlay),
errorIcon: clsx(classesProp?.errorIcon, classesFromTreeView.itemErrorIcon),
loadingIcon: clsx(classesProp?.loadingIcon, classesFromTreeView.itemLoadingIcon)
});
const slots = {
root: ['root'],
content: ['content'],
iconContainer: ['iconContainer'],
checkbox: ['checkbox'],
label: ['label'],
groupTransition: ['groupTransition'],
labelInput: ['labelInput'],
dragAndDropOverlay: ['dragAndDropOverlay'],
errorIcon: ['errorIcon'],
loadingIcon: ['loadingIcon']
};
return composeClasses(slots, getTreeItemUtilityClass, classes);
};
/**
*
* Demos:
*
* - [Tree View](https://mui.com/x/react-tree-view/)
*
* API:
*
* - [TreeItem API](https://mui.com/x/api/tree-view/tree-item-2/)
*/
export const TreeItem = /*#__PURE__*/React.forwardRef(function TreeItem(inProps, forwardedRef) {
const props = useThemeProps({
props: inProps,
name: 'MuiTreeItem'
});
const {
id,
itemId,
label,
disabled,
disableSelection,
children,
slots = {},
slotProps = {},
classes: classesProp
} = props,
other = _objectWithoutPropertiesLoose(props, _excluded2);
const {
getContextProviderProps,
getRootProps,
getContentProps,
getIconContainerProps,
getCheckboxProps,
getLabelProps,
getGroupTransitionProps,
getLabelInputProps,
getDragAndDropOverlayProps,
getErrorContainerProps,
getLoadingContainerProps,
status
} = useTreeItem({
id,
itemId,
children,
label,
disabled,
disableSelection
});
const classes = useUtilityClasses(classesProp);
const Root = slots.root ?? TreeItemRoot;
const rootProps = useSlotProps({
elementType: Root,
getSlotProps: getRootProps,
externalForwardedProps: other,
externalSlotProps: slotProps.root,
additionalProps: {
ref: forwardedRef
},
ownerState: {},
className: classes.root
});
const Content = slots.content ?? TreeItemContent;
const contentProps = useSlotProps({
elementType: Content,
getSlotProps: getContentProps,
externalSlotProps: slotProps.content,
ownerState: {},
className: classes.content
});
const IconContainer = slots.iconContainer ?? TreeItemIconContainer;
const iconContainerProps = useSlotProps({
elementType: IconContainer,
getSlotProps: getIconContainerProps,
externalSlotProps: slotProps.iconContainer,
ownerState: {},
className: classes.iconContainer
});
const Label = slots.label ?? TreeItemLabel;
const labelProps = useSlotProps({
elementType: Label,
getSlotProps: getLabelProps,
externalSlotProps: slotProps.label,
ownerState: {},
className: classes.label
});
const Checkbox = slots.checkbox ?? TreeItemCheckbox;
const checkboxProps = useSlotProps({
elementType: Checkbox,
getSlotProps: getCheckboxProps,
externalSlotProps: slotProps.checkbox,
ownerState: {},
className: classes.checkbox
});
const GroupTransition = slots.groupTransition ?? undefined;
const groupTransitionProps = useSlotProps({
elementType: GroupTransition,
getSlotProps: getGroupTransitionProps,
externalSlotProps: slotProps.groupTransition,
ownerState: {},
className: classes.groupTransition
});
const LabelInput = slots.labelInput ?? TreeItemLabelInput;
const labelInputProps = useSlotProps({
elementType: LabelInput,
getSlotProps: getLabelInputProps,
externalSlotProps: slotProps.labelInput,
ownerState: {},
className: classes.labelInput
});
const DragAndDropOverlay = slots.dragAndDropOverlay ?? TreeItemDragAndDropOverlay;
const dragAndDropOverlayProps = useSlotProps({
elementType: DragAndDropOverlay,
getSlotProps: getDragAndDropOverlayProps,
externalSlotProps: slotProps.dragAndDropOverlay,
ownerState: {},
className: classes.dragAndDropOverlay
});
const ErrorIcon = slots.errorIcon ?? TreeItemErrorContainer;
const errorContainerProps = useSlotProps({
elementType: ErrorIcon,
getSlotProps: getErrorContainerProps,
externalSlotProps: slotProps.errorIcon,
ownerState: {},
className: classes.errorIcon
});
const LoadingIcon = slots.loadingIcon ?? TreeItemLoadingContainer;
const loadingContainerProps = useSlotProps({
elementType: LoadingIcon,
getSlotProps: getLoadingContainerProps,
externalSlotProps: slotProps.loadingIcon,
ownerState: {},
className: classes.loadingIcon
});
return /*#__PURE__*/_jsx(TreeItemProvider, _extends({}, getContextProviderProps(), {
children: /*#__PURE__*/_jsxs(Root, _extends({}, rootProps, {
children: [/*#__PURE__*/_jsxs(Content, _extends({}, contentProps, {
children: [/*#__PURE__*/_jsxs(IconContainer, _extends({}, iconContainerProps, {
children: [status.error && /*#__PURE__*/_jsx(ErrorIcon, _extends({}, errorContainerProps)), status.loading ? /*#__PURE__*/_jsx(LoadingIcon, _extends({}, loadingContainerProps)) : /*#__PURE__*/_jsx(TreeItemIcon, {
status: status,
slots: slots,
slotProps: slotProps
})]
})), /*#__PURE__*/_jsx(Checkbox, _extends({}, checkboxProps)), status.editing ? /*#__PURE__*/_jsx(LabelInput, _extends({}, labelInputProps)) : /*#__PURE__*/_jsx(Label, _extends({}, labelProps)), /*#__PURE__*/_jsx(DragAndDropOverlay, _extends({}, dragAndDropOverlayProps))]
})), children && /*#__PURE__*/_jsx(TreeItemGroupTransition, _extends({
as: GroupTransition
}, groupTransitionProps))]
}))
}));
});
if (process.env.NODE_ENV !== "production") TreeItem.displayName = "TreeItem";
process.env.NODE_ENV !== "production" ? TreeItem.propTypes /* remove-proptypes */ = {
// ----------------------------- Warning --------------------------------
// | These PropTypes are generated from the TypeScript type definitions |
// | To update them edit the TypeScript types and run "pnpm proptypes" |
// ----------------------------------------------------------------------
/**
* The content of the component.
*/
children: PropTypes /* @typescript-to-proptypes-ignore */.any,
/**
* Override or extend the styles applied to the component.
*/
classes: PropTypes.object,
className: PropTypes.string,
/**
* If `true`, the item is disabled.
* @default false
*/
disabled: PropTypes.bool,
/**
* If `true`, the item cannot be selected.
* @default false
*/
disableSelection: PropTypes.bool,
/**
* The id attribute of the item. If not provided, it will be generated.
*/
id: PropTypes.string,
/**
* The id of the item.
* Must be unique.
*/
itemId: PropTypes.string.isRequired,
/**
* The label of the item.
*/
label: PropTypes.node,
/**
* Callback fired when the item root is blurred.
*/
onBlur: PropTypes.func,
/**
* This prop isn't supported.
* Use the `onItemFocus` callback on the tree if you need to monitor an item's focus.
*/
onFocus: unsupportedProp,
/**
* Callback fired when a key is pressed on the keyboard and the tree is in focus.
*/
onKeyDown: PropTypes.func,
/**
* The props used for each component slot.
* @default {}
*/
slotProps: PropTypes.object,
/**
* Overridable component slots.
* @default {}
*/
slots: PropTypes.object,
/**
* The system prop that allows defining system overrides as well as additional CSS styles.
*/
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
} : void 0;
@@ -0,0 +1,115 @@
import type * as React from 'react';
import type { SxProps } from '@mui/system';
import type { Theme } from '@mui/material/styles';
import type { SlotComponentPropsFromProps } from '@mui/x-internals/types';
import type { TransitionProps } from '@mui/material/transitions';
import type { SlotComponentProps } from '@mui/utils/types';
import type { UseTreeItemParameters, UseTreeItemStatus } from "../useTreeItem/index.mjs";
import type { TreeItemClasses } from "./treeItemClasses.mjs";
import type { TreeItemIconSlotProps, TreeItemIconSlots } from "../TreeItemIcon/index.mjs";
import type { TreeViewCancellableEventHandler } from "../models/index.mjs";
export interface TreeItemSlots extends TreeItemIconSlots {
/**
* The component that renders the root.
* @default TreeItemRoot
*/
root?: React.ElementType;
/**
* The component that renders the content of the item.
* (e.g.: everything related to this item, not to its children).
* @default TreeItemContent
*/
content?: React.ElementType;
/**
* The component that renders the children of the item.
* @default TreeItemGroupTransition
*/
groupTransition?: React.ElementType;
/**
* The component that renders the icon.
* @default TreeItemIconContainer
*/
iconContainer?: React.ElementType;
/**
* The component that renders the item checkbox for selection.
* @default TreeItemCheckbox
*/
checkbox?: React.ElementType;
/**
* The component that renders the item label.
* @default TreeItemLabel
*/
label?: React.ElementType;
/**
* The component that renders the input to edit the label when the item is editable and is currently being edited.
* @default TreeItemLabelInput
*/
labelInput?: React.ElementType;
/**
* The component that renders the overlay when an item reordering is ongoing.
* Warning: This slot is only useful when using the `<RichTreeViewPro />` component.
* @default TreeItemDragAndDropOverlay
*/
dragAndDropOverlay?: React.ElementType;
/**
* The component that is rendered when the item is in an error state.
* Warning: This slot is only useful when using the `<RichTreeViewPro />` component is lazy loading is enabled.
* @default TreeItemErrorContainer
*/
errorIcon?: React.ElementType;
/**
* The component that is rendered when the item is in a loading state.
* Warning: This slot is only useful when using the `<RichTreeViewPro />` component is lazy loading is enabled.
* @default TreeItemLoadingContainer
*/
loadingIcon?: React.ElementType;
}
export interface TreeItemSlotProps extends TreeItemIconSlotProps {
root?: SlotComponentProps<'li', {}, {}>;
content?: SlotComponentProps<'div', {}, {}>;
groupTransition?: SlotComponentPropsFromProps<TransitionProps, {}, {}>;
iconContainer?: SlotComponentProps<'div', {}, {}>;
checkbox?: SlotComponentProps<React.ElementType<React.HTMLAttributes<HTMLButtonElement> & {
visible?: boolean;
}>, {}, {}>;
label?: SlotComponentProps<'div', {}, {}>;
labelInput?: SlotComponentProps<'input', {}, {}>;
dragAndDropOverlay?: SlotComponentProps<'div', {}, {}>;
errorIcon?: SlotComponentProps<'div', {}, {}>;
loadingIcon?: SlotComponentProps<'div', {}, {}>;
}
export interface TreeItemProps extends Omit<UseTreeItemParameters, 'rootRef'>, Omit<React.HTMLAttributes<HTMLLIElement>, 'onFocus'> {
className?: string;
/**
* The system prop that allows defining system overrides as well as additional CSS styles.
*/
sx?: SxProps<Theme>;
/**
* Override or extend the styles applied to the component.
*/
classes?: Partial<TreeItemClasses>;
/**
* Overridable component slots.
* @default {}
*/
slots?: TreeItemSlots;
/**
* The props used for each component slot.
* @default {}
*/
slotProps?: TreeItemSlotProps;
/**
* This prop isn't supported.
* Use the `onItemFocus` callback on the tree if you need to monitor an item's focus.
*/
onFocus?: null;
/**
* Callback fired when the item root is blurred.
*/
onBlur?: TreeViewCancellableEventHandler<React.FocusEvent<HTMLLIElement>>;
/**
* Callback fired when a key is pressed on the keyboard and the tree is in focus.
*/
onKeyDown?: TreeViewCancellableEventHandler<React.KeyboardEvent<HTMLLIElement>>;
}
export interface TreeItemOwnerState extends Omit<TreeItemProps, 'disabled'>, UseTreeItemStatus {}
@@ -0,0 +1,115 @@
import type * as React from 'react';
import type { SxProps } from '@mui/system';
import type { Theme } from '@mui/material/styles';
import type { SlotComponentPropsFromProps } from '@mui/x-internals/types';
import type { TransitionProps } from '@mui/material/transitions';
import type { SlotComponentProps } from '@mui/utils/types';
import type { UseTreeItemParameters, UseTreeItemStatus } from "../useTreeItem/index.js";
import type { TreeItemClasses } from "./treeItemClasses.js";
import type { TreeItemIconSlotProps, TreeItemIconSlots } from "../TreeItemIcon/index.js";
import type { TreeViewCancellableEventHandler } from "../models/index.js";
export interface TreeItemSlots extends TreeItemIconSlots {
/**
* The component that renders the root.
* @default TreeItemRoot
*/
root?: React.ElementType;
/**
* The component that renders the content of the item.
* (e.g.: everything related to this item, not to its children).
* @default TreeItemContent
*/
content?: React.ElementType;
/**
* The component that renders the children of the item.
* @default TreeItemGroupTransition
*/
groupTransition?: React.ElementType;
/**
* The component that renders the icon.
* @default TreeItemIconContainer
*/
iconContainer?: React.ElementType;
/**
* The component that renders the item checkbox for selection.
* @default TreeItemCheckbox
*/
checkbox?: React.ElementType;
/**
* The component that renders the item label.
* @default TreeItemLabel
*/
label?: React.ElementType;
/**
* The component that renders the input to edit the label when the item is editable and is currently being edited.
* @default TreeItemLabelInput
*/
labelInput?: React.ElementType;
/**
* The component that renders the overlay when an item reordering is ongoing.
* Warning: This slot is only useful when using the `<RichTreeViewPro />` component.
* @default TreeItemDragAndDropOverlay
*/
dragAndDropOverlay?: React.ElementType;
/**
* The component that is rendered when the item is in an error state.
* Warning: This slot is only useful when using the `<RichTreeViewPro />` component is lazy loading is enabled.
* @default TreeItemErrorContainer
*/
errorIcon?: React.ElementType;
/**
* The component that is rendered when the item is in a loading state.
* Warning: This slot is only useful when using the `<RichTreeViewPro />` component is lazy loading is enabled.
* @default TreeItemLoadingContainer
*/
loadingIcon?: React.ElementType;
}
export interface TreeItemSlotProps extends TreeItemIconSlotProps {
root?: SlotComponentProps<'li', {}, {}>;
content?: SlotComponentProps<'div', {}, {}>;
groupTransition?: SlotComponentPropsFromProps<TransitionProps, {}, {}>;
iconContainer?: SlotComponentProps<'div', {}, {}>;
checkbox?: SlotComponentProps<React.ElementType<React.HTMLAttributes<HTMLButtonElement> & {
visible?: boolean;
}>, {}, {}>;
label?: SlotComponentProps<'div', {}, {}>;
labelInput?: SlotComponentProps<'input', {}, {}>;
dragAndDropOverlay?: SlotComponentProps<'div', {}, {}>;
errorIcon?: SlotComponentProps<'div', {}, {}>;
loadingIcon?: SlotComponentProps<'div', {}, {}>;
}
export interface TreeItemProps extends Omit<UseTreeItemParameters, 'rootRef'>, Omit<React.HTMLAttributes<HTMLLIElement>, 'onFocus'> {
className?: string;
/**
* The system prop that allows defining system overrides as well as additional CSS styles.
*/
sx?: SxProps<Theme>;
/**
* Override or extend the styles applied to the component.
*/
classes?: Partial<TreeItemClasses>;
/**
* Overridable component slots.
* @default {}
*/
slots?: TreeItemSlots;
/**
* The props used for each component slot.
* @default {}
*/
slotProps?: TreeItemSlotProps;
/**
* This prop isn't supported.
* Use the `onItemFocus` callback on the tree if you need to monitor an item's focus.
*/
onFocus?: null;
/**
* Callback fired when the item root is blurred.
*/
onBlur?: TreeViewCancellableEventHandler<React.FocusEvent<HTMLLIElement>>;
/**
* Callback fired when a key is pressed on the keyboard and the tree is in focus.
*/
onKeyDown?: TreeViewCancellableEventHandler<React.KeyboardEvent<HTMLLIElement>>;
}
export interface TreeItemOwnerState extends Omit<TreeItemProps, 'disabled'>, UseTreeItemStatus {}
@@ -0,0 +1,5 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
@@ -0,0 +1 @@
export {};
@@ -0,0 +1,4 @@
export { TreeItem, TreeItemRoot, TreeItemContent, TreeItemIconContainer, TreeItemGroupTransition, TreeItemCheckbox, TreeItemLabel } from "./TreeItem.mjs";
export type { TreeItemProps, TreeItemSlots, TreeItemSlotProps } from "./TreeItem.types.mjs";
export { getTreeItemUtilityClass, treeItemClasses } from "./treeItemClasses.mjs";
export type { TreeItemClassKey, TreeItemClasses } from "./treeItemClasses.mjs";
@@ -0,0 +1,4 @@
export { TreeItem, TreeItemRoot, TreeItemContent, TreeItemIconContainer, TreeItemGroupTransition, TreeItemCheckbox, TreeItemLabel } from "./TreeItem.js";
export type { TreeItemProps, TreeItemSlots, TreeItemSlotProps } from "./TreeItem.types.js";
export { getTreeItemUtilityClass, treeItemClasses } from "./treeItemClasses.js";
export type { TreeItemClassKey, TreeItemClasses } from "./treeItemClasses.js";
@@ -0,0 +1,61 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "TreeItem", {
enumerable: true,
get: function () {
return _TreeItem.TreeItem;
}
});
Object.defineProperty(exports, "TreeItemCheckbox", {
enumerable: true,
get: function () {
return _TreeItem.TreeItemCheckbox;
}
});
Object.defineProperty(exports, "TreeItemContent", {
enumerable: true,
get: function () {
return _TreeItem.TreeItemContent;
}
});
Object.defineProperty(exports, "TreeItemGroupTransition", {
enumerable: true,
get: function () {
return _TreeItem.TreeItemGroupTransition;
}
});
Object.defineProperty(exports, "TreeItemIconContainer", {
enumerable: true,
get: function () {
return _TreeItem.TreeItemIconContainer;
}
});
Object.defineProperty(exports, "TreeItemLabel", {
enumerable: true,
get: function () {
return _TreeItem.TreeItemLabel;
}
});
Object.defineProperty(exports, "TreeItemRoot", {
enumerable: true,
get: function () {
return _TreeItem.TreeItemRoot;
}
});
Object.defineProperty(exports, "getTreeItemUtilityClass", {
enumerable: true,
get: function () {
return _treeItemClasses.getTreeItemUtilityClass;
}
});
Object.defineProperty(exports, "treeItemClasses", {
enumerable: true,
get: function () {
return _treeItemClasses.treeItemClasses;
}
});
var _TreeItem = require("./TreeItem");
var _treeItemClasses = require("./treeItemClasses");
@@ -0,0 +1,2 @@
export { TreeItem, TreeItemRoot, TreeItemContent, TreeItemIconContainer, TreeItemGroupTransition, TreeItemCheckbox, TreeItemLabel } from "./TreeItem.mjs";
export { getTreeItemUtilityClass, treeItemClasses } from "./treeItemClasses.mjs";
@@ -0,0 +1,25 @@
export interface TreeItemClasses {
/** Styles applied to the root element. */
root: string;
/** Styles applied to the content element. */
content: string;
/** Styles applied to the transition element. */
groupTransition: string;
/** Styles applied to the icon container element. */
iconContainer: string;
/** Styles applied to the label element. */
label: string;
/** Styles applied to the label input element (visible only when editing is enabled). */
labelInput: string;
/** Styles applied to the checkbox element. */
checkbox: string;
/** Styles applied to the drag and drop overlay element. */
dragAndDropOverlay: string;
/** Styles applied to the error icon element */
errorIcon: string;
/** Styles applied to the loading icon element */
loadingIcon: string;
}
export type TreeItemClassKey = keyof TreeItemClasses;
export declare function getTreeItemUtilityClass(slot: string): string;
export declare const treeItemClasses: TreeItemClasses;
@@ -0,0 +1,25 @@
export interface TreeItemClasses {
/** Styles applied to the root element. */
root: string;
/** Styles applied to the content element. */
content: string;
/** Styles applied to the transition element. */
groupTransition: string;
/** Styles applied to the icon container element. */
iconContainer: string;
/** Styles applied to the label element. */
label: string;
/** Styles applied to the label input element (visible only when editing is enabled). */
labelInput: string;
/** Styles applied to the checkbox element. */
checkbox: string;
/** Styles applied to the drag and drop overlay element. */
dragAndDropOverlay: string;
/** Styles applied to the error icon element */
errorIcon: string;
/** Styles applied to the loading icon element */
loadingIcon: string;
}
export type TreeItemClassKey = keyof TreeItemClasses;
export declare function getTreeItemUtilityClass(slot: string): string;
export declare const treeItemClasses: TreeItemClasses;
@@ -0,0 +1,14 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getTreeItemUtilityClass = getTreeItemUtilityClass;
exports.treeItemClasses = void 0;
var _generateUtilityClass = _interopRequireDefault(require("@mui/utils/generateUtilityClass"));
var _generateUtilityClasses = _interopRequireDefault(require("@mui/utils/generateUtilityClasses"));
function getTreeItemUtilityClass(slot) {
return (0, _generateUtilityClass.default)('MuiTreeItem', slot);
}
const treeItemClasses = exports.treeItemClasses = (0, _generateUtilityClasses.default)('MuiTreeItem', ['root', 'content', 'groupTransition', 'iconContainer', 'label', 'checkbox', 'labelInput', 'dragAndDropOverlay', 'errorIcon', 'loadingIcon']);
@@ -0,0 +1,6 @@
import generateUtilityClass from '@mui/utils/generateUtilityClass';
import generateUtilityClasses from '@mui/utils/generateUtilityClasses';
export function getTreeItemUtilityClass(slot) {
return generateUtilityClass('MuiTreeItem', slot);
}
export const treeItemClasses = generateUtilityClasses('MuiTreeItem', ['root', 'content', 'groupTransition', 'iconContainer', 'label', 'checkbox', 'labelInput', 'dragAndDropOverlay', 'errorIcon', 'loadingIcon']);
@@ -0,0 +1,6 @@
import type { TreeItemDragAndDropOverlayProps } from "./TreeItemDragAndDropOverlay.types.mjs";
declare function TreeItemDragAndDropOverlay(props: TreeItemDragAndDropOverlayProps): import("react").JSX.Element | null;
declare namespace TreeItemDragAndDropOverlay {
var propTypes: any;
}
export { TreeItemDragAndDropOverlay };
@@ -0,0 +1,6 @@
import type { TreeItemDragAndDropOverlayProps } from "./TreeItemDragAndDropOverlay.types.js";
declare function TreeItemDragAndDropOverlay(props: TreeItemDragAndDropOverlayProps): import("react").JSX.Element | null;
declare namespace TreeItemDragAndDropOverlay {
var propTypes: any;
}
export { TreeItemDragAndDropOverlay };
@@ -0,0 +1,76 @@
"use strict";
'use client';
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.TreeItemDragAndDropOverlay = TreeItemDragAndDropOverlay;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _createStyled = require("@mui/system/createStyled");
var _zeroStyled = require("../internals/zero-styled");
var _jsxRuntime = require("react/jsx-runtime");
const TreeItemDragAndDropOverlayRoot = (0, _zeroStyled.styled)('div', {
name: 'MuiTreeItemDragAndDropOverlay',
slot: 'Root',
shouldForwardProp: prop => (0, _createStyled.shouldForwardProp)(prop) && prop !== 'action'
})(({
theme
}) => ({
position: 'absolute',
left: 0,
display: 'flex',
top: 0,
bottom: 0,
right: 0,
pointerEvents: 'none',
variants: [{
props: {
action: 'make-child'
},
style: {
marginLeft: 'calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))',
borderRadius: theme.shape.borderRadius,
backgroundColor: theme.alpha((theme.vars || theme).palette.primary.dark, (theme.vars || theme).palette.action.focusOpacity)
}
}, {
props: {
action: 'reorder-above'
},
style: {
marginLeft: 'calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))',
borderTop: `1px solid ${(theme.vars || theme).palette.action.active}`
}
}, {
props: {
action: 'reorder-below'
},
style: {
marginLeft: 'calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))',
borderBottom: `1px solid ${(theme.vars || theme).palette.action.active}`
}
}, {
props: {
action: 'move-to-parent'
},
style: {
marginLeft: 'calc(var(--TreeView-indentMultiplier) * calc(var(--TreeView-itemDepth) - 1))',
borderBottom: `1px solid ${(theme.vars || theme).palette.action.active}`
}
}]
}));
function TreeItemDragAndDropOverlay(props) {
if (props.action == null) {
return null;
}
return /*#__PURE__*/(0, _jsxRuntime.jsx)(TreeItemDragAndDropOverlayRoot, (0, _extends2.default)({}, props));
}
process.env.NODE_ENV !== "production" ? TreeItemDragAndDropOverlay.propTypes /* remove-proptypes */ = {
// ----------------------------- Warning --------------------------------
// | These PropTypes are generated from the TypeScript type definitions |
// | To update them edit the TypeScript types and run "pnpm proptypes" |
// ----------------------------------------------------------------------
action: _propTypes.default.oneOf(['make-child', 'move-to-parent', 'reorder-above', 'reorder-below']),
style: _propTypes.default.object
} : void 0;
@@ -0,0 +1,71 @@
'use client';
import _extends from "@babel/runtime/helpers/esm/extends";
import PropTypes from 'prop-types';
import { shouldForwardProp } from '@mui/system/createStyled';
import { styled } from "../internals/zero-styled/index.mjs";
import { jsx as _jsx } from "react/jsx-runtime";
const TreeItemDragAndDropOverlayRoot = styled('div', {
name: 'MuiTreeItemDragAndDropOverlay',
slot: 'Root',
shouldForwardProp: prop => shouldForwardProp(prop) && prop !== 'action'
})(({
theme
}) => ({
position: 'absolute',
left: 0,
display: 'flex',
top: 0,
bottom: 0,
right: 0,
pointerEvents: 'none',
variants: [{
props: {
action: 'make-child'
},
style: {
marginLeft: 'calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))',
borderRadius: theme.shape.borderRadius,
backgroundColor: theme.alpha((theme.vars || theme).palette.primary.dark, (theme.vars || theme).palette.action.focusOpacity)
}
}, {
props: {
action: 'reorder-above'
},
style: {
marginLeft: 'calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))',
borderTop: `1px solid ${(theme.vars || theme).palette.action.active}`
}
}, {
props: {
action: 'reorder-below'
},
style: {
marginLeft: 'calc(var(--TreeView-indentMultiplier) * var(--TreeView-itemDepth))',
borderBottom: `1px solid ${(theme.vars || theme).palette.action.active}`
}
}, {
props: {
action: 'move-to-parent'
},
style: {
marginLeft: 'calc(var(--TreeView-indentMultiplier) * calc(var(--TreeView-itemDepth) - 1))',
borderBottom: `1px solid ${(theme.vars || theme).palette.action.active}`
}
}]
}));
function TreeItemDragAndDropOverlay(props) {
if (props.action == null) {
return null;
}
return /*#__PURE__*/_jsx(TreeItemDragAndDropOverlayRoot, _extends({}, props));
}
process.env.NODE_ENV !== "production" ? TreeItemDragAndDropOverlay.propTypes /* remove-proptypes */ = {
// ----------------------------- Warning --------------------------------
// | These PropTypes are generated from the TypeScript type definitions |
// | To update them edit the TypeScript types and run "pnpm proptypes" |
// ----------------------------------------------------------------------
action: PropTypes.oneOf(['make-child', 'move-to-parent', 'reorder-above', 'reorder-below']),
style: PropTypes.object
} : void 0;
export { TreeItemDragAndDropOverlay };
@@ -0,0 +1,6 @@
import type * as React from 'react';
import type { TreeViewItemsReorderingAction } from "../models/index.mjs";
export interface TreeItemDragAndDropOverlayProps {
action?: TreeViewItemsReorderingAction;
style?: React.CSSProperties;
}
@@ -0,0 +1,6 @@
import type * as React from 'react';
import type { TreeViewItemsReorderingAction } from "../models/index.js";
export interface TreeItemDragAndDropOverlayProps {
action?: TreeViewItemsReorderingAction;
style?: React.CSSProperties;
}
@@ -0,0 +1,5 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
@@ -0,0 +1,2 @@
export { TreeItemDragAndDropOverlay } from "./TreeItemDragAndDropOverlay.mjs";
export type { TreeItemDragAndDropOverlayProps } from "./TreeItemDragAndDropOverlay.types.mjs";
@@ -0,0 +1,2 @@
export { TreeItemDragAndDropOverlay } from "./TreeItemDragAndDropOverlay.js";
export type { TreeItemDragAndDropOverlayProps } from "./TreeItemDragAndDropOverlay.types.js";
@@ -0,0 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "TreeItemDragAndDropOverlay", {
enumerable: true,
get: function () {
return _TreeItemDragAndDropOverlay.TreeItemDragAndDropOverlay;
}
});
var _TreeItemDragAndDropOverlay = require("./TreeItemDragAndDropOverlay");
@@ -0,0 +1 @@
export { TreeItemDragAndDropOverlay } from "./TreeItemDragAndDropOverlay.mjs";
@@ -0,0 +1,7 @@
import * as React from 'react';
import type { TreeItemIconProps } from "./TreeItemIcon.types.mjs";
declare function TreeItemIcon(props: TreeItemIconProps): React.JSX.Element | null;
declare namespace TreeItemIcon {
var propTypes: any;
}
export { TreeItemIcon };
@@ -0,0 +1,7 @@
import * as React from 'react';
import type { TreeItemIconProps } from "./TreeItemIcon.types.js";
declare function TreeItemIcon(props: TreeItemIconProps): React.JSX.Element | null;
declare namespace TreeItemIcon {
var propTypes: any;
}
export { TreeItemIcon };
@@ -0,0 +1,97 @@
"use strict";
'use client';
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.TreeItemIcon = TreeItemIcon;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var React = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _resolveComponentProps = _interopRequireDefault(require("@mui/utils/resolveComponentProps"));
var _useSlotProps2 = _interopRequireDefault(require("@mui/utils/useSlotProps"));
var _TreeViewProvider = require("../internals/TreeViewProvider");
var _icons = require("../icons");
var _jsxRuntime = require("react/jsx-runtime");
const _excluded = ["ownerState"];
function pickIcon(treeItemIcon, treeViewIcon, fallback) {
if (treeItemIcon !== undefined) {
return treeItemIcon;
}
if (treeViewIcon !== undefined) {
return treeViewIcon;
}
return fallback;
}
function TreeItemIcon(props) {
const {
slots: slotsFromTreeItem,
slotProps: slotPropsFromTreeItem,
status
} = props;
const {
slots: slotsFromTreeView,
slotProps: slotPropsFromTreeView
} = (0, _TreeViewProvider.useTreeViewStyleContext)();
const slots = {
collapseIcon: pickIcon(slotsFromTreeItem?.collapseIcon, slotsFromTreeView.collapseIcon, _icons.TreeViewCollapseIcon),
expandIcon: pickIcon(slotsFromTreeItem?.expandIcon, slotsFromTreeView.expandIcon, _icons.TreeViewExpandIcon),
endIcon: pickIcon(slotsFromTreeItem?.endIcon, slotsFromTreeView.endIcon),
icon: slotsFromTreeItem?.icon
};
let iconName;
if (slots?.icon) {
iconName = 'icon';
} else if (status.expandable) {
if (status.expanded) {
iconName = 'collapseIcon';
} else {
iconName = 'expandIcon';
}
} else {
iconName = 'endIcon';
}
const Icon = slots[iconName];
const _useSlotProps = (0, _useSlotProps2.default)({
elementType: Icon,
externalSlotProps: tempOwnerState => (0, _extends2.default)({}, (0, _resolveComponentProps.default)(slotPropsFromTreeView[iconName], tempOwnerState), (0, _resolveComponentProps.default)(slotPropsFromTreeItem?.[iconName], tempOwnerState)),
// TODO: Add proper ownerState
ownerState: {}
}),
iconProps = (0, _objectWithoutPropertiesLoose2.default)(_useSlotProps, _excluded);
if (!Icon) {
return null;
}
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, (0, _extends2.default)({}, iconProps));
}
process.env.NODE_ENV !== "production" ? TreeItemIcon.propTypes /* remove-proptypes */ = {
// ----------------------------- Warning --------------------------------
// | These PropTypes are generated from the TypeScript type definitions |
// | To update them edit the TypeScript types and run "pnpm proptypes" |
// ----------------------------------------------------------------------
/**
* The props used for each component slot.
* @default {}
*/
slotProps: _propTypes.default.object,
/**
* Overridable component slots.
* @default {}
*/
slots: _propTypes.default.object,
status: _propTypes.default.shape({
disabled: _propTypes.default.bool.isRequired,
editable: _propTypes.default.bool.isRequired,
editing: _propTypes.default.bool.isRequired,
error: _propTypes.default.bool.isRequired,
expandable: _propTypes.default.bool.isRequired,
expanded: _propTypes.default.bool.isRequired,
focused: _propTypes.default.bool.isRequired,
indeterminate: _propTypes.default.bool,
loading: _propTypes.default.bool.isRequired,
selected: _propTypes.default.bool.isRequired
}).isRequired
} : void 0;
@@ -0,0 +1,91 @@
'use client';
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
const _excluded = ["ownerState"];
import * as React from 'react';
import PropTypes from 'prop-types';
import resolveComponentProps from '@mui/utils/resolveComponentProps';
import useSlotProps from '@mui/utils/useSlotProps';
import { useTreeViewStyleContext } from "../internals/TreeViewProvider/index.mjs";
import { TreeViewCollapseIcon, TreeViewExpandIcon } from "../icons/index.mjs";
import { jsx as _jsx } from "react/jsx-runtime";
function pickIcon(treeItemIcon, treeViewIcon, fallback) {
if (treeItemIcon !== undefined) {
return treeItemIcon;
}
if (treeViewIcon !== undefined) {
return treeViewIcon;
}
return fallback;
}
function TreeItemIcon(props) {
const {
slots: slotsFromTreeItem,
slotProps: slotPropsFromTreeItem,
status
} = props;
const {
slots: slotsFromTreeView,
slotProps: slotPropsFromTreeView
} = useTreeViewStyleContext();
const slots = {
collapseIcon: pickIcon(slotsFromTreeItem?.collapseIcon, slotsFromTreeView.collapseIcon, TreeViewCollapseIcon),
expandIcon: pickIcon(slotsFromTreeItem?.expandIcon, slotsFromTreeView.expandIcon, TreeViewExpandIcon),
endIcon: pickIcon(slotsFromTreeItem?.endIcon, slotsFromTreeView.endIcon),
icon: slotsFromTreeItem?.icon
};
let iconName;
if (slots?.icon) {
iconName = 'icon';
} else if (status.expandable) {
if (status.expanded) {
iconName = 'collapseIcon';
} else {
iconName = 'expandIcon';
}
} else {
iconName = 'endIcon';
}
const Icon = slots[iconName];
const _useSlotProps = useSlotProps({
elementType: Icon,
externalSlotProps: tempOwnerState => _extends({}, resolveComponentProps(slotPropsFromTreeView[iconName], tempOwnerState), resolveComponentProps(slotPropsFromTreeItem?.[iconName], tempOwnerState)),
// TODO: Add proper ownerState
ownerState: {}
}),
iconProps = _objectWithoutPropertiesLoose(_useSlotProps, _excluded);
if (!Icon) {
return null;
}
return /*#__PURE__*/_jsx(Icon, _extends({}, iconProps));
}
process.env.NODE_ENV !== "production" ? TreeItemIcon.propTypes /* remove-proptypes */ = {
// ----------------------------- Warning --------------------------------
// | These PropTypes are generated from the TypeScript type definitions |
// | To update them edit the TypeScript types and run "pnpm proptypes" |
// ----------------------------------------------------------------------
/**
* The props used for each component slot.
* @default {}
*/
slotProps: PropTypes.object,
/**
* Overridable component slots.
* @default {}
*/
slots: PropTypes.object,
status: PropTypes.shape({
disabled: PropTypes.bool.isRequired,
editable: PropTypes.bool.isRequired,
editing: PropTypes.bool.isRequired,
error: PropTypes.bool.isRequired,
expandable: PropTypes.bool.isRequired,
expanded: PropTypes.bool.isRequired,
focused: PropTypes.bool.isRequired,
indeterminate: PropTypes.bool,
loading: PropTypes.bool.isRequired,
selected: PropTypes.bool.isRequired
}).isRequired
} : void 0;
export { TreeItemIcon };
@@ -0,0 +1,40 @@
import type * as React from 'react';
import type { SlotComponentProps } from '@mui/utils/types';
import type { UseTreeItemStatus } from "../useTreeItem/index.mjs";
export interface TreeItemIconSlots {
/**
* The icon used to collapse the item.
*/
collapseIcon?: React.ElementType | null;
/**
* The icon used to expand the item.
*/
expandIcon?: React.ElementType | null;
/**
* The icon displayed next to an end item.
*/
endIcon?: React.ElementType | null;
/**
* The icon to display next to the Tree Item's label.
*/
icon?: React.ElementType | null;
}
export interface TreeItemIconSlotProps {
collapseIcon?: SlotComponentProps<'svg', {}, {}>;
expandIcon?: SlotComponentProps<'svg', {}, {}>;
endIcon?: SlotComponentProps<'svg', {}, {}>;
icon?: SlotComponentProps<'svg', {}, {}>;
}
export interface TreeItemIconProps {
status: UseTreeItemStatus;
/**
* Overridable component slots.
* @default {}
*/
slots?: TreeItemIconSlots;
/**
* The props used for each component slot.
* @default {}
*/
slotProps?: TreeItemIconSlotProps;
}
@@ -0,0 +1,40 @@
import type * as React from 'react';
import type { SlotComponentProps } from '@mui/utils/types';
import type { UseTreeItemStatus } from "../useTreeItem/index.js";
export interface TreeItemIconSlots {
/**
* The icon used to collapse the item.
*/
collapseIcon?: React.ElementType | null;
/**
* The icon used to expand the item.
*/
expandIcon?: React.ElementType | null;
/**
* The icon displayed next to an end item.
*/
endIcon?: React.ElementType | null;
/**
* The icon to display next to the Tree Item's label.
*/
icon?: React.ElementType | null;
}
export interface TreeItemIconSlotProps {
collapseIcon?: SlotComponentProps<'svg', {}, {}>;
expandIcon?: SlotComponentProps<'svg', {}, {}>;
endIcon?: SlotComponentProps<'svg', {}, {}>;
icon?: SlotComponentProps<'svg', {}, {}>;
}
export interface TreeItemIconProps {
status: UseTreeItemStatus;
/**
* Overridable component slots.
* @default {}
*/
slots?: TreeItemIconSlots;
/**
* The props used for each component slot.
* @default {}
*/
slotProps?: TreeItemIconSlotProps;
}
@@ -0,0 +1,5 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
@@ -0,0 +1 @@
export {};
@@ -0,0 +1,2 @@
export { TreeItemIcon } from "./TreeItemIcon.mjs";
export type { TreeItemIconProps, TreeItemIconSlots, TreeItemIconSlotProps } from "./TreeItemIcon.types.mjs";
@@ -0,0 +1,2 @@
export { TreeItemIcon } from "./TreeItemIcon.js";
export type { TreeItemIconProps, TreeItemIconSlots, TreeItemIconSlotProps } from "./TreeItemIcon.types.js";
@@ -0,0 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "TreeItemIcon", {
enumerable: true,
get: function () {
return _TreeItemIcon.TreeItemIcon;
}
});
var _TreeItemIcon = require("./TreeItemIcon");
@@ -0,0 +1 @@
export { TreeItemIcon } from "./TreeItemIcon.mjs";
@@ -0,0 +1,5 @@
/**
* @ignore - internal component.
*/
declare const TreeItemLabelInput: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, Pick<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, keyof import("react").ClassAttributes<HTMLInputElement> | keyof import("react").InputHTMLAttributes<HTMLInputElement>>, {}>;
export { TreeItemLabelInput };
@@ -0,0 +1,5 @@
/**
* @ignore - internal component.
*/
declare const TreeItemLabelInput: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, Pick<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, keyof import("react").ClassAttributes<HTMLInputElement> | keyof import("react").InputHTMLAttributes<HTMLInputElement>>, {}>;
export { TreeItemLabelInput };
@@ -0,0 +1,28 @@
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.TreeItemLabelInput = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _zeroStyled = require("../internals/zero-styled");
/**
* @ignore - internal component.
*/
const TreeItemLabelInput = exports.TreeItemLabelInput = (0, _zeroStyled.styled)('input', {
name: 'MuiTreeItem',
slot: 'LabelInput'
})(({
theme
}) => (0, _extends2.default)({}, theme.typography.body1, {
width: '100%',
backgroundColor: (theme.vars || theme).palette.background.paper,
borderRadius: theme.shape.borderRadius,
border: 'none',
padding: '0 2px',
boxSizing: 'border-box',
'&:focus': {
outline: `1px solid ${(theme.vars || theme).palette.primary.main}`
}
}));
@@ -0,0 +1,23 @@
import _extends from "@babel/runtime/helpers/esm/extends";
import { styled } from "../internals/zero-styled/index.mjs";
/**
* @ignore - internal component.
*/
const TreeItemLabelInput = styled('input', {
name: 'MuiTreeItem',
slot: 'LabelInput'
})(({
theme
}) => _extends({}, theme.typography.body1, {
width: '100%',
backgroundColor: (theme.vars || theme).palette.background.paper,
borderRadius: theme.shape.borderRadius,
border: 'none',
padding: '0 2px',
boxSizing: 'border-box',
'&:focus': {
outline: `1px solid ${(theme.vars || theme).palette.primary.main}`
}
}));
export { TreeItemLabelInput };
@@ -0,0 +1,14 @@
import type * as React from 'react';
import type { TreeViewCancellableEventHandler } from "../models/index.mjs";
export interface TreeItemLabelInputProps {
value?: string;
/**
* Used to determine if the target of keydown or blur events is the input and prevent the event from propagating to the root.
*/
'data-element'?: 'labelInput';
onChange?: React.ChangeEventHandler<HTMLInputElement>;
onKeyDown?: TreeViewCancellableEventHandler<React.KeyboardEvent<HTMLInputElement>>;
onBlur?: TreeViewCancellableEventHandler<React.FocusEvent<HTMLInputElement>>;
autoFocus?: true;
type?: 'text';
}
@@ -0,0 +1,14 @@
import type * as React from 'react';
import type { TreeViewCancellableEventHandler } from "../models/index.js";
export interface TreeItemLabelInputProps {
value?: string;
/**
* Used to determine if the target of keydown or blur events is the input and prevent the event from propagating to the root.
*/
'data-element'?: 'labelInput';
onChange?: React.ChangeEventHandler<HTMLInputElement>;
onKeyDown?: TreeViewCancellableEventHandler<React.KeyboardEvent<HTMLInputElement>>;
onBlur?: TreeViewCancellableEventHandler<React.FocusEvent<HTMLInputElement>>;
autoFocus?: true;
type?: 'text';
}
@@ -0,0 +1,5 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
@@ -0,0 +1,2 @@
export { TreeItemLabelInput } from "./TreeItemLabelInput.mjs";
export type { TreeItemLabelInputProps } from "./TreeItemLabelInput.types.mjs";
@@ -0,0 +1,2 @@
export { TreeItemLabelInput } from "./TreeItemLabelInput.js";
export type { TreeItemLabelInputProps } from "./TreeItemLabelInput.types.js";
@@ -0,0 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "TreeItemLabelInput", {
enumerable: true,
get: function () {
return _TreeItemLabelInput.TreeItemLabelInput;
}
});
var _TreeItemLabelInput = require("./TreeItemLabelInput");
@@ -0,0 +1 @@
export { TreeItemLabelInput } from "./TreeItemLabelInput.mjs";
@@ -0,0 +1,7 @@
import * as React from 'react';
import type { TreeItemProviderProps } from "./TreeItemProvider.types.mjs";
declare function TreeItemProvider(props: TreeItemProviderProps): React.JSX.Element;
declare namespace TreeItemProvider {
var propTypes: any;
}
export { TreeItemProvider };
@@ -0,0 +1,7 @@
import * as React from 'react';
import type { TreeItemProviderProps } from "./TreeItemProvider.types.js";
declare function TreeItemProvider(props: TreeItemProviderProps): React.JSX.Element;
declare namespace TreeItemProvider {
var propTypes: any;
}
export { TreeItemProvider };
@@ -0,0 +1,44 @@
"use strict";
'use client';
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.TreeItemProvider = TreeItemProvider;
var React = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _store = require("@mui/x-internals/store");
var _TreeViewProvider = require("../internals/TreeViewProvider");
var _id = require("../internals/plugins/id");
var _jsxRuntime = require("react/jsx-runtime");
function TreeItemProvider(props) {
const {
children,
itemId,
id
} = props;
const {
wrapItem,
store
} = (0, _TreeViewProvider.useTreeViewContext)();
const idAttribute = (0, _store.useStore)(store, _id.idSelectors.treeItemIdAttribute, itemId, id);
return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
children: wrapItem({
children,
itemId,
store,
idAttribute
})
});
}
process.env.NODE_ENV !== "production" ? TreeItemProvider.propTypes /* remove-proptypes */ = {
// ----------------------------- Warning --------------------------------
// | These PropTypes are generated from the TypeScript type definitions |
// | To update them edit the TypeScript types and run "pnpm proptypes" |
// ----------------------------------------------------------------------
children: _propTypes.default.node,
id: _propTypes.default.string,
itemId: _propTypes.default.string.isRequired
} : void 0;
@@ -0,0 +1,38 @@
'use client';
import * as React from 'react';
import PropTypes from 'prop-types';
import { useStore } from '@mui/x-internals/store';
import { useTreeViewContext } from "../internals/TreeViewProvider/index.mjs";
import { idSelectors } from "../internals/plugins/id/index.mjs";
import { jsx as _jsx } from "react/jsx-runtime";
function TreeItemProvider(props) {
const {
children,
itemId,
id
} = props;
const {
wrapItem,
store
} = useTreeViewContext();
const idAttribute = useStore(store, idSelectors.treeItemIdAttribute, itemId, id);
return /*#__PURE__*/_jsx(React.Fragment, {
children: wrapItem({
children,
itemId,
store,
idAttribute
})
});
}
process.env.NODE_ENV !== "production" ? TreeItemProvider.propTypes /* remove-proptypes */ = {
// ----------------------------- Warning --------------------------------
// | These PropTypes are generated from the TypeScript type definitions |
// | To update them edit the TypeScript types and run "pnpm proptypes" |
// ----------------------------------------------------------------------
children: PropTypes.node,
id: PropTypes.string,
itemId: PropTypes.string.isRequired
} : void 0;
export { TreeItemProvider };
@@ -0,0 +1,7 @@
import type * as React from 'react';
import type { TreeViewItemId } from "../models/index.mjs";
export interface TreeItemProviderProps {
children: React.ReactNode;
itemId: TreeViewItemId;
id: string | undefined;
}

Some files were not shown because too many files have changed in this diff Show More