@carto/kepler.gl 0.0.74 → 0.0.75-alpha.deckv9.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 (416) hide show
  1. package/dist/actions/action-wrapper.js +20 -48
  2. package/dist/actions/actions.js +10 -19
  3. package/dist/actions/identity-actions.js +8 -17
  4. package/dist/actions/index.js +7 -24
  5. package/dist/actions/map-state-actions.js +10 -19
  6. package/dist/actions/map-style-actions.js +20 -35
  7. package/dist/actions/provider-actions.js +26 -42
  8. package/dist/actions/ui-state-actions.js +42 -70
  9. package/dist/actions/vis-state-actions.js +102 -162
  10. package/dist/cloud-providers/index.js +8 -8
  11. package/dist/cloud-providers/provider.js +55 -94
  12. package/dist/components/bottom-widget.js +47 -48
  13. package/dist/components/common/action-panel.js +39 -38
  14. package/dist/components/common/animation-control/animation-control.js +40 -38
  15. package/dist/components/common/animation-control/animation-controller.js +47 -70
  16. package/dist/components/common/animation-control/animation-speed-slider.js +28 -38
  17. package/dist/components/common/animation-control/floating-time-display.js +56 -67
  18. package/dist/components/common/animation-control/playback-controls.js +64 -80
  19. package/dist/components/common/animation-control/speed-control.js +26 -24
  20. package/dist/components/common/checkbox.js +31 -52
  21. package/dist/components/common/color-legend.js +40 -72
  22. package/dist/components/common/data-table/button.js +29 -22
  23. package/dist/components/common/data-table/canvas.js +21 -10
  24. package/dist/components/common/data-table/cell-size.js +54 -58
  25. package/dist/components/common/data-table/grid.js +30 -31
  26. package/dist/components/common/data-table/index.js +91 -133
  27. package/dist/components/common/data-table/option-dropdown.js +29 -33
  28. package/dist/components/common/dataset-label.js +21 -13
  29. package/dist/components/common/error-boundary.js +25 -30
  30. package/dist/components/common/field-selector.js +35 -69
  31. package/dist/components/common/field-token.js +21 -16
  32. package/dist/components/common/file-uploader/file-drop.js +40 -55
  33. package/dist/components/common/file-uploader/file-upload-progress.js +32 -30
  34. package/dist/components/common/file-uploader/file-upload.js +52 -91
  35. package/dist/components/common/file-uploader/upload-button.js +31 -42
  36. package/dist/components/common/histogram-plot.js +32 -27
  37. package/dist/components/common/icons/add.js +27 -27
  38. package/dist/components/common/icons/anchor_window.js +3 -9
  39. package/dist/components/common/icons/arrow-down-alt.js +27 -27
  40. package/dist/components/common/icons/arrow-down-solid .js +27 -27
  41. package/dist/components/common/icons/arrow-down.js +27 -27
  42. package/dist/components/common/icons/arrow-left.js +27 -27
  43. package/dist/components/common/icons/arrow-right.js +27 -27
  44. package/dist/components/common/icons/arrow-up-alt.js +27 -27
  45. package/dist/components/common/icons/arrow-up-solid.js +27 -27
  46. package/dist/components/common/icons/arrow-up.js +27 -27
  47. package/dist/components/common/icons/base.js +38 -42
  48. package/dist/components/common/icons/bug.js +27 -27
  49. package/dist/components/common/icons/cancel.js +27 -27
  50. package/dist/components/common/icons/checkmark.js +27 -28
  51. package/dist/components/common/icons/chevron-right.js +27 -27
  52. package/dist/components/common/icons/clipboard.js +27 -27
  53. package/dist/components/common/icons/clock.js +27 -27
  54. package/dist/components/common/icons/close.js +27 -27
  55. package/dist/components/common/icons/code-alt.js +27 -28
  56. package/dist/components/common/icons/copy.js +27 -28
  57. package/dist/components/common/icons/crosshairs.js +27 -28
  58. package/dist/components/common/icons/cube-3d.js +27 -27
  59. package/dist/components/common/icons/cursor-click.js +27 -27
  60. package/dist/components/common/icons/data-table.js +27 -27
  61. package/dist/components/common/icons/db.js +27 -27
  62. package/dist/components/common/icons/delete.js +27 -27
  63. package/dist/components/common/icons/docs.js +27 -27
  64. package/dist/components/common/icons/drag-n-drop.js +27 -27
  65. package/dist/components/common/icons/draw-polygon.js +27 -27
  66. package/dist/components/common/icons/email.js +27 -27
  67. package/dist/components/common/icons/expand.js +27 -27
  68. package/dist/components/common/icons/eye-seen.js +27 -27
  69. package/dist/components/common/icons/eye-unseen.js +27 -27
  70. package/dist/components/common/icons/file-type.js +23 -16
  71. package/dist/components/common/icons/file.js +27 -27
  72. package/dist/components/common/icons/files.js +24 -26
  73. package/dist/components/common/icons/filter-funnel.js +27 -27
  74. package/dist/components/common/icons/free-window.js +3 -9
  75. package/dist/components/common/icons/gear.js +27 -27
  76. package/dist/components/common/icons/hash.js +27 -27
  77. package/dist/components/common/icons/histogram.js +24 -25
  78. package/dist/components/common/icons/index.js +63 -138
  79. package/dist/components/common/icons/info.js +27 -28
  80. package/dist/components/common/icons/layers.js +27 -27
  81. package/dist/components/common/icons/left-arrow.js +27 -28
  82. package/dist/components/common/icons/legend.js +27 -27
  83. package/dist/components/common/icons/line-chart.js +27 -27
  84. package/dist/components/common/icons/login.js +27 -27
  85. package/dist/components/common/icons/logout.js +27 -27
  86. package/dist/components/common/icons/map-icon.js +27 -28
  87. package/dist/components/common/icons/map.js +27 -28
  88. package/dist/components/common/icons/messages.js +27 -27
  89. package/dist/components/common/icons/minus.js +27 -27
  90. package/dist/components/common/icons/pause.js +27 -27
  91. package/dist/components/common/icons/picture.js +24 -26
  92. package/dist/components/common/icons/pin.js +27 -27
  93. package/dist/components/common/icons/play.js +27 -27
  94. package/dist/components/common/icons/polygon.js +27 -27
  95. package/dist/components/common/icons/rectangle.js +27 -27
  96. package/dist/components/common/icons/reduce.js +27 -27
  97. package/dist/components/common/icons/reset.js +27 -27
  98. package/dist/components/common/icons/rocket.js +27 -27
  99. package/dist/components/common/icons/save.js +27 -27
  100. package/dist/components/common/icons/save2.js +27 -27
  101. package/dist/components/common/icons/search.js +27 -27
  102. package/dist/components/common/icons/settings.js +27 -27
  103. package/dist/components/common/icons/share.js +27 -27
  104. package/dist/components/common/icons/split.js +27 -27
  105. package/dist/components/common/icons/square-select.js +27 -27
  106. package/dist/components/common/icons/swap-horizontal.js +27 -28
  107. package/dist/components/common/icons/table.js +27 -27
  108. package/dist/components/common/icons/trash.js +27 -27
  109. package/dist/components/common/icons/upload.js +27 -27
  110. package/dist/components/common/icons/vert-dots.js +27 -27
  111. package/dist/components/common/icons/vert-three-dots.js +27 -27
  112. package/dist/components/common/icons/warning.js +27 -28
  113. package/dist/components/common/image-preview.js +36 -29
  114. package/dist/components/common/info-helper.js +26 -25
  115. package/dist/components/common/item-selector/accessor.js +3 -5
  116. package/dist/components/common/item-selector/chickleted-input.js +41 -43
  117. package/dist/components/common/item-selector/dropdown-list.js +44 -74
  118. package/dist/components/common/item-selector/item-selector-submenu.js +29 -38
  119. package/dist/components/common/item-selector/item-selector.js +36 -84
  120. package/dist/components/common/item-selector/typeahead.js +37 -83
  121. package/dist/components/common/line-chart.js +39 -36
  122. package/dist/components/common/loading-spinner.js +33 -25
  123. package/dist/components/common/logo.js +24 -22
  124. package/dist/components/common/map-layer-selector.js +23 -16
  125. package/dist/components/common/modal.js +36 -61
  126. package/dist/components/common/portaled.js +56 -97
  127. package/dist/components/common/progress-bar.js +29 -20
  128. package/dist/components/common/range-brush.js +63 -104
  129. package/dist/components/common/range-plot.js +47 -52
  130. package/dist/components/common/range-slider.js +52 -78
  131. package/dist/components/common/slider/mouse-event.js +11 -37
  132. package/dist/components/common/slider/slider-bar-handle.js +31 -39
  133. package/dist/components/common/slider/slider-handle.js +35 -44
  134. package/dist/components/common/slider/slider.js +55 -82
  135. package/dist/components/common/styled-components.js +64 -169
  136. package/dist/components/common/switch.js +22 -16
  137. package/dist/components/common/time-range-slider-time-title.js +24 -19
  138. package/dist/components/common/time-range-slider.js +41 -38
  139. package/dist/components/common/time-slider-marker.js +36 -41
  140. package/dist/components/common/toolbar-item.js +22 -16
  141. package/dist/components/common/toolbar.js +21 -10
  142. package/dist/components/common/vertical-toolbar.js +21 -10
  143. package/dist/components/container.js +49 -70
  144. package/dist/components/context.js +6 -10
  145. package/dist/components/editor/constants.js +6 -8
  146. package/dist/components/editor/editor.js +40 -72
  147. package/dist/components/editor/feature-action-panel.js +35 -43
  148. package/dist/components/editor/feature-styles.js +35 -40
  149. package/dist/components/editor/handle-style.js +35 -37
  150. package/dist/components/filters/components.js +21 -10
  151. package/dist/components/filters/filter-panels/filter-panel-with-field-select.js +14 -25
  152. package/dist/components/filters/filter-panels/multi-select-filter-panel.js +14 -21
  153. package/dist/components/filters/filter-panels/new-filter-panel.js +13 -23
  154. package/dist/components/filters/filter-panels/polygon-filter-panel.js +13 -25
  155. package/dist/components/filters/filter-panels/range-filter-panel.js +14 -21
  156. package/dist/components/filters/filter-panels/single-select-filter-panel.js +14 -21
  157. package/dist/components/filters/filter-panels/time-range-filter-panel.js +14 -23
  158. package/dist/components/filters/index.js +11 -17
  159. package/dist/components/filters/multi-select-filter.js +3 -9
  160. package/dist/components/filters/polygon-filter.js +8 -18
  161. package/dist/components/filters/range-filter.js +3 -8
  162. package/dist/components/filters/single-select-filter.js +3 -9
  163. package/dist/components/filters/time-range-filter.js +7 -18
  164. package/dist/components/filters/time-widget.js +41 -51
  165. package/dist/components/geocoder/geocoder.js +95 -128
  166. package/dist/components/geocoder-panel.js +37 -62
  167. package/dist/components/index.js +356 -498
  168. package/dist/components/injector.js +42 -58
  169. package/dist/components/kepler-gl.js +65 -158
  170. package/dist/components/map/coordinate-info.js +4 -13
  171. package/dist/components/map/layer-hover-info.js +40 -48
  172. package/dist/components/map/layer-selector-panel.js +17 -30
  173. package/dist/components/map/locale-panel.js +13 -27
  174. package/dist/components/map/map-control-panel.js +27 -24
  175. package/dist/components/map/map-control-toolbar.js +21 -11
  176. package/dist/components/map/map-control-tooltip.js +4 -11
  177. package/dist/components/map/map-control.js +26 -27
  178. package/dist/components/map/map-draw-panel.js +12 -29
  179. package/dist/components/map/map-legend-panel.js +17 -34
  180. package/dist/components/map/map-legend.js +52 -70
  181. package/dist/components/map/map-popover.js +41 -57
  182. package/dist/components/map/split-map-button.js +13 -25
  183. package/dist/components/map/toggle-3d-button.js +10 -21
  184. package/dist/components/map-container.js +98 -145
  185. package/dist/components/maps-layout.js +24 -26
  186. package/dist/components/modal-container.js +60 -112
  187. package/dist/components/modals/add-map-style-modal.js +37 -67
  188. package/dist/components/modals/cloud-tile.js +36 -36
  189. package/dist/components/modals/data-table-modal.js +51 -81
  190. package/dist/components/modals/delete-data-modal.js +24 -20
  191. package/dist/components/modals/error-display.js +3 -10
  192. package/dist/components/modals/export-data-modal.js +37 -54
  193. package/dist/components/modals/export-image-modal.js +31 -28
  194. package/dist/components/modals/export-map-modal/components.js +27 -27
  195. package/dist/components/modals/export-map-modal/export-html-map.js +27 -27
  196. package/dist/components/modals/export-map-modal/export-json-map.js +22 -22
  197. package/dist/components/modals/export-map-modal/export-map-modal.js +20 -40
  198. package/dist/components/modals/image-modal-container.js +9 -16
  199. package/dist/components/modals/load-data-modal.js +29 -33
  200. package/dist/components/modals/load-storage-map.js +42 -77
  201. package/dist/components/modals/loading-dialog.js +24 -18
  202. package/dist/components/modals/modal-dialog.js +3 -7
  203. package/dist/components/modals/modal-tabs.js +29 -29
  204. package/dist/components/modals/overwrite-map-modal.js +29 -28
  205. package/dist/components/modals/provider-modal-container.js +27 -27
  206. package/dist/components/modals/save-map-modal.js +43 -48
  207. package/dist/components/modals/share-map-modal.js +42 -53
  208. package/dist/components/modals/status-panel.js +24 -25
  209. package/dist/components/modals/storage-map-viewer.js +30 -43
  210. package/dist/components/notification-panel/notification-item.js +33 -47
  211. package/dist/components/notification-panel.js +30 -36
  212. package/dist/components/performance.js +11 -36
  213. package/dist/components/plot-container.js +42 -72
  214. package/dist/components/side-panel/cloud-storage-dropdown.js +4 -10
  215. package/dist/components/side-panel/common/dataset-info.js +20 -13
  216. package/dist/components/side-panel/common/dataset-tag.js +21 -12
  217. package/dist/components/side-panel/common/dataset-title.js +37 -52
  218. package/dist/components/side-panel/common/source-data-catalog.js +26 -22
  219. package/dist/components/side-panel/common/source-data-selector.js +34 -40
  220. package/dist/components/side-panel/custom-panel.js +5 -9
  221. package/dist/components/side-panel/filter-manager.js +18 -29
  222. package/dist/components/side-panel/filter-panel/filter-panel-header.js +30 -30
  223. package/dist/components/side-panel/filter-panel/filter-panel.js +36 -55
  224. package/dist/components/side-panel/interaction-manager.js +5 -12
  225. package/dist/components/side-panel/interaction-panel/brush-config.js +23 -19
  226. package/dist/components/side-panel/interaction-panel/interaction-panel.js +36 -59
  227. package/dist/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +34 -74
  228. package/dist/components/side-panel/interaction-panel/tooltip-config.js +28 -40
  229. package/dist/components/side-panel/layer-manager.js +51 -82
  230. package/dist/components/side-panel/layer-panel/color-dimension-scale-selector.js +3 -10
  231. package/dist/components/side-panel/layer-panel/color-palette.js +27 -23
  232. package/dist/components/side-panel/layer-panel/color-range-selector.js +52 -98
  233. package/dist/components/side-panel/layer-panel/color-selector.js +36 -67
  234. package/dist/components/side-panel/layer-panel/column-selector.js +26 -25
  235. package/dist/components/side-panel/layer-panel/custom-markers-config-group.js +2 -6
  236. package/dist/components/side-panel/layer-panel/custom-palette.js +37 -71
  237. package/dist/components/side-panel/layer-panel/custom-picker.js +32 -45
  238. package/dist/components/side-panel/layer-panel/dimension-scale-selector.js +8 -16
  239. package/dist/components/side-panel/layer-panel/hex-column-config.js +12 -34
  240. package/dist/components/side-panel/layer-panel/layer-aggregation-resolution.js +2 -10
  241. package/dist/components/side-panel/layer-panel/layer-column-config.js +31 -27
  242. package/dist/components/side-panel/layer-panel/layer-config-group.js +46 -80
  243. package/dist/components/side-panel/layer-panel/layer-configurator.js +158 -249
  244. package/dist/components/side-panel/layer-panel/layer-panel-header.js +52 -66
  245. package/dist/components/side-panel/layer-panel/layer-panel.js +33 -54
  246. package/dist/components/side-panel/layer-panel/layer-type-dropdown-list.js +28 -22
  247. package/dist/components/side-panel/layer-panel/layer-type-list-item.js +22 -18
  248. package/dist/components/side-panel/layer-panel/layer-type-selector.js +29 -32
  249. package/dist/components/side-panel/layer-panel/layer-visibility-by-zoom.js +35 -40
  250. package/dist/components/side-panel/layer-panel/single-color-palette.js +32 -42
  251. package/dist/components/side-panel/layer-panel/text-label-panel.js +31 -42
  252. package/dist/components/side-panel/layer-panel/vis-config-by-field-selector.js +39 -52
  253. package/dist/components/side-panel/layer-panel/vis-config-slider.js +10 -19
  254. package/dist/components/side-panel/layer-panel/vis-config-switch.js +28 -29
  255. package/dist/components/side-panel/map-manager.js +32 -46
  256. package/dist/components/side-panel/map-style-panel/map-layer-selector.js +28 -31
  257. package/dist/components/side-panel/map-style-panel/map-style-selector.js +26 -24
  258. package/dist/components/side-panel/panel-dropdown.js +28 -35
  259. package/dist/components/side-panel/panel-header-action.js +38 -43
  260. package/dist/components/side-panel/panel-header.js +54 -92
  261. package/dist/components/side-panel/panel-tab.js +24 -20
  262. package/dist/components/side-panel/panel-title.js +21 -10
  263. package/dist/components/side-panel/panel-toggle.js +26 -23
  264. package/dist/components/side-panel/side-bar.js +37 -53
  265. package/dist/components/side-panel.js +56 -65
  266. package/dist/connect/keplergl-connect.js +5 -14
  267. package/dist/connect/with-local-selector.js +33 -38
  268. package/dist/constants/action-types.js +5 -6
  269. package/dist/constants/color-palette.js +12 -23
  270. package/dist/constants/color-ranges.js +32 -31
  271. package/dist/constants/custom-color-ranges.js +9 -14
  272. package/dist/constants/default-settings.js +154 -239
  273. package/dist/constants/index.js +95 -103
  274. package/dist/constants/keyevent.js +3 -7
  275. package/dist/constants/tooltip.js +7 -10
  276. package/dist/constants/user-feedbacks.js +5 -6
  277. package/dist/constants/user-guides.js +12 -20
  278. package/dist/deckgl-layers/3d-building-layer/3d-building-layer.js +29 -32
  279. package/dist/deckgl-layers/3d-building-layer/3d-building-utils.js +10 -43
  280. package/dist/deckgl-layers/cluster-layer/cluster-layer.js +54 -75
  281. package/dist/deckgl-layers/column-layer/enhanced-column-layer.js +29 -32
  282. package/dist/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.js +29 -30
  283. package/dist/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.js +29 -30
  284. package/dist/deckgl-layers/layer-utils/cluster-utils.js +10 -21
  285. package/dist/deckgl-layers/layer-utils/cpu-aggregator.js +75 -132
  286. package/dist/deckgl-layers/layer-utils/shader-utils.js +1 -5
  287. package/dist/deckgl-layers/line-layer/line-layer.js +27 -34
  288. package/dist/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.js +26 -30
  289. package/dist/deckgl-layers/svg-icon-layer/svg-icon-layer.js +33 -39
  290. package/dist/index.js +4 -23
  291. package/dist/layers/aggregation-layer.js +63 -97
  292. package/dist/layers/arc-layer/arc-layer-icon.js +27 -27
  293. package/dist/layers/arc-layer/arc-layer.js +48 -73
  294. package/dist/layers/base-layer.js +255 -406
  295. package/dist/layers/cluster-layer/cluster-layer-icon.js +27 -27
  296. package/dist/layers/cluster-layer/cluster-layer.js +33 -44
  297. package/dist/layers/default-layer-icon.js +27 -27
  298. package/dist/layers/geojson-layer/geojson-layer-icon.js +27 -27
  299. package/dist/layers/geojson-layer/geojson-layer.js +54 -87
  300. package/dist/layers/geojson-layer/geojson-utils.js +35 -47
  301. package/dist/layers/grid-layer/grid-layer-icon.js +27 -27
  302. package/dist/layers/grid-layer/grid-layer.js +30 -41
  303. package/dist/layers/grid-layer/grid-utils.js +6 -9
  304. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer-icon.js +27 -27
  305. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer.js +48 -80
  306. package/dist/layers/h3-hexagon-layer/h3-utils.js +10 -21
  307. package/dist/layers/heatmap-layer/heatmap-layer-icon.js +27 -27
  308. package/dist/layers/heatmap-layer/heatmap-layer.js +45 -72
  309. package/dist/layers/hexagon-layer/hexagon-layer-icon.js +27 -27
  310. package/dist/layers/hexagon-layer/hexagon-layer.js +30 -42
  311. package/dist/layers/hexagon-layer/hexagon-utils.js +3 -15
  312. package/dist/layers/icon-layer/icon-info-modal.js +23 -26
  313. package/dist/layers/icon-layer/icon-layer-icon.js +27 -27
  314. package/dist/layers/icon-layer/icon-layer.js +59 -97
  315. package/dist/layers/index.js +38 -39
  316. package/dist/layers/layer-factory.js +38 -42
  317. package/dist/layers/layer-text-label.js +7 -17
  318. package/dist/layers/layer-update.js +3 -14
  319. package/dist/layers/line-layer/line-layer-icon.js +27 -27
  320. package/dist/layers/line-layer/line-layer.js +46 -66
  321. package/dist/layers/mapbox-utils.js +38 -51
  322. package/dist/layers/mapboxgl-layer.js +43 -58
  323. package/dist/layers/point-layer/point-layer-icon.js +27 -27
  324. package/dist/layers/point-layer/point-layer.js +57 -90
  325. package/dist/layers/s2-geometry-layer/s2-geometry-layer.js +41 -73
  326. package/dist/layers/s2-geometry-layer/s2-layer-icon.js +27 -27
  327. package/dist/layers/s2-geometry-layer/s2-utils.js +5 -11
  328. package/dist/layers/scenegraph-layer/scenegraph-info-modal.js +21 -15
  329. package/dist/layers/scenegraph-layer/scenegraph-layer-icon.js +27 -27
  330. package/dist/layers/scenegraph-layer/scenegraph-layer.js +52 -75
  331. package/dist/layers/trip-layer/trip-info-modal.js +21 -16
  332. package/dist/layers/trip-layer/trip-layer-icon.js +27 -27
  333. package/dist/layers/trip-layer/trip-layer.js +51 -93
  334. package/dist/layers/trip-layer/trip-utils.js +16 -39
  335. package/dist/layers/types.js +3 -6
  336. package/dist/localization/en.js +22 -11
  337. package/dist/localization/formatted-message.js +5 -10
  338. package/dist/localization/index.js +7 -13
  339. package/dist/localization/locales.js +7 -12
  340. package/dist/middleware/index.js +2 -5
  341. package/dist/processors/data-processor.js +113 -177
  342. package/dist/processors/file-handler.js +200 -276
  343. package/dist/processors/index.js +33 -35
  344. package/dist/reducers/combined-updaters.js +35 -46
  345. package/dist/reducers/composer-helpers.js +28 -27
  346. package/dist/reducers/composers.js +25 -12
  347. package/dist/reducers/core.js +13 -46
  348. package/dist/reducers/index.js +24 -38
  349. package/dist/reducers/map-state-updaters.js +53 -65
  350. package/dist/reducers/map-state.js +31 -26
  351. package/dist/reducers/map-style-updaters.js +92 -136
  352. package/dist/reducers/map-style.js +31 -26
  353. package/dist/reducers/provider-state-updaters.js +92 -167
  354. package/dist/reducers/provider-state.js +32 -25
  355. package/dist/reducers/root.js +44 -50
  356. package/dist/reducers/ui-state-updaters.js +102 -202
  357. package/dist/reducers/ui-state.js +32 -26
  358. package/dist/reducers/vis-state-merger.js +102 -166
  359. package/dist/reducers/vis-state-selectors.js +5 -10
  360. package/dist/reducers/vis-state-updaters.js +386 -663
  361. package/dist/reducers/vis-state.js +32 -25
  362. package/dist/schemas/dataset-schema.js +36 -56
  363. package/dist/schemas/index.js +38 -45
  364. package/dist/schemas/map-state-schema.js +28 -24
  365. package/dist/schemas/map-style-schema.js +34 -48
  366. package/dist/schemas/schema-manager.js +44 -62
  367. package/dist/schemas/schema-utils.js +11 -15
  368. package/dist/schemas/schema.js +32 -27
  369. package/dist/schemas/versions.js +5 -9
  370. package/dist/schemas/vis-state-schema.js +109 -309
  371. package/dist/styles/base.js +367 -640
  372. package/dist/styles/index.js +1 -5
  373. package/dist/styles/media-breakpoints.js +21 -9
  374. package/dist/tasks/tasks.js +22 -50
  375. package/dist/templates/export-map-html.js +3 -6
  376. package/dist/utils/aggregate-utils.js +23 -27
  377. package/dist/utils/color-utils.js +36 -38
  378. package/dist/utils/custom-scales.js +1 -7
  379. package/dist/utils/data-scale-utils.js +11 -20
  380. package/dist/utils/data-utils.js +78 -137
  381. package/dist/utils/dataset-utils.js +71 -88
  382. package/dist/utils/dom-to-image.js +15 -93
  383. package/dist/utils/dom-utils.js +34 -116
  384. package/dist/utils/export-utils.js +65 -102
  385. package/dist/utils/filter-utils.js +170 -320
  386. package/dist/utils/gl-utils.js +39 -23
  387. package/dist/utils/gpu-filter-utils.js +46 -59
  388. package/dist/utils/index.js +68 -80
  389. package/dist/utils/interaction-utils.js +26 -50
  390. package/dist/utils/layer-utils.js +58 -63
  391. package/dist/utils/locale-utils.js +23 -21
  392. package/dist/utils/map-info-utils.js +2 -3
  393. package/dist/utils/map-style-utils/mapbox-gl-style-editor.js +72 -71
  394. package/dist/utils/map-style-utils/mapbox-utils.js +3 -5
  395. package/dist/utils/mapbox-utils.js +2 -5
  396. package/dist/utils/notifications-utils.js +36 -35
  397. package/dist/utils/observe-dimensions.js +36 -41
  398. package/dist/utils/projection-utils.js +9 -20
  399. package/dist/utils/searcher-utils.js +1 -4
  400. package/dist/utils/split-map-utils.js +36 -32
  401. package/dist/utils/table-utils/data-container-utils.js +27 -23
  402. package/dist/utils/table-utils/data-row.js +2 -13
  403. package/dist/utils/table-utils/index.js +1 -2
  404. package/dist/utils/table-utils/indexed-data-container.js +65 -84
  405. package/dist/utils/table-utils/kepler-table.js +83 -126
  406. package/dist/utils/table-utils/row-data-container.js +62 -87
  407. package/dist/utils/utils.js +51 -69
  408. package/package.json +4 -3
  409. package/src/components/kepler-gl.d.ts +0 -1
  410. package/src/components/kepler-gl.js +0 -7
  411. package/src/components/map-container.js +0 -3
  412. package/src/components/modal-container.d.ts +0 -1
  413. package/src/components/modal-container.js +0 -2
  414. package/src/components/modals/add-map-style-modal.js +0 -3
  415. package/src/utils/gl-utils.js +16 -15
  416. package/CHANGELOG.md +0 -954
