@kepler.gl/components 3.3.0-alpha.5 → 3.3.0-alpha.7

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 (1347) hide show
  1. package/dist/cjs/annotations/annotation-node.js +145 -0
  2. package/dist/cjs/annotations/annotation-overlay.js +168 -0
  3. package/dist/cjs/annotations/annotation-panel.js +361 -0
  4. package/dist/cjs/annotations/annotation-text.js +149 -0
  5. package/dist/cjs/annotations/annotation-utils.js +197 -0
  6. package/dist/cjs/annotations/index.js +53 -0
  7. package/dist/cjs/annotations/lexical-editor/clickable-link-plugin.js +71 -0
  8. package/dist/cjs/annotations/lexical-editor/floating-link-editor.js +193 -0
  9. package/dist/cjs/annotations/lexical-editor/index.js +78 -0
  10. package/dist/cjs/annotations/lexical-editor/lexical-constants.js +22 -0
  11. package/dist/cjs/annotations/lexical-editor/lexical-nodes.js +13 -0
  12. package/dist/cjs/annotations/lexical-editor/lexical-rich-text-editor.js +121 -0
  13. package/dist/cjs/annotations/lexical-editor/lexical-theme.js +25 -0
  14. package/dist/cjs/annotations/lexical-editor/lexical-toolbar.js +292 -0
  15. package/dist/cjs/annotations/lexical-editor/lexical-utils.js +45 -0
  16. package/dist/cjs/annotations/lexical-editor/use-lexical-toolbar.js +253 -0
  17. package/dist/cjs/bottom-widget.js +183 -0
  18. package/dist/cjs/common/action-panel.js +133 -0
  19. package/dist/cjs/common/animation-control/animation-control.js +100 -0
  20. package/dist/cjs/common/animation-control/animation-controller.js +271 -0
  21. package/dist/cjs/common/animation-control/animation-speed-slider.js +63 -0
  22. package/dist/cjs/common/animation-control/animation-window-control.js +59 -0
  23. package/dist/cjs/common/animation-control/export-video-control.js +43 -0
  24. package/dist/cjs/common/animation-control/floating-time-display.js +131 -0
  25. package/dist/cjs/common/animation-control/play-control.js +50 -0
  26. package/dist/cjs/common/animation-control/playback-controls.js +164 -0
  27. package/dist/cjs/common/animation-control/reset-control.js +41 -0
  28. package/dist/cjs/common/animation-control/speed-control.js +51 -0
  29. package/dist/cjs/common/animation-control/window-action-control.js +57 -0
  30. package/dist/cjs/common/checkbox.js +101 -0
  31. package/dist/cjs/common/color-legend.js +272 -0
  32. package/dist/cjs/common/column-stats-chart.js +312 -0
  33. package/dist/cjs/common/data-table/button.js +38 -0
  34. package/dist/cjs/common/data-table/canvas.js +26 -0
  35. package/dist/cjs/common/data-table/cell-size.js +200 -0
  36. package/dist/cjs/common/data-table/column-statistics-categoric.js +40 -0
  37. package/dist/cjs/common/data-table/column-statistics-components.js +65 -0
  38. package/dist/cjs/common/data-table/column-statistics-numeric.js +87 -0
  39. package/dist/cjs/common/data-table/column-statistics-time.js +69 -0
  40. package/dist/cjs/common/data-table/display-format.js +125 -0
  41. package/dist/cjs/common/data-table/grid.js +106 -0
  42. package/dist/cjs/common/data-table/header-cell.js +227 -0
  43. package/dist/cjs/common/data-table/index.js +543 -0
  44. package/dist/cjs/common/data-table/option-dropdown.js +159 -0
  45. package/dist/cjs/common/dataset-label.js +27 -0
  46. package/dist/cjs/common/dnd-layer-items.js +22 -0
  47. package/dist/cjs/common/error-boundary.js +59 -0
  48. package/dist/cjs/common/field-selector.js +172 -0
  49. package/dist/cjs/common/field-token.js +43 -0
  50. package/dist/cjs/common/file-uploader/file-drop.js +180 -0
  51. package/dist/cjs/common/file-uploader/file-upload-progress.js +84 -0
  52. package/dist/cjs/common/file-uploader/file-upload.js +241 -0
  53. package/dist/cjs/common/file-uploader/upload-button.js +58 -0
  54. package/dist/cjs/common/flex-container.js +15 -0
  55. package/dist/cjs/common/histogram-plot.js +282 -0
  56. package/dist/cjs/common/icon-button.js +25 -0
  57. package/dist/cjs/common/icons/3d-models/airplane.js +103 -0
  58. package/dist/cjs/common/icons/3d-models/bicycle.js +425 -0
  59. package/dist/cjs/common/icons/3d-models/boeing.js +118 -0
  60. package/dist/cjs/common/icons/3d-models/car.js +109 -0
  61. package/dist/cjs/common/icons/3d-models/cargoship.js +245 -0
  62. package/dist/cjs/common/icons/3d-models/evtol.js +133 -0
  63. package/dist/cjs/common/icons/3d-models/glider.js +61 -0
  64. package/dist/cjs/common/icons/3d-models/helicopter.js +109 -0
  65. package/dist/cjs/common/icons/3d-models/scooter.js +158 -0
  66. package/dist/cjs/common/icons/3d-models/semitruck.js +176 -0
  67. package/dist/cjs/common/icons/3d-models/truck.js +121 -0
  68. package/dist/cjs/common/icons/add.js +40 -0
  69. package/dist/cjs/common/icons/anchor_window.js +41 -0
  70. package/dist/cjs/common/icons/annotation-text.js +55 -0
  71. package/dist/cjs/common/icons/arrow-down-alt.js +40 -0
  72. package/dist/cjs/common/icons/arrow-down-full.js +49 -0
  73. package/dist/cjs/common/icons/arrow-down-small.js +53 -0
  74. package/dist/cjs/common/icons/arrow-down.js +50 -0
  75. package/dist/cjs/common/icons/arrow-left.js +43 -0
  76. package/dist/cjs/common/icons/arrow-right.js +40 -0
  77. package/dist/cjs/common/icons/arrow-up-alt.js +41 -0
  78. package/dist/cjs/common/icons/arrow-up-solid.js +40 -0
  79. package/dist/cjs/common/icons/arrow-up.js +40 -0
  80. package/dist/cjs/common/icons/base-map.js +56 -0
  81. package/dist/cjs/common/icons/base.js +78 -0
  82. package/dist/cjs/common/icons/bug.js +70 -0
  83. package/dist/cjs/common/icons/calendar.js +48 -0
  84. package/dist/cjs/common/icons/cancel.js +40 -0
  85. package/dist/cjs/common/icons/checkmark.js +46 -0
  86. package/dist/cjs/common/icons/clipboard.js +41 -0
  87. package/dist/cjs/common/icons/clock.js +42 -0
  88. package/dist/cjs/common/icons/close.js +46 -0
  89. package/dist/cjs/common/icons/cloud.js +50 -0
  90. package/dist/cjs/common/icons/code-alt.js +43 -0
  91. package/dist/cjs/common/icons/copy.js +51 -0
  92. package/dist/cjs/common/icons/crosshairs.js +43 -0
  93. package/dist/cjs/common/icons/cube-3d.js +54 -0
  94. package/dist/cjs/common/icons/cursor-click.js +44 -0
  95. package/dist/cjs/common/icons/cursor-point.js +50 -0
  96. package/dist/cjs/common/icons/data-table.js +76 -0
  97. package/dist/cjs/common/icons/db.js +58 -0
  98. package/dist/cjs/common/icons/delete.js +52 -0
  99. package/dist/cjs/common/icons/docs.js +56 -0
  100. package/dist/cjs/common/icons/docs2.js +50 -0
  101. package/dist/cjs/common/icons/drag-n-drop.js +42 -0
  102. package/dist/cjs/common/icons/draggable-dots.js +84 -0
  103. package/dist/cjs/common/icons/draw-point.js +50 -0
  104. package/dist/cjs/common/icons/draw-polygon.js +60 -0
  105. package/dist/cjs/common/icons/edit.js +48 -0
  106. package/dist/cjs/common/icons/effects/brightness-contrast.js +69 -0
  107. package/dist/cjs/common/icons/effects/color-halftone.js +108 -0
  108. package/dist/cjs/common/icons/effects/distance-fog.js +78 -0
  109. package/dist/cjs/common/icons/effects/dot-screen.js +103 -0
  110. package/dist/cjs/common/icons/effects/edge-work.js +62 -0
  111. package/dist/cjs/common/icons/effects/hexagonal-pixelate.js +129 -0
  112. package/dist/cjs/common/icons/effects/hue-saturation.js +60 -0
  113. package/dist/cjs/common/icons/effects/ink.js +59 -0
  114. package/dist/cjs/common/icons/effects/light-and-shadow.js +48 -0
  115. package/dist/cjs/common/icons/effects/magic-wand.js +60 -0
  116. package/dist/cjs/common/icons/effects/magnify.js +67 -0
  117. package/dist/cjs/common/icons/effects/noise.js +113 -0
  118. package/dist/cjs/common/icons/effects/sepia.js +60 -0
  119. package/dist/cjs/common/icons/effects/surface-fog.js +85 -0
  120. package/dist/cjs/common/icons/effects/tilt-shift.js +69 -0
  121. package/dist/cjs/common/icons/effects/triangle-blur.js +64 -0
  122. package/dist/cjs/common/icons/effects/vibrance.js +60 -0
  123. package/dist/cjs/common/icons/effects/vignette.js +53 -0
  124. package/dist/cjs/common/icons/effects/zoom-blur.js +88 -0
  125. package/dist/cjs/common/icons/email.js +44 -0
  126. package/dist/cjs/common/icons/expand.js +42 -0
  127. package/dist/cjs/common/icons/eye-seen.js +49 -0
  128. package/dist/cjs/common/icons/eye-unseen.js +47 -0
  129. package/dist/cjs/common/icons/file-type.js +35 -0
  130. package/dist/cjs/common/icons/file.js +40 -0
  131. package/dist/cjs/common/icons/files.js +41 -0
  132. package/dist/cjs/common/icons/filter-funnel.js +50 -0
  133. package/dist/cjs/common/icons/folder.js +50 -0
  134. package/dist/cjs/common/icons/free-window.js +44 -0
  135. package/dist/cjs/common/icons/gear.js +42 -0
  136. package/dist/cjs/common/icons/globe.js +53 -0
  137. package/dist/cjs/common/icons/hash.js +40 -0
  138. package/dist/cjs/common/icons/help.js +50 -0
  139. package/dist/cjs/common/icons/histogram.js +41 -0
  140. package/dist/cjs/common/icons/horizontal-resize-handle.js +58 -0
  141. package/dist/cjs/common/icons/index.js +838 -0
  142. package/dist/cjs/common/icons/info.js +53 -0
  143. package/dist/cjs/common/icons/layers.js +54 -0
  144. package/dist/cjs/common/icons/left-arrow.js +43 -0
  145. package/dist/cjs/common/icons/legend.js +68 -0
  146. package/dist/cjs/common/icons/line-chart.js +40 -0
  147. package/dist/cjs/common/icons/line-string.js +60 -0
  148. package/dist/cjs/common/icons/location-marker.js +58 -0
  149. package/dist/cjs/common/icons/login.js +43 -0
  150. package/dist/cjs/common/icons/logout.js +42 -0
  151. package/dist/cjs/common/icons/map-icon.js +47 -0
  152. package/dist/cjs/common/icons/map-pin.js +56 -0
  153. package/dist/cjs/common/icons/messages.js +54 -0
  154. package/dist/cjs/common/icons/minus.js +40 -0
  155. package/dist/cjs/common/icons/moon.js +58 -0
  156. package/dist/cjs/common/icons/order-by-dataset.js +46 -0
  157. package/dist/cjs/common/icons/order-by-list.js +38 -0
  158. package/dist/cjs/common/icons/pause.js +60 -0
  159. package/dist/cjs/common/icons/picture.js +59 -0
  160. package/dist/cjs/common/icons/pin.js +52 -0
  161. package/dist/cjs/common/icons/play.js +50 -0
  162. package/dist/cjs/common/icons/pointer-click.js +58 -0
  163. package/dist/cjs/common/icons/polygon.js +62 -0
  164. package/dist/cjs/common/icons/rectangle.js +63 -0
  165. package/dist/cjs/common/icons/reduce.js +43 -0
  166. package/dist/cjs/common/icons/reset.js +56 -0
  167. package/dist/cjs/common/icons/save.js +57 -0
  168. package/dist/cjs/common/icons/save2.js +54 -0
  169. package/dist/cjs/common/icons/search.js +42 -0
  170. package/dist/cjs/common/icons/settings.js +60 -0
  171. package/dist/cjs/common/icons/share.js +70 -0
  172. package/dist/cjs/common/icons/speed.js +52 -0
  173. package/dist/cjs/common/icons/split.js +68 -0
  174. package/dist/cjs/common/icons/square-select.js +42 -0
  175. package/dist/cjs/common/icons/sun.js +74 -0
  176. package/dist/cjs/common/icons/sunrise.js +70 -0
  177. package/dist/cjs/common/icons/sunset.js +70 -0
  178. package/dist/cjs/common/icons/timeline-marker.js +55 -0
  179. package/dist/cjs/common/icons/trash.js +54 -0
  180. package/dist/cjs/common/icons/vert-dots.js +78 -0
  181. package/dist/cjs/common/icons/vert-three-dots.js +53 -0
  182. package/dist/cjs/common/icons/warning-sign.js +60 -0
  183. package/dist/cjs/common/icons/warning.js +54 -0
  184. package/dist/cjs/common/icons/zoom-in.js +47 -0
  185. package/dist/cjs/common/icons/zoom-out.js +47 -0
  186. package/dist/cjs/common/image-preview.js +64 -0
  187. package/dist/cjs/common/index.js +282 -0
  188. package/dist/cjs/common/info-helper.js +61 -0
  189. package/dist/cjs/common/item-selector/accessor.js +37 -0
  190. package/dist/cjs/common/item-selector/chickleted-input.js +157 -0
  191. package/dist/cjs/common/item-selector/dropdown-list.js +257 -0
  192. package/dist/cjs/common/item-selector/dropdown-select.js +84 -0
  193. package/dist/cjs/common/item-selector/item-selector.js +254 -0
  194. package/dist/cjs/common/item-selector/typeahead.js +435 -0
  195. package/dist/cjs/common/layout-splitter.js +230 -0
  196. package/dist/cjs/common/line-chart.js +286 -0
  197. package/dist/cjs/common/link-renderer.js +20 -0
  198. package/dist/cjs/common/loading-spinner.js +50 -0
  199. package/dist/cjs/common/logo.js +68 -0
  200. package/dist/cjs/common/map-layer-selector.js +38 -0
  201. package/dist/cjs/common/modal.js +170 -0
  202. package/dist/cjs/common/portaled.js +287 -0
  203. package/dist/cjs/common/progress-bar.js +47 -0
  204. package/dist/cjs/common/radius-legend.js +131 -0
  205. package/dist/cjs/common/range-brush.js +265 -0
  206. package/dist/cjs/common/range-plot.js +217 -0
  207. package/dist/cjs/common/range-slider-timeline-panel.js +42 -0
  208. package/dist/cjs/common/range-slider-timeline.js +112 -0
  209. package/dist/cjs/common/range-slider.js +371 -0
  210. package/dist/cjs/common/slider/mouse-event.js +104 -0
  211. package/dist/cjs/common/slider/slider-bar-handle.js +90 -0
  212. package/dist/cjs/common/slider/slider-handle.js +136 -0
  213. package/dist/cjs/common/slider/slider.js +251 -0
  214. package/dist/cjs/common/styled-components.js +447 -0
  215. package/dist/cjs/common/switch.js +21 -0
  216. package/dist/cjs/common/sync-timeline-control.js +61 -0
  217. package/dist/cjs/common/time-range-slider-time-title.js +62 -0
  218. package/dist/cjs/common/time-range-slider.js +143 -0
  219. package/dist/cjs/common/time-slider-marker.js +115 -0
  220. package/dist/cjs/common/timeline-helpers.js +57 -0
  221. package/dist/cjs/common/timeline-slider.js +140 -0
  222. package/dist/cjs/common/tippy-tooltip.js +134 -0
  223. package/dist/cjs/common/toolbar-item.js +81 -0
  224. package/dist/cjs/common/toolbar.js +27 -0
  225. package/dist/cjs/common/vertical-toolbar.js +16 -0
  226. package/dist/cjs/connect/keplergl-connect.js +44 -0
  227. package/dist/cjs/connect/with-local-selector.js +85 -0
  228. package/dist/cjs/container.js +180 -0
  229. package/dist/cjs/context.js +43 -0
  230. package/dist/cjs/dnd-context.js +174 -0
  231. package/dist/cjs/editor/editor.js +218 -0
  232. package/dist/cjs/editor/feature-action-panel.js +169 -0
  233. package/dist/cjs/editor/feature-properties-editor.js +215 -0
  234. package/dist/cjs/editor/filter-feature-badges.js +92 -0
  235. package/dist/cjs/effects/compact-color-picker.js +110 -0
  236. package/dist/cjs/effects/effect-configurator.js +473 -0
  237. package/dist/cjs/effects/effect-list.js +129 -0
  238. package/dist/cjs/effects/effect-manager.js +126 -0
  239. package/dist/cjs/effects/effect-panel-header.js +196 -0
  240. package/dist/cjs/effects/effect-panel.js +86 -0
  241. package/dist/cjs/effects/effect-time-configurator.js +313 -0
  242. package/dist/cjs/effects/effect-time-selector.js +152 -0
  243. package/dist/cjs/effects/effect-time-slider.js +198 -0
  244. package/dist/cjs/effects/effect-type-dropdown-list.js +65 -0
  245. package/dist/cjs/effects/effect-type-list-item.js +98 -0
  246. package/dist/cjs/effects/effect-type-selector.js +76 -0
  247. package/dist/cjs/effects/side-panel-title.js +37 -0
  248. package/dist/cjs/effects/surface-fog-section.js +262 -0
  249. package/dist/cjs/effects/timezone-selector.js +57 -0
  250. package/dist/cjs/filter-animation-controller.js +76 -0
  251. package/dist/cjs/filters/components.js +14 -0
  252. package/dist/cjs/filters/filter-panels/filter-panel-with-field-select.js +77 -0
  253. package/dist/cjs/filters/filter-panels/filter-synced-dataset-panel.js +260 -0
  254. package/dist/cjs/filters/filter-panels/multi-select-filter-panel.js +48 -0
  255. package/dist/cjs/filters/filter-panels/new-filter-panel.js +66 -0
  256. package/dist/cjs/filters/filter-panels/polygon-filter-panel.js +67 -0
  257. package/dist/cjs/filters/filter-panels/range-filter-panel.js +53 -0
  258. package/dist/cjs/filters/filter-panels/single-select-filter-panel.js +48 -0
  259. package/dist/cjs/filters/filter-panels/time-range-filter-panel.js +129 -0
  260. package/dist/cjs/filters/filter-panels/time-synced-field-selector.js +28 -0
  261. package/dist/cjs/filters/filter-panels/types.js +6 -0
  262. package/dist/cjs/filters/index.js +63 -0
  263. package/dist/cjs/filters/multi-select-filter.js +31 -0
  264. package/dist/cjs/filters/polygon-filter.js +76 -0
  265. package/dist/cjs/filters/range-filter.js +35 -0
  266. package/dist/cjs/filters/single-select-filter.js +40 -0
  267. package/dist/cjs/filters/time-range-filter.js +69 -0
  268. package/dist/cjs/filters/time-widget-settings.js +311 -0
  269. package/dist/cjs/filters/time-widget-top.js +80 -0
  270. package/dist/cjs/filters/time-widget.js +376 -0
  271. package/dist/cjs/filters/types.js +6 -0
  272. package/dist/cjs/geocoder/geocoder.js +327 -0
  273. package/dist/cjs/geocoder-panel.js +172 -0
  274. package/dist/cjs/hooks/use-cloud-list-provider.js +46 -0
  275. package/dist/cjs/hooks/use-dnd-effects.js +69 -0
  276. package/dist/cjs/hooks/use-dnd-layers.js +141 -0
  277. package/dist/cjs/hooks/use-feature-flags.js +17 -0
  278. package/dist/cjs/hooks/use-fetch-raster-tile-metadata.js +120 -0
  279. package/dist/cjs/hooks/use-fetch-vector-tile-metadata.js +133 -0
  280. package/dist/cjs/hooks/use-legend-position.js +176 -0
  281. package/dist/cjs/hooks/use-on-click-outside.js +36 -0
  282. package/dist/cjs/index.js +2929 -0
  283. package/dist/cjs/injector.js +151 -0
  284. package/dist/cjs/kepler-gl.js +681 -0
  285. package/dist/cjs/layer-animation-controller.js +53 -0
  286. package/dist/cjs/loading-indicator.js +76 -0
  287. package/dist/cjs/map/annotations/annotation-control.js +55 -0
  288. package/dist/cjs/map/attribution.js +391 -0
  289. package/dist/cjs/map/coordinate-info.js +42 -0
  290. package/dist/cjs/map/effects/effect-control.js +51 -0
  291. package/dist/cjs/map/layer-hover-info.js +318 -0
  292. package/dist/cjs/map/lazy-tippy.js +60 -0
  293. package/dist/cjs/map/locale-panel.js +76 -0
  294. package/dist/cjs/map/map-control-panel.js +140 -0
  295. package/dist/cjs/map/map-control-toolbar.js +18 -0
  296. package/dist/cjs/map/map-control-tooltip.js +34 -0
  297. package/dist/cjs/map/map-control.js +87 -0
  298. package/dist/cjs/map/map-draw-panel.js +150 -0
  299. package/dist/cjs/map/map-legend-panel.js +289 -0
  300. package/dist/cjs/map/map-legend.js +509 -0
  301. package/dist/cjs/map/map-navigation-control.js +159 -0
  302. package/dist/cjs/map/map-popover-content.js +28 -0
  303. package/dist/cjs/map/map-popover.js +189 -0
  304. package/dist/cjs/map/map-scale.js +162 -0
  305. package/dist/cjs/map/split-map-button.js +176 -0
  306. package/dist/cjs/map/theme-toggle-button.js +64 -0
  307. package/dist/cjs/map/toggle-3d-button.js +122 -0
  308. package/dist/cjs/map-container.js +1333 -0
  309. package/dist/cjs/map-view-state-context.js +98 -0
  310. package/dist/cjs/maps-layout.js +102 -0
  311. package/dist/cjs/modal-container.js +457 -0
  312. package/dist/cjs/modals/add-map-style-modal.js +262 -0
  313. package/dist/cjs/modals/cloud-components/cloud-header.js +59 -0
  314. package/dist/cjs/modals/cloud-components/cloud-item.js +107 -0
  315. package/dist/cjs/modals/cloud-components/cloud-item.spec.js +164 -0
  316. package/dist/cjs/modals/cloud-components/cloud-maps.js +48 -0
  317. package/dist/cjs/modals/cloud-components/cloud-maps.spec.js +98 -0
  318. package/dist/cjs/modals/cloud-components/provider-select.js +30 -0
  319. package/dist/cjs/modals/cloud-tile.js +216 -0
  320. package/dist/cjs/modals/data-table-modal.js +227 -0
  321. package/dist/cjs/modals/delete-data-modal.js +41 -0
  322. package/dist/cjs/modals/error-display.js +32 -0
  323. package/dist/cjs/modals/export-data-modal.js +163 -0
  324. package/dist/cjs/modals/export-image-modal.js +188 -0
  325. package/dist/cjs/modals/export-map-modal/components.js +34 -0
  326. package/dist/cjs/modals/export-map-modal/export-html-map.js +128 -0
  327. package/dist/cjs/modals/export-map-modal/export-json-map.js +81 -0
  328. package/dist/cjs/modals/export-map-modal/export-map-modal.js +84 -0
  329. package/dist/cjs/modals/export-video-modal.js +440 -0
  330. package/dist/cjs/modals/export-video-modal.spec.js +732 -0
  331. package/dist/cjs/modals/fog-height-animation.js +97 -0
  332. package/dist/cjs/modals/globe-export-video-container.js +642 -0
  333. package/dist/cjs/modals/globe-export-video-preview.js +166 -0
  334. package/dist/cjs/modals/hubble-utils.js +452 -0
  335. package/dist/cjs/modals/hubble-utils.spec.js +397 -0
  336. package/dist/cjs/modals/image-modal-container.js +57 -0
  337. package/dist/cjs/modals/load-data-modal.js +97 -0
  338. package/dist/cjs/modals/load-storage-map.js +79 -0
  339. package/dist/cjs/modals/load-storage-map.spec.js +216 -0
  340. package/dist/cjs/modals/loading-dialog.js +37 -0
  341. package/dist/cjs/modals/modal-dialog.js +16 -0
  342. package/dist/cjs/modals/modal-tabs.js +74 -0
  343. package/dist/cjs/modals/overwrite-map-modal.js +83 -0
  344. package/dist/cjs/modals/save-map-modal.js +179 -0
  345. package/dist/cjs/modals/save-map-modal.spec.js +195 -0
  346. package/dist/cjs/modals/share-map-modal.js +168 -0
  347. package/dist/cjs/modals/share-map-modal.spec.js +173 -0
  348. package/dist/cjs/modals/status-panel.js +65 -0
  349. package/dist/cjs/modals/swipe-composite-utils.js +126 -0
  350. package/dist/cjs/modals/swipe-composite-utils.spec.js +69 -0
  351. package/dist/cjs/modals/swipe-export-settings.js +372 -0
  352. package/dist/cjs/modals/swipe-export-video-container.js +653 -0
  353. package/dist/cjs/modals/swipe-export-video-preview.js +395 -0
  354. package/dist/cjs/modals/tilesets-modals/common.js +6 -0
  355. package/dist/cjs/modals/tilesets-modals/load-data-footer.js +55 -0
  356. package/dist/cjs/modals/tilesets-modals/load-tileset.js +168 -0
  357. package/dist/cjs/modals/tilesets-modals/tileset-bitmap-form.js +283 -0
  358. package/dist/cjs/modals/tilesets-modals/tileset-icon.js +39 -0
  359. package/dist/cjs/modals/tilesets-modals/tileset-raster-form.js +287 -0
  360. package/dist/cjs/modals/tilesets-modals/tileset-tile3d-form.js +388 -0
  361. package/dist/cjs/modals/tilesets-modals/tileset-vector-form.js +261 -0
  362. package/dist/cjs/modals/tilesets-modals/tileset-wms-form.js +206 -0
  363. package/dist/cjs/notification-panel/notification-item.js +119 -0
  364. package/dist/cjs/notification-panel.js +39 -0
  365. package/dist/cjs/plot-container.js +311 -0
  366. package/dist/cjs/side-panel/add-by-dataset-button.js +128 -0
  367. package/dist/cjs/side-panel/common/dataset-info.js +34 -0
  368. package/dist/cjs/side-panel/common/dataset-tag.js +62 -0
  369. package/dist/cjs/side-panel/common/dataset-title.js +143 -0
  370. package/dist/cjs/side-panel/common/source-data-catalog.js +49 -0
  371. package/dist/cjs/side-panel/common/source-data-selector-content.js +64 -0
  372. package/dist/cjs/side-panel/common/source-data-selector.js +41 -0
  373. package/dist/cjs/side-panel/common/source-selector.js +56 -0
  374. package/dist/cjs/side-panel/common/types.js +6 -0
  375. package/dist/cjs/side-panel/custom-panel.js +39 -0
  376. package/dist/cjs/side-panel/filter-manager.js +202 -0
  377. package/dist/cjs/side-panel/filter-panel/add-filter-button.js +27 -0
  378. package/dist/cjs/side-panel/filter-panel/filter-panel-header.js +67 -0
  379. package/dist/cjs/side-panel/filter-panel/filter-panel.js +92 -0
  380. package/dist/cjs/side-panel/interaction-manager.js +45 -0
  381. package/dist/cjs/side-panel/interaction-panel/brush-config.js +41 -0
  382. package/dist/cjs/side-panel/interaction-panel/geocoder-config.js +45 -0
  383. package/dist/cjs/side-panel/interaction-panel/interaction-panel.js +121 -0
  384. package/dist/cjs/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +164 -0
  385. package/dist/cjs/side-panel/interaction-panel/tooltip-config.js +149 -0
  386. package/dist/cjs/side-panel/layer-manager.js +232 -0
  387. package/dist/cjs/side-panel/layer-panel/add-layer-button.js +27 -0
  388. package/dist/cjs/side-panel/layer-panel/aggr-scale-selector.js +37 -0
  389. package/dist/cjs/side-panel/layer-panel/channel-by-value-selector.js +71 -0
  390. package/dist/cjs/side-panel/layer-panel/color-breaks-panel.js +193 -0
  391. package/dist/cjs/side-panel/layer-panel/color-palette-preset.js +45 -0
  392. package/dist/cjs/side-panel/layer-panel/color-palette.js +74 -0
  393. package/dist/cjs/side-panel/layer-panel/color-range-selector.js +242 -0
  394. package/dist/cjs/side-panel/layer-panel/color-scale-selector.js +295 -0
  395. package/dist/cjs/side-panel/layer-panel/color-selector.js +186 -0
  396. package/dist/cjs/side-panel/layer-panel/column-selector.js +59 -0
  397. package/dist/cjs/side-panel/layer-panel/custom-palette.js +787 -0
  398. package/dist/cjs/side-panel/layer-panel/custom-picker.js +83 -0
  399. package/dist/cjs/side-panel/layer-panel/dataset-layer-group.js +68 -0
  400. package/dist/cjs/side-panel/layer-panel/dataset-layer-section.js +109 -0
  401. package/dist/cjs/side-panel/layer-panel/dataset-section.js +74 -0
  402. package/dist/cjs/side-panel/layer-panel/dimension-scale-selector.js +91 -0
  403. package/dist/cjs/side-panel/layer-panel/how-to-button.js +27 -0
  404. package/dist/cjs/side-panel/layer-panel/layer-color-selector.js +105 -0
  405. package/dist/cjs/side-panel/layer-panel/layer-column-config.js +85 -0
  406. package/dist/cjs/side-panel/layer-panel/layer-column-mode-config.js +192 -0
  407. package/dist/cjs/side-panel/layer-panel/layer-config-group.js +143 -0
  408. package/dist/cjs/side-panel/layer-panel/layer-configurator.js +1116 -0
  409. package/dist/cjs/side-panel/layer-panel/layer-error-message.js +29 -0
  410. package/dist/cjs/side-panel/layer-panel/layer-group-header.js +178 -0
  411. package/dist/cjs/side-panel/layer-panel/layer-list.js +330 -0
  412. package/dist/cjs/side-panel/layer-panel/layer-panel-header.js +311 -0
  413. package/dist/cjs/side-panel/layer-panel/layer-panel.js +171 -0
  414. package/dist/cjs/side-panel/layer-panel/layer-type-dropdown-list.js +77 -0
  415. package/dist/cjs/side-panel/layer-panel/layer-type-list-item.js +71 -0
  416. package/dist/cjs/side-panel/layer-panel/layer-type-selector.js +57 -0
  417. package/dist/cjs/side-panel/layer-panel/raster-tile-colormap-list-item.js +60 -0
  418. package/dist/cjs/side-panel/layer-panel/raster-tile-layer-configurator.js +457 -0
  419. package/dist/cjs/side-panel/layer-panel/scenegraph-model-selector.js +122 -0
  420. package/dist/cjs/side-panel/layer-panel/single-color-palette.js +85 -0
  421. package/dist/cjs/side-panel/layer-panel/text-label-panel.js +173 -0
  422. package/dist/cjs/side-panel/layer-panel/vector-tile-layer-configurator.js +93 -0
  423. package/dist/cjs/side-panel/layer-panel/vis-config-by-field-selector.js +60 -0
  424. package/dist/cjs/side-panel/layer-panel/vis-config-slider.js +167 -0
  425. package/dist/cjs/side-panel/layer-panel/vis-config-switch.js +55 -0
  426. package/dist/cjs/side-panel/map-manager.js +108 -0
  427. package/dist/cjs/side-panel/map-style-panel/globe-config-panel.js +334 -0
  428. package/dist/cjs/side-panel/map-style-panel/map-layer-group-color-picker.js +76 -0
  429. package/dist/cjs/side-panel/map-style-panel/map-layer-group-item.js +94 -0
  430. package/dist/cjs/side-panel/map-style-panel/map-layer-selector.js +74 -0
  431. package/dist/cjs/side-panel/map-style-panel/map-style-selector.js +97 -0
  432. package/dist/cjs/side-panel/panel-header-action.js +73 -0
  433. package/dist/cjs/side-panel/panel-header.js +309 -0
  434. package/dist/cjs/side-panel/panel-tab.js +55 -0
  435. package/dist/cjs/side-panel/panel-title.js +40 -0
  436. package/dist/cjs/side-panel/panel-toggle.js +47 -0
  437. package/dist/cjs/side-panel/panel-view-list-toggle.js +97 -0
  438. package/dist/cjs/side-panel/side-bar.js +126 -0
  439. package/dist/cjs/side-panel.js +235 -0
  440. package/dist/cjs/types.js +6 -0
  441. package/dist/common/data-table/column-statistics-categoric.d.ts +9 -0
  442. package/dist/common/data-table/column-statistics-components.d.ts +31 -0
  443. package/dist/common/data-table/column-statistics-numeric.d.ts +18 -0
  444. package/dist/common/data-table/column-statistics-time.d.ts +19 -0
  445. package/dist/common/data-table/header-cell.d.ts +7 -5
  446. package/dist/common/data-table/index.d.ts +7 -24
  447. package/dist/common/histogram-plot.d.ts +24 -1
  448. package/dist/common/icons/draw-point.d.ts +10 -0
  449. package/dist/common/icons/index.d.ts +2 -0
  450. package/dist/common/icons/line-string.d.ts +10 -0
  451. package/dist/common/toolbar-item.d.ts +2 -0
  452. package/dist/editor/editor.d.ts +1 -0
  453. package/dist/editor/feature-action-panel.d.ts +1 -0
  454. package/dist/editor/feature-properties-editor.d.ts +8 -0
  455. package/dist/editor/filter-feature-badges.d.ts +12 -0
  456. package/dist/esm/annotations/annotation-node.js +138 -0
  457. package/dist/esm/annotations/annotation-overlay.js +161 -0
  458. package/dist/esm/annotations/annotation-panel.js +355 -0
  459. package/dist/esm/annotations/annotation-text.js +142 -0
  460. package/dist/esm/annotations/annotation-utils.js +185 -0
  461. package/dist/esm/annotations/index.js +9 -0
  462. package/dist/esm/annotations/lexical-editor/clickable-link-plugin.js +64 -0
  463. package/dist/esm/annotations/lexical-editor/floating-link-editor.js +186 -0
  464. package/dist/esm/annotations/lexical-editor/index.js +9 -0
  465. package/dist/esm/annotations/lexical-editor/lexical-constants.js +16 -0
  466. package/dist/esm/annotations/lexical-editor/lexical-nodes.js +7 -0
  467. package/dist/esm/annotations/lexical-editor/lexical-rich-text-editor.js +114 -0
  468. package/dist/esm/annotations/lexical-editor/lexical-theme.js +19 -0
  469. package/dist/esm/annotations/lexical-editor/lexical-toolbar.js +285 -0
  470. package/dist/esm/annotations/lexical-editor/lexical-utils.js +37 -0
  471. package/dist/esm/annotations/lexical-editor/use-lexical-toolbar.js +248 -0
  472. package/dist/esm/bottom-widget.js +176 -0
  473. package/dist/esm/common/action-panel.js +126 -0
  474. package/dist/esm/common/animation-control/animation-control.js +95 -0
  475. package/dist/esm/common/animation-control/animation-controller.js +266 -0
  476. package/dist/esm/common/animation-control/animation-speed-slider.js +56 -0
  477. package/dist/esm/common/animation-control/animation-window-control.js +50 -0
  478. package/dist/esm/common/animation-control/export-video-control.js +36 -0
  479. package/dist/esm/common/animation-control/floating-time-display.js +124 -0
  480. package/dist/esm/common/animation-control/play-control.js +43 -0
  481. package/dist/esm/common/animation-control/playback-controls.js +157 -0
  482. package/dist/esm/common/animation-control/reset-control.js +34 -0
  483. package/dist/esm/common/animation-control/speed-control.js +46 -0
  484. package/dist/esm/common/animation-control/window-action-control.js +48 -0
  485. package/dist/esm/common/checkbox.js +94 -0
  486. package/dist/esm/common/color-legend.js +261 -0
  487. package/dist/esm/common/column-stats-chart.js +305 -0
  488. package/dist/esm/common/data-table/button.js +33 -0
  489. package/dist/esm/common/data-table/canvas.js +22 -0
  490. package/dist/esm/common/data-table/cell-size.js +194 -0
  491. package/dist/esm/common/data-table/column-statistics-categoric.js +33 -0
  492. package/dist/esm/common/data-table/column-statistics-components.js +59 -0
  493. package/dist/esm/common/data-table/column-statistics-numeric.js +78 -0
  494. package/dist/esm/common/data-table/column-statistics-time.js +60 -0
  495. package/dist/esm/common/data-table/display-format.js +118 -0
  496. package/dist/esm/common/data-table/grid.js +100 -0
  497. package/dist/esm/common/data-table/header-cell.js +220 -0
  498. package/dist/esm/common/data-table/index.js +536 -0
  499. package/dist/esm/common/data-table/option-dropdown.js +152 -0
  500. package/dist/esm/common/dataset-label.js +22 -0
  501. package/dist/esm/common/dnd-layer-items.js +16 -0
  502. package/dist/esm/common/error-boundary.js +55 -0
  503. package/dist/esm/common/field-selector.js +164 -0
  504. package/dist/esm/common/field-token.js +38 -0
  505. package/dist/esm/common/file-uploader/file-drop.js +170 -0
  506. package/dist/esm/common/file-uploader/file-upload-progress.js +77 -0
  507. package/dist/esm/common/file-uploader/file-upload.js +234 -0
  508. package/dist/esm/common/file-uploader/upload-button.js +51 -0
  509. package/dist/esm/common/flex-container.js +10 -0
  510. package/dist/esm/common/histogram-plot.js +275 -0
  511. package/dist/esm/common/icon-button.js +20 -0
  512. package/dist/esm/common/icons/3d-models/airplane.js +97 -0
  513. package/dist/esm/common/icons/3d-models/bicycle.js +419 -0
  514. package/dist/esm/common/icons/3d-models/boeing.js +112 -0
  515. package/dist/esm/common/icons/3d-models/car.js +103 -0
  516. package/dist/esm/common/icons/3d-models/cargoship.js +239 -0
  517. package/dist/esm/common/icons/3d-models/evtol.js +127 -0
  518. package/dist/esm/common/icons/3d-models/glider.js +55 -0
  519. package/dist/esm/common/icons/3d-models/helicopter.js +103 -0
  520. package/dist/esm/common/icons/3d-models/scooter.js +152 -0
  521. package/dist/esm/common/icons/3d-models/semitruck.js +170 -0
  522. package/dist/esm/common/icons/3d-models/truck.js +115 -0
  523. package/dist/esm/common/icons/add.js +34 -0
  524. package/dist/esm/common/icons/anchor_window.js +36 -0
  525. package/dist/esm/common/icons/annotation-text.js +49 -0
  526. package/dist/esm/common/icons/arrow-down-alt.js +34 -0
  527. package/dist/esm/common/icons/arrow-down-full.js +43 -0
  528. package/dist/esm/common/icons/arrow-down-small.js +47 -0
  529. package/dist/esm/common/icons/arrow-down.js +44 -0
  530. package/dist/esm/common/icons/arrow-left.js +37 -0
  531. package/dist/esm/common/icons/arrow-right.js +34 -0
  532. package/dist/esm/common/icons/arrow-up-alt.js +35 -0
  533. package/dist/esm/common/icons/arrow-up-solid.js +34 -0
  534. package/dist/esm/common/icons/arrow-up.js +34 -0
  535. package/dist/esm/common/icons/base-map.js +49 -0
  536. package/dist/esm/common/icons/base.js +72 -0
  537. package/dist/esm/common/icons/bug.js +64 -0
  538. package/dist/esm/common/icons/calendar.js +42 -0
  539. package/dist/esm/common/icons/cancel.js +34 -0
  540. package/dist/esm/common/icons/checkmark.js +40 -0
  541. package/dist/esm/common/icons/clipboard.js +35 -0
  542. package/dist/esm/common/icons/clock.js +36 -0
  543. package/dist/esm/common/icons/close.js +40 -0
  544. package/dist/esm/common/icons/cloud.js +44 -0
  545. package/dist/esm/common/icons/code-alt.js +37 -0
  546. package/dist/esm/common/icons/copy.js +45 -0
  547. package/dist/esm/common/icons/crosshairs.js +37 -0
  548. package/dist/esm/common/icons/cube-3d.js +48 -0
  549. package/dist/esm/common/icons/cursor-click.js +38 -0
  550. package/dist/esm/common/icons/cursor-point.js +44 -0
  551. package/dist/esm/common/icons/data-table.js +70 -0
  552. package/dist/esm/common/icons/db.js +52 -0
  553. package/dist/esm/common/icons/delete.js +46 -0
  554. package/dist/esm/common/icons/docs.js +50 -0
  555. package/dist/esm/common/icons/docs2.js +44 -0
  556. package/dist/esm/common/icons/drag-n-drop.js +36 -0
  557. package/dist/esm/common/icons/draggable-dots.js +78 -0
  558. package/dist/esm/common/icons/draw-point.js +44 -0
  559. package/dist/esm/common/icons/draw-polygon.js +54 -0
  560. package/dist/esm/common/icons/edit.js +42 -0
  561. package/dist/esm/common/icons/effects/brightness-contrast.js +63 -0
  562. package/dist/esm/common/icons/effects/color-halftone.js +102 -0
  563. package/dist/esm/common/icons/effects/distance-fog.js +72 -0
  564. package/dist/esm/common/icons/effects/dot-screen.js +97 -0
  565. package/dist/esm/common/icons/effects/edge-work.js +56 -0
  566. package/dist/esm/common/icons/effects/hexagonal-pixelate.js +123 -0
  567. package/dist/esm/common/icons/effects/hue-saturation.js +54 -0
  568. package/dist/esm/common/icons/effects/ink.js +53 -0
  569. package/dist/esm/common/icons/effects/light-and-shadow.js +42 -0
  570. package/dist/esm/common/icons/effects/magic-wand.js +54 -0
  571. package/dist/esm/common/icons/effects/magnify.js +61 -0
  572. package/dist/esm/common/icons/effects/noise.js +107 -0
  573. package/dist/esm/common/icons/effects/sepia.js +54 -0
  574. package/dist/esm/common/icons/effects/surface-fog.js +79 -0
  575. package/dist/esm/common/icons/effects/tilt-shift.js +63 -0
  576. package/dist/esm/common/icons/effects/triangle-blur.js +58 -0
  577. package/dist/esm/common/icons/effects/vibrance.js +54 -0
  578. package/dist/esm/common/icons/effects/vignette.js +47 -0
  579. package/dist/esm/common/icons/effects/zoom-blur.js +82 -0
  580. package/dist/esm/common/icons/email.js +38 -0
  581. package/dist/esm/common/icons/expand.js +36 -0
  582. package/dist/esm/common/icons/eye-seen.js +43 -0
  583. package/dist/esm/common/icons/eye-unseen.js +41 -0
  584. package/dist/esm/common/icons/file-type.js +30 -0
  585. package/dist/esm/common/icons/file.js +34 -0
  586. package/dist/esm/common/icons/files.js +37 -0
  587. package/dist/esm/common/icons/filter-funnel.js +44 -0
  588. package/dist/esm/common/icons/folder.js +44 -0
  589. package/dist/esm/common/icons/free-window.js +39 -0
  590. package/dist/esm/common/icons/gear.js +36 -0
  591. package/dist/esm/common/icons/globe.js +47 -0
  592. package/dist/esm/common/icons/hash.js +34 -0
  593. package/dist/esm/common/icons/help.js +44 -0
  594. package/dist/esm/common/icons/histogram.js +37 -0
  595. package/dist/esm/common/icons/horizontal-resize-handle.js +52 -0
  596. package/dist/esm/common/icons/index.js +126 -0
  597. package/dist/esm/common/icons/info.js +47 -0
  598. package/dist/esm/common/icons/layers.js +48 -0
  599. package/dist/esm/common/icons/left-arrow.js +37 -0
  600. package/dist/esm/common/icons/legend.js +62 -0
  601. package/dist/esm/common/icons/line-chart.js +34 -0
  602. package/dist/esm/common/icons/line-string.js +54 -0
  603. package/dist/esm/common/icons/location-marker.js +52 -0
  604. package/dist/esm/common/icons/login.js +37 -0
  605. package/dist/esm/common/icons/logout.js +36 -0
  606. package/dist/esm/common/icons/map-icon.js +40 -0
  607. package/dist/esm/common/icons/map-pin.js +50 -0
  608. package/dist/esm/common/icons/messages.js +48 -0
  609. package/dist/esm/common/icons/minus.js +34 -0
  610. package/dist/esm/common/icons/moon.js +52 -0
  611. package/dist/esm/common/icons/order-by-dataset.js +41 -0
  612. package/dist/esm/common/icons/order-by-list.js +33 -0
  613. package/dist/esm/common/icons/pause.js +54 -0
  614. package/dist/esm/common/icons/picture.js +55 -0
  615. package/dist/esm/common/icons/pin.js +46 -0
  616. package/dist/esm/common/icons/play.js +44 -0
  617. package/dist/esm/common/icons/pointer-click.js +52 -0
  618. package/dist/esm/common/icons/polygon.js +56 -0
  619. package/dist/esm/common/icons/rectangle.js +57 -0
  620. package/dist/esm/common/icons/reduce.js +37 -0
  621. package/dist/esm/common/icons/reset.js +50 -0
  622. package/dist/esm/common/icons/save.js +51 -0
  623. package/dist/esm/common/icons/save2.js +48 -0
  624. package/dist/esm/common/icons/search.js +36 -0
  625. package/dist/esm/common/icons/settings.js +54 -0
  626. package/dist/esm/common/icons/share.js +64 -0
  627. package/dist/esm/common/icons/speed.js +46 -0
  628. package/dist/esm/common/icons/split.js +62 -0
  629. package/dist/esm/common/icons/square-select.js +36 -0
  630. package/dist/esm/common/icons/sun.js +68 -0
  631. package/dist/esm/common/icons/sunrise.js +64 -0
  632. package/dist/esm/common/icons/sunset.js +64 -0
  633. package/dist/esm/common/icons/timeline-marker.js +49 -0
  634. package/dist/esm/common/icons/trash.js +48 -0
  635. package/dist/esm/common/icons/vert-dots.js +72 -0
  636. package/dist/esm/common/icons/vert-three-dots.js +47 -0
  637. package/dist/esm/common/icons/warning-sign.js +54 -0
  638. package/dist/esm/common/icons/warning.js +48 -0
  639. package/dist/esm/common/icons/zoom-in.js +41 -0
  640. package/dist/esm/common/icons/zoom-out.js +41 -0
  641. package/dist/esm/common/image-preview.js +59 -0
  642. package/dist/esm/common/index.js +8 -0
  643. package/dist/esm/common/info-helper.js +56 -0
  644. package/dist/esm/common/item-selector/accessor.js +31 -0
  645. package/dist/esm/common/item-selector/chickleted-input.js +150 -0
  646. package/dist/esm/common/item-selector/dropdown-list.js +251 -0
  647. package/dist/esm/common/item-selector/dropdown-select.js +79 -0
  648. package/dist/esm/common/item-selector/item-selector.js +247 -0
  649. package/dist/esm/common/item-selector/typeahead.js +428 -0
  650. package/dist/esm/common/layout-splitter.js +224 -0
  651. package/dist/esm/common/line-chart.js +279 -0
  652. package/dist/esm/common/link-renderer.js +13 -0
  653. package/dist/esm/common/loading-spinner.js +43 -0
  654. package/dist/esm/common/logo.js +63 -0
  655. package/dist/esm/common/map-layer-selector.js +33 -0
  656. package/dist/esm/common/modal.js +163 -0
  657. package/dist/esm/common/portaled.js +280 -0
  658. package/dist/esm/common/progress-bar.js +43 -0
  659. package/dist/esm/common/radius-legend.js +124 -0
  660. package/dist/esm/common/range-brush.js +258 -0
  661. package/dist/esm/common/range-plot.js +210 -0
  662. package/dist/esm/common/range-slider-timeline-panel.js +35 -0
  663. package/dist/esm/common/range-slider-timeline.js +105 -0
  664. package/dist/esm/common/range-slider.js +364 -0
  665. package/dist/esm/common/slider/mouse-event.js +98 -0
  666. package/dist/esm/common/slider/slider-bar-handle.js +84 -0
  667. package/dist/esm/common/slider/slider-handle.js +130 -0
  668. package/dist/esm/common/slider/slider.js +245 -0
  669. package/dist/esm/common/styled-components.js +441 -0
  670. package/dist/esm/common/switch.js +16 -0
  671. package/dist/esm/common/sync-timeline-control.js +54 -0
  672. package/dist/esm/common/time-range-slider-time-title.js +57 -0
  673. package/dist/esm/common/time-range-slider.js +135 -0
  674. package/dist/esm/common/time-slider-marker.js +105 -0
  675. package/dist/esm/common/timeline-helpers.js +48 -0
  676. package/dist/esm/common/timeline-slider.js +133 -0
  677. package/dist/esm/common/tippy-tooltip.js +127 -0
  678. package/dist/esm/common/toolbar-item.js +76 -0
  679. package/dist/esm/common/toolbar.js +22 -0
  680. package/dist/esm/common/vertical-toolbar.js +11 -0
  681. package/dist/esm/connect/keplergl-connect.js +38 -0
  682. package/dist/esm/connect/with-local-selector.js +78 -0
  683. package/dist/esm/container.js +171 -0
  684. package/dist/esm/context.js +35 -0
  685. package/dist/esm/dnd-context.js +167 -0
  686. package/dist/esm/editor/editor.js +211 -0
  687. package/dist/esm/editor/feature-action-panel.js +161 -0
  688. package/dist/esm/editor/feature-properties-editor.js +208 -0
  689. package/dist/esm/editor/filter-feature-badges.js +85 -0
  690. package/dist/esm/effects/compact-color-picker.js +103 -0
  691. package/dist/esm/effects/effect-configurator.js +465 -0
  692. package/dist/esm/effects/effect-list.js +122 -0
  693. package/dist/esm/effects/effect-manager.js +119 -0
  694. package/dist/esm/effects/effect-panel-header.js +188 -0
  695. package/dist/esm/effects/effect-panel.js +79 -0
  696. package/dist/esm/effects/effect-time-configurator.js +306 -0
  697. package/dist/esm/effects/effect-time-selector.js +145 -0
  698. package/dist/esm/effects/effect-time-slider.js +190 -0
  699. package/dist/esm/effects/effect-type-dropdown-list.js +57 -0
  700. package/dist/esm/effects/effect-type-list-item.js +89 -0
  701. package/dist/esm/effects/effect-type-selector.js +69 -0
  702. package/dist/esm/effects/side-panel-title.js +32 -0
  703. package/dist/esm/effects/surface-fog-section.js +254 -0
  704. package/dist/esm/effects/timezone-selector.js +50 -0
  705. package/dist/esm/filter-animation-controller.js +67 -0
  706. package/dist/esm/filters/components.js +9 -0
  707. package/dist/esm/filters/filter-panels/filter-panel-with-field-select.js +68 -0
  708. package/dist/esm/filters/filter-panels/filter-synced-dataset-panel.js +253 -0
  709. package/dist/esm/filters/filter-panels/multi-select-filter-panel.js +39 -0
  710. package/dist/esm/filters/filter-panels/new-filter-panel.js +56 -0
  711. package/dist/esm/filters/filter-panels/polygon-filter-panel.js +58 -0
  712. package/dist/esm/filters/filter-panels/range-filter-panel.js +44 -0
  713. package/dist/esm/filters/filter-panels/single-select-filter-panel.js +39 -0
  714. package/dist/esm/filters/filter-panels/time-range-filter-panel.js +120 -0
  715. package/dist/esm/filters/filter-panels/time-synced-field-selector.js +23 -0
  716. package/dist/esm/filters/filter-panels/types.js +3 -0
  717. package/dist/esm/filters/index.js +12 -0
  718. package/dist/esm/filters/multi-select-filter.js +24 -0
  719. package/dist/esm/filters/polygon-filter.js +67 -0
  720. package/dist/esm/filters/range-filter.js +28 -0
  721. package/dist/esm/filters/single-select-filter.js +33 -0
  722. package/dist/esm/filters/time-range-filter.js +61 -0
  723. package/dist/esm/filters/time-widget-settings.js +304 -0
  724. package/dist/esm/filters/time-widget-top.js +73 -0
  725. package/dist/esm/filters/time-widget.js +369 -0
  726. package/dist/esm/filters/types.js +3 -0
  727. package/dist/esm/geocoder/geocoder.js +318 -0
  728. package/dist/esm/geocoder-panel.js +164 -0
  729. package/dist/esm/hooks/use-cloud-list-provider.js +37 -0
  730. package/dist/esm/hooks/use-dnd-effects.js +62 -0
  731. package/dist/esm/hooks/use-dnd-layers.js +136 -0
  732. package/dist/esm/hooks/use-feature-flags.js +11 -0
  733. package/dist/esm/hooks/use-fetch-raster-tile-metadata.js +113 -0
  734. package/dist/esm/hooks/use-fetch-vector-tile-metadata.js +128 -0
  735. package/dist/esm/hooks/use-legend-position.js +170 -0
  736. package/dist/esm/hooks/use-on-click-outside.js +29 -0
  737. package/dist/esm/index.js +282 -0
  738. package/dist/esm/injector.js +141 -0
  739. package/dist/esm/kepler-gl.js +668 -0
  740. package/dist/esm/layer-animation-controller.js +44 -0
  741. package/dist/esm/loading-indicator.js +69 -0
  742. package/dist/esm/map/annotations/annotation-control.js +46 -0
  743. package/dist/esm/map/attribution.js +382 -0
  744. package/dist/esm/map/coordinate-info.js +36 -0
  745. package/dist/esm/map/effects/effect-control.js +42 -0
  746. package/dist/esm/map/layer-hover-info.js +312 -0
  747. package/dist/esm/map/lazy-tippy.js +53 -0
  748. package/dist/esm/map/locale-panel.js +67 -0
  749. package/dist/esm/map/map-control-panel.js +133 -0
  750. package/dist/esm/map/map-control-toolbar.js +13 -0
  751. package/dist/esm/map/map-control-tooltip.js +27 -0
  752. package/dist/esm/map/map-control.js +83 -0
  753. package/dist/esm/map/map-draw-panel.js +143 -0
  754. package/dist/esm/map/map-legend-panel.js +282 -0
  755. package/dist/esm/map/map-legend.js +496 -0
  756. package/dist/esm/map/map-navigation-control.js +152 -0
  757. package/dist/esm/map/map-popover-content.js +21 -0
  758. package/dist/esm/map/map-popover.js +181 -0
  759. package/dist/esm/map/map-scale.js +155 -0
  760. package/dist/esm/map/split-map-button.js +167 -0
  761. package/dist/esm/map/theme-toggle-button.js +55 -0
  762. package/dist/esm/map/toggle-3d-button.js +113 -0
  763. package/dist/esm/map-container.js +1303 -0
  764. package/dist/esm/map-view-state-context.js +89 -0
  765. package/dist/esm/maps-layout.js +95 -0
  766. package/dist/esm/modal-container.js +454 -0
  767. package/dist/esm/modals/add-map-style-modal.js +256 -0
  768. package/dist/esm/modals/cloud-components/cloud-header.js +52 -0
  769. package/dist/esm/modals/cloud-components/cloud-item.js +100 -0
  770. package/dist/esm/modals/cloud-components/cloud-item.spec.js +163 -0
  771. package/dist/esm/modals/cloud-components/cloud-maps.js +43 -0
  772. package/dist/esm/modals/cloud-components/cloud-maps.spec.js +94 -0
  773. package/dist/esm/modals/cloud-components/provider-select.js +25 -0
  774. package/dist/esm/modals/cloud-tile.js +209 -0
  775. package/dist/esm/modals/data-table-modal.js +220 -0
  776. package/dist/esm/modals/delete-data-modal.js +36 -0
  777. package/dist/esm/modals/error-display.js +23 -0
  778. package/dist/esm/modals/export-data-modal.js +155 -0
  779. package/dist/esm/modals/export-image-modal.js +181 -0
  780. package/dist/esm/modals/export-map-modal/components.js +29 -0
  781. package/dist/esm/modals/export-map-modal/export-html-map.js +123 -0
  782. package/dist/esm/modals/export-map-modal/export-json-map.js +74 -0
  783. package/dist/esm/modals/export-map-modal/export-map-modal.js +77 -0
  784. package/dist/esm/modals/export-video-modal.js +427 -0
  785. package/dist/esm/modals/export-video-modal.spec.js +731 -0
  786. package/dist/esm/modals/fog-height-animation.js +90 -0
  787. package/dist/esm/modals/globe-export-video-container.js +636 -0
  788. package/dist/esm/modals/globe-export-video-preview.js +159 -0
  789. package/dist/esm/modals/hubble-utils.js +434 -0
  790. package/dist/esm/modals/hubble-utils.spec.js +396 -0
  791. package/dist/esm/modals/image-modal-container.js +48 -0
  792. package/dist/esm/modals/load-data-modal.js +89 -0
  793. package/dist/esm/modals/load-storage-map.js +70 -0
  794. package/dist/esm/modals/load-storage-map.spec.js +212 -0
  795. package/dist/esm/modals/loading-dialog.js +32 -0
  796. package/dist/esm/modals/modal-dialog.js +9 -0
  797. package/dist/esm/modals/modal-tabs.js +67 -0
  798. package/dist/esm/modals/overwrite-map-modal.js +76 -0
  799. package/dist/esm/modals/save-map-modal.js +172 -0
  800. package/dist/esm/modals/save-map-modal.spec.js +196 -0
  801. package/dist/esm/modals/share-map-modal.js +160 -0
  802. package/dist/esm/modals/share-map-modal.spec.js +172 -0
  803. package/dist/esm/modals/status-panel.js +60 -0
  804. package/dist/esm/modals/swipe-composite-utils.js +119 -0
  805. package/dist/esm/modals/swipe-composite-utils.spec.js +67 -0
  806. package/dist/esm/modals/swipe-export-settings.js +366 -0
  807. package/dist/esm/modals/swipe-export-video-container.js +646 -0
  808. package/dist/esm/modals/swipe-export-video-preview.js +388 -0
  809. package/dist/esm/modals/tilesets-modals/common.js +3 -0
  810. package/dist/esm/modals/tilesets-modals/load-data-footer.js +48 -0
  811. package/dist/esm/modals/tilesets-modals/load-tileset.js +161 -0
  812. package/dist/esm/modals/tilesets-modals/tileset-bitmap-form.js +275 -0
  813. package/dist/esm/modals/tilesets-modals/tileset-icon.js +34 -0
  814. package/dist/esm/modals/tilesets-modals/tileset-raster-form.js +279 -0
  815. package/dist/esm/modals/tilesets-modals/tileset-tile3d-form.js +380 -0
  816. package/dist/esm/modals/tilesets-modals/tileset-vector-form.js +253 -0
  817. package/dist/esm/modals/tilesets-modals/tileset-wms-form.js +199 -0
  818. package/dist/esm/notification-panel/notification-item.js +112 -0
  819. package/dist/esm/notification-panel.js +34 -0
  820. package/dist/esm/plot-container.js +304 -0
  821. package/dist/esm/side-panel/add-by-dataset-button.js +121 -0
  822. package/dist/esm/side-panel/common/dataset-info.js +29 -0
  823. package/dist/esm/side-panel/common/dataset-tag.js +57 -0
  824. package/dist/esm/side-panel/common/dataset-title.js +136 -0
  825. package/dist/esm/side-panel/common/source-data-catalog.js +44 -0
  826. package/dist/esm/side-panel/common/source-data-selector-content.js +55 -0
  827. package/dist/esm/side-panel/common/source-data-selector.js +34 -0
  828. package/dist/esm/side-panel/common/source-selector.js +49 -0
  829. package/dist/esm/side-panel/common/types.js +3 -0
  830. package/dist/esm/side-panel/custom-panel.js +32 -0
  831. package/dist/esm/side-panel/filter-manager.js +195 -0
  832. package/dist/esm/side-panel/filter-panel/add-filter-button.js +20 -0
  833. package/dist/esm/side-panel/filter-panel/filter-panel-header.js +60 -0
  834. package/dist/esm/side-panel/filter-panel/filter-panel.js +85 -0
  835. package/dist/esm/side-panel/interaction-manager.js +38 -0
  836. package/dist/esm/side-panel/interaction-panel/brush-config.js +36 -0
  837. package/dist/esm/side-panel/interaction-panel/geocoder-config.js +40 -0
  838. package/dist/esm/side-panel/interaction-panel/interaction-panel.js +114 -0
  839. package/dist/esm/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +157 -0
  840. package/dist/esm/side-panel/interaction-panel/tooltip-config.js +142 -0
  841. package/dist/esm/side-panel/layer-manager.js +225 -0
  842. package/dist/esm/side-panel/layer-panel/add-layer-button.js +20 -0
  843. package/dist/esm/side-panel/layer-panel/aggr-scale-selector.js +29 -0
  844. package/dist/esm/side-panel/layer-panel/channel-by-value-selector.js +61 -0
  845. package/dist/esm/side-panel/layer-panel/color-breaks-panel.js +186 -0
  846. package/dist/esm/side-panel/layer-panel/color-palette-preset.js +40 -0
  847. package/dist/esm/side-panel/layer-panel/color-palette.js +67 -0
  848. package/dist/esm/side-panel/layer-panel/color-range-selector.js +236 -0
  849. package/dist/esm/side-panel/layer-panel/color-scale-selector.js +288 -0
  850. package/dist/esm/side-panel/layer-panel/color-selector.js +179 -0
  851. package/dist/esm/side-panel/layer-panel/column-selector.js +52 -0
  852. package/dist/esm/side-panel/layer-panel/custom-palette.js +783 -0
  853. package/dist/esm/side-panel/layer-panel/custom-picker.js +77 -0
  854. package/dist/esm/side-panel/layer-panel/dataset-layer-group.js +59 -0
  855. package/dist/esm/side-panel/layer-panel/dataset-layer-section.js +102 -0
  856. package/dist/esm/side-panel/layer-panel/dataset-section.js +68 -0
  857. package/dist/esm/side-panel/layer-panel/dimension-scale-selector.js +82 -0
  858. package/dist/esm/side-panel/layer-panel/how-to-button.js +22 -0
  859. package/dist/esm/side-panel/layer-panel/layer-color-selector.js +94 -0
  860. package/dist/esm/side-panel/layer-panel/layer-column-config.js +76 -0
  861. package/dist/esm/side-panel/layer-panel/layer-column-mode-config.js +184 -0
  862. package/dist/esm/side-panel/layer-panel/layer-config-group.js +134 -0
  863. package/dist/esm/side-panel/layer-panel/layer-configurator.js +1107 -0
  864. package/dist/esm/side-panel/layer-panel/layer-error-message.js +24 -0
  865. package/dist/esm/side-panel/layer-panel/layer-group-header.js +171 -0
  866. package/dist/esm/side-panel/layer-panel/layer-list.js +323 -0
  867. package/dist/esm/side-panel/layer-panel/layer-panel-header.js +302 -0
  868. package/dist/esm/side-panel/layer-panel/layer-panel.js +164 -0
  869. package/dist/esm/side-panel/layer-panel/layer-type-dropdown-list.js +69 -0
  870. package/dist/esm/side-panel/layer-panel/layer-type-list-item.js +63 -0
  871. package/dist/esm/side-panel/layer-panel/layer-type-selector.js +50 -0
  872. package/dist/esm/side-panel/layer-panel/raster-tile-colormap-list-item.js +55 -0
  873. package/dist/esm/side-panel/layer-panel/raster-tile-layer-configurator.js +450 -0
  874. package/dist/esm/side-panel/layer-panel/scenegraph-model-selector.js +115 -0
  875. package/dist/esm/side-panel/layer-panel/single-color-palette.js +78 -0
  876. package/dist/esm/side-panel/layer-panel/text-label-panel.js +166 -0
  877. package/dist/esm/side-panel/layer-panel/vector-tile-layer-configurator.js +86 -0
  878. package/dist/esm/side-panel/layer-panel/vis-config-by-field-selector.js +53 -0
  879. package/dist/esm/side-panel/layer-panel/vis-config-slider.js +160 -0
  880. package/dist/esm/side-panel/layer-panel/vis-config-switch.js +50 -0
  881. package/dist/esm/side-panel/map-manager.js +99 -0
  882. package/dist/esm/side-panel/map-style-panel/globe-config-panel.js +327 -0
  883. package/dist/esm/side-panel/map-style-panel/map-layer-group-color-picker.js +69 -0
  884. package/dist/esm/side-panel/map-style-panel/map-layer-group-item.js +87 -0
  885. package/dist/esm/side-panel/map-style-panel/map-layer-selector.js +69 -0
  886. package/dist/esm/side-panel/map-style-panel/map-style-selector.js +92 -0
  887. package/dist/esm/side-panel/panel-header-action.js +68 -0
  888. package/dist/esm/side-panel/panel-header.js +303 -0
  889. package/dist/esm/side-panel/panel-tab.js +49 -0
  890. package/dist/esm/side-panel/panel-title.js +35 -0
  891. package/dist/esm/side-panel/panel-toggle.js +40 -0
  892. package/dist/esm/side-panel/panel-view-list-toggle.js +90 -0
  893. package/dist/esm/side-panel/side-bar.js +119 -0
  894. package/dist/esm/side-panel.js +227 -0
  895. package/dist/esm/types.js +3 -0
  896. package/dist/index.d.ts +9 -1
  897. package/dist/kepler-gl.d.ts +3 -0
  898. package/dist/map/map-control.d.ts +6 -2
  899. package/dist/map/map-draw-panel.d.ts +1 -0
  900. package/dist/map/theme-toggle-button.d.ts +18 -0
  901. package/dist/map-container.d.ts +1 -0
  902. package/dist/modals/cloud-components/cloud-item.d.ts +2 -1
  903. package/dist/modals/data-table-modal.d.ts +1 -0
  904. package/dist/modals/globe-export-video-container.d.ts +2 -0
  905. package/dist/modals/globe-export-video-preview.d.ts +3 -0
  906. package/dist/modals/hubble-utils.d.ts +18 -1
  907. package/dist/modals/swipe-composite-utils.d.ts +1 -1
  908. package/dist/modals/swipe-composite-utils.spec.d.ts +1 -0
  909. package/package.json +39 -24
  910. package/dist/annotations/annotation-node.js +0 -145
  911. package/dist/annotations/annotation-overlay.js +0 -168
  912. package/dist/annotations/annotation-panel.js +0 -361
  913. package/dist/annotations/annotation-text.js +0 -149
  914. package/dist/annotations/annotation-utils.js +0 -197
  915. package/dist/annotations/index.js +0 -53
  916. package/dist/annotations/lexical-editor/clickable-link-plugin.js +0 -71
  917. package/dist/annotations/lexical-editor/floating-link-editor.js +0 -193
  918. package/dist/annotations/lexical-editor/index.js +0 -78
  919. package/dist/annotations/lexical-editor/lexical-constants.js +0 -22
  920. package/dist/annotations/lexical-editor/lexical-nodes.js +0 -13
  921. package/dist/annotations/lexical-editor/lexical-rich-text-editor.js +0 -121
  922. package/dist/annotations/lexical-editor/lexical-theme.js +0 -25
  923. package/dist/annotations/lexical-editor/lexical-toolbar.js +0 -292
  924. package/dist/annotations/lexical-editor/lexical-utils.js +0 -45
  925. package/dist/annotations/lexical-editor/use-lexical-toolbar.js +0 -253
  926. package/dist/bottom-widget.js +0 -183
  927. package/dist/common/action-panel.js +0 -133
  928. package/dist/common/animation-control/animation-control.js +0 -100
  929. package/dist/common/animation-control/animation-controller.js +0 -271
  930. package/dist/common/animation-control/animation-speed-slider.js +0 -63
  931. package/dist/common/animation-control/animation-window-control.js +0 -59
  932. package/dist/common/animation-control/export-video-control.js +0 -43
  933. package/dist/common/animation-control/floating-time-display.js +0 -131
  934. package/dist/common/animation-control/play-control.js +0 -50
  935. package/dist/common/animation-control/playback-controls.js +0 -164
  936. package/dist/common/animation-control/reset-control.js +0 -41
  937. package/dist/common/animation-control/speed-control.js +0 -51
  938. package/dist/common/animation-control/window-action-control.js +0 -57
  939. package/dist/common/checkbox.js +0 -101
  940. package/dist/common/color-legend.js +0 -272
  941. package/dist/common/column-stats-chart.js +0 -312
  942. package/dist/common/data-table/button.js +0 -38
  943. package/dist/common/data-table/canvas.js +0 -26
  944. package/dist/common/data-table/cell-size.js +0 -183
  945. package/dist/common/data-table/display-format.js +0 -125
  946. package/dist/common/data-table/grid.js +0 -106
  947. package/dist/common/data-table/header-cell.js +0 -148
  948. package/dist/common/data-table/index.js +0 -470
  949. package/dist/common/data-table/option-dropdown.js +0 -159
  950. package/dist/common/dataset-label.js +0 -27
  951. package/dist/common/dnd-layer-items.js +0 -22
  952. package/dist/common/error-boundary.js +0 -59
  953. package/dist/common/field-selector.js +0 -172
  954. package/dist/common/field-token.js +0 -43
  955. package/dist/common/file-uploader/file-drop.js +0 -180
  956. package/dist/common/file-uploader/file-upload-progress.js +0 -84
  957. package/dist/common/file-uploader/file-upload.js +0 -241
  958. package/dist/common/file-uploader/upload-button.js +0 -58
  959. package/dist/common/flex-container.js +0 -15
  960. package/dist/common/histogram-plot.js +0 -282
  961. package/dist/common/icon-button.js +0 -25
  962. package/dist/common/icons/3d-models/airplane.js +0 -103
  963. package/dist/common/icons/3d-models/bicycle.js +0 -425
  964. package/dist/common/icons/3d-models/boeing.js +0 -118
  965. package/dist/common/icons/3d-models/car.js +0 -109
  966. package/dist/common/icons/3d-models/cargoship.js +0 -245
  967. package/dist/common/icons/3d-models/evtol.js +0 -133
  968. package/dist/common/icons/3d-models/glider.js +0 -61
  969. package/dist/common/icons/3d-models/helicopter.js +0 -109
  970. package/dist/common/icons/3d-models/scooter.js +0 -158
  971. package/dist/common/icons/3d-models/semitruck.js +0 -176
  972. package/dist/common/icons/3d-models/truck.js +0 -121
  973. package/dist/common/icons/add.js +0 -40
  974. package/dist/common/icons/anchor_window.js +0 -41
  975. package/dist/common/icons/annotation-text.js +0 -55
  976. package/dist/common/icons/arrow-down-alt.js +0 -40
  977. package/dist/common/icons/arrow-down-full.js +0 -49
  978. package/dist/common/icons/arrow-down-small.js +0 -53
  979. package/dist/common/icons/arrow-down-solid.d.ts +0 -9
  980. package/dist/common/icons/arrow-down-solid.js +0 -40
  981. package/dist/common/icons/arrow-down.js +0 -50
  982. package/dist/common/icons/arrow-left.js +0 -43
  983. package/dist/common/icons/arrow-right.js +0 -40
  984. package/dist/common/icons/arrow-up-alt.js +0 -41
  985. package/dist/common/icons/arrow-up-solid.js +0 -40
  986. package/dist/common/icons/arrow-up.js +0 -40
  987. package/dist/common/icons/base-map.js +0 -56
  988. package/dist/common/icons/base.js +0 -78
  989. package/dist/common/icons/bug.js +0 -70
  990. package/dist/common/icons/calendar.js +0 -48
  991. package/dist/common/icons/cancel.js +0 -40
  992. package/dist/common/icons/checkmark.js +0 -46
  993. package/dist/common/icons/clipboard.js +0 -41
  994. package/dist/common/icons/clock.js +0 -42
  995. package/dist/common/icons/close.js +0 -46
  996. package/dist/common/icons/cloud.js +0 -50
  997. package/dist/common/icons/code-alt.js +0 -43
  998. package/dist/common/icons/copy.js +0 -51
  999. package/dist/common/icons/crosshairs.js +0 -43
  1000. package/dist/common/icons/cube-3d.js +0 -54
  1001. package/dist/common/icons/cursor-click.js +0 -44
  1002. package/dist/common/icons/cursor-point.js +0 -50
  1003. package/dist/common/icons/data-table.js +0 -76
  1004. package/dist/common/icons/db.js +0 -58
  1005. package/dist/common/icons/delete.js +0 -52
  1006. package/dist/common/icons/docs.js +0 -56
  1007. package/dist/common/icons/docs2.js +0 -50
  1008. package/dist/common/icons/drag-n-drop.js +0 -42
  1009. package/dist/common/icons/draggable-dots.js +0 -84
  1010. package/dist/common/icons/draw-polygon.js +0 -60
  1011. package/dist/common/icons/edit.js +0 -48
  1012. package/dist/common/icons/effects/brightness-contrast.js +0 -69
  1013. package/dist/common/icons/effects/color-halftone.js +0 -108
  1014. package/dist/common/icons/effects/distance-fog.js +0 -78
  1015. package/dist/common/icons/effects/dot-screen.js +0 -103
  1016. package/dist/common/icons/effects/edge-work.js +0 -62
  1017. package/dist/common/icons/effects/hexagonal-pixelate.js +0 -129
  1018. package/dist/common/icons/effects/hue-saturation.js +0 -60
  1019. package/dist/common/icons/effects/ink.js +0 -59
  1020. package/dist/common/icons/effects/light-and-shadow.js +0 -48
  1021. package/dist/common/icons/effects/magic-wand.js +0 -60
  1022. package/dist/common/icons/effects/magnify.js +0 -67
  1023. package/dist/common/icons/effects/noise.js +0 -113
  1024. package/dist/common/icons/effects/sepia.js +0 -60
  1025. package/dist/common/icons/effects/surface-fog.js +0 -85
  1026. package/dist/common/icons/effects/tilt-shift.js +0 -69
  1027. package/dist/common/icons/effects/triangle-blur.js +0 -64
  1028. package/dist/common/icons/effects/vibrance.js +0 -60
  1029. package/dist/common/icons/effects/vignette.js +0 -53
  1030. package/dist/common/icons/effects/zoom-blur.js +0 -88
  1031. package/dist/common/icons/email.js +0 -44
  1032. package/dist/common/icons/expand.js +0 -42
  1033. package/dist/common/icons/eye-seen.js +0 -49
  1034. package/dist/common/icons/eye-unseen.js +0 -47
  1035. package/dist/common/icons/file-type.js +0 -35
  1036. package/dist/common/icons/file.js +0 -40
  1037. package/dist/common/icons/files.js +0 -41
  1038. package/dist/common/icons/filter-funnel.js +0 -50
  1039. package/dist/common/icons/folder.js +0 -50
  1040. package/dist/common/icons/free-window.js +0 -44
  1041. package/dist/common/icons/gear.js +0 -42
  1042. package/dist/common/icons/globe.js +0 -53
  1043. package/dist/common/icons/hash.js +0 -40
  1044. package/dist/common/icons/help.js +0 -50
  1045. package/dist/common/icons/histogram.js +0 -41
  1046. package/dist/common/icons/horizontal-resize-handle.js +0 -58
  1047. package/dist/common/icons/index.js +0 -824
  1048. package/dist/common/icons/info.js +0 -53
  1049. package/dist/common/icons/layers.js +0 -54
  1050. package/dist/common/icons/left-arrow.js +0 -43
  1051. package/dist/common/icons/legend.js +0 -68
  1052. package/dist/common/icons/line-chart.js +0 -40
  1053. package/dist/common/icons/location-marker.js +0 -58
  1054. package/dist/common/icons/login.js +0 -43
  1055. package/dist/common/icons/logout.js +0 -42
  1056. package/dist/common/icons/map-icon.js +0 -47
  1057. package/dist/common/icons/map-pin.js +0 -56
  1058. package/dist/common/icons/messages.js +0 -54
  1059. package/dist/common/icons/minus.js +0 -40
  1060. package/dist/common/icons/moon.js +0 -58
  1061. package/dist/common/icons/order-by-dataset.js +0 -46
  1062. package/dist/common/icons/order-by-list.js +0 -38
  1063. package/dist/common/icons/pause.js +0 -60
  1064. package/dist/common/icons/picture.js +0 -59
  1065. package/dist/common/icons/pin.js +0 -52
  1066. package/dist/common/icons/play.js +0 -50
  1067. package/dist/common/icons/pointer-click.js +0 -58
  1068. package/dist/common/icons/polygon.js +0 -62
  1069. package/dist/common/icons/rectangle.js +0 -63
  1070. package/dist/common/icons/reduce.js +0 -43
  1071. package/dist/common/icons/reset.js +0 -56
  1072. package/dist/common/icons/save.js +0 -57
  1073. package/dist/common/icons/save2.js +0 -54
  1074. package/dist/common/icons/search.js +0 -42
  1075. package/dist/common/icons/settings.js +0 -60
  1076. package/dist/common/icons/share.js +0 -70
  1077. package/dist/common/icons/speed.js +0 -52
  1078. package/dist/common/icons/split.js +0 -68
  1079. package/dist/common/icons/square-select.js +0 -42
  1080. package/dist/common/icons/sun.js +0 -74
  1081. package/dist/common/icons/sunrise.js +0 -70
  1082. package/dist/common/icons/sunset.js +0 -70
  1083. package/dist/common/icons/timeline-marker.js +0 -55
  1084. package/dist/common/icons/trash.js +0 -54
  1085. package/dist/common/icons/vert-dots.js +0 -78
  1086. package/dist/common/icons/vert-three-dots.js +0 -53
  1087. package/dist/common/icons/warning-sign.js +0 -60
  1088. package/dist/common/icons/warning.js +0 -54
  1089. package/dist/common/icons/zoom-in.js +0 -47
  1090. package/dist/common/icons/zoom-out.js +0 -47
  1091. package/dist/common/image-preview.js +0 -64
  1092. package/dist/common/index.js +0 -282
  1093. package/dist/common/info-helper.js +0 -61
  1094. package/dist/common/item-selector/accessor.js +0 -37
  1095. package/dist/common/item-selector/chickleted-input.js +0 -157
  1096. package/dist/common/item-selector/dropdown-list.js +0 -257
  1097. package/dist/common/item-selector/dropdown-select.js +0 -84
  1098. package/dist/common/item-selector/item-selector.js +0 -254
  1099. package/dist/common/item-selector/typeahead.js +0 -435
  1100. package/dist/common/layout-splitter.js +0 -230
  1101. package/dist/common/line-chart.js +0 -286
  1102. package/dist/common/link-renderer.js +0 -20
  1103. package/dist/common/loading-spinner.js +0 -50
  1104. package/dist/common/logo.js +0 -68
  1105. package/dist/common/map-layer-selector.js +0 -38
  1106. package/dist/common/modal.js +0 -170
  1107. package/dist/common/portaled.js +0 -287
  1108. package/dist/common/progress-bar.js +0 -47
  1109. package/dist/common/radius-legend.js +0 -131
  1110. package/dist/common/range-brush.js +0 -265
  1111. package/dist/common/range-plot.js +0 -217
  1112. package/dist/common/range-slider-timeline-panel.js +0 -42
  1113. package/dist/common/range-slider-timeline.js +0 -112
  1114. package/dist/common/range-slider.js +0 -371
  1115. package/dist/common/slider/mouse-event.js +0 -104
  1116. package/dist/common/slider/slider-bar-handle.js +0 -90
  1117. package/dist/common/slider/slider-handle.js +0 -136
  1118. package/dist/common/slider/slider.js +0 -251
  1119. package/dist/common/styled-components.js +0 -447
  1120. package/dist/common/switch.js +0 -21
  1121. package/dist/common/sync-timeline-control.js +0 -61
  1122. package/dist/common/time-range-slider-time-title.js +0 -62
  1123. package/dist/common/time-range-slider.js +0 -143
  1124. package/dist/common/time-slider-marker.js +0 -115
  1125. package/dist/common/timeline-helpers.js +0 -57
  1126. package/dist/common/timeline-slider.js +0 -140
  1127. package/dist/common/tippy-tooltip.js +0 -134
  1128. package/dist/common/toolbar-item.js +0 -60
  1129. package/dist/common/toolbar.js +0 -27
  1130. package/dist/common/vertical-toolbar.js +0 -16
  1131. package/dist/connect/keplergl-connect.js +0 -44
  1132. package/dist/connect/with-local-selector.js +0 -85
  1133. package/dist/container.js +0 -180
  1134. package/dist/context.js +0 -43
  1135. package/dist/dnd-context.js +0 -174
  1136. package/dist/editor/editor.js +0 -200
  1137. package/dist/editor/feature-action-panel.js +0 -147
  1138. package/dist/effects/compact-color-picker.js +0 -110
  1139. package/dist/effects/effect-configurator.js +0 -473
  1140. package/dist/effects/effect-list.js +0 -129
  1141. package/dist/effects/effect-manager.js +0 -126
  1142. package/dist/effects/effect-panel-header.js +0 -196
  1143. package/dist/effects/effect-panel.js +0 -86
  1144. package/dist/effects/effect-time-configurator.js +0 -313
  1145. package/dist/effects/effect-time-selector.js +0 -152
  1146. package/dist/effects/effect-time-slider.js +0 -198
  1147. package/dist/effects/effect-type-dropdown-list.js +0 -65
  1148. package/dist/effects/effect-type-list-item.js +0 -98
  1149. package/dist/effects/effect-type-selector.js +0 -76
  1150. package/dist/effects/side-panel-title.js +0 -37
  1151. package/dist/effects/surface-fog-section.js +0 -262
  1152. package/dist/effects/timezone-selector.js +0 -57
  1153. package/dist/filter-animation-controller.js +0 -76
  1154. package/dist/filters/components.js +0 -14
  1155. package/dist/filters/filter-panels/filter-panel-with-field-select.js +0 -77
  1156. package/dist/filters/filter-panels/filter-synced-dataset-panel.js +0 -260
  1157. package/dist/filters/filter-panels/multi-select-filter-panel.js +0 -48
  1158. package/dist/filters/filter-panels/new-filter-panel.js +0 -66
  1159. package/dist/filters/filter-panels/polygon-filter-panel.js +0 -67
  1160. package/dist/filters/filter-panels/range-filter-panel.js +0 -53
  1161. package/dist/filters/filter-panels/single-select-filter-panel.js +0 -48
  1162. package/dist/filters/filter-panels/time-range-filter-panel.js +0 -129
  1163. package/dist/filters/filter-panels/time-synced-field-selector.js +0 -28
  1164. package/dist/filters/filter-panels/types.js +0 -6
  1165. package/dist/filters/index.js +0 -63
  1166. package/dist/filters/multi-select-filter.js +0 -31
  1167. package/dist/filters/polygon-filter.js +0 -76
  1168. package/dist/filters/range-filter.js +0 -35
  1169. package/dist/filters/single-select-filter.js +0 -40
  1170. package/dist/filters/time-range-filter.js +0 -69
  1171. package/dist/filters/time-widget-settings.js +0 -311
  1172. package/dist/filters/time-widget-top.js +0 -80
  1173. package/dist/filters/time-widget.js +0 -376
  1174. package/dist/filters/types.js +0 -6
  1175. package/dist/geocoder/geocoder.js +0 -327
  1176. package/dist/geocoder-panel.js +0 -172
  1177. package/dist/hooks/use-cloud-list-provider.js +0 -46
  1178. package/dist/hooks/use-dnd-effects.js +0 -69
  1179. package/dist/hooks/use-dnd-layers.js +0 -141
  1180. package/dist/hooks/use-feature-flags.js +0 -17
  1181. package/dist/hooks/use-fetch-raster-tile-metadata.js +0 -120
  1182. package/dist/hooks/use-fetch-vector-tile-metadata.js +0 -133
  1183. package/dist/hooks/use-legend-position.js +0 -176
  1184. package/dist/hooks/use-on-click-outside.js +0 -36
  1185. package/dist/index.js +0 -2890
  1186. package/dist/injector.js +0 -151
  1187. package/dist/kepler-gl.js +0 -664
  1188. package/dist/layer-animation-controller.js +0 -53
  1189. package/dist/loading-indicator.js +0 -76
  1190. package/dist/map/annotations/annotation-control.js +0 -55
  1191. package/dist/map/attribution.js +0 -391
  1192. package/dist/map/coordinate-info.js +0 -42
  1193. package/dist/map/effects/effect-control.js +0 -51
  1194. package/dist/map/layer-hover-info.js +0 -318
  1195. package/dist/map/lazy-tippy.js +0 -60
  1196. package/dist/map/locale-panel.js +0 -76
  1197. package/dist/map/map-control-panel.js +0 -140
  1198. package/dist/map/map-control-toolbar.js +0 -18
  1199. package/dist/map/map-control-tooltip.js +0 -34
  1200. package/dist/map/map-control.js +0 -81
  1201. package/dist/map/map-draw-panel.js +0 -100
  1202. package/dist/map/map-legend-panel.js +0 -289
  1203. package/dist/map/map-legend.js +0 -509
  1204. package/dist/map/map-navigation-control.js +0 -159
  1205. package/dist/map/map-popover-content.js +0 -28
  1206. package/dist/map/map-popover.js +0 -189
  1207. package/dist/map/map-scale.js +0 -162
  1208. package/dist/map/split-map-button.js +0 -176
  1209. package/dist/map/toggle-3d-button.js +0 -122
  1210. package/dist/map-container.js +0 -1322
  1211. package/dist/map-view-state-context.js +0 -98
  1212. package/dist/maps-layout.js +0 -102
  1213. package/dist/modal-container.js +0 -456
  1214. package/dist/modals/add-map-style-modal.js +0 -262
  1215. package/dist/modals/cloud-components/cloud-header.js +0 -59
  1216. package/dist/modals/cloud-components/cloud-item.js +0 -59
  1217. package/dist/modals/cloud-components/cloud-item.spec.js +0 -92
  1218. package/dist/modals/cloud-components/cloud-maps.js +0 -47
  1219. package/dist/modals/cloud-components/cloud-maps.spec.js +0 -98
  1220. package/dist/modals/cloud-components/provider-loading.d.ts +0 -2
  1221. package/dist/modals/cloud-components/provider-loading.js +0 -20
  1222. package/dist/modals/cloud-components/provider-select.js +0 -30
  1223. package/dist/modals/cloud-tile.js +0 -202
  1224. package/dist/modals/data-table-modal.js +0 -215
  1225. package/dist/modals/delete-data-modal.js +0 -41
  1226. package/dist/modals/error-display.js +0 -32
  1227. package/dist/modals/export-data-modal.js +0 -163
  1228. package/dist/modals/export-image-modal.js +0 -188
  1229. package/dist/modals/export-map-modal/components.js +0 -34
  1230. package/dist/modals/export-map-modal/export-html-map.js +0 -128
  1231. package/dist/modals/export-map-modal/export-json-map.js +0 -81
  1232. package/dist/modals/export-map-modal/export-map-modal.js +0 -84
  1233. package/dist/modals/export-video-modal.js +0 -413
  1234. package/dist/modals/export-video-modal.spec.js +0 -686
  1235. package/dist/modals/fog-height-animation.js +0 -97
  1236. package/dist/modals/globe-export-video-container.js +0 -626
  1237. package/dist/modals/globe-export-video-preview.js +0 -152
  1238. package/dist/modals/hubble-utils.js +0 -422
  1239. package/dist/modals/hubble-utils.spec.js +0 -397
  1240. package/dist/modals/image-modal-container.js +0 -57
  1241. package/dist/modals/load-data-modal.js +0 -97
  1242. package/dist/modals/load-storage-map.js +0 -79
  1243. package/dist/modals/load-storage-map.spec.js +0 -216
  1244. package/dist/modals/loading-dialog.js +0 -37
  1245. package/dist/modals/modal-dialog.js +0 -16
  1246. package/dist/modals/modal-tabs.js +0 -74
  1247. package/dist/modals/overwrite-map-modal.js +0 -83
  1248. package/dist/modals/save-map-modal.js +0 -179
  1249. package/dist/modals/save-map-modal.spec.js +0 -195
  1250. package/dist/modals/share-map-modal.js +0 -168
  1251. package/dist/modals/share-map-modal.spec.js +0 -173
  1252. package/dist/modals/status-panel.js +0 -65
  1253. package/dist/modals/storage-map-viewer.d.ts +0 -21
  1254. package/dist/modals/storage-map-viewer.js +0 -98
  1255. package/dist/modals/swipe-composite-utils.js +0 -118
  1256. package/dist/modals/swipe-export-settings.js +0 -372
  1257. package/dist/modals/swipe-export-video-container.js +0 -653
  1258. package/dist/modals/swipe-export-video-preview.js +0 -401
  1259. package/dist/modals/tilesets-modals/common.js +0 -6
  1260. package/dist/modals/tilesets-modals/load-data-footer.js +0 -55
  1261. package/dist/modals/tilesets-modals/load-tileset.js +0 -168
  1262. package/dist/modals/tilesets-modals/tileset-bitmap-form.js +0 -283
  1263. package/dist/modals/tilesets-modals/tileset-icon.js +0 -39
  1264. package/dist/modals/tilesets-modals/tileset-raster-form.js +0 -287
  1265. package/dist/modals/tilesets-modals/tileset-tile3d-form.js +0 -388
  1266. package/dist/modals/tilesets-modals/tileset-vector-form.js +0 -261
  1267. package/dist/modals/tilesets-modals/tileset-wms-form.js +0 -206
  1268. package/dist/notification-panel/notification-item.js +0 -119
  1269. package/dist/notification-panel.js +0 -39
  1270. package/dist/plot-container.js +0 -311
  1271. package/dist/side-panel/add-by-dataset-button.js +0 -128
  1272. package/dist/side-panel/cloud-storage-dropdown.d.ts +0 -6
  1273. package/dist/side-panel/cloud-storage-dropdown.js +0 -40
  1274. package/dist/side-panel/common/dataset-info.js +0 -34
  1275. package/dist/side-panel/common/dataset-tag.js +0 -62
  1276. package/dist/side-panel/common/dataset-title.js +0 -143
  1277. package/dist/side-panel/common/source-data-catalog.js +0 -49
  1278. package/dist/side-panel/common/source-data-selector-content.js +0 -64
  1279. package/dist/side-panel/common/source-data-selector.js +0 -41
  1280. package/dist/side-panel/common/source-selector.js +0 -56
  1281. package/dist/side-panel/common/types.js +0 -6
  1282. package/dist/side-panel/custom-panel.js +0 -39
  1283. package/dist/side-panel/filter-manager.js +0 -202
  1284. package/dist/side-panel/filter-panel/add-filter-button.js +0 -27
  1285. package/dist/side-panel/filter-panel/filter-panel-header.js +0 -67
  1286. package/dist/side-panel/filter-panel/filter-panel.js +0 -92
  1287. package/dist/side-panel/interaction-manager.js +0 -45
  1288. package/dist/side-panel/interaction-panel/brush-config.js +0 -41
  1289. package/dist/side-panel/interaction-panel/geocoder-config.js +0 -45
  1290. package/dist/side-panel/interaction-panel/interaction-panel.js +0 -121
  1291. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +0 -164
  1292. package/dist/side-panel/interaction-panel/tooltip-config.js +0 -149
  1293. package/dist/side-panel/layer-manager.js +0 -224
  1294. package/dist/side-panel/layer-panel/add-layer-button.js +0 -27
  1295. package/dist/side-panel/layer-panel/aggr-scale-selector.js +0 -37
  1296. package/dist/side-panel/layer-panel/channel-by-value-selector.js +0 -71
  1297. package/dist/side-panel/layer-panel/color-breaks-panel.js +0 -193
  1298. package/dist/side-panel/layer-panel/color-palette-preset.js +0 -45
  1299. package/dist/side-panel/layer-panel/color-palette.js +0 -74
  1300. package/dist/side-panel/layer-panel/color-range-selector.js +0 -242
  1301. package/dist/side-panel/layer-panel/color-scale-selector.js +0 -295
  1302. package/dist/side-panel/layer-panel/color-selector.js +0 -186
  1303. package/dist/side-panel/layer-panel/column-selector.js +0 -59
  1304. package/dist/side-panel/layer-panel/custom-palette.js +0 -787
  1305. package/dist/side-panel/layer-panel/custom-picker.js +0 -83
  1306. package/dist/side-panel/layer-panel/dataset-layer-group.js +0 -68
  1307. package/dist/side-panel/layer-panel/dataset-layer-section.js +0 -101
  1308. package/dist/side-panel/layer-panel/dataset-section.js +0 -74
  1309. package/dist/side-panel/layer-panel/dimension-scale-selector.js +0 -91
  1310. package/dist/side-panel/layer-panel/how-to-button.js +0 -27
  1311. package/dist/side-panel/layer-panel/layer-color-selector.js +0 -105
  1312. package/dist/side-panel/layer-panel/layer-column-config.js +0 -85
  1313. package/dist/side-panel/layer-panel/layer-column-mode-config.js +0 -192
  1314. package/dist/side-panel/layer-panel/layer-config-group.js +0 -143
  1315. package/dist/side-panel/layer-panel/layer-configurator.js +0 -1073
  1316. package/dist/side-panel/layer-panel/layer-error-message.js +0 -29
  1317. package/dist/side-panel/layer-panel/layer-group-header.js +0 -178
  1318. package/dist/side-panel/layer-panel/layer-list.js +0 -330
  1319. package/dist/side-panel/layer-panel/layer-panel-header.js +0 -311
  1320. package/dist/side-panel/layer-panel/layer-panel.js +0 -171
  1321. package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +0 -77
  1322. package/dist/side-panel/layer-panel/layer-type-list-item.js +0 -71
  1323. package/dist/side-panel/layer-panel/layer-type-selector.js +0 -57
  1324. package/dist/side-panel/layer-panel/raster-tile-colormap-list-item.js +0 -60
  1325. package/dist/side-panel/layer-panel/raster-tile-layer-configurator.js +0 -457
  1326. package/dist/side-panel/layer-panel/scenegraph-model-selector.js +0 -122
  1327. package/dist/side-panel/layer-panel/single-color-palette.js +0 -85
  1328. package/dist/side-panel/layer-panel/text-label-panel.js +0 -173
  1329. package/dist/side-panel/layer-panel/vector-tile-layer-configurator.js +0 -93
  1330. package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +0 -60
  1331. package/dist/side-panel/layer-panel/vis-config-slider.js +0 -167
  1332. package/dist/side-panel/layer-panel/vis-config-switch.js +0 -55
  1333. package/dist/side-panel/map-manager.js +0 -108
  1334. package/dist/side-panel/map-style-panel/globe-config-panel.js +0 -269
  1335. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +0 -76
  1336. package/dist/side-panel/map-style-panel/map-layer-group-item.js +0 -94
  1337. package/dist/side-panel/map-style-panel/map-layer-selector.js +0 -74
  1338. package/dist/side-panel/map-style-panel/map-style-selector.js +0 -97
  1339. package/dist/side-panel/panel-header-action.js +0 -73
  1340. package/dist/side-panel/panel-header.js +0 -309
  1341. package/dist/side-panel/panel-tab.js +0 -55
  1342. package/dist/side-panel/panel-title.js +0 -40
  1343. package/dist/side-panel/panel-toggle.js +0 -47
  1344. package/dist/side-panel/panel-view-list-toggle.js +0 -97
  1345. package/dist/side-panel/side-bar.js +0 -126
  1346. package/dist/side-panel.js +0 -235
  1347. package/dist/types.js +0 -6
