@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");
@@ -29,6 +9,8 @@ Object.defineProperty(exports, "__esModule", {
29
9
  });
30
10
  exports["default"] = void 0;
31
11
 
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
32
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
33
15
 
34
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -41,16 +23,20 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
41
23
 
42
24
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
43
25
 
26
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
+
44
28
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
45
29
 
46
30
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
47
31
 
48
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
49
-
50
32
  var _react = _interopRequireWildcard(require("react"));
51
33
 
52
34
  var _styledComponents = _interopRequireDefault(require("styled-components"));
53
35
 
36
+ var _classnames = _interopRequireDefault(require("classnames"));
37
+
38
+ var _utilities = require("@dnd-kit/utilities");
39
+
54
40
  var _chickletedInput = require("../../../common/item-selector/chickleted-input");
55
41
 
56
42
  var _icons = require("../../../common/icons");
@@ -59,48 +45,21 @@ var _dropdownList = _interopRequireDefault(require("../../../common/item-selecto
59
45
 
60
46
  var _localization = require("@kepler.gl/localization");
61
47
 
62
- var _reactOnclickoutside = _interopRequireDefault(require("react-onclickoutside"));
63
-
64
- var _constants = require("@kepler.gl/constants");
65
-
66
48
  var _utils = require("@kepler.gl/utils");
67
49
 
68
- var _tippyTooltip = _interopRequireDefault(require("../../../common/tippy-tooltip"));
69
-
70
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
50
+ var _reactOnclickoutside = _interopRequireDefault(require("react-onclickoutside"));
71
51
 
72
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
52
+ var _tippyTooltip = _interopRequireDefault(require("../../../common/tippy-tooltip"));
73
53
 
74
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
54
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
75
55
 
76
56
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
77
57
 
78
58
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
79
59
 
80
- var TIME_DISPLAY = '2020-05-11 14:00';
81
-
82
- var getValue = function getValue(fmt) {
83
- return fmt[_constants.TOOLTIP_KEY];
84
- };
85
-
86
- var addDTimeLabel = function addDTimeLabel(formats) {
87
- return formats.map(function (f) {
88
- return _objectSpread(_objectSpread({}, f), {}, {
89
- label: f.type === _constants.TOOLTIP_FORMAT_TYPES.DATE_TIME || f.type === _constants.TOOLTIP_FORMAT_TYPES.DATE ? (0, _utils.getFormatter)(getValue(f))(TIME_DISPLAY) : f.label
90
- });
91
- });
92
- };
60
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
93
61
 
94
- function getFormatLabels(fields, fieldName) {
95
- var fieldType = fields.find(function (f) {
96
- return f.name === fieldName;
97
- }).type;
98
- var tooltipTypes = fieldType && _constants.FIELD_OPTS[fieldType].format.tooltip || [];
99
- var formatLabels = Object.values(_constants.TOOLTIP_FORMATS).filter(function (t) {
100
- return tooltipTypes.includes(t.type);
101
- });
102
- return addDTimeLabel(formatLabels);
103
- }
62
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
104
63
 
105
64
  var ChickletAddonWrapper = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n"])));
106
65
 
@@ -119,13 +78,27 @@ var IconDiv = _styledComponents["default"].div.attrs({
119
78
  return props.status === hashStyles.SHOW ? props.theme.subtextColorActive : props.status === hashStyles.ACTIVE ? props.theme.activeColor : props.theme.textColor;
120
79
  });
121
80
 
81
+ var SortableStyledItem = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n transition: ", ";\n transform: ", ";\n &.sorting {\n opacity: 0.3;\n pointer-events: none;\n }\n :hover {\n .tooltip-chicklet__drag-handler {\n opacity: 1;\n }\n }\n"])), function (props) {
82
+ return props.transition;
83
+ }, function (props) {
84
+ return props.transform;
85
+ });
86
+
87
+ var StyledDragHandle = _styledComponents["default"].div.attrs({
88
+ className: 'tooltip-chicklet__drag-handler'
89
+ })(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n z-index: 1000;\n opacity: 0;\n margin-left: -5px;\n :hover {\n cursor: move;\n color: ", ";\n }\n"])), function (props) {
90
+ return props.theme.tooltipVerticalLineColor;
91
+ });
92
+
93
+ var StyledTag = _styledComponents["default"].span(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 5px;\n text-overflow: ellipsis;\n width: 100%;\n overflow: hidden;\n max-width: 160px;\n"])));
94
+
122
95
  function getFormatTooltip(formatLabels, format) {
123
96
  if (!format) {
124
97
  return null;
125
98
  }
126
99
 
127
100
  var formatLabel = formatLabels.find(function (fl) {
128
- return getValue(fl) === format;
101
+ return (0, _utils.getFormatValue)(fl) === format;
129
102
  });
130
103
 
131
104
  if (formatLabel) {
@@ -135,7 +108,7 @@ function getFormatTooltip(formatLabels, format) {
135
108
  return (0, _typeof2["default"])(format) === 'object' ? JSON.stringify(format, null, 2) : String(format);
136
109
  }
137
110
 
138
- function TooltipChickletFactory(dataId, config, onChange, fields) {
111
+ function TooltipChickletFactory(dataId, config, onChange, fields, onDisplayFormatChange) {
139
112
  var TooltipChicklet = /*#__PURE__*/function (_Component) {
140
113
  (0, _inherits2["default"])(TooltipChicklet, _Component);
141
114
 
@@ -156,7 +129,9 @@ function TooltipChickletFactory(dataId, config, onChange, fields) {
156
129
  });
157
130
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "node", void 0);
158
131
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleClickOutside", function (e) {
159
- if (_this.node.contains(e.target)) {
132
+ var _this$node;
133
+
134
+ if ((_this$node = _this.node) !== null && _this$node !== void 0 && _this$node.contains(e.target)) {
160
135
  return;
161
136
  }
162
137
  });
@@ -182,7 +157,13 @@ function TooltipChickletFactory(dataId, config, onChange, fields) {
182
157
  disabled = _this$props.disabled,
183
158
  item = _this$props.item,
184
159
  displayOption = _this$props.displayOption,
185
- remove = _this$props.remove;
160
+ remove = _this$props.remove,
161
+ attributes = _this$props.attributes,
162
+ listeners = _this$props.listeners,
163
+ setNodeRef = _this$props.setNodeRef,
164
+ transform = _this$props.transform,
165
+ transition = _this$props.transition,
166
+ isDragging = _this$props.isDragging;
186
167
  var show = this.state.show;
187
168
  var tooltipField = config.fieldsToShow[dataId].find(function (fieldToShow) {
188
169
  return fieldToShow.name === item.name;
@@ -192,20 +173,39 @@ function TooltipChickletFactory(dataId, config, onChange, fields) {
192
173
  return null;
193
174
  }
194
175
 
195
- var formatLabels = getFormatLabels(fields, tooltipField.name);
196
- var hasFormat = Boolean(tooltipField.format);
176
+ var field = fields.find(function (f) {
177
+ return f.name === tooltipField.name;
178
+ });
179
+
180
+ if (!field) {
181
+ return null;
182
+ }
183
+
184
+ var formatLabels = (0, _utils.getFormatLabels)(fields, tooltipField.name);
185
+ var hasFormat = Boolean(field.displayFormat);
197
186
  var selectionIndex = formatLabels.findIndex(function (fl) {
198
- return getValue(fl) === tooltipField.format;
187
+ return (0, _utils.getFormatValue)(fl) === field.displayFormat;
199
188
  });
200
189
  var hashStyle = show ? hashStyles.SHOW : hasFormat ? hashStyles.ACTIVE : null;
201
- return /*#__PURE__*/_react["default"].createElement(_chickletedInput.ChickletButton, {
190
+ return /*#__PURE__*/_react["default"].createElement(SortableStyledItem, (0, _extends2["default"])({
191
+ ref: setNodeRef,
192
+ className: (0, _classnames["default"])('sortable-layer-items', {
193
+ sorting: isDragging
194
+ }),
195
+ transform: _utilities.CSS.Translate.toString(transform),
196
+ transition: transition || ''
197
+ }, attributes), /*#__PURE__*/_react["default"].createElement(_chickletedInput.ChickletButton, {
202
198
  ref: function ref(node) {
203
199
  return _this2.node = node;
204
200
  }
205
- }, /*#__PURE__*/_react["default"].createElement(_chickletedInput.ChickletTag, null, displayOption(item)), formatLabels.length > 1 && /*#__PURE__*/_react["default"].createElement(ChickletAddonWrapper, null, /*#__PURE__*/_react["default"].createElement(_tippyTooltip["default"], {
201
+ }, /*#__PURE__*/_react["default"].createElement(StyledDragHandle, listeners, /*#__PURE__*/_react["default"].createElement(_icons.VertDots, {
202
+ height: "12px"
203
+ })), /*#__PURE__*/_react["default"].createElement(StyledTag, {
204
+ title: displayOption(item)
205
+ }, displayOption(item)), formatLabels.length > 1 && /*#__PURE__*/_react["default"].createElement(ChickletAddonWrapper, null, /*#__PURE__*/_react["default"].createElement(_tippyTooltip["default"], {
206
206
  placement: "top",
207
207
  render: function render() {
208
- return /*#__PURE__*/_react["default"].createElement("span", null, hasFormat ? getFormatTooltip(formatLabels, tooltipField.format) : /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
208
+ return /*#__PURE__*/_react["default"].createElement("span", null, hasFormat ? getFormatTooltip(formatLabels, field.displayName) : /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
209
209
  id: 'fieldSelector.formatting'
210
210
  }));
211
211
  }
@@ -234,11 +234,12 @@ function TooltipChickletFactory(dataId, config, onChange, fields) {
234
234
  show: false
235
235
  });
236
236
 
237
+ var displayFormat = (0, _utils.getFormatValue)(result);
237
238
  var oldFieldsToShow = config.fieldsToShow[dataId];
238
239
  var fieldsToShow = oldFieldsToShow.map(function (fieldToShow) {
239
240
  return fieldToShow.name === tooltipField.name ? {
240
241
  name: tooltipField.name,
241
- format: getValue(result)
242
+ format: displayFormat
242
243
  } : fieldToShow;
243
244
  });
244
245
 
@@ -247,10 +248,11 @@ function TooltipChickletFactory(dataId, config, onChange, fields) {
247
248
  });
248
249
 
249
250
  onChange(newConfig);
251
+ onDisplayFormatChange(dataId, field.name, displayFormat);
250
252
  }
251
253
  }))), /*#__PURE__*/_react["default"].createElement(_icons.Delete, {
252
254
  onClick: disabled ? null : remove
253
- }));
255
+ })));
254
256
  }
255
257
  }]);
256
258
  return TooltipChicklet;
