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 = 664);
/******/ })
/************************************************************************/
/******/ ({

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

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

/***/ }),

/***/ 1:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; });
/* globals __VUE_SSR_CONTEXT__ */

// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
// This module is a runtime utility for cleaner component module output and will
// be included in the final webpack user bundle.

function normalizeComponent(
  scriptExports,
  render,
  staticRenderFns,
  functionalTemplate,
  injectStyles,
  scopeId,
  moduleIdentifier /* server only */,
  shadowMode /* vue-cli only */
) {
  // Vue.extend constructor export interop
  var options =
    typeof scriptExports === 'function' ? scriptExports.options : scriptExports

  // render functions
  if (render) {
    options.render = render
    options.staticRenderFns = staticRenderFns
    options._compiled = true
  }

  // functional template
  if (functionalTemplate) {
    options.functional = true
  }

  // scopedId
  if (scopeId) {
    options._scopeId = 'data-v-' + scopeId
  }

  var hook
  if (moduleIdentifier) {
    // server build
    hook = function (context) {
      // 2.3 injection
      context =
        context || // cached call
        (this.$vnode && this.$vnode.ssrContext) || // stateful
        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
      // 2.2 with runInNewContext: true
      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
        context = __VUE_SSR_CONTEXT__
      }
      // inject component styles
      if (injectStyles) {
        injectStyles.call(this, context)
      }
      // register component module identifier for async chunk inferrence
      if (context && context._registeredComponents) {
        context._registeredComponents.add(moduleIdentifier)
      }
    }
    // used by ssr in case component is cached and beforeCreate
    // never gets called
    options._ssrRegister = hook
  } else if (injectStyles) {
    hook = shadowMode
      ? function () {
          injectStyles.call(
            this,
            (options.functional ? this.parent : this).$root.$options.shadowRoot
          )
        }
      : injectStyles
  }

  if (hook) {
    if (options.functional) {
      // for template-only hot-reload because in that case the render fn doesn't
      // go through the normalizer
      options._injectStyles = hook
      // register for functional component in vue file
      var originalRender = options.render
      options.render = function renderWithStyleInjection(h, context) {
        hook.call(context)
        return originalRender(h, context)
      }
    } else {
      // inject component registration as beforeCreate hook
      var existing = options.beforeCreate
      options.beforeCreate = existing ? [].concat(existing, hook) : [hook]
    }
  }

  return {
    exports: scriptExports,
    options: options
  }
}


/***/ }),

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

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

/***/ }),

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

module.exports = require("@supermap/vue-iclient-mapboxgl/lib/_utils/vue-types/utils.js");

/***/ }),

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

module.exports = require("@supermap/vue-iclient-mapboxgl/lib/checkbox");

/***/ }),

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

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

/***/ }),

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

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

/***/ }),

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

module.exports = require("@supermap/vue-iclient-mapboxgl/lib/init.js");

/***/ }),

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

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

/***/ }),

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

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

/***/ }),

/***/ 270:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_0_1_node_modules_vue_loader_lib_index_js_vue_loader_options_Attributes_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(271);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_0_1_node_modules_vue_loader_lib_index_js_vue_loader_options_Attributes_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_0_1_node_modules_vue_loader_lib_index_js_vue_loader_options_Attributes_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_0_1_node_modules_vue_loader_lib_index_js_vue_loader_options_Attributes_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_0_1_node_modules_vue_loader_lib_index_js_vue_loader_options_Attributes_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
 /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_0_1_node_modules_vue_loader_lib_index_js_vue_loader_options_Attributes_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default.a); 

/***/ }),

