@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");
@@ -79,7 +59,7 @@ var StyledRadiuInput = _styledComponents["default"].label(_templateObject3 || (_
79
59
  return props.secondary ? props.theme.secondaryRadio : props.theme.inputRadio;
80
60
  });
81
61
 
82
- var HiddenInput = _styledComponents["default"].input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n display: none;\n"])));
62
+ var HiddenInput = _styledComponents["default"].input(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n opacity: 0;\n"])));
83
63
 
84
64
  var StyledCheckbox = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n min-height: ", "px;\n margin-left: ", "px;\n"])), function (props) {
85
65
  return props.theme.switchHeight;
@@ -156,4 +136,4 @@ exports["default"] = Checkbox;
156
136
  onFocus: noop,
157
137
  label: ''
158
138
  });
159
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vY2hlY2tib3gudHN4Il0sIm5hbWVzIjpbIm5vb3AiLCJTdHlsZWRTd2l0Y2hJbnB1dCIsInN0eWxlZCIsImxhYmVsIiwicHJvcHMiLCJzZWNvbmRhcnkiLCJ0aGVtZSIsInNlY29uZGFyeVN3aXRjaCIsImlucHV0U3dpdGNoIiwiU3R5bGVkQ2hlY2tib3hJbnB1dCIsImlucHV0Q2hlY2tib3giLCJTdHlsZWRSYWRpdUlucHV0Iiwic2Vjb25kYXJ5UmFkaW8iLCJpbnB1dFJhZGlvIiwiSGlkZGVuSW5wdXQiLCJpbnB1dCIsIlN0eWxlZENoZWNrYm94IiwiZGl2Iiwic3dpdGNoSGVpZ2h0IiwidHlwZSIsInN3aXRjaExhYmVsTWFyZ2luIiwiQ2hlY2tib3giLCJmb2N1c2VkIiwiYXJncyIsInNldFN0YXRlIiwib25Gb2N1cyIsIm9uQmx1ciIsImlucHV0UHJvcHMiLCJoYW5kbGVGb2N1cyIsImhhbmRsZUJsdXIiLCJsYWJlbFByb3BzIiwiaHRtbEZvciIsImlkIiwiTGFiZWxFbGVtZW50IiwiY2xhc3NOYW1lIiwiQ29tcG9uZW50IiwiZGlzYWJsZWQiLCJjaGVja2VkIiwib25DaGFuZ2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7QUFFQSxTQUFTQSxJQUFULEdBQWdCLENBQUU7O0FBTWxCLElBQU1DLGlCQUFpQixHQUFHQyw2QkFBT0MsS0FBVixrR0FDbkIsVUFBQUMsS0FBSztBQUFBLFNBQUtBLEtBQUssQ0FBQ0MsU0FBTixHQUFrQkQsS0FBSyxDQUFDRSxLQUFOLENBQVlDLGVBQTlCLEdBQWdESCxLQUFLLENBQUNFLEtBQU4sQ0FBWUUsV0FBakU7QUFBQSxDQURjLENBQXZCOztBQUlBLElBQU1DLG1CQUFtQixHQUFHUCw2QkFBT0MsS0FBVixvR0FDckIsVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0UsS0FBTixDQUFZ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YmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge0NoYW5nZUV2ZW50SGFuZGxlciwgQ29tcG9uZW50LCBGb2N1c0V2ZW50SGFuZGxlciwgUmVhY3ROb2RlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBwaWNrIGZyb20gJ2xvZGFzaC5waWNrJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuXG5mdW5jdGlvbiBub29wKCkge31cblxuaW50ZXJmYWNlIFN0eWxlZFN3aXRjaElucHV0UHJvcHMge1xuICBzZWNvbmRhcnk/OiBib29sZWFuO1xufVxuXG5jb25zdCBTdHlsZWRTd2l0Y2hJbnB1dCA9IHN0eWxlZC5sYWJlbDxTdHlsZWRTd2l0Y2hJbnB1dFByb3BzPmBcbiAgJHtwcm9wcyA9PiAocHJvcHMuc2Vjb25kYXJ5ID8gcHJvcHMudGhlbWUuc2Vjb25kYXJ5U3dpdGNoIDogcHJvcHMudGhlbWUuaW5wdXRTd2l0Y2gpfTtcbmA7XG5cbmNvbnN0IFN0eWxlZENoZWNrYm94SW5wdXQgPSBzdHlsZWQubGFiZWxgXG4gICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuaW5wdXRDaGVja2JveH07XG5gO1xuXG5jb25zdCBTdHlsZWRSYWRpdUlucHV0ID0gc3R5bGVkLmxhYmVsPFN0eWxlZFN3aXRjaElucHV0UHJvcHM+YFxuICAke3Byb3BzID0+IChwcm9wcy5zZWNvbmRhcnkgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlSYWRpbyA6IHByb3BzLnRoZW1lLmlucHV0UmFkaW8pfTtcbmA7XG5cbmNvbnN0IEhpZGRlbklucHV0ID0gc3R5bGVkLmlucHV0YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IG5vbmU7XG5gO1xuXG5pbnRlcmZhY2UgU3R5bGVkQ2hlY2tib3hQcm9wcyB7XG4gIHR5cGU/OiBzdHJpbmc7XG59XG5cbmNvbnN0IFN0eWxlZENoZWNrYm94ID0gc3R5bGVkLmRpdjxTdHlsZWRDaGVja2JveFByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLWhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zd2l0Y2hIZWlnaHR9cHg7XG4gIG1hcmdpbi1sZWZ0OiAke3Byb3BzID0+IChwcm9wcy50eXBlID09PSAncmFkaW8nID8gMCA6IHByb3BzLnRoZW1lLnN3aXRjaExhYmVsTWFyZ2luKX1weDtcbmA7XG5cbmludGVyZmFjZSBDaGVja2JveFByb3BzIHtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbiAgbGFiZWw/OiBSZWFjdE5vZGU7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgdmFsdWU/OiBzdHJpbmcgfCAnaW5kZXRlcm1pbmF0ZSc7XG4gIGNoZWNrZWQ/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgZXJyb3I/OiBzdHJpbmc7XG4gIHN3aXRjaD86IGJvb2xlYW47XG4gIGFjdGl2ZUNvbG9yPzogc3RyaW5nO1xuICBzZWNvbmRhcnk/OiBib29sZWFuO1xuICBvbkJsdXI6IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+O1xuICBvbkNoYW5nZT86IENoYW5nZUV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgb25Gb2N1czogRm9jdXNFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD47XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENoZWNrYm94IGV4dGVuZHMgQ29tcG9uZW50PENoZWNrYm94UHJvcHM+IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgY2hlY2tlZDogZmFsc2UsXG4gICAgb25CbHVyOiBub29wLFxuICAgIG9uQ2hhbmdlOiBub29wLFxuICAgIG9uRm9jdXM6IG5vb3AsXG4gICAgbGFiZWw6ICcnXG4gIH07XG5cbiAgc3RhdGUgPSB7XG4gICAgZm9jdXNlZDogZmFsc2VcbiAgfTtcblxuICBoYW5kbGVGb2N1czogRm9jdXNFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD4gPSBhcmdzID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHtmb2N1c2VkOiB0cnVlfSk7XG4gICAgdGhpcy5wcm9wcy5vbkZvY3VzKGFyZ3MpO1xuICB9O1xuXG4gIGhhbmRsZUJsdXI6IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+ID0gYXJncyA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7Zm9jdXNlZDogZmFsc2V9KTtcbiAgICB0aGlzLnByb3BzLm9uQmx1cihhcmdzKTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgaW5wdXRQcm9wcyA9IHtcbiAgICAgIC4uLnBpY2sodGhpcy5wcm9wcywgWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2lkJywgJ29uQ2hhbmdlJywgJ3ZhbHVlJywgJ3NlY29uZGFyeSddKSxcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICBvbkZvY3VzOiB0aGlzLmhhbmRsZUZvY3VzLFxuICAgICAgb25CbHVyOiB0aGlzLmhhbmRsZUJsdXJcbiAgICB9O1xuXG4gICAgY29uc3QgbGFiZWxQcm9wcyA9IHtcbiAgICAgIC4uLnBpY2sodGhpcy5wcm9wcywgWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ3NlY29uZGFyeSddKSxcbiAgICAgIGh0bWxGb3I6IHRoaXMucHJvcHMuaWRcbiAgICB9O1xuXG4gICAgY29uc3QgTGFiZWxFbGVtZW50ID1cbiAgICAgIHRoaXMucHJvcHMudHlwZSA9PT0gJ2NoZWNrYm94J1xuICAgICAgICA/IFN0eWxlZENoZWNrYm94SW5wdXRcbiAgICAgICAgOiB0aGlzLnByb3BzLnR5cGUgPT09ICdyYWRpbydcbiAgICAgICAgPyBTdHlsZWRSYWRpdUlucHV0XG4gICAgICAgIDogU3R5bGVkU3dpdGNoSW5wdXQ7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZENoZWNrYm94XG4gICAgICAgIHR5cGU9e3RoaXMucHJvcHMudHlwZX1cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdrZy1jaGVja2JveCcsIHRoaXMucHJvcHMuY2xhc3NOYW1lKX1cbiAgICAgID5cbiAgICAgICAgPEhpZGRlbklucHV0IHsuLi5pbnB1dFByb3BzfSAvPlxuICAgICAgICA8TGFiZWxFbGVtZW50IGNsYXNzTmFtZT1cImtnLWNoZWNrYm94X19sYWJlbFwiIHsuLi5sYWJlbFByb3BzfT5cbiAgICAgICAgICB7dGhpcy5wcm9wcy5sYWJlbH1cbiAgICAgICAgPC9MYWJlbEVsZW1lbnQ+XG4gICAgICA8L1N0eWxlZENoZWNrYm94PlxuICAgICk7XG4gIH1cbn1cbiJdfQ==
139
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vY2hlY2tib3gudHN4Il0sIm5hbWVzIjpbIm5vb3AiLCJTdHlsZWRTd2l0Y2hJbnB1dCIsInN0eWxlZCIsImxhYmVsIiwicHJvcHMiLCJzZWNvbmRhcnkiLCJ0aGVtZSIsInNlY29uZGFyeVN3aXRjaCIsImlucHV0U3dpdGNoIiwiU3R5bGVkQ2hlY2tib3hJbnB1dCIsImlucHV0Q2hlY2tib3giLCJTdHlsZWRSYWRpdUlucHV0Iiwic2Vjb25kYXJ5UmFkaW8iLCJpbnB1dFJhZGlvIiwiSGlkZGVuSW5wdXQiLCJpbnB1dCIsIlN0eWxlZENoZWNrYm94IiwiZGl2Iiwic3dpdGNoSGVpZ2h0IiwidHlwZSIsInN3aXRjaExhYmVsTWFyZ2luIiwiQ2hlY2tib3giLCJmb2N1c2VkIiwiYXJncyIsInNldFN0YXRlIiwib25Gb2N1cyIsIm9uQmx1ciIsImlucHV0UHJvcHMiLCJoYW5kbGVGb2N1cyIsImhhbmRsZUJsdXIiLCJsYWJlbFByb3BzIiwiaHRtbEZvciIsImlkIiwiTGFiZWxFbGVtZW50IiwiY2xhc3NOYW1lIiwiQ29tcG9uZW50IiwiZGlzYWJsZWQiLCJjaGVja2VkIiwib25DaGFuZ2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7Ozs7OztBQUVBLFNBQVNBLElBQVQsR0FBZ0IsQ0FBRTs7QUFNbEIsSUFBTUMsaUJBQWlCLEdBQUdDLDZCQUFPQyxLQUFWLGtHQUNuQixVQUFBQyxLQUFLO0FBQUEsU0FBS0EsS0FBSyxDQUFDQyxTQUFOLEdBQWtCRCxLQUFLLENBQUNFLEtBQU4sQ0FBWUMsZUFBOUIsR0FBZ0RILEtBQUssQ0FBQ0UsS0FBTixDQUFZRSxXQUFqRTtBQUFBLENBRGMsQ0FBdkI7O0FBSUEsSUFBTUMsbUJBQW1CLEdBQUdQLDZCQUFPQyxLQUFWLG9HQUNyQixVQUFBQyxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDRSxLQUFOLENBQVlJ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ZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7Q2hhbmdlRXZlbnRIYW5kbGVyLCBDb21wb25lbnQsIEZvY3VzRXZlbnRIYW5kbGVyLCBSZWFjdE5vZGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHBpY2sgZnJvbSAnbG9kYXNoLnBpY2snO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5cbmZ1bmN0aW9uIG5vb3AoKSB7fVxuXG5pbnRlcmZhY2UgU3R5bGVkU3dpdGNoSW5wdXRQcm9wcyB7XG4gIHNlY29uZGFyeT86IGJvb2xlYW47XG59XG5cbmNvbnN0IFN0eWxlZFN3aXRjaElucHV0ID0gc3R5bGVkLmxhYmVsPFN0eWxlZFN3aXRjaElucHV0UHJvcHM+YFxuICAke3Byb3BzID0+IChwcm9wcy5zZWNvbmRhcnkgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlTd2l0Y2ggOiBwcm9wcy50aGVtZS5pbnB1dFN3aXRjaCl9O1xuYDtcblxuY29uc3QgU3R5bGVkQ2hlY2tib3hJbnB1dCA9IHN0eWxlZC5sYWJlbGBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dENoZWNrYm94fTtcbmA7XG5cbmNvbnN0IFN0eWxlZFJhZGl1SW5wdXQgPSBzdHlsZWQubGFiZWw8U3R5bGVkU3dpdGNoSW5wdXRQcm9wcz5gXG4gICR7cHJvcHMgPT4gKHByb3BzLnNlY29uZGFyeSA/IHByb3BzLnRoZW1lLnNlY29uZGFyeVJhZGlvIDogcHJvcHMudGhlbWUuaW5wdXRSYWRpbyl9O1xuYDtcblxuY29uc3QgSGlkZGVuSW5wdXQgPSBzdHlsZWQuaW5wdXRgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMDtcbmA7XG5cbmludGVyZmFjZSBTdHlsZWRDaGVja2JveFByb3BzIHtcbiAgdHlwZT86IHN0cmluZztcbn1cblxuY29uc3QgU3R5bGVkQ2hlY2tib3ggPSBzdHlsZWQuZGl2PFN0eWxlZENoZWNrYm94UHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN3aXRjaEhlaWdodH1weDtcbiAgbWFyZ2luLWxlZnQ6ICR7cHJvcHMgPT4gKHByb3BzLnR5cGUgPT09ICdyYWRpbycgPyAwIDogcHJvcHMudGhlbWUuc3dpdGNoTGFiZWxNYXJnaW4pfXB4O1xuYDtcblxuaW50ZXJmYWNlIENoZWNrYm94UHJvcHMge1xuICBpZDogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xuICBsYWJlbD86IFJlYWN0Tm9kZTtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICB2YWx1ZT86IHN0cmluZyB8ICdpbmRldGVybWluYXRlJztcbiAgY2hlY2tlZD86IGJvb2xlYW47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcblxuICBlcnJvcj86IHN0cmluZztcbiAgc3dpdGNoPzogYm9vbGVhbjtcbiAgYWN0aXZlQ29sb3I/OiBzdHJpbmc7XG4gIHNlY29uZGFyeT86IGJvb2xlYW47XG4gIG9uQmx1cjogRm9jdXNFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD47XG4gIG9uQ2hhbmdlPzogQ2hhbmdlRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+O1xuICBvbkZvY3VzOiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50Pjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2hlY2tib3ggZXh0ZW5kcyBDb21wb25lbnQ8Q2hlY2tib3hQcm9wcz4ge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGRpc2FibGVkOiBmYWxzZSxcbiAgICBjaGVja2VkOiBmYWxzZSxcbiAgICBvbkJsdXI6IG5vb3AsXG4gICAgb25DaGFuZ2U6IG5vb3AsXG4gICAgb25Gb2N1czogbm9vcCxcbiAgICBsYWJlbDogJydcbiAgfTtcblxuICBzdGF0ZSA9IHtcbiAgICBmb2N1c2VkOiBmYWxzZVxuICB9O1xuXG4gIGhhbmRsZUZvY3VzOiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PiA9IGFyZ3MgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe2ZvY3VzZWQ6IHRydWV9KTtcbiAgICB0aGlzLnByb3BzLm9uRm9jdXMoYXJncyk7XG4gIH07XG5cbiAgaGFuZGxlQmx1cjogRm9jdXNFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD4gPSBhcmdzID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHtmb2N1c2VkOiBmYWxzZX0pO1xuICAgIHRoaXMucHJvcHMub25CbHVyKGFyZ3MpO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCBpbnB1dFByb3BzID0ge1xuICAgICAgLi4ucGljayh0aGlzLnByb3BzLCBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnaWQnLCAnb25DaGFuZ2UnLCAndmFsdWUnLCAnc2Vjb25kYXJ5J10pLFxuICAgICAgdHlwZTogJ2NoZWNrYm94JyxcbiAgICAgIG9uRm9jdXM6IHRoaXMuaGFuZGxlRm9jdXMsXG4gICAgICBvbkJsdXI6IHRoaXMuaGFuZGxlQmx1clxuICAgIH07XG5cbiAgICBjb25zdCBsYWJlbFByb3BzID0ge1xuICAgICAgLi4ucGljayh0aGlzLnByb3BzLCBbJ2NoZWNrZWQnLCAnZGlzYWJsZWQnLCAnc2Vjb25kYXJ5J10pLFxuICAgICAgaHRtbEZvcjogdGhpcy5wcm9wcy5pZFxuICAgIH07XG5cbiAgICBjb25zdCBMYWJlbEVsZW1lbnQgPVxuICAgICAgdGhpcy5wcm9wcy50eXBlID09PSAnY2hlY2tib3gnXG4gICAgICAgID8gU3R5bGVkQ2hlY2tib3hJbnB1dFxuICAgICAgICA6IHRoaXMucHJvcHMudHlwZSA9PT0gJ3JhZGlvJ1xuICAgICAgICA/IFN0eWxlZFJhZGl1SW5wdXRcbiAgICAgICAgOiBTdHlsZWRTd2l0Y2hJbnB1dDtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkQ2hlY2tib3hcbiAgICAgICAgdHlwZT17dGhpcy5wcm9wcy50eXBlfVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ2tnLWNoZWNrYm94JywgdGhpcy5wcm9wcy5jbGFzc05hbWUpfVxuICAgICAgPlxuICAgICAgICA8SGlkZGVuSW5wdXQgey4uLmlucHV0UHJvcHN9IC8+XG4gICAgICAgIDxMYWJlbEVsZW1lbnQgY2xhc3NOYW1lPVwia2ctY2hlY2tib3hfX2xhYmVsXCIgey4uLmxhYmVsUHJvcHN9PlxuICAgICAgICAgIHt0aGlzLnByb3BzLmxhYmVsfVxuICAgICAgICA8L0xhYmVsRWxlbWVudD5cbiAgICAgIDwvU3R5bGVkQ2hlY2tib3g+XG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,4 +1,4 @@
1
- import { Component } from 'react';
1
+ import React, { Component } from 'react';
2
2
  declare type RangeType = {
3
3
  colorMap?: [string, string][];
4
4
  colorLegends?: {
@@ -28,12 +28,12 @@ export default class ColorLegend extends Component<ColorLegendProps> {
28
28
  data: any;
29
29
  labels: any;
30
30
  }>;
31
- render(): JSX.Element;
31
+ render(): React.JSX.Element;
32
32
  }
33
33
  export declare const LegendRow: ({ label, displayLabel, color, idx }: {
34
34
  label?: string | undefined;
35
35
  displayLabel: any;
36
36
  color: any;
37
37
  idx: any;
38
- }) => JSX.Element;
38
+ }) => React.JSX.Element;
39
39
  export {};
