@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
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _react2 = require("@testing-library/react");
8
+
9
+ var _componentJestUtils = require("../../../../../test/helpers/component-jest-utils");
10
+
11
+ var _cloudMaps = require("./cloud-maps");
12
+
13
+ // SPDX-License-Identifier: MIT
14
+ // Copyright contributors to the kepler.gl project
15
+ // @ts-nocheck
16
+ describe('CloudMaps Component', function () {
17
+ it('renderWithThemes without crashing', function () {
18
+ var _renderWithTheme = (0, _componentJestUtils.renderWithTheme)( /*#__PURE__*/_react["default"].createElement(_cloudMaps.CloudMaps, {
19
+ isLoading: false,
20
+ maps: [],
21
+ error: null
22
+ })),
23
+ getByText = _renderWithTheme.getByText;
24
+
25
+ expect(getByText(/noSavedMaps/i)).toBeInTheDocument();
26
+ });
27
+ it('displays error message when there is an error', function () {
28
+ var errorMessage = 'Test Error';
29
+
30
+ var _renderWithTheme2 = (0, _componentJestUtils.renderWithTheme)( /*#__PURE__*/_react["default"].createElement(_cloudMaps.CloudMaps, {
31
+ isLoading: false,
32
+ maps: [],
33
+ error: {
34
+ message: errorMessage
35
+ }
36
+ })),
37
+ getByText = _renderWithTheme2.getByText;
38
+
39
+ expect(getByText("Error while fetching maps: ".concat(errorMessage))).toBeInTheDocument();
40
+ });
41
+ it('displays loading spinner when isLoading is true', function () {
42
+ var _renderWithTheme3 = (0, _componentJestUtils.renderWithTheme)( /*#__PURE__*/_react["default"].createElement(_cloudMaps.CloudMaps, {
43
+ isLoading: true,
44
+ maps: [],
45
+ error: null
46
+ })),
47
+ getByText = _renderWithTheme3.getByText;
48
+
49
+ expect(getByText('modal.loadingDialog.loading')).toBeInTheDocument(); // Ensure your spinner has 'data-testid="loading-spinner"'
50
+ });
51
+ it('renderWithThemes correct number of CloudItems based on maps prop', function () {
52
+ var mockMaps = [{
53
+ id: 1,
54
+ title: 'map'
55
+ }, {
56
+ id: 2,
57
+ title: 'map'
58
+ }, {
59
+ id: 3,
60
+ title: 'map'
61
+ }];
62
+
63
+ var _renderWithTheme4 = (0, _componentJestUtils.renderWithTheme)( /*#__PURE__*/_react["default"].createElement(_cloudMaps.CloudMaps, {
64
+ isLoading: false,
65
+ maps: mockMaps,
66
+ error: null
67
+ })),
68
+ getAllByText = _renderWithTheme4.getAllByText;
69
+
70
+ expect(getAllByText('map')).toHaveLength(mockMaps.length); // Ensure your CloudItem has 'data-testid="cloud-item"'
71
+ });
72
+ it('displays message when there are no maps', function () {
73
+ var _renderWithTheme5 = (0, _componentJestUtils.renderWithTheme)( /*#__PURE__*/_react["default"].createElement(_cloudMaps.CloudMaps, {
74
+ isLoading: false,
75
+ maps: [],
76
+ error: null
77
+ })),
78
+ getByText = _renderWithTheme5.getByText;
79
+
80
+ expect(getByText(/noSavedMaps/i)).toBeInTheDocument();
81
+ });
82
+ it('calls onSelectMap when a CloudItem is clicked', function () {
83
+ var mockMaps = [{
84
+ id: 1,
85
+ title: 'map'
86
+ }, {
87
+ id: 2,
88
+ title: 'map'
89
+ }, {
90
+ id: 3,
91
+ title: 'map'
92
+ }];
93
+ var onSelectMap = jest.fn();
94
+ var provider = 'testProvider';
95
+
96
+ var _renderWithTheme6 = (0, _componentJestUtils.renderWithTheme)( /*#__PURE__*/_react["default"].createElement(_cloudMaps.CloudMaps, {
97
+ provider: provider,
98
+ onSelectMap: onSelectMap,
99
+ isLoading: false,
100
+ maps: mockMaps,
101
+ error: null
102
+ })),
103
+ getAllByText = _renderWithTheme6.getAllByText;
104
+
105
+ var firstItem = getAllByText('map')[0];
106
+
107
+ _react2.fireEvent.click(firstItem);
108
+
109
+ expect(onSelectMap).toHaveBeenCalledWith(provider, mockMaps[0]);
110
+ });
111
+ });
112
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbHMvY2xvdWQtY29tcG9uZW50cy9jbG91ZC1tYXBzLnNwZWMudHN4Il0sIm5hbWVzIjpbImRlc2NyaWJlIiwiaXQiLCJnZXRCeVRleHQiLCJleHBlY3QiLCJ0b0JlSW5UaGVEb2N1bWVudCIsImVycm9yTWVzc2FnZSIsIm1lc3NhZ2UiLCJtb2NrTWFwcyIsImlkIiwidGl0bGUiLCJnZXRBbGxCeVRleHQiLCJ0b0hhdmVMZW5ndGgiLCJsZW5ndGgiLCJvblNlbGVjdE1hcCIsImplc3QiLCJmbiIsInByb3ZpZGVyIiwiZmlyc3RJdGVtIiwiZmlyZUV2ZW50IiwiY2xpY2siLCJ0b0hhdmVCZWVuQ2FsbGVkV2l0aCJdLCJtYXBwaW5ncyI6Ijs7OztBQUlBOztBQUNBOztBQUNBOztBQUNBOztBQVBBO0FBQ0E7QUFFQTtBQU1BQSxRQUFRLENBQUMscUJBQUQsRUFBd0IsWUFBTTtBQUNwQ0MsRUFBQUEsRUFBRSxDQUFDLG1DQUFELEVBQXNDLFlBQU07QUFBQSwyQkFDeEIsdURBQWdCLGdDQUFDLG9CQUFEO0FBQVcsTUFBQSxTQUFTLEVBQUUsS0FBdEI7QUFBNkIsTUFBQSxJQUFJLEVBQUUsRUFBbkM7QUFBdUMsTUFBQSxLQUFLLEVBQUU7QUFBOUMsTUFBaEIsQ0FEd0I7QUFBQSxRQUNyQ0MsU0FEcUMsb0JBQ3JDQSxTQURxQzs7QUFFNUNDLElBQUFBLE1BQU0sQ0FBQ0QsU0FBUyxDQUFDLGNBQUQsQ0FBVixDQUFOLENBQWtDRSxpQkFBbEM7QUFDRCxHQUhDLENBQUY7QUFLQUgsRUFBQUEsRUFBRSxDQUFDLCtDQUFELEVBQWtELFlBQU07QUFDeEQsUUFBTUksWUFBWSxHQUFHLFlBQXJCOztBQUR3RCw0QkFFcEMsdURBQ2xCLGdDQUFDLG9CQUFEO0FBQVcsTUFBQSxTQUFTLEVBQUUsS0FBdEI7QUFBNkIsTUFBQSxJQUFJLEVBQUUsRUFBbkM7QUFBdUMsTUFBQSxLQUFLLEVBQUU7QUFBQ0MsUUFBQUEsT0FBTyxFQUFFRDtBQUFWO0FBQTlD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QUFvQixDQUFwQixDQUFsQjs7QUFDQVEsc0JBQVVDLEtBQVYsQ0FBZ0JGLFNBQWhCOztBQUNBZCxJQUFBQSxNQUFNLENBQUNVLFdBQUQsQ0FBTixDQUFvQk8sb0JBQXBCLENBQXlDSixRQUF6QyxFQUFtRFQsUUFBUSxDQUFDLENBQUQsQ0FBM0Q7QUFDRCxHQXJCQyxDQUFGO0FBc0JELENBMURPLENBQVIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG4vLyBAdHMtbm9jaGVja1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7ZmlyZUV2ZW50fSBmcm9tICdAdGVzdGluZy1saWJyYXJ5L3JlYWN0JztcbmltcG9ydCB7cmVuZGVyV2l0aFRoZW1lfSBmcm9tICcuLi8uLi8uLi8uLi8uLi90ZXN0L2hlbHBlcnMvY29tcG9uZW50LWplc3QtdXRpbHMnO1xuaW1wb3J0IHtDbG91ZE1hcHN9IGZyb20gJy4vY2xvdWQtbWFwcyc7XG5cbmRlc2NyaWJlKCdDbG91ZE1hcHMgQ29tcG9uZW50JywgKCkgPT4ge1xuICBpdCgncmVuZGVyV2l0aFRoZW1lcyB3aXRob3V0IGNyYXNoaW5nJywgKCkgPT4ge1xuICAgIGNvbnN0IHtnZXRCeVRleHR9ID0gcmVuZGVyV2l0aFRoZW1lKDxDbG91ZE1hcHMgaXNMb2FkaW5nPXtmYWxzZX0gbWFwcz17W119IGVycm9yPXtudWxsfSAvPik7XG4gICAgZXhwZWN0KGdldEJ5VGV4dCgvbm9TYXZlZE1hcHMvaSkpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gIH0pO1xuXG4gIGl0KCdkaXNwbGF5cyBlcnJvciBtZXNzYWdlIHdoZW4gdGhlcmUgaXMgYW4gZXJyb3InLCAoKSA9PiB7XG4gICAgY29uc3QgZXJyb3JNZXNzYWdlID0gJ1Rlc3QgRXJyb3InO1xuICAgIGNvbnN0IHtnZXRCeVRleHR9ID0gcmVuZGVyV2l0aFRoZW1lKFxuICAgICAgPENsb3VkTWFwcyBpc0xvYWRpbmc9e2ZhbHNlfSBtYXBzPXtbXX0gZXJyb3I9e3ttZXNzYWdlOiBlcnJvck1lc3NhZ2V9fSAvPlxuICAgICk7XG4gICAgZXhwZWN0KGdldEJ5VGV4dChgRXJyb3Igd2hpbGUgZmV0Y2hpbmcgbWFwczogJHtlcnJvck1lc3NhZ2V9YCkpLnRvQmVJblRoZURvY3VtZW50KCk7XG4gIH0pO1xuXG4gIGl0KCdkaXNwbGF5cyBsb2FkaW5nIHNwaW5uZXIgd2hlbiBpc0xvYWRpbmcgaXMgdHJ1ZScsICgpID0+IHtcbiAgICBjb25zdCB7Z2V0QnlUZXh0fSA9IHJlbmRlcldpdGhUaGVtZSg8Q2xvdWRNYXBzIGlzTG9hZGluZz17dHJ1ZX0gbWFwcz17W119IGVycm9yPXtudWxsfSAvPik7XG4gICAgZXhwZWN0KGdldEJ5VGV4dCgnbW9kYWwubG9hZGluZ0RpYWxvZy5sb2FkaW5nJykpLnRvQmVJblRoZURvY3VtZW50KCk7IC8vIEVuc3VyZSB5b3VyIHNwaW5uZXIgaGFzICdkYXRhLXRlc3RpZD1cImxvYWRpbmctc3Bpbm5lclwiJ1xuICB9KTtcblxuICBpdCgncmVuZGVyV2l0aFRoZW1lcyBjb3JyZWN0IG51bWJlciBvZiBDbG91ZEl0ZW1zIGJhc2VkIG9uIG1hcHMgcHJvcCcsICgpID0+IHtcbiAgICBjb25zdCBtb2NrTWFwcyA9IFtcbiAgICAgIHtpZDogMSwgdGl0bGU6ICdtYXAnfSxcbiAgICAgIHtpZDogMiwgdGl0bGU6ICdtYXAnfSxcbiAgICAgIHtpZDogMywgdGl0bGU6ICdtYXAnfVxuICAgIF07XG4gICAgY29uc3Qge2dldEFsbEJ5VGV4dH0gPSByZW5kZXJXaXRoVGhlbWUoXG4gICAgICA8Q2xvdWRNYXBzIGlzTG9hZGluZz17ZmFsc2V9IG1hcHM9e21vY2tNYXBzfSBlcnJvcj17bnVsbH0gLz5cbiAgICApO1xuICAgIGV4cGVjdChnZXRBbGxCeVRleHQoJ21hcCcpKS50b0hhdmVMZW5ndGgobW9ja01hcHMubGVuZ3RoKTsgLy8gRW5zdXJlIHlvdXIgQ2xvdWRJdGVtIGhhcyAnZGF0YS10ZXN0aWQ9XCJjbG91ZC1pdGVtXCInXG4gIH0pO1xuXG4gIGl0KCdkaXNwbGF5cyBtZXNzYWdlIHdoZW4gdGhlcmUgYXJlIG5vIG1hcHMnLCAoKSA9PiB7XG4gICAgY29uc3Qge2dldEJ5VGV4dH0gPSByZW5kZXJXaXRoVGhlbWUoPENsb3VkTWFwcyBpc0xvYWRpbmc9e2ZhbHNlfSBtYXBzPXtbXX0gZXJyb3I9e251bGx9IC8+KTtcbiAgICBleHBlY3QoZ2V0QnlUZXh0KC9ub1NhdmVkTWFwcy9pKSkudG9CZUluVGhlRG9jdW1lbnQoKTtcbiAgfSk7XG5cbiAgaXQoJ2NhbGxzIG9uU2VsZWN0TWFwIHdoZW4gYSBDbG91ZEl0ZW0gaXMgY2xpY2tlZCcsICgpID0+IHtcbiAgICBjb25zdCBtb2NrTWFwcyA9IFtcbiAgICAgIHtpZDogMSwgdGl0bGU6ICdtYXAnfSxcbiAgICAgIHtpZDogMiwgdGl0bGU6ICdtYXAnfSxcbiAgICAgIHtpZDogMywgdGl0bGU6ICdtYXAnfVxuICAgIF07XG4gICAgY29uc3Qgb25TZWxlY3RNYXAgPSBqZXN0LmZuKCk7XG4gICAgY29uc3QgcHJvdmlkZXIgPSAndGVzdFByb3ZpZGVyJztcbiAgICBjb25zdCB7Z2V0QWxsQnlUZXh0fSA9IHJlbmRlcldpdGhUaGVtZShcbiAgICAgIDxDbG91ZE1hcHNcbiAgICAgICAgcHJvdmlkZXI9e3Byb3ZpZGVyfVxuICAgICAgICBvblNlbGVjdE1hcD17b25TZWxlY3RNYXB9XG4gICAgICAgIGlzTG9hZGluZz17ZmFsc2V9XG4gICAgICAgIG1hcHM9e21vY2tNYXBzfVxuICAgICAgICBlcnJvcj17bnVsbH1cbiAgICAgIC8+XG4gICAgKTtcblxuICAgIGNvbnN0IGZpcnN0SXRlbSA9IGdldEFsbEJ5VGV4dCgnbWFwJylbMF07XG4gICAgZmlyZUV2ZW50LmNsaWNrKGZpcnN0SXRlbSk7XG4gICAgZXhwZWN0KG9uU2VsZWN0TWFwKS50b0hhdmVCZWVuQ2FsbGVkV2l0aChwcm92aWRlciwgbW9ja01hcHNbMF0pO1xuICB9KTtcbn0pO1xuIl19
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const ProviderLoading: () => React.JSX.Element;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.ProviderLoading = void 0;
9
+
10
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _loadingDialog = _interopRequireDefault(require("../loading-dialog"));
15
+
16
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
17
+
18
+ var _templateObject;
19
+
20
+ var StyledSpinner = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n text-align: center;\n span {\n margin: 0 auto;\n }\n"])));
21
+
22
+ var ProviderLoading = function ProviderLoading() {
23
+ return /*#__PURE__*/_react["default"].createElement(StyledSpinner, null, /*#__PURE__*/_react["default"].createElement(_loadingDialog["default"], {
24
+ size: 64
25
+ }));
26
+ };
27
+
28
+ exports.ProviderLoading = ProviderLoading;
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbHMvY2xvdWQtY29tcG9uZW50cy9wcm92aWRlci1sb2FkaW5nLnRzeCJdLCJuYW1lcyI6WyJTdHlsZWRTcGlubmVyIiwic3R5bGVkIiwiZGl2IiwiUHJvdmlkZXJMb2FkaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUdBOztBQUNBOztBQUNBOzs7O0FBRUEsSUFBTUEsYUFBYSxHQUFHQyw2QkFBT0MsR0FBVixtSkFBbkI7O0FBT08sSUFBTUMsZUFBZSxHQUFHLFNBQWxCQSxlQUFrQixHQUFNO0FBQ25DLHNCQUNFLGdDQUFDLGFBQUQscUJBQ0UsZ0NBQUMseUJBQUQ7QUFBZSxJQUFBLElBQUksRUFBRTtBQUFyQixJQURGLENBREY7QUFLRCxDQU5NIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBMb2FkaW5nRGlhbG9nIGZyb20gJy4uL2xvYWRpbmctZGlhbG9nJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5jb25zdCBTdHlsZWRTcGlubmVyID0gc3R5bGVkLmRpdmBcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBzcGFuIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFByb3ZpZGVyTG9hZGluZyA9ICgpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkU3Bpbm5lcj5cbiAgICAgIDxMb2FkaW5nRGlhbG9nIHNpemU9ezY0fSAvPlxuICAgIDwvU3R5bGVkU3Bpbm5lcj5cbiAgKTtcbn07XG4iXX0=
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { Provider } from '@kepler.gl/cloud-providers';
3
+ declare type ProviderSelectProps = {
4
+ cloudProviders: Provider[];
5
+ };
6
+ export declare const ProviderSelect: React.FC<ProviderSelectProps>;
7
+ export {};
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.ProviderSelect = void 0;
9
+
10
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
+
12
+ var _cloudTile = _interopRequireDefault(require("../cloud-tile"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
17
+
18
+ var _constants = require("@kepler.gl/constants");
19
+
20
+ var _templateObject;
21
+
22
+ var StyledProviderSection = _styledComponents["default"].div.attrs({
23
+ className: 'provider-selection'
24
+ })(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n gap: 8px;\n"])));
25
+
26
+ var ProviderSelect = function ProviderSelect(_ref) {
27
+ var _ref$cloudProviders = _ref.cloudProviders,
28
+ cloudProviders = _ref$cloudProviders === void 0 ? [] : _ref$cloudProviders;
29
+ return /*#__PURE__*/_react["default"].createElement("div", {
30
+ "data-testid": _constants.dataTestIds.providerSelect
31
+ }, cloudProviders.length ? /*#__PURE__*/_react["default"].createElement(StyledProviderSection, null, cloudProviders.map(function (provider) {
32
+ return /*#__PURE__*/_react["default"].createElement(_cloudTile["default"], {
33
+ key: provider.name,
34
+ provider: provider
35
+ });
36
+ })) : /*#__PURE__*/_react["default"].createElement("p", null, "No storage provider available"));
37
+ };
38
+
39
+ exports.ProviderSelect = ProviderSelect;
40
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbHMvY2xvdWQtY29tcG9uZW50cy9wcm92aWRlci1zZWxlY3QudHN4Il0sIm5hbWVzIjpbIlN0eWxlZFByb3ZpZGVyU2VjdGlvbiIsInN0eWxlZCIsImRpdiIsImF0dHJzIiwiY2xhc3NOYW1lIiwiUHJvdmlkZXJTZWxlY3QiLCJjbG91ZFByb3ZpZGVycyIsImRhdGFUZXN0SWRzIiwicHJvdmlkZXJTZWxlY3QiLCJsZW5ndGgiLCJtYXAiLCJwcm92aWRlciIsIm5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBRUE7Ozs7QUFFQSxJQUFNQSxxQkFBcUIsR0FBR0MsNkJBQU9DLEdBQVAsQ0FBV0MsS0FBWCxDQUFpQjtBQUM3Q0MsRUFBQUEsU0FBUyxFQUFFO0FBRGtDLENBQWpCLENBQUgsdUhBQTNCOztBQVdPLElBQU1DLGNBQTZDLEdBQUcsU0FBaERBLGNBQWdEO0FBQUEsaUNBQUVDLGNBQUY7QUFBQSxNQUFFQSxjQUFGLG9DQUFtQixFQUFuQjtBQUFBLHNCQUMzRDtBQUFLLG1CQUFhQyx1QkFBWUM7QUFBOUIsS0FDR0YsY0FBYyxDQUFDRyxNQUFmLGdCQUNDLGdDQUFDLHFCQUFELFFBQ0dILGNBQWMsQ0FBQ0ksR0FBZixDQUFtQixVQUFBQyxRQUFRO0FBQUEsd0JBQzFCLGdDQUFDLHFCQUFEO0FBQVcsTUFBQSxHQUFHLEVBQUVBLFFBQVEsQ0FBQ0MsSUFBekI7QUFBK0IsTUFBQSxRQUFRLEVBQUVEO0FBQXpDLE1BRDBCO0FBQUEsR0FBM0IsQ0FESCxDQURELGdCQU9DLDJFQVJKLENBRDJEO0FBQUEsQ0FBdEQiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgQ2xvdWRUaWxlIGZyb20gJy4uL2Nsb3VkLXRpbGUnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtQcm92aWRlcn0gZnJvbSAnQGtlcGxlci5nbC9jbG91ZC1wcm92aWRlcnMnO1xuaW1wb3J0IHtkYXRhVGVzdElkc30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuXG5jb25zdCBTdHlsZWRQcm92aWRlclNlY3Rpb24gPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAncHJvdmlkZXItc2VsZWN0aW9uJ1xufSlgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogOHB4O1xuYDtcblxudHlwZSBQcm92aWRlclNlbGVjdFByb3BzID0ge1xuICBjbG91ZFByb3ZpZGVyczogUHJvdmlkZXJbXTtcbn07XG5cbmV4cG9ydCBjb25zdCBQcm92aWRlclNlbGVjdDogUmVhY3QuRkM8UHJvdmlkZXJTZWxlY3RQcm9wcz4gPSAoe2Nsb3VkUHJvdmlkZXJzID0gW119KSA9PiAoXG4gIDxkaXYgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWRzLnByb3ZpZGVyU2VsZWN0fT5cbiAgICB7Y2xvdWRQcm92aWRlcnMubGVuZ3RoID8gKFxuICAgICAgPFN0eWxlZFByb3ZpZGVyU2VjdGlvbj5cbiAgICAgICAge2Nsb3VkUHJvdmlkZXJzLm1hcChwcm92aWRlciA9PiAoXG4gICAgICAgICAgPENsb3VkVGlsZSBrZXk9e3Byb3ZpZGVyLm5hbWV9IHByb3ZpZGVyPXtwcm92aWRlcn0gLz5cbiAgICAgICAgKSl9XG4gICAgICA8L1N0eWxlZFByb3ZpZGVyU2VjdGlvbj5cbiAgICApIDogKFxuICAgICAgPHA+Tm8gc3RvcmFnZSBwcm92aWRlciBhdmFpbGFibGU8L3A+XG4gICAgKX1cbiAgPC9kaXY+XG4pO1xuIl19
@@ -1,15 +1,15 @@
1
1
  import React from 'react';
2
2
  import { Provider } from '@kepler.gl/cloud-providers';
3
+ export declare const StyledWarning: import("styled-components").StyledComponent<"span", any, {}, never>;
3
4
  interface CloudTileProps {
4
- onSelect?: React.MouseEventHandler<HTMLDivElement>;
5
- onConnect?: (() => void) | null;
6
- onLogout?: (() => void) | null;
7
5
  actionName?: string | null;
8
- cloudProvider: Provider;
9
- onSetCloudProvider: (providerName: string | null) => void;
10
- isSelected?: boolean;
11
- isConnected?: boolean;
12
- isReady?: boolean;
6
+ provider: Provider;
13
7
  }
8
+ /**
9
+ * this component display a provider and allows users to select and set the current provider
10
+ * @param provider
11
+ * @param actionName
12
+ * @constructor
13
+ */
14
14
  declare const CloudTile: React.FC<CloudTileProps>;
15
15
  export default CloudTile;
@@ -1,35 +1,23 @@
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
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
24
4
 
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
+
25
7
  Object.defineProperty(exports, "__esModule", {
26
8
  value: true
27
9
  });
28
- exports["default"] = void 0;
10
+ exports["default"] = exports.StyledWarning = void 0;
11
+
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
29
17
 
30
18
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
31
19
 
32
- var _react = _interopRequireDefault(require("react"));
20
+ var _react = _interopRequireWildcard(require("react"));
33
21
 
34
22
  var _styledComponents = _interopRequireDefault(require("styled-components"));
35
23
 
@@ -37,9 +25,9 @@ var _icons = require("../common/icons");
37
25
 
38
26
  var _styledComponents2 = require("../common/styled-components");
39
27
 
40
- var _loadingSpinner = _interopRequireDefault(require("../common/loading-spinner"));
28
+ var _useCloudListProvider2 = require("../hooks/use-cloud-list-provider");
41
29
 
42
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
30
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
43
31
 
44
32
  var StyledTileWrapper = _styledComponents["default"].div.attrs({
45
33
  className: 'provider-tile__wrapper'
@@ -55,7 +43,7 @@ var StyledTileWrapper = _styledComponents["default"].div.attrs({
55
43
  return props.theme.primaryBtnBgd;
56
44
  });
57
45
 
58
- var StyledBox = (0, _styledComponents["default"])(_styledComponents2.CenterVerticalFlexbox)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 12px;\n"])));
46
+ var StyledBox = (0, _styledComponents["default"])(_styledComponents2.CenterVerticalFlexbox)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 12px;\n position: relative;\n"])));
59
47
 
60
48
  var StyledCloudName = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-size: 12px;\n margin-top: 12px;\n margin-bottom: 4px;\n"])));
61
49
 
@@ -83,62 +71,183 @@ var LogoutButton = function LogoutButton(_ref2) {
83
71
  }, /*#__PURE__*/_react["default"].createElement(_icons.Logout, null), "Logout");
84
72
  };
85
73
 
86
- var ActionButton = function ActionButton(_ref3) {
87
- var isConnected = _ref3.isConnected,
88
- _ref3$actionName = _ref3.actionName,
89
- actionName = _ref3$actionName === void 0 ? null : _ref3$actionName,
90
- isReady = _ref3.isReady;
91
- return isConnected && actionName ? /*#__PURE__*/_react["default"].createElement(_styledComponents2.Button, {
92
- className: "cloud-tile__action",
93
- small: true,
94
- secondary: true,
95
- disabled: !isReady
96
- }, isReady ? actionName : /*#__PURE__*/_react["default"].createElement(_loadingSpinner["default"], {
97
- size: 12
98
- })) : null;
99
- };
74
+ var NewTag = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n width: 37px;\n height: 19px;\n display: flex;\n align-content: center;\n justify-content: center;\n border-radius: 8px;\n padding: 4px 8px;\n background-color: #EDE9F9;\n color: #8863F8;\n position: absolute;\n left: 35%;\n top: -8px\n z-index: 500;\n font-size: 11px;\n line-height: 10px;\n"])));
100
75
 
101
- var CloudTile = function CloudTile(_ref4) {
102
- var onSelect = _ref4.onSelect,
103
- _ref4$onConnect = _ref4.onConnect,
104
- onConnect = _ref4$onConnect === void 0 ? null : _ref4$onConnect,
105
- _ref4$onLogout = _ref4.onLogout,
106
- onLogout = _ref4$onLogout === void 0 ? null : _ref4$onLogout,
107
- _ref4$actionName = _ref4.actionName,
108
- actionName = _ref4$actionName === void 0 ? null : _ref4$actionName,
109
- cloudProvider = _ref4.cloudProvider,
110
- onSetCloudProvider = _ref4.onSetCloudProvider,
111
- isSelected = _ref4.isSelected,
112
- isConnected = _ref4.isConnected,
113
- _ref4$isReady = _ref4.isReady,
114
- isReady = _ref4$isReady === void 0 ? true : _ref4$isReady;
115
- var userName = typeof cloudProvider.getUserName === 'function' ? cloudProvider.getUserName() : null;
116
- var onClickConnect = typeof onConnect === 'function' ? onConnect : function () {
117
- return cloudProvider.login(function () {
118
- return onSetCloudProvider(cloudProvider.name);
119
- });
120
- };
121
- var onClickLogout = typeof onLogout === 'function' ? onLogout : function () {
122
- return cloudProvider.logout(function () {
123
- return isSelected ? onSetCloudProvider(null) : null;
76
+ var StyledWarning = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-weight: ", ";\n"])), function (props) {
77
+ return props.theme.errorColor;
78
+ }, function (props) {
79
+ return props.theme.selectFontWeightBold;
80
+ });
81
+
82
+ exports.StyledWarning = StyledWarning;
83
+
84
+ /**
85
+ * this component display a provider and allows users to select and set the current provider
86
+ * @param provider
87
+ * @param actionName
88
+ * @constructor
89
+ */
90
+ var CloudTile = function CloudTile(_ref3) {
91
+ var provider = _ref3.provider,
92
+ actionName = _ref3.actionName;
93
+
94
+ var _useState = (0, _react.useState)(null),
95
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
96
+ user = _useState2[0],
97
+ setUser = _useState2[1];
98
+
99
+ var _useState3 = (0, _react.useState)(null),
100
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
101
+ error = _useState4[0],
102
+ setError = _useState4[1];
103
+
104
+ var _useState5 = (0, _react.useState)(false),
105
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
106
+ isLoading = _useState6[0],
107
+ setIsLoading = _useState6[1];
108
+
109
+ var _useCloudListProvider = (0, _useCloudListProvider2.useCloudListProvider)(),
110
+ currentProvider = _useCloudListProvider.provider,
111
+ setProvider = _useCloudListProvider.setProvider;
112
+
113
+ var isSelected = provider === currentProvider;
114
+ (0, _react.useEffect)(function () {
115
+ if (!provider) {
116
+ return;
117
+ }
118
+
119
+ setError(null);
120
+ setIsLoading(true);
121
+ setError(null);
122
+ provider.getUser().then(setUser)["catch"](setError)["finally"](function () {
123
+ setError(null);
124
+ setIsLoading(false);
124
125
  });
125
- };
126
- return /*#__PURE__*/_react["default"].createElement(StyledBox, null, /*#__PURE__*/_react["default"].createElement(StyledTileWrapper, {
127
- onClick: isConnected ? onSelect : onClickConnect,
126
+ }, [provider]);
127
+ var onLogin = (0, _react.useCallback)( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
128
+ var _user;
129
+
130
+ return _regenerator["default"].wrap(function _callee$(_context) {
131
+ while (1) {
132
+ switch (_context.prev = _context.next) {
133
+ case 0:
134
+ setError(null);
135
+ setIsLoading(true);
136
+ _context.prev = 2;
137
+ _context.next = 5;
138
+ return provider.login();
139
+
140
+ case 5:
141
+ _user = _context.sent;
142
+ setUser(_user);
143
+ setProvider(provider);
144
+ _context.next = 13;
145
+ break;
146
+
147
+ case 10:
148
+ _context.prev = 10;
149
+ _context.t0 = _context["catch"](2);
150
+ setError(_context.t0);
151
+
152
+ case 13:
153
+ setIsLoading(false);
154
+
155
+ case 14:
156
+ case "end":
157
+ return _context.stop();
158
+ }
159
+ }
160
+ }, _callee, null, [[2, 10]]);
161
+ })), [provider]);
162
+ var onSelect = (0, _react.useCallback)( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
163
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
164
+ while (1) {
165
+ switch (_context2.prev = _context2.next) {
166
+ case 0:
167
+ if (!isLoading) {
168
+ _context2.next = 2;
169
+ break;
170
+ }
171
+
172
+ return _context2.abrupt("return");
173
+
174
+ case 2:
175
+ if (!user) {
176
+ _context2.next = 5;
177
+ break;
178
+ }
179
+
180
+ setProvider(provider);
181
+ return _context2.abrupt("return");
182
+
183
+ case 5:
184
+ _context2.prev = 5;
185
+ _context2.next = 8;
186
+ return onLogin();
187
+
188
+ case 8:
189
+ setProvider(provider);
190
+ _context2.next = 15;
191
+ break;
192
+
193
+ case 11:
194
+ _context2.prev = 11;
195
+ _context2.t0 = _context2["catch"](5);
196
+ setError(_context2.t0);
197
+ setProvider(null);
198
+
199
+ case 15:
200
+ case "end":
201
+ return _context2.stop();
202
+ }
203
+ }
204
+ }, _callee2, null, [[5, 11]]);
205
+ })), [setProvider, provider, user, isLoading]);
206
+ var onLogout = (0, _react.useCallback)( /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
207
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
208
+ while (1) {
209
+ switch (_context3.prev = _context3.next) {
210
+ case 0:
211
+ setIsLoading(true);
212
+ _context3.prev = 1;
213
+ _context3.next = 4;
214
+ return provider.logout();
215
+
216
+ case 4:
217
+ _context3.next = 9;
218
+ break;
219
+
220
+ case 6:
221
+ _context3.prev = 6;
222
+ _context3.t0 = _context3["catch"](1);
223
+ setError(_context3.t0);
224
+
225
+ case 9:
226
+ setIsLoading(false);
227
+ setUser(null);
228
+ setProvider(null);
229
+
230
+ case 12:
231
+ case "end":
232
+ return _context3.stop();
233
+ }
234
+ }
235
+ }, _callee3, null, [[1, 6]]);
236
+ })), [provider]);
237
+ var displayName = provider.displayName,
238
+ name = provider.name;
239
+ return /*#__PURE__*/_react["default"].createElement(StyledBox, null, provider.isNew ? /*#__PURE__*/_react["default"].createElement(NewTag, null, "New") : null, /*#__PURE__*/_react["default"].createElement("div", null), /*#__PURE__*/_react["default"].createElement(StyledTileWrapper, {
240
+ onClick: onSelect,
128
241
  selected: isSelected
129
- }, /*#__PURE__*/_react["default"].createElement(StyledCloudName, null, cloudProvider.displayName || cloudProvider.name), cloudProvider.icon ? /*#__PURE__*/_react["default"].createElement(cloudProvider.icon, {
242
+ }, /*#__PURE__*/_react["default"].createElement(StyledCloudName, null, displayName || name), provider.icon ? /*#__PURE__*/_react["default"].createElement(provider.icon, {
130
243
  height: "64px"
131
- }) : null, /*#__PURE__*/_react["default"].createElement(ActionButton, {
132
- isConnected: isConnected,
133
- actionName: actionName,
134
- isReady: isReady
135
- }), userName && /*#__PURE__*/_react["default"].createElement(StyledUserName, null, userName), isSelected && /*#__PURE__*/_react["default"].createElement(_styledComponents2.CheckMark, null)), isConnected ? /*#__PURE__*/_react["default"].createElement(LogoutButton, {
136
- onClick: onClickLogout
244
+ }) : null, isLoading ? /*#__PURE__*/_react["default"].createElement("div", null, "Loading ...") : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, user ? /*#__PURE__*/_react["default"].createElement(StyledUserName, null, actionName || user.name) : null), isSelected ? /*#__PURE__*/_react["default"].createElement(_styledComponents2.CheckMark, null) : null), user || error ? /*#__PURE__*/_react["default"].createElement(LogoutButton, {
245
+ onClick: onLogout
137
246
  }) : /*#__PURE__*/_react["default"].createElement(LoginButton, {
138
- onClick: onClickConnect
139
- }));
247
+ onClick: onLogin
248
+ }), error ? /*#__PURE__*/_react["default"].createElement(StyledWarning, null, error.message) : null);
140
249
  };