@@ -261,4 +263,4 @@ function TooltipChickletFactory(dataId, config, onChange, fields) {
261
263
 
262
264
  var _default = TooltipChickletFactory;
263
265
  exports["default"] = _default;
264
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2ludGVyYWN0aW9uLXBhbmVsL3Rvb2x0aXAtY29uZmlnL3Rvb2x0aXAtY2hpY2tsZXQudHN4Il0sIm5hbWVzIjpbIlRJTUVfRElTUExBWSIsImdldFZhbHVlIiwiZm10IiwiVE9PTFRJUF9LRVkiLCJhZGREVGltZUxhYmVsIiwiZm9ybWF0cyIsIm1hcCIsImYiLCJsYWJlbCIsInR5cGUiLCJUT09MVElQX0ZPUk1BVF9UWVBFUyIsIkRBVEVfVElNRSIsIkRBVEUiLCJnZXRGb3JtYXRMYWJlbHMiLCJmaWVsZHMiLCJmaWVsZE5hbWUiLCJmaWVsZFR5cGUiLCJmaW5kIiwibmFtZSIsInRvb2x0aXBUeXBlcyIsIkZJRUxEX09QVFMiLCJmb3JtYXQiLCJ0b29sdGlwIiwiZm9ybWF0TGFiZWxzIiwiT2JqZWN0IiwidmFsdWVzIiwiVE9PTFRJUF9GT1JNQVRTIiwiZmlsdGVyIiwidCIsImluY2x1ZGVzIiwiQ2hpY2tsZXRBZGRvbldyYXBwZXIiLCJzdHlsZWQiLCJkaXYiLCJDaGlja2xldEFkZG9uIiwiU3R5bGVkUG9wb3ZlciIsImhhc2hTdHlsZXMiLCJTSE9XIiwiQUNUSVZFIiwiSWNvbkRpdiIsImF0dHJzIiwiY2xhc3NOYW1lIiwicHJvcHMiLCJzdGF0dXMiLCJ0aGVtZSIsInN1YnRleHRDb2xvckFjdGl2ZSIsImFjdGl2ZUNvbG9yIiwidGV4dENvbG9yIiwiZ2V0Rm9ybWF0VG9vbHRpcCIsImZvcm1hdExhYmVsIiwiZmwiLCJKU09OIiwic3RyaW5naWZ5IiwiU3RyaW5nIiwiVG9vbHRpcENoaWNrbGV0RmFjdG9yeSIsImRhdGFJZCIsImNvbmZpZyIsIm9uQ2hhbmdlIiwiVG9vbHRpcENoaWNrbGV0Iiwic2hvdyIsImUiLCJub2RlIiwiY29udGFpbnMiLCJ0YXJnZXQiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJoYW5kbGVDbGlja091dHNpZGUiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiZGlzYWJsZWQiLCJpdGVtIiwiZGlzcGxheU9wdGlvbiIsInJlbW92ZSIsInN0YXRlIiwidG9vbHRpcEZpZWxkIiwiZmllbGRzVG9TaG93IiwiZmllbGRUb1Nob3ciLCJoYXNGb3JtYXQiLCJCb29sZWFuIiwic2VsZWN0aW9uSW5kZXgiLCJmaW5kSW5kZXgiLCJoYXNoU3R5bGUiLCJsZW5ndGgiLCJzdG9wUHJvcGFnYXRpb24iLCJzZXRTdGF0ZSIsInJlc3VsdCIsIm9sZEZpZWxkc1RvU2hvdyIsIm5ld0NvbmZpZyIsIkNvbXBvbmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBTUE7O0FBQ0E7Ozs7Ozs7Ozs7OztBQW9DQSxJQUFNQSxZQUFZLEdBQUcsa0JBQXJCOztBQUNBLElBQU1DLFFBQVEsR0FBRyxTQUFYQSxRQUFXLENBQUFDLEdBQUc7QUFBQSxTQUFJQSxHQUFHLENBQUNDLHNCQUFELENBQVA7QUFBQSxDQUFwQjs7QUFFQSxJQUFNQyxhQUFhLEdBQUcsU0FBaEJBLGFBQWdCLENBQUNDLE9BQUQ7QUFBQSxTQUNwQkEsT0FBTyxDQUFDQyxHQUFSLENBQVksVUFBQUMsQ0FBQztBQUFBLDJDQUNSQSxDQURRO0FBRVhDLE1BQUFBLEtBQUssRUFDSEQsQ0FBQyxDQUFDRSxJQUFGLEtBQVdDLGdDQUFxQkMsU0FBaEMsSUFBNkNKLENBQUMsQ0FBQ0UsSUFBRixLQUFXQyxnQ0FBcUJFLElBQTdFLEdBQ0kseUJBQWFYLFFBQVEsQ0FBQ00sQ0FBRCxDQUFyQixFQUEwQlAsWUFBMUIsQ0FESixHQUVJTyxDQUFDLENBQUNDO0FBTEc7QUFBQSxHQUFiLENBRG9CO0FBQUEsQ0FBdEI7O0FBU0EsU0FBU0ssZUFBVCxDQUF5QkMsTUFBekIsRUFBc0NDLFNBQXRDLEVBQXlEO0FBQ3ZELE1BQU1DLFNBQVMsR0FBR0YsTUFBTSxDQUFDRyxJQUFQLENBQVksVUFBQ1YsQ0FBRDtBQUFBLFdBQXNCQSxDQUFD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QWM7QUFDWnhCLGNBQUFBLElBQUksRUFBRTtBQURNLGFBQWQ7O0FBSUEsZ0JBQU0wQixlQUFlLEdBQUc3QixNQUFNLENBQUNrQixZQUFQLENBQW9CbkIsTUFBcEIsQ0FBeEI7QUFDQSxnQkFBTW1CLFlBQVksR0FBR1csZUFBZSxDQUFDOUUsR0FBaEIsQ0FBb0IsVUFBQW9FLFdBQVcsRUFBSTtBQUN0RCxxQkFBT0EsV0FBVyxDQUFDeEQsSUFBWixLQUFxQnNELFlBQVksQ0FBQ3RELElBQWxDLEdBQ0g7QUFDRUEsZ0JBQUFBLElBQUksRUFBRXNELFlBQVksQ0FBQ3RELElBRHJCO0FBRUVHLGdCQUFBQSxNQUFNLEVBQUVwQixRQUFRLENBQUNrRixNQUFEO0FBRmxCLGVBREcsR0FLSFQsV0FMSjtBQU1ELGFBUG9CLENBQXJCOztBQVFBLGdCQUFNVyxTQUFTLG1DQUNWOUIsTUFEVTtBQUVia0IsY0FBQUEsWUFBWSxrQ0FDUGxCLE1BQU0sQ0FBQ2tCLFlBREEsNENBRVRuQixNQUZTLEVBRUFtQixZQUZBO0FBRkMsY0FBZjs7QUFPQWpCLFlBQUFBLFFBQVEsQ0FBQzZCLFNBQUQsQ0FBUjtBQUNEO0FBM0JILFVBREYsQ0ExQkosQ0FISixlQStERSxnQ0FBQyxhQUFEO0FBQVEsVUFBQSxPQUFPLEVBQUVsQixRQUFRLEdBQUcsSUFBSCxHQUFVRztBQUFuQyxVQS9ERixDQURGO0FBbUVEO0FBdEdrQztBQUFBO0FBQUEsSUFDUGdCLGdCQURPOztBQXdHckMsU0FBTyxxQ0FBZTdCLGVBQWYsQ0FBUDtBQUNEOztlQUVjSixzQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudCwgQ29tcG9uZW50VHlwZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge0NoaWNrbGV0QnV0dG9uLCBDaGlja2xldFRhZ30gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2l0ZW0tc2VsZWN0b3IvY2hpY2tsZXRlZC1pbnB1dCc7XG5pbXBvcnQge0hhc2gsIERlbGV0ZX0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCBEcm9wZG93bkxpc3QgZnJvbSAnLi4vLi4vLi4vY29tbW9uL2l0ZW0tc2VsZWN0b3IvZHJvcGRvd24tbGlzdCc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcbmltcG9ydCBvbkNsaWNrT3V0c2lkZSBmcm9tICdyZWFjdC1vbmNsaWNrb3V0c2lkZSc7XG5pbXBvcnQge1xuICBGSUVMRF9PUFRTLFxuICBUT09MVElQX0ZPUk1BVFMsXG4gIFRPT0xUSVBfRk9STUFUX1RZUEVTLFxuICBUT09MVElQX0tFWVxufSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge2dldEZvcm1hdHRlcn0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQgVGlwcHlUb29sdGlwIGZyb20gJy4uLy4uLy4uL2NvbW1vbi90aXBweS10b29sdGlwJztcblxuaW50ZXJmYWNlIFRvb2x0aXBDaGlja2xldFByb3BzIHtcbiAgZGlzYWJsZWQ6IGJvb2xlYW47XG4gIGl0ZW06IHtuYW1lOiBzdHJpbmd9O1xuICBkaXNwbGF5T3B0aW9uOiBGdW5jdGlvbjtcbiAgcmVtb3ZlOiBhbnk7XG59XG5cbnR5cGUgVG9vbHRpcENvbmZpZyA9IHtcbiAgZmllbGRzVG9TaG93OiB7XG4gICAgW2tleTogc3RyaW5nXToge25hbWU6IHN0cmluZzsgZm9ybWF0OiBzdHJpbmcgfCBudWxsfVtdO1xuICB9O1xuICBjb21wYXJlTW9kZTogYm9vbGVhbjtcbiAgY29tcGFyZVR5cGU6IHN0cmluZ1tdO1xufTtcblxudHlwZSBUb29sdGlwRmllbGRzID0ge1xuICBmb3JtYXQ/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xuICBmaWVsZElkeD86IG51bWJlcjtcbiAgdHlwZT86IG51bWJlcjtcbn07XG5cbnR5cGUgVGltZUxhYmVsRm9ybWF0ID0ge1xuICBpZDogc3RyaW5nO1xuICBmb3JtYXQ6IHN0cmluZyB8IG51bGw7XG4gIHR5cGU6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbn07XG5cbnR5cGUgSWNvbkRpdlByb3BzID0ge1xuICBzdGF0dXM6IHN0cmluZyB8IG51bGw7XG59O1xuXG5jb25zdCBUSU1FX0RJU1BMQVkgPSAnMjAyMC0wNS0xMSAxNDowMCc7XG5jb25zdCBnZXRWYWx1ZSA9IGZtdCA9PiBmbXRbVE9PTFRJUF9LRVldO1xuXG5jb25zdCBhZGREVGltZUxhYmVsID0gKGZvcm1hdHM6IFRpbWVMYWJlbEZvcm1hdFtdKSA9PlxuICBmb3JtYXRzLm1hcChmID0+ICh7XG4gICAgLi4uZixcbiAgICBsYWJlbDpcbiAgICAgIGYudHlwZSA9PT0gVE9PTFRJUF9GT1JNQVRfVFlQRVMuREFURV9USU1FIHx8IGYudHlwZSA9PT0gVE9PTFRJUF9GT1JNQVRfVFlQRVMuREFURVxuICAgICAgICA/IGdldEZvcm1hdHRlcihnZXRWYWx1ZShmKSkoVElNRV9ESVNQTEFZKVxuICAgICAgICA6IGYubGFiZWxcbiAgfSkpO1xuXG5mdW5jdGlvbiBnZXRGb3JtYXRMYWJlbHMoZmllbGRzOiBhbnksIGZpZWxkTmFtZTogc3RyaW5nKSB7XG4gIGNvbnN0IGZpZWxkVHlwZSA9IGZpZWxkcy5maW5kKChmOiBUb29sdGlwRmllbGRzKSA9PiBmLm5hbWUgPT09IGZpZWxkTmFtZSkudHlwZTtcbiAgY29uc3QgdG9vbHRpcFR5cGVzID0gKGZpZWxkVHlwZSAmJiBGSUVMRF9PUFRTW2ZpZWxkVHlwZV0uZm9ybWF0LnRvb2x0aXApIHx8IFtdO1xuICBjb25zdCBmb3JtYXRMYWJlbHM6IFRpbWVMYWJlbEZvcm1hdFtdID0gT2JqZWN0LnZhbHVlcyhUT09MVElQX0ZPUk1BVFMpLmZpbHRlcih0ID0+XG4gICAgdG9vbHRpcFR5cGVzLmluY2x1ZGVzKHQudHlwZSlcbiAgKTtcbiAgcmV0dXJuIGFkZERUaW1lTGFiZWwoZm9ybWF0TGFiZWxzKTtcbn1cblxuY29uc3QgQ2hpY2tsZXRBZGRvbldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gO1xuXG5jb25zdCBDaGlja2xldEFkZG9uID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG5gO1xuXG5jb25zdCBTdHlsZWRQb3BvdmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWxlZnQ6IC02NHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgd2lkdGg6IDE0MHB4O1xuICB6LWluZGV4OiAxMDE7XG5gO1xuXG5jb25zdCBoYXNoU3R5bGVzID0ge1xuICBTSE9XOiAnU0hPVycsXG4gIEFDVElWRTogJ0FDVElWRSdcbn07XG5cbmNvbnN0IEljb25EaXYgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAndG9vbHRpcC1jaGlja2xldF9faWNvbidcbn0pPEljb25EaXZQcm9wcz5gXG4gIGNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuc3RhdHVzID09PSBoYXNoU3R5bGVzLlNIT1dcbiAgICAgID8gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yQWN0aXZlXG4gICAgICA6IHByb3BzLnN0YXR1cyA9PT0gaGFzaFN0eWxlcy5BQ1RJVkVcbiAgICAgID8gcHJvcHMudGhlbWUuYWN0aXZlQ29sb3JcbiAgICAgIDogcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbmA7XG5cbmZ1bmN0aW9uIGdldEZvcm1hdFRvb2x0aXAoZm9ybWF0TGFiZWxzOiBUaW1lTGFiZWxGb3JtYXRbXSwgZm9ybWF0OiBzdHJpbmcgfCBudWxsKSB7XG4gIGlmICghZm9ybWF0KSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3QgZm9ybWF0TGFiZWwgPSBmb3JtYXRMYWJlbHMuZmluZChmbCA9PiBnZXRWYWx1ZShmbCkgPT09IGZvcm1hdCk7XG4gIGlmIChmb3JtYXRMYWJlbCkge1xuICAgIHJldHVybiBmb3JtYXRMYWJlbC5sYWJlbDtcbiAgfVxuICByZXR1cm4gdHlwZW9mIGZvcm1hdCA9PT0gJ29iamVjdCcgPyBKU09OLnN0cmluZ2lmeShmb3JtYXQsIG51bGwsIDIpIDogU3RyaW5nKGZvcm1hdCk7XG59XG5cbmZ1bmN0aW9uIFRvb2x0aXBDaGlja2xldEZhY3RvcnkoXG4gIGRhdGFJZDogc3RyaW5nLFxuICBjb25maWc6IFRvb2x0aXBDb25maWcsXG4gIG9uQ2hhbmdlOiAoY2ZnOiBUb29sdGlwQ29uZmlnKSA9PiB2b2lkLFxuICBmaWVsZHM6IFRvb2x0aXBGaWVsZHNbXVxuKTogQ29tcG9uZW50VHlwZTxUb29sdGlwQ2hpY2tsZXRQcm9wcz4ge1xuICBjbGFzcyBUb29sdGlwQ2hpY2tsZXQgZXh0ZW5kcyBDb21wb25lbnQ8VG9vbHRpcENoaWNrbGV0UHJvcHM+IHtcbiAgICBzdGF0ZSA9IHtcbiAgICAgIHNob3c6IGZhbHNlXG4gICAgfTtcbiAgICBwcml2YXRlIG5vZGUhOiBIVE1MRGl2RWxlbWVudDtcblxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5oYW5kbGVDbGlja091dHNpZGUsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIHRoaXMuaGFuZGxlQ2xpY2tPdXRzaWRlLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGU6IGFueSkgPT4ge1xuICAgICAgaWYgKHRoaXMubm9kZS5jb250YWlucyhlLnRhcmdldCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7ZGlzYWJsZWQsIGl0ZW0sIGRpc3BsYXlPcHRpb24sIHJlbW92ZX0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3Qge3Nob3d9ID0gdGhpcy5zdGF0ZTtcbiAgICAgIGNvbnN0IHRvb2x0aXBGaWVsZCA9IGNvbmZpZy5maWVsZHNUb1Nob3dbZGF0YUlkXS5maW5kKFxuICAgICAgICBmaWVsZFRvU2hvdyA9PiBmaWVsZFRvU2hvdy5uYW1lID09PSBpdGVtLm5hbWVcbiAgICAgICk7XG4gICAgICBpZiAoIXRvb2x0aXBGaWVsZCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGZvcm1hdExhYmVscyA9IGdldEZvcm1hdExhYmVscyhmaWVsZHMsIHRvb2x0aXBGaWVsZC5uYW1lKTtcbiAgICAgIGNvbnN0IGhhc0Zvcm1hdCA9IEJvb2xlYW4odG9vbHRpcEZpZWxkLmZvcm1hdCk7XG4gICAgICBjb25zdCBzZWxlY3Rpb25JbmRleCA9IGZvcm1hdExhYmVscy5maW5kSW5kZXgoZmwgPT4gZ2V0VmFsdWUoZmwpID09PSB0b29sdGlwRmllbGQuZm9ybWF0KTtcbiAgICAgIGNvbnN0IGhhc2hTdHlsZSA9IHNob3cgPyBoYXNoU3R5bGVzLlNIT1cgOiBoYXNGb3JtYXQgPyBoYXNoU3R5bGVzLkFDVElWRSA6IG51bGw7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxDaGlja2xldEJ1dHRvbiByZWY9eyhub2RlOiBIVE1MRGl2RWxlbWVudCkgPT4gKHRoaXMubm9kZSA9IG5vZGUpfT5cbiAgICAgICAgICA8Q2hpY2tsZXRUYWc+e2Rpc3BsYXlPcHRpb24oaXRlbSl9PC9DaGlja2xldFRhZz5cbiAgICAgICAgICB7Zm9ybWF0TGFiZWxzLmxlbmd0aCA+IDEgJiYgKFxuICAgICAgICAgICAgPENoaWNrbGV0QWRkb25XcmFwcGVyPlxuICAgICAgICAgICAgICA8VGlwcHlUb29sdGlwXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwidG9wXCJcbiAgICAgICAgICAgICAgICByZW5kZXI9eygpID0+IChcbiAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICB7aGFzRm9ybWF0ID8gKFxuICAgICAgICAgICAgICAgICAgICAgIGdldEZvcm1hdFRvb2x0aXAoZm9ybWF0TGFiZWxzLCB0b29sdGlwRmllbGQuZm9ybWF0KVxuICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXsnZmllbGRTZWxlY3Rvci5mb3JtYXR0aW5nJ30gLz5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPENoaWNrbGV0QWRkb24+XG4gICAgICAgICAgICAgICAgICA8SWNvbkRpdiBzdGF0dXM9e2hhc2hTdHlsZX0+XG4gICAgICAgICAgICAgICAgICAgIDxIYXNoXG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiOHB4XCJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtzaG93OiBCb29sZWFuKCFzaG93KX0pO1xuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICA8L0ljb25EaXY+XG4gICAgICAgICAgICAgICAgPC9DaGlja2xldEFkZG9uPlxuICAgICAgICAgICAgICA8L1RpcHB5VG9vbHRpcD5cbiAgICAgICAgICAgICAge3Nob3cgJiYgKFxuICAgICAgICAgICAgICAgIDxTdHlsZWRQb3BvdmVyPlxuICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTGlzdFxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zPXtmb3JtYXRMYWJlbHN9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbkluZGV4PXtzZWxlY3Rpb25JbmRleH1cbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheU9wdGlvbj17KHtsYWJlbH0pID0+IGxhYmVsfVxuICAgICAgICAgICAgICAgICAgICBvbk9wdGlvblNlbGVjdGVkPXsocmVzdWx0LCBlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3c6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvbGRGaWVsZHNUb1Nob3cgPSBjb25maWcuZmllbGRzVG9TaG93W2RhdGFJZF07XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmllbGRzVG9TaG93ID0gb2xkRmllbGRzVG9TaG93Lm1hcChmaWVsZFRvU2hvdyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmllbGRUb1Nob3cubmFtZSA9PT0gdG9vbHRpcEZpZWxkLm5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiB0b29sdGlwRmllbGQubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdDogZ2V0VmFsdWUocmVzdWx0KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBmaWVsZFRvU2hvdztcbiAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdDb25maWcgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5jb25maWcsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWVsZHNUb1Nob3c6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uY29uZmlnLmZpZWxkc1RvU2hvdyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2RhdGFJZF06IGZpZWxkc1RvU2hvd1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2UobmV3Q29uZmlnKTtcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9TdHlsZWRQb3BvdmVyPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9DaGlja2xldEFkZG9uV3JhcHBlcj5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxEZWxldGUgb25DbGljaz17ZGlzYWJsZWQgPyBudWxsIDogcmVtb3ZlfSAvPlxuICAgICAgICA8L0NoaWNrbGV0QnV0dG9uPlxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG9uQ2xpY2tPdXRzaWRlKFRvb2x0aXBDaGlja2xldCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFRvb2x0aXBDaGlja2xldEZhY3Rvcnk7XG4iXX0=
266
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2ludGVyYWN0aW9uLXBhbmVsL3Rvb2x0aXAtY29uZmlnL3Rvb2x0aXAtY2hpY2tsZXQudHN4Il0sIm5hbWVzIjpbIkNoaWNrbGV0QWRkb25XcmFwcGVyIiwic3R5bGVkIiwiZGl2IiwiQ2hpY2tsZXRBZGRvbiIsIlN0eWxlZFBvcG92ZXIiLCJoYXNoU3R5bGVzIiwiU0hPVyIsIkFDVElWRSIsIkljb25EaXYiLCJhdHRycyIsImNsYXNzTmFtZSIsInByb3BzIiwic3RhdHVzIiwidGhlbWUiLCJzdWJ0ZXh0Q29sb3JBY3RpdmUiLCJhY3RpdmVDb2xvciIsInRleHRDb2xvciIsIlNvcnRhYmxlU3R5bGVkSXRlbSIsInRyYW5zaXRpb24iLCJ0cmFuc2Zvcm0iLCJTdHlsZWREcmFnSGFuZGxlIiwidG9vbHRpcFZlcnRpY2FsTGluZUNvbG9yIiwiU3R5bGVkVGFnIiwic3BhbiIsImdldEZvcm1hdFRvb2x0aXAiLCJmb3JtYXRMYWJlbHMiLCJmb3JtYXQiLCJmb3JtYXRMYWJlbCIsImZpbmQiLCJmbCIsImxhYmVsIiwiSlNPTiIsInN0cmluZ2lmeSIsIlN0cmluZyIsIlRvb2x0aXBDaGlja2xldEZhY3RvcnkiLCJkYXRhSWQiLCJjb25maWciLCJvbkNoYW5nZSIsImZpZWxkcyIsIm9uRGlzcGxheUZvcm1hdENoYW5nZSIsIlRvb2x0aXBDaGlja2xldCIsInNob3ciLCJlIiwibm9kZSIsImNvbnRhaW5zIiwidGFyZ2V0IiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImRpc2FibGVkIiwiaXRlbSIsImRpc3BsYXlPcHRpb24iLCJyZW1vdmUiLCJhdHRyaWJ1dGVzIiwibGlzdGVuZXJzIiwic2V0Tm9kZVJlZiIsImlzRHJhZ2dpbmciLCJzdGF0ZSIsInRvb2x0aXBGaWVsZCIsImZpZWxkc1RvU2hvdyIsImZpZWxkVG9TaG93IiwibmFtZSIsImZpZWxkIiwiZiIsImhhc0Zvcm1hdCIsIkJvb2xlYW4iLCJkaXNwbGF5Rm9ybWF0Iiwic2VsZWN0aW9uSW5kZXgiLCJmaW5kSW5kZXgiLCJoYXNoU3R5bGUiLCJzb3J0aW5nIiwiQ1NTIiwiVHJhbnNsYXRlIiwidG9TdHJpbmciLCJsZW5ndGgiLCJkaXNwbGF5TmFtZSIsInN0b3BQcm9wYWdhdGlvbiIsInNldFN0YXRlIiwicmVzdWx0Iiwib2xkRmllbGRzVG9TaG93IiwibWFwIiwibmV3Q29uZmlnIiwiQ29tcG9uZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7OztBQTRCQSxJQUFNQSxvQkFBb0IsR0FBR0MsNkJBQU9DLEdBQVYsK0dBQTFCOztBQUlBLElBQU1DLGFBQWEsR0FBR0YsNkJBQU9DLEdBQVYsZ0hBQW5COztBQUlBLElBQU1FLGFBQWEsR0FBR0gsNkJBQU9DLEdBQVYsd0xBQW5COztBQVFBLElBQU1HLFVBQVUsR0FBRztBQUNqQkMsRUFBQUEsSUFBSSxFQUFFLE1BRFc7QUFFakJDLEVBQUFBLE1BQU0sRUFBRTtBQUZTLENBQW5COztBQUtBLElBQU1DLE9BQU8sR0FBR1AsNkJBQU9DLEdBQVAsQ0FBV08sS0FBWCxDQUFpQjtBQUMvQkMsRUFBQUEsU0FBUyxFQUFFO0FBRG9CLENBQWpCLENBQUgsMkdBR0YsVUFBQUMsS0FBSztBQUFBLFNBQ1pBLEtBQUssQ0FBQ0MsTUFBTixLQUFpQlAsVUFBVSxDQUFDQyxJQUE1QixHQUNJSyxLQUFLLENBQUNFLEtBQU4sQ0FBWUMsa0JBRGhCLEdBRUlILEtBQUssQ0FBQ0MsTUFBTixLQUFpQlAsVUFBVSxDQUFDRSxNQUE1QixHQUNBSSxLQUFLLENBQUNFLEtBQU4sQ0FBWUUsV0FEWixHQUVBSixLQUFLLENBQUNFLEtBQU4sQ0FBWUcsU0FMSjtBQUFBLENBSEgsQ0FBYjs7QUFl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QUFlM0MsZUFBZixDQUFQO0FBQ0Q7O2VBRWNOLHNCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50LCBDb21wb25lbnRUeXBlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHtEcmFnZ2FibGVBdHRyaWJ1dGVzfSBmcm9tICdAZG5kLWtpdC9jb3JlJztcbmltcG9ydCB7Q1NTLCBUcmFuc2Zvcm19IGZyb20gJ0BkbmQta2l0L3V0aWxpdGllcyc7XG5pbXBvcnQge0NoaWNrbGV0QnV0dG9ufSBmcm9tICcuLi8uLi8uLi9jb21tb24vaXRlbS1zZWxlY3Rvci9jaGlja2xldGVkLWlucHV0JztcbmltcG9ydCB7SGFzaCwgRGVsZXRlLCBWZXJ0RG90c30gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCBEcm9wZG93bkxpc3QgZnJvbSAnLi4vLi4vLi4vY29tbW9uL2l0ZW0tc2VsZWN0b3IvZHJvcGRvd24tbGlzdCc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcbmltcG9ydCB7VGltZUxhYmVsRm9ybWF0LCBUb29sdGlwRmllbGRzfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7Z2V0Rm9ybWF0VmFsdWUsIGdldEZvcm1hdExhYmVsc30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQgb25DbGlja091dHNpZGUgZnJvbSAncmVhY3Qtb25jbGlja291dHNpZGUnO1xuaW1wb3J0IFRpcHB5VG9vbHRpcCBmcm9tICcuLi8uLi8uLi9jb21tb24vdGlwcHktdG9vbHRpcCc7XG5cbmludGVyZmFjZSBUb29sdGlwQ2hpY2tsZXRQcm9wcyB7XG4gIGRpc2FibGVkOiBib29sZWFuO1xuICBpdGVtOiB7bmFtZTogc3RyaW5nfTtcbiAgZGlzcGxheU9wdGlvbjogRnVuY3Rpb247XG4gIHJlbW92ZTogYW55O1xuXG4gIGF0dHJpYnV0ZXM6IERyYWdnYWJsZUF0dHJpYnV0ZXM7XG4gIGxpc3RlbmVyczogYW55O1xuICBzZXROb2RlUmVmOiAobm9kZTogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiB2b2lkO1xuICB0cmFuc2Zvcm06IFRyYW5zZm9ybSB8IG51bGw7XG4gIHRyYW5zaXRpb24/OiBzdHJpbmc7XG4gIGlzRHJhZ2dpbmc6IGJvb2xlYW47XG59XG5cbnR5cGUgVG9vbHRpcENvbmZpZyA9IHtcbiAgZmllbGRzVG9TaG93OiB7XG4gICAgW2tleTogc3RyaW5nXToge25hbWU6IHN0cmluZzsgZm9ybWF0OiBzdHJpbmcgfCBudWxsfVtdO1xuICB9O1xuICBjb21wYXJlTW9kZTogYm9vbGVhbjtcbiAgY29tcGFyZVR5cGU6IHN0cmluZyB8IG51bGw7XG59O1xuXG50eXBlIEljb25EaXZQcm9wcyA9IHtcbiAgc3RhdHVzOiBzdHJpbmcgfCBudWxsO1xufTtcblxuY29uc3QgQ2hpY2tsZXRBZGRvbldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gO1xuXG5jb25zdCBDaGlja2xldEFkZG9uID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG5gO1xuXG5jb25zdCBTdHlsZWRQb3BvdmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWxlZnQ6IC02NHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjBweDtcbiAgd2lkdGg6IDE0MHB4O1xuICB6LWluZGV4OiAxMDE7XG5gO1xuXG5jb25zdCBoYXNoU3R5bGVzID0ge1xuICBTSE9XOiAnU0hPVycsXG4gIEFDVElWRTogJ0FDVElWRSdcbn07XG5cbmNvbnN0IEljb25EaXYgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAndG9vbHRpcC1jaGlja2xldF9faWNvbidcbn0pPEljb25EaXZQcm9wcz5gXG4gIGNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuc3RhdHVzID09PSBoYXNoU3R5bGVzLlNIT1dcbiAgICAgID8gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yQWN0aXZlXG4gICAgICA6IHByb3BzLnN0YXR1cyA9PT0gaGFzaFN0eWxlcy5BQ1RJVkVcbiAgICAgID8gcHJvcHMudGhlbWUuYWN0aXZlQ29sb3JcbiAgICAgIDogcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbmA7XG5cbnR5cGUgU29ydGFibGVTdHlsZWRJdGVtUHJvcHMgPSB7XG4gIHRyYW5zaXRpb24/OiBzdHJpbmc7XG4gIHRyYW5zZm9ybT86IHN0cmluZztcbn07XG5jb25zdCBTb3J0YWJsZVN0eWxlZEl0ZW0gPSBzdHlsZWQuZGl2PFNvcnRhYmxlU3R5bGVkSXRlbVByb3BzPmBcbiAgdHJhbnNpdGlvbjogJHtwcm9wcyA9PiBwcm9wcy50cmFuc2l0aW9ufTtcbiAgdHJhbnNmb3JtOiAke3Byb3BzID0+IHByb3BzLnRyYW5zZm9ybX07XG4gICYuc29ydGluZyB7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gIDpob3ZlciB7XG4gICAgLnRvb2x0aXAtY2hpY2tsZXRfX2RyYWctaGFuZGxlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkRHJhZ0hhbmRsZSA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICd0b29sdGlwLWNoaWNrbGV0X19kcmFnLWhhbmRsZXInXG59KWBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgei1pbmRleDogMTAwMDtcbiAgb3BhY2l0eTogMDtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gIDpob3ZlciB7XG4gICAgY3Vyc29yOiBtb3ZlO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRvb2x0aXBWZXJ0aWNhbExpbmVDb2xvcn07XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZFRhZyA9IHN0eWxlZC5zcGFuYFxuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtd2lkdGg6IDE2MHB4O1xuYDtcblxuZnVuY3Rpb24gZ2V0Rm9ybWF0VG9vbHRpcChmb3JtYXRMYWJlbHM6IFRpbWVMYWJlbEZvcm1hdFtdLCBmb3JtYXQ6IHN0cmluZyB8IG51bGwpIHtcbiAgaWYgKCFmb3JtYXQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBmb3JtYXRMYWJlbCA9IGZvcm1hdExhYmVscy5maW5kKGZsID0+IGdldEZvcm1hdFZhbHVlKGZsKSA9PT0gZm9ybWF0KTtcbiAgaWYgKGZvcm1hdExhYmVsKSB7XG4gICAgcmV0dXJuIGZvcm1hdExhYmVsLmxhYmVsO1xuICB9XG4gIHJldHVybiB0eXBlb2YgZm9ybWF0ID09PSAnb2JqZWN0JyA/IEpTT04uc3RyaW5naWZ5KGZvcm1hdCwgbnVsbCwgMikgOiBTdHJpbmcoZm9ybWF0KTtcbn1cblxuZnVuY3Rpb24gVG9vbHRpcENoaWNrbGV0RmFjdG9yeShcbiAgZGF0YUlkOiBzdHJpbmcsXG4gIGNvbmZpZzogVG9vbHRpcENvbmZpZyxcbiAgb25DaGFuZ2U6IChjZmc6IFRvb2x0aXBDb25maWcpID0+IHZvaWQsXG4gIGZpZWxkczogVG9vbHRpcEZpZWxkc1tdLFxuICBvbkRpc3BsYXlGb3JtYXRDaGFuZ2Vcbik6IENvbXBvbmVudFR5cGU8VG9vbHRpcENoaWNrbGV0UHJvcHM+IHtcbiAgY2xhc3MgVG9vbHRpcENoaWNrbGV0IGV4dGVuZHMgQ29tcG9uZW50PFRvb2x0aXBDaGlja2xldFByb3BzPiB7XG4gICAgc3RhdGUgPSB7XG4gICAgICBzaG93OiBmYWxzZVxuICAgIH07XG4gICAgcHJpdmF0ZSBub2RlITogSFRNTERpdkVsZW1lbnQgfCBudWxsO1xuXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCB0aGlzLmhhbmRsZUNsaWNrT3V0c2lkZSwgZmFsc2UpO1xuICAgIH1cblxuICAgIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgdGhpcy5oYW5kbGVDbGlja091dHNpZGUsIGZhbHNlKTtcbiAgICB9XG5cbiAgICBoYW5kbGVDbGlja091dHNpZGUgPSAoZTogYW55KSA9PiB7XG4gICAgICBpZiAodGhpcy5ub2RlPy5jb250YWlucyhlLnRhcmdldCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIGRpc2FibGVkLFxuICAgICAgICBpdGVtLFxuICAgICAgICBkaXNwbGF5T3B0aW9uLFxuICAgICAgICByZW1vdmUsXG4gICAgICAgIGF0dHJpYnV0ZXMsXG4gICAgICAgIGxpc3RlbmVycyxcbiAgICAgICAgc2V0Tm9kZVJlZixcbiAgICAgICAgdHJhbnNmb3JtLFxuICAgICAgICB0cmFuc2l0aW9uLFxuICAgICAgICBpc0RyYWdnaW5nXG4gICAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgY29uc3Qge3Nob3d9ID0gdGhpcy5zdGF0ZTtcbiAgICAgIGNvbnN0IHRvb2x0aXBGaWVsZCA9IGNvbmZpZy5maWVsZHNUb1Nob3dbZGF0YUlkXS5maW5kKFxuICAgICAgICBmaWVsZFRvU2hvdyA9PiBmaWVsZFRvU2hvdy5uYW1lID09PSBpdGVtLm5hbWVcbiAgICAgICk7XG4gICAgICBpZiAoIXRvb2x0aXBGaWVsZCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGZpZWxkID0gZmllbGRzLmZpbmQoZiA9PiBmLm5hbWUgPT09IHRvb2x0aXBGaWVsZC5uYW1lKTtcbiAgICAgIGlmICghZmllbGQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBjb25zdCBmb3JtYXRMYWJlbHMgPSBnZXRGb3JtYXRMYWJlbHMoZmllbGRzLCB0b29sdGlwRmllbGQubmFtZSk7XG4gICAgICBjb25zdCBoYXNGb3JtYXQgPSBCb29sZWFuKGZpZWxkLmRpc3BsYXlGb3JtYXQpO1xuICAgICAgY29uc3Qgc2VsZWN0aW9uSW5kZXggPSBmb3JtYXRMYWJlbHMuZmluZEluZGV4KFxuICAgICAgICBmbCA9PiBnZXRGb3JtYXRWYWx1ZShmbCkgPT09IGZpZWxkLmRpc3BsYXlGb3JtYXRcbiAgICAgICk7XG4gICAgICBjb25zdCBoYXNoU3R5bGUgPSBzaG93ID8gaGFzaFN0eWxlcy5TSE9XIDogaGFzRm9ybWF0ID8gaGFzaFN0eWxlcy5BQ1RJVkUgOiBudWxsO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U29ydGFibGVTdHlsZWRJdGVtXG4gICAgICAgICAgcmVmPXtzZXROb2RlUmVmfVxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnc29ydGFibGUtbGF5ZXItaXRlbXMnLCB7c29ydGluZzogaXNEcmFnZ2luZ30pfVxuICAgICAgICAgIHRyYW5zZm9ybT17Q1NTLlRyYW5zbGF0ZS50b1N0cmluZyh0cmFuc2Zvcm0pfVxuICAgICAgICAgIHRyYW5zaXRpb249e3RyYW5zaXRpb24gfHwgJyd9XG4gICAgICAgICAgey4uLmF0dHJpYnV0ZXN9XG4gICAgICAgID5cbiAgICAgICAgICA8Q2hpY2tsZXRCdXR0b24gcmVmPXtub2RlID0+ICh0aGlzLm5vZGUgPSBub2RlKX0+XG4gICAgICAgICAgICA8U3R5bGVkRHJhZ0hhbmRsZSB7Li4ubGlzdGVuZXJzfT5cbiAgICAgICAgICAgICAgPFZlcnREb3RzIGhlaWdodD1cIjEycHhcIiAvPlxuICAgICAgICAgICAgPC9TdHlsZWREcmFnSGFuZGxlPlxuICAgICAgICAgICAgPFN0eWxlZFRhZyB0aXRsZT17ZGlzcGxheU9wdGlvbihpdGVtKX0+e2Rpc3BsYXlPcHRpb24oaXRlbSl9PC9TdHlsZWRUYWc+XG4gICAgICAgICAgICB7Zm9ybWF0TGFiZWxzLmxlbmd0aCA+IDEgJiYgKFxuICAgICAgICAgICAgICA8Q2hpY2tsZXRBZGRvbldyYXBwZXI+XG4gICAgICAgICAgICAgICAgPFRpcHB5VG9vbHRpcFxuICAgICAgICAgICAgICAgICAgcGxhY2VtZW50PVwidG9wXCJcbiAgICAgICAgICAgICAgICAgIHJlbmRlcj17KCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICB7aGFzRm9ybWF0ID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgZ2V0Rm9ybWF0VG9vbHRpcChmb3JtYXRMYWJlbHMsIGZpZWxkLmRpc3BsYXlOYW1lKVxuICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J2ZpZWxkU2VsZWN0b3IuZm9ybWF0dGluZyd9IC8+XG4gICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8Q2hpY2tsZXRBZGRvbj5cbiAgICAgICAgICAgICAgICAgICAgPEljb25EaXYgc3RhdHVzPXtoYXNoU3R5bGV9PlxuICAgICAgICAgICAgICAgICAgICAgIDxIYXNoXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI4cHhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe3Nob3c6IEJvb2xlYW4oIXNob3cpfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvSWNvbkRpdj5cbiAgICAgICAgICAgICAgICAgIDwvQ2hpY2tsZXRBZGRvbj5cbiAgICAgICAgICAgICAgICA8L1RpcHB5VG9vbHRpcD5cbiAgICAgICAgICAgICAgICB7c2hvdyAmJiAoXG4gICAgICAgICAgICAgICAgICA8U3R5bGVkUG9wb3Zlcj5cbiAgICAgICAgICAgICAgICAgICAgPERyb3Bkb3duTGlzdFxuICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM9e2Zvcm1hdExhYmVsc31cbiAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Rpb25JbmRleD17c2VsZWN0aW9uSW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGxheU9wdGlvbj17KHtsYWJlbH0pID0+IGxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgIG9uT3B0aW9uU2VsZWN0ZWQ9eyhyZXN1bHQsIGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdzogZmFsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkaXNwbGF5Rm9ybWF0ID0gZ2V0Rm9ybWF0VmFsdWUocmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9sZEZpZWxkc1RvU2hvdyA9IGNvbmZpZy5maWVsZHNUb1Nob3dbZGF0YUlkXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkc1RvU2hvdyA9IG9sZEZpZWxkc1RvU2hvdy5tYXAoZmllbGRUb1Nob3cgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmllbGRUb1Nob3cubmFtZSA9PT0gdG9vbHRpcEZpZWxkLm5hbWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogdG9vbHRpcEZpZWxkLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdDogZGlzcGxheUZvcm1hdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmllbGRUb1Nob3c7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5ld0NvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZHNUb1Nob3c6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5jb25maWcuZmllbGRzVG9TaG93LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkYXRhSWRdOiBmaWVsZHNUb1Nob3dcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlKG5ld0NvbmZpZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkRpc3BsYXlGb3JtYXRDaGFuZ2UoZGF0YUlkLCBmaWVsZC5uYW1lLCBkaXNwbGF5Rm9ybWF0KTtcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPC9TdHlsZWRQb3BvdmVyPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvQ2hpY2tsZXRBZGRvbldyYXBwZXI+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgPERlbGV0ZSBvbkNsaWNrPXtkaXNhYmxlZCA/IG51bGwgOiByZW1vdmV9IC8+XG4gICAgICAgICAgPC9DaGlja2xldEJ1dHRvbj5cbiAgICAgICAgPC9Tb3J0YWJsZVN0eWxlZEl0ZW0+XG4gICAgICApO1xuICAgIH1cbiAgfVxuICByZXR1cm4gb25DbGlja091dHNpZGUoVG9vbHRpcENoaWNrbGV0KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgVG9vbHRpcENoaWNrbGV0RmFjdG9yeTtcbiJdfQ==
@@ -26,10 +26,9 @@ declare type TooltipConfigProps = {
26
26
  }) => void;
