@carto/kepler.gl 0.0.74 → 0.0.75-alpha.deckv9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. package/dist/actions/action-wrapper.js +20 -48
  2. package/dist/actions/actions.js +10 -19
  3. package/dist/actions/identity-actions.js +8 -17
  4. package/dist/actions/index.js +7 -24
  5. package/dist/actions/map-state-actions.js +10 -19
  6. package/dist/actions/map-style-actions.js +20 -35
  7. package/dist/actions/provider-actions.js +26 -42
  8. package/dist/actions/ui-state-actions.js +42 -70
  9. package/dist/actions/vis-state-actions.js +102 -162
  10. package/dist/cloud-providers/index.js +8 -8
  11. package/dist/cloud-providers/provider.js +55 -94
  12. package/dist/components/bottom-widget.js +47 -48
  13. package/dist/components/common/action-panel.js +39 -38
  14. package/dist/components/common/animation-control/animation-control.js +40 -38
  15. package/dist/components/common/animation-control/animation-controller.js +47 -70
  16. package/dist/components/common/animation-control/animation-speed-slider.js +28 -38
  17. package/dist/components/common/animation-control/floating-time-display.js +56 -67
  18. package/dist/components/common/animation-control/playback-controls.js +64 -80
  19. package/dist/components/common/animation-control/speed-control.js +26 -24
  20. package/dist/components/common/checkbox.js +31 -52
  21. package/dist/components/common/color-legend.js +40 -72
  22. package/dist/components/common/data-table/button.js +29 -22
  23. package/dist/components/common/data-table/canvas.js +21 -10
  24. package/dist/components/common/data-table/cell-size.js +54 -58
  25. package/dist/components/common/data-table/grid.js +30 -31
  26. package/dist/components/common/data-table/index.js +91 -133
  27. package/dist/components/common/data-table/option-dropdown.js +29 -33
  28. package/dist/components/common/dataset-label.js +21 -13
  29. package/dist/components/common/error-boundary.js +25 -30
  30. package/dist/components/common/field-selector.js +35 -69
  31. package/dist/components/common/field-token.js +21 -16
  32. package/dist/components/common/file-uploader/file-drop.js +40 -55
  33. package/dist/components/common/file-uploader/file-upload-progress.js +32 -30
  34. package/dist/components/common/file-uploader/file-upload.js +52 -91
  35. package/dist/components/common/file-uploader/upload-button.js +31 -42
  36. package/dist/components/common/histogram-plot.js +32 -27
  37. package/dist/components/common/icons/add.js +27 -27
  38. package/dist/components/common/icons/anchor_window.js +3 -9
  39. package/dist/components/common/icons/arrow-down-alt.js +27 -27
  40. package/dist/components/common/icons/arrow-down-solid .js +27 -27
  41. package/dist/components/common/icons/arrow-down.js +27 -27
  42. package/dist/components/common/icons/arrow-left.js +27 -27
  43. package/dist/components/common/icons/arrow-right.js +27 -27
  44. package/dist/components/common/icons/arrow-up-alt.js +27 -27
  45. package/dist/components/common/icons/arrow-up-solid.js +27 -27
  46. package/dist/components/common/icons/arrow-up.js +27 -27
  47. package/dist/components/common/icons/base.js +38 -42
  48. package/dist/components/common/icons/bug.js +27 -27
  49. package/dist/components/common/icons/cancel.js +27 -27
  50. package/dist/components/common/icons/checkmark.js +27 -28
  51. package/dist/components/common/icons/chevron-right.js +27 -27
  52. package/dist/components/common/icons/clipboard.js +27 -27
  53. package/dist/components/common/icons/clock.js +27 -27
  54. package/dist/components/common/icons/close.js +27 -27
  55. package/dist/components/common/icons/code-alt.js +27 -28
  56. package/dist/components/common/icons/copy.js +27 -28
  57. package/dist/components/common/icons/crosshairs.js +27 -28
  58. package/dist/components/common/icons/cube-3d.js +27 -27
  59. package/dist/components/common/icons/cursor-click.js +27 -27
  60. package/dist/components/common/icons/data-table.js +27 -27
  61. package/dist/components/common/icons/db.js +27 -27
  62. package/dist/components/common/icons/delete.js +27 -27
  63. package/dist/components/common/icons/docs.js +27 -27
  64. package/dist/components/common/icons/drag-n-drop.js +27 -27
  65. package/dist/components/common/icons/draw-polygon.js +27 -27
  66. package/dist/components/common/icons/email.js +27 -27
  67. package/dist/components/common/icons/expand.js +27 -27
  68. package/dist/components/common/icons/eye-seen.js +27 -27
  69. package/dist/components/common/icons/eye-unseen.js +27 -27
  70. package/dist/components/common/icons/file-type.js +23 -16
  71. package/dist/components/common/icons/file.js +27 -27
  72. package/dist/components/common/icons/files.js +24 -26
  73. package/dist/components/common/icons/filter-funnel.js +27 -27
  74. package/dist/components/common/icons/free-window.js +3 -9
  75. package/dist/components/common/icons/gear.js +27 -27
  76. package/dist/components/common/icons/hash.js +27 -27
  77. package/dist/components/common/icons/histogram.js +24 -25
  78. package/dist/components/common/icons/index.js +63 -138
  79. package/dist/components/common/icons/info.js +27 -28
  80. package/dist/components/common/icons/layers.js +27 -27
  81. package/dist/components/common/icons/left-arrow.js +27 -28
  82. package/dist/components/common/icons/legend.js +27 -27
  83. package/dist/components/common/icons/line-chart.js +27 -27
  84. package/dist/components/common/icons/login.js +27 -27
  85. package/dist/components/common/icons/logout.js +27 -27
  86. package/dist/components/common/icons/map-icon.js +27 -28
  87. package/dist/components/common/icons/map.js +27 -28
  88. package/dist/components/common/icons/messages.js +27 -27
  89. package/dist/components/common/icons/minus.js +27 -27
  90. package/dist/components/common/icons/pause.js +27 -27
  91. package/dist/components/common/icons/picture.js +24 -26
  92. package/dist/components/common/icons/pin.js +27 -27
  93. package/dist/components/common/icons/play.js +27 -27
  94. package/dist/components/common/icons/polygon.js +27 -27
  95. package/dist/components/common/icons/rectangle.js +27 -27
  96. package/dist/components/common/icons/reduce.js +27 -27
  97. package/dist/components/common/icons/reset.js +27 -27
  98. package/dist/components/common/icons/rocket.js +27 -27
  99. package/dist/components/common/icons/save.js +27 -27
  100. package/dist/components/common/icons/save2.js +27 -27
  101. package/dist/components/common/icons/search.js +27 -27
  102. package/dist/components/common/icons/settings.js +27 -27
  103. package/dist/components/common/icons/share.js +27 -27
  104. package/dist/components/common/icons/split.js +27 -27
  105. package/dist/components/common/icons/square-select.js +27 -27
  106. package/dist/components/common/icons/swap-horizontal.js +27 -28
  107. package/dist/components/common/icons/table.js +27 -27
  108. package/dist/components/common/icons/trash.js +27 -27
  109. package/dist/components/common/icons/upload.js +27 -27
  110. package/dist/components/common/icons/vert-dots.js +27 -27
  111. package/dist/components/common/icons/vert-three-dots.js +27 -27
  112. package/dist/components/common/icons/warning.js +27 -28
  113. package/dist/components/common/image-preview.js +36 -29
  114. package/dist/components/common/info-helper.js +26 -25
  115. package/dist/components/common/item-selector/accessor.js +3 -5
  116. package/dist/components/common/item-selector/chickleted-input.js +41 -43
  117. package/dist/components/common/item-selector/dropdown-list.js +44 -74
  118. package/dist/components/common/item-selector/item-selector-submenu.js +29 -38
  119. package/dist/components/common/item-selector/item-selector.js +36 -84
  120. package/dist/components/common/item-selector/typeahead.js +37 -83
  121. package/dist/components/common/line-chart.js +39 -36
  122. package/dist/components/common/loading-spinner.js +33 -25
  123. package/dist/components/common/logo.js +24 -22
  124. package/dist/components/common/map-layer-selector.js +23 -16
  125. package/dist/components/common/modal.js +36 -61
  126. package/dist/components/common/portaled.js +56 -97
  127. package/dist/components/common/progress-bar.js +29 -20
  128. package/dist/components/common/range-brush.js +63 -104
  129. package/dist/components/common/range-plot.js +47 -52
  130. package/dist/components/common/range-slider.js +52 -78
  131. package/dist/components/common/slider/mouse-event.js +11 -37
  132. package/dist/components/common/slider/slider-bar-handle.js +31 -39
  133. package/dist/components/common/slider/slider-handle.js +35 -44
  134. package/dist/components/common/slider/slider.js +55 -82
  135. package/dist/components/common/styled-components.js +64 -169
  136. package/dist/components/common/switch.js +22 -16
  137. package/dist/components/common/time-range-slider-time-title.js +24 -19
  138. package/dist/components/common/time-range-slider.js +41 -38
  139. package/dist/components/common/time-slider-marker.js +36 -41
  140. package/dist/components/common/toolbar-item.js +22 -16
  141. package/dist/components/common/toolbar.js +21 -10
  142. package/dist/components/common/vertical-toolbar.js +21 -10
  143. package/dist/components/container.js +49 -70
  144. package/dist/components/context.js +6 -10
  145. package/dist/components/editor/constants.js +6 -8
  146. package/dist/components/editor/editor.js +40 -72
  147. package/dist/components/editor/feature-action-panel.js +35 -43
  148. package/dist/components/editor/feature-styles.js +35 -40
  149. package/dist/components/editor/handle-style.js +35 -37
  150. package/dist/components/filters/components.js +21 -10
  151. package/dist/components/filters/filter-panels/filter-panel-with-field-select.js +14 -25
  152. package/dist/components/filters/filter-panels/multi-select-filter-panel.js +14 -21
  153. package/dist/components/filters/filter-panels/new-filter-panel.js +13 -23
  154. package/dist/components/filters/filter-panels/polygon-filter-panel.js +13 -25
  155. package/dist/components/filters/filter-panels/range-filter-panel.js +14 -21
  156. package/dist/components/filters/filter-panels/single-select-filter-panel.js +14 -21
  157. package/dist/components/filters/filter-panels/time-range-filter-panel.js +14 -23
  158. package/dist/components/filters/index.js +11 -17
  159. package/dist/components/filters/multi-select-filter.js +3 -9
  160. package/dist/components/filters/polygon-filter.js +8 -18
  161. package/dist/components/filters/range-filter.js +3 -8
  162. package/dist/components/filters/single-select-filter.js +3 -9
  163. package/dist/components/filters/time-range-filter.js +7 -18
  164. package/dist/components/filters/time-widget.js +41 -51
  165. package/dist/components/geocoder/geocoder.js +95 -128
  166. package/dist/components/geocoder-panel.js +37 -62
  167. package/dist/components/index.js +356 -498
  168. package/dist/components/injector.js +42 -58
  169. package/dist/components/kepler-gl.js +65 -158
  170. package/dist/components/map/coordinate-info.js +4 -13
  171. package/dist/components/map/layer-hover-info.js +40 -48
  172. package/dist/components/map/layer-selector-panel.js +17 -30
  173. package/dist/components/map/locale-panel.js +13 -27
  174. package/dist/components/map/map-control-panel.js +27 -24
  175. package/dist/components/map/map-control-toolbar.js +21 -11
  176. package/dist/components/map/map-control-tooltip.js +4 -11
  177. package/dist/components/map/map-control.js +26 -27
  178. package/dist/components/map/map-draw-panel.js +12 -29
  179. package/dist/components/map/map-legend-panel.js +17 -34
  180. package/dist/components/map/map-legend.js +52 -70
  181. package/dist/components/map/map-popover.js +41 -57
  182. package/dist/components/map/split-map-button.js +13 -25
  183. package/dist/components/map/toggle-3d-button.js +10 -21
  184. package/dist/components/map-container.js +98 -145
  185. package/dist/components/maps-layout.js +24 -26
  186. package/dist/components/modal-container.js +60 -112
  187. package/dist/components/modals/add-map-style-modal.js +37 -67
  188. package/dist/components/modals/cloud-tile.js +36 -36
  189. package/dist/components/modals/data-table-modal.js +51 -81
  190. package/dist/components/modals/delete-data-modal.js +24 -20
  191. package/dist/components/modals/error-display.js +3 -10
  192. package/dist/components/modals/export-data-modal.js +37 -54
  193. package/dist/components/modals/export-image-modal.js +31 -28
  194. package/dist/components/modals/export-map-modal/components.js +27 -27
  195. package/dist/components/modals/export-map-modal/export-html-map.js +27 -27
  196. package/dist/components/modals/export-map-modal/export-json-map.js +22 -22
  197. package/dist/components/modals/export-map-modal/export-map-modal.js +20 -40
  198. package/dist/components/modals/image-modal-container.js +9 -16
  199. package/dist/components/modals/load-data-modal.js +29 -33
  200. package/dist/components/modals/load-storage-map.js +42 -77
  201. package/dist/components/modals/loading-dialog.js +24 -18
  202. package/dist/components/modals/modal-dialog.js +3 -7
  203. package/dist/components/modals/modal-tabs.js +29 -29
  204. package/dist/components/modals/overwrite-map-modal.js +29 -28
  205. package/dist/components/modals/provider-modal-container.js +27 -27
  206. package/dist/components/modals/save-map-modal.js +43 -48
  207. package/dist/components/modals/share-map-modal.js +42 -53
  208. package/dist/components/modals/status-panel.js +24 -25
  209. package/dist/components/modals/storage-map-viewer.js +30 -43
  210. package/dist/components/notification-panel/notification-item.js +33 -47
  211. package/dist/components/notification-panel.js +30 -36
  212. package/dist/components/performance.js +11 -36
  213. package/dist/components/plot-container.js +42 -72
  214. package/dist/components/side-panel/cloud-storage-dropdown.js +4 -10
  215. package/dist/components/side-panel/common/dataset-info.js +20 -13
  216. package/dist/components/side-panel/common/dataset-tag.js +21 -12
  217. package/dist/components/side-panel/common/dataset-title.js +37 -52
  218. package/dist/components/side-panel/common/source-data-catalog.js +26 -22
  219. package/dist/components/side-panel/common/source-data-selector.js +34 -40
  220. package/dist/components/side-panel/custom-panel.js +5 -9
  221. package/dist/components/side-panel/filter-manager.js +18 -29
  222. package/dist/components/side-panel/filter-panel/filter-panel-header.js +30 -30
  223. package/dist/components/side-panel/filter-panel/filter-panel.js +36 -55
  224. package/dist/components/side-panel/interaction-manager.js +5 -12
  225. package/dist/components/side-panel/interaction-panel/brush-config.js +23 -19
  226. package/dist/components/side-panel/interaction-panel/interaction-panel.js +36 -59
  227. package/dist/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +34 -74
  228. package/dist/components/side-panel/interaction-panel/tooltip-config.js +28 -40
  229. package/dist/components/side-panel/layer-manager.js +51 -82
  230. package/dist/components/side-panel/layer-panel/color-dimension-scale-selector.js +3 -10
  231. package/dist/components/side-panel/layer-panel/color-palette.js +27 -23
  232. package/dist/components/side-panel/layer-panel/color-range-selector.js +52 -98
  233. package/dist/components/side-panel/layer-panel/color-selector.js +36 -67
  234. package/dist/components/side-panel/layer-panel/column-selector.js +26 -25
  235. package/dist/components/side-panel/layer-panel/custom-markers-config-group.js +2 -6
  236. package/dist/components/side-panel/layer-panel/custom-palette.js +37 -71
  237. package/dist/components/side-panel/layer-panel/custom-picker.js +32 -45
  238. package/dist/components/side-panel/layer-panel/dimension-scale-selector.js +8 -16
  239. package/dist/components/side-panel/layer-panel/hex-column-config.js +12 -34
  240. package/dist/components/side-panel/layer-panel/layer-aggregation-resolution.js +2 -10
  241. package/dist/components/side-panel/layer-panel/layer-column-config.js +31 -27
  242. package/dist/components/side-panel/layer-panel/layer-config-group.js +46 -80
  243. package/dist/components/side-panel/layer-panel/layer-configurator.js +158 -249
  244. package/dist/components/side-panel/layer-panel/layer-panel-header.js +52 -66
  245. package/dist/components/side-panel/layer-panel/layer-panel.js +33 -54
  246. package/dist/components/side-panel/layer-panel/layer-type-dropdown-list.js +28 -22
  247. package/dist/components/side-panel/layer-panel/layer-type-list-item.js +22 -18
  248. package/dist/components/side-panel/layer-panel/layer-type-selector.js +29 -32
  249. package/dist/components/side-panel/layer-panel/layer-visibility-by-zoom.js +35 -40
  250. package/dist/components/side-panel/layer-panel/single-color-palette.js +32 -42
  251. package/dist/components/side-panel/layer-panel/text-label-panel.js +31 -42
  252. package/dist/components/side-panel/layer-panel/vis-config-by-field-selector.js +39 -52
  253. package/dist/components/side-panel/layer-panel/vis-config-slider.js +10 -19
  254. package/dist/components/side-panel/layer-panel/vis-config-switch.js +28 -29
  255. package/dist/components/side-panel/map-manager.js +32 -46
  256. package/dist/components/side-panel/map-style-panel/map-layer-selector.js +28 -31
  257. package/dist/components/side-panel/map-style-panel/map-style-selector.js +26 -24
  258. package/dist/components/side-panel/panel-dropdown.js +28 -35
  259. package/dist/components/side-panel/panel-header-action.js +38 -43
  260. package/dist/components/side-panel/panel-header.js +54 -92
  261. package/dist/components/side-panel/panel-tab.js +24 -20
  262. package/dist/components/side-panel/panel-title.js +21 -10
  263. package/dist/components/side-panel/panel-toggle.js +26 -23
  264. package/dist/components/side-panel/side-bar.js +37 -53
  265. package/dist/components/side-panel.js +56 -65
  266. package/dist/connect/keplergl-connect.js +5 -14
  267. package/dist/connect/with-local-selector.js +33 -38
  268. package/dist/constants/action-types.js +5 -6
  269. package/dist/constants/color-palette.js +12 -23
  270. package/dist/constants/color-ranges.js +32 -31
  271. package/dist/constants/custom-color-ranges.js +9 -14
  272. package/dist/constants/default-settings.js +154 -239
  273. package/dist/constants/index.js +95 -103
  274. package/dist/constants/keyevent.js +3 -7
  275. package/dist/constants/tooltip.js +7 -10
  276. package/dist/constants/user-feedbacks.js +5 -6
  277. package/dist/constants/user-guides.js +12 -20
  278. package/dist/deckgl-layers/3d-building-layer/3d-building-layer.js +29 -32
  279. package/dist/deckgl-layers/3d-building-layer/3d-building-utils.js +10 -43
  280. package/dist/deckgl-layers/cluster-layer/cluster-layer.js +54 -75
  281. package/dist/deckgl-layers/column-layer/enhanced-column-layer.js +29 -32
  282. package/dist/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.js +29 -30
  283. package/dist/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.js +29 -30
  284. package/dist/deckgl-layers/layer-utils/cluster-utils.js +10 -21
  285. package/dist/deckgl-layers/layer-utils/cpu-aggregator.js +75 -132
  286. package/dist/deckgl-layers/layer-utils/shader-utils.js +1 -5
  287. package/dist/deckgl-layers/line-layer/line-layer.js +27 -34
  288. package/dist/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.js +26 -30
  289. package/dist/deckgl-layers/svg-icon-layer/svg-icon-layer.js +33 -39
  290. package/dist/index.js +4 -23
  291. package/dist/layers/aggregation-layer.js +63 -97
  292. package/dist/layers/arc-layer/arc-layer-icon.js +27 -27
  293. package/dist/layers/arc-layer/arc-layer.js +48 -73
  294. package/dist/layers/base-layer.js +255 -406
  295. package/dist/layers/cluster-layer/cluster-layer-icon.js +27 -27
  296. package/dist/layers/cluster-layer/cluster-layer.js +33 -44
  297. package/dist/layers/default-layer-icon.js +27 -27
  298. package/dist/layers/geojson-layer/geojson-layer-icon.js +27 -27
  299. package/dist/layers/geojson-layer/geojson-layer.js +54 -87
  300. package/dist/layers/geojson-layer/geojson-utils.js +35 -47
  301. package/dist/layers/grid-layer/grid-layer-icon.js +27 -27
  302. package/dist/layers/grid-layer/grid-layer.js +30 -41
  303. package/dist/layers/grid-layer/grid-utils.js +6 -9
  304. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer-icon.js +27 -27
  305. package/dist/layers/h3-hexagon-layer/h3-hexagon-layer.js +48 -80
  306. package/dist/layers/h3-hexagon-layer/h3-utils.js +10 -21
  307. package/dist/layers/heatmap-layer/heatmap-layer-icon.js +27 -27
  308. package/dist/layers/heatmap-layer/heatmap-layer.js +45 -72
  309. package/dist/layers/hexagon-layer/hexagon-layer-icon.js +27 -27
  310. package/dist/layers/hexagon-layer/hexagon-layer.js +30 -42
  311. package/dist/layers/hexagon-layer/hexagon-utils.js +3 -15
  312. package/dist/layers/icon-layer/icon-info-modal.js +23 -26
  313. package/dist/layers/icon-layer/icon-layer-icon.js +27 -27
  314. package/dist/layers/icon-layer/icon-layer.js +59 -97
  315. package/dist/layers/index.js +38 -39
  316. package/dist/layers/layer-factory.js +38 -42
  317. package/dist/layers/layer-text-label.js +7 -17
  318. package/dist/layers/layer-update.js +3 -14
  319. package/dist/layers/line-layer/line-layer-icon.js +27 -27
  320. package/dist/layers/line-layer/line-layer.js +46 -66
  321. package/dist/layers/mapbox-utils.js +38 -51
  322. package/dist/layers/mapboxgl-layer.js +43 -58
  323. package/dist/layers/point-layer/point-layer-icon.js +27 -27
  324. package/dist/layers/point-layer/point-layer.js +57 -90
  325. package/dist/layers/s2-geometry-layer/s2-geometry-layer.js +41 -73
  326. package/dist/layers/s2-geometry-layer/s2-layer-icon.js +27 -27
  327. package/dist/layers/s2-geometry-layer/s2-utils.js +5 -11
  328. package/dist/layers/scenegraph-layer/scenegraph-info-modal.js +21 -15
  329. package/dist/layers/scenegraph-layer/scenegraph-layer-icon.js +27 -27
  330. package/dist/layers/scenegraph-layer/scenegraph-layer.js +52 -75
  331. package/dist/layers/trip-layer/trip-info-modal.js +21 -16
  332. package/dist/layers/trip-layer/trip-layer-icon.js +27 -27
  333. package/dist/layers/trip-layer/trip-layer.js +51 -93
  334. package/dist/layers/trip-layer/trip-utils.js +16 -39
  335. package/dist/layers/types.js +3 -6
  336. package/dist/localization/en.js +22 -11
  337. package/dist/localization/formatted-message.js +5 -10
  338. package/dist/localization/index.js +7 -13
  339. package/dist/localization/locales.js +7 -12
  340. package/dist/middleware/index.js +2 -5
  341. package/dist/processors/data-processor.js +113 -177
  342. package/dist/processors/file-handler.js +200 -276
  343. package/dist/processors/index.js +33 -35
  344. package/dist/reducers/combined-updaters.js +35 -46
  345. package/dist/reducers/composer-helpers.js +28 -27
  346. package/dist/reducers/composers.js +25 -12
  347. package/dist/reducers/core.js +13 -46
  348. package/dist/reducers/index.js +24 -38
  349. package/dist/reducers/map-state-updaters.js +53 -65
  350. package/dist/reducers/map-state.js +31 -26
  351. package/dist/reducers/map-style-updaters.js +92 -136
  352. package/dist/reducers/map-style.js +31 -26
  353. package/dist/reducers/provider-state-updaters.js +92 -167
  354. package/dist/reducers/provider-state.js +32 -25
  355. package/dist/reducers/root.js +44 -50
  356. package/dist/reducers/ui-state-updaters.js +102 -202
  357. package/dist/reducers/ui-state.js +32 -26
  358. package/dist/reducers/vis-state-merger.js +102 -166
  359. package/dist/reducers/vis-state-selectors.js +5 -10
  360. package/dist/reducers/vis-state-updaters.js +386 -663
  361. package/dist/reducers/vis-state.js +32 -25
  362. package/dist/schemas/dataset-schema.js +36 -56
  363. package/dist/schemas/index.js +38 -45
  364. package/dist/schemas/map-state-schema.js +28 -24
  365. package/dist/schemas/map-style-schema.js +34 -48
  366. package/dist/schemas/schema-manager.js +44 -62
  367. package/dist/schemas/schema-utils.js +11 -15
  368. package/dist/schemas/schema.js +32 -27
  369. package/dist/schemas/versions.js +5 -9
  370. package/dist/schemas/vis-state-schema.js +109 -309
  371. package/dist/styles/base.js +367 -640
  372. package/dist/styles/index.js +1 -5
  373. package/dist/styles/media-breakpoints.js +21 -9
  374. package/dist/tasks/tasks.js +22 -50
  375. package/dist/templates/export-map-html.js +3 -6
  376. package/dist/utils/aggregate-utils.js +23 -27
  377. package/dist/utils/color-utils.js +36 -38
  378. package/dist/utils/custom-scales.js +1 -7
  379. package/dist/utils/data-scale-utils.js +11 -20
  380. package/dist/utils/data-utils.js +78 -137
  381. package/dist/utils/dataset-utils.js +71 -88
  382. package/dist/utils/dom-to-image.js +15 -93
  383. package/dist/utils/dom-utils.js +34 -116
  384. package/dist/utils/export-utils.js +65 -102
  385. package/dist/utils/filter-utils.js +170 -320
  386. package/dist/utils/gl-utils.js +25 -17
  387. package/dist/utils/gpu-filter-utils.js +46 -59
  388. package/dist/utils/index.js +68 -80
  389. package/dist/utils/interaction-utils.js +26 -50
  390. package/dist/utils/layer-utils.js +58 -63
  391. package/dist/utils/locale-utils.js +23 -21
  392. package/dist/utils/map-info-utils.js +2 -3
  393. package/dist/utils/map-style-utils/mapbox-gl-style-editor.js +72 -71
  394. package/dist/utils/map-style-utils/mapbox-utils.js +3 -5
  395. package/dist/utils/mapbox-utils.js +2 -5
  396. package/dist/utils/notifications-utils.js +36 -35
  397. package/dist/utils/observe-dimensions.js +36 -41
  398. package/dist/utils/projection-utils.js +9 -20
  399. package/dist/utils/searcher-utils.js +1 -4
  400. package/dist/utils/split-map-utils.js +36 -32
  401. package/dist/utils/table-utils/data-container-utils.js +27 -23
  402. package/dist/utils/table-utils/data-row.js +2 -13
  403. package/dist/utils/table-utils/index.js +1 -2
  404. package/dist/utils/table-utils/indexed-data-container.js +65 -84
  405. package/dist/utils/table-utils/kepler-table.js +83 -126
  406. package/dist/utils/table-utils/row-data-container.js +62 -87
  407. package/dist/utils/utils.js +51 -69
  408. package/package.json +4 -3
  409. package/src/components/kepler-gl.d.ts +0 -1
  410. package/src/components/kepler-gl.js +0 -7
  411. package/src/components/map-container.js +0 -3
  412. package/src/components/modal-container.d.ts +0 -1
  413. package/src/components/modal-container.js +0 -2
  414. package/src/components/modals/add-map-style-modal.js +0 -3
  415. package/src/utils/gl-utils.js +2 -4
  416. package/CHANGELOG.md +0 -954
