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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (631) hide show
  1. package/dist/bottom-widget.d.ts +11 -38
  2. package/dist/bottom-widget.js +42 -118
  3. package/dist/common/action-panel.d.ts +2 -2
  4. package/dist/common/action-panel.js +3 -23
  5. package/dist/common/animation-control/animation-control.d.ts +19 -18
  6. package/dist/common/animation-control/animation-control.js +58 -100
  7. package/dist/common/animation-control/animation-controller.d.ts +6 -2
  8. package/dist/common/animation-control/animation-controller.js +49 -55
  9. package/dist/common/animation-control/animation-speed-slider.js +1 -21
  10. package/dist/common/animation-control/animation-window-control.js +3 -21
  11. package/dist/common/animation-control/floating-time-display.d.ts +2 -2
  12. package/dist/common/animation-control/floating-time-display.js +1 -21
  13. package/dist/common/animation-control/play-control.d.ts +2 -2
  14. package/dist/common/animation-control/play-control.js +3 -21
  15. package/dist/common/animation-control/playback-controls.d.ts +7 -7
  16. package/dist/common/animation-control/playback-controls.js +5 -25
  17. package/dist/common/animation-control/reset-control.d.ts +2 -2
  18. package/dist/common/animation-control/reset-control.js +3 -21
  19. package/dist/common/animation-control/speed-control.d.ts +2 -2
  20. package/dist/common/animation-control/speed-control.js +1 -21
  21. package/dist/common/animation-control/window-action-control.d.ts +2 -2
  22. package/dist/common/animation-control/window-action-control.js +3 -21
  23. package/dist/common/checkbox.d.ts +2 -2
  24. package/dist/common/checkbox.js +2 -22
  25. package/dist/common/color-legend.d.ts +3 -3
  26. package/dist/common/color-legend.js +10 -36
  27. package/dist/common/data-table/button.d.ts +1 -1
  28. package/dist/common/data-table/button.js +1 -21
  29. package/dist/common/data-table/canvas.js +1 -21
  30. package/dist/common/data-table/cell-size.js +43 -32
  31. package/dist/common/data-table/display-format.d.ts +25 -0
  32. package/dist/common/data-table/display-format.js +149 -0
  33. package/dist/common/data-table/grid.d.ts +5 -2
  34. package/dist/common/data-table/grid.js +44 -24
  35. package/dist/common/data-table/header-cell.d.ts +4 -1
  36. package/dist/common/data-table/header-cell.js +65 -48
  37. package/dist/common/data-table/index.d.ts +27 -34
  38. package/dist/common/data-table/index.js +147 -81
  39. package/dist/common/data-table/option-dropdown.d.ts +17 -3
  40. package/dist/common/data-table/option-dropdown.js +85 -32
  41. package/dist/common/dataset-label.d.ts +2 -2
  42. package/dist/common/dataset-label.js +2 -22
  43. package/dist/common/error-boundary.d.ts +6 -2
  44. package/dist/common/error-boundary.js +1 -21
  45. package/dist/common/field-selector.d.ts +10 -3
  46. package/dist/common/field-selector.js +4 -22
  47. package/dist/common/field-token.d.ts +12 -0
  48. package/dist/common/field-token.js +6 -22
  49. package/dist/common/file-uploader/file-drop.d.ts +3 -2
  50. package/dist/common/file-uploader/file-drop.js +1 -21
  51. package/dist/common/file-uploader/file-upload-progress.js +1 -21
  52. package/dist/common/file-uploader/file-upload.d.ts +2 -6
  53. package/dist/common/file-uploader/file-upload.js +1 -21
  54. package/dist/common/file-uploader/upload-button.d.ts +1 -0
  55. package/dist/common/file-uploader/upload-button.js +1 -21
  56. package/dist/common/flex-container.d.ts +3 -0
  57. package/dist/common/flex-container.js +23 -0
  58. package/dist/common/histogram-plot.d.ts +2 -2
  59. package/dist/common/histogram-plot.js +17 -31
  60. package/dist/common/icon-button.d.ts +3 -2
  61. package/dist/common/icon-button.js +1 -21
  62. package/dist/common/icons/add.d.ts +2 -2
  63. package/dist/common/icons/add.js +1 -21
  64. package/dist/common/icons/anchor_window.d.ts +2 -2
  65. package/dist/common/icons/anchor_window.js +6 -22
  66. package/dist/common/icons/arrow-down-alt.d.ts +2 -2
  67. package/dist/common/icons/arrow-down-alt.js +1 -21
  68. package/dist/common/icons/arrow-down-small.d.ts +14 -0
  69. package/dist/common/icons/arrow-down-small.js +72 -0
  70. package/dist/common/icons/arrow-down-solid.d.ts +2 -2
  71. package/dist/common/icons/arrow-down-solid.js +1 -21
  72. package/dist/common/icons/arrow-down.d.ts +2 -2
  73. package/dist/common/icons/arrow-down.js +1 -21
  74. package/dist/common/icons/arrow-left.d.ts +2 -2
  75. package/dist/common/icons/arrow-left.js +1 -21
  76. package/dist/common/icons/arrow-right.d.ts +2 -2
  77. package/dist/common/icons/arrow-right.js +1 -21
  78. package/dist/common/icons/arrow-up-alt.d.ts +2 -2
  79. package/dist/common/icons/arrow-up-alt.js +1 -21
  80. package/dist/common/icons/arrow-up-solid.d.ts +2 -2
  81. package/dist/common/icons/arrow-up-solid.js +1 -21
  82. package/dist/common/icons/arrow-up.d.ts +2 -2
  83. package/dist/common/icons/arrow-up.js +1 -21
  84. package/dist/common/icons/base.d.ts +1 -1
  85. package/dist/common/icons/base.js +1 -21
  86. package/dist/common/icons/bug.d.ts +2 -2
  87. package/dist/common/icons/bug.js +1 -21
  88. package/dist/common/icons/calendar.d.ts +10 -0
  89. package/dist/common/icons/calendar.js +66 -0
  90. package/dist/common/icons/cancel.d.ts +2 -2
  91. package/dist/common/icons/cancel.js +1 -21
  92. package/dist/common/icons/checkmark.d.ts +2 -2
  93. package/dist/common/icons/checkmark.js +1 -21
  94. package/dist/common/icons/clipboard.d.ts +2 -2
  95. package/dist/common/icons/clipboard.js +1 -21
  96. package/dist/common/icons/clock.d.ts +2 -2
  97. package/dist/common/icons/clock.js +1 -21
  98. package/dist/common/icons/close.d.ts +2 -2
  99. package/dist/common/icons/close.js +1 -21
  100. package/dist/common/icons/code-alt.d.ts +2 -2
  101. package/dist/common/icons/code-alt.js +1 -21
  102. package/dist/common/icons/copy.d.ts +2 -2
  103. package/dist/common/icons/copy.js +1 -21
  104. package/dist/common/icons/crosshairs.d.ts +2 -2
  105. package/dist/common/icons/crosshairs.js +1 -21
  106. package/dist/common/icons/cube-3d.d.ts +2 -2
  107. package/dist/common/icons/cube-3d.js +1 -21
  108. package/dist/common/icons/cursor-click.d.ts +2 -2
  109. package/dist/common/icons/cursor-click.js +1 -21
  110. package/dist/common/icons/cursor-point.d.ts +14 -0
  111. package/dist/common/icons/cursor-point.js +69 -0
  112. package/dist/common/icons/data-table.d.ts +2 -2
  113. package/dist/common/icons/data-table.js +1 -21
  114. package/dist/common/icons/db.d.ts +2 -2
  115. package/dist/common/icons/db.js +1 -21
  116. package/dist/common/icons/delete.d.ts +2 -2
  117. package/dist/common/icons/delete.js +1 -21
  118. package/dist/common/icons/docs.d.ts +2 -2
  119. package/dist/common/icons/docs.js +1 -21
  120. package/dist/common/icons/drag-n-drop.d.ts +2 -2
  121. package/dist/common/icons/drag-n-drop.js +1 -21
  122. package/dist/common/icons/draw-polygon.d.ts +2 -2
  123. package/dist/common/icons/draw-polygon.js +1 -21
  124. package/dist/common/icons/effects/brightness-contrast.d.ts +14 -0
  125. package/dist/common/icons/effects/brightness-contrast.js +88 -0
  126. package/dist/common/icons/effects/color-halftone.d.ts +14 -0
  127. package/dist/common/icons/effects/color-halftone.js +127 -0
  128. package/dist/common/icons/effects/dot-screen.d.ts +14 -0
  129. package/dist/common/icons/effects/dot-screen.js +122 -0
  130. package/dist/common/icons/effects/edge-work.d.ts +14 -0
  131. package/dist/common/icons/effects/edge-work.js +81 -0
  132. package/dist/common/icons/effects/hexagonal-pixelate.d.ts +14 -0
  133. package/dist/common/icons/effects/hexagonal-pixelate.js +148 -0
  134. package/dist/common/icons/effects/hue-saturation.d.ts +14 -0
  135. package/dist/common/icons/effects/hue-saturation.js +79 -0
  136. package/dist/common/icons/effects/ink.d.ts +14 -0
  137. package/dist/common/icons/effects/ink.js +78 -0
  138. package/dist/common/icons/effects/light-and-shadow.d.ts +14 -0
  139. package/dist/common/icons/effects/light-and-shadow.js +67 -0
  140. package/dist/common/icons/effects/magic-wand.d.ts +14 -0
  141. package/dist/common/icons/effects/magic-wand.js +79 -0
  142. package/dist/common/icons/effects/magnify.d.ts +14 -0
  143. package/dist/common/icons/effects/magnify.js +86 -0
  144. package/dist/common/icons/effects/noise.d.ts +14 -0
  145. package/dist/common/icons/effects/noise.js +132 -0
  146. package/dist/common/icons/effects/sepia.d.ts +14 -0
  147. package/dist/common/icons/effects/sepia.js +79 -0
  148. package/dist/common/icons/effects/tilt-shift.d.ts +14 -0
  149. package/dist/common/icons/effects/tilt-shift.js +88 -0
  150. package/dist/common/icons/effects/triangle-blur.d.ts +14 -0
  151. package/dist/common/icons/effects/triangle-blur.js +83 -0
  152. package/dist/common/icons/effects/vibrance.d.ts +14 -0
  153. package/dist/common/icons/effects/vibrance.js +79 -0
  154. package/dist/common/icons/effects/vignette.d.ts +14 -0
  155. package/dist/common/icons/effects/vignette.js +72 -0
  156. package/dist/common/icons/effects/zoom-blur.d.ts +14 -0
  157. package/dist/common/icons/effects/zoom-blur.js +107 -0
  158. package/dist/common/icons/email.d.ts +2 -2
  159. package/dist/common/icons/email.js +1 -21
  160. package/dist/common/icons/expand.d.ts +2 -2
  161. package/dist/common/icons/expand.js +1 -21
  162. package/dist/common/icons/eye-seen.d.ts +2 -2
  163. package/dist/common/icons/eye-seen.js +1 -21
  164. package/dist/common/icons/eye-unseen.d.ts +2 -2
  165. package/dist/common/icons/eye-unseen.js +1 -21
  166. package/dist/common/icons/file-type.d.ts +2 -2
  167. package/dist/common/icons/file-type.js +1 -21
  168. package/dist/common/icons/file.d.ts +2 -2
  169. package/dist/common/icons/file.js +1 -21
  170. package/dist/common/icons/files.d.ts +1 -1
  171. package/dist/common/icons/files.js +1 -21
  172. package/dist/common/icons/filter-funnel.d.ts +2 -2
  173. package/dist/common/icons/filter-funnel.js +1 -21
  174. package/dist/common/icons/free-window.d.ts +2 -2
  175. package/dist/common/icons/free-window.js +6 -22
  176. package/dist/common/icons/gear.d.ts +2 -2
  177. package/dist/common/icons/gear.js +1 -21
  178. package/dist/common/icons/globe.d.ts +15 -0
  179. package/dist/common/icons/globe.js +72 -0
  180. package/dist/common/icons/hash.d.ts +2 -2
  181. package/dist/common/icons/hash.js +1 -21
  182. package/dist/common/icons/histogram.d.ts +1 -1
  183. package/dist/common/icons/histogram.js +1 -21
  184. package/dist/common/icons/index.d.ts +26 -0
  185. package/dist/common/icons/index.js +209 -21
  186. package/dist/common/icons/info.d.ts +2 -2
  187. package/dist/common/icons/info.js +1 -21
  188. package/dist/common/icons/layers.d.ts +2 -2
  189. package/dist/common/icons/layers.js +1 -21
  190. package/dist/common/icons/left-arrow.d.ts +2 -2
  191. package/dist/common/icons/left-arrow.js +1 -21
  192. package/dist/common/icons/legend.d.ts +2 -2
  193. package/dist/common/icons/legend.js +1 -21
  194. package/dist/common/icons/line-chart.d.ts +2 -2
  195. package/dist/common/icons/line-chart.js +1 -21
  196. package/dist/common/icons/location-marker.d.ts +14 -0
  197. package/dist/common/icons/location-marker.js +77 -0
  198. package/dist/common/icons/login.d.ts +2 -2
  199. package/dist/common/icons/login.js +1 -21
  200. package/dist/common/icons/logout.d.ts +2 -2
  201. package/dist/common/icons/logout.js +1 -21
  202. package/dist/common/icons/map-icon.d.ts +2 -2
  203. package/dist/common/icons/map-icon.js +1 -21
  204. package/dist/common/icons/map.d.ts +2 -2
  205. package/dist/common/icons/map.js +1 -21
  206. package/dist/common/icons/messages.d.ts +2 -2
  207. package/dist/common/icons/messages.js +1 -21
  208. package/dist/common/icons/minus.d.ts +2 -2
  209. package/dist/common/icons/minus.js +1 -21
  210. package/dist/common/icons/moon.d.ts +14 -0
  211. package/dist/common/icons/moon.js +77 -0
  212. package/dist/common/icons/order-by-dataset.d.ts +2 -2
  213. package/dist/common/icons/order-by-dataset.js +6 -22
  214. package/dist/common/icons/order-by-list.d.ts +2 -2
  215. package/dist/common/icons/order-by-list.js +6 -22
  216. package/dist/common/icons/pause.d.ts +2 -2
  217. package/dist/common/icons/pause.js +1 -21
  218. package/dist/common/icons/picture.d.ts +1 -1
  219. package/dist/common/icons/picture.js +1 -21
  220. package/dist/common/icons/pin.d.ts +2 -2
  221. package/dist/common/icons/pin.js +1 -21
  222. package/dist/common/icons/play.d.ts +2 -2
  223. package/dist/common/icons/play.js +1 -21
  224. package/dist/common/icons/polygon.d.ts +2 -2
  225. package/dist/common/icons/polygon.js +1 -21
  226. package/dist/common/icons/rectangle.d.ts +2 -2
  227. package/dist/common/icons/rectangle.js +1 -21
  228. package/dist/common/icons/reduce.d.ts +2 -2
  229. package/dist/common/icons/reduce.js +1 -21
  230. package/dist/common/icons/reset.d.ts +2 -2
  231. package/dist/common/icons/reset.js +1 -21
  232. package/dist/common/icons/rocket.d.ts +2 -2
  233. package/dist/common/icons/rocket.js +1 -21
  234. package/dist/common/icons/save.d.ts +2 -2
  235. package/dist/common/icons/save.js +1 -21
  236. package/dist/common/icons/save2.d.ts +2 -2
  237. package/dist/common/icons/save2.js +1 -21
  238. package/dist/common/icons/search.d.ts +2 -2
  239. package/dist/common/icons/search.js +1 -21
  240. package/dist/common/icons/settings.d.ts +2 -2
  241. package/dist/common/icons/settings.js +1 -21
  242. package/dist/common/icons/share.d.ts +2 -2
  243. package/dist/common/icons/share.js +1 -21
  244. package/dist/common/icons/split.d.ts +2 -2
  245. package/dist/common/icons/split.js +1 -21
  246. package/dist/common/icons/square-select.d.ts +2 -2
  247. package/dist/common/icons/square-select.js +1 -21
  248. package/dist/common/icons/sun.d.ts +14 -0
  249. package/dist/common/icons/sun.js +93 -0
  250. package/dist/common/icons/sunrise.d.ts +14 -0
  251. package/dist/common/icons/sunrise.js +89 -0
  252. package/dist/common/icons/sunset.d.ts +14 -0
  253. package/dist/common/icons/sunset.js +89 -0
  254. package/dist/common/icons/trash.d.ts +2 -2
  255. package/dist/common/icons/trash.js +1 -21
  256. package/dist/common/icons/vert-dots.d.ts +2 -2
  257. package/dist/common/icons/vert-dots.js +1 -21
  258. package/dist/common/icons/vert-three-dots.d.ts +2 -2
  259. package/dist/common/icons/vert-three-dots.js +1 -21
  260. package/dist/common/icons/warning-sign.d.ts +2 -2
  261. package/dist/common/icons/warning-sign.js +1 -21
  262. package/dist/common/icons/warning.d.ts +2 -2
  263. package/dist/common/icons/warning.js +1 -21
  264. package/dist/common/image-preview.d.ts +2 -2
  265. package/dist/common/image-preview.js +1 -21
  266. package/dist/common/index.d.ts +1 -1
  267. package/dist/common/index.js +7 -21
  268. package/dist/common/info-helper.d.ts +2 -2
  269. package/dist/common/info-helper.js +1 -21
  270. package/dist/common/item-selector/accessor.js +5 -22
  271. package/dist/common/item-selector/chickleted-input.d.ts +1 -0
  272. package/dist/common/item-selector/chickleted-input.js +104 -44
  273. package/dist/common/item-selector/dropdown-list.d.ts +30 -8
  274. package/dist/common/item-selector/dropdown-list.js +150 -46
  275. package/dist/common/item-selector/item-selector.d.ts +5 -3
  276. package/dist/common/item-selector/item-selector.js +16 -24
  277. package/dist/common/item-selector/typeahead.d.ts +16 -12
  278. package/dist/common/item-selector/typeahead.js +23 -32
  279. package/dist/common/line-chart.d.ts +2 -2
  280. package/dist/common/line-chart.js +1 -21
  281. package/dist/common/loading-spinner.js +1 -21
  282. package/dist/common/logo.d.ts +2 -2
  283. package/dist/common/logo.js +1 -21
  284. package/dist/common/map-layer-selector.d.ts +2 -2
  285. package/dist/common/map-layer-selector.js +2 -23
  286. package/dist/common/modal.d.ts +24 -11
  287. package/dist/common/modal.js +25 -28
  288. package/dist/common/portaled.d.ts +526 -2
  289. package/dist/common/portaled.js +1 -21
  290. package/dist/common/progress-bar.d.ts +2 -2
  291. package/dist/common/progress-bar.js +1 -21
  292. package/dist/common/range-brush.js +1 -21
  293. package/dist/common/range-plot.d.ts +6 -2
  294. package/dist/common/range-plot.js +3 -22
  295. package/dist/common/range-slider.d.ts +6 -2
  296. package/dist/common/range-slider.js +8 -22
  297. package/dist/common/slider/mouse-event.js +6 -22
  298. package/dist/common/slider/slider-bar-handle.d.ts +2 -2
  299. package/dist/common/slider/slider-bar-handle.js +1 -21
  300. package/dist/common/slider/slider-handle.d.ts +1 -1
  301. package/dist/common/slider/slider-handle.js +1 -21
  302. package/dist/common/slider/slider.d.ts +7 -5
  303. package/dist/common/slider/slider.js +7 -24
  304. package/dist/common/styled-components.d.ts +8 -3
  305. package/dist/common/styled-components.js +161 -68
  306. package/dist/common/switch.d.ts +3 -2
  307. package/dist/common/switch.js +1 -21
  308. package/dist/common/time-range-slider-time-title.d.ts +2 -2
  309. package/dist/common/time-range-slider-time-title.js +1 -21
  310. package/dist/common/time-range-slider.d.ts +6 -3
  311. package/dist/common/time-range-slider.js +32 -33
  312. package/dist/common/time-slider-marker.d.ts +1 -1
  313. package/dist/common/time-slider-marker.js +2 -22
  314. package/dist/common/timeline-slider.d.ts +13 -0
  315. package/dist/common/timeline-slider.js +153 -0
  316. package/dist/common/tippy-tooltip.d.ts +4 -2
  317. package/dist/common/tippy-tooltip.js +22 -30
  318. package/dist/common/toolbar-item.d.ts +1 -1
  319. package/dist/common/toolbar-item.js +5 -23
  320. package/dist/common/toolbar.js +1 -21
  321. package/dist/common/vertical-toolbar.js +1 -21
  322. package/dist/connect/keplergl-connect.d.ts +5 -1
  323. package/dist/connect/keplergl-connect.js +6 -22
  324. package/dist/connect/with-local-selector.js +1 -21
  325. package/dist/container.js +1 -21
  326. package/dist/context.d.ts +11 -0
  327. package/dist/context.js +20 -24
  328. package/dist/dnd-context.d.ts +13 -0
  329. package/dist/dnd-context.js +157 -0
  330. package/dist/editor/editor.d.ts +11 -10
  331. package/dist/editor/editor.js +96 -122
  332. package/dist/editor/feature-action-panel.d.ts +8 -6
  333. package/dist/editor/feature-action-panel.js +57 -55
  334. package/dist/effects/compact-color-picker.d.ts +10 -0
  335. package/dist/effects/compact-color-picker.js +130 -0
  336. package/dist/effects/effect-configurator.d.ts +17 -0
  337. package/dist/effects/effect-configurator.js +302 -0
  338. package/dist/effects/effect-list.d.ts +15 -0
  339. package/dist/effects/effect-list.js +153 -0
  340. package/dist/effects/effect-manager.d.ts +22 -0
  341. package/dist/effects/effect-manager.js +142 -0
  342. package/dist/effects/effect-panel-header.d.ts +45 -0
  343. package/dist/effects/effect-panel-header.js +206 -0
  344. package/dist/effects/effect-panel.d.ts +24 -0
  345. package/dist/effects/effect-panel.js +149 -0
  346. package/dist/effects/effect-time-configurator.d.ts +20 -0
  347. package/dist/effects/effect-time-configurator.js +340 -0
  348. package/dist/effects/effect-time-selector.d.ts +16 -0
  349. package/dist/effects/effect-time-selector.js +181 -0
  350. package/dist/effects/effect-time-slider.d.ts +34 -0
  351. package/dist/effects/effect-time-slider.js +220 -0
  352. package/dist/effects/effect-type-dropdown-list.d.ts +18 -0
  353. package/dist/effects/effect-type-dropdown-list.js +77 -0
  354. package/dist/effects/effect-type-list-item.d.ts +22 -0
  355. package/dist/effects/effect-type-list-item.js +105 -0
  356. package/dist/effects/effect-type-selector.d.ts +30 -0
  357. package/dist/effects/effect-type-selector.js +92 -0
  358. package/dist/effects/side-panel-title.d.ts +7 -0
  359. package/dist/effects/side-panel-title.js +47 -0
  360. package/dist/effects/timezone-selector.d.ts +19 -0
  361. package/dist/effects/timezone-selector.js +71 -0
  362. package/dist/filter-animation-controller.d.ts +17 -0
  363. package/dist/filter-animation-controller.js +73 -0
  364. package/dist/filters/components.js +1 -21
  365. package/dist/filters/filter-panels/filter-panel-with-field-select.js +7 -23
  366. package/dist/filters/filter-panels/multi-select-filter-panel.js +7 -23
  367. package/dist/filters/filter-panels/new-filter-panel.js +6 -22
  368. package/dist/filters/filter-panels/polygon-filter-panel.js +7 -23
  369. package/dist/filters/filter-panels/range-filter-panel.js +7 -23
  370. package/dist/filters/filter-panels/single-select-filter-panel.js +7 -23
  371. package/dist/filters/filter-panels/time-range-filter-panel.js +24 -27
  372. package/dist/filters/filter-panels/types.d.ts +2 -1
  373. package/dist/filters/filter-panels/types.js +0 -20
  374. package/dist/filters/index.d.ts +2 -0
  375. package/dist/filters/index.js +17 -21
  376. package/dist/filters/multi-select-filter.js +6 -22
  377. package/dist/filters/polygon-filter.js +18 -24
  378. package/dist/filters/range-filter.js +9 -23
  379. package/dist/filters/single-select-filter.js +6 -22
  380. package/dist/filters/time-range-filter.d.ts +2 -1
  381. package/dist/filters/time-range-filter.js +15 -27
  382. package/dist/filters/time-widget-top.d.ts +8 -0
  383. package/dist/filters/time-widget-top.js +103 -0
  384. package/dist/filters/time-widget.d.ts +3 -7
  385. package/dist/filters/time-widget.js +34 -111
  386. package/dist/filters/types.d.ts +7 -3
  387. package/dist/filters/types.js +0 -20
  388. package/dist/geocoder/geocoder.d.ts +1 -3
  389. package/dist/geocoder/geocoder.js +10 -27
  390. package/dist/geocoder-panel.d.ts +9 -3
  391. package/dist/geocoder-panel.js +29 -38
  392. package/dist/hooks/use-cloud-list-provider.d.ts +11 -0
  393. package/dist/hooks/use-cloud-list-provider.js +57 -0
  394. package/dist/hooks/use-dnd-effects.d.ts +9 -0
  395. package/dist/hooks/use-dnd-effects.js +88 -0
  396. package/dist/hooks/use-dnd-layers.d.ts +9 -0
  397. package/dist/hooks/use-dnd-layers.js +95 -0
  398. package/dist/hooks/use-feature-flags.d.ts +5 -0
  399. package/dist/hooks/use-feature-flags.js +21 -0
  400. package/dist/index.d.ts +78 -21
  401. package/dist/index.js +695 -116
  402. package/dist/injector.d.ts +4 -4
  403. package/dist/injector.js +1 -21
  404. package/dist/kepler-gl.d.ts +59 -17
  405. package/dist/kepler-gl.js +88 -53
  406. package/dist/layer-animation-controller.d.ts +13 -0
  407. package/dist/layer-animation-controller.js +58 -0
  408. package/dist/map/coordinate-info.js +6 -22
  409. package/dist/map/effects/effect-control.d.ts +16 -0
  410. package/dist/map/effects/effect-control.js +63 -0
  411. package/dist/map/layer-hover-info.d.ts +2 -2
  412. package/dist/map/layer-hover-info.js +26 -30
  413. package/dist/map/layer-selector-panel.js +6 -22
  414. package/dist/map/lazy-tippy.js +1 -21
  415. package/dist/map/locale-panel.d.ts +1 -1
  416. package/dist/map/locale-panel.js +6 -22
  417. package/dist/map/map-control-panel.d.ts +6 -0
  418. package/dist/map/map-control-panel.js +64 -28
  419. package/dist/map/map-control-toolbar.js +2 -22
  420. package/dist/map/map-control-tooltip.js +6 -22
  421. package/dist/map/map-control.d.ts +15 -7
  422. package/dist/map/map-control.js +5 -26
  423. package/dist/map/map-draw-panel.d.ts +2 -2
  424. package/dist/map/map-draw-panel.js +6 -29
  425. package/dist/map/map-legend-panel.d.ts +12 -1
  426. package/dist/map/map-legend-panel.js +31 -34
  427. package/dist/map/map-legend.d.ts +1 -1
  428. package/dist/map/map-legend.js +1 -21
  429. package/dist/map/map-popover-content.d.ts +28 -0
  430. package/dist/map/map-popover-content.js +35 -0
  431. package/dist/map/map-popover.d.ts +11 -14
  432. package/dist/map/map-popover.js +93 -34
  433. package/dist/map/split-map-button.js +6 -22
  434. package/dist/map/toggle-3d-button.js +6 -22
  435. package/dist/map-container.d.ts +33 -9
  436. package/dist/map-container.js +544 -194
  437. package/dist/map-view-state-context.d.ts +17 -0
  438. package/dist/map-view-state-context.js +117 -0
  439. package/dist/maps-layout.d.ts +5 -2
  440. package/dist/maps-layout.js +6 -22
  441. package/dist/modal-container.d.ts +4 -8
  442. package/dist/modal-container.js +19 -76
  443. package/dist/modals/add-map-style-modal.d.ts +1 -3
  444. package/dist/modals/add-map-style-modal.js +15 -73
  445. package/dist/modals/cloud-components/cloud-header.d.ts +8 -0
  446. package/dist/modals/cloud-components/cloud-header.js +65 -0
  447. package/dist/modals/cloud-components/cloud-item.d.ts +5 -0
  448. package/dist/modals/cloud-components/cloud-item.js +72 -0
  449. package/dist/modals/cloud-components/cloud-item.spec.d.ts +1 -0
  450. package/dist/modals/cloud-components/cloud-item.spec.js +105 -0
  451. package/dist/modals/cloud-components/cloud-maps.d.ts +8 -0
  452. package/dist/modals/cloud-components/cloud-maps.js +63 -0
  453. package/dist/modals/cloud-components/cloud-maps.spec.d.ts +1 -0
  454. package/dist/modals/cloud-components/cloud-maps.spec.js +112 -0
  455. package/dist/modals/cloud-components/provider-loading.d.ts +2 -0
  456. package/dist/modals/cloud-components/provider-loading.js +29 -0
  457. package/dist/modals/cloud-components/provider-select.d.ts +7 -0
  458. package/dist/modals/cloud-components/provider-select.js +40 -0
  459. package/dist/modals/cloud-tile.d.ts +8 -8
  460. package/dist/modals/cloud-tile.js +184 -75
  461. package/dist/modals/data-table-modal.d.ts +11 -2
  462. package/dist/modals/data-table-modal.js +74 -43
  463. package/dist/modals/delete-data-modal.js +1 -21
  464. package/dist/modals/error-display.js +15 -26
  465. package/dist/modals/export-data-modal.d.ts +1 -3
  466. package/dist/modals/export-data-modal.js +1 -21
  467. package/dist/modals/export-image-modal.d.ts +1 -3
  468. package/dist/modals/export-image-modal.js +1 -21
  469. package/dist/modals/export-map-modal/components.d.ts +2 -2
  470. package/dist/modals/export-map-modal/components.js +1 -21
  471. package/dist/modals/export-map-modal/export-html-map.js +1 -21
  472. package/dist/modals/export-map-modal/export-json-map.d.ts +1 -1
  473. package/dist/modals/export-map-modal/export-json-map.js +1 -21
  474. package/dist/modals/export-map-modal/export-map-modal.d.ts +2 -2
  475. package/dist/modals/export-map-modal/export-map-modal.js +6 -22
  476. package/dist/modals/image-modal-container.d.ts +2 -3
  477. package/dist/modals/image-modal-container.js +12 -34
  478. package/dist/modals/load-data-modal.d.ts +0 -5
  479. package/dist/modals/load-data-modal.js +1 -21
  480. package/dist/modals/load-storage-map.d.ts +3 -24
  481. package/dist/modals/load-storage-map.js +69 -282
  482. package/dist/modals/load-storage-map.spec.d.ts +1 -0
  483. package/dist/modals/load-storage-map.spec.js +237 -0
  484. package/dist/modals/loading-dialog.js +1 -21
  485. package/dist/modals/modal-dialog.js +6 -22
  486. package/dist/modals/modal-tabs.d.ts +1 -1
  487. package/dist/modals/modal-tabs.js +1 -21
  488. package/dist/modals/overwrite-map-modal.d.ts +2 -2
  489. package/dist/modals/overwrite-map-modal.js +39 -32
  490. package/dist/modals/save-map-modal.d.ts +3 -5
  491. package/dist/modals/save-map-modal.js +99 -119
  492. package/dist/modals/save-map-modal.spec.d.ts +1 -0
  493. package/dist/modals/save-map-modal.spec.js +218 -0
  494. package/dist/modals/share-map-modal.d.ts +1 -5
  495. package/dist/modals/share-map-modal.js +57 -81
  496. package/dist/modals/share-map-modal.spec.d.ts +1 -0
  497. package/dist/modals/share-map-modal.spec.js +202 -0
  498. package/dist/modals/status-panel.js +1 -21
  499. package/dist/modals/storage-map-viewer.d.ts +1 -1
  500. package/dist/modals/storage-map-viewer.js +1 -21
  501. package/dist/notification-panel/notification-item.d.ts +7 -10
  502. package/dist/notification-panel/notification-item.js +44 -32
  503. package/dist/notification-panel.js +1 -21
  504. package/dist/plot-container.js +20 -28
  505. package/dist/side-panel/add-by-dataset-button.d.ts +12 -0
  506. package/dist/side-panel/add-by-dataset-button.js +153 -0
  507. package/dist/side-panel/cloud-storage-dropdown.d.ts +2 -2
  508. package/dist/side-panel/cloud-storage-dropdown.js +6 -22
  509. package/dist/side-panel/common/dataset-info.d.ts +10 -3
  510. package/dist/side-panel/common/dataset-info.js +1 -21
  511. package/dist/side-panel/common/dataset-tag.d.ts +15 -1
  512. package/dist/side-panel/common/dataset-tag.js +13 -30
  513. package/dist/side-panel/common/dataset-title.d.ts +16 -2
  514. package/dist/side-panel/common/dataset-title.js +70 -124
  515. package/dist/side-panel/common/source-data-catalog.d.ts +22 -3
  516. package/dist/side-panel/common/source-data-catalog.js +1 -21
  517. package/dist/side-panel/common/source-data-selector.js +6 -22
  518. package/dist/side-panel/common/types.d.ts +7 -27
  519. package/dist/side-panel/common/types.js +0 -20
  520. package/dist/side-panel/custom-panel.d.ts +6 -7
  521. package/dist/side-panel/custom-panel.js +6 -22
  522. package/dist/side-panel/filter-manager.d.ts +18 -6
  523. package/dist/side-panel/filter-manager.js +175 -84
  524. package/dist/side-panel/filter-panel/add-filter-button.d.ts +8 -0
  525. package/dist/side-panel/filter-panel/add-filter-button.js +34 -0
  526. package/dist/side-panel/filter-panel/filter-panel-header.d.ts +6 -3
  527. package/dist/side-panel/filter-panel/filter-panel-header.js +3 -23
  528. package/dist/side-panel/filter-panel/filter-panel.js +1 -21
  529. package/dist/side-panel/interaction-manager.d.ts +6 -3
  530. package/dist/side-panel/interaction-manager.js +24 -27
  531. package/dist/side-panel/interaction-panel/brush-config.d.ts +2 -2
  532. package/dist/side-panel/interaction-panel/brush-config.js +1 -21
  533. package/dist/side-panel/interaction-panel/interaction-panel.d.ts +5 -2
  534. package/dist/side-panel/interaction-panel/interaction-panel.js +11 -24
  535. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +11 -9
  536. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +69 -67
  537. package/dist/side-panel/interaction-panel/tooltip-config.d.ts +2 -3
  538. package/dist/side-panel/interaction-panel/tooltip-config.js +48 -57
  539. package/dist/side-panel/layer-manager.d.ts +13 -10
  540. package/dist/side-panel/layer-manager.js +72 -57
  541. package/dist/side-panel/layer-panel/add-layer-button.d.ts +3 -5
  542. package/dist/side-panel/layer-panel/add-layer-button.js +14 -156
  543. package/dist/side-panel/layer-panel/color-palette.js +1 -21
  544. package/dist/side-panel/layer-panel/color-range-selector.d.ts +1 -1
  545. package/dist/side-panel/layer-panel/color-range-selector.js +1 -21
  546. package/dist/side-panel/layer-panel/color-selector.d.ts +15 -24
  547. package/dist/side-panel/layer-panel/color-selector.js +174 -146
  548. package/dist/side-panel/layer-panel/column-selector.js +1 -21
  549. package/dist/side-panel/layer-panel/custom-palette.d.ts +7 -2
  550. package/dist/side-panel/layer-panel/custom-palette.js +5 -24
  551. package/dist/side-panel/layer-panel/custom-picker.d.ts +9 -36
  552. package/dist/side-panel/layer-panel/custom-picker.js +1 -21
  553. package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +1 -1
  554. package/dist/side-panel/layer-panel/dataset-layer-group.js +7 -22
  555. package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +3 -2
  556. package/dist/side-panel/layer-panel/dataset-layer-section.js +4 -23
  557. package/dist/side-panel/layer-panel/dataset-section.d.ts +2 -3
  558. package/dist/side-panel/layer-panel/dataset-section.js +5 -26
  559. package/dist/side-panel/layer-panel/dimension-scale-selector.js +6 -22
  560. package/dist/side-panel/layer-panel/how-to-button.js +1 -21
  561. package/dist/side-panel/layer-panel/layer-color-selector.d.ts +42 -0
  562. package/dist/side-panel/layer-panel/layer-color-selector.js +118 -0
  563. package/dist/side-panel/layer-panel/layer-column-config.d.ts +15 -9
  564. package/dist/side-panel/layer-panel/layer-column-config.js +34 -32
  565. package/dist/side-panel/layer-panel/layer-config-group.d.ts +11 -2
  566. package/dist/side-panel/layer-panel/layer-config-group.js +18 -30
  567. package/dist/side-panel/layer-panel/layer-configurator.d.ts +10 -35
  568. package/dist/side-panel/layer-panel/layer-configurator.js +75 -132
  569. package/dist/side-panel/layer-panel/layer-error-message.d.ts +6 -0
  570. package/dist/side-panel/layer-panel/layer-error-message.js +38 -0
  571. package/dist/side-panel/layer-panel/layer-list.d.ts +4 -3
  572. package/dist/side-panel/layer-panel/layer-list.js +111 -108
  573. package/dist/side-panel/layer-panel/layer-panel-header.d.ts +22 -10
  574. package/dist/side-panel/layer-panel/layer-panel-header.js +105 -86
  575. package/dist/side-panel/layer-panel/layer-panel.d.ts +3 -1
  576. package/dist/side-panel/layer-panel/layer-panel.js +23 -30
  577. package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +1 -21
  578. package/dist/side-panel/layer-panel/layer-type-list-item.d.ts +12 -3
  579. package/dist/side-panel/layer-panel/layer-type-list-item.js +11 -23
  580. package/dist/side-panel/layer-panel/layer-type-selector.d.ts +2 -1
  581. package/dist/side-panel/layer-panel/layer-type-selector.js +4 -22
  582. package/dist/side-panel/layer-panel/single-color-palette.d.ts +1 -1
  583. package/dist/side-panel/layer-panel/single-color-palette.js +1 -21
  584. package/dist/side-panel/layer-panel/text-label-panel.d.ts +4 -2
  585. package/dist/side-panel/layer-panel/text-label-panel.js +61 -34
  586. package/dist/side-panel/layer-panel/vis-config-by-field-selector.d.ts +1 -3
  587. package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +1 -21
  588. package/dist/side-panel/layer-panel/vis-config-slider.js +1 -21
  589. package/dist/side-panel/layer-panel/vis-config-switch.js +1 -21
  590. package/dist/side-panel/map-manager.d.ts +13 -6
  591. package/dist/side-panel/map-manager.js +55 -64
  592. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.d.ts +14 -0
  593. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +96 -0
  594. package/dist/side-panel/map-style-panel/map-layer-group-item.d.ts +29 -0
  595. package/dist/side-panel/map-style-panel/map-layer-group-item.js +111 -0
  596. package/dist/side-panel/map-style-panel/map-layer-selector.d.ts +16 -12
  597. package/dist/side-panel/map-style-panel/map-layer-selector.js +33 -70
  598. package/dist/side-panel/map-style-panel/map-style-selector.d.ts +11 -4
  599. package/dist/side-panel/map-style-panel/map-style-selector.js +53 -39
  600. package/dist/side-panel/panel-dropdown.d.ts +3 -2
  601. package/dist/side-panel/panel-dropdown.js +1 -21
  602. package/dist/side-panel/panel-header-action.d.ts +4 -2
  603. package/dist/side-panel/panel-header-action.js +10 -23
  604. package/dist/side-panel/panel-header.d.ts +13 -8
  605. package/dist/side-panel/panel-header.js +2 -21
  606. package/dist/side-panel/panel-tab.d.ts +2 -2
  607. package/dist/side-panel/panel-tab.js +1 -21
  608. package/dist/side-panel/panel-title.d.ts +6 -3
  609. package/dist/side-panel/panel-title.js +30 -33
  610. package/dist/side-panel/panel-toggle.d.ts +1 -1
  611. package/dist/side-panel/panel-toggle.js +1 -21
  612. package/dist/side-panel/{layer-panel/panel-view-list-toggle.d.ts → panel-view-list-toggle.d.ts} +19 -8
  613. package/dist/side-panel/panel-view-list-toggle.js +123 -0
  614. package/dist/side-panel/side-bar.d.ts +15 -16
  615. package/dist/side-panel/side-bar.js +7 -25
  616. package/dist/side-panel.d.ts +2 -117
  617. package/dist/side-panel.js +19 -54
  618. package/dist/types.d.ts +14 -9
  619. package/dist/types.js +0 -20
  620. package/package.json +48 -38
  621. package/dist/editor/constants.d.ts +0 -17
  622. package/dist/editor/constants.js +0 -47
  623. package/dist/editor/feature-styles.d.ts +0 -37
  624. package/dist/editor/feature-styles.js +0 -92
  625. package/dist/editor/handle-style.d.ts +0 -42
  626. package/dist/editor/handle-style.js +0 -100
  627. package/dist/hooks/useFeatureFlags.d.ts +0 -2
  628. package/dist/hooks/useFeatureFlags.js +0 -38
  629. package/dist/modals/provider-modal-container.d.ts +0 -22
  630. package/dist/modals/provider-modal-container.js +0 -101
  631. package/dist/side-panel/layer-panel/panel-view-list-toggle.js +0 -143
