function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

import React from "react";
import CardBehaviour, { AvatarBehaviour, PrimaryTextBehaviour, SecondaryTextBehaviour, ButtonBehaviour, TextFieldsBehaviour, FooterActionsBehaviour, HeaderActionsBehaviour } from "./Card.behaviour";
import CardSkeleton, { CardAvatarSkeleton, CardPrimaryTextSkeleton, CardSecondaryTextSkeleton, CardButtonSkeleton, CardFooterActionsSkeleton, CardHeaderActionsSkeleton, CardTextFieldsSkeleton } from "./Card.skeleton";
import componentGroups from "../../docs-utils/componentGroups";
import componentCategories from "../../docs-utils/componentCategories";
import cardPropTypes, { defaultProps, propsDescription } from "./Card.propTypes";
import constantProps from "./Card.constantProps";
export default function Card(props) {
  return /*#__PURE__*/React.createElement(CardBehaviour, _extends({}, props, {
    renderComponent: CardSkeleton
  }));
}
Card.propTypes = cardPropTypes;
Card.defaultProps = defaultProps;
Card.propsDescription = propsDescription;
Card.constantProps = constantProps;

if (false) {
  Card.docs = {
    componentGroup: componentGroups.Components,
    folderName: componentCategories.UCL
  };
} // sub-components


Card.Avatar = props => {
  return /*#__PURE__*/React.createElement(AvatarBehaviour, _extends({}, props, {
    renderComponent: CardAvatarSkeleton
  }));
};

Card.Avatar.displayName = "Avatar";

Card.PrimaryText = props => {
  return /*#__PURE__*/React.createElement(PrimaryTextBehaviour, _extends({}, props, {
    renderComponent: CardPrimaryTextSkeleton
  }));
};

Card.PrimaryText.displayName = "PrimaryText";

Card.SecondaryText = props => {
  return /*#__PURE__*/React.createElement(SecondaryTextBehaviour, _extends({}, props, {
    renderComponent: CardSecondaryTextSkeleton
  }));
};

Card.SecondaryText.displayName = "SecondaryText";

Card.Button = props => {
  return /*#__PURE__*/React.createElement(CardButtonSkeleton, props);
};

Card.Button.displayName = "Button";

Card.TextFields = props => {
  return /*#__PURE__*/React.createElement(TextFieldsBehaviour, _extends({}, props, {
    renderComponent: CardTextFieldsSkeleton
  }));
};

Card.TextFields.displayName = "TextFields";

Card.FooterActions = props => {
  return /*#__PURE__*/React.createElement(FooterActionsBehaviour, _extends({}, props, {
    renderComponent: CardFooterActionsSkeleton
  }));
};

Card.FooterActions.displayName = "FooterActions";

Card.HeaderActions = props => {
  return /*#__PURE__*/React.createElement(HeaderActionsBehaviour, _extends({}, props, {
    renderComponent: CardHeaderActionsSkeleton
  }));
};

Card.HeaderActions.displayName = "HeaderActions";