UNPKG

@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
"use strict"; 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;