wix-style-react
Version:
49 lines (43 loc) • 1.64 kB
JavaScript
import React from 'react';
import PropTypes from 'prop-types';
import { featuresMap } from './constants';
import { WixStyleReactContext } from './context';
import FontUpgrade from '../FontUpgrade';
/** Wix Style React Provider */
var WixStyleReactProvider = function WixStyleReactProvider(_ref) {
var dataHook = _ref.dataHook,
className = _ref.className,
as = _ref.as,
children = _ref.children,
features = _ref.features;
var reducedSpacingAndImprovedLayout = features.reducedSpacingAndImprovedLayout;
return /*#__PURE__*/React.createElement(WixStyleReactContext.Provider, {
value: features
}, /*#__PURE__*/React.createElement(FontUpgrade, {
as: as,
active: reducedSpacingAndImprovedLayout,
dataHook: dataHook,
className: className
}, children));
};
WixStyleReactProvider.displayName = 'WixStyleReactProvider';
WixStyleReactProvider.propTypes = {
/** Applied as data-hook HTML attribute that can be used to create driver in testing */
dataHook: PropTypes.string,
/** A css class to be applied to the component's root element */
className: PropTypes.string,
/** render as some other component or DOM tag */
as: PropTypes.oneOf(['span', 'div']),
/** A renderable node */
children: PropTypes.node,
/** Object which represent all features you would like to use. The available features are:
* - `reducedSpacingAndImprovedLayout`: reducing the spacing to improve the application layout.
* */
features: PropTypes.object
};
WixStyleReactProvider.defaultProps = {
as: 'span',
features: {}
};
export default WixStyleReactProvider;
export var FEATURES = featuresMap;