@@ -1,29 +1,7 @@
1
- // Copyright (c) 2022 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
1
  "use strict";
22
2
 
23
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
24
4
 
25
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
26
-
27
5
  Object.defineProperty(exports, "__esModule", {
28
6
  value: true
29
7
  });
@@ -31,125 +9,105 @@ exports["default"] = void 0;
31
9
 
32
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
33
11
 
34
- var _react = _interopRequireWildcard(require("react"));
12
+ var _react = _interopRequireDefault(require("react"));
35
13
 
36
14
  var _styledComponents = _interopRequireDefault(require("styled-components"));
37
15
 
38
16
  var _classnames = _interopRequireDefault(require("classnames"));
39
17
 
40
- var _slider = _interopRequireDefault(require("../slider/slider"));
18
+ var _styles = require("@kepler.gl/styles");
41
19
 
42
- var _styledComponents2 = require("../styled-components");
20
+ var _timelineSlider = _interopRequireDefault(require("../timeline-slider"));
43
21
 
44
22
  var _playbackControls = _interopRequireDefault(require("./playback-controls"));
45
23
 
46
24
  var _floatingTimeDisplay = _interopRequireDefault(require("./floating-time-display"));
47
25
 
48
- var _utils = require("@kepler.gl/utils");
49
-
50
- var _constants = require("@kepler.gl/constants");
51
-
52
- var _styles = require("@kepler.gl/styles");
53
-
54
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
26
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
55
27
 
