@kepler.gl/components 3.1.0-alpha.1 → 3.1.0-alpha.3

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 (725) hide show
  1. package/dist/bottom-widget.d.ts +19 -0
  2. package/dist/bottom-widget.js +184 -0
  3. package/dist/common/action-panel.d.ts +29 -0
  4. package/dist/common/action-panel.js +136 -0
  5. package/dist/common/animation-control/animation-control.d.ts +25 -0
  6. package/dist/common/animation-control/animation-control.js +96 -0
  7. package/dist/common/animation-control/animation-controller.d.ts +19 -0
  8. package/dist/common/animation-control/animation-controller.js +269 -0
  9. package/dist/common/animation-control/animation-speed-slider.d.ts +12 -0
  10. package/dist/common/animation-control/animation-speed-slider.js +50 -0
  11. package/dist/common/animation-control/animation-window-control.d.ts +20 -0
  12. package/dist/common/animation-control/animation-window-control.js +60 -0
  13. package/dist/common/animation-control/floating-time-display.d.ts +9 -0
  14. package/dist/common/animation-control/floating-time-display.js +132 -0
  15. package/dist/common/animation-control/play-control.d.ts +12 -0
  16. package/dist/common/animation-control/play-control.js +52 -0
  17. package/dist/common/animation-control/playback-controls.d.ts +48 -0
  18. package/dist/common/animation-control/playback-controls.js +156 -0
  19. package/dist/common/animation-control/reset-control.d.ts +9 -0
  20. package/dist/common/animation-control/reset-control.js +43 -0
  21. package/dist/common/animation-control/speed-control.d.ts +12 -0
  22. package/dist/common/animation-control/speed-control.js +53 -0
  23. package/dist/common/animation-control/window-action-control.d.ts +11 -0
  24. package/dist/common/animation-control/window-action-control.js +58 -0
  25. package/dist/common/checkbox.d.ts +36 -0
  26. package/dist/common/checkbox.js +105 -0
  27. package/dist/common/color-legend.d.ts +57 -0
  28. package/dist/common/color-legend.js +262 -0
  29. package/dist/common/column-stats-chart.d.ts +37 -0
  30. package/dist/common/column-stats-chart.js +359 -0
  31. package/dist/common/data-table/button.d.ts +8 -0
  32. package/dist/common/data-table/button.js +38 -0
  33. package/dist/common/data-table/canvas.d.ts +2 -0
  34. package/dist/common/data-table/canvas.js +26 -0
  35. package/dist/common/data-table/cell-size.d.ts +43 -0
  36. package/dist/common/data-table/cell-size.js +183 -0
  37. package/dist/common/data-table/display-format.d.ts +25 -0
  38. package/dist/common/data-table/display-format.js +126 -0
  39. package/dist/common/data-table/grid.d.ts +10 -0
  40. package/dist/common/data-table/grid.js +107 -0
  41. package/dist/common/data-table/header-cell.d.ts +28 -0
  42. package/dist/common/data-table/header-cell.js +149 -0
  43. package/dist/common/data-table/index.d.ts +101 -0
  44. package/dist/common/data-table/index.js +464 -0
  45. package/dist/common/data-table/option-dropdown.d.ts +28 -0
  46. package/dist/common/data-table/option-dropdown.js +160 -0
  47. package/dist/common/dataset-label.d.ts +10 -0
  48. package/dist/common/dataset-label.js +27 -0
  49. package/dist/common/error-boundary.d.ts +16 -0
  50. package/dist/common/error-boundary.js +59 -0
  51. package/dist/common/field-selector.d.ts +49 -0
  52. package/dist/common/field-selector.js +173 -0
  53. package/dist/common/field-token.d.ts +62 -0
  54. package/dist/common/field-token.js +43 -0
  55. package/dist/common/file-uploader/file-drop.d.ts +54 -0
  56. package/dist/common/file-uploader/file-drop.js +196 -0
  57. package/dist/common/file-uploader/file-upload-progress.d.ts +8 -0
  58. package/dist/common/file-uploader/file-upload-progress.js +86 -0
  59. package/dist/common/file-uploader/file-upload.d.ts +23 -0
  60. package/dist/common/file-uploader/file-upload.js +244 -0
  61. package/dist/common/file-uploader/upload-button.d.ts +8 -0
  62. package/dist/common/file-uploader/upload-button.js +59 -0
  63. package/dist/common/flex-container.d.ts +3 -0
  64. package/dist/common/flex-container.js +15 -0
  65. package/dist/common/histogram-plot.d.ts +13 -0
  66. package/dist/common/histogram-plot.js +232 -0
  67. package/dist/common/icon-button.d.ts +27 -0
  68. package/dist/common/icon-button.js +25 -0
  69. package/dist/common/icons/add.d.ts +9 -0
  70. package/dist/common/icons/add.js +41 -0
  71. package/dist/common/icons/anchor_window.d.ts +11 -0
  72. package/dist/common/icons/anchor_window.js +34 -0
  73. package/dist/common/icons/arrow-down-alt.d.ts +9 -0
  74. package/dist/common/icons/arrow-down-alt.js +41 -0
  75. package/dist/common/icons/arrow-down-full.d.ts +16 -0
  76. package/dist/common/icons/arrow-down-full.js +50 -0
  77. package/dist/common/icons/arrow-down-small.d.ts +14 -0
  78. package/dist/common/icons/arrow-down-small.js +54 -0
  79. package/dist/common/icons/arrow-down-solid.d.ts +9 -0
  80. package/dist/common/icons/arrow-down-solid.js +41 -0
  81. package/dist/common/icons/arrow-down.d.ts +9 -0
  82. package/dist/common/icons/arrow-down.js +41 -0
  83. package/dist/common/icons/arrow-left.d.ts +9 -0
  84. package/dist/common/icons/arrow-left.js +44 -0
  85. package/dist/common/icons/arrow-right.d.ts +9 -0
  86. package/dist/common/icons/arrow-right.js +41 -0
  87. package/dist/common/icons/arrow-up-alt.d.ts +9 -0
  88. package/dist/common/icons/arrow-up-alt.js +42 -0
  89. package/dist/common/icons/arrow-up-solid.d.ts +9 -0
  90. package/dist/common/icons/arrow-up-solid.js +41 -0
  91. package/dist/common/icons/arrow-up.d.ts +9 -0
  92. package/dist/common/icons/arrow-up.js +41 -0
  93. package/dist/common/icons/base.d.ts +29 -0
  94. package/dist/common/icons/base.js +79 -0
  95. package/dist/common/icons/bug.d.ts +9 -0
  96. package/dist/common/icons/bug.js +43 -0
  97. package/dist/common/icons/calendar.d.ts +10 -0
  98. package/dist/common/icons/calendar.js +49 -0
  99. package/dist/common/icons/cancel.d.ts +9 -0
  100. package/dist/common/icons/cancel.js +41 -0
  101. package/dist/common/icons/checkmark.d.ts +10 -0
  102. package/dist/common/icons/checkmark.js +47 -0
  103. package/dist/common/icons/clipboard.d.ts +9 -0
  104. package/dist/common/icons/clipboard.js +42 -0
  105. package/dist/common/icons/clock.d.ts +9 -0
  106. package/dist/common/icons/clock.js +43 -0
  107. package/dist/common/icons/close.d.ts +9 -0
  108. package/dist/common/icons/close.js +46 -0
  109. package/dist/common/icons/code-alt.d.ts +9 -0
  110. package/dist/common/icons/code-alt.js +44 -0
  111. package/dist/common/icons/copy.d.ts +9 -0
  112. package/dist/common/icons/copy.js +46 -0
  113. package/dist/common/icons/crosshairs.d.ts +9 -0
  114. package/dist/common/icons/crosshairs.js +44 -0
  115. package/dist/common/icons/cube-3d.d.ts +9 -0
  116. package/dist/common/icons/cube-3d.js +45 -0
  117. package/dist/common/icons/cursor-click.d.ts +9 -0
  118. package/dist/common/icons/cursor-click.js +45 -0
  119. package/dist/common/icons/cursor-point.d.ts +14 -0
  120. package/dist/common/icons/cursor-point.js +51 -0
  121. package/dist/common/icons/data-table.d.ts +10 -0
  122. package/dist/common/icons/data-table.js +42 -0
  123. package/dist/common/icons/db.d.ts +10 -0
  124. package/dist/common/icons/db.js +42 -0
  125. package/dist/common/icons/delete.d.ts +9 -0
  126. package/dist/common/icons/delete.js +43 -0
  127. package/dist/common/icons/docs.d.ts +9 -0
  128. package/dist/common/icons/docs.js +57 -0
  129. package/dist/common/icons/drag-n-drop.d.ts +9 -0
  130. package/dist/common/icons/drag-n-drop.js +43 -0
  131. package/dist/common/icons/draw-polygon.d.ts +10 -0
  132. package/dist/common/icons/draw-polygon.js +61 -0
  133. package/dist/common/icons/edit.d.ts +14 -0
  134. package/dist/common/icons/edit.js +49 -0
  135. package/dist/common/icons/effects/brightness-contrast.d.ts +14 -0
  136. package/dist/common/icons/effects/brightness-contrast.js +70 -0
  137. package/dist/common/icons/effects/color-halftone.d.ts +14 -0
  138. package/dist/common/icons/effects/color-halftone.js +109 -0
  139. package/dist/common/icons/effects/dot-screen.d.ts +14 -0
  140. package/dist/common/icons/effects/dot-screen.js +104 -0
  141. package/dist/common/icons/effects/edge-work.d.ts +14 -0
  142. package/dist/common/icons/effects/edge-work.js +63 -0
  143. package/dist/common/icons/effects/hexagonal-pixelate.d.ts +14 -0
  144. package/dist/common/icons/effects/hexagonal-pixelate.js +130 -0
  145. package/dist/common/icons/effects/hue-saturation.d.ts +14 -0
  146. package/dist/common/icons/effects/hue-saturation.js +61 -0
  147. package/dist/common/icons/effects/ink.d.ts +14 -0
  148. package/dist/common/icons/effects/ink.js +60 -0
  149. package/dist/common/icons/effects/light-and-shadow.d.ts +14 -0
  150. package/dist/common/icons/effects/light-and-shadow.js +49 -0
  151. package/dist/common/icons/effects/magic-wand.d.ts +14 -0
  152. package/dist/common/icons/effects/magic-wand.js +61 -0
  153. package/dist/common/icons/effects/magnify.d.ts +14 -0
  154. package/dist/common/icons/effects/magnify.js +68 -0
  155. package/dist/common/icons/effects/noise.d.ts +14 -0
  156. package/dist/common/icons/effects/noise.js +114 -0
  157. package/dist/common/icons/effects/sepia.d.ts +14 -0
  158. package/dist/common/icons/effects/sepia.js +61 -0
  159. package/dist/common/icons/effects/tilt-shift.d.ts +14 -0
  160. package/dist/common/icons/effects/tilt-shift.js +70 -0
  161. package/dist/common/icons/effects/triangle-blur.d.ts +14 -0
  162. package/dist/common/icons/effects/triangle-blur.js +65 -0
  163. package/dist/common/icons/effects/vibrance.d.ts +14 -0
  164. package/dist/common/icons/effects/vibrance.js +61 -0
  165. package/dist/common/icons/effects/vignette.d.ts +14 -0
  166. package/dist/common/icons/effects/vignette.js +54 -0
  167. package/dist/common/icons/effects/zoom-blur.d.ts +14 -0
  168. package/dist/common/icons/effects/zoom-blur.js +89 -0
  169. package/dist/common/icons/email.d.ts +9 -0
  170. package/dist/common/icons/email.js +45 -0
  171. package/dist/common/icons/expand.d.ts +9 -0
  172. package/dist/common/icons/expand.js +43 -0
  173. package/dist/common/icons/eye-seen.d.ts +9 -0
  174. package/dist/common/icons/eye-seen.js +43 -0
  175. package/dist/common/icons/eye-unseen.d.ts +9 -0
  176. package/dist/common/icons/eye-unseen.js +43 -0
  177. package/dist/common/icons/file-type.d.ts +8 -0
  178. package/dist/common/icons/file-type.js +35 -0
  179. package/dist/common/icons/file.d.ts +9 -0
  180. package/dist/common/icons/file.js +41 -0
  181. package/dist/common/icons/files.d.ts +9 -0
  182. package/dist/common/icons/files.js +41 -0
  183. package/dist/common/icons/filter-funnel.d.ts +9 -0
  184. package/dist/common/icons/filter-funnel.js +41 -0
  185. package/dist/common/icons/free-window.d.ts +4 -0
  186. package/dist/common/icons/free-window.js +44 -0
  187. package/dist/common/icons/gear.d.ts +9 -0
  188. package/dist/common/icons/gear.js +43 -0
  189. package/dist/common/icons/globe.d.ts +15 -0
  190. package/dist/common/icons/globe.js +54 -0
  191. package/dist/common/icons/hash.d.ts +9 -0
  192. package/dist/common/icons/hash.js +41 -0
  193. package/dist/common/icons/help.d.ts +13 -0
  194. package/dist/common/icons/help.js +51 -0
  195. package/dist/common/icons/histogram.d.ts +9 -0
  196. package/dist/common/icons/histogram.js +41 -0
  197. package/dist/common/icons/index.d.ts +106 -0
  198. package/dist/common/icons/index.js +740 -0
  199. package/dist/common/icons/info.d.ts +12 -0
  200. package/dist/common/icons/info.js +54 -0
  201. package/dist/common/icons/layers.d.ts +9 -0
  202. package/dist/common/icons/layers.js +41 -0
  203. package/dist/common/icons/left-arrow.d.ts +9 -0
  204. package/dist/common/icons/left-arrow.js +44 -0
  205. package/dist/common/icons/legend.d.ts +9 -0
  206. package/dist/common/icons/legend.js +41 -0
  207. package/dist/common/icons/line-chart.d.ts +9 -0
  208. package/dist/common/icons/line-chart.js +41 -0
  209. package/dist/common/icons/location-marker.d.ts +14 -0
  210. package/dist/common/icons/location-marker.js +59 -0
  211. package/dist/common/icons/login.d.ts +9 -0
  212. package/dist/common/icons/login.js +44 -0
  213. package/dist/common/icons/logout.d.ts +9 -0
  214. package/dist/common/icons/logout.js +43 -0
  215. package/dist/common/icons/map-icon.d.ts +11 -0
  216. package/dist/common/icons/map-icon.js +48 -0
  217. package/dist/common/icons/map.d.ts +11 -0
  218. package/dist/common/icons/map.js +48 -0
  219. package/dist/common/icons/messages.d.ts +9 -0
  220. package/dist/common/icons/messages.js +41 -0
  221. package/dist/common/icons/minus.d.ts +9 -0
  222. package/dist/common/icons/minus.js +41 -0
  223. package/dist/common/icons/moon.d.ts +14 -0
  224. package/dist/common/icons/moon.js +59 -0
  225. package/dist/common/icons/order-by-dataset.d.ts +4 -0
  226. package/dist/common/icons/order-by-dataset.js +46 -0
  227. package/dist/common/icons/order-by-list.d.ts +4 -0
  228. package/dist/common/icons/order-by-list.js +38 -0
  229. package/dist/common/icons/pause.d.ts +9 -0
  230. package/dist/common/icons/pause.js +41 -0
  231. package/dist/common/icons/picture.d.ts +9 -0
  232. package/dist/common/icons/picture.js +41 -0
  233. package/dist/common/icons/pin.d.ts +9 -0
  234. package/dist/common/icons/pin.js +45 -0
  235. package/dist/common/icons/play.d.ts +9 -0
  236. package/dist/common/icons/play.js +41 -0
  237. package/dist/common/icons/polygon.d.ts +10 -0
  238. package/dist/common/icons/polygon.js +63 -0
  239. package/dist/common/icons/rectangle.d.ts +10 -0
  240. package/dist/common/icons/rectangle.js +64 -0
  241. package/dist/common/icons/reduce.d.ts +9 -0
  242. package/dist/common/icons/reduce.js +44 -0
  243. package/dist/common/icons/reset.d.ts +9 -0
  244. package/dist/common/icons/reset.js +41 -0
  245. package/dist/common/icons/rocket.d.ts +9 -0
  246. package/dist/common/icons/rocket.js +41 -0
  247. package/dist/common/icons/save.d.ts +9 -0
  248. package/dist/common/icons/save.js +43 -0
  249. package/dist/common/icons/save2.d.ts +9 -0
  250. package/dist/common/icons/save2.js +47 -0
  251. package/dist/common/icons/search.d.ts +9 -0
  252. package/dist/common/icons/search.js +43 -0
  253. package/dist/common/icons/settings.d.ts +9 -0
  254. package/dist/common/icons/settings.js +43 -0
  255. package/dist/common/icons/share.d.ts +9 -0
  256. package/dist/common/icons/share.js +41 -0
  257. package/dist/common/icons/split.d.ts +9 -0
  258. package/dist/common/icons/split.js +69 -0
  259. package/dist/common/icons/square-select.d.ts +9 -0
  260. package/dist/common/icons/square-select.js +43 -0
  261. package/dist/common/icons/sun.d.ts +14 -0
  262. package/dist/common/icons/sun.js +75 -0
  263. package/dist/common/icons/sunrise.d.ts +14 -0
  264. package/dist/common/icons/sunrise.js +71 -0
  265. package/dist/common/icons/sunset.d.ts +14 -0
  266. package/dist/common/icons/sunset.js +71 -0
  267. package/dist/common/icons/timeline-marker.d.ts +17 -0
  268. package/dist/common/icons/timeline-marker.js +56 -0
  269. package/dist/common/icons/trash.d.ts +10 -0
  270. package/dist/common/icons/trash.js +44 -0
  271. package/dist/common/icons/vert-dots.d.ts +9 -0
  272. package/dist/common/icons/vert-dots.js +79 -0
  273. package/dist/common/icons/vert-three-dots.d.ts +9 -0
  274. package/dist/common/icons/vert-three-dots.js +54 -0
  275. package/dist/common/icons/warning-sign.d.ts +15 -0
  276. package/dist/common/icons/warning-sign.js +61 -0
  277. package/dist/common/icons/warning.d.ts +10 -0
  278. package/dist/common/icons/warning.js +55 -0
  279. package/dist/common/image-preview.d.ts +15 -0
  280. package/dist/common/image-preview.js +60 -0
  281. package/dist/common/index.d.ts +4 -0
  282. package/dist/common/index.js +277 -0
  283. package/dist/common/info-helper.d.ts +10 -0
  284. package/dist/common/info-helper.js +61 -0
  285. package/dist/common/item-selector/accessor.d.ts +7 -0
  286. package/dist/common/item-selector/accessor.js +37 -0
  287. package/dist/common/item-selector/chickleted-input.d.ts +23 -0
  288. package/dist/common/item-selector/chickleted-input.js +153 -0
  289. package/dist/common/item-selector/dropdown-list.d.ts +74 -0
  290. package/dist/common/item-selector/dropdown-list.js +260 -0
  291. package/dist/common/item-selector/dropdown-select.d.ts +33 -0
  292. package/dist/common/item-selector/dropdown-select.js +79 -0
  293. package/dist/common/item-selector/item-selector.d.ts +82 -0
  294. package/dist/common/item-selector/item-selector.js +252 -0
  295. package/dist/common/item-selector/typeahead.d.ts +126 -0
  296. package/dist/common/item-selector/typeahead.js +433 -0
  297. package/dist/common/line-chart.d.ts +34 -0
  298. package/dist/common/line-chart.js +120 -0
  299. package/dist/common/loading-spinner.d.ts +10 -0
  300. package/dist/common/loading-spinner.js +51 -0
  301. package/dist/common/logo.d.ts +8 -0
  302. package/dist/common/logo.js +68 -0
  303. package/dist/common/map-layer-selector.d.ts +13 -0
  304. package/dist/common/map-layer-selector.js +38 -0
  305. package/dist/common/modal.d.ts +64 -0
  306. package/dist/common/modal.js +171 -0
  307. package/dist/common/portaled.d.ts +583 -0
  308. package/dist/common/portaled.js +285 -0
  309. package/dist/common/progress-bar.d.ts +12 -0
  310. package/dist/common/progress-bar.js +47 -0
  311. package/dist/common/radius-legend.d.ts +10 -0
  312. package/dist/common/radius-legend.js +132 -0
  313. package/dist/common/range-brush.d.ts +19 -0
  314. package/dist/common/range-brush.js +266 -0
  315. package/dist/common/range-plot.d.ts +41 -0
  316. package/dist/common/range-plot.js +207 -0
  317. package/dist/common/range-slider-timeline-panel.d.ts +11 -0
  318. package/dist/common/range-slider-timeline-panel.js +43 -0
  319. package/dist/common/range-slider-timeline.d.ts +7 -0
  320. package/dist/common/range-slider-timeline.js +114 -0
  321. package/dist/common/range-slider.d.ts +42 -0
  322. package/dist/common/range-slider.js +309 -0
  323. package/dist/common/slider/mouse-event.d.ts +27 -0
  324. package/dist/common/slider/mouse-event.js +105 -0
  325. package/dist/common/slider/slider-bar-handle.d.ts +29 -0
  326. package/dist/common/slider/slider-bar-handle.js +91 -0
  327. package/dist/common/slider/slider-handle.d.ts +33 -0
  328. package/dist/common/slider/slider-handle.js +137 -0
  329. package/dist/common/slider/slider.d.ts +72 -0
  330. package/dist/common/slider/slider.js +209 -0
  331. package/dist/common/styled-components.d.ts +159 -0
  332. package/dist/common/styled-components.js +398 -0
  333. package/dist/common/switch.d.ts +16 -0
  334. package/dist/common/switch.js +21 -0
  335. package/dist/common/sync-timeline-control.d.ts +28 -0
  336. package/dist/common/sync-timeline-control.js +61 -0
  337. package/dist/common/time-range-slider-time-title.d.ts +9 -0
  338. package/dist/common/time-range-slider-time-title.js +62 -0
  339. package/dist/common/time-range-slider.d.ts +42 -0
  340. package/dist/common/time-range-slider.js +132 -0
  341. package/dist/common/time-slider-marker.d.ts +14 -0
  342. package/dist/common/time-slider-marker.js +116 -0
  343. package/dist/common/timeline-slider.d.ts +13 -0
  344. package/dist/common/timeline-slider.js +132 -0
  345. package/dist/common/tippy-tooltip.d.ts +6 -0
  346. package/dist/common/tippy-tooltip.js +135 -0
  347. package/dist/common/toolbar-item.d.ts +14 -0
  348. package/dist/common/toolbar-item.js +60 -0
  349. package/dist/common/toolbar.d.ts +5 -0
  350. package/dist/common/toolbar.js +27 -0
  351. package/dist/common/vertical-toolbar.d.ts +3 -0
  352. package/dist/common/vertical-toolbar.js +16 -0
  353. package/dist/connect/keplergl-connect.d.ts +9 -0
  354. package/dist/connect/keplergl-connect.js +44 -0
  355. package/dist/connect/with-local-selector.d.ts +6 -0
  356. package/dist/connect/with-local-selector.js +86 -0
  357. package/dist/container.d.ts +39 -0
  358. package/dist/container.js +181 -0
  359. package/dist/context.d.ts +27 -0
  360. package/dist/context.js +44 -0
  361. package/dist/dnd-context.d.ts +13 -0
  362. package/dist/dnd-context.js +124 -0
  363. package/dist/editor/editor.d.ts +31 -0
  364. package/dist/editor/editor.js +201 -0
  365. package/dist/editor/feature-action-panel.d.ts +32 -0
  366. package/dist/editor/feature-action-panel.js +148 -0
  367. package/dist/effects/compact-color-picker.d.ts +10 -0
  368. package/dist/effects/compact-color-picker.js +111 -0
  369. package/dist/effects/effect-configurator.d.ts +17 -0
  370. package/dist/effects/effect-configurator.js +275 -0
  371. package/dist/effects/effect-list.d.ts +20 -0
  372. package/dist/effects/effect-list.js +129 -0
  373. package/dist/effects/effect-manager.d.ts +27 -0
  374. package/dist/effects/effect-manager.js +120 -0
  375. package/dist/effects/effect-panel-header.d.ts +45 -0
  376. package/dist/effects/effect-panel-header.js +180 -0
  377. package/dist/effects/effect-panel.d.ts +24 -0
  378. package/dist/effects/effect-panel.js +112 -0
  379. package/dist/effects/effect-time-configurator.d.ts +20 -0
  380. package/dist/effects/effect-time-configurator.js +302 -0
  381. package/dist/effects/effect-time-selector.d.ts +16 -0
  382. package/dist/effects/effect-time-selector.js +153 -0
  383. package/dist/effects/effect-time-slider.d.ts +34 -0
  384. package/dist/effects/effect-time-slider.js +199 -0
  385. package/dist/effects/effect-type-dropdown-list.d.ts +18 -0
  386. package/dist/effects/effect-type-dropdown-list.js +66 -0
  387. package/dist/effects/effect-type-list-item.d.ts +22 -0
  388. package/dist/effects/effect-type-list-item.js +87 -0
  389. package/dist/effects/effect-type-selector.d.ts +30 -0
  390. package/dist/effects/effect-type-selector.js +77 -0
  391. package/dist/effects/side-panel-title.d.ts +7 -0
  392. package/dist/effects/side-panel-title.js +37 -0
  393. package/dist/effects/timezone-selector.d.ts +19 -0
  394. package/dist/effects/timezone-selector.js +58 -0
  395. package/dist/filter-animation-controller.d.ts +17 -0
  396. package/dist/filter-animation-controller.js +77 -0
  397. package/dist/filters/components.d.ts +3 -0
  398. package/dist/filters/components.js +14 -0
  399. package/dist/filters/filter-panels/filter-panel-with-field-select.d.ts +10 -0
  400. package/dist/filters/filter-panels/filter-panel-with-field-select.js +78 -0
  401. package/dist/filters/filter-panels/filter-synced-dataset-panel.d.ts +54 -0
  402. package/dist/filters/filter-panels/filter-synced-dataset-panel.js +261 -0
  403. package/dist/filters/filter-panels/multi-select-filter-panel.d.ts +9 -0
  404. package/dist/filters/filter-panels/multi-select-filter-panel.js +49 -0
  405. package/dist/filters/filter-panels/new-filter-panel.d.ts +12 -0
  406. package/dist/filters/filter-panels/new-filter-panel.js +67 -0
  407. package/dist/filters/filter-panels/polygon-filter-panel.d.ts +9 -0
  408. package/dist/filters/filter-panels/polygon-filter-panel.js +68 -0
  409. package/dist/filters/filter-panels/range-filter-panel.d.ts +9 -0
  410. package/dist/filters/filter-panels/range-filter-panel.js +54 -0
  411. package/dist/filters/filter-panels/single-select-filter-panel.d.ts +9 -0
  412. package/dist/filters/filter-panels/single-select-filter-panel.js +49 -0
  413. package/dist/filters/filter-panels/time-range-filter-panel.d.ts +12 -0
  414. package/dist/filters/filter-panels/time-range-filter-panel.js +130 -0
  415. package/dist/filters/filter-panels/time-synced-field-selector.d.ts +7 -0
  416. package/dist/filters/filter-panels/time-synced-field-selector.js +28 -0
  417. package/dist/filters/filter-panels/types.d.ts +40 -0
  418. package/dist/filters/filter-panels/types.js +6 -0
  419. package/dist/filters/index.d.ts +7 -0
  420. package/dist/filters/index.js +56 -0
  421. package/dist/filters/multi-select-filter.d.ts +3 -0
  422. package/dist/filters/multi-select-filter.js +31 -0
  423. package/dist/filters/polygon-filter.d.ts +4 -0
  424. package/dist/filters/polygon-filter.js +77 -0
  425. package/dist/filters/range-filter.d.ts +8 -0
  426. package/dist/filters/range-filter.js +35 -0
  427. package/dist/filters/single-select-filter.d.ts +3 -0
  428. package/dist/filters/single-select-filter.js +40 -0
  429. package/dist/filters/time-range-filter.d.ts +35 -0
  430. package/dist/filters/time-range-filter.js +67 -0
  431. package/dist/filters/time-widget-top.d.ts +8 -0
  432. package/dist/filters/time-widget-top.js +88 -0
  433. package/dist/filters/time-widget.d.ts +10 -0
  434. package/dist/filters/time-widget.js +101 -0
  435. package/dist/filters/types.d.ts +67 -0
  436. package/dist/filters/types.js +6 -0
  437. package/dist/geocoder/geocoder.d.ts +31 -0
  438. package/dist/geocoder/geocoder.js +269 -0
  439. package/dist/geocoder-panel.d.ts +22 -0
  440. package/dist/geocoder-panel.js +197 -0
  441. package/dist/hooks/use-cloud-list-provider.d.ts +11 -0
  442. package/dist/hooks/use-cloud-list-provider.js +47 -0
  443. package/dist/hooks/use-dnd-effects.d.ts +9 -0
  444. package/dist/hooks/use-dnd-effects.js +69 -0
  445. package/dist/hooks/use-dnd-layers.d.ts +9 -0
  446. package/dist/hooks/use-dnd-layers.js +80 -0
  447. package/dist/hooks/use-feature-flags.d.ts +5 -0
  448. package/dist/hooks/use-feature-flags.js +17 -0
  449. package/dist/hooks/use-fetch-vector-tile-metadata.d.ts +16 -0
  450. package/dist/hooks/use-fetch-vector-tile-metadata.js +109 -0
  451. package/dist/hooks/use-on-click-outside.d.ts +2 -0
  452. package/dist/hooks/use-on-click-outside.js +36 -0
  453. package/dist/index.d.ts +253 -0
  454. package/dist/index.js +2608 -0
  455. package/dist/injector.d.ts +29 -0
  456. package/dist/injector.js +151 -0
  457. package/dist/kepler-gl.d.ts +325 -0
  458. package/dist/kepler-gl.js +504 -0
  459. package/dist/layer-animation-controller.d.ts +13 -0
  460. package/dist/layer-animation-controller.js +54 -0
  461. package/dist/map/coordinate-info.d.ts +7 -0
  462. package/dist/map/coordinate-info.js +42 -0
  463. package/dist/map/effects/effect-control.d.ts +16 -0
  464. package/dist/map/effects/effect-control.js +52 -0
  465. package/dist/map/layer-hover-info.d.ts +29 -0
  466. package/dist/map/layer-hover-info.js +222 -0
  467. package/dist/map/layer-selector-panel.d.ts +21 -0
  468. package/dist/map/layer-selector-panel.js +85 -0
  469. package/dist/map/lazy-tippy.d.ts +8 -0
  470. package/dist/map/lazy-tippy.js +61 -0
  471. package/dist/map/locale-panel.d.ts +16 -0
  472. package/dist/map/locale-panel.js +77 -0
  473. package/dist/map/map-control-panel.d.ts +20 -0
  474. package/dist/map/map-control-panel.js +139 -0
  475. package/dist/map/map-control-toolbar.d.ts +2 -0
  476. package/dist/map/map-control-toolbar.js +18 -0
  477. package/dist/map/map-control-tooltip.d.ts +8 -0
  478. package/dist/map/map-control-tooltip.js +34 -0
  479. package/dist/map/map-control.d.ts +56 -0
  480. package/dist/map/map-control.js +71 -0
  481. package/dist/map/map-draw-panel.d.ts +20 -0
  482. package/dist/map/map-draw-panel.js +98 -0
  483. package/dist/map/map-legend-panel.d.ts +65 -0
  484. package/dist/map/map-legend-panel.js +155 -0
  485. package/dist/map/map-legend.d.ts +90 -0
  486. package/dist/map/map-legend.js +369 -0
  487. package/dist/map/map-popover-content.d.ts +28 -0
  488. package/dist/map/map-popover-content.js +28 -0
  489. package/dist/map/map-popover.d.ts +33 -0
  490. package/dist/map/map-popover.js +185 -0
  491. package/dist/map/split-map-button.d.ts +20 -0
  492. package/dist/map/split-map-button.js +65 -0
  493. package/dist/map/toggle-3d-button.d.ts +17 -0
  494. package/dist/map/toggle-3d-button.js +55 -0
  495. package/dist/map-container.d.ts +73 -0
  496. package/dist/map-container.js +903 -0
  497. package/dist/map-view-state-context.d.ts +17 -0
  498. package/dist/map-view-state-context.js +99 -0
  499. package/dist/maps-layout.d.ts +12 -0
  500. package/dist/maps-layout.js +43 -0
  501. package/dist/modal-container.d.ts +59 -0
  502. package/dist/modal-container.js +434 -0
  503. package/dist/modals/add-map-style-modal.d.ts +17 -0
  504. package/dist/modals/add-map-style-modal.js +198 -0
  505. package/dist/modals/cloud-components/cloud-header.d.ts +12 -0
  506. package/dist/modals/cloud-components/cloud-header.js +60 -0
  507. package/dist/modals/cloud-components/cloud-item.d.ts +5 -0
  508. package/dist/modals/cloud-components/cloud-item.js +59 -0
  509. package/dist/modals/cloud-components/cloud-item.spec.d.ts +1 -0
  510. package/dist/modals/cloud-components/cloud-item.spec.js +92 -0
  511. package/dist/modals/cloud-components/cloud-maps.d.ts +8 -0
  512. package/dist/modals/cloud-components/cloud-maps.js +47 -0
  513. package/dist/modals/cloud-components/cloud-maps.spec.d.ts +1 -0
  514. package/dist/modals/cloud-components/cloud-maps.spec.js +98 -0
  515. package/dist/modals/cloud-components/provider-loading.d.ts +2 -0
  516. package/dist/modals/cloud-components/provider-loading.js +20 -0
  517. package/dist/modals/cloud-components/provider-select.d.ts +7 -0
  518. package/dist/modals/cloud-components/provider-select.js +30 -0
  519. package/dist/modals/cloud-tile.d.ts +15 -0
  520. package/dist/modals/cloud-tile.js +203 -0
  521. package/dist/modals/data-table-modal.d.ts +37 -0
  522. package/dist/modals/data-table-modal.js +264 -0
  523. package/dist/modals/delete-data-modal.d.ts +10 -0
  524. package/dist/modals/delete-data-modal.js +41 -0
  525. package/dist/modals/error-display.d.ts +6 -0
  526. package/dist/modals/error-display.js +33 -0
  527. package/dist/modals/export-data-modal.d.ts +23 -0
  528. package/dist/modals/export-data-modal.js +187 -0
  529. package/dist/modals/export-image-modal.d.ts +16 -0
  530. package/dist/modals/export-image-modal.js +122 -0
  531. package/dist/modals/export-map-modal/components.d.ts +8 -0
  532. package/dist/modals/export-map-modal/components.js +34 -0
  533. package/dist/modals/export-map-modal/export-html-map.d.ts +12 -0
  534. package/dist/modals/export-map-modal/export-html-map.js +126 -0
  535. package/dist/modals/export-map-modal/export-json-map.d.ts +9 -0
  536. package/dist/modals/export-map-modal/export-json-map.js +81 -0
  537. package/dist/modals/export-map-modal/export-map-modal.d.ts +27 -0
  538. package/dist/modals/export-map-modal/export-map-modal.js +84 -0
  539. package/dist/modals/image-modal-container.d.ts +16 -0
  540. package/dist/modals/image-modal-container.js +58 -0
  541. package/dist/modals/load-data-modal.d.ts +44 -0
  542. package/dist/modals/load-data-modal.js +98 -0
  543. package/dist/modals/load-storage-map.d.ts +9 -0
  544. package/dist/modals/load-storage-map.js +80 -0
  545. package/dist/modals/load-storage-map.spec.d.ts +1 -0
  546. package/dist/modals/load-storage-map.spec.js +216 -0
  547. package/dist/modals/loading-dialog.d.ts +7 -0
  548. package/dist/modals/loading-dialog.js +37 -0
  549. package/dist/modals/modal-dialog.d.ts +2 -0
  550. package/dist/modals/modal-dialog.js +16 -0
  551. package/dist/modals/modal-tabs.d.ts +15 -0
  552. package/dist/modals/modal-tabs.js +75 -0
  553. package/dist/modals/overwrite-map-modal.d.ts +16 -0
  554. package/dist/modals/overwrite-map-modal.js +84 -0
  555. package/dist/modals/save-map-modal.d.ts +28 -0
  556. package/dist/modals/save-map-modal.js +179 -0
  557. package/dist/modals/save-map-modal.spec.d.ts +1 -0
  558. package/dist/modals/save-map-modal.spec.js +195 -0
  559. package/dist/modals/share-map-modal.d.ts +26 -0
  560. package/dist/modals/share-map-modal.js +169 -0
  561. package/dist/modals/share-map-modal.spec.d.ts +1 -0
  562. package/dist/modals/share-map-modal.spec.js +173 -0
  563. package/dist/modals/status-panel.d.ts +13 -0
  564. package/dist/modals/status-panel.js +65 -0
  565. package/dist/modals/storage-map-viewer.d.ts +21 -0
  566. package/dist/modals/storage-map-viewer.js +98 -0
  567. package/dist/modals/tilesets-modals/common.d.ts +12 -0
  568. package/dist/modals/tilesets-modals/common.js +6 -0
  569. package/dist/modals/tilesets-modals/load-data-footer.d.ts +11 -0
  570. package/dist/modals/tilesets-modals/load-data-footer.js +41 -0
  571. package/dist/modals/tilesets-modals/load-tileset.d.ts +16 -0
  572. package/dist/modals/tilesets-modals/load-tileset.js +114 -0
  573. package/dist/modals/tilesets-modals/tileset-icon.d.ts +9 -0
  574. package/dist/modals/tilesets-modals/tileset-icon.js +32 -0
  575. package/dist/modals/tilesets-modals/tileset-vector-form.d.ts +13 -0
  576. package/dist/modals/tilesets-modals/tileset-vector-form.js +165 -0
  577. package/dist/notification-panel/notification-item.d.ts +67 -0
  578. package/dist/notification-panel/notification-item.js +150 -0
  579. package/dist/notification-panel.d.ts +13 -0
  580. package/dist/notification-panel.js +61 -0
  581. package/dist/plot-container.d.ts +24 -0
  582. package/dist/plot-container.js +223 -0
  583. package/dist/side-panel/add-by-dataset-button.d.ts +12 -0
  584. package/dist/side-panel/add-by-dataset-button.js +128 -0
  585. package/dist/side-panel/cloud-storage-dropdown.d.ts +6 -0
  586. package/dist/side-panel/cloud-storage-dropdown.js +40 -0
  587. package/dist/side-panel/common/dataset-info.d.ts +11 -0
  588. package/dist/side-panel/common/dataset-info.js +34 -0
  589. package/dist/side-panel/common/dataset-tag.d.ts +17 -0
  590. package/dist/side-panel/common/dataset-tag.js +62 -0
  591. package/dist/side-panel/common/dataset-title.d.ts +22 -0
  592. package/dist/side-panel/common/dataset-title.js +143 -0
  593. package/dist/side-panel/common/source-data-catalog.d.ts +29 -0
  594. package/dist/side-panel/common/source-data-catalog.js +49 -0
  595. package/dist/side-panel/common/source-data-selector-content.d.ts +8 -0
  596. package/dist/side-panel/common/source-data-selector-content.js +65 -0
  597. package/dist/side-panel/common/source-data-selector.d.ts +8 -0
  598. package/dist/side-panel/common/source-data-selector.js +41 -0
  599. package/dist/side-panel/common/source-selector.d.ts +21 -0
  600. package/dist/side-panel/common/source-selector.js +57 -0
  601. package/dist/side-panel/common/types.d.ts +44 -0
  602. package/dist/side-panel/common/types.js +6 -0
  603. package/dist/side-panel/custom-panel.d.ts +13 -0
  604. package/dist/side-panel/custom-panel.js +39 -0
  605. package/dist/side-panel/filter-manager.d.ts +32 -0
  606. package/dist/side-panel/filter-manager.js +203 -0
  607. package/dist/side-panel/filter-panel/add-filter-button.d.ts +8 -0
  608. package/dist/side-panel/filter-panel/add-filter-button.js +28 -0
  609. package/dist/side-panel/filter-panel/filter-panel-header.d.ts +26 -0
  610. package/dist/side-panel/filter-panel/filter-panel-header.js +53 -0
  611. package/dist/side-panel/filter-panel/filter-panel.d.ts +23 -0
  612. package/dist/side-panel/filter-panel/filter-panel.js +93 -0
  613. package/dist/side-panel/interaction-manager.d.ts +18 -0
  614. package/dist/side-panel/interaction-manager.js +45 -0
  615. package/dist/side-panel/interaction-panel/brush-config.d.ts +15 -0
  616. package/dist/side-panel/interaction-panel/brush-config.js +41 -0
  617. package/dist/side-panel/interaction-panel/interaction-panel.d.ts +20 -0
  618. package/dist/side-panel/interaction-panel/interaction-panel.js +115 -0
  619. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +30 -0
  620. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +162 -0
  621. package/dist/side-panel/interaction-panel/tooltip-config.d.ts +37 -0
  622. package/dist/side-panel/interaction-panel/tooltip-config.js +150 -0
  623. package/dist/side-panel/layer-manager.d.ts +44 -0
  624. package/dist/side-panel/layer-manager.js +200 -0
  625. package/dist/side-panel/layer-panel/add-layer-button.d.ts +8 -0
  626. package/dist/side-panel/layer-panel/add-layer-button.js +28 -0
  627. package/dist/side-panel/layer-panel/aggr-scale-selector.d.ts +13 -0
  628. package/dist/side-panel/layer-panel/aggr-scale-selector.js +35 -0
  629. package/dist/side-panel/layer-panel/channel-by-value-selector.d.ts +26 -0
  630. package/dist/side-panel/layer-panel/channel-by-value-selector.js +68 -0
  631. package/dist/side-panel/layer-panel/color-breaks-panel.d.ts +33 -0
  632. package/dist/side-panel/layer-panel/color-breaks-panel.js +153 -0
  633. package/dist/side-panel/layer-panel/color-palette-preset.d.ts +9 -0
  634. package/dist/side-panel/layer-panel/color-palette-preset.js +45 -0
  635. package/dist/side-panel/layer-panel/color-palette.d.ts +12 -0
  636. package/dist/side-panel/layer-panel/color-palette.js +69 -0
  637. package/dist/side-panel/layer-panel/color-range-selector.d.ts +39 -0
  638. package/dist/side-panel/layer-panel/color-range-selector.js +244 -0
  639. package/dist/side-panel/layer-panel/color-scale-selector.d.ts +35 -0
  640. package/dist/side-panel/layer-panel/color-scale-selector.js +191 -0
  641. package/dist/side-panel/layer-panel/color-selector.d.ts +34 -0
  642. package/dist/side-panel/layer-panel/color-selector.js +167 -0
  643. package/dist/side-panel/layer-panel/column-selector.d.ts +18 -0
  644. package/dist/side-panel/layer-panel/column-selector.js +60 -0
  645. package/dist/side-panel/layer-panel/custom-palette.d.ts +77 -0
  646. package/dist/side-panel/layer-panel/custom-palette.js +427 -0
  647. package/dist/side-panel/layer-panel/custom-picker.d.ts +8 -0
  648. package/dist/side-panel/layer-panel/custom-picker.js +71 -0
  649. package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +23 -0
  650. package/dist/side-panel/layer-panel/dataset-layer-group.js +67 -0
  651. package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +25 -0
  652. package/dist/side-panel/layer-panel/dataset-layer-section.js +60 -0
  653. package/dist/side-panel/layer-panel/dataset-section.d.ts +23 -0
  654. package/dist/side-panel/layer-panel/dataset-section.js +74 -0
  655. package/dist/side-panel/layer-panel/dimension-scale-selector.d.ts +23 -0
  656. package/dist/side-panel/layer-panel/dimension-scale-selector.js +90 -0
  657. package/dist/side-panel/layer-panel/how-to-button.d.ts +6 -0
  658. package/dist/side-panel/layer-panel/how-to-button.js +27 -0
  659. package/dist/side-panel/layer-panel/layer-color-selector.d.ts +42 -0
  660. package/dist/side-panel/layer-panel/layer-color-selector.js +106 -0
  661. package/dist/side-panel/layer-panel/layer-column-config.d.ts +24 -0
  662. package/dist/side-panel/layer-panel/layer-column-config.js +86 -0
  663. package/dist/side-panel/layer-panel/layer-column-mode-config.d.ts +47 -0
  664. package/dist/side-panel/layer-panel/layer-column-mode-config.js +193 -0
  665. package/dist/side-panel/layer-panel/layer-config-group.d.ts +44 -0
  666. package/dist/side-panel/layer-panel/layer-config-group.js +141 -0
  667. package/dist/side-panel/layer-panel/layer-configurator.d.ts +67 -0
  668. package/dist/side-panel/layer-panel/layer-configurator.js +644 -0
  669. package/dist/side-panel/layer-panel/layer-error-message.d.ts +6 -0
  670. package/dist/side-panel/layer-panel/layer-error-message.js +29 -0
  671. package/dist/side-panel/layer-panel/layer-list.d.ts +21 -0
  672. package/dist/side-panel/layer-panel/layer-list.js +170 -0
  673. package/dist/side-panel/layer-panel/layer-panel-header.d.ts +73 -0
  674. package/dist/side-panel/layer-panel/layer-panel-header.js +274 -0
  675. package/dist/side-panel/layer-panel/layer-panel.d.ts +39 -0
  676. package/dist/side-panel/layer-panel/layer-panel.js +162 -0
  677. package/dist/side-panel/layer-panel/layer-type-dropdown-list.d.ts +22 -0
  678. package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +78 -0
  679. package/dist/side-panel/layer-panel/layer-type-list-item.d.ts +22 -0
  680. package/dist/side-panel/layer-panel/layer-type-list-item.js +67 -0
  681. package/dist/side-panel/layer-panel/layer-type-selector.d.ts +22 -0
  682. package/dist/side-panel/layer-panel/layer-type-selector.js +58 -0
  683. package/dist/side-panel/layer-panel/radius-by-zoom-input.d.ts +11 -0
  684. package/dist/side-panel/layer-panel/radius-by-zoom-input.js +220 -0
  685. package/dist/side-panel/layer-panel/single-color-palette.d.ts +8 -0
  686. package/dist/side-panel/layer-panel/single-color-palette.js +86 -0
  687. package/dist/side-panel/layer-panel/text-label-panel.d.ts +17 -0
  688. package/dist/side-panel/layer-panel/text-label-panel.js +165 -0
  689. package/dist/side-panel/layer-panel/vector-tile-layer-configurator.d.ts +22 -0
  690. package/dist/side-panel/layer-panel/vector-tile-layer-configurator.js +86 -0
  691. package/dist/side-panel/layer-panel/vis-config-by-field-selector.d.ts +24 -0
  692. package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +60 -0
  693. package/dist/side-panel/layer-panel/vis-config-slider.d.ts +20 -0
  694. package/dist/side-panel/layer-panel/vis-config-slider.js +159 -0
  695. package/dist/side-panel/layer-panel/vis-config-switch.d.ts +16 -0
  696. package/dist/side-panel/layer-panel/vis-config-switch.js +55 -0
  697. package/dist/side-panel/map-manager.d.ts +27 -0
  698. package/dist/side-panel/map-manager.js +127 -0
  699. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.d.ts +14 -0
  700. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +77 -0
  701. package/dist/side-panel/map-style-panel/map-layer-group-item.d.ts +29 -0
  702. package/dist/side-panel/map-style-panel/map-layer-group-item.js +95 -0
  703. package/dist/side-panel/map-style-panel/map-layer-selector.d.ts +23 -0
  704. package/dist/side-panel/map-style-panel/map-layer-selector.js +74 -0
  705. package/dist/side-panel/map-style-panel/map-style-selector.d.ts +23 -0
  706. package/dist/side-panel/map-style-panel/map-style-selector.js +96 -0
  707. package/dist/side-panel/panel-header-action.d.ts +22 -0
  708. package/dist/side-panel/panel-header-action.js +73 -0
  709. package/dist/side-panel/panel-header.d.ts +91 -0
  710. package/dist/side-panel/panel-header.js +303 -0
  711. package/dist/side-panel/panel-tab.d.ts +20 -0
  712. package/dist/side-panel/panel-tab.js +55 -0
  713. package/dist/side-panel/panel-title.d.ts +7 -0
  714. package/dist/side-panel/panel-title.js +40 -0
  715. package/dist/side-panel/panel-toggle.d.ts +13 -0
  716. package/dist/side-panel/panel-toggle.js +48 -0
  717. package/dist/side-panel/panel-view-list-toggle.d.ts +31 -0
  718. package/dist/side-panel/panel-view-list-toggle.js +98 -0
  719. package/dist/side-panel/side-bar.d.ts +78 -0
  720. package/dist/side-panel/side-bar.js +127 -0
  721. package/dist/side-panel.d.ts +21 -0
  722. package/dist/side-panel.js +214 -0
  723. package/dist/types.d.ts +47 -0
  724. package/dist/types.js +6 -0
  725. package/package.json +19 -16