/***/ 271:
/***/ (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 _vuePropertyDecorator = __webpack_require__(9);
var _Theme = _interopRequireDefault(__webpack_require__(4));
var _mapGetter = _interopRequireDefault(__webpack_require__(7));
var _Table = _interopRequireDefault(__webpack_require__(383));
var _Dropdown = _interopRequireDefault(__webpack_require__(666));
var _Menu = _interopRequireDefault(__webpack_require__(667));
var _MenuItem = _interopRequireDefault(__webpack_require__(378));
var _SubMenu = _interopRequireDefault(__webpack_require__(379));
var _Button = _interopRequireDefault(__webpack_require__(39));
var _Input = _interopRequireDefault(__webpack_require__(52));
var _Icon = _interopRequireDefault(__webpack_require__(53));
var _Checkbox = _interopRequireDefault(__webpack_require__(110));
var _CircleStyle = _interopRequireDefault(__webpack_require__(33));
var _FillStyle = _interopRequireDefault(__webpack_require__(40));
var _LineStyle = _interopRequireDefault(__webpack_require__(41));
var _AttributesViewModel = _interopRequireDefault(__webpack_require__(668));
var _lodash = _interopRequireDefault(__webpack_require__(19));
var _lodash2 = _interopRequireDefault(__webpack_require__(23));
var _VmUpdater = _interopRequireDefault(__webpack_require__(30));
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 SmAttributes = /*#__PURE__*/function (_Mixins) {
  (0, _inheritsLoose2.default)(SmAttributes, _Mixins);
  function SmAttributes() {
    var _this;
    _this = _Mixins.apply(this, arguments) || this;
    _this.tableData = [];
    _this.selectedRowKeys = [];
    _this.columns = [];
    _this.currentDataSource = [];
    _this.totalCount = 0;
    _this.selectedRowLength = 0;
    _this.paginationOptions = {
      pageSize: 15,
      defaultCurrent: 1
    };
    _this.sorter = {};
    _this.openKeys = [];
    _this.loading = false;
    _this.searchText = '';
    _this.searchedColumn = '';
    _this.fieldInfo = [];
    _this.xScrollWidth = 0;
    _this.tableOptions = {
      showHeader: true,
      showBorder: true,
      pagination: {}
    };
    return _this;
  }
  var _proto = SmAttributes.prototype;
  _proto.selectedRowKeysChanged = function selectedRowKeysChanged(val) {
    this.$emit('rowSelect', val);
    if (this.associateMap) {
      this.viewModel.addOverlaysToMap(val, this.layerStyle, this.title);
    }
  };
  _proto.tableChanged = function tableChanged(newVal, oldVal) {
    if (!(0, _lodash2.default)(newVal, oldVal)) {
      this.tableOptions = Object.assign({}, this.tableOptions, newVal);
      this.paginationOptions = Object.assign({}, this.paginationOptions, newVal.pagination);
    }
  };
  _proto.fieldConfigsChanged = function fieldConfigsChanged(val) {
    if (!(0, _lodash2.default)(val, this.fieldInfo)) {
      var total = 0;
      val.forEach(function (item) {
        var width = item.width ? item.width : 128;
        total += width;
      });
      this.xScrollWidth = total;
      this.fieldInfo = val;
    }
  };
  _proto.created = function created() {
    this.fieldInfo = (0, _lodash.default)(this.fieldConfigs);
    this.viewModel = new _AttributesViewModel.default(Object.assign(Object.assign({
      paginationOptions: this.paginationOptions
    }, this.$props), {
      fieldConfigs: this.fieldInfo
    }));
    this.bindEvents();
  };
  _proto.handleMapSelectedFeature = function handleMapSelectedFeature(feature) {
    var index = +feature.properties.index;
    if (!this.selectedRowKeys.includes(index)) {
      this.selectedRowKeys.push(index);
    }
    var pageNumber = Math.ceil((index + 1) / this.paginationOptions.pageSize);
    var featureIndex = index % this.paginationOptions.pageSize;
    this.$set(this.paginationOptions, 'current', pageNumber);
    var tableWrap = this.$refs.tableInstance.$el;
    if (tableWrap && tableWrap.scrollHeight > tableWrap.clientHeight) {
      tableWrap.scrollTop = 0;
      this.handleScrollSelectedFeature(featureIndex, tableWrap);
    }
  };
  _proto.handleScrollSelectedFeature = function handleScrollSelectedFeature(featureIndex, tableWrap) {
    var rowHeight = document.querySelector('.sm-component-attributes .sm-component-table-row').clientHeight;
    var selectFeatureScrollTop = (featureIndex + 1) * rowHeight;
    if (selectFeatureScrollTop > tableWrap.clientHeight) {
      tableWrap.scrollTop = selectFeatureScrollTop;
    }
  };
  _proto.handleColumnVisible = function handleColumnVisible(column) {
    var columnIndex = this.columns.indexOf(column);
    column.visible = !column.visible;
    this.$set(this.columns, columnIndex, column);
    this.fieldInfo.forEach(function (item) {
      if (item.value === column.dataIndex) {
        item.visible = column.visible;
      }
    });
  };
  _proto.getCurrentSelectedRowLength = function getCurrentSelectedRowLength() {
    var _this2 = this;
    var currentSelectedRowKeys = [];
    this.currentDataSource.forEach(function (data) {
      if (_this2.selectedRowKeys.indexOf(data['index']) !== -1) {
        currentSelectedRowKeys.push(data['index']);
      }
    });
    this.selectedRowLength = currentSelectedRowKeys.length;
  };
  _proto.changeSelectedRows = function changeSelectedRows(selectedRowKeys) {
    this.selectedRowKeys = selectedRowKeys;
    if (this.currentDataSource.length > 0) {
      this.getCurrentSelectedRowLength();
    } else {
      this.selectedRowLength = selectedRowKeys.length;
    }
  };
  _proto.clearSelectedRows = function clearSelectedRows() {
    this.selectedRowKeys = [];
    this.selectedRowLength = 0;
  };
  _proto.setZoomToFeature = function setZoomToFeature() {
    this.associateMap && this.viewModel && this.viewModel.zoomToFeatures(this.selectedRowKeys, {
      zoomToFeature: true
    });
  };
  _proto.handleChange = function handleChange(pagination, filters, sorter, _ref) {
    var currentDataSource = _ref.currentDataSource;
    this.currentDataSource = currentDataSource;
    this.$set(this.paginationOptions, 'total', currentDataSource.length);
    this.getCurrentSelectedRowLength();
    this.paginationOptions = Object.assign(Object.assign({}, this.paginationOptions), {
      current: pagination.current
    });
    this.sorter = sorter;
    this.$emit('change', pagination, filters, sorter, {
      currentDataSource: currentDataSource
    });
  };
  _proto.bindEvents = function bindEvents() {
    var _this3 = this;
    this.viewModel.on('dataChanged', function (datas) {
      var content = datas.content,
        totalCount = datas.totalCount,
        columns = datas.columns;
      if (totalCount) {
        _this3.totalCount = totalCount;
      }
      var hideColumns = _this3.columns.filter(function (item) {
        return !item.visible;
      });
      hideColumns.forEach(function (element) {
        columns.forEach(function (element2, index) {
          if (element.dataIndex === element2.dataIndex) {
            columns[index].visible = false;
          }
        });
      });
      _this3.columns = columns;
      _this3.tableData = content;
    });
    this.viewModel.on('clearselectedrows', function () {
      _this3.clearSelectedRows();
    });
    this.viewModel.on('changeSelectLayer', function (feature) {
      _this3.handleMapSelectedFeature(feature);
    });
  };
  _proto.refreshData = function refreshData() {
    this.clearSelectedRows();
    this.tableData = [];
    this.viewModel.refresh();
  };
  _proto.handleSearch = function handleSearch(selectedKeys, confirm, dataIndex) {
    this.searchedColumn = dataIndex;
    this.searchText = selectedKeys[0];
    this.viewModel.setSearchText(this.searchText, this.searchedColumn);
    confirm();
  };
  _proto.handleSearchReset = function handleSearchReset(clearFilters) {
    clearFilters();
    this.searchText = '';
    this.viewModel.setSearchText();
  };
  _proto.getPopupContainerFn = function getPopupContainerFn() {
    return this.$refs.tableInstance.$el.querySelector('.sm-attributes-table .sm-component-table-content');
  };
  _proto.removed = function removed() {
    this.viewModel.off('mapLoaded');
    this.viewModel.off('changeSelectLayer');
    this.viewModel = null;
  };
  _proto.beforeDestory = function beforeDestory() {
    this.$options.removed.call(this);
  };
  (0, _createClass2.default)(SmAttributes, [{
    key: "associateMap",
    get: function get() {
      return this.associateWithMap.enabled;
    }
  }, {
    key: "allCount",
    get: function get() {
      if ('total' in this.paginationOptions) {
        return this.paginationOptions.total;
      }
      return this.totalCount;
    }
  }, {
    key: "compColumns",
    get: function get() {
      var columnsCopy = (0, _lodash.default)(this.columns).filter(function (column) {
        return column.visible;
      }).map(function (column) {
        delete column.visible;
        return column;
      });
      return columnsCopy;
    }
  }]);
  return SmAttributes;
}((0, _vuePropertyDecorator.Mixins)(_mapGetter.default, _Theme.default, _VmUpdater.default));
__decorate([(0, _vuePropertyDecorator.Prop)()], SmAttributes.prototype, "layerName", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)()], SmAttributes.prototype, "customRow", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)()], SmAttributes.prototype, "customHeaderRow", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)()], SmAttributes.prototype, "title", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)()], SmAttributes.prototype, "dataset", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
  default: true
})], SmAttributes.prototype, "lazy", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
  default: function _default() {
    return {
      enabled: true,
      zoomToFeature: false,
      centerToFeature: false
    };
  }
})], SmAttributes.prototype, "associateWithMap", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
  default: function _default() {
    return [];
  }
})], SmAttributes.prototype, "fieldConfigs", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
  default: function _default() {
    return {
      showHeader: true,
      showBorder: true,
      pagination: {}
    };
  }
})], SmAttributes.prototype, "table", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
  default: function _default() {
    return {
      enabled: true,
      showZoomToFeature: true,
      showClearSelected: true,
      showColumnsControl: true,
      showRefresh: true
    };
  }
})], SmAttributes.prototype, "toolbar", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
  default: function _default() {
    return {
      line: new _LineStyle.default({
        'line-width': 3,
        'line-color': '#409eff',
        'line-opacity': 1
      }),
      circle: new _CircleStyle.default({
        'circle-color': '#409eff',
        'circle-opacity': 0.6,
        'circle-radius': 8,
        'circle-stroke-width': 2,
        'circle-stroke-color': '#409eff',
        'circle-stroke-opacity': 1
      }),
      fill: new _FillStyle.default({
        'fill-color': '#409eff',
        'fill-opacity': 0.6,
        'fill-outline-color': '#409eff'
      }),
      stokeLine: new _LineStyle.default({
        'line-width': 3,
        'line-color': '#409eff',
        'line-opacity': 1
      })
    };
  }
})], SmAttributes.prototype, "layerStyle", void 0);
__decorate([(0, _vuePropertyDecorator.Prop)({
  default: function _default() {
    return {
      showTotal: true,
      showSelect: true
    };
  }
})], SmAttributes.prototype, "statistics", void 0);
__decorate([(0, _vuePropertyDecorator.Watch)('selectedRowKeys')], SmAttributes.prototype, "selectedRowKeysChanged", null);
__decorate([(0, _vuePropertyDecorator.Watch)('table', {
  immediate: true
})], SmAttributes.prototype, "tableChanged", null);
__decorate([(0, _vuePropertyDecorator.Watch)('fieldConfigs', {
  immediate: true
})], SmAttributes.prototype, "fieldConfigsChanged", null);
SmAttributes = __decorate([(0, _vuePropertyDecorator.Component)({
  name: 'SmAttributes',
  components: {
    SmTable: _Table.default,
    SmDropdown: _Dropdown.default,
    SmMenu: _Menu.default,
    SmMenuItem: _MenuItem.default,
    SmSubMenu: _SubMenu.default,
    SmButton: _Button.default,
    SmInput: _Input.default,
    SmIcon: _Icon.default,
    SmCheckbox: _Checkbox.default
  },
  viewModelProps: ['layerName', 'dataset', 'lazy', 'associateWithMap', 'fieldInfo', 'paginationOptions', 'sorter']
})], SmAttributes);
var _default2 = exports.default = SmAttributes;

