@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.
116 lines (99 loc) • 4.12 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
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"));
var SpacingMobile = (0, _styledComponents.css)(["", "px;"], function (_ref) {
var theme = _ref.theme;
return String(parseInt(theme.orbit.spaceMedium, 10) + 1);
});
var SpacingDesktop = (0, _styledComponents.css)(["", "px;"], function (_ref2) {
var theme = _ref2.theme;
return String(parseInt(theme.orbit.spaceLarge, 10) + 1);
});
var StyledCardSectionHeader = _styledComponents.default.div.withConfig({
displayName: "SectionHeader__StyledCardSectionHeader",
componentId: "sc-1win3x-0"
})(["transition:", ";cursor:", ";position:relative;padding:", ";margin:-", ";margin-bottom:", ";min-height:", ";", " &:hover{background:", ";}&:focus{background:", ";outline:none;}"], (0, _transition.default)(["margin"], "fast", "linear"), function (_ref3) {
var expandable = _ref3.expandable;
return expandable && "pointer";
}, function (_ref4) {
var theme = _ref4.theme;
return theme.orbit.spaceMedium;
}, SpacingMobile, function (_ref5) {
var expanded = _ref5.expanded,
isContent = _ref5.isContent;
return expanded && isContent && 0;
}, function (_ref6) {
var expandable = _ref6.expandable;
return expandable && (0, _Icon.getSize)(_consts.ICON_SIZES.MEDIUM);
}, _mediaQuery.default.largeMobile((0, _styledComponents.css)(["margin:-", ";padding:", ";margin-bottom:", ";"], SpacingDesktop, function (_ref7) {
var theme = _ref7.theme;
return theme.orbit.spaceLarge;
}, function (_ref8) {
var expanded = _ref8.expanded,
isContent = _ref8.isContent;
return expanded && isContent && 0;
})), function (_ref9) {
var theme = _ref9.theme,
expandable = _ref9.expandable;
return expandable && theme.orbit.paletteWhiteHover;
}, function (_ref10) {
var theme = _ref10.theme,
expandable = _ref10.expandable;
return expandable && theme.orbit.paletteWhiteHover;
}); // $FlowFixMe: https://github.com/flow-typed/flow-typed/issues/3653#issuecomment-568539198
StyledCardSectionHeader.defaultProps = {
theme: _defaultTheme.default
};
var CardSectionHeader = function CardSectionHeader(_ref11) {
var title = _ref11.title,
titleAs = _ref11.titleAs,
description = _ref11.description,
icon = _ref11.icon,
isContent = _ref11.isContent,
expandable = _ref11.expandable,
expanded = _ref11.expanded,
onClick = _ref11.onClick,
slideID = _ref11.slideID,
labelID = _ref11.labelID,
actions = _ref11.actions,
handleKeyDown = _ref11.handleKeyDown,
header = _ref11.header,
dataA11ySection = _ref11.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;