@@ -1,45 +1,52 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
7
+ exports["default"] = useDimensions;
8
8
  exports.observeDimensions = observeDimensions;
9
9
  exports.unobserveDimensions = unobserveDimensions;
10
- exports["default"] = useDimensions;
11
-
12
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
-
14
11
  var _lodash = _interopRequireDefault(require("lodash.throttle"));
15
-
16
12
  var _react = require("react");
17
-
18
13
  var _resizeObserverPolyfill = _interopRequireDefault(require("resize-observer-polyfill"));
19
-
20
- function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
21
-
14
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
22
15
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
23
-
24
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
25
-
26
- var DEFAULT_THROTTLE_DELAY = 100; // Using a single ResizeObserver for all elements can be 10x
16
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; } // Copyright (c) 2022 Uber Technologies, Inc.
17
+ //
18
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
19
+ // of this software and associated documentation files (the "Software"), to deal
20
+ // in the Software without restriction, including without limitation the rights
21
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
22
+ // copies of the Software, and to permit persons to whom the Software is
23
+ // furnished to do so, subject to the following conditions:
24
+ //
25
+ // The above copyright notice and this permission notice shall be included in
26
+ // all copies or substantial portions of the Software.
27
+ //
28
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
29
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
30
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
31
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
32
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
33
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
34
+ // THE SOFTWARE.
35
+ var DEFAULT_THROTTLE_DELAY = 100;
36
+
37
+ // Using a single ResizeObserver for all elements can be 10x
27
38
  // more performant than using a separate ResizeObserver per element
