mahal_map 1.3.4 → 1.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/dist/index.d.mts +4 -0
  2. package/dist/index.d.ts +4 -0
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +2 -2
  6. package/dist/index.mjs.map +1 -1
  7. package/package.json +1 -1
  8. package/dist/app/config/constants.d.ts +0 -9
  9. package/dist/app/config/constants.d.ts.map +0 -1
  10. package/dist/app/config/geojson-polyline.d.ts +0 -3
  11. package/dist/app/config/geojson-polyline.d.ts.map +0 -1
  12. package/dist/app/config/geometry-polyline.d.ts +0 -3
  13. package/dist/app/config/geometry-polyline.d.ts.map +0 -1
  14. package/dist/app/config/index.d.ts +0 -4
  15. package/dist/app/config/index.d.ts.map +0 -1
  16. package/dist/app/lib/axios/api/axios.d.ts +0 -2
  17. package/dist/app/lib/axios/api/axios.d.ts.map +0 -1
  18. package/dist/app/lib/axios/api/index.d.ts +0 -2
  19. package/dist/app/lib/axios/api/index.d.ts.map +0 -1
  20. package/dist/app/lib/axios/index.d.ts +0 -2
  21. package/dist/app/lib/axios/index.d.ts.map +0 -1
  22. package/dist/app/lib/checking-coordinates/index.d.ts +0 -2
  23. package/dist/app/lib/checking-coordinates/index.d.ts.map +0 -1
  24. package/dist/app/lib/checking-coordinates/utils.d.ts +0 -5
  25. package/dist/app/lib/checking-coordinates/utils.d.ts.map +0 -1
  26. package/dist/app/lib/debounce/index.d.ts +0 -3
  27. package/dist/app/lib/debounce/index.d.ts.map +0 -1
  28. package/dist/app/lib/index.d.ts +0 -5
  29. package/dist/app/lib/index.d.ts.map +0 -1
  30. package/dist/app/lib/saveKey/index.d.ts +0 -2
  31. package/dist/app/lib/saveKey/index.d.ts.map +0 -1
  32. package/dist/app/lib/saveKey/utils.d.ts +0 -5
  33. package/dist/app/lib/saveKey/utils.d.ts.map +0 -1
  34. package/dist/app/types/additional-param/index.d.ts +0 -6
  35. package/dist/app/types/additional-param/index.d.ts.map +0 -1
  36. package/dist/app/types/index.d.ts +0 -6
  37. package/dist/app/types/index.d.ts.map +0 -1
  38. package/dist/app/types/map/index.d.ts +0 -10
  39. package/dist/app/types/map/index.d.ts.map +0 -1
  40. package/dist/app/types/marker/index.d.ts +0 -14
  41. package/dist/app/types/marker/index.d.ts.map +0 -1
  42. package/dist/app/types/router-param/index.d.ts +0 -33
  43. package/dist/app/types/router-param/index.d.ts.map +0 -1
  44. package/dist/app/types/search-param/index.d.ts +0 -27
  45. package/dist/app/types/search-param/index.d.ts.map +0 -1
  46. package/dist/index.d.ts.map +0 -1
  47. package/dist/lib/controller/camera/index.d.ts +0 -12
  48. package/dist/lib/controller/camera/index.d.ts.map +0 -1
  49. package/dist/lib/controller/index.d.ts +0 -3
  50. package/dist/lib/controller/index.d.ts.map +0 -1
  51. package/dist/lib/controller/markers/MahalMapDefaultMarker.d.ts +0 -13
  52. package/dist/lib/controller/markers/MahalMapDefaultMarker.d.ts.map +0 -1
  53. package/dist/lib/controller/markers/defaultMarkerSvg.d.ts +0 -3
  54. package/dist/lib/controller/markers/defaultMarkerSvg.d.ts.map +0 -1
  55. package/dist/lib/controller/markers/index.d.ts +0 -2
  56. package/dist/lib/controller/markers/index.d.ts.map +0 -1
  57. package/dist/lib/index.d.ts +0 -5
  58. package/dist/lib/index.d.ts.map +0 -1
  59. package/dist/lib/map/MahalMap.d.ts +0 -24
  60. package/dist/lib/map/MahalMap.d.ts.map +0 -1
  61. package/dist/lib/map/adapters/index.d.ts +0 -2
  62. package/dist/lib/map/adapters/index.d.ts.map +0 -1
  63. package/dist/lib/map/adapters/marker.adapter.d.ts +0 -4
  64. package/dist/lib/map/adapters/marker.adapter.d.ts.map +0 -1
  65. package/dist/lib/map/index.d.ts +0 -2
  66. package/dist/lib/map/index.d.ts.map +0 -1
  67. package/dist/lib/routing/api.d.ts +0 -3
  68. package/dist/lib/routing/api.d.ts.map +0 -1
  69. package/dist/lib/routing/index.d.ts +0 -3
  70. package/dist/lib/routing/index.d.ts.map +0 -1
  71. package/dist/lib/routing/utils.d.ts +0 -4
  72. package/dist/lib/routing/utils.d.ts.map +0 -1
  73. package/dist/lib/search/api.d.ts +0 -3
  74. package/dist/lib/search/api.d.ts.map +0 -1
  75. package/dist/lib/search/index.d.ts +0 -3
  76. package/dist/lib/search/index.d.ts.map +0 -1
  77. package/dist/lib/search/utils.d.ts +0 -4
  78. package/dist/lib/search/utils.d.ts.map +0 -1
  79. package/dist/mahal_map.esm.js +0 -1
  80. package/dist/mahal_map.esm.js.map +0 -1
  81. package/dist/mahal_map.umd.js +0 -1
  82. package/dist/mahal_map.umd.js.map +0 -1
package/dist/index.d.mts CHANGED
@@ -70,6 +70,7 @@ interface IMahalMapOptions {
70
70
  center?: [number, number];
71
71
  zoom?: number;
72
72
  autoAddVectorSource?: boolean;
73
+ attributionControl: boolean;
73
74
  }
74
75
 
