mahal_map 1.3.7 → 1.4.0

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.d.mts CHANGED
@@ -140,6 +140,13 @@ declare function Search(param: string, token: string, additionalParam?: IAdditio
140
140
 
141
141
  declare function Router(param: number[][], typeData: string, token: string): Promise<IRoute[]>;
142
142
 
143
+ declare function debounce<F extends (...args: any[]) => Promise<any>>(fn: F, delay: number): (...args: Parameters<F>) => Promise<ReturnType<F>>;
144
+
145
+ declare const index_debounce: typeof debounce;
146
+ declare namespace index {
147
+ export { index_debounce as debounce };
148
+ }
149
+
143
150
  declare function saveKey(param: string): void;
144
151
  declare function clearKey(): void;
145
152
  declare const getApiKey: () => string;
@@ -160,4 +167,4 @@ declare const MMap: {
160
167
  loadKeyFromScriptUrl: () => string;
161
168
  };
162
169
 
163
- export { type IAdditionalParamType, type IMahalMapOptions, type IMapMarker, type IRoute, type ISearch, type ISearchParam, MahalMap, MahalMapDefaultMarker, type MahalMapDefaultMarkerProps, Router, Search, MMap as default, keyUtils };
170
+ export { type IAdditionalParamType, type IMahalMapOptions, type IMapMarker, type IRoute, type ISearch, type ISearchParam, MahalMap, MahalMapDefaultMarker, type MahalMapDefaultMarkerProps, Router, Search, MMap as default, keyUtils, index as utils };
package/dist/index.d.ts CHANGED
@@ -140,6 +140,13 @@ declare function Search(param: string, token: string, additionalParam?: IAdditio
140
140
 
141
141
  declare function Router(param: number[][], typeData: string, token: string): Promise<IRoute[]>;
142
142
 
143
+ declare function debounce<F extends (...args: any[]) => Promise<any>>(fn: F, delay: number): (...args: Parameters<F>) => Promise<ReturnType<F>>;
144
+
145
+ declare const index_debounce: typeof debounce;
146
+ declare namespace index {
147
+ export { index_debounce as debounce };
148
+ }
149
+
143
150
  declare function saveKey(param: string): void;
144
151
  declare function clearKey(): void;
145
152
  declare const getApiKey: () => string;
@@ -160,4 +167,4 @@ declare const MMap: {
160
167
  loadKeyFromScriptUrl: () => string;
161
168
  };
162
169
 
163
- export { type IAdditionalParamType, type IMahalMapOptions, type IMapMarker, type IRoute, type ISearch, type ISearchParam, MahalMap, MahalMapDefaultMarker, type MahalMapDefaultMarkerProps, Router, Search, MMap as default, keyUtils };
170
+ export { type IAdditionalParamType, type IMahalMapOptions, type IMapMarker, type IRoute, type ISearch, type ISearchParam, MahalMap, MahalMapDefaultMarker, type MahalMapDefaultMarkerProps, Router, Search, MMap as default, keyUtils, index as utils };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- 'use strict';var a0_0x5344d5=a0_0x2f16;(function(_0x5a588c,_0x371cb8){var _0x40796e=a0_0x2f16,_0x1a061d=_0x5a588c();while(!![]){try{var _0xdf39b7=-parseInt(_0x40796e(0x195))/0x1*(-parseInt(_0x40796e(0x189))/0x2)+parseInt(_0x40796e(0xfb))/0x3+-parseInt(_0x40796e(0x18d))/0x4*(parseInt(_0x40796e(0x1af))/0x5)+parseInt(_0x40796e(0x140))/0x6*(-parseInt(_0x40796e(0x18f))/0x7)+parseInt(_0x40796e(0x15e))/0x8+-parseInt(_0x40796e(0x18e))/0x9*(parseInt(_0x40796e(0x164))/0xa)+-parseInt(_0x40796e(0x188))/0xb;if(_0xdf39b7===_0x371cb8)break;else _0x1a061d['push'](_0x1a061d['shift']());}catch(_0x12988a){_0x1a061d['push'](_0x1a061d['shift']());}}}(a0_0x5b05,0x7ee86));var F=Object['create'],h=Object[a0_0x5344d5(0x15d)],N=Object[a0_0x5344d5(0x167)],_=Object[a0_0x5344d5(0x11d)],O=Object[a0_0x5344d5(0x194)],U=Object[a0_0x5344d5(0x126)]['hasOwnProperty'],v=(_0x575c0b,_0x3cfdef)=>{var _0x5e6a0d=a0_0x5344d5,_0x368101={'gICmv':function(_0x2b49b7,_0x1603e0,_0x2ba614,_0x4940cf){return _0x2b49b7(_0x1603e0,_0x2ba614,_0x4940cf);}};for(var _0x147c1a in _0x3cfdef)_0x368101[_0x5e6a0d(0x17e)](h,_0x575c0b,_0x147c1a,{'get':_0x3cfdef[_0x147c1a],'enumerable':!0x0});},C=(_0x5033f6,_0x41ef6b,_0x566202,_0x1b22d0)=>{var _0x232822=a0_0x5344d5,_0x4559e4={'YXALC':_0x232822(0x1b2),'uGtHo':function(_0x152263,_0x45e6b7){return _0x152263==_0x45e6b7;},'OYmwx':_0x232822(0x102),'BcefP':function(_0x5ad0f1,_0xa25716){return _0x5ad0f1!==_0xa25716;},'NQXWa':function(_0x4c4691,_0x4e2491,_0x1f68a4,_0x176926){return _0x4c4691(_0x4e2491,_0x1f68a4,_0x176926);}};if(_0x41ef6b&&typeof _0x41ef6b==_0x4559e4['YXALC']||_0x4559e4[_0x232822(0x117)](typeof _0x41ef6b,_0x4559e4[_0x232822(0x10c)])){for(let _0x1c4ee5 of _(_0x41ef6b))!U[_0x232822(0x152)](_0x5033f6,_0x1c4ee5)&&_0x4559e4['BcefP'](_0x1c4ee5,_0x566202)&&_0x4559e4['NQXWa'](h,_0x5033f6,_0x1c4ee5,{'get':()=>_0x41ef6b[_0x1c4ee5],'enumerable':!(_0x1b22d0=N(_0x41ef6b,_0x1c4ee5))||_0x1b22d0[_0x232822(0x128)]});}return _0x5033f6;},$=(_0x593855,_0x3d3516,_0xefa8f4)=>(_0xefa8f4=_0x593855!=null?F(O(_0x593855)):{},C(_0x3d3516||!_0x593855||!_0x593855[a0_0x5344d5(0x180)]?h(_0xefa8f4,'default',{'value':_0x593855,'enumerable':!0x0}):_0xefa8f4,_0x593855)),Z=_0x3bcc64=>C(h({},a0_0x5344d5(0x180),{'value':!0x0}),_0x3bcc64),V={};v(V,{'MahalMap':()=>g,'MahalMapDefaultMarker':()=>f,'Router':()=>K,'Search':()=>G,'keyUtils':()=>b}),module[a0_0x5344d5(0x1a4)]=Z(V);var w='https://platform.mahal.tj/api/',T=a0_0x5344d5(0x129),S=a0_0x5344d5(0x170),k=a0_0x5344d5(0x15f);function I(_0x44a1d8){var _0x492ecc=a0_0x5344d5,_0x40bb24={'SZUKt':function(_0x4d73d9,_0x163979){return _0x4d73d9<_0x163979;},'sgfow':function(_0x330be4,_0xc3d719){return _0x330be4-_0xc3d719;},'JzkeS':function(_0x397bf6,_0x33bc55){return _0x397bf6>=_0x33bc55;},'Kemdu':function(_0xb21ab0,_0x12db8e){return _0xb21ab0&_0x12db8e;},'igapj':function(_0x43fa97,_0x54a33e){return _0x43fa97>>_0x54a33e;},'GVuJQ':function(_0x735ecc,_0x442d92){return _0x735ecc<<_0x442d92;},'zTKYQ':function(_0x22fb62,_0x47d405){return _0x22fb62*_0x47d405;},'uUecy':function(_0x10efe0,_0x128bb0){return _0x10efe0*_0x128bb0;}};let _0x5d048d=[],_0x20f103=0x0,_0x2e632e=_0x44a1d8[_0x492ecc(0xee)],_0x389f1b=0x0,_0x45fce7=0x0;for(;_0x40bb24['SZUKt'](_0x20f103,_0x2e632e);){let _0x4f1c1f,_0xf6b84=0x0,_0xff8a1a=0x0;do _0x4f1c1f=_0x40bb24['sgfow'](_0x44a1d8['charCodeAt'](_0x20f103++),0x3f),_0xff8a1a|=(_0x4f1c1f&0x1f)<<_0xf6b84,_0xf6b84+=0x5;while(_0x40bb24[_0x492ecc(0x169)](_0x4f1c1f,0x20));let _0x415842=_0x40bb24[_0x492ecc(0x19c)](_0xff8a1a,0x1)?~_0x40bb24[_0x492ecc(0x15a)](_0xff8a1a,0x1):_0x40bb24[_0x492ecc(0x15a)](_0xff8a1a,0x1);_0x389f1b+=_0x415842,_0xf6b84=0x0,_0xff8a1a=0x0;do _0x4f1c1f=_0x40bb24[_0x492ecc(0x184)](_0x44a1d8[_0x492ecc(0x141)](_0x20f103++),0x3f),_0xff8a1a|=_0x40bb24[_0x492ecc(0x108)](_0x4f1c1f&0x1f,_0xf6b84),_0xf6b84+=0x5;while(_0x40bb24[_0x492ecc(0x169)](_0x4f1c1f,0x20));let _0x2a47d1=_0xff8a1a&0x1?~_0x40bb24[_0x492ecc(0x15a)](_0xff8a1a,0x1):_0xff8a1a>>0x1;_0x45fce7+=_0x2a47d1,_0x5d048d[_0x492ecc(0x12a)]([_0x40bb24[_0x492ecc(0x17f)](_0x45fce7,0.00001),_0x40bb24['uUecy'](_0x389f1b,0.00001)]);}return _0x5d048d;}var c=class{constructor(_0x1621ec){this['map']=_0x1621ec;}[a0_0x5344d5(0x1b0)](_0x22052d,_0x4e86ed=!0x0){var _0x125e02=a0_0x5344d5;_0x4e86ed?this[_0x125e02(0x112)][_0x125e02(0x150)]({'zoom':_0x22052d}):this[_0x125e02(0x112)][_0x125e02(0x1b0)](_0x22052d);}[a0_0x5344d5(0x1a8)](_0x21f017,_0x5bc614=!0x0){var _0x48c430=a0_0x5344d5;_0x5bc614?this[_0x48c430(0x112)]['easeTo']({'bearing':_0x21f017}):this['map'][_0x48c430(0x1a8)](_0x21f017);}[a0_0x5344d5(0x130)](_0x29d675,_0xe8b983=!0x0){var _0x52f154=a0_0x5344d5;_0xe8b983?this[_0x52f154(0x112)][_0x52f154(0x150)]({'pitch':_0x29d675}):this[_0x52f154(0x112)][_0x52f154(0x130)](_0x29d675);}['toggle3D'](_0x534fe2){var _0x25ba8f=a0_0x5344d5;this[_0x25ba8f(0x112)][_0x25ba8f(0x150)]({'pitch':_0x534fe2?0x3c:0x0,'bearing':_0x534fe2?this[_0x25ba8f(0x112)][_0x25ba8f(0x17c)]():0x0,'duration':0x320});}[a0_0x5344d5(0x16f)](){var _0x4a2ee1=a0_0x5344d5;this['map'][_0x4a2ee1(0x150)]({'bearing':0x0,'pitch':0x0,'duration':0x258});}[a0_0x5344d5(0x191)](_0x53cbe1){var _0x1a8caa=a0_0x5344d5;this[_0x1a8caa(0x112)][_0x1a8caa(0x191)]({'speed':1.2,'curve':1.42,'essential':!0x0,..._0x53cbe1});}[a0_0x5344d5(0x19a)](){var _0x7cc474=a0_0x5344d5;return this[_0x7cc474(0x112)][_0x7cc474(0x19a)]();}},P=(_0xaf1cd0,_0x533a1b)=>a0_0x5344d5(0x11e)+(_0xaf1cd0||'#278960')+a0_0x5344d5(0x13a)+(_0xaf1cd0||a0_0x5344d5(0x175))+a0_0x5344d5(0x125)+(_0x533a1b??'')+a0_0x5344d5(0xf0),f=class{constructor(_0x360d26){var _0x3c2933=a0_0x5344d5;this['props']=_0x360d26,this[_0x3c2933(0xff)]=this[_0x3c2933(0x148)]();}[a0_0x5344d5(0x148)](){var _0x491479=a0_0x5344d5,_0xb93039={'nuWvV':_0x491479(0xf8)};let _0x15ec2d=document[_0x491479(0x148)](_0x491479(0x18b));_0x15ec2d[_0x491479(0x104)][_0x491479(0x15b)]=_0xb93039[_0x491479(0xfa)];let _0x4e5e67=this['props']['svg']?this[_0x491479(0xfc)](this[_0x491479(0xf2)][_0x491479(0x115)]):P(this[_0x491479(0xf2)][_0x491479(0x135)]??_0x491479(0x175),this[_0x491479(0xf2)][_0x491479(0x103)]);return _0x15ec2d['innerHTML']=_0x4e5e67,this[_0x491479(0xf2)][_0x491479(0x16d)]&&(_0x15ec2d[_0x491479(0x16d)]=!0x0),_0x15ec2d;}['applyColorToCustomSvg'](_0x467310){var _0x287ffc=a0_0x5344d5;return this[_0x287ffc(0xf2)][_0x287ffc(0x135)]?_0x467310[_0x287ffc(0x144)](/fill="[^"]*"/g,_0x287ffc(0x10f)+this['props'][_0x287ffc(0x135)]+'\x22'):_0x467310;}[a0_0x5344d5(0x1ae)](){var _0x36ebfa=a0_0x5344d5;return this[_0x36ebfa(0xff)];}['getCoordinates'](){var _0xdc84b=a0_0x5344d5;return this[_0xdc84b(0xf2)]['coordinates'];}['isDraggable'](){var _0x2c09f5=a0_0x5344d5;return!!this[_0x2c09f5(0xf2)][_0x2c09f5(0x16d)];}['getAnchor'](){var _0x4e5432=a0_0x5344d5,_0x47ffc3={'ECAhU':_0x4e5432(0x163)};return this[_0x4e5432(0xf2)]['anchor']||_0x47ffc3[_0x4e5432(0x17a)];}};function A(_0x404031,_0x2136b3,_0x369e84){var _0x3ad0f2=a0_0x5344d5,_0x3066fc={'lRRkS':_0x3ad0f2(0x163)};return new _0x404031[(_0x3ad0f2(0x156))]({'element':_0x369e84['getElement'](),'draggable':_0x369e84[_0x3ad0f2(0x199)]?.()??!0x1,'anchor':_0x369e84[_0x3ad0f2(0x13e)]?.()??_0x3066fc[_0x3ad0f2(0x17d)]})['setLngLat'](_0x369e84['getCoordinates']())[_0x3ad0f2(0x1b7)](_0x2136b3);}var d={'dark':T,'light':S},n=class n{constructor(){var _0x33ffa4=a0_0x5344d5;this[_0x33ffa4(0x172)]=!0x1,this[_0x33ffa4(0x19e)]=[];}static[a0_0x5344d5(0xf7)](_0x26a548,_0x1572d9){var _0x208a48=a0_0x5344d5,_0x35e1b0={'ZqkBN':'[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','mGVdl':_0x208a48(0x182),'wjEdS':_0x208a48(0x112),'NMlLC':function(_0x20b326,_0x514be2){return _0x20b326!==_0x514be2;},'fBXfx':'load'};if(n[_0x208a48(0x142)])return n[_0x208a48(0x142)];let _0x4b97f4=window[_0x208a48(0x12b)]||_0x1572d9;if(!_0x4b97f4)throw new Error(_0x35e1b0['ZqkBN']);let _0x2fc05c=_0x26a548[_0x208a48(0x157)]?k:_0x26a548[_0x208a48(0x104)]?_0x26a548[_0x208a48(0x104)]:_0x26a548[_0x208a48(0x13b)]===_0x35e1b0[_0x208a48(0x133)]?d['dark']:d[_0x208a48(0x149)],_0x14b6f7=new n();return _0x14b6f7[_0x208a48(0x193)]=_0x26a548,_0x14b6f7[_0x208a48(0x179)]=_0x4b97f4,_0x14b6f7[_0x208a48(0x112)]=new _0x4b97f4[(_0x208a48(0x196))]({'container':_0x26a548[_0x208a48(0x1a1)]||_0x35e1b0['wjEdS'],'style':_0x2fc05c,'center':_0x26a548[_0x208a48(0x163)]||[69.624024,40.279687],'zoom':_0x26a548[_0x208a48(0x105)]||0x5,'attributionControl':_0x35e1b0[_0x208a48(0x1a5)](_0x26a548[_0x208a48(0x139)],!0x1)}),_0x14b6f7[_0x208a48(0x112)]['on'](_0x35e1b0[_0x208a48(0x14b)],()=>{var _0x18ad28=_0x208a48;_0x14b6f7[_0x18ad28(0x172)]=!0x0,_0x14b6f7['camera']=new c(_0x14b6f7[_0x18ad28(0x112)]),_0x14b6f7[_0x18ad28(0x19e)]['forEach'](_0x4267e3=>_0x4267e3(_0x14b6f7[_0x18ad28(0x112)])),_0x14b6f7[_0x18ad28(0x19e)]=[];}),n[_0x208a48(0x142)]=_0x14b6f7,_0x14b6f7;}static['onReady'](_0x2092cf){var _0x51177a=a0_0x5344d5,_0x77d7d9={'KqsZv':function(_0x153ae9,_0x4d980c){return _0x153ae9===_0x4d980c;},'OsCmn':_0x51177a(0x165),'fOgUZ':function(_0x3aab8d,_0x563cbe){return _0x3aab8d(_0x563cbe);}};if(!n[_0x51177a(0x142)]){let _0x15e5c7=setInterval(()=>{var _0x4424f1=_0x51177a;if(_0x77d7d9['KqsZv'](_0x4424f1(0x165),_0x77d7d9['OsCmn']))n[_0x4424f1(0x142)]&&(_0x77d7d9[_0x4424f1(0x16b)](clearInterval,_0x15e5c7),n[_0x4424f1(0x1a6)](_0x2092cf));else return this[_0x4424f1(0x112)];},0x32);return;}let _0x338341=n[_0x51177a(0x142)];_0x338341[_0x51177a(0x172)]?_0x77d7d9[_0x51177a(0x16b)](_0x2092cf,_0x338341[_0x51177a(0x112)]):_0x338341[_0x51177a(0x19e)]['push'](_0x2092cf);}static['getInstance'](){var _0xabeb4e=a0_0x5344d5,_0x35961e={'jlsfY':_0xabeb4e(0x11b)};if(!n[_0xabeb4e(0x142)])throw new Error(_0x35961e[_0xabeb4e(0x124)]);return n['instance'];}[a0_0x5344d5(0x17b)](_0x353d72){var _0x2512bf=a0_0x5344d5,_0x33c362={'DSkIQ':function(_0x46f570,_0x3c0c2a,_0x155882,_0x2e0384){return _0x46f570(_0x3c0c2a,_0x155882,_0x2e0384);}};return _0x33c362[_0x2512bf(0x123)](A,this[_0x2512bf(0x179)],this[_0x2512bf(0x112)],_0x353d72);}['init'](_0x4f6df1){var _0x4d1351=a0_0x5344d5;this[_0x4d1351(0x112)]=_0x4f6df1,this[_0x4d1351(0xf4)]=new c(_0x4f6df1);}[a0_0x5344d5(0x122)](){var _0xf618c3=a0_0x5344d5;return this[_0xf618c3(0xf4)];}[a0_0x5344d5(0x1a9)](){return this['map'];}['setStyle'](_0x590df9){var _0x946851=a0_0x5344d5,_0x53edf9={'ySqFL':function(_0x54e378,_0x30e0c4){return _0x54e378===_0x30e0c4;},'QkidV':'dark'};this[_0x946851(0x112)][_0x946851(0x178)](_0x53edf9[_0x946851(0x14e)](_0x590df9,_0x53edf9[_0x946851(0x1aa)])?d[_0x946851(0x182)]:d['light']);}[a0_0x5344d5(0x1b4)](_0x58f023){var _0x523f08=a0_0x5344d5;this[_0x523f08(0x112)][_0x523f08(0x1b4)](_0x58f023);}[a0_0x5344d5(0x1b0)](_0x176e0f){var _0x4f34d2=a0_0x5344d5;this['map'][_0x4f34d2(0x1b0)](_0x176e0f);}[a0_0x5344d5(0x11a)](){var _0x26c2df=a0_0x5344d5;this[_0x26c2df(0x112)]['remove'](),n[_0x26c2df(0x142)]=null;}};n[a0_0x5344d5(0x142)]=null;function a0_0x5b05(){var _0x5c5d46=['oedDD','sgfow','jqcLL','pTwNJ','vICfz','3662978BCklah','2390WlsfNu','exception','div','services/getAddress','76RskgSb','9NFcbTA','963599ITskDK','common','flyTo','geometry','options','getPrototypeOf','829OwqstA','Map','table','use','isDraggable','getPitch','cXvkl','Kemdu','geojson','readyCallbacks','GQsTi','GrKXN','container','info','BdZop','exports','NMlLC','onReady','kZqfl','setBearing','getMap','QkidV','Bearer\x20','axios','Ошибка\x20при\x20поиске\x20адреса:','getElement','190165PhuPik','setZoom','QZIUz','object','akqFE','setCenter','route','data','addTo','length','kskYf','\x0a\x20\x20\x20\x20\x20\x20\x20\x20</g>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<defs>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<filter\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id=\x22filter0_d_367_31358\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20x=\x220\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20y=\x220\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width=\x2250\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height=\x2255\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20filterUnits=\x22userSpaceOnUse\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color-interpolation-filters=\x22sRGB\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feFlood\x20flood-opacity=\x220\x22\x20result=\x22BackgroundImageFix\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feColorMatrix\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20in=\x22SourceAlpha\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type=\x22matrix\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20values=\x220\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x20127\x200\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20result=\x22hardAlpha\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feOffset\x20dy=\x222\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feGaussianBlur\x20stdDeviation=\x222\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feComposite\x20in2=\x22hardAlpha\x22\x20operator=\x22out\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feColorMatrix\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type=\x22matrix\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20values=\x220\x200\x200\x200\x200.250234\x200\x200\x200\x200\x200.660089\x200\x200\x200\x200\x200.488619\x200\x200\x200\x200.24\x200\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feBlend\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20mode=\x22normal\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20in2=\x22BackgroundImageFix\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20result=\x22effect1_dropShadow_367_31358\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feBlend\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20mode=\x22normal\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20in=\x22SourceGraphic\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20in2=\x22effect1_dropShadow_367_31358\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20result=\x22shape\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</filter>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<clipPath\x20id=\x22clip0_367_31358\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<rect\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width=\x2222\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height=\x2222\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fill=\x22white\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20transform=\x22translate(14\x2012)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</clipPath>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</defs>\x0a\x20\x20\x20\x20\x20\x20</svg>','NFjIy','props','bind','camera','Lgtsg','WrYGK','create','pointer','YpFpv','nuWvV','1280676cJGxRz','applyColorToCustomSvg','src','HpNDl','element','string','mahal_map.sdk.js','function','innerSvg','style','zoom','hCMRU','GApra','GVuJQ','gTUem','bfuNN','HItgL','OYmwx','oQiwI','searchParams','fill=\x22','eDrWC','status','map','HUfWb','apikey','svg','fZXep','uGtHo','adKjh','iCZLa','destroy','[MahalMap\x20SDK]\x20Карта\x20ещё\x20не\x20создана','ZcWyX','getOwnPropertyNames','<svg\x0a\x20\x20\x20\x20\x20\x20\x20\x20width=\x2250\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20height=\x2262\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20viewBox=\x220\x200\x2050\x2062\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20fill=\x22none\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20xmlns=\x22http://www.w3.org/2000/svg\x22\x0a\x20\x20\x20\x20\x20\x20>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<g\x20filter=\x22url(#filter0_d_367_31358)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<path\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fill-rule=\x22evenodd\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20clip-rule=\x22evenodd\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20d=\x22M25\x202C36.598\x202\x2046\x2011.402\x2046\x2023C46\x2033.1603\x2038.7844\x2041.6353\x2029.198\x2043.5803L25.6524\x2048.6575C25.5788\x2048.7633\x2025.4812\x2048.8497\x2025.3676\x2048.9093C25.254\x2048.9689\x2025.128\x2049\x2025\x2049C24.872\x2049\x2024.746\x2048.9689\x2024.6324\x2048.9093C24.5188\x2048.8497\x2024.4212\x2048.7633\x2024.3476\x2048.6575L20.802\x2043.5803C11.2156\x2041.6353\x204\x2033.1603\x204\x2023C4\x2011.402\x2013.402\x202\x2025\x202Z\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fill=\x22','QEewd','services/getRoutes','HuqwB','getCamera','DSkIQ','jlsfY','\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stroke=\x22white\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stroke-width=\x222\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<g\x20clip-path=\x22url(#clip0_367_31358)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','prototype','YoAQl','enumerable','https://mtile.gram.tj/custom-styles/dark-style.json','push','maplibregl','jFoEy','zGZHi','JkCOY','default','setPitch','console','qFuUy','mGVdl','headers','color','EghZz','unWXc','MyOpk','attributionControl','\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</g>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<path\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20d=\x22M25\x2051C27.7614\x2051\x2030\x2053.2386\x2030\x2056C30\x2058.7614\x2027.7614\x2061\x2025\x2061C22.2386\x2061\x2020\x2058.7614\x2020\x2056C20\x2053.2386\x2022.2386\x2051\x2025\x2051Z\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fill=\x22','theme','GOSOr','routes','getAnchor','4|2|1|3|0|5','18aXhOQX','charCodeAt','instance','JSRrU','replace','toString','omwtU','trace','createElement','light','WqrGu','fBXfx','maggj','log','ySqFL','hROCi','easeTo','HUFMW','call','apply','post','nbYlN','Marker','autoAddVectorSource','xvHfD','LTIht','igapj','cursor','oyGAj','defineProperty','6331808RwUyYO','https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json','error','ZfOBH','BJmbP','center','2206130gnilfj','keJbT','ZNAzW','getOwnPropertyDescriptor','RdgLy','JzkeS','BMAYB','fOgUZ','jAvYz','draggable','XPuNA','resetNorth','https://mtile.gram.tj/custom-styles/mapstyle.json','lIeMw','isReady','forEach','kEZwR','#278960','__proto__','UgElL','setStyle','maplibre','ECAhU','addMarker','getBearing','lRRkS','gICmv','zTKYQ','__esModule','gYOYR','dark'];a0_0x5b05=function(){return _0x5c5d46;};return a0_0x5b05();}var g=n,E=$(require(a0_0x5344d5(0x1ac))),m=E[a0_0x5344d5(0x12f)][a0_0x5344d5(0xf7)]({'baseURL':w});m['interceptors']['request'][a0_0x5344d5(0x198)](_0x10cab2=>_0x10cab2,_0x1ae4ea=>(_0x1ae4ea['request']?.[a0_0x5344d5(0x111)]===0x191&&y(),Promise['reject'](_0x1ae4ea)));var b={};v(b,{'clearKey':()=>y,'getApiKey':()=>u,'saveKey':()=>x});function a0_0x2f16(_0x400a82,_0x5718a9){var _0x4293df=a0_0x5b05();return a0_0x2f16=function(_0x5da997,_0x5dd3e2){_0x5da997=_0x5da997-0xee;var _0x4360be=_0x4293df[_0x5da997];return _0x4360be;},a0_0x2f16(_0x400a82,_0x5718a9);}var M='';function x(_0xd26d80){var _0x4e5484=a0_0x5344d5,_0x584ec4={'hCMRU':function(_0x342809,_0x39acdd){return _0x342809!==_0x39acdd;}};_0x584ec4[_0x4e5484(0x106)](_0xd26d80,'')&&(M=_0xd26d80,m['defaults'][_0x4e5484(0x134)][_0x4e5484(0x190)]['Authorization']=_0x4e5484(0x1ab)+_0xd26d80);}function y(){var _0x44c386=a0_0x5344d5,_0x17f242={'XPuNA':function(_0x2b186f,_0x3f6bdd){return _0x2b186f+_0x3f6bdd;},'VPuKE':'return\x20(function()\x20','QZIUz':_0x44c386(0x162),'hROCi':_0x44c386(0xf6),'HuqwB':function(_0x24d6f4,_0x1a9586){return _0x24d6f4!==_0x1a9586;},'HUfWb':_0x44c386(0x136),'cXvkl':_0x44c386(0x16a),'oedDD':function(_0x5973af,_0x22b5cf){return _0x5973af(_0x22b5cf);},'kZqfl':'{}.constructor(\x22return\x20this\x22)(\x20)','kskYf':_0x44c386(0xf9),'GApra':function(_0x93abc3){return _0x93abc3();},'IcWmA':_0x44c386(0x14d),'Lgtsg':'warn','ZfOBH':'error','xvHfD':function(_0x16f850,_0x376024){return _0x16f850<_0x376024;},'GQsTi':_0x44c386(0xfe),'XtKFT':_0x44c386(0x13f),'BdZop':function(_0x42e6b3,_0x32c65b,_0x10ffd){return _0x42e6b3(_0x32c65b,_0x10ffd);}},_0x30889e=(function(){var _0x33e8e2=_0x44c386,_0x3a332b={'NMGow':_0x17f242[_0x33e8e2(0x1b1)],'qFuUy':_0x17f242[_0x33e8e2(0x14f)],'eDrWC':_0x33e8e2(0xf1),'BfwlE':'OGDrH'};if(_0x17f242['HuqwB'](_0x17f242[_0x33e8e2(0x113)],_0x17f242[_0x33e8e2(0x113)]))_0x456d69=_0x24503b(PQwCHS[_0x33e8e2(0x16e)](PQwCHS['VPuKE']+'{}.constructor(\x22return\x20this\x22)(\x20)',');'))();else{var _0x4e27=!![];return function(_0x171e2c,_0x4c2f73){var _0x36176f=_0x33e8e2;if(_0x3a332b[_0x36176f(0x110)]===_0x3a332b['BfwlE'])_0x3c2960?this['map']['easeTo']({'pitch':_0x437ccb}):this['map'][_0x36176f(0x130)](_0x2690da);else{var _0x287489=_0x4e27?function(){var _0x3535d5=_0x36176f;if(_0x3a332b['NMGow']===_0x3535d5(0x181))this[_0x3535d5(0x112)]['easeTo']({'pitch':_0x5be86e?0x3c:0x0,'bearing':_0x2bc7d1?this['map'][_0x3535d5(0x17c)]():0x0,'duration':0x320});else{if(_0x4c2f73){if(_0x3a332b[_0x3535d5(0x132)]==='WrYGK'){var _0x11e431=_0x4c2f73[_0x3535d5(0x153)](_0x171e2c,arguments);return _0x4c2f73=null,_0x11e431;}else{let _0x151ed3={..._0x55509e};return _0x151ed3['route']?.['routes']?.[_0x3535d5(0xee)]&&(_0x151ed3[_0x3535d5(0x1b5)][_0x3535d5(0x13d)]=_0x151ed3[_0x3535d5(0x1b5)][_0x3535d5(0x13d)][_0x3535d5(0x112)](_0x34e473=>({..._0x34e473,'geometry':_0x2dcc91===_0x3535d5(0x19d)&&typeof _0x34e473[_0x3535d5(0x192)]=='string'?_0x39fe4c(_0x34e473[_0x3535d5(0x192)]):_0x34e473[_0x3535d5(0x192)]}))),_0x151ed3;}}}}:function(){};return _0x4e27=![],_0x287489;}};}}()),_0x5e6000=_0x17f242[_0x44c386(0x1a3)](_0x30889e,this,function(){var _0x4197ed=_0x44c386,_0x2067bb=function(){var _0x310df1=a0_0x2f16,_0x58387e={'JSRrU':function(_0x3f7d5f,_0x3e3a73){return _0x3f7d5f(_0x3e3a73);}},_0x309cc6;try{_0x17f242[_0x310df1(0x19b)]!==_0x17f242[_0x310df1(0x19b)]?_0x15a8ed[_0x310df1(0x142)]&&(_0x58387e[_0x310df1(0x143)](_0x37f689,_0x32c2d6),_0x1546f9[_0x310df1(0x1a6)](_0x110006)):_0x309cc6=_0x17f242[_0x310df1(0x183)](Function,_0x17f242['XPuNA'](_0x17f242[_0x310df1(0x16e)]('return\x20(function()\x20',_0x17f242[_0x310df1(0x1a7)]),');'))();}catch(_0x38ef47){if(_0x310df1(0x185)===_0x17f242[_0x310df1(0xef)])return this[_0x310df1(0xff)];else _0x309cc6=window;}return _0x309cc6;},_0x58f6b9=_0x17f242[_0x4197ed(0x107)](_0x2067bb),_0x297137=_0x58f6b9[_0x4197ed(0x131)]=_0x58f6b9[_0x4197ed(0x131)]||{},_0x101088=[_0x17f242['IcWmA'],_0x17f242[_0x4197ed(0xf5)],_0x4197ed(0x1a2),_0x17f242[_0x4197ed(0x161)],_0x4197ed(0x18a),_0x4197ed(0x197),_0x4197ed(0x147)];for(var _0x273e31=0x0;_0x17f242[_0x4197ed(0x158)](_0x273e31,_0x101088[_0x4197ed(0xee)]);_0x273e31++){if(_0x17f242[_0x4197ed(0x121)](_0x17f242[_0x4197ed(0x19f)],_0x17f242[_0x4197ed(0x19f)]))this[_0x4197ed(0xf2)]=_0x2931a8,this[_0x4197ed(0xff)]=this[_0x4197ed(0x148)]();else{var _0x38f1b8=_0x17f242['XtKFT']['split']('|'),_0x532ff0=0x0;while(!![]){switch(_0x38f1b8[_0x532ff0++]){case'0':_0x4894b9[_0x4197ed(0x145)]=_0x2b1b1c[_0x4197ed(0x145)][_0x4197ed(0xf3)](_0x2b1b1c);continue;case'1':var _0x2b1b1c=_0x297137[_0x1d0382]||_0x4894b9;continue;case'2':var _0x1d0382=_0x101088[_0x273e31];continue;case'3':_0x4894b9[_0x4197ed(0x176)]=_0x30889e[_0x4197ed(0xf3)](_0x30889e);continue;case'4':var _0x4894b9=_0x30889e['constructor'][_0x4197ed(0x126)][_0x4197ed(0xf3)](_0x30889e);continue;case'5':_0x297137[_0x1d0382]=_0x4894b9;continue;}break;}}}});_0x17f242[_0x44c386(0x107)](_0x5e6000),(M='',m['defaults']['headers'][_0x44c386(0x190)]['Authorization']='');}var u=()=>M;function R(_0x1a6588,_0x596e93){var _0x17f8ed=a0_0x5344d5,_0x29ca25={'zGZHi':function(_0x18d4ab,_0x2e13d8){return _0x18d4ab!==_0x2e13d8;},'MLnTN':_0x17f8ed(0x168),'UgElL':function(_0x15352e,..._0x5b3d8b){return _0x15352e(..._0x5b3d8b);},'MyOpk':function(_0x3f94e6,_0x1991c3){return _0x3f94e6===_0x1991c3;},'vUeaE':_0x17f8ed(0x10b),'HUFMW':_0x17f8ed(0x14c),'GrKXN':function(_0x3b1969,_0x3dec4f,_0x54606b){return _0x3b1969(_0x3dec4f,_0x54606b);}};let _0x2a8a99;return(..._0x43914e)=>(_0x2a8a99&&clearTimeout(_0x2a8a99),new Promise(_0x56b23c=>{var _0x1cd2b4=_0x17f8ed,_0x2c1857={'xUygl':function(_0xb39711,_0x3b07ae){var _0x3f9497=a0_0x2f16;return _0x29ca25[_0x3f9497(0x12d)](_0xb39711,_0x3b07ae);},'lIeMw':_0x29ca25['MLnTN'],'unWXc':function(_0x2da604,..._0x64434d){var _0x400d02=a0_0x2f16;return _0x29ca25[_0x400d02(0x177)](_0x2da604,..._0x64434d);}};_0x29ca25[_0x1cd2b4(0x138)](_0x29ca25['vUeaE'],_0x29ca25[_0x1cd2b4(0x151)])?this['map'][_0x1cd2b4(0x150)]({'bearing':0x0,'pitch':0x0,'duration':0x258}):_0x2a8a99=_0x29ca25[_0x1cd2b4(0x1a0)](setTimeout,async()=>{var _0x38eee4=_0x1cd2b4;if(_0x2c1857['xUygl'](_0x38eee4(0x168),_0x2c1857[_0x38eee4(0x171)]))throw _0x1ca0ec['error'](_0x57fe67),_0xe2cee6;else{var _0x1f2a82=await _0x2c1857[_0x38eee4(0x137)](_0x1a6588,..._0x43914e);_0x2c1857[_0x38eee4(0x137)](_0x56b23c,_0x1f2a82);}},_0x596e93);}));}var L=async _0x342401=>{var _0x2363c4=a0_0x5344d5,_0x5d22d4={'mXbqN':function(_0x1e7b8a,_0x383cc9){return _0x1e7b8a==_0x383cc9;},'GOSOr':_0x2363c4(0x1b2),'akqFE':function(_0x593d11,_0x5ea40c){return _0x593d11==_0x5ea40c;},'fZXep':_0x2363c4(0x102),'GYxPR':function(_0x155258,_0x30045c){return _0x155258(_0x30045c);},'pTwNJ':function(_0xff70c,_0x19e11f){return _0xff70c!==_0x19e11f;},'YVYTH':function(_0x52fac0,_0x1eaeb0,_0x4d1a80,_0xbe6e49){return _0x52fac0(_0x1eaeb0,_0x4d1a80,_0xbe6e49);},'ZNAzW':function(_0x5565ea,_0x517d7b){return _0x5565ea!==_0x517d7b;},'oyGAj':'CrShH','ZQxfT':_0x2363c4(0x18c),'gTUem':_0x2363c4(0x1ad)};try{if(_0x5d22d4[_0x2363c4(0x166)](_0x2363c4(0x14a),_0x5d22d4[_0x2363c4(0x15c)]))return(await m['post'](_0x5d22d4['ZQxfT'],_0x342401))[_0x2363c4(0x1b6)];else{if(_0x5a6fda&&_0x5d22d4['mXbqN'](typeof _0x3ae49e,_0x5d22d4[_0x2363c4(0x13c)])||_0x5d22d4[_0x2363c4(0x1b3)](typeof _0x1ba459,_0x5d22d4[_0x2363c4(0x116)])){for(let _0x420eba of _0x5d22d4['GYxPR'](_0x10a2f6,_0x3d4d81))!_0x38d4[_0x2363c4(0x152)](_0x152155,_0x420eba)&&_0x5d22d4[_0x2363c4(0x186)](_0x420eba,_0x2ecddd)&&_0x5d22d4['YVYTH'](_0x4b65a9,_0x570a26,_0x420eba,{'get':()=>_0x4a38cf[_0x420eba],'enumerable':!(_0xfe454e=_0x322dfe(_0x73e45d,_0x420eba))||_0x2ae660[_0x2363c4(0x128)]});}return _0x586eaa;}}catch(_0x1ffe27){throw console[_0x2363c4(0x160)](_0x5d22d4[_0x2363c4(0x109)],_0x1ffe27),_0x1ffe27;}};async function H(_0x21f334,_0x5d0c17,_0x227654){var _0x14309e=a0_0x5344d5,_0x2ff6f2={'jFoEy':function(_0x1c8dd5){return _0x1c8dd5();},'kEZwR':_0x14309e(0x16c),'bfuNN':'QlVWI','iCZLa':function(_0x5106e7,_0x131fbf){return _0x5106e7(_0x131fbf);}};let _0x443943={'text':_0x21f334,'token':_0x5d0c17||_0x2ff6f2[_0x14309e(0x12c)](u),..._0x227654};try{if(_0x2ff6f2[_0x14309e(0x174)]===_0x2ff6f2[_0x14309e(0x10a)]){if(!_0xcd0cc8[_0x14309e(0x142)])throw new _0x44b10f(_0x14309e(0x11b));return _0x5ab812[_0x14309e(0x142)];}else return await _0x2ff6f2[_0x14309e(0x119)](L,_0x443943);}catch(_0x5d15e9){throw _0x5d15e9;}}var X=R(H,0x1f4);async function G(_0x3fc879,_0x16a626,_0x100a6a){var _0x17eaae=a0_0x5344d5,_0x2bafd1={'omwtU':function(_0x2a7684,_0x220b78,_0x1c767d,_0x1e5120){return _0x2a7684(_0x220b78,_0x1c767d,_0x1e5120);}};return await _0x2bafd1[_0x17eaae(0x146)](X,_0x3fc879,_0x16a626,_0x100a6a);}var B=async(_0x4c7584,_0x1d99ef)=>{var _0x20e9fc=a0_0x5344d5,_0x1f48ce={'nbYlN':function(_0x1e5d4d,_0x17afdf,_0x1942ab){return _0x1e5d4d(_0x17afdf,_0x1942ab);},'ZcWyX':_0x20e9fc(0x120),'QEewd':function(_0x11ab44){return _0x11ab44();},'JkCOY':function(_0x2b15d7,_0x287e49){return _0x2b15d7!==_0x287e49;},'oQiwI':_0x20e9fc(0x127),'vICfz':_0x20e9fc(0x159)};try{let _0x161839=[];return _0x4c7584[_0x20e9fc(0x173)](_0x14a953=>{var _0x20004c=_0x20e9fc;_0x161839[_0x20004c(0x12a)]({'lng':_0x14a953[0x0],'lat':_0x14a953[0x1]});}),(await m[_0x20e9fc(0x154)](_0x1f48ce[_0x20e9fc(0x11c)],{'points':_0x161839,'token':_0x1d99ef||_0x1f48ce[_0x20e9fc(0x11f)](u)}))[_0x20e9fc(0x1b6)];}catch(_0x373a09){if(_0x1f48ce[_0x20e9fc(0x12e)](_0x1f48ce[_0x20e9fc(0x10d)],_0x1f48ce[_0x20e9fc(0x187)]))throw console[_0x20e9fc(0x160)](_0x373a09),_0x373a09;else{let _0x2d59b6=_0x1f48ce[_0x20e9fc(0x155)](_0x1c266b,()=>{var _0x359bf0=_0x20e9fc;_0x50895c[_0x359bf0(0x142)]&&(_0xfc80fc(_0x2d59b6),_0xa7af5c[_0x359bf0(0x1a6)](_0x2503ef));},0x32);return;}}};async function K(_0x9b8f0e,_0x5557cc,_0x588b77){var _0x434c54=a0_0x5344d5,_0x4f0bf5={'adKjh':function(_0x3280eb,_0x5924df,_0x2f32e2){return _0x3280eb(_0x5924df,_0x2f32e2);}};try{let _0x2d549e=await _0x4f0bf5[_0x434c54(0x118)](B,_0x9b8f0e,_0x588b77);return _0x2d549e?.[_0x434c54(0x1b6)]?_0x2d549e['data'][_0x434c54(0x112)](_0x3229f1=>{var _0x514efc=_0x434c54;let _0x121d6d={..._0x3229f1};return _0x121d6d[_0x514efc(0x1b5)]?.[_0x514efc(0x13d)]?.[_0x514efc(0xee)]&&(_0x121d6d[_0x514efc(0x1b5)][_0x514efc(0x13d)]=_0x121d6d[_0x514efc(0x1b5)]['routes'][_0x514efc(0x112)](_0x48cabf=>({..._0x48cabf,'geometry':_0x5557cc===_0x514efc(0x19d)&&typeof _0x48cabf[_0x514efc(0x192)]==_0x514efc(0x100)?I(_0x48cabf[_0x514efc(0x192)]):_0x48cabf[_0x514efc(0x192)]}))),_0x121d6d;}):_0x2d549e;}catch(_0x2f1192){throw _0x2f1192;}}function z(){var _0xc1023a=a0_0x5344d5,_0x4c07f1={'miGRK':_0xc1023a(0x101),'Mwxpe':_0xc1023a(0x114)};let _0x3b01a9=document['getElementsByTagName']('script');for(let _0x35ceed of _0x3b01a9)if(_0x35ceed[_0xc1023a(0xfd)]['includes'](_0x4c07f1['miGRK'])){let _0x136d25=new URL(_0x35ceed[_0xc1023a(0xfd)])[_0xc1023a(0x10e)]['get'](_0x4c07f1['Mwxpe']);if(_0x136d25)return _0x136d25;}return'';}x(z()),0x0&&(module[a0_0x5344d5(0x1a4)]={'MahalMap':MahalMap,'MahalMapDefaultMarker':MahalMapDefaultMarker,'Router':Router,'Search':Search,'keyUtils':keyUtils});
1
+ 'use strict';function a0_0x544e(_0x23012c,_0xc8f1fa){var _0x250e38=a0_0x486b();return a0_0x544e=function(_0x31e9a3,_0x276d42){_0x31e9a3=_0x31e9a3-0xc5;var _0x5d570=_0x250e38[_0x31e9a3];return _0x5d570;},a0_0x544e(_0x23012c,_0xc8f1fa);}var a0_0x143843=a0_0x544e;(function(_0xd10f32,_0x29df1f){var _0x504f7d=a0_0x544e,_0x14cba4=_0xd10f32();while(!![]){try{var _0x14716b=parseInt(_0x504f7d(0x124))/0x1*(parseInt(_0x504f7d(0x138))/0x2)+-parseInt(_0x504f7d(0x11b))/0x3+-parseInt(_0x504f7d(0x132))/0x4*(parseInt(_0x504f7d(0xe8))/0x5)+parseInt(_0x504f7d(0xf2))/0x6+-parseInt(_0x504f7d(0x11f))/0x7*(parseInt(_0x504f7d(0xe2))/0x8)+parseInt(_0x504f7d(0x153))/0x9*(-parseInt(_0x504f7d(0x16d))/0xa)+-parseInt(_0x504f7d(0x15f))/0xb*(-parseInt(_0x504f7d(0x109))/0xc);if(_0x14716b===_0x29df1f)break;else _0x14cba4['push'](_0x14cba4['shift']());}catch(_0x542805){_0x14cba4['push'](_0x14cba4['shift']());}}}(a0_0x486b,0xa1e9f));var _=Object[a0_0x143843(0x13e)],f=Object['defineProperty'],N=Object[a0_0x143843(0xc9)],O=Object[a0_0x143843(0xe7)],U=Object['getPrototypeOf'],$=Object[a0_0x143843(0x146)][a0_0x143843(0x14d)],y=(_0x719736,_0x2d879c)=>{var _0x18dfb0={'OinbP':function(_0x49b0d0,_0x2a1f3f,_0x4d2cd6,_0x3f09e5){return _0x49b0d0(_0x2a1f3f,_0x4d2cd6,_0x3f09e5);}};for(var _0x5429f1 in _0x2d879c)_0x18dfb0['OinbP'](f,_0x719736,_0x5429f1,{'get':_0x2d879c[_0x5429f1],'enumerable':!0x0});},w=(_0x23f297,_0x182450,_0x1e08a6,_0x10cd51)=>{var _0x350b4a=a0_0x143843,_0x55a092={'ZIzGk':function(_0x7f8c6f,_0x3fe16c){return _0x7f8c6f==_0x3fe16c;},'MbzuT':'object','fkjYm':'function','ZBJLG':function(_0x9e1483,_0x5a99d5){return _0x9e1483(_0x5a99d5);},'cdxkn':function(_0x315fdc,_0x47495e){return _0x315fdc!==_0x47495e;},'NCLTd':function(_0x539b1a,_0x438298,_0x137572,_0x23ec2c){return _0x539b1a(_0x438298,_0x137572,_0x23ec2c);}};if(_0x182450&&_0x55a092[_0x350b4a(0x148)](typeof _0x182450,_0x55a092[_0x350b4a(0x17b)])||_0x55a092[_0x350b4a(0x148)](typeof _0x182450,_0x55a092[_0x350b4a(0x101)])){for(let _0x6ad829 of _0x55a092[_0x350b4a(0x154)](O,_0x182450))!$[_0x350b4a(0x15d)](_0x23f297,_0x6ad829)&&_0x55a092[_0x350b4a(0x158)](_0x6ad829,_0x1e08a6)&&_0x55a092[_0x350b4a(0xeb)](f,_0x23f297,_0x6ad829,{'get':()=>_0x182450[_0x6ad829],'enumerable':!(_0x10cd51=N(_0x182450,_0x6ad829))||_0x10cd51[_0x350b4a(0x13b)]});}return _0x23f297;},Z=(_0x21f67e,_0x399b90,_0x178c46)=>(_0x178c46=_0x21f67e!=null?_(U(_0x21f67e)):{},w(_0x399b90||!_0x21f67e||!_0x21f67e[a0_0x143843(0x15a)]?f(_0x178c46,a0_0x143843(0xd0),{'value':_0x21f67e,'enumerable':!0x0}):_0x178c46,_0x21f67e)),H=_0x3759a4=>w(f({},'__esModule',{'value':!0x0}),_0x3759a4),q={};y(q,{'MahalMap':()=>g,'MahalMapDefaultMarker':()=>h,'Router':()=>j,'Search':()=>B,'keyUtils':()=>v,'utils':()=>T}),module['exports']=H(q);var S=a0_0x143843(0xd3),k=a0_0x143843(0x104),I=a0_0x143843(0x130),P=a0_0x143843(0xf3);function a0_0x486b(){var _0x2ad5c8=['AmoIy','FdELx','draggable','includes','light','resetNorth','addTo','YVtbZ','248NxLTzH','2|3|4|1|0','props','setCenter','FsUvx','getOwnPropertyNames','2611580YFtWNK','services/getAddress','fill=\x22','NCLTd','innerSvg','ujYoV','geometry','dark','flyTo','oHfil','4215894TwOesL','https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json','interceptors','IpzMb','smrsZ','remove','geojson','UTiph','qUHAn','easeTo','EULYB','tCBpy','init','getElementsByTagName','services/getRoutes','fkjYm','length','__proto__','https://mtile.gram.tj/custom-styles/dark-style.json','Ошибка\x20при\x20поиске\x20адреса:','wgBGK','map','getCamera','156kHYQlP','mahal_map.sdk.js','push','error','element','QXFCj','TQcEc','apply','\x0a\x20\x20\x20\x20\x20\x20\x20\x20</g>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<defs>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<filter\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id=\x22filter0_d_367_31358\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20x=\x220\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20y=\x220\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width=\x2250\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height=\x2255\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20filterUnits=\x22userSpaceOnUse\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color-interpolation-filters=\x22sRGB\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feFlood\x20flood-opacity=\x220\x22\x20result=\x22BackgroundImageFix\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feColorMatrix\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20in=\x22SourceAlpha\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type=\x22matrix\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20values=\x220\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x20127\x200\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20result=\x22hardAlpha\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feOffset\x20dy=\x222\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feGaussianBlur\x20stdDeviation=\x222\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feComposite\x20in2=\x22hardAlpha\x22\x20operator=\x22out\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feColorMatrix\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type=\x22matrix\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20values=\x220\x200\x200\x200\x200.250234\x200\x200\x200\x200\x200.660089\x200\x200\x200\x200\x200.488619\x200\x200\x200\x200.24\x200\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feBlend\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20mode=\x22normal\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20in2=\x22BackgroundImageFix\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20result=\x22effect1_dropShadow_367_31358\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feBlend\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20mode=\x22normal\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20in=\x22SourceGraphic\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20in2=\x22effect1_dropShadow_367_31358\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20result=\x22shape\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</filter>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<clipPath\x20id=\x22clip0_367_31358\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<rect\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width=\x2222\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height=\x2222\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fill=\x22white\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20transform=\x22translate(14\x2012)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</clipPath>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</defs>\x0a\x20\x20\x20\x20\x20\x20</svg>','zoAms','defaults','axios','forEach','load','split','MqpaC','charCodeAt','table','1217283dekJgx','PcsQr','center','getCoordinates','278054WzuVgL','getElement','constructor','NCrRa','data','74752ifzKJy','readyCallbacks','guZQt','destroy','setLngLat','getPitch','camera','GhNcj','zbEuL','getMap','iCZRb','src','https://mtile.gram.tj/custom-styles/mapstyle.json','RJgWb','4dFXKDs','isDraggable','XLski','exception','trace','div','18WlndTl','wsbtA','common','enumerable','CHHtB','fwBUM','create','autoAddVectorSource','onReady','maplibre','addMarker','routes','#278960','color','prototype','setZoom','ZIzGk','request','HhGQa','coordinates','status','hasOwnProperty','setStyle','style','route','XwFvL','bind','5308731PnbwUd','ZBJLG','mZJwx','vuEmB','toString','cdxkn','PZJXk','__esModule','post','MYyGr','call','<svg\x0a\x20\x20\x20\x20\x20\x20\x20\x20width=\x2250\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20height=\x2262\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20viewBox=\x220\x200\x2050\x2062\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20fill=\x22none\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20xmlns=\x22http://www.w3.org/2000/svg\x22\x0a\x20\x20\x20\x20\x20\x20>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<g\x20filter=\x22url(#filter0_d_367_31358)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<path\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fill-rule=\x22evenodd\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20clip-rule=\x22evenodd\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20d=\x22M25\x202C36.598\x202\x2046\x2011.402\x2046\x2023C46\x2033.1603\x2038.7844\x2041.6353\x2029.198\x2043.5803L25.6524\x2048.6575C25.5788\x2048.7633\x2025.4812\x2048.8497\x2025.3676\x2048.9093C25.254\x2048.9689\x2025.128\x2049\x2025\x2049C24.872\x2049\x2024.746\x2048.9689\x2024.6324\x2048.9093C24.5188\x2048.8497\x2024.4212\x2048.7633\x2024.3476\x2048.6575L20.802\x2043.5803C11.2156\x2041.6353\x204\x2033.1603\x204\x2023C4\x2011.402\x2013.402\x202\x2025\x202Z\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fill=\x22','1723700PVbgpn','headers','get','Bcedm','\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</g>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<path\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20d=\x22M25\x2051C27.7614\x2051\x2030\x2053.2386\x2030\x2056C30\x2058.7614\x2027.7614\x2061\x2025\x2061C22.2386\x2061\x2020\x2058.7614\x2020\x2056C20\x2053.2386\x2022.2386\x2051\x2025\x2051Z\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fill=\x22','applyColorToCustomSvg','setPitch','use','Authorization','Aejhc','TjPXl','warn','return\x20(function()\x20','UXnIc','10RVpfHl','WCbUG','script','VdXQu','GdugV','BWlJF','getAnchor','TMGCD','options','ifORd','exports','svg','NrNXj','pointer','MbzuT','enNMo','JCEkK','YoDwG','console','getOwnPropertyDescriptor','isReady','\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stroke=\x22white\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stroke-width=\x222\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<g\x20clip-path=\x22url(#clip0_367_31358)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','anchor','lavvl','setBearing','instance','default','ufjXM','rRqOh','https://platform.mahal.tj/api/','container','createElement','GyxJK','Marker','WnEMW','yGPVL'];a0_0x486b=function(){return _0x2ad5c8;};return a0_0x486b();}function R(_0x40354c){var _0x582c0a=a0_0x143843,_0x4bdf7a={'TQcEc':function(_0x539bf2,_0x22a275){return _0x539bf2(_0x22a275);},'NrNXj':function(_0x3e4eea,_0x223c49,_0x4fdc7b){return _0x3e4eea(_0x223c49,_0x4fdc7b);},'FsUvx':function(_0x1699ad,_0x3f8d1f){return _0x1699ad<_0x3f8d1f;},'FdELx':_0x582c0a(0x15c),'QXFCj':function(_0x2c90b7,_0x894a39){return _0x2c90b7-_0x894a39;},'wkBat':function(_0x49c501,_0x22c6d1){return _0x49c501<<_0x22c6d1;},'oHfil':function(_0x12995d,_0x2eb21b){return _0x12995d&_0x2eb21b;},'fTcxB':function(_0x59c732,_0x53b302){return _0x59c732>=_0x53b302;},'JCEkK':function(_0x2bf823,_0x48f8a0){return _0x2bf823&_0x48f8a0;},'NCrRa':function(_0xce7120,_0x56bb98){return _0xce7120>>_0x56bb98;},'GdugV':function(_0x5838e2,_0xdcbc3e){return _0x5838e2&_0xdcbc3e;},'kUMbo':function(_0x4aecf2,_0x2617be){return _0x4aecf2*_0x2617be;}};let _0x8fdb8b=[],_0x3a8d68=0x0,_0x5359f4=_0x40354c[_0x582c0a(0x102)],_0x4e4cc9=0x0,_0x5d0fba=0x0;for(;_0x4bdf7a[_0x582c0a(0xe6)](_0x3a8d68,_0x5359f4);){if(_0x582c0a(0x15c)!==_0x4bdf7a[_0x582c0a(0xdb)]){var _0x2371f6={'Bcedm':function(_0x2e9bd8,_0xfd929f){var _0x3154c8=_0x582c0a;return _0x4bdf7a[_0x3154c8(0x10f)](_0x2e9bd8,_0xfd929f);}};let _0x294716=_0x4bdf7a[_0x582c0a(0x179)](_0x2f9482,()=>{var _0x4a9024=_0x582c0a;_0x373e2e[_0x4a9024(0xcf)]&&(_0x2371f6[_0x4a9024(0x162)](_0x127613,_0x294716),_0x35c941[_0x4a9024(0x140)](_0x25587d));},0x32);return;}else{let _0x4a9426,_0x47657a=0x0,_0x32b701=0x0;do _0x4a9426=_0x4bdf7a[_0x582c0a(0x10e)](_0x40354c[_0x582c0a(0x119)](_0x3a8d68++),0x3f),_0x32b701|=_0x4bdf7a['wkBat'](_0x4bdf7a[_0x582c0a(0xf1)](_0x4a9426,0x1f),_0x47657a),_0x47657a+=0x5;while(_0x4bdf7a['fTcxB'](_0x4a9426,0x20));let _0x4a62d8=_0x4bdf7a[_0x582c0a(0xc6)](_0x32b701,0x1)?~_0x4bdf7a[_0x582c0a(0x122)](_0x32b701,0x1):_0x4bdf7a[_0x582c0a(0x122)](_0x32b701,0x1);_0x4e4cc9+=_0x4a62d8,_0x47657a=0x0,_0x32b701=0x0;do _0x4a9426=_0x4bdf7a['QXFCj'](_0x40354c[_0x582c0a(0x119)](_0x3a8d68++),0x3f),_0x32b701|=_0x4bdf7a[_0x582c0a(0x171)](_0x4a9426,0x1f)<<_0x47657a,_0x47657a+=0x5;while(_0x4bdf7a['fTcxB'](_0x4a9426,0x20));let _0x3f8626=_0x32b701&0x1?~(_0x32b701>>0x1):_0x32b701>>0x1;_0x5d0fba+=_0x3f8626,_0x8fdb8b[_0x582c0a(0x10b)]([_0x4bdf7a['kUMbo'](_0x5d0fba,0.00001),_0x4e4cc9*0.00001]);}}return _0x8fdb8b;}var c=class{constructor(_0x46b3b6){this['map']=_0x46b3b6;}[a0_0x143843(0x147)](_0x4b2fde,_0x447194=!0x0){var _0x2f83fa=a0_0x143843;_0x447194?this[_0x2f83fa(0x107)][_0x2f83fa(0xfb)]({'zoom':_0x4b2fde}):this['map'][_0x2f83fa(0x147)](_0x4b2fde);}[a0_0x143843(0xce)](_0x4dc98b,_0x491296=!0x0){var _0x398a19=a0_0x143843;_0x491296?this[_0x398a19(0x107)][_0x398a19(0xfb)]({'bearing':_0x4dc98b}):this[_0x398a19(0x107)][_0x398a19(0xce)](_0x4dc98b);}[a0_0x143843(0x165)](_0xd9d974,_0x70a211=!0x0){var _0x1ee04d=a0_0x143843;_0x70a211?this[_0x1ee04d(0x107)][_0x1ee04d(0xfb)]({'pitch':_0xd9d974}):this[_0x1ee04d(0x107)][_0x1ee04d(0x165)](_0xd9d974);}['toggle3D'](_0x3c66a9){var _0x3d3e32=a0_0x143843;this[_0x3d3e32(0x107)][_0x3d3e32(0xfb)]({'pitch':_0x3c66a9?0x3c:0x0,'bearing':_0x3c66a9?this[_0x3d3e32(0x107)]['getBearing']():0x0,'duration':0x320});}[a0_0x143843(0xdf)](){var _0x307432=a0_0x143843;this[_0x307432(0x107)][_0x307432(0xfb)]({'bearing':0x0,'pitch':0x0,'duration':0x258});}[a0_0x143843(0xf0)](_0x29b219){this['map']['flyTo']({'speed':1.2,'curve':1.42,'essential':!0x0,..._0x29b219});}[a0_0x143843(0x129)](){var _0x2a19da=a0_0x143843;return this[_0x2a19da(0x107)][_0x2a19da(0x129)]();}},A=(_0x483d00,_0x4b7832)=>a0_0x143843(0x15e)+(_0x483d00||a0_0x143843(0x144))+a0_0x143843(0x163)+(_0x483d00||'#278960')+a0_0x143843(0xcb)+(_0x4b7832??'')+a0_0x143843(0x111),h=class{constructor(_0x58c3e0){var _0x4220a2=a0_0x143843;this[_0x4220a2(0xe4)]=_0x58c3e0,this[_0x4220a2(0x10d)]=this[_0x4220a2(0xd5)]();}['createElement'](){var _0x5eba30=a0_0x143843,_0x1ae5a5={'hIaBz':_0x5eba30(0x137),'WnEMW':function(_0x4561ef,_0x2542c3,_0x25b29e){return _0x4561ef(_0x2542c3,_0x25b29e);}};let _0x1053c0=document[_0x5eba30(0xd5)](_0x1ae5a5['hIaBz']);_0x1053c0[_0x5eba30(0x14f)]['cursor']=_0x5eba30(0x17a);let _0xafd968=this[_0x5eba30(0xe4)][_0x5eba30(0x178)]?this[_0x5eba30(0x164)](this['props'][_0x5eba30(0x178)]):_0x1ae5a5[_0x5eba30(0xd8)](A,this[_0x5eba30(0xe4)][_0x5eba30(0x145)]??'#278960',this[_0x5eba30(0xe4)][_0x5eba30(0xec)]);return _0x1053c0['innerHTML']=_0xafd968,this['props'][_0x5eba30(0xdc)]&&(_0x1053c0[_0x5eba30(0xdc)]=!0x0),_0x1053c0;}['applyColorToCustomSvg'](_0x4607db){var _0x52d0d8=a0_0x143843;return this[_0x52d0d8(0xe4)][_0x52d0d8(0x145)]?_0x4607db['replace'](/fill="[^"]*"/g,_0x52d0d8(0xea)+this[_0x52d0d8(0xe4)][_0x52d0d8(0x145)]+'\x22'):_0x4607db;}[a0_0x143843(0x120)](){var _0x4a0b33=a0_0x143843;return this[_0x4a0b33(0x10d)];}[a0_0x143843(0x11e)](){var _0x4368a2=a0_0x143843;return this['props'][_0x4368a2(0x14b)];}[a0_0x143843(0x133)](){var _0x2a74a9=a0_0x143843;return!!this[_0x2a74a9(0xe4)]['draggable'];}['getAnchor'](){var _0x4a98f4=a0_0x143843,_0x3935ff={'vjFav':'center'};return this['props'][_0x4a98f4(0xcc)]||_0x3935ff['vjFav'];}};function E(_0x42f58,_0x3aa851,_0x4d5c82){var _0x2a4a61=a0_0x143843,_0x93ccc6={'eqSDq':_0x2a4a61(0x11d)};return new _0x42f58[(_0x2a4a61(0xd7))]({'element':_0x4d5c82[_0x2a4a61(0x120)](),'draggable':_0x4d5c82[_0x2a4a61(0x133)]?.()??!0x1,'anchor':_0x4d5c82[_0x2a4a61(0x173)]?.()??_0x93ccc6['eqSDq']})[_0x2a4a61(0x128)](_0x4d5c82['getCoordinates']())[_0x2a4a61(0xe0)](_0x3aa851);}var d={'dark':k,'light':I},i=class i{constructor(){var _0x1f5bac=a0_0x143843;this[_0x1f5bac(0xca)]=!0x1,this['readyCallbacks']=[];}static[a0_0x143843(0x13e)](_0x1a77c2,_0x8310e8){var _0x429fff=a0_0x143843,_0x5821a2={'ifORd':'[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','UXnIc':function(_0x13c514,_0x4e4bc7){return _0x13c514===_0x4e4bc7;},'YVtbZ':_0x429fff(0xef),'guZQt':_0x429fff(0x107)};if(i[_0x429fff(0xcf)])return i[_0x429fff(0xcf)];let _0x30e96d=window['maplibregl']||_0x8310e8;if(!_0x30e96d)throw new Error(_0x5821a2[_0x429fff(0x176)]);let _0x396dbd=_0x1a77c2[_0x429fff(0x13f)]?P:_0x1a77c2[_0x429fff(0x14f)]?_0x1a77c2[_0x429fff(0x14f)]:_0x5821a2[_0x429fff(0x16c)](_0x1a77c2['theme'],_0x5821a2[_0x429fff(0xe1)])?d[_0x429fff(0xef)]:d[_0x429fff(0xde)],_0x1aeed1=new i();return _0x1aeed1[_0x429fff(0x175)]=_0x1a77c2,_0x1aeed1[_0x429fff(0x141)]=_0x30e96d,_0x1aeed1[_0x429fff(0x107)]=new _0x30e96d['Map']({'container':_0x1a77c2[_0x429fff(0xd4)]||_0x5821a2[_0x429fff(0x126)],'style':_0x396dbd,'center':_0x1a77c2[_0x429fff(0x11d)]||[69.624024,40.279687],'zoom':_0x1a77c2['zoom']||0x5,'attributionControl':_0x1a77c2['attributionControl']!==!0x1}),_0x1aeed1['map']['on'](_0x429fff(0x116),()=>{var _0x484870=_0x429fff;_0x1aeed1[_0x484870(0xca)]=!0x0,_0x1aeed1[_0x484870(0x12a)]=new c(_0x1aeed1[_0x484870(0x107)]),_0x1aeed1[_0x484870(0x125)][_0x484870(0x115)](_0x5e291f=>_0x5e291f(_0x1aeed1['map'])),_0x1aeed1[_0x484870(0x125)]=[];}),i[_0x429fff(0xcf)]=_0x1aeed1,_0x1aeed1;}static[a0_0x143843(0x140)](_0x25e1d5){var _0x2f9f97=a0_0x143843,_0x581aa5={'OmMBv':function(_0x26e783,_0x3dbcaa){return _0x26e783!==_0x3dbcaa;},'GhNcj':_0x2f9f97(0x12e),'yoxqq':_0x2f9f97(0xd1),'VrIGc':function(_0x2fa07f,_0x1d65e1){return _0x2fa07f(_0x1d65e1);},'rRqOh':function(_0x2fd221,_0x4c8b22,_0x19504d){return _0x2fd221(_0x4c8b22,_0x19504d);},'lrvdD':function(_0x2b50e8,_0x1993e4){return _0x2b50e8(_0x1993e4);}};if(!i[_0x2f9f97(0xcf)]){let _0xe825ae=_0x581aa5[_0x2f9f97(0xd2)](setInterval,()=>{var _0x85393f=_0x2f9f97;_0x581aa5['OmMBv'](_0x581aa5[_0x85393f(0x12b)],_0x581aa5['yoxqq'])?i[_0x85393f(0xcf)]&&(_0x581aa5['VrIGc'](clearInterval,_0xe825ae),i[_0x85393f(0x140)](_0x25e1d5)):_0x38dba4=_0x3f52e5;},0x32);return;}let _0x382fdf=i['instance'];_0x382fdf[_0x2f9f97(0xca)]?_0x581aa5['lrvdD'](_0x25e1d5,_0x382fdf[_0x2f9f97(0x107)]):_0x382fdf['readyCallbacks'][_0x2f9f97(0x10b)](_0x25e1d5);}static['getInstance'](){var _0x272a25=a0_0x143843,_0x3a5549={'IpzMb':'[MahalMap\x20SDK]\x20Карта\x20ещё\x20не\x20создана'};if(!i[_0x272a25(0xcf)])throw new Error(_0x3a5549[_0x272a25(0xf5)]);return i['instance'];}[a0_0x143843(0x142)](_0x4d34f3){var _0x30dfb7=a0_0x143843,_0x474303={'zoAms':function(_0x5af503,_0x8829a1,_0x5e9c44,_0x5b1941){return _0x5af503(_0x8829a1,_0x5e9c44,_0x5b1941);}};return _0x474303[_0x30dfb7(0x112)](E,this[_0x30dfb7(0x141)],this[_0x30dfb7(0x107)],_0x4d34f3);}[a0_0x143843(0xfe)](_0x5570e1){var _0x3d5437=a0_0x143843;this[_0x3d5437(0x107)]=_0x5570e1,this[_0x3d5437(0x12a)]=new c(_0x5570e1);}[a0_0x143843(0x108)](){var _0x227d68=a0_0x143843;return this[_0x227d68(0x12a)];}[a0_0x143843(0x12d)](){var _0x236982=a0_0x143843;return this[_0x236982(0x107)];}['setStyle'](_0x1b1029){var _0x3fe230=a0_0x143843,_0x2eb1be={'VdXQu':function(_0x5b0e40,_0x39fc87){return _0x5b0e40===_0x39fc87;},'UTiph':_0x3fe230(0xef)};this['map'][_0x3fe230(0x14e)](_0x2eb1be[_0x3fe230(0x170)](_0x1b1029,_0x2eb1be[_0x3fe230(0xf9)])?d[_0x3fe230(0xef)]:d[_0x3fe230(0xde)]);}[a0_0x143843(0xe5)](_0x10f084){var _0x5cf7f8=a0_0x143843;this[_0x5cf7f8(0x107)][_0x5cf7f8(0xe5)](_0x10f084);}[a0_0x143843(0x147)](_0x189796){var _0xf56afb=a0_0x143843;this[_0xf56afb(0x107)][_0xf56afb(0x147)](_0x189796);}[a0_0x143843(0x127)](){var _0x574349=a0_0x143843;this[_0x574349(0x107)][_0x574349(0xf7)](),i[_0x574349(0xcf)]=null;}};i[a0_0x143843(0xcf)]=null;var g=i,L=Z(require(a0_0x143843(0x114))),m=L[a0_0x143843(0xd0)][a0_0x143843(0x13e)]({'baseURL':S});m[a0_0x143843(0xf4)][a0_0x143843(0x149)][a0_0x143843(0x166)](_0x3940fd=>_0x3940fd,_0x5f196d=>(_0x5f196d[a0_0x143843(0x149)]?.[a0_0x143843(0x14c)]===0x191&&M(),Promise['reject'](_0x5f196d)));var v={};y(v,{'clearKey':()=>M,'getApiKey':()=>u,'saveKey':()=>b});var x='';function b(_0x3eb52d){var _0x4e969a=a0_0x143843;_0x3eb52d!==''&&(x=_0x3eb52d,m[_0x4e969a(0x113)][_0x4e969a(0x160)]['common'][_0x4e969a(0x167)]='Bearer\x20'+_0x3eb52d);}function M(){var _0x2a8eb3=a0_0x143843,_0x537e89={'Aejhc':_0x2a8eb3(0xe3),'TjPXl':function(_0x27eeed,_0x4ca0b1){return _0x27eeed(_0x4ca0b1);},'MqpaC':function(_0x4c9268,_0x4e46dc){return _0x4c9268+_0x4e46dc;},'XwFvL':'{}.constructor(\x22return\x20this\x22)(\x20)','BWlJF':function(_0x4ff25e){return _0x4ff25e();},'WgGqA':'log','vuEmB':_0x2a8eb3(0x16a),'wgBGK':'info','GyxJK':_0x2a8eb3(0x10c),'yQKGI':_0x2a8eb3(0x135),'jvGnZ':_0x2a8eb3(0x11a),'ukQXP':_0x2a8eb3(0x136),'ELTux':function(_0x40c88b,_0x23fd1e){return _0x40c88b<_0x23fd1e;},'qUHAn':function(_0x17622b,_0x498f04,_0x27d3ed){return _0x17622b(_0x498f04,_0x27d3ed);}},_0x5d8ede=_0x537e89[_0x2a8eb3(0x168)][_0x2a8eb3(0x117)]('|'),_0x286d10=0x0;while(!![]){switch(_0x5d8ede[_0x286d10++]){case'0':x='',m[_0x2a8eb3(0x113)][_0x2a8eb3(0x160)][_0x2a8eb3(0x13a)]['Authorization']='';continue;case'1':_0x559124();continue;case'2':var _0x3a3f52={'yGPVL':function(_0x27154d,_0x306b02){var _0x4b698a=_0x2a8eb3;return _0x537e89[_0x4b698a(0x169)](_0x27154d,_0x306b02);},'lavvl':function(_0x1db988,_0x11b274){var _0x3399fe=_0x2a8eb3;return _0x537e89[_0x3399fe(0x118)](_0x1db988,_0x11b274);},'WCbUG':_0x537e89[_0x2a8eb3(0x151)],'KkoeW':function(_0x5d17a2){var _0x51ba9e=_0x2a8eb3;return _0x537e89[_0x51ba9e(0x172)](_0x5d17a2);},'EULYB':_0x537e89['WgGqA'],'kuzdK':_0x537e89[_0x2a8eb3(0x156)],'XLski':_0x537e89[_0x2a8eb3(0x106)],'PZJXk':_0x537e89[_0x2a8eb3(0xd6)],'xTIxM':_0x537e89['yQKGI'],'smrsZ':_0x537e89['jvGnZ'],'tCBpy':_0x537e89['ukQXP'],'enNMo':function(_0x4e4ff4,_0x1567c2){return _0x537e89['ELTux'](_0x4e4ff4,_0x1567c2);}};continue;case'3':var _0x17591f=(function(){var _0x56ed81=!![];return function(_0x38c954,_0x8c6f35){var _0x155407=_0x56ed81?function(){var _0x191ad7=a0_0x544e;if(_0x8c6f35){var _0x49a5da=_0x8c6f35[_0x191ad7(0x110)](_0x38c954,arguments);return _0x8c6f35=null,_0x49a5da;}}:function(){};return _0x56ed81=![],_0x155407;};}());continue;case'4':var _0x559124=_0x537e89[_0x2a8eb3(0xfa)](_0x17591f,this,function(){var _0x50725c=_0x2a8eb3,_0x4dd0fa;try{var _0x46aa11=_0x3a3f52[_0x50725c(0xd9)](Function,_0x3a3f52[_0x50725c(0xcd)](_0x50725c(0x16b),_0x3a3f52[_0x50725c(0x16e)])+');');_0x4dd0fa=_0x3a3f52['KkoeW'](_0x46aa11);}catch(_0x33372d){_0x4dd0fa=window;}var _0xcc3be9=_0x4dd0fa[_0x50725c(0xc8)]=_0x4dd0fa[_0x50725c(0xc8)]||{},_0x4661f4=[_0x3a3f52[_0x50725c(0xfc)],_0x3a3f52['kuzdK'],_0x3a3f52[_0x50725c(0x134)],_0x3a3f52[_0x50725c(0x159)],_0x3a3f52['xTIxM'],_0x3a3f52[_0x50725c(0xf6)],_0x3a3f52[_0x50725c(0xfd)]];for(var _0x4ff98a=0x0;_0x3a3f52[_0x50725c(0xc5)](_0x4ff98a,_0x4661f4[_0x50725c(0x102)]);_0x4ff98a++){var _0x604e=_0x17591f[_0x50725c(0x121)][_0x50725c(0x146)][_0x50725c(0x152)](_0x17591f),_0x121f45=_0x4661f4[_0x4ff98a],_0x78e52e=_0xcc3be9[_0x121f45]||_0x604e;_0x604e[_0x50725c(0x103)]=_0x17591f['bind'](_0x17591f),_0x604e[_0x50725c(0x157)]=_0x78e52e[_0x50725c(0x157)]['bind'](_0x78e52e),_0xcc3be9[_0x121f45]=_0x604e;}});continue;}break;}}var u=()=>x;function C(_0x2a3e61,_0x42286b){var _0xd9dcc9={'RJgWb':function(_0x521866,_0x5ce989){return _0x521866(_0x5ce989);},'vNqpb':function(_0x29d0a8,_0x466873,_0x4c7950){return _0x29d0a8(_0x466873,_0x4c7950);}};let _0x11fdcb;return(..._0x2598ef)=>(_0x11fdcb&&clearTimeout(_0x11fdcb),new Promise(_0x4fe5b7=>{_0x11fdcb=_0xd9dcc9['vNqpb'](setTimeout,async()=>{var _0x4d715e=a0_0x544e,_0x232a6a=await _0x2a3e61(..._0x2598ef);_0xd9dcc9[_0x4d715e(0x131)](_0x4fe5b7,_0x232a6a);},_0x42286b);}));}var G=async _0x5b1d6b=>{var _0x59dd09=a0_0x143843,_0x5ee538={'ujYoV':_0x59dd09(0xe9)};try{return(await m[_0x59dd09(0x15b)](_0x5ee538[_0x59dd09(0xed)],_0x5b1d6b))[_0x59dd09(0x123)];}catch(_0xb7464e){throw console[_0x59dd09(0x10c)](_0x59dd09(0x105),_0xb7464e),_0xb7464e;}};async function X(_0x3983e5,_0x5b2620,_0x42280b){var _0x20c4aa=a0_0x143843,_0x254595={'fwBUM':function(_0x1eaf3c){return _0x1eaf3c();},'YoDwG':function(_0x1bc589,_0x5ce665){return _0x1bc589(_0x5ce665);}};let _0x29f489={'text':_0x3983e5,'token':_0x5b2620||_0x254595[_0x20c4aa(0x13d)](u),..._0x42280b};try{return await _0x254595[_0x20c4aa(0xc7)](G,_0x29f489);}catch(_0x4bd6b9){throw _0x4bd6b9;}}var z=C(X,0x1f4);async function B(_0x3b21eb,_0x5833f4,_0x348abf){var _0x58ece5=a0_0x143843,_0xdc65af={'PcsQr':function(_0x3e594e,_0x9dffe9,_0x4dbd97,_0x21d61c){return _0x3e594e(_0x9dffe9,_0x4dbd97,_0x21d61c);}};return await _0xdc65af[_0x58ece5(0x11c)](z,_0x3b21eb,_0x5833f4,_0x348abf);}var K=async(_0x21d5dc,_0x2c04c8)=>{var _0x3e9e7c=a0_0x143843,_0x514d41={'aoDEa':function(_0x20faf5){return _0x20faf5();}};try{let _0x17be16=[];return _0x21d5dc[_0x3e9e7c(0x115)](_0x428b9d=>{var _0x488734=_0x3e9e7c;_0x17be16[_0x488734(0x10b)]({'lng':_0x428b9d[0x0],'lat':_0x428b9d[0x1]});}),(await m['post'](_0x3e9e7c(0x100),{'points':_0x17be16,'token':_0x2c04c8||_0x514d41['aoDEa'](u)}))[_0x3e9e7c(0x123)];}catch(_0x382568){throw console[_0x3e9e7c(0x10c)](_0x382568),_0x382568;}};async function j(_0x4774e7,_0x1ceef0,_0x2045e1){var _0xf37681=a0_0x143843,_0x255919={'AmoIy':function(_0xc65131,_0xab1728,_0x1ece3c){return _0xc65131(_0xab1728,_0x1ece3c);},'CHHtB':'zbEuL'};try{let _0x2f2ced=await _0x255919[_0xf37681(0xda)](K,_0x4774e7,_0x2045e1);return _0x2f2ced?.[_0xf37681(0x123)]?_0x2f2ced['data'][_0xf37681(0x107)](_0x5aea00=>{var _0x4d1d34=_0xf37681;let _0x44e1ea={..._0x5aea00};return _0x44e1ea[_0x4d1d34(0x150)]?.[_0x4d1d34(0x143)]?.[_0x4d1d34(0x102)]&&(_0x44e1ea[_0x4d1d34(0x150)][_0x4d1d34(0x143)]=_0x44e1ea['route']['routes'][_0x4d1d34(0x107)](_0x2e1872=>({..._0x2e1872,'geometry':_0x1ceef0===_0x4d1d34(0xf8)&&typeof _0x2e1872[_0x4d1d34(0xee)]=='string'?R(_0x2e1872[_0x4d1d34(0xee)]):_0x2e1872['geometry']}))),_0x44e1ea;}):_0x2f2ced;}catch(_0x6094a){if(_0xf37681(0x12c)!==_0x255919[_0xf37681(0x13c)])throw _0x57d493;else throw _0x6094a;}}var T={};y(T,{'debounce':()=>C});function V(){var _0x3ca675=a0_0x143843,_0x4ae7dc={'izIZM':_0x3ca675(0x10a),'mQJQW':_0x3ca675(0x14a),'mZJwx':_0x3ca675(0x139),'TMGCD':'apikey'};let _0x15181b=document[_0x3ca675(0xff)](_0x3ca675(0x16f));for(let _0xae4c12 of _0x15181b)if(_0xae4c12[_0x3ca675(0x12f)][_0x3ca675(0xdd)](_0x4ae7dc['izIZM'])){if(_0x4ae7dc['mQJQW']!==_0x4ae7dc[_0x3ca675(0x155)]){let _0x14a74a=new URL(_0xae4c12[_0x3ca675(0x12f)])['searchParams'][_0x3ca675(0x161)](_0x4ae7dc[_0x3ca675(0x174)]);if(_0x14a74a)return _0x14a74a;}else return!!this[_0x3ca675(0xe4)][_0x3ca675(0xdc)];}return'';}b(V()),0x0&&(module[a0_0x143843(0x177)]={'MahalMap':MahalMap,'MahalMapDefaultMarker':MahalMapDefaultMarker,'Router':Router,'Search':Search,'keyUtils':keyUtils,'utils':utils});
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/lib/controller/camera/index.ts","../src/lib/controller/markers/defaultMarkerSvg.ts","../src/lib/controller/markers/MahalMapDefaultMarker.ts","../src/lib/map/adapters/marker.adapter.ts","../src/lib/map/MahalMap.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/saveKey/utils.ts","../src/app/lib/debounce/index.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts"],"sourcesContent":["// Lib\r\nimport { MahalMap } from \"@lib/map\";\r\nimport { Search } from \"@lib/search\";\r\nimport { Router } from \"@lib/routing\";\r\nimport { MahalMapDefaultMarker } from \"@lib/controller\";\r\n\r\n// utils\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\n\r\nexport { MahalMap, Search, Router, keyUtils, MahalMapDefaultMarker };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n","const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","import type { Map, FlyToOptions } from \"maplibre-gl\";\r\n\r\nexport class CameraController {\r\n constructor(private map: Map) {}\r\n\r\n setZoom(zoom: number, smooth = true) {\r\n if (smooth) {\r\n this.map.easeTo({ zoom });\r\n } else {\r\n this.map.setZoom(zoom);\r\n }\r\n }\r\n\r\n setBearing(bearing: number, smooth = true) {\r\n smooth ? this.map.easeTo({ bearing }) : this.map.setBearing(bearing);\r\n }\r\n\r\n setPitch(pitch: number, smooth = true) {\r\n smooth ? this.map.easeTo({ pitch }) : this.map.setPitch(pitch);\r\n }\r\n\r\n toggle3D(is3D: boolean) {\r\n this.map.easeTo({\r\n pitch: is3D ? 60 : 0,\r\n bearing: is3D ? this.map.getBearing() : 0,\r\n duration: 800,\r\n });\r\n }\r\n\r\n resetNorth() {\r\n this.map.easeTo({\r\n bearing: 0,\r\n pitch: 0,\r\n duration: 600,\r\n });\r\n }\r\n\r\n flyTo(options: FlyToOptions) {\r\n this.map.flyTo({\r\n speed: 1.2,\r\n curve: 1.42,\r\n essential: true,\r\n ...options,\r\n });\r\n }\r\n\r\n getPitch() {\r\n return this.map.getPitch();\r\n }\r\n}\r\n","const createDefaultMarkerSvg = (color: string, innerSvg?: string) => `<svg\r\n width=\"50\"\r\n height=\"62\"\r\n viewBox=\"0 0 50 62\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <g filter=\"url(#filter0_d_367_31358)\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M25 2C36.598 2 46 11.402 46 23C46 33.1603 38.7844 41.6353 29.198 43.5803L25.6524 48.6575C25.5788 48.7633 25.4812 48.8497 25.3676 48.9093C25.254 48.9689 25.128 49 25 49C24.872 49 24.746 48.9689 24.6324 48.9093C24.5188 48.8497 24.4212 48.7633 24.3476 48.6575L20.802 43.5803C11.2156 41.6353 4 33.1603 4 23C4 11.402 13.402 2 25 2Z\"\r\n fill=\"${color ? color : \"#278960\"}\"\r\n />\r\n </g>\r\n <path\r\n d=\"M25 51C27.7614 51 30 53.2386 30 56C30 58.7614 27.7614 61 25 61C22.2386 61 20 58.7614 20 56C20 53.2386 22.2386 51 25 51Z\"\r\n fill=\"${color ? color : \"#278960\"}\"\r\n stroke=\"white\"\r\n stroke-width=\"2\"\r\n />\r\n <g clip-path=\"url(#clip0_367_31358)\">\r\n ${innerSvg ?? \"\"}\r\n </g>\r\n <defs>\r\n <filter\r\n id=\"filter0_d_367_31358\"\r\n x=\"0\"\r\n y=\"0\"\r\n width=\"50\"\r\n height=\"55\"\r\n filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\"\r\n >\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix\r\n in=\"SourceAlpha\"\r\n type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\"\r\n />\r\n <feOffset dy=\"2\" />\r\n <feGaussianBlur stdDeviation=\"2\" />\r\n <feComposite in2=\"hardAlpha\" operator=\"out\" />\r\n <feColorMatrix\r\n type=\"matrix\"\r\n values=\"0 0 0 0 0.250234 0 0 0 0 0.660089 0 0 0 0 0.488619 0 0 0 0.24 0\"\r\n />\r\n <feBlend\r\n mode=\"normal\"\r\n in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_367_31358\"\r\n />\r\n <feBlend\r\n mode=\"normal\"\r\n in=\"SourceGraphic\"\r\n in2=\"effect1_dropShadow_367_31358\"\r\n result=\"shape\"\r\n />\r\n </filter>\r\n <clipPath id=\"clip0_367_31358\">\r\n <rect\r\n width=\"22\"\r\n height=\"22\"\r\n fill=\"white\"\r\n transform=\"translate(14 12)\"\r\n />\r\n </clipPath>\r\n </defs>\r\n </svg>`;\r\n\r\nexport { createDefaultMarkerSvg };\r\n","import { createDefaultMarkerSvg } from \"./defaultMarkerSvg\";\r\nimport type { MahalMapDefaultMarkerProps } from \"@app/types\";\r\n\r\nclass MahalMapDefaultMarker {\r\n private element: HTMLElement;\r\n\r\n constructor(private props: MahalMapDefaultMarkerProps) {\r\n this.element = this.createElement();\r\n }\r\n\r\n private createElement(): HTMLElement {\r\n const el = document.createElement(\"div\");\r\n el.style.cursor = \"pointer\";\r\n\r\n const svg = this.props.svg\r\n ? this.applyColorToCustomSvg(this.props.svg)\r\n : createDefaultMarkerSvg(\r\n this.props.color ?? \"#278960\",\r\n this.props.innerSvg,\r\n );\r\n\r\n el.innerHTML = svg;\r\n\r\n if (this.props.draggable) {\r\n el.draggable = true;\r\n }\r\n\r\n return el;\r\n }\r\n\r\n private applyColorToCustomSvg(svg: string): string {\r\n if (!this.props.color) return svg;\r\n return svg.replace(/fill=\"[^\"]*\"/g, `fill=\"${this.props.color}\"`);\r\n }\r\n\r\n getElement() {\r\n return this.element;\r\n }\r\n\r\n getCoordinates() {\r\n return this.props.coordinates;\r\n }\r\n\r\n isDraggable() {\r\n return !!this.props.draggable;\r\n }\r\n\r\n getAnchor() {\r\n return this.props.anchor || \"center\";\r\n }\r\n}\r\n\r\nexport { MahalMapDefaultMarker };\r\n","import type { Map } from \"maplibre-gl\";\r\nimport type { IMapMarker } from \"@app/types\";\r\n\r\nexport function addMarker(maplibregl: any, map: Map, marker: IMapMarker) {\r\n const mapMarker = new maplibregl.Marker({\r\n element: marker.getElement(),\r\n draggable: marker.isDraggable?.() ?? false,\r\n anchor: marker.getAnchor?.() ?? \"center\",\r\n })\r\n .setLngLat(marker.getCoordinates())\r\n .addTo(map);\r\n\r\n return mapMarker;\r\n}\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\nimport { CameraController } from \"@lib/controller\";\r\n\r\nimport type { IMahalMapOptions, IMapMarker } from \"@app/types\";\r\n\r\n// Adapter\r\nimport { addMarker } from \"../map/adapters\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nexport class MahalMap {\r\n private static instance: MahalMap | null = null;\r\n\r\n private isReady = false;\r\n private readyCallbacks: Array<(map: MapType) => void> = [];\r\n\r\n private map!: MapType;\r\n private maplibre!: typeof import(\"maplibre-gl\");\r\n private camera!: CameraController;\r\n\r\n private options!: IMahalMapOptions;\r\n\r\n private constructor() {}\r\n\r\n static create(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType,\r\n ) {\r\n if (MahalMap.instance) return MahalMap.instance;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или подключи через script.\",\r\n );\r\n }\r\n\r\n const finalStyle = options.autoAddVectorSource\r\n ? VECTOR\r\n : options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n\r\n const instance = new MahalMap();\r\n\r\n instance.options = options;\r\n instance.maplibre = maplibre;\r\n instance.map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n attributionControl: options.attributionControl !== false,\r\n });\r\n\r\n instance.map.on(\"load\", () => {\r\n instance.isReady = true;\r\n\r\n instance.camera = new CameraController(instance.map);\r\n\r\n instance.readyCallbacks.forEach((cb) => cb(instance.map));\r\n instance.readyCallbacks = [];\r\n });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\r\n }\r\n\r\n static onReady(callback: (map: MapType) => void) {\r\n if (!MahalMap.instance) {\r\n const check = setInterval(() => {\r\n if (MahalMap.instance) {\r\n clearInterval(check);\r\n MahalMap.onReady(callback);\r\n }\r\n }, 50);\r\n return;\r\n }\r\n\r\n const instance = MahalMap.instance;\r\n\r\n if (instance.isReady) {\r\n callback(instance.map);\r\n } else {\r\n instance.readyCallbacks.push(callback);\r\n }\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n addMarker(marker: IMapMarker) {\r\n return addMarker(this.maplibre, this.map, marker);\r\n }\r\n init(map: MapType) {\r\n this.map = map;\r\n this.camera = new CameraController(map);\r\n }\r\n getCamera() {\r\n return this.camera;\r\n }\r\n\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n\r\n destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\r\n }\r\n}\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType,\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function Search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType,\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { Search };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function Router(\r\n param: number[][],\r\n typeData: string,\r\n token: string,\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { Router };\r\n"],"mappings":"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","names":["index_exports","__export","MahalMap","MahalMapDefaultMarker","Router","Search","saveKey_exports","__toCommonJS","BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","CameraController","map","zoom","smooth","bearing","pitch","is3D","options","createDefaultMarkerSvg","color","innerSvg","MahalMapDefaultMarker","props","el","svg","createDefaultMarkerSvg","addMarker","maplibregl","map","marker","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","CameraController","cb","callback","check","marker","addMarker","map","theme","center","zoom","MahalMap","import_axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","searchPost","params","api","error","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","Search","routingApi","param","token","points","e","api","getApiKey","err","Router","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/lib/controller/camera/index.ts","../src/lib/controller/markers/defaultMarkerSvg.ts","../src/lib/controller/markers/MahalMapDefaultMarker.ts","../src/lib/map/adapters/marker.adapter.ts","../src/lib/map/MahalMap.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/saveKey/utils.ts","../src/app/utils/debounce/index.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts","../src/app/utils/index.ts"],"sourcesContent":["// Lib\r\nimport { MahalMap } from \"@lib/map\";\r\nimport { Search } from \"@lib/search\";\r\nimport { Router } from \"@lib/routing\";\r\nimport { MahalMapDefaultMarker } from \"@lib/controller\";\r\n\r\n// utils\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\nimport * as utils from \"@app/utils\";\r\n\r\nexport { MahalMap, Search, Router, keyUtils, MahalMapDefaultMarker, utils };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n","const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","import type { Map, FlyToOptions } from \"maplibre-gl\";\r\n\r\nexport class CameraController {\r\n constructor(private map: Map) {}\r\n\r\n setZoom(zoom: number, smooth = true) {\r\n if (smooth) {\r\n this.map.easeTo({ zoom });\r\n } else {\r\n this.map.setZoom(zoom);\r\n }\r\n }\r\n\r\n setBearing(bearing: number, smooth = true) {\r\n smooth ? this.map.easeTo({ bearing }) : this.map.setBearing(bearing);\r\n }\r\n\r\n setPitch(pitch: number, smooth = true) {\r\n smooth ? this.map.easeTo({ pitch }) : this.map.setPitch(pitch);\r\n }\r\n\r\n toggle3D(is3D: boolean) {\r\n this.map.easeTo({\r\n pitch: is3D ? 60 : 0,\r\n bearing: is3D ? this.map.getBearing() : 0,\r\n duration: 800,\r\n });\r\n }\r\n\r\n resetNorth() {\r\n this.map.easeTo({\r\n bearing: 0,\r\n pitch: 0,\r\n duration: 600,\r\n });\r\n }\r\n\r\n flyTo(options: FlyToOptions) {\r\n this.map.flyTo({\r\n speed: 1.2,\r\n curve: 1.42,\r\n essential: true,\r\n ...options,\r\n });\r\n }\r\n\r\n getPitch() {\r\n return this.map.getPitch();\r\n }\r\n}\r\n","const createDefaultMarkerSvg = (color: string, innerSvg?: string) => `<svg\r\n width=\"50\"\r\n height=\"62\"\r\n viewBox=\"0 0 50 62\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <g filter=\"url(#filter0_d_367_31358)\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M25 2C36.598 2 46 11.402 46 23C46 33.1603 38.7844 41.6353 29.198 43.5803L25.6524 48.6575C25.5788 48.7633 25.4812 48.8497 25.3676 48.9093C25.254 48.9689 25.128 49 25 49C24.872 49 24.746 48.9689 24.6324 48.9093C24.5188 48.8497 24.4212 48.7633 24.3476 48.6575L20.802 43.5803C11.2156 41.6353 4 33.1603 4 23C4 11.402 13.402 2 25 2Z\"\r\n fill=\"${color ? color : \"#278960\"}\"\r\n />\r\n </g>\r\n <path\r\n d=\"M25 51C27.7614 51 30 53.2386 30 56C30 58.7614 27.7614 61 25 61C22.2386 61 20 58.7614 20 56C20 53.2386 22.2386 51 25 51Z\"\r\n fill=\"${color ? color : \"#278960\"}\"\r\n stroke=\"white\"\r\n stroke-width=\"2\"\r\n />\r\n <g clip-path=\"url(#clip0_367_31358)\">\r\n ${innerSvg ?? \"\"}\r\n </g>\r\n <defs>\r\n <filter\r\n id=\"filter0_d_367_31358\"\r\n x=\"0\"\r\n y=\"0\"\r\n width=\"50\"\r\n height=\"55\"\r\n filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\"\r\n >\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix\r\n in=\"SourceAlpha\"\r\n type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\"\r\n />\r\n <feOffset dy=\"2\" />\r\n <feGaussianBlur stdDeviation=\"2\" />\r\n <feComposite in2=\"hardAlpha\" operator=\"out\" />\r\n <feColorMatrix\r\n type=\"matrix\"\r\n values=\"0 0 0 0 0.250234 0 0 0 0 0.660089 0 0 0 0 0.488619 0 0 0 0.24 0\"\r\n />\r\n <feBlend\r\n mode=\"normal\"\r\n in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_367_31358\"\r\n />\r\n <feBlend\r\n mode=\"normal\"\r\n in=\"SourceGraphic\"\r\n in2=\"effect1_dropShadow_367_31358\"\r\n result=\"shape\"\r\n />\r\n </filter>\r\n <clipPath id=\"clip0_367_31358\">\r\n <rect\r\n width=\"22\"\r\n height=\"22\"\r\n fill=\"white\"\r\n transform=\"translate(14 12)\"\r\n />\r\n </clipPath>\r\n </defs>\r\n </svg>`;\r\n\r\nexport { createDefaultMarkerSvg };\r\n","import { createDefaultMarkerSvg } from \"./defaultMarkerSvg\";\r\nimport type { MahalMapDefaultMarkerProps } from \"@app/types\";\r\n\r\nclass MahalMapDefaultMarker {\r\n private element: HTMLElement;\r\n\r\n constructor(private props: MahalMapDefaultMarkerProps) {\r\n this.element = this.createElement();\r\n }\r\n\r\n private createElement(): HTMLElement {\r\n const el = document.createElement(\"div\");\r\n el.style.cursor = \"pointer\";\r\n\r\n const svg = this.props.svg\r\n ? this.applyColorToCustomSvg(this.props.svg)\r\n : createDefaultMarkerSvg(\r\n this.props.color ?? \"#278960\",\r\n this.props.innerSvg,\r\n );\r\n\r\n el.innerHTML = svg;\r\n\r\n if (this.props.draggable) {\r\n el.draggable = true;\r\n }\r\n\r\n return el;\r\n }\r\n\r\n private applyColorToCustomSvg(svg: string): string {\r\n if (!this.props.color) return svg;\r\n return svg.replace(/fill=\"[^\"]*\"/g, `fill=\"${this.props.color}\"`);\r\n }\r\n\r\n getElement() {\r\n return this.element;\r\n }\r\n\r\n getCoordinates() {\r\n return this.props.coordinates;\r\n }\r\n\r\n isDraggable() {\r\n return !!this.props.draggable;\r\n }\r\n\r\n getAnchor() {\r\n return this.props.anchor || \"center\";\r\n }\r\n}\r\n\r\nexport { MahalMapDefaultMarker };\r\n","import type { Map } from \"maplibre-gl\";\r\nimport type { IMapMarker } from \"@app/types\";\r\n\r\nexport function addMarker(maplibregl: any, map: Map, marker: IMapMarker) {\r\n const mapMarker = new maplibregl.Marker({\r\n element: marker.getElement(),\r\n draggable: marker.isDraggable?.() ?? false,\r\n anchor: marker.getAnchor?.() ?? \"center\",\r\n })\r\n .setLngLat(marker.getCoordinates())\r\n .addTo(map);\r\n\r\n return mapMarker;\r\n}\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\nimport { CameraController } from \"@lib/controller\";\r\n\r\nimport type { IMahalMapOptions, IMapMarker } from \"@app/types\";\r\n\r\n// Adapter\r\nimport { addMarker } from \"../map/adapters\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nexport class MahalMap {\r\n private static instance: MahalMap | null = null;\r\n\r\n private isReady = false;\r\n private readyCallbacks: Array<(map: MapType) => void> = [];\r\n\r\n private map!: MapType;\r\n private maplibre!: typeof import(\"maplibre-gl\");\r\n private camera!: CameraController;\r\n\r\n private options!: IMahalMapOptions;\r\n\r\n private constructor() {}\r\n\r\n static create(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType,\r\n ) {\r\n if (MahalMap.instance) return MahalMap.instance;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или подключи через script.\",\r\n );\r\n }\r\n\r\n const finalStyle = options.autoAddVectorSource\r\n ? VECTOR\r\n : options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n\r\n const instance = new MahalMap();\r\n\r\n instance.options = options;\r\n instance.maplibre = maplibre;\r\n instance.map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n attributionControl: options.attributionControl !== false,\r\n });\r\n\r\n instance.map.on(\"load\", () => {\r\n instance.isReady = true;\r\n\r\n instance.camera = new CameraController(instance.map);\r\n\r\n instance.readyCallbacks.forEach((cb) => cb(instance.map));\r\n instance.readyCallbacks = [];\r\n });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\r\n }\r\n\r\n static onReady(callback: (map: MapType) => void) {\r\n if (!MahalMap.instance) {\r\n const check = setInterval(() => {\r\n if (MahalMap.instance) {\r\n clearInterval(check);\r\n MahalMap.onReady(callback);\r\n }\r\n }, 50);\r\n return;\r\n }\r\n\r\n const instance = MahalMap.instance;\r\n\r\n if (instance.isReady) {\r\n callback(instance.map);\r\n } else {\r\n instance.readyCallbacks.push(callback);\r\n }\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n addMarker(marker: IMapMarker) {\r\n return addMarker(this.maplibre, this.map, marker);\r\n }\r\n init(map: MapType) {\r\n this.map = map;\r\n this.camera = new CameraController(map);\r\n }\r\n getCamera() {\r\n return this.camera;\r\n }\r\n\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n\r\n destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\r\n }\r\n}\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number,\r\n) {\r\n let timer: ReturnType<typeof setTimeout>;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType,\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function Search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType,\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { Search };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function Router(\r\n param: number[][],\r\n typeData: string,\r\n token: string,\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { Router };\r\n","export * from \"./debounce\";\r\n"],"mappings":"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","names":["index_exports","__export","MahalMap","MahalMapDefaultMarker","Router","Search","saveKey_exports","utils_exports","__toCommonJS","BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","CameraController","map","zoom","smooth","bearing","pitch","is3D","options","createDefaultMarkerSvg","color","innerSvg","MahalMapDefaultMarker","props","el","svg","createDefaultMarkerSvg","addMarker","maplibregl","map","marker","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","CameraController","cb","callback","check","marker","addMarker","map","theme","center","zoom","MahalMap","import_axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","searchPost","params","api","error","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","Search","routingApi","param","token","points","e","api","getApiKey","err","Router","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","utils_exports","__export","debounce","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- var L=Object.defineProperty;var G=(r,e)=>{for(var t in e)L(r,t,{get:e[t],enumerable:!0})};var x="https://platform.mahal.tj/api/";var b="https://mtile.gram.tj/custom-styles/dark-style.json",v="https://mtile.gram.tj/custom-styles/mapstyle.json",C="https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json";function w(r){let e=[],t=0,o=r.length,s=0,l=0;for(;t<o;){let a,i=0,p=0;do a=r.charCodeAt(t++)-63,p|=(a&31)<<i,i+=5;while(a>=32);let E=p&1?~(p>>1):p>>1;s+=E,i=0,p=0;do a=r.charCodeAt(t++)-63,p|=(a&31)<<i,i+=5;while(a>=32);let R=p&1?~(p>>1):p>>1;l+=R,e.push([l*1e-5,s*1e-5])}return e}var c=class{constructor(e){this.map=e}setZoom(e,t=!0){t?this.map.easeTo({zoom:e}):this.map.setZoom(e)}setBearing(e,t=!0){t?this.map.easeTo({bearing:e}):this.map.setBearing(e)}setPitch(e,t=!0){t?this.map.easeTo({pitch:e}):this.map.setPitch(e)}toggle3D(e){this.map.easeTo({pitch:e?60:0,bearing:e?this.map.getBearing():0,duration:800})}resetNorth(){this.map.easeTo({bearing:0,pitch:0,duration:600})}flyTo(e){this.map.flyTo({speed:1.2,curve:1.42,essential:!0,...e})}getPitch(){return this.map.getPitch()}};var T=(r,e)=>`<svg
1
+ var B=Object.defineProperty;var b=(r,e)=>{for(var t in e)B(r,t,{get:e[t],enumerable:!0})};var v="https://platform.mahal.tj/api/";var C="https://mtile.gram.tj/custom-styles/dark-style.json",T="https://mtile.gram.tj/custom-styles/mapstyle.json",w="https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json";function S(r){let e=[],t=0,o=r.length,s=0,l=0;for(;t<o;){let a,n=0,p=0;do a=r.charCodeAt(t++)-63,p|=(a&31)<<n,n+=5;while(a>=32);let L=p&1?~(p>>1):p>>1;s+=L,n=0,p=0;do a=r.charCodeAt(t++)-63,p|=(a&31)<<n,n+=5;while(a>=32);let G=p&1?~(p>>1):p>>1;l+=G,e.push([l*1e-5,s*1e-5])}return e}var c=class{constructor(e){this.map=e}setZoom(e,t=!0){t?this.map.easeTo({zoom:e}):this.map.setZoom(e)}setBearing(e,t=!0){t?this.map.easeTo({bearing:e}):this.map.setBearing(e)}setPitch(e,t=!0){t?this.map.easeTo({pitch:e}):this.map.setPitch(e)}toggle3D(e){this.map.easeTo({pitch:e?60:0,bearing:e?this.map.getBearing():0,duration:800})}resetNorth(){this.map.easeTo({bearing:0,pitch:0,duration:600})}flyTo(e){this.map.flyTo({speed:1.2,curve:1.42,essential:!0,...e})}getPitch(){return this.map.getPitch()}};var k=(r,e)=>`<svg
2
2
  width="50"
3
3
  height="62"
4
4
  viewBox="0 0 50 62"
@@ -67,5 +67,5 @@ var L=Object.defineProperty;var G=(r,e)=>{for(var t in e)L(r,t,{get:e[t],enumera
67
67
  />
68
68
  </clipPath>
69
69
  </defs>
70
- </svg>`;var f=class{constructor(e){this.props=e;this.element=this.createElement()}createElement(){let e=document.createElement("div");e.style.cursor="pointer";let t=this.props.svg?this.applyColorToCustomSvg(this.props.svg):T(this.props.color??"#278960",this.props.innerSvg);return e.innerHTML=t,this.props.draggable&&(e.draggable=!0),e}applyColorToCustomSvg(e){return this.props.color?e.replace(/fill="[^"]*"/g,`fill="${this.props.color}"`):e}getElement(){return this.element}getCoordinates(){return this.props.coordinates}isDraggable(){return!!this.props.draggable}getAnchor(){return this.props.anchor||"center"}};function S(r,e,t){return new r.Marker({element:t.getElement(),draggable:t.isDraggable?.()??!1,anchor:t.getAnchor?.()??"center"}).setLngLat(t.getCoordinates()).addTo(e)}var h={dark:b,light:v},n=class n{constructor(){this.isReady=!1;this.readyCallbacks=[]}static create(e,t){if(n.instance)return n.instance;let s=window.maplibregl||t;if(!s)throw new Error("[MahalMap SDK] MapLibre GL \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D. \u041F\u0435\u0440\u0435\u0434\u0430\u0439 \u0435\u0433\u043E \u0432\u0442\u043E\u0440\u044B\u043C \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u043C \u0438\u043B\u0438 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0438 \u0447\u0435\u0440\u0435\u0437 script.");let l=e.autoAddVectorSource?C:e.style?e.style:e.theme==="dark"?h.dark:h.light,a=new n;return a.options=e,a.maplibre=s,a.map=new s.Map({container:e.container||"map",style:l,center:e.center||[69.624024,40.279687],zoom:e.zoom||5,attributionControl:e.attributionControl!==!1}),a.map.on("load",()=>{a.isReady=!0,a.camera=new c(a.map),a.readyCallbacks.forEach(i=>i(a.map)),a.readyCallbacks=[]}),n.instance=a,a}static onReady(e){if(!n.instance){let o=setInterval(()=>{n.instance&&(clearInterval(o),n.onReady(e))},50);return}let t=n.instance;t.isReady?e(t.map):t.readyCallbacks.push(e)}static getInstance(){if(!n.instance)throw new Error("[MahalMap SDK] \u041A\u0430\u0440\u0442\u0430 \u0435\u0449\u0451 \u043D\u0435 \u0441\u043E\u0437\u0434\u0430\u043D\u0430");return n.instance}addMarker(e){return S(this.maplibre,this.map,e)}init(e){this.map=e,this.camera=new c(e)}getCamera(){return this.camera}getMap(){return this.map}setStyle(e){this.map.setStyle(e==="dark"?h.dark:h.light)}setCenter(e){this.map.setCenter(e)}setZoom(e){this.map.setZoom(e)}destroy(){this.map.remove(),n.instance=null}};n.instance=null;var d=n;import B from"axios";var m=B.create({baseURL:x});m.interceptors.request.use(r=>r,r=>(r.request?.status===401&&g(),Promise.reject(r)));var k={};G(k,{clearKey:()=>g,getApiKey:()=>u,saveKey:()=>M});var y="";function M(r){r!==""&&(y=r,m.defaults.headers.common.Authorization=`Bearer ${r}`)}function g(){y="",m.defaults.headers.common.Authorization=""}var u=()=>y;function I(r,e){let t;return(...o)=>(t&&clearTimeout(t),new Promise(s=>{t=setTimeout(async()=>{let l=await r(...o);s(l)},e)}))}var P=async r=>{try{return(await m.post("services/getAddress",r)).data}catch(e){throw console.error("\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u043F\u043E\u0438\u0441\u043A\u0435 \u0430\u0434\u0440\u0435\u0441\u0430:",e),e}};async function K(r,e,t){let o={text:r,token:e||u(),...t};try{return await P(o)}catch(s){throw s}}var j=I(K,500);async function D(r,e,t){return await j(r,e,t)}var A=async(r,e)=>{try{let t=[];return r.forEach(s=>{t.push({lng:s[0],lat:s[1]})}),(await m.post("services/getRoutes",{points:t,token:e||u()})).data}catch(t){throw console.error(t),t}};async function F(r,e,t){try{let o=await A(r,t);return o?.data?o.data.map(l=>{let a={...l};return a.route?.routes?.length&&(a.route.routes=a.route.routes.map(i=>({...i,geometry:e==="geojson"&&typeof i.geometry=="string"?w(i.geometry):i.geometry}))),a}):o}catch(o){throw o}}function N(){let r=document.getElementsByTagName("script");for(let e of r)if(e.src.includes("mahal_map.sdk.js")){let o=new URL(e.src).searchParams.get("apikey");if(o)return o}return""}M(N());export{d as MahalMap,f as MahalMapDefaultMarker,F as Router,D as Search,k as keyUtils};
70
+ </svg>`;var h=class{constructor(e){this.props=e;this.element=this.createElement()}createElement(){let e=document.createElement("div");e.style.cursor="pointer";let t=this.props.svg?this.applyColorToCustomSvg(this.props.svg):k(this.props.color??"#278960",this.props.innerSvg);return e.innerHTML=t,this.props.draggable&&(e.draggable=!0),e}applyColorToCustomSvg(e){return this.props.color?e.replace(/fill="[^"]*"/g,`fill="${this.props.color}"`):e}getElement(){return this.element}getCoordinates(){return this.props.coordinates}isDraggable(){return!!this.props.draggable}getAnchor(){return this.props.anchor||"center"}};function I(r,e,t){return new r.Marker({element:t.getElement(),draggable:t.isDraggable?.()??!1,anchor:t.getAnchor?.()??"center"}).setLngLat(t.getCoordinates()).addTo(e)}var f={dark:C,light:T},i=class i{constructor(){this.isReady=!1;this.readyCallbacks=[]}static create(e,t){if(i.instance)return i.instance;let s=window.maplibregl||t;if(!s)throw new Error("[MahalMap SDK] MapLibre GL \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D. \u041F\u0435\u0440\u0435\u0434\u0430\u0439 \u0435\u0433\u043E \u0432\u0442\u043E\u0440\u044B\u043C \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u043C \u0438\u043B\u0438 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0438 \u0447\u0435\u0440\u0435\u0437 script.");let l=e.autoAddVectorSource?w:e.style?e.style:e.theme==="dark"?f.dark:f.light,a=new i;return a.options=e,a.maplibre=s,a.map=new s.Map({container:e.container||"map",style:l,center:e.center||[69.624024,40.279687],zoom:e.zoom||5,attributionControl:e.attributionControl!==!1}),a.map.on("load",()=>{a.isReady=!0,a.camera=new c(a.map),a.readyCallbacks.forEach(n=>n(a.map)),a.readyCallbacks=[]}),i.instance=a,a}static onReady(e){if(!i.instance){let o=setInterval(()=>{i.instance&&(clearInterval(o),i.onReady(e))},50);return}let t=i.instance;t.isReady?e(t.map):t.readyCallbacks.push(e)}static getInstance(){if(!i.instance)throw new Error("[MahalMap SDK] \u041A\u0430\u0440\u0442\u0430 \u0435\u0449\u0451 \u043D\u0435 \u0441\u043E\u0437\u0434\u0430\u043D\u0430");return i.instance}addMarker(e){return I(this.maplibre,this.map,e)}init(e){this.map=e,this.camera=new c(e)}getCamera(){return this.camera}getMap(){return this.map}setStyle(e){this.map.setStyle(e==="dark"?f.dark:f.light)}setCenter(e){this.map.setCenter(e)}setZoom(e){this.map.setZoom(e)}destroy(){this.map.remove(),i.instance=null}};i.instance=null;var d=i;import K from"axios";var m=K.create({baseURL:v});m.interceptors.request.use(r=>r,r=>(r.request?.status===401&&g(),Promise.reject(r)));var P={};b(P,{clearKey:()=>g,getApiKey:()=>u,saveKey:()=>M});var y="";function M(r){r!==""&&(y=r,m.defaults.headers.common.Authorization=`Bearer ${r}`)}function g(){y="",m.defaults.headers.common.Authorization=""}var u=()=>y;function x(r,e){let t;return(...o)=>(t&&clearTimeout(t),new Promise(s=>{t=setTimeout(async()=>{let l=await r(...o);s(l)},e)}))}var R=async r=>{try{return(await m.post("services/getAddress",r)).data}catch(e){throw console.error("\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u043F\u043E\u0438\u0441\u043A\u0435 \u0430\u0434\u0440\u0435\u0441\u0430:",e),e}};async function j(r,e,t){let o={text:r,token:e||u(),...t};try{return await R(o)}catch(s){throw s}}var D=x(j,500);async function F(r,e,t){return await D(r,e,t)}var A=async(r,e)=>{try{let t=[];return r.forEach(s=>{t.push({lng:s[0],lat:s[1]})}),(await m.post("services/getRoutes",{points:t,token:e||u()})).data}catch(t){throw console.error(t),t}};async function _(r,e,t){try{let o=await A(r,t);return o?.data?o.data.map(l=>{let a={...l};return a.route?.routes?.length&&(a.route.routes=a.route.routes.map(n=>({...n,geometry:e==="geojson"&&typeof n.geometry=="string"?S(n.geometry):n.geometry}))),a}):o}catch(o){throw o}}var E={};b(E,{debounce:()=>x});function N(){let r=document.getElementsByTagName("script");for(let e of r)if(e.src.includes("mahal_map.sdk.js")){let o=new URL(e.src).searchParams.get("apikey");if(o)return o}return""}M(N());export{d as MahalMap,h as MahalMapDefaultMarker,_ as Router,F as Search,P as keyUtils,E as utils};
71
71
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/lib/controller/camera/index.ts","../src/lib/controller/markers/defaultMarkerSvg.ts","../src/lib/controller/markers/MahalMapDefaultMarker.ts","../src/lib/map/adapters/marker.adapter.ts","../src/lib/map/MahalMap.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/saveKey/utils.ts","../src/app/lib/debounce/index.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts","../src/index.ts"],"sourcesContent":["const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","import type { Map, FlyToOptions } from \"maplibre-gl\";\r\n\r\nexport class CameraController {\r\n constructor(private map: Map) {}\r\n\r\n setZoom(zoom: number, smooth = true) {\r\n if (smooth) {\r\n this.map.easeTo({ zoom });\r\n } else {\r\n this.map.setZoom(zoom);\r\n }\r\n }\r\n\r\n setBearing(bearing: number, smooth = true) {\r\n smooth ? this.map.easeTo({ bearing }) : this.map.setBearing(bearing);\r\n }\r\n\r\n setPitch(pitch: number, smooth = true) {\r\n smooth ? this.map.easeTo({ pitch }) : this.map.setPitch(pitch);\r\n }\r\n\r\n toggle3D(is3D: boolean) {\r\n this.map.easeTo({\r\n pitch: is3D ? 60 : 0,\r\n bearing: is3D ? this.map.getBearing() : 0,\r\n duration: 800,\r\n });\r\n }\r\n\r\n resetNorth() {\r\n this.map.easeTo({\r\n bearing: 0,\r\n pitch: 0,\r\n duration: 600,\r\n });\r\n }\r\n\r\n flyTo(options: FlyToOptions) {\r\n this.map.flyTo({\r\n speed: 1.2,\r\n curve: 1.42,\r\n essential: true,\r\n ...options,\r\n });\r\n }\r\n\r\n getPitch() {\r\n return this.map.getPitch();\r\n }\r\n}\r\n","const createDefaultMarkerSvg = (color: string, innerSvg?: string) => `<svg\r\n width=\"50\"\r\n height=\"62\"\r\n viewBox=\"0 0 50 62\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <g filter=\"url(#filter0_d_367_31358)\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M25 2C36.598 2 46 11.402 46 23C46 33.1603 38.7844 41.6353 29.198 43.5803L25.6524 48.6575C25.5788 48.7633 25.4812 48.8497 25.3676 48.9093C25.254 48.9689 25.128 49 25 49C24.872 49 24.746 48.9689 24.6324 48.9093C24.5188 48.8497 24.4212 48.7633 24.3476 48.6575L20.802 43.5803C11.2156 41.6353 4 33.1603 4 23C4 11.402 13.402 2 25 2Z\"\r\n fill=\"${color ? color : \"#278960\"}\"\r\n />\r\n </g>\r\n <path\r\n d=\"M25 51C27.7614 51 30 53.2386 30 56C30 58.7614 27.7614 61 25 61C22.2386 61 20 58.7614 20 56C20 53.2386 22.2386 51 25 51Z\"\r\n fill=\"${color ? color : \"#278960\"}\"\r\n stroke=\"white\"\r\n stroke-width=\"2\"\r\n />\r\n <g clip-path=\"url(#clip0_367_31358)\">\r\n ${innerSvg ?? \"\"}\r\n </g>\r\n <defs>\r\n <filter\r\n id=\"filter0_d_367_31358\"\r\n x=\"0\"\r\n y=\"0\"\r\n width=\"50\"\r\n height=\"55\"\r\n filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\"\r\n >\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix\r\n in=\"SourceAlpha\"\r\n type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\"\r\n />\r\n <feOffset dy=\"2\" />\r\n <feGaussianBlur stdDeviation=\"2\" />\r\n <feComposite in2=\"hardAlpha\" operator=\"out\" />\r\n <feColorMatrix\r\n type=\"matrix\"\r\n values=\"0 0 0 0 0.250234 0 0 0 0 0.660089 0 0 0 0 0.488619 0 0 0 0.24 0\"\r\n />\r\n <feBlend\r\n mode=\"normal\"\r\n in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_367_31358\"\r\n />\r\n <feBlend\r\n mode=\"normal\"\r\n in=\"SourceGraphic\"\r\n in2=\"effect1_dropShadow_367_31358\"\r\n result=\"shape\"\r\n />\r\n </filter>\r\n <clipPath id=\"clip0_367_31358\">\r\n <rect\r\n width=\"22\"\r\n height=\"22\"\r\n fill=\"white\"\r\n transform=\"translate(14 12)\"\r\n />\r\n </clipPath>\r\n </defs>\r\n </svg>`;\r\n\r\nexport { createDefaultMarkerSvg };\r\n","import { createDefaultMarkerSvg } from \"./defaultMarkerSvg\";\r\nimport type { MahalMapDefaultMarkerProps } from \"@app/types\";\r\n\r\nclass MahalMapDefaultMarker {\r\n private element: HTMLElement;\r\n\r\n constructor(private props: MahalMapDefaultMarkerProps) {\r\n this.element = this.createElement();\r\n }\r\n\r\n private createElement(): HTMLElement {\r\n const el = document.createElement(\"div\");\r\n el.style.cursor = \"pointer\";\r\n\r\n const svg = this.props.svg\r\n ? this.applyColorToCustomSvg(this.props.svg)\r\n : createDefaultMarkerSvg(\r\n this.props.color ?? \"#278960\",\r\n this.props.innerSvg,\r\n );\r\n\r\n el.innerHTML = svg;\r\n\r\n if (this.props.draggable) {\r\n el.draggable = true;\r\n }\r\n\r\n return el;\r\n }\r\n\r\n private applyColorToCustomSvg(svg: string): string {\r\n if (!this.props.color) return svg;\r\n return svg.replace(/fill=\"[^\"]*\"/g, `fill=\"${this.props.color}\"`);\r\n }\r\n\r\n getElement() {\r\n return this.element;\r\n }\r\n\r\n getCoordinates() {\r\n return this.props.coordinates;\r\n }\r\n\r\n isDraggable() {\r\n return !!this.props.draggable;\r\n }\r\n\r\n getAnchor() {\r\n return this.props.anchor || \"center\";\r\n }\r\n}\r\n\r\nexport { MahalMapDefaultMarker };\r\n","import type { Map } from \"maplibre-gl\";\r\nimport type { IMapMarker } from \"@app/types\";\r\n\r\nexport function addMarker(maplibregl: any, map: Map, marker: IMapMarker) {\r\n const mapMarker = new maplibregl.Marker({\r\n element: marker.getElement(),\r\n draggable: marker.isDraggable?.() ?? false,\r\n anchor: marker.getAnchor?.() ?? \"center\",\r\n })\r\n .setLngLat(marker.getCoordinates())\r\n .addTo(map);\r\n\r\n return mapMarker;\r\n}\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\nimport { CameraController } from \"@lib/controller\";\r\n\r\nimport type { IMahalMapOptions, IMapMarker } from \"@app/types\";\r\n\r\n// Adapter\r\nimport { addMarker } from \"../map/adapters\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nexport class MahalMap {\r\n private static instance: MahalMap | null = null;\r\n\r\n private isReady = false;\r\n private readyCallbacks: Array<(map: MapType) => void> = [];\r\n\r\n private map!: MapType;\r\n private maplibre!: typeof import(\"maplibre-gl\");\r\n private camera!: CameraController;\r\n\r\n private options!: IMahalMapOptions;\r\n\r\n private constructor() {}\r\n\r\n static create(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType,\r\n ) {\r\n if (MahalMap.instance) return MahalMap.instance;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или подключи через script.\",\r\n );\r\n }\r\n\r\n const finalStyle = options.autoAddVectorSource\r\n ? VECTOR\r\n : options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n\r\n const instance = new MahalMap();\r\n\r\n instance.options = options;\r\n instance.maplibre = maplibre;\r\n instance.map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n attributionControl: options.attributionControl !== false,\r\n });\r\n\r\n instance.map.on(\"load\", () => {\r\n instance.isReady = true;\r\n\r\n instance.camera = new CameraController(instance.map);\r\n\r\n instance.readyCallbacks.forEach((cb) => cb(instance.map));\r\n instance.readyCallbacks = [];\r\n });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\r\n }\r\n\r\n static onReady(callback: (map: MapType) => void) {\r\n if (!MahalMap.instance) {\r\n const check = setInterval(() => {\r\n if (MahalMap.instance) {\r\n clearInterval(check);\r\n MahalMap.onReady(callback);\r\n }\r\n }, 50);\r\n return;\r\n }\r\n\r\n const instance = MahalMap.instance;\r\n\r\n if (instance.isReady) {\r\n callback(instance.map);\r\n } else {\r\n instance.readyCallbacks.push(callback);\r\n }\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n addMarker(marker: IMapMarker) {\r\n return addMarker(this.maplibre, this.map, marker);\r\n }\r\n init(map: MapType) {\r\n this.map = map;\r\n this.camera = new CameraController(map);\r\n }\r\n getCamera() {\r\n return this.camera;\r\n }\r\n\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n\r\n destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\r\n }\r\n}\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType,\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function Search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType,\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { Search };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function Router(\r\n param: number[][],\r\n typeData: string,\r\n token: string,\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { Router };\r\n","// Lib\r\nimport { MahalMap } from \"@lib/map\";\r\nimport { Search } from \"@lib/search\";\r\nimport { Router } from \"@lib/routing\";\r\nimport { MahalMapDefaultMarker } from \"@lib/controller\";\r\n\r\n// utils\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\n\r\nexport { MahalMap, Search, Router, keyUtils, MahalMapDefaultMarker };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n"],"mappings":"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","names":["BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","CameraController","map","zoom","smooth","bearing","pitch","is3D","options","createDefaultMarkerSvg","color","innerSvg","MahalMapDefaultMarker","props","el","svg","createDefaultMarkerSvg","addMarker","maplibregl","map","marker","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","CameraController","cb","callback","check","marker","addMarker","map","theme","center","zoom","MahalMap","axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","searchPost","params","api","error","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","Search","routingApi","param","token","points","e","api","getApiKey","err","Router","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
1
+ {"version":3,"sources":["../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/lib/controller/camera/index.ts","../src/lib/controller/markers/defaultMarkerSvg.ts","../src/lib/controller/markers/MahalMapDefaultMarker.ts","../src/lib/map/adapters/marker.adapter.ts","../src/lib/map/MahalMap.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/saveKey/utils.ts","../src/app/utils/debounce/index.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts","../src/app/utils/index.ts","../src/index.ts"],"sourcesContent":["const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","import type { Map, FlyToOptions } from \"maplibre-gl\";\r\n\r\nexport class CameraController {\r\n constructor(private map: Map) {}\r\n\r\n setZoom(zoom: number, smooth = true) {\r\n if (smooth) {\r\n this.map.easeTo({ zoom });\r\n } else {\r\n this.map.setZoom(zoom);\r\n }\r\n }\r\n\r\n setBearing(bearing: number, smooth = true) {\r\n smooth ? this.map.easeTo({ bearing }) : this.map.setBearing(bearing);\r\n }\r\n\r\n setPitch(pitch: number, smooth = true) {\r\n smooth ? this.map.easeTo({ pitch }) : this.map.setPitch(pitch);\r\n }\r\n\r\n toggle3D(is3D: boolean) {\r\n this.map.easeTo({\r\n pitch: is3D ? 60 : 0,\r\n bearing: is3D ? this.map.getBearing() : 0,\r\n duration: 800,\r\n });\r\n }\r\n\r\n resetNorth() {\r\n this.map.easeTo({\r\n bearing: 0,\r\n pitch: 0,\r\n duration: 600,\r\n });\r\n }\r\n\r\n flyTo(options: FlyToOptions) {\r\n this.map.flyTo({\r\n speed: 1.2,\r\n curve: 1.42,\r\n essential: true,\r\n ...options,\r\n });\r\n }\r\n\r\n getPitch() {\r\n return this.map.getPitch();\r\n }\r\n}\r\n","const createDefaultMarkerSvg = (color: string, innerSvg?: string) => `<svg\r\n width=\"50\"\r\n height=\"62\"\r\n viewBox=\"0 0 50 62\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <g filter=\"url(#filter0_d_367_31358)\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M25 2C36.598 2 46 11.402 46 23C46 33.1603 38.7844 41.6353 29.198 43.5803L25.6524 48.6575C25.5788 48.7633 25.4812 48.8497 25.3676 48.9093C25.254 48.9689 25.128 49 25 49C24.872 49 24.746 48.9689 24.6324 48.9093C24.5188 48.8497 24.4212 48.7633 24.3476 48.6575L20.802 43.5803C11.2156 41.6353 4 33.1603 4 23C4 11.402 13.402 2 25 2Z\"\r\n fill=\"${color ? color : \"#278960\"}\"\r\n />\r\n </g>\r\n <path\r\n d=\"M25 51C27.7614 51 30 53.2386 30 56C30 58.7614 27.7614 61 25 61C22.2386 61 20 58.7614 20 56C20 53.2386 22.2386 51 25 51Z\"\r\n fill=\"${color ? color : \"#278960\"}\"\r\n stroke=\"white\"\r\n stroke-width=\"2\"\r\n />\r\n <g clip-path=\"url(#clip0_367_31358)\">\r\n ${innerSvg ?? \"\"}\r\n </g>\r\n <defs>\r\n <filter\r\n id=\"filter0_d_367_31358\"\r\n x=\"0\"\r\n y=\"0\"\r\n width=\"50\"\r\n height=\"55\"\r\n filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\"\r\n >\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix\r\n in=\"SourceAlpha\"\r\n type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\"\r\n />\r\n <feOffset dy=\"2\" />\r\n <feGaussianBlur stdDeviation=\"2\" />\r\n <feComposite in2=\"hardAlpha\" operator=\"out\" />\r\n <feColorMatrix\r\n type=\"matrix\"\r\n values=\"0 0 0 0 0.250234 0 0 0 0 0.660089 0 0 0 0 0.488619 0 0 0 0.24 0\"\r\n />\r\n <feBlend\r\n mode=\"normal\"\r\n in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_367_31358\"\r\n />\r\n <feBlend\r\n mode=\"normal\"\r\n in=\"SourceGraphic\"\r\n in2=\"effect1_dropShadow_367_31358\"\r\n result=\"shape\"\r\n />\r\n </filter>\r\n <clipPath id=\"clip0_367_31358\">\r\n <rect\r\n width=\"22\"\r\n height=\"22\"\r\n fill=\"white\"\r\n transform=\"translate(14 12)\"\r\n />\r\n </clipPath>\r\n </defs>\r\n </svg>`;\r\n\r\nexport { createDefaultMarkerSvg };\r\n","import { createDefaultMarkerSvg } from \"./defaultMarkerSvg\";\r\nimport type { MahalMapDefaultMarkerProps } from \"@app/types\";\r\n\r\nclass MahalMapDefaultMarker {\r\n private element: HTMLElement;\r\n\r\n constructor(private props: MahalMapDefaultMarkerProps) {\r\n this.element = this.createElement();\r\n }\r\n\r\n private createElement(): HTMLElement {\r\n const el = document.createElement(\"div\");\r\n el.style.cursor = \"pointer\";\r\n\r\n const svg = this.props.svg\r\n ? this.applyColorToCustomSvg(this.props.svg)\r\n : createDefaultMarkerSvg(\r\n this.props.color ?? \"#278960\",\r\n this.props.innerSvg,\r\n );\r\n\r\n el.innerHTML = svg;\r\n\r\n if (this.props.draggable) {\r\n el.draggable = true;\r\n }\r\n\r\n return el;\r\n }\r\n\r\n private applyColorToCustomSvg(svg: string): string {\r\n if (!this.props.color) return svg;\r\n return svg.replace(/fill=\"[^\"]*\"/g, `fill=\"${this.props.color}\"`);\r\n }\r\n\r\n getElement() {\r\n return this.element;\r\n }\r\n\r\n getCoordinates() {\r\n return this.props.coordinates;\r\n }\r\n\r\n isDraggable() {\r\n return !!this.props.draggable;\r\n }\r\n\r\n getAnchor() {\r\n return this.props.anchor || \"center\";\r\n }\r\n}\r\n\r\nexport { MahalMapDefaultMarker };\r\n","import type { Map } from \"maplibre-gl\";\r\nimport type { IMapMarker } from \"@app/types\";\r\n\r\nexport function addMarker(maplibregl: any, map: Map, marker: IMapMarker) {\r\n const mapMarker = new maplibregl.Marker({\r\n element: marker.getElement(),\r\n draggable: marker.isDraggable?.() ?? false,\r\n anchor: marker.getAnchor?.() ?? \"center\",\r\n })\r\n .setLngLat(marker.getCoordinates())\r\n .addTo(map);\r\n\r\n return mapMarker;\r\n}\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\nimport { CameraController } from \"@lib/controller\";\r\n\r\nimport type { IMahalMapOptions, IMapMarker } from \"@app/types\";\r\n\r\n// Adapter\r\nimport { addMarker } from \"../map/adapters\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nexport class MahalMap {\r\n private static instance: MahalMap | null = null;\r\n\r\n private isReady = false;\r\n private readyCallbacks: Array<(map: MapType) => void> = [];\r\n\r\n private map!: MapType;\r\n private maplibre!: typeof import(\"maplibre-gl\");\r\n private camera!: CameraController;\r\n\r\n private options!: IMahalMapOptions;\r\n\r\n private constructor() {}\r\n\r\n static create(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType,\r\n ) {\r\n if (MahalMap.instance) return MahalMap.instance;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или подключи через script.\",\r\n );\r\n }\r\n\r\n const finalStyle = options.autoAddVectorSource\r\n ? VECTOR\r\n : options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n\r\n const instance = new MahalMap();\r\n\r\n instance.options = options;\r\n instance.maplibre = maplibre;\r\n instance.map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n attributionControl: options.attributionControl !== false,\r\n });\r\n\r\n instance.map.on(\"load\", () => {\r\n instance.isReady = true;\r\n\r\n instance.camera = new CameraController(instance.map);\r\n\r\n instance.readyCallbacks.forEach((cb) => cb(instance.map));\r\n instance.readyCallbacks = [];\r\n });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\r\n }\r\n\r\n static onReady(callback: (map: MapType) => void) {\r\n if (!MahalMap.instance) {\r\n const check = setInterval(() => {\r\n if (MahalMap.instance) {\r\n clearInterval(check);\r\n MahalMap.onReady(callback);\r\n }\r\n }, 50);\r\n return;\r\n }\r\n\r\n const instance = MahalMap.instance;\r\n\r\n if (instance.isReady) {\r\n callback(instance.map);\r\n } else {\r\n instance.readyCallbacks.push(callback);\r\n }\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n addMarker(marker: IMapMarker) {\r\n return addMarker(this.maplibre, this.map, marker);\r\n }\r\n init(map: MapType) {\r\n this.map = map;\r\n this.camera = new CameraController(map);\r\n }\r\n getCamera() {\r\n return this.camera;\r\n }\r\n\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n\r\n destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\r\n }\r\n}\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number,\r\n) {\r\n let timer: ReturnType<typeof setTimeout>;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType,\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function Search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType,\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { Search };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function Router(\r\n param: number[][],\r\n typeData: string,\r\n token: string,\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { Router };\r\n","export * from \"./debounce\";\r\n","// Lib\r\nimport { MahalMap } from \"@lib/map\";\r\nimport { Search } from \"@lib/search\";\r\nimport { Router } from \"@lib/routing\";\r\nimport { MahalMapDefaultMarker } from \"@lib/controller\";\r\n\r\n// utils\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\nimport * as utils from \"@app/utils\";\r\n\r\nexport { MahalMap, Search, Router, keyUtils, MahalMapDefaultMarker, utils };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n"],"mappings":"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","names":["BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","CameraController","map","zoom","smooth","bearing","pitch","is3D","options","createDefaultMarkerSvg","color","innerSvg","MahalMapDefaultMarker","props","el","svg","createDefaultMarkerSvg","addMarker","maplibregl","map","marker","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","CameraController","cb","callback","check","marker","addMarker","map","theme","center","zoom","MahalMap","axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","searchPost","params","api","error","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","Search","routingApi","param","token","points","e","api","getApiKey","err","Router","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","utils_exports","__export","debounce","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mahal_map",
3
- "version": "1.3.7",
3
+ "version": "1.4.0",
4
4
  "description": "mahal_map",
5
5
  "keywords": [
6
6
  "map",