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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/dist/bottom-widget.js +1 -21
  2. package/dist/common/action-panel.js +1 -21
  3. package/dist/common/animation-control/animation-control.js +1 -21
  4. package/dist/common/animation-control/animation-controller.js +1 -21
  5. package/dist/common/animation-control/animation-speed-slider.js +1 -21
  6. package/dist/common/animation-control/animation-window-control.js +3 -21
  7. package/dist/common/animation-control/floating-time-display.js +1 -21
  8. package/dist/common/animation-control/play-control.js +3 -21
  9. package/dist/common/animation-control/playback-controls.js +1 -21
  10. package/dist/common/animation-control/reset-control.js +3 -21
  11. package/dist/common/animation-control/speed-control.js +1 -21
  12. package/dist/common/animation-control/window-action-control.js +3 -21
  13. package/dist/common/checkbox.js +1 -21
  14. package/dist/common/color-legend.js +1 -21
  15. package/dist/common/data-table/button.js +1 -21
  16. package/dist/common/data-table/canvas.js +1 -21
  17. package/dist/common/data-table/cell-size.js +1 -21
  18. package/dist/common/data-table/display-format.js +1 -21
  19. package/dist/common/data-table/grid.js +1 -21
  20. package/dist/common/data-table/header-cell.js +1 -21
  21. package/dist/common/data-table/index.js +1 -21
  22. package/dist/common/data-table/option-dropdown.js +1 -21
  23. package/dist/common/dataset-label.js +1 -21
  24. package/dist/common/error-boundary.js +1 -21
  25. package/dist/common/field-selector.d.ts +1 -0
  26. package/dist/common/field-selector.js +3 -21
  27. package/dist/common/field-token.d.ts +4 -0
  28. package/dist/common/field-token.js +1 -21
  29. package/dist/common/file-uploader/file-drop.js +1 -21
  30. package/dist/common/file-uploader/file-upload-progress.js +1 -21
  31. package/dist/common/file-uploader/file-upload.js +1 -21
  32. package/dist/common/file-uploader/upload-button.js +1 -21
  33. package/dist/common/flex-container.d.ts +3 -0
  34. package/dist/common/flex-container.js +23 -0
  35. package/dist/common/histogram-plot.js +1 -21
  36. package/dist/common/icon-button.d.ts +1 -1
  37. package/dist/common/icon-button.js +1 -21
  38. package/dist/common/icons/add.js +1 -21
  39. package/dist/common/icons/anchor_window.js +6 -22
  40. package/dist/common/icons/arrow-down-alt.js +1 -21
  41. package/dist/common/icons/arrow-down-small.d.ts +14 -0
  42. package/dist/common/icons/arrow-down-small.js +72 -0
  43. package/dist/common/icons/arrow-down-solid.js +1 -21
  44. package/dist/common/icons/arrow-down.js +1 -21
  45. package/dist/common/icons/arrow-left.js +1 -21
  46. package/dist/common/icons/arrow-right.js +1 -21
  47. package/dist/common/icons/arrow-up-alt.js +1 -21
  48. package/dist/common/icons/arrow-up-solid.js +1 -21
  49. package/dist/common/icons/arrow-up.js +1 -21
  50. package/dist/common/icons/base.js +1 -21
  51. package/dist/common/icons/bug.js +1 -21
  52. package/dist/common/icons/calendar.d.ts +10 -0
  53. package/dist/common/icons/calendar.js +66 -0
  54. package/dist/common/icons/cancel.js +1 -21
  55. package/dist/common/icons/checkmark.js +1 -21
  56. package/dist/common/icons/clipboard.js +1 -21
  57. package/dist/common/icons/clock.js +1 -21
  58. package/dist/common/icons/close.js +1 -21
  59. package/dist/common/icons/code-alt.js +1 -21
  60. package/dist/common/icons/copy.js +1 -21
  61. package/dist/common/icons/crosshairs.js +1 -21
  62. package/dist/common/icons/cube-3d.js +1 -21
  63. package/dist/common/icons/cursor-click.js +1 -21
  64. package/dist/common/icons/cursor-point.js +1 -21
  65. package/dist/common/icons/data-table.js +1 -21
  66. package/dist/common/icons/db.js +1 -21
  67. package/dist/common/icons/delete.js +1 -21
  68. package/dist/common/icons/docs.js +1 -21
  69. package/dist/common/icons/drag-n-drop.js +1 -21
  70. package/dist/common/icons/draw-polygon.js +1 -21
  71. package/dist/common/icons/effects/brightness-contrast.d.ts +14 -0
  72. package/dist/common/icons/effects/brightness-contrast.js +88 -0
  73. package/dist/common/icons/effects/color-halftone.d.ts +14 -0
  74. package/dist/common/icons/effects/color-halftone.js +127 -0
  75. package/dist/common/icons/effects/dot-screen.d.ts +14 -0
  76. package/dist/common/icons/effects/dot-screen.js +122 -0
  77. package/dist/common/icons/effects/edge-work.d.ts +14 -0
  78. package/dist/common/icons/effects/edge-work.js +81 -0
  79. package/dist/common/icons/effects/hexagonal-pixelate.d.ts +14 -0
  80. package/dist/common/icons/effects/hexagonal-pixelate.js +148 -0
  81. package/dist/common/icons/effects/hue-saturation.d.ts +14 -0
  82. package/dist/common/icons/effects/hue-saturation.js +79 -0
  83. package/dist/common/icons/effects/ink.d.ts +14 -0
  84. package/dist/common/icons/effects/ink.js +78 -0
  85. package/dist/common/icons/effects/light-and-shadow.d.ts +14 -0
  86. package/dist/common/icons/effects/light-and-shadow.js +67 -0
  87. package/dist/common/icons/effects/magic-wand.d.ts +14 -0
  88. package/dist/common/icons/effects/magic-wand.js +79 -0
  89. package/dist/common/icons/effects/magnify.d.ts +14 -0
  90. package/dist/common/icons/effects/magnify.js +86 -0
  91. package/dist/common/icons/effects/noise.d.ts +14 -0
  92. package/dist/common/icons/effects/noise.js +132 -0
  93. package/dist/common/icons/effects/sepia.d.ts +14 -0
  94. package/dist/common/icons/effects/sepia.js +79 -0
  95. package/dist/common/icons/effects/tilt-shift.d.ts +14 -0
  96. package/dist/common/icons/effects/tilt-shift.js +88 -0
  97. package/dist/common/icons/effects/triangle-blur.d.ts +14 -0
  98. package/dist/common/icons/effects/triangle-blur.js +83 -0
  99. package/dist/common/icons/effects/vibrance.d.ts +14 -0
  100. package/dist/common/icons/effects/vibrance.js +79 -0
  101. package/dist/common/icons/effects/vignette.d.ts +14 -0
  102. package/dist/common/icons/effects/vignette.js +72 -0
  103. package/dist/common/icons/effects/zoom-blur.d.ts +14 -0
  104. package/dist/common/icons/effects/zoom-blur.js +107 -0
  105. package/dist/common/icons/email.js +1 -21
  106. package/dist/common/icons/expand.js +1 -21
  107. package/dist/common/icons/eye-seen.js +1 -21
  108. package/dist/common/icons/eye-unseen.js +1 -21
  109. package/dist/common/icons/file-type.js +1 -21
  110. package/dist/common/icons/file.js +1 -21
  111. package/dist/common/icons/files.js +1 -21
  112. package/dist/common/icons/filter-funnel.js +1 -21
  113. package/dist/common/icons/free-window.js +6 -22
  114. package/dist/common/icons/gear.js +1 -21
  115. package/dist/common/icons/globe.d.ts +15 -0
  116. package/dist/common/icons/globe.js +72 -0
  117. package/dist/common/icons/hash.js +1 -21
  118. package/dist/common/icons/histogram.js +1 -21
  119. package/dist/common/icons/index.d.ts +25 -0
  120. package/dist/common/icons/index.js +201 -21
  121. package/dist/common/icons/info.js +1 -21
  122. package/dist/common/icons/layers.js +1 -21
  123. package/dist/common/icons/left-arrow.js +1 -21
  124. package/dist/common/icons/legend.js +1 -21
  125. package/dist/common/icons/line-chart.js +1 -21
  126. package/dist/common/icons/location-marker.d.ts +14 -0
  127. package/dist/common/icons/location-marker.js +77 -0
  128. package/dist/common/icons/login.js +1 -21
  129. package/dist/common/icons/logout.js +1 -21
  130. package/dist/common/icons/map-icon.js +1 -21
  131. package/dist/common/icons/map.js +1 -21
  132. package/dist/common/icons/messages.js +1 -21
  133. package/dist/common/icons/minus.js +1 -21
  134. package/dist/common/icons/moon.d.ts +14 -0
  135. package/dist/common/icons/moon.js +77 -0
  136. package/dist/common/icons/order-by-dataset.js +6 -22
  137. package/dist/common/icons/order-by-list.js +6 -22
  138. package/dist/common/icons/pause.js +1 -21
  139. package/dist/common/icons/picture.js +1 -21
  140. package/dist/common/icons/pin.js +1 -21
  141. package/dist/common/icons/play.js +1 -21
  142. package/dist/common/icons/polygon.js +1 -21
  143. package/dist/common/icons/rectangle.js +1 -21
  144. package/dist/common/icons/reduce.js +1 -21
  145. package/dist/common/icons/reset.js +1 -21
  146. package/dist/common/icons/rocket.js +1 -21
  147. package/dist/common/icons/save.js +1 -21
  148. package/dist/common/icons/save2.js +1 -21
  149. package/dist/common/icons/search.js +1 -21
  150. package/dist/common/icons/settings.js +1 -21
  151. package/dist/common/icons/share.js +1 -21
  152. package/dist/common/icons/split.js +1 -21
  153. package/dist/common/icons/square-select.js +1 -21
  154. package/dist/common/icons/sun.d.ts +14 -0
  155. package/dist/common/icons/sun.js +93 -0
  156. package/dist/common/icons/sunrise.d.ts +14 -0
  157. package/dist/common/icons/sunrise.js +89 -0
  158. package/dist/common/icons/sunset.d.ts +14 -0
  159. package/dist/common/icons/sunset.js +89 -0
  160. package/dist/common/icons/trash.js +1 -21
  161. package/dist/common/icons/vert-dots.js +1 -21
  162. package/dist/common/icons/vert-three-dots.js +1 -21
  163. package/dist/common/icons/warning-sign.js +1 -21
  164. package/dist/common/icons/warning.js +1 -21
  165. package/dist/common/image-preview.js +1 -21
  166. package/dist/common/index.js +1 -21
  167. package/dist/common/info-helper.js +1 -21
  168. package/dist/common/item-selector/accessor.js +5 -22
  169. package/dist/common/item-selector/chickleted-input.d.ts +1 -0
  170. package/dist/common/item-selector/chickleted-input.js +104 -44
  171. package/dist/common/item-selector/dropdown-list.d.ts +2 -0
  172. package/dist/common/item-selector/dropdown-list.js +10 -25
  173. package/dist/common/item-selector/item-selector.d.ts +3 -0
  174. package/dist/common/item-selector/item-selector.js +11 -23
  175. package/dist/common/item-selector/typeahead.js +1 -21
  176. package/dist/common/line-chart.js +1 -21
  177. package/dist/common/loading-spinner.js +1 -21
  178. package/dist/common/logo.js +1 -21
  179. package/dist/common/map-layer-selector.js +1 -21
  180. package/dist/common/modal.js +25 -28
  181. package/dist/common/portaled.d.ts +15 -2
  182. package/dist/common/portaled.js +1 -21
  183. package/dist/common/progress-bar.js +1 -21
  184. package/dist/common/range-brush.js +1 -21
  185. package/dist/common/range-plot.js +1 -21
  186. package/dist/common/range-slider.d.ts +1 -1
  187. package/dist/common/range-slider.js +1 -21
  188. package/dist/common/slider/mouse-event.js +6 -22
  189. package/dist/common/slider/slider-bar-handle.js +1 -21
  190. package/dist/common/slider/slider-handle.js +1 -21
  191. package/dist/common/slider/slider.js +1 -21
  192. package/dist/common/styled-components.d.ts +3 -3
  193. package/dist/common/styled-components.js +26 -47
  194. package/dist/common/switch.js +1 -21
  195. package/dist/common/time-range-slider-time-title.js +1 -21
  196. package/dist/common/time-range-slider.js +1 -21
  197. package/dist/common/time-slider-marker.js +1 -21
  198. package/dist/common/timeline-slider.js +1 -21
  199. package/dist/common/tippy-tooltip.js +1 -21
  200. package/dist/common/toolbar-item.js +1 -21
  201. package/dist/common/toolbar.js +1 -21
  202. package/dist/common/vertical-toolbar.js +1 -21
  203. package/dist/connect/keplergl-connect.js +6 -22
  204. package/dist/connect/with-local-selector.js +1 -21
  205. package/dist/container.js +1 -21
  206. package/dist/context.d.ts +11 -0
  207. package/dist/context.js +18 -23
  208. package/dist/dnd-context.d.ts +1 -1
  209. package/dist/dnd-context.js +32 -127
  210. package/dist/editor/editor.js +1 -21
  211. package/dist/editor/feature-action-panel.js +28 -79
  212. package/dist/effects/compact-color-picker.d.ts +10 -0
  213. package/dist/effects/compact-color-picker.js +130 -0
  214. package/dist/effects/effect-configurator.d.ts +4 -5
  215. package/dist/effects/effect-configurator.js +183 -118
  216. package/dist/effects/effect-list.js +2 -22
  217. package/dist/effects/effect-manager.d.ts +2 -1
  218. package/dist/effects/effect-manager.js +43 -30
  219. package/dist/effects/effect-panel-header.d.ts +14 -2
  220. package/dist/effects/effect-panel-header.js +82 -50
  221. package/dist/effects/effect-panel.js +30 -43
  222. package/dist/effects/effect-time-configurator.d.ts +14 -7
  223. package/dist/effects/effect-time-configurator.js +258 -109
  224. package/dist/effects/effect-time-selector.d.ts +16 -0
  225. package/dist/effects/effect-time-selector.js +181 -0
  226. package/dist/effects/effect-time-slider.d.ts +34 -0
  227. package/dist/effects/effect-time-slider.js +220 -0
  228. package/dist/effects/effect-type-dropdown-list.d.ts +18 -0
  229. package/dist/effects/effect-type-dropdown-list.js +77 -0
  230. package/dist/effects/effect-type-list-item.d.ts +22 -0
  231. package/dist/effects/effect-type-list-item.js +105 -0
  232. package/dist/effects/effect-type-selector.d.ts +22 -3
  233. package/dist/effects/effect-type-selector.js +58 -83
  234. package/dist/effects/side-panel-title.js +1 -21
  235. package/dist/effects/timezone-selector.d.ts +19 -0
  236. package/dist/effects/timezone-selector.js +71 -0
  237. package/dist/filter-animation-controller.js +3 -21
  238. package/dist/filters/components.js +1 -21
  239. package/dist/filters/filter-panels/filter-panel-with-field-select.js +6 -22
  240. package/dist/filters/filter-panels/multi-select-filter-panel.js +6 -22
  241. package/dist/filters/filter-panels/new-filter-panel.js +6 -22
  242. package/dist/filters/filter-panels/polygon-filter-panel.js +6 -22
  243. package/dist/filters/filter-panels/range-filter-panel.js +6 -22
  244. package/dist/filters/filter-panels/single-select-filter-panel.js +6 -22
  245. package/dist/filters/filter-panels/time-range-filter-panel.js +1 -21
  246. package/dist/filters/filter-panels/types.js +0 -20
  247. package/dist/filters/index.js +1 -21
  248. package/dist/filters/multi-select-filter.js +6 -22
  249. package/dist/filters/polygon-filter.js +6 -22
  250. package/dist/filters/range-filter.js +6 -22
  251. package/dist/filters/single-select-filter.js +6 -22
  252. package/dist/filters/time-range-filter.js +7 -22
  253. package/dist/filters/time-widget-top.js +1 -21
  254. package/dist/filters/time-widget.js +1 -21
  255. package/dist/filters/types.js +0 -20
  256. package/dist/geocoder/geocoder.js +10 -27
  257. package/dist/geocoder-panel.js +1 -21
  258. package/dist/hooks/use-cloud-list-provider.d.ts +11 -0
  259. package/dist/hooks/use-cloud-list-provider.js +57 -0
  260. package/dist/hooks/use-dnd-effects.d.ts +9 -0
  261. package/dist/hooks/use-dnd-effects.js +88 -0
  262. package/dist/hooks/use-dnd-layers.d.ts +9 -0
  263. package/dist/hooks/use-dnd-layers.js +95 -0
  264. package/dist/hooks/use-feature-flags.d.ts +5 -0
  265. package/dist/hooks/use-feature-flags.js +21 -0
  266. package/dist/index.d.ts +10 -1
  267. package/dist/index.js +103 -24
  268. package/dist/injector.js +1 -21
  269. package/dist/kepler-gl.d.ts +2 -1
  270. package/dist/kepler-gl.js +13 -25
  271. package/dist/layer-animation-controller.js +3 -21
  272. package/dist/map/coordinate-info.js +6 -22
  273. package/dist/map/effects/effect-control.d.ts +1 -1
  274. package/dist/map/effects/effect-control.js +9 -28
  275. package/dist/map/layer-hover-info.js +2 -22
  276. package/dist/map/layer-selector-panel.js +6 -22
  277. package/dist/map/lazy-tippy.js +1 -21
  278. package/dist/map/locale-panel.js +6 -22
  279. package/dist/map/map-control-panel.js +1 -21
  280. package/dist/map/map-control-toolbar.js +1 -21
  281. package/dist/map/map-control-tooltip.js +6 -22
  282. package/dist/map/map-control.js +1 -21
  283. package/dist/map/map-draw-panel.js +6 -22
  284. package/dist/map/map-legend-panel.js +6 -22
  285. package/dist/map/map-legend.js +1 -21
  286. package/dist/map/map-popover-content.js +6 -22
  287. package/dist/map/map-popover.js +1 -21
  288. package/dist/map/split-map-button.js +6 -22
  289. package/dist/map/toggle-3d-button.js +6 -22
  290. package/dist/map-container.d.ts +1 -1
  291. package/dist/map-container.js +33 -52
  292. package/dist/map-view-state-context.d.ts +6 -1
  293. package/dist/map-view-state-context.js +34 -33
  294. package/dist/maps-layout.js +1 -21
  295. package/dist/modal-container.d.ts +2 -2
  296. package/dist/modal-container.js +13 -72
  297. package/dist/modals/add-map-style-modal.js +8 -72
  298. package/dist/modals/cloud-components/cloud-header.d.ts +8 -0
  299. package/dist/modals/cloud-components/cloud-header.js +65 -0
  300. package/dist/modals/cloud-components/cloud-item.d.ts +5 -0
  301. package/dist/modals/cloud-components/cloud-item.js +72 -0
  302. package/dist/modals/cloud-components/cloud-item.spec.d.ts +1 -0
  303. package/dist/modals/cloud-components/cloud-item.spec.js +105 -0
  304. package/dist/modals/cloud-components/cloud-maps.d.ts +8 -0
  305. package/dist/modals/cloud-components/cloud-maps.js +63 -0
  306. package/dist/modals/cloud-components/cloud-maps.spec.d.ts +1 -0
  307. package/dist/modals/cloud-components/cloud-maps.spec.js +112 -0
  308. package/dist/modals/cloud-components/provider-loading.d.ts +2 -0
  309. package/dist/modals/cloud-components/provider-loading.js +29 -0
  310. package/dist/modals/cloud-components/provider-select.d.ts +7 -0
  311. package/dist/modals/cloud-components/provider-select.js +40 -0
  312. package/dist/modals/cloud-tile.d.ts +8 -8
  313. package/dist/modals/cloud-tile.js +184 -75
  314. package/dist/modals/data-table-modal.js +1 -21
  315. package/dist/modals/delete-data-modal.js +1 -21
  316. package/dist/modals/error-display.js +15 -26
  317. package/dist/modals/export-data-modal.js +1 -21
  318. package/dist/modals/export-image-modal.js +1 -21
  319. package/dist/modals/export-map-modal/components.js +1 -21
  320. package/dist/modals/export-map-modal/export-html-map.js +1 -21
  321. package/dist/modals/export-map-modal/export-json-map.js +1 -21
  322. package/dist/modals/export-map-modal/export-map-modal.js +6 -22
  323. package/dist/modals/image-modal-container.d.ts +1 -3
  324. package/dist/modals/image-modal-container.js +12 -34
  325. package/dist/modals/load-data-modal.d.ts +0 -5
  326. package/dist/modals/load-data-modal.js +1 -21
  327. package/dist/modals/load-storage-map.d.ts +3 -24
  328. package/dist/modals/load-storage-map.js +69 -282
  329. package/dist/modals/load-storage-map.spec.d.ts +1 -0
  330. package/dist/modals/load-storage-map.spec.js +237 -0
  331. package/dist/modals/loading-dialog.js +1 -21
  332. package/dist/modals/modal-dialog.js +6 -22
  333. package/dist/modals/modal-tabs.js +1 -21
  334. package/dist/modals/overwrite-map-modal.d.ts +2 -2
  335. package/dist/modals/overwrite-map-modal.js +39 -32
  336. package/dist/modals/save-map-modal.d.ts +3 -5
  337. package/dist/modals/save-map-modal.js +99 -119
  338. package/dist/modals/save-map-modal.spec.d.ts +1 -0
  339. package/dist/modals/save-map-modal.spec.js +218 -0
  340. package/dist/modals/share-map-modal.d.ts +1 -5
  341. package/dist/modals/share-map-modal.js +57 -81
  342. package/dist/modals/share-map-modal.spec.d.ts +1 -0
  343. package/dist/modals/share-map-modal.spec.js +202 -0
  344. package/dist/modals/status-panel.js +1 -21
  345. package/dist/modals/storage-map-viewer.js +1 -21
  346. package/dist/notification-panel/notification-item.js +1 -21
  347. package/dist/notification-panel.js +1 -21
  348. package/dist/plot-container.js +7 -27
  349. package/dist/side-panel/add-by-dataset-button.js +1 -21
  350. package/dist/side-panel/cloud-storage-dropdown.js +6 -22
  351. package/dist/side-panel/common/dataset-info.js +1 -21
  352. package/dist/side-panel/common/dataset-tag.js +1 -21
  353. package/dist/side-panel/common/dataset-title.js +1 -21
  354. package/dist/side-panel/common/source-data-catalog.js +1 -21
  355. package/dist/side-panel/common/source-data-selector.js +6 -22
  356. package/dist/side-panel/common/types.js +0 -20
  357. package/dist/side-panel/custom-panel.js +6 -22
  358. package/dist/side-panel/filter-manager.js +1 -21
  359. package/dist/side-panel/filter-panel/add-filter-button.js +6 -22
  360. package/dist/side-panel/filter-panel/filter-panel-header.js +2 -22
  361. package/dist/side-panel/filter-panel/filter-panel.js +1 -21
  362. package/dist/side-panel/interaction-manager.js +6 -22
  363. package/dist/side-panel/interaction-panel/brush-config.js +1 -21
  364. package/dist/side-panel/interaction-panel/interaction-panel.js +1 -21
  365. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +8 -0
  366. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +46 -27
  367. package/dist/side-panel/interaction-panel/tooltip-config.js +41 -52
  368. package/dist/side-panel/layer-manager.d.ts +5 -0
  369. package/dist/side-panel/layer-manager.js +3 -22
  370. package/dist/side-panel/layer-panel/add-layer-button.js +6 -22
  371. package/dist/side-panel/layer-panel/color-palette.js +1 -21
  372. package/dist/side-panel/layer-panel/color-range-selector.js +1 -21
  373. package/dist/side-panel/layer-panel/color-selector.js +1 -21
  374. package/dist/side-panel/layer-panel/column-selector.js +1 -21
  375. package/dist/side-panel/layer-panel/custom-palette.js +1 -21
  376. package/dist/side-panel/layer-panel/custom-picker.js +1 -21
  377. package/dist/side-panel/layer-panel/dataset-layer-group.js +6 -22
  378. package/dist/side-panel/layer-panel/dataset-layer-section.js +1 -21
  379. package/dist/side-panel/layer-panel/dataset-section.js +1 -21
  380. package/dist/side-panel/layer-panel/dimension-scale-selector.js +6 -22
  381. package/dist/side-panel/layer-panel/how-to-button.js +1 -21
  382. package/dist/side-panel/layer-panel/layer-color-selector.js +6 -22
  383. package/dist/side-panel/layer-panel/layer-column-config.js +1 -21
  384. package/dist/side-panel/layer-panel/layer-config-group.js +1 -21
  385. package/dist/side-panel/layer-panel/layer-configurator.js +16 -24
  386. package/dist/side-panel/layer-panel/layer-error-message.js +1 -21
  387. package/dist/side-panel/layer-panel/layer-list.js +1 -21
  388. package/dist/side-panel/layer-panel/layer-panel-header.js +1 -21
  389. package/dist/side-panel/layer-panel/layer-panel.js +1 -21
  390. package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +1 -21
  391. package/dist/side-panel/layer-panel/layer-type-list-item.js +1 -21
  392. package/dist/side-panel/layer-panel/layer-type-selector.js +1 -21
  393. package/dist/side-panel/layer-panel/single-color-palette.js +1 -21
  394. package/dist/side-panel/layer-panel/text-label-panel.js +1 -21
  395. package/dist/side-panel/layer-panel/vis-config-by-field-selector.js +1 -21
  396. package/dist/side-panel/layer-panel/vis-config-slider.js +1 -21
  397. package/dist/side-panel/layer-panel/vis-config-switch.js +1 -21
  398. package/dist/side-panel/map-manager.js +1 -21
  399. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.js +1 -21
  400. package/dist/side-panel/map-style-panel/map-layer-group-item.js +1 -21
  401. package/dist/side-panel/map-style-panel/map-layer-selector.js +1 -21
  402. package/dist/side-panel/map-style-panel/map-style-selector.js +1 -21
  403. package/dist/side-panel/panel-dropdown.js +1 -21
  404. package/dist/side-panel/panel-header-action.js +1 -21
  405. package/dist/side-panel/panel-header.js +2 -21
  406. package/dist/side-panel/panel-tab.js +1 -21
  407. package/dist/side-panel/panel-title.js +1 -21
  408. package/dist/side-panel/panel-toggle.js +1 -21
  409. package/dist/side-panel/panel-view-list-toggle.js +1 -21
  410. package/dist/side-panel/side-bar.js +1 -21
  411. package/dist/side-panel.js +7 -36
  412. package/dist/types.d.ts +2 -4
  413. package/dist/types.js +0 -20
  414. package/package.json +27 -24
  415. package/dist/hooks/useFeatureFlags.d.ts +0 -2
  416. package/dist/hooks/useFeatureFlags.js +0 -38
  417. package/dist/modals/provider-modal-container.d.ts +0 -23
  418. package/dist/modals/provider-modal-container.js +0 -101