@@ -1,78 +1,68 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
-
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
- exports["default"] = exports.CloudStorageDropdownFactory = exports.SaveExportDropdownFactory = exports.PanelHeaderDropdownFactory = exports.PanelAction = void 0;
11
-
8
+ exports["default"] = exports.SaveExportDropdownFactory = exports.PanelHeaderDropdownFactory = exports.PanelAction = exports.CloudStorageDropdownFactory = void 0;
12
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
-
14
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
-
16
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
12
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
13
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
24
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
16
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
27
-
28
17
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
29
-
30
18
  var _react = _interopRequireWildcard(require("react"));
31
-
32
19
  var _styledComponents = _interopRequireDefault(require("styled-components"));
33
-
34
20
  var _propTypes = _interopRequireDefault(require("prop-types"));
35
-
36
21
  var _reselect = require("reselect");
37
-
38
22
  var _styledComponents2 = require("../common/styled-components");
39
-
40
23
  var _logo = _interopRequireDefault(require("../common/logo"));
41
-
42
24
  var _icons = require("../common/icons");
43
-
44
25
  var _panelDropdown = _interopRequireDefault(require("./panel-dropdown"));
45
-
46
26
  var _toolbar = _interopRequireDefault(require("../common/toolbar"));
47
-
48
27
  var _toolbarItem = _interopRequireDefault(require("../common/toolbar-item"));
