1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 |
|
5 | Object.defineProperty(exports, "__esModule", {
|
6 | value: true
|
7 | });
|
8 | exports.default = exports.styles = void 0;
|
9 |
|
10 | var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
11 |
|
12 | var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
13 |
|
14 | var _react = _interopRequireDefault(require("react"));
|
15 |
|
16 | var _propTypes = _interopRequireDefault(require("prop-types"));
|
17 |
|
18 | var _clsx = _interopRequireDefault(require("clsx"));
|
19 |
|
20 | var _ButtonBase = _interopRequireDefault(require("../ButtonBase"));
|
21 |
|
22 | var _IconButton = _interopRequireDefault(require("../IconButton"));
|
23 |
|
24 | var _withStyles = _interopRequireDefault(require("../styles/withStyles"));
|
25 |
|
26 | var _ExpansionPanelContext = _interopRequireDefault(require("../ExpansionPanel/ExpansionPanelContext"));
|
27 |
|
28 |
|
29 | var styles = function styles(theme) {
|
30 | var transition = {
|
31 | duration: theme.transitions.duration.shortest
|
32 | };
|
33 | return {
|
34 |
|
35 | root: {
|
36 | display: 'flex',
|
37 | minHeight: 8 * 6,
|
38 | transition: theme.transitions.create(['min-height', 'background-color'], transition),
|
39 | padding: '0 24px 0 24px',
|
40 | '&:hover:not($disabled)': {
|
41 | cursor: 'pointer'
|
42 | },
|
43 | '&$expanded': {
|
44 | minHeight: 64
|
45 | },
|
46 | '&$focused': {
|
47 | backgroundColor: theme.palette.grey[300]
|
48 | },
|
49 | '&$disabled': {
|
50 | opacity: 0.38
|
51 | }
|
52 | },
|
53 |
|
54 |
|
55 | expanded: {},
|
56 |
|
57 |
|
58 | focused: {},
|
59 |
|
60 |
|
61 | disabled: {},
|
62 |
|
63 |
|
64 | content: {
|
65 | display: 'flex',
|
66 | flexGrow: 1,
|
67 | transition: theme.transitions.create(['margin'], transition),
|
68 | margin: '12px 0',
|
69 | '&$expanded': {
|
70 | margin: '20px 0'
|
71 | }
|
72 | },
|
73 |
|
74 |
|
75 | expandIcon: {
|
76 | transform: 'rotate(0deg)',
|
77 | transition: theme.transitions.create('transform', transition),
|
78 | '&:hover': {
|
79 |
|
80 |
|
81 |
|
82 | backgroundColor: 'transparent'
|
83 | },
|
84 | '&$expanded': {
|
85 | transform: 'rotate(180deg)'
|
86 | }
|
87 | }
|
88 | };
|
89 | };
|
90 |
|
91 | exports.styles = styles;
|
92 |
|
93 | var ExpansionPanelSummary = _react.default.forwardRef(function ExpansionPanelSummary(props, ref) {
|
94 | var children = props.children,
|
95 | classes = props.classes,
|
96 | className = props.className,
|
97 | expandIcon = props.expandIcon,
|
98 | IconButtonProps = props.IconButtonProps,
|
99 | onBlur = props.onBlur,
|
100 | onClick = props.onClick,
|
101 | onFocusVisible = props.onFocusVisible,
|
102 | other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className", "expandIcon", "IconButtonProps", "onBlur", "onClick", "onFocusVisible"]);
|
103 |
|
104 | var _React$useState = _react.default.useState(false),
|
105 | focusedState = _React$useState[0],
|
106 | setFocusedState = _React$useState[1];
|
107 |
|
108 | var handleFocusVisible = function handleFocusVisible(event) {
|
109 | setFocusedState(true);
|
110 |
|
111 | if (onFocusVisible) {
|
112 | onFocusVisible(event);
|
113 | }
|
114 | };
|
115 |
|
116 | var handleBlur = function handleBlur(event) {
|
117 | setFocusedState(false);
|
118 |
|
119 | if (onBlur) {
|
120 | onBlur(event);
|
121 | }
|
122 | };
|
123 |
|
124 | var _React$useContext = _react.default.useContext(_ExpansionPanelContext.default),
|
125 | _React$useContext$dis = _React$useContext.disabled,
|
126 | disabled = _React$useContext$dis === void 0 ? false : _React$useContext$dis,
|
127 | expanded = _React$useContext.expanded,
|
128 | toggle = _React$useContext.toggle;
|
129 |
|
130 | var handleChange = function handleChange(event) {
|
131 | if (toggle) {
|
132 | toggle(event);
|
133 | }
|
134 |
|
135 | if (onClick) {
|
136 | onClick(event);
|
137 | }
|
138 | };
|
139 |
|
140 | return _react.default.createElement(_ButtonBase.default, (0, _extends2.default)({
|
141 | focusRipple: false,
|
142 | disableRipple: true,
|
143 | disabled: disabled,
|
144 | component: "div",
|
145 | "aria-expanded": expanded,
|
146 | className: (0, _clsx.default)(classes.root, className, disabled && classes.disabled, expanded && classes.expanded, focusedState && classes.focused),
|
147 | onFocusVisible: handleFocusVisible,
|
148 | onBlur: handleBlur,
|
149 | onClick: handleChange,
|
150 | ref: ref
|
151 | }, other), _react.default.createElement("div", {
|
152 | className: (0, _clsx.default)(classes.content, expanded && classes.expanded)
|
153 | }, children), expandIcon && _react.default.createElement(_IconButton.default, (0, _extends2.default)({
|
154 | className: (0, _clsx.default)(classes.expandIcon, expanded && classes.expanded),
|
155 | edge: "end",
|
156 | component: "div",
|
157 | tabIndex: null,
|
158 | role: null,
|
159 | "aria-hidden": true
|
160 | }, IconButtonProps), expandIcon));
|
161 | });
|
162 |
|
163 | process.env.NODE_ENV !== "production" ? ExpansionPanelSummary.propTypes = {
|
164 | |
165 |
|
166 |
|
167 | children: _propTypes.default.node,
|
168 |
|
169 | |
170 |
|
171 |
|
172 |
|
173 | classes: _propTypes.default.object.isRequired,
|
174 |
|
175 | |
176 |
|
177 |
|
178 | className: _propTypes.default.string,
|
179 |
|
180 | |
181 |
|
182 |
|
183 | expandIcon: _propTypes.default.node,
|
184 |
|
185 | |
186 |
|
187 |
|
188 | IconButtonProps: _propTypes.default.object,
|
189 |
|
190 | |
191 |
|
192 |
|
193 | onBlur: _propTypes.default.func,
|
194 |
|
195 | |
196 |
|
197 |
|
198 | onClick: _propTypes.default.func,
|
199 |
|
200 | |
201 |
|
202 |
|
203 | onFocusVisible: _propTypes.default.func
|
204 | } : void 0;
|
205 |
|
206 | var _default = (0, _withStyles.default)(styles, {
|
207 | name: 'MuiExpansionPanelSummary'
|
208 | })(ExpansionPanelSummary);
|
209 |
|
210 | exports.default = _default; |
\ | No newline at end of file |