28
39
  // https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/z6ienONUb5A/F5-VcUZtBAAJ
29
-
30
40
  var _observerRegistry;
31
-
32
41
  function getObserverRegistry() {
33
42
  if (_observerRegistry === undefined) {
34
43
  var callbacks = new Map();
35
44
  var resizeObserver = new _resizeObserverPolyfill["default"](function (entries, observer) {
36
45
  var _iterator = _createForOfIteratorHelper(entries),
37
- _step;
38
-
46
+ _step;
39
47
  try {
40
48
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
41
49
  var _callbacks$get;
42
-
43
50
  var entry = _step.value;
44
51
  (_callbacks$get = callbacks.get(entry.target)) === null || _callbacks$get === void 0 ? void 0 : _callbacks$get(entry, observer);
45
52
  }
@@ -60,10 +67,8 @@ function getObserverRegistry() {
60
67
  }
61
68
  };
62
69
  }
63
-
64
70
  return _observerRegistry;
65
71
  }
66
-
67
72
  function observeDimensions(target, handleResize) {
68
73
  var throttleDelay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_THROTTLE_DELAY;
69
74
  var registry = getObserverRegistry();
@@ -72,36 +77,32 @@ function observeDimensions(target, handleResize) {
72
77
  return handler(getSize(target, entry));
73
78
  });
74
79
  }
75
-
76
80
  function unobserveDimensions(target) {
77
81
  var registry = getObserverRegistry();
78
82
  registry.unsubscribe(target);
79
83
  }
80
-
81
84
  function getSize(node, entry) {
82
85
  if (entry.contentRect) {
83
86
  var _entry$contentRect = entry.contentRect,
84
- width = _entry$contentRect.width,
85
- height = _entry$contentRect.height;
87
+ width = _entry$contentRect.width,
88
+ height = _entry$contentRect.height;
86
89
  return {
87
90
  width: width,
88
91
  height: height
89
92
  };
90
93
  }
91
-
92
94
  if (node.getBoundingClientRect) {
93
95
  var _node$getBoundingClie = node.getBoundingClientRect(),
94
- _width = _node$getBoundingClie.width,
95
- _height = _node$getBoundingClie.height;
96
-
96
+ _width = _node$getBoundingClie.width,
97
+ _height = _node$getBoundingClie.height;
97
98
  return {
98
99
  width: _width,
99
100
  height: _height
100
101
  };
101
102
  }
102
-
103
103
  return null;
104
104
  }
105
+
105
106
  /**
106
107
  * Usage example:
107
108
  * const [ref, dimensions] = useDimensions<HTMLDivElement>();
@@ -109,29 +110,22 @@ function getSize(node, entry) {
109
110
  * @param throttleDelay
110
111
  * @returns {[React.RefObject<Element>, {width: number, height: number} | null]}
111
112
  */
