@atlaskit/global-search
Version:
A cross-product search component (batteries included)
38 lines (35 loc) • 998 B
JavaScript
import _defineProperty from "@babel/runtime/helpers/defineProperty";
import _extends from "@babel/runtime/helpers/extends";
import React from 'react';
import { DEFAULT_FEATURES } from '../util/features';
const FeaturesContext = /*#__PURE__*/React.createContext({
features: undefined
});
export function injectFeatures(Component) {
return props => /*#__PURE__*/React.createElement(FeaturesContext.Consumer, null, ({
features
}) => /*#__PURE__*/React.createElement(Component, _extends({}, props, {
features: features || DEFAULT_FEATURES
})));
}
export default class FeaturesProvider extends React.Component {
constructor(...args) {
super(...args);
_defineProperty(this, "state", {
features: this.props.features
});
}
render() {
const {
children
} = this.props;
const {
features
} = this.state;
return /*#__PURE__*/React.createElement(FeaturesContext.Provider, {
value: {
features
}
}, children);
}
}