module.exports =
/******/ (function(modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};
/******/
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/
/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId]) {
/******/ 			return installedModules[moduleId].exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			i: moduleId,
/******/ 			l: false,
/******/ 			exports: {}
/******/ 		};
/******/
/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ 		// Flag the module as loaded
/******/ 		module.l = true;
/******/
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/
/******/
/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;
/******/
/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;
/******/
/******/ 	// define getter function for harmony exports
/******/ 	__webpack_require__.d = function(exports, name, getter) {
/******/ 		if(!__webpack_require__.o(exports, name)) {
/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ 		}
/******/ 	};
/******/
/******/ 	// define __esModule on exports
/******/ 	__webpack_require__.r = function(exports) {
/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 		}
/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
/******/ 	};
/******/
/******/ 	// create a fake namespace object
/******/ 	// mode & 1: value is a module id, require it
/******/ 	// mode & 2: merge all properties of value into the ns
/******/ 	// mode & 4: return value when already ns object
/******/ 	// mode & 8|1: behave like require
/******/ 	__webpack_require__.t = function(value, mode) {
/******/ 		if(mode & 1) value = __webpack_require__(value);
/******/ 		if(mode & 8) return value;
/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ 		var ns = Object.create(null);
/******/ 		__webpack_require__.r(ns);
/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ 		return ns;
/******/ 	};
/******/
/******/ 	// getDefaultExport function for compatibility with non-harmony modules
/******/ 	__webpack_require__.n = function(module) {
/******/ 		var getter = module && module.__esModule ?
/******/ 			function getDefault() { return module['default']; } :
/******/ 			function getModuleExports() { return module; };
/******/ 		__webpack_require__.d(getter, 'a', getter);
/******/ 		return getter;
/******/ 	};
/******/
/******/ 	// Object.prototype.hasOwnProperty.call
/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = "lib/mapboxgl/";
/******/
/******/
/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(__webpack_require__.s = 869);
/******/ })
/************************************************************************/
/******/ ({

/***/ 0:
/***/ (function(module, exports) {

module.exports = require("@babel/runtime/helpers/interopRequireDefault");

/***/ }),

/***/ 13:
/***/ (function(module, exports) {

module.exports = require("vue");

/***/ }),

/***/ 14:
/***/ (function(module, exports) {

module.exports = require("@babel/runtime/helpers/createClass");

/***/ }),

/***/ 21:
/***/ (function(module, exports) {

module.exports = require("lodash.uniqueid");

/***/ }),

/***/ 3:
/***/ (function(module, exports) {

module.exports = require("@babel/runtime/helpers/inheritsLoose");

/***/ }),

/***/ 869:
/***/ (function(module, exports, __webpack_require__) {

"use strict";


var _interopRequireDefault = __webpack_require__(0);
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;
var _createClass2 = _interopRequireDefault(__webpack_require__(14));
var _inheritsLoose2 = _interopRequireDefault(__webpack_require__(3));
var _vue = _interopRequireDefault(__webpack_require__(13));
var _vuePropertyDecorator = __webpack_require__(9);
var _lodash = _interopRequireDefault(__webpack_require__(21));
var __decorate = void 0 && (void 0).__decorate || function (decorators, target, key, desc) {
  var c = arguments.length,
    r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
    d;
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
  return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var LayerMixin = /*#__PURE__*/function (_Vue) {
  (0, _inheritsLoose2.default)(LayerMixin, _Vue);
  function LayerMixin() {
    var _this;
    _this = _Vue.apply(this, arguments) || this;
    _this.eventList = ['mousedown', 'mouseup', 'click', 'dblclick', 'mousemove', 'mouseenter', 'mouseleave', 'mouseover', 'mouseout', 'contextmenu', 'touchstart', 'touchend', 'touchcancel'];
    return _this;
  }
  var _proto = LayerMixin.prototype;
  _proto.created = function created() {
    if (this.minzoom || this.minzoom === 0) {
      this.$watch('minzoom', function (next) {
        this.map.setLayerZoomRange(this.layerId, next, this.maxzoom);
      });
    }
    if (this.maxzoom || this.minzoom === 0) {
      this.$watch('maxzoom', function (next) {
        this.map.setLayerZoomRange(this.layerId, this.minzoom, next);
      });
    }
    if (this.filter) {
      this.$watch('filter', function (next) {
        this.map.setFilter(this.layerId, next);
      });
    }
    if (this.layout) {
      this.$watch('layout', function (next) {
        if (next) {
          for (var _i = 0, _Object$keys = Object.keys(next); _i < _Object$keys.length; _i++) {
            var prop = _Object$keys[_i];
            this.map.setLayoutProperty(this.layerId, prop, next[prop]);
          }
        }
      });
    }
    if (this.paint) {
      this.$watch('paint', function (next) {
        if (next) {
          for (var _i2 = 0, _Object$keys2 = Object.keys(next); _i2 < _Object$keys2.length; _i2++) {
            var prop = _Object$keys2[_i2];
            this.map.setPaintProperty(this.layerId, prop, next[prop]);
          }
        }
      });
    }
    this.$watch('layerId', function (newLayerId) {
      this.viewModel && this.viewModel.setLayerId && this.viewModel.setLayerId(newLayerId);
    });
  };
  _proto.removed = function removed() {
    this.remove();
  };
  _proto.$emitEvent = function $emitEvent(name, data) {
    if (data === void 0) {
      data = {};
    }
    this.$emit(name, Object.assign({
      map: this.map,
      layerId: this.layerId
    }, data));
  };
  _proto.$emitLayerMapEvent = function $emitLayerMapEvent(event) {
    this.$emitEvent(event.type, {
      mapboxEvent: event
    });
  };
  _proto.$bindLayerEvents = function $bindLayerEvents() {
    var _this2 = this;
    Object.keys(this.$listeners).forEach(function (eventName) {
      if (_this2.eventList.includes(eventName)) {
        _this2.map.on(eventName, _this2.layerId, _this2.$emitLayerMapEvent);
      }
    });
  };
  _proto.$unbindLayerEvents = function $unbindLayerEvents(events) {
    var _this3 = this;
    if (this.map) {
      events.forEach(function (eventName) {
        _this3.map.off(eventName, _this3.layerId, _this3.$emitLayerMapEvent);
      });
    }
  };
  _proto.move = function move(beforeId) {
    this.map.moveLayer(this.layerId, beforeId);
    this.$emitEvent('layer-moved', {
      beforeId: beforeId
    });
  };
  _proto.remove = function remove() {
    this.viewModel && this.viewModel.removed && this.viewModel.removed();
    this.$emitEvent('layer-removed');
  };
  (0, _createClass2.default)(LayerMixin, [{
    key: "sourceLoaded",
    get: function get() {
      var sourceId = this.sourceId || this.layerId;
      return this.map && sourceId ? this.map.isSourceLoaded(sourceId) : false;
    }
  }, {
    key: "mapLayer",
    get: function get() {
      return this.map ? this.map.getLayer(this.layerId) : null;
    }
  }, {
    key: "mapSource",
    get: function get() {
      var sourceId = this.sourceId || this.layerId;
      return this.map && sourceId ? this.map.getSource(sourceId) : null;
    }
  }]);
  return LayerMixin;
}(_vue.default);
__decorate([(0, _vuePropertyDecorator.Prop)({
  default: function _default() {
    var defaultLayerId = (0, _lodash.default)(this.$options.name.toLowerCase() + "-");
    return defaultLayerId;
  }
})], LayerMixin.prototype, "layerId", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)()], LayerMixin.prototype, "sourceId", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)()], LayerMixin.prototype, "sourceLayer", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
  default: 0
})], LayerMixin.prototype, "minzoom", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
  default: 22
})], LayerMixin.prototype, "maxzoom", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)()], LayerMixin.prototype, "filter", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)()], LayerMixin.prototype, "layout", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)()], LayerMixin.prototype, "paint", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)()], LayerMixin.prototype, "before", void 0);
LayerMixin = __decorate([_vuePropertyDecorator.Component], LayerMixin);
var _default2 = exports.default = LayerMixin;

/***/ }),

/***/ 9:
/***/ (function(module, exports) {

module.exports = require("vue-property-decorator");

/***/ })

/******/ });