@@ -1,23 +1,3 @@
1
- // Copyright (c) 2023 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
1
  "use strict";
22
2
 
23
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -57,7 +37,7 @@ var _templateObject, _templateObject2;
57
37
 
58
38
  var Container = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n"])));
59
39
 
60
- var SortableStyledItem = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: ", ";\n transition: ", ";\n transform: ", ";\n &.sorting {\n opacity: 0.3;\n pointer-events: none;\n }\n &.sorting-effects .effect-panel__header {\n background-color: ", ";\n font-family: ", ";\n font-weight: ", ";\n font-size: ", ";\n line-height: ", ";\n *,\n *:before,\n *:after {\n box-sizing: border-box;\n }\n .effect__drag-handle {\n opacity: 1;\n color: ", ";\n }\n }\n"])), function (props) {
40
+ var SortableStyledItem = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n z-index: ", ";\n transition: ", ";\n transform: ", ";\n outline: none;\n &.sorting {\n opacity: 0.3;\n pointer-events: none;\n }\n &.sorting-effects .effect-panel__header {\n background-color: ", ";\n font-family: ", ";\n font-weight: ", ";\n font-size: ", ";\n line-height: ", ";\n *,\n *:before,\n *:after {\n box-sizing: border-box;\n }\n .effect__drag-handle {\n opacity: 1;\n color: ", ";\n }\n }\n"])), function (props) {
61
41
  return props.theme.dropdownWrapperZ + 1;
