mapbox-gl-vue
Advanced tools
Comparing version 1.0.0 to 1.0.1
552
dist/app.js
@@ -66,3 +66,3 @@ /******/ (function(modules) { // webpackBootstrap | ||
/******/ // Load entry module and return exports | ||
/******/ return __webpack_require__(__webpack_require__.s = 10); | ||
/******/ return __webpack_require__(__webpack_require__.s = 6); | ||
/******/ }) | ||
@@ -74,38 +74,83 @@ /************************************************************************/ | ||
Vue.component('mapbox', __webpack_require__(3)); | ||
/* styles */ | ||
__webpack_require__(6) | ||
var app = new Vue({ | ||
el: '#app', | ||
methods: { | ||
mapLoaded: function mapLoaded(map) { | ||
map.addLayer({ | ||
'id': 'points', | ||
'type': 'symbol', | ||
'source': { | ||
'type': 'geojson', | ||
'data': { | ||
'type': 'FeatureCollection', | ||
'features': [{ | ||
'type': 'Feature', | ||
'geometry': { | ||
'type': 'Point', | ||
'coordinates': [-77.03238901390978, 38.913188059745586] | ||
}, | ||
'properties': { | ||
'title': 'Mapbox DC', | ||
'icon': 'monument' | ||
} | ||
}, { | ||
'type': 'Feature', | ||
'geometry': { | ||
'type': 'Point', | ||
'coordinates': [-122.414, 37.776] | ||
}, | ||
'properties': { | ||
'title': 'Mapbox SF', | ||
'icon': 'harbor' | ||
} | ||
}] | ||
} | ||
}, | ||
'layout': { | ||
'icon-image': '{icon}-15', | ||
'text-field': '{title}', | ||
'text-font': ['Open Sans Semibold', 'Arial Unicode MS Bold'], | ||
'text-offset': [0, 0.6], | ||
'text-anchor': 'top' | ||
} | ||
}); | ||
}, | ||
mapClicked: function mapClicked(map, e) { | ||
this.addPopUp(map, e); | ||
}, | ||
mapMouseMove: function mapMouseMove(map, e) { | ||
var features = map.queryRenderedFeatures(e.point, { layers: ['points'] }); | ||
map.getCanvas().style.cursor = features.length ? 'pointer' : ''; | ||
}, | ||
addPopUp: function addPopUp(map, e) { | ||
var features = map.queryRenderedFeatures(e.point, { layers: ['points'] }); | ||
if (!features.length) { | ||
return; | ||
} | ||
var Component = __webpack_require__(4)( | ||
/* script */ | ||
__webpack_require__(1), | ||
/* template */ | ||
__webpack_require__(5), | ||
/* scopeId */ | ||
null, | ||
/* cssModules */ | ||
null | ||
) | ||
Component.options.__file = "/Users/peterhegman/Sites/mapbox-gl-vue/src/components/Mapbox.vue" | ||
if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")} | ||
if (Component.options.functional) {console.error("[vue-loader] Mapbox.vue: functional components are not supported with templates, they should use render functions.")} | ||
var feature = features[0]; | ||
/* hot reload */ | ||
if (false) {(function () { | ||
var hotAPI = require("vue-hot-reload-api") | ||
hotAPI.install(require("vue"), false) | ||
if (!hotAPI.compatible) return | ||
module.hot.accept() | ||
if (!module.hot.data) { | ||
hotAPI.createRecord("data-v-0773bd0c", Component.options) | ||
} else { | ||
hotAPI.reload("data-v-0773bd0c", Component.options) | ||
} | ||
})()} | ||
var tmp = Vue.extend({ | ||
template: '<span @click="testMap">Test</span>', | ||
methods: { | ||
testMap: function testMap() { | ||
console.log('worked'); | ||
} | ||
} | ||
}); | ||
module.exports = Component.exports | ||
// Populate the popup and set its coordinates | ||
// based on the feature found. | ||
var popup = new mapboxgl.Popup().setLngLat(feature.geometry.coordinates).setHTML('<div id="vue-popup-content"></div>').addTo(map); | ||
new tmp().$mount('#vue-popup-content'); | ||
} | ||
} | ||
}); | ||
/***/ }), | ||
/* 1 */ | ||
/* 1 */, | ||
/* 2 */ | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
@@ -435,64 +480,35 @@ | ||
/***/ }), | ||
/* 2 */ | ||
/* 3 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
exports = module.exports = __webpack_require__(3)(); | ||
exports.push([module.i, "\n#map {\n\theight: 500px;\n\twidth: 100%;\n}\n", ""]); | ||
var Component = __webpack_require__(4)( | ||
/* script */ | ||
__webpack_require__(2), | ||
/* template */ | ||
__webpack_require__(5), | ||
/* scopeId */ | ||
null, | ||
/* cssModules */ | ||
null | ||
) | ||
Component.options.__file = "/Users/peterhegman/Sites/mapbox-gl-vue/src/components/Mapbox.vue" | ||
if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")} | ||
if (Component.options.functional) {console.error("[vue-loader] Mapbox.vue: functional components are not supported with templates, they should use render functions.")} | ||
/***/ }), | ||
/* 3 */ | ||
/***/ (function(module, exports) { | ||
/* hot reload */ | ||
if (false) {(function () { | ||
var hotAPI = require("vue-hot-reload-api") | ||
hotAPI.install(require("vue"), false) | ||
if (!hotAPI.compatible) return | ||
module.hot.accept() | ||
if (!module.hot.data) { | ||
hotAPI.createRecord("data-v-0773bd0c", Component.options) | ||
} else { | ||
hotAPI.reload("data-v-0773bd0c", Component.options) | ||
} | ||
})()} | ||
/* | ||
MIT License http://www.opensource.org/licenses/mit-license.php | ||
Author Tobias Koppers @sokra | ||
*/ | ||
// css base code, injected by the css-loader | ||
module.exports = function() { | ||
var list = []; | ||
module.exports = Component.exports | ||
// return the list of modules as css string | ||
list.toString = function toString() { | ||
var result = []; | ||
for(var i = 0; i < this.length; i++) { | ||
var item = this[i]; | ||
if(item[2]) { | ||
result.push("@media " + item[2] + "{" + item[1] + "}"); | ||
} else { | ||
result.push(item[1]); | ||
} | ||
} | ||
return result.join(""); | ||
}; | ||
// import a list of modules into the list | ||
list.i = function(modules, mediaQuery) { | ||
if(typeof modules === "string") | ||
modules = [[null, modules, ""]]; | ||
var alreadyImportedModules = {}; | ||
for(var i = 0; i < this.length; i++) { | ||
var id = this[i][0]; | ||
if(typeof id === "number") | ||
alreadyImportedModules[id] = true; | ||
} | ||
for(i = 0; i < modules.length; i++) { | ||
var item = modules[i]; | ||
// skip already imported module | ||
// this implementation is not 100% perfect for weird media query combinations | ||
// when a module is imported multiple times with different media queries. | ||
// I hope this will never occur (Hey this way we have smaller bundles) | ||
if(typeof item[0] !== "number" || !alreadyImportedModules[item[0]]) { | ||
if(mediaQuery && !item[2]) { | ||
item[2] = mediaQuery; | ||
} else if(mediaQuery) { | ||
item[2] = "(" + item[2] + ") and (" + mediaQuery + ")"; | ||
} | ||
list.push(item); | ||
} | ||
} | ||
}; | ||
return list; | ||
}; | ||
/***/ }), | ||
@@ -578,368 +594,6 @@ /* 4 */ | ||
// style-loader: Adds some css to the DOM by adding a <style> tag | ||
module.exports = __webpack_require__(0); | ||
// load the styles | ||
var content = __webpack_require__(2); | ||
if(typeof content === 'string') content = [[module.i, content, '']]; | ||
if(content.locals) module.exports = content.locals; | ||
// add the styles to the DOM | ||
var update = __webpack_require__(7)("78f494f3", content, false); | ||
// Hot Module Replacement | ||
if(false) { | ||
// When the styles change, update the <style> tags | ||
if(!content.locals) { | ||
module.hot.accept("!!../../node_modules/css-loader/index.js!../../node_modules/vue-loader/lib/style-compiler/index.js?{\"id\":\"data-v-0773bd0c\",\"scoped\":false,\"hasInlineConfig\":true}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./Mapbox.vue", function() { | ||
var newContent = require("!!../../node_modules/css-loader/index.js!../../node_modules/vue-loader/lib/style-compiler/index.js?{\"id\":\"data-v-0773bd0c\",\"scoped\":false,\"hasInlineConfig\":true}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./Mapbox.vue"); | ||
if(typeof newContent === 'string') newContent = [[module.id, newContent, '']]; | ||
update(newContent); | ||
}); | ||
} | ||
// When the module is disposed, remove the <style> tags | ||
module.hot.dispose(function() { update(); }); | ||
} | ||
/***/ }), | ||
/* 7 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
/* | ||
MIT License http://www.opensource.org/licenses/mit-license.php | ||
Author Tobias Koppers @sokra | ||
Modified by Evan You @yyx990803 | ||
*/ | ||
var hasDocument = typeof document !== 'undefined' | ||
if (typeof DEBUG !== 'undefined' && DEBUG) { | ||
if (!hasDocument) { | ||
throw new Error( | ||
'vue-style-loader cannot be used in a non-browser environment. ' + | ||
"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment." | ||
) } | ||
} | ||
var listToStyles = __webpack_require__(8) | ||
/* | ||
type StyleObject = { | ||
id: number; | ||
parts: Array<StyleObjectPart> | ||
} | ||
type StyleObjectPart = { | ||
css: string; | ||
media: string; | ||
sourceMap: ?string | ||
} | ||
*/ | ||
var stylesInDom = {/* | ||
[id: number]: { | ||
id: number, | ||
refs: number, | ||
parts: Array<(obj?: StyleObjectPart) => void> | ||
} | ||
*/} | ||
var head = hasDocument && (document.head || document.getElementsByTagName('head')[0]) | ||
var singletonElement = null | ||
var singletonCounter = 0 | ||
var isProduction = false | ||
var noop = function () {} | ||
// Force single-tag solution on IE6-9, which has a hard limit on the # of <style> | ||
// tags it will allow on a page | ||
var isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\b/.test(navigator.userAgent.toLowerCase()) | ||
module.exports = function (parentId, list, _isProduction) { | ||
isProduction = _isProduction | ||
var styles = listToStyles(parentId, list) | ||
addStylesToDom(styles) | ||
return function update (newList) { | ||
var mayRemove = [] | ||
for (var i = 0; i < styles.length; i++) { | ||
var item = styles[i] | ||
var domStyle = stylesInDom[item.id] | ||
domStyle.refs-- | ||
mayRemove.push(domStyle) | ||
} | ||
if (newList) { | ||
styles = listToStyles(parentId, newList) | ||
addStylesToDom(styles) | ||
} else { | ||
styles = [] | ||
} | ||
for (var i = 0; i < mayRemove.length; i++) { | ||
var domStyle = mayRemove[i] | ||
if (domStyle.refs === 0) { | ||
for (var j = 0; j < domStyle.parts.length; j++) { | ||
domStyle.parts[j]() | ||
} | ||
delete stylesInDom[domStyle.id] | ||
} | ||
} | ||
} | ||
} | ||
function addStylesToDom (styles /* Array<StyleObject> */) { | ||
for (var i = 0; i < styles.length; i++) { | ||
var item = styles[i] | ||
var domStyle = stylesInDom[item.id] | ||
if (domStyle) { | ||
domStyle.refs++ | ||
for (var j = 0; j < domStyle.parts.length; j++) { | ||
domStyle.parts[j](item.parts[j]) | ||
} | ||
for (; j < item.parts.length; j++) { | ||
domStyle.parts.push(addStyle(item.parts[j])) | ||
} | ||
if (domStyle.parts.length > item.parts.length) { | ||
domStyle.parts.length = item.parts.length | ||
} | ||
} else { | ||
var parts = [] | ||
for (var j = 0; j < item.parts.length; j++) { | ||
parts.push(addStyle(item.parts[j])) | ||
} | ||
stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts } | ||
} | ||
} | ||
} | ||
function createStyleElement () { | ||
var styleElement = document.createElement('style') | ||
styleElement.type = 'text/css' | ||
head.appendChild(styleElement) | ||
return styleElement | ||
} | ||
function addStyle (obj /* StyleObjectPart */) { | ||
var update, remove | ||
var styleElement = document.querySelector('style[data-vue-ssr-id~="' + obj.id + '"]') | ||
if (styleElement) { | ||
if (isProduction) { | ||
// has SSR styles and in production mode. | ||
// simply do nothing. | ||
return noop | ||
} else { | ||
// has SSR styles but in dev mode. | ||
// for some reason Chrome can't handle source map in server-rendered | ||
// style tags - source maps in <style> only works if the style tag is | ||
// created and inserted dynamically. So we remove the server rendered | ||
// styles and inject new ones. | ||
styleElement.parentNode.removeChild(styleElement) | ||
} | ||
} | ||
if (isOldIE) { | ||
// use singleton mode for IE9. | ||
var styleIndex = singletonCounter++ | ||
styleElement = singletonElement || (singletonElement = createStyleElement()) | ||
update = applyToSingletonTag.bind(null, styleElement, styleIndex, false) | ||
remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true) | ||
} else { | ||
// use multi-style-tag mode in all other cases | ||
styleElement = createStyleElement() | ||
update = applyToTag.bind(null, styleElement) | ||
remove = function () { | ||
styleElement.parentNode.removeChild(styleElement) | ||
} | ||
} | ||
update(obj) | ||
return function updateStyle (newObj /* StyleObjectPart */) { | ||
if (newObj) { | ||
if (newObj.css === obj.css && | ||
newObj.media === obj.media && | ||
newObj.sourceMap === obj.sourceMap) { | ||
return | ||
} | ||
update(obj = newObj) | ||
} else { | ||
remove() | ||
} | ||
} | ||
} | ||
var replaceText = (function () { | ||
var textStore = [] | ||
return function (index, replacement) { | ||
textStore[index] = replacement | ||
return textStore.filter(Boolean).join('\n') | ||
} | ||
})() | ||
function applyToSingletonTag (styleElement, index, remove, obj) { | ||
var css = remove ? '' : obj.css | ||
if (styleElement.styleSheet) { | ||
styleElement.styleSheet.cssText = replaceText(index, css) | ||
} else { | ||
var cssNode = document.createTextNode(css) | ||
var childNodes = styleElement.childNodes | ||
if (childNodes[index]) styleElement.removeChild(childNodes[index]) | ||
if (childNodes.length) { | ||
styleElement.insertBefore(cssNode, childNodes[index]) | ||
} else { | ||
styleElement.appendChild(cssNode) | ||
} | ||
} | ||
} | ||
function applyToTag (styleElement, obj) { | ||
var css = obj.css | ||
var media = obj.media | ||
var sourceMap = obj.sourceMap | ||
if (media) { | ||
styleElement.setAttribute('media', media) | ||
} | ||
if (sourceMap) { | ||
// https://developer.chrome.com/devtools/docs/javascript-debugging | ||
// this makes source maps inside style tags work properly in Chrome | ||
css += '\n/*# sourceURL=' + sourceMap.sources[0] + ' */' | ||
// http://stackoverflow.com/a/26603875 | ||
css += '\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */' | ||
} | ||
if (styleElement.styleSheet) { | ||
styleElement.styleSheet.cssText = css | ||
} else { | ||
while (styleElement.firstChild) { | ||
styleElement.removeChild(styleElement.firstChild) | ||
} | ||
styleElement.appendChild(document.createTextNode(css)) | ||
} | ||
} | ||
/***/ }), | ||
/* 8 */ | ||
/***/ (function(module, exports) { | ||
/** | ||
* Translates the list format produced by css-loader into something | ||
* easier to manipulate. | ||
*/ | ||
module.exports = function listToStyles (parentId, list) { | ||
var styles = [] | ||
var newStyles = {} | ||
for (var i = 0; i < list.length; i++) { | ||
var item = list[i] | ||
var id = item[0] | ||
var css = item[1] | ||
var media = item[2] | ||
var sourceMap = item[3] | ||
var part = { | ||
id: parentId + ':' + i, | ||
css: css, | ||
media: media, | ||
sourceMap: sourceMap | ||
} | ||
if (!newStyles[id]) { | ||
styles.push(newStyles[id] = { id: id, parts: [part] }) | ||
} else { | ||
newStyles[id].parts.push(part) | ||
} | ||
} | ||
return styles | ||
} | ||
/***/ }), | ||
/* 9 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
Vue.component('mapbox', __webpack_require__(0)); | ||
var app = new Vue({ | ||
el: '#app', | ||
methods: { | ||
mapLoaded: function mapLoaded(map) { | ||
map.addLayer({ | ||
'id': 'points', | ||
'type': 'symbol', | ||
'source': { | ||
'type': 'geojson', | ||
'data': { | ||
'type': 'FeatureCollection', | ||
'features': [{ | ||
'type': 'Feature', | ||
'geometry': { | ||
'type': 'Point', | ||
'coordinates': [-77.03238901390978, 38.913188059745586] | ||
}, | ||
'properties': { | ||
'title': 'Mapbox DC', | ||
'icon': 'monument' | ||
} | ||
}, { | ||
'type': 'Feature', | ||
'geometry': { | ||
'type': 'Point', | ||
'coordinates': [-122.414, 37.776] | ||
}, | ||
'properties': { | ||
'title': 'Mapbox SF', | ||
'icon': 'harbor' | ||
} | ||
}] | ||
} | ||
}, | ||
'layout': { | ||
'icon-image': '{icon}-15', | ||
'text-field': '{title}', | ||
'text-font': ['Open Sans Semibold', 'Arial Unicode MS Bold'], | ||
'text-offset': [0, 0.6], | ||
'text-anchor': 'top' | ||
} | ||
}); | ||
}, | ||
mapClicked: function mapClicked(map, e) { | ||
this.addPopUp(map, e); | ||
}, | ||
mapMouseMove: function mapMouseMove(map, e) { | ||
var features = map.queryRenderedFeatures(e.point, { layers: ['points'] }); | ||
map.getCanvas().style.cursor = features.length ? 'pointer' : ''; | ||
}, | ||
addPopUp: function addPopUp(map, e) { | ||
var features = map.queryRenderedFeatures(e.point, { layers: ['points'] }); | ||
if (!features.length) { | ||
return; | ||
} | ||
var feature = features[0]; | ||
var tmp = Vue.extend({ | ||
template: '<span @click="testMap">Test</span>', | ||
methods: { | ||
testMap: function testMap() { | ||
console.log('worked'); | ||
} | ||
} | ||
}); | ||
// Populate the popup and set its coordinates | ||
// based on the feature found. | ||
var popup = new mapboxgl.Popup().setLngLat(feature.geometry.coordinates).setHTML('<div id="vue-popup-content"></div>').addTo(map); | ||
new tmp().$mount('#vue-popup-content'); | ||
} | ||
} | ||
}); | ||
/***/ }), | ||
/* 10 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
module.exports = __webpack_require__(9); | ||
/***/ }) | ||
/******/ ]); |
@@ -66,45 +66,8 @@ /******/ (function(modules) { // webpackBootstrap | ||
/******/ // Load entry module and return exports | ||
/******/ return __webpack_require__(__webpack_require__.s = 11); | ||
/******/ return __webpack_require__(__webpack_require__.s = 7); | ||
/******/ }) | ||
/************************************************************************/ | ||
/******/ ([ | ||
/* 0 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
/******/ ({ | ||
/* styles */ | ||
__webpack_require__(6) | ||
var Component = __webpack_require__(4)( | ||
/* script */ | ||
__webpack_require__(1), | ||
/* template */ | ||
__webpack_require__(5), | ||
/* scopeId */ | ||
null, | ||
/* cssModules */ | ||
null | ||
) | ||
Component.options.__file = "/Users/peterhegman/Sites/mapbox-gl-vue/src/components/Mapbox.vue" | ||
if (Component.esModule && Object.keys(Component.esModule).some(function (key) {return key !== "default" && key !== "__esModule"})) {console.error("named exports are not supported in *.vue files.")} | ||
if (Component.options.functional) {console.error("[vue-loader] Mapbox.vue: functional components are not supported with templates, they should use render functions.")} | ||
/* hot reload */ | ||
if (false) {(function () { | ||
var hotAPI = require("vue-hot-reload-api") | ||
hotAPI.install(require("vue"), false) | ||
if (!hotAPI.compatible) return | ||
module.hot.accept() | ||
if (!module.hot.data) { | ||
hotAPI.createRecord("data-v-0773bd0c", Component.options) | ||
} else { | ||
hotAPI.reload("data-v-0773bd0c", Component.options) | ||
} | ||
})()} | ||
module.exports = Component.exports | ||
/***/ }), | ||
/* 1 */ | ||
/***/ 1: | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
@@ -114,4 +77,4 @@ | ||
Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); | ||
/* harmony default export */ __webpack_exports__["default"] = ({ | ||
template: '<div id="map"></div>', | ||
data: function data() { | ||
@@ -435,430 +398,11 @@ return {}; | ||
/***/ }), | ||
/* 2 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
exports = module.exports = __webpack_require__(3)(); | ||
exports.push([module.i, "\n#map {\n\theight: 500px;\n\twidth: 100%;\n}\n", ""]); | ||
/***/ }), | ||
/* 3 */ | ||
/***/ (function(module, exports) { | ||
/* | ||
MIT License http://www.opensource.org/licenses/mit-license.php | ||
Author Tobias Koppers @sokra | ||
*/ | ||
// css base code, injected by the css-loader | ||
module.exports = function() { | ||
var list = []; | ||
// return the list of modules as css string | ||
list.toString = function toString() { | ||
var result = []; | ||
for(var i = 0; i < this.length; i++) { | ||
var item = this[i]; | ||
if(item[2]) { | ||
result.push("@media " + item[2] + "{" + item[1] + "}"); | ||
} else { | ||
result.push(item[1]); | ||
} | ||
} | ||
return result.join(""); | ||
}; | ||
// import a list of modules into the list | ||
list.i = function(modules, mediaQuery) { | ||
if(typeof modules === "string") | ||
modules = [[null, modules, ""]]; | ||
var alreadyImportedModules = {}; | ||
for(var i = 0; i < this.length; i++) { | ||
var id = this[i][0]; | ||
if(typeof id === "number") | ||
alreadyImportedModules[id] = true; | ||
} | ||
for(i = 0; i < modules.length; i++) { | ||
var item = modules[i]; | ||
// skip already imported module | ||
// this implementation is not 100% perfect for weird media query combinations | ||
// when a module is imported multiple times with different media queries. | ||
// I hope this will never occur (Hey this way we have smaller bundles) | ||
if(typeof item[0] !== "number" || !alreadyImportedModules[item[0]]) { | ||
if(mediaQuery && !item[2]) { | ||
item[2] = mediaQuery; | ||
} else if(mediaQuery) { | ||
item[2] = "(" + item[2] + ") and (" + mediaQuery + ")"; | ||
} | ||
list.push(item); | ||
} | ||
} | ||
}; | ||
return list; | ||
}; | ||
/***/ }), | ||
/* 4 */ | ||
/***/ (function(module, exports) { | ||
// this module is a runtime utility for cleaner component module output and will | ||
// be included in the final webpack user bundle | ||
module.exports = function normalizeComponent ( | ||
rawScriptExports, | ||
compiledTemplate, | ||
scopeId, | ||
cssModules | ||
) { | ||
var esModule | ||
var scriptExports = rawScriptExports = rawScriptExports || {} | ||
// ES6 modules interop | ||
var type = typeof rawScriptExports.default | ||
if (type === 'object' || type === 'function') { | ||
esModule = rawScriptExports | ||
scriptExports = rawScriptExports.default | ||
} | ||
// Vue.extend constructor export interop | ||
var options = typeof scriptExports === 'function' | ||
? scriptExports.options | ||
: scriptExports | ||
// render functions | ||
if (compiledTemplate) { | ||
options.render = compiledTemplate.render | ||
options.staticRenderFns = compiledTemplate.staticRenderFns | ||
} | ||
// scopedId | ||
if (scopeId) { | ||
options._scopeId = scopeId | ||
} | ||
// inject cssModules | ||
if (cssModules) { | ||
var computed = Object.create(options.computed || null) | ||
Object.keys(cssModules).forEach(function (key) { | ||
var module = cssModules[key] | ||
computed[key] = function () { return module } | ||
}) | ||
options.computed = computed | ||
} | ||
return { | ||
esModule: esModule, | ||
exports: scriptExports, | ||
options: options | ||
} | ||
} | ||
/***/ }), | ||
/* 5 */ | ||
/***/ 7: | ||
/***/ (function(module, exports, __webpack_require__) { | ||
module.exports={render:function (){var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h; | ||
return _c('div', { | ||
attrs: { | ||
"id": "map" | ||
} | ||
}) | ||
},staticRenderFns: []} | ||
module.exports.render._withStripped = true | ||
if (false) { | ||
module.hot.accept() | ||
if (module.hot.data) { | ||
require("vue-hot-reload-api").rerender("data-v-0773bd0c", module.exports) | ||
} | ||
} | ||
module.exports = __webpack_require__(1); | ||
/***/ }), | ||
/* 6 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
// style-loader: Adds some css to the DOM by adding a <style> tag | ||
/***/ }) | ||
// load the styles | ||
var content = __webpack_require__(2); | ||
if(typeof content === 'string') content = [[module.i, content, '']]; | ||
if(content.locals) module.exports = content.locals; | ||
// add the styles to the DOM | ||
var update = __webpack_require__(7)("78f494f3", content, false); | ||
// Hot Module Replacement | ||
if(false) { | ||
// When the styles change, update the <style> tags | ||
if(!content.locals) { | ||
module.hot.accept("!!../../node_modules/css-loader/index.js!../../node_modules/vue-loader/lib/style-compiler/index.js?{\"id\":\"data-v-0773bd0c\",\"scoped\":false,\"hasInlineConfig\":true}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./Mapbox.vue", function() { | ||
var newContent = require("!!../../node_modules/css-loader/index.js!../../node_modules/vue-loader/lib/style-compiler/index.js?{\"id\":\"data-v-0773bd0c\",\"scoped\":false,\"hasInlineConfig\":true}!../../node_modules/vue-loader/lib/selector.js?type=styles&index=0!./Mapbox.vue"); | ||
if(typeof newContent === 'string') newContent = [[module.id, newContent, '']]; | ||
update(newContent); | ||
}); | ||
} | ||
// When the module is disposed, remove the <style> tags | ||
module.hot.dispose(function() { update(); }); | ||
} | ||
/***/ }), | ||
/* 7 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
/* | ||
MIT License http://www.opensource.org/licenses/mit-license.php | ||
Author Tobias Koppers @sokra | ||
Modified by Evan You @yyx990803 | ||
*/ | ||
var hasDocument = typeof document !== 'undefined' | ||
if (typeof DEBUG !== 'undefined' && DEBUG) { | ||
if (!hasDocument) { | ||
throw new Error( | ||
'vue-style-loader cannot be used in a non-browser environment. ' + | ||
"Use { target: 'node' } in your Webpack config to indicate a server-rendering environment." | ||
) } | ||
} | ||
var listToStyles = __webpack_require__(8) | ||
/* | ||
type StyleObject = { | ||
id: number; | ||
parts: Array<StyleObjectPart> | ||
} | ||
type StyleObjectPart = { | ||
css: string; | ||
media: string; | ||
sourceMap: ?string | ||
} | ||
*/ | ||
var stylesInDom = {/* | ||
[id: number]: { | ||
id: number, | ||
refs: number, | ||
parts: Array<(obj?: StyleObjectPart) => void> | ||
} | ||
*/} | ||
var head = hasDocument && (document.head || document.getElementsByTagName('head')[0]) | ||
var singletonElement = null | ||
var singletonCounter = 0 | ||
var isProduction = false | ||
var noop = function () {} | ||
// Force single-tag solution on IE6-9, which has a hard limit on the # of <style> | ||
// tags it will allow on a page | ||
var isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\b/.test(navigator.userAgent.toLowerCase()) | ||
module.exports = function (parentId, list, _isProduction) { | ||
isProduction = _isProduction | ||
var styles = listToStyles(parentId, list) | ||
addStylesToDom(styles) | ||
return function update (newList) { | ||
var mayRemove = [] | ||
for (var i = 0; i < styles.length; i++) { | ||
var item = styles[i] | ||
var domStyle = stylesInDom[item.id] | ||
domStyle.refs-- | ||
mayRemove.push(domStyle) | ||
} | ||
if (newList) { | ||
styles = listToStyles(parentId, newList) | ||
addStylesToDom(styles) | ||
} else { | ||
styles = [] | ||
} | ||
for (var i = 0; i < mayRemove.length; i++) { | ||
var domStyle = mayRemove[i] | ||
if (domStyle.refs === 0) { | ||
for (var j = 0; j < domStyle.parts.length; j++) { | ||
domStyle.parts[j]() | ||
} | ||
delete stylesInDom[domStyle.id] | ||
} | ||
} | ||
} | ||
} | ||
function addStylesToDom (styles /* Array<StyleObject> */) { | ||
for (var i = 0; i < styles.length; i++) { | ||
var item = styles[i] | ||
var domStyle = stylesInDom[item.id] | ||
if (domStyle) { | ||
domStyle.refs++ | ||
for (var j = 0; j < domStyle.parts.length; j++) { | ||
domStyle.parts[j](item.parts[j]) | ||
} | ||
for (; j < item.parts.length; j++) { | ||
domStyle.parts.push(addStyle(item.parts[j])) | ||
} | ||
if (domStyle.parts.length > item.parts.length) { | ||
domStyle.parts.length = item.parts.length | ||
} | ||
} else { | ||
var parts = [] | ||
for (var j = 0; j < item.parts.length; j++) { | ||
parts.push(addStyle(item.parts[j])) | ||
} | ||
stylesInDom[item.id] = { id: item.id, refs: 1, parts: parts } | ||
} | ||
} | ||
} | ||
function createStyleElement () { | ||
var styleElement = document.createElement('style') | ||
styleElement.type = 'text/css' | ||
head.appendChild(styleElement) | ||
return styleElement | ||
} | ||
function addStyle (obj /* StyleObjectPart */) { | ||
var update, remove | ||
var styleElement = document.querySelector('style[data-vue-ssr-id~="' + obj.id + '"]') | ||
if (styleElement) { | ||
if (isProduction) { | ||
// has SSR styles and in production mode. | ||
// simply do nothing. | ||
return noop | ||
} else { | ||
// has SSR styles but in dev mode. | ||
// for some reason Chrome can't handle source map in server-rendered | ||
// style tags - source maps in <style> only works if the style tag is | ||
// created and inserted dynamically. So we remove the server rendered | ||
// styles and inject new ones. | ||
styleElement.parentNode.removeChild(styleElement) | ||
} | ||
} | ||
if (isOldIE) { | ||
// use singleton mode for IE9. | ||
var styleIndex = singletonCounter++ | ||
styleElement = singletonElement || (singletonElement = createStyleElement()) | ||
update = applyToSingletonTag.bind(null, styleElement, styleIndex, false) | ||
remove = applyToSingletonTag.bind(null, styleElement, styleIndex, true) | ||
} else { | ||
// use multi-style-tag mode in all other cases | ||
styleElement = createStyleElement() | ||
update = applyToTag.bind(null, styleElement) | ||
remove = function () { | ||
styleElement.parentNode.removeChild(styleElement) | ||
} | ||
} | ||
update(obj) | ||
return function updateStyle (newObj /* StyleObjectPart */) { | ||
if (newObj) { | ||
if (newObj.css === obj.css && | ||
newObj.media === obj.media && | ||
newObj.sourceMap === obj.sourceMap) { | ||
return | ||
} | ||
update(obj = newObj) | ||
} else { | ||
remove() | ||
} | ||
} | ||
} | ||
var replaceText = (function () { | ||
var textStore = [] | ||
return function (index, replacement) { | ||
textStore[index] = replacement | ||
return textStore.filter(Boolean).join('\n') | ||
} | ||
})() | ||
function applyToSingletonTag (styleElement, index, remove, obj) { | ||
var css = remove ? '' : obj.css | ||
if (styleElement.styleSheet) { | ||
styleElement.styleSheet.cssText = replaceText(index, css) | ||
} else { | ||
var cssNode = document.createTextNode(css) | ||
var childNodes = styleElement.childNodes | ||
if (childNodes[index]) styleElement.removeChild(childNodes[index]) | ||
if (childNodes.length) { | ||
styleElement.insertBefore(cssNode, childNodes[index]) | ||
} else { | ||
styleElement.appendChild(cssNode) | ||
} | ||
} | ||
} | ||
function applyToTag (styleElement, obj) { | ||
var css = obj.css | ||
var media = obj.media | ||
var sourceMap = obj.sourceMap | ||
if (media) { | ||
styleElement.setAttribute('media', media) | ||
} | ||
if (sourceMap) { | ||
// https://developer.chrome.com/devtools/docs/javascript-debugging | ||
// this makes source maps inside style tags work properly in Chrome | ||
css += '\n/*# sourceURL=' + sourceMap.sources[0] + ' */' | ||
// http://stackoverflow.com/a/26603875 | ||
css += '\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))) + ' */' | ||
} | ||
if (styleElement.styleSheet) { | ||
styleElement.styleSheet.cssText = css | ||
} else { | ||
while (styleElement.firstChild) { | ||
styleElement.removeChild(styleElement.firstChild) | ||
} | ||
styleElement.appendChild(document.createTextNode(css)) | ||
} | ||
} | ||
/***/ }), | ||
/* 8 */ | ||
/***/ (function(module, exports) { | ||
/** | ||
* Translates the list format produced by css-loader into something | ||
* easier to manipulate. | ||
*/ | ||
module.exports = function listToStyles (parentId, list) { | ||
var styles = [] | ||
var newStyles = {} | ||
for (var i = 0; i < list.length; i++) { | ||
var item = list[i] | ||
var id = item[0] | ||
var css = item[1] | ||
var media = item[2] | ||
var sourceMap = item[3] | ||
var part = { | ||
id: parentId + ':' + i, | ||
css: css, | ||
media: media, | ||
sourceMap: sourceMap | ||
} | ||
if (!newStyles[id]) { | ||
styles.push(newStyles[id] = { id: id, parts: [part] }) | ||
} else { | ||
newStyles[id].parts.push(part) | ||
} | ||
} | ||
return styles | ||
} | ||
/***/ }), | ||
/* 9 */, | ||
/* 10 */, | ||
/* 11 */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
module.exports = __webpack_require__(0); | ||
/***/ }) | ||
/******/ ]); | ||
/******/ }); |
{ | ||
"name": "mapbox-gl-vue", | ||
"version": "1.0.0", | ||
"version": "1.0.1", | ||
"description": "A Vue.js component for Mapbox GL js", | ||
@@ -5,0 +5,0 @@ "main": "dist/mapbox.js", |
@@ -16,2 +16,2 @@ | ||
mix.js('src/app.js', 'dist/app.js') | ||
.js('src/components/Mapbox.vue', 'dist/mapbox.js'); | ||
.js('src/components/Mapbox.js', 'dist/mapbox.js'); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
11
43180
1252