/***/ }),

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

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

/***/ }),

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

module.exports = require("@supermap/vue-iclient-mapboxgl/lib/_mixin/VmUpdater.js");

/***/ }),

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

module.exports = require("@supermap/vue-iclient-mapboxgl/lib/_types/CircleStyle.js");

/***/ }),

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

module.exports = require("@turf/bbox");

/***/ }),

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

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

/***/ }),

/***/ 378:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _MenuItem_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(60);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _MenuItem_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _MenuItem_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
var render, staticRenderFns




/* normalize component */

var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(
  _MenuItem_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__["default"],
  render,
  staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ __webpack_exports__["default"] = (component.exports);

/***/ }),

/***/ 379:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _SubMenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(62);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _SubMenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _SubMenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
var render, staticRenderFns




/* normalize component */

var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"])(
  _SubMenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__["default"],
  render,
  staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ __webpack_exports__["default"] = (component.exports);

/***/ }),

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

module.exports = require("@supermap/vue-iclient-mapboxgl/lib/table");

/***/ }),

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

module.exports = require("@supermap/vue-iclient-mapboxgl/lib/button");

/***/ }),

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

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

/***/ }),

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

"use strict";


var _interopRequireDefault = __webpack_require__(0);
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = getFeatures;
var _iServerRestService = _interopRequireDefault(__webpack_require__(54));
var _iPortalDataService = _interopRequireDefault(__webpack_require__(85));
var _RestService = _interopRequireDefault(__webpack_require__(80));
function getFeatures(dataset) {
  var superMapService;
  var params = [];
  var promise = new Promise(function (resolve, reject) {
    var url = dataset.url,
      type = dataset.type,
      geoJSON = dataset.geoJSON,
      maxFeatures = dataset.maxFeatures,
      attributeFilter = dataset.attributeFilter,
      dataName = dataset.dataName,
      layerName = dataset.layerName,
      withCredentials = dataset.withCredentials,
      preferContent = dataset.preferContent,
      epsgCode = dataset.epsgCode,
      fromIndex = dataset.fromIndex,
      toIndex = dataset.toIndex,
      hasGeometry = dataset.hasGeometry,
      orderBy = dataset.orderBy;
    if (dataset && (url || geoJSON) && type) {
      var queryInfo = {
        maxFeatures: maxFeatures,
        attributeFilter: attributeFilter,
        orderBy: orderBy
      };
      if (type === 'iServer') {
        var datasetInfo;
        var options = {
          fromIndex: fromIndex,
          toIndex: toIndex,
          hasGeometry: hasGeometry
        };
        if (dataset.proxy) {
          options.proxy = dataset.proxy;
        }
        epsgCode && (options.epsgCode = epsgCode);
        superMapService = new _iServerRestService.default(dataset.url, options);
        if (dataName) {
          var arr = dataName[0].split(':');
          datasetInfo = {
            datasetName: arr[1],
            dataSourceName: arr[0],
            dataUrl: url
          };
        } else {
          datasetInfo = {
            mapName: layerName,
            dataUrl: url
          };
        }
        params = [datasetInfo, queryInfo];
      } else if (type === 'iPortal') {
        queryInfo.withCredentials = withCredentials;
        superMapService = new _iPortalDataService.default(url, withCredentials, {
          epsgCode: epsgCode
        });
        params = [queryInfo, !!preferContent];
      } else if (type === 'rest') {
        superMapService = new _RestService.default({
          proxy: dataset.proxy
        });
        params = [url, queryInfo];
      } else if (type === 'geoJSON' && geoJSON) {
        superMapService = new _RestService.default();
        params = [geoJSON, queryInfo];
      }
    }
    if (superMapService) {
      superMapService.on({
        getdatasucceeded: function getdatasucceeded(data) {
          resolve(data);
        },
        getdatafailed: function getdatafailed(e) {
          reject(e);
        }
      });
      superMapService.getData(params[0], params[1]);
    }
  });
  return promise;
}

/***/ }),

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

module.exports = require("@supermap/vue-iclient-mapboxgl/lib/_mixin/Theme.js");

/***/ }),

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

module.exports = require("@supermap/vue-iclient-mapboxgl/lib/_types/FillStyle.js");

/***/ }),

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

module.exports = require("@supermap/vue-iclient-mapboxgl/lib/_types/LineStyle.js");

/***/ }),

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

module.exports = require("@turf/transform-scale");

/***/ }),

/***/ 443:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";

// EXPORTS
__webpack_require__.d(__webpack_exports__, "a", function() { return /* reexport */ render; });
__webpack_require__.d(__webpack_exports__, "b", function() { return /* reexport */ staticRenderFns; });

// CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./src/mapboxgl/attributes/Attributes.vue?vue&type=template&id=351e2d93&
var render = function () {
  var _vm = this
  var _h = _vm.$createElement
  var _c = _vm._self._c || _h
  return _c(
    "div",
    {
      staticClass: "sm-component-attributes",
      style: [_vm.getTextColorStyle, _vm.getBackgroundStyle],
    },
    [
      _c("div", { staticClass: "sm-component-attributes__header" }, [
        _c("div", { staticClass: "sm-component-attributes__count" }, [
          _vm.title
            ? _c("span", { staticClass: "layer-name" }, [
                _vm._v(_vm._s(_vm.title)),
              ])
            : _vm._e(),
          _vm.statistics.showTotal || _vm.statistics.showSelect
            ? _c("span", [_vm._v("（")])
            : _vm._e(),
          _vm.statistics.showTotal
            ? _c("span", { staticClass: "total-numbers" }, [
                _vm._v(
                  _vm._s(this.$t("attributes.feature")) +
                    "：" +
                    _vm._s(_vm.allCount)
                ),
              ])
            : _vm._e(),
          _vm.statistics.showTotal && _vm.statistics.showSelect
            ? _c("span", [_vm._v("，")])
            : _vm._e(),
          _vm.statistics.showSelect
            ? _c("span", { staticClass: "select-numbers" }, [
                _vm._v(
                  _vm._s(this.$t("attributes.selected")) +
                    "：" +
                    _vm._s(_vm.selectedRowLength || 0)
                ),
              ])
            : _vm._e(),
          _vm.statistics.showTotal || _vm.statistics.showSelect
            ? _c("span", [_vm._v("）")])
            : _vm._e(),
        ]),
        _c(
          "div",
          { staticClass: "sm-component-attributes__menu" },
          [
            _vm.toolbar.enabled
              ? _c(
                  "sm-dropdown",
                  { attrs: { placement: "bottomRight" } },
                  [
                    _c(
                      "div",
                      { staticClass: "sm-component-dropdown-link" },
                      [
                        _c("sm-icon", {
                          attrs: {
                            "icon-style": { color: "#ccc" },
                            type: "menu",
                          },
                        }),
                      ],
                      1
                    ),
                    _c(
                      "sm-menu",
                      {
                        staticClass: "sm-component-attribute_dropdown-menu",
                        attrs: { slot: "overlay" },
                        slot: "overlay",
                      },
                      [
                        _c("sm-menu-item", [
                          _vm.toolbar.showClearSelected
                            ? _c(
                                "div",
                                { on: { click: _vm.clearSelectedRows } },
                                [
                                  _vm._v(
                                    "\n              " +
                                      _vm._s(
                                        this.$t("attributes.clearSelected")
                                      ) +
                                      "\n            "
                                  ),
                                ]
                              )
                            : _vm._e(),
                        ]),
                        _vm.toolbar.showZoomToFeature && _vm.associateMap
                          ? _c("sm-menu-item", [
                              _c(
                                "div",
                                { on: { click: _vm.setZoomToFeature } },
                                [
                                  _vm._v(
                                    _vm._s(this.$t("attributes.zoomToFeatures"))
                                  ),
                                ]
                              ),
                            ])
                          : _vm._e(),
                        _vm.toolbar.showRefresh
                          ? _c("sm-menu-item", [
                              _c("div", { on: { click: _vm.refreshData } }, [
                                _vm._v(
                                  _vm._s(this.$t("attributes.refreshData"))
                                ),
                              ]),
                            ])
                          : _vm._e(),
                        _vm.toolbar.showColumnsControl
                          ? _c(
                              "sm-sub-menu",
                              {
                                key: "columnsControl",
                                attrs: {
                                  title: this.$t("attributes.columnsControl"),
                                },
                              },
                              _vm._l(_vm.columns, function (column, index) {
                                return _c(
                                  "sm-menu-item",
                                  { key: index },
                                  [
                                    _c("sm-checkbox", {
                                      attrs: { checked: column.visible },
                                      on: {
                                        change: function ($event) {
                                          return _vm.handleColumnVisible(column)
                                        },
                                      },
                                    }),
                                    _vm._v(
                                      "\n              " +
                                        _vm._s(column.title) +
                                        "\n            "
                                    ),
                                  ],
                                  1
                                )
                              }),
                              1
                            )
                          : _vm._e(),
                      ],
                      1
                    ),
                  ],
                  1
                )
              : _vm._e(),
          ],
          1
        ),
      ]),
      _c(
        "sm-table",
        {
          ref: "tableInstance",
          staticClass: "sm-attributes-table",
          attrs: {
            "data-source": _vm.tableData,
            columns: _vm.compColumns,
            "row-selection": {
              selectedRowKeys: _vm.selectedRowKeys,
              onChange: _vm.changeSelectedRows,
            },
            pagination: _vm.paginationOptions,
            bordered: _vm.tableOptions.showBorder,
            showHeader: _vm.tableOptions.showHeader,
            customHeaderRow: _vm.customHeaderRow,
            customRow: _vm.customRow,
            loading: _vm.loading,
            scroll: { x: _vm.xScrollWidth },
            getPopupContainer: _vm.getPopupContainerFn,
            "table-layout": "fixed",
          },
          on: { change: _vm.handleChange },
          scopedSlots: _vm._u([
            {
              key: "filterDropdown",
              fn: function (ref) {
                var setSelectedKeys = ref.setSelectedKeys
                var selectedKeys = ref.selectedKeys
                var confirm = ref.confirm
                var clearFilters = ref.clearFilters
                var column = ref.column
                return _c(
                  "div",
                  {
                    staticClass: "sm-component-table-custom-filter-dropdown",
                    style: Object.assign({}, _vm.background),
                  },
                  [
                    _c("sm-input", {
                      staticStyle: {
                        width: "188px",
                        "margin-bottom": "8px",
                        display: "block",
                      },
                      attrs: {
                        placeholder: "Search " + column.dataIndex,
                        value: selectedKeys[0],
                      },
                      on: {
                        change: function (e) {
                          return setSelectedKeys(
                            e.target.value ? [e.target.value] : []
                          )
                        },
                        pressEnter: function () {
                          return _vm.handleSearch(
                            selectedKeys,
                            confirm,
                            column.dataIndex
                          )
                        },
                      },
                    }),
                    _c(
                      "sm-button",
                      {
                        staticStyle: { width: "90px", "margin-right": "8px" },
                        attrs: {
                          type: "primary",
                          icon: "search",
                          size: "small",
                        },
                        on: {
                          click: function () {
                            return _vm.handleSearch(
                              selectedKeys,
                              confirm,
                              column.dataIndex
                            )
                          },
                        },
                      },
                      [
                        _vm._v(
                          "\n        " +
                            _vm._s(_vm.$t("attributes.search")) +
                            "\n      "
                        ),
                      ]
                    ),
                    _c(
                      "sm-button",
                      {
                        staticStyle: { width: "90px" },
                        attrs: { size: "small" },
                        on: {
                          click: function () {
                            return _vm.handleSearchReset(clearFilters)
                          },
                        },
                      },
                      [
                        _vm._v(
                          "\n        " +
                            _vm._s(_vm.$t("attributes.reset")) +
                            "\n      "
                        ),
                      ]
                    ),
                  ],
                  1
                )
              },
            },
            {
              key: "customRender",
              fn: function (text, record, index, column) {
                return [
                  _vm.searchText && _vm.searchedColumn === column.dataIndex
                    ? _c(
                        "span",
                        [
                          _vm._l(
                            text
                              .toString()
                              .split(
                                new RegExp(
                                  "(?<=" +
                                    _vm.searchText +
                                    ")|(?=" +
                                    _vm.searchText +
                                    ")",
                                  "i"
                                )
                              ),
                            function (fragment) {
                              return [[_vm._v(_vm._s(fragment))]]
                            }
                          ),
                        ],
                        2
                      )
                    : [_vm._v("\n        " + _vm._s(text) + "\n      ")],
                ]
              },
            },
          ]),
        },
        [
          _c("i", {
            staticClass: "sm-components-icon-search",
            attrs: { slot: "filterIcon" },
            slot: "filterIcon",
          }),
        ]
      ),
    ],
    1
  )
}
var staticRenderFns = []
render._withStripped = true


// CONCATENATED MODULE: ./src/mapboxgl/attributes/Attributes.vue?vue&type=template&id=351e2d93&


/***/ }),

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

module.exports = require("@supermap/vue-iclient-mapboxgl/static/libs/mapboxgl/mapbox-gl-enhance.js");

/***/ }),

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

module.exports = require("@supermap/vue-iclient-mapboxgl/lib/input");

/***/ }),

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

module.exports = require("@supermap/vue-iclient-mapboxgl/lib/icon");

/***/ }),

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

module.exports = require("@supermap/vue-iclient-mapboxgl/lib/_utils/iServerRestService.js");

/***/ }),

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

module.exports = require("@supermap/vue-iclient-mapboxgl/lib/_mixin/AntdRender.js");

/***/ }),

/***/ 60:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_0_1_node_modules_vue_loader_lib_index_js_vue_loader_options_MenuItem_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(61);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_0_1_node_modules_vue_loader_lib_index_js_vue_loader_options_MenuItem_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_0_1_node_modules_vue_loader_lib_index_js_vue_loader_options_MenuItem_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_0_1_node_modules_vue_loader_lib_index_js_vue_loader_options_MenuItem_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_0_1_node_modules_vue_loader_lib_index_js_vue_loader_options_MenuItem_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
 /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_0_1_node_modules_vue_loader_lib_index_js_vue_loader_options_MenuItem_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default.a); 

/***/ }),

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

"use strict";


var _interopRequireDefault = __webpack_require__(0);
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.menuItemTypes = exports.default = void 0;
var _menu = _interopRequireDefault(__webpack_require__(98));
var _vueTypes = _interopRequireDefault(__webpack_require__(8));
var _Theme = _interopRequireDefault(__webpack_require__(4));
var _AntdRender = _interopRequireDefault(__webpack_require__(6));
var menuItemTypes = exports.menuItemTypes = {
  attribute: _vueTypes.default.object,
  rootPrefixCls: _vueTypes.default.string,
  eventKey: _vueTypes.default.oneOfType([_vueTypes.default.string, _vueTypes.default.number]),
  active: _vueTypes.default.bool,
  selectedKeys: _vueTypes.default.array,
  disabled: _vueTypes.default.bool,
  title: _vueTypes.default.any,
  index: _vueTypes.default.number,
  inlineIndent: _vueTypes.default.number.def(24),
  level: _vueTypes.default.number.def(1),
  mode: _vueTypes.default.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']).def('vertical'),
  parentMenu: _vueTypes.default.object,
  multiple: _vueTypes.default.bool,
  value: _vueTypes.default.any,
  isSelected: _vueTypes.default.bool,
  manualRef: _vueTypes.default.func,
  role: _vueTypes.default.any,
  subMenuKey: _vueTypes.default.string,
  itemIcon: _vueTypes.default.any
};
var _default = exports.default = {
  name: 'SmMenuItem',
  isMenuItem: true,
  defaultComponent: _menu.default.Item,
  mixins: [_Theme.default, _AntdRender.default],
  inheritAttrs: false,
  props: menuItemTypes
};

/***/ }),

