@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.
69 lines (55 loc) • 2.24 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 _defaultTheme = _interopRequireDefault(require("../../defaultTheme"));
var _ButtonLink = _interopRequireDefault(require("../../ButtonLink"));
const StyledOnlyButton = _styledComponents.default.div.withConfig({
displayName: "FilterWrapper__StyledOnlyButton",
componentId: "sc-1wzeb14-0"
})([""]);
const hoverAndFocus = () => (0, _styledComponents.css)(["background-color:", ";", "{visibility:visible;opacity:1;}"], ({
theme
}) => theme.orbit.paletteBlueLight, StyledOnlyButton);
const StyledContentWrapper = _styledComponents.default.div.withConfig({
displayName: "FilterWrapper__StyledContentWrapper",
componentId: "sc-1wzeb14-1"
})(["box-sizing:border-box;width:100%;padding-left:4px;border-radius:4px;display:flex;align-items:center;height:", ";", "{visibility:hidden;opacity:0;}", ";"], ({
theme
}) => theme.orbit.heightButtonSmall, StyledOnlyButton, ({
disabled
}) => !disabled && (0, _styledComponents.css)(["&:hover{", "}&:focus-within{", "}"], hoverAndFocus, hoverAndFocus)); // $FlowFixMe: https://github.com/flow-typed/flow-typed/issues/3653#issuecomment-568539198
StyledContentWrapper.defaultProps = {
theme: _defaultTheme.default
};
const FilterWrapper = ({
child,
children,
onOnlySelection,
onlySelectionText
}) => {
const {
value,
label,
disabled
} = child.props;
return /*#__PURE__*/React.createElement(StyledContentWrapper, {
disabled: disabled
}, children, onOnlySelection && !disabled && /*#__PURE__*/React.createElement(StyledOnlyButton, null, /*#__PURE__*/React.createElement(_ButtonLink.default, {
type: "secondary",
size: "small",
onClick: ev => {
onOnlySelection(ev, {
value,
label
});
}
}, onlySelectionText)));
};
var _default = FilterWrapper;
exports.default = _default;