@@ -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");
@@ -51,8 +31,6 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
51
31
 
52
32
  var _reselect = require("reselect");
53
33
 
54
- var _d3Format = require("d3-format");
55
-
56
34
  var _moment = _interopRequireDefault(require("moment"));
57
35
 
58
36
  var _constants = require("@kepler.gl/constants");
@@ -86,19 +64,11 @@ var getTimeLabelFormat = function getTimeLabelFormat(domain) {
86
64
  };
87
65
  };
88
66
 
89
- var getNumericLabelFormat = function getNumericLabelFormat(domain) {
90
- var diff = domain[1] - domain[0];
91
-
92
- if (diff < 10) {
93
- return (0, _d3Format.format)('.2f');
94
- }
95
-
96
- return (0, _d3Format.format)('.1f');
97
- };
98
-
99
67
  var getQuantLabelFormat = function getQuantLabelFormat(domain, fieldType) {
100
68
  // quant scale can only be assigned to linear Fields: real, timestamp, integer
101
- return fieldType === _constants.ALL_FIELD_TYPES.timestamp ? getTimeLabelFormat(domain) : !fieldType ? defaultFormat : getNumericLabelFormat(domain);
69
+ return fieldType === _constants.ALL_FIELD_TYPES.timestamp ? getTimeLabelFormat(domain) : !fieldType ? defaultFormat : function (n) {
70
+ return (0, _utils.formatNumber)(n, fieldType);
71
+ };
102
72
  };
103
73
 
