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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (669) hide show
  1. package/package.json +26 -27
  2. package/dist/bottom-widget.d.ts +0 -19
  3. package/dist/bottom-widget.js +0 -166
  4. package/dist/common/action-panel.d.ts +0 -27
  5. package/dist/common/action-panel.js +0 -132
  6. package/dist/common/animation-control/animation-control.d.ts +0 -25
  7. package/dist/common/animation-control/animation-control.js +0 -113
  8. package/dist/common/animation-control/animation-controller.d.ts +0 -19
  9. package/dist/common/animation-control/animation-controller.js +0 -318
  10. package/dist/common/animation-control/animation-speed-slider.d.ts +0 -12
  11. package/dist/common/animation-control/animation-speed-slider.js +0 -100
  12. package/dist/common/animation-control/animation-window-control.d.ts +0 -20
  13. package/dist/common/animation-control/animation-window-control.js +0 -68
  14. package/dist/common/animation-control/floating-time-display.d.ts +0 -9
  15. package/dist/common/animation-control/floating-time-display.js +0 -161
  16. package/dist/common/animation-control/play-control.d.ts +0 -12
  17. package/dist/common/animation-control/play-control.js +0 -63
  18. package/dist/common/animation-control/playback-controls.d.ts +0 -55
  19. package/dist/common/animation-control/playback-controls.js +0 -182
  20. package/dist/common/animation-control/reset-control.d.ts +0 -9
  21. package/dist/common/animation-control/reset-control.js +0 -53
  22. package/dist/common/animation-control/speed-control.d.ts +0 -12
  23. package/dist/common/animation-control/speed-control.js +0 -68
  24. package/dist/common/animation-control/window-action-control.d.ts +0 -11
  25. package/dist/common/animation-control/window-action-control.js +0 -69
  26. package/dist/common/checkbox.d.ts +0 -35
  27. package/dist/common/checkbox.js +0 -139
  28. package/dist/common/color-legend.d.ts +0 -39
  29. package/dist/common/color-legend.js +0 -231
  30. package/dist/common/data-table/button.d.ts +0 -8
  31. package/dist/common/data-table/button.js +0 -46
  32. package/dist/common/data-table/canvas.d.ts +0 -2
  33. package/dist/common/data-table/canvas.js +0 -32
  34. package/dist/common/data-table/cell-size.d.ts +0 -43
  35. package/dist/common/data-table/cell-size.js +0 -206
  36. package/dist/common/data-table/display-format.d.ts +0 -25
  37. package/dist/common/data-table/display-format.js +0 -149
  38. package/dist/common/data-table/grid.d.ts +0 -10
  39. package/dist/common/data-table/grid.js +0 -139
  40. package/dist/common/data-table/header-cell.d.ts +0 -28
  41. package/dist/common/data-table/header-cell.js +0 -169
  42. package/dist/common/data-table/index.d.ts +0 -101
  43. package/dist/common/data-table/index.js +0 -523
  44. package/dist/common/data-table/option-dropdown.d.ts +0 -28
  45. package/dist/common/data-table/option-dropdown.js +0 -195
  46. package/dist/common/dataset-label.d.ts +0 -10
  47. package/dist/common/dataset-label.js +0 -36
  48. package/dist/common/error-boundary.d.ts +0 -16
  49. package/dist/common/error-boundary.js +0 -83
  50. package/dist/common/field-selector.d.ts +0 -50
  51. package/dist/common/field-selector.js +0 -202
  52. package/dist/common/field-token.d.ts +0 -58
  53. package/dist/common/field-token.js +0 -54
  54. package/dist/common/file-uploader/file-drop.d.ts +0 -54
  55. package/dist/common/file-uploader/file-drop.js +0 -232
  56. package/dist/common/file-uploader/file-upload-progress.d.ts +0 -8
  57. package/dist/common/file-uploader/file-upload-progress.js +0 -103
  58. package/dist/common/file-uploader/file-upload.d.ts +0 -23
  59. package/dist/common/file-uploader/file-upload.js +0 -304
  60. package/dist/common/file-uploader/upload-button.d.ts +0 -8
  61. package/dist/common/file-uploader/upload-button.js +0 -74
  62. package/dist/common/flex-container.d.ts +0 -3
  63. package/dist/common/flex-container.js +0 -23
  64. package/dist/common/histogram-plot.d.ts +0 -3
  65. package/dist/common/histogram-plot.js +0 -120
  66. package/dist/common/icon-button.d.ts +0 -13
  67. package/dist/common/icon-button.js +0 -32
  68. package/dist/common/icons/add.d.ts +0 -9
  69. package/dist/common/icons/add.js +0 -58
  70. package/dist/common/icons/anchor_window.d.ts +0 -11
  71. package/dist/common/icons/anchor_window.js +0 -39
  72. package/dist/common/icons/arrow-down-alt.d.ts +0 -9
  73. package/dist/common/icons/arrow-down-alt.js +0 -58
  74. package/dist/common/icons/arrow-down-small.d.ts +0 -14
  75. package/dist/common/icons/arrow-down-small.js +0 -72
  76. package/dist/common/icons/arrow-down-solid.d.ts +0 -9
  77. package/dist/common/icons/arrow-down-solid.js +0 -58
  78. package/dist/common/icons/arrow-down.d.ts +0 -9
  79. package/dist/common/icons/arrow-down.js +0 -58
  80. package/dist/common/icons/arrow-left.d.ts +0 -9
  81. package/dist/common/icons/arrow-left.js +0 -61
  82. package/dist/common/icons/arrow-right.d.ts +0 -9
  83. package/dist/common/icons/arrow-right.js +0 -58
  84. package/dist/common/icons/arrow-up-alt.d.ts +0 -9
  85. package/dist/common/icons/arrow-up-alt.js +0 -59
  86. package/dist/common/icons/arrow-up-solid.d.ts +0 -9
  87. package/dist/common/icons/arrow-up-solid.js +0 -58
  88. package/dist/common/icons/arrow-up.d.ts +0 -9
  89. package/dist/common/icons/arrow-up.js +0 -58
  90. package/dist/common/icons/base.d.ts +0 -29
  91. package/dist/common/icons/base.js +0 -96
  92. package/dist/common/icons/bug.d.ts +0 -9
  93. package/dist/common/icons/bug.js +0 -60
  94. package/dist/common/icons/calendar.d.ts +0 -10
  95. package/dist/common/icons/calendar.js +0 -66
  96. package/dist/common/icons/cancel.d.ts +0 -9
  97. package/dist/common/icons/cancel.js +0 -58
  98. package/dist/common/icons/checkmark.d.ts +0 -10
  99. package/dist/common/icons/checkmark.js +0 -65
  100. package/dist/common/icons/clipboard.d.ts +0 -9
  101. package/dist/common/icons/clipboard.js +0 -59
  102. package/dist/common/icons/clock.d.ts +0 -9
  103. package/dist/common/icons/clock.js +0 -60
  104. package/dist/common/icons/close.d.ts +0 -9
  105. package/dist/common/icons/close.js +0 -63
  106. package/dist/common/icons/code-alt.d.ts +0 -9
  107. package/dist/common/icons/code-alt.js +0 -62
  108. package/dist/common/icons/copy.d.ts +0 -9
  109. package/dist/common/icons/copy.js +0 -64
  110. package/dist/common/icons/crosshairs.d.ts +0 -9
  111. package/dist/common/icons/crosshairs.js +0 -62
  112. package/dist/common/icons/cube-3d.d.ts +0 -9
  113. package/dist/common/icons/cube-3d.js +0 -62
  114. package/dist/common/icons/cursor-click.d.ts +0 -9
  115. package/dist/common/icons/cursor-click.js +0 -62
  116. package/dist/common/icons/cursor-point.d.ts +0 -14
  117. package/dist/common/icons/cursor-point.js +0 -69
  118. package/dist/common/icons/data-table.d.ts +0 -10
  119. package/dist/common/icons/data-table.js +0 -59
  120. package/dist/common/icons/db.d.ts +0 -10
  121. package/dist/common/icons/db.js +0 -59
  122. package/dist/common/icons/delete.d.ts +0 -9
  123. package/dist/common/icons/delete.js +0 -60
  124. package/dist/common/icons/docs.d.ts +0 -9
  125. package/dist/common/icons/docs.js +0 -74
  126. package/dist/common/icons/drag-n-drop.d.ts +0 -9
  127. package/dist/common/icons/drag-n-drop.js +0 -60
  128. package/dist/common/icons/draw-polygon.d.ts +0 -10
  129. package/dist/common/icons/draw-polygon.js +0 -78
  130. package/dist/common/icons/effects/brightness-contrast.d.ts +0 -14
  131. package/dist/common/icons/effects/brightness-contrast.js +0 -88
  132. package/dist/common/icons/effects/color-halftone.d.ts +0 -14
  133. package/dist/common/icons/effects/color-halftone.js +0 -127
  134. package/dist/common/icons/effects/dot-screen.d.ts +0 -14
  135. package/dist/common/icons/effects/dot-screen.js +0 -122
  136. package/dist/common/icons/effects/edge-work.d.ts +0 -14
  137. package/dist/common/icons/effects/edge-work.js +0 -81
  138. package/dist/common/icons/effects/hexagonal-pixelate.d.ts +0 -14
  139. package/dist/common/icons/effects/hexagonal-pixelate.js +0 -148
  140. package/dist/common/icons/effects/hue-saturation.d.ts +0 -14
  141. package/dist/common/icons/effects/hue-saturation.js +0 -79
  142. package/dist/common/icons/effects/ink.d.ts +0 -14
  143. package/dist/common/icons/effects/ink.js +0 -78
  144. package/dist/common/icons/effects/light-and-shadow.d.ts +0 -14
  145. package/dist/common/icons/effects/light-and-shadow.js +0 -67
  146. package/dist/common/icons/effects/magic-wand.d.ts +0 -14
  147. package/dist/common/icons/effects/magic-wand.js +0 -79
  148. package/dist/common/icons/effects/magnify.d.ts +0 -14
  149. package/dist/common/icons/effects/magnify.js +0 -86
  150. package/dist/common/icons/effects/noise.d.ts +0 -14
  151. package/dist/common/icons/effects/noise.js +0 -132
  152. package/dist/common/icons/effects/sepia.d.ts +0 -14
  153. package/dist/common/icons/effects/sepia.js +0 -79
  154. package/dist/common/icons/effects/tilt-shift.d.ts +0 -14
  155. package/dist/common/icons/effects/tilt-shift.js +0 -88
  156. package/dist/common/icons/effects/triangle-blur.d.ts +0 -14
  157. package/dist/common/icons/effects/triangle-blur.js +0 -83
  158. package/dist/common/icons/effects/vibrance.d.ts +0 -14
  159. package/dist/common/icons/effects/vibrance.js +0 -79
  160. package/dist/common/icons/effects/vignette.d.ts +0 -14
  161. package/dist/common/icons/effects/vignette.js +0 -72
  162. package/dist/common/icons/effects/zoom-blur.d.ts +0 -14
  163. package/dist/common/icons/effects/zoom-blur.js +0 -107
  164. package/dist/common/icons/email.d.ts +0 -9
  165. package/dist/common/icons/email.js +0 -62
  166. package/dist/common/icons/expand.d.ts +0 -9
  167. package/dist/common/icons/expand.js +0 -60
  168. package/dist/common/icons/eye-seen.d.ts +0 -9
  169. package/dist/common/icons/eye-seen.js +0 -60
  170. package/dist/common/icons/eye-unseen.d.ts +0 -9
  171. package/dist/common/icons/eye-unseen.js +0 -60
  172. package/dist/common/icons/file-type.d.ts +0 -8
  173. package/dist/common/icons/file-type.js +0 -45
  174. package/dist/common/icons/file.d.ts +0 -9
  175. package/dist/common/icons/file.js +0 -58
  176. package/dist/common/icons/files.d.ts +0 -9
  177. package/dist/common/icons/files.js +0 -60
  178. package/dist/common/icons/filter-funnel.d.ts +0 -9
  179. package/dist/common/icons/filter-funnel.js +0 -58
  180. package/dist/common/icons/free-window.d.ts +0 -11
  181. package/dist/common/icons/free-window.js +0 -39
  182. package/dist/common/icons/gear.d.ts +0 -9
  183. package/dist/common/icons/gear.js +0 -60
  184. package/dist/common/icons/globe.d.ts +0 -15
  185. package/dist/common/icons/globe.js +0 -72
  186. package/dist/common/icons/hash.d.ts +0 -9
  187. package/dist/common/icons/hash.js +0 -58
  188. package/dist/common/icons/histogram.d.ts +0 -9
  189. package/dist/common/icons/histogram.js +0 -59
  190. package/dist/common/icons/index.d.ts +0 -102
  191. package/dist/common/icons/index.js +0 -812
  192. package/dist/common/icons/info.d.ts +0 -12
  193. package/dist/common/icons/info.js +0 -72
  194. package/dist/common/icons/layers.d.ts +0 -9
  195. package/dist/common/icons/layers.js +0 -58
  196. package/dist/common/icons/left-arrow.d.ts +0 -9
  197. package/dist/common/icons/left-arrow.js +0 -62
  198. package/dist/common/icons/legend.d.ts +0 -9
  199. package/dist/common/icons/legend.js +0 -58
  200. package/dist/common/icons/line-chart.d.ts +0 -9
  201. package/dist/common/icons/line-chart.js +0 -58
  202. package/dist/common/icons/location-marker.d.ts +0 -14
  203. package/dist/common/icons/location-marker.js +0 -77
  204. package/dist/common/icons/login.d.ts +0 -9
  205. package/dist/common/icons/login.js +0 -61
  206. package/dist/common/icons/logout.d.ts +0 -9
  207. package/dist/common/icons/logout.js +0 -60
  208. package/dist/common/icons/map-icon.d.ts +0 -11
  209. package/dist/common/icons/map-icon.js +0 -66
  210. package/dist/common/icons/map.d.ts +0 -11
  211. package/dist/common/icons/map.js +0 -66
  212. package/dist/common/icons/messages.d.ts +0 -9
  213. package/dist/common/icons/messages.js +0 -58
  214. package/dist/common/icons/minus.d.ts +0 -9
  215. package/dist/common/icons/minus.js +0 -58
  216. package/dist/common/icons/moon.d.ts +0 -14
  217. package/dist/common/icons/moon.js +0 -77
  218. package/dist/common/icons/order-by-dataset.d.ts +0 -12
  219. package/dist/common/icons/order-by-dataset.js +0 -39
  220. package/dist/common/icons/order-by-list.d.ts +0 -12
  221. package/dist/common/icons/order-by-list.js +0 -31
  222. package/dist/common/icons/pause.d.ts +0 -9
  223. package/dist/common/icons/pause.js +0 -58
  224. package/dist/common/icons/picture.d.ts +0 -9
  225. package/dist/common/icons/picture.js +0 -60
  226. package/dist/common/icons/pin.d.ts +0 -9
  227. package/dist/common/icons/pin.js +0 -66
  228. package/dist/common/icons/play.d.ts +0 -9
  229. package/dist/common/icons/play.js +0 -58
  230. package/dist/common/icons/polygon.d.ts +0 -10
  231. package/dist/common/icons/polygon.js +0 -80
  232. package/dist/common/icons/rectangle.d.ts +0 -10
  233. package/dist/common/icons/rectangle.js +0 -81
  234. package/dist/common/icons/reduce.d.ts +0 -9
  235. package/dist/common/icons/reduce.js +0 -61
  236. package/dist/common/icons/reset.d.ts +0 -9
  237. package/dist/common/icons/reset.js +0 -58
  238. package/dist/common/icons/rocket.d.ts +0 -9
  239. package/dist/common/icons/rocket.js +0 -58
  240. package/dist/common/icons/save.d.ts +0 -9
  241. package/dist/common/icons/save.js +0 -60
  242. package/dist/common/icons/save2.d.ts +0 -9
  243. package/dist/common/icons/save2.js +0 -64
  244. package/dist/common/icons/search.d.ts +0 -9
  245. package/dist/common/icons/search.js +0 -60
  246. package/dist/common/icons/settings.d.ts +0 -9
  247. package/dist/common/icons/settings.js +0 -60
  248. package/dist/common/icons/share.d.ts +0 -9
  249. package/dist/common/icons/share.js +0 -58
  250. package/dist/common/icons/split.d.ts +0 -9
  251. package/dist/common/icons/split.js +0 -86
  252. package/dist/common/icons/square-select.d.ts +0 -9
  253. package/dist/common/icons/square-select.js +0 -60
  254. package/dist/common/icons/sun.d.ts +0 -14
  255. package/dist/common/icons/sun.js +0 -93
  256. package/dist/common/icons/sunrise.d.ts +0 -14
  257. package/dist/common/icons/sunrise.js +0 -89
  258. package/dist/common/icons/sunset.d.ts +0 -14
  259. package/dist/common/icons/sunset.js +0 -89
  260. package/dist/common/icons/trash.d.ts +0 -9
  261. package/dist/common/icons/trash.js +0 -60
  262. package/dist/common/icons/vert-dots.d.ts +0 -9
  263. package/dist/common/icons/vert-dots.js +0 -96
  264. package/dist/common/icons/vert-three-dots.d.ts +0 -9
  265. package/dist/common/icons/vert-three-dots.js +0 -71
  266. package/dist/common/icons/warning-sign.d.ts +0 -15
  267. package/dist/common/icons/warning-sign.js +0 -80
  268. package/dist/common/icons/warning.d.ts +0 -10
  269. package/dist/common/icons/warning.js +0 -73
  270. package/dist/common/image-preview.d.ts +0 -15
  271. package/dist/common/image-preview.js +0 -71
  272. package/dist/common/index.d.ts +0 -3
  273. package/dist/common/index.js +0 -273
  274. package/dist/common/info-helper.d.ts +0 -10
  275. package/dist/common/info-helper.js +0 -75
  276. package/dist/common/item-selector/accessor.d.ts +0 -7
  277. package/dist/common/item-selector/accessor.js +0 -39
  278. package/dist/common/item-selector/chickleted-input.d.ts +0 -22
  279. package/dist/common/item-selector/chickleted-input.js +0 -176
  280. package/dist/common/item-selector/dropdown-list.d.ts +0 -72
  281. package/dist/common/item-selector/dropdown-list.js +0 -295
  282. package/dist/common/item-selector/item-selector.d.ts +0 -47
  283. package/dist/common/item-selector/item-selector.js +0 -351
  284. package/dist/common/item-selector/typeahead.d.ts +0 -117
  285. package/dist/common/item-selector/typeahead.js +0 -498
  286. package/dist/common/line-chart.d.ts +0 -34
  287. package/dist/common/line-chart.js +0 -126
  288. package/dist/common/loading-spinner.d.ts +0 -9
  289. package/dist/common/loading-spinner.js +0 -56
  290. package/dist/common/logo.d.ts +0 -8
  291. package/dist/common/logo.js +0 -82
  292. package/dist/common/map-layer-selector.d.ts +0 -13
  293. package/dist/common/map-layer-selector.js +0 -48
  294. package/dist/common/modal.d.ts +0 -64
  295. package/dist/common/modal.js +0 -208
  296. package/dist/common/portaled.d.ts +0 -578
  297. package/dist/common/portaled.js +0 -340
  298. package/dist/common/progress-bar.d.ts +0 -12
  299. package/dist/common/progress-bar.js +0 -54
  300. package/dist/common/range-brush.d.ts +0 -19
  301. package/dist/common/range-brush.js +0 -326
  302. package/dist/common/range-plot.d.ts +0 -39
  303. package/dist/common/range-plot.js +0 -137
  304. package/dist/common/range-slider.d.ts +0 -34
  305. package/dist/common/range-slider.js +0 -329
  306. package/dist/common/slider/mouse-event.d.ts +0 -27
  307. package/dist/common/slider/mouse-event.js +0 -129
  308. package/dist/common/slider/slider-bar-handle.d.ts +0 -29
  309. package/dist/common/slider/slider-bar-handle.js +0 -115
  310. package/dist/common/slider/slider-handle.d.ts +0 -33
  311. package/dist/common/slider/slider-handle.js +0 -162
  312. package/dist/common/slider/slider.d.ts +0 -72
  313. package/dist/common/slider/slider.js +0 -247
  314. package/dist/common/styled-components.d.ts +0 -128
  315. package/dist/common/styled-components.js +0 -531
  316. package/dist/common/switch.d.ts +0 -16
  317. package/dist/common/switch.js +0 -30
  318. package/dist/common/time-range-slider-time-title.d.ts +0 -9
  319. package/dist/common/time-range-slider-time-title.js +0 -74
  320. package/dist/common/time-range-slider.d.ts +0 -35
  321. package/dist/common/time-range-slider.js +0 -131
  322. package/dist/common/time-slider-marker.d.ts +0 -21
  323. package/dist/common/time-slider-marker.js +0 -141
  324. package/dist/common/timeline-slider.d.ts +0 -13
  325. package/dist/common/timeline-slider.js +0 -153
  326. package/dist/common/tippy-tooltip.d.ts +0 -6
  327. package/dist/common/tippy-tooltip.js +0 -134
  328. package/dist/common/toolbar-item.d.ts +0 -14
  329. package/dist/common/toolbar-item.js +0 -73
  330. package/dist/common/toolbar.d.ts +0 -5
  331. package/dist/common/toolbar.js +0 -33
  332. package/dist/common/vertical-toolbar.d.ts +0 -3
  333. package/dist/common/vertical-toolbar.js +0 -22
  334. package/dist/connect/keplergl-connect.d.ts +0 -9
  335. package/dist/connect/keplergl-connect.js +0 -51
  336. package/dist/connect/with-local-selector.d.ts +0 -6
  337. package/dist/connect/with-local-selector.js +0 -110
  338. package/dist/container.d.ts +0 -39
  339. package/dist/container.js +0 -222
  340. package/dist/context.d.ts +0 -27
  341. package/dist/context.js +0 -49
  342. package/dist/dnd-context.d.ts +0 -13
  343. package/dist/dnd-context.js +0 -157
  344. package/dist/editor/editor.d.ts +0 -31
  345. package/dist/editor/editor.js +0 -253
  346. package/dist/editor/feature-action-panel.d.ts +0 -32
  347. package/dist/editor/feature-action-panel.js +0 -171
  348. package/dist/effects/compact-color-picker.d.ts +0 -10
  349. package/dist/effects/compact-color-picker.js +0 -130
  350. package/dist/effects/effect-configurator.d.ts +0 -17
  351. package/dist/effects/effect-configurator.js +0 -302
  352. package/dist/effects/effect-list.d.ts +0 -15
  353. package/dist/effects/effect-list.js +0 -153
  354. package/dist/effects/effect-manager.d.ts +0 -22
  355. package/dist/effects/effect-manager.js +0 -142
  356. package/dist/effects/effect-panel-header.d.ts +0 -45
  357. package/dist/effects/effect-panel-header.js +0 -206
  358. package/dist/effects/effect-panel.d.ts +0 -24
  359. package/dist/effects/effect-panel.js +0 -149
  360. package/dist/effects/effect-time-configurator.d.ts +0 -20
  361. package/dist/effects/effect-time-configurator.js +0 -340
  362. package/dist/effects/effect-time-selector.d.ts +0 -16
  363. package/dist/effects/effect-time-selector.js +0 -181
  364. package/dist/effects/effect-time-slider.d.ts +0 -34
  365. package/dist/effects/effect-time-slider.js +0 -220
  366. package/dist/effects/effect-type-dropdown-list.d.ts +0 -18
  367. package/dist/effects/effect-type-dropdown-list.js +0 -77
  368. package/dist/effects/effect-type-list-item.d.ts +0 -22
  369. package/dist/effects/effect-type-list-item.js +0 -105
  370. package/dist/effects/effect-type-selector.d.ts +0 -30
  371. package/dist/effects/effect-type-selector.js +0 -92
  372. package/dist/effects/side-panel-title.d.ts +0 -7
  373. package/dist/effects/side-panel-title.js +0 -47
  374. package/dist/effects/timezone-selector.d.ts +0 -19
  375. package/dist/effects/timezone-selector.js +0 -71
  376. package/dist/filter-animation-controller.d.ts +0 -17
  377. package/dist/filter-animation-controller.js +0 -73
  378. package/dist/filters/components.d.ts +0 -3
  379. package/dist/filters/components.js +0 -20
  380. package/dist/filters/filter-panels/filter-panel-with-field-select.d.ts +0 -10
  381. package/dist/filters/filter-panels/filter-panel-with-field-select.js +0 -90
  382. package/dist/filters/filter-panels/multi-select-filter-panel.d.ts +0 -9
  383. package/dist/filters/filter-panels/multi-select-filter-panel.js +0 -56
  384. package/dist/filters/filter-panels/new-filter-panel.d.ts +0 -12
  385. package/dist/filters/filter-panels/new-filter-panel.js +0 -78
  386. package/dist/filters/filter-panels/polygon-filter-panel.d.ts +0 -9
  387. package/dist/filters/filter-panels/polygon-filter-panel.js +0 -80
  388. package/dist/filters/filter-panels/range-filter-panel.d.ts +0 -9
  389. package/dist/filters/filter-panels/range-filter-panel.js +0 -56
  390. package/dist/filters/filter-panels/single-select-filter-panel.d.ts +0 -9
  391. package/dist/filters/filter-panels/single-select-filter-panel.js +0 -56
  392. package/dist/filters/filter-panels/time-range-filter-panel.d.ts +0 -8
  393. package/dist/filters/filter-panels/time-range-filter-panel.js +0 -84
  394. package/dist/filters/filter-panels/types.d.ts +0 -36
  395. package/dist/filters/filter-panels/types.js +0 -6
  396. package/dist/filters/index.d.ts +0 -7
  397. package/dist/filters/index.js +0 -64
  398. package/dist/filters/multi-select-filter.d.ts +0 -3
  399. package/dist/filters/multi-select-filter.js +0 -37
  400. package/dist/filters/polygon-filter.d.ts +0 -4
  401. package/dist/filters/polygon-filter.js +0 -88
  402. package/dist/filters/range-filter.d.ts +0 -8
  403. package/dist/filters/range-filter.js +0 -38
  404. package/dist/filters/single-select-filter.d.ts +0 -3
  405. package/dist/filters/single-select-filter.js +0 -46
  406. package/dist/filters/time-range-filter.d.ts +0 -29
  407. package/dist/filters/time-range-filter.js +0 -72
  408. package/dist/filters/time-widget-top.d.ts +0 -8
  409. package/dist/filters/time-widget-top.js +0 -103
  410. package/dist/filters/time-widget.d.ts +0 -10
  411. package/dist/filters/time-widget.js +0 -115
  412. package/dist/filters/types.d.ts +0 -58
  413. package/dist/filters/types.js +0 -6
  414. package/dist/geocoder/geocoder.d.ts +0 -31
  415. package/dist/geocoder/geocoder.js +0 -319
  416. package/dist/geocoder-panel.d.ts +0 -31
  417. package/dist/geocoder-panel.js +0 -232
  418. package/dist/hooks/use-cloud-list-provider.d.ts +0 -11
  419. package/dist/hooks/use-cloud-list-provider.js +0 -57
  420. package/dist/hooks/use-dnd-effects.d.ts +0 -9
  421. package/dist/hooks/use-dnd-effects.js +0 -88
  422. package/dist/hooks/use-dnd-layers.d.ts +0 -9
  423. package/dist/hooks/use-dnd-layers.js +0 -95
  424. package/dist/hooks/use-feature-flags.d.ts +0 -5
  425. package/dist/hooks/use-feature-flags.js +0 -21
  426. package/dist/index.d.ts +0 -233
  427. package/dist/index.js +0 -2514
  428. package/dist/injector.d.ts +0 -29
  429. package/dist/injector.js +0 -178
  430. package/dist/kepler-gl.d.ts +0 -323
  431. package/dist/kepler-gl.js +0 -603
  432. package/dist/layer-animation-controller.d.ts +0 -13
  433. package/dist/layer-animation-controller.js +0 -58
  434. package/dist/map/coordinate-info.d.ts +0 -7
  435. package/dist/map/coordinate-info.js +0 -51
  436. package/dist/map/effects/effect-control.d.ts +0 -16
  437. package/dist/map/effects/effect-control.js +0 -62
  438. package/dist/map/layer-hover-info.d.ts +0 -13
  439. package/dist/map/layer-hover-info.js +0 -224
  440. package/dist/map/layer-selector-panel.d.ts +0 -21
  441. package/dist/map/layer-selector-panel.js +0 -98
  442. package/dist/map/lazy-tippy.d.ts +0 -7
  443. package/dist/map/lazy-tippy.js +0 -74
  444. package/dist/map/locale-panel.d.ts +0 -16
  445. package/dist/map/locale-panel.js +0 -91
  446. package/dist/map/map-control-panel.d.ts +0 -19
  447. package/dist/map/map-control-panel.js +0 -152
  448. package/dist/map/map-control-toolbar.d.ts +0 -2
  449. package/dist/map/map-control-toolbar.js +0 -25
  450. package/dist/map/map-control-tooltip.d.ts +0 -8
  451. package/dist/map/map-control-tooltip.js +0 -41
  452. package/dist/map/map-control.d.ts +0 -53
  453. package/dist/map/map-control.js +0 -80
  454. package/dist/map/map-draw-panel.d.ts +0 -20
  455. package/dist/map/map-draw-panel.js +0 -114
  456. package/dist/map/map-legend-panel.d.ts +0 -35
  457. package/dist/map/map-legend-panel.js +0 -178
  458. package/dist/map/map-legend.d.ts +0 -55
  459. package/dist/map/map-legend.js +0 -254
  460. package/dist/map/map-popover-content.d.ts +0 -28
  461. package/dist/map/map-popover-content.js +0 -35
  462. package/dist/map/map-popover.d.ts +0 -33
  463. package/dist/map/map-popover.js +0 -276
  464. package/dist/map/split-map-button.d.ts +0 -20
  465. package/dist/map/split-map-button.js +0 -76
  466. package/dist/map/toggle-3d-button.d.ts +0 -17
  467. package/dist/map/toggle-3d-button.js +0 -65
  468. package/dist/map-container.d.ts +0 -72
  469. package/dist/map-container.js +0 -1003
  470. package/dist/map-view-state-context.d.ts +0 -17
  471. package/dist/map-view-state-context.js +0 -117
  472. package/dist/maps-layout.d.ts +0 -12
  473. package/dist/maps-layout.js +0 -64
  474. package/dist/modal-container.d.ts +0 -59
  475. package/dist/modal-container.js +0 -473
  476. package/dist/modals/add-map-style-modal.d.ts +0 -16
  477. package/dist/modals/add-map-style-modal.js +0 -242
  478. package/dist/modals/cloud-components/cloud-header.d.ts +0 -8
  479. package/dist/modals/cloud-components/cloud-header.js +0 -65
  480. package/dist/modals/cloud-components/cloud-item.d.ts +0 -5
  481. package/dist/modals/cloud-components/cloud-item.js +0 -72
  482. package/dist/modals/cloud-components/cloud-item.spec.d.ts +0 -1
  483. package/dist/modals/cloud-components/cloud-item.spec.js +0 -105
  484. package/dist/modals/cloud-components/cloud-maps.d.ts +0 -8
  485. package/dist/modals/cloud-components/cloud-maps.js +0 -63
  486. package/dist/modals/cloud-components/cloud-maps.spec.d.ts +0 -1
  487. package/dist/modals/cloud-components/cloud-maps.spec.js +0 -112
  488. package/dist/modals/cloud-components/provider-loading.d.ts +0 -2
  489. package/dist/modals/cloud-components/provider-loading.js +0 -29
  490. package/dist/modals/cloud-components/provider-select.d.ts +0 -7
  491. package/dist/modals/cloud-components/provider-select.js +0 -40
  492. package/dist/modals/cloud-tile.d.ts +0 -15
  493. package/dist/modals/cloud-tile.js +0 -253
  494. package/dist/modals/data-table-modal.d.ts +0 -37
  495. package/dist/modals/data-table-modal.js +0 -316
  496. package/dist/modals/delete-data-modal.d.ts +0 -10
  497. package/dist/modals/delete-data-modal.js +0 -54
  498. package/dist/modals/error-display.d.ts +0 -6
  499. package/dist/modals/error-display.js +0 -39
  500. package/dist/modals/export-data-modal.d.ts +0 -23
  501. package/dist/modals/export-data-modal.js +0 -212
  502. package/dist/modals/export-image-modal.d.ts +0 -16
  503. package/dist/modals/export-image-modal.js +0 -136
  504. package/dist/modals/export-map-modal/components.d.ts +0 -8
  505. package/dist/modals/export-map-modal/components.js +0 -51
  506. package/dist/modals/export-map-modal/export-html-map.d.ts +0 -12
  507. package/dist/modals/export-map-modal/export-html-map.js +0 -138
  508. package/dist/modals/export-map-modal/export-json-map.d.ts +0 -9
  509. package/dist/modals/export-map-modal/export-json-map.js +0 -100
  510. package/dist/modals/export-map-modal/export-map-modal.d.ts +0 -27
  511. package/dist/modals/export-map-modal/export-map-modal.js +0 -103
  512. package/dist/modals/image-modal-container.d.ts +0 -16
  513. package/dist/modals/image-modal-container.js +0 -64
  514. package/dist/modals/load-data-modal.d.ts +0 -36
  515. package/dist/modals/load-data-modal.js +0 -98
  516. package/dist/modals/load-storage-map.d.ts +0 -5
  517. package/dist/modals/load-storage-map.js +0 -95
  518. package/dist/modals/load-storage-map.spec.d.ts +0 -1
  519. package/dist/modals/load-storage-map.spec.js +0 -237
  520. package/dist/modals/loading-dialog.d.ts +0 -7
  521. package/dist/modals/loading-dialog.js +0 -48
  522. package/dist/modals/modal-dialog.d.ts +0 -2
  523. package/dist/modals/modal-dialog.js +0 -20
  524. package/dist/modals/modal-tabs.d.ts +0 -27
  525. package/dist/modals/modal-tabs.js +0 -99
  526. package/dist/modals/overwrite-map-modal.d.ts +0 -16
  527. package/dist/modals/overwrite-map-modal.js +0 -107
  528. package/dist/modals/save-map-modal.d.ts +0 -28
  529. package/dist/modals/save-map-modal.js +0 -206
  530. package/dist/modals/save-map-modal.spec.d.ts +0 -1
  531. package/dist/modals/save-map-modal.spec.js +0 -218
  532. package/dist/modals/share-map-modal.d.ts +0 -26
  533. package/dist/modals/share-map-modal.js +0 -195
  534. package/dist/modals/share-map-modal.spec.d.ts +0 -1
  535. package/dist/modals/share-map-modal.spec.js +0 -202
  536. package/dist/modals/status-panel.d.ts +0 -13
  537. package/dist/modals/status-panel.js +0 -83
  538. package/dist/modals/storage-map-viewer.d.ts +0 -21
  539. package/dist/modals/storage-map-viewer.js +0 -127
  540. package/dist/notification-panel/notification-item.d.ts +0 -67
  541. package/dist/notification-panel/notification-item.js +0 -185
  542. package/dist/notification-panel.d.ts +0 -13
  543. package/dist/notification-panel.js +0 -86
  544. package/dist/plot-container.d.ts +0 -24
  545. package/dist/plot-container.js +0 -268
  546. package/dist/side-panel/add-by-dataset-button.d.ts +0 -12
  547. package/dist/side-panel/add-by-dataset-button.js +0 -153
  548. package/dist/side-panel/cloud-storage-dropdown.d.ts +0 -6
  549. package/dist/side-panel/cloud-storage-dropdown.js +0 -46
  550. package/dist/side-panel/common/dataset-info.d.ts +0 -10
  551. package/dist/side-panel/common/dataset-info.js +0 -43
  552. package/dist/side-panel/common/dataset-tag.d.ts +0 -17
  553. package/dist/side-panel/common/dataset-tag.js +0 -72
  554. package/dist/side-panel/common/dataset-title.d.ts +0 -22
  555. package/dist/side-panel/common/dataset-title.js +0 -171
  556. package/dist/side-panel/common/source-data-catalog.d.ts +0 -28
  557. package/dist/side-panel/common/source-data-catalog.js +0 -62
  558. package/dist/side-panel/common/source-data-selector.d.ts +0 -8
  559. package/dist/side-panel/common/source-data-selector.js +0 -80
  560. package/dist/side-panel/common/types.d.ts +0 -43
  561. package/dist/side-panel/common/types.js +0 -6
  562. package/dist/side-panel/custom-panel.d.ts +0 -8
  563. package/dist/side-panel/custom-panel.js +0 -43
  564. package/dist/side-panel/filter-manager.d.ts +0 -32
  565. package/dist/side-panel/filter-manager.js +0 -223
  566. package/dist/side-panel/filter-panel/add-filter-button.d.ts +0 -8
  567. package/dist/side-panel/filter-panel/add-filter-button.js +0 -34
  568. package/dist/side-panel/filter-panel/filter-panel-header.d.ts +0 -24
  569. package/dist/side-panel/filter-panel/filter-panel-header.js +0 -67
  570. package/dist/side-panel/filter-panel/filter-panel.d.ts +0 -23
  571. package/dist/side-panel/filter-panel/filter-panel.js +0 -131
  572. package/dist/side-panel/interaction-manager.d.ts +0 -18
  573. package/dist/side-panel/interaction-manager.js +0 -54
  574. package/dist/side-panel/interaction-panel/brush-config.d.ts +0 -15
  575. package/dist/side-panel/interaction-panel/brush-config.js +0 -54
  576. package/dist/side-panel/interaction-panel/interaction-panel.d.ts +0 -21
  577. package/dist/side-panel/interaction-panel/interaction-panel.js +0 -143
  578. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +0 -30
  579. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +0 -266
  580. package/dist/side-panel/interaction-panel/tooltip-config.d.ts +0 -37
  581. package/dist/side-panel/interaction-panel/tooltip-config.js +0 -176
  582. package/dist/side-panel/layer-manager.d.ts +0 -42
  583. package/dist/side-panel/layer-manager.js +0 -240
  584. package/dist/side-panel/layer-panel/add-layer-button.d.ts +0 -8
  585. package/dist/side-panel/layer-panel/add-layer-button.js +0 -34
  586. package/dist/side-panel/layer-panel/color-palette.d.ts +0 -11
  587. package/dist/side-panel/layer-panel/color-palette.js +0 -71
  588. package/dist/side-panel/layer-panel/color-range-selector.d.ts +0 -47
  589. package/dist/side-panel/layer-panel/color-range-selector.js +0 -270
  590. package/dist/side-panel/layer-panel/color-selector.d.ts +0 -33
  591. package/dist/side-panel/layer-panel/color-selector.js +0 -253
  592. package/dist/side-panel/layer-panel/column-selector.d.ts +0 -22
  593. package/dist/side-panel/layer-panel/column-selector.js +0 -65
  594. package/dist/side-panel/layer-panel/custom-palette.d.ts +0 -43
  595. package/dist/side-panel/layer-panel/custom-palette.js +0 -293
  596. package/dist/side-panel/layer-panel/custom-picker.d.ts +0 -24
  597. package/dist/side-panel/layer-panel/custom-picker.js +0 -116
  598. package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +0 -22
  599. package/dist/side-panel/layer-panel/dataset-layer-group.js +0 -71
  600. package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +0 -24
  601. package/dist/side-panel/layer-panel/dataset-layer-section.js +0 -70
  602. package/dist/side-panel/layer-panel/dataset-section.d.ts +0 -23
  603. package/dist/side-panel/layer-panel/dataset-section.js +0 -91
  604. package/dist/side-panel/layer-panel/dimension-scale-selector.d.ts +0 -10
  605. package/dist/side-panel/layer-panel/dimension-scale-selector.js +0 -44
  606. package/dist/side-panel/layer-panel/how-to-button.d.ts +0 -6
  607. package/dist/side-panel/layer-panel/how-to-button.js +0 -38
  608. package/dist/side-panel/layer-panel/layer-color-selector.d.ts +0 -42
  609. package/dist/side-panel/layer-panel/layer-color-selector.js +0 -118
  610. package/dist/side-panel/layer-panel/layer-column-config.d.ts +0 -25
  611. package/dist/side-panel/layer-panel/layer-column-config.js +0 -109
  612. package/dist/side-panel/layer-panel/layer-config-group.d.ts +0 -44
  613. package/dist/side-panel/layer-panel/layer-config-group.js +0 -176
  614. package/dist/side-panel/layer-panel/layer-configurator.d.ts +0 -75
  615. package/dist/side-panel/layer-panel/layer-configurator.js +0 -735
  616. package/dist/side-panel/layer-panel/layer-error-message.d.ts +0 -6
  617. package/dist/side-panel/layer-panel/layer-error-message.js +0 -38
  618. package/dist/side-panel/layer-panel/layer-list.d.ts +0 -20
  619. package/dist/side-panel/layer-panel/layer-list.js +0 -191
  620. package/dist/side-panel/layer-panel/layer-panel-header.d.ts +0 -75
  621. package/dist/side-panel/layer-panel/layer-panel-header.js +0 -310
  622. package/dist/side-panel/layer-panel/layer-panel.d.ts +0 -38
  623. package/dist/side-panel/layer-panel/layer-panel.js +0 -194
  624. package/dist/side-panel/layer-panel/layer-type-dropdown-list.d.ts +0 -22
  625. package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +0 -89
  626. package/dist/side-panel/layer-panel/layer-type-list-item.d.ts +0 -22
  627. package/dist/side-panel/layer-panel/layer-type-list-item.js +0 -77
  628. package/dist/side-panel/layer-panel/layer-type-selector.d.ts +0 -22
  629. package/dist/side-panel/layer-panel/layer-type-selector.js +0 -73
  630. package/dist/side-panel/layer-panel/single-color-palette.d.ts +0 -9
  631. package/dist/side-panel/layer-panel/single-color-palette.js +0 -61
  632. package/dist/side-panel/layer-panel/text-label-panel.d.ts +0 -17
  633. package/dist/side-panel/layer-panel/text-label-panel.js +0 -198
  634. package/dist/side-panel/layer-panel/vis-config-by-field-selector.d.ts +0 -27
  635. package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +0 -117
  636. package/dist/side-panel/layer-panel/vis-config-slider.d.ts +0 -20
  637. package/dist/side-panel/layer-panel/vis-config-slider.js +0 -190
  638. package/dist/side-panel/layer-panel/vis-config-switch.d.ts +0 -16
  639. package/dist/side-panel/layer-panel/vis-config-switch.js +0 -71
  640. package/dist/side-panel/map-manager.d.ts +0 -27
  641. package/dist/side-panel/map-manager.js +0 -159
  642. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.d.ts +0 -14
  643. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +0 -96
  644. package/dist/side-panel/map-style-panel/map-layer-group-item.d.ts +0 -29
  645. package/dist/side-panel/map-style-panel/map-layer-group-item.js +0 -111
  646. package/dist/side-panel/map-style-panel/map-layer-selector.d.ts +0 -23
  647. package/dist/side-panel/map-style-panel/map-layer-selector.js +0 -91
  648. package/dist/side-panel/map-style-panel/map-style-selector.d.ts +0 -23
  649. package/dist/side-panel/map-style-panel/map-style-selector.js +0 -112
  650. package/dist/side-panel/panel-dropdown.d.ts +0 -18
  651. package/dist/side-panel/panel-dropdown.js +0 -79
  652. package/dist/side-panel/panel-header-action.d.ts +0 -22
  653. package/dist/side-panel/panel-header-action.js +0 -87
  654. package/dist/side-panel/panel-header.d.ts +0 -84
  655. package/dist/side-panel/panel-header.js +0 -341
  656. package/dist/side-panel/panel-tab.d.ts +0 -20
  657. package/dist/side-panel/panel-tab.js +0 -68
  658. package/dist/side-panel/panel-title.d.ts +0 -7
  659. package/dist/side-panel/panel-title.js +0 -51
  660. package/dist/side-panel/panel-toggle.d.ts +0 -13
  661. package/dist/side-panel/panel-toggle.js +0 -60
  662. package/dist/side-panel/panel-view-list-toggle.d.ts +0 -47
  663. package/dist/side-panel/panel-view-list-toggle.js +0 -123
  664. package/dist/side-panel/side-bar.d.ts +0 -78
  665. package/dist/side-panel/side-bar.js +0 -159
  666. package/dist/side-panel.d.ts +0 -19
  667. package/dist/side-panel.js +0 -239
  668. package/dist/types.d.ts +0 -47
  669. package/dist/types.js +0 -6
