1 | "use strict";
|
2 | 'use client';
|
3 |
|
4 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
5 | var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
6 | Object.defineProperty(exports, "__esModule", {
|
7 | value: true
|
8 | });
|
9 | exports.default = void 0;
|
10 | var React = _interopRequireWildcard(require("react"));
|
11 | var _clsx = _interopRequireDefault(require("clsx"));
|
12 | var _propTypes = _interopRequireDefault(require("prop-types"));
|
13 | var _composeClasses = _interopRequireDefault(require("@mui/utils/composeClasses"));
|
14 | var _capitalize = _interopRequireDefault(require("../utils/capitalize"));
|
15 | var _styled = _interopRequireDefault(require("../styles/styled"));
|
16 | var _useTheme = _interopRequireDefault(require("../styles/useTheme"));
|
17 | var _hiddenCssClasses = require("./hiddenCssClasses");
|
18 | var _jsxRuntime = require("react/jsx-runtime");
|
19 | const useUtilityClasses = ownerState => {
|
20 | const {
|
21 | classes,
|
22 | breakpoints
|
23 | } = ownerState;
|
24 | const slots = {
|
25 | root: ['root', ...breakpoints.map(({
|
26 | breakpoint,
|
27 | dir
|
28 | }) => {
|
29 | return dir === 'only' ? `${dir}${(0, _capitalize.default)(breakpoint)}` : `${breakpoint}${(0, _capitalize.default)(dir)}`;
|
30 | })]
|
31 | };
|
32 | return (0, _composeClasses.default)(slots, _hiddenCssClasses.getHiddenCssUtilityClass, classes);
|
33 | };
|
34 |
|
35 |
|
36 | const HiddenCssRoot = (0, _styled.default)('div', {
|
37 | name: 'PrivateHiddenCss',
|
38 | slot: 'Root'
|
39 | })(({
|
40 | theme,
|
41 | ownerState
|
42 | }) => {
|
43 | const hidden = {
|
44 | display: 'none'
|
45 | };
|
46 | return {
|
47 | ...ownerState.breakpoints.map(({
|
48 | breakpoint,
|
49 | dir
|
50 | }) => {
|
51 | if (dir === 'only') {
|
52 | return {
|
53 | [theme.breakpoints.only(breakpoint)]: hidden
|
54 | };
|
55 | }
|
56 | return dir === 'up' ? {
|
57 | [theme.breakpoints.up(breakpoint)]: hidden
|
58 | } : {
|
59 | [theme.breakpoints.down(breakpoint)]: hidden
|
60 | };
|
61 | }).reduce((r, o) => {
|
62 | Object.keys(o).forEach(k => {
|
63 | r[k] = o[k];
|
64 | });
|
65 | return r;
|
66 | }, {})
|
67 | };
|
68 | });
|
69 |
|
70 |
|
71 |
|
72 |
|
73 | function HiddenCss(props) {
|
74 | const {
|
75 | children,
|
76 | className,
|
77 | only,
|
78 | ...other
|
79 | } = props;
|
80 | const theme = (0, _useTheme.default)();
|
81 | if (process.env.NODE_ENV !== 'production') {
|
82 | const unknownProps = Object.keys(other).filter(propName => {
|
83 | const isUndeclaredBreakpoint = !theme.breakpoints.keys.some(breakpoint => {
|
84 | return `${breakpoint}Up` === propName || `${breakpoint}Down` === propName;
|
85 | });
|
86 | return !['classes', 'theme', 'isRtl', 'sx'].includes(propName) && isUndeclaredBreakpoint;
|
87 | });
|
88 | if (unknownProps.length > 0) {
|
89 | console.error(`MUI: Unsupported props received by \`<Hidden implementation="css" />\`: ${unknownProps.join(', ')}. Did you forget to wrap this component in a ThemeProvider declaring these breakpoints?`);
|
90 | }
|
91 | }
|
92 | const breakpoints = [];
|
93 | for (let i = 0; i < theme.breakpoints.keys.length; i += 1) {
|
94 | const breakpoint = theme.breakpoints.keys[i];
|
95 | const breakpointUp = other[`${breakpoint}Up`];
|
96 | const breakpointDown = other[`${breakpoint}Down`];
|
97 | if (breakpointUp) {
|
98 | breakpoints.push({
|
99 | breakpoint,
|
100 | dir: 'up'
|
101 | });
|
102 | }
|
103 | if (breakpointDown) {
|
104 | breakpoints.push({
|
105 | breakpoint,
|
106 | dir: 'down'
|
107 | });
|
108 | }
|
109 | }
|
110 | if (only) {
|
111 | const onlyBreakpoints = Array.isArray(only) ? only : [only];
|
112 | onlyBreakpoints.forEach(breakpoint => {
|
113 | breakpoints.push({
|
114 | breakpoint,
|
115 | dir: 'only'
|
116 | });
|
117 | });
|
118 | }
|
119 | const ownerState = {
|
120 | ...props,
|
121 | breakpoints
|
122 | };
|
123 | const classes = useUtilityClasses(ownerState);
|
124 | return (0, _jsxRuntime.jsx)(HiddenCssRoot, {
|
125 | className: (0, _clsx.default)(classes.root, className),
|
126 | ownerState: ownerState,
|
127 | children: children
|
128 | });
|
129 | }
|
130 | process.env.NODE_ENV !== "production" ? HiddenCss.propTypes = {
|
131 | |
132 |
|
133 |
|
134 | children: _propTypes.default.node,
|
135 | |
136 |
|
137 |
|
138 | className: _propTypes.default.string,
|
139 | |
140 |
|
141 |
|
142 |
|
143 | implementation: _propTypes.default.oneOf(['js', 'css']),
|
144 | |
145 |
|
146 |
|
147 | lgDown: _propTypes.default.bool,
|
148 | |
149 |
|
150 |
|
151 | lgUp: _propTypes.default.bool,
|
152 | |
153 |
|
154 |
|
155 | mdDown: _propTypes.default.bool,
|
156 | |
157 |
|
158 |
|
159 | mdUp: _propTypes.default.bool,
|
160 | |
161 |
|
162 |
|
163 | only: _propTypes.default.oneOfType([_propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl']), _propTypes.default.arrayOf(_propTypes.default.oneOf(['xs', 'sm', 'md', 'lg', 'xl']))]),
|
164 | |
165 |
|
166 |
|
167 | smDown: _propTypes.default.bool,
|
168 | |
169 |
|
170 |
|
171 | smUp: _propTypes.default.bool,
|
172 | |
173 |
|
174 |
|
175 | xlDown: _propTypes.default.bool,
|
176 | |
177 |
|
178 |
|
179 | xlUp: _propTypes.default.bool,
|
180 | |
181 |
|
182 |
|
183 | xsDown: _propTypes.default.bool,
|
184 | |
185 |
|
186 |
|
187 | xsUp: _propTypes.default.bool
|
188 | } : void 0;
|
189 | var _default = exports.default = HiddenCss; |
\ | No newline at end of file |