56
28
  var SLIDER_MARGIN_PALM = 6;
57
29
 
58
- var SliderWrapper = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: relative;\n flex-grow: 1;\n margin: 0 24px;\n\n ", "\n"])), _styles.media.palm(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0 ", "px;\n "])), SLIDER_MARGIN_PALM));
30
+ var AnimationControlContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n padding: ", ";\n position: relative;\n margin-top: ", "px;\n\n ", "\n"])), function (props) {
31
+ return "".concat(props.theme.bottomInnerPdVert, "px ").concat(props.theme.bottomInnerPdSide, "px");
32
+ }, function (props) {
33
+ return props.theme.bottomPanelGap;
34
+ }, _styles.media.portable(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n border-top: 1px solid ", ";\n border-left: 1px solid ", ";\n padding: 12px 12px;\n margin-top: 0;\n "])), function (props) {
35
+ return props.theme.panelBorderColor;
36
+ }, function (props) {
37
+ return props.theme.panelBorderColor;
38
+ }));
59
39
 
60
40
  var AnimationWidgetInner = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n position: relative;\n display: flex;\n align-items: center;\n\n .animation-control__time-slider {\n display: flex;\n align-items: center;\n height: 32px;\n width: 100%;\n }\n .playback-controls {\n margin-left: 16px;\n }\n\n ", ";\n"])), _styles.media.palm(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n flex-direction: column;\n .playback-controls {\n margin: 0;\n }\n .animation-control__time-slider {\n width: 100%;\n position: relative;\n }\n .animation-control__time-domain {\n position: absolute;\n top: -24px;\n\n &.domain-start {\n left: ", "px;\n }\n &.domain-end {\n right: ", "px;\n }\n }\n "])), SLIDER_MARGIN_PALM, SLIDER_MARGIN_PALM));
61
41
 
62
- var StyledDomain = _styledComponents["default"].div.attrs(function (props) {
63
- return {
64
- className: (0, _classnames["default"])('animation-control__time-domain', props.className)
65
- };
66
- })(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-weight: 400;\n font-size: 10px;\n"])), function (props) {
67
- return props.theme.titleTextColor;
68
- });
69
-
70
- AnimationControlFactory.deps = [_playbackControls["default"], _floatingTimeDisplay["default"]];
42
+ var TIMELINE_PLAYBACK_STYLE = {
43
+ flex: 1
44
+ };
45
+ AnimationControlFactory.deps = [_playbackControls["default"], _floatingTimeDisplay["default"], _timelineSlider["default"]];
71
46
 
72
- function AnimationControlFactory(PlaybackControls, FloatingTimeDisplay) {
47
+ function AnimationControlFactory(PlaybackControls, FloatingTimeDisplay, TimelineSlider) {
73
48
  var AnimationControl = function AnimationControl(_ref) {
74
- var isAnimatable = _ref.isAnimatable,
49
+ var className = _ref.className,
50
+ style = _ref.style,
51
+ isAnimatable = _ref.isAnimatable,
75
52
  isAnimating = _ref.isAnimating,
76
53
  resetAnimation = _ref.resetAnimation,
77
54
  toggleAnimation = _ref.toggleAnimation,
78
- setLayerAnimationTime = _ref.setLayerAnimationTime,
79
55
  updateAnimationSpeed = _ref.updateAnimationSpeed,
80
- animationConfig = _ref.animationConfig;
81
- var currentTime = animationConfig.currentTime,
82
- domain = animationConfig.domain,
83
- speed = animationConfig.speed,
84
- step = animationConfig.step,
85
- timeSteps = animationConfig.timeSteps,
86
- timeFormat = animationConfig.timeFormat,
87
- timezone = animationConfig.timezone,
88
- defaultTimeFormat = animationConfig.defaultTimeFormat;
89
- var onSlider1Change = (0, _react.useCallback)(function (val) {
90
- if (Array.isArray(timeSteps)) {
91
- setLayerAnimationTime((0, _utils.snapToMarks)(val, timeSteps)); // TODO: merge slider in to avoid this step
92
- } else if (val >= domain[0] && val <= domain[1]) {
93
- setLayerAnimationTime(val);
94
- }
95
- }, [domain, timeSteps, setLayerAnimationTime]);
96
- var dateFunc = (0, _react.useMemo)(function () {
97
- var hasUserFormat = typeof timeFormat === 'string';
98
- var currentFormat = (hasUserFormat ? timeFormat : defaultTimeFormat) || _constants.DEFAULT_TIME_FORMAT;
99
- return (0, _utils.datetimeFormatter)(timezone)(currentFormat);
100
- }, [timeFormat, defaultTimeFormat, timezone]);
101
- var timeStart = (0, _react.useMemo)(function () {
102
- return domain ? dateFunc(domain[0]) : '';
103
- }, [domain, dateFunc]);
104
- var timeEnd = (0, _react.useMemo)(function () {
105
- return domain ? dateFunc(domain[1]) : '';
106
- }, [domain, dateFunc]);
107
- return /*#__PURE__*/_react["default"].createElement(_styledComponents2.BottomWidgetInner, {
108
- className: "bottom-widget--inner"
56
+ setTimelineValue = _ref.setTimelineValue,
57
+ setAnimationWindow = _ref.setAnimationWindow,
58
+ timeline = _ref.timeline,
59
+ _ref$showTimeline = _ref.showTimeline,
60
+ showTimeline = _ref$showTimeline === void 0 ? true : _ref$showTimeline,
61
+ _ref$showControls = _ref.showControls,
62
+ showControls = _ref$showControls === void 0 ? true : _ref$showControls,
63
+ _ref$showTimeDisplay = _ref.showTimeDisplay,
64
+ showTimeDisplay = _ref$showTimeDisplay === void 0 ? true : _ref$showTimeDisplay;
65
+
66
+ if (!timeline) {
67
+ return null;
68
+ }
69
+
70
+ var animationWindow = timeline.animationWindow,
71
+ value = timeline.value,
72
+ speed = timeline.speed,
73
+ defaultTimeFormat = timeline.defaultTimeFormat,
74
+ timeFormat = timeline.timeFormat,
75
+ timezone = timeline.timezone;
76
+ return /*#__PURE__*/_react["default"].createElement(AnimationControlContainer, {
77
+ style: style,
78
+ className: (0, _classnames["default"])('animation-control-container', className)
109
79
  }, /*#__PURE__*/_react["default"].createElement(AnimationWidgetInner, {
110
80
  className: "animation-widget--inner"
111
- }, /*#__PURE__*/_react["default"].createElement("div", {
112
- className: "animation-control__time-slider"
113
- }, /*#__PURE__*/_react["default"].createElement(StyledDomain, {
114
- className: "domain-start"
115
- }, /*#__PURE__*/_react["default"].createElement("span", null, timeStart)), /*#__PURE__*/_react["default"].createElement(SliderWrapper, {
116
- className: "animation-control__slider"
117
- }, /*#__PURE__*/_react["default"].createElement(_slider["default"], {
118
- isRanged: false,
119
- step: step,
120
- minValue: domain ? domain[0] : 0,
121
- maxValue: domain ? domain[1] : 1,
122
- value1: currentTime,
123
- onSlider1Change: onSlider1Change,
124
- enableBarDrag: true
125
- })), /*#__PURE__*/_react["default"].createElement(StyledDomain, {
126
- className: "domain-end"
127
- }, /*#__PURE__*/_react["default"].createElement("span", null, timeEnd))), /*#__PURE__*/_react["default"].createElement(PlaybackControls, {
81
+ }, showTimeline ? /*#__PURE__*/_react["default"].createElement(TimelineSlider, {
82
+ style: TIMELINE_PLAYBACK_STYLE,
83
+ timeline: timeline,
84
+ setTimelineValue: setTimelineValue
85
+ }) : null, showControls ? /*#__PURE__*/_react["default"].createElement(PlaybackControls, {
128
86
  className: "animation-control-playpause",
87
+ isAnimatable: isAnimatable,
129
88
  startAnimation: toggleAnimation,
130
89
  isAnimating: isAnimating,
131
90
  pauseAnimation: toggleAnimation,
132
91
  resetAnimation: resetAnimation,
133
92
  speed: speed,
134
- isAnimatable: isAnimatable,
135
- updateAnimationSpeed: updateAnimationSpeed
136
- })), /*#__PURE__*/_react["default"].createElement(FloatingTimeDisplay, {
137
- currentTime: currentTime,
93
+ updateAnimationSpeed: updateAnimationSpeed,
94
+ setFilterAnimationWindow: setAnimationWindow,
95
+ animationWindow: animationWindow
96
+ }) : null), showTimeDisplay ? /*#__PURE__*/_react["default"].createElement(FloatingTimeDisplay, {
97
+ currentTime: value,
138
98
  defaultTimeFormat: defaultTimeFormat,
139
99
  timeFormat: timeFormat,
140
100
  timezone: timezone
141
- }));
101
+ }) : null);
142
102
  };
143
103
 
144
104
  AnimationControl.defaultProps = {
145
105
  toggleAnimation: function toggleAnimation() {},
146
- updateAnimationSpeed: function updateAnimationSpeed() {},
147
- animationControlProps: {},
148
- animationConfig: {}
106
+ updateAnimationSpeed: function updateAnimationSpeed() {}
149
107
  };
150
108
  return AnimationControl;
151
109
  }
152
110
 
153
111
  var _default = AnimationControlFactory;
154
112
  exports["default"] = _default;