/***/ 62:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_0_1_node_modules_vue_loader_lib_index_js_vue_loader_options_SubMenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(63);
/* harmony import */ var _node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_0_1_node_modules_vue_loader_lib_index_js_vue_loader_options_SubMenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_0_1_node_modules_vue_loader_lib_index_js_vue_loader_options_SubMenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_0_1_node_modules_vue_loader_lib_index_js_vue_loader_options_SubMenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_0_1_node_modules_vue_loader_lib_index_js_vue_loader_options_SubMenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
 /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_node_modules_ts_loader_index_js_ref_0_1_node_modules_vue_loader_lib_index_js_vue_loader_options_SubMenu_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_0___default.a); 

/***/ }),

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

"use strict";


var _interopRequireDefault = __webpack_require__(0);
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.subMenuTypes = exports.default = void 0;
var _menu = _interopRequireDefault(__webpack_require__(98));
var _vueTypes = _interopRequireDefault(__webpack_require__(8));
var _Theme = _interopRequireDefault(__webpack_require__(4));
var _AntdRender = _interopRequireDefault(__webpack_require__(6));
var subMenuTypes = exports.subMenuTypes = {
  parentMenu: _vueTypes.default.object,
  title: _vueTypes.default.any,
  selectedKeys: _vueTypes.default.array.def([]),
  openKeys: _vueTypes.default.array.def([]),
  openChange: _vueTypes.default.func,
  rootPrefixCls: _vueTypes.default.string,
  eventKey: _vueTypes.default.oneOfType([_vueTypes.default.string, _vueTypes.default.number]),
  multiple: _vueTypes.default.bool,
  active: _vueTypes.default.bool,
  isRootMenu: _vueTypes.default.bool.def(false),
  index: _vueTypes.default.number,
  triggerSubMenuAction: _vueTypes.default.string,
  popupClassName: _vueTypes.default.string,
  getPopupContainer: _vueTypes.default.func,
  forceSubMenuRender: _vueTypes.default.bool,
  openAnimation: _vueTypes.default.oneOfType([_vueTypes.default.string, _vueTypes.default.object]),
  disabled: _vueTypes.default.bool,
  subMenuOpenDelay: _vueTypes.default.number.def(0.1),
  subMenuCloseDelay: _vueTypes.default.number.def(0.1),
  level: _vueTypes.default.number.def(1),
  inlineIndent: _vueTypes.default.number.def(24),
  openTransitionName: _vueTypes.default.string,
  popupOffset: _vueTypes.default.array,
  isOpen: _vueTypes.default.bool,
  store: _vueTypes.default.object,
  mode: _vueTypes.default.oneOf(['horizontal', 'vertical', 'vertical-left', 'vertical-right', 'inline']).def('vertical'),
  manualRef: _vueTypes.default.func,
  builtinPlacements: _vueTypes.default.object.def(function () {
    return {};
  }),
  itemIcon: _vueTypes.default.any,
  expandIcon: _vueTypes.default.any,
  subMenuKey: _vueTypes.default.string
};
var _default = exports.default = {
  name: 'SmSubMenu',
  isSubMenu: true,
  defaultComponent: _menu.default.SubMenu,
  mixins: [_Theme.default, _AntdRender.default],
  inheritAttrs: false,
  props: subMenuTypes
};

/***/ }),

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

"use strict";


var _interopRequireDefault = __webpack_require__(0);
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;
var _Attributes = _interopRequireDefault(__webpack_require__(665));
var _init = _interopRequireDefault(__webpack_require__(2));
_Attributes.default.install = function (Vue, opts) {
  (0, _init.default)(Vue, opts);
  Vue.component(_Attributes.default.options ? _Attributes.default.options.name : _Attributes.default.name, _Attributes.default);
};
var _default = exports.default = _Attributes.default;

/***/ }),

/***/ 665:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _Attributes_vue_vue_type_template_id_351e2d93___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(443);
/* harmony import */ var _Attributes_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(270);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _Attributes_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _Attributes_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(1);





/* normalize component */

var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"])(
  _Attributes_vue_vue_type_script_lang_ts___WEBPACK_IMPORTED_MODULE_1__["default"],
  _Attributes_vue_vue_type_template_id_351e2d93___WEBPACK_IMPORTED_MODULE_0__[/* render */ "a"],
  _Attributes_vue_vue_type_template_id_351e2d93___WEBPACK_IMPORTED_MODULE_0__[/* staticRenderFns */ "b"],
  false,
  null,
  null,
  null
  
)

/* harmony default export */ __webpack_exports__["default"] = (component.exports);

/***/ }),

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

module.exports = require("@supermap/vue-iclient-mapboxgl/lib/dropdown");

/***/ }),

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

module.exports = require("@supermap/vue-iclient-mapboxgl/lib/menu");

/***/ }),

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

"use strict";


