UNPKG

@vtex/styleguide

Version:

> VTEX Styleguide React components ([Docs](https://vtex.github.io/styleguide))

44 lines (33 loc) 1.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LoadingProvider = LoadingProvider; exports.useLoadingContext = useLoadingContext; var _react = require("react"); var _react2 = _interopRequireDefault(_react); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var LoadingContext = (0, _react.createContext)(null); function LoadingProvider(_ref) { var children = _ref.children, empty = _ref.empty, loading = _ref.loading, emptyState = _ref.emptyState; var value = _react2.default.useMemo(function () { return { empty: empty, loading: loading, emptyState: emptyState }; }, [empty, emptyState, loading]); return _react2.default.createElement(LoadingContext.Provider, { value: value }, children); } function useLoadingContext() { var context = (0, _react.useContext)(LoadingContext); if (!context) { throw new Error('Do not use loading/emptyState components outside of the LoadingContext'); } return context; }