27
27
  datasets: Datasets;
28
28
  intl: IntlShape;
29
+ onDisplayFormatChange: (dataId: any, column: any, displayFormat: any) => void;
29
30
  };
30
- declare function TooltipConfigFactory(DatasetTag: ReturnType<typeof DatasetTagFactory>, FieldSelector: ReturnType<typeof FieldSelectorFactory>): React.ForwardRefExoticComponent<import("react-intl").Omit<TooltipConfigProps, "intl"> & {
31
- forwardedRef?: React.Ref<any> | undefined;
32
- } & React.RefAttributes<any>> & {
31
+ declare function TooltipConfigFactory(DatasetTag: ReturnType<typeof DatasetTagFactory>, FieldSelector: ReturnType<typeof FieldSelectorFactory>): React.FC<import("react-intl").WithIntlProps<TooltipConfigProps>> & {
33
32
  WrappedComponent: React.ComponentType<TooltipConfigProps>;
34
33
  };
35
34
  declare namespace TooltipConfigFactory {
@@ -1,27 +1,9 @@
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");
24
4
 
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
+
25
7
  Object.defineProperty(exports, "__esModule", {
26
8
  value: true
27
9
  });
@@ -31,7 +13,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
31
13
 
32
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
33
15
 
34
- var _react = _interopRequireDefault(require("react"));
16
+ var _react = _interopRequireWildcard(require("react"));
35
17
 
36
18
  var _styledComponents = _interopRequireDefault(require("styled-components"));
37
19
 
@@ -79,21 +61,44 @@ function TooltipConfigFactory(DatasetTag, FieldSelector) {
79
61
  var DatasetTooltipConfig = function DatasetTooltipConfig(_ref) {
80
62
  var config = _ref.config,
81
63
  onChange = _ref.onChange,
82
- dataset = _ref.dataset;
64
+ dataset = _ref.dataset,
65
+ onDisplayFormatChange = _ref.onDisplayFormatChange;
83
66
  var dataId = dataset.id;
67
+ var handleClick = (0, _react.useCallback)(function () {
68
+ return onChange(_objectSpread(_objectSpread({}, config), {}, {
69
+ fieldsToShow: _objectSpread(_objectSpread({}, config.fieldsToShow), {}, (0, _defineProperty2["default"])({}, dataId, []))
70
+ }));
71
+ }, [config, dataId, onChange]);
72
+ var findSelectedHelper = (0, _react.useCallback)(function (selected, tooltipFields) {
73
+ return selected.map(function (f) {
74
+ return tooltipFields.find(function (tooltipField) {
75
+ return tooltipField.name === f.name;
76
+ }) || {
77
+ name: f.name,
78
+ // default initial tooltip is null
79
+ format: null
80
+ };
81
+ });
82
+ }, []);
83
+ var handleSelect = (0, _react.useCallback)(function (selected) {
84
+ var newConfig = _objectSpread(_objectSpread({}, config), {}, {
85
+ fieldsToShow: _objectSpread(_objectSpread({}, config.fieldsToShow), {}, (0, _defineProperty2["default"])({}, dataId, findSelectedHelper(selected, config.fieldsToShow[dataId])))
86
+ });
87
+
88
+ onChange(newConfig);
89
+ }, [config, dataId, onChange]);
90
+ var handleReorderItems = (0, _react.useCallback)(function (newOrder) {
91
+ return onChange(_objectSpread(_objectSpread({}, config), {}, {
92
+ fieldsToShow: _objectSpread(_objectSpread({}, config.fieldsToShow), {}, (0, _defineProperty2["default"])({}, dataId, newOrder))
93
+ }));
94
+ }, [config, dataId, onChange]);
84
95
  return /*#__PURE__*/_react["default"].createElement(_styledComponents2.SidePanelSection, {
85
96
  key: dataId
86
97
  }, /*#__PURE__*/_react["default"].createElement(_styledComponents2.SBFlexboxNoMargin, null, /*#__PURE__*/_react["default"].createElement(DatasetTag, {
87
98
  dataset: dataset
88
99
  }), Boolean(config.fieldsToShow[dataId].length) && /*#__PURE__*/_react["default"].createElement(ButtonWrapper, null, /*#__PURE__*/_react["default"].createElement(_styledComponents2.Button, {
89
100
  className: "clear-all",
90
- onClick: function onClick() {
91
- var newConfig = _objectSpread(_objectSpread({}, config), {}, {
92
- fieldsToShow: _objectSpread(_objectSpread({}, config.fieldsToShow), {}, (0, _defineProperty2["default"])({}, dataId, []))
93
- });
94
-
95
- onChange(newConfig);
96
- },
101
+ onClick: handleClick,
97
102
  width: "54px",
98
103
  secondary: true
99
104
  }, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
@@ -101,26 +106,12 @@ function TooltipConfigFactory(DatasetTag, FieldSelector) {
101
106
  })))), /*#__PURE__*/_react["default"].createElement(FieldSelector, {
102
107
  fields: dataset.fields,
103
108
  value: config.fieldsToShow[dataId],
104
- onSelect: function onSelect(selected) {
105
- var newConfig = _objectSpread(_objectSpread({}, config), {}, {
106
- fieldsToShow: _objectSpread(_objectSpread({}, config.fieldsToShow), {}, (0, _defineProperty2["default"])({}, dataId, selected.map(function (f) {
107
- return config.fieldsToShow[dataId].find(function (tooltipField) {
108
- return tooltipField.name === f.name;
109
- }) || {
110
- name: f.name,
111
- // default initial tooltip is null
112
- format: null
113
- };
114
- })))
115
- });
116
-
117
- onChange(newConfig);
118
- },
109
+ onSelect: handleSelect,
110
+ reorderItems: handleReorderItems,
119
111
  closeOnSelect: false,
120
112
  multiSelect: true,
121
- inputTheme: "secondary" // @ts-expect-error
122
- ,
123
- CustomChickletComponent: (0, _tooltipChicklet["default"])(dataId, config, onChange, dataset.fields)
113
+ inputTheme: "secondary",
114
+ CustomChickletComponent: (0, _tooltipChicklet["default"])(dataId, config, onChange, dataset.fields, onDisplayFormatChange)
124
115
  }));
125
116
  };
126
117
 
@@ -128,13 +119,20 @@ function TooltipConfigFactory(DatasetTag, FieldSelector) {
128
119
  var config = _ref2.config,
129
120
  datasets = _ref2.datasets,
130
121
  _onChange = _ref2.onChange,
122
+ onDisplayFormatChange = _ref2.onDisplayFormatChange,
131
123
  intl = _ref2.intl;
124
+ var handleChange = (0, _react.useCallback)(function (option) {
125
+ return _onChange(_objectSpread(_objectSpread({}, config), {}, {
126
+ compareType: option
127
+ }));
128
+ }, [config, _onChange]);
132
129
  return /*#__PURE__*/_react["default"].createElement(TooltipConfigWrapper, null, Object.keys(config.fieldsToShow).map(function (dataId) {
133
130
  return dataId === _constants.GEOCODER_DATASET_NAME ? null : /*#__PURE__*/_react["default"].createElement(DatasetTooltipConfig, {
134
131
  key: dataId,
135
132
  config: config,
136
133
  onChange: _onChange,
137
- dataset: datasets[dataId]
134
+ dataset: datasets[dataId],
135
+ onDisplayFormatChange: onDisplayFormatChange
138
136
  });
139
137
  }), /*#__PURE__*/_react["default"].createElement(CompareSwitchWrapper, null, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, {
140
138
  id: "compare.modeLabel"
@@ -166,14 +164,7 @@ function TooltipConfigFactory(DatasetTag, FieldSelector) {
166
164
  getOptionValue: function getOptionValue(d) {
167
165
  return d;
168
166
  },
169
- onChange: function onChange(option) {
170
- var newConfig = _objectSpread(_objectSpread({}, config), {}, {
171
- // @ts-expect-error
172
- compareType: option
173
- });
174
-
175
- _onChange(newConfig);
176
- }
167
+ onChange: handleChange
177
168
  })));
178
169
  };
179
170
 
@@ -182,4 +173,4 @@ function TooltipConfigFactory(DatasetTag, FieldSelector) {
182
173
 
183
174
  var _default = TooltipConfigFactory;
184
175
  exports["default"] = _default;
185
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2ludGVyYWN0aW9uLXBhbmVsL3Rvb2x0aXAtY29uZmlnLnRzeCJdLCJuYW1lcyI6WyJUb29sdGlwQ29uZmlnV3JhcHBlciIsInN0eWxlZCIsImRpdiIsIkJ1dHRvbldyYXBwZXIiLCJwcm9wcyIsInRoZW1lIiwic3VidGV4dENvbG9yIiwidGV4dENvbG9yIiwiQ29tcGFyZVN3aXRjaFdyYXBwZXIiLCJsYWJlbENvbG9yIiwiaW5wdXRGb250U2l6ZSIsIlRvb2x0aXBDb25maWdGYWN0b3J5IiwiZGVwcyIsIkRhdGFzZXRUYWdGYWN0b3J5IiwiRmllbGRTZWxlY3RvckZhY3RvcnkiLCJEYXRhc2V0VGFnIiwiRmllbGRTZWxlY3RvciIsIkRhdGFzZXRUb29sdGlwQ29uZmlnIiwiY29uZmlnIiwib25DaGFuZ2UiLCJkYXRhc2V0IiwiZGF0YUlkIiwiaWQiLCJCb29sZWFuIiwiZmllbGRzVG9TaG93IiwibGVuZ3RoIiwibmV3Q29uZmlnIiwiZmllbGRzIiwic2VsZWN0ZWQiLCJtYXAiLCJmIiwiZmluZCIsInRvb2x0aXBGaWVsZCIsIm5hbWUiLCJmb3JtYXQiLCJUb29sdGlwQ29uZmlnIiwiZGF0YXNldHMiLCJpbnRsIiwiT2JqZWN0Iiwia2V5cyIsIkdFT0NPREVSX0RBVEFTRVRfTkFNRSIsImNvbXBhcmVNb2RlIiwiZCIsImZvcm1hdE1lc3NhZ2UiLCJjb21wYXJlVHlwZSIsInZhbHVlcyIsIkNPTVBBUkVfVFlQRVMiLCJvcHRpb24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBTUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7O0FBR0EsSUFBTUEsb0JBQW9CLEdBQUdDLDZCQUFPQyxHQUFWLHFKQUExQjs7QUFNQSxJQUFNQyxhQUFhLEdBQUdGLDZCQUFPQyxHQUFWLGtTQU1OLFVBQUFFLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUND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QUQ7QUFBa0IsTUFBQSxFQUFFLEVBQUM7QUFBckIsTUFERixDQURGLGVBSUUsZ0NBQUMsd0JBQUQ7QUFDRSxNQUFBLFFBQVEsRUFBRSxDQUFDUixNQUFNLENBQUN1QixXQURwQjtBQUVFLE1BQUEsYUFBYSxFQUFFLHVCQUFBQyxDQUFDO0FBQUEsZUFDZEwsSUFBSSxDQUFDTSxhQUFMLENBQW1CO0FBQ2pCckIsVUFBQUEsRUFBRSwwQkFBbUJvQixDQUFuQjtBQURlLFNBQW5CLENBRGM7QUFBQSxPQUZsQjtBQU9FLE1BQUEsYUFBYSxFQUFFeEIsTUFBTSxDQUFDMEIsV0FQeEI7QUFRRSxNQUFBLE9BQU8sRUFBRU4sTUFBTSxDQUFDTyxNQUFQLENBQWNDLHdCQUFkLENBUlg7QUFTRSxNQUFBLFdBQVcsRUFBRSxLQVRmO0FBVUUsTUFBQSxVQUFVLEVBQUUsS0FWZDtBQVdFLE1BQUEsVUFBVSxFQUFFLFdBWGQ7QUFZRSxNQUFBLGNBQWMsRUFBRSx3QkFBQUosQ0FBQztBQUFBLGVBQUlBLENBQUo7QUFBQSxPQVpuQjtBQWFFLE1BQUEsUUFBUSxFQUFFLGtCQUFBSyxNQUFNLEVBQUk7QUFDbEIsWUFBTXJCLFNBQXVDLG1DQUN4Q1IsTUFEd0M7QUFFM0M7QUFDQTBCLFVBQUFBLFdBQVcsRUFBRUc7QUFIOEIsVUFBN0M7O0FBS0E1QixRQUFBQSxTQUFRLENBQUNPLFNBQUQsQ0FBUjtBQUNEO0FBcEJILE1BSkYsQ0ExQkYsQ0FERjtBQXdERCxHQXpERDs7QUEyREEsU0FBTywyQkFBV1MsYUFBWCxDQUFQO0FBQ0Q7O2VBRWN4QixvQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7aW5qZWN0SW50bCwgSW50bFNoYXBlfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnQGtlcGxlci5nbC9sb2NhbGl6YXRpb24nO1xuXG5pbXBvcnQge1xuICBTaWRlUGFuZWxTZWN0aW9uLFxuICBTQkZsZXhib3hOb01hcmdpbixcbiAgQnV0dG9uLFxuICBQYW5lbExhYmVsXG59IGZyb20gJy4uLy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgRGF0YXNldFRhZ0ZhY3RvcnkgZnJvbSAnLi4vY29tbW9uL2RhdGFzZXQtdGFnJztcbmltcG9ydCBUb29sdGlwQ2hpY2tsZXRGYWN0b3J5IGZyb20gJy4vdG9vbHRpcC1jb25maWcvdG9vbHRpcC1jaGlja2xldCc7XG5pbXBvcnQgU3dpdGNoIGZyb20gJy4uLy4uL2NvbW1vbi9zd2l0Y2gnO1xuaW1wb3J0IEl0ZW1TZWxlY3RvciBmcm9tICcuLi8uLi9jb21tb24vaXRlbS1zZWxlY3Rvci9pdGVtLXNlbGVjdG9yJztcbmltcG9ydCB7Q09NUEFSRV9UWVBFUywgR0VPQ09ERVJfREFUQVNFVF9OQU1FfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQgRmllbGRTZWxlY3RvckZhY3RvcnkgZnJvbSAnLi4vLi4vY29tbW9uL2ZpZWxkLXNlbGVjdG9yJztcbmltcG9ydCBLZXBsZXJUYWJsZSwge0RhdGFzZXRzfSBmcm9tICdAa2VwbGVyLmdsL3RhYmxlJztcblxuY29uc3QgVG9vbHRpcENvbmZpZ1dyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICAuaXRlbS1zZWxlY3RvciA+IGRpdiA+IGRpdiB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbmA7XG5cbmNvbnN0IEJ1dHRvbldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBpbmhlcml0O1xuICBwYWRkaW5nOiAwO1xuXG4gIC5idXR0b24uY2xlYXItYWxsIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3J9O1xuICAgIG1hcmdpbjogMCAwIDAgOHB4O1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBDb21wYXJlU3dpdGNoV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRGb250U2l6ZX07XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbGluZS1oZWlnaHQ6IDExcHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbmA7XG5cbnR5cGUgVG9vbHRpcENvbmZpZ1Byb3BzID0ge1xuICBjb25maWc6IHtcbiAgICBmaWVsZHNUb1Nob3c6IHtcbiAgICAgIFtrZXk6IHN0cmluZ106IHtuYW1lOiBzdHJpbmc7IGZvcm1hdDogc3RyaW5nIHwgbnVsbH1bXTtcbiAgICB9O1xuICAgIGNvbXBhcmVNb2RlOiBib29sZWFuO1xuICAgIGNvbXBhcmVUeXBlOiBzdHJpbmcgfCBudWxsO1xuICB9O1xuICBvbkNoYW5nZTogKGNvbmZpZzoge1xuICAgIGZpZWxkc1RvU2hvdzoge1xuICAgICAgW2tleTogc3RyaW5nXToge25hbWU6IHN0cmluZzsgZm9ybWF0OiBzdHJpbmcgfCBudWxsfVtdO1xuICAgIH07XG4gICAgY29tcGFyZU1vZGU6IGJvb2xlYW47XG4gICAgY29tcGFyZVR5cGU6IHN0cmluZyB8IG51bGw7XG4gIH0pID0+IHZvaWQ7XG4gIGRhdGFzZXRzOiBEYXRhc2V0cztcbiAgaW50bDogSW50bFNoYXBlO1xufTtcblxudHlwZSBEYXRhc2V0VG9vbHRpcENvbmZpZ1Byb3BzID0ge1xuICBjb25maWc6IHtcbiAgICBmaWVsZHNUb1Nob3c6IHtcbiAgICAgIFtrZXk6IHN0cmluZ106IHtuYW1lOiBzdHJpbmc7IGZvcm1hdDogc3RyaW5nIHwgbnVsbH1bXTtcbiAgICB9O1xuICAgIGNvbXBhcmVNb2RlOiBib29sZWFuO1xuICAgIGNvbXBhcmVUeXBlOiBzdHJpbmcgfCBudWxsO1xuICB9O1xuICBvbkNoYW5nZTogKGNvbmZpZzoge1xuICAgIGZpZWxkc1RvU2hvdzoge1xuICAgICAgW2tleTogc3RyaW5nXToge25hbWU6IHN0cmluZzsgZm9ybWF0OiBzdHJpbmcgfCBudWxsfVtdO1xuICAgIH07XG4gICAgY29tcGFyZU1vZGU6IGJvb2xlYW47XG4gICAgY29tcGFyZVR5cGU6IHN0cmluZyB8IG51bGw7XG4gIH0pID0+IHZvaWQ7XG4gIGRhdGFzZXQ6IEtlcGxlclRhYmxlO1xufTtcblxuVG9vbHRpcENvbmZpZ0ZhY3RvcnkuZGVwcyA9IFtEYXRhc2V0VGFnRmFjdG9yeSwgRmllbGRTZWxlY3RvckZhY3RvcnldO1xuZnVuY3Rpb24gVG9vbHRpcENvbmZpZ0ZhY3RvcnkoXG4gIERhdGFzZXRUYWc6IFJldHVyblR5cGU8dHlwZW9mIERhdGFzZXRUYWdGYWN0b3J5PixcbiAgRmllbGRTZWxlY3RvcjogUmV0dXJuVHlwZTx0eXBlb2YgRmllbGRTZWxlY3RvckZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgRGF0YXNldFRvb2x0aXBDb25maWcgPSAoe2NvbmZpZywgb25DaGFuZ2UsIGRhdGFzZXR9OiBEYXRhc2V0VG9vbHRpcENvbmZpZ1Byb3BzKSA9PiB7XG4gICAgY29uc3QgZGF0YUlkID0gZGF0YXNldC5pZDtcbiAgICByZXR1cm4gKFxuICAgICAgPFNpZGVQYW5lbFNlY3Rpb24ga2V5PXtkYXRhSWR9PlxuICAgICAgICA8U0JGbGV4Ym94Tm9NYXJnaW4+XG4gICAgICAgICAgPERhdGFzZXRUYWcgZGF0YXNldD17ZGF0YXNldH0gLz5cbiAgICAgICAgICB7Qm9vbGVhbihjb25maWcuZmllbGRzVG9TaG93W2RhdGFJZF0ubGVuZ3RoKSAmJiAoXG4gICAgICAgICAgICA8QnV0dG9uV3JhcHBlcj5cbiAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNsZWFyLWFsbFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3QgbmV3Q29uZmlnID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi5jb25maWcsXG4gICAgICAgICAgICAgICAgICAgIGZpZWxkc1RvU2hvdzoge1xuICAgICAgICAgICAgICAgICAgICAgIC4uLmNvbmZpZy5maWVsZHNUb1Nob3csXG4gICAgICAgICAgICAgICAgICAgICAgW2RhdGFJZF06IFtdXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZShuZXdDb25maWcpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgd2lkdGg9XCI1NHB4XCJcbiAgICAgICAgICAgICAgICBzZWNvbmRhcnlcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwiZmllbGRTZWxlY3Rvci5jbGVhckFsbFwiIC8+XG4gICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgPC9CdXR0b25XcmFwcGVyPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvU0JGbGV4Ym94Tm9NYXJnaW4+XG4gICAgICAgIDxGaWVsZFNlbGVjdG9yXG4gICAgICAgICAgZmllbGRzPXtkYXRhc2V0LmZpZWxkc31cbiAgICAgICAgICB2YWx1ZT17Y29uZmlnLmZpZWxkc1RvU2hvd1tkYXRhSWRdfVxuICAgICAgICAgIG9uU2VsZWN0PXtzZWxlY3RlZCA9PiB7XG4gICAgICAgICAgICBjb25zdCBuZXdDb25maWc6IERhdGFzZXRUb29sdGlwQ29uZmlnUHJvcHNbJ2NvbmZpZyddID0ge1xuICAgICAgICAgICAgICAuLi5jb25maWcsXG4gICAgICAgICAgICAgIGZpZWxkc1RvU2hvdzoge1xuICAgICAgICAgICAgICAgIC4uLmNvbmZpZy5maWVsZHNUb1Nob3csXG4gICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICAgICAgICAgIFtkYXRhSWRdOiBzZWxlY3RlZC5tYXAoXG4gICAgICAgICAgICAgICAgICBmID0+XG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZy5maWVsZHNUb1Nob3dbZGF0YUlkXS5maW5kKFxuICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBGaWVsZCA9PiB0b29sdGlwRmllbGQubmFtZSA9PT0gZi5uYW1lXG4gICAgICAgICAgICAgICAgICAgICkgfHwge1xuICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGYubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAvLyBkZWZhdWx0IGluaXRpYWwgdG9vbHRpcCBpcyBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgZm9ybWF0OiBudWxsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBvbkNoYW5nZShuZXdDb25maWcpO1xuICAgICAgICAgIH19XG4gICAgICAgICAgY2xvc2VPblNlbGVjdD17ZmFsc2V9XG4gICAgICAgICAgbXVsdGlTZWxlY3RcbiAgICAgICAgICBpbnB1dFRoZW1lPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgICAgICAgQ3VzdG9tQ2hpY2tsZXRDb21wb25lbnQ9e1Rvb2x0aXBDaGlja2xldEZhY3RvcnkoZGF0YUlkLCBjb25maWcsIG9uQ2hhbmdlLCBkYXRhc2V0LmZpZWxkcyl9XG4gICAgICAgIC8+XG4gICAgICA8L1NpZGVQYW5lbFNlY3Rpb24+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBUb29sdGlwQ29uZmlnID0gKHtjb25maWcsIGRhdGFzZXRzLCBvbkNoYW5nZSwgaW50bH06IFRvb2x0aXBDb25maWdQcm9wcykgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8VG9vbHRpcENvbmZpZ1dyYXBwZXI+XG4gICAgICAgIHtPYmplY3Qua2V5cyhjb25maWcuZmllbGRzVG9TaG93KS5tYXAoZGF0YUlkID0+XG4gICAgICAgICAgZGF0YUlkID09PSBHRU9DT0RFUl9EQVRBU0VUX05BTUUgPyBudWxsIDogKFxuICAgICAgICAgICAgPERhdGFzZXRUb29sdGlwQ29uZmlnXG4gICAgICAgICAgICAgIGtleT17ZGF0YUlkfVxuICAgICAgICAgICAgICBjb25maWc9e2NvbmZpZ31cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgICAgICBkYXRhc2V0PXtkYXRhc2V0c1tkYXRhSWRdfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApXG4gICAgICAgICl9XG4gICAgICAgIDxDb21wYXJlU3dpdGNoV3JhcHBlcj5cbiAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbXBhcmUubW9kZUxhYmVsXCIgLz5cbiAgICAgICAgICA8U3dpdGNoXG4gICAgICAgICAgICBjaGVja2VkPXtjb25maWcuY29tcGFyZU1vZGV9XG4gICAgICAgICAgICBpZD1cImNvbXBhcmUtbW9kZS10b2dnbGVcIlxuICAgICAgICAgICAgb25DaGFuZ2U9eygpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgbmV3Q29uZmlnID0ge1xuICAgICAgICAgICAgICAgIC4uLmNvbmZpZyxcbiAgICAgICAgICAgICAgICBjb21wYXJlTW9kZTogIWNvbmZpZy5jb21wYXJlTW9kZVxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICBvbkNoYW5nZShuZXdDb25maWcpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHNlY29uZGFyeVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvQ29tcGFyZVN3aXRjaFdyYXBwZXI+XG4gICAgICAgIDxTaWRlUGFuZWxTZWN0aW9uPlxuICAgICAgICAgIDxQYW5lbExhYmVsPlxuICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9XCJjb21wYXJlLnR5cGVMYWJlbFwiIC8+XG4gICAgICAgICAgPC9QYW5lbExhYmVsPlxuICAgICAgICAgIDxJdGVtU2VsZWN0b3JcbiAgICAgICAgICAgIGRpc2FibGVkPXshY29uZmlnLmNvbXBhcmVNb2RlfVxuICAgICAgICAgICAgZGlzcGxheU9wdGlvbj17ZCA9PlxuICAgICAgICAgICAgICBpbnRsLmZvcm1hdE1lc3NhZ2Uoe1xuICAgICAgICAgICAgICAgIGlkOiBgY29tcGFyZS50eXBlcy4ke2R9YFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2VsZWN0ZWRJdGVtcz17Y29uZmlnLmNvbXBhcmVUeXBlfVxuICAgICAgICAgICAgb3B0aW9ucz17T2JqZWN0LnZhbHVlcyhDT01QQVJFX1RZUEVTKX1cbiAgICAgICAgICAgIG11bHRpU2VsZWN0PXtmYWxzZX1cbiAgICAgICAgICAgIHNlYXJjaGFibGU9e2ZhbHNlfVxuICAgICAgICAgICAgaW5wdXRUaGVtZT17J3NlY29uZGFyeSd9XG4gICAgICAgICAgICBnZXRPcHRpb25WYWx1ZT17ZCA9PiBkfVxuICAgICAgICAgICAgb25DaGFuZ2U9e29wdGlvbiA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld0NvbmZpZzogVG9vbHRpcENvbmZpZ1Byb3BzWydjb25maWcnXSA9IHtcbiAgICAgICAgICAgICAgICAuLi5jb25maWcsXG4gICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgICAgICAgICAgIGNvbXBhcmVUeXBlOiBvcHRpb25cbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgb25DaGFuZ2UobmV3Q29uZmlnKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TaWRlUGFuZWxTZWN0aW9uPlxuICAgICAgPC9Ub29sdGlwQ29uZmlnV3JhcHBlcj5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBpbmplY3RJbnRsKFRvb2x0aXBDb25maWcpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBUb29sdGlwQ29uZmlnRmFjdG9yeTtcbiJdfQ==
176
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zaWRlLXBhbmVsL2ludGVyYWN0aW9uLXBhbmVsL3Rvb2x0aXAtY29uZmlnLnRzeCJdLCJuYW1lcyI6WyJUb29sdGlwQ29uZmlnV3JhcHBlciIsInN0eWxlZCIsImRpdiIsIkJ1dHRvbldyYXBwZXIiLCJwcm9wcyIsInRoZW1lIiwic3VidGV4dENvbG9yIiwidGV4dENvbG9yIiwiQ29tcGFyZVN3aXRjaFdyYXBwZXIiLCJsYWJlbENvbG9yIiwiaW5wdXRGb250U2l6ZSIsIlRvb2x0aXBDb25maWdGYWN0b3J5IiwiZGVwcyIsIkRhdGFzZXRUYWdGYWN0b3J5IiwiRmllbGRTZWxlY3RvckZhY3RvcnkiLCJEYXRhc2V0VGFnIiwiRmllbGRTZWxlY3RvciIsIkRhdGFzZXRUb29sdGlwQ29uZmlnIiwiY29uZmlnIiwib25DaGFuZ2UiLCJkYXRhc2V0Iiwib25EaXNwbGF5Rm9ybWF0Q2hhbmdlIiwiZGF0YUlkIiwiaWQiLCJoYW5kbGVDbGljayIsImZpZWxkc1RvU2hvdyIsImZpbmRTZWxlY3RlZEhlbHBlciIsInNlbGVjdGVkIiwidG9vbHRpcEZpZWxkcyIsIm1hcCIsImYiLCJmaW5kIiwidG9vbHRpcEZpZWxkIiwibmFtZSIsImZvcm1hdCIsImhhbmRsZVNlbGVjdCIsIm5ld0NvbmZpZyIsImhhbmRsZVJlb3JkZXJJdGVtcyIsIm5ld09yZGVyIiwiQm9vbGVhbiIsImxlbmd0aCIsImZpZWxkcyIsIlRvb2x0aXBDb25maWciLCJkYXRhc2V0cyIsImludGwiLCJoYW5kbGVDaGFuZ2UiLCJvcHRpb24iLCJjb21wYXJlVHlwZSIsIk9iamVjdCIsImtleXMiLCJHRU9DT0RFUl9EQVRBU0VUX05BTUUiLCJjb21wYXJlTW9kZSIsImQiLCJmb3JtYXRNZXNzYWdlIiwidmFsdWVzIiwiQ09NUEFSRV9UWVBFUyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBTUE7O0FBQ0E7O0FBQ0E7O0FB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Q0UsZ0NBQUMsOEJBQUQ7QUFBa0IsTUFBQSxFQUFFLEVBQUM7QUFBckIsTUFERixDQURGLGVBSUUsZ0NBQUMsd0JBQUQ7QUFDRSxNQUFBLFFBQVEsRUFBRSxDQUFDbEIsTUFBTSxDQUFDaUMsV0FEcEI7QUFFRSxNQUFBLGFBQWEsRUFBRSx1QkFBQUMsQ0FBQztBQUFBLGVBQ2RSLElBQUksQ0FBQ1MsYUFBTCxDQUFtQjtBQUNqQjlCLFVBQUFBLEVBQUUsMEJBQW1CNkIsQ0FBbkI7QUFEZSxTQUFuQixDQURjO0FBQUEsT0FGbEI7QUFPRSxNQUFBLGFBQWEsRUFBRWxDLE1BQU0sQ0FBQzZCLFdBUHhCO0FBUUUsTUFBQSxPQUFPLEVBQUVDLE1BQU0sQ0FBQ00sTUFBUCxDQUFjQyx3QkFBZCxDQVJYO0FBU0UsTUFBQSxXQUFXLEVBQUUsS0FUZjtBQVVFLE1BQUEsVUFBVSxFQUFFLEtBVmQ7QUFXRSxNQUFBLFVBQVUsRUFBRSxXQVhkO0FBWUUsTUFBQSxjQUFjLEVBQUUsd0JBQUFILENBQUM7QUFBQSxlQUFJQSxDQUFKO0FBQUEsT0FabkI7QUFhRSxNQUFBLFFBQVEsRUFBRVA7QUFiWixNQUpGLENBM0JGLENBREY7QUFrREQsR0FsRUQ7O0FBb0VBLFNBQU8sMkJBQVdILGFBQVgsQ0FBUDtBQUNEOztlQUVjL0Isb0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFja30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge2luamVjdEludGwsIEludGxTaGFwZX0gZnJvbSAncmVhY3QtaW50bCc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcblxuaW1wb3J0IHtcbiAgU2lkZVBhbmVsU2VjdGlvbixcbiAgU0JGbGV4Ym94Tm9NYXJnaW4sXG4gIEJ1dHRvbixcbiAgUGFuZWxMYWJlbFxufSBmcm9tICcuLi8uLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IERhdGFzZXRUYWdGYWN0b3J5IGZyb20gJy4uL2NvbW1vbi9kYXRhc2V0LXRhZyc7XG5pbXBvcnQgVG9vbHRpcENoaWNrbGV0RmFjdG9yeSBmcm9tICcuL3Rvb2x0aXAtY29uZmlnL3Rvb2x0aXAtY2hpY2tsZXQnO1xuaW1wb3J0IFN3aXRjaCBmcm9tICcuLi8uLi9jb21tb24vc3dpdGNoJztcbmltcG9ydCBJdGVtU2VsZWN0b3IgZnJvbSAnLi4vLi4vY29tbW9uL2l0ZW0tc2VsZWN0b3IvaXRlbS1zZWxlY3Rvcic7XG5pbXBvcnQge0NPTVBBUkVfVFlQRVMsIEdFT0NPREVSX0RBVEFTRVRfTkFNRX0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IEZpZWxkU2VsZWN0b3JGYWN0b3J5IGZyb20gJy4uLy4uL2NvbW1vbi9maWVsZC1zZWxlY3Rvcic7XG5pbXBvcnQgS2VwbGVyVGFibGUsIHtEYXRhc2V0c30gZnJvbSAnQGtlcGxlci5nbC90YWJsZSc7XG5cbmNvbnN0IFRvb2x0aXBDb25maWdXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgLml0ZW0tc2VsZWN0b3IgPiBkaXYgPiBkaXYge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5gO1xuXG5jb25zdCBCdXR0b25XcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogaW5oZXJpdDtcbiAgcGFkZGluZzogMDtcblxuICAuYnV0dG9uLmNsZWFyLWFsbCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcbiAgICBtYXJnaW46IDAgMCAwIDhweDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgQ29tcGFyZVN3aXRjaFdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5sYWJlbENvbG9yfTtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Rm9udFNpemV9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGxpbmUtaGVpZ2h0OiAxMXB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5gO1xuXG50eXBlIFRvb2x0aXBDb25maWdQcm9wcyA9IHtcbiAgY29uZmlnOiB7XG4gICAgZmllbGRzVG9TaG93OiB7XG4gICAgICBba2V5OiBzdHJpbmddOiB7bmFtZTogc3RyaW5nOyBmb3JtYXQ6IHN0cmluZyB8IG51bGx9W107XG4gICAgfTtcbiAgICBjb21wYXJlTW9kZTogYm9vbGVhbjtcbiAgICBjb21wYXJlVHlwZTogc3RyaW5nIHwgbnVsbDtcbiAgfTtcbiAgb25DaGFuZ2U6IChjb25maWc6IHtcbiAgICBmaWVsZHNUb1Nob3c6IHtcbiAgICAgIFtrZXk6IHN0cmluZ106IHtuYW1lOiBzdHJpbmc7IGZvcm1hdDogc3RyaW5nIHwgbnVsbH1bXTtcbiAgICB9O1xuICAgIGNvbXBhcmVNb2RlOiBib29sZWFuO1xuICAgIGNvbXBhcmVUeXBlOiBzdHJpbmcgfCBudWxsO1xuICB9KSA9PiB2b2lkO1xuICBkYXRhc2V0czogRGF0YXNldHM7XG4gIGludGw6IEludGxTaGFwZTtcbiAgb25EaXNwbGF5Rm9ybWF0Q2hhbmdlOiAoZGF0YUlkLCBjb2x1bW4sIGRpc3BsYXlGb3JtYXQpID0+IHZvaWQ7XG59O1xuXG50eXBlIERhdGFzZXRUb29sdGlwQ29uZmlnUHJvcHMgPSB7XG4gIGNvbmZpZzoge1xuICAgIGZpZWxkc1RvU2hvdzoge1xuICAgICAgW2tleTogc3RyaW5nXToge25hbWU6IHN0cmluZzsgZm9ybWF0OiBzdHJpbmcgfCBudWxsfVtdO1xuICAgIH07XG4gICAgY29tcGFyZU1vZGU6IGJvb2xlYW47XG4gICAgY29tcGFyZVR5cGU6IHN0cmluZyB8IG51bGw7XG4gIH07XG4gIG9uQ2hhbmdlOiAoY29uZmlnOiB7XG4gICAgZmllbGRzVG9TaG93OiB7XG4gICAgICBba2V5OiBzdHJpbmddOiB7bmFtZTogc3RyaW5nOyBmb3JtYXQ6IHN0cmluZyB8IG51bGx9W107XG4gICAgfTtcbiAgICBjb21wYXJlTW9kZTogYm9vbGVhbjtcbiAgICBjb21wYXJlVHlwZTogc3RyaW5nIHwgbnVsbDtcbiAgfSkgPT4gdm9pZDtcbiAgZGF0YXNldDogS2VwbGVyVGFibGU7XG4gIG9uRGlzcGxheUZvcm1hdENoYW5nZTogKGRhdGFJZCwgY29sdW1uLCBkaXNwbGF5Rm9ybWF0KSA9PiB2b2lkO1xufTtcblxuVG9vbHRpcENvbmZpZ0ZhY3RvcnkuZGVwcyA9IFtEYXRhc2V0VGFnRmFjdG9yeSwgRmllbGRTZWxlY3RvckZhY3RvcnldO1xuZnVuY3Rpb24gVG9vbHRpcENvbmZpZ0ZhY3RvcnkoXG4gIERhdGFzZXRUYWc6IFJldHVyblR5cGU8dHlwZW9mIERhdGFzZXRUYWdGYWN0b3J5PixcbiAgRmllbGRTZWxlY3RvcjogUmV0dXJuVHlwZTx0eXBlb2YgRmllbGRTZWxlY3RvckZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgRGF0YXNldFRvb2x0aXBDb25maWcgPSAoe1xuICAgIGNvbmZpZyxcbiAgICBvbkNoYW5nZSxcbiAgICBkYXRhc2V0LFxuICAgIG9uRGlzcGxheUZvcm1hdENoYW5nZVxuICB9OiBEYXRhc2V0VG9vbHRpcENvbmZpZ1Byb3BzKSA9PiB7XG4gICAgY29uc3QgZGF0YUlkID0gZGF0YXNldC5pZDtcblxuICAgIGNvbnN0IGhhbmRsZUNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgICAoKSA9PlxuICAgICAgICBvbkNoYW5nZSh7XG4gICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgIGZpZWxkc1RvU2hvdzoge1xuICAgICAgICAgICAgLi4uY29uZmlnLmZpZWxkc1RvU2hvdyxcbiAgICAgICAgICAgIFtkYXRhSWRdOiBbXVxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICBbY29uZmlnLCBkYXRhSWQsIG9uQ2hhbmdlXVxuICAgICk7XG5cbiAgICBjb25zdCBmaW5kU2VsZWN0ZWRIZWxwZXIgPSB1c2VDYWxsYmFjaygoc2VsZWN0ZWQsIHRvb2x0aXBGaWVsZHMpID0+IHtcbiAgICAgIHJldHVybiBzZWxlY3RlZC5tYXAoXG4gICAgICAgIGYgPT5cbiAgICAgICAgICB0b29sdGlwRmllbGRzLmZpbmQodG9vbHRpcEZpZWxkID0+IHRvb2x0aXBGaWVsZC5uYW1lID09PSBmLm5hbWUpIHx8IHtcbiAgICAgICAgICAgIG5hbWU6IGYubmFtZSxcbiAgICAgICAgICAgIC8vIGRlZmF1bHQgaW5pdGlhbCB0b29sdGlwIGlzIG51bGxcbiAgICAgICAgICAgIGZvcm1hdDogbnVsbFxuICAgICAgICAgIH1cbiAgICAgICk7XG4gICAgfSwgW10pO1xuXG4gICAgY29uc3QgaGFuZGxlU2VsZWN0ID0gdXNlQ2FsbGJhY2soXG4gICAgICBzZWxlY3RlZCA9PiB7XG4gICAgICAgIGNvbnN0IG5ld0NvbmZpZzogRGF0YXNldFRvb2x0aXBDb25maWdQcm9wc1snY29uZmlnJ10gPSB7XG4gICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgIGZpZWxkc1RvU2hvdzoge1xuICAgICAgICAgICAgLi4uY29uZmlnLmZpZWxkc1RvU2hvdyxcbiAgICAgICAgICAgIFtkYXRhSWRdOiBmaW5kU2VsZWN0ZWRIZWxwZXIoc2VsZWN0ZWQsIGNvbmZpZy5maWVsZHNUb1Nob3dbZGF0YUlkXSlcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIG9uQ2hhbmdlKG5ld0NvbmZpZyk7XG4gICAgICB9LFxuICAgICAgW2NvbmZpZywgZGF0YUlkLCBvbkNoYW5nZV1cbiAgICApO1xuXG4gICAgY29uc3QgaGFuZGxlUmVvcmRlckl0ZW1zID0gdXNlQ2FsbGJhY2soXG4gICAgICBuZXdPcmRlciA9PlxuICAgICAgICBvbkNoYW5nZSh7XG4gICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgIGZpZWxkc1RvU2hvdzoge1xuICAgICAgICAgICAgLi4uY29uZmlnLmZpZWxkc1RvU2hvdyxcbiAgICAgICAgICAgIFtkYXRhSWRdOiBuZXdPcmRlclxuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICBbY29uZmlnLCBkYXRhSWQsIG9uQ2hhbmdlXVxuICAgICk7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTaWRlUGFuZWxTZWN0aW9uIGtleT17ZGF0YUlkfT5cbiAgICAgICAgPFNCRmxleGJveE5vTWFyZ2luPlxuICAgICAgICAgIDxEYXRhc2V0VGFnIGRhdGFzZXQ9e2RhdGFzZXR9IC8+XG4gICAgICAgICAge0Jvb2xlYW4oY29uZmlnLmZpZWxkc1RvU2hvd1tkYXRhSWRdLmxlbmd0aCkgJiYgKFxuICAgICAgICAgICAgPEJ1dHRvbldyYXBwZXI+XG4gICAgICAgICAgICAgIDxCdXR0b24gY2xhc3NOYW1lPVwiY2xlYXItYWxsXCIgb25DbGljaz17aGFuZGxlQ2xpY2t9IHdpZHRoPVwiNTRweFwiIHNlY29uZGFyeT5cbiAgICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImZpZWxkU2VsZWN0b3IuY2xlYXJBbGxcIiAvPlxuICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgIDwvQnV0dG9uV3JhcHBlcj5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NCRmxleGJveE5vTWFyZ2luPlxuICAgICAgICA8RmllbGRTZWxlY3RvclxuICAgICAgICAgIGZpZWxkcz17ZGF0YXNldC5maWVsZHN9XG4gICAgICAgICAgdmFsdWU9e2NvbmZpZy5maWVsZHNUb1Nob3dbZGF0YUlkXX1cbiAgICAgICAgICBvblNlbGVjdD17aGFuZGxlU2VsZWN0fVxuICAgICAgICAgIHJlb3JkZXJJdGVtcz17aGFuZGxlUmVvcmRlckl0ZW1zfVxuICAgICAgICAgIGNsb3NlT25TZWxlY3Q9e2ZhbHNlfVxuICAgICAgICAgIG11bHRpU2VsZWN0XG4gICAgICAgICAgaW5wdXRUaGVtZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgQ3VzdG9tQ2hpY2tsZXRDb21wb25lbnQ9e1Rvb2x0aXBDaGlja2xldEZhY3RvcnkoXG4gICAgICAgICAgICBkYXRhSWQsXG4gICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICBvbkNoYW5nZSxcbiAgICAgICAgICAgIGRhdGFzZXQuZmllbGRzLFxuICAgICAgICAgICAgb25EaXNwbGF5Rm9ybWF0Q2hhbmdlXG4gICAgICAgICAgKX1cbiAgICAgICAgLz5cbiAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IFRvb2x0aXBDb25maWcgPSAoe1xuICAgIGNvbmZpZyxcbiAgICBkYXRhc2V0cyxcbiAgICBvbkNoYW5nZSxcbiAgICBvbkRpc3BsYXlGb3JtYXRDaGFuZ2UsXG4gICAgaW50bFxuICB9OiBUb29sdGlwQ29uZmlnUHJvcHMpID0+IHtcbiAgICBjb25zdCBoYW5kbGVDaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAgIChvcHRpb246IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBvYmplY3QgfCBudWxsKSA9PlxuICAgICAgICBvbkNoYW5nZSh7XG4gICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgIGNvbXBhcmVUeXBlOiBvcHRpb24gYXMgc3RyaW5nIHwgbnVsbFxuICAgICAgICB9KSxcbiAgICAgIFtjb25maWcsIG9uQ2hhbmdlXVxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFRvb2x0aXBDb25maWdXcmFwcGVyPlxuICAgICAgICB7T2JqZWN0LmtleXMoY29uZmlnLmZpZWxkc1RvU2hvdykubWFwKGRhdGFJZCA9PlxuICAgICAgICAgIGRhdGFJZCA9PT0gR0VPQ09ERVJfREFUQVNFVF9OQU1FID8gbnVsbCA6IChcbiAgICAgICAgICAgIDxEYXRhc2V0VG9vbHRpcENvbmZpZ1xuICAgICAgICAgICAgICBrZXk9e2RhdGFJZH1cbiAgICAgICAgICAgICAgY29uZmlnPXtjb25maWd9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgICAgICAgZGF0YXNldD17ZGF0YXNldHNbZGF0YUlkXX1cbiAgICAgICAgICAgICAgb25EaXNwbGF5Rm9ybWF0Q2hhbmdlPXtvbkRpc3BsYXlGb3JtYXRDaGFuZ2V9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIClcbiAgICAgICAgKX1cbiAgICAgICAgPENvbXBhcmVTd2l0Y2hXcmFwcGVyPlxuICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPVwiY29tcGFyZS5tb2RlTGFiZWxcIiAvPlxuICAgICAgICAgIDxTd2l0Y2hcbiAgICAgICAgICAgIGNoZWNrZWQ9e2NvbmZpZy5jb21wYXJlTW9kZX1cbiAgICAgICAgICAgIGlkPVwiY29tcGFyZS1tb2RlLXRvZ2dsZVwiXG4gICAgICAgICAgICBvbkNoYW5nZT17KCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBuZXdDb25maWcgPSB7XG4gICAgICAgICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgICAgICAgIGNvbXBhcmVNb2RlOiAhY29uZmlnLmNvbXBhcmVNb2RlXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgIG9uQ2hhbmdlKG5ld0NvbmZpZyk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgc2Vjb25kYXJ5XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9Db21wYXJlU3dpdGNoV3JhcHBlcj5cbiAgICAgICAgPFNpZGVQYW5lbFNlY3Rpb24+XG4gICAgICAgICAgPFBhbmVsTGFiZWw+XG4gICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD1cImNvbXBhcmUudHlwZUxhYmVsXCIgLz5cbiAgICAgICAgICA8L1BhbmVsTGFiZWw+XG4gICAgICAgICAgPEl0ZW1TZWxlY3RvclxuICAgICAgICAgICAgZGlzYWJsZWQ9eyFjb25maWcuY29tcGFyZU1vZGV9XG4gICAgICAgICAgICBkaXNwbGF5T3B0aW9uPXtkID0+XG4gICAgICAgICAgICAgIGludGwuZm9ybWF0TWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgaWQ6IGBjb21wYXJlLnR5cGVzLiR7ZH1gXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZWxlY3RlZEl0ZW1zPXtjb25maWcuY29tcGFyZVR5cGV9XG4gICAgICAgICAgICBvcHRpb25zPXtPYmplY3QudmFsdWVzKENPTVBBUkVfVFlQRVMpfVxuICAgICAgICAgICAgbXVsdGlTZWxlY3Q9e2ZhbHNlfVxuICAgICAgICAgICAgc2VhcmNoYWJsZT17ZmFsc2V9XG4gICAgICAgICAgICBpbnB1dFRoZW1lPXsnc2Vjb25kYXJ5J31cbiAgICAgICAgICAgIGdldE9wdGlvblZhbHVlPXtkID0+IGR9XG4gICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvU2lkZVBhbmVsU2VjdGlvbj5cbiAgICAgIDwvVG9vbHRpcENvbmZpZ1dyYXBwZXI+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gaW5qZWN0SW50bChUb29sdGlwQ29uZmlnKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgVG9vbHRpcENvbmZpZ0ZhY3Rvcnk7XG4iXX0=