112
-
113
-
114
113
  function useDimensions() {
115
114
  var throttleDelay = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_THROTTLE_DELAY;
116
115
  var ref = (0, _react.useRef)(null);
117
-
118
116
  var _useState = (0, _react.useState)(null),
119
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
120
- size = _useState2[0],
121
- setSize = _useState2[1];
122
-
117
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
118
+ size = _useState2[0],
119
+ setSize = _useState2[1];
123
120
  (0, _react.useEffect)(function () {
124
121
  var current = ref.current;
125
-
126
122
  if (!current) {
127
123
  return;
128
124
  }
129
-
130
125
  var didUnobserve = false;
131
126
  observeDimensions(current, function (entry) {
132
127
  if (didUnobserve) return;
133
128
  var newSize = getSize(current, entry);
134
-
135
129
  if (newSize) {
136
130
  // @ts-ignore
137
131
  setSize(newSize);
@@ -140,8 +134,9 @@ function useDimensions() {
140
134
  return function () {
141
135
  didUnobserve = true;
142
136
  unobserveDimensions(current);
143
- }; // eslint-disable-next-line react-hooks/exhaustive-deps
137
+ };
138
+ // eslint-disable-next-line react-hooks/exhaustive-deps
144
139
  }, [throttleDelay]);
145
140
  return [ref, size];
146
141
  }
147
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9vYnNlcnZlLWRpbWVuc2lvbnMuanMiXSwibmFtZXMiOlsiREVGQVVMVF9USFJPVFRMRV9ERUxBWSIsIl9vYnNlcnZlclJlZ2lzdHJ5IiwiZ2V0T2JzZXJ2ZXJSZWdpc3RyeSIsInVuZGVmaW5lZCIsImNhbGxiYWNrcyIsIk1hcCIsInJlc2l6ZU9ic2VydmVyIiwiUmVzaXplT2JzZXJ2ZXIiLCJlbnRyaWVzIiwib2JzZXJ2ZXIiLCJlbnRyeSIsImdldCIsInRhcmdldCIsInN1YnNjcmliZSIsImNhbGxiYWNrIiwib2JzZXJ2ZSIsInNldCIsInVuc3Vic2NyaWJlIiwidW5vYnNlcnZlIiwib2JzZXJ2ZURpbWVuc2lvbnMiLCJoYW5kbGVSZXNpemUiLCJ0aHJvdHRsZURlbGF5IiwicmVnaXN0cnkiLCJoYW5kbGVyIiwiZ2V0U2l6ZSIsInVub2JzZXJ2ZURpbWVuc2lvbnMiLCJub2RlIiwiY29udGVudFJlY3QiLCJ3aWR0aCIsImhlaWdodCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInVzZURpbWVuc2lvbnMiLCJyZWYiLCJzaXplIiwic2V0U2l6ZSIsImN1cnJlbnQiLCJkaWRVbm9ic2VydmUiLCJuZXdTaXplIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOzs7Ozs7OztBQUVBLElBQU1BLHNCQUFzQixHQUFHLEdBQS9CLEMsQ0FFQTtBQUNBO0FBQ0E7O0FBQ0EsSUFBSUMsaUJBQUo7O0FBRUEsU0FBU0MsbUJBQVQsR0FBK0I7QUFDN0IsTUFBSUQsaUJBQWlCLEtBQUtFLFNBQTFCLEVBQXFDO0FBQ25DLFFBQU1DLFNBQVMsR0FBRyxJQUFJQyxHQUFKLEVBQWxCO0FBQ0EsUUFBTUMsY0FBYyxHQUFHLElBQUlDLGtDQUFKLENBQW1CLFVBQUNDLE9BQUQsRUFBVUMsUUFBVixFQUF1QjtBQUFBLGlEQUMzQ0QsT0FEMkM7QUFBQTs7QUFBQTtBQUMvRCw0REFBNkI7QUFBQTs7QUFBQSxjQUFsQkUsS0FB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QixZQUFKLEVBQWtCO0FBQ2xCLFVBQU1DLE9BQU8sR0FBR2IsT0FBTyxDQUFDVyxPQUFELEVBQVV6QixLQUFWLENBQXZCOztBQUNBLFVBQUkyQixPQUFKLEVBQWE7QUFDWDtBQUNBSCxRQUFBQSxPQUFPLENBQUNHLE9BQUQsQ0FBUDtBQUNEO0FBQ0YsS0FUYyxFQVVmaEIsYUFWZSxDQUFqQjtBQVlBLFdBQU8sWUFBTTtBQUNYZSxNQUFBQSxZQUFZLEdBQUcsSUFBZjtBQUNBWCxNQUFBQSxtQkFBbUIsQ0FBQ1UsT0FBRCxDQUFuQjtBQUNELEtBSEQsQ0FuQmMsQ0F1QmQ7QUFDRCxHQXhCRCxFQXdCRyxDQUFDZCxhQUFELENBeEJIO0FBMEJBLFNBQU8sQ0FBQ1csR0FBRCxFQUFNQyxJQUFOLENBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCB0aHJvdHRsZSBmcm9tICdsb2Rhc2gudGhyb3R0bGUnO1xuaW1wb3J0IHt1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBSZXNpemVPYnNlcnZlciBmcm9tICdyZXNpemUtb2JzZXJ2ZXItcG9seWZpbGwnO1xuXG5jb25zdCBERUZBVUxUX1RIUk9UVExFX0RFTEFZID0gMTAwO1xuXG4vLyBVc2luZyBhIHNpbmdsZSBSZXNpemVPYnNlcnZlciBmb3IgYWxsIGVsZW1lbnRzIGNhbiBiZSAxMHhcbi8vIG1vcmUgcGVyZm9ybWFudCB0aGFuIHVzaW5nIGEgc2VwYXJhdGUgUmVzaXplT2JzZXJ2ZXIgcGVyIGVsZW1lbnRcbi8vIGh0dHBzOi8vZ3JvdXBzLmdvb2dsZS5jb20vYS9jaHJvbWl1bS5vcmcvZm9ydW0vIyFtc2cvYmxpbmstZGV2L3o2aWVuT05VYjVBL0Y1LVZjVVp0QkFBSlxubGV0IF9vYnNlcnZlclJlZ2lzdHJ5O1xuXG5mdW5jdGlvbiBnZXRPYnNlcnZlclJlZ2lzdHJ5KCkge1xuICBpZiAoX29ic2VydmVyUmVnaXN0cnkgPT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IGNhbGxiYWNrcyA9IG5ldyBNYXAoKTtcbiAgICBjb25zdCByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcywgb2JzZXJ2ZXIpID0+IHtcbiAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgICBjYWxsYmFja3MuZ2V0KGVudHJ5LnRhcmdldCk/LihlbnRyeSwgb2JzZXJ2ZXIpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIF9vYnNlcnZlclJlZ2lzdHJ5ID0ge1xuICAgICAgc3Vic2NyaWJlKHRhcmdldCwgY2FsbGJhY2spIHtcbiAgICAgICAgcmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0YXJnZXQpO1xuICAgICAgICBjYWxsYmFja3Muc2V0KHRhcmdldCwgY2FsbGJhY2spO1xuICAgICAgfSxcbiAgICAgIHVuc3Vic2NyaWJlKHRhcmdldCkge1xuICAgICAgICByZXNpemVPYnNlcnZlci51bm9ic2VydmUodGFyZ2V0KTtcbiAgICAgICAgY2FsbGJhY2tzLmRlbGV0ZSh0YXJnZXQpO1xuICAgICAgfVxuICAgIH07XG4gIH1cbiAgcmV0dXJuIF9vYnNlcnZlclJlZ2lzdHJ5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JzZXJ2ZURpbWVuc2lvbnModGFyZ2V0LCBoYW5kbGVSZXNpemUsIHRocm90dGxlRGVsYXkgPSBERUZBVUxUX1RIUk9UVExFX0RFTEFZKSB7XG4gIGNvbnN0IHJlZ2lzdHJ5ID0gZ2V0T2JzZXJ2ZXJSZWdpc3RyeSgpO1xuICBjb25zdCBoYW5kbGVyID0gdGhyb3R0bGVEZWxheSA+IDAgPyB0aHJvdHRsZShoYW5kbGVSZXNpemUsIHRocm90dGxlRGVsYXkpIDogaGFuZGxlUmVzaXplO1xuICByZWdpc3RyeS5zdWJzY3JpYmUodGFyZ2V0LCBlbnRyeSA9PiBoYW5kbGVyKGdldFNpemUodGFyZ2V0LCBlbnRyeSkpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVub2JzZXJ2ZURpbWVuc2lvbnModGFyZ2V0KSB7XG4gIGNvbnN0IHJlZ2lzdHJ5ID0gZ2V0T2JzZXJ2ZXJSZWdpc3RyeSgpO1xuICByZWdpc3RyeS51bnN1YnNjcmliZSh0YXJnZXQpO1xufVxuXG5mdW5jdGlvbiBnZXRTaXplKG5vZGUsIGVudHJ5KSB7XG4gIGlmIChlbnRyeS5jb250ZW50UmVjdCkge1xuICAgIGNvbnN0IHt3aWR0aCwgaGVpZ2h0fSA9IGVudHJ5LmNvbnRlbnRSZWN0O1xuICAgIHJldHVybiB7d2lkdGgsIGhlaWdodH07XG4gIH1cbiAgaWYgKG5vZGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KSB7XG4gICAgY29uc3Qge3dpZHRoLCBoZWlnaHR9ID0gbm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICByZXR1cm4ge3dpZHRoLCBoZWlnaHR9O1xuICB9XG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIFVzYWdlIGV4YW1wbGU6XG4gKiBjb25zdCBbcmVmLCBkaW1lbnNpb25zXSA9IHVzZURpbWVuc2lvbnM8SFRNTERpdkVsZW1lbnQ+KCk7XG4gKlxuICogQHBhcmFtIHRocm90dGxlRGVsYXlcbiAqIEByZXR1cm5zIHtbUmVhY3QuUmVmT2JqZWN0PEVsZW1lbnQ+LCB7d2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXJ9IHwgbnVsbF19XG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZURpbWVuc2lvbnModGhyb3R0bGVEZWxheSA9IERFRkFVTFRfVEhST1RUTEVfREVMQVkpIHtcbiAgY29uc3QgcmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBbc2l6ZSwgc2V0U2l6ZV0gPSB1c2VTdGF0ZShudWxsKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHtjdXJyZW50fSA9IHJlZjtcbiAgICBpZiAoIWN1cnJlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgZGlkVW5vYnNlcnZlID0gZmFsc2U7XG4gICAgb2JzZXJ2ZURpbWVuc2lvbnMoXG4gICAgICBjdXJyZW50LFxuICAgICAgZW50cnkgPT4ge1xuICAgICAgICBpZiAoZGlkVW5vYnNlcnZlKSByZXR1cm47XG4gICAgICAgIGNvbnN0IG5ld1NpemUgPSBnZXRTaXplKGN1cnJlbnQsIGVudHJ5KTtcbiAgICAgICAgaWYgKG5ld1NpemUpIHtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgc2V0U2l6ZShuZXdTaXplKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHRocm90dGxlRGVsYXlcbiAgICApO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkaWRVbm9ic2VydmUgPSB0cnVlO1xuICAgICAgdW5vYnNlcnZlRGltZW5zaW9ucyhjdXJyZW50KTtcbiAgICB9O1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW3Rocm90dGxlRGVsYXldKTtcblxuICByZXR1cm4gW3JlZiwgc2l6ZV07XG59XG4iXX0=
142
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfcmVzaXplT2JzZXJ2ZXJQb2x5ZmlsbCIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwibyIsImFsbG93QXJyYXlMaWtlIiwiaXQiLCJTeW1ib2wiLCJpdGVyYXRvciIsIkFycmF5IiwiaXNBcnJheSIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsImxlbmd0aCIsImkiLCJGIiwicyIsIm4iLCJkb25lIiwidmFsdWUiLCJlIiwiX2UiLCJmIiwiVHlwZUVycm9yIiwibm9ybWFsQ29tcGxldGlvbiIsImRpZEVyciIsImVyciIsImNhbGwiLCJzdGVwIiwibmV4dCIsIl9lMiIsIm1pbkxlbiIsIl9hcnJheUxpa2VUb0FycmF5IiwiT2JqZWN0IiwicHJvdG90eXBlIiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsImZyb20iLCJ0ZXN0IiwiYXJyIiwibGVuIiwiYXJyMiIsIkRFRkFVTFRfVEhST1RUTEVfREVMQVkiLCJfb2JzZXJ2ZXJSZWdpc3RyeSIsImdldE9ic2VydmVyUmVnaXN0cnkiLCJ1bmRlZmluZWQiLCJjYWxsYmFja3MiLCJNYXAiLCJyZXNpemVPYnNlcnZlciIsIlJlc2l6ZU9ic2VydmVyIiwiZW50cmllcyIsIm9ic2VydmVyIiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJfY2FsbGJhY2tzJGdldCIsImVudHJ5IiwiZ2V0IiwidGFyZ2V0Iiwic3Vic2NyaWJlIiwiY2FsbGJhY2siLCJvYnNlcnZlIiwic2V0IiwidW5zdWJzY3JpYmUiLCJ1bm9ic2VydmUiLCJvYnNlcnZlRGltZW5zaW9ucyIsImhhbmRsZVJlc2l6ZSIsInRocm90dGxlRGVsYXkiLCJhcmd1bWVudHMiLCJyZWdpc3RyeSIsImhhbmRsZXIiLCJ0aHJvdHRsZSIsImdldFNpemUiLCJ1bm9ic2VydmVEaW1lbnNpb25zIiwibm9kZSIsImNvbnRlbnRSZWN0IiwiX2VudHJ5JGNvbnRlbnRSZWN0Iiwid2lkdGgiLCJoZWlnaHQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJfbm9kZSRnZXRCb3VuZGluZ0NsaWUiLCJ1c2VEaW1lbnNpb25zIiwicmVmIiwidXNlUmVmIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2l6ZSIsInNldFNpemUiLCJ1c2VFZmZlY3QiLCJjdXJyZW50IiwiZGlkVW5vYnNlcnZlIiwibmV3U2l6ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9vYnNlcnZlLWRpbWVuc2lvbnMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IHRocm90dGxlIGZyb20gJ2xvZGFzaC50aHJvdHRsZSc7XG5pbXBvcnQge3VzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlc2l6ZU9ic2VydmVyIGZyb20gJ3Jlc2l6ZS1vYnNlcnZlci1wb2x5ZmlsbCc7XG5cbmNvbnN0IERFRkFVTFRfVEhST1RUTEVfREVMQVkgPSAxMDA7XG5cbi8vIFVzaW5nIGEgc2luZ2xlIFJlc2l6ZU9ic2VydmVyIGZvciBhbGwgZWxlbWVudHMgY2FuIGJlIDEweFxuLy8gbW9yZSBwZXJmb3JtYW50IHRoYW4gdXNpbmcgYSBzZXBhcmF0ZSBSZXNpemVPYnNlcnZlciBwZXIgZWxlbWVudFxuLy8gaHR0cHM6Ly9ncm91cHMuZ29vZ2xlLmNvbS9hL2Nocm9taXVtLm9yZy9mb3J1bS8jIW1zZy9ibGluay1kZXYvejZpZW5PTlViNUEvRjUtVmNVWnRCQUFKXG5sZXQgX29ic2VydmVyUmVnaXN0cnk7XG5cbmZ1bmN0aW9uIGdldE9ic2VydmVyUmVnaXN0cnkoKSB7XG4gIGlmIChfb2JzZXJ2ZXJSZWdpc3RyeSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgY2FsbGJhY2tzID0gbmV3IE1hcCgpO1xuICAgIGNvbnN0IHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKChlbnRyaWVzLCBvYnNlcnZlcikgPT4ge1xuICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICAgIGNhbGxiYWNrcy5nZXQoZW50cnkudGFyZ2V0KT8uKGVudHJ5LCBvYnNlcnZlcik7XG4gICAgICB9XG4gICAgfSk7XG4gICAgX29ic2VydmVyUmVnaXN0cnkgPSB7XG4gICAgICBzdWJzY3JpYmUodGFyZ2V0LCBjYWxsYmFjaykge1xuICAgICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKHRhcmdldCk7XG4gICAgICAgIGNhbGxiYWNrcy5zZXQodGFyZ2V0LCBjYWxsYmFjayk7XG4gICAgICB9LFxuICAgICAgdW5zdWJzY3JpYmUodGFyZ2V0KSB7XG4gICAgICAgIHJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZSh0YXJnZXQpO1xuICAgICAgICBjYWxsYmFja3MuZGVsZXRlKHRhcmdldCk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuICByZXR1cm4gX29ic2VydmVyUmVnaXN0cnk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvYnNlcnZlRGltZW5zaW9ucyh0YXJnZXQsIGhhbmRsZVJlc2l6ZSwgdGhyb3R0bGVEZWxheSA9IERFRkFVTFRfVEhST1RUTEVfREVMQVkpIHtcbiAgY29uc3QgcmVnaXN0cnkgPSBnZXRPYnNlcnZlclJlZ2lzdHJ5KCk7XG4gIGNvbnN0IGhhbmRsZXIgPSB0aHJvdHRsZURlbGF5ID4gMCA/IHRocm90dGxlKGhhbmRsZVJlc2l6ZSwgdGhyb3R0bGVEZWxheSkgOiBoYW5kbGVSZXNpemU7XG4gIHJlZ2lzdHJ5LnN1YnNjcmliZSh0YXJnZXQsIGVudHJ5ID0+IGhhbmRsZXIoZ2V0U2l6ZSh0YXJnZXQsIGVudHJ5KSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5vYnNlcnZlRGltZW5zaW9ucyh0YXJnZXQpIHtcbiAgY29uc3QgcmVnaXN0cnkgPSBnZXRPYnNlcnZlclJlZ2lzdHJ5KCk7XG4gIHJlZ2lzdHJ5LnVuc3Vic2NyaWJlKHRhcmdldCk7XG59XG5cbmZ1bmN0aW9uIGdldFNpemUobm9kZSwgZW50cnkpIHtcbiAgaWYgKGVudHJ5LmNvbnRlbnRSZWN0KSB7XG4gICAgY29uc3Qge3dpZHRoLCBoZWlnaHR9ID0gZW50cnkuY29udGVudFJlY3Q7XG4gICAgcmV0dXJuIHt3aWR0aCwgaGVpZ2h0fTtcbiAgfVxuICBpZiAobm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QpIHtcbiAgICBjb25zdCB7d2lkdGgsIGhlaWdodH0gPSBub2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIHJldHVybiB7d2lkdGgsIGhlaWdodH07XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogVXNhZ2UgZXhhbXBsZTpcbiAqIGNvbnN0IFtyZWYsIGRpbWVuc2lvbnNdID0gdXNlRGltZW5zaW9uczxIVE1MRGl2RWxlbWVudD4oKTtcbiAqXG4gKiBAcGFyYW0gdGhyb3R0bGVEZWxheVxuICogQHJldHVybnMge1tSZWFjdC5SZWZPYmplY3Q8RWxlbWVudD4sIHt3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlcn0gfCBudWxsXX1cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlRGltZW5zaW9ucyh0aHJvdHRsZURlbGF5ID0gREVGQVVMVF9USFJPVFRMRV9ERUxBWSkge1xuICBjb25zdCByZWYgPSB1c2VSZWYobnVsbCk7XG4gIGNvbnN0IFtzaXplLCBzZXRTaXplXSA9IHVzZVN0YXRlKG51bGwpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qge2N1cnJlbnR9ID0gcmVmO1xuICAgIGlmICghY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBkaWRVbm9ic2VydmUgPSBmYWxzZTtcbiAgICBvYnNlcnZlRGltZW5zaW9ucyhcbiAgICAgIGN1cnJlbnQsXG4gICAgICBlbnRyeSA9PiB7XG4gICAgICAgIGlmIChkaWRVbm9ic2VydmUpIHJldHVybjtcbiAgICAgICAgY29uc3QgbmV3U2l6ZSA9IGdldFNpemUoY3VycmVudCwgZW50cnkpO1xuICAgICAgICBpZiAobmV3U2l6ZSkge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBzZXRTaXplKG5ld1NpemUpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgdGhyb3R0bGVEZWxheVxuICAgICk7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRpZFVub2JzZXJ2ZSA9IHRydWU7XG4gICAgICB1bm9ic2VydmVEaW1lbnNpb25zKGN1cnJlbnQpO1xuICAgIH07XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbdGhyb3R0bGVEZWxheV0pO1xuXG4gIHJldHVybiBbcmVmLCBzaXplXTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQW9CQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSx1QkFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQXNELFNBQUFHLDJCQUFBQyxDQUFBLEVBQUFDLGNBQUEsUUFBQUMsRUFBQSxVQUFBQyxNQUFBLG9CQUFBSCxDQUFBLENBQUFHLE1BQUEsQ0FBQUMsUUFBQSxLQUFBSixDQUFBLHFCQUFBRSxFQUFBLFFBQUFHLEtBQUEsQ0FBQUMsT0FBQSxDQUFBTixDQUFBLE1BQUFFLEVBQUEsR0FBQUssMkJB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
@@ -1,17 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports.validateBounds = validateBounds;
9
7
  exports.getCenterAndZoomFromBounds = getCenterAndZoomFromBounds;
10
-
8
+ exports.validateBounds = validateBounds;
11
9
  var _geoViewport = _interopRequireDefault(require("@mapbox/geo-viewport"));
12
-
13
10
  var _console = _interopRequireDefault(require("global/console"));
14
-
15
11
  // Copyright (c) 2022 Uber Technologies, Inc.
16
12
  //
17
13
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -31,53 +27,46 @@ var _console = _interopRequireDefault(require("global/console"));
31
27
  // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
32
28
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
33
29
  // THE SOFTWARE.
34
- var MAPBOX_TILE_SIZE = 512;
35
30
 
31
+ var MAPBOX_TILE_SIZE = 512;
36
32
  function isLat(num) {
37
33
  return Number.isFinite(num) && num <= 90 && num >= -90;
38
34
  }
39
-
40
35
  function isLng(num) {
41
36
  return Number.isFinite(num) && num <= 180 && num >= -180;
42
37
  }
38
+
43
39
  /**
44
40
  * bounds should be [minLng, minLat, maxLng, maxLat]
45
41
  * @param {*} bounds
46
42
  */
47
-
48
-
49
43
  function validateBounds(bounds) {
50
44
  // array: [ -180, -85.05112877980659, 180, 85.0511287798066 ]
51
45
  // validate bounds
52
46
  if (Array.isArray(bounds) && bounds.length === 4 && [bounds[0], bounds[2]].every(isLng) && [bounds[1], bounds[3]].every(isLat)) {
53
47
  return bounds;
54
48
  }
55
-
56
49
  return null;
57
50
  }
58
-
59
51
  function getCenterAndZoomFromBounds(bounds, _ref) {
60
52
  var width = _ref.width,
61
- height = _ref.height;
53
+ height = _ref.height;
62
54
  var validBounds = validateBounds(bounds);
63
-
64
55
  if (!validBounds) {
65
56
  _console["default"].warn('invalid map bounds provided');
66
-
67
57
  return null;
68
- } // viewport(bounds, dimensions, minzoom, maxzoom, tileSize, allowFloat)
69
-
58
+ }
70
59
 
60
+ // viewport(bounds, dimensions, minzoom, maxzoom, tileSize, allowFloat)
71
61
  var _geoViewport$viewport = _geoViewport["default"].viewport(bounds, [width, height], undefined, undefined, MAPBOX_TILE_SIZE),
72
- zoom = _geoViewport$viewport.zoom; // center being calculated by geo-vieweport.viewport has a complex logic that
62
+ zoom = _geoViewport$viewport.zoom;
63
+ // center being calculated by geo-vieweport.viewport has a complex logic that
73
64
  // projects and then unprojects the coordinates to determine the center
74
65
  // Calculating a simple average instead as that is the expected behavior in most of cases
75
-
76
-
77
66
  var center = [(bounds[0] + bounds[2]) / 2, (bounds[1] + bounds[3]) / 2];
78
67
  return {
79
68
  zoom: zoom,
80
69
  center: center
81
70
  };
82
71
  }
83
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9wcm9qZWN0aW9uLXV0aWxzLmpzIl0sIm5hbWVzIjpbIk1BUEJPWF9USUxFX1NJWkUiLCJpc0xhdCIsIm51bSIsIk51bWJlciIsImlzRmluaXRlIiwiaXNMbmciLCJ2YWxpZGF0ZUJvdW5kcyIsImJvdW5kcyIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsImV2ZXJ5IiwiZ2V0Q2VudGVyQW5kWm9vbUZyb21Cb3VuZHMiLCJ3aWR0aCIsImhlaWdodCIsInZhbGlkQm91bmRzIiwiQ29uc29sZSIsIndhcm4iLCJnZW9WaWV3cG9ydCIsInZpZXdwb3J0IiwidW5kZWZpbmVkIiwiem9vbSIsImNlbnRlciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFyQkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFLQSxJQUFNQSxnQkFBZ0IsR0FBRyxHQUF6Qjs7QUFFQSxTQUFTQyxLQUFULENBQWVDLEdBQWYsRUFBb0I7QUFDbEIsU0FBT0MsTUFBTSxDQUFDQyxRQUFQLENBQWdCRixHQUFoQixLQUF3QkEsR0FBRyxJQUFJLEVBQS9CLElBQXFDQSxHQUFHLElBQUksQ0FBQyxFQUFwRDtBQUNEOztBQUNELFNBQVNHLEtBQVQsQ0FBZUgsR0FBZixFQUFvQjtBQUNsQixTQUFPQyxNQUFNLENBQUNDLFFBQVAsQ0FBZ0JGLEdBQWhCLEtBQXdCQSxHQUFHLElBQUksR0FBL0IsSUFBc0NBLEdBQUcsSUFBSSxDQUFDLEdBQXJEO0FBQ0Q7QUFFRDtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sU0FBU0ksY0FBVCxDQUF3QkMsTUFBeEIsRUFBZ0M7QUFDckM7QUFDQTtBQUNBLE1BQ0VDLEtBQUssQ0FBQ0MsT0FBTixDQUFjRixNQUFkLEtBQ0FBLE1BQU0sQ0FBQ0csTUFBUCxLQUFrQixDQURsQixJQUVBLENBQUNILE1BQU0sQ0FBQyxDQUFELENBQVAsRUFBWUEsTUFBTSxDQUFDLENBQUQsQ0FBbEIsRUFBdUJJLEtBQXZCLENBQTZCTixLQUE3QixDQUZBLElBR0EsQ0FBQ0UsTUFBTSxDQUFDLENBQUQsQ0FBUCxFQUFZQSxNQUFNLENBQUMsQ0FBRCxDQUFsQixFQUF1QkksS0FBdkIsQ0FBNkJWLEtBQTdCLENBSkYsRUFLRTtBQUNBLFdBQU9NLE1BQVA7QUFDRDs7QUFDRCxTQUFPLElBQVA7QUFDRDs7QUFFTSxTQUFTSywwQkFBVCxDQUFvQ0wsTUFBcEMsUUFBNkQ7QUFBQSxNQUFoQk0sS0FBZ0IsUUFBaEJBLEtBQWdCO0FBQUEsTUFBVEMsTUFBUyxRQUFUQSxNQUFTO0FBQ2xFLE1BQU1DLFdBQVcsR0FBR1QsY0FBYyxDQUFDQyxNQUFELENBQWxDOztBQUNBLE1BQUksQ0FBQ1EsV0FBTCxFQUFrQjtBQUNoQkMsd0JBQVFDLElBQVIsQ0FBYSw2QkFBYjs7QUFDQSxXQUFPLElBQVA7QUFDRCxHQUxpRSxDQU9sRTs7O0FBUGtFLDhCQVFuREMsd0JBQVlDLFFBQVosQ0FDYlosTUFEYSxFQUViLENBQUNNLEtBQUQsRUFBUUMsTUFBUixDQUZhLEVBR2JNLFNBSGEsRUFJYkEsU0FKYSxFQUticEIsZ0JBTGEsQ0FSbUQ7QUFBQSxNQVEzRHFCLElBUjJELHlCQVEzREEsSUFSMkQsRUFlbEU7QUFDQTtBQUNBOzs7QUFDQSxNQUFNQyxNQUFNLEdBQUcsQ0FBQyxDQUFDZixNQUFNLENBQUMsQ0FBRCxDQUFOLEdBQVlBLE1BQU0sQ0FBQyxDQUFELENBQW5CLElBQTBCLENBQTNCLEVBQThCLENBQUNBLE1BQU0sQ0FBQyxDQUFELENBQU4sR0FBWUEsTUFBTSxDQUFDLENBQUQsQ0FBbkIsSUFBMEIsQ0FBeEQsQ0FBZjtBQUVBLFNBQU87QUFBQ2MsSUFBQUEsSUFBSSxFQUFKQSxJQUFEO0FBQU9DLElBQUFBLE1BQU0sRUFBTkE7QUFBUCxHQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgZ2VvVmlld3BvcnQgZnJvbSAnQG1hcGJveC9nZW8tdmlld3BvcnQnO1xuaW1wb3J0IENvbnNvbGUgZnJvbSAnZ2xvYmFsL2NvbnNvbGUnO1xuXG5jb25zdCBNQVBCT1hfVElMRV9TSVpFID0gNTEyO1xuXG5mdW5jdGlvbiBpc0xhdChudW0pIHtcbiAgcmV0dXJuIE51bWJlci5pc0Zpbml0ZShudW0pICYmIG51bSA8PSA5MCAmJiBudW0gPj0gLTkwO1xufVxuZnVuY3Rpb24gaXNMbmcobnVtKSB7XG4gIHJldHVybiBOdW1iZXIuaXNGaW5pdGUobnVtKSAmJiBudW0gPD0gMTgwICYmIG51bSA+PSAtMTgwO1xufVxuXG4vKipcbiAqIGJvdW5kcyBzaG91bGQgYmUgW21pbkxuZywgbWluTGF0LCBtYXhMbmcsIG1heExhdF1cbiAqIEBwYXJhbSB7Kn0gYm91bmRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUJvdW5kcyhib3VuZHMpIHtcbiAgLy8gYXJyYXk6IFsgLTE4MCwgLTg1LjA1MTEyODc3OTgwNjU5LCAxODAsIDg1LjA1MTEyODc3OTgwNjYgXVxuICAvLyB2YWxpZGF0ZSBib3VuZHNcbiAgaWYgKFxuICAgIEFycmF5LmlzQXJyYXkoYm91bmRzKSAmJlxuICAgIGJvdW5kcy5sZW5ndGggPT09IDQgJiZcbiAgICBbYm91bmRzWzBdLCBib3VuZHNbMl1dLmV2ZXJ5KGlzTG5nKSAmJlxuICAgIFtib3VuZHNbMV0sIGJvdW5kc1szXV0uZXZlcnkoaXNMYXQpXG4gICkge1xuICAgIHJldHVybiBib3VuZHM7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDZW50ZXJBbmRab29tRnJvbUJvdW5kcyhib3VuZHMsIHt3aWR0aCwgaGVpZ2h0fSkge1xuICBjb25zdCB2YWxpZEJvdW5kcyA9IHZhbGlkYXRlQm91bmRzKGJvdW5kcyk7XG4gIGlmICghdmFsaWRCb3VuZHMpIHtcbiAgICBDb25zb2xlLndhcm4oJ2ludmFsaWQgbWFwIGJvdW5kcyBwcm92aWRlZCcpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gdmlld3BvcnQoYm91bmRzLCBkaW1lbnNpb25zLCBtaW56b29tLCBtYXh6b29tLCB0aWxlU2l6ZSwgYWxsb3dGbG9hdClcbiAgY29uc3Qge3pvb219ID0gZ2VvVmlld3BvcnQudmlld3BvcnQoXG4gICAgYm91bmRzLFxuICAgIFt3aWR0aCwgaGVpZ2h0XSxcbiAgICB1bmRlZmluZWQsXG4gICAgdW5kZWZpbmVkLFxuICAgIE1BUEJPWF9USUxFX1NJWkVcbiAgKTtcbiAgLy8gY2VudGVyIGJlaW5nIGNhbGN1bGF0ZWQgYnkgZ2VvLXZpZXdlcG9ydC52aWV3cG9ydCBoYXMgYSBjb21wbGV4IGxvZ2ljIHRoYXRcbiAgLy8gcHJvamVjdHMgYW5kIHRoZW4gdW5wcm9qZWN0cyB0aGUgY29vcmRpbmF0ZXMgdG8gZGV0ZXJtaW5lIHRoZSBjZW50ZXJcbiAgLy8gQ2FsY3VsYXRpbmcgYSBzaW1wbGUgYXZlcmFnZSBpbnN0ZWFkIGFzIHRoYXQgaXMgdGhlIGV4cGVjdGVkIGJlaGF2aW9yIGluIG1vc3Qgb2YgY2FzZXNcbiAgY29uc3QgY2VudGVyID0gWyhib3VuZHNbMF0gKyBib3VuZHNbMl0pIC8gMiwgKGJvdW5kc1sxXSArIGJvdW5kc1szXSkgLyAyXTtcblxuICByZXR1cm4ge3pvb20sIGNlbnRlcn07XG59XG4iXX0=
72
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ2VvVmlld3BvcnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9jb25zb2xlIiwiTUFQQk9YX1RJTEVfU0laRSIsImlzTGF0IiwibnVtIiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJpc0xuZyIsInZhbGlkYXRlQm91bmRzIiwiYm91bmRzIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwiZXZlcnkiLCJnZXRDZW50ZXJBbmRab29tRnJvbUJvdW5kcyIsIl9yZWYiLCJ3aWR0aCIsImhlaWdodCIsInZhbGlkQm91bmRzIiwiQ29uc29sZSIsIndhcm4iLCJfZ2VvVmlld3BvcnQkdmlld3BvcnQiLCJnZW9WaWV3cG9ydCIsInZpZXdwb3J0IiwidW5kZWZpbmVkIiwiem9vbSIsImNlbnRlciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9wcm9qZWN0aW9uLXV0aWxzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBnZW9WaWV3cG9ydCBmcm9tICdAbWFwYm94L2dlby12aWV3cG9ydCc7XG5pbXBvcnQgQ29uc29sZSBmcm9tICdnbG9iYWwvY29uc29sZSc7XG5cbmNvbnN0IE1BUEJPWF9USUxFX1NJWkUgPSA1MTI7XG5cbmZ1bmN0aW9uIGlzTGF0KG51bSkge1xuICByZXR1cm4gTnVtYmVyLmlzRmluaXRlKG51bSkgJiYgbnVtIDw9IDkwICYmIG51bSA+PSAtOTA7XG59XG5mdW5jdGlvbiBpc0xuZyhudW0pIHtcbiAgcmV0dXJuIE51bWJlci5pc0Zpbml0ZShudW0pICYmIG51bSA8PSAxODAgJiYgbnVtID49IC0xODA7XG59XG5cbi8qKlxuICogYm91bmRzIHNob3VsZCBiZSBbbWluTG5nLCBtaW5MYXQsIG1heExuZywgbWF4TGF0XVxuICogQHBhcmFtIHsqfSBib3VuZHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlQm91bmRzKGJvdW5kcykge1xuICAvLyBhcnJheTogWyAtMTgwLCAtODUuMDUxMTI4Nzc5ODA2NTksIDE4MCwgODUuMDUxMTI4Nzc5ODA2NiBdXG4gIC8vIHZhbGlkYXRlIGJvdW5kc1xuICBpZiAoXG4gICAgQXJyYXkuaXNBcnJheShib3VuZHMpICYmXG4gICAgYm91bmRzLmxlbmd0aCA9PT0gNCAmJlxuICAgIFtib3VuZHNbMF0sIGJvdW5kc1syXV0uZXZlcnkoaXNMbmcpICYmXG4gICAgW2JvdW5kc1sxXSwgYm91bmRzWzNdXS5ldmVyeShpc0xhdClcbiAgKSB7XG4gICAgcmV0dXJuIGJvdW5kcztcbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENlbnRlckFuZFpvb21Gcm9tQm91bmRzKGJvdW5kcywge3dpZHRoLCBoZWlnaHR9KSB7XG4gIGNvbnN0IHZhbGlkQm91bmRzID0gdmFsaWRhdGVCb3VuZHMoYm91bmRzKTtcbiAgaWYgKCF2YWxpZEJvdW5kcykge1xuICAgIENvbnNvbGUud2FybignaW52YWxpZCBtYXAgYm91bmRzIHByb3ZpZGVkJyk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyB2aWV3cG9ydChib3VuZHMsIGRpbWVuc2lvbnMsIG1pbnpvb20sIG1heHpvb20sIHRpbGVTaXplLCBhbGxvd0Zsb2F0KVxuICBjb25zdCB7em9vbX0gPSBnZW9WaWV3cG9ydC52aWV3cG9ydChcbiAgICBib3VuZHMsXG4gICAgW3dpZHRoLCBoZWlnaHRdLFxuICAgIHVuZGVmaW5lZCxcbiAgICB1bmRlZmluZWQsXG4gICAgTUFQQk9YX1RJTEVfU0laRVxuICApO1xuICAvLyBjZW50ZXIgYmVpbmcgY2FsY3VsYXRlZCBieSBnZW8tdmlld2Vwb3J0LnZpZXdwb3J0IGhhcyBhIGNvbXBsZXggbG9naWMgdGhhdFxuICAvLyBwcm9qZWN0cyBhbmQgdGhlbiB1bnByb2plY3RzIHRoZSBjb29yZGluYXRlcyB0byBkZXRlcm1pbmUgdGhlIGNlbnRlclxuICAvLyBDYWxjdWxhdGluZyBhIHNpbXBsZSBhdmVyYWdlIGluc3RlYWQgYXMgdGhhdCBpcyB0aGUgZXhwZWN0ZWQgYmVoYXZpb3IgaW4gbW9zdCBvZiBjYXNlc1xuICBjb25zdCBjZW50ZXIgPSBbKGJvdW5kc1swXSArIGJvdW5kc1syXSkgLyAyLCAoYm91bmRzWzFdICsgYm91bmRzWzNdKSAvIDJdO1xuXG4gIHJldHVybiB7em9vbSwgY2VudGVyfTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFvQkEsSUFBQUEsWUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsUUFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBckJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUtBLElBQU1FLGdCQUFnQixHQUFHLEdBQUc7QUFFNUIsU0FBU0MsS0FBS0EsQ0FBQ0MsR0FBRyxFQUFFO0VBQ2xCLE9BQU9DLE1BQU0sQ0FBQ0MsUUFBUSxDQUFDRixHQUFHLENBQUMsSUFBSUEsR0FBRyxJQUFJLEVBQUUsSUFBSUEsR0FBRyxJQUFJLENBQUMsRUFBRTtBQUN4RDtBQUNBLFNBQVNHLEtBQUtBLENBQUNILEdBQUcsRUFBRTtFQUNsQixPQUFPQyxNQUFNLENBQUNDLFFBQVEsQ0FBQ0YsR0FBRyxDQUFDLElBQUlBLEdBQUcsSUFBSSxHQUFHLElBQUlBLEdBQUcsSUFBSSxDQUFDLEdBQUc7QUFDMUQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDTyxTQUFTSSxjQUFjQSxDQUFDQyxNQUFNLEVBQUU7RUFDckM7RUFDQTtFQUNBLElBQ0VDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDRixNQUFNLENBQUMsSUFDckJBLE1BQU0sQ0FBQ0csTUFBTSxLQUFLLENBQUMsSUFDbkIsQ0FBQ0gsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFQSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0ksS0FBSyxDQUFDTixLQUFLLENBQUMsSUFDbkMsQ0FBQ0UsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFQSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0ksS0FBSyxDQUFDVixLQUFLLENBQUMsRUFDbkM7SUFDQSxPQUFPTSxNQUFNO0VBQ2Y7RUFDQSxPQUFPLElBQUk7QUFDYjtBQUVPLFNBQVNLLDBCQUEwQkEsQ0FBQ0wsTUFBTSxFQUFBTSxJQUFBLEVBQW1CO0VBQUEsSUFBaEJDLEtBQUssR0FBQUQsSUFBQSxDQUFMQyxLQUFLO0lBQUVDLE1BQU0sR0FBQUYsSUFBQSxDQUFORSxNQUFNO0VBQy9ELElBQU1DLFdBQVcsR0FBR1YsY0FBYyxDQUFDQyxNQUFNLENBQUM7RUFDMUMsSUFBSSxDQUFDUyxXQUFXLEVBQUU7SUFDaEJDLG1CQUFPLENBQUNDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQztJQUMzQyxPQUFPLElBQUk7RUFDYjs7RUFFQTtFQUNBLElBQUFDLHFCQUFBLEdBQWVDLHVCQUFXLENBQUNDLFFBQVEsQ0FDakNkLE1BQU0sRUFDTixDQUFDTyxLQUFLLEVBQUVDLE1BQU0sQ0FBQyxFQUNmTyxTQUFTLEVBQ1RBLFNBQVMsRUFDVHRCLGdCQUNGLENBQUM7SUFOTXVCLElBQUksR0FBQUoscUJBQUEsQ0FBSkksSUFBSTtFQU9YO0VBQ0E7RUFDQTtFQUNBLElBQU1DLE1BQU0sR0FBRyxDQUFDLENBQUNqQixNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUdBLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQ0EsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHQSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0VBRXpFLE9BQU87SUFBQ2dCLElBQUksRUFBSkEsSUFBSTtJQUFFQyxNQUFNLEVBQU5BO0VBQU0sQ0FBQztBQUN2QiJ9
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.simpleSearcher = simpleSearcher;
7
-
8
7
  // Copyright (c) 2022 Uber Technologies, Inc.
9
8
  //
10
9
  // Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -34,12 +33,10 @@ function simpleSearcher(autofillValues, page, query, cb) {
34
33
  foundQuery = foundQuery || tag === query;
35
34
  return tag && regex.test(tag);
36
35
  });
