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

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 (530) hide show
  1. package/dist/bottom-widget.d.ts +11 -38
  2. package/dist/bottom-widget.js +43 -99
  3. package/dist/common/action-panel.d.ts +2 -2
  4. package/dist/common/action-panel.js +4 -4
  5. package/dist/common/animation-control/animation-control.d.ts +19 -18
  6. package/dist/common/animation-control/animation-control.js +59 -81
  7. package/dist/common/animation-control/animation-controller.d.ts +6 -2
  8. package/dist/common/animation-control/animation-controller.js +50 -36
  9. package/dist/common/animation-control/animation-speed-slider.js +2 -2
  10. package/dist/common/animation-control/animation-window-control.js +1 -1
  11. package/dist/common/animation-control/floating-time-display.d.ts +2 -2
  12. package/dist/common/animation-control/floating-time-display.js +2 -2
  13. package/dist/common/animation-control/play-control.d.ts +2 -2
  14. package/dist/common/animation-control/play-control.js +1 -1
  15. package/dist/common/animation-control/playback-controls.d.ts +7 -7
  16. package/dist/common/animation-control/playback-controls.js +6 -6
  17. package/dist/common/animation-control/reset-control.d.ts +2 -2
  18. package/dist/common/animation-control/reset-control.js +1 -1
  19. package/dist/common/animation-control/speed-control.d.ts +2 -2
  20. package/dist/common/animation-control/speed-control.js +2 -2
  21. package/dist/common/animation-control/window-action-control.d.ts +2 -2
  22. package/dist/common/animation-control/window-action-control.js +1 -1
  23. package/dist/common/checkbox.d.ts +2 -2
  24. package/dist/common/checkbox.js +3 -3
  25. package/dist/common/color-legend.d.ts +3 -3
  26. package/dist/common/color-legend.js +11 -17
  27. package/dist/common/data-table/button.d.ts +1 -1
  28. package/dist/common/data-table/button.js +2 -2
  29. package/dist/common/data-table/canvas.js +2 -2
  30. package/dist/common/data-table/cell-size.js +44 -13
  31. package/dist/common/data-table/display-format.d.ts +25 -0
  32. package/dist/common/data-table/display-format.js +169 -0
  33. package/dist/common/data-table/grid.d.ts +5 -2
  34. package/dist/common/data-table/grid.js +45 -5
  35. package/dist/common/data-table/header-cell.d.ts +4 -1
  36. package/dist/common/data-table/header-cell.js +66 -29
  37. package/dist/common/data-table/index.d.ts +27 -34
  38. package/dist/common/data-table/index.js +148 -62
  39. package/dist/common/data-table/option-dropdown.d.ts +17 -3
  40. package/dist/common/data-table/option-dropdown.js +86 -13
  41. package/dist/common/dataset-label.d.ts +2 -2
  42. package/dist/common/dataset-label.js +3 -3
  43. package/dist/common/error-boundary.d.ts +6 -2
  44. package/dist/common/error-boundary.js +2 -2
  45. package/dist/common/field-selector.d.ts +9 -3
  46. package/dist/common/field-selector.js +3 -3
  47. package/dist/common/field-token.d.ts +8 -0
  48. package/dist/common/field-token.js +7 -3
  49. package/dist/common/file-uploader/file-drop.d.ts +3 -2
  50. package/dist/common/file-uploader/file-drop.js +2 -2
  51. package/dist/common/file-uploader/file-upload-progress.js +2 -2
  52. package/dist/common/file-uploader/file-upload.d.ts +2 -6
  53. package/dist/common/file-uploader/file-upload.js +2 -2
  54. package/dist/common/file-uploader/upload-button.d.ts +1 -0
  55. package/dist/common/file-uploader/upload-button.js +2 -2
  56. package/dist/common/histogram-plot.d.ts +2 -2
  57. package/dist/common/histogram-plot.js +18 -12
  58. package/dist/common/icon-button.d.ts +2 -1
  59. package/dist/common/icon-button.js +2 -2
  60. package/dist/common/icons/add.d.ts +2 -2
  61. package/dist/common/icons/add.js +2 -2
  62. package/dist/common/icons/anchor_window.d.ts +2 -2
  63. package/dist/common/icons/anchor_window.js +2 -2
  64. package/dist/common/icons/arrow-down-alt.d.ts +2 -2
  65. package/dist/common/icons/arrow-down-alt.js +2 -2
  66. package/dist/common/icons/arrow-down-solid.d.ts +2 -2
  67. package/dist/common/icons/arrow-down-solid.js +2 -2
  68. package/dist/common/icons/arrow-down.d.ts +2 -2
  69. package/dist/common/icons/arrow-down.js +2 -2
  70. package/dist/common/icons/arrow-left.d.ts +2 -2
  71. package/dist/common/icons/arrow-left.js +2 -2
  72. package/dist/common/icons/arrow-right.d.ts +2 -2
  73. package/dist/common/icons/arrow-right.js +2 -2
  74. package/dist/common/icons/arrow-up-alt.d.ts +2 -2
  75. package/dist/common/icons/arrow-up-alt.js +2 -2
  76. package/dist/common/icons/arrow-up-solid.d.ts +2 -2
  77. package/dist/common/icons/arrow-up-solid.js +2 -2
  78. package/dist/common/icons/arrow-up.d.ts +2 -2
  79. package/dist/common/icons/arrow-up.js +2 -2
  80. package/dist/common/icons/base.d.ts +1 -1
  81. package/dist/common/icons/base.js +2 -2
  82. package/dist/common/icons/bug.d.ts +2 -2
  83. package/dist/common/icons/bug.js +2 -2
  84. package/dist/common/icons/cancel.d.ts +2 -2
  85. package/dist/common/icons/cancel.js +2 -2
  86. package/dist/common/icons/checkmark.d.ts +2 -2
  87. package/dist/common/icons/checkmark.js +2 -2
  88. package/dist/common/icons/clipboard.d.ts +2 -2
  89. package/dist/common/icons/clipboard.js +2 -2
  90. package/dist/common/icons/clock.d.ts +2 -2
  91. package/dist/common/icons/clock.js +2 -2
  92. package/dist/common/icons/close.d.ts +2 -2
  93. package/dist/common/icons/close.js +2 -2
  94. package/dist/common/icons/code-alt.d.ts +2 -2
  95. package/dist/common/icons/code-alt.js +2 -2
  96. package/dist/common/icons/copy.d.ts +2 -2
  97. package/dist/common/icons/copy.js +2 -2
  98. package/dist/common/icons/crosshairs.d.ts +2 -2
  99. package/dist/common/icons/crosshairs.js +2 -2
  100. package/dist/common/icons/cube-3d.d.ts +2 -2
  101. package/dist/common/icons/cube-3d.js +2 -2
  102. package/dist/common/icons/cursor-click.d.ts +2 -2
  103. package/dist/common/icons/cursor-click.js +2 -2
  104. package/dist/common/icons/cursor-point.d.ts +14 -0
  105. package/dist/common/icons/cursor-point.js +89 -0
  106. package/dist/common/icons/data-table.d.ts +2 -2
  107. package/dist/common/icons/data-table.js +2 -2
  108. package/dist/common/icons/db.d.ts +2 -2
  109. package/dist/common/icons/db.js +2 -2
  110. package/dist/common/icons/delete.d.ts +2 -2
  111. package/dist/common/icons/delete.js +2 -2
  112. package/dist/common/icons/docs.d.ts +2 -2
  113. package/dist/common/icons/docs.js +2 -2
  114. package/dist/common/icons/drag-n-drop.d.ts +2 -2
  115. package/dist/common/icons/drag-n-drop.js +2 -2
  116. package/dist/common/icons/draw-polygon.d.ts +2 -2
  117. package/dist/common/icons/draw-polygon.js +2 -2
  118. package/dist/common/icons/email.d.ts +2 -2
  119. package/dist/common/icons/email.js +2 -2
  120. package/dist/common/icons/expand.d.ts +2 -2
  121. package/dist/common/icons/expand.js +2 -2
  122. package/dist/common/icons/eye-seen.d.ts +2 -2
  123. package/dist/common/icons/eye-seen.js +2 -2
  124. package/dist/common/icons/eye-unseen.d.ts +2 -2
  125. package/dist/common/icons/eye-unseen.js +2 -2
  126. package/dist/common/icons/file-type.d.ts +2 -2
  127. package/dist/common/icons/file-type.js +2 -2
  128. package/dist/common/icons/file.d.ts +2 -2
  129. package/dist/common/icons/file.js +2 -2
  130. package/dist/common/icons/files.d.ts +1 -1
  131. package/dist/common/icons/files.js +2 -2
  132. package/dist/common/icons/filter-funnel.d.ts +2 -2
  133. package/dist/common/icons/filter-funnel.js +2 -2
  134. package/dist/common/icons/free-window.d.ts +2 -2
  135. package/dist/common/icons/free-window.js +2 -2
  136. package/dist/common/icons/gear.d.ts +2 -2
  137. package/dist/common/icons/gear.js +2 -2
  138. package/dist/common/icons/hash.d.ts +2 -2
  139. package/dist/common/icons/hash.js +2 -2
  140. package/dist/common/icons/histogram.d.ts +1 -1
  141. package/dist/common/icons/histogram.js +2 -2
  142. package/dist/common/icons/index.d.ts +1 -0
  143. package/dist/common/icons/index.js +10 -2
  144. package/dist/common/icons/info.d.ts +2 -2
  145. package/dist/common/icons/info.js +2 -2
  146. package/dist/common/icons/layers.d.ts +2 -2
  147. package/dist/common/icons/layers.js +2 -2
  148. package/dist/common/icons/left-arrow.d.ts +2 -2
  149. package/dist/common/icons/left-arrow.js +2 -2
  150. package/dist/common/icons/legend.d.ts +2 -2
  151. package/dist/common/icons/legend.js +2 -2
  152. package/dist/common/icons/line-chart.d.ts +2 -2
  153. package/dist/common/icons/line-chart.js +2 -2
  154. package/dist/common/icons/login.d.ts +2 -2
  155. package/dist/common/icons/login.js +2 -2
  156. package/dist/common/icons/logout.d.ts +2 -2
  157. package/dist/common/icons/logout.js +2 -2
  158. package/dist/common/icons/map-icon.d.ts +2 -2
  159. package/dist/common/icons/map-icon.js +2 -2
  160. package/dist/common/icons/map.d.ts +2 -2
  161. package/dist/common/icons/map.js +2 -2
  162. package/dist/common/icons/messages.d.ts +2 -2
  163. package/dist/common/icons/messages.js +2 -2
  164. package/dist/common/icons/minus.d.ts +2 -2
  165. package/dist/common/icons/minus.js +2 -2
  166. package/dist/common/icons/order-by-dataset.d.ts +2 -2
  167. package/dist/common/icons/order-by-dataset.js +2 -2
  168. package/dist/common/icons/order-by-list.d.ts +2 -2
  169. package/dist/common/icons/order-by-list.js +2 -2
  170. package/dist/common/icons/pause.d.ts +2 -2
  171. package/dist/common/icons/pause.js +2 -2
  172. package/dist/common/icons/picture.d.ts +1 -1
  173. package/dist/common/icons/picture.js +2 -2
  174. package/dist/common/icons/pin.d.ts +2 -2
  175. package/dist/common/icons/pin.js +2 -2
  176. package/dist/common/icons/play.d.ts +2 -2
  177. package/dist/common/icons/play.js +2 -2
  178. package/dist/common/icons/polygon.d.ts +2 -2
  179. package/dist/common/icons/polygon.js +2 -2
  180. package/dist/common/icons/rectangle.d.ts +2 -2
  181. package/dist/common/icons/rectangle.js +2 -2
  182. package/dist/common/icons/reduce.d.ts +2 -2
  183. package/dist/common/icons/reduce.js +2 -2
  184. package/dist/common/icons/reset.d.ts +2 -2
  185. package/dist/common/icons/reset.js +2 -2
  186. package/dist/common/icons/rocket.d.ts +2 -2
  187. package/dist/common/icons/rocket.js +2 -2
  188. package/dist/common/icons/save.d.ts +2 -2
  189. package/dist/common/icons/save.js +2 -2
  190. package/dist/common/icons/save2.d.ts +2 -2
  191. package/dist/common/icons/save2.js +2 -2
  192. package/dist/common/icons/search.d.ts +2 -2
  193. package/dist/common/icons/search.js +2 -2
  194. package/dist/common/icons/settings.d.ts +2 -2
  195. package/dist/common/icons/settings.js +2 -2
  196. package/dist/common/icons/share.d.ts +2 -2
  197. package/dist/common/icons/share.js +2 -2
  198. package/dist/common/icons/split.d.ts +2 -2
  199. package/dist/common/icons/split.js +2 -2
  200. package/dist/common/icons/square-select.d.ts +2 -2
  201. package/dist/common/icons/square-select.js +2 -2
  202. package/dist/common/icons/trash.d.ts +2 -2
  203. package/dist/common/icons/trash.js +2 -2
  204. package/dist/common/icons/vert-dots.d.ts +2 -2
  205. package/dist/common/icons/vert-dots.js +2 -2
  206. package/dist/common/icons/vert-three-dots.d.ts +2 -2
  207. package/dist/common/icons/vert-three-dots.js +2 -2
  208. package/dist/common/icons/warning-sign.d.ts +2 -2
  209. package/dist/common/icons/warning-sign.js +2 -2
  210. package/dist/common/icons/warning.d.ts +2 -2
  211. package/dist/common/icons/warning.js +2 -2
  212. package/dist/common/image-preview.d.ts +2 -2
  213. package/dist/common/image-preview.js +2 -2
  214. package/dist/common/index.d.ts +1 -1
  215. package/dist/common/index.js +8 -2
  216. package/dist/common/info-helper.d.ts +2 -2
  217. package/dist/common/info-helper.js +2 -2
  218. package/dist/common/item-selector/accessor.js +2 -2
  219. package/dist/common/item-selector/chickleted-input.js +2 -2
  220. package/dist/common/item-selector/dropdown-list.d.ts +28 -8
  221. package/dist/common/item-selector/dropdown-list.js +144 -25
  222. package/dist/common/item-selector/item-selector.d.ts +2 -3
  223. package/dist/common/item-selector/item-selector.js +7 -3
  224. package/dist/common/item-selector/typeahead.d.ts +16 -12
  225. package/dist/common/item-selector/typeahead.js +24 -13
  226. package/dist/common/line-chart.d.ts +2 -2
  227. package/dist/common/line-chart.js +2 -2
  228. package/dist/common/loading-spinner.js +2 -2
  229. package/dist/common/logo.d.ts +2 -2
  230. package/dist/common/logo.js +2 -2
  231. package/dist/common/map-layer-selector.d.ts +2 -2
  232. package/dist/common/map-layer-selector.js +3 -4
  233. package/dist/common/modal.d.ts +24 -11
  234. package/dist/common/modal.js +2 -2
  235. package/dist/common/portaled.d.ts +513 -2
  236. package/dist/common/portaled.js +2 -2
  237. package/dist/common/progress-bar.d.ts +2 -2
  238. package/dist/common/progress-bar.js +2 -2
  239. package/dist/common/range-brush.js +2 -2
  240. package/dist/common/range-plot.d.ts +6 -2
  241. package/dist/common/range-plot.js +4 -3
  242. package/dist/common/range-slider.d.ts +5 -1
  243. package/dist/common/range-slider.js +9 -3
  244. package/dist/common/slider/mouse-event.js +2 -2
  245. package/dist/common/slider/slider-bar-handle.d.ts +2 -2
  246. package/dist/common/slider/slider-bar-handle.js +2 -2
  247. package/dist/common/slider/slider-handle.d.ts +1 -1
  248. package/dist/common/slider/slider-handle.js +2 -2
  249. package/dist/common/slider/slider.d.ts +7 -5
  250. package/dist/common/slider/slider.js +8 -5
  251. package/dist/common/styled-components.d.ts +5 -0
  252. package/dist/common/styled-components.js +161 -47
  253. package/dist/common/switch.d.ts +3 -2
  254. package/dist/common/switch.js +2 -2
  255. package/dist/common/time-range-slider-time-title.d.ts +2 -2
  256. package/dist/common/time-range-slider-time-title.js +2 -2
  257. package/dist/common/time-range-slider.d.ts +6 -3
  258. package/dist/common/time-range-slider.js +33 -14
  259. package/dist/common/time-slider-marker.d.ts +1 -1
  260. package/dist/common/time-slider-marker.js +3 -3
  261. package/dist/common/timeline-slider.d.ts +13 -0
  262. package/dist/common/timeline-slider.js +173 -0
  263. package/dist/common/tippy-tooltip.d.ts +4 -2
  264. package/dist/common/tippy-tooltip.js +23 -11
  265. package/dist/common/toolbar-item.d.ts +1 -1
  266. package/dist/common/toolbar-item.js +6 -4
  267. package/dist/common/toolbar.js +2 -2
  268. package/dist/common/vertical-toolbar.js +2 -2
  269. package/dist/connect/keplergl-connect.d.ts +5 -1
  270. package/dist/connect/keplergl-connect.js +2 -2
  271. package/dist/connect/with-local-selector.js +2 -2
  272. package/dist/container.js +2 -2
  273. package/dist/context.js +4 -3
  274. package/dist/dnd-context.d.ts +13 -0
  275. package/dist/dnd-context.js +252 -0
  276. package/dist/editor/editor.d.ts +11 -10
  277. package/dist/editor/editor.js +97 -103
  278. package/dist/editor/feature-action-panel.d.ts +8 -6
  279. package/dist/editor/feature-action-panel.js +75 -22
  280. package/dist/effects/effect-configurator.d.ts +18 -0
  281. package/dist/effects/effect-configurator.js +237 -0
  282. package/dist/effects/effect-list.d.ts +15 -0
  283. package/dist/effects/effect-list.js +173 -0
  284. package/dist/effects/effect-manager.d.ts +21 -0
  285. package/dist/effects/effect-manager.js +129 -0
  286. package/dist/effects/effect-panel-header.d.ts +33 -0
  287. package/dist/effects/effect-panel-header.js +174 -0
  288. package/dist/effects/effect-panel.d.ts +24 -0
  289. package/dist/effects/effect-panel.js +162 -0
  290. package/dist/effects/effect-time-configurator.d.ts +13 -0
  291. package/dist/effects/effect-time-configurator.js +191 -0
  292. package/dist/effects/effect-type-selector.d.ts +11 -0
  293. package/dist/effects/effect-type-selector.js +117 -0
  294. package/dist/effects/side-panel-title.d.ts +7 -0
  295. package/dist/effects/side-panel-title.js +67 -0
  296. package/dist/filter-animation-controller.d.ts +17 -0
  297. package/dist/filter-animation-controller.js +91 -0
  298. package/dist/filters/components.js +2 -2
  299. package/dist/filters/filter-panels/filter-panel-with-field-select.js +3 -3
  300. package/dist/filters/filter-panels/multi-select-filter-panel.js +3 -3
  301. package/dist/filters/filter-panels/new-filter-panel.js +2 -2
  302. package/dist/filters/filter-panels/polygon-filter-panel.js +3 -3
  303. package/dist/filters/filter-panels/range-filter-panel.js +3 -3
  304. package/dist/filters/filter-panels/single-select-filter-panel.js +3 -3
  305. package/dist/filters/filter-panels/time-range-filter-panel.js +25 -8
  306. package/dist/filters/filter-panels/types.d.ts +2 -1
  307. package/dist/filters/filter-panels/types.js +1 -1
  308. package/dist/filters/index.d.ts +2 -0
  309. package/dist/filters/index.js +18 -2
  310. package/dist/filters/multi-select-filter.js +2 -2
  311. package/dist/filters/polygon-filter.js +14 -4
  312. package/dist/filters/range-filter.js +6 -4
  313. package/dist/filters/single-select-filter.js +2 -2
  314. package/dist/filters/time-range-filter.d.ts +2 -1
  315. package/dist/filters/time-range-filter.js +10 -7
  316. package/dist/filters/time-widget-top.d.ts +8 -0
  317. package/dist/filters/time-widget-top.js +123 -0
  318. package/dist/filters/time-widget.d.ts +3 -7
  319. package/dist/filters/time-widget.js +35 -92
  320. package/dist/filters/types.d.ts +7 -3
  321. package/dist/filters/types.js +1 -1
  322. package/dist/geocoder/geocoder.d.ts +1 -3
  323. package/dist/geocoder/geocoder.js +2 -2
  324. package/dist/geocoder-panel.d.ts +9 -3
  325. package/dist/geocoder-panel.js +30 -19
  326. package/dist/hooks/useFeatureFlags.js +1 -1
  327. package/dist/index.d.ts +68 -20
  328. package/dist/index.js +599 -99
  329. package/dist/injector.d.ts +4 -4
  330. package/dist/injector.js +2 -2
  331. package/dist/kepler-gl.d.ts +58 -17
  332. package/dist/kepler-gl.js +78 -31
  333. package/dist/layer-animation-controller.d.ts +13 -0
  334. package/dist/layer-animation-controller.js +76 -0
  335. package/dist/map/coordinate-info.js +2 -2
  336. package/dist/map/effects/effect-control.d.ts +16 -0
  337. package/dist/map/effects/effect-control.js +81 -0
  338. package/dist/map/layer-hover-info.d.ts +2 -2
  339. package/dist/map/layer-hover-info.js +26 -10
  340. package/dist/map/layer-selector-panel.js +2 -2
  341. package/dist/map/lazy-tippy.js +1 -1
  342. package/dist/map/locale-panel.d.ts +1 -1
  343. package/dist/map/locale-panel.js +2 -2
  344. package/dist/map/map-control-panel.d.ts +6 -0
  345. package/dist/map/map-control-panel.js +65 -9
  346. package/dist/map/map-control-toolbar.js +3 -3
  347. package/dist/map/map-control-tooltip.js +2 -2
  348. package/dist/map/map-control.d.ts +15 -7
  349. package/dist/map/map-control.js +6 -7
  350. package/dist/map/map-draw-panel.d.ts +2 -2
  351. package/dist/map/map-draw-panel.js +2 -9
  352. package/dist/map/map-legend-panel.d.ts +12 -1
  353. package/dist/map/map-legend-panel.js +27 -14
  354. package/dist/map/map-legend.d.ts +1 -1
  355. package/dist/map/map-legend.js +2 -2
  356. package/dist/map/map-popover-content.d.ts +28 -0
  357. package/dist/map/map-popover-content.js +51 -0
  358. package/dist/map/map-popover.d.ts +11 -14
  359. package/dist/map/map-popover.js +94 -15
  360. package/dist/map/split-map-button.js +2 -2
  361. package/dist/map/toggle-3d-button.js +2 -2
  362. package/dist/map-container.d.ts +33 -9
  363. package/dist/map-container.js +530 -161
  364. package/dist/map-view-state-context.d.ts +12 -0
  365. package/dist/map-view-state-context.js +116 -0
  366. package/dist/maps-layout.d.ts +5 -2
  367. package/dist/maps-layout.js +7 -3
  368. package/dist/modal-container.d.ts +2 -6
  369. package/dist/modal-container.js +8 -6
  370. package/dist/modals/add-map-style-modal.d.ts +1 -3
  371. package/dist/modals/add-map-style-modal.js +12 -6
  372. package/dist/modals/cloud-tile.js +2 -2
  373. package/dist/modals/data-table-modal.d.ts +11 -2
  374. package/dist/modals/data-table-modal.js +75 -24
  375. package/dist/modals/delete-data-modal.js +2 -2
  376. package/dist/modals/error-display.js +2 -2
  377. package/dist/modals/export-data-modal.d.ts +1 -3
  378. package/dist/modals/export-data-modal.js +2 -2
  379. package/dist/modals/export-image-modal.d.ts +1 -3
  380. package/dist/modals/export-image-modal.js +2 -2
  381. package/dist/modals/export-map-modal/components.d.ts +2 -2
  382. package/dist/modals/export-map-modal/components.js +2 -2
  383. package/dist/modals/export-map-modal/export-html-map.js +2 -2
  384. package/dist/modals/export-map-modal/export-json-map.d.ts +1 -1
  385. package/dist/modals/export-map-modal/export-json-map.js +2 -2
  386. package/dist/modals/export-map-modal/export-map-modal.d.ts +2 -2
  387. package/dist/modals/export-map-modal/export-map-modal.js +2 -2
  388. package/dist/modals/image-modal-container.d.ts +1 -0
  389. package/dist/modals/image-modal-container.js +2 -2
  390. package/dist/modals/load-data-modal.js +2 -2
  391. package/dist/modals/load-storage-map.js +2 -2
  392. package/dist/modals/loading-dialog.js +2 -2
  393. package/dist/modals/modal-dialog.js +2 -2
  394. package/dist/modals/modal-tabs.d.ts +1 -1
  395. package/dist/modals/modal-tabs.js +2 -2
  396. package/dist/modals/overwrite-map-modal.js +2 -2
  397. package/dist/modals/provider-modal-container.d.ts +3 -2
  398. package/dist/modals/provider-modal-container.js +2 -2
  399. package/dist/modals/save-map-modal.js +2 -2
  400. package/dist/modals/share-map-modal.js +2 -2
  401. package/dist/modals/status-panel.js +2 -2
  402. package/dist/modals/storage-map-viewer.d.ts +1 -1
  403. package/dist/modals/storage-map-viewer.js +2 -2
  404. package/dist/notification-panel/notification-item.d.ts +7 -10
  405. package/dist/notification-panel/notification-item.js +45 -13
  406. package/dist/notification-panel.js +2 -2
  407. package/dist/plot-container.js +20 -8
  408. package/dist/side-panel/add-by-dataset-button.d.ts +12 -0
  409. package/dist/side-panel/add-by-dataset-button.js +173 -0
  410. package/dist/side-panel/cloud-storage-dropdown.d.ts +2 -2
  411. package/dist/side-panel/cloud-storage-dropdown.js +2 -2
  412. package/dist/side-panel/common/dataset-info.d.ts +10 -3
  413. package/dist/side-panel/common/dataset-info.js +2 -2
  414. package/dist/side-panel/common/dataset-tag.d.ts +15 -1
  415. package/dist/side-panel/common/dataset-tag.js +14 -11
  416. package/dist/side-panel/common/dataset-title.d.ts +16 -2
  417. package/dist/side-panel/common/dataset-title.js +71 -105
  418. package/dist/side-panel/common/source-data-catalog.d.ts +22 -3
  419. package/dist/side-panel/common/source-data-catalog.js +2 -2
  420. package/dist/side-panel/common/source-data-selector.js +2 -2
  421. package/dist/side-panel/common/types.d.ts +7 -27
  422. package/dist/side-panel/common/types.js +1 -1
  423. package/dist/side-panel/custom-panel.d.ts +6 -7
  424. package/dist/side-panel/custom-panel.js +2 -2
  425. package/dist/side-panel/filter-manager.d.ts +18 -6
  426. package/dist/side-panel/filter-manager.js +176 -65
  427. package/dist/side-panel/filter-panel/add-filter-button.d.ts +8 -0
  428. package/dist/side-panel/filter-panel/add-filter-button.js +50 -0
  429. package/dist/side-panel/filter-panel/filter-panel-header.d.ts +6 -3
  430. package/dist/side-panel/filter-panel/filter-panel-header.js +4 -4
  431. package/dist/side-panel/filter-panel/filter-panel.js +2 -2
  432. package/dist/side-panel/interaction-manager.d.ts +6 -3
  433. package/dist/side-panel/interaction-manager.js +21 -8
  434. package/dist/side-panel/interaction-panel/brush-config.d.ts +2 -2
  435. package/dist/side-panel/interaction-panel/brush-config.js +2 -2
  436. package/dist/side-panel/interaction-panel/interaction-panel.d.ts +5 -2
  437. package/dist/side-panel/interaction-panel/interaction-panel.js +12 -5
  438. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +3 -9
  439. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +25 -42
  440. package/dist/side-panel/interaction-panel/tooltip-config.d.ts +2 -3
  441. package/dist/side-panel/interaction-panel/tooltip-config.js +9 -7
  442. package/dist/side-panel/layer-manager.d.ts +8 -10
  443. package/dist/side-panel/layer-manager.js +71 -37
  444. package/dist/side-panel/layer-panel/add-layer-button.d.ts +3 -5
  445. package/dist/side-panel/layer-panel/add-layer-button.js +13 -139
  446. package/dist/side-panel/layer-panel/color-palette.js +2 -2
  447. package/dist/side-panel/layer-panel/color-range-selector.d.ts +1 -1
  448. package/dist/side-panel/layer-panel/color-range-selector.js +2 -2
  449. package/dist/side-panel/layer-panel/color-selector.d.ts +15 -24
  450. package/dist/side-panel/layer-panel/color-selector.js +175 -127
  451. package/dist/side-panel/layer-panel/column-selector.js +2 -2
  452. package/dist/side-panel/layer-panel/custom-palette.d.ts +7 -2
  453. package/dist/side-panel/layer-panel/custom-palette.js +6 -5
  454. package/dist/side-panel/layer-panel/custom-picker.d.ts +9 -36
  455. package/dist/side-panel/layer-panel/custom-picker.js +2 -2
  456. package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +1 -1
  457. package/dist/side-panel/layer-panel/dataset-layer-group.js +3 -2
  458. package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +3 -2
  459. package/dist/side-panel/layer-panel/dataset-layer-section.js +5 -4
  460. package/dist/side-panel/layer-panel/dataset-section.d.ts +2 -3
  461. package/dist/side-panel/layer-panel/dataset-section.js +6 -7
  462. package/dist/side-panel/layer-panel/dimension-scale-selector.js +2 -2
  463. package/dist/side-panel/layer-panel/how-to-button.js +2 -2
  464. package/dist/side-panel/layer-panel/layer-color-selector.d.ts +42 -0
  465. package/dist/side-panel/layer-panel/layer-color-selector.js +134 -0
  466. package/dist/side-panel/layer-panel/layer-column-config.d.ts +15 -9
  467. package/dist/side-panel/layer-panel/layer-column-config.js +35 -13
  468. package/dist/side-panel/layer-panel/layer-config-group.d.ts +11 -2
  469. package/dist/side-panel/layer-panel/layer-config-group.js +19 -11
  470. package/dist/side-panel/layer-panel/layer-configurator.d.ts +10 -35
  471. package/dist/side-panel/layer-panel/layer-configurator.js +61 -110
  472. package/dist/side-panel/layer-panel/layer-error-message.d.ts +6 -0
  473. package/dist/side-panel/layer-panel/layer-error-message.js +58 -0
  474. package/dist/side-panel/layer-panel/layer-list.d.ts +4 -3
  475. package/dist/side-panel/layer-panel/layer-list.js +112 -89
  476. package/dist/side-panel/layer-panel/layer-panel-header.d.ts +22 -10
  477. package/dist/side-panel/layer-panel/layer-panel-header.js +106 -67
  478. package/dist/side-panel/layer-panel/layer-panel.d.ts +3 -1
  479. package/dist/side-panel/layer-panel/layer-panel.js +24 -11
  480. package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +2 -2
  481. package/dist/side-panel/layer-panel/layer-type-list-item.d.ts +12 -3
  482. package/dist/side-panel/layer-panel/layer-type-list-item.js +12 -4
  483. package/dist/side-panel/layer-panel/layer-type-selector.d.ts +2 -1
  484. package/dist/side-panel/layer-panel/layer-type-selector.js +5 -3
  485. package/dist/side-panel/layer-panel/single-color-palette.d.ts +1 -1
  486. package/dist/side-panel/layer-panel/single-color-palette.js +2 -2
  487. package/dist/side-panel/layer-panel/text-label-panel.d.ts +4 -2
  488. package/dist/side-panel/layer-panel/text-label-panel.js +62 -15
  489. package/dist/side-panel/layer-panel/vis-config-by-field-selector.d.ts +1 -3
  490. package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +2 -2
  491. package/dist/side-panel/layer-panel/vis-config-slider.js +2 -2
  492. package/dist/side-panel/layer-panel/vis-config-switch.js +2 -2
  493. package/dist/side-panel/map-manager.d.ts +13 -6
  494. package/dist/side-panel/map-manager.js +56 -45
  495. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.d.ts +14 -0
  496. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +116 -0
  497. package/dist/side-panel/map-style-panel/map-layer-group-item.d.ts +29 -0
  498. package/dist/side-panel/map-style-panel/map-layer-group-item.js +131 -0
  499. package/dist/side-panel/map-style-panel/map-layer-selector.d.ts +16 -12
  500. package/dist/side-panel/map-style-panel/map-layer-selector.js +34 -51
  501. package/dist/side-panel/map-style-panel/map-style-selector.d.ts +11 -4
  502. package/dist/side-panel/map-style-panel/map-style-selector.js +54 -20
  503. package/dist/side-panel/panel-dropdown.d.ts +3 -2
  504. package/dist/side-panel/panel-dropdown.js +2 -2
  505. package/dist/side-panel/panel-header-action.d.ts +4 -2
  506. package/dist/side-panel/panel-header-action.js +11 -4
  507. package/dist/side-panel/panel-header.d.ts +13 -8
  508. package/dist/side-panel/panel-header.js +2 -2
  509. package/dist/side-panel/panel-tab.d.ts +2 -2
  510. package/dist/side-panel/panel-tab.js +2 -2
  511. package/dist/side-panel/panel-title.d.ts +6 -3
  512. package/dist/side-panel/panel-title.js +31 -14
  513. package/dist/side-panel/panel-toggle.d.ts +1 -1
  514. package/dist/side-panel/panel-toggle.js +2 -2
  515. package/dist/side-panel/{layer-panel/panel-view-list-toggle.d.ts → panel-view-list-toggle.d.ts} +19 -8
  516. package/dist/side-panel/panel-view-list-toggle.js +143 -0
  517. package/dist/side-panel/side-bar.d.ts +15 -16
  518. package/dist/side-panel/side-bar.js +8 -6
  519. package/dist/side-panel.d.ts +2 -117
  520. package/dist/side-panel.js +14 -20
  521. package/dist/types.d.ts +16 -9
  522. package/dist/types.js +1 -1
  523. package/package.json +41 -34
  524. package/dist/editor/constants.d.ts +0 -17
  525. package/dist/editor/constants.js +0 -47
  526. package/dist/editor/feature-styles.d.ts +0 -37
  527. package/dist/editor/feature-styles.js +0 -92
  528. package/dist/editor/handle-style.d.ts +0 -42
  529. package/dist/editor/handle-style.js +0 -100
  530. package/dist/side-panel/layer-panel/panel-view-list-toggle.js +0 -143