49
-
50
28
  var _localization = require("../../localization");
51
-
52
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
53
-
54
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
55
-
56
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
57
-
58
- 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; }
59
-
60
- 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; }
61
-
29
+ var _excluded = ["appName", "appWebsite", "version", "actionItems", "visibleDropdown", "showExportDropdown", "hideExportDropdown"];
30
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5; // Copyright (c) 2022 Uber Technologies, Inc.
31
+ //
32
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
33
+ // of this software and associated documentation files (the "Software"), to deal
34
+ // in the Software without restriction, including without limitation the rights
35
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
36
+ // copies of the Software, and to permit persons to whom the Software is
37
+ // furnished to do so, subject to the following conditions:
38
+ //
39
+ // The above copyright notice and this permission notice shall be included in
40
+ // all copies or substantial portions of the Software.
41
+ //
42
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
43
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
44
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
45
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
46
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
47
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
48
+ // THE SOFTWARE.
49
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
50
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
51
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
52
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
53
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
54
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
62
55
  var StyledPanelHeader = _styledComponents["default"].div.attrs({
63
56
  className: 'side-side-panel__header'
64
57
  })(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n padding: 12px 16px 0 16px;\n"])), function (props) {
65
58
  return props.theme.sidePanelHeaderBg;
66
59
  });