37
-
38
36
  if (cb) {
39
37
  cb(matches);
40
38
  }
41
-
42
39
  return matches;
43
40
  }
44
41
  /* eslint-enable callback-return */
45
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9zZWFyY2hlci11dGlscy5qcyJdLCJuYW1lcyI6WyJzaW1wbGVTZWFyY2hlciIsImF1dG9maWxsVmFsdWVzIiwicGFnZSIsInF1ZXJ5IiwiY2IiLCJyZWdleCIsIlJlZ0V4cCIsImZvdW5kUXVlcnkiLCJtYXRjaGVzIiwiZmlsdGVyIiwiX2ZpbHRlciIsIml0ZW0iLCJ0YWciLCJuYW1lIiwidGVzdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ08sU0FBU0EsY0FBVCxDQUF3QkMsY0FBeEIsRUFBd0NDLElBQXhDLEVBQThDQyxLQUE5QyxFQUFxREMsRUFBckQsRUFBeUQ7QUFDOUQsTUFBSUMsS0FBSyxHQUFHLElBQUlDLE1BQUosQ0FBV0gsS0FBWCxFQUFrQixHQUFsQixDQUFaO0FBQ0EsTUFBSUksVUFBVSxHQUFHLEtBQWpCO0FBQ0EsTUFBSUMsT0FBTyxHQUFHLENBQUNQLGNBQWMsSUFBSSxFQUFuQixFQUF1QlEsTUFBdkIsQ0FBOEIsU0FBU0MsT0FBVCxDQUFpQkMsSUFBakIsRUFBdUI7QUFDakUsUUFBSUMsR0FBRyxHQUFHRCxJQUFJLENBQUNFLElBQWY7QUFDQU4sSUFBQUEsVUFBVSxHQUFHQSxVQUFVLElBQUlLLEdBQUcsS0FBS1QsS0FBbkM7QUFDQSxXQUFPUyxHQUFHLElBQUlQLEtBQUssQ0FBQ1MsSUFBTixDQUFXRixHQUFYLENBQWQ7QUFDRCxHQUphLENBQWQ7O0FBTUEsTUFBSVIsRUFBSixFQUFRO0FBQ05BLElBQUFBLEVBQUUsQ0FBQ0ksT0FBRCxDQUFGO0FBQ0Q7O0FBRUQsU0FBT0EsT0FBUDtBQUNEO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG4vKiBlc2xpbnQtZGlzYWJsZSBjYWxsYmFjay1yZXR1cm4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaW1wbGVTZWFyY2hlcihhdXRvZmlsbFZhbHVlcywgcGFnZSwgcXVlcnksIGNiKSB7XG4gIHZhciByZWdleCA9IG5ldyBSZWdFeHAocXVlcnksICdpJyk7XG4gIHZhciBmb3VuZFF1ZXJ5ID0gZmFsc2U7XG4gIHZhciBtYXRjaGVzID0gKGF1dG9maWxsVmFsdWVzIHx8IFtdKS5maWx0ZXIoZnVuY3Rpb24gX2ZpbHRlcihpdGVtKSB7XG4gICAgdmFyIHRhZyA9IGl0ZW0ubmFtZTtcbiAgICBmb3VuZFF1ZXJ5ID0gZm91bmRRdWVyeSB8fCB0YWcgPT09IHF1ZXJ5O1xuICAgIHJldHVybiB0YWcgJiYgcmVnZXgudGVzdCh0YWcpO1xuICB9KTtcblxuICBpZiAoY2IpIHtcbiAgICBjYihtYXRjaGVzKTtcbiAgfVxuXG4gIHJldHVybiBtYXRjaGVzO1xufVxuLyogZXNsaW50LWVuYWJsZSBjYWxsYmFjay1yZXR1cm4gKi9cbiJdfQ==
42
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzaW1wbGVTZWFyY2hlciIsImF1dG9maWxsVmFsdWVzIiwicGFnZSIsInF1ZXJ5IiwiY2IiLCJyZWdleCIsIlJlZ0V4cCIsImZvdW5kUXVlcnkiLCJtYXRjaGVzIiwiZmlsdGVyIiwiX2ZpbHRlciIsIml0ZW0iLCJ0YWciLCJuYW1lIiwidGVzdCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9zZWFyY2hlci11dGlscy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG4vKiBlc2xpbnQtZGlzYWJsZSBjYWxsYmFjay1yZXR1cm4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaW1wbGVTZWFyY2hlcihhdXRvZmlsbFZhbHVlcywgcGFnZSwgcXVlcnksIGNiKSB7XG4gIHZhciByZWdleCA9IG5ldyBSZWdFeHAocXVlcnksICdpJyk7XG4gIHZhciBmb3VuZFF1ZXJ5ID0gZmFsc2U7XG4gIHZhciBtYXRjaGVzID0gKGF1dG9maWxsVmFsdWVzIHx8IFtdKS5maWx0ZXIoZnVuY3Rpb24gX2ZpbHRlcihpdGVtKSB7XG4gICAgdmFyIHRhZyA9IGl0ZW0ubmFtZTtcbiAgICBmb3VuZFF1ZXJ5ID0gZm91bmRRdWVyeSB8fCB0YWcgPT09IHF1ZXJ5O1xuICAgIHJldHVybiB0YWcgJiYgcmVnZXgudGVzdCh0YWcpO1xuICB9KTtcblxuICBpZiAoY2IpIHtcbiAgICBjYihtYXRjaGVzKTtcbiAgfVxuXG4gIHJldHVybiBtYXRjaGVzO1xufVxuLyogZXNsaW50LWVuYWJsZSBjYWxsYmFjay1yZXR1cm4gKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDTyxTQUFTQSxjQUFjQSxDQUFDQyxjQUFjLEVBQUVDLElBQUksRUFBRUMsS0FBSyxFQUFFQyxFQUFFLEVBQUU7RUFDOUQsSUFBSUMsS0FBSyxHQUFHLElBQUlDLE1BQU0sQ0FBQ0gsS0FBSyxFQUFFLEdBQUcsQ0FBQztFQUNsQyxJQUFJSSxVQUFVLEdBQUcsS0FBSztFQUN0QixJQUFJQyxPQUFPLEdBQUcsQ0FBQ1AsY0FBYyxJQUFJLEVBQUUsRUFBRVEsTUFBTSxDQUFDLFNBQVNDLE9BQU9BLENBQUNDLElBQUksRUFBRTtJQUNqRSxJQUFJQyxHQUFHLEdBQUdELElBQUksQ0FBQ0UsSUFBSTtJQUNuQk4sVUFBVSxHQUFHQSxVQUFVLElBQUlLLEdBQUcsS0FBS1QsS0FBSztJQUN4QyxPQUFPUyxHQUFHLElBQUlQLEtBQUssQ0FBQ1MsSUFBSSxDQUFDRixHQUFHLENBQUM7RUFDL0IsQ0FBQyxDQUFDO0VBRUYsSUFBSVIsRUFBRSxFQUFFO0lBQ05BLEVBQUUsQ0FBQ0ksT0FBTyxDQUFDO0VBQ2I7RUFFQSxPQUFPQSxPQUFPO0FBQ2hCO0FBQ0EifQ==
@@ -1,31 +1,39 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.addNewLayersToSplitMap = addNewLayersToSplitMap;
11
- exports.removeLayerFromSplitMaps = removeLayerFromSplitMaps;
12
- exports.getInitialMapLayersForSplitMap = getInitialMapLayersForSplitMap;
13
9
  exports.computeSplitMapLayers = computeSplitMapLayers;
