@mapvx/web-js 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (397) hide show
  1. package/LICENSE.md +19 -0
  2. package/README.md +257 -0
  3. package/dist/cjs/assets/icons.js +87 -0
  4. package/dist/cjs/assets/icons.js.map +1 -0
  5. package/dist/cjs/assets/route_animation_icon.svg +15 -0
  6. package/dist/cjs/assets/user-dot-icon.svg +3 -0
  7. package/dist/cjs/config/sdkConfig.js +3 -0
  8. package/dist/cjs/config/sdkConfig.js.map +1 -0
  9. package/dist/cjs/controllers/routeController.js +1054 -0
  10. package/dist/cjs/controllers/routeController.js.map +1 -0
  11. package/dist/cjs/domain/models/_internal.js +15 -0
  12. package/dist/cjs/domain/models/_internal.js.map +1 -0
  13. package/dist/cjs/domain/models/_rtl.js +10 -0
  14. package/dist/cjs/domain/models/_rtl.js.map +1 -0
  15. package/dist/cjs/domain/models/animation.js +63 -0
  16. package/dist/cjs/domain/models/animation.js.map +1 -0
  17. package/dist/cjs/domain/models/banner.js +24 -0
  18. package/dist/cjs/domain/models/banner.js.map +1 -0
  19. package/dist/cjs/domain/models/categories.js +25 -0
  20. package/dist/cjs/domain/models/categories.js.map +1 -0
  21. package/dist/cjs/domain/models/cityFilterOption.js +3 -0
  22. package/dist/cjs/domain/models/cityFilterOption.js.map +1 -0
  23. package/dist/cjs/domain/models/configuration.js +3 -0
  24. package/dist/cjs/domain/models/configuration.js.map +1 -0
  25. package/dist/cjs/domain/models/cssCustomization.js +3 -0
  26. package/dist/cjs/domain/models/cssCustomization.js.map +1 -0
  27. package/dist/cjs/domain/models/fitOptions.js +3 -0
  28. package/dist/cjs/domain/models/fitOptions.js.map +1 -0
  29. package/dist/cjs/domain/models/innerFloors.js +3 -0
  30. package/dist/cjs/domain/models/innerFloors.js.map +1 -0
  31. package/dist/cjs/domain/models/institution.js +44 -0
  32. package/dist/cjs/domain/models/institution.js.map +1 -0
  33. package/dist/cjs/domain/models/latLng.js +3 -0
  34. package/dist/cjs/domain/models/latLng.js.map +1 -0
  35. package/dist/cjs/domain/models/location.js +3 -0
  36. package/dist/cjs/domain/models/location.js.map +1 -0
  37. package/dist/cjs/domain/models/loggeable.js +52 -0
  38. package/dist/cjs/domain/models/loggeable.js.map +1 -0
  39. package/dist/cjs/domain/models/mapCamera.js +3 -0
  40. package/dist/cjs/domain/models/mapCamera.js.map +1 -0
  41. package/dist/cjs/domain/models/mapConfig.js +15 -0
  42. package/dist/cjs/domain/models/mapConfig.js.map +1 -0
  43. package/dist/cjs/domain/models/marker.js +400 -0
  44. package/dist/cjs/domain/models/marker.js.map +1 -0
  45. package/dist/cjs/domain/models/multilanguage.js +18 -0
  46. package/dist/cjs/domain/models/multilanguage.js.map +1 -0
  47. package/dist/cjs/domain/models/openingHours.js +3 -0
  48. package/dist/cjs/domain/models/openingHours.js.map +1 -0
  49. package/dist/cjs/domain/models/place.js +101 -0
  50. package/dist/cjs/domain/models/place.js.map +1 -0
  51. package/dist/cjs/domain/models/platform.js +3 -0
  52. package/dist/cjs/domain/models/platform.js.map +1 -0
  53. package/dist/cjs/domain/models/popover.js +3 -0
  54. package/dist/cjs/domain/models/popover.js.map +1 -0
  55. package/dist/cjs/domain/models/product.js +3 -0
  56. package/dist/cjs/domain/models/product.js.map +1 -0
  57. package/dist/cjs/domain/models/property.js +104 -0
  58. package/dist/cjs/domain/models/property.js.map +1 -0
  59. package/dist/cjs/domain/models/route.js +166 -0
  60. package/dist/cjs/domain/models/route.js.map +1 -0
  61. package/dist/cjs/domain/models/routeConfiguration.js +80 -0
  62. package/dist/cjs/domain/models/routeConfiguration.js.map +1 -0
  63. package/dist/cjs/domain/models/routeInstance.js +30 -0
  64. package/dist/cjs/domain/models/routeInstance.js.map +1 -0
  65. package/dist/cjs/domain/models/routeStyle.js +3 -0
  66. package/dist/cjs/domain/models/routeStyle.js.map +1 -0
  67. package/dist/cjs/domain/models/transport.js +22 -0
  68. package/dist/cjs/domain/models/transport.js.map +1 -0
  69. package/dist/cjs/domain/ports/ICache.js +3 -0
  70. package/dist/cjs/domain/ports/ICache.js.map +1 -0
  71. package/dist/cjs/domain/ports/IHttpClient.js +3 -0
  72. package/dist/cjs/domain/ports/IHttpClient.js.map +1 -0
  73. package/dist/cjs/domain/ports/ILogger.js +23 -0
  74. package/dist/cjs/domain/ports/ILogger.js.map +1 -0
  75. package/dist/cjs/domain/ports/index.js +10 -0
  76. package/dist/cjs/domain/ports/index.js.map +1 -0
  77. package/dist/cjs/index.js +76 -0
  78. package/dist/cjs/index.js.map +1 -0
  79. package/dist/cjs/infrastructure/cache/CacheManager.js +236 -0
  80. package/dist/cjs/infrastructure/cache/CacheManager.js.map +1 -0
  81. package/dist/cjs/infrastructure/cache/LRUCache.js +153 -0
  82. package/dist/cjs/infrastructure/cache/LRUCache.js.map +1 -0
  83. package/dist/cjs/infrastructure/cache/PersistentCache.js +160 -0
  84. package/dist/cjs/infrastructure/cache/PersistentCache.js.map +1 -0
  85. package/dist/cjs/infrastructure/cache/cacheConfig.js +70 -0
  86. package/dist/cjs/infrastructure/cache/cacheConfig.js.map +1 -0
  87. package/dist/cjs/infrastructure/http/FetchHttpClient.js +75 -0
  88. package/dist/cjs/infrastructure/http/FetchHttpClient.js.map +1 -0
  89. package/dist/cjs/infrastructure/logging/CountlyLogger.js +78 -0
  90. package/dist/cjs/infrastructure/logging/CountlyLogger.js.map +1 -0
  91. package/dist/cjs/interfaces/cache.js +3 -0
  92. package/dist/cjs/interfaces/cache.js.map +1 -0
  93. package/dist/cjs/interfaces/healthResponse.js +3 -0
  94. package/dist/cjs/interfaces/healthResponse.js.map +1 -0
  95. package/dist/cjs/interfaces/institutionResponse.js +3 -0
  96. package/dist/cjs/interfaces/institutionResponse.js.map +1 -0
  97. package/dist/cjs/interfaces/metadata.js +3 -0
  98. package/dist/cjs/interfaces/metadata.js.map +1 -0
  99. package/dist/cjs/interfaces/placeResponse.js +3 -0
  100. package/dist/cjs/interfaces/placeResponse.js.map +1 -0
  101. package/dist/cjs/interfaces/routeCacheResponse.js +3 -0
  102. package/dist/cjs/interfaces/routeCacheResponse.js.map +1 -0
  103. package/dist/cjs/interfaces/routeResponse.js +3 -0
  104. package/dist/cjs/interfaces/routeResponse.js.map +1 -0
  105. package/dist/cjs/interfaces/styleResponse.js +3 -0
  106. package/dist/cjs/interfaces/styleResponse.js.map +1 -0
  107. package/dist/cjs/logger/logger.js +91 -0
  108. package/dist/cjs/logger/logger.js.map +1 -0
  109. package/dist/cjs/logger/rollbar.js +24 -0
  110. package/dist/cjs/logger/rollbar.js.map +1 -0
  111. package/dist/cjs/map/map.js +1457 -0
  112. package/dist/cjs/map/map.js.map +1 -0
  113. package/dist/cjs/repository/repository.js +574 -0
  114. package/dist/cjs/repository/repository.js.map +1 -0
  115. package/dist/cjs/repository/requester.js +590 -0
  116. package/dist/cjs/repository/requester.js.map +1 -0
  117. package/dist/cjs/sdk.js +351 -0
  118. package/dist/cjs/sdk.js.map +1 -0
  119. package/dist/cjs/utils/error.js +20 -0
  120. package/dist/cjs/utils/error.js.map +1 -0
  121. package/dist/cjs/utils/images.js +26 -0
  122. package/dist/cjs/utils/images.js.map +1 -0
  123. package/dist/cjs/utils/nav-functions.js +150 -0
  124. package/dist/cjs/utils/nav-functions.js.map +1 -0
  125. package/dist/cjs/utils/opening-hours-helper.js +911 -0
  126. package/dist/cjs/utils/opening-hours-helper.js.map +1 -0
  127. package/dist/cjs/utils/route-utils.js +58 -0
  128. package/dist/cjs/utils/route-utils.js.map +1 -0
  129. package/dist/cjs/utils/update-css.js +77 -0
  130. package/dist/cjs/utils/update-css.js.map +1 -0
  131. package/dist/cjs/utils/utils.js +105 -0
  132. package/dist/cjs/utils/utils.js.map +1 -0
  133. package/dist/es/assets/icons.d.ts +86 -0
  134. package/dist/es/assets/icons.d.ts.map +1 -0
  135. package/dist/es/assets/icons.js +83 -0
  136. package/dist/es/assets/icons.js.map +1 -0
  137. package/dist/es/assets/route_animation_icon.svg +15 -0
  138. package/dist/es/assets/user-dot-icon.svg +3 -0
  139. package/dist/es/config/sdkConfig.d.ts +105 -0
  140. package/dist/es/config/sdkConfig.d.ts.map +1 -0
  141. package/dist/es/config/sdkConfig.js +2 -0
  142. package/dist/es/config/sdkConfig.js.map +1 -0
  143. package/dist/es/controllers/routeController.d.ts +161 -0
  144. package/dist/es/controllers/routeController.d.ts.map +1 -0
  145. package/dist/es/controllers/routeController.js +1050 -0
  146. package/dist/es/controllers/routeController.js.map +1 -0
  147. package/dist/es/domain/models/_internal.d.ts +21 -0
  148. package/dist/es/domain/models/_internal.d.ts.map +1 -0
  149. package/dist/es/domain/models/_internal.js +11 -0
  150. package/dist/es/domain/models/_internal.js.map +1 -0
  151. package/dist/es/domain/models/_rtl.d.ts +7 -0
  152. package/dist/es/domain/models/_rtl.d.ts.map +1 -0
  153. package/dist/es/domain/models/_rtl.js +7 -0
  154. package/dist/es/domain/models/_rtl.js.map +1 -0
  155. package/dist/es/domain/models/animation.d.ts +161 -0
  156. package/dist/es/domain/models/animation.d.ts.map +1 -0
  157. package/dist/es/domain/models/animation.js +58 -0
  158. package/dist/es/domain/models/animation.js.map +1 -0
  159. package/dist/es/domain/models/banner.d.ts +64 -0
  160. package/dist/es/domain/models/banner.d.ts.map +1 -0
  161. package/dist/es/domain/models/banner.js +20 -0
  162. package/dist/es/domain/models/banner.js.map +1 -0
  163. package/dist/es/domain/models/categories.d.ts +157 -0
  164. package/dist/es/domain/models/categories.d.ts.map +1 -0
  165. package/dist/es/domain/models/categories.js +20 -0
  166. package/dist/es/domain/models/categories.js.map +1 -0
  167. package/dist/es/domain/models/cityFilterOption.d.ts +15 -0
  168. package/dist/es/domain/models/cityFilterOption.d.ts.map +1 -0
  169. package/dist/es/domain/models/cityFilterOption.js +2 -0
  170. package/dist/es/domain/models/cityFilterOption.js.map +1 -0
  171. package/dist/es/domain/models/configuration.d.ts +523 -0
  172. package/dist/es/domain/models/configuration.d.ts.map +1 -0
  173. package/dist/es/domain/models/configuration.js +2 -0
  174. package/dist/es/domain/models/configuration.js.map +1 -0
  175. package/dist/es/domain/models/cssCustomization.d.ts +63 -0
  176. package/dist/es/domain/models/cssCustomization.d.ts.map +1 -0
  177. package/dist/es/domain/models/cssCustomization.js +2 -0
  178. package/dist/es/domain/models/cssCustomization.js.map +1 -0
  179. package/dist/es/domain/models/fitOptions.d.ts +175 -0
  180. package/dist/es/domain/models/fitOptions.d.ts.map +1 -0
  181. package/dist/es/domain/models/fitOptions.js +2 -0
  182. package/dist/es/domain/models/fitOptions.js.map +1 -0
  183. package/dist/es/domain/models/innerFloors.d.ts +42 -0
  184. package/dist/es/domain/models/innerFloors.d.ts.map +1 -0
  185. package/dist/es/domain/models/innerFloors.js +2 -0
  186. package/dist/es/domain/models/innerFloors.js.map +1 -0
  187. package/dist/es/domain/models/institution.d.ts +64 -0
  188. package/dist/es/domain/models/institution.d.ts.map +1 -0
  189. package/dist/es/domain/models/institution.js +40 -0
  190. package/dist/es/domain/models/institution.js.map +1 -0
  191. package/dist/es/domain/models/latLng.d.ts +14 -0
  192. package/dist/es/domain/models/latLng.d.ts.map +1 -0
  193. package/dist/es/domain/models/latLng.js +2 -0
  194. package/dist/es/domain/models/latLng.js.map +1 -0
  195. package/dist/es/domain/models/location.d.ts +10 -0
  196. package/dist/es/domain/models/location.d.ts.map +1 -0
  197. package/dist/es/domain/models/location.js +2 -0
  198. package/dist/es/domain/models/location.js.map +1 -0
  199. package/dist/es/domain/models/loggeable.d.ts +43 -0
  200. package/dist/es/domain/models/loggeable.d.ts.map +1 -0
  201. package/dist/es/domain/models/loggeable.js +48 -0
  202. package/dist/es/domain/models/loggeable.js.map +1 -0
  203. package/dist/es/domain/models/mapCamera.d.ts +109 -0
  204. package/dist/es/domain/models/mapCamera.d.ts.map +1 -0
  205. package/dist/es/domain/models/mapCamera.js +2 -0
  206. package/dist/es/domain/models/mapCamera.js.map +1 -0
  207. package/dist/es/domain/models/mapConfig.d.ts +238 -0
  208. package/dist/es/domain/models/mapConfig.d.ts.map +1 -0
  209. package/dist/es/domain/models/mapConfig.js +12 -0
  210. package/dist/es/domain/models/mapConfig.js.map +1 -0
  211. package/dist/es/domain/models/marker.d.ts +301 -0
  212. package/dist/es/domain/models/marker.d.ts.map +1 -0
  213. package/dist/es/domain/models/marker.js +396 -0
  214. package/dist/es/domain/models/marker.js.map +1 -0
  215. package/dist/es/domain/models/multilanguage.d.ts +27 -0
  216. package/dist/es/domain/models/multilanguage.d.ts.map +1 -0
  217. package/dist/es/domain/models/multilanguage.js +14 -0
  218. package/dist/es/domain/models/multilanguage.js.map +1 -0
  219. package/dist/es/domain/models/openingHours.d.ts +30 -0
  220. package/dist/es/domain/models/openingHours.d.ts.map +1 -0
  221. package/dist/es/domain/models/openingHours.js +2 -0
  222. package/dist/es/domain/models/openingHours.js.map +1 -0
  223. package/dist/es/domain/models/place.d.ts +167 -0
  224. package/dist/es/domain/models/place.d.ts.map +1 -0
  225. package/dist/es/domain/models/place.js +97 -0
  226. package/dist/es/domain/models/place.js.map +1 -0
  227. package/dist/es/domain/models/platform.d.ts +6 -0
  228. package/dist/es/domain/models/platform.d.ts.map +1 -0
  229. package/dist/es/domain/models/platform.js +2 -0
  230. package/dist/es/domain/models/platform.js.map +1 -0
  231. package/dist/es/domain/models/popover.d.ts +14 -0
  232. package/dist/es/domain/models/popover.d.ts.map +1 -0
  233. package/dist/es/domain/models/popover.js +2 -0
  234. package/dist/es/domain/models/popover.js.map +1 -0
  235. package/dist/es/domain/models/product.d.ts +36 -0
  236. package/dist/es/domain/models/product.d.ts.map +1 -0
  237. package/dist/es/domain/models/product.js +2 -0
  238. package/dist/es/domain/models/product.js.map +1 -0
  239. package/dist/es/domain/models/property.d.ts +172 -0
  240. package/dist/es/domain/models/property.d.ts.map +1 -0
  241. package/dist/es/domain/models/property.js +100 -0
  242. package/dist/es/domain/models/property.js.map +1 -0
  243. package/dist/es/domain/models/route.d.ts +199 -0
  244. package/dist/es/domain/models/route.d.ts.map +1 -0
  245. package/dist/es/domain/models/route.js +160 -0
  246. package/dist/es/domain/models/route.js.map +1 -0
  247. package/dist/es/domain/models/routeConfiguration.d.ts +140 -0
  248. package/dist/es/domain/models/routeConfiguration.d.ts.map +1 -0
  249. package/dist/es/domain/models/routeConfiguration.js +75 -0
  250. package/dist/es/domain/models/routeConfiguration.js.map +1 -0
  251. package/dist/es/domain/models/routeInstance.d.ts +52 -0
  252. package/dist/es/domain/models/routeInstance.d.ts.map +1 -0
  253. package/dist/es/domain/models/routeInstance.js +26 -0
  254. package/dist/es/domain/models/routeInstance.js.map +1 -0
  255. package/dist/es/domain/models/routeStyle.d.ts +47 -0
  256. package/dist/es/domain/models/routeStyle.d.ts.map +1 -0
  257. package/dist/es/domain/models/routeStyle.js +2 -0
  258. package/dist/es/domain/models/routeStyle.js.map +1 -0
  259. package/dist/es/domain/models/transport.d.ts +176 -0
  260. package/dist/es/domain/models/transport.d.ts.map +1 -0
  261. package/dist/es/domain/models/transport.js +18 -0
  262. package/dist/es/domain/models/transport.js.map +1 -0
  263. package/dist/es/domain/ports/ICache.d.ts +70 -0
  264. package/dist/es/domain/ports/ICache.d.ts.map +1 -0
  265. package/dist/es/domain/ports/ICache.js +2 -0
  266. package/dist/es/domain/ports/ICache.js.map +1 -0
  267. package/dist/es/domain/ports/IHttpClient.d.ts +77 -0
  268. package/dist/es/domain/ports/IHttpClient.d.ts.map +1 -0
  269. package/dist/es/domain/ports/IHttpClient.js +2 -0
  270. package/dist/es/domain/ports/IHttpClient.js.map +1 -0
  271. package/dist/es/domain/ports/ILogger.d.ts +61 -0
  272. package/dist/es/domain/ports/ILogger.d.ts.map +1 -0
  273. package/dist/es/domain/ports/ILogger.js +19 -0
  274. package/dist/es/domain/ports/ILogger.js.map +1 -0
  275. package/dist/es/domain/ports/index.d.ts +9 -0
  276. package/dist/es/domain/ports/index.d.ts.map +1 -0
  277. package/dist/es/domain/ports/index.js +6 -0
  278. package/dist/es/domain/ports/index.js.map +1 -0
  279. package/dist/es/index.d.ts +58 -0
  280. package/dist/es/index.d.ts.map +1 -0
  281. package/dist/es/index.js +48 -0
  282. package/dist/es/index.js.map +1 -0
  283. package/dist/es/infrastructure/cache/CacheManager.d.ts +106 -0
  284. package/dist/es/infrastructure/cache/CacheManager.d.ts.map +1 -0
  285. package/dist/es/infrastructure/cache/CacheManager.js +232 -0
  286. package/dist/es/infrastructure/cache/CacheManager.js.map +1 -0
  287. package/dist/es/infrastructure/cache/LRUCache.d.ts +70 -0
  288. package/dist/es/infrastructure/cache/LRUCache.d.ts.map +1 -0
  289. package/dist/es/infrastructure/cache/LRUCache.js +149 -0
  290. package/dist/es/infrastructure/cache/LRUCache.js.map +1 -0
  291. package/dist/es/infrastructure/cache/PersistentCache.d.ts +58 -0
  292. package/dist/es/infrastructure/cache/PersistentCache.d.ts.map +1 -0
  293. package/dist/es/infrastructure/cache/PersistentCache.js +156 -0
  294. package/dist/es/infrastructure/cache/PersistentCache.js.map +1 -0
  295. package/dist/es/infrastructure/cache/cacheConfig.d.ts +51 -0
  296. package/dist/es/infrastructure/cache/cacheConfig.d.ts.map +1 -0
  297. package/dist/es/infrastructure/cache/cacheConfig.js +66 -0
  298. package/dist/es/infrastructure/cache/cacheConfig.js.map +1 -0
  299. package/dist/es/infrastructure/http/FetchHttpClient.d.ts +41 -0
  300. package/dist/es/infrastructure/http/FetchHttpClient.d.ts.map +1 -0
  301. package/dist/es/infrastructure/http/FetchHttpClient.js +71 -0
  302. package/dist/es/infrastructure/http/FetchHttpClient.js.map +1 -0
  303. package/dist/es/infrastructure/logging/CountlyLogger.d.ts +47 -0
  304. package/dist/es/infrastructure/logging/CountlyLogger.d.ts.map +1 -0
  305. package/dist/es/infrastructure/logging/CountlyLogger.js +74 -0
  306. package/dist/es/infrastructure/logging/CountlyLogger.js.map +1 -0
  307. package/dist/es/interfaces/cache.d.ts +5 -0
  308. package/dist/es/interfaces/cache.d.ts.map +1 -0
  309. package/dist/es/interfaces/cache.js +2 -0
  310. package/dist/es/interfaces/cache.js.map +1 -0
  311. package/dist/es/interfaces/healthResponse.d.ts +17 -0
  312. package/dist/es/interfaces/healthResponse.d.ts.map +1 -0
  313. package/dist/es/interfaces/healthResponse.js +2 -0
  314. package/dist/es/interfaces/healthResponse.js.map +1 -0
  315. package/dist/es/interfaces/institutionResponse.d.ts +12 -0
  316. package/dist/es/interfaces/institutionResponse.d.ts.map +1 -0
  317. package/dist/es/interfaces/institutionResponse.js +2 -0
  318. package/dist/es/interfaces/institutionResponse.js.map +1 -0
  319. package/dist/es/interfaces/metadata.d.ts +7 -0
  320. package/dist/es/interfaces/metadata.d.ts.map +1 -0
  321. package/dist/es/interfaces/metadata.js +2 -0
  322. package/dist/es/interfaces/metadata.js.map +1 -0
  323. package/dist/es/interfaces/placeResponse.d.ts +50 -0
  324. package/dist/es/interfaces/placeResponse.d.ts.map +1 -0
  325. package/dist/es/interfaces/placeResponse.js +2 -0
  326. package/dist/es/interfaces/placeResponse.js.map +1 -0
  327. package/dist/es/interfaces/routeCacheResponse.d.ts +13 -0
  328. package/dist/es/interfaces/routeCacheResponse.d.ts.map +1 -0
  329. package/dist/es/interfaces/routeCacheResponse.js +2 -0
  330. package/dist/es/interfaces/routeCacheResponse.js.map +1 -0
  331. package/dist/es/interfaces/routeResponse.d.ts +42 -0
  332. package/dist/es/interfaces/routeResponse.d.ts.map +1 -0
  333. package/dist/es/interfaces/routeResponse.js +2 -0
  334. package/dist/es/interfaces/routeResponse.js.map +1 -0
  335. package/dist/es/interfaces/styleResponse.d.ts +5 -0
  336. package/dist/es/interfaces/styleResponse.d.ts.map +1 -0
  337. package/dist/es/interfaces/styleResponse.js +2 -0
  338. package/dist/es/interfaces/styleResponse.js.map +1 -0
  339. package/dist/es/logger/logger.d.ts +14 -0
  340. package/dist/es/logger/logger.d.ts.map +1 -0
  341. package/dist/es/logger/logger.js +84 -0
  342. package/dist/es/logger/logger.js.map +1 -0
  343. package/dist/es/logger/rollbar.d.ts +4 -0
  344. package/dist/es/logger/rollbar.d.ts.map +1 -0
  345. package/dist/es/logger/rollbar.js +20 -0
  346. package/dist/es/logger/rollbar.js.map +1 -0
  347. package/dist/es/map/map.d.ts +598 -0
  348. package/dist/es/map/map.d.ts.map +1 -0
  349. package/dist/es/map/map.js +1430 -0
  350. package/dist/es/map/map.js.map +1 -0
  351. package/dist/es/repository/repository.d.ts +65 -0
  352. package/dist/es/repository/repository.d.ts.map +1 -0
  353. package/dist/es/repository/repository.js +570 -0
  354. package/dist/es/repository/repository.js.map +1 -0
  355. package/dist/es/repository/requester.d.ts +169 -0
  356. package/dist/es/repository/requester.d.ts.map +1 -0
  357. package/dist/es/repository/requester.js +586 -0
  358. package/dist/es/repository/requester.js.map +1 -0
  359. package/dist/es/sdk.d.ts +279 -0
  360. package/dist/es/sdk.d.ts.map +1 -0
  361. package/dist/es/sdk.js +346 -0
  362. package/dist/es/sdk.js.map +1 -0
  363. package/dist/es/utils/error.d.ts +8 -0
  364. package/dist/es/utils/error.d.ts.map +1 -0
  365. package/dist/es/utils/error.js +16 -0
  366. package/dist/es/utils/error.js.map +1 -0
  367. package/dist/es/utils/images.d.ts +8 -0
  368. package/dist/es/utils/images.d.ts.map +1 -0
  369. package/dist/es/utils/images.js +22 -0
  370. package/dist/es/utils/images.js.map +1 -0
  371. package/dist/es/utils/nav-functions.d.ts +85 -0
  372. package/dist/es/utils/nav-functions.d.ts.map +1 -0
  373. package/dist/es/utils/nav-functions.js +143 -0
  374. package/dist/es/utils/nav-functions.js.map +1 -0
  375. package/dist/es/utils/opening-hours-helper.d.ts +395 -0
  376. package/dist/es/utils/opening-hours-helper.d.ts.map +1 -0
  377. package/dist/es/utils/opening-hours-helper.js +906 -0
  378. package/dist/es/utils/opening-hours-helper.js.map +1 -0
  379. package/dist/es/utils/route-utils.d.ts +28 -0
  380. package/dist/es/utils/route-utils.d.ts.map +1 -0
  381. package/dist/es/utils/route-utils.js +54 -0
  382. package/dist/es/utils/route-utils.js.map +1 -0
  383. package/dist/es/utils/update-css.d.ts +12 -0
  384. package/dist/es/utils/update-css.d.ts.map +1 -0
  385. package/dist/es/utils/update-css.js +73 -0
  386. package/dist/es/utils/update-css.js.map +1 -0
  387. package/dist/es/utils/utils.d.ts +39 -0
  388. package/dist/es/utils/utils.d.ts.map +1 -0
  389. package/dist/es/utils/utils.js +97 -0
  390. package/dist/es/utils/utils.js.map +1 -0
  391. package/dist/umd/index.js +16874 -0
  392. package/dist/umd/index.js.map +1 -0
  393. package/dist/umd/styles.css +107 -0
  394. package/dist/umd/styles.css.map +1 -0
  395. package/dist/umd/styles.js +37 -0
  396. package/dist/umd/styles.js.map +1 -0
  397. package/package.json +198 -0
