UNPKG

4.64 kBJavaScriptView Raw
1"use strict";
2'use client';
3
4var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6Object.defineProperty(exports, "__esModule", {
7 value: true
8});
9exports.default = void 0;
10var React = _interopRequireWildcard(require("react"));
11var _propTypes = _interopRequireDefault(require("prop-types"));
12var _clsx = _interopRequireDefault(require("clsx"));
13var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
14var _zeroStyled = require("../zero-styled");
15var _memoTheme = _interopRequireDefault(require("../utils/memoTheme"));
16var _DefaultPropsProvider = require("../DefaultPropsProvider");
17var _toolbarClasses = require("./toolbarClasses");
18var _jsxRuntime = require("react/jsx-runtime");
19const useUtilityClasses = ownerState => {
20 const {
21 classes,
22 disableGutters,
23 variant
24 } = ownerState;
25 const slots = {
26 root: ['root', !disableGutters && 'gutters', variant]
27 };
28 return (0, _composeClasses.default)(slots, _toolbarClasses.getToolbarUtilityClass, classes);
29};
30const ToolbarRoot = (0, _zeroStyled.styled)('div', {
31 name: 'MuiToolbar',
32 slot: 'Root',
33 overridesResolver: (props, styles) => {
34 const {
35 ownerState
36 } = props;
37 return [styles.root, !ownerState.disableGutters && styles.gutters, styles[ownerState.variant]];
38 }
39})((0, _memoTheme.default)(({
40 theme
41}) => ({
42 position: 'relative',
43 display: 'flex',
44 alignItems: 'center',
45 variants: [{
46 props: ({
47 ownerState
48 }) => !ownerState.disableGutters,
49 style: {
50 paddingLeft: theme.spacing(2),
51 paddingRight: theme.spacing(2),
52 [theme.breakpoints.up('sm')]: {
53 paddingLeft: theme.spacing(3),
54 paddingRight: theme.spacing(3)
55 }
56 }
57 }, {
58 props: {
59 variant: 'dense'
60 },
61 style: {
62 minHeight: 48
63 }
64 }, {
65 props: {
66 variant: 'regular'
67 },
68 style: theme.mixins.toolbar
69 }]
70})));
71const Toolbar = /*#__PURE__*/React.forwardRef(function Toolbar(inProps, ref) {
72 const props = (0, _DefaultPropsProvider.useDefaultProps)({
73 props: inProps,
74 name: 'MuiToolbar'
75 });
76 const {
77 className,
78 component = 'div',
79 disableGutters = false,
80 variant = 'regular',
81 ...other
82 } = props;
83 const ownerState = {
84 ...props,
85 component,
86 disableGutters,
87 variant
88 };
89 const classes = useUtilityClasses(ownerState);
90 return /*#__PURE__*/(0, _jsxRuntime.jsx)(ToolbarRoot, {
91 as: component,
92 className: (0, _clsx.default)(classes.root, className),
93 ref: ref,
94 ownerState: ownerState,
95 ...other
96 });
97});
98process.env.NODE_ENV !== "production" ? Toolbar.propTypes /* remove-proptypes */ = {
99 // ┌────────────────────────────── Warning ──────────────────────────────┐
100 // │ These PropTypes are generated from the TypeScript type definitions. │
101 // │ To update them, edit the d.ts file and run `pnpm proptypes`. │
102 // └─────────────────────────────────────────────────────────────────────┘
103 /**
104 * The Toolbar children, usually a mixture of `IconButton`, `Button` and `Typography`.
105 * The Toolbar is a flex container, allowing flex item properties to be used to lay out the children.
106 */
107 children: _propTypes.default.node,
108 /**
109 * Override or extend the styles applied to the component.
110 */
111 classes: _propTypes.default.object,
112 /**
113 * @ignore
114 */
115 className: _propTypes.default.string,
116 /**
117 * The component used for the root node.
118 * Either a string to use a HTML element or a component.
119 */
120 component: _propTypes.default.elementType,
121 /**
122 * If `true`, disables gutter padding.
123 * @default false
124 */
125 disableGutters: _propTypes.default.bool,
126 /**
127 * The system prop that allows defining system overrides as well as additional CSS styles.
128 */
129 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]),
130 /**
131 * The variant to use.
132 * @default 'regular'
133 */
134 variant: _propTypes.default /* @typescript-to-proptypes-ignore */.oneOfType([_propTypes.default.oneOf(['dense', 'regular']), _propTypes.default.string])
135} : void 0;
136var _default = exports.default = Toolbar;
\No newline at end of file