@spuermomonga/vue3-bmapgl 0.0.1

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.
Files changed (208) hide show
  1. package/README.md +22 -0
  2. package/dist/index.js +257 -0
  3. package/dist/index.prod.js +1 -0
  4. package/es/_mixins/index.d.ts +1 -0
  5. package/es/_mixins/index.mjs +2 -0
  6. package/es/_mixins/index.mjs.map +1 -0
  7. package/es/_mixins/use-config.d.ts +11 -0
  8. package/es/_mixins/use-config.mjs +22 -0
  9. package/es/_mixins/use-config.mjs.map +1 -0
  10. package/es/_utils/extract-public-props.d.ts +7 -0
  11. package/es/_utils/extract-public-props.mjs +2 -0
  12. package/es/_utils/extract-public-props.mjs.map +1 -0
  13. package/es/_utils/index.d.ts +3 -0
  14. package/es/_utils/index.mjs +3 -0
  15. package/es/_utils/index.mjs.map +1 -0
  16. package/es/_utils/map.d.ts +7 -0
  17. package/es/_utils/map.mjs +44 -0
  18. package/es/_utils/map.mjs.map +1 -0
  19. package/es/_utils/resolve-slot.d.ts +3 -0
  20. package/es/_utils/resolve-slot.mjs +23 -0
  21. package/es/_utils/resolve-slot.mjs.map +1 -0
  22. package/es/_virtual/_plugin-vue_export-helper.mjs +10 -0
  23. package/es/_virtual/_plugin-vue_export-helper.mjs.map +1 -0
  24. package/es/components.d.ts +2 -0
  25. package/es/components.mjs +6 -0
  26. package/es/components.mjs.map +1 -0
  27. package/es/config-provider/index.d.ts +4 -0
  28. package/es/config-provider/index.mjs +4 -0
  29. package/es/config-provider/index.mjs.map +1 -0
  30. package/es/config-provider/src/config-provider-props.d.ts +13 -0
  31. package/es/config-provider/src/config-provider-props.mjs +14 -0
  32. package/es/config-provider/src/config-provider-props.mjs.map +1 -0
  33. package/es/config-provider/src/config-provider.d.ts +27 -0
  34. package/es/config-provider/src/config-provider.mjs +30 -0
  35. package/es/config-provider/src/config-provider.mjs.map +1 -0
  36. package/es/config-provider/src/constants.d.ts +3 -0
  37. package/es/config-provider/src/constants.mjs +4 -0
  38. package/es/config-provider/src/constants.mjs.map +1 -0
  39. package/es/config-provider/src/internal-interface.d.ts +14 -0
  40. package/es/config-provider/src/internal-interface.mjs +2 -0
  41. package/es/config-provider/src/internal-interface.mjs.map +1 -0
  42. package/es/control/location/index.d.ts +1 -0
  43. package/es/control/location/index.mjs +2 -0
  44. package/es/control/location/index.mjs.map +1 -0
  45. package/es/control/location/src/location-props.mjs +2 -0
  46. package/es/control/location/src/location-props.mjs.map +1 -0
  47. package/es/control/location/src/location.d.ts +2 -0
  48. package/es/control/location/src/location.mjs +11 -0
  49. package/es/control/location/src/location.mjs.map +1 -0
  50. package/es/control/scale/index.mjs +2 -0
  51. package/es/control/scale/index.mjs.map +1 -0
  52. package/es/control/scale/src/scale.d.ts +2 -0
  53. package/es/control/scale/src/scale.mjs +11 -0
  54. package/es/control/scale/src/scale.mjs.map +1 -0
  55. package/es/control/zoom/index.mjs +2 -0
  56. package/es/control/zoom/index.mjs.map +1 -0
  57. package/es/control/zoom/src/zoom.d.ts +2 -0
  58. package/es/control/zoom/src/zoom.mjs +11 -0
  59. package/es/control/zoom/src/zoom.mjs.map +1 -0
  60. package/es/index.d.ts +1 -0
  61. package/es/index.mjs +6 -0
  62. package/es/index.mjs.map +1 -0
  63. package/es/layer/tile/index.mjs +2 -0
  64. package/es/layer/tile/index.mjs.map +1 -0
  65. package/es/layer/tile/src/tile.d.ts +2 -0
  66. package/es/layer/tile/src/tile.mjs +11 -0
  67. package/es/layer/tile/src/tile.mjs.map +1 -0
  68. package/es/layer/xyz/index.mjs +2 -0
  69. package/es/layer/xyz/index.mjs.map +1 -0
  70. package/es/layer/xyz/src/xyz.d.ts +2 -0
  71. package/es/layer/xyz/src/xyz.mjs +11 -0
  72. package/es/layer/xyz/src/xyz.mjs.map +1 -0
  73. package/es/map/index.d.ts +3 -0
  74. package/es/map/index.mjs +3 -0
  75. package/es/map/index.mjs.map +1 -0
  76. package/es/map/src/map-props.d.ts +26 -0
  77. package/es/map/src/map-props.mjs +26 -0
  78. package/es/map/src/map-props.mjs.map +1 -0
  79. package/es/map/src/map.d.ts +58 -0
  80. package/es/map/src/map.mjs +82 -0
  81. package/es/map/src/map.mjs.map +1 -0
  82. package/es/map/src/style/map.module.css.mjs +8 -0
  83. package/es/map/src/style/map.module.css.mjs.map +1 -0
  84. package/es/node_modules/.pnpm/@rollup_plugin-typescript@1_b93953ac7ab797e62adf5212a782f0d9/node_modules/tslib/tslib.es6.mjs +36 -0
  85. package/es/node_modules/.pnpm/@rollup_plugin-typescript@1_b93953ac7ab797e62adf5212a782f0d9/node_modules/tslib/tslib.es6.mjs.map +1 -0
  86. package/es/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.mjs +29 -0
  87. package/es/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.mjs.map +1 -0
  88. package/es/overlay/info-window/index.mjs +2 -0
  89. package/es/overlay/info-window/index.mjs.map +1 -0
  90. package/es/overlay/info-window/src/InfoWindow.vue.mjs +11 -0
  91. package/es/overlay/info-window/src/InfoWindow.vue.mjs.map +1 -0
  92. package/es/overlay/label/index.mjs +2 -0
  93. package/es/overlay/label/index.mjs.map +1 -0
  94. package/es/overlay/label/src/Label.vue.mjs +11 -0
  95. package/es/overlay/label/src/Label.vue.mjs.map +1 -0
  96. package/es/overlay/marker/index.mjs +2 -0
  97. package/es/overlay/marker/index.mjs.map +1 -0
  98. package/es/overlay/marker/src/Marker.vue.mjs +11 -0
  99. package/es/overlay/marker/src/Marker.vue.mjs.map +1 -0
  100. package/es/overlay/polygon/index.mjs +2 -0
  101. package/es/overlay/polygon/index.mjs.map +1 -0
  102. package/es/overlay/polygon/src/Polygon.vue.mjs +11 -0
  103. package/es/overlay/polygon/src/Polygon.vue.mjs.map +1 -0
  104. package/es/shim.d.mjs +2 -0
  105. package/es/shim.d.mjs.map +1 -0
  106. package/lib/_mixins/index.d.ts +1 -0
  107. package/lib/_mixins/index.js +8 -0
  108. package/lib/_mixins/index.js.map +1 -0
  109. package/lib/_mixins/use-config.d.ts +11 -0
  110. package/lib/_mixins/use-config.js +24 -0
  111. package/lib/_mixins/use-config.js.map +1 -0
  112. package/lib/_utils/extract-public-props.d.ts +7 -0
  113. package/lib/_utils/extract-public-props.js +3 -0
  114. package/lib/_utils/extract-public-props.js.map +1 -0
  115. package/lib/_utils/index.d.ts +3 -0
  116. package/lib/_utils/index.js +11 -0
  117. package/lib/_utils/index.js.map +1 -0
  118. package/lib/_utils/map.d.ts +7 -0
  119. package/lib/_utils/map.js +46 -0
  120. package/lib/_utils/map.js.map +1 -0
  121. package/lib/_utils/resolve-slot.d.ts +3 -0
  122. package/lib/_utils/resolve-slot.js +26 -0
  123. package/lib/_utils/resolve-slot.js.map +1 -0
  124. package/lib/_virtual/_plugin-vue_export-helper.js +12 -0
  125. package/lib/_virtual/_plugin-vue_export-helper.js.map +1 -0
  126. package/lib/components.d.ts +2 -0
  127. package/lib/components.js +16 -0
  128. package/lib/components.js.map +1 -0
  129. package/lib/config-provider/index.d.ts +4 -0
  130. package/lib/config-provider/index.js +12 -0
  131. package/lib/config-provider/index.js.map +1 -0
  132. package/lib/config-provider/src/config-provider-props.d.ts +13 -0
  133. package/lib/config-provider/src/config-provider-props.js +16 -0
  134. package/lib/config-provider/src/config-provider-props.js.map +1 -0
  135. package/lib/config-provider/src/config-provider.d.ts +27 -0
  136. package/lib/config-provider/src/config-provider.js +32 -0
  137. package/lib/config-provider/src/config-provider.js.map +1 -0
  138. package/lib/config-provider/src/constants.d.ts +3 -0
  139. package/lib/config-provider/src/constants.js +6 -0
  140. package/lib/config-provider/src/constants.js.map +1 -0
  141. package/lib/config-provider/src/internal-interface.d.ts +14 -0
  142. package/lib/config-provider/src/internal-interface.js +3 -0
  143. package/lib/config-provider/src/internal-interface.js.map +1 -0
  144. package/lib/control/location/index.d.ts +1 -0
  145. package/lib/control/location/index.js +8 -0
  146. package/lib/control/location/index.js.map +1 -0
  147. package/lib/control/location/src/location-props.js +3 -0
  148. package/lib/control/location/src/location-props.js.map +1 -0
  149. package/lib/control/location/src/location.d.ts +2 -0
  150. package/lib/control/location/src/location.js +13 -0
  151. package/lib/control/location/src/location.js.map +1 -0
  152. package/lib/control/scale/index.js +3 -0
  153. package/lib/control/scale/index.js.map +1 -0
  154. package/lib/control/scale/src/scale.d.ts +2 -0
  155. package/lib/control/scale/src/scale.js +13 -0
  156. package/lib/control/scale/src/scale.js.map +1 -0
  157. package/lib/control/zoom/index.js +3 -0
  158. package/lib/control/zoom/index.js.map +1 -0
  159. package/lib/control/zoom/src/zoom.d.ts +2 -0
  160. package/lib/control/zoom/src/zoom.js +13 -0
  161. package/lib/control/zoom/src/zoom.js.map +1 -0
  162. package/lib/index.d.ts +1 -0
  163. package/lib/index.js +16 -0
  164. package/lib/index.js.map +1 -0
  165. package/lib/layer/tile/index.js +3 -0
  166. package/lib/layer/tile/index.js.map +1 -0
  167. package/lib/layer/tile/src/tile.d.ts +2 -0
  168. package/lib/layer/tile/src/tile.js +13 -0
  169. package/lib/layer/tile/src/tile.js.map +1 -0
  170. package/lib/layer/xyz/index.js +3 -0
  171. package/lib/layer/xyz/index.js.map +1 -0
  172. package/lib/layer/xyz/src/xyz.d.ts +2 -0
  173. package/lib/layer/xyz/src/xyz.js +13 -0
  174. package/lib/layer/xyz/src/xyz.js.map +1 -0
  175. package/lib/map/index.d.ts +3 -0
  176. package/lib/map/index.js +10 -0
  177. package/lib/map/index.js.map +1 -0
  178. package/lib/map/src/map-props.d.ts +26 -0
  179. package/lib/map/src/map-props.js +28 -0
  180. package/lib/map/src/map-props.js.map +1 -0
  181. package/lib/map/src/map.d.ts +58 -0
  182. package/lib/map/src/map.js +84 -0
  183. package/lib/map/src/map.js.map +1 -0
  184. package/lib/map/src/style/map.module.css.js +10 -0
  185. package/lib/map/src/style/map.module.css.js.map +1 -0
  186. package/lib/node_modules/.pnpm/@rollup_plugin-typescript@1_b93953ac7ab797e62adf5212a782f0d9/node_modules/tslib/tslib.es6.js +38 -0
  187. package/lib/node_modules/.pnpm/@rollup_plugin-typescript@1_b93953ac7ab797e62adf5212a782f0d9/node_modules/tslib/tslib.es6.js.map +1 -0
  188. package/lib/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js +31 -0
  189. package/lib/node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js.map +1 -0
  190. package/lib/overlay/info-window/index.js +3 -0
  191. package/lib/overlay/info-window/index.js.map +1 -0
  192. package/lib/overlay/info-window/src/InfoWindow.vue.js +13 -0
  193. package/lib/overlay/info-window/src/InfoWindow.vue.js.map +1 -0
  194. package/lib/overlay/label/index.js +3 -0
  195. package/lib/overlay/label/index.js.map +1 -0
  196. package/lib/overlay/label/src/Label.vue.js +13 -0
  197. package/lib/overlay/label/src/Label.vue.js.map +1 -0
  198. package/lib/overlay/marker/index.js +3 -0
  199. package/lib/overlay/marker/index.js.map +1 -0
  200. package/lib/overlay/marker/src/Marker.vue.js +13 -0
  201. package/lib/overlay/marker/src/Marker.vue.js.map +1 -0
  202. package/lib/overlay/polygon/index.js +3 -0
  203. package/lib/overlay/polygon/index.js.map +1 -0
  204. package/lib/overlay/polygon/src/Polygon.vue.js +13 -0
  205. package/lib/overlay/polygon/src/Polygon.vue.js.map +1 -0
  206. package/lib/shim.d.js +3 -0
  207. package/lib/shim.d.js.map +1 -0
  208. package/package.json +48 -0
