@carto/kepler.gl 0.0.85 → 0.0.86-alpha.deck9.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 (430) hide show
  1. package/dist/actions/action-wrapper.js +36 -41
  2. package/dist/actions/actions.js +15 -21
  3. package/dist/actions/identity-actions.js +14 -20
  4. package/dist/actions/index.js +16 -16
  5. package/dist/actions/map-state-actions.js +12 -18
  6. package/dist/actions/map-style-actions.js +30 -46
  7. package/dist/actions/provider-actions.js +49 -73
  8. package/dist/actions/ui-state-actions.js +73 -113
  9. package/dist/actions/vis-state-actions.js +152 -148
  10. package/dist/cloud-providers/index.js +6 -7
  11. package/dist/cloud-providers/provider.js +189 -279
  12. package/dist/components/bottom-widget.js +105 -117
  13. package/dist/components/common/action-panel.js +122 -74
  14. package/dist/components/common/animation-control/animation-control.js +69 -54
  15. package/dist/components/common/animation-control/animation-controller.js +134 -160
  16. package/dist/components/common/animation-control/animation-speed-slider.js +47 -54
  17. package/dist/components/common/animation-control/floating-time-display.js +120 -100
  18. package/dist/components/common/animation-control/playback-controls.js +147 -144
  19. package/dist/components/common/animation-control/speed-control.js +31 -23
  20. package/dist/components/common/checkbox.js +56 -70
  21. package/dist/components/common/color-legend.js +83 -110
  22. package/dist/components/common/data-table/button.js +31 -23
  23. package/dist/components/common/data-table/canvas.js +11 -5
  24. package/dist/components/common/data-table/cell-size.js +51 -61
  25. package/dist/components/common/data-table/grid.js +40 -59
  26. package/dist/components/common/data-table/index.js +464 -348
  27. package/dist/components/common/data-table/option-dropdown.js +50 -33
  28. package/dist/components/common/dataset-label.js +17 -13
  29. package/dist/components/common/error-boundary.js +27 -45
  30. package/dist/components/common/field-selector.js +99 -139
  31. package/dist/components/common/field-token.js +24 -9
  32. package/dist/components/common/file-uploader/file-drop.js +96 -115
  33. package/dist/components/common/file-uploader/file-upload-progress.js +68 -45
  34. package/dist/components/common/file-uploader/file-upload.js +215 -187
  35. package/dist/components/common/file-uploader/upload-button.js +35 -22
  36. package/dist/components/common/histogram-plot.js +47 -58
  37. package/dist/components/common/icons/add.js +14 -27
  38. package/dist/components/common/icons/anchor_window.js +16 -18
  39. package/dist/components/common/icons/arrow-down-alt.js +14 -27
  40. package/dist/components/common/icons/arrow-down-solid.js +14 -27
  41. package/dist/components/common/icons/arrow-down.js +14 -27
  42. package/dist/components/common/icons/arrow-left.js +17 -30
  43. package/dist/components/common/icons/arrow-right.js +14 -27
  44. package/dist/components/common/icons/arrow-up-alt.js +15 -28
  45. package/dist/components/common/icons/arrow-up-solid.js +14 -27
  46. package/dist/components/common/icons/arrow-up.js +14 -27
  47. package/dist/components/common/icons/base.js +39 -57
  48. package/dist/components/common/icons/bug.js +16 -29
  49. package/dist/components/common/icons/cancel.js +14 -27
  50. package/dist/components/common/icons/checkmark.js +18 -31
  51. package/dist/components/common/icons/chevron-right.js +20 -33
  52. package/dist/components/common/icons/clipboard.js +15 -28
  53. package/dist/components/common/icons/clock.js +16 -29
  54. package/dist/components/common/icons/close.js +19 -32
  55. package/dist/components/common/icons/code-alt.js +16 -29
  56. package/dist/components/common/icons/copy.js +18 -31
  57. package/dist/components/common/icons/crosshairs.js +16 -29
  58. package/dist/components/common/icons/cube-3d.js +18 -31
  59. package/dist/components/common/icons/cursor-click.js +18 -31
  60. package/dist/components/common/icons/data-table.js +15 -28
  61. package/dist/components/common/icons/db.js +15 -28
  62. package/dist/components/common/icons/delete.js +16 -29
  63. package/dist/components/common/icons/docs.js +30 -43
  64. package/dist/components/common/icons/drag-n-drop.js +16 -29
  65. package/dist/components/common/icons/draw-polygon.js +33 -46
  66. package/dist/components/common/icons/email.js +18 -31
  67. package/dist/components/common/icons/expand.js +16 -29
  68. package/dist/components/common/icons/eye-seen.js +16 -29
  69. package/dist/components/common/icons/eye-unseen.js +16 -29
  70. package/dist/components/common/icons/file-type.js +35 -19
  71. package/dist/components/common/icons/file.js +14 -27
  72. package/dist/components/common/icons/files.js +14 -26
  73. package/dist/components/common/icons/filter-funnel.js +14 -27
  74. package/dist/components/common/icons/free-window.js +16 -18
  75. package/dist/components/common/icons/gear.js +16 -29
  76. package/dist/components/common/icons/hash.js +14 -27
  77. package/dist/components/common/icons/histogram.js +15 -27
  78. package/dist/components/common/icons/index.js +156 -156
  79. package/dist/components/common/icons/info.js +25 -38
  80. package/dist/components/common/icons/layers.js +14 -27
  81. package/dist/components/common/icons/left-arrow.js +16 -29
  82. package/dist/components/common/icons/legend.js +14 -27
  83. package/dist/components/common/icons/line-chart.js +14 -27
  84. package/dist/components/common/icons/login.js +17 -30
  85. package/dist/components/common/icons/logout.js +16 -29
  86. package/dist/components/common/icons/map-icon.js +18 -32
  87. package/dist/components/common/icons/map.js +18 -32
  88. package/dist/components/common/icons/messages.js +14 -27
  89. package/dist/components/common/icons/minus.js +14 -27
  90. package/dist/components/common/icons/order-by-dataset.js +15 -17
  91. package/dist/components/common/icons/order-by-list.js +7 -9
  92. package/dist/components/common/icons/pause.js +14 -27
  93. package/dist/components/common/icons/picture.js +14 -26
  94. package/dist/components/common/icons/pin.js +17 -30
  95. package/dist/components/common/icons/play.js +14 -27
  96. package/dist/components/common/icons/polygon.js +35 -48
  97. package/dist/components/common/icons/rectangle.js +36 -49
  98. package/dist/components/common/icons/reduce.js +17 -30
  99. package/dist/components/common/icons/reset.js +14 -27
  100. package/dist/components/common/icons/rocket.js +14 -27
  101. package/dist/components/common/icons/save.js +16 -29
  102. package/dist/components/common/icons/save2.js +20 -33
  103. package/dist/components/common/icons/search.js +16 -29
  104. package/dist/components/common/icons/settings.js +16 -29
  105. package/dist/components/common/icons/share.js +14 -27
  106. package/dist/components/common/icons/split.js +42 -55
  107. package/dist/components/common/icons/square-select.js +16 -29
  108. package/dist/components/common/icons/swap-horizontal.js +18 -31
  109. package/dist/components/common/icons/table.js +14 -27
  110. package/dist/components/common/icons/trash.js +16 -29
  111. package/dist/components/common/icons/upload.js +14 -27
  112. package/dist/components/common/icons/vert-dots.js +52 -65
  113. package/dist/components/common/icons/vert-three-dots.js +27 -40
  114. package/dist/components/common/icons/warning.js +26 -39
  115. package/dist/components/common/image-preview.js +71 -33
  116. package/dist/components/common/info-helper.js +36 -29
  117. package/dist/components/common/item-selector/accessor.js +7 -13
  118. package/dist/components/common/item-selector/chickleted-input.js +72 -56
  119. package/dist/components/common/item-selector/dropdown-list.js +182 -214
  120. package/dist/components/common/item-selector/item-selector-submenu.js +34 -55
  121. package/dist/components/common/item-selector/item-selector.js +183 -194
  122. package/dist/components/common/item-selector/typeahead.js +236 -248
  123. package/dist/components/common/line-chart.js +80 -58
  124. package/dist/components/common/loading-spinner.js +46 -31
  125. package/dist/components/common/logo.js +61 -48
  126. package/dist/components/common/map-layer-selector.js +31 -25
  127. package/dist/components/common/modal.js +167 -106
  128. package/dist/components/common/portaled.js +169 -189
  129. package/dist/components/common/progress-bar.js +27 -24
  130. package/dist/components/common/range-brush.js +176 -215
  131. package/dist/components/common/range-plot.js +52 -63
  132. package/dist/components/common/range-slider.js +206 -231
  133. package/dist/components/common/slider/mouse-event.js +59 -66
  134. package/dist/components/common/slider/slider-bar-handle.js +51 -61
  135. package/dist/components/common/slider/slider-handle.js +127 -102
  136. package/dist/components/common/slider/slider.js +143 -162
  137. package/dist/components/common/styled-components.js +518 -256
  138. package/dist/components/common/switch.js +11 -11
  139. package/dist/components/common/time-range-slider-time-title.js +49 -32
  140. package/dist/components/common/time-range-slider.js +56 -45
  141. package/dist/components/common/time-slider-marker.js +71 -52
  142. package/dist/components/common/tippy-tooltip.js +89 -59
  143. package/dist/components/common/toolbar-item.js +53 -45
  144. package/dist/components/common/toolbar.js +24 -18
  145. package/dist/components/common/vertical-toolbar.js +13 -6
  146. package/dist/components/container.js +87 -119
  147. package/dist/components/context.js +6 -8
  148. package/dist/components/editor/constants.js +4 -4
  149. package/dist/components/editor/editor.js +122 -157
  150. package/dist/components/editor/feature-action-panel.js +52 -59
  151. package/dist/components/editor/feature-styles.js +46 -29
  152. package/dist/components/editor/handle-style.js +38 -29
  153. package/dist/components/filters/components.js +8 -4
  154. package/dist/components/filters/filter-panels/filter-panel-with-field-select.js +33 -43
  155. package/dist/components/filters/filter-panels/multi-select-filter-panel.js +20 -21
  156. package/dist/components/filters/filter-panels/new-filter-panel.js +24 -31
  157. package/dist/components/filters/filter-panels/polygon-filter-panel.js +26 -31
  158. package/dist/components/filters/filter-panels/range-filter-panel.js +20 -21
  159. package/dist/components/filters/filter-panels/single-select-filter-panel.js +20 -21
  160. package/dist/components/filters/filter-panels/time-range-filter-panel.js +28 -31
  161. package/dist/components/filters/index.js +10 -10
  162. package/dist/components/filters/multi-select-filter.js +11 -9
  163. package/dist/components/filters/polygon-filter.js +26 -41
  164. package/dist/components/filters/range-filter.js +9 -7
  165. package/dist/components/filters/single-select-filter.js +11 -13
  166. package/dist/components/filters/time-range-filter.js +16 -14
  167. package/dist/components/filters/time-widget.js +125 -84
  168. package/dist/components/geocoder/geocoder.js +158 -177
  169. package/dist/components/geocoder-panel.js +66 -87
  170. package/dist/components/index.js +328 -329
  171. package/dist/components/injector.js +44 -63
  172. package/dist/components/kepler-gl.js +325 -361
  173. package/dist/components/map/coordinate-info.js +18 -16
  174. package/dist/components/map/layer-hover-info.js +108 -86
  175. package/dist/components/map/layer-selector-panel.js +50 -48
  176. package/dist/components/map/locale-panel.js +38 -44
  177. package/dist/components/map/map-control-panel.js +70 -47
  178. package/dist/components/map/map-control-toolbar.js +9 -6
  179. package/dist/components/map/map-control-tooltip.js +10 -8
  180. package/dist/components/map/map-control.js +35 -27
  181. package/dist/components/map/map-draw-panel.js +38 -48
  182. package/dist/components/map/map-legend-panel.js +47 -50
  183. package/dist/components/map/map-legend.js +133 -116
  184. package/dist/components/map/map-popover.js +155 -100
  185. package/dist/components/map/split-map-button.js +30 -34
  186. package/dist/components/map/toggle-3d-button.js +25 -27
  187. package/dist/components/map-container.js +313 -359
  188. package/dist/components/maps-layout.js +16 -26
  189. package/dist/components/modal-container.js +359 -355
  190. package/dist/components/modals/add-map-style-modal.js +233 -194
  191. package/dist/components/modals/cloud-tile.js +96 -67
  192. package/dist/components/modals/data-table-modal.js +155 -152
  193. package/dist/components/modals/delete-data-modal.js +20 -20
  194. package/dist/components/modals/error-display.js +9 -7
  195. package/dist/components/modals/export-data-modal.js +118 -140
  196. package/dist/components/modals/export-image-modal.js +82 -69
  197. package/dist/components/modals/export-map-modal/components.js +20 -18
  198. package/dist/components/modals/export-map-modal/export-html-map.js +82 -74
  199. package/dist/components/modals/export-map-modal/export-json-map.js +65 -45
  200. package/dist/components/modals/export-map-modal/export-map-modal.js +42 -47
  201. package/dist/components/modals/image-modal-container.js +20 -21
  202. package/dist/components/modals/load-data-modal.js +28 -30
  203. package/dist/components/modals/load-storage-map.js +277 -178
  204. package/dist/components/modals/loading-dialog.js +41 -19
  205. package/dist/components/modals/modal-dialog.js +4 -6
  206. package/dist/components/modals/modal-tabs.js +83 -48
  207. package/dist/components/modals/overwrite-map-modal.js +41 -30
  208. package/dist/components/modals/provider-modal-container.js +23 -42
  209. package/dist/components/modals/save-map-modal.js +107 -83
  210. package/dist/components/modals/share-map-modal.js +101 -95
  211. package/dist/components/modals/status-panel.js +63 -43
  212. package/dist/components/modals/storage-map-viewer.js +133 -70
  213. package/dist/components/notification-panel/notification-item.js +94 -97
  214. package/dist/components/notification-panel.js +35 -43
  215. package/dist/components/performance.js +49 -53
  216. package/dist/components/plot-container.js +151 -169
  217. package/dist/components/side-panel/cloud-storage-dropdown.js +13 -15
  218. package/dist/components/side-panel/common/dataset-info.js +16 -12
  219. package/dist/components/side-panel/common/dataset-tag.js +48 -27
  220. package/dist/components/side-panel/common/dataset-title.js +119 -116
  221. package/dist/components/side-panel/common/source-data-catalog.js +31 -32
  222. package/dist/components/side-panel/common/source-data-selector.js +52 -77
  223. package/dist/components/side-panel/custom-panel.js +6 -8
  224. package/dist/components/side-panel/filter-manager.js +48 -62
  225. package/dist/components/side-panel/filter-panel/filter-panel-header.js +35 -25
  226. package/dist/components/side-panel/filter-panel/filter-panel.js +46 -64
  227. package/dist/components/side-panel/interaction-manager.js +20 -18
  228. package/dist/components/side-panel/interaction-panel/brush-config.js +17 -17
  229. package/dist/components/side-panel/interaction-panel/interaction-panel.js +76 -95
  230. package/dist/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +118 -143
  231. package/dist/components/side-panel/interaction-panel/tooltip-config.js +95 -76
  232. package/dist/components/side-panel/layer-manager.js +105 -115
  233. package/dist/components/side-panel/layer-panel/add-layer-button.js +92 -54
  234. package/dist/components/side-panel/layer-panel/color-dimension-scale-selector.js +5 -5
  235. package/dist/components/side-panel/layer-panel/color-palette.js +50 -37
  236. package/dist/components/side-panel/layer-panel/color-range-selector.js +196 -207
  237. package/dist/components/side-panel/layer-panel/color-selector.js +104 -110
  238. package/dist/components/side-panel/layer-panel/column-selector.js +34 -22
  239. package/dist/components/side-panel/layer-panel/custom-markers-config-group.js +4 -4
  240. package/dist/components/side-panel/layer-panel/custom-palette.js +248 -205
  241. package/dist/components/side-panel/layer-panel/custom-picker.js +51 -69
  242. package/dist/components/side-panel/layer-panel/dataset-layer-group.js +37 -42
  243. package/dist/components/side-panel/layer-panel/dataset-layer-section.js +31 -27
  244. package/dist/components/side-panel/layer-panel/dataset-section.js +45 -35
  245. package/dist/components/side-panel/layer-panel/dimension-scale-selector.js +14 -13
  246. package/dist/components/side-panel/layer-panel/hex-column-config.js +32 -55
  247. package/dist/components/side-panel/layer-panel/layer-aggregation-resolution.js +5 -5
  248. package/dist/components/side-panel/layer-panel/layer-column-config.js +42 -46
  249. package/dist/components/side-panel/layer-panel/layer-config-group.js +178 -144
  250. package/dist/components/side-panel/layer-panel/layer-configurator.js +826 -830
  251. package/dist/components/side-panel/layer-panel/layer-list.js +101 -94
  252. package/dist/components/side-panel/layer-panel/layer-panel-header.js +124 -82
  253. package/dist/components/side-panel/layer-panel/layer-panel.js +111 -105
  254. package/dist/components/side-panel/layer-panel/layer-type-dropdown-list.js +67 -58
  255. package/dist/components/side-panel/layer-panel/layer-type-list-item.js +47 -32
  256. package/dist/components/side-panel/layer-panel/layer-type-selector.js +30 -41
  257. package/dist/components/side-panel/layer-panel/layer-visibility-by-zoom.js +42 -43
  258. package/dist/components/side-panel/layer-panel/panel-view-list-toggle.js +55 -57
  259. package/dist/components/side-panel/layer-panel/single-color-palette.js +48 -33
  260. package/dist/components/side-panel/layer-panel/text-label-panel.js +81 -116
  261. package/dist/components/side-panel/layer-panel/vis-config-by-field-selector.js +88 -102
  262. package/dist/components/side-panel/layer-panel/vis-config-slider.js +99 -85
  263. package/dist/components/side-panel/layer-panel/vis-config-switch.js +38 -29
  264. package/dist/components/side-panel/map-manager.js +70 -89
  265. package/dist/components/side-panel/map-style-panel/map-layer-selector.js +72 -60
  266. package/dist/components/side-panel/map-style-panel/map-style-selector.js +64 -42
  267. package/dist/components/side-panel/panel-dropdown.js +21 -37
  268. package/dist/components/side-panel/panel-header-action.js +60 -65
  269. package/dist/components/side-panel/panel-header.js +165 -184
  270. package/dist/components/side-panel/panel-tab.js +35 -29
  271. package/dist/components/side-panel/panel-title.js +15 -18
  272. package/dist/components/side-panel/panel-toggle.js +30 -31
  273. package/dist/components/side-panel/side-bar.js +100 -91
  274. package/dist/components/side-panel.js +108 -123
  275. package/dist/connect/keplergl-connect.js +17 -26
  276. package/dist/connect/with-local-selector.js +31 -63
  277. package/dist/constants/action-types.js +113 -115
  278. package/dist/constants/color-palette.js +14 -16
  279. package/dist/constants/color-ranges.js +23 -28
  280. package/dist/constants/custom-color-ranges.js +12 -12
  281. package/dist/constants/default-settings.js +323 -254
  282. package/dist/constants/index.js +63 -63
  283. package/dist/constants/keyevent.js +4 -4
  284. package/dist/constants/tooltip.js +5 -5
  285. package/dist/constants/user-feedbacks.js +9 -5
  286. package/dist/constants/user-guides.js +10 -10
  287. package/dist/deckgl-layers/3d-building-layer/3d-building-layer.js +37 -63
  288. package/dist/deckgl-layers/3d-building-layer/3d-building-utils.js +52 -56
  289. package/dist/deckgl-layers/cluster-layer/cluster-layer.js +165 -168
  290. package/dist/deckgl-layers/column-layer/enhanced-column-layer.js +24 -43
  291. package/dist/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.d.ts +2 -2
  292. package/dist/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.js +27 -40
  293. package/dist/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.js +27 -40
  294. package/dist/deckgl-layers/layer-utils/cluster-utils.js +60 -68
  295. package/dist/deckgl-layers/layer-utils/cpu-aggregator.d.ts +4 -4
  296. package/dist/deckgl-layers/layer-utils/cpu-aggregator.js +281 -282
  297. package/dist/deckgl-layers/layer-utils/shader-utils.js +2 -2
  298. package/dist/deckgl-layers/line-layer/line-layer.js +62 -70
  299. package/dist/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.js +37 -51
  300. package/dist/deckgl-layers/svg-icon-layer/svg-icon-layer.js +65 -85
  301. package/dist/index.js +15 -16
  302. package/dist/layers/aggregation-layer.js +299 -331
  303. package/dist/layers/arc-layer/arc-layer-icon.js +27 -41
  304. package/dist/layers/arc-layer/arc-layer.js +174 -201
  305. package/dist/layers/base-layer.d.ts +1 -1
  306. package/dist/layers/base-layer.js +1371 -1544
  307. package/dist/layers/cluster-layer/cluster-layer-icon.js +30 -44
  308. package/dist/layers/cluster-layer/cluster-layer.js +89 -103
  309. package/dist/layers/default-layer-icon.js +39 -53
  310. package/dist/layers/geojson-layer/geojson-layer-icon.js +42 -55
  311. package/dist/layers/geojson-layer/geojson-layer.js +292 -353
  312. package/dist/layers/geojson-layer/geojson-utils.js +31 -36
  313. package/dist/layers/grid-layer/grid-layer-icon.js +87 -100
  314. package/dist/layers/grid-layer/grid-layer.js +51 -61
  315. package/dist/layers/grid-layer/grid-utils.js +13 -9
  316. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer-icon.js +21 -35
  317. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer.js +225 -260
  318. package/dist/layers/h3-hexagon-layer/h3-utils.js +16 -16
  319. package/dist/layers/heatmap-layer/heatmap-layer-icon.js +39 -52
  320. package/dist/layers/heatmap-layer/heatmap-layer.js +140 -171
  321. package/dist/layers/hexagon-layer/hexagon-layer-icon.js +51 -64
  322. package/dist/layers/hexagon-layer/hexagon-layer.js +49 -63
  323. package/dist/layers/hexagon-layer/hexagon-utils.js +15 -14
  324. package/dist/layers/icon-layer/icon-info-modal.js +82 -75
  325. package/dist/layers/icon-layer/icon-layer-icon.js +24 -37
  326. package/dist/layers/icon-layer/icon-layer.js +274 -303
  327. package/dist/layers/index.js +43 -29
  328. package/dist/layers/layer-factory.js +25 -41
  329. package/dist/layers/layer-text-label.js +21 -23
  330. package/dist/layers/layer-update.js +16 -18
  331. package/dist/layers/line-layer/line-layer-icon.js +30 -43
  332. package/dist/layers/line-layer/line-layer.js +123 -142
  333. package/dist/layers/mapbox-utils.js +61 -62
  334. package/dist/layers/mapboxgl-layer.js +124 -169
  335. package/dist/layers/point-layer/point-layer-icon.js +45 -59
  336. package/dist/layers/point-layer/point-layer.d.ts +2 -2
  337. package/dist/layers/point-layer/point-layer.js +355 -386
  338. package/dist/layers/s2-geometry-layer/s2-geometry-layer.js +208 -238
  339. package/dist/layers/s2-geometry-layer/s2-layer-icon.js +21 -35
  340. package/dist/layers/s2-geometry-layer/s2-utils.js +9 -8
  341. package/dist/layers/scenegraph-layer/scenegraph-info-modal.js +24 -25
  342. package/dist/layers/scenegraph-layer/scenegraph-layer-icon.js +102 -115
  343. package/dist/layers/scenegraph-layer/scenegraph-layer.js +148 -172
  344. package/dist/layers/trip-layer/trip-info-modal.js +50 -30
  345. package/dist/layers/trip-layer/trip-layer-icon.js +40 -53
  346. package/dist/layers/trip-layer/trip-layer.js +239 -307
  347. package/dist/layers/trip-layer/trip-utils.js +34 -50
  348. package/dist/layers/types.js +2 -2
  349. package/dist/localization/formatted-message.js +8 -10
  350. package/dist/localization/index.js +7 -7
  351. package/dist/localization/locales.js +6 -9
  352. package/dist/localization/messages.js +13 -10
  353. package/dist/localization/translations/ca.js +11 -13
  354. package/dist/localization/translations/cn.js +11 -13
  355. package/dist/localization/translations/en.js +11 -13
  356. package/dist/localization/translations/es.js +11 -13
  357. package/dist/localization/translations/fi.js +11 -13
  358. package/dist/localization/translations/ja.js +11 -13
  359. package/dist/localization/translations/pt.js +11 -13
  360. package/dist/localization/translations/ru.js +11 -13
  361. package/dist/middleware/index.js +3 -5
  362. package/dist/processors/data-processor.js +164 -201
  363. package/dist/processors/file-handler.js +111 -233
  364. package/dist/processors/index.js +4 -4
  365. package/dist/reducers/combined-updaters.js +41 -41
  366. package/dist/reducers/composer-helpers.js +20 -45
  367. package/dist/reducers/composers.js +9 -8
  368. package/dist/reducers/core.js +31 -35
  369. package/dist/reducers/index.js +21 -22
  370. package/dist/reducers/map-state-updaters.js +65 -47
  371. package/dist/reducers/map-state.js +23 -15
  372. package/dist/reducers/map-style-updaters.js +233 -159
  373. package/dist/reducers/map-style.js +30 -16
  374. package/dist/reducers/provider-state-updaters.js +217 -229
  375. package/dist/reducers/provider-state.js +29 -17
  376. package/dist/reducers/root.js +86 -58
  377. package/dist/reducers/ui-state-updaters.js +337 -218
  378. package/dist/reducers/ui-state.js +45 -16
  379. package/dist/reducers/vis-state-merger.js +205 -209
  380. package/dist/reducers/vis-state-selectors.js +5 -19
  381. package/dist/reducers/vis-state-updaters.js +1003 -876
  382. package/dist/reducers/vis-state.js +75 -16
  383. package/dist/schemas/dataset-schema.js +84 -108
  384. package/dist/schemas/index.js +28 -29
  385. package/dist/schemas/map-state-schema.js +21 -18
  386. package/dist/schemas/map-style-schema.js +47 -55
  387. package/dist/schemas/schema-manager.js +147 -161
  388. package/dist/schemas/schema-utils.js +8 -9
  389. package/dist/schemas/schema.js +72 -87
  390. package/dist/schemas/versions.js +3 -3
  391. package/dist/schemas/vis-state-schema.js +441 -583
  392. package/dist/styles/base.js +1217 -1021
  393. package/dist/styles/index.js +3 -3
  394. package/dist/styles/media-breakpoints.js +23 -18
  395. package/dist/tasks/tasks.js +36 -39
  396. package/dist/templates/export-map-html.js +233 -4
  397. package/dist/utils/aggregate-utils.js +13 -16
  398. package/dist/utils/color-utils.js +29 -37
  399. package/dist/utils/custom-scales.js +3 -3
  400. package/dist/utils/data-scale-utils.js +6 -13
  401. package/dist/utils/data-utils.js +60 -83
  402. package/dist/utils/dataset-utils.js +48 -77
  403. package/dist/utils/dom-to-image.js +108 -163
  404. package/dist/utils/dom-utils.js +88 -105
  405. package/dist/utils/export-utils.js +116 -103
  406. package/dist/utils/filter-utils.js +379 -374
  407. package/dist/utils/gl-utils.js +16 -15
  408. package/dist/utils/gpu-filter-utils.js +54 -73
  409. package/dist/utils/index.js +47 -48
  410. package/dist/utils/interaction-utils.js +53 -46
  411. package/dist/utils/layer-utils.js +89 -78
  412. package/dist/utils/locale-utils.js +24 -16
  413. package/dist/utils/map-style-utils/mapbox-gl-style-editor.js +67 -76
  414. package/dist/utils/map-style-utils/mapbox-utils.js +4 -3
  415. package/dist/utils/mapbox-utils.js +3 -4
  416. package/dist/utils/notifications-utils.js +33 -38
  417. package/dist/utils/observe-dimensions.js +42 -54
  418. package/dist/utils/projection-utils.js +14 -11
  419. package/dist/utils/split-map-utils.js +30 -33
  420. package/dist/utils/table-utils/data-container-utils.js +15 -14
  421. package/dist/utils/table-utils/data-row.js +58 -65
  422. package/dist/utils/table-utils/index.js +2 -2
  423. package/dist/utils/table-utils/indexed-data-container.js +105 -173
  424. package/dist/utils/table-utils/kepler-table.js +362 -386
  425. package/dist/utils/table-utils/row-data-container.js +99 -164
  426. package/dist/utils/utils.js +29 -30
  427. package/package.json +21 -21
  428. package/src/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.ts +2 -2
  429. package/src/deckgl-layers/layer-utils/cpu-aggregator.ts +21 -11
  430. package/src/layers/base-layer.ts +17 -10
