@kepler.gl/components 3.0.0-alpha.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/dist/bottom-widget.js +1 -21
  2. package/dist/common/action-panel.js +1 -21
  3. package/dist/common/animation-control/animation-control.js +1 -21
  4. package/dist/common/animation-control/animation-controller.js +1 -21
  5. package/dist/common/animation-control/animation-speed-slider.js +1 -21
  6. package/dist/common/animation-control/animation-window-control.js +3 -21
  7. package/dist/common/animation-control/floating-time-display.js +1 -21
  8. package/dist/common/animation-control/play-control.js +3 -21
  9. package/dist/common/animation-control/playback-controls.js +1 -21
  10. package/dist/common/animation-control/reset-control.js +3 -21
  11. package/dist/common/animation-control/speed-control.js +1 -21
  12. package/dist/common/animation-control/window-action-control.js +3 -21
  13. package/dist/common/checkbox.js +1 -21
  14. package/dist/common/color-legend.js +1 -21
  15. package/dist/common/data-table/button.js +1 -21
  16. package/dist/common/data-table/canvas.js +1 -21
  17. package/dist/common/data-table/cell-size.js +1 -21
  18. package/dist/common/data-table/display-format.js +1 -21
  19. package/dist/common/data-table/grid.js +1 -21
  20. package/dist/common/data-table/header-cell.js +1 -21
  21. package/dist/common/data-table/index.js +1 -21
  22. package/dist/common/data-table/option-dropdown.js +1 -21
  23. package/dist/common/dataset-label.js +1 -21
  24. package/dist/common/error-boundary.js +1 -21
  25. package/dist/common/field-selector.d.ts +1 -0
  26. package/dist/common/field-selector.js +3 -21
  27. package/dist/common/field-token.d.ts +4 -0
  28. package/dist/common/field-token.js +1 -21
  29. package/dist/common/file-uploader/file-drop.js +1 -21
  30. package/dist/common/file-uploader/file-upload-progress.js +1 -21
  31. package/dist/common/file-uploader/file-upload.js +1 -21
  32. package/dist/common/file-uploader/upload-button.js +1 -21
  33. package/dist/common/flex-container.d.ts +3 -0
  34. package/dist/common/flex-container.js +23 -0
  35. package/dist/common/histogram-plot.js +1 -21
  36. package/dist/common/icon-button.d.ts +1 -1
  37. package/dist/common/icon-button.js +1 -21
  38. package/dist/common/icons/add.js +1 -21
  39. package/dist/common/icons/anchor_window.js +6 -22
  40. package/dist/common/icons/arrow-down-alt.js +1 -21
  41. package/dist/common/icons/arrow-down-small.d.ts +14 -0
  42. package/dist/common/icons/arrow-down-small.js +72 -0
  43. package/dist/common/icons/arrow-down-solid.js +1 -21
  44. package/dist/common/icons/arrow-down.js +1 -21
  45. package/dist/common/icons/arrow-left.js +1 -21
  46. package/dist/common/icons/arrow-right.js +1 -21
  47. package/dist/common/icons/arrow-up-alt.js +1 -21
  48. package/dist/common/icons/arrow-up-solid.js +1 -21
  49. package/dist/common/icons/arrow-up.js +1 -21
  50. package/dist/common/icons/base.js +1 -21
  51. package/dist/common/icons/bug.js +1 -21
  52. package/dist/common/icons/calendar.d.ts +10 -0
  53. package/dist/common/icons/calendar.js +66 -0
  54. package/dist/common/icons/cancel.js +1 -21
  55. package/dist/common/icons/checkmark.js +1 -21
  56. package/dist/common/icons/clipboard.js +1 -21
  57. package/dist/common/icons/clock.js +1 -21
  58. package/dist/common/icons/close.js +1 -21
  59. package/dist/common/icons/code-alt.js +1 -21
  60. package/dist/common/icons/copy.js +1 -21
  61. package/dist/common/icons/crosshairs.js +1 -21
  62. package/dist/common/icons/cube-3d.js +1 -21
  63. package/dist/common/icons/cursor-click.js +1 -21
  64. package/dist/common/icons/cursor-point.js +1 -21
  65. package/dist/common/icons/data-table.js +1 -21
  66. package/dist/common/icons/db.js +1 -21
  67. package/dist/common/icons/delete.js +1 -21
  68. package/dist/common/icons/docs.js +1 -21
  69. package/dist/common/icons/drag-n-drop.js +1 -21
  70. package/dist/common/icons/draw-polygon.js +1 -21
  71. package/dist/common/icons/effects/brightness-contrast.d.ts +14 -0
  72. package/dist/common/icons/effects/brightness-contrast.js +88 -0
  73. package/dist/common/icons/effects/color-halftone.d.ts +14 -0
  74. package/dist/common/icons/effects/color-halftone.js +127 -0
  75. package/dist/common/icons/effects/dot-screen.d.ts +14 -0
  76. package/dist/common/icons/effects/dot-screen.js +122 -0
  77. package/dist/common/icons/effects/edge-work.d.ts +14 -0
  78. package/dist/common/icons/effects/edge-work.js +81 -0
  79. package/dist/common/icons/effects/hexagonal-pixelate.d.ts +14 -0
  80. package/dist/common/icons/effects/hexagonal-pixelate.js +148 -0
  81. package/dist/common/icons/effects/hue-saturation.d.ts +14 -0
  82. package/dist/common/icons/effects/hue-saturation.js +79 -0
  83. package/dist/common/icons/effects/ink.d.ts +14 -0
  84. package/dist/common/icons/effects/ink.js +78 -0
  85. package/dist/common/icons/effects/light-and-shadow.d.ts +14 -0
  86. package/dist/common/icons/effects/light-and-shadow.js +67 -0
  87. package/dist/common/icons/effects/magic-wand.d.ts +14 -0
  88. package/dist/common/icons/effects/magic-wand.js +79 -0
  89. package/dist/common/icons/effects/magnify.d.ts +14 -0
  90. package/dist/common/icons/effects/magnify.js +86 -0
  91. package/dist/common/icons/effects/noise.d.ts +14 -0
  92. package/dist/common/icons/effects/noise.js +132 -0
  93. package/dist/common/icons/effects/sepia.d.ts +14 -0
  94. package/dist/common/icons/effects/sepia.js +79 -0
  95. package/dist/common/icons/effects/tilt-shift.d.ts +14 -0
  96. package/dist/common/icons/effects/tilt-shift.js +88 -0
  97. package/dist/common/icons/effects/triangle-blur.d.ts +14 -0
  98. package/dist/common/icons/effects/triangle-blur.js +83 -0
  99. package/dist/common/icons/effects/vibrance.d.ts +14 -0
  100. package/dist/common/icons/effects/vibrance.js +79 -0
  101. package/dist/common/icons/effects/vignette.d.ts +14 -0
  102. package/dist/common/icons/effects/vignette.js +72 -0
  103. package/dist/common/icons/effects/zoom-blur.d.ts +14 -0
  104. package/dist/common/icons/effects/zoom-blur.js +107 -0
  105. package/dist/common/icons/email.js +1 -21
  106. package/dist/common/icons/expand.js +1 -21
  107. package/dist/common/icons/eye-seen.js +1 -21
  108. package/dist/common/icons/eye-unseen.js +1 -21
  109. package/dist/common/icons/file-type.js +1 -21
  110. package/dist/common/icons/file.js +1 -21
  111. package/dist/common/icons/files.js +1 -21
  112. package/dist/common/icons/filter-funnel.js +1 -21
  113. package/dist/common/icons/free-window.js +6 -22
  114. package/dist/common/icons/gear.js +1 -21
  115. package/dist/common/icons/globe.d.ts +15 -0
  116. package/dist/common/icons/globe.js +72 -0
  117. package/dist/common/icons/hash.js +1 -21
  118. package/dist/common/icons/histogram.js +1 -21
  119. package/dist/common/icons/index.d.ts +25 -0
  120. package/dist/common/icons/index.js +201 -21
  121. package/dist/common/icons/info.js +1 -21
  122. package/dist/common/icons/layers.js +1 -21
  123. package/dist/common/icons/left-arrow.js +1 -21
  124. package/dist/common/icons/legend.js +1 -21
  125. package/dist/common/icons/line-chart.js +1 -21
  126. package/dist/common/icons/location-marker.d.ts +14 -0
  127. package/dist/common/icons/location-marker.js +77 -0
  128. package/dist/common/icons/login.js +1 -21
  129. package/dist/common/icons/logout.js +1 -21
  130. package/dist/common/icons/map-icon.js +1 -21
  131. package/dist/common/icons/map.js +1 -21
  132. package/dist/common/icons/messages.js +1 -21
  133. package/dist/common/icons/minus.js +1 -21
  134. package/dist/common/icons/moon.d.ts +14 -0
  135. package/dist/common/icons/moon.js +77 -0
  136. package/dist/common/icons/order-by-dataset.js +6 -22
  137. package/dist/common/icons/order-by-list.js +6 -22
  138. package/dist/common/icons/pause.js +1 -21
  139. package/dist/common/icons/picture.js +1 -21
  140. package/dist/common/icons/pin.js +1 -21
  141. package/dist/common/icons/play.js +1 -21
  142. package/dist/common/icons/polygon.js +1 -21
  143. package/dist/common/icons/rectangle.js +1 -21
  144. package/dist/common/icons/reduce.js +1 -21
  145. package/dist/common/icons/reset.js +1 -21
  146. package/dist/common/icons/rocket.js +1 -21
  147. package/dist/common/icons/save.js +1 -21
  148. package/dist/common/icons/save2.js +1 -21
  149. package/dist/common/icons/search.js +1 -21
  150. package/dist/common/icons/settings.js +1 -21
  151. package/dist/common/icons/share.js +1 -21
  152. package/dist/common/icons/split.js +1 -21
  153. package/dist/common/icons/square-select.js +1 -21
  154. package/dist/common/icons/sun.d.ts +14 -0
  155. package/dist/common/icons/sun.js +93 -0
  156. package/dist/common/icons/sunrise.d.ts +14 -0
  157. package/dist/common/icons/sunrise.js +89 -0
  158. package/dist/common/icons/sunset.d.ts +14 -0
  159. package/dist/common/icons/sunset.js +89 -0
  160. package/dist/common/icons/trash.js +1 -21
  161. package/dist/common/icons/vert-dots.js +1 -21
  162. package/dist/common/icons/vert-three-dots.js +1 -21
  163. package/dist/common/icons/warning-sign.js +1 -21
  164. package/dist/common/icons/warning.js +1 -21
  165. package/dist/common/image-preview.js +1 -21
  166. package/dist/common/index.js +1 -21
  167. package/dist/common/info-helper.js +1 -21
  168. package/dist/common/item-selector/accessor.js +5 -22
  169. package/dist/common/item-selector/chickleted-input.d.ts +1 -0
  170. package/dist/common/item-selector/chickleted-input.js +104 -44
  171. package/dist/common/item-selector/dropdown-list.d.ts +2 -0
  172. package/dist/common/item-selector/dropdown-list.js +10 -25
  173. package/dist/common/item-selector/item-selector.d.ts +3 -0
  174. package/dist/common/item-selector/item-selector.js +11 -23
  175. package/dist/common/item-selector/typeahead.js +1 -21
  176. package/dist/common/line-chart.js +1 -21
  177. package/dist/common/loading-spinner.js +1 -21
  178. package/dist/common/logo.js +1 -21
  179. package/dist/common/map-layer-selector.js +1 -21
  180. package/dist/common/modal.js +25 -28
  181. package/dist/common/portaled.d.ts +15 -2
  182. package/dist/common/portaled.js +1 -21
  183. package/dist/common/progress-bar.js +1 -21
  184. package/dist/common/range-brush.js +1 -21
  185. package/dist/common/range-plot.js +1 -21
  186. package/dist/common/range-slider.d.ts +1 -1
  187. package/dist/common/range-slider.js +1 -21
  188. package/dist/common/slider/mouse-event.js +6 -22
  189. package/dist/common/slider/slider-bar-handle.js +1 -21
  190. package/dist/common/slider/slider-handle.js +1 -21
  191. package/dist/common/slider/slider.js +1 -21
  192. package/dist/common/styled-components.d.ts +3 -3
  193. package/dist/common/styled-components.js +26 -47
  194. package/dist/common/switch.js +1 -21
  195. package/dist/common/time-range-slider-time-title.js +1 -21
  196. package/dist/common/time-range-slider.js +1 -21
  197. package/dist/common/time-slider-marker.js +1 -21
  198. package/dist/common/timeline-slider.js +1 -21
  199. package/dist/common/tippy-tooltip.js +1 -21
  200. package/dist/common/toolbar-item.js +1 -21
  201. package/dist/common/toolbar.js +1 -21
  202. package/dist/common/vertical-toolbar.js +1 -21
  203. package/dist/connect/keplergl-connect.js +6 -22
  204. package/dist/connect/with-local-selector.js +1 -21
  205. package/dist/container.js +1 -21
  206. package/dist/context.d.ts +11 -0
  207. package/dist/context.js +18 -23
  208. package/dist/dnd-context.d.ts +1 -1
  209. package/dist/dnd-context.js +32 -127
  210. package/dist/editor/editor.js +1 -21
  211. package/dist/editor/feature-action-panel.js +28 -79
  212. package/dist/effects/compact-color-picker.d.ts +10 -0
  213. package/dist/effects/compact-color-picker.js +130 -0
  214. package/dist/effects/effect-configurator.d.ts +4 -5
  215. package/dist/effects/effect-configurator.js +183 -118
  216. package/dist/effects/effect-list.js +2 -22
  217. package/dist/effects/effect-manager.d.ts +2 -1
  218. package/dist/effects/effect-manager.js +43 -30
  219. package/dist/effects/effect-panel-header.d.ts +14 -2
  220. package/dist/effects/effect-panel-header.js +82 -50
  221. package/dist/effects/effect-panel.js +30 -43
  222. package/dist/effects/effect-time-configurator.d.ts +14 -7
  223. package/dist/effects/effect-time-configurator.js +258 -109
  224. package/dist/effects/effect-time-selector.d.ts +16 -0
  225. package/dist/effects/effect-time-selector.js +181 -0
  226. package/dist/effects/effect-time-slider.d.ts +34 -0
  227. package/dist/effects/effect-time-slider.js +220 -0
  228. package/dist/effects/effect-type-dropdown-list.d.ts +18 -0
  229. package/dist/effects/effect-type-dropdown-list.js +77 -0
  230. package/dist/effects/effect-type-list-item.d.ts +22 -0
  231. package/dist/effects/effect-type-list-item.js +105 -0
  232. package/dist/effects/effect-type-selector.d.ts +22 -3
  233. package/dist/effects/effect-type-selector.js +58 -83
  234. package/dist/effects/side-panel-title.js +1 -21
  235. package/dist/effects/timezone-selector.d.ts +19 -0
  236. package/dist/effects/timezone-selector.js +71 -0
  237. package/dist/filter-animation-controller.js +3 -21
  238. package/dist/filters/components.js +1 -21
  239. package/dist/filters/filter-panels/filter-panel-with-field-select.js +6 -22
  240. package/dist/filters/filter-panels/multi-select-filter-panel.js +6 -22
  241. package/dist/filters/filter-panels/new-filter-panel.js +6 -22
  242. package/dist/filters/filter-panels/polygon-filter-panel.js +6 -22
  243. package/dist/filters/filter-panels/range-filter-panel.js +6 -22
  244. package/dist/filters/filter-panels/single-select-filter-panel.js +6 -22
  245. package/dist/filters/filter-panels/time-range-filter-panel.js +1 -21
  246. package/dist/filters/filter-panels/types.js +0 -20
  247. package/dist/filters/index.js +1 -21
  248. package/dist/filters/multi-select-filter.js +6 -22
  249. package/dist/filters/polygon-filter.js +6 -22
  250. package/dist/filters/range-filter.js +6 -22
  251. package/dist/filters/single-select-filter.js +6 -22
  252. package/dist/filters/time-range-filter.js +7 -22
  253. package/dist/filters/time-widget-top.js +1 -21
  254. package/dist/filters/time-widget.js +1 -21
  255. package/dist/filters/types.js +0 -20
  256. package/dist/geocoder/geocoder.js +10 -27
  257. package/dist/geocoder-panel.js +1 -21
  258. package/dist/hooks/use-cloud-list-provider.d.ts +11 -0
  259. package/dist/hooks/use-cloud-list-provider.js +57 -0
  260. package/dist/hooks/use-dnd-effects.d.ts +9 -0
  261. package/dist/hooks/use-dnd-effects.js +88 -0
  262. package/dist/hooks/use-dnd-layers.d.ts +9 -0
  263. package/dist/hooks/use-dnd-layers.js +95 -0
  264. package/dist/hooks/use-feature-flags.d.ts +5 -0
  265. package/dist/hooks/use-feature-flags.js +21 -0
  266. package/dist/index.d.ts +10 -1
  267. package/dist/index.js +103 -24
  268. package/dist/injector.js +1 -21
  269. package/dist/kepler-gl.d.ts +2 -1
  270. package/dist/kepler-gl.js +13 -25
  271. package/dist/layer-animation-controller.js +3 -21
  272. package/dist/map/coordinate-info.js +6 -22
  273. package/dist/map/effects/effect-control.d.ts +1 -1
  274. package/dist/map/effects/effect-control.js +9 -28
  275. package/dist/map/layer-hover-info.js +2 -22
  276. package/dist/map/layer-selector-panel.js +6 -22
  277. package/dist/map/lazy-tippy.js +1 -21
  278. package/dist/map/locale-panel.js +6 -22
  279. package/dist/map/map-control-panel.js +1 -21
  280. package/dist/map/map-control-toolbar.js +1 -21
  281. package/dist/map/map-control-tooltip.js +6 -22
  282. package/dist/map/map-control.js +1 -21
  283. package/dist/map/map-draw-panel.js +6 -22
  284. package/dist/map/map-legend-panel.js +6 -22
  285. package/dist/map/map-legend.js +1 -21
  286. package/dist/map/map-popover-content.js +6 -22
  287. package/dist/map/map-popover.js +1 -21
  288. package/dist/map/split-map-button.js +6 -22
  289. package/dist/map/toggle-3d-button.js +6 -22
  290. package/dist/map-container.d.ts +1 -1
  291. package/dist/map-container.js +33 -52
  292. package/dist/map-view-state-context.d.ts +6 -1
  293. package/dist/map-view-state-context.js +34 -33
  294. package/dist/maps-layout.js +1 -21
  295. package/dist/modal-container.d.ts +2 -2
  296. package/dist/modal-container.js +13 -72
  297. package/dist/modals/add-map-style-modal.js +8 -72
  298. package/dist/modals/cloud-components/cloud-header.d.ts +8 -0
  299. package/dist/modals/cloud-components/cloud-header.js +65 -0
  300. package/dist/modals/cloud-components/cloud-item.d.ts +5 -0
  301. package/dist/modals/cloud-components/cloud-item.js +72 -0
  302. package/dist/modals/cloud-components/cloud-item.spec.d.ts +1 -0
  303. package/dist/modals/cloud-components/cloud-item.spec.js +105 -0
  304. package/dist/modals/cloud-components/cloud-maps.d.ts +8 -0
  305. package/dist/modals/cloud-components/cloud-maps.js +63 -0
  306. package/dist/modals/cloud-components/cloud-maps.spec.d.ts +1 -0
  307. package/dist/modals/cloud-components/cloud-maps.spec.js +112 -0
  308. package/dist/modals/cloud-components/provider-loading.d.ts +2 -0
  309. package/dist/modals/cloud-components/provider-loading.js +29 -0
  310. package/dist/modals/cloud-components/provider-select.d.ts +7 -0
  311. package/dist/modals/cloud-components/provider-select.js +40 -0
  312. package/dist/modals/cloud-tile.d.ts +8 -8
  313. package/dist/modals/cloud-tile.js +184 -75
  314. package/dist/modals/data-table-modal.js +1 -21
  315. package/dist/modals/delete-data-modal.js +1 -21
  316. package/dist/modals/error-display.js +15 -26
  317. package/dist/modals/export-data-modal.js +1 -21
  318. package/dist/modals/export-image-modal.js +1 -21
  319. package/dist/modals/export-map-modal/components.js +1 -21
  320. package/dist/modals/export-map-modal/export-html-map.js +1 -21
  321. package/dist/modals/export-map-modal/export-json-map.js +1 -21
  322. package/dist/modals/export-map-modal/export-map-modal.js +6 -22
  323. package/dist/modals/image-modal-container.d.ts +1 -3
  324. package/dist/modals/image-modal-container.js +12 -34
  325. package/dist/modals/load-data-modal.d.ts +0 -5
  326. package/dist/modals/load-data-modal.js +1 -21
  327. package/dist/modals/load-storage-map.d.ts +3 -24
  328. package/dist/modals/load-storage-map.js +69 -282
  329. package/dist/modals/load-storage-map.spec.d.ts +1 -0
  330. package/dist/modals/load-storage-map.spec.js +237 -0
  331. package/dist/modals/loading-dialog.js +1 -21
  332. package/dist/modals/modal-dialog.js +6 -22
  333. package/dist/modals/modal-tabs.js +1 -21
  334. package/dist/modals/overwrite-map-modal.d.ts +2 -2
  335. package/dist/modals/overwrite-map-modal.js +39 -32
  336. package/dist/modals/save-map-modal.d.ts +3 -5
  337. package/dist/modals/save-map-modal.js +99 -119
  338. package/dist/modals/save-map-modal.spec.d.ts +1 -0
  339. package/dist/modals/save-map-modal.spec.js +218 -0
  340. package/dist/modals/share-map-modal.d.ts +1 -5
  341. package/dist/modals/share-map-modal.js +57 -81
  342. package/dist/modals/share-map-modal.spec.d.ts +1 -0
  343. package/dist/modals/share-map-modal.spec.js +202 -0
  344. package/dist/modals/status-panel.js +1 -21
  345. package/dist/modals/storage-map-viewer.js +1 -21
  346. package/dist/notification-panel/notification-item.js +1 -21
  347. package/dist/notification-panel.js +1 -21
  348. package/dist/plot-container.js +7 -27
  349. package/dist/side-panel/add-by-dataset-button.js +1 -21
  350. package/dist/side-panel/cloud-storage-dropdown.js +6 -22
  351. package/dist/side-panel/common/dataset-info.js +1 -21
  352. package/dist/side-panel/common/dataset-tag.js +1 -21
  353. package/dist/side-panel/common/dataset-title.js +1 -21
  354. package/dist/side-panel/common/source-data-catalog.js +1 -21
  355. package/dist/side-panel/common/source-data-selector.js +6 -22
  356. package/dist/side-panel/common/types.js +0 -20
  357. package/dist/side-panel/custom-panel.js +6 -22
  358. package/dist/side-panel/filter-manager.js +1 -21
  359. package/dist/side-panel/filter-panel/add-filter-button.js +6 -22
  360. package/dist/side-panel/filter-panel/filter-panel-header.js +2 -22
  361. package/dist/side-panel/filter-panel/filter-panel.js +1 -21
  362. package/dist/side-panel/interaction-manager.js +6 -22
  363. package/dist/side-panel/interaction-panel/brush-config.js +1 -21
  364. package/dist/side-panel/interaction-panel/interaction-panel.js +1 -21
  365. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +8 -0
  366. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +46 -27
  367. package/dist/side-panel/interaction-panel/tooltip-config.js +41 -52
  368. package/dist/side-panel/layer-manager.d.ts +5 -0
  369. package/dist/side-panel/layer-manager.js +3 -22
  370. package/dist/side-panel/layer-panel/add-layer-button.js +6 -22
  371. package/dist/side-panel/layer-panel/color-palette.js +1 -21
  372. package/dist/side-panel/layer-panel/color-range-selector.js +1 -21
  373. package/dist/side-panel/layer-panel/color-selector.js +1 -21
  374. package/dist/side-panel/layer-panel/column-selector.js +1 -21
  375. package/dist/side-panel/layer-panel/custom-palette.js +1 -21
  376. package/dist/side-panel/layer-panel/custom-picker.js +1 -21
  377. package/dist/side-panel/layer-panel/dataset-layer-group.js +6 -22
  378. package/dist/side-panel/layer-panel/dataset-layer-section.js +1 -21
  379. package/dist/side-panel/layer-panel/dataset-section.js +1 -21
  380. package/dist/side-panel/layer-panel/dimension-scale-selector.js +6 -22
  381. package/dist/side-panel/layer-panel/how-to-button.js +1 -21
  382. package/dist/side-panel/layer-panel/layer-color-selector.js +6 -22
  383. package/dist/side-panel/layer-panel/layer-column-config.js +1 -21
  384. package/dist/side-panel/layer-panel/layer-config-group.js +1 -21
  385. package/dist/side-panel/layer-panel/layer-configurator.js +16 -24
  386. package/dist/side-panel/layer-panel/layer-error-message.js +1 -21
  387. package/dist/side-panel/layer-panel/layer-list.js +1 -21
  388. package/dist/side-panel/layer-panel/layer-panel-header.js +1 -21
  389. package/dist/side-panel/layer-panel/layer-panel.js +1 -21
  390. package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +1 -21
  391. package/dist/side-panel/layer-panel/layer-type-list-item.js +1 -21
  392. package/dist/side-panel/layer-panel/layer-type-selector.js +1 -21
  393. package/dist/side-panel/layer-panel/single-color-palette.js +1 -21
  394. package/dist/side-panel/layer-panel/text-label-panel.js +1 -21
  395. package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +1 -21
  396. package/dist/side-panel/layer-panel/vis-config-slider.js +1 -21
  397. package/dist/side-panel/layer-panel/vis-config-switch.js +1 -21
  398. package/dist/side-panel/map-manager.js +1 -21
  399. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +1 -21
  400. package/dist/side-panel/map-style-panel/map-layer-group-item.js +1 -21
  401. package/dist/side-panel/map-style-panel/map-layer-selector.js +1 -21
  402. package/dist/side-panel/map-style-panel/map-style-selector.js +1 -21
  403. package/dist/side-panel/panel-dropdown.js +1 -21
  404. package/dist/side-panel/panel-header-action.js +1 -21
  405. package/dist/side-panel/panel-header.js +2 -21
  406. package/dist/side-panel/panel-tab.js +1 -21
  407. package/dist/side-panel/panel-title.js +1 -21
  408. package/dist/side-panel/panel-toggle.js +1 -21
  409. package/dist/side-panel/panel-view-list-toggle.js +1 -21
  410. package/dist/side-panel/side-bar.js +1 -21
  411. package/dist/side-panel.js +7 -36
  412. package/dist/types.d.ts +2 -4
  413. package/dist/types.js +0 -20
  414. package/package.json +27 -24
  415. package/dist/hooks/useFeatureFlags.d.ts +0 -2
  416. package/dist/hooks/useFeatureFlags.js +0 -38
  417. package/dist/modals/provider-modal-container.d.ts +0 -23
  418. package/dist/modals/provider-modal-container.js +0 -101