@@ -1,4 +1,4 @@
1
- // Copyright (c) 2022 Uber Technologies, Inc.
1
+ // Copyright (c) 2023 Uber Technologies, Inc.
2
2
  //
3
3
  // Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  // of this software and associated documentation files (the "Software"), to deal
@@ -63,4 +63,4 @@ var Button = function Button(_ref) {
63
63
 
64
64
  var _default = Button;
65
65
  exports["default"] = _default;
66
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vZGF0YS10YWJsZS9idXR0b24udHN4Il0sIm5hbWVzIjpbIlN0eWxlZEJ1dHRvbiIsInN0eWxlZCIsImJ1dHRvbiIsInByb3BzIiwidGhlbWUiLCJvcHRpb25CdXR0b25Db2xvciIsInRyYW5zaXRpb24iLCJub29wIiwiQnV0dG9uIiwib25DbGljayIsImRpc2FibGVkIiwidGV4dCIsImNoaWxkcmVuIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxZQUFZLEdBQUdDLDZCQUFPQyxNQUFWLHdVQUNQLFVBQUFDLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUMsaUJBQWhCO0FBQUEsQ0FERSxFQU1GLFVBQUFGLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUUsVUFBaEI7QUFBQSxDQU5ILENBQWxCOztBQXVCQSxJQUFNQyxJQUFJLEdBQUcsU0FBUEEsSUFBTyxHQUFNLENBQUUsQ0FBckI7O0FBQ0EsSUFBTUMsTUFBTSxHQUFHLFNBQVRBLE1BQVM7QUFBQSwwQkFBRUMsT0FBRjtBQUFBLE1BQUVBLE9BQUYsNkJBQVlGLElBQVo7QUFBQSwyQkFBa0JHLFFBQWxCO0FBQUEsTUFBa0JBLFFBQWxCLDhCQUE2QixLQUE3QjtBQUFBLHVCQUFvQ0MsSUFBcEM7QUFBQSxNQUFvQ0EsSUFBcEMsMEJBQTJDLEVBQTNDO0FBQUEsTUFBK0NDLFFBQS9DLFFBQStDQSxRQUEvQztBQUFBLE1BQTREVCxLQUE1RDtBQUFBLHNCQUNiLGdDQUFDLFlBQUQsZ0NBQWtCQSxLQUFsQjtBQUF5QixJQUFBLE9BQU8sRUFBRU8sUUFBUSxHQUFHRyxTQUFILEdBQWVKO0FBQXpELE1BQ0dFLElBQUksSUFBSUMsUUFEWCxDQURhO0FBQUEsQ0FBZjs7ZUFNZUosTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge01vdXNlRXZlbnRIYW5kbGVyfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuY29uc3QgU3R5bGVkQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUub3B0aW9uQnV0dG9uQ29sb3J9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRyYW5zaXRpb246ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudHJhbnNpdGlvbn07XG4gIGhlaWdodDogMnJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcblxuICAmOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjg7XG4gIH1cbmA7XG5cbnR5cGUgQnV0dG9uUHJvcHMgPSB7XG4gIG9uQ2xpY2s/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MQnV0dG9uRWxlbWVudD47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgdGV4dD86IHN0cmluZztcbn0gJiBSZWFjdC5CdXR0b25IVE1MQXR0cmlidXRlczxIVE1MQnV0dG9uRWxlbWVudD47XG5cbmNvbnN0IG5vb3AgPSAoKSA9PiB7fTtcbmNvbnN0IEJ1dHRvbiA9ICh7b25DbGljayA9IG5vb3AsIGRpc2FibGVkID0gZmFsc2UsIHRleHQgPSAnJywgY2hpbGRyZW4sIC4uLnByb3BzfTogQnV0dG9uUHJvcHMpID0+IChcbiAgPFN0eWxlZEJ1dHRvbiB7Li4ucHJvcHN9IG9uQ2xpY2s9e2Rpc2FibGVkID8gdW5kZWZpbmVkIDogb25DbGlja30+XG4gICAge3RleHQgfHwgY2hpbGRyZW59XG4gIDwvU3R5bGVkQnV0dG9uPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgQnV0dG9uO1xuIl19
66
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vZGF0YS10YWJsZS9idXR0b24udHN4Il0sIm5hbWVzIjpbIlN0eWxlZEJ1dHRvbiIsInN0eWxlZCIsImJ1dHRvbiIsInByb3BzIiwidGhlbWUiLCJvcHRpb25CdXR0b25Db2xvciIsInRyYW5zaXRpb24iLCJub29wIiwiQnV0dG9uIiwib25DbGljayIsImRpc2FibGVkIiwidGV4dCIsImNoaWxkcmVuIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxZQUFZLEdBQUdDLDZCQUFPQyxNQUFWLHdVQUNQLFVBQUFDLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUMsaUJBQWhCO0FBQUEsQ0FERSxFQU1GLFVBQUFGLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUUsVUFBaEI7QUFBQSxDQU5ILENBQWxCOztBQXVCQSxJQUFNQyxJQUFJLEdBQUcsU0FBUEEsSUFBTyxHQUFNLENBQUUsQ0FBckI7O0FBQ0EsSUFBTUMsTUFBTSxHQUFHLFNBQVRBLE1BQVM7QUFBQSwwQkFBRUMsT0FBRjtBQUFBLE1BQUVBLE9BQUYsNkJBQVlGLElBQVo7QUFBQSwyQkFBa0JHLFFBQWxCO0FBQUEsTUFBa0JBLFFBQWxCLDhCQUE2QixLQUE3QjtBQUFBLHVCQUFvQ0MsSUFBcEM7QUFBQSxNQUFvQ0EsSUFBcEMsMEJBQTJDLEVBQTNDO0FBQUEsTUFBK0NDLFFBQS9DLFFBQStDQSxRQUEvQztBQUFBLE1BQTREVCxLQUE1RDtBQUFBLHNCQUNiLGdDQUFDLFlBQUQsZ0NBQWtCQSxLQUFsQjtBQUF5QixJQUFBLE9BQU8sRUFBRU8sUUFBUSxHQUFHRyxTQUFILEdBQWVKO0FBQXpELE1BQ0dFLElBQUksSUFBSUMsUUFEWCxDQURhO0FBQUEsQ0FBZjs7ZUFNZUosTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMyBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge01vdXNlRXZlbnRIYW5kbGVyfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuY29uc3QgU3R5bGVkQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUub3B0aW9uQnV0dG9uQ29sb3J9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRyYW5zaXRpb246ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudHJhbnNpdGlvbn07XG4gIGhlaWdodDogMnJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMDtcblxuICAmOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjg7XG4gIH1cbmA7XG5cbnR5cGUgQnV0dG9uUHJvcHMgPSB7XG4gIG9uQ2xpY2s/OiBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MQnV0dG9uRWxlbWVudD47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgdGV4dD86IHN0cmluZztcbn0gJiBSZWFjdC5CdXR0b25IVE1MQXR0cmlidXRlczxIVE1MQnV0dG9uRWxlbWVudD47XG5cbmNvbnN0IG5vb3AgPSAoKSA9PiB7fTtcbmNvbnN0IEJ1dHRvbiA9ICh7b25DbGljayA9IG5vb3AsIGRpc2FibGVkID0gZmFsc2UsIHRleHQgPSAnJywgY2hpbGRyZW4sIC4uLnByb3BzfTogQnV0dG9uUHJvcHMpID0+IChcbiAgPFN0eWxlZEJ1dHRvbiB7Li4ucHJvcHN9IG9uQ2xpY2s9e2Rpc2FibGVkID8gdW5kZWZpbmVkIDogb25DbGlja30+XG4gICAge3RleHQgfHwgY2hpbGRyZW59XG4gIDwvU3R5bGVkQnV0dG9uPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgQnV0dG9uO1xuIl19
@@ -1,4 +1,4 @@
1
- // Copyright (c) 2022 Uber Technologies, Inc.
1
+ // Copyright (c) 2023 Uber Technologies, Inc.
2
2
  //
3
3
  // Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  // of this software and associated documentation files (the "Software"), to deal
@@ -49,4 +49,4 @@ var _templateObject;
49
49
  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
50
 
51
51
  exports["default"] = _default;
52
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vZGF0YS10YWJsZS9jYW52YXMudHN4Il0sIm5hbWVzIjpbInN0eWxlZCIsImNhbnZhcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFvQkE7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtlQUNlQSw2QkFBT0MsTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG4vKlxuICAgIFNjcm9sbFN5bmMgd29ya3MgYnkgZ2V0dGluZyBhIGNhbGxiYWNrIGFib3V0IHRoZSBkb20gZWxlbWVudHMgc2Nyb2xsIGFtb3VudFxuICAgIGFuZCB0aGVuIHVzaW5nIHRoYXQgdG8gcGFzcyBpbnRvIGhvdyBtdWNoIHRvIHNjcm9sbCBhbGwgY2hpbGQgY29tcG9uZW50cyxcbiAgICBpdCB3b3JrcyBncmVhdCFcblxuICAgIEV4Y2VwdC4uLiBCZWNhdXNlIHNjcm9sbGluZyBpcyBtYW5hZ2VkIGJ5IGEgc2VwYXJhdGUgdGhyZWFkLCBhbmQgSmF2YVNjcmlwdFxuICAgIGlzIG9ubHkgcGVyaW9kaWNhbGx5IG5vdGlmaWVkIG9mIHRoZSB1cGRhdGVkIHBvc2l0aW9uLCB0aGVyZSdzIHNvbWUgbGF0ZW5jeVxuICAgIGlzc3VlcyB3aXRoIHRoaXMuXG5cbiAgICBXZSBjYW4gaGFjayBhcm91bmQgdGhpcyBieSB1c2luZyBhIG5pY2hlIHByb3BlcnR5IG9mIGNhbnZhcyB0aGF0IHJlbW92ZXMgdGhlXG4gICAgZGVsYXkgaW4gc2Nyb2xsIGV2ZW50IGZpcmluZyEgRWFzaWVzdCB3YXkgdG8gcmVwcm9kdWNlOiBlbmFibGUgXCJUcmFjZSBSZWFjdCB1cGRhdGVzXCJcbiAgICBpbiBSZWFjdCBEZXZUb29scyAoaXQgd29ya3MgYnkgb3ZlcmxheWluZyBhIHZpZXdwb3J0LXdpZGUgY2FudmFzIG92ZXIgdGhlIGRvY3VtZW50KS5cbiAgKi9cbmV4cG9ydCBkZWZhdWx0IHN0eWxlZC5jYW52YXNgXG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbmA7XG4iXX0=
52
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vZGF0YS10YWJsZS9jYW52YXMudHN4Il0sIm5hbWVzIjpbInN0eWxlZCIsImNhbnZhcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFvQkE7Ozs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtlQUNlQSw2QkFBT0MsTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMyBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG4vKlxuICAgIFNjcm9sbFN5bmMgd29ya3MgYnkgZ2V0dGluZyBhIGNhbGxiYWNrIGFib3V0IHRoZSBkb20gZWxlbWVudHMgc2Nyb2xsIGFtb3VudFxuICAgIGFuZCB0aGVuIHVzaW5nIHRoYXQgdG8gcGFzcyBpbnRvIGhvdyBtdWNoIHRvIHNjcm9sbCBhbGwgY2hpbGQgY29tcG9uZW50cyxcbiAgICBpdCB3b3JrcyBncmVhdCFcblxuICAgIEV4Y2VwdC4uLiBCZWNhdXNlIHNjcm9sbGluZyBpcyBtYW5hZ2VkIGJ5IGEgc2VwYXJhdGUgdGhyZWFkLCBhbmQgSmF2YVNjcmlwdFxuICAgIGlzIG9ubHkgcGVyaW9kaWNhbGx5IG5vdGlmaWVkIG9mIHRoZSB1cGRhdGVkIHBvc2l0aW9uLCB0aGVyZSdzIHNvbWUgbGF0ZW5jeVxuICAgIGlzc3VlcyB3aXRoIHRoaXMuXG5cbiAgICBXZSBjYW4gaGFjayBhcm91bmQgdGhpcyBieSB1c2luZyBhIG5pY2hlIHByb3BlcnR5IG9mIGNhbnZhcyB0aGF0IHJlbW92ZXMgdGhlXG4gICAgZGVsYXkgaW4gc2Nyb2xsIGV2ZW50IGZpcmluZyEgRWFzaWVzdCB3YXkgdG8gcmVwcm9kdWNlOiBlbmFibGUgXCJUcmFjZSBSZWFjdCB1cGRhdGVzXCJcbiAgICBpbiBSZWFjdCBEZXZUb29scyAoaXQgd29ya3MgYnkgb3ZlcmxheWluZyBhIHZpZXdwb3J0LXdpZGUgY2FudmFzIG92ZXIgdGhlIGRvY3VtZW50KS5cbiAgKi9cbmV4cG9ydCBkZWZhdWx0IHN0eWxlZC5jYW52YXNgXG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbmA7XG4iXX0=
@@ -1,4 +1,4 @@
1
- // Copyright (c) 2022 Uber Technologies, Inc.
1
+ // Copyright (c) 2023 Uber Technologies, Inc.
2
2
  //
3
3
  // Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  // of this software and associated documentation files (the "Software"), to deal
@@ -41,7 +41,12 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
41
41
  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
42
 
43
43
  var MIN_GHOST_CELL_SIZE = 200;
44
- var MIN_CELL_SIZE = 45;
44
+ var MIN_CELL_SIZE = 45; // first column have padding on the left
45
+
46
+ var EDGE_COLUMN_PADDING = 10; // in case cell content is small, column name is big, we allow max empty space to
47
+ // be added to min cell width in order to show column name
48
+
49
+ var MAX_EMPTY_COLUMN_SPACE = 60;
45
50
 
46
51
  /**
47
52
  * Measure rows and column content to determine min width for each column
@@ -69,7 +74,7 @@ function renderedSize(_ref) {
69
74
  _ref$minCellSize = _ref.minCellSize,
70
75
  minCellSize = _ref$minCellSize === void 0 ? MIN_CELL_SIZE : _ref$minCellSize,
71
76
  _ref$optionsButton = _ref.optionsButton,
72
- optionsButton = _ref$optionsButton === void 0 ? 30 : _ref$optionsButton;
77
+ optionsButton = _ref$optionsButton === void 0 ? 44 : _ref$optionsButton;
73
78
 
74
79
  if (!_document["default"]) {
75
80
  return {
@@ -93,11 +98,20 @@ function renderedSize(_ref) {
93
98
  }
94
99
 
95
100
  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;
101
+ var value = (0, _utils.parseFieldValue)(dataContainer.valueAt(rowIdx, colIdx), type); // measuring large text cause slow performance
102
+
103
+ if (value.length > maxCellSize) {
104
+ return maxCellSize;
105
+ }
106
+
107
+ var textWidth = context.measureText(value).width;
108
+ return Math.ceil(textWidth) + cellPadding;
97
109
  }))); // header cell only has left padding
98
110
 
99
- var headerWidth = Math.ceil(context.measureText(column).width) + cellPadding / 2 + optionsButton;
100
- var minRowWidth = minCellSize + cellPadding;
111
+ var headerWidth = Math.ceil(context.measureText(column).width) + cellPadding / 2 + optionsButton; // min row width is measured by cell content
112
+
113
+ var minRowWidth = minCellSize + cellPadding; // min header width is measured by cell
114
+
101
115
  var minHeaderWidth = minCellSize + cellPadding / 2 + optionsButton;
102
116
  var clampedRowWidth = clamp(minRowWidth, maxCellSize, rowWidth);
103
117
  var clampedHeaderWidth = clamp(minHeaderWidth, maxHeaderSize, headerWidth); // cleanup
@@ -117,11 +131,13 @@ function getColumnOrder() {
117
131
  var pinnedColumns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
118
132
  var unpinnedColumns = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
119
133
  return [].concat((0, _toConsumableArray2["default"])(pinnedColumns), (0, _toConsumableArray2["default"])(unpinnedColumns));
120
- }
134
+ } // If total min cell size is bigger than containerWidth adjust column
135
+
121
136
 
122
137
  function getMinCellSize(cellSizeCache) {
123
138
  return Object.keys(cellSizeCache).reduce(function (accu, col) {
124
- return _objectSpread(_objectSpread({}, accu), {}, (0, _defineProperty2["default"])({}, col, cellSizeCache[col].row));
139
+ 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
140
+ Math.min(cellSizeCache[col].header, cellSizeCache[col].row + MAX_EMPTY_COLUMN_SPACE)));
125
141
  }, {});
126
142
  }
127
143
 
@@ -169,6 +185,20 @@ function expandCellSize(cellSizeCache, columnOrder, containerWidth, roomToFill)
169
185
  ghost: ghost
170
186
  };
171
187
  }
188
+
189
+ function addPaddingToFirstColumn(cellSizeCache) {
190
+ var columnOrder = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
191
+ var firstCol = columnOrder[0];
192
+
193
+ if (firstCol && cellSizeCache[firstCol]) {
194
+ return _objectSpread(_objectSpread({}, cellSizeCache), {}, (0, _defineProperty2["default"])({}, firstCol, {
195
+ header: cellSizeCache[firstCol].header + EDGE_COLUMN_PADDING,
196
+ row: cellSizeCache[firstCol].row + EDGE_COLUMN_PADDING
197
+ }));
198
+ }
199
+
200
+ return cellSizeCache;
201
+ }
172
202
  /**
173
203
  * Adjust cell size based on container width
174
204
  * @param {number} containerWidth
@@ -179,17 +209,18 @@ function expandCellSize(cellSizeCache, columnOrder, containerWidth, roomToFill)
179
209
 
180
210
 
181
211
  function adjustCellsToContainer(containerWidth, cellSizeCache, pinnedColumns, unpinnedColumns) {
182
- var minRowSum = getSizeSum(cellSizeCache, 'row');
212
+ var columnOrder = getColumnOrder(pinnedColumns, unpinnedColumns);
213
+ var paddedCellSize = addPaddingToFirstColumn(cellSizeCache, columnOrder);
214
+ var minRowSum = getSizeSum(paddedCellSize, 'row');
183
215
 
184
216
  if (minRowSum >= containerWidth) {
185
217
  // we apply the min Width to all cells
186
218
  return {
187
- cellSizeCache: getMinCellSize(cellSizeCache)
219
+ cellSizeCache: getMinCellSize(paddedCellSize)
188
220
  };
189
221
  } // if we have some room to expand
190
222
 
191
223
 
192
- var columnOrder = getColumnOrder(pinnedColumns, unpinnedColumns);
193
- return expandCellSize(cellSizeCache, columnOrder, containerWidth, containerWidth - minRowSum);
224
+ return expandCellSize(paddedCellSize, columnOrder, containerWidth, containerWidth - minRowSum);
194
225
  }
195
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vZGF0YS10YWJsZS9jZWxsLXNpemUudHMiXSwibmFtZXMiOlsiTUlOX0dIT1NUX0NFTExfU0laRSIsIk1JTl9DRUxMX1NJWkUiLCJyZW5kZXJlZFNpemUiLCJ0ZXh0IiwiZGF0YUNvbnRhaW5lciIsImNvbHVtbiIsInR5cGUiLCJjb2xJZHgiLCJudW1Sb3dzVG9DYWxjdWxhdGUiLCJmb250U2l6ZSIsImZvbnQiLCJjZWxsUGFkZGluZyIsIm1heENlbGxTaXplIiwibWF4SGVhZGVyU2l6ZSIsIm1pbkNlbGxTaXplIiwib3B0aW9uc0J1dHRvbiIsImRvY3VtZW50Iiwicm93IiwiaGVhZGVyIiwidGV4dENhbnZhcyIsImNyZWF0ZUVsZW1lbnQiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJjb250ZXh0IiwiZ2V0Q29udGV4dCIsImpvaW4iLCJyb3dzVG9TYW1wbGUiLCJBcnJheSIsIm1hcCIsIk1hdGgiLCJmbG9vciIsInJhbmRvbSIsIm51bVJvd3MiLCJmcm9tIiwia2V5cyIsInJvd1dpZHRoIiwibWF4Iiwicm93SWR4IiwiY2VpbCIsIm1lYXN1cmVUZXh0IiwidmFsdWVBdCIsIndpZHRoIiwiaGVhZGVyV2lkdGgiLCJtaW5Sb3dXaWR0aCIsIm1pbkhlYWRlcldpZHRoIiwiY2xhbXBlZFJvd1dpZHRoIiwiY2xhbXAiLCJjbGFtcGVkSGVhZGVyV2lkdGgiLCJwYXJlbnRFbGVtZW50IiwicmVtb3ZlQ2hpbGQiLCJtaW4iLCJ2YWx1ZSIsImdldENvbHVtbk9yZGVyIiwicGlubmVkQ29sdW1ucyIsInVucGlubmVkQ29sdW1ucyIsImdldE1pbkNlbGxTaXplIiwiY2VsbFNpemVDYWNoZSIsIk9iamVjdCIsInJlZHVjZSIsImFjY3UiLCJjb2wiLCJnZXRTaXplU3VtIiwic2l6ZUNhY2hlIiwia2V5IiwiYWNjIiwidmFsIiwiZXhwYW5kQ2VsbFNpemUiLCJjb2x1bW5PcmRlciIsImNvbnRhaW5lcldpZHRoIiwicm9vbVRvRmlsbCIsInJlbWFpbmluZyIsImV4cGFuZGVkQ2VsbFNpemUiLCJzaXplIiwiZ2hvc3QiLCJsYXN0Q2VsbCIsImxlbmd0aCIsImFkanVzdENlbGxzVG9Db250YWluZXIiLCJtaW5Sb3dTdW0iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOzs7Ozs7QUFFQSxJQUFNQSxtQkFBMkIsR0FBRyxHQUFwQztBQUNBLElBQU1DLGFBQWEsR0FBRyxFQUF0Qjs7QUF1QkE7QUFDQTtBQUNBO0FBQ0E7QUFDTyxTQUFTQyxZQUFULE9BWTRDO0FBQUEsdUJBWGpEQyxJQVdpRDtBQUFBLE1BWDFDQyxhQVcwQyxhQVgxQ0EsYUFXMEM7QUFBQSxNQVgzQkMsTUFXMkIsYUFYM0JBLE1BVzJCO0FBQUEsdUJBVmpEQyxJQVVpRDtBQUFBLE1BVmpEQSxJQVVpRCwwQkFWMUMsUUFVMEM7QUFBQSxNQVRqREMsTUFTaUQsUUFUakRBLE1BU2lEO0FBQUEsbUNBUmpEQyxrQkFRaUQ7QUFBQSxNQVJqREEsa0JBUWlELHNDQVI1QixFQVE0QjtBQUFBLDJCQVBqREMsUUFPaUQ7QUFBQSxNQVBqREEsUUFPaUQsOEJBUHRDLEVBT3NDO0FBQUEsdUJBTmpEQyxJQU1pRDtBQUFBLE1BTmpEQSxJQU1pRCwwQkFOMUMsTUFNMEM7QUFBQSw4QkFMakRDLFdBS2lEO0FBQUEsTUFMakRBLFdBS2lELGlDQUxuQyxFQUttQztBQUFBLDhCQUpqREMsV0FJaUQ7QUFBQSxNQUpqREEsV0FJaUQsaUNBSm5DLEdBSW1DO0FBQUEsZ0NBSGpEQyxhQUdpRDtBQUFBLE1BSGpEQSxhQUdpRCxtQ0FIakMsR0FHaUM7QUFBQSw4QkFGakRDLFdBRWlEO0FBQUEsTUFGakRBLFdBRWlELGlDQUZuQ2IsYUFFbUM7QUFBQSxnQ0FEakRjLGFBQ2lEO0FBQUEsTUFEakRBLGFBQ2lELG1DQURqQyxFQUNpQzs7QUFDakQsTUFBSSxDQUFDQyxvQkFBTCxFQUFlO0FBQ2IsV0FBTztBQUNMQyxNQUFBQSxHQUFHLEVBQUUsQ0FEQTtBQUVMQyxNQUFBQSxNQUFNLEVBQUU7QUFGSCxLQUFQO0FBSUQ7O0FBQ0QsTUFBTUMsVUFBVSxHQUFHSCxxQkFBU0ksYUFBVCxDQUF1QixRQUF2QixDQUFuQjs7QUFDQUosdUJBQVNLLElBQVQsQ0FBY0MsV0FBZCxDQUEwQkgsVUFBMUI7O0FBQ0EsTUFBTUksT0FBTyxHQUFHSixVQUFVLENBQUNLLFVBQVgsQ0FBc0IsSUFBdEIsQ0FBaEI7QUFDQUQsRUFBQUEsT0FBTyxDQUFDYixJQUFSLEdBQWUsQ0FBQ0QsUUFBRCxFQUFXQyxJQUFYLEVBQWlCZSxJQUFqQixDQUFzQixLQUF0QixDQUFmO0FBRUEsTUFBSUMsWUFBWSxHQUFHLG9DQUFJQyxLQUFLLENBQUNuQixrQkFBRCxDQUFULEVBQStCb0IsR0FBL0IsQ0FBbUM7QUFBQSxXQUNwREMsSUFBSSxDQUFDQyxLQUFMLENBQVdELElBQUksQ0FBQ0UsTUFBTCxNQUFpQjNCLGFBQWEsQ0FBQzRCLE9BQWQsS0FBMEIsQ0FBM0MsQ0FBWCxDQURvRDtBQUFBLEdBQW5DLENBQW5CLENBWmlELENBZ0JqRDs7QUFDQSxNQUFJNUIsYUFBYSxDQUFDNEIsT0FBZCxNQUEyQnhCLGtCQUEvQixFQUFtRDtBQUNqRGtCLElBQUFBLFlBQVksR0FBR0MsS0FBSyxDQUFDTSxJQUFOLENBQVdOLEtBQUssQ0FBQ3ZCLGFBQWEsQ0FBQzRCLE9BQWQsRUFBRCxDQUFMLENBQStCRSxJQUEvQixFQUFYLENBQWY7QUFDRDs7QUFDRCxNQUFNQyxRQUFRLEdBQUdOLElBQUksQ0FBQ08sR0FBTCxPQUFBUCxJQUFJLHNDQUNoQkgsWUFBWSxDQUFDRSxHQUFiLENBQ0QsVUFBQVMsTUFBTTtBQUFBLFdBQ0pSLElBQUksQ0FBQ1MsSUFBTCxDQUNFZixPQUFPLENBQUNnQixXQUFSLENBQW9CLDRCQUFnQm5DLGFBQWEsQ0FBQ29DLE9BQWQsQ0FBc0JILE1BQXRCLEVBQThCOUIsTUFBOUIsQ0FBaEIsRUFBdURELElBQXZELENBQXBCLEVBQWtGbUMsS0FEcEYsSUFFSTlCLFdBSEE7QUFBQSxHQURMLENBRGdCLEVBQXJCLENBcEJpRCxDQTRCakQ7O0FBQ0EsTUFBTStCLFdBQVcsR0FDZmIsSUFBSSxDQUFDUyxJQUFMLENBQVVmLE9BQU8sQ0FBQ2dCLFdBQVIsQ0FBb0JsQyxNQUFwQixFQUE0Qm9DLEtBQXRDLElBQStDOUIsV0FBVyxHQUFHLENBQTdELEdBQWlFSSxhQURuRTtBQUdBLE1BQU00QixXQUFXLEdBQUc3QixXQUFXLEdBQUdILFdBQWxDO0FBQ0EsTUFBTWlDLGNBQWMsR0FBRzlCLFdBQVcsR0FBR0gsV0FBVyxHQUFHLENBQTVCLEdBQWdDSSxhQUF2RDtBQUVBLE1BQU04QixlQUFlLEdBQUdDLEtBQUssQ0FBQ0gsV0FBRCxFQUFjL0IsV0FBZCxFQUEyQnVCLFFBQTNCLENBQTdCO0FBQ0EsTUFBTVksa0JBQWtCLEdBQUdELEtBQUssQ0FBQ0YsY0FBRCxFQUFpQi9CLGFBQWpCLEVBQWdDNkIsV0FBaEMsQ0FBaEMsQ0FwQ2lELENBc0NqRDs7QUFDQXZCLEVBQUFBLFVBQVUsQ0FBQzZCLGFBQVgsQ0FBeUJDLFdBQXpCLENBQXFDOUIsVUFBckM7QUFFQSxTQUFPO0FBQ0xGLElBQUFBLEdBQUcsRUFBRTRCLGVBREE7QUFFTDNCLElBQUFBLE1BQU0sRUFBRTZCO0FBRkgsR0FBUDtBQUlEOztBQUVELFNBQVNELEtBQVQsQ0FBZUksR0FBZixFQUFvQmQsR0FBcEIsRUFBeUJlLEtBQXpCLEVBQWdDO0FBQzlCLFNBQU90QixJQUFJLENBQUNPLEdBQUwsQ0FBU1AsSUFBSSxDQUFDcUIsR0FBTCxDQUFTZCxHQUFULEVBQWNlLEtBQWQsQ0FBVCxFQUErQkQsR0FBL0IsQ0FBUDtBQUNEOztBQUVELFNBQVNFLGNBQVQsR0FBc0Y7QUFBQSxNQUE5REMsYUFBOEQsdUVBQXBDLEVBQW9DO0FBQUEsTUFBaENDLGVBQWdDLHVFQUFKLEVBQUk7QUFDcEYsdURBQVdELGFBQVgsdUNBQTZCQyxlQUE3QjtBQUNEOztBQUVELFNBQVNDLGNBQVQsQ0FBd0JDLGFBQXhCLEVBQXNEO0FBQ3BELFNBQU9DLE1BQU0sQ0FBQ3ZCLElBQVAsQ0FBWXNCLGFBQVosRUFBMkJFLE1BQTNCLENBQ0wsVUFBQ0MsSUFBRCxFQUFPQyxHQUFQO0FBQUEsMkNBQ0tELElBREwsNENBRUdDLEdBRkgsRUFFU0osYUFBYSxDQUFDSSxHQUFELENBQWIsQ0FBbUIzQyxHQUY1QjtBQUFBLEdBREssRUFLTCxFQUxLLENBQVA7QUFPRDs7QUFFRCxTQUFTNEMsVUFBVCxDQUFvQkMsU0FBcEIsRUFBK0JDLEdBQS9CLEVBQW9DO0FBQ2xDLFNBQU9OLE1BQU0sQ0FBQ3ZCLElBQVAsQ0FBWTRCLFNBQVosRUFBdUJKLE1BQXZCLENBQ0wsVUFBQ00sR0FBRCxFQUFNQyxHQUFOO0FBQUEsV0FBY0QsR0FBRyxJQUFJRCxHQUFHLEdBQUdELFNBQVMsQ0FBQ0csR0FBRCxDQUFULENBQWVGLEdBQWYsQ0FBSCxHQUF5QkQsU0FBUyxDQUFDRyxHQUFELENBQXpDLENBQWpCO0FBQUEsR0FESyxFQUVMLENBRkssQ0FBUDtBQUlEO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0EsU0FBU0MsY0FBVCxDQUNFVixhQURGLEVBRUVXLFdBRkYsRUFHRUMsY0FIRixFQUlFQyxVQUpGLEVBUUU7QUFDQSxNQUFJQyxTQUFTLEdBQUdELFVBQWhCO0FBRUEsTUFBTUUsZ0JBQWdCLEdBQUdKLFdBQVcsQ0FBQ1QsTUFBWixDQUFtQixVQUFDQyxJQUFELEVBQU9DLEdBQVAsRUFBZTtBQUN6RCxRQUFJWSxJQUFJLEdBQUdoQixhQUFhLENBQUNJLEdBQUQsQ0FBYixDQUFtQjNDLEdBQTlCOztBQUNBLFFBQUl1QyxhQUFhLENBQUNJLEdBQUQsQ0FBYixDQUFtQjNDLEdBQW5CLEdBQXlCdUMsYUFBYSxDQUFDSSxHQUFELENBQWIsQ0FBbUIxQyxNQUE1QyxJQUFzRG9ELFNBQVMsR0FBRyxDQUF0RSxFQUF5RTtBQUN2RTtBQUNBRSxNQUFBQSxJQUFJLEdBQ0ZoQixhQUFhLENBQUNJLEdBQUQsQ0FBYixDQUFtQjFDLE1BQW5CLEdBQTRCc0MsYUFBYSxDQUFDSSxHQUFELENBQWIsQ0FBbUIzQyxHQUEvQyxHQUFxRHFELFNBQXJELEdBQ0lkLGFBQWEsQ0FBQ0ksR0FBRCxDQUFiLENBQW1CMUMsTUFEdkIsR0FFSXNDLGFBQWEsQ0FBQ0ksR0FBRCxDQUFiLENBQW1CM0MsR0FBbkIsR0FBeUJxRCxTQUgvQjtBQUlBQSxNQUFBQSxTQUFTLElBQUlFLElBQUksR0FBR2hCLGFBQWEsQ0FBQ0ksR0FBRCxDQUFiLENBQW1CM0MsR0FBdkM7QUFDRDs7QUFFRCwyQ0FDSzBDLElBREwsNENBRUdDLEdBRkgsRUFFU1ksSUFGVDtBQUlELEdBZndCLEVBZXRCLEVBZnNCLENBQXpCO0FBaUJBLE1BQUlDLEtBQW9CLEdBQUcsSUFBM0I7O0FBQ0EsTUFBSUgsU0FBUyxHQUFHLENBQVosSUFBaUJBLFNBQVMsR0FBR3RFLG1CQUFqQyxFQUFzRDtBQUNwRDtBQUNBLFFBQU0wRSxRQUFRLEdBQUdQLFdBQVcsQ0FBQ0EsV0FBVyxDQUFDUSxNQUFaLEdBQXFCLENBQXRCLENBQTVCO0FBQ0FKLElBQUFBLGdCQUFnQixDQUFDRyxRQUFELENBQWhCLElBQThCSixTQUE5QjtBQUNELEdBSkQsTUFJTyxJQUFJQSxTQUFTLElBQUl0RSxtQkFBakIsRUFBc0M7QUFDM0M7QUFDQXlFLElBQUFBLEtBQUssR0FBR0gsU0FBUjtBQUNEOztBQUVELFNBQU87QUFDTGQsSUFBQUEsYUFBYSxFQUFFZSxnQkFEVjtBQUVMRSxJQUFBQSxLQUFLLEVBQUxBO0FBRkssR0FBUDtBQUlEO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLFNBQVNHLHNCQUFULENBQ0xSLGNBREssRUFFTFosYUFGSyxFQUdMSCxhQUhLLEVBSUxDLGVBSkssRUFRTDtBQUNBLE1BQU11QixTQUFTLEdBQUdoQixVQUFVLENBQUNMLGFBQUQsRUFBZ0IsS0FBaEIsQ0FBNUI7O0FBQ0EsTUFBSXFCLFNBQVMsSUFBSVQsY0FBakIsRUFBaUM7QUFDL0I7QUFDQSxXQUFPO0FBQUNaLE1BQUFBLGFBQWEsRUFBRUQsY0FBYyxDQUFDQyxhQUFEO0FBQTlCLEtBQVA7QUFDRCxHQUxELENBT0E7OztBQUNBLE1BQU1XLFdBQVcsR0FBR2YsY0FBYyxDQUFDQyxhQUFELEVBQWdCQyxlQUFoQixDQUFsQztBQUNBLFNBQU9ZLGNBQWMsQ0FBQ1YsYUFBRCxFQUFnQlcsV0FBaEIsRUFBNkJDLGNBQTdCLEVBQTZDQSxjQUFjLEdBQUdTLFNBQTlELENBQXJCO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgZG9jdW1lbnQgZnJvbSAnZ2xvYmFsL2RvY3VtZW50JztcbmltcG9ydCB7RGF0YUNvbnRhaW5lckludGVyZmFjZSwgcGFyc2VGaWVsZFZhbHVlfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcblxuY29uc3QgTUlOX0dIT1NUX0NFTExfU0laRTogbnVtYmVyID0gMjAwO1xuY29uc3QgTUlOX0NFTExfU0laRSA9IDQ1O1xuXG50eXBlIFJlbmRlclNpemVQYXJhbSA9IHtcbiAgdGV4dDoge2RhdGFDb250YWluZXI6IERhdGFDb250YWluZXJJbnRlcmZhY2U7IGNvbHVtbjogc3RyaW5nfTtcbiAgdHlwZT86IHN0cmluZztcbiAgY29sSWR4OiBudW1iZXI7XG4gIG51bVJvd3NUb0NhbGN1bGF0ZT86IG51bWJlcjtcbiAgZm9udFNpemU/OiBudW1iZXI7XG4gIGZvbnQ/OiBzdHJpbmc7XG4gIGNlbGxQYWRkaW5nPzogbnVtYmVyO1xuICBtYXhDZWxsU2l6ZT86IG51bWJlcjtcbiAgbWF4SGVhZGVyU2l6ZT86IG51bWJlcjtcbiAgbWluQ2VsbFNpemU/OiBudW1iZXI7XG4gIG9wdGlvbnNCdXR0b24/OiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBDZWxsU2l6ZUNhY2hlID0ge1xuICBba2V5OiBzdHJpbmddOiB7XG4gICAgcm93OiBudW1iZXI7XG4gICAgaGVhZGVyOiBudW1iZXI7XG4gIH07XG59O1xuXG4vKipcbiAqIE1lYXN1cmUgcm93cyBhbmQgY29sdW1uIGNvbnRlbnQgdG8gZGV0ZXJtaW5lIG1pbiB3aWR0aCBmb3IgZWFjaCBjb2x1bW5cbiAqIEBwYXJhbSB7UmVuZGVyU2l6ZVBhcmFtfSBwYXJhbTBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbmRlcmVkU2l6ZSh7XG4gIHRleHQ6IHtkYXRhQ29udGFpbmVyLCBjb2x1bW59LFxuICB0eXBlID0gJ3N0cmluZycsXG4gIGNvbElkeCxcbiAgbnVtUm93c1RvQ2FsY3VsYXRlID0gMTAsXG4gIGZvbnRTaXplID0gMTIsXG4gIGZvbnQgPSAnTGF0bycsXG4gIGNlbGxQYWRkaW5nID0gNDAsXG4gIG1heENlbGxTaXplID0gNTAwLFxuICBtYXhIZWFkZXJTaXplID0gNTAwLFxuICBtaW5DZWxsU2l6ZSA9IE1JTl9DRUxMX1NJWkUsXG4gIG9wdGlvbnNCdXR0b24gPSAzMFxufTogUmVuZGVyU2l6ZVBhcmFtKToge3JvdzogbnVtYmVyOyBoZWFkZXI6IG51bWJlcn0ge1xuICBpZiAoIWRvY3VtZW50KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJvdzogMCxcbiAgICAgIGhlYWRlcjogMFxuICAgIH07XG4gIH1cbiAgY29uc3QgdGV4dENhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHRDYW52YXMpO1xuICBjb25zdCBjb250ZXh0ID0gdGV4dENhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICBjb250ZXh0LmZvbnQgPSBbZm9udFNpemUsIGZvbnRdLmpvaW4oJ3B4ICcpO1xuXG4gIGxldCByb3dzVG9TYW1wbGUgPSBbLi4uQXJyYXkobnVtUm93c1RvQ2FsY3VsYXRlKV0ubWFwKCgpID0+XG4gICAgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKGRhdGFDb250YWluZXIubnVtUm93cygpIC0gMSkpXG4gICk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBsZXNzIHRoYW4gMTAgcm93cywgbGV0cyBtZWFzdXJlIGFsbCBvZiB0aGVtXG4gIGlmIChkYXRhQ29udGFpbmVyLm51bVJvd3MoKSA8PSBudW1Sb3dzVG9DYWxjdWxhdGUpIHtcbiAgICByb3dzVG9TYW1wbGUgPSBBcnJheS5mcm9tKEFycmF5KGRhdGFDb250YWluZXIubnVtUm93cygpKS5rZXlzKCkpO1xuICB9XG4gIGNvbnN0IHJvd1dpZHRoID0gTWF0aC5tYXgoXG4gICAgLi4ucm93c1RvU2FtcGxlLm1hcChcbiAgICAgIHJvd0lkeCA9PlxuICAgICAgICBNYXRoLmNlaWwoXG4gICAgICAgICAgY29udGV4dC5tZWFzdXJlVGV4dChwYXJzZUZpZWxkVmFsdWUoZGF0YUNvbnRhaW5lci52YWx1ZUF0KHJvd0lkeCwgY29sSWR4KSwgdHlwZSkpLndpZHRoXG4gICAgICAgICkgKyBjZWxsUGFkZGluZ1xuICAgIClcbiAgKTtcbiAgLy8gaGVhZGVyIGNlbGwgb25seSBoYXMgbGVmdCBwYWRkaW5nXG4gIGNvbnN0IGhlYWRlcldpZHRoID1cbiAgICBNYXRoLmNlaWwoY29udGV4dC5tZWFzdXJlVGV4dChjb2x1bW4pLndpZHRoKSArIGNlbGxQYWRkaW5nIC8gMiArIG9wdGlvbnNCdXR0b247XG5cbiAgY29uc3QgbWluUm93V2lkdGggPSBtaW5DZWxsU2l6ZSArIGNlbGxQYWRkaW5nO1xuICBjb25zdCBtaW5IZWFkZXJXaWR0aCA9IG1pbkNlbGxTaXplICsgY2VsbFBhZGRpbmcgLyAyICsgb3B0aW9uc0J1dHRvbjtcblxuICBjb25zdCBjbGFtcGVkUm93V2lkdGggPSBjbGFtcChtaW5Sb3dXaWR0aCwgbWF4Q2VsbFNpemUsIHJvd1dpZHRoKTtcbiAgY29uc3QgY2xhbXBlZEhlYWRlcldpZHRoID0gY2xhbXAobWluSGVhZGVyV2lkdGgsIG1heEhlYWRlclNpemUsIGhlYWRlcldpZHRoKTtcblxuICAvLyBjbGVhbnVwXG4gIHRleHRDYW52YXMucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0ZXh0Q2FudmFzKTtcblxuICByZXR1cm4ge1xuICAgIHJvdzogY2xhbXBlZFJvd1dpZHRoLFxuICAgIGhlYWRlcjogY2xhbXBlZEhlYWRlcldpZHRoXG4gIH07XG59XG5cbmZ1bmN0aW9uIGNsYW1wKG1pbiwgbWF4LCB2YWx1ZSkge1xuICByZXR1cm4gTWF0aC5tYXgoTWF0aC5taW4obWF4LCB2YWx1ZSksIG1pbik7XG59XG5cbmZ1bmN0aW9uIGdldENvbHVtbk9yZGVyKHBpbm5lZENvbHVtbnM6IHN0cmluZ1tdID0gW10sIHVucGlubmVkQ29sdW1uczogc3RyaW5nW10gPSBbXSkge1xuICByZXR1cm4gWy4uLnBpbm5lZENvbHVtbnMsIC4uLnVucGlubmVkQ29sdW1uc107XG59XG5cbmZ1bmN0aW9uIGdldE1pbkNlbGxTaXplKGNlbGxTaXplQ2FjaGU6IENlbGxTaXplQ2FjaGUpIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKGNlbGxTaXplQ2FjaGUpLnJlZHVjZShcbiAgICAoYWNjdSwgY29sKSA9PiAoe1xuICAgICAgLi4uYWNjdSxcbiAgICAgIFtjb2xdOiBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93XG4gICAgfSksXG4gICAge31cbiAgKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2l6ZVN1bShzaXplQ2FjaGUsIGtleSkge1xuICByZXR1cm4gT2JqZWN0LmtleXMoc2l6ZUNhY2hlKS5yZWR1Y2UoXG4gICAgKGFjYywgdmFsKSA9PiBhY2MgKyAoa2V5ID8gc2l6ZUNhY2hlW3ZhbF1ba2V5XSA6IHNpemVDYWNoZVt2YWxdKSxcbiAgICAwXG4gICk7XG59XG5cbi8qKlxuICogRXhwYW5kIGNlbGwgdG8gZml0IGJvdGggcm93IGFuZCBoZWFkZXIsIGlmIHRoZXJlIGlzIHN0aWxsIHJvb20gbGVmdCxcbiAqIGV4cGFuZCBsYXN0IGNlbGwgdG8gZml0IHRoZSBlbnRpcmUgd2lkdGggb2YgdGhlIGNvbnRhaW5lclxuICogQHBhcmFtIHtDZWxsU2l6ZUNhY2hlfSBjZWxsU2l6ZUNhY2hlXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBjb2x1bW5PcmRlclxuICogQHBhcmFtIHtudW1iZXJ9IGNvbnRhaW5lcldpZHRoXG4gKiBAcGFyYW0ge251bWJlcn0gcm9vbVRvRmlsbFxuICovXG5mdW5jdGlvbiBleHBhbmRDZWxsU2l6ZShcbiAgY2VsbFNpemVDYWNoZTogQ2VsbFNpemVDYWNoZSxcbiAgY29sdW1uT3JkZXI6IHN0cmluZ1tdLFxuICBjb250YWluZXJXaWR0aDogbnVtYmVyLFxuICByb29tVG9GaWxsOiBudW1iZXJcbik6IHtcbiAgY2VsbFNpemVDYWNoZTogQ2VsbFNpemVDYWNoZTtcbiAgZ2hvc3Q6IG51bWJlciB8IG51bGw7XG59IHtcbiAgbGV0IHJlbWFpbmluZyA9IHJvb21Ub0ZpbGw7XG5cbiAgY29uc3QgZXhwYW5kZWRDZWxsU2l6ZSA9IGNvbHVtbk9yZGVyLnJlZHVjZSgoYWNjdSwgY29sKSA9PiB7XG4gICAgbGV0IHNpemUgPSBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93O1xuICAgIGlmIChjZWxsU2l6ZUNhY2hlW2NvbF0ucm93IDwgY2VsbFNpemVDYWNoZVtjb2xdLmhlYWRlciAmJiByZW1haW5pbmcgPiAwKSB7XG4gICAgICAvLyBpZiB3ZSBhcmUgY3V0dGluZyBvZmYgdGhlIGhlYWRlciwgZXhwYW5kIHRvIGZpdCBpdFxuICAgICAgc2l6ZSA9XG4gICAgICAgIGNlbGxTaXplQ2FjaGVbY29sXS5oZWFkZXIgLSBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93IDwgcmVtYWluaW5nXG4gICAgICAgICAgPyBjZWxsU2l6ZUNhY2hlW2NvbF0uaGVhZGVyXG4gICAgICAgICAgOiBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93ICsgcmVtYWluaW5nO1xuICAgICAgcmVtYWluaW5nIC09IHNpemUgLSBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5hY2N1LFxuICAgICAgW2NvbF06IHNpemVcbiAgICB9O1xuICB9LCB7fSk7XG5cbiAgbGV0IGdob3N0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgaWYgKHJlbWFpbmluZyA+IDAgJiYgcmVtYWluaW5nIDwgTUlOX0dIT1NUX0NFTExfU0laRSkge1xuICAgIC8vIGV4cGFuZCBsYXN0IGNlbGxcbiAgICBjb25zdCBsYXN0Q2VsbCA9IGNvbHVtbk9yZGVyW2NvbHVtbk9yZGVyLmxlbmd0aCAtIDFdO1xuICAgIGV4cGFuZGVkQ2VsbFNpemVbbGFzdENlbGxdICs9IHJlbWFpbmluZztcbiAgfSBlbHNlIGlmIChyZW1haW5pbmcgPj0gTUlOX0dIT1NUX0NFTExfU0laRSkge1xuICAgIC8vIGlmIHRvbyBtdWNoIGxlZnQgYWRkIGEgZ2hvc3QgY2VsbFxuICAgIGdob3N0ID0gcmVtYWluaW5nO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBjZWxsU2l6ZUNhY2hlOiBleHBhbmRlZENlbGxTaXplLFxuICAgIGdob3N0XG4gIH07XG59XG5cbi8qKlxuICogQWRqdXN0IGNlbGwgc2l6ZSBiYXNlZCBvbiBjb250YWluZXIgd2lkdGhcbiAqIEBwYXJhbSB7bnVtYmVyfSBjb250YWluZXJXaWR0aFxuICogQHBhcmFtIHtDZWxsU2l6ZUNhY2hlfSBjZWxsU2l6ZUNhY2hlXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBwaW5uZWRDb2x1bW5zXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSB1bnBpbm5lZENvbHVtbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkanVzdENlbGxzVG9Db250YWluZXIoXG4gIGNvbnRhaW5lcldpZHRoOiBudW1iZXIsXG4gIGNlbGxTaXplQ2FjaGU6IENlbGxTaXplQ2FjaGUsXG4gIHBpbm5lZENvbHVtbnM6IHN0cmluZ1tdLFxuICB1bnBpbm5lZENvbHVtbnM6IHN0cmluZ1tdXG4pOiB7XG4gIGNlbGxTaXplQ2FjaGU6IENlbGxTaXplQ2FjaGU7XG4gIGdob3N0PzogbnVtYmVyIHwgbnVsbDtcbn0ge1xuICBjb25zdCBtaW5Sb3dTdW0gPSBnZXRTaXplU3VtKGNlbGxTaXplQ2FjaGUsICdyb3cnKTtcbiAgaWYgKG1pblJvd1N1bSA+PSBjb250YWluZXJXaWR0aCkge1xuICAgIC8vIHdlIGFwcGx5IHRoZSBtaW4gV2lkdGggdG8gYWxsIGNlbGxzXG4gICAgcmV0dXJuIHtjZWxsU2l6ZUNhY2hlOiBnZXRNaW5DZWxsU2l6ZShjZWxsU2l6ZUNhY2hlKX07XG4gIH1cblxuICAvLyBpZiB3ZSBoYXZlIHNvbWUgcm9vbSB0byBleHBhbmRcbiAgY29uc3QgY29sdW1uT3JkZXIgPSBnZXRDb2x1bW5PcmRlcihwaW5uZWRDb2x1bW5zLCB1bnBpbm5lZENvbHVtbnMpO1xuICByZXR1cm4gZXhwYW5kQ2VsbFNpemUoY2VsbFNpemVDYWNoZSwgY29sdW1uT3JkZXIsIGNvbnRhaW5lcldpZHRoLCBjb250YWluZXJXaWR0aCAtIG1pblJvd1N1bSk7XG59XG4iXX0=
226
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vZGF0YS10YWJsZS9jZWxsLXNpemUudHMiXSwibmFtZXMiOlsiTUlOX0dIT1NUX0NFTExfU0laRSIsIk1JTl9DRUxMX1NJWkUiLCJFREdFX0NPTFVNTl9QQURESU5HIiwiTUFYX0VNUFRZX0NPTFVNTl9TUEFDRSIsInJlbmRlcmVkU2l6ZSIsInRleHQiLCJkYXRhQ29udGFpbmVyIiwiY29sdW1uIiwidHlwZSIsImNvbElkeCIsIm51bVJvd3NUb0NhbGN1bGF0ZSIsImZvbnRTaXplIiwiZm9udCIsImNlbGxQYWRkaW5nIiwibWF4Q2VsbFNpemUiLCJtYXhIZWFkZXJTaXplIiwibWluQ2VsbFNpemUiLCJvcHRpb25zQnV0dG9uIiwiZG9jdW1lbnQiLCJyb3ciLCJoZWFkZXIiLCJ0ZXh0Q2FudmFzIiwiY3JlYXRlRWxlbWVudCIsImJvZHkiLCJhcHBlbmRDaGlsZCIsImNvbnRleHQiLCJnZXRDb250ZXh0Iiwiam9pbiIsInJvd3NUb1NhbXBsZSIsIkFycmF5IiwibWFwIiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwibnVtUm93cyIsImZyb20iLCJrZXlzIiwicm93V2lkdGgiLCJtYXgiLCJyb3dJZHgiLCJ2YWx1ZSIsInZhbHVlQXQiLCJsZW5ndGgiLCJ0ZXh0V2lkdGgiLCJtZWFzdXJlVGV4dCIsIndpZHRoIiwiY2VpbCIsImhlYWRlcldpZHRoIiwibWluUm93V2lkdGgiLCJtaW5IZWFkZXJXaWR0aCIsImNsYW1wZWRSb3dXaWR0aCIsImNsYW1wIiwiY2xhbXBlZEhlYWRlcldpZHRoIiwicGFyZW50RWxlbWVudCIsInJlbW92ZUNoaWxkIiwibWluIiwiZ2V0Q29sdW1uT3JkZXIiLCJwaW5uZWRDb2x1bW5zIiwidW5waW5uZWRDb2x1bW5zIiwiZ2V0TWluQ2VsbFNpemUiLCJjZWxsU2l6ZUNhY2hlIiwiT2JqZWN0IiwicmVkdWNlIiwiYWNjdSIsImNvbCIsImdldFNpemVTdW0iLCJzaXplQ2FjaGUiLCJrZXkiLCJhY2MiLCJ2YWwiLCJleHBhbmRDZWxsU2l6ZSIsImNvbHVtbk9yZGVyIiwiY29udGFpbmVyV2lkdGgiLCJyb29tVG9GaWxsIiwicmVtYWluaW5nIiwiZXhwYW5kZWRDZWxsU2l6ZSIsInNpemUiLCJnaG9zdCIsImxhc3RDZWxsIiwiYWRkUGFkZGluZ1RvRmlyc3RDb2x1bW4iLCJmaXJzdENvbCIsImFkanVzdENlbGxzVG9Db250YWluZXIiLCJwYWRkZWRDZWxsU2l6ZSIsIm1pblJvd1N1bSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7Ozs7OztBQUVBLElBQU1BLG1CQUEyQixHQUFHLEdBQXBDO0FBQ0EsSUFBTUMsYUFBYSxHQUFHLEVBQXRCLEMsQ0FDQTs7QUFDQSxJQUFNQyxtQkFBbUIsR0FBRyxFQUE1QixDLENBRUE7QUFDQTs7QUFDQSxJQUFNQyxzQkFBc0IsR0FBRyxFQUEvQjs7QUF1QkE7QUFDQTtBQUNBO0FBQ0E7QUFDTyxTQUFTQyxZQUFULE9BWTRDO0FBQUEsdUJBWGpEQyxJQVdpRDtBQUFBLE1BWDFDQyxhQVcwQyxhQVgxQ0EsYUFXMEM7QUFBQSxNQVgzQkMsTUFXMkIsYUFYM0JBLE1BVzJCO0FBQUEsdUJBVmpEQyxJQVVpRDtBQUFBLE1BVmpEQSxJQVVpRCwwQkFWMUMsUUFVMEM7QUFBQSxNQVRqREMsTUFTaUQsUUFUakRBLE1BU2lEO0FBQUEsbUNBUmpEQyxrQkFRaUQ7QUFBQSxNQVJqREEsa0JBUWlELHNDQVI1QixFQVE0QjtBQUFBLDJCQVBqREMsUUFPaUQ7QUFBQSxNQVBqREEsUUFPaUQsOEJBUHRDLEVBT3NDO0FBQUEsdUJBTmpEQyxJQU1pRDtBQUFBLE1BTmpEQSxJQU1pRCwwQkFOMUMsTUFNMEM7QUFBQSw4QkFMakRDLFdBS2lEO0FBQUEsTUFMakRBLFdBS2lELGlDQUxuQyxFQUttQztBQUFBLDhCQUpqREMsV0FJaUQ7QUFBQSxNQUpqREEsV0FJaUQsaUNBSm5DLEdBSW1DO0FBQUEsZ0NBSGpEQyxhQUdpRDtBQUFBLE1BSGpEQSxhQUdpRCxtQ0FIakMsR0FHaUM7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QUFDbkIsYUFBRCxFQUFnQlcsV0FBaEIsQ0FBOUM7QUFDQSxNQUFNWSxTQUFTLEdBQUdsQixVQUFVLENBQUNpQixjQUFELEVBQWlCLEtBQWpCLENBQTVCOztBQUVBLE1BQUlDLFNBQVMsSUFBSVgsY0FBakIsRUFBaUM7QUFDL0I7QUFDQSxXQUFPO0FBQUNaLE1BQUFBLGFBQWEsRUFBRUQsY0FBYyxDQUFDdUIsY0FBRDtBQUE5QixLQUFQO0FBQ0QsR0FSRCxDQVNBOzs7QUFDQSxTQUFPWixjQUFjLENBQUNZLGNBQUQsRUFBaUJYLFdBQWpCLEVBQThCQyxjQUE5QixFQUE4Q0EsY0FBYyxHQUFHVyxTQUEvRCxDQUFyQjtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIzIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IGRvY3VtZW50IGZyb20gJ2dsb2JhbC9kb2N1bWVudCc7XG5pbXBvcnQge0RhdGFDb250YWluZXJJbnRlcmZhY2UsIHBhcnNlRmllbGRWYWx1ZX0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5cbmNvbnN0IE1JTl9HSE9TVF9DRUxMX1NJWkU6IG51bWJlciA9IDIwMDtcbmNvbnN0IE1JTl9DRUxMX1NJWkUgPSA0NTtcbi8vIGZpcnN0IGNvbHVtbiBoYXZlIHBhZGRpbmcgb24gdGhlIGxlZnRcbmNvbnN0IEVER0VfQ09MVU1OX1BBRERJTkcgPSAxMDtcblxuLy8gaW4gY2FzZSBjZWxsIGNvbnRlbnQgaXMgc21hbGwsIGNvbHVtbiBuYW1lIGlzIGJpZywgd2UgYWxsb3cgbWF4IGVtcHR5IHNwYWNlIHRvXG4vLyBiZSBhZGRlZCB0byBtaW4gY2VsbCB3aWR0aCBpbiBvcmRlciB0byBzaG93IGNvbHVtbiBuYW1lXG5jb25zdCBNQVhfRU1QVFlfQ09MVU1OX1NQQUNFID0gNjA7XG5cbnR5cGUgUmVuZGVyU2l6ZVBhcmFtID0ge1xuICB0ZXh0OiB7ZGF0YUNvbnRhaW5lcjogRGF0YUNvbnRhaW5lckludGVyZmFjZTsgY29sdW1uOiBzdHJpbmd9O1xuICB0eXBlPzogc3RyaW5nO1xuICBjb2xJZHg6IG51bWJlcjtcbiAgbnVtUm93c1RvQ2FsY3VsYXRlPzogbnVtYmVyO1xuICBmb250U2l6ZT86IG51bWJlcjtcbiAgZm9udD86IHN0cmluZztcbiAgY2VsbFBhZGRpbmc/OiBudW1iZXI7XG4gIG1heENlbGxTaXplPzogbnVtYmVyO1xuICBtYXhIZWFkZXJTaXplPzogbnVtYmVyO1xuICBtaW5DZWxsU2l6ZT86IG51bWJlcjtcbiAgb3B0aW9uc0J1dHRvbj86IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIENlbGxTaXplQ2FjaGUgPSB7XG4gIFtrZXk6IHN0cmluZ106IHtcbiAgICByb3c6IG51bWJlcjtcbiAgICBoZWFkZXI6IG51bWJlcjtcbiAgfTtcbn07XG5cbi8qKlxuICogTWVhc3VyZSByb3dzIGFuZCBjb2x1bW4gY29udGVudCB0byBkZXRlcm1pbmUgbWluIHdpZHRoIGZvciBlYWNoIGNvbHVtblxuICogQHBhcmFtIHtSZW5kZXJTaXplUGFyYW19IHBhcmFtMFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyZWRTaXplKHtcbiAgdGV4dDoge2RhdGFDb250YWluZXIsIGNvbHVtbn0sXG4gIHR5cGUgPSAnc3RyaW5nJyxcbiAgY29sSWR4LFxuICBudW1Sb3dzVG9DYWxjdWxhdGUgPSAxMCxcbiAgZm9udFNpemUgPSAxMixcbiAgZm9udCA9ICdMYXRvJyxcbiAgY2VsbFBhZGRpbmcgPSA0MCxcbiAgbWF4Q2VsbFNpemUgPSA1MDAsXG4gIG1heEhlYWRlclNpemUgPSA1MDAsXG4gIG1pbkNlbGxTaXplID0gTUlOX0NFTExfU0laRSxcbiAgb3B0aW9uc0J1dHRvbiA9IDQ0XG59OiBSZW5kZXJTaXplUGFyYW0pOiB7cm93OiBudW1iZXI7IGhlYWRlcjogbnVtYmVyfSB7XG4gIGlmICghZG9jdW1lbnQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcm93OiAwLFxuICAgICAgaGVhZGVyOiAwXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IHRleHRDYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXh0Q2FudmFzKTtcbiAgY29uc3QgY29udGV4dCA9IHRleHRDYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcbiAgY29udGV4dC5mb250ID0gW2ZvbnRTaXplLCBmb250XS5qb2luKCdweCAnKTtcblxuICBsZXQgcm93c1RvU2FtcGxlID0gWy4uLkFycmF5KG51bVJvd3NUb0NhbGN1bGF0ZSldLm1hcCgoKSA9PlxuICAgIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChkYXRhQ29udGFpbmVyLm51bVJvd3MoKSAtIDEpKVxuICApO1xuXG4gIC8vIElmIHdlIGhhdmUgbGVzcyB0aGFuIDEwIHJvd3MsIGxldHMgbWVhc3VyZSBhbGwgb2YgdGhlbVxuICBpZiAoZGF0YUNvbnRhaW5lci5udW1Sb3dzKCkgPD0gbnVtUm93c1RvQ2FsY3VsYXRlKSB7XG4gICAgcm93c1RvU2FtcGxlID0gQXJyYXkuZnJvbShBcnJheShkYXRhQ29udGFpbmVyLm51bVJvd3MoKSkua2V5cygpKTtcbiAgfVxuICBjb25zdCByb3dXaWR0aCA9IE1hdGgubWF4KFxuICAgIC4uLnJvd3NUb1NhbXBsZS5tYXAocm93SWR4ID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gcGFyc2VGaWVsZFZhbHVlKGRhdGFDb250YWluZXIudmFsdWVBdChyb3dJZHgsIGNvbElkeCksIHR5cGUpO1xuICAgICAgLy8gbWVhc3VyaW5nIGxhcmdlIHRleHQgY2F1c2Ugc2xvdyBwZXJmb3JtYW5jZVxuICAgICAgaWYgKHZhbHVlLmxlbmd0aCA+IG1heENlbGxTaXplKSB7XG4gICAgICAgIHJldHVybiBtYXhDZWxsU2l6ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHRleHRXaWR0aCA9IGNvbnRleHQubWVhc3VyZVRleHQodmFsdWUpLndpZHRoO1xuICAgICAgcmV0dXJuIE1hdGguY2VpbCh0ZXh0V2lkdGgpICsgY2VsbFBhZGRpbmc7XG4gICAgfSlcbiAgKTtcbiAgLy8gaGVhZGVyIGNlbGwgb25seSBoYXMgbGVmdCBwYWRkaW5nXG4gIGNvbnN0IGhlYWRlcldpZHRoID1cbiAgICBNYXRoLmNlaWwoY29udGV4dC5tZWFzdXJlVGV4dChjb2x1bW4pLndpZHRoKSArIGNlbGxQYWRkaW5nIC8gMiArIG9wdGlvbnNCdXR0b247XG5cbiAgLy8gbWluIHJvdyB3aWR0aCBpcyBtZWFzdXJlZCBieSBjZWxsIGNvbnRlbnRcbiAgY29uc3QgbWluUm93V2lkdGggPSBtaW5DZWxsU2l6ZSArIGNlbGxQYWRkaW5nO1xuICAvLyBtaW4gaGVhZGVyIHdpZHRoIGlzIG1lYXN1cmVkIGJ5IGNlbGxcbiAgY29uc3QgbWluSGVhZGVyV2lkdGggPSBtaW5DZWxsU2l6ZSArIGNlbGxQYWRkaW5nIC8gMiArIG9wdGlvbnNCdXR0b247XG5cbiAgY29uc3QgY2xhbXBlZFJvd1dpZHRoID0gY2xhbXAobWluUm93V2lkdGgsIG1heENlbGxTaXplLCByb3dXaWR0aCk7XG4gIGNvbnN0IGNsYW1wZWRIZWFkZXJXaWR0aCA9IGNsYW1wKG1pbkhlYWRlcldpZHRoLCBtYXhIZWFkZXJTaXplLCBoZWFkZXJXaWR0aCk7XG5cbiAgLy8gY2xlYW51cFxuICB0ZXh0Q2FudmFzLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodGV4dENhbnZhcyk7XG5cbiAgcmV0dXJuIHtcbiAgICByb3c6IGNsYW1wZWRSb3dXaWR0aCxcbiAgICBoZWFkZXI6IGNsYW1wZWRIZWFkZXJXaWR0aFxuICB9O1xufVxuXG5mdW5jdGlvbiBjbGFtcChtaW4sIG1heCwgdmFsdWUpIHtcbiAgcmV0dXJuIE1hdGgubWF4KE1hdGgubWluKG1heCwgdmFsdWUpLCBtaW4pO1xufVxuXG5mdW5jdGlvbiBnZXRDb2x1bW5PcmRlcihwaW5uZWRDb2x1bW5zOiBzdHJpbmdbXSA9IFtdLCB1bnBpbm5lZENvbHVtbnM6IHN0cmluZ1tdID0gW10pIHtcbiAgcmV0dXJuIFsuLi5waW5uZWRDb2x1bW5zLCAuLi51bnBpbm5lZENvbHVtbnNdO1xufVxuXG4vLyBJZiB0b3RhbCBtaW4gY2VsbCBzaXplIGlzIGJpZ2dlciB0aGFuIGNvbnRhaW5lcldpZHRoIGFkanVzdCBjb2x1bW5cbmZ1bmN0aW9uIGdldE1pbkNlbGxTaXplKGNlbGxTaXplQ2FjaGU6IENlbGxTaXplQ2FjaGUpIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKGNlbGxTaXplQ2FjaGUpLnJlZHVjZShcbiAgICAoYWNjdSwgY29sKSA9PiAoe1xuICAgICAgLi4uYWNjdSxcbiAgICAgIC8vIGlmIHJvdyBpcyBsYXJnZXIgdGhhbiBoZWFkZXIsIHVzZSByb3dcbiAgICAgIFtjb2xdOlxuICAgICAgICBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93ID4gY2VsbFNpemVDYWNoZVtjb2xdLmhlYWRlclxuICAgICAgICAgID8gY2VsbFNpemVDYWNoZVtjb2xdLnJvd1xuICAgICAgICAgIDogLy8gaWYgcm93IGlzIHNtYWxsZXIgdGhhbiBoZWFkZXIsIHVzZSB0aGUgc21hbGxlciBvZiBNQVhfRU1QVFlfQ09MVU1OX1NQQUNFICsgcm93IHdpZHRoIGFuZCBoZWFkZXJcbiAgICAgICAgICAgIE1hdGgubWluKGNlbGxTaXplQ2FjaGVbY29sXS5oZWFkZXIsIGNlbGxTaXplQ2FjaGVbY29sXS5yb3cgKyBNQVhfRU1QVFlfQ09MVU1OX1NQQUNFKVxuICAgIH0pLFxuICAgIHt9XG4gICk7XG59XG5cbmZ1bmN0aW9uIGdldFNpemVTdW0oc2l6ZUNhY2hlLCBrZXkpIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKHNpemVDYWNoZSkucmVkdWNlKFxuICAgIChhY2MsIHZhbCkgPT4gYWNjICsgKGtleSA/IHNpemVDYWNoZVt2YWxdW2tleV0gOiBzaXplQ2FjaGVbdmFsXSksXG4gICAgMFxuICApO1xufVxuXG4vKipcbiAqIEV4cGFuZCBjZWxsIHRvIGZpdCBib3RoIHJvdyBhbmQgaGVhZGVyLCBpZiB0aGVyZSBpcyBzdGlsbCByb29tIGxlZnQsXG4gKiBleHBhbmQgbGFzdCBjZWxsIHRvIGZpdCB0aGUgZW50aXJlIHdpZHRoIG9mIHRoZSBjb250YWluZXJcbiAqIEBwYXJhbSB7Q2VsbFNpemVDYWNoZX0gY2VsbFNpemVDYWNoZVxuICogQHBhcmFtIHtzdHJpbmdbXX0gY29sdW1uT3JkZXJcbiAqIEBwYXJhbSB7bnVtYmVyfSBjb250YWluZXJXaWR0aFxuICogQHBhcmFtIHtudW1iZXJ9IHJvb21Ub0ZpbGxcbiAqL1xuZnVuY3Rpb24gZXhwYW5kQ2VsbFNpemUoXG4gIGNlbGxTaXplQ2FjaGU6IENlbGxTaXplQ2FjaGUsXG4gIGNvbHVtbk9yZGVyOiBzdHJpbmdbXSxcbiAgY29udGFpbmVyV2lkdGg6IG51bWJlcixcbiAgcm9vbVRvRmlsbDogbnVtYmVyXG4pOiB7XG4gIGNlbGxTaXplQ2FjaGU6IENlbGxTaXplQ2FjaGU7XG4gIGdob3N0OiBudW1iZXIgfCBudWxsO1xufSB7XG4gIGxldCByZW1haW5pbmcgPSByb29tVG9GaWxsO1xuXG4gIGNvbnN0IGV4cGFuZGVkQ2VsbFNpemUgPSBjb2x1bW5PcmRlci5yZWR1Y2UoKGFjY3UsIGNvbCkgPT4ge1xuICAgIGxldCBzaXplID0gY2VsbFNpemVDYWNoZVtjb2xdLnJvdztcbiAgICBpZiAoY2VsbFNpemVDYWNoZVtjb2xdLnJvdyA8IGNlbGxTaXplQ2FjaGVbY29sXS5oZWFkZXIgJiYgcmVtYWluaW5nID4gMCkge1xuICAgICAgLy8gaWYgd2UgYXJlIGN1dHRpbmcgb2ZmIHRoZSBoZWFkZXIsIGV4cGFuZCB0byBmaXQgaXRcbiAgICAgIHNpemUgPVxuICAgICAgICBjZWxsU2l6ZUNhY2hlW2NvbF0uaGVhZGVyIC0gY2VsbFNpemVDYWNoZVtjb2xdLnJvdyA8IHJlbWFpbmluZ1xuICAgICAgICAgID8gY2VsbFNpemVDYWNoZVtjb2xdLmhlYWRlclxuICAgICAgICAgIDogY2VsbFNpemVDYWNoZVtjb2xdLnJvdyArIHJlbWFpbmluZztcbiAgICAgIHJlbWFpbmluZyAtPSBzaXplIC0gY2VsbFNpemVDYWNoZVtjb2xdLnJvdztcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uYWNjdSxcbiAgICAgIFtjb2xdOiBzaXplXG4gICAgfTtcbiAgfSwge30pO1xuXG4gIGxldCBnaG9zdDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIGlmIChyZW1haW5pbmcgPiAwICYmIHJlbWFpbmluZyA8IE1JTl9HSE9TVF9DRUxMX1NJWkUpIHtcbiAgICAvLyBleHBhbmQgbGFzdCBjZWxsXG4gICAgY29uc3QgbGFzdENlbGwgPSBjb2x1bW5PcmRlcltjb2x1bW5PcmRlci5sZW5ndGggLSAxXTtcbiAgICBleHBhbmRlZENlbGxTaXplW2xhc3RDZWxsXSArPSByZW1haW5pbmc7XG4gIH0gZWxzZSBpZiAocmVtYWluaW5nID49IE1JTl9HSE9TVF9DRUxMX1NJWkUpIHtcbiAgICAvLyBpZiB0b28gbXVjaCBsZWZ0IGFkZCBhIGdob3N0IGNlbGxcbiAgICBnaG9zdCA9IHJlbWFpbmluZztcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgY2VsbFNpemVDYWNoZTogZXhwYW5kZWRDZWxsU2l6ZSxcbiAgICBnaG9zdFxuICB9O1xufVxuXG5mdW5jdGlvbiBhZGRQYWRkaW5nVG9GaXJzdENvbHVtbihcbiAgY2VsbFNpemVDYWNoZTogQ2VsbFNpemVDYWNoZSxcbiAgY29sdW1uT3JkZXI6IHN0cmluZ1tdID0gW11cbik6IENlbGxTaXplQ2FjaGUge1xuICBjb25zdCBmaXJzdENvbCA9IGNvbHVtbk9yZGVyWzBdO1xuXG4gIGlmIChmaXJzdENvbCAmJiBjZWxsU2l6ZUNhY2hlW2ZpcnN0Q29sXSkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5jZWxsU2l6ZUNhY2hlLFxuICAgICAgW2ZpcnN0Q29sXToge1xuICAgICAgICBoZWFkZXI6IGNlbGxTaXplQ2FjaGVbZmlyc3RDb2xdLmhlYWRlciArIEVER0VfQ09MVU1OX1BBRERJTkcsXG4gICAgICAgIHJvdzogY2VsbFNpemVDYWNoZVtmaXJzdENvbF0ucm93ICsgRURHRV9DT0xVTU5fUEFERElOR1xuICAgICAgfVxuICAgIH07XG4gIH1cbiAgcmV0dXJuIGNlbGxTaXplQ2FjaGU7XG59XG5cbi8qKlxuICogQWRqdXN0IGNlbGwgc2l6ZSBiYXNlZCBvbiBjb250YWluZXIgd2lkdGhcbiAqIEBwYXJhbSB7bnVtYmVyfSBjb250YWluZXJXaWR0aFxuICogQHBhcmFtIHtDZWxsU2l6ZUNhY2hlfSBjZWxsU2l6ZUNhY2hlXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBwaW5uZWRDb2x1bW5zXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSB1bnBpbm5lZENvbHVtbnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkanVzdENlbGxzVG9Db250YWluZXIoXG4gIGNvbnRhaW5lcldpZHRoOiBudW1iZXIsXG4gIGNlbGxTaXplQ2FjaGU6IENlbGxTaXplQ2FjaGUsXG4gIHBpbm5lZENvbHVtbnM6IHN0cmluZ1tdLFxuICB1bnBpbm5lZENvbHVtbnM6IHN0cmluZ1tdXG4pOiB7XG4gIGNlbGxTaXplQ2FjaGU6IENlbGxTaXplQ2FjaGU7XG4gIGdob3N0PzogbnVtYmVyIHwgbnVsbDtcbn0ge1xuICBjb25zdCBjb2x1bW5PcmRlciA9IGdldENvbHVtbk9yZGVyKHBpbm5lZENvbHVtbnMsIHVucGlubmVkQ29sdW1ucyk7XG4gIGNvbnN0IHBhZGRlZENlbGxTaXplID0gYWRkUGFkZGluZ1RvRmlyc3RDb2x1bW4oY2VsbFNpemVDYWNoZSwgY29sdW1uT3JkZXIpO1xuICBjb25zdCBtaW5Sb3dTdW0gPSBnZXRTaXplU3VtKHBhZGRlZENlbGxTaXplLCAncm93Jyk7XG5cbiAgaWYgKG1pblJvd1N1bSA+PSBjb250YWluZXJXaWR0aCkge1xuICAgIC8vIHdlIGFwcGx5IHRoZSBtaW4gV2lkdGggdG8gYWxsIGNlbGxzXG4gICAgcmV0dXJuIHtjZWxsU2l6ZUNhY2hlOiBnZXRNaW5DZWxsU2l6ZShwYWRkZWRDZWxsU2l6ZSl9O1xuICB9XG4gIC8vIGlmIHdlIGhhdmUgc29tZSByb29tIHRvIGV4cGFuZFxuICByZXR1cm4gZXhwYW5kQ2VsbFNpemUocGFkZGVkQ2VsbFNpemUsIGNvbHVtbk9yZGVyLCBjb250YWluZXJXaWR0aCwgY29udGFpbmVyV2lkdGggLSBtaW5Sb3dTdW0pO1xufVxuIl19
@@ -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;
@@ -0,0 +1,169 @@
1
+ // Copyright (c) 2023 Uber Technologies, Inc.
2
+ //
3
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ // of this software and associated documentation files (the "Software"), to deal
5
+ // in the Software without restriction, including without limitation the rights
6
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ // copies of the Software, and to permit persons to whom the Software is
8
+ // furnished to do so, subject to the following conditions:
9
+ //
10
+ // The above copyright notice and this permission notice shall be included in
11
+ // all copies or substantial portions of the Software.
12
+ //
13
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ // THE SOFTWARE.
20
+
21
+ "use strict";
22
+
23
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
24
+
25
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
26
+
27
+ Object.defineProperty(exports, "__esModule", {
28
+ value: true
29
+ });
30
+ exports["default"] = exports.NumberFormatConfig = void 0;
31
+
32
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
33
+
34
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
35
+
36
+ var _react = _interopRequireWildcard(require("react"));
37
+
38
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
39
+
40
+ var _utils = require("@kepler.gl/utils");
41
+
42
+ var _constants = require("@kepler.gl/constants");
43
+
44
+ var _styledComponents2 = require("../../common/styled-components");
45
+
46
+ var _optionDropdown = require("./option-dropdown");
47
+
48
+ var _templateObject, _templateObject2, _templateObject3;
49
+
50
+ var StyledConfigPanel = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n box-shadow: 0 10px 18px 0 rgb(0 0 0 / 36%);\n flex-grow: 1;\n"])), function (props) {
51
+ return props.theme.headerCellBackground;
52
+ });
53
+
54
+ var StyledConfigPanelContent = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n padding: 20px;\n min-width: 230px;\n max-height: 400px;\n overflow: overlay;\n"])));
55
+
56
+ var StyledTableConfigGroup = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n margin-bottom: 10px;\n display: flex;\n align-items: center;\n\n input {\n cursor: pointer !important;\n width: 184px;\n height: 22px;\n }\n"])));
57
+
58
+ var NumberFormatConfig = function NumberFormatConfig(_ref) {
59
+ var title = _ref.title,
60
+ id = _ref.id,
61
+ defaultFormat = _ref.defaultFormat,
62
+ options = _ref.options,
63
+ columns = _ref.columns,
64
+ setColumnDisplayFormat = _ref.setColumnDisplayFormat,
65
+ onClose = _ref.onClose;
66
+
67
+ var _useState = (0, _react.useState)(false),
68
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
69
+ showFormatter = _useState2[0],
70
+ setShowFormatter = _useState2[1];
71
+
72
+ var _useState3 = (0, _react.useState)(defaultFormat),
73
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
74
+ format = _useState4[0],
75
+ setFormat = _useState4[1];
76
+
77
+ var onSetDisplayFormat = (0, _react.useCallback)(function (option) {
78
+ setFormat(option.label);
79
+ var formats = columns.reduce(function (prev, col) {
80
+ prev[col.name] = option.format;
81
+ return prev;
82
+ }, {});
83
+ setColumnDisplayFormat(formats);
84
+ onClose();
85
+ }, [columns, setColumnDisplayFormat, onClose]);
86
+ return /*#__PURE__*/_react["default"].createElement(StyledTableConfigGroup, null, /*#__PURE__*/_react["default"].createElement(_styledComponents2.InputLight, {
87
+ id: id,
88
+ type: "text",
89
+ value: title,
90
+ "data-tip": format,
91
+ readOnly: true,
92
+ onClick: function onClick() {
93
+ return setShowFormatter(true);
94
+ }
95
+ }), /*#__PURE__*/_react["default"].createElement(_optionDropdown.FormatterDropdown, {
96
+ left: -185,
97
+ top: 10,
98
+ isOpened: showFormatter,
99
+ displayFormat: format,
100
+ setDisplayFormat: onSetDisplayFormat,
101
+ onClose: function onClose() {
102
+ return setShowFormatter(false);
103
+ },
104
+ formatLabels: options
105
+ }));
106
+ };
107
+
108
+ exports.NumberFormatConfig = NumberFormatConfig;
109
+
110
+ function DataTableConfigFactory() {
111
+ var getColumnsByFieldType = function getColumnsByFieldType(columns, colMeta, fieldType) {
112
+ var result = [];
113
+ columns.forEach(function (colName) {
114
+ var _colMeta$colName;
115
+
116
+ if (((_colMeta$colName = colMeta[colName]) === null || _colMeta$colName === void 0 ? void 0 : _colMeta$colName.type) === fieldType) {
117
+ result.push(colMeta[colName]);
118
+ }
119
+ });
120
+ return result;
121
+ };
122
+
123
+ var DataTableConfig = function DataTableConfig(_ref2) {
124
+ var columns = _ref2.columns,
125
+ colMeta = _ref2.colMeta,
126
+ setColumnDisplayFormat = _ref2.setColumnDisplayFormat,
127
+ onClose = _ref2.onClose;
128
+ var formatConfigs = [{
129
+ title: '# Set Integer Number Format',
130
+ id: 'input-iteger-format',
131
+ displayType: _constants.ALL_FIELD_TYPES.integer
132
+ }, {
133
+ title: '# Set Float Number Format',
134
+ id: 'input-float-format',
135
+ displayType: _constants.ALL_FIELD_TYPES.real
136
+ }, {
137
+ title: '# Set Timestamp Format',
138
+ id: 'input-datetime-format',
139
+ displayType: _constants.ALL_FIELD_TYPES.timestamp
140
+ }, {
141
+ title: '# Set Date Format',
142
+ id: 'input-date-format',
143
+ displayType: _constants.ALL_FIELD_TYPES.date
144
+ }, {
145
+ title: '# Set Boolean Format',
146
+ id: 'input-bool-format',
147
+ displayType: _constants.ALL_FIELD_TYPES["boolean"]
148
+ }];
149
+ return /*#__PURE__*/_react["default"].createElement(StyledConfigPanel, null, /*#__PURE__*/_react["default"].createElement(StyledConfigPanelContent, null, formatConfigs.map(function (config, index) {
150
+ return /*#__PURE__*/_react["default"].createElement(NumberFormatConfig, {
151
+ title: "".concat(config.title),
152
+ key: index,
153
+ id: config.id,
154
+ defaultFormat: 'None',
155
+ colMeta: colMeta,
156
+ options: (0, _utils.getFieldFormatLabels)("".concat(config.displayType)),
157
+ columns: getColumnsByFieldType(columns, colMeta, "".concat(config.displayType)),
158
+ setColumnDisplayFormat: setColumnDisplayFormat,
159
+ onClose: onClose
160
+ });
161
+ })));
162
+ };
163
+
164
+ return DataTableConfig;
165
+ }
166
+
167
+ var _default = DataTableConfigFactory;
168
+ exports["default"] = _default;
169
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vZGF0YS10YWJsZS9kaXNwbGF5LWZvcm1hdC50c3giXSwibmFtZXMiOlsiU3R5bGVkQ29uZmlnUGFuZWwiLCJzdHlsZWQiLCJkaXYiLCJwcm9wcyIsInRoZW1lIiwiaGVhZGVyQ2VsbEJhY2tncm91bmQiLCJTdHlsZWRDb25maWdQYW5lbENvbnRlbnQiLCJTdHlsZWRUYWJsZUNvbmZpZ0dyb3VwIiwiTnVtYmVyRm9ybWF0Q29uZmlnIiwidGl0bGUiLCJpZCIsImRlZmF1bHRGb3JtYXQiLCJvcHRpb25zIiwiY29sdW1ucyIsInNldENvbHVtbkRpc3BsYXlGb3JtYXQiLCJvbkNsb3NlIiwic2hvd0Zvcm1hdHRlciIsInNldFNob3dGb3JtYXR0ZXIiLCJmb3JtYXQiLCJzZXRGb3JtYXQiLCJvblNldERpc3BsYXlGb3JtYXQiLCJvcHRpb24iLCJsYWJlbCIsImZvcm1hdHMiLCJyZWR1Y2UiLCJwcmV2IiwiY29sIiwibmFtZSIsIkRhdGFUYWJsZUNvbmZpZ0ZhY3RvcnkiLCJnZXRDb2x1bW5zQnlGaWVsZFR5cGUiLCJjb2xNZXRhIiwiZmllbGRUeXBlIiwicmVzdWx0IiwiZm9yRWFjaCIsImNvbE5hbWUiLCJ0eXBlIiwicHVzaCIsIkRhdGFUYWJsZUNvbmZpZyIsImZvcm1hdENvbmZpZ3MiLCJkaXNwbGF5VHlwZSIsIkFMTF9GSUVMRF9UWVBFUyIsImludGVnZXIiLCJyZWFsIiwidGltZXN0YW1wIiwiZGF0ZSIsIm1hcCIsImNvbmZpZyIsImluZGV4Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBR0E7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxpQkFBaUIsR0FBR0MsNkJBQU9DLEdBQVYsb0xBQ0QsVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxvQkFBaEI7QUFBQSxDQURKLENBQXZCOztBQUtBLElBQU1DLHdCQUF3QixHQUFHTCw2QkFBT0MsR0FB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TyxFQUFFb0IsT0FMWDtBQU1FLFFBQUEsT0FBTyxFQUFFLDJDQUF3QmdCLE1BQU0sQ0FBQ1AsV0FBL0IsRUFOWDtBQU9FLFFBQUEsT0FBTyxFQUFFVixxQkFBcUIsQ0FBQ2hCLE9BQUQsRUFBVWlCLE9BQVYsWUFBc0JnQixNQUFNLENBQUNQLFdBQTdCLEVBUGhDO0FBUUUsUUFBQSxzQkFBc0IsRUFBRXpCLHNCQVIxQjtBQVNFLFFBQUEsT0FBTyxFQUFFQztBQVRYLFFBRGlCO0FBQUEsS0FBbEIsQ0FESCxDQURGLENBREY7QUFtQkQsR0FoREQ7O0FBaURBLFNBQU9zQixlQUFQO0FBQ0Q7O2VBRWNULHNCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIzIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuaW1wb3J0IHtnZXRGaWVsZEZvcm1hdExhYmVsc30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge0FMTF9GSUVMRF9UWVBFUywgVG9vbHRpcEZvcm1hdH0gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtDb2xNZXRhLCBDb2xNZXRhUHJvcHN9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5pbXBvcnQge0lucHV0TGlnaHR9IGZyb20gJy4uLy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge0Zvcm1hdHRlckRyb3Bkb3dufSBmcm9tICcuL29wdGlvbi1kcm9wZG93bic7XG5cbmNvbnN0IFN0eWxlZENvbmZpZ1BhbmVsID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5oZWFkZXJDZWxsQmFja2dyb3VuZH07XG4gIGJveC1zaGFkb3c6IDAgMTBweCAxOHB4IDAgcmdiKDAgMCAwIC8gMzYlKTtcbiAgZmxleC1ncm93OiAxO1xuYDtcbmNvbnN0IFN0eWxlZENvbmZpZ1BhbmVsQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDIwcHg7XG4gIG1pbi13aWR0aDogMjMwcHg7XG4gIG1heC1oZWlnaHQ6IDQwMHB4O1xuICBvdmVyZmxvdzogb3ZlcmxheTtcbmA7XG5cbmNvbnN0IFN0eWxlZFRhYmxlQ29uZmlnR3JvdXAgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIGlucHV0IHtcbiAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTg0cHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICB9XG5gO1xuXG5leHBvcnQgdHlwZSBEYXRhVGFibGVDb25maWdQcm9wcyA9IHtcbiAgdGl0bGU6IHN0cmluZztcbiAgaWQ6IHN0cmluZztcbiAgZGVmYXVsdEZvcm1hdDogc3RyaW5nO1xuICBvcHRpb25zOiBUb29sdGlwRm9ybWF0W107XG4gIGNvbHVtbnM6IHtuYW1lOiBzdHJpbmd9W107XG4gIGNvbE1ldGE6IENvbE1ldGE7XG4gIHNldENvbHVtbkRpc3BsYXlGb3JtYXQ6IChmb3JtYXRzOiB7W2tleTogc3RyaW5nXTogc3RyaW5nfSkgPT4gdm9pZDtcbiAgb25DbG9zZTogKCkgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCBjb25zdCBOdW1iZXJGb3JtYXRDb25maWc6IFJlYWN0LkZDPERhdGFUYWJsZUNvbmZpZ1Byb3BzPiA9ICh7XG4gIHRpdGxlLFxuICBpZCxcbiAgZGVmYXVsdEZvcm1hdCxcbiAgb3B0aW9ucyxcbiAgY29sdW1ucyxcbiAgc2V0Q29sdW1uRGlzcGxheUZvcm1hdCxcbiAgb25DbG9zZVxufTogRGF0YVRhYmxlQ29uZmlnUHJvcHMpID0+IHtcbiAgY29uc3QgW3Nob3dGb3JtYXR0ZXIsIHNldFNob3dGb3JtYXR0ZXJdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbZm9ybWF0LCBzZXRGb3JtYXRdID0gdXNlU3RhdGUoZGVmYXVsdEZvcm1hdCk7XG5cbiAgY29uc3Qgb25TZXREaXNwbGF5Rm9ybWF0ID0gdXNlQ2FsbGJhY2soXG4gICAgKG9wdGlvbjogVG9vbHRpcEZvcm1hdCkgPT4ge1xuICAgICAgc2V0Rm9ybWF0KG9wdGlvbi5sYWJlbCk7XG4gICAgICBjb25zdCBmb3JtYXRzOiB7W2tleTogc3RyaW5nXTogc3RyaW5nfSA9IGNvbHVtbnMucmVkdWNlKChwcmV2LCBjb2wpID0+IHtcbiAgICAgICAgcHJldltjb2wubmFtZV0gPSBvcHRpb24uZm9ybWF0O1xuICAgICAgICByZXR1cm4gcHJldjtcbiAgICAgIH0sIHt9KTtcbiAgICAgIHNldENvbHVtbkRpc3BsYXlGb3JtYXQoZm9ybWF0cyk7XG4gICAgICBvbkNsb3NlKCk7XG4gICAgfSxcbiAgICBbY29sdW1ucywgc2V0Q29sdW1uRGlzcGxheUZvcm1hdCwgb25DbG9zZV1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRUYWJsZUNvbmZpZ0dyb3VwPlxuICAgICAgPElucHV0TGlnaHRcbiAgICAgICAgaWQ9e2lkfVxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIHZhbHVlPXt0aXRsZX1cbiAgICAgICAgZGF0YS10aXA9e2Zvcm1hdH1cbiAgICAgICAgcmVhZE9ubHlcbiAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U2hvd0Zvcm1hdHRlcih0cnVlKX1cbiAgICAgIC8+XG4gICAgICA8Rm9ybWF0dGVyRHJvcGRvd25cbiAgICAgICAgbGVmdD17LTE4NX1cbiAgICAgICAgdG9wPXsxMH1cbiAgICAgICAgaXNPcGVuZWQ9e3Nob3dGb3JtYXR0ZXJ9XG4gICAgICAgIGRpc3BsYXlGb3JtYXQ9e2Zvcm1hdH1cbiAgICAgICAgc2V0RGlzcGxheUZvcm1hdD17b25TZXREaXNwbGF5Rm9ybWF0fVxuICAgICAgICBvbkNsb3NlPXsoKSA9PiBzZXRTaG93Rm9ybWF0dGVyKGZhbHNlKX1cbiAgICAgICAgZm9ybWF0TGFiZWxzPXtvcHRpb25zfVxuICAgICAgLz5cbiAgICA8L1N0eWxlZFRhYmxlQ29uZmlnR3JvdXA+XG4gICk7XG59O1xuXG5mdW5jdGlvbiBEYXRhVGFibGVDb25maWdGYWN0b3J5KCkge1xuICBjb25zdCBnZXRDb2x1bW5zQnlGaWVsZFR5cGUgPSAoY29sdW1uczogc3RyaW5nW10sIGNvbE1ldGE6IENvbE1ldGEsIGZpZWxkVHlwZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgcmVzdWx0OiBDb2xNZXRhUHJvcHNbXSA9IFtdO1xuICAgIGNvbHVtbnMuZm9yRWFjaChjb2xOYW1lID0+IHtcbiAgICAgIGlmIChjb2xNZXRhW2NvbE5hbWVdPy50eXBlID09PSBmaWVsZFR5cGUpIHtcbiAgICAgICAgcmVzdWx0LnB1c2goY29sTWV0YVtjb2xOYW1lXSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfTtcblxuICBjb25zdCBEYXRhVGFibGVDb25maWcgPSAoe2NvbHVtbnMsIGNvbE1ldGEsIHNldENvbHVtbkRpc3BsYXlGb3JtYXQsIG9uQ2xvc2V9KSA9PiB7XG4gICAgY29uc3QgZm9ybWF0Q29uZmlncyA9IFtcbiAgICAgIHtcbiAgICAgICAgdGl0bGU6ICcjIFNldCBJbnRlZ2VyIE51bWJlciBGb3JtYXQnLFxuICAgICAgICBpZDogJ2lucHV0LWl0ZWdlci1mb3JtYXQnLFxuICAgICAgICBkaXNwbGF5VHlwZTogQUxMX0ZJRUxEX1RZUEVTLmludGVnZXJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHRpdGxlOiAnIyBTZXQgRmxvYXQgTnVtYmVyIEZvcm1hdCcsXG4gICAgICAgIGlkOiAnaW5wdXQtZmxvYXQtZm9ybWF0JyxcbiAgICAgICAgZGlzcGxheVR5cGU6IEFMTF9GSUVMRF9UWVBFUy5yZWFsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0aXRsZTogJyMgU2V0IFRpbWVzdGFtcCBGb3JtYXQnLFxuICAgICAgICBpZDogJ2lucHV0LWRhdGV0aW1lLWZvcm1hdCcsXG4gICAgICAgIGRpc3BsYXlUeXBlOiBBTExfRklFTERfVFlQRVMudGltZXN0YW1wXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB0aXRsZTogJyMgU2V0IERhdGUgRm9ybWF0JyxcbiAgICAgICAgaWQ6ICdpbnB1dC1kYXRlLWZvcm1hdCcsXG4gICAgICAgIGRpc3BsYXlUeXBlOiBBTExfRklFTERfVFlQRVMuZGF0ZVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdGl0bGU6ICcjIFNldCBCb29sZWFuIEZvcm1hdCcsXG4gICAgICAgIGlkOiAnaW5wdXQtYm9vbC1mb3JtYXQnLFxuICAgICAgICBkaXNwbGF5VHlwZTogQUxMX0ZJRUxEX1RZUEVTLmJvb2xlYW5cbiAgICAgIH1cbiAgICBdO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRDb25maWdQYW5lbD5cbiAgICAgICAgPFN0eWxlZENvbmZpZ1BhbmVsQ29udGVudD5cbiAgICAgICAgICB7Zm9ybWF0Q29uZmlncy5tYXAoKGNvbmZpZywgaW5kZXgpID0+IChcbiAgICAgICAgICAgIDxOdW1iZXJGb3JtYXRDb25maWdcbiAgICAgICAgICAgICAgdGl0bGU9e2Ake2NvbmZpZy50aXRsZX1gfVxuICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICBpZD17Y29uZmlnLmlkfVxuICAgICAgICAgICAgICBkZWZhdWx0Rm9ybWF0PXsnTm9uZSd9XG4gICAgICAgICAgICAgIGNvbE1ldGE9e2NvbE1ldGF9XG4gICAgICAgICAgICAgIG9wdGlvbnM9e2dldEZpZWxkRm9ybWF0TGFiZWxzKGAke2NvbmZpZy5kaXNwbGF5VHlwZX1gKX1cbiAgICAgICAgICAgICAgY29sdW1ucz17Z2V0Q29sdW1uc0J5RmllbGRUeXBlKGNvbHVtbnMsIGNvbE1ldGEsIGAke2NvbmZpZy5kaXNwbGF5VHlwZX1gKX1cbiAgICAgICAgICAgICAgc2V0Q29sdW1uRGlzcGxheUZvcm1hdD17c2V0Q29sdW1uRGlzcGxheUZvcm1hdH1cbiAgICAgICAgICAgICAgb25DbG9zZT17b25DbG9zZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU3R5bGVkQ29uZmlnUGFuZWxDb250ZW50PlxuICAgICAgPC9TdHlsZWRDb25maWdQYW5lbD5cbiAgICApO1xuICB9O1xuICByZXR1cm4gRGF0YVRhYmxlQ29uZmlnO1xufVxuXG5leHBvcnQgZGVmYXVsdCBEYXRhVGFibGVDb25maWdGYWN0b3J5O1xuIl19
@@ -1,7 +1,10 @@
1
- import { PureComponent } from 'react';
1
+ import React, { PureComponent } from 'react';
2
2
  import { Grid, GridProps } from 'react-virtualized';