62
42
  }, function (props) {
63
43
  return props.transition;
@@ -170,4 +150,4 @@ function EffectListFactory(EffectPanel) {
170
150
 
171
151
  var _default = EffectListFactory;
172
152
  exports["default"] = _default;
173
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lZmZlY3RzL2VmZmVjdC1saXN0LnRzeCJdLCJuYW1lcyI6WyJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJTb3J0YWJsZVN0eWxlZEl0ZW0iLCJwcm9wcyIsInRoZW1lIiwiZHJvcGRvd25XcmFwcGVyWiIsInRyYW5zaXRpb24iLCJ0cmFuc2Zvcm0iLCJwYW5lbEJhY2tncm91bmRIb3ZlciIsImZvbnRGYW1pbHkiLCJmb250V2VpZ2h0IiwiZm9udFNpemUiLCJsaW5lSGVpZ2h0IiwidGV4dENvbG9ySGwiLCJFZmZlY3RMaXN0RmFjdG9yeSIsImRlcHMiLCJFZmZlY3RQYW5lbEZhY3RvcnkiLCJFZmZlY3RQYW5lbCIsIlNvcnRhYmxlSXRlbSIsImVmZmVjdCIsImlkeCIsInBhbmVsUHJvcHMiLCJkaXNhYmxlZCIsImlkIiwiZGF0YSIsInR5cGUiLCJTT1JUQUJMRV9FRkZFQ1RfVFlQRSIsInBhcmVudCIsIlNPUlRBQkxFX0VGRkVDVF9QQU5FTF9UWVBFIiwiYXR0cmlidXRlcyIsImxpc3RlbmVycyIsInNldE5vZGVSZWYiLCJpc0RyYWdnaW5nIiwiZGF0YVRlc3RJZHMiLCJzb3J0YWJsZUVmZmVjdEl0ZW0iLCJzdGF0aWNFZmZlY3RJdGVtIiwic29ydGluZyIsIkNTUyIsIlRyYW5zZm9ybSIsInRvU3RyaW5nIiwiRWZmZWN0TGlzdCIsImVmZmVjdHMiLCJlZmZlY3RPcmRlciIsInZpc1N0YXRlQWN0aW9ucyIsImVmZmVjdHNUb1Nob3ciLCJyZWR1Y2UiLCJhY2MiLCJlZmZlY3RJZCIsImZpbHRlciIsIkJvb2xlYW4iLCJzaWRlUGFuZWxEbmRJdGVtcyIsIm1hcCIsInJlbW92ZUVmZmVjdCIsInVwZGF0ZUVmZmVjdCIsInZlcnRpY2FsTGlzdFNvcnRpbmdTdHJhdGVneSIsImZpbmRJbmRleCIsImwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFJ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QixPQUFQO0FBQUEsS0FEaUIsRUFPakIsQ0FBQ1osT0FBRCxFQUFVQyxXQUFWLEVBQXVCQyxlQUF2QixDQVBpQixDQUFuQjtBQVVBLHdCQUNFLGdDQUFDLFNBQUQscUJBQ0UsZ0NBQUMseUJBQUQ7QUFDRSxNQUFBLEVBQUUsRUFBRWYscUNBRE47QUFFRSxNQUFBLEtBQUssRUFBRXNCLGlCQUZUO0FBR0UsTUFBQSxRQUFRLEVBQUVJLHFDQUhaO0FBSUUsTUFBQSxRQUFRLEVBQUU7QUFKWixPQU1HVixhQUFhLENBQUNPLEdBQWQsQ0FBa0IsVUFBQWhDLE1BQU07QUFBQSwwQkFDdkIsZ0NBQUMsWUFBRDtBQUNFLFFBQUEsR0FBRyxFQUFFQSxNQUFNLENBQUNJLEVBRGQ7QUFFRSxRQUFBLE1BQU0sRUFBRUosTUFGVjtBQUdFLFFBQUEsR0FBRyxFQUFFc0IsT0FBTyxDQUFDYyxTQUFSLENBQWtCLFVBQUFDLENBQUM7QUFBQSxpQkFBSSxDQUFBQSxDQUFDLFNBQUQsSUFBQUEsQ0FBQyxXQUFELFlBQUFBLENBQUMsQ0FBRWpDLEVBQUgsTUFBVUosTUFBTSxDQUFDSSxFQUFyQjtBQUFBLFNBQW5CLENBSFA7QUFJRSxRQUFBLFVBQVUsRUFBRUYsVUFKZDtBQUtFLFFBQUEsUUFBUSxFQUFFO0FBTFosUUFEdUI7QUFBQSxLQUF4QixDQU5ILENBREYsQ0FERjtBQW9CRCxHQS9DRDs7QUFnREEsU0FBT21CLFVBQVA7QUFDRDs7ZUFFYzFCLGlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7dXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7Q1NTfSBmcm9tICdAZG5kLWtpdC91dGlsaXRpZXMnO1xuaW1wb3J0IHt1c2VTb3J0YWJsZSwgU29ydGFibGVDb250ZXh0LCB2ZXJ0aWNhbExpc3RTb3J0aW5nU3RyYXRlZ3l9IGZyb20gJ0BkbmQta2l0L3NvcnRhYmxlJztcblxuaW1wb3J0IHtkYXRhVGVzdElkcywgU09SVEFCTEVfRUZGRUNUX1RZUEUsIFNPUlRBQkxFX0VGRkVDVF9QQU5FTF9UWVBFfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge2ZpbmRCeUlkfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7VmlzU3RhdGVBY3Rpb25zfSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuaW1wb3J0IHtFZmZlY3R9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5pbXBvcnQgRWZmZWN0UGFuZWxGYWN0b3J5IGZyb20gJy4vZWZmZWN0LXBhbmVsJztcblxuZXhwb3J0IHR5cGUgRWZmZWN0TGlzdFByb3BzID0ge1xuICBlZmZlY3RzOiBFZmZlY3RbXTtcbiAgZWZmZWN0T3JkZXI6IHN0cmluZ1tdO1xuICB2aXNTdGF0ZUFjdGlvbnM6IHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnM7XG4gIGlzU29ydGFibGU6IGJvb2xlYW47XG59O1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuYDtcblxudHlwZSBTb3J0YWJsZVN0eWxlZEl0ZW1Qcm9wcyA9IHt0cmFuc2l0aW9uPzogc3RyaW5nOyB0cmFuc2Zvcm0/OiBzdHJpbmd9O1xuY29uc3QgU29ydGFibGVTdHlsZWRJdGVtID0gc3R5bGVkLmRpdjxTb3J0YWJsZVN0eWxlZEl0ZW1Qcm9wcz5gXG4gIHotaW5kZXg6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25XcmFwcGVyWiArIDF9O1xuICB0cmFuc2l0aW9uOiAke3Byb3BzID0+IHByb3BzLnRyYW5zaXRpb259O1xuICB0cmFuc2Zvcm06ICR7cHJvcHMgPT4gcHJvcHMudHJhbnNmb3JtfTtcbiAgJi5zb3J0aW5nIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgJi5zb3J0aW5nLWVmZmVjdHMgLmVmZmVjdC1wYW5lbF9faGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyfTtcbiAgICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5fTtcbiAgICBmb250LXdlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250V2VpZ2h0fTtcbiAgICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udFNpemV9O1xuICAgIGxpbmUtaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxpbmVIZWlnaHR9O1xuICAgICosXG4gICAgKjpiZWZvcmUsXG4gICAgKjphZnRlciB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cbiAgICAuZWZmZWN0X19kcmFnLWhhbmRsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICAgIH1cbiAgfVxuYDtcblxuRWZmZWN0TGlzdEZhY3RvcnkuZGVwcyA9IFtFZmZlY3RQYW5lbEZhY3RvcnldO1xuXG5mdW5jdGlvbiBFZmZlY3RMaXN0RmFjdG9yeShcbiAgRWZmZWN0UGFuZWw6IFJldHVyblR5cGU8dHlwZW9mIEVmZmVjdFBhbmVsRmFjdG9yeT5cbik6IFJlYWN0LkZDPEVmZmVjdExpc3RQcm9wcz4ge1xuICBjb25zdCBTb3J0YWJsZUl0ZW0gPSAoe2VmZmVjdCwgaWR4LCBwYW5lbFByb3BzLCBkaXNhYmxlZH0pID0+IHtcbiAgICBjb25zdCB7YXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCBpc0RyYWdnaW5nLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb259ID0gdXNlU29ydGFibGUoe1xuICAgICAgaWQ6IGVmZmVjdC5pZCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdHlwZTogU09SVEFCTEVfRUZGRUNUX1RZUEUsXG4gICAgICAgIHBhcmVudDogU09SVEFCTEVfRUZGRUNUX1BBTkVMX1RZUEVcbiAgICAgIH0sXG4gICAgICBkaXNhYmxlZFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTb3J0YWJsZVN0eWxlZEl0ZW1cbiAgICAgICAgcmVmPXtzZXROb2RlUmVmfVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoXG4gICAgICAgICAge1tkYXRhVGVzdElkcy5zb3J0YWJsZUVmZmVjdEl0ZW1dOiAhZGlzYWJsZWR9LFxuICAgICAgICAgIHtbZGF0YVRlc3RJZHMuc3RhdGljRWZmZWN0SXRlbV06IGRpc2FibGVkfSxcbiAgICAgICAgICB7c29ydGluZzogaXNEcmFnZ2luZ31cbiAgICAgICAgKX1cbiAgICAgICAgZGF0YS10ZXN0aWQ9e2Rpc2FibGVkID8gZGF0YVRlc3RJZHMuc3RhdGljRWZmZWN0SXRlbSA6IGRhdGFUZXN0SWRzLnNvcnRhYmxlRWZmZWN0SXRlbX1cbiAgICAgICAgdHJhbnNmb3JtPXtDU1MuVHJhbnNmb3JtLnRvU3RyaW5nKHRyYW5zZm9ybSl9XG4gICAgICAgIHRyYW5zaXRpb249e3RyYW5zaXRpb24gfHwgJyd9XG4gICAgICAgIHsuLi5hdHRyaWJ1dGVzfVxuICAgICAgPlxuICAgICAgICA8RWZmZWN0UGFuZWxcbiAgICAgICAgICB7Li4ucGFuZWxQcm9wc31cbiAgICAgICAgICBrZXk9e2VmZmVjdC5pZH1cbiAgICAgICAgICBpZHg9e2lkeH1cbiAgICAgICAgICBlZmZlY3Q9e2VmZmVjdH1cbiAgICAgICAgICBsaXN0ZW5lcnM9e2xpc3RlbmVyc31cbiAgICAgICAgICBpc0RyYWdnYWJsZT17IWRpc2FibGVkfVxuICAgICAgICAvPlxuICAgICAgPC9Tb3J0YWJsZVN0eWxlZEl0ZW0+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBFZmZlY3RMaXN0ID0gKHByb3BzOiBFZmZlY3RMaXN0UHJvcHMpID0+IHtcbiAgICBjb25zdCB7ZWZmZWN0cywgZWZmZWN0T3JkZXIsIHZpc1N0YXRlQWN0aW9uc30gPSBwcm9wcztcblxuICAgIGNvbnN0IGVmZmVjdHNUb1Nob3cgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHJldHVybiBlZmZlY3RPcmRlci5yZWR1Y2UoKGFjYywgZWZmZWN0SWQpID0+IHtcbiAgICAgICAgY29uc3QgZWZmZWN0ID0gZmluZEJ5SWQoZWZmZWN0SWQpKGVmZmVjdHMuZmlsdGVyKEJvb2xlYW4pKTtcbiAgICAgICAgaWYgKCFlZmZlY3QpIHtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbLi4uYWNjLCBlZmZlY3RdO1xuICAgICAgfSwgW10gYXMgRWZmZWN0W10pO1xuICAgIH0sIFtlZmZlY3RzLCBlZmZlY3RPcmRlcl0pO1xuXG4gICAgY29uc3Qgc2lkZVBhbmVsRG5kSXRlbXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHJldHVybiBlZmZlY3RzVG9TaG93Lm1hcCgoe2lkfSkgPT4gaWQpO1xuICAgIH0sIFtlZmZlY3RzVG9TaG93XSk7XG5cbiAgICBjb25zdCBwYW5lbFByb3BzID0gdXNlTWVtbyhcbiAgICAgICgpID0+ICh7XG4gICAgICAgIGVmZmVjdHMsXG4gICAgICAgIGVmZmVjdE9yZGVyLFxuICAgICAgICByZW1vdmVFZmZlY3Q6IHZpc1N0YXRlQWN0aW9ucy5yZW1vdmVFZmZlY3QsXG4gICAgICAgIHVwZGF0ZUVmZmVjdDogdmlzU3RhdGVBY3Rpb25zLnVwZGF0ZUVmZmVjdFxuICAgICAgfSksXG4gICAgICBbZWZmZWN0cywgZWZmZWN0T3JkZXIsIHZpc1N0YXRlQWN0aW9uc11cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxDb250YWluZXI+XG4gICAgICAgIDxTb3J0YWJsZUNvbnRleHRcbiAgICAgICAgICBpZD17U09SVEFCTEVfRUZGRUNUX1BBTkVMX1RZUEV9XG4gICAgICAgICAgaXRlbXM9e3NpZGVQYW5lbERuZEl0ZW1zfVxuICAgICAgICAgIHN0cmF0ZWd5PXt2ZXJ0aWNhbExpc3RTb3J0aW5nU3RyYXRlZ3l9XG4gICAgICAgICAgZGlzYWJsZWQ9e2ZhbHNlfVxuICAgICAgICA+XG4gICAgICAgICAge2VmZmVjdHNUb1Nob3cubWFwKGVmZmVjdCA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJdGVtXG4gICAgICAgICAgICAgIGtleT17ZWZmZWN0LmlkfVxuICAgICAgICAgICAgICBlZmZlY3Q9e2VmZmVjdH1cbiAgICAgICAgICAgICAgaWR4PXtlZmZlY3RzLmZpbmRJbmRleChsID0+IGw/LmlkID09PSBlZmZlY3QuaWQpfVxuICAgICAgICAgICAgICBwYW5lbFByb3BzPXtwYW5lbFByb3BzfVxuICAgICAgICAgICAgICBkaXNhYmxlZD17ZmFsc2V9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L1NvcnRhYmxlQ29udGV4dD5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG4gIHJldHVybiBFZmZlY3RMaXN0O1xufVxuXG5leHBvcnQgZGVmYXVsdCBFZmZlY3RMaXN0RmFjdG9yeTtcbiJdfQ==
153
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lZmZlY3RzL2VmZmVjdC1saXN0LnRzeCJdLCJuYW1lcyI6WyJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJTb3J0YWJsZVN0eWxlZEl0ZW0iLCJwcm9wcyIsInRoZW1lIiwiZHJvcGRvd25XcmFwcGVyWiIsInRyYW5zaXRpb24iLCJ0cmFuc2Zvcm0iLCJwYW5lbEJhY2tncm91bmRIb3ZlciIsImZvbnRGYW1pbHkiLCJmb250V2VpZ2h0IiwiZm9udFNpemUiLCJsaW5lSGVpZ2h0IiwidGV4dENvbG9ySGwiLCJFZmZlY3RMaXN0RmFjdG9yeSIsImRlcHMiLCJFZmZlY3RQYW5lbEZhY3RvcnkiLCJFZmZlY3RQYW5lbCIsIlNvcnRhYmxlSXRlbSIsImVmZmVjdCIsImlkeCIsInBhbmVsUHJvcHMiLCJkaXNhYmxlZCIsImlkIiwiZGF0YSIsInR5cGUiLCJTT1JUQUJMRV9FRkZFQ1RfVFlQRSIsInBhcmVudCIsIlNPUlRBQkxFX0VGRkVDVF9QQU5FTF9UWVBFIiwiYXR0cmlidXRlcyIsImxpc3RlbmVycyIsInNldE5vZGVSZWYiLCJpc0RyYWdnaW5nIiwiZGF0YVRlc3RJZHMiLCJzb3J0YWJsZUVmZmVjdEl0ZW0iLCJzdGF0aWNFZmZlY3RJdGVtIiwic29ydGluZyIsIkNTUyIsIlRyYW5zZm9ybSIsInRvU3RyaW5nIiwiRWZmZWN0TGlzdCIsImVmZmVjdHMiLCJlZmZlY3RPcmRlciIsInZpc1N0YXRlQWN0aW9ucyIsImVmZmVjdHNUb1Nob3ciLCJyZWR1Y2UiLCJhY2MiLCJlZmZlY3RJZCIsImZpbHRlciIsIkJvb2xlYW4iLCJzaWRlUGFuZWxEbmRJdGVtcyIsIm1hcCIsInJlbW92ZUVmZmVjdCIsInVwZGF0ZUVmZmVjdCIsInZlcnRpY2FsTGlzdFNvcnRpbmdTdHJhdGVneSIsImZpbmRJbmRleCIsImwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFJ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QixPQUFQO0FBQUEsS0FEaUIsRUFPakIsQ0FBQ1osT0FBRCxFQUFVQyxXQUFWLEVBQXVCQyxlQUF2QixDQVBpQixDQUFuQjtBQVVBLHdCQUNFLGdDQUFDLFNBQUQscUJBQ0UsZ0NBQUMseUJBQUQ7QUFDRSxNQUFBLEVBQUUsRUFBRWYscUNBRE47QUFFRSxNQUFBLEtBQUssRUFBRXNCLGlCQUZUO0FBR0UsTUFBQSxRQUFRLEVBQUVJLHFDQUhaO0FBSUUsTUFBQSxRQUFRLEVBQUU7QUFKWixPQU1HVixhQUFhLENBQUNPLEdBQWQsQ0FBa0IsVUFBQWhDLE1BQU07QUFBQSwwQkFDdkIsZ0NBQUMsWUFBRDtBQUNFLFFBQUEsR0FBRyxFQUFFQSxNQUFNLENBQUNJLEVBRGQ7QUFFRSxRQUFBLE1BQU0sRUFBRUosTUFGVjtBQUdFLFFBQUEsR0FBRyxFQUFFc0IsT0FBTyxDQUFDYyxTQUFSLENBQWtCLFVBQUFDLENBQUM7QUFBQSxpQkFBSSxDQUFBQSxDQUFDLFNBQUQsSUFBQUEsQ0FBQyxXQUFELFlBQUFBLENBQUMsQ0FBRWpDLEVBQUgsTUFBVUosTUFBTSxDQUFDSSxFQUFyQjtBQUFBLFNBQW5CLENBSFA7QUFJRSxRQUFBLFVBQVUsRUFBRUYsVUFKZDtBQUtFLFFBQUEsUUFBUSxFQUFFO0FBTFosUUFEdUI7QUFBQSxLQUF4QixDQU5ILENBREYsQ0FERjtBQW9CRCxHQS9DRDs7QUFnREEsU0FBT21CLFVBQVA7QUFDRDs7ZUFFYzFCLGlCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7Q1NTfSBmcm9tICdAZG5kLWtpdC91dGlsaXRpZXMnO1xuaW1wb3J0IHt1c2VTb3J0YWJsZSwgU29ydGFibGVDb250ZXh0LCB2ZXJ0aWNhbExpc3RTb3J0aW5nU3RyYXRlZ3l9IGZyb20gJ0BkbmQta2l0L3NvcnRhYmxlJztcblxuaW1wb3J0IHtkYXRhVGVzdElkcywgU09SVEFCTEVfRUZGRUNUX1RZUEUsIFNPUlRBQkxFX0VGRkVDVF9QQU5FTF9UWVBFfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge2ZpbmRCeUlkfSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7VmlzU3RhdGVBY3Rpb25zfSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuaW1wb3J0IHtFZmZlY3R9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5pbXBvcnQgRWZmZWN0UGFuZWxGYWN0b3J5IGZyb20gJy4vZWZmZWN0LXBhbmVsJztcblxuZXhwb3J0IHR5cGUgRWZmZWN0TGlzdFByb3BzID0ge1xuICBlZmZlY3RzOiBFZmZlY3RbXTtcbiAgZWZmZWN0T3JkZXI6IHN0cmluZ1tdO1xuICB2aXNTdGF0ZUFjdGlvbnM6IHR5cGVvZiBWaXNTdGF0ZUFjdGlvbnM7XG4gIGlzU29ydGFibGU6IGJvb2xlYW47XG59O1xuXG5jb25zdCBDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuYDtcblxudHlwZSBTb3J0YWJsZVN0eWxlZEl0ZW1Qcm9wcyA9IHt0cmFuc2l0aW9uPzogc3RyaW5nOyB0cmFuc2Zvcm0/OiBzdHJpbmd9O1xuY29uc3QgU29ydGFibGVTdHlsZWRJdGVtID0gc3R5bGVkLmRpdjxTb3J0YWJsZVN0eWxlZEl0ZW1Qcm9wcz5gXG4gIHotaW5kZXg6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZHJvcGRvd25XcmFwcGVyWiArIDF9O1xuICB0cmFuc2l0aW9uOiAke3Byb3BzID0+IHByb3BzLnRyYW5zaXRpb259O1xuICB0cmFuc2Zvcm06ICR7cHJvcHMgPT4gcHJvcHMudHJhbnNmb3JtfTtcbiAgb3V0bGluZTogbm9uZTtcbiAgJi5zb3J0aW5nIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgJi5zb3J0aW5nLWVmZmVjdHMgLmVmZmVjdC1wYW5lbF9faGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyfTtcbiAgICBmb250LWZhbWlseTogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250RmFtaWx5fTtcbiAgICBmb250LXdlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5mb250V2VpZ2h0fTtcbiAgICBmb250LXNpemU6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZm9udFNpemV9O1xuICAgIGxpbmUtaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxpbmVIZWlnaHR9O1xuICAgICosXG4gICAgKjpiZWZvcmUsXG4gICAgKjphZnRlciB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cbiAgICAuZWZmZWN0X19kcmFnLWhhbmRsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICAgIH1cbiAgfVxuYDtcblxuRWZmZWN0TGlzdEZhY3RvcnkuZGVwcyA9IFtFZmZlY3RQYW5lbEZhY3RvcnldO1xuXG5mdW5jdGlvbiBFZmZlY3RMaXN0RmFjdG9yeShcbiAgRWZmZWN0UGFuZWw6IFJldHVyblR5cGU8dHlwZW9mIEVmZmVjdFBhbmVsRmFjdG9yeT5cbik6IFJlYWN0LkZDPEVmZmVjdExpc3RQcm9wcz4ge1xuICBjb25zdCBTb3J0YWJsZUl0ZW0gPSAoe2VmZmVjdCwgaWR4LCBwYW5lbFByb3BzLCBkaXNhYmxlZH0pID0+IHtcbiAgICBjb25zdCB7YXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCBpc0RyYWdnaW5nLCB0cmFuc2Zvcm0sIHRyYW5zaXRpb259ID0gdXNlU29ydGFibGUoe1xuICAgICAgaWQ6IGVmZmVjdC5pZCxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgdHlwZTogU09SVEFCTEVfRUZGRUNUX1RZUEUsXG4gICAgICAgIHBhcmVudDogU09SVEFCTEVfRUZGRUNUX1BBTkVMX1RZUEVcbiAgICAgIH0sXG4gICAgICBkaXNhYmxlZFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTb3J0YWJsZVN0eWxlZEl0ZW1cbiAgICAgICAgcmVmPXtzZXROb2RlUmVmfVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoXG4gICAgICAgICAge1tkYXRhVGVzdElkcy5zb3J0YWJsZUVmZmVjdEl0ZW1dOiAhZGlzYWJsZWR9LFxuICAgICAgICAgIHtbZGF0YVRlc3RJZHMuc3RhdGljRWZmZWN0SXRlbV06IGRpc2FibGVkfSxcbiAgICAgICAgICB7c29ydGluZzogaXNEcmFnZ2luZ31cbiAgICAgICAgKX1cbiAgICAgICAgZGF0YS10ZXN0aWQ9e2Rpc2FibGVkID8gZGF0YVRlc3RJZHMuc3RhdGljRWZmZWN0SXRlbSA6IGRhdGFUZXN0SWRzLnNvcnRhYmxlRWZmZWN0SXRlbX1cbiAgICAgICAgdHJhbnNmb3JtPXtDU1MuVHJhbnNmb3JtLnRvU3RyaW5nKHRyYW5zZm9ybSl9XG4gICAgICAgIHRyYW5zaXRpb249e3RyYW5zaXRpb24gfHwgJyd9XG4gICAgICAgIHsuLi5hdHRyaWJ1dGVzfVxuICAgICAgPlxuICAgICAgICA8RWZmZWN0UGFuZWxcbiAgICAgICAgICB7Li4ucGFuZWxQcm9wc31cbiAgICAgICAgICBrZXk9e2VmZmVjdC5pZH1cbiAgICAgICAgICBpZHg9e2lkeH1cbiAgICAgICAgICBlZmZlY3Q9e2VmZmVjdH1cbiAgICAgICAgICBsaXN0ZW5lcnM9e2xpc3RlbmVyc31cbiAgICAgICAgICBpc0RyYWdnYWJsZT17IWRpc2FibGVkfVxuICAgICAgICAvPlxuICAgICAgPC9Tb3J0YWJsZVN0eWxlZEl0ZW0+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBFZmZlY3RMaXN0ID0gKHByb3BzOiBFZmZlY3RMaXN0UHJvcHMpID0+IHtcbiAgICBjb25zdCB7ZWZmZWN0cywgZWZmZWN0T3JkZXIsIHZpc1N0YXRlQWN0aW9uc30gPSBwcm9wcztcblxuICAgIGNvbnN0IGVmZmVjdHNUb1Nob3cgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHJldHVybiBlZmZlY3RPcmRlci5yZWR1Y2UoKGFjYywgZWZmZWN0SWQpID0+IHtcbiAgICAgICAgY29uc3QgZWZmZWN0ID0gZmluZEJ5SWQoZWZmZWN0SWQpKGVmZmVjdHMuZmlsdGVyKEJvb2xlYW4pKTtcbiAgICAgICAgaWYgKCFlZmZlY3QpIHtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbLi4uYWNjLCBlZmZlY3RdO1xuICAgICAgfSwgW10gYXMgRWZmZWN0W10pO1xuICAgIH0sIFtlZmZlY3RzLCBlZmZlY3RPcmRlcl0pO1xuXG4gICAgY29uc3Qgc2lkZVBhbmVsRG5kSXRlbXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHJldHVybiBlZmZlY3RzVG9TaG93Lm1hcCgoe2lkfSkgPT4gaWQpO1xuICAgIH0sIFtlZmZlY3RzVG9TaG93XSk7XG5cbiAgICBjb25zdCBwYW5lbFByb3BzID0gdXNlTWVtbyhcbiAgICAgICgpID0+ICh7XG4gICAgICAgIGVmZmVjdHMsXG4gICAgICAgIGVmZmVjdE9yZGVyLFxuICAgICAgICByZW1vdmVFZmZlY3Q6IHZpc1N0YXRlQWN0aW9ucy5yZW1vdmVFZmZlY3QsXG4gICAgICAgIHVwZGF0ZUVmZmVjdDogdmlzU3RhdGVBY3Rpb25zLnVwZGF0ZUVmZmVjdFxuICAgICAgfSksXG4gICAgICBbZWZmZWN0cywgZWZmZWN0T3JkZXIsIHZpc1N0YXRlQWN0aW9uc11cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxDb250YWluZXI+XG4gICAgICAgIDxTb3J0YWJsZUNvbnRleHRcbiAgICAgICAgICBpZD17U09SVEFCTEVfRUZGRUNUX1BBTkVMX1RZUEV9XG4gICAgICAgICAgaXRlbXM9e3NpZGVQYW5lbERuZEl0ZW1zfVxuICAgICAgICAgIHN0cmF0ZWd5PXt2ZXJ0aWNhbExpc3RTb3J0aW5nU3RyYXRlZ3l9XG4gICAgICAgICAgZGlzYWJsZWQ9e2ZhbHNlfVxuICAgICAgICA+XG4gICAgICAgICAge2VmZmVjdHNUb1Nob3cubWFwKGVmZmVjdCA9PiAoXG4gICAgICAgICAgICA8U29ydGFibGVJdGVtXG4gICAgICAgICAgICAgIGtleT17ZWZmZWN0LmlkfVxuICAgICAgICAgICAgICBlZmZlY3Q9e2VmZmVjdH1cbiAgICAgICAgICAgICAgaWR4PXtlZmZlY3RzLmZpbmRJbmRleChsID0+IGw/LmlkID09PSBlZmZlY3QuaWQpfVxuICAgICAgICAgICAgICBwYW5lbFByb3BzPXtwYW5lbFByb3BzfVxuICAgICAgICAgICAgICBkaXNhYmxlZD17ZmFsc2V9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L1NvcnRhYmxlQ29udGV4dD5cbiAgICAgIDwvQ29udGFpbmVyPlxuICAgICk7XG4gIH07XG4gIHJldHVybiBFZmZlY3RMaXN0O1xufVxuXG5leHBvcnQgZGVmYXVsdCBFZmZlY3RMaXN0RmFjdG9yeTtcbiJdfQ==
@@ -11,10 +11,11 @@ export declare type EffectManagerState = {
11
11
  effectOrder: string[];
12
12
  children: React.ReactNode;
13
13
  };
14
+ export declare type EffectManagerProps = {};
14
15
  export declare type EffectManagerWithIntlProp = {
15
16
  intl: IntlShape;
16
17
  };
17
- declare function EffectManagerFactory(EffectList: ReturnType<typeof EffectListFactory>, SidePanelTitle: ReturnType<typeof SidePanelTitleFactory>, EffectTypeSelector: ReturnType<typeof EffectTypeSelectorFactory>): React.FC<EffectManagerWithIntlProp>;
18
+ declare function EffectManagerFactory(EffectList: ReturnType<typeof EffectListFactory>, SidePanelTitle: ReturnType<typeof SidePanelTitleFactory>, EffectTypeSelector: ReturnType<typeof EffectTypeSelectorFactory>): React.FC<EffectManagerProps>;
18
19
  declare namespace EffectManagerFactory {
19
20
  var deps: ((() => React.FC<import("./side-panel-title").PanelTitleProps>) | typeof EffectListFactory | typeof EffectTypeSelectorFactory)[];
20
21
  }
@@ -1,23 +1,3 @@
1
- // Copyright (c) 2023 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
1
  "use strict";
22
2
 
23
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -29,6 +9,10 @@ Object.defineProperty(exports, "__esModule", {
29
9
  });
30
10
  exports["default"] = void 0;
31
11
 
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
32
16
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
33
17
 
34
18
  var _react = _interopRequireWildcard(require("react"));
@@ -51,6 +35,10 @@ var _effectTypeSelector = _interopRequireDefault(require("./effect-type-selector
51
35
 
52
36
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
53
37
 
38
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
39
+
40
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
41
+
54
42
  var StyledEffectPanelContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n pointer-events: none !important; /* prevent padding from blocking input */\n flex-grow: 1;\n justify-content: space-between;\n overflow: hidden;\n\n & > * {\n /* all children should allow input */\n pointer-events: all;\n }\n"]))); // top right position absolute
55
43
 
56
44
 
@@ -68,8 +56,10 @@ var StyledEffectPanelHeader = _styledComponents["default"].div(_templateObject3
68
56
  return theme.effectPanelWidth;
69
57
  });
70
58
 
71
- var StyledEffectPanelContent = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n padding: 10px 0;\n overflow: overlay;\n display: flex;\n flex-direction: column;\n"])), function (props) {
59
+ var StyledEffectPanelContent = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n padding: ", ";\n overflow: overlay;\n display: flex;\n flex-direction: column;\n"])), function (props) {
72
60
  return props.theme.sidePanelScrollBar;
61
+ }, function (props) {
62
+ return props.extended ? '32px' : '10px 0px 10px 0px';
73
63
  });
74
64
 
75
65
  EffectManagerFactory.deps = [_effectList["default"], _sidePanelTitle["default"], _effectTypeSelector["default"]];
@@ -80,27 +70,50 @@ function EffectManagerFactory(EffectList, SidePanelTitle, EffectTypeSelector) {
80
70
  visStateActions = props.visStateActions,
81
71
  effects = props.effects,
82
72
  effectOrder = props.effectOrder,
83
- children = props.children; // Prevent shadow effect from being added multiple times
73
+ children = props.children;
74
+
75
+ var _useState = (0, _react.useState)(false),
76
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
77
+ typeSelectorOpened = _useState2[0],
78
+ setTypeSelectorOpened = _useState2[1]; // Prevent shadow effect from being added multiple times
79
+
84
80
 
85
81
  var effectOptions = (0, _react.useMemo)(function () {
86
82
  var hasShadow = effects.some(function (effect) {
87
- return effect.config.type === _constants.LIGHT_AND_SHADOW_EFFECT.type;
83
+ return effect.type === _constants.LIGHT_AND_SHADOW_EFFECT.type;
84
+ });
85
+ return _constants.EFFECT_DESCRIPTIONS.map(function (desc) {
86
+ return _objectSpread(_objectSpread({}, desc), {}, {
87
+ disabled: Boolean(hasShadow && desc.type === _constants.LIGHT_AND_SHADOW_EFFECT.type)
88
+ });
88
89
  });
89
- return hasShadow ? _constants.EFFECT_DESCS.filter(function (desc) {
90
- return desc.type !== _constants.LIGHT_AND_SHADOW_EFFECT.type;
91
- }) : _constants.EFFECT_DESCS;
92
90
  }, [effects]);
91
+ var onAddEffect = (0, _react.useCallback)(function (type) {
92
+ visStateActions.addEffect({
93
+ type: type
94
+ });
95
+ }, []);
96
+ var onTypeSelectOpen = (0, _react.useCallback)(function () {
97
+ setTypeSelectorOpened(true);
98
+ }, []);
99
+ var onTypeSelectClose = (0, _react.useCallback)(function () {
100
+ setTypeSelectorOpened(false);
101
+ }, []);
93
102
  return /*#__PURE__*/_react["default"].createElement(StyledEffectPanelContainer, {
94
103
  className: "effect-manager"
95
104
  }, /*#__PURE__*/_react["default"].createElement(StyledEffectPanel, null, /*#__PURE__*/_react["default"].createElement(StyledEffectPanelHeader, null, /*#__PURE__*/_react["default"].createElement(SidePanelTitle, {
96
105
  className: "effect-manager-title",
97
106
  title: intl.formatMessage({
98
- id: 'effectManager.effect'
107
+ id: 'effectManager.effects'
99
108
  })
100
109
  }, /*#__PURE__*/_react["default"].createElement(EffectTypeSelector, {
101
110
  options: effectOptions,
102
- onSelect: visStateActions.addEffect
103
- }))), /*#__PURE__*/_react["default"].createElement(StyledEffectPanelContent, null, /*#__PURE__*/_react["default"].createElement(EffectList, {
111
+ onSelect: onAddEffect,
112
+ onOpen: onTypeSelectOpen,
113
+ onBlur: onTypeSelectClose
114
+ }))), /*#__PURE__*/_react["default"].createElement(StyledEffectPanelContent, {
115
+ extended: typeSelectorOpened && effects.length === 0
116
+ }, /*#__PURE__*/_react["default"].createElement(EffectList, {
104
117
  effects: effects,
105
118
  effectOrder: effectOrder,
106
119
  visStateActions: visStateActions,
@@ -126,4 +139,4 @@ function EffectManagerFactory(EffectList, SidePanelTitle, EffectTypeSelector) {
126
139
 
127
140
  var _default = EffectManagerFactory;
128
141
  exports["default"] = _default;
129
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lZmZlY3RzL2VmZmVjdC1tYW5hZ2VyLnRzeCJdLCJuYW1lcyI6WyJTdHlsZWRFZmZlY3RQYW5lbENvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIlN0eWxlZEVmZmVjdFBhbmVsIiwicHJvcHMiLCJ0aGVtZSIsInNpZGVQYW5lbEJnIiwiU3R5bGVkRWZmZWN0UGFuZWxIZWFkZXIiLCJlZmZlY3RQYW5lbFBhZGRpbmdUb3AiLCJlZmZlY3RQYW5lbFBhZGRpbmdTaWRlIiwiYm9yZGVyQ29sb3IiLCJlZmZlY3RQYW5lbFdpZHRoIiwiU3R5bGVkRWZmZWN0UGFuZWxDb250ZW50Iiwic2lkZVBhbmVsU2Nyb2xsQmFyIiwiRWZmZWN0TWFuYWdlckZhY3RvcnkiLCJkZXBzIiwiRWZmZWN0TGlzdEZhY3RvcnkiLCJTaWRlUGFuZWxUaXRsZUZhY3RvcnkiLCJFZmZlY3RUeXBlU2VsZWN0b3JGYWN0b3J5IiwiRWZmZWN0TGlzdCIsIlNpZGVQYW5lbFRpdGxlIiwiRWZmZWN0VHlwZVNlbGVjdG9yIiwiRWZmZWN0TWFuYWdlciIsImludGwiLCJ2aXNTdGF0ZUFjdGlvbnMiLCJlZmZlY3RzIiwiZWZmZWN0T3JkZXIiLCJjaGlsZHJlbiIsImVmZmVjdE9wdGlvbnMiLCJoYXNTaGFkb3ciLCJzb21lIiwiZWZmZWN0IiwiY29uZmlnIiwidHlwZSIsIkxJR0hUX0FORF9TSEFET1dfRUZGRUNUIiwiRUZGRUNUX0RFU0NTIiwiZmlsdGVyIiwiZGVzYyIsImZvcm1hdE1lc3NhZ2UiLCJpZCIsImFkZEVmZmVjdCIsInN0YXRlIiwidmlzU3RhdGUiLCJkZW1vIiwia2VwbGVyR2wiLCJtYXAiLCJ1cGRhdGVFZmZlY3QiLCJyZW1vdmVFZmZlY3QiLCJyZW9yZGVyRWZmZWN0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUE7O0FBRUE7O0FBQ0E7O0FBSUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFVQSxJQUFNQSwwQkFBMEIsR0FBR0MsNkJB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Q0EsU0FBTyx5QkFDTCxFQURLLEVBRUwsVUFBQWMsS0FBSyxFQUFJO0FBQ1AsUUFBTUMsUUFBUSxHQUFHRCxLQUFLLENBQUNFLElBQU4sQ0FBV0MsUUFBWCxDQUFvQkMsR0FBcEIsQ0FBd0JILFFBQXpDO0FBQ0EsV0FBTztBQUNMakIsTUFBQUEsT0FBTyxFQUFFaUIsUUFBUSxDQUFDakIsT0FEYjtBQUVMQyxNQUFBQSxXQUFXLEVBQUVnQixRQUFRLENBQUNoQjtBQUZqQixLQUFQO0FBSUQsR0FSSSxFQVNMO0FBQ0VGLElBQUFBLGVBQWUsRUFBRTtBQUFDZ0IsTUFBQUEsU0FBUyxFQUFUQSxrQkFBRDtBQUFZTSxNQUFBQSxZQUFZLEVBQVpBLHFCQUFaO0FBQTBCQyxNQUFBQSxZQUFZLEVBQVpBLHFCQUExQjtBQUF3Q0MsTUFBQUEsYUFBYSxFQUFiQTtBQUF4QztBQURuQixHQVRLLEVBWUwsMkJBQVcxQixhQUFYLENBWkssQ0FBUDtBQWFEOztlQUVjUixvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtJbnRsU2hhcGV9IGZyb20gJ3JlYWN0LWludGwnO1xuaW1wb3J0IHtpbmplY3RJbnRsfSBmcm9tICdyZWFjdC1pbnRsJztcblxuaW1wb3J0IHthZGRFZmZlY3QsIHVwZGF0ZUVmZmVjdCwgcmVtb3ZlRWZmZWN0LCByZW9yZGVyRWZmZWN0fSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuaW1wb3J0IHtMSUdIVF9BTkRfU0hBRE9XX0VGRkVDVCwgRUZGRUNUX0RFU0NTfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge1Zpc1N0YXRlQWN0aW9uc30gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcbmltcG9ydCB7RWZmZWN0fSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuaW1wb3J0IHt3aXRoU3RhdGV9IGZyb20gJy4uL2luamVjdG9yJztcbmltcG9ydCBTaWRlUGFuZWxUaXRsZUZhY3RvcnkgZnJvbSAnLi9zaWRlLXBhbmVsLXRpdGxlJztcbmltcG9ydCBFZmZlY3RMaXN0RmFjdG9yeSBmcm9tICcuL2VmZmVjdC1saXN0JztcbmltcG9ydCBFZmZlY3RUeXBlU2VsZWN0b3JGYWN0b3J5IGZyb20gJy4vZWZmZWN0LXR5cGUtc2VsZWN0b3InO1xuXG5leHBvcnQgdHlwZSBFZmZlY3RNYW5hZ2VyU3RhdGUgPSB7XG4gIHZpc1N0YXRlQWN0aW9uczogdHlwZW9mIFZpc1N0YXRlQWN0aW9ucztcbiAgZWZmZWN0czogRWZmZWN0W107XG4gIGVmZmVjdE9yZGVyOiBzdHJpbmdbXTtcbiAgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZTtcbn07XG5leHBvcnQgdHlwZSBFZmZlY3RNYW5hZ2VyV2l0aEludGxQcm9wID0ge2ludGw6IEludGxTaGFwZX07XG5cbmNvbnN0IFN0eWxlZEVmZmVjdFBhbmVsQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDsgLyogcHJldmVudCBwYWRkaW5nIGZyb20gYmxvY2tpbmcgaW5wdXQgKi9cbiAgZmxleC1ncm93OiAxO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJiA+ICoge1xuICAgIC8qIGFsbCBjaGlsZHJlbiBzaG91bGQgYWxsb3cgaW5wdXQgKi9cbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICB9XG5gO1xuXG4vLyB0b3AgcmlnaHQgcG9zaXRpb24gYWJzb2x1dGVcbmNvbnN0IFN0eWxlZEVmZmVjdFBhbmVsID0gc3R5bGVkLmRpdmBcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVQYW5lbEJnfTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuYDtcblxuY29uc3QgU3R5bGVkRWZmZWN0UGFuZWxIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiAkeyh7dGhlbWV9KSA9PlxuICAgIGAke3RoZW1lLmVmZmVjdFBhbmVsUGFkZGluZ1RvcH1weCAke3RoZW1lLmVmZmVjdFBhbmVsUGFkZGluZ1NpZGV9cHggNHB4ICR7dGhlbWUuZWZmZWN0UGFuZWxQYWRkaW5nU2lkZX1weH1gfTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYm9yZGVyQ29sb3J9O1xuICBtaW4td2lkdGg6ICR7KHt0aGVtZX0pID0+IHRoZW1lLmVmZmVjdFBhbmVsV2lkdGh9cHg7XG5gO1xuXG5jb25zdCBTdHlsZWRFZmZlY3RQYW5lbENvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVQYW5lbFNjcm9sbEJhcn07XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgb3ZlcmZsb3c6IG92ZXJsYXk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5gO1xuXG5FZmZlY3RNYW5hZ2VyRmFjdG9yeS5kZXBzID0gW0VmZmVjdExpc3RGYWN0b3J5LCBTaWRlUGFuZWxUaXRsZUZhY3RvcnksIEVmZmVjdFR5cGVTZWxlY3RvckZhY3RvcnldO1xuXG5mdW5jdGlvbiBFZmZlY3RNYW5hZ2VyRmFjdG9yeShcbiAgRWZmZWN0TGlzdDogUmV0dXJuVHlwZTx0eXBlb2YgRWZmZWN0TGlzdEZhY3Rvcnk+LFxuICBTaWRlUGFuZWxUaXRsZTogUmV0dXJuVHlwZTx0eXBlb2YgU2lkZVBhbmVsVGl0bGVGYWN0b3J5PixcbiAgRWZmZWN0VHlwZVNlbGVjdG9yOiBSZXR1cm5UeXBlPHR5cGVvZiBFZmZlY3RUeXBlU2VsZWN0b3JGYWN0b3J5PlxuKTogUmVhY3QuRkM8RWZmZWN0TWFuYWdlcldpdGhJbnRsUHJvcD4ge1xuICBjb25zdCBFZmZlY3RNYW5hZ2VyID0gKHByb3BzOiBFZmZlY3RNYW5hZ2VyV2l0aEludGxQcm9wICYgRWZmZWN0TWFuYWdlclN0YXRlKSA9PiB7XG4gICAgY29uc3Qge2ludGwsIHZpc1N0YXRlQWN0aW9ucywgZWZmZWN0cywgZWZmZWN0T3JkZXIsIGNoaWxkcmVufSA9IHByb3BzO1xuXG4gICAgLy8gUHJldmVudCBzaGFkb3cgZWZmZWN0IGZyb20gYmVpbmcgYWRkZWQgbXVsdGlwbGUgdGltZXNcbiAgICBjb25zdCBlZmZlY3RPcHRpb25zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCBoYXNTaGFkb3cgPSBlZmZlY3RzLnNvbWUoZWZmZWN0ID0+IHtcbiAgICAgICAgcmV0dXJuIGVmZmVjdC5jb25maWcudHlwZSA9PT0gTElHSFRfQU5EX1NIQURPV19FRkZFQ1QudHlwZTtcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gaGFzU2hhZG93XG4gICAgICAgID8gRUZGRUNUX0RFU0NTLmZpbHRlcihkZXNjID0+IGRlc2MudHlwZSAhPT0gTElHSFRfQU5EX1NIQURPV19FRkZFQ1QudHlwZSlcbiAgICAgICAgOiBFRkZFQ1RfREVTQ1M7XG4gICAgfSwgW2VmZmVjdHNdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkRWZmZWN0UGFuZWxDb250YWluZXIgY2xhc3NOYW1lPVwiZWZmZWN0LW1hbmFnZXJcIj5cbiAgICAgICAgPFN0eWxlZEVmZmVjdFBhbmVsPlxuICAgICAgICAgIDxTdHlsZWRFZmZlY3RQYW5lbEhlYWRlcj5cbiAgICAgICAgICAgIDxTaWRlUGFuZWxUaXRsZVxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJlZmZlY3QtbWFuYWdlci10aXRsZVwiXG4gICAgICAgICAgICAgIHRpdGxlPXtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnZWZmZWN0TWFuYWdlci5lZmZlY3QnfSl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFZmZlY3RUeXBlU2VsZWN0b3Igb3B0aW9ucz17ZWZmZWN0T3B0aW9uc30gb25TZWxlY3Q9e3Zpc1N0YXRlQWN0aW9ucy5hZGRFZmZlY3R9IC8+XG4gICAgICAgICAgICA8L1NpZGVQYW5lbFRpdGxlPlxuICAgICAgICAgIDwvU3R5bGVkRWZmZWN0UGFuZWxIZWFkZXI+XG5cbiAgICAgICAgICA8U3R5bGVkRWZmZWN0UGFuZWxDb250ZW50PlxuICAgICAgICAgICAgPEVmZmVjdExpc3RcbiAgICAgICAgICAgICAgZWZmZWN0cz17ZWZmZWN0c31cbiAgICAgICAgICAgICAgZWZmZWN0T3JkZXI9e2VmZmVjdE9yZGVyfVxuICAgICAgICAgICAgICB2aXNTdGF0ZUFjdGlvbnM9e3Zpc1N0YXRlQWN0aW9uc31cbiAgICAgICAgICAgICAgaXNTb3J0YWJsZT17dHJ1ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TdHlsZWRFZmZlY3RQYW5lbENvbnRlbnQ+XG4gICAgICAgIDwvU3R5bGVkRWZmZWN0UGFuZWw+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvU3R5bGVkRWZmZWN0UGFuZWxDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gd2l0aFN0YXRlKFxuICAgIFtdLFxuICAgIHN0YXRlID0+IHtcbiAgICAgIGNvbnN0IHZpc1N0YXRlID0gc3RhdGUuZGVtby5rZXBsZXJHbC5tYXAudmlzU3RhdGU7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBlZmZlY3RzOiB2aXNTdGF0ZS5lZmZlY3RzLFxuICAgICAgICBlZmZlY3RPcmRlcjogdmlzU3RhdGUuZWZmZWN0T3JkZXJcbiAgICAgIH07XG4gICAgfSxcbiAgICB7XG4gICAgICB2aXNTdGF0ZUFjdGlvbnM6IHthZGRFZmZlY3QsIHVwZGF0ZUVmZmVjdCwgcmVtb3ZlRWZmZWN0LCByZW9yZGVyRWZmZWN0fVxuICAgIH1cbiAgKShpbmplY3RJbnRsKEVmZmVjdE1hbmFnZXIpKSBhcyBSZWFjdC5GQzx7fT47XG59XG5cbmV4cG9ydCBkZWZhdWx0IEVmZmVjdE1hbmFnZXJGYWN0b3J5O1xuIl19
142
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lZmZlY3RzL2VmZmVjdC1tYW5hZ2VyLnRzeCJdLCJuYW1lcyI6WyJTdHlsZWRFZmZlY3RQYW5lbENvbnRhaW5lciIsInN0eWxlZCIsImRpdiIsIlN0eWxlZEVmZmVjdFBhbmVsIiwicHJvcHMiLCJ0aGVtZSIsInNpZGVQYW5lbEJnIiwiU3R5bGVkRWZmZWN0UGFuZWxIZWFkZXIiLCJlZmZlY3RQYW5lbFBhZGRpbmdUb3AiLCJlZmZlY3RQYW5lbFBhZGRpbmdTaWRlIiwiYm9yZGVyQ29sb3IiLCJlZmZlY3RQYW5lbFdpZHRoIiwiU3R5bGVkRWZmZWN0UGFuZWxDb250ZW50Iiwic2lkZVBhbmVsU2Nyb2xsQmFyIiwiZXh0ZW5kZWQiLCJFZmZlY3RNYW5hZ2VyRmFjdG9yeSIsImRlcHMiLCJFZmZlY3RMaXN0RmFjdG9yeSIsIlNpZGVQYW5lbFRpdGxlRmFjdG9yeSIsIkVmZmVjdFR5cGVTZWxlY3RvckZhY3RvcnkiLCJFZmZlY3RMaXN0IiwiU2lkZVBhbmVsVGl0bGUiLCJFZmZlY3RUeXBlU2VsZWN0b3IiLCJFZmZlY3RNYW5hZ2VyIiwiaW50bCIsInZpc1N0YXRlQWN0aW9ucyIsImVmZmVjdHMiLCJlZmZlY3RPcmRlciIsImNoaWxkcmVuIiwidHlwZVNlbGVjdG9yT3BlbmVkIiwic2V0VHlwZVNlbGVjdG9yT3BlbmVkIiwiZWZmZWN0T3B0aW9ucyIsImhhc1NoYWRvdyIsInNvbWUiLCJlZmZlY3QiLCJ0eXBlIiwiTElHSFRfQU5EX1NIQURPV19FRkZFQ1QiLCJFRkZFQ1RfREVTQ1JJUFRJT05TIiwibWFwIiwiZGVzYyIsImRpc2FibGVkIiwiQm9vbGVhbiIsIm9uQWRkRWZmZWN0IiwiYWRkRWZmZWN0Iiwib25UeXBlU2VsZWN0T3BlbiIsIm9uVHlwZVNlbGVjdENsb3NlIiwiZm9ybWF0TWVzc2FnZSIsImlkIiwibGVuZ3RoIiwic3RhdGUiLCJ2aXNTdGF0ZSIsImRlbW8iLCJrZXBsZXJHbCIsInVwZGF0ZUVmZmVjdCIsInJlbW92ZUVmZmVj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TUFBQUEsT0FBTyxFQUFFd0IsUUFBUSxDQUFDeEIsT0FEYjtBQUVMQyxNQUFBQSxXQUFXLEVBQUV1QixRQUFRLENBQUN2QjtBQUZqQixLQUFQO0FBSUQsR0FSSSxFQVNMO0FBQ0VGLElBQUFBLGVBQWUsRUFBRTtBQUFDa0IsTUFBQUEsU0FBUyxFQUFUQSxrQkFBRDtBQUFZVSxNQUFBQSxZQUFZLEVBQVpBLHFCQUFaO0FBQTBCQyxNQUFBQSxZQUFZLEVBQVpBLHFCQUExQjtBQUF3Q0MsTUFBQUEsYUFBYSxFQUFiQTtBQUF4QztBQURuQixHQVRLLEVBWUwsMkJBQVdoQyxhQUFYLENBWkssQ0FBUDtBQWFEOztlQUVjUixvQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZU1lbW8sIHVzZVN0YXRlLCB1c2VDYWxsYmFja30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge2luamVjdEludGwsIEludGxTaGFwZX0gZnJvbSAncmVhY3QtaW50bCc7XG5cbmltcG9ydCB7YWRkRWZmZWN0LCB1cGRhdGVFZmZlY3QsIHJlbW92ZUVmZmVjdCwgcmVvcmRlckVmZmVjdH0gZnJvbSAnQGtlcGxlci5nbC9hY3Rpb25zJztcbmltcG9ydCB7TElHSFRfQU5EX1NIQURPV19FRkZFQ1QsIEVGRkVDVF9ERVNDUklQVElPTlN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7VmlzU3RhdGVBY3Rpb25zfSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuaW1wb3J0IHtFZmZlY3R9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5pbXBvcnQge3dpdGhTdGF0ZX0gZnJvbSAnLi4vaW5qZWN0b3InO1xuaW1wb3J0IFNpZGVQYW5lbFRpdGxlRmFjdG9yeSBmcm9tICcuL3NpZGUtcGFuZWwtdGl0bGUnO1xuaW1wb3J0IEVmZmVjdExpc3RGYWN0b3J5IGZyb20gJy4vZWZmZWN0LWxpc3QnO1xuaW1wb3J0IEVmZmVjdFR5cGVTZWxlY3RvckZhY3RvcnkgZnJvbSAnLi9lZmZlY3QtdHlwZS1zZWxlY3Rvcic7XG5cbmV4cG9ydCB0eXBlIEVmZmVjdE1hbmFnZXJTdGF0ZSA9IHtcbiAgdmlzU3RhdGVBY3Rpb25zOiB0eXBlb2YgVmlzU3RhdGVBY3Rpb25zO1xuICBlZmZlY3RzOiBFZmZlY3RbXTtcbiAgZWZmZWN0T3JkZXI6IHN0cmluZ1tdO1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xufTtcbmV4cG9ydCB0eXBlIEVmZmVjdE1hbmFnZXJQcm9wcyA9IHt9O1xuZXhwb3J0IHR5cGUgRWZmZWN0TWFuYWdlcldpdGhJbnRsUHJvcCA9IHtpbnRsOiBJbnRsU2hhcGV9O1xuXG5jb25zdCBTdHlsZWRFZmZlY3RQYW5lbENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lICFpbXBvcnRhbnQ7IC8qIHByZXZlbnQgcGFkZGluZyBmcm9tIGJsb2NraW5nIGlucHV0ICovXG4gIGZsZXgtZ3JvdzogMTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICYgPiAqIHtcbiAgICAvKiBhbGwgY2hpbGRyZW4gc2hvdWxkIGFsbG93IGlucHV0ICovXG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgfVxuYDtcblxuLy8gdG9wIHJpZ2h0IHBvc2l0aW9uIGFic29sdXRlXG5jb25zdCBTdHlsZWRFZmZlY3RQYW5lbCA9IHN0eWxlZC5kaXZgXG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlUGFuZWxCZ307XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbmA7XG5cbmNvbnN0IFN0eWxlZEVmZmVjdFBhbmVsSGVhZGVyID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogJHsoe3RoZW1lfSkgPT5cbiAgICBgJHt0aGVtZS5lZmZlY3RQYW5lbFBhZGRpbmdUb3B9cHggJHt0aGVtZS5lZmZlY3RQYW5lbFBhZGRpbmdTaWRlfXB4IDRweCAke3RoZW1lLmVmZmVjdFBhbmVsUGFkZGluZ1NpZGV9cHh9YH07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLmJvcmRlckNvbG9yfTtcbiAgbWluLXdpZHRoOiAkeyh7dGhlbWV9KSA9PiB0aGVtZS5lZmZlY3RQYW5lbFdpZHRofXB4O1xuYDtcblxudHlwZSBTdHlsZWRFZmZlY3RQYW5lbENvbnRlbnRQcm9wcyA9IHtcbiAgZXh0ZW5kZWQ/OiBib29sZWFuO1xufTtcbmNvbnN0IFN0eWxlZEVmZmVjdFBhbmVsQ29udGVudCA9IHN0eWxlZC5kaXY8U3R5bGVkRWZmZWN0UGFuZWxDb250ZW50UHJvcHM+YFxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVQYW5lbFNjcm9sbEJhcn07XG4gIHBhZGRpbmc6ICR7cHJvcHMgPT4gKHByb3BzLmV4dGVuZGVkID8gJzMycHgnIDogJzEwcHggMHB4IDEwcHggMHB4Jyl9O1xuICBvdmVyZmxvdzogb3ZlcmxheTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbmA7XG5cbkVmZmVjdE1hbmFnZXJGYWN0b3J5LmRlcHMgPSBbRWZmZWN0TGlzdEZhY3RvcnksIFNpZGVQYW5lbFRpdGxlRmFjdG9yeSwgRWZmZWN0VHlwZVNlbGVjdG9yRmFjdG9yeV07XG5cbmZ1bmN0aW9uIEVmZmVjdE1hbmFnZXJGYWN0b3J5KFxuICBFZmZlY3RMaXN0OiBSZXR1cm5UeXBlPHR5cGVvZiBFZmZlY3RMaXN0RmFjdG9yeT4sXG4gIFNpZGVQYW5lbFRpdGxlOiBSZXR1cm5UeXBlPHR5cGVvZiBTaWRlUGFuZWxUaXRsZUZhY3Rvcnk+LFxuICBFZmZlY3RUeXBlU2VsZWN0b3I6IFJldHVyblR5cGU8dHlwZW9mIEVmZmVjdFR5cGVTZWxlY3RvckZhY3Rvcnk+XG4pOiBSZWFjdC5GQzxFZmZlY3RNYW5hZ2VyUHJvcHM+IHtcbiAgY29uc3QgRWZmZWN0TWFuYWdlciA9IChwcm9wczogRWZmZWN0TWFuYWdlcldpdGhJbnRsUHJvcCAmIEVmZmVjdE1hbmFnZXJTdGF0ZSkgPT4ge1xuICAgIGNvbnN0IHtpbnRsLCB2aXNTdGF0ZUFjdGlvbnMsIGVmZmVjdHMsIGVmZmVjdE9yZGVyLCBjaGlsZHJlbn0gPSBwcm9wcztcblxuICAgIGNvbnN0IFt0eXBlU2VsZWN0b3JPcGVuZWQsIHNldFR5cGVTZWxlY3Rvck9wZW5lZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgICAvLyBQcmV2ZW50IHNoYWRvdyBlZmZlY3QgZnJvbSBiZWluZyBhZGRlZCBtdWx0aXBsZSB0aW1lc1xuICAgIGNvbnN0IGVmZmVjdE9wdGlvbnMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IGhhc1NoYWRvdyA9IGVmZmVjdHMuc29tZShlZmZlY3QgPT4ge1xuICAgICAgICByZXR1cm4gZWZmZWN0LnR5cGUgPT09IExJR0hUX0FORF9TSEFET1dfRUZGRUNULnR5cGU7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIEVGRkVDVF9ERVNDUklQVElPTlMubWFwKGRlc2MgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmRlc2MsXG4gICAgICAgICAgZGlzYWJsZWQ6IEJvb2xlYW4oaGFzU2hhZG93ICYmIGRlc2MudHlwZSA9PT0gTElHSFRfQU5EX1NIQURPV19FRkZFQ1QudHlwZSlcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH0sIFtlZmZlY3RzXSk7XG5cbiAgICBjb25zdCBvbkFkZEVmZmVjdCA9IHVzZUNhbGxiYWNrKHR5cGUgPT4ge1xuICAgICAgdmlzU3RhdGVBY3Rpb25zLmFkZEVmZmVjdCh7dHlwZX0pO1xuICAgIH0sIFtdKTtcblxuICAgIGNvbnN0IG9uVHlwZVNlbGVjdE9wZW4gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRUeXBlU2VsZWN0b3JPcGVuZWQodHJ1ZSk7XG4gICAgfSwgW10pO1xuXG4gICAgY29uc3Qgb25UeXBlU2VsZWN0Q2xvc2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXRUeXBlU2VsZWN0b3JPcGVuZWQoZmFsc2UpO1xuICAgIH0sIFtdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkRWZmZWN0UGFuZWxDb250YWluZXIgY2xhc3NOYW1lPVwiZWZmZWN0LW1hbmFnZXJcIj5cbiAgICAgICAgPFN0eWxlZEVmZmVjdFBhbmVsPlxuICAgICAgICAgIDxTdHlsZWRFZmZlY3RQYW5lbEhlYWRlcj5cbiAgICAgICAgICAgIDxTaWRlUGFuZWxUaXRsZVxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJlZmZlY3QtbWFuYWdlci10aXRsZVwiXG4gICAgICAgICAgICAgIHRpdGxlPXtpbnRsLmZvcm1hdE1lc3NhZ2Uoe2lkOiAnZWZmZWN0TWFuYWdlci5lZmZlY3RzJ30pfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8RWZmZWN0VHlwZVNlbGVjdG9yXG4gICAgICAgICAgICAgICAgb3B0aW9ucz17ZWZmZWN0T3B0aW9uc31cbiAgICAgICAgICAgICAgICBvblNlbGVjdD17b25BZGRFZmZlY3R9XG4gICAgICAgICAgICAgICAgb25PcGVuPXtvblR5cGVTZWxlY3RPcGVufVxuICAgICAgICAgICAgICAgIG9uQmx1cj17b25UeXBlU2VsZWN0Q2xvc2V9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1NpZGVQYW5lbFRpdGxlPlxuICAgICAgICAgIDwvU3R5bGVkRWZmZWN0UGFuZWxIZWFkZXI+XG5cbiAgICAgICAgICA8U3R5bGVkRWZmZWN0UGFuZWxDb250ZW50IGV4dGVuZGVkPXt0eXBlU2VsZWN0b3JPcGVuZWQgJiYgZWZmZWN0cy5sZW5ndGggPT09IDB9PlxuICAgICAgICAgICAgPEVmZmVjdExpc3RcbiAgICAgICAgICAgICAgZWZmZWN0cz17ZWZmZWN0c31cbiAgICAgICAgICAgICAgZWZmZWN0T3JkZXI9e2VmZmVjdE9yZGVyfVxuICAgICAgICAgICAgICB2aXNTdGF0ZUFjdGlvbnM9e3Zpc1N0YXRlQWN0aW9uc31cbiAgICAgICAgICAgICAgaXNTb3J0YWJsZT17dHJ1ZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TdHlsZWRFZmZlY3RQYW5lbENvbnRlbnQ+XG4gICAgICAgIDwvU3R5bGVkRWZmZWN0UGFuZWw+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvU3R5bGVkRWZmZWN0UGFuZWxDb250YWluZXI+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gd2l0aFN0YXRlKFxuICAgIFtdLFxuICAgIHN0YXRlID0+IHtcbiAgICAgIGNvbnN0IHZpc1N0YXRlID0gc3RhdGUuZGVtby5rZXBsZXJHbC5tYXAudmlzU3RhdGU7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBlZmZlY3RzOiB2aXNTdGF0ZS5lZmZlY3RzLFxuICAgICAgICBlZmZlY3RPcmRlcjogdmlzU3RhdGUuZWZmZWN0T3JkZXJcbiAgICAgIH07XG4gICAgfSxcbiAgICB7XG4gICAgICB2aXNTdGF0ZUFjdGlvbnM6IHthZGRFZmZlY3QsIHVwZGF0ZUVmZmVjdCwgcmVtb3ZlRWZmZWN0LCByZW9yZGVyRWZmZWN0fVxuICAgIH1cbiAgKShpbmplY3RJbnRsKEVmZmVjdE1hbmFnZXIpKSBhcyBSZWFjdC5GQzx7fT47XG59XG5cbmV4cG9ydCBkZWZhdWx0IEVmZmVjdE1hbmFnZXJGYWN0b3J5O1xuIl19
@@ -1,12 +1,22 @@
1
1
  import React from 'react';
2
- import PanelHeaderActionFactory from '../side-panel/panel-header-action';
2
+ import PanelHeaderActionFactory, { PanelHeaderActionIcon } from '../side-panel/panel-header-action';
3
3
  import { BaseProps } from '../common/icons';
4
+ export declare type ActionItem = {
5
+ key: string;
6
+ isHidden?: boolean;
7
+ tooltip: string;
8
+ classNames?: Record<string, boolean>;
9
+ icon: PanelHeaderActionIcon;
10
+ tooltipType?: 'error';
11
+ onClick: () => void;
12
+ };
4
13
  export declare type EffectPanelHeaderProps = {
5
- label: string;
14
+ type: string;
6
15
  listeners: any;
7
16
  effectId: string;
8
17
  isEnabled: boolean;
9
18
  isConfigActive: boolean;
19
+ isJsonEditorActive: boolean;
10
20
  showSortHandle?: boolean;
11
21
  isDragNDropEnabled: boolean;
12
22
  onToggleEnabled: () => void;
@@ -17,7 +27,9 @@ export declare type EffectPanelHeaderProps = {
17
27
  visible: React.ComponentType<Partial<BaseProps>>;
18
28
  hidden: React.ComponentType<Partial<BaseProps>>;
19
29
  enableConfig: React.ComponentType<Partial<BaseProps>>;
30
+ disableConfig: React.ComponentType<Partial<BaseProps>>;
20
31
  };
32
+ actionItems?: ActionItem[];
21
33
  };
22
34
  export declare const defaultProps: {
23
35
  isDragNDropEnabled: boolean;
@@ -1,27 +1,9 @@
1
- // Copyright (c) 2023 Uber Technologies, Inc.
2
- //
3
- // Permission is hereby granted, free of charge, to any person obtaining a copy
4
- // of this software and associated documentation files (the "Software"), to deal
5
- // in the Software without restriction, including without limitation the rights
6
- // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
- // copies of the Software, and to permit persons to whom the Software is
8
- // furnished to do so, subject to the following conditions:
9
- //
10
- // The above copyright notice and this permission notice shall be included in
11
- // all copies or substantial portions of the Software.
12
- //
13
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
- // THE SOFTWARE.
20
-
21
1
  "use strict";
22
2
 
23
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
24
4
 
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
+
25
7
  Object.defineProperty(exports, "__esModule", {
26
8
  value: true
27
9
  });
@@ -32,19 +14,23 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
32
14
 
33
15
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
34
16
 
35
- var _react = _interopRequireDefault(require("react"));
17
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
18
+
19
+ var _react = _interopRequireWildcard(require("react"));
36
20
 
37
21
  var _classnames = _interopRequireDefault(require("classnames"));
38
22
 
39
23
  var _styledComponents = _interopRequireDefault(require("styled-components"));
40
24
 
25
+ var _constants = require("@kepler.gl/constants");
26
+
41
27
  var _panelHeaderAction = _interopRequireDefault(require("../side-panel/panel-header-action"));
42
28
 
43
29
  var _icons = require("../common/icons");
44
30
 
45
31
  var _styledComponents2 = require("../common/styled-components");
46
32
 
47
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
33
+ var _defaultEffectIcons, _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
48
34
 
49
35
  var defaultProps = {
50
36
  isDragNDropEnabled: true
@@ -54,10 +40,14 @@ var defaultActionIcons = {
54
40
  remove: _icons.Trash,
55
41
  visible: _icons.EyeSeen,
56
42
  hidden: _icons.EyeUnseen,
57
- enableConfig: _icons.ArrowDown
43
+ enableConfig: _icons.ArrowDown,
44
+ disableConfig: _icons.ArrowUp
58
45
  };
59
- var StyledEffectPanelHeader = (0, _styledComponents["default"])(_styledComponents2.StyledPanelHeader)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n height: ", "px;\n position: relative;\n align-items: stretch;\n\n .effect__drag-handle__placeholder {\n height: 20px;\n padding: 10px;\n }\n\n :hover {\n cursor: pointer;\n background-color: ", ";\n .effect__drag-handle {\n opacity: 1;\n }\n }\n\n border-left: 3px solid ", ";\n"])), function (props) {
46
+ var defaultEffectIcons = (_defaultEffectIcons = {}, (0, _defineProperty2["default"])(_defaultEffectIcons, _constants.LIGHT_AND_SHADOW_EFFECT.type, _icons.LightAndShadowEffectIcon), (0, _defineProperty2["default"])(_defaultEffectIcons, _constants.POSTPROCESSING_EFFECTS.ink.type, _icons.InkEffectIcon), (0, _defineProperty2["default"])(_defaultEffectIcons, _constants.POSTPROCESSING_EFFECTS.brightnessContrast.type, _icons.BrightnessContrastEffectIcon), (0, _defineProperty2["default"])(_defaultEffectIcons, _constants.POSTPROCESSING_EFFECTS.hueSaturation.type, _icons.HueSaturationEffectIcon), (0, _defineProperty2["default"])(_defaultEffectIcons, _constants.POSTPROCESSING_EFFECTS.vibrance.type, _icons.VibranceEffectIcon), (0, _defineProperty2["default"])(_defaultEffectIcons, _constants.POSTPROCESSING_EFFECTS.sepia.type, _icons.SepiaEffectIcon), (0, _defineProperty2["default"])(_defaultEffectIcons, _constants.POSTPROCESSING_EFFECTS.dotScreen.type, _icons.DotScreenEffectIcon), (0, _defineProperty2["default"])(_defaultEffectIcons, _constants.POSTPROCESSING_EFFECTS.colorHalftone.type, _icons.ColorHalftoneEffectIcon), (0, _defineProperty2["default"])(_defaultEffectIcons, _constants.POSTPROCESSING_EFFECTS.noise.type, _icons.NoiseEffectIcon), (0, _defineProperty2["default"])(_defaultEffectIcons, _constants.POSTPROCESSING_EFFECTS.triangleBlur.type, _icons.TriangleBlurEffectIcon), (0, _defineProperty2["default"])(_defaultEffectIcons, _constants.POSTPROCESSING_EFFECTS.zoomBlur.type, _icons.ZoomBlurEffectIcon), (0, _defineProperty2["default"])(_defaultEffectIcons, _constants.POSTPROCESSING_EFFECTS.tiltShift.type, _icons.TiltShiftEffectIcon), (0, _defineProperty2["default"])(_defaultEffectIcons, _constants.POSTPROCESSING_EFFECTS.edgeWork.type, _icons.EdgeWorkEffectIcon), (0, _defineProperty2["default"])(_defaultEffectIcons, _constants.POSTPROCESSING_EFFECTS.vignette.type, _icons.VignetteEffectIcon), (0, _defineProperty2["default"])(_defaultEffectIcons, _constants.POSTPROCESSING_EFFECTS.magnify.type, _icons.MagnifyEffectIcon), (0, _defineProperty2["default"])(_defaultEffectIcons, _constants.POSTPROCESSING_EFFECTS.hexagonalPixelate.type, _icons.HexagonalPixelateEffectIcon), _defaultEffectIcons);
47
+ var StyledEffectPanelHeader = (0, _styledComponents["default"])(_styledComponents2.StyledPanelHeader)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n height: ", "px;\n position: relative;\n align-items: stretch;\n\n .effect__drag-handle {\n margin-left: -5px;\n color: ", ";\n }\n\n .effect__drag-handle__placeholder {\n height: 20px;\n padding: 0px;\n margin: 10px 10px 10px 5px;\n }\n\n :hover {\n cursor: pointer;\n background-color: ", ";\n .effect__drag-handle {\n opacity: 1;\n }\n }\n\n border-left: 3px solid ", ";\n"])), function (props) {
60
48
  return props.theme.effectPanelHeaderHeight;
49
+ }, function (props) {
50
+ return props.theme.textColor;
61
51
  }, function (props) {
62
52
  return props.theme.panelBackgroundHover;
63
53
  }, function (props) {
@@ -98,57 +88,97 @@ function EffectPanelHeaderActionSectionFactory(PanelHeaderAction) {
98
88
  onToggleEnabled = props.onToggleEnabled,
99
89
  onRemoveEffect = props.onRemoveEffect,
100
90
  onToggleEnableConfig = props.onToggleEnableConfig,
91
+ actionItems = props.actionItems,
101
92
  _props$actionIcons = props.actionIcons,
102
93
  actionIcons = _props$actionIcons === void 0 ? defaultActionIcons : _props$actionIcons;
94
+ var effectActionItems = (0, _react.useMemo)(function () {
95
+ return actionItems !== null && actionItems !== void 0 ? actionItems : [{
96
+ key: 'remove-effect',
97
+ isHidden: true,
98
+ tooltip: 'tooltip.removeEffect',
99
+ tooltipType: 'error',
100
+ onClick: onRemoveEffect,
101
+ icon: actionIcons.remove
102
+ }, {
103
+ key: 'visibility-toggle',
104
+ tooltip: isEnabled ? 'tooltip.disableEffect' : 'tooltip.enabledEffect',
105
+ onClick: onToggleEnabled,
106
+ icon: isEnabled ? actionIcons.visible : actionIcons.hidden
107
+ }, {
108
+ key: 'enable-config',
109
+ classNames: {
110
+ 'is-open': isConfigActive
111
+ },
112
+ tooltip: 'tooltip.effectSettings',
113
+ onClick: onToggleEnableConfig,
114
+ icon: actionIcons.enableConfig
115
+ }];
116
+ }, [actionItems, isEnabled, onRemoveEffect, onToggleEnabled, actionIcons]);
103
117
  return /*#__PURE__*/_react["default"].createElement(HeaderActionSection, {
104
118
  className: "effect-panel__header__actions"
105
119
  }, /*#__PURE__*/_react["default"].createElement(StyledPanelHeaderHiddenActions, {
106
120
  isConfigActive: isConfigActive
107
- }, /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
108
- className: "effect__remove-effect",
109
- testId: "remove-effect-action",
110
- id: effectId,
111
- tooltip: 'tooltip.removeEffect',
112
- onClick: onRemoveEffect,
113
- tooltipType: "error",
114
- IconComponent: actionIcons.remove
115
- })), /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
116
- className: "effect__visibility-toggle",
117
- id: effectId,
118
- tooltip: isEnabled ? 'tooltip.disableEffect' : 'tooltip.enabledEffect',
119
- onClick: onToggleEnabled,
120
- IconComponent: isEnabled ? actionIcons.visible : actionIcons.hidden
121
- }), /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
122
- className: (0, _classnames["default"])('effect__enable-config ', {
123
- 'is-open': isConfigActive
124
- }),
125
- id: effectId,
126
- tooltip: 'tooltip.effectSettings',
127
- onClick: onToggleEnableConfig,
128
- IconComponent: actionIcons.enableConfig
121
+ }, effectActionItems.filter(function (item) {
122
+ return Boolean(item.isHidden);
123
+ }).map(function (item, i) {
124
+ return /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
125
+ key: item.key,
126
+ className: "effect__".concat(item.key),
127
+ testId: "".concat(item.key, "-action"),
128
+ id: effectId,
129
+ tooltip: item.tooltip,
130
+ onClick: item.onClick,
131
+ tooltipType: item.tooltipType,
132
+ IconComponent: item.icon
133
+ });
134
+ })), effectActionItems.filter(function (item) {
135
+ return !item.isHidden;
136
+ }).map(function (item, i) {
137
+ return /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, {
138
+ key: item.key,
139
+ className: (0, _classnames["default"])("effect__".concat(item.key), item.classNames),
140
+ testId: "".concat(item.key, "-action"),
141
+ id: effectId,
142
+ tooltip: item.tooltip,
143
+ onClick: item.onClick,
144
+ tooltipType: item.tooltipType,
145
+ IconComponent: item.icon
146
+ });
129
147
  }));
130
148
  };
