@carto/kepler.gl 0.1.0-alpha.1 → 0.1.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (863) hide show
  1. package/dist/actions/action-wrapper.d.ts +115 -115
  2. package/dist/actions/action-wrapper.js +190 -0
  3. package/dist/actions/actions.d.ts +195 -195
  4. package/dist/actions/actions.js +194 -0
  5. package/dist/actions/identity-actions.d.ts +61 -61
  6. package/dist/actions/identity-actions.js +101 -0
  7. package/dist/actions/index.d.ts +9 -9
  8. package/dist/actions/index.js +144 -0
  9. package/dist/actions/map-state-actions.d.ts +69 -69
  10. package/dist/actions/map-state-actions.js +106 -0
  11. package/dist/actions/map-style-actions.d.ts +146 -146
  12. package/dist/actions/map-style-actions.js +176 -0
  13. package/dist/actions/provider-actions.d.ts +153 -153
  14. package/dist/actions/provider-actions.js +144 -0
  15. package/dist/actions/ui-state-actions.d.ts +300 -300
  16. package/dist/actions/ui-state-actions.js +356 -0
  17. package/dist/actions/vis-state-actions.d.ts +821 -821
  18. package/dist/actions/vis-state-actions.js +900 -0
  19. package/dist/cloud-providers/index.d.ts +2 -2
  20. package/dist/cloud-providers/index.js +22 -0
  21. package/dist/cloud-providers/provider.d.ts +176 -176
  22. package/dist/cloud-providers/provider.js +346 -0
  23. package/dist/components/bottom-widget.d.ts +47 -47
  24. package/dist/components/bottom-widget.js +217 -0
  25. package/dist/components/common/action-panel.d.ts +27 -27
  26. package/dist/components/common/action-panel.js +133 -0
  27. package/dist/components/common/animation-control/animation-control.d.ts +24 -24
  28. package/dist/components/common/animation-control/animation-control.js +129 -0
  29. package/dist/components/common/animation-control/animation-controller.d.ts +16 -16
  30. package/dist/components/common/animation-control/animation-controller.js +270 -0
  31. package/dist/components/common/animation-control/animation-speed-slider.d.ts +12 -12
  32. package/dist/components/common/animation-control/animation-speed-slider.js +88 -0
  33. package/dist/components/common/animation-control/floating-time-display.d.ts +9 -9
  34. package/dist/components/common/animation-control/floating-time-display.js +149 -0
  35. package/dist/components/common/animation-control/playback-controls.d.ts +72 -72
  36. package/dist/components/common/animation-control/playback-controls.js +261 -0
  37. package/dist/components/common/animation-control/speed-control.d.ts +13 -13
  38. package/dist/components/common/animation-control/speed-control.js +70 -0
  39. package/dist/components/common/checkbox.d.ts +35 -35
  40. package/dist/components/common/checkbox.js +117 -0
  41. package/dist/components/common/color-legend.d.ts +43 -43
  42. package/dist/components/common/color-legend.js +205 -0
  43. package/dist/components/common/data-table/button.d.ts +8 -8
  44. package/dist/components/common/data-table/button.js +53 -0
  45. package/dist/components/common/data-table/canvas.d.ts +2 -2
  46. package/dist/components/common/data-table/canvas.js +43 -0
  47. package/dist/components/common/data-table/cell-size.d.ts +36 -36
  48. package/dist/components/common/data-table/cell-size.js +170 -0
  49. package/dist/components/common/data-table/grid.d.ts +7 -7
  50. package/dist/components/common/data-table/grid.js +90 -0
  51. package/dist/components/common/data-table/index.d.ts +143 -143
  52. package/dist/components/common/data-table/index.js +469 -0
  53. package/dist/components/common/data-table/option-dropdown.d.ts +14 -14
  54. package/dist/components/common/data-table/option-dropdown.js +99 -0
  55. package/dist/components/common/dataset-label.d.ts +10 -10
  56. package/dist/components/common/dataset-label.js +44 -0
  57. package/dist/components/common/error-boundary.d.ts +16 -16
  58. package/dist/components/common/error-boundary.js +76 -0
  59. package/dist/components/common/field-selector.d.ts +47 -47
  60. package/dist/components/common/field-selector.js +214 -0
  61. package/dist/components/common/field-token.d.ts +45 -45
  62. package/dist/components/common/field-token.js +47 -0
  63. package/dist/components/common/file-uploader/file-drop.d.ts +54 -54
  64. package/dist/components/common/file-uploader/file-drop.js +213 -0
  65. package/dist/components/common/file-uploader/file-upload-progress.d.ts +8 -8
  66. package/dist/components/common/file-uploader/file-upload-progress.js +103 -0
  67. package/dist/components/common/file-uploader/file-upload.d.ts +27 -27
  68. package/dist/components/common/file-uploader/file-upload.js +263 -0
  69. package/dist/components/common/file-uploader/upload-button.d.ts +8 -8
  70. package/dist/components/common/file-uploader/upload-button.js +76 -0
  71. package/dist/components/common/histogram-plot.d.ts +3 -3
  72. package/dist/components/common/histogram-plot.js +112 -0
  73. package/dist/components/common/icons/add.d.ts +9 -9
  74. package/dist/components/common/icons/add.js +58 -0
  75. package/dist/components/common/icons/anchor_window.d.ts +11 -11
  76. package/dist/components/common/icons/anchor_window.js +51 -0
  77. package/dist/components/common/icons/arrow-down-alt.d.ts +9 -9
  78. package/dist/components/common/icons/arrow-down-alt.js +58 -0
  79. package/dist/components/common/icons/arrow-down-solid.d.ts +9 -9
  80. package/dist/components/common/icons/arrow-down-solid.js +58 -0
  81. package/dist/components/common/icons/arrow-down.d.ts +9 -9
  82. package/dist/components/common/icons/arrow-down.js +58 -0
  83. package/dist/components/common/icons/arrow-left.d.ts +9 -9
  84. package/dist/components/common/icons/arrow-left.js +61 -0
  85. package/dist/components/common/icons/arrow-right.d.ts +9 -9
  86. package/dist/components/common/icons/arrow-right.js +58 -0
  87. package/dist/components/common/icons/arrow-up-alt.d.ts +9 -9
  88. package/dist/components/common/icons/arrow-up-alt.js +59 -0
  89. package/dist/components/common/icons/arrow-up-solid.d.ts +9 -9
  90. package/dist/components/common/icons/arrow-up-solid.js +58 -0
  91. package/dist/components/common/icons/arrow-up.d.ts +9 -9
  92. package/dist/components/common/icons/arrow-up.js +58 -0
  93. package/dist/components/common/icons/base.d.ts +29 -29
  94. package/dist/components/common/icons/base.js +94 -0
  95. package/dist/components/common/icons/bug.d.ts +9 -9
  96. package/dist/components/common/icons/bug.js +60 -0
  97. package/dist/components/common/icons/cancel.d.ts +9 -9
  98. package/dist/components/common/icons/cancel.js +58 -0
  99. package/dist/components/common/icons/checkmark.d.ts +10 -10
  100. package/dist/components/common/icons/checkmark.js +64 -0
  101. package/dist/components/common/icons/chevron-right.js +68 -0
  102. package/dist/components/common/icons/clipboard.d.ts +9 -9
  103. package/dist/components/common/icons/clipboard.js +59 -0
  104. package/dist/components/common/icons/clock.d.ts +9 -9
  105. package/dist/components/common/icons/clock.js +60 -0
  106. package/dist/components/common/icons/close.d.ts +9 -9
  107. package/dist/components/common/icons/close.js +63 -0
  108. package/dist/components/common/icons/code-alt.d.ts +9 -9
  109. package/dist/components/common/icons/code-alt.js +61 -0
  110. package/dist/components/common/icons/copy.d.ts +9 -9
  111. package/dist/components/common/icons/copy.js +63 -0
  112. package/dist/components/common/icons/crosshairs.d.ts +9 -9
  113. package/dist/components/common/icons/crosshairs.js +61 -0
  114. package/dist/components/common/icons/cube-3d.d.ts +9 -9
  115. package/dist/components/common/icons/cube-3d.js +62 -0
  116. package/dist/components/common/icons/cursor-click.d.ts +9 -9
  117. package/dist/components/common/icons/cursor-click.js +62 -0
  118. package/dist/components/common/icons/data-table.d.ts +10 -10
  119. package/dist/components/common/icons/data-table.js +59 -0
  120. package/dist/components/common/icons/db.d.ts +10 -10
  121. package/dist/components/common/icons/db.js +59 -0
  122. package/dist/components/common/icons/delete.d.ts +9 -9
  123. package/dist/components/common/icons/delete.js +60 -0
  124. package/dist/components/common/icons/docs.d.ts +9 -9
  125. package/dist/components/common/icons/docs.js +74 -0
  126. package/dist/components/common/icons/drag-n-drop.d.ts +9 -9
  127. package/dist/components/common/icons/drag-n-drop.js +60 -0
  128. package/dist/components/common/icons/draw-polygon.d.ts +10 -10
  129. package/dist/components/common/icons/draw-polygon.js +78 -0
  130. package/dist/components/common/icons/email.d.ts +9 -9
  131. package/dist/components/common/icons/email.js +62 -0
  132. package/dist/components/common/icons/expand.d.ts +9 -9
  133. package/dist/components/common/icons/expand.js +60 -0
  134. package/dist/components/common/icons/eye-seen.d.ts +9 -9
  135. package/dist/components/common/icons/eye-seen.js +60 -0
  136. package/dist/components/common/icons/eye-unseen.d.ts +9 -9
  137. package/dist/components/common/icons/eye-unseen.js +60 -0
  138. package/dist/components/common/icons/file-type.d.ts +8 -8
  139. package/dist/components/common/icons/file-type.js +52 -0
  140. package/dist/components/common/icons/file.d.ts +9 -9
  141. package/dist/components/common/icons/file.js +58 -0
  142. package/dist/components/common/icons/files.d.ts +9 -9
  143. package/dist/components/common/icons/files.js +58 -0
  144. package/dist/components/common/icons/filter-funnel.d.ts +9 -9
  145. package/dist/components/common/icons/filter-funnel.js +58 -0
  146. package/dist/components/common/icons/free-window.d.ts +11 -11
  147. package/dist/components/common/icons/free-window.js +51 -0
  148. package/dist/components/common/icons/gear.d.ts +9 -9
  149. package/dist/components/common/icons/gear.js +60 -0
  150. package/dist/components/common/icons/hash.d.ts +9 -9
  151. package/dist/components/common/icons/hash.js +58 -0
  152. package/dist/components/common/icons/histogram.d.ts +9 -9
  153. package/dist/components/common/icons/histogram.js +58 -0
  154. package/dist/components/common/icons/index.d.ts +78 -78
  155. package/dist/components/common/icons/index.js +551 -0
  156. package/dist/components/common/icons/info.d.ts +12 -12
  157. package/dist/components/common/icons/info.js +71 -0
  158. package/dist/components/common/icons/layers.d.ts +9 -9
  159. package/dist/components/common/icons/layers.js +58 -0
  160. package/dist/components/common/icons/left-arrow.d.ts +9 -9
  161. package/dist/components/common/icons/left-arrow.js +61 -0
  162. package/dist/components/common/icons/legend.d.ts +9 -9
  163. package/dist/components/common/icons/legend.js +58 -0
  164. package/dist/components/common/icons/line-chart.d.ts +9 -9
  165. package/dist/components/common/icons/line-chart.js +58 -0
  166. package/dist/components/common/icons/login.d.ts +9 -9
  167. package/dist/components/common/icons/login.js +61 -0
  168. package/dist/components/common/icons/logout.d.ts +9 -9
  169. package/dist/components/common/icons/logout.js +60 -0
  170. package/dist/components/common/icons/map-icon.d.ts +11 -11
  171. package/dist/components/common/icons/map-icon.js +65 -0
  172. package/dist/components/common/icons/map.d.ts +11 -11
  173. package/dist/components/common/icons/map.js +65 -0
  174. package/dist/components/common/icons/messages.d.ts +9 -9
  175. package/dist/components/common/icons/messages.js +58 -0
  176. package/dist/components/common/icons/minus.d.ts +9 -9
  177. package/dist/components/common/icons/minus.js +58 -0
  178. package/dist/components/common/icons/order-by-dataset.d.ts +12 -12
  179. package/dist/components/common/icons/order-by-dataset.js +51 -0
  180. package/dist/components/common/icons/order-by-list.d.ts +12 -12
  181. package/dist/components/common/icons/order-by-list.js +43 -0
  182. package/dist/components/common/icons/pause.d.ts +9 -9
  183. package/dist/components/common/icons/pause.js +58 -0
  184. package/dist/components/common/icons/picture.d.ts +9 -9
  185. package/dist/components/common/icons/picture.js +58 -0
  186. package/dist/components/common/icons/pin.d.ts +9 -9
  187. package/dist/components/common/icons/pin.js +62 -0
  188. package/dist/components/common/icons/play.d.ts +9 -9
  189. package/dist/components/common/icons/play.js +58 -0
  190. package/dist/components/common/icons/polygon.d.ts +10 -10
  191. package/dist/components/common/icons/polygon.js +80 -0
  192. package/dist/components/common/icons/rectangle.d.ts +10 -10
  193. package/dist/components/common/icons/rectangle.js +81 -0
  194. package/dist/components/common/icons/reduce.d.ts +9 -9
  195. package/dist/components/common/icons/reduce.js +61 -0
  196. package/dist/components/common/icons/reset.d.ts +9 -9
  197. package/dist/components/common/icons/reset.js +58 -0
  198. package/dist/components/common/icons/rocket.d.ts +9 -9
  199. package/dist/components/common/icons/rocket.js +58 -0
  200. package/dist/components/common/icons/save.d.ts +9 -9
  201. package/dist/components/common/icons/save.js +60 -0
  202. package/dist/components/common/icons/save2.d.ts +9 -9
  203. package/dist/components/common/icons/save2.js +64 -0
  204. package/dist/components/common/icons/search.d.ts +9 -9
  205. package/dist/components/common/icons/search.js +60 -0
  206. package/dist/components/common/icons/settings.d.ts +9 -9
  207. package/dist/components/common/icons/settings.js +60 -0
  208. package/dist/components/common/icons/share.d.ts +9 -9
  209. package/dist/components/common/icons/share.js +58 -0
  210. package/dist/components/common/icons/split.d.ts +9 -9
  211. package/dist/components/common/icons/split.js +86 -0
  212. package/dist/components/common/icons/square-select.d.ts +9 -9
  213. package/dist/components/common/icons/square-select.js +60 -0
  214. package/dist/components/common/icons/swap-horizontal.js +66 -0
  215. package/dist/components/common/icons/table.d.ts +9 -9
  216. package/dist/components/common/icons/table.js +58 -0
  217. package/dist/components/common/icons/trash.d.ts +9 -9
  218. package/dist/components/common/icons/trash.js +60 -0
  219. package/dist/components/common/icons/upload.d.ts +9 -9
  220. package/dist/components/common/icons/upload.js +58 -0
  221. package/dist/components/common/icons/vert-dots.d.ts +9 -9
  222. package/dist/components/common/icons/vert-dots.js +96 -0
  223. package/dist/components/common/icons/vert-three-dots.d.ts +9 -9
  224. package/dist/components/common/icons/vert-three-dots.js +71 -0
  225. package/dist/components/common/icons/warning.d.ts +10 -10
  226. package/dist/components/common/icons/warning.js +72 -0
  227. package/dist/components/common/image-preview.d.ts +15 -15
  228. package/dist/components/common/image-preview.js +79 -0
  229. package/dist/components/common/info-helper.d.ts +11 -11
  230. package/dist/components/common/info-helper.js +79 -0
  231. package/dist/components/common/item-selector/accessor.d.ts +7 -7
  232. package/dist/components/common/item-selector/accessor.js +54 -0
  233. package/dist/components/common/item-selector/chickleted-input.d.ts +21 -21
  234. package/dist/components/common/item-selector/chickleted-input.js +96 -0
  235. package/dist/components/common/item-selector/dropdown-list.d.ts +68 -68
  236. package/dist/components/common/item-selector/dropdown-list.js +279 -0
  237. package/dist/components/common/item-selector/item-selector-submenu.js +88 -0
  238. package/dist/components/common/item-selector/item-selector.d.ts +91 -91
  239. package/dist/components/common/item-selector/item-selector.js +282 -0
  240. package/dist/components/common/item-selector/typeahead.d.ts +115 -115
  241. package/dist/components/common/item-selector/typeahead.js +425 -0
  242. package/dist/components/common/line-chart.d.ts +34 -34
  243. package/dist/components/common/line-chart.js +127 -0
  244. package/dist/components/common/loading-spinner.d.ts +9 -9
  245. package/dist/components/common/loading-spinner.js +64 -0
  246. package/dist/components/common/logo.d.ts +8 -8
  247. package/dist/components/common/logo.js +85 -0
  248. package/dist/components/common/map-layer-selector.d.ts +13 -13
  249. package/dist/components/common/map-layer-selector.js +56 -0
  250. package/dist/components/common/modal.d.ts +49 -49
  251. package/dist/components/common/modal.js +165 -0
  252. package/dist/components/common/portaled.d.ts +527 -527
  253. package/dist/components/common/portaled.js +277 -0
  254. package/dist/components/common/progress-bar.d.ts +12 -12
  255. package/dist/components/common/progress-bar.js +64 -0
  256. package/dist/components/common/range-brush.d.ts +19 -19
  257. package/dist/components/common/range-brush.js +277 -0
  258. package/dist/components/common/range-plot.d.ts +35 -35
  259. package/dist/components/common/range-plot.js +130 -0
  260. package/dist/components/common/range-slider.d.ts +32 -32
  261. package/dist/components/common/range-slider.js +305 -0
  262. package/dist/components/common/slider/mouse-event.d.ts +27 -27
  263. package/dist/components/common/slider/mouse-event.js +115 -0
  264. package/dist/components/common/slider/slider-bar-handle.d.ts +29 -29
  265. package/dist/components/common/slider/slider-bar-handle.js +105 -0
  266. package/dist/components/common/slider/slider-handle.d.ts +33 -33
  267. package/dist/components/common/slider/slider-handle.js +151 -0
  268. package/dist/components/common/slider/slider.d.ts +70 -70
  269. package/dist/components/common/slider/slider.js +221 -0
  270. package/dist/components/common/styled-components.d.ts +119 -119
  271. package/dist/components/common/styled-components.js +300 -0
  272. package/dist/components/common/switch.d.ts +16 -16
  273. package/dist/components/common/switch.js +38 -0
  274. package/dist/components/common/time-range-slider-time-title.d.ts +9 -9
  275. package/dist/components/common/time-range-slider-time-title.js +79 -0
  276. package/dist/components/common/time-range-slider.d.ts +32 -32
  277. package/dist/components/common/time-range-slider.js +116 -0
  278. package/dist/components/common/time-slider-marker.d.ts +21 -21
  279. package/dist/components/common/time-slider-marker.js +136 -0
  280. package/dist/components/common/tippy-tooltip.d.ts +4 -4
  281. package/dist/components/common/tippy-tooltip.js +115 -0
  282. package/dist/components/common/toolbar-item.d.ts +14 -14
  283. package/dist/components/common/toolbar-item.js +75 -0
  284. package/dist/components/common/toolbar.d.ts +5 -5
  285. package/dist/components/common/toolbar.js +44 -0
  286. package/dist/components/common/vertical-toolbar.d.ts +3 -3
  287. package/dist/components/common/vertical-toolbar.js +33 -0
  288. package/dist/components/container.d.ts +39 -39
  289. package/dist/components/container.js +203 -0
  290. package/dist/components/context.d.ts +7 -7
  291. package/dist/components/context.js +38 -0
  292. package/dist/components/editor/constants.d.ts +17 -17
  293. package/dist/components/editor/constants.js +45 -0
  294. package/dist/components/editor/editor.d.ts +29 -29
  295. package/dist/components/editor/editor.js +226 -0
  296. package/dist/components/editor/feature-action-panel.d.ts +27 -27
  297. package/dist/components/editor/feature-action-panel.js +141 -0
  298. package/dist/components/editor/feature-styles.d.ts +24 -24
  299. package/dist/components/editor/feature-styles.js +67 -0
  300. package/dist/components/editor/handle-style.d.ts +38 -38
  301. package/dist/components/editor/handle-style.js +78 -0
  302. package/dist/components/filters/components.d.ts +1 -3
  303. package/dist/components/filters/components.js +31 -0
  304. package/dist/components/filters/filter-panels/filter-panel-with-field-select.d.ts +10 -10
  305. package/dist/components/filters/filter-panels/filter-panel-with-field-select.js +96 -0
  306. package/dist/components/filters/filter-panels/multi-select-filter-panel.d.ts +9 -9
  307. package/dist/components/filters/filter-panels/multi-select-filter-panel.js +66 -0
  308. package/dist/components/filters/filter-panels/new-filter-panel.d.ts +12 -12
  309. package/dist/components/filters/filter-panels/new-filter-panel.js +85 -0
  310. package/dist/components/filters/filter-panels/polygon-filter-panel.d.ts +9 -9
  311. package/dist/components/filters/filter-panels/polygon-filter-panel.js +85 -0
  312. package/dist/components/filters/filter-panels/range-filter-panel.d.ts +9 -9
  313. package/dist/components/filters/filter-panels/range-filter-panel.js +66 -0
  314. package/dist/components/filters/filter-panels/single-select-filter-panel.d.ts +9 -9
  315. package/dist/components/filters/filter-panels/single-select-filter-panel.js +66 -0
  316. package/dist/components/filters/filter-panels/time-range-filter-panel.d.ts +8 -8
  317. package/dist/components/filters/filter-panels/time-range-filter-panel.js +80 -0
  318. package/dist/components/filters/filter-panels/types.d.ts +36 -36
  319. package/dist/components/filters/filter-panels/types.js +6 -0
  320. package/dist/components/filters/index.d.ts +5 -5
  321. package/dist/components/filters/index.js +42 -0
  322. package/dist/components/filters/multi-select-filter.d.ts +3 -3
  323. package/dist/components/filters/multi-select-filter.js +48 -0
  324. package/dist/components/filters/polygon-filter.d.ts +4 -4
  325. package/dist/components/filters/polygon-filter.js +85 -0
  326. package/dist/components/filters/range-filter.d.ts +8 -8
  327. package/dist/components/filters/range-filter.js +48 -0
  328. package/dist/components/filters/single-select-filter.d.ts +3 -3
  329. package/dist/components/filters/single-select-filter.js +57 -0
  330. package/dist/components/filters/time-range-filter.d.ts +28 -28
  331. package/dist/components/filters/time-range-filter.js +75 -0
  332. package/dist/components/filters/time-widget.d.ts +14 -14
  333. package/dist/components/filters/time-widget.js +162 -0
  334. package/dist/components/filters/types.d.ts +53 -53
  335. package/dist/components/filters/types.js +6 -0
  336. package/dist/components/geocoder/geocoder.d.ts +33 -33
  337. package/dist/components/geocoder/geocoder.js +282 -0
  338. package/dist/components/geocoder-panel.d.ts +28 -28
  339. package/dist/components/geocoder-panel.js +192 -0
  340. package/dist/components/index.d.ts +165 -165
  341. package/dist/components/index.js +1474 -0
  342. package/dist/components/injector.d.ts +25 -25
  343. package/dist/components/injector.js +162 -0
  344. package/dist/components/kepler-gl.d.ts +302 -302
  345. package/dist/components/kepler-gl.js +487 -0
  346. package/dist/components/map/coordinate-info.d.ts +7 -7
  347. package/dist/components/map/coordinate-info.js +59 -0
  348. package/dist/components/map/layer-hover-info.d.ts +13 -13
  349. package/dist/components/map/layer-hover-info.js +167 -0
  350. package/dist/components/map/layer-selector-panel.d.ts +22 -22
  351. package/dist/components/map/layer-selector-panel.js +103 -0
  352. package/dist/components/map/locale-panel.d.ts +16 -16
  353. package/dist/components/map/locale-panel.js +103 -0
  354. package/dist/components/map/map-control-panel.d.ts +14 -14
  355. package/dist/components/map/map-control-panel.js +97 -0
  356. package/dist/components/map/map-control-toolbar.d.ts +2 -2
  357. package/dist/components/map/map-control-toolbar.js +35 -0
  358. package/dist/components/map/map-control-tooltip.d.ts +7 -7
  359. package/dist/components/map/map-control-tooltip.js +48 -0
  360. package/dist/components/map/map-control.d.ts +44 -44
  361. package/dist/components/map/map-control.js +79 -0
  362. package/dist/components/map/map-draw-panel.d.ts +21 -21
  363. package/dist/components/map/map-draw-panel.js +131 -0
  364. package/dist/components/map/map-legend-panel.d.ts +23 -23
  365. package/dist/components/map/map-legend-panel.js +152 -0
  366. package/dist/components/map/map-legend.d.ts +55 -55
  367. package/dist/components/map/map-legend.js +234 -0
  368. package/dist/components/map/map-popover.d.ts +37 -37
  369. package/dist/components/map/map-popover.js +191 -0
  370. package/dist/components/map/split-map-button.d.ts +19 -19
  371. package/dist/components/map/split-map-button.js +89 -0
  372. package/dist/components/map/toggle-3d-button.d.ts +16 -16
  373. package/dist/components/map/toggle-3d-button.js +79 -0
  374. package/dist/components/map-container.d.ts +58 -58
  375. package/dist/components/map-container.js +502 -0
  376. package/dist/components/maps-layout.d.ts +10 -10
  377. package/dist/components/maps-layout.js +57 -0
  378. package/dist/components/modal-container.d.ts +65 -65
  379. package/dist/components/modal-container.js +459 -0
  380. package/dist/components/modals/add-map-style-modal.d.ts +17 -17
  381. package/dist/components/modals/add-map-style-modal.js +250 -0
  382. package/dist/components/modals/cloud-tile.d.ts +15 -15
  383. package/dist/components/modals/cloud-tile.js +124 -0
  384. package/dist/components/modals/data-table-modal.d.ts +29 -29
  385. package/dist/components/modals/data-table-modal.js +223 -0
  386. package/dist/components/modals/delete-data-modal.d.ts +10 -10
  387. package/dist/components/modals/delete-data-modal.js +58 -0
  388. package/dist/components/modals/error-display.d.ts +6 -6
  389. package/dist/components/modals/error-display.js +44 -0
  390. package/dist/components/modals/export-data-modal.d.ts +25 -25
  391. package/dist/components/modals/export-data-modal.js +194 -0
  392. package/dist/components/modals/export-image-modal.d.ts +18 -18
  393. package/dist/components/modals/export-image-modal.js +139 -0
  394. package/dist/components/modals/export-map-modal/components.d.ts +8 -8
  395. package/dist/components/modals/export-map-modal/components.js +51 -0
  396. package/dist/components/modals/export-map-modal/export-html-map.d.ts +12 -12
  397. package/dist/components/modals/export-map-modal/export-html-map.js +140 -0
  398. package/dist/components/modals/export-map-modal/export-json-map.d.ts +9 -9
  399. package/dist/components/modals/export-map-modal/export-json-map.js +98 -0
  400. package/dist/components/modals/export-map-modal/export-map-modal.d.ts +27 -27
  401. package/dist/components/modals/export-map-modal/export-map-modal.js +101 -0
  402. package/dist/components/modals/image-modal-container.d.ts +18 -18
  403. package/dist/components/modals/image-modal-container.js +83 -0
  404. package/dist/components/modals/load-data-modal.d.ts +33 -33
  405. package/dist/components/modals/load-data-modal.js +93 -0
  406. package/dist/components/modals/load-storage-map.d.ts +26 -26
  407. package/dist/components/modals/load-storage-map.js +251 -0
  408. package/dist/components/modals/loading-dialog.d.ts +7 -7
  409. package/dist/components/modals/loading-dialog.js +54 -0
  410. package/dist/components/modals/modal-dialog.d.ts +2 -2
  411. package/dist/components/modals/modal-dialog.js +33 -0
  412. package/dist/components/modals/modal-tabs.d.ts +27 -27
  413. package/dist/components/modals/modal-tabs.js +99 -0
  414. package/dist/components/modals/overwrite-map-modal.d.ts +16 -16
  415. package/dist/components/modals/overwrite-map-modal.js +81 -0
  416. package/dist/components/modals/provider-modal-container.d.ts +23 -23
  417. package/dist/components/modals/provider-modal-container.js +79 -0
  418. package/dist/components/modals/save-map-modal.d.ts +29 -29
  419. package/dist/components/modals/save-map-modal.js +201 -0
  420. package/dist/components/modals/share-map-modal.d.ts +30 -30
  421. package/dist/components/modals/share-map-modal.js +188 -0
  422. package/dist/components/modals/status-panel.d.ts +13 -13
  423. package/dist/components/modals/status-panel.js +82 -0
  424. package/dist/components/modals/storage-map-viewer.d.ts +21 -21
  425. package/dist/components/modals/storage-map-viewer.js +115 -0
  426. package/dist/components/notification-panel/notification-item.d.ts +66 -66
  427. package/dist/components/notification-panel/notification-item.js +139 -0
  428. package/dist/components/notification-panel.d.ts +61 -61
  429. package/dist/components/notification-panel.js +74 -0
  430. package/dist/components/performance.d.ts +4 -4
  431. package/dist/components/performance.js +110 -0
  432. package/dist/components/plot-container.d.ts +24 -24
  433. package/dist/components/plot-container.js +240 -0
  434. package/dist/components/side-panel/cloud-storage-dropdown.d.ts +6 -6
  435. package/dist/components/side-panel/cloud-storage-dropdown.js +57 -0
  436. package/dist/components/side-panel/common/dataset-info.d.ts +3 -3
  437. package/dist/components/side-panel/common/dataset-info.js +50 -0
  438. package/dist/components/side-panel/common/dataset-tag.d.ts +3 -3
  439. package/dist/components/side-panel/common/dataset-tag.js +75 -0
  440. package/dist/components/side-panel/common/dataset-title.d.ts +8 -8
  441. package/dist/components/side-panel/common/dataset-title.js +185 -0
  442. package/dist/components/side-panel/common/source-data-catalog.d.ts +9 -9
  443. package/dist/components/side-panel/common/source-data-catalog.js +66 -0
  444. package/dist/components/side-panel/common/source-data-selector.d.ts +8 -8
  445. package/dist/components/side-panel/common/source-data-selector.js +119 -0
  446. package/dist/components/side-panel/common/types.d.ts +58 -58
  447. package/dist/components/side-panel/common/types.js +6 -0
  448. package/dist/components/side-panel/custom-panel.d.ts +9 -9
  449. package/dist/components/side-panel/custom-panel.js +56 -0
  450. package/dist/components/side-panel/filter-manager.d.ts +20 -20
  451. package/dist/components/side-panel/filter-manager.js +113 -0
  452. package/dist/components/side-panel/filter-panel/filter-panel-header.d.ts +21 -21
  453. package/dist/components/side-panel/filter-panel/filter-panel-header.js +67 -0
  454. package/dist/components/side-panel/filter-panel/filter-panel.d.ts +23 -23
  455. package/dist/components/side-panel/filter-panel/filter-panel.js +110 -0
  456. package/dist/components/side-panel/interaction-manager.d.ts +14 -14
  457. package/dist/components/side-panel/interaction-manager.js +51 -0
  458. package/dist/components/side-panel/interaction-panel/brush-config.d.ts +15 -15
  459. package/dist/components/side-panel/interaction-panel/brush-config.js +58 -0
  460. package/dist/components/side-panel/interaction-panel/interaction-panel.d.ts +19 -19
  461. package/dist/components/side-panel/interaction-panel/interaction-panel.js +137 -0
  462. package/dist/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +28 -28
  463. package/dist/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +204 -0
  464. package/dist/components/side-panel/interaction-panel/tooltip-config.d.ts +38 -38
  465. package/dist/components/side-panel/interaction-panel/tooltip-config.js +155 -0
  466. package/dist/components/side-panel/layer-manager.d.ts +46 -46
  467. package/dist/components/side-panel/layer-manager.js +185 -0
  468. package/dist/components/side-panel/layer-panel/add-layer-button.d.ts +10 -10
  469. package/dist/components/side-panel/layer-panel/add-layer-button.js +147 -0
  470. package/dist/components/side-panel/layer-panel/color-dimension-scale-selector.d.ts +8 -8
  471. package/dist/components/side-panel/layer-panel/color-dimension-scale-selector.js +38 -0
  472. package/dist/components/side-panel/layer-panel/color-palette.d.ts +13 -13
  473. package/dist/components/side-panel/layer-panel/color-palette.js +79 -0
  474. package/dist/components/side-panel/layer-panel/color-range-selector.d.ts +129 -129
  475. package/dist/components/side-panel/layer-panel/color-range-selector.js +329 -0
  476. package/dist/components/side-panel/layer-panel/color-selector.d.ts +101 -101
  477. package/dist/components/side-panel/layer-panel/color-selector.js +177 -0
  478. package/dist/components/side-panel/layer-panel/column-selector.d.ts +22 -22
  479. package/dist/components/side-panel/layer-panel/column-selector.js +66 -0
  480. package/dist/components/side-panel/layer-panel/custom-markers-config-group.d.ts +6 -6
  481. package/dist/components/side-panel/layer-panel/custom-markers-config-group.js +36 -0
  482. package/dist/components/side-panel/layer-panel/custom-palette.d.ts +38 -38
  483. package/dist/components/side-panel/layer-panel/custom-palette.js +278 -0
  484. package/dist/components/side-panel/layer-panel/custom-picker.d.ts +67 -67
  485. package/dist/components/side-panel/layer-panel/custom-picker.js +106 -0
  486. package/dist/components/side-panel/layer-panel/dataset-layer-group.d.ts +24 -24
  487. package/dist/components/side-panel/layer-panel/dataset-layer-group.js +81 -0
  488. package/dist/components/side-panel/layer-panel/dataset-layer-section.d.ts +25 -25
  489. package/dist/components/side-panel/layer-panel/dataset-layer-section.js +74 -0
  490. package/dist/components/side-panel/layer-panel/dataset-section.d.ts +26 -26
  491. package/dist/components/side-panel/layer-panel/dataset-section.js +91 -0
  492. package/dist/components/side-panel/layer-panel/dimension-scale-selector.d.ts +10 -10
  493. package/dist/components/side-panel/layer-panel/dimension-scale-selector.js +53 -0
  494. package/dist/components/side-panel/layer-panel/hex-column-config.d.ts +62 -62
  495. package/dist/components/side-panel/layer-panel/hex-column-config.js +74 -0
  496. package/dist/components/side-panel/layer-panel/layer-aggregation-resolution.d.ts +8 -8
  497. package/dist/components/side-panel/layer-panel/layer-aggregation-resolution.js +18 -0
  498. package/dist/components/side-panel/layer-panel/layer-column-config.d.ts +20 -20
  499. package/dist/components/side-panel/layer-panel/layer-column-config.js +86 -0
  500. package/dist/components/side-panel/layer-panel/layer-config-group.d.ts +37 -37
  501. package/dist/components/side-panel/layer-panel/layer-config-group.js +209 -0
  502. package/dist/components/side-panel/layer-panel/layer-configurator.d.ts +415 -415
  503. package/dist/components/side-panel/layer-panel/layer-configurator.js +977 -0
  504. package/dist/components/side-panel/layer-panel/layer-list.d.ts +20 -20
  505. package/dist/components/side-panel/layer-panel/layer-list.js +168 -0
  506. package/dist/components/side-panel/layer-panel/layer-panel-header.d.ts +43 -43
  507. package/dist/components/side-panel/layer-panel/layer-panel-header.js +194 -0
  508. package/dist/components/side-panel/layer-panel/layer-panel.d.ts +40 -40
  509. package/dist/components/side-panel/layer-panel/layer-panel.js +161 -0
  510. package/dist/components/side-panel/layer-panel/layer-type-dropdown-list.d.ts +17 -17
  511. package/dist/components/side-panel/layer-panel/layer-type-dropdown-list.js +95 -0
  512. package/dist/components/side-panel/layer-panel/layer-type-list-item.d.ts +11 -11
  513. package/dist/components/side-panel/layer-panel/layer-type-list-item.js +75 -0
  514. package/dist/components/side-panel/layer-panel/layer-type-selector.d.ts +23 -23
  515. package/dist/components/side-panel/layer-panel/layer-type-selector.js +87 -0
  516. package/dist/components/side-panel/layer-panel/layer-visibility-by-zoom.d.ts +23 -23
  517. package/dist/components/side-panel/layer-panel/layer-visibility-by-zoom.js +106 -0
  518. package/dist/components/side-panel/layer-panel/panel-view-list-toggle.d.ts +36 -36
  519. package/dist/components/side-panel/layer-panel/panel-view-list-toggle.js +116 -0
  520. package/dist/components/side-panel/layer-panel/single-color-palette.d.ts +12 -12
  521. package/dist/components/side-panel/layer-panel/single-color-palette.js +68 -0
  522. package/dist/components/side-panel/layer-panel/text-label-panel.d.ts +18 -18
  523. package/dist/components/side-panel/layer-panel/text-label-panel.js +157 -0
  524. package/dist/components/side-panel/layer-panel/vis-config-by-field-selector.d.ts +35 -35
  525. package/dist/components/side-panel/layer-panel/vis-config-by-field-selector.js +148 -0
  526. package/dist/components/side-panel/layer-panel/vis-config-slider.d.ts +20 -20
  527. package/dist/components/side-panel/layer-panel/vis-config-slider.js +177 -0
  528. package/dist/components/side-panel/layer-panel/vis-config-switch.d.ts +16 -16
  529. package/dist/components/side-panel/layer-panel/vis-config-switch.js +73 -0
  530. package/dist/components/side-panel/map-manager.d.ts +21 -21
  531. package/dist/components/side-panel/map-manager.js +133 -0
  532. package/dist/components/side-panel/map-style-panel/map-layer-selector.d.ts +19 -19
  533. package/dist/components/side-panel/map-style-panel/map-layer-selector.js +103 -0
  534. package/dist/components/side-panel/map-style-panel/map-style-selector.d.ts +16 -16
  535. package/dist/components/side-panel/map-style-panel/map-style-selector.js +80 -0
  536. package/dist/components/side-panel/panel-dropdown.d.ts +18 -18
  537. package/dist/components/side-panel/panel-dropdown.js +71 -0
  538. package/dist/components/side-panel/panel-header-action.d.ts +20 -20
  539. package/dist/components/side-panel/panel-header-action.js +103 -0
  540. package/dist/components/side-panel/panel-header.d.ts +78 -78
  541. package/dist/components/side-panel/panel-header.js +301 -0
  542. package/dist/components/side-panel/panel-tab.d.ts +20 -20
  543. package/dist/components/side-panel/panel-tab.js +72 -0
  544. package/dist/components/side-panel/panel-title.d.ts +4 -4
  545. package/dist/components/side-panel/panel-title.js +44 -0
  546. package/dist/components/side-panel/panel-toggle.d.ts +14 -14
  547. package/dist/components/side-panel/panel-toggle.js +65 -0
  548. package/dist/components/side-panel/side-bar.d.ts +76 -76
  549. package/dist/components/side-panel/side-bar.js +140 -0
  550. package/dist/components/side-panel.d.ts +134 -134
  551. package/dist/components/side-panel.js +235 -0
  552. package/dist/components/types.d.ts +44 -44
  553. package/dist/components/types.js +6 -0
  554. package/dist/connect/keplergl-connect.d.ts +5 -5
  555. package/dist/connect/keplergl-connect.js +59 -0
  556. package/dist/connect/with-local-selector.d.ts +6 -6
  557. package/dist/connect/with-local-selector.js +102 -0
  558. package/dist/constants/action-types.d.ts +111 -111
  559. package/dist/constants/action-types.js +184 -0
  560. package/dist/constants/color-palette.d.ts +491 -491
  561. package/dist/constants/color-palette.js +536 -0
  562. package/dist/constants/color-ranges.d.ts +24 -24
  563. package/dist/constants/color-ranges.js +83 -0
  564. package/dist/constants/custom-color-ranges.d.ts +37 -37
  565. package/dist/constants/custom-color-ranges.js +410 -0
  566. package/dist/constants/default-settings.d.ts +773 -773
  567. package/dist/constants/default-settings.js +832 -0
  568. package/dist/constants/index.d.ts +9 -9
  569. package/dist/constants/index.js +387 -0
  570. package/dist/constants/keyevent.d.ts +2 -2
  571. package/dist/constants/keyevent.js +43 -0
  572. package/dist/constants/tooltip.d.ts +165 -165
  573. package/dist/constants/tooltip.js +202 -0
  574. package/dist/constants/user-feedbacks.d.ts +5 -5
  575. package/dist/constants/user-feedbacks.js +32 -0
  576. package/dist/constants/user-guides.d.ts +9 -9
  577. package/dist/constants/user-guides.js +36 -0
  578. package/dist/deckgl-layers/3d-building-layer/3d-building-layer.d.ts +13 -13
  579. package/dist/deckgl-layers/3d-building-layer/3d-building-layer.js +92 -0
  580. package/dist/deckgl-layers/3d-building-layer/3d-building-utils.d.ts +7 -7
  581. package/dist/deckgl-layers/3d-building-layer/3d-building-utils.js +181 -0
  582. package/dist/deckgl-layers/3d-building-layer/types.d.ts +37 -0
  583. package/dist/deckgl-layers/3d-building-layer/types.js +6 -0
  584. package/dist/deckgl-layers/cluster-layer/cluster-layer.js +312 -0
  585. package/dist/deckgl-layers/column-layer/enhanced-column-layer.d.ts +6 -6
  586. package/dist/deckgl-layers/column-layer/enhanced-column-layer.js +75 -0
  587. package/dist/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.d.ts +13 -13
  588. package/dist/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.js +96 -0
  589. package/dist/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.d.ts +13 -13
  590. package/dist/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.js +96 -0
  591. package/dist/deckgl-layers/layer-utils/cluster-utils.js +107 -0
  592. package/dist/deckgl-layers/layer-utils/cpu-aggregator.d.ts +91 -91
  593. package/dist/deckgl-layers/layer-utils/cpu-aggregator.js +585 -0
  594. package/dist/deckgl-layers/layer-utils/shader-utils.d.ts +1 -1
  595. package/dist/deckgl-layers/layer-utils/shader-utils.js +46 -0
  596. package/dist/deckgl-layers/line-layer/line-layer.d.ts +12 -12
  597. package/dist/deckgl-layers/line-layer/line-layer.js +106 -0
  598. package/dist/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.d.ts +8 -8
  599. package/dist/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.js +80 -0
  600. package/dist/deckgl-layers/svg-icon-layer/svg-icon-layer.d.ts +18 -18
  601. package/dist/deckgl-layers/svg-icon-layer/svg-icon-layer.js +123 -0
  602. package/dist/index.d.ts +11 -11
  603. package/dist/index.js +179 -0
  604. package/dist/layers/aggregation-layer.d.ts +70 -70
  605. package/dist/layers/aggregation-layer.js +392 -0
  606. package/dist/layers/arc-layer/arc-layer-icon.d.ts +16 -16
  607. package/dist/layers/arc-layer/arc-layer-icon.js +76 -0
  608. package/dist/layers/arc-layer/arc-layer.d.ts +143 -143
  609. package/dist/layers/arc-layer/arc-layer.js +252 -0
  610. package/dist/layers/base-layer.d.ts +436 -436
  611. package/dist/layers/base-layer.js +1703 -0
  612. package/dist/layers/cluster-layer/cluster-layer-icon.d.ts +16 -16
  613. package/dist/layers/cluster-layer/cluster-layer-icon.js +79 -0
  614. package/dist/layers/cluster-layer/cluster-layer.d.ts +39 -39
  615. package/dist/layers/cluster-layer/cluster-layer.js +139 -0
  616. package/dist/layers/default-layer-icon.d.ts +14 -14
  617. package/dist/layers/default-layer-icon.js +86 -0
  618. package/dist/layers/geojson-layer/geojson-layer-icon.d.ts +15 -15
  619. package/dist/layers/geojson-layer/geojson-layer-icon.js +90 -0
  620. package/dist/layers/geojson-layer/geojson-layer.d.ts +227 -230
  621. package/dist/layers/geojson-layer/geojson-layer.js +423 -0
  622. package/dist/layers/geojson-layer/geojson-utils.d.ts +44 -44
  623. package/dist/layers/geojson-layer/geojson-utils.js +184 -0
  624. package/dist/layers/grid-layer/grid-layer-icon.d.ts +15 -15
  625. package/dist/layers/grid-layer/grid-layer-icon.js +135 -0
  626. package/dist/layers/grid-layer/grid-layer.d.ts +74 -74
  627. package/dist/layers/grid-layer/grid-layer.js +104 -0
  628. package/dist/layers/grid-layer/grid-utils.d.ts +24 -24
  629. package/dist/layers/grid-layer/grid-utils.js +59 -0
  630. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer-icon.d.ts +16 -16
  631. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer-icon.js +70 -0
  632. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer.d.ts +170 -170
  633. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer.js +321 -0
  634. package/dist/layers/h3-hexagon-layer/h3-utils.d.ts +20 -20
  635. package/dist/layers/h3-hexagon-layer/h3-utils.js +86 -0
  636. package/dist/layers/heatmap-layer/heatmap-layer-icon.d.ts +15 -15
  637. package/dist/layers/heatmap-layer/heatmap-layer-icon.js +87 -0
  638. package/dist/layers/heatmap-layer/heatmap-layer.d.ts +144 -144
  639. package/dist/layers/heatmap-layer/heatmap-layer.js +236 -0
  640. package/dist/layers/hexagon-layer/hexagon-layer-icon.d.ts +15 -15
  641. package/dist/layers/hexagon-layer/hexagon-layer-icon.js +99 -0
  642. package/dist/layers/hexagon-layer/hexagon-layer.d.ts +78 -78
  643. package/dist/layers/hexagon-layer/hexagon-layer.js +108 -0
  644. package/dist/layers/hexagon-layer/hexagon-utils.d.ts +7 -7
  645. package/dist/layers/hexagon-layer/hexagon-utils.js +62 -0
  646. package/dist/layers/icon-layer/icon-info-modal.d.ts +3 -3
  647. package/dist/layers/icon-layer/icon-info-modal.js +115 -0
  648. package/dist/layers/icon-layer/icon-layer-icon.d.ts +15 -15
  649. package/dist/layers/icon-layer/icon-layer-icon.js +72 -0
  650. package/dist/layers/icon-layer/icon-layer.d.ts +119 -119
  651. package/dist/layers/icon-layer/icon-layer.js +366 -0
  652. package/dist/layers/index.d.ts +53 -53
  653. package/dist/layers/index.js +105 -0
  654. package/dist/layers/layer-factory.d.ts +150 -150
  655. package/dist/layers/layer-factory.js +517 -0
  656. package/dist/layers/layer-text-label.d.ts +7 -7
  657. package/dist/layers/layer-text-label.js +60 -0
  658. package/dist/layers/layer-update.d.ts +9 -9
  659. package/dist/layers/layer-update.js +73 -0
  660. package/dist/layers/line-layer/line-layer-icon.d.ts +15 -15
  661. package/dist/layers/line-layer/line-layer-icon.js +78 -0
  662. package/dist/layers/line-layer/line-layer.d.ts +136 -136
  663. package/dist/layers/line-layer/line-layer.js +191 -0
  664. package/dist/layers/mapbox-utils.d.ts +57 -57
  665. package/dist/layers/mapbox-utils.js +186 -0
  666. package/dist/layers/mapboxgl-layer.d.ts +87 -87
  667. package/dist/layers/mapboxgl-layer.js +201 -0
  668. package/dist/layers/point-layer/point-layer-icon.d.ts +15 -15
  669. package/dist/layers/point-layer/point-layer-icon.js +93 -0
  670. package/dist/layers/point-layer/point-layer.d.ts +272 -272
  671. package/dist/layers/point-layer/point-layer.js +457 -0
  672. package/dist/layers/s2-geometry-layer/s2-geometry-layer.d.ts +189 -189
  673. package/dist/layers/s2-geometry-layer/s2-geometry-layer.js +306 -0
  674. package/dist/layers/s2-geometry-layer/s2-layer-icon.d.ts +15 -15
  675. package/dist/layers/s2-geometry-layer/s2-layer-icon.js +69 -0
  676. package/dist/layers/s2-geometry-layer/s2-utils.d.ts +7 -7
  677. package/dist/layers/s2-geometry-layer/s2-utils.js +51 -0
  678. package/dist/layers/scenegraph-layer/scenegraph-info-modal.d.ts +3 -3
  679. package/dist/layers/scenegraph-layer/scenegraph-info-modal.js +54 -0
  680. package/dist/layers/scenegraph-layer/scenegraph-layer-icon.d.ts +15 -15
  681. package/dist/layers/scenegraph-layer/scenegraph-layer-icon.js +150 -0
  682. package/dist/layers/scenegraph-layer/scenegraph-layer.d.ts +80 -80
  683. package/dist/layers/scenegraph-layer/scenegraph-layer.js +230 -0
  684. package/dist/layers/trip-layer/trip-info-modal.d.ts +3 -3
  685. package/dist/layers/trip-layer/trip-info-modal.js +59 -0
  686. package/dist/layers/trip-layer/trip-layer-icon.d.ts +15 -15
  687. package/dist/layers/trip-layer/trip-layer-icon.js +88 -0
  688. package/dist/layers/trip-layer/trip-layer.d.ts +157 -157
  689. package/dist/layers/trip-layer/trip-layer.js +369 -0
  690. package/dist/layers/trip-layer/trip-utils.d.ts +31 -31
  691. package/dist/layers/trip-layer/trip-utils.js +180 -0
  692. package/dist/layers/types.d.ts +15 -15
  693. package/dist/layers/types.js +44 -0
  694. package/dist/localization/formatted-message.d.ts +12 -12
  695. package/dist/localization/formatted-message.js +39 -0
  696. package/dist/localization/index.d.ts +5 -5
  697. package/dist/localization/index.js +54 -0
  698. package/dist/localization/locales.d.ts +27 -27
  699. package/dist/localization/locales.js +59 -0
  700. package/dist/localization/messages.d.ts +4 -4
  701. package/dist/localization/messages.js +37 -0
  702. package/dist/localization/translations/ca.d.ts +438 -438
  703. package/dist/localization/translations/ca.js +466 -0
  704. package/dist/localization/translations/cn.d.ts +441 -441
  705. package/dist/localization/translations/cn.js +469 -0
  706. package/dist/localization/translations/en.d.ts +466 -466
  707. package/dist/localization/translations/en.js +494 -0
  708. package/dist/localization/translations/es.d.ts +438 -438
  709. package/dist/localization/translations/es.js +466 -0
  710. package/dist/localization/translations/fi.d.ts +410 -410
  711. package/dist/localization/translations/fi.js +438 -0
  712. package/dist/localization/translations/ja.d.ts +439 -439
  713. package/dist/localization/translations/ja.js +467 -0
  714. package/dist/localization/translations/pt.d.ts +410 -410
  715. package/dist/localization/translations/pt.js +438 -0
  716. package/dist/localization/translations/ru.d.ts +447 -447
  717. package/dist/localization/translations/ru.js +475 -0
  718. package/dist/middleware/index.d.ts +8 -8
  719. package/dist/middleware/index.js +44 -0
  720. package/dist/processors/data-processor.d.ts +242 -242
  721. package/dist/processors/data-processor.js +721 -0
  722. package/dist/processors/file-handler.d.ts +28 -28
  723. package/dist/processors/file-handler.js +357 -0
  724. package/dist/processors/index.d.ts +3 -3
  725. package/dist/processors/index.js +39 -0
  726. package/dist/processors/types.d.ts +21 -21
  727. package/dist/processors/types.js +6 -0
  728. package/dist/reducers/combined-updaters.d.ts +52 -52
  729. package/dist/reducers/combined-updaters.js +180 -0
  730. package/dist/reducers/composer-helpers.d.ts +21 -21
  731. package/dist/reducers/composer-helpers.js +111 -0
  732. package/dist/reducers/composers.d.ts +12 -12
  733. package/dist/reducers/composers.js +40 -0
  734. package/dist/reducers/core.d.ts +65 -65
  735. package/dist/reducers/core.js +119 -0
  736. package/dist/reducers/index.d.ts +19 -19
  737. package/dist/reducers/index.js +137 -0
  738. package/dist/reducers/map-state-updaters.d.ts +96 -96
  739. package/dist/reducers/map-state-updaters.js +220 -0
  740. package/dist/reducers/map-state.d.ts +4 -4
  741. package/dist/reducers/map-state.js +52 -0
  742. package/dist/reducers/map-style-updaters.d.ts +204 -204
  743. package/dist/reducers/map-style-updaters.js +473 -0
  744. package/dist/reducers/map-style.d.ts +16 -16
  745. package/dist/reducers/map-style.js +51 -0
  746. package/dist/reducers/provider-state-updaters.d.ts +41 -41
  747. package/dist/reducers/provider-state-updaters.js +421 -0
  748. package/dist/reducers/provider-state.d.ts +4 -4
  749. package/dist/reducers/provider-state.js +53 -0
  750. package/dist/reducers/root.d.ts +24 -24
  751. package/dist/reducers/root.js +212 -0
  752. package/dist/reducers/types.d.ts +16 -16
  753. package/dist/reducers/types.js +6 -0
  754. package/dist/reducers/ui-state-updaters.d.ts +433 -433
  755. package/dist/reducers/ui-state-updaters.js +744 -0
  756. package/dist/reducers/ui-state.d.ts +3 -3
  757. package/dist/reducers/ui-state.js +54 -0
  758. package/dist/reducers/vis-state-merger.d.ts +110 -110
  759. package/dist/reducers/vis-state-merger.js +569 -0
  760. package/dist/reducers/vis-state-selectors.d.ts +10 -10
  761. package/dist/reducers/vis-state-selectors.js +47 -0
  762. package/dist/reducers/vis-state-updaters.d.ts +645 -645
  763. package/dist/reducers/vis-state-updaters.js +2102 -0
  764. package/dist/reducers/vis-state.d.ts +4 -4
  765. package/dist/reducers/vis-state.js +53 -0
  766. package/dist/schemas/dataset-schema.d.ts +17 -17
  767. package/dist/schemas/dataset-schema.js +166 -0
  768. package/dist/schemas/index.d.ts +8 -8
  769. package/dist/schemas/index.js +125 -0
  770. package/dist/schemas/map-state-schema.d.ts +23 -23
  771. package/dist/schemas/map-state-schema.js +53 -0
  772. package/dist/schemas/map-style-schema.d.ts +38 -38
  773. package/dist/schemas/map-style-schema.js +106 -0
  774. package/dist/schemas/schema-manager.d.ts +271 -271
  775. package/dist/schemas/schema-manager.js +246 -0
  776. package/dist/schemas/schema-utils.d.ts +11 -11
  777. package/dist/schemas/schema-utils.js +58 -0
  778. package/dist/schemas/schema.d.ts +37 -37
  779. package/dist/schemas/schema.js +119 -0
  780. package/dist/schemas/versions.d.ts +5 -5
  781. package/dist/schemas/versions.js +34 -0
  782. package/dist/schemas/vis-state-schema.d.ts +214 -214
  783. package/dist/schemas/vis-state-schema.js +886 -0
  784. package/dist/styles/base.d.ts +1530 -1530
  785. package/dist/styles/base.js +1301 -0
  786. package/dist/styles/index.d.ts +2 -2
  787. package/dist/styles/index.js +28 -0
  788. package/dist/styles/media-breakpoints.d.ts +13 -13
  789. package/dist/styles/media-breakpoints.js +70 -0
  790. package/dist/tasks/tasks.d.ts +15 -15
  791. package/dist/tasks/tasks.js +94 -0
  792. package/dist/templates/export-map-html.d.ts +9 -9
  793. package/dist/templates/export-map-html.js +42 -0
  794. package/dist/utils/aggregate-utils.d.ts +3 -3
  795. package/dist/utils/aggregate-utils.js +71 -0
  796. package/dist/utils/color-utils.d.ts +44 -44
  797. package/dist/utils/color-utils.js +144 -0
  798. package/dist/utils/custom-scales.js +22 -0
  799. package/dist/utils/data-scale-utils.d.ts +23 -23
  800. package/dist/utils/data-scale-utils.js +70 -0
  801. package/dist/utils/data-utils.d.ts +115 -115
  802. package/dist/utils/data-utils.js +441 -0
  803. package/dist/utils/dataset-utils.d.ts +38 -38
  804. package/dist/utils/dataset-utils.js +236 -0
  805. package/dist/utils/dom-to-image.d.ts +73 -73
  806. package/dist/utils/dom-to-image.js +479 -0
  807. package/dist/utils/dom-utils.d.ts +20 -20
  808. package/dist/utils/dom-utils.js +343 -0
  809. package/dist/utils/export-utils.d.ts +56 -56
  810. package/dist/utils/export-utils.js +266 -0
  811. package/dist/utils/filter-utils.d.ts +267 -267
  812. package/dist/utils/filter-utils.js +1081 -0
  813. package/dist/utils/gl-utils.d.ts +1 -1
  814. package/dist/utils/gl-utils.js +43 -0
  815. package/dist/utils/gpu-filter-utils.d.ts +28 -28
  816. package/dist/utils/gpu-filter-utils.js +241 -0
  817. package/dist/utils/index.d.ts +22 -22
  818. package/dist/utils/index.js +361 -0
  819. package/dist/utils/interaction-utils.d.ts +36 -36
  820. package/dist/utils/interaction-utils.js +170 -0
  821. package/dist/utils/layer-utils.d.ts +54 -54
  822. package/dist/utils/layer-utils.js +200 -0
  823. package/dist/utils/locale-utils.d.ts +2 -2
  824. package/dist/utils/locale-utils.js +56 -0
  825. package/dist/utils/map-info-utils.d.ts +1 -1
  826. package/dist/utils/map-info-utils.js +31 -0
  827. package/dist/utils/map-style-utils/mapbox-gl-style-editor.d.ts +64 -64
  828. package/dist/utils/map-style-utils/mapbox-gl-style-editor.js +213 -0
  829. package/dist/utils/map-style-utils/mapbox-utils.d.ts +3 -3
  830. package/dist/utils/map-style-utils/mapbox-utils.js +33 -0
  831. package/dist/utils/mapbox-utils.d.ts +7 -7
  832. package/dist/utils/mapbox-utils.js +36 -0
  833. package/dist/utils/notifications-utils.d.ts +54 -54
  834. package/dist/utils/notifications-utils.js +90 -0
  835. package/dist/utils/observe-dimensions.d.ts +15 -15
  836. package/dist/utils/observe-dimensions.js +142 -0
  837. package/dist/utils/projection-utils.d.ts +12 -12
  838. package/dist/utils/projection-utils.js +72 -0
  839. package/dist/utils/searcher-utils.d.ts +1 -1
  840. package/dist/utils/searcher-utils.js +42 -0
  841. package/dist/utils/split-map-utils.d.ts +29 -29
  842. package/dist/utils/split-map-utils.js +112 -0
  843. package/dist/utils/table-utils/data-container-interface.d.ts +115 -115
  844. package/dist/utils/table-utils/data-container-interface.js +6 -0
  845. package/dist/utils/table-utils/data-container-utils.d.ts +29 -29
  846. package/dist/utils/table-utils/data-container-utils.js +84 -0
  847. package/dist/utils/table-utils/data-row.d.ts +59 -59
  848. package/dist/utils/table-utils/data-row.js +124 -0
  849. package/dist/utils/table-utils/index.d.ts +1 -1
  850. package/dist/utils/table-utils/index.js +19 -0
  851. package/dist/utils/table-utils/indexed-data-container.d.ts +34 -34
  852. package/dist/utils/table-utils/indexed-data-container.js +228 -0
  853. package/dist/utils/table-utils/kepler-table.d.ts +168 -168
  854. package/dist/utils/table-utils/kepler-table.js +554 -0
  855. package/dist/utils/table-utils/row-data-container.d.ts +31 -31
  856. package/dist/utils/table-utils/row-data-container.js +220 -0
  857. package/dist/utils/utils.d.ts +98 -98
  858. package/dist/utils/utils.js +240 -0
  859. package/package.json +61 -25
  860. package/src/index.ts +1 -1
  861. package/dist/bundle.js +0 -75163
  862. package/dist/bundle.js.map +0 -1
  863. package/dist/deckgl-layers/layer-utils/cluster-utils.d.ts +0 -12
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+ var _slider = _interopRequireDefault(require("../slider/slider"));
14
+ var _styledComponents2 = require("../styled-components");
15
+ var _playbackControls = _interopRequireDefault(require("./playback-controls"));
16
+ var _floatingTimeDisplay = _interopRequireDefault(require("./floating-time-display"));
17
+ var _dataUtils = require("../../../utils/data-utils");
18
+ var _defaultSettings = require("../../../constants/default-settings");
19
+ var _templateObject, _templateObject2, _templateObject3; // Copyright (c) 2022 Uber Technologies, Inc.
20
+ //
21
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
22
+ // of this software and associated documentation files (the "Software"), to deal
23
+ // in the Software without restriction, including without limitation the rights
24
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
25
+ // copies of the Software, and to permit persons to whom the Software is
26
+ // furnished to do so, subject to the following conditions:
27
+ //
28
+ // The above copyright notice and this permission notice shall be included in
29
+ // all copies or substantial portions of the Software.
30
+ //
31
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
32
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
33
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
34
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
35
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
36
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
37
+ // THE SOFTWARE.
38
+ 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); }
39
+ 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; }
40
+ var SliderWrapper = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: relative;\n flex-grow: 1;\n margin-right: 24px;\n margin-left: 24px;\n"])));
41
+ var AnimationWidgetInner = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n display: flex;\n align-items: center;\n height: 32px;\n\n .playback-controls {\n margin-left: -8px;\n margin-right: 16px;\n }\n"])));
42
+ var StyledDomain = _styledComponents["default"].div.attrs(function (props) {
43
+ return {
44
+ className: (0, _classnames["default"])('animation-control__time-domain', props.className)
45
+ };
46
+ })(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-weight: 400;\n font-size: 10px;\n"])), function (props) {
47
+ return props.theme.titleTextColor;
48
+ });
49
+ AnimationControlFactory.deps = [_playbackControls["default"], _floatingTimeDisplay["default"]];
50
+ function AnimationControlFactory(PlaybackControls, FloatingTimeDisplay) {
51
+ var AnimationControl = function AnimationControl(_ref) {
52
+ var isAnimatable = _ref.isAnimatable,
53
+ isAnimating = _ref.isAnimating,
54
+ resetAnimation = _ref.resetAnimation,
55
+ toggleAnimation = _ref.toggleAnimation,
56
+ setLayerAnimationTime = _ref.setLayerAnimationTime,
57
+ updateAnimationSpeed = _ref.updateAnimationSpeed,
58
+ animationConfig = _ref.animationConfig;
59
+ var currentTime = animationConfig.currentTime,
60
+ domain = animationConfig.domain,
61
+ speed = animationConfig.speed,
62
+ step = animationConfig.step,
63
+ timeSteps = animationConfig.timeSteps,
64
+ timeFormat = animationConfig.timeFormat,
65
+ timezone = animationConfig.timezone,
66
+ defaultTimeFormat = animationConfig.defaultTimeFormat;
67
+ var onSlider1Change = (0, _react.useCallback)(function (val) {
68
+ if (Array.isArray(timeSteps)) {
69
+ setLayerAnimationTime((0, _dataUtils.snapToMarks)(val, timeSteps));
70
+
71
+ // TODO: merge slider in to avoid this step
72
+ } else if (val >= domain[0] && val <= domain[1]) {
73
+ setLayerAnimationTime(val);
74
+ }
75
+ }, [domain, timeSteps, setLayerAnimationTime]);
76
+ var dateFunc = (0, _react.useMemo)(function () {
77
+ var hasUserFormat = typeof timeFormat === 'string';
78
+ var currentFormat = (hasUserFormat ? timeFormat : defaultTimeFormat) || _defaultSettings.DEFAULT_TIME_FORMAT;
79
+ return (0, _dataUtils.datetimeFormatter)(timezone)(currentFormat);
80
+ }, [timeFormat, defaultTimeFormat, timezone]);
81
+ var timeStart = (0, _react.useMemo)(function () {
82
+ return domain ? dateFunc(domain[0]) : '';
83
+ }, [domain, dateFunc]);
84
+ var timeEnd = (0, _react.useMemo)(function () {
85
+ return domain ? dateFunc(domain[1]) : '';
86
+ }, [domain, dateFunc]);
87
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents2.BottomWidgetInner, {
88
+ className: "bottom-widget--inner"
89
+ }, /*#__PURE__*/_react["default"].createElement(AnimationWidgetInner, {
90
+ className: "animation-widget--inner"
91
+ }, /*#__PURE__*/_react["default"].createElement(PlaybackControls, {
92
+ startAnimation: toggleAnimation,
93
+ isAnimating: isAnimating,
94
+ pauseAnimation: toggleAnimation,
95
+ resetAnimation: resetAnimation,
96
+ speed: speed,
97
+ isAnimatable: isAnimatable,
98
+ updateAnimationSpeed: updateAnimationSpeed
99
+ }), /*#__PURE__*/_react["default"].createElement(StyledDomain, {
100
+ className: "domain-start"
101
+ }, /*#__PURE__*/_react["default"].createElement("span", null, timeStart)), /*#__PURE__*/_react["default"].createElement(SliderWrapper, {
102
+ className: "animation-control__slider"
103
+ }, /*#__PURE__*/_react["default"].createElement(_slider["default"], {
104
+ isRanged: false,
105
+ step: step,
106
+ minValue: domain ? domain[0] : 0,
107
+ maxValue: domain ? domain[1] : 1,
108
+ value1: currentTime,
109
+ onSlider1Change: onSlider1Change,
110
+ enableBarDrag: true
111
+ })), /*#__PURE__*/_react["default"].createElement(StyledDomain, {
112
+ className: "domain-end"
113
+ }, /*#__PURE__*/_react["default"].createElement("span", null, timeEnd))), /*#__PURE__*/_react["default"].createElement(FloatingTimeDisplay, {
114
+ currentTime: currentTime,
115
+ defaultTimeFormat: defaultTimeFormat,
116
+ timeFormat: timeFormat,
117
+ timezone: timezone
118
+ }));
119
+ };
120
+ AnimationControl.defaultProps = {
121
+ toggleAnimation: function toggleAnimation() {},
122
+ updateAnimationSpeed: function updateAnimationSpeed() {},
123
+ animationControlProps: {},
124
+ animationConfig: {}
125
+ };
126
+ return AnimationControl;
127
+ }
128
+ var _default = exports["default"] = AnimationControlFactory;
129
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY2xhc3NuYW1lcyIsIl9zbGlkZXIiLCJfc3R5bGVkQ29tcG9uZW50czIiLCJfcGxheWJhY2tDb250cm9scyIsIl9mbG9hdGluZ1RpbWVEaXNwbGF5IiwiX2RhdGFVdGlscyIsIl9kZWZhdWx0U2V0dGluZ3MiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX3RlbXBsYXRlT2JqZWN0MyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIlNsaWRlcldyYXBwZXIiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIkFuaW1hdGlvbldpZGdldElubmVyIiwiU3R5bGVkRG9tYWluIiwiYXR0cnMiLCJwcm9wcyIsImNsYXNzTmFtZSIsImNsYXNzbmFtZXMiLCJ0aGVtZSIsInRpdGxlVGV4dENvbG9yIiwiQW5pbWF0aW9uQ29udHJvbEZhY3RvcnkiLCJkZXBzIiwiUGxheWJhY2tDb250cm9sc0ZhY3RvcnkiLCJGbG9hdGluZ1RpbWVEaXNwbGF5RmFjdG9yeSIsIlBsYXliYWNrQ29udHJvbHMiLCJGbG9hdGluZ1RpbWVEaXNwbGF5IiwiQW5pbWF0aW9uQ29udHJvbCIsIl9yZWYiLCJpc0FuaW1hdGFibGUiLCJpc0FuaW1hdGluZyIsInJlc2V0QW5pbWF0aW9uIiwidG9nZ2xlQW5pbWF0aW9uIiwic2V0TGF5ZXJBbmltYXRpb25UaW1lIiwidXBkYXRlQW5pbWF0aW9uU3BlZWQiLCJhbmltYXRpb25Db25maWciLCJjdXJyZW50VGltZSIsImRvbWFpbiIsInNwZWVkIiwic3RlcCIsInRpbWVTdGVwcyIsInRpbWVGb3JtYXQiLCJ0aW1lem9uZSIsImRlZmF1bHRUaW1lRm9ybWF0Iiwib25TbGlkZXIxQ2hhbmdlIiwidXNlQ2FsbGJhY2siLCJ2YWwiLCJBcnJheSIsImlzQXJyYXkiLCJzbmFwVG9NYXJrcyIsImRhdGVGdW5jIiwidXNlTWVtbyIsImhhc1VzZXJGb3JtYXQiLCJjdXJyZW50Rm9ybWF0IiwiREVGQVVMVF9USU1FX0ZPUk1BVCIsImRhdGV0aW1lRm9ybWF0dGVyIiwidGltZVN0YXJ0IiwidGltZUVuZCIsImNyZWF0ZUVsZW1lbnQiLCJCb3R0b21XaWRnZXRJbm5lciIsInN0YXJ0QW5pbWF0aW9uIiwicGF1c2VBbmltYXRpb24iLCJpc1JhbmdlZCIsIm1pblZhbHVlIiwibWF4VmFsdWUiLCJ2YWx1ZTEiLCJlbmFibGVCYXJEcmFnIiwiZGVmYXVsdFByb3BzIiwiYW5pbWF0aW9uQ29udHJvbFByb3BzIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY29tbW9uL2FuaW1hdGlvbi1jb250cm9sL2FuaW1hdGlvbi1jb250cm9sLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcblxuaW1wb3J0IFNsaWRlciBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9zbGlkZXIvc2xpZGVyJztcbmltcG9ydCB7Qm90dG9tV2lkZ2V0SW5uZXJ9IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBQbGF5YmFja0NvbnRyb2xzRmFjdG9yeSBmcm9tICcuL3BsYXliYWNrLWNvbnRyb2xzJztcbmltcG9ydCBGbG9hdGluZ1RpbWVEaXNwbGF5RmFjdG9yeSBmcm9tICcuL2Zsb2F0aW5nLXRpbWUtZGlzcGxheSc7XG5pbXBvcnQge3NuYXBUb01hcmtzLCBkYXRldGltZUZvcm1hdHRlcn0gZnJvbSAndXRpbHMvZGF0YS11dGlscyc7XG5pbXBvcnQge0RFRkFVTFRfVElNRV9GT1JNQVR9IGZyb20gJ2NvbnN0YW50cy9kZWZhdWx0LXNldHRpbmdzJztcblxuY29uc3QgU2xpZGVyV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW4tcmlnaHQ6IDI0cHg7XG4gIG1hcmdpbi1sZWZ0OiAyNHB4O1xuYDtcblxuY29uc3QgQW5pbWF0aW9uV2lkZ2V0SW5uZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMzJweDtcblxuICAucGxheWJhY2stY29udHJvbHMge1xuICAgIG1hcmdpbi1sZWZ0OiAtOHB4O1xuICAgIG1hcmdpbi1yaWdodDogMTZweDtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkRG9tYWluID0gc3R5bGVkLmRpdi5hdHRycyhwcm9wcyA9PiAoe1xuICBjbGFzc05hbWU6IGNsYXNzbmFtZXMoJ2FuaW1hdGlvbi1jb250cm9sX190aW1lLWRvbWFpbicsIHByb3BzLmNsYXNzTmFtZSlcbn0pKWBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGl0bGVUZXh0Q29sb3J9O1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEwcHg7XG5gO1xuXG5BbmltYXRpb25Db250cm9sRmFjdG9yeS5kZXBzID0gW1BsYXliYWNrQ29udHJvbHNGYWN0b3J5LCBGbG9hdGluZ1RpbWVEaXNwbGF5RmFjdG9yeV07XG5cbmZ1bmN0aW9uIEFuaW1hdGlvbkNvbnRyb2xGYWN0b3J5KFxuICBQbGF5YmFja0NvbnRyb2xzOiBSZXR1cm5UeXBlPHR5cGVvZiBQbGF5YmFja0NvbnRyb2xzRmFjdG9yeT4sXG4gIEZsb2F0aW5nVGltZURpc3BsYXk6IFJldHVyblR5cGU8dHlwZW9mIEZsb2F0aW5nVGltZURpc3BsYXlGYWN0b3J5PlxuKSB7XG4gIGNvbnN0IEFuaW1hdGlvbkNvbnRyb2wgPSAoe1xuICAgIGlzQW5pbWF0YWJsZSxcbiAgICBpc0FuaW1hdGluZyxcbiAgICByZXNldEFuaW1hdGlvbixcbiAgICB0b2dnbGVBbmltYXRpb24sXG4gICAgc2V0TGF5ZXJBbmltYXRpb25UaW1lLFxuICAgIHVwZGF0ZUFuaW1hdGlvblNwZWVkLFxuICAgIGFuaW1hdGlvbkNvbmZpZ1xuICB9KSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgY3VycmVudFRpbWUsXG4gICAgICBkb21haW4sXG4gICAgICBzcGVlZCxcbiAgICAgIHN0ZXAsXG4gICAgICB0aW1lU3RlcHMsXG4gICAgICB0aW1lRm9ybWF0LFxuICAgICAgdGltZXpvbmUsXG4gICAgICBkZWZhdWx0VGltZUZvcm1hdFxuICAgIH0gPSBhbmltYXRpb25Db25maWc7XG4gICAgY29uc3Qgb25TbGlkZXIxQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgICB2YWwgPT4ge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aW1lU3RlcHMpKSB7XG4gICAgICAgICAgc2V0TGF5ZXJBbmltYXRpb25UaW1lKHNuYXBUb01hcmtzKHZhbCwgdGltZVN0ZXBzKSk7XG5cbiAgICAgICAgICAvLyBUT0RPOiBtZXJnZSBzbGlkZXIgaW4gdG8gYXZvaWQgdGhpcyBzdGVwXG4gICAgICAgIH0gZWxzZSBpZiAodmFsID49IGRvbWFpblswXSAmJiB2YWwgPD0gZG9tYWluWzFdKSB7XG4gICAgICAgICAgc2V0TGF5ZXJBbmltYXRpb25UaW1lKHZhbCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbZG9tYWluLCB0aW1lU3RlcHMsIHNldExheWVyQW5pbWF0aW9uVGltZV1cbiAgICApO1xuXG4gICAgY29uc3QgZGF0ZUZ1bmMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IGhhc1VzZXJGb3JtYXQgPSB0eXBlb2YgdGltZUZvcm1hdCA9PT0gJ3N0cmluZyc7XG4gICAgICBjb25zdCBjdXJyZW50Rm9ybWF0ID0gKGhhc1VzZXJGb3JtYXQgPyB0aW1lRm9ybWF0IDogZGVmYXVsdFRpbWVGb3JtYXQpIHx8IERFRkFVTFRfVElNRV9GT1JNQVQ7XG4gICAgICByZXR1cm4gZGF0ZXRpbWVGb3JtYXR0ZXIodGltZXpvbmUpKGN1cnJlbnRGb3JtYXQpO1xuICAgIH0sIFt0aW1lRm9ybWF0LCBkZWZhdWx0VGltZUZvcm1hdCwgdGltZXpvbmVdKTtcblxuICAgIGNvbnN0IHRpbWVTdGFydCA9IHVzZU1lbW8oKCkgPT4gKGRvbWFpbiA/IGRhdGVGdW5jKGRvbWFpblswXSkgOiAnJyksIFtkb21haW4sIGRhdGVGdW5jXSk7XG4gICAgY29uc3QgdGltZUVuZCA9IHVzZU1lbW8oKCkgPT4gKGRvbWFpbiA/IGRhdGVGdW5jKGRvbWFpblsxXSkgOiAnJyksIFtkb21haW4sIGRhdGVGdW5jXSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEJvdHRvbVdpZGdldElubmVyIGNsYXNzTmFtZT1cImJvdHRvbS13aWRnZXQtLWlubmVyXCI+XG4gICAgICAgIDxBbmltYXRpb25XaWRnZXRJbm5lciBjbGFzc05hbWU9XCJhbmltYXRpb24td2lkZ2V0LS1pbm5lclwiPlxuICAgICAgICAgIDxQbGF5YmFja0NvbnRyb2xzXG4gICAgICAgICAgICBzdGFydEFuaW1hdGlvbj17dG9nZ2xlQW5pbWF0aW9ufVxuICAgICAgICAgICAgaXNBbmltYXRpbmc9e2lzQW5pbWF0aW5nfVxuICAgICAgICAgICAgcGF1c2VBbmltYXRpb249e3RvZ2dsZUFuaW1hdGlvbn1cbiAgICAgICAgICAgIHJlc2V0QW5pbWF0aW9uPXtyZXNldEFuaW1hdGlvbn1cbiAgICAgICAgICAgIHNwZWVkPXtzcGVlZH1cbiAgICAgICAgICAgIGlzQW5pbWF0YWJsZT17aXNBbmltYXRhYmxlfVxuICAgICAgICAgICAgdXBkYXRlQW5pbWF0aW9uU3BlZWQ9e3VwZGF0ZUFuaW1hdGlvblNwZWVkfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0eWxlZERvbWFpbiBjbGFzc05hbWU9XCJkb21haW4tc3RhcnRcIj5cbiAgICAgICAgICAgIDxzcGFuPnt0aW1lU3RhcnR9PC9zcGFuPlxuICAgICAgICAgIDwvU3R5bGVkRG9tYWluPlxuICAgICAgICAgIDxTbGlkZXJXcmFwcGVyIGNsYXNzTmFtZT1cImFuaW1hdGlvbi1jb250cm9sX19zbGlkZXJcIj5cbiAgICAgICAgICAgIDxTbGlkZXJcbiAgICAgICAgICAgICAgaXNSYW5nZWQ9e2ZhbHNlfVxuICAgICAgICAgICAgICBzdGVwPXtzdGVwfVxuICAgICAgICAgICAgICBtaW5WYWx1ZT17ZG9tYWluID8gZG9tYWluWzBdIDogMH1cbiAgICAgICAgICAgICAgbWF4VmFsdWU9e2RvbWFpbiA/IGRvbWFpblsxXSA6IDF9XG4gICAgICAgICAgICAgIHZhbHVlMT17Y3VycmVudFRpbWV9XG4gICAgICAgICAgICAgIG9uU2xpZGVyMUNoYW5nZT17b25TbGlkZXIxQ2hhbmdlfVxuICAgICAgICAgICAgICBlbmFibGVCYXJEcmFnPXt0cnVlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L1NsaWRlcldyYXBwZXI+XG4gICAgICAgICAgPFN0eWxlZERvbWFpbiBjbGFzc05hbWU9XCJkb21haW4tZW5kXCI+XG4gICAgICAgICAgICA8c3Bhbj57dGltZUVuZH08L3NwYW4+XG4gICAgICAgICAgPC9TdHlsZWREb21haW4+XG4gICAgICAgIDwvQW5pbWF0aW9uV2lkZ2V0SW5uZXI+XG4gICAgICAgIDxGbG9hdGluZ1RpbWVEaXNwbGF5XG4gICAgICAgICAgY3VycmVudFRpbWU9e2N1cnJlbnRUaW1lfVxuICAgICAgICAgIGRlZmF1bHRUaW1lRm9ybWF0PXtkZWZhdWx0VGltZUZvcm1hdH1cbiAgICAgICAgICB0aW1lRm9ybWF0PXt0aW1lRm9ybWF0fVxuICAgICAgICAgIHRpbWV6b25lPXt0aW1lem9uZX1cbiAgICAgICAgLz5cbiAgICAgIDwvQm90dG9tV2lkZ2V0SW5uZXI+XG4gICAgKTtcbiAgfTtcblxuICBBbmltYXRpb25Db250cm9sLmRlZmF1bHRQcm9wcyA9IHtcbiAgICB0b2dnbGVBbmltYXRpb246ICgpID0+IHt9LFxuICAgIHVwZGF0ZUFuaW1hdGlvblNwZWVkOiAoKSA9PiB7fSxcbiAgICBhbmltYXRpb25Db250cm9sUHJvcHM6IHt9LFxuICAgIGFuaW1hdGlvbkNvbmZpZzoge31cbiAgfTtcblxuICByZXR1cm4gQW5pbWF0aW9uQ29udHJvbDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgQW5pbWF0aW9uQ29udHJvbEZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQW9CQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBRUEsSUFBQUksT0FBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssa0JBQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLGlCQUFBLEdBQUFKLHNCQUFBLENBQUFGLE9BQUE7QUFD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
@@ -1,16 +1,16 @@
1
- import { Component } from 'react';
2
- interface AnimationControllerProps<T extends number | number[]> {
3
- children: Function;
4
- isAnimating?: boolean;
5
- speed?: number;
6
- updateAnimation: (x: T) => void;
7
- animationWindow?: string;
8
- steps?: number[] | null;
9
- domain: number[] | null;
10
- value: T;
11
- baseSpeed?: number;
12
- }
13
- declare class AnimationControllerType<T extends number | number[]> extends Component<AnimationControllerProps<T>> {
14
- }
15
- declare function AnimationControllerFactory(): typeof AnimationControllerType;
16
- export default AnimationControllerFactory;
1
+ import { Component } from 'react';
2
+ interface AnimationControllerProps<T extends number | number[]> {
3
+ children: Function;
4
+ isAnimating?: boolean;
5
+ speed?: number;
6
+ updateAnimation: (x: T) => void;
7
+ animationWindow?: string;
8
+ steps?: number[] | null;
9
+ domain: number[] | null;
10
+ value: T;
11
+ baseSpeed?: number;
12
+ }
13
+ declare class AnimationControllerType<T extends number | number[]> extends Component<AnimationControllerProps<T>> {
14
+ }
15
+ declare function AnimationControllerFactory(): typeof AnimationControllerType;
16
+ export default AnimationControllerFactory;
@@ -0,0 +1,270 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
+ var _react = require("react");
15
+ var _d3Array = require("d3-array");
16
+ var _window = require("global/window");
17
+ var _console = _interopRequireDefault(require("global/console"));
18
+ var _defaultSettings = require("../../../constants/default-settings");
19
+ 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)); }
20
+ 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.
21
+ //
22
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
23
+ // of this software and associated documentation files (the "Software"), to deal
24
+ // in the Software without restriction, including without limitation the rights
25
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
26
+ // copies of the Software, and to permit persons to whom the Software is
27
+ // furnished to do so, subject to the following conditions:
28
+ //
29
+ // The above copyright notice and this permission notice shall be included in
30
+ // all copies or substantial portions of the Software.
31
+ //
32
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
33
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
34
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
35
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
36
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
37
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
38
+ // THE SOFTWARE.
39
+ var AnimationControllerType = /*#__PURE__*/function (_Component) {
40
+ function AnimationControllerType() {
41
+ (0, _classCallCheck2["default"])(this, AnimationControllerType);
42
+ return _callSuper(this, AnimationControllerType, arguments);
43
+ }
44
+ (0, _inherits2["default"])(AnimationControllerType, _Component);
45
+ return (0, _createClass2["default"])(AnimationControllerType);
46
+ }(_react.Component);
47
+ function AnimationControllerFactory() {
48
+ /**
49
+ * 4 Animation Window Types
50
+ * 1. free
51
+ * |-> |->
52
+ * Current time is a fixed range, animate a moving window that calls next animation frames continuously
53
+ * The increment id based on domain / BASE_SPEED * SPEED
54
+ *
55
+ * 2. incremental
56
+ * | |->
57
+ * Same as free, current time is a growing range, only the max value of range increment during animation.
58
+ * The increment is also based on domain / BASE_SPEED * SPEED
59
+ *
60
+ * 3. point
61
+ * o -> o
62
+ * Current time is a point, animate a moving point calls next animation frame continuously
63
+ * The increment is based on domain / BASE_SPEED * SPEED
64
+ *
65
+ * 4. interval
66
+ * o ~> o
67
+ * Current time is a point. An array of sorted time steps are provided,
68
+ * animate a moving point jumps to the next step
69
+ */
70
+ var AnimationController = /*#__PURE__*/function (_Component2) {
71
+ function AnimationController() {
72
+ var _this;
73
+ (0, _classCallCheck2["default"])(this, AnimationController);
74
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
75
+ args[_key] = arguments[_key];
76
+ }
77
+ _this = _callSuper(this, AnimationController, [].concat(args));
78
+ (0, _defineProperty2["default"])(_this, "state", {
79
+ isAnimating: false
80
+ });
81
+ (0, _defineProperty2["default"])(_this, "_timer", null);
82
+ (0, _defineProperty2["default"])(_this, "_startTime", 0);
83
+ (0, _defineProperty2["default"])(_this, "_animate", function (delay) {
84
+ _this._startTime = new Date().getTime();
85
+ var _loop = function loop() {
86
+ var current = new Date().getTime();
87
+ var delta = current - _this._startTime;
88
+ if (delta >= delay) {
89
+ _this._nextFrame();
90
+ _this._startTime = new Date().getTime();
91
+ } else {
92
+ _this._timer = (0, _window.requestAnimationFrame)(_loop);
93
+ }
94
+ };
95
+ _this._timer = (0, _window.requestAnimationFrame)(_loop);
96
+ });
97
+ (0, _defineProperty2["default"])(_this, "_resetAnimationByDomain", function () {
98
+ var _this$props = _this.props,
99
+ domain = _this$props.domain,
100
+ value = _this$props.value,
101
+ animationWindow = _this$props.animationWindow;
102
+ if (!domain) {
103
+ return;
104
+ }
105
+ if (Array.isArray(value)) {
106
+ if (animationWindow === _defaultSettings.ANIMATION_WINDOW.incremental) {
107
+ _this.props.updateAnimation([value[0], value[0] + 1]);
108
+ } else {
109
+ _this.props.updateAnimation([domain[0], domain[0] + value[1] - value[0]]);
110
+ }
111
+ } else {
112
+ _this.props.updateAnimation(domain[0]);
113
+ }
114
+ });
115
+ (0, _defineProperty2["default"])(_this, "_resetAnimtionByTimeStep", function () {
116
+ var _this$props$steps = _this.props.steps,
117
+ steps = _this$props$steps === void 0 ? null : _this$props$steps;
118
+ if (!steps) return;
119
+ // go to the first steps
120
+ _this.props.updateAnimation([steps[0], 0]);
121
+ });
122
+ (0, _defineProperty2["default"])(_this, "_resetAnimation", function () {
123
+ if (_this.props.animationWindow === _defaultSettings.ANIMATION_WINDOW.interval) {
124
+ _this._resetAnimtionByTimeStep();
125
+ } else {
126
+ _this._resetAnimationByDomain();
127
+ }
128
+ });
129
+ (0, _defineProperty2["default"])(_this, "_startAnimation", function () {
130
+ var _this$props$speed = _this.props.speed,
131
+ speed = _this$props$speed === void 0 ? 1 : _this$props$speed;
132
+ _this._clearTimer();
133
+ if (speed > 0) {
134
+ if (_this.props.animationWindow === _defaultSettings.ANIMATION_WINDOW.interval) {
135
+ // animate by interval
136
+ // 30*600
137
+ var steps = _this.props.steps;
138
+ if (!Array.isArray(steps) || !steps.length) {
139
+ _console["default"].warn('animation steps should be an array');
140
+ return;
141
+ }
142
+ // when speed = 1, animation should loop through 600 frames at 60 FPS
143
+ // calculate delay based on # steps
144
+ var delay = _defaultSettings.BASE_SPEED * (1000 / _defaultSettings.FPS) / steps.length / (speed || 1);
145
+ _this._animate(delay);
146
+ } else {
147
+ _this._timer = (0, _window.requestAnimationFrame)(_this._nextFrame);
148
+ }
149
+ }
150
+ _this.setState({
151
+ isAnimating: true
152
+ });
153
+ });
154
+ (0, _defineProperty2["default"])(_this, "_clearTimer", function () {
155
+ if (_this._timer) {
156
+ (0, _window.cancelAnimationFrame)(_this._timer);
157
+ _this._timer = null;
158
+ }
159
+ });
160
+ (0, _defineProperty2["default"])(_this, "_pauseAnimation", function () {
161
+ _this._clearTimer();
162
+ _this.setState({
163
+ isAnimating: false
164
+ });
165
+ });
166
+ (0, _defineProperty2["default"])(_this, "_nextFrame", function () {
167
+ _this._timer = null;
168
+ var nextValue = _this.props.animationWindow === _defaultSettings.ANIMATION_WINDOW.interval ? _this._nextFrameByTimeStep() : _this._nextFrameByDomain();
169
+ _this.props.updateAnimation(nextValue);
170
+ });
171
+ return _this;
172
+ }
173
+ (0, _inherits2["default"])(AnimationController, _Component2);
174
+ return (0, _createClass2["default"])(AnimationController, [{
175
+ key: "componentDidMount",
176
+ value: function componentDidMount() {
177
+ this._startOrPauseAnimation();
178
+ }
179
+ }, {
180
+ key: "componentDidUpdate",
181
+ value: function componentDidUpdate() {
182
+ this._startOrPauseAnimation();
183
+ }
184
+ }, {
185
+ key: "componentWillUnmount",
186
+ value: function componentWillUnmount() {
187
+ if (this._timer) {
188
+ (0, _window.cancelAnimationFrame)(this._timer);
189
+ }
190
+ }
191
+ }, {
192
+ key: "_startOrPauseAnimation",
193
+ value: function _startOrPauseAnimation() {
194
+ var _this$props2 = this.props,
195
+ isAnimating = _this$props2.isAnimating,
196
+ _this$props2$speed = _this$props2.speed,
197
+ speed = _this$props2$speed === void 0 ? 1 : _this$props2$speed;
198
+ if (!this._timer && isAnimating && speed > 0) {
199
+ this._startAnimation();
200
+ } else if (this._timer && !isAnimating) {
201
+ this._pauseAnimation();
202
+ }
203
+ }
204
+ }, {
205
+ key: "_nextFrameByDomain",
206
+ value: function _nextFrameByDomain() {
207
+ var _this$props3 = this.props,
208
+ domain = _this$props3.domain,
209
+ value = _this$props3.value,
210
+ _this$props3$speed = _this$props3.speed,
211
+ speed = _this$props3$speed === void 0 ? 1 : _this$props3$speed,
212
+ _this$props3$baseSpee = _this$props3.baseSpeed,
213
+ baseSpeed = _this$props3$baseSpee === void 0 ? 600 : _this$props3$baseSpee,
214
+ animationWindow = _this$props3.animationWindow;
215
+ if (!domain) {
216
+ return;
217
+ }
218
+ var delta = (domain[1] - domain[0]) / baseSpeed * speed;
219
+
220
+ // loop when reaches the end
221
+ // current time is a range
222
+ if (Array.isArray(value)) {
223
+ var value0;
224
+ var value1;
225
+ var readEnd = value[1] + delta > domain[1];
226
+ if (animationWindow === _defaultSettings.ANIMATION_WINDOW.incremental) {
227
+ value0 = value[0];
228
+ value1 = readEnd ? value[0] + 1 : value[1] + delta;
229
+ } else {
230
+ value0 = readEnd ? domain[0] : value[0] + delta;
231
+ value1 = value0 + value[1] - value[0];
232
+ }
233
+ return [value0, value1];
234
+ }
235
+
236
+ // current time is a point
237
+ return Number(value) + delta > domain[1] ? domain[0] : Number(value) + delta;
238
+ }
239
+ }, {
240
+ key: "_nextFrameByTimeStep",
241
+ value: function _nextFrameByTimeStep() {
242
+ var _this$props4 = this.props,
243
+ _this$props4$steps = _this$props4.steps,
244
+ steps = _this$props4$steps === void 0 ? null : _this$props4$steps,
245
+ value = _this$props4.value;
246
+ if (!steps) return;
247
+ var val = Array.isArray(value) ? value[0] : Number(value);
248
+ var index = (0, _d3Array.bisectLeft)(steps, val);
249
+ var nextIdx = index >= steps.length - 1 ? 0 : index + 1;
250
+ return [steps[nextIdx], nextIdx];
251
+ }
252
+ }, {
253
+ key: "render",
254
+ value: function render() {
255
+ var isAnimating = this.state.isAnimating;
256
+ var children = this.props.children;
257
+ return typeof children === 'function' ? children(isAnimating, this._startAnimation, this._pauseAnimation, this._resetAnimation) : null;
258
+ }
259
+ }]);
260
+ }(_react.Component);
261
+ (0, _defineProperty2["default"])(AnimationController, "defaultProps", {
262
+ baseSpeed: _defaultSettings.BASE_SPEED,
263
+ speed: 1,
264
+ steps: null,
265
+ animationWindow: _defaultSettings.ANIMATION_WINDOW.free
266
+ });
267
+ return AnimationController;
268
+ }
269
+ var _default = exports["default"] = AnimationControllerFactory;
270
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX2QzQXJyYXkiLCJfd2luZG93IiwiX2NvbnNvbGUiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2RlZmF1bHRTZXR0aW5ncyIsIl9jYWxsU3VwZXIiLCJ0IiwibyIsImUiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsImFwcGx5IiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJjYWxsIiwiQW5pbWF0aW9uQ29udHJvbGxlclR5cGUiLCJfQ29tcG9uZW50IiwiX2NsYXNzQ2FsbENoZWNrMiIsImFyZ3VtZW50cyIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwiQ29tcG9uZW50IiwiQW5pbWF0aW9uQ29udHJvbGxlckZhY3RvcnkiLCJBbmltYXRpb25Db250cm9sbGVyIiwiX0NvbXBvbmVudDIiLCJfdGhpcyIsIl9sZW4iLCJsZW5ndGgiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY29uY2F0IiwiX2RlZmluZVByb3BlcnR5MiIsImlzQW5pbWF0aW5nIiwiZGVsYXkiLCJfc3RhcnRUaW1lIiwiRGF0ZSIsImdldFRpbWUiLCJsb29wIiwiY3VycmVudCIsImRlbHRhIiwiX25leHRGcmFtZSIsIl90aW1lciIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsIl90aGlzJHByb3BzIiwicHJvcHMiLCJkb21haW4iLCJ2YWx1ZSIsImFuaW1hdGlvbldpbmRvdyIsImlzQXJyYXkiLCJBTklNQVRJT05fV0lORE9XIiwiaW5jcmVtZW50YWwiLCJ1cGRhdGVBbmltYXRpb24iLCJfdGhpcyRwcm9wcyRzdGVwcyIsInN0ZXBzIiwiaW50ZXJ2YWwiLCJfcmVzZXRBbmltdGlvbkJ5VGltZVN0ZXAiLCJfcmVzZXRBbmltYXRpb25CeURvbWFpbiIsIl90aGlzJHByb3BzJHNwZWVkIiwic3BlZWQiLCJfY2xlYXJUaW1lciIsIkNvbnNvbGUiLCJ3YXJuIiwiQkFTRV9TUEVFRCIsIkZQUyIsIl9hbmltYXRlIiwic2V0U3RhdGUiLCJjYW5jZWxBbmltYXRpb25GcmFtZSIsIm5leHRWYWx1ZSIsIl9uZXh0RnJhbWVCeVRpbWVTdGVwIiwiX25leHRGcmFtZUJ5RG9tYWluIiwia2V5IiwiY29tcG9uZW50RGlkTW91bnQiLCJfc3RhcnRPclBhdXNlQW5pbWF0aW9uIiwiY29tcG9uZW50RGlkVXBkYXRlIiwiY29tcG9uZW50V2lsbFVubW91bnQiLCJfdGhpcyRwcm9wczIiLCJfdGhpcyRwcm9wczIkc3BlZWQiLCJfc3RhcnRBbmltYXRpb24iLCJfcGF1c2VBbmltYXRpb24iLCJfdGhpcyRwcm9wczMiLCJfdGhpcyRwcm9wczMkc3BlZWQiLCJfdGhpcyRwcm9wczMkYmFzZVNwZWUiLCJiYXNlU3BlZWQiLCJ2YWx1ZTAiLCJ2YWx1ZTEiLCJyZWFkRW5kIiwiTnVtYmVyIiwiX3RoaXMkcHJvcHM0IiwiX3RoaXMkcHJvcHM0JHN0ZXBzIiwidmFsIiwiaW5kZXgiLCJiaXNlY3RMZWZ0IiwibmV4dElkeCIsInJlbmRlciIsInN0YXRlIiwiY2hpbGRyZW4iLCJfcmVzZXRBbmltYXRpb24iLCJmcmVlIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvY29tbW9uL2FuaW1hdGlvbi1jb250cm9sL2FuaW1hdGlvbi1jb250cm9sbGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge2Jpc2VjdExlZnR9IGZyb20gJ2QzLWFycmF5JztcbmltcG9ydCB7cmVxdWVzdEFuaW1hdGlvbkZyYW1lLCBjYW5jZWxBbmltYXRpb25GcmFtZX0gZnJvbSAnZ2xvYmFsL3dpbmRvdyc7XG5pbXBvcnQgQ29uc29sZSBmcm9tICdnbG9iYWwvY29uc29sZSc7XG5pbXBvcnQge0JBU0VfU1BFRUQsIEZQUywgQU5JTUFUSU9OX1dJTkRPV30gZnJvbSAnY29uc3RhbnRzL2RlZmF1bHQtc2V0dGluZ3MnO1xuXG5pbnRlcmZhY2UgQW5pbWF0aW9uQ29udHJvbGxlclByb3BzPFQgZXh0ZW5kcyBudW1iZXIgfCBudW1iZXJbXT4ge1xuICBjaGlsZHJlbjogRnVuY3Rpb247XG4gIGlzQW5pbWF0aW5nPzogYm9vbGVhbjtcbiAgc3BlZWQ/OiBudW1iZXI7XG4gIHVwZGF0ZUFuaW1hdGlvbjogKHg6IFQpID0+IHZvaWQ7XG4gIGFuaW1hdGlvbldpbmRvdz86IHN0cmluZztcbiAgc3RlcHM/OiBudW1iZXJbXSB8IG51bGw7XG4gIGRvbWFpbjogbnVtYmVyW10gfCBudWxsO1xuICB2YWx1ZTogVDtcbiAgYmFzZVNwZWVkPzogbnVtYmVyO1xufVxuXG5jbGFzcyBBbmltYXRpb25Db250cm9sbGVyVHlwZTxUIGV4dGVuZHMgbnVtYmVyIHwgbnVtYmVyW10+IGV4dGVuZHMgQ29tcG9uZW50PFxuICBBbmltYXRpb25Db250cm9sbGVyUHJvcHM8VD5cbj4ge31cblxuZnVuY3Rpb24gQW5pbWF0aW9uQ29udHJvbGxlckZhY3RvcnkoKTogdHlwZW9mIEFuaW1hdGlvbkNvbnRyb2xsZXJUeXBlIHtcbiAgLyoqXG4gICAqIDQgQW5pbWF0aW9uIFdpbmRvdyBUeXBlc1xuICAgKiAxLiBmcmVlXG4gICAqICB8LT4gIHwtPlxuICAgKiBDdXJyZW50IHRpbWUgaXMgYSBmaXhlZCByYW5nZSwgYW5pbWF0ZSBhIG1vdmluZyB3aW5kb3cgdGhhdCBjYWxscyBuZXh0IGFuaW1hdGlvbiBmcmFtZXMgY29udGludW91c2x5XG4gICAqIFRoZSBpbmNyZW1lbnQgaWQgYmFzZWQgb24gZG9tYWluIC8gQkFTRV9TUEVFRCAqIFNQRUVEXG4gICAqXG4gICAqIDIuIGluY3JlbWVudGFsXG4gICAqIHwgICAgfC0+XG4gICAqIFNhbWUgYXMgZnJlZSwgY3VycmVudCB0aW1lIGlzIGEgZ3Jvd2luZyByYW5nZSwgb25seSB0aGUgbWF4IHZhbHVlIG9mIHJhbmdlIGluY3JlbWVudCBkdXJpbmcgYW5pbWF0aW9uLlxuICAgKiBUaGUgaW5jcmVtZW50IGlzIGFsc28gYmFzZWQgb24gZG9tYWluIC8gQkFTRV9TUEVFRCAqIFNQRUVEXG4gICAqXG4gICAqIDMuIHBvaW50XG4gICAqIG8gLT4gb1xuICAgKiBDdXJyZW50IHRpbWUgaXMgYSBwb2ludCwgYW5pbWF0ZSBhIG1vdmluZyBwb2ludCBjYWxscyBuZXh0IGFuaW1hdGlvbiBmcmFtZSBjb250aW51b3VzbHlcbiAgICogVGhlIGluY3JlbWVudCBpcyBiYXNlZCBvbiBkb21haW4gLyBCQVNFX1NQRUVEICogU1BFRURcbiAgICpcbiAgICogNC4gaW50ZXJ2YWxcbiAgICogbyB+PiBvXG4gICAqIEN1cnJlbnQgdGltZSBpcyBhIHBvaW50LiBBbiBhcnJheSBvZiBzb3J0ZWQgdGltZSBzdGVwcyBhcmUgcHJvdmlkZWQsXG4gICAqIGFuaW1hdGUgYSBtb3ZpbmcgcG9pbnQganVtcHMgdG8gdGhlIG5leHQgc3RlcFxuICAgKi9cbiAgY2xhc3MgQW5pbWF0aW9uQ29udHJvbGxlcjxUIGV4dGVuZHMgbnVtYmVyIHwgbnVtYmVyW10+IGV4dGVuZHMgQ29tcG9uZW50PFxuICAgIEFuaW1hdGlvbkNvbnRyb2xsZXJQcm9wczxUPlxuICA+IHtcbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgYmFzZVNwZWVkOiBCQVNFX1NQRUVELFxuICAgICAgc3BlZWQ6IDEsXG4gICAgICBzdGVwczogbnVsbCxcbiAgICAgIGFuaW1hdGlvbldpbmRvdzogQU5JTUFUSU9OX1dJTkRPVy5mcmVlXG4gICAgfTtcblxuICAgIHN0YXRlID0ge1xuICAgICAgaXNBbmltYXRpbmc6IGZhbHNlXG4gICAgfTtcblxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgdGhpcy5fc3RhcnRPclBhdXNlQW5pbWF0aW9uKCk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xuICAgICAgdGhpcy5fc3RhcnRPclBhdXNlQW5pbWF0aW9uKCk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICBpZiAodGhpcy5fdGltZXIpIHtcbiAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fdGltZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIF90aW1lciA9IG51bGw7XG4gICAgX3N0YXJ0VGltZTogbnVtYmVyID0gMDtcblxuICAgIF9zdGFydE9yUGF1c2VBbmltYXRpb24oKSB7XG4gICAgICBjb25zdCB7aXNBbmltYXRpbmcsIHNwZWVkID0gMX0gPSB0aGlzLnByb3BzO1xuICAgICAgaWYgKCF0aGlzLl90aW1lciAmJiBpc0FuaW1hdGluZyAmJiBzcGVlZCA+IDApIHtcbiAgICAgICAgdGhpcy5fc3RhcnRBbmltYXRpb24oKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5fdGltZXIgJiYgIWlzQW5pbWF0aW5nKSB7XG4gICAgICAgIHRoaXMuX3BhdXNlQW5pbWF0aW9uKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgX2FuaW1hdGUgPSBkZWxheSA9PiB7XG4gICAgICB0aGlzLl9zdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcblxuICAgICAgY29uc3QgbG9vcCA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgICAgICBjb25zdCBkZWx0YSA9IGN1cnJlbnQgLSB0aGlzLl9zdGFydFRpbWU7XG5cbiAgICAgICAgaWYgKGRlbHRhID49IGRlbGF5KSB7XG4gICAgICAgICAgdGhpcy5fbmV4dEZyYW1lKCk7XG4gICAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fdGltZXIgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUobG9vcCk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHRoaXMuX3RpbWVyID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGxvb3ApO1xuICAgIH07XG5cbiAgICBfcmVzZXRBbmltYXRpb25CeURvbWFpbiA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHtkb21haW4sIHZhbHVlLCBhbmltYXRpb25XaW5kb3d9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICghZG9tYWluKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICBpZiAoYW5pbWF0aW9uV2luZG93ID09PSBBTklNQVRJT05fV0lORE9XLmluY3JlbWVudGFsKSB7XG4gICAgICAgICAgdGhpcy5wcm9wcy51cGRhdGVBbmltYXRpb24oW3ZhbHVlWzBdLCB2YWx1ZVswXSArIDFdIGFzIFQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucHJvcHMudXBkYXRlQW5pbWF0aW9uKFtkb21haW5bMF0sIGRvbWFpblswXSArIHZhbHVlWzFdIC0gdmFsdWVbMF1dIGFzIFQpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnByb3BzLnVwZGF0ZUFuaW1hdGlvbihkb21haW5bMF0gYXMgVCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9yZXNldEFuaW10aW9uQnlUaW1lU3RlcCA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHtzdGVwcyA9IG51bGx9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICghc3RlcHMpIHJldHVybjtcbiAgICAgIC8vIGdvIHRvIHRoZSBmaXJzdCBzdGVwc1xuICAgICAgdGhpcy5wcm9wcy51cGRhdGVBbmltYXRpb24oW3N0ZXBzWzBdLCAwXSBhcyBUKTtcbiAgICB9O1xuXG4gICAgX3Jlc2V0QW5pbWF0aW9uID0gKCkgPT4ge1xuICAgICAgaWYgKHRoaXMucHJvcHMuYW5pbWF0aW9uV2luZG93ID09PSBBTklNQVRJT05fV0lORE9XLmludGVydmFsKSB7XG4gICAgICAgIHRoaXMuX3Jlc2V0QW5pbXRpb25CeVRpbWVTdGVwKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9yZXNldEFuaW1hdGlvbkJ5RG9tYWluKCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9zdGFydEFuaW1hdGlvbiA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHtzcGVlZCA9IDF9ID0gdGhpcy5wcm9wcztcbiAgICAgIHRoaXMuX2NsZWFyVGltZXIoKTtcbiAgICAgIGlmIChzcGVlZCA+IDApIHtcbiAgICAgICAgaWYgKHRoaXMucHJvcHMuYW5pbWF0aW9uV2luZG93ID09PSBBTklNQVRJT05fV0lORE9XLmludGVydmFsKSB7XG4gICAgICAgICAgLy8gYW5pbWF0ZSBieSBpbnRlcnZhbFxuICAgICAgICAgIC8vIDMwKjYwMFxuICAgICAgICAgIGNvbnN0IHtzdGVwc30gPSB0aGlzLnByb3BzO1xuICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShzdGVwcykgfHwgIXN0ZXBzLmxlbmd0aCkge1xuICAgICAgICAgICAgQ29uc29sZS53YXJuKCdhbmltYXRpb24gc3RlcHMgc2hvdWxkIGJlIGFuIGFycmF5Jyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIHdoZW4gc3BlZWQgPSAxLCBhbmltYXRpb24gc2hvdWxkIGxvb3AgdGhyb3VnaCA2MDAgZnJhbWVzIGF0IDYwIEZQU1xuICAgICAgICAgIC8vIGNhbGN1bGF0ZSBkZWxheSBiYXNlZCBvbiAjIHN0ZXBzXG4gICAgICAgICAgY29uc3QgZGVsYXkgPSAoQkFTRV9TUEVFRCAqICgxMDAwIC8gRlBTKSkgLyBzdGVwcy5sZW5ndGggLyAoc3BlZWQgfHwgMSk7XG4gICAgICAgICAgdGhpcy5fYW5pbWF0ZShkZWxheSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fdGltZXIgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5fbmV4dEZyYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5zZXRTdGF0ZSh7aXNBbmltYXRpbmc6IHRydWV9KTtcbiAgICB9O1xuXG4gICAgX2NsZWFyVGltZXIgPSAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5fdGltZXIpIHtcbiAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fdGltZXIpO1xuICAgICAgICB0aGlzLl90aW1lciA9IG51bGw7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9wYXVzZUFuaW1hdGlvbiA9ICgpID0+IHtcbiAgICAgIHRoaXMuX2NsZWFyVGltZXIoKTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe2lzQW5pbWF0aW5nOiBmYWxzZX0pO1xuICAgIH07XG5cbiAgICBfbmV4dEZyYW1lID0gKCkgPT4ge1xuICAgICAgdGhpcy5fdGltZXIgPSBudWxsO1xuICAgICAgY29uc3QgbmV4dFZhbHVlID1cbiAgICAgICAgdGhpcy5wcm9wcy5hbmltYXRpb25XaW5kb3cgPT09IEFOSU1BVElPTl9XSU5ET1cuaW50ZXJ2YWxcbiAgICAgICAgICA/IHRoaXMuX25leHRGcmFtZUJ5VGltZVN0ZXAoKVxuICAgICAgICAgIDogdGhpcy5fbmV4dEZyYW1lQnlEb21haW4oKTtcblxuICAgICAgdGhpcy5wcm9wcy51cGRhdGVBbmltYXRpb24obmV4dFZhbHVlIGFzIFQpO1xuICAgIH07XG5cbiAgICBfbmV4dEZyYW1lQnlEb21haW4oKSB7XG4gICAgICBjb25zdCB7ZG9tYWluLCB2YWx1ZSwgc3BlZWQgPSAxLCBiYXNlU3BlZWQgPSA2MDAsIGFuaW1hdGlvbldpbmRvd30gPSB0aGlzLnByb3BzO1xuICAgICAgaWYgKCFkb21haW4pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgZGVsdGEgPSAoKGRvbWFpblsxXSAtIGRvbWFpblswXSkgLyBiYXNlU3BlZWQpICogc3BlZWQ7XG5cbiAgICAgIC8vIGxvb3Agd2hlbiByZWFjaGVzIHRoZSBlbmRcbiAgICAgIC8vIGN1cnJlbnQgdGltZSBpcyBhIHJhbmdlXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgbGV0IHZhbHVlMDogbnVtYmVyO1xuICAgICAgICBsZXQgdmFsdWUxOiBudW1iZXI7XG4gICAgICAgIGNvbnN0IHJlYWRFbmQgPSB2YWx1ZVsxXSArIGRlbHRhID4gZG9tYWluWzFdO1xuICAgICAgICBpZiAoYW5pbWF0aW9uV2luZG93ID09PSBBTklNQVRJT05fV0lORE9XLmluY3JlbWVudGFsKSB7XG4gICAgICAgICAgdmFsdWUwID0gdmFsdWVbMF07XG4gICAgICAgICAgdmFsdWUxID0gcmVhZEVuZCA/IHZhbHVlWzBdICsgMSA6IHZhbHVlWzFdICsgZGVsdGE7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFsdWUwID0gcmVhZEVuZCA/IGRvbWFpblswXSA6IHZhbHVlWzBdICsgZGVsdGE7XG4gICAgICAgICAgdmFsdWUxID0gdmFsdWUwICsgdmFsdWVbMV0gLSB2YWx1ZVswXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW3ZhbHVlMCwgdmFsdWUxXTtcbiAgICAgIH1cblxuICAgICAgLy8gY3VycmVudCB0aW1lIGlzIGEgcG9pbnRcbiAgICAgIHJldHVybiBOdW1iZXIodmFsdWUpICsgZGVsdGEgPiBkb21haW5bMV0gPyBkb21haW5bMF0gOiBOdW1iZXIodmFsdWUpICsgZGVsdGE7XG4gICAgfVxuXG4gICAgX25leHRGcmFtZUJ5VGltZVN0ZXAoKSB7XG4gICAgICBjb25zdCB7c3RlcHMgPSBudWxsLCB2YWx1ZX0gPSB0aGlzLnByb3BzO1xuICAgICAgaWYgKCFzdGVwcykgcmV0dXJuO1xuICAgICAgY29uc3QgdmFsID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZVswXSA6IE51bWJlcih2YWx1ZSk7XG4gICAgICBjb25zdCBpbmRleCA9IGJpc2VjdExlZnQoc3RlcHMsIHZhbCk7XG4gICAgICBjb25zdCBuZXh0SWR4ID0gaW5kZXggPj0gc3RlcHMubGVuZ3RoIC0gMSA/IDAgOiBpbmRleCArIDE7XG5cbiAgICAgIHJldHVybiBbc3RlcHNbbmV4dElkeF0sIG5leHRJZHhdO1xuICAgIH1cblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHtpc0FuaW1hdGluZ30gPSB0aGlzLnN0YXRlO1xuICAgICAgY29uc3Qge2NoaWxkcmVufSA9IHRoaXMucHJvcHM7XG5cbiAgICAgIHJldHVybiB0eXBlb2YgY2hpbGRyZW4gPT09ICdmdW5jdGlvbidcbiAgICAgICAgPyBjaGlsZHJlbihpc0FuaW1hdGluZywgdGhpcy5fc3RhcnRBbmltYXRpb24sIHRoaXMuX3BhdXNlQW5pbWF0aW9uLCB0aGlzLl9yZXNldEFuaW1hdGlvbilcbiAgICAgICAgOiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBBbmltYXRpb25Db250cm9sbGVyO1xufVxuXG5leHBvcnQgZGVmYXVsdCBBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQW9CQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxRQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxRQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxnQkFBQSxHQUFBTCxPQUFBO0FBQTZFLFNBQUFNLFdBQUFDLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLFdBQUFELENBQUEsT0FBQUUsZ0JBQUEsYUFBQUYsQ0FBQSxPQUFB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
@@ -1,12 +1,12 @@
1
- import { ComponentType } from 'react';
2
- import RangeSliderFactory from 'components/common/range-slider';
3
- interface AnimationSpeedSliderProps {
4
- onHide: () => void;
5
- speed: number;
6
- updateAnimationSpeed: (val: number) => void;
7
- }
8
- declare function AnimationSpeedSliderFactory(RangeSlider: ReturnType<typeof RangeSliderFactory>): ComponentType<AnimationSpeedSliderProps>;
9
- declare namespace AnimationSpeedSliderFactory {
10
- var deps: (typeof RangeSliderFactory)[];
11
- }
12
- export default AnimationSpeedSliderFactory;
1
+ import { ComponentType } from 'react';
2
+ import RangeSliderFactory from 'components/common/range-slider';
3
+ interface AnimationSpeedSliderProps {
4
+ onHide: () => void;
5
+ speed: number;
6
+ updateAnimationSpeed: (val: number) => void;
7
+ }
8
+ declare function AnimationSpeedSliderFactory(RangeSlider: ReturnType<typeof RangeSliderFactory>): ComponentType<AnimationSpeedSliderProps>;
9
+ declare namespace AnimationSpeedSliderFactory {
10
+ var deps: (typeof RangeSliderFactory)[];
11
+ }
12
+ export default AnimationSpeedSliderFactory;