@spuermomonga/vue3-bmapgl 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -243,10 +243,45 @@
243
243
  }
244
244
  });
245
245
 
246
+ function create({
247
+ componentPrefix = "B",
248
+ components = []
249
+ } = {}) {
250
+ const installTargets = [];
251
+ function registerComponent(app, name, component) {
252
+ const registered = app.component(componentPrefix + name);
253
+ if (!registered) {
254
+ app.component(
255
+ componentPrefix + name,
256
+ component
257
+ );
258
+ }
259
+ }
260
+ function install(app) {
261
+ if (installTargets.includes(app))
262
+ return;
263
+ installTargets.push(app);
264
+ components.forEach((component) => {
265
+ const { name, alias } = component;
266
+ registerComponent(app, name, component);
267
+ if (alias) {
268
+ alias.forEach((aliasName) => {
269
+ registerComponent(app, aliasName, component);
270
+ });
271
+ }
272
+ });
273
+ }
274
+ return {
275
+ componentPrefix,
276
+ install
277
+ };
278
+ }
279
+
246
280
  exports.BConfigProvider = configProvider;
247
281
  exports.BMap = map;
248
282
  exports.configProviderInjectionKey = configProviderInjectionKey;
249
283
  exports.configProviderProps = configProviderProps;
284
+ exports.create = create;
250
285
  exports.mapProps = mapProps;
251
286
 
252
287
  }));