14
-
10
+ exports.getInitialMapLayersForSplitMap = getInitialMapLayersForSplitMap;
11
+ exports.removeLayerFromSplitMaps = removeLayerFromSplitMaps;
15
12
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
16
-
17
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
18
-
19
14
  var _lodash = _interopRequireDefault(require("lodash.clonedeep"));
20
-
21
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
22
-
23
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
24
-
25
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
26
-
27
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
28
-
15
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
16
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
17
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
18
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } // Copyright (c) 2022 Uber Technologies, Inc.
19
+ //
20
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
21
+ // of this software and associated documentation files (the "Software"), to deal
22
+ // in the Software without restriction, including without limitation the rights
23
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
24
+ // copies of the Software, and to permit persons to whom the Software is
25
+ // furnished to do so, subject to the following conditions:
26
+ //
27
+ // The above copyright notice and this permission notice shall be included in
28
+ // all copies or substantial portions of the Software.
29
+ //
30
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
31
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
32
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
33
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
34
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
35
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
36
+ // THE SOFTWARE.
29
37
  /**
30
38
  * Add new layers to both existing maps
31
39
  * @param {Object} splitMaps
@@ -34,55 +42,52 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
34
42
  */
35
43
  function addNewLayersToSplitMap(splitMaps, layers) {
36
44
  var newLayers = Array.isArray(layers) ? layers : [layers];
37
-
38
45
  if (!splitMaps.length || !newLayers.length) {
39
46
  return splitMaps;
40
- } // add new layer to both maps,
41
- // don't override, if layer.id is already in splitMaps
42
-
47
+ }
43
48
 