3
3
  export default class GridHack extends PureComponent<GridProps> {
4
4
  grid: Grid | null;
5
5
  componentDidUpdate(preProps: any): void;
6
- render(): JSX.Element;
6
+ componentWillUnmount(): void;
7
+ _preventScrollBack: (e: any) => false | undefined;
8
+ _updateRef: (x: any) => void;
9
+ render(): React.JSX.Element;
7
10
  }
@@ -1,4 +1,4 @@
1
- // Copyright (c) 2022 Uber Technologies, Inc.
1
+ // Copyright (c) 2023 Uber Technologies, Inc.
2
2
  //
3
3
  // Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  // of this software and associated documentation files (the "Software"), to deal
@@ -73,6 +73,35 @@ var GridHack = /*#__PURE__*/function (_PureComponent) {
73
73
 
74
74
  _this = _super.call.apply(_super, [this].concat(args));
75
75
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "grid", null);
76
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_preventScrollBack", function (e) {
77
+ var scrollLeft = _this.props.scrollLeft;
78
+
79
+ if (scrollLeft !== undefined && scrollLeft <= 0 && e.deltaX < 0) {
80
+ // Prevent Scroll On Scrollable Elements, avoid browser backward navigation
81
+ // https://alvarotrigo.com/blog/prevent-scroll-on-scrollable-element-js/
82
+ e.preventDefault();
83
+ e.stopPropagation();
84
+ return false;
85
+ }
86
+
87
+ return;
88
+ });
89
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_updateRef", function (x) {
90
+ if (!_this.grid && x) {
91
+ var _this$grid, _this$grid$_scrolling;
92
+
93
+ _this.grid = x;
94
+ /*
95
+ * This hack exists because we need to add wheel event listener to the div rendered by Grid
96
+ *
97
+ */
98
+ // @ts-expect-error _scrollingContainer not typed in Grid
99
+
100
+ (_this$grid = _this.grid) === null || _this$grid === void 0 ? void 0 : (_this$grid$_scrolling = _this$grid._scrollingContainer) === null || _this$grid$_scrolling === void 0 ? void 0 : _this$grid$_scrolling.addEventListener('wheel', _this._preventScrollBack, {
101
+ passive: false
102
+ });
103
+ }
104
+ });
76
105
  return _this;
