text: "use strict";
  
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
  
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  exports.default = exports.styles = void 0;
  
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
  
  var React = _interopRequireWildcard(require("react"));
  
  var _propTypes = _interopRequireDefault(require("prop-types"));
  
  var _clsx = _interopRequireDefault(require("clsx"));
  
  var _ButtonBase = _interopRequireDefault(require("../ButtonBase"));
  
  var _IconButton = _interopRequireDefault(require("../IconButton"));
  
  var _withStyles = _interopRequireDefault(require("../styles/withStyles"));
  
  var _ExpansionPanelContext = _interopRequireDefault(require("../ExpansionPanel/ExpansionPanelContext"));
  
  /* eslint-disable jsx-a11y/aria-role */
  var styles = function styles(theme) {
    var transition = {
      duration: theme.transitions.duration.shortest
    };
    return {
      /* Styles applied to the root element. */
      root: {
        display: 'flex',
        minHeight: 8 * 6,
        transition: theme.transitions.create(['min-height', 'background-color'], transition),
        padding: theme.spacing(0, 2),
        '&:hover:not($disabled)': {
          cursor: 'pointer'
        },
        '&$expanded': {
          minHeight: 64
        },
        '&$focused': {
          backgroundColor: theme.palette.action.focus
        },
        '&$disabled': {
          opacity: theme.palette.action.disabledOpacity
        }
      },
  
      /* Pseudo-class applied to the root element, children wrapper element and `IconButton` component if `expanded={true}`. */
      expanded: {},
  
      /* Pseudo-class applied to the root element if `focused={true}`. */
      focused: {},
  
      /* Pseudo-class applied to the root element if `disabled={true}`. */
      disabled: {},
  
      /* Styles applied to the children wrapper element. */
      content: {
        display: 'flex',
        flexGrow: 1,
        transition: theme.transitions.create(['margin'], transition),
        margin: '12px 0',
        '&$expanded': {
          margin: '20px 0'
        }
      },
  
      /* Styles applied to the `IconButton` component when `expandIcon` is supplied. */
      expandIcon: {
        transform: 'rotate(0deg)',
        transition: theme.transitions.create('transform', transition),
        '&:hover': {
          // Disable the hover effect for the IconButton,
          // because a hover effect should apply to the entire Expand button and
          // not only to the IconButton.
          backgroundColor: 'transparent'
        },
        '&$expanded': {
          transform: 'rotate(180deg)'
        }
      }
    };
  };
  
  exports.styles = styles;
  var warnedOnce = false;
  /**
   * ⚠️ The ExpansionPanelSummary component was renamed to AccordionSummary to use a more common naming convention.
   *
   * You should use `import { AccordionSummary } from '@material-ui/core'`
   * or `import AccordionSummary from '@material-ui/core/AccordionSummary'`.
   */
  
  var ExpansionPanelSummary = /*#__PURE__*/React.forwardRef(function ExpansionPanelSummary(props, ref) {
    if (process.env.NODE_ENV !== 'production') {
      if (!warnedOnce) {
        warnedOnce = true;
        console.error(['Material-UI: the ExpansionPanelSummary component was renamed to AccordionSummary to use a more common naming convention.', '', "You should use `import { AccordionSummary } from '@material-ui/core'`", "or `import AccordionSummary from '@material-ui/core/AccordionSummary'`"].join('\n'));
      }
    }
  
    var children = props.children,
        classes = props.classes,
        className = props.className,
        expandIcon = props.expandIcon,
        IconButtonProps = props.IconButtonProps,
        onBlur = props.onBlur,
        onClick = props.onClick,
        onFocusVisible = props.onFocusVisible,
        other = (0, _objectWithoutProperties2.default)(props, ["children", "classes", "className", "expandIcon", "IconButtonProps", "onBlur", "onClick", "onFocusVisible"]);
  
    var _React$useState = React.useState(false),
        focusedState = _React$useState[0],
        setFocusedState = _React$useState[1];
  
    var handleFocusVisible = function handleFocusVisible(event) {
      setFocusedState(true);
  
      if (onFocusVisible) {
        onFocusVisible(event);
      }
    };
  
    var handleBlur = function handleBlur(event) {
      setFocusedState(false);
  
      if (onBlur) {
        onBlur(event);
      }
    };
  
    var _React$useContext = React.useContext(_ExpansionPanelContext.default),
        _React$useContext$dis = _React$useContext.disabled,
        disabled = _React$useContext$dis === void 0 ? false : _React$useContext$dis,
        expanded = _React$useContext.expanded,
        toggle = _React$useContext.toggle;
  
    var handleChange = function handleChange(event) {
      if (toggle) {
        toggle(event);
      }
  
      if (onClick) {
        onClick(event);
      }
    };
  
    return /*#__PURE__*/React.createElement(_ButtonBase.default, (0, _extends2.default)({
      focusRipple: false,
      disableRipple: true,
      disabled: disabled,
      component: "div",
      "aria-expanded": expanded,
      className: (0, _clsx.default)(classes.root, className, disabled && classes.disabled, expanded && classes.expanded, focusedState && classes.focused),
      onFocusVisible: handleFocusVisible,
      onBlur: handleBlur,
      onClick: handleChange,
      ref: ref
    }, other), /*#__PURE__*/React.createElement("div", {
      className: (0, _clsx.default)(classes.content, expanded && classes.expanded)
    }, children), expandIcon && /*#__PURE__*/React.createElement(_IconButton.default, (0, _extends2.default)({
      className: (0, _clsx.default)(classes.expandIcon, expanded && classes.expanded),
      edge: "end",
      component: "div",
      tabIndex: null,
      role: null,
      "aria-hidden": true
    }, IconButtonProps), expandIcon));
  });
  process.env.NODE_ENV !== "production" ? ExpansionPanelSummary.propTypes = {
    // ----------------------------- Warning --------------------------------
    // | These PropTypes are generated from the TypeScript type definitions |
    // |     To update them edit the d.ts file and run "yarn proptypes"     |
    // ----------------------------------------------------------------------
  
    /**
     * The content of the expansion panel summary.
     */
    children: _propTypes.default.node,
  
    /**
     * Override or extend the styles applied to the component.
     * See [CSS API](#css) below for more details.
     */
    classes: _propTypes.default.object,
  
    /**
     * @ignore
     */
    className: _propTypes.default.string,
  
    /**
     * The icon to display as the expand indicator.
     */
    expandIcon: _propTypes.default.node,
  
    /**
     * Props applied to the `IconButton` element wrapping the expand icon.
     */
    IconButtonProps: _propTypes.default.object,
  
    /**
     * @ignore
     */
    onBlur: _propTypes.default.func,
  
    /**
     * @ignore
     */
    onClick: _propTypes.default.func,
  
    /**
     * Callback fired when the component is focused with a keyboard.
     * We trigger a `onFocus` callback too.
     */
    onFocusVisible: _propTypes.default.func
  } : void 0;
  
  var _default = (0, _withStyles.default)(styles, {
    name: 'MuiExpansionPanelSummary'
  })(ExpansionPanelSummary);
  
  exports.default = _default;