49
+ // add new layer to both maps,
50
+ // don't override, if layer.id is already in splitMaps
44
51
  return splitMaps.map(function (settings) {
45
52
  return _objectSpread(_objectSpread({}, settings), {}, {
46
53
  layers: _objectSpread(_objectSpread({}, settings.layers), newLayers.reduce(function (accu, newLayer) {
47
- return (// @ts-ignore
54
+ return (
55
+ // @ts-ignore
48
56
  newLayer.id in settings.layers || !newLayer.config.isVisible ? accu : _objectSpread(_objectSpread({}, accu), {}, (0, _defineProperty2["default"])({}, newLayer.id, newLayer.config.isVisible))
49
57
  );
50
58
  }, {}))
51
59
  });
52
60
  });
53
61
  }
62
+
54
63
  /**
55
64
  * Remove an existing layer from split map settings
56
65
  * @param {Object} splitMaps
57
66
  * @param {Object} layer
58
67
  * @returns {Object} Maps of custom layer objects
59
68
  */
60
-
61
-
62
69
  function removeLayerFromSplitMaps(splitMaps, layer) {
63
70
  if (!splitMaps.length) {
64
71
  return splitMaps;
65
72
  }
66
-
67
73
  return splitMaps.map(function (settings) {
68
74
  // eslint-disable-next-line no-unused-vars
69
75
  var _settings$layers = settings.layers,
70
- _layer$id = layer.id,
71
- _ = _settings$layers[_layer$id],
72
- newLayers = (0, _objectWithoutProperties2["default"])(_settings$layers, [_layer$id].map(_toPropertyKey));
76
+ _layer$id = layer.id,
77
+ _ = _settings$layers[_layer$id],
78
+ newLayers = (0, _objectWithoutProperties2["default"])(_settings$layers, [_layer$id].map(_toPropertyKey));
73
79
  return _objectSpread(_objectSpread({}, settings), {}, {
74
80
  layers: newLayers
75
81
  });
76
82
  });
77
83
  }
84
+
78
85
  /**
79
86
  * This method will compute the default maps layer settings
80
87
  * based on the current layers visibility
81
88
  * @param {Array<Object>} layers
82
89
  * @returns {Array<Object>} layer visibility for each panel
83
90
  */