131
149
 
132
150
  return EffectPanelHeaderActionSection;
133
151
  }
134
152
 
135
- var StyledEffectTitleSection = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: 4px;\n flex-grow: 1;\n align-items: center;\n display: flex;\n color: ", ";\n"])), function (props) {
153
+ var StyledEffectTitleSection = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-left: 8px;\n flex-grow: 1;\n align-items: center;\n display: flex;\n color: ", ";\n"])), function (props) {
136
154
  return props.theme.textColor;
137
155
  });
138
156
 
139
157
  var IconPlaceholder = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n width: 20px;\n height: 20px;\n"])));
140
158
 
159
+ var EffectIconWrapper = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n height: 18px;\n margin: auto;\n color: ", ";\n"])), function (props) {
160
+ return props.theme.textColor;
161
+ });
162
+
141
163
  EffectPanelHeaderFactory.deps = [EffectPanelHeaderActionSectionFactory];
142
164
 
143
165
  function EffectPanelHeaderFactory(EffectPanelHeaderActionSection) {
144
166
  var EffectPanelHeader = function EffectPanelHeader(props) {
145
167
  var isConfigActive = props.isConfigActive,
146
168
  isDragNDropEnabled = props.isDragNDropEnabled,
147
- label = props.label,
169
+ type = props.type,
148
170
  onToggleEnableConfig = props.onToggleEnableConfig,
149
171
  listeners = props.listeners,
150
172
  _props$showSortHandle = props.showSortHandle,
151
173
  showSortHandle = _props$showSortHandle === void 0 ? true : _props$showSortHandle;
174
+ var label = (0, _react.useMemo)(function () {
175
+ var description = _constants.EFFECT_DESCRIPTIONS.find(function (_description) {
176
+ return _description.type === type;
177
+ });
178
+
179
+ return (description === null || description === void 0 ? void 0 : description.name) || 'Effect';
180
+ }, [type]);
181
+ var EffectIcon = defaultEffectIcons[type];
152
182
  return /*#__PURE__*/_react["default"].createElement(StyledEffectPanelHeader, {
153
183
  className: (0, _classnames["default"])('effect-panel__header', {
154
184
  'sort--handle': !isConfigActive
@@ -162,7 +192,9 @@ function EffectPanelHeaderFactory(EffectPanelHeaderActionSection) {
162
192
  height: "20px"
163
193
  }) : /*#__PURE__*/_react["default"].createElement(IconPlaceholder, null)) : /*#__PURE__*/_react["default"].createElement("div", {
164
194
  className: "effect__drag-handle__placeholder"
165
- }), /*#__PURE__*/_react["default"].createElement(StyledEffectTitleSection, null, label), /*#__PURE__*/_react["default"].createElement(EffectPanelHeaderActionSection, props));
195
+ }), /*#__PURE__*/_react["default"].createElement(EffectIconWrapper, null, EffectIcon ? /*#__PURE__*/_react["default"].createElement(EffectIcon, {
196
+ height: "18px"
197
+ }) : null), /*#__PURE__*/_react["default"].createElement(StyledEffectTitleSection, null, label), /*#__PURE__*/_react["default"].createElement(EffectPanelHeaderActionSection, props));
166
198
  };
