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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/dist/bottom-widget.js +1 -21
  2. package/dist/common/action-panel.js +1 -21
  3. package/dist/common/animation-control/animation-control.js +1 -21
  4. package/dist/common/animation-control/animation-controller.js +1 -21
  5. package/dist/common/animation-control/animation-speed-slider.js +1 -21
  6. package/dist/common/animation-control/animation-window-control.js +3 -21
  7. package/dist/common/animation-control/floating-time-display.js +1 -21
  8. package/dist/common/animation-control/play-control.js +3 -21
  9. package/dist/common/animation-control/playback-controls.js +1 -21
  10. package/dist/common/animation-control/reset-control.js +3 -21
  11. package/dist/common/animation-control/speed-control.js +1 -21
  12. package/dist/common/animation-control/window-action-control.js +3 -21
  13. package/dist/common/checkbox.js +1 -21
  14. package/dist/common/color-legend.js +1 -21
  15. package/dist/common/data-table/button.js +1 -21
  16. package/dist/common/data-table/canvas.js +1 -21
  17. package/dist/common/data-table/cell-size.js +1 -21
  18. package/dist/common/data-table/display-format.js +1 -21
  19. package/dist/common/data-table/grid.js +1 -21
  20. package/dist/common/data-table/header-cell.js +1 -21
  21. package/dist/common/data-table/index.js +1 -21
  22. package/dist/common/data-table/option-dropdown.js +1 -21
  23. package/dist/common/dataset-label.js +1 -21
  24. package/dist/common/error-boundary.js +1 -21
  25. package/dist/common/field-selector.d.ts +1 -0
  26. package/dist/common/field-selector.js +3 -21
  27. package/dist/common/field-token.d.ts +4 -0
  28. package/dist/common/field-token.js +1 -21
  29. package/dist/common/file-uploader/file-drop.js +1 -21
  30. package/dist/common/file-uploader/file-upload-progress.js +1 -21
  31. package/dist/common/file-uploader/file-upload.js +1 -21
  32. package/dist/common/file-uploader/upload-button.js +1 -21
  33. package/dist/common/flex-container.d.ts +3 -0
  34. package/dist/common/flex-container.js +23 -0
  35. package/dist/common/histogram-plot.js +1 -21
  36. package/dist/common/icon-button.d.ts +1 -1
  37. package/dist/common/icon-button.js +1 -21
  38. package/dist/common/icons/add.js +1 -21
  39. package/dist/common/icons/anchor_window.js +6 -22
  40. package/dist/common/icons/arrow-down-alt.js +1 -21
  41. package/dist/common/icons/arrow-down-small.d.ts +14 -0
  42. package/dist/common/icons/arrow-down-small.js +72 -0
  43. package/dist/common/icons/arrow-down-solid.js +1 -21
  44. package/dist/common/icons/arrow-down.js +1 -21
  45. package/dist/common/icons/arrow-left.js +1 -21
  46. package/dist/common/icons/arrow-right.js +1 -21
  47. package/dist/common/icons/arrow-up-alt.js +1 -21
  48. package/dist/common/icons/arrow-up-solid.js +1 -21
  49. package/dist/common/icons/arrow-up.js +1 -21
  50. package/dist/common/icons/base.js +1 -21
  51. package/dist/common/icons/bug.js +1 -21
  52. package/dist/common/icons/calendar.d.ts +10 -0
  53. package/dist/common/icons/calendar.js +66 -0
  54. package/dist/common/icons/cancel.js +1 -21
  55. package/dist/common/icons/checkmark.js +1 -21
  56. package/dist/common/icons/clipboard.js +1 -21
  57. package/dist/common/icons/clock.js +1 -21
  58. package/dist/common/icons/close.js +1 -21
  59. package/dist/common/icons/code-alt.js +1 -21
  60. package/dist/common/icons/copy.js +1 -21
  61. package/dist/common/icons/crosshairs.js +1 -21
  62. package/dist/common/icons/cube-3d.js +1 -21
  63. package/dist/common/icons/cursor-click.js +1 -21
  64. package/dist/common/icons/cursor-point.js +1 -21
  65. package/dist/common/icons/data-table.js +1 -21
  66. package/dist/common/icons/db.js +1 -21
  67. package/dist/common/icons/delete.js +1 -21
  68. package/dist/common/icons/docs.js +1 -21
  69. package/dist/common/icons/drag-n-drop.js +1 -21
  70. package/dist/common/icons/draw-polygon.js +1 -21
  71. package/dist/common/icons/effects/brightness-contrast.d.ts +14 -0
  72. package/dist/common/icons/effects/brightness-contrast.js +88 -0
  73. package/dist/common/icons/effects/color-halftone.d.ts +14 -0
  74. package/dist/common/icons/effects/color-halftone.js +127 -0
  75. package/dist/common/icons/effects/dot-screen.d.ts +14 -0
  76. package/dist/common/icons/effects/dot-screen.js +122 -0
  77. package/dist/common/icons/effects/edge-work.d.ts +14 -0
  78. package/dist/common/icons/effects/edge-work.js +81 -0
  79. package/dist/common/icons/effects/hexagonal-pixelate.d.ts +14 -0
  80. package/dist/common/icons/effects/hexagonal-pixelate.js +148 -0
  81. package/dist/common/icons/effects/hue-saturation.d.ts +14 -0
  82. package/dist/common/icons/effects/hue-saturation.js +79 -0
  83. package/dist/common/icons/effects/ink.d.ts +14 -0
  84. package/dist/common/icons/effects/ink.js +78 -0
  85. package/dist/common/icons/effects/light-and-shadow.d.ts +14 -0
  86. package/dist/common/icons/effects/light-and-shadow.js +67 -0
  87. package/dist/common/icons/effects/magic-wand.d.ts +14 -0
  88. package/dist/common/icons/effects/magic-wand.js +79 -0
  89. package/dist/common/icons/effects/magnify.d.ts +14 -0
  90. package/dist/common/icons/effects/magnify.js +86 -0
  91. package/dist/common/icons/effects/noise.d.ts +14 -0
  92. package/dist/common/icons/effects/noise.js +132 -0
  93. package/dist/common/icons/effects/sepia.d.ts +14 -0
  94. package/dist/common/icons/effects/sepia.js +79 -0
  95. package/dist/common/icons/effects/tilt-shift.d.ts +14 -0
  96. package/dist/common/icons/effects/tilt-shift.js +88 -0
  97. package/dist/common/icons/effects/triangle-blur.d.ts +14 -0
  98. package/dist/common/icons/effects/triangle-blur.js +83 -0
  99. package/dist/common/icons/effects/vibrance.d.ts +14 -0
  100. package/dist/common/icons/effects/vibrance.js +79 -0
  101. package/dist/common/icons/effects/vignette.d.ts +14 -0
  102. package/dist/common/icons/effects/vignette.js +72 -0
  103. package/dist/common/icons/effects/zoom-blur.d.ts +14 -0
  104. package/dist/common/icons/effects/zoom-blur.js +107 -0
  105. package/dist/common/icons/email.js +1 -21
  106. package/dist/common/icons/expand.js +1 -21
  107. package/dist/common/icons/eye-seen.js +1 -21
  108. package/dist/common/icons/eye-unseen.js +1 -21
  109. package/dist/common/icons/file-type.js +1 -21
  110. package/dist/common/icons/file.js +1 -21
  111. package/dist/common/icons/files.js +1 -21
  112. package/dist/common/icons/filter-funnel.js +1 -21
  113. package/dist/common/icons/free-window.js +6 -22
  114. package/dist/common/icons/gear.js +1 -21
  115. package/dist/common/icons/globe.d.ts +15 -0
  116. package/dist/common/icons/globe.js +72 -0
  117. package/dist/common/icons/hash.js +1 -21
  118. package/dist/common/icons/histogram.js +1 -21
  119. package/dist/common/icons/index.d.ts +25 -0
  120. package/dist/common/icons/index.js +201 -21
  121. package/dist/common/icons/info.js +1 -21
  122. package/dist/common/icons/layers.js +1 -21
  123. package/dist/common/icons/left-arrow.js +1 -21
  124. package/dist/common/icons/legend.js +1 -21
  125. package/dist/common/icons/line-chart.js +1 -21
  126. package/dist/common/icons/location-marker.d.ts +14 -0
  127. package/dist/common/icons/location-marker.js +77 -0
  128. package/dist/common/icons/login.js +1 -21
  129. package/dist/common/icons/logout.js +1 -21
  130. package/dist/common/icons/map-icon.js +1 -21
  131. package/dist/common/icons/map.js +1 -21
  132. package/dist/common/icons/messages.js +1 -21
  133. package/dist/common/icons/minus.js +1 -21
  134. package/dist/common/icons/moon.d.ts +14 -0
  135. package/dist/common/icons/moon.js +77 -0
  136. package/dist/common/icons/order-by-dataset.js +6 -22
  137. package/dist/common/icons/order-by-list.js +6 -22
  138. package/dist/common/icons/pause.js +1 -21
  139. package/dist/common/icons/picture.js +1 -21
  140. package/dist/common/icons/pin.js +1 -21
  141. package/dist/common/icons/play.js +1 -21
  142. package/dist/common/icons/polygon.js +1 -21
  143. package/dist/common/icons/rectangle.js +1 -21
  144. package/dist/common/icons/reduce.js +1 -21
  145. package/dist/common/icons/reset.js +1 -21
  146. package/dist/common/icons/rocket.js +1 -21
  147. package/dist/common/icons/save.js +1 -21
  148. package/dist/common/icons/save2.js +1 -21
  149. package/dist/common/icons/search.js +1 -21
  150. package/dist/common/icons/settings.js +1 -21
  151. package/dist/common/icons/share.js +1 -21
  152. package/dist/common/icons/split.js +1 -21
  153. package/dist/common/icons/square-select.js +1 -21
  154. package/dist/common/icons/sun.d.ts +14 -0
  155. package/dist/common/icons/sun.js +93 -0
  156. package/dist/common/icons/sunrise.d.ts +14 -0
  157. package/dist/common/icons/sunrise.js +89 -0
  158. package/dist/common/icons/sunset.d.ts +14 -0
  159. package/dist/common/icons/sunset.js +89 -0
  160. package/dist/common/icons/trash.js +1 -21
  161. package/dist/common/icons/vert-dots.js +1 -21
  162. package/dist/common/icons/vert-three-dots.js +1 -21
  163. package/dist/common/icons/warning-sign.js +1 -21
  164. package/dist/common/icons/warning.js +1 -21
  165. package/dist/common/image-preview.js +1 -21
  166. package/dist/common/index.js +1 -21
  167. package/dist/common/info-helper.js +1 -21
  168. package/dist/common/item-selector/accessor.js +5 -22
  169. package/dist/common/item-selector/chickleted-input.d.ts +1 -0
  170. package/dist/common/item-selector/chickleted-input.js +104 -44
  171. package/dist/common/item-selector/dropdown-list.d.ts +2 -0
  172. package/dist/common/item-selector/dropdown-list.js +10 -25
  173. package/dist/common/item-selector/item-selector.d.ts +3 -0
  174. package/dist/common/item-selector/item-selector.js +11 -23
  175. package/dist/common/item-selector/typeahead.js +1 -21
  176. package/dist/common/line-chart.js +1 -21
  177. package/dist/common/loading-spinner.js +1 -21
  178. package/dist/common/logo.js +1 -21
  179. package/dist/common/map-layer-selector.js +1 -21
  180. package/dist/common/modal.js +25 -28
  181. package/dist/common/portaled.d.ts +15 -2
  182. package/dist/common/portaled.js +1 -21
  183. package/dist/common/progress-bar.js +1 -21
  184. package/dist/common/range-brush.js +1 -21
  185. package/dist/common/range-plot.js +1 -21
  186. package/dist/common/range-slider.d.ts +1 -1
  187. package/dist/common/range-slider.js +1 -21
  188. package/dist/common/slider/mouse-event.js +6 -22
  189. package/dist/common/slider/slider-bar-handle.js +1 -21
  190. package/dist/common/slider/slider-handle.js +1 -21
  191. package/dist/common/slider/slider.js +1 -21
  192. package/dist/common/styled-components.d.ts +3 -3
  193. package/dist/common/styled-components.js +26 -47
  194. package/dist/common/switch.js +1 -21
  195. package/dist/common/time-range-slider-time-title.js +1 -21
  196. package/dist/common/time-range-slider.js +1 -21
  197. package/dist/common/time-slider-marker.js +1 -21
  198. package/dist/common/timeline-slider.js +1 -21
  199. package/dist/common/tippy-tooltip.js +1 -21
  200. package/dist/common/toolbar-item.js +1 -21
  201. package/dist/common/toolbar.js +1 -21
  202. package/dist/common/vertical-toolbar.js +1 -21
  203. package/dist/connect/keplergl-connect.js +6 -22
  204. package/dist/connect/with-local-selector.js +1 -21
  205. package/dist/container.js +1 -21
  206. package/dist/context.d.ts +11 -0
  207. package/dist/context.js +18 -23
  208. package/dist/dnd-context.d.ts +1 -1
  209. package/dist/dnd-context.js +32 -127
  210. package/dist/editor/editor.js +1 -21
  211. package/dist/editor/feature-action-panel.js +28 -79
  212. package/dist/effects/compact-color-picker.d.ts +10 -0
  213. package/dist/effects/compact-color-picker.js +130 -0
  214. package/dist/effects/effect-configurator.d.ts +4 -5
  215. package/dist/effects/effect-configurator.js +183 -118
  216. package/dist/effects/effect-list.js +2 -22
  217. package/dist/effects/effect-manager.d.ts +2 -1
  218. package/dist/effects/effect-manager.js +43 -30
  219. package/dist/effects/effect-panel-header.d.ts +14 -2
  220. package/dist/effects/effect-panel-header.js +82 -50
  221. package/dist/effects/effect-panel.js +30 -43
  222. package/dist/effects/effect-time-configurator.d.ts +14 -7
  223. package/dist/effects/effect-time-configurator.js +258 -109
  224. package/dist/effects/effect-time-selector.d.ts +16 -0
  225. package/dist/effects/effect-time-selector.js +181 -0
  226. package/dist/effects/effect-time-slider.d.ts +34 -0
  227. package/dist/effects/effect-time-slider.js +220 -0
  228. package/dist/effects/effect-type-dropdown-list.d.ts +18 -0
  229. package/dist/effects/effect-type-dropdown-list.js +77 -0
  230. package/dist/effects/effect-type-list-item.d.ts +22 -0
  231. package/dist/effects/effect-type-list-item.js +105 -0
  232. package/dist/effects/effect-type-selector.d.ts +22 -3
  233. package/dist/effects/effect-type-selector.js +58 -83
  234. package/dist/effects/side-panel-title.js +1 -21
  235. package/dist/effects/timezone-selector.d.ts +19 -0
  236. package/dist/effects/timezone-selector.js +71 -0
  237. package/dist/filter-animation-controller.js +3 -21
  238. package/dist/filters/components.js +1 -21
  239. package/dist/filters/filter-panels/filter-panel-with-field-select.js +6 -22
  240. package/dist/filters/filter-panels/multi-select-filter-panel.js +6 -22
  241. package/dist/filters/filter-panels/new-filter-panel.js +6 -22
  242. package/dist/filters/filter-panels/polygon-filter-panel.js +6 -22
  243. package/dist/filters/filter-panels/range-filter-panel.js +6 -22
  244. package/dist/filters/filter-panels/single-select-filter-panel.js +6 -22
  245. package/dist/filters/filter-panels/time-range-filter-panel.js +1 -21
  246. package/dist/filters/filter-panels/types.js +0 -20
  247. package/dist/filters/index.js +1 -21
  248. package/dist/filters/multi-select-filter.js +6 -22
  249. package/dist/filters/polygon-filter.js +6 -22
  250. package/dist/filters/range-filter.js +6 -22
  251. package/dist/filters/single-select-filter.js +6 -22
  252. package/dist/filters/time-range-filter.js +7 -22
  253. package/dist/filters/time-widget-top.js +1 -21
  254. package/dist/filters/time-widget.js +1 -21
  255. package/dist/filters/types.js +0 -20
  256. package/dist/geocoder/geocoder.js +10 -27
  257. package/dist/geocoder-panel.js +1 -21
  258. package/dist/hooks/use-cloud-list-provider.d.ts +11 -0
  259. package/dist/hooks/use-cloud-list-provider.js +57 -0
  260. package/dist/hooks/use-dnd-effects.d.ts +9 -0
  261. package/dist/hooks/use-dnd-effects.js +88 -0
  262. package/dist/hooks/use-dnd-layers.d.ts +9 -0
  263. package/dist/hooks/use-dnd-layers.js +95 -0
  264. package/dist/hooks/use-feature-flags.d.ts +5 -0
  265. package/dist/hooks/use-feature-flags.js +21 -0
  266. package/dist/index.d.ts +10 -1
  267. package/dist/index.js +103 -24
  268. package/dist/injector.js +1 -21
  269. package/dist/kepler-gl.d.ts +2 -1
  270. package/dist/kepler-gl.js +13 -25
  271. package/dist/layer-animation-controller.js +3 -21
  272. package/dist/map/coordinate-info.js +6 -22
  273. package/dist/map/effects/effect-control.d.ts +1 -1
  274. package/dist/map/effects/effect-control.js +9 -28
  275. package/dist/map/layer-hover-info.js +2 -22
  276. package/dist/map/layer-selector-panel.js +6 -22
  277. package/dist/map/lazy-tippy.js +1 -21
  278. package/dist/map/locale-panel.js +6 -22
  279. package/dist/map/map-control-panel.js +1 -21
  280. package/dist/map/map-control-toolbar.js +1 -21
  281. package/dist/map/map-control-tooltip.js +6 -22
  282. package/dist/map/map-control.js +1 -21
  283. package/dist/map/map-draw-panel.js +6 -22
  284. package/dist/map/map-legend-panel.js +6 -22
  285. package/dist/map/map-legend.js +1 -21
  286. package/dist/map/map-popover-content.js +6 -22
  287. package/dist/map/map-popover.js +1 -21
  288. package/dist/map/split-map-button.js +6 -22
  289. package/dist/map/toggle-3d-button.js +6 -22
  290. package/dist/map-container.d.ts +1 -1
  291. package/dist/map-container.js +33 -52
  292. package/dist/map-view-state-context.d.ts +6 -1
  293. package/dist/map-view-state-context.js +34 -33
  294. package/dist/maps-layout.js +1 -21
  295. package/dist/modal-container.d.ts +2 -2
  296. package/dist/modal-container.js +13 -72
  297. package/dist/modals/add-map-style-modal.js +8 -72
  298. package/dist/modals/cloud-components/cloud-header.d.ts +8 -0
  299. package/dist/modals/cloud-components/cloud-header.js +65 -0
  300. package/dist/modals/cloud-components/cloud-item.d.ts +5 -0
  301. package/dist/modals/cloud-components/cloud-item.js +72 -0
  302. package/dist/modals/cloud-components/cloud-item.spec.d.ts +1 -0
  303. package/dist/modals/cloud-components/cloud-item.spec.js +105 -0
  304. package/dist/modals/cloud-components/cloud-maps.d.ts +8 -0
  305. package/dist/modals/cloud-components/cloud-maps.js +63 -0
  306. package/dist/modals/cloud-components/cloud-maps.spec.d.ts +1 -0
  307. package/dist/modals/cloud-components/cloud-maps.spec.js +112 -0
  308. package/dist/modals/cloud-components/provider-loading.d.ts +2 -0
  309. package/dist/modals/cloud-components/provider-loading.js +29 -0
  310. package/dist/modals/cloud-components/provider-select.d.ts +7 -0
  311. package/dist/modals/cloud-components/provider-select.js +40 -0
  312. package/dist/modals/cloud-tile.d.ts +8 -8
  313. package/dist/modals/cloud-tile.js +184 -75
  314. package/dist/modals/data-table-modal.js +1 -21
  315. package/dist/modals/delete-data-modal.js +1 -21
  316. package/dist/modals/error-display.js +15 -26
  317. package/dist/modals/export-data-modal.js +1 -21
  318. package/dist/modals/export-image-modal.js +1 -21
  319. package/dist/modals/export-map-modal/components.js +1 -21
  320. package/dist/modals/export-map-modal/export-html-map.js +1 -21
  321. package/dist/modals/export-map-modal/export-json-map.js +1 -21
  322. package/dist/modals/export-map-modal/export-map-modal.js +6 -22
  323. package/dist/modals/image-modal-container.d.ts +1 -3
  324. package/dist/modals/image-modal-container.js +12 -34
  325. package/dist/modals/load-data-modal.d.ts +0 -5
  326. package/dist/modals/load-data-modal.js +1 -21
  327. package/dist/modals/load-storage-map.d.ts +3 -24
  328. package/dist/modals/load-storage-map.js +69 -282
  329. package/dist/modals/load-storage-map.spec.d.ts +1 -0
  330. package/dist/modals/load-storage-map.spec.js +237 -0
  331. package/dist/modals/loading-dialog.js +1 -21
  332. package/dist/modals/modal-dialog.js +6 -22
  333. package/dist/modals/modal-tabs.js +1 -21
  334. package/dist/modals/overwrite-map-modal.d.ts +2 -2
  335. package/dist/modals/overwrite-map-modal.js +39 -32
  336. package/dist/modals/save-map-modal.d.ts +3 -5
  337. package/dist/modals/save-map-modal.js +99 -119
  338. package/dist/modals/save-map-modal.spec.d.ts +1 -0
  339. package/dist/modals/save-map-modal.spec.js +218 -0
  340. package/dist/modals/share-map-modal.d.ts +1 -5
  341. package/dist/modals/share-map-modal.js +57 -81
  342. package/dist/modals/share-map-modal.spec.d.ts +1 -0
  343. package/dist/modals/share-map-modal.spec.js +202 -0
  344. package/dist/modals/status-panel.js +1 -21
  345. package/dist/modals/storage-map-viewer.js +1 -21
  346. package/dist/notification-panel/notification-item.js +1 -21
  347. package/dist/notification-panel.js +1 -21
  348. package/dist/plot-container.js +7 -27
  349. package/dist/side-panel/add-by-dataset-button.js +1 -21
  350. package/dist/side-panel/cloud-storage-dropdown.js +6 -22
  351. package/dist/side-panel/common/dataset-info.js +1 -21
  352. package/dist/side-panel/common/dataset-tag.js +1 -21
  353. package/dist/side-panel/common/dataset-title.js +1 -21
  354. package/dist/side-panel/common/source-data-catalog.js +1 -21
  355. package/dist/side-panel/common/source-data-selector.js +6 -22
  356. package/dist/side-panel/common/types.js +0 -20
  357. package/dist/side-panel/custom-panel.js +6 -22
  358. package/dist/side-panel/filter-manager.js +1 -21
  359. package/dist/side-panel/filter-panel/add-filter-button.js +6 -22
  360. package/dist/side-panel/filter-panel/filter-panel-header.js +2 -22
  361. package/dist/side-panel/filter-panel/filter-panel.js +1 -21
  362. package/dist/side-panel/interaction-manager.js +6 -22
  363. package/dist/side-panel/interaction-panel/brush-config.js +1 -21
  364. package/dist/side-panel/interaction-panel/interaction-panel.js +1 -21
  365. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +8 -0
  366. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +46 -27
  367. package/dist/side-panel/interaction-panel/tooltip-config.js +41 -52
  368. package/dist/side-panel/layer-manager.d.ts +5 -0
  369. package/dist/side-panel/layer-manager.js +3 -22
  370. package/dist/side-panel/layer-panel/add-layer-button.js +6 -22
  371. package/dist/side-panel/layer-panel/color-palette.js +1 -21
  372. package/dist/side-panel/layer-panel/color-range-selector.js +1 -21
  373. package/dist/side-panel/layer-panel/color-selector.js +1 -21
  374. package/dist/side-panel/layer-panel/column-selector.js +1 -21
  375. package/dist/side-panel/layer-panel/custom-palette.js +1 -21
  376. package/dist/side-panel/layer-panel/custom-picker.js +1 -21
  377. package/dist/side-panel/layer-panel/dataset-layer-group.js +6 -22
  378. package/dist/side-panel/layer-panel/dataset-layer-section.js +1 -21
  379. package/dist/side-panel/layer-panel/dataset-section.js +1 -21
  380. package/dist/side-panel/layer-panel/dimension-scale-selector.js +6 -22
  381. package/dist/side-panel/layer-panel/how-to-button.js +1 -21
  382. package/dist/side-panel/layer-panel/layer-color-selector.js +6 -22
  383. package/dist/side-panel/layer-panel/layer-column-config.js +1 -21
  384. package/dist/side-panel/layer-panel/layer-config-group.js +1 -21
  385. package/dist/side-panel/layer-panel/layer-configurator.js +16 -24
  386. package/dist/side-panel/layer-panel/layer-error-message.js +1 -21
  387. package/dist/side-panel/layer-panel/layer-list.js +1 -21
  388. package/dist/side-panel/layer-panel/layer-panel-header.js +1 -21
  389. package/dist/side-panel/layer-panel/layer-panel.js +1 -21
  390. package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +1 -21
  391. package/dist/side-panel/layer-panel/layer-type-list-item.js +1 -21
  392. package/dist/side-panel/layer-panel/layer-type-selector.js +1 -21
  393. package/dist/side-panel/layer-panel/single-color-palette.js +1 -21
  394. package/dist/side-panel/layer-panel/text-label-panel.js +1 -21
  395. package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +1 -21
  396. package/dist/side-panel/layer-panel/vis-config-slider.js +1 -21
  397. package/dist/side-panel/layer-panel/vis-config-switch.js +1 -21
  398. package/dist/side-panel/map-manager.js +1 -21
  399. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +1 -21
  400. package/dist/side-panel/map-style-panel/map-layer-group-item.js +1 -21
  401. package/dist/side-panel/map-style-panel/map-layer-selector.js +1 -21
  402. package/dist/side-panel/map-style-panel/map-style-selector.js +1 -21
  403. package/dist/side-panel/panel-dropdown.js +1 -21
  404. package/dist/side-panel/panel-header-action.js +1 -21
  405. package/dist/side-panel/panel-header.js +2 -21
  406. package/dist/side-panel/panel-tab.js +1 -21
  407. package/dist/side-panel/panel-title.js +1 -21
  408. package/dist/side-panel/panel-toggle.js +1 -21
  409. package/dist/side-panel/panel-view-list-toggle.js +1 -21
  410. package/dist/side-panel/side-bar.js +1 -21
  411. package/dist/side-panel.js +7 -36
  412. package/dist/types.d.ts +2 -4
  413. package/dist/types.js +0 -20
  414. package/package.json +27 -24
  415. package/dist/hooks/useFeatureFlags.d.ts +0 -2
  416. package/dist/hooks/useFeatureFlags.js +0 -38
  417. package/dist/modals/provider-modal-container.d.ts +0 -23
  418. package/dist/modals/provider-modal-container.js +0 -101