@@ -1,308 +1,95 @@
1
- // Copyright (c) 2023 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
1
  "use strict";
22
2
 
23
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
24
-
25
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
26
4
 
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
27
7
  Object.defineProperty(exports, "__esModule", {
28
8
  value: true
29
9
  });
30
- exports["default"] = exports.ProviderSelect = void 0;
31
-
32
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
33
-
34
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
35
-
36
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
10
+ exports["default"] = void 0;
37
11
 
38
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
39
-
40
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
41
-
42
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
43
-
44
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
45
-
46
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
47
13
 
48
14
  var _react = _interopRequireWildcard(require("react"));
49
15
 
50
- var _styledComponents = _interopRequireDefault(require("styled-components"));
51
-
52
- var _moment = _interopRequireDefault(require("moment"));
53
-
54
- var _loadingDialog = _interopRequireDefault(require("./loading-dialog"));
55
-
56
- var _styledComponents2 = require("../common/styled-components");
57
-
58
- var _cloudTile = _interopRequireDefault(require("./cloud-tile"));
59
-
60
- var _icons = require("../common/icons");
61
-
62
- var _providerModalContainer = _interopRequireDefault(require("./provider-modal-container"));
63
-
64
- var _localization = require("@kepler.gl/localization");
65
-
66
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
67
-
68
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
69
-
70
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
71
-
72
- var StyledProviderSection = _styledComponents["default"].div.attrs({
73
- className: 'provider-selection'
74
- })(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n"])));
75
-
76
- var StyledSpinner = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n text-align: center;\n span {\n margin: 0 auto;\n }\n"])));
77
-
78
- var StyledVisualizationSection = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n align-items: stretch;\n"])));
79
-
80
- var StyledStorageHeader = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 16px;\n font-size: 12px;\n line-height: 14px;\n"])));
81
-
82
- var StyledBackBtn = _styledComponents["default"].a(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 16px;\n color: #3a414c;\n cursor: pointer;\n\n &:hover {\n font-weight: 500;\n }\n"])));
83
-
84
- var StyledProviderVisSection = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n flex: 1 1 auto;\n background-color: #f8f8f9;\n padding: 20px 24px;\n min-height: 280px;\n\n .title {\n font-size: 14px;\n line-height: 16px;\n font-weight: 500;\n margin-bottom: 16px;\n\n span {\n text-transform: capitalize;\n }\n }\n"])));
85
-
86
- var StyledSeparator = _styledComponents["default"].hr(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n border: solid #bfbfbf;\n border-width: 0 0 1px 0;\n margin-bottom: 16px;\n"])));
16
+ var _cloudHeader = require("./cloud-components/cloud-header");
87
17
 
88
- var StyledVisualizationList = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-flow: row wrap;\n align-items: stretch;\n justify-content: space-between;\n"])));
18
+ var _cloudMaps = require("./cloud-components/cloud-maps");
89
19
 
90
- var StyledVisualizationItem = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n flex: 0 0 auto;\n width: 208px;\n display: flex;\n flex-direction: column;\n padding: 16px 8px;\n color: #3a414c;\n cursor: pointer;\n font-size: 12px;\n line-height: 18px;\n\n &:hover {\n .vis_item-icon,\n .vis_item-thumb,\n .vis_item-description,\n .vis_item-modification-date {\n opacity: 1;\n }\n }\n\n .vis_item-icon,\n .vis_item-thumb,\n .vis_item-description,\n .vis_item-modification-date {\n opacity: 0.9;\n transition: opacity 0.4s ease;\n }\n\n .vis_item-icon {\n position: relative;\n flex: 0 0 108px;\n background-color: #6a7484;\n border-radius: 4px;\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n }\n\n .vis_item-thumb {\n position: relative;\n flex: 0 0 108px;\n background-size: cover;\n background-position: center;\n border-radius: 4px;\n }\n\n .vis_item-privacy {\n position: absolute;\n top: 0;\n left: 0;\n padding: 3px 6px;\n border-radius: 4px 0;\n background-color: rgba(58, 65, 76, 0.7);\n color: #fff;\n font-size: 11px;\n line-height: 18px;\n }\n\n .vis_item-title {\n margin-top: 16px;\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .vis_item-description {\n flex: 1 1 auto;\n margin-top: 8px;\n }\n\n .vis_item-modification-date {\n margin-top: 16px;\n flex: 1 0 auto;\n color: #6a7484;\n line-height: 15px;\n }\n"])));
20
+ var _useCloudListProvider2 = require("../hooks/use-cloud-list-provider");
91
21
 
92
- var MapIcon = function MapIcon(props) {
93
- return /*#__PURE__*/_react["default"].createElement("div", props, props.children, /*#__PURE__*/_react["default"].createElement(_icons.Base, {
94
- height: "32px",
95
- viewBox: '0 0 16 16'
96
- }, /*#__PURE__*/_react["default"].createElement("path", {
97
- fill: "#d3d8d6",
98
- d: "m13.6 11.572-3.2 2.1336v-9.2776l3.2-2.1336zm-12-7.144 3.2-2.1336v9.2776l-3.2 2.1336zm13.244 8.2376c0.2224-0.148 0.356-0.3984 0.356-0.6656v-11.2c0-0.2952-0.1624-0.5664-0.4224-0.7048-0.26-0.14-0.576-0.1248-0.8216 0.0392l-4.3128 2.876-3.5432-2.8352c-0.1208-0.0936-0.2952-0.1624-0.472-0.1688-0.1648-0.0064-0.348 0.0464-0.472 0.128l-4.8 3.2c-0.2224 0.1488-0.356 0.3984-0.356 0.6656v11.2c0 0.2952 0.1624 0.5664 0.4224 0.7056 0.1184 0.0632 0.248 0.0944 0.3776 0.0944 0.1552 0 0.3096-0.0448 0.444-0.1344l4.3128-2.876 3.5432 2.8352c0.1448 0.116 0.3216 0.1752 0.5 0.1752 0.1184 0 0.236-0.0248 0.3464-0.0784z"
99
- })));
100
- };
22
+ var _providerSelect = require("./cloud-components/provider-select");
101
23
 
102
- var PrivacyBadge = function PrivacyBadge(_ref) {
103
- var privateMap = _ref.privateMap;
104
- return /*#__PURE__*/_react["default"].createElement("span", {
105
- className: "vis_item-privacy"
106
- }, privateMap ? 'Private' : 'Public');
107
- };
108
-
109
- var VisualizationItem = function VisualizationItem(_ref2) {
110
- var vis = _ref2.vis,
111
- onClick = _ref2.onClick;
112
- return /*#__PURE__*/_react["default"].createElement(StyledVisualizationItem, {
113
- onClick: onClick
114
- }, vis.thumbnail ? /*#__PURE__*/_react["default"].createElement("div", {
115
- className: "vis_item-thumb",
116
- style: {
117
- backgroundImage: "url(".concat(vis.thumbnail, ")")
118
- }
119
- }, vis.hasOwnProperty('privateMap') ? /*#__PURE__*/_react["default"].createElement(PrivacyBadge, {
120
- privateMap: vis.privateMap
121
- }) : null) : /*#__PURE__*/_react["default"].createElement(MapIcon, {
122
- className: "vis_item-icon"
123
- }, vis.hasOwnProperty('privateMap') ? /*#__PURE__*/_react["default"].createElement(PrivacyBadge, {
124
- privateMap: vis.privateMap
125
- }) : null), /*#__PURE__*/_react["default"].createElement("span", {
126
- className: "vis_item-title"
127
- }, vis.title), vis.description && vis.description.length && /*#__PURE__*/_react["default"].createElement("span", {
128
- className: "vis_item-description"
129
- }, vis.description), /*#__PURE__*/_react["default"].createElement("span", {
130
- className: "vis_item-modification-date"
131
- }, "Last modified ", _moment["default"].utc(vis.lastModification).fromNow()));
132
- };
133
-
134
- var ProviderSelect = function ProviderSelect(_ref3) {
135
- var _ref3$cloudProviders = _ref3.cloudProviders,
136
- cloudProviders = _ref3$cloudProviders === void 0 ? [] : _ref3$cloudProviders,
137
- _onSelect = _ref3.onSelect,
138
- onSetCloudProvider = _ref3.onSetCloudProvider,
139
- currentProvider = _ref3.currentProvider;
140
- return cloudProviders.length ? /*#__PURE__*/_react["default"].createElement(StyledProviderSection, null, cloudProviders.map(function (provider) {
141
- return /*#__PURE__*/_react["default"].createElement(_cloudTile["default"], {
142
- key: provider.name,
143
- onSelect: function onSelect() {
144
- return _onSelect(provider.name);
145
- },
146
- onSetCloudProvider: onSetCloudProvider,
147
- cloudProvider: provider,
148
- isSelected: provider.name === currentProvider,
149
- isConnected: Boolean(provider.getAccessToken && provider.getAccessToken())
150
- });
151
- })) : /*#__PURE__*/_react["default"].createElement("p", null, "No storage provider available");
152
- };
153
-
154
- exports.ProviderSelect = ProviderSelect;
24
+ var _flexContainer = require("../common/flex-container");
155
25
 
26
+ // SPDX-License-Identifier: MIT
27
+ // Copyright contributors to the kepler.gl project
156
28
  function LoadStorageMapFactory() {
157
- var LoadStorageMap = /*#__PURE__*/function (_Component) {
158
- (0, _inherits2["default"])(LoadStorageMap, _Component);
159
-
160
- var _super = _createSuper(LoadStorageMap);
161
-
162
- function LoadStorageMap() {
163
- var _this;
164
-
165
- (0, _classCallCheck2["default"])(this, LoadStorageMap);
166
-
167
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
168
- args[_key] = arguments[_key];
169
- }
170
-
171
- _this = _super.call.apply(_super, [this].concat(args));
172
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
173
- showProviderSelect: true
174
- });
175
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_getProvider", function () {
176
- var _this$props = _this.props,
177
- currentProvider = _this$props.currentProvider,
178
- cloudProviders = _this$props.cloudProviders;
179
- return (cloudProviders || []).find(function (p) {
180
- return p.name === currentProvider;
181
- });
182
- });
183
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_clickBack", function () {
184
- _this.setState({
185
- showProviderSelect: true
186
- });
187
- });
188
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_selectProvider", function (providerName) {
189
- _this.props.onSetCloudProvider(providerName);
190
-
191
- var provider = (_this.props.cloudProviders || []).find(function (p) {
192
- return p.name === providerName;
193
- });
194
-
195
- _this.props.getSavedMaps(provider);
196
-
197
- _this.setState({
198
- showProviderSelect: false
199
- });
200
- });
201
- return _this;
202
- }
203
-
204
- (0, _createClass2["default"])(LoadStorageMap, [{
205
- key: "componentDidMount",
206
- value: function componentDidMount() {
207
- this._getSavedMaps();
208
- }
209
- }, {
210
- key: "componentDidUpdate",
211
- value: function componentDidUpdate(prevProps) {
212
- if (prevProps.currentProvider !== this.props.currentProvider) {
213
- this._getSavedMaps();
214
- }
215
- }
216
- }, {
217
- key: "_getSavedMaps",
218
- value: function _getSavedMaps() {
219
- var provider = this._getProvider();
220
-
221
- if (provider) {
222
- this.props.getSavedMaps(provider);
223
- this.setState({
224
- showProviderSelect: false
225
- });
226
- }
227
- }
228
- }, {
229
- key: "_onLoadCloudMap",
230
- value: function _onLoadCloudMap(provider, vis) {
231
- this.props.onLoadCloudMap({
232
- loadParams: vis.loadParams,
233
- provider: provider
29
+ var LoadStorageMap = function LoadStorageMap(_ref) {
30
+ var onLoadCloudMap = _ref.onLoadCloudMap;
31
+
32
+ var _useCloudListProvider = (0, _useCloudListProvider2.useCloudListProvider)(),
33
+ currentProvider = _useCloudListProvider.provider,
34
+ setProvider = _useCloudListProvider.setProvider,
35
+ cloudProviders = _useCloudListProvider.cloudProviders;
36
+
37
+ var _useState = (0, _react.useState)(false),
38
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
39
+ isLoading = _useState2[0],
40
+ setIsLoading = _useState2[1];
41
+
42
+ var _useState3 = (0, _react.useState)(null),
43
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
44
+ maps = _useState4[0],
45
+ setMaps = _useState4[1];
46
+
47
+ var _useState5 = (0, _react.useState)(null),
48
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
49
+ error = _useState6[0],
50
+ setError = _useState6[1];
51
+
52
+ var setProviderInfo = (0, _react.useCallback)(function (provider) {
53
+ setMaps(null);
54
+ setError(null);
55
+
56
+ if (provider) {
57
+ setIsLoading(true);
58
+ provider.listMaps().then(setMaps)["catch"](setError)["finally"](function () {
59
+ return setIsLoading(false);
234
60
  });
61
+ } else {
62
+ setIsLoading(false);
235
63
  }
236
- }, {
237
- key: "render",
238
- value: function render() {
239
- var _this2 = this;
240
-
241
- var _this$props2 = this.props,
242
- visualizations = _this$props2.visualizations,
243
- cloudProviders = _this$props2.cloudProviders,
244
- currentProvider = _this$props2.currentProvider,
245
- isProviderLoading = _this$props2.isProviderLoading,
246
- onSetCloudProvider = _this$props2.onSetCloudProvider;
247
-
248
- var provider = this._getProvider();
249
-
250
- return /*#__PURE__*/_react["default"].createElement(_providerModalContainer["default"], {
251
- onSetCloudProvider: onSetCloudProvider,
252
- cloudProviders: cloudProviders,
253
- currentProvider: currentProvider
254
- }, this.state.showProviderSelect ? /*#__PURE__*/_react["default"].createElement(ProviderSelect, {
255
- onSelect: this._selectProvider,
256
- cloudProviders: cloudProviders,
257
- onSetCloudProvider: onSetCloudProvider,
258
- currentProvider: currentProvider
259
- }) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, isProviderLoading && /*#__PURE__*/_react["default"].createElement(StyledSpinner, null, /*#__PURE__*/_react["default"].createElement(_loadingDialog["default"], {
260
- size: 64
261
- })), !isProviderLoading && visualizations && /*#__PURE__*/_react["default"].createElement(StyledVisualizationSection, null, /*#__PURE__*/_react["default"].createElement(StyledStorageHeader, null, /*#__PURE__*/_react["default"].createElement(StyledBackBtn, null, /*#__PURE__*/_react["default"].createElement(_styledComponents2.Button, {
262
- link: true,
263
- onClick: this._clickBack
264
- }, /*#__PURE__*/_react["default"].createElement(_icons.ArrowLeft, {
265
- height: "14px"
266
- }), /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
267
- id: 'modal.loadStorageMap.back'
268
- }))), (provider === null || provider === void 0 ? void 0 : provider.getManagementUrl) && /*#__PURE__*/_react["default"].createElement("a", {
269
- key: 1,
270
- href: provider === null || provider === void 0 ? void 0 : provider.getManagementUrl(),
271
- target: "_blank",
272
- rel: "noopener noreferrer",
273
- style: {
274
- textDecoration: 'underline'
275
- }
276
- }, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
277
- id: 'modal.loadStorageMap.back',
278
- values: {
279
- displayName: provider.displayName
280
- }
281
- }))), /*#__PURE__*/_react["default"].createElement(StyledProviderVisSection, null, /*#__PURE__*/_react["default"].createElement("span", {
282
- className: "title"
283
- }, /*#__PURE__*/_react["default"].createElement("span", null, currentProvider), /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
284
- id: 'modal.loadStorageMap.storageMaps'
285
- })), /*#__PURE__*/_react["default"].createElement(StyledSeparator, null), /*#__PURE__*/_react["default"].createElement(StyledVisualizationList, null, visualizations.length ? visualizations.map(function (vis) {
286
- return /*#__PURE__*/_react["default"].createElement(VisualizationItem, {
287
- key: vis.id,
288
- onClick: function onClick() {
289
- return _this2._onLoadCloudMap(provider, vis);
290
- },
291
- vis: vis
292
- });
293
- }) : /*#__PURE__*/_react["default"].createElement("div", {
294
- className: "visualization-list__message"
295
- }, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
296
- id: 'modal.loadStorageMap.noSavedMaps'
297
- })))))));
64
+ }, []);
65
+ (0, _react.useEffect)(function () {
66
+ setProviderInfo(currentProvider);
67
+ }, [currentProvider]);
68
+ var onSelectMap = (0, _react.useCallback)(function (provider, map) {
69
+ onLoadCloudMap({
70
+ loadParams: map.loadParams,
71
+ provider: provider
72
+ });
73
+ }, []);
74
+ return /*#__PURE__*/_react["default"].createElement(_flexContainer.FlexColContainer, null, !currentProvider ? /*#__PURE__*/_react["default"].createElement(_providerSelect.ProviderSelect, {
75
+ cloudProviders: cloudProviders
76
+ }) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_cloudHeader.CloudHeader, {
77
+ provider: currentProvider,
78
+ onBack: function onBack() {
79
+ return setProvider(null);
298
80
  }
299
- }]);
300
- return LoadStorageMap;
301
- }(_react.Component);
81
+ }), /*#__PURE__*/_react["default"].createElement(_cloudMaps.CloudMaps, {
82
+ isLoading: isLoading,
83
+ onSelectMap: onSelectMap,
84
+ provider: currentProvider,
85
+ error: error,
86
+ maps: maps
87
+ })));
88
+ };
302
89
 
