UNPKG

wix-style-react

Version:
49 lines (43 loc) 1.64 kB
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;