155
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vYW5pbWF0aW9uLWNvbnRyb2wvYW5pbWF0aW9uLWNvbnRyb2wudHN4Il0sIm5hbWVzIjpbIlNMSURFUl9NQVJHSU5fUEFMTSIsIlNsaWRlcldyYXBwZXIiLCJzdHlsZWQiLCJkaXYiLCJtZWRpYSIsInBhbG0iLCJBbmltYXRpb25XaWRnZXRJbm5lciIsIlN0eWxlZERvbWFpbiIsImF0dHJzIiwicHJvcHMiLCJjbGFzc05hbWUiLCJ0aGVtZSIsInRpdGxlVGV4dENvbG9yIiwiQW5pbWF0aW9uQ29udHJvbEZhY3RvcnkiLCJkZXBzIiwiUGxheWJhY2tDb250cm9sc0ZhY3RvcnkiLCJGbG9hdGluZ1RpbWVEaXNwbGF5RmFjdG9yeSIsIlBsYXliYWNrQ29udHJvbHMiLCJGbG9hdGluZ1RpbWVEaXNwbGF5IiwiQW5pbWF0aW9uQ29udHJvbCIsImlzQW5pbWF0YWJsZSIsImlzQW5pbWF0aW5nIiwicmVzZXRBbmltYXRpb24iLCJ0b2dnbGVBbmltYXRpb24iLCJzZXRMYXllckFuaW1hdGlvblRpbWUiLCJ1cGRhdGVBbmltYXRpb25TcGVlZCIsImFuaW1hdGlvbkNvbmZpZyIsImN1cnJlbnRUaW1lIiwiZG9tYWluIiwic3BlZWQiLCJzdGVwIiwidGltZVN0ZXBzIiwidGltZUZvcm1hdCIsInRpbWV6b25lIiwiZGVmYXVsdFRpbWVGb3JtYXQiLCJvblNsaWRlcjFDaGFuZ2UiLCJ2YWwiLCJBcnJheSIsImlzQXJyYXkiLCJkYXRlRnVuYyIsImhhc1VzZXJGb3JtYXQiLCJjdXJyZW50Rm9ybWF0IiwiREVGQVVMVF9USU1FX0ZPUk1BVCIsInRpbWVTdGFydCIsInRpbWVFbmQiLCJkZWZhdWx0UHJvcHMiLCJhbmltYXRpb25Db250cm9sUHJvcHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxrQkFBa0Is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O0FBS0UsTUFBQSxjQUFjLEVBQUVELGNBTGxCO0FBTUUsTUFBQSxLQUFLLEVBQUVPLEtBTlQ7QUFPRSxNQUFBLFlBQVksRUFBRVQsWUFQaEI7QUFRRSxNQUFBLG9CQUFvQixFQUFFSztBQVJ4QixNQXBCRixDQURGLGVBZ0NFLGdDQUFDLG1CQUFEO0FBQ0UsTUFBQSxXQUFXLEVBQUVFLFdBRGY7QUFFRSxNQUFBLGlCQUFpQixFQUFFTyxpQkFGckI7QUFHRSxNQUFBLFVBQVUsRUFBRUYsVUFIZDtBQUlFLE1BQUEsUUFBUSxFQUFFQztBQUpaLE1BaENGLENBREY7QUF5Q0QsR0FsRkQ7O0FBb0ZBZCxFQUFBQSxnQkFBZ0IsQ0FBQzBCLFlBQWpCLEdBQWdDO0FBQzlCdEIsSUFBQUEsZUFBZSxFQUFFLDJCQUFNLENBQUUsQ0FESztBQUU5QkUsSUFBQUEsb0JBQW9CLEVBQUUsZ0NBQU0sQ0FBRSxDQUZBO0FBRzlCcUIsSUFBQUEscUJBQXFCLEVBQUUsRUFITztBQUk5QnBCLElBQUFBLGVBQWUsRUFBRTtBQUphLEdBQWhDO0FBT0EsU0FBT1AsZ0JBQVA7QUFDRDs7ZUFFY04sdUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcblxuaW1wb3J0IFNsaWRlciBmcm9tICcuLi9zbGlkZXIvc2xpZGVyJztcbmltcG9ydCB7Qm90dG9tV2lkZ2V0SW5uZXJ9IGZyb20gJy4uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBQbGF5YmFja0NvbnRyb2xzRmFjdG9yeSBmcm9tICcuL3BsYXliYWNrLWNvbnRyb2xzJztcbmltcG9ydCBGbG9hdGluZ1RpbWVEaXNwbGF5RmFjdG9yeSBmcm9tICcuL2Zsb2F0aW5nLXRpbWUtZGlzcGxheSc7XG5pbXBvcnQge2RhdGV0aW1lRm9ybWF0dGVyLCBzbmFwVG9NYXJrc30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge0RFRkFVTFRfVElNRV9GT1JNQVR9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7bWVkaWF9IGZyb20gJ0BrZXBsZXIuZ2wvc3R5bGVzJztcblxuY29uc3QgU0xJREVSX01BUkdJTl9QQUxNID0gNjtcblxuY29uc3QgU2xpZGVyV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC1ncm93OiAxO1xuICBtYXJnaW46IDAgMjRweDtcblxuICAke21lZGlhLnBhbG1gXG4gICAgbWFyZ2luOiAwICR7U0xJREVSX01BUkdJTl9QQUxNfXB4O1xuICBgfVxuYDtcblxuY29uc3QgQW5pbWF0aW9uV2lkZ2V0SW5uZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgLmFuaW1hdGlvbi1jb250cm9sX190aW1lLXNsaWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMzJweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAucGxheWJhY2stY29udHJvbHMge1xuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICB9XG5cbiAgJHttZWRpYS5wYWxtYFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLnBsYXliYWNrLWNvbnRyb2xzIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgLmFuaW1hdGlvbi1jb250cm9sX190aW1lLXNsaWRlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgLmFuaW1hdGlvbi1jb250cm9sX190aW1lLWRvbWFpbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0yNHB4O1xuXG4gICAgICAmLmRvbWFpbi1zdGFydCB7XG4gICAgICAgIGxlZnQ6ICR7U0xJREVSX01BUkdJTl9QQUxNfXB4O1xuICAgICAgfVxuICAgICAgJi5kb21haW4tZW5kIHtcbiAgICAgICAgcmlnaHQ6ICR7U0xJREVSX01BUkdJTl9QQUxNfXB4O1xuICAgICAgfVxuICAgIH1cbiAgYH07XG5gO1xuXG5jb25zdCBTdHlsZWREb21haW4gPSBzdHlsZWQuZGl2LmF0dHJzKHByb3BzID0+ICh7XG4gIGNsYXNzTmFtZTogY2xhc3NuYW1lcygnYW5pbWF0aW9uLWNvbnRyb2xfX3RpbWUtZG9tYWluJywgcHJvcHMuY2xhc3NOYW1lKVxufSkpYFxuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50aXRsZVRleHRDb2xvcn07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTBweDtcbmA7XG5cbkFuaW1hdGlvbkNvbnRyb2xGYWN0b3J5LmRlcHMgPSBbUGxheWJhY2tDb250cm9sc0ZhY3RvcnksIEZsb2F0aW5nVGltZURpc3BsYXlGYWN0b3J5XTtcblxuZnVuY3Rpb24gQW5pbWF0aW9uQ29udHJvbEZhY3RvcnkoXG4gIFBsYXliYWNrQ29udHJvbHM6IFJldHVyblR5cGU8dHlwZW9mIFBsYXliYWNrQ29udHJvbHNGYWN0b3J5PixcbiAgRmxvYXRpbmdUaW1lRGlzcGxheTogUmV0dXJuVHlwZTx0eXBlb2YgRmxvYXRpbmdUaW1lRGlzcGxheUZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgQW5pbWF0aW9uQ29udHJvbCA9ICh7XG4gICAgaXNBbmltYXRhYmxlLFxuICAgIGlzQW5pbWF0aW5nLFxuICAgIHJlc2V0QW5pbWF0aW9uLFxuICAgIHRvZ2dsZUFuaW1hdGlvbixcbiAgICBzZXRMYXllckFuaW1hdGlvblRpbWUsXG4gICAgdXBkYXRlQW5pbWF0aW9uU3BlZWQsXG4gICAgYW5pbWF0aW9uQ29uZmlnXG4gIH0pID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBjdXJyZW50VGltZSxcbiAgICAgIGRvbWFpbixcbiAgICAgIHNwZWVkLFxuICAgICAgc3RlcCxcbiAgICAgIHRpbWVTdGVwcyxcbiAgICAgIHRpbWVGb3JtYXQsXG4gICAgICB0aW1lem9uZSxcbiAgICAgIGRlZmF1bHRUaW1lRm9ybWF0XG4gICAgfSA9IGFuaW1hdGlvbkNvbmZpZztcbiAgICBjb25zdCBvblNsaWRlcjFDaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAgIHZhbCA9PiB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRpbWVTdGVwcykpIHtcbiAgICAgICAgICBzZXRMYXllckFuaW1hdGlvblRpbWUoc25hcFRvTWFya3ModmFsLCB0aW1lU3RlcHMpKTtcblxuICAgICAgICAgIC8vIFRPRE86IG1lcmdlIHNsaWRlciBpbiB0byBhdm9pZCB0aGlzIHN0ZXBcbiAgICAgICAgfSBlbHNlIGlmICh2YWwgPj0gZG9tYWluWzBdICYmIHZhbCA8PSBkb21haW5bMV0pIHtcbiAgICAgICAgICBzZXRMYXllckFuaW1hdGlvblRpbWUodmFsKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIFtkb21haW4sIHRpbWVTdGVwcywgc2V0TGF5ZXJBbmltYXRpb25UaW1lXVxuICAgICk7XG5cbiAgICBjb25zdCBkYXRlRnVuYyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgY29uc3QgaGFzVXNlckZvcm1hdCA9IHR5cGVvZiB0aW1lRm9ybWF0ID09PSAnc3RyaW5nJztcbiAgICAgIGNvbnN0IGN1cnJlbnRGb3JtYXQgPSAoaGFzVXNlckZvcm1hdCA/IHRpbWVGb3JtYXQgOiBkZWZhdWx0VGltZUZvcm1hdCkgfHwgREVGQVVMVF9USU1FX0ZPUk1BVDtcbiAgICAgIHJldHVybiBkYXRldGltZUZvcm1hdHRlcih0aW1lem9uZSkoY3VycmVudEZvcm1hdCk7XG4gICAgfSwgW3RpbWVGb3JtYXQsIGRlZmF1bHRUaW1lRm9ybWF0LCB0aW1lem9uZV0pO1xuXG4gICAgY29uc3QgdGltZVN0YXJ0ID0gdXNlTWVtbygoKSA9PiAoZG9tYWluID8gZGF0ZUZ1bmMoZG9tYWluWzBdKSA6ICcnKSwgW2RvbWFpbiwgZGF0ZUZ1bmNdKTtcbiAgICBjb25zdCB0aW1lRW5kID0gdXNlTWVtbygoKSA9PiAoZG9tYWluID8gZGF0ZUZ1bmMoZG9tYWluWzFdKSA6ICcnKSwgW2RvbWFpbiwgZGF0ZUZ1bmNdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8Qm90dG9tV2lkZ2V0SW5uZXIgY2xhc3NOYW1lPVwiYm90dG9tLXdpZGdldC0taW5uZXJcIj5cbiAgICAgICAgPEFuaW1hdGlvbldpZGdldElubmVyIGNsYXNzTmFtZT1cImFuaW1hdGlvbi13aWRnZXQtLWlubmVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJhbmltYXRpb24tY29udHJvbF9fdGltZS1zbGlkZXJcIj5cbiAgICAgICAgICAgIDxTdHlsZWREb21haW4gY2xhc3NOYW1lPVwiZG9tYWluLXN0YXJ0XCI+XG4gICAgICAgICAgICAgIDxzcGFuPnt0aW1lU3RhcnR9PC9zcGFuPlxuICAgICAgICAgICAgPC9TdHlsZWREb21haW4+XG4gICAgICAgICAgICA8U2xpZGVyV3JhcHBlciBjbGFzc05hbWU9XCJhbmltYXRpb24tY29udHJvbF9fc2xpZGVyXCI+XG4gICAgICAgICAgICAgIDxTbGlkZXJcbiAgICAgICAgICAgICAgICBpc1JhbmdlZD17ZmFsc2V9XG4gICAgICAgICAgICAgICAgc3RlcD17c3RlcH1cbiAgICAgICAgICAgICAgICBtaW5WYWx1ZT17ZG9tYWluID8gZG9tYWluWzBdIDogMH1cbiAgICAgICAgICAgICAgICBtYXhWYWx1ZT17ZG9tYWluID8gZG9tYWluWzFdIDogMX1cbiAgICAgICAgICAgICAgICB2YWx1ZTE9e2N1cnJlbnRUaW1lfVxuICAgICAgICAgICAgICAgIG9uU2xpZGVyMUNoYW5nZT17b25TbGlkZXIxQ2hhbmdlfVxuICAgICAgICAgICAgICAgIGVuYWJsZUJhckRyYWc9e3RydWV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1NsaWRlcldyYXBwZXI+XG4gICAgICAgICAgICA8U3R5bGVkRG9tYWluIGNsYXNzTmFtZT1cImRvbWFpbi1lbmRcIj5cbiAgICAgICAgICAgICAgPHNwYW4+e3RpbWVFbmR9PC9zcGFuPlxuICAgICAgICAgICAgPC9TdHlsZWREb21haW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPFBsYXliYWNrQ29udHJvbHNcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImFuaW1hdGlvbi1jb250cm9sLXBsYXlwYXVzZVwiXG4gICAgICAgICAgICBzdGFydEFuaW1hdGlvbj17dG9nZ2xlQW5pbWF0aW9ufVxuICAgICAgICAgICAgaXNBbmltYXRpbmc9e2lzQW5pbWF0aW5nfVxuICAgICAgICAgICAgcGF1c2VBbmltYXRpb249e3RvZ2dsZUFuaW1hdGlvbn1cbiAgICAgICAgICAgIHJlc2V0QW5pbWF0aW9uPXtyZXNldEFuaW1hdGlvbn1cbiAgICAgICAgICAgIHNwZWVkPXtzcGVlZH1cbiAgICAgICAgICAgIGlzQW5pbWF0YWJsZT17aXNBbmltYXRhYmxlfVxuICAgICAgICAgICAgdXBkYXRlQW5pbWF0aW9uU3BlZWQ9e3VwZGF0ZUFuaW1hdGlvblNwZWVkfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvQW5pbWF0aW9uV2lkZ2V0SW5uZXI+XG4gICAgICAgIDxGbG9hdGluZ1RpbWVEaXNwbGF5XG4gICAgICAgICAgY3VycmVudFRpbWU9e2N1cnJlbnRUaW1lfVxuICAgICAgICAgIGRlZmF1bHRUaW1lRm9ybWF0PXtkZWZhdWx0VGltZUZvcm1hdH1cbiAgICAgICAgICB0aW1lRm9ybWF0PXt0aW1lRm9ybWF0fVxuICAgICAgICAgIHRpbWV6b25lPXt0aW1lem9uZX1cbiAgICAgICAgLz5cbiAgICAgIDwvQm90dG9tV2lkZ2V0SW5uZXI+XG4gICAgKTtcbiAgfTtcblxuICBBbmltYXRpb25Db250cm9sLmRlZmF1bHRQcm9wcyA9IHtcbiAgICB0b2dnbGVBbmltYXRpb246ICgpID0+IHt9LFxuICAgIHVwZGF0ZUFuaW1hdGlvblNwZWVkOiAoKSA9PiB7fSxcbiAgICBhbmltYXRpb25Db250cm9sUHJvcHM6IHt9LFxuICAgIGFuaW1hdGlvbkNvbmZpZzoge31cbiAgfTtcblxuICByZXR1cm4gQW5pbWF0aW9uQ29udHJvbDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgQW5pbWF0aW9uQ29udHJvbEZhY3Rvcnk7XG4iXX0=
113
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vYW5pbWF0aW9uLWNvbnRyb2wvYW5pbWF0aW9uLWNvbnRyb2wudHN4Il0sIm5hbWVzIjpbIlNMSURFUl9NQVJHSU5fUEFMTSIsIkFuaW1hdGlvbkNvbnRyb2xDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJwcm9wcyIsInRoZW1lIiwiYm90dG9tSW5uZXJQZFZlcnQiLCJib3R0b21Jbm5lclBkU2lkZSIsImJvdHRvbVBhbmVsR2FwIiwibWVkaWEiLCJwb3J0YWJsZSIsInBhbmVsQm9yZGVyQ29sb3IiLCJBbmltYXRpb25XaWRnZXRJbm5lciIsInBhbG0iLCJUSU1FTElORV9QTEFZQkFDS19TVFlMRSIsImZsZXgiLCJBbmltYXRpb25Db250cm9sRmFjdG9yeSIsImRlcHMiLCJQbGF5YmFja0NvbnRyb2xzRmFjdG9yeSIsIkZsb2F0aW5nVGltZURpc3BsYXlGYWN0b3J5IiwiVGltZWxpbmVTbGlkZXJGYWN0b3J5IiwiUGxheWJhY2tDb250cm9scyIsIkZsb2F0aW5nVGltZURpc3BsYXkiLCJUaW1lbGluZVNsaWRlciIsIkFuaW1hdGlvbkNvbnRyb2wiLCJjbGFzc05hbWUiLCJzdHlsZSIsImlzQW5pbWF0YWJsZSIsImlzQW5pbWF0aW5nIiwicmVzZXRBbmltYXRpb24iLCJ0b2dnbGVBbmltYXRpb24iLCJ1cGRhdGVBbmltYXRpb25TcGVlZCIsInNldFRpbWVsaW5lVmFsdWUiLCJzZXRBbmltYXRpb25XaW5kb3ciLCJ0aW1lbGluZSIsInNob3dUaW1lbGluZSIsInNob3dDb250cm9scyIsInNob3dUaW1lRGlzcGxheSIsImFuaW1hdGlvbldpbmRvdyIsInZhbHVlIiwic3BlZWQiLCJkZWZhdWx0VGltZUZvcm1hdCIsInRpbWVGb3JtYXQiLCJ0aW1lem9uZSIsImRlZmF1bHRQcm9wcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFHQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFHQTs7QUFDQTs7QUFDQTs7OztBQUVBLElBQU1B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QWMsRUFBRUcsZUFIbEI7QUFJRSxNQUFBLFdBQVcsRUFBRUYsV0FKZjtBQUtFLE1BQUEsY0FBYyxFQUFFRSxlQUxsQjtBQU1FLE1BQUEsY0FBYyxFQUFFRCxjQU5sQjtBQU9FLE1BQUEsS0FBSyxFQUFFVyxLQVBUO0FBUUUsTUFBQSxvQkFBb0IsRUFBRVQsb0JBUnhCO0FBU0UsTUFBQSx3QkFBd0IsRUFBRUUsa0JBVDVCO0FBVUUsTUFBQSxlQUFlLEVBQUVLO0FBVm5CLE1BRFcsR0FhVCxJQXJCTixDQUpGLEVBMkJHRCxlQUFlLGdCQUNkLGdDQUFDLG1CQUFEO0FBQ0UsTUFBQSxXQUFXLEVBQUVFLEtBRGY7QUFFRSxNQUFBLGlCQUFpQixFQUFFRSxpQkFGckI7QUFHRSxNQUFBLFVBQVUsRUFBRUMsVUFIZDtBQUlFLE1BQUEsUUFBUSxFQUFFQztBQUpaLE1BRGMsR0FPWixJQWxDTixDQURGO0FBc0NELEdBM0REOztBQTZEQW5CLEVBQUFBLGdCQUFnQixDQUFDb0IsWUFBakIsR0FBZ0M7QUFDOUJkLElBQUFBLGVBQWUsRUFBRSwyQkFBTSxDQUFFLENBREs7QUFFOUJDLElBQUFBLG9CQUFvQixFQUFFLGdDQUFNLENBQUU7QUFGQSxHQUFoQztBQUtBLFNBQU9QLGdCQUFQO0FBQ0Q7O2VBRWNSLHVCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5cbmltcG9ydCB7bWVkaWF9IGZyb20gJ0BrZXBsZXIuZ2wvc3R5bGVzJztcbmltcG9ydCB7VGltZWxpbmV9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5pbXBvcnQgVGltZWxpbmVTbGlkZXJGYWN0b3J5IGZyb20gJy4uL3RpbWVsaW5lLXNsaWRlcic7XG5pbXBvcnQgUGxheWJhY2tDb250cm9sc0ZhY3RvcnkgZnJvbSAnLi9wbGF5YmFjay1jb250cm9scyc7XG5pbXBvcnQgRmxvYXRpbmdUaW1lRGlzcGxheUZhY3RvcnkgZnJvbSAnLi9mbG9hdGluZy10aW1lLWRpc3BsYXknO1xuXG5jb25zdCBTTElERVJfTUFSR0lOX1BBTE0gPSA2O1xuXG5jb25zdCBBbmltYXRpb25Db250cm9sQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogJHtwcm9wcyA9PiBgJHtwcm9wcy50aGVtZS5ib3R0b21Jbm5lclBkVmVydH1weCAke3Byb3BzLnRoZW1lLmJvdHRvbUlubmVyUGRTaWRlfXB4YH07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3R0b21QYW5lbEdhcH1weDtcblxuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQm9yZGVyQ29sb3J9O1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJvcmRlckNvbG9yfTtcbiAgICBwYWRkaW5nOiAxMnB4IDEycHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgYH1cbmA7XG5cbmNvbnN0IEFuaW1hdGlvbldpZGdldElubmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIC5hbmltYXRpb24tY29udHJvbF9fdGltZS1zbGlkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLnBsYXliYWNrLWNvbnRyb2xzIHtcbiAgICBtYXJnaW4tbGVmdDogMTZweDtcbiAgfVxuXG4gICR7bWVkaWEucGFsbWBcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC5wbGF5YmFjay1jb250cm9scyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5hbmltYXRpb24tY29udHJvbF9fdGltZS1zbGlkZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5hbmltYXRpb24tY29udHJvbF9fdGltZS1kb21haW4ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMjRweDtcblxuICAgICAgJi5kb21haW4tc3RhcnQge1xuICAgICAgICBsZWZ0OiAke1NMSURFUl9NQVJHSU5fUEFMTX1weDtcbiAgICAgIH1cbiAgICAgICYuZG9tYWluLWVuZCB7XG4gICAgICAgIHJpZ2h0OiAke1NMSURFUl9NQVJHSU5fUEFMTX1weDtcbiAgICAgIH1cbiAgICB9XG4gIGB9O1xuYDtcblxuY29uc3QgVElNRUxJTkVfUExBWUJBQ0tfU1RZTEUgPSB7ZmxleDogMX07XG5cbmV4cG9ydCB0eXBlIEFuaW1hdGlvbkNvbnRyb2xQcm9wcyA9IHtcbiAgdGltZWxpbmU/OiBUaW1lbGluZTtcbiAgaXNBbmltYXRhYmxlPzogYm9vbGVhbjtcbiAgaXNBbmltYXRpbmc/OiBib29sZWFuO1xuICB1cGRhdGVBbmltYXRpb25TcGVlZD86ICh2YWw6IG51bWJlcikgPT4gdm9pZDtcbiAgc2V0QW5pbWF0aW9uV2luZG93PzogKGlkOiBzdHJpbmcpID0+IHZvaWQ7XG4gIHRvZ2dsZUFuaW1hdGlvbjogKCkgPT4gdm9pZDtcbiAgcmVzZXRBbmltYXRpb24/OiAoKSA9PiB2b2lkO1xuICBzZXRUaW1lbGluZVZhbHVlOiAodmFsdWU6IG51bWJlcltdKSA9PiB2b2lkO1xuICBzaG93VGltZURpc3BsYXk/OiBib29sZWFuO1xuICBzaG93VGltZWxpbmU/OiBib29sZWFuO1xuICBzaG93Q29udHJvbHM/OiBib29sZWFuO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIHN0eWxlPzogb2JqZWN0O1xufTtcblxuQW5pbWF0aW9uQ29udHJvbEZhY3RvcnkuZGVwcyA9IFtcbiAgUGxheWJhY2tDb250cm9sc0ZhY3RvcnksXG4gIEZsb2F0aW5nVGltZURpc3BsYXlGYWN0b3J5LFxuICBUaW1lbGluZVNsaWRlckZhY3Rvcnlcbl07XG5cbmZ1bmN0aW9uIEFuaW1hdGlvbkNvbnRyb2xGYWN0b3J5KFxuICBQbGF5YmFja0NvbnRyb2xzOiBSZXR1cm5UeXBlPHR5cGVvZiBQbGF5YmFja0NvbnRyb2xzRmFjdG9yeT4sXG4gIEZsb2F0aW5nVGltZURpc3BsYXk6IFJldHVyblR5cGU8dHlwZW9mIEZsb2F0aW5nVGltZURpc3BsYXlGYWN0b3J5PixcbiAgVGltZWxpbmVTbGlkZXI6IFJldHVyblR5cGU8dHlwZW9mIFRpbWVsaW5lU2xpZGVyRmFjdG9yeT5cbikge1xuICBjb25zdCBBbmltYXRpb25Db250cm9sOiBSZWFjdC5GQzxBbmltYXRpb25Db250cm9sUHJvcHM+ID0gKHtcbiAgICBjbGFzc05hbWUsXG4gICAgc3R5bGUsXG4gICAgaXNBbmltYXRhYmxlLFxuICAgIGlzQW5pbWF0aW5nLFxuICAgIHJlc2V0QW5pbWF0aW9uLFxuICAgIHRvZ2dsZUFuaW1hdGlvbixcbiAgICB1cGRhdGVBbmltYXRpb25TcGVlZCxcbiAgICBzZXRUaW1lbGluZVZhbHVlLFxuICAgIHNldEFuaW1hdGlvbldpbmRvdyxcbiAgICB0aW1lbGluZSxcbiAgICBzaG93VGltZWxpbmUgPSB0cnVlLFxuICAgIHNob3dDb250cm9scyA9IHRydWUsXG4gICAgc2hvd1RpbWVEaXNwbGF5ID0gdHJ1ZVxuICB9KSA9PiB7XG4gICAgaWYgKCF0aW1lbGluZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3Qge2FuaW1hdGlvbldpbmRvdywgdmFsdWUsIHNwZWVkLCBkZWZhdWx0VGltZUZvcm1hdCwgdGltZUZvcm1hdCwgdGltZXpvbmV9ID0gdGltZWxpbmU7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEFuaW1hdGlvbkNvbnRyb2xDb250YWluZXJcbiAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ2FuaW1hdGlvbi1jb250cm9sLWNvbnRhaW5lcicsIGNsYXNzTmFtZSl9XG4gICAgICA+XG4gICAgICAgIDxBbmltYXRpb25XaWRnZXRJbm5lciBjbGFzc05hbWU9XCJhbmltYXRpb24td2lkZ2V0LS1pbm5lclwiPlxuICAgICAgICAgIHtzaG93VGltZWxpbmUgPyAoXG4gICAgICAgICAgICA8VGltZWxpbmVTbGlkZXJcbiAgICAgICAgICAgICAgc3R5bGU9e1RJTUVMSU5FX1BMQVlCQUNLX1NUWUxFfVxuICAgICAgICAgICAgICB0aW1lbGluZT17dGltZWxpbmV9XG4gICAgICAgICAgICAgIHNldFRpbWVsaW5lVmFsdWU9e3NldFRpbWVsaW5lVmFsdWV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIHtzaG93Q29udHJvbHMgPyAoXG4gICAgICAgICAgICA8UGxheWJhY2tDb250cm9sc1xuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJhbmltYXRpb24tY29udHJvbC1wbGF5cGF1c2VcIlxuICAgICAgICAgICAgICBpc0FuaW1hdGFibGU9e2lzQW5pbWF0YWJsZX1cbiAgICAgICAgICAgICAgc3RhcnRBbmltYXRpb249e3RvZ2dsZUFuaW1hdGlvbn1cbiAgICAgICAgICAgICAgaXNBbmltYXRpbmc9e2lzQW5pbWF0aW5nfVxuICAgICAgICAgICAgICBwYXVzZUFuaW1hdGlvbj17dG9nZ2xlQW5pbWF0aW9ufVxuICAgICAgICAgICAgICByZXNldEFuaW1hdGlvbj17cmVzZXRBbmltYXRpb259XG4gICAgICAgICAgICAgIHNwZWVkPXtzcGVlZH1cbiAgICAgICAgICAgICAgdXBkYXRlQW5pbWF0aW9uU3BlZWQ9e3VwZGF0ZUFuaW1hdGlvblNwZWVkfVxuICAgICAgICAgICAgICBzZXRGaWx0ZXJBbmltYXRpb25XaW5kb3c9e3NldEFuaW1hdGlvbldpbmRvd31cbiAgICAgICAgICAgICAgYW5pbWF0aW9uV2luZG93PXthbmltYXRpb25XaW5kb3d9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L0FuaW1hdGlvbldpZGdldElubmVyPlxuICAgICAgICB7c2hvd1RpbWVEaXNwbGF5ID8gKFxuICAgICAgICAgIDxGbG9hdGluZ1RpbWVEaXNwbGF5XG4gICAgICAgICAgICBjdXJyZW50VGltZT17dmFsdWV9XG4gICAgICAgICAgICBkZWZhdWx0VGltZUZvcm1hdD17ZGVmYXVsdFRpbWVGb3JtYXR9XG4gICAgICAgICAgICB0aW1lRm9ybWF0PXt0aW1lRm9ybWF0fVxuICAgICAgICAgICAgdGltZXpvbmU9e3RpbWV6b25lfVxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9BbmltYXRpb25Db250cm9sQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgQW5pbWF0aW9uQ29udHJvbC5kZWZhdWx0UHJvcHMgPSB7XG4gICAgdG9nZ2xlQW5pbWF0aW9uOiAoKSA9PiB7fSxcbiAgICB1cGRhdGVBbmltYXRpb25TcGVlZDogKCkgPT4ge31cbiAgfTtcblxuICByZXR1cm4gQW5pbWF0aW9uQ29udHJvbDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgQW5pbWF0aW9uQ29udHJvbEZhY3Rvcnk7XG4iXX0=
@@ -1,13 +1,17 @@
1
- import { Component } from 'react';
1
+ import React, { Component } from 'react';
2
+ import { Timeline } from '@kepler.gl/types';
2
3
  interface AnimationControllerProps<T extends number | number[]> {
3
4
  isAnimating?: boolean;
4
5
  speed?: number;
5
- updateAnimation: (x: T) => void;
6
+ updateAnimation?: (x: T) => void;
7
+ setTimelineValue: (x: T) => void;
8
+ timeline?: Timeline;
6
9
  animationWindow?: string;
7
10
  steps?: number[] | null;
8
11
  domain: number[] | null;
9
12
  value: T;
10
13
  baseSpeed?: number;
14
+ children?: (isAnimating: boolean | undefined, startAnimation: () => void, pauseAnimation: () => void, resetAnimation: () => void, timeline: Timeline | undefined, setTimelineValue: (x: any) => void) => React.ReactElement | null;
11
15
  }
