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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (530) hide show
  1. package/dist/bottom-widget.d.ts +11 -38
  2. package/dist/bottom-widget.js +43 -99
  3. package/dist/common/action-panel.d.ts +2 -2
  4. package/dist/common/action-panel.js +4 -4
  5. package/dist/common/animation-control/animation-control.d.ts +19 -18
  6. package/dist/common/animation-control/animation-control.js +59 -81
  7. package/dist/common/animation-control/animation-controller.d.ts +6 -2
  8. package/dist/common/animation-control/animation-controller.js +50 -36
  9. package/dist/common/animation-control/animation-speed-slider.js +2 -2
  10. package/dist/common/animation-control/animation-window-control.js +1 -1
  11. package/dist/common/animation-control/floating-time-display.d.ts +2 -2
  12. package/dist/common/animation-control/floating-time-display.js +2 -2
  13. package/dist/common/animation-control/play-control.d.ts +2 -2
  14. package/dist/common/animation-control/play-control.js +1 -1
  15. package/dist/common/animation-control/playback-controls.d.ts +7 -7
  16. package/dist/common/animation-control/playback-controls.js +6 -6
  17. package/dist/common/animation-control/reset-control.d.ts +2 -2
  18. package/dist/common/animation-control/reset-control.js +1 -1
  19. package/dist/common/animation-control/speed-control.d.ts +2 -2
  20. package/dist/common/animation-control/speed-control.js +2 -2
  21. package/dist/common/animation-control/window-action-control.d.ts +2 -2
  22. package/dist/common/animation-control/window-action-control.js +1 -1
  23. package/dist/common/checkbox.d.ts +2 -2
  24. package/dist/common/checkbox.js +3 -3
  25. package/dist/common/color-legend.d.ts +3 -3
  26. package/dist/common/color-legend.js +11 -17
  27. package/dist/common/data-table/button.d.ts +1 -1
  28. package/dist/common/data-table/button.js +2 -2
  29. package/dist/common/data-table/canvas.js +2 -2
  30. package/dist/common/data-table/cell-size.js +44 -13
  31. package/dist/common/data-table/display-format.d.ts +25 -0
  32. package/dist/common/data-table/display-format.js +169 -0
  33. package/dist/common/data-table/grid.d.ts +5 -2
  34. package/dist/common/data-table/grid.js +45 -5
  35. package/dist/common/data-table/header-cell.d.ts +4 -1
  36. package/dist/common/data-table/header-cell.js +66 -29
  37. package/dist/common/data-table/index.d.ts +27 -34
  38. package/dist/common/data-table/index.js +148 -62
  39. package/dist/common/data-table/option-dropdown.d.ts +17 -3
  40. package/dist/common/data-table/option-dropdown.js +86 -13
  41. package/dist/common/dataset-label.d.ts +2 -2
  42. package/dist/common/dataset-label.js +3 -3
  43. package/dist/common/error-boundary.d.ts +6 -2
  44. package/dist/common/error-boundary.js +2 -2
  45. package/dist/common/field-selector.d.ts +9 -3
  46. package/dist/common/field-selector.js +3 -3
  47. package/dist/common/field-token.d.ts +8 -0
  48. package/dist/common/field-token.js +7 -3
  49. package/dist/common/file-uploader/file-drop.d.ts +3 -2
  50. package/dist/common/file-uploader/file-drop.js +2 -2
  51. package/dist/common/file-uploader/file-upload-progress.js +2 -2
  52. package/dist/common/file-uploader/file-upload.d.ts +2 -6
  53. package/dist/common/file-uploader/file-upload.js +2 -2
  54. package/dist/common/file-uploader/upload-button.d.ts +1 -0
  55. package/dist/common/file-uploader/upload-button.js +2 -2
  56. package/dist/common/histogram-plot.d.ts +2 -2
  57. package/dist/common/histogram-plot.js +18 -12
  58. package/dist/common/icon-button.d.ts +2 -1
  59. package/dist/common/icon-button.js +2 -2
  60. package/dist/common/icons/add.d.ts +2 -2
  61. package/dist/common/icons/add.js +2 -2
  62. package/dist/common/icons/anchor_window.d.ts +2 -2
  63. package/dist/common/icons/anchor_window.js +2 -2
  64. package/dist/common/icons/arrow-down-alt.d.ts +2 -2
  65. package/dist/common/icons/arrow-down-alt.js +2 -2
  66. package/dist/common/icons/arrow-down-solid.d.ts +2 -2
  67. package/dist/common/icons/arrow-down-solid.js +2 -2
  68. package/dist/common/icons/arrow-down.d.ts +2 -2
  69. package/dist/common/icons/arrow-down.js +2 -2
  70. package/dist/common/icons/arrow-left.d.ts +2 -2
  71. package/dist/common/icons/arrow-left.js +2 -2
  72. package/dist/common/icons/arrow-right.d.ts +2 -2
  73. package/dist/common/icons/arrow-right.js +2 -2
  74. package/dist/common/icons/arrow-up-alt.d.ts +2 -2
  75. package/dist/common/icons/arrow-up-alt.js +2 -2
  76. package/dist/common/icons/arrow-up-solid.d.ts +2 -2
  77. package/dist/common/icons/arrow-up-solid.js +2 -2
  78. package/dist/common/icons/arrow-up.d.ts +2 -2
  79. package/dist/common/icons/arrow-up.js +2 -2
  80. package/dist/common/icons/base.d.ts +1 -1
  81. package/dist/common/icons/base.js +2 -2
  82. package/dist/common/icons/bug.d.ts +2 -2
  83. package/dist/common/icons/bug.js +2 -2
  84. package/dist/common/icons/cancel.d.ts +2 -2
  85. package/dist/common/icons/cancel.js +2 -2
  86. package/dist/common/icons/checkmark.d.ts +2 -2
  87. package/dist/common/icons/checkmark.js +2 -2
  88. package/dist/common/icons/clipboard.d.ts +2 -2
  89. package/dist/common/icons/clipboard.js +2 -2
  90. package/dist/common/icons/clock.d.ts +2 -2
  91. package/dist/common/icons/clock.js +2 -2
  92. package/dist/common/icons/close.d.ts +2 -2
  93. package/dist/common/icons/close.js +2 -2
  94. package/dist/common/icons/code-alt.d.ts +2 -2
  95. package/dist/common/icons/code-alt.js +2 -2
  96. package/dist/common/icons/copy.d.ts +2 -2
  97. package/dist/common/icons/copy.js +2 -2
  98. package/dist/common/icons/crosshairs.d.ts +2 -2
  99. package/dist/common/icons/crosshairs.js +2 -2
  100. package/dist/common/icons/cube-3d.d.ts +2 -2
  101. package/dist/common/icons/cube-3d.js +2 -2
  102. package/dist/common/icons/cursor-click.d.ts +2 -2
  103. package/dist/common/icons/cursor-click.js +2 -2
  104. package/dist/common/icons/cursor-point.d.ts +14 -0
  105. package/dist/common/icons/cursor-point.js +89 -0
  106. package/dist/common/icons/data-table.d.ts +2 -2
  107. package/dist/common/icons/data-table.js +2 -2
  108. package/dist/common/icons/db.d.ts +2 -2
  109. package/dist/common/icons/db.js +2 -2
  110. package/dist/common/icons/delete.d.ts +2 -2
  111. package/dist/common/icons/delete.js +2 -2
  112. package/dist/common/icons/docs.d.ts +2 -2
  113. package/dist/common/icons/docs.js +2 -2
  114. package/dist/common/icons/drag-n-drop.d.ts +2 -2
  115. package/dist/common/icons/drag-n-drop.js +2 -2
  116. package/dist/common/icons/draw-polygon.d.ts +2 -2
  117. package/dist/common/icons/draw-polygon.js +2 -2
  118. package/dist/common/icons/email.d.ts +2 -2
  119. package/dist/common/icons/email.js +2 -2
  120. package/dist/common/icons/expand.d.ts +2 -2
  121. package/dist/common/icons/expand.js +2 -2
  122. package/dist/common/icons/eye-seen.d.ts +2 -2
  123. package/dist/common/icons/eye-seen.js +2 -2
  124. package/dist/common/icons/eye-unseen.d.ts +2 -2
  125. package/dist/common/icons/eye-unseen.js +2 -2
  126. package/dist/common/icons/file-type.d.ts +2 -2
  127. package/dist/common/icons/file-type.js +2 -2
  128. package/dist/common/icons/file.d.ts +2 -2
  129. package/dist/common/icons/file.js +2 -2
  130. package/dist/common/icons/files.d.ts +1 -1
  131. package/dist/common/icons/files.js +2 -2
  132. package/dist/common/icons/filter-funnel.d.ts +2 -2
  133. package/dist/common/icons/filter-funnel.js +2 -2
  134. package/dist/common/icons/free-window.d.ts +2 -2
  135. package/dist/common/icons/free-window.js +2 -2
  136. package/dist/common/icons/gear.d.ts +2 -2
  137. package/dist/common/icons/gear.js +2 -2
  138. package/dist/common/icons/hash.d.ts +2 -2
  139. package/dist/common/icons/hash.js +2 -2
  140. package/dist/common/icons/histogram.d.ts +1 -1
  141. package/dist/common/icons/histogram.js +2 -2
  142. package/dist/common/icons/index.d.ts +1 -0
  143. package/dist/common/icons/index.js +10 -2
  144. package/dist/common/icons/info.d.ts +2 -2
  145. package/dist/common/icons/info.js +2 -2
  146. package/dist/common/icons/layers.d.ts +2 -2
  147. package/dist/common/icons/layers.js +2 -2
  148. package/dist/common/icons/left-arrow.d.ts +2 -2
  149. package/dist/common/icons/left-arrow.js +2 -2
  150. package/dist/common/icons/legend.d.ts +2 -2
  151. package/dist/common/icons/legend.js +2 -2
  152. package/dist/common/icons/line-chart.d.ts +2 -2
  153. package/dist/common/icons/line-chart.js +2 -2
  154. package/dist/common/icons/login.d.ts +2 -2
  155. package/dist/common/icons/login.js +2 -2
  156. package/dist/common/icons/logout.d.ts +2 -2
  157. package/dist/common/icons/logout.js +2 -2
  158. package/dist/common/icons/map-icon.d.ts +2 -2
  159. package/dist/common/icons/map-icon.js +2 -2
  160. package/dist/common/icons/map.d.ts +2 -2
  161. package/dist/common/icons/map.js +2 -2
  162. package/dist/common/icons/messages.d.ts +2 -2
  163. package/dist/common/icons/messages.js +2 -2
  164. package/dist/common/icons/minus.d.ts +2 -2
  165. package/dist/common/icons/minus.js +2 -2
  166. package/dist/common/icons/order-by-dataset.d.ts +2 -2
  167. package/dist/common/icons/order-by-dataset.js +2 -2
  168. package/dist/common/icons/order-by-list.d.ts +2 -2
  169. package/dist/common/icons/order-by-list.js +2 -2
  170. package/dist/common/icons/pause.d.ts +2 -2
  171. package/dist/common/icons/pause.js +2 -2
  172. package/dist/common/icons/picture.d.ts +1 -1
  173. package/dist/common/icons/picture.js +2 -2
  174. package/dist/common/icons/pin.d.ts +2 -2
  175. package/dist/common/icons/pin.js +2 -2
  176. package/dist/common/icons/play.d.ts +2 -2
  177. package/dist/common/icons/play.js +2 -2
  178. package/dist/common/icons/polygon.d.ts +2 -2
  179. package/dist/common/icons/polygon.js +2 -2
  180. package/dist/common/icons/rectangle.d.ts +2 -2
  181. package/dist/common/icons/rectangle.js +2 -2
  182. package/dist/common/icons/reduce.d.ts +2 -2
  183. package/dist/common/icons/reduce.js +2 -2
  184. package/dist/common/icons/reset.d.ts +2 -2
  185. package/dist/common/icons/reset.js +2 -2
  186. package/dist/common/icons/rocket.d.ts +2 -2
  187. package/dist/common/icons/rocket.js +2 -2
  188. package/dist/common/icons/save.d.ts +2 -2
  189. package/dist/common/icons/save.js +2 -2
  190. package/dist/common/icons/save2.d.ts +2 -2
  191. package/dist/common/icons/save2.js +2 -2
  192. package/dist/common/icons/search.d.ts +2 -2
  193. package/dist/common/icons/search.js +2 -2
  194. package/dist/common/icons/settings.d.ts +2 -2
  195. package/dist/common/icons/settings.js +2 -2
  196. package/dist/common/icons/share.d.ts +2 -2
  197. package/dist/common/icons/share.js +2 -2
  198. package/dist/common/icons/split.d.ts +2 -2
  199. package/dist/common/icons/split.js +2 -2
  200. package/dist/common/icons/square-select.d.ts +2 -2
  201. package/dist/common/icons/square-select.js +2 -2
  202. package/dist/common/icons/trash.d.ts +2 -2
  203. package/dist/common/icons/trash.js +2 -2
  204. package/dist/common/icons/vert-dots.d.ts +2 -2
  205. package/dist/common/icons/vert-dots.js +2 -2
  206. package/dist/common/icons/vert-three-dots.d.ts +2 -2
  207. package/dist/common/icons/vert-three-dots.js +2 -2
  208. package/dist/common/icons/warning-sign.d.ts +2 -2
  209. package/dist/common/icons/warning-sign.js +2 -2
  210. package/dist/common/icons/warning.d.ts +2 -2
  211. package/dist/common/icons/warning.js +2 -2
  212. package/dist/common/image-preview.d.ts +2 -2
  213. package/dist/common/image-preview.js +2 -2
  214. package/dist/common/index.d.ts +1 -1
  215. package/dist/common/index.js +8 -2
  216. package/dist/common/info-helper.d.ts +2 -2
  217. package/dist/common/info-helper.js +2 -2
  218. package/dist/common/item-selector/accessor.js +2 -2
  219. package/dist/common/item-selector/chickleted-input.js +2 -2
  220. package/dist/common/item-selector/dropdown-list.d.ts +28 -8
  221. package/dist/common/item-selector/dropdown-list.js +144 -25
  222. package/dist/common/item-selector/item-selector.d.ts +2 -3
  223. package/dist/common/item-selector/item-selector.js +7 -3
  224. package/dist/common/item-selector/typeahead.d.ts +16 -12
  225. package/dist/common/item-selector/typeahead.js +24 -13
  226. package/dist/common/line-chart.d.ts +2 -2
  227. package/dist/common/line-chart.js +2 -2
  228. package/dist/common/loading-spinner.js +2 -2
  229. package/dist/common/logo.d.ts +2 -2
  230. package/dist/common/logo.js +2 -2
  231. package/dist/common/map-layer-selector.d.ts +2 -2
  232. package/dist/common/map-layer-selector.js +3 -4
  233. package/dist/common/modal.d.ts +24 -11
  234. package/dist/common/modal.js +2 -2
  235. package/dist/common/portaled.d.ts +513 -2
  236. package/dist/common/portaled.js +2 -2
  237. package/dist/common/progress-bar.d.ts +2 -2
  238. package/dist/common/progress-bar.js +2 -2
  239. package/dist/common/range-brush.js +2 -2
  240. package/dist/common/range-plot.d.ts +6 -2
  241. package/dist/common/range-plot.js +4 -3
  242. package/dist/common/range-slider.d.ts +5 -1
  243. package/dist/common/range-slider.js +9 -3
  244. package/dist/common/slider/mouse-event.js +2 -2
  245. package/dist/common/slider/slider-bar-handle.d.ts +2 -2
  246. package/dist/common/slider/slider-bar-handle.js +2 -2
  247. package/dist/common/slider/slider-handle.d.ts +1 -1
  248. package/dist/common/slider/slider-handle.js +2 -2
  249. package/dist/common/slider/slider.d.ts +7 -5
  250. package/dist/common/slider/slider.js +8 -5
  251. package/dist/common/styled-components.d.ts +5 -0
  252. package/dist/common/styled-components.js +161 -47
  253. package/dist/common/switch.d.ts +3 -2
  254. package/dist/common/switch.js +2 -2
  255. package/dist/common/time-range-slider-time-title.d.ts +2 -2
  256. package/dist/common/time-range-slider-time-title.js +2 -2
  257. package/dist/common/time-range-slider.d.ts +6 -3
  258. package/dist/common/time-range-slider.js +33 -14
  259. package/dist/common/time-slider-marker.d.ts +1 -1
  260. package/dist/common/time-slider-marker.js +3 -3
  261. package/dist/common/timeline-slider.d.ts +13 -0
  262. package/dist/common/timeline-slider.js +173 -0
  263. package/dist/common/tippy-tooltip.d.ts +4 -2
  264. package/dist/common/tippy-tooltip.js +23 -11
  265. package/dist/common/toolbar-item.d.ts +1 -1
  266. package/dist/common/toolbar-item.js +6 -4
  267. package/dist/common/toolbar.js +2 -2
  268. package/dist/common/vertical-toolbar.js +2 -2
  269. package/dist/connect/keplergl-connect.d.ts +5 -1
  270. package/dist/connect/keplergl-connect.js +2 -2
  271. package/dist/connect/with-local-selector.js +2 -2
  272. package/dist/container.js +2 -2
  273. package/dist/context.js +4 -3
  274. package/dist/dnd-context.d.ts +13 -0
  275. package/dist/dnd-context.js +252 -0
  276. package/dist/editor/editor.d.ts +11 -10
  277. package/dist/editor/editor.js +97 -103
  278. package/dist/editor/feature-action-panel.d.ts +8 -6
  279. package/dist/editor/feature-action-panel.js +75 -22
  280. package/dist/effects/effect-configurator.d.ts +18 -0
  281. package/dist/effects/effect-configurator.js +237 -0
  282. package/dist/effects/effect-list.d.ts +15 -0
  283. package/dist/effects/effect-list.js +173 -0
  284. package/dist/effects/effect-manager.d.ts +21 -0
  285. package/dist/effects/effect-manager.js +129 -0
  286. package/dist/effects/effect-panel-header.d.ts +33 -0
  287. package/dist/effects/effect-panel-header.js +174 -0
  288. package/dist/effects/effect-panel.d.ts +24 -0
  289. package/dist/effects/effect-panel.js +162 -0
  290. package/dist/effects/effect-time-configurator.d.ts +13 -0
  291. package/dist/effects/effect-time-configurator.js +191 -0
  292. package/dist/effects/effect-type-selector.d.ts +11 -0
  293. package/dist/effects/effect-type-selector.js +117 -0
  294. package/dist/effects/side-panel-title.d.ts +7 -0
  295. package/dist/effects/side-panel-title.js +67 -0
  296. package/dist/filter-animation-controller.d.ts +17 -0
  297. package/dist/filter-animation-controller.js +91 -0
  298. package/dist/filters/components.js +2 -2
  299. package/dist/filters/filter-panels/filter-panel-with-field-select.js +3 -3
  300. package/dist/filters/filter-panels/multi-select-filter-panel.js +3 -3
  301. package/dist/filters/filter-panels/new-filter-panel.js +2 -2
  302. package/dist/filters/filter-panels/polygon-filter-panel.js +3 -3
  303. package/dist/filters/filter-panels/range-filter-panel.js +3 -3
  304. package/dist/filters/filter-panels/single-select-filter-panel.js +3 -3
  305. package/dist/filters/filter-panels/time-range-filter-panel.js +25 -8
  306. package/dist/filters/filter-panels/types.d.ts +2 -1
  307. package/dist/filters/filter-panels/types.js +1 -1
  308. package/dist/filters/index.d.ts +2 -0
  309. package/dist/filters/index.js +18 -2
  310. package/dist/filters/multi-select-filter.js +2 -2
  311. package/dist/filters/polygon-filter.js +14 -4
  312. package/dist/filters/range-filter.js +6 -4
  313. package/dist/filters/single-select-filter.js +2 -2
  314. package/dist/filters/time-range-filter.d.ts +2 -1
  315. package/dist/filters/time-range-filter.js +10 -7
  316. package/dist/filters/time-widget-top.d.ts +8 -0
  317. package/dist/filters/time-widget-top.js +123 -0
  318. package/dist/filters/time-widget.d.ts +3 -7
  319. package/dist/filters/time-widget.js +35 -92
  320. package/dist/filters/types.d.ts +7 -3
  321. package/dist/filters/types.js +1 -1
  322. package/dist/geocoder/geocoder.d.ts +1 -3
  323. package/dist/geocoder/geocoder.js +2 -2
  324. package/dist/geocoder-panel.d.ts +9 -3
  325. package/dist/geocoder-panel.js +30 -19
  326. package/dist/hooks/useFeatureFlags.js +1 -1
  327. package/dist/index.d.ts +68 -20
  328. package/dist/index.js +599 -99
  329. package/dist/injector.d.ts +4 -4
  330. package/dist/injector.js +2 -2
  331. package/dist/kepler-gl.d.ts +58 -17
  332. package/dist/kepler-gl.js +78 -31
  333. package/dist/layer-animation-controller.d.ts +13 -0
  334. package/dist/layer-animation-controller.js +76 -0
  335. package/dist/map/coordinate-info.js +2 -2
  336. package/dist/map/effects/effect-control.d.ts +16 -0
  337. package/dist/map/effects/effect-control.js +81 -0
  338. package/dist/map/layer-hover-info.d.ts +2 -2
  339. package/dist/map/layer-hover-info.js +26 -10
  340. package/dist/map/layer-selector-panel.js +2 -2
  341. package/dist/map/lazy-tippy.js +1 -1
  342. package/dist/map/locale-panel.d.ts +1 -1
  343. package/dist/map/locale-panel.js +2 -2
  344. package/dist/map/map-control-panel.d.ts +6 -0
  345. package/dist/map/map-control-panel.js +65 -9
  346. package/dist/map/map-control-toolbar.js +3 -3
  347. package/dist/map/map-control-tooltip.js +2 -2
  348. package/dist/map/map-control.d.ts +15 -7
  349. package/dist/map/map-control.js +6 -7
  350. package/dist/map/map-draw-panel.d.ts +2 -2
  351. package/dist/map/map-draw-panel.js +2 -9
  352. package/dist/map/map-legend-panel.d.ts +12 -1
  353. package/dist/map/map-legend-panel.js +27 -14
  354. package/dist/map/map-legend.d.ts +1 -1
  355. package/dist/map/map-legend.js +2 -2
  356. package/dist/map/map-popover-content.d.ts +28 -0
  357. package/dist/map/map-popover-content.js +51 -0
  358. package/dist/map/map-popover.d.ts +11 -14
  359. package/dist/map/map-popover.js +94 -15
  360. package/dist/map/split-map-button.js +2 -2
  361. package/dist/map/toggle-3d-button.js +2 -2
  362. package/dist/map-container.d.ts +33 -9
  363. package/dist/map-container.js +530 -161
  364. package/dist/map-view-state-context.d.ts +12 -0
  365. package/dist/map-view-state-context.js +116 -0
  366. package/dist/maps-layout.d.ts +5 -2
  367. package/dist/maps-layout.js +7 -3
  368. package/dist/modal-container.d.ts +2 -6
  369. package/dist/modal-container.js +8 -6
  370. package/dist/modals/add-map-style-modal.d.ts +1 -3
  371. package/dist/modals/add-map-style-modal.js +12 -6
  372. package/dist/modals/cloud-tile.js +2 -2
  373. package/dist/modals/data-table-modal.d.ts +11 -2
  374. package/dist/modals/data-table-modal.js +75 -24
  375. package/dist/modals/delete-data-modal.js +2 -2
  376. package/dist/modals/error-display.js +2 -2
  377. package/dist/modals/export-data-modal.d.ts +1 -3
  378. package/dist/modals/export-data-modal.js +2 -2
  379. package/dist/modals/export-image-modal.d.ts +1 -3
  380. package/dist/modals/export-image-modal.js +2 -2
  381. package/dist/modals/export-map-modal/components.d.ts +2 -2
  382. package/dist/modals/export-map-modal/components.js +2 -2
  383. package/dist/modals/export-map-modal/export-html-map.js +2 -2
  384. package/dist/modals/export-map-modal/export-json-map.d.ts +1 -1
  385. package/dist/modals/export-map-modal/export-json-map.js +2 -2
  386. package/dist/modals/export-map-modal/export-map-modal.d.ts +2 -2
  387. package/dist/modals/export-map-modal/export-map-modal.js +2 -2
  388. package/dist/modals/image-modal-container.d.ts +1 -0
  389. package/dist/modals/image-modal-container.js +2 -2
  390. package/dist/modals/load-data-modal.js +2 -2
  391. package/dist/modals/load-storage-map.js +2 -2
  392. package/dist/modals/loading-dialog.js +2 -2
  393. package/dist/modals/modal-dialog.js +2 -2
  394. package/dist/modals/modal-tabs.d.ts +1 -1
  395. package/dist/modals/modal-tabs.js +2 -2
  396. package/dist/modals/overwrite-map-modal.js +2 -2
  397. package/dist/modals/provider-modal-container.d.ts +3 -2
  398. package/dist/modals/provider-modal-container.js +2 -2
  399. package/dist/modals/save-map-modal.js +2 -2
  400. package/dist/modals/share-map-modal.js +2 -2
  401. package/dist/modals/status-panel.js +2 -2
  402. package/dist/modals/storage-map-viewer.d.ts +1 -1
  403. package/dist/modals/storage-map-viewer.js +2 -2
  404. package/dist/notification-panel/notification-item.d.ts +7 -10
  405. package/dist/notification-panel/notification-item.js +45 -13
  406. package/dist/notification-panel.js +2 -2
  407. package/dist/plot-container.js +20 -8
  408. package/dist/side-panel/add-by-dataset-button.d.ts +12 -0
  409. package/dist/side-panel/add-by-dataset-button.js +173 -0
  410. package/dist/side-panel/cloud-storage-dropdown.d.ts +2 -2
  411. package/dist/side-panel/cloud-storage-dropdown.js +2 -2
  412. package/dist/side-panel/common/dataset-info.d.ts +10 -3
  413. package/dist/side-panel/common/dataset-info.js +2 -2
  414. package/dist/side-panel/common/dataset-tag.d.ts +15 -1
  415. package/dist/side-panel/common/dataset-tag.js +14 -11
  416. package/dist/side-panel/common/dataset-title.d.ts +16 -2
  417. package/dist/side-panel/common/dataset-title.js +71 -105
  418. package/dist/side-panel/common/source-data-catalog.d.ts +22 -3
  419. package/dist/side-panel/common/source-data-catalog.js +2 -2
  420. package/dist/side-panel/common/source-data-selector.js +2 -2
  421. package/dist/side-panel/common/types.d.ts +7 -27
  422. package/dist/side-panel/common/types.js +1 -1
  423. package/dist/side-panel/custom-panel.d.ts +6 -7
  424. package/dist/side-panel/custom-panel.js +2 -2
  425. package/dist/side-panel/filter-manager.d.ts +18 -6
  426. package/dist/side-panel/filter-manager.js +176 -65
  427. package/dist/side-panel/filter-panel/add-filter-button.d.ts +8 -0
  428. package/dist/side-panel/filter-panel/add-filter-button.js +50 -0
  429. package/dist/side-panel/filter-panel/filter-panel-header.d.ts +6 -3
  430. package/dist/side-panel/filter-panel/filter-panel-header.js +4 -4
  431. package/dist/side-panel/filter-panel/filter-panel.js +2 -2
  432. package/dist/side-panel/interaction-manager.d.ts +6 -3
  433. package/dist/side-panel/interaction-manager.js +21 -8
  434. package/dist/side-panel/interaction-panel/brush-config.d.ts +2 -2
  435. package/dist/side-panel/interaction-panel/brush-config.js +2 -2
  436. package/dist/side-panel/interaction-panel/interaction-panel.d.ts +5 -2
  437. package/dist/side-panel/interaction-panel/interaction-panel.js +12 -5
  438. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +3 -9
  439. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +25 -42
  440. package/dist/side-panel/interaction-panel/tooltip-config.d.ts +2 -3
  441. package/dist/side-panel/interaction-panel/tooltip-config.js +9 -7
  442. package/dist/side-panel/layer-manager.d.ts +8 -10
  443. package/dist/side-panel/layer-manager.js +71 -37
  444. package/dist/side-panel/layer-panel/add-layer-button.d.ts +3 -5
  445. package/dist/side-panel/layer-panel/add-layer-button.js +13 -139
  446. package/dist/side-panel/layer-panel/color-palette.js +2 -2
  447. package/dist/side-panel/layer-panel/color-range-selector.d.ts +1 -1
  448. package/dist/side-panel/layer-panel/color-range-selector.js +2 -2
  449. package/dist/side-panel/layer-panel/color-selector.d.ts +15 -24
  450. package/dist/side-panel/layer-panel/color-selector.js +175 -127
  451. package/dist/side-panel/layer-panel/column-selector.js +2 -2
  452. package/dist/side-panel/layer-panel/custom-palette.d.ts +7 -2
  453. package/dist/side-panel/layer-panel/custom-palette.js +6 -5
  454. package/dist/side-panel/layer-panel/custom-picker.d.ts +9 -36
  455. package/dist/side-panel/layer-panel/custom-picker.js +2 -2
  456. package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +1 -1
  457. package/dist/side-panel/layer-panel/dataset-layer-group.js +3 -2
  458. package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +3 -2
  459. package/dist/side-panel/layer-panel/dataset-layer-section.js +5 -4
  460. package/dist/side-panel/layer-panel/dataset-section.d.ts +2 -3
  461. package/dist/side-panel/layer-panel/dataset-section.js +6 -7
  462. package/dist/side-panel/layer-panel/dimension-scale-selector.js +2 -2
  463. package/dist/side-panel/layer-panel/how-to-button.js +2 -2
  464. package/dist/side-panel/layer-panel/layer-color-selector.d.ts +42 -0
  465. package/dist/side-panel/layer-panel/layer-color-selector.js +134 -0
  466. package/dist/side-panel/layer-panel/layer-column-config.d.ts +15 -9
  467. package/dist/side-panel/layer-panel/layer-column-config.js +35 -13
  468. package/dist/side-panel/layer-panel/layer-config-group.d.ts +11 -2
  469. package/dist/side-panel/layer-panel/layer-config-group.js +19 -11
  470. package/dist/side-panel/layer-panel/layer-configurator.d.ts +10 -35
  471. package/dist/side-panel/layer-panel/layer-configurator.js +61 -110
  472. package/dist/side-panel/layer-panel/layer-error-message.d.ts +6 -0
  473. package/dist/side-panel/layer-panel/layer-error-message.js +58 -0
  474. package/dist/side-panel/layer-panel/layer-list.d.ts +4 -3
  475. package/dist/side-panel/layer-panel/layer-list.js +112 -89
  476. package/dist/side-panel/layer-panel/layer-panel-header.d.ts +22 -10
  477. package/dist/side-panel/layer-panel/layer-panel-header.js +106 -67
  478. package/dist/side-panel/layer-panel/layer-panel.d.ts +3 -1
  479. package/dist/side-panel/layer-panel/layer-panel.js +24 -11
  480. package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +2 -2
  481. package/dist/side-panel/layer-panel/layer-type-list-item.d.ts +12 -3
  482. package/dist/side-panel/layer-panel/layer-type-list-item.js +12 -4
  483. package/dist/side-panel/layer-panel/layer-type-selector.d.ts +2 -1
  484. package/dist/side-panel/layer-panel/layer-type-selector.js +5 -3
  485. package/dist/side-panel/layer-panel/single-color-palette.d.ts +1 -1
  486. package/dist/side-panel/layer-panel/single-color-palette.js +2 -2
  487. package/dist/side-panel/layer-panel/text-label-panel.d.ts +4 -2
  488. package/dist/side-panel/layer-panel/text-label-panel.js +62 -15
  489. package/dist/side-panel/layer-panel/vis-config-by-field-selector.d.ts +1 -3
  490. package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +2 -2
  491. package/dist/side-panel/layer-panel/vis-config-slider.js +2 -2
  492. package/dist/side-panel/layer-panel/vis-config-switch.js +2 -2
  493. package/dist/side-panel/map-manager.d.ts +13 -6
  494. package/dist/side-panel/map-manager.js +56 -45
  495. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.d.ts +14 -0
  496. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +116 -0
  497. package/dist/side-panel/map-style-panel/map-layer-group-item.d.ts +29 -0
  498. package/dist/side-panel/map-style-panel/map-layer-group-item.js +131 -0
  499. package/dist/side-panel/map-style-panel/map-layer-selector.d.ts +16 -12
  500. package/dist/side-panel/map-style-panel/map-layer-selector.js +34 -51
  501. package/dist/side-panel/map-style-panel/map-style-selector.d.ts +11 -4
  502. package/dist/side-panel/map-style-panel/map-style-selector.js +54 -20
  503. package/dist/side-panel/panel-dropdown.d.ts +3 -2
  504. package/dist/side-panel/panel-dropdown.js +2 -2
  505. package/dist/side-panel/panel-header-action.d.ts +4 -2
  506. package/dist/side-panel/panel-header-action.js +11 -4
  507. package/dist/side-panel/panel-header.d.ts +13 -8
  508. package/dist/side-panel/panel-header.js +2 -2
  509. package/dist/side-panel/panel-tab.d.ts +2 -2
  510. package/dist/side-panel/panel-tab.js +2 -2
  511. package/dist/side-panel/panel-title.d.ts +6 -3
  512. package/dist/side-panel/panel-title.js +31 -14
  513. package/dist/side-panel/panel-toggle.d.ts +1 -1
  514. package/dist/side-panel/panel-toggle.js +2 -2
  515. package/dist/side-panel/{layer-panel/panel-view-list-toggle.d.ts → panel-view-list-toggle.d.ts} +19 -8
  516. package/dist/side-panel/panel-view-list-toggle.js +143 -0
  517. package/dist/side-panel/side-bar.d.ts +15 -16
  518. package/dist/side-panel/side-bar.js +8 -6
  519. package/dist/side-panel.d.ts +2 -117
  520. package/dist/side-panel.js +14 -20
  521. package/dist/types.d.ts +16 -9
  522. package/dist/types.js +1 -1
  523. package/package.json +41 -34
  524. package/dist/editor/constants.d.ts +0 -17
  525. package/dist/editor/constants.js +0 -47
  526. package/dist/editor/feature-styles.d.ts +0 -37
  527. package/dist/editor/feature-styles.js +0 -92
  528. package/dist/editor/handle-style.d.ts +0 -42
  529. package/dist/editor/handle-style.js +0 -100
  530. package/dist/side-panel/layer-panel/panel-view-list-toggle.js +0 -143
