neue Homepage auf react basis

This commit is contained in:
2026-08-07 21:39:30 +02:00
parent 164bdd19ad
commit ee89442c04
52191 changed files with 1230242 additions and 58 deletions
@@ -0,0 +1,17 @@
import * as React from 'react';
import type { GridSlotProps } from "../../models/gridSlotsComponentsProps.mjs";
interface GridToolbarInternalProps {
mainControls?: React.ReactNode;
additionalExportMenuItems?: (onMenuItemClick: () => void) => React.ReactNode;
}
export type GridToolbarProps = GridSlotProps['toolbar'] & GridToolbarInternalProps;
declare function GridToolbarDivider(props: GridSlotProps['baseDivider']): React.JSX.Element;
declare namespace GridToolbarDivider {
var propTypes: any;
}
declare function GridToolbarLabel(props: React.HTMLAttributes<HTMLSpanElement>): React.JSX.Element;
declare function GridToolbar(props: GridToolbarProps): React.JSX.Element;
declare namespace GridToolbar {
var propTypes: any;
}
export { GridToolbar, GridToolbarDivider, GridToolbarLabel };
@@ -0,0 +1,17 @@
import * as React from 'react';
import type { GridSlotProps } from "../../models/gridSlotsComponentsProps.js";
interface GridToolbarInternalProps {
mainControls?: React.ReactNode;
additionalExportMenuItems?: (onMenuItemClick: () => void) => React.ReactNode;
}
export type GridToolbarProps = GridSlotProps['toolbar'] & GridToolbarInternalProps;
declare function GridToolbarDivider(props: GridSlotProps['baseDivider']): React.JSX.Element;
declare namespace GridToolbarDivider {
var propTypes: any;
}
declare function GridToolbarLabel(props: React.HTMLAttributes<HTMLSpanElement>): React.JSX.Element;
declare function GridToolbar(props: GridToolbarProps): React.JSX.Element;
declare namespace GridToolbar {
var propTypes: any;
}
export { GridToolbar, GridToolbarDivider, GridToolbarLabel };
@@ -0,0 +1,214 @@
"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.GridToolbar = GridToolbar;
exports.GridToolbarDivider = GridToolbarDivider;
exports.GridToolbarLabel = GridToolbarLabel;
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 _useId = _interopRequireDefault(require("@mui/utils/useId"));
var _styles = require("@mui/material/styles");
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
var _GridMenu = require("../menu/GridMenu");
var _Toolbar = require("./Toolbar");
var _ToolbarButton = require("./ToolbarButton");
var _filterPanel = require("../filterPanel");
var _columnsPanel = require("../columnsPanel");
var _export = require("../export");
var _GridToolbarQuickFilter = require("../toolbar/GridToolbarQuickFilter");
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
var _useGridApiContext = require("../../hooks/utils/useGridApiContext");
var _assert = require("../../utils/assert");
var _cssVariables = require("../../constants/cssVariables");
var _gridClasses = require("../../constants/gridClasses");
var _jsxRuntime = require("react/jsx-runtime");
const _excluded = ["className"],
_excluded2 = ["className"],
_excluded3 = ["showQuickFilter", "quickFilterProps", "csvOptions", "printOptions", "mainControls", "additionalExportMenuItems"];
const useUtilityClasses = ownerState => {
const {
classes
} = ownerState;
const slots = {
divider: ['toolbarDivider'],
label: ['toolbarLabel']
};
return (0, _composeClasses.default)(slots, _gridClasses.getDataGridUtilityClass, classes);
};
const Divider = (0, _styles.styled)(_assert.NotRendered, {
name: 'MuiDataGrid',
slot: 'ToolbarDivider'
})({
height: '50%',
margin: _cssVariables.vars.spacing(0, 0.5)
});
const Label = (0, _styles.styled)('span', {
name: 'MuiDataGrid',
slot: 'ToolbarLabel'
})({
flex: 1,
font: _cssVariables.vars.typography.font.large,
fontWeight: _cssVariables.vars.typography.fontWeight.medium,
margin: _cssVariables.vars.spacing(0, 0.5),
textOverflow: 'ellipsis',
overflow: 'hidden',
whiteSpace: 'nowrap'
});
function GridToolbarDivider(props) {
const other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
const rootProps = (0, _useGridRootProps.useGridRootProps)();
const classes = useUtilityClasses(rootProps);
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Divider, (0, _extends2.default)({
as: rootProps.slots.baseDivider,
orientation: "vertical",
className: classes.divider
}, other));
}
process.env.NODE_ENV !== "production" ? GridToolbarDivider.propTypes /* remove-proptypes */ = {
// ----------------------------- Warning --------------------------------
// | These PropTypes are generated from the TypeScript type definitions |
// | To update them edit the TypeScript types and run "pnpm proptypes" |
// ----------------------------------------------------------------------
className: _propTypes.default.string,
orientation: _propTypes.default.oneOf(['horizontal', 'vertical'])
} : void 0;
function GridToolbarLabel(props) {
const other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded2);
const rootProps = (0, _useGridRootProps.useGridRootProps)();
const classes = useUtilityClasses(rootProps);
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Label, (0, _extends2.default)({
className: classes.label
}, other));
}
function GridToolbar(props) {
const {
showQuickFilter = true,
quickFilterProps,
csvOptions,
printOptions,
mainControls,
additionalExportMenuItems
} = props,
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded3);
const apiRef = (0, _useGridApiContext.useGridApiContext)();
const rootProps = (0, _useGridRootProps.useGridRootProps)();
const [exportMenuOpen, setExportMenuOpen] = React.useState(false);
const exportMenuTriggerRef = React.useRef(null);
const exportMenuId = (0, _useId.default)();
const exportMenuTriggerId = (0, _useId.default)();
const showExportMenu = !csvOptions?.disableToolbarButton || !printOptions?.disableToolbarButton || additionalExportMenuItems;
const closeExportMenu = () => setExportMenuOpen(false);
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Toolbar.Toolbar, (0, _extends2.default)({}, other, {
children: [rootProps.label && /*#__PURE__*/(0, _jsxRuntime.jsx)(GridToolbarLabel, {
children: rootProps.label
}), mainControls || /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
children: [!rootProps.disableColumnSelector && /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTooltip, {
title: apiRef.current.getLocaleText('toolbarColumns'),
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_columnsPanel.ColumnsPanelTrigger, {
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ToolbarButton.ToolbarButton, {}),
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.columnSelectorIcon, {
fontSize: "small"
})
})
}), !rootProps.disableColumnFilter && /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTooltip, {
title: apiRef.current.getLocaleText('toolbarFilters'),
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_filterPanel.FilterPanelTrigger, {
render: (triggerProps, state) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_ToolbarButton.ToolbarButton, (0, _extends2.default)({}, triggerProps, {
color: state.filterCount > 0 ? 'primary' : 'default',
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseBadge, {
badgeContent: state.filterCount,
color: "primary",
variant: "dot",
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.openFilterButtonIcon, {
fontSize: "small"
})
})
}))
})
})]
}), showExportMenu && (!rootProps.disableColumnFilter || !rootProps.disableColumnSelector) && /*#__PURE__*/(0, _jsxRuntime.jsx)(GridToolbarDivider, {}), showExportMenu && /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseTooltip, {
title: apiRef.current.getLocaleText('toolbarExport'),
disableInteractive: exportMenuOpen,
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ToolbarButton.ToolbarButton, {
ref: exportMenuTriggerRef,
id: exportMenuTriggerId,
"aria-controls": exportMenuId,
"aria-haspopup": "true",
"aria-expanded": exportMenuOpen ? 'true' : undefined,
onClick: () => setExportMenuOpen(!exportMenuOpen),
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.exportIcon, {
fontSize: "small"
})
})
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridMenu.GridMenu, {
target: exportMenuTriggerRef.current,
open: exportMenuOpen,
onClose: closeExportMenu,
position: "bottom-end",
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(rootProps.slots.baseMenuList, (0, _extends2.default)({
id: exportMenuId,
"aria-labelledby": exportMenuTriggerId,
autoFocusItem: true
}, rootProps.slotProps?.baseMenuList, {
children: [!printOptions?.disableToolbarButton && /*#__PURE__*/(0, _jsxRuntime.jsx)(_export.ExportPrint, {
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseMenuItem, (0, _extends2.default)({}, rootProps.slotProps?.baseMenuItem)),
options: printOptions,
onClick: closeExportMenu,
children: apiRef.current.getLocaleText('toolbarExportPrint')
}), !csvOptions?.disableToolbarButton && /*#__PURE__*/(0, _jsxRuntime.jsx)(_export.ExportCsv, {
render: /*#__PURE__*/(0, _jsxRuntime.jsx)(rootProps.slots.baseMenuItem, (0, _extends2.default)({}, rootProps.slotProps?.baseMenuItem)),
options: csvOptions,
onClick: closeExportMenu,
children: apiRef.current.getLocaleText('toolbarExportCSV')
}), additionalExportMenuItems?.(closeExportMenu)]
}))
})]
}), showQuickFilter && /*#__PURE__*/(0, _jsxRuntime.jsxs)(React.Fragment, {
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(GridToolbarDivider, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_GridToolbarQuickFilter.GridToolbarQuickFilter, (0, _extends2.default)({}, quickFilterProps))]
})]
}));
}
process.env.NODE_ENV !== "production" ? GridToolbar.propTypes /* remove-proptypes */ = {
// ----------------------------- Warning --------------------------------
// | These PropTypes are generated from the TypeScript type definitions |
// | To update them edit the TypeScript types and run "pnpm proptypes" |
// ----------------------------------------------------------------------
additionalExportMenuItems: _propTypes.default.func,
csvOptions: _propTypes.default.object,
mainControls: _propTypes.default.node,
printOptions: _propTypes.default.object,
/**
* Props passed to the quick filter component.
*/
quickFilterProps: _propTypes.default.shape({
className: _propTypes.default.string,
debounceMs: _propTypes.default.number,
quickFilterFormatter: _propTypes.default.func,
quickFilterParser: _propTypes.default.func,
slotProps: _propTypes.default.object
}),
/**
* Show the history controls (undo/redo buttons).
* @default true
*/
showHistoryControls: _propTypes.default.bool,
/**
* Show the quick filter component.
* @default true
*/
showQuickFilter: _propTypes.default.bool,
/**
* The props used for each slot inside.
* @default {}
*/
slotProps: _propTypes.default.object,
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,206 @@
'use client';
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
const _excluded = ["className"],
_excluded2 = ["className"],
_excluded3 = ["showQuickFilter", "quickFilterProps", "csvOptions", "printOptions", "mainControls", "additionalExportMenuItems"];
import * as React from 'react';
import PropTypes from 'prop-types';
import useId from '@mui/utils/useId';
import { styled } from '@mui/material/styles';
import composeClasses from '@mui/utils/composeClasses';
import { GridMenu } from "../menu/GridMenu.mjs";
import { Toolbar } from "./Toolbar.mjs";
import { ToolbarButton } from "./ToolbarButton.mjs";
import { FilterPanelTrigger } from "../filterPanel/index.mjs";
import { ColumnsPanelTrigger } from "../columnsPanel/index.mjs";
import { ExportCsv, ExportPrint } from "../export/index.mjs";
import { GridToolbarQuickFilter } from "../toolbar/GridToolbarQuickFilter.mjs";
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.mjs";
import { useGridApiContext } from "../../hooks/utils/useGridApiContext.mjs";
import { NotRendered } from "../../utils/assert.mjs";
import { vars } from "../../constants/cssVariables.mjs";
import { getDataGridUtilityClass } from "../../constants/gridClasses.mjs";
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
const useUtilityClasses = ownerState => {
const {
classes
} = ownerState;
const slots = {
divider: ['toolbarDivider'],
label: ['toolbarLabel']
};
return composeClasses(slots, getDataGridUtilityClass, classes);
};
const Divider = styled(NotRendered, {
name: 'MuiDataGrid',
slot: 'ToolbarDivider'
})({
height: '50%',
margin: vars.spacing(0, 0.5)
});
const Label = styled('span', {
name: 'MuiDataGrid',
slot: 'ToolbarLabel'
})({
flex: 1,
font: vars.typography.font.large,
fontWeight: vars.typography.fontWeight.medium,
margin: vars.spacing(0, 0.5),
textOverflow: 'ellipsis',
overflow: 'hidden',
whiteSpace: 'nowrap'
});
function GridToolbarDivider(props) {
const other = _objectWithoutPropertiesLoose(props, _excluded);
const rootProps = useGridRootProps();
const classes = useUtilityClasses(rootProps);
return /*#__PURE__*/_jsx(Divider, _extends({
as: rootProps.slots.baseDivider,
orientation: "vertical",
className: classes.divider
}, other));
}
process.env.NODE_ENV !== "production" ? GridToolbarDivider.propTypes /* remove-proptypes */ = {
// ----------------------------- Warning --------------------------------
// | These PropTypes are generated from the TypeScript type definitions |
// | To update them edit the TypeScript types and run "pnpm proptypes" |
// ----------------------------------------------------------------------
className: PropTypes.string,
orientation: PropTypes.oneOf(['horizontal', 'vertical'])
} : void 0;
function GridToolbarLabel(props) {
const other = _objectWithoutPropertiesLoose(props, _excluded2);
const rootProps = useGridRootProps();
const classes = useUtilityClasses(rootProps);
return /*#__PURE__*/_jsx(Label, _extends({
className: classes.label
}, other));
}
function GridToolbar(props) {
const {
showQuickFilter = true,
quickFilterProps,
csvOptions,
printOptions,
mainControls,
additionalExportMenuItems
} = props,
other = _objectWithoutPropertiesLoose(props, _excluded3);
const apiRef = useGridApiContext();
const rootProps = useGridRootProps();
const [exportMenuOpen, setExportMenuOpen] = React.useState(false);
const exportMenuTriggerRef = React.useRef(null);
const exportMenuId = useId();
const exportMenuTriggerId = useId();
const showExportMenu = !csvOptions?.disableToolbarButton || !printOptions?.disableToolbarButton || additionalExportMenuItems;
const closeExportMenu = () => setExportMenuOpen(false);
return /*#__PURE__*/_jsxs(Toolbar, _extends({}, other, {
children: [rootProps.label && /*#__PURE__*/_jsx(GridToolbarLabel, {
children: rootProps.label
}), mainControls || /*#__PURE__*/_jsxs(React.Fragment, {
children: [!rootProps.disableColumnSelector && /*#__PURE__*/_jsx(rootProps.slots.baseTooltip, {
title: apiRef.current.getLocaleText('toolbarColumns'),
children: /*#__PURE__*/_jsx(ColumnsPanelTrigger, {
render: /*#__PURE__*/_jsx(ToolbarButton, {}),
children: /*#__PURE__*/_jsx(rootProps.slots.columnSelectorIcon, {
fontSize: "small"
})
})
}), !rootProps.disableColumnFilter && /*#__PURE__*/_jsx(rootProps.slots.baseTooltip, {
title: apiRef.current.getLocaleText('toolbarFilters'),
children: /*#__PURE__*/_jsx(FilterPanelTrigger, {
render: (triggerProps, state) => /*#__PURE__*/_jsx(ToolbarButton, _extends({}, triggerProps, {
color: state.filterCount > 0 ? 'primary' : 'default',
children: /*#__PURE__*/_jsx(rootProps.slots.baseBadge, {
badgeContent: state.filterCount,
color: "primary",
variant: "dot",
children: /*#__PURE__*/_jsx(rootProps.slots.openFilterButtonIcon, {
fontSize: "small"
})
})
}))
})
})]
}), showExportMenu && (!rootProps.disableColumnFilter || !rootProps.disableColumnSelector) && /*#__PURE__*/_jsx(GridToolbarDivider, {}), showExportMenu && /*#__PURE__*/_jsxs(React.Fragment, {
children: [/*#__PURE__*/_jsx(rootProps.slots.baseTooltip, {
title: apiRef.current.getLocaleText('toolbarExport'),
disableInteractive: exportMenuOpen,
children: /*#__PURE__*/_jsx(ToolbarButton, {
ref: exportMenuTriggerRef,
id: exportMenuTriggerId,
"aria-controls": exportMenuId,
"aria-haspopup": "true",
"aria-expanded": exportMenuOpen ? 'true' : undefined,
onClick: () => setExportMenuOpen(!exportMenuOpen),
children: /*#__PURE__*/_jsx(rootProps.slots.exportIcon, {
fontSize: "small"
})
})
}), /*#__PURE__*/_jsx(GridMenu, {
target: exportMenuTriggerRef.current,
open: exportMenuOpen,
onClose: closeExportMenu,
position: "bottom-end",
children: /*#__PURE__*/_jsxs(rootProps.slots.baseMenuList, _extends({
id: exportMenuId,
"aria-labelledby": exportMenuTriggerId,
autoFocusItem: true
}, rootProps.slotProps?.baseMenuList, {
children: [!printOptions?.disableToolbarButton && /*#__PURE__*/_jsx(ExportPrint, {
render: /*#__PURE__*/_jsx(rootProps.slots.baseMenuItem, _extends({}, rootProps.slotProps?.baseMenuItem)),
options: printOptions,
onClick: closeExportMenu,
children: apiRef.current.getLocaleText('toolbarExportPrint')
}), !csvOptions?.disableToolbarButton && /*#__PURE__*/_jsx(ExportCsv, {
render: /*#__PURE__*/_jsx(rootProps.slots.baseMenuItem, _extends({}, rootProps.slotProps?.baseMenuItem)),
options: csvOptions,
onClick: closeExportMenu,
children: apiRef.current.getLocaleText('toolbarExportCSV')
}), additionalExportMenuItems?.(closeExportMenu)]
}))
})]
}), showQuickFilter && /*#__PURE__*/_jsxs(React.Fragment, {
children: [/*#__PURE__*/_jsx(GridToolbarDivider, {}), /*#__PURE__*/_jsx(GridToolbarQuickFilter, _extends({}, quickFilterProps))]
})]
}));
}
process.env.NODE_ENV !== "production" ? GridToolbar.propTypes /* remove-proptypes */ = {
// ----------------------------- Warning --------------------------------
// | These PropTypes are generated from the TypeScript type definitions |
// | To update them edit the TypeScript types and run "pnpm proptypes" |
// ----------------------------------------------------------------------
additionalExportMenuItems: PropTypes.func,
csvOptions: PropTypes.object,
mainControls: PropTypes.node,
printOptions: PropTypes.object,
/**
* Props passed to the quick filter component.
*/
quickFilterProps: PropTypes.shape({
className: PropTypes.string,
debounceMs: PropTypes.number,
quickFilterFormatter: PropTypes.func,
quickFilterParser: PropTypes.func,
slotProps: PropTypes.object
}),
/**
* Show the history controls (undo/redo buttons).
* @default true
*/
showHistoryControls: PropTypes.bool,
/**
* Show the quick filter component.
* @default true
*/
showQuickFilter: PropTypes.bool,
/**
* The props used for each slot inside.
* @default {}
*/
slotProps: PropTypes.object,
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])
} : void 0;
export { GridToolbar, GridToolbarDivider, GridToolbarLabel };
@@ -0,0 +1,28 @@
import * as React from 'react';
import type { RenderProp } from '@mui/x-internals/useComponentRenderer';
export type ToolbarProps = React.HTMLAttributes<HTMLDivElement> & {
/**
* A function to customize rendering of the component.
*/
render?: RenderProp<React.ComponentProps<typeof ToolbarRoot>>;
};
declare const ToolbarRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement>>, {}>;
/**
* The top level Toolbar component that provides context to child components.
* It renders a styled `<div />` element.
*
* Demos:
*
* - [Toolbar](https://mui.com/x/react-data-grid/components/toolbar/)
*
* API:
*
* - [Toolbar API](https://mui.com/x/api/data-grid/toolbar/)
*/
declare const Toolbar: React.ForwardRefExoticComponent<ToolbarProps> | React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
/**
* A function to customize rendering of the component.
*/
render?: RenderProp<React.ComponentProps<typeof ToolbarRoot>>;
} & React.RefAttributes<HTMLDivElement>>;
export { Toolbar };
@@ -0,0 +1,28 @@
import * as React from 'react';
import type { RenderProp } from '@mui/x-internals/useComponentRenderer';
export type ToolbarProps = React.HTMLAttributes<HTMLDivElement> & {
/**
* A function to customize rendering of the component.
*/
render?: RenderProp<React.ComponentProps<typeof ToolbarRoot>>;
};
declare const ToolbarRoot: import("@emotion/styled").StyledComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/material/styles").Theme>, Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof React.ClassAttributes<HTMLDivElement> | keyof React.HTMLAttributes<HTMLDivElement>>, {}>;
/**
* The top level Toolbar component that provides context to child components.
* It renders a styled `<div />` element.
*
* Demos:
*
* - [Toolbar](https://mui.com/x/react-data-grid/components/toolbar/)
*
* API:
*
* - [Toolbar API](https://mui.com/x/api/data-grid/toolbar/)
*/
declare const Toolbar: React.ForwardRefExoticComponent<ToolbarProps> | React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
/**
* A function to customize rendering of the component.
*/
render?: RenderProp<React.ComponentProps<typeof ToolbarRoot>>;
} & React.RefAttributes<HTMLDivElement>>;
export { Toolbar };
+91
View File
@@ -0,0 +1,91 @@
"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.Toolbar = void 0;
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 _styles = require("@mui/material/styles");
var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
var _clsx = _interopRequireDefault(require("clsx"));
var _forwardRef = require("@mui/x-internals/forwardRef");
var _useComponentRenderer = require("@mui/x-internals/useComponentRenderer");
var _ToolbarContext = require("@mui/x-internals/ToolbarContext");
var _cssVariables = require("../../constants/cssVariables");
var _gridClasses = require("../../constants/gridClasses");
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
var _jsxRuntime = require("react/jsx-runtime");
const _excluded = ["render", "className"];
const useUtilityClasses = ownerState => {
const {
classes
} = ownerState;
const slots = {
root: ['toolbar']
};
return (0, _composeClasses.default)(slots, _gridClasses.getDataGridUtilityClass, classes);
};
const ToolbarRoot = (0, _styles.styled)('div', {
name: 'MuiDataGrid',
slot: 'Toolbar'
})({
flex: '0 1 1px',
display: 'flex',
alignItems: 'center',
justifyContent: 'end',
gap: _cssVariables.vars.spacing(0.25),
padding: _cssVariables.vars.spacing(0.75),
minHeight: 52,
boxSizing: 'border-box',
borderBottom: `1px solid ${_cssVariables.vars.colors.border.base}`
});
/**
* The top level Toolbar component that provides context to child components.
* It renders a styled `<div />` element.
*
* Demos:
*
* - [Toolbar](https://mui.com/x/react-data-grid/components/toolbar/)
*
* API:
*
* - [Toolbar API](https://mui.com/x/api/data-grid/toolbar/)
*/
const Toolbar = exports.Toolbar = (0, _forwardRef.forwardRef)(function Toolbar(props, ref) {
const {
render,
className
} = props,
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
const rootProps = (0, _useGridRootProps.useGridRootProps)();
const classes = useUtilityClasses(rootProps);
const element = (0, _useComponentRenderer.useComponentRenderer)(ToolbarRoot, render, (0, _extends2.default)({
role: 'toolbar',
'aria-orientation': 'horizontal',
'aria-label': rootProps.label || undefined,
className: (0, _clsx.default)(classes.root, className)
}, other, {
ref
}));
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ToolbarContext.ToolbarContextProvider, {
children: element
});
});
if (process.env.NODE_ENV !== "production") Toolbar.displayName = "Toolbar";
process.env.NODE_ENV !== "production" ? Toolbar.propTypes /* remove-proptypes */ = {
// ----------------------------- Warning --------------------------------
// | These PropTypes are generated from the TypeScript type definitions |
// | To update them edit the TypeScript types and run "pnpm proptypes" |
// ----------------------------------------------------------------------
/**
* A function to customize rendering of the component.
*/
render: _propTypes.default.oneOfType([_propTypes.default.element, _propTypes.default.func])
} : void 0;
+85
View File
@@ -0,0 +1,85 @@
'use client';
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
const _excluded = ["render", "className"];
import * as React from 'react';
import PropTypes from 'prop-types';
import { styled } from '@mui/material/styles';
import composeClasses from '@mui/utils/composeClasses';
import clsx from 'clsx';
import { forwardRef } from '@mui/x-internals/forwardRef';
import { useComponentRenderer } from '@mui/x-internals/useComponentRenderer';
import { ToolbarContextProvider } from '@mui/x-internals/ToolbarContext';
import { vars } from "../../constants/cssVariables.mjs";
import { getDataGridUtilityClass } from "../../constants/gridClasses.mjs";
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.mjs";
import { jsx as _jsx } from "react/jsx-runtime";
const useUtilityClasses = ownerState => {
const {
classes
} = ownerState;
const slots = {
root: ['toolbar']
};
return composeClasses(slots, getDataGridUtilityClass, classes);
};
const ToolbarRoot = styled('div', {
name: 'MuiDataGrid',
slot: 'Toolbar'
})({
flex: '0 1 1px',
display: 'flex',
alignItems: 'center',
justifyContent: 'end',
gap: vars.spacing(0.25),
padding: vars.spacing(0.75),
minHeight: 52,
boxSizing: 'border-box',
borderBottom: `1px solid ${vars.colors.border.base}`
});
/**
* The top level Toolbar component that provides context to child components.
* It renders a styled `<div />` element.
*
* Demos:
*
* - [Toolbar](https://mui.com/x/react-data-grid/components/toolbar/)
*
* API:
*
* - [Toolbar API](https://mui.com/x/api/data-grid/toolbar/)
*/
const Toolbar = forwardRef(function Toolbar(props, ref) {
const {
render,
className
} = props,
other = _objectWithoutPropertiesLoose(props, _excluded);
const rootProps = useGridRootProps();
const classes = useUtilityClasses(rootProps);
const element = useComponentRenderer(ToolbarRoot, render, _extends({
role: 'toolbar',
'aria-orientation': 'horizontal',
'aria-label': rootProps.label || undefined,
className: clsx(classes.root, className)
}, other, {
ref
}));
return /*#__PURE__*/_jsx(ToolbarContextProvider, {
children: element
});
});
if (process.env.NODE_ENV !== "production") Toolbar.displayName = "Toolbar";
process.env.NODE_ENV !== "production" ? Toolbar.propTypes /* remove-proptypes */ = {
// ----------------------------- Warning --------------------------------
// | These PropTypes are generated from the TypeScript type definitions |
// | To update them edit the TypeScript types and run "pnpm proptypes" |
// ----------------------------------------------------------------------
/**
* A function to customize rendering of the component.
*/
render: PropTypes.oneOfType([PropTypes.element, PropTypes.func])
} : void 0;
export { Toolbar };
@@ -0,0 +1,23 @@
import * as React from 'react';
import type { RenderProp } from '@mui/x-internals/useComponentRenderer';
import type { GridSlotProps } from "../../models/index.mjs";
export type ToolbarButtonProps = GridSlotProps['baseIconButton'] & {
/**
* A function to customize rendering of the component.
*/
render?: RenderProp<GridSlotProps['baseIconButton']>;
};
/**
* A button for performing actions from the toolbar.
* It renders the `baseIconButton` slot.
*
* Demos:
*
* - [Toolbar](https://mui.com/x/react-data-grid/components/toolbar/)
*
* API:
*
* - [ToolbarButton API](https://mui.com/x/api/data-grid/toolbar-button/)
*/
declare const ToolbarButton: React.ForwardRefExoticComponent<ToolbarButtonProps> | React.ForwardRefExoticComponent<Omit<ToolbarButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
export { ToolbarButton };
@@ -0,0 +1,23 @@
import * as React from 'react';
import type { RenderProp } from '@mui/x-internals/useComponentRenderer';
import type { GridSlotProps } from "../../models/index.js";
export type ToolbarButtonProps = GridSlotProps['baseIconButton'] & {
/**
* A function to customize rendering of the component.
*/
render?: RenderProp<GridSlotProps['baseIconButton']>;
};
/**
* A button for performing actions from the toolbar.
* It renders the `baseIconButton` slot.
*
* Demos:
*
* - [Toolbar](https://mui.com/x/react-data-grid/components/toolbar/)
*
* API:
*
* - [ToolbarButton API](https://mui.com/x/api/data-grid/toolbar-button/)
*/
declare const ToolbarButton: React.ForwardRefExoticComponent<ToolbarButtonProps> | React.ForwardRefExoticComponent<Omit<ToolbarButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
export { ToolbarButton };
@@ -0,0 +1,78 @@
"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.ToolbarButton = void 0;
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 _useForkRef = _interopRequireDefault(require("@mui/utils/useForkRef"));
var _forwardRef = require("@mui/x-internals/forwardRef");
var _useComponentRenderer = require("@mui/x-internals/useComponentRenderer");
var _ToolbarContext = require("@mui/x-internals/ToolbarContext");
var _useGridRootProps = require("../../hooks/utils/useGridRootProps");
var _jsxRuntime = require("react/jsx-runtime");
const _excluded = ["render", "onKeyDown", "onFocus", "onBlur", "disabled", "aria-disabled"],
_excluded2 = ["tabIndex"];
/**
* A button for performing actions from the toolbar.
* It renders the `baseIconButton` slot.
*
* Demos:
*
* - [Toolbar](https://mui.com/x/react-data-grid/components/toolbar/)
*
* API:
*
* - [ToolbarButton API](https://mui.com/x/api/data-grid/toolbar-button/)
*/
const ToolbarButton = exports.ToolbarButton = (0, _forwardRef.forwardRef)(function ToolbarButton(props, ref) {
const {
render
} = props,
other = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);
const rootProps = (0, _useGridRootProps.useGridRootProps)();
const buttonRef = React.useRef(null);
const handleRef = (0, _useForkRef.default)(buttonRef, ref);
const _useRegisterToolbarBu = (0, _ToolbarContext.useRegisterToolbarButton)(props, buttonRef),
{
tabIndex
} = _useRegisterToolbarBu,
toolbarButtonProps = (0, _objectWithoutPropertiesLoose2.default)(_useRegisterToolbarBu, _excluded2);
const element = (0, _useComponentRenderer.useComponentRenderer)(rootProps.slots.baseIconButton, render, (0, _extends2.default)({}, rootProps.slotProps?.baseIconButton, {
tabIndex
}, other, toolbarButtonProps, {
ref: handleRef
}));
return /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
children: element
});
});
if (process.env.NODE_ENV !== "production") ToolbarButton.displayName = "ToolbarButton";
process.env.NODE_ENV !== "production" ? ToolbarButton.propTypes /* remove-proptypes */ = {
// ----------------------------- Warning --------------------------------
// | These PropTypes are generated from the TypeScript type definitions |
// | To update them edit the TypeScript types and run "pnpm proptypes" |
// ----------------------------------------------------------------------
className: _propTypes.default.string,
color: _propTypes.default.oneOf(['default', 'inherit', 'primary']),
disabled: _propTypes.default.bool,
edge: _propTypes.default.oneOf(['end', 'start', false]),
id: _propTypes.default.string,
label: _propTypes.default.string,
/**
* A function to customize rendering of the component.
*/
render: _propTypes.default.oneOfType([_propTypes.default.element, _propTypes.default.func]),
role: _propTypes.default.string,
size: _propTypes.default.oneOf(['large', 'medium', 'small']),
style: _propTypes.default.object,
tabIndex: _propTypes.default.number,
title: _propTypes.default.string,
touchRippleRef: _propTypes.default.any
} : void 0;
@@ -0,0 +1,72 @@
'use client';
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
const _excluded = ["render", "onKeyDown", "onFocus", "onBlur", "disabled", "aria-disabled"],
_excluded2 = ["tabIndex"];
import * as React from 'react';
import PropTypes from 'prop-types';
import useForkRef from '@mui/utils/useForkRef';
import { forwardRef } from '@mui/x-internals/forwardRef';
import { useComponentRenderer } from '@mui/x-internals/useComponentRenderer';
import { useRegisterToolbarButton } from '@mui/x-internals/ToolbarContext';
import { useGridRootProps } from "../../hooks/utils/useGridRootProps.mjs";
import { jsx as _jsx } from "react/jsx-runtime";
/**
* A button for performing actions from the toolbar.
* It renders the `baseIconButton` slot.
*
* Demos:
*
* - [Toolbar](https://mui.com/x/react-data-grid/components/toolbar/)
*
* API:
*
* - [ToolbarButton API](https://mui.com/x/api/data-grid/toolbar-button/)
*/
const ToolbarButton = forwardRef(function ToolbarButton(props, ref) {
const {
render
} = props,
other = _objectWithoutPropertiesLoose(props, _excluded);
const rootProps = useGridRootProps();
const buttonRef = React.useRef(null);
const handleRef = useForkRef(buttonRef, ref);
const _useRegisterToolbarBu = useRegisterToolbarButton(props, buttonRef),
{
tabIndex
} = _useRegisterToolbarBu,
toolbarButtonProps = _objectWithoutPropertiesLoose(_useRegisterToolbarBu, _excluded2);
const element = useComponentRenderer(rootProps.slots.baseIconButton, render, _extends({}, rootProps.slotProps?.baseIconButton, {
tabIndex
}, other, toolbarButtonProps, {
ref: handleRef
}));
return /*#__PURE__*/_jsx(React.Fragment, {
children: element
});
});
if (process.env.NODE_ENV !== "production") ToolbarButton.displayName = "ToolbarButton";
process.env.NODE_ENV !== "production" ? ToolbarButton.propTypes /* remove-proptypes */ = {
// ----------------------------- Warning --------------------------------
// | These PropTypes are generated from the TypeScript type definitions |
// | To update them edit the TypeScript types and run "pnpm proptypes" |
// ----------------------------------------------------------------------
className: PropTypes.string,
color: PropTypes.oneOf(['default', 'inherit', 'primary']),
disabled: PropTypes.bool,
edge: PropTypes.oneOf(['end', 'start', false]),
id: PropTypes.string,
label: PropTypes.string,
/**
* A function to customize rendering of the component.
*/
render: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),
role: PropTypes.string,
size: PropTypes.oneOf(['large', 'medium', 'small']),
style: PropTypes.object,
tabIndex: PropTypes.number,
title: PropTypes.string,
touchRippleRef: PropTypes.any
} : void 0;
export { ToolbarButton };
@@ -0,0 +1,2 @@
export * from "./Toolbar.mjs";
export * from "./ToolbarButton.mjs";
@@ -0,0 +1,2 @@
export * from "./Toolbar.js";
export * from "./ToolbarButton.js";
+27
View File
@@ -0,0 +1,27 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _Toolbar = require("./Toolbar");
Object.keys(_Toolbar).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (key in exports && exports[key] === _Toolbar[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _Toolbar[key];
}
});
});
var _ToolbarButton = require("./ToolbarButton");
Object.keys(_ToolbarButton).forEach(function (key) {
if (key === "default" || key === "__esModule") return;
if (key in exports && exports[key] === _ToolbarButton[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function () {
return _ToolbarButton[key];
}
});
});
+2
View File
@@ -0,0 +1,2 @@
export * from "./Toolbar.mjs";
export * from "./ToolbarButton.mjs";