@kiwicom/orbit-components
Version:
Orbit-components is a React component library which provides developers with the easiest possible way of building Kiwi.com’s products.
57 lines (56 loc) • 2.59 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
exports.__esModule = true;
exports.default = void 0;
var React = _interopRequireWildcard(require("react"));
var _styledComponents = _interopRequireWildcard(require("styled-components"));
var _transition = _interopRequireDefault(require("../../../utils/transition"));
var _defaultTheme = _interopRequireDefault(require("../../../defaultTheme"));
var _Slide = _interopRequireDefault(require("../../../utils/Slide"));
var _mediaQuery = _interopRequireDefault(require("../../../utils/mediaQuery"));
var _useBoundingRect = _interopRequireDefault(require("../../../hooks/useBoundingRect"));
const StyledCardSectionContent = _styledComponents.default.div.withConfig({
displayName: "SectionContent__StyledCardSectionContent",
componentId: "sc-fc25b1-0"
})(["", ";"], ({
theme,
expanded,
noSeparator,
hasPaddingTop
}) => (0, _styledComponents.css)(["font-family:", ";font-size:", ";line-height:", ";color:", ";width:100%;border-top:", ";padding-top:", ";transition:", ";", ""], theme.orbit.fontFamily, theme.orbit.fontSizeTextNormal, theme.orbit.lineHeightTextNormal, theme.orbit.colorTextPrimary, expanded && !noSeparator ? `1px solid ${theme.orbit.paletteCloudNormal}` : `0px solid ${theme.orbit.paletteCloudNormal}`, hasPaddingTop && theme.orbit.spaceMedium, (0, _transition.default)(["padding", "border-top"], "fast", "linear"), _mediaQuery.default.largeMobile((0, _styledComponents.css)(["padding-top:", ";"], hasPaddingTop && theme.orbit.spaceLarge))));
StyledCardSectionContent.defaultProps = {
theme: _defaultTheme.default
};
const SectionContent = ({
expandable,
expanded,
children,
noSeparator,
hasPaddingTop,
slideID,
labelID
}) => {
const [{
height
}, ref] = (0, _useBoundingRect.default)({
height: expanded ? null : 0
});
return /*#__PURE__*/React.createElement(React.Fragment, null, expandable ? /*#__PURE__*/React.createElement(_Slide.default, {
maxHeight: height,
expanded: expanded,
id: slideID,
ariaLabelledBy: labelID
}, /*#__PURE__*/React.createElement(StyledCardSectionContent, {
noSeparator: noSeparator,
ref: ref,
expanded: expanded,
hasPaddingTop: hasPaddingTop,
expandable: expandable
}, children)) : /*#__PURE__*/React.createElement(StyledCardSectionContent, {
ref: ref,
hasPaddingTop: hasPaddingTop
}, children));
};
var _default = SectionContent;
exports.default = _default;