12
16
  declare class AnimationControllerType<T extends number | number[]> extends Component<AnimationControllerProps<T>> {
13
17
  }
@@ -1,23 +1,3 @@
1
- // Copyright (c) 2022 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
1
  "use strict";
22
2
 
23
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -133,32 +113,40 @@ function AnimationControllerFactory() {
133
113
  var _this$props = _this.props,
134
114
  domain = _this$props.domain,
135
115
  value = _this$props.value,
136
- animationWindow = _this$props.animationWindow;
116
+ animationWindow = _this$props.animationWindow,
117
+ updateAnimation = _this$props.updateAnimation;
137
118
 
138
119
  if (!domain) {
139
120
  return;
140
- }
121
+ } // interim solution while we fully migrate filter and layer controllers
122
+
123
+
124
+ var setTimelineValue = updateAnimation || _this.props.setTimelineValue;
141
125
 
142
126
  if (Array.isArray(value)) {
143
127
  if (animationWindow === _constants.ANIMATION_WINDOW.incremental) {
144
- _this.props.updateAnimation([value[0], value[0] + 1]);
128
+ setTimelineValue([value[0], value[0] + 1]);
145
129
  } else {
146
- _this.props.updateAnimation([domain[0], domain[0] + value[1] - value[0]]);
130
+ setTimelineValue([domain[0], domain[0] + value[1] - value[0]]);
147
131
  }
148
132
  } else {
149
- _this.props.updateAnimation(domain[0]);
133
+ setTimelineValue(domain[0]);
150
134
  }
151
135
  });
152
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_resetAnimtionByTimeStep", function () {
153
- var _this$props$steps = _this.props.steps,
154
- steps = _this$props$steps === void 0 ? null : _this$props$steps;
155
- if (!steps) return; // go to the first steps
136
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_resetAnimationByTimeStep", function () {
137
+ var _this$props2 = _this.props,
138
+ _this$props2$steps = _this$props2.steps,
139
+ steps = _this$props2$steps === void 0 ? null : _this$props2$steps,
140
+ updateAnimation = _this$props2.updateAnimation;
141
+ if (!steps) return; // interim solution while we fully migrate filter and layer controllers
156
142
 
157
- _this.props.updateAnimation([steps[0], 0]);
143
+ var setTimelineValue = updateAnimation || _this.props.setTimelineValue; // go to the first steps
144
+
145
+ setTimelineValue([steps[0], 0]);
158
146
  });
159
147
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_resetAnimation", function () {
160
148
  if (_this.props.animationWindow === _constants.ANIMATION_WINDOW.interval) {
161
- _this._resetAnimtionByTimeStep();
149
+ _this._resetAnimationByTimeStep();
162
150
  } else {
163
151
  _this._resetAnimationByDomain();
164
152
  }
@@ -210,9 +198,10 @@ function AnimationControllerFactory() {
210
198
  });
211
199
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_nextFrame", function () {
212
200
  _this._timer = null;
213
- var nextValue = _this.props.animationWindow === _constants.ANIMATION_WINDOW.interval ? _this._nextFrameByTimeStep() : _this._nextFrameByDomain();
201
+ var nextValue = _this.props.animationWindow === _constants.ANIMATION_WINDOW.interval ? _this._nextFrameByTimeStep() : _this._nextFrameByDomain(); // interim solution while we fully migrate filter and layer controllers
214
202
 
215
- _this.props.updateAnimation(nextValue);
203
+ var setTimelineValue = _this.props.updateAnimation || _this.props.setTimelineValue;
204
+ setTimelineValue(nextValue);
216
205
  });
217
206
  return _this;
218
207
  }
