@zohodesk/components
Version:
In this Package, we Provide Some Basic Components to Build Web App
49 lines (45 loc) • 1.28 kB
JavaScript
import React, { useState, useEffect } from 'react';
import PropTypes from 'prop-types';
import LibraryContextInit from "./LibraryContextInit";
import { getLibraryConfig } from "./Config";
const LibraryContextProvider = _ref => {
let {
isReducedMotion,
direction,
coloredTagVariant,
hasTagColorInheritedToText,
children
} = _ref;
const [value, setValue] = useState({
isReducedMotion,
direction,
coloredTagVariant,
hasTagColorInheritedToText
});
function setGlobalContext(key, data) {
if (value[key] != data) {
setValue({ ...value,
[key]: data
});
}
}
return /*#__PURE__*/React.createElement(LibraryContextInit.Provider, {
value: { ...value,
setGlobalContext
}
}, children);
};
LibraryContextProvider.propTypes = {
children: PropTypes.node.isRequired,
isReducedMotion: PropTypes.bool,
coloredTagVariant: PropTypes.oneOf(['bold', 'subtle', 'minimal']),
hasTagColorInheritedToText: PropTypes.bool,
direction: PropTypes.string
};
LibraryContextProvider.defaultProps = {
isReducedMotion: getLibraryConfig('isReducedMotion'),
direction: getLibraryConfig('direction'),
coloredTagVariant: 'bold',
hasTagColorInheritedToText: true
};
export default LibraryContextProvider;