@@ -1,23 +1,3 @@
1
- // Copyright (c) 2023 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
1
  "use strict";
22
2
 
23
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -160,4 +140,4 @@ function InteractionPanelFactory(TooltipConfig, BrushConfig, PanelTitle) {
160
140
 
161
141
  var _default = InteractionPanelFactory;
162
142
  exports["default"] = _default;
163
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2ludGVyYWN0aW9uLXBhbmVsL2ludGVyYWN0aW9uLXBhbmVsLnRzeCJdLCJuYW1lcyI6WyJTdHlsZWRJbnRlcmFjdGlvblBhbmVsIiwic3R5bGVkIiwiZGl2IiwiSW50ZXJhY3Rpb25QYW5lbEZhY3RvcnkiLCJkZXBzIiwiVG9vbHRpcENvbmZpZ0ZhY3RvcnkiLCJCcnVzaENvbmZpZ0ZhY3RvcnkiLCJQYW5lbFRpdGxlRmFjdG9yeSIsIklOVEVSQUNUSU9OX0NPTkZJR19JQ09OUyIsInRvb2x0aXAiLCJNZXNzYWdlcyIsImdlb2NvZGVyIiwiUGluIiwiYnJ1c2giLCJDcm9zc2hhaXJzIiwiY29vcmRpbmF0ZSIsIkN1cnNvckNsaWNrIiwiVG9vbHRpcENvbmZpZyIsIkJydXNoQ29uZmlnIiwiUGFuZWxUaXRsZSIsIkludGVyYWN0aW9uUGFuZWwiLCJjb25maWciLCJvbkNvbmZpZ0NoYW5nZSIsImRhdGFzZXRzIiwic2V0Q29sdW1uRGlzcGxheUZvcm1hdCIsImludGVyYWN0aW9uQ29uZmlnSWNvbnMiLCJpc0NvbmZpZ0FjdGl2ZSIsInNldElzQ29uZmlnQWN0aW9uIiwiX3VwZGF0ZUNvbmZpZyIsIm5ld1Byb3AiLCJvbkRpc3BsYXlGb3JtYXRDaGFuZ2UiLCJkYXRhSWQiLCJjb2x1bW4iLCJkaXNwbGF5Rm9ybWF0IiwidG9nZ2xlUGFuZWxBY3RpdmUiLCJlbmFibGVkIiwidG9nZ2xlRW5hYmxlQ29uZmlnIiwib25DaGFuZ2UiLCJuZXdDb25maWciLCJJY29uQ29tcG9uZW50IiwiaWQiLCJ0ZW1wbGF0ZSIsImxhYmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFRQTs7QUFNQTs7QUFFQTs7Ozs7Ozs7QUFZQSxJQUFNQSxzQkFBc0IsR0FBR0MsNkJBQU9DLEdBQVYsZ0hBQTVCOztBQUlBQyx1QkFBdUIsQ0FBQ0MsSUFBeEIsR0FBK0Is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QztBQUFsQyxvQkFDRSxnQ0FBQyxvQ0FBRDtBQUFtQixNQUFBLFNBQVMsRUFBQywyQkFBN0I7QUFBeUQsTUFBQSxPQUFPLEVBQUVIO0FBQWxFLG9CQUNFLGdDQUFDLHFDQUFEO0FBQW9CLE1BQUEsU0FBUyxFQUFDO0FBQTlCLG9CQUNFO0FBQUssTUFBQSxTQUFTLEVBQUM7QUFBZixPQUNHSyxhQUFhLGdCQUFHLGdDQUFDLGFBQUQ7QUFBZSxNQUFBLE1BQU0sRUFBQztBQUF0QixNQUFILEdBQXFDLElBRHJELENBREYsZUFJRTtBQUFLLE1BQUEsU0FBUyxFQUFDO0FBQWYsb0JBQ0UsZ0NBQUMsbUNBQUQscUJBQ0UsZ0NBQUMsOEJBQUQ7QUFBa0IsTUFBQSxFQUFFLEVBQUVsQixNQUFNLENBQUNxQjtBQUE3QixNQURGLENBREYsQ0FKRixDQURGLGVBV0U7QUFBSyxNQUFBLFNBQVMsRUFBQztBQUFmLG9CQUNFLGdDQUFDLGtCQUFEO0FBQ0UsTUFBQSxPQUFPLEVBQUVyQixNQUFNLENBQUNjLE9BRGxCO0FBRUUsTUFBQSxFQUFFLFlBQUtkLE1BQU0sQ0FBQ21CLEVBQVosWUFGSjtBQUdFLE1BQUEsUUFBUSxFQUFFSixrQkFIWjtBQUlFLE1BQUEsU0FBUztBQUpYLE1BREYsQ0FYRixDQURGLEVBcUJHZixNQUFNLENBQUNjLE9BQVAsSUFBa0JNLFFBQWxCLGlCQUNDLGdDQUFDLCtCQUFEO0FBQWMsTUFBQSxTQUFTLEVBQUM7QUFBeEIsT0FBc0RBLFFBQXRELENBdEJKLENBREY7QUEyQkQsR0F0RkQ7O0FBd0ZBLFNBQU9yQixnQkFBUDtBQUNEOztlQUVjakIsdUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjMgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHt1c2VTdGF0ZSwgQ29tcG9uZW50VHlwZSwgUmVhY3RFbGVtZW50LCB1c2VDYWxsYmFja30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgU3dpdGNoIGZyb20gJy4uLy4uL2NvbW1vbi9zd2l0Y2gnO1xuaW1wb3J0IFBhbmVsVGl0bGVGYWN0b3J5IGZyb20gJy4uL3BhbmVsLXRpdGxlJztcbmltcG9ydCBCcnVzaENvbmZpZ0ZhY3RvcnkgZnJvbSAnLi9icnVzaC1jb25maWcnO1xuaW1wb3J0IFRvb2x0aXBDb25maWdGYWN0b3J5IGZyb20gJy4vdG9vbHRpcC1jb25maWcnO1xuaW1wb3J0IHtEYXRhc2V0c30gZnJvbSAnQGtlcGxlci5nbC90YWJsZSc7XG5pbXBvcnQge0ludGVyYWN0aW9uQ29uZmlnLCBWYWx1ZU9mfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7XG4gIHNldENvbHVtbkRpc3BsYXlGb3JtYXQgYXMgc2V0Q29sdW1uRGlzcGxheUZvcm1hdEFjdGlvbixcbiAgQWN0aW9uSGFuZGxlclxufSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuXG5pbXBvcnQge1xuICBTdHlsZWRQYW5lbEhlYWRlcixcbiAgUGFuZWxIZWFkZXJUaXRsZSxcbiAgUGFuZWxIZWFkZXJDb250ZW50LFxuICBQYW5lbENvbnRlbnRcbn0gZnJvbSAnLi4vLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7TWVzc2FnZXMsIENyb3NzaGFpcnMsIEN1cnNvckNsaWNrLCBQaW59IGZyb20gJy4uLy4uL2NvbW1vbi9pY29ucyc7XG5cbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnQGtlcGxlci5nbC9sb2NhbGl6YXRpb24nO1xuXG5pbnRlcmZhY2UgSW50ZXJhY3Rpb25QYW5lbFByb3BzIHtcbiAgZGF0YXNldHM6IERhdGFzZXRzO1xuICBjb25maWc6IFZhbHVlT2Y8SW50ZXJhY3Rpb25Db25maWc+O1xuICBvbkNvbmZpZ0NoYW5nZTogYW55O1xuICBpbnRlcmFjdGlvbkNvbmZpZ0ljb25zPzoge1xuICAgIFtrZXk6IHN0cmluZ106IFJlYWN0LkVsZW1lbnRUeXBlO1xuICB9O1xuICBzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0OiBBY3Rpb25IYW5kbGVyPHR5cGVvZiBzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0QWN0aW9uPjtcbn1cblxuY29uc3QgU3R5bGVkSW50ZXJhY3Rpb25QYW5lbCA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmctYm90dG9tOiA2cHg7XG5gO1xuXG5JbnRlcmFjdGlvblBhbmVsRmFjdG9yeS5kZXBzID0gW1Rvb2x0aXBDb25maWdGYWN0b3J5LCBCcnVzaENvbmZpZ0ZhY3RvcnksIFBhbmVsVGl0bGVGYWN0b3J5XTtcblxuY29uc3QgSU5URVJBQ1RJT05fQ09ORklHX0lDT05TOiB7W2tleTogc3RyaW5nXTogUmVhY3QuRWxlbWVudFR5cGV9ID0ge1xuICB0b29sdGlwOiBNZXNzYWdlcyxcbiAgZ2VvY29kZXI6IFBpbixcbiAgYnJ1c2g6IENyb3NzaGFpcnMsXG4gIGNvb3JkaW5hdGU6IEN1cnNvckNsaWNrXG59O1xuXG5mdW5jdGlvbiBJbnRlcmFjdGlvblBhbmVsRmFjdG9yeShcbiAgVG9vbHRpcENvbmZpZzogUmV0dXJuVHlwZTx0eXBlb2YgVG9vbHRpcENvbmZpZ0ZhY3Rvcnk+LFxuICBCcnVzaENvbmZpZzogUmV0dXJuVHlwZTx0eXBlb2YgQnJ1c2hDb25maWdGYWN0b3J5PixcbiAgUGFuZWxUaXRsZTogUmV0dXJuVHlwZTx0eXBlb2YgUGFuZWxUaXRsZUZhY3Rvcnk+XG4pOiBDb21wb25lbnRUeXBlPEludGVyYWN0aW9uUGFuZWxQcm9wcz4ge1xuICBjb25zdCBJbnRlcmFjdGlvblBhbmVsOiBSZWFjdC5GQzxJbnRlcmFjdGlvblBhbmVsUHJvcHM+ID0gKHtcbiAgICBjb25maWcsXG4gICAgb25Db25maWdDaGFuZ2UsXG4gICAgZGF0YXNldHMsXG4gICAgc2V0Q29sdW1uRGlzcGxheUZvcm1hdCxcbiAgICBpbnRlcmFjdGlvbkNvbmZpZ0ljb25zID0gSU5URVJBQ1RJT05fQ09ORklHX0lDT05TXG4gIH0pID0+IHtcbiAgICBjb25zdCBbaXNDb25maWdBY3RpdmUsIHNldElzQ29uZmlnQWN0aW9uXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAgIGNvbnN0IF91cGRhdGVDb25maWcgPSB1c2VDYWxsYmFjayhcbiAgICAgIG5ld1Byb3AgPT4ge1xuICAgICAgICBvbkNvbmZpZ0NoYW5nZSh7XG4gICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgIC4uLm5ld1Byb3BcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgW29uQ29uZmlnQ2hhbmdlLCBjb25maWddXG4gICAgKTtcblxuICAgIGNvbnN0IG9uRGlzcGxheUZvcm1hdENoYW5nZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGRhdGFJZCwgY29sdW1uLCBkaXNwbGF5Rm9ybWF0KSA9PiB7XG4gICAgICAgIHNldENvbHVtbkRpc3BsYXlGb3JtYXQoZGF0YUlkLCB7W2NvbHVtbl06IGRpc3BsYXlGb3JtYXR9KTtcbiAgICAgIH0sXG4gICAgICBbc2V0Q29sdW1uRGlzcGxheUZvcm1hdF1cbiAgICApO1xuXG4gICAgY29uc3QgdG9nZ2xlUGFuZWxBY3RpdmUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRJc0NvbmZpZ0FjdGlvbighaXNDb25maWdBY3RpdmUpO1xuICAgIH0sIFtzZXRJc0NvbmZpZ0FjdGlvbiwgaXNDb25maWdBY3RpdmVdKTtcblxuICAgIGNvbnN0IHtlbmFibGVkfSA9IGNvbmZpZztcbiAgICBjb25zdCB0b2dnbGVFbmFibGVDb25maWcgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBfdXBkYXRlQ29uZmlnKHtlbmFibGVkOiAhZW5hYmxlZH0pO1xuICAgIH0sIFtfdXBkYXRlQ29uZmlnLCBlbmFibGVkXSk7XG5cbiAgICBjb25zdCBvbkNoYW5nZSA9IHVzZUNhbGxiYWNrKG5ld0NvbmZpZyA9PiBfdXBkYXRlQ29uZmlnKHtjb25maWc6IG5ld0NvbmZpZ30pLCBbX3VwZGF0ZUNvbmZpZ10pO1xuXG4gICAgY29uc3QgSWNvbkNvbXBvbmVudCA9IGludGVyYWN0aW9uQ29uZmlnSWNvbnNbY29uZmlnLmlkXTtcblxuICAgIGxldCB0ZW1wbGF0ZTogUmVhY3RFbGVtZW50IHwgbnVsbCA9IG51bGw7XG5cbiAgICBzd2l0Y2ggKGNvbmZpZy5pZCkge1xuICAgICAgY2FzZSAndG9vbHRpcCc6XG4gICAgICAgIHRlbXBsYXRlID0gKFxuICAgICAgICAgIDxUb29sdGlwQ29uZmlnXG4gICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICBjb25maWc9e2NvbmZpZy5jb25maWd9XG4gICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgICBvbkRpc3BsYXlGb3JtYXRDaGFuZ2U9e29uRGlzcGxheUZvcm1hdENoYW5nZX1cbiAgICAgICAgICAvPlxuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JydXNoJzpcbiAgICAgICAgdGVtcGxhdGUgPSA8QnJ1c2hDb25maWcgY29uZmlnPXtjb25maWcuY29uZmlnfSBvbkNoYW5nZT17b25DaGFuZ2V9IC8+O1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkSW50ZXJhY3Rpb25QYW5lbCBjbGFzc05hbWU9XCJpbnRlcmFjdGlvbi1wYW5lbFwiPlxuICAgICAgICA8U3R5bGVkUGFuZWxIZWFkZXIgY2xhc3NOYW1lPVwiaW50ZXJhY3Rpb24tcGFuZWxfX2hlYWRlclwiIG9uQ2xpY2s9e3RvZ2dsZVBhbmVsQWN0aXZlfT5cbiAgICAgICAgICA8UGFuZWxIZWFkZXJDb250ZW50IGNsYXNzTmFtZT1cImludGVyYWN0aW9uLXBhbmVsX19oZWFkZXJfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW50ZXJhY3Rpb24tcGFuZWxfX2hlYWRlcl9faWNvbiBpY29uXCI+XG4gICAgICAgICAgICAgIHtJY29uQ29tcG9uZW50ID8gPEljb25Db21wb25lbnQgaGVpZ2h0PVwiMTZweFwiIC8+IDogbnVsbH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbnRlcmFjdGlvbi1wYW5lbF9faGVhZGVyX190aXRsZVwiPlxuICAgICAgICAgICAgICA8UGFuZWxIZWFkZXJUaXRsZT5cbiAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17Y29uZmlnLmxhYmVsfSAvPlxuICAgICAgICAgICAgICA8L1BhbmVsSGVhZGVyVGl0bGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L1BhbmVsSGVhZGVyQ29udGVudD5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImludGVyYWN0aW9uLXBhbmVsX19oZWFkZXJfX2FjdGlvbnNcIj5cbiAgICAgICAgICAgIDxTd2l0Y2hcbiAgICAgICAgICAgICAgY2hlY2tlZD17Y29uZmlnLmVuYWJsZWR9XG4gICAgICAgICAgICAgIGlkPXtgJHtjb25maWcuaWR9LXRvZ2dsZWB9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXt0b2dnbGVFbmFibGVDb25maWd9XG4gICAgICAgICAgICAgIHNlY29uZGFyeVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9TdHlsZWRQYW5lbEhlYWRlcj5cbiAgICAgICAge2NvbmZpZy5lbmFibGVkICYmIHRlbXBsYXRlICYmIChcbiAgICAgICAgICA8UGFuZWxDb250ZW50IGNsYXNzTmFtZT1cImludGVyYWN0aW9uLXBhbmVsX19jb250ZW50XCI+e3RlbXBsYXRlfTwvUGFuZWxDb250ZW50PlxuICAgICAgICApfVxuICAgICAgPC9TdHlsZWRJbnRlcmFjdGlvblBhbmVsPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIEludGVyYWN0aW9uUGFuZWw7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEludGVyYWN0aW9uUGFuZWxGYWN0b3J5O1xuIl19
143
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2ludGVyYWN0aW9uLXBhbmVsL2ludGVyYWN0aW9uLXBhbmVsLnRzeCJdLCJuYW1lcyI6WyJTdHlsZWRJbnRlcmFjdGlvblBhbmVsIiwic3R5bGVkIiwiZGl2IiwiSW50ZXJhY3Rpb25QYW5lbEZhY3RvcnkiLCJkZXBzIiwiVG9vbHRpcENvbmZpZ0ZhY3RvcnkiLCJCcnVzaENvbmZpZ0ZhY3RvcnkiLCJQYW5lbFRpdGxlRmFjdG9yeSIsIklOVEVSQUNUSU9OX0NPTkZJR19JQ09OUyIsInRvb2x0aXAiLCJNZXNzYWdlcyIsImdlb2NvZGVyIiwiUGluIiwiYnJ1c2giLCJDcm9zc2hhaXJzIiwiY29vcmRpbmF0ZSIsIkN1cnNvckNsaWNrIiwiVG9vbHRpcENvbmZpZyIsIkJydXNoQ29uZmlnIiwiUGFuZWxUaXRsZSIsIkludGVyYWN0aW9uUGFuZWwiLCJjb25maWciLCJvbkNvbmZpZ0NoYW5nZSIsImRhdGFzZXRzIiwic2V0Q29sdW1uRGlzcGxheUZvcm1hdCIsImludGVyYWN0aW9uQ29uZmlnSWNvbnMiLCJpc0NvbmZpZ0FjdGl2ZSIsInNldElzQ29uZmlnQWN0aW9uIiwiX3VwZGF0ZUNvbmZpZyIsIm5ld1Byb3AiLCJvbkRpc3BsYXlGb3JtYXRDaGFuZ2UiLCJkYXRhSWQiLCJjb2x1bW4iLCJkaXNwbGF5Rm9ybWF0IiwidG9nZ2xlUGFuZWxBY3RpdmUiLCJlbmFibGVkIiwidG9nZ2xlRW5hYmxlQ29uZmlnIiwib25DaGFuZ2UiLCJuZXdDb25maWciLCJJY29uQ29tcG9uZW50IiwiaWQiLCJ0ZW1wbGF0ZSIsImxhYmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUdBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQVFBOztBQU1BOztBQUVBOzs7Ozs7OztBQVlBLElBQU1BLHNCQUFzQixHQUFHQyw2QkFBT0MsR0FBVixnSEFBNUI7O0FBSUFDLHVCQUF1QixDQUFDQyxJQUF4QixHQUErQixD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O0FBQWxDLG9CQUNFLGdDQUFDLG9DQUFEO0FBQW1CLE1BQUEsU0FBUyxFQUFDLDJCQUE3QjtBQUF5RCxNQUFBLE9BQU8sRUFBRUg7QUFBbEUsb0JBQ0UsZ0NBQUMscUNBQUQ7QUFBb0IsTUFBQSxTQUFTLEVBQUM7QUFBOUIsb0JBQ0U7QUFBSyxNQUFBLFNBQVMsRUFBQztBQUFmLE9BQ0dLLGFBQWEsZ0JBQUcsZ0NBQUMsYUFBRDtBQUFlLE1BQUEsTUFBTSxFQUFDO0FBQXRCLE1BQUgsR0FBcUMsSUFEckQsQ0FERixlQUlFO0FBQUssTUFBQSxTQUFTLEVBQUM7QUFBZixvQkFDRSxnQ0FBQyxtQ0FBRCxxQkFDRSxnQ0FBQyw4QkFBRDtBQUFrQixNQUFBLEVBQUUsRUFBRWxCLE1BQU0sQ0FBQ3FCO0FBQTdCLE1BREYsQ0FERixDQUpGLENBREYsZUFXRTtBQUFLLE1BQUEsU0FBUyxFQUFDO0FBQWYsb0JBQ0UsZ0NBQUMsa0JBQUQ7QUFDRSxNQUFBLE9BQU8sRUFBRXJCLE1BQU0sQ0FBQ2MsT0FEbEI7QUFFRSxNQUFBLEVBQUUsWUFBS2QsTUFBTSxDQUFDbUIsRUFBWixZQUZKO0FBR0UsTUFBQSxRQUFRLEVBQUVKLGtCQUhaO0FBSUUsTUFBQSxTQUFTO0FBSlgsTUFERixDQVhGLENBREYsRUFxQkdmLE1BQU0sQ0FBQ2MsT0FBUCxJQUFrQk0sUUFBbEIsaUJBQ0MsZ0NBQUMsK0JBQUQ7QUFBYyxNQUFBLFNBQVMsRUFBQztBQUF4QixPQUFzREEsUUFBdEQsQ0F0QkosQ0FERjtBQTJCRCxHQXRGRDs7QUF3RkEsU0FBT3JCLGdCQUFQO0FBQ0Q7O2VBRWNqQix1QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZVN0YXRlLCBDb21wb25lbnRUeXBlLCBSZWFjdEVsZW1lbnQsIHVzZUNhbGxiYWNrfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBTd2l0Y2ggZnJvbSAnLi4vLi4vY29tbW9uL3N3aXRjaCc7XG5pbXBvcnQgUGFuZWxUaXRsZUZhY3RvcnkgZnJvbSAnLi4vcGFuZWwtdGl0bGUnO1xuaW1wb3J0IEJydXNoQ29uZmlnRmFjdG9yeSBmcm9tICcuL2JydXNoLWNvbmZpZyc7XG5pbXBvcnQgVG9vbHRpcENvbmZpZ0ZhY3RvcnkgZnJvbSAnLi90b29sdGlwLWNvbmZpZyc7XG5pbXBvcnQge0RhdGFzZXRzfSBmcm9tICdAa2VwbGVyLmdsL3RhYmxlJztcbmltcG9ydCB7SW50ZXJhY3Rpb25Db25maWcsIFZhbHVlT2Z9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtcbiAgc2V0Q29sdW1uRGlzcGxheUZvcm1hdCBhcyBzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0QWN0aW9uLFxuICBBY3Rpb25IYW5kbGVyXG59IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5cbmltcG9ydCB7XG4gIFN0eWxlZFBhbmVsSGVhZGVyLFxuICBQYW5lbEhlYWRlclRpdGxlLFxuICBQYW5lbEhlYWRlckNvbnRlbnQsXG4gIFBhbmVsQ29udGVudFxufSBmcm9tICcuLi8uLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtNZXNzYWdlcywgQ3Jvc3NoYWlycywgQ3Vyc29yQ2xpY2ssIFBpbn0gZnJvbSAnLi4vLi4vY29tbW9uL2ljb25zJztcblxuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5cbmludGVyZmFjZSBJbnRlcmFjdGlvblBhbmVsUHJvcHMge1xuICBkYXRhc2V0czogRGF0YXNldHM7XG4gIGNvbmZpZzogVmFsdWVPZjxJbnRlcmFjdGlvbkNvbmZpZz47XG4gIG9uQ29uZmlnQ2hhbmdlOiBhbnk7XG4gIGludGVyYWN0aW9uQ29uZmlnSWNvbnM/OiB7XG4gICAgW2tleTogc3RyaW5nXTogUmVhY3QuRWxlbWVudFR5cGU7XG4gIH07XG4gIHNldENvbHVtbkRpc3BsYXlGb3JtYXQ6IEFjdGlvbkhhbmRsZXI8dHlwZW9mIHNldENvbHVtbkRpc3BsYXlGb3JtYXRBY3Rpb24+O1xufVxuXG5jb25zdCBTdHlsZWRJbnRlcmFjdGlvblBhbmVsID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZy1ib3R0b206IDZweDtcbmA7XG5cbkludGVyYWN0aW9uUGFuZWxGYWN0b3J5LmRlcHMgPSBbVG9vbHRpcENvbmZpZ0ZhY3RvcnksIEJydXNoQ29uZmlnRmFjdG9yeSwgUGFuZWxUaXRsZUZhY3RvcnldO1xuXG5jb25zdCBJTlRFUkFDVElPTl9DT05GSUdfSUNPTlM6IHtba2V5OiBzdHJpbmddOiBSZWFjdC5FbGVtZW50VHlwZX0gPSB7XG4gIHRvb2x0aXA6IE1lc3NhZ2VzLFxuICBnZW9jb2RlcjogUGluLFxuICBicnVzaDogQ3Jvc3NoYWlycyxcbiAgY29vcmRpbmF0ZTogQ3Vyc29yQ2xpY2tcbn07XG5cbmZ1bmN0aW9uIEludGVyYWN0aW9uUGFuZWxGYWN0b3J5KFxuICBUb29sdGlwQ29uZmlnOiBSZXR1cm5UeXBlPHR5cGVvZiBUb29sdGlwQ29uZmlnRmFjdG9yeT4sXG4gIEJydXNoQ29uZmlnOiBSZXR1cm5UeXBlPHR5cGVvZiBCcnVzaENvbmZpZ0ZhY3Rvcnk+LFxuICBQYW5lbFRpdGxlOiBSZXR1cm5UeXBlPHR5cGVvZiBQYW5lbFRpdGxlRmFjdG9yeT5cbik6IENvbXBvbmVudFR5cGU8SW50ZXJhY3Rpb25QYW5lbFByb3BzPiB7XG4gIGNvbnN0IEludGVyYWN0aW9uUGFuZWw6IFJlYWN0LkZDPEludGVyYWN0aW9uUGFuZWxQcm9wcz4gPSAoe1xuICAgIGNvbmZpZyxcbiAgICBvbkNvbmZpZ0NoYW5nZSxcbiAgICBkYXRhc2V0cyxcbiAgICBzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0LFxuICAgIGludGVyYWN0aW9uQ29uZmlnSWNvbnMgPSBJTlRFUkFDVElPTl9DT05GSUdfSUNPTlNcbiAgfSkgPT4ge1xuICAgIGNvbnN0IFtpc0NvbmZpZ0FjdGl2ZSwgc2V0SXNDb25maWdBY3Rpb25dID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gICAgY29uc3QgX3VwZGF0ZUNvbmZpZyA9IHVzZUNhbGxiYWNrKFxuICAgICAgbmV3UHJvcCA9PiB7XG4gICAgICAgIG9uQ29uZmlnQ2hhbmdlKHtcbiAgICAgICAgICAuLi5jb25maWcsXG4gICAgICAgICAgLi4ubmV3UHJvcFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBbb25Db25maWdDaGFuZ2UsIGNvbmZpZ11cbiAgICApO1xuXG4gICAgY29uc3Qgb25EaXNwbGF5Rm9ybWF0Q2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgICAoZGF0YUlkLCBjb2x1bW4sIGRpc3BsYXlGb3JtYXQpID0+IHtcbiAgICAgICAgc2V0Q29sdW1uRGlzcGxheUZvcm1hdChkYXRhSWQsIHtbY29sdW1uXTogZGlzcGxheUZvcm1hdH0pO1xuICAgICAgfSxcbiAgICAgIFtzZXRDb2x1bW5EaXNwbGF5Rm9ybWF0XVxuICAgICk7XG5cbiAgICBjb25zdCB0b2dnbGVQYW5lbEFjdGl2ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldElzQ29uZmlnQWN0aW9uKCFpc0NvbmZpZ0FjdGl2ZSk7XG4gICAgfSwgW3NldElzQ29uZmlnQWN0aW9uLCBpc0NvbmZpZ0FjdGl2ZV0pO1xuXG4gICAgY29uc3Qge2VuYWJsZWR9ID0gY29uZmlnO1xuICAgIGNvbnN0IHRvZ2dsZUVuYWJsZUNvbmZpZyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIF91cGRhdGVDb25maWcoe2VuYWJsZWQ6ICFlbmFibGVkfSk7XG4gICAgfSwgW191cGRhdGVDb25maWcsIGVuYWJsZWRdKTtcblxuICAgIGNvbnN0IG9uQ2hhbmdlID0gdXNlQ2FsbGJhY2sobmV3Q29uZmlnID0+IF91cGRhdGVDb25maWcoe2NvbmZpZzogbmV3Q29uZmlnfSksIFtfdXBkYXRlQ29uZmlnXSk7XG5cbiAgICBjb25zdCBJY29uQ29tcG9uZW50ID0gaW50ZXJhY3Rpb25Db25maWdJY29uc1tjb25maWcuaWRdO1xuXG4gICAgbGV0IHRlbXBsYXRlOiBSZWFjdEVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICAgIHN3aXRjaCAoY29uZmlnLmlkKSB7XG4gICAgICBjYXNlICd0b29sdGlwJzpcbiAgICAgICAgdGVtcGxhdGUgPSAoXG4gICAgICAgICAgPFRvb2x0aXBDb25maWdcbiAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgIGNvbmZpZz17Y29uZmlnLmNvbmZpZ31cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgICAgIG9uRGlzcGxheUZvcm1hdENoYW5nZT17b25EaXNwbGF5Rm9ybWF0Q2hhbmdlfVxuICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYnJ1c2gnOlxuICAgICAgICB0ZW1wbGF0ZSA9IDxCcnVzaENvbmZpZyBjb25maWc9e2NvbmZpZy5jb25maWd9IG9uQ2hhbmdlPXtvbkNoYW5nZX0gLz47XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRJbnRlcmFjdGlvblBhbmVsIGNsYXNzTmFtZT1cImludGVyYWN0aW9uLXBhbmVsXCI+XG4gICAgICAgIDxTdHlsZWRQYW5lbEhlYWRlciBjbGFzc05hbWU9XCJpbnRlcmFjdGlvbi1wYW5lbF9faGVhZGVyXCIgb25DbGljaz17dG9nZ2xlUGFuZWxBY3RpdmV9PlxuICAgICAgICAgIDxQYW5lbEhlYWRlckNvbnRlbnQgY2xhc3NOYW1lPVwiaW50ZXJhY3Rpb24tcGFuZWxfX2hlYWRlcl9fY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpbnRlcmFjdGlvbi1wYW5lbF9faGVhZGVyX19pY29uIGljb25cIj5cbiAgICAgICAgICAgICAge0ljb25Db21wb25lbnQgPyA8SWNvbkNvbXBvbmVudCBoZWlnaHQ9XCIxNnB4XCIgLz4gOiBudWxsfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImludGVyYWN0aW9uLXBhbmVsX19oZWFkZXJfX3RpdGxlXCI+XG4gICAgICAgICAgICAgIDxQYW5lbEhlYWRlclRpdGxlPlxuICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXtjb25maWcubGFiZWx9IC8+XG4gICAgICAgICAgICAgIDwvUGFuZWxIZWFkZXJUaXRsZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvUGFuZWxIZWFkZXJDb250ZW50PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW50ZXJhY3Rpb24tcGFuZWxfX2hlYWRlcl9fYWN0aW9uc1wiPlxuICAgICAgICAgICAgPFN3aXRjaFxuICAgICAgICAgICAgICBjaGVja2VkPXtjb25maWcuZW5hYmxlZH1cbiAgICAgICAgICAgICAgaWQ9e2Ake2NvbmZpZy5pZH0tdG9nZ2xlYH1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e3RvZ2dsZUVuYWJsZUNvbmZpZ31cbiAgICAgICAgICAgICAgc2Vjb25kYXJ5XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1N0eWxlZFBhbmVsSGVhZGVyPlxuICAgICAgICB7Y29uZmlnLmVuYWJsZWQgJiYgdGVtcGxhdGUgJiYgKFxuICAgICAgICAgIDxQYW5lbENvbnRlbnQgY2xhc3NOYW1lPVwiaW50ZXJhY3Rpb24tcGFuZWxfX2NvbnRlbnRcIj57dGVtcGxhdGV9PC9QYW5lbENvbnRlbnQ+XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZEludGVyYWN0aW9uUGFuZWw+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gSW50ZXJhY3Rpb25QYW5lbDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgSW50ZXJhY3Rpb25QYW5lbEZhY3Rvcnk7XG4iXX0=
@@ -1,4 +1,6 @@
1
1
  import { ComponentType } from 'react';
2
+ import { DraggableAttributes } from '@dnd-kit/core';
3
+ import { Transform } from '@dnd-kit/utilities';
2
4
  import { TooltipFields } from '@kepler.gl/types';
3
5
  interface TooltipChickletProps {
4
6
  disabled: boolean;
@@ -7,6 +9,12 @@ interface TooltipChickletProps {
7
9
  };
8
10
  displayOption: Function;
9
11
  remove: any;
12
+ attributes: DraggableAttributes;
13
+ listeners: any;
14
+ setNodeRef: (node: HTMLElement | null) => void;
15
+ transform: Transform | null;
16
+ transition?: string;
17
+ isDragging: boolean;
10
18
  }
11
19
  declare type TooltipConfig = {
12
20
  fieldsToShow: {
@@ -1,23 +1,3 @@
1
- // Copyright (c) 2023 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
1
  "use strict";
22
2
 
23
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -29,6 +9,8 @@ Object.defineProperty(exports, "__esModule", {
29
9
  });
30
10
  exports["default"] = void 0;
31
11
 
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
32
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
33
15
 
34
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -51,6 +33,10 @@ var _react = _interopRequireWildcard(require("react"));
51
33
 
52
34
  var _styledComponents = _interopRequireDefault(require("styled-components"));
53
35
 
36
+ var _classnames = _interopRequireDefault(require("classnames"));
37
+
38
+ var _utilities = require("@dnd-kit/utilities");
39
+
54
40
  var _chickletedInput = require("../../../common/item-selector/chickleted-input");
55
41
 
56
42
  var _icons = require("../../../common/icons");
@@ -65,7 +51,7 @@ var _reactOnclickoutside = _interopRequireDefault(require("react-onclickoutside"
65
51
 
66
52
  var _tippyTooltip = _interopRequireDefault(require("../../../common/tippy-tooltip"));
67
53
 
68
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
54
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
69
55
 
70
56
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
71
57
 
@@ -92,6 +78,20 @@ var IconDiv = _styledComponents["default"].div.attrs({
92
78
  return props.status === hashStyles.SHOW ? props.theme.subtextColorActive : props.status === hashStyles.ACTIVE ? props.theme.activeColor : props.theme.textColor;
93
79
  });
94
80
 
81
+ var SortableStyledItem = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n transition: ", ";\n transform: ", ";\n &.sorting {\n opacity: 0.3;\n pointer-events: none;\n }\n :hover {\n .tooltip-chicklet__drag-handler {\n opacity: 1;\n }\n }\n"])), function (props) {
82
+ return props.transition;
83
+ }, function (props) {
84
+ return props.transform;
85
+ });
86
+
87
+ var StyledDragHandle = _styledComponents["default"].div.attrs({
88
+ className: 'tooltip-chicklet__drag-handler'
89
+ })(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n z-index: 1000;\n opacity: 0;\n margin-left: -5px;\n :hover {\n cursor: move;\n color: ", ";\n }\n"])), function (props) {
90
+ return props.theme.tooltipVerticalLineColor;
91
+ });
92
+
93
+ var StyledTag = _styledComponents["default"].span(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 5px;\n text-overflow: ellipsis;\n width: 100%;\n overflow: hidden;\n max-width: 160px;\n"])));
94
+
95
95
  function getFormatTooltip(formatLabels, format) {
96
96
  if (!format) {
97
97
  return null;
@@ -129,7 +129,9 @@ function TooltipChickletFactory(dataId, config, onChange, fields, onDisplayForma
129
129
  });
130
130
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "node", void 0);
131
131
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleClickOutside", function (e) {
132
- if (_this.node.contains(e.target)) {
132
+ var _this$node;
133
+
134
+ if ((_this$node = _this.node) !== null && _this$node !== void 0 && _this$node.contains(e.target)) {
133
135
  return;
134
136
  }
135
137
  });
@@ -155,7 +157,13 @@ function TooltipChickletFactory(dataId, config, onChange, fields, onDisplayForma
155
157
  disabled = _this$props.disabled,
156
158
  item = _this$props.item,
157
159
  displayOption = _this$props.displayOption,
158
- remove = _this$props.remove;
160
+ remove = _this$props.remove,
161
+ attributes = _this$props.attributes,
162
+ listeners = _this$props.listeners,
163
+ setNodeRef = _this$props.setNodeRef,
164
+ transform = _this$props.transform,
165
+ transition = _this$props.transition,
166
+ isDragging = _this$props.isDragging;
159
167
  var show = this.state.show;
160
168
  var tooltipField = config.fieldsToShow[dataId].find(function (fieldToShow) {
161
169
  return fieldToShow.name === item.name;
@@ -179,11 +187,22 @@ function TooltipChickletFactory(dataId, config, onChange, fields, onDisplayForma
179
187
  return (0, _utils.getFormatValue)(fl) === field.displayFormat;
180
188
  });
181
189
  var hashStyle = show ? hashStyles.SHOW : hasFormat ? hashStyles.ACTIVE : null;
182
- return /*#__PURE__*/_react["default"].createElement(_chickletedInput.ChickletButton, {
190
+ return /*#__PURE__*/_react["default"].createElement(SortableStyledItem, (0, _extends2["default"])({
191
+ ref: setNodeRef,
192
+ className: (0, _classnames["default"])('sortable-layer-items', {
193
+ sorting: isDragging
194
+ }),
195
+ transform: _utilities.CSS.Translate.toString(transform),
196
+ transition: transition || ''
197
+ }, attributes), /*#__PURE__*/_react["default"].createElement(_chickletedInput.ChickletButton, {
183
198
  ref: function ref(node) {
184
199
  return _this2.node = node;
185
200
  }
186
- }, /*#__PURE__*/_react["default"].createElement(_chickletedInput.ChickletTag, null, displayOption(item)), formatLabels.length > 1 && /*#__PURE__*/_react["default"].createElement(ChickletAddonWrapper, null, /*#__PURE__*/_react["default"].createElement(_tippyTooltip["default"], {
201
+ }, /*#__PURE__*/_react["default"].createElement(StyledDragHandle, listeners, /*#__PURE__*/_react["default"].createElement(_icons.VertDots, {
202
+ height: "12px"
203
+ })), /*#__PURE__*/_react["default"].createElement(StyledTag, {
204
+ title: displayOption(item)
205
+ }, displayOption(item)), formatLabels.length > 1 && /*#__PURE__*/_react["default"].createElement(ChickletAddonWrapper, null, /*#__PURE__*/_react["default"].createElement(_tippyTooltip["default"], {
187
206
  placement: "top",
188
207
  render: function render() {
189
208
  return /*#__PURE__*/_react["default"].createElement("span", null, hasFormat ? getFormatTooltip(formatLabels, field.displayName) : /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
@@ -233,7 +252,7 @@ function TooltipChickletFactory(dataId, config, onChange, fields, onDisplayForma
233
252
  }
234
253
  }))), /*#__PURE__*/_react["default"].createElement(_icons.Delete, {
235
254
  onClick: disabled ? null : remove
236
- }));
255
+ })));
237
256
  }
238
257
  }]);
239
258
  return TooltipChicklet;
@@ -244,4 +263,4 @@ function TooltipChickletFactory(dataId, config, onChange, fields, onDisplayForma
244
263
 
245
264
  var _default = TooltipChickletFactory;
246
265
  exports["default"] = _default;
247
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2ludGVyYWN0aW9uLXBhbmVsL3Rvb2x0aXAtY29uZmlnL3Rvb2x0aXAtY2hpY2tsZXQudHN4Il0sIm5hbWVzIjpbIkNoaWNrbGV0QWRkb25XcmFwcGVyIiwic3R5bGVkIiwiZGl2IiwiQ2hpY2tsZXRBZGRvbiIsIlN0eWxlZFBvcG92ZXIiLCJoYXNoU3R5bGVzIiwiU0hPVyIsIkFDVElWRSIsIkljb25EaXYiLCJhdHRycyIsImNsYXNzTmFtZSIsInByb3BzIiwic3RhdHVzIiwidGhlbWUiLCJzdWJ0ZXh0Q29sb3JBY3RpdmUiLCJhY3RpdmVDb2xvciIsInRleHRDb2xvciIsImdldEZvcm1hdFRvb2x0aXAiLCJmb3JtYXRMYWJlbHMiLCJmb3JtYXQiLCJmb3JtYXRMYWJlbCIsImZpbmQiLCJmbCIsImxhYmVsIiwiSlNPTiIsInN0cmluZ2lmeSIsIlN0cmluZyIsIlRvb2x0aXBDaGlja2xldEZhY3RvcnkiLCJkYXRhSWQiLCJjb25maWciLCJvbkNoYW5nZSIsImZpZWxkcyIsIm9uRGlzcGxheUZvcm1hdENoYW5nZSIsIlRvb2x0aXBDaGlja2xldCIsInNob3ciLCJlIiwibm9kZSIsImNvbnRhaW5zIiwidGFyZ2V0IiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImRpc2FibGVkIiwiaXRlbSIsImRpc3BsYXlPcHRpb24iLCJyZW1vdmUiLCJzdGF0ZSIsInRvb2x0aXBGaWVsZCIsImZpZWxkc1RvU2hvdyIsImZpZWxkVG9TaG93IiwibmFtZSIsImZpZWxkIiwiZiIsImhhc0Zvcm1hdCIsIkJvb2xlYW4iLCJkaXNwbGF5Rm9ybWF0Iiwic2VsZWN0aW9uSW5kZXgiLCJmaW5kSW5kZXgiLCJoYXNoU3R5bGUiLCJsZW5ndGgiLCJkaXNwbGF5TmFtZSIsInN0b3BQcm9wYWdhdGlvbiIsInNldFN0YXRlIiwicmVzdWx0Iiwib2xkRmll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LGFBQWEsR0FBRywyQkFBZVEsTUFBZixDQUF0QjtBQUNBLGdCQUFNQyxlQUFlLEdBQUdwQyxNQUFNLENBQUNvQixZQUFQLENBQW9CckIsTUFBcEIsQ0FBeEI7QUFDQSxnQkFBTXFCLFlBQVksR0FBR2dCLGVBQWUsQ0FBQ0MsR0FBaEIsQ0FBb0IsVUFBQWhCLFdBQVcsRUFBSTtBQUN0RCxxQkFBT0EsV0FBVyxDQUFDQyxJQUFaLEtBQXFCSCxZQUFZLENBQUNHLElBQWxDLEdBQ0g7QUFDRUEsZ0JBQUFBLElBQUksRUFBRUgsWUFBWSxDQUFDRyxJQURyQjtBQUVFaEMsZ0JBQUFBLE1BQU0sRUFBRXFDO0FBRlYsZUFERyxHQUtITixXQUxKO0FBTUQsYUFQb0IsQ0FBckI7O0FBUUEsZ0JBQU1pQixTQUFTLG1DQUNWdEMsTUFEVTtBQUVib0IsY0FBQUEsWUFBWSxrQ0FDUHBCLE1BQU0sQ0FBQ29CLFlBREEsNENBRVRyQixNQUZTLEVBRUFxQixZQUZBO0FBRkMsY0FBZjs7QUFPQW5CLFlBQUFBLFFBQVEsQ0FBQ3FDLFNBQUQsQ0FBUjtBQUNBbkMsWUFBQUEscUJBQXFCLENBQUNKLE1BQUQsRUFBU3dCLEtBQUssQ0FBQ0QsSUFBZixFQUFxQkssYUFBckIsQ0FBckI7QUFDRDtBQTdCSCxVQURGLENBMUJKLENBSEosZUFpRUUsZ0NBQUMsYUFBRDtBQUFRLFVBQUEsT0FBTyxFQUFFYixRQUFRLEdBQUcsSUFBSCxHQUFVRztBQUFuQyxVQWpFRixDQURGO0FBcUVEO0FBOUdrQztBQUFBO0FBQUEsSUFDUHNCLGdCQURPOztBQWdIckMsU0FBTyxxQ0FBZW5DLGVBQWYsQ0FBUDtBQUNEOztlQUVjTixzQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMyBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudCwgQ29tcG9uZW50VHlwZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge0NoaWNrbGV0QnV0dG9uLCBDaGlja2xldFRhZ30gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2l0ZW0tc2VsZWN0b3IvY2hpY2tsZXRlZC1pbnB1dCc7XG5pbXBvcnQge0hhc2gsIERlbGV0ZX0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCBEcm9wZG93bkxpc3QgZnJvbSAnLi4vLi4vLi4vY29tbW9uL2l0ZW0tc2VsZWN0b3IvZHJvcGRvd24tbGlzdCc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcbmltcG9ydCB7VGltZUxhYmVsRm9ybWF0LCBUb29sdGlwRmllbGRzfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7Z2V0Rm9ybWF0VmFsdWUsIGdldEZvcm1hdExhYmVsc30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQgb25DbGlja091dHNpZGUgZnJvbSAncmVhY3Qtb25jbGlja291dHNpZGUnO1xuaW1wb3J0IFRpcHB5VG9vbHRpcCBmcm9tICcuLi8uLi8uLi9jb21tb24vdGlwcHktdG9vbHRpcCc7XG5cbmludGVyZmFjZSBUb29sdGlwQ2hpY2tsZXRQcm9wcyB7XG4gIGRpc2FibGVkOiBib29sZWFuO1xuICBpdGVtOiB7bmFtZTogc3RyaW5nfTtcbiAgZGlzcGxheU9wdGlvbjogRnVuY3Rpb247XG4gIHJlbW92ZTogYW55O1xufVxuXG50eXBlIFRvb2x0aXBDb25maWcgPSB7XG4gIGZpZWxkc1RvU2hvdzoge1xuICAgIFtrZXk6IHN0cmluZ106IHtuYW1lOiBzdHJpbmc7IGZvcm1hdDogc3RyaW5nIHwgbnVsbH1bXTtcbiAgfTtcbiAgY29tcGFyZU1vZGU6IGJvb2xlYW47XG4gIGNvbXBhcmVUeXBlOiBzdHJpbmcgfCBudWxsO1xufTtcblxudHlwZSBJY29uRGl2UHJvcHMgPSB7XG4gIHN0YXR1czogc3RyaW5nIHwgbnVsbDtcbn07XG5cbmNvbnN0IENoaWNrbGV0QWRkb25XcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuY29uc3QgQ2hpY2tsZXRBZGRvbiA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1yaWdodDogNHB4O1xuYDtcblxuY29uc3QgU3R5bGVkUG9wb3ZlciA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbi1sZWZ0OiAtNjRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDIwcHg7XG4gIHdpZHRoOiAxNDBweDtcbiAgei1pbmRleDogMTAxO1xuYDtcblxuY29uc3QgaGFzaFN0eWxlcyA9IHtcbiAgU0hPVzogJ1NIT1cnLFxuICBBQ1RJVkU6ICdBQ1RJVkUnXG59O1xuXG5jb25zdCBJY29uRGl2ID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ3Rvb2x0aXAtY2hpY2tsZXRfX2ljb24nXG59KTxJY29uRGl2UHJvcHM+YFxuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLnN0YXR1cyA9PT0gaGFzaFN0eWxlcy5TSE9XXG4gICAgICA/IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvckFjdGl2ZVxuICAgICAgOiBwcm9wcy5zdGF0dXMgPT09IGhhc2hTdHlsZXMuQUNUSVZFXG4gICAgICA/IHByb3BzLnRoZW1lLmFjdGl2ZUNvbG9yXG4gICAgICA6IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG5gO1xuXG5mdW5jdGlvbiBnZXRGb3JtYXRUb29sdGlwKGZvcm1hdExhYmVsczogVGltZUxhYmVsRm9ybWF0W10sIGZvcm1hdDogc3RyaW5nIHwgbnVsbCkge1xuICBpZiAoIWZvcm1hdCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IGZvcm1hdExhYmVsID0gZm9ybWF0TGFiZWxzLmZpbmQoZmwgPT4gZ2V0Rm9ybWF0VmFsdWUoZmwpID09PSBmb3JtYXQpO1xuICBpZiAoZm9ybWF0TGFiZWwpIHtcbiAgICByZXR1cm4gZm9ybWF0TGFiZWwubGFiZWw7XG4gIH1cbiAgcmV0dXJuIHR5cGVvZiBmb3JtYXQgPT09ICdvYmplY3QnID8gSlNPTi5zdHJpbmdpZnkoZm9ybWF0LCBudWxsLCAyKSA6IFN0cmluZyhmb3JtYXQpO1xufVxuXG5mdW5jdGlvbiBUb29sdGlwQ2hpY2tsZXRGYWN0b3J5KFxuICBkYXRhSWQ6IHN0cmluZyxcbiAgY29uZmlnOiBUb29sdGlwQ29uZmlnLFxuICBvbkNoYW5nZTogKGNmZzogVG9vbHRpcENvbmZpZykgPT4gdm9pZCxcbiAgZmllbGRzOiBUb29sdGlwRmllbGRzW10sXG4gIG9uRGlzcGxheUZvcm1hdENoYW5nZVxuKTogQ29tcG9uZW50VHlwZTxUb29sdGlwQ2hpY2tsZXRQcm9wcz4ge1xuICBjbGFzcyBUb29sdGlwQ2hpY2tsZXQgZXh0ZW5kcyBDb21wb25lbnQ8VG9vbHRpcENoaWNrbGV0UHJvcHM+IHtcbiAgICBzdGF0ZSA9IHtcbiAgICAgIHNob3c6IGZhbHNlXG4gICAgfTtcbiAgICBwcml2YXRlIG5vZGUhOiBIVE1MRGl2RWxlbWVudDtcblxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5oYW5kbGVDbGlja091dHNpZGUsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMuaGFuZGxlQ2xpY2tPdXRzaWRlLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGU6IGFueSkgPT4ge1xuICAgICAgaWYgKHRoaXMubm9kZS5jb250YWlucyhlLnRhcmdldCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7ZGlzYWJsZWQsIGl0ZW0sIGRpc3BsYXlPcHRpb24sIHJlbW92ZX0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qge3Nob3d9ID0gdGhpcy5zdGF0ZTtcbiAgICAgIGNvbnN0IHRvb2x0aXBGaWVsZCA9IGNvbmZpZy5maWVsZHNUb1Nob3dbZGF0YUlkXS5maW5kKFxuICAgICAgICBmaWVsZFRvU2hvdyA9PiBmaWVsZFRvU2hvdy5uYW1lID09PSBpdGVtLm5hbWVcbiAgICAgICk7XG4gICAgICBpZiAoIXRvb2x0aXBGaWVsZCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGZpZWxkID0gZmllbGRzLmZpbmQoZiA9PiBmLm5hbWUgPT09IHRvb2x0aXBGaWVsZC5uYW1lKTtcbiAgICAgIGlmICghZmllbGQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBjb25zdCBmb3JtYXRMYWJlbHMgPSBnZXRGb3JtYXRMYWJlbHMoZmllbGRzLCB0b29sdGlwRmllbGQubmFtZSk7XG4gICAgICBjb25zdCBoYXNGb3JtYXQgPSBCb29sZWFuKGZpZWxkLmRpc3BsYXlGb3JtYXQpO1xuICAgICAgY29uc3Qgc2VsZWN0aW9uSW5kZXggPSBmb3JtYXRMYWJlbHMuZmluZEluZGV4KFxuICAgICAgICBmbCA9PiBnZXRGb3JtYXRWYWx1ZShmbCkgPT09IGZpZWxkLmRpc3BsYXlGb3JtYXRcbiAgICAgICk7XG4gICAgICBjb25zdCBoYXNoU3R5bGUgPSBzaG93ID8gaGFzaFN0eWxlcy5TSE9XIDogaGFzRm9ybWF0ID8gaGFzaFN0eWxlcy5BQ1RJVkUgOiBudWxsO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8Q2hpY2tsZXRCdXR0b24gcmVmPXsobm9kZTogSFRNTERpdkVsZW1lbnQpID0+ICh0aGlzLm5vZGUgPSBub2RlKX0+XG4gICAgICAgICAgPENoaWNrbGV0VGFnPntkaXNwbGF5T3B0aW9uKGl0ZW0pfTwvQ2hpY2tsZXRUYWc+XG4gICAgICAgICAge2Zvcm1hdExhYmVscy5sZW5ndGggPiAxICYmIChcbiAgICAgICAgICAgIDxDaGlja2xldEFkZG9uV3JhcHBlcj5cbiAgICAgICAgICAgICAgPFRpcHB5VG9vbHRpcFxuICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cInRvcFwiXG4gICAgICAgICAgICAgICAgcmVuZGVyPXsoKSA9PiAoXG4gICAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAge2hhc0Zvcm1hdCA/IChcbiAgICAgICAgICAgICAgICAgICAgICBnZXRGb3JtYXRUb29sdGlwKGZvcm1hdExhYmVscywgZmllbGQuZGlzcGxheU5hbWUpXG4gICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydmaWVsZFNlbGVjdG9yLmZvcm1hdHRpbmcnfSAvPlxuICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8Q2hpY2tsZXRBZGRvbj5cbiAgICAgICAgICAgICAgICAgIDxJY29uRGl2IHN0YXR1cz17aGFzaFN0eWxlfT5cbiAgICAgICAgICAgICAgICAgICAgPEhhc2hcbiAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI4cHhcIlxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2UgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe3Nob3c6IEJvb2xlYW4oIXNob3cpfSk7XG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvSWNvbkRpdj5cbiAgICAgICAgICAgICAgICA8L0NoaWNrbGV0QWRkb24+XG4gICAgICAgICAgICAgIDwvVGlwcHlUb29sdGlwPlxuICAgICAgICAgICAgICB7c2hvdyAmJiAoXG4gICAgICAgICAgICAgICAgPFN0eWxlZFBvcG92ZXI+XG4gICAgICAgICAgICAgICAgICA8RHJvcGRvd25MaXN0XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnM9e2Zvcm1hdExhYmVsc31cbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uSW5kZXg9e3NlbGVjdGlvbkluZGV4fVxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5T3B0aW9uPXsoe2xhYmVsfSkgPT4gbGFiZWx9XG4gICAgICAgICAgICAgICAgICAgIG9uT3B0aW9uU2VsZWN0ZWQ9eyhyZXN1bHQsIGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgc2hvdzogZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGRpc3BsYXlGb3JtYXQgPSBnZXRGb3JtYXRWYWx1ZShyZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9sZEZpZWxkc1RvU2hvdyA9IGNvbmZpZy5maWVsZHNUb1Nob3dbZGF0YUlkXTtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWVsZHNUb1Nob3cgPSBvbGRGaWVsZHNUb1Nob3cubWFwKGZpZWxkVG9TaG93ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmaWVsZFRvU2hvdy5uYW1lID09PSB0b29sdGlwRmllbGQubmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IHRvb2x0aXBGaWVsZC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiBkaXNwbGF5Rm9ybWF0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA6IGZpZWxkVG9TaG93O1xuICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld0NvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmNvbmZpZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkc1RvU2hvdzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5jb25maWcuZmllbGRzVG9TaG93LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZGF0YUlkXTogZmllbGRzVG9TaG93XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZShuZXdDb25maWcpO1xuICAgICAgICAgICAgICAgICAgICAgIG9uRGlzcGxheUZvcm1hdENoYW5nZShkYXRhSWQsIGZpZWxkLm5hbWUsIGRpc3BsYXlGb3JtYXQpO1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L1N0eWxlZFBvcG92ZXI+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0NoaWNrbGV0QWRkb25XcmFwcGVyPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPERlbGV0ZSBvbkNsaWNrPXtkaXNhYmxlZCA/IG51bGwgOiByZW1vdmV9IC8+XG4gICAgICAgIDwvQ2hpY2tsZXRCdXR0b24+XG4gICAgICApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gb25DbGlja091dHNpZGUoVG9vbHRpcENoaWNrbGV0KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgVG9vbHRpcENoaWNrbGV0RmFjdG9yeTtcbiJdfQ==
266
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2ludGVyYWN0aW9uLXBhbmVsL3Rvb2x0aXAtY29uZmlnL3Rvb2x0aXAtY2hpY2tsZXQudHN4Il0sIm5hbWVzIjpbIkNoaWNrbGV0QWRkb25XcmFwcGVyIiwic3R5bGVkIiwiZGl2IiwiQ2hpY2tsZXRBZGRvbiIsIlN0eWxlZFBvcG92ZXIiLCJoYXNoU3R5bGVzIiwiU0hPVyIsIkFDVElWRSIsIkljb25EaXYiLCJhdHRycyIsImNsYXNzTmFtZSIsInByb3BzIiwic3RhdHVzIiwidGhlbWUiLCJzdWJ0ZXh0Q29sb3JBY3RpdmUiLCJhY3RpdmVDb2xvciIsInRleHRDb2xvciIsIlNvcnRhYmxlU3R5bGVkSXRlbSIsInRyYW5zaXRpb24iLCJ0cmFuc2Zvcm0iLCJTdHlsZWREcmFnSGFuZGxlIiwidG9vbHRpcFZlcnRpY2FsTGluZUNvbG9yIiwiU3R5bGVkVGFnIiwic3BhbiIsImdldEZvcm1hdFRvb2x0aXAiLCJmb3JtYXRMYWJlbHMiLCJmb3JtYXQiLCJmb3JtYXRMYWJlbCIsImZpbmQiLCJmbCIsImxhYmVsIiwiSlNPTiIsInN0cmluZ2lmeSIsIlN0cmluZyIsIlRvb2x0aXBDaGlja2xldEZhY3RvcnkiLCJkYXRhSWQiLCJjb25maWciLCJvbkNoYW5nZSIsImZpZWxkcyIsIm9uRGlzcGxheUZvcm1hdENoYW5nZSIsIlRvb2x0aXBDaGlja2xldCIsInNob3ciLCJlIiwibm9kZSIsImNvbnRhaW5zIiwidGFyZ2V0IiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImRpc2FibGVkIiwiaXRlbSIsImRpc3BsYXlPcHRpb24iLCJyZW1vdmUiLCJhdHRyaWJ1dGVzIiwibGlzdGVuZXJzIiwic2V0Tm9kZVJlZiIsImlzRHJhZ2dpbmciLCJzdGF0ZSIsInRvb2x0aXBGaWVsZCIsImZpZWxkc1RvU2hvdyIsImZpZWxkVG9TaG93IiwibmFtZSIsImZpZWxkIiwiZiIsImhhc0Zvcm1hdCIsIkJvb2xlYW4iLCJkaXNwbGF5Rm9ybWF0Iiwic2VsZWN0aW9uSW5kZXgiLCJmaW5kSW5kZXgiLCJoYXNoU3R5bGUiLCJzb3J0aW5nIiwiQ1NTIiwiVHJhbnNsYXRlIiwidG9TdHJpbmciLCJsZW5ndGgiLCJkaXNwbGF5TmFtZSIsInN0b3BQcm9wYWdhdGlvbiIsInNldFN0YXRlIiwicmVzdWx0Iiwib2xkRmllbGRzVG9TaG93IiwibWFwIiwibmV3Q29uZmlnIiwiQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7OztBQTRCQSxJQUFNQSxvQkFBb0IsR0FBR0MsNkJBQU9DLEdBQVYsK0dBQTFCOztBQUlBLElBQU1DLGFBQWEsR0FBR0YsNkJBQU9DLEdBQVYsZ0hBQW5COztBQUlBLElBQU1FLGFBQWEsR0FBR0gsNkJBQU9DLEdBQVYsd0xBQW5COztBQVFBLElBQU1HLFVBQVUsR0FBRztBQUNqQkMsRUFBQUEsSUFBSSxFQUFFLE1BRFc7QUFFakJDLEVBQUFBLE1BQU0sRUFBRTtBQUZTLENBQW5COztBQUtBLElBQU1DLE9BQU8sR0FBR1AsNkJBQU9DLEdBQVAsQ0FBV08sS0FBWCxDQUFpQjtBQUMvQkMsRUFBQUEsU0FBUyxFQUFFO0FBRG9CLENBQWpCLENBQUgsMkdBR0YsVUFBQUMsS0FBSztBQUFBLFNBQ1pBLEtBQUssQ0FBQ0MsTUFBTixLQUFpQlAsVUFBVSxDQUFDQyxJQUE1QixHQUNJSyxLQUFLLENBQUNFLEtBQU4sQ0FBWUMsa0JBRGhCLEdBRUlILEtBQUssQ0FBQ0MsTUFBTixLQUFpQlAsVUFBVSxDQUFDRSxNQUE1QixHQUNBSSxLQUFLLENBQUNFLEtBQU4sQ0FBWUUsV0FEWixHQUVBSixLQUFLLENBQUNFLEtBQU4sQ0FBWUcsU0FMSjtBQUFBLENBSEgsQ0FBYjs7QUFl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QUFlM0MsZUFBZixDQUFQO0FBQ0Q7O2VBRWNOLHNCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBDb21wb25lbnRUeXBlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHtEcmFnZ2FibGVBdHRyaWJ1dGVzfSBmcm9tICdAZG5kLWtpdC9jb3JlJztcbmltcG9ydCB7Q1NTLCBUcmFuc2Zvcm19IGZyb20gJ0BkbmQta2l0L3V0aWxpdGllcyc7XG5pbXBvcnQge0NoaWNrbGV0QnV0dG9ufSBmcm9tICcuLi8uLi8uLi9jb21tb24vaXRlbS1zZWxlY3Rvci9jaGlja2xldGVkLWlucHV0JztcbmltcG9ydCB7SGFzaCwgRGVsZXRlLCBWZXJ0RG90c30gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCBEcm9wZG93bkxpc3QgZnJvbSAnLi4vLi4vLi4vY29tbW9uL2l0ZW0tc2VsZWN0b3IvZHJvcGRvd24tbGlzdCc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcbmltcG9ydCB7VGltZUxhYmVsRm9ybWF0LCBUb29sdGlwRmllbGRzfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7Z2V0Rm9ybWF0VmFsdWUsIGdldEZvcm1hdExhYmVsc30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQgb25DbGlja091dHNpZGUgZnJvbSAncmVhY3Qtb25jbGlja291dHNpZGUnO1xuaW1wb3J0IFRpcHB5VG9vbHRpcCBmcm9tICcuLi8uLi8uLi9jb21tb24vdGlwcHktdG9vbHRpcCc7XG5cbmludGVyZmFjZSBUb29sdGlwQ2hpY2tsZXRQcm9wcyB7XG4gIGRpc2FibGVkOiBib29sZWFuO1xuICBpdGVtOiB7bmFtZTogc3RyaW5nfTtcbiAgZGlzcGxheU9wdGlvbjogRnVuY3Rpb247XG4gIHJlbW92ZTogYW55O1xuXG4gIGF0dHJpYnV0ZXM6IERyYWdnYWJsZUF0dHJpYnV0ZXM7XG4gIGxpc3RlbmVyczogYW55O1xuICBzZXROb2RlUmVmOiAobm9kZTogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkO1xuICB0cmFuc2Zvcm06IFRyYW5zZm9ybSB8IG51bGw7XG4gIHRyYW5zaXRpb24/OiBzdHJpbmc7XG4gIGlzRHJhZ2dpbmc6IGJvb2xlYW47XG59XG5cbnR5cGUgVG9vbHRpcENvbmZpZyA9IHtcbiAgZmllbGRzVG9TaG93OiB7XG4gICAgW2tleTogc3RyaW5nXToge25hbWU6IHN0cmluZzsgZm9ybWF0OiBzdHJpbmcgfCBudWxsfVtdO1xuICB9O1xuICBjb21wYXJlTW9kZTogYm9vbGVhbjtcbiAgY29tcGFyZVR5cGU6IHN0cmluZyB8IG51bGw7XG59O1xuXG50eXBlIEljb25EaXZQcm9wcyA9IHtcbiAgc3RhdHVzOiBzdHJpbmcgfCBudWxsO1xufTtcblxuY29uc3QgQ2hpY2tsZXRBZGRvbldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gO1xuXG5jb25zdCBDaGlja2xldEFkZG9uID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG5gO1xuXG5jb25zdCBTdHlsZWRQb3BvdmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWxlZnQ6IC02NHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgd2lkdGg6IDE0MHB4O1xuICB6LWluZGV4OiAxMDE7XG5gO1xuXG5jb25zdCBoYXNoU3R5bGVzID0ge1xuICBTSE9XOiAnU0hPVycsXG4gIEFDVElWRTogJ0FDVElWRSdcbn07XG5cbmNvbnN0IEljb25EaXYgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAndG9vbHRpcC1jaGlja2xldF9faWNvbidcbn0pPEljb25EaXZQcm9wcz5gXG4gIGNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuc3RhdHVzID09PSBoYXNoU3R5bGVzLlNIT1dcbiAgICAgID8gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yQWN0aXZlXG4gICAgICA6IHByb3BzLnN0YXR1cyA9PT0gaGFzaFN0eWxlcy5BQ1RJVkVcbiAgICAgID8gcHJvcHMudGhlbWUuYWN0aXZlQ29sb3JcbiAgICAgIDogcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbmA7XG5cbnR5cGUgU29ydGFibGVTdHlsZWRJdGVtUHJvcHMgPSB7XG4gIHRyYW5zaXRpb24/OiBzdHJpbmc7XG4gIHRyYW5zZm9ybT86IHN0cmluZztcbn07XG5jb25zdCBTb3J0YWJsZVN0eWxlZEl0ZW0gPSBzdHlsZWQuZGl2PFNvcnRhYmxlU3R5bGVkSXRlbVByb3BzPmBcbiAgdHJhbnNpdGlvbjogJHtwcm9wcyA9PiBwcm9wcy50cmFuc2l0aW9ufTtcbiAgdHJhbnNmb3JtOiAke3Byb3BzID0+IHByb3BzLnRyYW5zZm9ybX07XG4gICYuc29ydGluZyB7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gIDpob3ZlciB7XG4gICAgLnRvb2x0aXAtY2hpY2tsZXRfX2RyYWctaGFuZGxlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkRHJhZ0hhbmRsZSA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICd0b29sdGlwLWNoaWNrbGV0X19kcmFnLWhhbmRsZXInXG59KWBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgei1pbmRleDogMTAwMDtcbiAgb3BhY2l0eTogMDtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gIDpob3ZlciB7XG4gICAgY3Vyc29yOiBtb3ZlO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBWZXJ0aWNhbExpbmVDb2xvcn07XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZFRhZyA9IHN0eWxlZC5zcGFuYFxuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtd2lkdGg6IDE2MHB4O1xuYDtcblxuZnVuY3Rpb24gZ2V0Rm9ybWF0VG9vbHRpcChmb3JtYXRMYWJlbHM6IFRpbWVMYWJlbEZvcm1hdFtdLCBmb3JtYXQ6IHN0cmluZyB8IG51bGwpIHtcbiAgaWYgKCFmb3JtYXQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBmb3JtYXRMYWJlbCA9IGZvcm1hdExhYmVscy5maW5kKGZsID0+IGdldEZvcm1hdFZhbHVlKGZsKSA9PT0gZm9ybWF0KTtcbiAgaWYgKGZvcm1hdExhYmVsKSB7XG4gICAgcmV0dXJuIGZvcm1hdExhYmVsLmxhYmVsO1xuICB9XG4gIHJldHVybiB0eXBlb2YgZm9ybWF0ID09PSAnb2JqZWN0JyA/IEpTT04uc3RyaW5naWZ5KGZvcm1hdCwgbnVsbCwgMikgOiBTdHJpbmcoZm9ybWF0KTtcbn1cblxuZnVuY3Rpb24gVG9vbHRpcENoaWNrbGV0RmFjdG9yeShcbiAgZGF0YUlkOiBzdHJpbmcsXG4gIGNvbmZpZzogVG9vbHRpcENvbmZpZyxcbiAgb25DaGFuZ2U6IChjZmc6IFRvb2x0aXBDb25maWcpID0+IHZvaWQsXG4gIGZpZWxkczogVG9vbHRpcEZpZWxkc1tdLFxuICBvbkRpc3BsYXlGb3JtYXRDaGFuZ2Vcbik6IENvbXBvbmVudFR5cGU8VG9vbHRpcENoaWNrbGV0UHJvcHM+IHtcbiAgY2xhc3MgVG9vbHRpcENoaWNrbGV0IGV4dGVuZHMgQ29tcG9uZW50PFRvb2x0aXBDaGlja2xldFByb3BzPiB7XG4gICAgc3RhdGUgPSB7XG4gICAgICBzaG93OiBmYWxzZVxuICAgIH07XG4gICAgcHJpdmF0ZSBub2RlITogSFRNTERpdkVsZW1lbnQgfCBudWxsO1xuXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCB0aGlzLmhhbmRsZUNsaWNrT3V0c2lkZSwgZmFsc2UpO1xuICAgIH1cblxuICAgIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5oYW5kbGVDbGlja091dHNpZGUsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBoYW5kbGVDbGlja091dHNpZGUgPSAoZTogYW55KSA9PiB7XG4gICAgICBpZiAodGhpcy5ub2RlPy5jb250YWlucyhlLnRhcmdldCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIGRpc2FibGVkLFxuICAgICAgICBpdGVtLFxuICAgICAgICBkaXNwbGF5T3B0aW9uLFxuICAgICAgICByZW1vdmUsXG4gICAgICAgIGF0dHJpYnV0ZXMsXG4gICAgICAgIGxpc3RlbmVycyxcbiAgICAgICAgc2V0Tm9kZVJlZixcbiAgICAgICAgdHJhbnNmb3JtLFxuICAgICAgICB0cmFuc2l0aW9uLFxuICAgICAgICBpc0RyYWdnaW5nXG4gICAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgY29uc3Qge3Nob3d9ID0gdGhpcy5zdGF0ZTtcbiAgICAgIGNvbnN0IHRvb2x0aXBGaWVsZCA9IGNvbmZpZy5maWVsZHNUb1Nob3dbZGF0YUlkXS5maW5kKFxuICAgICAgICBmaWVsZFRvU2hvdyA9PiBmaWVsZFRvU2hvdy5uYW1lID09PSBpdGVtLm5hbWVcbiAgICAgICk7XG4gICAgICBpZiAoIXRvb2x0aXBGaWVsZCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGZpZWxkID0gZmllbGRzLmZpbmQoZiA9PiBmLm5hbWUgPT09IHRvb2x0aXBGaWVsZC5uYW1lKTtcbiAgICAgIGlmICghZmllbGQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBjb25zdCBmb3JtYXRMYWJlbHMgPSBnZXRGb3JtYXRMYWJlbHMoZmllbGRzLCB0b29sdGlwRmllbGQubmFtZSk7XG4gICAgICBjb25zdCBoYXNGb3JtYXQgPSBCb29sZWFuKGZpZWxkLmRpc3BsYXlGb3JtYXQpO1xuICAgICAgY29uc3Qgc2VsZWN0aW9uSW5kZXggPSBmb3JtYXRMYWJlbHMuZmluZEluZGV4KFxuICAgICAgICBmbCA9PiBnZXRGb3JtYXRWYWx1ZShmbCkgPT09IGZpZWxkLmRpc3BsYXlGb3JtYXRcbiAgICAgICk7XG4gICAgICBjb25zdCBoYXNoU3R5bGUgPSBzaG93ID8gaGFzaFN0eWxlcy5TSE9XIDogaGFzRm9ybWF0ID8gaGFzaFN0eWxlcy5BQ1RJVkUgOiBudWxsO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U29ydGFibGVTdHlsZWRJdGVtXG4gICAgICAgICAgcmVmPXtzZXROb2RlUmVmfVxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnc29ydGFibGUtbGF5ZXItaXRlbXMnLCB7c29ydGluZzogaXNEcmFnZ2luZ30pfVxuICAgICAgICAgIHRyYW5zZm9ybT17Q1NTLlRyYW5zbGF0ZS50b1N0cmluZyh0cmFuc2Zvcm0pfVxuICAgICAgICAgIHRyYW5zaXRpb249e3RyYW5zaXRpb24gfHwgJyd9XG4gICAgICAgICAgey4uLmF0dHJpYnV0ZXN9XG4gICAgICAgID5cbiAgICAgICAgICA8Q2hpY2tsZXRCdXR0b24gcmVmPXtub2RlID0+ICh0aGlzLm5vZGUgPSBub2RlKX0+XG4gICAgICAgICAgICA8U3R5bGVkRHJhZ0hhbmRsZSB7Li4ubGlzdGVuZXJzfT5cbiAgICAgICAgICAgICAgPFZlcnREb3RzIGhlaWdodD1cIjEycHhcIiAvPlxuICAgICAgICAgICAgPC9TdHlsZWREcmFnSGFuZGxlPlxuICAgICAgICAgICAgPFN0eWxlZFRhZyB0aXRsZT17ZGlzcGxheU9wdGlvbihpdGVtKX0+e2Rpc3BsYXlPcHRpb24oaXRlbSl9PC9TdHlsZWRUYWc+XG4gICAgICAgICAgICB7Zm9ybWF0TGFiZWxzLmxlbmd0aCA+IDEgJiYgKFxuICAgICAgICAgICAgICA8Q2hpY2tsZXRBZGRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPFRpcHB5VG9vbHRpcFxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwidG9wXCJcbiAgICAgICAgICAgICAgICAgIHJlbmRlcj17KCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICB7aGFzRm9ybWF0ID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0Rm9ybWF0VG9vbHRpcChmb3JtYXRMYWJlbHMsIGZpZWxkLmRpc3BsYXlOYW1lKVxuICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J2ZpZWxkU2VsZWN0b3IuZm9ybWF0dGluZyd9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8Q2hpY2tsZXRBZGRvbj5cbiAgICAgICAgICAgICAgICAgICAgPEljb25EaXYgc3RhdHVzPXtoYXNoU3R5bGV9PlxuICAgICAgICAgICAgICAgICAgICAgIDxIYXNoXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI4cHhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe3Nob3c6IEJvb2xlYW4oIXNob3cpfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvSWNvbkRpdj5cbiAgICAgICAgICAgICAgICAgIDwvQ2hpY2tsZXRBZGRvbj5cbiAgICAgICAgICAgICAgICA8L1RpcHB5VG9vbHRpcD5cbiAgICAgICAgICAgICAgICB7c2hvdyAmJiAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkUG9wb3Zlcj5cbiAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTGlzdFxuICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM9e2Zvcm1hdExhYmVsc31cbiAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25JbmRleD17c2VsZWN0aW9uSW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGxheU9wdGlvbj17KHtsYWJlbH0pID0+IGxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgIG9uT3B0aW9uU2VsZWN0ZWQ9eyhyZXN1bHQsIGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdzogZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkaXNwbGF5Rm9ybWF0ID0gZ2V0Rm9ybWF0VmFsdWUocmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9sZEZpZWxkc1RvU2hvdyA9IGNvbmZpZy5maWVsZHNUb1Nob3dbZGF0YUlkXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkc1RvU2hvdyA9IG9sZEZpZWxkc1RvU2hvdy5tYXAoZmllbGRUb1Nob3cgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmllbGRUb1Nob3cubmFtZSA9PT0gdG9vbHRpcEZpZWxkLm5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogdG9vbHRpcEZpZWxkLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdDogZGlzcGxheUZvcm1hdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmllbGRUb1Nob3c7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld0NvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZHNUb1Nob3c6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5jb25maWcuZmllbGRzVG9TaG93LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhSWRdOiBmaWVsZHNUb1Nob3dcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlKG5ld0NvbmZpZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkRpc3BsYXlGb3JtYXRDaGFuZ2UoZGF0YUlkLCBmaWVsZC5uYW1lLCBkaXNwbGF5Rm9ybWF0KTtcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9TdHlsZWRQb3BvdmVyPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvQ2hpY2tsZXRBZGRvbldyYXBwZXI+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgPERlbGV0ZSBvbkNsaWNrPXtkaXNhYmxlZCA/IG51bGwgOiByZW1vdmV9IC8+XG4gICAgICAgICAgPC9DaGlja2xldEJ1dHRvbj5cbiAgICAgICAgPC9Tb3J0YWJsZVN0eWxlZEl0ZW0+XG4gICAgICApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gb25DbGlja091dHNpZGUoVG9vbHRpcENoaWNrbGV0KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgVG9vbHRpcENoaWNrbGV0RmFjdG9yeTtcbiJdfQ==
@@ -1,27 +1,9 @@
1
- // Copyright (c) 2023 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
1
  "use strict";
22
2
 
23
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
24
4
 
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
+
25
7
  Object.defineProperty(exports, "__esModule", {
26
8
  value: true
27
9
  });
@@ -31,7 +13,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
31
13
 
32
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
33
15
 
34
- var _react = _interopRequireDefault(require("react"));
16
+ var _react = _interopRequireWildcard(require("react"));
35
17
 
36
18
  var _styledComponents = _interopRequireDefault(require("styled-components"));
37
19
 
@@ -82,19 +64,41 @@ function TooltipConfigFactory(DatasetTag, FieldSelector) {
82
64
  dataset = _ref.dataset,
83
65
  onDisplayFormatChange = _ref.onDisplayFormatChange;
84
66
  var dataId = dataset.id;
67
+ var handleClick = (0, _react.useCallback)(function () {
68
+ return onChange(_objectSpread(_objectSpread({}, config), {}, {
69
+ fieldsToShow: _objectSpread(_objectSpread({}, config.fieldsToShow), {}, (0, _defineProperty2["default"])({}, dataId, []))
70
+ }));
71
+ }, [config, dataId, onChange]);
72
+ var findSelectedHelper = (0, _react.useCallback)(function (selected, tooltipFields) {
73
+ return selected.map(function (f) {
74
+ return tooltipFields.find(function (tooltipField) {
75
+ return tooltipField.name === f.name;
76
+ }) || {
77
+ name: f.name,
78
+ // default initial tooltip is null
79
+ format: null
80
+ };
81
+ });
82
+ }, []);
83
+ var handleSelect = (0, _react.useCallback)(function (selected) {
84
+ var newConfig = _objectSpread(_objectSpread({}, config), {}, {
85
+ fieldsToShow: _objectSpread(_objectSpread({}, config.fieldsToShow), {}, (0, _defineProperty2["default"])({}, dataId, findSelectedHelper(selected, config.fieldsToShow[dataId])))
86
+ });
87
+
88
+ onChange(newConfig);
89
+ }, [config, dataId, onChange]);
90
+ var handleReorderItems = (0, _react.useCallback)(function (newOrder) {
91
+ return onChange(_objectSpread(_objectSpread({}, config), {}, {
92
+ fieldsToShow: _objectSpread(_objectSpread({}, config.fieldsToShow), {}, (0, _defineProperty2["default"])({}, dataId, newOrder))
93
+ }));
94
+ }, [config, dataId, onChange]);
85
95
  return /*#__PURE__*/_react["default"].createElement(_styledComponents2.SidePanelSection, {
86
96
  key: dataId
87
97
  }, /*#__PURE__*/_react["default"].createElement(_styledComponents2.SBFlexboxNoMargin, null, /*#__PURE__*/_react["default"].createElement(DatasetTag, {
88
98
  dataset: dataset
89
99
  }), Boolean(config.fieldsToShow[dataId].length) && /*#__PURE__*/_react["default"].createElement(ButtonWrapper, null, /*#__PURE__*/_react["default"].createElement(_styledComponents2.Button, {
90
100
  className: "clear-all",
91
- onClick: function onClick() {
92
- var newConfig = _objectSpread(_objectSpread({}, config), {}, {
93
- fieldsToShow: _objectSpread(_objectSpread({}, config.fieldsToShow), {}, (0, _defineProperty2["default"])({}, dataId, []))
94
- });
95
-
96
- onChange(newConfig);
97
- },
101
+ onClick: handleClick,
98
102
  width: "54px",
99
103
  secondary: true
100
104
  }, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
@@ -102,21 +106,8 @@ function TooltipConfigFactory(DatasetTag, FieldSelector) {
102
106
  })))), /*#__PURE__*/_react["default"].createElement(FieldSelector, {
103
107
  fields: dataset.fields,
104
108
  value: config.fieldsToShow[dataId],
105
- onSelect: function onSelect(selected) {
106
- var newConfig = _objectSpread(_objectSpread({}, config), {}, {
107
- fieldsToShow: _objectSpread(_objectSpread({}, config.fieldsToShow), {}, (0, _defineProperty2["default"])({}, dataId, selected.map(function (f) {
108
- return config.fieldsToShow[dataId].find(function (tooltipField) {
109
- return tooltipField.name === f.name;
110
- }) || {
111
- name: f.name,
112
- // default initial tooltip is null
113
- format: null
114
- };
115
- })))
116
- });
117
-
118
- onChange(newConfig);
119
- },
109
+ onSelect: handleSelect,
110
+ reorderItems: handleReorderItems,
120
111
  closeOnSelect: false,
121
112
  multiSelect: true,
122
113
  inputTheme: "secondary",
@@ -130,6 +121,11 @@ function TooltipConfigFactory(DatasetTag, FieldSelector) {
130
121
  _onChange = _ref2.onChange,
131
122
  onDisplayFormatChange = _ref2.onDisplayFormatChange,
132
123
  intl = _ref2.intl;
124
+ var handleChange = (0, _react.useCallback)(function (option) {
125
+ return _onChange(_objectSpread(_objectSpread({}, config), {}, {
126
+ compareType: option
127
+ }));
128
+ }, [config, _onChange]);
133
129
  return /*#__PURE__*/_react["default"].createElement(TooltipConfigWrapper, null, Object.keys(config.fieldsToShow).map(function (dataId) {
134
130
  return dataId === _constants.GEOCODER_DATASET_NAME ? null : /*#__PURE__*/_react["default"].createElement(DatasetTooltipConfig, {
135
131
  key: dataId,
@@ -168,14 +164,7 @@ function TooltipConfigFactory(DatasetTag, FieldSelector) {
168
164
  getOptionValue: function getOptionValue(d) {
169
165
  return d;
170
166
  },
171
- onChange: function onChange(option) {
172
- var newConfig = _objectSpread(_objectSpread({}, config), {}, {
173
- // @ts-expect-error
174
- compareType: option
175
- });
176
-
177
- _onChange(newConfig);
178
- }
167
+ onChange: handleChange
179
168
  })));
180
169
  };
181
170
 
@@ -184,4 +173,4 @@ function TooltipConfigFactory(DatasetTag, FieldSelector) {
184
173
 
185
174
  var _default = TooltipConfigFactory;
186
175
  exports["default"] = _default;
187
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2ludGVyYWN0aW9uLXBhbmVsL3Rvb2x0aXAtY29uZmlnLnRzeCJdLCJuYW1lcyI6WyJUb29sdGlwQ29uZmlnV3JhcHBlciIsInN0eWxlZCIsImRpdiIsIkJ1dHRvbldyYXBwZXIiLCJwcm9wcyIsInRoZW1lIiwic3VidGV4dENvbG9yIiwidGV4dENvbG9yIiwiQ29tcGFyZVN3aXRjaFdyYXBwZXIiLCJsYWJlbENvbG9yIiwiaW5wdXRGb250U2l6ZSIsIlRvb2x0aXBDb25maWdGYWN0b3J5IiwiZGVwcyIsIkRhdGFzZXRUYWdGYWN0b3J5IiwiRmllbGRTZWxlY3RvckZhY3RvcnkiLCJEYXRhc2V0VGFnIiwiRmllbGRTZWxlY3RvciIsIkRhdGFzZXRUb29sdGlwQ29uZmlnIiwiY29uZmlnIiwib25DaGFuZ2UiLCJkYXRhc2V0Iiwib25EaXNwbGF5Rm9ybWF0Q2hhbmdlIiwiZGF0YUlkIiwiaWQiLCJCb29sZWFuIiwiZmllbGRzVG9TaG93IiwibGVuZ3RoIiwibmV3Q29uZmlnIiwiZmllbGRzIiwic2VsZWN0ZWQiLCJtYXAiLCJmIiwiZmluZCIsInRvb2x0aXBGaWVsZCIsIm5hbWUiLCJmb3JtYXQiLCJUb29sdGlwQ29uZmlnIiwiZGF0YXNldHMiLCJpbnRsIiwiT2JqZWN0Iiwia2V5cyIsIkdFT0NPREVSX0RBVEFTRVRfTkFNRSIsImNvbXBhcmVNb2RlIiwiZCIsImZvcm1hdE1lc3NhZ2UiLCJjb21wYXJlVHlwZSIsInZhbHVlcyIsIkNPTVBBUkVfVFlQRVMiLCJvcHRpb24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBTUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7O0FBR0EsSUFBTUEsb0JBQW9CLEdBQUdDLDZCQUFPQyxHQUFWLHFKQUExQjs7QUFNQSxJQUFNQyxhQUFhLEdBQUdGLDZCQUFPQyxHQUFWLGtTQU1OLFVBQUFFLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUMsWUFBaEI7QUFBQSxDQU5DLEVBV0osVUFBQUYsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZRSxTQUFoQjtBQUFBLENBWEQsQ0FBbkI7O0FBZ0JBLElBQU1DLG9CQUFvQixHQUFHUCw2QkFBT0MsR0FBVixpT0FDZixVQUFBRSxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlJLFVBQWhCO0FBQUEsQ0FEVSxFQUdYLFVBQUFMLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUssYUFBaEI7QUFBQSxDQUhNLENBQTFCOztBQWdEQUMsb0JBQW9CLENBQUNDLElBQXJCLEdBQTRCLENBQUNDLHNCQUFELEVBQW9CQyx5QkFBcEIsQ0FBNUI7O0FBQ0EsU0FBU0gsb0JBQVQsQ0FDRUksVUFERixFQUVFQyxhQUZGLEVBR0U7QUFDQSxNQUFNQyxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQXVCLE9BS0k7QUFBQSxRQUovQkMsTUFJK0IsUUFKL0JBLE1BSStCO0FBQUEsUUFIL0JDLFFBRytCLFFBSC9CQSxRQUcrQjtBQUFBLFFBRi9CQyxPQUUrQixRQUYvQkEsT0FFK0I7QUFBQSxRQUQvQkMscUJBQytCLFFBRC9CQSxxQkFDK0I7QUFDL0IsUUFBTUMsTUFBTSxHQUFHRixPQUFPLENBQUNHLEVBQXZCO0FBQ0Esd0JBQ0UsZ0NBQUMsbUNBQUQ7QUFBa0IsTUFBQSxHQUFHLEVBQUVEO0FBQXZCLG9CQUNFLGdDQUFDLG9DQUFELHFCQUNFLGdDQUFDLFVBQUQ7QUFBWSxNQUFBLE9BQU8sRUFBRUY7QUFBckIsTUFERixFQUVHSSxPQUFPLENBQUNOLE1BQU0sQ0FBQ08sWUFBUCxDQUFvQkgsTUFBcEIsRUFBNEJJLE1BQTdCLENBQVAsaUJBQ0MsZ0NBQUMsYUFBRCxxQkFDRSxnQ0FBQyx5QkFBRDtBQUNFLE1BQUEsU0FBUyxFQUFDLFdBRFo7QUFFRSxNQUFBLE9BQU8sRUFBRSxtQkFBTTtBQUNiLFlBQU1DLFNBQVMsbUNBQ1ZULE1BRFU7QUFFYk8sVUFBQUEsWUFBWSxrQ0FDUFAsTUFBTSxDQUFDTyxZQURBLDRDQUVUSCxNQUZTLEVBRUEsRUFGQTtBQUZDLFVBQWY7O0FBT0FILFFBQUFBLFFBQVEsQ0FBQ1EsU0FBRCxDQUFSO0FBQ0QsT0FYSDtBQVlFLE1BQUEsS0FBSyxFQUFDLE1BWlI7QUFhRSxNQUFBLFNBQVM7QUFiWCxvQkFlRSxnQ0FBQyw4QkFBRDtBQUFrQixNQUFBLEVBQUUsRUFBQztBQUFyQixNQWZGLENBREYsQ0FISixDQURGLGVBeUJFLGdDQUFDLGFBQUQ7QUFDRSxNQUFBLE1BQU0sRUFBRVAsT0FBTyxDQUFDUSxNQURsQjtBQUVFLE1BQUEsS0FBSyxFQUFFVixNQUFNLENBQUNPLFlBQVAsQ0FBb0JILE1BQXBCLENBRlQ7QUFHRSxNQUFBLFFBQVEsRUFBRSxrQkFBQU8sUUFBUSxFQUFJO0FBQ3BCLFlBQU1GLFNBQThDLG1DQUMvQ1QsTUFEK0M7QUFFbERPLFVBQUFBLFlBQVksa0NBQ1BQLE1BQU0sQ0FBQ08sWUFEQSw0Q0FHVEgsTUFIUyxFQUdBTyxRQUFRLENBQUNDLEdBQVQsQ0FDUixVQUFBQyxDQUFDO0FBQUEsbUJBQ0NiLE1BQU0sQ0FBQ08sWUFBUCxDQUFvQkgsTUFBcEIsRUFBNEJVLElBQTVCLENBQ0UsVUFBQUMsWUFBWTtBQUFBLHFCQUFJQSxZQUFZLENBQUNDLElBQWIsS0FBc0JILENBQUMsQ0FBQ0csSUFBNUI7QUFBQSxhQURkLEtBRUs7QUFDSEEsY0FBQUEsSUFBSSxFQUFFSCxDQUFDLENBQUNHLElBREw7QUFFSDtBQUNBQyxjQUFBQSxNQUFNLEVBQUU7QUFITCxhQUhOO0FBQUEsV0FETyxDQUhBO0FBRnNDLFVBQXBEOztBQWlCQWhCLFFBQUFBLFFBQVEsQ0FBQ1EsU0FBRCxDQUFSO0FBQ0QsT0F0Qkg7QUF1QkUsTUFBQSxhQUFhLEVBQUUsS0F2QmpCO0FBd0JFLE1BQUEsV0FBVyxNQXhCYjtBQXlCRSxNQUFBLFVBQVUsRUFBQyxXQXpCYjtBQTBCRSxNQUFBLHVCQUF1QixFQUFFLGlDQUN2QkwsTUFEdUIsRUFFdkJKLE1BRnVCLEVBR3ZCQyxRQUh1QixFQUl2QkMsT0FBTyxDQUFDUSxNQUplLEVBS3ZCUCxxQkFMdUI7QUExQjNCLE1BekJGLENBREY7QUE4REQsR0FyRUQ7O0FBdUVBLE1BQU1lLGFBQWEsR0FBRyxTQUFoQkEsYUFBZ0IsUUFNSTtBQUFBLFFBTHhCbEIsTUFLd0IsU0FMeEJBLE1BS3dCO0FBQUEsUUFKeEJtQixRQUl3QixTQUp4QkEsUUFJd0I7QUFBQSxRQUh4QmxCLFNBR3dCLFNBSHhCQSxRQUd3QjtBQUFBLFFBRnhCRSxxQkFFd0IsU0FGeEJBLHFCQUV3QjtBQUFBLFFBRHhCaUIsSUFDd0IsU0FEeEJBLElBQ3dCO0FBQ3hCLHdCQUNFLGdDQUFDLG9CQUFELFFBQ0dDLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZdEIsTUFBTSxDQUFDTyxZQUFuQixFQUFpQ0ssR0FBakMsQ0FBcUMsVUFBQVIsTUFBTTtBQUFBLGFBQzFDQSxNQUFNLEtBQUttQixnQ0FBWCxHQUFtQyxJQUFuQyxnQkFDRSxnQ0FBQyxvQkFBRDtBQUNFLFFBQUEsR0FBRyxFQUFFbkIsTUFEUDtBQUVFLFFBQUEsTUFBTSxFQUFFSixNQUZWO0FBR0UsUUFBQSxRQUFRLEVBQUVDLFNBSFo7QUFJRSxRQUFBLE9BQU8sRUFBRWtCLFFBQVEsQ0FBQ2YsTUFBRCxDQUpuQjtBQUtFLFFBQUEscUJBQXFCLEVBQUVEO0FBTHpCLFFBRndDO0FBQUEsS0FBM0MsQ0FESCxlQVlFLGdDQUFDLG9CQUFELHFCQUNFLGdDQUFDLDhCQUFEO0FBQWtCLE1BQUEsRUFBRSxFQUFDO0FBQXJCLE1BREYsZUFFRSxnQ0FBQyxrQkFBRDtBQUNFLE1BQUEsT0FBTyxFQUFFSCxNQUFNLENBQUN3QixXQURsQjtBQUVFLE1BQUEsRUFBRSxFQUFDLHFCQUZMO0FBR0UsTUFBQSxRQUFRLEVBQUUsb0JBQU07QUFDZCxZQUFNZixTQUFTLG1DQUNWVCxNQURVO0FBRWJ3QixVQUFBQSxXQUFXLEVBQUUsQ0FBQ3hCLE1BQU0sQ0FBQ3dCO0FBRlIsVUFBZjs7QUFJQXZCLFFBQUFBLFNBQVEsQ0FBQ1EsU0FBRCxDQUFSO0FBQ0QsT0FUSDtBQVVFLE1BQUEsU0FBUztBQVZYLE1BRkYsQ0FaRixlQTJCRSxnQ0FBQyxtQ0FBRCxxQkFDRSxnQ0FBQyw2QkFBRCxxQkFDRSxnQ0FBQyw4QkFBRDtBQUFrQixNQUFBLEVBQUUsRUFBQztBQUFyQixNQURGLENBREYsZUFJRSxnQ0FBQyx3QkFBRDtBQUNFLE1BQUEsUUFBUSxFQUFFLENBQUNULE1BQU0sQ0FBQ3dCLFdBRHBCO0FBRUUsTUFBQSxhQUFhLEVBQUUsdUJBQUFDLENBQUM7QUFBQSxlQUNkTCxJQUFJLENBQUNNLGFBQUwsQ0FBbUI7QUFDakJyQixVQUFBQSxFQUFFLDBCQUFtQm9CLENBQW5CO0FBRGUsU0FBbkIsQ0FEYztBQUFBLE9BRmxCO0FBT0UsTUFBQSxhQUFhLEVBQUV6QixNQUFNLENBQUMyQixXQVB4QjtBQVFFLE1BQUEsT0FBTyxFQUFFTixNQUFNLENBQUNPLE1BQVAsQ0FBY0Msd0JBQWQsQ0FSWDtBQVNFLE1BQUEsV0FBVyxFQUFFLEtBVGY7QUFVRSxNQUFBLFVBQVUsRUFBRSxLQVZkO0FBV0UsTUFBQSxVQUFVLEVBQUUsV0FYZDtBQVlFLE1BQUEsY0FBYyxFQUFFLHdCQUFBSixDQUFDO0FBQUEsZUFBSUEsQ0FBSjtBQUFBLE9BWm5CO0FBYUUsTUFBQSxRQUFRLEVBQUUsa0JBQUFLLE1BQU0sRUFBSTtBQUNsQixZQUFNckIsU0FBdUMsbUNBQ3hDVCxNQUR3QztBQUUzQztBQUNBMkIsVUFBQUEsV0FBVyxFQUFFRztBQUg4QixVQUE3Qzs7QUFLQTdCLFFBQUFBLFNBQVEsQ0FBQ1EsU0FBRCxDQUFSO0FBQ0Q7QUFwQkgsTUFKRixDQTNCRixDQURGO0FBeURELEdBaEVEOztBQWtFQSxTQUFPLDJCQUFXUyxhQUFYLENBQVA7QUFDRDs7ZUFFY3pCLG9CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIzIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtpbmplY3RJbnRsLCBJbnRsU2hhcGV9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5cbmltcG9ydCB7XG4gIFNpZGVQYW5lbFNlY3Rpb24sXG4gIFNCRmxleGJveE5vTWFyZ2luLFxuICBCdXR0b24sXG4gIFBhbmVsTGFiZWxcbn0gZnJvbSAnLi4vLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBEYXRhc2V0VGFnRmFjdG9yeSBmcm9tICcuLi9jb21tb24vZGF0YXNldC10YWcnO1xuaW1wb3J0IFRvb2x0aXBDaGlja2xldEZhY3RvcnkgZnJvbSAnLi90b29sdGlwLWNvbmZpZy90b29sdGlwLWNoaWNrbGV0JztcbmltcG9ydCBTd2l0Y2ggZnJvbSAnLi4vLi4vY29tbW9uL3N3aXRjaCc7XG5pbXBvcnQgSXRlbVNlbGVjdG9yIGZyb20gJy4uLy4uL2NvbW1vbi9pdGVtLXNlbGVjdG9yL2l0ZW0tc2VsZWN0b3InO1xuaW1wb3J0IHtDT01QQVJFX1RZUEVTLCBHRU9DT0RFUl9EQVRBU0VUX05BTUV9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCBGaWVsZFNlbGVjdG9yRmFjdG9yeSBmcm9tICcuLi8uLi9jb21tb24vZmllbGQtc2VsZWN0b3InO1xuaW1wb3J0IEtlcGxlclRhYmxlLCB7RGF0YXNldHN9IGZyb20gJ0BrZXBsZXIuZ2wvdGFibGUnO1xuXG5jb25zdCBUb29sdGlwQ29uZmlnV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIC5pdGVtLXNlbGVjdG9yID4gZGl2ID4gZGl2IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuYDtcblxuY29uc3QgQnV0dG9uV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IDA7XG5cbiAgLmJ1dHRvbi5jbGVhci1hbGwge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvcn07XG4gICAgbWFyZ2luOiAwIDAgMCA4cHg7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IENvbXBhcmVTd2l0Y2hXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEZvbnRTaXplfTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBsaW5lLWhlaWdodDogMTFweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuYDtcblxudHlwZSBUb29sdGlwQ29uZmlnUHJvcHMgPSB7XG4gIGNvbmZpZzoge1xuICAgIGZpZWxkc1RvU2hvdzoge1xuICAgICAgW2tleTogc3RyaW5nXToge25hbWU6IHN0cmluZzsgZm9ybWF0OiBzdHJpbmcgfCBudWxsfVtdO1xuICAgIH07XG4gICAgY29tcGFyZU1vZGU6IGJvb2xlYW47XG4gICAgY29tcGFyZVR5cGU6IHN0cmluZyB8IG51bGw7XG4gIH07XG4gIG9uQ2hhbmdlOiAoY29uZmlnOiB7XG4gICAgZmllbGRzVG9TaG93OiB7XG4gICAgICBba2V5OiBzdHJpbmddOiB7bmFtZTogc3RyaW5nOyBmb3JtYXQ6IHN0cmluZyB8IG51bGx9W107XG4gICAgfTtcbiAgICBjb21wYXJlTW9kZTogYm9vbGVhbjtcbiAgICBjb21wYXJlVHlwZTogc3RyaW5nIHwgbnVsbDtcbiAgfSkgPT4gdm9pZDtcbiAgZGF0YXNldHM6IERhdGFzZXRzO1xuICBpbnRsOiBJbnRsU2hhcGU7XG4gIG9uRGlzcGxheUZvcm1hdENoYW5nZTogKGRhdGFJZCwgY29sdW1uLCBkaXNwbGF5Rm9ybWF0KSA9PiB2b2lkO1xufTtcblxudHlwZSBEYXRhc2V0VG9vbHRpcENvbmZpZ1Byb3BzID0ge1xuICBjb25maWc6IHtcbiAgICBmaWVsZHNUb1Nob3c6IHtcbiAgICAgIFtrZXk6IHN0cmluZ106IHtuYW1lOiBzdHJpbmc7IGZvcm1hdDogc3RyaW5nIHwgbnVsbH1bXTtcbiAgICB9O1xuICAgIGNvbXBhcmVNb2RlOiBib29sZWFuO1xuICAgIGNvbXBhcmVUeXBlOiBzdHJpbmcgfCBudWxsO1xuICB9O1xuICBvbkNoYW5nZTogKGNvbmZpZzoge1xuICAgIGZpZWxkc1RvU2hvdzoge1xuICAgICAgW2tleTogc3RyaW5nXToge25hbWU6IHN0cmluZzsgZm9ybWF0OiBzdHJpbmcgfCBudWxsfVtdO1xuICAgIH07XG4gICAgY29tcGFyZU1vZGU6IGJvb2xlYW47XG4gICAgY29tcGFyZVR5cGU6IHN0cmluZyB8IG51bGw7XG4gIH0pID0+IHZvaWQ7XG4gIGRhdGFzZXQ6IEtlcGxlclRhYmxlO1xuICBvbkRpc3BsYXlGb3JtYXRDaGFuZ2U6IChkYXRhSWQsIGNvbHVtbiwgZGlzcGxheUZvcm1hdCkgPT4gdm9pZDtcbn07XG5cblRvb2x0aXBDb25maWdGYWN0b3J5LmRlcHMgPSBbRGF0YXNldFRhZ0ZhY3RvcnksIEZpZWxkU2VsZWN0b3JGYWN0b3J5XTtcbmZ1bmN0aW9uIFRvb2x0aXBDb25maWdGYWN0b3J5KFxuICBEYXRhc2V0VGFnOiBSZXR1cm5UeXBlPHR5cGVvZiBEYXRhc2V0VGFnRmFjdG9yeT4sXG4gIEZpZWxkU2VsZWN0b3I6IFJldHVyblR5cGU8dHlwZW9mIEZpZWxkU2VsZWN0b3JGYWN0b3J5PlxuKSB7XG4gIGNvbnN0IERhdGFzZXRUb29sdGlwQ29uZmlnID0gKHtcbiAgICBjb25maWcsXG4gICAgb25DaGFuZ2UsXG4gICAgZGF0YXNldCxcbiAgICBvbkRpc3BsYXlGb3JtYXRDaGFuZ2VcbiAgfTogRGF0YXNldFRvb2x0aXBDb25maWdQcm9wcykgPT4ge1xuICAgIGNvbnN0IGRhdGFJZCA9IGRhdGFzZXQuaWQ7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTaWRlUGFuZWxTZWN0aW9uIGtleT17ZGF0YUlkfT5cbiAgICAgICAgPFNCRmxleGJveE5vTWFyZ2luPlxuICAgICAgICAgIDxEYXRhc2V0VGFnIGRhdGFzZXQ9e2RhdGFzZXR9IC8+XG4gICAgICAgICAge0Jvb2xlYW4oY29uZmlnLmZpZWxkc1RvU2hvd1tkYXRhSWRdLmxlbmd0aCkgJiYgKFxuICAgICAgICAgICAgPEJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJjbGVhci1hbGxcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld0NvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgICAgICAgICAgICBmaWVsZHNUb1Nob3c6IHtcbiAgICAgICAgICAgICAgICAgICAgICAuLi5jb25maWcuZmllbGRzVG9TaG93LFxuICAgICAgICAgICAgICAgICAgICAgIFtkYXRhSWRdOiBbXVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgb25DaGFuZ2UobmV3Q29uZmlnKTtcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHdpZHRoPVwiNTRweFwiXG4gICAgICAgICAgICAgICAgc2Vjb25kYXJ5XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImZpZWxkU2VsZWN0b3IuY2xlYXJBbGxcIiAvPlxuICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgIDwvQnV0dG9uV3JhcHBlcj5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NCRmxleGJveE5vTWFyZ2luPlxuICAgICAgICA8RmllbGRTZWxlY3RvclxuICAgICAgICAgIGZpZWxkcz17ZGF0YXNldC5maWVsZHN9XG4gICAgICAgICAgdmFsdWU9e2NvbmZpZy5maWVsZHNUb1Nob3dbZGF0YUlkXX1cbiAgICAgICAgICBvblNlbGVjdD17c2VsZWN0ZWQgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV3Q29uZmlnOiBEYXRhc2V0VG9vbHRpcENvbmZpZ1Byb3BzWydjb25maWcnXSA9IHtcbiAgICAgICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgICAgICBmaWVsZHNUb1Nob3c6IHtcbiAgICAgICAgICAgICAgICAuLi5jb25maWcuZmllbGRzVG9TaG93LFxuICAgICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgICAgICAgICBbZGF0YUlkXTogc2VsZWN0ZWQubWFwKFxuICAgICAgICAgICAgICAgICAgZiA9PlxuICAgICAgICAgICAgICAgICAgICBjb25maWcuZmllbGRzVG9TaG93W2RhdGFJZF0uZmluZChcbiAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwRmllbGQgPT4gdG9vbHRpcEZpZWxkLm5hbWUgPT09IGYubmFtZVxuICAgICAgICAgICAgICAgICAgICApIHx8IHtcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBmLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgLy8gZGVmYXVsdCBpbml0aWFsIHRvb2x0aXAgaXMgbnVsbFxuICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdDogbnVsbFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgb25DaGFuZ2UobmV3Q29uZmlnKTtcbiAgICAgICAgICB9fVxuICAgICAgICAgIGNsb3NlT25TZWxlY3Q9e2ZhbHNlfVxuICAgICAgICAgIG11bHRpU2VsZWN0XG4gICAgICAgICAgaW5wdXRUaGVtZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgQ3VzdG9tQ2hpY2tsZXRDb21wb25lbnQ9e1Rvb2x0aXBDaGlja2xldEZhY3RvcnkoXG4gICAgICAgICAgICBkYXRhSWQsXG4gICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgICAgIGRhdGFzZXQuZmllbGRzLFxuICAgICAgICAgICAgb25EaXNwbGF5Rm9ybWF0Q2hhbmdlXG4gICAgICAgICAgKX1cbiAgICAgICAgLz5cbiAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IFRvb2x0aXBDb25maWcgPSAoe1xuICAgIGNvbmZpZyxcbiAgICBkYXRhc2V0cyxcbiAgICBvbkNoYW5nZSxcbiAgICBvbkRpc3BsYXlGb3JtYXRDaGFuZ2UsXG4gICAgaW50bFxuICB9OiBUb29sdGlwQ29uZmlnUHJvcHMpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb25maWdXcmFwcGVyPlxuICAgICAgICB7T2JqZWN0LmtleXMoY29uZmlnLmZpZWxkc1RvU2hvdykubWFwKGRhdGFJZCA9PlxuICAgICAgICAgIGRhdGFJZCA9PT0gR0VPQ09ERVJfREFUQVNFVF9OQU1FID8gbnVsbCA6IChcbiAgICAgICAgICAgIDxEYXRhc2V0VG9vbHRpcENvbmZpZ1xuICAgICAgICAgICAgICBrZXk9e2RhdGFJZH1cbiAgICAgICAgICAgICAgY29uZmlnPXtjb25maWd9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgICAgICAgZGF0YXNldD17ZGF0YXNldHNbZGF0YUlkXX1cbiAgICAgICAgICAgICAgb25EaXNwbGF5Rm9ybWF0Q2hhbmdlPXtvbkRpc3BsYXlGb3JtYXRDaGFuZ2V9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIClcbiAgICAgICAgKX1cbiAgICAgICAgPENvbXBhcmVTd2l0Y2hXcmFwcGVyPlxuICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwiY29tcGFyZS5tb2RlTGFiZWxcIiAvPlxuICAgICAgICAgIDxTd2l0Y2hcbiAgICAgICAgICAgIGNoZWNrZWQ9e2NvbmZpZy5jb21wYXJlTW9kZX1cbiAgICAgICAgICAgIGlkPVwiY29tcGFyZS1tb2RlLXRvZ2dsZVwiXG4gICAgICAgICAgICBvbkNoYW5nZT17KCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBuZXdDb25maWcgPSB7XG4gICAgICAgICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgICAgICAgIGNvbXBhcmVNb2RlOiAhY29uZmlnLmNvbXBhcmVNb2RlXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIG9uQ2hhbmdlKG5ld0NvbmZpZyk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgc2Vjb25kYXJ5XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9Db21wYXJlU3dpdGNoV3JhcHBlcj5cbiAgICAgICAgPFNpZGVQYW5lbFNlY3Rpb24+XG4gICAgICAgICAgPFBhbmVsTGFiZWw+XG4gICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbXBhcmUudHlwZUxhYmVsXCIgLz5cbiAgICAgICAgICA8L1BhbmVsTGFiZWw+XG4gICAgICAgICAgPEl0ZW1TZWxlY3RvclxuICAgICAgICAgICAgZGlzYWJsZWQ9eyFjb25maWcuY29tcGFyZU1vZGV9XG4gICAgICAgICAgICBkaXNwbGF5T3B0aW9uPXtkID0+XG4gICAgICAgICAgICAgIGludGwuZm9ybWF0TWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgaWQ6IGBjb21wYXJlLnR5cGVzLiR7ZH1gXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZWxlY3RlZEl0ZW1zPXtjb25maWcuY29tcGFyZVR5cGV9XG4gICAgICAgICAgICBvcHRpb25zPXtPYmplY3QudmFsdWVzKENPTVBBUkVfVFlQRVMpfVxuICAgICAgICAgICAgbXVsdGlTZWxlY3Q9e2ZhbHNlfVxuICAgICAgICAgICAgc2VhcmNoYWJsZT17ZmFsc2V9XG4gICAgICAgICAgICBpbnB1dFRoZW1lPXsnc2Vjb25kYXJ5J31cbiAgICAgICAgICAgIGdldE9wdGlvblZhbHVlPXtkID0+IGR9XG4gICAgICAgICAgICBvbkNoYW5nZT17b3B0aW9uID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgbmV3Q29uZmlnOiBUb29sdGlwQ29uZmlnUHJvcHNbJ2NvbmZpZyddID0ge1xuICAgICAgICAgICAgICAgIC4uLmNvbmZpZyxcbiAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgICAgICAgICAgY29tcGFyZVR5cGU6IG9wdGlvblxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICBvbkNoYW5nZShuZXdDb25maWcpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L1NpZGVQYW5lbFNlY3Rpb24+XG4gICAgICA8L1Rvb2x0aXBDb25maWdXcmFwcGVyPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIGluamVjdEludGwoVG9vbHRpcENvbmZpZyk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFRvb2x0aXBDb25maWdGYWN0b3J5O1xuIl19
176
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2ludGVyYWN0aW9uLXBhbmVsL3Rvb2x0aXAtY29uZmlnLnRzeCJdLCJuYW1lcyI6WyJUb29sdGlwQ29uZmlnV3JhcHBlciIsInN0eWxlZCIsImRpdiIsIkJ1dHRvbldyYXBwZXIiLCJwcm9wcyIsInRoZW1lIiwic3VidGV4dENvbG9yIiwidGV4dENvbG9yIiwiQ29tcGFyZVN3aXRjaFdyYXBwZXIiLCJsYWJlbENvbG9yIiwiaW5wdXRGb250U2l6ZSIsIlRvb2x0aXBDb25maWdGYWN0b3J5IiwiZGVwcyIsIkRhdGFzZXRUYWdGYWN0b3J5IiwiRmllbGRTZWxlY3RvckZhY3RvcnkiLCJEYXRhc2V0VGFnIiwiRmllbGRTZWxlY3RvciIsIkRhdGFzZXRUb29sdGlwQ29uZmlnIiwiY29uZmlnIiwib25DaGFuZ2UiLCJkYXRhc2V0Iiwib25EaXNwbGF5Rm9ybWF0Q2hhbmdlIiwiZGF0YUlkIiwiaWQiLCJoYW5kbGVDbGljayIsImZpZWxkc1RvU2hvdyIsImZpbmRTZWxlY3RlZEhlbHBlciIsInNlbGVjdGVkIiwidG9vbHRpcEZpZWxkcyIsIm1hcCIsImYiLCJmaW5kIiwidG9vbHRpcEZpZWxkIiwibmFtZSIsImZvcm1hdCIsImhhbmRsZVNlbGVjdCIsIm5ld0NvbmZpZyIsImhhbmRsZVJlb3JkZXJJdGVtcyIsIm5ld09yZGVyIiwiQm9vbGVhbiIsImxlbmd0aCIsImZpZWxkcyIsIlRvb2x0aXBDb25maWciLCJkYXRhc2V0cyIsImludGwiLCJoYW5kbGVDaGFuZ2UiLCJvcHRpb24iLCJjb21wYXJlVHlwZSIsIk9iamVjdCIsImtleXMiLCJHRU9DT0RFUl9EQVRBU0VUX05BTUUiLCJjb21wYXJlTW9kZSIsImQiLCJmb3JtYXRNZXNzYWdlIiwidmFsdWVzIiwiQ09NUEFSRV9UWVBFUyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBTUE7O0FBQ0E7O0FBQ0E7O0FB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Q0UsZ0NBQUMsOEJBQUQ7QUFBa0IsTUFBQSxFQUFFLEVBQUM7QUFBckIsTUFERixDQURGLGVBSUUsZ0NBQUMsd0JBQUQ7QUFDRSxNQUFBLFFBQVEsRUFBRSxDQUFDbEIsTUFBTSxDQUFDaUMsV0FEcEI7QUFFRSxNQUFBLGFBQWEsRUFBRSx1QkFBQUMsQ0FBQztBQUFBLGVBQ2RSLElBQUksQ0FBQ1MsYUFBTCxDQUFtQjtBQUNqQjlCLFVBQUFBLEVBQUUsMEJBQW1CNkIsQ0FBbkI7QUFEZSxTQUFuQixDQURjO0FBQUEsT0FGbEI7QUFPRSxNQUFBLGFBQWEsRUFBRWxDLE1BQU0sQ0FBQzZCLFdBUHhCO0FBUUUsTUFBQSxPQUFPLEVBQUVDLE1BQU0sQ0FBQ00sTUFBUCxDQUFjQyx3QkFBZCxDQVJYO0FBU0UsTUFBQSxXQUFXLEVBQUUsS0FUZjtBQVVFLE1BQUEsVUFBVSxFQUFFLEtBVmQ7QUFXRSxNQUFBLFVBQVUsRUFBRSxXQVhkO0FBWUUsTUFBQSxjQUFjLEVBQUUsd0JBQUFILENBQUM7QUFBQSxlQUFJQSxDQUFKO0FBQUEsT0FabkI7QUFhRSxNQUFBLFFBQVEsRUFBRVA7QUFiWixNQUpGLENBM0JGLENBREY7QUFrREQsR0FsRUQ7O0FBb0VBLFNBQU8sMkJBQVdILGFBQVgsQ0FBUDtBQUNEOztlQUVjL0Isb0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFja30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge2luamVjdEludGwsIEludGxTaGFwZX0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcblxuaW1wb3J0IHtcbiAgU2lkZVBhbmVsU2VjdGlvbixcbiAgU0JGbGV4Ym94Tm9NYXJnaW4sXG4gIEJ1dHRvbixcbiAgUGFuZWxMYWJlbFxufSBmcm9tICcuLi8uLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IERhdGFzZXRUYWdGYWN0b3J5IGZyb20gJy4uL2NvbW1vbi9kYXRhc2V0LXRhZyc7XG5pbXBvcnQgVG9vbHRpcENoaWNrbGV0RmFjdG9yeSBmcm9tICcuL3Rvb2x0aXAtY29uZmlnL3Rvb2x0aXAtY2hpY2tsZXQnO1xuaW1wb3J0IFN3aXRjaCBmcm9tICcuLi8uLi9jb21tb24vc3dpdGNoJztcbmltcG9ydCBJdGVtU2VsZWN0b3IgZnJvbSAnLi4vLi4vY29tbW9uL2l0ZW0tc2VsZWN0b3IvaXRlbS1zZWxlY3Rvcic7XG5pbXBvcnQge0NPTVBBUkVfVFlQRVMsIEdFT0NPREVSX0RBVEFTRVRfTkFNRX0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IEZpZWxkU2VsZWN0b3JGYWN0b3J5IGZyb20gJy4uLy4uL2NvbW1vbi9maWVsZC1zZWxlY3Rvcic7XG5pbXBvcnQgS2VwbGVyVGFibGUsIHtEYXRhc2V0c30gZnJvbSAnQGtlcGxlci5nbC90YWJsZSc7XG5cbmNvbnN0IFRvb2x0aXBDb25maWdXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgLml0ZW0tc2VsZWN0b3IgPiBkaXYgPiBkaXYge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5gO1xuXG5jb25zdCBCdXR0b25XcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogaW5oZXJpdDtcbiAgcGFkZGluZzogMDtcblxuICAuYnV0dG9uLmNsZWFyLWFsbCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcbiAgICBtYXJnaW46IDAgMCAwIDhweDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgQ29tcGFyZVN3aXRjaFdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Rm9udFNpemV9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGxpbmUtaGVpZ2h0OiAxMXB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5gO1xuXG50eXBlIFRvb2x0aXBDb25maWdQcm9wcyA9IHtcbiAgY29uZmlnOiB7XG4gICAgZmllbGRzVG9TaG93OiB7XG4gICAgICBba2V5OiBzdHJpbmddOiB7bmFtZTogc3RyaW5nOyBmb3JtYXQ6IHN0cmluZyB8IG51bGx9W107XG4gICAgfTtcbiAgICBjb21wYXJlTW9kZTogYm9vbGVhbjtcbiAgICBjb21wYXJlVHlwZTogc3RyaW5nIHwgbnVsbDtcbiAgfTtcbiAgb25DaGFuZ2U6IChjb25maWc6IHtcbiAgICBmaWVsZHNUb1Nob3c6IHtcbiAgICAgIFtrZXk6IHN0cmluZ106IHtuYW1lOiBzdHJpbmc7IGZvcm1hdDogc3RyaW5nIHwgbnVsbH1bXTtcbiAgICB9O1xuICAgIGNvbXBhcmVNb2RlOiBib29sZWFuO1xuICAgIGNvbXBhcmVUeXBlOiBzdHJpbmcgfCBudWxsO1xuICB9KSA9PiB2b2lkO1xuICBkYXRhc2V0czogRGF0YXNldHM7XG4gIGludGw6IEludGxTaGFwZTtcbiAgb25EaXNwbGF5Rm9ybWF0Q2hhbmdlOiAoZGF0YUlkLCBjb2x1bW4sIGRpc3BsYXlGb3JtYXQpID0+IHZvaWQ7XG59O1xuXG50eXBlIERhdGFzZXRUb29sdGlwQ29uZmlnUHJvcHMgPSB7XG4gIGNvbmZpZzoge1xuICAgIGZpZWxkc1RvU2hvdzoge1xuICAgICAgW2tleTogc3RyaW5nXToge25hbWU6IHN0cmluZzsgZm9ybWF0OiBzdHJpbmcgfCBudWxsfVtdO1xuICAgIH07XG4gICAgY29tcGFyZU1vZGU6IGJvb2xlYW47XG4gICAgY29tcGFyZVR5cGU6IHN0cmluZyB8IG51bGw7XG4gIH07XG4gIG9uQ2hhbmdlOiAoY29uZmlnOiB7XG4gICAgZmllbGRzVG9TaG93OiB7XG4gICAgICBba2V5OiBzdHJpbmddOiB7bmFtZTogc3RyaW5nOyBmb3JtYXQ6IHN0cmluZyB8IG51bGx9W107XG4gICAgfTtcbiAgICBjb21wYXJlTW9kZTogYm9vbGVhbjtcbiAgICBjb21wYXJlVHlwZTogc3RyaW5nIHwgbnVsbDtcbiAgfSkgPT4gdm9pZDtcbiAgZGF0YXNldDogS2VwbGVyVGFibGU7XG4gIG9uRGlzcGxheUZvcm1hdENoYW5nZTogKGRhdGFJZCwgY29sdW1uLCBkaXNwbGF5Rm9ybWF0KSA9PiB2b2lkO1xufTtcblxuVG9vbHRpcENvbmZpZ0ZhY3RvcnkuZGVwcyA9IFtEYXRhc2V0VGFnRmFjdG9yeSwgRmllbGRTZWxlY3RvckZhY3RvcnldO1xuZnVuY3Rpb24gVG9vbHRpcENvbmZpZ0ZhY3RvcnkoXG4gIERhdGFzZXRUYWc6IFJldHVyblR5cGU8dHlwZW9mIERhdGFzZXRUYWdGYWN0b3J5PixcbiAgRmllbGRTZWxlY3RvcjogUmV0dXJuVHlwZTx0eXBlb2YgRmllbGRTZWxlY3RvckZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgRGF0YXNldFRvb2x0aXBDb25maWcgPSAoe1xuICAgIGNvbmZpZyxcbiAgICBvbkNoYW5nZSxcbiAgICBkYXRhc2V0LFxuICAgIG9uRGlzcGxheUZvcm1hdENoYW5nZVxuICB9OiBEYXRhc2V0VG9vbHRpcENvbmZpZ1Byb3BzKSA9PiB7XG4gICAgY29uc3QgZGF0YUlkID0gZGF0YXNldC5pZDtcblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgICAoKSA9PlxuICAgICAgICBvbkNoYW5nZSh7XG4gICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgIGZpZWxkc1RvU2hvdzoge1xuICAgICAgICAgICAgLi4uY29uZmlnLmZpZWxkc1RvU2hvdyxcbiAgICAgICAgICAgIFtkYXRhSWRdOiBbXVxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICBbY29uZmlnLCBkYXRhSWQsIG9uQ2hhbmdlXVxuICAgICk7XG5cbiAgICBjb25zdCBmaW5kU2VsZWN0ZWRIZWxwZXIgPSB1c2VDYWxsYmFjaygoc2VsZWN0ZWQsIHRvb2x0aXBGaWVsZHMpID0+IHtcbiAgICAgIHJldHVybiBzZWxlY3RlZC5tYXAoXG4gICAgICAgIGYgPT5cbiAgICAgICAgICB0b29sdGlwRmllbGRzLmZpbmQodG9vbHRpcEZpZWxkID0+IHRvb2x0aXBGaWVsZC5uYW1lID09PSBmLm5hbWUpIHx8IHtcbiAgICAgICAgICAgIG5hbWU6IGYubmFtZSxcbiAgICAgICAgICAgIC8vIGRlZmF1bHQgaW5pdGlhbCB0b29sdGlwIGlzIG51bGxcbiAgICAgICAgICAgIGZvcm1hdDogbnVsbFxuICAgICAgICAgIH1cbiAgICAgICk7XG4gICAgfSwgW10pO1xuXG4gICAgY29uc3QgaGFuZGxlU2VsZWN0ID0gdXNlQ2FsbGJhY2soXG4gICAgICBzZWxlY3RlZCA9PiB7XG4gICAgICAgIGNvbnN0IG5ld0NvbmZpZzogRGF0YXNldFRvb2x0aXBDb25maWdQcm9wc1snY29uZmlnJ10gPSB7XG4gICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgIGZpZWxkc1RvU2hvdzoge1xuICAgICAgICAgICAgLi4uY29uZmlnLmZpZWxkc1RvU2hvdyxcbiAgICAgICAgICAgIFtkYXRhSWRdOiBmaW5kU2VsZWN0ZWRIZWxwZXIoc2VsZWN0ZWQsIGNvbmZpZy5maWVsZHNUb1Nob3dbZGF0YUlkXSlcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIG9uQ2hhbmdlKG5ld0NvbmZpZyk7XG4gICAgICB9LFxuICAgICAgW2NvbmZpZywgZGF0YUlkLCBvbkNoYW5nZV1cbiAgICApO1xuXG4gICAgY29uc3QgaGFuZGxlUmVvcmRlckl0ZW1zID0gdXNlQ2FsbGJhY2soXG4gICAgICBuZXdPcmRlciA9PlxuICAgICAgICBvbkNoYW5nZSh7XG4gICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgIGZpZWxkc1RvU2hvdzoge1xuICAgICAgICAgICAgLi4uY29uZmlnLmZpZWxkc1RvU2hvdyxcbiAgICAgICAgICAgIFtkYXRhSWRdOiBuZXdPcmRlclxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICBbY29uZmlnLCBkYXRhSWQsIG9uQ2hhbmdlXVxuICAgICk7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTaWRlUGFuZWxTZWN0aW9uIGtleT17ZGF0YUlkfT5cbiAgICAgICAgPFNCRmxleGJveE5vTWFyZ2luPlxuICAgICAgICAgIDxEYXRhc2V0VGFnIGRhdGFzZXQ9e2RhdGFzZXR9IC8+XG4gICAgICAgICAge0Jvb2xlYW4oY29uZmlnLmZpZWxkc1RvU2hvd1tkYXRhSWRdLmxlbmd0aCkgJiYgKFxuICAgICAgICAgICAgPEJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgIDxCdXR0b24gY2xhc3NOYW1lPVwiY2xlYXItYWxsXCIgb25DbGljaz17aGFuZGxlQ2xpY2t9IHdpZHRoPVwiNTRweFwiIHNlY29uZGFyeT5cbiAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImZpZWxkU2VsZWN0b3IuY2xlYXJBbGxcIiAvPlxuICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgIDwvQnV0dG9uV3JhcHBlcj5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NCRmxleGJveE5vTWFyZ2luPlxuICAgICAgICA8RmllbGRTZWxlY3RvclxuICAgICAgICAgIGZpZWxkcz17ZGF0YXNldC5maWVsZHN9XG4gICAgICAgICAgdmFsdWU9e2NvbmZpZy5maWVsZHNUb1Nob3dbZGF0YUlkXX1cbiAgICAgICAgICBvblNlbGVjdD17aGFuZGxlU2VsZWN0fVxuICAgICAgICAgIHJlb3JkZXJJdGVtcz17aGFuZGxlUmVvcmRlckl0ZW1zfVxuICAgICAgICAgIGNsb3NlT25TZWxlY3Q9e2ZhbHNlfVxuICAgICAgICAgIG11bHRpU2VsZWN0XG4gICAgICAgICAgaW5wdXRUaGVtZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgQ3VzdG9tQ2hpY2tsZXRDb21wb25lbnQ9e1Rvb2x0aXBDaGlja2xldEZhY3RvcnkoXG4gICAgICAgICAgICBkYXRhSWQsXG4gICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgICAgIGRhdGFzZXQuZmllbGRzLFxuICAgICAgICAgICAgb25EaXNwbGF5Rm9ybWF0Q2hhbmdlXG4gICAgICAgICAgKX1cbiAgICAgICAgLz5cbiAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IFRvb2x0aXBDb25maWcgPSAoe1xuICAgIGNvbmZpZyxcbiAgICBkYXRhc2V0cyxcbiAgICBvbkNoYW5nZSxcbiAgICBvbkRpc3BsYXlGb3JtYXRDaGFuZ2UsXG4gICAgaW50bFxuICB9OiBUb29sdGlwQ29uZmlnUHJvcHMpID0+IHtcbiAgICBjb25zdCBoYW5kbGVDaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAgIChvcHRpb246IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBvYmplY3QgfCBudWxsKSA9PlxuICAgICAgICBvbkNoYW5nZSh7XG4gICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgIGNvbXBhcmVUeXBlOiBvcHRpb24gYXMgc3RyaW5nIHwgbnVsbFxuICAgICAgICB9KSxcbiAgICAgIFtjb25maWcsIG9uQ2hhbmdlXVxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb25maWdXcmFwcGVyPlxuICAgICAgICB7T2JqZWN0LmtleXMoY29uZmlnLmZpZWxkc1RvU2hvdykubWFwKGRhdGFJZCA9PlxuICAgICAgICAgIGRhdGFJZCA9PT0gR0VPQ09ERVJfREFUQVNFVF9OQU1FID8gbnVsbCA6IChcbiAgICAgICAgICAgIDxEYXRhc2V0VG9vbHRpcENvbmZpZ1xuICAgICAgICAgICAgICBrZXk9e2RhdGFJZH1cbiAgICAgICAgICAgICAgY29uZmlnPXtjb25maWd9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgICAgICAgZGF0YXNldD17ZGF0YXNldHNbZGF0YUlkXX1cbiAgICAgICAgICAgICAgb25EaXNwbGF5Rm9ybWF0Q2hhbmdlPXtvbkRpc3BsYXlGb3JtYXRDaGFuZ2V9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIClcbiAgICAgICAgKX1cbiAgICAgICAgPENvbXBhcmVTd2l0Y2hXcmFwcGVyPlxuICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwiY29tcGFyZS5tb2RlTGFiZWxcIiAvPlxuICAgICAgICAgIDxTd2l0Y2hcbiAgICAgICAgICAgIGNoZWNrZWQ9e2NvbmZpZy5jb21wYXJlTW9kZX1cbiAgICAgICAgICAgIGlkPVwiY29tcGFyZS1tb2RlLXRvZ2dsZVwiXG4gICAgICAgICAgICBvbkNoYW5nZT17KCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBuZXdDb25maWcgPSB7XG4gICAgICAgICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgICAgICAgIGNvbXBhcmVNb2RlOiAhY29uZmlnLmNvbXBhcmVNb2RlXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIG9uQ2hhbmdlKG5ld0NvbmZpZyk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgc2Vjb25kYXJ5XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9Db21wYXJlU3dpdGNoV3JhcHBlcj5cbiAgICAgICAgPFNpZGVQYW5lbFNlY3Rpb24+XG4gICAgICAgICAgPFBhbmVsTGFiZWw+XG4gICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbXBhcmUudHlwZUxhYmVsXCIgLz5cbiAgICAgICAgICA8L1BhbmVsTGFiZWw+XG4gICAgICAgICAgPEl0ZW1TZWxlY3RvclxuICAgICAgICAgICAgZGlzYWJsZWQ9eyFjb25maWcuY29tcGFyZU1vZGV9XG4gICAgICAgICAgICBkaXNwbGF5T3B0aW9uPXtkID0+XG4gICAgICAgICAgICAgIGludGwuZm9ybWF0TWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgaWQ6IGBjb21wYXJlLnR5cGVzLiR7ZH1gXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZWxlY3RlZEl0ZW1zPXtjb25maWcuY29tcGFyZVR5cGV9XG4gICAgICAgICAgICBvcHRpb25zPXtPYmplY3QudmFsdWVzKENPTVBBUkVfVFlQRVMpfVxuICAgICAgICAgICAgbXVsdGlTZWxlY3Q9e2ZhbHNlfVxuICAgICAgICAgICAgc2VhcmNoYWJsZT17ZmFsc2V9XG4gICAgICAgICAgICBpbnB1dFRoZW1lPXsnc2Vjb25kYXJ5J31cbiAgICAgICAgICAgIGdldE9wdGlvblZhbHVlPXtkID0+IGR9XG4gICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgIDwvVG9vbHRpcENvbmZpZ1dyYXBwZXI+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gaW5qZWN0SW50bChUb29sdGlwQ29uZmlnKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgVG9vbHRpcENvbmZpZ0ZhY3Rvcnk7XG4iXX0=
@@ -12,6 +12,10 @@ import { UIStateActions, VisStateActions, ActionHandler } from '@kepler.gl/actio
12
12
  import { SidePanelItem } from '../types';
13
13
  import { PanelListView } from '@kepler.gl/types';
14
14
  import { Datasets } from '@kepler.gl/table';
15
+ declare type LayerBlendingSelectorProps = {
16
+ layerBlending: string;
17
+ updateLayerBlending: ActionHandler<typeof VisStateActions.updateLayerBlending>;
18
+ } & WrappedComponentProps;
15
19
  declare type LayerManagerProps = {
16
20
  datasets: Datasets;
17
21
  layers: Layer[];
@@ -28,6 +32,7 @@ declare type LayerManagerProps = {
28
32
  panelListView: PanelListView;
29
33
  panelMetadata: SidePanelItem;
30
34
  } & WrappedComponentProps;
35
+ export declare const LayerBlendingSelector: React.MemoExoticComponent<({ layerBlending, updateLayerBlending, intl }: LayerBlendingSelectorProps) => React.JSX.Element>;
31
36
  declare function LayerManagerFactory(LayerList: ReturnType<typeof LayerListFactory>, DatasetLayerGroup: ReturnType<typeof DatasetLayerGroupFactory>, PanelViewListToggle: ReturnType<typeof PanelViewListToggleFactory>, PanelTitle: ReturnType<typeof PanelTitleFactory>, DatasetSection: ReturnType<typeof DatasetSectionFactory>, AddLayerButton: ReturnType<typeof AddLayerButtonFactory>, InfoHelper: ReturnType<typeof InfoHelperFactory>): React.FC<import("react-intl").WithIntlProps<LayerManagerProps>> & {
32
37
  WrappedComponent: React.ComponentType<LayerManagerProps>;
33
38
  };