@@ -237,10 +226,10 @@ function AnimationControllerFactory() {
237
226
  }, {
238
227
  key: "_startOrPauseAnimation",
239
228
  value: function _startOrPauseAnimation() {
240
- var _this$props2 = this.props,
241
- isAnimating = _this$props2.isAnimating,
242
- _this$props2$speed = _this$props2.speed,
243
- speed = _this$props2$speed === void 0 ? 1 : _this$props2$speed;
229
+ var _this$props3 = this.props,
230
+ isAnimating = _this$props3.isAnimating,
231
+ _this$props3$speed = _this$props3.speed,
232
+ speed = _this$props3$speed === void 0 ? 1 : _this$props3$speed;
244
233
 
245
234
  if (!this._timer && isAnimating && speed > 0) {
246
235
  this._startAnimation();
@@ -251,14 +240,14 @@ function AnimationControllerFactory() {
251
240
  }, {
252
241
  key: "_nextFrameByDomain",
253
242
  value: function _nextFrameByDomain() {
254
- var _this$props3 = this.props,
255
- domain = _this$props3.domain,
256
- value = _this$props3.value,
257
- _this$props3$speed = _this$props3.speed,
258
- speed = _this$props3$speed === void 0 ? 1 : _this$props3$speed,
259
- _this$props3$baseSpee = _this$props3.baseSpeed,
260
- baseSpeed = _this$props3$baseSpee === void 0 ? 600 : _this$props3$baseSpee,
261
- animationWindow = _this$props3.animationWindow;
243
+ var _this$props4 = this.props,
244
+ domain = _this$props4.domain,
245
+ value = _this$props4.value,
246
+ _this$props4$speed = _this$props4.speed,
247
+ speed = _this$props4$speed === void 0 ? 1 : _this$props4$speed,
248
+ _this$props4$baseSpee = _this$props4.baseSpeed,
249
+ baseSpeed = _this$props4$baseSpee === void 0 ? 600 : _this$props4$baseSpee,
250
+ animationWindow = _this$props4.animationWindow;
262
251
 
263
252
  if (!domain) {
264
253
  return;
@@ -270,13 +259,16 @@ function AnimationControllerFactory() {
270
259
  if (Array.isArray(value)) {
271
260
  var value0;
272
261
  var value1;
273
- var readEnd = value[1] + delta > domain[1];
274
262
 
275
263
  if (animationWindow === _constants.ANIMATION_WINDOW.incremental) {
264
+ var lastFrame = value[1] + delta > domain[1];
276
265
  value0 = value[0];
277
- value1 = readEnd ? value[0] + 1 : value[1] + delta;
266
+ value1 = lastFrame ? value[0] + 1 : value[1] + delta;
278
267
  } else {
279
- value0 = readEnd ? domain[0] : value[0] + delta;
268
+ // use value[0] to display the last item duration as the first item
269
+ var _lastFrame = value[0] + delta > domain[1];
270
+
271
+ value0 = _lastFrame ? domain[0] : value[0] + delta;
280
272
  value1 = value0 + value[1] - value[0];
281
273
  }
282
274
 
@@ -289,14 +281,16 @@ function AnimationControllerFactory() {
289
281
  }, {
290
282
  key: "_nextFrameByTimeStep",
291
283
  value: function _nextFrameByTimeStep() {
292
- var _this$props4 = this.props,
293
- _this$props4$steps = _this$props4.steps,
294
- steps = _this$props4$steps === void 0 ? null : _this$props4$steps,
295
- value = _this$props4.value;
284
+ var _this$props5 = this.props,
285
+ _this$props5$steps = _this$props5.steps,
286
+ steps = _this$props5$steps === void 0 ? null : _this$props5$steps,
287
+ value = _this$props5.value;
296
288
  if (!steps) return;
297
289
  var val = Array.isArray(value) ? value[0] : Number(value);
298
290
  var index = (0, _d3Array.bisectLeft)(steps, val);
299
- var nextIdx = index >= steps.length - 1 ? 0 : index + 1;
291
+ var nextIdx = index >= steps.length - 1 ? 0 : index + 1; // why do we need to pass an array of two objects? are we reading nextIdx at some point?
292
+ // _nextFrameByDomain only returns one value
293
+
300
294
  return [steps[nextIdx], nextIdx];
301
295
  }
302
296
  }, {
@@ -304,7 +298,7 @@ function AnimationControllerFactory() {
304
298
  value: function render() {
305
299
  var isAnimating = this.state.isAnimating;
306
300
  var children = this.props.children;
307
- return typeof children === 'function' ? children(isAnimating, this._startAnimation, this._pauseAnimation, this._resetAnimation) : null;
301
+ return typeof children === 'function' ? children(isAnimating, this._startAnimation, this._pauseAnimation, this._resetAnimation, this.props.timeline, this.props.setTimelineValue) : null;
308
302
  }
309
303
  }]);
310
304
  return AnimationController;
@@ -321,4 +315,4 @@ function AnimationControllerFactory() {
321
315
 
322
316
  var _default = AnimationControllerFactory;
323
317
  exports["default"] = _default;
324
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vYW5pbWF0aW9uLWNvbnRyb2wvYW5pbWF0aW9uLWNvbnRyb2xsZXIudHMiXSwibmFtZXMiOlsiQW5pbWF0aW9uQ29udHJvbGxlclR5cGUiLCJDb21wb25lbnQiLCJBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeSIsIkFuaW1hdGlvbkNvbnRyb2xsZXIiLCJpc0FuaW1hdGluZyIsImRlbGF5IiwiX3N0YXJ0VGltZSIsIkRhdGUiLCJnZXRUaW1lIiwibG9vcCIsImN1cnJlbnQiLCJkZWx0YSIsIl9uZXh0RnJhbWUiLCJfdGltZXIiLCJwcm9wcyIsImRvbWFpbiIsInZhbHVlIiwiYW5pbWF0aW9uV2luZG93IiwiQXJyYXkiLCJpc0FycmF5IiwiQU5JTUFUSU9OX1dJTkRPVyIsImluY3JlbWVudGFsIiwidXBkYXRlQW5pbWF0aW9uIiwic3RlcHMiLCJpbnRlcnZhbCIsIl9yZXNldEFuaW10aW9uQnlUaW1lU3RlcCIsIl9yZXNldEFuaW1hdGlvbkJ5RG9tYWluIiwic3BlZWQiLCJfY2xlYXJUaW1lciIsImxlbmd0aCIsIkNvbnNvbGUiLCJ3YXJuIiwiQkFTRV9TUEVFRCIsIkZQUyIsIl9hbmltYXRlIiwic2V0U3RhdGUiLCJuZXh0VmFsdWUiLCJfbmV4dEZyYW1lQnlUaW1lU3RlcCIsIl9uZXh0RnJhbWVCeURvbWFpbiIsIl9zdGFydE9yUGF1c2VBbmltYXRpb24iLCJfc3RhcnRBbmltYXRpb24iLCJfcGF1c2VBbmltYXRpb24iLCJiYXNlU3BlZWQiLCJ2YWx1ZTAiLCJ2YWx1ZTEiLCJyZWFkRW5kIiwiTnVtYmVyIiwidmFsIiwiaW5kZXgiLCJuZXh0SWR4Iiwic3RhdGUiLCJjaGlsZHJlbiIsIl9yZXNldEFuaW1hdGlvbiIsImZyZWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7SUFhTUEsdUI7Ozs7Ozs7Ozs7O0VBQTZEQyxnQjs7QUFJbkUs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bEQsbUJBQVA7QUFDRDs7ZUFFY0QsMEIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQge0NvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtiaXNlY3RMZWZ0fSBmcm9tICdkMy1hcnJheSc7XG5pbXBvcnQge3JlcXVlc3RBbmltYXRpb25GcmFtZSwgY2FuY2VsQW5pbWF0aW9uRnJhbWV9IGZyb20gJ2dsb2JhbC93aW5kb3cnO1xuaW1wb3J0IENvbnNvbGUgZnJvbSAnZ2xvYmFsL2NvbnNvbGUnO1xuaW1wb3J0IHtCQVNFX1NQRUVELCBGUFMsIEFOSU1BVElPTl9XSU5ET1d9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcblxuaW50ZXJmYWNlIEFuaW1hdGlvbkNvbnRyb2xsZXJQcm9wczxUIGV4dGVuZHMgbnVtYmVyIHwgbnVtYmVyW10+IHtcbiAgaXNBbmltYXRpbmc/OiBib29sZWFuO1xuICBzcGVlZD86IG51bWJlcjtcbiAgdXBkYXRlQW5pbWF0aW9uOiAoeDogVCkgPT4gdm9pZDtcbiAgYW5pbWF0aW9uV2luZG93Pzogc3RyaW5nO1xuICBzdGVwcz86IG51bWJlcltdIHwgbnVsbDtcbiAgZG9tYWluOiBudW1iZXJbXSB8IG51bGw7XG4gIHZhbHVlOiBUO1xuICBiYXNlU3BlZWQ/OiBudW1iZXI7XG59XG5cbmNsYXNzIEFuaW1hdGlvbkNvbnRyb2xsZXJUeXBlPFQgZXh0ZW5kcyBudW1iZXIgfCBudW1iZXJbXT4gZXh0ZW5kcyBDb21wb25lbnQ8XG4gIEFuaW1hdGlvbkNvbnRyb2xsZXJQcm9wczxUPlxuPiB7fVxuXG5mdW5jdGlvbiBBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeSgpOiB0eXBlb2YgQW5pbWF0aW9uQ29udHJvbGxlclR5cGUge1xuICAvKipcbiAgICogNCBBbmltYXRpb24gV2luZG93IFR5cGVzXG4gICAqIDEuIGZyZWVcbiAgICogIHwtPiAgfC0+XG4gICAqIEN1cnJlbnQgdGltZSBpcyBhIGZpeGVkIHJhbmdlLCBhbmltYXRlIGEgbW92aW5nIHdpbmRvdyB0aGF0IGNhbGxzIG5leHQgYW5pbWF0aW9uIGZyYW1lcyBjb250aW51b3VzbHlcbiAgICogVGhlIGluY3JlbWVudCBpZCBiYXNlZCBvbiBkb21haW4gLyBCQVNFX1NQRUVEICogU1BFRURcbiAgICpcbiAgICogMi4gaW5jcmVtZW50YWxcbiAgICogfCAgICB8LT5cbiAgICogU2FtZSBhcyBmcmVlLCBjdXJyZW50IHRpbWUgaXMgYSBncm93aW5nIHJhbmdlLCBvbmx5IHRoZSBtYXggdmFsdWUgb2YgcmFuZ2UgaW5jcmVtZW50IGR1cmluZyBhbmltYXRpb24uXG4gICAqIFRoZSBpbmNyZW1lbnQgaXMgYWxzbyBiYXNlZCBvbiBkb21haW4gLyBCQVNFX1NQRUVEICogU1BFRURcbiAgICpcbiAgICogMy4gcG9pbnRcbiAgICogbyAtPiBvXG4gICAqIEN1cnJlbnQgdGltZSBpcyBhIHBvaW50LCBhbmltYXRlIGEgbW92aW5nIHBvaW50IGNhbGxzIG5leHQgYW5pbWF0aW9uIGZyYW1lIGNvbnRpbnVvdXNseVxuICAgKiBUaGUgaW5jcmVtZW50IGlzIGJhc2VkIG9uIGRvbWFpbiAvIEJBU0VfU1BFRUQgKiBTUEVFRFxuICAgKlxuICAgKiA0LiBpbnRlcnZhbFxuICAgKiBvIH4+IG9cbiAgICogQ3VycmVudCB0aW1lIGlzIGEgcG9pbnQuIEFuIGFycmF5IG9mIHNvcnRlZCB0aW1lIHN0ZXBzIGFyZSBwcm92aWRlZCxcbiAgICogYW5pbWF0ZSBhIG1vdmluZyBwb2ludCBqdW1wcyB0byB0aGUgbmV4dCBzdGVwXG4gICAqL1xuICBjbGFzcyBBbmltYXRpb25Db250cm9sbGVyPFQgZXh0ZW5kcyBudW1iZXIgfCBudW1iZXJbXT4gZXh0ZW5kcyBDb21wb25lbnQ8XG4gICAgQW5pbWF0aW9uQ29udHJvbGxlclByb3BzPFQ+XG4gID4ge1xuICAgIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgICBiYXNlU3BlZWQ6IEJBU0VfU1BFRUQsXG4gICAgICBzcGVlZDogMSxcbiAgICAgIHN0ZXBzOiBudWxsLFxuICAgICAgYW5pbWF0aW9uV2luZG93OiBBTklNQVRJT05fV0lORE9XLmZyZWVcbiAgICB9O1xuXG4gICAgc3RhdGUgPSB7XG4gICAgICBpc0FuaW1hdGluZzogZmFsc2VcbiAgICB9O1xuXG4gICAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgICB0aGlzLl9zdGFydE9yUGF1c2VBbmltYXRpb24oKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICB0aGlzLl9zdGFydE9yUGF1c2VBbmltYXRpb24oKTtcbiAgICB9XG5cbiAgICBjb21wb25lbnRXaWxsVW5tb3VudCgpIHtcbiAgICAgIGlmICh0aGlzLl90aW1lcikge1xuICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl90aW1lcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgX3RpbWVyID0gbnVsbDtcbiAgICBfc3RhcnRUaW1lOiBudW1iZXIgPSAwO1xuXG4gICAgX3N0YXJ0T3JQYXVzZUFuaW1hdGlvbigpIHtcbiAgICAgIGNvbnN0IHtpc0FuaW1hdGluZywgc3BlZWQgPSAxfSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAoIXRoaXMuX3RpbWVyICYmIGlzQW5pbWF0aW5nICYmIHNwZWVkID4gMCkge1xuICAgICAgICB0aGlzLl9zdGFydEFuaW1hdGlvbigpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLl90aW1lciAmJiAhaXNBbmltYXRpbmcpIHtcbiAgICAgICAgdGhpcy5fcGF1c2VBbmltYXRpb24oKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBfYW5pbWF0ZSA9IGRlbGF5ID0+IHtcbiAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuXG4gICAgICBjb25zdCBsb29wID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgIGNvbnN0IGRlbHRhID0gY3VycmVudCAtIHRoaXMuX3N0YXJ0VGltZTtcblxuICAgICAgICBpZiAoZGVsdGEgPj0gZGVsYXkpIHtcbiAgICAgICAgICB0aGlzLl9uZXh0RnJhbWUoKTtcbiAgICAgICAgICB0aGlzLl9zdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl90aW1lciA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShsb29wKTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgdGhpcy5fdGltZXIgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUobG9vcCk7XG4gICAgfTtcblxuICAgIF9yZXNldEFuaW1hdGlvbkJ5RG9tYWluID0gKCkgPT4ge1xuICAgICAgY29uc3Qge2RvbWFpbiwgdmFsdWUsIGFuaW1hdGlvbldpbmRvd30gPSB0aGlzLnByb3BzO1xuICAgICAgaWYgKCFkb21haW4pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIGlmIChhbmltYXRpb25XaW5kb3cgPT09IEFOSU1BVElPTl9XSU5ET1cuaW5jcmVtZW50YWwpIHtcbiAgICAgICAgICB0aGlzLnByb3BzLnVwZGF0ZUFuaW1hdGlvbihbdmFsdWVbMF0sIHZhbHVlWzBdICsgMV0gYXMgVCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5wcm9wcy51cGRhdGVBbmltYXRpb24oW2RvbWFpblswXSwgZG9tYWluWzBdICsgdmFsdWVbMV0gLSB2YWx1ZVswXV0gYXMgVCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucHJvcHMudXBkYXRlQW5pbWF0aW9uKGRvbWFpblswXSBhcyBUKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3Jlc2V0QW5pbXRpb25CeVRpbWVTdGVwID0gKCkgPT4ge1xuICAgICAgY29uc3Qge3N0ZXBzID0gbnVsbH0gPSB0aGlzLnByb3BzO1xuICAgICAgaWYgKCFzdGVwcykgcmV0dXJuO1xuICAgICAgLy8gZ28gdG8gdGhlIGZpcnN0IHN0ZXBzXG4gICAgICB0aGlzLnByb3BzLnVwZGF0ZUFuaW1hdGlvbihbc3RlcHNbMF0sIDBdIGFzIFQpO1xuICAgIH07XG5cbiAgICBfcmVzZXRBbmltYXRpb24gPSAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5wcm9wcy5hbmltYXRpb25XaW5kb3cgPT09IEFOSU1BVElPTl9XSU5ET1cuaW50ZXJ2YWwpIHtcbiAgICAgICAgdGhpcy5fcmVzZXRBbmltdGlvbkJ5VGltZVN0ZXAoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3Jlc2V0QW5pbWF0aW9uQnlEb21haW4oKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3N0YXJ0QW5pbWF0aW9uID0gKCkgPT4ge1xuICAgICAgY29uc3Qge3NwZWVkID0gMX0gPSB0aGlzLnByb3BzO1xuICAgICAgdGhpcy5fY2xlYXJUaW1lcigpO1xuICAgICAgaWYgKHNwZWVkID4gMCkge1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5hbmltYXRpb25XaW5kb3cgPT09IEFOSU1BVElPTl9XSU5ET1cuaW50ZXJ2YWwpIHtcbiAgICAgICAgICAvLyBhbmltYXRlIGJ5IGludGVydmFsXG4gICAgICAgICAgLy8gMzAqNjAwXG4gICAgICAgICAgY29uc3Qge3N0ZXBzfSA9IHRoaXMucHJvcHM7XG4gICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHN0ZXBzKSB8fCAhc3RlcHMubGVuZ3RoKSB7XG4gICAgICAgICAgICBDb25zb2xlLndhcm4oJ2FuaW1hdGlvbiBzdGVwcyBzaG91bGQgYmUgYW4gYXJyYXknKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gd2hlbiBzcGVlZCA9IDEsIGFuaW1hdGlvbiBzaG91bGQgbG9vcCB0aHJvdWdoIDYwMCBmcmFtZXMgYXQgNjAgRlBTXG4gICAgICAgICAgLy8gY2FsY3VsYXRlIGRlbGF5IGJhc2VkIG9uICMgc3RlcHNcbiAgICAgICAgICBjb25zdCBkZWxheSA9IChCQVNFX1NQRUVEICogKDEwMDAgLyBGUFMpKSAvIHN0ZXBzLmxlbmd0aCAvIChzcGVlZCB8fCAxKTtcbiAgICAgICAgICB0aGlzLl9hbmltYXRlKGRlbGF5KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl90aW1lciA9IHJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLl9uZXh0RnJhbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLnNldFN0YXRlKHtpc0FuaW1hdGluZzogdHJ1ZX0pO1xuICAgIH07XG5cbiAgICBfY2xlYXJUaW1lciA9ICgpID0+IHtcbiAgICAgIGlmICh0aGlzLl90aW1lcikge1xuICAgICAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl90aW1lcik7XG4gICAgICAgIHRoaXMuX3RpbWVyID0gbnVsbDtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3BhdXNlQW5pbWF0aW9uID0gKCkgPT4ge1xuICAgICAgdGhpcy5fY2xlYXJUaW1lcigpO1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7aXNBbmltYXRpbmc6IGZhbHNlfSk7XG4gICAgfTtcblxuICAgIF9uZXh0RnJhbWUgPSAoKSA9PiB7XG4gICAgICB0aGlzLl90aW1lciA9IG51bGw7XG4gICAgICBjb25zdCBuZXh0VmFsdWUgPVxuICAgICAgICB0aGlzLnByb3BzLmFuaW1hdGlvbldpbmRvdyA9PT0gQU5JTUFUSU9OX1dJTkRPVy5pbnRlcnZhbFxuICAgICAgICAgID8gdGhpcy5fbmV4dEZyYW1lQnlUaW1lU3RlcCgpXG4gICAgICAgICAgOiB0aGlzLl9uZXh0RnJhbWVCeURvbWFpbigpO1xuXG4gICAgICB0aGlzLnByb3BzLnVwZGF0ZUFuaW1hdGlvbihuZXh0VmFsdWUgYXMgVCk7XG4gICAgfTtcblxuICAgIF9uZXh0RnJhbWVCeURvbWFpbigpIHtcbiAgICAgIGNvbnN0IHtkb21haW4sIHZhbHVlLCBzcGVlZCA9IDEsIGJhc2VTcGVlZCA9IDYwMCwgYW5pbWF0aW9uV2luZG93fSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAoIWRvbWFpbikge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBjb25zdCBkZWx0YSA9ICgoZG9tYWluWzFdIC0gZG9tYWluWzBdKSAvIGJhc2VTcGVlZCkgKiBzcGVlZDtcblxuICAgICAgLy8gbG9vcCB3aGVuIHJlYWNoZXMgdGhlIGVuZFxuICAgICAgLy8gY3VycmVudCB0aW1lIGlzIGEgcmFuZ2VcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICBsZXQgdmFsdWUwOiBudW1iZXI7XG4gICAgICAgIGxldCB2YWx1ZTE6IG51bWJlcjtcbiAgICAgICAgY29uc3QgcmVhZEVuZCA9IHZhbHVlWzFdICsgZGVsdGEgPiBkb21haW5bMV07XG4gICAgICAgIGlmIChhbmltYXRpb25XaW5kb3cgPT09IEFOSU1BVElPTl9XSU5ET1cuaW5jcmVtZW50YWwpIHtcbiAgICAgICAgICB2YWx1ZTAgPSB2YWx1ZVswXTtcbiAgICAgICAgICB2YWx1ZTEgPSByZWFkRW5kID8gdmFsdWVbMF0gKyAxIDogdmFsdWVbMV0gKyBkZWx0YTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YWx1ZTAgPSByZWFkRW5kID8gZG9tYWluWzBdIDogdmFsdWVbMF0gKyBkZWx0YTtcbiAgICAgICAgICB2YWx1ZTEgPSB2YWx1ZTAgKyB2YWx1ZVsxXSAtIHZhbHVlWzBdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbdmFsdWUwLCB2YWx1ZTFdO1xuICAgICAgfVxuXG4gICAgICAvLyBjdXJyZW50IHRpbWUgaXMgYSBwb2ludFxuICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZSkgKyBkZWx0YSA+IGRvbWFpblsxXSA/IGRvbWFpblswXSA6IE51bWJlcih2YWx1ZSkgKyBkZWx0YTtcbiAgICB9XG5cbiAgICBfbmV4dEZyYW1lQnlUaW1lU3RlcCgpIHtcbiAgICAgIGNvbnN0IHtzdGVwcyA9IG51bGwsIHZhbHVlfSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAoIXN0ZXBzKSByZXR1cm47XG4gICAgICBjb25zdCB2YWwgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlWzBdIDogTnVtYmVyKHZhbHVlKTtcbiAgICAgIGNvbnN0IGluZGV4ID0gYmlzZWN0TGVmdChzdGVwcywgdmFsKTtcbiAgICAgIGNvbnN0IG5leHRJZHggPSBpbmRleCA+PSBzdGVwcy5sZW5ndGggLSAxID8gMCA6IGluZGV4ICsgMTtcblxuICAgICAgcmV0dXJuIFtzdGVwc1tuZXh0SWR4XSwgbmV4dElkeF07XG4gICAgfVxuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge2lzQW5pbWF0aW5nfSA9IHRoaXMuc3RhdGU7XG4gICAgICBjb25zdCB7Y2hpbGRyZW59ID0gdGhpcy5wcm9wcztcblxuICAgICAgcmV0dXJuIHR5cGVvZiBjaGlsZHJlbiA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICA/IGNoaWxkcmVuKGlzQW5pbWF0aW5nLCB0aGlzLl9zdGFydEFuaW1hdGlvbiwgdGhpcy5fcGF1c2VBbmltYXRpb24sIHRoaXMuX3Jlc2V0QW5pbWF0aW9uKVxuICAgICAgICA6IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIEFuaW1hdGlvbkNvbnRyb2xsZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFuaW1hdGlvbkNvbnRyb2xsZXJGYWN0b3J5O1xuIl19
318
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vYW5pbWF0aW9uLWNvbnRyb2wvYW5pbWF0aW9uLWNvbnRyb2xsZXIudHMiXSwibmFtZXMiOlsiQW5pbWF0aW9uQ29udHJvbGxlclR5cGUiLCJDb21wb25lbnQiLCJBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeSIsIkFuaW1hdGlvbkNvbnRyb2xsZXIiLCJpc0FuaW1hdGluZyIsImRlbGF5IiwiX3N0YXJ0VGltZSIsIkRhdGUiLCJnZXRUaW1lIiwibG9vcCIsImN1cnJlbnQiLCJkZWx0YSIsIl9uZXh0RnJhbWUiLCJfdGltZXIiLCJwcm9wcyIsImRvbWFpbiIsInZhbHVlIiwiYW5pbWF0aW9uV2luZG93IiwidXBkYXRlQW5pbWF0aW9uIiwic2V0VGltZWxpbmVWYWx1ZSIsIkFycmF5IiwiaXNBcnJheSIsIkFOSU1BVElPTl9XSU5ET1ciLCJpbmNyZW1lbnRhbCIsInN0ZXBzIiwiaW50ZXJ2YWwiLCJfcmVzZXRBbmltYXRpb25CeVRpbWVTdGVwIiwiX3Jlc2V0QW5pbWF0aW9uQnlEb21haW4iLCJzcGVlZCIsIl9jbGVhclRpbWVyIiwibGVuZ3RoIiwiQ29uc29sZSIsIndhcm4iLCJCQVNFX1NQRUVEIiwiRlBTIiwiX2FuaW1hdGUiLCJzZXRTdGF0ZSIsIm5leHRWYWx1ZSIsIl9uZXh0RnJhbWVCeVRpbWVTdGVwIiwiX25leHRGcmFtZUJ5RG9tYWluIiwiX3N0YXJ0T3JQYXVzZUFuaW1hdGlvbiIsIl9zdGFydEFuaW1hdGlvbiIsIl9wYXVzZUFuaW1hdGlvbiIsImJhc2VTcGVlZCIsInZhbHVlMCIsInZhbHVlMSIsImxhc3RGcmFtZSIsIk51bWJlciIsInZhbCIsImluZGV4IiwibmV4dElkeCIsInN0YXRlIiwiY2hpbGRyZW4iLCJfcmVzZXRBbmltYXRpb24iLCJ0aW1lbGluZSIsImZyZWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztJQXdC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QSxHQUNlLEtBQUsrQyxLQURwQixDQUNBL0MsV0FEQTtBQUFBLFlBRUFnRCxRQUZBLEdBRVksS0FBS3RDLEtBRmpCLENBRUFzQyxRQUZBO0FBSVAsZUFBTyxPQUFPQSxRQUFQLEtBQW9CLFVBQXBCLEdBQ0hBLFFBQVEsQ0FDTmhELFdBRE0sRUFFTixLQUFLcUMsZUFGQyxFQUdOLEtBQUtDLGVBSEMsRUFJTixLQUFLVyxlQUpDLEVBS04sS0FBS3ZDLEtBQUwsQ0FBV3dDLFFBTEwsRUFNTixLQUFLeEMsS0FBTCxDQUFXSyxnQkFOTCxDQURMLEdBU0gsSUFUSjtBQVVEO0FBNU5pRTtBQUFBO0FBQUEsSUF1QkxsQixnQkF2Qks7O0FBQUEsbUNBdUI5REUsbUJBdkI4RCxrQkEwQjVDO0FBQ3BCd0MsSUFBQUEsU0FBUyxFQUFFVixxQkFEUztBQUVwQkwsSUFBQUEsS0FBSyxFQUFFLENBRmE7QUFHcEJKLElBQUFBLEtBQUssRUFBRSxJQUhhO0FBSXBCUCxJQUFBQSxlQUFlLEVBQUVLLDRCQUFpQmlDO0FBSmQsR0ExQjRDO0FBK05wRSxTQUFPcEQsbUJBQVA7QUFDRDs7ZUFFY0QsMEIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnR9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7YmlzZWN0TGVmdH0gZnJvbSAnZDMtYXJyYXknO1xuaW1wb3J0IHtyZXF1ZXN0QW5pbWF0aW9uRnJhbWUsIGNhbmNlbEFuaW1hdGlvbkZyYW1lfSBmcm9tICdnbG9iYWwvd2luZG93JztcbmltcG9ydCBDb25zb2xlIGZyb20gJ2dsb2JhbC9jb25zb2xlJztcbmltcG9ydCB7QkFTRV9TUEVFRCwgRlBTLCBBTklNQVRJT05fV0lORE9XfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge1RpbWVsaW5lfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuaW50ZXJmYWNlIEFuaW1hdGlvbkNvbnRyb2xsZXJQcm9wczxUIGV4dGVuZHMgbnVtYmVyIHwgbnVtYmVyW10+IHtcbiAgaXNBbmltYXRpbmc/OiBib29sZWFuO1xuICBzcGVlZD86IG51bWJlcjtcbiAgdXBkYXRlQW5pbWF0aW9uPzogKHg6IFQpID0+IHZvaWQ7XG4gIHNldFRpbWVsaW5lVmFsdWU6ICh4OiBUKSA9PiB2b2lkO1xuICB0aW1lbGluZT86IFRpbWVsaW5lO1xuICBhbmltYXRpb25XaW5kb3c/OiBzdHJpbmc7XG4gIHN0ZXBzPzogbnVtYmVyW10gfCBudWxsO1xuICBkb21haW46IG51bWJlcltdIHwgbnVsbDtcbiAgdmFsdWU6IFQ7XG4gIGJhc2VTcGVlZD86IG51bWJlcjtcbiAgY2hpbGRyZW4/OiAoXG4gICAgaXNBbmltYXRpbmc6IGJvb2xlYW4gfCB1bmRlZmluZWQsXG4gICAgc3RhcnRBbmltYXRpb246ICgpID0+IHZvaWQsXG4gICAgcGF1c2VBbmltYXRpb246ICgpID0+IHZvaWQsXG4gICAgcmVzZXRBbmltYXRpb246ICgpID0+IHZvaWQsXG4gICAgdGltZWxpbmU6IFRpbWVsaW5lIHwgdW5kZWZpbmVkLFxuICAgIHNldFRpbWVsaW5lVmFsdWU6ICh4OiBhbnkpID0+IHZvaWRcbiAgKSA9PiBSZWFjdC5SZWFjdEVsZW1lbnQgfCBudWxsO1xufVxuXG5jbGFzcyBBbmltYXRpb25Db250cm9sbGVyVHlwZTxUIGV4dGVuZHMgbnVtYmVyIHwgbnVtYmVyW10+IGV4dGVuZHMgQ29tcG9uZW50PFxuICBBbmltYXRpb25Db250cm9sbGVyUHJvcHM8VD5cbj4ge31cblxuZnVuY3Rpb24gQW5pbWF0aW9uQ29udHJvbGxlckZhY3RvcnkoKTogdHlwZW9mIEFuaW1hdGlvbkNvbnRyb2xsZXJUeXBlIHtcbiAgLyoqXG4gICAqIDQgQW5pbWF0aW9uIFdpbmRvdyBUeXBlc1xuICAgKiAxLiBmcmVlXG4gICAqICB8LT4gIHwtPlxuICAgKiBDdXJyZW50IHRpbWUgaXMgYSBmaXhlZCByYW5nZSwgYW5pbWF0ZSBhIG1vdmluZyB3aW5kb3cgdGhhdCBjYWxscyBuZXh0IGFuaW1hdGlvbiBmcmFtZXMgY29udGludW91c2x5XG4gICAqIFRoZSBpbmNyZW1lbnQgaWQgYmFzZWQgb24gZG9tYWluIC8gQkFTRV9TUEVFRCAqIFNQRUVEXG4gICAqXG4gICAqIDIuIGluY3JlbWVudGFsXG4gICAqIHwgICAgfC0+XG4gICAqIFNhbWUgYXMgZnJlZSwgY3VycmVudCB0aW1lIGlzIGEgZ3Jvd2luZyByYW5nZSwgb25seSB0aGUgbWF4IHZhbHVlIG9mIHJhbmdlIGluY3JlbWVudCBkdXJpbmcgYW5pbWF0aW9uLlxuICAgKiBUaGUgaW5jcmVtZW50IGlzIGFsc28gYmFzZWQgb24gZG9tYWluIC8gQkFTRV9TUEVFRCAqIFNQRUVEXG4gICAqXG4gICAqIDMuIHBvaW50XG4gICAqIG8gLT4gb1xuICAgKiBDdXJyZW50IHRpbWUgaXMgYSBwb2ludCwgYW5pbWF0ZSBhIG1vdmluZyBwb2ludCBjYWxscyBuZXh0IGFuaW1hdGlvbiBmcmFtZSBjb250aW51b3VzbHlcbiAgICogVGhlIGluY3JlbWVudCBpcyBiYXNlZCBvbiBkb21haW4gLyBCQVNFX1NQRUVEICogU1BFRURcbiAgICpcbiAgICogNC4gaW50ZXJ2YWxcbiAgICogbyB+PiBvXG4gICAqIEN1cnJlbnQgdGltZSBpcyBhIHBvaW50LiBBbiBhcnJheSBvZiBzb3J0ZWQgdGltZSBzdGVwcyBhcmUgcHJvdmlkZWQsXG4gICAqIGFuaW1hdGUgYSBtb3ZpbmcgcG9pbnQganVtcHMgdG8gdGhlIG5leHQgc3RlcFxuICAgKi9cbiAgY2xhc3MgQW5pbWF0aW9uQ29udHJvbGxlcjxUIGV4dGVuZHMgbnVtYmVyIHwgbnVtYmVyW10+IGV4dGVuZHMgQ29tcG9uZW50PFxuICAgIEFuaW1hdGlvbkNvbnRyb2xsZXJQcm9wczxUPlxuICA+IHtcbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgYmFzZVNwZWVkOiBCQVNFX1NQRUVELFxuICAgICAgc3BlZWQ6IDEsXG4gICAgICBzdGVwczogbnVsbCxcbiAgICAgIGFuaW1hdGlvbldpbmRvdzogQU5JTUFUSU9OX1dJTkRPVy5mcmVlXG4gICAgfTtcblxuICAgIHN0YXRlID0ge1xuICAgICAgaXNBbmltYXRpbmc6IGZhbHNlXG4gICAgfTtcblxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgdGhpcy5fc3RhcnRPclBhdXNlQW5pbWF0aW9uKCk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50RGlkVXBkYXRlKCkge1xuICAgICAgdGhpcy5fc3RhcnRPclBhdXNlQW5pbWF0aW9uKCk7XG4gICAgfVxuXG4gICAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgICBpZiAodGhpcy5fdGltZXIpIHtcbiAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fdGltZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIF90aW1lciA9IG51bGw7XG4gICAgX3N0YXJ0VGltZTogbnVtYmVyID0gMDtcblxuICAgIF9zdGFydE9yUGF1c2VBbmltYXRpb24oKSB7XG4gICAgICBjb25zdCB7aXNBbmltYXRpbmcsIHNwZWVkID0gMX0gPSB0aGlzLnByb3BzO1xuICAgICAgaWYgKCF0aGlzLl90aW1lciAmJiBpc0FuaW1hdGluZyAmJiBzcGVlZCA+IDApIHtcbiAgICAgICAgdGhpcy5fc3RhcnRBbmltYXRpb24oKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5fdGltZXIgJiYgIWlzQW5pbWF0aW5nKSB7XG4gICAgICAgIHRoaXMuX3BhdXNlQW5pbWF0aW9uKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgX2FuaW1hdGUgPSBkZWxheSA9PiB7XG4gICAgICB0aGlzLl9zdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcblxuICAgICAgY29uc3QgbG9vcCA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudCA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgICAgICBjb25zdCBkZWx0YSA9IGN1cnJlbnQgLSB0aGlzLl9zdGFydFRpbWU7XG5cbiAgICAgICAgaWYgKGRlbHRhID49IGRlbGF5KSB7XG4gICAgICAgICAgdGhpcy5fbmV4dEZyYW1lKCk7XG4gICAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fdGltZXIgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUobG9vcCk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHRoaXMuX3RpbWVyID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGxvb3ApO1xuICAgIH07XG5cbiAgICBfcmVzZXRBbmltYXRpb25CeURvbWFpbiA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHtkb21haW4sIHZhbHVlLCBhbmltYXRpb25XaW5kb3csIHVwZGF0ZUFuaW1hdGlvbn0gPSB0aGlzLnByb3BzO1xuICAgICAgaWYgKCFkb21haW4pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgLy8gaW50ZXJpbSBzb2x1dGlvbiB3aGlsZSB3ZSBmdWxseSBtaWdyYXRlIGZpbHRlciBhbmQgbGF5ZXIgY29udHJvbGxlcnNcbiAgICAgIGNvbnN0IHNldFRpbWVsaW5lVmFsdWUgPSB1cGRhdGVBbmltYXRpb24gfHwgdGhpcy5wcm9wcy5zZXRUaW1lbGluZVZhbHVlO1xuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgaWYgKGFuaW1hdGlvbldpbmRvdyA9PT0gQU5JTUFUSU9OX1dJTkRPVy5pbmNyZW1lbnRhbCkge1xuICAgICAgICAgIHNldFRpbWVsaW5lVmFsdWUoW3ZhbHVlWzBdLCB2YWx1ZVswXSArIDFdIGFzIFQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNldFRpbWVsaW5lVmFsdWUoW2RvbWFpblswXSwgZG9tYWluWzBdICsgdmFsdWVbMV0gLSB2YWx1ZVswXV0gYXMgVCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldFRpbWVsaW5lVmFsdWUoZG9tYWluWzBdIGFzIFQpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfcmVzZXRBbmltYXRpb25CeVRpbWVTdGVwID0gKCkgPT4ge1xuICAgICAgY29uc3Qge3N0ZXBzID0gbnVsbCwgdXBkYXRlQW5pbWF0aW9ufSA9IHRoaXMucHJvcHM7XG4gICAgICBpZiAoIXN0ZXBzKSByZXR1cm47XG4gICAgICAvLyBpbnRlcmltIHNvbHV0aW9uIHdoaWxlIHdlIGZ1bGx5IG1pZ3JhdGUgZmlsdGVyIGFuZCBsYXllciBjb250cm9sbGVyc1xuICAgICAgY29uc3Qgc2V0VGltZWxpbmVWYWx1ZSA9IHVwZGF0ZUFuaW1hdGlvbiB8fCB0aGlzLnByb3BzLnNldFRpbWVsaW5lVmFsdWU7XG5cbiAgICAgIC8vIGdvIHRvIHRoZSBmaXJzdCBzdGVwc1xuICAgICAgc2V0VGltZWxpbmVWYWx1ZShbc3RlcHNbMF0sIDBdIGFzIFQpO1xuICAgIH07XG5cbiAgICBfcmVzZXRBbmltYXRpb24gPSAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5wcm9wcy5hbmltYXRpb25XaW5kb3cgPT09IEFOSU1BVElPTl9XSU5ET1cuaW50ZXJ2YWwpIHtcbiAgICAgICAgdGhpcy5fcmVzZXRBbmltYXRpb25CeVRpbWVTdGVwKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9yZXNldEFuaW1hdGlvbkJ5RG9tYWluKCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9zdGFydEFuaW1hdGlvbiA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHtzcGVlZCA9IDF9ID0gdGhpcy5wcm9wcztcbiAgICAgIHRoaXMuX2NsZWFyVGltZXIoKTtcbiAgICAgIGlmIChzcGVlZCA+IDApIHtcbiAgICAgICAgaWYgKHRoaXMucHJvcHMuYW5pbWF0aW9uV2luZG93ID09PSBBTklNQVRJT05fV0lORE9XLmludGVydmFsKSB7XG4gICAgICAgICAgLy8gYW5pbWF0ZSBieSBpbnRlcnZhbFxuICAgICAgICAgIC8vIDMwKjYwMFxuICAgICAgICAgIGNvbnN0IHtzdGVwc30gPSB0aGlzLnByb3BzO1xuICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShzdGVwcykgfHwgIXN0ZXBzLmxlbmd0aCkge1xuICAgICAgICAgICAgQ29uc29sZS53YXJuKCdhbmltYXRpb24gc3RlcHMgc2hvdWxkIGJlIGFuIGFycmF5Jyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIHdoZW4gc3BlZWQgPSAxLCBhbmltYXRpb24gc2hvdWxkIGxvb3AgdGhyb3VnaCA2MDAgZnJhbWVzIGF0IDYwIEZQU1xuICAgICAgICAgIC8vIGNhbGN1bGF0ZSBkZWxheSBiYXNlZCBvbiAjIHN0ZXBzXG4gICAgICAgICAgY29uc3QgZGVsYXkgPSAoQkFTRV9TUEVFRCAqICgxMDAwIC8gRlBTKSkgLyBzdGVwcy5sZW5ndGggLyAoc3BlZWQgfHwgMSk7XG4gICAgICAgICAgdGhpcy5fYW5pbWF0ZShkZWxheSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fdGltZXIgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5fbmV4dEZyYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5zZXRTdGF0ZSh7aXNBbmltYXRpbmc6IHRydWV9KTtcbiAgICB9O1xuXG4gICAgX2NsZWFyVGltZXIgPSAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5fdGltZXIpIHtcbiAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fdGltZXIpO1xuICAgICAgICB0aGlzLl90aW1lciA9IG51bGw7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9wYXVzZUFuaW1hdGlvbiA9ICgpID0+IHtcbiAgICAgIHRoaXMuX2NsZWFyVGltZXIoKTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe2lzQW5pbWF0aW5nOiBmYWxzZX0pO1xuICAgIH07XG5cbiAgICBfbmV4dEZyYW1lID0gKCkgPT4ge1xuICAgICAgdGhpcy5fdGltZXIgPSBudWxsO1xuICAgICAgY29uc3QgbmV4dFZhbHVlID1cbiAgICAgICAgdGhpcy5wcm9wcy5hbmltYXRpb25XaW5kb3cgPT09IEFOSU1BVElPTl9XSU5ET1cuaW50ZXJ2YWxcbiAgICAgICAgICA/IHRoaXMuX25leHRGcmFtZUJ5VGltZVN0ZXAoKVxuICAgICAgICAgIDogdGhpcy5fbmV4dEZyYW1lQnlEb21haW4oKTtcblxuICAgICAgLy8gaW50ZXJpbSBzb2x1dGlvbiB3aGlsZSB3ZSBmdWxseSBtaWdyYXRlIGZpbHRlciBhbmQgbGF5ZXIgY29udHJvbGxlcnNcbiAgICAgIGNvbnN0IHNldFRpbWVsaW5lVmFsdWUgPSB0aGlzLnByb3BzLnVwZGF0ZUFuaW1hdGlvbiB8fCB0aGlzLnByb3BzLnNldFRpbWVsaW5lVmFsdWU7XG4gICAgICBzZXRUaW1lbGluZVZhbHVlKG5leHRWYWx1ZSBhcyBUKTtcbiAgICB9O1xuXG4gICAgX25leHRGcmFtZUJ5RG9tYWluKCkge1xuICAgICAgY29uc3Qge2RvbWFpbiwgdmFsdWUsIHNwZWVkID0gMSwgYmFzZVNwZWVkID0gNjAwLCBhbmltYXRpb25XaW5kb3d9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICghZG9tYWluKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRlbHRhID0gKChkb21haW5bMV0gLSBkb21haW5bMF0pIC8gYmFzZVNwZWVkKSAqIHNwZWVkO1xuXG4gICAgICAvLyBsb29wIHdoZW4gcmVhY2hlcyB0aGUgZW5kXG4gICAgICAvLyBjdXJyZW50IHRpbWUgaXMgYSByYW5nZVxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIGxldCB2YWx1ZTA6IG51bWJlcjtcbiAgICAgICAgbGV0IHZhbHVlMTogbnVtYmVyO1xuICAgICAgICBpZiAoYW5pbWF0aW9uV2luZG93ID09PSBBTklNQVRJT05fV0lORE9XLmluY3JlbWVudGFsKSB7XG4gICAgICAgICAgY29uc3QgbGFzdEZyYW1lID0gdmFsdWVbMV0gKyBkZWx0YSA+IGRvbWFpblsxXTtcbiAgICAgICAgICB2YWx1ZTAgPSB2YWx1ZVswXTtcbiAgICAgICAgICB2YWx1ZTEgPSBsYXN0RnJhbWUgPyB2YWx1ZVswXSArIDEgOiB2YWx1ZVsxXSArIGRlbHRhO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIHVzZSB2YWx1ZVswXSB0byBkaXNwbGF5IHRoZSBsYXN0IGl0ZW0gIGR1cmF0aW9uIGFzIHRoZSBmaXJzdCBpdGVtXG4gICAgICAgICAgY29uc3QgbGFzdEZyYW1lID0gdmFsdWVbMF0gKyBkZWx0YSA+IGRvbWFpblsxXTtcbiAgICAgICAgICB2YWx1ZTAgPSBsYXN0RnJhbWUgPyBkb21haW5bMF0gOiB2YWx1ZVswXSArIGRlbHRhO1xuICAgICAgICAgIHZhbHVlMSA9IHZhbHVlMCArIHZhbHVlWzFdIC0gdmFsdWVbMF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFt2YWx1ZTAsIHZhbHVlMV07XG4gICAgICB9XG5cbiAgICAgIC8vIGN1cnJlbnQgdGltZSBpcyBhIHBvaW50XG4gICAgICByZXR1cm4gTnVtYmVyKHZhbHVlKSArIGRlbHRhID4gZG9tYWluWzFdID8gZG9tYWluWzBdIDogTnVtYmVyKHZhbHVlKSArIGRlbHRhO1xuICAgIH1cblxuICAgIF9uZXh0RnJhbWVCeVRpbWVTdGVwKCkge1xuICAgICAgY29uc3Qge3N0ZXBzID0gbnVsbCwgdmFsdWV9ID0gdGhpcy5wcm9wcztcbiAgICAgIGlmICghc3RlcHMpIHJldHVybjtcbiAgICAgIGNvbnN0IHZhbCA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWVbMF0gOiBOdW1iZXIodmFsdWUpO1xuICAgICAgY29uc3QgaW5kZXggPSBiaXNlY3RMZWZ0KHN0ZXBzLCB2YWwpO1xuICAgICAgY29uc3QgbmV4dElkeCA9IGluZGV4ID49IHN0ZXBzLmxlbmd0aCAtIDEgPyAwIDogaW5kZXggKyAxO1xuXG4gICAgICAvLyB3aHkgZG8gd2UgbmVlZCB0byBwYXNzIGFuIGFycmF5IG9mIHR3byBvYmplY3RzPyBhcmUgd2UgcmVhZGluZyBuZXh0SWR4IGF0IHNvbWUgcG9pbnQ/XG4gICAgICAvLyBfbmV4dEZyYW1lQnlEb21haW4gb25seSByZXR1cm5zIG9uZSB2YWx1ZVxuICAgICAgcmV0dXJuIFtzdGVwc1tuZXh0SWR4XSwgbmV4dElkeF07XG4gICAgfVxuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge2lzQW5pbWF0aW5nfSA9IHRoaXMuc3RhdGU7XG4gICAgICBjb25zdCB7Y2hpbGRyZW59ID0gdGhpcy5wcm9wcztcblxuICAgICAgcmV0dXJuIHR5cGVvZiBjaGlsZHJlbiA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICA/IGNoaWxkcmVuKFxuICAgICAgICAgICAgaXNBbmltYXRpbmcsXG4gICAgICAgICAgICB0aGlzLl9zdGFydEFuaW1hdGlvbixcbiAgICAgICAgICAgIHRoaXMuX3BhdXNlQW5pbWF0aW9uLFxuICAgICAgICAgICAgdGhpcy5fcmVzZXRBbmltYXRpb24sXG4gICAgICAgICAgICB0aGlzLnByb3BzLnRpbWVsaW5lLFxuICAgICAgICAgICAgdGhpcy5wcm9wcy5zZXRUaW1lbGluZVZhbHVlXG4gICAgICAgICAgKVxuICAgICAgICA6IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIEFuaW1hdGlvbkNvbnRyb2xsZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFuaW1hdGlvbkNvbnRyb2xsZXJGYWN0b3J5O1xuIl19
@@ -1,23 +1,3 @@
1
- // Copyright (c) 2022 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
1
  "use strict";
22
2
 
23
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -117,4 +97,4 @@ function AnimationSpeedSliderFactory(RangeSlider) {
117
97
 
118
98
  return (0, _reactOnclickoutside["default"])(AnimationSpeedSlider);
119
99
  }
120
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vYW5pbWF0aW9uLWNvbnRyb2wvYW5pbWF0aW9uLXNwZWVkLXNsaWRlci50c3giXSwibmFtZXMiOlsiU2xpZGVyV3JhcHBlciIsInN0eWxlZCIsImRpdiIsIlNwZWVkU2xpZGVyQ29udGFpbmVyIiwicHJvcHMiLCJ0aGVtZSIsImJvdHRvbVdpZGdldEJnZCIsIkFuaW1hdGlvblNwZWVkU2xpZGVyRmFjdG9yeSIsImRlcHMiLCJSYW5nZVNsaWRlckZhY3RvcnkiLCJSYW5nZVNsaWRlciIsIkFuaW1hdGlvblNwZWVkU2xpZGVyIiwiZSIsIm9uSGlkZSIsInYiLCJ1cGRhdGVBbmltYXRpb25TcGVlZCIsIlNQRUVEX0NPTlRST0xfUkFOR0UiLCJTUEVFRF9DT05UUk9MX1NURVAiLCJzcGVlZCIsIl9vbkNoYW5nZSIsIkNvbXBvbmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7OztBQUVBLElBQU1BLGFBQWEsR0FBR0MsNkJBQU9DLEdBQVYsK0dBQW5COztBQUlBLElBQU1DLG9CQUFvQixHQUFHRiw2QkFBT0MsR0FBVixrV0FNSixVQUFBRSxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlDLGVBQWhCO0FBQUEsQ0FORCxDQUExQjs7QUFlQUMsMkJBQTJCLENBQUNDLElBQTVCLEdBQW1DLENBQUNDLHVCQUFELENBQW5DOztBQVFlLFNBQVNGLDJCQUFULENBQ2JHLFdBRGEsRUFFNkI7QUFBQSxNQUNwQ0Msb0JBRG9DO0FBQUE7O0FBQUE7O0FBQUE7QUFBQTs7QUFBQTs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQSw2R0FFbkIsVUFBQUMsQ0FBQyxFQUFJO0FBQ3hCLGNBQUtSLEtBQUwsQ0FBV1MsTUFBWDtBQUNELE9BSnVDO0FBQUEsb0dBTTVCLFVBQUFDLENBQUM7QUFBQSxlQUFJLE1BQUtWLEtBQUwsQ0FBV1csb0JBQVgsQ0FBZ0NELENBQUMsQ0FBQyxDQUFELENBQWpDLENBQUo7QUFBQSxPQU4yQjtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBLGFBUXhDLGtCQUFTO0FBQ1AsNEJBQ0UsZ0NBQUMsb0JBQUQ7QUFBc0IsVUFBQSxTQUFTLEVBQUM7QUFBaEMsd0JBQ0UsZ0NBQUMsYUFBRCxxQkFDRSxnQ0FBQyxXQUFEO0FBQ0UsVUFBQSxLQUFLLEVBQUVFLDhCQURUO0FBRUUsVUFBQSxJQUFJLEVBQUVDLDZCQUZSO0FBR0UsVUFBQSxNQUFNLEVBQUUsQ0FIVjtBQUlFLFVBQUEsTUFBTSxFQUFFLEtBQUtiLEtBQUwsQ0FBV2MsS0FKckI7QUFLRSxVQUFBLFFBQVEsRUFBRSxLQUFLQyxTQUxqQjtBQU1FLFVBQUEsUUFBUSxFQUFFLEtBTlo7QUFPRSxVQUFBLFNBQVMsTUFQWDtBQVFFLFVBQUEsVUFBVSxFQUFDLFdBUmI7QUFTRSxVQUFBLFNBQVMsRUFBQztBQVRaLFVBREYsQ0FERixDQURGO0FBaUJEO0FBMUJ1QztBQUFBO0FBQUEsSUFDUEMsZ0JBRE87O0FBNkIxQyxTQUFPLHFDQUFlVCxvQkFBZixDQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnQsIENvbXBvbmVudFR5cGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IFJhbmdlU2xpZGVyRmFjdG9yeSBmcm9tICcuLi9yYW5nZS1zbGlkZXInO1xuaW1wb3J0IG9uQ2xpY2tPdXRzaWRlIGZyb20gJ3JlYWN0LW9uY2xpY2tvdXRzaWRlJztcbmltcG9ydCB7U1BFRURfQ09OVFJPTF9SQU5HRSwgU1BFRURfQ09OVFJPTF9TVEVQfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5cbmNvbnN0IFNsaWRlcldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gO1xuXG5jb25zdCBTcGVlZFNsaWRlckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiA1MHB4O1xuICByaWdodDogY2FsYygwJSAtIDMycHgpO1xuICB3aWR0aDogMTgwcHg7XG4gIHBhZGRpbmc6IDJweCA4cHggMnB4IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm90dG9tV2lkZ2V0QmdkfTtcbiAgYm94LXNoYWRvdzogLTJweCAtMnB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSk7XG5cbiAgLmtnLXJhbmdlLXNsaWRlcl9faW5wdXQge1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIHBhZGRpbmc6IDZweDtcbiAgfVxuYDtcblxuQW5pbWF0aW9uU3BlZWRTbGlkZXJGYWN0b3J5LmRlcHMgPSBbUmFuZ2VTbGlkZXJGYWN0b3J5XTtcblxuaW50ZXJmYWNlIEFuaW1hdGlvblNwZWVkU2xpZGVyUHJvcHMge1xuICBvbkhpZGU6ICgpID0+IHZvaWQ7XG4gIHNwZWVkOiBudW1iZXI7XG4gIHVwZGF0ZUFuaW1hdGlvblNwZWVkOiAodmFsOiBudW1iZXIpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEFuaW1hdGlvblNwZWVkU2xpZGVyRmFjdG9yeShcbiAgUmFuZ2VTbGlkZXI6IFJldHVyblR5cGU8dHlwZW9mIFJhbmdlU2xpZGVyRmFjdG9yeT5cbik6IENvbXBvbmVudFR5cGU8QW5pbWF0aW9uU3BlZWRTbGlkZXJQcm9wcz4ge1xuICBjbGFzcyBBbmltYXRpb25TcGVlZFNsaWRlciBleHRlbmRzIENvbXBvbmVudDxBbmltYXRpb25TcGVlZFNsaWRlclByb3BzPiB7XG4gICAgaGFuZGxlQ2xpY2tPdXRzaWRlID0gZSA9PiB7XG4gICAgICB0aGlzLnByb3BzLm9uSGlkZSgpO1xuICAgIH07XG5cbiAgICBfb25DaGFuZ2UgPSB2ID0+IHRoaXMucHJvcHMudXBkYXRlQW5pbWF0aW9uU3BlZWQodlsxXSk7XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3BlZWRTbGlkZXJDb250YWluZXIgY2xhc3NOYW1lPVwiYW5pbWF0aW9uLWNvbnRyb2xfX3NwZWVkLXNsaWRlclwiPlxuICAgICAgICAgIDxTbGlkZXJXcmFwcGVyPlxuICAgICAgICAgICAgPFJhbmdlU2xpZGVyXG4gICAgICAgICAgICAgIHJhbmdlPXtTUEVFRF9DT05UUk9MX1JBTkdFfVxuICAgICAgICAgICAgICBzdGVwPXtTUEVFRF9DT05UUk9MX1NURVB9XG4gICAgICAgICAgICAgIHZhbHVlMD17MH1cbiAgICAgICAgICAgICAgdmFsdWUxPXt0aGlzLnByb3BzLnNwZWVkfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5fb25DaGFuZ2V9XG4gICAgICAgICAgICAgIGlzUmFuZ2VkPXtmYWxzZX1cbiAgICAgICAgICAgICAgc2hvd0lucHV0XG4gICAgICAgICAgICAgIGlucHV0VGhlbWU9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICBpbnB1dFNpemU9XCJ0aW55XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TbGlkZXJXcmFwcGVyPlxuICAgICAgICA8L1NwZWVkU2xpZGVyQ29udGFpbmVyPlxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gb25DbGlja091dHNpZGUoQW5pbWF0aW9uU3BlZWRTbGlkZXIpO1xufVxuIl19
100
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tb24vYW5pbWF0aW9uLWNvbnRyb2wvYW5pbWF0aW9uLXNwZWVkLXNsaWRlci50c3giXSwibmFtZXMiOlsiU2xpZGVyV3JhcHBlciIsInN0eWxlZCIsImRpdiIsIlNwZWVkU2xpZGVyQ29udGFpbmVyIiwicHJvcHMiLCJ0aGVtZSIsImJvdHRvbVdpZGdldEJnZCIsIkFuaW1hdGlvblNwZWVkU2xpZGVyRmFjdG9yeSIsImRlcHMiLCJSYW5nZVNsaWRlckZhY3RvcnkiLCJSYW5nZVNsaWRlciIsIkFuaW1hdGlvblNwZWVkU2xpZGVyIiwiZSIsIm9uSGlkZSIsInYiLCJ1cGRhdGVBbmltYXRpb25TcGVlZCIsIlNQRUVEX0NPTlRST0xfUkFOR0UiLCJTUEVFRF9DT05UUk9MX1NURVAiLCJzcGVlZCIsIl9vbkNoYW5nZSIsIkNvbXBvbmVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7O0FBRUEsSUFBTUEsYUFBYSxHQUFHQyw2QkFBT0MsR0FBViwrR0FBbkI7O0FBSUEsSUFBTUMsb0JBQW9CLEdBQUdGLDZCQUFPQyxHQUFWLGtXQU1KLFVBQUFFLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUMsZUFBaEI7QUFBQSxDQU5ELENBQTFCOztBQWVBQywyQkFBMkIsQ0FBQ0MsSUFBNUIsR0FBbUMsQ0FBQ0MsdUJBQUQsQ0FBbkM7O0FBUWUsU0FBU0YsMkJBQVQsQ0FDYkcsV0FEYSxFQUU2QjtBQUFBLE1BQ3BDQyxvQkFEb0M7QUFBQTs7QUFBQTs7QUFBQTtBQUFBOztBQUFBOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBLDZHQUVuQixVQUFBQyxDQUFDLEVBQUk7QUFDeEIsY0FBS1IsS0FBTCxDQUFXUyxNQUFYO0FBQ0QsT0FKdUM7QUFBQSxvR0FNNUIsVUFBQUMsQ0FBQztBQUFBLGVBQUksTUFBS1YsS0FBTCxDQUFXVyxvQkFBWCxDQUFnQ0QsQ0FBQyxDQUFDLENBQUQsQ0FBakMsQ0FBSjtBQUFBLE9BTjJCO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUEsYUFReEMsa0JBQVM7QUFDUCw0QkFDRSxnQ0FBQyxvQkFBRDtBQUFzQixVQUFBLFNBQVMsRUFBQztBQUFoQyx3QkFDRSxnQ0FBQyxhQUFELHFCQUNFLGdDQUFDLFdBQUQ7QUFDRSxVQUFBLEtBQUssRUFBRUUsOEJBRFQ7QUFFRSxVQUFBLElBQUksRUFBRUMsNkJBRlI7QUFHRSxVQUFBLE1BQU0sRUFBRSxDQUhWO0FBSUUsVUFBQSxNQUFNLEVBQUUsS0FBS2IsS0FBTCxDQUFXYyxLQUpyQjtBQUtFLFVBQUEsUUFBUSxFQUFFLEtBQUtDLFNBTGpCO0FBTUUsVUFBQSxRQUFRLEVBQUUsS0FOWjtBQU9FLFVBQUEsU0FBUyxNQVBYO0FBUUUsVUFBQSxVQUFVLEVBQUMsV0FSYjtBQVNFLFVBQUEsU0FBUyxFQUFDO0FBVFosVUFERixDQURGLENBREY7QUFpQkQ7QUExQnVDO0FBQUE7QUFBQSxJQUNQQyxnQkFETzs7QUE2QjFDLFNBQU8scUNBQWVULG9CQUFmLENBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudCwgQ29tcG9uZW50VHlwZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgUmFuZ2VTbGlkZXJGYWN0b3J5IGZyb20gJy4uL3JhbmdlLXNsaWRlcic7XG5pbXBvcnQgb25DbGlja091dHNpZGUgZnJvbSAncmVhY3Qtb25jbGlja291dHNpZGUnO1xuaW1wb3J0IHtTUEVFRF9DT05UUk9MX1JBTkdFLCBTUEVFRF9DT05UUk9MX1NURVB9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcblxuY29uc3QgU2xpZGVyV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmNvbnN0IFNwZWVkU2xpZGVyQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDUwcHg7XG4gIHJpZ2h0OiBjYWxjKDAlIC0gMzJweCk7XG4gIHdpZHRoOiAxODBweDtcbiAgcGFkZGluZzogMnB4IDhweCAycHggMTJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5ib3R0b21XaWRnZXRCZ2R9O1xuICBib3gtc2hhZG93OiAtMnB4IC0ycHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKTtcblxuICAua2ctcmFuZ2Utc2xpZGVyX19pbnB1dCB7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgcGFkZGluZzogNnB4O1xuICB9XG5gO1xuXG5BbmltYXRpb25TcGVlZFNsaWRlckZhY3RvcnkuZGVwcyA9IFtSYW5nZVNsaWRlckZhY3RvcnldO1xuXG5pbnRlcmZhY2UgQW5pbWF0aW9uU3BlZWRTbGlkZXJQcm9wcyB7XG4gIG9uSGlkZTogKCkgPT4gdm9pZDtcbiAgc3BlZWQ6IG51bWJlcjtcbiAgdXBkYXRlQW5pbWF0aW9uU3BlZWQ6ICh2YWw6IG51bWJlcikgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQW5pbWF0aW9uU3BlZWRTbGlkZXJGYWN0b3J5KFxuICBSYW5nZVNsaWRlcjogUmV0dXJuVHlwZTx0eXBlb2YgUmFuZ2VTbGlkZXJGYWN0b3J5PlxuKTogQ29tcG9uZW50VHlwZTxBbmltYXRpb25TcGVlZFNsaWRlclByb3BzPiB7XG4gIGNsYXNzIEFuaW1hdGlvblNwZWVkU2xpZGVyIGV4dGVuZHMgQ29tcG9uZW50PEFuaW1hdGlvblNwZWVkU2xpZGVyUHJvcHM+IHtcbiAgICBoYW5kbGVDbGlja091dHNpZGUgPSBlID0+IHtcbiAgICAgIHRoaXMucHJvcHMub25IaWRlKCk7XG4gICAgfTtcblxuICAgIF9vbkNoYW5nZSA9IHYgPT4gdGhpcy5wcm9wcy51cGRhdGVBbmltYXRpb25TcGVlZCh2WzFdKTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxTcGVlZFNsaWRlckNvbnRhaW5lciBjbGFzc05hbWU9XCJhbmltYXRpb24tY29udHJvbF9fc3BlZWQtc2xpZGVyXCI+XG4gICAgICAgICAgPFNsaWRlcldyYXBwZXI+XG4gICAgICAgICAgICA8UmFuZ2VTbGlkZXJcbiAgICAgICAgICAgICAgcmFuZ2U9e1NQRUVEX0NPTlRST0xfUkFOR0V9XG4gICAgICAgICAgICAgIHN0ZXA9e1NQRUVEX0NPTlRST0xfU1RFUH1cbiAgICAgICAgICAgICAgdmFsdWUwPXswfVxuICAgICAgICAgICAgICB2YWx1ZTE9e3RoaXMucHJvcHMuc3BlZWR9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXt0aGlzLl9vbkNoYW5nZX1cbiAgICAgICAgICAgICAgaXNSYW5nZWQ9e2ZhbHNlfVxuICAgICAgICAgICAgICBzaG93SW5wdXRcbiAgICAgICAgICAgICAgaW5wdXRUaGVtZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgIGlucHV0U2l6ZT1cInRpbnlcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L1NsaWRlcldyYXBwZXI+XG4gICAgICAgIDwvU3BlZWRTbGlkZXJDb250YWluZXI+XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBvbkNsaWNrT3V0c2lkZShBbmltYXRpb25TcGVlZFNsaWRlcik7XG59XG4iXX0=