@kepler.gl/components 3.0.0-alpha.0 → 3.0.0-alpha.2

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 (631) hide show
  1. package/dist/bottom-widget.d.ts +11 -38
  2. package/dist/bottom-widget.js +42 -118
  3. package/dist/common/action-panel.d.ts +2 -2
  4. package/dist/common/action-panel.js +3 -23
  5. package/dist/common/animation-control/animation-control.d.ts +19 -18
  6. package/dist/common/animation-control/animation-control.js +58 -100
  7. package/dist/common/animation-control/animation-controller.d.ts +6 -2
  8. package/dist/common/animation-control/animation-controller.js +49 -55
  9. package/dist/common/animation-control/animation-speed-slider.js +1 -21
  10. package/dist/common/animation-control/animation-window-control.js +3 -21
  11. package/dist/common/animation-control/floating-time-display.d.ts +2 -2
  12. package/dist/common/animation-control/floating-time-display.js +1 -21
  13. package/dist/common/animation-control/play-control.d.ts +2 -2
  14. package/dist/common/animation-control/play-control.js +3 -21
  15. package/dist/common/animation-control/playback-controls.d.ts +7 -7
  16. package/dist/common/animation-control/playback-controls.js +5 -25
  17. package/dist/common/animation-control/reset-control.d.ts +2 -2
  18. package/dist/common/animation-control/reset-control.js +3 -21
  19. package/dist/common/animation-control/speed-control.d.ts +2 -2
  20. package/dist/common/animation-control/speed-control.js +1 -21
  21. package/dist/common/animation-control/window-action-control.d.ts +2 -2
  22. package/dist/common/animation-control/window-action-control.js +3 -21
  23. package/dist/common/checkbox.d.ts +2 -2
  24. package/dist/common/checkbox.js +2 -22
  25. package/dist/common/color-legend.d.ts +3 -3
  26. package/dist/common/color-legend.js +10 -36
  27. package/dist/common/data-table/button.d.ts +1 -1
  28. package/dist/common/data-table/button.js +1 -21
  29. package/dist/common/data-table/canvas.js +1 -21
  30. package/dist/common/data-table/cell-size.js +43 -32
  31. package/dist/common/data-table/display-format.d.ts +25 -0
  32. package/dist/common/data-table/display-format.js +149 -0
  33. package/dist/common/data-table/grid.d.ts +5 -2
  34. package/dist/common/data-table/grid.js +44 -24
  35. package/dist/common/data-table/header-cell.d.ts +4 -1
  36. package/dist/common/data-table/header-cell.js +65 -48
  37. package/dist/common/data-table/index.d.ts +27 -34
  38. package/dist/common/data-table/index.js +147 -81
  39. package/dist/common/data-table/option-dropdown.d.ts +17 -3
  40. package/dist/common/data-table/option-dropdown.js +85 -32
  41. package/dist/common/dataset-label.d.ts +2 -2
  42. package/dist/common/dataset-label.js +2 -22
  43. package/dist/common/error-boundary.d.ts +6 -2
  44. package/dist/common/error-boundary.js +1 -21
  45. package/dist/common/field-selector.d.ts +10 -3
  46. package/dist/common/field-selector.js +4 -22
  47. package/dist/common/field-token.d.ts +12 -0
  48. package/dist/common/field-token.js +6 -22
  49. package/dist/common/file-uploader/file-drop.d.ts +3 -2
  50. package/dist/common/file-uploader/file-drop.js +1 -21
  51. package/dist/common/file-uploader/file-upload-progress.js +1 -21
  52. package/dist/common/file-uploader/file-upload.d.ts +2 -6
  53. package/dist/common/file-uploader/file-upload.js +1 -21
  54. package/dist/common/file-uploader/upload-button.d.ts +1 -0
  55. package/dist/common/file-uploader/upload-button.js +1 -21
  56. package/dist/common/flex-container.d.ts +3 -0
  57. package/dist/common/flex-container.js +23 -0
  58. package/dist/common/histogram-plot.d.ts +2 -2
  59. package/dist/common/histogram-plot.js +17 -31
  60. package/dist/common/icon-button.d.ts +3 -2
  61. package/dist/common/icon-button.js +1 -21
  62. package/dist/common/icons/add.d.ts +2 -2
  63. package/dist/common/icons/add.js +1 -21
  64. package/dist/common/icons/anchor_window.d.ts +2 -2
  65. package/dist/common/icons/anchor_window.js +6 -22
  66. package/dist/common/icons/arrow-down-alt.d.ts +2 -2
  67. package/dist/common/icons/arrow-down-alt.js +1 -21
  68. package/dist/common/icons/arrow-down-small.d.ts +14 -0
  69. package/dist/common/icons/arrow-down-small.js +72 -0
  70. package/dist/common/icons/arrow-down-solid.d.ts +2 -2
  71. package/dist/common/icons/arrow-down-solid.js +1 -21
  72. package/dist/common/icons/arrow-down.d.ts +2 -2
  73. package/dist/common/icons/arrow-down.js +1 -21
  74. package/dist/common/icons/arrow-left.d.ts +2 -2
  75. package/dist/common/icons/arrow-left.js +1 -21
  76. package/dist/common/icons/arrow-right.d.ts +2 -2
  77. package/dist/common/icons/arrow-right.js +1 -21
  78. package/dist/common/icons/arrow-up-alt.d.ts +2 -2
  79. package/dist/common/icons/arrow-up-alt.js +1 -21
  80. package/dist/common/icons/arrow-up-solid.d.ts +2 -2
  81. package/dist/common/icons/arrow-up-solid.js +1 -21
  82. package/dist/common/icons/arrow-up.d.ts +2 -2
  83. package/dist/common/icons/arrow-up.js +1 -21
  84. package/dist/common/icons/base.d.ts +1 -1
  85. package/dist/common/icons/base.js +1 -21
  86. package/dist/common/icons/bug.d.ts +2 -2
  87. package/dist/common/icons/bug.js +1 -21
  88. package/dist/common/icons/calendar.d.ts +10 -0
  89. package/dist/common/icons/calendar.js +66 -0
  90. package/dist/common/icons/cancel.d.ts +2 -2
  91. package/dist/common/icons/cancel.js +1 -21
  92. package/dist/common/icons/checkmark.d.ts +2 -2
  93. package/dist/common/icons/checkmark.js +1 -21
  94. package/dist/common/icons/clipboard.d.ts +2 -2
  95. package/dist/common/icons/clipboard.js +1 -21
  96. package/dist/common/icons/clock.d.ts +2 -2
  97. package/dist/common/icons/clock.js +1 -21
  98. package/dist/common/icons/close.d.ts +2 -2
  99. package/dist/common/icons/close.js +1 -21
  100. package/dist/common/icons/code-alt.d.ts +2 -2
  101. package/dist/common/icons/code-alt.js +1 -21
  102. package/dist/common/icons/copy.d.ts +2 -2
  103. package/dist/common/icons/copy.js +1 -21
  104. package/dist/common/icons/crosshairs.d.ts +2 -2
  105. package/dist/common/icons/crosshairs.js +1 -21
  106. package/dist/common/icons/cube-3d.d.ts +2 -2
  107. package/dist/common/icons/cube-3d.js +1 -21
  108. package/dist/common/icons/cursor-click.d.ts +2 -2
  109. package/dist/common/icons/cursor-click.js +1 -21
  110. package/dist/common/icons/cursor-point.d.ts +14 -0
  111. package/dist/common/icons/cursor-point.js +69 -0
  112. package/dist/common/icons/data-table.d.ts +2 -2
  113. package/dist/common/icons/data-table.js +1 -21
  114. package/dist/common/icons/db.d.ts +2 -2
  115. package/dist/common/icons/db.js +1 -21
  116. package/dist/common/icons/delete.d.ts +2 -2
  117. package/dist/common/icons/delete.js +1 -21
  118. package/dist/common/icons/docs.d.ts +2 -2
  119. package/dist/common/icons/docs.js +1 -21
  120. package/dist/common/icons/drag-n-drop.d.ts +2 -2
  121. package/dist/common/icons/drag-n-drop.js +1 -21
  122. package/dist/common/icons/draw-polygon.d.ts +2 -2
  123. package/dist/common/icons/draw-polygon.js +1 -21
  124. package/dist/common/icons/effects/brightness-contrast.d.ts +14 -0
  125. package/dist/common/icons/effects/brightness-contrast.js +88 -0
  126. package/dist/common/icons/effects/color-halftone.d.ts +14 -0
  127. package/dist/common/icons/effects/color-halftone.js +127 -0
  128. package/dist/common/icons/effects/dot-screen.d.ts +14 -0
  129. package/dist/common/icons/effects/dot-screen.js +122 -0
  130. package/dist/common/icons/effects/edge-work.d.ts +14 -0
  131. package/dist/common/icons/effects/edge-work.js +81 -0
  132. package/dist/common/icons/effects/hexagonal-pixelate.d.ts +14 -0
  133. package/dist/common/icons/effects/hexagonal-pixelate.js +148 -0
  134. package/dist/common/icons/effects/hue-saturation.d.ts +14 -0
  135. package/dist/common/icons/effects/hue-saturation.js +79 -0
  136. package/dist/common/icons/effects/ink.d.ts +14 -0
  137. package/dist/common/icons/effects/ink.js +78 -0
  138. package/dist/common/icons/effects/light-and-shadow.d.ts +14 -0
  139. package/dist/common/icons/effects/light-and-shadow.js +67 -0
  140. package/dist/common/icons/effects/magic-wand.d.ts +14 -0
  141. package/dist/common/icons/effects/magic-wand.js +79 -0
  142. package/dist/common/icons/effects/magnify.d.ts +14 -0
  143. package/dist/common/icons/effects/magnify.js +86 -0
  144. package/dist/common/icons/effects/noise.d.ts +14 -0
  145. package/dist/common/icons/effects/noise.js +132 -0
  146. package/dist/common/icons/effects/sepia.d.ts +14 -0
  147. package/dist/common/icons/effects/sepia.js +79 -0
  148. package/dist/common/icons/effects/tilt-shift.d.ts +14 -0
  149. package/dist/common/icons/effects/tilt-shift.js +88 -0
  150. package/dist/common/icons/effects/triangle-blur.d.ts +14 -0
  151. package/dist/common/icons/effects/triangle-blur.js +83 -0
  152. package/dist/common/icons/effects/vibrance.d.ts +14 -0
  153. package/dist/common/icons/effects/vibrance.js +79 -0
  154. package/dist/common/icons/effects/vignette.d.ts +14 -0
  155. package/dist/common/icons/effects/vignette.js +72 -0
  156. package/dist/common/icons/effects/zoom-blur.d.ts +14 -0
  157. package/dist/common/icons/effects/zoom-blur.js +107 -0
  158. package/dist/common/icons/email.d.ts +2 -2
  159. package/dist/common/icons/email.js +1 -21
  160. package/dist/common/icons/expand.d.ts +2 -2
  161. package/dist/common/icons/expand.js +1 -21
  162. package/dist/common/icons/eye-seen.d.ts +2 -2
  163. package/dist/common/icons/eye-seen.js +1 -21
  164. package/dist/common/icons/eye-unseen.d.ts +2 -2
  165. package/dist/common/icons/eye-unseen.js +1 -21
  166. package/dist/common/icons/file-type.d.ts +2 -2
  167. package/dist/common/icons/file-type.js +1 -21
  168. package/dist/common/icons/file.d.ts +2 -2
  169. package/dist/common/icons/file.js +1 -21
  170. package/dist/common/icons/files.d.ts +1 -1
  171. package/dist/common/icons/files.js +1 -21
  172. package/dist/common/icons/filter-funnel.d.ts +2 -2
  173. package/dist/common/icons/filter-funnel.js +1 -21
  174. package/dist/common/icons/free-window.d.ts +2 -2
  175. package/dist/common/icons/free-window.js +6 -22
  176. package/dist/common/icons/gear.d.ts +2 -2
  177. package/dist/common/icons/gear.js +1 -21
  178. package/dist/common/icons/globe.d.ts +15 -0
  179. package/dist/common/icons/globe.js +72 -0
  180. package/dist/common/icons/hash.d.ts +2 -2
  181. package/dist/common/icons/hash.js +1 -21
  182. package/dist/common/icons/histogram.d.ts +1 -1
  183. package/dist/common/icons/histogram.js +1 -21
  184. package/dist/common/icons/index.d.ts +26 -0
  185. package/dist/common/icons/index.js +209 -21
  186. package/dist/common/icons/info.d.ts +2 -2
  187. package/dist/common/icons/info.js +1 -21
  188. package/dist/common/icons/layers.d.ts +2 -2
  189. package/dist/common/icons/layers.js +1 -21
  190. package/dist/common/icons/left-arrow.d.ts +2 -2
  191. package/dist/common/icons/left-arrow.js +1 -21
  192. package/dist/common/icons/legend.d.ts +2 -2
  193. package/dist/common/icons/legend.js +1 -21
  194. package/dist/common/icons/line-chart.d.ts +2 -2
  195. package/dist/common/icons/line-chart.js +1 -21
  196. package/dist/common/icons/location-marker.d.ts +14 -0
  197. package/dist/common/icons/location-marker.js +77 -0
  198. package/dist/common/icons/login.d.ts +2 -2
  199. package/dist/common/icons/login.js +1 -21
  200. package/dist/common/icons/logout.d.ts +2 -2
  201. package/dist/common/icons/logout.js +1 -21
  202. package/dist/common/icons/map-icon.d.ts +2 -2
  203. package/dist/common/icons/map-icon.js +1 -21
  204. package/dist/common/icons/map.d.ts +2 -2
  205. package/dist/common/icons/map.js +1 -21
  206. package/dist/common/icons/messages.d.ts +2 -2
  207. package/dist/common/icons/messages.js +1 -21
  208. package/dist/common/icons/minus.d.ts +2 -2
  209. package/dist/common/icons/minus.js +1 -21
  210. package/dist/common/icons/moon.d.ts +14 -0
  211. package/dist/common/icons/moon.js +77 -0
  212. package/dist/common/icons/order-by-dataset.d.ts +2 -2
  213. package/dist/common/icons/order-by-dataset.js +6 -22
  214. package/dist/common/icons/order-by-list.d.ts +2 -2
  215. package/dist/common/icons/order-by-list.js +6 -22
  216. package/dist/common/icons/pause.d.ts +2 -2
  217. package/dist/common/icons/pause.js +1 -21
  218. package/dist/common/icons/picture.d.ts +1 -1
  219. package/dist/common/icons/picture.js +1 -21
  220. package/dist/common/icons/pin.d.ts +2 -2
  221. package/dist/common/icons/pin.js +1 -21
  222. package/dist/common/icons/play.d.ts +2 -2
  223. package/dist/common/icons/play.js +1 -21
  224. package/dist/common/icons/polygon.d.ts +2 -2
  225. package/dist/common/icons/polygon.js +1 -21
  226. package/dist/common/icons/rectangle.d.ts +2 -2
  227. package/dist/common/icons/rectangle.js +1 -21
  228. package/dist/common/icons/reduce.d.ts +2 -2
  229. package/dist/common/icons/reduce.js +1 -21
  230. package/dist/common/icons/reset.d.ts +2 -2
  231. package/dist/common/icons/reset.js +1 -21
  232. package/dist/common/icons/rocket.d.ts +2 -2
  233. package/dist/common/icons/rocket.js +1 -21
  234. package/dist/common/icons/save.d.ts +2 -2
  235. package/dist/common/icons/save.js +1 -21
  236. package/dist/common/icons/save2.d.ts +2 -2
  237. package/dist/common/icons/save2.js +1 -21
  238. package/dist/common/icons/search.d.ts +2 -2
  239. package/dist/common/icons/search.js +1 -21
  240. package/dist/common/icons/settings.d.ts +2 -2
  241. package/dist/common/icons/settings.js +1 -21
  242. package/dist/common/icons/share.d.ts +2 -2
  243. package/dist/common/icons/share.js +1 -21
  244. package/dist/common/icons/split.d.ts +2 -2
  245. package/dist/common/icons/split.js +1 -21
  246. package/dist/common/icons/square-select.d.ts +2 -2
  247. package/dist/common/icons/square-select.js +1 -21
  248. package/dist/common/icons/sun.d.ts +14 -0
  249. package/dist/common/icons/sun.js +93 -0
  250. package/dist/common/icons/sunrise.d.ts +14 -0
  251. package/dist/common/icons/sunrise.js +89 -0
  252. package/dist/common/icons/sunset.d.ts +14 -0
  253. package/dist/common/icons/sunset.js +89 -0
  254. package/dist/common/icons/trash.d.ts +2 -2
  255. package/dist/common/icons/trash.js +1 -21
  256. package/dist/common/icons/vert-dots.d.ts +2 -2
  257. package/dist/common/icons/vert-dots.js +1 -21
  258. package/dist/common/icons/vert-three-dots.d.ts +2 -2
  259. package/dist/common/icons/vert-three-dots.js +1 -21
  260. package/dist/common/icons/warning-sign.d.ts +2 -2
  261. package/dist/common/icons/warning-sign.js +1 -21
  262. package/dist/common/icons/warning.d.ts +2 -2
  263. package/dist/common/icons/warning.js +1 -21
  264. package/dist/common/image-preview.d.ts +2 -2
  265. package/dist/common/image-preview.js +1 -21
  266. package/dist/common/index.d.ts +1 -1
  267. package/dist/common/index.js +7 -21
  268. package/dist/common/info-helper.d.ts +2 -2
  269. package/dist/common/info-helper.js +1 -21
  270. package/dist/common/item-selector/accessor.js +5 -22
  271. package/dist/common/item-selector/chickleted-input.d.ts +1 -0
  272. package/dist/common/item-selector/chickleted-input.js +104 -44
  273. package/dist/common/item-selector/dropdown-list.d.ts +30 -8
  274. package/dist/common/item-selector/dropdown-list.js +150 -46
  275. package/dist/common/item-selector/item-selector.d.ts +5 -3
  276. package/dist/common/item-selector/item-selector.js +16 -24
  277. package/dist/common/item-selector/typeahead.d.ts +16 -12
  278. package/dist/common/item-selector/typeahead.js +23 -32
  279. package/dist/common/line-chart.d.ts +2 -2
  280. package/dist/common/line-chart.js +1 -21
  281. package/dist/common/loading-spinner.js +1 -21
  282. package/dist/common/logo.d.ts +2 -2
  283. package/dist/common/logo.js +1 -21
  284. package/dist/common/map-layer-selector.d.ts +2 -2
  285. package/dist/common/map-layer-selector.js +2 -23
  286. package/dist/common/modal.d.ts +24 -11
  287. package/dist/common/modal.js +25 -28
  288. package/dist/common/portaled.d.ts +526 -2
  289. package/dist/common/portaled.js +1 -21
  290. package/dist/common/progress-bar.d.ts +2 -2
  291. package/dist/common/progress-bar.js +1 -21
  292. package/dist/common/range-brush.js +1 -21
  293. package/dist/common/range-plot.d.ts +6 -2
  294. package/dist/common/range-plot.js +3 -22
  295. package/dist/common/range-slider.d.ts +6 -2
  296. package/dist/common/range-slider.js +8 -22
  297. package/dist/common/slider/mouse-event.js +6 -22
  298. package/dist/common/slider/slider-bar-handle.d.ts +2 -2
  299. package/dist/common/slider/slider-bar-handle.js +1 -21
  300. package/dist/common/slider/slider-handle.d.ts +1 -1
  301. package/dist/common/slider/slider-handle.js +1 -21
  302. package/dist/common/slider/slider.d.ts +7 -5
  303. package/dist/common/slider/slider.js +7 -24
  304. package/dist/common/styled-components.d.ts +8 -3
  305. package/dist/common/styled-components.js +161 -68
  306. package/dist/common/switch.d.ts +3 -2
  307. package/dist/common/switch.js +1 -21
  308. package/dist/common/time-range-slider-time-title.d.ts +2 -2
  309. package/dist/common/time-range-slider-time-title.js +1 -21
  310. package/dist/common/time-range-slider.d.ts +6 -3
  311. package/dist/common/time-range-slider.js +32 -33
  312. package/dist/common/time-slider-marker.d.ts +1 -1
  313. package/dist/common/time-slider-marker.js +2 -22
  314. package/dist/common/timeline-slider.d.ts +13 -0
  315. package/dist/common/timeline-slider.js +153 -0
  316. package/dist/common/tippy-tooltip.d.ts +4 -2
  317. package/dist/common/tippy-tooltip.js +22 -30
  318. package/dist/common/toolbar-item.d.ts +1 -1
  319. package/dist/common/toolbar-item.js +5 -23
  320. package/dist/common/toolbar.js +1 -21
  321. package/dist/common/vertical-toolbar.js +1 -21
  322. package/dist/connect/keplergl-connect.d.ts +5 -1
  323. package/dist/connect/keplergl-connect.js +6 -22
  324. package/dist/connect/with-local-selector.js +1 -21
  325. package/dist/container.js +1 -21
  326. package/dist/context.d.ts +11 -0
  327. package/dist/context.js +20 -24
  328. package/dist/dnd-context.d.ts +13 -0
  329. package/dist/dnd-context.js +157 -0
  330. package/dist/editor/editor.d.ts +11 -10
  331. package/dist/editor/editor.js +96 -122
  332. package/dist/editor/feature-action-panel.d.ts +8 -6
  333. package/dist/editor/feature-action-panel.js +57 -55
  334. package/dist/effects/compact-color-picker.d.ts +10 -0
  335. package/dist/effects/compact-color-picker.js +130 -0
  336. package/dist/effects/effect-configurator.d.ts +17 -0
  337. package/dist/effects/effect-configurator.js +302 -0
  338. package/dist/effects/effect-list.d.ts +15 -0
  339. package/dist/effects/effect-list.js +153 -0
  340. package/dist/effects/effect-manager.d.ts +22 -0
  341. package/dist/effects/effect-manager.js +142 -0
  342. package/dist/effects/effect-panel-header.d.ts +45 -0
  343. package/dist/effects/effect-panel-header.js +206 -0
  344. package/dist/effects/effect-panel.d.ts +24 -0
  345. package/dist/effects/effect-panel.js +149 -0
  346. package/dist/effects/effect-time-configurator.d.ts +20 -0
  347. package/dist/effects/effect-time-configurator.js +340 -0
  348. package/dist/effects/effect-time-selector.d.ts +16 -0
  349. package/dist/effects/effect-time-selector.js +181 -0
  350. package/dist/effects/effect-time-slider.d.ts +34 -0
  351. package/dist/effects/effect-time-slider.js +220 -0
  352. package/dist/effects/effect-type-dropdown-list.d.ts +18 -0
  353. package/dist/effects/effect-type-dropdown-list.js +77 -0
  354. package/dist/effects/effect-type-list-item.d.ts +22 -0
  355. package/dist/effects/effect-type-list-item.js +105 -0
  356. package/dist/effects/effect-type-selector.d.ts +30 -0
  357. package/dist/effects/effect-type-selector.js +92 -0
  358. package/dist/effects/side-panel-title.d.ts +7 -0
  359. package/dist/effects/side-panel-title.js +47 -0
  360. package/dist/effects/timezone-selector.d.ts +19 -0
  361. package/dist/effects/timezone-selector.js +71 -0
  362. package/dist/filter-animation-controller.d.ts +17 -0
  363. package/dist/filter-animation-controller.js +73 -0
  364. package/dist/filters/components.js +1 -21
  365. package/dist/filters/filter-panels/filter-panel-with-field-select.js +7 -23
  366. package/dist/filters/filter-panels/multi-select-filter-panel.js +7 -23
  367. package/dist/filters/filter-panels/new-filter-panel.js +6 -22
  368. package/dist/filters/filter-panels/polygon-filter-panel.js +7 -23
  369. package/dist/filters/filter-panels/range-filter-panel.js +7 -23
  370. package/dist/filters/filter-panels/single-select-filter-panel.js +7 -23
  371. package/dist/filters/filter-panels/time-range-filter-panel.js +24 -27
  372. package/dist/filters/filter-panels/types.d.ts +2 -1
  373. package/dist/filters/filter-panels/types.js +0 -20
  374. package/dist/filters/index.d.ts +2 -0
  375. package/dist/filters/index.js +17 -21
  376. package/dist/filters/multi-select-filter.js +6 -22
  377. package/dist/filters/polygon-filter.js +18 -24
  378. package/dist/filters/range-filter.js +9 -23
  379. package/dist/filters/single-select-filter.js +6 -22
  380. package/dist/filters/time-range-filter.d.ts +2 -1
  381. package/dist/filters/time-range-filter.js +15 -27
  382. package/dist/filters/time-widget-top.d.ts +8 -0
  383. package/dist/filters/time-widget-top.js +103 -0
  384. package/dist/filters/time-widget.d.ts +3 -7
  385. package/dist/filters/time-widget.js +34 -111
  386. package/dist/filters/types.d.ts +7 -3
  387. package/dist/filters/types.js +0 -20
  388. package/dist/geocoder/geocoder.d.ts +1 -3
  389. package/dist/geocoder/geocoder.js +10 -27
  390. package/dist/geocoder-panel.d.ts +9 -3
  391. package/dist/geocoder-panel.js +29 -38
  392. package/dist/hooks/use-cloud-list-provider.d.ts +11 -0
  393. package/dist/hooks/use-cloud-list-provider.js +57 -0
  394. package/dist/hooks/use-dnd-effects.d.ts +9 -0
  395. package/dist/hooks/use-dnd-effects.js +88 -0
  396. package/dist/hooks/use-dnd-layers.d.ts +9 -0
  397. package/dist/hooks/use-dnd-layers.js +95 -0
  398. package/dist/hooks/use-feature-flags.d.ts +5 -0
  399. package/dist/hooks/use-feature-flags.js +21 -0
  400. package/dist/index.d.ts +78 -21
  401. package/dist/index.js +695 -116
  402. package/dist/injector.d.ts +4 -4
  403. package/dist/injector.js +1 -21
  404. package/dist/kepler-gl.d.ts +59 -17
  405. package/dist/kepler-gl.js +88 -53
  406. package/dist/layer-animation-controller.d.ts +13 -0
  407. package/dist/layer-animation-controller.js +58 -0
  408. package/dist/map/coordinate-info.js +6 -22
  409. package/dist/map/effects/effect-control.d.ts +16 -0
  410. package/dist/map/effects/effect-control.js +63 -0
  411. package/dist/map/layer-hover-info.d.ts +2 -2
  412. package/dist/map/layer-hover-info.js +26 -30
  413. package/dist/map/layer-selector-panel.js +6 -22
  414. package/dist/map/lazy-tippy.js +1 -21
  415. package/dist/map/locale-panel.d.ts +1 -1
  416. package/dist/map/locale-panel.js +6 -22
  417. package/dist/map/map-control-panel.d.ts +6 -0
  418. package/dist/map/map-control-panel.js +64 -28
  419. package/dist/map/map-control-toolbar.js +2 -22
  420. package/dist/map/map-control-tooltip.js +6 -22
  421. package/dist/map/map-control.d.ts +15 -7
  422. package/dist/map/map-control.js +5 -26
  423. package/dist/map/map-draw-panel.d.ts +2 -2
  424. package/dist/map/map-draw-panel.js +6 -29
  425. package/dist/map/map-legend-panel.d.ts +12 -1
  426. package/dist/map/map-legend-panel.js +31 -34
  427. package/dist/map/map-legend.d.ts +1 -1
  428. package/dist/map/map-legend.js +1 -21
  429. package/dist/map/map-popover-content.d.ts +28 -0
  430. package/dist/map/map-popover-content.js +35 -0
  431. package/dist/map/map-popover.d.ts +11 -14
  432. package/dist/map/map-popover.js +93 -34
  433. package/dist/map/split-map-button.js +6 -22
  434. package/dist/map/toggle-3d-button.js +6 -22
  435. package/dist/map-container.d.ts +33 -9
  436. package/dist/map-container.js +544 -194
  437. package/dist/map-view-state-context.d.ts +17 -0
  438. package/dist/map-view-state-context.js +117 -0
  439. package/dist/maps-layout.d.ts +5 -2
  440. package/dist/maps-layout.js +6 -22
  441. package/dist/modal-container.d.ts +4 -8
  442. package/dist/modal-container.js +19 -76
  443. package/dist/modals/add-map-style-modal.d.ts +1 -3
  444. package/dist/modals/add-map-style-modal.js +15 -73
  445. package/dist/modals/cloud-components/cloud-header.d.ts +8 -0
  446. package/dist/modals/cloud-components/cloud-header.js +65 -0
  447. package/dist/modals/cloud-components/cloud-item.d.ts +5 -0
  448. package/dist/modals/cloud-components/cloud-item.js +72 -0
  449. package/dist/modals/cloud-components/cloud-item.spec.d.ts +1 -0
  450. package/dist/modals/cloud-components/cloud-item.spec.js +105 -0
  451. package/dist/modals/cloud-components/cloud-maps.d.ts +8 -0
  452. package/dist/modals/cloud-components/cloud-maps.js +63 -0
  453. package/dist/modals/cloud-components/cloud-maps.spec.d.ts +1 -0
  454. package/dist/modals/cloud-components/cloud-maps.spec.js +112 -0
  455. package/dist/modals/cloud-components/provider-loading.d.ts +2 -0
  456. package/dist/modals/cloud-components/provider-loading.js +29 -0
  457. package/dist/modals/cloud-components/provider-select.d.ts +7 -0
  458. package/dist/modals/cloud-components/provider-select.js +40 -0
  459. package/dist/modals/cloud-tile.d.ts +8 -8
  460. package/dist/modals/cloud-tile.js +184 -75
  461. package/dist/modals/data-table-modal.d.ts +11 -2
  462. package/dist/modals/data-table-modal.js +74 -43
  463. package/dist/modals/delete-data-modal.js +1 -21
  464. package/dist/modals/error-display.js +15 -26
  465. package/dist/modals/export-data-modal.d.ts +1 -3
  466. package/dist/modals/export-data-modal.js +1 -21
  467. package/dist/modals/export-image-modal.d.ts +1 -3
  468. package/dist/modals/export-image-modal.js +1 -21
  469. package/dist/modals/export-map-modal/components.d.ts +2 -2
  470. package/dist/modals/export-map-modal/components.js +1 -21
  471. package/dist/modals/export-map-modal/export-html-map.js +1 -21
  472. package/dist/modals/export-map-modal/export-json-map.d.ts +1 -1
  473. package/dist/modals/export-map-modal/export-json-map.js +1 -21
  474. package/dist/modals/export-map-modal/export-map-modal.d.ts +2 -2
  475. package/dist/modals/export-map-modal/export-map-modal.js +6 -22
  476. package/dist/modals/image-modal-container.d.ts +2 -3
  477. package/dist/modals/image-modal-container.js +12 -34
  478. package/dist/modals/load-data-modal.d.ts +0 -5
  479. package/dist/modals/load-data-modal.js +1 -21
  480. package/dist/modals/load-storage-map.d.ts +3 -24
  481. package/dist/modals/load-storage-map.js +69 -282
  482. package/dist/modals/load-storage-map.spec.d.ts +1 -0
  483. package/dist/modals/load-storage-map.spec.js +237 -0
  484. package/dist/modals/loading-dialog.js +1 -21
  485. package/dist/modals/modal-dialog.js +6 -22
  486. package/dist/modals/modal-tabs.d.ts +1 -1
  487. package/dist/modals/modal-tabs.js +1 -21
  488. package/dist/modals/overwrite-map-modal.d.ts +2 -2
  489. package/dist/modals/overwrite-map-modal.js +39 -32
  490. package/dist/modals/save-map-modal.d.ts +3 -5
  491. package/dist/modals/save-map-modal.js +99 -119
  492. package/dist/modals/save-map-modal.spec.d.ts +1 -0
  493. package/dist/modals/save-map-modal.spec.js +218 -0
  494. package/dist/modals/share-map-modal.d.ts +1 -5
  495. package/dist/modals/share-map-modal.js +57 -81
  496. package/dist/modals/share-map-modal.spec.d.ts +1 -0
  497. package/dist/modals/share-map-modal.spec.js +202 -0
  498. package/dist/modals/status-panel.js +1 -21
  499. package/dist/modals/storage-map-viewer.d.ts +1 -1
  500. package/dist/modals/storage-map-viewer.js +1 -21
  501. package/dist/notification-panel/notification-item.d.ts +7 -10
  502. package/dist/notification-panel/notification-item.js +44 -32
  503. package/dist/notification-panel.js +1 -21
  504. package/dist/plot-container.js +20 -28
  505. package/dist/side-panel/add-by-dataset-button.d.ts +12 -0
  506. package/dist/side-panel/add-by-dataset-button.js +153 -0
  507. package/dist/side-panel/cloud-storage-dropdown.d.ts +2 -2
  508. package/dist/side-panel/cloud-storage-dropdown.js +6 -22
  509. package/dist/side-panel/common/dataset-info.d.ts +10 -3
  510. package/dist/side-panel/common/dataset-info.js +1 -21
  511. package/dist/side-panel/common/dataset-tag.d.ts +15 -1
  512. package/dist/side-panel/common/dataset-tag.js +13 -30
  513. package/dist/side-panel/common/dataset-title.d.ts +16 -2
  514. package/dist/side-panel/common/dataset-title.js +70 -124
  515. package/dist/side-panel/common/source-data-catalog.d.ts +22 -3
  516. package/dist/side-panel/common/source-data-catalog.js +1 -21
  517. package/dist/side-panel/common/source-data-selector.js +6 -22
  518. package/dist/side-panel/common/types.d.ts +7 -27
  519. package/dist/side-panel/common/types.js +0 -20
  520. package/dist/side-panel/custom-panel.d.ts +6 -7
  521. package/dist/side-panel/custom-panel.js +6 -22
  522. package/dist/side-panel/filter-manager.d.ts +18 -6
  523. package/dist/side-panel/filter-manager.js +175 -84
  524. package/dist/side-panel/filter-panel/add-filter-button.d.ts +8 -0
  525. package/dist/side-panel/filter-panel/add-filter-button.js +34 -0
  526. package/dist/side-panel/filter-panel/filter-panel-header.d.ts +6 -3
  527. package/dist/side-panel/filter-panel/filter-panel-header.js +3 -23
  528. package/dist/side-panel/filter-panel/filter-panel.js +1 -21
  529. package/dist/side-panel/interaction-manager.d.ts +6 -3
  530. package/dist/side-panel/interaction-manager.js +24 -27
  531. package/dist/side-panel/interaction-panel/brush-config.d.ts +2 -2
  532. package/dist/side-panel/interaction-panel/brush-config.js +1 -21
  533. package/dist/side-panel/interaction-panel/interaction-panel.d.ts +5 -2
  534. package/dist/side-panel/interaction-panel/interaction-panel.js +11 -24
  535. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +11 -9
  536. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +69 -67
  537. package/dist/side-panel/interaction-panel/tooltip-config.d.ts +2 -3
  538. package/dist/side-panel/interaction-panel/tooltip-config.js +48 -57
  539. package/dist/side-panel/layer-manager.d.ts +13 -10
  540. package/dist/side-panel/layer-manager.js +72 -57
  541. package/dist/side-panel/layer-panel/add-layer-button.d.ts +3 -5
  542. package/dist/side-panel/layer-panel/add-layer-button.js +14 -156
  543. package/dist/side-panel/layer-panel/color-palette.js +1 -21
  544. package/dist/side-panel/layer-panel/color-range-selector.d.ts +1 -1
  545. package/dist/side-panel/layer-panel/color-range-selector.js +1 -21
  546. package/dist/side-panel/layer-panel/color-selector.d.ts +15 -24
  547. package/dist/side-panel/layer-panel/color-selector.js +174 -146
  548. package/dist/side-panel/layer-panel/column-selector.js +1 -21
  549. package/dist/side-panel/layer-panel/custom-palette.d.ts +7 -2
  550. package/dist/side-panel/layer-panel/custom-palette.js +5 -24
  551. package/dist/side-panel/layer-panel/custom-picker.d.ts +9 -36
  552. package/dist/side-panel/layer-panel/custom-picker.js +1 -21
  553. package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +1 -1
  554. package/dist/side-panel/layer-panel/dataset-layer-group.js +7 -22
  555. package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +3 -2
  556. package/dist/side-panel/layer-panel/dataset-layer-section.js +4 -23
  557. package/dist/side-panel/layer-panel/dataset-section.d.ts +2 -3
  558. package/dist/side-panel/layer-panel/dataset-section.js +5 -26
  559. package/dist/side-panel/layer-panel/dimension-scale-selector.js +6 -22
  560. package/dist/side-panel/layer-panel/how-to-button.js +1 -21
  561. package/dist/side-panel/layer-panel/layer-color-selector.d.ts +42 -0
  562. package/dist/side-panel/layer-panel/layer-color-selector.js +118 -0
  563. package/dist/side-panel/layer-panel/layer-column-config.d.ts +15 -9
  564. package/dist/side-panel/layer-panel/layer-column-config.js +34 -32
  565. package/dist/side-panel/layer-panel/layer-config-group.d.ts +11 -2
  566. package/dist/side-panel/layer-panel/layer-config-group.js +18 -30
  567. package/dist/side-panel/layer-panel/layer-configurator.d.ts +10 -35
  568. package/dist/side-panel/layer-panel/layer-configurator.js +75 -132
  569. package/dist/side-panel/layer-panel/layer-error-message.d.ts +6 -0
  570. package/dist/side-panel/layer-panel/layer-error-message.js +38 -0
  571. package/dist/side-panel/layer-panel/layer-list.d.ts +4 -3
  572. package/dist/side-panel/layer-panel/layer-list.js +111 -108
  573. package/dist/side-panel/layer-panel/layer-panel-header.d.ts +22 -10
  574. package/dist/side-panel/layer-panel/layer-panel-header.js +105 -86
  575. package/dist/side-panel/layer-panel/layer-panel.d.ts +3 -1
  576. package/dist/side-panel/layer-panel/layer-panel.js +23 -30
  577. package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +1 -21
  578. package/dist/side-panel/layer-panel/layer-type-list-item.d.ts +12 -3
  579. package/dist/side-panel/layer-panel/layer-type-list-item.js +11 -23
  580. package/dist/side-panel/layer-panel/layer-type-selector.d.ts +2 -1
  581. package/dist/side-panel/layer-panel/layer-type-selector.js +4 -22
  582. package/dist/side-panel/layer-panel/single-color-palette.d.ts +1 -1
  583. package/dist/side-panel/layer-panel/single-color-palette.js +1 -21
  584. package/dist/side-panel/layer-panel/text-label-panel.d.ts +4 -2
  585. package/dist/side-panel/layer-panel/text-label-panel.js +61 -34
  586. package/dist/side-panel/layer-panel/vis-config-by-field-selector.d.ts +1 -3
  587. package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +1 -21
  588. package/dist/side-panel/layer-panel/vis-config-slider.js +1 -21
  589. package/dist/side-panel/layer-panel/vis-config-switch.js +1 -21
  590. package/dist/side-panel/map-manager.d.ts +13 -6
  591. package/dist/side-panel/map-manager.js +55 -64
  592. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.d.ts +14 -0
  593. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +96 -0
  594. package/dist/side-panel/map-style-panel/map-layer-group-item.d.ts +29 -0
  595. package/dist/side-panel/map-style-panel/map-layer-group-item.js +111 -0
  596. package/dist/side-panel/map-style-panel/map-layer-selector.d.ts +16 -12
  597. package/dist/side-panel/map-style-panel/map-layer-selector.js +33 -70
  598. package/dist/side-panel/map-style-panel/map-style-selector.d.ts +11 -4
  599. package/dist/side-panel/map-style-panel/map-style-selector.js +53 -39
  600. package/dist/side-panel/panel-dropdown.d.ts +3 -2
  601. package/dist/side-panel/panel-dropdown.js +1 -21
  602. package/dist/side-panel/panel-header-action.d.ts +4 -2
  603. package/dist/side-panel/panel-header-action.js +10 -23
  604. package/dist/side-panel/panel-header.d.ts +13 -8
  605. package/dist/side-panel/panel-header.js +2 -21
  606. package/dist/side-panel/panel-tab.d.ts +2 -2
  607. package/dist/side-panel/panel-tab.js +1 -21
  608. package/dist/side-panel/panel-title.d.ts +6 -3
  609. package/dist/side-panel/panel-title.js +30 -33
  610. package/dist/side-panel/panel-toggle.d.ts +1 -1
  611. package/dist/side-panel/panel-toggle.js +1 -21
  612. package/dist/side-panel/{layer-panel/panel-view-list-toggle.d.ts → panel-view-list-toggle.d.ts} +19 -8
  613. package/dist/side-panel/panel-view-list-toggle.js +123 -0
  614. package/dist/side-panel/side-bar.d.ts +15 -16
  615. package/dist/side-panel/side-bar.js +7 -25
  616. package/dist/side-panel.d.ts +2 -117
  617. package/dist/side-panel.js +19 -54
  618. package/dist/types.d.ts +14 -9
  619. package/dist/types.js +0 -20
  620. package/package.json +48 -38
  621. package/dist/editor/constants.d.ts +0 -17
  622. package/dist/editor/constants.js +0 -47
  623. package/dist/editor/feature-styles.d.ts +0 -37
  624. package/dist/editor/feature-styles.js +0 -92
  625. package/dist/editor/handle-style.d.ts +0 -42
  626. package/dist/editor/handle-style.js +0 -100
  627. package/dist/hooks/useFeatureFlags.d.ts +0 -2
  628. package/dist/hooks/useFeatureFlags.js +0 -38
  629. package/dist/modals/provider-modal-container.d.ts +0 -22
  630. package/dist/modals/provider-modal-container.js +0 -101
  631. package/dist/side-panel/layer-panel/panel-view-list-toggle.js +0 -143
