@kiwicom/smart-faq
Version:
29 lines (22 loc) • 692 B
JavaScript
// @flow
import * as React from 'react';
import PageVariantContext from '../context/PageVariant';
const ExclusiveToVariant = expectedVariant => {
const ExclusiveComponent = ({ children }: { children: React.Node }) => (
<PageVariantContext.Consumer>
{value => {
if (value === undefined) {
return children;
}
const { variant } = value;
if (variant === expectedVariant) {
return children;
}
return null;
}}
</PageVariantContext.Consumer>
);
return ExclusiveComponent;
};
export const SidebarVersion = ExclusiveToVariant('sidebar');
export const FullPageVersion = ExclusiveToVariant('fullPage');