var _interopRequireDefault = __webpack_require__(0);
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;
var _regenerator = _interopRequireDefault(__webpack_require__(36));
var _assertThisInitialized2 = _interopRequireDefault(__webpack_require__(24));
var _inheritsLoose2 = _interopRequireDefault(__webpack_require__(3));
var _mapboxGlEnhance = _interopRequireDefault(__webpack_require__(5));
var _bbox = _interopRequireDefault(__webpack_require__(34));
var _transformScale = _interopRequireDefault(__webpack_require__(42));
var _lodash = _interopRequireDefault(__webpack_require__(19));
var _lodash2 = _interopRequireDefault(__webpack_require__(669));
var _lodash3 = _interopRequireDefault(__webpack_require__(390));
var _getFeatures = _interopRequireDefault(__webpack_require__(391));
var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
  function adopt(value) {
    return value instanceof P ? value : new P(function (resolve) {
      resolve(value);
    });
  }
  return new (P || (P = Promise))(function (resolve, reject) {
    function fulfilled(value) {
      try {
        step(generator.next(value));
      } catch (e) {
        reject(e);
      }
    }
    function rejected(value) {
      try {
        step(generator["throw"](value));
      } catch (e) {
        reject(e);
      }
    }
    function step(result) {
      result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
    }
    step((generator = generator.apply(thisArg, _arguments || [])).next());
  });
};
var HIGHLIGHT_COLOR = '#01ffff';
var defaultPaintTypes = {
  circle: ['circle-radius', 'circle-stroke-width'],
  line: ['line-width'],
  fill: ['line-width']
};
var mbglStyle = {
  circle: {
    'circle-color': HIGHLIGHT_COLOR,
    'circle-opacity': 0.6,
    'circle-stroke-color': HIGHLIGHT_COLOR,
    'circle-stroke-opacity': 1
  },
  line: {
    'line-color': HIGHLIGHT_COLOR,
    'line-opacity': 1
  },
  fill: {
    'fill-color': HIGHLIGHT_COLOR,
    'fill-opacity': 0.6,
    'fill-outline-color': HIGHLIGHT_COLOR
  },
  symbol: {
    layout: {
      'icon-size': 5
    }
  }
};
var FeatureTableViewModel = /*#__PURE__*/function (_mapboxgl$Evented) {
  (0, _inheritsLoose2.default)(FeatureTableViewModel, _mapboxgl$Evented);
  function FeatureTableViewModel(options) {
    var _this;
    _this = _mapboxgl$Evented.call(this) || this;
    _this.selectedKeys = [];
    _this.addKeys = [];
    _this.featureMap = {};
    Object.keys(options).forEach(function (option) {
      _this[option] = options[option];
    });
    _this.clearSelectedRows();
    if (_this.useDataset()) {
      _this.getDatas();
    }
    _this.selectLayerFn = _this._selectLayerFn.bind((0, _assertThisInitialized2.default)(_this));
    return _this;
  }
  var _proto = FeatureTableViewModel.prototype;
  _proto.setMap = function setMap(mapInfo) {
    var map = mapInfo.map;
    this.map = map;
    this.fire('mapLoaded', map);
    this.handleAssociateWithMap();
    this.clearSelectedRows();
    if (this.layerName) {
      this.getDatas();
    }
  };
  _proto.setLayerName = function setLayerName(layerName) {
    this.layerName = layerName;
    this.getDatas();
  };
  _proto.setDataset = function setDataset(dataset) {
    this.dataset = dataset;
    this.clearSelectedRows();
    this.getDatas();
  };
  _proto.setLazy = function setLazy(lazy) {
    this.lazy = lazy;
    this.clearSelectedRows();
    this.getDatas();
  };
  _proto.setSorter = function setSorter(sorter) {
    this.sorter = sorter;
    this.getDatas();
  };
  _proto.setAssociateWithMap = function setAssociateWithMap(associateWithMap) {
    this.associateWithMap = associateWithMap;
    this.handleAssociateWithMap();
  };
  _proto.setPaginationOptions = function setPaginationOptions(paginationOptions) {
    this.paginationOptions = paginationOptions;
    this.getDatas();
  };
  _proto.setFieldInfo = function setFieldInfo(fieldConfigs) {
    this.fieldConfigs = fieldConfigs;
    this.getDatas();
  };
  _proto.refresh = function refresh() {
    this.paginationOptions.current = 1;
    this.clearSelectedRows();
    this.getDatas();
  };
  _proto.setSearchText = function setSearchText(searchText, searchedColumn) {
    this.searchText = searchText;
    this.searchedColumn = searchedColumn;
    this.getDatas();
  };
  _proto._selectLayerFn = function _selectLayerFn(e) {
    var pos = [e.point.x, e.point.y];
    var featuresInfo = this.map.queryRenderedFeatures(pos, {
      layers: [this.layerName]
    });
    if (featuresInfo && featuresInfo.length) {
      this.fire('changeSelectLayer', featuresInfo[0]);
    }
  };
  _proto.enableSelectFeature = function enableSelectFeature() {
    this.map && this.map.on('click', this.selectLayerFn);
  };
  _proto.disableSelectFeature = function disableSelectFeature() {
    this.map && this.map.off('click', this.selectLayerFn);
  };
  _proto.zoomToFeatures = function zoomToFeatures(selectedKeys) {
    var highLightList = this.handleCoords(selectedKeys);
    if (Object.keys(selectedKeys).length && this.map) {
      var features = Object.values(highLightList);
      var geojson = {
        type: 'FeatureCollection',
        features: features
      };
      var bounds = (0, _bbox.default)((0, _transformScale.default)(geojson, 2));
      this.map.fitBounds([[bounds[0], bounds[1]], [bounds[2], bounds[3]]], Object.assign({
        maxZoom: this.associateWithMap.zoomToFeature ? this.map.getMaxZoom() : this.map.getZoom()
      }, this.associateWithMap.flyOptions));
    }
  };
  _proto._inMapExtent = function _inMapExtent(featureObj) {
    var mapbounds = this.map.getBounds();
    if (this.addKeys.length) {
      return this.addKeys.every(function (key) {
        var _featureObj$key$geome = featureObj[key].geometry,
          type = _featureObj$key$geome.type,
          coordinates = _featureObj$key$geome.coordinates;
        if (['MultiLineString', 'Polygon'].includes(type)) {
          return coordinates.some(function (line) {
            return line.some(function (coordinate) {
              return mapbounds.contains(coordinate);
            });
          });
        } else if (['MultiPoint', 'LineString'].includes(type)) {
          return coordinates.some(function (coordinate) {
            return mapbounds.contains(coordinate);
          });
        } else if (type === 'MultiPolygon') {
          return coordinates[0].some(function (polygon) {
            return polygon.some(function (coordinate) {
              return mapbounds.contains(coordinate);
            });
          });
        }
        return mapbounds.contains(coordinates);
      });
    }
    return false;
  };
  _proto.addOverlaysToMap = function addOverlaysToMap(selectedKeys, layerStyleOptions, attributesTitle) {
    selectedKeys = this.handleCoords(selectedKeys);
    this.addKeys = (0, _lodash3.default)(Object.keys(selectedKeys), this.selectedKeys);
    this.selectedKeys = Object.keys(selectedKeys);
    var filter = ['any'];
    this.selectedKeys.forEach(function (key) {
      var feature = selectedKeys[key];
      if (feature) {
        filter.push(['==', 'index', feature.properties.index]);
      }
    });
    this.addOverlayToMap(filter, selectedKeys, layerStyleOptions, attributesTitle);
  };
  _proto.addOverlayToMap = function addOverlayToMap(filter, selectedKeys, layerStyleOptions, attributesTitle) {
    var _this$associateWithMa = this.associateWithMap,
      centerToFeature = _this$associateWithMa.centerToFeature,
      zoomToFeature = _this$associateWithMa.zoomToFeature;
    if (!this.map) {
      return;
    }
    var layer = this.map.getLayer(this.layerName);
    var type, id, paint;
    var features = [];
    if (!layer) {
      if (!Object.keys(this.featureMap).length) {
        return;
      }
      if (attributesTitle && this.currentTitle && attributesTitle !== this.currentTitle) {
        this.removed();
      }
      for (var key in this.featureMap) {
        features.push(this.featureMap[key]);
      }
      switch (features[0].geometry.type) {
        case 'Point':
          type = 'circle';
          break;
        case 'LineString':
        case 'MultiLineString':
          type = 'line';
          break;
        case 'Polygon':
        case 'MultiPolygon':
          type = 'fill';
          break;
        default:
          break;
      }
      id = attributesTitle;
      this.currentTitle = attributesTitle;
      this.sourceId = id + '-attributes-SM-highlighted-source';
      if (this.map.getSource(this.sourceId)) {
        this.map.getSource(this.sourceId).setData({
          type: 'FeatureCollection',
          features: features
        });
      } else {
        this.map.addSource(this.sourceId, {
          type: 'geojson',
          data: {
            type: 'FeatureCollection',
            features: features
          }
        });
      }
    } else {
      type = layer.type;
      id = layer.id;
      paint = layer.paint;
    }
    if (id.includes('-strokeLine') && type === 'line') {
      type = 'fill';
      paint = {};
    }
    var layerStyle = this._setDefaultPaintWidth(type, id, defaultPaintTypes[type], layerStyleOptions || this.layerStyle);
    this.layerId = id + '-attributes-SM-highlighted';
    this.strokeLayerID = id + '-attributes-SM-StrokeLine';
    if (!this.addKeys.length && !this.selectedKeys.length || JSON.stringify(layerStyleOptions) !== JSON.stringify(this.layerStyle)) {
      this.map.getLayer(this.layerId) && this.map.removeLayer(this.layerId);
      this.map.getLayer(this.strokeLayerID) && this.map.removeLayer(this.strokeLayerID);
    }
    if (['circle', 'fill', 'line'].includes(type)) {
      if (this.map.getLayer(this.layerId)) {
        this.map.setFilter(this.layerId, filter);
      } else {
        var highlightLayerStyle = layerStyle[type];
        var highlightLayer = {
          id: this.layerId,
          type: type,
          paint: highlightLayerStyle && highlightLayerStyle.paint || Object.assign({}, paint, mbglStyle[type]),
          layout: highlightLayerStyle && highlightLayerStyle.layout || {
            visibility: 'visible'
          },
          filter: filter
        };
        highlightLayer = Object.assign({}, layer || {
          source: this.sourceId
        }, highlightLayer);
        this.map.addLayer(highlightLayer);
      }
      if (this.addKeys.length && (centerToFeature || zoomToFeature || !zoomToFeature && Object.keys(selectedKeys).length && !this._inMapExtent(selectedKeys))) {
        this.zoomToFeatures(Object.keys(selectedKeys));
      }
    }
    if (type === 'fill') {
      if (this.map.getLayer(this.strokeLayerID)) {
        this.map.setFilter(this.strokeLayerID, filter);
      } else {
        var stokeLineStyle = layerStyle.strokeLine || layerStyle.stokeLine || {};
        var lineStyle = stokeLineStyle && stokeLineStyle.paint || {
          'line-width': 3,
          'line-color': HIGHLIGHT_COLOR,
          'line-opacity': 1
        };
        var _highlightLayer = {
          id: this.strokeLayerID,
          type: 'line',
          paint: lineStyle,
          layout: {
            visibility: 'visible'
          },
          filter: filter
        };
        _highlightLayer = Object.assign({}, layer || {
          source: this.sourceId
        }, _highlightLayer);
        this.map.addLayer(_highlightLayer);
      }
    }
    this.addKeys = [];
  };
  _proto._setDefaultPaintWidth = function _setDefaultPaintWidth(type, layerId, paintTypes, layerStyle) {
    var _this2 = this;
    if (!paintTypes) {
      return;
    }
    paintTypes.forEach(function (paintType) {
      var mapPaintProperty;
      if (type !== 'fill') {
        mapPaintProperty = _this2.map.getLayer(layerId) && _this2.map.getPaintProperty(layerId, paintType);
      } else {
        type = 'stokeLine';
      }
      layerStyle[type].paint[paintType] = layerStyle[type].paint[paintType] || mapPaintProperty;
      if (layerStyle[type].paint[paintType] === void 0 || layerStyle[type].paint[paintType] === '') {
        layerStyle[type].paint[paintType] = paintType === 'circle-stroke-width' || type === 'stokeLine' ? 2 : 8;
      }
    });
    return layerStyle;
  };
  _proto._getFeaturesFromLayer = function _getFeaturesFromLayer(layerName) {
    return this.map.getSource(layerName).getData().features;
  };
  _proto.getDatas = function getDatas() {
    return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator.default.mark(function _callee() {
      var features, totalCount, datas, content, columns;
      return _regenerator.default.wrap(function _callee$(_context) {
        while (1) switch (_context.prev = _context.next) {
          case 0:
            if (!(this.dataset || this.layerName)) {
              _context.next = 14;
              break;
            }
            if (!this.useDataset()) {
              _context.next = 9;
              break;
            }
            _context.next = 4;
            return this._getFeaturesFromDataset();
          case 4:
            datas = _context.sent;
            features = datas.features;
            totalCount = datas.totalCount;
            _context.next = 11;
            break;
          case 9:
            features = this._getFeaturesFromLayer(this.layerName);
            totalCount = features.length;
          case 11:
            content = this.toTableContent(features);
            columns = this.toTableColumns(features[0].properties);
            this.fire('dataChanged', {
              content: content,
              totalCount: totalCount,
              columns: columns
            });
          case 14:
          case "end":
            return _context.stop();
        }
      }, _callee, this);
    }));
  };
  _proto._getFeaturesFromDataset = function _getFeaturesFromDataset() {
    return __awaiter(this, void 0, void 0, /*#__PURE__*/_regenerator.default.mark(function _callee2() {
      var _this$dataset, url, geoJSON, dataset, sortType;
      return _regenerator.default.wrap(function _callee2$(_context2) {
        while (1) switch (_context2.prev = _context2.next) {
          case 0:
            _this$dataset = this.dataset, url = _this$dataset.url, geoJSON = _this$dataset.geoJSON;
            if (!(url || geoJSON)) {
              _context2.next = 8;
              break;
            }
            dataset = (0, _lodash.default)(this.dataset);
            if (!this.associateWithMap.enabled) {
              dataset.hasGeometry = false;
            }
            if (this.canLazyLoad()) {
              if (this.searchText && this.searchedColumn) {
                dataset.attributeFilter = this.searchedColumn + " like '%" + this.searchText + "%'";
              }
              if (this.sorter && this.sorter.field && this.sorter.order) {
                sortType = this.sorter.order === 'ascend' ? 'asc' : 'desc';
                dataset.orderBy = this.sorter.field + " " + sortType;
              }
              dataset.fromIndex = this.paginationOptions.pageSize * (this.paginationOptions.current - 1 || 0);
              dataset.toIndex = dataset.fromIndex + this.paginationOptions.pageSize - 1;
            }
            _context2.next = 7;
            return (0, _getFeatures.default)(dataset);
          case 7:
            return _context2.abrupt("return", _context2.sent);
          case 8:
          case "end":
            return _context2.stop();
        }
      }, _callee2, this);
    }));
  };
  _proto.toTableContent = function toTableContent(features) {
    var _this3 = this;
    var content = [];
    features && features.forEach(function (feature, index) {
      var properties = feature.properties;
      var coordinates = feature.geometry && feature.geometry.coordinates;
      if (!properties) {
        return;
      }
      !properties.index && (properties.index = index);
      if (coordinates && coordinates.length) {
        _this3.featureMap[properties.index] = feature;
      }
      properties.key = +properties.index;
      JSON.stringify(properties) !== '{}' && content.push(properties);
    });
    return content;
  };
  _proto.toTableColumns = function toTableColumns(headers) {
    var _this4 = this;
    var columns = [];
    Object.keys(headers).forEach(function (propertyName) {
      var columnConfig = {
        title: propertyName,
        dataIndex: propertyName,
        visible: true
      };
      if (!isNaN(parseFloat(headers[propertyName])) && !isNaN(+headers[propertyName])) {
        columnConfig.sorter = function (a, b) {
          return a[propertyName] - b[propertyName];
        };
      }
      if (_this4.fieldConfigs && _this4.fieldConfigs.length) {
        var config = _this4.fieldConfigs.find(function (fieldConfig) {
          return fieldConfig.value === propertyName;
        });
        if (config) {
          var copyConfig = (0, _lodash.default)(config);
          copyConfig.dataIndex = copyConfig.value;
          delete copyConfig.value;
          columnConfig = (0, _lodash2.default)(columnConfig, copyConfig, function (obj, src) {
            if (typeof src === 'undefined') {
              return obj;
            }
          });
          if (columnConfig.sorter && typeof columnConfig.sorter === 'boolean') {
            columnConfig.sorter = function (a, b) {
              return a[propertyName] - b[propertyName];
            };
          }
          if (columnConfig.search) {
            if (!columnConfig.onFilter) {
              columnConfig.onFilter = function (value, record) {
                return (record[propertyName] + '').includes(value);
              };
            }
            columnConfig.scopedSlots = {
              filterDropdown: 'filterDropdown',
              filterIcon: 'filterIcon',
              customRender: 'customRender'
            };
          }
          if (!columnConfig.customCell) {
            columnConfig.customCell = function (record) {
              return {
                attrs: {
                  title: record[copyConfig.dataIndex]
                }
              };
            };
          }
        }
      }
      columns.push(columnConfig);
    });
    var columnOrder = [];
    var columnsResult = [];
    this.fieldConfigs && this.fieldConfigs.forEach(function (element) {
      columnOrder.push(element.value);
    });
    columnOrder.forEach(function (str) {
      columns.forEach(function (element) {
        if (element.dataIndex === str) {
          columnsResult.push(element);
        }
      });
    });
    return columnsResult.length === 0 ? columns : columnsResult;
  };
  _proto.handleCoords = function handleCoords(selectedKeys) {
    var _this5 = this;
    var highLightList = {};
    selectedKeys.forEach(function (key) {
      if (_this5.featureMap[key]) {
        highLightList[key] = _this5.featureMap[key];
      }
    });
    return highLightList;
  };
  _proto.useDataset = function useDataset() {
    return !!(this.dataset && (this.dataset.url || this.dataset.geoJSON));
  };
  _proto.canLazyLoad = function canLazyLoad() {
    return this.lazy && this.dataset && this.dataset.url && this.dataset.type === 'iServer';
  };
  _proto.handleAssociateWithMap = function handleAssociateWithMap() {
    if (this.associateWithMap.enabled && this.layerName) {
      this.enableSelectFeature();
    } else {
      this.disableSelectFeature();
    }
  };
  _proto.clearSelectedRows = function clearSelectedRows() {
    this.fire('clearselectedrows');
  };
  _proto.removed = function removed() {
    this.map.getLayer(this.layerId) && this.map.removeLayer(this.layerId);
    this.map.getLayer(this.strokeLayerID) && this.map.removeLayer(this.strokeLayerID);
    this.map.getSource(this.sourceId) && this.map.removeSource(this.sourceId);
    this.map = null;
  };
  return FeatureTableViewModel;
}(_mapboxGlEnhance.default.Evented);
var _default = exports.default = FeatureTableViewModel;