67
-
68
60
  var StyledPanelHeaderTop = _styledComponents["default"].div.attrs({
69
61
  className: 'side-panel__header__top'
70
62
  })(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n margin-bottom: 16px;\n width: 100%;\n"])));
71
-
72
63
  var StyledPanelTopActions = _styledComponents["default"].div.attrs({
73
64
  className: 'side-panel__top__actions'
74
65
  })(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n"])));
75
-
76
66
  var StyledPanelAction = _styledComponents["default"].div.attrs({
77
67
  className: 'side-panel__panel-header__action'
78
68
  })(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n align-items: center;\n border-radius: 2px;\n color: ", ";\n display: flex;\n height: 26px;\n justify-content: space-between;\n margin-left: 4px;\n padding: 5px;\n font-weight: bold;\n p {\n display: inline-block;\n margin-right: 6px;\n }\n a {\n height: 20px;\n }\n\n :hover {\n cursor: pointer;\n color: ", ";\n\n a {\n color: ", ";\n }\n }\n"])), function (props) {
@@ -82,12 +72,10 @@ var StyledPanelAction = _styledComponents["default"].div.attrs({
82
72
  }, function (props) {
83
73
  return props.theme.textColorHl;
84
74
  });
85
-
86
75
  var StyledToolbar = (0, _styledComponents["default"])(_toolbar["default"])(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n"])));
87
-
88
- var PanelAction = function PanelAction(_ref) {
76
+ var PanelAction = exports.PanelAction = function PanelAction(_ref) {
89
77
  var item = _ref.item,
90
- onClick = _ref.onClick;
78
+ onClick = _ref.onClick;
91
79
  return /*#__PURE__*/_react["default"].createElement(StyledPanelAction, {
92
80
  "data-tip": true,
93
81
  "data-for": "".concat(item.id, "-action"),
@@ -107,15 +95,12 @@ var PanelAction = function PanelAction(_ref) {
107
95
  id: item.tooltip
108
96
  })) : null);
109
97
  };
110
-
111
- exports.PanelAction = PanelAction;
112
-
113
- var PanelHeaderDropdownFactory = function PanelHeaderDropdownFactory() {
98
+ var PanelHeaderDropdownFactory = exports.PanelHeaderDropdownFactory = function PanelHeaderDropdownFactory() {
114
99
  var PanelHeaderDropdown = function PanelHeaderDropdown(_ref2) {
115
100
  var items = _ref2.items,
116
- show = _ref2.show,
117
- onClose = _ref2.onClose,
118
- id = _ref2.id;
101
+ show = _ref2.show,
102
+ onClose = _ref2.onClose,
103
+ id = _ref2.id;
119
104
  return /*#__PURE__*/_react["default"].createElement(StyledToolbar, {
120
105
  show: show,
121
106
  className: "".concat(id, "-dropdown")
@@ -134,12 +119,8 @@ var PanelHeaderDropdownFactory = function PanelHeaderDropdownFactory() {
134
119
  });
135
120
  })));
136
121
  };
137
-
138
122
  return PanelHeaderDropdown;
139
123
  };
140
-
141
- exports.PanelHeaderDropdownFactory = PanelHeaderDropdownFactory;
142
-
143
124
  var getDropdownItemsSelector = function getDropdownItemsSelector() {
144
125
  return (0, _reselect.createSelector)(function (props) {
145
126
  return props;
@@ -153,10 +134,8 @@ var getDropdownItemsSelector = function getDropdownItemsSelector() {
153
134
  });
154
135
  });
155
136
  };
156
-
157
- var SaveExportDropdownFactory = function SaveExportDropdownFactory(PanelHeaderDropdown) {
137
+ var SaveExportDropdownFactory = exports.SaveExportDropdownFactory = function SaveExportDropdownFactory(PanelHeaderDropdown) {
158
138
  var dropdownItemsSelector = getDropdownItemsSelector();
159
-
160
139
  var SaveExportDropdown = function SaveExportDropdown(props) {
161
140
  return /*#__PURE__*/_react["default"].createElement(PanelHeaderDropdown, {
162
141
  items: dropdownItemsSelector(props),
@@ -165,7 +144,6 @@ var SaveExportDropdownFactory = function SaveExportDropdownFactory(PanelHeaderDr
165
144
  id: "save-export"
166
145
  });
167
146
  };
168
-
169
147
  SaveExportDropdown.defaultProps = {
170
148
  items: [{
171
149
  label: 'toolbar.exportImage',
@@ -206,13 +184,9 @@ var SaveExportDropdownFactory = function SaveExportDropdownFactory(PanelHeaderDr
206
184
  };
207
185
  return SaveExportDropdown;
208
186
  };
209
-
210
- exports.SaveExportDropdownFactory = SaveExportDropdownFactory;
211
187
  SaveExportDropdownFactory.deps = [PanelHeaderDropdownFactory];
212
-
213
- var CloudStorageDropdownFactory = function CloudStorageDropdownFactory(PanelHeaderDropdown) {
188
+ var CloudStorageDropdownFactory = exports.CloudStorageDropdownFactory = function CloudStorageDropdownFactory(PanelHeaderDropdown) {
214
189
  var dropdownItemsSelector = getDropdownItemsSelector();
215
-
216
190
  var CloudStorageDropdown = function CloudStorageDropdown(props) {
217
191
  return /*#__PURE__*/_react["default"].createElement(PanelHeaderDropdown, {
218
192
  items: dropdownItemsSelector(props),
@@ -221,7 +195,6 @@ var CloudStorageDropdownFactory = function CloudStorageDropdownFactory(PanelHead
221
195
  id: "cloud-storage"
222
196
  });
223
197
  };
224
-
225
198
  CloudStorageDropdown.defaultProps = {
226
199
  items: [{
227
200
  label: 'Save',
@@ -241,46 +214,37 @@ var CloudStorageDropdownFactory = function CloudStorageDropdownFactory(PanelHead
241
214
  };
242
215
  return CloudStorageDropdown;
243
216
  };
244
-
245
- exports.CloudStorageDropdownFactory = CloudStorageDropdownFactory;
246
217
  CloudStorageDropdownFactory.deps = [PanelHeaderDropdownFactory];
247
218
  PanelHeaderFactory.deps = [SaveExportDropdownFactory, CloudStorageDropdownFactory];
248
-
249
219
  function PanelHeaderFactory(SaveExportDropdown, CloudStorageDropdown) {
250
- var _class, _temp;
251
-
252
- return _temp = _class = /*#__PURE__*/function (_Component) {
220
+ var _class;
221
+ return _class = /*#__PURE__*/function (_Component) {
253
222
  (0, _inherits2["default"])(PanelHeader, _Component);
254
-
255
- var _super = _createSuper(PanelHeader);
256
-
257
223
  function PanelHeader() {
258
224
  (0, _classCallCheck2["default"])(this, PanelHeader);
259
- return _super.apply(this, arguments);
225
+ return _callSuper(this, PanelHeader, arguments);
260
226
  }
261
-
262
227
  (0, _createClass2["default"])(PanelHeader, [{
263
228
  key: "render",
264
229
  value: function render() {
265
230
  var _this = this;
266
-
267
231
  var _this$props = this.props,
268
- appName = _this$props.appName,
269
- appWebsite = _this$props.appWebsite,
270
- version = _this$props.version,
271
- actionItems = _this$props.actionItems,
272
- visibleDropdown = _this$props.visibleDropdown,
273
- showExportDropdown = _this$props.showExportDropdown,
274
- hideExportDropdown = _this$props.hideExportDropdown,
275
- dropdownCallbacks = (0, _objectWithoutProperties2["default"])(_this$props, ["appName", "appWebsite", "version", "actionItems", "visibleDropdown", "showExportDropdown", "hideExportDropdown"]);
276
- var items = actionItems || []; // don't render cloud storage icon if onSaveToStorage is not provided
277
-
232
+ appName = _this$props.appName,
233
+ appWebsite = _this$props.appWebsite,
234
+ version = _this$props.version,
235
+ actionItems = _this$props.actionItems,
236
+ visibleDropdown = _this$props.visibleDropdown,
237
+ showExportDropdown = _this$props.showExportDropdown,
238
+ hideExportDropdown = _this$props.hideExportDropdown,
239
+ dropdownCallbacks = (0, _objectWithoutProperties2["default"])(_this$props, _excluded);
240
+ var items = actionItems || [];
241
+
242
+ // don't render cloud storage icon if onSaveToStorage is not provided
278
243
  if (typeof this.props.onSaveToStorage !== 'function') {
279
244
  items = actionItems.filter(function (ai) {
280
245
  return ai.id !== 'storage';
281
246
  });
282
247
  }
283
-
284
248
  return /*#__PURE__*/_react["default"].createElement(StyledPanelHeader, {
285
249
  className: "side-panel__panel-header"
286
250
  }, /*#__PURE__*/_react["default"].createElement(StyledPanelHeaderTop, {
@@ -343,9 +307,7 @@ function PanelHeaderFactory(SaveExportDropdown, CloudStorageDropdown) {
343
307
  label: 'Share',
344
308
  dropdownComponent: SaveExportDropdown
345
309
  }]
346
- }), _temp;
310
+ }), _class;
347
311
  }
348
-
349
- var _default = PanelHeaderFactory;
350
- exports["default"] = _default;
351
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvcGFuZWwtaGVhZGVyLmpzIl0sIm5hbWVzIjpbIlN0eWxlZFBhbmVsSGVhZGVyIiwic3R5bGVkIiwiZGl2IiwiYXR0cnMiLCJjbGFzc05hbWUiLCJwcm9wcyIsInRoZW1lIiwic2lkZVBhbmVsSGVhZGVyQmciLCJTdHlsZWRQYW5lbEhlYWRlclRvcCIsIlN0eWxlZFBhbmVsVG9wQWN0aW9ucyIsIlN0eWxlZFBhbmVsQWN0aW9uIiwiYWN0aXZlIiwidGV4dENvbG9ySGwiLCJzdWJ0ZXh0Q29sb3IiLCJTdHlsZWRUb29sYmFyIiwiVG9vbGJhciIsIlBhbmVsQWN0aW9uIiwiaXRlbSIsIm9uQ2xpY2siLCJpZCIsImxhYmVsIiwiYmxhbmsiLCJocmVmIiwiaWNvbkNvbXBvbmVudFByb3BzIiwidG9vbHRpcCIsIlBhbmVsSGVhZGVyRHJvcGRvd25GYWN0b3J5IiwiUGFuZWxIZWFkZXJEcm9wZG93biIsIml0ZW1zIiwic2hvdyIsIm9uQ2xvc2UiLCJtYXAiLCJrZXkiLCJpY29uIiwiZ2V0RHJvcGRvd25JdGVtc1NlbGVjdG9yIiwidCIsImZpbHRlciIsImwiLCJTYXZlRXhwb3J0RHJvcGRvd25GYWN0b3J5IiwiZHJvcGRvd25JdGVtc1NlbGVjdG9yIiwiU2F2ZUV4cG9ydERyb3Bkb3duIiwiZGVmYXVsdFByb3BzIiwiUGljdHVyZSIsIm9uRXhwb3J0SW1hZ2UiLCJEYXRhVGFibGUiLCJvbkV4cG9ydERhdGEiLCJNYXBJY29uIiwib25FeHBvcnRNYXAiLCJTYXZlMiIsIm9uU2F2ZU1hcCIsIlNoYXJlIiwib25TaGFyZU1hcCIsImRlcHMiLCJDbG91ZFN0b3JhZ2VEcm9wZG93bkZhY3RvcnkiLCJDbG91ZFN0b3JhZ2VEcm9wZG93biIsIm9uU2F2ZVRvU3RvcmFnZSIsIm9uU2F2ZUFzVG9TdG9yYWdlIiwiUGFuZWxIZWFkZXJGYWN0b3J5IiwiYXBwTmFtZSIsImFwcFdlYnNpdGUiLCJ2ZXJzaW9uIiwiYWN0aW9uSXRlbXMiLCJ2aXNpYmxlRHJvcGRvd24iLCJzaG93RXhwb3J0RHJvcGRvd24iLCJoaWRlRXhwb3J0RHJvcGRvd24iLCJkcm9wZG93bkNhbGxiYWNrcyIsImFpIiwicG9zaXRpb24iLCJkcm9wZG93bkNvbXBvbmVudCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsInN0cmluZyIsImxvZ29Db21wb25lbnQiLCJvbmVPZlR5cGUiLCJlbGVtZW50IiwiZnVuYyIsImFycmF5T2YiLCJhbnkiLCJvbkV4cG9ydENvbmZpZyIsIktlcGxlckdsTG9nbyIsImljb25Db21wb25lbnQiLCJEYiIsIlNhdmUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7QUFFQSxJQUFNQSxpQkFBaUIsR0FBR0MsNkJBQU9DLEdBQVAsQ0FBV0MsS0FBWCxDQUFpQjtBQUN6Q0MsRUFBQUEsU0FBUyxFQUFFO0FBRDhCLENBQWpCLENBQUgsa0pBR0QsVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxpQkFBaEI7QUFBQSxDQUhKLENBQXZCOztBQU9BLElBQU1DLG9CQUFvQixHQUFHUCw2QkFBT0MsR0FBUCxDQUFXQyxLQUFYLENBQWlCO0FBQzVDQyxFQUFBQSxTQUFTLEVBQUU7QUFEaUMsQ0FBakIsQ0FBSCx1TEFBMUI7O0FBU0EsSUFBTUsscUJBQXFCLEdBQUdSLDZCQUFPQyxHQUFQLENBQVdDLEtBQVgsQ0FBaUI7QUFDN0NDLEVBQUFBLFNBQVMsRUFBRTtBQURrQyxDQUFqQixDQUFILDRHQUEzQjs7QUFNQSxJQUFNTSxpQkFBaUIsR0FBR1QsNkJBQU9DLEdBQVAsQ0FBV0MsS0FBWCxDQUFpQjtBQUN6Q0MsRUFBQUEsU0FBUyxFQUFFO0FBRDhCLENBQWpCLENBQUgsNGRBS1osVUFBQUMsS0FBSztBQUFBLFNBQUtBLEtBQUssQ0FBQ00s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QjVCLElBQUFBLFdBQVcsRUFBRXVCLHNCQUFVSyxJQVZOO0FBV2pCcEIsSUFBQUEsZUFBZSxFQUFFZSxzQkFBVUssSUFYVjtBQVlqQm5CLElBQUFBLGlCQUFpQixFQUFFYyxzQkFBVUssSUFaWjtBQWFqQjFCLElBQUFBLFNBQVMsRUFBRXFCLHNCQUFVSyxJQWJKO0FBY2pCeEIsSUFBQUEsVUFBVSxFQUFFbUIsc0JBQVVLO0FBZEwsR0FEckIsNERBa0J3QjtBQUNwQkgsSUFBQUEsYUFBYSxFQUFFTyxnQkFESztBQUVwQmxCLElBQUFBLFdBQVcsRUFBRSxDQUNYO0FBQ0V6QyxNQUFBQSxFQUFFLEVBQUUsU0FETjtBQUVFNEQsTUFBQUEsYUFBYSxFQUFFQyxTQUZqQjtBQUdFeEQsTUFBQUEsT0FBTyxFQUFFLHNCQUhYO0FBSUVOLE1BQUFBLE9BQU8sRUFBRSxtQkFBTSxDQUFFLENBSm5CO0FBS0VpRCxNQUFBQSxpQkFBaUIsRUFBRWQ7QUFMckIsS0FEVyxFQVFYO0FBQ0VsQyxNQUFBQSxFQUFFLEVBQUUsTUFETjtBQUVFNEQsTUFBQUEsYUFBYSxFQUFFRSxXQUZqQjtBQUdFL0QsTUFBQUEsT0FBTyxFQUFFLG1CQUFNLENBQUUsQ0FIbkI7QUFJRUUsTUFBQUEsS0FBSyxFQUFFLE9BSlQ7QUFLRStDLE1BQUFBLGlCQUFpQixFQUFFNUI7QUFMckIsS0FSVztBQUZPLEdBbEJ4QjtBQTRGRDs7ZUFFY2lCLGtCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50fSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQge2NyZWF0ZVNlbGVjdG9yfSBmcm9tICdyZXNlbGVjdCc7XG5pbXBvcnQge1Rvb2x0aXB9IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBLZXBsZXJHbExvZ28gZnJvbSAnY29tcG9uZW50cy9jb21tb24vbG9nbyc7XG5pbXBvcnQge1NhdmUsIERhdGFUYWJsZSwgU2F2ZTIsIFBpY3R1cmUsIERiLCBNYXAgYXMgTWFwSWNvbiwgU2hhcmV9IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2ljb25zJztcbmltcG9ydCBDbGlja091dHNpZGVDbG9zZURyb3Bkb3duIGZyb20gJ2NvbXBvbmVudHMvc2lkZS1wYW5lbC9wYW5lbC1kcm9wZG93bic7XG5pbXBvcnQgVG9vbGJhciBmcm9tICdjb21wb25lbnRzL2NvbW1vbi90b29sYmFyJztcbmltcG9ydCBUb29sYmFySXRlbSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi90b29sYmFyLWl0ZW0nO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdsb2NhbGl6YXRpb24nO1xuXG5jb25zdCBTdHlsZWRQYW5lbEhlYWRlciA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdzaWRlLXNpZGUtcGFuZWxfX2hlYWRlcidcbn0pYFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVQYW5lbEhlYWRlckJnfTtcbiAgcGFkZGluZzogMTJweCAxNnB4IDAgMTZweDtcbmA7XG5cbmNvbnN0IFN0eWxlZFBhbmVsSGVhZGVyVG9wID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ3NpZGUtcGFuZWxfX2hlYWRlcl9fdG9wJ1xufSlgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgd2lkdGg6IDEwMCU7XG5gO1xuXG5jb25zdCBTdHlsZWRQYW5lbFRvcEFjdGlvbnMgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnc2lkZS1wYW5lbF9fdG9wX19hY3Rpb25zJ1xufSlgXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xuXG5jb25zdCBTdHlsZWRQYW5lbEFjdGlvbiA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdzaWRlLXBhbmVsX19wYW5lbC1oZWFkZXJfX2FjdGlvbidcbn0pYFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGNvbG9yOiAke3Byb3BzID0+IChwcm9wcy5hY3RpdmUgPyBwcm9wcy50aGVtZS50ZXh0Q29sb3JIbCA6IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvcil9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDI2cHg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgcGFkZGluZzogNXB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICB9XG4gIGEge1xuICAgIGhlaWdodDogMjBweDtcbiAgfVxuXG4gIDpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkVG9vbGJhciA9IHN0eWxlZChUb29sYmFyKWBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFBhbmVsQWN0aW9uID0gKHtpdGVtLCBvbkNsaWNrfSkgPT4gKFxuICA8U3R5bGVkUGFuZWxBY3Rpb24gZGF0YS10aXAgZGF0YS1mb3I9e2Ake2l0ZW0uaWR9LWFjdGlvbmB9IG9uQ2xpY2s9e29uQ2xpY2t9PlxuICAgIHtpdGVtLmxhYmVsID8gPHA+e2l0ZW0ubGFiZWx9PC9wPiA6IG51bGx9XG4gICAgPGEgdGFyZ2V0PXtpdGVtLmJsYW5rID8gJ19ibGFuaycgOiAnJ30gaHJlZj17aXRlbS5ocmVmfSByZWw9XCJub3JlZmVycmVyXCI+XG4gICAgICA8aXRlbS5pY29uQ29tcG9uZW50IGhlaWdodD1cIjIwcHhcIiB7Li4uaXRlbS5pY29uQ29tcG9uZW50UHJvcHN9IC8+XG4gICAgPC9hPlxuICAgIHtpdGVtLnRvb2x0aXAgPyAoXG4gICAgICA8VG9vbHRpcCBpZD17YCR7aXRlbS5pZH0tYWN0aW9uYH0gcGxhY2U9XCJib3R0b21cIiBkZWxheVNob3c9ezUwMH0gZWZmZWN0PVwic29saWRcIj5cbiAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9e2l0ZW0udG9vbHRpcH0gLz5cbiAgICAgIDwvVG9vbHRpcD5cbiAgICApIDogbnVsbH1cbiAgPC9TdHlsZWRQYW5lbEFjdGlvbj5cbik7XG5cbmV4cG9ydCBjb25zdCBQYW5lbEhlYWRlckRyb3Bkb3duRmFjdG9yeSA9ICgpID0+IHtcbiAgY29uc3QgUGFuZWxIZWFkZXJEcm9wZG93biA9ICh7aXRlbXMsIHNob3csIG9uQ2xvc2UsIGlkfSkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkVG9vbGJhciBzaG93PXtzaG93fSBjbGFzc05hbWU9e2Ake2lkfS1kcm9wZG93bmB9PlxuICAgICAgICA8Q2xpY2tPdXRzaWRlQ2xvc2VEcm9wZG93blxuICAgICAgICAgIGNsYXNzTmFtZT1cInBhbmVsLWhlYWRlci1kcm9wZG93bl9faW5uZXJcIlxuICAgICAgICAgIHNob3c9e3Nob3d9XG4gICAgICAgICAgb25DbG9zZT17b25DbG9zZX1cbiAgICAgICAgPlxuICAgICAgICAgIHtpdGVtcy5tYXAoaXRlbSA9PiAoXG4gICAgICAgICAgICA8VG9vbGJhckl0ZW1cbiAgICAgICAgICAgICAgaWQ9e2l0ZW0ua2V5fVxuICAgICAgICAgICAgICBrZXk9e2l0ZW0ua2V5fVxuICAgICAgICAgICAgICBsYWJlbD17aXRlbS5sYWJlbH1cbiAgICAgICAgICAgICAgaWNvbj17aXRlbS5pY29ufVxuICAgICAgICAgICAgICBvbkNsaWNrPXtpdGVtLm9uQ2xpY2t9XG4gICAgICAgICAgICAgIG9uQ2xvc2U9e29uQ2xvc2V9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L0NsaWNrT3V0c2lkZUNsb3NlRHJvcGRvd24+XG4gICAgICA8L1N0eWxlZFRvb2xiYXI+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gUGFuZWxIZWFkZXJEcm9wZG93bjtcbn07XG5cbmNvbnN0IGdldERyb3Bkb3duSXRlbXNTZWxlY3RvciA9ICgpID0+XG4gIGNyZWF0ZVNlbGVjdG9yKFxuICAgIHByb3BzID0+IHByb3BzLFxuICAgIHByb3BzID0+XG4gICAgICBwcm9wcy5pdGVtc1xuICAgICAgICAubWFwKHQgPT4gKHtcbiAgICAgICAgICAuLi50LFxuICAgICAgICAgIG9uQ2xpY2s6IHQub25DbGljayAmJiB0Lm9uQ2xpY2socHJvcHMpID8gdC5vbkNsaWNrKHByb3BzKSA6IG51bGxcbiAgICAgICAgfSkpXG4gICAgICAgIC5maWx0ZXIobCA9PiBsLm9uQ2xpY2spXG4gICk7XG5cbmV4cG9ydCBjb25zdCBTYXZlRXhwb3J0RHJvcGRvd25GYWN0b3J5ID0gUGFuZWxIZWFkZXJEcm9wZG93biA9PiB7XG4gIGNvbnN0IGRyb3Bkb3duSXRlbXNTZWxlY3RvciA9IGdldERyb3Bkb3duSXRlbXNTZWxlY3RvcigpO1xuXG4gIGNvbnN0IFNhdmVFeHBvcnREcm9wZG93biA9IHByb3BzID0+IChcbiAgICA8UGFuZWxIZWFkZXJEcm9wZG93blxuICAgICAgaXRlbXM9e2Ryb3Bkb3duSXRlbXNTZWxlY3Rvcihwcm9wcyl9XG4gICAgICBzaG93PXtwcm9wcy5zaG93fVxuICAgICAgb25DbG9zZT17cHJvcHMub25DbG9zZX1cbiAgICAgIGlkPVwic2F2ZS1leHBvcnRcIlxuICAgIC8+XG4gICk7XG5cbiAgU2F2ZUV4cG9ydERyb3Bkb3duLmRlZmF1bHRQcm9wcyA9IHtcbiAgICBpdGVtczogW1xuICAgICAge1xuICAgICAgICBsYWJlbDogJ3Rvb2xiYXIuZXhwb3J0SW1hZ2UnLFxuICAgICAgICBpY29uOiBQaWN0dXJlLFxuICAgICAgICBrZXk6ICdpbWFnZScsXG4gICAgICAgIG9uQ2xpY2s6IHByb3BzID0+IHByb3BzLm9uRXhwb3J0SW1hZ2VcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiAndG9vbGJhci5leHBvcnREYXRhJyxcbiAgICAgICAgaWNvbjogRGF0YVRhYmxlLFxuICAgICAgICBrZXk6ICdkYXRhJyxcbiAgICAgICAgb25DbGljazogcHJvcHMgPT4gcHJvcHMub25FeHBvcnREYXRhXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBsYWJlbDogJ3Rvb2xiYXIuZXhwb3J0TWFwJyxcbiAgICAgICAgaWNvbjogTWFwSWNvbixcbiAgICAgICAga2V5OiAnbWFwJyxcbiAgICAgICAgb25DbGljazogcHJvcHMgPT4gcHJvcHMub25FeHBvcnRNYXBcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiAndG9vbGJhci5zYXZlTWFwJyxcbiAgICAgICAgaWNvbjogU2F2ZTIsXG4gICAgICAgIGtleTogJ3NhdmUnLFxuICAgICAgICBvbkNsaWNrOiBwcm9wcyA9PiBwcm9wcy5vblNhdmVNYXBcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiAndG9vbGJhci5zaGFyZU1hcFVSTCcsXG4gICAgICAgIGljb246IFNoYXJlLFxuICAgICAgICBrZXk6ICdzaGFyZScsXG4gICAgICAgIG9uQ2xpY2s6IHByb3BzID0+IHByb3BzLm9uU2hhcmVNYXBcbiAgICAgIH1cbiAgICBdXG4gIH07XG5cbiAgcmV0dXJuIFNhdmVFeHBvcnREcm9wZG93bjtcbn07XG5TYXZlRXhwb3J0RHJvcGRvd25GYWN0b3J5LmRlcHMgPSBbUGFuZWxIZWFkZXJEcm9wZG93bkZhY3RvcnldO1xuXG5leHBvcnQgY29uc3QgQ2xvdWRTdG9yYWdlRHJvcGRvd25GYWN0b3J5ID0gUGFuZWxIZWFkZXJEcm9wZG93biA9PiB7XG4gIGNvbnN0IGRyb3Bkb3duSXRlbXNTZWxlY3RvciA9IGdldERyb3Bkb3duSXRlbXNTZWxlY3RvcigpO1xuXG4gIGNvbnN0IENsb3VkU3RvcmFnZURyb3Bkb3duID0gcHJvcHMgPT4gKFxuICAgIDxQYW5lbEhlYWRlckRyb3Bkb3duXG4gICAgICBpdGVtcz17ZHJvcGRvd25JdGVtc1NlbGVjdG9yKHByb3BzKX1cbiAgICAgIHNob3c9e3Byb3BzLnNob3d9XG4gICAgICBvbkNsb3NlPXtwcm9wcy5vbkNsb3NlfVxuICAgICAgaWQ9XCJjbG91ZC1zdG9yYWdlXCJcbiAgICAvPlxuICApO1xuICBDbG91ZFN0b3JhZ2VEcm9wZG93bi5kZWZhdWx0UHJvcHMgPSB7XG4gICAgaXRlbXM6IFtcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICdTYXZlJyxcbiAgICAgICAgaWNvbjogU2F2ZTIsXG4gICAgICAgIGtleTogJ3NhdmUnLFxuICAgICAgICBvbkNsaWNrOiBwcm9wcyA9PiBwcm9wcy5vblNhdmVUb1N0b3JhZ2VcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiAnU2F2ZSBBcycsXG4gICAgICAgIGljb246IFNhdmUyLFxuICAgICAgICBrZXk6ICdzYXZlQXMnLFxuICAgICAgICBvbkNsaWNrOiBwcm9wcyA9PiBwcm9wcy5vblNhdmVBc1RvU3RvcmFnZVxuICAgICAgfVxuICAgIF1cbiAgfTtcbiAgcmV0dXJuIENsb3VkU3RvcmFnZURyb3Bkb3duO1xufTtcbkNsb3VkU3RvcmFnZURyb3Bkb3duRmFjdG9yeS5kZXBzID0gW1BhbmVsSGVhZGVyRHJvcGRvd25GYWN0b3J5XTtcblxuUGFuZWxIZWFkZXJGYWN0b3J5LmRlcHMgPSBbU2F2ZUV4cG9ydERyb3Bkb3duRmFjdG9yeSwgQ2xvdWRTdG9yYWdlRHJvcGRvd25GYWN0b3J5XTtcblxuZnVuY3Rpb24gUGFuZWxIZWFkZXJGYWN0b3J5KFNhdmVFeHBvcnREcm9wZG93biwgQ2xvdWRTdG9yYWdlRHJvcGRvd24pIHtcbiAgcmV0dXJuIGNsYXNzIFBhbmVsSGVhZGVyIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgICAgYXBwTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGFwcFdlYnNpdGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICB2ZXJzaW9uOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgdmlzaWJsZURyb3Bkb3duOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgbG9nb0NvbXBvbmVudDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLmVsZW1lbnQsIFByb3BUeXBlcy5mdW5jXSksXG4gICAgICBhY3Rpb25JdGVtczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLmFueSksXG4gICAgICBvbkV4cG9ydEltYWdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICAgIG9uRXhwb3J0RGF0YTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgICBvbkV4cG9ydENvbmZpZzogUHJvcFR5cGVzLmZ1bmMsXG4gICAgICBvbkV4cG9ydE1hcDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgICBvblNhdmVUb1N0b3JhZ2U6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgb25TYXZlQXNUb1N0b3JhZ2U6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgb25TYXZlTWFwOiBQcm9wVHlwZXMuZnVuYyxcbiAgICAgIG9uU2hhcmVNYXA6IFByb3BUeXBlcy5mdW5jXG4gICAgfTtcblxuICAgIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgICBsb2dvQ29tcG9uZW50OiBLZXBsZXJHbExvZ28sXG4gICAgICBhY3Rpb25JdGVtczogW1xuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICdzdG9yYWdlJyxcbiAgICAgICAgICBpY29uQ29tcG9uZW50OiBEYixcbiAgICAgICAgICB0b29sdGlwOiAndG9vbHRpcC5jbG91ZFN0b3JhZ2UnLFxuICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IHt9LFxuICAgICAgICAgIGRyb3Bkb3duQ29tcG9uZW50OiBDbG91ZFN0b3JhZ2VEcm9wZG93blxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgaWQ6ICdzYXZlJyxcbiAgICAgICAgICBpY29uQ29tcG9uZW50OiBTYXZlLFxuICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IHt9LFxuICAgICAgICAgIGxhYmVsOiAnU2hhcmUnLFxuICAgICAgICAgIGRyb3Bkb3duQ29tcG9uZW50OiBTYXZlRXhwb3J0RHJvcGRvd25cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIGFwcE5hbWUsXG4gICAgICAgIGFwcFdlYnNpdGUsXG4gICAgICAgIHZlcnNpb24sXG4gICAgICAgIGFjdGlvbkl0ZW1zLFxuICAgICAgICB2aXNpYmxlRHJvcGRvd24sXG4gICAgICAgIHNob3dFeHBvcnREcm9wZG93bixcbiAgICAgICAgaGlkZUV4cG9ydERyb3Bkb3duLFxuICAgICAgICAuLi5kcm9wZG93bkNhbGxiYWNrc1xuICAgICAgfSA9IHRoaXMucHJvcHM7XG4gICAgICBsZXQgaXRlbXMgPSBhY3Rpb25JdGVtcyB8fCBbXTtcblxuICAgICAgLy8gZG9uJ3QgcmVuZGVyIGNsb3VkIHN0b3JhZ2UgaWNvbiBpZiBvblNhdmVUb1N0b3JhZ2UgaXMgbm90IHByb3ZpZGVkXG4gICAgICBpZiAodHlwZW9mIHRoaXMucHJvcHMub25TYXZlVG9TdG9yYWdlICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGl0ZW1zID0gYWN0aW9uSXRlbXMuZmlsdGVyKGFpID0+IGFpLmlkICE9PSAnc3RvcmFnZScpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkUGFuZWxIZWFkZXIgY2xhc3NOYW1lPVwic2lkZS1wYW5lbF9fcGFuZWwtaGVhZGVyXCI+XG4gICAgICAgICAgPFN0eWxlZFBhbmVsSGVhZGVyVG9wIGNsYXNzTmFtZT1cInNpZGUtcGFuZWxfX3BhbmVsLWhlYWRlcl9fdG9wXCI+XG4gICAgICAgICAgICA8dGhpcy5wcm9wcy5sb2dvQ29tcG9uZW50IGFwcE5hbWU9e2FwcE5hbWV9IHZlcnNpb249e3ZlcnNpb259IGFwcFdlYnNpdGU9e2FwcFdlYnNpdGV9IC8+XG4gICAgICAgICAgICA8U3R5bGVkUGFuZWxUb3BBY3Rpb25zPlxuICAgICAgICAgICAgICB7aXRlbXMubWFwKGl0ZW0gPT4gKFxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInNpZGUtcGFuZWxfX3BhbmVsLWhlYWRlcl9fcmlnaHRcIlxuICAgICAgICAgICAgICAgICAga2V5PXtpdGVtLmlkfVxuICAgICAgICAgICAgICAgICAgc3R5bGU9e3twb3NpdGlvbjogJ3JlbGF0aXZlJ319XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPFBhbmVsQWN0aW9uXG4gICAgICAgICAgICAgICAgICAgIGl0ZW09e2l0ZW19XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbS5kcm9wZG93bkNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0V4cG9ydERyb3Bkb3duKGl0ZW0uaWQpO1xuICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLm9uQ2xpY2sgJiYgaXRlbS5vbkNsaWNrKHRoaXMucHJvcHMpO1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB7aXRlbS5kcm9wZG93bkNvbXBvbmVudCA/IChcbiAgICAgICAgICAgICAgICAgICAgPGl0ZW0uZHJvcGRvd25Db21wb25lbnRcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsb3NlPXtoaWRlRXhwb3J0RHJvcGRvd259XG4gICAgICAgICAgICAgICAgICAgICAgc2hvdz17dmlzaWJsZURyb3Bkb3duID09PSBpdGVtLmlkfVxuICAgICAgICAgICAgICAgICAgICAgIHsuLi5kcm9wZG93bkNhbGxiYWNrc31cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvU3R5bGVkUGFuZWxUb3BBY3Rpb25zPlxuICAgICAgICAgIDwvU3R5bGVkUGFuZWxIZWFkZXJUb3A+XG4gICAgICAgIDwvU3R5bGVkUGFuZWxIZWFkZXI+XG4gICAgICApO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgUGFuZWxIZWFkZXJGYWN0b3J5O1xuIl19
312
+ var _default = exports["default"] = PanelHeaderFactory;
313
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcHJvcFR5cGVzIiwiX3Jlc2VsZWN0IiwiX3N0eWxlZENvbXBvbmVudHMyIiwiX2xvZ28iLCJfaWNvbnMiLCJfcGFuZWxEcm9wZG93biIsIl90b29sYmFyIiwiX3Rvb2xiYXJJdGVtIiwiX2xvY2FsaXphdGlvbiIsIl9leGNsdWRlZCIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfdGVtcGxhdGVPYmplY3QzIiwiX3RlbXBsYXRlT2JqZWN0NCIsIl90ZW1wbGF0ZU9iamVjdDUiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJfY2FsbFN1cGVyIiwibyIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiYXBwbHkiLCJCb29sZWFuIiwidmFsdWVPZiIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIlN0eWxlZFBhbmVsSGVhZGVyIiwic3R5bGVkIiwiZGl2IiwiYXR0cnMiLCJjbGFzc05hbWUiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwidGhlbWUiLCJzaWRlUGFuZWxIZWFkZXJCZyIsIlN0eWxlZFBhbmVsSGVhZGVyVG9wIiwiU3R5bGVkUGFuZWxUb3BBY3Rpb25zIiwiU3R5bGVkUGFuZWxBY3Rpb24iLCJhY3RpdmUiLCJ0ZXh0Q29sb3JIbCIsInN1YnRleHRDb2xvciIsIlN0eWxlZFRvb2xiYXIiLCJUb29sYmFyIiwiUGFuZWxBY3Rpb24iLCJleHBvcnRzIiwiX3JlZiIsIml0ZW0iLCJvbkNsaWNrIiwiY3JlYXRlRWxlbWVudCIsImNvbmNhdCIsImlkIiwibGFiZWwiLCJ0YXJnZXQiLCJibGFuayIsImhyZWYiLCJyZWwiLCJpY29uQ29tcG9uZW50IiwiX2V4dGVuZHMyIiwiaGVpZ2h0IiwiaWNvbkNvbXBvbmVudFByb3BzIiwidG9vbHRpcCIsIlRvb2x0aXAiLCJwbGFjZSIsImRlbGF5U2hvdyIsImVmZmVjdCIsIkZvcm1hdHRlZE1lc3NhZ2UiLCJQYW5lbEhlYWRlckRyb3Bkb3duRmFjdG9yeSIsIlBhbmVsSGVhZGVyRHJvcGRvd24iLCJfcmVmMiIsIml0ZW1zIiwic2hvdyIsIm9uQ2xvc2UiLCJtYXAiLCJrZXkiLCJpY29uIiwiZ2V0RHJvcGRvd25JdGVtc1NlbGVjdG9yIiwiY3JlYXRlU2VsZWN0b3IiLCJsIiwiU2F2ZUV4cG9ydERyb3Bkb3duRmFjdG9yeSIsImRyb3Bkb3duSXRlbXNTZWxlY3RvciIsIlNhdmVFeHBvcnREcm9wZG93biIsImRlZmF1bHRQcm9wcyIsIlBpY3R1cmUiLCJvbkV4cG9ydEltYWdlIiwiRGF0YVRhYmxlIiwib25FeHBvcnREYXRhIiwiTWFwSWNvbiIsIm9uRXhwb3J0TWFwIiwiU2F2ZTIiLCJvblNhdmVNYXAiLCJTaGFyZSIsIm9uU2hhcmVNYXAiLCJkZXBzIiwiQ2xvdWRTdG9yYWdlRHJvcGRvd25GYWN0b3J5IiwiQ2xvdWRTdG9yYWdlRHJvcGRvd24iLCJvblNhdmVUb1N0b3JhZ2UiLCJvblNhdmVBc1RvU3RvcmFnZSIsIlBhbmVsSGVhZGVyRmFjdG9yeSIsIl9jbGFzcyIsIl9Db21wb25lbnQiLCJfaW5oZXJpdHMyIiwiUGFuZWxIZWFkZXIiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2NyZWF0ZUNsYXNzMiIsInZhbHVlIiwicmVuZGVyIiwiX3RoaXMiLCJfdGhpcyRwcm9wcyIsImFwcE5hbWUiLCJhcHBXZWJzaXRlIiwidmVyc2lvbiIsImFjdGlvbkl0ZW1zIiwidmlzaWJsZURyb3Bkb3duIiwic2hvd0V4cG9ydERyb3Bkb3duIiwiaGlkZUV4cG9ydERyb3Bkb3duIiwiZHJvcGRvd25DYWxsYmFja3MiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwiYWkiLCJsb2dvQ29tcG9uZW50Iiwic3R5bGUiLCJwb3NpdGlvbiIsImRyb3Bkb3duQ29tcG9uZW50IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwic3RyaW5nIiwib25lT2ZUeXBlIiwiZWxlbWVudCIsImZ1bmMiLCJhcnJheU9mIiwiYW55Iiwib25FeHBvcnRDb25maWciLCJLZXBsZXJHbExvZ28iLCJEYiIsIlNhdmUiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvcGFuZWwtaGVhZGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCwge0NvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHtjcmVhdGVTZWxlY3Rvcn0gZnJvbSAncmVzZWxlY3QnO1xuaW1wb3J0IHtUb29sdGlwfSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgS2VwbGVyR2xMb2dvIGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL2xvZ28nO1xuaW1wb3J0IHtTYXZlLCBEYXRhVGFibGUsIFNhdmUyLCBQaWN0dXJlLCBEYiwgTWFwIGFzIE1hcEljb24sIFNoYXJlfSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQgQ2xpY2tPdXRzaWRlQ2xvc2VEcm9wZG93biBmcm9tICdjb21wb25lbnRzL3NpZGUtcGFuZWwvcGFuZWwtZHJvcGRvd24nO1xuaW1wb3J0IFRvb2xiYXIgZnJvbSAnY29tcG9uZW50cy9jb21tb24vdG9vbGJhcic7XG5pbXBvcnQgVG9vbGJhckl0ZW0gZnJvbSAnY29tcG9uZW50cy9jb21tb24vdG9vbGJhci1pdGVtJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnbG9jYWxpemF0aW9uJztcblxuY29uc3QgU3R5bGVkUGFuZWxIZWFkZXIgPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnc2lkZS1zaWRlLXBhbmVsX19oZWFkZXInXG59KWBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlUGFuZWxIZWFkZXJCZ307XG4gIHBhZGRpbmc6IDEycHggMTZweCAwIDE2cHg7XG5gO1xuXG5jb25zdCBTdHlsZWRQYW5lbEhlYWRlclRvcCA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdzaWRlLXBhbmVsX19oZWFkZXJfX3RvcCdcbn0pYFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIHdpZHRoOiAxMDAlO1xuYDtcblxuY29uc3QgU3R5bGVkUGFuZWxUb3BBY3Rpb25zID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ3NpZGUtcGFuZWxfX3RvcF9fYWN0aW9ucydcbn0pYFxuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuY29uc3QgU3R5bGVkUGFuZWxBY3Rpb24gPSBzdHlsZWQuZGl2LmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnc2lkZS1wYW5lbF9fcGFuZWwtaGVhZGVyX19hY3Rpb24nXG59KWBcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBjb2xvcjogJHtwcm9wcyA9PiAocHJvcHMuYWN0aXZlID8gcHJvcHMudGhlbWUudGV4dENvbG9ySGwgOiBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3IpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAyNnB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgfVxuICBhIHtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gIH1cblxuICA6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JIbH07XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRleHRDb2xvckhsfTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IFN0eWxlZFRvb2xiYXIgPSBzdHlsZWQoVG9vbGJhcilgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBQYW5lbEFjdGlvbiA9ICh7aXRlbSwgb25DbGlja30pID0+IChcbiAgPFN0eWxlZFBhbmVsQWN0aW9uIGRhdGEtdGlwIGRhdGEtZm9yPXtgJHtpdGVtLmlkfS1hY3Rpb25gfSBvbkNsaWNrPXtvbkNsaWNrfT5cbiAgICB7aXRlbS5sYWJlbCA/IDxwPntpdGVtLmxhYmVsfTwvcD4gOiBudWxsfVxuICAgIDxhIHRhcmdldD17aXRlbS5ibGFuayA/ICdfYmxhbmsnIDogJyd9IGhyZWY9e2l0ZW0uaHJlZn0gcmVsPVwibm9yZWZlcnJlclwiPlxuICAgICAgPGl0ZW0uaWNvbkNvbXBvbmVudCBoZWlnaHQ9XCIyMHB4XCIgey4uLml0ZW0uaWNvbkNvbXBvbmVudFByb3BzfSAvPlxuICAgIDwvYT5cbiAgICB7aXRlbS50b29sdGlwID8gKFxuICAgICAgPFRvb2x0aXAgaWQ9e2Ake2l0ZW0uaWR9LWFjdGlvbmB9IHBsYWNlPVwiYm90dG9tXCIgZGVsYXlTaG93PXs1MDB9IGVmZmVjdD1cInNvbGlkXCI+XG4gICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXtpdGVtLnRvb2x0aXB9IC8+XG4gICAgICA8L1Rvb2x0aXA+XG4gICAgKSA6IG51bGx9XG4gIDwvU3R5bGVkUGFuZWxBY3Rpb24+XG4pO1xuXG5leHBvcnQgY29uc3QgUGFuZWxIZWFkZXJEcm9wZG93bkZhY3RvcnkgPSAoKSA9PiB7XG4gIGNvbnN0IFBhbmVsSGVhZGVyRHJvcGRvd24gPSAoe2l0ZW1zLCBzaG93LCBvbkNsb3NlLCBpZH0pID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFRvb2xiYXIgc2hvdz17c2hvd30gY2xhc3NOYW1lPXtgJHtpZH0tZHJvcGRvd25gfT5cbiAgICAgICAgPENsaWNrT3V0c2lkZUNsb3NlRHJvcGRvd25cbiAgICAgICAgICBjbGFzc05hbWU9XCJwYW5lbC1oZWFkZXItZHJvcGRvd25fX2lubmVyXCJcbiAgICAgICAgICBzaG93PXtzaG93fVxuICAgICAgICAgIG9uQ2xvc2U9e29uQ2xvc2V9XG4gICAgICAgID5cbiAgICAgICAgICB7aXRlbXMubWFwKGl0ZW0gPT4gKFxuICAgICAgICAgICAgPFRvb2xiYXJJdGVtXG4gICAgICAgICAgICAgIGlkPXtpdGVtLmtleX1cbiAgICAgICAgICAgICAga2V5PXtpdGVtLmtleX1cbiAgICAgICAgICAgICAgbGFiZWw9e2l0ZW0ubGFiZWx9XG4gICAgICAgICAgICAgIGljb249e2l0ZW0uaWNvbn1cbiAgICAgICAgICAgICAgb25DbGljaz17aXRlbS5vbkNsaWNrfVxuICAgICAgICAgICAgICBvbkNsb3NlPXtvbkNsb3NlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9DbGlja091dHNpZGVDbG9zZURyb3Bkb3duPlxuICAgICAgPC9TdHlsZWRUb29sYmFyPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIFBhbmVsSGVhZGVyRHJvcGRvd247XG59O1xuXG5jb25zdCBnZXREcm9wZG93bkl0ZW1zU2VsZWN0b3IgPSAoKSA9PlxuICBjcmVhdGVTZWxlY3RvcihcbiAgICBwcm9wcyA9PiBwcm9wcyxcbiAgICBwcm9wcyA9PlxuICAgICAgcHJvcHMuaXRlbXNcbiAgICAgICAgLm1hcCh0ID0+ICh7XG4gICAgICAgICAgLi4udCxcbiAgICAgICAgICBvbkNsaWNrOiB0Lm9uQ2xpY2sgJiYgdC5vbkNsaWNrKHByb3BzKSA/IHQub25DbGljayhwcm9wcykgOiBudWxsXG4gICAgICAgIH0pKVxuICAgICAgICAuZmlsdGVyKGwgPT4gbC5vbkNsaWNrKVxuICApO1xuXG5leHBvcnQgY29uc3QgU2F2ZUV4cG9ydERyb3Bkb3duRmFjdG9yeSA9IFBhbmVsSGVhZGVyRHJvcGRvd24gPT4ge1xuICBjb25zdCBkcm9wZG93bkl0ZW1zU2VsZWN0b3IgPSBnZXREcm9wZG93bkl0ZW1zU2VsZWN0b3IoKTtcblxuICBjb25zdCBTYXZlRXhwb3J0RHJvcGRvd24gPSBwcm9wcyA9PiAoXG4gICAgPFBhbmVsSGVhZGVyRHJvcGRvd25cbiAgICAgIGl0ZW1zPXtkcm9wZG93bkl0ZW1zU2VsZWN0b3IocHJvcHMpfVxuICAgICAgc2hvdz17cHJvcHMuc2hvd31cbiAgICAgIG9uQ2xvc2U9e3Byb3BzLm9uQ2xvc2V9XG4gICAgICBpZD1cInNhdmUtZXhwb3J0XCJcbiAgICAvPlxuICApO1xuXG4gIFNhdmVFeHBvcnREcm9wZG93bi5kZWZhdWx0UHJvcHMgPSB7XG4gICAgaXRlbXM6IFtcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICd0b29sYmFyLmV4cG9ydEltYWdlJyxcbiAgICAgICAgaWNvbjogUGljdHVyZSxcbiAgICAgICAga2V5OiAnaW1hZ2UnLFxuICAgICAgICBvbkNsaWNrOiBwcm9wcyA9PiBwcm9wcy5vbkV4cG9ydEltYWdlXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBsYWJlbDogJ3Rvb2xiYXIuZXhwb3J0RGF0YScsXG4gICAgICAgIGljb246IERhdGFUYWJsZSxcbiAgICAgICAga2V5OiAnZGF0YScsXG4gICAgICAgIG9uQ2xpY2s6IHByb3BzID0+IHByb3BzLm9uRXhwb3J0RGF0YVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbGFiZWw6ICd0b29sYmFyLmV4cG9ydE1hcCcsXG4gICAgICAgIGljb246IE1hcEljb24sXG4gICAgICAgIGtleTogJ21hcCcsXG4gICAgICAgIG9uQ2xpY2s6IHByb3BzID0+IHByb3BzLm9uRXhwb3J0TWFwXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBsYWJlbDogJ3Rvb2xiYXIuc2F2ZU1hcCcsXG4gICAgICAgIGljb246IFNhdmUyLFxuICAgICAgICBrZXk6ICdzYXZlJyxcbiAgICAgICAgb25DbGljazogcHJvcHMgPT4gcHJvcHMub25TYXZlTWFwXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBsYWJlbDogJ3Rvb2xiYXIuc2hhcmVNYXBVUkwnLFxuICAgICAgICBpY29uOiBTaGFyZSxcbiAgICAgICAga2V5OiAnc2hhcmUnLFxuICAgICAgICBvbkNsaWNrOiBwcm9wcyA9PiBwcm9wcy5vblNoYXJlTWFwXG4gICAgICB9XG4gICAgXVxuICB9O1xuXG4gIHJldHVybiBTYXZlRXhwb3J0RHJvcGRvd247XG59O1xuU2F2ZUV4cG9ydERyb3Bkb3duRmFjdG9yeS5kZXBzID0gW1BhbmVsSGVhZGVyRHJvcGRvd25GYWN0b3J5XTtcblxuZXhwb3J0IGNvbnN0IENsb3VkU3RvcmFnZURyb3Bkb3duRmFjdG9yeSA9IFBhbmVsSGVhZGVyRHJvcGRvd24gPT4ge1xuICBjb25zdCBkcm9wZG93bkl0ZW1zU2VsZWN0b3IgPSBnZXREcm9wZG93bkl0ZW1zU2VsZWN0b3IoKTtcblxuICBjb25zdCBDbG91ZFN0b3JhZ2VEcm9wZG93biA9IHByb3BzID0+IChcbiAgICA8UGFuZWxIZWFkZXJEcm9wZG93blxuICAgICAgaXRlbXM9e2Ryb3Bkb3duSXRlbXNTZWxlY3Rvcihwcm9wcyl9XG4gICAgICBzaG93PXtwcm9wcy5zaG93fVxuICAgICAgb25DbG9zZT17cHJvcHMub25DbG9zZX1cbiAgICAgIGlkPVwiY2xvdWQtc3RvcmFnZVwiXG4gICAgLz5cbiAgKTtcbiAgQ2xvdWRTdG9yYWdlRHJvcGRvd24uZGVmYXVsdFByb3BzID0ge1xuICAgIGl0ZW1zOiBbXG4gICAgICB7XG4gICAgICAgIGxhYmVsOiAnU2F2ZScsXG4gICAgICAgIGljb246IFNhdmUyLFxuICAgICAgICBrZXk6ICdzYXZlJyxcbiAgICAgICAgb25DbGljazogcHJvcHMgPT4gcHJvcHMub25TYXZlVG9TdG9yYWdlXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBsYWJlbDogJ1NhdmUgQXMnLFxuICAgICAgICBpY29uOiBTYXZlMixcbiAgICAgICAga2V5OiAnc2F2ZUFzJyxcbiAgICAgICAgb25DbGljazogcHJvcHMgPT4gcHJvcHMub25TYXZlQXNUb1N0b3JhZ2VcbiAgICAgIH1cbiAgICBdXG4gIH07XG4gIHJldHVybiBDbG91ZFN0b3JhZ2VEcm9wZG93bjtcbn07XG5DbG91ZFN0b3JhZ2VEcm9wZG93bkZhY3RvcnkuZGVwcyA9IFtQYW5lbEhlYWRlckRyb3Bkb3duRmFjdG9yeV07XG5cblBhbmVsSGVhZGVyRmFjdG9yeS5kZXBzID0gW1NhdmVFeHBvcnREcm9wZG93bkZhY3RvcnksIENsb3VkU3RvcmFnZURyb3Bkb3duRmFjdG9yeV07XG5cbmZ1bmN0aW9uIFBhbmVsSGVhZGVyRmFjdG9yeShTYXZlRXhwb3J0RHJvcGRvd24sIENsb3VkU3RvcmFnZURyb3Bkb3duKSB7XG4gIHJldHVybiBjbGFzcyBQYW5lbEhlYWRlciBleHRlbmRzIENvbXBvbmVudCB7XG4gICAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICAgIGFwcE5hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBhcHBXZWJzaXRlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgdmVyc2lvbjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIHZpc2libGVEcm9wZG93bjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgIGxvZ29Db21wb25lbnQ6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5lbGVtZW50LCBQcm9wVHlwZXMuZnVuY10pLFxuICAgICAgYWN0aW9uSXRlbXM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5hbnkpLFxuICAgICAgb25FeHBvcnRJbWFnZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgICBvbkV4cG9ydERhdGE6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgb25FeHBvcnRDb25maWc6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgb25FeHBvcnRNYXA6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgb25TYXZlVG9TdG9yYWdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICAgIG9uU2F2ZUFzVG9TdG9yYWdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICAgIG9uU2F2ZU1hcDogUHJvcFR5cGVzLmZ1bmMsXG4gICAgICBvblNoYXJlTWFwOiBQcm9wVHlwZXMuZnVuY1xuICAgIH07XG5cbiAgICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgICAgbG9nb0NvbXBvbmVudDogS2VwbGVyR2xMb2dvLFxuICAgICAgYWN0aW9uSXRlbXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGlkOiAnc3RvcmFnZScsXG4gICAgICAgICAgaWNvbkNvbXBvbmVudDogRGIsXG4gICAgICAgICAgdG9vbHRpcDogJ3Rvb2x0aXAuY2xvdWRTdG9yYWdlJyxcbiAgICAgICAgICBvbkNsaWNrOiAoKSA9PiB7fSxcbiAgICAgICAgICBkcm9wZG93bkNvbXBvbmVudDogQ2xvdWRTdG9yYWdlRHJvcGRvd25cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGlkOiAnc2F2ZScsXG4gICAgICAgICAgaWNvbkNvbXBvbmVudDogU2F2ZSxcbiAgICAgICAgICBvbkNsaWNrOiAoKSA9PiB7fSxcbiAgICAgICAgICBsYWJlbDogJ1NoYXJlJyxcbiAgICAgICAgICBkcm9wZG93bkNvbXBvbmVudDogU2F2ZUV4cG9ydERyb3Bkb3duXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuXG4gICAgcmVuZGVyKCkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBhcHBOYW1lLFxuICAgICAgICBhcHBXZWJzaXRlLFxuICAgICAgICB2ZXJzaW9uLFxuICAgICAgICBhY3Rpb25JdGVtcyxcbiAgICAgICAgdmlzaWJsZURyb3Bkb3duLFxuICAgICAgICBzaG93RXhwb3J0RHJvcGRvd24sXG4gICAgICAgIGhpZGVFeHBvcnREcm9wZG93bixcbiAgICAgICAgLi4uZHJvcGRvd25DYWxsYmFja3NcbiAgICAgIH0gPSB0aGlzLnByb3BzO1xuICAgICAgbGV0IGl0ZW1zID0gYWN0aW9uSXRlbXMgfHwgW107XG5cbiAgICAgIC8vIGRvbid0IHJlbmRlciBjbG91ZCBzdG9yYWdlIGljb24gaWYgb25TYXZlVG9TdG9yYWdlIGlzIG5vdCBwcm92aWRlZFxuICAgICAgaWYgKHR5cGVvZiB0aGlzLnByb3BzLm9uU2F2ZVRvU3RvcmFnZSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBpdGVtcyA9IGFjdGlvbkl0ZW1zLmZpbHRlcihhaSA9PiBhaS5pZCAhPT0gJ3N0b3JhZ2UnKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFN0eWxlZFBhbmVsSGVhZGVyIGNsYXNzTmFtZT1cInNpZGUtcGFuZWxfX3BhbmVsLWhlYWRlclwiPlxuICAgICAgICAgIDxTdHlsZWRQYW5lbEhlYWRlclRvcCBjbGFzc05hbWU9XCJzaWRlLXBhbmVsX19wYW5lbC1oZWFkZXJfX3RvcFwiPlxuICAgICAgICAgICAgPHRoaXMucHJvcHMubG9nb0NvbXBvbmVudCBhcHBOYW1lPXthcHBOYW1lfSB2ZXJzaW9uPXt2ZXJzaW9ufSBhcHBXZWJzaXRlPXthcHBXZWJzaXRlfSAvPlxuICAgICAgICAgICAgPFN0eWxlZFBhbmVsVG9wQWN0aW9ucz5cbiAgICAgICAgICAgICAge2l0ZW1zLm1hcChpdGVtID0+IChcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJzaWRlLXBhbmVsX19wYW5lbC1oZWFkZXJfX3JpZ2h0XCJcbiAgICAgICAgICAgICAgICAgIGtleT17aXRlbS5pZH1cbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7cG9zaXRpb246ICdyZWxhdGl2ZSd9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxQYW5lbEFjdGlvblxuICAgICAgICAgICAgICAgICAgICBpdGVtPXtpdGVtfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0uZHJvcGRvd25Db21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dFeHBvcnREcm9wZG93bihpdGVtLmlkKTtcbiAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5vbkNsaWNrICYmIGl0ZW0ub25DbGljayh0aGlzLnByb3BzKTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAge2l0ZW0uZHJvcGRvd25Db21wb25lbnQgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxpdGVtLmRyb3Bkb3duQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgICAgICAgb25DbG9zZT17aGlkZUV4cG9ydERyb3Bkb3dufVxuICAgICAgICAgICAgICAgICAgICAgIHNob3c9e3Zpc2libGVEcm9wZG93biA9PT0gaXRlbS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICB7Li4uZHJvcGRvd25DYWxsYmFja3N9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L1N0eWxlZFBhbmVsVG9wQWN0aW9ucz5cbiAgICAgICAgICA8L1N0eWxlZFBhbmVsSGVhZGVyVG9wPlxuICAgICAgICA8L1N0eWxlZFBhbmVsSGVhZGVyPlxuICAgICAgKTtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IFBhbmVsSGVhZGVyRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFvQkEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFVBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFJLFNBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGtCQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxLQUFBLEdBQUFKLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTyxNQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxjQUFBLEdBQUFOLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUyxRQUFBLEdBQUFQLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJ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
@@ -1,26 +1,36 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.PanelTabFactory = PanelTabFactory;
9
8
  exports["default"] = exports.StyledPanelTab = void 0;
10
-
11
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
12
-
13
10
  var _react = _interopRequireDefault(require("react"));
14
-
15
11
  var _styledComponents = _interopRequireDefault(require("styled-components"));
16
-
17
12
  var _styledComponents2 = require("../common/styled-components");
18
-
19
13
  var _localization = require("../../localization");
20
-
21
- var _templateObject;
22
-
23
- var StyledPanelTab = _styledComponents["default"].div.attrs({
14
+ var _templateObject; // Copyright (c) 2022 Uber Technologies, Inc.
15
+ //
16
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
17
+ // of this software and associated documentation files (the "Software"), to deal
18
+ // in the Software without restriction, including without limitation the rights
19
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
20
+ // copies of the Software, and to permit persons to whom the Software is
21
+ // furnished to do so, subject to the following conditions:
22
+ //
23
+ // The above copyright notice and this permission notice shall be included in
24
+ // all copies or substantial portions of the Software.
25
+ //
26
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
27
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
28
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
29
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
30
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
31
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
32
+ // THE SOFTWARE.
33
+ var StyledPanelTab = exports.StyledPanelTab = _styledComponents["default"].div.attrs({
24
34
  className: 'side-panel__tab'
25
35
  })(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n align-items: flex-end;\n border-bottom-style: solid;\n border-bottom-width: 2px;\n border-bottom-color: ", ";\n color: ", ";\n display: flex;\n justify-content: center;\n margin-right: ", "px;\n padding-bottom: ", "px;\n width: ", ";\n\n :hover {\n cursor: pointer;\n color: ", ";\n }\n"])), function (props) {
26
36
  return props.active ? props.theme.panelToggleBorderColor : 'transparent';
@@ -35,14 +45,11 @@ var StyledPanelTab = _styledComponents["default"].div.attrs({
35
45
  }, function (props) {
36
46
  return props.theme.textColorHl;
37
47
  });
38
-
39
- exports.StyledPanelTab = StyledPanelTab;
40
-
41
48
  function PanelTabFactory() {
42
49
  var PanelTab = function PanelTab(_ref) {
43
50
  var isActive = _ref.isActive,
44
- onClick = _ref.onClick,
45
- panel = _ref.panel;
51
+ onClick = _ref.onClick,
52
+ panel = _ref.panel;
46
53
  return /*#__PURE__*/_react["default"].createElement(StyledPanelTab, {
47
54
  "data-tip": true,
48
55
  "data-for": "".concat(panel.id, "-nav"),
@@ -59,10 +66,7 @@ function PanelTabFactory() {
59
66
  id: panel.label || panel.id
60
67
  }))));
61
68
  };
62
-
63
69
  return PanelTab;
64
70
  }
65
-
66
- var _default = PanelTabFactory;
67
- exports["default"] = _default;
68
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvcGFuZWwtdGFiLmpzIl0sIm5hbWVzIjpbIlN0eWxlZFBhbmVsVGFiIiwic3R5bGVkIiwiZGl2IiwiYXR0cnMiLCJjbGFzc05hbWUiLCJwcm9wcyIsImFjdGl2ZSIsInRoZW1lIiwicGFuZWxUb2dnbGVCb3JkZXJDb2xvciIsInN1YnRleHRDb2xvckFjdGl2ZSIsInBhbmVsVGFiQ29sb3IiLCJwYW5lbFRvZ2dsZU1hcmdpblJpZ2h0IiwicGFuZWxUb2dnbGVCb3R0b21QYWRkaW5nIiwicGFuZWxUYWJXaWR0aCIsInRleHRDb2xvckhsIiwiUGFuZWxUYWJGYWN0b3J5IiwiUGFuZWxUYWIiLCJpc0FjdGl2ZSIsIm9uQ2xpY2siLCJwYW5lbCIsImlkIiwibGFiZWwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQW9CQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQUVPLElBQU1BLGNBQWMsR0FBR0MsNkJBQU9DLEdBQVAsQ0FBV0MsS0FBWCxDQUFpQjtBQUM3Q0MsRUFBQUEsU0FBUyxFQUFFO0FBRGtDLENBQWpCLENBQUgsMFlBTUYsVUFBQUMsS0FBSztBQUFBLFNBQzFCQSxLQUFLLENBQUNDLE1BQU4sR0FBZUQsS0FBSyxDQUFDRSxLQUFOLENBQVlDLHNCQUEzQixHQUFvRCxhQUQxQjtBQUFBLENBTkgsRUFRaEIsVUFBQUgsS0FBSztBQUFBLFNBQUtBLEtBQUssQ0FBQ0MsTUFBTixHQUFlRCxLQUFLLENBQUNFLEtBQU4sQ0FBWUUsa0JBQTNCLEdBQWdESixLQUFLLENBQUNFLEtBQU4sQ0FBWUcsYUFBakU7QUFBQSxDQVJXLEVBV1QsVUFBQUwsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0UsS0FBTixDQUFZSSxzQkFBaEI7QUFBQSxDQVhJLEVBWVAsVUFBQU4sS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0UsS0FBTixDQUFZSyx3QkFBaEI7QUFBQSxDQVpFLEVBYWhCLFVBQUFQLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNFLEtBQU4sQ0FBWU0sYUFBaEI7QUFBQSxDQWJXLEVBaUJkLFVBQUFSLEtBQUs7QUFBQSxTQUFJQSxLQUFLLENBQUNFLEtBQU4sQ0FBWU8sV0FBaEI7QUFBQSxDQWpCUyxDQUFwQjs7OztBQXFCQSxTQUFTQyxlQUFULEdBQTJCO0FBQ2hDLE1BQU1DLFFBQVEsR0FBRyxTQUFYQSxRQUFXO0FBQUEsUUFBRUMsUUFBRixRQUFFQSxRQUFGO0FBQUEsUUFBWUMsT0FBWixRQUFZQSxPQUFaO0FBQUEsUUFBcUJDLEtBQXJCLFFBQXFCQSxLQUFyQjtBQUFBLHdCQUNmLGdDQUFDLGNBQUQ7QUFBZ0Isc0JBQWhCO0FBQXlCLDRCQUFhQSxLQUFLLENBQUNDLEVBQW5CLFNBQXpCO0FBQXNELE1BQUEsTUFBTSxFQUFFSCxRQUE5RDtBQUF3RSxNQUFBLE9BQU8sRUFBRUM7QUFBakYsb0JBQ0UsZ0NBQUMsS0FBRCxDQUFPLGFBQVA7QUFBcUIsTUFBQSxNQUFNLEVBQUM7QUFBNUIsTUFERixlQUVFLGdDQUFDLDBCQUFEO0FBQVMsTUFBQSxFQUFFLFlBQUtDLEtBQUssQ0FBQ0MsRUFBWCxTQUFYO0FBQWdDLE1BQUEsTUFBTSxFQUFDLE9BQXZDO0FBQStDLE1BQUEsU0FBUyxFQUFFLEdBQTFEO0FBQStELE1BQUEsS0FBSyxFQUFDO0FBQXJFLG9CQUNFLDJEQUNFLGdDQUFDLDhCQUFEO0FBQWtCLE1BQUEsRUFBRSxFQUFFRCxLQUFLLENBQUNFLEtBQU4sSUFBZUYsS0FBSyxDQUFDQztBQUEzQyxNQURGLENBREYsQ0FGRixDQURlO0FBQUEsR0FBakI7O0FBV0EsU0FBT0osUUFBUDtBQUNEOztlQUVjRCxlIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IChjKSAyMDIyIFViZXIgVGVjaG5vbG9naWVzLCBJbmMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuLy8gb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuLy8gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuLy8gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuLy8gY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG4vLyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SXG4vLyBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbi8vIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuLy8gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbi8vIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vIFRIRSBTT0ZUV0FSRS5cblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtUb29sdGlwfSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ2xvY2FsaXphdGlvbic7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQYW5lbFRhYiA9IHN0eWxlZC5kaXYuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdzaWRlLXBhbmVsX190YWInXG59KWBcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuYWN0aXZlID8gcHJvcHMudGhlbWUucGFuZWxUb2dnbGVCb3JkZXJDb2xvciA6ICd0cmFuc3BhcmVudCd9O1xuICBjb2xvcjogJHtwcm9wcyA9PiAocHJvcHMuYWN0aXZlID8gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yQWN0aXZlIDogcHJvcHMudGhlbWUucGFuZWxUYWJDb2xvcil9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLXJpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsVG9nZ2xlTWFyZ2luUmlnaHR9cHg7XG4gIHBhZGRpbmctYm90dG9tOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsVG9nZ2xlQm90dG9tUGFkZGluZ31weDtcbiAgd2lkdGg6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxUYWJXaWR0aH07XG5cbiAgOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICB9XG5gO1xuXG5leHBvcnQgZnVuY3Rpb24gUGFuZWxUYWJGYWN0b3J5KCkge1xuICBjb25zdCBQYW5lbFRhYiA9ICh7aXNBY3RpdmUsIG9uQ2xpY2ssIHBhbmVsfSkgPT4gKFxuICAgIDxTdHlsZWRQYW5lbFRhYiBkYXRhLXRpcCBkYXRhLWZvcj17YCR7cGFuZWwuaWR9LW5hdmB9IGFjdGl2ZT17aXNBY3RpdmV9IG9uQ2xpY2s9e29uQ2xpY2t9PlxuICAgICAgPHBhbmVsLmljb25Db21wb25lbnQgaGVpZ2h0PVwiMjBweFwiIC8+XG4gICAgICA8VG9vbHRpcCBpZD17YCR7cGFuZWwuaWR9LW5hdmB9IGVmZmVjdD1cInNvbGlkXCIgZGVsYXlTaG93PXs1MDB9IHBsYWNlPVwiYm90dG9tXCI+XG4gICAgICAgIDxzcGFuPlxuICAgICAgICAgIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXtwYW5lbC5sYWJlbCB8fCBwYW5lbC5pZH0gLz5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9Ub29sdGlwPlxuICAgIDwvU3R5bGVkUGFuZWxUYWI+XG4gICk7XG5cbiAgcmV0dXJuIFBhbmVsVGFiO1xufVxuXG5leHBvcnQgZGVmYXVsdCBQYW5lbFRhYkZhY3Rvcnk7XG4iXX0=
71
+ var _default = exports["default"] = PanelTabFactory;
72
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZWRDb21wb25lbnRzIiwiX3N0eWxlZENvbXBvbmVudHMyIiwiX2xvY2FsaXphdGlvbiIsIl90ZW1wbGF0ZU9iamVjdCIsIlN0eWxlZFBhbmVsVGFiIiwiZXhwb3J0cyIsInN0eWxlZCIsImRpdiIsImF0dHJzIiwiY2xhc3NOYW1lIiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsImFjdGl2ZSIsInRoZW1lIiwicGFuZWxUb2dnbGVCb3JkZXJDb2xvciIsInN1YnRleHRDb2xvckFjdGl2ZSIsInBhbmVsVGFiQ29sb3IiLCJwYW5lbFRvZ2dsZU1hcmdpblJpZ2h0IiwicGFuZWxUb2dnbGVCb3R0b21QYWRkaW5nIiwicGFuZWxUYWJXaWR0aCIsInRleHRDb2xvckhsIiwiUGFuZWxUYWJGYWN0b3J5IiwiUGFuZWxUYWIiLCJfcmVmIiwiaXNBY3RpdmUiLCJvbkNsaWNrIiwicGFuZWwiLCJjcmVhdGVFbGVtZW50IiwiY29uY2F0IiwiaWQiLCJpY29uQ29tcG9uZW50IiwiaGVpZ2h0IiwiVG9vbHRpcCIsImVmZmVjdCIsImRlbGF5U2hvdyIsInBsYWNlIiwiRm9ybWF0dGVkTWVzc2FnZSIsImxhYmVsIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9zaWRlLXBhbmVsL3BhbmVsLXRhYi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjIgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge1Rvb2x0aXB9IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnbG9jYWxpemF0aW9uJztcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFBhbmVsVGFiID0gc3R5bGVkLmRpdi5hdHRycyh7XG4gIGNsYXNzTmFtZTogJ3NpZGUtcGFuZWxfX3RhYidcbn0pYFxuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5hY3RpdmUgPyBwcm9wcy50aGVtZS5wYW5lbFRvZ2dsZUJvcmRlckNvbG9yIDogJ3RyYW5zcGFyZW50J307XG4gIGNvbG9yOiAke3Byb3BzID0+IChwcm9wcy5hY3RpdmUgPyBwcm9wcy50aGVtZS5zdWJ0ZXh0Q29sb3JBY3RpdmUgOiBwcm9wcy50aGVtZS5wYW5lbFRhYkNvbG9yKX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tcmlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxUb2dnbGVNYXJnaW5SaWdodH1weDtcbiAgcGFkZGluZy1ib3R0b206ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxUb2dnbGVCb3R0b21QYWRkaW5nfXB4O1xuICB3aWR0aDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5wYW5lbFRhYldpZHRofTtcblxuICA6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JIbH07XG4gIH1cbmA7XG5cbmV4cG9ydCBmdW5jdGlvbiBQYW5lbFRhYkZhY3RvcnkoKSB7XG4gIGNvbnN0IFBhbmVsVGFiID0gKHtpc0FjdGl2ZSwgb25DbGljaywgcGFuZWx9KSA9PiAoXG4gICAgPFN0eWxlZFBhbmVsVGFiIGRhdGEtdGlwIGRhdGEtZm9yPXtgJHtwYW5lbC5pZH0tbmF2YH0gYWN0aXZlPXtpc0FjdGl2ZX0gb25DbGljaz17b25DbGlja30+XG4gICAgICA8cGFuZWwuaWNvbkNvbXBvbmVudCBoZWlnaHQ9XCIyMHB4XCIgLz5cbiAgICAgIDxUb29sdGlwIGlkPXtgJHtwYW5lbC5pZH0tbmF2YH0gZWZmZWN0PVwic29saWRcIiBkZWxheVNob3c9ezUwMH0gcGxhY2U9XCJib3R0b21cIj5cbiAgICAgICAgPHNwYW4+XG4gICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9e3BhbmVsLmxhYmVsIHx8IHBhbmVsLmlkfSAvPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L1Rvb2x0aXA+XG4gICAgPC9TdHlsZWRQYW5lbFRhYj5cbiAgKTtcblxuICByZXR1cm4gUGFuZWxUYWI7XG59XG5cbmV4cG9ydCBkZWZhdWx0IFBhbmVsVGFiRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBb0JBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxrQkFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsYUFBQSxHQUFBSCxPQUFBO0FBQThDLElBQUFJLGVBQUEsRUF2QjlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBT08sSUFBTUMsY0FBYyxHQUFBQyxPQUFBLENBQUFELGNBQUEsR0FBR0UsNEJBQU0sQ0FBQ0MsR0FBRyxDQUFDQyxLQUFLLENBQUM7RUFDN0NDLFNBQVMsRUFBRTtBQUNiLENBQUMsQ0FBQyxDQUFBTixlQUFBLEtBQUFBLGVBQUEsT0FBQU8sdUJBQUEsd1VBSXVCLFVBQUFDLEtBQUs7RUFBQSxPQUMxQkEsS0FBSyxDQUFDQyxNQUFNLEdBQUdELEtBQUssQ0FBQ0UsS0FBSyxDQUFDQyxzQkFBc0IsR0FBRyxhQUFhO0FBQUEsR0FDMUQsVUFBQUgsS0FBSztFQUFBLE9BQUtBLEtBQUssQ0FBQ0MsTUFBTSxHQUFHRCxLQUFLLENBQUNFLEtBQUssQ0FBQ0Usa0JBQWtCLEdBQUdKLEtBQUssQ0FBQ0UsS0FBSyxDQUFDRyxhQUFhO0FBQUEsQ0FBQyxFQUc3RSxVQUFBTCxLQUFLO0VBQUEsT0FBSUEsS0FBSyxDQUFDRSxLQUFLLENBQUNJLHNCQUFzQjtBQUFBLEdBQ3pDLFVBQUFOLEtBQUs7RUFBQSxPQUFJQSxLQUFLLENBQUNFLEtBQUssQ0FBQ0ssd0JBQXdCO0FBQUEsR0FDdEQsVUFBQVAsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0UsS0FBSyxDQUFDTSxhQUFhO0FBQUEsR0FJaEMsVUFBQVIsS0FBSztFQUFBLE9BQUlBLEtBQUssQ0FBQ0UsS0FBSyxDQUFDTyxXQUFXO0FBQUEsRUFFNUM7QUFFTSxTQUFTQyxlQUFlQSxDQUFBLEVBQUc7RUFDaEMsSUFBTUMsUUFBUSxHQUFHLFNBQVhBLFFBQVFBLENBQUFDLElBQUE7SUFBQSxJQUFLQyxRQUFRLEdBQUFELElBQUEsQ0FBUkMsUUFBUTtNQUFFQyxPQUFPLEdBQUFGLElBQUEsQ0FBUEUsT0FBTztNQUFFQyxLQUFLLEdBQUFILElBQUEsQ0FBTEcsS0FBSztJQUFBLG9CQUN6QzdCLE1BQUEsWUFBQThCLGFBQUEsQ0FBQ3ZCLGNBQWM7TUFBQyxnQkFBUTtNQUFDLGVBQUF3QixNQUFBLENBQWFGLEtBQUssQ0FBQ0csRUFBRSxTQUFPO01BQUNqQixNQUFNLEVBQUVZLFFBQVM7TUFBQ0MsT0FBTyxFQUFFQTtJQUFRLGdCQUN2RjVCLE1BQUEsWUFBQThCLGFBQUEsQ0FBQ0QsS0FBSyxDQUFDSSxhQUFhO01BQUNDLE1BQU0sRUFBQztJQUFNLENBQUUsQ0FBQyxlQUNyQ2xDLE1BQUEsWUFBQThCLGFBQUEsQ0FBQzFCLGtCQUFBLENBQUErQixPQUFPO01BQUNILEVBQUUsS0FBQUQsTUFBQSxDQUFLRixLQUFLLENBQUNHLEVBQUUsU0FBTztNQUFDSSxNQUFNLEVBQUMsT0FBTztNQUFDQyxTQUFTLEVBQUUsR0FBSTtNQUFDQyxLQUFLLEVBQUM7SUFBUSxnQkFDM0V0QyxNQUFBLFlBQUE4QixhQUFBLDRCQUNFOUIsTUFBQSxZQUFBOEIsYUFBQSxDQUFDekIsYUFBQSxDQUFBa0MsZ0JBQWdCO01BQUNQLEVBQUUsRUFBRUgsS0FBSyxDQUFDVyxLQUFLLElBQUlYLEtBQUssQ0FBQ0c7SUFBRyxDQUFFLENBQzVDLENBQ0MsQ0FDSyxDQUFDO0VBQUEsQ0FDbEI7RUFFRCxPQUFPUCxRQUFRO0FBQ2pCO0FBQUMsSUFBQWdCLFFBQUEsR0FBQWpDLE9BQUEsY0FFY2dCLGVBQWUifQ==
@@ -1,18 +1,31 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
-
12
9
  var _styledComponents = _interopRequireDefault(require("styled-components"));
13
-
14
- var _templateObject;
15
-
10
+ var _templateObject; // Copyright (c) 2022 Uber Technologies, Inc.
11
+ //
12
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
13
+ // of this software and associated documentation files (the "Software"), to deal
14
+ // in the Software without restriction, including without limitation the rights
15
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
16
+ // copies of the Software, and to permit persons to whom the Software is
17
+ // furnished to do so, subject to the following conditions:
18
+ //
19
+ // The above copyright notice and this permission notice shall be included in
20
+ // all copies or substantial portions of the Software.
21
+ //
22
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
23
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
25
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
27
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
28
+ // THE SOFTWARE.
16
29
  var PanelTitleFactory = function PanelTitleFactory() {
17
30
  return _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: 400;\n letter-spacing: 1.25px;\n margin-bottom: 14px;\n"])), function (props) {
18
31
  return props.theme.titleTextColor;
@@ -22,7 +35,5 @@ var PanelTitleFactory = function PanelTitleFactory() {
22
35
  return props.theme.sidePanelTitleLineHeight;
23
36
  });
24
37
  };
25
-
26
- var _default = PanelTitleFactory;
27
- exports["default"] = _default;
28
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NpZGUtcGFuZWwvcGFuZWwtdGl0bGUuanMiXSwibmFtZXMiOlsiUGFuZWxUaXRsZUZhY3RvcnkiLCJzdHlsZWQiLCJkaXYiLCJwcm9wcyIsInRoZW1lIiwidGl0bGVUZXh0Q29sb3IiLCJzaWRlUGFuZWxUaXRsZUZvbnRzaXplIiwic2lkZVBhbmVsVGl0bGVMaW5lSGVpZ2h0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQW9CQTs7OztBQUVBLElBQU1BLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBb0I7QUFBQSxTQUFNQyw2QkFBT0MsR0FBYiwyTkFDZixVQUFBQyxLQUFLO0FBQUEsV0FBSUEsS0FBSyxDQUFDQyxLQUFOLENBQVlDLGNBQWhCO0FBQUEsR0FEVSxFQUVYLFVBQUFGLEtBQUs7QUFBQSxXQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUUsc0JBQWhCO0FBQUEsR0FGTSxFQUdULFVBQUFILEtBQUs7QUFBQSxXQUFJQSxLQUFLLENBQUNDLEtBQU4sQ0FBWUcsd0JBQWhCO0FBQUEsR0FISTtBQUFBLENBQTFCOztlQVNlUCxpQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5jb25zdCBQYW5lbFRpdGxlRmFjdG9yeSA9ICgpID0+IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRpdGxlVGV4dENvbG9yfTtcbiAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVQYW5lbFRpdGxlRm9udHNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlUGFuZWxUaXRsZUxpbmVIZWlnaHR9O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMS4yNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuYDtcblxuZXhwb3J0IGRlZmF1bHQgUGFuZWxUaXRsZUZhY3Rvcnk7XG4iXX0=
38
+ var _default = exports["default"] = PanelTitleFactory;
39
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3RlbXBsYXRlT2JqZWN0IiwiUGFuZWxUaXRsZUZhY3RvcnkiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwidGhlbWUiLCJ0aXRsZVRleHRDb2xvciIsInNpZGVQYW5lbFRpdGxlRm9udHNpemUiLCJzaWRlUGFuZWxUaXRsZUxpbmVIZWlnaHQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9zaWRlLXBhbmVsL3BhbmVsLXRpdGxlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMiBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5jb25zdCBQYW5lbFRpdGxlRmFjdG9yeSA9ICgpID0+IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnRpdGxlVGV4dENvbG9yfTtcbiAgZm9udC1zaXplOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnNpZGVQYW5lbFRpdGxlRm9udHNpemV9O1xuICBsaW5lLWhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zaWRlUGFuZWxUaXRsZUxpbmVIZWlnaHR9O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMS4yNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuYDtcblxuZXhwb3J0IGRlZmF1bHQgUGFuZWxUaXRsZUZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBb0JBLElBQUFBLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFBdUMsSUFBQUMsZUFBQSxFQXBCdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFJQSxJQUFNQyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFBO0VBQUEsT0FBU0MsNEJBQU0sQ0FBQ0MsR0FBRyxDQUFBSCxlQUFBLEtBQUFBLGVBQUEsT0FBQUksdUJBQUEseUpBQy9CLFVBQUFDLEtBQUs7SUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0MsY0FBYztFQUFBLEdBQy9CLFVBQUFGLEtBQUs7SUFBQSxPQUFJQSxLQUFLLENBQUNDLEtBQUssQ0FBQ0Usc0JBQXNCO0VBQUEsR0FDekMsVUFBQUgsS0FBSztJQUFBLE9BQUlBLEtBQUssQ0FBQ0MsS0FBSyxDQUFDRyx3QkFBd0I7RUFBQTtBQUFBLENBSTdEO0FBQUMsSUFBQUMsUUFBQSxHQUFBQyxPQUFBLGNBRWFWLGlCQUFpQiJ9