@@ -0,0 +1,97 @@
1
+ import { Banner } from "./banner";
2
+ import { PropertyUtils } from "./property";
3
+ /**
4
+ * MapVX place object, is a custom object containing data of a specific real place.
5
+ * Represents a physical location with all its associated metadata and properties.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * const place = new MVXPlace(placeResponse);
10
+ * console.log(place.title); // "Coffee Shop"
11
+ * console.log(place.position); // { lat: 40.7128, lng: -74.0060 }
12
+ * ```
13
+ *
14
+ * @group Places & Locations
15
+ */
16
+ export class MVXPlace {
17
+ /**
18
+ * Creates a new place instance with the parameters specified in the data.
19
+ *
20
+ * @param rawPlace - JSON configuration parameters for the place from API response
21
+ * @returns A new instance of MVXPlace
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * const placeResponse = await fetchPlaceData(placeId);
26
+ * const place = new MVXPlace(placeResponse);
27
+ * ```
28
+ */
29
+ constructor(rawPlace) {
30
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
31
+ const tagsAndKeywords = ((_a = rawPlace.tags) !== null && _a !== void 0 ? _a : []).concat((_b = rawPlace.keywords) !== null && _b !== void 0 ? _b : []);
32
+ this.mapvxId = rawPlace.id;
33
+ this.clientId = (_c = rawPlace.alias) !== null && _c !== void 0 ? _c : rawPlace.externalId;
34
+ this.title = rawPlace.title;
35
+ this.hidePlace = tagsAndKeywords.includes("hide_search");
36
+ this.description = rawPlace.description;
37
+ this.shortDescription = rawPlace.shortDescription;
38
+ // @ts-expect-error - lon is not in the type but search results have it
39
+ this.position = { lat: rawPlace.lat, lng: rawPlace.lng || rawPlace.lon };
40
+ this.category = rawPlace.category;
41
+ this.tags = (_d = rawPlace.tags) !== null && _d !== void 0 ? _d : [];
42
+ this.generalCategory = rawPlace.general_category;
43
+ this.localizedCategory = (_e = rawPlace.localizedCategory) !== null && _e !== void 0 ? _e : "";
44
+ this.parentInstitutionId = rawPlace.parent_institution;
45
+ this.inFloors = rawPlace.inFloor;
46
+ this.innerFloors = [];
47
+ for (const key in rawPlace.innerFloors) {
48
+ this.innerFloors.push(Object.assign(Object.assign({}, rawPlace.innerFloors[key]), { key }));
49
+ }
50
+ this.innerFloors.sort((a, b) => a.index - b.index);
51
+ this.openingHours = rawPlace.opening_hours;
52
+ this.address = rawPlace.address;
53
+ this.transportLine = (_f = rawPlace.properties) === null || _f === void 0 ? void 0 : _f.filter((p) => p.type === "transport_line");
54
+ if (rawPlace.logo) {
55
+ this.logo = typeof rawPlace.logo === "string" ? rawPlace.logo : rawPlace.logo.light;
56
+ }
57
+ this.images = (_g = rawPlace.images) !== null && _g !== void 0 ? _g : [];
58
+ this.banners = ((_h = rawPlace.banners) !== null && _h !== void 0 ? _h : []).map((bannerResponse) => new Banner(bannerResponse));
59
+ this.properties = PropertyUtils.parseProperties((_j = rawPlace.properties) !== null && _j !== void 0 ? _j : []);
60
+ this.parentId = rawPlace.parent_id;
61
+ this.parentType = rawPlace.parent_type;
62
+ this.metadata = rawPlace.metadata;
63
+ this.visibility = (_k = rawPlace.visibility) !== null && _k !== void 0 ? _k : "public";
64
+ }
65
+ /**
66
+ * Returns the floor in which the place exists as an InnerFloor object.
67
+ * If no matching available floor is found or if the place is not indoor,
68
+ * an undefined value will be returned.
69
+ *
70
+ * @param parentPlaceFloors - Array of existing parent place floors to search in
71
+ * @returns The matching InnerFloor object or undefined if not found
72
+ *
73
+ * @example
74
+ * ```typescript
75
+ * const buildingFloors = getBuildingFloors();
76
+ * const placeFloor = place.inFloor(buildingFloors);
77
+ * if (placeFloor) {
78
+ * console.log(`Place is on floor: ${placeFloor.name}`);
79
+ * }
80
+ * ```
81
+ */
82
+ inFloor(parentPlaceFloors) {
83
+ if (!this.inFloors || this.inFloors.length === 0) {
84
+ // outdoor place
85
+ return parentPlaceFloors.find((floor) => floor.reachableFromGPS);
86
+ }
87
+ return parentPlaceFloors.find((floor) => { var _a; return floor.key === ((_a = this.inFloors) === null || _a === void 0 ? void 0 : _a[0]); });
88
+ }
89
+ /**
90
+ * Returns a string representation of the place
91
+ * @returns String in format "MVXPlace {mapvxId}"
92
+ */
93
+ toString() {
94
+ return `MVXPlace ${this.mapvxId}`;
95
+ }
96
+ }
97
+ //# sourceMappingURL=place.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"place.js","sourceRoot":"","sources":["../../../../src/domain/models/place.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Represents the platform of the map.
3
+ * @hidden
4
+ */
5
+ export type MapVxProduct = "directory" | "totems" | "demo";
6
+ //# sourceMappingURL=platform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../../../src/domain/models/platform.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../../src/domain/models/platform.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Model configuration parameters for custom PopOver
3
+ * Defines the configuration options for popover components
4
+ * @todo Complete attributes with additional configuration options
5
+ * @hidden
6
+ */
7
+ export interface PopOverConfig {
8
+ /**
9
+ * Identifier of the place associated with this popover
10
+ * Used to display place-specific information in the popover
11
+ */
12
+ placeId?: string;
13
+ }
14
+ //# sourceMappingURL=popover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../../../src/domain/models/popover.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=popover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover.js","sourceRoot":"","sources":["../../../../src/domain/models/popover.ts"],"names":[],"mappings":""}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Represents a product in the system.
3
+ * Any route to a product should be a route to its category (ProductCategory should be a valid MVXPlace).
4
+ *
5
+ * To obtain product information, a language parameter should be sent.
6
+ * @hidden
7
+ */
8
+ export interface Product {
9
+ /**
10
+ * Unique identifier for the product
11
+ */
12
+ id: string;
13
+ /**
14
+ * Identifier of the category this product belongs to
15
+ */
16
+ categoryId: string;
17
+ /**
18
+ * The name of the product
19
+ */
20
+ name: string;
21
+ /**
22
+ * Price of the product
23
+ */
24
+ price: number;
25
+ /**
26
+ * Brand name of the product
27
+ */
28
+ brand: string;
29
+ /**
30
+ * Stock Keeping Unit or other product identifier
31
+ * Used for inventory and product tracking purposes
32
+ * @see https://es.wikipedia.org/wiki/Stock-keeping_unit
33
+ */
34
+ sku: string;
35
+ }
36
+ //# sourceMappingURL=product.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product.d.ts","sourceRoot":"","sources":["../../../../src/domain/models/product.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;;;OAIG;IACH,GAAG,EAAE,MAAM,CAAA;CACZ"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=product.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product.js","sourceRoot":"","sources":["../../../../src/domain/models/product.ts"],"names":[],"mappings":""}
@@ -0,0 +1,172 @@
1
+ import { type PlaceResponse } from "../../interfaces/placeResponse";
2
+ import { MVXPlace } from "./place";
3
+ /**
4
+ * Base interface for all property types that a place can have.
5
+ * Defines the common fields that all properties must have.
6
+ * @group Places & Locations
7
+ */
8
+ export interface Property {
9
+ /**
10
+ * Title of the property
11
+ */
12
+ title: string;
13
+ /**
14
+ * Subtitle or description of the property
15
+ */
16
+ subtitle: string;
17
+ /**
18
+ * URL of the icon associated with the property (optional)
19
+ */
20
+ icon?: string;
21
+ /**
22
+ * Image URL for the property icon (optional)
23
+ */
24
+ imageUrl?: string;
25
+ /**
26
+ * Type of property to identify its category
27
+ */
28
+ type?: string;
29
+ /**
30
+ * Identifier of the parent place of the property (optional)
31
+ */
32
+ childParentPlace?: string;
33
+ /**
34
+ * URL associated with the property (optional)
35
+ */
36
+ url?: string;
37
+ /**
38
+ * Icon prefix (defaults to "fas" for Font Awesome)
39
+ */
40
+ iconPrefix?: string;
41
+ /**
42
+ * Order of the property (optional)
43
+ */
44
+ sortChildrenBy?: string;
45
+ }
46
+ /**
47
+ * Interface that represents the API response for properties.
48
+ * Contains the data structure as it comes from the server.
49
+ * @group Places & Locations
50
+ */
51
+ export interface PropertyResponse {
52
+ /**
53
+ * Identifying key of the property
54
+ */
55
+ key: string;
56
+ /**
57
+ * Descriptive text of the property
58
+ */
59
+ text: string;
60
+ /**
61
+ * URL of the associated icon (optional)
62
+ */
63
+ icon?: string;
64
+ /**
65
+ * Image URL for the property icon (optional)
66
+ */
67
+ imageUrl?: string;
68
+ /**
69
+ * Type of property
70
+ */
71
+ type?: string;
72
+ /**
73
+ * URL associated with the property (optional)
74
+ */
75
+ url?: string;
76
+ /**
77
+ * List of child places associated with this property
78
+ */
79
+ child_places?: PlaceResponse[] | string[];
80
+ /**
81
+ * List of nested child properties
82
+ */
83
+ child_properties: PropertyResponse[];
84
+ /**
85
+ * Identifier of the parent place of the children
86
+ */
87
+ child_parent_place?: string;
88
+ /**
89
+ * Icon prefix
90
+ */
91
+ iconPrefix?: string;
92
+ /**
93
+ * Order of properties should be sorted by
94
+ */
95
+ sortChildrenBy?: string;
96
+ }
97
+ /**
98
+ * Interface that represents a transport service associated with a place.
99
+ * Extends the Property interface with transport-specific fields.
100
+ * @group Places & Locations
101
+ */
102
+ export interface TransportLine extends Property {
103
+ /**
104
+ * Fixed type that identifies this property as a transport line
105
+ */
106
+ type: "transport_line";
107
+ /**
108
+ * List of available transport lines
109
+ */
110
+ lines: string[];
111
+ /**
112
+ * Source or provider of the transport service
113
+ */
114
+ source: string[] | string;
115
+ }
116
+ /**
117
+ * Interface for properties that only contain text.
118
+ * Extends Property without adding additional fields.
119
+ * @group Places & Locations
120
+ */
121
+ export interface TextProperty extends Property {
122
+ }
123
+ /**
124
+ * Interface for properties that have associated child places.
125
+ * Allows referencing other places from a property.
126
+ * @group Places & Locations
127
+ */
128
+ export interface ChildPlacesProperty extends Property {
129
+ /**
130
+ * List of child places associated with this property.
131
+ * Can contain both IDs and complete MVXPlace objects.
132
+ */
133
+ childPlaces: (MVXPlace | string)[];
134
+ }
135
+ /**
136
+ * Interface for properties that have nested sub-properties.
137
+ * Allows creating hierarchical property structures.
138
+ * @group Places & Locations
139
+ */
140
+ export interface ChildPropertiesProperty extends Property {
141
+ /**
142
+ * List of nested child properties
143
+ */
144
+ childProperties: Property[];
145
+ }
146
+ /**
147
+ * Interface for properties that have an associated URL.
148
+ * Allows redirecting to external websites from a property.
149
+ * @group Places & Locations
150
+ */
151
+ export interface UrlProperty extends Property {
152
+ /**
153
+ * URL to redirect to when this property is selected
154
+ */
155
+ url: string;
156
+ }
157
+ /**
158
+ * Utility class for processing and converting properties from API responses.
159
+ * Provides methods to parse different property structures.
160
+ * @group Places & Locations
161
+ */
162
+ export declare class PropertyUtils {
163
+ /**
164
+ * Converts an array of PropertyResponse to a typed Property array.
165
+ * Handles nested properties recursively and different property types.
166
+ *
167
+ * @param response Array of PropertyResponse from the API
168
+ * @returns Processed and typed Property array
169
+ */
170
+ static parseProperties(response: PropertyResponse[]): Property[];
171
+ }
172
+ //# sourceMappingURL=property.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property.d.ts","sourceRoot":"","sources":["../../../../src/domain/models/property.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,YAAY,CAAC,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,CAAA;IAEzC;;OAEG;IACH,gBAAgB,EAAE,gBAAgB,EAAE,CAAA;IAEpC;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C;;OAEG;IACH,IAAI,EAAE,gBAAgB,CAAA;IAEtB;;OAEG;IACH,KAAK,EAAE,MAAM,EAAE,CAAA;IAEf;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAa,SAAQ,QAAQ;CAAG;AAEjD;;;;GAIG;AACH,MAAM,WAAW,mBAAoB,SAAQ,QAAQ;IACnD;;;OAGG;IACH,WAAW,EAAE,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAA;CACnC;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAwB,SAAQ,QAAQ;IACvD;;OAEG;IACH,eAAe,EAAE,QAAQ,EAAE,CAAA;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAC3C;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;CACZ;AAED;;;;GAIG;AACH,qBAAa,aAAa;IACxB;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,QAAQ,EAAE;CA8EjE"}
@@ -0,0 +1,100 @@
1
+ import { MVXPlace } from "./place";
2
+ /**
3
+ * Utility class for processing and converting properties from API responses.
4
+ * Provides methods to parse different property structures.
5
+ * @group Places & Locations
6
+ */
7
+ export class PropertyUtils {
8
+ /**
9
+ * Converts an array of PropertyResponse to a typed Property array.
10
+ * Handles nested properties recursively and different property types.
11
+ *
12
+ * @param response Array of PropertyResponse from the API
13
+ * @returns Processed and typed Property array
14
+ */
15
+ static parseProperties(response) {
16
+ try {
17
+ const properties = [];
18
+ if (response) {
19
+ response.forEach((item) => {
20
+ var _a, _b, _c;
21
+ if (item.child_places) {
22
+ const childPlaces = item.child_places;
23
+ const childPlacesProperty = {
24
+ childPlaces: [],
25
+ title: item.key,
26
+ subtitle: item.text,
27
+ childParentPlace: item.child_parent_place,
28
+ icon: item.icon,
29
+ imageUrl: item.imageUrl,
30
+ iconPrefix: (_a = item.iconPrefix) !== null && _a !== void 0 ? _a : "fas",
31
+ sortChildrenBy: item.sortChildrenBy,
32
+ };
33
+ childPlaces.forEach((element) => {
34
+ if (typeof element === "string") {
35
+ // Add id to the array of childPlaces
36
+ childPlacesProperty.childPlaces.push(element);
37
+ }
38
+ else {
39
+ // Transform object to MVXPlace and add to childPlaces array
40
+ const mvxPlace = new MVXPlace(element);
41
+ childPlacesProperty.childPlaces.push(mvxPlace);
42
+ }
43
+ });
44
+ properties.push(childPlacesProperty);
45
+ }
46
+ else if (item.child_properties) {
47
+ // Parsing child properties with recursive call
48
+ const childProperties = item.child_properties;
49
+ const childPropertiesProperty = {
50
+ childProperties: [],
51
+ title: item.key,
52
+ subtitle: item.text,
53
+ childParentPlace: item.child_parent_place,
54
+ icon: item.icon,
55
+ imageUrl: item.imageUrl,
56
+ iconPrefix: (_b = item.iconPrefix) !== null && _b !== void 0 ? _b : "fas",
57
+ sortChildrenBy: item.sortChildrenBy,
58
+ };
59
+ const childPropertiesResult = this.parseProperties(childProperties);
60
+ childPropertiesProperty.childProperties = childPropertiesResult;
61
+ properties.push(childPropertiesProperty);
62
+ }
63
+ else if (item.url) {
64
+ const property = {
65
+ title: item.key,
66
+ subtitle: item.text,
67
+ icon: item.icon,
68
+ imageUrl: item.imageUrl,
69
+ iconPrefix: item.iconPrefix,
70
+ url: item.url,
71
+ type: item.type,
72
+ sortChildrenBy: item.sortChildrenBy,
73
+ };
74
+ properties.push(property);
75
+ }
76
+ else {
77
+ const property = {
78
+ title: item.key,
79
+ subtitle: item.text,
80
+ childParentPlace: item.child_parent_place,
81
+ icon: item.icon,
82
+ imageUrl: item.imageUrl,
83
+ type: item.type,
84
+ iconPrefix: (_c = item.iconPrefix) !== null && _c !== void 0 ? _c : "fas",
85
+ sortChildrenBy: item.sortChildrenBy,
86
+ };
87
+ properties.push(property);
88
+ }
89
+ });
90
+ }
91
+ return properties;
92
+ }
93
+ catch (err) {
94
+ console.log(err);
95
+ console.log(response);
96
+ return [];
97
+ }
98
+ }
99
+ }
100
+ //# sourceMappingURL=property.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"property.js","sourceRoot":"","sources":["../../../../src/domain/models/property.ts"],"names":[],"mappings":"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"}