@@ -1,46 +1,19 @@
1
1
  import React from 'react';
2
2
  import TimeWidgetFactory from './filters/time-widget';
3
+ import { bottomWidgetSelector } from './kepler-gl';
4
+ import FilterAnimationControllerFactory from './filter-animation-controller';
5
+ import LayerAnimationControllerFactory from './layer-animation-controller';
3
6
  import AnimationControlFactory from './common/animation-control/animation-control';
4
- import AnimationControllerFactory from './common/animation-control/animation-controller';
5
- import { AnimationConfig, TimeRangeFilter } from '@kepler.gl/types';
6
- interface FilterAnimationControllerProps {
7
- filter: TimeRangeFilter & {
8
- animationWindow?: string;
9
- };
10
- filterIdx: number;
11
- setFilterAnimationTime: (idx: number, value: string, a: any[]) => void;
12
- }
13
- export declare function FilterAnimationControllerFactory(AnimationController: ReturnType<typeof AnimationControllerFactory>): React.FC<FilterAnimationControllerProps>;
14
- export declare namespace FilterAnimationControllerFactory {
15
- var deps: (typeof AnimationControllerFactory)[];
16
- }
17
- interface LayerAnimationControllerProps {
18
- animationConfig: AnimationConfig & {
19
- timeSteps?: number[] | null;
20
- };
21
- setLayerAnimationTime: (x: number) => void;
22
- }
23
- export declare function LayerAnimationControllerFactory(AnimationController: ReturnType<typeof AnimationControllerFactory>): React.FC<LayerAnimationControllerProps>;
24
- export declare namespace LayerAnimationControllerFactory {
25
- var deps: (typeof AnimationControllerFactory)[];
26
- }
27
- declare function BottomWidgetFactory(TimeWidget: ReturnType<typeof TimeWidgetFactory>, AnimationControl: ReturnType<typeof AnimationControlFactory>, FilterAnimationController: ReturnType<typeof FilterAnimationControllerFactory>, LayerAnimationController: ReturnType<typeof LayerAnimationControllerFactory>): React.ForwardRefExoticComponent<{
7
+ export declare type BottomWidgetProps = {
28
8
  rootRef: React.ForwardedRef<HTMLDivElement>;
29
9
  containerW: number;
30
- } & {
31
- filters: import("@kepler.gl/types").Filter[];
32
- datasets: import("@kepler.gl/table").Datasets;
33
- uiState: import("@kepler.gl/types").UiState;
34
- layers: import("@kepler.gl/layers/dist/base-layer").default[];
35
- animationConfig: AnimationConfig;
36
- visStateActions: typeof import("@kepler.gl/actions/dist/vis-state-actions");
37
- toggleModal: (id: string | null) => {
38
- payload: string | null;
39
- type: "@@kepler.gl/TOGGLE_MODAL";
40
- };
41
- sidePanelWidth: any;
42
- } & React.RefAttributes<unknown>>;
10
+ } & ReturnType<typeof bottomWidgetSelector>;
11
+ declare type ThemeProp = {
12
+ theme: Record<string, any>;
13
+ };
14
+ declare type BottomWidgetThemedProps = BottomWidgetProps & ThemeProp;
15
+ declare function BottomWidgetFactory(TimeWidget: ReturnType<typeof TimeWidgetFactory>, AnimationControl: ReturnType<typeof AnimationControlFactory>, FilterAnimationController: ReturnType<typeof FilterAnimationControllerFactory>, LayerAnimationController: ReturnType<typeof LayerAnimationControllerFactory>): React.FC<BottomWidgetThemedProps>;
43
16
  declare namespace BottomWidgetFactory {
44
- var deps: (typeof TimeWidgetFactory | typeof AnimationControlFactory | typeof LayerAnimationControllerFactory | typeof FilterAnimationControllerFactory)[];
17
+ var deps: (typeof AnimationControlFactory | typeof TimeWidgetFactory | typeof LayerAnimationControllerFactory | typeof FilterAnimationControllerFactory)[];
45
18
  }