@@ -6,12 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.adjustCellsToContainer = adjustCellsToContainer;
8
8
  exports.renderedSize = renderedSize;
9
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
9
  var _document = _interopRequireDefault(require("global/document"));
12
10
  var _dataUtils = require("../../../utils/data-utils");
13
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } // Copyright (c) 2022 Uber Technologies, Inc.
11
+ // Copyright (c) 2022 Uber Technologies, Inc.
15
12
  //
16
13
  // Permission is hereby granted, free of charge, to any person obtaining a copy
17
14
  // of this software and associated documentation files (the "Software"), to deal
@@ -30,62 +27,53 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
30
27
  // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
31
28
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
32
29
  // THE SOFTWARE.
33
- var MIN_GHOST_CELL_SIZE = 200;
30
+
31
+ const MIN_GHOST_CELL_SIZE = 200;
34
32
 
35
33
  /**
36
34
  * Measure rows and column content to determine min width for each column
37
35
  * @param {*} param0
38
36
  */
39
37
  function renderedSize(_ref) {
40
- var _ref$text = _ref.text,
41
- dataContainer = _ref$text.dataContainer,
42
- column = _ref$text.column,
43
- _ref$type = _ref.type,
44
- type = _ref$type === void 0 ? 'string' : _ref$type,
45
- colIdx = _ref.colIdx,
46
- _ref$numRowsToCalcula = _ref.numRowsToCalculate,
47
- numRowsToCalculate = _ref$numRowsToCalcula === void 0 ? 10 : _ref$numRowsToCalcula,
48
- _ref$fontSize = _ref.fontSize,
49
- fontSize = _ref$fontSize === void 0 ? 12 : _ref$fontSize,
50
- _ref$font = _ref.font,
51
- font = _ref$font === void 0 ? 'Lato' : _ref$font,
52
- _ref$cellPadding = _ref.cellPadding,
53
- cellPadding = _ref$cellPadding === void 0 ? 40 : _ref$cellPadding,
54
- _ref$maxCellSize = _ref.maxCellSize,
55
- maxCellSize = _ref$maxCellSize === void 0 ? 400 : _ref$maxCellSize,
56
- _ref$maxHeaderSize = _ref.maxHeaderSize,
57
- maxHeaderSize = _ref$maxHeaderSize === void 0 ? 150 : _ref$maxHeaderSize,
58
- _ref$minCellSize = _ref.minCellSize,
59
- minCellSize = _ref$minCellSize === void 0 ? 45 : _ref$minCellSize,
60
- _ref$optionsButton = _ref.optionsButton,
61
- optionsButton = _ref$optionsButton === void 0 ? 30 : _ref$optionsButton;
62
- if (!_document["default"]) {
38
+ let {
39
+ text: {
40
+ dataContainer,
41
+ column
42
+ },
43
+ type = 'string',
44
+ colIdx,
45
+ numRowsToCalculate = 10,
46
+ fontSize = 12,
47
+ font = 'Lato',
48
+ cellPadding = 40,
49
+ maxCellSize = 400,
50
+ maxHeaderSize = 150,
51
+ minCellSize = 45,
52
+ optionsButton = 30
53
+ } = _ref;
54
+ if (!_document.default) {
63
55
  return {
64
56
  row: 0,
65
57
  header: 0
66
58
  };
67
59
  }
68
- var textCanvas = _document["default"].createElement('canvas');
69
- _document["default"].body.appendChild(textCanvas);
70
- var context = textCanvas.getContext('2d');
60
+ const textCanvas = _document.default.createElement('canvas');
61
+ _document.default.body.appendChild(textCanvas);
62
+ const context = textCanvas.getContext('2d');
71
63
  context.font = [fontSize, font].join('px ');
72
- var rowsToSample = (0, _toConsumableArray2["default"])(Array(numRowsToCalculate)).map(function () {
73
- return Math.floor(Math.random() * (dataContainer.numRows() - 1));
74
- });
64
+ let rowsToSample = [...Array(numRowsToCalculate)].map(() => Math.floor(Math.random() * (dataContainer.numRows() - 1)));
75
65
 
76
66
  // If we have less than 10 rows, lets measure all of them
77
67
  if (dataContainer.numRows() <= numRowsToCalculate) {
78
68
  rowsToSample = Array.from(Array(dataContainer.numRows()).keys());
79
69
  }
80
- var rowWidth = Math.max.apply(Math, (0, _toConsumableArray2["default"])(rowsToSample.map(function (rowIdx) {
81
- return Math.ceil(context.measureText((0, _dataUtils.parseFieldValue)(dataContainer.valueAt(rowIdx, colIdx), type)).width) + cellPadding;
82
- })));
70
+ const rowWidth = Math.max(...rowsToSample.map(rowIdx => Math.ceil(context.measureText((0, _dataUtils.parseFieldValue)(dataContainer.valueAt(rowIdx, colIdx), type)).width) + cellPadding));
83
71
  // header cell only has left padding
84
- var headerWidth = Math.ceil(context.measureText(column).width) + cellPadding / 2 + optionsButton;
85
- var minRowWidth = minCellSize + cellPadding;
86
- var minHeaderWidth = minCellSize + cellPadding / 2 + optionsButton;
87
- var clampedRowWidth = clamp(minRowWidth, maxCellSize, rowWidth);
88
- var clampedHeaderWidth = clamp(minHeaderWidth, maxHeaderSize, headerWidth);
72
+ const headerWidth = Math.ceil(context.measureText(column).width) + cellPadding / 2 + optionsButton;
73
+ const minRowWidth = minCellSize + cellPadding;
74
+ const minHeaderWidth = minCellSize + cellPadding / 2 + optionsButton;
75
+ const clampedRowWidth = clamp(minRowWidth, maxCellSize, rowWidth);
76
+ const clampedHeaderWidth = clamp(minHeaderWidth, maxHeaderSize, headerWidth);
89
77
 
90
78
  // cleanup
91
79
  textCanvas.parentElement.removeChild(textCanvas);
@@ -98,19 +86,18 @@ function clamp(min, max, value) {
98
86
  return Math.max(Math.min(max, value), min);
99
87
  }
100
88
  function getColumnOrder() {
101
- var pinnedColumns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
102
- var unpinnedColumns = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
103
- return [].concat((0, _toConsumableArray2["default"])(pinnedColumns), (0, _toConsumableArray2["default"])(unpinnedColumns));
89
+ let pinnedColumns = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
90
+ let unpinnedColumns = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
91
+ return [...pinnedColumns, ...unpinnedColumns];
104
92
  }
105
93
  function getMinCellSize(cellSizeCache) {
106
- return Object.keys(cellSizeCache).reduce(function (accu, col) {
107
- return _objectSpread(_objectSpread({}, accu), {}, (0, _defineProperty2["default"])({}, col, cellSizeCache[col].row));
108
- }, {});
94
+ return Object.keys(cellSizeCache).reduce((accu, col) => ({
95
+ ...accu,
96
+ [col]: cellSizeCache[col].row
97
+ }), {});
109
98
  }
110
99
  function getSizeSum(sizeCache, key) {
111
- return Object.keys(sizeCache).reduce(function (acc, val) {
112
- return acc + (key ? sizeCache[val][key] : sizeCache[val]);
113
- }, 0);
100
+ return Object.keys(sizeCache).reduce((acc, val) => acc + (key ? sizeCache[val][key] : sizeCache[val]), 0);
114
101
  }
115
102
 
116
103
  /**
@@ -122,20 +109,23 @@ function getSizeSum(sizeCache, key) {
122
109
  * @param {number} roomToFill
123
110
  */
124
111
  function expandCellSize(cellSizeCache, columnOrder, containerWidth, roomToFill) {
125
- var remaining = roomToFill;
126
- var expandedCellSize = columnOrder.reduce(function (accu, col) {
127
- var size = cellSizeCache[col].row;
112
+ let remaining = roomToFill;
113
+ const expandedCellSize = columnOrder.reduce((accu, col) => {
114
+ let size = cellSizeCache[col].row;
128
115
  if (cellSizeCache[col].row < cellSizeCache[col].header && remaining > 0) {
129
116
  // if we are cutting off the header, expand to fit it
130
117
  size = cellSizeCache[col].header - cellSizeCache[col].row < remaining ? cellSizeCache[col].header : cellSizeCache[col].row + remaining;
131
118
  remaining -= size - cellSizeCache[col].row;
132
119
  }
133
- return _objectSpread(_objectSpread({}, accu), {}, (0, _defineProperty2["default"])({}, col, size));
120
+ return {
121
+ ...accu,
122
+ [col]: size
123
+ };
134
124
  }, {});
135
- var ghost = null;
125
+ let ghost = null;
136
126
  if (remaining > 0 && remaining < MIN_GHOST_CELL_SIZE) {
137
127
  // expand last cell
138
- var lastCell = columnOrder[columnOrder.length - 1];
128
+ const lastCell = columnOrder[columnOrder.length - 1];
139
129
  expandedCellSize[lastCell] += remaining;
140
130
  } else if (remaining >= MIN_GHOST_CELL_SIZE) {
141
131
  // if too much left add a ghost cell
@@ -143,7 +133,7 @@ function expandCellSize(cellSizeCache, columnOrder, containerWidth, roomToFill)
143
133
  }
144
134
  return {
145
135
  cellSizeCache: expandedCellSize,
146
- ghost: ghost
136
+ ghost
147
137
  };
148
138
  }
149
139
 
@@ -155,7 +145,7 @@ function expandCellSize(cellSizeCache, columnOrder, containerWidth, roomToFill)
155
145
  * @param {string[]} unpinnedColumns
156
146
  */
157
147
  function adjustCellsToContainer(containerWidth, cellSizeCache, pinnedColumns, unpinnedColumns) {
158
- var minRowSum = getSizeSum(cellSizeCache, 'row');
148
+ const minRowSum = getSizeSum(cellSizeCache, 'row');
159
149
  if (minRowSum >= containerWidth) {
160
150
  // we apply the min Width to all cells
161
151
  return {
@@ -164,7 +154,7 @@ function adjustCellsToContainer(containerWidth, cellSizeCache, pinnedColumns, un
164
154
  }
165
155
 
166
156
  // if we have some room to expand
167
- var columnOrder = getColumnOrder(pinnedColumns, unpinnedColumns);
157
+ const columnOrder = getColumnOrder(pinnedColumns, unpinnedColumns);
168
158
  return expandCellSize(cellSizeCache, columnOrder, containerWidth, containerWidth - minRowSum);
169
159
  }
170
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZG9jdW1lbnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9kYXRhVXRpbHMiLCJvd25LZXlzIiwiZSIsInIiLCJ0IiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIk1JTl9HSE9TVF9DRUxMX1NJWkUiLCJyZW5kZXJlZFNpemUiLCJfcmVmIiwiX3JlZiR0ZXh0IiwidGV4dCIsImRhdGFDb250YWluZXIiLCJjb2x1bW4iLCJfcmVmJHR5cGUiLCJ0eXBlIiwiY29sSWR4IiwiX3JlZiRudW1Sb3dzVG9DYWxjdWxhIiwibnVtUm93c1RvQ2FsY3VsYXRlIiwiX3JlZiRmb250U2l6ZSIsImZvbnRTaXplIiwiX3JlZiRmb250IiwiZm9udCIsIl9yZWYkY2VsbFBhZGRpbmciLCJjZWxsUGFkZGluZyIsIl9yZWYkbWF4Q2VsbFNpemUiLCJtYXhDZWxsU2l6ZSIsIl9yZWYkbWF4SGVhZGVyU2l6ZSIsIm1heEhlYWRlclNpemUiLCJfcmVmJG1pbkNlbGxTaXplIiwibWluQ2VsbFNpemUiLCJfcmVmJG9wdGlvbnNCdXR0b24iLCJvcHRpb25zQnV0dG9uIiwiZG9jdW1lbnQiLCJyb3ciLCJoZWFkZXIiLCJ0ZXh0Q2FudmFzIiwiY3JlYXRlRWxlbWVudCIsImJvZHkiLCJhcHBlbmRDaGlsZCIsImNvbnRleHQiLCJnZXRDb250ZXh0Iiwiam9pbiIsInJvd3NUb1NhbXBsZSIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJBcnJheSIsIm1hcCIsIk1hdGgiLCJmbG9vciIsInJhbmRvbSIsIm51bVJvd3MiLCJmcm9tIiwicm93V2lkdGgiLCJtYXgiLCJyb3dJZHgiLCJjZWlsIiwibWVhc3VyZVRleHQiLCJwYXJzZUZpZWxkVmFsdWUiLCJ2YWx1ZUF0Iiwid2lkdGgiLCJoZWFkZXJXaWR0aCIsIm1pblJvd1dpZHRoIiwibWluSGVhZGVyV2lkdGgiLCJjbGFtcGVkUm93V2lkdGgiLCJjbGFtcCIsImNsYW1wZWRIZWFkZXJXaWR0aCIsInBhcmVudEVsZW1lbnQiLCJyZW1vdmVDaGlsZCIsIm1pbiIsInZhbHVlIiwiZ2V0Q29sdW1uT3JkZXIiLCJwaW5uZWRDb2x1bW5zIiwidW5kZWZpbmVkIiwidW5waW5uZWRDb2x1bW5zIiwiY29uY2F0IiwiZ2V0TWluQ2VsbFNpemUiLCJjZWxsU2l6ZUNhY2hlIiwicmVkdWNlIiwiYWNjdSIsImNvbCIsImdldFNpemVTdW0iLCJzaXplQ2FjaGUiLCJrZXkiLCJhY2MiLCJ2YWwiLCJleHBhbmRDZWxsU2l6ZSIsImNvbHVtbk9yZGVyIiwiY29udGFpbmVyV2lkdGgiLCJyb29tVG9GaWxsIiwicmVtYWluaW5nIiwiZXhwYW5kZWRDZWxsU2l6ZSIsInNpemUiLCJnaG9zdCIsImxhc3RDZWxsIiwiYWRqdXN0Q2VsbHNUb0NvbnRhaW5lciIsIm1pblJvd1N1bSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9kYXRhLXRhYmxlL2NlbGwtc2l6ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgZG9jdW1lbnQgZnJvbSAnZ2xvYmFsL2RvY3VtZW50JztcbmltcG9ydCB7cGFyc2VGaWVsZFZhbHVlfSBmcm9tICd1dGlscy9kYXRhLXV0aWxzJztcblxuY29uc3QgTUlOX0dIT1NUX0NFTExfU0laRSA9IDIwMDtcblxuLyoqXG4gKiBNZWFzdXJlIHJvd3MgYW5kIGNvbHVtbiBjb250ZW50IHRvIGRldGVybWluZSBtaW4gd2lkdGggZm9yIGVhY2ggY29sdW1uXG4gKiBAcGFyYW0geyp9IHBhcmFtMFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyZWRTaXplKHtcbiAgdGV4dDoge2RhdGFDb250YWluZXIsIGNvbHVtbn0sXG4gIHR5cGUgPSAnc3RyaW5nJyxcbiAgY29sSWR4LFxuICBudW1Sb3dzVG9DYWxjdWxhdGUgPSAxMCxcbiAgZm9udFNpemUgPSAxMixcbiAgZm9udCA9ICdMYXRvJyxcbiAgY2VsbFBhZGRpbmcgPSA0MCxcbiAgbWF4Q2VsbFNpemUgPSA0MDAsXG4gIG1heEhlYWRlclNpemUgPSAxNTAsXG4gIG1pbkNlbGxTaXplID0gNDUsXG4gIG9wdGlvbnNCdXR0b24gPSAzMFxufSkge1xuICBpZiAoIWRvY3VtZW50KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJvdzogMCxcbiAgICAgIGhlYWRlcjogMFxuICAgIH07XG4gIH1cbiAgY29uc3QgdGV4dENhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHRDYW52YXMpO1xuICBjb25zdCBjb250ZXh0ID0gdGV4dENhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICBjb250ZXh0LmZvbnQgPSBbZm9udFNpemUsIGZvbnRdLmpvaW4oJ3B4ICcpO1xuXG4gIGxldCByb3dzVG9TYW1wbGUgPSBbLi4uQXJyYXkobnVtUm93c1RvQ2FsY3VsYXRlKV0ubWFwKCgpID0+XG4gICAgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKGRhdGFDb250YWluZXIubnVtUm93cygpIC0gMSkpXG4gICk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBsZXNzIHRoYW4gMTAgcm93cywgbGV0cyBtZWFzdXJlIGFsbCBvZiB0aGVtXG4gIGlmIChkYXRhQ29udGFpbmVyLm51bVJvd3MoKSA8PSBudW1Sb3dzVG9DYWxjdWxhdGUpIHtcbiAgICByb3dzVG9TYW1wbGUgPSBBcnJheS5mcm9tKEFycmF5KGRhdGFDb250YWluZXIubnVtUm93cygpKS5rZXlzKCkpO1xuICB9XG4gIGNvbnN0IHJvd1dpZHRoID0gTWF0aC5tYXgoXG4gICAgLi4ucm93c1RvU2FtcGxlLm1hcChcbiAgICAgIHJvd0lkeCA9PlxuICAgICAgICBNYXRoLmNlaWwoXG4gICAgICAgICAgY29udGV4dC5tZWFzdXJlVGV4dChwYXJzZUZpZWxkVmFsdWUoZGF0YUNvbnRhaW5lci52YWx1ZUF0KHJvd0lkeCwgY29sSWR4KSwgdHlwZSkpLndpZHRoXG4gICAgICAgICkgKyBjZWxsUGFkZGluZ1xuICAgIClcbiAgKTtcbiAgLy8gaGVhZGVyIGNlbGwgb25seSBoYXMgbGVmdCBwYWRkaW5nXG4gIGNvbnN0IGhlYWRlcldpZHRoID1cbiAgICBNYXRoLmNlaWwoY29udGV4dC5tZWFzdXJlVGV4dChjb2x1bW4pLndpZHRoKSArIGNlbGxQYWRkaW5nIC8gMiArIG9wdGlvbnNCdXR0b247XG5cbiAgY29uc3QgbWluUm93V2lkdGggPSBtaW5DZWxsU2l6ZSArIGNlbGxQYWRkaW5nO1xuICBjb25zdCBtaW5IZWFkZXJXaWR0aCA9IG1pbkNlbGxTaXplICsgY2VsbFBhZGRpbmcgLyAyICsgb3B0aW9uc0J1dHRvbjtcblxuICBjb25zdCBjbGFtcGVkUm93V2lkdGggPSBjbGFtcChtaW5Sb3dXaWR0aCwgbWF4Q2VsbFNpemUsIHJvd1dpZHRoKTtcbiAgY29uc3QgY2xhbXBlZEhlYWRlcldpZHRoID0gY2xhbXAobWluSGVhZGVyV2lkdGgsIG1heEhlYWRlclNpemUsIGhlYWRlcldpZHRoKTtcblxuICAvLyBjbGVhbnVwXG4gIHRleHRDYW52YXMucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0ZXh0Q2FudmFzKTtcblxuICByZXR1cm4ge1xuICAgIHJvdzogY2xhbXBlZFJvd1dpZHRoLFxuICAgIGhlYWRlcjogY2xhbXBlZEhlYWRlcldpZHRoXG4gIH07XG59XG5cbmZ1bmN0aW9uIGNsYW1wKG1pbiwgbWF4LCB2YWx1ZSkge1xuICByZXR1cm4gTWF0aC5tYXgoTWF0aC5taW4obWF4LCB2YWx1ZSksIG1pbik7XG59XG5cbmZ1bmN0aW9uIGdldENvbHVtbk9yZGVyKHBpbm5lZENvbHVtbnM6IHN0cmluZ1tdID0gW10sIHVucGlubmVkQ29sdW1uczogc3RyaW5nW10gPSBbXSkge1xuICByZXR1cm4gWy4uLnBpbm5lZENvbHVtbnMsIC4uLnVucGlubmVkQ29sdW1uc107XG59XG5cbmZ1bmN0aW9uIGdldE1pbkNlbGxTaXplKGNlbGxTaXplQ2FjaGUpIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKGNlbGxTaXplQ2FjaGUpLnJlZHVjZShcbiAgICAoYWNjdSwgY29sKSA9PiAoe1xuICAgICAgLi4uYWNjdSxcbiAgICAgIFtjb2xdOiBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93XG4gICAgfSksXG4gICAge31cbiAgKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2l6ZVN1bShzaXplQ2FjaGUsIGtleSkge1xuICByZXR1cm4gT2JqZWN0LmtleXMoc2l6ZUNhY2hlKS5yZWR1Y2UoXG4gICAgKGFjYywgdmFsKSA9PiBhY2MgKyAoa2V5ID8gc2l6ZUNhY2hlW3ZhbF1ba2V5XSA6IHNpemVDYWNoZVt2YWxdKSxcbiAgICAwXG4gICk7XG59XG5cbi8qKlxuICogRXhwYW5kIGNlbGwgdG8gZml0IGJvdGggcm93IGFuZCBoZWFkZXIsIGlmIHRoZXJlIGlzIHN0aWxsIHJvb20gbGVmdCxcbiAqIGV4cGFuZCBsYXN0IGNlbGwgdG8gZml0IHRoZSBlbnRpcmUgd2lkdGggb2YgdGhlIGNvbnRhaW5lclxuICogQHBhcmFtIHtvYmplY3R9IGNlbGxTaXplQ2FjaGVcbiAqIEBwYXJhbSB7c3RyaW5nW119IGNvbHVtbk9yZGVyXG4gKiBAcGFyYW0ge251bWJlcn0gY29udGFpbmVyV2lkdGhcbiAqIEBwYXJhbSB7bnVtYmVyfSByb29tVG9GaWxsXG4gKi9cbmZ1bmN0aW9uIGV4cGFuZENlbGxTaXplKFxuICBjZWxsU2l6ZUNhY2hlOiBvYmplY3QsXG4gIGNvbHVtbk9yZGVyOiBzdHJpbmdbXSxcbiAgY29udGFpbmVyV2lkdGg6IG51bWJlcixcbiAgcm9vbVRvRmlsbDogbnVtYmVyXG4pIHtcbiAgbGV0IHJlbWFpbmluZyA9IHJvb21Ub0ZpbGw7XG5cbiAgY29uc3QgZXhwYW5kZWRDZWxsU2l6ZSA9IGNvbHVtbk9yZGVyLnJlZHVjZSgoYWNjdSwgY29sKSA9PiB7XG4gICAgbGV0IHNpemUgPSBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93O1xuICAgIGlmIChjZWxsU2l6ZUNhY2hlW2NvbF0ucm93IDwgY2VsbFNpemVDYWNoZVtjb2xdLmhlYWRlciAmJiByZW1haW5pbmcgPiAwKSB7XG4gICAgICAvLyBpZiB3ZSBhcmUgY3V0dGluZyBvZmYgdGhlIGhlYWRlciwgZXhwYW5kIHRvIGZpdCBpdFxuICAgICAgc2l6ZSA9XG4gICAgICAgIGNlbGxTaXplQ2FjaGVbY29sXS5oZWFkZXIgLSBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93IDwgcmVtYWluaW5nXG4gICAgICAgICAgPyBjZWxsU2l6ZUNhY2hlW2NvbF0uaGVhZGVyXG4gICAgICAgICAgOiBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93ICsgcmVtYWluaW5nO1xuICAgICAgcmVtYWluaW5nIC09IHNpemUgLSBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5hY2N1LFxuICAgICAgW2NvbF06IHNpemVcbiAgICB9O1xuICB9LCB7fSk7XG5cbiAgbGV0IGdob3N0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgaWYgKHJlbWFpbmluZyA+IDAgJiYgcmVtYWluaW5nIDwgTUlOX0dIT1NUX0NFTExfU0laRSkge1xuICAgIC8vIGV4cGFuZCBsYXN0IGNlbGxcbiAgICBjb25zdCBsYXN0Q2VsbCA9IGNvbHVtbk9yZGVyW2NvbHVtbk9yZGVyLmxlbmd0aCAtIDFdO1xuICAgIGV4cGFuZGVkQ2VsbFNpemVbbGFzdENlbGxdICs9IHJlbWFpbmluZztcbiAgfSBlbHNlIGlmIChyZW1haW5pbmcgPj0gTUlOX0dIT1NUX0NFTExfU0laRSkge1xuICAgIC8vIGlmIHRvbyBtdWNoIGxlZnQgYWRkIGEgZ2hvc3QgY2VsbFxuICAgIGdob3N0ID0gcmVtYWluaW5nO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBjZWxsU2l6ZUNhY2hlOiBleHBhbmRlZENlbGxTaXplLFxuICAgIGdob3N0XG4gIH07XG59XG5cbi8qKlxuICogQWRqdXN0IGNlbGwgc2l6ZSBiYXNlZCBvbiBjb250YWluZXIgd2lkdGhcbiAqIEBwYXJhbSB7bnVtYmVyfSBjb250YWluZXJXaWR0aFxuICogQHBhcmFtIHtPYmplY3R9IGNlbGxTaXplQ2FjaGVcbiAqIEBwYXJhbSB7c3RyaW5nW119IHBpbm5lZENvbHVtbnNcbiAqIEBwYXJhbSB7c3RyaW5nW119IHVucGlubmVkQ29sdW1uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gYWRqdXN0Q2VsbHNUb0NvbnRhaW5lcihcbiAgY29udGFpbmVyV2lkdGg6IG51bWJlcixcbiAgY2VsbFNpemVDYWNoZTogb2JqZWN0LFxuICBwaW5uZWRDb2x1bW5zOiBzdHJpbmdbXSxcbiAgdW5waW5uZWRDb2x1bW5zOiBzdHJpbmdbXVxuKSB7XG4gIGNvbnN0IG1pblJvd1N1bSA9IGdldFNpemVTdW0oY2VsbFNpemVDYWNoZSwgJ3JvdycpO1xuICBpZiAobWluUm93U3VtID49IGNvbnRhaW5lcldpZHRoKSB7XG4gICAgLy8gd2UgYXBwbHkgdGhlIG1pbiBXaWR0aCB0byBhbGwgY2VsbHNcbiAgICByZXR1cm4ge2NlbGxTaXplQ2FjaGU6IGdldE1pbkNlbGxTaXplKGNlbGxTaXplQ2FjaGUpfTtcbiAgfVxuXG4gIC8vIGlmIHdlIGhhdmUgc29tZSByb29tIHRvIGV4cGFuZFxuICBjb25zdCBjb2x1bW5PcmRlciA9IGdldENvbHVtbk9yZGVyKHBpbm5lZENvbHVtbnMsIHVucGlubmVkQ29sdW1ucyk7XG4gIHJldHVybiBleHBhbmRDZWxsU2l6ZShjZWxsU2l6ZUNhY2hlLCBjb2x1bW5PcmRlciwgY29udGFpbmVyV2lkdGgsIGNvbnRhaW5lcldpZHRoIC0gbWluUm93U3VtKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQW9CQSxJQUFBQSxTQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFBaUQsU0FBQUUsUUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxJQUFBLENBQUFKLENBQUEsT0FBQUcsTUFBQSxDQUFBRSxxQkFBQSxRQUFBQyxDQUFBLEdBQUFILE1BQUEsQ0FBQUUscUJBQUEsQ0FBQUwsQ0FBQSxHQUFBQyxDQUFBLEtBQUFLLENBQUEsR0FBQUEsQ0FBQSxDQUFBQyxNQUFBLFdBQUFOLENBQUEsV0FBQUUsTUFBQSxDQUFBSyx3QkFBQSxDQUFBUixDQUFBLEVBQUFDLENBQUEsRUFBQVEsVUFBQSxPQUFBUCxDQUFBLENBQUFRLElBQUEsQ0FBQUMsS0FBQSxDQUFBVCxDQUFBLEVBQUFJLENBQUEsWUFBQUosQ0FBQTtBQUFBLFNBQUFVLGNBQUFaLENBQUEsYUFBQUMsQ0FBQSxNQUFBQSxDQUFBLEdBQUFZLFNBQUEsQ0FBQUMsTUFBQSxFQUFBYixDQUFBLFVBQUFDLENBQUEsV0FBQVcsU0FBQSxDQUFBWixDQUFBLElBQUFZLFNBQUEsQ0FBQVosQ0FBQSxRQUFBQSxDQUFBLE9BQUFGLE9BQUEsQ0FBQUksTUFBQSxDQUFBRCxDQUFBLE9BQUFhLE9BQUEsV0FBQWQsQ0FBQSxRQUFBZSxnQkFBQSxhQUFBaEIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsQ0FBQUQsQ0FBQSxTQUFBRSxNQUFBLENBQUFjLHlCQUFBLEdBQUFkLE1B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
160
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZG9jdW1lbnQiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9kYXRhVXRpbHMiLCJNSU5fR0hPU1RfQ0VMTF9TSVpFIiwicmVuZGVyZWRTaXplIiwiX3JlZiIsInRleHQiLCJkYXRhQ29udGFpbmVyIiwiY29sdW1uIiwidHlwZSIsImNvbElkeCIsIm51bVJvd3NUb0NhbGN1bGF0ZSIsImZvbnRTaXplIiwiZm9udCIsImNlbGxQYWRkaW5nIiwibWF4Q2VsbFNpemUiLCJtYXhIZWFkZXJTaXplIiwibWluQ2VsbFNpemUiLCJvcHRpb25zQnV0dG9uIiwiZG9jdW1lbnQiLCJyb3ciLCJoZWFkZXIiLCJ0ZXh0Q2FudmFzIiwiY3JlYXRlRWxlbWVudCIsImJvZHkiLCJhcHBlbmRDaGlsZCIsImNvbnRleHQiLCJnZXRDb250ZXh0Iiwiam9pbiIsInJvd3NUb1NhbXBsZSIsIkFycmF5IiwibWFwIiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwibnVtUm93cyIsImZyb20iLCJrZXlzIiwicm93V2lkdGgiLCJtYXgiLCJyb3dJZHgiLCJjZWlsIiwibWVhc3VyZVRleHQiLCJwYXJzZUZpZWxkVmFsdWUiLCJ2YWx1ZUF0Iiwid2lkdGgiLCJoZWFkZXJXaWR0aCIsIm1pblJvd1dpZHRoIiwibWluSGVhZGVyV2lkdGgiLCJjbGFtcGVkUm93V2lkdGgiLCJjbGFtcCIsImNsYW1wZWRIZWFkZXJXaWR0aCIsInBhcmVudEVsZW1lbnQiLCJyZW1vdmVDaGlsZCIsIm1pbiIsInZhbHVlIiwiZ2V0Q29sdW1uT3JkZXIiLCJwaW5uZWRDb2x1bW5zIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwidW5kZWZpbmVkIiwidW5waW5uZWRDb2x1bW5zIiwiZ2V0TWluQ2VsbFNpemUiLCJjZWxsU2l6ZUNhY2hlIiwiT2JqZWN0IiwicmVkdWNlIiwiYWNjdSIsImNvbCIsImdldFNpemVTdW0iLCJzaXplQ2FjaGUiLCJrZXkiLCJhY2MiLCJ2YWwiLCJleHBhbmRDZWxsU2l6ZSIsImNvbHVtbk9yZGVyIiwiY29udGFpbmVyV2lkdGgiLCJyb29tVG9GaWxsIiwicmVtYWluaW5nIiwiZXhwYW5kZWRDZWxsU2l6ZSIsInNpemUiLCJnaG9zdCIsImxhc3RDZWxsIiwiYWRqdXN0Q2VsbHNUb0NvbnRhaW5lciIsIm1pblJvd1N1bSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9kYXRhLXRhYmxlL2NlbGwtc2l6ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgZG9jdW1lbnQgZnJvbSAnZ2xvYmFsL2RvY3VtZW50JztcbmltcG9ydCB7cGFyc2VGaWVsZFZhbHVlfSBmcm9tICd1dGlscy9kYXRhLXV0aWxzJztcblxuY29uc3QgTUlOX0dIT1NUX0NFTExfU0laRSA9IDIwMDtcblxuLyoqXG4gKiBNZWFzdXJlIHJvd3MgYW5kIGNvbHVtbiBjb250ZW50IHRvIGRldGVybWluZSBtaW4gd2lkdGggZm9yIGVhY2ggY29sdW1uXG4gKiBAcGFyYW0geyp9IHBhcmFtMFxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyZWRTaXplKHtcbiAgdGV4dDoge2RhdGFDb250YWluZXIsIGNvbHVtbn0sXG4gIHR5cGUgPSAnc3RyaW5nJyxcbiAgY29sSWR4LFxuICBudW1Sb3dzVG9DYWxjdWxhdGUgPSAxMCxcbiAgZm9udFNpemUgPSAxMixcbiAgZm9udCA9ICdMYXRvJyxcbiAgY2VsbFBhZGRpbmcgPSA0MCxcbiAgbWF4Q2VsbFNpemUgPSA0MDAsXG4gIG1heEhlYWRlclNpemUgPSAxNTAsXG4gIG1pbkNlbGxTaXplID0gNDUsXG4gIG9wdGlvbnNCdXR0b24gPSAzMFxufSkge1xuICBpZiAoIWRvY3VtZW50KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJvdzogMCxcbiAgICAgIGhlYWRlcjogMFxuICAgIH07XG4gIH1cbiAgY29uc3QgdGV4dENhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHRDYW52YXMpO1xuICBjb25zdCBjb250ZXh0ID0gdGV4dENhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICBjb250ZXh0LmZvbnQgPSBbZm9udFNpemUsIGZvbnRdLmpvaW4oJ3B4ICcpO1xuXG4gIGxldCByb3dzVG9TYW1wbGUgPSBbLi4uQXJyYXkobnVtUm93c1RvQ2FsY3VsYXRlKV0ubWFwKCgpID0+XG4gICAgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKGRhdGFDb250YWluZXIubnVtUm93cygpIC0gMSkpXG4gICk7XG5cbiAgLy8gSWYgd2UgaGF2ZSBsZXNzIHRoYW4gMTAgcm93cywgbGV0cyBtZWFzdXJlIGFsbCBvZiB0aGVtXG4gIGlmIChkYXRhQ29udGFpbmVyLm51bVJvd3MoKSA8PSBudW1Sb3dzVG9DYWxjdWxhdGUpIHtcbiAgICByb3dzVG9TYW1wbGUgPSBBcnJheS5mcm9tKEFycmF5KGRhdGFDb250YWluZXIubnVtUm93cygpKS5rZXlzKCkpO1xuICB9XG4gIGNvbnN0IHJvd1dpZHRoID0gTWF0aC5tYXgoXG4gICAgLi4ucm93c1RvU2FtcGxlLm1hcChcbiAgICAgIHJvd0lkeCA9PlxuICAgICAgICBNYXRoLmNlaWwoXG4gICAgICAgICAgY29udGV4dC5tZWFzdXJlVGV4dChwYXJzZUZpZWxkVmFsdWUoZGF0YUNvbnRhaW5lci52YWx1ZUF0KHJvd0lkeCwgY29sSWR4KSwgdHlwZSkpLndpZHRoXG4gICAgICAgICkgKyBjZWxsUGFkZGluZ1xuICAgIClcbiAgKTtcbiAgLy8gaGVhZGVyIGNlbGwgb25seSBoYXMgbGVmdCBwYWRkaW5nXG4gIGNvbnN0IGhlYWRlcldpZHRoID1cbiAgICBNYXRoLmNlaWwoY29udGV4dC5tZWFzdXJlVGV4dChjb2x1bW4pLndpZHRoKSArIGNlbGxQYWRkaW5nIC8gMiArIG9wdGlvbnNCdXR0b247XG5cbiAgY29uc3QgbWluUm93V2lkdGggPSBtaW5DZWxsU2l6ZSArIGNlbGxQYWRkaW5nO1xuICBjb25zdCBtaW5IZWFkZXJXaWR0aCA9IG1pbkNlbGxTaXplICsgY2VsbFBhZGRpbmcgLyAyICsgb3B0aW9uc0J1dHRvbjtcblxuICBjb25zdCBjbGFtcGVkUm93V2lkdGggPSBjbGFtcChtaW5Sb3dXaWR0aCwgbWF4Q2VsbFNpemUsIHJvd1dpZHRoKTtcbiAgY29uc3QgY2xhbXBlZEhlYWRlcldpZHRoID0gY2xhbXAobWluSGVhZGVyV2lkdGgsIG1heEhlYWRlclNpemUsIGhlYWRlcldpZHRoKTtcblxuICAvLyBjbGVhbnVwXG4gIHRleHRDYW52YXMucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0ZXh0Q2FudmFzKTtcblxuICByZXR1cm4ge1xuICAgIHJvdzogY2xhbXBlZFJvd1dpZHRoLFxuICAgIGhlYWRlcjogY2xhbXBlZEhlYWRlcldpZHRoXG4gIH07XG59XG5cbmZ1bmN0aW9uIGNsYW1wKG1pbiwgbWF4LCB2YWx1ZSkge1xuICByZXR1cm4gTWF0aC5tYXgoTWF0aC5taW4obWF4LCB2YWx1ZSksIG1pbik7XG59XG5cbmZ1bmN0aW9uIGdldENvbHVtbk9yZGVyKHBpbm5lZENvbHVtbnM6IHN0cmluZ1tdID0gW10sIHVucGlubmVkQ29sdW1uczogc3RyaW5nW10gPSBbXSkge1xuICByZXR1cm4gWy4uLnBpbm5lZENvbHVtbnMsIC4uLnVucGlubmVkQ29sdW1uc107XG59XG5cbmZ1bmN0aW9uIGdldE1pbkNlbGxTaXplKGNlbGxTaXplQ2FjaGUpIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKGNlbGxTaXplQ2FjaGUpLnJlZHVjZShcbiAgICAoYWNjdSwgY29sKSA9PiAoe1xuICAgICAgLi4uYWNjdSxcbiAgICAgIFtjb2xdOiBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93XG4gICAgfSksXG4gICAge31cbiAgKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2l6ZVN1bShzaXplQ2FjaGUsIGtleSkge1xuICByZXR1cm4gT2JqZWN0LmtleXMoc2l6ZUNhY2hlKS5yZWR1Y2UoXG4gICAgKGFjYywgdmFsKSA9PiBhY2MgKyAoa2V5ID8gc2l6ZUNhY2hlW3ZhbF1ba2V5XSA6IHNpemVDYWNoZVt2YWxdKSxcbiAgICAwXG4gICk7XG59XG5cbi8qKlxuICogRXhwYW5kIGNlbGwgdG8gZml0IGJvdGggcm93IGFuZCBoZWFkZXIsIGlmIHRoZXJlIGlzIHN0aWxsIHJvb20gbGVmdCxcbiAqIGV4cGFuZCBsYXN0IGNlbGwgdG8gZml0IHRoZSBlbnRpcmUgd2lkdGggb2YgdGhlIGNvbnRhaW5lclxuICogQHBhcmFtIHtvYmplY3R9IGNlbGxTaXplQ2FjaGVcbiAqIEBwYXJhbSB7c3RyaW5nW119IGNvbHVtbk9yZGVyXG4gKiBAcGFyYW0ge251bWJlcn0gY29udGFpbmVyV2lkdGhcbiAqIEBwYXJhbSB7bnVtYmVyfSByb29tVG9GaWxsXG4gKi9cbmZ1bmN0aW9uIGV4cGFuZENlbGxTaXplKFxuICBjZWxsU2l6ZUNhY2hlOiBvYmplY3QsXG4gIGNvbHVtbk9yZGVyOiBzdHJpbmdbXSxcbiAgY29udGFpbmVyV2lkdGg6IG51bWJlcixcbiAgcm9vbVRvRmlsbDogbnVtYmVyXG4pIHtcbiAgbGV0IHJlbWFpbmluZyA9IHJvb21Ub0ZpbGw7XG5cbiAgY29uc3QgZXhwYW5kZWRDZWxsU2l6ZSA9IGNvbHVtbk9yZGVyLnJlZHVjZSgoYWNjdSwgY29sKSA9PiB7XG4gICAgbGV0IHNpemUgPSBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93O1xuICAgIGlmIChjZWxsU2l6ZUNhY2hlW2NvbF0ucm93IDwgY2VsbFNpemVDYWNoZVtjb2xdLmhlYWRlciAmJiByZW1haW5pbmcgPiAwKSB7XG4gICAgICAvLyBpZiB3ZSBhcmUgY3V0dGluZyBvZmYgdGhlIGhlYWRlciwgZXhwYW5kIHRvIGZpdCBpdFxuICAgICAgc2l6ZSA9XG4gICAgICAgIGNlbGxTaXplQ2FjaGVbY29sXS5oZWFkZXIgLSBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93IDwgcmVtYWluaW5nXG4gICAgICAgICAgPyBjZWxsU2l6ZUNhY2hlW2NvbF0uaGVhZGVyXG4gICAgICAgICAgOiBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93ICsgcmVtYWluaW5nO1xuICAgICAgcmVtYWluaW5nIC09IHNpemUgLSBjZWxsU2l6ZUNhY2hlW2NvbF0ucm93O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5hY2N1LFxuICAgICAgW2NvbF06IHNpemVcbiAgICB9O1xuICB9LCB7fSk7XG5cbiAgbGV0IGdob3N0OiBudW1iZXIgfCBudWxsID0gbnVsbDtcbiAgaWYgKHJlbWFpbmluZyA+IDAgJiYgcmVtYWluaW5nIDwgTUlOX0dIT1NUX0NFTExfU0laRSkge1xuICAgIC8vIGV4cGFuZCBsYXN0IGNlbGxcbiAgICBjb25zdCBsYXN0Q2VsbCA9IGNvbHVtbk9yZGVyW2NvbHVtbk9yZGVyLmxlbmd0aCAtIDFdO1xuICAgIGV4cGFuZGVkQ2VsbFNpemVbbGFzdENlbGxdICs9IHJlbWFpbmluZztcbiAgfSBlbHNlIGlmIChyZW1haW5pbmcgPj0gTUlOX0dIT1NUX0NFTExfU0laRSkge1xuICAgIC8vIGlmIHRvbyBtdWNoIGxlZnQgYWRkIGEgZ2hvc3QgY2VsbFxuICAgIGdob3N0ID0gcmVtYWluaW5nO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBjZWxsU2l6ZUNhY2hlOiBleHBhbmRlZENlbGxTaXplLFxuICAgIGdob3N0XG4gIH07XG59XG5cbi8qKlxuICogQWRqdXN0IGNlbGwgc2l6ZSBiYXNlZCBvbiBjb250YWluZXIgd2lkdGhcbiAqIEBwYXJhbSB7bnVtYmVyfSBjb250YWluZXJXaWR0aFxuICogQHBhcmFtIHtPYmplY3R9IGNlbGxTaXplQ2FjaGVcbiAqIEBwYXJhbSB7c3RyaW5nW119IHBpbm5lZENvbHVtbnNcbiAqIEBwYXJhbSB7c3RyaW5nW119IHVucGlubmVkQ29sdW1uc1xuICovXG5leHBvcnQgZnVuY3Rpb24gYWRqdXN0Q2VsbHNUb0NvbnRhaW5lcihcbiAgY29udGFpbmVyV2lkdGg6IG51bWJlcixcbiAgY2VsbFNpemVDYWNoZTogb2JqZWN0LFxuICBwaW5uZWRDb2x1bW5zOiBzdHJpbmdbXSxcbiAgdW5waW5uZWRDb2x1bW5zOiBzdHJpbmdbXVxuKSB7XG4gIGNvbnN0IG1pblJvd1N1bSA9IGdldFNpemVTdW0oY2VsbFNpemVDYWNoZSwgJ3JvdycpO1xuICBpZiAobWluUm93U3VtID49IGNvbnRhaW5lcldpZHRoKSB7XG4gICAgLy8gd2UgYXBwbHkgdGhlIG1pbiBXaWR0aCB0byBhbGwgY2VsbHNcbiAgICByZXR1cm4ge2NlbGxTaXplQ2FjaGU6IGdldE1pbkNlbGxTaXplKGNlbGxTaXplQ2FjaGUpfTtcbiAgfVxuXG4gIC8vIGlmIHdlIGhhdmUgc29tZSByb29tIHRvIGV4cGFuZFxuICBjb25zdCBjb2x1bW5PcmRlciA9IGdldENvbHVtbk9yZGVyKHBpbm5lZENvbHVtbnMsIHVucGlubmVkQ29sdW1ucyk7XG4gIHJldHVybiBleHBhbmRDZWxsU2l6ZShjZWxsU2l6ZUNhY2hlLCBjb2x1bW5PcmRlciwgY29udGFpbmVyV2lkdGgsIGNvbnRhaW5lcldpZHRoIC0gbWluUm93U3VtKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFvQkEsSUFBQUEsU0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBckJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUtBLE1BQU1FLG1CQUFtQixHQUFHLEdBQUc7O0FBRS9CO0FBQ0E7QUFD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
@@ -1,27 +1,18 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports["default"] = void 0;
7
+ exports.default = void 0;
9
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
14
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
16
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
10
  var _react = _interopRequireWildcard(require("react"));
18
11
  var _reactVirtualized = require("react-virtualized");
19
12
  var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
20
- var _excluded = ["setGridRef"];
21
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
23
- function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
24
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } // Copyright (c) 2022 Uber Technologies, Inc.
13
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
+ // Copyright (c) 2022 Uber Technologies, Inc.
25
16
  //
26
17
  // Permission is hereby granted, free of charge, to any person obtaining a copy
27
18
  // of this software and associated documentation files (the "Software"), to deal
@@ -40,51 +31,41 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
40
31
  // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
41
32
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
42
33
  // THE SOFTWARE.
43
- var GridHack = exports["default"] = /*#__PURE__*/function (_PureComponent) {
44
- function GridHack() {
45
- var _this;
46
- (0, _classCallCheck2["default"])(this, GridHack);
47
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
48
- args[_key] = arguments[_key];
49
- }
50
- _this = _callSuper(this, GridHack, [].concat(args));
51
- (0, _defineProperty2["default"])(_this, "grid", null);
52
- return _this;
34
+
35
+ class GridHack extends _react.PureComponent {
36
+ constructor() {
37
+ super(...arguments);
38
+ (0, _defineProperty2.default)(this, "grid", null);
53
39
  }
54
- (0, _inherits2["default"])(GridHack, _PureComponent);
55
- return (0, _createClass2["default"])(GridHack, [{
56
- key: "componentDidUpdate",
57
- value: function componentDidUpdate(preProps) {
58
- /*
59
- * This hack exists because in react-virtualized the
60
- * _columnWidthGetter is only called in the constructor
61
- * even though it is reassigned with new props resulting in
62
- * a new width for cells not being calculated so we must
63
- * force trigger a resize.
64
- *
65
- * https://github.com/bvaughn/react-virtualized/blob/master/source/Grid/Grid.js#L322
66
- *
67
- */
68
- if (!(0, _isEqual["default"])(preProps.cellSizeCache, this.props.cellSizeCache)) {
69
- var _this$grid;
70
- (_this$grid = this.grid) === null || _this$grid === void 0 ? void 0 : _this$grid.recomputeGridSize();
71
- }
72
- }
73
- }, {
74
- key: "render",
75
- value: function render() {
76
- var _this2 = this;
77
- var _this$props = this.props,
78
- setGridRef = _this$props.setGridRef,
79
- rest = (0, _objectWithoutProperties2["default"])(_this$props, _excluded);
80
- return /*#__PURE__*/_react["default"].createElement(_reactVirtualized.Grid, (0, _extends2["default"])({
81
- ref: function ref(x) {
82
- if (setGridRef) setGridRef(x);
83
- _this2.grid = x;
84
- },
85
- key: "grid-hack"
86
- }, rest));
40
+ componentDidUpdate(preProps) {
41
+ /*
42
+ * This hack exists because in react-virtualized the
43
+ * _columnWidthGetter is only called in the constructor
44
+ * even though it is reassigned with new props resulting in
45
+ * a new width for cells not being calculated so we must
46
+ * force trigger a resize.
47
+ *
48
+ * https://github.com/bvaughn/react-virtualized/blob/master/source/Grid/Grid.js#L322
49
+ *
50
+ */
51
+ if (!(0, _isEqual.default)(preProps.cellSizeCache, this.props.cellSizeCache)) {
52
+ var _this$grid;
53
+ (_this$grid = this.grid) === null || _this$grid === void 0 ? void 0 : _this$grid.recomputeGridSize();
87
54
  }
88
- }]);
89
- }(_react.PureComponent);
90
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RWaXJ0dWFsaXplZCIsIl9pc0VxdWFsIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9leGNsdWRlZCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIl9jYWxsU3VwZXIiLCJvIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJhcHBseSIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwiR3JpZEhhY2siLCJleHBvcnRzIiwiX1B1cmVDb21wb25lbnQiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjazIiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXJncyIsIkFycmF5IiwiX2tleSIsImNvbmNhdCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJfaW5oZXJpdHMyIiwiX2NyZWF0ZUNsYXNzMiIsImtleSIsInZhbHVlIiwiY29tcG9uZW50RGlkVXBkYXRlIiwicHJlUHJvcHMiLCJpc0VxdWFsIiwiY2VsbFNpemVDYWNoZSIsInByb3BzIiwiX3RoaXMkZ3JpZCIsImdyaWQiLCJyZWNvbXB1dGVHcmlkU2l6ZSIsInJlbmRlciIsIl90aGlzMiIsIl90aGlzJHByb3BzIiwic2V0R3JpZFJlZiIsInJlc3QiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwiY3JlYXRlRWxlbWVudCIsIkdyaWQiLCJfZXh0ZW5kczIiLCJyZWYiLCJ4IiwiUHVyZUNvbXBvbmVudCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbW1vbi9kYXRhLXRhYmxlL2dyaWQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge1B1cmVDb21wb25lbnR9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7R3JpZCwgR3JpZFByb3BzfSBmcm9tICdyZWFjdC12aXJ0dWFsaXplZCc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2gvaXNFcXVhbCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEdyaWRIYWNrIGV4dGVuZHMgUHVyZUNvbXBvbmVudDxHcmlkUHJvcHM+IHtcbiAgZ3JpZDogR3JpZCB8IG51bGwgPSBudWxsO1xuXG4gIGNvbXBvbmVudERpZFVwZGF0ZShwcmVQcm9wcykge1xuICAgIC8qXG4gICAgICogVGhpcyBoYWNrIGV4aXN0cyBiZWNhdXNlIGluIHJlYWN0LXZpcnR1YWxpemVkIHRoZVxuICAgICAqIF9jb2x1bW5XaWR0aEdldHRlciBpcyBvbmx5IGNhbGxlZCBpbiB0aGUgY29uc3RydWN0b3JcbiAgICAgKiBldmVuIHRob3VnaCBpdCBpcyByZWFzc2lnbmVkIHdpdGggbmV3IHByb3BzIHJlc3VsdGluZyBpblxuICAgICAqIGEgbmV3IHdpZHRoIGZvciBjZWxscyBub3QgYmVpbmcgY2FsY3VsYXRlZCBzbyB3ZSBtdXN0XG4gICAgICogZm9yY2UgdHJpZ2dlciBhIHJlc2l6ZS5cbiAgICAgKlxuICAgICAqIGh0dHBzOi8vZ2l0aHViLmNvbS9idmF1Z2huL3JlYWN0LXZpcnR1YWxpemVkL2Jsb2IvbWFzdGVyL3NvdXJjZS9HcmlkL0dyaWQuanMjTDMyMlxuICAgICAqXG4gICAgICovXG4gICAgaWYgKCFpc0VxdWFsKHByZVByb3BzLmNlbGxTaXplQ2FjaGUsIHRoaXMucHJvcHMuY2VsbFNpemVDYWNoZSkpIHtcbiAgICAgIHRoaXMuZ3JpZD8ucmVjb21wdXRlR3JpZFNpemUoKTtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge3NldEdyaWRSZWYsIC4uLnJlc3R9ID0gdGhpcy5wcm9wcztcbiAgICByZXR1cm4gKFxuICAgICAgPEdyaWRcbiAgICAgICAgcmVmPXt4ID0+IHtcbiAgICAgICAgICBpZiAoc2V0R3JpZFJlZikgc2V0R3JpZFJlZih4KTtcbiAgICAgICAgICB0aGlzLmdyaWQgPSB4O1xuICAgICAgICB9fVxuICAgICAgICBrZXk9XCJncmlkLWhhY2tcIlxuICAgICAgICB7Li4ucmVzdH1cbiAgICAgIC8+XG4gICAgKTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxRQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFBcUMsSUFBQUksU0FBQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBUCx3QkFBQU8sQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENB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
55
+ }
56
+ render() {
57
+ const {
58
+ setGridRef,
59
+ ...rest
60
+ } = this.props;
61
+ return /*#__PURE__*/_react.default.createElement(_reactVirtualized.Grid, (0, _extends2.default)({
62
+ ref: x => {
63
+ if (setGridRef) setGridRef(x);
64
+ this.grid = x;
65
+ },
66
+ key: "grid-hack"
67
+ }, rest));
68
+ }
69
+ }
70
+ exports.default = GridHack;
71
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RWaXJ0dWFsaXplZCIsIl9pc0VxdWFsIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIkdyaWRIYWNrIiwiUHVyZUNvbXBvbmVudCIsImNvbnN0cnVjdG9yIiwiYXJndW1lbnRzIiwiX2RlZmluZVByb3BlcnR5MiIsImNvbXBvbmVudERpZFVwZGF0ZSIsInByZVByb3BzIiwiaXNFcXVhbCIsImNlbGxTaXplQ2FjaGUiLCJwcm9wcyIsIl90aGlzJGdyaWQiLCJncmlkIiwicmVjb21wdXRlR3JpZFNpemUiLCJyZW5kZXIiLCJzZXRHcmlkUmVmIiwicmVzdCIsImNyZWF0ZUVsZW1lbnQiLCJHcmlkIiwiX2V4dGVuZHMyIiwicmVmIiwieCIsImtleSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9jb21tb24vZGF0YS10YWJsZS9ncmlkLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHtQdXJlQ29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge0dyaWQsIEdyaWRQcm9wc30gZnJvbSAncmVhY3QtdmlydHVhbGl6ZWQnO1xuaW1wb3J0IGlzRXF1YWwgZnJvbSAnbG9kYXNoL2lzRXF1YWwnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBHcmlkSGFjayBleHRlbmRzIFB1cmVDb21wb25lbnQ8R3JpZFByb3BzPiB7XG4gIGdyaWQ6IEdyaWQgfCBudWxsID0gbnVsbDtcblxuICBjb21wb25lbnREaWRVcGRhdGUocHJlUHJvcHMpIHtcbiAgICAvKlxuICAgICAqIFRoaXMgaGFjayBleGlzdHMgYmVjYXVzZSBpbiByZWFjdC12aXJ0dWFsaXplZCB0aGVcbiAgICAgKiBfY29sdW1uV2lkdGhHZXR0ZXIgaXMgb25seSBjYWxsZWQgaW4gdGhlIGNvbnN0cnVjdG9yXG4gICAgICogZXZlbiB0aG91Z2ggaXQgaXMgcmVhc3NpZ25lZCB3aXRoIG5ldyBwcm9wcyByZXN1bHRpbmcgaW5cbiAgICAgKiBhIG5ldyB3aWR0aCBmb3IgY2VsbHMgbm90IGJlaW5nIGNhbGN1bGF0ZWQgc28gd2UgbXVzdFxuICAgICAqIGZvcmNlIHRyaWdnZXIgYSByZXNpemUuXG4gICAgICpcbiAgICAgKiBodHRwczovL2dpdGh1Yi5jb20vYnZhdWdobi9yZWFjdC12aXJ0dWFsaXplZC9ibG9iL21hc3Rlci9zb3VyY2UvR3JpZC9HcmlkLmpzI0wzMjJcbiAgICAgKlxuICAgICAqL1xuICAgIGlmICghaXNFcXVhbChwcmVQcm9wcy5jZWxsU2l6ZUNhY2hlLCB0aGlzLnByb3BzLmNlbGxTaXplQ2FjaGUpKSB7XG4gICAgICB0aGlzLmdyaWQ/LnJlY29tcHV0ZUdyaWRTaXplKCk7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtzZXRHcmlkUmVmLCAuLi5yZXN0fSA9IHRoaXMucHJvcHM7XG4gICAgcmV0dXJuIChcbiAgICAgIDxHcmlkXG4gICAgICAgIHJlZj17eCA9PiB7XG4gICAgICAgICAgaWYgKHNldEdyaWRSZWYpIHNldEdyaWRSZWYoeCk7XG4gICAgICAgICAgdGhpcy5ncmlkID0geDtcbiAgICAgICAgfX1cbiAgICAgICAga2V5PVwiZ3JpZC1oYWNrXCJcbiAgICAgICAgey4uLnJlc3R9XG4gICAgICAvPlxuICAgICk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBb0JBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxRQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFBcUMsU0FBQUkseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQU4sd0JBQUFNLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSx1QkFBQUEsQ0FBQSx5QkFBQUEsQ0FBQSxXQUFBSyxPQUFBLEVBQUFMLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENBQUFQLENBQUEsT0FBQVEsQ0FBQSxLQUFBQyxTQUFBLFVBQUFDLENBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsQ0FBQSxJQUFBZCxDQUFBLG9CQUFBYyxDQUFBLE9BQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBaEIsQ0FBQSxFQUFBYyxDQUFBLFNBQUFHLENBQUEsR0FBQVAsQ0FBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFiLENBQUEsRUFBQWMsQ0FBQSxVQUFBRyxDQUFBLEtBQUFBLENBQUEsQ0FBQVYsR0FBQSxJQUFBVSxDQUFBLENBQUFDLEdBQUEsSUFBQVAsTUFBQSxDQUFBQyxjQUFBLENBQUFKLENBQUEsRUFBQU0sQ0FBQSxFQUFBRyxDQUFBLElBQUFULENBQUEsQ0FBQU0sQ0FBQSxJQUFBZCxDQUFBLENBQUFjLENBQUEsWUFBQU4sQ0FBQSxDQUFBSCxPQUFBLEdBQUFMLENBQUEsRUFBQUcsQ0FBQSxJQUFBQSxDQUFBLENBQUFlLEdBQUEsQ0FBQWxCLENBQUEsRUFBQVEsQ0FBQSxHQUFBQSxDQUFBO0FBdEJyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFNZSxNQUFNVyxRQUFRLFNBQVNDLG9CQUFhLENBQVk7RUFBQUMsWUFBQTtJQUFBLFNBQUFDLFNBQUE7SUFBQSxJQUFBQyxnQkFBQSxDQUFBbEIsT0FBQSxnQkFDekMsSUFBSTtFQUFBO0VBRXhCbUIsa0JBQWtCQSxDQUFDQyxRQUFRLEVBQUU7SUFDM0I7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFDSSxJQUFJLENBQUMsSUFBQUMsZ0JBQU8sRUFBQ0QsUUFBUSxDQUFDRSxhQUFhLEVBQUUsSUFBSSxDQUFDQyxLQUFLLENBQUNELGFBQWEsQ0FBQyxFQUFFO01BQUEsSUFBQUUsVUFBQTtNQUM5RCxDQUFBQSxVQUFBLE9BQUksQ0FBQ0MsSUFBSSxjQUFBRCxVQUFBLHVCQUFUQSxVQUFBLENBQVdFLGlCQUFpQixDQUFDLENBQUM7SUFDaEM7RUFDRjtFQUVBQyxNQUFNQSxDQUFBLEVBQUc7SUFDUCxNQUFNO01BQUNDLFVBQVU7TUFBRSxHQUFHQztJQUFJLENBQUMsR0FBRyxJQUFJLENBQUNOLEtBQUs7SUFDeEMsb0JBQ0VuQyxNQUFBLENBQUFZLE9BQUEsQ0FBQThCLGFBQUEsQ0FBQ3ZDLGlCQUFBLENBQUF3QyxJQUFJLE1BQUFDLFNBQUEsQ0FBQWhDLE9BQUE7TUFDSGlDLEdBQUcsRUFBRUMsQ0FBQyxJQUFJO1FBQ1IsSUFBSU4sVUFBVSxFQUFFQSxVQUFVLENBQUNNLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUNULElBQUksR0FBR1MsQ0FBQztNQUNmLENBQUU7TUFDRkMsR0FBRyxFQUFDO0lBQVcsR0FDWE4sSUFBSSxDQUNULENBQUM7RUFFTjtBQUNGO0FBQUNPLE9BQUEsQ0FBQXBDLE9BQUEsR0FBQWMsUUFBQSIsImlnbm9yZUxpc3QiOltdfQ==