141
250
 
142
251
  var _default = CloudTile;
143
252
  exports["default"] = _default;
144
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RhbHMvY2xvdWQtdGlsZS50c3giXSwibmFtZXMiOlsiU3R5bGVkVGlsZVdyYXBwZXIiLCJzdHlsZWQiLCJkaXYiLCJhdHRycyIsImNsYXNzTmFtZSIsInByb3BzIiwic2VsZWN0ZWQiLCJ0aGVtZSIsInByaW1hcnlCdG5CZ2QiLCJzZWxlY3RCb3JkZXJDb2xvckxUIiwidHJhbnNpdGlvbiIsIlN0eWxlZEJveCIsIkNlbnRlclZlcnRpY2FsRmxleGJveCIsIlN0eWxlZENsb3VkTmFtZSIsIlN0eWxlZFVzZXJOYW1lIiwicHJpbWFyeUJ0bkFjdEJnZCIsIkxvZ2luQnV0dG9uIiwib25DbGljayIsIkxvZ291dEJ1dHRvbiIsIkFjdGlvbkJ1dHRvbiIsImlzQ29ubmVjdGVkIiwiYWN0aW9uTmFtZSIsImlzUmVhZHkiLCJDbG91ZFRpbGUiLCJvblNlbGVjdCIsIm9uQ29ubmVjdCIsIm9uTG9nb3V0IiwiY2xvdWRQcm92aWRlciIsIm9uU2V0Q2xvdWRQcm92aWRlciIsImlzU2VsZWN0ZWQiLCJ1c2VyTmFtZSIsImdldFVzZXJOYW1lIiwib25DbGlja0Nvbm5lY3QiLCJsb2dpbiIsIm5hbWUiLCJvbkNsaWNrTG9nb3V0IiwibG9nb3V0IiwiZGlzcGxheU5hbWUiLCJpY29uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQU9BLElBQU1BLGlCQUFpQixHQUFHQyw2QkFBT0MsR0FBUCxDQUFXQyxLQUFYLENBQWlCO0FBQ3pDQyxFQUFBQSxTQUFTLEVBQUU7QUFEOEIsQ0FBakIsQ0FBSCxzZ0JBU2pCLFVBQUFDLEtBQUs7QUFBQSxTQUFLQSxLQUFLLENBQUNDLFFBQU4sR0FBaUJELEtBQUssQ0FBQ0UsS0FBTixDQUFZQyxhQUE3QixHQUE2Q0gsS0FBSyxDQUFDRSxLQUFOLENBQVlFLG1CQUE5RDtBQUFBLENBVFksRUFVWixVQUFBSixLQUFLO0FBQUEsU0FBS0EsS0FBSyxDQUFDQyxRQUFO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REY7QUFnQkQsQ0FqREQ7O2VBbURlVCxTIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIzIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtMb2dvdXQsIExvZ2lufSBmcm9tICcuLi9jb21tb24vaWNvbnMnO1xuaW1wb3J0IHtDZW50ZXJWZXJ0aWNhbEZsZXhib3gsIEJ1dHRvbiwgQ2hlY2tNYXJrfSBmcm9tICcuLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IExvYWRpbmdTcGlubmVyIGZyb20gJy4uL2NvbW1vbi9sb2FkaW5nLXNwaW5uZXInO1xuaW1wb3J0IHtQcm92aWRlcn0gZnJvbSAnQGtlcGxlci5nbC9jbG91ZC1wcm92aWRlcnMnO1xuXG5pbnRlcmZhY2UgU3R5bGVkVGlsZVdyYXBwZXJQcm9wcyB7XG4gIHNlbGVjdGVkPzogYm9vbGVhbjtcbn1cblxuY29uc3QgU3R5bGVkVGlsZVdyYXBwZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAncHJvdmlkZXItdGlsZV9fd3JhcHBlcidcbn0pPFN0eWxlZFRpbGVXcmFwcGVyUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm9yZGVyOiAxcHggc29saWRcbiAgICAke3Byb3BzID0+IChwcm9wcy5zZWxlY3RlZCA/IHByb3BzLnRoZW1lLnByaW1hcnlCdG5CZ2QgOiBwcm9wcy50aGVtZS5zZWxlY3RCb3JkZXJDb2xvckxUKX07XG4gIGNvbG9yOiAke3Byb3BzID0+IChwcm9wcy5zZWxlY3RlZCA/IHByb3BzLnRoZW1lLnByaW1hcnlCdG5CZ2QgOiBwcm9wcy50aGVtZS5zZWxlY3RCb3JkZXJDb2xvckxUKX07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgd2lkdGg6IDEyMHB4O1xuICBoZWlnaHQ6IDE2OHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICB0cmFuc2l0aW9uOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRyYW5zaXRpb259O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIDpob3ZlciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQmdkfTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQmdkfTtcbiAgfVxuXG4gIC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZEJveCA9IHN0eWxlZChDZW50ZXJWZXJ0aWNhbEZsZXhib3gpYFxuICBtYXJnaW4tcmlnaHQ6IDEycHg7XG5gO1xuXG5jb25zdCBTdHlsZWRDbG91ZE5hbWUgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbi10b3A6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbmA7XG5cbmNvbnN0IFN0eWxlZFVzZXJOYW1lID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiAxMXB4O1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkFjdEJnZH07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDBweDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5gO1xuXG5pbnRlcmZhY2UgT25DbGlja1Byb3BzIHtcbiAgb25DbGljaz86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50Pjtcbn1cblxuY29uc3QgTG9naW5CdXR0b24gPSAoe29uQ2xpY2t9OiBPbkNsaWNrUHJvcHMpID0+IChcbiAgPEJ1dHRvbiBjbGFzc05hbWU9XCJsb2dpbi1idXR0b25cIiBsaW5rIHNtYWxsIG9uQ2xpY2s9e29uQ2xpY2t9PlxuICAgIDxMb2dpbiAvPlxuICAgIExvZ2luXG4gIDwvQnV0dG9uPlxuKTtcblxuY29uc3QgTG9nb3V0QnV0dG9uID0gKHtvbkNsaWNrfTogT25DbGlja1Byb3BzKSA9PiAoXG4gIDxCdXR0b24gY2xhc3NOYW1lPVwibG9nb3V0LWJ1dHRvblwiIGxpbmsgc21hbGwgb25DbGljaz17b25DbGlja30+XG4gICAgPExvZ291dCAvPlxuICAgIExvZ291dFxuICA8L0J1dHRvbj5cbik7XG5cbmludGVyZmFjZSBBY3Rpb25CdXR0b25Qcm9wcyB7XG4gIGlzQ29ubmVjdGVkPzogYm9vbGVhbjtcbiAgYWN0aW9uTmFtZT86IHN0cmluZyB8IG51bGw7XG4gIGlzUmVhZHk/OiBib29sZWFuO1xufVxuXG5jb25zdCBBY3Rpb25CdXR0b24gPSAoe2lzQ29ubmVjdGVkLCBhY3Rpb25OYW1lID0gbnVsbCwgaXNSZWFkeX06IEFjdGlvbkJ1dHRvblByb3BzKSA9PlxuICBpc0Nvbm5lY3RlZCAmJiBhY3Rpb25OYW1lID8gKFxuICAgIDxCdXR0b24gY2xhc3NOYW1lPVwiY2xvdWQtdGlsZV9fYWN0aW9uXCIgc21hbGwgc2Vjb25kYXJ5IGRpc2FibGVkPXshaXNSZWFkeX0+XG4gICAgICB7aXNSZWFkeSA/IGFjdGlvbk5hbWUgOiA8TG9hZGluZ1NwaW5uZXIgc2l6ZT17MTJ9IC8+fVxuICAgIDwvQnV0dG9uPlxuICApIDogbnVsbDtcblxuaW50ZXJmYWNlIENsb3VkVGlsZVByb3BzIHtcbiAgb25TZWxlY3Q/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD47XG4gIC8vIGRlZmF1bHQgdG8gbG9naW5cbiAgb25Db25uZWN0PzogKCgpID0+IHZvaWQpIHwgbnVsbDtcbiAgLy8gZGVmYXVsdCB0byBsb2dvdXRcbiAgb25Mb2dvdXQ/OiAoKCkgPT4gdm9pZCkgfCBudWxsO1xuICAvLyBhY3Rpb24gbmFtZVxuICBhY3Rpb25OYW1lPzogc3RyaW5nIHwgbnVsbDtcbiAgLy8gY2xvdWQgcHJvdmlkZXIgY2xhc3NcbiAgY2xvdWRQcm92aWRlcjogUHJvdmlkZXI7XG4gIC8vIGZ1bmN0aW9uIHRvIHRha2UgYWZ0ZXIgbG9naW4gb3IgbG9nb3V0XG4gIG9uU2V0Q2xvdWRQcm92aWRlcjogKHByb3ZpZGVyTmFtZTogc3RyaW5nIHwgbnVsbCkgPT4gdm9pZDtcbiAgLy8gd2hldGhlciBwcm92aWRlciBpcyBzZWxlY3RlZCBhcyBjdXJyZW50UHJvdmlkZXJcbiAgaXNTZWxlY3RlZD86IGJvb2xlYW47XG4gIC8vIHdoZXRoZXIgdXNlciBoYXMgbG9nZ2VkIGluXG4gIGlzQ29ubmVjdGVkPzogYm9vbGVhbjtcbiAgaXNSZWFkeT86IGJvb2xlYW47XG59XG5cbmNvbnN0IENsb3VkVGlsZTogUmVhY3QuRkM8Q2xvdWRUaWxlUHJvcHM+ID0gKHtcbiAgLy8gYWN0aW9uIHdoZW4gY2xpY2sgb24gdGhlIHRpbGVcbiAgb25TZWxlY3QsXG4gIC8vIGRlZmF1bHQgdG8gbG9naW5cbiAgb25Db25uZWN0ID0gbnVsbCxcbiAgLy8gZGVmYXVsdCB0byBsb2dvdXRcbiAgb25Mb2dvdXQgPSBudWxsLFxuICAvLyBhY3Rpb24gbmFtZVxuICBhY3Rpb25OYW1lID0gbnVsbCxcbiAgLy8gY2xvdWQgcHJvdmlkZXIgY2xhc3NcbiAgY2xvdWRQcm92aWRlcixcbiAgLy8gZnVuY3Rpb24gdG8gdGFrZSBhZnRlciBsb2dpbiBvciBsb2dvdXRcbiAgb25TZXRDbG91ZFByb3ZpZGVyLFxuICAvLyB3aGV0aGVyIHByb3ZpZGVyIGlzIHNlbGVjdGVkIGFzIGN1cnJlbnRQcm92aWRlclxuICBpc1NlbGVjdGVkLFxuICAvLyB3aGV0aGVyIHVzZXIgaGFzIGxvZ2dlZCBpblxuICBpc0Nvbm5lY3RlZCxcblxuICBpc1JlYWR5ID0gdHJ1ZVxufSkgPT4ge1xuICBjb25zdCB1c2VyTmFtZSA9XG4gICAgdHlwZW9mIGNsb3VkUHJvdmlkZXIuZ2V0VXNlck5hbWUgPT09ICdmdW5jdGlvbicgPyBjbG91ZFByb3ZpZGVyLmdldFVzZXJOYW1lKCkgOiBudWxsO1xuXG4gIGNvbnN0IG9uQ2xpY2tDb25uZWN0ID1cbiAgICB0eXBlb2Ygb25Db25uZWN0ID09PSAnZnVuY3Rpb24nXG4gICAgICA/IG9uQ29ubmVjdFxuICAgICAgOiAoKSA9PiBjbG91ZFByb3ZpZGVyLmxvZ2luKCgpID0+IG9uU2V0Q2xvdWRQcm92aWRlcihjbG91ZFByb3ZpZGVyLm5hbWUpKTtcblxuICBjb25zdCBvbkNsaWNrTG9nb3V0ID1cbiAgICB0eXBlb2Ygb25Mb2dvdXQgPT09ICdmdW5jdGlvbidcbiAgICAgID8gb25Mb2dvdXRcbiAgICAgIDogKCkgPT4gY2xvdWRQcm92aWRlci5sb2dvdXQoKCkgPT4gKGlzU2VsZWN0ZWQgPyBvblNldENsb3VkUHJvdmlkZXIobnVsbCkgOiBudWxsKSk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQm94PlxuICAgICAgPFN0eWxlZFRpbGVXcmFwcGVyIG9uQ2xpY2s9e2lzQ29ubmVjdGVkID8gb25TZWxlY3QgOiBvbkNsaWNrQ29ubmVjdH0gc2VsZWN0ZWQ9e2lzU2VsZWN0ZWR9PlxuICAgICAgICA8U3R5bGVkQ2xvdWROYW1lPntjbG91ZFByb3ZpZGVyLmRpc3BsYXlOYW1lIHx8IGNsb3VkUHJvdmlkZXIubmFtZX08L1N0eWxlZENsb3VkTmFtZT5cbiAgICAgICAge2Nsb3VkUHJvdmlkZXIuaWNvbiA/IDxjbG91ZFByb3ZpZGVyLmljb24gaGVpZ2h0PVwiNjRweFwiIC8+IDogbnVsbH1cbiAgICAgICAgPEFjdGlvbkJ1dHRvbiBpc0Nvbm5lY3RlZD17aXNDb25uZWN0ZWR9IGFjdGlvbk5hbWU9e2FjdGlvbk5hbWV9IGlzUmVhZHk9e2lzUmVhZHl9IC8+XG4gICAgICAgIHt1c2VyTmFtZSAmJiA8U3R5bGVkVXNlck5hbWU+e3VzZXJOYW1lfTwvU3R5bGVkVXNlck5hbWU+fVxuICAgICAgICB7aXNTZWxlY3RlZCAmJiA8Q2hlY2tNYXJrIC8+fVxuICAgICAgPC9TdHlsZWRUaWxlV3JhcHBlcj5cbiAgICAgIHtpc0Nvbm5lY3RlZCA/IChcbiAgICAgICAgPExvZ291dEJ1dHRvbiBvbkNsaWNrPXtvbkNsaWNrTG9nb3V0fSAvPlxuICAgICAgKSA6IChcbiAgICAgICAgPExvZ2luQnV0dG9uIG9uQ2xpY2s9e29uQ2xpY2tDb25uZWN0fSAvPlxuICAgICAgKX1cbiAgICA8L1N0eWxlZEJveD5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENsb3VkVGlsZTtcbiJdfQ==
253
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RhbHMvY2xvdWQtdGlsZS50c3giXSwibmFtZXMiOlsiU3R5bGVkVGlsZVdyYXBwZXIiLCJzdHlsZWQiLCJkaXYiLCJhdHRycyIsImNsYXNzTmFtZSIsInByb3BzIiwic2VsZWN0ZWQiLCJ0aGVtZSIsInByaW1hcnlCdG5CZ2QiLCJzZWxlY3RCb3JkZXJDb2xvckxUIiwidHJhbnNpdGlvbiIsIlN0eWxlZEJveCIsIkNlbnRlclZlcnRpY2FsRmxleGJveCIsIlN0eWxlZENsb3VkTmFtZSIsIlN0eWxlZFVzZXJOYW1lIiwicHJpbWFyeUJ0bkFjdEJnZCIsIkxvZ2luQnV0dG9uIiwib25DbGljayIsIkxvZ291dEJ1dHRvbiIsIk5ld1RhZyIsIlN0eWxlZFdhcm5pbmciLCJzcGFuIiwiZXJyb3JDb2xvciIsInNlbGVjdEZvbnRXZWlnaHRCb2xkIiwiQ2xvdWRUaWxlIiwicHJvdmlkZXIiLCJhY3Rpb25OYW1lIiwidXNlciIsInNldFVzZXIiLCJlcnJvciIsInNldEVycm9yIiwiaXNMb2FkaW5nIiwic2V0SXNMb2FkaW5nIiwiY3VycmVudFByb3ZpZGVyIiwic2V0UHJvdmlkZXIiLCJpc1NlbGVjdGVkIiwiZ2V0VXNlciIsInRoZW4iLCJvbkxvZ2luIiwibG9naW4iLCJvblNlbGVjdCIsIm9uTG9nb3V0IiwibG9nb3V0IiwiZGlzcGxheU5hbWUiLCJuYW1lIiwiaXNOZXciLCJpY29uIiwibWVzc2FnZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOzs7O0FBTUEsSUFBTUEsaUJBQWlCLEdBQUdDLDZCQUFPQyxHQUFQLENBQVdDLEtBQVgsQ0FBaUI7QUFDekNDLEVBQUFBLFNBQVMsRUFBRTtBQUQ4QixDQUFqQixDQUFILHNnQkFTakIsVUFBQUMsS0FBSztBQUFBLFNBQUtBLEtBQUssQ0FBQ0MsUUFBTixHQUFpQkQsS0FBSyxDQUFDRSxLQUFOLENBQVlDLGFBQTdCLEdBQTZDSCxL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LENBQVUsSUFBVjtBQUFlLElBQUEsTUFBTSxFQUFDO0FBQXRCLElBQWhCLEdBQWtELElBRnJELEVBR0dmLFNBQVMsZ0JBQ1IsMkRBRFEsZ0JBR1Isa0VBQUdKLElBQUksZ0JBQUcsZ0NBQUMsY0FBRCxRQUFpQkQsVUFBVSxJQUFJQyxJQUFJLENBQUNpQixJQUFwQyxDQUFILEdBQWdFLElBQXZFLENBTkosRUFRR1QsVUFBVSxnQkFBRyxnQ0FBQyw0QkFBRCxPQUFILEdBQW1CLElBUmhDLENBSEYsRUFhR1IsSUFBSSxJQUFJRSxLQUFSLGdCQUFnQixnQ0FBQyxZQUFEO0FBQWMsSUFBQSxPQUFPLEVBQUVZO0FBQXZCLElBQWhCLGdCQUFzRCxnQ0FBQyxXQUFEO0FBQWEsSUFBQSxPQUFPLEVBQUVIO0FBQXRCLElBYnpELEVBY0dULEtBQUssZ0JBQUcsZ0NBQUMsYUFBRCxRQUFnQkEsS0FBSyxDQUFDa0IsT0FBdEIsQ0FBSCxHQUFvRCxJQWQ1RCxDQURGO0FBa0JELENBdEZEOztlQXdGZXZCLFMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VTdGF0ZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge0xvZ291dCwgTG9naW59IGZyb20gJy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQge0NlbnRlclZlcnRpY2FsRmxleGJveCwgQnV0dG9uLCBDaGVja01hcmt9IGZyb20gJy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge1Byb3ZpZGVyLCBDbG91ZFVzZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvY2xvdWQtcHJvdmlkZXJzJztcbmltcG9ydCB7dXNlQ2xvdWRMaXN0UHJvdmlkZXJ9IGZyb20gJy4uL2hvb2tzL3VzZS1jbG91ZC1saXN0LXByb3ZpZGVyJztcblxuaW50ZXJmYWNlIFN0eWxlZFRpbGVXcmFwcGVyUHJvcHMge1xuICBzZWxlY3RlZD86IGJvb2xlYW47XG59XG5cbmNvbnN0IFN0eWxlZFRpbGVXcmFwcGVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ3Byb3ZpZGVyLXRpbGVfX3dyYXBwZXInXG59KTxTdHlsZWRUaWxlV3JhcHBlclByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkXG4gICAgJHtwcm9wcyA9PiAocHJvcHMuc2VsZWN0ZWQgPyBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQmdkIDogcHJvcHMudGhlbWUuc2VsZWN0Qm9yZGVyQ29sb3JMVCl9O1xuICBjb2xvcjogJHtwcm9wcyA9PiAocHJvcHMuc2VsZWN0ZWQgPyBwcm9wcy50aGVtZS5wcmltYXJ5QnRuQmdkIDogcHJvcHMudGhlbWUuc2VsZWN0Qm9yZGVyQ29sb3JMVCl9O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHdpZHRoOiAxMjBweDtcbiAgaGVpZ2h0OiAxNjhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgdHJhbnNpdGlvbjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50cmFuc2l0aW9ufTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICA6aG92ZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkJnZH07XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkJnZH07XG4gIH1cblxuICAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRCb3ggPSBzdHlsZWQoQ2VudGVyVmVydGljYWxGbGV4Ym94KWBcbiAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gO1xuXG5jb25zdCBTdHlsZWRDbG91ZE5hbWUgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbi10b3A6IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbmA7XG5cbmNvbnN0IFN0eWxlZFVzZXJOYW1lID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiAxMXB4O1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucHJpbWFyeUJ0bkFjdEJnZH07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDBweDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5gO1xuXG5pbnRlcmZhY2UgT25DbGlja1Byb3BzIHtcbiAgb25DbGljaz86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyPEhUTUxCdXR0b25FbGVtZW50Pjtcbn1cblxuY29uc3QgTG9naW5CdXR0b24gPSAoe29uQ2xpY2t9OiBPbkNsaWNrUHJvcHMpID0+IChcbiAgPEJ1dHRvbiBjbGFzc05hbWU9XCJsb2dpbi1idXR0b25cIiBsaW5rIHNtYWxsIG9uQ2xpY2s9e29uQ2xpY2t9PlxuICAgIDxMb2dpbiAvPlxuICAgIExvZ2luXG4gIDwvQnV0dG9uPlxuKTtcblxuY29uc3QgTG9nb3V0QnV0dG9uID0gKHtvbkNsaWNrfTogT25DbGlja1Byb3BzKSA9PiAoXG4gIDxCdXR0b24gY2xhc3NOYW1lPVwibG9nb3V0LWJ1dHRvblwiIGxpbmsgc21hbGwgb25DbGljaz17b25DbGlja30+XG4gICAgPExvZ291dCAvPlxuICAgIExvZ291dFxuICA8L0J1dHRvbj5cbik7XG5cbmNvbnN0IE5ld1RhZyA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAzN3B4O1xuICBoZWlnaHQ6IDE5cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0VERTlGOTtcbiAgY29sb3I6ICM4ODYzRjg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMzUlO1xuICB0b3A6IC04cHhcbiAgei1pbmRleDogNTAwO1xuICBmb250LXNpemU6IDExcHg7XG4gIGxpbmUtaGVpZ2h0OiAxMHB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFdhcm5pbmcgPSBzdHlsZWQuc3BhbmBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZXJyb3JDb2xvcn07XG4gIGZvbnQtd2VpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlbGVjdEZvbnRXZWlnaHRCb2xkfTtcbmA7XG5cbmludGVyZmFjZSBDbG91ZFRpbGVQcm9wcyB7XG4gIGFjdGlvbk5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICAvLyBjbG91ZCBwcm92aWRlciBjbGFzc1xuICBwcm92aWRlcjogUHJvdmlkZXI7XG59XG5cbi8qKlxuICogdGhpcyBjb21wb25lbnQgZGlzcGxheSBhIHByb3ZpZGVyIGFuZCBhbGxvd3MgdXNlcnMgdG8gc2VsZWN0IGFuZCBzZXQgdGhlIGN1cnJlbnQgcHJvdmlkZXJcbiAqIEBwYXJhbSBwcm92aWRlclxuICogQHBhcmFtIGFjdGlvbk5hbWVcbiAqIEBjb25zdHJ1Y3RvclxuICovXG5jb25zdCBDbG91ZFRpbGU6IFJlYWN0LkZDPENsb3VkVGlsZVByb3BzPiA9ICh7cHJvdmlkZXIsIGFjdGlvbk5hbWV9KSA9PiB7XG4gIGNvbnN0IFt1c2VyLCBzZXRVc2VyXSA9IHVzZVN0YXRlPENsb3VkVXNlciB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPEVycm9yIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IHtwcm92aWRlcjogY3VycmVudFByb3ZpZGVyLCBzZXRQcm92aWRlcn0gPSB1c2VDbG91ZExpc3RQcm92aWRlcigpO1xuICBjb25zdCBpc1NlbGVjdGVkID0gcHJvdmlkZXIgPT09IGN1cnJlbnRQcm92aWRlcjtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghcHJvdmlkZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc2V0RXJyb3IobnVsbCk7XG4gICAgc2V0SXNMb2FkaW5nKHRydWUpO1xuICAgIHNldEVycm9yKG51bGwpO1xuICAgIHByb3ZpZGVyXG4gICAgICAuZ2V0VXNlcigpXG4gICAgICAudGhlbihzZXRVc2VyKVxuICAgICAgLmNhdGNoKHNldEVycm9yKVxuICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICBzZXRFcnJvcihudWxsKTtcbiAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgIH0pO1xuICB9LCBbcHJvdmlkZXJdKTtcblxuICBjb25zdCBvbkxvZ2luID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIHNldEVycm9yKG51bGwpO1xuICAgIHNldElzTG9hZGluZyh0cnVlKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgdXNlciA9IGF3YWl0IHByb3ZpZGVyLmxvZ2luKCk7XG4gICAgICBzZXRVc2VyKHVzZXIpO1xuICAgICAgc2V0UHJvdmlkZXIocHJvdmlkZXIpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBzZXRFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gIH0sIFtwcm92aWRlcl0pO1xuXG4gIGNvbnN0IG9uU2VsZWN0ID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGlmIChpc0xvYWRpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHVzZXIpIHtcbiAgICAgIHNldFByb3ZpZGVyKHByb3ZpZGVyKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IG9uTG9naW4oKTtcbiAgICAgIHNldFByb3ZpZGVyKHByb3ZpZGVyKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHNldEVycm9yKGVyciBhcyBFcnJvcik7XG4gICAgICBzZXRQcm92aWRlcihudWxsKTtcbiAgICB9XG4gIH0sIFtzZXRQcm92aWRlciwgcHJvdmlkZXIsIHVzZXIsIGlzTG9hZGluZ10pO1xuXG4gIGNvbnN0IG9uTG9nb3V0ID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIHNldElzTG9hZGluZyh0cnVlKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgcHJvdmlkZXIubG9nb3V0KCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHNldEVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG4gICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICBzZXRVc2VyKG51bGwpO1xuICAgIHNldFByb3ZpZGVyKG51bGwpO1xuICB9LCBbcHJvdmlkZXJdKTtcblxuICBjb25zdCB7ZGlzcGxheU5hbWUsIG5hbWV9ID0gcHJvdmlkZXI7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQm94PlxuICAgICAge3Byb3ZpZGVyLmlzTmV3ID8gPE5ld1RhZz5OZXc8L05ld1RhZz4gOiBudWxsfVxuICAgICAgPGRpdj48L2Rpdj5cbiAgICAgIDxTdHlsZWRUaWxlV3JhcHBlciBvbkNsaWNrPXtvblNlbGVjdH0gc2VsZWN0ZWQ9e2lzU2VsZWN0ZWR9PlxuICAgICAgICA8U3R5bGVkQ2xvdWROYW1lPntkaXNwbGF5TmFtZSB8fCBuYW1lfTwvU3R5bGVkQ2xvdWROYW1lPlxuICAgICAgICB7cHJvdmlkZXIuaWNvbiA/IDxwcm92aWRlci5pY29uIGhlaWdodD1cIjY0cHhcIiAvPiA6IG51bGx9XG4gICAgICAgIHtpc0xvYWRpbmcgPyAoXG4gICAgICAgICAgPGRpdj5Mb2FkaW5nIC4uLjwvZGl2PlxuICAgICAgICApIDogKFxuICAgICAgICAgIDw+e3VzZXIgPyA8U3R5bGVkVXNlck5hbWU+e2FjdGlvbk5hbWUgfHwgdXNlci5uYW1lfTwvU3R5bGVkVXNlck5hbWU+IDogbnVsbH08Lz5cbiAgICAgICAgKX1cbiAgICAgICAge2lzU2VsZWN0ZWQgPyA8Q2hlY2tNYXJrIC8+IDogbnVsbH1cbiAgICAgIDwvU3R5bGVkVGlsZVdyYXBwZXI+XG4gICAgICB7dXNlciB8fCBlcnJvciA/IDxMb2dvdXRCdXR0b24gb25DbGljaz17b25Mb2dvdXR9IC8+IDogPExvZ2luQnV0dG9uIG9uQ2xpY2s9e29uTG9naW59IC8+fVxuICAgICAge2Vycm9yID8gPFN0eWxlZFdhcm5pbmc+e2Vycm9yLm1lc3NhZ2V9PC9TdHlsZWRXYXJuaW5nPiA6IG51bGx9XG4gICAgPC9TdHlsZWRCb3g+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDbG91ZFRpbGU7XG4iXX0=