84
-
85
-
86
91
  function getInitialMapLayersForSplitMap(layers) {
87
92
  return layers.filter(function (layer) {
88
93
  return layer.config.isVisible;
@@ -90,13 +95,12 @@ function getInitialMapLayersForSplitMap(layers) {
90
95
  return _objectSpread(_objectSpread({}, newLayers), {}, (0, _defineProperty2["default"])({}, currentLayer.id, currentLayer.config.isVisible));
91
96
  }, {});
92
97
  }
98
+
93
99
  /**
94
100
  * This method will get default splitMap settings based on existing layers
95
101
  * @param {Array<Object>} layers
96
102
  * @returns {Array<Object>} split map settings
97
103
  */
98
-
99
-
100
104
  function computeSplitMapLayers(layers) {
101
105
  var mapLayers = getInitialMapLayersForSplitMap(layers);
102
106
  return [{
@@ -105,4 +109,4 @@ function computeSplitMapLayers(layers) {
105
109
  layers: (0, _lodash["default"])(mapLayers)
106
110
  }];
107
111
  }
108
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9zcGxpdC1tYXAtdXRpbHMuanMiXSwibmFtZXMiOlsiYWRkTmV3TGF5ZXJzVG9TcGxpdE1hcCIsInNwbGl0TWFwcyIsImxheWVycyIsIm5ld0xheWVycyIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsIm1hcCIsInNldHRpbmdzIiwicmVkdWNlIiwiYWNjdSIsIm5ld0xheWVyIiwiaWQiLCJjb25maWciLCJpc1Zpc2libGUiLCJyZW1vdmVMYXllckZyb21TcGxpdE1hcHMiLCJsYXllciIsIl8iLCJnZXRJbml0aWFsTWFwTGF5ZXJzRm9yU3BsaXRNYXAiLCJmaWx0ZXIiLCJjdXJyZW50TGF5ZXIiLCJjb21wdXRlU3BsaXRNYXBMYXllcnMiLCJtYXBMYXllcnMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7Ozs7Ozs7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLFNBQVNBLHNCQUFULENBQWdDQyxTQUFoQyxFQUEyQ0MsTUFBM0MsRUFBbUQ7QUFDeEQsTUFBTUMsU0FBUyxHQUFHQyxLQUFLLENBQUNDLE9BQU4sQ0FBY0gsTUFBZCxJQUF3QkEsTUFBeEIsR0FBaUMsQ0FBQ0EsTUFBRCxDQUFuRDs7QUFFQSxNQUFJLENBQUNELFNBQVMsQ0FBQ0ssTUFBWCxJQUFxQixDQUFDSCxTQUFTLENBQUNHLE1BQXBDLEVBQTRDO0FBQzFDLFdBQU9MLFNBQVA7QUFDRCxHQUx1RCxDQU94RDtBQUNBOzs7QUFDQSxTQUFPQSxTQUFTLENBQUNNLEdBQVYsQ0FBYyxVQUFBQyxRQUFRO0FBQUEsMkNBQ3hCQSxRQUR3QjtBQUUzQk4sTUFBQUEsTUFBTSxrQ0FDRE0sUUFBUSxDQUFDTixNQURSLEdBRURDLFNBQVMsQ0FBQ00sTUFBVixDQUNELFVBQUNDLElBQUQsRUFBT0MsUUFBUDtBQUFBLGVBQ0U7QUFDQUEsVUFBQUEsUUFBUSxDQUFDQyxFQUFULElBQWVKLFFBQVEsQ0FBQ04sTUFBeEIsSUFBa0MsQ0FBQ1MsUUFBUSxDQUFDRSxNQUFULENBQWdCQyxTQUFuRCxHQUNJSixJQURKLG1DQUdTQSxJQUhULDRDQUlPQyxRQUFRLENBQUNDLEVBSmhCLEVBSXFCRCxRQUFRLENBQUNFLE1BQVQsQ0FBZ0JDLFNBSnJDO0FBRkY7QUFBQSxPQURDLEVBU0QsRUFUQyxDQUZDO0FBRnFCO0FBQUEsR0FBdEIsQ0FBUDtBQWlCRDtBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sU0FBU0Msd0JBQVQsQ0FBa0NkLFNBQWxDLEVBQTZDZSxLQUE3QyxFQUFvRDtBQUN6RCxNQUFJLENBQUNmLFNBQVMsQ0FBQ0ssTUFBZixFQUF1QjtBQUNyQixXQUFPTCxTQUFQO0FBQ0Q7O0FBQ0QsU0FBT0EsU0FBUyxDQUFDTSxHQUFWLENBQWMsVUFBQUMsUUFBUSxFQUFJO0FBQy9CO0FBRCtCLDJCQUVPQSxRQUFRLENBQUNOLE1BRmhCO0FBQUEsb0JBRXZCYyxLQUFLLENBQUNKLEVBRmlCO0FBQUEsUUFFWkssQ0FGWTtBQUFBLFFBRU5kLFNBRk07QUFHL0IsMkNBQ0tLLFFBREw7QUFFRU4sTUFBQUEsTUFBTSxFQUFFQztBQUZWO0FBSUQsR0FQTSxDQUFQO0FBUUQ7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLFNBQVNlLDhCQUFULENBQXdDaEIsTUFBeEMsRUFBZ0Q7QUFDckQsU0FBT0EsTUFBTSxDQUNWaUIsTUFESSxDQUNHLFVBQUFILEtBQUs7QUFBQSxXQUFJQSxLQUFLLENBQUNILE1BQU4sQ0FBYUMsU0FBakI7QUFBQSxHQURSLEVBRUpMLE1BRkksQ0FHSCxVQUFDTixTQUFELEVBQVlpQixZQUFaO0FBQUEsMkNBQ0tqQixTQURMLDRDQUVHaUIsWUFBWSxDQUFDUixFQUZoQixFQUVxQlEsWUFBWSxDQUFDUCxNQUFiLENBQW9CQyxTQUZ6QztBQUFBLEdBSEcsRUFPSCxFQVBHLENBQVA7QUFTRDtBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLFNBQVNPLHFCQUFULENBQStCbkIsTUFBL0IsRUFBdUM7QUFDNUMsTUFBTW9CLFNBQVMsR0FBR0osOEJBQThCLENBQUNoQixNQUFELENBQWhEO0FBRUEsU0FBTyxDQUFDO0FBQUNBLElBQUFBLE1BQU0sRUFBRW9CO0FBQVQsR0FBRCxFQUFzQjtBQUFDcEIsSUFBQUEsTUFBTSxFQUFFLHdCQUFVb0IsU0FBVjtBQUFULEdBQXRCLENBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBjbG9uZURlZXAgZnJvbSAnbG9kYXNoLmNsb25lZGVlcCc7XG5cbi8qKlxuICogQWRkIG5ldyBsYXllcnMgdG8gYm90aCBleGlzdGluZyBtYXBzXG4gKiBAcGFyYW0ge09iamVjdH0gc3BsaXRNYXBzXG4gKiBAcGFyYW0ge09iamVjdHxBcnJheTxPYmplY3Q+fSBsYXllcnNcbiAqIEByZXR1cm5zIHtBcnJheTxPYmplY3Q+fSBuZXcgc3BsaXRNYXBzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGROZXdMYXllcnNUb1NwbGl0TWFwKHNwbGl0TWFwcywgbGF5ZXJzKSB7XG4gIGNvbnN0IG5ld0xheWVycyA9IEFycmF5LmlzQXJyYXkobGF5ZXJzKSA/IGxheWVycyA6IFtsYXllcnNdO1xuXG4gIGlmICghc3BsaXRNYXBzLmxlbmd0aCB8fCAhbmV3TGF5ZXJzLmxlbmd0aCkge1xuICAgIHJldHVybiBzcGxpdE1hcHM7XG4gIH1cblxuICAvLyBhZGQgbmV3IGxheWVyIHRvIGJvdGggbWFwcyxcbiAgLy8gZG9uJ3Qgb3ZlcnJpZGUsIGlmIGxheWVyLmlkIGlzIGFscmVhZHkgaW4gc3BsaXRNYXBzXG4gIHJldHVybiBzcGxpdE1hcHMubWFwKHNldHRpbmdzID0+ICh7XG4gICAgLi4uc2V0dGluZ3MsXG4gICAgbGF5ZXJzOiB7XG4gICAgICAuLi5zZXR0aW5ncy5sYXllcnMsXG4gICAgICAuLi5uZXdMYXllcnMucmVkdWNlKFxuICAgICAgICAoYWNjdSwgbmV3TGF5ZXIpID0+XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIG5ld0xheWVyLmlkIGluIHNldHRpbmdzLmxheWVycyB8fCAhbmV3TGF5ZXIuY29uZmlnLmlzVmlzaWJsZVxuICAgICAgICAgICAgPyBhY2N1XG4gICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAuLi5hY2N1LFxuICAgICAgICAgICAgICAgIFtuZXdMYXllci5pZF06IG5ld0xheWVyLmNvbmZpZy5pc1Zpc2libGVcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAge31cbiAgICAgIClcbiAgICB9XG4gIH0pKTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgYW4gZXhpc3RpbmcgbGF5ZXIgZnJvbSBzcGxpdCBtYXAgc2V0dGluZ3NcbiAqIEBwYXJhbSB7T2JqZWN0fSBzcGxpdE1hcHNcbiAqIEBwYXJhbSB7T2JqZWN0fSBsYXllclxuICogQHJldHVybnMge09iamVjdH0gTWFwcyBvZiBjdXN0b20gbGF5ZXIgb2JqZWN0c1xuICovXG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlTGF5ZXJGcm9tU3BsaXRNYXBzKHNwbGl0TWFwcywgbGF5ZXIpIHtcbiAgaWYgKCFzcGxpdE1hcHMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHNwbGl0TWFwcztcbiAgfVxuICByZXR1cm4gc3BsaXRNYXBzLm1hcChzZXR0aW5ncyA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXG4gICAgY29uc3Qge1tsYXllci5pZF06IF8sIC4uLm5ld0xheWVyc30gPSBzZXR0aW5ncy5sYXllcnM7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnNldHRpbmdzLFxuICAgICAgbGF5ZXJzOiBuZXdMYXllcnNcbiAgICB9O1xuICB9KTtcbn1cblxuLyoqXG4gKiBUaGlzIG1ldGhvZCB3aWxsIGNvbXB1dGUgdGhlIGRlZmF1bHQgbWFwcyBsYXllciBzZXR0aW5nc1xuICogYmFzZWQgb24gdGhlIGN1cnJlbnQgbGF5ZXJzIHZpc2liaWxpdHlcbiAqIEBwYXJhbSB7QXJyYXk8T2JqZWN0Pn0gbGF5ZXJzXG4gKiBAcmV0dXJucyB7QXJyYXk8T2JqZWN0Pn0gbGF5ZXIgdmlzaWJpbGl0eSBmb3IgZWFjaCBwYW5lbFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW5pdGlhbE1hcExheWVyc0ZvclNwbGl0TWFwKGxheWVycykge1xuICByZXR1cm4gbGF5ZXJzXG4gICAgLmZpbHRlcihsYXllciA9PiBsYXllci5jb25maWcuaXNWaXNpYmxlKVxuICAgIC5yZWR1Y2UoXG4gICAgICAobmV3TGF5ZXJzLCBjdXJyZW50TGF5ZXIpID0+ICh7XG4gICAgICAgIC4uLm5ld0xheWVycyxcbiAgICAgICAgW2N1cnJlbnRMYXllci5pZF06IGN1cnJlbnRMYXllci5jb25maWcuaXNWaXNpYmxlXG4gICAgICB9KSxcbiAgICAgIHt9XG4gICAgKTtcbn1cblxuLyoqXG4gKiBUaGlzIG1ldGhvZCB3aWxsIGdldCBkZWZhdWx0IHNwbGl0TWFwIHNldHRpbmdzIGJhc2VkIG9uIGV4aXN0aW5nIGxheWVyc1xuICogQHBhcmFtIHtBcnJheTxPYmplY3Q+fSBsYXllcnNcbiAqIEByZXR1cm5zIHtBcnJheTxPYmplY3Q+fSBzcGxpdCBtYXAgc2V0dGluZ3NcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVTcGxpdE1hcExheWVycyhsYXllcnMpIHtcbiAgY29uc3QgbWFwTGF5ZXJzID0gZ2V0SW5pdGlhbE1hcExheWVyc0ZvclNwbGl0TWFwKGxheWVycyk7XG5cbiAgcmV0dXJuIFt7bGF5ZXJzOiBtYXBMYXllcnN9LCB7bGF5ZXJzOiBjbG9uZURlZXAobWFwTGF5ZXJzKX1dO1xufVxuIl19
112
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfdG9Qcm9wZXJ0eUtleSIsInQiLCJpIiwiX3RvUHJpbWl0aXZlIiwiX3R5cGVvZiIsIlN0cmluZyIsInIiLCJlIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJjYWxsIiwiVHlwZUVycm9yIiwiTnVtYmVyIiwib3duS2V5cyIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJhZGROZXdMYXllcnNUb1NwbGl0TWFwIiwic3BsaXRNYXBzIiwibGF5ZXJzIiwibmV3TGF5ZXJzIiwiQXJyYXkiLCJpc0FycmF5IiwibWFwIiwic2V0dGluZ3MiLCJyZWR1Y2UiLCJhY2N1IiwibmV3TGF5ZXIiLCJpZCIsImNvbmZpZyIsImlzVmlzaWJsZSIsInJlbW92ZUxheWVyRnJvbVNwbGl0TWFwcyIsImxheWVyIiwiX3NldHRpbmdzJGxheWVycyIsIl9sYXllciRpZCIsIl8iLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwiZ2V0SW5pdGlhbE1hcExheWVyc0ZvclNwbGl0TWFwIiwiY3VycmVudExheWVyIiwiY29tcHV0ZVNwbGl0TWFwTGF5ZXJzIiwibWFwTGF5ZXJzIiwiY2xvbmVEZWVwIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3NwbGl0LW1hcC11dGlscy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgY2xvbmVEZWVwIGZyb20gJ2xvZGFzaC5jbG9uZWRlZXAnO1xuXG4vKipcbiAqIEFkZCBuZXcgbGF5ZXJzIHRvIGJvdGggZXhpc3RpbmcgbWFwc1xuICogQHBhcmFtIHtPYmplY3R9IHNwbGl0TWFwc1xuICogQHBhcmFtIHtPYmplY3R8QXJyYXk8T2JqZWN0Pn0gbGF5ZXJzXG4gKiBAcmV0dXJucyB7QXJyYXk8T2JqZWN0Pn0gbmV3IHNwbGl0TWFwc1xuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkTmV3TGF5ZXJzVG9TcGxpdE1hcChzcGxpdE1hcHMsIGxheWVycykge1xuICBjb25zdCBuZXdMYXllcnMgPSBBcnJheS5pc0FycmF5KGxheWVycykgPyBsYXllcnMgOiBbbGF5ZXJzXTtcblxuICBpZiAoIXNwbGl0TWFwcy5sZW5ndGggfHwgIW5ld0xheWVycy5sZW5ndGgpIHtcbiAgICByZXR1cm4gc3BsaXRNYXBzO1xuICB9XG5cbiAgLy8gYWRkIG5ldyBsYXllciB0byBib3RoIG1hcHMsXG4gIC8vIGRvbid0IG92ZXJyaWRlLCBpZiBsYXllci5pZCBpcyBhbHJlYWR5IGluIHNwbGl0TWFwc1xuICByZXR1cm4gc3BsaXRNYXBzLm1hcChzZXR0aW5ncyA9PiAoe1xuICAgIC4uLnNldHRpbmdzLFxuICAgIGxheWVyczoge1xuICAgICAgLi4uc2V0dGluZ3MubGF5ZXJzLFxuICAgICAgLi4ubmV3TGF5ZXJzLnJlZHVjZShcbiAgICAgICAgKGFjY3UsIG5ld0xheWVyKSA9PlxuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBuZXdMYXllci5pZCBpbiBzZXR0aW5ncy5sYXllcnMgfHwgIW5ld0xheWVyLmNvbmZpZy5pc1Zpc2libGVcbiAgICAgICAgICAgID8gYWNjdVxuICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgLi4uYWNjdSxcbiAgICAgICAgICAgICAgICBbbmV3TGF5ZXIuaWRdOiBuZXdMYXllci5jb25maWcuaXNWaXNpYmxlXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgIHt9XG4gICAgICApXG4gICAgfVxuICB9KSk7XG59XG5cbi8qKlxuICogUmVtb3ZlIGFuIGV4aXN0aW5nIGxheWVyIGZyb20gc3BsaXQgbWFwIHNldHRpbmdzXG4gKiBAcGFyYW0ge09iamVjdH0gc3BsaXRNYXBzXG4gKiBAcGFyYW0ge09iamVjdH0gbGF5ZXJcbiAqIEByZXR1cm5zIHtPYmplY3R9IE1hcHMgb2YgY3VzdG9tIGxheWVyIG9iamVjdHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZUxheWVyRnJvbVNwbGl0TWFwcyhzcGxpdE1hcHMsIGxheWVyKSB7XG4gIGlmICghc3BsaXRNYXBzLmxlbmd0aCkge1xuICAgIHJldHVybiBzcGxpdE1hcHM7XG4gIH1cbiAgcmV0dXJuIHNwbGl0TWFwcy5tYXAoc2V0dGluZ3MgPT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xuICAgIGNvbnN0IHtbbGF5ZXIuaWRdOiBfLCAuLi5uZXdMYXllcnN9ID0gc2V0dGluZ3MubGF5ZXJzO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zZXR0aW5ncyxcbiAgICAgIGxheWVyczogbmV3TGF5ZXJzXG4gICAgfTtcbiAgfSk7XG59XG5cbi8qKlxuICogVGhpcyBtZXRob2Qgd2lsbCBjb21wdXRlIHRoZSBkZWZhdWx0IG1hcHMgbGF5ZXIgc2V0dGluZ3NcbiAqIGJhc2VkIG9uIHRoZSBjdXJyZW50IGxheWVycyB2aXNpYmlsaXR5XG4gKiBAcGFyYW0ge0FycmF5PE9iamVjdD59IGxheWVyc1xuICogQHJldHVybnMge0FycmF5PE9iamVjdD59IGxheWVyIHZpc2liaWxpdHkgZm9yIGVhY2ggcGFuZWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEluaXRpYWxNYXBMYXllcnNGb3JTcGxpdE1hcChsYXllcnMpIHtcbiAgcmV0dXJuIGxheWVyc1xuICAgIC5maWx0ZXIobGF5ZXIgPT4gbGF5ZXIuY29uZmlnLmlzVmlzaWJsZSlcbiAgICAucmVkdWNlKFxuICAgICAgKG5ld0xheWVycywgY3VycmVudExheWVyKSA9PiAoe1xuICAgICAgICAuLi5uZXdMYXllcnMsXG4gICAgICAgIFtjdXJyZW50TGF5ZXIuaWRdOiBjdXJyZW50TGF5ZXIuY29uZmlnLmlzVmlzaWJsZVxuICAgICAgfSksXG4gICAgICB7fVxuICAgICk7XG59XG5cbi8qKlxuICogVGhpcyBtZXRob2Qgd2lsbCBnZXQgZGVmYXVsdCBzcGxpdE1hcCBzZXR0aW5ncyBiYXNlZCBvbiBleGlzdGluZyBsYXllcnNcbiAqIEBwYXJhbSB7QXJyYXk8T2JqZWN0Pn0gbGF5ZXJzXG4gKiBAcmV0dXJucyB7QXJyYXk8T2JqZWN0Pn0gc3BsaXQgbWFwIHNldHRpbmdzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlU3BsaXRNYXBMYXllcnMobGF5ZXJzKSB7XG4gIGNvbnN0IG1hcExheWVycyA9IGdldEluaXRpYWxNYXBMYXllcnNGb3JTcGxpdE1hcChsYXllcnMpO1xuXG4gIHJldHVybiBbe2xheWVyczogbWFwTGF5ZXJzfSwge2xheWVyczogY2xvbmVEZWVwKG1hcExheWVycyl9XTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQW9CQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBeUMsU0FBQUMsZUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLFlBQUEsQ0FBQUYsQ0FBQSxnQ0FBQUcsT0FBQSxDQUFBRixDQUFBLElBQUFBLENBQUEsR0FBQUcsTUFBQSxDQUFBSCxDQUFBO0FBQUEsU0FBQUMsYUFBQUYsQ0FBQSxFQUFBSyxDQUFB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