@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.
107 lines (90 loc) • 3.29 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var React = _interopRequireWildcard(require("react"));
var _styledComponents = _interopRequireWildcard(require("styled-components"));
var _transition = _interopRequireDefault(require("../../../utils/transition"));
var _mediaQuery = _interopRequireDefault(require("../../../utils/mediaQuery"));
var _Icon = require("../../../Icon");
var _consts = require("../../../Icon/consts");
var _defaultTheme = _interopRequireDefault(require("../../../defaultTheme"));
var _Header = _interopRequireDefault(require("../../components/Header"));
const SpacingMobile = (0, _styledComponents.css)(["", "px;"], ({
theme
}) => String(parseInt(theme.orbit.spaceMedium, 10) + 1));
const SpacingDesktop = (0, _styledComponents.css)(["", "px;"], ({
theme
}) => String(parseInt(theme.orbit.spaceLarge, 10) + 1));
const StyledCardSectionHeader = _styledComponents.default.div.withConfig({
displayName: "SectionHeader__StyledCardSectionHeader",
componentId: "sc-o1z9hg-0"
})(["transition:", ";cursor:", ";position:relative;padding:", ";margin:-", ";margin-bottom:", ";min-height:", ";", " &:hover{background:", ";}&:focus{background:", ";outline:none;}"], (0, _transition.default)(["margin"], "fast", "linear"), ({
expandable
}) => expandable && "pointer", ({
theme
}) => theme.orbit.spaceMedium, SpacingMobile, ({
expanded,
isContent
}) => expanded && isContent && 0, ({
expandable
}) => expandable && (0, _Icon.getSize)(_consts.ICON_SIZES.MEDIUM), _mediaQuery.default.largeMobile((0, _styledComponents.css)(["margin:-", ";padding:", ";margin-bottom:", ";"], SpacingDesktop, ({
theme
}) => theme.orbit.spaceLarge, ({
expanded,
isContent
}) => expanded && isContent && 0)), ({
theme,
expandable
}) => expandable && theme.orbit.paletteWhiteHover, ({
theme,
expandable
}) => expandable && theme.orbit.paletteWhiteHover); // $FlowFixMe: https://github.com/flow-typed/flow-typed/issues/3653#issuecomment-568539198
StyledCardSectionHeader.defaultProps = {
theme: _defaultTheme.default
};
const CardSectionHeader = ({
title,
titleAs,
description,
icon,
isContent,
expandable,
expanded,
onClick,
slideID,
labelID,
actions,
handleKeyDown,
header,
dataA11ySection
}) => {
return /*#__PURE__*/React.createElement(StyledCardSectionHeader, {
expandable: expandable,
expanded: expanded,
onClick: onClick,
"aria-expanded": expandable ? expanded : undefined,
"aria-controls": expandable ? slideID : undefined,
id: labelID,
role: expandable ? "button" : undefined,
onKeyDown: handleKeyDown,
tabIndex: expandable ? "0" : undefined,
isContent: isContent
}, /*#__PURE__*/React.createElement(_Header.default, {
title: title,
titleAs: titleAs,
description: description,
icon: icon,
expandable: expandable,
header: header,
expanded: expanded,
actions: actions,
isSection: true,
dataA11ySection: dataA11ySection
}));
};
var _default = CardSectionHeader;
exports.default = _default;