@@ -0,0 +1,427 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = exports.EditableColorRange = exports.DragHandle = exports.DividerLine = exports.DeleteColorStop = exports.CustomPaletteInput = exports.ColorSwatch = exports.ColorPaletteItem = exports.ColorPaletteInput = exports.BottomAction = exports.AddColorStop = void 0;
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+ var _react = _interopRequireWildcard(require("react"));
14
+ var _reactSortableHoc = require("react-sortable-hoc");
15
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
16
+ var _portaled = _interopRequireDefault(require("../../common/portaled"));
17
+ var _constants = require("@kepler.gl/constants");
18
+ var _utils = require("@kepler.gl/utils");
19
+ var _icons = require("../../common/icons");
20
+ var _styledComponents2 = require("../../common/styled-components");
21
+ var _customPicker = _interopRequireDefault(require("./custom-picker"));
22
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13; // SPDX-License-Identifier: MIT
23
+ // Copyright contributors to the kepler.gl project
24
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
25
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
26
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
27
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
28
+ /**
29
+ * EditableColorRange
30
+ */
31
+
32
+ var defaultActionIcons = {
33
+ "delete": _icons.Trash,
34
+ sort: _icons.VertDots,
35
+ add: _icons.Add
36
+ };
37
+ var dragHandleActive = (0, _styledComponents.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n .layer__drag-handle {\n color: ", ";\n opacity: 1;\n cursor: move;\n }\n"])), function (props) {
38
+ return props.theme.textColorHl;
39
+ });
40
+ var ColorPaletteItem = exports.ColorPaletteItem = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n padding-top: 2px;\n padding-bottom: 2px;\n z-index: ", ";\n justify-content: space-between;\n\n .custom-palette-input__left {\n display: flex;\n align-items: center;\n }\n\n .custom-palette-input__right {\n display: flex;\n align-items: center;\n padding-right: 6px;\n }\n\n :not(.sorting):not(.disabled) {\n :hover {\n background-color: ", ";\n ", ";\n }\n }\n\n &.sorting-colors {\n background-color: ", ";\n ", ";\n }\n"])), function (props) {
41
+ return props.theme.dropdownWrapperZ + 1;
42
+ }, function (props) {
43
+ return props.theme.panelBackgroundHover;
44
+ }, dragHandleActive, function (props) {
45
+ return props.theme.panelBackgroundHover;
46
+ }, dragHandleActive);
47
+ var StyledDragHandle = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n opacity: 0;\n"])));
48
+ var StyledAction = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n svg {\n :hover {\n color: ", ";\n }\n }\n\n margin-left: 4px;\n :hover {\n cursor: pointer;\n }\n"])), function (props) {
49
+ return props.theme.subtextColor;
50
+ }, function (props) {
51
+ return props.theme.subtextColorActive;
52
+ });
53
+ var DividerLine = exports.DividerLine = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n height: 1px;\n background-color: ", ";\n margin-top: 8px;\n"])), function (props) {
54
+ return props.theme.dropdownListBorderTop;
55
+ });
56
+ var ColorSwatch = exports.ColorSwatch = _styledComponents["default"].div.attrs({
57
+ className: 'custom-palette__swatch'
58
+ })(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n width: 32px;\n height: 18px;\n display: inline-block;\n :hover {\n box-shadow: ", ";\n cursor: pointer;\n }\n"])), function (props) {
59
+ return props.color;
60
+ }, function (props) {
61
+ return props.theme.boxShadow;
62
+ });
63
+ var StyledButtonContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n margin-top: 11px;\n display: flex;\n direction: rtl;\n padding: 0 12px;\n"])));
64
+ var StyledInput = (0, _styledComponents["default"])(_styledComponents2.Input)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n text-align: ", ";\n pointer-events: ", ";\n"])), function (props) {
65
+ var _props$width;
66
+ return (_props$width = props.width) !== null && _props$width !== void 0 ? _props$width : '100%';
67
+ }, function (props) {
68
+ var _props$textAlign;
69
+ return (_props$textAlign = props.textAlign) !== null && _props$textAlign !== void 0 ? _props$textAlign : 'end';
70
+ }, function (props) {
71
+ return props.disabled ? 'none' : 'all';
72
+ });
73
+ var InputText = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n background-color: transparent;\n border-color: transparent;\n width: ", ";\n text-align: ", ";\n\n :hover {\n cursor: auto;\n background-color: transparent;\n border-color: transparent;\n }\n"])), function (props) {
74
+ return props.theme.input;
75
+ }, function (props) {
76
+ var _props$width2;
77
+ return (_props$width2 = props.width) !== null && _props$width2 !== void 0 ? _props$width2 : '100%';
78
+ }, function (props) {
79
+ var _props$textAlign2;
80
+ return (_props$textAlign2 = props.textAlign) !== null && _props$textAlign2 !== void 0 ? _props$textAlign2 : 'end';
81
+ });
82
+ var SortableItem = (0, _reactSortableHoc.SortableElement)(function (_ref) {
83
+ var children = _ref.children,
84
+ isSorting = _ref.isSorting;
85
+ return /*#__PURE__*/_react["default"].createElement(ColorPaletteItem, {
86
+ className: (0, _classnames["default"])('custom-palette__sortable-items', {
87
+ sorting: isSorting
88
+ })
89
+ }, children);
90
+ });
91
+ // TODO: Should className be applied to the div here?
92
+ var WrappedSortableContainer = (0, _reactSortableHoc.SortableContainer)(function (_ref2) {
93
+ var children = _ref2.children,
94
+ className = _ref2.className;
95
+ return /*#__PURE__*/_react["default"].createElement("div", {
96
+ className: className
97
+ }, children);
98
+ });
99
+ var DragHandle = exports.DragHandle = (0, _reactSortableHoc.SortableHandle)(function (_ref3) {
100
+ var className = _ref3.className,
101
+ children = _ref3.children;
102
+ return /*#__PURE__*/_react["default"].createElement(StyledDragHandle, {
103
+ className: className
104
+ }, children);
105
+ });
106
+ var ColorPaletteInput = exports.ColorPaletteInput = function ColorPaletteInput(_ref4) {
107
+ var value = _ref4.value,
108
+ onChange = _ref4.onChange,
109
+ id = _ref4.id,
110
+ width = _ref4.width,
111
+ textAlign = _ref4.textAlign,
112
+ editable = _ref4.editable;
113
+ var _useState = (0, _react.useState)(value),
114
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
115
+ stateValue = _useState2[0],
116
+ setValue = _useState2[1];
117
+ var inputRef = (0, _react.useRef)(null);
118
+ (0, _react.useEffect)(function () {
119
+ setValue(value);
120
+ }, [value]);
121
+ var onKeyDown = (0, _react.useCallback)(function (e) {
122
+ switch (e.keyCode) {
123
+ case _constants.KeyEvent.DOM_VK_ENTER:
124
+ case _constants.KeyEvent.DOM_VK_RETURN:
125
+ onChange(stateValue);
126
+ if (inputRef !== null) {
127
+ // @ts-ignore
128
+ inputRef === null || inputRef === void 0 || inputRef.current.blur();
129
+ }
130
+ break;
131
+ default:
132
+ break;
133
+ }
134
+ }, [onChange, stateValue]);
135
+ var _onChange = (0, _react.useCallback)(function (e) {
136
+ return setValue(e.target.value);
137
+ }, [setValue]);
138
+ var onBlur = (0, _react.useCallback)(function () {
139
+ return onChange(stateValue);
140
+ }, [onChange, stateValue]);
141
+ return editable ? /*#__PURE__*/_react["default"].createElement(StyledInput, {
142
+ ref: inputRef,
143
+ className: "custom-palette-hex__input",
144
+ value: stateValue,
145
+ onChange: _onChange,
146
+ onBlur: onBlur,
147
+ onKeyDown: onKeyDown,
148
+ id: id,
149
+ width: width,
150
+ textAlign: textAlign,
151
+ secondary: true
152
+ }) : /*#__PURE__*/_react["default"].createElement(InputText, {
153
+ className: "custom-palette-hex__input__text",
154
+ width: width,
155
+ textAlign: textAlign
156
+ }, value);
157
+ };
158
+ var Dash = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["\n width: 6px;\n border-top: 1px solid ", ";\n margin-left: 4px;\n margin-right: 4px;\n"])), function (props) {
159
+ return props.theme.subtextColor;
160
+ });
161
+ var StyledRangeInput = _styledComponents["default"].div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: flex-end;\n align-items: center;\n margin-left: 12px;\n"])));
162
+ var StyledColorHexInput = _styledComponents["default"].div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: 12px;\n"])));
163
+ var EditableColorRange = exports.EditableColorRange = function EditableColorRange(_ref5) {
164
+ var item = _ref5.item,
165
+ isLast = _ref5.isLast,
166
+ index = _ref5.index,
167
+ editColorMap = _ref5.editColorMap,
168
+ editable = _ref5.editable;
169
+ var noMinBound = !Number.isFinite(item.inputs[0]) && index === 0;
170
+ var noMaxBound = !Number.isFinite(item.inputs[1]) && isLast;
171
+ var onChangeLeft = (0, _react.useCallback)(function (val) {
172
+ if (editable && editColorMap) editColorMap(parseFloat(val), index - 1);
173
+ return;
174
+ }, [editColorMap, index, editable]);
175
+ var onChangeRight = (0, _react.useCallback)(function (val) {
176
+ if (editable && editColorMap) editColorMap(parseFloat(val), index);
177
+ return;
178
+ }, [editColorMap, index, editable]);
179
+ return /*#__PURE__*/_react["default"].createElement(StyledRangeInput, null, /*#__PURE__*/_react["default"].createElement(ColorPaletteInput, {
180
+ value: noMinBound ? 'Less' : item.inputs[0],
181
+ id: "color-palette-input-".concat(index, "-left"),
182
+ width: "50px",
183
+ textAlign: "end",
184
+ editable: noMinBound ? false : editable,
185
+ onChange: onChangeLeft
186
+ }), /*#__PURE__*/_react["default"].createElement(Dash, null), /*#__PURE__*/_react["default"].createElement(ColorPaletteInput, {
187
+ value: noMaxBound ? 'More' : item.inputs[1],
188
+ id: "color-palette-input-".concat(index, "-right"),
189
+ width: "50px",
190
+ textAlign: "end",
191
+ onChange: onChangeRight,
192
+ editable: noMaxBound ? false : editable
193
+ }));
194
+ };
195
+ var AddColorStop = exports.AddColorStop = function AddColorStop(_ref6) {
196
+ var onColorAdd = _ref6.onColorAdd,
197
+ IconComponent = _ref6.IconComponent;
198
+ return /*#__PURE__*/_react["default"].createElement(StyledAction, {
199
+ onClick: onColorAdd,
200
+ className: "addcolor"
201
+ }, /*#__PURE__*/_react["default"].createElement(IconComponent, {
202
+ height: "14px"
203
+ }));
204
+ };
205
+ var DeleteColorStop = exports.DeleteColorStop = function DeleteColorStop(_ref7) {
206
+ var onColorDelete = _ref7.onColorDelete,
207
+ IconComponent = _ref7.IconComponent;
208
+ return /*#__PURE__*/_react["default"].createElement(StyledAction, {
209
+ onClick: onColorDelete,
210
+ className: "trashbin"
211
+ }, /*#__PURE__*/_react["default"].createElement(IconComponent, {
212
+ height: "14px"
213
+ }));
214
+ };
215
+ var CustomPaletteInput = exports.CustomPaletteInput = function CustomPaletteInput(_ref8) {
216
+ var index = _ref8.index,
217
+ isSorting = _ref8.isSorting,
218
+ color = _ref8.color,
219
+ colorBreaks = _ref8.colorBreaks,
220
+ inputColorHex = _ref8.inputColorHex,
221
+ editColorMapValue = _ref8.editColorMapValue,
222
+ _ref8$actionIcons = _ref8.actionIcons,
223
+ actionIcons = _ref8$actionIcons === void 0 ? defaultActionIcons : _ref8$actionIcons,
224
+ disableAppend = _ref8.disableAppend,
225
+ disableDelete = _ref8.disableDelete,
226
+ onDelete = _ref8.onDelete,
227
+ onAdd = _ref8.onAdd,
228
+ onToggleSketcher = _ref8.onToggleSketcher;
229
+ var onClickSwtach = (0, _react.useCallback)(function () {
230
+ return onToggleSketcher(index);
231
+ }, [onToggleSketcher, index]);
232
+ var onColorInput = (0, _react.useCallback)(function (v) {
233
+ return inputColorHex(index, v);
234
+ }, [inputColorHex, index]);
235
+ var onColorDelete = (0, _react.useCallback)(function () {
236
+ return onDelete(index);
237
+ }, [onDelete, index]);
238
+ var onColorAdd = (0, _react.useCallback)(function () {
239
+ return onAdd(index);
240
+ }, [onAdd, index]);
241
+ var showHexInput = !colorBreaks;
242
+ return /*#__PURE__*/_react["default"].createElement(SortableItem, {
243
+ index: index,
244
+ isSorting: isSorting
245
+ }, /*#__PURE__*/_react["default"].createElement("div", {
246
+ className: "custom-palette-input__left"
247
+ }, /*#__PURE__*/_react["default"].createElement(DragHandle, {
248
+ className: "layer__drag-handle"
249
+ }, /*#__PURE__*/_react["default"].createElement(actionIcons.sort, {
250
+ height: "20px"
251
+ })), /*#__PURE__*/_react["default"].createElement(ColorSwatch, {
252
+ color: color,
253
+ onClick: onClickSwtach
254
+ }), showHexInput ? /*#__PURE__*/_react["default"].createElement(StyledColorHexInput, null, /*#__PURE__*/_react["default"].createElement(ColorPaletteInput, {
255
+ value: color.toUpperCase(),
256
+ onChange: onColorInput,
257
+ id: "input-layer-label-".concat(index),
258
+ editable: true,
259
+ textAlign: "left",
260
+ width: "70px"
261
+ })) : null, (0, _utils.isNumericColorBreaks)(colorBreaks) ? /*#__PURE__*/_react["default"].createElement(EditableColorRange, {
262
+ item: colorBreaks[index],
263
+ isLast: index === colorBreaks.length - 1,
264
+ index: index,
265
+ editColorMap: editColorMapValue,
266
+ editable: true
267
+ }) : null), /*#__PURE__*/_react["default"].createElement("div", {
268
+ className: "custom-palette-input__right"
269
+ }, !disableAppend ? /*#__PURE__*/_react["default"].createElement(AddColorStop, {
270
+ onColorAdd: onColorAdd,
271
+ IconComponent: actionIcons.add
272
+ }) : null, !disableDelete ? /*#__PURE__*/_react["default"].createElement(DeleteColorStop, {
273
+ onColorDelete: onColorDelete,
274
+ IconComponent: actionIcons["delete"]
275
+ }) : null));
276
+ };
277
+ var BottomAction = exports.BottomAction = function BottomAction(_ref9) {
278
+ var onCancel = _ref9.onCancel,
279
+ onConfirm = _ref9.onConfirm;
280
+ return /*#__PURE__*/_react["default"].createElement(StyledButtonContainer, null, /*#__PURE__*/_react["default"].createElement(_styledComponents2.Button, {
281
+ className: "confirm-apply__button",
282
+ small: true,
283
+ onClick: onConfirm
284
+ }, "Confirm"), /*#__PURE__*/_react["default"].createElement(_styledComponents2.Button, {
285
+ link: true,
286
+ small: true,
287
+ onClick: onCancel
288
+ }, "Cancel"));
289
+ };
290
+ var StyledCustomPalette = _styledComponents["default"].div.attrs({
291
+ className: 'custom-palette'
292
+ })(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["\n margin-top: 8px;\n"])));
293
+ function CustomPaletteFactory() {
294
+ var CustomPalette = function CustomPalette(_ref10) {
295
+ var customPalette = _ref10.customPalette,
296
+ setColorPaletteUI = _ref10.setColorPaletteUI,
297
+ showSketcher = _ref10.showSketcher,
298
+ _ref10$actionIcons = _ref10.actionIcons,
299
+ actionIcons = _ref10$actionIcons === void 0 ? defaultActionIcons : _ref10$actionIcons,
300
+ onCancel = _ref10.onCancel,
301
+ onApply = _ref10.onApply;
302
+ var _useState3 = (0, _react.useState)(false),
303
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
304
+ isSorting = _useState4[0],
305
+ setIsSorting = _useState4[1];
306
+ var colors = customPalette.colors,
307
+ colorMap = customPalette.colorMap;
308
+ var colorBreaks = (0, _react.useMemo)(function () {
309
+ return colorMap ? (0, _utils.colorMapToColorBreaks)(colorMap) : null;
310
+ }, [colorMap]);
311
+ var onPickerUpdate = (0, _react.useCallback)(function (color) {
312
+ if (color && Number.isFinite(showSketcher)) {
313
+ var newCustomPalette = (0, _utils.updateCustomPaletteColor)(customPalette, Number(showSketcher), color.hex);
314
+ setColorPaletteUI({
315
+ customPalette: newCustomPalette
316
+ });
317
+ }
318
+ }, [customPalette, showSketcher, setColorPaletteUI]);
319
+ var onToggleSketcher = (0, _react.useCallback)(function (val) {
320
+ setColorPaletteUI({
321
+ showSketcher: val
322
+ });
323
+ }, [setColorPaletteUI]);
324
+ var onDelete = (0, _react.useCallback)(function (index) {
325
+ var newCustomPalette = (0, _utils.removeCustomPaletteColor)(customPalette, index);
326
+ setColorPaletteUI({
327
+ customPalette: newCustomPalette
328
+ });
329
+ }, [customPalette, setColorPaletteUI]);
330
+ var onAdd = (0, _react.useCallback)(function (index) {
331
+ // add color at the end
332
+ var newCustomPalette = (0, _utils.addCustomPaletteColor)(customPalette, index);
333
+ setColorPaletteUI({
334
+ customPalette: newCustomPalette
335
+ });
336
+ }, [customPalette, setColorPaletteUI]);
337
+ var onSwatchClose = (0, _react.useCallback)(function () {
338
+ onToggleSketcher(false);
339
+ }, [onToggleSketcher]);
340
+ var onConfirm = (0, _react.useCallback)(function (event) {
341
+ event.stopPropagation();
342
+ event.preventDefault();
343
+ onCancel();
344
+ onApply(event);
345
+ }, [onCancel, onApply]);
346
+ var onSortEnd = (0, _react.useCallback)(function (_ref11) {
347
+ var oldIndex = _ref11.oldIndex,
348
+ newIndex = _ref11.newIndex;
349
+ var newCustomPalette = (0, _utils.sortCustomPaletteColor)(customPalette, oldIndex, newIndex);
350
+ setColorPaletteUI({
351
+ customPalette: newCustomPalette
352
+ });
353
+ setIsSorting(false);
354
+ }, [customPalette, setColorPaletteUI, setIsSorting]);
355
+ var onSortStart = (0, _react.useCallback)(function () {
356
+ setIsSorting(true);
357
+ }, [setIsSorting]);
358
+ var inputColorHex = (0, _react.useCallback)(function (index, value) {
359
+ var newCustomPalette = (0, _utils.updateCustomPaletteColor)(customPalette, index, value);
360
+ // setColors(newColors);
361
+ setColorPaletteUI({
362
+ customPalette: newCustomPalette
363
+ });
364
+ }, [customPalette, setColorPaletteUI]);
365
+ var editColorMapValue = (0, _react.useCallback)(function (value, index) {
366
+ if (!customPalette.colorMap) {
367
+ return;
368
+ }
369
+ var newColorMap = customPalette.colorMap.map(function (cm, i) {
370
+ return i === index ? [value, cm[1]] : cm;
371
+ });
372
+
373
+ // sort the user inputs in case the break values are not ordered
374
+ var breaks = newColorMap.map(function (cm) {
375
+ return cm[0];
376
+ }).slice(0, -1).sort(function (a, b) {
377
+ return Number(a) - Number(b);
378
+ }).concat(null);
379
+ var sortedNewColorMap = newColorMap.map(function (cm, i) {
380
+ return [breaks[i], cm[1]];
381
+ });
382
+ setColorPaletteUI({
383
+ customPalette: _objectSpread(_objectSpread({}, customPalette), {}, {
384
+ colorMap: sortedNewColorMap
385
+ })
386
+ });
387
+ }, [setColorPaletteUI, customPalette]);
388
+ return /*#__PURE__*/_react["default"].createElement(StyledCustomPalette, null, /*#__PURE__*/_react["default"].createElement(WrappedSortableContainer, {
389
+ className: "custom-palette__sortable-container",
390
+ onSortEnd: onSortEnd,
391
+ onSortStart: onSortStart,
392
+ lockAxis: "y",
393
+ helperClass: "sorting-colors",
394
+ useDragHandle: true
395
+ }, colors.map(function (color, index) {
396
+ return /*#__PURE__*/_react["default"].createElement(CustomPaletteInput, {
397
+ key: index,
398
+ colorBreaks: colorBreaks,
399
+ index: index,
400
+ isSorting: isSorting,
401
+ color: color,
402
+ inputColorHex: inputColorHex,
403
+ disableAppend: colors.length >= 20,
404
+ disableDelete: colors.length <= 2,
405
+ actionIcons: actionIcons,
406
+ onAdd: onAdd,
407
+ onDelete: onDelete,
408
+ onToggleSketcher: onToggleSketcher,
409
+ editColorMapValue: editColorMapValue
410
+ });
411
+ })), /*#__PURE__*/_react["default"].createElement(DividerLine, null), /*#__PURE__*/_react["default"].createElement(BottomAction, {
412
+ onCancel: onCancel,
413
+ onConfirm: onConfirm
414
+ }), /*#__PURE__*/_react["default"].createElement(_portaled["default"], {
415
+ isOpened: showSketcher !== false,
416
+ left: 280,
417
+ top: -300,
418
+ onClose: onSwatchClose
419
+ }, /*#__PURE__*/_react["default"].createElement(_customPicker["default"], {
420
+ color: colors[Number(showSketcher)],
421
+ onChange: onPickerUpdate
422
+ })));
423
+ };
424
+ return CustomPalette;
425
+ }
426
+ var _default = exports["default"] = CustomPaletteFactory;
427
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RTb3J0YWJsZUhvYyIsIl9zdHlsZWRDb21wb25lbnRzIiwiX3BvcnRhbGVkIiwiX2NvbnN0YW50cyIsIl91dGlscyIsIl9pY29ucyIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl9jdXN0b21QaWNrZXIiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX3RlbXBsYXRlT2JqZWN0MyIsIl90ZW1wbGF0ZU9iamVjdDQiLCJfdGVtcGxhdGVPYmplY3Q1IiwiX3RlbXBsYXRlT2JqZWN0NiIsIl90ZW1wbGF0ZU9iamVjdDciLCJfdGVtcGxhdGVPYmplY3Q4IiwiX3RlbXBsYXRlT2JqZWN0OSIsIl90ZW1wbGF0ZU9iamVjdDEwIiwiX3RlbXBsYXRlT2JqZWN0MTEiLCJfdGVtcGxhdGVPYmplY3QxMiIsIl90ZW1wbGF0ZU9iamVjdDEzIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0Iiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmYXVsdEFjdGlvbkljb25zIiwiVHJhc2giLCJzb3J0IiwiVmVydERvdHMiLCJhZGQiLCJBZGQiLCJkcmFnSGFuZGxlQWN0aXZlIiwiY3NzIiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsInRoZW1lIiwidGV4dENvbG9ySGwiLCJDb2xvclBhbGV0dGVJdGVtIiwiZXhwb3J0cyIsInN0eWxlZCIsImRpdiIsImRyb3Bkb3duV3JhcHBlcloiLCJwYW5lbEJhY2tncm91bmRIb3ZlciIsIlN0eWxlZERyYWdIYW5kbGUiLCJTdHlsZWRBY3Rpb24iLCJzdWJ0ZXh0Q29sb3IiLCJzdWJ0ZXh0Q29sb3JBY3RpdmUiLCJEaXZpZGVyTGluZSIsImRyb3Bkb3duTGlzdEJvcmRlclRvcCIsIkNvbG9yU3dhdGNoIiwiYXR0cnMiLCJjbGFzc05hbWUiLCJjb2xvciIsImJveFNoYWRvdyIsIlN0eWxlZEJ1dHRvbkNvbnRhaW5lciIsIlN0eWxlZElucHV0IiwiSW5wdXQiLCJfcHJvcHMkd2lkdGgiLCJ3aWR0aCIsIl9wcm9wcyR0ZXh0QWxpZ24iLCJ0ZXh0QWxpZ24iLCJkaXNhYmxlZCIsIklucHV0VGV4dCIsImlucHV0IiwiX3Byb3BzJHdpZHRoMiIsIl9wcm9wcyR0ZXh0QWxpZ24yIiwiU29ydGFibGVJdGVtIiwiU29ydGFibGVFbGVtZW50IiwiX3JlZiIsImNoaWxkcmVuIiwiaXNTb3J0aW5nIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzbmFtZXMiLCJzb3J0aW5nIiwiV3JhcHBlZFNvcnRhYmxlQ29udGFpbmVyIiwiU29ydGFibGVDb250YWluZXIiLCJfcmVmMiIsIkRyYWdIYW5kbGUiLCJTb3J0YWJsZUhhbmRsZSIsIl9yZWYzIiwiQ29sb3JQYWxldHRlSW5wdXQiLCJfcmVmNCIsInZhbHVlIiwib25DaGFuZ2UiLCJpZCIsImVkaXRhYmxlIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic3RhdGVWYWx1ZSIsInNldFZhbHVlIiwiaW5wdXRSZWYiLCJ1c2VSZWYiLCJ1c2VFZmZlY3QiLCJvbktleURvd24iLCJ1c2VDYWxsYmFjayIsImtleUNvZGUiLCJLZXlFdmVudCIsIkRPTV9WS19FTlRFUiIsIkRPTV9WS19SRVRVUk4iLCJjdXJyZW50IiwiYmx1ciIsIl9vbkNoYW5nZSIsInRhcmdldCIsIm9uQmx1ciIsInJlZiIsInNlY29uZGFyeSIsIkRhc2giLCJTdHlsZWRSYW5nZUlucHV0IiwiU3R5bGVkQ29sb3JIZXhJbnB1dCIsIkVkaXRhYmxlQ29sb3JSYW5nZSIsIl9yZWY1IiwiaXRlbSIsImlzTGFzdCIsImluZGV4IiwiZWRpdENvbG9yTWFwIiwibm9NaW5Cb3VuZCIsIk51bWJlciIsImlzRmluaXRlIiwiaW5wdXRzIiwibm9NYXhCb3VuZCIsIm9uQ2hhbmdlTGVmdCIsInZhbCIsInBhcnNlRmxvYXQiLCJvbkNoYW5nZVJpZ2h0IiwiY29uY2F0IiwiQWRkQ29sb3JTdG9wIiwiX3JlZjYiLCJvbkNvbG9yQWRkIiwiSWNvbkNvbXBvbmVudCIsIm9uQ2xpY2siLCJoZWlnaHQiLCJEZWxldGVDb2xvclN0b3AiLCJfcmVmNyIsIm9uQ29sb3JEZWxldGUiLCJDdXN0b21QYWxldHRlSW5wdXQiLCJfcmVmOCIsImNvbG9yQnJlYWtzIiwiaW5wdXRDb2xvckhleCIsImVkaXRDb2xvck1hcFZhbHVlIiwiX3JlZjgkYWN0aW9uSWNvbnMiLCJhY3Rpb25JY29ucyIsImRpc2FibGVBcHBlbmQiLCJkaXNhYmxlRGVsZXRlIiwib25EZWxldGUiLCJvbkFkZCIsIm9uVG9nZ2xlU2tldGNoZXIiLCJvbkNsaWNrU3d0YWNoIiwib25Db2xvcklucHV0IiwidiIsInNob3dIZXhJbnB1dCIsInRvVXBwZXJDYXNlIiwiaXNOdW1lcmljQ29sb3JCcmVha3MiLCJCb3R0b21BY3Rpb24iLCJfcmVmOSIsIm9uQ2FuY2VsIiwib25Db25maXJtIiwiQnV0dG9uIiwic21hbGwiLCJsaW5rIiwiU3R5bGVkQ3VzdG9tUGFsZXR0ZSIsIkN1c3RvbVBhbGV0dGVGYWN0b3J5IiwiQ3VzdG9tUGFsZXR0ZSIsIl9yZWYxMCIsImN1c3RvbVBhbGV0dGUiLCJzZXRDb2xvclBhbGV0dGVVSSIsInNob3dTa2V0Y2hlciIsIl9yZWYxMCRhY3Rpb25JY29ucyIsIm9uQXBwbHkiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInNldElzU29ydGluZyIsImNvbG9ycyIsImNvbG9yTWFwIiwidXNlTWVtbyIsImNvbG9yTWFwVG9Db2xvckJyZWFrcyIsIm9uUGlja2VyVXBkYXRlIiwibmV3Q3VzdG9tUGFsZXR0ZSIsInVwZGF0ZUN1c3RvbVBhbGV0dGVDb2xvciIsImhleCIsInJlbW92ZUN1c3RvbVBhbGV0dGVDb2xvciIsImFkZEN1c3RvbVBhbGV0dGVDb2xvciIsIm9uU3dhdGNoQ2xvc2UiLCJldmVudCIsInN0b3BQcm9wYWdhdGlvbiIsInByZXZlbnREZWZhdWx0Iiwib25Tb3J0RW5kIiwiX3JlZjExIiwib2xkSW5kZXgiLCJuZXdJbmRleCIsInNvcnRDdXN0b21QYWxldHRlQ29sb3IiLCJvblNvcnRTdGFydCIsIm5ld0NvbG9yTWFwIiwibWFwIiwiY20iLCJicmVha3MiLCJzbGljZSIsImIiLCJzb3J0ZWROZXdDb2xvck1hcCIsImxvY2tBeGlzIiwiaGVscGVyQ2xhc3MiLCJ1c2VEcmFnSGFuZGxlIiwia2V5IiwiaXNPcGVuZWQiLCJsZWZ0IiwidG9wIiwib25DbG9zZSIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvY3VzdG9tLXBhbGV0dGUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IFJlYWN0LCB7XG4gIEVsZW1lbnRUeXBlLFxuICBQcm9wc1dpdGhDaGlsZHJlbixcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZVxufSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge1xuICBTb3J0YWJsZUNvbnRhaW5lcixcbiAgU29ydGFibGVDb250YWluZXJQcm9wcyxcbiAgU29ydGFibGVFbGVtZW50LFxuICBTb3J0YWJsZUVsZW1lbnRQcm9wcyxcbiAgU29ydGFibGVIYW5kbGVcbn0gZnJvbSAncmVhY3Qtc29ydGFibGUtaG9jJztcbmltcG9ydCBzdHlsZWQsIHtTdHlsZWRDb21wb25lbnQsIGNzc30gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IFBvcnRhbGVkIGZyb20gJy4uLy4uL2NvbW1vbi9wb3J0YWxlZCc7XG5cbmltcG9ydCB7S2V5RXZlbnR9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7Q29sb3JNYXAsIENvbG9yVUksIEhleENvbG9yLCBOZXN0ZWRQYXJ0aWFsfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7Y29sb3JNYXBUb0NvbG9yQnJlYWtzLCBpc051bWVyaWNDb2xvckJyZWFrc30gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge1xuICBhZGRDdXN0b21QYWxldHRlQ29sb3IsXG4gIHJlbW92ZUN1c3RvbVBhbGV0dGVDb2xvcixcbiAgc29ydEN1c3RvbVBhbGV0dGVDb2xvcixcbiAgdXBkYXRlQ3VzdG9tUGFsZXR0ZUNvbG9yXG59IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuaW1wb3J0IHtDb2xvckJyZWFrLCBDb2xvckJyZWFrT3JkaW5hbH0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge0FkZCwgVHJhc2gsIFZlcnREb3RzfSBmcm9tICcuLi8uLi9jb21tb24vaWNvbnMnO1xuaW1wb3J0IHtCdXR0b24sIElucHV0fSBmcm9tICcuLi8uLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IEN1c3RvbVBpY2tlciBmcm9tICcuL2N1c3RvbS1waWNrZXInO1xuXG5leHBvcnQgdHlwZSBBY3Rpb25JY29ucyA9IHtcbiAgZGVsZXRlOiBFbGVtZW50VHlwZTtcbiAgc29ydDogRWxlbWVudFR5cGU7XG4gIGFkZDogRWxlbWVudFR5cGU7XG59O1xuXG5leHBvcnQgdHlwZSBFZGl0Q29sb3JNYXBGdW5jID0gKHY6IG51bWJlciwgaTogbnVtYmVyKSA9PiB2b2lkO1xuZXhwb3J0IHR5cGUgU2V0Q29sb3JVSUZ1bmMgPSAobmV3Q29uZmlnOiBOZXN0ZWRQYXJ0aWFsPENvbG9yVUk+KSA9PiB2b2lkO1xuXG4vKipcbiAqIEVkaXRhYmxlQ29sb3JSYW5nZVxuICovXG5leHBvcnQgdHlwZSBFZGl0YWJsZUNvbG9yUmFuZ2VQcm9wcyA9IHtcbiAgaXRlbTogQ29sb3JCcmVhaztcbiAgaXNMYXN0OiBib29sZWFuO1xuICBpbmRleDogbnVtYmVyO1xuICBlZGl0Q29sb3JNYXA/OiBFZGl0Q29sb3JNYXBGdW5jO1xuICBlZGl0YWJsZTogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIEN1c3RvbVBhbGV0dGVQcm9wcyA9IHtcbiAgY3VzdG9tUGFsZXR0ZTogQ29sb3JVSVsnY3VzdG9tUGFsZXR0ZSddO1xuICBzZXRDb2xvclBhbGV0dGVVSTogU2V0Q29sb3JVSUZ1bmM7XG4gIHNob3dTa2V0Y2hlcjogbnVtYmVyIHwgYm9vbGVhbjtcbiAgYWN0aW9uSWNvbnM/OiBBY3Rpb25JY29ucztcbiAgb25BcHBseTogKGU6IFJlYWN0Lk1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gIG9uQ2FuY2VsOiAoKSA9PiB2b2lkO1xufTtcblxuZXhwb3J0IHR5cGUgQ3VzdG9tUGFsZXR0ZUlucHV0UHJvcHMgPSB7XG4gIGluZGV4OiBudW1iZXI7XG4gIGlzU29ydGluZzogYm9vbGVhbjtcbiAgY29sb3I6IEhleENvbG9yO1xuICBjb2xvckJyZWFrczogQ29sb3JCcmVha09yZGluYWxbXSB8IENvbG9yQnJlYWtbXSB8IG51bGw7XG4gIGlucHV0Q29sb3JIZXg6IChpbmRleDogbnVtYmVyLCB2OiBIZXhDb2xvcikgPT4gdm9pZDtcbiAgZWRpdENvbG9yTWFwVmFsdWU6IEVkaXRDb2xvck1hcEZ1bmM7XG4gIGFjdGlvbkljb25zPzogQWN0aW9uSWNvbnM7XG4gIGRpc2FibGVBcHBlbmQ/OiBib29sZWFuO1xuICBkaXNhYmxlRGVsZXRlPzogYm9vbGVhbjtcbiAgb25EZWxldGU6IChpbmRleDogbnVtYmVyKSA9PiB2b2lkO1xuICBvbkFkZDogKGluZGV4OiBudW1iZXIpID0+IHZvaWQ7XG4gIG9uVG9nZ2xlU2tldGNoZXI6IChpbmRleDogbnVtYmVyKSA9PiB2b2lkO1xufTtcblxuY29uc3QgZGVmYXVsdEFjdGlvbkljb25zID0ge1xuICBkZWxldGU6IFRyYXNoLFxuICBzb3J0OiBWZXJ0RG90cyxcbiAgYWRkOiBBZGRcbn07XG5cbmNvbnN0IGRyYWdIYW5kbGVBY3RpdmUgPSBjc3NgXG4gIC5sYXllcl9fZHJhZy1oYW5kbGUge1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGN1cnNvcjogbW92ZTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IENvbG9yUGFsZXR0ZUl0ZW0gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMnB4O1xuICB6LWluZGV4OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmRyb3Bkb3duV3JhcHBlclogKyAxfTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gIC5jdXN0b20tcGFsZXR0ZS1pbnB1dF9fbGVmdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLmN1c3RvbS1wYWxldHRlLWlucHV0X19yaWdodCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgfVxuXG4gIDpub3QoLnNvcnRpbmcpOm5vdCguZGlzYWJsZWQpIHtcbiAgICA6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG4gICAgICAke2RyYWdIYW5kbGVBY3RpdmV9O1xuICAgIH1cbiAgfVxuXG4gICYuc29ydGluZy1jb2xvcnMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuICAgICR7ZHJhZ0hhbmRsZUFjdGl2ZX07XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZERyYWdIYW5kbGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBvcGFjaXR5OiAwO1xuYDtcblxuY29uc3QgU3R5bGVkQWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcbiAgc3ZnIHtcbiAgICA6aG92ZXIge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yQWN0aXZlfTtcbiAgICB9XG4gIH1cblxuICBtYXJnaW4tbGVmdDogNHB4O1xuICA6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IERpdmlkZXJMaW5lID0gc3R5bGVkLmRpdmBcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25MaXN0Qm9yZGVyVG9wfTtcbiAgbWFyZ2luLXRvcDogOHB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IENvbG9yU3dhdGNoID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2N1c3RvbS1wYWxldHRlX19zd2F0Y2gnXG59KWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy5jb2xvcn07XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJveFNoYWRvd307XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRCdXR0b25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tdG9wOiAxMXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBkaXJlY3Rpb246IHJ0bDtcbiAgcGFkZGluZzogMCAxMnB4O1xuYDtcblxuY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQoXG4gIElucHV0IGFzIFN0eWxlZENvbXBvbmVudDwnaW5wdXQnLCBhbnksIHt3aWR0aDogc3RyaW5nOyB0ZXh0QWxpZ246IHN0cmluZzsgZGlzYWJsZWQ6IGJvb2xlYW59LCBhbnk+XG4pYFxuICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy53aWR0aCA/PyAnMTAwJSd9O1xuICB0ZXh0LWFsaWduOiAke3Byb3BzID0+IHByb3BzLnRleHRBbGlnbiA/PyAnZW5kJ307XG4gIHBvaW50ZXItZXZlbnRzOiAke3Byb3BzID0+IChwcm9wcy5kaXNhYmxlZCA/ICdub25lJyA6ICdhbGwnKX07XG5gO1xuXG5jb25zdCBJbnB1dFRleHQgPSBzdHlsZWQuZGl2PHt3aWR0aDogc3RyaW5nOyB0ZXh0QWxpZ246IHN0cmluZ30+YFxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0fTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiAke3Byb3BzID0+IHByb3BzLndpZHRoID8/ICcxMDAlJ307XG4gIHRleHQtYWxpZ246ICR7cHJvcHMgPT4gcHJvcHMudGV4dEFsaWduID8/ICdlbmQnfTtcblxuICA6aG92ZXIge1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5gO1xuXG50eXBlIFNvcnRhYmxlSXRlbVByb3BzID0gU29ydGFibGVFbGVtZW50UHJvcHMgJiB7XG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIGlzU29ydGluZzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFNvcnRhYmxlSXRlbSA9IFNvcnRhYmxlRWxlbWVudDxTb3J0YWJsZUl0ZW1Qcm9wcz4oKHtjaGlsZHJlbiwgaXNTb3J0aW5nfSkgPT4gKFxuICA8Q29sb3JQYWxldHRlSXRlbSBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ2N1c3RvbS1wYWxldHRlX19zb3J0YWJsZS1pdGVtcycsIHtzb3J0aW5nOiBpc1NvcnRpbmd9KX0+XG4gICAge2NoaWxkcmVufVxuICA8L0NvbG9yUGFsZXR0ZUl0ZW0+XG4pKTtcblxudHlwZSBXcmFwcGVkU29ydGFibGVDb250YWluZXJQcm9wcyA9IFNvcnRhYmxlQ29udGFpbmVyUHJvcHMgJiB7XG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG59O1xuXG4vLyBUT0RPOiBTaG91bGQgY2xhc3NOYW1lIGJlIGFwcGxpZWQgdG8gdGhlIGRpdiBoZXJlP1xuY29uc3QgV3JhcHBlZFNvcnRhYmxlQ29udGFpbmVyID0gU29ydGFibGVDb250YWluZXI8V3JhcHBlZFNvcnRhYmxlQ29udGFpbmVyUHJvcHM+KFxuICAoe2NoaWxkcmVuLCBjbGFzc05hbWV9KSA9PiA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lfT57Y2hpbGRyZW59PC9kaXY+XG4pO1xuXG50eXBlIERyYWdIYW5kbGVQcm9wcyA9IFByb3BzV2l0aENoaWxkcmVuPHtjbGFzc05hbWU/OiBzdHJpbmc7IGxpc3RlbmVycz86IHVua25vd259PjtcblxuZXhwb3J0IGNvbnN0IERyYWdIYW5kbGUgPSBTb3J0YWJsZUhhbmRsZTxEcmFnSGFuZGxlUHJvcHM+KCh7Y2xhc3NOYW1lLCBjaGlsZHJlbn0pID0+IChcbiAgPFN0eWxlZERyYWdIYW5kbGUgY2xhc3NOYW1lPXtjbGFzc05hbWV9PntjaGlsZHJlbn08L1N0eWxlZERyYWdIYW5kbGU+XG4pKTtcblxuZXhwb3J0IGNvbnN0IENvbG9yUGFsZXR0ZUlucHV0ID0gKHt2YWx1ZSwgb25DaGFuZ2UsIGlkLCB3aWR0aCwgdGV4dEFsaWduLCBlZGl0YWJsZX0pID0+IHtcbiAgY29uc3QgW3N0YXRlVmFsdWUsIHNldFZhbHVlXSA9IHVzZVN0YXRlKHZhbHVlKTtcbiAgY29uc3QgaW5wdXRSZWYgPSB1c2VSZWYobnVsbCk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0VmFsdWUodmFsdWUpO1xuICB9LCBbdmFsdWVdKTtcblxuICBjb25zdCBvbktleURvd24gPSB1c2VDYWxsYmFjayhcbiAgICBlID0+IHtcbiAgICAgIHN3aXRjaCAoZS5rZXlDb2RlKSB7XG4gICAgICAgIGNhc2UgS2V5RXZlbnQuRE9NX1ZLX0VOVEVSOlxuICAgICAgICBjYXNlIEtleUV2ZW50LkRPTV9WS19SRVRVUk46XG4gICAgICAgICAgb25DaGFuZ2Uoc3RhdGVWYWx1ZSk7XG4gICAgICAgICAgaWYgKGlucHV0UmVmICE9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICBpbnB1dFJlZj8uY3VycmVudC5ibHVyKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0sXG4gICAgW29uQ2hhbmdlLCBzdGF0ZVZhbHVlXVxuICApO1xuXG4gIGNvbnN0IF9vbkNoYW5nZSA9IHVzZUNhbGxiYWNrKGUgPT4gc2V0VmFsdWUoZS50YXJnZXQudmFsdWUpLCBbc2V0VmFsdWVdKTtcbiAgY29uc3Qgb25CbHVyID0gdXNlQ2FsbGJhY2soKCkgPT4gb25DaGFuZ2Uoc3RhdGVWYWx1ZSksIFtvbkNoYW5nZSwgc3RhdGVWYWx1ZV0pO1xuXG4gIHJldHVybiBlZGl0YWJsZSA/IChcbiAgICA8U3R5bGVkSW5wdXRcbiAgICAgIHJlZj17aW5wdXRSZWZ9XG4gICAgICBjbGFzc05hbWU9XCJjdXN0b20tcGFsZXR0ZS1oZXhfX2lucHV0XCJcbiAgICAgIHZhbHVlPXtzdGF0ZVZhbHVlfVxuICAgICAgb25DaGFuZ2U9e19vbkNoYW5nZX1cbiAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgb25LZXlEb3duPXtvbktleURvd259XG4gICAgICBpZD17aWR9XG4gICAgICB3aWR0aD17d2lkdGh9XG4gICAgICB0ZXh0QWxpZ249e3RleHRBbGlnbn1cbiAgICAgIHNlY29uZGFyeVxuICAgIC8+XG4gICkgOiAoXG4gICAgPElucHV0VGV4dCBjbGFzc05hbWU9XCJjdXN0b20tcGFsZXR0ZS1oZXhfX2lucHV0X190ZXh0XCIgd2lkdGg9e3dpZHRofSB0ZXh0QWxpZ249e3RleHRBbGlnbn0+XG4gICAgICB7dmFsdWV9XG4gICAgPC9JbnB1dFRleHQ+XG4gICk7XG59O1xuXG5jb25zdCBEYXNoID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDZweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgbWFyZ2luLXJpZ2h0OiA0cHg7XG5gO1xuXG5jb25zdCBTdHlsZWRSYW5nZUlucHV0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG5gO1xuXG5jb25zdCBTdHlsZWRDb2xvckhleElucHV0ID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG5gO1xuXG5leHBvcnQgY29uc3QgRWRpdGFibGVDb2xvclJhbmdlOiBSZWFjdC5GQzxFZGl0YWJsZUNvbG9yUmFuZ2VQcm9wcz4gPSAoe1xuICBpdGVtLFxuICBpc0xhc3QsXG4gIGluZGV4LFxuICBlZGl0Q29sb3JNYXAsXG4gIGVkaXRhYmxlXG59KSA9PiB7XG4gIGNvbnN0IG5vTWluQm91bmQgPSAhTnVtYmVyLmlzRmluaXRlKGl0ZW0uaW5wdXRzWzBdKSAmJiBpbmRleCA9PT0gMDtcbiAgY29uc3Qgbm9NYXhCb3VuZCA9ICFOdW1iZXIuaXNGaW5pdGUoaXRlbS5pbnB1dHNbMV0pICYmIGlzTGFzdDtcbiAgY29uc3Qgb25DaGFuZ2VMZWZ0ID0gdXNlQ2FsbGJhY2soXG4gICAgdmFsID0+IHtcbiAgICAgIGlmIChlZGl0YWJsZSAmJiBlZGl0Q29sb3JNYXApIGVkaXRDb2xvck1hcChwYXJzZUZsb2F0KHZhbCksIGluZGV4IC0gMSk7XG4gICAgICByZXR1cm47XG4gICAgfSxcbiAgICBbZWRpdENvbG9yTWFwLCBpbmRleCwgZWRpdGFibGVdXG4gICk7XG4gIGNvbnN0IG9uQ2hhbmdlUmlnaHQgPSB1c2VDYWxsYmFjayhcbiAgICB2YWwgPT4ge1xuICAgICAgaWYgKGVkaXRhYmxlICYmIGVkaXRDb2xvck1hcCkgZWRpdENvbG9yTWFwKHBhcnNlRmxvYXQodmFsKSwgaW5kZXgpO1xuICAgICAgcmV0dXJuO1xuICAgIH0sXG4gICAgW2VkaXRDb2xvck1hcCwgaW5kZXgsIGVkaXRhYmxlXVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZFJhbmdlSW5wdXQ+XG4gICAgICA8Q29sb3JQYWxldHRlSW5wdXRcbiAgICAgICAgdmFsdWU9e25vTWluQm91bmQgPyAnTGVzcycgOiBpdGVtLmlucHV0c1swXX1cbiAgICAgICAgaWQ9e2Bjb2xvci1wYWxldHRlLWlucHV0LSR7aW5kZXh9LWxlZnRgfVxuICAgICAgICB3aWR0aD1cIjUwcHhcIlxuICAgICAgICB0ZXh0QWxpZ249XCJlbmRcIlxuICAgICAgICBlZGl0YWJsZT17bm9NaW5Cb3VuZCA/IGZhbHNlIDogZWRpdGFibGV9XG4gICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZUxlZnR9XG4gICAgICAvPlxuICAgICAgPERhc2ggLz5cbiAgICAgIDxDb2xvclBhbGV0dGVJbnB1dFxuICAgICAgICB2YWx1ZT17bm9NYXhCb3VuZCA/ICdNb3JlJyA6IGl0ZW0uaW5wdXRzWzFdfVxuICAgICAgICBpZD17YGNvbG9yLXBhbGV0dGUtaW5wdXQtJHtpbmRleH0tcmlnaHRgfVxuICAgICAgICB3aWR0aD1cIjUwcHhcIlxuICAgICAgICB0ZXh0QWxpZ249XCJlbmRcIlxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2VSaWdodH1cbiAgICAgICAgZWRpdGFibGU9e25vTWF4Qm91bmQgPyBmYWxzZSA6IGVkaXRhYmxlfVxuICAgICAgLz5cbiAgICA8L1N0eWxlZFJhbmdlSW5wdXQ+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgQWRkQ29sb3JTdG9wID0gKHtvbkNvbG9yQWRkLCBJY29uQ29tcG9uZW50fSkgPT4gKFxuICA8U3R5bGVkQWN0aW9uIG9uQ2xpY2s9e29uQ29sb3JBZGR9IGNsYXNzTmFtZT1cImFkZGNvbG9yXCI+XG4gICAgPEljb25Db21wb25lbnQgaGVpZ2h0PVwiMTRweFwiIC8+XG4gIDwvU3R5bGVkQWN0aW9uPlxuKTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUNvbG9yU3RvcCA9ICh7b25Db2xvckRlbGV0ZSwgSWNvbkNvbXBvbmVudH0pID0+IChcbiAgPFN0eWxlZEFjdGlvbiBvbkNsaWNrPXtvbkNvbG9yRGVsZXRlfSBjbGFzc05hbWU9XCJ0cmFzaGJpblwiPlxuICAgIDxJY29uQ29tcG9uZW50IGhlaWdodD1cIjE0cHhcIiAvPlxuICA8L1N0eWxlZEFjdGlvbj5cbik7XG5cbmV4cG9ydCBjb25zdCBDdXN0b21QYWxldHRlSW5wdXQ6IFJlYWN0LkZDPEN1c3RvbVBhbGV0dGVJbnB1dFByb3BzPiA9ICh7XG4gIGluZGV4LFxuICBpc1NvcnRpbmcsXG4gIGNvbG9yLFxuICBjb2xvckJyZWFrcyxcbiAgaW5wdXRDb2xvckhleCxcbiAgZWRpdENvbG9yTWFwVmFsdWUsXG4gIGFjdGlvbkljb25zID0gZGVmYXVsdEFjdGlvbkljb25zLFxuICBkaXNhYmxlQXBwZW5kLFxuICBkaXNhYmxlRGVsZXRlLFxuICBvbkRlbGV0ZSxcbiAgb25BZGQsXG4gIG9uVG9nZ2xlU2tldGNoZXJcbn0pID0+IHtcbiAgY29uc3Qgb25DbGlja1N3dGFjaCA9IHVzZUNhbGxiYWNrKCgpID0+IG9uVG9nZ2xlU2tldGNoZXIoaW5kZXgpLCBbb25Ub2dnbGVTa2V0Y2hlciwgaW5kZXhdKTtcbiAgY29uc3Qgb25Db2xvcklucHV0ID0gdXNlQ2FsbGJhY2sodiA9PiBpbnB1dENvbG9ySGV4KGluZGV4LCB2KSwgW2lucHV0Q29sb3JIZXgsIGluZGV4XSk7XG4gIGNvbnN0IG9uQ29sb3JEZWxldGUgPSB1c2VDYWxsYmFjaygoKSA9PiBvbkRlbGV0ZShpbmRleCksIFtvbkRlbGV0ZSwgaW5kZXhdKTtcbiAgY29uc3Qgb25Db2xvckFkZCA9IHVzZUNhbGxiYWNrKCgpID0+IG9uQWRkKGluZGV4KSwgW29uQWRkLCBpbmRleF0pO1xuICBjb25zdCBzaG93SGV4SW5wdXQgPSAhY29sb3JCcmVha3M7XG5cbiAgcmV0dXJuIChcbiAgICA8U29ydGFibGVJdGVtIGluZGV4PXtpbmRleH0gaXNTb3J0aW5nPXtpc1NvcnRpbmd9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJjdXN0b20tcGFsZXR0ZS1pbnB1dF9fbGVmdFwiPlxuICAgICAgICA8RHJhZ0hhbmRsZSBjbGFzc05hbWU9XCJsYXllcl9fZHJhZy1oYW5kbGVcIj5cbiAgICAgICAgICA8YWN0aW9uSWNvbnMuc29ydCBoZWlnaHQ9XCIyMHB4XCIgLz5cbiAgICAgICAgPC9EcmFnSGFuZGxlPlxuICAgICAgICA8Q29sb3JTd2F0Y2ggY29sb3I9e2NvbG9yfSBvbkNsaWNrPXtvbkNsaWNrU3d0YWNofSAvPlxuICAgICAgICB7c2hvd0hleElucHV0ID8gKFxuICAgICAgICAgIDxTdHlsZWRDb2xvckhleElucHV0PlxuICAgICAgICAgICAgPENvbG9yUGFsZXR0ZUlucHV0XG4gICAgICAgICAgICAgIHZhbHVlPXtjb2xvci50b1VwcGVyQ2FzZSgpfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17b25Db2xvcklucHV0fVxuICAgICAgICAgICAgICBpZD17YGlucHV0LWxheWVyLWxhYmVsLSR7aW5kZXh9YH1cbiAgICAgICAgICAgICAgZWRpdGFibGVcbiAgICAgICAgICAgICAgdGV4dEFsaWduPVwibGVmdFwiXG4gICAgICAgICAgICAgIHdpZHRoPVwiNzBweFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvU3R5bGVkQ29sb3JIZXhJbnB1dD5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIHtpc051bWVyaWNDb2xvckJyZWFrcyhjb2xvckJyZWFrcykgPyAoXG4gICAgICAgICAgPEVkaXRhYmxlQ29sb3JSYW5nZVxuICAgICAgICAgICAgaXRlbT17Y29sb3JCcmVha3NbaW5kZXhdfVxuICAgICAgICAgICAgaXNMYXN0PXtpbmRleCA9PT0gY29sb3JCcmVha3MubGVuZ3RoIC0gMX1cbiAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgIGVkaXRDb2xvck1hcD17ZWRpdENvbG9yTWFwVmFsdWV9XG4gICAgICAgICAgICBlZGl0YWJsZVxuICAgICAgICAgIC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImN1c3RvbS1wYWxldHRlLWlucHV0X19yaWdodFwiPlxuICAgICAgICB7IWRpc2FibGVBcHBlbmQgPyAoXG4gICAgICAgICAgPEFkZENvbG9yU3RvcCBvbkNvbG9yQWRkPXtvbkNvbG9yQWRkfSBJY29uQ29tcG9uZW50PXthY3Rpb25JY29ucy5hZGR9IC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgICB7IWRpc2FibGVEZWxldGUgPyAoXG4gICAgICAgICAgPERlbGV0ZUNvbG9yU3RvcCBvbkNvbG9yRGVsZXRlPXtvbkNvbG9yRGVsZXRlfSBJY29uQ29tcG9uZW50PXthY3Rpb25JY29ucy5kZWxldGV9IC8+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgPC9kaXY+XG4gICAgPC9Tb3J0YWJsZUl0ZW0+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgQm90dG9tQWN0aW9uID0gKHtvbkNhbmNlbCwgb25Db25maXJtfSkgPT4gKFxuICA8U3R5bGVkQnV0dG9uQ29udGFpbmVyPlxuICAgIDxCdXR0b24gY2xhc3NOYW1lPVwiY29uZmlybS1hcHBseV9fYnV0dG9uXCIgc21hbGwgb25DbGljaz17b25Db25maXJtfT5cbiAgICAgIENvbmZpcm1cbiAgICA8L0J1dHRvbj5cbiAgICA8QnV0dG9uIGxpbmsgc21hbGwgb25DbGljaz17b25DYW5jZWx9PlxuICAgICAgQ2FuY2VsXG4gICAgPC9CdXR0b24+XG4gIDwvU3R5bGVkQnV0dG9uQ29udGFpbmVyPlxuKTtcblxuY29uc3QgU3R5bGVkQ3VzdG9tUGFsZXR0ZSA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdjdXN0b20tcGFsZXR0ZSdcbn0pYFxuICBtYXJnaW4tdG9wOiA4cHg7XG5gO1xuXG5mdW5jdGlvbiBDdXN0b21QYWxldHRlRmFjdG9yeSgpOiBSZWFjdC5GQzxDdXN0b21QYWxldHRlUHJvcHM+IHtcbiAgY29uc3QgQ3VzdG9tUGFsZXR0ZTogUmVhY3QuRkM8Q3VzdG9tUGFsZXR0ZVByb3BzPiA9ICh7XG4gICAgY3VzdG9tUGFsZXR0ZSxcbiAgICBzZXRDb2xvclBhbGV0dGVVSSxcbiAgICBzaG93U2tldGNoZXIsXG4gICAgYWN0aW9uSWNvbnMgPSBkZWZhdWx0QWN0aW9uSWNvbnMsXG4gICAgb25DYW5jZWwsXG4gICAgb25BcHBseVxuICB9KSA9PiB7XG4gICAgY29uc3QgW2lzU29ydGluZywgc2V0SXNTb3J0aW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCB7Y29sb3JzLCBjb2xvck1hcH0gPSBjdXN0b21QYWxldHRlO1xuICAgIGNvbnN0IGNvbG9yQnJlYWtzID0gdXNlTWVtbyhcbiAgICAgICgpID0+IChjb2xvck1hcCA/IGNvbG9yTWFwVG9Db2xvckJyZWFrcyhjb2xvck1hcCkgOiBudWxsKSxcbiAgICAgIFtjb2xvck1hcF1cbiAgICApO1xuXG4gICAgY29uc3Qgb25QaWNrZXJVcGRhdGUgPSB1c2VDYWxsYmFjayhcbiAgICAgIGNvbG9yID0+IHtcbiAgICAgICAgaWYgKGNvbG9yICYmIE51bWJlci5pc0Zpbml0ZShzaG93U2tldGNoZXIpKSB7XG4gICAgICAgICAgY29uc3QgbmV3Q3VzdG9tUGFsZXR0ZSA9IHVwZGF0ZUN1c3RvbVBhbGV0dGVDb2xvcihcbiAgICAgICAgICAgIGN1c3RvbVBhbGV0dGUsXG4gICAgICAgICAgICBOdW1iZXIoc2hvd1NrZXRjaGVyKSxcbiAgICAgICAgICAgIGNvbG9yLmhleFxuICAgICAgICAgICk7XG4gICAgICAgICAgc2V0Q29sb3JQYWxldHRlVUkoe1xuICAgICAgICAgICAgY3VzdG9tUGFsZXR0ZTogbmV3Q3VzdG9tUGFsZXR0ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgW2N1c3RvbVBhbGV0dGUsIHNob3dTa2V0Y2hlciwgc2V0Q29sb3JQYWxldHRlVUldXG4gICAgKTtcbiAgICBjb25zdCBvblRvZ2dsZVNrZXRjaGVyID0gdXNlQ2FsbGJhY2soXG4gICAgICB2YWwgPT4ge1xuICAgICAgICBzZXRDb2xvclBhbGV0dGVVSSh7XG4gICAgICAgICAgc2hvd1NrZXRjaGVyOiB2YWxcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgW3NldENvbG9yUGFsZXR0ZVVJXVxuICAgICk7XG4gICAgY29uc3Qgb25EZWxldGUgPSB1c2VDYWxsYmFjayhcbiAgICAgIGluZGV4ID0+IHtcbiAgICAgICAgY29uc3QgbmV3Q3VzdG9tUGFsZXR0ZSA9IHJlbW92ZUN1c3RvbVBhbGV0dGVDb2xvcihjdXN0b21QYWxldHRlLCBpbmRleCk7XG4gICAgICAgIHNldENvbG9yUGFsZXR0ZVVJKHtcbiAgICAgICAgICBjdXN0b21QYWxldHRlOiBuZXdDdXN0b21QYWxldHRlXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIFtjdXN0b21QYWxldHRlLCBzZXRDb2xvclBhbGV0dGVVSV1cbiAgICApO1xuXG4gICAgY29uc3Qgb25BZGQgPSB1c2VDYWxsYmFjayhcbiAgICAgIGluZGV4ID0+IHtcbiAgICAgICAgLy8gYWRkIGNvbG9yIGF0IHRoZSBlbmRcbiAgICAgICAgY29uc3QgbmV3Q3VzdG9tUGFsZXR0ZSA9IGFkZEN1c3RvbVBhbGV0dGVDb2xvcihjdXN0b21QYWxldHRlLCBpbmRleCk7XG4gICAgICAgIHNldENvbG9yUGFsZXR0ZVVJKHtcbiAgICAgICAgICBjdXN0b21QYWxldHRlOiBuZXdDdXN0b21QYWxldHRlXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIFtjdXN0b21QYWxldHRlLCBzZXRDb2xvclBhbGV0dGVVSV1cbiAgICApO1xuXG4gICAgY29uc3Qgb25Td2F0Y2hDbG9zZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIG9uVG9nZ2xlU2tldGNoZXIoZmFsc2UpO1xuICAgIH0sIFtvblRvZ2dsZVNrZXRjaGVyXSk7XG5cbiAgICBjb25zdCBvbkNvbmZpcm0gPSB1c2VDYWxsYmFjayhcbiAgICAgIGV2ZW50ID0+IHtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIG9uQ2FuY2VsKCk7XG4gICAgICAgIG9uQXBwbHkoZXZlbnQpO1xuICAgICAgfSxcbiAgICAgIFtvbkNhbmNlbCwgb25BcHBseV1cbiAgICApO1xuXG4gICAgY29uc3Qgb25Tb3J0RW5kID0gdXNlQ2FsbGJhY2soXG4gICAgICAoe29sZEluZGV4LCBuZXdJbmRleH0pID0+IHtcbiAgICAgICAgY29uc3QgbmV3Q3VzdG9tUGFsZXR0ZSA9IHNvcnRDdXN0b21QYWxldHRlQ29sb3IoY3VzdG9tUGFsZXR0ZSwgb2xkSW5kZXgsIG5ld0luZGV4KTtcbiAgICAgICAgc2V0Q29sb3JQYWxldHRlVUkoe1xuICAgICAgICAgIGN1c3RvbVBhbGV0dGU6IG5ld0N1c3RvbVBhbGV0dGVcbiAgICAgICAgfSk7XG4gICAgICAgIHNldElzU29ydGluZyhmYWxzZSk7XG4gICAgICB9LFxuICAgICAgW2N1c3RvbVBhbGV0dGUsIHNldENvbG9yUGFsZXR0ZVVJLCBzZXRJc1NvcnRpbmddXG4gICAgKTtcblxuICAgIGNvbnN0IG9uU29ydFN0YXJ0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgc2V0SXNTb3J0aW5nKHRydWUpO1xuICAgIH0sIFtzZXRJc1NvcnRpbmddKTtcblxuICAgIGNvbnN0IGlucHV0Q29sb3JIZXggPSB1c2VDYWxsYmFjayhcbiAgICAgIChpbmRleCwgdmFsdWUpID0+IHtcbiAgICAgICAgY29uc3QgbmV3Q3VzdG9tUGFsZXR0ZSA9IHVwZGF0ZUN1c3RvbVBhbGV0dGVDb2xvcihjdXN0b21QYWxldHRlLCBpbmRleCwgdmFsdWUpO1xuICAgICAgICAvLyBzZXRDb2xvcnMobmV3Q29sb3JzKTtcbiAgICAgICAgc2V0Q29sb3JQYWxldHRlVUkoe1xuICAgICAgICAgIGN1c3RvbVBhbGV0dGU6IG5ld0N1c3RvbVBhbGV0dGVcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgW2N1c3RvbVBhbGV0dGUsIHNldENvbG9yUGFsZXR0ZVVJXVxuICAgICk7XG5cbiAgICBjb25zdCBlZGl0Q29sb3JNYXBWYWx1ZSA9IHVzZUNhbGxiYWNrKFxuICAgICAgKHZhbHVlLCBpbmRleCkgPT4ge1xuICAgICAgICBpZiAoIWN1c3RvbVBhbGV0dGUuY29sb3JNYXApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV3Q29sb3JNYXAgPSBjdXN0b21QYWxldHRlLmNvbG9yTWFwLm1hcChcbiAgICAgICAgICAoY20sIGkpID0+IChpID09PSBpbmRleCA/IFt2YWx1ZSwgY21bMV1dIDogY20pIGFzIFtzdHJpbmcsIHN0cmluZ11cbiAgICAgICAgKTtcblxuICAgICAgICAvLyBzb3J0IHRoZSB1c2VyIGlucHV0cyBpbiBjYXNlIHRoZSBicmVhayB2YWx1ZXMgYXJlIG5vdCBvcmRlcmVkXG4gICAgICAgIGNvbnN0IGJyZWFrcyA9IG5ld0NvbG9yTWFwXG4gICAgICAgICAgLm1hcChjbSA9PiBjbVswXSBhcyBzdHJpbmcgfCBudWxsKVxuICAgICAgICAgIC5zbGljZSgwLCAtMSlcbiAgICAgICAgICAuc29ydCgoYSwgYikgPT4gTnVtYmVyKGEpIC0gTnVtYmVyKGIpKVxuICAgICAgICAgIC5jb25jYXQobnVsbCk7XG4gICAgICAgIGNvbnN0IHNvcnRlZE5ld0NvbG9yTWFwOiBDb2xvck1hcCA9IG5ld0NvbG9yTWFwLm1hcCgoY20sIGkpID0+IFticmVha3NbaV0sIGNtWzFdXSk7XG5cbiAgICAgICAgc2V0Q29sb3JQYWxldHRlVUkoe1xuICAgICAgICAgIGN1c3RvbVBhbGV0dGU6IHtcbiAgICAgICAgICAgIC4uLmN1c3RvbVBhbGV0dGUsXG4gICAgICAgICAgICBjb2xvck1hcDogc29ydGVkTmV3Q29sb3JNYXBcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIFtzZXRDb2xvclBhbGV0dGVVSSwgY3VzdG9tUGFsZXR0ZV1cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRDdXN0b21QYWxldHRlPlxuICAgICAgICA8V3JhcHBlZFNvcnRhYmxlQ29udGFpbmVyXG4gICAgICAgICAgY2xhc3NOYW1lPVwiY3VzdG9tLXBhbGV0dGVfX3NvcnRhYmxlLWNvbnRhaW5lclwiXG4gICAgICAgICAgb25Tb3J0RW5kPXtvblNvcnRFbmR9XG4gICAgICAgICAgb25Tb3J0U3RhcnQ9e29uU29ydFN0YXJ0fVxuICAgICAgICAgIGxvY2tBeGlzPVwieVwiXG4gICAgICAgICAgaGVscGVyQ2xhc3M9XCJzb3J0aW5nLWNvbG9yc1wiXG4gICAgICAgICAgdXNlRHJhZ0hhbmRsZVxuICAgICAgICA+XG4gICAgICAgICAge2NvbG9ycy5tYXAoKGNvbG9yLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgPEN1c3RvbVBhbGV0dGVJbnB1dFxuICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICBjb2xvckJyZWFrcz17Y29sb3JCcmVha3N9XG4gICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgaXNTb3J0aW5nPXtpc1NvcnRpbmd9XG4gICAgICAgICAgICAgIGNvbG9yPXtjb2xvcn1cbiAgICAgICAgICAgICAgaW5wdXRDb2xvckhleD17aW5wdXRDb2xvckhleH1cbiAgICAgICAgICAgICAgZGlzYWJsZUFwcGVuZD17Y29sb3JzLmxlbmd0aCA+PSAyMH1cbiAgICAgICAgICAgICAgZGlzYWJsZURlbGV0ZT17Y29sb3JzLmxlbmd0aCA8PSAyfVxuICAgICAgICAgICAgICBhY3Rpb25JY29ucz17YWN0aW9uSWNvbnN9XG4gICAgICAgICAgICAgIG9uQWRkPXtvbkFkZH1cbiAgICAgICAgICAgICAgb25EZWxldGU9e29uRGVsZXRlfVxuICAgICAgICAgICAgICBvblRvZ2dsZVNrZXRjaGVyPXtvblRvZ2dsZVNrZXRjaGVyfVxuICAgICAgICAgICAgICBlZGl0Q29sb3JNYXBWYWx1ZT17ZWRpdENvbG9yTWFwVmFsdWV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L1dyYXBwZWRTb3J0YWJsZUNvbnRhaW5lcj5cbiAgICAgICAgPERpdmlkZXJMaW5lIC8+XG4gICAgICAgIHsvKiBDYW5jZWwgb3IgQ29uZmlybSBCdXR0b25zICovfVxuICAgICAgICA8Qm90dG9tQWN0aW9uIG9uQ2FuY2VsPXtvbkNhbmNlbH0gb25Db25maXJtPXtvbkNvbmZpcm19IC8+XG4gICAgICAgIDxQb3J0YWxlZCBpc09wZW5lZD17c2hvd1NrZXRjaGVyICE9PSBmYWxzZX0gbGVmdD17MjgwfSB0b3A9ey0zMDB9IG9uQ2xvc2U9e29uU3dhdGNoQ2xvc2V9PlxuICAgICAgICAgIDxDdXN0b21QaWNrZXIgY29sb3I9e2NvbG9yc1tOdW1iZXIoc2hvd1NrZXRjaGVyKV19IG9uQ2hhbmdlPXtvblBpY2tlclVwZGF0ZX0gLz5cbiAgICAgICAgPC9Qb3J0YWxlZD5cbiAgICAgIDwvU3R5bGVkQ3VzdG9tUGFsZXR0ZT5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiBDdXN0b21QYWxldHRlO1xufVxuXG5leHBvcnQgZGVmYXVsdCBDdXN0b21QYWxldHRlRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxXQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFDLHVCQUFBLENBQUFGLE9BQUE7QUFTQSxJQUFBRyxpQkFBQSxHQUFBSCxPQUFBO0FBT0EsSUFBQUksaUJBQUEsR0FBQUYsdUJBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLFNBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFNLFVBQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLE1BQUEsR0FBQVAsT0FBQTtBQVFBLElBQUFRLE1BQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLGtCQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxhQUFBLEdBQUFYLHNCQUFBLENBQUFDLE9BQUE7QUFBMkMsSUFBQVcsZUFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxnQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQW5DM0M7QUFDQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxD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RUFBQyxHQUFHO01BQ1pDLFdBQVcsRUFBQyxnQkFBZ0I7TUFDNUJDLGFBQWE7SUFBQSxHQUVaN0IsTUFBTSxDQUFDcUIsR0FBRyxDQUFDLFVBQUM5SSxLQUFLLEVBQUUrRCxLQUFLO01BQUEsb0JBQ3ZCcEosTUFBQSxZQUFBd0csYUFBQSxDQUFDaUUsa0JBQWtCO1FBQ2pCbUUsR0FBRyxFQUFFeEYsS0FBTTtRQUNYdUIsV0FBVyxFQUFFQSxXQUFZO1FBQ3pCdkIsS0FBSyxFQUFFQSxLQUFNO1FBQ2I3QyxTQUFTLEVBQUVBLFNBQVU7UUFDckJsQixLQUFLLEVBQUVBLEtBQU07UUFDYnVGLGFBQWEsRUFBRUEsYUFBYztRQUM3QkksYUFBYSxFQUFFOEIsTUFBTSxDQUFDekosTUFBTSxJQUFJLEVBQUc7UUFDbkM0SCxhQUFhLEVBQUU2QixNQUFNLENBQUN6SixNQUFNLElBQUksQ0FBRTtRQUNsQzBILFdBQVcsRUFBRUEsV0FBWTtRQUN6QkksS0FBSyxFQUFFQSxLQUFNO1FBQ2JELFFBQVEsRUFBRUEsUUFBUztRQUNuQkUsZ0JBQWdCLEVBQUVBLGdCQUFpQjtRQUNuQ1AsaUJBQWlCLEVBQUVBO01BQWtCLENBQ3RDLENBQUM7SUFBQSxDQUNILENBQ3VCLENBQUMsZUFDM0I3SyxNQUFBLFlBQUF3RyxhQUFBLENBQUN4QixXQUFXLE1BQUUsQ0FBQyxlQUVmaEYsTUFBQSxZQUFBd0csYUFBQSxDQUFDbUYsWUFBWTtNQUFDRSxRQUFRLEVBQUVBLFFBQVM7TUFBQ0MsU0FBUyxFQUFFQTtJQUFVLENBQUUsQ0FBQyxlQUMxRDlMLE1BQUEsWUFBQXdHLGFBQUEsQ0FBQ3BHLFNBQUEsV0FBUTtNQUFDeU8sUUFBUSxFQUFFckMsWUFBWSxLQUFLLEtBQU07TUFBQ3NDLElBQUksRUFBRSxHQUFJO01BQUNDLEdBQUcsRUFBRSxDQUFDLEdBQUk7TUFBQ0MsT0FBTyxFQUFFeEI7SUFBYyxnQkFDdkZ4TixNQUFBLFlBQUF3RyxhQUFBLENBQUMvRixhQUFBLFdBQVk7TUFBQzRFLEtBQUssRUFBRXlILE1BQU0sQ0FBQ3ZELE1BQU0sQ0FBQ2lELFlBQVksQ0FBQyxDQUFFO01BQUNwRixRQUFRLEVBQUU4RjtJQUFlLENBQUUsQ0FDdEUsQ0FDUyxDQUFDO0VBRTFCLENBQUM7RUFFRCxPQUFPZCxhQUFhO0FBQ3RCO0FBQUMsSUFBQTZDLFFBQUEsR0FBQTFLLE9BQUEsY0FFYzRILG9CQUFvQiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ declare const _default: React.ForwardRefExoticComponent<{
3
+ color: string;
4
+ onChange: ColorChangeHandler;
5
+ } & {
6
+ theme?: any;
7
+ }>;
8
+ export default _default;
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
12
+ var _reactColor = require("react-color");
13
+ var _templateObject; // SPDX-License-Identifier: MIT
14
+ // Copyright contributors to the kepler.gl project
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
17
+ // This was put in because 3rd party library react-color doesn't yet cater for customized color of child component <SketchField> which contains HEX/RGB input text box
18
+ // Issue raised: https://github.com/casesandberg/react-color/issues/631
19
+
20
+ var StyledPicker = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n .sketch-picker {\n span {\n color: ", " !important;\n font-family: ", ";\n }\n input {\n text-align: center;\n font-family: ", ";\n color: ", " !important;\n border-color: ", " !important;\n box-shadow: none !important;\n background-color: ", " !important;\n\n :hover {\n cursor: ", ";\n background-color: ", ";\n border-color: ", ";\n }\n\n :active,\n :focus,\n &.focus,\n &.active {\n outline: 0;\n background-color: ", ";\n border-color: ", ";\n box-shadow: ", ";\n }\n }\n label {\n color: ", " !important;\n }\n }\n"])), function (props) {
21
+ return props.theme.labelColor;
22
+ }, function (props) {
23
+ return props.theme.fontFamily;
24
+ }, function (props) {
25
+ return props.theme.fontFamily;
26
+ }, function (props) {
27
+ return props.theme.inputColor;
28
+ }, function (props) {
29
+ return props.theme.secondaryInputBgd;
30
+ }, function (props) {
31
+ return props.theme.inputBgdHover;
32
+ }, function (props) {
33
+ return props.type === 'number' || props.type === 'text' ? 'text' : 'pointer';
34
+ }, function (props) {
35
+ return props.active ? props.theme.inputBgdActive : props.theme.inputBgdHover;
36
+ }, function (props) {
37
+ return props.active ? props.theme.inputBorderActiveColor : props.theme.inputBorderHoverColor;
38
+ }, function (props) {
39
+ return props.theme.inputBgdActive;
40
+ }, function (props) {
41
+ return props.theme.inputBorderActiveColor;
42
+ }, function (props) {
43
+ return props.theme.inputBoxShadowActive;
44
+ }, function (props) {
45
+ return props.theme.subtextColor;
46
+ });
47
+ var PRESET_COLORS = [];
48
+ var CustomPicker = function CustomPicker(_ref) {
49
+ var color = _ref.color,
50
+ onChange = _ref.onChange,
51
+ theme = _ref.theme;
52
+ var pickerStyle = (0, _react.useMemo)(function () {
53
+ return {
54
+ picker: {
55
+ width: '200px',
56
+ padding: '10px 10px 8px',
57
+ boxSizing: 'initial',
58
+ background: theme.panelBackground
59
+ }
60
+ };
61
+ }, [theme.panelBackground]);
62
+ return /*#__PURE__*/_react["default"].createElement(StyledPicker, null, /*#__PURE__*/_react["default"].createElement(_reactColor.SketchPicker, {
63
+ color: color,
64
+ onChange: onChange,
65
+ presetColors: PRESET_COLORS,
66
+ styles: pickerStyle,
67
+ disableAlpha: true
68
+ }));
69
+ };
70
+ var _default = exports["default"] = (0, _styledComponents.withTheme)(CustomPicker);
71
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9yZWFjdENvbG9yIiwiX3RlbXBsYXRlT2JqZWN0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiU3R5bGVkUGlja2VyIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsInRoZW1lIiwibGFiZWxDb2xvciIsImZvbnRGYW1pbHkiLCJpbnB1dENvbG9yIiwic2Vjb25kYXJ5SW5wdXRCZ2QiLCJpbnB1dEJnZEhvdmVyIiwidHlwZSIsImFjdGl2ZSIsImlucHV0QmdkQWN0aXZlIiwiaW5wdXRCb3JkZXJBY3RpdmVDb2xvciIsImlucHV0Qm9yZGVySG92ZXJDb2xvciIsImlucHV0Qm94U2hhZG93QWN0aXZlIiwic3VidGV4dENvbG9yIiwiUFJFU0VUX0NPTE9SUyIsIkN1c3RvbVBpY2tlciIsIl9yZWYiLCJjb2xvciIsIm9uQ2hhbmdlIiwicGlja2VyU3R5bGUiLCJ1c2VNZW1vIiwicGlja2VyIiwid2lkdGgiLCJwYWRkaW5nIiwiYm94U2l6aW5nIiwiYmFja2dyb3VuZCIsInBhbmVsQmFja2dyb3VuZCIsImNyZWF0ZUVsZW1lbnQiLCJTa2V0Y2hQaWNrZXIiLCJwcmVzZXRDb2xvcnMiLCJzdHlsZXMiLCJkaXNhYmxlQWxwaGEiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJ3aXRoVGhlbWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2lkZS1wYW5lbC9sYXllci1wYW5lbC9jdXN0b20tcGlja2VyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VNZW1vfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkLCB7d2l0aFRoZW1lfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge1NrZXRjaFBpY2tlciwgQ29sb3JDaGFuZ2VIYW5kbGVyfSBmcm9tICdyZWFjdC1jb2xvcic7XG5cbmltcG9ydCB7SGV4Q29sb3J9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG4vLyBUaGlzIHdhcyBwdXQgaW4gYmVjYXVzZSAzcmQgcGFydHkgbGlicmFyeSByZWFjdC1jb2xvciBkb2Vzbid0IHlldCBjYXRlciBmb3IgY3VzdG9taXplZCBjb2xvciBvZiBjaGlsZCBjb21wb25lbnQgPFNrZXRjaEZpZWxkPiB3aGljaCBjb250YWlucyBIRVgvUkdCIGlucHV0IHRleHQgYm94XG4vLyBJc3N1ZSByYWlzZWQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9jYXNlc2FuZGJlcmcvcmVhY3QtY29sb3IvaXNzdWVzLzYzMVxuXG50eXBlIFN0eWxlZFBpY2tlclByb3BzID0ge1xuICB0eXBlPzogc3RyaW5nO1xuICBhY3RpdmU/OiBib29sZWFuO1xufTtcblxuY29uc3QgU3R5bGVkUGlja2VyID0gc3R5bGVkLmRpdjxTdHlsZWRQaWNrZXJQcm9wcz5gXG4gIC5za2V0Y2gtcGlja2VyIHtcbiAgICBzcGFuIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxhYmVsQ29sb3J9ICFpbXBvcnRhbnQ7XG4gICAgICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5fTtcbiAgICB9XG4gICAgaW5wdXQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1mYW1pbHk6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udEZhbWlseX07XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dENvbG9yfSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNlY29uZGFyeUlucHV0QmdkfSAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5pbnB1dEJnZEhvdmVyfSAhaW1wb3J0YW50O1xuXG4gICAgICA6aG92ZXIge1xuICAgICAgICBjdXJzb3I6ICR7cHJvcHMgPT4gKHByb3BzLnR5cGUgPT09ICdudW1iZXInIHx8IHByb3BzLnR5cGUgPT09ICd0ZXh0JyA/ICd0ZXh0JyA6ICdwb2ludGVyJyl9O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgICAgICAgcHJvcHMuYWN0aXZlID8gcHJvcHMudGhlbWUuaW5wdXRCZ2RBY3RpdmUgOiBwcm9wcy50aGVtZS5pbnB1dEJnZEhvdmVyfTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzID0+XG4gICAgICAgICAgcHJvcHMuYWN0aXZlID8gcHJvcHMudGhlbWUuaW5wdXRCb3JkZXJBY3RpdmVDb2xvciA6IHByb3BzLnRoZW1lLmlucHV0Qm9yZGVySG92ZXJDb2xvcn07XG4gICAgICB9XG5cbiAgICAgIDphY3RpdmUsXG4gICAgICA6Zm9jdXMsXG4gICAgICAmLmZvY3VzLFxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0QmdkQWN0aXZlfTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Qm9yZGVyQWN0aXZlQ29sb3J9O1xuICAgICAgICBib3gtc2hhZG93OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Qm94U2hhZG93QWN0aXZlfTtcbiAgICAgIH1cbiAgICB9XG4gICAgbGFiZWwge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgUFJFU0VUX0NPTE9SUyA9IFtdO1xuXG50eXBlIEN1c3RvbVBpY2tlclByb3BzID0ge1xuICBjb2xvcjogSGV4Q29sb3I7XG4gIHRoZW1lOiB7XG4gICAgcGFuZWxCYWNrZ3JvdW5kOiBzdHJpbmc7XG4gIH07XG4gIG9uQ2hhbmdlOiBDb2xvckNoYW5nZUhhbmRsZXI7XG59O1xuXG5jb25zdCBDdXN0b21QaWNrZXI6IFJlYWN0LkZDPEN1c3RvbVBpY2tlclByb3BzPiA9ICh7Y29sb3IsIG9uQ2hhbmdlLCB0aGVtZX06IEN1c3RvbVBpY2tlclByb3BzKSA9PiB7XG4gIGNvbnN0IHBpY2tlclN0eWxlID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgcGlja2VyOiB7XG4gICAgICAgIHdpZHRoOiAnMjAwcHgnLFxuICAgICAgICBwYWRkaW5nOiAnMTBweCAxMHB4IDhweCcsXG4gICAgICAgIGJveFNpemluZzogJ2luaXRpYWwnLFxuICAgICAgICBiYWNrZ3JvdW5kOiB0aGVtZS5wYW5lbEJhY2tncm91bmRcbiAgICAgIH1cbiAgICB9KSxcbiAgICBbdGhlbWUucGFuZWxCYWNrZ3JvdW5kXVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZFBpY2tlcj5cbiAgICAgIDxTa2V0Y2hQaWNrZXJcbiAgICAgICAgY29sb3I9e2NvbG9yfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIHByZXNldENvbG9ycz17UFJFU0VUX0NPTE9SU31cbiAgICAgICAgc3R5bGVzPXtwaWNrZXJTdHlsZX1cbiAgICAgICAgZGlzYWJsZUFscGhhXG4gICAgICAvPlxuICAgIDwvU3R5bGVkUGlja2VyPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFRoZW1lKEN1c3RvbVBpY2tlcik7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFGLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFBNkQsSUFBQUcsZUFBQSxFQUw3RDtBQUNBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFOLHdCQUFBTSxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsZ0JBQUFLLE9BQUEsQ0FBQUwsQ0FBQSwwQkFBQUEsQ0FBQSxzQkFBQUEsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEsQ0FBQVAsQ0FBQSxPQUFBUSxDQUFBLEtBQUFDLFNBQUEsVUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxDQUFBLElBQUFkLENBQUEsb0JBQUFjLENBQUEsT0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFoQixDQUFBLEVBQUFjLENBQUEsU0FBQUcsQ0FBQSxHQUFBUCxDQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQWIsQ0FBQSxFQUFBYyxDQUFBLFVBQUFHLENBQUEsS0FBQUEsQ0FBQSxDQUFBVixHQUFBLElBQUFVLENBQUEsQ0FBQUMsR0FBQSxJQUFBUCxNQUFBLENBQUFDLGNBQUEsQ0FBQUosQ0FBQSxFQUFBTSxDQUFBLEVBQUFHLENBQUEsSUFBQVQsQ0FBQSxDQUFBTSxDQUFBLElBQUFkLENBQUEsQ0FBQWMsQ0FBQSxZQUFBTixDQUFBLGNBQUFSLENBQUEsRUFBQUcsQ0FBQSxJQUFBQSxDQUFBLENBQUFlLEdBQUEsQ0FBQWxCLENBQUEsRUFBQVEsQ0FBQSxHQUFBQSxDQUFBO0FBUUE7QUFDQTs7QUFPQSxJQUFNVyxZQUFZLEdBQUdDLDRCQUFNLENBQUNDLEdBQUcsQ0FBQXZCLGVBQUEsS0FBQUEsZUFBQSxPQUFBd0IsdUJBQUEscXJCQUdoQixVQUFBQyxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNDLFVBQVU7QUFBQSxHQUN6QixVQUFBRixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNFLFVBQVU7QUFBQSxHQUkvQixVQUFBSCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNFLFVBQVU7QUFBQSxHQUNyQyxVQUFBSCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNHLFVBQVU7QUFBQSxHQUN4QixVQUFBSixLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNJLGlCQUFpQjtBQUFBLEdBRWxDLFVBQUFMLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0ssYUFBYTtBQUFBLEdBRzFDLFVBQUFOLEtBQUs7RUFBQSxPQUFLQSxLQUFLLENBQUNPLElBQUksS0FBSyxRQUFRLElBQUlQLEtBQUssQ0FBQ08sSUFBSSxLQUFLLE1BQU0sR0FBRyxNQUFNLEdBQUcsU0FBUztBQUFBLENBQUMsRUFDdEUsVUFBQVAsS0FBSztFQUFBLE9BQ3ZCQSxLQUFLLENBQUNRLE1BQU0sR0FBR1IsS0FBSyxDQUFDQyxLQUFLLENBQUNRLGNBQWMsR0FBR1QsS0FBSyxDQUFDQyxLQUFLLENBQUNLLGFBQWE7QUFBQSxHQUN2RCxVQUFBTixLQUFLO0VBQUEsT0FDbkJBLEtBQUssQ0FBQ1EsTUFBTSxHQUFHUixLQUFLLENBQUNDLEtBQUssQ0FBQ1Msc0JBQXNCLEdBQUdWLEtBQUssQ0FBQ0MsS0FBSyxDQUFDVSxxQkFBcUI7QUFBQSxHQVFuRSxVQUFBWCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNRLGNBQWM7QUFBQSxHQUN2QyxVQUFBVCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDQyxLQUFLLENBQUNTLHNCQUFzQjtBQUFBLEdBQzdDLFVBQUFWLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ1csb0JBQW9CO0FBQUEsR0FJaEQsVUFBQVosS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDWSxZQUFZO0FBQUEsRUFHL0M7QUFFRCxJQUFNQyxhQUFhLEdBQUcsRUFBRTtBQVV4QixJQUFNQyxZQUF5QyxHQUFHLFNBQTVDQSxZQUF5Q0EsQ0FBQUMsSUFBQSxFQUFvRDtFQUFBLElBQS9DQyxLQUFLLEdBQUFELElBQUEsQ0FBTEMsS0FBSztJQUFFQyxRQUFRLEdBQUFGLElBQUEsQ0FBUkUsUUFBUTtJQUFFakIsS0FBSyxHQUFBZSxJQUFBLENBQUxmLEtBQUs7RUFDeEUsSUFBTWtCLFdBQVcsR0FBRyxJQUFBQyxjQUFPLEVBQ3pCO0lBQUEsT0FBTztNQUNMQyxNQUFNLEVBQUU7UUFDTkMsS0FBSyxFQUFFLE9BQU87UUFDZEMsT0FBTyxFQUFFLGVBQWU7UUFDeEJDLFNBQVMsRUFBRSxTQUFTO1FBQ3BCQyxVQUFVLEVBQUV4QixLQUFLLENBQUN5QjtNQUNwQjtJQUNGLENBQUM7RUFBQSxDQUFDLEVBQ0YsQ0FBQ3pCLEtBQUssQ0FBQ3lCLGVBQWUsQ0FDeEIsQ0FBQztFQUVELG9CQUNFeEQsTUFBQSxZQUFBeUQsYUFBQSxDQUFDL0IsWUFBWSxxQkFDWDFCLE1BQUEsWUFBQXlELGFBQUEsQ0FBQ3JELFdBQUEsQ0FBQXNELFlBQVk7SUFDWFgsS0FBSyxFQUFFQSxLQUFNO0lBQ2JDLFFBQVEsRUFBRUEsUUFBUztJQUNuQlcsWUFBWSxFQUFFZixhQUFjO0lBQzVCZ0IsTUFBTSxFQUFFWCxXQUFZO0lBQ3BCWSxZQUFZO0VBQUEsQ0FDYixDQUNXLENBQUM7QUFFbkIsQ0FBQztBQUFDLElBQUFDLFFBQUEsR0FBQUMsT0FBQSxjQUVhLElBQUFDLDJCQUFTLEVBQUNuQixZQUFZLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=