75
76
  interface MahalMapDefaultMarkerProps {
@@ -113,6 +114,8 @@ declare class MahalMapDefaultMarker {
113
114
 
114
115
  declare class MahalMap {
115
116
  private static instance;
117
+ private isReady;
118
+ private readyCallbacks;
116
119
  private map;
117
120
  private maplibre;
118
121
  private camera;
@@ -121,6 +124,7 @@ declare class MahalMap {
121
124
  static create(options: IMahalMapOptions, maplibreObject?: {
122
125
  Map: typeof Map;
123
126
  } | typeof Map): MahalMap;
127
+ static onReady(callback: (map: Map) => void): void;
124
128
  static getInstance(): MahalMap;
125
129
  addMarker(marker: IMapMarker): any;
126
130
  init(map: Map): void;
package/dist/index.d.ts CHANGED
@@ -70,6 +70,7 @@ interface IMahalMapOptions {
70
70
  center?: [number, number];
71
71
  zoom?: number;
72
72
  autoAddVectorSource?: boolean;
73
+ attributionControl: boolean;
73
74
  }
74
75
 
75
76
  interface MahalMapDefaultMarkerProps {
@@ -113,6 +114,8 @@ declare class MahalMapDefaultMarker {
113
114
 
114
115
  declare class MahalMap {
115
116
  private static instance;
117
+ private isReady;
118
+ private readyCallbacks;
116
119
  private map;
117
120
  private maplibre;
118
121
  private camera;
@@ -121,6 +124,7 @@ declare class MahalMap {
121
124
  static create(options: IMahalMapOptions, maplibreObject?: {
122
125
  Map: typeof Map;
123
126
  } | typeof Map): MahalMap;
127
+ static onReady(callback: (map: Map) => void): void;
124
128
  static getInstance(): MahalMap;
125
129
  addMarker(marker: IMapMarker): any;
126
130
  init(map: Map): void;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- 'use strict';var a0_0x527ff0=a0_0x2fc7;(function(_0x57481c,_0x2ef666){var _0x629c0=a0_0x2fc7,_0x4f7e7f=_0x57481c();while(!![]){try{var _0x1448f9=-parseInt(_0x629c0(0x14b))/0x1*(-parseInt(_0x629c0(0x160))/0x2)+-parseInt(_0x629c0(0x169))/0x3*(parseInt(_0x629c0(0x103))/0x4)+parseInt(_0x629c0(0x1b1))/0x5+-parseInt(_0x629c0(0xfd))/0x6*(parseInt(_0x629c0(0x14c))/0x7)+parseInt(_0x629c0(0x16e))/0x8*(parseInt(_0x629c0(0x19d))/0x9)+-parseInt(_0x629c0(0x1b5))/0xa+parseInt(_0x629c0(0x1af))/0xb;if(_0x1448f9===_0x2ef666)break;else _0x4f7e7f['push'](_0x4f7e7f['shift']());}catch(_0x2c12ab){_0x4f7e7f['push'](_0x4f7e7f['shift']());}}}(a0_0x4f1c,0x37687));var D=Object['create'],u=Object[a0_0x527ff0(0x156)],F=Object[a0_0x527ff0(0x17d)],N=Object[a0_0x527ff0(0x12f)],O=Object[a0_0x527ff0(0x172)],U=Object[a0_0x527ff0(0x1ba)][a0_0x527ff0(0xf7)],w=(_0x1c335c,_0x52fd25)=>{var _0xb51b1={'OmZXV':function(_0x1deba8,_0x30c4be,_0x5662ec,_0x54b4dc){return _0x1deba8(_0x30c4be,_0x5662ec,_0x54b4dc);}};for(var _0x346107 in _0x52fd25)_0xb51b1['OmZXV'](u,_0x1c335c,_0x346107,{'get':_0x52fd25[_0x346107],'enumerable':!0x0});},T=(_0x4f1cc9,_0x36dede,_0x5f26ef,_0x6b7ae6)=>{var _0xfcaa37=a0_0x527ff0,_0x203161={'pMVuO':function(_0x2ada8f,_0x705e41){return _0x2ada8f==_0x705e41;},'VjHgS':'object','xXSug':function(_0x5b62b9,_0x37ebac){return _0x5b62b9(_0x37ebac);},'Gmijm':function(_0x5184c5,_0x568236,_0x256d4d,_0x520d3d){return _0x5184c5(_0x568236,_0x256d4d,_0x520d3d);},'fkQjH':function(_0xa80503,_0x5e8704,_0x15557a){return _0xa80503(_0x5e8704,_0x15557a);}};if(_0x36dede&&_0x203161[_0xfcaa37(0x1ad)](typeof _0x36dede,_0x203161[_0xfcaa37(0x134)])||typeof _0x36dede==_0xfcaa37(0x111)){for(let _0x3e2e9b of _0x203161[_0xfcaa37(0x187)](N,_0x36dede))!U[_0xfcaa37(0x1a1)](_0x4f1cc9,_0x3e2e9b)&&_0x3e2e9b!==_0x5f26ef&&_0x203161[_0xfcaa37(0x18f)](u,_0x4f1cc9,_0x3e2e9b,{'get':()=>_0x36dede[_0x3e2e9b],'enumerable':!(_0x6b7ae6=_0x203161[_0xfcaa37(0x1a4)](F,_0x36dede,_0x3e2e9b))||_0x6b7ae6['enumerable']});}return _0x4f1cc9;},$=(_0xe9c223,_0xab999a,_0x2e4a3f)=>(_0x2e4a3f=_0xe9c223!=null?D(O(_0xe9c223)):{},T(_0xab999a||!_0xe9c223||!_0xe9c223['__esModule']?u(_0x2e4a3f,a0_0x527ff0(0x153),{'value':_0xe9c223,'enumerable':!0x0}):_0x2e4a3f,_0xe9c223)),Z=_0x3b9fe6=>T(u({},'__esModule',{'value':!0x0}),_0x3b9fe6),V={};function a0_0x4f1c(){var _0x352f4a=['EQAaU','NMpQe','src','JiDvH','style','PktXs','constructor','lGwVm','geojson','WCkgc','getOwnPropertyDescriptor','props','ahAuE','[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','setStyle','apply','eLrqw','light','Map','exports','xXSug','tpZBA','getBearing','DNWsk','setCenter','svg','setPitch','anchor','Gmijm','defaults','YtmHi','services/getRoutes','routes','apikey','TuaSn','toString','tZUGh','color','nzXfc','return\x20(function()\x20','route','getAnchor','50607dhMeKn','roQbk','push','Cvlbo','call','lzfue','YUhCI','fkQjH','replace','AMssL','init','innerSvg','hnxbc','addMarker','MMLHX','split','pMVuO','container','4569543dGOswb','getPitch','748580cMwgEV','https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json','error','dDSQZ','760640OWsULe','Marker','cRSXW','forEach','getElement','prototype','isDraggable','CYuej','qMjAO','trace','NVmrH','lfBwd','Authorization','qCPEU','KuVUk','<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','destroy','LNIGr','JWeBA','hasOwnProperty','rWnAW','SzOsz','info','addTo','easeTo','1192134prOJos','length','axios','headers','center','tqeOs','67256ljiTSH','veqDe','\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','qHZyG','element','lPeLw','interceptors','geometry','FFjZM','resetNorth','sToFM','SOTaR','zoom','Ошибка\x20при\x20поиске\x20адреса:','function','YdvFM','JUWoq','maplibre','maplibregl','options','dark','cddal','vojgE','https://platform.mahal.tj/api/','Bearer\x20','__proto__','get','data','eaFde','searchParams','div','CBOqE','nrlUS','GwHRm','himvG','CDzGV','rdIkP','reject','table','NFtOp','status','autoAddVectorSource','{}.constructor(\x22return\x20this\x22)(\x20)','createElement','getOwnPropertyNames','pRSWP','getCoordinates','\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>','MFCDn','VjHgS','CgeQa','YRQOp','charCodeAt','VKShj','#278960','lKTwI','GWDDF','create','getMap','lKuuO','https://mtile.gram.tj/custom-styles/dark-style.json','setBearing','TrxME','instance','JBEkq','script','cursor','zjdmp','bDtZD','qssYj','map','cJZhV','123CNxhdX','14SFPqKK','dRiex','nFKBM','Tkbwx','innerHTML','setZoom','common','default','\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','getElementsByTagName','defineProperty','aAKmk','jOtOJ','vykwp','xeRBv','draggable','applyColorToCustomSvg','theme','BMyCe','UDMtG','1174IRXJSk','JBFpx','ACUmF','xfzIC','QZZSm','lGuQb','IVMCM','camera','ZmsiQ','66VWQwsk','boBIv','vKHHV','pointer','console','616MLXdDN','includes','string','bind','getPrototypeOf'];a0_0x4f1c=function(){return _0x352f4a;};return a0_0x4f1c();}w(V,{'MahalMap':()=>g,'MahalMapDefaultMarker':()=>f,'Router':()=>_,'Search':()=>G,'keyUtils':()=>b}),module[a0_0x527ff0(0x186)]=Z(V);var v=a0_0x527ff0(0x11a),S=a0_0x527ff0(0x13f),C='https://mtile.gram.tj/custom-styles/mapstyle.json',P=a0_0x527ff0(0x1b2);function k(_0x409e4d){var _0x2c60ab=a0_0x527ff0,_0x1ba80f={'QDoFW':function(_0x4daf90,_0x32839c){return _0x4daf90<_0x32839c;},'NMpQe':function(_0x5c6aab,_0x46fca1){return _0x5c6aab!==_0x46fca1;},'lGwVm':'Xrolo','YtmHi':_0x2c60ab(0x168),'pRSWP':function(_0x490c39,_0x5a71a1){return _0x490c39-_0x5a71a1;},'Tkbwx':function(_0x300440,_0x5c9099){return _0x300440<<_0x5c9099;},'JWeBA':function(_0x4780f1,_0x239fac){return _0x4780f1&_0x239fac;},'TKSuP':function(_0x48e0ab,_0x371b8c){return _0x48e0ab>=_0x371b8c;},'xeRBv':function(_0x4169e4,_0x56e129){return _0x4169e4>>_0x56e129;},'lGuQb':function(_0x4af765,_0x408f41){return _0x4af765&_0x408f41;},'AMssL':function(_0x2ffd75,_0x59b67d){return _0x2ffd75>=_0x59b67d;},'ACUmF':function(_0x1c1dca,_0x144964){return _0x1c1dca&_0x144964;},'lKuuO':function(_0x13044f,_0x48dce5){return _0x13044f>>_0x48dce5;},'nrlUS':function(_0x63610a,_0x221b61){return _0x63610a*_0x221b61;}};let _0x28a591=[],_0x299ca7=0x0,_0x30eaf6=_0x409e4d[_0x2c60ab(0xfe)],_0x3279fe=0x0,_0x4a2c72=0x0;for(;_0x1ba80f['QDoFW'](_0x299ca7,_0x30eaf6);){if(_0x1ba80f[_0x2c60ab(0x174)](_0x1ba80f[_0x2c60ab(0x17a)],_0x1ba80f[_0x2c60ab(0x191)])){let _0x48ba54,_0x300c05=0x0,_0x11cf4b=0x0;do _0x48ba54=_0x1ba80f['pRSWP'](_0x409e4d[_0x2c60ab(0x137)](_0x299ca7++),0x3f),_0x11cf4b|=_0x1ba80f['Tkbwx'](_0x1ba80f[_0x2c60ab(0xf6)](_0x48ba54,0x1f),_0x300c05),_0x300c05+=0x5;while(_0x1ba80f['TKSuP'](_0x48ba54,0x20));let _0x218a36=_0x11cf4b&0x1?~(_0x11cf4b>>0x1):_0x1ba80f[_0x2c60ab(0x15a)](_0x11cf4b,0x1);_0x3279fe+=_0x218a36,_0x300c05=0x0,_0x11cf4b=0x0;do _0x48ba54=_0x1ba80f[_0x2c60ab(0x130)](_0x409e4d['charCodeAt'](_0x299ca7++),0x3f),_0x11cf4b|=_0x1ba80f[_0x2c60ab(0x14f)](_0x1ba80f[_0x2c60ab(0x165)](_0x48ba54,0x1f),_0x300c05),_0x300c05+=0x5;while(_0x1ba80f[_0x2c60ab(0x1a6)](_0x48ba54,0x20));let _0x4c9265=_0x1ba80f[_0x2c60ab(0x162)](_0x11cf4b,0x1)?~(_0x11cf4b>>0x1):_0x1ba80f[_0x2c60ab(0x13e)](_0x11cf4b,0x1);_0x4a2c72+=_0x4c9265,_0x28a591['push']([_0x1ba80f[_0x2c60ab(0x123)](_0x4a2c72,0.00001),_0x1ba80f[_0x2c60ab(0x123)](_0x3279fe,0.00001)]);}else{let _0x175853={..._0x190851};return _0x175853[_0x2c60ab(0x19b)]?.[_0x2c60ab(0x193)]?.['length']&&(_0x175853['route']['routes']=_0x175853[_0x2c60ab(0x19b)][_0x2c60ab(0x193)][_0x2c60ab(0x149)](_0x573260=>({..._0x573260,'geometry':_0x4b505b===_0x2c60ab(0x17b)&&typeof _0x573260[_0x2c60ab(0x10a)]==_0x2c60ab(0x170)?_0x110678(_0x573260['geometry']):_0x573260[_0x2c60ab(0x10a)]}))),_0x175853;}}return _0x28a591;}var h=class{constructor(_0x19a6fa){this['map']=_0x19a6fa;}[a0_0x527ff0(0x151)](_0x23080a,_0x3a5898=!0x0){var _0xd1abbe=a0_0x527ff0;_0x3a5898?this[_0xd1abbe(0x149)][_0xd1abbe(0xfc)]({'zoom':_0x23080a}):this[_0xd1abbe(0x149)][_0xd1abbe(0x151)](_0x23080a);}[a0_0x527ff0(0x140)](_0x3b223d,_0x5572ec=!0x0){var _0x5eaebf=a0_0x527ff0;_0x5572ec?this[_0x5eaebf(0x149)][_0x5eaebf(0xfc)]({'bearing':_0x3b223d}):this['map']['setBearing'](_0x3b223d);}[a0_0x527ff0(0x18d)](_0x385e7e,_0x4ed943=!0x0){var _0x4fe9da=a0_0x527ff0;_0x4ed943?this['map'][_0x4fe9da(0xfc)]({'pitch':_0x385e7e}):this[_0x4fe9da(0x149)][_0x4fe9da(0x18d)](_0x385e7e);}['toggle3D'](_0x2c9f16){var _0x1d2db4=a0_0x527ff0;this[_0x1d2db4(0x149)][_0x1d2db4(0xfc)]({'pitch':_0x2c9f16?0x3c:0x0,'bearing':_0x2c9f16?this[_0x1d2db4(0x149)][_0x1d2db4(0x189)]():0x0,'duration':0x320});}[a0_0x527ff0(0x10c)](){var _0x34a411=a0_0x527ff0;this[_0x34a411(0x149)]['easeTo']({'bearing':0x0,'pitch':0x0,'duration':0x258});}['flyTo'](_0x7b389a){var _0x283c3b=a0_0x527ff0;this[_0x283c3b(0x149)]['flyTo']({'speed':1.2,'curve':1.42,'essential':!0x0,..._0x7b389a});}['getPitch'](){var _0x138c54=a0_0x527ff0;return this[_0x138c54(0x149)][_0x138c54(0x1b0)]();}},I=(_0x3f93ef,_0x4ed7d3)=>a0_0x527ff0(0xf3)+(_0x3f93ef||'#278960')+a0_0x527ff0(0x105)+(_0x3f93ef||a0_0x527ff0(0x139))+a0_0x527ff0(0x154)+(_0x4ed7d3??'')+a0_0x527ff0(0x132),f=class{constructor(_0x35c707){var _0x5ad021=a0_0x527ff0;this[_0x5ad021(0x17e)]=_0x35c707,this[_0x5ad021(0x107)]=this[_0x5ad021(0x12e)]();}[a0_0x527ff0(0x12e)](){var _0x4ef86e=a0_0x527ff0,_0x15e81a={'roQbk':_0x4ef86e(0x121),'xOIXB':_0x4ef86e(0x16c),'NFtOp':function(_0x2eede2,_0x1775e9,_0x583138){return _0x2eede2(_0x1775e9,_0x583138);},'jKLFZ':'#278960'};let _0x41a59f=document[_0x4ef86e(0x12e)](_0x15e81a[_0x4ef86e(0x19e)]);_0x41a59f[_0x4ef86e(0x177)][_0x4ef86e(0x145)]=_0x15e81a['xOIXB'];let _0x4eaba8=this[_0x4ef86e(0x17e)][_0x4ef86e(0x18c)]?this[_0x4ef86e(0x15c)](this['props'][_0x4ef86e(0x18c)]):_0x15e81a[_0x4ef86e(0x12a)](I,this[_0x4ef86e(0x17e)][_0x4ef86e(0x198)]??_0x15e81a['jKLFZ'],this[_0x4ef86e(0x17e)][_0x4ef86e(0x1a8)]);return _0x41a59f[_0x4ef86e(0x150)]=_0x4eaba8,this[_0x4ef86e(0x17e)][_0x4ef86e(0x15b)]&&(_0x41a59f[_0x4ef86e(0x15b)]=!0x0),_0x41a59f;}[a0_0x527ff0(0x15c)](_0xcf2f56){var _0x551ab1=a0_0x527ff0;return this['props'][_0x551ab1(0x198)]?_0xcf2f56[_0x551ab1(0x1a5)](/fill="[^"]*"/g,'fill=\x22'+this[_0x551ab1(0x17e)][_0x551ab1(0x198)]+'\x22'):_0xcf2f56;}[a0_0x527ff0(0x1b9)](){var _0x39b02a=a0_0x527ff0;return this[_0x39b02a(0x107)];}[a0_0x527ff0(0x131)](){var _0x11a32a=a0_0x527ff0;return this[_0x11a32a(0x17e)]['coordinates'];}[a0_0x527ff0(0x1bb)](){var _0x8604ea=a0_0x527ff0;return!!this[_0x8604ea(0x17e)]['draggable'];}[a0_0x527ff0(0x19c)](){var _0x2a3924=a0_0x527ff0,_0x51b3d1={'GWDDF':'center'};return this[_0x2a3924(0x17e)][_0x2a3924(0x18e)]||_0x51b3d1[_0x2a3924(0x13b)];}};function A(_0xe1173c,_0x4ad717,_0x2890d5){var _0x244929=a0_0x527ff0,_0x1d6060={'boBIv':_0x244929(0x101)};return new _0xe1173c[(_0x244929(0x1b6))]({'element':_0x2890d5['getElement'](),'draggable':_0x2890d5[_0x244929(0x1bb)]?.()??!0x1,'anchor':_0x2890d5['getAnchor']?.()??_0x1d6060[_0x244929(0x16a)]})['setLngLat'](_0x2890d5[_0x244929(0x131)]())[_0x244929(0xfb)](_0x4ad717);}var d={'dark':S,'light':C},n=class n{constructor(){}static[a0_0x527ff0(0x13c)](_0x318211,_0x2b7773){var _0x271352=a0_0x527ff0,_0x287f75={'cRSXW':_0x271352(0x180),'KAsaQ':function(_0x3f2b78,_0x4e825a){return _0x3f2b78===_0x4e825a;},'CDzGV':_0x271352(0x117),'EzDYb':'map'};if(n['instance'])return n[_0x271352(0x142)];let _0x103f41=window[_0x271352(0x115)]||_0x2b7773;if(!_0x103f41)throw new Error(_0x287f75[_0x271352(0x1b7)]);let _0x171f3c=_0x318211[_0x271352(0x12c)]?P:_0x318211[_0x271352(0x177)]?_0x318211[_0x271352(0x177)]:_0x287f75['KAsaQ'](_0x318211[_0x271352(0x15d)],_0x287f75[_0x271352(0x126)])?d['dark']:d[_0x271352(0x184)],_0x34cf2c=new n();return _0x34cf2c[_0x271352(0x116)]=_0x318211,_0x34cf2c[_0x271352(0x114)]=_0x103f41,_0x34cf2c[_0x271352(0x149)]=new _0x103f41[(_0x271352(0x185))]({'container':_0x318211[_0x271352(0x1ae)]||_0x287f75['EzDYb'],'style':_0x171f3c,'center':_0x318211[_0x271352(0x101)]||[69.624024,40.279687],'zoom':_0x318211[_0x271352(0x10f)]||0x5}),n[_0x271352(0x142)]=_0x34cf2c,_0x34cf2c;}static['getInstance'](){var _0x435093=a0_0x527ff0,_0x4c48a3={'lPeLw':'[MahalMap\x20SDK]\x20Карта\x20ещё\x20не\x20создана'};if(!n['instance'])throw new Error(_0x4c48a3[_0x435093(0x108)]);return n[_0x435093(0x142)];}[a0_0x527ff0(0x1aa)](_0x11cf20){var _0x252354=a0_0x527ff0,_0x16c71c={'SzOsz':function(_0x120dfe,_0x27ee84,_0x4c1172,_0x1524d5){return _0x120dfe(_0x27ee84,_0x4c1172,_0x1524d5);}};return _0x16c71c[_0x252354(0xf9)](A,this[_0x252354(0x114)],this[_0x252354(0x149)],_0x11cf20);}[a0_0x527ff0(0x1a7)](_0x177b9f){var _0x38fc41=a0_0x527ff0;this[_0x38fc41(0x149)]=_0x177b9f,this[_0x38fc41(0x167)]=new h(_0x177b9f);}['getCamera'](){return this['camera'];}[a0_0x527ff0(0x13d)](){var _0x3a7e6d=a0_0x527ff0;return this[_0x3a7e6d(0x149)];}[a0_0x527ff0(0x181)](_0x42574f){var _0x2966c3=a0_0x527ff0,_0x58093f={'CYuej':_0x2966c3(0x117)};this[_0x2966c3(0x149)][_0x2966c3(0x181)](_0x42574f===_0x58093f[_0x2966c3(0x1bc)]?d[_0x2966c3(0x117)]:d['light']);}['setCenter'](_0x232dbd){var _0xf841f2=a0_0x527ff0;this[_0xf841f2(0x149)][_0xf841f2(0x18b)](_0x232dbd);}[a0_0x527ff0(0x151)](_0x36040d){var _0x11cb60=a0_0x527ff0;this[_0x11cb60(0x149)][_0x11cb60(0x151)](_0x36040d);}[a0_0x527ff0(0xf4)](){var _0x3d39fb=a0_0x527ff0;this[_0x3d39fb(0x149)]['remove'](),n[_0x3d39fb(0x142)]=null;}};n[a0_0x527ff0(0x142)]=null;function a0_0x2fc7(_0x3092cd,_0xa380eb){var _0x4b4447=a0_0x4f1c();return a0_0x2fc7=function(_0x4059ec,_0x1cc9ab){_0x4059ec=_0x4059ec-0xf1;var _0x3780c9=_0x4b4447[_0x4059ec];return _0x3780c9;},a0_0x2fc7(_0x3092cd,_0xa380eb);}var g=n,E=$(require(a0_0x527ff0(0xff))),m=E['default'][a0_0x527ff0(0x13c)]({'baseURL':v});m[a0_0x527ff0(0x109)]['request']['use'](_0x412994=>_0x412994,_0x37c610=>(_0x37c610['request']?.[a0_0x527ff0(0x12b)]===0x191&&y(),Promise[a0_0x527ff0(0x128)](_0x37c610)));var b={};w(b,{'clearKey':()=>y,'getApiKey':()=>c,'saveKey':()=>x});var M='';function x(_0x289889){var _0x48643b=a0_0x527ff0,_0x17cdaf={'YUhCI':function(_0x50c1ab,_0x4d6f4f){return _0x50c1ab!==_0x4d6f4f;}};_0x17cdaf[_0x48643b(0x1a3)](_0x289889,'')&&(M=_0x289889,m[_0x48643b(0x190)][_0x48643b(0x100)][_0x48643b(0x152)][_0x48643b(0x1c1)]=_0x48643b(0x11b)+_0x289889);}function y(){var _0x1cd938=a0_0x527ff0,_0x151363={'JiDvH':function(_0x508498,_0x3849b9){return _0x508498!==_0x3849b9;},'OBGtW':_0x1cd938(0x14e),'NbHTu':_0x1cd938(0x112),'QwTOk':'1|2|3|5|4|0','zjdmp':function(_0x5b5c0c,_0x27a6ee){return _0x5b5c0c!==_0x27a6ee;},'hnxbc':'IgRVv','vKHHV':_0x1cd938(0x1bf),'aAKmk':function(_0x182088,_0x22acd6){return _0x182088(_0x22acd6);},'dDSQZ':function(_0x1a4b81,_0x3df3ef){return _0x1a4b81+_0x3df3ef;},'dRiex':_0x1cd938(0x19a),'Cargq':function(_0x5d06f3,_0x1d772c){return _0x5d06f3===_0x1d772c;},'qCPEU':_0x1cd938(0x124),'qHZyG':function(_0x5f4fad){return _0x5f4fad();},'lfBwd':'warn','YRQOp':_0x1cd938(0x1b3),'UmBsw':'exception','vykwp':_0x1cd938(0x129),'lKTwI':_0x1cd938(0x1be),'DNWsk':function(_0xb142f4,_0x18e898){return _0xb142f4<_0x18e898;},'tZUGh':'2|3|1|5|0|4','jOtOJ':function(_0x4a9202,_0x4fe28d,_0x236e13){return _0x4a9202(_0x4fe28d,_0x236e13);}},_0xa54e59=(function(){var _0x56cafa=_0x1cd938,_0x4f6254={'eLrqw':function(_0x52d00f,_0x2a9b75){var _0x3a6c80=a0_0x2fc7;return _0x151363[_0x3a6c80(0x176)](_0x52d00f,_0x2a9b75);},'qssYj':_0x56cafa(0x125),'qmRIj':_0x151363['OBGtW'],'SOTaR':_0x151363['NbHTu']},_0x2a7cb5=!![];return function(_0x3b9837,_0x4c17f4){var _0x4084a8=_0x2a7cb5?function(){var _0x647c60=a0_0x2fc7,_0x10bd07={'rWnAW':_0x647c60(0x194)};if(_0x4f6254[_0x647c60(0x183)](_0x4f6254[_0x647c60(0x148)],_0x4f6254['qmRIj'])){if(_0x4c17f4){if(_0x4f6254[_0x647c60(0x183)](_0x647c60(0x15e),_0x4f6254[_0x647c60(0x10e)])){var _0x1b19c1=_0x4c17f4[_0x647c60(0x182)](_0x3b9837,arguments);return _0x4c17f4=null,_0x1b19c1;}else{let _0x3eccb4=new _0x2c8c59(_0x4c6b01[_0x647c60(0x175)])[_0x647c60(0x120)][_0x647c60(0x11d)](_0x10bd07[_0x647c60(0xf8)]);if(_0x3eccb4)return _0x3eccb4;}}}else this[_0x647c60(0x149)]=_0x300548,this[_0x647c60(0x167)]=new _0x56b746(_0xa253c);}:function(){};return _0x2a7cb5=![],_0x4084a8;};}()),_0xcd21a3=_0x151363[_0x1cd938(0x158)](_0xa54e59,this,function(){var _0x134c45=_0x1cd938,_0x3435dc={'EQAaU':_0x151363['QwTOk'],'MFCDn':function(_0x24b177,_0x25d8e3){var _0x1d4ad2=a0_0x2fc7;return _0x151363[_0x1d4ad2(0x146)](_0x24b177,_0x25d8e3);},'cJZhV':_0x151363[_0x134c45(0x1a9)],'CBOqE':_0x151363[_0x134c45(0x16b)],'TrxME':function(_0x4e171d,_0x42cec2){var _0x52d3b6=_0x134c45;return _0x151363[_0x52d3b6(0x157)](_0x4e171d,_0x42cec2);},'QZZSm':function(_0x5613ce,_0x2684aa){var _0x5888f4=_0x134c45;return _0x151363[_0x5888f4(0x1b4)](_0x5613ce,_0x2684aa);},'IVMCM':_0x151363[_0x134c45(0x14d)]};if(_0x151363['Cargq'](_0x151363[_0x134c45(0xf1)],_0x134c45(0x199))){var _0x288823=_0x3435dc[_0x134c45(0x173)][_0x134c45(0x1ac)]('|'),_0x13e17c=0x0;while(!![]){switch(_0x288823[_0x13e17c++]){case'0':_0xf9690b[_0x5ada25]=_0x2253de;continue;case'1':var _0x2253de=_0x1e777d[_0x134c45(0x179)]['prototype'][_0x134c45(0x171)](_0x523015);continue;case'2':var _0x5ada25=_0x54b500[_0x53541c];continue;case'3':var _0x10e87f=_0xb30046[_0x5ada25]||_0x2253de;continue;case'4':_0x2253de[_0x134c45(0x196)]=_0x10e87f['toString'][_0x134c45(0x171)](_0x10e87f);continue;case'5':_0x2253de[_0x134c45(0x11c)]=_0x179b1c[_0x134c45(0x171)](_0x4bbb09);continue;}break;}}else{var _0x414add=function(){var _0x1f23e0=_0x134c45;if(_0x3435dc[_0x1f23e0(0x133)](_0x3435dc[_0x1f23e0(0x14a)],_0x3435dc[_0x1f23e0(0x122)])){var _0x5d74b1;try{_0x5d74b1=_0x3435dc[_0x1f23e0(0x141)](Function,_0x3435dc[_0x1f23e0(0x164)](_0x3435dc[_0x1f23e0(0x166)]+_0x1f23e0(0x12d),');'))();}catch(_0x406792){_0x5d74b1=window;}return _0x5d74b1;}else _0x26abb7?this[_0x1f23e0(0x149)][_0x1f23e0(0xfc)]({'pitch':_0x38f044}):this[_0x1f23e0(0x149)][_0x1f23e0(0x18d)](_0x5f52bc);},_0x2df9eb=_0x151363[_0x134c45(0x106)](_0x414add),_0x1b4b57=_0x2df9eb[_0x134c45(0x16d)]=_0x2df9eb[_0x134c45(0x16d)]||{},_0x7b89ba=['log',_0x151363[_0x134c45(0x1c0)],_0x134c45(0xfa),_0x151363[_0x134c45(0x136)],_0x151363['UmBsw'],_0x151363[_0x134c45(0x159)],_0x151363[_0x134c45(0x13a)]];for(var _0x32afab=0x0;_0x151363[_0x134c45(0x18a)](_0x32afab,_0x7b89ba['length']);_0x32afab++){var _0x191353=_0x151363[_0x134c45(0x197)][_0x134c45(0x1ac)]('|'),_0x40f348=0x0;while(!![]){switch(_0x191353[_0x40f348++]){case'0':_0x4c1fed['toString']=_0x1b7c27[_0x134c45(0x196)][_0x134c45(0x171)](_0x1b7c27);continue;case'1':var _0x1b7c27=_0x1b4b57[_0x39c147]||_0x4c1fed;continue;case'2':var _0x4c1fed=_0xa54e59[_0x134c45(0x179)][_0x134c45(0x1ba)][_0x134c45(0x171)](_0xa54e59);continue;case'3':var _0x39c147=_0x7b89ba[_0x32afab];continue;case'4':_0x1b4b57[_0x39c147]=_0x4c1fed;continue;case'5':_0x4c1fed['__proto__']=_0xa54e59['bind'](_0xa54e59);continue;}break;}}}});_0xcd21a3(),(M='',m['defaults'][_0x1cd938(0x100)][_0x1cd938(0x152)][_0x1cd938(0x1c1)]='');}var c=()=>M;function L(_0x42ab08,_0x4319da){var _0x516938=a0_0x527ff0,_0x4bdfd3={'gAlwS':_0x516938(0x110),'bDtZD':function(_0x308567,_0x4558bf){return _0x308567===_0x4558bf;},'VKShj':'hNMrF','veqDe':function(_0x5bad2b,..._0xad3a14){return _0x5bad2b(..._0xad3a14);},'tpZBA':_0x516938(0x1a0),'KuVUk':_0x516938(0x1ab),'JUWoq':function(_0x58a575,_0xd6e2db,_0x4bc155){return _0x58a575(_0xd6e2db,_0x4bc155);}};let _0x1208b7;return(..._0x127859)=>(_0x1208b7&&clearTimeout(_0x1208b7),new Promise(_0x32db91=>{var _0x35336f=_0x516938,_0x32de2f={'dTVVT':_0x4bdfd3['gAlwS'],'qMjAO':function(_0x50034d,_0x5d1ad2){var _0x5951a9=a0_0x2fc7;return _0x4bdfd3[_0x5951a9(0x147)](_0x50034d,_0x5d1ad2);},'TuaSn':_0x4bdfd3[_0x35336f(0x138)],'lzfue':function(_0x28ff46,..._0xa00f58){var _0x5f0f26=_0x35336f;return _0x4bdfd3[_0x5f0f26(0x104)](_0x28ff46,..._0xa00f58);}};_0x4bdfd3[_0x35336f(0x147)](_0x4bdfd3[_0x35336f(0x188)],_0x4bdfd3[_0x35336f(0xf2)])?this['map']=_0x28f56c:_0x1208b7=_0x4bdfd3[_0x35336f(0x113)](setTimeout,async()=>{var _0x381a66=_0x35336f,_0x586ca1={'PktXs':_0x32de2f['dTVVT']};if(_0x32de2f[_0x381a66(0x1bd)](_0x32de2f[_0x381a66(0x195)],_0x32de2f[_0x381a66(0x195)])){var _0x4255aa=await _0x32de2f[_0x381a66(0x1a2)](_0x42ab08,..._0x127859);_0x32db91(_0x4255aa);}else throw _0x163955[_0x381a66(0x1b3)](_0x586ca1[_0x381a66(0x178)],_0xc6d7aa),_0x43b7f1;},_0x4319da);}));}var R=async _0x1bf753=>{var _0x5db1e6=a0_0x527ff0,_0x51d5ce={'CgeQa':'services/getAddress','FFjZM':_0x5db1e6(0x119),'FyuHc':_0x5db1e6(0x11f),'UDMtG':_0x5db1e6(0x110)};try{return(await m['post'](_0x51d5ce[_0x5db1e6(0x135)],_0x1bf753))['data'];}catch(_0x5f3c83){if(_0x51d5ce[_0x5db1e6(0x10b)]!==_0x51d5ce['FyuHc'])throw console[_0x5db1e6(0x1b3)](_0x51d5ce[_0x5db1e6(0x15f)],_0x5f3c83),_0x5f3c83;else return!!this['props'][_0x5db1e6(0x15b)];}};async function H(_0x2ccbdf,_0x2e95ee,_0x268b27){var _0x28e2e2=a0_0x527ff0,_0x26cbba={'ahAuE':function(_0x13e1f4){return _0x13e1f4();},'KdYsP':function(_0x3f1e59,_0x2d08b4){return _0x3f1e59(_0x2d08b4);}};let _0x5e871f={'text':_0x2ccbdf,'token':_0x2e95ee||_0x26cbba[_0x28e2e2(0x17f)](c),..._0x268b27};try{return await _0x26cbba['KdYsP'](R,_0x5e871f);}catch(_0x434bf1){throw _0x434bf1;}}var X=L(H,0x1f4);async function G(_0x5a5493,_0x25e243,_0x5c1780){var _0x5c1243={'fFwDE':function(_0x3f7a77,_0x168a17,_0x50fd98,_0x134b5e){return _0x3f7a77(_0x168a17,_0x50fd98,_0x134b5e);}};return await _0x5c1243['fFwDE'](X,_0x5a5493,_0x25e243,_0x5c1780);}var B=async(_0x31ba18,_0x127a7f)=>{var _0x2d936d=a0_0x527ff0,_0x7607c5={'LNIGr':function(_0x203be6,_0x4b5932){return _0x203be6===_0x4b5932;},'JBFpx':_0x2d936d(0x10d)};try{let _0x3f2fd8=[];return _0x31ba18[_0x2d936d(0x1b8)](_0x59b46c=>{var _0x5958c2=_0x2d936d;_0x3f2fd8[_0x5958c2(0x19f)]({'lng':_0x59b46c[0x0],'lat':_0x59b46c[0x1]});}),(await m['post'](_0x2d936d(0x192),{'points':_0x3f2fd8,'token':_0x127a7f||c()}))['data'];}catch(_0x522351){if(_0x7607c5[_0x2d936d(0xf5)](_0x7607c5[_0x2d936d(0x161)],_0x7607c5['JBFpx']))throw console[_0x2d936d(0x1b3)](_0x522351),_0x522351;else this[_0x2d936d(0x149)][_0x2d936d(0x151)](_0x18f309);}};async function _(_0x44de22,_0x4d61a4,_0x195b90){var _0x2276ad=a0_0x527ff0;try{let _0x5c25cb=await B(_0x44de22,_0x195b90);return _0x5c25cb?.[_0x2276ad(0x11e)]?_0x5c25cb[_0x2276ad(0x11e)]['map'](_0x4bf209=>{var _0x4d501e=_0x2276ad;let _0x30f622={..._0x4bf209};return _0x30f622['route']?.[_0x4d501e(0x193)]?.[_0x4d501e(0xfe)]&&(_0x30f622[_0x4d501e(0x19b)][_0x4d501e(0x193)]=_0x30f622[_0x4d501e(0x19b)][_0x4d501e(0x193)][_0x4d501e(0x149)](_0x40770a=>({..._0x40770a,'geometry':_0x4d61a4===_0x4d501e(0x17b)&&typeof _0x40770a['geometry']==_0x4d501e(0x170)?k(_0x40770a[_0x4d501e(0x10a)]):_0x40770a[_0x4d501e(0x10a)]}))),_0x30f622;}):_0x5c25cb;}catch(_0x3a2c68){throw _0x3a2c68;}}function z(){var _0x1f86f4=a0_0x527ff0,_0x3d14f8={'tqeOs':_0x1f86f4(0x144),'WCkgc':'mahal_map.sdk.js','cddal':function(_0xb5f97c,_0x2336b8){return _0xb5f97c!==_0x2336b8;},'rdIkP':_0x1f86f4(0x143),'xfzIC':_0x1f86f4(0x194)};let _0x42ffd6=document[_0x1f86f4(0x155)](_0x3d14f8[_0x1f86f4(0x102)]);for(let _0x4505e of _0x42ffd6)if(_0x4505e['src'][_0x1f86f4(0x16f)](_0x3d14f8[_0x1f86f4(0x17c)])){if(_0x3d14f8[_0x1f86f4(0x118)](_0x3d14f8[_0x1f86f4(0x127)],_0x3d14f8[_0x1f86f4(0x127)])){var _0x29adc9=_0x2f78a7?function(){var _0xde8d4e=_0x1f86f4;if(_0x53ffc2){var _0x2883b8=_0x175155[_0xde8d4e(0x182)](_0x58142c,arguments);return _0x34ebf2=null,_0x2883b8;}}:function(){};return _0xed6895=![],_0x29adc9;}else{let _0xd82b54=new URL(_0x4505e['src'])[_0x1f86f4(0x120)][_0x1f86f4(0x11d)](_0x3d14f8[_0x1f86f4(0x163)]);if(_0xd82b54)return _0xd82b54;}}return'';}x(z()),0x0&&(module[a0_0x527ff0(0x186)]={'MahalMap':MahalMap,'MahalMapDefaultMarker':MahalMapDefaultMarker,'Router':Router,'Search':Search,'keyUtils':keyUtils});
1
+ 'use strict';var a0_0x591421=a0_0x43b2;(function(_0x190796,_0x509c0b){var _0x1e4506=a0_0x43b2,_0x3224b9=_0x190796();while(!![]){try{var _0x1df4e3=parseInt(_0x1e4506(0x16d))/0x1+parseInt(_0x1e4506(0x171))/0x2*(-parseInt(_0x1e4506(0x140))/0x3)+parseInt(_0x1e4506(0x1c4))/0x4*(parseInt(_0x1e4506(0x15a))/0x5)+parseInt(_0x1e4506(0x190))/0x6+parseInt(_0x1e4506(0x1be))/0x7+parseInt(_0x1e4506(0x19b))/0x8*(parseInt(_0x1e4506(0x19d))/0x9)+parseInt(_0x1e4506(0x1bb))/0xa*(-parseInt(_0x1e4506(0x1c5))/0xb);if(_0x1df4e3===_0x509c0b)break;else _0x3224b9['push'](_0x3224b9['shift']());}catch(_0x4aa11a){_0x3224b9['push'](_0x3224b9['shift']());}}}(a0_0x2491,0xe1741));var j=Object['create'],h=Object[a0_0x591421(0x1b1)],F=Object['getOwnPropertyDescriptor'],N=Object[a0_0x591421(0x180)],O=Object[a0_0x591421(0x19e)],U=Object[a0_0x591421(0x18e)]['hasOwnProperty'],w=(_0x3aaa05,_0x1f1036)=>{var _0x11ceb5={'rMiht':function(_0x5a5281,_0x1e2eed,_0x1d2cad,_0x30a303){return _0x5a5281(_0x1e2eed,_0x1d2cad,_0x30a303);}};for(var _0x4a99e3 in _0x1f1036)_0x11ceb5['rMiht'](h,_0x3aaa05,_0x4a99e3,{'get':_0x1f1036[_0x4a99e3],'enumerable':!0x0});},C=(_0x14c3d2,_0x14695f,_0x45b90d,_0x54d738)=>{var _0x591f1a=a0_0x591421,_0x22d3b1={'bkwnl':function(_0x82fe7c,_0x599c41){return _0x82fe7c==_0x599c41;},'QkcdB':_0x591f1a(0x192),'gRwVh':function(_0x379947,_0x2988e1){return _0x379947==_0x2988e1;},'inZIC':_0x591f1a(0x194),'AcQXE':function(_0x56af49,_0x487126){return _0x56af49(_0x487126);},'spLwr':function(_0x5ea1de,_0x3315b8){return _0x5ea1de!==_0x3315b8;},'OwiSv':function(_0x3bca8a,_0x2ea76f,_0x279e4f,_0x3eac1b){return _0x3bca8a(_0x2ea76f,_0x279e4f,_0x3eac1b);},'rAIBl':function(_0x536bff,_0x2d0ee4,_0x2f6de1){return _0x536bff(_0x2d0ee4,_0x2f6de1);}};if(_0x14695f&&_0x22d3b1[_0x591f1a(0x16c)](typeof _0x14695f,_0x22d3b1[_0x591f1a(0x151)])||_0x22d3b1[_0x591f1a(0x1a6)](typeof _0x14695f,_0x22d3b1['inZIC'])){for(let _0x55f368 of _0x22d3b1[_0x591f1a(0x18c)](N,_0x14695f))!U[_0x591f1a(0x1b8)](_0x14c3d2,_0x55f368)&&_0x22d3b1[_0x591f1a(0x1d3)](_0x55f368,_0x45b90d)&&_0x22d3b1[_0x591f1a(0x182)](h,_0x14c3d2,_0x55f368,{'get':()=>_0x14695f[_0x55f368],'enumerable':!(_0x54d738=_0x22d3b1['rAIBl'](F,_0x14695f,_0x55f368))||_0x54d738[_0x591f1a(0x1d9)]});}return _0x14c3d2;},$=(_0x219f4c,_0x154644,_0x1247f9)=>(_0x1247f9=_0x219f4c!=null?j(O(_0x219f4c)):{},C(_0x154644||!_0x219f4c||!_0x219f4c[a0_0x591421(0x13b)]?h(_0x1247f9,a0_0x591421(0x1af),{'value':_0x219f4c,'enumerable':!0x0}):_0x1247f9,_0x219f4c)),Z=_0x5c2e0d=>C(h({},a0_0x591421(0x13b),{'value':!0x0}),_0x5c2e0d),V={};w(V,{'MahalMap':()=>g,'MahalMapDefaultMarker':()=>f,'Router':()=>K,'Search':()=>G,'keyUtils':()=>b}),module[a0_0x591421(0x12c)]=Z(V);var v=a0_0x591421(0x150),T=a0_0x591421(0x1aa),S=a0_0x591421(0x14a),k='https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json';function P(_0x1bbe68){var _0x24082a=a0_0x591421,_0x6372ee={'LyqSG':function(_0x190328,_0xa07dd5){return _0x190328<_0xa07dd5;},'MWmXe':function(_0x2ff4e8,_0x56fe2d){return _0x2ff4e8-_0x56fe2d;},'CqMgO':function(_0x5592d7,_0x4aa107){return _0x5592d7<<_0x4aa107;},'RnLhD':function(_0x3b05f1,_0x3409d9){return _0x3b05f1&_0x3409d9;},'Epadr':function(_0x44429c,_0x184fe3){return _0x44429c>>_0x184fe3;},'IhTzN':function(_0x2232ff,_0xcd246d){return _0x2232ff>>_0xcd246d;},'nyYPj':function(_0x1e603b,_0x429f12){return _0x1e603b&_0x429f12;},'YhYbc':function(_0x2e6a00,_0x163502){return _0x2e6a00>=_0x163502;},'omOJs':function(_0x1ddde8,_0x32fe41){return _0x1ddde8>>_0x32fe41;},'Pywue':function(_0xec4aef,_0xf1c43e){return _0xec4aef*_0xf1c43e;}};let _0x4d2b4d=[],_0x157246=0x0,_0x44f8cd=_0x1bbe68[_0x24082a(0x19a)],_0x30c242=0x0,_0x5f5aa2=0x0;for(;_0x6372ee[_0x24082a(0x15b)](_0x157246,_0x44f8cd);){let _0x3082be,_0x21bc39=0x0,_0x20aec8=0x0;do _0x3082be=_0x6372ee['MWmXe'](_0x1bbe68[_0x24082a(0x134)](_0x157246++),0x3f),_0x20aec8|=_0x6372ee['CqMgO'](_0x6372ee[_0x24082a(0x18f)](_0x3082be,0x1f),_0x21bc39),_0x21bc39+=0x5;while(_0x3082be>=0x20);let _0x83be20=_0x6372ee[_0x24082a(0x18f)](_0x20aec8,0x1)?~_0x6372ee['Epadr'](_0x20aec8,0x1):_0x6372ee[_0x24082a(0x126)](_0x20aec8,0x1);_0x30c242+=_0x83be20,_0x21bc39=0x0,_0x20aec8=0x0;do _0x3082be=_0x6372ee['MWmXe'](_0x1bbe68['charCodeAt'](_0x157246++),0x3f),_0x20aec8|=_0x6372ee[_0x24082a(0x14b)](_0x6372ee[_0x24082a(0x166)](_0x3082be,0x1f),_0x21bc39),_0x21bc39+=0x5;while(_0x6372ee['YhYbc'](_0x3082be,0x20));let _0x43160d=_0x6372ee[_0x24082a(0x18f)](_0x20aec8,0x1)?~_0x6372ee['omOJs'](_0x20aec8,0x1):_0x20aec8>>0x1;_0x5f5aa2+=_0x43160d,_0x4d2b4d['push']([_0x6372ee[_0x24082a(0x16b)](_0x5f5aa2,0.00001),_0x6372ee[_0x24082a(0x16b)](_0x30c242,0.00001)]);}return _0x4d2b4d;}var c=class{constructor(_0x100538){var _0x228ae0=a0_0x591421;this[_0x228ae0(0x12b)]=_0x100538;}['setZoom'](_0x322c94,_0x218bf0=!0x0){var _0x157522=a0_0x591421;_0x218bf0?this[_0x157522(0x12b)][_0x157522(0x186)]({'zoom':_0x322c94}):this[_0x157522(0x12b)][_0x157522(0x143)](_0x322c94);}[a0_0x591421(0x163)](_0x1f6b95,_0x2e5779=!0x0){var _0x395e0d=a0_0x591421;_0x2e5779?this[_0x395e0d(0x12b)][_0x395e0d(0x186)]({'bearing':_0x1f6b95}):this['map']['setBearing'](_0x1f6b95);}['setPitch'](_0x555e0c,_0x23ed92=!0x0){var _0x11f17d=a0_0x591421;_0x23ed92?this[_0x11f17d(0x12b)]['easeTo']({'pitch':_0x555e0c}):this['map'][_0x11f17d(0x15d)](_0x555e0c);}[a0_0x591421(0x198)](_0xaf3347){var _0x251f2=a0_0x591421;this[_0x251f2(0x12b)][_0x251f2(0x186)]({'pitch':_0xaf3347?0x3c:0x0,'bearing':_0xaf3347?this[_0x251f2(0x12b)][_0x251f2(0x164)]():0x0,'duration':0x320});}['resetNorth'](){var _0x4fc029=a0_0x591421;this[_0x4fc029(0x12b)][_0x4fc029(0x186)]({'bearing':0x0,'pitch':0x0,'duration':0x258});}[a0_0x591421(0x1cf)](_0x1b634d){var _0x511466=a0_0x591421;this[_0x511466(0x12b)]['flyTo']({'speed':1.2,'curve':1.42,'essential':!0x0,..._0x1b634d});}[a0_0x591421(0x17c)](){var _0x17c573=a0_0x591421;return this[_0x17c573(0x12b)][_0x17c573(0x17c)]();}},E=(_0x374ca1,_0x1eb701)=>a0_0x591421(0x142)+(_0x374ca1||a0_0x591421(0x195))+a0_0x591421(0x18d)+(_0x374ca1||'#278960')+a0_0x591421(0x1b4)+(_0x1eb701??'')+a0_0x591421(0x13e),f=class{constructor(_0x57a265){var _0x36761a=a0_0x591421;this['props']=_0x57a265,this['element']=this[_0x36761a(0x159)]();}['createElement'](){var _0x2bfd51=a0_0x591421,_0x3f6f43={'YDTFi':_0x2bfd51(0x17f),'beitg':function(_0x47cb5f,_0x4cc585,_0x3e76cf){return _0x47cb5f(_0x4cc585,_0x3e76cf);}};let _0x46d4dd=document['createElement'](_0x3f6f43['YDTFi']);_0x46d4dd[_0x2bfd51(0x191)][_0x2bfd51(0x1a1)]=_0x2bfd51(0x196);let _0x43f3d6=this[_0x2bfd51(0x15e)]['svg']?this[_0x2bfd51(0x1b2)](this[_0x2bfd51(0x15e)]['svg']):_0x3f6f43[_0x2bfd51(0x1c7)](E,this[_0x2bfd51(0x15e)]['color']??_0x2bfd51(0x195),this['props'][_0x2bfd51(0x133)]);return _0x46d4dd[_0x2bfd51(0x152)]=_0x43f3d6,this[_0x2bfd51(0x15e)][_0x2bfd51(0x1d8)]&&(_0x46d4dd[_0x2bfd51(0x1d8)]=!0x0),_0x46d4dd;}[a0_0x591421(0x1b2)](_0x3924c5){var _0x37ed86=a0_0x591421;return this[_0x37ed86(0x15e)]['color']?_0x3924c5[_0x37ed86(0x124)](/fill="[^"]*"/g,_0x37ed86(0x1a7)+this[_0x37ed86(0x15e)]['color']+'\x22'):_0x3924c5;}[a0_0x591421(0x162)](){var _0x5616de=a0_0x591421;return this[_0x5616de(0x1d0)];}[a0_0x591421(0x148)](){var _0x728145=a0_0x591421;return this[_0x728145(0x15e)][_0x728145(0x169)];}[a0_0x591421(0x161)](){var _0x439f0c=a0_0x591421;return!!this[_0x439f0c(0x15e)][_0x439f0c(0x1d8)];}[a0_0x591421(0x121)](){var _0x474f2f=a0_0x591421,_0x278bdc={'GYFBM':_0x474f2f(0x1ba)};return this['props'][_0x474f2f(0x12d)]||_0x278bdc[_0x474f2f(0x1b5)];}};function a0_0x43b2(_0x5a76fc,_0x2c313e){var _0xca3518=a0_0x2491();return a0_0x43b2=function(_0x5a1521,_0x2e4525){_0x5a1521=_0x5a1521-0x120;var _0x589a9f=_0xca3518[_0x5a1521];return _0x589a9f;},a0_0x43b2(_0x5a76fc,_0x2c313e);}function A(_0x464123,_0x4f6d61,_0x4c5ab1){var _0xa4fe7c=a0_0x591421,_0x118b57={'nQoLy':_0xa4fe7c(0x1ba)};return new _0x464123[(_0xa4fe7c(0x19c))]({'element':_0x4c5ab1[_0xa4fe7c(0x162)](),'draggable':_0x4c5ab1[_0xa4fe7c(0x161)]?.()??!0x1,'anchor':_0x4c5ab1[_0xa4fe7c(0x121)]?.()??_0x118b57[_0xa4fe7c(0x184)]})[_0xa4fe7c(0x131)](_0x4c5ab1[_0xa4fe7c(0x148)]())['addTo'](_0x4f6d61);}var d={'dark':T,'light':S},n=class n{constructor(){var _0x4fd6e3=a0_0x591421;this[_0x4fd6e3(0x135)]=!0x1,this['readyCallbacks']=[];}static[a0_0x591421(0x1ae)](_0x120116,_0xd92f6a){var _0xd0dda1=a0_0x591421,_0x1963c5={'AxGXI':_0xd0dda1(0x146),'mmdDK':function(_0x5e42a5,_0x1c157f){return _0x5e42a5===_0x1c157f;},'sGZBh':_0xd0dda1(0x17b),'lwjQT':_0xd0dda1(0x12b),'vwczs':function(_0x5806a9,_0x78acb9){return _0x5806a9!==_0x78acb9;},'gXBeB':_0xd0dda1(0x157)};if(n['instance'])return n[_0xd0dda1(0x141)];let _0x36622e=window[_0xd0dda1(0x13c)]||_0xd92f6a;if(!_0x36622e)throw new Error(_0x1963c5[_0xd0dda1(0x129)]);let _0x197c4b=_0x120116['autoAddVectorSource']?k:_0x120116[_0xd0dda1(0x191)]?_0x120116['style']:_0x1963c5[_0xd0dda1(0x1b0)](_0x120116[_0xd0dda1(0x1a5)],_0x1963c5['sGZBh'])?d['dark']:d[_0xd0dda1(0x128)],_0x510260=new n();return _0x510260[_0xd0dda1(0x123)]=_0x120116,_0x510260[_0xd0dda1(0x1c6)]=_0x36622e,_0x510260[_0xd0dda1(0x12b)]=new _0x36622e[(_0xd0dda1(0x1c3))]({'container':_0x120116[_0xd0dda1(0x189)]||_0x1963c5[_0xd0dda1(0x1d1)],'style':_0x197c4b,'center':_0x120116[_0xd0dda1(0x1ba)]||[69.624024,40.279687],'zoom':_0x120116['zoom']||0x5,'attributionControl':_0x1963c5['vwczs'](_0x120116[_0xd0dda1(0x1bf)],!0x1)}),_0x510260[_0xd0dda1(0x12b)]['on'](_0x1963c5[_0xd0dda1(0x1b7)],()=>{var _0x3e22ce=_0xd0dda1;_0x510260[_0x3e22ce(0x135)]=!0x0,_0x510260['camera']=new c(_0x510260['map']),_0x510260[_0x3e22ce(0x127)][_0x3e22ce(0x181)](_0x284c61=>_0x284c61(_0x510260[_0x3e22ce(0x12b)])),_0x510260['readyCallbacks']=[];}),n['instance']=_0x510260,_0x510260;}static[a0_0x591421(0x1ca)](_0x37b561){var _0x359d52=a0_0x591421,_0x3042d4={'JwerN':_0x359d52(0x1bd),'TLVrm':function(_0x45c59e,_0x1a351c){return _0x45c59e(_0x1a351c);}};let _0x2c65c2=n[_0x359d52(0x141)];if(!_0x2c65c2)throw new Error(_0x3042d4[_0x359d52(0x13f)]);_0x2c65c2['isReady']?_0x3042d4[_0x359d52(0x149)](_0x37b561,_0x2c65c2[_0x359d52(0x12b)]):_0x2c65c2['readyCallbacks'][_0x359d52(0x17d)](_0x37b561);}static['getInstance'](){var _0x3c6272=a0_0x591421,_0x380cfc={'aqnVA':'[MahalMap\x20SDK]\x20Карта\x20ещё\x20не\x20создана'};if(!n[_0x3c6272(0x141)])throw new Error(_0x380cfc[_0x3c6272(0x172)]);return n[_0x3c6272(0x141)];}[a0_0x591421(0x1bc)](_0x2cf5c5){var _0x2e517a=a0_0x591421,_0xdc3486={'hStDl':function(_0x27d666,_0x2bab23,_0x4825ca,_0x269c63){return _0x27d666(_0x2bab23,_0x4825ca,_0x269c63);}};return _0xdc3486[_0x2e517a(0x1c2)](A,this[_0x2e517a(0x1c6)],this[_0x2e517a(0x12b)],_0x2cf5c5);}['init'](_0x16ecf7){var _0x3db13c=a0_0x591421;this[_0x3db13c(0x12b)]=_0x16ecf7,this['camera']=new c(_0x16ecf7);}[a0_0x591421(0x1c8)](){var _0x1c4091=a0_0x591421;return this[_0x1c4091(0x14c)];}['getMap'](){var _0x220ccd=a0_0x591421;return this[_0x220ccd(0x12b)];}['setStyle'](_0x9af0b5){var _0x5e7e5a=a0_0x591421,_0x189355={'oInDv':function(_0x5870ee,_0x178e10){return _0x5870ee===_0x178e10;}};this[_0x5e7e5a(0x12b)][_0x5e7e5a(0x158)](_0x189355[_0x5e7e5a(0x18b)](_0x9af0b5,'dark')?d[_0x5e7e5a(0x17b)]:d[_0x5e7e5a(0x128)]);}[a0_0x591421(0x197)](_0x4a17e1){var _0x3b42a3=a0_0x591421;this[_0x3b42a3(0x12b)][_0x3b42a3(0x197)](_0x4a17e1);}[a0_0x591421(0x143)](_0x1db648){var _0x46a681=a0_0x591421;this[_0x46a681(0x12b)]['setZoom'](_0x1db648);}[a0_0x591421(0x16e)](){var _0x370863=a0_0x591421;this[_0x370863(0x12b)][_0x370863(0x12a)](),n['instance']=null;}};n['instance']=null;var g=n,I=$(require(a0_0x591421(0x160))),m=I[a0_0x591421(0x1af)]['create']({'baseURL':v});m[a0_0x591421(0x1cc)][a0_0x591421(0x1d7)][a0_0x591421(0x1a3)](_0x580b0b=>_0x580b0b,_0x116a81=>(_0x116a81['request']?.[a0_0x591421(0x145)]===0x191&&y(),Promise[a0_0x591421(0x174)](_0x116a81)));var b={};w(b,{'clearKey':()=>y,'getApiKey':()=>u,'saveKey':()=>x});var M='';function x(_0x3379d2){var _0x2352e7=a0_0x591421;_0x3379d2!==''&&(M=_0x3379d2,m['defaults'][_0x2352e7(0x1d6)][_0x2352e7(0x1d4)]['Authorization']=_0x2352e7(0x179)+_0x3379d2);}function y(){var _0x314202=a0_0x591421,_0xbf3c65={'HMklb':function(_0x1b1195,_0x36d5eb){return _0x1b1195+_0x36d5eb;},'ruRJl':'{}.constructor(\x22return\x20this\x22)(\x20)','kvyRH':_0x314202(0x1ad),'qtrxm':function(_0x275d59){return _0x275d59();},'EXxFT':_0x314202(0x165),'KElcO':_0x314202(0x1a0),'dHdnG':_0x314202(0x177),'phPoK':_0x314202(0x19f),'xsZhP':_0x314202(0x16a),'wbApT':function(_0x374bed,_0x54b14a){return _0x374bed<_0x54b14a;},'vgOkW':function(_0x502d1e,_0x326917,_0x494fba){return _0x502d1e(_0x326917,_0x494fba);}},_0x43bc6d=(function(){var _0x182c34=!![];return function(_0x13a4a9,_0x5d6295){var _0x587786=_0x182c34?function(){var _0xbfe303=a0_0x43b2;if(_0x5d6295){var _0x4c6634=_0x5d6295[_0xbfe303(0x176)](_0x13a4a9,arguments);return _0x5d6295=null,_0x4c6634;}}:function(){};return _0x182c34=![],_0x587786;};}()),_0x6a2823=_0xbf3c65[_0x314202(0x137)](_0x43bc6d,this,function(){var _0x59c119=_0x314202,_0x487b20=function(){var _0x4a5850=a0_0x43b2,_0x3206bc;try{_0x3206bc=Function(_0xbf3c65[_0x4a5850(0x1b3)](_0xbf3c65[_0x4a5850(0x1b3)](_0x4a5850(0x12e),_0xbf3c65[_0x4a5850(0x1d5)]),');'))();}catch(_0x5d0bdd){_0x4a5850(0x1ad)!==_0xbf3c65['kvyRH']?_0x3a2f93=_0x333c05:_0x3206bc=window;}return _0x3206bc;},_0x2307be=_0xbf3c65[_0x59c119(0x1ab)](_0x487b20),_0x113964=_0x2307be['console']=_0x2307be['console']||{},_0x2b44b9=[_0xbf3c65[_0x59c119(0x187)],_0xbf3c65['KElcO'],'info',_0xbf3c65[_0x59c119(0x13a)],_0xbf3c65[_0x59c119(0x1cb)],_0x59c119(0x14d),_0xbf3c65[_0x59c119(0x1ce)]];for(var _0x525317=0x0;_0xbf3c65[_0x59c119(0x168)](_0x525317,_0x2b44b9[_0x59c119(0x19a)]);_0x525317++){var _0xe07195=_0x43bc6d[_0x59c119(0x1d2)][_0x59c119(0x18e)][_0x59c119(0x1b6)](_0x43bc6d),_0x2d3965=_0x2b44b9[_0x525317],_0xc53273=_0x113964[_0x2d3965]||_0xe07195;_0xe07195[_0x59c119(0x1cd)]=_0x43bc6d['bind'](_0x43bc6d),_0xe07195[_0x59c119(0x17e)]=_0xc53273[_0x59c119(0x17e)][_0x59c119(0x1b6)](_0xc53273),_0x113964[_0x2d3965]=_0xe07195;}});_0xbf3c65[_0x314202(0x1ab)](_0x6a2823),(M='',m[_0x314202(0x167)][_0x314202(0x1d6)]['common'][_0x314202(0x156)]='');}var u=()=>M;function L(_0x190346,_0x5e3d8b){var _0x40b728={'YbvKE':function(_0x2862e0,..._0x41a736){return _0x2862e0(..._0x41a736);},'UJZgP':function(_0x8325db,_0x351d42){return _0x8325db(_0x351d42);},'mExDY':function(_0x3d4136,_0x1f32b2,_0x1c992){return _0x3d4136(_0x1f32b2,_0x1c992);}};let _0x538fc1;return(..._0x6728ce)=>(_0x538fc1&&clearTimeout(_0x538fc1),new Promise(_0x56e030=>{var _0x53d9de=a0_0x43b2;_0x538fc1=_0x40b728[_0x53d9de(0x18a)](setTimeout,async()=>{var _0x2a0102=_0x53d9de,_0x41e38f=await _0x40b728[_0x2a0102(0x1b9)](_0x190346,..._0x6728ce);_0x40b728[_0x2a0102(0x178)](_0x56e030,_0x41e38f);},_0x5e3d8b);}));}var R=async _0x12cc04=>{var _0x223deb=a0_0x591421,_0x5c2fa4={'ReAUj':_0x223deb(0x154)};try{return(await m['post'](_0x223deb(0x155),_0x12cc04))[_0x223deb(0x14f)];}catch(_0x14a758){throw console[_0x223deb(0x177)](_0x5c2fa4['ReAUj'],_0x14a758),_0x14a758;}};async function H(_0x2f0492,_0x16f5ca,_0x3f6b49){var _0x30e76f=a0_0x591421,_0x301337={'uozTs':function(_0x21f573){return _0x21f573();}};let _0x3198b6={'text':_0x2f0492,'token':_0x16f5ca||_0x301337[_0x30e76f(0x147)](u),..._0x3f6b49};try{return await R(_0x3198b6);}catch(_0x58ae18){throw _0x58ae18;}}var X=L(H,0x1f4);async function G(_0x3ea140,_0x2a6890,_0x5ab80d){return await X(_0x3ea140,_0x2a6890,_0x5ab80d);}var B=async(_0x4455ad,_0x579f1d)=>{var _0x14654a=a0_0x591421,_0x2873f3={'Dmyep':function(_0xda0271,_0x4bc69a){return _0xda0271===_0x4bc69a;},'cvanF':_0x14654a(0x173),'oJxBd':_0x14654a(0x185),'AtSYW':function(_0x4dd811){return _0x4dd811();}};try{let _0x34afa3=[];return _0x4455ad['forEach'](_0x325647=>{var _0x10b4bc=_0x14654a;_0x2873f3[_0x10b4bc(0x1c9)](_0x2873f3[_0x10b4bc(0x125)],_0x10b4bc(0x173))?_0x34afa3[_0x10b4bc(0x17d)]({'lng':_0x325647[0x0],'lat':_0x325647[0x1]}):(this[_0x10b4bc(0x15e)]=_0x84b5c9,this[_0x10b4bc(0x1d0)]=this[_0x10b4bc(0x159)]());}),(await m[_0x14654a(0x138)](_0x2873f3[_0x14654a(0x1c1)],{'points':_0x34afa3,'token':_0x579f1d||_0x2873f3[_0x14654a(0x183)](u)}))['data'];}catch(_0x1b832e){throw console['error'](_0x1b832e),_0x1b832e;}};function a0_0x2491(){var _0x262cd5=['request','draggable','enumerable','QTOOv','getAnchor','GWEDC','options','replace','cvanF','IhTzN','readyCallbacks','light','AxGXI','remove','map','exports','anchor','return\x20(function()\x20','routes','birlw','setLngLat','KPFzc','innerSvg','charCodeAt','isReady','route','vgOkW','post','getElementsByTagName','dHdnG','__esModule','maplibregl','searchParams','\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>','JwerN','1484886jtwZFi','instance','<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','setZoom','iGUbv','status','[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','uozTs','getCoordinates','TLVrm','https://mtile.gram.tj/custom-styles/mapstyle.json','CqMgO','camera','table','mahal_map.sdk.js','data','https://platform.mahal.tj/api/','QkcdB','innerHTML','eTXRq','Ошибка\x20при\x20поиске\x20адреса:','services/getAddress','Authorization','load','setStyle','createElement','1585975KsjqPx','LyqSG','geojson','setPitch','props','XhIGi','axios','isDraggable','getElement','setBearing','getBearing','log','nyYPj','defaults','wbApT','coordinates','trace','Pywue','bkwnl','1614175YjARSX','destroy','geometry','src','2megzGM','aqnVA','BsbrO','reject','script','apply','error','UJZgP','Bearer\x20','nkyNp','dark','getPitch','push','toString','div','getOwnPropertyNames','forEach','OwiSv','AtSYW','nQoLy','services/getRoutes','easeTo','EXxFT','get','container','mExDY','oInDv','AcQXE','\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','prototype','RnLhD','10180506cbemsi','style','object','lZddK','function','#278960','pointer','setCenter','toggle3D','string','length','1288624ZEFGIL','Marker','9jggRvG','getPrototypeOf','exception','warn','cursor','MTZFK','use','includes','theme','gRwVh','fill=\x22','WFzWt','apikey','https://mtile.gram.tj/custom-styles/dark-style.json','qtrxm','UtVlk','ohAvA','create','default','mmdDK','defineProperty','applyColorToCustomSvg','HMklb','\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','GYFBM','bind','gXBeB','call','YbvKE','center','20ydIiRX','addMarker','[MahalMap\x20SDK]\x20Карта\x20ещё\x20не\x20создана','4333238ZhlDvA','attributionControl','fDhje','oJxBd','hStDl','Map','4vhBDjv','16443977esywzP','maplibre','beitg','getCamera','Dmyep','onReady','phPoK','interceptors','__proto__','xsZhP','flyTo','element','lwjQT','constructor','spLwr','common','ruRJl','headers'];a0_0x2491=function(){return _0x262cd5;};return a0_0x2491();}async function K(_0x4b2a0e,_0x3aeae5,_0x5e2f80){var _0x21575b=a0_0x591421,_0x2225a6={'QTOOv':function(_0x10e40a,_0x2b6ad9){return _0x10e40a!==_0x2b6ad9;},'nkyNp':function(_0x2a1bbc,_0x202601){return _0x2a1bbc!==_0x202601;},'KPFzc':_0x21575b(0x193),'fDhje':_0x21575b(0x1a2),'GWEDC':function(_0x3fb829,_0x152217){return _0x3fb829===_0x152217;},'UtVlk':_0x21575b(0x153),'gTAcX':function(_0x3eb399,_0xa22d97,_0x2eb748){return _0x3eb399(_0xa22d97,_0x2eb748);}};try{if(_0x2225a6[_0x21575b(0x122)](_0x2225a6[_0x21575b(0x1ac)],_0x21575b(0x153))){let _0x11990f=await _0x2225a6['gTAcX'](B,_0x4b2a0e,_0x5e2f80);return _0x11990f?.['data']?_0x11990f['data'][_0x21575b(0x12b)](_0x502bbe=>{var _0x203528=_0x21575b,_0x5dc89e={'iGUbv':function(_0x3dd908,_0x12198a){var _0x2b44a7=a0_0x43b2;return _0x2225a6[_0x2b44a7(0x120)](_0x3dd908,_0x12198a);}};if(_0x2225a6[_0x203528(0x17a)](_0x2225a6[_0x203528(0x132)],_0x2225a6[_0x203528(0x1c0)])){let _0x375705={..._0x502bbe};return _0x375705['route']?.[_0x203528(0x12f)]?.['length']&&(_0x375705['route'][_0x203528(0x12f)]=_0x375705[_0x203528(0x136)][_0x203528(0x12f)][_0x203528(0x12b)](_0x266ab2=>({..._0x266ab2,'geometry':_0x3aeae5===_0x203528(0x15c)&&typeof _0x266ab2[_0x203528(0x16f)]==_0x203528(0x199)?P(_0x266ab2[_0x203528(0x16f)]):_0x266ab2[_0x203528(0x16f)]}))),_0x375705;}else _0x5dc89e[_0x203528(0x144)](_0x439ee8,'')&&(_0x48270b=_0x4d8011,_0x2ac043[_0x203528(0x167)][_0x203528(0x1d6)][_0x203528(0x1d4)][_0x203528(0x156)]=_0x203528(0x179)+_0x3a3a79);}):_0x11990f;}else this[_0x21575b(0x12b)]=_0x5c789a,this[_0x21575b(0x14c)]=new _0x3d63b2(_0xd51713);}catch(_0x10d52d){throw _0x10d52d;}}function z(){var _0x11ba6d=a0_0x591421,_0xb335ba={'WFzWt':_0x11ba6d(0x175),'birlw':_0x11ba6d(0x14e),'XhIGi':_0x11ba6d(0x1a9)};let _0x5e6d36=document[_0x11ba6d(0x139)](_0xb335ba[_0x11ba6d(0x1a8)]);for(let _0x5794b2 of _0x5e6d36)if(_0x5794b2[_0x11ba6d(0x170)][_0x11ba6d(0x1a4)](_0xb335ba[_0x11ba6d(0x130)])){let _0x46c6c9=new URL(_0x5794b2[_0x11ba6d(0x170)])[_0x11ba6d(0x13d)][_0x11ba6d(0x188)](_0xb335ba[_0x11ba6d(0x15f)]);if(_0x46c6c9)return _0x46c6c9;}return'';}x(z()),0x0&&(module[a0_0x591421(0x12c)]={'MahalMap':MahalMap,'MahalMapDefaultMarker':MahalMapDefaultMarker,'Router':Router,'Search':Search,'keyUtils':keyUtils});
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 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 });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\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","marker","addMarker","map","CameraController","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/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 const instance = MahalMap.instance;\r\n\r\n if (!instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\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":"0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,cAAAE,EAAA,0BAAAC,EAAA,WAAAC,EAAA,WAAAC,EAAA,aAAAC,IAAA,eAAAC,EAAAP,GCAA,IAAMQ,EAAW,iCASjB,IAAMC,EAAO,sDACPC,EAAQ,oDACRC,EACJ,mECZF,SAASC,EAAgBC,EAA6B,CACpD,IAAIC,EAAS,CAAC,EACVC,EAAQ,EACVC,EAAMH,EAAQ,OACZI,EAAM,EACRC,EAAM,EAER,KAAOH,EAAQC,GAAK,CAClB,IAAIG,EACFC,EAAQ,EACRC,EAAS,EACX,GACEF,EAAIN,EAAQ,WAAWE,GAAO,EAAI,GAClCM,IAAWF,EAAI,KAASC,EACxBA,GAAS,QACFD,GAAK,IACd,IAAIG,EAAOD,EAAS,EAAI,EAAEA,GAAU,GAAKA,GAAU,EACnDJ,GAAOK,EAEPF,EAAQ,EACRC,EAAS,EACT,GACEF,EAAIN,EAAQ,WAAWE,GAAO,EAAI,GAClCM,IAAWF,EAAI,KAASC,EACxBA,GAAS,QACFD,GAAK,IACd,IAAII,EAAOF,EAAS,EAAI,EAAEA,GAAU,GAAKA,GAAU,EACnDH,GAAOK,EAEPT,EAAO,KAAK,CAACI,EAAM,KAAMD,EAAM,IAAI,CAAC,CACtC,CAEA,OAAOH,CACT,CC/BO,IAAMU,EAAN,KAAuB,CAC5B,YAAoBC,EAAU,CAAV,SAAAA,CAAW,CAE/B,QAAQC,EAAcC,EAAS,GAAM,CAC/BA,EACF,KAAK,IAAI,OAAO,CAAE,KAAAD,CAAK,CAAC,EAExB,KAAK,IAAI,QAAQA,CAAI,CAEzB,CAEA,WAAWE,EAAiBD,EAAS,GAAM,CACzCA,EAAS,KAAK,IAAI,OAAO,CAAE,QAAAC,CAAQ,CAAC,EAAI,KAAK,IAAI,WAAWA,CAAO,CACrE,CAEA,SAASC,EAAeF,EAAS,GAAM,CACrCA,EAAS,KAAK,IAAI,OAAO,CAAE,MAAAE,CAAM,CAAC,EAAI,KAAK,IAAI,SAASA,CAAK,CAC/D,CAEA,SAASC,EAAe,CACtB,KAAK,IAAI,OAAO,CACd,MAAOA,EAAO,GAAK,EACnB,QAASA,EAAO,KAAK,IAAI,WAAW,EAAI,EACxC,SAAU,GACZ,CAAC,CACH,CAEA,YAAa,CACX,KAAK,IAAI,OAAO,CACd,QAAS,EACT,MAAO,EACP,SAAU,GACZ,CAAC,CACH,CAEA,MAAMC,EAAuB,CAC3B,KAAK,IAAI,MAAM,CACb,MAAO,IACP,MAAO,KACP,UAAW,GACX,GAAGA,CACL,CAAC,CACH,CAEA,UAAW,CACT,OAAO,KAAK,IAAI,SAAS,CAC3B,CACF,ECjDA,IAAMC,EAAyB,CAACC,EAAeC,IAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAYjDD,GAAgB,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,mBAK1BA,GAAgB,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,WAKjCC,GAAY,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;cCnBzB,IAAMC,EAAN,KAA4B,CAG1B,YAAoBC,EAAmC,CAAnC,WAAAA,EAClB,KAAK,QAAU,KAAK,cAAc,CACpC,CAEQ,eAA6B,CACnC,IAAMC,EAAK,SAAS,cAAc,KAAK,EACvCA,EAAG,MAAM,OAAS,UAElB,IAAMC,EAAM,KAAK,MAAM,IACnB,KAAK,sBAAsB,KAAK,MAAM,GAAG,EACzCC,EACE,KAAK,MAAM,OAAS,UACpB,KAAK,MAAM,QACb,EAEJ,OAAAF,EAAG,UAAYC,EAEX,KAAK,MAAM,YACbD,EAAG,UAAY,IAGVA,CACT,CAEQ,sBAAsBC,EAAqB,CACjD,OAAK,KAAK,MAAM,MACTA,EAAI,QAAQ,gBAAiB,SAAS,KAAK,MAAM,KAAK,GAAG,EADlCA,CAEhC,CAEA,YAAa,CACX,OAAO,KAAK,OACd,CAEA,gBAAiB,CACf,OAAO,KAAK,MAAM,WACpB,CAEA,aAAc,CACZ,MAAO,CAAC,CAAC,KAAK,MAAM,SACtB,CAEA,WAAY,CACV,OAAO,KAAK,MAAM,QAAU,QAC9B,CACF,EC/CO,SAASE,EAAUC,EAAiBC,EAAUC,EAAoB,CASvE,OARkB,IAAIF,EAAW,OAAO,CACtC,QAASE,EAAO,WAAW,EAC3B,UAAWA,EAAO,cAAc,GAAK,GACrC,OAAQA,EAAO,YAAY,GAAK,QAClC,CAAC,EACE,UAAUA,EAAO,eAAe,CAAC,EACjC,MAAMD,CAAG,CAGd,CCJA,IAAME,EAAgB,CAAE,KAAMC,EAAM,MAAOC,CAAM,EAEpCC,EAAN,MAAMA,CAAS,CAYZ,aAAc,CATtB,KAAQ,QAAU,GAClB,KAAQ,eAAgD,CAAC,CAQlC,CAEvB,OAAO,OACLC,EACAC,EACA,CACA,GAAIF,EAAS,SAAU,OAAOA,EAAS,SAGvC,IAAMG,EADkB,OAAe,YACJD,EAEnC,GAAI,CAACC,EACH,MAAM,IAAI,MACR,0VACF,EAGF,IAAMC,EAAaH,EAAQ,oBACvBI,EACAJ,EAAQ,MACNA,EAAQ,MACRA,EAAQ,QAAU,OAChBJ,EAAc,KACdA,EAAc,MAEhBS,EAAW,IAAIN,EAErB,OAAAM,EAAS,QAAUL,EACnBK,EAAS,SAAWH,EACpBG,EAAS,IAAM,IAAIH,EAAS,IAAI,CAC9B,UAAWF,EAAQ,WAAa,MAChC,MAAOG,EACP,OAAQH,EAAQ,QAAU,CAAC,UAAW,SAAS,EAC/C,KAAMA,EAAQ,MAAQ,EACtB,mBAAoBA,EAAQ,qBAAuB,EACrD,CAAC,EAEDK,EAAS,IAAI,GAAG,OAAQ,IAAM,CAC5BA,EAAS,QAAU,GAEnBA,EAAS,OAAS,IAAIC,EAAiBD,EAAS,GAAG,EAEnDA,EAAS,eAAe,QAASE,GAAOA,EAAGF,EAAS,GAAG,CAAC,EACxDA,EAAS,eAAiB,CAAC,CAC7B,CAAC,EAEDN,EAAS,SAAWM,EACbA,CACT,CAEA,OAAO,QAAQG,EAAkC,CAC/C,IAAMH,EAAWN,EAAS,SAE1B,GAAI,CAACM,EACH,MAAM,IAAI,MAAM,0HAAqC,EAGnDA,EAAS,QACXG,EAASH,EAAS,GAAG,EAErBA,EAAS,eAAe,KAAKG,CAAQ,CAEzC,CAEA,OAAO,aAAwB,CAC7B,GAAI,CAACT,EAAS,SACZ,MAAM,IAAI,MAAM,0HAAqC,EAEvD,OAAOA,EAAS,QAClB,CAEA,UAAUU,EAAoB,CAC5B,OAAOC,EAAU,KAAK,SAAU,KAAK,IAAKD,CAAM,CAClD,CACA,KAAKE,EAAc,CACjB,KAAK,IAAMA,EACX,KAAK,OAAS,IAAIL,EAAiBK,CAAG,CACxC,CACA,WAAY,CACV,OAAO,KAAK,MACd,CAEA,QAAkB,CAChB,OAAO,KAAK,GACd,CAEA,SAASC,EAAyB,CAChC,KAAK,IAAI,SACPA,IAAU,OAAShB,EAAc,KAAOA,EAAc,KACxD,CACF,CAEA,UAAUiB,EAA0B,CAClC,KAAK,IAAI,UAAUA,CAAM,CAC3B,CAEA,QAAQC,EAAc,CACpB,KAAK,IAAI,QAAQA,CAAI,CACvB,CAEA,SAAU,CACR,KAAK,IAAI,OAAO,EAChBf,EAAS,SAAW,IACtB,CACF,EApHaA,EACI,SAA4B,KADtC,IAAMgB,EAANhB,ECXP,IAAAiB,EAAkB,oBAIX,IAAMC,EAAM,EAAAC,QAAM,OAAO,CAC9B,QAASC,CACX,CAAC,EAEDF,EAAI,aAAa,QAAQ,IACtBG,GAAaA,EACbC,IACKA,EAAM,SAAS,SAAW,KAC5BC,EAAS,EAEJ,QAAQ,OAAOD,CAAK,EAE/B,EChBA,IAAAE,EAAA,GAAAC,EAAAD,EAAA,cAAAE,EAAA,cAAAC,EAAA,YAAAC,ICEA,IAAIC,EAAiB,GAErB,SAASC,EAAQC,EAAe,CAC1BA,IAAU,KACdF,EAASE,EACTC,EAAI,SAAS,QAAQ,OAAO,cAAmB,UAAUD,CAAK,GAChE,CAEA,SAASE,GAAW,CAClBJ,EAAS,GACTG,EAAI,SAAS,QAAQ,OAAO,cAAmB,EACjD,CAEA,IAAME,EAAY,IAAML,ECfxB,SAASM,EACPC,EACAC,EACA,CACA,IAAIC,EAEJ,MAAO,IAAIC,KACLD,GAAO,aAAaA,CAAK,EACtB,IAAI,QAASE,GAAY,CAC9BF,EAAQ,WAAW,SAAY,CAC7B,IAAMG,EAAS,MAAML,EAAG,GAAGG,CAAI,EAC/BC,EAAQC,CAAM,CAChB,EAAGJ,CAAK,CACV,CAAC,EAEL,CCZO,IAAMK,EAAa,MAAOC,GAA6C,CAC5E,GAAI,CAEF,OADiB,MAAMC,EAAI,KAAK,sBAAuBD,CAAM,GAC7C,IAClB,OAASE,EAAO,CACd,cAAQ,MAAM,qIAA6BA,CAAK,EAC1CA,CACR,CACF,ECLA,eAAeC,EACbC,EACAC,EACAC,EACoB,CACpB,IAAIC,EAA2B,CAC7B,KAAMH,EACN,MAAOC,GAAgBG,EAAU,EACjC,GAAGF,CACL,EAkBA,GAAI,CAEF,OADuB,MAAMG,EAAWF,CAAU,CAEpD,OAASG,EAAO,CACd,MAAMA,CACR,CACF,CAEA,IAAMC,EAAcC,EAAST,EAAW,GAAG,EAE3C,eAAeU,EACbT,EACAC,EACAC,EACA,CACA,OAAO,MAAMK,EAAYP,EAAOC,EAAOC,CAAe,CACxD,CC/CA,IAAMQ,EAAa,MAAOC,EAAmBC,IAAkB,CAC7D,GAAI,CACF,IAAMC,EAAyC,CAAC,EAEhD,OAAAF,EAAM,QAASG,GAAM,CACnBD,EAAO,KAAK,CAAE,IAAKC,EAAE,CAAC,EAAG,IAAKA,EAAE,CAAC,CAAE,CAAC,CACtC,CAAC,GACgB,MAAMC,EAAI,KAAK,qBAAsB,CACpD,OAAAF,EACA,MAAOD,GAAgBI,EAAU,CACnC,CAAC,GACe,IAClB,OAASC,EAAK,CACZ,cAAQ,MAAMA,CAAG,EACXA,CACR,CACF,ECdA,eAAeC,EACbC,EACAC,EACAC,EACmB,CACnB,GAAI,CACF,IAAMC,EAAM,MAAMC,EAAWJ,EAAOE,CAAK,EAEzC,OAAKC,GAAK,KAEaA,EAAI,KAEf,IAAKE,GAAU,CACzB,IAAMC,EAAU,CAAE,GAAGD,CAAM,EAE3B,OAAIC,EAAQ,OAAO,QAAQ,SACzBA,EAAQ,MAAM,OAASA,EAAQ,MAAM,OAAO,IAAKC,IAAO,CACtD,GAAGA,EACH,SACEN,IAAa,WAAa,OAAOM,EAAE,UAAa,SAC5CC,EAAgBD,EAAE,QAAQ,EAC1BA,EAAE,QACV,EAAE,GAGGD,CACT,CAAC,EAlBsBH,CAmBzB,OAASM,EAAO,CACd,MAAMA,CACR,CACF,CfvBA,SAASC,GAAuB,CAC9B,IAAMC,EAAU,SAAS,qBAAqB,QAAQ,EACtD,QAAWC,KAAUD,EACnB,GAAIC,EAAO,IAAI,SAAS,kBAAkB,EAAG,CAE3C,IAAMC,EADM,IAAI,IAAID,EAAO,GAAG,EACX,aAAa,IAAI,QAAQ,EAC5C,GAAIC,EAAQ,OAAOA,CACrB,CAEF,MAAO,EACT,CACSC,EAAQJ,EAAqB,CAAC","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","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"]}
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- var R=Object.defineProperty;var G=(r,e)=>{for(var t in e)R(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",w="https://mtile.gram.tj/custom-styles/mapstyle.json",T="https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json";function v(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 L=p&1?~(p>>1):p>>1;l+=L,e.push([l*1e-5,s*1e-5])}return e}var u=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 S=(r,e)=>`<svg
1
+ var R=Object.defineProperty;var G=(r,e)=>{for(var t in e)R(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",w="https://mtile.gram.tj/custom-styles/mapstyle.json",C="https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json";function v(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 I=p&1?~(p>>1):p>>1;s+=I,i=0,p=0;do a=r.charCodeAt(t++)-63,p|=(a&31)<<i,i+=5;while(a>=32);let L=p&1?~(p>>1):p>>1;l+=L,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
2
2
  width="50"
3
3
  height="62"
4
4
  viewBox="0 0 50 62"
@@ -67,5 +67,5 @@ var R=Object.defineProperty;var G=(r,e)=>{for(var t in e)R(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):S(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 C(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:w},n=class n{constructor(){}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?T: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}),n.instance=a,a}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 C(this.maplibre,this.map,e)}init(e){this.map=e,this.camera=new u(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 P={};G(P,{clearKey:()=>g,getApiKey:()=>c,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 c=()=>y;function k(r,e){let t;return(...o)=>(t&&clearTimeout(t),new Promise(s=>{t=setTimeout(async()=>{let l=await r(...o);s(l)},e)}))}var I=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 _(r,e,t){let o={text:r,token:e||c(),...t};try{return await I(o)}catch(s){throw s}}var K=k(_,500);async function j(r,e,t){return await K(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||c()})).data}catch(t){throw console.error(t),t}};async function D(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"?v(i.geometry):i.geometry}))),a}):o}catch(o){throw o}}function F(){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(F());export{d as MahalMap,f as MahalMapDefaultMarker,D as Router,j as Search,P as keyUtils};
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:w},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){let t=n.instance;if(!t)throw new Error("[MahalMap SDK] \u041A\u0430\u0440\u0442\u0430 \u0435\u0449\u0451 \u043D\u0435 \u0441\u043E\u0437\u0434\u0430\u043D\u0430");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 P(r,e){let t;return(...o)=>(t&&clearTimeout(t),new Promise(s=>{t=setTimeout(async()=>{let l=await r(...o);s(l)},e)}))}var E=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 E(o)}catch(s){throw s}}var D=P(K,500);async function _(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 j(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"?v(i.geometry):i.geometry}))),a}):o}catch(o){throw o}}function F(){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(F());export{d as MahalMap,f as MahalMapDefaultMarker,j as Router,_ as Search,k as keyUtils};
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 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 });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\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","marker","addMarker","map","CameraController","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/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 const instance = MahalMap.instance;\r\n\r\n if (!instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\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","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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mahal_map",
3
- "version": "1.3.4",
3
+ "version": "1.3.6",
4
4
  "description": "mahal_map",
5
5
  "keywords": [
6
6
  "map",
@@ -1,9 +0,0 @@
1
- declare const BASE_URL = "https://platform.mahal.tj/api/";
2
- declare const LATLNGREGEX: RegExp;
3
- declare const LNGLATREGEX: RegExp;
4
- declare const REGEX: RegExp;
5
- declare const DARK = "https://mtile.gram.tj/custom-styles/dark-style.json";
6
- declare const LIGHT = "https://mtile.gram.tj/custom-styles/mapstyle.json";
7
- declare const VECTOR = "https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json";
8
- export { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };
9
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/app/config/constants.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,QAAQ,mCAAmC,CAAC;AAClD,QAAA,MAAM,WAAW,QACiG,CAAC;AACnH,QAAA,MAAM,WAAW,QACiG,CAAC;AAEnH,QAAA,MAAM,KAAK,QACiF,CAAC;AAE7F,QAAA,MAAM,IAAI,wDAAwD,CAAC;AACnE,QAAA,MAAM,KAAK,sDAAsD,CAAC;AAClE,QAAA,MAAM,MAAM,qEACwD,CAAC;AAErE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC"}
@@ -1,3 +0,0 @@
1
- declare function geojsonPolyline(encoded: string): number[][];
2
- export { geojsonPolyline };
3
- //# sourceMappingURL=geojson-polyline.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"geojson-polyline.d.ts","sourceRoot":"","sources":["../../../src/app/config/geojson-polyline.ts"],"names":[],"mappings":"AAAA,iBAAS,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,CAiCpD;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -1,3 +0,0 @@
1
- declare function geometryPolyline(coordinates: number[][]): string;
2
- export default geometryPolyline;
3
- //# sourceMappingURL=geometry-polyline.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"geometry-polyline.d.ts","sourceRoot":"","sources":["../../../src/app/config/geometry-polyline.ts"],"names":[],"mappings":"AAAA,iBAAS,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAyBzD;AAoBD,eAAe,gBAAgB,CAAA"}
@@ -1,4 +0,0 @@
1
- export * from "./constants";
2
- export * from "./geojson-polyline";
3
- export * from "./geometry-polyline";
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const api: import("axios").AxiosInstance;
2
- //# sourceMappingURL=axios.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"axios.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/axios/api/axios.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,GAAG,+BAEd,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from "./axios";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/app/lib/axios/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from "./api";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/axios/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from "./utils";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/app/lib/checking-coordinates/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -1,5 +0,0 @@
1
- export declare function checkCoordinates(coordinates: string): {
2
- lat: string | undefined;
3
- lng: string | undefined;
4
- } | null;
5
- //# sourceMappingURL=utils.d.ts.map