167
199
 
168
200
  EffectPanelHeader.defaultProps = defaultProps;
@@ -171,4 +203,4 @@ function EffectPanelHeaderFactory(EffectPanelHeaderActionSection) {
171
203
 
172
204
  var _default = EffectPanelHeaderFactory;
173
205
  exports["default"] = _default;
174
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lZmZlY3RzL2VmZmVjdC1wYW5lbC1oZWFkZXIudHN4Il0sIm5hbWVzIjpbImRlZmF1bHRQcm9wcyIsImlzRHJhZ05Ecm9wRW5hYmxlZCIsImRlZmF1bHRBY3Rpb25JY29ucyIsInJlbW92ZSIsIlRyYXNoIiwidmlzaWJsZSIsIkV5ZVNlZW4iLCJoaWRkZW4iLCJFeWVVbnNlZW4iLCJlbmFibGVDb25maWciLCJBcnJvd0Rvd24iLCJTdHlsZWRFZmZlY3RQYW5lbEhlYWRlciIsIlN0eWxlZFBhbmVsSGVhZGVyIiwicHJvcHMiLCJ0aGVtZSIsImVmZmVjdFBhbmVsSGVhZGVySGVpZ2h0IiwicGFuZWxCYWNrZ3JvdW5kSG92ZXIiLCJIZWFkZXJBY3Rpb25TZWN0aW9uIiwic3R5bGVkIiwiZGl2IiwiU3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zIiwiYXR0cnMiLCJjbGFzc05hbWUiLCJpc0NvbmZpZ0FjdGl2ZSIsInBhbmVsQmFja2dyb3VuZCIsIlN0eWxlZERyYWdIYW5kbGUiLCJ0ZXh0Q29sb3JIbCIsIkRyYWdIYW5kbGUiLCJsaXN0ZW5lcnMiLCJjaGlsZHJlbiIsIkVmZmVjdFBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbkZhY3RvcnkiLCJkZXBzIiwiUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5IiwiUGFuZWxIZWFkZXJBY3Rpb24iLCJFZmZlY3RQYW5lbEhlYWRlckFjdGlvblNlY3Rpb24iLCJlZmZlY3RJZCIsImlzRW5hYmxlZCIsIm9uVG9nZ2xlRW5hYmxlZCIsIm9uUmVtb3ZlRWZmZWN0Iiwib25Ub2dnbGVFbmFibGVDb25maWciLCJhY3Rpb25JY29ucyIsIlN0eWxlZEVmZmVjdFRpdGxlU2VjdGlvbiIsInRleHRDb2xvciIsIkljb25QbGFjZWhvbGRlciIsIkVmZmVjdFBhbmVsSGVhZGVyRmFjdG9yeSIsIkVmZmVjdFBhbmVsSGVhZGVyIiwibGFiZWwiLCJzaG93U29ydEhhbmRsZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7OztBQXFCTyxJQUFNQSxZQUFZLEdBQUc7QUFDMUJDLEVBQUFBLGtCQUFrQixFQUFFO0FBRE0sQ0FBckI7O0FBSVAsSUFBTUMsa0JBQWtCLEdBQUc7QUFDekJDLEVBQUFBLE1BQU0sRUFBRUMsWUFEaUI7QUFFekJDLEVBQUFBLE9BQU8sRUFBRUMsY0FGZ0I7QUFHekJDLEVBQUFBLE1BQU0sRUFBRUMsZ0JBSGlCO0FBSXpCQyxFQUFBQSxZQUFZLEVBQUVDO0FBSlcsQ0FBM0I7QUFPQSxJQUFNQyx1QkFBdUIsR0FBRyxrQ0FBT0Msb0NBQVAsQ0FBSCwrWUFDakIsVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyx1QkFBaEI7QUFBQSxDQURZLEVBWUwsVUFBQUYsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZRSxvQkFBaEI7QUFBQSxDQVpBLEVBa0JGLFVBQUFILEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUUsb0JBQWhCO0FBQUEsQ0FsQkgsQ0FBN0I7O0FBcUJBLElBQU1DLG1CQUFtQixHQUFHQyw2QkFBT0MsR0FBVixzVEFTQyxVQUFBTixLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlFLG9CQUFoQjtBQUFBLENBVE4sQ0FBekIsQyxDQWNBOzs7QUFFQSxJQUFNSSw4QkFBOEIsR0FBR0YsNkJBQU9DLEdBQVAsQ0FBV0UsS0FBWCxDQUFpQjtBQUN0REMsRUFBQUEsU0FBUyxFQUFFO0FBRDJDLENBQWpCLENBQUgsaVJBT2QsVUFBQVQsS0FBSztBQUFBLFNBQ3ZCQSxLQUFLLENBQUNVLGNBQU4sR0FBdUJWLEtBQUssQ0FBQ0MsS0FBTixDQUFZRSxvQkFBbkMsR0FBMERILEtBQUssQ0FBQ0MsS0FBTixDQUFZVSxlQUQvQztBQUFBLENBUFMsQ0FBcEM7O0FBZUEsSUFBTUMsZ0JBQWdCLEdBQUdQLDZCQUFPQyxHQUFWLDZPQVFULFVBQUFOLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWVksV0FBaEI7QUFBQSxDQVJJLENBQXRCOztBQVlBLElBQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFhO0FBQUEsTUFBRUwsU0FBRixRQUFFQSxTQUFGO0FBQUEsTUFBYU0sU0FBYixRQUFhQSxTQUFiO0FBQUEsTUFBd0JDLFFBQXhCLFFBQXdCQSxRQUF4QjtBQUFBLHNCQUNqQixnQ0FBQyxnQkFBRDtBQUFrQixJQUFBLFNBQVMsRUFBRVA7QUFBN0IsS0FBNENNLFNBQTVDLEdBQ0dDLFFBREgsQ0FEaUI7QUFBQSxDQUFuQjs7QUFNQUMscUNBQXFDLENBQUNDLElBQXRDLEdBQTZDLENBQUNDLDZCQUFELENBQTdDOztBQUVPLFNBQVNGLHFDQUFULENBQ0xHLGlCQURLLEVBRTZCO0FBQ2xDLE1BQU1DLDhCQUE4QixHQUFHLFNBQWpDQSw4QkFBaUMsQ0FBQ3JCLEtBQUQsRUFBbUM7QUFBQSxRQUV0RXNCLFFBRnNFLEdBU3BFdEIsS0FUb0UsQ0FFdEVzQixRQUZzRTtBQUFBLFFBR3RFQyxTQUhzRSxHQVNwRXZCLEtBVG9FLENBR3RFdUIsU0FIc0U7QUFBQSxRQUl0RWIsY0FKc0UsR0FTcEVWLEtBVG9FLENBSXRFVSxjQUpzRTtBQUFBLFFBS3RFYyxlQUxzRSxHQVNwRXhCLEtBVG9FLENBS3RFd0IsZUFMc0U7QUFBQSxRQU10RUMsY0FOc0UsR0FTcEV6QixLQVRvRSxDQU10RXlCLGNBTnNFO0FBQUEsUUFPdEVDLG9CQVBzRSxHQVNwRTFCLEtBVG9FLENBT3RFMEIsb0JBUHNFO0FBQUEsNkJBU3BFMUIsS0FUb0UsQ0FRdEUyQixXQVJzRTtBQUFBLFFBUXRFQSxXQVJzRSxtQ0FReER0QyxrQkFSd0Q7QUFXeEUsd0JBQ0UsZ0NBQUMsbUJBQUQ7QUFBcUIsTUFBQSxTQUFTLEVBQUM7QUFBL0Isb0JBQ0UsZ0NBQUMsOEJBQUQ7QUFBZ0MsTUFBQSxjQUFjLEVBQUVxQjtBQUFoRCxvQkFDRSxnQ0FBQyxpQkFBRDtBQUNFLE1BQUEsU0FBUyxFQUFDLHVCQURaO0FBRUUsTUFBQSxNQUFNLEVBQUMsc0JBRlQ7QUFHRSxNQUFBLEVBQUUsRUFBRVksUUFITjtBQUlFLE1BQUEsT0FBTyxFQUFFLHNCQUpYO0FBS0UsTUFBQSxPQUFPLEVBQUVHLGNBTFg7QUFNRSxNQUFBLFdBQVcsRUFBQyxPQU5kO0FBT0UsTUFBQSxhQUFhLEVBQUVFLFdBQVcsQ0FBQ3JDO0FBUDdCLE1BREYsQ0FERixlQVlFLGdDQUFDLGlCQUFEO0FBQ0UsTUFBQSxTQUFTLEVBQUMsMkJBRFo7QUFFRSxNQUFBLEVBQUUsRUFBRWdDLFFBRk47QUFHRSxNQUFBLE9BQU8sRUFBRUMsU0FBUyxHQUFHLHVCQUFILEdBQTZCLHVCQUhqRDtBQUlFLE1BQUEsT0FBTyxFQUFFQyxlQUpYO0FBS0UsTUFBQSxhQUFhLEVBQUVELFNBQVMsR0FBR0ksV0FBVyxDQUFDbkMsT0FBZixHQUF5Qm1DLFdBQVcsQ0FBQ2pDO0FBTC9ELE1BWkYsZUFtQkUsZ0NBQUMsaUJBQUQ7QUFDRSxNQUFBLFNBQVMsRUFBRSw0QkFBVyx3QkFBWCxFQUFxQztBQUM5QyxtQkFBV2dCO0FBRG1DLE9BQXJDLENBRGI7QUFJRSxNQUFBLEVBQUUsRUFBRVksUUFKTjtBQUtFLE1BQUEsT0FBTyxFQUFFLHdCQUxYO0FBTUUsTUFBQSxPQUFPLEVBQUVJLG9CQU5YO0FBT0UsTUFBQSxhQUFhLEVBQUVDLFdBQVcsQ0FBQy9CO0FBUDdCLE1BbkJGLENBREY7QUErQkQsR0ExQ0Q7O0FBNENBLFNBQU95Qiw4QkFBUDtBQUNEOztBQUVELElBQU1PLHdCQUF3QixHQUFHdkIsNkJBQU9DLEdBQVYsMkxBS25CLFVBQUFOLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWTRCLFNBQWhCO0FBQUEsQ0FMYyxDQUE5Qjs7QUFRQSxJQUFNQyxlQUFlLEdBQUd6Qiw2QkFBT0MsR0FBViwySEFBckI7O0FBS0F5Qix3QkFBd0IsQ0FBQ2IsSUFBekIsR0FBZ0MsQ0FBQ0QscUNBQUQsQ0FBaEM7O0FBRUEsU0FBU2Msd0JBQVQsQ0FDRVYsOEJBREYsRUFFb0M7QUFDbEMsTUFBTVcsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFvQixDQUFDaEMsS0FBRCxFQUFtQztBQUFBLFFBRXpEVSxjQUZ5RCxHQVF2RFYsS0FSdUQsQ0FFekRVLGNBRnlEO0FBQUEsUUFHekR0QixrQkFIeUQsR0FRdkRZLEtBUnVELENBR3pEWixrQkFIeUQ7QUFBQSxRQUl6RDZDLEtBSnlELEdBUXZEakMsS0FSdUQsQ0FJekRpQyxLQUp5RDtBQUFBLFFBS3pEUCxvQkFMeUQsR0FRdkQxQixLQVJ1RCxDQUt6RDBCLG9CQUx5RDtBQUFBLFFBTXpEWCxTQU55RCxHQVF2RGYsS0FSdUQsQ0FNekRlLFNBTnlEO0FBQUEsZ0NBUXZEZixLQVJ1RCxDQU96RGtDLGNBUHlEO0FBQUEsUUFPekRBLGNBUHlELHNDQU94QyxJQVB3QztBQVUzRCx3QkFDRSxnQ0FBQyx1QkFBRDtBQUNFLE1BQUEsU0FBUyxFQUFFLDRCQUFXLHNCQUFYLEVBQW1DO0FBQzVDLHdCQUFnQixDQUFDeEI7QUFEMkIsT0FBbkMsQ0FEYjtBQUlFLE1BQUEsTUFBTSxFQUFFQSxjQUpWO0FBS0UsTUFBQSxPQUFPLEVBQUVnQjtBQUxYLE9BT0d0QyxrQkFBa0IsZ0JBQ2pCLGdDQUFDLFVBQUQ7QUFBWSxNQUFBLFNBQVMsRUFBQyxxQkFBdEI7QUFBNEMsTUFBQSxTQUFTLEVBQUUyQjtBQUF2RCxPQUNHbUIsY0FBYyxnQkFBRyxnQ0FBQyxlQUFEO0FBQVUsTUFBQSxNQUFNLEVBQUM7QUFBakIsTUFBSCxnQkFBZ0MsZ0NBQUMsZUFBRCxPQURqRCxDQURpQixnQkFLakI7QUFBSyxNQUFBLFNBQVMsRUFBQztBQUFmLE1BWkosZUFlRSxnQ0FBQyx3QkFBRCxRQUEyQkQsS0FBM0IsQ0FmRixlQWlCRSxnQ0FBQyw4QkFBRCxFQUFvQ2pDLEtBQXBDLENBakJGLENBREY7QUFxQkQsR0EvQkQ7O0FBaUNBZ0MsRUFBQUEsaUJBQWlCLENBQUM3QyxZQUFsQixHQUFpQ0EsWUFBakM7QUFFQSxTQUFPNkMsaUJBQVA7QUFDRDs7ZUFFY0Qsd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuaW1wb3J0IFBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeSBmcm9tICcuLi9zaWRlLXBhbmVsL3BhbmVsLWhlYWRlci1hY3Rpb24nO1xuaW1wb3J0IHtBcnJvd0Rvd24sIEV5ZVNlZW4sIEV5ZVVuc2VlbiwgVHJhc2gsIFZlcnREb3RzLCBCYXNlUHJvcHN9IGZyb20gJy4uL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQge1N0eWxlZFBhbmVsSGVhZGVyfSBmcm9tICcuLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5leHBvcnQgdHlwZSBFZmZlY3RQYW5lbEhlYWRlclByb3BzID0ge1xuICBsYWJlbDogc3RyaW5nO1xuICBsaXN0ZW5lcnM6IGFueTtcbiAgZWZmZWN0SWQ6IHN0cmluZztcbiAgaXNFbmFibGVkOiBib29sZWFuO1xuICBpc0NvbmZpZ0FjdGl2ZTogYm9vbGVhbjtcbiAgc2hvd1NvcnRIYW5kbGU/OiBib29sZWFuO1xuICBpc0RyYWdORHJvcEVuYWJsZWQ6IGJvb2xlYW47XG4gIG9uVG9nZ2xlRW5hYmxlZDogKCkgPT4gdm9pZDtcbiAgb25SZW1vdmVFZmZlY3Q6ICgpID0+IHZvaWQ7XG4gIG9uVG9nZ2xlRW5hYmxlQ29uZmlnOiAoKSA9PiB2b2lkO1xuICBhY3Rpb25JY29ucz86IHtcbiAgICByZW1vdmU6IFJlYWN0LkNvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgICB2aXNpYmxlOiBSZWFjdC5Db21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gICAgaGlkZGVuOiBSZWFjdC5Db21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gICAgZW5hYmxlQ29uZmlnOiBSZWFjdC5Db21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICBpc0RyYWdORHJvcEVuYWJsZWQ6IHRydWVcbn07XG5cbmNvbnN0IGRlZmF1bHRBY3Rpb25JY29ucyA9IHtcbiAgcmVtb3ZlOiBUcmFzaCxcbiAgdmlzaWJsZTogRXllU2VlbixcbiAgaGlkZGVuOiBFeWVVbnNlZW4sXG4gIGVuYWJsZUNvbmZpZzogQXJyb3dEb3duXG59O1xuXG5jb25zdCBTdHlsZWRFZmZlY3RQYW5lbEhlYWRlciA9IHN0eWxlZChTdHlsZWRQYW5lbEhlYWRlcilgXG4gIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbEhlYWRlckhlaWdodH1weDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAuZWZmZWN0X19kcmFnLWhhbmRsZV9fcGxhY2Vob2xkZXIge1xuICAgIGhlaWdodDogMjBweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICB9XG5cbiAgOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3Zlcn07XG4gICAgLmVmZmVjdF9fZHJhZy1oYW5kbGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuYDtcblxuY29uc3QgSGVhZGVyQWN0aW9uU2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgcmlnaHQ6IDEwcHg7XG4gIDpob3ZlciB7XG4gICAgLmVmZmVjdC1wYW5lbF9faGVhZGVyX19hY3Rpb25zX19oaWRkZW4ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuICAgIH1cbiAgfVxuYDtcblxuLy8gSGlkZW4gYWN0aW9ucyBvbmx5IHNob3cgdXAgb24gaG92ZXJcbnR5cGUgU3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zUHJvcHMgPSB7aXNDb25maWdBY3RpdmU6IGJvb2xlYW59O1xuY29uc3QgU3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ2VmZmVjdC1wYW5lbF9faGVhZGVyX19hY3Rpb25zX19oaWRkZW4nXG59KTxTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnNQcm9wcz5gXG4gIG9wYWNpdHk6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC40cyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNHMgZWFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmlzQ29uZmlnQWN0aXZlID8gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXIgOiBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmR9O1xuXG4gIDpob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkRHJhZ0hhbmRsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG4gIDpob3ZlciB7XG4gICAgY3Vyc29yOiBtb3ZlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICB9XG5gO1xuXG5jb25zdCBEcmFnSGFuZGxlID0gKHtjbGFzc05hbWUsIGxpc3RlbmVycywgY2hpbGRyZW59KSA9PiAoXG4gIDxTdHlsZWREcmFnSGFuZGxlIGNsYXNzTmFtZT17Y2xhc3NOYW1lfSB7Li4ubGlzdGVuZXJzfT5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU3R5bGVkRHJhZ0hhbmRsZT5cbik7XG5cbkVmZmVjdFBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbkZhY3RvcnkuZGVwcyA9IFtQYW5lbEhlYWRlckFjdGlvbkZhY3RvcnldO1xuXG5leHBvcnQgZnVuY3Rpb24gRWZmZWN0UGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uRmFjdG9yeShcbiAgUGFuZWxIZWFkZXJBY3Rpb246IFJldHVyblR5cGU8dHlwZW9mIFBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeT5cbik6IFJlYWN0LkZDPEVmZmVjdFBhbmVsSGVhZGVyUHJvcHM+IHtcbiAgY29uc3QgRWZmZWN0UGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uID0gKHByb3BzOiBFZmZlY3RQYW5lbEhlYWRlclByb3BzKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgZWZmZWN0SWQsXG4gICAgICBpc0VuYWJsZWQsXG4gICAgICBpc0NvbmZpZ0FjdGl2ZSxcbiAgICAgIG9uVG9nZ2xlRW5hYmxlZCxcbiAgICAgIG9uUmVtb3ZlRWZmZWN0LFxuICAgICAgb25Ub2dnbGVFbmFibGVDb25maWcsXG4gICAgICBhY3Rpb25JY29ucyA9IGRlZmF1bHRBY3Rpb25JY29uc1xuICAgIH0gPSBwcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8SGVhZGVyQWN0aW9uU2VjdGlvbiBjbGFzc05hbWU9XCJlZmZlY3QtcGFuZWxfX2hlYWRlcl9fYWN0aW9uc1wiPlxuICAgICAgICA8U3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zIGlzQ29uZmlnQWN0aXZlPXtpc0NvbmZpZ0FjdGl2ZX0+XG4gICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJlZmZlY3RfX3JlbW92ZS1lZmZlY3RcIlxuICAgICAgICAgICAgdGVzdElkPVwicmVtb3ZlLWVmZmVjdC1hY3Rpb25cIlxuICAgICAgICAgICAgaWQ9e2VmZmVjdElkfVxuICAgICAgICAgICAgdG9vbHRpcD17J3Rvb2x0aXAucmVtb3ZlRWZmZWN0J31cbiAgICAgICAgICAgIG9uQ2xpY2s9e29uUmVtb3ZlRWZmZWN0fVxuICAgICAgICAgICAgdG9vbHRpcFR5cGU9XCJlcnJvclwiXG4gICAgICAgICAgICBJY29uQ29tcG9uZW50PXthY3Rpb25JY29ucy5yZW1vdmV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnM+XG4gICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgIGNsYXNzTmFtZT1cImVmZmVjdF9fdmlzaWJpbGl0eS10b2dnbGVcIlxuICAgICAgICAgIGlkPXtlZmZlY3RJZH1cbiAgICAgICAgICB0b29sdGlwPXtpc0VuYWJsZWQgPyAndG9vbHRpcC5kaXNhYmxlRWZmZWN0JyA6ICd0b29sdGlwLmVuYWJsZWRFZmZlY3QnfVxuICAgICAgICAgIG9uQ2xpY2s9e29uVG9nZ2xlRW5hYmxlZH1cbiAgICAgICAgICBJY29uQ29tcG9uZW50PXtpc0VuYWJsZWQgPyBhY3Rpb25JY29ucy52aXNpYmxlIDogYWN0aW9uSWNvbnMuaGlkZGVufVxuICAgICAgICAvPlxuICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ2VmZmVjdF9fZW5hYmxlLWNvbmZpZyAnLCB7XG4gICAgICAgICAgICAnaXMtb3Blbic6IGlzQ29uZmlnQWN0aXZlXG4gICAgICAgICAgfSl9XG4gICAgICAgICAgaWQ9e2VmZmVjdElkfVxuICAgICAgICAgIHRvb2x0aXA9eyd0b29sdGlwLmVmZmVjdFNldHRpbmdzJ31cbiAgICAgICAgICBvbkNsaWNrPXtvblRvZ2dsZUVuYWJsZUNvbmZpZ31cbiAgICAgICAgICBJY29uQ29tcG9uZW50PXthY3Rpb25JY29ucy5lbmFibGVDb25maWd9XG4gICAgICAgIC8+XG4gICAgICA8L0hlYWRlckFjdGlvblNlY3Rpb24+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gRWZmZWN0UGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uO1xufVxuXG5jb25zdCBTdHlsZWRFZmZlY3RUaXRsZVNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tbGVmdDogNHB4O1xuICBmbGV4LWdyb3c6IDE7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG5gO1xuXG5jb25zdCBJY29uUGxhY2Vob2xkZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuYDtcblxuRWZmZWN0UGFuZWxIZWFkZXJGYWN0b3J5LmRlcHMgPSBbRWZmZWN0UGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uRmFjdG9yeV07XG5cbmZ1bmN0aW9uIEVmZmVjdFBhbmVsSGVhZGVyRmFjdG9yeShcbiAgRWZmZWN0UGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uOiBSZXR1cm5UeXBlPHR5cGVvZiBFZmZlY3RQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25GYWN0b3J5PlxuKTogUmVhY3QuRkM8RWZmZWN0UGFuZWxIZWFkZXJQcm9wcz4ge1xuICBjb25zdCBFZmZlY3RQYW5lbEhlYWRlciA9IChwcm9wczogRWZmZWN0UGFuZWxIZWFkZXJQcm9wcykgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGlzQ29uZmlnQWN0aXZlLFxuICAgICAgaXNEcmFnTkRyb3BFbmFibGVkLFxuICAgICAgbGFiZWwsXG4gICAgICBvblRvZ2dsZUVuYWJsZUNvbmZpZyxcbiAgICAgIGxpc3RlbmVycyxcbiAgICAgIHNob3dTb3J0SGFuZGxlID0gdHJ1ZVxuICAgIH0gPSBwcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkRWZmZWN0UGFuZWxIZWFkZXJcbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdlZmZlY3QtcGFuZWxfX2hlYWRlcicsIHtcbiAgICAgICAgICAnc29ydC0taGFuZGxlJzogIWlzQ29uZmlnQWN0aXZlXG4gICAgICAgIH0pfVxuICAgICAgICBhY3RpdmU9e2lzQ29uZmlnQWN0aXZlfVxuICAgICAgICBvbkNsaWNrPXtvblRvZ2dsZUVuYWJsZUNvbmZpZ31cbiAgICAgID5cbiAgICAgICAge2lzRHJhZ05Ecm9wRW5hYmxlZCA/IChcbiAgICAgICAgICA8RHJhZ0hhbmRsZSBjbGFzc05hbWU9XCJlZmZlY3RfX2RyYWctaGFuZGxlXCIgbGlzdGVuZXJzPXtsaXN0ZW5lcnN9PlxuICAgICAgICAgICAge3Nob3dTb3J0SGFuZGxlID8gPFZlcnREb3RzIGhlaWdodD1cIjIwcHhcIiAvPiA6IDxJY29uUGxhY2Vob2xkZXIgLz59XG4gICAgICAgICAgPC9EcmFnSGFuZGxlPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZWZmZWN0X19kcmFnLWhhbmRsZV9fcGxhY2Vob2xkZXJcIiAvPlxuICAgICAgICApfVxuXG4gICAgICAgIDxTdHlsZWRFZmZlY3RUaXRsZVNlY3Rpb24+e2xhYmVsfTwvU3R5bGVkRWZmZWN0VGl0bGVTZWN0aW9uPlxuXG4gICAgICAgIDxFZmZlY3RQYW5lbEhlYWRlckFjdGlvblNlY3Rpb24gey4uLnByb3BzfSAvPlxuICAgICAgPC9TdHlsZWRFZmZlY3RQYW5lbEhlYWRlcj5cbiAgICApO1xuICB9O1xuXG4gIEVmZmVjdFBhbmVsSGVhZGVyLmRlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wcztcblxuICByZXR1cm4gRWZmZWN0UGFuZWxIZWFkZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEVmZmVjdFBhbmVsSGVhZGVyRmFjdG9yeTtcbiJdfQ==
206
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lZmZlY3RzL2VmZmVjdC1wYW5lbC1oZWFkZXIudHN4Il0sIm5hbWVzIjpbImRlZmF1bHRQcm9wcyIsImlzRHJhZ05Ecm9wRW5hYmxlZCIsImRlZmF1bHRBY3Rpb25JY29ucyIsInJlbW92ZSIsIlRyYXNoIiwidmlzaWJsZSIsIkV5ZVNlZW4iLCJoaWRkZW4iLCJFeWVVbnNlZW4iLCJlbmFibGVDb25maWciLCJBcnJvd0Rvd24iLCJkaXNhYmxlQ29uZmlnIiwiQXJyb3dVcCIsImRlZmF1bHRFZmZlY3RJY29ucyIsIkxJR0hUX0FORF9TSEFET1dfRUZGRUNUIiwidHlwZSIsIkxpZ2h0QW5kU2hhZG93RWZmZWN0SWNvbiIsIlBPU1RQUk9DRVNTSU5HX0VGRkVDVFMiLCJpbmsiLCJJbmtFZmZlY3RJY29uIiwiYnJpZ2h0bmVzc0NvbnRyYXN0IiwiQnJpZ2h0bmVzc0NvbnRyYXN0RWZmZWN0SWNvbiIsImh1ZVNhdHVyYXRpb24iLCJIdWVTYXR1cmF0aW9uRWZmZWN0SWNvbiIsInZpYnJhbmNlIiwiVmlicmFuY2VFZmZlY3RJY29uIiwic2VwaWEiLCJTZXBpYUVmZmVjdEljb24iLCJkb3RTY3JlZW4iLCJEb3RTY3JlZW5FZmZlY3RJY29uIiwiY29sb3JIYWxmdG9uZSIsIkNvbG9ySGFsZnRvbmVFZmZlY3RJY29uIiwibm9pc2UiLCJOb2lzZUVmZmVjdEljb24iLCJ0cmlhbmdsZUJsdXIiLCJUcmlhbmdsZUJsdXJFZmZlY3RJY29uIiwiem9vbUJsdXIiLCJab29tQmx1ckVmZmVjdEljb24iLCJ0aWx0U2hpZnQiLCJUaWx0U2hpZnRFZmZlY3RJY29uIiwiZWRnZVdvcmsiLCJFZGdlV29ya0VmZmVjdEljb24iLCJ2aWduZXR0ZSIsIlZpZ25ldHRlRWZmZWN0SWNvbiIsIm1hZ25pZnkiLCJNYWduaWZ5RWZmZWN0SWNvbiIsImhleGFnb25hbFBpeGVsYXRlIiwiSGV4YWdvbmFsUGl4ZWxhdGVFZmZlY3RJY29uIiwiU3R5bGVkRWZmZWN0UGFuZWxIZWFkZXIiLCJTdHlsZWRQYW5lbEhlYWRlciIsInByb3BzIiwidGhlbWUiLCJlZmZlY3RQYW5lbEhlYWRlckhlaWdodCIsInRleHRDb2xvciIsInBhbmVsQmFja2dyb3VuZEhvdmVyIiwiSGVhZGVyQWN0aW9uU2VjdGlvbiIsInN0eWxlZCIsImRpdiIsIlN0eWxlZFBhbmVsSGVhZGVySGlkZGVuQWN0aW9ucyIsImF0dHJzIiwiY2xhc3NOYW1lIiwiaXNDb25maWdBY3RpdmUiLCJwYW5lbEJhY2tncm91bmQiLCJTdHlsZWREcmFnSGFuZGxlIiwidGV4dENvbG9ySGwiLCJEcmFnSGFuZGxlIiwibGlzdGVuZXJzIiwiY2hpbGRyZW4iLCJFZmZlY3RQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25GYWN0b3J5IiwiZGVwcyIsIlBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeSIsIlBhbmVsSGVhZGVyQWN0aW9uIiwiRWZmZWN0UGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uIiwiZWZmZWN0SWQiLCJpc0VuYWJsZWQiLCJvblRvZ2dsZUVuYWJsZWQiLCJvblJlbW92ZUVmZmVjdCIsIm9uVG9nZ2xlRW5hYmxlQ29uZmlnIiwiYWN0aW9uSXRlbXMiLCJhY3Rpb25JY29ucyIsImVmZmVjdEFjdGlvbkl0ZW1zIiwia2V5IiwiaXNIaWRkZW4iLCJ0b29sdGlwIiwidG9vbHRpcFR5cGUiLCJvbkNsaWNrIiwiaWNvbiIsImNsYXNzTmFtZXMiLCJmaWx0ZXIiLCJpdGVtIiwiQm9vbGVhbiIsIm1hcCIsImkiLCJTdHlsZWRFZmZlY3RUaXRsZVNlY3Rpb24iLCJJY29uUGxhY2Vob2xkZXIiLCJFZmZlY3RJY29uV3JhcHBlciIsIkVmZmVjdFBhbmVsSGVhZGVyRmFjdG9yeSIsIkVmZmVjdFBhbmVsSGVhZGVyIiwic2hvd1NvcnRIYW5kbGUiLCJsYWJlbCIsImRlc2NyaXB0aW9uIiwiRUZGRUNUX0RFU0NSSVBUSU9OUyIsImZpbmQiLCJfZGVzY3JpcHRpb24iLCJuYW1lIiwiRWZmZWN0SWNvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7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SSxJQUFiLEtBQXFCLFFBQTVCO0FBQ0QsS0FIYSxFQUdYLENBQUN6RixJQUFELENBSFcsQ0FBZDtBQUtBLFFBQU0wRixVQUFVLEdBQUc1RixrQkFBa0IsQ0FBQ0UsSUFBRCxDQUFyQztBQUVBLHdCQUNFLGdDQUFDLHVCQUFEO0FBQ0UsTUFBQSxTQUFTLEVBQUUsNEJBQVcsc0JBQVgsRUFBbUM7QUFDNUMsd0JBQWdCLENBQUM4QztBQUQyQixPQUFuQyxDQURiO0FBSUUsTUFBQSxNQUFNLEVBQUVBLGNBSlY7QUFLRSxNQUFBLE9BQU8sRUFBRWdCO0FBTFgsT0FPRzVFLGtCQUFrQixnQkFDakIsZ0NBQUMsVUFBRDtBQUFZLE1BQUEsU0FBUyxFQUFDLHFCQUF0QjtBQUE0QyxNQUFBLFNBQVMsRUFBRWlFO0FBQXZELE9BQ0dnQyxjQUFjLGdCQUFHLGdDQUFDLGVBQUQ7QUFBVSxNQUFBLE1BQU0sRUFBQztBQUFqQixNQUFILGdCQUFnQyxnQ0FBQyxlQUFELE9BRGpELENBRGlCLGdCQUtqQjtBQUFLLE1BQUEsU0FBUyxFQUFDO0FBQWYsTUFaSixlQWVFLGdDQUFDLGlCQUFELFFBQW9CTyxVQUFVLGdCQUFHLGdDQUFDLFVBQUQ7QUFBWSxNQUFBLE1BQU0sRUFBQztBQUFuQixNQUFILEdBQWtDLElBQWhFLENBZkYsZUFpQkUsZ0NBQUMsd0JBQUQsUUFBMkJOLEtBQTNCLENBakJGLGVBbUJFLGdDQUFDLDhCQUFELEVBQW9DakQsS0FBcEMsQ0FuQkYsQ0FERjtBQXVCRCxHQXhDRDs7QUEwQ0ErQyxFQUFBQSxpQkFBaUIsQ0FBQ2pHLFlBQWxCLEdBQWlDQSxZQUFqQztBQUVBLFNBQU9pRyxpQkFBUDtBQUNEOztlQUVjRCx3QiIsInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gJ3JlYWN0JztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCB7XG4gIEVGRkVDVF9ERVNDUklQVElPTlMsXG4gIExJR0hUX0FORF9TSEFET1dfRUZGRUNULFxuICBQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTXG59IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcblxuaW1wb3J0IFBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeSwge1BhbmVsSGVhZGVyQWN0aW9uSWNvbn0gZnJvbSAnLi4vc2lkZS1wYW5lbC9wYW5lbC1oZWFkZXItYWN0aW9uJztcbmltcG9ydCB7XG4gIEFycm93RG93bixcbiAgQXJyb3dVcCxcbiAgRXllU2VlbixcbiAgRXllVW5zZWVuLFxuICBUcmFzaCxcbiAgVmVydERvdHMsXG4gIExpZ2h0QW5kU2hhZG93RWZmZWN0SWNvbixcbiAgSW5rRWZmZWN0SWNvbixcbiAgQnJpZ2h0bmVzc0NvbnRyYXN0RWZmZWN0SWNvbixcbiAgSHVlU2F0dXJhdGlvbkVmZmVjdEljb24sXG4gIFZpYnJhbmNlRWZmZWN0SWNvbixcbiAgU2VwaWFFZmZlY3RJY29uLFxuICBEb3RTY3JlZW5FZmZlY3RJY29uLFxuICBDb2xvckhhbGZ0b25lRWZmZWN0SWNvbixcbiAgTm9pc2VFZmZlY3RJY29uLFxuICBUcmlhbmdsZUJsdXJFZmZlY3RJY29uLFxuICBab29tQmx1ckVmZmVjdEljb24sXG4gIFRpbHRTaGlmdEVmZmVjdEljb24sXG4gIEVkZ2VXb3JrRWZmZWN0SWNvbixcbiAgVmlnbmV0dGVFZmZlY3RJY29uLFxuICBNYWduaWZ5RWZmZWN0SWNvbixcbiAgSGV4YWdvbmFsUGl4ZWxhdGVFZmZlY3RJY29uLFxuICBCYXNlUHJvcHNcbn0gZnJvbSAnLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCB7U3R5bGVkUGFuZWxIZWFkZXJ9IGZyb20gJy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5cbmV4cG9ydCB0eXBlIEFjdGlvbkl0ZW0gPSB7XG4gIGtleTogc3RyaW5nO1xuICBpc0hpZGRlbj86IGJvb2xlYW47XG4gIHRvb2x0aXA6IHN0cmluZztcbiAgY2xhc3NOYW1lcz86IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+O1xuICBpY29uOiBQYW5lbEhlYWRlckFjdGlvbkljb247XG4gIHRvb2x0aXBUeXBlPzogJ2Vycm9yJztcbiAgb25DbGljazogKCkgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIEVmZmVjdFBhbmVsSGVhZGVyUHJvcHMgPSB7XG4gIHR5cGU6IHN0cmluZztcbiAgbGlzdGVuZXJzOiBhbnk7XG4gIGVmZmVjdElkOiBzdHJpbmc7XG4gIGlzRW5hYmxlZDogYm9vbGVhbjtcbiAgaXNDb25maWdBY3RpdmU6IGJvb2xlYW47XG4gIGlzSnNvbkVkaXRvckFjdGl2ZTogYm9vbGVhbjtcbiAgc2hvd1NvcnRIYW5kbGU/OiBib29sZWFuO1xuICBpc0RyYWdORHJvcEVuYWJsZWQ6IGJvb2xlYW47XG4gIG9uVG9nZ2xlRW5hYmxlZDogKCkgPT4gdm9pZDtcbiAgb25SZW1vdmVFZmZlY3Q6ICgpID0+IHZvaWQ7XG4gIG9uVG9nZ2xlRW5hYmxlQ29uZmlnOiAoKSA9PiB2b2lkO1xuICBhY3Rpb25JY29ucz86IHtcbiAgICByZW1vdmU6IFJlYWN0LkNvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgICB2aXNpYmxlOiBSZWFjdC5Db21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gICAgaGlkZGVuOiBSZWFjdC5Db21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gICAgZW5hYmxlQ29uZmlnOiBSZWFjdC5Db21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gICAgZGlzYWJsZUNvbmZpZzogUmVhY3QuQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICB9O1xuICBhY3Rpb25JdGVtcz86IEFjdGlvbkl0ZW1bXTtcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0UHJvcHMgPSB7XG4gIGlzRHJhZ05Ecm9wRW5hYmxlZDogdHJ1ZVxufTtcblxuY29uc3QgZGVmYXVsdEFjdGlvbkljb25zID0ge1xuICByZW1vdmU6IFRyYXNoLFxuICB2aXNpYmxlOiBFeWVTZWVuLFxuICBoaWRkZW46IEV5ZVVuc2VlbixcbiAgZW5hYmxlQ29uZmlnOiBBcnJvd0Rvd24sXG4gIGRpc2FibGVDb25maWc6IEFycm93VXBcbn07XG5cbmNvbnN0IGRlZmF1bHRFZmZlY3RJY29ucyA9IHtcbiAgW0xJR0hUX0FORF9TSEFET1dfRUZGRUNULnR5cGVdOiBMaWdodEFuZFNoYWRvd0VmZmVjdEljb24sXG4gIFtQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTLmluay50eXBlXTogSW5rRWZmZWN0SWNvbixcbiAgW1BPU1RQUk9DRVNTSU5HX0VGRkVDVFMuYnJpZ2h0bmVzc0NvbnRyYXN0LnR5cGVdOiBCcmlnaHRuZXNzQ29udHJhc3RFZmZlY3RJY29uLFxuICBbUE9TVFBST0NFU1NJTkdfRUZGRUNUUy5odWVTYXR1cmF0aW9uLnR5cGVdOiBIdWVTYXR1cmF0aW9uRWZmZWN0SWNvbixcbiAgW1BPU1RQUk9DRVNTSU5HX0VGRkVDVFMudmlicmFuY2UudHlwZV06IFZpYnJhbmNlRWZmZWN0SWNvbixcbiAgW1BPU1RQUk9DRVNTSU5HX0VGRkVDVFMuc2VwaWEudHlwZV06IFNlcGlhRWZmZWN0SWNvbixcbiAgW1BPU1RQUk9DRVNTSU5HX0VGRkVDVFMuZG90U2NyZWVuLnR5cGVdOiBEb3RTY3JlZW5FZmZlY3RJY29uLFxuICBbUE9TVFBST0NFU1NJTkdfRUZGRUNUUy5jb2xvckhhbGZ0b25lLnR5cGVdOiBDb2xvckhhbGZ0b25lRWZmZWN0SWNvbixcbiAgW1BPU1RQUk9DRVNTSU5HX0VGRkVDVFMubm9pc2UudHlwZV06IE5vaXNlRWZmZWN0SWNvbixcbiAgW1BPU1RQUk9DRVNTSU5HX0VGRkVDVFMudHJpYW5nbGVCbHVyLnR5cGVdOiBUcmlhbmdsZUJsdXJFZmZlY3RJY29uLFxuICBbUE9TVFBST0NFU1NJTkdfRUZGRUNUUy56b29tQmx1ci50eXBlXTogWm9vbUJsdXJFZmZlY3RJY29uLFxuICBbUE9TVFBST0NFU1NJTkdfRUZGRUNUUy50aWx0U2hpZnQudHlwZV06IFRpbHRTaGlmdEVmZmVjdEljb24sXG4gIFtQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTLmVkZ2VXb3JrLnR5cGVdOiBFZGdlV29ya0VmZmVjdEljb24sXG4gIFtQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTLnZpZ25ldHRlLnR5cGVdOiBWaWduZXR0ZUVmZmVjdEljb24sXG4gIFtQT1NUUFJPQ0VTU0lOR19FRkZFQ1RTLm1hZ25pZnkudHlwZV06IE1hZ25pZnlFZmZlY3RJY29uLFxuICBbUE9TVFBST0NFU1NJTkdfRUZGRUNUUy5oZXhhZ29uYWxQaXhlbGF0ZS50eXBlXTogSGV4YWdvbmFsUGl4ZWxhdGVFZmZlY3RJY29uXG59O1xuXG5jb25zdCBTdHlsZWRFZmZlY3RQYW5lbEhlYWRlciA9IHN0eWxlZChTdHlsZWRQYW5lbEhlYWRlcilgXG4gIGhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5lZmZlY3RQYW5lbEhlYWRlckhlaWdodH1weDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAuZWZmZWN0X19kcmFnLWhhbmRsZSB7XG4gICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgfVxuXG4gIC5lZmZlY3RfX2RyYWctaGFuZGxlX19wbGFjZWhvbGRlciB7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBtYXJnaW46IDEwcHggMTBweCAxMHB4IDVweDtcbiAgfVxuXG4gIDpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuICAgIC5lZmZlY3RfX2RyYWctaGFuZGxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyfTtcbmA7XG5cbmNvbnN0IEhlYWRlckFjdGlvblNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMTAwJTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHJpZ2h0OiAxMHB4O1xuICA6aG92ZXIge1xuICAgIC5lZmZlY3QtcGFuZWxfX2hlYWRlcl9fYWN0aW9uc19faGlkZGVuIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyfTtcbiAgICB9XG4gIH1cbmA7XG5cbi8vIEhpZGVuIGFjdGlvbnMgb25seSBzaG93IHVwIG9uIGhvdmVyXG50eXBlIFN0eWxlZFBhbmVsSGVhZGVySGlkZGVuQWN0aW9uc1Byb3BzID0ge2lzQ29uZmlnQWN0aXZlOiBib29sZWFufTtcbmNvbnN0IFN0eWxlZFBhbmVsSGVhZGVySGlkZGVuQWN0aW9ucyA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdlZmZlY3QtcGFuZWxfX2hlYWRlcl9fYWN0aW9uc19faGlkZGVuJ1xufSk8U3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zUHJvcHM+YFxuICBvcGFjaXR5OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNHMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAwLjRzIGVhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5pc0NvbmZpZ0FjdGl2ZSA/IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyIDogcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kfTtcblxuICA6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZERyYWdIYW5kbGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICA6aG92ZXIge1xuICAgIGN1cnNvcjogbW92ZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgfVxuYDtcblxuY29uc3QgRHJhZ0hhbmRsZSA9ICh7Y2xhc3NOYW1lLCBsaXN0ZW5lcnMsIGNoaWxkcmVufSkgPT4gKFxuICA8U3R5bGVkRHJhZ0hhbmRsZSBjbGFzc05hbWU9e2NsYXNzTmFtZX0gey4uLmxpc3RlbmVyc30+XG4gICAge2NoaWxkcmVufVxuICA8L1N0eWxlZERyYWdIYW5kbGU+XG4pO1xuXG5FZmZlY3RQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25GYWN0b3J5LmRlcHMgPSBbUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5XTtcblxuZXhwb3J0IGZ1bmN0aW9uIEVmZmVjdFBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbkZhY3RvcnkoXG4gIFBhbmVsSGVhZGVyQWN0aW9uOiBSZXR1cm5UeXBlPHR5cGVvZiBQYW5lbEhlYWRlckFjdGlvbkZhY3Rvcnk+XG4pOiBSZWFjdC5GQzxFZmZlY3RQYW5lbEhlYWRlclByb3BzPiB7XG4gIGNvbnN0IEVmZmVjdFBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbiA9IChwcm9wczogRWZmZWN0UGFuZWxIZWFkZXJQcm9wcykgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGVmZmVjdElkLFxuICAgICAgaXNFbmFibGVkLFxuICAgICAgaXNDb25maWdBY3RpdmUsXG4gICAgICBvblRvZ2dsZUVuYWJsZWQsXG4gICAgICBvblJlbW92ZUVmZmVjdCxcbiAgICAgIG9uVG9nZ2xlRW5hYmxlQ29uZmlnLFxuICAgICAgYWN0aW9uSXRlbXMsXG4gICAgICBhY3Rpb25JY29ucyA9IGRlZmF1bHRBY3Rpb25JY29uc1xuICAgIH0gPSBwcm9wcztcblxuICAgIGNvbnN0IGVmZmVjdEFjdGlvbkl0ZW1zOiBBY3Rpb25JdGVtW10gPSB1c2VNZW1vKFxuICAgICAgKCkgPT5cbiAgICAgICAgYWN0aW9uSXRlbXMgPz8gW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGtleTogJ3JlbW92ZS1lZmZlY3QnLFxuICAgICAgICAgICAgaXNIaWRkZW46IHRydWUsXG4gICAgICAgICAgICB0b29sdGlwOiAndG9vbHRpcC5yZW1vdmVFZmZlY3QnLFxuICAgICAgICAgICAgdG9vbHRpcFR5cGU6ICdlcnJvcicsXG4gICAgICAgICAgICBvbkNsaWNrOiBvblJlbW92ZUVmZmVjdCxcbiAgICAgICAgICAgIGljb246IGFjdGlvbkljb25zLnJlbW92ZVxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAga2V5OiAndmlzaWJpbGl0eS10b2dnbGUnLFxuICAgICAgICAgICAgdG9vbHRpcDogaXNFbmFibGVkID8gJ3Rvb2x0aXAuZGlzYWJsZUVmZmVjdCcgOiAndG9vbHRpcC5lbmFibGVkRWZmZWN0JyxcbiAgICAgICAgICAgIG9uQ2xpY2s6IG9uVG9nZ2xlRW5hYmxlZCxcbiAgICAgICAgICAgIGljb246IGlzRW5hYmxlZCA/IGFjdGlvbkljb25zLnZpc2libGUgOiBhY3Rpb25JY29ucy5oaWRkZW5cbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGtleTogJ2VuYWJsZS1jb25maWcnLFxuICAgICAgICAgICAgY2xhc3NOYW1lczogeydpcy1vcGVuJzogaXNDb25maWdBY3RpdmV9LFxuICAgICAgICAgICAgdG9vbHRpcDogJ3Rvb2x0aXAuZWZmZWN0U2V0dGluZ3MnLFxuICAgICAgICAgICAgb25DbGljazogb25Ub2dnbGVFbmFibGVDb25maWcsXG4gICAgICAgICAgICBpY29uOiBhY3Rpb25JY29ucy5lbmFibGVDb25maWdcbiAgICAgICAgICB9XG4gICAgICAgIF0sXG4gICAgICBbYWN0aW9uSXRlbXMsIGlzRW5hYmxlZCwgb25SZW1vdmVFZmZlY3QsIG9uVG9nZ2xlRW5hYmxlZCwgYWN0aW9uSWNvbnNdXG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8SGVhZGVyQWN0aW9uU2VjdGlvbiBjbGFzc05hbWU9XCJlZmZlY3QtcGFuZWxfX2hlYWRlcl9fYWN0aW9uc1wiPlxuICAgICAgICA8U3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zIGlzQ29uZmlnQWN0aXZlPXtpc0NvbmZpZ0FjdGl2ZX0+XG4gICAgICAgICAge2VmZmVjdEFjdGlvbkl0ZW1zXG4gICAgICAgICAgICAuZmlsdGVyKChpdGVtOiBBY3Rpb25JdGVtKSA9PiBCb29sZWFuKGl0ZW0uaXNIaWRkZW4pKVxuICAgICAgICAgICAgLm1hcCgoaXRlbTogQWN0aW9uSXRlbSwgaSkgPT4gKFxuICAgICAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgICAgICBrZXk9e2l0ZW0ua2V5fVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YGVmZmVjdF9fJHtpdGVtLmtleX1gfVxuICAgICAgICAgICAgICAgIHRlc3RJZD17YCR7aXRlbS5rZXl9LWFjdGlvbmB9XG4gICAgICAgICAgICAgICAgaWQ9e2VmZmVjdElkfVxuICAgICAgICAgICAgICAgIHRvb2x0aXA9e2l0ZW0udG9vbHRpcH1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtpdGVtLm9uQ2xpY2t9XG4gICAgICAgICAgICAgICAgdG9vbHRpcFR5cGU9e2l0ZW0udG9vbHRpcFR5cGV9XG4gICAgICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17aXRlbS5pY29ufVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgIDwvU3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zPlxuICAgICAgICB7ZWZmZWN0QWN0aW9uSXRlbXNcbiAgICAgICAgICAuZmlsdGVyKChpdGVtOiBBY3Rpb25JdGVtKSA9PiAhaXRlbS5pc0hpZGRlbilcbiAgICAgICAgICAubWFwKChpdGVtOiBBY3Rpb25JdGVtLCBpKSA9PiAoXG4gICAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgICAga2V5PXtpdGVtLmtleX1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKGBlZmZlY3RfXyR7aXRlbS5rZXl9YCwgaXRlbS5jbGFzc05hbWVzKX1cbiAgICAgICAgICAgICAgdGVzdElkPXtgJHtpdGVtLmtleX0tYWN0aW9uYH1cbiAgICAgICAgICAgICAgaWQ9e2VmZmVjdElkfVxuICAgICAgICAgICAgICB0b29sdGlwPXtpdGVtLnRvb2x0aXB9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e2l0ZW0ub25DbGlja31cbiAgICAgICAgICAgICAgdG9vbHRpcFR5cGU9e2l0ZW0udG9vbHRpcFR5cGV9XG4gICAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2l0ZW0uaWNvbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSl9XG4gICAgICA8L0hlYWRlckFjdGlvblNlY3Rpb24+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gRWZmZWN0UGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uO1xufVxuXG5jb25zdCBTdHlsZWRFZmZlY3RUaXRsZVNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBtYXJnaW4tbGVmdDogOHB4O1xuICBmbGV4LWdyb3c6IDE7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvcn07XG5gO1xuXG5jb25zdCBJY29uUGxhY2Vob2xkZXIgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuYDtcblxuY29uc3QgRWZmZWN0SWNvbldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBoZWlnaHQ6IDE4cHg7XG4gIG1hcmdpbjogYXV0bztcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbmA7XG5cbkVmZmVjdFBhbmVsSGVhZGVyRmFjdG9yeS5kZXBzID0gW0VmZmVjdFBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbkZhY3RvcnldO1xuXG5mdW5jdGlvbiBFZmZlY3RQYW5lbEhlYWRlckZhY3RvcnkoXG4gIEVmZmVjdFBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbjogUmV0dXJuVHlwZTx0eXBlb2YgRWZmZWN0UGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uRmFjdG9yeT5cbik6IFJlYWN0LkZDPEVmZmVjdFBhbmVsSGVhZGVyUHJvcHM+IHtcbiAgY29uc3QgRWZmZWN0UGFuZWxIZWFkZXIgPSAocHJvcHM6IEVmZmVjdFBhbmVsSGVhZGVyUHJvcHMpID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBpc0NvbmZpZ0FjdGl2ZSxcbiAgICAgIGlzRHJhZ05Ecm9wRW5hYmxlZCxcbiAgICAgIHR5cGUsXG4gICAgICBvblRvZ2dsZUVuYWJsZUNvbmZpZyxcbiAgICAgIGxpc3RlbmVycyxcbiAgICAgIHNob3dTb3J0SGFuZGxlID0gdHJ1ZVxuICAgIH0gPSBwcm9wcztcblxuICAgIGNvbnN0IGxhYmVsID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICBjb25zdCBkZXNjcmlwdGlvbiA9IEVGRkVDVF9ERVNDUklQVElPTlMuZmluZChfZGVzY3JpcHRpb24gPT4gX2Rlc2NyaXB0aW9uLnR5cGUgPT09IHR5cGUpO1xuICAgICAgcmV0dXJuIGRlc2NyaXB0aW9uPy5uYW1lIHx8ICdFZmZlY3QnO1xuICAgIH0sIFt0eXBlXSk7XG5cbiAgICBjb25zdCBFZmZlY3RJY29uID0gZGVmYXVsdEVmZmVjdEljb25zW3R5cGVdO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRFZmZlY3RQYW5lbEhlYWRlclxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ2VmZmVjdC1wYW5lbF9faGVhZGVyJywge1xuICAgICAgICAgICdzb3J0LS1oYW5kbGUnOiAhaXNDb25maWdBY3RpdmVcbiAgICAgICAgfSl9XG4gICAgICAgIGFjdGl2ZT17aXNDb25maWdBY3RpdmV9XG4gICAgICAgIG9uQ2xpY2s9e29uVG9nZ2xlRW5hYmxlQ29uZmlnfVxuICAgICAgPlxuICAgICAgICB7aXNEcmFnTkRyb3BFbmFibGVkID8gKFxuICAgICAgICAgIDxEcmFnSGFuZGxlIGNsYXNzTmFtZT1cImVmZmVjdF9fZHJhZy1oYW5kbGVcIiBsaXN0ZW5lcnM9e2xpc3RlbmVyc30+XG4gICAgICAgICAgICB7c2hvd1NvcnRIYW5kbGUgPyA8VmVydERvdHMgaGVpZ2h0PVwiMjBweFwiIC8+IDogPEljb25QbGFjZWhvbGRlciAvPn1cbiAgICAgICAgICA8L0RyYWdIYW5kbGU+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJlZmZlY3RfX2RyYWctaGFuZGxlX19wbGFjZWhvbGRlclwiIC8+XG4gICAgICAgICl9XG5cbiAgICAgICAgPEVmZmVjdEljb25XcmFwcGVyPntFZmZlY3RJY29uID8gPEVmZmVjdEljb24gaGVpZ2h0PVwiMThweFwiIC8+IDogbnVsbH08L0VmZmVjdEljb25XcmFwcGVyPlxuXG4gICAgICAgIDxTdHlsZWRFZmZlY3RUaXRsZVNlY3Rpb24+e2xhYmVsfTwvU3R5bGVkRWZmZWN0VGl0bGVTZWN0aW9uPlxuXG4gICAgICAgIDxFZmZlY3RQYW5lbEhlYWRlckFjdGlvblNlY3Rpb24gey4uLnByb3BzfSAvPlxuICAgICAgPC9TdHlsZWRFZmZlY3RQYW5lbEhlYWRlcj5cbiAgICApO1xuICB9O1xuXG4gIEVmZmVjdFBhbmVsSGVhZGVyLmRlZmF1bHRQcm9wcyA9IGRlZmF1bHRQcm9wcztcblxuICByZXR1cm4gRWZmZWN0UGFuZWxIZWFkZXI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEVmZmVjdFBhbmVsSGVhZGVyRmFjdG9yeTtcbiJdfQ==