"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose")); var _leaflet = require("leaflet"); var _react = _interopRequireDefault(require("react")); var _context = require("./context"); var _MapLayer2 = _interopRequireDefault(require("./MapLayer")); var Marker = /*#__PURE__*/function (_MapLayer) { (0, _inheritsLoose2.default)(Marker, _MapLayer); function Marker() { return _MapLayer.apply(this, arguments) || this; } var _proto = Marker.prototype; _proto.createLeafletElement = function createLeafletElement(props) { var el = new _leaflet.Marker(props.position, this.getOptions(props)); this.contextValue = (0, _extends2.default)({}, props.leaflet, { popupContainer: el }); return el; }; _proto.updateLeafletElement = function updateLeafletElement(fromProps, toProps) { if (toProps.position !== fromProps.position) { this.leafletElement.setLatLng(toProps.position); } if (toProps.icon !== fromProps.icon) { this.leafletElement.setIcon(toProps.icon); } if (toProps.zIndexOffset !== fromProps.zIndexOffset) { this.leafletElement.setZIndexOffset(toProps.zIndexOffset); } if (toProps.opacity !== fromProps.opacity) { this.leafletElement.setOpacity(toProps.opacity); } if (toProps.draggable !== fromProps.draggable) { if (toProps.draggable === true) { this.leafletElement.dragging.enable(); } else { this.leafletElement.dragging.disable(); } } }; _proto.render = function render() { var children = this.props.children; return children == null || this.contextValue == null ? null : /*#__PURE__*/_react.default.createElement(_context.LeafletProvider, { value: this.contextValue }, children); }; return Marker; }(_MapLayer2.default); var _default = (0, _context.withLeaflet)(Marker); exports.default = _default;