104
74
  var getOrdinalLegends = function getOrdinalLegends(scale) {
@@ -214,7 +184,9 @@ var ColorLegend = /*#__PURE__*/function (_Component) {
214
184
  displayLabel = _this$props$displayLa === void 0 ? true : _this$props$displayLa;
215
185
  var legends = this.legendsSelector(this.props);
216
186
  var height = legends.data.length * (ROW_H + GAP);
217
- return /*#__PURE__*/_react["default"].createElement(StyledLegend, null, /*#__PURE__*/_react["default"].createElement("svg", {
187
+ return /*#__PURE__*/_react["default"].createElement(StyledLegend, {
188
+ className: "styled-color-legend"
189
+ }, /*#__PURE__*/_react["default"].createElement("svg", {
218
190
  width: width,
219
191
  height: height
220
192
  }, legends.data.map(function (color, idx) {
@@ -234,6 +206,8 @@ var ColorLegend = /*#__PURE__*/function (_Component) {
234
206
  exports["default"] = ColorLegend;
235
207
 
236
208
  var LegendRow = function LegendRow(_ref) {
209
+ var _label$toString;
210
+
237
211
  var _ref$label = _ref.label,
238
212
  label = _ref$label === void 0 ? '' : _ref$label,
239
213
  displayLabel = _ref.displayLabel,
@@ -250,8 +224,8 @@ var LegendRow = function LegendRow(_ref) {
250
224
  }), /*#__PURE__*/_react["default"].createElement("text", {
251
225
  x: RECT_W + 8,
252
226
  y: ROW_H - 1
253
- }, displayLabel ? label.toString() : ''));
227
+ }, displayLabel ? (_label$toString = label === null || label === void 0 ? void 0 : label.toString()) !== null && _label$toString !== void 0 ? _label$toString : 'N/A' : ''));
254
228
  };
255
229
 
256
230
  exports.LegendRow = LegendRow;
257
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vY29sb3ItbGVnZW5kLnRzeCJdLCJuYW1lcyI6WyJST1dfSCIsIkdBUCIsIlJFQ1RfVyIsIlN0eWxlZExlZ2VuZCIsInN0eWxlZCIsImRpdiIsInByb3BzIiwidGhlbWUiLCJzaWRlUGFuZWxTY3JvbGxCYXIiLCJ0ZXh0Q29sb3IiLCJkZWZhdWx0Rm9ybWF0IiwiZCIsImdldFRpbWVMYWJlbEZvcm1hdCIsImRvbWFpbiIsImZvcm1hdHRlciIsInZhbCIsIm1vbWVudCIsInV0YyIsImZvcm1hdCIsImdldE51bWVyaWNMYWJlbEZvcm1hdCIsImRpZmYiLCJnZXRRdWFudExhYmVsRm9ybWF0IiwiZmllbGRUeXBlIiwiQUxMX0ZJRUxEX1RZUEVTIiwidGltZXN0YW1wIiwiZ2V0T3JkaW5hbExlZ2VuZHMiLCJzY2FsZSIsImRhdGEiLCJtYXAiLCJsYWJlbHMiLCJnZXRRdWFudExlZ2VuZHMiLCJsYWJlbEZvcm1hdCIsImludmVydEV4dGVudCIsInJhbmdlIiwiaW52ZXJ0IiwiQ29sb3JMZWdlbmQiLCJzY2FsZVR5cGUiLCJkb21haW5TZWxlY3RvciIsInJhbmdlU2VsZWN0b3IiLCJzY2FsZVR5cGVTZWxlY3RvciIsImxhYmVsRm9ybWF0U2VsZWN0b3IiLCJmaWVsZFR5cGVTZWxlY3RvciIsImVtcHR5IiwiY29sb3JMZWdlbmRzIiwiT2JqZWN0Iiwia2V5cyIsInZhbHVlcyIsIkFycmF5IiwiaXNBcnJheSIsImNvbG9yTWFwIiwiY20iLCJjb2xvcnMiLCJzY2FsZUZ1bmN0aW9uIiwiU0NBTEVfRlVOQyIsIlNDQUxFX1RZUEVTIiwib3JkaW5hbCIsImZvcm1hdExhYmVsIiwid2lkdGgiLCJkaXNwbGF5TGFiZWwiLCJsZWdlbmRzIiwibGVnZW5kc1NlbGVjdG9yIiwiaGVpZ2h0IiwibGVuZ3RoIiwiY29sb3IiLCJpZHgiLCJDb21wb25lbnQiLCJMZWdlbmRSb3ciLCJsYWJlbCIsImZpbGwiLCJ0b1N0cmluZyJdLCJtYXBwaW5ncyI6Ijs7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S0FDRzBELFlBQVksR0FBR1MsS0FBSyxDQUFDRSxRQUFOLEVBQUgsR0FBc0IsRUFEckMsQ0FGRixDQUR1QjtBQUFBLENBQWxCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7Y3JlYXRlU2VsZWN0b3J9IGZyb20gJ3Jlc2VsZWN0JztcbmltcG9ydCB7Zm9ybWF0fSBmcm9tICdkMy1mb3JtYXQnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtTQ0FMRV9UWVBFUywgU0NBTEVfRlVOQywgQUxMX0ZJRUxEX1RZUEVTfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge2dldFRpbWVXaWRnZXRIaW50Rm9ybWF0dGVyfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcblxuY29uc3QgUk9XX0ggPSAxMDtcbmNvbnN0IEdBUCA9IDQ7XG5jb25zdCBSRUNUX1cgPSAyMDtcblxuY29uc3QgU3R5bGVkTGVnZW5kID0gc3R5bGVkLmRpdmBcbiAgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlUGFuZWxTY3JvbGxCYXJ9O1xuXG4gIG1heC1oZWlnaHQ6IDE1MHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gIHN2ZyB7XG4gICAgdGV4dCB7XG4gICAgICBmb250LXNpemU6IDlweDtcbiAgICAgIGZpbGw6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IGRlZmF1bHRGb3JtYXQgPSBkID0+IGQ7XG5cbmNvbnN0IGdldFRpbWVMYWJlbEZvcm1hdCA9IGRvbWFpbiA9PiB7XG4gIGNvbnN0IGZvcm1hdHRlciA9IGdldFRpbWVXaWRnZXRIaW50Rm9ybWF0dGVyKGRvbWFpbik7XG4gIHJldHVybiB2YWwgPT4gbW9tZW50LnV0Yyh2YWwpLmZvcm1hdChmb3JtYXR0ZXIpO1xufTtcblxuY29uc3QgZ2V0TnVtZXJpY0xhYmVsRm9ybWF0ID0gZG9tYWluID0+IHtcbiAgY29uc3QgZGlmZiA9IGRvbWFpblsxXSAtIGRvbWFpblswXTtcblxuICBpZiAoZGlmZiA8IDEwKSB7XG4gICAgcmV0dXJuIGZvcm1hdCgnLjJmJyk7XG4gIH1cblxuICByZXR1cm4gZm9ybWF0KCcuMWYnKTtcbn07XG5cbmNvbnN0IGdldFF1YW50TGFiZWxGb3JtYXQgPSAoZG9tYWluLCBmaWVsZFR5cGUpID0+IHtcbiAgLy8gcXVhbnQgc2NhbGUgY2FuIG9ubHkgYmUgYXNzaWduZWQgdG8gbGluZWFyIEZpZWxkczogcmVhbCwgdGltZXN0YW1wLCBpbnRlZ2VyXG4gIHJldHVybiBmaWVsZFR5cGUgPT09IEFMTF9GSUVMRF9UWVBFUy50aW1lc3RhbXBcbiAgICA/IGdldFRpbWVMYWJlbEZvcm1hdChkb21haW4pXG4gICAgOiAhZmllbGRUeXBlXG4gICAgPyBkZWZhdWx0Rm9ybWF0XG4gICAgOiBnZXROdW1lcmljTGFiZWxGb3JtYXQoZG9tYWluKTtcbn07XG5cbmNvbnN0IGdldE9yZGluYWxMZWdlbmRzID0gc2NhbGUgPT4ge1xuICBjb25zdCBkb21haW4gPSBzY2FsZS5kb21haW4oKTtcbiAgcmV0dXJuIHtcbiAgICBkYXRhOiBkb21haW4ubWFwKHNjYWxlKSxcbiAgICBsYWJlbHM6IGRvbWFpblxuICB9O1xufTtcblxuY29uc3QgZ2V0UXVhbnRMZWdlbmRzID0gKHNjYWxlLCBsYWJlbEZvcm1hdCkgPT4ge1xuICBpZiAodHlwZW9mIHNjYWxlLmludmVydEV4dGVudCAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIC8vIG9ubHkgcXVhbnRpbGUsIHF1YW50aXplLCB0aHJlc2hvbGQgc2NhbGUgaGFzIGludmVydEV4dGVudCBtZXRob2RcbiAgICByZXR1cm4ge1xuICAgICAgZGF0YTogW10sXG4gICAgICBsYWJlbHM6IFtdXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IGxhYmVscyA9IHNjYWxlLnJhbmdlKCkubWFwKGQgPT4ge1xuICAgIGNvbnN0IGludmVydCA9IHNjYWxlLmludmVydEV4dGVudChkKTtcbiAgICByZXR1cm4gYCR7bGFiZWxGb3JtYXQoaW52ZXJ0WzBdKX0gdG8gJHtsYWJlbEZvcm1hdChpbnZlcnRbMV0pfWA7XG4gIH0pO1xuXG4gIHJldHVybiB7XG4gICAgZGF0YTogc2NhbGUucmFuZ2UoKSxcbiAgICBsYWJlbHNcbiAgfTtcbn07XG5cbnR5cGUgUmFuZ2VUeXBlID0ge1xuICBjb2xvck1hcD86IFtzdHJpbmcsIHN0cmluZ11bXTtcbiAgY29sb3JMZWdlbmRzPzoge1trZXk6IHN0cmluZ106IHN0cmluZ307XG4gIGNvbG9yczogc3RyaW5nW107XG59O1xuXG5pbnRlcmZhY2UgQ29sb3JMZWdlbmRQcm9wcyB7XG4gIHdpZHRoOiBudW1iZXI7XG4gIHNjYWxlVHlwZT86IHN0cmluZztcbiAgZG9tYWluPzogYW55W10gfCBvYmplY3Q7XG4gIGZpZWxkVHlwZT86IHN0cmluZyB8IG51bGw7XG4gIHJhbmdlPzogUmFuZ2VUeXBlO1xuICBsYWJlbEZvcm1hdD86IEZ1bmN0aW9uO1xuICBkaXNwbGF5TGFiZWw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb2xvckxlZ2VuZCBleHRlbmRzIENvbXBvbmVudDxDb2xvckxlZ2VuZFByb3BzPiB7XG4gIGRvbWFpblNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMuZG9tYWluO1xuICByYW5nZVNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMucmFuZ2U7XG4gIGxhYmVsRm9ybWF0U2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5sYWJlbEZvcm1hdDtcbiAgc2NhbGVUeXBlU2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5zY2FsZVR5cGU7XG4gIGZpZWxkVHlwZVNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMuZmllbGRUeXBlO1xuXG4gIGxlZ2VuZHNTZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgIHRoaXMuZG9tYWluU2VsZWN0b3IsXG4gICAgdGhpcy5yYW5nZVNlbGVjdG9yLFxuICAgIHRoaXMuc2NhbGVUeXBlU2VsZWN0b3IsXG4gICAgdGhpcy5sYWJlbEZvcm1hdFNlbGVjdG9yLFxuICAgIHRoaXMuZmllbGRUeXBlU2VsZWN0b3IsXG4gICAgKGRvbWFpbiwgcmFuZ2UsIHNjYWxlVHlwZSwgbGFiZWxGb3JtYXQsIGZpZWxkVHlwZSkgPT4ge1xuICAgICAgY29uc3QgZW1wdHkgPSB7XG4gICAgICAgIGRhdGE6IFtdLFxuICAgICAgICBsYWJlbHM6IFtdXG4gICAgICB9O1xuICAgICAgaWYgKCFyYW5nZSkge1xuICAgICAgICByZXR1cm4gZW1wdHk7XG4gICAgICB9XG4gICAgICBpZiAocmFuZ2UuY29sb3JMZWdlbmRzKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZGF0YTogT2JqZWN0LmtleXMocmFuZ2UuY29sb3JMZWdlbmRzKSxcbiAgICAgICAgICBsYWJlbHM6IE9iamVjdC52YWx1ZXMocmFuZ2UuY29sb3JMZWdlbmRzKVxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHJhbmdlLmNvbG9yTWFwKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGRhdGE6IHJhbmdlLmNvbG9yTWFwLm1hcChjbSA9PiBjbVsxXSksXG4gICAgICAgICAgbGFiZWxzOiByYW5nZS5jb2xvck1hcC5tYXAoY20gPT4gY21bMF0pXG4gICAgICAgIH07XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkocmFuZ2UuY29sb3JzKSkge1xuICAgICAgICBpZiAoIWRvbWFpbiB8fCAhc2NhbGVUeXBlKSB7XG4gICAgICAgICAgcmV0dXJuIGVtcHR5O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2NhbGVGdW5jdGlvbiA9IFNDQUxFX0ZVTkNbc2NhbGVUeXBlXTtcbiAgICAgICAgLy8gY29sb3Igc2NhbGUgY2FuIG9ubHkgYmUgcXVhbnRpemUsIHF1YW50aWxlIG9yIG9yZGluYWxcbiAgICAgICAgLy8gQHRzLWlnbm9yZSBmaXggZDMgc2NhbGVcbiAgICAgICAgY29uc3Qgc2NhbGUgPSBzY2FsZUZ1bmN0aW9uKClcbiAgICAgICAgICAuZG9tYWluKGRvbWFpbilcbiAgICAgICAgICAucmFuZ2UocmFuZ2UuY29sb3JzKTtcblxuICAgICAgICBpZiAoc2NhbGVUeXBlID09PSBTQ0FMRV9UWVBFUy5vcmRpbmFsKSB7XG4gICAgICAgICAgcmV0dXJuIGdldE9yZGluYWxMZWdlbmRzKHNjYWxlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZvcm1hdExhYmVsID0gbGFiZWxGb3JtYXQgfHwgZ2V0UXVhbnRMYWJlbEZvcm1hdChzY2FsZS5kb21haW4oKSwgZmllbGRUeXBlKTtcblxuICAgICAgICByZXR1cm4gZ2V0UXVhbnRMZWdlbmRzKHNjYWxlLCBmb3JtYXRMYWJlbCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZW1wdHk7XG4gICAgfVxuICApO1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7d2lkdGgsIGRpc3BsYXlMYWJlbCA9IHRydWV9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGxlZ2VuZHMgPSB0aGlzLmxlZ2VuZHNTZWxlY3Rvcih0aGlzLnByb3BzKTtcbiAgICBjb25zdCBoZWlnaHQgPSBsZWdlbmRzLmRhdGEubGVuZ3RoICogKFJPV19IICsgR0FQKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkTGVnZW5kPlxuICAgICAgICA8c3ZnIHdpZHRoPXt3aWR0aH0gaGVpZ2h0PXtoZWlnaHR9PlxuICAgICAgICAgIHtsZWdlbmRzLmRhdGEubWFwKChjb2xvciwgaWR4KSA9PiAoXG4gICAgICAgICAgICA8TGVnZW5kUm93XG4gICAgICAgICAgICAgIGtleT17aWR4fVxuICAgICAgICAgICAgICBsYWJlbD17bGVnZW5kcy5sYWJlbHNbaWR4XX1cbiAgICAgICAgICAgICAgZGlzcGxheUxhYmVsPXtkaXNwbGF5TGFiZWx9XG4gICAgICAgICAgICAgIGNvbG9yPXtjb2xvcn1cbiAgICAgICAgICAgICAgaWR4PXtpZHh9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvU3R5bGVkTGVnZW5kPlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IExlZ2VuZFJvdyA9ICh7bGFiZWwgPSAnJywgZGlzcGxheUxhYmVsLCBjb2xvciwgaWR4fSkgPT4gKFxuICA8ZyB0cmFuc2Zvcm09e2B0cmFuc2xhdGUoMCwgJHtpZHggKiAoUk9XX0ggKyBHQVApfSlgfT5cbiAgICA8cmVjdCB3aWR0aD17UkVDVF9XfSBoZWlnaHQ9e1JPV19IfSBzdHlsZT17e2ZpbGw6IGNvbG9yfX0gLz5cbiAgICA8dGV4dCB4PXtSRUNUX1cgKyA4fSB5PXtST1dfSCAtIDF9PlxuICAgICAge2Rpc3BsYXlMYWJlbCA/IGxhYmVsLnRvU3RyaW5nKCkgOiAnJ31cbiAgICA8L3RleHQ+XG4gIDwvZz5cbik7XG4iXX0=
231
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vY29sb3ItbGVnZW5kLnRzeCJdLCJuYW1lcyI6WyJST1dfSCIsIkdBUCIsIlJFQ1RfVyIsIlN0eWxlZExlZ2VuZCIsInN0eWxlZCIsImRpdiIsInByb3BzIiwidGhlbWUiLCJzaWRlUGFuZWxTY3JvbGxCYXIiLCJ0ZXh0Q29sb3IiLCJkZWZhdWx0Rm9ybWF0IiwiZCIsImdldFRpbWVMYWJlbEZvcm1hdCIsImRvbWFpbiIsImZvcm1hdHRlciIsInZhbCIsIm1vbWVudCIsInV0YyIsImZvcm1hdCIsImdldFF1YW50TGFiZWxGb3JtYXQiLCJmaWVsZFR5cGUiLCJBTExfRklFTERfVFlQRVMiLCJ0aW1lc3RhbXAiLCJuIiwiZ2V0T3JkaW5hbExlZ2VuZHMiLCJzY2FsZSIsImRhdGEiLCJtYXAiLCJsYWJlbHMiLCJnZXRRdWFudExlZ2VuZHMiLCJsYWJlbEZvcm1hdCIsImludmVydEV4dGVudCIsInJhbmdlIiwiaW52ZXJ0IiwiQ29sb3JMZWdlbmQiLCJzY2FsZVR5cGUiLCJkb21haW5TZWxlY3RvciIsInJhbmdlU2VsZWN0b3IiLCJzY2FsZVR5cGVTZWxlY3RvciIsImxhYmVsRm9ybWF0U2VsZWN0b3IiLCJmaWVsZFR5cGVTZWxlY3RvciIsImVtcHR5IiwiY29sb3JMZWdlbmRzIiwiT2JqZWN0Iiwia2V5cyIsInZhbHVlcyIsIkFycmF5IiwiaXNBcnJheSIsImNvbG9yTWFwIiwiY20iLCJjb2xvcnMiLCJzY2FsZUZ1bmN0aW9uIiwiU0NBTEVfRlVOQyIsIlNDQUxFX1RZUEVTIiwib3JkaW5hbCIsImZvcm1hdExhYmVsIiwid2lkdGgiLCJkaXNwbGF5TGFiZWwiLCJsZWdlbmRzIiwibGVnZW5kc1NlbGVjdG9yIiwiaGVpZ2h0IiwibGVuZ3RoIiwiY29sb3IiLCJpZHgiLCJDb21wb25lbnQiLCJMZWdlbmRSb3ciLCJsYWJlbCIsImZpbGwiLCJ0b1N0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FB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LFVBQUNtQyxLQUFELEVBQVFDLEdBQVI7QUFBQSw0QkFDaEIsZ0NBQUMsU0FBRDtBQUNFLFVBQUEsR0FBRyxFQUFFQSxHQURQO0FBRUUsVUFBQSxLQUFLLEVBQUVMLE9BQU8sQ0FBQzlCLE1BQVIsQ0FBZW1DLEdBQWYsQ0FGVDtBQUdFLFVBQUEsWUFBWSxFQUFFTixZQUhoQjtBQUlFLFVBQUEsS0FBSyxFQUFFSyxLQUpUO0FBS0UsVUFBQSxHQUFHLEVBQUVDO0FBTFAsVUFEZ0I7QUFBQSxPQUFqQixDQURILENBREYsQ0FERjtBQWVEOzs7RUE1RXNDQyxnQjs7OztBQStFbEMsSUFBTUMsU0FBUyxHQUFHLFNBQVpBLFNBQVk7QUFBQTs7QUFBQSx3QkFBRUMsS0FBRjtBQUFBLE1BQUVBLEtBQUYsMkJBQVUsRUFBVjtBQUFBLE1BQWNULFlBQWQsUUFBY0EsWUFBZDtBQUFBLE1BQTRCSyxLQUE1QixRQUE0QkEsS0FBNUI7QUFBQSxNQUFtQ0MsR0FBbkMsUUFBbUNBLEdBQW5DO0FBQUEsc0JBQ3ZCO0FBQUcsSUFBQSxTQUFTLHlCQUFrQkEsR0FBRyxJQUFJL0QsS0FBSyxHQUFHQyxHQUFaLENBQXJCO0FBQVosa0JBQ0U7QUFBTSxJQUFBLEtBQUssRUFBRUMsTUFBYjtBQUFxQixJQUFBLE1BQU0sRUFBRUYsS0FBN0I7QUFBb0MsSUFBQSxLQUFLLEVBQUU7QUFBQ21FLE1BQUFBLElBQUksRUFBRUw7QUFBUDtBQUEzQyxJQURGLGVBRUU7QUFBTSxJQUFBLENBQUMsRUFBRTVELE1BQU0sR0FBRyxDQUFsQjtBQUFxQixJQUFBLENBQUMsRUFBRUYsS0FBSyxHQUFHO0FBQWhDLEtBQ0d5RCxZQUFZLHNCQUFHUyxLQUFILGFBQUdBLEtBQUgsdUJBQUdBLEtBQUssQ0FBRUUsUUFBUCxFQUFILDZEQUF3QixLQUF4QixHQUFnQyxFQUQvQyxDQUZGLENBRHVCO0FBQUEsQ0FBbEIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnR9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtjcmVhdGVTZWxlY3Rvcn0gZnJvbSAncmVzZWxlY3QnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtTQ0FMRV9UWVBFUywgU0NBTEVfRlVOQywgQUxMX0ZJRUxEX1RZUEVTfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge2dldFRpbWVXaWRnZXRIaW50Rm9ybWF0dGVyLCBmb3JtYXROdW1iZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuXG5jb25zdCBST1dfSCA9IDEwO1xuY29uc3QgR0FQID0gNDtcbmNvbnN0IFJFQ1RfVyA9IDIwO1xuXG5jb25zdCBTdHlsZWRMZWdlbmQgPSBzdHlsZWQuZGl2YFxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVQYW5lbFNjcm9sbEJhcn07XG5cbiAgbWF4LWhlaWdodDogMTUwcHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgc3ZnIHtcbiAgICB0ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgICAgZmlsbDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgZGVmYXVsdEZvcm1hdCA9IGQgPT4gZDtcblxuY29uc3QgZ2V0VGltZUxhYmVsRm9ybWF0ID0gZG9tYWluID0+IHtcbiAgY29uc3QgZm9ybWF0dGVyID0gZ2V0VGltZVdpZGdldEhpbnRGb3JtYXR0ZXIoZG9tYWluKTtcbiAgcmV0dXJuIHZhbCA9PiBtb21lbnQudXRjKHZhbCkuZm9ybWF0KGZvcm1hdHRlcik7XG59O1xuXG5jb25zdCBnZXRRdWFudExhYmVsRm9ybWF0ID0gKGRvbWFpbiwgZmllbGRUeXBlKSA9PiB7XG4gIC8vIHF1YW50IHNjYWxlIGNhbiBvbmx5IGJlIGFzc2lnbmVkIHRvIGxpbmVhciBGaWVsZHM6IHJlYWwsIHRpbWVzdGFtcCwgaW50ZWdlclxuICByZXR1cm4gZmllbGRUeXBlID09PSBBTExfRklFTERfVFlQRVMudGltZXN0YW1wXG4gICAgPyBnZXRUaW1lTGFiZWxGb3JtYXQoZG9tYWluKVxuICAgIDogIWZpZWxkVHlwZVxuICAgID8gZGVmYXVsdEZvcm1hdFxuICAgIDogbiA9PiBmb3JtYXROdW1iZXIobiwgZmllbGRUeXBlKTtcbn07XG5cbmNvbnN0IGdldE9yZGluYWxMZWdlbmRzID0gc2NhbGUgPT4ge1xuICBjb25zdCBkb21haW4gPSBzY2FsZS5kb21haW4oKTtcbiAgcmV0dXJuIHtcbiAgICBkYXRhOiBkb21haW4ubWFwKHNjYWxlKSxcbiAgICBsYWJlbHM6IGRvbWFpblxuICB9O1xufTtcblxuY29uc3QgZ2V0UXVhbnRMZWdlbmRzID0gKHNjYWxlLCBsYWJlbEZvcm1hdCkgPT4ge1xuICBpZiAodHlwZW9mIHNjYWxlLmludmVydEV4dGVudCAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIC8vIG9ubHkgcXVhbnRpbGUsIHF1YW50aXplLCB0aHJlc2hvbGQgc2NhbGUgaGFzIGludmVydEV4dGVudCBtZXRob2RcbiAgICByZXR1cm4ge1xuICAgICAgZGF0YTogW10sXG4gICAgICBsYWJlbHM6IFtdXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IGxhYmVscyA9IHNjYWxlLnJhbmdlKCkubWFwKGQgPT4ge1xuICAgIGNvbnN0IGludmVydCA9IHNjYWxlLmludmVydEV4dGVudChkKTtcbiAgICByZXR1cm4gYCR7bGFiZWxGb3JtYXQoaW52ZXJ0WzBdKX0gdG8gJHtsYWJlbEZvcm1hdChpbnZlcnRbMV0pfWA7XG4gIH0pO1xuXG4gIHJldHVybiB7XG4gICAgZGF0YTogc2NhbGUucmFuZ2UoKSxcbiAgICBsYWJlbHNcbiAgfTtcbn07XG5cbnR5cGUgUmFuZ2VUeXBlID0ge1xuICBjb2xvck1hcD86IFtzdHJpbmcsIHN0cmluZ11bXTtcbiAgY29sb3JMZWdlbmRzPzoge1trZXk6IHN0cmluZ106IHN0cmluZ307XG4gIGNvbG9yczogc3RyaW5nW107XG59O1xuXG5pbnRlcmZhY2UgQ29sb3JMZWdlbmRQcm9wcyB7XG4gIHdpZHRoOiBudW1iZXI7XG4gIHNjYWxlVHlwZT86IHN0cmluZztcbiAgZG9tYWluPzogYW55W10gfCBvYmplY3Q7XG4gIGZpZWxkVHlwZT86IHN0cmluZyB8IG51bGw7XG4gIHJhbmdlPzogUmFuZ2VUeXBlO1xuICBsYWJlbEZvcm1hdD86IEZ1bmN0aW9uO1xuICBkaXNwbGF5TGFiZWw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb2xvckxlZ2VuZCBleHRlbmRzIENvbXBvbmVudDxDb2xvckxlZ2VuZFByb3BzPiB7XG4gIGRvbWFpblNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMuZG9tYWluO1xuICByYW5nZVNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMucmFuZ2U7XG4gIGxhYmVsRm9ybWF0U2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5sYWJlbEZvcm1hdDtcbiAgc2NhbGVUeXBlU2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5zY2FsZVR5cGU7XG4gIGZpZWxkVHlwZVNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMuZmllbGRUeXBlO1xuXG4gIGxlZ2VuZHNTZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgIHRoaXMuZG9tYWluU2VsZWN0b3IsXG4gICAgdGhpcy5yYW5nZVNlbGVjdG9yLFxuICAgIHRoaXMuc2NhbGVUeXBlU2VsZWN0b3IsXG4gICAgdGhpcy5sYWJlbEZvcm1hdFNlbGVjdG9yLFxuICAgIHRoaXMuZmllbGRUeXBlU2VsZWN0b3IsXG4gICAgKGRvbWFpbiwgcmFuZ2UsIHNjYWxlVHlwZSwgbGFiZWxGb3JtYXQsIGZpZWxkVHlwZSkgPT4ge1xuICAgICAgY29uc3QgZW1wdHkgPSB7XG4gICAgICAgIGRhdGE6IFtdLFxuICAgICAgICBsYWJlbHM6IFtdXG4gICAgICB9O1xuICAgICAgaWYgKCFyYW5nZSkge1xuICAgICAgICByZXR1cm4gZW1wdHk7XG4gICAgICB9XG4gICAgICBpZiAocmFuZ2UuY29sb3JMZWdlbmRzKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZGF0YTogT2JqZWN0LmtleXMocmFuZ2UuY29sb3JMZWdlbmRzKSxcbiAgICAgICAgICBsYWJlbHM6IE9iamVjdC52YWx1ZXMocmFuZ2UuY29sb3JMZWdlbmRzKVxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHJhbmdlLmNvbG9yTWFwKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGRhdGE6IHJhbmdlLmNvbG9yTWFwLm1hcChjbSA9PiBjbVsxXSksXG4gICAgICAgICAgbGFiZWxzOiByYW5nZS5jb2xvck1hcC5tYXAoY20gPT4gY21bMF0pXG4gICAgICAgIH07XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkocmFuZ2UuY29sb3JzKSkge1xuICAgICAgICBpZiAoIWRvbWFpbiB8fCAhc2NhbGVUeXBlKSB7XG4gICAgICAgICAgcmV0dXJuIGVtcHR5O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2NhbGVGdW5jdGlvbiA9IFNDQUxFX0ZVTkNbc2NhbGVUeXBlXTtcbiAgICAgICAgLy8gY29sb3Igc2NhbGUgY2FuIG9ubHkgYmUgcXVhbnRpemUsIHF1YW50aWxlIG9yIG9yZGluYWxcbiAgICAgICAgLy8gQHRzLWlnbm9yZSBmaXggZDMgc2NhbGVcbiAgICAgICAgY29uc3Qgc2NhbGUgPSBzY2FsZUZ1bmN0aW9uKClcbiAgICAgICAgICAuZG9tYWluKGRvbWFpbilcbiAgICAgICAgICAucmFuZ2UocmFuZ2UuY29sb3JzKTtcblxuICAgICAgICBpZiAoc2NhbGVUeXBlID09PSBTQ0FMRV9UWVBFUy5vcmRpbmFsKSB7XG4gICAgICAgICAgcmV0dXJuIGdldE9yZGluYWxMZWdlbmRzKHNjYWxlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZvcm1hdExhYmVsID0gbGFiZWxGb3JtYXQgfHwgZ2V0UXVhbnRMYWJlbEZvcm1hdChzY2FsZS5kb21haW4oKSwgZmllbGRUeXBlKTtcblxuICAgICAgICByZXR1cm4gZ2V0UXVhbnRMZWdlbmRzKHNjYWxlLCBmb3JtYXRMYWJlbCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZW1wdHk7XG4gICAgfVxuICApO1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7d2lkdGgsIGRpc3BsYXlMYWJlbCA9IHRydWV9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGxlZ2VuZHMgPSB0aGlzLmxlZ2VuZHNTZWxlY3Rvcih0aGlzLnByb3BzKTtcbiAgICBjb25zdCBoZWlnaHQgPSBsZWdlbmRzLmRhdGEubGVuZ3RoICogKFJPV19IICsgR0FQKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkTGVnZW5kIGNsYXNzTmFtZT1cInN0eWxlZC1jb2xvci1sZWdlbmRcIj5cbiAgICAgICAgPHN2ZyB3aWR0aD17d2lkdGh9IGhlaWdodD17aGVpZ2h0fT5cbiAgICAgICAgICB7bGVnZW5kcy5kYXRhLm1hcCgoY29sb3IsIGlkeCkgPT4gKFxuICAgICAgICAgICAgPExlZ2VuZFJvd1xuICAgICAgICAgICAgICBrZXk9e2lkeH1cbiAgICAgICAgICAgICAgbGFiZWw9e2xlZ2VuZHMubGFiZWxzW2lkeF19XG4gICAgICAgICAgICAgIGRpc3BsYXlMYWJlbD17ZGlzcGxheUxhYmVsfVxuICAgICAgICAgICAgICBjb2xvcj17Y29sb3J9XG4gICAgICAgICAgICAgIGlkeD17aWR4fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L1N0eWxlZExlZ2VuZD5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBMZWdlbmRSb3cgPSAoe2xhYmVsID0gJycsIGRpc3BsYXlMYWJlbCwgY29sb3IsIGlkeH0pID0+IChcbiAgPGcgdHJhbnNmb3JtPXtgdHJhbnNsYXRlKDAsICR7aWR4ICogKFJPV19IICsgR0FQKX0pYH0+XG4gICAgPHJlY3Qgd2lkdGg9e1JFQ1RfV30gaGVpZ2h0PXtST1dfSH0gc3R5bGU9e3tmaWxsOiBjb2xvcn19IC8+XG4gICAgPHRleHQgeD17UkVDVF9XICsgOH0geT17Uk9XX0ggLSAxfT5cbiAgICAgIHtkaXNwbGF5TGFiZWwgPyBsYWJlbD8udG9TdHJpbmcoKSA/PyAnTi9BJyA6ICcnfVxuICAgIDwvdGV4dD5cbiAgPC9nPlxuKTtcbiJdfQ==
@@ -4,5 +4,5 @@ declare type ButtonProps = {
4
4
  disabled?: boolean;
5
5
  text?: string;
6
6
  } & React.ButtonHTMLAttributes<HTMLButtonElement>;
7
- declare const Button: ({ onClick, disabled, text, children, ...props }: ButtonProps) => JSX.Element;
7
+ declare const Button: ({ onClick, disabled, text, children, ...props }: ButtonProps) => React.JSX.Element;
8
8
  export default Button;
@@ -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");
@@ -63,4 +43,4 @@ var Button = function Button(_ref) {
63
43
 
64
44
  var _default = Button;
65
45
  exports["default"] = _default;
66
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vZGF0YS10YWJsZS9idXR0b24udHN4Il0sIm5hbWVzIjpbIlN0eWxlZEJ1dHRvbiIsInN0eWxlZCIsImJ1dHRvbiIsInByb3BzIiwidGhlbWUiLCJvcHRpb25CdXR0b25Db2xvciIsInRyYW5zaXRpb24iLCJub29wIiwiQnV0dG9uIiwib25DbGljayIsImRpc2FibGVkIiwidGV4dCIsImNoaWxkcmVuIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxZQUFZLEdBQUdDLDZCQUFPQyxNQUFWLHdVQUNQLFVBQUFDLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUMsaUJBQWhCO0FBQUEsQ0FERSxFQU1GLFVBQUFGLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUUsVUFBaEI7QUFBQSxDQU5ILENBQWxCOztBQXVCQSxJQUFNQyxJQUFJLEdBQUcsU0FBUEEsSUFBTyxHQUFNLENBQUUsQ0FBckI7O0FBQ0EsSUFBTUMsTUFBTSxHQUFHLFNBQVRBLE1BQVM7QUFBQSwwQkFBRUMsT0FBRjtBQUFBLE1BQUVBLE9BQUYsNkJBQVlGLElBQVo7QUFBQSwyQkFBa0JHLFFBQWxCO0FBQUEsTUFBa0JBLFFBQWxCLDhCQUE2QixLQUE3QjtBQUFBLHVCQUFvQ0MsSUFBcEM7QUFBQSxNQUFvQ0EsSUFBcEMsMEJBQTJDLEVBQTNDO0FBQUEsTUFBK0NDLFFBQS9DLFFBQStDQSxRQUEvQztBQUFBLE1BQTREVCxLQUE1RDtBQUFBLHNCQUNiLGdDQUFDLFlBQUQsZ0NBQWtCQSxLQUFsQjtBQUF5QixJQUFBLE9BQU8sRUFBRU8sUUFBUSxHQUFHRyxTQUFILEdBQWVKO0FBQXpELE1BQ0dFLElBQUksSUFBSUMsUUFEWCxDQURhO0FBQUEsQ0FBZjs7ZUFNZUosTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge01vdXNlRXZlbnRIYW5kbGVyfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuY29uc3QgU3R5bGVkQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUub3B0aW9uQnV0dG9uQ29sb3J9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRyYW5zaXRpb246ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudHJhbnNpdGlvbn07XG4gIGhlaWdodDogMnJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcblxuICAmOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjg7XG4gIH1cbmA7XG5cbnR5cGUgQnV0dG9uUHJvcHMgPSB7XG4gIG9uQ2xpY2s/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MQnV0dG9uRWxlbWVudD47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgdGV4dD86IHN0cmluZztcbn0gJiBSZWFjdC5CdXR0b25IVE1MQXR0cmlidXRlczxIVE1MQnV0dG9uRWxlbWVudD47XG5cbmNvbnN0IG5vb3AgPSAoKSA9PiB7fTtcbmNvbnN0IEJ1dHRvbiA9ICh7b25DbGljayA9IG5vb3AsIGRpc2FibGVkID0gZmFsc2UsIHRleHQgPSAnJywgY2hpbGRyZW4sIC4uLnByb3BzfTogQnV0dG9uUHJvcHMpID0+IChcbiAgPFN0eWxlZEJ1dHRvbiB7Li4ucHJvcHN9IG9uQ2xpY2s9e2Rpc2FibGVkID8gdW5kZWZpbmVkIDogb25DbGlja30+XG4gICAge3RleHQgfHwgY2hpbGRyZW59XG4gIDwvU3R5bGVkQnV0dG9uPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgQnV0dG9uO1xuIl19
46
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vZGF0YS10YWJsZS9idXR0b24udHN4Il0sIm5hbWVzIjpbIlN0eWxlZEJ1dHRvbiIsInN0eWxlZCIsImJ1dHRvbiIsInByb3BzIiwidGhlbWUiLCJvcHRpb25CdXR0b25Db2xvciIsInRyYW5zaXRpb24iLCJub29wIiwiQnV0dG9uIiwib25DbGljayIsImRpc2FibGVkIiwidGV4dCIsImNoaWxkcmVuIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFHQTs7QUFDQTs7OztBQUVBLElBQU1BLFlBQVksR0FBR0MsNkJBQU9DLE1BQVYsd1VBQ1AsVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxpQkFBaEI7QUFBQSxDQURFLEVBTUYsVUFBQUYsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZRSxVQUFoQjtBQUFBLENBTkgsQ0FBbEI7O0FBdUJBLElBQU1DLElBQUksR0FBRyxTQUFQQSxJQUFPLEdBQU0sQ0FBRSxDQUFyQjs7QUFDQSxJQUFNQyxNQUFNLEdBQUcsU0FBVEEsTUFBUztBQUFBLDBCQUFFQyxPQUFGO0FBQUEsTUFBRUEsT0FBRiw2QkFBWUYsSUFBWjtBQUFBLDJCQUFrQkcsUUFBbEI7QUFBQSxNQUFrQkEsUUFBbEIsOEJBQTZCLEtBQTdCO0FBQUEsdUJBQW9DQyxJQUFwQztBQUFBLE1BQW9DQSxJQUFwQywwQkFBMkMsRUFBM0M7QUFBQSxNQUErQ0MsUUFBL0MsUUFBK0NBLFFBQS9DO0FBQUEsTUFBNERULEtBQTVEO0FBQUEsc0JBQ2IsZ0NBQUMsWUFBRCxnQ0FBa0JBLEtBQWxCO0FBQXlCLElBQUEsT0FBTyxFQUFFTyxRQUFRLEdBQUdHLFNBQUgsR0FBZUo7QUFBekQsTUFDR0UsSUFBSSxJQUFJQyxRQURYLENBRGE7QUFBQSxDQUFmOztlQU1lSixNIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7TW91c2VFdmVudEhhbmRsZXJ9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5jb25zdCBTdHlsZWRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5vcHRpb25CdXR0b25Db2xvcn07XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50cmFuc2l0aW9ufTtcbiAgaGVpZ2h0OiAycmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuODtcbiAgfVxuYDtcblxudHlwZSBCdXR0b25Qcm9wcyA9IHtcbiAgb25DbGljaz86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxCdXR0b25FbGVtZW50PjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICB0ZXh0Pzogc3RyaW5nO1xufSAmIFJlYWN0LkJ1dHRvbkhUTUxBdHRyaWJ1dGVzPEhUTUxCdXR0b25FbGVtZW50PjtcblxuY29uc3Qgbm9vcCA9ICgpID0+IHt9O1xuY29uc3QgQnV0dG9uID0gKHtvbkNsaWNrID0gbm9vcCwgZGlzYWJsZWQgPSBmYWxzZSwgdGV4dCA9ICcnLCBjaGlsZHJlbiwgLi4ucHJvcHN9OiBCdXR0b25Qcm9wcykgPT4gKFxuICA8U3R5bGVkQnV0dG9uIHsuLi5wcm9wc30gb25DbGljaz17ZGlzYWJsZWQgPyB1bmRlZmluZWQgOiBvbkNsaWNrfT5cbiAgICB7dGV4dCB8fCBjaGlsZHJlbn1cbiAgPC9TdHlsZWRCdXR0b24+XG4pO1xuXG5leHBvcnQgZGVmYXVsdCBCdXR0b247XG4iXX0=
@@ -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");
@@ -49,4 +29,4 @@ var _templateObject;
49
29
  var _default = _styledComponents["default"].canvas(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n height: 100%;\n left: 0;\n pointer-events: none;\n position: absolute;\n top: 0;\n width: 100%;\n"])));
50
30
 
51
31
  exports["default"] = _default;
52
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vZGF0YS10YWJsZS9jYW52YXMudHN4Il0sIm5hbWVzIjpbInN0eWxlZCIsImNhbnZhcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFvQkE7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtlQUNlQSw2QkFBT0MsTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG4vKlxuICAgIFNjcm9sbFN5bmMgd29ya3MgYnkgZ2V0dGluZyBhIGNhbGxiYWNrIGFib3V0IHRoZSBkb20gZWxlbWVudHMgc2Nyb2xsIGFtb3VudFxuICAgIGFuZCB0aGVuIHVzaW5nIHRoYXQgdG8gcGFzcyBpbnRvIGhvdyBtdWNoIHRvIHNjcm9sbCBhbGwgY2hpbGQgY29tcG9uZW50cyxcbiAgICBpdCB3b3JrcyBncmVhdCFcblxuICAgIEV4Y2VwdC4uLiBCZWNhdXNlIHNjcm9sbGluZyBpcyBtYW5hZ2VkIGJ5IGEgc2VwYXJhdGUgdGhyZWFkLCBhbmQgSmF2YVNjcmlwdFxuICAgIGlzIG9ubHkgcGVyaW9kaWNhbGx5IG5vdGlmaWVkIG9mIHRoZSB1cGRhdGVkIHBvc2l0aW9uLCB0aGVyZSdzIHNvbWUgbGF0ZW5jeVxuICAgIGlzc3VlcyB3aXRoIHRoaXMuXG5cbiAgICBXZSBjYW4gaGFjayBhcm91bmQgdGhpcyBieSB1c2luZyBhIG5pY2hlIHByb3BlcnR5IG9mIGNhbnZhcyB0aGF0IHJlbW92ZXMgdGhlXG4gICAgZGVsYXkgaW4gc2Nyb2xsIGV2ZW50IGZpcmluZyEgRWFzaWVzdCB3YXkgdG8gcmVwcm9kdWNlOiBlbmFibGUgXCJUcmFjZSBSZWFjdCB1cGRhdGVzXCJcbiAgICBpbiBSZWFjdCBEZXZUb29scyAoaXQgd29ya3MgYnkgb3ZlcmxheWluZyBhIHZpZXdwb3J0LXdpZGUgY2FudmFzIG92ZXIgdGhlIGRvY3VtZW50KS5cbiAgKi9cbmV4cG9ydCBkZWZhdWx0IHN0eWxlZC5jYW52YXNgXG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbmA7XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vZGF0YS10YWJsZS9jYW52YXMudHN4Il0sIm5hbWVzIjpbInN0eWxlZCIsImNhbnZhcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFHQTs7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO2VBQ2VBLDZCQUFPQyxNIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbi8qXG4gICAgU2Nyb2xsU3luYyB3b3JrcyBieSBnZXR0aW5nIGEgY2FsbGJhY2sgYWJvdXQgdGhlIGRvbSBlbGVtZW50cyBzY3JvbGwgYW1vdW50XG4gICAgYW5kIHRoZW4gdXNpbmcgdGhhdCB0byBwYXNzIGludG8gaG93IG11Y2ggdG8gc2Nyb2xsIGFsbCBjaGlsZCBjb21wb25lbnRzLFxuICAgIGl0IHdvcmtzIGdyZWF0IVxuXG4gICAgRXhjZXB0Li4uIEJlY2F1c2Ugc2Nyb2xsaW5nIGlzIG1hbmFnZWQgYnkgYSBzZXBhcmF0ZSB0aHJlYWQsIGFuZCBKYXZhU2NyaXB0XG4gICAgaXMgb25seSBwZXJpb2RpY2FsbHkgbm90aWZpZWQgb2YgdGhlIHVwZGF0ZWQgcG9zaXRpb24sIHRoZXJlJ3Mgc29tZSBsYXRlbmN5XG4gICAgaXNzdWVzIHdpdGggdGhpcy5cblxuICAgIFdlIGNhbiBoYWNrIGFyb3VuZCB0aGlzIGJ5IHVzaW5nIGEgbmljaGUgcHJvcGVydHkgb2YgY2FudmFzIHRoYXQgcmVtb3ZlcyB0aGVcbiAgICBkZWxheSBpbiBzY3JvbGwgZXZlbnQgZmlyaW5nISBFYXNpZXN0IHdheSB0byByZXByb2R1Y2U6IGVuYWJsZSBcIlRyYWNlIFJlYWN0IHVwZGF0ZXNcIlxuICAgIGluIFJlYWN0IERldlRvb2xzIChpdCB3b3JrcyBieSBvdmVybGF5aW5nIGEgdmlld3BvcnQtd2lkZSBjYW52YXMgb3ZlciB0aGUgZG9jdW1lbnQpLlxuICAqL1xuZXhwb3J0IGRlZmF1bHQgc3R5bGVkLmNhbnZhc2BcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuYDtcbiJdfQ==
@@ -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");
@@ -41,7 +21,12 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
41
21
  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; }
42
22
 
43
23
  var MIN_GHOST_CELL_SIZE = 200;
44
- var MIN_CELL_SIZE = 45;
24
+ var MIN_CELL_SIZE = 45; // first column have padding on the left
25
+
26
+ var EDGE_COLUMN_PADDING = 10; // in case cell content is small, column name is big, we allow max empty space to
27
+ // be added to min cell width in order to show column name
28
+
29
+ var MAX_EMPTY_COLUMN_SPACE = 60;
45
30
 
46
31
  /**
47
32
  * Measure rows and column content to determine min width for each column
@@ -69,7 +54,7 @@ function renderedSize(_ref) {
69
54
  _ref$minCellSize = _ref.minCellSize,
70
55
  minCellSize = _ref$minCellSize === void 0 ? MIN_CELL_SIZE : _ref$minCellSize,
71
56
  _ref$optionsButton = _ref.optionsButton,
72
- optionsButton = _ref$optionsButton === void 0 ? 30 : _ref$optionsButton;
57
+ optionsButton = _ref$optionsButton === void 0 ? 44 : _ref$optionsButton;
73
58
 
74
59
  if (!_document["default"]) {
75
60
  return {
@@ -93,11 +78,20 @@ function renderedSize(_ref) {
93
78
  }
94
79
 
95
80
  var rowWidth = Math.max.apply(Math, (0, _toConsumableArray2["default"])(rowsToSample.map(function (rowIdx) {
96
- return Math.ceil(context.measureText((0, _utils.parseFieldValue)(dataContainer.valueAt(rowIdx, colIdx), type)).width) + cellPadding;
81
+ var value = (0, _utils.parseFieldValue)(dataContainer.valueAt(rowIdx, colIdx), type); // measuring large text cause slow performance
82
+
83
+ if (value.length > maxCellSize) {
84
+ return maxCellSize;
85
+ }
86
+
87
+ var textWidth = context.measureText(value).width;
88
+ return Math.ceil(textWidth) + cellPadding;
97
89
  }))); // header cell only has left padding
98
90
 
99
- var headerWidth = Math.ceil(context.measureText(column).width) + cellPadding / 2 + optionsButton;
100
- var minRowWidth = minCellSize + cellPadding;
91
+ var headerWidth = Math.ceil(context.measureText(column).width) + cellPadding / 2 + optionsButton; // min row width is measured by cell content
92
+
93
+ var minRowWidth = minCellSize + cellPadding; // min header width is measured by cell
94
+
101
95
  var minHeaderWidth = minCellSize + cellPadding / 2 + optionsButton;
102
96
  var clampedRowWidth = clamp(minRowWidth, maxCellSize, rowWidth);
103
97
  var clampedHeaderWidth = clamp(minHeaderWidth, maxHeaderSize, headerWidth); // cleanup
@@ -117,11 +111,13 @@ function getColumnOrder() {
117
111
  var pinnedColumns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
118
112
  var unpinnedColumns = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
119
113
  return [].concat((0, _toConsumableArray2["default"])(pinnedColumns), (0, _toConsumableArray2["default"])(unpinnedColumns));
120
- }
114
+ } // If total min cell size is bigger than containerWidth adjust column
115
+
121
116
 
122
117
  function getMinCellSize(cellSizeCache) {
123
118
  return Object.keys(cellSizeCache).reduce(function (accu, col) {
124
- return _objectSpread(_objectSpread({}, accu), {}, (0, _defineProperty2["default"])({}, col, cellSizeCache[col].row));
119
+ return _objectSpread(_objectSpread({}, accu), {}, (0, _defineProperty2["default"])({}, col, cellSizeCache[col].row > cellSizeCache[col].header ? cellSizeCache[col].row : // if row is smaller than header, use the smaller of MAX_EMPTY_COLUMN_SPACE + row width and header
120
+ Math.min(cellSizeCache[col].header, cellSizeCache[col].row + MAX_EMPTY_COLUMN_SPACE)));
125
121
  }, {});
126
122
  }
127
123
 
@@ -169,6 +165,20 @@ function expandCellSize(cellSizeCache, columnOrder, containerWidth, roomToFill)
169
165
  ghost: ghost
170
166
  };
171
167
  }
168
+
169
+ function addPaddingToFirstColumn(cellSizeCache) {
170
+ var columnOrder = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
171
+ var firstCol = columnOrder[0];
172
+
173
+ if (firstCol && cellSizeCache[firstCol]) {
174
+ return _objectSpread(_objectSpread({}, cellSizeCache), {}, (0, _defineProperty2["default"])({}, firstCol, {
175
+ header: cellSizeCache[firstCol].header + EDGE_COLUMN_PADDING,
176
+ row: cellSizeCache[firstCol].row + EDGE_COLUMN_PADDING
177
+ }));
178
+ }
179
+
180
+ return cellSizeCache;
181
+ }
172
182
  /**
173
183
  * Adjust cell size based on container width
174
184
  * @param {number} containerWidth
@@ -179,17 +189,18 @@ function expandCellSize(cellSizeCache, columnOrder, containerWidth, roomToFill)
179
189
 
180
190
 
181
191
  function adjustCellsToContainer(containerWidth, cellSizeCache, pinnedColumns, unpinnedColumns) {
182
- var minRowSum = getSizeSum(cellSizeCache, 'row');
192
+ var columnOrder = getColumnOrder(pinnedColumns, unpinnedColumns);
193
+ var paddedCellSize = addPaddingToFirstColumn(cellSizeCache, columnOrder);
194
+ var minRowSum = getSizeSum(paddedCellSize, 'row');
183
195
 
184
196
  if (minRowSum >= containerWidth) {
185
197
  // we apply the min Width to all cells
186
198
  return {
187
- cellSizeCache: getMinCellSize(cellSizeCache)
199
+ cellSizeCache: getMinCellSize(paddedCellSize)
188
200
  };
189
201
  } // if we have some room to expand
190
202
 
191
203
 
192
- var columnOrder = getColumnOrder(pinnedColumns, unpinnedColumns);
193
- return expandCellSize(cellSizeCache, columnOrder, containerWidth, containerWidth - minRowSum);
204
+ return expandCellSize(paddedCellSize, columnOrder, containerWidth, containerWidth - minRowSum);
194
205
  }
195
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vZGF0YS10YWJsZS9jZWxsLXNpemUudHMiXSwibmFtZXMiOlsiTUlOX0dIT1NUX0NFTExfU0laRSIsIk1JTl9DRUxMX1NJWkUiLCJyZW5kZXJlZFNpemUiLCJ0ZXh0IiwiZGF0YUNvbnRhaW5lciIsImNvbHVtbiIsInR5cGUiLCJjb2xJZHgiLCJudW1Sb3dzVG9DYWxjdWxhdGUiLCJmb250U2l6ZSIsImZvbnQiLCJjZWxsUGFkZGluZyIsIm1heENlbGxTaXplIiwibWF4SGVhZGVyU2l6ZSIsIm1pbkNlbGxTaXplIiwib3B0aW9uc0J1dHRvbiIsImRvY3VtZW50Iiwicm93IiwiaGVhZGVyIiwidGV4dENhbnZhcyIsImNyZWF0ZUVsZW1lbnQiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJjb250ZXh0IiwiZ2V0Q29udGV4dCIsImpvaW4iLCJyb3dzVG9TYW1wbGUiLCJBcnJheSIsIm1hcCIsIk1hdGgiLCJmbG9vciIsInJhbmRvbSIsIm51bVJvd3MiLCJmcm9tIiwia2V5cyIsInJvd1dpZHRoIiwibWF4Iiwicm93SWR4IiwiY2VpbCIsIm1lYXN1cmVUZXh0IiwidmFsdWVBdCIsIndpZHRoIiwiaGVhZGVyV2lkdGgiLCJtaW5Sb3dXaWR0aCIsIm1pbkhlYWRlcldpZHRoIiwiY2xhbXBlZFJvd1dpZHRoIiwiY2xhbXAiLCJjbGFtcGVkSGVhZGVyV2lkdGgiLCJwYXJlbnRFbGVtZW50IiwicmVtb3ZlQ2hpbGQiLCJtaW4iLCJ2YWx1ZSIsImdldENvbHVtbk9yZGVyIiwicGlubmVkQ29sdW1ucyIsInVucGlubmVkQ29sdW1ucyIsImdldE1pbkNlbGxTaXplIiwiY2VsbFNpemVDYWNoZSIsIk9iamVjdCIsInJlZHVjZSIsImFjY3UiLCJjb2wiLCJnZXRTaXplU3VtIiwic2l6ZUNhY2hlIiwia2V5IiwiYWNjIiwidmFsIiwiZXhwYW5kQ2VsbFNpemUiLCJjb2x1bW5PcmRlciIsImNvbnRhaW5lcldpZHRoIiwicm9vbVRvRmlsbCIsInJlbWFpbmluZyIsImV4cGFuZGVkQ2VsbFNpemUiLCJzaXplIiwiZ2hvc3QiLCJsYXN0Q2VsbCIsImxlbmd0aCIsImFkanVzdENlbGxzVG9Db250YWluZXIiLCJtaW5Sb3dTdW0iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxtQkFBMkIsR0FBRyxHQUFwQztBQUNBLElBQU1DLGFBQWEsR0FBRyxFQUF0Qjs7QUF1QkE7QUFDQTtBQUNBO0FBQ0E7QUFDTyxTQUFTQyxZQUFULE9BWTRDO0FBQUEsdUJBWGpEQyxJQVdpRDtBQUFBLE1BWDFDQyxhQVcwQyxhQVgxQ0EsYUFXMEM7QUFBQSxNQVgzQkMsTUFXMkIsYUFYM0JBLE1BVzJCO0FBQUEsdUJBVmpEQyxJQVVpRDtBQUFBLE1BVmpEQSxJQVVpRCwwQkFWMUMsUUFVMEM7QUFBQSxNQVRqREMsTUFTaUQsUUFUakRBLE1BU2lEO0FBQUEsbUNBUmpEQyxrQkFRaUQ7QUFBQSxNQVJqREEsa0JBUWlELHNDQVI1QixFQVE0QjtBQUFBLDJCQVBqREMsUUFPaUQ7QUFBQSxNQVBqREEsUUFPaUQsOEJBUHRDLEVBT3NDO0FBQUEsdUJBTmpEQyxJQU1pRDtBQUFBLE1BTmpEQSxJQU1pRCwwQkFOMUMsTUFNMEM7QUFBQSw4QkFMakRDLFdBS2lEO0FBQUEsTUFMakRBLFdBS2lELGlDQUxuQyxFQUttQztBQUFBLDhCQUpqREMsV0FJaUQ7QUFBQSxNQUpqREEsV0FJaUQsaUNBSm5DLEdBSW1DO0FBQUEsZ0NBSGpEQyxhQUdpRDtBQUFBLE1BSGpEQSxhQUdpRCxtQ0FIakMsR0FHaUM7QUFBQSw4QkFGakRDLFdBRWlEO0FBQUEsTUFGakRBLFdBRWlELGlDQUZuQ2IsYUFFbUM7QUFBQSxnQ0FEakRjLGFBQ2lEO0FBQUEsTUFEakRBLGFBQ2lELG1DQURqQyxFQUNpQzs7QUFDakQsTUFBSSxDQUFDQyxvQkFBTCxFQUFlO0FBQ2IsV0FBTztBQUNMQyxNQUFBQSxHQUFHLEVBQUUsQ0FEQTtBQUVMQyxNQUFBQSxNQUFNLEVBQUU7QUFG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OztBQUNBLE1BQU1XLFdBQVcsR0FBR2YsY0FBYyxDQUFDQyxhQUFELEVBQWdCQyxlQUFoQixDQUFsQztBQUNBLFNBQU9ZLGNBQWMsQ0FBQ1YsYUFBRCxFQUFnQlcsV0FBaEIsRUFBNkJDLGNBQTdCLEVBQTZDQSxjQUFjLEdBQUdTLFNBQTlELENBQXJCO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgZG9jdW1lbnQgZnJvbSAnZ2xvYmFsL2RvY3VtZW50JztcbmltcG9ydCB7RGF0YUNvbnRhaW5lckludGVyZmFjZSwgcGFyc2VGaWVsZFZhbHVlfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcblxuY29uc3QgTUlOX0dIT1NUX0NFTExfU0laRTogbnVtYmVyID0gMjAwO1xuY29uc3QgTUlOX0NFTExfU0laRSA9IDQ1O1xuXG50eXBlIFJlbmRlclNpemVQYXJhbSA9IHtcbiAgdGV4dDoge2RhdGFDb250YWluZXI6IERhdGFDb250YWluZXJJbnRlcmZhY2U7IGNvbHVtbjogc3RyaW5nfTtcbiAgdHlwZT86IHN0cmluZztcbiAgY29sSWR4OiBudW1iZXI7XG4gIG51bVJvd3NUb0NhbGN1bGF0ZT86IG51bWJlcjtcbiAgZm9udFNpemU/OiBudW1iZXI7XG4gIGZvbnQ/OiBzdHJpbmc7XG4gIGNlbGxQYWRkaW5nPzogbnVtYmVyO1xuICBtYXhDZWxsU2l6ZT86IG51bWJlcjtcbiAgbWF4SGVhZGVyU2l6ZT86IG51bWJlcjtcbiAgbWluQ2VsbFNpemU/OiBudW1iZXI7XG4gIG9wdGlvbnNCdXR0b24/OiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBDZWxsU2l6ZUNhY2hlID0ge1xuICBba2V5OiBzdHJpbmddOiB7XG4gICAgcm93OiBudW1iZXI7XG4gICAgaGVhZGVyOiBudW1iZXI7XG4gIH07XG59O1xuXG4vKipcbiAqIE1lYXN1cmUgcm93cyBhbmQgY29sdW1uIGNvbnRlbnQgdG8gZGV0ZXJtaW5lIG1pbiB3aWR0aCBmb3IgZWFjaCBjb2x1bW5cbiAqIEBwYXJhbSB7UmVuZGVyU2l6ZVBhcmFtfSBwYXJhbTBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlcmVkU2l6ZSh7XG4gIHRleHQ6IHtkYXRhQ29udGFpbmVyLCBjb2x1bW59LFxuICB0eXBlID0gJ3N0cmluZycsXG4gIGNvbElkeCxcbiAgbnVtUm93c1RvQ2FsY3VsYXRlID0gMTAsXG4gIGZvbnRTaXplID0gMTIsXG4gIGZvbnQgPSAnTGF0bycsXG4gIGNlbGxQYWRkaW5nID0gNDAsXG4gIG1heENlbGxTaXplID0gNTAwLFxuICBtYXhIZWFkZXJTaXplID0gNTAwLFxuICBtaW5DZWxsU2l6ZSA9IE1JTl9DRUxMX1NJWkUsXG4gIG9wdGlvbnNCdXR0b24gPSAzMFxufTogUmVuZGVyU2l6ZVBhcmFtKToge3JvdzogbnVtYmVyOyBoZWFkZXI6IG51bWJlcn0ge1xuICBpZiAoIWRvY3VtZW50KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJvdzogMCxcbiAgICAgIGhlYWRlcjogMFxuICAgIH07XG4gIH1cbiAgY29uc3QgdGV4dENhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHRDYW52YXMpO1xuICBjb25zdCBjb250ZXh0ID0gdGV4dENhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICBjb250ZXh0LmZvbnQgPSBbZm9udFNpemUsIGZvbnRdLmpvaW4oJ3B4ICcpO1xuXG4gIGxldCByb3dzVG9TYW1wbGUgPSBbLi4uQXJyYXkobnVtUm93c1RvQ2FsY3VsYXRlKV0ubWFwKCgpID0+XG4gICAgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKGRhdGFDb250YWluZXIubnVtUm93cygpIC0gMSkpXG4gICk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBsZXNzIHRoYW4gMTAgcm93cywgbGV0cyBtZWFzdXJlIGFsbCBvZiB0aGVtXG4gIGlmIChkYXRhQ29udGFpbmVyLm51bVJvd3MoKSA8PSBudW1Sb3dzVG9DYWxjdWxhdGUpIHtcbiAgICByb3dzVG9TYW1wbGUgPSBBcnJheS5mcm9tKEFycmF5KGRhdGFDb250YWluZXIubnVtUm93cygpKS5rZXlzKCkpO1xuICB9XG4gIGNvbnN0IHJvd1dpZHRoID0gTWF0aC5tYXgoXG4gICAgLi4ucm93c1RvU2FtcGxlLm1hcChcbiAgICAgIHJvd0lkeCA9PlxuICAgICAgICBNYXRoLmNlaWwoXG4gICAgICAgICAgY29udGV4dC5tZWFzdXJlVGV4dChwYXJzZUZpZWxkVmFsdWUoZGF0YUNvbnRhaW5lci52YWx1ZUF0KHJvd0lkeCwgY29sSWR4KSwgdHlwZSkpLndpZHRoXG4gICAgICAgICkgKyBjZWxsUGFkZGluZ1xuICAgIClcbiAgKTtcbiAgLy8gaGVhZGVyIGNlbGwgb25seSBoYXMgbGVmdCBwYWRkaW5nXG4gIGNvbnN0IGhlYWRlcldpZHRoID1cbiAgICBNYXRoLmNlaWwoY29udGV4dC5tZWFzdXJlVGV4dChjb2x1bW4pLndpZHRoKSArIGNlbGxQYWRkaW5nIC8gMiArIG9wdGlvbnNCdXR0b247XG5cbiAgY29uc3QgbWluUm93V2lkdGggPSBtaW5DZWxsU2l6ZSArIGNlbGxQYWRkaW5nO1xuICBjb25zdCBtaW5IZWFkZXJXaWR0aCA9IG1pbkNlbGxTaXplICsgY2VsbFBhZGRpbmcgLyAyICsgb3B0aW9uc0J1dHRvbjtcblxuICBjb25zdCBjbGFtcGVkUm93V2lkdGggPSBjbGFtcChtaW5Sb3dXaWR0aCwgbWF4Q2VsbFNpemUsIHJvd1dpZHRoKTtcbiAgY29uc3QgY2xhbXBlZEhlYWRlcldpZHRoID0gY2xhbXAobWluSGVhZGVyV2lkdGgsIG1heEhlYWRlclNpemUsIGhlYWRlcldpZHRoKTtcblxuICAvLyBjbGVhbnVwXG4gIHRleHRDYW52YXMucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0ZXh0Q2FudmFzKTtcblxuICByZXR1cm4ge1xuICAgIHJvdzogY2xhbXBlZFJvd1dpZHRoLFxuICAgIGhlYWRlcjogY2xhbXBlZEhlYWRlcldpZHRoXG4gIH07XG59XG5cbmZ1bmN0aW9uIGNsYW1wKG1pbiwgbWF4LCB2YWx1ZSkge1xuICByZXR1cm4gTWF0aC5tYXgoTWF0aC5taW4obWF4LCB2YWx1ZSksIG1pbik7XG59XG5cbmZ1bmN0aW9uIGdldENvbHVtbk9yZGVyKHBpbm5lZENvbHVtbnM6IHN0cmluZ1tdID0gW10sIHVucGlubmVkQ29sdW1uczogc3RyaW5nW10gPSBbXSkge1xuICByZXR1cm4gWy4uLnBpbm5lZENvbHVtbnMsIC4uLnVucGlubmVkQ29sdW1uc107XG59XG5cbmZ1bmN0aW9uIGdldE1pbkNlbGxTaXplKGNlbGxTaXplQ2FjaGU6IENlbGxTaXplQ2FjaGUpIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKGNlbGxTaXplQ2FjaGUpLnJlZHVjZShcbiAgICAoYWNjdSwgY29sKSA9PiAoe1xuICAgICAgLi4uYWNjdSxcbiAgICAgIFtjb2xdOiBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93XG4gICAgfSksXG4gICAge31cbiAgKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2l6ZVN1bShzaXplQ2FjaGUsIGtleSkge1xuICByZXR1cm4gT2JqZWN0LmtleXMoc2l6ZUNhY2hlKS5yZWR1Y2UoXG4gICAgKGFjYywgdmFsKSA9PiBhY2MgKyAoa2V5ID8gc2l6ZUNhY2hlW3ZhbF1ba2V5XSA6IHNpemVDYWNoZVt2YWxdKSxcbiAgICAwXG4gICk7XG59XG5cbi8qKlxuICogRXhwYW5kIGNlbGwgdG8gZml0IGJvdGggcm93IGFuZCBoZWFkZXIsIGlmIHRoZXJlIGlzIHN0aWxsIHJvb20gbGVmdCxcbiAqIGV4cGFuZCBsYXN0IGNlbGwgdG8gZml0IHRoZSBlbnRpcmUgd2lkdGggb2YgdGhlIGNvbnRhaW5lclxuICogQHBhcmFtIHtDZWxsU2l6ZUNhY2hlfSBjZWxsU2l6ZUNhY2hlXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBjb2x1bW5PcmRlclxuICogQHBhcmFtIHtudW1iZXJ9IGNvbnRhaW5lcldpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gcm9vbVRvRmlsbFxuICovXG5mdW5jdGlvbiBleHBhbmRDZWxsU2l6ZShcbiAgY2VsbFNpemVDYWNoZTogQ2VsbFNpemVDYWNoZSxcbiAgY29sdW1uT3JkZXI6IHN0cmluZ1tdLFxuICBjb250YWluZXJXaWR0aDogbnVtYmVyLFxuICByb29tVG9GaWxsOiBudW1iZXJcbik6IHtcbiAgY2VsbFNpemVDYWNoZTogQ2VsbFNpemVDYWNoZTtcbiAgZ2hvc3Q6IG51bWJlciB8IG51bGw7XG59IHtcbiAgbGV0IHJlbWFpbmluZyA9IHJvb21Ub0ZpbGw7XG5cbiAgY29uc3QgZXhwYW5kZWRDZWxsU2l6ZSA9IGNvbHVtbk9yZGVyLnJlZHVjZSgoYWNjdSwgY29sKSA9PiB7XG4gICAgbGV0IHNpemUgPSBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93O1xuICAgIGlmIChjZWxsU2l6ZUNhY2hlW2NvbF0ucm93IDwgY2VsbFNpemVDYWNoZVtjb2xdLmhlYWRlciAmJiByZW1haW5pbmcgPiAwKSB7XG4gICAgICAvLyBpZiB3ZSBhcmUgY3V0dGluZyBvZmYgdGhlIGhlYWRlciwgZXhwYW5kIHRvIGZpdCBpdFxuICAgICAgc2l6ZSA9XG4gICAgICAgIGNlbGxTaXplQ2FjaGVbY29sXS5oZWFkZXIgLSBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93IDwgcmVtYWluaW5nXG4gICAgICAgICAgPyBjZWxsU2l6ZUNhY2hlW2NvbF0uaGVhZGVyXG4gICAgICAgICAgOiBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93ICsgcmVtYWluaW5nO1xuICAgICAgcmVtYWluaW5nIC09IHNpemUgLSBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5hY2N1LFxuICAgICAgW2NvbF06IHNpemVcbiAgICB9O1xuICB9LCB7fSk7XG5cbiAgbGV0IGdob3N0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgaWYgKHJlbWFpbmluZyA+IDAgJiYgcmVtYWluaW5nIDwgTUlOX0dIT1NUX0NFTExfU0laRSkge1xuICAgIC8vIGV4cGFuZCBsYXN0IGNlbGxcbiAgICBjb25zdCBsYXN0Q2VsbCA9IGNvbHVtbk9yZGVyW2NvbHVtbk9yZGVyLmxlbmd0aCAtIDFdO1xuICAgIGV4cGFuZGVkQ2VsbFNpemVbbGFzdENlbGxdICs9IHJlbWFpbmluZztcbiAgfSBlbHNlIGlmIChyZW1haW5pbmcgPj0gTUlOX0dIT1NUX0NFTExfU0laRSkge1xuICAgIC8vIGlmIHRvbyBtdWNoIGxlZnQgYWRkIGEgZ2hvc3QgY2VsbFxuICAgIGdob3N0ID0gcmVtYWluaW5nO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBjZWxsU2l6ZUNhY2hlOiBleHBhbmRlZENlbGxTaXplLFxuICAgIGdob3N0XG4gIH07XG59XG5cbi8qKlxuICogQWRqdXN0IGNlbGwgc2l6ZSBiYXNlZCBvbiBjb250YWluZXIgd2lkdGhcbiAqIEBwYXJhbSB7bnVtYmVyfSBjb250YWluZXJXaWR0aFxuICogQHBhcmFtIHtDZWxsU2l6ZUNhY2hlfSBjZWxsU2l6ZUNhY2hlXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBwaW5uZWRDb2x1bW5zXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSB1bnBpbm5lZENvbHVtbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkanVzdENlbGxzVG9Db250YWluZXIoXG4gIGNvbnRhaW5lcldpZHRoOiBudW1iZXIsXG4gIGNlbGxTaXplQ2FjaGU6IENlbGxTaXplQ2FjaGUsXG4gIHBpbm5lZENvbHVtbnM6IHN0cmluZ1tdLFxuICB1bnBpbm5lZENvbHVtbnM6IHN0cmluZ1tdXG4pOiB7XG4gIGNlbGxTaXplQ2FjaGU6IENlbGxTaXplQ2FjaGU7XG4gIGdob3N0PzogbnVtYmVyIHwgbnVsbDtcbn0ge1xuICBjb25zdCBtaW5Sb3dTdW0gPSBnZXRTaXplU3VtKGNlbGxTaXplQ2FjaGUsICdyb3cnKTtcbiAgaWYgKG1pblJvd1N1bSA+PSBjb250YWluZXJXaWR0aCkge1xuICAgIC8vIHdlIGFwcGx5IHRoZSBtaW4gV2lkdGggdG8gYWxsIGNlbGxzXG4gICAgcmV0dXJuIHtjZWxsU2l6ZUNhY2hlOiBnZXRNaW5DZWxsU2l6ZShjZWxsU2l6ZUNhY2hlKX07XG4gIH1cblxuICAvLyBpZiB3ZSBoYXZlIHNvbWUgcm9vbSB0byBleHBhbmRcbiAgY29uc3QgY29sdW1uT3JkZXIgPSBnZXRDb2x1bW5PcmRlcihwaW5uZWRDb2x1bW5zLCB1bnBpbm5lZENvbHVtbnMpO1xuICByZXR1cm4gZXhwYW5kQ2VsbFNpemUoY2VsbFNpemVDYWNoZSwgY29sdW1uT3JkZXIsIGNvbnRhaW5lcldpZHRoLCBjb250YWluZXJXaWR0aCAtIG1pblJvd1N1bSk7XG59XG4iXX0=
206
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vZGF0YS10YWJsZS9jZWxsLXNpemUudHMiXSwibmFtZXMiOlsiTUlOX0dIT1NUX0NFTExfU0laRSIsIk1JTl9DRUxMX1NJWkUiLCJFREdFX0NPTFVNTl9QQURESU5HIiwiTUFYX0VNUFRZX0NPTFVNTl9TUEFDRSIsInJlbmRlcmVkU2l6ZSIsInRleHQiLCJkYXRhQ29udGFpbmVyIiwiY29sdW1uIiwidHlwZSIsImNvbElkeCIsIm51bVJvd3NUb0NhbGN1bGF0ZSIsImZvbnRTaXplIiwiZm9udCIsImNlbGxQYWRkaW5nIiwibWF4Q2VsbFNpemUiLCJtYXhIZWFkZXJTaXplIiwibWluQ2VsbFNpemUiLCJvcHRpb25zQnV0dG9uIiwiZG9jdW1lbnQiLCJyb3ciLCJoZWFkZXIiLCJ0ZXh0Q2FudmFzIiwiY3JlYXRlRWxlbWVudCIsImJvZHkiLCJhcHBlbmRDaGlsZCIsImNvbnRleHQiLCJnZXRDb250ZXh0Iiwiam9pbiIsInJvd3NUb1NhbXBsZSIsIkFycmF5IiwibWFwIiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwibnVtUm93cyIsImZyb20iLCJrZXlzIiwicm93V2lkdGgiLCJtYXgiLCJyb3dJZHgiLCJ2YWx1ZSIsInZhbHVlQXQiLCJsZW5ndGgiLCJ0ZXh0V2lkdGgiLCJtZWFzdXJlVGV4dCIsIndpZHRoIiwiY2VpbCIsImhlYWRlcldpZHRoIiwibWluUm93V2lkdGgiLCJtaW5IZWFkZXJXaWR0aCIsImNsYW1wZWRSb3dXaWR0aCIsImNsYW1wIiwiY2xhbXBlZEhlYWRlcldpZHRoIiwicGFyZW50RWxlbWVudCIsInJlbW92ZUNoaWxkIiwibWluIiwiZ2V0Q29sdW1uT3JkZXIiLCJwaW5uZWRDb2x1bW5zIiwidW5waW5uZWRDb2x1bW5zIiwiZ2V0TWluQ2VsbFNpemUiLCJjZWxsU2l6ZUNhY2hlIiwiT2JqZWN0IiwicmVkdWNlIiwiYWNjdSIsImNvbCIsImdldFNpemVTdW0iLCJzaXplQ2FjaGUiLCJrZXkiLCJhY2MiLCJ2YWwiLCJleHBhbmRDZWxsU2l6ZSIsImNvbHVtbk9yZGVyIiwiY29udGFpbmVyV2lkdGgiLCJyb29tVG9GaWxsIiwicmVtYWluaW5nIiwiZXhwYW5kZWRDZWxsU2l6ZSIsInNpemUiLCJnaG9zdCIsImxhc3RDZWxsIiwiYWRkUGFkZGluZ1RvRmlyc3RDb2x1bW4iLCJmaXJzdENvbCIsImFkanVzdENlbGxzVG9Db250YWluZXIiLCJwYWRkZWRDZWxsU2l6ZSIsIm1pblJvd1N1bSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFHQTs7QUFDQTs7Ozs7O0FBRUEsSUFBTUEsbUJBQTJCLEdBQUcsR0FBcEM7QUFDQSxJQUFNQyxhQUFhLEdBQUcsRUFBdEIsQyxDQUNBOztBQUNBLElBQU1DLG1CQUFtQixHQUFHLEVBQTVCLEMsQ0FFQTtBQUNBOztBQUNBLElBQU1DLHNCQUFzQixHQUFHLEVBQS9COztBQXVCQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLFNBQVNDLFlBQVQsT0FZNEM7QUFBQSx1QkFYakRDLElBV2lEO0FBQUEsTUFYMUNDLGFBVzBDLGFBWDFDQSxhQVcwQztBQUFBLE1BWDNCQyxNQVcyQixhQVgzQkEsTUFXMkI7QUFBQSx1QkFWakRDLElBVWlEO0FBQUEsTUFWakRBLElBVWlELDBCQVYxQyxRQVUwQztBQUFBLE1BVGpEQyxNQVNpRCxRQVRqREEsTUFTaUQ7QUFBQSxtQ0FSakRDLGtCQVFpRDtBQUFBLE1BUmpEQSxrQkFRaUQsc0NBUjVCLEVBUTRCO0FBQUEsMkJBUGpEQyxRQU9pRDtBQUFBLE1BUGpEQSxRQU9pRCw4QkFQdEMsRUFPc0M7QUFBQSx1QkFOakRDLElBTWlEO0FBQUEsTUFOakRBLElBTWlELDBCQU4xQyxNQU0wQztBQUFBLDhCQUxqREMsV0FLaUQ7QUFBQSxNQUxqREEsV0FLaUQsaUNBTG5DLEVBS21DO0FBQUEsOEJBSmpEQyxXQUlpRDtBQUFBLE1BSmpEQSxXQUlpRCxpQ0FKbkMsR0FJbUM7QUFBQSxnQ0FIakRDLGFBR2lEO0FBQUEsTUFIakRBLGFBR2lELG1DQUhqQyxHQUdpQztB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QUNuQixhQUFELEVBQWdCVyxXQUFoQixDQUE5QztBQUNBLE1BQU1ZLFNBQVMsR0FBR2xCLFVBQVUsQ0FBQ2lCLGNBQUQsRUFBaUIsS0FBakIsQ0FBNUI7O0FBRUEsTUFBSUMsU0FBUyxJQUFJWCxjQUFqQixFQUFpQztBQUMvQjtBQUNBLFdBQU87QUFBQ1osTUFBQUEsYUFBYSxFQUFFRCxjQUFjLENBQUN1QixjQUFEO0FBQTlCLEtBQVA7QUFDRCxHQVJELENBU0E7OztBQUNBLFNBQU9aLGNBQWMsQ0FBQ1ksY0FBRCxFQUFpQlgsV0FBakIsRUFBOEJDLGNBQTlCLEVBQThDQSxjQUFjLEdBQUdXLFNBQS9ELENBQXJCO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgZG9jdW1lbnQgZnJvbSAnZ2xvYmFsL2RvY3VtZW50JztcbmltcG9ydCB7RGF0YUNvbnRhaW5lckludGVyZmFjZSwgcGFyc2VGaWVsZFZhbHVlfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcblxuY29uc3QgTUlOX0dIT1NUX0NFTExfU0laRTogbnVtYmVyID0gMjAwO1xuY29uc3QgTUlOX0NFTExfU0laRSA9IDQ1O1xuLy8gZmlyc3QgY29sdW1uIGhhdmUgcGFkZGluZyBvbiB0aGUgbGVmdFxuY29uc3QgRURHRV9DT0xVTU5fUEFERElORyA9IDEwO1xuXG4vLyBpbiBjYXNlIGNlbGwgY29udGVudCBpcyBzbWFsbCwgY29sdW1uIG5hbWUgaXMgYmlnLCB3ZSBhbGxvdyBtYXggZW1wdHkgc3BhY2UgdG9cbi8vIGJlIGFkZGVkIHRvIG1pbiBjZWxsIHdpZHRoIGluIG9yZGVyIHRvIHNob3cgY29sdW1uIG5hbWVcbmNvbnN0IE1BWF9FTVBUWV9DT0xVTU5fU1BBQ0UgPSA2MDtcblxudHlwZSBSZW5kZXJTaXplUGFyYW0gPSB7XG4gIHRleHQ6IHtkYXRhQ29udGFpbmVyOiBEYXRhQ29udGFpbmVySW50ZXJmYWNlOyBjb2x1bW46IHN0cmluZ307XG4gIHR5cGU/OiBzdHJpbmc7XG4gIGNvbElkeDogbnVtYmVyO1xuICBudW1Sb3dzVG9DYWxjdWxhdGU/OiBudW1iZXI7XG4gIGZvbnRTaXplPzogbnVtYmVyO1xuICBmb250Pzogc3RyaW5nO1xuICBjZWxsUGFkZGluZz86IG51bWJlcjtcbiAgbWF4Q2VsbFNpemU/OiBudW1iZXI7XG4gIG1heEhlYWRlclNpemU/OiBudW1iZXI7XG4gIG1pbkNlbGxTaXplPzogbnVtYmVyO1xuICBvcHRpb25zQnV0dG9uPzogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgQ2VsbFNpemVDYWNoZSA9IHtcbiAgW2tleTogc3RyaW5nXToge1xuICAgIHJvdzogbnVtYmVyO1xuICAgIGhlYWRlcjogbnVtYmVyO1xuICB9O1xufTtcblxuLyoqXG4gKiBNZWFzdXJlIHJvd3MgYW5kIGNvbHVtbiBjb250ZW50IHRvIGRldGVybWluZSBtaW4gd2lkdGggZm9yIGVhY2ggY29sdW1uXG4gKiBAcGFyYW0ge1JlbmRlclNpemVQYXJhbX0gcGFyYW0wXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJlZFNpemUoe1xuICB0ZXh0OiB7ZGF0YUNvbnRhaW5lciwgY29sdW1ufSxcbiAgdHlwZSA9ICdzdHJpbmcnLFxuICBjb2xJZHgsXG4gIG51bVJvd3NUb0NhbGN1bGF0ZSA9IDEwLFxuICBmb250U2l6ZSA9IDEyLFxuICBmb250ID0gJ0xhdG8nLFxuICBjZWxsUGFkZGluZyA9IDQwLFxuICBtYXhDZWxsU2l6ZSA9IDUwMCxcbiAgbWF4SGVhZGVyU2l6ZSA9IDUwMCxcbiAgbWluQ2VsbFNpemUgPSBNSU5fQ0VMTF9TSVpFLFxuICBvcHRpb25zQnV0dG9uID0gNDRcbn06IFJlbmRlclNpemVQYXJhbSk6IHtyb3c6IG51bWJlcjsgaGVhZGVyOiBudW1iZXJ9IHtcbiAgaWYgKCFkb2N1bWVudCkge1xuICAgIHJldHVybiB7XG4gICAgICByb3c6IDAsXG4gICAgICBoZWFkZXI6IDBcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgdGV4dENhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHRDYW52YXMpO1xuICBjb25zdCBjb250ZXh0ID0gdGV4dENhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICBjb250ZXh0LmZvbnQgPSBbZm9udFNpemUsIGZvbnRdLmpvaW4oJ3B4ICcpO1xuXG4gIGxldCByb3dzVG9TYW1wbGUgPSBbLi4uQXJyYXkobnVtUm93c1RvQ2FsY3VsYXRlKV0ubWFwKCgpID0+XG4gICAgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKGRhdGFDb250YWluZXIubnVtUm93cygpIC0gMSkpXG4gICk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBsZXNzIHRoYW4gMTAgcm93cywgbGV0cyBtZWFzdXJlIGFsbCBvZiB0aGVtXG4gIGlmIChkYXRhQ29udGFpbmVyLm51bVJvd3MoKSA8PSBudW1Sb3dzVG9DYWxjdWxhdGUpIHtcbiAgICByb3dzVG9TYW1wbGUgPSBBcnJheS5mcm9tKEFycmF5KGRhdGFDb250YWluZXIubnVtUm93cygpKS5rZXlzKCkpO1xuICB9XG4gIGNvbnN0IHJvd1dpZHRoID0gTWF0aC5tYXgoXG4gICAgLi4ucm93c1RvU2FtcGxlLm1hcChyb3dJZHggPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSBwYXJzZUZpZWxkVmFsdWUoZGF0YUNvbnRhaW5lci52YWx1ZUF0KHJvd0lkeCwgY29sSWR4KSwgdHlwZSk7XG4gICAgICAvLyBtZWFzdXJpbmcgbGFyZ2UgdGV4dCBjYXVzZSBzbG93IHBlcmZvcm1hbmNlXG4gICAgICBpZiAodmFsdWUubGVuZ3RoID4gbWF4Q2VsbFNpemUpIHtcbiAgICAgICAgcmV0dXJuIG1heENlbGxTaXplO1xuICAgICAgfVxuICAgICAgY29uc3QgdGV4dFdpZHRoID0gY29udGV4dC5tZWFzdXJlVGV4dCh2YWx1ZSkud2lkdGg7XG4gICAgICByZXR1cm4gTWF0aC5jZWlsKHRleHRXaWR0aCkgKyBjZWxsUGFkZGluZztcbiAgICB9KVxuICApO1xuICAvLyBoZWFkZXIgY2VsbCBvbmx5IGhhcyBsZWZ0IHBhZGRpbmdcbiAgY29uc3QgaGVhZGVyV2lkdGggPVxuICAgIE1hdGguY2VpbChjb250ZXh0Lm1lYXN1cmVUZXh0KGNvbHVtbikud2lkdGgpICsgY2VsbFBhZGRpbmcgLyAyICsgb3B0aW9uc0J1dHRvbjtcblxuICAvLyBtaW4gcm93IHdpZHRoIGlzIG1lYXN1cmVkIGJ5IGNlbGwgY29udGVudFxuICBjb25zdCBtaW5Sb3dXaWR0aCA9IG1pbkNlbGxTaXplICsgY2VsbFBhZGRpbmc7XG4gIC8vIG1pbiBoZWFkZXIgd2lkdGggaXMgbWVhc3VyZWQgYnkgY2VsbFxuICBjb25zdCBtaW5IZWFkZXJXaWR0aCA9IG1pbkNlbGxTaXplICsgY2VsbFBhZGRpbmcgLyAyICsgb3B0aW9uc0J1dHRvbjtcblxuICBjb25zdCBjbGFtcGVkUm93V2lkdGggPSBjbGFtcChtaW5Sb3dXaWR0aCwgbWF4Q2VsbFNpemUsIHJvd1dpZHRoKTtcbiAgY29uc3QgY2xhbXBlZEhlYWRlcldpZHRoID0gY2xhbXAobWluSGVhZGVyV2lkdGgsIG1heEhlYWRlclNpemUsIGhlYWRlcldpZHRoKTtcblxuICAvLyBjbGVhbnVwXG4gIHRleHRDYW52YXMucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0ZXh0Q2FudmFzKTtcblxuICByZXR1cm4ge1xuICAgIHJvdzogY2xhbXBlZFJvd1dpZHRoLFxuICAgIGhlYWRlcjogY2xhbXBlZEhlYWRlcldpZHRoXG4gIH07XG59XG5cbmZ1bmN0aW9uIGNsYW1wKG1pbiwgbWF4LCB2YWx1ZSkge1xuICByZXR1cm4gTWF0aC5tYXgoTWF0aC5taW4obWF4LCB2YWx1ZSksIG1pbik7XG59XG5cbmZ1bmN0aW9uIGdldENvbHVtbk9yZGVyKHBpbm5lZENvbHVtbnM6IHN0cmluZ1tdID0gW10sIHVucGlubmVkQ29sdW1uczogc3RyaW5nW10gPSBbXSkge1xuICByZXR1cm4gWy4uLnBpbm5lZENvbHVtbnMsIC4uLnVucGlubmVkQ29sdW1uc107XG59XG5cbi8vIElmIHRvdGFsIG1pbiBjZWxsIHNpemUgaXMgYmlnZ2VyIHRoYW4gY29udGFpbmVyV2lkdGggYWRqdXN0IGNvbHVtblxuZnVuY3Rpb24gZ2V0TWluQ2VsbFNpemUoY2VsbFNpemVDYWNoZTogQ2VsbFNpemVDYWNoZSkge1xuICByZXR1cm4gT2JqZWN0LmtleXMoY2VsbFNpemVDYWNoZSkucmVkdWNlKFxuICAgIChhY2N1LCBjb2wpID0+ICh7XG4gICAgICAuLi5hY2N1LFxuICAgICAgLy8gaWYgcm93IGlzIGxhcmdlciB0aGFuIGhlYWRlciwgdXNlIHJvd1xuICAgICAgW2NvbF06XG4gICAgICAgIGNlbGxTaXplQ2FjaGVbY29sXS5yb3cgPiBjZWxsU2l6ZUNhY2hlW2NvbF0uaGVhZGVyXG4gICAgICAgICAgPyBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93XG4gICAgICAgICAgOiAvLyBpZiByb3cgaXMgc21hbGxlciB0aGFuIGhlYWRlciwgdXNlIHRoZSBzbWFsbGVyIG9mIE1BWF9FTVBUWV9DT0xVTU5fU1BBQ0UgKyByb3cgd2lkdGggYW5kIGhlYWRlclxuICAgICAgICAgICAgTWF0aC5taW4oY2VsbFNpemVDYWNoZVtjb2xdLmhlYWRlciwgY2VsbFNpemVDYWNoZVtjb2xdLnJvdyArIE1BWF9FTVBUWV9DT0xVTU5fU1BBQ0UpXG4gICAgfSksXG4gICAge31cbiAgKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2l6ZVN1bShzaXplQ2FjaGUsIGtleSkge1xuICByZXR1cm4gT2JqZWN0LmtleXMoc2l6ZUNhY2hlKS5yZWR1Y2UoXG4gICAgKGFjYywgdmFsKSA9PiBhY2MgKyAoa2V5ID8gc2l6ZUNhY2hlW3ZhbF1ba2V5XSA6IHNpemVDYWNoZVt2YWxdKSxcbiAgICAwXG4gICk7XG59XG5cbi8qKlxuICogRXhwYW5kIGNlbGwgdG8gZml0IGJvdGggcm93IGFuZCBoZWFkZXIsIGlmIHRoZXJlIGlzIHN0aWxsIHJvb20gbGVmdCxcbiAqIGV4cGFuZCBsYXN0IGNlbGwgdG8gZml0IHRoZSBlbnRpcmUgd2lkdGggb2YgdGhlIGNvbnRhaW5lclxuICogQHBhcmFtIHtDZWxsU2l6ZUNhY2hlfSBjZWxsU2l6ZUNhY2hlXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBjb2x1bW5PcmRlclxuICogQHBhcmFtIHtudW1iZXJ9IGNvbnRhaW5lcldpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gcm9vbVRvRmlsbFxuICovXG5mdW5jdGlvbiBleHBhbmRDZWxsU2l6ZShcbiAgY2VsbFNpemVDYWNoZTogQ2VsbFNpemVDYWNoZSxcbiAgY29sdW1uT3JkZXI6IHN0cmluZ1tdLFxuICBjb250YWluZXJXaWR0aDogbnVtYmVyLFxuICByb29tVG9GaWxsOiBudW1iZXJcbik6IHtcbiAgY2VsbFNpemVDYWNoZTogQ2VsbFNpemVDYWNoZTtcbiAgZ2hvc3Q6IG51bWJlciB8IG51bGw7XG59IHtcbiAgbGV0IHJlbWFpbmluZyA9IHJvb21Ub0ZpbGw7XG5cbiAgY29uc3QgZXhwYW5kZWRDZWxsU2l6ZSA9IGNvbHVtbk9yZGVyLnJlZHVjZSgoYWNjdSwgY29sKSA9PiB7XG4gICAgbGV0IHNpemUgPSBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93O1xuICAgIGlmIChjZWxsU2l6ZUNhY2hlW2NvbF0ucm93IDwgY2VsbFNpemVDYWNoZVtjb2xdLmhlYWRlciAmJiByZW1haW5pbmcgPiAwKSB7XG4gICAgICAvLyBpZiB3ZSBhcmUgY3V0dGluZyBvZmYgdGhlIGhlYWRlciwgZXhwYW5kIHRvIGZpdCBpdFxuICAgICAgc2l6ZSA9XG4gICAgICAgIGNlbGxTaXplQ2FjaGVbY29sXS5oZWFkZXIgLSBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93IDwgcmVtYWluaW5nXG4gICAgICAgICAgPyBjZWxsU2l6ZUNhY2hlW2NvbF0uaGVhZGVyXG4gICAgICAgICAgOiBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93ICsgcmVtYWluaW5nO1xuICAgICAgcmVtYWluaW5nIC09IHNpemUgLSBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5hY2N1LFxuICAgICAgW2NvbF06IHNpemVcbiAgICB9O1xuICB9LCB7fSk7XG5cbiAgbGV0IGdob3N0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgaWYgKHJlbWFpbmluZyA+IDAgJiYgcmVtYWluaW5nIDwgTUlOX0dIT1NUX0NFTExfU0laRSkge1xuICAgIC8vIGV4cGFuZCBsYXN0IGNlbGxcbiAgICBjb25zdCBsYXN0Q2VsbCA9IGNvbHVtbk9yZGVyW2NvbHVtbk9yZGVyLmxlbmd0aCAtIDFdO1xuICAgIGV4cGFuZGVkQ2VsbFNpemVbbGFzdENlbGxdICs9IHJlbWFpbmluZztcbiAgfSBlbHNlIGlmIChyZW1haW5pbmcgPj0gTUlOX0dIT1NUX0NFTExfU0laRSkge1xuICAgIC8vIGlmIHRvbyBtdWNoIGxlZnQgYWRkIGEgZ2hvc3QgY2VsbFxuICAgIGdob3N0ID0gcmVtYWluaW5nO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBjZWxsU2l6ZUNhY2hlOiBleHBhbmRlZENlbGxTaXplLFxuICAgIGdob3N0XG4gIH07XG59XG5cbmZ1bmN0aW9uIGFkZFBhZGRpbmdUb0ZpcnN0Q29sdW1uKFxuICBjZWxsU2l6ZUNhY2hlOiBDZWxsU2l6ZUNhY2hlLFxuICBjb2x1bW5PcmRlcjogc3RyaW5nW10gPSBbXVxuKTogQ2VsbFNpemVDYWNoZSB7XG4gIGNvbnN0IGZpcnN0Q29sID0gY29sdW1uT3JkZXJbMF07XG5cbiAgaWYgKGZpcnN0Q29sICYmIGNlbGxTaXplQ2FjaGVbZmlyc3RDb2xdKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNlbGxTaXplQ2FjaGUsXG4gICAgICBbZmlyc3RDb2xdOiB7XG4gICAgICAgIGhlYWRlcjogY2VsbFNpemVDYWNoZVtmaXJzdENvbF0uaGVhZGVyICsgRURHRV9DT0xVTU5fUEFERElORyxcbiAgICAgICAgcm93OiBjZWxsU2l6ZUNhY2hlW2ZpcnN0Q29sXS5yb3cgKyBFREdFX0NPTFVNTl9QQURESU5HXG4gICAgICB9XG4gICAgfTtcbiAgfVxuICByZXR1cm4gY2VsbFNpemVDYWNoZTtcbn1cblxuLyoqXG4gKiBBZGp1c3QgY2VsbCBzaXplIGJhc2VkIG9uIGNvbnRhaW5lciB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGNvbnRhaW5lcldpZHRoXG4gKiBAcGFyYW0ge0NlbGxTaXplQ2FjaGV9IGNlbGxTaXplQ2FjaGVcbiAqIEBwYXJhbSB7c3RyaW5nW119IHBpbm5lZENvbHVtbnNcbiAqIEBwYXJhbSB7c3RyaW5nW119IHVucGlubmVkQ29sdW1uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gYWRqdXN0Q2VsbHNUb0NvbnRhaW5lcihcbiAgY29udGFpbmVyV2lkdGg6IG51bWJlcixcbiAgY2VsbFNpemVDYWNoZTogQ2VsbFNpemVDYWNoZSxcbiAgcGlubmVkQ29sdW1uczogc3RyaW5nW10sXG4gIHVucGlubmVkQ29sdW1uczogc3RyaW5nW11cbik6IHtcbiAgY2VsbFNpemVDYWNoZTogQ2VsbFNpemVDYWNoZTtcbiAgZ2hvc3Q/OiBudW1iZXIgfCBudWxsO1xufSB7XG4gIGNvbnN0IGNvbHVtbk9yZGVyID0gZ2V0Q29sdW1uT3JkZXIocGlubmVkQ29sdW1ucywgdW5waW5uZWRDb2x1bW5zKTtcbiAgY29uc3QgcGFkZGVkQ2VsbFNpemUgPSBhZGRQYWRkaW5nVG9GaXJzdENvbHVtbihjZWxsU2l6ZUNhY2hlLCBjb2x1bW5PcmRlcik7XG4gIGNvbnN0IG1pblJvd1N1bSA9IGdldFNpemVTdW0ocGFkZGVkQ2VsbFNpemUsICdyb3cnKTtcblxuICBpZiAobWluUm93U3VtID49IGNvbnRhaW5lcldpZHRoKSB7XG4gICAgLy8gd2UgYXBwbHkgdGhlIG1pbiBXaWR0aCB0byBhbGwgY2VsbHNcbiAgICByZXR1cm4ge2NlbGxTaXplQ2FjaGU6IGdldE1pbkNlbGxTaXplKHBhZGRlZENlbGxTaXplKX07XG4gIH1cbiAgLy8gaWYgd2UgaGF2ZSBzb21lIHJvb20gdG8gZXhwYW5kXG4gIHJldHVybiBleHBhbmRDZWxsU2l6ZShwYWRkZWRDZWxsU2l6ZSwgY29sdW1uT3JkZXIsIGNvbnRhaW5lcldpZHRoLCBjb250YWluZXJXaWR0aCAtIG1pblJvd1N1bSk7XG59XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import { TooltipFormat } from '@kepler.gl/constants';
3
+ import { ColMeta } from '@kepler.gl/types';
4
+ export declare type DataTableConfigProps = {
5
+ title: string;
6
+ id: string;
7
+ defaultFormat: string;
8
+ options: TooltipFormat[];
9
+ columns: {
10
+ name: string;
11
+ }[];
12
+ colMeta: ColMeta;
13
+ setColumnDisplayFormat: (formats: {
14
+ [key: string]: string;
15
+ }) => void;
16
+ onClose: () => void;
17
+ };
18
+ export declare const NumberFormatConfig: React.FC<DataTableConfigProps>;
19
+ declare function DataTableConfigFactory(): ({ columns, colMeta, setColumnDisplayFormat, onClose }: {
20
+ columns: any;
21
+ colMeta: any;
22
+ setColumnDisplayFormat: any;
23
+ onClose: any;
24
+ }) => React.JSX.Element;
25
+ export default DataTableConfigFactory;