@@ -0,0 +1,330 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+ var _react = _interopRequireWildcard(require("react"));
14
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
15
+ var _classnames3 = _interopRequireDefault(require("classnames"));
16
+ var _core = require("@dnd-kit/core");
17
+ var _sortable = require("@dnd-kit/sortable");
18
+ var _utilities = require("@dnd-kit/utilities");
19
+ var _layerPanel = _interopRequireDefault(require("./layer-panel"));
20
+ var _layerGroupHeader = _interopRequireDefault(require("./layer-group-header"));
21
+ var _reducers = require("@kepler.gl/reducers");
22
+ var _constants = require("@kepler.gl/constants");
23
+ var _dndLayerItems = require("../../common/dnd-layer-items");
24
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject0; // SPDX-License-Identifier: MIT
25
+ // Copyright contributors to the kepler.gl project
26
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
27
+ var Container = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n gap: 8px;\n"])));
28
+ var animateLayoutChanges = function animateLayoutChanges(args) {
29
+ var isSorting = args.isSorting,
30
+ wasDragging = args.wasDragging;
31
+ if (isSorting || wasDragging) {
32
+ return false;
33
+ }
34
+ return (0, _sortable.defaultAnimateLayoutChanges)(args);
35
+ };
36
+ var EndPlaceholder = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n height: 4px;\n"])));
37
+ var SortableStyledItem = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n transition: ", ";\n transform: ", ";\n &.sorting {\n opacity: 0.3;\n pointer-events: none;\n }\n &.sorting-layers .layer-panel__header {\n background-color: ", ";\n font-family: ", ";\n font-weight: ", ";\n font-size: ", ";\n line-height: ", ";\n *,\n *:before,\n *:after {\n box-sizing: border-box;\n }\n .layer__drag-handle {\n opacity: 1;\n color: ", ";\n }\n }\n"])), function (props) {
38
+ return props.$transition;
39
+ }, function (props) {
40
+ return props.$transform;
41
+ }, function (props) {
42
+ return props.theme.panelBackgroundHover;
43
+ }, function (props) {
44
+ return props.theme.fontFamily;
45
+ }, function (props) {
46
+ return props.theme.fontWeight;
47
+ }, function (props) {
48
+ return props.theme.fontSize;
49
+ }, function (props) {
50
+ return props.theme.lineHeight;
51
+ }, function (props) {
52
+ return props.theme.textColorHl;
53
+ });
54
+ var CollapsibleGroupContent = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n gap: 0;\n padding: 4px 0;\n min-height: 32px;\n background-color: ", ";\n transition: background-color 0.15s ease;\n"])), function (props) {
55
+ return props.$isOver ? props.theme.panelBackgroundHover : 'transparent';
56
+ });
57
+ var CollapsedDropZone = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 4px;\n background-color: ", ";\n transition: background-color 0.15s ease, min-height 0.15s ease;\n ", "\n"])), function (props) {
58
+ return props.$isOver ? props.theme.activeColor : 'transparent';
59
+ }, function (props) {
60
+ return props.$isOver && 'min-height: 24px;';
61
+ });
62
+ var EmptyLayerGroup = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n font-size: 11px;\n align-items: center;\n justify-content: center;\n min-height: 28px;\n border: 1px dashed ", ";\n border-radius: 4px;\n margin-top: 4px;\n color: ", ";\n"])), function (props) {
63
+ return props.theme.labelColor;
64
+ }, function (props) {
65
+ return props.theme.subtextColor;
66
+ });
67
+ var TREE_TILE_WIDTH = 10;
68
+ var TREE_TILE_BORDER_WIDTH = 1;
69
+ var StyledColumn = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n border-left: ", "px dashed ", ";\n"])), function (props) {
70
+ return props.$isLast ? 0 : 1;
71
+ }, function (props) {
72
+ return props.theme.labelColor;
73
+ });
74
+ var TreeTile = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", "px;\n border-bottom: 1px dashed ", ";\n height: ", "px;\n margin-top: 2px;\n border-left: ", "px dashed ", ";\n"])), TREE_TILE_WIDTH, function (props) {
75
+ return props.theme.labelColor;
76
+ }, function (props) {
77
+ return (props.theme.layerPanelHeaderHeight || 32) / 2;
78
+ }, function (props) {
79
+ return props.$isLast ? 1 : 0;
80
+ }, function (props) {
81
+ return props.theme.labelColor;
82
+ });
83
+ var NestedLayerContainer = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n"])));
84
+ var NestedLayerContent = _styledComponents["default"].div(_templateObject0 || (_templateObject0 = (0, _taggedTemplateLiteral2["default"])(["\n width: calc(100% - ", "px);\n padding-top: 8px;\n"])), TREE_TILE_WIDTH + TREE_TILE_BORDER_WIDTH);
85
+ LayerListFactory.deps = [_layerPanel["default"], _layerGroupHeader["default"]];
86
+ function LayerListFactory(LayerPanel, LayerGroupHeader) {
87
+ var NestedLayer = function NestedLayer(_ref) {
88
+ var children = _ref.children,
89
+ isLast = _ref.isLast;
90
+ return /*#__PURE__*/_react["default"].createElement(NestedLayerContainer, null, /*#__PURE__*/_react["default"].createElement(StyledColumn, {
91
+ $isLast: isLast
92
+ }, /*#__PURE__*/_react["default"].createElement(TreeTile, {
93
+ $isLast: isLast
94
+ })), /*#__PURE__*/_react["default"].createElement(NestedLayerContent, null, children));
95
+ };
96
+ var SortableLayerItem = function SortableLayerItem(_ref2) {
97
+ var layer = _ref2.layer,
98
+ idx = _ref2.idx,
99
+ panelProps = _ref2.panelProps,
100
+ layerActions = _ref2.layerActions,
101
+ disabled = _ref2.disabled,
102
+ parent = _ref2.parent;
103
+ var _useSortable = (0, _sortable.useSortable)({
104
+ id: layer.id,
105
+ data: {
106
+ type: _dndLayerItems.SORTABLE_LAYER_TYPE,
107
+ parent: parent
108
+ },
109
+ disabled: disabled,
110
+ animateLayoutChanges: animateLayoutChanges
111
+ }),
112
+ attributes = _useSortable.attributes,
113
+ listeners = _useSortable.listeners,
114
+ setNodeRef = _useSortable.setNodeRef,
115
+ isDragging = _useSortable.isDragging,
116
+ transform = _useSortable.transform,
117
+ transition = _useSortable.transition;
118
+ return /*#__PURE__*/_react["default"].createElement(SortableStyledItem, (0, _extends2["default"])({
119
+ ref: setNodeRef,
120
+ className: (0, _classnames3["default"])((0, _defineProperty2["default"])({}, _constants.dataTestIds.sortableLayerItem, !disabled), (0, _defineProperty2["default"])({}, _constants.dataTestIds.staticLayerItem, disabled), {
121
+ sorting: isDragging
122
+ }),
123
+ "data-testid": disabled ? _constants.dataTestIds.staticLayerItem : _constants.dataTestIds.sortableLayerItem,
124
+ $transform: _utilities.CSS.Transform.toString(transform),
125
+ $transition: transition
126
+ }, attributes), /*#__PURE__*/_react["default"].createElement(LayerPanel, (0, _extends2["default"])({}, panelProps, layerActions, {
127
+ key: layer.id,
128
+ idx: idx,
129
+ layer: layer,
130
+ listeners: listeners,
131
+ isDraggable: !disabled
132
+ })));
133
+ };
134
+ var SortableGroupItem = function SortableGroupItem(_ref3) {
135
+ var layerGroup = _ref3.layerGroup,
136
+ layers = _ref3.layers,
137
+ panelProps = _ref3.panelProps,
138
+ layerActions = _ref3.layerActions,
139
+ disabled = _ref3.disabled;
140
+ var _useSortable2 = (0, _sortable.useSortable)({
141
+ id: layerGroup.id,
142
+ data: {
143
+ type: _dndLayerItems.SORTABLE_LAYER_GROUP_TYPE
144
+ },
145
+ disabled: disabled,
146
+ animateLayoutChanges: animateLayoutChanges
147
+ }),
148
+ attributes = _useSortable2.attributes,
149
+ isDragging = _useSortable2.isDragging,
150
+ listeners = _useSortable2.listeners,
151
+ setNodeRef = _useSortable2.setNodeRef,
152
+ transform = _useSortable2.transform,
153
+ transition = _useSortable2.transition;
154
+ var layerEntriesToShow = (0, _reducers.buildLayerOrderHierarchy)(layerGroup.layerOrder, layers);
155
+ var dndItems = layerEntriesToShow.map(function (entry) {
156
+ var _entry$1$id;
157
+ return (_entry$1$id = entry[1].id) !== null && _entry$1$id !== void 0 ? _entry$1$id : entry[1];
158
+ });
159
+ var _useState = (0, _react.useState)(true),
160
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
161
+ isSectionOpen = _useState2[0],
162
+ setIsSectionOpen = _useState2[1];
163
+ var onToggle = (0, _react.useCallback)(function () {
164
+ return setIsSectionOpen(function (prev) {
165
+ return !prev;
166
+ });
167
+ }, []);
168
+ var style = (0, _react.useMemo)(function () {
169
+ return {
170
+ transform: _utilities.CSS.Transform.toString(transform),
171
+ transition: transition,
172
+ opacity: isDragging ? 0.5 : 1
173
+ };
174
+ }, [isDragging, transform, transition]);
175
+ var _useDroppable = (0, _core.useDroppable)({
176
+ id: "droppable-layer-group-content-".concat(layerGroup.id),
177
+ data: {
178
+ type: _dndLayerItems.SORTABLE_LAYER_GROUP_DROPPABLE_TYPE,
179
+ parent: layerGroup
180
+ }
181
+ }),
182
+ isOver = _useDroppable.isOver,
183
+ droppableSetNodeRef = _useDroppable.setNodeRef;
184
+ var isOpen = (0, _react.useMemo)(function () {
185
+ return isSectionOpen && !isDragging;
186
+ }, [isSectionOpen, isDragging]);
187
+ return /*#__PURE__*/_react["default"].createElement("div", {
188
+ style: style
189
+ }, /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
190
+ ref: setNodeRef
191
+ }, attributes), /*#__PURE__*/_react["default"].createElement(LayerGroupHeader, {
192
+ layerGroup: layerGroup,
193
+ onToggleLayerGroupContent: onToggle,
194
+ isLayerGroupContentOpen: isSectionOpen,
195
+ listeners: listeners
196
+ })), isOpen ? /*#__PURE__*/_react["default"].createElement(CollapsibleGroupContent, {
197
+ ref: droppableSetNodeRef,
198
+ $isOver: isOver
199
+ }, layerEntriesToShow.length ? /*#__PURE__*/_react["default"].createElement(_sortable.SortableContext, {
200
+ id: "sortable-group-".concat(layerGroup.id),
201
+ items: dndItems,
202
+ strategy: _sortable.verticalListSortingStrategy
203
+ }, layerEntriesToShow.map(function (_ref4, index) {
204
+ var _ref5 = (0, _slicedToArray2["default"])(_ref4, 2),
205
+ type = _ref5[0],
206
+ nestedEntry = _ref5[1];
207
+ return type === 'layer' ? /*#__PURE__*/_react["default"].createElement(NestedLayer, {
208
+ key: nestedEntry.id,
209
+ isLast: index === layerEntriesToShow.length - 1
210
+ }, /*#__PURE__*/_react["default"].createElement(SortableLayerItem, {
211
+ layer: nestedEntry,
212
+ idx: layers.findIndex(function (l) {
213
+ return (l === null || l === void 0 ? void 0 : l.id) === nestedEntry.id;
214
+ }),
215
+ panelProps: panelProps,
216
+ layerActions: layerActions,
217
+ disabled: disabled,
218
+ parent: layerGroup
219
+ })) : null;
220
+ })) : /*#__PURE__*/_react["default"].createElement(EmptyLayerGroup, null, "Drag layer here")) : /*#__PURE__*/_react["default"].createElement(CollapsedDropZone, {
221
+ ref: droppableSetNodeRef,
222
+ $isOver: isOver
223
+ }));
224
+ };
225
+ var SortableEndPlaceholder = function SortableEndPlaceholder() {
226
+ var _useSortable3 = (0, _sortable.useSortable)({
227
+ id: _dndLayerItems.SORTABLE_LAYER_END_PLACEHOLDER,
228
+ data: {
229
+ type: _dndLayerItems.SORTABLE_LAYER_END_TYPE
230
+ },
231
+ animateLayoutChanges: animateLayoutChanges
232
+ }),
233
+ setNodeRef = _useSortable3.setNodeRef;
234
+ return /*#__PURE__*/_react["default"].createElement(EndPlaceholder, {
235
+ ref: setNodeRef
236
+ });
237
+ };
238
+ var LayerList = function LayerList(props) {
239
+ var layers = props.layers,
240
+ datasets = props.datasets,
241
+ layerOrder = props.layerOrder,
242
+ uiStateActions = props.uiStateActions,
243
+ visStateActions = props.visStateActions,
244
+ mapStateActions = props.mapStateActions,
245
+ mapState = props.mapState,
246
+ layerClasses = props.layerClasses,
247
+ _props$isSortable = props.isSortable,
248
+ isSortable = _props$isSortable === void 0 ? true : _props$isSortable,
249
+ splitMap = props.splitMap;
250
+ var openModal = uiStateActions.toggleModal;
251
+ var layerEntriesToShow = (0, _react.useMemo)(function () {
252
+ return (0, _reducers.buildLayerOrderHierarchy)(layerOrder, layers);
253
+ }, [layerOrder, layers]);
254
+ var sidePanelDndItems = (0, _react.useMemo)(function () {
255
+ var items = layerEntriesToShow.map(function (entry) {
256
+ var _entry$1$id2;
257
+ return (_entry$1$id2 = entry[1].id) !== null && _entry$1$id2 !== void 0 ? _entry$1$id2 : entry[1];
258
+ });
259
+ items.push(_dndLayerItems.SORTABLE_LAYER_END_PLACEHOLDER);
260
+ return items;
261
+ }, [layerEntriesToShow]);
262
+ var layerTypeOptions = (0, _react.useMemo)(function () {
263
+ return Object.keys(layerClasses).map(function (key) {
264
+ var layer = new layerClasses[key]({
265
+ dataId: ''
266
+ });
267
+ return {
268
+ id: key,
269
+ label: layer.name,
270
+ icon: layer.layerIcon,
271
+ requireData: layer.requireData
272
+ };
273
+ });
274
+ }, [layerClasses]);
275
+ var layerActions = (0, _react.useMemo)(function () {
276
+ return {
277
+ layerColorUIChange: visStateActions.layerColorUIChange,
278
+ layerConfigChange: visStateActions.layerConfigChange,
279
+ layerVisualChannelConfigChange: visStateActions.layerVisualChannelConfigChange,
280
+ layerToggleVisibility: visStateActions.layerToggleVisibility,
281
+ layerTypeChange: visStateActions.layerTypeChange,
282
+ layerVisConfigChange: visStateActions.layerVisConfigChange,
283
+ layerTextLabelChange: visStateActions.layerTextLabelChange,
284
+ removeLayer: visStateActions.removeLayer,
285
+ zoomToLayer: mapStateActions.fitBounds,
286
+ duplicateLayer: visStateActions.duplicateLayer,
287
+ layerSetIsValid: visStateActions.layerSetIsValid
288
+ };
289
+ }, [visStateActions, mapStateActions]);
290
+ var panelProps = (0, _react.useMemo)(function () {
291
+ return {
292
+ datasets: datasets,
293
+ openModal: openModal,
294
+ layerTypeOptions: layerTypeOptions,
295
+ splitMap: splitMap,
296
+ mapState: mapState
297
+ };
298
+ }, [datasets, openModal, layerTypeOptions, splitMap, mapState]);
299
+ return /*#__PURE__*/_react["default"].createElement(Container, null, /*#__PURE__*/_react["default"].createElement(_sortable.SortableContext, {
300
+ id: _dndLayerItems.SORTABLE_SIDE_PANEL_TYPE,
301
+ items: sidePanelDndItems,
302
+ strategy: _sortable.verticalListSortingStrategy,
303
+ disabled: !isSortable
304
+ }, layerEntriesToShow.map(function (_ref6) {
305
+ var _ref7 = (0, _slicedToArray2["default"])(_ref6, 2),
306
+ type = _ref7[0],
307
+ item = _ref7[1];
308
+ return type === 'layer' ? /*#__PURE__*/_react["default"].createElement(SortableLayerItem, {
309
+ key: item.id,
310
+ layer: item,
311
+ idx: layers.findIndex(function (l) {
312
+ return (l === null || l === void 0 ? void 0 : l.id) === item.id;
313
+ }),
314
+ panelProps: panelProps,
315
+ layerActions: layerActions,
316
+ disabled: !isSortable
317
+ }) : /*#__PURE__*/_react["default"].createElement(SortableGroupItem, {
318
+ key: item.id,
319
+ layerGroup: item,
320
+ layers: layers,
321
+ panelProps: panelProps,
322
+ layerActions: layerActions,
323
+ disabled: !isSortable
324
+ });
325
+ }), /*#__PURE__*/_react["default"].createElement(SortableEndPlaceholder, null)));
326
+ };
327
+ return LayerList;
328
+ }
329
+ var _default = exports["default"] = LayerListFactory;
330
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY2xhc3NuYW1lczMiLCJfY29yZSIsIl9zb3J0YWJsZSIsIl91dGlsaXRpZXMiLCJfbGF5ZXJQYW5lbCIsIl9sYXllckdyb3VwSGVhZGVyIiwiX3JlZHVjZXJzIiwiX2NvbnN0YW50cyIsIl9kbmRMYXllckl0ZW1zIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJfdGVtcGxhdGVPYmplY3Q3IiwiX3RlbXBsYXRlT2JqZWN0OCIsIl90ZW1wbGF0ZU9iamVjdDkiLCJfdGVtcGxhdGVPYmplY3QwIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsImFuaW1hdGVMYXlvdXRDaGFuZ2VzIiwiYXJncyIsImlzU29ydGluZyIsIndhc0RyYWdnaW5nIiwiZGVmYXVsdEFuaW1hdGVMYXlvdXRDaGFuZ2VzIiwiRW5kUGxhY2Vob2xkZXIiLCJTb3J0YWJsZVN0eWxlZEl0ZW0iLCJwcm9wcyIsIiR0cmFuc2l0aW9uIiwiJHRyYW5zZm9ybSIsInRoZW1lIiwicGFuZWxCYWNrZ3JvdW5kSG92ZXIiLCJmb250RmFtaWx5IiwiZm9udFdlaWdodCIsImZvbnRTaXplIiwibGluZUhlaWdodCIsInRleHRDb2xvckhsIiwiQ29sbGFwc2libGVHcm91cENvbnRlbnQiLCIkaXNPdmVyIiwiQ29sbGFwc2VkRHJvcFpvbmUiLCJhY3RpdmVDb2xvciIsIkVtcHR5TGF5ZXJHcm91cCIsImxhYmVsQ29sb3IiLCJzdWJ0ZXh0Q29sb3IiLCJUUkVFX1RJTEVfV0lEVEgiLCJUUkVFX1RJTEVfQk9SREVSX1dJRFRIIiwiU3R5bGVkQ29sdW1uIiwiJGlzTGFzdCIsIlRyZWVUaWxlIiwibGF5ZXJQYW5lbEhlYWRlckhlaWdodCIsIk5lc3RlZExheWVyQ29udGFpbmVyIiwiTmVzdGVkTGF5ZXJDb250ZW50IiwiTGF5ZXJMaXN0RmFjdG9yeSIsImRlcHMiLCJMYXllclBhbmVsRmFjdG9yeSIsIkxheWVyR3JvdXBIZWFkZXJGYWN0b3J5IiwiTGF5ZXJQYW5lbCIsIkxheWVyR3JvdXBIZWFkZXIiLCJOZXN0ZWRMYXllciIsIl9yZWYiLCJjaGlsZHJlbiIsImlzTGFzdCIsImNyZWF0ZUVsZW1lbnQiLCJTb3J0YWJsZUxheWVySXRlbSIsIl9yZWYyIiwibGF5ZXIiLCJpZHgiLCJwYW5lbFByb3BzIiwibGF5ZXJBY3Rpb25zIiwiZGlzYWJsZWQiLCJwYXJlbnQiLCJfdXNlU29ydGFibGUiLCJ1c2VTb3J0YWJsZSIsImlkIiwiZGF0YSIsInR5cGUiLCJTT1JUQUJMRV9MQVlFUl9UWVBFIiwiYXR0cmlidXRlcyIsImxpc3RlbmVycyIsInNldE5vZGVSZWYiLCJpc0RyYWdnaW5nIiwidHJhbnNmb3JtIiwidHJhbnNpdGlvbiIsIl9leHRlbmRzMiIsInJlZiIsImNsYXNzTmFtZSIsImNsYXNzbmFtZXMiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGF0YVRlc3RJZHMiLCJzb3J0YWJsZUxheWVySXRlbSIsInN0YXRpY0xheWVySXRlbSIsInNvcnRpbmciLCJDU1MiLCJUcmFuc2Zvcm0iLCJ0b1N0cmluZyIsImtleSIsImlzRHJhZ2dhYmxlIiwiU29ydGFibGVHcm91cEl0ZW0iLCJfcmVmMyIsImxheWVyR3JvdXAiLCJsYXllcnMiLCJfdXNlU29ydGFibGUyIiwiU09SVEFCTEVfTEFZRVJfR1JPVVBfVFlQRSIsImxheWVyRW50cmllc1RvU2hvdyIsImJ1aWxkTGF5ZXJPcmRlckhpZXJhcmNoeSIsImxheWVyT3JkZXIiLCJkbmRJdGVtcyIsIm1hcCIsImVudHJ5IiwiX2VudHJ5JDEkaWQiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJpc1NlY3Rpb25PcGVuIiwic2V0SXNTZWN0aW9uT3BlbiIsIm9uVG9nZ2xlIiwidXNlQ2FsbGJhY2siLCJwcmV2Iiwic3R5bGUiLCJ1c2VNZW1vIiwib3BhY2l0eSIsIl91c2VEcm9wcGFibGUiLCJ1c2VEcm9wcGFibGUiLCJjb25jYXQiLCJTT1JUQUJMRV9MQVlFUl9HUk9VUF9EUk9QUEFCTEVfVFlQRSIsImlzT3ZlciIsImRyb3BwYWJsZVNldE5vZGVSZWYiLCJpc09wZW4iLCJvblRvZ2dsZUxheWVyR3JvdXBDb250ZW50IiwiaXNMYXllckdyb3VwQ29udGVudE9wZW4iLCJsZW5ndGgiLCJTb3J0YWJsZUNvbnRleHQiLCJpdGVtcyIsInN0cmF0ZWd5IiwidmVydGljYWxMaXN0U29ydGluZ1N0cmF0ZWd5IiwiX3JlZjQiLCJpbmRleCIsIl9yZWY1IiwibmVzdGVkRW50cnkiLCJmaW5kSW5kZXgiLCJsIiwiU29ydGFibGVFbmRQbGFjZWhvbGRlciIsIl91c2VTb3J0YWJsZTMiLCJTT1JUQUJMRV9MQVlFUl9FTkRfUExBQ0VIT0xERVIiLCJTT1JUQUJMRV9MQVlFUl9FTkRfVFlQRSIsIkxheWVyTGlzdCIsImRhdGFzZXRzIiwidWlTdGF0ZUFjdGlvbnMiLCJ2aXNTdGF0ZUFjdGlvbnMiLCJtYXBTdGF0ZUFjdGlvbnMiLCJtYXBTdGF0ZSIsImxheWVyQ2xhc3NlcyIsIl9wcm9wcyRpc1NvcnRhYmxlIiwiaXNTb3J0YWJsZSIsInNwbGl0TWFwIiwib3Blbk1vZGFsIiwidG9nZ2xlTW9kYWwiLCJzaWRlUGFuZWxEbmRJdGVtcyIsIl9lbnRyeSQxJGlkMiIsInB1c2giLCJsYXllclR5cGVPcHRpb25zIiwia2V5cyIsImRhdGFJZCIsImxhYmVsIiwibmFtZSIsImljb24iLCJsYXllckljb24iLCJyZXF1aXJlRGF0YSIsImxheWVyQ29sb3JVSUNoYW5nZSIsImxheWVyQ29uZmlnQ2hhbmdlIiwibGF5ZXJWaXN1YWxDaGFubmVsQ29uZmlnQ2hhbmdlIiwibGF5ZXJUb2dnbGVWaXNpYmlsaXR5IiwibGF5ZXJUeXBlQ2hhbmdlIiwibGF5ZXJWaXNDb25maWdDaGFuZ2UiLCJsYXllclRleHRMYWJlbENoYW5nZSIsInJlbW92ZUxheWVyIiwiem9vbVRvTGF5ZXIiLCJmaXRCb3VuZHMiLCJkdXBsaWNhdGVMYXllciIsImxheWVyU2V0SXNWYWxpZCIsIlNPUlRBQkxFX1NJREVfUEFORUxfVFlQRSIsIl9yZWY2IiwiX3JlZjciLCJpdGVtIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvbGF5ZXItbGlzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlTWVtbywgdXNlQ2FsbGJhY2ssIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuXG5pbXBvcnQge0xheWVyLCBMYXllckNsYXNzZXNUeXBlfSBmcm9tICdAa2VwbGVyLmdsL2xheWVycyc7XG5pbXBvcnQge0RhdGFzZXRzfSBmcm9tICdAa2VwbGVyLmdsL3RhYmxlJztcbmltcG9ydCB7VUlTdGF0ZUFjdGlvbnMsIFZpc1N0YXRlQWN0aW9ucywgTWFwU3RhdGVBY3Rpb25zfSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuaW1wb3J0IHtMYXllck9yZGVyR3JvdXAsIExheWVyT3JkZXIsIExheWVyT3JkZXJIaWVyYXJjaHksIE1hcFN0YXRlfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuaW1wb3J0IHt1c2VEcm9wcGFibGV9IGZyb20gJ0BkbmQta2l0L2NvcmUnO1xuaW1wb3J0IHtcbiAgdXNlU29ydGFibGUsXG4gIFNvcnRhYmxlQ29udGV4dCxcbiAgdmVydGljYWxMaXN0U29ydGluZ1N0cmF0ZWd5LFxuICBkZWZhdWx0QW5pbWF0ZUxheW91dENoYW5nZXNcbn0gZnJvbSAnQGRuZC1raXQvc29ydGFibGUnO1xuaW1wb3J0IHtDU1N9IGZyb20gJ0BkbmQta2l0L3V0aWxpdGllcyc7XG5pbXBvcnQgTGF5ZXJQYW5lbEZhY3RvcnkgZnJvbSAnLi9sYXllci1wYW5lbCc7XG5pbXBvcnQgTGF5ZXJHcm91cEhlYWRlckZhY3RvcnkgZnJvbSAnLi9sYXllci1ncm91cC1oZWFkZXInO1xuaW1wb3J0IHtidWlsZExheWVyT3JkZXJIaWVyYXJjaHl9IGZyb20gJ0BrZXBsZXIuZ2wvcmVkdWNlcnMnO1xuaW1wb3J0IHtkYXRhVGVzdElkc30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtTcGxpdE1hcH0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge1xuICBTT1JUQUJMRV9MQVlFUl9UWVBFLFxuICBTT1JUQUJMRV9TSURFX1BBTkVMX1RZUEUsXG4gIFNPUlRBQkxFX0xBWUVSX0dST1VQX1RZUEUsXG4gIFNPUlRBQkxFX0xBWUVSX0dST1VQX0RST1BQQUJMRV9UWVBFLFxuICBTT1JUQUJMRV9MQVlFUl9FTkRfUExBQ0VIT0xERVIsXG4gIFNPUlRBQkxFX0xBWUVSX0VORF9UWVBFXG59IGZyb20gJy4uLy4uL2NvbW1vbi9kbmQtbGF5ZXItaXRlbXMnO1xuXG5leHBvcnQgdHlwZSBMYXllckxpc3RQcm9wcyA9IHtcbiAgZGF0YXNldHM6IERhdGFzZXRzO1xuICBsYXllcnM6IExheWVyW107XG4gIGxheWVyT3JkZXI6IExheWVyT3JkZXI7XG4gIGxheWVyQ2xhc3NlczogTGF5ZXJDbGFzc2VzVHlwZTtcbiAgaXNTb3J0YWJsZT86IGJvb2xlYW47XG4gIHNwbGl0TWFwPzogU3BsaXRNYXA7XG4gIG1hcFN0YXRlPzogTWFwU3RhdGU7XG4gIHVpU3RhdGVBY3Rpb25zOiB0eXBlb2YgVUlTdGF0ZUFjdGlvbnM7XG4gIHZpc1N0YXRlQWN0aW9uczogdHlwZW9mIFZpc1N0YXRlQWN0aW9ucztcbiAgbWFwU3RhdGVBY3Rpb25zOiB0eXBlb2YgTWFwU3RhdGVBY3Rpb25zO1xufTtcblxuZXhwb3J0IHR5cGUgTGF5ZXJMaXN0RmFjdG9yeURlcHMgPSBbXG4gIHR5cGVvZiBMYXllclBhbmVsRmFjdG9yeSxcbiAgdHlwZW9mIExheWVyR3JvdXBIZWFkZXJGYWN0b3J5XG5dO1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDhweDtcbmA7XG5cbmNvbnN0IGFuaW1hdGVMYXlvdXRDaGFuZ2VzID0gYXJncyA9PiB7XG4gIGNvbnN0IHtpc1NvcnRpbmcsIHdhc0RyYWdnaW5nfSA9IGFyZ3M7XG4gIGlmIChpc1NvcnRpbmcgfHwgd2FzRHJhZ2dpbmcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIGRlZmF1bHRBbmltYXRlTGF5b3V0Q2hhbmdlcyhhcmdzKTtcbn07XG5cbmNvbnN0IEVuZFBsYWNlaG9sZGVyID0gc3R5bGVkLmRpdmBcbiAgaGVpZ2h0OiA0cHg7XG5gO1xuXG5pbnRlcmZhY2UgU29ydGFibGVTdHlsZWRJdGVtUHJvcHMge1xuICAkdHJhbnNpdGlvbj86IHN0cmluZztcbiAgJHRyYW5zZm9ybT86IHN0cmluZztcbn1cblxuY29uc3QgU29ydGFibGVTdHlsZWRJdGVtID0gc3R5bGVkLmRpdjxTb3J0YWJsZVN0eWxlZEl0ZW1Qcm9wcz5gXG4gIHRyYW5zaXRpb246ICR7cHJvcHMgPT4gcHJvcHMuJHRyYW5zaXRpb259O1xuICB0cmFuc2Zvcm06ICR7cHJvcHMgPT4gcHJvcHMuJHRyYW5zZm9ybX07XG4gICYuc29ydGluZyB7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gICYuc29ydGluZy1sYXllcnMgLmxheWVyLXBhbmVsX19oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuICAgIGZvbnQtZmFtaWx5OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZvbnRGYW1pbHl9O1xuICAgIGZvbnQtd2VpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmZvbnRXZWlnaHR9O1xuICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250U2l6ZX07XG4gICAgbGluZS1oZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGluZUhlaWdodH07XG4gICAgKixcbiAgICAqOmJlZm9yZSxcbiAgICAqOmFmdGVyIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICAgIC5sYXllcl9fZHJhZy1oYW5kbGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IENvbGxhcHNpYmxlR3JvdXBDb250ZW50ID0gc3R5bGVkLmRpdjx7JGlzT3Zlcj86IGJvb2xlYW59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwO1xuICBwYWRkaW5nOiA0cHggMDtcbiAgbWluLWhlaWdodDogMzJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiAocHJvcHMuJGlzT3ZlciA/IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyIDogJ3RyYW5zcGFyZW50Jyl9O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7XG5gO1xuXG5jb25zdCBDb2xsYXBzZWREcm9wWm9uZSA9IHN0eWxlZC5kaXY8eyRpc092ZXI/OiBib29sZWFufT5gXG4gIG1pbi1oZWlnaHQ6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiAocHJvcHMuJGlzT3ZlciA/IHByb3BzLnRoZW1lLmFjdGl2ZUNvbG9yIDogJ3RyYW5zcGFyZW50Jyl9O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UsIG1pbi1oZWlnaHQgMC4xNXMgZWFzZTtcbiAgJHtwcm9wcyA9PiBwcm9wcy4kaXNPdmVyICYmICdtaW4taGVpZ2h0OiAyNHB4Oyd9XG5gO1xuXG5jb25zdCBFbXB0eUxheWVyR3JvdXAgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDExcHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtaW4taGVpZ2h0OiAyOHB4O1xuICBib3JkZXI6IDFweCBkYXNoZWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvcn07XG5gO1xuXG5jb25zdCBUUkVFX1RJTEVfV0lEVEggPSAxMDtcbmNvbnN0IFRSRUVfVElMRV9CT1JERVJfV0lEVEggPSAxO1xuXG5jb25zdCBTdHlsZWRDb2x1bW4gPSBzdHlsZWQuZGl2PHskaXNMYXN0PzogYm9vbGVhbn0+YFxuICBib3JkZXItbGVmdDogJHtwcm9wcyA9PiAocHJvcHMuJGlzTGFzdCA/IDAgOiAxKX1weCBkYXNoZWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbmA7XG5cbmNvbnN0IFRyZWVUaWxlID0gc3R5bGVkLmRpdjx7JGlzTGFzdD86IGJvb2xlYW59PmBcbiAgd2lkdGg6ICR7VFJFRV9USUxFX1dJRFRIfXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG4gIGhlaWdodDogJHtwcm9wcyA9PiAocHJvcHMudGhlbWUubGF5ZXJQYW5lbEhlYWRlckhlaWdodCB8fCAzMikgLyAyfXB4O1xuICBtYXJnaW4tdG9wOiAycHg7XG4gIGJvcmRlci1sZWZ0OiAke3Byb3BzID0+IChwcm9wcy4kaXNMYXN0ID8gMSA6IDApfXB4IGRhc2hlZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuYDtcblxuY29uc3QgTmVzdGVkTGF5ZXJDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuY29uc3QgTmVzdGVkTGF5ZXJDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IGNhbGMoMTAwJSAtICR7VFJFRV9USUxFX1dJRFRIICsgVFJFRV9USUxFX0JPUkRFUl9XSURUSH1weCk7XG4gIHBhZGRpbmctdG9wOiA4cHg7XG5gO1xuXG5MYXllckxpc3RGYWN0b3J5LmRlcHMgPSBbTGF5ZXJQYW5lbEZhY3RvcnksIExheWVyR3JvdXBIZWFkZXJGYWN0b3J5XTtcblxuZnVuY3Rpb24gTGF5ZXJMaXN0RmFjdG9yeShcbiAgTGF5ZXJQYW5lbDogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJQYW5lbEZhY3Rvcnk+LFxuICBMYXllckdyb3VwSGVhZGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBMYXllckdyb3VwSGVhZGVyRmFjdG9yeT5cbikge1xuICBjb25zdCBOZXN0ZWRMYXllcjogUmVhY3QuRkM8e2NoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7IGlzTGFzdD86IGJvb2xlYW59PiA9ICh7XG4gICAgY2hpbGRyZW4sXG4gICAgaXNMYXN0XG4gIH0pID0+IChcbiAgICA8TmVzdGVkTGF5ZXJDb250YWluZXI+XG4gICAgICA8U3R5bGVkQ29sdW1uICRpc0xhc3Q9e2lzTGFzdH0+XG4gICAgICAgIDxUcmVlVGlsZSAkaXNMYXN0PXtpc0xhc3R9IC8+XG4gICAgICA8L1N0eWxlZENvbHVtbj5cbiAgICAgIDxOZXN0ZWRMYXllckNvbnRlbnQ+e2NoaWxkcmVufTwvTmVzdGVkTGF5ZXJDb250ZW50PlxuICAgIDwvTmVzdGVkTGF5ZXJDb250YWluZXI+XG4gICk7XG5cbiAgY29uc3QgU29ydGFibGVMYXllckl0ZW0gPSAoe2xheWVyLCBpZHgsIHBhbmVsUHJvcHMsIGxheWVyQWN0aW9ucywgZGlzYWJsZWQsIHBhcmVudH06IHtcbiAgICBsYXllcjogTGF5ZXI7XG4gICAgaWR4OiBudW1iZXI7XG4gICAgcGFuZWxQcm9wczogYW55O1xuICAgIGxheWVyQWN0aW9uczogYW55O1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICBwYXJlbnQ/OiBMYXllck9yZGVyR3JvdXA7XG4gIH0pID0+IHtcbiAgICBjb25zdCB7YXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCBpc0RyYWdnaW5nLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb259ID0gdXNlU29ydGFibGUoe1xuICAgICAgaWQ6IGxheWVyLmlkLFxuICAgICAgZGF0YToge1xuICAgICAgICB0eXBlOiBTT1JUQUJMRV9MQVlFUl9UWVBFLFxuICAgICAgICBwYXJlbnRcbiAgICAgIH0sXG4gICAgICBkaXNhYmxlZCxcbiAgICAgIGFuaW1hdGVMYXlvdXRDaGFuZ2VzXG4gICAgfSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNvcnRhYmxlU3R5bGVkSXRlbVxuICAgICAgICByZWY9e3NldE5vZGVSZWZ9XG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcyhcbiAgICAgICAgICB7W2RhdGFUZXN0SWRzLnNvcnRhYmxlTGF5ZXJJdGVtXTogIWRpc2FibGVkfSxcbiAgICAgICAgICB7W2RhdGFUZXN0SWRzLnN0YXRpY0xheWVySXRlbV06IGRpc2FibGVkfSxcbiAgICAgICAgICB7c29ydGluZzogaXNEcmFnZ2luZ31cbiAgICAgICAgKX1cbiAgICAgICAgZGF0YS10ZXN0aWQ9e2Rpc2FibGVkID8gZGF0YVRlc3RJZHMuc3RhdGljTGF5ZXJJdGVtIDogZGF0YVRlc3RJZHMuc29ydGFibGVMYXllckl0ZW19XG4gICAgICAgICR0cmFuc2Zvcm09e0NTUy5UcmFuc2Zvcm0udG9TdHJpbmcodHJhbnNmb3JtKX1cbiAgICAgICAgJHRyYW5zaXRpb249e3RyYW5zaXRpb259XG4gICAgICAgIHsuLi5hdHRyaWJ1dGVzfVxuICAgICAgPlxuICAgICAgICA8TGF5ZXJQYW5lbFxuICAgICAgICAgIHsuLi5wYW5lbFByb3BzfVxuICAgICAgICAgIHsuLi5sYXllckFjdGlvbnN9XG4gICAgICAgICAga2V5PXtsYXllci5pZH1cbiAgICAgICAgICBpZHg9e2lkeH1cbiAgICAgICAgICBsYXllcj17bGF5ZXJ9XG4gICAgICAgICAgbGlzdGVuZXJzPXtsaXN0ZW5lcnN9XG4gICAgICAgICAgaXNEcmFnZ2FibGU9eyFkaXNhYmxlZH1cbiAgICAgICAgLz5cbiAgICAgIDwvU29ydGFibGVTdHlsZWRJdGVtPlxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgU29ydGFibGVHcm91cEl0ZW06IFJlYWN0LkZDPHtcbiAgICBsYXllckdyb3VwOiBMYXllck9yZGVyR3JvdXA7XG4gICAgbGF5ZXJzOiBMYXllcltdO1xuICAgIHBhbmVsUHJvcHM6IGFueTtcbiAgICBsYXllckFjdGlvbnM6IGFueTtcbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIH0+ID0gKHtsYXllckdyb3VwLCBsYXllcnMsIHBhbmVsUHJvcHMsIGxheWVyQWN0aW9ucywgZGlzYWJsZWR9KSA9PiB7XG4gICAgY29uc3Qge2F0dHJpYnV0ZXMsIGlzRHJhZ2dpbmcsIGxpc3RlbmVycywgc2V0Tm9kZVJlZiwgdHJhbnNmb3JtLCB0cmFuc2l0aW9ufSA9IHVzZVNvcnRhYmxlKHtcbiAgICAgIGlkOiBsYXllckdyb3VwLmlkLFxuICAgICAgZGF0YToge3R5cGU6IFNPUlRBQkxFX0xBWUVSX0dST1VQX1RZUEV9LFxuICAgICAgZGlzYWJsZWQsXG4gICAgICBhbmltYXRlTGF5b3V0Q2hhbmdlc1xuICAgIH0pO1xuXG4gICAgY29uc3QgbGF5ZXJFbnRyaWVzVG9TaG93ID0gYnVpbGRMYXllck9yZGVySGllcmFyY2h5KGxheWVyR3JvdXAubGF5ZXJPcmRlciwgbGF5ZXJzKTtcbiAgICBjb25zdCBkbmRJdGVtcyA9IGxheWVyRW50cmllc1RvU2hvdy5tYXAoZW50cnkgPT4gZW50cnlbMV0uaWQgPz8gZW50cnlbMV0pO1xuXG4gICAgY29uc3QgW2lzU2VjdGlvbk9wZW4sIHNldElzU2VjdGlvbk9wZW5dID0gdXNlU3RhdGUodHJ1ZSk7XG4gICAgY29uc3Qgb25Ub2dnbGUgPSB1c2VDYWxsYmFjaygoKSA9PiBzZXRJc1NlY3Rpb25PcGVuKHByZXYgPT4gIXByZXYpLCBbXSk7XG5cbiAgICBjb25zdCBzdHlsZSA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiAoe1xuICAgICAgICB0cmFuc2Zvcm06IENTUy5UcmFuc2Zvcm0udG9TdHJpbmcodHJhbnNmb3JtKSxcbiAgICAgICAgdHJhbnNpdGlvbixcbiAgICAgICAgb3BhY2l0eTogaXNEcmFnZ2luZyA/IDAuNSA6IDFcbiAgICAgIH0pLFxuICAgICAgW2lzRHJhZ2dpbmcsIHRyYW5zZm9ybSwgdHJhbnNpdGlvbl1cbiAgICApO1xuXG4gICAgY29uc3Qge2lzT3Zlciwgc2V0Tm9kZVJlZjogZHJvcHBhYmxlU2V0Tm9kZVJlZn0gPSB1c2VEcm9wcGFibGUoe1xuICAgICAgaWQ6IGBkcm9wcGFibGUtbGF5ZXItZ3JvdXAtY29udGVudC0ke2xheWVyR3JvdXAuaWR9YCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdHlwZTogU09SVEFCTEVfTEFZRVJfR1JPVVBfRFJPUFBBQkxFX1RZUEUsXG4gICAgICAgIHBhcmVudDogbGF5ZXJHcm91cFxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgaXNPcGVuID0gdXNlTWVtbygoKSA9PiBpc1NlY3Rpb25PcGVuICYmICFpc0RyYWdnaW5nLCBbaXNTZWN0aW9uT3BlbiwgaXNEcmFnZ2luZ10pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgc3R5bGU9e3N0eWxlfT5cbiAgICAgICAgPGRpdiByZWY9e3NldE5vZGVSZWZ9IHsuLi5hdHRyaWJ1dGVzfT5cbiAgICAgICAgICA8TGF5ZXJHcm91cEhlYWRlclxuICAgICAgICAgICAgbGF5ZXJHcm91cD17bGF5ZXJHcm91cH1cbiAgICAgICAgICAgIG9uVG9nZ2xlTGF5ZXJHcm91cENvbnRlbnQ9e29uVG9nZ2xlfVxuICAgICAgICAgICAgaXNMYXllckdyb3VwQ29udGVudE9wZW49e2lzU2VjdGlvbk9wZW59XG4gICAgICAgICAgICBsaXN0ZW5lcnM9e2xpc3RlbmVyc31cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAge2lzT3BlbiA/IChcbiAgICAgICAgICA8Q29sbGFwc2libGVHcm91cENvbnRlbnQgcmVmPXtkcm9wcGFibGVTZXROb2RlUmVmfSAkaXNPdmVyPXtpc092ZXJ9PlxuICAgICAgICAgICAge2xheWVyRW50cmllc1RvU2hvdy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgIDxTb3J0YWJsZUNvbnRleHRcbiAgICAgICAgICAgICAgICBpZD17YHNvcnRhYmxlLWdyb3VwLSR7bGF5ZXJHcm91cC5pZH1gfVxuICAgICAgICAgICAgICAgIGl0ZW1zPXtkbmRJdGVtc31cbiAgICAgICAgICAgICAgICBzdHJhdGVneT17dmVydGljYWxMaXN0U29ydGluZ1N0cmF0ZWd5fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2xheWVyRW50cmllc1RvU2hvdy5tYXAoKFt0eXBlLCBuZXN0ZWRFbnRyeV0sIGluZGV4KSA9PlxuICAgICAgICAgICAgICAgICAgdHlwZSA9PT0gJ2xheWVyJyA/IChcbiAgICAgICAgICAgICAgICAgICAgPE5lc3RlZExheWVyXG4gICAgICAgICAgICAgICAgICAgICAga2V5PXtuZXN0ZWRFbnRyeS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICBpc0xhc3Q9e2luZGV4ID09PSBsYXllckVudHJpZXNUb1Nob3cubGVuZ3RoIC0gMX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxTb3J0YWJsZUxheWVySXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgbGF5ZXI9e25lc3RlZEVudHJ5IGFzIExheWVyfVxuICAgICAgICAgICAgICAgICAgICAgICAgaWR4PXtsYXllcnMuZmluZEluZGV4KGwgPT4gbD8uaWQgPT09IG5lc3RlZEVudHJ5LmlkKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHBhbmVsUHJvcHM9e3BhbmVsUHJvcHN9XG4gICAgICAgICAgICAgICAgICAgICAgICBsYXllckFjdGlvbnM9e2xheWVyQWN0aW9uc31cbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudD17bGF5ZXJHcm91cH1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICA8L05lc3RlZExheWVyPlxuICAgICAgICAgICAgICAgICAgKSA6IG51bGxcbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1NvcnRhYmxlQ29udGV4dD5cbiAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgIDxFbXB0eUxheWVyR3JvdXA+RHJhZyBsYXllciBoZXJlPC9FbXB0eUxheWVyR3JvdXA+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvQ29sbGFwc2libGVHcm91cENvbnRlbnQ+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPENvbGxhcHNlZERyb3Bab25lIHJlZj17ZHJvcHBhYmxlU2V0Tm9kZVJlZn0gJGlzT3Zlcj17aXNPdmVyfSAvPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBTb3J0YWJsZUVuZFBsYWNlaG9sZGVyID0gKCkgPT4ge1xuICAgIGNvbnN0IHtzZXROb2RlUmVmfSA9IHVzZVNvcnRhYmxlKHtcbiAgICAgIGlkOiBTT1JUQUJMRV9MQVlFUl9FTkRfUExBQ0VIT0xERVIsXG4gICAgICBkYXRhOiB7dHlwZTogU09SVEFCTEVfTEFZRVJfRU5EX1RZUEV9LFxuICAgICAgYW5pbWF0ZUxheW91dENoYW5nZXNcbiAgICB9KTtcbiAgICByZXR1cm4gPEVuZFBsYWNlaG9sZGVyIHJlZj17c2V0Tm9kZVJlZn0gLz47XG4gIH07XG5cbiAgY29uc3QgTGF5ZXJMaXN0OiBSZWFjdC5GQzxMYXllckxpc3RQcm9wcz4gPSBwcm9wcyA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgbGF5ZXJzLFxuICAgICAgZGF0YXNldHMsXG4gICAgICBsYXllck9yZGVyLFxuICAgICAgdWlTdGF0ZUFjdGlvbnMsXG4gICAgICB2aXNTdGF0ZUFjdGlvbnMsXG4gICAgICBtYXBTdGF0ZUFjdGlvbnMsXG4gICAgICBtYXBTdGF0ZSxcbiAgICAgIGxheWVyQ2xhc3NlcyxcbiAgICAgIGlzU29ydGFibGUgPSB0cnVlLFxuICAgICAgc3BsaXRNYXBcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3Qge3RvZ2dsZU1vZGFsOiBvcGVuTW9kYWx9ID0gdWlTdGF0ZUFjdGlvbnM7XG5cbiAgICBjb25zdCBsYXllckVudHJpZXNUb1Nob3c6IExheWVyT3JkZXJIaWVyYXJjaHkgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gYnVpbGRMYXllck9yZGVySGllcmFyY2h5KGxheWVyT3JkZXIsIGxheWVycyksXG4gICAgICBbbGF5ZXJPcmRlciwgbGF5ZXJzXVxuICAgICk7XG5cbiAgICBjb25zdCBzaWRlUGFuZWxEbmRJdGVtcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3QgaXRlbXMgPSBsYXllckVudHJpZXNUb1Nob3cubWFwKGVudHJ5ID0+IGVudHJ5WzFdLmlkID8/IGVudHJ5WzFdKTtcbiAgICAgIGl0ZW1zLnB1c2goU09SVEFCTEVfTEFZRVJfRU5EX1BMQUNFSE9MREVSKTtcbiAgICAgIHJldHVybiBpdGVtcztcbiAgICB9LCBbbGF5ZXJFbnRyaWVzVG9TaG93XSk7XG5cbiAgICBjb25zdCBsYXllclR5cGVPcHRpb25zID0gdXNlTWVtbyhcbiAgICAgICgpID0+XG4gICAgICAgIE9iamVjdC5rZXlzKGxheWVyQ2xhc3NlcykubWFwKGtleSA9PiB7XG4gICAgICAgICAgY29uc3QgbGF5ZXIgPSBuZXcgbGF5ZXJDbGFzc2VzW2tleV0oe2RhdGFJZDogJyd9KTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaWQ6IGtleSxcbiAgICAgICAgICAgIGxhYmVsOiBsYXllci5uYW1lLFxuICAgICAgICAgICAgaWNvbjogbGF5ZXIubGF5ZXJJY29uLFxuICAgICAgICAgICAgcmVxdWlyZURhdGE6IGxheWVyLnJlcXVpcmVEYXRhXG4gICAgICAgICAgfTtcbiAgICAgICAgfSksXG4gICAgICBbbGF5ZXJDbGFzc2VzXVxuICAgICk7XG5cbiAgICBjb25zdCBsYXllckFjdGlvbnMgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gKHtcbiAgICAgICAgbGF5ZXJDb2xvclVJQ2hhbmdlOiB2aXNTdGF0ZUFjdGlvbnMubGF5ZXJDb2xvclVJQ2hhbmdlLFxuICAgICAgICBsYXllckNvbmZpZ0NoYW5nZTogdmlzU3RhdGVBY3Rpb25zLmxheWVyQ29uZmlnQ2hhbmdlLFxuICAgICAgICBsYXllclZpc3VhbENoYW5uZWxDb25maWdDaGFuZ2U6IHZpc1N0YXRlQWN0aW9ucy5sYXllclZpc3VhbENoYW5uZWxDb25maWdDaGFuZ2UsXG4gICAgICAgIGxheWVyVG9nZ2xlVmlzaWJpbGl0eTogdmlzU3RhdGVBY3Rpb25zLmxheWVyVG9nZ2xlVmlzaWJpbGl0eSxcbiAgICAgICAgbGF5ZXJUeXBlQ2hhbmdlOiB2aXNTdGF0ZUFjdGlvbnMubGF5ZXJUeXBlQ2hhbmdlLFxuICAgICAgICBsYXllclZpc0NvbmZpZ0NoYW5nZTogdmlzU3RhdGVBY3Rpb25zLmxheWVyVmlzQ29uZmlnQ2hhbmdlLFxuICAgICAgICBsYXllclRleHRMYWJlbENoYW5nZTogdmlzU3RhdGVBY3Rpb25zLmxheWVyVGV4dExhYmVsQ2hhbmdlLFxuICAgICAgICByZW1vdmVMYXllcjogdmlzU3RhdGVBY3Rpb25zLnJlbW92ZUxheWVyLFxuICAgICAgICB6b29tVG9MYXllcjogbWFwU3RhdGVBY3Rpb25zLmZpdEJvdW5kcyxcbiAgICAgICAgZHVwbGljYXRlTGF5ZXI6IHZpc1N0YXRlQWN0aW9ucy5kdXBsaWNhdGVMYXllcixcbiAgICAgICAgbGF5ZXJTZXRJc1ZhbGlkOiB2aXNTdGF0ZUFjdGlvbnMubGF5ZXJTZXRJc1ZhbGlkXG4gICAgICB9KSxcbiAgICAgIFt2aXNTdGF0ZUFjdGlvbnMsIG1hcFN0YXRlQWN0aW9uc11cbiAgICApO1xuXG4gICAgY29uc3QgcGFuZWxQcm9wcyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiAoe1xuICAgICAgICBkYXRhc2V0cyxcbiAgICAgICAgb3Blbk1vZGFsLFxuICAgICAgICBsYXllclR5cGVPcHRpb25zLFxuICAgICAgICBzcGxpdE1hcCxcbiAgICAgICAgbWFwU3RhdGVcbiAgICAgIH0pLFxuICAgICAgW2RhdGFzZXRzLCBvcGVuTW9kYWwsIGxheWVyVHlwZU9wdGlvbnMsIHNwbGl0TWFwLCBtYXBTdGF0ZV1cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxDb250YWluZXI+XG4gICAgICAgIDxTb3J0YWJsZUNvbnRleHRcbiAgICAgICAgICBpZD17U09SVEFCTEVfU0lERV9QQU5FTF9UWVBFfVxuICAgICAgICAgIGl0ZW1zPXtzaWRlUGFuZWxEbmRJdGVtc31cbiAgICAgICAgICBzdHJhdGVneT17dmVydGljYWxMaXN0U29ydGluZ1N0cmF0ZWd5fVxuICAgICAgICAgIGRpc2FibGVkPXshaXNTb3J0YWJsZX1cbiAgICAgICAgPlxuICAgICAgICAgIHtsYXllckVudHJpZXNUb1Nob3cubWFwKChbdHlwZSwgaXRlbV0pID0+XG4gICAgICAgICAgICB0eXBlID09PSAnbGF5ZXInID8gKFxuICAgICAgICAgICAgICA8U29ydGFibGVMYXllckl0ZW1cbiAgICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgICAgbGF5ZXI9e2l0ZW0gYXMgTGF5ZXJ9XG4gICAgICAgICAgICAgICAgaWR4PXtsYXllcnMuZmluZEluZGV4KGwgPT4gbD8uaWQgPT09IGl0ZW0uaWQpfVxuICAgICAgICAgICAgICAgIHBhbmVsUHJvcHM9e3BhbmVsUHJvcHN9XG4gICAgICAgICAgICAgICAgbGF5ZXJBY3Rpb25zPXtsYXllckFjdGlvbnN9XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFpc1NvcnRhYmxlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgPFNvcnRhYmxlR3JvdXBJdGVtXG4gICAgICAgICAgICAgICAga2V5PXsoaXRlbSBhcyBMYXllck9yZGVyR3JvdXApLmlkfVxuICAgICAgICAgICAgICAgIGxheWVyR3JvdXA9e2l0ZW0gYXMgTGF5ZXJPcmRlckdyb3VwfVxuICAgICAgICAgICAgICAgIGxheWVycz17bGF5ZXJzfVxuICAgICAgICAgICAgICAgIHBhbmVsUHJvcHM9e3BhbmVsUHJvcHN9XG4gICAgICAgICAgICAgICAgbGF5ZXJBY3Rpb25zPXtsYXllckFjdGlvbnN9XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFpc1NvcnRhYmxlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKVxuICAgICAgICAgICl9XG4gICAgICAgICAgPFNvcnRhYmxlRW5kUGxhY2Vob2xkZXIgLz5cbiAgICAgICAgPC9Tb3J0YWJsZUNvbnRleHQ+XG4gICAgICA8L0NvbnRhaW5lcj5cbiAgICApO1xuICB9O1xuICByZXR1cm4gTGF5ZXJMaXN0O1xufVxuZXhwb3J0IGRlZmF1bHQgTGF5ZXJMaXN0RmFjdG9yeTtcbiJd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