@@ -1,231 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports.LegendRow = exports["default"] = void 0;
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
24
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
27
-
28
- var _react = _interopRequireWildcard(require("react"));
29
-
30
- var _styledComponents = _interopRequireDefault(require("styled-components"));
31
-
32
- var _reselect = require("reselect");
33
-
34
- var _moment = _interopRequireDefault(require("moment"));
35
-
36
- var _constants = require("@kepler.gl/constants");
37
-
38
- var _utils = require("@kepler.gl/utils");
39
-
40
- var _templateObject;
41
-
42
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
43
-
44
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
45
-
46
- var ROW_H = 10;
47
- var GAP = 4;
48
- var RECT_W = 20;
49
-
50
- var StyledLegend = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n\n max-height: 150px;\n overflow-y: auto;\n\n svg {\n text {\n font-size: 9px;\n fill: ", ";\n }\n }\n"])), function (props) {
51
- return props.theme.sidePanelScrollBar;
52
- }, function (props) {
53
- return props.theme.textColor;
54
- });
55
-
56
- var defaultFormat = function defaultFormat(d) {
57
- return d;
58
- };
59
-
60
- var getTimeLabelFormat = function getTimeLabelFormat(domain) {
61
- var formatter = (0, _utils.getTimeWidgetHintFormatter)(domain);
62
- return function (val) {
63
- return _moment["default"].utc(val).format(formatter);
64
- };
65
- };
66
-
67
- var getQuantLabelFormat = function getQuantLabelFormat(domain, fieldType) {
68
- // quant scale can only be assigned to linear Fields: real, timestamp, integer
69
- return fieldType === _constants.ALL_FIELD_TYPES.timestamp ? getTimeLabelFormat(domain) : !fieldType ? defaultFormat : function (n) {
70
- return (0, _utils.formatNumber)(n, fieldType);
71
- };
72
- };
73
-
74
- var getOrdinalLegends = function getOrdinalLegends(scale) {
75
- var domain = scale.domain();
76
- return {
77
- data: domain.map(scale),
78
- labels: domain
79
- };
80
- };
81
-
82
- var getQuantLegends = function getQuantLegends(scale, labelFormat) {
83
- if (typeof scale.invertExtent !== 'function') {
84
- // only quantile, quantize, threshold scale has invertExtent method
85
- return {
86
- data: [],
87
- labels: []
88
- };
89
- }
90
-
91
- var labels = scale.range().map(function (d) {
92
- var invert = scale.invertExtent(d);
93
- return "".concat(labelFormat(invert[0]), " to ").concat(labelFormat(invert[1]));
94
- });
95
- return {
96
- data: scale.range(),
97
- labels: labels
98
- };
99
- };
100
-
101
- var ColorLegend = /*#__PURE__*/function (_Component) {
102
- (0, _inherits2["default"])(ColorLegend, _Component);
103
-
104
- var _super = _createSuper(ColorLegend);
105
-
106
- function ColorLegend() {
107
- var _this;
108
-
109
- (0, _classCallCheck2["default"])(this, ColorLegend);
110
-
111
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
112
- args[_key] = arguments[_key];
113
- }
114
-
115
- _this = _super.call.apply(_super, [this].concat(args));
116
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "domainSelector", function (props) {
117
- return props.domain;
118
- });
119
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "rangeSelector", function (props) {
120
- return props.range;
121
- });
122
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "labelFormatSelector", function (props) {
123
- return props.labelFormat;
124
- });
125
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "scaleTypeSelector", function (props) {
126
- return props.scaleType;
127
- });
128
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "fieldTypeSelector", function (props) {
129
- return props.fieldType;
130
- });
131
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "legendsSelector", (0, _reselect.createSelector)(_this.domainSelector, _this.rangeSelector, _this.scaleTypeSelector, _this.labelFormatSelector, _this.fieldTypeSelector, function (domain, range, scaleType, labelFormat, fieldType) {
132
- var empty = {
133
- data: [],
134
- labels: []
135
- };
136
-
137
- if (!range) {
138
- return empty;
139
- }
140
-
141
- if (range.colorLegends) {
142
- return {
143
- data: Object.keys(range.colorLegends),
144
- labels: Object.values(range.colorLegends)
145
- };
146
- } else if (Array.isArray(range.colorMap)) {
147
- return {
148
- data: range.colorMap.map(function (cm) {
149
- return cm[1];
150
- }),
151
- labels: range.colorMap.map(function (cm) {
152
- return cm[0];
153
- })
154
- };
155
- } else if (Array.isArray(range.colors)) {
156
- if (!domain || !scaleType) {
157
- return empty;
158
- }
159
-
160
- var scaleFunction = _constants.SCALE_FUNC[scaleType]; // color scale can only be quantize, quantile or ordinal
161
- // @ts-ignore fix d3 scale
162
-
163
- var scale = scaleFunction().domain(domain).range(range.colors);
164
-
165
- if (scaleType === _constants.SCALE_TYPES.ordinal) {
166
- return getOrdinalLegends(scale);
167
- }
168
-
169
- var formatLabel = labelFormat || getQuantLabelFormat(scale.domain(), fieldType);
170
- return getQuantLegends(scale, formatLabel);
171
- }
172
-
173
- return empty;
174
- }));
175
- return _this;
176
- }
177
-
178
- (0, _createClass2["default"])(ColorLegend, [{
179
- key: "render",
180
- value: function render() {
181
- var _this$props = this.props,
182
- width = _this$props.width,
183
- _this$props$displayLa = _this$props.displayLabel,
184
- displayLabel = _this$props$displayLa === void 0 ? true : _this$props$displayLa;
185
- var legends = this.legendsSelector(this.props);
186
- var height = legends.data.length * (ROW_H + GAP);
187
- return /*#__PURE__*/_react["default"].createElement(StyledLegend, {
188
- className: "styled-color-legend"
189
- }, /*#__PURE__*/_react["default"].createElement("svg", {
190
- width: width,
191
- height: height
192
- }, legends.data.map(function (color, idx) {
193
- return /*#__PURE__*/_react["default"].createElement(LegendRow, {
194
- key: idx,
195
- label: legends.labels[idx],
196
- displayLabel: displayLabel,
197
- color: color,
198
- idx: idx
199
- });
200
- })));
201
- }
202
- }]);
203
- return ColorLegend;
204
- }(_react.Component);
205
-
206
- exports["default"] = ColorLegend;
207
-
208
- var LegendRow = function LegendRow(_ref) {
209
- var _label$toString;
210
-
211
- var _ref$label = _ref.label,
212
- label = _ref$label === void 0 ? '' : _ref$label,
213
- displayLabel = _ref.displayLabel,
214
- color = _ref.color,
215
- idx = _ref.idx;
216
- return /*#__PURE__*/_react["default"].createElement("g", {
217
- transform: "translate(0, ".concat(idx * (ROW_H + GAP), ")")
218
- }, /*#__PURE__*/_react["default"].createElement("rect", {
219
- width: RECT_W,
220
- height: ROW_H,
221
- style: {
222
- fill: color
223
- }
224
- }), /*#__PURE__*/_react["default"].createElement("text", {
225
- x: RECT_W + 8,
226
- y: ROW_H - 1
227
- }, displayLabel ? (_label$toString = label === null || label === void 0 ? void 0 : label.toString()) !== null && _label$toString !== void 0 ? _label$toString : 'N/A' : ''));
228
- };
229
-
230
- exports.LegendRow = LegendRow;
231
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vY29sb3ItbGVnZW5kLnRzeCJdLCJuYW1lcyI6WyJST1dfSCIsIkdBUCIsIlJFQ1RfVyIsIlN0eWxlZExlZ2VuZCIsInN0eWxlZCIsImRpdiIsInByb3BzIiwidGhlbWUiLCJzaWRlUGFuZWxTY3JvbGxCYXIiLCJ0ZXh0Q29sb3IiLCJkZWZhdWx0Rm9ybWF0IiwiZCIsImdldFRpbWVMYWJlbEZvcm1hdCIsImRvbWFpbiIsImZvcm1hdHRlciIsInZhbCIsIm1vbWVudCIsInV0YyIsImZvcm1hdCIsImdldFF1YW50TGFiZWxGb3JtYXQiLCJmaWVsZFR5cGUiLCJBTExfRklFTERfVFlQRVMiLCJ0aW1lc3RhbXAiLCJuIiwiZ2V0T3JkaW5hbExlZ2VuZHMiLCJzY2FsZSIsImRhdGEiLCJtYXAiLCJsYWJlbHMiLCJnZXRRdWFudExlZ2VuZHMiLCJsYWJlbEZvcm1hdCIsImludmVydEV4dGVudCIsInJhbmdlIiwiaW52ZXJ0IiwiQ29sb3JMZWdlbmQiLCJzY2FsZVR5cGUiLCJkb21haW5TZWxlY3RvciIsInJhbmdlU2VsZWN0b3IiLCJzY2FsZVR5cGVTZWxlY3RvciIsImxhYmVsRm9ybWF0U2VsZWN0b3IiLCJmaWVsZFR5cGVTZWxlY3RvciIsImVtcHR5IiwiY29sb3JMZWdlbmRzIiwiT2JqZWN0Iiwia2V5cyIsInZhbHVlcyIsIkFycmF5IiwiaXNBcnJheSIsImNvbG9yTWFwIiwiY20iLCJjb2xvcnMiLCJzY2FsZUZ1bmN0aW9uIiwiU0NBTEVfRlVOQyIsIlNDQUxFX1RZUEVTIiwib3JkaW5hbCIsImZvcm1hdExhYmVsIiwid2lkdGgiLCJkaXNwbGF5TGFiZWwiLCJsZWdlbmRzIiwibGVnZW5kc1NlbGVjdG9yIiwiaGVpZ2h0IiwibGVuZ3RoIiwiY29sb3IiLCJpZHgiLCJDb21wb25lbnQiLCJMZWdlbmRSb3ciLCJsYWJlbCIsImZpbGwiLCJ0b1N0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FB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LFVBQUNtQyxLQUFELEVBQVFDLEdBQVI7QUFBQSw0QkFDaEIsZ0NBQUMsU0FBRDtBQUNFLFVBQUEsR0FBRyxFQUFFQSxHQURQO0FBRUUsVUFBQSxLQUFLLEVBQUVMLE9BQU8sQ0FBQzlCLE1BQVIsQ0FBZW1DLEdBQWYsQ0FGVDtBQUdFLFVBQUEsWUFBWSxFQUFFTixZQUhoQjtBQUlFLFVBQUEsS0FBSyxFQUFFSyxLQUpUO0FBS0UsVUFBQSxHQUFHLEVBQUVDO0FBTFAsVUFEZ0I7QUFBQSxPQUFqQixDQURILENBREYsQ0FERjtBQWVEOzs7RUE1RXNDQyxnQjs7OztBQStFbEMsSUFBTUMsU0FBUyxHQUFHLFNBQVpBLFNBQVk7QUFBQTs7QUFBQSx3QkFBRUMsS0FBRjtBQUFBLE1BQUVBLEtBQUYsMkJBQVUsRUFBVjtBQUFBLE1BQWNULFlBQWQsUUFBY0EsWUFBZDtBQUFBLE1BQTRCSyxLQUE1QixRQUE0QkEsS0FBNUI7QUFBQSxNQUFtQ0MsR0FBbkMsUUFBbUNBLEdBQW5DO0FBQUEsc0JBQ3ZCO0FBQUcsSUFBQSxTQUFTLHlCQUFrQkEsR0FBRyxJQUFJL0QsS0FBSyxHQUFHQyxHQUFaLENBQXJCO0FBQVosa0JBQ0U7QUFBTSxJQUFBLEtBQUssRUFBRUMsTUFBYjtBQUFxQixJQUFBLE1BQU0sRUFBRUYsS0FBN0I7QUFBb0MsSUFBQSxLQUFLLEVBQUU7QUFBQ21FLE1BQUFBLElBQUksRUFBRUw7QUFBUDtBQUEzQyxJQURGLGVBRUU7QUFBTSxJQUFBLENBQUMsRUFBRTVELE1BQU0sR0FBRyxDQUFsQjtBQUFxQixJQUFBLENBQUMsRUFBRUYsS0FBSyxHQUFHO0FBQWhDLEtBQ0d5RCxZQUFZLHNCQUFHUyxLQUFILGFBQUdBLEtBQUgsdUJBQUdBLEtBQUssQ0FBRUUsUUFBUCxFQUFILDZEQUF3QixLQUF4QixHQUFnQyxFQUQvQyxDQUZGLENBRHVCO0FBQUEsQ0FBbEIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnR9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtjcmVhdGVTZWxlY3Rvcn0gZnJvbSAncmVzZWxlY3QnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtTQ0FMRV9UWVBFUywgU0NBTEVfRlVOQywgQUxMX0ZJRUxEX1RZUEVTfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge2dldFRpbWVXaWRnZXRIaW50Rm9ybWF0dGVyLCBmb3JtYXROdW1iZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuXG5jb25zdCBST1dfSCA9IDEwO1xuY29uc3QgR0FQID0gNDtcbmNvbnN0IFJFQ1RfVyA9IDIwO1xuXG5jb25zdCBTdHlsZWRMZWdlbmQgPSBzdHlsZWQuZGl2YFxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVQYW5lbFNjcm9sbEJhcn07XG5cbiAgbWF4LWhlaWdodDogMTUwcHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgc3ZnIHtcbiAgICB0ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgICAgZmlsbDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgZGVmYXVsdEZvcm1hdCA9IGQgPT4gZDtcblxuY29uc3QgZ2V0VGltZUxhYmVsRm9ybWF0ID0gZG9tYWluID0+IHtcbiAgY29uc3QgZm9ybWF0dGVyID0gZ2V0VGltZVdpZGdldEhpbnRGb3JtYXR0ZXIoZG9tYWluKTtcbiAgcmV0dXJuIHZhbCA9PiBtb21lbnQudXRjKHZhbCkuZm9ybWF0KGZvcm1hdHRlcik7XG59O1xuXG5jb25zdCBnZXRRdWFudExhYmVsRm9ybWF0ID0gKGRvbWFpbiwgZmllbGRUeXBlKSA9PiB7XG4gIC8vIHF1YW50IHNjYWxlIGNhbiBvbmx5IGJlIGFzc2lnbmVkIHRvIGxpbmVhciBGaWVsZHM6IHJlYWwsIHRpbWVzdGFtcCwgaW50ZWdlclxuICByZXR1cm4gZmllbGRUeXBlID09PSBBTExfRklFTERfVFlQRVMudGltZXN0YW1wXG4gICAgPyBnZXRUaW1lTGFiZWxGb3JtYXQoZG9tYWluKVxuICAgIDogIWZpZWxkVHlwZVxuICAgID8gZGVmYXVsdEZvcm1hdFxuICAgIDogbiA9PiBmb3JtYXROdW1iZXIobiwgZmllbGRUeXBlKTtcbn07XG5cbmNvbnN0IGdldE9yZGluYWxMZWdlbmRzID0gc2NhbGUgPT4ge1xuICBjb25zdCBkb21haW4gPSBzY2FsZS5kb21haW4oKTtcbiAgcmV0dXJuIHtcbiAgICBkYXRhOiBkb21haW4ubWFwKHNjYWxlKSxcbiAgICBsYWJlbHM6IGRvbWFpblxuICB9O1xufTtcblxuY29uc3QgZ2V0UXVhbnRMZWdlbmRzID0gKHNjYWxlLCBsYWJlbEZvcm1hdCkgPT4ge1xuICBpZiAodHlwZW9mIHNjYWxlLmludmVydEV4dGVudCAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIC8vIG9ubHkgcXVhbnRpbGUsIHF1YW50aXplLCB0aHJlc2hvbGQgc2NhbGUgaGFzIGludmVydEV4dGVudCBtZXRob2RcbiAgICByZXR1cm4ge1xuICAgICAgZGF0YTogW10sXG4gICAgICBsYWJlbHM6IFtdXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IGxhYmVscyA9IHNjYWxlLnJhbmdlKCkubWFwKGQgPT4ge1xuICAgIGNvbnN0IGludmVydCA9IHNjYWxlLmludmVydEV4dGVudChkKTtcbiAgICByZXR1cm4gYCR7bGFiZWxGb3JtYXQoaW52ZXJ0WzBdKX0gdG8gJHtsYWJlbEZvcm1hdChpbnZlcnRbMV0pfWA7XG4gIH0pO1xuXG4gIHJldHVybiB7XG4gICAgZGF0YTogc2NhbGUucmFuZ2UoKSxcbiAgICBsYWJlbHNcbiAgfTtcbn07XG5cbnR5cGUgUmFuZ2VUeXBlID0ge1xuICBjb2xvck1hcD86IFtzdHJpbmcsIHN0cmluZ11bXTtcbiAgY29sb3JMZWdlbmRzPzoge1trZXk6IHN0cmluZ106IHN0cmluZ307XG4gIGNvbG9yczogc3RyaW5nW107XG59O1xuXG5pbnRlcmZhY2UgQ29sb3JMZWdlbmRQcm9wcyB7XG4gIHdpZHRoOiBudW1iZXI7XG4gIHNjYWxlVHlwZT86IHN0cmluZztcbiAgZG9tYWluPzogYW55W10gfCBvYmplY3Q7XG4gIGZpZWxkVHlwZT86IHN0cmluZyB8IG51bGw7XG4gIHJhbmdlPzogUmFuZ2VUeXBlO1xuICBsYWJlbEZvcm1hdD86IEZ1bmN0aW9uO1xuICBkaXNwbGF5TGFiZWw/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb2xvckxlZ2VuZCBleHRlbmRzIENvbXBvbmVudDxDb2xvckxlZ2VuZFByb3BzPiB7XG4gIGRvbWFpblNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMuZG9tYWluO1xuICByYW5nZVNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMucmFuZ2U7XG4gIGxhYmVsRm9ybWF0U2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5sYWJlbEZvcm1hdDtcbiAgc2NhbGVUeXBlU2VsZWN0b3IgPSBwcm9wcyA9PiBwcm9wcy5zY2FsZVR5cGU7XG4gIGZpZWxkVHlwZVNlbGVjdG9yID0gcHJvcHMgPT4gcHJvcHMuZmllbGRUeXBlO1xuXG4gIGxlZ2VuZHNTZWxlY3RvciA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgIHRoaXMuZG9tYWluU2VsZWN0b3IsXG4gICAgdGhpcy5yYW5nZVNlbGVjdG9yLFxuICAgIHRoaXMuc2NhbGVUeXBlU2VsZWN0b3IsXG4gICAgdGhpcy5sYWJlbEZvcm1hdFNlbGVjdG9yLFxuICAgIHRoaXMuZmllbGRUeXBlU2VsZWN0b3IsXG4gICAgKGRvbWFpbiwgcmFuZ2UsIHNjYWxlVHlwZSwgbGFiZWxGb3JtYXQsIGZpZWxkVHlwZSkgPT4ge1xuICAgICAgY29uc3QgZW1wdHkgPSB7XG4gICAgICAgIGRhdGE6IFtdLFxuICAgICAgICBsYWJlbHM6IFtdXG4gICAgICB9O1xuICAgICAgaWYgKCFyYW5nZSkge1xuICAgICAgICByZXR1cm4gZW1wdHk7XG4gICAgICB9XG4gICAgICBpZiAocmFuZ2UuY29sb3JMZWdlbmRzKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZGF0YTogT2JqZWN0LmtleXMocmFuZ2UuY29sb3JMZWdlbmRzKSxcbiAgICAgICAgICBsYWJlbHM6IE9iamVjdC52YWx1ZXMocmFuZ2UuY29sb3JMZWdlbmRzKVxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHJhbmdlLmNvbG9yTWFwKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGRhdGE6IHJhbmdlLmNvbG9yTWFwLm1hcChjbSA9PiBjbVsxXSksXG4gICAgICAgICAgbGFiZWxzOiByYW5nZS5jb2xvck1hcC5tYXAoY20gPT4gY21bMF0pXG4gICAgICAgIH07XG4gICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkocmFuZ2UuY29sb3JzKSkge1xuICAgICAgICBpZiAoIWRvbWFpbiB8fCAhc2NhbGVUeXBlKSB7XG4gICAgICAgICAgcmV0dXJuIGVtcHR5O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc2NhbGVGdW5jdGlvbiA9IFNDQUxFX0ZVTkNbc2NhbGVUeXBlXTtcbiAgICAgICAgLy8gY29sb3Igc2NhbGUgY2FuIG9ubHkgYmUgcXVhbnRpemUsIHF1YW50aWxlIG9yIG9yZGluYWxcbiAgICAgICAgLy8gQHRzLWlnbm9yZSBmaXggZDMgc2NhbGVcbiAgICAgICAgY29uc3Qgc2NhbGUgPSBzY2FsZUZ1bmN0aW9uKClcbiAgICAgICAgICAuZG9tYWluKGRvbWFpbilcbiAgICAgICAgICAucmFuZ2UocmFuZ2UuY29sb3JzKTtcblxuICAgICAgICBpZiAoc2NhbGVUeXBlID09PSBTQ0FMRV9UWVBFUy5vcmRpbmFsKSB7XG4gICAgICAgICAgcmV0dXJuIGdldE9yZGluYWxMZWdlbmRzKHNjYWxlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZvcm1hdExhYmVsID0gbGFiZWxGb3JtYXQgfHwgZ2V0UXVhbnRMYWJlbEZvcm1hdChzY2FsZS5kb21haW4oKSwgZmllbGRUeXBlKTtcblxuICAgICAgICByZXR1cm4gZ2V0UXVhbnRMZWdlbmRzKHNjYWxlLCBmb3JtYXRMYWJlbCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZW1wdHk7XG4gICAgfVxuICApO1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7d2lkdGgsIGRpc3BsYXlMYWJlbCA9IHRydWV9ID0gdGhpcy5wcm9wcztcblxuICAgIGNvbnN0IGxlZ2VuZHMgPSB0aGlzLmxlZ2VuZHNTZWxlY3Rvcih0aGlzLnByb3BzKTtcbiAgICBjb25zdCBoZWlnaHQgPSBsZWdlbmRzLmRhdGEubGVuZ3RoICogKFJPV19IICsgR0FQKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkTGVnZW5kIGNsYXNzTmFtZT1cInN0eWxlZC1jb2xvci1sZWdlbmRcIj5cbiAgICAgICAgPHN2ZyB3aWR0aD17d2lkdGh9IGhlaWdodD17aGVpZ2h0fT5cbiAgICAgICAgICB7bGVnZW5kcy5kYXRhLm1hcCgoY29sb3IsIGlkeCkgPT4gKFxuICAgICAgICAgICAgPExlZ2VuZFJvd1xuICAgICAgICAgICAgICBrZXk9e2lkeH1cbiAgICAgICAgICAgICAgbGFiZWw9e2xlZ2VuZHMubGFiZWxzW2lkeF19XG4gICAgICAgICAgICAgIGRpc3BsYXlMYWJlbD17ZGlzcGxheUxhYmVsfVxuICAgICAgICAgICAgICBjb2xvcj17Y29sb3J9XG4gICAgICAgICAgICAgIGlkeD17aWR4fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L1N0eWxlZExlZ2VuZD5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBMZWdlbmRSb3cgPSAoe2xhYmVsID0gJycsIGRpc3BsYXlMYWJlbCwgY29sb3IsIGlkeH0pID0+IChcbiAgPGcgdHJhbnNmb3JtPXtgdHJhbnNsYXRlKDAsICR7aWR4ICogKFJPV19IICsgR0FQKX0pYH0+XG4gICAgPHJlY3Qgd2lkdGg9e1JFQ1RfV30gaGVpZ2h0PXtST1dfSH0gc3R5bGU9e3tmaWxsOiBjb2xvcn19IC8+XG4gICAgPHRleHQgeD17UkVDVF9XICsgOH0geT17Uk9XX0ggLSAxfT5cbiAgICAgIHtkaXNwbGF5TGFiZWwgPyBsYWJlbD8udG9TdHJpbmcoKSA/PyAnTi9BJyA6ICcnfVxuICAgIDwvdGV4dD5cbiAgPC9nPlxuKTtcbiJdfQ==
@@ -1,8 +0,0 @@
1
- import React, { MouseEventHandler } from 'react';
2
- declare type ButtonProps = {
3
- onClick?: MouseEventHandler<HTMLButtonElement>;
4
- disabled?: boolean;
5
- text?: string;
6
- } & React.ButtonHTMLAttributes<HTMLButtonElement>;
7
- declare const Button: ({ onClick, disabled, text, children, ...props }: ButtonProps) => React.JSX.Element;
8
- export default Button;
@@ -1,46 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
-
14
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
- var _react = _interopRequireDefault(require("react"));
17
-
18
- var _styledComponents = _interopRequireDefault(require("styled-components"));
19
-
20
- var _templateObject;
21
-
22
- var StyledButton = _styledComponents["default"].button(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n background-color: transparent;\n border: none;\n cursor: pointer;\n outline: none;\n transition: ", ";\n height: 2rem;\n display: flex;\n align-items: center;\n padding: 0;\n\n &:hover {\n opacity: 0.8;\n }\n"])), function (props) {
23
- return props.theme.optionButtonColor;
24
- }, function (props) {
25
- return props.theme.transition;
26
- });
27
-
28
- var noop = function noop() {};
29
-
30
- var Button = function Button(_ref) {
31
- var _ref$onClick = _ref.onClick,
32
- onClick = _ref$onClick === void 0 ? noop : _ref$onClick,
33
- _ref$disabled = _ref.disabled,
34
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
35
- _ref$text = _ref.text,
36
- text = _ref$text === void 0 ? '' : _ref$text,
37
- children = _ref.children,
38
- props = (0, _objectWithoutProperties2["default"])(_ref, ["onClick", "disabled", "text", "children"]);
39
- return /*#__PURE__*/_react["default"].createElement(StyledButton, (0, _extends2["default"])({}, props, {
40
- onClick: disabled ? undefined : onClick
41
- }), text || children);
42
- };
43
-
44
- var _default = Button;
45
- exports["default"] = _default;
46
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vZGF0YS10YWJsZS9idXR0b24udHN4Il0sIm5hbWVzIjpbIlN0eWxlZEJ1dHRvbiIsInN0eWxlZCIsImJ1dHRvbiIsInByb3BzIiwidGhlbWUiLCJvcHRpb25CdXR0b25Db2xvciIsInRyYW5zaXRpb24iLCJub29wIiwiQnV0dG9uIiwib25DbGljayIsImRpc2FibGVkIiwidGV4dCIsImNoaWxkcmVuIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFHQTs7QUFDQTs7OztBQUVBLElBQU1BLFlBQVksR0FBR0MsNkJBQU9DLE1BQVYsd1VBQ1AsVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxpQkFBaEI7QUFBQSxDQURFLEVBTUYsVUFBQUYsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZRSxVQUFoQjtBQUFBLENBTkgsQ0FBbEI7O0FBdUJBLElBQU1DLElBQUksR0FBRyxTQUFQQSxJQUFPLEdBQU0sQ0FBRSxDQUFyQjs7QUFDQSxJQUFNQyxNQUFNLEdBQUcsU0FBVEEsTUFBUztBQUFBLDBCQUFFQyxPQUFGO0FBQUEsTUFBRUEsT0FBRiw2QkFBWUYsSUFBWjtBQUFBLDJCQUFrQkcsUUFBbEI7QUFBQSxNQUFrQkEsUUFBbEIsOEJBQTZCLEtBQTdCO0FBQUEsdUJBQW9DQyxJQUFwQztBQUFBLE1BQW9DQSxJQUFwQywwQkFBMkMsRUFBM0M7QUFBQSxNQUErQ0MsUUFBL0MsUUFBK0NBLFFBQS9DO0FBQUEsTUFBNERULEtBQTVEO0FBQUEsc0JBQ2IsZ0NBQUMsWUFBRCxnQ0FBa0JBLEtBQWxCO0FBQXlCLElBQUEsT0FBTyxFQUFFTyxRQUFRLEdBQUdHLFNBQUgsR0FBZUo7QUFBekQsTUFDR0UsSUFBSSxJQUFJQyxRQURYLENBRGE7QUFBQSxDQUFmOztlQU1lSixNIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7TW91c2VFdmVudEhhbmRsZXJ9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5jb25zdCBTdHlsZWRCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5vcHRpb25CdXR0b25Db2xvcn07XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50cmFuc2l0aW9ufTtcbiAgaGVpZ2h0OiAycmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuXG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuODtcbiAgfVxuYDtcblxudHlwZSBCdXR0b25Qcm9wcyA9IHtcbiAgb25DbGljaz86IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxCdXR0b25FbGVtZW50PjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICB0ZXh0Pzogc3RyaW5nO1xufSAmIFJlYWN0LkJ1dHRvbkhUTUxBdHRyaWJ1dGVzPEhUTUxCdXR0b25FbGVtZW50PjtcblxuY29uc3Qgbm9vcCA9ICgpID0+IHt9O1xuY29uc3QgQnV0dG9uID0gKHtvbkNsaWNrID0gbm9vcCwgZGlzYWJsZWQgPSBmYWxzZSwgdGV4dCA9ICcnLCBjaGlsZHJlbiwgLi4ucHJvcHN9OiBCdXR0b25Qcm9wcykgPT4gKFxuICA8U3R5bGVkQnV0dG9uIHsuLi5wcm9wc30gb25DbGljaz17ZGlzYWJsZWQgPyB1bmRlZmluZWQgOiBvbkNsaWNrfT5cbiAgICB7dGV4dCB8fCBjaGlsZHJlbn1cbiAgPC9TdHlsZWRCdXR0b24+XG4pO1xuXG5leHBvcnQgZGVmYXVsdCBCdXR0b247XG4iXX0=
@@ -1,2 +0,0 @@
1
- declare const _default: import("styled-components").StyledComponent<"canvas", any, {}, never>;
2
- export default _default;
@@ -1,32 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
-
12
- var _styledComponents = _interopRequireDefault(require("styled-components"));
13
-
14
- var _templateObject;
15
-
16
- /*
17
- ScrollSync works by getting a callback about the dom elements scroll amount
18
- and then using that to pass into how much to scroll all child components,
19
- it works great!
20
-
21
- Except... Because scrolling is managed by a separate thread, and JavaScript
22
- is only periodically notified of the updated position, there's some latency
23
- issues with this.
24
-
25
- We can hack around this by using a niche property of canvas that removes the
26
- delay in scroll event firing! Easiest way to reproduce: enable "Trace React updates"
27
- in React DevTools (it works by overlaying a viewport-wide canvas over the document).
28
- */
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"])));
30
-
31
- exports["default"] = _default;
32
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vZGF0YS10YWJsZS9jYW52YXMudHN4Il0sIm5hbWVzIjpbInN0eWxlZCIsImNhbnZhcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFHQTs7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO2VBQ2VBLDZCQUFPQyxNIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbi8qXG4gICAgU2Nyb2xsU3luYyB3b3JrcyBieSBnZXR0aW5nIGEgY2FsbGJhY2sgYWJvdXQgdGhlIGRvbSBlbGVtZW50cyBzY3JvbGwgYW1vdW50XG4gICAgYW5kIHRoZW4gdXNpbmcgdGhhdCB0byBwYXNzIGludG8gaG93IG11Y2ggdG8gc2Nyb2xsIGFsbCBjaGlsZCBjb21wb25lbnRzLFxuICAgIGl0IHdvcmtzIGdyZWF0IVxuXG4gICAgRXhjZXB0Li4uIEJlY2F1c2Ugc2Nyb2xsaW5nIGlzIG1hbmFnZWQgYnkgYSBzZXBhcmF0ZSB0aHJlYWQsIGFuZCBKYXZhU2NyaXB0XG4gICAgaXMgb25seSBwZXJpb2RpY2FsbHkgbm90aWZpZWQgb2YgdGhlIHVwZGF0ZWQgcG9zaXRpb24sIHRoZXJlJ3Mgc29tZSBsYXRlbmN5XG4gICAgaXNzdWVzIHdpdGggdGhpcy5cblxuICAgIFdlIGNhbiBoYWNrIGFyb3VuZCB0aGlzIGJ5IHVzaW5nIGEgbmljaGUgcHJvcGVydHkgb2YgY2FudmFzIHRoYXQgcmVtb3ZlcyB0aGVcbiAgICBkZWxheSBpbiBzY3JvbGwgZXZlbnQgZmlyaW5nISBFYXNpZXN0IHdheSB0byByZXByb2R1Y2U6IGVuYWJsZSBcIlRyYWNlIFJlYWN0IHVwZGF0ZXNcIlxuICAgIGluIFJlYWN0IERldlRvb2xzIChpdCB3b3JrcyBieSBvdmVybGF5aW5nIGEgdmlld3BvcnQtd2lkZSBjYW52YXMgb3ZlciB0aGUgZG9jdW1lbnQpLlxuICAqL1xuZXhwb3J0IGRlZmF1bHQgc3R5bGVkLmNhbnZhc2BcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuYDtcbiJdfQ==
@@ -1,43 +0,0 @@
1
- import { DataContainerInterface } from '@kepler.gl/utils';
2
- declare type RenderSizeParam = {
3
- text: {
4
- dataContainer: DataContainerInterface;
5
- column: string;
6
- };
7
- type?: string;
8
- colIdx: number;
9
- numRowsToCalculate?: number;
10
- fontSize?: number;
11
- font?: string;
12
- cellPadding?: number;
13
- maxCellSize?: number;
14
- maxHeaderSize?: number;
15
- minCellSize?: number;
16
- optionsButton?: number;
17
- };
18
- export declare type CellSizeCache = {
19
- [key: string]: {
20
- row: number;
21
- header: number;
22
- };
23
- };
24
- /**
25
- * Measure rows and column content to determine min width for each column
26
- * @param {RenderSizeParam} param0
27
- */
28
- export declare function renderedSize({ text: { dataContainer, column }, type, colIdx, numRowsToCalculate, fontSize, font, cellPadding, maxCellSize, maxHeaderSize, minCellSize, optionsButton }: RenderSizeParam): {
29
- row: number;
30
- header: number;
31
- };
32
- /**
33
- * Adjust cell size based on container width
34
- * @param {number} containerWidth
35
- * @param {CellSizeCache} cellSizeCache
36
- * @param {string[]} pinnedColumns
37
- * @param {string[]} unpinnedColumns
38
- */
39
- export declare function adjustCellsToContainer(containerWidth: number, cellSizeCache: CellSizeCache, pinnedColumns: string[], unpinnedColumns: string[]): {
40
- cellSizeCache: CellSizeCache;
41
- ghost?: number | null;
42
- };
43
- export {};
@@ -1,206 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.renderedSize = renderedSize;
9
- exports.adjustCellsToContainer = adjustCellsToContainer;
10
-
11
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
-
13
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
14
-
15
- var _document = _interopRequireDefault(require("global/document"));
16
-
17
- var _utils = require("@kepler.gl/utils");
18
-
19
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
20
-
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; }
22
-
23
- var MIN_GHOST_CELL_SIZE = 200;
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;
30
-
31
- /**
32
- * Measure rows and column content to determine min width for each column
33
- * @param {RenderSizeParam} param0
34
- */
35
- function renderedSize(_ref) {
36
- var _ref$text = _ref.text,
37
- dataContainer = _ref$text.dataContainer,
38
- column = _ref$text.column,
39
- _ref$type = _ref.type,
40
- type = _ref$type === void 0 ? 'string' : _ref$type,
41
- colIdx = _ref.colIdx,
42
- _ref$numRowsToCalcula = _ref.numRowsToCalculate,
43
- numRowsToCalculate = _ref$numRowsToCalcula === void 0 ? 10 : _ref$numRowsToCalcula,
44
- _ref$fontSize = _ref.fontSize,
45
- fontSize = _ref$fontSize === void 0 ? 12 : _ref$fontSize,
46
- _ref$font = _ref.font,
47
- font = _ref$font === void 0 ? 'Lato' : _ref$font,
48
- _ref$cellPadding = _ref.cellPadding,
49
- cellPadding = _ref$cellPadding === void 0 ? 40 : _ref$cellPadding,
50
- _ref$maxCellSize = _ref.maxCellSize,
51
- maxCellSize = _ref$maxCellSize === void 0 ? 500 : _ref$maxCellSize,
52
- _ref$maxHeaderSize = _ref.maxHeaderSize,
53
- maxHeaderSize = _ref$maxHeaderSize === void 0 ? 500 : _ref$maxHeaderSize,
54
- _ref$minCellSize = _ref.minCellSize,
55
- minCellSize = _ref$minCellSize === void 0 ? MIN_CELL_SIZE : _ref$minCellSize,
56
- _ref$optionsButton = _ref.optionsButton,
57
- optionsButton = _ref$optionsButton === void 0 ? 44 : _ref$optionsButton;
58
-
59
- if (!_document["default"]) {
60
- return {
61
- row: 0,
62
- header: 0
63
- };
64
- }
65
-
66
- var textCanvas = _document["default"].createElement('canvas');
67
-
68
- _document["default"].body.appendChild(textCanvas);
69
-
70
- var context = textCanvas.getContext('2d');
71
- context.font = [fontSize, font].join('px ');
72
- var rowsToSample = (0, _toConsumableArray2["default"])(Array(numRowsToCalculate)).map(function () {
73
- return Math.floor(Math.random() * (dataContainer.numRows() - 1));
74
- }); // If we have less than 10 rows, lets measure all of them
75
-
76
- if (dataContainer.numRows() <= numRowsToCalculate) {
77
- rowsToSample = Array.from(Array(dataContainer.numRows()).keys());
78
- }
79
-
80
- var rowWidth = Math.max.apply(Math, (0, _toConsumableArray2["default"])(rowsToSample.map(function (rowIdx) {
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;
89
- }))); // header cell only has left padding
90
-
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
-
95
- var minHeaderWidth = minCellSize + cellPadding / 2 + optionsButton;
96
- var clampedRowWidth = clamp(minRowWidth, maxCellSize, rowWidth);
97
- var clampedHeaderWidth = clamp(minHeaderWidth, maxHeaderSize, headerWidth); // cleanup
98
-
99
- textCanvas.parentElement.removeChild(textCanvas);
100
- return {
101
- row: clampedRowWidth,
102
- header: clampedHeaderWidth
103
- };
104
- }
105
-
106
- function clamp(min, max, value) {
107
- return Math.max(Math.min(max, value), min);
108
- }
109
-
110
- function getColumnOrder() {
111
- var pinnedColumns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
112
- var unpinnedColumns = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
113
- return [].concat((0, _toConsumableArray2["default"])(pinnedColumns), (0, _toConsumableArray2["default"])(unpinnedColumns));
114
- } // If total min cell size is bigger than containerWidth adjust column
115
-
116
-
117
- function getMinCellSize(cellSizeCache) {
118
- return Object.keys(cellSizeCache).reduce(function (accu, col) {
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)));
121
- }, {});
122
- }
123
-
124
- function getSizeSum(sizeCache, key) {
125
- return Object.keys(sizeCache).reduce(function (acc, val) {
126
- return acc + (key ? sizeCache[val][key] : sizeCache[val]);
127
- }, 0);
128
- }
129
- /**
130
- * Expand cell to fit both row and header, if there is still room left,
131
- * expand last cell to fit the entire width of the container
132
- * @param {CellSizeCache} cellSizeCache
133
- * @param {string[]} columnOrder
134
- * @param {number} containerWidth
135
- * @param {number} roomToFill
136
- */
137
-
138
-
139
- function expandCellSize(cellSizeCache, columnOrder, containerWidth, roomToFill) {
140
- var remaining = roomToFill;
141
- var expandedCellSize = columnOrder.reduce(function (accu, col) {
142
- var size = cellSizeCache[col].row;
143
-
144
- if (cellSizeCache[col].row < cellSizeCache[col].header && remaining > 0) {
145
- // if we are cutting off the header, expand to fit it
146
- size = cellSizeCache[col].header - cellSizeCache[col].row < remaining ? cellSizeCache[col].header : cellSizeCache[col].row + remaining;
147
- remaining -= size - cellSizeCache[col].row;
148
- }
149
-
150
- return _objectSpread(_objectSpread({}, accu), {}, (0, _defineProperty2["default"])({}, col, size));
151
- }, {});
152
- var ghost = null;
153
-
154
- if (remaining > 0 && remaining < MIN_GHOST_CELL_SIZE) {
155
- // expand last cell
156
- var lastCell = columnOrder[columnOrder.length - 1];
157
- expandedCellSize[lastCell] += remaining;
158
- } else if (remaining >= MIN_GHOST_CELL_SIZE) {
159
- // if too much left add a ghost cell
160
- ghost = remaining;
161
- }
162
-
163
- return {
164
- cellSizeCache: expandedCellSize,
165
- ghost: ghost
166
- };
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
- }
182
- /**
183
- * Adjust cell size based on container width
184
- * @param {number} containerWidth
185
- * @param {CellSizeCache} cellSizeCache
186
- * @param {string[]} pinnedColumns
187
- * @param {string[]} unpinnedColumns
188
- */
189
-
190
-
191
- function adjustCellsToContainer(containerWidth, cellSizeCache, pinnedColumns, unpinnedColumns) {
192
- var columnOrder = getColumnOrder(pinnedColumns, unpinnedColumns);
193
- var paddedCellSize = addPaddingToFirstColumn(cellSizeCache, columnOrder);
194
- var minRowSum = getSizeSum(paddedCellSize, 'row');
195
-
196
- if (minRowSum >= containerWidth) {
197
- // we apply the min Width to all cells
198
- return {
199
- cellSizeCache: getMinCellSize(paddedCellSize)
200
- };
201
- } // if we have some room to expand
202
-
203
-
204
- return expandCellSize(paddedCellSize, columnOrder, containerWidth, containerWidth - minRowSum);
205
- }
206
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vZGF0YS10YWJsZS9jZWxsLXNpemUudHMiXSwibmFtZXMiOlsiTUlOX0dIT1NUX0NFTExfU0laRSIsIk1JTl9DRUxMX1NJWkUiLCJFREdFX0NPTFVNTl9QQURESU5HIiwiTUFYX0VNUFRZX0NPTFVNTl9TUEFDRSIsInJlbmRlcmVkU2l6ZSIsInRleHQiLCJkYXRhQ29udGFpbmVyIiwiY29sdW1uIiwidHlwZSIsImNvbElkeCIsIm51bVJvd3NUb0NhbGN1bGF0ZSIsImZvbnRTaXplIiwiZm9udCIsImNlbGxQYWRkaW5nIiwibWF4Q2VsbFNpemUiLCJtYXhIZWFkZXJTaXplIiwibWluQ2VsbFNpemUiLCJvcHRpb25zQnV0dG9uIiwiZG9jdW1lbnQiLCJyb3ciLCJoZWFkZXIiLCJ0ZXh0Q2FudmFzIiwiY3JlYXRlRWxlbWVudCIsImJvZHkiLCJhcHBlbmRDaGlsZCIsImNvbnRleHQiLCJnZXRDb250ZXh0Iiwiam9pbiIsInJvd3NUb1NhbXBsZSIsIkFycmF5IiwibWFwIiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwibnVtUm93cyIsImZyb20iLCJrZXlzIiwicm93V2lkdGgiLCJtYXgiLCJyb3dJZHgiLCJ2YWx1ZSIsInZhbHVlQXQiLCJsZW5ndGgiLCJ0ZXh0V2lkdGgiLCJtZWFzdXJlVGV4dCIsIndpZHRoIiwiY2VpbCIsImhlYWRlcldpZHRoIiwibWluUm93V2lkdGgiLCJtaW5IZWFkZXJXaWR0aCIsImNsYW1wZWRSb3dXaWR0aCIsImNsYW1wIiwiY2xhbXBlZEhlYWRlcldpZHRoIiwicGFyZW50RWxlbWVudCIsInJlbW92ZUNoaWxkIiwibWluIiwiZ2V0Q29sdW1uT3JkZXIiLCJwaW5uZWRDb2x1bW5zIiwidW5waW5uZWRDb2x1bW5zIiwiZ2V0TWluQ2VsbFNpemUiLCJjZWxsU2l6ZUNhY2hlIiwiT2JqZWN0IiwicmVkdWNlIiwiYWNjdSIsImNvbCIsImdldFNpemVTdW0iLCJzaXplQ2FjaGUiLCJrZXkiLCJhY2MiLCJ2YWwiLCJleHBhbmRDZWxsU2l6ZSIsImNvbHVtbk9yZGVyIiwiY29udGFpbmVyV2lkdGgiLCJyb29tVG9GaWxsIiwicmVtYWluaW5nIiwiZXhwYW5kZWRDZWxsU2l6ZSIsInNpemUiLCJnaG9zdCIsImxhc3RDZWxsIiwiYWRkUGFkZGluZ1RvRmlyc3RDb2x1bW4iLCJmaXJzdENvbCIsImFkanVzdENlbGxzVG9Db250YWluZXIiLCJwYWRkZWRDZWxsU2l6ZSIsIm1pblJvd1N1bSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFHQTs7QUFDQTs7Ozs7O0FBRUEsSUFBTUEsbUJBQTJCLEdBQUcsR0FBcEM7QUFDQSxJQUFNQyxhQUFhLEdBQUcsRUFBdEIsQyxDQUNBOztBQUNBLElBQU1DLG1CQUFtQixHQUFHLEVBQTVCLEMsQ0FFQTtBQUNBOztBQUNBLElBQU1DLHNCQUFzQixHQUFHLEVBQS9COztBQXVCQTtBQUNBO0FBQ0E7QUFDQTtBQUNPLFNBQVNDLFlBQVQsT0FZNEM7QUFBQSx1QkFYakRDLElBV2lEO0FBQUEsTUFYMUNDLGFBVzBDLGFBWDFDQSxhQVcwQztBQUFBLE1BWDNCQyxNQVcyQixhQVgzQkEsTUFXMkI7QUFBQSx1QkFWakRDLElBVWlEO0FBQUEsTUFWakRBLElBVWlELDBCQVYxQyxRQVUwQztBQUFBLE1BVGpEQyxNQVNpRCxRQVRqREEsTUFTaUQ7QUFBQSxtQ0FSakRDLGtCQVFpRDtBQUFBLE1BUmpEQSxrQkFRaUQsc0NBUjVCLEVBUTRCO0FBQUEsMkJBUGpEQyxRQU9pRDtBQUFBLE1BUGpEQSxRQU9pRCw4QkFQdEMsRUFPc0M7QUFBQSx1QkFOakRDLElBTWlEO0FBQUEsTUFOakRBLElBTWlELDBCQU4xQyxNQU0wQztBQUFBLDhCQUxqREMsV0FLaUQ7QUFBQSxNQUxqREEsV0FLaUQsaUNBTG5DLEVBS21DO0FBQUEsOEJBSmpEQyxXQUlpRDtBQUFBLE1BSmpEQSxXQUlpRCxpQ0FKbkMsR0FJbUM7QUFBQSxnQ0FIakRDLGFBR2lEO0FBQUEsTUFIakRBLGFBR2lELG1DQUhqQyxHQUdpQztB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QUNuQixhQUFELEVBQWdCVyxXQUFoQixDQUE5QztBQUNBLE1BQU1ZLFNBQVMsR0FBR2xCLFVBQVUsQ0FBQ2lCLGNBQUQsRUFBaUIsS0FBakIsQ0FBNUI7O0FBRUEsTUFBSUMsU0FBUyxJQUFJWCxjQUFqQixFQUFpQztBQUMvQjtBQUNBLFdBQU87QUFBQ1osTUFBQUEsYUFBYSxFQUFFRCxjQUFjLENBQUN1QixjQUFEO0FBQTlCLEtBQVA7QUFDRCxHQVJELENBU0E7OztBQUNBLFNBQU9aLGNBQWMsQ0FBQ1ksY0FBRCxFQUFpQlgsV0FBakIsRUFBOEJDLGNBQTlCLEVBQThDQSxjQUFjLEdBQUdXLFNBQS9ELENBQXJCO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgZG9jdW1lbnQgZnJvbSAnZ2xvYmFsL2RvY3VtZW50JztcbmltcG9ydCB7RGF0YUNvbnRhaW5lckludGVyZmFjZSwgcGFyc2VGaWVsZFZhbHVlfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcblxuY29uc3QgTUlOX0dIT1NUX0NFTExfU0laRTogbnVtYmVyID0gMjAwO1xuY29uc3QgTUlOX0NFTExfU0laRSA9IDQ1O1xuLy8gZmlyc3QgY29sdW1uIGhhdmUgcGFkZGluZyBvbiB0aGUgbGVmdFxuY29uc3QgRURHRV9DT0xVTU5fUEFERElORyA9IDEwO1xuXG4vLyBpbiBjYXNlIGNlbGwgY29udGVudCBpcyBzbWFsbCwgY29sdW1uIG5hbWUgaXMgYmlnLCB3ZSBhbGxvdyBtYXggZW1wdHkgc3BhY2UgdG9cbi8vIGJlIGFkZGVkIHRvIG1pbiBjZWxsIHdpZHRoIGluIG9yZGVyIHRvIHNob3cgY29sdW1uIG5hbWVcbmNvbnN0IE1BWF9FTVBUWV9DT0xVTU5fU1BBQ0UgPSA2MDtcblxudHlwZSBSZW5kZXJTaXplUGFyYW0gPSB7XG4gIHRleHQ6IHtkYXRhQ29udGFpbmVyOiBEYXRhQ29udGFpbmVySW50ZXJmYWNlOyBjb2x1bW46IHN0cmluZ307XG4gIHR5cGU/OiBzdHJpbmc7XG4gIGNvbElkeDogbnVtYmVyO1xuICBudW1Sb3dzVG9DYWxjdWxhdGU/OiBudW1iZXI7XG4gIGZvbnRTaXplPzogbnVtYmVyO1xuICBmb250Pzogc3RyaW5nO1xuICBjZWxsUGFkZGluZz86IG51bWJlcjtcbiAgbWF4Q2VsbFNpemU/OiBudW1iZXI7XG4gIG1heEhlYWRlclNpemU/OiBudW1iZXI7XG4gIG1pbkNlbGxTaXplPzogbnVtYmVyO1xuICBvcHRpb25zQnV0dG9uPzogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgQ2VsbFNpemVDYWNoZSA9IHtcbiAgW2tleTogc3RyaW5nXToge1xuICAgIHJvdzogbnVtYmVyO1xuICAgIGhlYWRlcjogbnVtYmVyO1xuICB9O1xufTtcblxuLyoqXG4gKiBNZWFzdXJlIHJvd3MgYW5kIGNvbHVtbiBjb250ZW50IHRvIGRldGVybWluZSBtaW4gd2lkdGggZm9yIGVhY2ggY29sdW1uXG4gKiBAcGFyYW0ge1JlbmRlclNpemVQYXJhbX0gcGFyYW0wXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJlZFNpemUoe1xuICB0ZXh0OiB7ZGF0YUNvbnRhaW5lciwgY29sdW1ufSxcbiAgdHlwZSA9ICdzdHJpbmcnLFxuICBjb2xJZHgsXG4gIG51bVJvd3NUb0NhbGN1bGF0ZSA9IDEwLFxuICBmb250U2l6ZSA9IDEyLFxuICBmb250ID0gJ0xhdG8nLFxuICBjZWxsUGFkZGluZyA9IDQwLFxuICBtYXhDZWxsU2l6ZSA9IDUwMCxcbiAgbWF4SGVhZGVyU2l6ZSA9IDUwMCxcbiAgbWluQ2VsbFNpemUgPSBNSU5fQ0VMTF9TSVpFLFxuICBvcHRpb25zQnV0dG9uID0gNDRcbn06IFJlbmRlclNpemVQYXJhbSk6IHtyb3c6IG51bWJlcjsgaGVhZGVyOiBudW1iZXJ9IHtcbiAgaWYgKCFkb2N1bWVudCkge1xuICAgIHJldHVybiB7XG4gICAgICByb3c6IDAsXG4gICAgICBoZWFkZXI6IDBcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgdGV4dENhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHRDYW52YXMpO1xuICBjb25zdCBjb250ZXh0ID0gdGV4dENhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICBjb250ZXh0LmZvbnQgPSBbZm9udFNpemUsIGZvbnRdLmpvaW4oJ3B4ICcpO1xuXG4gIGxldCByb3dzVG9TYW1wbGUgPSBbLi4uQXJyYXkobnVtUm93c1RvQ2FsY3VsYXRlKV0ubWFwKCgpID0+XG4gICAgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKGRhdGFDb250YWluZXIubnVtUm93cygpIC0gMSkpXG4gICk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBsZXNzIHRoYW4gMTAgcm93cywgbGV0cyBtZWFzdXJlIGFsbCBvZiB0aGVtXG4gIGlmIChkYXRhQ29udGFpbmVyLm51bVJvd3MoKSA8PSBudW1Sb3dzVG9DYWxjdWxhdGUpIHtcbiAgICByb3dzVG9TYW1wbGUgPSBBcnJheS5mcm9tKEFycmF5KGRhdGFDb250YWluZXIubnVtUm93cygpKS5rZXlzKCkpO1xuICB9XG4gIGNvbnN0IHJvd1dpZHRoID0gTWF0aC5tYXgoXG4gICAgLi4ucm93c1RvU2FtcGxlLm1hcChyb3dJZHggPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSBwYXJzZUZpZWxkVmFsdWUoZGF0YUNvbnRhaW5lci52YWx1ZUF0KHJvd0lkeCwgY29sSWR4KSwgdHlwZSk7XG4gICAgICAvLyBtZWFzdXJpbmcgbGFyZ2UgdGV4dCBjYXVzZSBzbG93IHBlcmZvcm1hbmNlXG4gICAgICBpZiAodmFsdWUubGVuZ3RoID4gbWF4Q2VsbFNpemUpIHtcbiAgICAgICAgcmV0dXJuIG1heENlbGxTaXplO1xuICAgICAgfVxuICAgICAgY29uc3QgdGV4dFdpZHRoID0gY29udGV4dC5tZWFzdXJlVGV4dCh2YWx1ZSkud2lkdGg7XG4gICAgICByZXR1cm4gTWF0aC5jZWlsKHRleHRXaWR0aCkgKyBjZWxsUGFkZGluZztcbiAgICB9KVxuICApO1xuICAvLyBoZWFkZXIgY2VsbCBvbmx5IGhhcyBsZWZ0IHBhZGRpbmdcbiAgY29uc3QgaGVhZGVyV2lkdGggPVxuICAgIE1hdGguY2VpbChjb250ZXh0Lm1lYXN1cmVUZXh0KGNvbHVtbikud2lkdGgpICsgY2VsbFBhZGRpbmcgLyAyICsgb3B0aW9uc0J1dHRvbjtcblxuICAvLyBtaW4gcm93IHdpZHRoIGlzIG1lYXN1cmVkIGJ5IGNlbGwgY29udGVudFxuICBjb25zdCBtaW5Sb3dXaWR0aCA9IG1pbkNlbGxTaXplICsgY2VsbFBhZGRpbmc7XG4gIC8vIG1pbiBoZWFkZXIgd2lkdGggaXMgbWVhc3VyZWQgYnkgY2VsbFxuICBjb25zdCBtaW5IZWFkZXJXaWR0aCA9IG1pbkNlbGxTaXplICsgY2VsbFBhZGRpbmcgLyAyICsgb3B0aW9uc0J1dHRvbjtcblxuICBjb25zdCBjbGFtcGVkUm93V2lkdGggPSBjbGFtcChtaW5Sb3dXaWR0aCwgbWF4Q2VsbFNpemUsIHJvd1dpZHRoKTtcbiAgY29uc3QgY2xhbXBlZEhlYWRlcldpZHRoID0gY2xhbXAobWluSGVhZGVyV2lkdGgsIG1heEhlYWRlclNpemUsIGhlYWRlcldpZHRoKTtcblxuICAvLyBjbGVhbnVwXG4gIHRleHRDYW52YXMucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0ZXh0Q2FudmFzKTtcblxuICByZXR1cm4ge1xuICAgIHJvdzogY2xhbXBlZFJvd1dpZHRoLFxuICAgIGhlYWRlcjogY2xhbXBlZEhlYWRlcldpZHRoXG4gIH07XG59XG5cbmZ1bmN0aW9uIGNsYW1wKG1pbiwgbWF4LCB2YWx1ZSkge1xuICByZXR1cm4gTWF0aC5tYXgoTWF0aC5taW4obWF4LCB2YWx1ZSksIG1pbik7XG59XG5cbmZ1bmN0aW9uIGdldENvbHVtbk9yZGVyKHBpbm5lZENvbHVtbnM6IHN0cmluZ1tdID0gW10sIHVucGlubmVkQ29sdW1uczogc3RyaW5nW10gPSBbXSkge1xuICByZXR1cm4gWy4uLnBpbm5lZENvbHVtbnMsIC4uLnVucGlubmVkQ29sdW1uc107XG59XG5cbi8vIElmIHRvdGFsIG1pbiBjZWxsIHNpemUgaXMgYmlnZ2VyIHRoYW4gY29udGFpbmVyV2lkdGggYWRqdXN0IGNvbHVtblxuZnVuY3Rpb24gZ2V0TWluQ2VsbFNpemUoY2VsbFNpemVDYWNoZTogQ2VsbFNpemVDYWNoZSkge1xuICByZXR1cm4gT2JqZWN0LmtleXMoY2VsbFNpemVDYWNoZSkucmVkdWNlKFxuICAgIChhY2N1LCBjb2wpID0+ICh7XG4gICAgICAuLi5hY2N1LFxuICAgICAgLy8gaWYgcm93IGlzIGxhcmdlciB0aGFuIGhlYWRlciwgdXNlIHJvd1xuICAgICAgW2NvbF06XG4gICAgICAgIGNlbGxTaXplQ2FjaGVbY29sXS5yb3cgPiBjZWxsU2l6ZUNhY2hlW2NvbF0uaGVhZGVyXG4gICAgICAgICAgPyBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93XG4gICAgICAgICAgOiAvLyBpZiByb3cgaXMgc21hbGxlciB0aGFuIGhlYWRlciwgdXNlIHRoZSBzbWFsbGVyIG9mIE1BWF9FTVBUWV9DT0xVTU5fU1BBQ0UgKyByb3cgd2lkdGggYW5kIGhlYWRlclxuICAgICAgICAgICAgTWF0aC5taW4oY2VsbFNpemVDYWNoZVtjb2xdLmhlYWRlciwgY2VsbFNpemVDYWNoZVtjb2xdLnJvdyArIE1BWF9FTVBUWV9DT0xVTU5fU1BBQ0UpXG4gICAgfSksXG4gICAge31cbiAgKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2l6ZVN1bShzaXplQ2FjaGUsIGtleSkge1xuICByZXR1cm4gT2JqZWN0LmtleXMoc2l6ZUNhY2hlKS5yZWR1Y2UoXG4gICAgKGFjYywgdmFsKSA9PiBhY2MgKyAoa2V5ID8gc2l6ZUNhY2hlW3ZhbF1ba2V5XSA6IHNpemVDYWNoZVt2YWxdKSxcbiAgICAwXG4gICk7XG59XG5cbi8qKlxuICogRXhwYW5kIGNlbGwgdG8gZml0IGJvdGggcm93IGFuZCBoZWFkZXIsIGlmIHRoZXJlIGlzIHN0aWxsIHJvb20gbGVmdCxcbiAqIGV4cGFuZCBsYXN0IGNlbGwgdG8gZml0IHRoZSBlbnRpcmUgd2lkdGggb2YgdGhlIGNvbnRhaW5lclxuICogQHBhcmFtIHtDZWxsU2l6ZUNhY2hlfSBjZWxsU2l6ZUNhY2hlXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBjb2x1bW5PcmRlclxuICogQHBhcmFtIHtudW1iZXJ9IGNvbnRhaW5lcldpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gcm9vbVRvRmlsbFxuICovXG5mdW5jdGlvbiBleHBhbmRDZWxsU2l6ZShcbiAgY2VsbFNpemVDYWNoZTogQ2VsbFNpemVDYWNoZSxcbiAgY29sdW1uT3JkZXI6IHN0cmluZ1tdLFxuICBjb250YWluZXJXaWR0aDogbnVtYmVyLFxuICByb29tVG9GaWxsOiBudW1iZXJcbik6IHtcbiAgY2VsbFNpemVDYWNoZTogQ2VsbFNpemVDYWNoZTtcbiAgZ2hvc3Q6IG51bWJlciB8IG51bGw7XG59IHtcbiAgbGV0IHJlbWFpbmluZyA9IHJvb21Ub0ZpbGw7XG5cbiAgY29uc3QgZXhwYW5kZWRDZWxsU2l6ZSA9IGNvbHVtbk9yZGVyLnJlZHVjZSgoYWNjdSwgY29sKSA9PiB7XG4gICAgbGV0IHNpemUgPSBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93O1xuICAgIGlmIChjZWxsU2l6ZUNhY2hlW2NvbF0ucm93IDwgY2VsbFNpemVDYWNoZVtjb2xdLmhlYWRlciAmJiByZW1haW5pbmcgPiAwKSB7XG4gICAgICAvLyBpZiB3ZSBhcmUgY3V0dGluZyBvZmYgdGhlIGhlYWRlciwgZXhwYW5kIHRvIGZpdCBpdFxuICAgICAgc2l6ZSA9XG4gICAgICAgIGNlbGxTaXplQ2FjaGVbY29sXS5oZWFkZXIgLSBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93IDwgcmVtYWluaW5nXG4gICAgICAgICAgPyBjZWxsU2l6ZUNhY2hlW2NvbF0uaGVhZGVyXG4gICAgICAgICAgOiBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93ICsgcmVtYWluaW5nO1xuICAgICAgcmVtYWluaW5nIC09IHNpemUgLSBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5hY2N1LFxuICAgICAgW2NvbF06IHNpemVcbiAgICB9O1xuICB9LCB7fSk7XG5cbiAgbGV0IGdob3N0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgaWYgKHJlbWFpbmluZyA+IDAgJiYgcmVtYWluaW5nIDwgTUlOX0dIT1NUX0NFTExfU0laRSkge1xuICAgIC8vIGV4cGFuZCBsYXN0IGNlbGxcbiAgICBjb25zdCBsYXN0Q2VsbCA9IGNvbHVtbk9yZGVyW2NvbHVtbk9yZGVyLmxlbmd0aCAtIDFdO1xuICAgIGV4cGFuZGVkQ2VsbFNpemVbbGFzdENlbGxdICs9IHJlbWFpbmluZztcbiAgfSBlbHNlIGlmIChyZW1haW5pbmcgPj0gTUlOX0dIT1NUX0NFTExfU0laRSkge1xuICAgIC8vIGlmIHRvbyBtdWNoIGxlZnQgYWRkIGEgZ2hvc3QgY2VsbFxuICAgIGdob3N0ID0gcmVtYWluaW5nO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBjZWxsU2l6ZUNhY2hlOiBleHBhbmRlZENlbGxTaXplLFxuICAgIGdob3N0XG4gIH07XG59XG5cbmZ1bmN0aW9uIGFkZFBhZGRpbmdUb0ZpcnN0Q29sdW1uKFxuICBjZWxsU2l6ZUNhY2hlOiBDZWxsU2l6ZUNhY2hlLFxuICBjb2x1bW5PcmRlcjogc3RyaW5nW10gPSBbXVxuKTogQ2VsbFNpemVDYWNoZSB7XG4gIGNvbnN0IGZpcnN0Q29sID0gY29sdW1uT3JkZXJbMF07XG5cbiAgaWYgKGZpcnN0Q29sICYmIGNlbGxTaXplQ2FjaGVbZmlyc3RDb2xdKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNlbGxTaXplQ2FjaGUsXG4gICAgICBbZmlyc3RDb2xdOiB7XG4gICAgICAgIGhlYWRlcjogY2VsbFNpemVDYWNoZVtmaXJzdENvbF0uaGVhZGVyICsgRURHRV9DT0xVTU5fUEFERElORyxcbiAgICAgICAgcm93OiBjZWxsU2l6ZUNhY2hlW2ZpcnN0Q29sXS5yb3cgKyBFREdFX0NPTFVNTl9QQURESU5HXG4gICAgICB9XG4gICAgfTtcbiAgfVxuICByZXR1cm4gY2VsbFNpemVDYWNoZTtcbn1cblxuLyoqXG4gKiBBZGp1c3QgY2VsbCBzaXplIGJhc2VkIG9uIGNvbnRhaW5lciB3aWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IGNvbnRhaW5lcldpZHRoXG4gKiBAcGFyYW0ge0NlbGxTaXplQ2FjaGV9IGNlbGxTaXplQ2FjaGVcbiAqIEBwYXJhbSB7c3RyaW5nW119IHBpbm5lZENvbHVtbnNcbiAqIEBwYXJhbSB7c3RyaW5nW119IHVucGlubmVkQ29sdW1uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gYWRqdXN0Q2VsbHNUb0NvbnRhaW5lcihcbiAgY29udGFpbmVyV2lkdGg6IG51bWJlcixcbiAgY2VsbFNpemVDYWNoZTogQ2VsbFNpemVDYWNoZSxcbiAgcGlubmVkQ29sdW1uczogc3RyaW5nW10sXG4gIHVucGlubmVkQ29sdW1uczogc3RyaW5nW11cbik6IHtcbiAgY2VsbFNpemVDYWNoZTogQ2VsbFNpemVDYWNoZTtcbiAgZ2hvc3Q/OiBudW1iZXIgfCBudWxsO1xufSB7XG4gIGNvbnN0IGNvbHVtbk9yZGVyID0gZ2V0Q29sdW1uT3JkZXIocGlubmVkQ29sdW1ucywgdW5waW5uZWRDb2x1bW5zKTtcbiAgY29uc3QgcGFkZGVkQ2VsbFNpemUgPSBhZGRQYWRkaW5nVG9GaXJzdENvbHVtbihjZWxsU2l6ZUNhY2hlLCBjb2x1bW5PcmRlcik7XG4gIGNvbnN0IG1pblJvd1N1bSA9IGdldFNpemVTdW0ocGFkZGVkQ2VsbFNpemUsICdyb3cnKTtcblxuICBpZiAobWluUm93U3VtID49IGNvbnRhaW5lcldpZHRoKSB7XG4gICAgLy8gd2UgYXBwbHkgdGhlIG1pbiBXaWR0aCB0byBhbGwgY2VsbHNcbiAgICByZXR1cm4ge2NlbGxTaXplQ2FjaGU6IGdldE1pbkNlbGxTaXplKHBhZGRlZENlbGxTaXplKX07XG4gIH1cbiAgLy8gaWYgd2UgaGF2ZSBzb21lIHJvb20gdG8gZXhwYW5kXG4gIHJldHVybiBleHBhbmRDZWxsU2l6ZShwYWRkZWRDZWxsU2l6ZSwgY29sdW1uT3JkZXIsIGNvbnRhaW5lcldpZHRoLCBjb250YWluZXJXaWR0aCAtIG1pblJvd1N1bSk7XG59XG4iXX0=