@@ -1,23 +1,3 @@
1
- // Copyright (c) 2022 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");
@@ -55,4 +35,4 @@ var HowToButton = function HowToButton(_ref) {
55
35
  exports.HowToButton = HowToButton;
56
36
  var _default = HowToButton;
57
37
  exports["default"] = _default;
58
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2hvdy10by1idXR0b24udHN4Il0sIm5hbWVzIjpbIlN0eWxlZEhvd1RvQnV0dG9uIiwic3R5bGVkIiwiZGl2IiwiSG93VG9CdXR0b24iLCJvbkNsaWNrIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFFQTs7OztBQUVBLElBQU1BLGlCQUFpQixHQUFHQyw2QkFBT0MsR0FBViw2SUFBdkI7O0FBVU8sSUFBTUMsV0FBdUMsR0FBRyxTQUExQ0EsV0FBMEM7QUFBQSxNQUFFQyxPQUFGLFFBQUVBLE9BQUY7QUFBQSxzQkFDckQsZ0NBQUMsaUJBQUQscUJBQ0UsZ0NBQUMseUJBQUQ7QUFBUSxJQUFBLElBQUksTUFBWjtBQUFhLElBQUEsS0FBSyxNQUFsQjtBQUFtQixJQUFBLE9BQU8sRUFBRUE7QUFBNUIsa0JBQ0UsZ0NBQUMsOEJBQUQ7QUFBa0IsSUFBQSxFQUFFLEVBQUU7QUFBdEIsSUFERixDQURGLENBRHFEO0FBQUEsQ0FBaEQ7OztlQVFRRCxXIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7TW91c2VFdmVudEhhbmRsZXJ9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5cbmltcG9ydCB7QnV0dG9ufSBmcm9tICcuLi8uLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5jb25zdCBTdHlsZWRIb3dUb0J1dHRvbiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDEycHg7XG4gIHRvcDogLTRweDtcbmA7XG5cbmV4cG9ydCB0eXBlIEhvd1RvQnV0dG9uUHJvcHMgPSB7XG4gIG9uQ2xpY2s6IE1vdXNlRXZlbnRIYW5kbGVyO1xufTtcblxuZXhwb3J0IGNvbnN0IEhvd1RvQnV0dG9uOiBSZWFjdC5GQzxIb3dUb0J1dHRvblByb3BzPiA9ICh7b25DbGlja306IEhvd1RvQnV0dG9uUHJvcHMpID0+IChcbiAgPFN0eWxlZEhvd1RvQnV0dG9uPlxuICAgIDxCdXR0b24gbGluayBzbWFsbCBvbkNsaWNrPXtvbkNsaWNrfT5cbiAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnbGF5ZXJDb25maWd1cmF0aW9uLmhvd1RvJ30gLz5cbiAgICA8L0J1dHRvbj5cbiAgPC9TdHlsZWRIb3dUb0J1dHRvbj5cbik7XG5cbmV4cG9ydCBkZWZhdWx0IEhvd1RvQnV0dG9uO1xuIl19
38
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2hvdy10by1idXR0b24udHN4Il0sIm5hbWVzIjpbIlN0eWxlZEhvd1RvQnV0dG9uIiwic3R5bGVkIiwiZGl2IiwiSG93VG9CdXR0b24iLCJvbkNsaWNrIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUdBOztBQUNBOztBQUNBOztBQUVBOzs7O0FBRUEsSUFBTUEsaUJBQWlCLEdBQUdDLDZCQUFPQyxHQUFWLDZJQUF2Qjs7QUFVTyxJQUFNQyxXQUF1QyxHQUFHLFNBQTFDQSxXQUEwQztBQUFBLE1BQUVDLE9BQUYsUUFBRUEsT0FBRjtBQUFBLHNCQUNyRCxnQ0FBQyxpQkFBRCxxQkFDRSxnQ0FBQyx5QkFBRDtBQUFRLElBQUEsSUFBSSxNQUFaO0FBQWEsSUFBQSxLQUFLLE1BQWxCO0FBQW1CLElBQUEsT0FBTyxFQUFFQTtBQUE1QixrQkFDRSxnQ0FBQyw4QkFBRDtBQUFrQixJQUFBLEVBQUUsRUFBRTtBQUF0QixJQURGLENBREYsQ0FEcUQ7QUFBQSxDQUFoRDs7O2VBUVFELFciLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHtNb3VzZUV2ZW50SGFuZGxlcn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcblxuaW1wb3J0IHtCdXR0b259IGZyb20gJy4uLy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5cbmNvbnN0IFN0eWxlZEhvd1RvQnV0dG9uID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMTJweDtcbiAgdG9wOiAtNHB4O1xuYDtcblxuZXhwb3J0IHR5cGUgSG93VG9CdXR0b25Qcm9wcyA9IHtcbiAgb25DbGljazogTW91c2VFdmVudEhhbmRsZXI7XG59O1xuXG5leHBvcnQgY29uc3QgSG93VG9CdXR0b246IFJlYWN0LkZDPEhvd1RvQnV0dG9uUHJvcHM+ID0gKHtvbkNsaWNrfTogSG93VG9CdXR0b25Qcm9wcykgPT4gKFxuICA8U3R5bGVkSG93VG9CdXR0b24+XG4gICAgPEJ1dHRvbiBsaW5rIHNtYWxsIG9uQ2xpY2s9e29uQ2xpY2t9PlxuICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydsYXllckNvbmZpZ3VyYXRpb24uaG93VG8nfSAvPlxuICAgIDwvQnV0dG9uPlxuICA8L1N0eWxlZEhvd1RvQnV0dG9uPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgSG93VG9CdXR0b247XG4iXX0=
@@ -0,0 +1,42 @@
1
+ import React from 'react';
2
+ import { ColorRange } from '@kepler.gl/constants';
3
+ import { Layer } from '@kepler.gl/layers';
4
+ import { NestedPartial, RGBColor, ColorUI } from '@kepler.gl/types';
5
+ import ColorSelectorFactory from './color-selector';
6
+ declare type LayerColorSelectorProps = {
7
+ layer: Layer;
8
+ onChange: (v: Record<string, RGBColor>) => void;
9
+ selectedColor?: RGBColor;
10
+ property?: string;
11
+ setColorUI: (prop: string, newConfig: NestedPartial<ColorUI>) => void;
12
+ };
13
+ declare type ArcLayerColorSelectorProps = {
14
+ layer: Layer;
15
+ onChangeConfig: (v: {
16
+ color: RGBColor;
17
+ }) => void;
18
+ onChangeVisConfig: (v: {
19
+ targetColor: RGBColor;
20
+ }) => void;
21
+ property?: string;
22
+ setColorUI: (prop: string, newConfig: NestedPartial<ColorUI>) => void;
23
+ };
24
+ declare type LayerColorRangeSelectorProps = {
25
+ layer: Layer;
26
+ onChange: (v: Record<string, ColorRange>) => void;
27
+ property?: string;
28
+ setColorUI: (prop: string, newConfig: NestedPartial<ColorUI>) => void;
29
+ };
30
+ export declare function LayerColorSelectorFactory(ColorSelector: any): ({ layer, onChange, selectedColor, property, setColorUI }: LayerColorSelectorProps) => React.JSX.Element;
31
+ export declare namespace LayerColorSelectorFactory {
32
+ var deps: (typeof ColorSelectorFactory)[];
33
+ }
34
+ export declare function LayerColorRangeSelectorFactory(ColorSelector: any): ({ layer, onChange, property, setColorUI }: LayerColorRangeSelectorProps) => React.JSX.Element;
35
+ export declare namespace LayerColorRangeSelectorFactory {
36
+ var deps: (typeof ColorSelectorFactory)[];
37
+ }
38
+ export declare function ArcLayerColorSelectorFactory(ColorSelector: any): ({ layer, onChangeConfig, onChangeVisConfig, property, setColorUI }: ArcLayerColorSelectorProps) => React.JSX.Element;
39
+ export declare namespace ArcLayerColorSelectorFactory {
40
+ var deps: (typeof ColorSelectorFactory)[];
41
+ }
42
+ export {};
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.LayerColorSelectorFactory = LayerColorSelectorFactory;
11
+ exports.LayerColorRangeSelectorFactory = LayerColorRangeSelectorFactory;
12
+ exports.ArcLayerColorSelectorFactory = ArcLayerColorSelectorFactory;
13
+
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _colorSelector = _interopRequireDefault(require("./color-selector"));
19
+
20
+ var _styledComponents = require("../../common/styled-components");
21
+
22
+ // SPDX-License-Identifier: MIT
23
+ // Copyright contributors to the kepler.gl project
24
+ LayerColorSelectorFactory.deps = [_colorSelector["default"]];
25
+
26
+ function LayerColorSelectorFactory(ColorSelector) {
27
+ var LayerColorSelector = function LayerColorSelector(_ref) {
28
+ var layer = _ref.layer,
29
+ onChange = _ref.onChange,
30
+ selectedColor = _ref.selectedColor,
31
+ _ref$property = _ref.property,
32
+ property = _ref$property === void 0 ? 'color' : _ref$property,
33
+ setColorUI = _ref.setColorUI;
34
+ var onSetColorUI = (0, _react.useCallback)(function (newConfig) {
35
+ return setColorUI(property, newConfig);
36
+ }, [setColorUI, property]);
37
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.SidePanelSection, null, /*#__PURE__*/_react["default"].createElement(ColorSelector, {
38
+ colorSets: [{
39
+ selectedColor: selectedColor || layer.config.color,
40
+ setColor: function setColor(rgbValue) {
41
+ return onChange((0, _defineProperty2["default"])({}, property, rgbValue));
42
+ }
43
+ }],
44
+ colorUI: layer.config.colorUI[property],
45
+ setColorUI: onSetColorUI
46
+ }));
47
+ };
48
+
49
+ return LayerColorSelector;
50
+ }
51
+
52
+ LayerColorRangeSelectorFactory.deps = [_colorSelector["default"]];
53
+
54
+ function LayerColorRangeSelectorFactory(ColorSelector) {
55
+ var LayerColorRangeSelector = function LayerColorRangeSelector(_ref2) {
56
+ var layer = _ref2.layer,
57
+ onChange = _ref2.onChange,
58
+ _ref2$property = _ref2.property,
59
+ property = _ref2$property === void 0 ? 'colorRange' : _ref2$property,
60
+ setColorUI = _ref2.setColorUI;
61
+ var onSetColorUI = (0, _react.useCallback)(function (newConfig) {
62
+ return setColorUI(property, newConfig);
63
+ }, [setColorUI, property]);
64
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.SidePanelSection, null, /*#__PURE__*/_react["default"].createElement(ColorSelector, {
65
+ colorSets: [{
66
+ selectedColor: layer.config.visConfig[property],
67
+ isRange: true,
68
+ setColor: function setColor(colorRange) {
69
+ return onChange((0, _defineProperty2["default"])({}, property, colorRange));
70
+ }
71
+ }],
72
+ colorUI: layer.config.colorUI[property],
73
+ setColorUI: onSetColorUI
74
+ }));
75
+ };
76
+
77
+ return LayerColorRangeSelector;
78
+ }
79
+
80
+ ArcLayerColorSelectorFactory.deps = [_colorSelector["default"]];
81
+
82
+ function ArcLayerColorSelectorFactory(ColorSelector) {
83
+ var ArcLayerColorSelector = function ArcLayerColorSelector(_ref3) {
84
+ var layer = _ref3.layer,
85
+ onChangeConfig = _ref3.onChangeConfig,
86
+ onChangeVisConfig = _ref3.onChangeVisConfig,
87
+ _ref3$property = _ref3.property,
88
+ property = _ref3$property === void 0 ? 'color' : _ref3$property,
89
+ setColorUI = _ref3.setColorUI;
90
+ var onSetColorUI = (0, _react.useCallback)(function (newConfig) {
91
+ return setColorUI(property, newConfig);
92
+ }, [setColorUI, property]);
93
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.SidePanelSection, null, /*#__PURE__*/_react["default"].createElement(ColorSelector, {
94
+ colorSets: [{
95
+ selectedColor: layer.config.color,
96
+ setColor: function setColor(rgbValue) {
97
+ return onChangeConfig({
98
+ color: rgbValue
99
+ });
100
+ },
101
+ label: 'Source'
102
+ }, {
103
+ selectedColor: layer.config.visConfig.targetColor || layer.config.color,
104
+ setColor: function setColor(rgbValue) {
105
+ return onChangeVisConfig({
106
+ targetColor: rgbValue
107
+ });
108
+ },
109
+ label: 'Target'
110
+ }],
111
+ colorUI: layer.config.colorUI[property],
112
+ setColorUI: onSetColorUI
113
+ }));
114
+ };
115
+
116
+ return ArcLayerColorSelector;
117
+ }
118
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2xheWVyLWNvbG9yLXNlbGVjdG9yLnRzeCJdLCJuYW1lcyI6WyJMYXllckNvbG9yU2VsZWN0b3JGYWN0b3J5IiwiZGVwcyIsIkNvbG9yU2VsZWN0b3JGYWN0b3J5IiwiQ29sb3JTZWxlY3RvciIsIkxheWVyQ29sb3JTZWxlY3RvciIsImxheWVyIiwib25DaGFuZ2UiLCJzZWxlY3RlZENvbG9yIiwicHJvcGVydHkiLCJzZXRDb2xvclVJIiwib25TZXRDb2xvclVJIiwibmV3Q29uZmlnIiwiY29uZmlnIiwiY29sb3IiLCJzZXRDb2xvciIsInJnYlZhbHVlIiwiY29sb3JVSSIsIkxheWVyQ29sb3JSYW5nZVNlbGVjdG9yRmFjdG9yeSIsIkxheWVyQ29sb3JSYW5nZVNlbGVjdG9yIiwidmlzQ29uZmlnIiwiaXNSYW5nZSIsImNvbG9yUmFuZ2UiLCJBcmNMYXllckNvbG9yU2VsZWN0b3JGYWN0b3J5IiwiQXJjTGF5ZXJDb2xvclNlbGVjdG9yIiwib25DaGFuZ2VDb25maWciLCJvbkNoYW5nZVZpc0NvbmZpZyIsImxhYmVsIiwidGFyZ2V0Q29sb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUdBOztBQU1BOztBQUNBOztBQVZBO0FBQ0E7QUFrQ0FBLHlCQUF5QixDQUFDQyxJQUExQixHQUFpQyxDQUFDQyx5QkFBRCxDQUFqQzs7QUFDTyxTQUFTRix5QkFBVCxDQUFtQ0csYUFBbkMsRUFBa0Q7QUFDdkQsTUFBTUMsa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFxQixPQU1JO0FBQUEsUUFMN0JDLEtBSzZCLFFBTDdCQSxLQUs2QjtBQUFBLFFBSjdCQyxRQUk2QixRQUo3QkEsUUFJNkI7QUFBQSxRQUg3QkMsYUFHNkIsUUFIN0JBLGFBRzZCO0FBQUEsNkJBRjdCQyxRQUU2QjtBQUFBLFFBRjdCQSxRQUU2Qiw4QkFGbEIsT0FFa0I7QUFBQSxRQUQ3QkMsVUFDNkIsUUFEN0JBLFVBQzZCO0FBQzdC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Q0UsTUFBQSxTQUFTLEVBQUUsQ0FDVDtBQUNFRCxRQUFBQSxhQUFhLEVBQUVGLEtBQUssQ0FBQ08sTUFBTixDQUFhQyxLQUQ5QjtBQUVFQyxRQUFBQSxRQUFRLEVBQUUsa0JBQUNDLFFBQUQ7QUFBQSxpQkFBd0JTLGNBQWMsQ0FBQztBQUFDWCxZQUFBQSxLQUFLLEVBQUVFO0FBQVIsV0FBRCxDQUF0QztBQUFBLFNBRlo7QUFHRVcsUUFBQUEsS0FBSyxFQUFFO0FBSFQsT0FEUyxFQU1UO0FBQ0VuQixRQUFBQSxhQUFhLEVBQUVGLEtBQUssQ0FBQ08sTUFBTixDQUFhTyxTQUFiLENBQXVCUSxXQUF2QixJQUFzQ3RCLEtBQUssQ0FBQ08sTUFBTixDQUFhQyxLQURwRTtBQUVFQyxRQUFBQSxRQUFRLEVBQUUsa0JBQUNDLFFBQUQ7QUFBQSxpQkFBd0JVLGlCQUFpQixDQUFDO0FBQUNFLFlBQUFBLFdBQVcsRUFBRVo7QUFBZCxXQUFELENBQXpDO0FBQUEsU0FGWjtBQUdFVyxRQUFBQSxLQUFLLEVBQUU7QUFIVCxPQU5TLENBRGI7QUFhRSxNQUFBLE9BQU8sRUFBRXJCLEtBQUssQ0FBQ08sTUFBTixDQUFhSSxPQUFiLENBQXFCUixRQUFyQixDQWJYO0FBY0UsTUFBQSxVQUFVLEVBQUVFO0FBZGQsTUFERixDQURGO0FBb0JELEdBaENEOztBQWlDQSxTQUFPYSxxQkFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2t9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHtDb2xvclJhbmdlfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge0xheWVyfSBmcm9tICdAa2VwbGVyLmdsL2xheWVycyc7XG5pbXBvcnQge05lc3RlZFBhcnRpYWwsIFJHQkNvbG9yLCBDb2xvclVJfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuaW1wb3J0IENvbG9yU2VsZWN0b3JGYWN0b3J5IGZyb20gJy4vY29sb3Itc2VsZWN0b3InO1xuaW1wb3J0IHtTaWRlUGFuZWxTZWN0aW9ufSBmcm9tICcuLi8uLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuXG50eXBlIExheWVyQ29sb3JTZWxlY3RvclByb3BzID0ge1xuICBsYXllcjogTGF5ZXI7XG4gIG9uQ2hhbmdlOiAodjogUmVjb3JkPHN0cmluZywgUkdCQ29sb3I+KSA9PiB2b2lkO1xuICBzZWxlY3RlZENvbG9yPzogUkdCQ29sb3I7XG4gIHByb3BlcnR5Pzogc3RyaW5nO1xuICBzZXRDb2xvclVJOiAocHJvcDogc3RyaW5nLCBuZXdDb25maWc6IE5lc3RlZFBhcnRpYWw8Q29sb3JVST4pID0+IHZvaWQ7XG59O1xuXG50eXBlIEFyY0xheWVyQ29sb3JTZWxlY3RvclByb3BzID0ge1xuICBsYXllcjogTGF5ZXI7XG4gIG9uQ2hhbmdlQ29uZmlnOiAodjoge2NvbG9yOiBSR0JDb2xvcn0pID0+IHZvaWQ7XG4gIG9uQ2hhbmdlVmlzQ29uZmlnOiAodjoge3RhcmdldENvbG9yOiBSR0JDb2xvcn0pID0+IHZvaWQ7XG4gIHByb3BlcnR5Pzogc3RyaW5nO1xuICBzZXRDb2xvclVJOiAocHJvcDogc3RyaW5nLCBuZXdDb25maWc6IE5lc3RlZFBhcnRpYWw8Q29sb3JVST4pID0+IHZvaWQ7XG59O1xuXG50eXBlIExheWVyQ29sb3JSYW5nZVNlbGVjdG9yUHJvcHMgPSB7XG4gIGxheWVyOiBMYXllcjtcbiAgb25DaGFuZ2U6ICh2OiBSZWNvcmQ8c3RyaW5nLCBDb2xvclJhbmdlPikgPT4gdm9pZDtcbiAgcHJvcGVydHk/OiBzdHJpbmc7XG4gIHNldENvbG9yVUk6IChwcm9wOiBzdHJpbmcsIG5ld0NvbmZpZzogTmVzdGVkUGFydGlhbDxDb2xvclVJPikgPT4gdm9pZDtcbn07XG5cbkxheWVyQ29sb3JTZWxlY3RvckZhY3RvcnkuZGVwcyA9IFtDb2xvclNlbGVjdG9yRmFjdG9yeV07XG5leHBvcnQgZnVuY3Rpb24gTGF5ZXJDb2xvclNlbGVjdG9yRmFjdG9yeShDb2xvclNlbGVjdG9yKSB7XG4gIGNvbnN0IExheWVyQ29sb3JTZWxlY3RvciA9ICh7XG4gICAgbGF5ZXIsXG4gICAgb25DaGFuZ2UsXG4gICAgc2VsZWN0ZWRDb2xvcixcbiAgICBwcm9wZXJ0eSA9ICdjb2xvcicsXG4gICAgc2V0Q29sb3JVSVxuICB9OiBMYXllckNvbG9yU2VsZWN0b3JQcm9wcykgPT4ge1xuICAgIGNvbnN0IG9uU2V0Q29sb3JVSSA9IHVzZUNhbGxiYWNrKG5ld0NvbmZpZyA9PiBzZXRDb2xvclVJKHByb3BlcnR5LCBuZXdDb25maWcpLCBbXG4gICAgICBzZXRDb2xvclVJLFxuICAgICAgcHJvcGVydHlcbiAgICBdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgPENvbG9yU2VsZWN0b3JcbiAgICAgICAgICBjb2xvclNldHM9e1tcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgc2VsZWN0ZWRDb2xvcjogc2VsZWN0ZWRDb2xvciB8fCBsYXllci5jb25maWcuY29sb3IsXG4gICAgICAgICAgICAgIHNldENvbG9yOiAocmdiVmFsdWU6IFJHQkNvbG9yKSA9PiBvbkNoYW5nZSh7W3Byb3BlcnR5XTogcmdiVmFsdWV9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF19XG4gICAgICAgICAgY29sb3JVST17bGF5ZXIuY29uZmlnLmNvbG9yVUlbcHJvcGVydHldfVxuICAgICAgICAgIHNldENvbG9yVUk9e29uU2V0Q29sb3JVSX1cbiAgICAgICAgLz5cbiAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICApO1xuICB9O1xuICByZXR1cm4gTGF5ZXJDb2xvclNlbGVjdG9yO1xufVxuXG5MYXllckNvbG9yUmFuZ2VTZWxlY3RvckZhY3RvcnkuZGVwcyA9IFtDb2xvclNlbGVjdG9yRmFjdG9yeV07XG5leHBvcnQgZnVuY3Rpb24gTGF5ZXJDb2xvclJhbmdlU2VsZWN0b3JGYWN0b3J5KENvbG9yU2VsZWN0b3IpIHtcbiAgY29uc3QgTGF5ZXJDb2xvclJhbmdlU2VsZWN0b3IgPSAoe1xuICAgIGxheWVyLFxuICAgIG9uQ2hhbmdlLFxuICAgIHByb3BlcnR5ID0gJ2NvbG9yUmFuZ2UnLFxuICAgIHNldENvbG9yVUlcbiAgfTogTGF5ZXJDb2xvclJhbmdlU2VsZWN0b3JQcm9wcykgPT4ge1xuICAgIGNvbnN0IG9uU2V0Q29sb3JVSSA9IHVzZUNhbGxiYWNrKG5ld0NvbmZpZyA9PiBzZXRDb2xvclVJKHByb3BlcnR5LCBuZXdDb25maWcpLCBbXG4gICAgICBzZXRDb2xvclVJLFxuICAgICAgcHJvcGVydHlcbiAgICBdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgPENvbG9yU2VsZWN0b3JcbiAgICAgICAgICBjb2xvclNldHM9e1tcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgc2VsZWN0ZWRDb2xvcjogbGF5ZXIuY29uZmlnLnZpc0NvbmZpZ1twcm9wZXJ0eV0sXG4gICAgICAgICAgICAgIGlzUmFuZ2U6IHRydWUsXG4gICAgICAgICAgICAgIHNldENvbG9yOiAoY29sb3JSYW5nZTogQ29sb3JSYW5nZSkgPT4gb25DaGFuZ2Uoe1twcm9wZXJ0eV06IGNvbG9yUmFuZ2V9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIF19XG4gICAgICAgICAgY29sb3JVST17bGF5ZXIuY29uZmlnLmNvbG9yVUlbcHJvcGVydHldfVxuICAgICAgICAgIHNldENvbG9yVUk9e29uU2V0Q29sb3JVSX1cbiAgICAgICAgLz5cbiAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICApO1xuICB9O1xuICByZXR1cm4gTGF5ZXJDb2xvclJhbmdlU2VsZWN0b3I7XG59XG5cbkFyY0xheWVyQ29sb3JTZWxlY3RvckZhY3RvcnkuZGVwcyA9IFtDb2xvclNlbGVjdG9yRmFjdG9yeV07XG5leHBvcnQgZnVuY3Rpb24gQXJjTGF5ZXJDb2xvclNlbGVjdG9yRmFjdG9yeShDb2xvclNlbGVjdG9yKSB7XG4gIGNvbnN0IEFyY0xheWVyQ29sb3JTZWxlY3RvciA9ICh7XG4gICAgbGF5ZXIsXG4gICAgb25DaGFuZ2VDb25maWcsXG4gICAgb25DaGFuZ2VWaXNDb25maWcsXG4gICAgcHJvcGVydHkgPSAnY29sb3InLFxuICAgIHNldENvbG9yVUlcbiAgfTogQXJjTGF5ZXJDb2xvclNlbGVjdG9yUHJvcHMpID0+IHtcbiAgICBjb25zdCBvblNldENvbG9yVUkgPSB1c2VDYWxsYmFjayhuZXdDb25maWcgPT4gc2V0Q29sb3JVSShwcm9wZXJ0eSwgbmV3Q29uZmlnKSwgW1xuICAgICAgc2V0Q29sb3JVSSxcbiAgICAgIHByb3BlcnR5XG4gICAgXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNpZGVQYW5lbFNlY3Rpb24+XG4gICAgICAgIDxDb2xvclNlbGVjdG9yXG4gICAgICAgICAgY29sb3JTZXRzPXtbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHNlbGVjdGVkQ29sb3I6IGxheWVyLmNvbmZpZy5jb2xvcixcbiAgICAgICAgICAgICAgc2V0Q29sb3I6IChyZ2JWYWx1ZTogUkdCQ29sb3IpID0+IG9uQ2hhbmdlQ29uZmlnKHtjb2xvcjogcmdiVmFsdWV9KSxcbiAgICAgICAgICAgICAgbGFiZWw6ICdTb3VyY2UnXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBzZWxlY3RlZENvbG9yOiBsYXllci5jb25maWcudmlzQ29uZmlnLnRhcmdldENvbG9yIHx8IGxheWVyLmNvbmZpZy5jb2xvcixcbiAgICAgICAgICAgICAgc2V0Q29sb3I6IChyZ2JWYWx1ZTogUkdCQ29sb3IpID0+IG9uQ2hhbmdlVmlzQ29uZmlnKHt0YXJnZXRDb2xvcjogcmdiVmFsdWV9KSxcbiAgICAgICAgICAgICAgbGFiZWw6ICdUYXJnZXQnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgXX1cbiAgICAgICAgICBjb2xvclVJPXtsYXllci5jb25maWcuY29sb3JVSVtwcm9wZXJ0eV19XG4gICAgICAgICAgc2V0Q29sb3JVST17b25TZXRDb2xvclVJfVxuICAgICAgICAvPlxuICAgICAgPC9TaWRlUGFuZWxTZWN0aW9uPlxuICAgICk7XG4gIH07XG4gIHJldHVybiBBcmNMYXllckNvbG9yU2VsZWN0b3I7XG59XG4iXX0=
@@ -1,18 +1,24 @@
1
1
  import React from 'react';