46
19
  export default BottomWidgetFactory;
@@ -1,4 +1,4 @@
1
- // Copyright (c) 2022 Uber Technologies, Inc.
1
+ // Copyright (c) 2023 Uber Technologies, Inc.
2
2
  //
3
3
  // Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  // of this software and associated documentation files (the "Software"), to deal
@@ -27,8 +27,6 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
27
27
  Object.defineProperty(exports, "__esModule", {
28
28
  value: true
29
29
  });
30
- exports.FilterAnimationControllerFactory = FilterAnimationControllerFactory;
31
- exports.LayerAnimationControllerFactory = LayerAnimationControllerFactory;
32
30
  exports["default"] = BottomWidgetFactory;
33
31
 
34
32
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
@@ -37,13 +35,7 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
37
35
 
38
36
  var _react = _interopRequireWildcard(require("react"));
39
37
 
40
- var _styledComponents = _interopRequireDefault(require("styled-components"));
41
-
42
- var _timeWidget = _interopRequireDefault(require("./filters/time-widget"));
43
-
44
- var _animationControl = _interopRequireDefault(require("./common/animation-control/animation-control"));
45
-
46
- var _animationController = _interopRequireDefault(require("./common/animation-control/animation-controller"));
38
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
47
39
 
48
40
  var _constants = require("@kepler.gl/constants");
49
41
 
@@ -51,7 +43,15 @@ var _utils = require("@kepler.gl/utils");
51
43
 
52
44
  var _styles = require("@kepler.gl/styles");
53
45
 
54
- var _templateObject, _templateObject2;
46
+ var _timeWidget = _interopRequireDefault(require("./filters/time-widget"));
47
+
48
+ var _filterAnimationController = _interopRequireDefault(require("./filter-animation-controller"));
49
+
50
+ var _layerAnimationController = _interopRequireDefault(require("./layer-animation-controller"));
51
+
52
+ var _animationControl = _interopRequireDefault(require("./common/animation-control/animation-control"));
53
+
54
+ var _templateObject, _templateObject2, _templateObject3;
55
55
 
56
56
  var maxWidth = 1080;
57
57
 
@@ -67,79 +67,16 @@ var BottomWidgetContainer = _styledComponents["default"].div(_templateObject ||
67
67
  return props.width;
68
68
  }, _styles.media.portable(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["padding: 0;"]))));
69
69
 
70
- FilterAnimationControllerFactory.deps = [_animationController["default"]];
71
-
72
- function FilterAnimationControllerFactory(AnimationController) {
73
- var FilterAnimationController = function FilterAnimationController(_ref) {
74
- var filter = _ref.filter,
75
- filterIdx = _ref.filterIdx,
76
- setFilterAnimationTime = _ref.setFilterAnimationTime,
77
- children = _ref.children;
78
- var intervalBins = (0, _react.useMemo)(function () {
79
- return (0, _utils.getIntervalBins)(filter);
80
- }, [filter]);
81
- var steps = (0, _react.useMemo)(function () {
82
- return intervalBins ? intervalBins.map(function (x) {
83
- return x.x0;
84
- }) : null;
85
- }, [intervalBins]);
86
- var updateAnimation = (0, _react.useCallback)(function (value) {
87
- switch (filter.animationWindow) {
88
- case _constants.ANIMATION_WINDOW.interval:
89
- var _idx = value[1];
90
- setFilterAnimationTime(filterIdx, 'value', [intervalBins[_idx].x0, intervalBins[_idx].x1 - 1]);
91
- break;
92
-
93
- default:
94
- setFilterAnimationTime(filterIdx, 'value', value);
95
- break;
96
- }
97
- }, [filterIdx, intervalBins, filter.animationWindow, setFilterAnimationTime]);
98
- return /*#__PURE__*/_react["default"].createElement(AnimationController, {
99
- key: "filter-control",
100
- value: filter.value,
101
- domain: filter.domain,
102
- speed: filter.speed,
103
- isAnimating: filter.isAnimating,
104
- animationWindow: filter.animationWindow,
105
- steps: steps,
106
- updateAnimation: updateAnimation,
107
- children: children
108
- });
109
- };
110
-
111
- return FilterAnimationController;
112
- }
113
-
114
- LayerAnimationControllerFactory.deps = [_animationController["default"]];
115
-
116
- function LayerAnimationControllerFactory(AnimationController) {
117
- var LayerAnimationController = function LayerAnimationController(_ref2) {
118
- var animationConfig = _ref2.animationConfig,
119
- setLayerAnimationTime = _ref2.setLayerAnimationTime,
120
- children = _ref2.children;
121
- return /*#__PURE__*/_react["default"].createElement(AnimationController, {
122
- key: "layer-control",
123
- value: Number(animationConfig.currentTime),
124
- domain: animationConfig.domain,
125
- speed: animationConfig.speed,
126
- isAnimating: animationConfig.isAnimating,
127
- updateAnimation: setLayerAnimationTime,
128
- steps: animationConfig.timeSteps,
129
- animationWindow: animationConfig.timeSteps ? _constants.ANIMATION_WINDOW.interval : _constants.ANIMATION_WINDOW.point,
130
- children: children
131
- });
132
- };
133
-
134
- return LayerAnimationController;
135
- }
136
-
137
- BottomWidgetFactory.deps = [_timeWidget["default"], _animationControl["default"], FilterAnimationControllerFactory, LayerAnimationControllerFactory];
70
+ BottomWidgetFactory.deps = [_timeWidget["default"], _animationControl["default"], _filterAnimationController["default"], _layerAnimationController["default"]];
138
71
  /* eslint-disable complexity */
139
72
 
