jam-cloud/jam-ui/node_modules/react-leaflet/es/context.js

28 lines
1.2 KiB
JavaScript

"use strict";
import _extends from "@babel/runtime/helpers/esm/extends";
import hoistNonReactStatics from 'hoist-non-react-statics';
import React, { createContext, forwardRef, useContext } from 'react';
var leafletContext = /*#__PURE__*/createContext({});
export var useLeaflet = function useLeaflet() {
return useContext(leafletContext);
};
export var LeafletConsumer = leafletContext.Consumer;
export var LeafletProvider = leafletContext.Provider;
export var withLeaflet = function withLeaflet(WrappedComponent) {
var WithLeafletComponent = function WithLeafletComponent(props, ref) {
return /*#__PURE__*/React.createElement(LeafletConsumer, null, function (leaflet) {
return /*#__PURE__*/React.createElement(WrappedComponent, _extends({}, props, {
leaflet: leaflet,
ref: ref
}));
});
};
var name = // flowlint-next-line sketchy-null-string:off
WrappedComponent.displayName || WrappedComponent.name || 'Component';
WithLeafletComponent.displayName = "Leaflet(" + name + ")";
var LeafletComponent = /*#__PURE__*/forwardRef(WithLeafletComponent);
hoistNonReactStatics(LeafletComponent, WrappedComponent);
return LeafletComponent;
};