2
+ import { ColumnPairs, LayerColumns, LayerBaseConfig } from '@kepler.gl/layers';
3
+ import { FieldPair, Field } from '@kepler.gl/types';
2
4
  import ColumnSelectorFactory from './column-selector';
3
- import { ColumnPairs, Layer, LayerColumns, LayerBaseConfig } from '@kepler.gl/layers';
4
- import { Field, FieldPair } from '@kepler.gl/types';
5
- declare type LayerColumnConfigProps = {
5
+ import { MinimalField } from '../../common/field-selector';
6
+ export declare type LayerColumnConfigProps<FieldOption extends MinimalField> = {
7
+ columns: LayerColumns;
8
+ fields: FieldOption[];
9
+ assignColumnPairs: (key: string, pair: string) => LayerColumns;
10
+ assignColumn: (key: string, field: FieldOption) => LayerColumns;
11
+ updateLayerConfig: (newConfig: Partial<LayerBaseConfig>) => void;
6
12
  columnPairs?: ColumnPairs | null;
7
13
  fieldPairs?: FieldPair[];
8
- columns: LayerColumns;
9
14
  columnLabels?: Record<string, string>;
10
- fields: Field[];
11
- updateLayerConfig: (newConfig: Partial<LayerBaseConfig>) => void;
12
- assignColumn: Layer['assignColumn'];
13
- assignColumnPairs: Layer['assignColumnPairs'];
14
15
  };
15
- declare function LayerColumnConfigFactory(ColumnSelector: ReturnType<typeof ColumnSelectorFactory>): React.FC<LayerColumnConfigProps>;
16
+ export declare type EnhancedFieldPair = {
17
+ name: string;
18
+ type: 'point';
19
+ pair: FieldPair['pair'];
20
+ };
21
+ declare function LayerColumnConfigFactory(ColumnSelector: ReturnType<typeof ColumnSelectorFactory>): React.FC<LayerColumnConfigProps<Field>>;
16
22
  declare namespace LayerColumnConfigFactory {
17
23
  var deps: (typeof ColumnSelectorFactory)[];
18
24
  }
@@ -1,23 +1,3 @@
1
- // Copyright (c) 2022 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");
@@ -37,26 +17,48 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
37
17
 
38
18
  var _localization = require("@kepler.gl/localization");
39
19
 
40
- var _styledComponents2 = require("../../common/styled-components");
20
+ var _utils = require("@kepler.gl/utils");
41
21
 
42
22
  var _columnSelector = _interopRequireDefault(require("./column-selector"));
43
23
 
24
+ var _styledComponents2 = require("../../common/styled-components");
25
+
44
26
  var _templateObject;
45
27
 
46
28
  var TopRow = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n"])));
29
+ /**
30
+ * only provide suggested field pairs if there is a match,
31
+ * otherwise the user can select a suggested field pair that will create invalid columns and a hard crash
32
+ */
33
+
34
+
35
+ function getValidFieldPairsSuggestionsForColumn(enhancedFieldPairs, columnPairs, columnKey) {
36
+ if (enhancedFieldPairs && columnPairs !== null && columnPairs !== void 0 && columnPairs[columnKey]) {
37
+ var columnPair = columnPairs[columnKey];
38
+ var matchingFieldPairs = enhancedFieldPairs.filter(function (_ref) {
39
+ var pair = _ref.pair;
40
+ return (0, _utils.toArray)(columnPair.fieldPairKey).some(function (fieldPairKey) {
41
+ return pair.hasOwnProperty(fieldPairKey);
42
+ });
43
+ });
44
+ return matchingFieldPairs.length > 0 ? matchingFieldPairs : null;
45
+ } else {
46
+ return null;
47
+ }
48
+ }
47
49
 
48
50
  LayerColumnConfigFactory.deps = [_columnSelector["default"]];
49
51
 
50
52
  function LayerColumnConfigFactory(ColumnSelector) {
51
- var LayerColumnConfig = function LayerColumnConfig(_ref) {
52
- var columnPairs = _ref.columnPairs,
53
- fieldPairs = _ref.fieldPairs,
54
- columns = _ref.columns,
55
- columnLabels = _ref.columnLabels,
56
- fields = _ref.fields,
57
- updateLayerConfig = _ref.updateLayerConfig,
58
- assignColumn = _ref.assignColumn,
59
- assignColumnPairs = _ref.assignColumnPairs;
53
+ var LayerColumnConfig = function LayerColumnConfig(_ref2) {
54
+ var columnPairs = _ref2.columnPairs,
55
+ fieldPairs = _ref2.fieldPairs,
56
+ columns = _ref2.columns,
57
+ columnLabels = _ref2.columnLabels,
58
+ fields = _ref2.fields,
59
+ updateLayerConfig = _ref2.updateLayerConfig,
60
+ assignColumn = _ref2.assignColumn,
61
+ assignColumnPairs = _ref2.assignColumnPairs;
60
62
  var enhancedFieldPairs = (0, _react.useMemo)(function () {
61
63
  return columnPairs && fieldPairs ? fieldPairs.map(function (fp) {
62
64
  return {
@@ -91,7 +93,7 @@ function LayerColumnConfigFactory(ColumnSelector) {
91
93
  label: columnLabels && columnLabels[key] || key,
92
94
  key: key,
93
95
  allFields: fields,
94
- fieldPairs: enhancedFieldPairs,
96
+ fieldPairs: getValidFieldPairsSuggestionsForColumn(enhancedFieldPairs, columnPairs, key),
95
97
  onSelect: function onSelect(val) {
96
98
  return onUpdateColumn(key, val);
97
99
  }
@@ -104,4 +106,4 @@ function LayerColumnConfigFactory(ColumnSelector) {
104
106
 
105
107
  var _default = LayerColumnConfigFactory;
106
108
  exports["default"] = _default;
107
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2xheWVyLWNvbHVtbi1jb25maWcudHN4Il0sIm5hbWVzIjpbIlRvcFJvdyIsInN0eWxlZCIsImRpdiIsIkxheWVyQ29sdW1uQ29uZmlnRmFjdG9yeSIsImRlcHMiLCJDb2x1bW5TZWxlY3RvckZhY3RvcnkiLCJDb2x1bW5TZWxlY3RvciIsIkxheWVyQ29sdW1uQ29uZmlnIiwiY29sdW1uUGFpcnMiLCJmaWVsZFBhaXJzIiwiY29sdW1ucyIsImNvbHVtbkxhYmVscyIsImZpZWxkcyIsInVwZGF0ZUxheWVyQ29uZmlnIiwiYXNzaWduQ29sdW1uIiwiYXNzaWduQ29sdW1uUGFpcnMiLCJlbmhhbmNlZEZpZWxkUGFpcnMiLCJtYXAiLCJmcCIsIm5hbWUiLCJkZWZhdWx0TmFtZSIsInR5cGUiLCJwYWlyIiwib25VcGRhdGVDb2x1bW4iLCJrZXkiLCJ2YWx1ZSIsImFzc2lnbmVkQ29sdW1ucyIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJ2YWwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFlQSxJQUFNQSxNQUFNLEdBQUdDLDZCQUFPQyxHQUFWLDZJQUFaOztBQUtBQyx3QkFBd0IsQ0FBQ0MsSUFBekIsR0FBZ0MsQ0FBQ0MsMEJBQUQsQ0FBaEM7O0FBRUEsU0FBU0Ysd0JBQVQsQ0FBa0NHLGNBQWxDLEVBQTRGO0FBQzFGLE1BQU1DLGlCQUFtRCxHQUFHLFNBQXREQSxpQkFBc0QsT0FTdEQ7QUFBQSxRQVJKQyxXQVFJLFFBUkpBLFdBUUk7QUFBQSxRQVBKQyxVQU9JLFFBUEpBLFVBT0k7QUFBQSxRQU5KQyxPQU1JLFFBTkpBLE9BTUk7QUFBQSxRQUxKQyxZQUtJLFFBTEpBLFlBS0k7QUFBQSxRQUpKQyxNQUlJLFFBSkpBLE1BSUk7QUFBQSxRQUhKQyxpQkFHSSxRQUhKQSxpQkFHSTtBQUFBLFFBRkpDLFlBRUksUUFGSkEsWUFFSTtBQUFBLFFBREpDLGlCQUNJLFFBREpBLGlCQUNJO0FBQ0osUUFBTUMsa0JBQWtCLEdBQUcsb0JBQ3pCO0FBQUEsYUFDRVIsV0FBVyxJQUFJQyxVQUFmLEdBQ0lBLFVBQVUsQ0FBQ1EsR0FBWCxDQUFlLFVBQUFDLEVBQUU7QUFBQSxlQUFLO0FBQ3BCQyxVQUFBQSxJQUFJLEVBQUVELEVBQUUsQ0FBQ0UsV0FEVztBQUVwQkMsVUFBQUEsSUFBSSxFQUFFLE9BRmM7QUFHcEJDLFVBQUFBLElBQUksRUFBRUosRUFBRSxDQUFDSTtBQUhXLFNBQUw7QUFBQSxPQUFqQixDQURKLEdBTUksSUFQTjtBQUFBLEtBRHlCLEVBU3pCLENBQUNkLFdBQUQsRUFBY0MsVUFBZCxDQVR5QixDQUEzQjtBQVlBLFFBQU1jLGNBQWMsR0FBRyx3QkFDckIsVUFBQ0MsR0FBRCxFQUFNQyxLQUFOLEVBQWdCO0FBQ2QsVUFBTUMsZUFBZSxHQUNuQkQsS0FBSyxJQUFJQSxLQUFLLENBQUNILElBQWYsSUFBdUJkLFdBQXZCLEdBQ0lPLGlCQUFpQixDQUFDUyxHQUFELEVBQU1DLEtBQUssQ0FBQ0gsSUFBWixDQURyQixHQUVJUixZQUFZLENBQUNVLEdBQUQsRUFBTUMsS0FBTixDQUhsQjtBQUtBWixNQUFBQSxpQkFBaUIsQ0FBQztBQUFDSCxRQUFBQSxPQUFPLEVBQUVnQjtBQUFWLE9BQUQsQ0FBakI7QUFDRCxLQVJvQixFQVNyQixDQUFDYixpQkFBRCxFQUFvQkwsV0FBcEIsRUFBaUNPLGlCQUFqQyxFQUFvREQsWUFBcEQsQ0FUcUIsQ0FBdkI7O0FBWUEsUUFBSSxDQUFDYSxNQUFNLENBQUNDLElBQVAsQ0FBWWxCLE9BQVosRUFBcUJtQixNQUExQixFQUFrQztBQUNoQztBQUNBLDBCQUFPLDRDQUFQO0FBQ0Q7O0FBRUQsd0JBQ0UsMERBQ0UsZ0NBQUMsbUNBQUQscUJBQ0U7QUFBSyxNQUFBLFNBQVMsRUFBQztBQUFmLG9CQUNFLGdDQUFDLE1BQUQscUJBQ0UsZ0NBQUMsNkJBQUQscUJBQ0UsZ0NBQUMsOEJBQUQ7QUFBa0IsTUFBQSxFQUFFLEVBQUU7QUFBdEIsTUFERixDQURGLGVBSUUsZ0NBQUMsNkJBQUQscUJBQ0UsZ0NBQUMsOEJBQUQ7QUFBa0IsTUFBQSxFQUFFLEVBQUM7QUFBckIsTUFERixDQUpGLENBREYsRUFTR0YsTUFBTSxDQUFDQyxJQUFQLENBQVlsQixPQUFaLEVBQXFCTyxHQUFyQixDQUF5QixVQUFBTyxHQUFHO0FBQUEsMEJBQzNCLGdDQUFDLGNBQUQ7QUFDRSxRQUFBLE1BQU0sRUFBRWQsT0FBTyxDQUFDYyxHQUFELENBRGpCO0FBRUUsUUFBQSxPQUFPLEVBQUVkLE9BRlg7QUFHRSxRQUFBLEtBQUssRUFBR0MsWUFBWSxJQUFJQSxZQUFZLENBQUNhLEdBQUQsQ0FBN0IsSUFBdUNBLEdBSGhEO0FBSUUsUUFBQSxHQUFHLEVBQUVBLEdBSlA7QUFLRSxRQUFBLFNBQVMsRUFBRVosTUFMYjtBQU1FLFFBQUEsVUFBVSxFQUFFSSxrQkFOZDtBQU9FLFFBQUEsUUFBUSxFQUFFLGtCQUFBYyxHQUFHO0FBQUEsaUJBQUlQLGNBQWMsQ0FBQ0MsR0FBRCxFQUFNTSxHQUFOLENBQWxCO0FBQUE7QUFQZixRQUQyQjtBQUFBLEtBQTVCLENBVEgsQ0FERixDQURGLENBREY7QUEyQkQsR0FsRUQ7O0FBb0VBLFNBQU92QixpQkFBUDtBQUNEOztlQUVjSix3QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnQGtlcGxlci5nbC9sb2NhbGl6YXRpb24nO1xuaW1wb3J0IHtQYW5lbExhYmVsLCBTaWRlUGFuZWxTZWN0aW9ufSBmcm9tICcuLi8uLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IENvbHVtblNlbGVjdG9yRmFjdG9yeSBmcm9tICcuL2NvbHVtbi1zZWxlY3Rvcic7XG5pbXBvcnQge0NvbHVtblBhaXJzLCBMYXllciwgTGF5ZXJDb2x1bW5zLCBMYXllckJhc2VDb25maWd9IGZyb20gJ0BrZXBsZXIuZ2wvbGF5ZXJzJztcbmltcG9ydCB7RmllbGQsIEZpZWxkUGFpcn0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5cbnR5cGUgTGF5ZXJDb2x1bW5Db25maWdQcm9wcyA9IHtcbiAgY29sdW1uUGFpcnM/OiBDb2x1bW5QYWlycyB8IG51bGw7XG4gIGZpZWxkUGFpcnM/OiBGaWVsZFBhaXJbXTtcbiAgY29sdW1uczogTGF5ZXJDb2x1bW5zO1xuICBjb2x1bW5MYWJlbHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICBmaWVsZHM6IEZpZWxkW107XG4gIHVwZGF0ZUxheWVyQ29uZmlnOiAobmV3Q29uZmlnOiBQYXJ0aWFsPExheWVyQmFzZUNvbmZpZz4pID0+IHZvaWQ7XG4gIGFzc2lnbkNvbHVtbjogTGF5ZXJbJ2Fzc2lnbkNvbHVtbiddO1xuICBhc3NpZ25Db2x1bW5QYWlyczogTGF5ZXJbJ2Fzc2lnbkNvbHVtblBhaXJzJ107XG59O1xuXG5jb25zdCBUb3BSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5gO1xuXG5MYXllckNvbHVtbkNvbmZpZ0ZhY3RvcnkuZGVwcyA9IFtDb2x1bW5TZWxlY3RvckZhY3RvcnldO1xuXG5mdW5jdGlvbiBMYXllckNvbHVtbkNvbmZpZ0ZhY3RvcnkoQ29sdW1uU2VsZWN0b3I6IFJldHVyblR5cGU8dHlwZW9mIENvbHVtblNlbGVjdG9yRmFjdG9yeT4pIHtcbiAgY29uc3QgTGF5ZXJDb2x1bW5Db25maWc6IFJlYWN0LkZDPExheWVyQ29sdW1uQ29uZmlnUHJvcHM+ID0gKHtcbiAgICBjb2x1bW5QYWlycyxcbiAgICBmaWVsZFBhaXJzLFxuICAgIGNvbHVtbnMsXG4gICAgY29sdW1uTGFiZWxzLFxuICAgIGZpZWxkcyxcbiAgICB1cGRhdGVMYXllckNvbmZpZyxcbiAgICBhc3NpZ25Db2x1bW4sXG4gICAgYXNzaWduQ29sdW1uUGFpcnNcbiAgfSkgPT4ge1xuICAgIGNvbnN0IGVuaGFuY2VkRmllbGRQYWlycyA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBjb2x1bW5QYWlycyAmJiBmaWVsZFBhaXJzXG4gICAgICAgICAgPyBmaWVsZFBhaXJzLm1hcChmcCA9PiAoe1xuICAgICAgICAgICAgICBuYW1lOiBmcC5kZWZhdWx0TmFtZSxcbiAgICAgICAgICAgICAgdHlwZTogJ3BvaW50JyxcbiAgICAgICAgICAgICAgcGFpcjogZnAucGFpclxuICAgICAgICAgICAgfSkpXG4gICAgICAgICAgOiBudWxsLFxuICAgICAgW2NvbHVtblBhaXJzLCBmaWVsZFBhaXJzXVxuICAgICk7XG5cbiAgICBjb25zdCBvblVwZGF0ZUNvbHVtbiA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGtleSwgdmFsdWUpID0+IHtcbiAgICAgICAgY29uc3QgYXNzaWduZWRDb2x1bW5zID1cbiAgICAgICAgICB2YWx1ZSAmJiB2YWx1ZS5wYWlyICYmIGNvbHVtblBhaXJzXG4gICAgICAgICAgICA/IGFzc2lnbkNvbHVtblBhaXJzKGtleSwgdmFsdWUucGFpcilcbiAgICAgICAgICAgIDogYXNzaWduQ29sdW1uKGtleSwgdmFsdWUpO1xuXG4gICAgICAgIHVwZGF0ZUxheWVyQ29uZmlnKHtjb2x1bW5zOiBhc3NpZ25lZENvbHVtbnN9KTtcbiAgICAgIH0sXG4gICAgICBbdXBkYXRlTGF5ZXJDb25maWcsIGNvbHVtblBhaXJzLCBhc3NpZ25Db2x1bW5QYWlycywgYXNzaWduQ29sdW1uXVxuICAgICk7XG5cbiAgICBpZiAoIU9iamVjdC5rZXlzKGNvbHVtbnMpLmxlbmd0aCkge1xuICAgICAgLy8gZG9uJ3QgcmVuZGVyIGlmIGNvbHVtbnMgaXMgZW1wdHlcbiAgICAgIHJldHVybiA8ZGl2IC8+O1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8U2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxheWVyLWNvbmZpZ19fY29sdW1uXCI+XG4gICAgICAgICAgICA8VG9wUm93PlxuICAgICAgICAgICAgICA8UGFuZWxMYWJlbD5cbiAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J2NvbHVtbnMudGl0bGUnfSAvPlxuICAgICAgICAgICAgICA8L1BhbmVsTGFiZWw+XG4gICAgICAgICAgICAgIDxQYW5lbExhYmVsPlxuICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwibGF5ZXIucmVxdWlyZWRcIiAvPlxuICAgICAgICAgICAgICA8L1BhbmVsTGFiZWw+XG4gICAgICAgICAgICA8L1RvcFJvdz5cbiAgICAgICAgICAgIHtPYmplY3Qua2V5cyhjb2x1bW5zKS5tYXAoa2V5ID0+IChcbiAgICAgICAgICAgICAgPENvbHVtblNlbGVjdG9yXG4gICAgICAgICAgICAgICAgY29sdW1uPXtjb2x1bW5zW2tleV19XG4gICAgICAgICAgICAgICAgY29sdW1ucz17Y29sdW1uc31cbiAgICAgICAgICAgICAgICBsYWJlbD17KGNvbHVtbkxhYmVscyAmJiBjb2x1bW5MYWJlbHNba2V5XSkgfHwga2V5fVxuICAgICAgICAgICAgICAgIGtleT17a2V5fVxuICAgICAgICAgICAgICAgIGFsbEZpZWxkcz17ZmllbGRzfVxuICAgICAgICAgICAgICAgIGZpZWxkUGFpcnM9e2VuaGFuY2VkRmllbGRQYWlyc31cbiAgICAgICAgICAgICAgICBvblNlbGVjdD17dmFsID0+IG9uVXBkYXRlQ29sdW1uKGtleSwgdmFsKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1NpZGVQYW5lbFNlY3Rpb24+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBMYXllckNvbHVtbkNvbmZpZztcbn1cblxuZXhwb3J0IGRlZmF1bHQgTGF5ZXJDb2x1bW5Db25maWdGYWN0b3J5O1xuIl19
109
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2xheWVyLWNvbHVtbi1jb25maWcudHN4Il0sIm5hbWVzIjpbIlRvcFJvdyIsInN0eWxlZCIsImRpdiIsImdldFZhbGlkRmllbGRQYWlyc1N1Z2dlc3Rpb25zRm9yQ29sdW1uIiwiZW5oYW5jZWRGaWVsZFBhaXJzIiwiY29sdW1uUGFpcnMiLCJjb2x1bW5LZXkiLCJjb2x1bW5QYWlyIiwibWF0Y2hpbmdGaWVsZFBhaXJzIiwiZmlsdGVyIiwicGFpciIsImZpZWxkUGFpcktleSIsInNvbWUiLCJoYXNPd25Qcm9wZXJ0eSIsImxlbmd0aCIsIkxheWVyQ29sdW1uQ29uZmlnRmFjdG9yeSIsImRlcHMiLCJDb2x1bW5TZWxlY3RvckZhY3RvcnkiLCJDb2x1bW5TZWxlY3RvciIsIkxheWVyQ29sdW1uQ29uZmlnIiwiZmllbGRQYWlycyIsImNvbHVtbnMiLCJjb2x1bW5MYWJlbHMiLCJmaWVsZHMiLCJ1cGRhdGVMYXllckNvbmZpZyIsImFzc2lnbkNvbHVtbiIsImFzc2lnbkNvbHVtblBhaXJzIiwibWFwIiwiZnAiLCJuYW1lIiwiZGVmYXVsdE5hbWUiLCJ0eXBlIiwib25VcGRhdGVDb2x1bW4iLCJrZXkiLCJ2YWx1ZSIsImFzc2lnbmVkQ29sdW1ucyIsIk9iamVjdCIsImtleXMiLCJ2YWwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFHQTs7QUFDQTs7QUFHQTs7QUFFQTs7QUFFQTs7QUFFQTs7OztBQW1CQSxJQUFNQSxNQUFNLEdBQUdDLDZCQUFPQyxHQUFWLDZJQUFaO0FBS0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLFNBQVNDLHNDQUFULENBQ0VDLGtCQURGLEVBRUVDLFdBRkYsRUFHRUMsU0FIRixFQUk4QjtBQUM1QixNQUFJRixrQkFBa0IsSUFBSUMsV0FBSixhQUFJQSxXQUFKLGVBQUlBLFdBQVcsQ0FBR0MsU0FBSCxDQUFyQyxFQUFvRDtBQUNsRCxRQUFNQyxVQUFVLEdBQUdGLFdBQVcs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LEdBQUQsQ0FEakI7QUFFRSxRQUFBLE9BQU8sRUFBRVosT0FGWDtBQUdFLFFBQUEsS0FBSyxFQUFHQyxZQUFZLElBQUlBLFlBQVksQ0FBQ1csR0FBRCxDQUE3QixJQUF1Q0EsR0FIaEQ7QUFJRSxRQUFBLEdBQUcsRUFBRUEsR0FKUDtBQUtFLFFBQUEsU0FBUyxFQUFFVixNQUxiO0FBTUUsUUFBQSxVQUFVLEVBQUVwQixzQ0FBc0MsQ0FDaERDLGtCQURnRCxFQUVoREMsV0FGZ0QsRUFHaEQ0QixHQUhnRCxDQU5wRDtBQVdFLFFBQUEsUUFBUSxFQUFFLGtCQUFBSyxHQUFHO0FBQUEsaUJBQUlOLGNBQWMsQ0FBQ0MsR0FBRCxFQUFNSyxHQUFOLENBQWxCO0FBQUE7QUFYZixRQUQyQjtBQUFBLEtBQTVCLENBVEgsQ0FERixDQURGLENBREY7QUErQkQsR0F0RUQ7O0FBd0VBLFNBQU9uQixpQkFBUDtBQUNEOztlQUVjSix3QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuaW1wb3J0IHtDb2x1bW5QYWlycywgTGF5ZXJDb2x1bW5zLCBMYXllckJhc2VDb25maWd9IGZyb20gJ0BrZXBsZXIuZ2wvbGF5ZXJzJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnQGtlcGxlci5nbC9sb2NhbGl6YXRpb24nO1xuaW1wb3J0IHtGaWVsZFBhaXIsIEZpZWxkfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7dG9BcnJheX0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5cbmltcG9ydCBDb2x1bW5TZWxlY3RvckZhY3RvcnkgZnJvbSAnLi9jb2x1bW4tc2VsZWN0b3InO1xuaW1wb3J0IHtNaW5pbWFsRmllbGR9IGZyb20gJy4uLy4uL2NvbW1vbi9maWVsZC1zZWxlY3Rvcic7XG5pbXBvcnQge1BhbmVsTGFiZWwsIFNpZGVQYW5lbFNlY3Rpb259IGZyb20gJy4uLy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCB0eXBlIExheWVyQ29sdW1uQ29uZmlnUHJvcHM8RmllbGRPcHRpb24gZXh0ZW5kcyBNaW5pbWFsRmllbGQ+ID0ge1xuICBjb2x1bW5zOiBMYXllckNvbHVtbnM7XG4gIGZpZWxkczogRmllbGRPcHRpb25bXTtcbiAgYXNzaWduQ29sdW1uUGFpcnM6IChrZXk6IHN0cmluZywgcGFpcjogc3RyaW5nKSA9PiBMYXllckNvbHVtbnM7XG4gIGFzc2lnbkNvbHVtbjogKGtleTogc3RyaW5nLCBmaWVsZDogRmllbGRPcHRpb24pID0+IExheWVyQ29sdW1ucztcbiAgdXBkYXRlTGF5ZXJDb25maWc6IChuZXdDb25maWc6IFBhcnRpYWw8TGF5ZXJCYXNlQ29uZmlnPikgPT4gdm9pZDtcbiAgY29sdW1uUGFpcnM/OiBDb2x1bW5QYWlycyB8IG51bGw7XG4gIGZpZWxkUGFpcnM/OiBGaWVsZFBhaXJbXTtcbiAgY29sdW1uTGFiZWxzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn07XG5cbmV4cG9ydCB0eXBlIEVuaGFuY2VkRmllbGRQYWlyID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6ICdwb2ludCc7XG4gIHBhaXI6IEZpZWxkUGFpclsncGFpciddO1xufTtcblxuY29uc3QgVG9wUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuLyoqXG4gKiBvbmx5IHByb3ZpZGUgc3VnZ2VzdGVkIGZpZWxkIHBhaXJzIGlmIHRoZXJlIGlzIGEgbWF0Y2gsXG4gKiBvdGhlcndpc2UgdGhlIHVzZXIgY2FuIHNlbGVjdCBhIHN1Z2dlc3RlZCBmaWVsZCBwYWlyIHRoYXQgd2lsbCBjcmVhdGUgaW52YWxpZCBjb2x1bW5zIGFuZCBhIGhhcmQgY3Jhc2hcbiAqL1xuZnVuY3Rpb24gZ2V0VmFsaWRGaWVsZFBhaXJzU3VnZ2VzdGlvbnNGb3JDb2x1bW4oXG4gIGVuaGFuY2VkRmllbGRQYWlyczogRW5oYW5jZWRGaWVsZFBhaXJbXSB8IG51bGwsXG4gIGNvbHVtblBhaXJzOiBDb2x1bW5QYWlycyB8IG51bGwgfCB1bmRlZmluZWQsXG4gIGNvbHVtbktleTogc3RyaW5nXG4pOiBFbmhhbmNlZEZpZWxkUGFpcltdIHwgbnVsbCB7XG4gIGlmIChlbmhhbmNlZEZpZWxkUGFpcnMgJiYgY29sdW1uUGFpcnM/Lltjb2x1bW5LZXldKSB7XG4gICAgY29uc3QgY29sdW1uUGFpciA9IGNvbHVtblBhaXJzW2NvbHVtbktleV07XG4gICAgY29uc3QgbWF0Y2hpbmdGaWVsZFBhaXJzID0gZW5oYW5jZWRGaWVsZFBhaXJzLmZpbHRlcigoe3BhaXJ9KSA9PiB7XG4gICAgICByZXR1cm4gdG9BcnJheShjb2x1bW5QYWlyLmZpZWxkUGFpcktleSkuc29tZShmaWVsZFBhaXJLZXkgPT5cbiAgICAgICAgcGFpci5oYXNPd25Qcm9wZXJ0eShmaWVsZFBhaXJLZXkpXG4gICAgICApO1xuICAgIH0pO1xuICAgIHJldHVybiBtYXRjaGluZ0ZpZWxkUGFpcnMubGVuZ3RoID4gMCA/IG1hdGNoaW5nRmllbGRQYWlycyA6IG51bGw7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuTGF5ZXJDb2x1bW5Db25maWdGYWN0b3J5LmRlcHMgPSBbQ29sdW1uU2VsZWN0b3JGYWN0b3J5XTtcblxuZnVuY3Rpb24gTGF5ZXJDb2x1bW5Db25maWdGYWN0b3J5KENvbHVtblNlbGVjdG9yOiBSZXR1cm5UeXBlPHR5cGVvZiBDb2x1bW5TZWxlY3RvckZhY3Rvcnk+KSB7XG4gIGNvbnN0IExheWVyQ29sdW1uQ29uZmlnOiBSZWFjdC5GQzxMYXllckNvbHVtbkNvbmZpZ1Byb3BzPEZpZWxkPj4gPSAoe1xuICAgIGNvbHVtblBhaXJzLFxuICAgIGZpZWxkUGFpcnMsXG4gICAgY29sdW1ucyxcbiAgICBjb2x1bW5MYWJlbHMsXG4gICAgZmllbGRzLFxuICAgIHVwZGF0ZUxheWVyQ29uZmlnLFxuICAgIGFzc2lnbkNvbHVtbixcbiAgICBhc3NpZ25Db2x1bW5QYWlyc1xuICB9KSA9PiB7XG4gICAgY29uc3QgZW5oYW5jZWRGaWVsZFBhaXJzOiBFbmhhbmNlZEZpZWxkUGFpcltdIHwgbnVsbCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PlxuICAgICAgICBjb2x1bW5QYWlycyAmJiBmaWVsZFBhaXJzXG4gICAgICAgICAgPyBmaWVsZFBhaXJzLm1hcChmcCA9PiAoe1xuICAgICAgICAgICAgICBuYW1lOiBmcC5kZWZhdWx0TmFtZSxcbiAgICAgICAgICAgICAgdHlwZTogJ3BvaW50JyxcbiAgICAgICAgICAgICAgcGFpcjogZnAucGFpclxuICAgICAgICAgICAgfSkpXG4gICAgICAgICAgOiBudWxsLFxuICAgICAgW2NvbHVtblBhaXJzLCBmaWVsZFBhaXJzXVxuICAgICk7XG5cbiAgICBjb25zdCBvblVwZGF0ZUNvbHVtbiA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGtleSwgdmFsdWUpID0+IHtcbiAgICAgICAgY29uc3QgYXNzaWduZWRDb2x1bW5zID1cbiAgICAgICAgICB2YWx1ZSAmJiB2YWx1ZS5wYWlyICYmIGNvbHVtblBhaXJzXG4gICAgICAgICAgICA/IGFzc2lnbkNvbHVtblBhaXJzKGtleSwgdmFsdWUucGFpcilcbiAgICAgICAgICAgIDogYXNzaWduQ29sdW1uKGtleSwgdmFsdWUpO1xuXG4gICAgICAgIHVwZGF0ZUxheWVyQ29uZmlnKHtjb2x1bW5zOiBhc3NpZ25lZENvbHVtbnN9KTtcbiAgICAgIH0sXG4gICAgICBbdXBkYXRlTGF5ZXJDb25maWcsIGNvbHVtblBhaXJzLCBhc3NpZ25Db2x1bW5QYWlycywgYXNzaWduQ29sdW1uXVxuICAgICk7XG5cbiAgICBpZiAoIU9iamVjdC5rZXlzKGNvbHVtbnMpLmxlbmd0aCkge1xuICAgICAgLy8gZG9uJ3QgcmVuZGVyIGlmIGNvbHVtbnMgaXMgZW1wdHlcbiAgICAgIHJldHVybiA8ZGl2IC8+O1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8U2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxheWVyLWNvbmZpZ19fY29sdW1uXCI+XG4gICAgICAgICAgICA8VG9wUm93PlxuICAgICAgICAgICAgICA8UGFuZWxMYWJlbD5cbiAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J2NvbHVtbnMudGl0bGUnfSAvPlxuICAgICAgICAgICAgICA8L1BhbmVsTGFiZWw+XG4gICAgICAgICAgICAgIDxQYW5lbExhYmVsPlxuICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwibGF5ZXIucmVxdWlyZWRcIiAvPlxuICAgICAgICAgICAgICA8L1BhbmVsTGFiZWw+XG4gICAgICAgICAgICA8L1RvcFJvdz5cbiAgICAgICAgICAgIHtPYmplY3Qua2V5cyhjb2x1bW5zKS5tYXAoa2V5ID0+IChcbiAgICAgICAgICAgICAgPENvbHVtblNlbGVjdG9yXG4gICAgICAgICAgICAgICAgY29sdW1uPXtjb2x1bW5zW2tleV19XG4gICAgICAgICAgICAgICAgY29sdW1ucz17Y29sdW1uc31cbiAgICAgICAgICAgICAgICBsYWJlbD17KGNvbHVtbkxhYmVscyAmJiBjb2x1bW5MYWJlbHNba2V5XSkgfHwga2V5fVxuICAgICAgICAgICAgICAgIGtleT17a2V5fVxuICAgICAgICAgICAgICAgIGFsbEZpZWxkcz17ZmllbGRzfVxuICAgICAgICAgICAgICAgIGZpZWxkUGFpcnM9e2dldFZhbGlkRmllbGRQYWlyc1N1Z2dlc3Rpb25zRm9yQ29sdW1uKFxuICAgICAgICAgICAgICAgICAgZW5oYW5jZWRGaWVsZFBhaXJzLFxuICAgICAgICAgICAgICAgICAgY29sdW1uUGFpcnMsXG4gICAgICAgICAgICAgICAgICBrZXlcbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIG9uU2VsZWN0PXt2YWwgPT4gb25VcGRhdGVDb2x1bW4oa2V5LCB2YWwpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIExheWVyQ29sdW1uQ29uZmlnO1xufVxuXG5leHBvcnQgZGVmYXVsdCBMYXllckNvbHVtbkNvbmZpZ0ZhY3Rvcnk7XG4iXX0=
@@ -2,11 +2,12 @@ import React from 'react';
2
2
  import InfoHelperFactory from '../../common/info-helper';
3
3
  import { Layer } from '@kepler.gl/layers';
4
4
  import { LayerVisConfig } from '@kepler.gl/types';
5
- declare type LayerConfigGroupLabelProps = {
5
+ export declare type LayerConfigGroupLabelProps = {
6
6
  label?: string;
7
7
  description?: string;
8
+ collapsed?: boolean;
8
9
  };
9
- declare type LayerConfigGroupProps = {
10
+ export declare type LayerConfigGroupProps = {
10
11
  layer?: Layer;
11
12
  label: string;
12
13
  property?: string;
@@ -15,6 +16,8 @@ declare type LayerConfigGroupProps = {
15
16
  expanded?: boolean;
16
17
  disabled?: boolean;
17
18
  onChange?: (newVisConfig: Partial<LayerVisConfig>) => void;
19
+ IconComponent?: React.ElementType;
20
+ children?: React.ReactNode;
18
21
  };
19
22
  export declare const StyledLayerConfigGroupAction: import("styled-components").StyledComponent<"div", any, {}, never>;
20
23
  export declare const ConfigGroupCollapsibleContent: import("styled-components").StyledComponent<"div", any, {
@@ -24,6 +27,12 @@ export declare const ConfigGroupCollapsibleHeader: import("styled-components").S
24
27
  className: "layer-config-group__header__collapsible";
25
28
  }, "className">;
26
29
  export declare const StyledLayerConfigGroup: import("styled-components").StyledComponent<"div", any, {}, never>;
30
+ interface StyledConfigGroupHeaderProps {
31
+ collapsible?: boolean;
32
+ }
33
+ export declare const StyledConfigGroupHeader: import("styled-components").StyledComponent<"div", any, {
34
+ className: "layer-config-group__header";
35
+ } & StyledConfigGroupHeaderProps, "className">;
27
36
  export declare function LayerConfigGroupLabelFactory(InfoHelper: ReturnType<typeof InfoHelperFactory>): React.FC<LayerConfigGroupLabelProps>;
28
37
  export declare namespace LayerConfigGroupLabelFactory {
29
38
  var deps: (typeof InfoHelperFactory)[];
@@ -1,23 +1,3 @@
1
- // Copyright (c) 2022 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");
@@ -28,7 +8,7 @@ Object.defineProperty(exports, "__esModule", {
28
8
  value: true
29
9
  });
30
10
  exports.LayerConfigGroupLabelFactory = LayerConfigGroupLabelFactory;
31
- exports["default"] = exports.StyledLayerConfigGroup = exports.ConfigGroupCollapsibleHeader = exports.ConfigGroupCollapsibleContent = exports.StyledLayerConfigGroupAction = void 0;
11
+ exports["default"] = exports.StyledConfigGroupHeader = exports.StyledLayerConfigGroup = exports.ConfigGroupCollapsibleHeader = exports.ConfigGroupCollapsibleContent = exports.StyledLayerConfigGroupAction = void 0;
32
12
 
33
13
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
34
14
 
@@ -60,7 +40,7 @@ exports.StyledLayerConfigGroupAction = StyledLayerConfigGroupAction;
60
40
 
61
41
  var ConfigGroupCollapsibleContent = _styledComponents["default"].div.attrs({
62
42
  className: 'layer-config-group__content__collapsible'
63
- })(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n overflow: visible;\n transition: max-height 0.3s ease-out;\n height: max-content;\n max-height: 600px;\n"])));
43
+ })(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n transition: max-height 0.3s ease-out;\n height: max-content;\n max-height: 1200px;\n overflow: auto;\n"])));
64
44
 
65
45
  exports.ConfigGroupCollapsibleContent = ConfigGroupCollapsibleContent;
66
46
 
@@ -80,12 +60,16 @@ exports.StyledLayerConfigGroup = StyledLayerConfigGroup;
80
60
 
81
61
  var StyledConfigGroupHeader = _styledComponents["default"].div.attrs({
82
62
  className: 'layer-config-group__header'
83
- })(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 12px;\n\n :hover {\n cursor: pointer;\n .layer-config-group__label {\n color: ", ";\n }\n\n .layer-config-group__action {\n color: ", ";\n }\n }\n"])), function (props) {
63
+ })(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 12px;\n cursor: default;\n\n :hover {\n ", "\n .layer-config-group__label {\n color: ", ";\n }\n\n .layer-config-group__action {\n color: ", ";\n }\n }\n"])), function (props) {
64
+ return props.collapsible && 'cursor: pointer;';
65
+ }, function (props) {
84
66
  return props.theme.textColorHl;
85
67
  }, function (props) {
86
68
  return props.theme.textColorHl;
87
69
  });
88
70
 
71
+ exports.StyledConfigGroupHeader = StyledConfigGroupHeader;
72
+
89
73
  var ConfigGroupContent = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n &.disabled {\n opacity: 0.3;\n pointer-events: none;\n * {\n pointer-events: none;\n }\n }\n"])));
90
74
 
91
75
  LayerConfigGroupLabelFactory.deps = [_infoHelper["default"]];
@@ -136,7 +120,9 @@ function LayerConfigGroupFactory(LayerConfigGroupLabel) {
136
120
  collapsible = _ref2.collapsible,
137
121
  description = _ref2.description,
138
122
  disabled = _ref2.disabled,
139
- expanded = _ref2.expanded;
123
+ expanded = _ref2.expanded,
124
+ _ref2$IconComponent = _ref2.IconComponent,
125
+ IconComponent = _ref2$IconComponent === void 0 ? _icons.VertThreeDots : _ref2$IconComponent;
140
126
 
141
127
  var _useState = (0, _react.useState)(!expanded),
142
128
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
@@ -144,18 +130,20 @@ function LayerConfigGroupFactory(LayerConfigGroupLabel) {
144
130
  toggleCollapsed = _useState2[1];
145
131
 
146
132
  var onToggleCollapsed = (0, _react.useCallback)(function () {
147
- toggleCollapsed(!collapsed);
148
- }, [collapsed, toggleCollapsed]);
133
+ collapsible && toggleCollapsed(!collapsed);
134
+ }, [collapsed, toggleCollapsed, collapsible]);
149
135
  return /*#__PURE__*/_react["default"].createElement(StyledLayerConfigGroup, {
150
136
  className: (0, _classnames["default"])('layer-config-group', {
151
137
  collapsed: collapsed,
152
138
  disabled: disabled
153
139
  })
154
140
  }, /*#__PURE__*/_react["default"].createElement(StyledConfigGroupHeader, {
155
- onClick: onToggleCollapsed
141
+ onClick: onToggleCollapsed,
142
+ collapsible: collapsible
156
143
  }, /*#__PURE__*/_react["default"].createElement(LayerConfigGroupLabel, {
157
144
  label: label,
158
- description: description
145
+ description: description,
146
+ collapsed: collapsed
159
147
  }), /*#__PURE__*/_react["default"].createElement(StyledLayerConfigGroupAction, {
160
148
  className: "layer-config-group__action"
161
149
  }, property ? /*#__PURE__*/_react["default"].createElement(_switch["default"], {
@@ -164,7 +152,7 @@ function LayerConfigGroupFactory(LayerConfigGroupLabel) {
164
152
  onChange: function onChange() {
165
153
  return _onChange2 === null || _onChange2 === void 0 ? void 0 : _onChange2((0, _defineProperty2["default"])({}, property, !(layer !== null && layer !== void 0 && layer.config.visConfig[property])));
166
154
  }
167
- }) : null, collapsible ? /*#__PURE__*/_react["default"].createElement(_icons.VertThreeDots, {
155
+ }) : null, collapsible ? /*#__PURE__*/_react["default"].createElement(IconComponent, {
168
156
  height: "18px"
169
157
  }) : null)), /*#__PURE__*/_react["default"].createElement(ConfigGroupContent, {
170
158
  className: (0, _classnames["default"])('layer-config-group__content', {
@@ -185,4 +173,4 @@ function LayerConfigGroupFactory(LayerConfigGroupLabel) {
185
173
 
186
174
  var _default = LayerConfigGroupFactory;
187
175
  exports["default"] = _default;
188
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2xheWVyLWNvbmZpZy1ncm91cC50c3giXSwibmFtZXMiOlsiU3R5bGVkTGF5ZXJDb25maWdHcm91cEFjdGlvbiIsInN0eWxlZCIsImRpdiIsInByb3BzIiwidGhlbWUiLCJ0ZXh0Q29sb3IiLCJDb25maWdHcm91cENvbGxhcHNpYmxlQ29udGVudCIsImF0dHJzIiwiY2xhc3NOYW1lIiwiQ29uZmlnR3JvdXBDb2xsYXBzaWJsZUhlYWRlciIsIlN0eWxlZExheWVyQ29uZmlnR3JvdXAiLCJsYXllckNvbmZpZ0dyb3VwUGFkZGluZ0xlZnQiLCJsYXllckNvbmZpZ0dyb3VwTWFyZ2luQm90dG9tIiwiU3R5bGVkQ29uZmlnR3JvdXBIZWFkZXIiLCJ0ZXh0Q29sb3JIbCIsIkNvbmZpZ0dyb3VwQ29udGVudCIsIkxheWVyQ29uZmlnR3JvdXBMYWJlbEZhY3RvcnkiLCJkZXBzIiwiSW5mb0hlbHBlckZhY3RvcnkiLCJJbmZvSGVscGVyIiwiU3R5bGVkTGF5ZXJDb25maWdHcm91cExhYmVsIiwibGF5ZXJDb25maWdHcm91cExhYmVsQm9yZGVyTGVmdCIsImxhYmVsQ29sb3IiLCJsYXllckNvbmZpZ0dyb3VwTGFiZWxNYXJnaW4iLCJsYXllckNvbmZpZ0dyb3VwTGFiZWxQYWRkaW5nIiwibGF5ZXJDb25maWdHcm91cExhYmVsTGFiZWxNYXJnaW4iLCJsYXllckNvbmZpZ0dyb3VwTGFiZWxMYWJlbEZvbnRTaXplIiwiTGF5ZXJDb25maWdHcm91cExhYmVsIiwibGFiZWwiLCJkZXNjcmlwdGlvbiIsIkxheWVyQ29uZmlnR3JvdXBGYWN0b3J5IiwiTGF5ZXJDb25maWdHcm91cCIsImNoaWxkcmVuIiwicHJvcGVydHkiLCJsYXllciIsIm9uQ2hhbmdlIiwiY29sbGFwc2libGUiLCJkaXNhYmxlZCIsImV4cGFuZGVkIiwiY29sbGFwc2VkIiwidG9nZ2xlQ29sbGFwc2VkIiwib25Ub2dnbGVDb2xsYXBzZWQiLCJj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USxFQUFFO0FBTG9CLEdBQWhDO0FBT0EsU0FBT04sZ0JBQVA7QUFDRDs7ZUFFY0QsdUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlU3RhdGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IFN3aXRjaCBmcm9tICcuLi8uLi9jb21tb24vc3dpdGNoJztcbmltcG9ydCBJbmZvSGVscGVyRmFjdG9yeSBmcm9tICcuLi8uLi9jb21tb24vaW5mby1oZWxwZXInO1xuaW1wb3J0IHtWZXJ0VGhyZWVEb3RzfSBmcm9tICcuLi8uLi9jb21tb24vaWNvbnMnO1xuaW1wb3J0IHtMYXllcn0gZnJvbSAnQGtlcGxlci5nbC9sYXllcnMnO1xuaW1wb3J0IHtMYXllclZpc0NvbmZpZ30gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5cbnR5cGUgTGF5ZXJDb25maWdHcm91cExhYmVsUHJvcHMgPSB7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbn07XG5cbnR5cGUgTGF5ZXJDb25maWdHcm91cFByb3BzID0ge1xuICBsYXllcj86IExheWVyO1xuICBsYWJlbDogc3RyaW5nO1xuICBwcm9wZXJ0eT86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGNvbGxhcHNpYmxlPzogYm9vbGVhbjtcbiAgZXhwYW5kZWQ/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIG9uQ2hhbmdlPzogKG5ld1Zpc0NvbmZpZzogUGFydGlhbDxMYXllclZpc0NvbmZpZz4pID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTGF5ZXJDb25maWdHcm91cEFjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG5gO1xuXG5leHBvcnQgY29uc3QgQ29uZmlnR3JvdXBDb2xsYXBzaWJsZUNvbnRlbnQgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbGF5ZXItY29uZmlnLWdyb3VwX19jb250ZW50X19jb2xsYXBzaWJsZSdcbn0pYFxuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzIGVhc2Utb3V0O1xuICBoZWlnaHQ6IG1heC1jb250ZW50O1xuICBtYXgtaGVpZ2h0OiA2MDBweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBDb25maWdHcm91cENvbGxhcHNpYmxlSGVhZGVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2xheWVyLWNvbmZpZy1ncm91cF9faGVhZGVyX19jb2xsYXBzaWJsZSdcbn0pYFxuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWF4LWhlaWdodDogMDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRMYXllckNvbmZpZ0dyb3VwID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZy1sZWZ0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxheWVyQ29uZmlnR3JvdXBQYWRkaW5nTGVmdH1weDtcbiAgbWFyZ2luLWJvdHRvbTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTWFyZ2luQm90dG9tfXB4O1xuXG4gICYuZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICAmLmNvbGxhcHNlZCB7XG4gICAgLmxheWVyLWNvbmZpZy1ncm91cF9faGVhZGVyX19jb2xsYXBzaWJsZSB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIG1heC1oZWlnaHQ6IDYwMHB4O1xuICAgIH1cbiAgICAubGF5ZXItY29uZmlnLWdyb3VwX19jb250ZW50IHtcbiAgICAgIC5sYXllci1jb25maWctZ3JvdXBfX2NvbnRlbnRfX2NvbGxhcHNpYmxlIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZENvbmZpZ0dyb3VwSGVhZGVyID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2xheWVyLWNvbmZpZy1ncm91cF9faGVhZGVyJ1xufSlgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcblxuICA6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAubGF5ZXItY29uZmlnLWdyb3VwX19sYWJlbCB7XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JIbH07XG4gICAgfVxuXG4gICAgLmxheWVyLWNvbmZpZy1ncm91cF9fYWN0aW9uIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IENvbmZpZ0dyb3VwQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gICYuZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAqIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuYDtcblxuTGF5ZXJDb25maWdHcm91cExhYmVsRmFjdG9yeS5kZXBzID0gW0luZm9IZWxwZXJGYWN0b3J5XTtcblxuZXhwb3J0IGZ1bmN0aW9uIExheWVyQ29uZmlnR3JvdXBMYWJlbEZhY3RvcnkoSW5mb0hlbHBlcjogUmV0dXJuVHlwZTx0eXBlb2YgSW5mb0hlbHBlckZhY3Rvcnk+KSB7XG4gIGNvbnN0IFN0eWxlZExheWVyQ29uZmlnR3JvdXBMYWJlbCA9IHN0eWxlZC5kaXZgXG4gICAgYm9yZGVyLWxlZnQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGF5ZXJDb25maWdHcm91cExhYmVsQm9yZGVyTGVmdH0gc29saWRcbiAgICAgICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGFiZWxDb2xvcn07XG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgbWFyZ2luLWxlZnQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGF5ZXJDb25maWdHcm91cExhYmVsTWFyZ2lufTtcbiAgICBwYWRkaW5nLWxlZnQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGF5ZXJDb25maWdHcm91cExhYmVsUGFkZGluZ307XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMnB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICBtYXJnaW4tbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxMYWJlbE1hcmdpbn07XG4gICAgICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGF5ZXJDb25maWdHcm91cExhYmVsTGFiZWxGb250U2l6ZX07XG4gICAgfVxuICBgO1xuXG4gIGNvbnN0IExheWVyQ29uZmlnR3JvdXBMYWJlbDogUmVhY3QuRkM8TGF5ZXJDb25maWdHcm91cExhYmVsUHJvcHM+ID0gKHtsYWJlbCwgZGVzY3JpcHRpb259KSA9PiAoXG4gICAgPFN0eWxlZExheWVyQ29uZmlnR3JvdXBMYWJlbCBjbGFzc05hbWU9XCJsYXllci1jb25maWctZ3JvdXBfX2xhYmVsXCI+XG4gICAgICA8c3Bhbj5cbiAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9e2xhYmVsIHx8ICdtaXNjLmVtcHR5J30gZGVmYXVsdE1lc3NhZ2U9e2xhYmVsfSAvPlxuICAgICAgPC9zcGFuPlxuICAgICAge2Rlc2NyaXB0aW9uICYmIDxJbmZvSGVscGVyIGRlc2NyaXB0aW9uPXtkZXNjcmlwdGlvbn0gaWQ9e2xhYmVsfSAvPn1cbiAgICA8L1N0eWxlZExheWVyQ29uZmlnR3JvdXBMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gTGF5ZXJDb25maWdHcm91cExhYmVsO1xufVxuXG5MYXllckNvbmZpZ0dyb3VwRmFjdG9yeS5kZXBzID0gW0xheWVyQ29uZmlnR3JvdXBMYWJlbEZhY3RvcnldO1xuXG5mdW5jdGlvbiBMYXllckNvbmZpZ0dyb3VwRmFjdG9yeShcbiAgTGF5ZXJDb25maWdHcm91cExhYmVsOiBSZXR1cm5UeXBlPHR5cGVvZiBMYXllckNvbmZpZ0dyb3VwTGFiZWxGYWN0b3J5PlxuKSB7XG4gIGNvbnN0IExheWVyQ29uZmlnR3JvdXA6IFJlYWN0LkZDPExheWVyQ29uZmlnR3JvdXBQcm9wcz4gPSAoe1xuICAgIGxhYmVsLFxuICAgIGNoaWxkcmVuLFxuICAgIHByb3BlcnR5LFxuICAgIGxheWVyLFxuICAgIG9uQ2hhbmdlLFxuICAgIGNvbGxhcHNpYmxlLFxuICAgIGRlc2NyaXB0aW9uLFxuICAgIGRpc2FibGVkLFxuICAgIGV4cGFuZGVkXG4gIH0pID0+IHtcbiAgICBjb25zdCBbY29sbGFwc2VkLCB0b2dnbGVDb2xsYXBzZWRdID0gdXNlU3RhdGUoIWV4cGFuZGVkKTtcbiAgICBjb25zdCBvblRvZ2dsZUNvbGxhcHNlZCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHRvZ2dsZUNvbGxhcHNlZCghY29sbGFwc2VkKTtcbiAgICB9LCBbY29sbGFwc2VkLCB0b2dnbGVDb2xsYXBzZWRdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkTGF5ZXJDb25maWdHcm91cCBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ2xheWVyLWNvbmZpZy1ncm91cCcsIHtjb2xsYXBzZWQsIGRpc2FibGVkfSl9PlxuICAgICAgICA8U3R5bGVkQ29uZmlnR3JvdXBIZWFkZXIgb25DbGljaz17b25Ub2dnbGVDb2xsYXBzZWR9PlxuICAgICAgICAgIDxMYXllckNvbmZpZ0dyb3VwTGFiZWwgbGFiZWw9e2xhYmVsfSBkZXNjcmlwdGlvbj17ZGVzY3JpcHRpb259IC8+XG4gICAgICAgICAgPFN0eWxlZExheWVyQ29uZmlnR3JvdXBBY3Rpb24gY2xhc3NOYW1lPVwibGF5ZXItY29uZmlnLWdyb3VwX19hY3Rpb25cIj5cbiAgICAgICAgICAgIHtwcm9wZXJ0eSA/IChcbiAgICAgICAgICAgICAgPFN3aXRjaFxuICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2xheWVyPy5jb25maWcudmlzQ29uZmlnW3Byb3BlcnR5XX1cbiAgICAgICAgICAgICAgICBpZD17YCR7bGF5ZXI/LmlkfS0ke3Byb3BlcnR5fWB9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eygpID0+IG9uQ2hhbmdlPy4oe1twcm9wZXJ0eV06ICFsYXllcj8uY29uZmlnLnZpc0NvbmZpZ1twcm9wZXJ0eV19KX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge2NvbGxhcHNpYmxlID8gPFZlcnRUaHJlZURvdHMgaGVpZ2h0PVwiMThweFwiIC8+IDogbnVsbH1cbiAgICAgICAgICA8L1N0eWxlZExheWVyQ29uZmlnR3JvdXBBY3Rpb24+XG4gICAgICAgIDwvU3R5bGVkQ29uZmlnR3JvdXBIZWFkZXI+XG4gICAgICAgIDxDb25maWdHcm91cENvbnRlbnRcbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ2xheWVyLWNvbmZpZy1ncm91cF9fY29udGVudCcsIHtcbiAgICAgICAgICAgIGRpc2FibGVkOiBwcm9wZXJ0eSAmJiAhbGF5ZXI/LmNvbmZpZy52aXNDb25maWdbcHJvcGVydHldXG4gICAgICAgICAgfSl9XG4gICAgICAgID5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvQ29uZmlnR3JvdXBDb250ZW50PlxuICAgICAgPC9TdHlsZWRMYXllckNvbmZpZ0dyb3VwPlxuICAgICk7XG4gIH07XG5cbiAgTGF5ZXJDb25maWdHcm91cC5kZWZhdWx0UHJvcHMgPSB7XG4gICAgY29sbGFwc2libGU6IGZhbHNlLFxuICAgIGV4cGFuZGVkOiBmYWxzZSxcbiAgICBvbkNoYW5nZTogKCkgPT4ge30sXG4gICAgZGVzY3JpcHRpb246ICcnLFxuICAgIGRpc2FibGVkOiBmYWxzZVxuICB9O1xuICByZXR1cm4gTGF5ZXJDb25maWdHcm91cDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTGF5ZXJDb25maWdHcm91cEZhY3Rvcnk7XG4iXX0=
176
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2xheWVyLXBhbmVsL2xheWVyLWNvbmZpZy1ncm91cC50c3giXSwibmFtZXMiOlsiU3R5bGVkTGF5ZXJDb25maWdHcm91cEFjdGlvbiIsInN0eWxlZCIsImRpdiIsInByb3BzIiwidGhlbWUiLCJ0ZXh0Q29sb3IiLCJDb25maWdHcm91cENvbGxhcHNpYmxlQ29udGVudCIsImF0dHJzIiwiY2xhc3NOYW1lIiwiQ29uZmlnR3JvdXBDb2xsYXBzaWJsZUhlYWRlciIsIlN0eWxlZExheWVyQ29uZmlnR3JvdXAiLCJsYXllckNvbmZpZ0dyb3VwUGFkZGluZ0xlZnQiLCJsYXllckNvbmZpZ0dyb3VwTWFyZ2luQm90dG9tIiwiU3R5bGVkQ29uZmlnR3JvdXBIZWFkZXIiLCJjb2xsYXBzaWJsZSIsInRleHRDb2xvckhsIiwiQ29uZmlnR3JvdXBDb250ZW50IiwiTGF5ZXJDb25maWdHcm91cExhYmVsRmFjdG9yeSIsImRlcHMiLCJJbmZvSGVscGVyRmFjdG9yeSIsIkluZm9IZWxwZXIiLCJTdHlsZWRMYXllckNvbmZpZ0dyb3VwTGFiZWwiLCJsYXllckNvbmZpZ0dyb3VwTGFiZWxCb3JkZXJMZWZ0IiwibGFiZWxDb2xvciIsImxheWVyQ29uZmlnR3JvdXBMYWJlbE1hcmdpbiIsImxheWVyQ29uZmlnR3JvdXBMYWJlbFBhZGRpbmciLCJsYXllckNvbmZpZ0dyb3VwTGFiZWxMYWJlbE1hcmdpbiIsImxheWVyQ29uZmlnR3JvdXBMYWJlbExhYmVsRm9udFNpemUiLCJMYXllckNvbmZpZ0dyb3VwTGFiZWwiLCJsYWJlbCIsImRlc2NyaXB0aW9uIiwiTGF5ZXJDb25maWdHcm91cEZhY3RvcnkiLCJMYXllckNvbmZpZ0dyb3VwIiwiY2hpbGRyZW4iLCJwcm9wZXJ0eSIsImxheWVyIiwib25DaGFuZ2UiLCJkaXNhYmxlZCIsImV4cGFuZGVkIiwiSWNvbkNvbXBvbmVudCIsIlZlcnRUaHJlZURvdHMiLCJjb2xsYXBzZWQiLCJ0b2dnbGVDb2xsYXBzZWQiLCJvblRvZ2dsZUNvbGxhcHNlZCIsImNvbmZpZyIsInZpc0NvbmZpZyIsImlkIiwiZGVmYXVsdFByb3BzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQXVCTyxJQUFNQSw0QkFBNEIsR0FBR0MsNkJBQU9DLEdBQVYsbUpBRzlCLFVBQUFDLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUMsU0FBaEI7QUFBQSxDQUh5QixDQUFsQzs7OztBQU1BLElBQU1DLDZCQUE2QixHQUFHTCw2QkFBT0MsR0FBUCxDQUFXSyxLQUFYLENBQWlCO0FBQzVEQyxFQUFBQSxTQUFTLEVBQUU7QUFEaUQsQ0FBakIsQ0FBSCxxTUFBbkM7Ozs7QUFTQSxJQUFNQyw0QkFBNEIsR0FBR1IsNkJBQU9DLEdBQVAsQ0FBV0ssS0FBWCxDQUFpQjtBQUMzREMsRUFBQUEsU0FBUyxFQUFFO0FBRGdELENBQWpCLENBQUgsdUpBQWxDOzs7O0FBUUEsSUFBTUUsc0JBQXNCLEdBQUdULDZCQUFPQyxHQUFWLDhlQUNqQixVQUFBQyxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlPLDJCQUFoQjtBQUFBLENBRFksRUFFaEIsVUFBQVIsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZUSw0QkFBaEI7QUFBQSxDQUZXLENBQTVCOzs7O0FBMEJBLElBQU1DLHVCQUF1QixHQUFHWiw2QkFBT0MsR0FBUCxDQUFXSyxLQUFYLENBQWlCO0FBQ3REQyxFQUFBQSxTQUFTLEVBQUU7QUFEMkMsQ0FBakIsQ0FBSCw4V0FVOUIsVUFBQUwsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ1csV0FBTixJQUFxQixrQkFBekI7QUFBQSxDQVZ5QixFQVlyQixVQUFBWCxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlXLFdBQWhCO0FBQUEsQ0FaZ0IsRUFnQnJCLFVBQUFaLEtBQUs7QUFBQSxT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LFFBQXhCLENBQUQ7QUFENkIsT0FBMUM7QUFEYixPQUtHRCxRQUxILENBZEYsQ0FERjtBQXdCRCxHQXpDRDs7QUEyQ0FELEVBQUFBLGdCQUFnQixDQUFDZSxZQUFqQixHQUFnQztBQUM5QmpDLElBQUFBLFdBQVcsRUFBRSxLQURpQjtBQUU5QndCLElBQUFBLFFBQVEsRUFBRSxLQUZvQjtBQUc5QkYsSUFBQUEsUUFBUSxFQUFFLG9CQUFNLENBQUUsQ0FIWTtBQUk5Qk4sSUFBQUEsV0FBVyxFQUFFLEVBSmlCO0FBSzlCTyxJQUFBQSxRQUFRLEVBQUU7QUFMb0IsR0FBaEM7QUFPQSxTQUFPTCxnQkFBUDtBQUNEOztlQUVjRCx1QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VTdGF0ZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQgU3dpdGNoIGZyb20gJy4uLy4uL2NvbW1vbi9zd2l0Y2gnO1xuaW1wb3J0IEluZm9IZWxwZXJGYWN0b3J5IGZyb20gJy4uLy4uL2NvbW1vbi9pbmZvLWhlbHBlcic7XG5pbXBvcnQge1ZlcnRUaHJlZURvdHN9IGZyb20gJy4uLy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQge0xheWVyfSBmcm9tICdAa2VwbGVyLmdsL2xheWVycyc7XG5pbXBvcnQge0xheWVyVmlzQ29uZmlnfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuZXhwb3J0IHR5cGUgTGF5ZXJDb25maWdHcm91cExhYmVsUHJvcHMgPSB7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgY29sbGFwc2VkPzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIExheWVyQ29uZmlnR3JvdXBQcm9wcyA9IHtcbiAgbGF5ZXI/OiBMYXllcjtcbiAgbGFiZWw6IHN0cmluZztcbiAgcHJvcGVydHk/OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBjb2xsYXBzaWJsZT86IGJvb2xlYW47XG4gIGV4cGFuZGVkPzogYm9vbGVhbjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBvbkNoYW5nZT86IChuZXdWaXNDb25maWc6IFBhcnRpYWw8TGF5ZXJWaXNDb25maWc+KSA9PiB2b2lkO1xuICBJY29uQ29tcG9uZW50PzogUmVhY3QuRWxlbWVudFR5cGU7XG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xufTtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZExheWVyQ29uZmlnR3JvdXBBY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuYDtcblxuZXhwb3J0IGNvbnN0IENvbmZpZ0dyb3VwQ29sbGFwc2libGVDb250ZW50ID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2xheWVyLWNvbmZpZy1ncm91cF9fY29udGVudF9fY29sbGFwc2libGUnXG59KWBcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjNzIGVhc2Utb3V0O1xuICBoZWlnaHQ6IG1heC1jb250ZW50O1xuICBtYXgtaGVpZ2h0OiAxMjAwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xuYDtcblxuZXhwb3J0IGNvbnN0IENvbmZpZ0dyb3VwQ29sbGFwc2libGVIZWFkZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbGF5ZXItY29uZmlnLWdyb3VwX19oZWFkZXJfX2NvbGxhcHNpYmxlJ1xufSlgXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtaGVpZ2h0OiAwO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZExheWVyQ29uZmlnR3JvdXAgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nLWxlZnQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGF5ZXJDb25maWdHcm91cFBhZGRpbmdMZWZ0fXB4O1xuICBtYXJnaW4tYm90dG9tOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxheWVyQ29uZmlnR3JvdXBNYXJnaW5Cb3R0b219cHg7XG5cbiAgJi5kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gICYuY29sbGFwc2VkIHtcbiAgICAubGF5ZXItY29uZmlnLWdyb3VwX19oZWFkZXJfX2NvbGxhcHNpYmxlIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgbWF4LWhlaWdodDogNjAwcHg7XG4gICAgfVxuICAgIC5sYXllci1jb25maWctZ3JvdXBfX2NvbnRlbnQge1xuICAgICAgLmxheWVyLWNvbmZpZy1ncm91cF9fY29udGVudF9fY29sbGFwc2libGUge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuaW50ZXJmYWNlIFN0eWxlZENvbmZpZ0dyb3VwSGVhZGVyUHJvcHMge1xuICBjb2xsYXBzaWJsZT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDb25maWdHcm91cEhlYWRlciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdsYXllci1jb25maWctZ3JvdXBfX2hlYWRlcidcbn0pPFN0eWxlZENvbmZpZ0dyb3VwSGVhZGVyUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG4gIGN1cnNvcjogZGVmYXVsdDtcblxuICA6aG92ZXIge1xuICAgICR7cHJvcHMgPT4gcHJvcHMuY29sbGFwc2libGUgJiYgJ2N1cnNvcjogcG9pbnRlcjsnfVxuICAgIC5sYXllci1jb25maWctZ3JvdXBfX2xhYmVsIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICB9XG5cbiAgICAubGF5ZXItY29uZmlnLWdyb3VwX19hY3Rpb24ge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgQ29uZmlnR3JvdXBDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgJi5kaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICoge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5gO1xuXG5MYXllckNvbmZpZ0dyb3VwTGFiZWxGYWN0b3J5LmRlcHMgPSBbSW5mb0hlbHBlckZhY3RvcnldO1xuXG5leHBvcnQgZnVuY3Rpb24gTGF5ZXJDb25maWdHcm91cExhYmVsRmFjdG9yeShJbmZvSGVscGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBJbmZvSGVscGVyRmFjdG9yeT4pIHtcbiAgY29uc3QgU3R5bGVkTGF5ZXJDb25maWdHcm91cExhYmVsID0gc3R5bGVkLmRpdmBcbiAgICBib3JkZXItbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxCb3JkZXJMZWZ0fSBzb2xpZFxuICAgICAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICBtYXJnaW4tbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxNYXJnaW59O1xuICAgIHBhZGRpbmctbGVmdDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxQYWRkaW5nfTtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIHNwYW4ge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxheWVyQ29uZmlnR3JvdXBMYWJlbExhYmVsTWFyZ2lufTtcbiAgICAgIGZvbnQtc2l6ZTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYXllckNvbmZpZ0dyb3VwTGFiZWxMYWJlbEZvbnRTaXplfTtcbiAgICB9XG4gIGA7XG5cbiAgY29uc3QgTGF5ZXJDb25maWdHcm91cExhYmVsOiBSZWFjdC5GQzxMYXllckNvbmZpZ0dyb3VwTGFiZWxQcm9wcz4gPSAoe2xhYmVsLCBkZXNjcmlwdGlvbn0pID0+IChcbiAgICA8U3R5bGVkTGF5ZXJDb25maWdHcm91cExhYmVsIGNsYXNzTmFtZT1cImxheWVyLWNvbmZpZy1ncm91cF9fbGFiZWxcIj5cbiAgICAgIDxzcGFuPlxuICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17bGFiZWwgfHwgJ21pc2MuZW1wdHknfSBkZWZhdWx0TWVzc2FnZT17bGFiZWx9IC8+XG4gICAgICA8L3NwYW4+XG4gICAgICB7ZGVzY3JpcHRpb24gJiYgPEluZm9IZWxwZXIgZGVzY3JpcHRpb249e2Rlc2NyaXB0aW9ufSBpZD17bGFiZWx9IC8+fVxuICAgIDwvU3R5bGVkTGF5ZXJDb25maWdHcm91cExhYmVsPlxuICApO1xuXG4gIHJldHVybiBMYXllckNvbmZpZ0dyb3VwTGFiZWw7XG59XG5cbkxheWVyQ29uZmlnR3JvdXBGYWN0b3J5LmRlcHMgPSBbTGF5ZXJDb25maWdHcm91cExhYmVsRmFjdG9yeV07XG5cbmZ1bmN0aW9uIExheWVyQ29uZmlnR3JvdXBGYWN0b3J5KFxuICBMYXllckNvbmZpZ0dyb3VwTGFiZWw6IFJldHVyblR5cGU8dHlwZW9mIExheWVyQ29uZmlnR3JvdXBMYWJlbEZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgTGF5ZXJDb25maWdHcm91cDogUmVhY3QuRkM8TGF5ZXJDb25maWdHcm91cFByb3BzPiA9ICh7XG4gICAgbGFiZWwsXG4gICAgY2hpbGRyZW4sXG4gICAgcHJvcGVydHksXG4gICAgbGF5ZXIsXG4gICAgb25DaGFuZ2UsXG4gICAgY29sbGFwc2libGUsXG4gICAgZGVzY3JpcHRpb24sXG4gICAgZGlzYWJsZWQsXG4gICAgZXhwYW5kZWQsXG4gICAgSWNvbkNvbXBvbmVudCA9IFZlcnRUaHJlZURvdHNcbiAgfSkgPT4ge1xuICAgIGNvbnN0IFtjb2xsYXBzZWQsIHRvZ2dsZUNvbGxhcHNlZF0gPSB1c2VTdGF0ZSghZXhwYW5kZWQpO1xuICAgIGNvbnN0IG9uVG9nZ2xlQ29sbGFwc2VkID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgY29sbGFwc2libGUgJiYgdG9nZ2xlQ29sbGFwc2VkKCFjb2xsYXBzZWQpO1xuICAgIH0sIFtjb2xsYXBzZWQsIHRvZ2dsZUNvbGxhcHNlZCwgY29sbGFwc2libGVdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkTGF5ZXJDb25maWdHcm91cCBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ2xheWVyLWNvbmZpZy1ncm91cCcsIHtjb2xsYXBzZWQsIGRpc2FibGVkfSl9PlxuICAgICAgICA8U3R5bGVkQ29uZmlnR3JvdXBIZWFkZXIgb25DbGljaz17b25Ub2dnbGVDb2xsYXBzZWR9IGNvbGxhcHNpYmxlPXtjb2xsYXBzaWJsZX0+XG4gICAgICAgICAgPExheWVyQ29uZmlnR3JvdXBMYWJlbCBsYWJlbD17bGFiZWx9IGRlc2NyaXB0aW9uPXtkZXNjcmlwdGlvbn0gY29sbGFwc2VkPXtjb2xsYXBzZWR9IC8+XG4gICAgICAgICAgPFN0eWxlZExheWVyQ29uZmlnR3JvdXBBY3Rpb24gY2xhc3NOYW1lPVwibGF5ZXItY29uZmlnLWdyb3VwX19hY3Rpb25cIj5cbiAgICAgICAgICAgIHtwcm9wZXJ0eSA/IChcbiAgICAgICAgICAgICAgPFN3aXRjaFxuICAgICAgICAgICAgICAgIGNoZWNrZWQ9e2xheWVyPy5jb25maWcudmlzQ29uZmlnW3Byb3BlcnR5XX1cbiAgICAgICAgICAgICAgICBpZD17YCR7bGF5ZXI/LmlkfS0ke3Byb3BlcnR5fWB9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eygpID0+IG9uQ2hhbmdlPy4oe1twcm9wZXJ0eV06ICFsYXllcj8uY29uZmlnLnZpc0NvbmZpZ1twcm9wZXJ0eV19KX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAge2NvbGxhcHNpYmxlID8gPEljb25Db21wb25lbnQgaGVpZ2h0PVwiMThweFwiIC8+IDogbnVsbH1cbiAgICAgICAgICA8L1N0eWxlZExheWVyQ29uZmlnR3JvdXBBY3Rpb24+XG4gICAgICAgIDwvU3R5bGVkQ29uZmlnR3JvdXBIZWFkZXI+XG4gICAgICAgIDxDb25maWdHcm91cENvbnRlbnRcbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ2xheWVyLWNvbmZpZy1ncm91cF9fY29udGVudCcsIHtcbiAgICAgICAgICAgIGRpc2FibGVkOiBwcm9wZXJ0eSAmJiAhbGF5ZXI/LmNvbmZpZy52aXNDb25maWdbcHJvcGVydHldXG4gICAgICAgICAgfSl9XG4gICAgICAgID5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvQ29uZmlnR3JvdXBDb250ZW50PlxuICAgICAgPC9TdHlsZWRMYXllckNvbmZpZ0dyb3VwPlxuICAgICk7XG4gIH07XG5cbiAgTGF5ZXJDb25maWdHcm91cC5kZWZhdWx0UHJvcHMgPSB7XG4gICAgY29sbGFwc2libGU6IGZhbHNlLFxuICAgIGV4cGFuZGVkOiBmYWxzZSxcbiAgICBvbkNoYW5nZTogKCkgPT4ge30sXG4gICAgZGVzY3JpcHRpb246ICcnLFxuICAgIGRpc2FibGVkOiBmYWxzZVxuICB9O1xuICByZXR1cm4gTGF5ZXJDb25maWdHcm91cDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTGF5ZXJDb25maWdHcm91cEZhY3Rvcnk7XG4iXX0=