package/README.md ADDED
@@ -0,0 +1,22 @@
1
+ # Vue3 BMapGL
2
+
3
+ 能不用百度地图就别用百度地图,百度地图API太烂了 (╬ ̄皿 ̄)
4
+
5
+ 本库还在开发阶段,api变动可能会比较大,介意勿用
6
+
7
+ 灵感来源:
8
+
9
+ - [vue3-baidu-map-gl](https://github.com/yue1123/vue3-baidu-map-gl)
10
+ - [naive-ui](https://github.com/tusen-ai/naive-ui)
11
+
12
+ ## 安装
13
+
14
+ ```bash
15
+
16
+ # npm
17
+ npm install vue3-bmapgl
18
+
19
+ # pnpm
20
+ pnpm add vue3-bmapgl
21
+
22
+ ```
package/dist/index.js ADDED
@@ -0,0 +1,257 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', 'vue'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Vue3Bmapgl = {}, global.vue));
5
+ })(this, (function (exports, vue) { 'use strict';
6
+
7
+ let isScriptLoaded = false;
8
+ function loader(options) {
9
+ const {
10
+ key,
11
+ src,
12
+ addCalToWindow = true,
13
+ timeout = 1e4
14
+ } = options;
15
+ if (isScriptLoaded || window.BMapGL) {
16
+ return Promise.resolve();
17
+ }
18
+ return new Promise((resolve, reject) => {
19
+ const script = document.createElement("script");
20
+ script.src = src;
21
+ script.type = "text/javascript";
22
+ script.defer = true;
23
+ const cleanup = () => {
24
+ script.onload = null;
25
+ script.onerror = null;
26
+ if (document.body.contains(script)) {
27
+ document.body.removeChild(script);
28
+ }
29
+ };
30
+ const timer = setTimeout(() => {
31
+ cleanup();
32
+ reject(new Error(`Script load timeout: ${src}`));
33
+ }, timeout);
34
+ const handleLoad = () => {
35
+ clearTimeout(timer);
36
+ isScriptLoaded = true;
37
+ cleanup();
38
+ resolve();
39
+ };
40
+ if (addCalToWindow) {
41
+ window[key] = handleLoad;
42
+ } else {
43
+ script.onload = handleLoad;
44
+ }
45
+ script.onerror = () => {
46
+ clearTimeout(timer);
47
+ cleanup();
48
+ reject(new Error(`Failed to load script: ${src}`));
49
+ };
50
+ document.body.appendChild(script);
51
+ });
52
+ }
53
+
54
+ function ensureValidVNode(vnodes) {
55
+ return vnodes.some((child) => {
56
+ if (!vue.isVNode(child)) {
57
+ return true;
58
+ }
59
+ if (child.type === Comment) {
60
+ return false;
61
+ }
62
+ if (child.type === vue.Fragment && !ensureValidVNode(child.children)) {
63
+ return false;
64
+ }
65
+ return true;
66
+ }) ? vnodes : null;
67
+ }
68
+ function resolveWrappedSlot(slot, wrapper) {
69
+ const children = slot && ensureValidVNode(slot());
70
+ return wrapper(children || null);
71
+ }
72
+
73
+ const configProviderProps = {
74
+ ak: String,
75
+ apiUrl: String,
76
+ plugins: Array,
77
+ zoom: Number,
78
+ minZoom: Number,
79
+ maxZoom: Number,
80
+ showControls: Boolean,
81
+ center: Object,
82
+ enableScrollWheelZoom: Boolean
83
+ };
84
+
85
+ const configProviderInjectionKey = /* @__PURE__ */ Symbol("b-config-provider");
86
+
87
+ var configProvider = vue.defineComponent({
88
+ name: "ConfigProvider",
89
+ props: configProviderProps,
90
+ setup(props, { slots }) {
91
+ const mergedStatusRef = vue.ref("notload");
92
+ const scriptKey = props.apiUrl ? `_initBMap_` : `_initBMap_${props.ak}`;
93
+ const src = props.apiUrl ? `${props.apiUrl.replace(/&$/, "")}&callback=${scriptKey}` : `//api.map.baidu.com/api?type=webgl&v=1.0&ak=${props.ak}&callback=${scriptKey}`;
94
+ mergedStatusRef.value = "pending";
95
+ loader({ key: scriptKey, src }).then(() => {
96
+ mergedStatusRef.value = "loaded";
97
+ }).catch(() => {
98
+ mergedStatusRef.value = "failed";
99
+ });
100
+ const mergedMapSetRef = vue.computed(() => {
101
+ const { ak, apiUrl, plugins, ...retProps } = props;
102
+ return retProps;
103
+ });
104
+ vue.provide(configProviderInjectionKey, { mergedStatusRef, mergedMapSetRef });
105
+ return () => vue.renderSlot(slots, "default");
106
+ }
107
+ });
108
+
109
+ function useConfig(props = {}) {
110
+ const NConfigProvider = vue.inject(configProviderInjectionKey, null);
111
+ return {
112
+ mergedStatusRef: NConfigProvider?.mergedStatusRef,
113
+ mergedMapSetRef: vue.computed(() => {
114
+ const { zoom, center, minZoom, maxZoom } = props;
115
+ return {
116
+ zoom: zoom ?? NConfigProvider?.mergedMapSetRef.value?.zoom,
117
+ center: center ?? NConfigProvider?.mergedMapSetRef.value?.center,
118
+ minZoom: minZoom ?? NConfigProvider?.mergedMapSetRef.value?.minZoom,
119
+ maxZoom: maxZoom ?? NConfigProvider?.mergedMapSetRef.value?.maxZoom
120
+ };
121
+ })
122
+ };
123
+ }
124
+
125
+ const mapProps = {
126
+ maxZoom: {
127
+ type: Number,
128
+ default: 21
129
+ },
130
+ minZoom: {
131
+ type: Number,
132
+ default: 0
133
+ },
134
+ center: {
135
+ type: Object,
136
+ default: [116.403901, 39.915185]
137
+ },
138
+ zoom: {
139
+ type: Number,
140
+ default: 14
141
+ },
142
+ class: String,
143
+ enableScrollWheelZoom: {
144
+ type: Boolean,
145
+ default: false
146
+ }
147
+ };
148
+
149
+ function styleInject(css, ref) {
150
+ if ( ref === void 0 ) ref = {};
151
+ var insertAt = ref.insertAt;
152
+
153
+ if (typeof document === 'undefined') { return; }
154
+
155
+ var head = document.head || document.getElementsByTagName('head')[0];
156
+ var style = document.createElement('style');
157
+ style.type = 'text/css';
158
+
159
+ if (insertAt === 'top') {
160
+ if (head.firstChild) {
161
+ head.insertBefore(style, head.firstChild);
162
+ } else {
163
+ head.appendChild(style);
164
+ }
165
+ } else {
166
+ head.appendChild(style);
167
+ }
168
+
169
+ if (style.styleSheet) {
170
+ style.styleSheet.cssText = css;
171
+ } else {
172
+ style.appendChild(document.createTextNode(css));
173
+ }
174
+ }
175
+
176
+ var css_248z = ".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%)}";
177
+ var styles = {"b-map-content":"map-module_b-map-content__sMaJG","b-map-loading":"map-module_b-map-loading__qc4a8","b-map-failed":"map-module_b-map-failed__-w-tX"};
178
+ styleInject(css_248z);
179
+
180
+ var map = /* @__PURE__ */ vue.defineComponent({
181
+ name: "Map",
182
+ props: mapProps,
183
+ slots: Object,
184
+ setup(props, {
185
+ slots
186
+ }) {
187
+ const {
188
+ mergedMapSetRef,
189
+ mergedStatusRef
190
+ } = useConfig(props);
191
+ const contentRef = vue.ref();
192
+ let map = null;
193
+ const setCenterAndZoom = (center) => {
194
+ if (typeof center === "string") {
195
+ map.centerAndZoom(center, mergedMapSetRef.value.zoom);
196
+ } else if (Array.isArray(center)) {
197
+ map.centerAndZoom(new BMapGL.Point(center[0], center[1]), mergedMapSetRef.value.zoom);
198
+ } else {
199
+ map.centerAndZoom(new BMapGL.Point(center.lng, center.lat), mergedMapSetRef.value.zoom);
200
+ }
201
+ };
202
+ const setScrollWheelZoom = (enableScrollWheelZoom) => {
203
+ enableScrollWheelZoom ? map.enableScrollWheelZoom() : map.disableScrollWheelZoom();
204
+ };
205
+ const init = () => {
206
+ const {
207
+ center,
208
+ maxZoom,
209
+ minZoom,
210
+ enableScrollWheelZoom
211
+ } = mergedMapSetRef.value;
212
+ map = new BMapGL.Map(contentRef.value, {
213
+ maxZoom,
214
+ minZoom
215
+ });
216
+ setCenterAndZoom(center);
217
+ setScrollWheelZoom(enableScrollWheelZoom);
218
+ };
219
+ const startWatchProps = () => {
220
+ vue.watch(() => mergedMapSetRef.value.center, setCenterAndZoom, {
221
+ deep: true
222
+ });
223
+ vue.watch(() => mergedMapSetRef.value.enableScrollWheelZoom, setScrollWheelZoom);
224
+ };
225
+ vue.watchEffect(() => {
226
+ if (mergedStatusRef?.value === "loaded") {
227
+ vue.nextTick(init);
228
+ startWatchProps();
229
+ }
230
+ });
231
+ vue.onUnmounted(() => {
232
+ if (map) {
233
+ try {
234
+ map.destroy();
235
+ } catch (error) {
236
+ console.error(`[Vue3 BMapGL]: ${error.message}`);
237
+ }
238
+ }
239
+ });
240
+ return () => vue.createVNode("div", {
241
+ "ref": contentRef,
242
+ "class": [styles["b-map-content"], props.class]
243
+ }, [mergedStatusRef?.value === "pending" && resolveWrappedSlot(slots.loading, () => vue.createVNode("div", {
244
+ "class": [styles["b-map-loading"]]
245
+ }, [vue.createTextVNode("map loading...")])), mergedStatusRef?.value === "failed" && resolveWrappedSlot(slots.failed, () => vue.createVNode("div", {
246
+ "class": [styles["b-map-failed"]]
247
+ }, [vue.createTextVNode("map failed")])), slots.default?.()]);
248
+ }
249
+ });
250
+
251
+ exports.BConfigProvider = configProvider;
252
+ exports.BMap = map;
253
+ exports.configProviderInjectionKey = configProviderInjectionKey;
254
+ exports.configProviderProps = configProviderProps;
255
+ exports.mapProps = mapProps;
256
+
257
+ }));
@@ -0,0 +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,zoom:Number,minZoom:Number,maxZoom:Number,showControls:Boolean,center:Object,enableScrollWheelZoom:Boolean},l=Symbol("b-config-provider");var m=o.defineComponent({name:"ConfigProvider",props:r,setup(e,{slots:a}){const n=o.ref("notload"),r=e.apiUrl?"_initBMap_":`_initBMap_${e.ak}`,m=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 m=document.createElement("script");m.src=a,m.type="text/javascript",m.defer=!0;const d=()=>{m.onload=null,m.onerror=null,document.body.contains(m)&&document.body.removeChild(m)},i=setTimeout(()=>{d(),l(new Error(`Script load timeout: ${a}`))},r),c=()=>{clearTimeout(i),t=!0,d(),e()};n?window[o]=c:m.onload=c,m.onerror=()=>{clearTimeout(i),d(),l(new Error(`Failed to load script: ${a}`))},document.body.appendChild(m)})}({key:r,src:m}).then(()=>{n.value="loaded"}).catch(()=>{n.value="failed"});const d=o.computed(()=>{const{ak:o,apiUrl:t,plugins:a,...n}=e;return n});return o.provide(l,{mergedStatusRef:n,mergedMapSetRef:d}),()=>o.renderSlot(a,"default")}});const d={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 i="map-module_b-map-content__sMaJG",c="map-module_b-map-loading__qc4a8",u="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 p=o.defineComponent({name:"Map",props:d,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),m=o.ref();let d=null;const p=e=>{"string"==typeof e?d.centerAndZoom(e,a.value.zoom):Array.isArray(e)?d.centerAndZoom(new BMapGL.Point(e[0],e[1]),a.value.zoom):d.centerAndZoom(new BMapGL.Point(e.lng,e.lat),a.value.zoom)},s=e=>{e?d.enableScrollWheelZoom():d.disableScrollWheelZoom()},f=()=>{const{center:e,maxZoom:o,minZoom:t,enableScrollWheelZoom:n}=a.value;d=new BMapGL.Map(m.value,{maxZoom:o,minZoom:t}),p(e),s(n)};return o.watchEffect(()=>{"loaded"===r?.value&&(o.nextTick(f),o.watch(()=>a.value.center,p,{deep:!0}),o.watch(()=>a.value.enableScrollWheelZoom,s))}),o.onUnmounted(()=>{if(d)try{d.destroy()}catch(e){console.error(`[Vue3 BMapGL]: ${e.message}`)}}),()=>o.createVNode("div",{ref:m,class:[i,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:[u]},[o.createTextVNode("map failed")])),t.default?.()])}});e.BConfigProvider=m,e.BMap=p,e.configProviderInjectionKey=l,e.configProviderProps=r,e.mapProps=d});
@@ -0,0 +1 @@
1
+ export { default as useConfig } from './use-config';
@@ -0,0 +1,2 @@
1
+ export { default as useConfig } from './use-config.mjs';
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import type { Ref } from 'vue';
2
+ import type { GlobalMapConfig, LoadStatus } from '../config-provider/src/internal-interface';
3
+ type UseConfigProps = Readonly<{
4
+ bordered?: boolean;
5
+ [key: string]: unknown;
6
+ }>;
7
+ export default function useConfig(props?: UseConfigProps): {
8
+ mergedStatusRef: Ref<LoadStatus> | undefined;
9
+ mergedMapSetRef: Ref<GlobalMapConfig>;
10
+ };
11
+ export {};
@@ -0,0 +1,22 @@
1
+ import { inject, computed } from 'vue';
2
+ import { configProviderInjectionKey } from '../config-provider/src/constants.mjs';
3
+
4
+ function useConfig(props = {}) {
5
+ const NConfigProvider = inject(configProviderInjectionKey, null);
6
+ return {
7
+ mergedStatusRef: NConfigProvider === null || NConfigProvider === void 0 ? void 0 : NConfigProvider.mergedStatusRef,
8
+ mergedMapSetRef: computed(() => {
9
+ var _a, _b, _c, _d;
10
+ const { zoom, center, minZoom, maxZoom } = props;
11
+ return {
12
+ zoom: zoom !== null && zoom !== void 0 ? zoom : (_a = NConfigProvider === null || NConfigProvider === void 0 ? void 0 : NConfigProvider.mergedMapSetRef.value) === null || _a === void 0 ? void 0 : _a.zoom,
13
+ center: center !== null && center !== void 0 ? center : (_b = NConfigProvider === null || NConfigProvider === void 0 ? void 0 : NConfigProvider.mergedMapSetRef.value) === null || _b === void 0 ? void 0 : _b.center,
14
+ minZoom: minZoom !== null && minZoom !== void 0 ? minZoom : (_c = NConfigProvider === null || NConfigProvider === void 0 ? void 0 : NConfigProvider.mergedMapSetRef.value) === null || _c === void 0 ? void 0 : _c.minZoom,
15
+ maxZoom: maxZoom !== null && maxZoom !== void 0 ? maxZoom : (_d = NConfigProvider === null || NConfigProvider === void 0 ? void 0 : NConfigProvider.mergedMapSetRef.value) === null || _d === void 0 ? void 0 : _d.maxZoom
16
+ };
17
+ })
18
+ };
19
+ }
20
+
21
+ export { useConfig as default };
22
+ //# sourceMappingURL=use-config.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-config.mjs","sources":["../../src/_mixins/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmagl/src/_mixins/use-config.ts"],"sourcesContent":["import type { Ref } from 'vue'\r\nimport type { GlobalMapConfig, LoadStatus } from '../config-provider/src/internal-interface'\r\nimport { computed, inject } from 'vue'\r\nimport { configProviderInjectionKey } from '../config-provider'\r\n\r\ntype UseConfigProps = Readonly<{\r\n bordered?: boolean\r\n [key: string]: unknown\r\n}>\r\n\r\nexport default function useConfig(props: UseConfigProps = {}): {\r\n mergedStatusRef: Ref<LoadStatus> | undefined\r\n mergedMapSetRef: Ref<GlobalMapConfig>\r\n} {\r\n const NConfigProvider = inject(configProviderInjectionKey, null)\r\n return {\r\n mergedStatusRef: NConfigProvider?.mergedStatusRef,\r\n mergedMapSetRef: computed(() => {\r\n const { zoom, center, minZoom, maxZoom } = props\r\n return {\r\n zoom: zoom ?? NConfigProvider?.mergedMapSetRef.value?.zoom,\r\n center: center ?? NConfigProvider?.mergedMapSetRef.value?.center,\r\n minZoom: minZoom ?? NConfigProvider?.mergedMapSetRef.value?.minZoom,\r\n maxZoom: maxZoom ?? NConfigProvider?.mergedMapSetRef.value?.maxZoom,\r\n } as GlobalMapConfig\r\n }),\r\n }\r\n}\r\n"],"names":[],"mappings":";;;AAUA,SAAwB,SAAA,CAAU,KAAA,GAAwB,EAAA,EAAE;AAI1D,EAAA,MAAM,eAAA,GAAkB,MAAA,CAAO,0BAAA,EAA4B,IAAI,CAAA;AAC/D,EAAA,OAAO;AAAA,IACL,iBAAiB,eAAA,KAAe,IAAA,IAAf,eAAA,KAAe,MAAA,GAAA,SAAf,eAAA,CAAiB,eAAA;AAAA,IAClC,eAAA,EAAiB,SAAS,MAAK;;AAC7B,MAAA,MAAM,EAAE,IAAA,EAAM,MAAA,EAAQ,OAAA,EAAS,SAAO,GAAK,KAAA;AAC3C,MAAA,OAAO;AAAA,QACL,MAAM,IAAA,KAAI,IAAA,IAAJ,SAAI,MAAA,GAAJ,IAAA,GAAA,CAAQ,KAAA,eAAA,KAAe,IAAA,IAAf,sCAAA,gBAAiB,eAAA,CAAgB,KAAA,0CAAO,IAAA;AAAA,QACtD,QAAQ,MAAA,KAAM,IAAA,IAAN,WAAM,MAAA,GAAN,MAAA,GAAA,CAAU,KAAA,eAAA,KAAe,IAAA,IAAf,sCAAA,gBAAiB,eAAA,CAAgB,KAAA,0CAAO,MAAA;AAAA,QAC1D,SAAS,OAAA,KAAO,IAAA,IAAP,YAAO,MAAA,GAAP,OAAA,GAAA,CAAW,KAAA,eAAA,KAAe,IAAA,IAAf,sCAAA,gBAAiB,eAAA,CAAgB,KAAA,0CAAO,OAAA;AAAA,QAC5D,SAAS,OAAA,KAAO,IAAA,IAAP,YAAO,MAAA,GAAP,OAAA,GAAA,CAAW,KAAA,eAAA,KAAe,IAAA,IAAf,sCAAA,gBAAiB,eAAA,CAAgB,KAAA,0CAAO;AAAA;IAEhE,CAAC;AAAA;AAEL;;;;"}
@@ -0,0 +1,7 @@
1
+ import type { ExtractPropTypes } from 'vue';
2
+ type RemoveReadonly<T> = {
3
+ -readonly [key in keyof T]: T[key];
4
+ };
5
+ export type ExtractPublicPropTypes<T> = Omit<Partial<RemoveReadonly<ExtractPropTypes<T>>>, Extract<keyof T, `internal${string}`>>;
6
+ export type ExtractInternalPropTypes<T> = Partial<ExtractPropTypes<T>>;
7
+ export {};
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=extract-public-props.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-public-props.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from './extract-public-props';
2
+ export * from './map';
3
+ export * from './resolve-slot';
@@ -0,0 +1,3 @@
1
+ export { loader } from './map.mjs';
2
+ export { ensureValidVNode, resolveWrappedSlot } from './resolve-slot.mjs';
3
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,7 @@
1
+ export interface LoaderOptions {
2
+ key: string;
3
+ src: string;
4
+ addCalToWindow?: boolean;
5
+ timeout?: number;
6
+ }
7
+ export declare function loader(options: LoaderOptions): Promise<void>;
@@ -0,0 +1,44 @@
1
+ let isScriptLoaded = false;
2
+ function loader(options) {
3
+ const { key, src, addCalToWindow = true, timeout = 1e4 } = options;
4
+ if (isScriptLoaded || window.BMapGL) {
5
+ return Promise.resolve();
6
+ }
7
+ return new Promise((resolve, reject) => {
8
+ const script = document.createElement("script");
9
+ script.src = src;
10
+ script.type = "text/javascript";
11
+ script.defer = true;
12
+ const cleanup = () => {
13
+ script.onload = null;
14
+ script.onerror = null;
15
+ if (document.body.contains(script)) {
16
+ document.body.removeChild(script);
17
+ }
18
+ };
19
+ const timer = setTimeout(() => {
20
+ cleanup();
21
+ reject(new Error(`Script load timeout: ${src}`));
22
+ }, timeout);
23
+ const handleLoad = () => {
24
+ clearTimeout(timer);
25
+ isScriptLoaded = true;
26
+ cleanup();
27
+ resolve();
28
+ };
29
+ if (addCalToWindow) {
30
+ window[key] = handleLoad;
31
+ } else {
32
+ script.onload = handleLoad;
33
+ }
34
+ script.onerror = () => {
35
+ clearTimeout(timer);
36
+ cleanup();
37
+ reject(new Error(`Failed to load script: ${src}`));
38
+ };
39
+ document.body.appendChild(script);
40
+ });
41
+ }
42
+
43
+ export { loader };
44
+ //# sourceMappingURL=map.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map.mjs","sources":["../../src/_utils/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmagl/src/_utils/map.ts"],"sourcesContent":["export interface LoaderOptions {\r\n key: string\r\n src: string\r\n addCalToWindow?: boolean\r\n timeout?: number\r\n}\r\n\r\nlet isScriptLoaded = false\r\n\r\nexport function loader(options: LoaderOptions): Promise<void> {\r\n const {\r\n key,\r\n src,\r\n addCalToWindow = true,\r\n timeout = 10000,\r\n } = options\r\n\r\n if (isScriptLoaded || window.BMapGL) {\r\n return Promise.resolve()\r\n }\r\n\r\n return new Promise((resolve, reject) => {\r\n const script = document.createElement('script')\r\n script.src = src\r\n script.type = 'text/javascript'\r\n script.defer = true\r\n\r\n const cleanup = () => {\r\n script.onload = null\r\n script.onerror = null\r\n if (document.body.contains(script)) {\r\n document.body.removeChild(script)\r\n }\r\n }\r\n\r\n const timer = setTimeout(() => {\r\n cleanup()\r\n reject(new Error(`Script load timeout: ${src}`))\r\n }, timeout)\r\n\r\n const handleLoad = () => {\r\n clearTimeout(timer)\r\n isScriptLoaded = true\r\n cleanup()\r\n resolve()\r\n }\r\n\r\n if (addCalToWindow) {\r\n (window as any)[key] = handleLoad\r\n } else {\r\n script.onload = handleLoad\r\n }\r\n\r\n script.onerror = () => {\r\n clearTimeout(timer)\r\n cleanup()\r\n reject(new Error(`Failed to load script: ${src}`))\r\n }\r\n\r\n document.body.appendChild(script)\r\n })\r\n}\r\n"],"names":[],"mappings":"AAOA,IAAI,cAAA,GAAiB,KAAA;AAEf,SAAU,OAAO,OAAA,EAAsB;AAC3C,EAAA,MAAM,EACJ,GAAA,EACA,GAAA,EACA,iBAAiB,IAAA,EACjB,OAAA,GAAU,KAAK,GACb,OAAA;AAEJ,EAAA,IAAI,cAAA,IAAkB,OAAO,MAAA,EAAQ;AACnC,IAAA,OAAO,QAAQ,OAAA,EAAO;AAAA,EACxB;AAEA,EAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,OAAA,EAAS,MAAA,KAAU;AACrC,IAAA,MAAM,MAAA,GAAS,QAAA,CAAS,aAAA,CAAc,QAAQ,CAAA;AAC9C,IAAA,MAAA,CAAO,GAAA,GAAM,GAAA;AACb,IAAA,MAAA,CAAO,IAAA,GAAO,iBAAA;AACd,IAAA,MAAA,CAAO,KAAA,GAAQ,IAAA;AAEf,IAAA,MAAM,UAAU,MAAK;AACnB,MAAA,MAAA,CAAO,MAAA,GAAS,IAAA;AAChB,MAAA,MAAA,CAAO,OAAA,GAAU,IAAA;AACjB,MAAA,IAAI,QAAA,CAAS,IAAA,CAAK,QAAA,CAAS,MAAM,CAAA,EAAG;AAClC,QAAA,QAAA,CAAS,IAAA,CAAK,YAAY,MAAM,CAAA;AAAA,MAClC;AAAA,IACF,CAAA;AAEA,IAAA,MAAM,KAAA,GAAQ,WAAW,MAAK;AAC5B,MAAA,OAAA;AACA,MAAA,MAAA,CAAO,IAAI,KAAA,CAAM,CAAA,qBAAA,EAAwB,GAAG,EAAE,CAAC,CAAA;AAAA,IACjD,GAAG,OAAO,CAAA;AAEV,IAAA,MAAM,aAAa,MAAK;AACtB,MAAA,YAAA,CAAa,KAAK,CAAA;AAClB,MAAA,cAAA,GAAiB,IAAA;AACjB,MAAA,OAAA;AACA,MAAA,OAAA;IACF,CAAA;AAEA,IAAA,IAAI,cAAA,EAAgB;AACjB,MAAA,MAAA,CAAe,GAAG,CAAA,GAAI,UAAA;AAAA,IACzB,CAAA,MAAO;AACL,MAAA,MAAA,CAAO,MAAA,GAAS,UAAA;AAAA,IAClB;AAEA,IAAA,MAAA,CAAO,UAAU,MAAK;AACpB,MAAA,YAAA,CAAa,KAAK,CAAA;AAClB,MAAA,OAAA;AACA,MAAA,MAAA,CAAO,IAAI,KAAA,CAAM,CAAA,uBAAA,EAA0B,GAAG,EAAE,CAAC,CAAA;AAAA,IACnD,CAAA;AAEA,IAAA,QAAA,CAAS,IAAA,CAAK,YAAY,MAAM,CAAA;AAAA,EAClC,CAAC,CAAA;AACH;;;;"}
@@ -0,0 +1,3 @@
1
+ import type { Slot, VNodeArrayChildren, VNodeChild } from 'vue';
2
+ export declare function ensureValidVNode(vnodes: VNodeArrayChildren): VNodeArrayChildren | null;
3
+ export declare function resolveWrappedSlot(slot: Slot | undefined, wrapper: (children: VNodeArrayChildren | null) => VNodeChild): VNodeChild;
@@ -0,0 +1,23 @@
1
+ import { isVNode, Fragment } from 'vue';
2
+
3
+ function ensureValidVNode(vnodes) {
4
+ return vnodes.some((child) => {
5
+ if (!isVNode(child)) {
6
+ return true;
7
+ }
8
+ if (child.type === Comment) {
9
+ return false;
10
+ }
11
+ if (child.type === Fragment && !ensureValidVNode(child.children)) {
12
+ return false;
13
+ }
14
+ return true;
15
+ }) ? vnodes : null;
16
+ }
17
+ function resolveWrappedSlot(slot, wrapper) {
18
+ const children = slot && ensureValidVNode(slot());
19
+ return wrapper(children || null);
20
+ }
21
+
22
+ export { ensureValidVNode, resolveWrappedSlot };
23
+ //# sourceMappingURL=resolve-slot.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-slot.mjs","sources":["../../src/_utils/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmagl/src/_utils/resolve-slot.ts"],"sourcesContent":["import type { Slot, VNodeArrayChildren, VNodeChild } from 'vue'\r\nimport { Fragment, isVNode } from 'vue'\r\n\r\nexport function ensureValidVNode(\r\n vnodes: VNodeArrayChildren,\r\n): VNodeArrayChildren | null {\r\n return vnodes.some((child) => {\r\n if (!isVNode(child)) {\r\n return true\r\n }\r\n if (child.type === Comment) {\r\n return false\r\n }\r\n if (\r\n child.type === Fragment\r\n && !ensureValidVNode(child.children as VNodeArrayChildren)\r\n ) {\r\n return false\r\n }\r\n return true\r\n })\r\n ? vnodes\r\n : null\r\n}\r\n\r\nexport function resolveWrappedSlot(\r\n slot: Slot | undefined,\r\n wrapper: (children: VNodeArrayChildren | null) => VNodeChild,\r\n): VNodeChild {\r\n const children = slot && ensureValidVNode(slot())\r\n return wrapper(children || null)\r\n}\r\n"],"names":[],"mappings":";;AAGM,SAAU,iBACd,MAAA,EAA0B;AAE1B,EAAA,OAAO,MAAA,CAAO,IAAA,CAAK,CAAC,KAAA,KAAS;AAC3B,IAAA,IAAI,CAAC,OAAA,CAAQ,KAAK,CAAA,EAAG;AACnB,MAAA,OAAO,IAAA;AAAA,IACT;AACA,IAAA,IAAI,KAAA,CAAM,SAAS,OAAA,EAAS;AAC1B,MAAA,OAAO,KAAA;AAAA,IACT;AACA,IAAA,IACE,MAAM,IAAA,KAAS,QAAA,IACZ,CAAC,gBAAA,CAAiB,KAAA,CAAM,QAA8B,CAAA,EACzD;AACA,MAAA,OAAO,KAAA;AAAA,IACT;AACA,IAAA,OAAO,IAAA;AAAA,EACT,CAAC,IACG,MAAA,GACA,IAAA;AACN;AAEM,SAAU,kBAAA,CACd,MACA,OAAA,EAA4D;AAE5D,EAAA,MAAM,QAAA,GAAW,IAAA,IAAQ,gBAAA,CAAiB,IAAA,EAAM,CAAA;AAChD,EAAA,OAAO,OAAA,CAAQ,YAAY,IAAI,CAAA;AACjC;;;;"}
@@ -0,0 +1,10 @@
1
+ var _export_sfc = (sfc, props) => {
2
+ const target = sfc.__vccOpts || sfc;
3
+ for (const [key, val] of props) {
4
+ target[key] = val;
5
+ }
6
+ return target;
7
+ };
8
+
9
+ export { _export_sfc as default };
10
+ //# sourceMappingURL=_plugin-vue_export-helper.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_plugin-vue_export-helper.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -0,0 +1,2 @@
1
+ export * from './config-provider';
2
+ export * from './map';
@@ -0,0 +1,6 @@
1
+ export { default as BConfigProvider } from './config-provider/src/config-provider.mjs';
2
+ export { configProviderProps } from './config-provider/src/config-provider-props.mjs';
3
+ export { configProviderInjectionKey } from './config-provider/src/constants.mjs';
4
+ export { default as BMap } from './map/src/map.mjs';
5
+ export { mapProps } from './map/src/map-props.mjs';
6
+ //# sourceMappingURL=components.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,4 @@
1
+ export { default as BConfigProvider } from './src/config-provider';
2
+ export type { ConfigProviderProps } from './src/config-provider-props';
3
+ export { configProviderProps } from './src/config-provider-props';
4
+ export { configProviderInjectionKey } from './src/constants';
@@ -0,0 +1,4 @@
1
+ export { default as BConfigProvider } from './src/config-provider.mjs';
2
+ export { configProviderProps } from './src/config-provider-props.mjs';
3
+ export { configProviderInjectionKey } from './src/constants.mjs';
4
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,13 @@
1
+ import type { ExtractPropTypes, PropType } from 'vue';
2
+ export declare const configProviderProps: {
3
+ readonly ak: StringConstructor;
4
+ readonly apiUrl: StringConstructor;
5
+ readonly plugins: PropType<string[]>;
6
+ readonly zoom: NumberConstructor;
7
+ readonly minZoom: NumberConstructor;
8
+ readonly maxZoom: NumberConstructor;
9
+ readonly showControls: BooleanConstructor;
10
+ readonly center: PropType<BMapGL.Point | string | [number, number]>;
11
+ readonly enableScrollWheelZoom: BooleanConstructor;
12
+ };
13
+ export type ConfigProviderProps = Partial<ExtractPropTypes<typeof configProviderProps>>;
@@ -0,0 +1,14 @@
1
+ const configProviderProps = {
2
+ ak: String,
3
+ apiUrl: String,
4
+ plugins: Array,
5
+ zoom: Number,
6
+ minZoom: Number,
7
+ maxZoom: Number,
8
+ showControls: Boolean,
9
+ center: Object,
10
+ enableScrollWheelZoom: Boolean
11
+ };
12
+
13
+ export { configProviderProps };
14
+ //# sourceMappingURL=config-provider-props.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-provider-props.mjs","sources":["../../../src/config-provider/src/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmagl/src/config-provider/src/config-provider-props.ts"],"sourcesContent":["import type { ExtractPropTypes, PropType } from 'vue'\r\n\r\nexport const configProviderProps = {\r\n ak: String,\r\n apiUrl: String,\r\n plugins: Array as PropType<string[]>,\r\n zoom: Number,\r\n minZoom: Number,\r\n maxZoom: Number,\r\n showControls: Boolean,\r\n center: Object as PropType<BMapGL.Point | string | [number, number]>,\r\n enableScrollWheelZoom: Boolean,\r\n} as const\r\n\r\nexport type ConfigProviderProps = Partial<ExtractPropTypes<typeof configProviderProps>>\r\n"],"names":[],"mappings":"AAEO,MAAM,mBAAA,GAAsB;AAAA,EACjC,EAAA,EAAI,MAAA;AAAA,EACJ,MAAA,EAAQ,MAAA;AAAA,EACR,OAAA,EAAS,KAAA;AAAA,EACT,IAAA,EAAM,MAAA;AAAA,EACN,OAAA,EAAS,MAAA;AAAA,EACT,OAAA,EAAS,MAAA;AAAA,EACT,YAAA,EAAc,OAAA;AAAA,EACd,MAAA,EAAQ,MAAA;AAAA,EACR,qBAAA,EAAuB;;;;;"}
@@ -0,0 +1,27 @@
1
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ readonly ak: StringConstructor;
3
+ readonly apiUrl: StringConstructor;
4
+ readonly plugins: import("vue").PropType<string[]>;
5
+ readonly zoom: NumberConstructor;
6
+ readonly minZoom: NumberConstructor;
7
+ readonly maxZoom: NumberConstructor;
8
+ readonly showControls: BooleanConstructor;
9
+ readonly center: import("vue").PropType<BMapGL.Point | string | [number, number]>;
10
+ readonly enableScrollWheelZoom: BooleanConstructor;
11
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
12
+ [key: string]: any;
13
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
14
+ readonly ak: StringConstructor;
15
+ readonly apiUrl: StringConstructor;
16
+ readonly plugins: import("vue").PropType<string[]>;
17
+ readonly zoom: NumberConstructor;
18
+ readonly minZoom: NumberConstructor;
19
+ readonly maxZoom: NumberConstructor;
20
+ readonly showControls: BooleanConstructor;
21
+ readonly center: import("vue").PropType<BMapGL.Point | string | [number, number]>;
22
+ readonly enableScrollWheelZoom: BooleanConstructor;
23
+ }>> & Readonly<{}>, {
24
+ readonly showControls: boolean;
25
+ readonly enableScrollWheelZoom: boolean;
26
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
27
+ export default _default;
@@ -0,0 +1,30 @@
1
+ import { __rest } from '../../node_modules/.pnpm/@rollup_plugin-typescript@1_b93953ac7ab797e62adf5212a782f0d9/node_modules/tslib/tslib.es6.mjs';
2
+ import { defineComponent, ref, computed, provide, renderSlot } from 'vue';
3
+ import { configProviderProps } from './config-provider-props.mjs';
4
+ import { configProviderInjectionKey } from './constants.mjs';
5
+ import { loader } from '../../_utils/map.mjs';
6
+
7
+ var configProvider = defineComponent({
8
+ name: "ConfigProvider",
9
+ props: configProviderProps,
10
+ setup(props, { slots }) {
11
+ const mergedStatusRef = ref("notload");
12
+ const scriptKey = props.apiUrl ? `_initBMap_` : `_initBMap_${props.ak}`;
13
+ const src = props.apiUrl ? `${props.apiUrl.replace(/&$/, "")}&callback=${scriptKey}` : `//api.map.baidu.com/api?type=webgl&v=1.0&ak=${props.ak}&callback=${scriptKey}`;
14
+ mergedStatusRef.value = "pending";
15
+ loader({ key: scriptKey, src }).then(() => {
16
+ mergedStatusRef.value = "loaded";
17
+ }).catch(() => {
18
+ mergedStatusRef.value = "failed";
19
+ });
20
+ const mergedMapSetRef = computed(() => {
21
+ const { ak, apiUrl, plugins } = props, retProps = __rest(props, ["ak", "apiUrl", "plugins"]);
22
+ return retProps;
23
+ });
24
+ provide(configProviderInjectionKey, { mergedStatusRef, mergedMapSetRef });
25
+ return () => renderSlot(slots, "default");
26
+ }
27
+ });
28
+
29
+ export { configProvider as default };
30
+ //# sourceMappingURL=config-provider.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-provider.mjs","sources":["../../../src/config-provider/src/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmagl/src/config-provider/src/config-provider.ts"],"sourcesContent":["import type { LoadStatus } from './internal-interface'\r\nimport { computed, defineComponent, provide, ref, renderSlot } from 'vue'\r\nimport { loader } from '../../_utils'\r\nimport { configProviderProps } from './config-provider-props'\r\nimport { configProviderInjectionKey } from './constants'\r\n\r\nexport default defineComponent({\r\n name: 'ConfigProvider',\r\n props: configProviderProps,\r\n setup(props, { slots }) {\r\n const mergedStatusRef = ref<LoadStatus>('notload')\r\n\r\n const scriptKey = props.apiUrl ? `_initBMap_` : `_initBMap_${props.ak}`\r\n const src = props.apiUrl\r\n ? `${props.apiUrl.replace(/&$/, '')}&callback=${scriptKey}`\r\n : `//api.map.baidu.com/api?type=webgl&v=1.0&ak=${props.ak}&callback=${scriptKey}`\r\n\r\n mergedStatusRef.value = 'pending'\r\n loader({ key: scriptKey, src }).then(() => {\r\n mergedStatusRef.value = 'loaded'\r\n }).catch(() => {\r\n mergedStatusRef.value = 'failed'\r\n })\r\n\r\n const mergedMapSetRef = computed(() => {\r\n const { ak, apiUrl, plugins, ...retProps } = props\r\n return retProps\r\n })\r\n\r\n provide(configProviderInjectionKey, { mergedStatusRef, mergedMapSetRef })\r\n\r\n return () => renderSlot(slots, 'default')\r\n },\r\n})\r\n"],"names":[],"mappings":";;;;;;AAMA,qBAAe,eAAA,CAAgB;AAAA,EAC7B,IAAA,EAAM,gBAAA;AAAA,EACN,KAAA,EAAO,mBAAA;AAAA,EACP,KAAA,CAAM,KAAA,EAAO,EAAE,KAAA,EAAK,EAAE;AACpB,IAAA,MAAM,eAAA,GAAkB,IAAgB,SAAS,CAAA;AAEjD,IAAA,MAAM,YAAY,KAAA,CAAM,MAAA,GAAS,CAAA,UAAA,CAAA,GAAe,CAAA,UAAA,EAAa,MAAM,EAAE,CAAA,CAAA;AACrE,IAAA,MAAM,MAAM,KAAA,CAAM,MAAA,GACd,CAAA,EAAG,KAAA,CAAM,OAAO,OAAA,CAAQ,IAAA,EAAM,EAAE,CAAC,aAAa,SAAS,CAAA,CAAA,GACvD,+CAA+C,KAAA,CAAM,EAAE,aAAa,SAAS,CAAA,CAAA;AAEjF,IAAA,eAAA,CAAgB,KAAA,GAAQ,SAAA;AACxB,IAAA,MAAA,CAAO,EAAE,GAAA,EAAK,SAAA,EAAW,KAAK,CAAA,CAAE,KAAK,MAAK;AACxC,MAAA,eAAA,CAAgB,KAAA,GAAQ,QAAA;AAAA,IAC1B,CAAC,CAAA,CAAE,KAAA,CAAM,MAAK;AACZ,MAAA,eAAA,CAAgB,KAAA,GAAQ,QAAA;AAAA,IAC1B,CAAC,CAAA;AAED,IAAA,MAAM,eAAA,GAAkB,SAAS,MAAK;AACpC,MAAA,MAAM,EAAE,EAAA,EAAI,MAAA,EAAQ,OAAA,EAAO,GAAkB,KAAA,EAAb,QAAA,GAAQ,MAAA,CAAK,KAAA,EAAvC,CAAA,IAAA,EAAA,QAAA,EAAA,SAAA,CAAoC,CAAA;AAC1C,MAAA,OAAO,QAAA;AAAA,IACT,CAAC,CAAA;AAED,IAAA,OAAA,CAAQ,0BAAA,EAA4B,EAAE,eAAA,EAAiB,eAAA,EAAiB,CAAA;AAExE,IAAA,OAAO,MAAM,UAAA,CAAW,KAAA,EAAO,SAAS,CAAA;AAAA,EAC1C;AACD,CAAA,CAAA;;;;"}
@@ -0,0 +1,3 @@
1
+ import type { InjectionKey } from 'vue';
2
+ import type { ConfigProviderInjection } from './internal-interface';
3
+ export declare const configProviderInjectionKey: InjectionKey<ConfigProviderInjection>;
@@ -0,0 +1,4 @@
1
+ const configProviderInjectionKey = /* @__PURE__ */ Symbol("b-config-provider");
2
+
3
+ export { configProviderInjectionKey };
4
+ //# sourceMappingURL=constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.mjs","sources":["../../../src/config-provider/src/file:/D:/workspaces/personal-project/vue3-bmapgl/packages/vue3-bmagl/src/config-provider/src/constants.ts"],"sourcesContent":["import type { InjectionKey } from 'vue'\r\nimport type { ConfigProviderInjection } from './internal-interface'\r\n\r\nexport const configProviderInjectionKey: InjectionKey<ConfigProviderInjection> = Symbol('b-config-provider')\r\n"],"names":[],"mappings":"AAGO,MAAM,0BAAA,0BAA2E,mBAAmB;;;;"}