140
73
  function BottomWidgetFactory(TimeWidget, AnimationControl, FilterAnimationController, LayerAnimationController) {
74
+ var LayerAnimationControl = (0, _styledComponents["default"])(AnimationControl)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n "])), function (props) {
75
+ return props.theme.sidePanelBg;
76
+ });
77
+
141
78
  var BottomWidget = function BottomWidget(props) {
142
- var _uiState$mapControls, _uiState$mapControls$, _uiState$mapControls2, _uiState$mapControls3;
79
+ var _uiState$mapControls, _uiState$mapControls$, _uiState$mapControls2, _uiState$mapControls3, _theme$mapControl, _theme$mapControl2, _theme$mapControl2$ma, _theme$mapControl2$ma2;
143
80
 
144
81
  var datasets = props.datasets,
145
82
  filters = props.filters,
@@ -149,13 +86,14 @@ function BottomWidgetFactory(TimeWidget, AnimationControl, FilterAnimationContro
149
86
  uiState = props.uiState,
150
87
  sidePanelWidth = props.sidePanelWidth,
151
88
  layers = props.layers,
152
- rootRef = props.rootRef;
89
+ rootRef = props.rootRef,
90
+ theme = props.theme;
153
91
  var activeSidePanel = uiState.activeSidePanel,
154
92
  readOnly = uiState.readOnly;
155
93
  var isOpen = Boolean(activeSidePanel);
156
94
  var enlargedFilterIdx = (0, _react.useMemo)(function () {
157
95
  return filters.findIndex(function (f) {
158
- return f.enlarged && f.type === _constants.FILTER_TYPES.timeRange;
96
+ return !(0, _utils.isSideFilter)(f);
159
97
  });
160
98
  }, [filters]);
161
99
  var isMobile = (0, _utils.hasPortableWidth)(_styles.breakPointValues);
@@ -166,7 +104,7 @@ function BottomWidgetFactory(TimeWidget, AnimationControl, FilterAnimationContro
166
104
  }, [filters]);
167
105
  var animatedFilter = animatedFilterIdx > -1 ? filters[animatedFilterIdx] : null;
168
106
  var isLegendPinned = ((_uiState$mapControls = uiState.mapControls) === null || _uiState$mapControls === void 0 ? void 0 : (_uiState$mapControls$ = _uiState$mapControls.mapLegend) === null || _uiState$mapControls$ === void 0 ? void 0 : _uiState$mapControls$.show) && ((_uiState$mapControls2 = uiState.mapControls) === null || _uiState$mapControls2 === void 0 ? void 0 : (_uiState$mapControls3 = _uiState$mapControls2.mapLegend) === null || _uiState$mapControls3 === void 0 ? void 0 : _uiState$mapControls3.active);
169
- var spaceForLegendWidth = isLegendPinned ? _constants.DIMENSIONS.mapControl.width + _constants.DIMENSIONS.mapControl.mapLegend.pinned.right : 0;
107
+ var spaceForLegendWidth = isLegendPinned ? ((_theme$mapControl = theme.mapControl) === null || _theme$mapControl === void 0 ? void 0 : _theme$mapControl.width) + ((_theme$mapControl2 = theme.mapControl) === null || _theme$mapControl2 === void 0 ? void 0 : (_theme$mapControl2$ma = _theme$mapControl2.mapLegend) === null || _theme$mapControl2$ma === void 0 ? void 0 : (_theme$mapControl2$ma2 = _theme$mapControl2$ma.pinned) === null || _theme$mapControl2$ma2 === void 0 ? void 0 : _theme$mapControl2$ma2.right) * 2 - theme.bottomWidgetPaddingRight : 0;
170
108
  var enlargedFilterWidth = (isOpen && !isMobile ? containerW - sidePanelWidth : containerW) - spaceForLegendWidth; // show playback control if layers contain trip layer & at least one trip layer is visible
171
109
 
172
110
  var animatableLayer = (0, _react.useMemo)(function () {
@@ -182,6 +120,9 @@ function BottomWidgetFactory(TimeWidget, AnimationControl, FilterAnimationContro
182
120
  // animation controller needs to call reset on it
183
121
 
184
122
  var filter = animatedFilter || filters[enlargedFilterIdx];
123
+ var onClose = (0, _react.useCallback)(function () {
124
+ return visStateActions.setFilterView(enlargedFilterIdx, _constants.FILTER_VIEW_TYPES.side);
125
+ }, [visStateActions, enlargedFilterIdx]);
185
126
  return /*#__PURE__*/_react["default"].createElement(BottomWidgetContainer, {
186
127
  width: Math.min(maxWidth, enlargedFilterWidth),
187
128
  style: {
@@ -193,22 +134,22 @@ function BottomWidgetFactory(TimeWidget, AnimationControl, FilterAnimationContro
193
134
  }, /*#__PURE__*/_react["default"].createElement(LayerAnimationController, {
194
135
  animationConfig: animationConfig,
195
136
  setLayerAnimationTime: visStateActions.setLayerAnimationTime
196
- }, function (isAnimating, start, pause, reset) {
197
- return showAnimationControl ? /*#__PURE__*/_react["default"].createElement(AnimationControl, {
198
- animationConfig: animationConfig,
199
- setLayerAnimationTime: visStateActions.setLayerAnimationTime,
137
+ }, function (isAnimating, start, pause, resetAnimation, timeline, setTimelineValue) {
138
+ return showAnimationControl ? /*#__PURE__*/_react["default"].createElement(LayerAnimationControl, {
200
139
  updateAnimationSpeed: visStateActions.updateLayerAnimationSpeed,
201
140
  toggleAnimation: visStateActions.toggleLayerAnimation,
202
141
  isAnimatable: !animatedFilter,
203
142
  isAnimating: isAnimating,
204
- resetAnimation: reset
143
+ resetAnimation: resetAnimation,
144
+ setTimelineValue: setTimelineValue,
145
+ timeline: timeline
205
146
  }) : null;
206
- }), filter && /*#__PURE__*/_react["default"].createElement(FilterAnimationController, {
147
+ }), filter ? /*#__PURE__*/_react["default"].createElement(FilterAnimationController, {
207
148
  filter: filter,
208
149
  filterIdx: animatedFilterIdx > -1 ? animatedFilterIdx : enlargedFilterIdx,
209
150
  setFilterAnimationTime: visStateActions.setFilterAnimationTime
210
- }, function (isAnimating, start, pause, resetAnimation) {
211
- return showTimeWidget ? /*#__PURE__*/_react["default"].createElement(TimeWidget // TimeWidget uses React.memo, here we pass width
151
+ }, function (isAnimating, start, pause, resetAnimation, timeline, setTimelineValue) {
152
+ return showTimeWidget && timeline ? /*#__PURE__*/_react["default"].createElement(TimeWidget // TimeWidget uses React.memo, here we pass width
212
153
  // even though it doesnt use it, to force rerender
213
154
  , {
214
155
  filter: filters[enlargedFilterIdx],
@@ -217,26 +158,29 @@ function BottomWidgetFactory(TimeWidget, AnimationControl, FilterAnimationContro
217
158
  readOnly: readOnly,
218
159
  showTimeDisplay: showFloatingTimeDisplay,
219
160
  setFilterPlot: visStateActions.setFilterPlot,
220
- setFilterAnimationTime: visStateActions.setFilterAnimationTime,
161
+ setFilterAnimationTime: setTimelineValue,
221
162
  setFilterAnimationWindow: visStateActions.setFilterAnimationWindow,
222
163
  toggleAnimation: visStateActions.toggleFilterAnimation,
223
164
  updateAnimationSpeed: visStateActions.updateFilterAnimationSpeed,
224
- enlargeFilter: visStateActions.enlargeFilter,
225
165
  resetAnimation: resetAnimation,
226
- isAnimatable: !animationConfig || !animationConfig.isAnimating
166
+ isAnimatable: !animationConfig || !animationConfig.isAnimating,
167
+ onClose: onClose,
168
+ timeline: timeline
227
169
  }) : null;
228
- }));
170
+ }) : null);
229
171
  };
230
172
  /* eslint-disable react/display-name */
231
- // @ts-ignore
232
173
 
233
174
 
234
- return /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
175
+ return (0, _styledComponents.withTheme)(
176
+ /*#__PURE__*/
177
+ // @ts-ignore
178
+ (0, _react.forwardRef)(function (props, ref) {
235
179
  return /*#__PURE__*/_react["default"].createElement(BottomWidget, (0, _extends2["default"])({}, props, {
236
180
  rootRef: ref
237
181
  }));
238
- });
182
+ }));
239
183
  /* eslint-enable react/display-name */
240
184
  }
241
185
  /* eslint-enable complexity */
242
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ib3R0b20td2lkZ2V0LnRzeCJdLCJuYW1lcyI6WyJtYXhXaWR0aCIsIkJvdHRvbVdpZGdldENvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsInByb3BzIiwiaGFzUGFkZGluZyIsInRoZW1lIiwiYm90dG9tV2lkZ2V0UGFkZGluZ1RvcCIsImJvdHRvbVdpZGdldFBhZGRpbmdSaWdodCIsImJvdHRvbVdpZGdldFBhZGRpbmdCb3R0b20iLCJib3R0b21XaWRnZXRQYWRkaW5nTGVmdCIsIndpZHRoIiwibWVkaWEiLCJwb3J0YWJsZSIsIkZpbHRlckFuaW1hdGlvbkNvbnRyb2xsZXJGYWN0b3J5IiwiZGVwcyIsIkFuaW1hdGlvbkNvbnRyb2xsZXJGYWN0b3J5IiwiQW5pbWF0aW9uQ29udHJvbGxlciIsIkZpbHRlckFuaW1hdGlvbkNvbnRyb2xsZXIiLCJmaWx0ZXIiLCJmaWx0ZXJJZHgiLCJzZXRGaWx0ZXJBbmltYXRpb25UaW1lIiwiY2hpbGRyZW4iLCJpbnRlcnZhbEJpbnMiLCJzdGVwcyIsIm1hcCIsIngiLCJ4MCIsInVwZGF0ZUFuaW1hdGlvbiIsInZhbHVlIiwiYW5pbWF0aW9uV2luZG93IiwiQU5JTUFUSU9OX1dJTkRPVyIsImludGVydmFsIiwiaWR4IiwieDEiLCJkb21haW4iLCJzcGVlZCIsImlzQW5pbWF0aW5nIiwiTGF5ZXJBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeSIsIkxheWVyQW5pbWF0aW9uQ29udHJvbGxlciIsImFuaW1hdGlvbkNvbmZpZyIsInNldExheWVyQW5pbWF0aW9uVGltZSIsIk51bWJlciIsImN1cnJlbnRUaW1lIiwidGltZVN0ZXBzIiwicG9pbnQiLCJCb3R0b21XaWRnZXRGYWN0b3J5IiwiVGltZVdpZGdldEZhY3RvcnkiLCJBbmltYXRpb25Db250cm9sRmFjdG9yeSIsIlRpbWVXaWRnZXQiLCJBbmltYXRpb25Db250cm9sIiwiQm90dG9tV2lkZ2V0IiwiZGF0YXNldHMiLCJmaWx0ZXJzIiwidmlzU3RhdGVBY3Rpb25zIiwiY29udGFpbmVyVyIsInVpU3RhdGUiLCJzaWRlUGFuZWxXaWR0aCIsImxheWVycyIsInJvb3RSZWYiLCJhY3RpdmVTaWRlUGFuZWwiLCJyZWFkT25seSIsImlzT3BlbiIsIkJvb2xlYW4iLCJlbmxhcmdlZEZpbHRlcklkeCIsImZpbmRJbmRleCIsImYiLCJlbmxhcmdlZCIsInR5cGUiLCJGSUxURVJfVFlQRVMiLCJ0aW1lUmFuZ2UiLCJpc01vYmlsZSIsImJyZWFrUG9pbnRWYWx1ZXMiLCJhbmltYXRlZEZpbHRlcklkeCIsImFuaW1hdGVkRmlsdGVyIiwiaXNMZWdlbmRQaW5uZWQiLCJtYXBDb250cm9scyIsIm1hcExlZ2VuZCIsInNob3ciLCJhY3RpdmUiLCJzcGFjZUZvckxlZ2VuZFdpZHRoIiwiRElNRU5TSU9OUyIsIm1hcENvbnRyb2wiLCJwaW5uZWQiLCJyaWdodCIsImVubGFyZ2VkRmlsdGVyV2lkdGgiLCJhbmltYXRhYmxlTGF5ZXIiLCJsIiwiY29uZmlnIiwiYW5pbWF0aW9uIiwiZW5hYmxlZCIsImlzVmlzaWJsZSIsInJlYWR5VG9BbmltYXRpb24iLCJBcnJheSIsImlzQXJyYXkiLCJpc0Zpbml0ZSIsInNob3dGbG9hdGluZ1RpbWVEaXNwbGF5IiwibGVuZ3RoIiwic2hvd0FuaW1hdGlvbkNvbnRyb2wiLCJoaWRlQ29udHJvbCIsInNob3dUaW1lV2lkZ2V0IiwiT2JqZWN0Iiwia2V5cyIsIk1hdGgiLCJtaW4iLCJtYXJnaW5SaWdodCIsInN0YXJ0IiwicGF1c2UiLCJyZXNldCIsInVwZGF0ZUxheWVyQW5pbWF0aW9uU3BlZWQiLCJ0b2dnbGVMYXllckFuaW1hdGlvbiIsInJlc2V0QW5pbWF0aW9uIiwic2V0RmlsdGVyUGxvdCIsInNldEZpbHRlckFuaW1hdGlvbldpbmRvdyIsInRvZ2dsZUZpbHRlckFuaW1hdGlvbiIsInVwZGF0ZUZpbHRlckFuaW1hdGlvblNwZWVkIiwiZW5sYXJnZUZpbHRlciIsInJlZiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FB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RUFBRTdELGVBQWUsQ0FBQzhELGFBYmpDO0FBY0UsUUFBQSxjQUFjLEVBQUVMLGNBZGxCO0FBZUUsUUFBQSxZQUFZLEVBQUUsQ0FBQ3ZFLGVBQUQsSUFBb0IsQ0FBQ0EsZUFBZSxDQUFDSDtBQWZyRCxRQURZLEdBa0JWLElBbkJMO0FBQUEsS0FMSCxDQTFCSixDQURGO0FBeURELEdBL0dEO0FBaUhBO0FBQ0E7OztBQUNBLHNCQUFPLHVCQUFXLFVBQUNqQyxLQUFELEVBQTJCaUgsR0FBM0I7QUFBQSx3QkFBbUMsZ0NBQUMsWUFBRCxnQ0FBa0JqSCxLQUFsQjtBQUF5QixNQUFBLE9BQU8sRUFBRWlIO0FBQWxDLE9BQW5DO0FBQUEsR0FBWCxDQUFQO0FBQ0E7QUFDRDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIGZvcndhcmRSZWYsIHVzZU1lbW99IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IFRpbWVXaWRnZXRGYWN0b3J5IGZyb20gJy4vZmlsdGVycy90aW1lLXdpZGdldCc7XG5pbXBvcnQgQW5pbWF0aW9uQ29udHJvbEZhY3RvcnkgZnJvbSAnLi9jb21tb24vYW5pbWF0aW9uLWNvbnRyb2wvYW5pbWF0aW9uLWNvbnRyb2wnO1xuaW1wb3J0IEFuaW1hdGlvbkNvbnRyb2xsZXJGYWN0b3J5IGZyb20gJy4vY29tbW9uL2FuaW1hdGlvbi1jb250cm9sL2FuaW1hdGlvbi1jb250cm9sbGVyJztcbmltcG9ydCB7QU5JTUFUSU9OX1dJTkRPVywgRElNRU5TSU9OUywgRklMVEVSX1RZUEVTfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge2dldEludGVydmFsQmlucywgaGFzUG9ydGFibGVXaWR0aH0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge21lZGlhLCBicmVha1BvaW50VmFsdWVzfSBmcm9tICdAa2VwbGVyLmdsL3N0eWxlcyc7XG5pbXBvcnQge0FuaW1hdGlvbkNvbmZpZywgVGltZVJhbmdlRmlsdGVyfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7Ym90dG9tV2lkZ2V0U2VsZWN0b3J9IGZyb20gJy4va2VwbGVyLWdsJztcblxuY29uc3QgbWF4V2lkdGggPSAxMDgwO1xuXG5pbnRlcmZhY2UgQm90dG9tV2lkZ2V0Q29udGFpbmVyUHJvcHMge1xuICBoYXNQYWRkaW5nPzogYm9vbGVhbjtcbiAgd2lkdGg/OiBudW1iZXI7XG59XG5cbmNvbnN0IEJvdHRvbVdpZGdldENvbnRhaW5lciA9IHN0eWxlZC5kaXY8Qm90dG9tV2lkZ2V0Q29udGFpbmVyUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nLXRvcDogJHtwcm9wcyA9PiAocHJvcHMuaGFzUGFkZGluZyA/IHByb3BzLnRoZW1lLmJvdHRvbVdpZGdldFBhZGRpbmdUb3AgOiAwKX1weDtcbiAgcGFkZGluZy1yaWdodDogJHtwcm9wcyA9PiAocHJvcHMuaGFzUGFkZGluZyA/IHByb3BzLnRoZW1lLmJvdHRvbVdpZGdldFBhZGRpbmdSaWdodCA6IDApfXB4O1xuICBwYWRkaW5nLWJvdHRvbTogJHtwcm9wcyA9PiAocHJvcHMuaGFzUGFkZGluZyA/IHByb3BzLnRoZW1lLmJvdHRvbVdpZGdldFBhZGRpbmdCb3R0b20gOiAwKX1weDtcbiAgcGFkZGluZy1sZWZ0OiAke3Byb3BzID0+IChwcm9wcy5oYXNQYWRkaW5nID8gcHJvcHMudGhlbWUuYm90dG9tV2lkZ2V0UGFkZGluZ0xlZnQgOiAwKX1weDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDsgLyogcHJldmVudCBwYWRkaW5nIGZyb20gYmxvY2tpbmcgaW5wdXQgKi9cbiAgJiA+ICoge1xuICAgIC8qIGFsbCBjaGlsZHJlbiBzaG91bGQgYWxsb3cgaW5wdXQgKi9cbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICB9XG4gIHdpZHRoOiAke3Byb3BzID0+IHByb3BzLndpZHRofXB4O1xuICB6LWluZGV4OiAxO1xuICAke21lZGlhLnBvcnRhYmxlYHBhZGRpbmc6IDA7YH1cbmA7XG5cbmludGVyZmFjZSBGaWx0ZXJBbmltYXRpb25Db250cm9sbGVyUHJvcHMge1xuICBmaWx0ZXI6IFRpbWVSYW5nZUZpbHRlciAmIHthbmltYXRpb25XaW5kb3c/OiBzdHJpbmd9O1xuICBmaWx0ZXJJZHg6IG51bWJlcjtcbiAgc2V0RmlsdGVyQW5pbWF0aW9uVGltZTogKGlkeDogbnVtYmVyLCB2YWx1ZTogc3RyaW5nLCBhOiBhbnlbXSkgPT4gdm9pZDtcbn1cblxuRmlsdGVyQW5pbWF0aW9uQ29udHJvbGxlckZhY3RvcnkuZGVwcyA9IFtBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeV07XG5leHBvcnQgZnVuY3Rpb24gRmlsdGVyQW5pbWF0aW9uQ29udHJvbGxlckZhY3RvcnkoXG4gIEFuaW1hdGlvbkNvbnRyb2xsZXI6IFJldHVyblR5cGU8dHlwZW9mIEFuaW1hdGlvbkNvbnRyb2xsZXJGYWN0b3J5PlxuKSB7XG4gIGNvbnN0IEZpbHRlckFuaW1hdGlvbkNvbnRyb2xsZXI6IFJlYWN0LkZDPEZpbHRlckFuaW1hdGlvbkNvbnRyb2xsZXJQcm9wcz4gPSAoe1xuICAgIGZpbHRlcixcbiAgICBmaWx0ZXJJZHgsXG4gICAgc2V0RmlsdGVyQW5pbWF0aW9uVGltZSxcbiAgICBjaGlsZHJlblxuICB9KSA9PiB7XG4gICAgY29uc3QgaW50ZXJ2YWxCaW5zID0gdXNlTWVtbygoKSA9PiBnZXRJbnRlcnZhbEJpbnMoZmlsdGVyKSwgW2ZpbHRlcl0pO1xuXG4gICAgY29uc3Qgc3RlcHMgPSB1c2VNZW1vKCgpID0+IChpbnRlcnZhbEJpbnMgPyBpbnRlcnZhbEJpbnMubWFwKHggPT4geC54MCkgOiBudWxsKSwgW1xuICAgICAgaW50ZXJ2YWxCaW5zXG4gICAgXSk7XG5cbiAgICBjb25zdCB1cGRhdGVBbmltYXRpb24gPSB1c2VDYWxsYmFjayhcbiAgICAgIHZhbHVlID0+IHtcbiAgICAgICAgc3dpdGNoIChmaWx0ZXIuYW5pbWF0aW9uV2luZG93KSB7XG4gICAgICAgICAgY2FzZSBBTklNQVRJT05fV0lORE9XLmludGVydmFsOlxuICAgICAgICAgICAgY29uc3QgaWR4ID0gdmFsdWVbMV07XG4gICAgICAgICAgICBzZXRGaWx0ZXJBbmltYXRpb25UaW1lKGZpbHRlcklkeCwgJ3ZhbHVlJywgW1xuICAgICAgICAgICAgICBpbnRlcnZhbEJpbnNbaWR4XS54MCxcbiAgICAgICAgICAgICAgaW50ZXJ2YWxCaW5zW2lkeF0ueDEgLSAxXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBzZXRGaWx0ZXJBbmltYXRpb25UaW1lKGZpbHRlcklkeCwgJ3ZhbHVlJywgdmFsdWUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbZmlsdGVySWR4LCBpbnRlcnZhbEJpbnMsIGZpbHRlci5hbmltYXRpb25XaW5kb3csIHNldEZpbHRlckFuaW1hdGlvblRpbWVdXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8QW5pbWF0aW9uQ29udHJvbGxlclxuICAgICAgICBrZXk9XCJmaWx0ZXItY29udHJvbFwiXG4gICAgICAgIHZhbHVlPXtmaWx0ZXIudmFsdWV9XG4gICAgICAgIGRvbWFpbj17ZmlsdGVyLmRvbWFpbn1cbiAgICAgICAgc3BlZWQ9e2ZpbHRlci5zcGVlZH1cbiAgICAgICAgaXNBbmltYXRpbmc9e2ZpbHRlci5pc0FuaW1hdGluZ31cbiAgICAgICAgYW5pbWF0aW9uV2luZG93PXtmaWx0ZXIuYW5pbWF0aW9uV2luZG93fVxuICAgICAgICBzdGVwcz17c3RlcHN9XG4gICAgICAgIHVwZGF0ZUFuaW1hdGlvbj17dXBkYXRlQW5pbWF0aW9ufVxuICAgICAgICBjaGlsZHJlbj17Y2hpbGRyZW59XG4gICAgICAvPlxuICAgICk7XG4gIH07XG4gIHJldHVybiBGaWx0ZXJBbmltYXRpb25Db250cm9sbGVyO1xufVxuXG5pbnRlcmZhY2UgTGF5ZXJBbmltYXRpb25Db250cm9sbGVyUHJvcHMge1xuICBhbmltYXRpb25Db25maWc6IEFuaW1hdGlvbkNvbmZpZyAmIHt0aW1lU3RlcHM/OiBudW1iZXJbXSB8IG51bGx9O1xuICBzZXRMYXllckFuaW1hdGlvblRpbWU6ICh4OiBudW1iZXIpID0+IHZvaWQ7XG59XG5cbkxheWVyQW5pbWF0aW9uQ29udHJvbGxlckZhY3RvcnkuZGVwcyA9IFtBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeV07XG5leHBvcnQgZnVuY3Rpb24gTGF5ZXJBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeShcbiAgQW5pbWF0aW9uQ29udHJvbGxlcjogUmV0dXJuVHlwZTx0eXBlb2YgQW5pbWF0aW9uQ29udHJvbGxlckZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgTGF5ZXJBbmltYXRpb25Db250cm9sbGVyOiBSZWFjdC5GQzxMYXllckFuaW1hdGlvbkNvbnRyb2xsZXJQcm9wcz4gPSAoe1xuICAgIGFuaW1hdGlvbkNvbmZpZyxcbiAgICBzZXRMYXllckFuaW1hdGlvblRpbWUsXG4gICAgY2hpbGRyZW5cbiAgfSkgPT4gKFxuICAgIDxBbmltYXRpb25Db250cm9sbGVyPG51bWJlcj5cbiAgICAgIGtleT1cImxheWVyLWNvbnRyb2xcIlxuICAgICAgdmFsdWU9e051bWJlcihhbmltYXRpb25Db25maWcuY3VycmVudFRpbWUpfVxuICAgICAgZG9tYWluPXthbmltYXRpb25Db25maWcuZG9tYWlufVxuICAgICAgc3BlZWQ9e2FuaW1hdGlvbkNvbmZpZy5zcGVlZH1cbiAgICAgIGlzQW5pbWF0aW5nPXthbmltYXRpb25Db25maWcuaXNBbmltYXRpbmd9XG4gICAgICB1cGRhdGVBbmltYXRpb249e3NldExheWVyQW5pbWF0aW9uVGltZX1cbiAgICAgIHN0ZXBzPXthbmltYXRpb25Db25maWcudGltZVN0ZXBzfVxuICAgICAgYW5pbWF0aW9uV2luZG93PXtcbiAgICAgICAgYW5pbWF0aW9uQ29uZmlnLnRpbWVTdGVwcyA/IEFOSU1BVElPTl9XSU5ET1cuaW50ZXJ2YWwgOiBBTklNQVRJT05fV0lORE9XLnBvaW50XG4gICAgICB9XG4gICAgICBjaGlsZHJlbj17Y2hpbGRyZW59XG4gICAgLz5cbiAgKTtcbiAgcmV0dXJuIExheWVyQW5pbWF0aW9uQ29udHJvbGxlcjtcbn1cblxudHlwZSBCb3R0b21XaWRnZXRQcm9wcyA9IHtcbiAgcm9vdFJlZjogUmVhY3QuRm9yd2FyZGVkUmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgY29udGFpbmVyVzogbnVtYmVyO1xufSAmIFJldHVyblR5cGU8dHlwZW9mIGJvdHRvbVdpZGdldFNlbGVjdG9yPjtcblxuQm90dG9tV2lkZ2V0RmFjdG9yeS5kZXBzID0gW1xuICBUaW1lV2lkZ2V0RmFjdG9yeSxcbiAgQW5pbWF0aW9uQ29udHJvbEZhY3RvcnksXG4gIEZpbHRlckFuaW1hdGlvbkNvbnRyb2xsZXJGYWN0b3J5LFxuICBMYXllckFuaW1hdGlvbkNvbnRyb2xsZXJGYWN0b3J5XG5dO1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBjb21wbGV4aXR5ICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBCb3R0b21XaWRnZXRGYWN0b3J5KFxuICBUaW1lV2lkZ2V0OiBSZXR1cm5UeXBlPHR5cGVvZiBUaW1lV2lkZ2V0RmFjdG9yeT4sXG4gIEFuaW1hdGlvbkNvbnRyb2w6IFJldHVyblR5cGU8dHlwZW9mIEFuaW1hdGlvbkNvbnRyb2xGYWN0b3J5PixcbiAgRmlsdGVyQW5pbWF0aW9uQ29udHJvbGxlcjogUmV0dXJuVHlwZTx0eXBlb2YgRmlsdGVyQW5pbWF0aW9uQ29udHJvbGxlckZhY3Rvcnk+LFxuICBMYXllckFuaW1hdGlvbkNvbnRyb2xsZXI6IFJldHVyblR5cGU8dHlwZW9mIExheWVyQW5pbWF0aW9uQ29udHJvbGxlckZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgQm90dG9tV2lkZ2V0ID0gKHByb3BzOiBCb3R0b21XaWRnZXRQcm9wcykgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGRhdGFzZXRzLFxuICAgICAgZmlsdGVycyxcbiAgICAgIGFuaW1hdGlvbkNvbmZpZyxcbiAgICAgIHZpc1N0YXRlQWN0aW9ucyxcbiAgICAgIGNvbnRhaW5lclcsXG4gICAgICB1aVN0YXRlLFxuICAgICAgc2lkZVBhbmVsV2lkdGgsXG4gICAgICBsYXllcnMsXG4gICAgICByb290UmVmXG4gICAgfSA9IHByb3BzO1xuXG4gICAgY29uc3Qge2FjdGl2ZVNpZGVQYW5lbCwgcmVhZE9ubHl9ID0gdWlTdGF0ZTtcbiAgICBjb25zdCBpc09wZW4gPSBCb29sZWFuKGFjdGl2ZVNpZGVQYW5lbCk7XG5cbiAgICBjb25zdCBlbmxhcmdlZEZpbHRlcklkeCA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiBmaWx0ZXJzLmZpbmRJbmRleChmID0+IGYuZW5sYXJnZWQgJiYgZi50eXBlID09PSBGSUxURVJfVFlQRVMudGltZVJhbmdlKSxcbiAgICAgIFtmaWx0ZXJzXVxuICAgICk7XG5cbiAgICBjb25zdCBpc01vYmlsZSA9IGhhc1BvcnRhYmxlV2lkdGgoYnJlYWtQb2ludFZhbHVlcyk7XG5cbiAgICBjb25zdCBhbmltYXRlZEZpbHRlcklkeCA9IHVzZU1lbW8oKCkgPT4gZmlsdGVycy5maW5kSW5kZXgoZiA9PiBmLmlzQW5pbWF0aW5nKSwgW2ZpbHRlcnNdKTtcbiAgICBjb25zdCBhbmltYXRlZEZpbHRlciA9IGFuaW1hdGVkRmlsdGVySWR4ID4gLTEgPyBmaWx0ZXJzW2FuaW1hdGVkRmlsdGVySWR4XSA6IG51bGw7XG5cbiAgICBjb25zdCBpc0xlZ2VuZFBpbm5lZCA9XG4gICAgICB1aVN0YXRlLm1hcENvbnRyb2xzPy5tYXBMZWdlbmQ/LnNob3cgJiYgdWlTdGF0ZS5tYXBDb250cm9scz8ubWFwTGVnZW5kPy5hY3RpdmU7XG4gICAgY29uc3Qgc3BhY2VGb3JMZWdlbmRXaWR0aCA9IGlzTGVnZW5kUGlubmVkXG4gICAgICA/IERJTUVOU0lPTlMubWFwQ29udHJvbC53aWR0aCArIERJTUVOU0lPTlMubWFwQ29udHJvbC5tYXBMZWdlbmQucGlubmVkLnJpZ2h0XG4gICAgICA6IDA7XG5cbiAgICBjb25zdCBlbmxhcmdlZEZpbHRlcldpZHRoID1cbiAgICAgIChpc09wZW4gJiYgIWlzTW9iaWxlID8gY29udGFpbmVyVyAtIHNpZGVQYW5lbFdpZHRoIDogY29udGFpbmVyVykgLSBzcGFjZUZvckxlZ2VuZFdpZHRoO1xuXG4gICAgLy8gc2hvdyBwbGF5YmFjayBjb250cm9sIGlmIGxheWVycyBjb250YWluIHRyaXAgbGF5ZXIgJiBhdCBsZWFzdCBvbmUgdHJpcCBsYXllciBpcyB2aXNpYmxlXG4gICAgY29uc3QgYW5pbWF0YWJsZUxheWVyID0gdXNlTWVtbyhcbiAgICAgICgpID0+XG4gICAgICAgIGxheWVycy5maWx0ZXIobCA9PiBsLmNvbmZpZy5hbmltYXRpb24gJiYgbC5jb25maWcuYW5pbWF0aW9uLmVuYWJsZWQgJiYgbC5jb25maWcuaXNWaXNpYmxlKSxcbiAgICAgIFtsYXllcnNdXG4gICAgKTtcblxuICAgIGNvbnN0IHJlYWR5VG9BbmltYXRpb24gPVxuICAgICAgQXJyYXkuaXNBcnJheShhbmltYXRpb25Db25maWcuZG9tYWluKSAmJiBOdW1iZXIuaXNGaW5pdGUoYW5pbWF0aW9uQ29uZmlnLmN1cnJlbnRUaW1lKTtcbiAgICAvLyBpZiBhbmltYXRpb24gY29udHJvbCBpcyBzaG93aW5nLCBoaWRlIHRpbWUgZGlzcGxheSBpbiB0aW1lIHNsaWRlclxuICAgIGNvbnN0IHNob3dGbG9hdGluZ1RpbWVEaXNwbGF5ID0gIWFuaW1hdGFibGVMYXllci5sZW5ndGg7XG4gICAgY29uc3Qgc2hvd0FuaW1hdGlvbkNvbnRyb2wgPVxuICAgICAgYW5pbWF0YWJsZUxheWVyLmxlbmd0aCAmJiByZWFkeVRvQW5pbWF0aW9uICYmICFhbmltYXRpb25Db25maWcuaGlkZUNvbnRyb2w7XG4gICAgY29uc3Qgc2hvd1RpbWVXaWRnZXQgPSBlbmxhcmdlZEZpbHRlcklkeCA+IC0xICYmIE9iamVjdC5rZXlzKGRhdGFzZXRzKS5sZW5ndGggPiAwO1xuXG4gICAgLy8gaWYgZmlsdGVyIGlzIG5vdCBhbmltYXRpbmcsIHBhc3MgaW4gZW5sYXJnZWQgZmlsdGVyIGhlcmUgYmVjYXVzZVxuICAgIC8vIGFuaW1hdGlvbiBjb250cm9sbGVyIG5lZWRzIHRvIGNhbGwgcmVzZXQgb24gaXRcbiAgICBjb25zdCBmaWx0ZXIgPSAoYW5pbWF0ZWRGaWx0ZXIgYXMgVGltZVJhbmdlRmlsdGVyKSB8fCBmaWx0ZXJzW2VubGFyZ2VkRmlsdGVySWR4XTtcblxuICAgIHJldHVybiAoXG4gICAgICA8Qm90dG9tV2lkZ2V0Q29udGFpbmVyXG4gICAgICAgIHdpZHRoPXtNYXRoLm1pbihtYXhXaWR0aCwgZW5sYXJnZWRGaWx0ZXJXaWR0aCl9XG4gICAgICAgIHN0eWxlPXt7bWFyZ2luUmlnaHQ6IHNwYWNlRm9yTGVnZW5kV2lkdGh9fVxuICAgICAgICBjbGFzc05hbWU9XCJib3R0b20td2lkZ2V0LS1jb250YWluZXJcIlxuICAgICAgICBoYXNQYWRkaW5nPXtzaG93QW5pbWF0aW9uQ29udHJvbCB8fCBzaG93VGltZVdpZGdldH1cbiAgICAgICAgcmVmPXtyb290UmVmfVxuICAgICAgPlxuICAgICAgICA8TGF5ZXJBbmltYXRpb25Db250cm9sbGVyXG4gICAgICAgICAgYW5pbWF0aW9uQ29uZmlnPXthbmltYXRpb25Db25maWd9XG4gICAgICAgICAgc2V0TGF5ZXJBbmltYXRpb25UaW1lPXt2aXNTdGF0ZUFjdGlvbnMuc2V0TGF5ZXJBbmltYXRpb25UaW1lfVxuICAgICAgICA+XG4gICAgICAgICAgeyhpc0FuaW1hdGluZywgc3RhcnQsIHBhdXNlLCByZXNldCkgPT5cbiAgICAgICAgICAgIHNob3dBbmltYXRpb25Db250cm9sID8gKFxuICAgICAgICAgICAgICA8QW5pbWF0aW9uQ29udHJvbFxuICAgICAgICAgICAgICAgIGFuaW1hdGlvbkNvbmZpZz17YW5pbWF0aW9uQ29uZmlnfVxuICAgICAgICAgICAgICAgIHNldExheWVyQW5pbWF0aW9uVGltZT17dmlzU3RhdGVBY3Rpb25zLnNldExheWVyQW5pbWF0aW9uVGltZX1cbiAgICAgICAgICAgICAgICB1cGRhdGVBbmltYXRpb25TcGVlZD17dmlzU3RhdGVBY3Rpb25zLnVwZGF0ZUxheWVyQW5pbWF0aW9uU3BlZWR9XG4gICAgICAgICAgICAgICAgdG9nZ2xlQW5pbWF0aW9uPXt2aXNTdGF0ZUFjdGlvbnMudG9nZ2xlTGF5ZXJBbmltYXRpb259XG4gICAgICAgICAgICAgICAgaXNBbmltYXRhYmxlPXshYW5pbWF0ZWRGaWx0ZXJ9XG4gICAgICAgICAgICAgICAgaXNBbmltYXRpbmc9e2lzQW5pbWF0aW5nfVxuICAgICAgICAgICAgICAgIHJlc2V0QW5pbWF0aW9uPXtyZXNldH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICkgOiBudWxsXG4gICAgICAgICAgfVxuICAgICAgICA8L0xheWVyQW5pbWF0aW9uQ29udHJvbGxlcj5cbiAgICAgICAge2ZpbHRlciAmJiAoXG4gICAgICAgICAgPEZpbHRlckFuaW1hdGlvbkNvbnRyb2xsZXJcbiAgICAgICAgICAgIGZpbHRlcj17ZmlsdGVyfVxuICAgICAgICAgICAgZmlsdGVySWR4PXthbmltYXRlZEZpbHRlcklkeCA+IC0xID8gYW5pbWF0ZWRGaWx0ZXJJZHggOiBlbmxhcmdlZEZpbHRlcklkeH1cbiAgICAgICAgICAgIHNldEZpbHRlckFuaW1hdGlvblRpbWU9e3Zpc1N0YXRlQWN0aW9ucy5zZXRGaWx0ZXJBbmltYXRpb25UaW1lfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHsoaXNBbmltYXRpbmcsIHN0YXJ0LCBwYXVzZSwgcmVzZXRBbmltYXRpb24pID0+XG4gICAgICAgICAgICAgIHNob3dUaW1lV2lkZ2V0ID8gKFxuICAgICAgICAgICAgICAgIDxUaW1lV2lkZ2V0XG4gICAgICAgICAgICAgICAgICAvLyBUaW1lV2lkZ2V0IHVzZXMgUmVhY3QubWVtbywgaGVyZSB3ZSBwYXNzIHdpZHRoXG4gICAgICAgICAgICAgICAgICAvLyBldmVuIHRob3VnaCBpdCBkb2VzbnQgdXNlIGl0LCB0byBmb3JjZSByZXJlbmRlclxuICAgICAgICAgICAgICAgICAgZmlsdGVyPXtmaWx0ZXJzW2VubGFyZ2VkRmlsdGVySWR4XSBhcyBUaW1lUmFuZ2VGaWx0ZXJ9XG4gICAgICAgICAgICAgICAgICBpbmRleD17ZW5sYXJnZWRGaWx0ZXJJZHh9XG4gICAgICAgICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICAgICAgICByZWFkT25seT17cmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICBzaG93VGltZURpc3BsYXk9e3Nob3dGbG9hdGluZ1RpbWVEaXNwbGF5fVxuICAgICAgICAgICAgICAgICAgc2V0RmlsdGVyUGxvdD17dmlzU3RhdGVBY3Rpb25zLnNldEZpbHRlclBsb3R9XG4gICAgICAgICAgICAgICAgICBzZXRGaWx0ZXJBbmltYXRpb25UaW1lPXt2aXNTdGF0ZUFjdGlvbnMuc2V0RmlsdGVyQW5pbWF0aW9uVGltZX1cbiAgICAgICAgICAgICAgICAgIHNldEZpbHRlckFuaW1hdGlvbldpbmRvdz17dmlzU3RhdGVBY3Rpb25zLnNldEZpbHRlckFuaW1hdGlvbldpbmRvd31cbiAgICAgICAgICAgICAgICAgIHRvZ2dsZUFuaW1hdGlvbj17dmlzU3RhdGVBY3Rpb25zLnRvZ2dsZUZpbHRlckFuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICAgIHVwZGF0ZUFuaW1hdGlvblNwZWVkPXt2aXNTdGF0ZUFjdGlvbnMudXBkYXRlRmlsdGVyQW5pbWF0aW9uU3BlZWR9XG4gICAgICAgICAgICAgICAgICBlbmxhcmdlRmlsdGVyPXt2aXNTdGF0ZUFjdGlvbnMuZW5sYXJnZUZpbHRlcn1cbiAgICAgICAgICAgICAgICAgIHJlc2V0QW5pbWF0aW9uPXtyZXNldEFuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICAgIGlzQW5pbWF0YWJsZT17IWFuaW1hdGlvbkNvbmZpZyB8fCAhYW5pbWF0aW9uQ29uZmlnLmlzQW5pbWF0aW5nfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICkgOiBudWxsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9GaWx0ZXJBbmltYXRpb25Db250cm9sbGVyPlxuICAgICAgICApfVxuICAgICAgPC9Cb3R0b21XaWRnZXRDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICAvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9kaXNwbGF5LW5hbWUgKi9cbiAgLy8gQHRzLWlnbm9yZVxuICByZXR1cm4gZm9yd2FyZFJlZigocHJvcHM6IEJvdHRvbVdpZGdldFByb3BzLCByZWYpID0+IDxCb3R0b21XaWRnZXQgey4uLnByb3BzfSByb290UmVmPXtyZWZ9IC8+KTtcbiAgLyogZXNsaW50LWVuYWJsZSByZWFjdC9kaXNwbGF5LW5hbWUgKi9cbn1cbi8qIGVzbGludC1lbmFibGUgY29tcGxleGl0eSAqL1xuIl19
186
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ib3R0b20td2lkZ2V0LnRzeCJdLCJuYW1lcyI6WyJtYXhXaWR0aCIsIkJvdHRvbVdpZGdldENvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsInByb3BzIiwiaGFzUGFkZGluZyIsInRoZW1lIiwiYm90dG9tV2lkZ2V0UGFkZGluZ1RvcCIsImJvdHRvbVdpZGdldFBhZGRpbmdSaWdodCIsImJvdHRvbVdpZGdldFBhZGRpbmdCb3R0b20iLCJib3R0b21XaWRnZXRQYWRkaW5nTGVmdCIsIndpZHRoIiwibWVkaWEiLCJwb3J0YWJsZSIsIkJvdHRvbVdpZGdldEZhY3RvcnkiLCJkZXBzIiwiVGltZVdpZGdldEZhY3RvcnkiLCJBbmltYXRpb25Db250cm9sRmFjdG9yeSIsIkZpbHRlckFuaW1hdGlvbkNvbnRyb2xsZXJGYWN0b3J5IiwiTGF5ZXJBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeSIsIlRpbWVXaWRnZXQiLCJBbmltYXRpb25Db250cm9sIiwiRmlsdGVyQW5pbWF0aW9uQ29udHJvbGxlciIsIkxheWVyQW5pbWF0aW9uQ29udHJvbGxlciIsIkxheWVyQW5pbWF0aW9uQ29udHJvbCIsInNpZGVQYW5lbEJnIiwiQm90dG9tV2lkZ2V0IiwiZGF0YXNldHMiLCJmaWx0ZXJzIiwiYW5pbWF0aW9uQ29uZmlnIiwidmlzU3RhdGVBY3Rpb25zIiwiY29udGFpbmVyVyIsInVpU3RhdGUiLCJzaWRlUGFuZWxXaWR0aCIsImxheWVycyIsInJvb3RSZWYiLCJhY3RpdmVTaWRlUGFuZWwiLCJyZWFkT25seSIsImlzT3BlbiIsIkJvb2xlYW4iLCJlbmxhcmdlZEZpbHRlcklkeCIsImZpbmRJbmRleCIsImYiLCJpc01vYmlsZSIsImJyZWFrUG9pbnRWYWx1ZXMiLCJhbmltYXRlZEZpbHRlcklkeCIsImlzQW5pbWF0aW5nIiwiYW5pbWF0ZWRGaWx0ZXIiLCJpc0xlZ2VuZFBpbm5lZCIsIm1hcENvbnRyb2xzIiwibWFwTGVnZW5kIiwic2hvdyIsImFjdGl2ZSIsInNwYWNlRm9yTGVnZW5kV2lkdGgiLCJtYXBDb250cm9sIiwicGlubmVkIiwicmlnaHQiLCJlbmxhcmdlZEZpbHRlcldpZHRoIiwiYW5pbWF0YWJsZUxheWVyIiwiZmlsdGVyIiwibCIsImNvbmZpZyIsImFuaW1hdGlvbiIsImVuYWJsZWQiLCJpc1Zpc2libGUiLCJyZWFkeVRvQW5pbWF0aW9uIiwiQXJyYXkiLCJpc0FycmF5IiwiZG9tYWluIiwiTnVtYmVyIiwiaXNGaW5pdGUiLCJjdXJyZW50VGltZSIsInNob3dGbG9hdGluZ1RpbWVEaXNwbGF5IiwibGVuZ3RoIiwic2hvd0FuaW1hdGlvbkNvbnRyb2wiLCJoaWRlQ29udHJvbCIsInNob3dUaW1lV2lkZ2V0IiwiT2JqZWN0Iiwia2V5cyIsIm9uQ2xvc2UiLCJzZXRGaWx0ZXJWaWV3IiwiRklMVEVSX1ZJRVdfVFlQRVMiLCJzaWRlIiwiTWF0aCIsIm1pbiIsIm1hcmdpblJpZ2h0Iiwic2V0TGF5ZXJBbmltYXRpb25UaW1lIiwic3RhcnQiLCJwYXVzZSIsInJlc2V0QW5pbWF0aW9uIiwidGltZWxpbmUiLCJzZXRUaW1lbGluZVZhbHVlIiwidXBkYXRlTGF5ZXJBbmltYXRpb25TcGVlZCIsInRvZ2dsZUxheWVyQW5pbWF0aW9uIiwic2V0RmlsdGVyQW5pbWF0aW9uVGltZSIsInNldEZpbHRlclBsb3QiLCJzZXRGaWx0ZXJBbmltYXRpb25XaW5kb3ciLCJ0b2dnbGVGaWx0ZXJBbmltYXRpb24iLCJ1cGRhdGVGaWx0ZXJBbmltYXRpb25TcGVlZCIsInJlZiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUdBOztBQUVBOztBQUNBOztBQUNBOzs7O0FBRUEsSUFBTUEsUUFBUSxHQUFHLElBQWpCOztBQU9BLElBQU1DLHFCQUFxQixHQUFHQyw2QkFBT0MsR0FBVix3YkFHVixVQUFBQyxLQUFLO0FBQUEsU0FBS0EsS0FBSyxDQUFDQyxVQUFOLEdBQW1CRCxLQUFLLENBQUNFLEtBQU4sQ0FBWUMsc0JB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QUFjLEVBQUVULGNBYmxCO0FBY0UsUUFBQSxZQUFZLEVBQUUsQ0FBQzVELGVBQUQsSUFBb0IsQ0FBQ0EsZUFBZSxDQUFDaUIsV0FkckQ7QUFlRSxRQUFBLE9BQU8sRUFBRWlDLE9BZlg7QUFnQkUsUUFBQSxRQUFRLEVBQUVXO0FBaEJaLFFBREYsR0FtQkksSUFwQkw7QUFBQSxLQUxILENBREssR0E2QkgsSUF0RE4sQ0FERjtBQTBERCxHQXJIRDtBQXVIQTs7O0FBQ0EsU0FBTztBQUFBO0FBQ0w7QUFDQSx5QkFBVyxVQUFDdEYsS0FBRCxFQUFpQytGLEdBQWpDO0FBQUEsd0JBQXlDLGdDQUFDLFlBQUQsZ0NBQWtCL0YsS0FBbEI7QUFBeUIsTUFBQSxPQUFPLEVBQUUrRjtBQUFsQyxPQUF6QztBQUFBLEdBQVgsQ0FGSyxDQUFQO0FBSUE7QUFDRDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIzIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Zm9yd2FyZFJlZiwgdXNlTWVtbywgdXNlQ2FsbGJhY2t9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQsIHt3aXRoVGhlbWV9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuaW1wb3J0IHtGSUxURVJfVklFV19UWVBFU30gZnJvbSAnQGtlcGxlci5nbC9jb25zdGFudHMnO1xuaW1wb3J0IHtoYXNQb3J0YWJsZVdpZHRoLCBpc1NpZGVGaWx0ZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHttZWRpYSwgYnJlYWtQb2ludFZhbHVlc30gZnJvbSAnQGtlcGxlci5nbC9zdHlsZXMnO1xuaW1wb3J0IHtUaW1lUmFuZ2VGaWx0ZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5pbXBvcnQgVGltZVdpZGdldEZhY3RvcnkgZnJvbSAnLi9maWx0ZXJzL3RpbWUtd2lkZ2V0JztcbmltcG9ydCB7Ym90dG9tV2lkZ2V0U2VsZWN0b3J9IGZyb20gJy4va2VwbGVyLWdsJztcbmltcG9ydCBGaWx0ZXJBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeSBmcm9tICcuL2ZpbHRlci1hbmltYXRpb24tY29udHJvbGxlcic7XG5pbXBvcnQgTGF5ZXJBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeSBmcm9tICcuL2xheWVyLWFuaW1hdGlvbi1jb250cm9sbGVyJztcbmltcG9ydCBBbmltYXRpb25Db250cm9sRmFjdG9yeSBmcm9tICcuL2NvbW1vbi9hbmltYXRpb24tY29udHJvbC9hbmltYXRpb24tY29udHJvbCc7XG5cbmNvbnN0IG1heFdpZHRoID0gMTA4MDtcblxuaW50ZXJmYWNlIEJvdHRvbVdpZGdldENvbnRhaW5lclByb3BzIHtcbiAgaGFzUGFkZGluZz86IGJvb2xlYW47XG4gIHdpZHRoPzogbnVtYmVyO1xufVxuXG5jb25zdCBCb3R0b21XaWRnZXRDb250YWluZXIgPSBzdHlsZWQuZGl2PEJvdHRvbVdpZGdldENvbnRhaW5lclByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZy10b3A6ICR7cHJvcHMgPT4gKHByb3BzLmhhc1BhZGRpbmcgPyBwcm9wcy50aGVtZS5ib3R0b21XaWRnZXRQYWRkaW5nVG9wIDogMCl9cHg7XG4gIHBhZGRpbmctcmlnaHQ6ICR7cHJvcHMgPT4gKHByb3BzLmhhc1BhZGRpbmcgPyBwcm9wcy50aGVtZS5ib3R0b21XaWRnZXRQYWRkaW5nUmlnaHQgOiAwKX1weDtcbiAgcGFkZGluZy1ib3R0b206ICR7cHJvcHMgPT4gKHByb3BzLmhhc1BhZGRpbmcgPyBwcm9wcy50aGVtZS5ib3R0b21XaWRnZXRQYWRkaW5nQm90dG9tIDogMCl9cHg7XG4gIHBhZGRpbmctbGVmdDogJHtwcm9wcyA9PiAocHJvcHMuaGFzUGFkZGluZyA/IHByb3BzLnRoZW1lLmJvdHRvbVdpZGdldFBhZGRpbmdMZWZ0IDogMCl9cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7IC8qIHByZXZlbnQgcGFkZGluZyBmcm9tIGJsb2NraW5nIGlucHV0ICovXG4gICYgPiAqIHtcbiAgICAvKiBhbGwgY2hpbGRyZW4gc2hvdWxkIGFsbG93IGlucHV0ICovXG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgfVxuICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy53aWR0aH1weDtcbiAgei1pbmRleDogMTtcbiAgJHttZWRpYS5wb3J0YWJsZWBwYWRkaW5nOiAwO2B9XG5gO1xuXG5leHBvcnQgdHlwZSBCb3R0b21XaWRnZXRQcm9wcyA9IHtcbiAgcm9vdFJlZjogUmVhY3QuRm9yd2FyZGVkUmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgY29udGFpbmVyVzogbnVtYmVyO1xufSAmIFJldHVyblR5cGU8dHlwZW9mIGJvdHRvbVdpZGdldFNlbGVjdG9yPjtcbnR5cGUgVGhlbWVQcm9wID0ge1xuICB0aGVtZTogUmVjb3JkPHN0cmluZywgYW55Pjtcbn07XG50eXBlIEJvdHRvbVdpZGdldFRoZW1lZFByb3BzID0gQm90dG9tV2lkZ2V0UHJvcHMgJiBUaGVtZVByb3A7XG5cbkJvdHRvbVdpZGdldEZhY3RvcnkuZGVwcyA9IFtcbiAgVGltZVdpZGdldEZhY3RvcnksXG4gIEFuaW1hdGlvbkNvbnRyb2xGYWN0b3J5LFxuICBGaWx0ZXJBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeSxcbiAgTGF5ZXJBbmltYXRpb25Db250cm9sbGVyRmFjdG9yeVxuXTtcblxuLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQm90dG9tV2lkZ2V0RmFjdG9yeShcbiAgVGltZVdpZGdldDogUmV0dXJuVHlwZTx0eXBlb2YgVGltZVdpZGdldEZhY3Rvcnk+LFxuICBBbmltYXRpb25Db250cm9sOiBSZXR1cm5UeXBlPHR5cGVvZiBBbmltYXRpb25Db250cm9sRmFjdG9yeT4sXG4gIEZpbHRlckFuaW1hdGlvbkNvbnRyb2xsZXI6IFJldHVyblR5cGU8dHlwZW9mIEZpbHRlckFuaW1hdGlvbkNvbnRyb2xsZXJGYWN0b3J5PixcbiAgTGF5ZXJBbmltYXRpb25Db250cm9sbGVyOiBSZXR1cm5UeXBlPHR5cGVvZiBMYXllckFuaW1hdGlvbkNvbnRyb2xsZXJGYWN0b3J5PlxuKTogUmVhY3QuRkM8Qm90dG9tV2lkZ2V0VGhlbWVkUHJvcHM+IHtcbiAgY29uc3QgTGF5ZXJBbmltYXRpb25Db250cm9sID0gc3R5bGVkKEFuaW1hdGlvbkNvbnRyb2wpYFxuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2lkZVBhbmVsQmd9O1xuICBgO1xuXG4gIGNvbnN0IEJvdHRvbVdpZGdldDogUmVhY3QuRkM8Qm90dG9tV2lkZ2V0VGhlbWVkUHJvcHM+ID0gKHByb3BzOiBCb3R0b21XaWRnZXRUaGVtZWRQcm9wcykgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGRhdGFzZXRzLFxuICAgICAgZmlsdGVycyxcbiAgICAgIGFuaW1hdGlvbkNvbmZpZyxcbiAgICAgIHZpc1N0YXRlQWN0aW9ucyxcbiAgICAgIGNvbnRhaW5lclcsXG4gICAgICB1aVN0YXRlLFxuICAgICAgc2lkZVBhbmVsV2lkdGgsXG4gICAgICBsYXllcnMsXG4gICAgICByb290UmVmLFxuICAgICAgdGhlbWVcbiAgICB9ID0gcHJvcHM7XG5cbiAgICBjb25zdCB7YWN0aXZlU2lkZVBhbmVsLCByZWFkT25seX0gPSB1aVN0YXRlO1xuICAgIGNvbnN0IGlzT3BlbiA9IEJvb2xlYW4oYWN0aXZlU2lkZVBhbmVsKTtcblxuICAgIGNvbnN0IGVubGFyZ2VkRmlsdGVySWR4ID0gdXNlTWVtbygoKSA9PiBmaWx0ZXJzLmZpbmRJbmRleChmID0+ICFpc1NpZGVGaWx0ZXIoZikpLCBbZmlsdGVyc10pO1xuXG4gICAgY29uc3QgaXNNb2JpbGUgPSBoYXNQb3J0YWJsZVdpZHRoKGJyZWFrUG9pbnRWYWx1ZXMpO1xuXG4gICAgY29uc3QgYW5pbWF0ZWRGaWx0ZXJJZHggPSB1c2VNZW1vKCgpID0+IGZpbHRlcnMuZmluZEluZGV4KGYgPT4gZi5pc0FuaW1hdGluZyksIFtmaWx0ZXJzXSk7XG4gICAgY29uc3QgYW5pbWF0ZWRGaWx0ZXIgPSBhbmltYXRlZEZpbHRlcklkeCA+IC0xID8gZmlsdGVyc1thbmltYXRlZEZpbHRlcklkeF0gOiBudWxsO1xuXG4gICAgY29uc3QgaXNMZWdlbmRQaW5uZWQgPVxuICAgICAgdWlTdGF0ZS5tYXBDb250cm9scz8ubWFwTGVnZW5kPy5zaG93ICYmIHVpU3RhdGUubWFwQ29udHJvbHM/Lm1hcExlZ2VuZD8uYWN0aXZlO1xuICAgIGNvbnN0IHNwYWNlRm9yTGVnZW5kV2lkdGggPSBpc0xlZ2VuZFBpbm5lZFxuICAgICAgPyB0aGVtZS5tYXBDb250cm9sPy53aWR0aCArXG4gICAgICAgIHRoZW1lLm1hcENvbnRyb2w/Lm1hcExlZ2VuZD8ucGlubmVkPy5yaWdodCAqIDIgLVxuICAgICAgICB0aGVtZS5ib3R0b21XaWRnZXRQYWRkaW5nUmlnaHRcbiAgICAgIDogMDtcblxuICAgIGNvbnN0IGVubGFyZ2VkRmlsdGVyV2lkdGggPVxuICAgICAgKGlzT3BlbiAmJiAhaXNNb2JpbGUgPyBjb250YWluZXJXIC0gc2lkZVBhbmVsV2lkdGggOiBjb250YWluZXJXKSAtIHNwYWNlRm9yTGVnZW5kV2lkdGg7XG5cbiAgICAvLyBzaG93IHBsYXliYWNrIGNvbnRyb2wgaWYgbGF5ZXJzIGNvbnRhaW4gdHJpcCBsYXllciAmIGF0IGxlYXN0IG9uZSB0cmlwIGxheWVyIGlzIHZpc2libGVcbiAgICBjb25zdCBhbmltYXRhYmxlTGF5ZXIgPSB1c2VNZW1vKFxuICAgICAgKCkgPT5cbiAgICAgICAgbGF5ZXJzLmZpbHRlcihsID0+IGwuY29uZmlnLmFuaW1hdGlvbiAmJiBsLmNvbmZpZy5hbmltYXRpb24uZW5hYmxlZCAmJiBsLmNvbmZpZy5pc1Zpc2libGUpLFxuICAgICAgW2xheWVyc11cbiAgICApO1xuXG4gICAgY29uc3QgcmVhZHlUb0FuaW1hdGlvbiA9XG4gICAgICBBcnJheS5pc0FycmF5KGFuaW1hdGlvbkNvbmZpZy5kb21haW4pICYmIE51bWJlci5pc0Zpbml0ZShhbmltYXRpb25Db25maWcuY3VycmVudFRpbWUpO1xuICAgIC8vIGlmIGFuaW1hdGlvbiBjb250cm9sIGlzIHNob3dpbmcsIGhpZGUgdGltZSBkaXNwbGF5IGluIHRpbWUgc2xpZGVyXG4gICAgY29uc3Qgc2hvd0Zsb2F0aW5nVGltZURpc3BsYXkgPSAhYW5pbWF0YWJsZUxheWVyLmxlbmd0aDtcbiAgICBjb25zdCBzaG93QW5pbWF0aW9uQ29udHJvbCA9XG4gICAgICBhbmltYXRhYmxlTGF5ZXIubGVuZ3RoICYmIHJlYWR5VG9BbmltYXRpb24gJiYgIWFuaW1hdGlvbkNvbmZpZy5oaWRlQ29udHJvbDtcbiAgICBjb25zdCBzaG93VGltZVdpZGdldCA9IGVubGFyZ2VkRmlsdGVySWR4ID4gLTEgJiYgT2JqZWN0LmtleXMoZGF0YXNldHMpLmxlbmd0aCA+IDA7XG5cbiAgICAvLyBpZiBmaWx0ZXIgaXMgbm90IGFuaW1hdGluZywgcGFzcyBpbiBlbmxhcmdlZCBmaWx0ZXIgaGVyZSBiZWNhdXNlXG4gICAgLy8gYW5pbWF0aW9uIGNvbnRyb2xsZXIgbmVlZHMgdG8gY2FsbCByZXNldCBvbiBpdFxuICAgIGNvbnN0IGZpbHRlciA9IChhbmltYXRlZEZpbHRlciBhcyBUaW1lUmFuZ2VGaWx0ZXIpIHx8IGZpbHRlcnNbZW5sYXJnZWRGaWx0ZXJJZHhdO1xuXG4gICAgY29uc3Qgb25DbG9zZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKCkgPT4gdmlzU3RhdGVBY3Rpb25zLnNldEZpbHRlclZpZXcoZW5sYXJnZWRGaWx0ZXJJZHgsIEZJTFRFUl9WSUVXX1RZUEVTLnNpZGUpLFxuICAgICAgW3Zpc1N0YXRlQWN0aW9ucywgZW5sYXJnZWRGaWx0ZXJJZHhdXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8Qm90dG9tV2lkZ2V0Q29udGFpbmVyXG4gICAgICAgIHdpZHRoPXtNYXRoLm1pbihtYXhXaWR0aCwgZW5sYXJnZWRGaWx0ZXJXaWR0aCl9XG4gICAgICAgIHN0eWxlPXt7bWFyZ2luUmlnaHQ6IHNwYWNlRm9yTGVnZW5kV2lkdGh9fVxuICAgICAgICBjbGFzc05hbWU9XCJib3R0b20td2lkZ2V0LS1jb250YWluZXJcIlxuICAgICAgICBoYXNQYWRkaW5nPXtzaG93QW5pbWF0aW9uQ29udHJvbCB8fCBzaG93VGltZVdpZGdldH1cbiAgICAgICAgcmVmPXtyb290UmVmfVxuICAgICAgPlxuICAgICAgICA8TGF5ZXJBbmltYXRpb25Db250cm9sbGVyXG4gICAgICAgICAgYW5pbWF0aW9uQ29uZmlnPXthbmltYXRpb25Db25maWd9XG4gICAgICAgICAgc2V0TGF5ZXJBbmltYXRpb25UaW1lPXt2aXNTdGF0ZUFjdGlvbnMuc2V0TGF5ZXJBbmltYXRpb25UaW1lfVxuICAgICAgICA+XG4gICAgICAgICAgeyhpc0FuaW1hdGluZywgc3RhcnQsIHBhdXNlLCByZXNldEFuaW1hdGlvbiwgdGltZWxpbmUsIHNldFRpbWVsaW5lVmFsdWUpID0+XG4gICAgICAgICAgICBzaG93QW5pbWF0aW9uQ29udHJvbCA/IChcbiAgICAgICAgICAgICAgPExheWVyQW5pbWF0aW9uQ29udHJvbFxuICAgICAgICAgICAgICAgIHVwZGF0ZUFuaW1hdGlvblNwZWVkPXt2aXNTdGF0ZUFjdGlvbnMudXBkYXRlTGF5ZXJBbmltYXRpb25TcGVlZH1cbiAgICAgICAgICAgICAgICB0b2dnbGVBbmltYXRpb249e3Zpc1N0YXRlQWN0aW9ucy50b2dnbGVMYXllckFuaW1hdGlvbn1cbiAgICAgICAgICAgICAgICBpc0FuaW1hdGFibGU9eyFhbmltYXRlZEZpbHRlcn1cbiAgICAgICAgICAgICAgICBpc0FuaW1hdGluZz17aXNBbmltYXRpbmd9XG4gICAgICAgICAgICAgICAgcmVzZXRBbmltYXRpb249e3Jlc2V0QW5pbWF0aW9ufVxuICAgICAgICAgICAgICAgIHNldFRpbWVsaW5lVmFsdWU9e3NldFRpbWVsaW5lVmFsdWV9XG4gICAgICAgICAgICAgICAgdGltZWxpbmU9e3RpbWVsaW5lfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSA6IG51bGxcbiAgICAgICAgICB9XG4gICAgICAgIDwvTGF5ZXJBbmltYXRpb25Db250cm9sbGVyPlxuICAgICAgICB7ZmlsdGVyID8gKFxuICAgICAgICAgIDxGaWx0ZXJBbmltYXRpb25Db250cm9sbGVyXG4gICAgICAgICAgICBmaWx0ZXI9e2ZpbHRlcn1cbiAgICAgICAgICAgIGZpbHRlcklkeD17YW5pbWF0ZWRGaWx0ZXJJZHggPiAtMSA/IGFuaW1hdGVkRmlsdGVySWR4IDogZW5sYXJnZWRGaWx0ZXJJZHh9XG4gICAgICAgICAgICBzZXRGaWx0ZXJBbmltYXRpb25UaW1lPXt2aXNTdGF0ZUFjdGlvbnMuc2V0RmlsdGVyQW5pbWF0aW9uVGltZX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7KGlzQW5pbWF0aW5nLCBzdGFydCwgcGF1c2UsIHJlc2V0QW5pbWF0aW9uLCB0aW1lbGluZSwgc2V0VGltZWxpbmVWYWx1ZSkgPT5cbiAgICAgICAgICAgICAgc2hvd1RpbWVXaWRnZXQgJiYgdGltZWxpbmUgPyAoXG4gICAgICAgICAgICAgICAgPFRpbWVXaWRnZXRcbiAgICAgICAgICAgICAgICAgIC8vIFRpbWVXaWRnZXQgdXNlcyBSZWFjdC5tZW1vLCBoZXJlIHdlIHBhc3Mgd2lkdGhcbiAgICAgICAgICAgICAgICAgIC8vIGV2ZW4gdGhvdWdoIGl0IGRvZXNudCB1c2UgaXQsIHRvIGZvcmNlIHJlcmVuZGVyXG4gICAgICAgICAgICAgICAgICBmaWx0ZXI9e2ZpbHRlcnNbZW5sYXJnZWRGaWx0ZXJJZHhdIGFzIFRpbWVSYW5nZUZpbHRlcn1cbiAgICAgICAgICAgICAgICAgIGluZGV4PXtlbmxhcmdlZEZpbHRlcklkeH1cbiAgICAgICAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgICAgICAgIHNob3dUaW1lRGlzcGxheT17c2hvd0Zsb2F0aW5nVGltZURpc3BsYXl9XG4gICAgICAgICAgICAgICAgICBzZXRGaWx0ZXJQbG90PXt2aXNTdGF0ZUFjdGlvbnMuc2V0RmlsdGVyUGxvdH1cbiAgICAgICAgICAgICAgICAgIHNldEZpbHRlckFuaW1hdGlvblRpbWU9e3NldFRpbWVsaW5lVmFsdWV9XG4gICAgICAgICAgICAgICAgICBzZXRGaWx0ZXJBbmltYXRpb25XaW5kb3c9e3Zpc1N0YXRlQWN0aW9ucy5zZXRGaWx0ZXJBbmltYXRpb25XaW5kb3d9XG4gICAgICAgICAgICAgICAgICB0b2dnbGVBbmltYXRpb249e3Zpc1N0YXRlQWN0aW9ucy50b2dnbGVGaWx0ZXJBbmltYXRpb259XG4gICAgICAgICAgICAgICAgICB1cGRhdGVBbmltYXRpb25TcGVlZD17dmlzU3RhdGVBY3Rpb25zLnVwZGF0ZUZpbHRlckFuaW1hdGlvblNwZWVkfVxuICAgICAgICAgICAgICAgICAgcmVzZXRBbmltYXRpb249e3Jlc2V0QW5pbWF0aW9ufVxuICAgICAgICAgICAgICAgICAgaXNBbmltYXRhYmxlPXshYW5pbWF0aW9uQ29uZmlnIHx8ICFhbmltYXRpb25Db25maWcuaXNBbmltYXRpbmd9XG4gICAgICAgICAgICAgICAgICBvbkNsb3NlPXtvbkNsb3NlfVxuICAgICAgICAgICAgICAgICAgdGltZWxpbmU9e3RpbWVsaW5lfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICkgOiBudWxsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9GaWx0ZXJBbmltYXRpb25Db250cm9sbGVyPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvQm90dG9tV2lkZ2V0Q29udGFpbmVyPlxuICAgICk7XG4gIH07XG5cbiAgLyogZXNsaW50LWRpc2FibGUgcmVhY3QvZGlzcGxheS1uYW1lICovXG4gIHJldHVybiB3aXRoVGhlbWUoXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGZvcndhcmRSZWYoKHByb3BzOiBCb3R0b21XaWRnZXRUaGVtZWRQcm9wcywgcmVmKSA9PiA8Qm90dG9tV2lkZ2V0IHsuLi5wcm9wc30gcm9vdFJlZj17cmVmfSAvPilcbiAgKTtcbiAgLyogZXNsaW50LWVuYWJsZSByZWFjdC9kaXNwbGF5LW5hbWUgKi9cbn1cbi8qIGVzbGludC1lbmFibGUgY29tcGxleGl0eSAqL1xuIl19
@@ -18,10 +18,10 @@ export interface DirectionProp {
18
18
  direction: string;
19
19
  }
20
20
  /** @type {typeof import('./action-panel').ActionPanelItem} */
21
- export declare const ActionPanelItem: React.MemoExoticComponent<({ children, color, className, Icon, label, onClick, isSelection, isActive, style }: ActionPanelItemProps) => JSX.Element>;
21
+ export declare const ActionPanelItem: React.MemoExoticComponent<({ children, color, className, Icon, label, onClick, isSelection, isActive, style }: ActionPanelItemProps) => React.JSX.Element>;
22
22
  /** @type {typeof import('./action-panel').ActionPanel} */
23
23
  declare const ActionPanel: {
24
- ({ children, className, direction }: ActionPanelProps): JSX.Element;
24
+ ({ children, className, direction }: ActionPanelProps): React.JSX.Element;
25
25
  displayName: string;
26
26
  };
27
27
  export default ActionPanel;
@@ -1,4 +1,4 @@
1
- // Copyright (c) 2022 Uber Technologies, Inc.
1
+ // Copyright (c) 2023 Uber Technologies, Inc.
2
2
  //
3
3
  // Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  // of this software and associated documentation files (the "Software"), to deal
@@ -43,7 +43,7 @@ var _switch = _interopRequireDefault(require("./switch"));
43
43
 
44
44
  var _templateObject, _templateObject2, _templateObject3;
45
45
 
46
- var StyledItem = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n align-items: center;\n font-size: 12px;\n line-height: 14px;\n padding: 8px;\n min-height: ", "px;\n text-transform: capitalize;\n background-color: ", ";\n max-width: 200px;\n position: relative;\n\n ", " :hover {\n cursor: pointer;\n color: ", ";\n .nested-group {\n display: block;\n }\n }\n\n .label {\n margin-left: 8px;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n .label-icon {\n margin-left: auto;\n }\n\n .nested-group {\n max-width: 200px;\n overflow: hidden;\n display: none;\n color: ", ";\n position: absolute;\n left: 100%;\n top: 0px;\n padding-left: 4px;\n\n label {\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n"])), function (props) {
46
+ var StyledItem = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row;\n align-items: center;\n font-size: 12px;\n line-height: 14px;\n padding: 8px 16px 8px 8px;\n min-height: ", "px;\n text-transform: capitalize;\n background-color: ", ";\n max-width: 200px;\n position: relative;\n\n ", " :hover {\n cursor: pointer;\n color: ", ";\n .nested-group {\n display: block;\n }\n }\n\n .label {\n margin-left: 8px;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n .label-icon {\n margin-left: 4px;\n margin-bottom: -2px;\n }\n .icon {\n width: 18px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n .nested-group {\n max-width: 200px;\n overflow: hidden;\n display: none;\n color: ", ";\n position: absolute;\n left: 100%;\n top: 0px;\n padding-left: 4px;\n\n label {\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n }\n"])), function (props) {
47
47
  return props.theme.actionPanelHeight;
48
48
  }, function (props) {
49
49
  return props.theme.dropdownListBgd;
@@ -64,7 +64,7 @@ var StyledCheckedbox = (0, _styledComponents["default"])(_switch["default"])(_te
64
64
  });
65
65
 
66
66
  var renderChildren = function renderChildren(child, index) {
67
- return /*#__PURE__*/_react["default"].isValidElement(child) && /*#__PURE__*/_react["default"].cloneElement(child, {
67
+ return child && /*#__PURE__*/_react["default"].isValidElement(child) && /*#__PURE__*/_react["default"].cloneElement(child, {
68
68
  onClick: function onClick() {
69
69
  if (child.props.onClick) {
70
70
  child.props.onClick(index);
@@ -149,4 +149,4 @@ var ActionPanel = function ActionPanel(_ref2) {
149
149
  ActionPanel.displayName = 'ActionPanel';
150
150
  var _default = ActionPanel;
151
151
  exports["default"] = _default;
152
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vYWN0aW9uLXBhbmVsLnRzeCJdLCJuYW1lcyI6WyJTdHlsZWRJdGVtIiwic3R5bGVkIiwiZGl2IiwicHJvcHMiLCJ0aGVtZSIsImFjdGlvblBhbmVsSGVpZ2h0IiwiZHJvcGRvd25MaXN0QmdkIiwiY29sb3IiLCJ0ZXh0Q29sb3JIbCIsInRleHRDb2xvciIsIlN0eWxlZENoZWNrZWRib3giLCJDaGVja2JveCIsInJlbmRlckNoaWxkcmVuIiwiY2hpbGQiLCJpbmRleCIsImlzVmFsaWRFbGVtZW50IiwiUmVhY3QiLCJjbG9uZUVsZW1lbnQiLCJvbkNsaWNrIiwiY2xhc3NOYW1lIiwiQWN0aW9uUGFuZWxJdGVtIiwibWVtbyIsImNoaWxkcmVuIiwiSWNvbiIsImxhYmVsIiwiaXNTZWxlY3Rpb24iLCJpc0FjdGl2ZSIsInN0eWxlIiwib25DbGlja0NhbGxiYWNrIiwiZXZlbnQiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsIkJvb2xlYW4iLCJDaGlsZHJlbiIsIm1hcCIsImRpc3BsYXlOYW1lIiwiU3R5bGVkQWN0aW9uUGFuZWwiLCJkaXJlY3Rpb24iLCJkcm9wZG93bkxpc3RTaGFkb3ciLCJ0cmFuc2l0aW9uU2xvdyIsInBhbmVsSGVhZGVySWNvbiIsIkFjdGlvblBhbmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBdUJBLElBQU1BLFVBQVUsR0FBR0MsNkJBQU9DLEdBQVYseTJCQU9BLFVBQUFDLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUMsaUJBQWhCO0FBQUEsQ0FQTCxFQVNNLFVBQUFGLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUUsZUFBaEI7QUFBQSxDQVRYLEVBYVosVUFBQUgsS0FBSztBQUFBLFNBQUtBLEtBQUssQ0FBQ0ksS0FBTix3Q0FBNENKLEtBQUssQ0FBQ0ksS0FBbEQsVUFBOEQs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OUI7QUFBeUMsSUFBQSxTQUFTLEVBQUVrQjtBQUFwRCxLQUNHckIsa0JBQU1pQixRQUFOLENBQWVDLEdBQWYsQ0FBbUJaLFFBQW5CLEVBQTZCVixjQUE3QixDQURILENBRGtCO0FBQUEsQ0FBcEI7O0FBTUE2QixXQUFXLENBQUNOLFdBQVosR0FBMEIsYUFBMUI7ZUFFZU0sVyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCBQcm9wc1dpdGhDaGlsZHJlbiwgRWxlbWVudFR5cGUsIENTU1Byb3BlcnRpZXMsIFJlYWN0Tm9kZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7QXJyb3dSaWdodH0gZnJvbSAnLi9pY29ucyc7XG5pbXBvcnQgQ2hlY2tib3ggZnJvbSAnLi9zd2l0Y2gnO1xuXG5leHBvcnQgdHlwZSBBY3Rpb25QYW5lbFByb3BzID0gUHJvcHNXaXRoQ2hpbGRyZW48e1xuICBjb2xvcj86IHN0cmluZztcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBkaXJlY3Rpb24/OiBzdHJpbmc7XG59PjtcblxuZXhwb3J0IHR5cGUgQWN0aW9uUGFuZWxJdGVtUHJvcHMgPSBQcm9wc1dpdGhDaGlsZHJlbjx7XG4gIGNvbG9yPzogc3RyaW5nO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIEljb24/OiBFbGVtZW50VHlwZTtcbiAgbGFiZWw6IHN0cmluZztcbiAgb25DbGljaz86ICgpID0+IHZvaWQ7XG4gIGlzU2VsZWN0aW9uPzogYm9vbGVhbjtcbiAgaXNBY3RpdmU/OiBib29sZWFuO1xuICBzdHlsZT86IENTU1Byb3BlcnRpZXM7XG59PjtcblxuZXhwb3J0IGludGVyZmFjZSBEaXJlY3Rpb25Qcm9wIHtcbiAgZGlyZWN0aW9uOiBzdHJpbmc7XG59XG5cbmNvbnN0IFN0eWxlZEl0ZW0gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICBwYWRkaW5nOiA4cHg7XG4gIG1pbi1oZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYWN0aW9uUGFuZWxIZWlnaHR9cHg7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmRyb3Bkb3duTGlzdEJnZH07XG4gIG1heC13aWR0aDogMjAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAke3Byb3BzID0+IChwcm9wcy5jb2xvciA/IGBib3JkZXItbGVmdDogM3B4IHNvbGlkIHJnYigke3Byb3BzLmNvbG9yfSk7YCA6ICcnKX0gOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICAgIC5uZXN0ZWQtZ3JvdXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmxhYmVsIHtcbiAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIH1cblxuICAubGFiZWwtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAubmVzdGVkLWdyb3VwIHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRvcDogMHB4O1xuICAgIHBhZGRpbmctbGVmdDogNHB4O1xuXG4gICAgbGFiZWwge1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkQ2hlY2tlZGJveCA9IHN0eWxlZChDaGVja2JveClgXG4gIGxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgd2lkdGg6IDEycHg7XG4gICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmRyb3Bkb3duTGlzdEJnZH07XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgcmVuZGVyQ2hpbGRyZW4gPSAoY2hpbGQ6IFJlYWN0Tm9kZSwgaW5kZXg6IG51bWJlcikgPT5cbiAgUmVhY3QuaXNWYWxpZEVsZW1lbnQ8YW55PihjaGlsZCkgJiZcbiAgUmVhY3QuY2xvbmVFbGVtZW50KGNoaWxkLCB7XG4gICAgb25DbGljazogKCkgPT4ge1xuICAgICAgaWYgKGNoaWxkLnByb3BzLm9uQ2xpY2spIHtcbiAgICAgICAgY2hpbGQucHJvcHMub25DbGljayhpbmRleCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBjbGFzc05hbWU6IGNsYXNzbmFtZXMoJ2FjdGlvbi1wYW5lbC1pdGVtJywgY2hpbGQucHJvcHMuY2xhc3NOYW1lKVxuICB9KTtcblxuLyoqIEB0eXBlIHt0eXBlb2YgaW1wb3J0KCcuL2FjdGlvbi1wYW5lbCcpLkFjdGlvblBhbmVsSXRlbX0gKi9cbmV4cG9ydCBjb25zdCBBY3Rpb25QYW5lbEl0ZW0gPSBSZWFjdC5tZW1vKFxuICAoe1xuICAgIGNoaWxkcmVuLFxuICAgIGNvbG9yLFxuICAgIGNsYXNzTmFtZSxcbiAgICBJY29uLFxuICAgIGxhYmVsLFxuICAgIG9uQ2xpY2ssXG4gICAgaXNTZWxlY3Rpb24sXG4gICAgaXNBY3RpdmUsXG4gICAgc3R5bGVcbiAgfTogQWN0aW9uUGFuZWxJdGVtUHJvcHMpID0+IHtcbiAgICBjb25zdCBvbkNsaWNrQ2FsbGJhY2sgPSB1c2VDYWxsYmFjayhcbiAgICAgIGV2ZW50ID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIG9uQ2xpY2s/LigpO1xuICAgICAgfSxcbiAgICAgIFtvbkNsaWNrXVxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZEl0ZW0gY2xhc3NOYW1lPXtjbGFzc05hbWV9IG9uQ2xpY2s9e29uQ2xpY2tDYWxsYmFja30gY29sb3I9e2NvbG9yfSBzdHlsZT17c3R5bGV9PlxuICAgICAgICB7SWNvbiA/IChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImljb25cIj5cbiAgICAgICAgICAgIDxJY29uIGhlaWdodD1cIjE2cHhcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAge2lzU2VsZWN0aW9uID8gKFxuICAgICAgICAgIDxTdHlsZWRDaGVja2VkYm94XG4gICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICAgICAgY2hlY2tlZD17Qm9vbGVhbihpc0FjdGl2ZSl9XG4gICAgICAgICAgICBpZD17YHN3aXRjaC0ke2xhYmVsfWB9XG4gICAgICAgICAgICBzZWNvbmRhcnlcbiAgICAgICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgICAvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImxhYmVsXCI+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgKX1cbiAgICAgICAge2NoaWxkcmVuID8gKFxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsLWljb25cIj5cbiAgICAgICAgICAgICAgPEFycm93UmlnaHQgaGVpZ2h0PVwiMTZweFwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibmVzdGVkLWdyb3VwXCI+e1JlYWN0LkNoaWxkcmVuLm1hcChjaGlsZHJlbiwgcmVuZGVyQ2hpbGRyZW4pfTwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvU3R5bGVkSXRlbT5cbiAgICApO1xuICB9XG4pO1xuXG5BY3Rpb25QYW5lbEl0ZW0uZGlzcGxheU5hbWUgPSAnQWN0aW9uUGFuZWxJdGVtJztcblxuY29uc3QgU3R5bGVkQWN0aW9uUGFuZWwgPSBzdHlsZWQuZGl2PERpcmVjdGlvblByb3A+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogJHtwcm9wcyA9PiBwcm9wcy5kaXJlY3Rpb259O1xuICBib3gtc2hhZG93OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmRyb3Bkb3duTGlzdFNoYWRvd307XG4gIHRyYW5zaXRpb246ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudHJhbnNpdGlvblNsb3d9O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuXG4gIC5hY3Rpb24tcGFuZWwtaXRlbSB7XG4gICAgJHtwcm9wcyA9PlxuICAgICAgcHJvcHMuZGlyZWN0aW9uID09PSAnY29sdW1uJ1xuICAgICAgICA/IGBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtwcm9wcy50aGVtZS5wYW5lbEhlYWRlckljb259YFxuICAgICAgICA6IGBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAke3Byb3BzLnRoZW1lLnBhbmVsSGVhZGVySWNvbn1gfSAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuYDtcblxuLy8gUmVhY3QgY29tcG91bmQgZWxlbWVudCBodHRwczovL21lZGl1bS5jb20vQERhbmVfcy9yZWFjdC1qcy1jb21wb3VuZC1jb21wb25lbnRzLWE2ZTU0YjVjOTk5MlxuLyoqIEB0eXBlIHt0eXBlb2YgaW1wb3J0KCcuL2FjdGlvbi1wYW5lbCcpLkFjdGlvblBhbmVsfSAqL1xuY29uc3QgQWN0aW9uUGFuZWwgPSAoe2NoaWxkcmVuLCBjbGFzc05hbWUsIGRpcmVjdGlvbiA9ICdjb2x1bW4nfTogQWN0aW9uUGFuZWxQcm9wcykgPT4gKFxuICA8U3R5bGVkQWN0aW9uUGFuZWwgY2xhc3NOYW1lPXtjbGFzc05hbWV9IGRpcmVjdGlvbj17ZGlyZWN0aW9ufT5cbiAgICB7UmVhY3QuQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCByZW5kZXJDaGlsZHJlbil9XG4gIDwvU3R5bGVkQWN0aW9uUGFuZWw+XG4pO1xuXG5BY3Rpb25QYW5lbC5kaXNwbGF5TmFtZSA9ICdBY3Rpb25QYW5lbCc7XG5cbmV4cG9ydCBkZWZhdWx0IEFjdGlvblBhbmVsO1xuIl19
152
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vYWN0aW9uLXBhbmVsLnRzeCJdLCJuYW1lcyI6WyJTdHlsZWRJdGVtIiwic3R5bGVkIiwiZGl2IiwicHJvcHMiLCJ0aGVtZSIsImFjdGlvblBhbmVsSGVpZ2h0IiwiZHJvcGRvd25MaXN0QmdkIiwiY29sb3IiLCJ0ZXh0Q29sb3JIbCIsInRleHRDb2xvciIsIlN0eWxlZENoZWNrZWRib3giLCJDaGVja2JveCIsInJlbmRlckNoaWxkcmVuIiwiY2hpbGQiLCJpbmRleCIsIlJlYWN0IiwiaXNWYWxpZEVsZW1lbnQiLCJjbG9uZUVsZW1lbnQiLCJvbkNsaWNrIiwiY2xhc3NOYW1lIiwiQWN0aW9uUGFuZWxJdGVtIiwibWVtbyIsImNoaWxkcmVuIiwiSWNvbiIsImxhYmVsIiwiaXNTZWxlY3Rpb24iLCJpc0FjdGl2ZSIsInN0eWxlIiwib25DbGlja0NhbGxiYWNrIiwiZXZlbnQiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsIkJvb2xlYW4iLCJDaGlsZHJlbiIsIm1hcCIsImRpc3BsYXlOYW1lIiwiU3R5bGVkQWN0aW9uUGFuZWwiLCJkaXJlY3Rpb24iLCJkcm9wZG93bkxpc3RTaGFkb3ciLCJ0cmFuc2l0aW9uU2xvdyIsInBhbmVsSGVhZGVySWNvbiIsIkFjdGlvblBhbmVsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBdUJBLElBQU1BLFVBQVUsR0FBR0MsNkJBQU9DLEdBQVYsMi9CQU9BLFVBQUFDLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUMsaUJBQWhCO0FBQUEsQ0FQTCxFQVNNLFVBQUFGLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUUsZUFBaEI7QUFBQSxDQVRYLEVBYVosVUFBQUgsS0FBSztBQUFBLFNBQUtBLEtBQUssQ0FBQ0ksS0FBTix3Q0FBNENKLEtBQUssQ0FBQ0ksS0FBbEQsVUFBOEQs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QUEsU0FBUyxFQUFFbEIsU0FBOUI7QUFBeUMsSUFBQSxTQUFTLEVBQUVrQjtBQUFwRCxLQUNHdEIsa0JBQU1rQixRQUFOLENBQWVDLEdBQWYsQ0FBbUJaLFFBQW5CLEVBQTZCVixjQUE3QixDQURILENBRGtCO0FBQUEsQ0FBcEI7O0FBTUE2QixXQUFXLENBQUNOLFdBQVosR0FBMEIsYUFBMUI7ZUFFZU0sVyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMyBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCBQcm9wc1dpdGhDaGlsZHJlbiwgRWxlbWVudFR5cGUsIENTU1Byb3BlcnRpZXMsIFJlYWN0Tm9kZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7QXJyb3dSaWdodH0gZnJvbSAnLi9pY29ucyc7XG5pbXBvcnQgQ2hlY2tib3ggZnJvbSAnLi9zd2l0Y2gnO1xuXG5leHBvcnQgdHlwZSBBY3Rpb25QYW5lbFByb3BzID0gUHJvcHNXaXRoQ2hpbGRyZW48e1xuICBjb2xvcj86IHN0cmluZztcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBkaXJlY3Rpb24/OiBzdHJpbmc7XG59PjtcblxuZXhwb3J0IHR5cGUgQWN0aW9uUGFuZWxJdGVtUHJvcHMgPSBQcm9wc1dpdGhDaGlsZHJlbjx7XG4gIGNvbG9yPzogc3RyaW5nO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIEljb24/OiBFbGVtZW50VHlwZTtcbiAgbGFiZWw6IHN0cmluZztcbiAgb25DbGljaz86ICgpID0+IHZvaWQ7XG4gIGlzU2VsZWN0aW9uPzogYm9vbGVhbjtcbiAgaXNBY3RpdmU/OiBib29sZWFuO1xuICBzdHlsZT86IENTU1Byb3BlcnRpZXM7XG59PjtcblxuZXhwb3J0IGludGVyZmFjZSBEaXJlY3Rpb25Qcm9wIHtcbiAgZGlyZWN0aW9uOiBzdHJpbmc7XG59XG5cbmNvbnN0IFN0eWxlZEl0ZW0gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICBwYWRkaW5nOiA4cHggMTZweCA4cHggOHB4O1xuICBtaW4taGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmFjdGlvblBhbmVsSGVpZ2h0fXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5kcm9wZG93bkxpc3RCZ2R9O1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJHtwcm9wcyA9PiAocHJvcHMuY29sb3IgPyBgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCByZ2IoJHtwcm9wcy5jb2xvcn0pO2AgOiAnJyl9IDpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICAubmVzdGVkLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5sYWJlbCB7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB9XG5cbiAgLmxhYmVsLWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogLTJweDtcbiAgfVxuICAuaWNvbiB7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIC5uZXN0ZWQtZ3JvdXAge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdG9wOiAwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiA0cHg7XG5cbiAgICBsYWJlbCB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRDaGVja2VkYm94ID0gc3R5bGVkKENoZWNrYm94KWBcbiAgbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEycHg7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTJweDtcbiAgICAgIGhlaWdodDogMTJweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0QmdkfTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JIbH07XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCByZW5kZXJDaGlsZHJlbiA9IChjaGlsZDogUmVhY3ROb2RlLCBpbmRleDogbnVtYmVyKSA9PlxuICBjaGlsZCAmJlxuICBSZWFjdC5pc1ZhbGlkRWxlbWVudDxhbnk+KGNoaWxkKSAmJlxuICBSZWFjdC5jbG9uZUVsZW1lbnQoY2hpbGQsIHtcbiAgICBvbkNsaWNrOiAoKSA9PiB7XG4gICAgICBpZiAoY2hpbGQucHJvcHMub25DbGljaykge1xuICAgICAgICBjaGlsZC5wcm9wcy5vbkNsaWNrKGluZGV4KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGNsYXNzTmFtZTogY2xhc3NuYW1lcygnYWN0aW9uLXBhbmVsLWl0ZW0nLCBjaGlsZC5wcm9wcy5jbGFzc05hbWUpXG4gIH0pO1xuXG4vKiogQHR5cGUge3R5cGVvZiBpbXBvcnQoJy4vYWN0aW9uLXBhbmVsJykuQWN0aW9uUGFuZWxJdGVtfSAqL1xuZXhwb3J0IGNvbnN0IEFjdGlvblBhbmVsSXRlbSA9IFJlYWN0Lm1lbW8oXG4gICh7XG4gICAgY2hpbGRyZW4sXG4gICAgY29sb3IsXG4gICAgY2xhc3NOYW1lLFxuICAgIEljb24sXG4gICAgbGFiZWwsXG4gICAgb25DbGljayxcbiAgICBpc1NlbGVjdGlvbixcbiAgICBpc0FjdGl2ZSxcbiAgICBzdHlsZVxuICB9OiBBY3Rpb25QYW5lbEl0ZW1Qcm9wcykgPT4ge1xuICAgIGNvbnN0IG9uQ2xpY2tDYWxsYmFjayA9IHVzZUNhbGxiYWNrKFxuICAgICAgZXZlbnQgPT4ge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgb25DbGljaz8uKCk7XG4gICAgICB9LFxuICAgICAgW29uQ2xpY2tdXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkSXRlbSBjbGFzc05hbWU9e2NsYXNzTmFtZX0gb25DbGljaz17b25DbGlja0NhbGxiYWNrfSBjb2xvcj17Y29sb3J9IHN0eWxlPXtzdHlsZX0+XG4gICAgICAgIHtJY29uID8gKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaWNvblwiPlxuICAgICAgICAgICAgPEljb24gaGVpZ2h0PVwiMTZweFwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgICB7aXNTZWxlY3Rpb24gPyAoXG4gICAgICAgICAgPFN0eWxlZENoZWNrZWRib3hcbiAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgICAgICBjaGVja2VkPXtCb29sZWFuKGlzQWN0aXZlKX1cbiAgICAgICAgICAgIGlkPXtgc3dpdGNoLSR7bGFiZWx9YH1cbiAgICAgICAgICAgIHNlY29uZGFyeVxuICAgICAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwibGFiZWxcIj57bGFiZWx9PC9zcGFuPlxuICAgICAgICApfVxuICAgICAgICB7Y2hpbGRyZW4gPyAoXG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWwtaWNvblwiPlxuICAgICAgICAgICAgICA8QXJyb3dSaWdodCBoZWlnaHQ9XCIxNnB4XCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJuZXN0ZWQtZ3JvdXBcIj57UmVhY3QuQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCByZW5kZXJDaGlsZHJlbil9PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9TdHlsZWRJdGVtPlxuICAgICk7XG4gIH1cbik7XG5cbkFjdGlvblBhbmVsSXRlbS5kaXNwbGF5TmFtZSA9ICdBY3Rpb25QYW5lbEl0ZW0nO1xuXG5jb25zdCBTdHlsZWRBY3Rpb25QYW5lbCA9IHN0eWxlZC5kaXY8RGlyZWN0aW9uUHJvcD5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiAke3Byb3BzID0+IHByb3BzLmRpcmVjdGlvbn07XG4gIGJveC1zaGFkb3c6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0U2hhZG93fTtcbiAgdHJhbnNpdGlvbjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50cmFuc2l0aW9uU2xvd307XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG5cbiAgLmFjdGlvbi1wYW5lbC1pdGVtIHtcbiAgICAke3Byb3BzID0+XG4gICAgICBwcm9wcy5kaXJlY3Rpb24gPT09ICdjb2x1bW4nXG4gICAgICAgID8gYGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3Byb3BzLnRoZW1lLnBhbmVsSGVhZGVySWNvbn1gXG4gICAgICAgIDogYGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR7cHJvcHMudGhlbWUucGFuZWxIZWFkZXJJY29ufWB9ICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuICB9XG5gO1xuXG4vLyBSZWFjdCBjb21wb3VuZCBlbGVtZW50IGh0dHBzOi8vbWVkaXVtLmNvbS9ARGFuZV9zL3JlYWN0LWpzLWNvbXBvdW5kLWNvbXBvbmVudHMtYTZlNTRiNWM5OTkyXG4vKiogQHR5cGUge3R5cGVvZiBpbXBvcnQoJy4vYWN0aW9uLXBhbmVsJykuQWN0aW9uUGFuZWx9ICovXG5jb25zdCBBY3Rpb25QYW5lbCA9ICh7Y2hpbGRyZW4sIGNsYXNzTmFtZSwgZGlyZWN0aW9uID0gJ2NvbHVtbid9OiBBY3Rpb25QYW5lbFByb3BzKSA9PiAoXG4gIDxTdHlsZWRBY3Rpb25QYW5lbCBjbGFzc05hbWU9e2NsYXNzTmFtZX0gZGlyZWN0aW9uPXtkaXJlY3Rpb259PlxuICAgIHtSZWFjdC5DaGlsZHJlbi5tYXAoY2hpbGRyZW4sIHJlbmRlckNoaWxkcmVuKX1cbiAgPC9TdHlsZWRBY3Rpb25QYW5lbD5cbik7XG5cbkFjdGlvblBhbmVsLmRpc3BsYXlOYW1lID0gJ0FjdGlvblBhbmVsJztcblxuZXhwb3J0IGRlZmF1bHQgQWN0aW9uUGFuZWw7XG4iXX0=
@@ -1,24 +1,25 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
+ import { Timeline } from '@kepler.gl/types';
3
+ import TimelineSliderFactory from '../timeline-slider';
2
4
  import PlaybackControlsFactory from './playback-controls';
3
5
  import FloatingTimeDisplayFactory from './floating-time-display';
4
- declare function AnimationControlFactory(PlaybackControls: ReturnType<typeof PlaybackControlsFactory>, FloatingTimeDisplay: ReturnType<typeof FloatingTimeDisplayFactory>): {
5
- ({ isAnimatable, isAnimating, resetAnimation, toggleAnimation, setLayerAnimationTime, updateAnimationSpeed, animationConfig }: {
6
- isAnimatable: any;
7
- isAnimating: any;
8
- resetAnimation: any;
9
- toggleAnimation: any;
10
- setLayerAnimationTime: any;
11
- updateAnimationSpeed: any;
12
- animationConfig: any;
13
- }): JSX.Element;
14
- defaultProps: {
15
- toggleAnimation: () => void;
16
- updateAnimationSpeed: () => void;
17
- animationControlProps: {};
18
- animationConfig: {};
19
- };
6
+ export declare type AnimationControlProps = {
7
+ timeline?: Timeline;
8
+ isAnimatable?: boolean;
9
+ isAnimating?: boolean;
10
+ updateAnimationSpeed?: (val: number) => void;
11
+ setAnimationWindow?: (id: string) => void;
12
+ toggleAnimation: () => void;
13
+ resetAnimation?: () => void;
14
+ setTimelineValue: (value: number[]) => void;
15
+ showTimeDisplay?: boolean;
16
+ showTimeline?: boolean;
17
+ showControls?: boolean;
18
+ className?: string;
19
+ style?: object;
20
20
  };
21
+ declare function AnimationControlFactory(PlaybackControls: ReturnType<typeof PlaybackControlsFactory>, FloatingTimeDisplay: ReturnType<typeof FloatingTimeDisplayFactory>, TimelineSlider: ReturnType<typeof TimelineSliderFactory>): React.FC<AnimationControlProps>;
21
22
  declare namespace AnimationControlFactory {
22
- var deps: (typeof PlaybackControlsFactory | typeof FloatingTimeDisplayFactory)[];
23
+ var deps: (typeof PlaybackControlsFactory | typeof TimelineSliderFactory | typeof FloatingTimeDisplayFactory)[];
23
24
  }
24
25
  export default AnimationControlFactory;