/***/ }),

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

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

/***/ }),

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

module.exports = require("@supermap/vue-iclient-mapboxgl/lib/_mixin/map-getter.js");

/***/ }),

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

"use strict";


var _interopRequireDefault = __webpack_require__(0);
Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;
var _lodash = _interopRequireDefault(__webpack_require__(10));
var _utils = __webpack_require__(11);
var VuePropTypes = {
  get any() {
    return (0, _utils.toType)('any', {
      type: null
    });
  },
  get func() {
    return (0, _utils.toType)('function', {
      type: Function
    }).def(currentDefaults.func);
  },
  get bool() {
    return (0, _utils.toType)('boolean', {
      type: Boolean
    }).def(currentDefaults.bool);
  },
  get string() {
    return (0, _utils.toType)('string', {
      type: String
    }).def(currentDefaults.string);
  },
  get number() {
    return (0, _utils.toType)('number', {
      type: Number
    }).def(currentDefaults.number);
  },
  get array() {
    return (0, _utils.toType)('array', {
      type: Array
    }).def(currentDefaults.array);
  },
  get object() {
    return (0, _utils.toType)('object', {
      type: Object
    }).def(currentDefaults.object);
  },
  get integer() {
    return (0, _utils.toType)('integer', {
      type: Number,
      validator: function validator(value) {
        return (0, _utils.isInteger)(value);
      }
    }).def(currentDefaults.integer);
  },
  get symbol() {
    return (0, _utils.toType)('symbol', {
      type: null,
      validator: function validator(value) {
        return typeof value === 'symbol';
      }
    });
  },
  custom: function custom(validatorFn, warnMsg) {
    if (warnMsg === void 0) {
      warnMsg = 'custom validation failed';
    }
    if (typeof validatorFn !== 'function') {
      throw new TypeError('[VueTypes error]: You must provide a function as argument');
    }
    return (0, _utils.toType)(validatorFn.name || '<<anonymous function>>', {
      validator: function validator() {
        var valid = validatorFn.apply(void 0, arguments);
        if (!valid) (0, _utils.warn)(this._vueTypes_name + " - " + warnMsg);
        return valid;
      }
    });
  },
  oneOf: function oneOf(arr) {
    if (!(0, _utils.isArray)(arr)) {
      throw new TypeError('[VueTypes error]: You must provide an array as argument');
    }
    var msg = "oneOf - value should be one of \"" + arr.join('", "') + "\"";
    var allowedTypes = arr.reduce(function (ret, v) {
      if (v !== null && v !== undefined) {
        ret.indexOf(v.constructor) === -1 && ret.push(v.constructor);
      }
      return ret;
    }, []);
    return (0, _utils.toType)('oneOf', {
      type: allowedTypes.length > 0 ? allowedTypes : null,
      validator: function validator(value) {
        var valid = arr.indexOf(value) !== -1;
        if (!valid) (0, _utils.warn)(msg);
        return valid;
      }
    });
  },
  instanceOf: function instanceOf(instanceConstructor) {
    return (0, _utils.toType)('instanceOf', {
      type: instanceConstructor
    });
  },
  oneOfType: function oneOfType(arr) {
    if (!(0, _utils.isArray)(arr)) {
      throw new TypeError('[VueTypes error]: You must provide an array as argument');
    }
    var hasCustomValidators = false;
    var nativeChecks = arr.reduce(function (ret, type) {
      if ((0, _lodash.default)(type)) {
        if (type._vueTypes_name === 'oneOf') {
          return ret.concat(type.type || []);
        }
        if (type.type && !(0, _utils.isFunction)(type.validator)) {
          if ((0, _utils.isArray)(type.type)) return ret.concat(type.type);
          ret.push(type.type);
        } else if ((0, _utils.isFunction)(type.validator)) {
          hasCustomValidators = true;
        }
        return ret;
      }
      ret.push(type);
      return ret;
    }, []);
    if (!hasCustomValidators) {
      // we got just native objects (ie: Array, Object)
      // delegate to Vue native prop check
      return (0, _utils.toType)('oneOfType', {
        type: nativeChecks
      }).def(undefined);
    }
    var typesStr = arr.map(function (type) {
      if (type && (0, _utils.isArray)(type.type)) {
        return type.type.map(_utils.getType);
      }
      return (0, _utils.getType)(type);
    }).reduce(function (ret, type) {
      return ret.concat((0, _utils.isArray)(type) ? type : [type]);
    }, []).join('", "');
    return this.custom(function oneOfType(value) {
      var valid = arr.some(function (type) {
        if (type._vueTypes_name === 'oneOf') {
          return type.type ? (0, _utils.validateType)(type.type, value, true) : true;
        }
        return (0, _utils.validateType)(type, value, true);
      });
      if (!valid) (0, _utils.warn)("oneOfType - value type should be one of \"" + typesStr + "\"");
      return valid;
    }).def(undefined);
  },
  arrayOf: function arrayOf(type) {
    return (0, _utils.toType)('arrayOf', {
      type: Array,
      validator: function validator(values) {
        var valid = values.every(function (value) {
          return (0, _utils.validateType)(type, value);
        });
        if (!valid) (0, _utils.warn)("arrayOf - value must be an array of \"" + (0, _utils.getType)(type) + "\"");
        return valid;
      }
    });
  },
  objectOf: function objectOf(type) {
    return (0, _utils.toType)('objectOf', {
      type: Object,
      validator: function validator(obj) {
        var valid = Object.keys(obj).every(function (key) {
          return (0, _utils.validateType)(type, obj[key]);
        });
        if (!valid) (0, _utils.warn)("objectOf - value must be an object of \"" + (0, _utils.getType)(type) + "\"");
        return valid;
      }
    });
  },
  shape: function shape(obj) {
    var keys = Object.keys(obj);
    var requiredKeys = keys.filter(function (key) {
      return obj[key] && obj[key].required === true;
    });
    var type = (0, _utils.toType)('shape', {
      type: Object,
      validator: function validator(value) {
        var _this = this;
        if (!(0, _lodash.default)(value)) {
          return false;
        }
        var valueKeys = Object.keys(value);

        // check for required keys (if any)
        if (requiredKeys.length > 0 && requiredKeys.some(function (req) {
          return valueKeys.indexOf(req) === -1;
        })) {
          (0, _utils.warn)("shape - at least one of required properties \"" + requiredKeys.join('", "') + "\" is not present");
          return false;
        }
        return valueKeys.every(function (key) {
          if (keys.indexOf(key) === -1) {
            if (_this._vueTypes_isLoose === true) return true;
            (0, _utils.warn)("shape - object is missing \"" + key + "\" property");
            return false;
          }
          var type = obj[key];
          return (0, _utils.validateType)(type, value[key]);
        });
      }
    });
    Object.defineProperty(type, '_vueTypes_isLoose', {
      enumerable: false,
      writable: true,
      value: false
    });
    Object.defineProperty(type, 'loose', {
      get: function get() {
        this._vueTypes_isLoose = true;
        return this;
      },
      enumerable: false
    });
    return type;
  }
};
var typeDefaults = function typeDefaults() {
  return {
    func: undefined,
    bool: undefined,
    string: undefined,
    number: undefined,
    array: undefined,
    object: undefined,
    integer: undefined
  };
};
var currentDefaults = typeDefaults();
Object.defineProperty(VuePropTypes, 'sensibleDefaults', {
  enumerable: false,
  set: function set(value) {
    if (value === false) {
      currentDefaults = {};
    } else if (value === true) {
      currentDefaults = typeDefaults();
    } else if ((0, _lodash.default)(value)) {
      currentDefaults = value;
    }
  },
  get: function get() {
    return currentDefaults;
  }
});
var _default = exports.default = VuePropTypes;

/***/ }),

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

module.exports = require("@supermap/vue-iclient-mapboxgl/lib/_utils/RestService.js");

/***/ }),

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

module.exports = require("@supermap/vue-iclient-mapboxgl/lib/_utils/iPortalDataService.js");

/***/ }),

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

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

/***/ }),

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

module.exports = require("ant-design-vue/es/menu");

/***/ })

/******/ });