303
90
  return LoadStorageMap;
304
91
  }
305
92
 
306
93
  var _default = LoadStorageMapFactory;
307
94
  exports["default"] = _default;
308
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RhbHMvbG9hZC1zdG9yYWdlLW1hcC50c3giXSwibmFtZXMiOlsiU3R5bGVkUHJvdmlkZXJTZWN0aW9uIiwic3R5bGVkIiwiZGl2IiwiYXR0cnMiLCJjbGFzc05hbWUiLCJTdHlsZWRTcGlubmVyIiwiU3R5bGVkVmlzdWFsaXphdGlvblNlY3Rpb24iLCJTdHlsZWRTdG9yYWdlSGVhZGVyIiwiU3R5bGVkQmFja0J0biIsImEiLCJTdHlsZWRQcm92aWRlclZpc1NlY3Rpb24iLCJTdHlsZWRTZXBhcmF0b3IiLCJociIsIlN0eWxlZFZpc3VhbGl6YXRpb25MaXN0IiwiU3R5bGVkVmlzdWFsaXphdGlvbkl0ZW0iLCJNYXBJY29uIiwicHJvcHMiLCJjaGlsZHJlbiIsIlByaXZhY3lCYWRnZSIsInByaXZhdGVNYXAiLCJWaXN1YWxpemF0aW9uSXRlbSIsInZpcyIsIm9uQ2xpY2siLCJ0aHVtYm5haWwiLCJiYWNrZ3JvdW5kSW1hZ2UiLCJoYXNPd25Qcm9wZXJ0eSIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJsZW5ndGgiLCJtb21lbnQiLCJ1dGMiLCJsYXN0TW9kaWZpY2F0aW9uIiwiZnJvbU5vdyIsIlByb3ZpZGVyU2VsZWN0IiwiY2xvdWRQcm92aWRlcnMiLCJvblNlbGVjdCIsIm9uU2V0Q2xvdWRQcm92aWRlciIsImN1cnJlbnRQcm92aWRlciIsIm1hcCIsInByb3ZpZGVyIiwibmFtZSIsIkJvb2xlYW4iLCJnZXRBY2Nlc3NUb2tlbiIsIkxvYWRTdG9yYWdlTWFwRmFjdG9yeSIsIkxvYWRTdG9yYWdlTWFwIiwic2hvd1Byb3ZpZGVyU2VsZWN0IiwiZmluZCIsInAiLCJzZXRTdGF0ZSIsInByb3ZpZGVyTmFtZSIsImdldFNhdmVkTWFwcyIsIl9nZXRTYXZlZE1hcHMiLCJwcmV2UHJvcHMiLCJfZ2V0UHJvdmlkZXIiLCJvbkxvYWRDbG91ZE1hcCIsImxvYWRQYXJhbXMiLCJ2aXN1YWxpemF0aW9ucyIsImlzUHJvdmlkZXJMb2FkaW5nIiwic3RhdGUiLCJfc2VsZWN0UHJvdmlkZXIiLCJfY2xpY2tCYWNrIiwiZ2V0TWFuYWdlbWVudFVybCIsInRleHREZWNvcmF0aW9uIiwiZGlzcGxheU5hbWUiLCJpZCIsIl9vbkxvYWRDbG91ZE1hcCIsIkNvbXBvbmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOzs7Ozs7OztBQUdBLElBQU1BLHFCQUFxQixHQUFHQyw2QkFBT0MsR0FBUCxDQUFXQyxLQUFYLENBQWlCO0FBQzdDQyxFQUFBQSxTQUFTLEVBQUU7QUFEa0MsQ0FBakIsQ0FBSCwwR0FBM0I7O0FBTUEsSUFBTUMsYUFBYSxHQUFHSiw2QkFBT0MsR0FBVixxSkFBbkI7O0FBT0EsSUFBTUksMEJBQTBCLEdBQUdMLDZCQUFPQyxHQUFWLGdLQUFoQzs7QUFNQSxJQUFNSyxtQkFBbUIsR0FBR04sNkJBQU9DLEdBQVYsaVFBQXpCOztBQVVBLElBQU1NLGFBQWEsR0FBR1AsNkJBQU9RLENBQVYsb01BQW5COztBQVVBLElBQU1DLHdCQUF3QixHQUFHVCw2QkFBT0MsR0FBVixrV0FBOUI7O0FBa0JBLElBQU1TLGVBQWUsR0FBR1YsNkJBQU9XLEVBQVYsd0tBQXJCOztBQU1BLElBQU1DLHVCQUF1QixHQUFHWiw2QkFBT0MsR0FBVixnTUFBN0I7O0FBT0EsSUFBTVksdUJBQXVCLEdBQUdiLDZCQUFPQyxHQUFWLCtpREFBN0I7O0FBa0ZBLElBQU1hLE9BQStCLEdBQUcsU0FBbENBLE9BQWtDLENBQUFDLEtBQUssRUFBSTtBQUMvQyxzQkFDRSx1Q0FBU0EsS0FBVCxFQUNHQSxLQUFLLENBQUNDLFFBRFQsZUFFRSxnQ0FBQyxXQUFEO0FBQU0sSUFBQSxNQUFNLEVBQUMsTUFBYjtBQUFvQixJQUFBLE9BQU8sRUFBRTtBQUE3QixrQkFDRTtBQUNFLElBQUEsSUFBSSxFQUFDLFNBRFA7QUFFRSxJQUFBLENBQUMsRUFBQztBQUZKLElBREYsQ0FG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Q0FBbUIsVUFBQWpCLEdBQUc7QUFBQSw4QkFDcEIsZ0NBQUMsaUJBQUQ7QUFDRSxZQUFBLEdBQUcsRUFBRUEsR0FBRyxDQUFDMkMsRUFEWDtBQUVFLFlBQUEsT0FBTyxFQUFFO0FBQUEscUJBQU0sTUFBSSxDQUFDQyxlQUFMLENBQXFCMUIsUUFBckIsRUFBK0JsQixHQUEvQixDQUFOO0FBQUEsYUFGWDtBQUdFLFlBQUEsR0FBRyxFQUFFQTtBQUhQLFlBRG9CO0FBQUEsU0FBdEIsQ0FERCxnQkFTQztBQUFLLFVBQUEsU0FBUyxFQUFDO0FBQWYsd0JBQ0UsZ0NBQUMsOEJBQUQ7QUFBa0IsVUFBQSxFQUFFLEVBQUU7QUFBdEIsVUFERixDQVZKLENBTkYsQ0F2QkYsQ0FQSixDQWJKLENBREY7QUF3RUQ7QUFsSXNFO0FBQUE7QUFBQSxJQUM1QzZDLGdCQUQ0Qzs7QUFvSXpFLFNBQU90QixjQUFQO0FBQ0Q7O2VBRWNELHFCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIzIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcblxuaW1wb3J0IExvYWRpbmdEaWFsb2cgZnJvbSAnLi9sb2FkaW5nLWRpYWxvZyc7XG5pbXBvcnQge0J1dHRvbn0gZnJvbSAnLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBDbG91ZFRpbGUgZnJvbSAnLi9jbG91ZC10aWxlJztcbmltcG9ydCB7QmFzZX0gZnJvbSAnLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCB7QXJyb3dMZWZ0fSBmcm9tICcuLi9jb21tb24vaWNvbnMnO1xuaW1wb3J0IFByb3ZpZGVyTW9kYWxDb250YWluZXIgZnJvbSAnLi9wcm92aWRlci1tb2RhbC1jb250YWluZXInO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5pbXBvcnQge01hcExpc3RJdGVtLCBQcm92aWRlcn0gZnJvbSAnQGtlcGxlci5nbC9jbG91ZC1wcm92aWRlcnMnO1xuXG5jb25zdCBTdHlsZWRQcm92aWRlclNlY3Rpb24gPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAncHJvdmlkZXItc2VsZWN0aW9uJ1xufSlgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xuXG5jb25zdCBTdHlsZWRTcGlubmVyID0gc3R5bGVkLmRpdmBcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBzcGFuIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkVmlzdWFsaXphdGlvblNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbmA7XG5cbmNvbnN0IFN0eWxlZFN0b3JhZ2VIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG5gO1xuXG5jb25zdCBTdHlsZWRCYWNrQnRuID0gc3R5bGVkLmFgXG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiAjM2E0MTRjO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlciB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkUHJvdmlkZXJWaXNTZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgZmxleDogMSAxIGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjk7XG4gIHBhZGRpbmc6IDIwcHggMjRweDtcbiAgbWluLWhlaWdodDogMjgwcHg7XG5cbiAgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuXG4gICAgc3BhbiB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZFNlcGFyYXRvciA9IHN0eWxlZC5ocmBcbiAgYm9yZGVyOiBzb2xpZCAjYmZiZmJmO1xuICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbmA7XG5cbmNvbnN0IFN0eWxlZFZpc3VhbGl6YXRpb25MaXN0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmNvbnN0IFN0eWxlZFZpc3VhbGl6YXRpb25JdGVtID0gc3R5bGVkLmRpdmBcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiAyMDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogMTZweCA4cHg7XG4gIGNvbG9yOiAjM2E0MTRjO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG5cbiAgJjpob3ZlciB7XG4gICAgLnZpc19pdGVtLWljb24sXG4gICAgLnZpc19pdGVtLXRodW1iLFxuICAgIC52aXNfaXRlbS1kZXNjcmlwdGlvbixcbiAgICAudmlzX2l0ZW0tbW9kaWZpY2F0aW9uLWRhdGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAudmlzX2l0ZW0taWNvbixcbiAgLnZpc19pdGVtLXRodW1iLFxuICAudmlzX2l0ZW0tZGVzY3JpcHRpb24sXG4gIC52aXNfaXRlbS1tb2RpZmljYXRpb24tZGF0ZSB7XG4gICAgb3BhY2l0eTogMC45O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlO1xuICB9XG5cbiAgLnZpc19pdGVtLWljb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAwIDAgMTA4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzZhNzQ4NDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAudmlzX2l0ZW0tdGh1bWIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4OiAwIDAgMTA4cHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB9XG5cbiAgLnZpc19pdGVtLXByaXZhY3kge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiAzcHggNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTgsIDY1LCA3NiwgMC43KTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIH1cblxuICAudmlzX2l0ZW0tdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIH1cblxuICAudmlzX2l0ZW0tZGVzY3JpcHRpb24ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgfVxuXG4gIC52aXNfaXRlbS1tb2RpZmljYXRpb24tZGF0ZSB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgICBjb2xvcjogIzZhNzQ4NDtcbiAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgfVxuYDtcblxudHlwZSBNYXBJY29uUG9ycHMgPSBSZWFjdC5EZXRhaWxlZEhUTUxQcm9wczxSZWFjdC5IVE1MQXR0cmlidXRlczxIVE1MRGl2RWxlbWVudD4sIEhUTUxEaXZFbGVtZW50PjtcblxuY29uc3QgTWFwSWNvbjogUmVhY3QuRkM8TWFwSWNvblBvcnBzPiA9IHByb3BzID0+IHtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IHsuLi5wcm9wc30+XG4gICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8QmFzZSBoZWlnaHQ9XCIzMnB4XCIgdmlld0JveD17JzAgMCAxNiAxNid9PlxuICAgICAgICA8cGF0aFxuICAgICAgICAgIGZpbGw9XCIjZDNkOGQ2XCJcbiAgICAgICAgICBkPVwibTEzLjYgMTEuNTcyLTMuMiAyLjEzMzZ2LTkuMjc3NmwzLjItMi4xMzM2em0tMTItNy4xNDQgMy4yLTIuMTMzNnY5LjI3NzZsLTMuMiAyLjEzMzZ6bTEzLjI0NCA4LjIzNzZjMC4yMjI0LTAuMTQ4IDAuMzU2LTAuMzk4NCAwLjM1Ni0wLjY2NTZ2LTExLjJjMC0wLjI5NTItMC4xNjI0LTAuNTY2NC0wLjQyMjQtMC43MDQ4LTAuMjYtMC4xNC0wLjU3Ni0wLjEyNDgtMC44MjE2IDAuMDM5MmwtNC4zMTI4IDIuODc2LTMuNTQzMi0yLjgzNTJjLTAuMTIwOC0wLjA5MzYtMC4yOTUyLTAuMTYyNC0wLjQ3Mi0wLjE2ODgtMC4xNjQ4LTAuMDA2NC0wLjM0OCAwLjA0NjQtMC40NzIgMC4xMjhsLTQuOCAzLjJjLTAuMjIyNCAwLjE0ODgtMC4zNTYgMC4zOTg0LTAuMzU2IDAuNjY1NnYxMS4yYzAgMC4yOTUyIDAuMTYyNCAwLjU2NjQgMC40MjI0IDAuNzA1NiAwLjExODQgMC4wNjMyIDAuMjQ4IDAuMDk0NCAwLjM3NzYgMC4wOTQ0IDAuMTU1MiAwIDAuMzA5Ni0wLjA0NDggMC40NDQtMC4xMzQ0bDQuMzEyOC0yLjg3NiAzLjU0MzIgMi44MzUyYzAuMTQ0OCAwLjExNiAwLjMyMTYgMC4xNzUyIDAuNSAwLjE3NTIgMC4xMTg0IDAgMC4yMzYtMC4wMjQ4IDAuMzQ2NC0wLjA3ODR6XCJcbiAgICAgICAgLz5cbiAgICAgIDwvQmFzZT5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmludGVyZmFjZSBQcml2YWN5QmFkZ2VQcm9wcyB7XG4gIHByaXZhdGVNYXA/OiBib29sZWFuO1xufVxuXG5jb25zdCBQcml2YWN5QmFkZ2U6IFJlYWN0LkZDPFByaXZhY3lCYWRnZVByb3BzPiA9ICh7cHJpdmF0ZU1hcH0pID0+IChcbiAgPHNwYW4gY2xhc3NOYW1lPVwidmlzX2l0ZW0tcHJpdmFjeVwiPntwcml2YXRlTWFwID8gJ1ByaXZhdGUnIDogJ1B1YmxpYyd9PC9zcGFuPlxuKTtcblxuaW50ZXJmYWNlIFZpc3VhbGl6YXRpb24gZXh0ZW5kcyBNYXBMaXN0SXRlbSB7XG4gIHRodW1ibmFpbD86IEJsb2I7XG59XG5cbmludGVyZmFjZSBWaXN1YWxpemF0aW9uSXRlbVByb3BzIHtcbiAgb25DbGljaz86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PjtcbiAgdmlzOiBWaXN1YWxpemF0aW9uO1xufVxuXG5jb25zdCBWaXN1YWxpemF0aW9uSXRlbTogUmVhY3QuRkM8VmlzdWFsaXphdGlvbkl0ZW1Qcm9wcz4gPSAoe3Zpcywgb25DbGlja30pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkVmlzdWFsaXphdGlvbkl0ZW0gb25DbGljaz17b25DbGlja30+XG4gICAgICB7dmlzLnRodW1ibmFpbCA/IChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ2aXNfaXRlbS10aHVtYlwiIHN0eWxlPXt7YmFja2dyb3VuZEltYWdlOiBgdXJsKCR7dmlzLnRodW1ibmFpbH0pYH19PlxuICAgICAgICAgIHt2aXMuaGFzT3duUHJvcGVydHkoJ3ByaXZhdGVNYXAnKSA/IDxQcml2YWN5QmFkZ2UgcHJpdmF0ZU1hcD17dmlzLnByaXZhdGVNYXB9IC8+IDogbnVsbH1cbiAgICAgICAgPC9kaXY+XG4gICAgICApIDogKFxuICAgICAgICA8TWFwSWNvbiBjbGFzc05hbWU9XCJ2aXNfaXRlbS1pY29uXCI+XG4gICAgICAgICAge3Zpcy5oYXNPd25Qcm9wZXJ0eSgncHJpdmF0ZU1hcCcpID8gPFByaXZhY3lCYWRnZSBwcml2YXRlTWFwPXt2aXMucHJpdmF0ZU1hcH0gLz4gOiBudWxsfVxuICAgICAgICA8L01hcEljb24+XG4gICAgICApfVxuICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidmlzX2l0ZW0tdGl0bGVcIj57dmlzLnRpdGxlfTwvc3Bhbj5cbiAgICAgIHt2aXMuZGVzY3JpcHRpb24gJiYgdmlzLmRlc2NyaXB0aW9uLmxlbmd0aCAmJiAoXG4gICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInZpc19pdGVtLWRlc2NyaXB0aW9uXCI+e3Zpcy5kZXNjcmlwdGlvbn08L3NwYW4+XG4gICAgICApfVxuICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidmlzX2l0ZW0tbW9kaWZpY2F0aW9uLWRhdGVcIj5cbiAgICAgICAgTGFzdCBtb2RpZmllZCB7bW9tZW50LnV0Yyh2aXMubGFzdE1vZGlmaWNhdGlvbikuZnJvbU5vdygpfVxuICAgICAgPC9zcGFuPlxuICAgIDwvU3R5bGVkVmlzdWFsaXphdGlvbkl0ZW0+XG4gICk7XG59O1xuXG5pbnRlcmZhY2UgUHJvdmlkZXJTZWxlY3RQcm9wcyB7XG4gIGNsb3VkUHJvdmlkZXJzOiBQcm92aWRlcltdO1xuICBvblNlbGVjdDogKG5hbWU6IHN0cmluZykgPT4gdm9pZDtcbiAgb25TZXRDbG91ZFByb3ZpZGVyOiAoKSA9PiB2b2lkO1xuICBjdXJyZW50UHJvdmlkZXI/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBQcm92aWRlclNlbGVjdDogUmVhY3QuRkM8UHJvdmlkZXJTZWxlY3RQcm9wcz4gPSAoe1xuICBjbG91ZFByb3ZpZGVycyA9IFtdLFxuICBvblNlbGVjdCxcbiAgb25TZXRDbG91ZFByb3ZpZGVyLFxuICBjdXJyZW50UHJvdmlkZXJcbn0pID0+XG4gIGNsb3VkUHJvdmlkZXJzLmxlbmd0aCA/IChcbiAgICA8U3R5bGVkUHJvdmlkZXJTZWN0aW9uPlxuICAgICAge2Nsb3VkUHJvdmlkZXJzLm1hcChwcm92aWRlciA9PiAoXG4gICAgICAgIDxDbG91ZFRpbGVcbiAgICAgICAgICBrZXk9e3Byb3ZpZGVyLm5hbWV9XG4gICAgICAgICAgb25TZWxlY3Q9eygpID0+IG9uU2VsZWN0KHByb3ZpZGVyLm5hbWUpfVxuICAgICAgICAgIG9uU2V0Q2xvdWRQcm92aWRlcj17b25TZXRDbG91ZFByb3ZpZGVyfVxuICAgICAgICAgIGNsb3VkUHJvdmlkZXI9e3Byb3ZpZGVyfVxuICAgICAgICAgIGlzU2VsZWN0ZWQ9e3Byb3ZpZGVyLm5hbWUgPT09IGN1cnJlbnRQcm92aWRlcn1cbiAgICAgICAgICBpc0Nvbm5lY3RlZD17Qm9vbGVhbihwcm92aWRlci5nZXRBY2Nlc3NUb2tlbiAmJiBwcm92aWRlci5nZXRBY2Nlc3NUb2tlbigpKX1cbiAgICAgICAgLz5cbiAgICAgICkpfVxuICAgIDwvU3R5bGVkUHJvdmlkZXJTZWN0aW9uPlxuICApIDogKFxuICAgIDxwPk5vIHN0b3JhZ2UgcHJvdmlkZXIgYXZhaWxhYmxlPC9wPlxuICApO1xuXG5pbnRlcmZhY2UgTG9hZFN0b3JhZ2VNYXBQcm9wcyB7XG4gIGNsb3VkUHJvdmlkZXJzOiBQcm92aWRlcltdO1xuICBvblNldENsb3VkUHJvdmlkZXI7XG4gIGN1cnJlbnRQcm92aWRlcj86IHN0cmluZztcbiAgZ2V0U2F2ZWRNYXBzOiAocHJvdmlkZXI/OiBQcm92aWRlcikgPT4gdm9pZDtcbiAgb25Mb2FkQ2xvdWRNYXA6IChvcHRzOiB7bG9hZFBhcmFtczogYW55OyBwcm92aWRlcj86IFByb3ZpZGVyfSkgPT4gdm9pZDtcbiAgdmlzdWFsaXphdGlvbnM6IFZpc3VhbGl6YXRpb25bXTtcbiAgaXNQcm92aWRlckxvYWRpbmc/OiBib29sZWFuO1xufVxuXG5mdW5jdGlvbiBMb2FkU3RvcmFnZU1hcEZhY3RvcnkoKTogUmVhY3QuQ29tcG9uZW50VHlwZTxMb2FkU3RvcmFnZU1hcFByb3BzPiB7XG4gIGNsYXNzIExvYWRTdG9yYWdlTWFwIGV4dGVuZHMgQ29tcG9uZW50PExvYWRTdG9yYWdlTWFwUHJvcHM+IHtcbiAgICBzdGF0ZSA9IHtcbiAgICAgIHNob3dQcm92aWRlclNlbGVjdDogdHJ1ZVxuICAgIH07XG5cbiAgICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICAgIHRoaXMuX2dldFNhdmVkTWFwcygpO1xuICAgIH1cblxuICAgIGNvbXBvbmVudERpZFVwZGF0ZShwcmV2UHJvcHMpIHtcbiAgICAgIGlmIChwcmV2UHJvcHMuY3VycmVudFByb3ZpZGVyICE9PSB0aGlzLnByb3BzLmN1cnJlbnRQcm92aWRlcikge1xuICAgICAgICB0aGlzLl9nZXRTYXZlZE1hcHMoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBfZ2V0UHJvdmlkZXIgPSAoKSA9PiB7XG4gICAgICBjb25zdCB7Y3VycmVudFByb3ZpZGVyLCBjbG91ZFByb3ZpZGVyc30gPSB0aGlzLnByb3BzO1xuICAgICAgcmV0dXJuIChjbG91ZFByb3ZpZGVycyB8fCBbXSkuZmluZChwID0+IHAubmFtZSA9PT0gY3VycmVudFByb3ZpZGVyKTtcbiAgICB9O1xuXG4gICAgX2dldFNhdmVkTWFwcygpIHtcbiAgICAgIGNvbnN0IHByb3ZpZGVyID0gdGhpcy5fZ2V0UHJvdmlkZXIoKTtcbiAgICAgIGlmIChwcm92aWRlcikge1xuICAgICAgICB0aGlzLnByb3BzLmdldFNhdmVkTWFwcyhwcm92aWRlcik7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe3Nob3dQcm92aWRlclNlbGVjdDogZmFsc2V9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBfb25Mb2FkQ2xvdWRNYXAocHJvdmlkZXI6IFByb3ZpZGVyIHwgdW5kZWZpbmVkLCB2aXM6IFZpc3VhbGl6YXRpb24pIHtcbiAgICAgIHRoaXMucHJvcHMub25Mb2FkQ2xvdWRNYXAoe1xuICAgICAgICBsb2FkUGFyYW1zOiB2aXMubG9hZFBhcmFtcyxcbiAgICAgICAgcHJvdmlkZXJcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIF9jbGlja0JhY2sgPSAoKSA9PiB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtzaG93UHJvdmlkZXJTZWxlY3Q6IHRydWV9KTtcbiAgICB9O1xuXG4gICAgX3NlbGVjdFByb3ZpZGVyID0gcHJvdmlkZXJOYW1lID0+IHtcbiAgICAgIHRoaXMucHJvcHMub25TZXRDbG91ZFByb3ZpZGVyKHByb3ZpZGVyTmFtZSk7XG4gICAgICBjb25zdCBwcm92aWRlciA9ICh0aGlzLnByb3BzLmNsb3VkUHJvdmlkZXJzIHx8IFtdKS5maW5kKHAgPT4gcC5uYW1lID09PSBwcm92aWRlck5hbWUpO1xuICAgICAgdGhpcy5wcm9wcy5nZXRTYXZlZE1hcHMocHJvdmlkZXIpO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7c2hvd1Byb3ZpZGVyU2VsZWN0OiBmYWxzZX0pO1xuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIHZpc3VhbGl6YXRpb25zLFxuICAgICAgICBjbG91ZFByb3ZpZGVycyxcbiAgICAgICAgY3VycmVudFByb3ZpZGVyLFxuICAgICAgICBpc1Byb3ZpZGVyTG9hZGluZyxcbiAgICAgICAgb25TZXRDbG91ZFByb3ZpZGVyXG4gICAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgY29uc3QgcHJvdmlkZXIgPSB0aGlzLl9nZXRQcm92aWRlcigpO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8UHJvdmlkZXJNb2RhbENvbnRhaW5lclxuICAgICAgICAgIG9uU2V0Q2xvdWRQcm92aWRlcj17b25TZXRDbG91ZFByb3ZpZGVyfVxuICAgICAgICAgIGNsb3VkUHJvdmlkZXJzPXtjbG91ZFByb3ZpZGVyc31cbiAgICAgICAgICBjdXJyZW50UHJvdmlkZXI9e2N1cnJlbnRQcm92aWRlcn1cbiAgICAgICAgPlxuICAgICAgICAgIHt0aGlzLnN0YXRlLnNob3dQcm92aWRlclNlbGVjdCA/IChcbiAgICAgICAgICAgIDxQcm92aWRlclNlbGVjdFxuICAgICAgICAgICAgICBvblNlbGVjdD17dGhpcy5fc2VsZWN0UHJvdmlkZXJ9XG4gICAgICAgICAgICAgIGNsb3VkUHJvdmlkZXJzPXtjbG91ZFByb3ZpZGVyc31cbiAgICAgICAgICAgICAgb25TZXRDbG91ZFByb3ZpZGVyPXtvblNldENsb3VkUHJvdmlkZXJ9XG4gICAgICAgICAgICAgIGN1cnJlbnRQcm92aWRlcj17Y3VycmVudFByb3ZpZGVyfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAge2lzUHJvdmlkZXJMb2FkaW5nICYmIChcbiAgICAgICAgICAgICAgICA8U3R5bGVkU3Bpbm5lcj5cbiAgICAgICAgICAgICAgICAgIDxMb2FkaW5nRGlhbG9nIHNpemU9ezY0fSAvPlxuICAgICAgICAgICAgICAgIDwvU3R5bGVkU3Bpbm5lcj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgeyFpc1Byb3ZpZGVyTG9hZGluZyAmJiB2aXN1YWxpemF0aW9ucyAmJiAoXG4gICAgICAgICAgICAgICAgPFN0eWxlZFZpc3VhbGl6YXRpb25TZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgPFN0eWxlZFN0b3JhZ2VIZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRCYWNrQnRuPlxuICAgICAgICAgICAgICAgICAgICAgIDxCdXR0b24gbGluayBvbkNsaWNrPXt0aGlzLl9jbGlja0JhY2t9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPEFycm93TGVmdCBoZWlnaHQ9XCIxNHB4XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbW9kYWwubG9hZFN0b3JhZ2VNYXAuYmFjayd9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkQmFja0J0bj5cbiAgICAgICAgICAgICAgICAgICAge3Byb3ZpZGVyPy5nZXRNYW5hZ2VtZW50VXJsICYmIChcbiAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXsxfVxuICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj17cHJvdmlkZXI/LmdldE1hbmFnZW1lbnRVcmwoKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7dGV4dERlY29yYXRpb246ICd1bmRlcmxpbmUnfX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICBpZD17J21vZGFsLmxvYWRTdG9yYWdlTWFwLmJhY2snfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9e3tkaXNwbGF5TmFtZTogcHJvdmlkZXIuZGlzcGxheU5hbWV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZFN0b3JhZ2VIZWFkZXI+XG4gICAgICAgICAgICAgICAgICA8U3R5bGVkUHJvdmlkZXJWaXNTZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPntjdXJyZW50UHJvdmlkZXJ9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbW9kYWwubG9hZFN0b3JhZ2VNYXAuc3RvcmFnZU1hcHMnfSAvPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxTdHlsZWRTZXBhcmF0b3IgLz5cbiAgICAgICAgICAgICAgICAgICAgPFN0eWxlZFZpc3VhbGl6YXRpb25MaXN0PlxuICAgICAgICAgICAgICAgICAgICAgIHt2aXN1YWxpemF0aW9ucy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICB2aXN1YWxpemF0aW9ucy5tYXAodmlzID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPFZpc3VhbGl6YXRpb25JdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXt2aXMuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gdGhpcy5fb25Mb2FkQ2xvdWRNYXAocHJvdmlkZXIsIHZpcyl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlzPXt2aXN9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInZpc3VhbGl6YXRpb24tbGlzdF9fbWVzc2FnZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J21vZGFsLmxvYWRTdG9yYWdlTWFwLm5vU2F2ZWRNYXBzJ30gLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkVmlzdWFsaXphdGlvbkxpc3Q+XG4gICAgICAgICAgICAgICAgICA8L1N0eWxlZFByb3ZpZGVyVmlzU2VjdGlvbj5cbiAgICAgICAgICAgICAgICA8L1N0eWxlZFZpc3VhbGl6YXRpb25TZWN0aW9uPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Qcm92aWRlck1vZGFsQ29udGFpbmVyPlxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIExvYWRTdG9yYWdlTWFwO1xufVxuXG5leHBvcnQgZGVmYXVsdCBMb2FkU3RvcmFnZU1hcEZhY3Rvcnk7XG4iXX0=
95
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RhbHMvbG9hZC1zdG9yYWdlLW1hcC50c3giXSwibmFtZXMiOlsiTG9hZFN0b3JhZ2VNYXBGYWN0b3J5IiwiTG9hZFN0b3JhZ2VNYXAiLCJvbkxvYWRDbG91ZE1hcCIsImN1cnJlbnRQcm92aWRlciIsInByb3ZpZGVyIiwic2V0UHJvdmlkZXIiLCJjbG91ZFByb3ZpZGVycyIsImlzTG9hZGluZyIsInNldElzTG9hZGluZyIsIm1hcHMiLCJzZXRNYXBzIiwiZXJyb3IiLCJzZXRFcnJvciIsInNldFByb3ZpZGVySW5mbyIsImxpc3RNYXBzIiwidGhlbiIsIm9uU2VsZWN0TWFwIiwibWFwIiwibG9hZFBhcmFtcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUdBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQVJBO0FBQ0E7QUFVQSxTQUFTQSxxQkFBVCxHQUFpQztBQUMvQixNQUFNQyxjQUFjLEdBQUcsU0FBakJBLGNBQWlCLE9BQXNCO0FBQUEsUUFBcEJDLGNBQW9CLFFBQXBCQSxjQUFvQjs7QUFBQSxnQ0FDc0Isa0RBRHRCO0FBQUEsUUFDMUJDLGVBRDBCLHlCQUNwQ0MsUUFEb0M7QUFBQSxRQUNUQyxXQURTLHlCQUNUQSxXQURTO0FBQUEsUUFDSUMsY0FESix5QkFDSUEsY0FESjs7QUFBQSxvQkFFVCxxQkFBUyxLQUFULENBRlM7QUFBQTtBQUFBLFFBRXBDQyxTQUZvQztBQUFBLFFBRXpCQyxZQUZ5Qjs7QUFBQSxxQkFHbkIscUJBQStCLElBQS9CLENBSG1CO0FBQUE7QUFBQSxRQUdwQ0MsSUFIb0M7QUFBQSxRQUc5QkMsT0FIOEI7O0FBQUEscUJBSWpCLHFCQUFTLElBQVQsQ0FKaUI7QUFBQTtBQUFBLFFBSXBDQyxLQUpvQztBQUFBLFFBSTdCQyxRQUo2Qjs7QUFNM0MsUUFBTUMsZUFBZSxHQUFHLHdCQUFZLFVBQUNULFFBQUQsRUFBK0I7QUFDakVNLE1BQUFBLE9BQU8sQ0FBQyxJQUFELENBQVA7QUFDQUUsTUFBQUEsUUFBUSxDQUFDLElBQUQsQ0FBUjs7QUFDQSxVQUFJUixRQUFKLEVBQWM7QUFDWkksUUFBQUEsWUFBWSxDQUFDLElBQUQsQ0FBWjtBQUNBSixRQUFBQSxRQUFRLENBQ0xVLFFBREgsR0FFR0MsSUFGSCxDQUVRTCxPQUZSLFdBR1NFLFFBSFQsYUFJVztBQUFBLGlCQUFNSixZQUFZLENBQUMsS0FBRCxDQUFsQjtBQUFBLFNBSlg7QUFLRCxPQVBELE1BT087QUFDTEEsUUFBQUEsWUFBWSxDQUFDLEtBQUQsQ0FBWjtBQUNEO0FBQ0YsS0FidUIsRUFhckIsRUFicUIsQ0FBeEI7QUFlQSwwQkFBVSxZQUFNO0FBQ2RLLE1BQUFBLGVBQWUsQ0FBQ1YsZUFBRCxDQUFmO0FBQ0QsS0FGRCxFQUVHLENBQUNBLGVBQUQsQ0FGSDtBQUlBLFFBQU1hLFdBQVcsR0FBRyx3QkFBWSxVQUFDWixRQUFELEVBQVdhLEdBQVgsRUFBbUI7QUFDakRmLE1BQUFBLGNBQWMsQ0FBQztBQUNiZ0IsUUFBQUEsVUFBVSxFQUFFRCxHQUFHLENBQUNDLFVBREg7QUFFYmQsUUFBQUEsUUFBUSxFQUFSQTtBQUZhLE9BQUQsQ0FBZDtBQUlELEtBTG1CLEVBS2pCLEVBTGlCLENBQXBCO0FBT0Esd0JBQ0UsZ0NBQUMsK0JBQUQsUUFDRyxDQUFDRCxlQUFELGdCQUNDLGdDQUFDLDhCQUFEO0FBQWdCLE1BQUEsY0FBYyxFQUFFRztBQUFoQyxNQURELGdCQUdDLCtFQUNFLGdDQUFDLHdCQUFEO0FBQWEsTUFBQSxRQUFRLEVBQUVILGVBQXZCO0FBQXdDLE1BQUEsTUFBTSxFQUFFO0FBQUEsZUFBTUUsV0FBVyxDQUFDLElBQUQsQ0FBakI7QUFBQTtBQUFoRCxNQURGLGVBRUUsZ0NBQUMsb0JBQUQ7QUFDRSxNQUFBLFNBQVMsRUFBRUUsU0FEYjtBQUVFLE1BQUEsV0FBVyxFQUFFUyxXQUZmO0FBR0UsTUFBQSxRQUFRLEVBQUViLGVBSFo7QUFJRSxNQUFBLEtBQUssRUFBRVEsS0FKVDtBQUtFLE1BQUEsSUFBSSxFQUFFRjtBQUxSLE1BRkYsQ0FKSixDQURGO0FBa0JELEdBbEREOztBQW9EQSxTQUFPUixjQUFQO0FBQ0Q7O2VBRWNELHFCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZVN0YXRlLCB1c2VFZmZlY3R9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7Q2xvdWRIZWFkZXJ9IGZyb20gJy4vY2xvdWQtY29tcG9uZW50cy9jbG91ZC1oZWFkZXInO1xuaW1wb3J0IHtDbG91ZE1hcHN9IGZyb20gJy4vY2xvdWQtY29tcG9uZW50cy9jbG91ZC1tYXBzJztcbmltcG9ydCB7dXNlQ2xvdWRMaXN0UHJvdmlkZXJ9IGZyb20gJy4uL2hvb2tzL3VzZS1jbG91ZC1saXN0LXByb3ZpZGVyJztcbmltcG9ydCB7UHJvdmlkZXJTZWxlY3R9IGZyb20gJy4vY2xvdWQtY29tcG9uZW50cy9wcm92aWRlci1zZWxlY3QnO1xuaW1wb3J0IHtGbGV4Q29sQ29udGFpbmVyfSBmcm9tICcuLi9jb21tb24vZmxleC1jb250YWluZXInO1xuaW1wb3J0IHtQcm92aWRlciwgTWFwTGlzdEl0ZW19IGZyb20gJ0BrZXBsZXIuZ2wvY2xvdWQtcHJvdmlkZXJzJztcblxuZnVuY3Rpb24gTG9hZFN0b3JhZ2VNYXBGYWN0b3J5KCkge1xuICBjb25zdCBMb2FkU3RvcmFnZU1hcCA9ICh7b25Mb2FkQ2xvdWRNYXB9KSA9PiB7XG4gICAgY29uc3Qge3Byb3ZpZGVyOiBjdXJyZW50UHJvdmlkZXIsIHNldFByb3ZpZGVyLCBjbG91ZFByb3ZpZGVyc30gPSB1c2VDbG91ZExpc3RQcm92aWRlcigpO1xuICAgIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW21hcHMsIHNldE1hcHNdID0gdXNlU3RhdGU8TWFwTGlzdEl0ZW1bXSB8IG51bGw+KG51bGwpO1xuICAgIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGUobnVsbCk7XG5cbiAgICBjb25zdCBzZXRQcm92aWRlckluZm8gPSB1c2VDYWxsYmFjaygocHJvdmlkZXI6IFByb3ZpZGVyIHwgbnVsbCkgPT4ge1xuICAgICAgc2V0TWFwcyhudWxsKTtcbiAgICAgIHNldEVycm9yKG51bGwpO1xuICAgICAgaWYgKHByb3ZpZGVyKSB7XG4gICAgICAgIHNldElzTG9hZGluZyh0cnVlKTtcbiAgICAgICAgcHJvdmlkZXJcbiAgICAgICAgICAubGlzdE1hcHMoKVxuICAgICAgICAgIC50aGVuKHNldE1hcHMpXG4gICAgICAgICAgLmNhdGNoKHNldEVycm9yKVxuICAgICAgICAgIC5maW5hbGx5KCgpID0+IHNldElzTG9hZGluZyhmYWxzZSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9LCBbXSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgc2V0UHJvdmlkZXJJbmZvKGN1cnJlbnRQcm92aWRlcik7XG4gICAgfSwgW2N1cnJlbnRQcm92aWRlcl0pO1xuXG4gICAgY29uc3Qgb25TZWxlY3RNYXAgPSB1c2VDYWxsYmFjaygocHJvdmlkZXIsIG1hcCkgPT4ge1xuICAgICAgb25Mb2FkQ2xvdWRNYXAoe1xuICAgICAgICBsb2FkUGFyYW1zOiBtYXAubG9hZFBhcmFtcyxcbiAgICAgICAgcHJvdmlkZXJcbiAgICAgIH0pO1xuICAgIH0sIFtdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8RmxleENvbENvbnRhaW5lcj5cbiAgICAgICAgeyFjdXJyZW50UHJvdmlkZXIgPyAoXG4gICAgICAgICAgPFByb3ZpZGVyU2VsZWN0IGNsb3VkUHJvdmlkZXJzPXtjbG91ZFByb3ZpZGVyc30gLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPENsb3VkSGVhZGVyIHByb3ZpZGVyPXtjdXJyZW50UHJvdmlkZXJ9IG9uQmFjaz17KCkgPT4gc2V0UHJvdmlkZXIobnVsbCl9IC8+XG4gICAgICAgICAgICA8Q2xvdWRNYXBzXG4gICAgICAgICAgICAgIGlzTG9hZGluZz17aXNMb2FkaW5nfVxuICAgICAgICAgICAgICBvblNlbGVjdE1hcD17b25TZWxlY3RNYXB9XG4gICAgICAgICAgICAgIHByb3ZpZGVyPXtjdXJyZW50UHJvdmlkZXJ9XG4gICAgICAgICAgICAgIGVycm9yPXtlcnJvcn1cbiAgICAgICAgICAgICAgbWFwcz17bWFwc31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC8+XG4gICAgICAgICl9XG4gICAgICA8L0ZsZXhDb2xDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gTG9hZFN0b3JhZ2VNYXA7XG59XG5cbmV4cG9ydCBkZWZhdWx0IExvYWRTdG9yYWdlTWFwRmFjdG9yeTtcbiJdfQ==
@@ -0,0 +1 @@
1
+ export {};