@@ -1 +1 @@
1
- !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self).Vue3Bmapgl={},e.vue)}(this,function(e,o){"use strict";let t=!1;function a(e){return e.some(e=>!o.isVNode(e)||e.type!==Comment&&!(e.type===o.Fragment&&!a(e.children)))?e:null}function n(e,o){return o(e&&a(e())||null)}const r={ak:String,apiUrl:String,plugins:Array,mapConfig:Object},l=Symbol("b-config-provider");var d=o.defineComponent({name:"ConfigProvider",props:r,setup(e,{slots:a}){const n=o.ref("notload"),r=e.apiUrl?"_initBMap_":`_initBMap_${e.ak}`,d=e.apiUrl?`${e.apiUrl.replace(/&$/,"")}&callback=${r}`:`//api.map.baidu.com/api?type=webgl&v=1.0&ak=${e.ak}&callback=${r}`;n.value="pending",function(e){const{key:o,src:a,addCalToWindow:n=!0,timeout:r=1e4}=e;return t||window.BMapGL?Promise.resolve():new Promise((e,l)=>{const d=document.createElement("script");d.src=a,d.type="text/javascript",d.defer=!0;const i=()=>{d.onload=null,d.onerror=null,document.body.contains(d)&&document.body.removeChild(d)},m=setTimeout(()=>{i(),l(new Error(`Script load timeout: ${a}`))},r),c=()=>{clearTimeout(m),t=!0,i(),e()};n?window[o]=c:d.onload=c,d.onerror=()=>{clearTimeout(m),i(),l(new Error(`Failed to load script: ${a}`))},document.body.appendChild(d)})}({key:r,src:d}).then(()=>{n.value="loaded"}).catch(()=>{n.value="failed"});const i=o.computed(()=>{const{mapConfig:o}=e;return o??{}});return o.provide(l,{mergedStatusRef:n,mergedMapSetRef:i}),()=>o.renderSlot(a,"default")}});const i={maxZoom:{type:Number,default:21},minZoom:{type:Number,default:0},center:{type:Object,default:[116.403901,39.915185]},zoom:{type:Number,default:14},class:String,enableScrollWheelZoom:{type:Boolean,default:!1}};var m="map-module_b-map-content__sMaJG",c="map-module_b-map-loading__qc4a8",p="map-module_b-map-failed__-w-tX";!function(e,o){void 0===o&&(o={});var t=o.insertAt;if("undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===t&&a.firstChild?a.insertBefore(n,a.firstChild):a.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}(".map-module_b-map-content__sMaJG{height:100%;overflow:hidden;position:relative;width:100%}.map-module_b-map-failed__-w-tX,.map-module_b-map-loading__qc4a8{color:#999;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}");var u=o.defineComponent({name:"Map",props:i,slots:Object,setup(e,{slots:t}){const{mergedMapSetRef:a,mergedStatusRef:r}=function(e={}){const t=o.inject(l,null);return{mergedStatusRef:t?.mergedStatusRef,mergedMapSetRef:o.computed(()=>{const{zoom:o,center:a,minZoom:n,maxZoom:r}=e;return{zoom:o??t?.mergedMapSetRef.value?.zoom,center:a??t?.mergedMapSetRef.value?.center,minZoom:n??t?.mergedMapSetRef.value?.minZoom,maxZoom:r??t?.mergedMapSetRef.value?.maxZoom}})}}(e),d=o.ref();let i=null;const u=e=>{"string"==typeof e?i.centerAndZoom(e,a.value.zoom):Array.isArray(e)?i.centerAndZoom(new BMapGL.Point(e[0],e[1]),a.value.zoom):i.centerAndZoom(new BMapGL.Point(e.lng,e.lat),a.value.zoom)},s=e=>{e?i.enableScrollWheelZoom():i.disableScrollWheelZoom()},f=()=>{const{center:e,maxZoom:o,minZoom:t,enableScrollWheelZoom:n}=a.value;i=new BMapGL.Map(d.value,{maxZoom:o,minZoom:t}),u(e),s(n)};return o.watchEffect(()=>{"loaded"===r?.value&&(o.nextTick(f),o.watch(()=>a.value.center,u,{deep:!0}),o.watch(()=>a.value.enableScrollWheelZoom,s))}),o.onUnmounted(()=>{if(i)try{i.destroy()}catch(e){console.error(`[Vue3 BMapGL]: ${e.message}`)}}),()=>o.createVNode("div",{ref:d,class:[m,e.class]},["pending"===r?.value&&n(t.loading,()=>o.createVNode("div",{class:[c]},[o.createTextVNode("map loading...")])),"failed"===r?.value&&n(t.failed,()=>o.createVNode("div",{class:[p]},[o.createTextVNode("map failed")])),t.default?.()])}});e.BConfigProvider=d,e.BMap=u,e.configProviderInjectionKey=l,e.configProviderProps=r,e.mapProps=i});
1
+ !function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self).Vue3Bmapgl={},e.vue)}(this,function(e,o){"use strict";let t=!1;function n(e){return e.some(e=>!o.isVNode(e)||e.type!==Comment&&!(e.type===o.Fragment&&!n(e.children)))?e:null}function a(e,o){return o(e&&n(e())||null)}const r={ak:String,apiUrl:String,plugins:Array,mapConfig:Object},l=Symbol("b-config-provider");var i=o.defineComponent({name:"ConfigProvider",props:r,setup(e,{slots:n}){const a=o.ref("notload"),r=e.apiUrl?"_initBMap_":`_initBMap_${e.ak}`,i=e.apiUrl?`${e.apiUrl.replace(/&$/,"")}&callback=${r}`:`//api.map.baidu.com/api?type=webgl&v=1.0&ak=${e.ak}&callback=${r}`;a.value="pending",function(e){const{key:o,src:n,addCalToWindow:a=!0,timeout:r=1e4}=e;return t||window.BMapGL?Promise.resolve():new Promise((e,l)=>{const i=document.createElement("script");i.src=n,i.type="text/javascript",i.defer=!0;const m=()=>{i.onload=null,i.onerror=null,document.body.contains(i)&&document.body.removeChild(i)},d=setTimeout(()=>{m(),l(new Error(`Script load timeout: ${n}`))},r),c=()=>{clearTimeout(d),t=!0,m(),e()};a?window[o]=c:i.onload=c,i.onerror=()=>{clearTimeout(d),m(),l(new Error(`Failed to load script: ${n}`))},document.body.appendChild(i)})}({key:r,src:i}).then(()=>{a.value="loaded"}).catch(()=>{a.value="failed"});const m=o.computed(()=>{const{mapConfig:o}=e;return o??{}});return o.provide(l,{mergedStatusRef:a,mergedMapSetRef:m}),()=>o.renderSlot(n,"default")}});const m={maxZoom:{type:Number,default:21},minZoom:{type:Number,default:0},center:{type:Object,default:[116.403901,39.915185]},zoom:{type:Number,default:14},class:String,enableScrollWheelZoom:{type:Boolean,default:!1}};var d="map-module_b-map-content__sMaJG",c="map-module_b-map-loading__qc4a8",p="map-module_b-map-failed__-w-tX";!function(e,o){void 0===o&&(o={});var t=o.insertAt;if("undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===t&&n.firstChild?n.insertBefore(a,n.firstChild):n.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}(".map-module_b-map-content__sMaJG{height:100%;overflow:hidden;position:relative;width:100%}.map-module_b-map-failed__-w-tX,.map-module_b-map-loading__qc4a8{color:#999;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}");var u=o.defineComponent({name:"Map",props:m,slots:Object,setup(e,{slots:t}){const{mergedMapSetRef:n,mergedStatusRef:r}=function(e={}){const t=o.inject(l,null);return{mergedStatusRef:t?.mergedStatusRef,mergedMapSetRef:o.computed(()=>{const{zoom:o,center:n,minZoom:a,maxZoom:r}=e;return{zoom:o??t?.mergedMapSetRef.value?.zoom,center:n??t?.mergedMapSetRef.value?.center,minZoom:a??t?.mergedMapSetRef.value?.minZoom,maxZoom:r??t?.mergedMapSetRef.value?.maxZoom}})}}(e),i=o.ref();let m=null;const u=e=>{"string"==typeof e?m.centerAndZoom(e,n.value.zoom):Array.isArray(e)?m.centerAndZoom(new BMapGL.Point(e[0],e[1]),n.value.zoom):m.centerAndZoom(new BMapGL.Point(e.lng,e.lat),n.value.zoom)},s=e=>{e?m.enableScrollWheelZoom():m.disableScrollWheelZoom()},f=()=>{const{center:e,maxZoom:o,minZoom:t,enableScrollWheelZoom:a}=n.value;m=new BMapGL.Map(i.value,{maxZoom:o,minZoom:t}),u(e),s(a)};return o.watchEffect(()=>{"loaded"===r?.value&&(o.nextTick(f),o.watch(()=>n.value.center,u,{deep:!0}),o.watch(()=>n.value.enableScrollWheelZoom,s))}),o.onUnmounted(()=>{if(m)try{m.destroy()}catch(e){console.error(`[Vue3 BMapGL]: ${e.message}`)}}),()=>o.createVNode("div",{ref:i,class:[d,e.class]},["pending"===r?.value&&a(t.loading,()=>o.createVNode("div",{class:[c]},[o.createTextVNode("map loading...")])),"failed"===r?.value&&a(t.failed,()=>o.createVNode("div",{class:[p]},[o.createTextVNode("map failed")])),t.default?.()])}});e.BConfigProvider=i,e.BMap=u,e.configProviderInjectionKey=l,e.configProviderProps=r,e.create=function({componentPrefix:e="B",components:o=[]}={}){const t=[];function n(o,t,n){o.component(e+t)||o.component(e+t,n)}return{componentPrefix:e,install:function(e){t.includes(e)||(t.push(e),o.forEach(o=>{const{name:t,alias:a}=o;n(e,t,o),a&&a.forEach(t=>{n(e,t,o)})}))}}},e.mapProps=m});
package/es/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export * from './components';
2
- export * from './create';
2
+ export { default as create } from './create';
package/es/index.mjs CHANGED
@@ -1,3 +1,4 @@
1
+ export { default as create } from './create.mjs';
1
2
  export { default as BConfigProvider } from './config-provider/src/config-provider.mjs';
2
3
  export { configProviderProps } from './config-provider/src/config-provider-props.mjs';
3
4
  export { configProviderInjectionKey } from './config-provider/src/constants.mjs';
package/es/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
package/lib/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export * from './components';
2
- export * from './create';
2
+ export { default as create } from './create';
package/lib/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var create = require('./create.js');
3
4
  var configProvider = require('./config-provider/src/config-provider.js');
4
5
  var configProviderProps = require('./config-provider/src/config-provider-props.js');
5
6
  var constants = require('./config-provider/src/constants.js');
@@ -8,6 +9,7 @@ var mapProps = require('./map/src/map-props.js');
8
9
 
9
10
 
10
11
 
12
+ exports.create = create;
11
13
  exports.BConfigProvider = configProvider;
12
14
  exports.configProviderProps = configProviderProps.configProviderProps;
13
15
  exports.configProviderInjectionKey = constants.configProviderInjectionKey;
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spuermomonga/vue3-bmapgl",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "Baidu Map GL encapsulation for Vue 3",
5
5
  "author": "SpuerMomonga <spuermomonga@qq.com>",
6
6
  "license": "MIT",