77
106
  }
78
107
 
@@ -90,11 +119,21 @@ var GridHack = /*#__PURE__*/function (_PureComponent) {
90
119
  *
91
120
  */
92
121
  if (!(0, _lodash["default"])(preProps.cellSizeCache, this.props.cellSizeCache)) {
93
- var _this$grid;
122
+ var _this$grid2;
94
123
 
95
- (_this$grid = this.grid) === null || _this$grid === void 0 ? void 0 : _this$grid.recomputeGridSize();
124
+ (_this$grid2 = this.grid) === null || _this$grid2 === void 0 ? void 0 : _this$grid2.recomputeGridSize();
96
125
  }
97
126
  }
127
+ }, {
128
+ key: "componentWillUnmount",
129
+ value: function componentWillUnmount() {
130
+ var _this$grid3, _this$grid3$_scrollin;
131
+
132
+ // @ts-expect-error _scrollingContainer not typed in Grid
133
+ (_this$grid3 = this.grid) === null || _this$grid3 === void 0 ? void 0 : (_this$grid3$_scrollin = _this$grid3._scrollingContainer) === null || _this$grid3$_scrollin === void 0 ? void 0 : _this$grid3$_scrollin.removeEventListener('wheel', this._preventScrollBack, {
134
+ passive: false
135
+ });
136
+ }
98
137
  }, {
99
138
  key: "render",
100
139
  value: function render() {
@@ -106,7 +145,8 @@ var GridHack = /*#__PURE__*/function (_PureComponent) {
106
145
  return /*#__PURE__*/_react["default"].createElement(_reactVirtualized.Grid, (0, _extends2["default"])({
107
146
  ref: function ref(x) {
108
147
  if (setGridRef) setGridRef(x);
109
- _this2.grid = x;
148
+
149
+ _this2._updateRef(x);
110
150
  },
111
151
  key: "grid-hack"
112
152
  }, rest));
@@ -116,4 +156,4 @@ var GridHack = /*#__PURE__*/function (_PureComponent) {
116
156
  }(_react.PureComponent);
117
157
 
118
158
  exports["default"] = GridHack;
119
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vZGF0YS10YWJsZS9ncmlkLnRzeCJdLCJuYW1lcyI6WyJHcmlkSGFjayIsInByZVByb3BzIiwiY2VsbFNpemVDYWNoZSIsInByb3BzIiwiZ3JpZCIsInJlY29tcHV0ZUdyaWRTaXplIiwic2V0R3JpZFJlZiIsInJlc3QiLCJ4IiwiUHVyZUNvbXBvbmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7Ozs7OztJQUVxQkEsUTs7Ozs7Ozs7Ozs7Ozs7OzZGQUNDLEk7Ozs7OztXQUVwQiw0QkFBbUJDLFFBQW5CLEVBQTZCO0FBQzNCO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0ksVUFBSSxDQUFDLHdCQUFRQSxRQUFRLENBQUNDLGFBQWpCLEVBQWdDLEtBQUtDLEtBQUwsQ0FBV0QsYUFBM0MsQ0FBTCxFQUFnRTtBQUFBOztBQUM5RCwyQkFBS0UsSUFBTCwwREFBV0MsaUJBQVg7QUFDRDtBQUNGOzs7V0FFRCxrQkFBUztBQUFBOztBQUFBLHdCQUN1QixLQUFLRixLQUQ1QjtBQUFBLFVBQ0FHLFVBREEsZUFDQUEsVUFEQTtBQUFBLFVBQ2VDLElBRGY7QUFFUCwwQkFDRSxnQ0FBQyxzQkFBRDtBQUNFLFFBQUEsR0FBRyxFQUFFLGFBQUFDLENBQUMsRUFBSTtBQUNSLGNBQUlGLFVBQUosRUFBZ0JBLFVBQVUsQ0FBQ0UsQ0FBRCxDQUFWO0FBQ2hCLFVBQUEsTUFBSSxDQUFDSixJQUFMLEdBQVlJLENBQVo7QUFDRCxTQUpIO0FBS0UsUUFBQSxHQUFHLEVBQUM7QUFMTixTQU1NRCxJQU5OLEVBREY7QUFVRDs7O0VBL0JtQ0Usb0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHtQdXJlQ29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge0dyaWQsIEdyaWRQcm9wc30gZnJvbSAncmVhY3QtdmlydHVhbGl6ZWQnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoLmlzZXF1YWwnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBHcmlkSGFjayBleHRlbmRzIFB1cmVDb21wb25lbnQ8R3JpZFByb3BzPiB7XG4gIGdyaWQ6IEdyaWQgfCBudWxsID0gbnVsbDtcblxuICBjb21wb25lbnREaWRVcGRhdGUocHJlUHJvcHMpIHtcbiAgICAvKlxuICAgICAqIFRoaXMgaGFjayBleGlzdHMgYmVjYXVzZSBpbiByZWFjdC12aXJ0dWFsaXplZCB0aGVcbiAgICAgKiBfY29sdW1uV2lkdGhHZXR0ZXIgaXMgb25seSBjYWxsZWQgaW4gdGhlIGNvbnN0cnVjdG9yXG4gICAgICogZXZlbiB0aG91Z2ggaXQgaXMgcmVhc3NpZ25lZCB3aXRoIG5ldyBwcm9wcyByZXN1bHRpbmcgaW5cbiAgICAgKiBhIG5ldyB3aWR0aCBmb3IgY2VsbHMgbm90IGJlaW5nIGNhbGN1bGF0ZWQgc28gd2UgbXVzdFxuICAgICAqIGZvcmNlIHRyaWdnZXIgYSByZXNpemUuXG4gICAgICpcbiAgICAgKiBodHRwczovL2dpdGh1Yi5jb20vYnZhdWdobi9yZWFjdC12aXJ0dWFsaXplZC9ibG9iL21hc3Rlci9zb3VyY2UvR3JpZC9HcmlkLmpzI0wzMjJcbiAgICAgKlxuICAgICAqL1xuICAgIGlmICghaXNFcXVhbChwcmVQcm9wcy5jZWxsU2l6ZUNhY2hlLCB0aGlzLnByb3BzLmNlbGxTaXplQ2FjaGUpKSB7XG4gICAgICB0aGlzLmdyaWQ/LnJlY29tcHV0ZUdyaWRTaXplKCk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtzZXRHcmlkUmVmLCAuLi5yZXN0fSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIChcbiAgICAgIDxHcmlkXG4gICAgICAgIHJlZj17eCA9PiB7XG4gICAgICAgICAgaWYgKHNldEdyaWRSZWYpIHNldEdyaWRSZWYoeCk7XG4gICAgICAgICAgdGhpcy5ncmlkID0geDtcbiAgICAgICAgfX1cbiAgICAgICAga2V5PVwiZ3JpZC1oYWNrXCJcbiAgICAgICAgey4uLnJlc3R9XG4gICAgICAvPlxuICAgICk7XG4gIH1cbn1cbiJdfQ==
159
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vZGF0YS10YWJsZS9ncmlkLnRzeCJdLCJuYW1lcyI6WyJHcmlkSGFjayIsImUiLCJzY3JvbGxMZWZ0IiwicHJvcHMiLCJ1bmRlZmluZWQiLCJkZWx0YVgiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsIngiLCJncmlkIiwiX3Njcm9sbGluZ0NvbnRhaW5lciIsImFkZEV2ZW50TGlzdGVuZXIiLCJfcHJldmVudFNjcm9sbEJhY2siLCJwYXNzaXZlIiwicHJlUHJvcHMiLCJjZWxsU2l6ZUNhY2hlIiwicmVjb21wdXRlR3JpZFNpemUiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwic2V0R3JpZFJlZiIsInJlc3QiLCJfdXBkYXRlUmVmIiwiUHVyZUNvbXBvbmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7Ozs7OztJQUVxQkEsUTs7Ozs7Ozs7Ozs7Ozs7OzZGQUNDLEk7MkdBeUJDLFVBQUFDLENBQUMsRUFBSTtBQUFBLFVBQ2pCQyxVQURpQixHQUNILE1BQUtDLEtBREYsQ0FDakJELFVBRGlCOztBQUV4QixVQUFJQSxVQUFVLEtBQUtFLFNBQWYsSUFBNEJGLFVBQVUsSUFBSSxDQUExQyxJQUErQ0QsQ0FBQyxDQUFDSSxNQUFGLEdBQVcsQ0FBOUQsRUFBaUU7QUFDL0Q7QUFDQTtBQUNBSixRQUFBQSxDQUFDLENBQUNLLGNBQUY7QUFDQUwsUUFBQUEsQ0FBQyxDQUFDTSxlQUFGO0FBQ0EsZUFBTyxLQUFQO0FBQ0Q7O0FBQ0Q7QUFDRCxLO21HQUVZLFVBQUFDLENBQUMsRUFBSTtBQUNoQixVQUFJLENBQUMsTUFBS0MsSUFBTixJQUFjRCxDQUFsQixFQUFxQjtBQUFBOztBQUNuQixjQUFLQyxJQUFMLEdBQVlELENBQVo7QUFDQTtBQUNOO0FBQ0E7QUFDQTtBQUNNOztBQUNBLDRCQUFLQyxJQUFMLG1GQUFXQyxtQkFBWCxnRkFBZ0NDLGdCQUFoQyxDQUFpRCxPQUFqRCxFQUEwRCxNQUFLQyxrQkFBL0QsRUFBbUY7QUFDakZDLFVBQUFBLE9BQU8sRUFBRTtBQUR3RSxTQUFuRjtBQUdEO0FBQ0YsSzs7Ozs7O1dBL0NELDRCQUFtQkMsUUFBbkIsRUFBNkI7QUFDM0I7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDSSxVQUFJLENBQUMsd0JBQVFBLFFBQVEsQ0FBQ0MsYUFBakIsRUFBZ0MsS0FBS1osS0FBTCxDQUFXWSxhQUEzQyxDQUFMLEVBQWdFO0FBQUE7O0FBQzlELDRCQUFLTixJQUFMLDREQUFXTyxpQkFBWDtBQUNEO0FBQ0Y7OztXQUVELGdDQUF1QjtBQUFBOztBQUNyQjtBQUNBLDBCQUFLUCxJQUFMLHFGQUFXQyxtQkFBWCxnRkFBZ0NPLG1CQUFoQyxDQUFvRCxPQUFwRCxFQUE2RCxLQUFLTCxrQkFBbEUsRUFBc0Y7QUFDcEZDLFFBQUFBLE9BQU8sRUFBRTtBQUQyRSxPQUF0RjtBQUdEOzs7V0E0QkQsa0JBQVM7QUFBQTs7QUFBQSx3QkFDdUIsS0FBS1YsS0FENUI7QUFBQSxVQUNBZSxVQURBLGVBQ0FBLFVBREE7QUFBQSxVQUNlQyxJQURmO0FBRVAsMEJBQ0UsZ0NBQUMsc0JBQUQ7QUFDRSxRQUFBLEdBQUcsRUFBRSxhQUFBWCxDQUFDLEVBQUk7QUFDUixjQUFJVSxVQUFKLEVBQWdCQSxVQUFVLENBQUNWLENBQUQsQ0FBVjs7QUFDaEIsVUFBQSxNQUFJLENBQUNZLFVBQUwsQ0FBZ0JaLENBQWhCO0FBQ0QsU0FKSDtBQUtFLFFBQUEsR0FBRyxFQUFDO0FBTE4sU0FNTVcsSUFOTixFQURGO0FBVUQ7OztFQWhFbUNFLG9CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIzIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7UHVyZUNvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtHcmlkLCBHcmlkUHJvcHN9IGZyb20gJ3JlYWN0LXZpcnR1YWxpemVkJztcbmltcG9ydCBpc0VxdWFsIGZyb20gJ2xvZGFzaC5pc2VxdWFsJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgR3JpZEhhY2sgZXh0ZW5kcyBQdXJlQ29tcG9uZW50PEdyaWRQcm9wcz4ge1xuICBncmlkOiBHcmlkIHwgbnVsbCA9IG51bGw7XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZVByb3BzKSB7XG4gICAgLypcbiAgICAgKiBUaGlzIGhhY2sgZXhpc3RzIGJlY2F1c2UgaW4gcmVhY3QtdmlydHVhbGl6ZWQgdGhlXG4gICAgICogX2NvbHVtbldpZHRoR2V0dGVyIGlzIG9ubHkgY2FsbGVkIGluIHRoZSBjb25zdHJ1Y3RvclxuICAgICAqIGV2ZW4gdGhvdWdoIGl0IGlzIHJlYXNzaWduZWQgd2l0aCBuZXcgcHJvcHMgcmVzdWx0aW5nIGluXG4gICAgICogYSBuZXcgd2lkdGggZm9yIGNlbGxzIG5vdCBiZWluZyBjYWxjdWxhdGVkIHNvIHdlIG11c3RcbiAgICAgKiBmb3JjZSB0cmlnZ2VyIGEgcmVzaXplLlxuICAgICAqXG4gICAgICogaHR0cHM6Ly9naXRodWIuY29tL2J2YXVnaG4vcmVhY3QtdmlydHVhbGl6ZWQvYmxvYi9tYXN0ZXIvc291cmNlL0dyaWQvR3JpZC5qcyNMMzIyXG4gICAgICpcbiAgICAgKi9cbiAgICBpZiAoIWlzRXF1YWwocHJlUHJvcHMuY2VsbFNpemVDYWNoZSwgdGhpcy5wcm9wcy5jZWxsU2l6ZUNhY2hlKSkge1xuICAgICAgdGhpcy5ncmlkPy5yZWNvbXB1dGVHcmlkU2l6ZSgpO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgX3Njcm9sbGluZ0NvbnRhaW5lciBub3QgdHlwZWQgaW4gR3JpZFxuICAgIHRoaXMuZ3JpZD8uX3Njcm9sbGluZ0NvbnRhaW5lcj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignd2hlZWwnLCB0aGlzLl9wcmV2ZW50U2Nyb2xsQmFjaywge1xuICAgICAgcGFzc2l2ZTogZmFsc2VcbiAgICB9KTtcbiAgfVxuXG4gIF9wcmV2ZW50U2Nyb2xsQmFjayA9IGUgPT4ge1xuICAgIGNvbnN0IHtzY3JvbGxMZWZ0fSA9IHRoaXMucHJvcHM7XG4gICAgaWYgKHNjcm9sbExlZnQgIT09IHVuZGVmaW5lZCAmJiBzY3JvbGxMZWZ0IDw9IDAgJiYgZS5kZWx0YVggPCAwKSB7XG4gICAgICAvLyBQcmV2ZW50IFNjcm9sbCBPbiBTY3JvbGxhYmxlIEVsZW1lbnRzLCBhdm9pZCBicm93c2VyIGJhY2t3YXJkIG5hdmlnYXRpb25cbiAgICAgIC8vIGh0dHBzOi8vYWx2YXJvdHJpZ28uY29tL2Jsb2cvcHJldmVudC1zY3JvbGwtb24tc2Nyb2xsYWJsZS1lbGVtZW50LWpzL1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuO1xuICB9O1xuXG4gIF91cGRhdGVSZWYgPSB4ID0+IHtcbiAgICBpZiAoIXRoaXMuZ3JpZCAmJiB4KSB7XG4gICAgICB0aGlzLmdyaWQgPSB4O1xuICAgICAgLypcbiAgICAgICAqIFRoaXMgaGFjayBleGlzdHMgYmVjYXVzZSB3ZSBuZWVkIHRvIGFkZCB3aGVlbCBldmVudCBsaXN0ZW5lciB0byB0aGUgZGl2IHJlbmRlcmVkIGJ5IEdyaWRcbiAgICAgICAqXG4gICAgICAgKi9cbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgX3Njcm9sbGluZ0NvbnRhaW5lciBub3QgdHlwZWQgaW4gR3JpZFxuICAgICAgdGhpcy5ncmlkPy5fc2Nyb2xsaW5nQ29udGFpbmVyPy5hZGRFdmVudExpc3RlbmVyKCd3aGVlbCcsIHRoaXMuX3ByZXZlbnRTY3JvbGxCYWNrLCB7XG4gICAgICAgIHBhc3NpdmU6IGZhbHNlXG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtzZXRHcmlkUmVmLCAuLi5yZXN0fSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIChcbiAgICAgIDxHcmlkXG4gICAgICAgIHJlZj17eCA9PiB7XG4gICAgICAgICAgaWYgKHNldEdyaWRSZWYpIHNldEdyaWRSZWYoeCk7XG4gICAgICAgICAgdGhpcy5fdXBkYXRlUmVmKHgpO1xuICAgICAgICB9fVxuICAgICAgICBrZXk9XCJncmlkLWhhY2tcIlxuICAgICAgICB7Li4ucmVzdH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,4 +1,5 @@
1
1
  import React, { CSSProperties } from 'react';
2
+ import { ColMeta } from '@kepler.gl/types';
2
3
  import FieldTokenFactory, { FieldTokenProps } from '../../common/field-token';
3
4
  import { DataTableProps } from './index';
4
5
  declare type CellInfo = {
@@ -13,13 +14,15 @@ declare type CellInfo = {
13
14
  declare type HeaderCellProps = {
14
15
  cellInfo: CellInfo;
15
16
  columns: DataTableProps['columns'];
17
+ colMeta?: ColMeta;
16
18
  isPinned?: boolean;
19
+ showStats?: boolean;
17
20
  props: DataTableProps;
18
21
  toggleMoreOptions: (moreOptionsColumn: string) => void;
19
22
  moreOptionsColumn: null | string;
20
23
  };
21
24
  declare const HeaderCellFactory: {
22
- (FieldToken: React.FC<FieldTokenProps>): ({ cellInfo, columns, isPinned, props, toggleMoreOptions, moreOptionsColumn }: HeaderCellProps) => JSX.Element;
25
+ (FieldToken: React.FC<FieldTokenProps>): ({ cellInfo, columns, isPinned, props, toggleMoreOptions, moreOptionsColumn }: HeaderCellProps) => React.JSX.Element;
23
26
  deps: (typeof FieldTokenFactory)[];
24
27
  };
25
28
  export default HeaderCellFactory;