@kepler.gl/components 3.2.5 → 3.3.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/dist/bottom-widget.d.ts +4 -4
  2. package/dist/common/action-panel.d.ts +3 -3
  3. package/dist/common/animation-control/animation-control.d.ts +1 -1
  4. package/dist/common/animation-control/playback-controls.d.ts +1 -1
  5. package/dist/common/color-legend.d.ts +4 -4
  6. package/dist/common/column-stats-chart.d.ts +3 -3
  7. package/dist/common/data-table/button.d.ts +1 -1
  8. package/dist/common/data-table/canvas.d.ts +0 -1
  9. package/dist/common/data-table/cell-size.d.ts +2 -2
  10. package/dist/common/data-table/display-format.d.ts +1 -1
  11. package/dist/common/data-table/header-cell.d.ts +2 -2
  12. package/dist/common/data-table/index.d.ts +7 -9
  13. package/dist/common/data-table/index.js +1 -1
  14. package/dist/common/data-table/option-dropdown.d.ts +1 -1
  15. package/dist/common/field-selector.d.ts +5 -5
  16. package/dist/common/field-token.d.ts +1 -1
  17. package/dist/common/file-uploader/file-drop.d.ts +1 -1
  18. package/dist/common/file-uploader/file-upload-progress.d.ts +1 -1
  19. package/dist/common/file-uploader/file-upload.d.ts +1 -1
  20. package/dist/common/flex-container.d.ts +2 -3
  21. package/dist/common/histogram-plot.d.ts +1 -1
  22. package/dist/common/icon-button.d.ts +16 -16
  23. package/dist/common/icons/base.d.ts +1 -1
  24. package/dist/common/icons/close.js +7 -6
  25. package/dist/common/icons/effects/distance-fog.d.ts +14 -0
  26. package/dist/common/icons/effects/distance-fog.js +79 -0
  27. package/dist/common/icons/effects/surface-fog.d.ts +14 -0
  28. package/dist/common/icons/effects/surface-fog.js +86 -0
  29. package/dist/common/icons/index.d.ts +3 -0
  30. package/dist/common/icons/index.js +22 -1
  31. package/dist/common/icons/zoom-out.d.ts +10 -0
  32. package/dist/common/icons/zoom-out.js +48 -0
  33. package/dist/common/item-selector/chickleted-input.d.ts +4 -4
  34. package/dist/common/item-selector/dropdown-list.d.ts +3 -3
  35. package/dist/common/item-selector/dropdown-select.d.ts +7 -7
  36. package/dist/common/item-selector/item-selector.d.ts +2 -2
  37. package/dist/common/item-selector/typeahead.d.ts +3 -3
  38. package/dist/common/loading-spinner.d.ts +2 -2
  39. package/dist/common/modal.d.ts +5 -5
  40. package/dist/common/portaled.d.ts +8 -25
  41. package/dist/common/progress-bar.d.ts +1 -1
  42. package/dist/common/radius-legend.d.ts +1 -1
  43. package/dist/common/range-brush.d.ts +1 -1
  44. package/dist/common/range-plot.d.ts +1 -1
  45. package/dist/common/slider/mouse-event.d.ts +1 -1
  46. package/dist/common/slider/slider-bar-handle.d.ts +2 -2
  47. package/dist/common/slider/slider-handle.d.ts +3 -3
  48. package/dist/common/slider/slider.d.ts +2 -2
  49. package/dist/common/styled-components.d.ts +157 -158
  50. package/dist/common/sync-timeline-control.d.ts +3 -3
  51. package/dist/common/time-range-slider-time-title.d.ts +1 -1
  52. package/dist/common/time-range-slider.d.ts +2 -2
  53. package/dist/common/timeline-slider.d.ts +1 -1
  54. package/dist/common/tippy-tooltip.d.ts +1 -1
  55. package/dist/common/toolbar-item.d.ts +1 -1
  56. package/dist/common/toolbar.d.ts +1 -1
  57. package/dist/common/vertical-toolbar.d.ts +2 -3
  58. package/dist/container.d.ts +6 -6
  59. package/dist/context.d.ts +3 -3
  60. package/dist/dnd-context.d.ts +2 -2
  61. package/dist/editor/editor.d.ts +1 -1
  62. package/dist/editor/editor.js +1 -1
  63. package/dist/editor/feature-action-panel.d.ts +1 -1
  64. package/dist/editor/feature-action-panel.js +1 -1
  65. package/dist/effects/compact-color-picker.d.ts +1 -1
  66. package/dist/effects/effect-configurator.d.ts +2 -2
  67. package/dist/effects/effect-configurator.js +52 -14
  68. package/dist/effects/effect-list.d.ts +1 -1
  69. package/dist/effects/effect-manager.d.ts +3 -3
  70. package/dist/effects/effect-manager.js +9 -2
  71. package/dist/effects/effect-panel-header.d.ts +2 -2
  72. package/dist/effects/effect-panel-header.js +2 -2
  73. package/dist/effects/effect-panel.d.ts +2 -2
  74. package/dist/effects/effect-time-configurator.d.ts +1 -1
  75. package/dist/effects/effect-time-selector.d.ts +1 -1
  76. package/dist/effects/effect-time-slider.d.ts +3 -3
  77. package/dist/effects/effect-type-dropdown-list.d.ts +2 -2
  78. package/dist/effects/effect-type-list-item.d.ts +1 -1
  79. package/dist/effects/effect-type-selector.d.ts +2 -2
  80. package/dist/effects/side-panel-title.d.ts +1 -1
  81. package/dist/effects/timezone-selector.d.ts +1 -1
  82. package/dist/filters/components.d.ts +2 -3
  83. package/dist/filters/filter-panels/types.d.ts +4 -4
  84. package/dist/filters/types.d.ts +8 -8
  85. package/dist/geocoder/geocoder.d.ts +3 -3
  86. package/dist/geocoder/geocoder.js +5 -1
  87. package/dist/geocoder-panel.d.ts +10 -2
  88. package/dist/geocoder-panel.js +3 -3
  89. package/dist/hooks/use-cloud-list-provider.d.ts +1 -1
  90. package/dist/hooks/use-dnd-effects.d.ts +1 -1
  91. package/dist/hooks/use-dnd-layers.d.ts +1 -1
  92. package/dist/hooks/use-feature-flags.d.ts +1 -1
  93. package/dist/hooks/use-fetch-raster-tile-metadata.d.ts +3 -3
  94. package/dist/hooks/use-fetch-vector-tile-metadata.d.ts +2 -2
  95. package/dist/hooks/use-legend-position.d.ts +8 -6
  96. package/dist/hooks/use-legend-position.js +27 -4
  97. package/dist/injector.d.ts +5 -5
  98. package/dist/kepler-gl.d.ts +55 -64
  99. package/dist/loading-indicator.d.ts +4 -4
  100. package/dist/loading-indicator.js +33 -8
  101. package/dist/map/effects/effect-control.d.ts +1 -1
  102. package/dist/map/layer-hover-info.d.ts +3 -3
  103. package/dist/map/layer-hover-info.js +8 -3
  104. package/dist/map/layer-selector-panel.d.ts +1 -1
  105. package/dist/map/lazy-tippy.js +3 -3
  106. package/dist/map/locale-panel.d.ts +1 -1
  107. package/dist/map/map-control-panel.d.ts +1 -1
  108. package/dist/map/map-control-toolbar.d.ts +6 -7
  109. package/dist/map/map-control-tooltip.d.ts +1 -1
  110. package/dist/map/map-control.d.ts +3 -2
  111. package/dist/map/map-control.js +1 -1
  112. package/dist/map/map-draw-panel.d.ts +1 -1
  113. package/dist/map/map-legend-panel.d.ts +4 -3
  114. package/dist/map/map-legend-panel.js +22 -9
  115. package/dist/map/map-legend.d.ts +10 -8
  116. package/dist/map/map-legend.js +37 -7
  117. package/dist/map/map-popover-content.d.ts +2 -2
  118. package/dist/map/map-popover.d.ts +2 -2
  119. package/dist/map/split-map-button.d.ts +1 -1
  120. package/dist/map/toggle-3d-button.d.ts +1 -1
  121. package/dist/map-container.d.ts +2 -2
  122. package/dist/map-container.js +50 -25
  123. package/dist/map-view-state-context.d.ts +9 -2
  124. package/dist/map-view-state-context.js +1 -1
  125. package/dist/modal-container.d.ts +3 -6
  126. package/dist/modals/cloud-components/cloud-header.d.ts +1 -1
  127. package/dist/modals/cloud-components/provider-select.d.ts +1 -1
  128. package/dist/modals/cloud-tile.d.ts +1 -1
  129. package/dist/modals/data-table-modal.d.ts +1 -1
  130. package/dist/modals/export-data-modal.js +2 -2
  131. package/dist/modals/export-image-modal.d.ts +1 -1
  132. package/dist/modals/export-image-modal.js +75 -7
  133. package/dist/modals/export-map-modal/components.d.ts +1 -1
  134. package/dist/modals/export-map-modal/export-html-map.d.ts +1 -1
  135. package/dist/modals/export-map-modal/export-html-map.js +3 -1
  136. package/dist/modals/export-map-modal/export-json-map.d.ts +1 -1
  137. package/dist/modals/image-modal-container.d.ts +1 -1
  138. package/dist/modals/load-data-modal.d.ts +2 -2
  139. package/dist/modals/modal-dialog.d.ts +0 -2
  140. package/dist/modals/overwrite-map-modal.d.ts +1 -1
  141. package/dist/modals/save-map-modal.d.ts +3 -3
  142. package/dist/modals/share-map-modal.d.ts +1 -1
  143. package/dist/modals/tilesets-modals/common.d.ts +3 -3
  144. package/dist/modals/tilesets-modals/common.js +1 -1
  145. package/dist/modals/tilesets-modals/load-data-footer.d.ts +1 -1
  146. package/dist/modals/tilesets-modals/load-tileset.d.ts +1 -1
  147. package/dist/modals/tilesets-modals/load-tileset.js +8 -2
  148. package/dist/modals/tilesets-modals/tileset-icon.d.ts +1 -1
  149. package/dist/modals/tilesets-modals/tileset-raster-form.d.ts +2 -2
  150. package/dist/modals/tilesets-modals/tileset-tile3d-form.d.ts +12 -0
  151. package/dist/modals/tilesets-modals/tileset-tile3d-form.js +388 -0
  152. package/dist/modals/tilesets-modals/tileset-vector-form.d.ts +3 -3
  153. package/dist/modals/tilesets-modals/tileset-wms-form.d.ts +1 -1
  154. package/dist/modals/tilesets-modals/tileset-wms-form.js +53 -10
  155. package/dist/plot-container.js +82 -11
  156. package/dist/side-panel/add-by-dataset-button.d.ts +1 -1
  157. package/dist/side-panel/common/dataset-info.d.ts +2 -2
  158. package/dist/side-panel/common/dataset-info.js +2 -2
  159. package/dist/side-panel/common/dataset-tag.d.ts +2 -2
  160. package/dist/side-panel/common/dataset-title.d.ts +2 -2
  161. package/dist/side-panel/common/source-data-catalog.d.ts +3 -3
  162. package/dist/side-panel/common/types.d.ts +8 -8
  163. package/dist/side-panel/custom-panel.d.ts +2 -2
  164. package/dist/side-panel/filter-manager.d.ts +3 -3
  165. package/dist/side-panel/filter-panel/add-filter-button.d.ts +1 -1
  166. package/dist/side-panel/filter-panel/filter-panel-header.d.ts +2 -2
  167. package/dist/side-panel/interaction-manager.d.ts +1 -1
  168. package/dist/side-panel/interaction-panel/brush-config.d.ts +1 -1
  169. package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +3 -3
  170. package/dist/side-panel/interaction-panel/tooltip-config.d.ts +1 -1
  171. package/dist/side-panel/layer-manager.d.ts +2 -2
  172. package/dist/side-panel/layer-panel/add-layer-button.d.ts +1 -1
  173. package/dist/side-panel/layer-panel/channel-by-value-selector.d.ts +1 -1
  174. package/dist/side-panel/layer-panel/color-breaks-panel.d.ts +4 -4
  175. package/dist/side-panel/layer-panel/color-palette-preset.d.ts +1 -1
  176. package/dist/side-panel/layer-panel/color-palette.d.ts +2 -2
  177. package/dist/side-panel/layer-panel/color-range-selector.d.ts +3 -3
  178. package/dist/side-panel/layer-panel/color-scale-selector.d.ts +4 -4
  179. package/dist/side-panel/layer-panel/color-selector.d.ts +3 -3
  180. package/dist/side-panel/layer-panel/column-selector.d.ts +1 -1
  181. package/dist/side-panel/layer-panel/custom-palette.d.ts +10 -10
  182. package/dist/side-panel/layer-panel/custom-picker.d.ts +1 -1
  183. package/dist/side-panel/layer-panel/dataset-layer-group.d.ts +1 -1
  184. package/dist/side-panel/layer-panel/dataset-layer-section.d.ts +1 -1
  185. package/dist/side-panel/layer-panel/dataset-section.d.ts +2 -2
  186. package/dist/side-panel/layer-panel/dimension-scale-selector.d.ts +1 -1
  187. package/dist/side-panel/layer-panel/how-to-button.d.ts +1 -1
  188. package/dist/side-panel/layer-panel/layer-color-selector.d.ts +3 -3
  189. package/dist/side-panel/layer-panel/layer-column-config.d.ts +1 -1
  190. package/dist/side-panel/layer-panel/layer-column-mode-config.d.ts +3 -3
  191. package/dist/side-panel/layer-panel/layer-config-group.d.ts +5 -5
  192. package/dist/side-panel/layer-panel/layer-configurator.d.ts +2 -2
  193. package/dist/side-panel/layer-panel/layer-configurator.js +27 -17
  194. package/dist/side-panel/layer-panel/layer-error-message.d.ts +1 -1
  195. package/dist/side-panel/layer-panel/layer-list.d.ts +2 -2
  196. package/dist/side-panel/layer-panel/layer-panel-header.d.ts +6 -5
  197. package/dist/side-panel/layer-panel/layer-panel-header.js +15 -5
  198. package/dist/side-panel/layer-panel/layer-panel.d.ts +1 -1
  199. package/dist/side-panel/layer-panel/layer-type-dropdown-list.d.ts +2 -2
  200. package/dist/side-panel/layer-panel/layer-type-list-item.d.ts +2 -2
  201. package/dist/side-panel/layer-panel/layer-type-selector.d.ts +1 -1
  202. package/dist/side-panel/layer-panel/radius-by-zoom-input.d.ts +1 -1
  203. package/dist/side-panel/layer-panel/raster-tile-layer-configurator.d.ts +1 -1
  204. package/dist/side-panel/layer-panel/single-color-palette.d.ts +1 -1
  205. package/dist/side-panel/layer-panel/text-label-panel.d.ts +1 -1
  206. package/dist/side-panel/layer-panel/vector-tile-layer-configurator.d.ts +2 -2
  207. package/dist/side-panel/layer-panel/vis-config-by-field-selector.d.ts +1 -1
  208. package/dist/side-panel/layer-panel/vis-config-slider.d.ts +1 -1
  209. package/dist/side-panel/layer-panel/vis-config-switch.d.ts +1 -1
  210. package/dist/side-panel/map-manager.d.ts +1 -1
  211. package/dist/side-panel/map-style-panel/map-layer-group-color-picker.d.ts +1 -1
  212. package/dist/side-panel/map-style-panel/map-layer-group-item.d.ts +2 -2
  213. package/dist/side-panel/map-style-panel/map-layer-selector.d.ts +1 -1
  214. package/dist/side-panel/map-style-panel/map-style-selector.d.ts +1 -1
  215. package/dist/side-panel/panel-header-action.d.ts +1 -1
  216. package/dist/side-panel/panel-header.d.ts +12 -12
  217. package/dist/side-panel/panel-tab.d.ts +4 -4
  218. package/dist/side-panel/panel-title.d.ts +1 -1
  219. package/dist/side-panel/panel-toggle.d.ts +1 -1
  220. package/dist/side-panel/panel-view-list-toggle.d.ts +3 -3
  221. package/dist/side-panel/side-bar.d.ts +2 -2
  222. package/dist/side-panel.d.ts +1 -1
  223. package/dist/types.d.ts +3 -3
  224. package/package.json +23 -22
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- declare type LayerErrorMessageProps = {
2
+ type LayerErrorMessageProps = {
3
3
  errorMessage: string;
4
4
  };
5
5
  declare const LayerErrorMessage: React.FC<LayerErrorMessageProps>;
@@ -4,7 +4,7 @@ import { Datasets } from '@kepler.gl/table';
4
4
  import { UIStateActions, VisStateActions, MapStateActions } from '@kepler.gl/actions';
5
5
  import LayerPanelFactory from './layer-panel';
6
6
  import { SplitMap } from '@kepler.gl/types';
7
- export declare type LayerListProps = {
7
+ export type LayerListProps = {
8
8
  datasets: Datasets;
9
9
  layers: Layer[];
10
10
  layerOrder: string[];
@@ -15,7 +15,7 @@ export declare type LayerListProps = {
15
15
  visStateActions: typeof VisStateActions;
16
16
  mapStateActions: typeof MapStateActions;
17
17
  };
18
- export declare type LayerListFactoryDeps = [typeof LayerPanelFactory];
18
+ export type LayerListFactoryDeps = [typeof LayerPanelFactory];
19
19
  declare function LayerListFactory(LayerPanel: ReturnType<typeof LayerPanelFactory>): React.FC<LayerListProps>;
20
20
  declare namespace LayerListFactory {
21
21
  var deps: (typeof LayerPanelFactory)[];
@@ -2,14 +2,14 @@ import React, { ComponentType, MouseEventHandler, ChangeEventHandler } from 'rea
2
2
  import PanelHeaderActionFactory from '../panel-header-action';
3
3
  import { RGBColor } from '@kepler.gl/types';
4
4
  import { BaseProps } from '../../common/icons';
5
- export declare type LayerLabelEditorProps = {
5
+ export type LayerLabelEditorProps = {
6
6
  layerId: string;
7
7
  label?: string;
8
8
  onEdit: ChangeEventHandler;
9
9
  onFocus: ChangeEventHandler;
10
10
  onBlur: ChangeEventHandler;
11
11
  };
12
- export declare type LayerTitleSectionProps = {
12
+ export type LayerTitleSectionProps = {
13
13
  layerType?: string | null;
14
14
  layerId: string;
15
15
  label?: string;
@@ -17,7 +17,7 @@ export declare type LayerTitleSectionProps = {
17
17
  onFocus: ChangeEventHandler;
18
18
  onBlur: ChangeEventHandler;
19
19
  };
20
- export declare type LayerPanelHeaderProps = {
20
+ export type LayerPanelHeaderProps = {
21
21
  layerId: string;
22
22
  isVisible: boolean;
23
23
  isValid: boolean;
@@ -41,16 +41,17 @@ export declare type LayerPanelHeaderProps = {
41
41
  visible: ComponentType<Partial<BaseProps>>;
42
42
  hidden: ComponentType<Partial<BaseProps>>;
43
43
  enableConfig: ComponentType<Partial<BaseProps>>;
44
+ disableConfig?: ComponentType<Partial<BaseProps>>;
44
45
  resetIsValid: ComponentType<Partial<BaseProps>>;
45
46
  duplicate: ComponentType<Partial<BaseProps>>;
46
47
  crosshairs: ComponentType<Partial<BaseProps>>;
47
48
  };
48
49
  listeners?: React.ElementType;
49
50
  };
50
- declare type HeaderActionSectionProps = {
51
+ type HeaderActionSectionProps = {
51
52
  isEditingLabel: boolean;
52
53
  };
53
- export declare type LayerPanelHeaderActionSectionProps = LayerPanelHeaderProps & HeaderActionSectionProps;
54
+ export type LayerPanelHeaderActionSectionProps = LayerPanelHeaderProps & HeaderActionSectionProps;
54
55
  export declare const DragHandle: React.FC<{
55
56
  className?: string;
56
57
  listeners?: any;
@@ -10,6 +10,7 @@ exports.LayerPanelHeaderActionSectionFactory = LayerPanelHeaderActionSectionFact
10
10
  exports.LayerTitleSectionFactory = LayerTitleSectionFactory;
11
11
  exports["default"] = void 0;
12
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
14
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
14
15
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
16
  var _react = _interopRequireWildcard(require("react"));
@@ -20,10 +21,12 @@ var _styledComponents2 = require("../../common/styled-components");
20
21
  var _icons = require("../../common/icons");
21
22
  var _localization = require("@kepler.gl/localization");
22
23
  var _constants = require("@kepler.gl/constants");
23
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8; // SPDX-License-Identifier: MIT
24
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9; // SPDX-License-Identifier: MIT
24
25
  // Copyright contributors to the kepler.gl project
25
26
  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); }
26
27
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
28
+ 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; }
29
+ 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; }
27
30
  var getBorderCss = function getBorderCss(status) {
28
31
  return (0, _styledComponents.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n border-top: 2px solid ", ";\n border-bottom: 2px solid ", ";\n border-right: 2px solid ", ";\n"])), function (_ref) {
29
32
  var theme = _ref.theme;
@@ -138,8 +141,9 @@ function LayerPanelHeaderActionSectionFactory(PanelHeaderAction) {
138
141
  _props$showRemoveLaye = props.showRemoveLayer,
139
142
  showRemoveLayer = _props$showRemoveLaye === void 0 ? true : _props$showRemoveLaye,
140
143
  isEditingLabel = props.isEditingLabel,
141
- _props$actionIcons = props.actionIcons,
142
- actionIcons = _props$actionIcons === void 0 ? defaultActionIcons : _props$actionIcons;
144
+ customActionIcons = props.actionIcons;
145
+ // Merge custom actionIcons with defaults to avoid breaking changes
146
+ var actionIcons = _objectSpread(_objectSpread({}, defaultActionIcons), customActionIcons);
143
147
  return /*#__PURE__*/_react["default"].createElement(HeaderActionSection, {
144
148
  className: "layer-panel__header__actions",
145
149
  isEditingLabel: isEditingLabel
@@ -185,7 +189,7 @@ function LayerPanelHeaderActionSectionFactory(PanelHeaderAction) {
185
189
  id: layerId,
186
190
  tooltip: 'tooltip.layerSettings',
187
191
  onClick: onToggleEnableConfig,
188
- IconComponent: actionIcons.enableConfig
192
+ IconComponent: isConfigActive ? actionIcons.disableConfig || actionIcons.enableConfig : actionIcons.enableConfig
189
193
  }));
190
194
  };
191
195
  return LayerPanelHeaderActionSection;
@@ -208,6 +212,7 @@ var HeaderWarning = exports.HeaderWarning = function HeaderWarning(_ref8) {
208
212
  textColor: "black"
209
213
  }, warning));
210
214
  };
215
+ var RotatedIcon = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n transform: rotate(180deg);\n"])));
211
216
  var defaultActionIcons = {
212
217
  remove: function remove(props) {
213
218
  return /*#__PURE__*/_react["default"].createElement(_icons.Trash, (0, _extends2["default"])({}, props, {
@@ -229,6 +234,11 @@ var defaultActionIcons = {
229
234
  height: "18px"
230
235
  }));
231
236
  },
237
+ disableConfig: function disableConfig(props) {
238
+ return /*#__PURE__*/_react["default"].createElement(RotatedIcon, null, /*#__PURE__*/_react["default"].createElement(_icons.ArrowDown, (0, _extends2["default"])({}, props, {
239
+ height: "18px"
240
+ })));
241
+ },
232
242
  duplicate: function duplicate(props) {
233
243
  return /*#__PURE__*/_react["default"].createElement(_icons.Copy, (0, _extends2["default"])({}, props, {
234
244
  height: "14px"
@@ -299,4 +309,4 @@ function LayerPanelHeaderFactory(LayerTitleSection, LayerPanelHeaderActionSectio
299
309
  return LayerPanelHeader;
300
310
  }
301
311
  var _default = exports["default"] = LayerPanelHeaderFactory;
302
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9wYW5lbEhlYWRlckFjdGlvbiIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl9pY29ucyIsIl9sb2NhbGl6YXRpb24iLCJfY29uc3RhbnRzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJfdGVtcGxhdGVPYmplY3Q3IiwiX3RlbXBsYXRlT2JqZWN0OCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsImdldEJvcmRlckNzcyIsInN0YXR1cyIsImNzcyIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwiX3JlZiIsInRoZW1lIiwibm90aWZpY2F0aW9uQ29sb3JzIiwiX3JlZjIiLCJfcmVmMyIsIlN0eWxlZExheWVyUGFuZWxIZWFkZXIiLCJzdHlsZWQiLCJTdHlsZWRQYW5lbEhlYWRlciIsInByb3BzIiwibGF5ZXJQYW5lbEhlYWRlckhlaWdodCIsIndhcm5pbmciLCJpc1ZhbGlkIiwicGFuZWxCYWNrZ3JvdW5kSG92ZXIiLCJIZWFkZXJMYWJlbFNlY3Rpb24iLCJkaXYiLCJ0ZXh0Q29sb3IiLCJIZWFkZXJBY3Rpb25TZWN0aW9uIiwid2l0aENvbmZpZyIsInNob3VsZEZvcndhcmRQcm9wIiwiaXNFZGl0aW5nTGFiZWwiLCJTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnMiLCJhdHRycyIsImNsYXNzTmFtZSIsImlzQ29uZmlnQWN0aXZlIiwicGFuZWxCYWNrZ3JvdW5kIiwiU3R5bGVkRHJhZ0hhbmRsZSIsInRleHRDb2xvckhsIiwiRHJhZ0hhbmRsZSIsImV4cG9ydHMiLCJfcmVmNCIsImxpc3RlbmVycyIsImNoaWxkcmVuIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzMiIsIm5vT3AiLCJldmVudCIsInN0b3BQcm9wYWdhdGlvbiIsInByZXZlbnREZWZhdWx0IiwiTGF5ZXJMYWJlbEVkaXRvciIsIl9yZWY1IiwibGF5ZXJJZCIsImxhYmVsIiwib25FZGl0Iiwib25Gb2N1cyIsIm9uQmx1ciIsIklubGluZUlucHV0IiwidHlwZSIsImRhdGFUZXN0SWRzIiwibGF5ZXJUaXRsZUVkaXRvciIsInZhbHVlIiwib25DbGljayIsIm9uQ2hhbmdlIiwiaWQiLCJjb25jYXQiLCJMYXllclRpdGxlU2VjdGlvbkZhY3RvcnkiLCJTdHlsZWRMYXllclRpdGxlU2VjdGlvbiIsInN1YnRleHRDb2xvciIsIkxheWVyVGl0bGVTZWN0aW9uIiwiX3JlZjYiLCJsYXllclR5cGUiLCJvblVwZGF0ZUxheWVyTGFiZWwiLCJGb3JtYXR0ZWRNZXNzYWdlIiwidG9Mb3dlckNhc2UiLCJMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbkZhY3RvcnkiLCJkZXBzIiwiUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5IiwiUGFuZWxIZWFkZXJBY3Rpb24iLCJMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbiIsImFsbG93RHVwbGljYXRlIiwiaXNWaXNpYmxlIiwib25Ub2dnbGVWaXNpYmlsaXR5Iiwib25SZXNldElzVmFsaWQiLCJvblRvZ2dsZUVuYWJsZUNvbmZpZyIsIm9uRHVwbGljYXRlTGF5ZXIiLCJvblJlbW92ZUxheWVyIiwib25ab29tVG9MYXllciIsIl9wcm9wcyRzaG93UmVtb3ZlTGF5ZSIsInNob3dSZW1vdmVMYXllciIsIl9wcm9wcyRhY3Rpb25JY29ucyIsImFjdGlvbkljb25zIiwiZGVmYXVsdEFjdGlvbkljb25zIiwidGVzdElkIiwidG9vbHRpcCIsInRvb2x0aXBUeXBlIiwiSWNvbkNvbXBvbmVudCIsInJlbW92ZSIsImR1cGxpY2F0ZSIsImRpc2FibGVkIiwiY3Jvc3NoYWlycyIsInZpc2libGUiLCJoaWRkZW4iLCJyZXNldElzVmFsaWQiLCJjbGFzc25hbWVzIiwiZW5hYmxlQ29uZmlnIiwiU3R5bGVkSGVhZGVyV2FyaW5nIiwiX3JlZjciLCJIZWFkZXJXYXJuaW5nIiwiX3JlZjgiLCJXYXJuaW5nU2lnbiIsImhlaWdodCIsIlRvb2x0aXAiLCJlZmZlY3QiLCJUcmFzaCIsIkV5ZVNlZW4iLCJFeWVVbnNlZW4iLCJBcnJvd0Rvd24iLCJDb3B5IiwiUmVzZXQiLCJab29tSW4iLCJMYXllclBhbmVsSGVhZGVyRmFjdG9yeSIsIkxheWVyUGFuZWxIZWFkZXIiLCJfcHJvcHMkaXNEcmFnTkRyb3BFbmEiLCJpc0RyYWdORHJvcEVuYWJsZWQiLCJsYWJlbFJDR0NvbG9yVmFsdWVzIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2V0SXNFZGl0aW5nTGFiZWwiLCJhY3RpdmUiLCJWZXJ0RG90cyIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvbGF5ZXItcGFuZWwtaGVhZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHtcbiAgdXNlU3RhdGUsXG4gIENvbXBvbmVudFR5cGUsXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICBNb3VzZUV2ZW50LFxuICBDaGFuZ2VFdmVudEhhbmRsZXJcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgc3R5bGVkLCB7Y3NzfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5IGZyb20gJy4uL3BhbmVsLWhlYWRlci1hY3Rpb24nO1xuaW1wb3J0IHtUb29sdGlwLCBzaG91bGRGb3J3YXJkUHJvcH0gZnJvbSAnLi4vLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIENvcHksXG4gIEFycm93RG93bixcbiAgRXllU2VlbixcbiAgRXllVW5zZWVuLFxuICBUcmFzaCxcbiAgVmVydERvdHMsXG4gIFdhcm5pbmdTaWduLFxuICBSZXNldCxcbiAgWm9vbUluXG59IGZyb20gJy4uLy4uL2NvbW1vbi9pY29ucyc7XG5cbmltcG9ydCB7SW5saW5lSW5wdXQsIFN0eWxlZFBhbmVsSGVhZGVyfSBmcm9tICcuLi8uLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5pbXBvcnQge2RhdGFUZXN0SWRzfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge1JHQkNvbG9yfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7QmFzZVByb3BzfSBmcm9tICcuLi8uLi9jb21tb24vaWNvbnMnO1xuXG5leHBvcnQgdHlwZSBMYXllckxhYmVsRWRpdG9yUHJvcHMgPSB7XG4gIGxheWVySWQ6IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIG9uRWRpdDogQ2hhbmdlRXZlbnRIYW5kbGVyO1xuICBvbkZvY3VzOiBDaGFuZ2VFdmVudEhhbmRsZXI7XG4gIG9uQmx1cjogQ2hhbmdlRXZlbnRIYW5kbGVyO1xufTtcblxuZXhwb3J0IHR5cGUgTGF5ZXJUaXRsZVNlY3Rpb25Qcm9wcyA9IHtcbiAgbGF5ZXJUeXBlPzogc3RyaW5nIHwgbnVsbDtcbiAgbGF5ZXJJZDogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbiAgb25VcGRhdGVMYXllckxhYmVsOiBDaGFuZ2VFdmVudEhhbmRsZXI7XG4gIG9uRm9jdXM6IENoYW5nZUV2ZW50SGFuZGxlcjtcbiAgb25CbHVyOiBDaGFuZ2VFdmVudEhhbmRsZXI7XG59O1xuXG5leHBvcnQgdHlwZSBMYXllclBhbmVsSGVhZGVyUHJvcHMgPSB7XG4gIGxheWVySWQ6IHN0cmluZztcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBpc1ZhbGlkOiBib29sZWFuO1xuICBvblRvZ2dsZVZpc2liaWxpdHk6IE1vdXNlRXZlbnRIYW5kbGVyO1xuICBvblVwZGF0ZUxheWVyTGFiZWw6IENoYW5nZUV2ZW50SGFuZGxlcjtcbiAgb25Ub2dnbGVFbmFibGVDb25maWc6IE1vdXNlRXZlbnRIYW5kbGVyO1xuICBvblJlbW92ZUxheWVyOiBNb3VzZUV2ZW50SGFuZGxlcjtcbiAgb25ab29tVG9MYXllcjogTW91c2VFdmVudEhhbmRsZXI7XG4gIG9uRHVwbGljYXRlTGF5ZXI6IE1vdXNlRXZlbnRIYW5kbGVyO1xuICBvblJlc2V0SXNWYWxpZDogTW91c2VFdmVudEhhbmRsZXI7XG4gIGlzQ29uZmlnQWN0aXZlOiBib29sZWFuO1xuICBzaG93UmVtb3ZlTGF5ZXI/OiBib29sZWFuO1xuICBsYWJlbD86IHN0cmluZztcbiAgbGF5ZXJUeXBlPzogc3RyaW5nIHwgbnVsbDtcbiAgYWxsb3dEdXBsaWNhdGU/OiBib29sZWFuO1xuICBpc0RyYWdORHJvcEVuYWJsZWQ/OiBib29sZWFuO1xuICB3YXJuaW5nPzogYm9vbGVhbjtcbiAgbGFiZWxSQ0dDb2xvclZhbHVlcz86IFJHQkNvbG9yIHwgbnVsbDtcbiAgYWN0aW9uSWNvbnM/OiB7XG4gICAgcmVtb3ZlOiBDb21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gICAgdmlzaWJsZTogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIGhpZGRlbjogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIGVuYWJsZUNvbmZpZzogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIHJlc2V0SXNWYWxpZDogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIGR1cGxpY2F0ZTogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIGNyb3NzaGFpcnM6IENvbXBvbmVudFR5cGU8UGFydGlhbDxCYXNlUHJvcHM+PjtcbiAgfTtcbiAgbGlzdGVuZXJzPzogUmVhY3QuRWxlbWVudFR5cGU7XG59O1xuXG50eXBlIEhlYWRlckFjdGlvblNlY3Rpb25Qcm9wcyA9IHtcbiAgaXNFZGl0aW5nTGFiZWw6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvblByb3BzID0gTGF5ZXJQYW5lbEhlYWRlclByb3BzICYgSGVhZGVyQWN0aW9uU2VjdGlvblByb3BzO1xuXG5jb25zdCBnZXRCb3JkZXJDc3MgPSBzdGF0dXMgPT4gY3NzYFxuICBib3JkZXItdG9wOiAycHggc29saWQgJHsoe3RoZW1lfSkgPT4gdGhlbWUubm90aWZpY2F0aW9uQ29sb3JzW3N0YXR1c119O1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHsoe3RoZW1lfSkgPT4gdGhlbWUubm90aWZpY2F0aW9uQ29sb3JzW3N0YXR1c119O1xuICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkeyh7dGhlbWV9KSA9PiB0aGVtZS5ub3RpZmljYXRpb25Db2xvcnNbc3RhdHVzXX07XG5gO1xuXG5jb25zdCBTdHlsZWRMYXllclBhbmVsSGVhZGVyID0gc3R5bGVkKFN0eWxlZFBhbmVsSGVhZGVyKWBcbiAgaGVpZ2h0OiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmxheWVyUGFuZWxIZWFkZXJIZWlnaHR9cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgLmxheWVyX19yZW1vdmUtbGF5ZXIge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAubGF5ZXJfX2RyYWctaGFuZGxlX19wbGFjZWhvbGRlciB7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gIH1cblxuICAke3Byb3BzID0+IChwcm9wcy53YXJuaW5nID8gZ2V0Qm9yZGVyQ3NzKCd3YXJuaW5nJykgOiBwcm9wcy5pc1ZhbGlkID8gJycgOiBnZXRCb3JkZXJDc3MoJ2Vycm9yJykpfVxuXG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyfTtcblxuICAgIC5sYXllcl9fZHJhZy1oYW5kbGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAubGF5ZXJfX3JlbW92ZS1sYXllciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgSGVhZGVyTGFiZWxTZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9yfTtcbiAgZmxleC1ncm93OiAxO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgLy8gbGVhdmUgc3BhY2UgZm9yIGV5ZSBhbmQgY29sbGFwc2UgaWNvblxuICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuYDtcblxuY29uc3QgSGVhZGVyQWN0aW9uU2VjdGlvbiA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7c2hvdWxkRm9yd2FyZFByb3B9KTxIZWFkZXJBY3Rpb25TZWN0aW9uUHJvcHM+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMTAwJTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHJpZ2h0OiAxMHB4O1xuICBwb2ludGVyLWV2ZW50czogJHtwcm9wcyA9PiAocHJvcHMuaXNFZGl0aW5nTGFiZWwgPyAnbm9uZScgOiAnYWxsJyl9O1xuICAmOmhvdmVyIHtcbiAgICAubGF5ZXItcGFuZWxfX2hlYWRlcl9fYWN0aW9uc19faGlkZGVuIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyfTtcbiAgICB9XG4gIH1cbmA7XG5cbnR5cGUgU3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zUHJvcHMgPSB7XG4gIGlzQ29uZmlnQWN0aXZlOiBMYXllclBhbmVsSGVhZGVyUHJvcHNbJ2lzQ29uZmlnQWN0aXZlJ107XG59O1xuXG4vLyBIaWRlbiBhY3Rpb25zIG9ubHkgc2hvdyB1cCBvbiBob3ZlclxuY29uc3QgU3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zID0gc3R5bGVkLmRpdi53aXRoQ29uZmlnKHtzaG91bGRGb3J3YXJkUHJvcH0pLmF0dHJzKHtcbiAgY2xhc3NOYW1lOiAnbGF5ZXItcGFuZWxfX2hlYWRlcl9fYWN0aW9uc19faGlkZGVuJ1xufSk8U3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zUHJvcHM+YFxuICBvcGFjaXR5OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke3Byb3BzID0+XG4gICAgcHJvcHMuaXNDb25maWdBY3RpdmUgPyBwcm9wcy50aGVtZS5wYW5lbEJhY2tncm91bmRIb3ZlciA6IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZH07XG4gIHRyYW5zaXRpb246XG4gICAgb3BhY2l0eSAwLjRzIGVhc2UsXG4gICAgYmFja2dyb3VuZC1jb2xvciAwLjRzIGVhc2U7XG5cbiAgJjpob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkRHJhZ0hhbmRsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBtb3ZlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUudGV4dENvbG9ySGx9O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgRHJhZ0hhbmRsZTogUmVhY3QuRkM8e1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIGxpc3RlbmVycz86IGFueTtcbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGU7XG59PiA9ICh7Y2xhc3NOYW1lLCBsaXN0ZW5lcnMsIGNoaWxkcmVufSkgPT4gKFxuICA8U3R5bGVkRHJhZ0hhbmRsZSBjbGFzc05hbWU9e2NsYXNzTmFtZX0gey4uLihsaXN0ZW5lcnMgPyBsaXN0ZW5lcnMgOiB7fSl9PlxuICAgIHtjaGlsZHJlbn1cbiAgPC9TdHlsZWREcmFnSGFuZGxlPlxuKTtcblxuY29uc3Qgbm9PcCA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBMYXllckxhYmVsRWRpdG9yOiBSZWFjdC5GQzxMYXllckxhYmVsRWRpdG9yUHJvcHM+ID0gKHtcbiAgbGF5ZXJJZCxcbiAgbGFiZWwsXG4gIG9uRWRpdCxcbiAgb25Gb2N1cyxcbiAgb25CbHVyXG59KSA9PiAoXG4gIDxJbmxpbmVJbnB1dFxuICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICBjbGFzc05hbWU9XCJsYXllcl9fdGl0bGVfX2VkaXRvclwiXG4gICAgZGF0YS10ZXN0aWQ9e2RhdGFUZXN0SWRzLmxheWVyVGl0bGVFZGl0b3J9XG4gICAgdmFsdWU9e2xhYmVsfVxuICAgIG9uQ2xpY2s9e25vT3B9XG4gICAgb25DaGFuZ2U9e29uRWRpdH1cbiAgICBvbkZvY3VzPXtvbkZvY3VzfVxuICAgIG9uQmx1cj17b25CbHVyfVxuICAgIGlkPXtgJHtsYXllcklkfTppbnB1dC1sYXllci1sYWJlbGB9XG4gIC8+XG4pO1xuXG5leHBvcnQgZnVuY3Rpb24gTGF5ZXJUaXRsZVNlY3Rpb25GYWN0b3J5KCkge1xuICBjb25zdCBTdHlsZWRMYXllclRpdGxlU2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC5sYXllcl9fdGl0bGVfX2lubmVyIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG5cbiAgICAubGF5ZXJfX3RpdGxlX190eXBlIHtcbiAgICAgIGNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLnN1YnRleHRDb2xvcn07XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjM3cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICB9XG4gIGA7XG4gIGNvbnN0IExheWVyVGl0bGVTZWN0aW9uOiBSZWFjdC5GQzxMYXllclRpdGxlU2VjdGlvblByb3BzPiA9ICh7XG4gICAgbGF5ZXJUeXBlLFxuICAgIGxheWVySWQsXG4gICAgbGFiZWwsXG4gICAgb25VcGRhdGVMYXllckxhYmVsLFxuICAgIG9uRm9jdXMsXG4gICAgb25CbHVyXG4gIH0pID0+IChcbiAgICA8U3R5bGVkTGF5ZXJUaXRsZVNlY3Rpb24gY2xhc3NOYW1lPVwibGF5ZXJfX3RpdGxlXCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8TGF5ZXJMYWJlbEVkaXRvclxuICAgICAgICAgIGxheWVySWQ9e2xheWVySWR9XG4gICAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICAgIG9uRWRpdD17b25VcGRhdGVMYXllckxhYmVsfVxuICAgICAgICAgIG9uRm9jdXM9e29uRm9jdXN9XG4gICAgICAgICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgICAgIC8+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGF5ZXJfX3RpdGxlX190eXBlXCI+XG4gICAgICAgICAge2xheWVyVHlwZSAmJiA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17YGxheWVyLnR5cGUuJHtsYXllclR5cGUudG9Mb3dlckNhc2UoKX1gfSAvPn1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L1N0eWxlZExheWVyVGl0bGVTZWN0aW9uPlxuICApO1xuICByZXR1cm4gTGF5ZXJUaXRsZVNlY3Rpb247XG59XG5cbkxheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uRmFjdG9yeS5kZXBzID0gW1BhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeV07XG5cbmV4cG9ydCBmdW5jdGlvbiBMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbkZhY3RvcnkoXG4gIFBhbmVsSGVhZGVyQWN0aW9uOiBSZXR1cm5UeXBlPHR5cGVvZiBQYW5lbEhlYWRlckFjdGlvbkZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb246IFJlYWN0LkZDPExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uUHJvcHM+ID0gKFxuICAgIHByb3BzOiBMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvblByb3BzXG4gICkgPT4ge1xuICAgIGNvbnN0IHtcbiAgICAgIGlzQ29uZmlnQWN0aXZlLFxuICAgICAgYWxsb3dEdXBsaWNhdGUsXG4gICAgICBpc1Zpc2libGUsXG4gICAgICBpc1ZhbGlkLFxuICAgICAgbGF5ZXJJZCxcbiAgICAgIG9uVG9nZ2xlVmlzaWJpbGl0eSxcbiAgICAgIG9uUmVzZXRJc1ZhbGlkLFxuICAgICAgb25Ub2dnbGVFbmFibGVDb25maWcsXG4gICAgICBvbkR1cGxpY2F0ZUxheWVyLFxuICAgICAgb25SZW1vdmVMYXllcixcbiAgICAgIG9uWm9vbVRvTGF5ZXIsXG4gICAgICBzaG93UmVtb3ZlTGF5ZXIgPSB0cnVlLFxuICAgICAgaXNFZGl0aW5nTGFiZWwsXG4gICAgICAvLyBUT0RPOiBtYXkgbm90IGNvbnRhaW4gYWxsIG5lY2Vzc2FyeSBpY29ucyBmb3IgYWxsIGFjdGlvbnMsIGUuZy4gYWN0aW9uSWNvbnMuZHVwbGljYXRlLiBOZWVkIHRvIHRvIG1lcmdlIHJhdGhlciB0aGFuIHJlcGxhY2VcbiAgICAgIGFjdGlvbkljb25zID0gZGVmYXVsdEFjdGlvbkljb25zXG4gICAgfSA9IHByb3BzO1xuICAgIHJldHVybiAoXG4gICAgICA8SGVhZGVyQWN0aW9uU2VjdGlvbiBjbGFzc05hbWU9XCJsYXllci1wYW5lbF9faGVhZGVyX19hY3Rpb25zXCIgaXNFZGl0aW5nTGFiZWw9e2lzRWRpdGluZ0xhYmVsfT5cbiAgICAgICAgPFN0eWxlZFBhbmVsSGVhZGVySGlkZGVuQWN0aW9ucyBpc0NvbmZpZ0FjdGl2ZT17aXNDb25maWdBY3RpdmV9PlxuICAgICAgICAgIHtzaG93UmVtb3ZlTGF5ZXIgPyAoXG4gICAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXJfX3JlbW92ZS1sYXllclwiXG4gICAgICAgICAgICAgIHRlc3RJZD1cInJlbW92ZS1sYXllci1hY3Rpb25cIlxuICAgICAgICAgICAgICBpZD17bGF5ZXJJZH1cbiAgICAgICAgICAgICAgdG9vbHRpcD17J3Rvb2x0aXAucmVtb3ZlTGF5ZXInfVxuICAgICAgICAgICAgICBvbkNsaWNrPXtvblJlbW92ZUxheWVyfVxuICAgICAgICAgICAgICB0b29sdGlwVHlwZT1cImVycm9yXCJcbiAgICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17YWN0aW9uSWNvbnMucmVtb3ZlfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImxheWVyX19kdXBsaWNhdGVcIlxuICAgICAgICAgICAgaWQ9e2xheWVySWR9XG4gICAgICAgICAgICB0b29sdGlwPXsndG9vbHRpcC5kdXBsaWNhdGVMYXllcid9XG4gICAgICAgICAgICBvbkNsaWNrPXtvbkR1cGxpY2F0ZUxheWVyfVxuICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17YWN0aW9uSWNvbnMuZHVwbGljYXRlfVxuICAgICAgICAgICAgZGlzYWJsZWQ9eyFhbGxvd0R1cGxpY2F0ZX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXJfX3pvb20tdG8tbGF5ZXJcIlxuICAgICAgICAgICAgaWQ9e2xheWVySWR9XG4gICAgICAgICAgICB0b29sdGlwPXsndG9vbHRpcC56b29tVG9MYXllcid9XG4gICAgICAgICAgICBvbkNsaWNrPXtvblpvb21Ub0xheWVyfVxuICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17YWN0aW9uSWNvbnMuY3Jvc3NoYWlyc31cbiAgICAgICAgICAvPlxuICAgICAgICA8L1N0eWxlZFBhbmVsSGVhZGVySGlkZGVuQWN0aW9ucz5cbiAgICAgICAge2lzVmFsaWQgPyAoXG4gICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJsYXllcl9fdmlzaWJpbGl0eS10b2dnbGVcIlxuICAgICAgICAgICAgaWQ9e2xheWVySWR9XG4gICAgICAgICAgICB0b29sdGlwPXtpc1Zpc2libGUgPyAndG9vbHRpcC5oaWRlTGF5ZXInIDogJ3Rvb2x0aXAuc2hvd0xheWVyJ31cbiAgICAgICAgICAgIG9uQ2xpY2s9e29uVG9nZ2xlVmlzaWJpbGl0eX1cbiAgICAgICAgICAgIEljb25Db21wb25lbnQ9e2lzVmlzaWJsZSA/IGFjdGlvbkljb25zLnZpc2libGUgOiBhY3Rpb25JY29ucy5oaWRkZW59XG4gICAgICAgICAgLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImxheWVyX19pcy12YWxpZC1yZWZyZXNoXCJcbiAgICAgICAgICAgIGlkPXtsYXllcklkfVxuICAgICAgICAgICAgdG9vbHRpcD17J3Rvb2x0aXAucmVzZXRBZnRlckVycm9yJ31cbiAgICAgICAgICAgIG9uQ2xpY2s9e29uUmVzZXRJc1ZhbGlkfVxuICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17YWN0aW9uSWNvbnMucmVzZXRJc1ZhbGlkfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG5cbiAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdsYXllcl9fZW5hYmxlLWNvbmZpZyAnLCB7XG4gICAgICAgICAgICAnaXMtb3Blbic6IGlzQ29uZmlnQWN0aXZlXG4gICAgICAgICAgfSl9XG4gICAgICAgICAgaWQ9e2xheWVySWR9XG4gICAgICAgICAgdG9vbHRpcD17J3Rvb2x0aXAubGF5ZXJTZXR0aW5ncyd9XG4gICAgICAgICAgb25DbGljaz17b25Ub2dnbGVFbmFibGVDb25maWd9XG4gICAgICAgICAgSWNvbkNvbXBvbmVudD17YWN0aW9uSWNvbnMuZW5hYmxlQ29uZmlnfVxuICAgICAgICAvPlxuICAgICAgPC9IZWFkZXJBY3Rpb25TZWN0aW9uPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uO1xufVxuXG5jb25zdCBTdHlsZWRIZWFkZXJXYXJpbmcgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAtOXB4O1xuICB0b3A6IGNhbGMoNTAlIC0gOXB4KTtcbiAgY29sb3I6ICR7KHt0aGVtZX0pID0+IHRoZW1lLm5vdGlmaWNhdGlvbkNvbG9ycy53YXJuaW5nfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBIZWFkZXJXYXJuaW5nID0gKHt3YXJuaW5nLCBpZH0pID0+IChcbiAgPFN0eWxlZEhlYWRlcldhcmluZz5cbiAgICA8V2FybmluZ1NpZ24gZGF0YS10aXAgZGF0YS1mb3I9e2BsYXllci0ke2lkfS13YXJuaW5nYH0gaGVpZ2h0PVwiMTZweFwiIC8+XG4gICAgPFRvb2x0aXAgaWQ9e2BsYXllci0ke2lkfS13YXJuaW5nYH0gdHlwZT1cIndhcm5pbmdcIiBlZmZlY3Q9XCJzb2xpZFwiIHRleHRDb2xvcj1cImJsYWNrXCI+XG4gICAgICB7d2FybmluZ31cbiAgICA8L1Rvb2x0aXA+XG4gIDwvU3R5bGVkSGVhZGVyV2FyaW5nPlxuKTtcblxuY29uc3QgZGVmYXVsdEFjdGlvbkljb25zID0ge1xuICByZW1vdmU6IHByb3BzID0+IDxUcmFzaCB7Li4ucHJvcHN9IGhlaWdodD1cIjE2cHhcIiAvPixcbiAgdmlzaWJsZTogcHJvcHMgPT4gPEV5ZVNlZW4gey4uLnByb3BzfSBoZWlnaHQ9XCIxNnB4XCIgLz4sXG4gIGhpZGRlbjogcHJvcHMgPT4gPEV5ZVVuc2VlbiB7Li4ucHJvcHN9IGhlaWdodD1cIjE2cHhcIiAvPixcbiAgZW5hYmxlQ29uZmlnOiBwcm9wcyA9PiA8QXJyb3dEb3duIHsuLi5wcm9wc30gaGVpZ2h0PVwiMThweFwiIC8+LFxuICBkdXBsaWNhdGU6IHByb3BzID0+IDxDb3B5IHsuLi5wcm9wc30gaGVpZ2h0PVwiMTRweFwiIC8+LFxuICByZXNldElzVmFsaWQ6IFJlc2V0LFxuICBjcm9zc2hhaXJzOiBwcm9wcyA9PiA8Wm9vbUluIHsuLi5wcm9wc30gaGVpZ2h0PVwiMTRweFwiIC8+XG59O1xuXG5MYXllclBhbmVsSGVhZGVyRmFjdG9yeS5kZXBzID0gW0xheWVyVGl0bGVTZWN0aW9uRmFjdG9yeSwgTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25GYWN0b3J5XTtcblxuZnVuY3Rpb24gTGF5ZXJQYW5lbEhlYWRlckZhY3RvcnkoXG4gIExheWVyVGl0bGVTZWN0aW9uOiBSZXR1cm5UeXBlPHR5cGVvZiBMYXllclRpdGxlU2VjdGlvbkZhY3Rvcnk+LFxuICBMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbjogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25GYWN0b3J5PlxuKSB7XG4gIGNvbnN0IExheWVyUGFuZWxIZWFkZXI6IFJlYWN0LkZDPExheWVyUGFuZWxIZWFkZXJQcm9wcz4gPSBwcm9wcyA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgaXNDb25maWdBY3RpdmUsXG4gICAgICBpc0RyYWdORHJvcEVuYWJsZWQgPSB0cnVlLFxuICAgICAgaXNWYWxpZCxcbiAgICAgIHdhcm5pbmcsXG4gICAgICBsYWJlbCxcbiAgICAgIGxheWVySWQsXG4gICAgICBsYXllclR5cGUsXG4gICAgICBsYWJlbFJDR0NvbG9yVmFsdWVzLFxuICAgICAgb25VcGRhdGVMYXllckxhYmVsLFxuICAgICAgb25Ub2dnbGVFbmFibGVDb25maWcsXG4gICAgICBsaXN0ZW5lcnNcbiAgICB9ID0gcHJvcHM7XG4gICAgY29uc3QgW2lzRWRpdGluZ0xhYmVsLCBzZXRJc0VkaXRpbmdMYWJlbF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRMYXllclBhbmVsSGVhZGVyXG4gICAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnbGF5ZXItcGFuZWxfX2hlYWRlcicsIHtcbiAgICAgICAgICAnc29ydC0taGFuZGxlJzogIWlzQ29uZmlnQWN0aXZlXG4gICAgICAgIH0pfVxuICAgICAgICBpc1ZhbGlkPXtpc1ZhbGlkfVxuICAgICAgICB3YXJuaW5nPXt3YXJuaW5nfVxuICAgICAgICBhY3RpdmU9e2lzQ29uZmlnQWN0aXZlfVxuICAgICAgICBsYWJlbFJDR0NvbG9yVmFsdWVzPXtsYWJlbFJDR0NvbG9yVmFsdWVzfVxuICAgICAgICBvbkNsaWNrPXtvblRvZ2dsZUVuYWJsZUNvbmZpZ31cbiAgICAgID5cbiAgICAgICAge3dhcm5pbmcgPyA8SGVhZGVyV2FybmluZyB3YXJuaW5nPXt3YXJuaW5nfSBpZD17bGF5ZXJJZH0gLz4gOiBudWxsfVxuICAgICAgICA8SGVhZGVyTGFiZWxTZWN0aW9uIGNsYXNzTmFtZT1cImxheWVyLXBhbmVsX19oZWFkZXJfX2NvbnRlbnRcIj5cbiAgICAgICAgICB7aXNEcmFnTkRyb3BFbmFibGVkID8gKFxuICAgICAgICAgICAgPERyYWdIYW5kbGUgY2xhc3NOYW1lPVwibGF5ZXJfX2RyYWctaGFuZGxlXCIgbGlzdGVuZXJzPXtsaXN0ZW5lcnN9PlxuICAgICAgICAgICAgICA8VmVydERvdHMgaGVpZ2h0PVwiMjBweFwiIC8+XG4gICAgICAgICAgICA8L0RyYWdIYW5kbGU+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGF5ZXJfX2RyYWctaGFuZGxlX19wbGFjZWhvbGRlclwiIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICA8TGF5ZXJUaXRsZVNlY3Rpb25cbiAgICAgICAgICAgIGxheWVySWQ9e2xheWVySWR9XG4gICAgICAgICAgICBsYWJlbD17bGFiZWx9XG4gICAgICAgICAgICBvblVwZGF0ZUxheWVyTGFiZWw9e29uVXBkYXRlTGF5ZXJMYWJlbH1cbiAgICAgICAgICAgIGxheWVyVHlwZT17bGF5ZXJUeXBlfVxuICAgICAgICAgICAgb25Gb2N1cz17KCkgPT4ge1xuICAgICAgICAgICAgICBzZXRJc0VkaXRpbmdMYWJlbCh0cnVlKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBvbkJsdXI9eygpID0+IHtcbiAgICAgICAgICAgICAgc2V0SXNFZGl0aW5nTGFiZWwoZmFsc2UpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0hlYWRlckxhYmVsU2VjdGlvbj5cbiAgICAgICAgPExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uIHsuLi5wcm9wc30gaXNFZGl0aW5nTGFiZWw9e2lzRWRpdGluZ0xhYmVsfSAvPlxuICAgICAgPC9TdHlsZWRMYXllclBhbmVsSGVhZGVyPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIExheWVyUGFu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
312
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9wYW5lbEhlYWRlckFjdGlvbiIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl9pY29ucyIsIl9sb2NhbGl6YXRpb24iLCJfY29uc3RhbnRzIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl90ZW1wbGF0ZU9iamVjdDYiLCJfdGVtcGxhdGVPYmplY3Q3IiwiX3RlbXBsYXRlT2JqZWN0OCIsIl90ZW1wbGF0ZU9iamVjdDkiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJnZXRCb3JkZXJDc3MiLCJzdGF0dXMiLCJjc3MiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIl9yZWYiLCJ0aGVtZSIsIm5vdGlmaWNhdGlvbkNvbG9ycyIsIl9yZWYyIiwiX3JlZjMiLCJTdHlsZWRMYXllclBhbmVsSGVhZGVyIiwic3R5bGVkIiwiU3R5bGVkUGFuZWxIZWFkZXIiLCJwcm9wcyIsImxheWVyUGFuZWxIZWFkZXJIZWlnaHQiLCJ3YXJuaW5nIiwiaXNWYWxpZCIsInBhbmVsQmFja2dyb3VuZEhvdmVyIiwiSGVhZGVyTGFiZWxTZWN0aW9uIiwiZGl2IiwidGV4dENvbG9yIiwiSGVhZGVyQWN0aW9uU2VjdGlvbiIsIndpdGhDb25maWciLCJzaG91bGRGb3J3YXJkUHJvcCIsImlzRWRpdGluZ0xhYmVsIiwiU3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zIiwiYXR0cnMiLCJjbGFzc05hbWUiLCJpc0NvbmZpZ0FjdGl2ZSIsInBhbmVsQmFja2dyb3VuZCIsIlN0eWxlZERyYWdIYW5kbGUiLCJ0ZXh0Q29sb3JIbCIsIkRyYWdIYW5kbGUiLCJleHBvcnRzIiwiX3JlZjQiLCJsaXN0ZW5lcnMiLCJjaGlsZHJlbiIsImNyZWF0ZUVsZW1lbnQiLCJfZXh0ZW5kczIiLCJub09wIiwiZXZlbnQiLCJzdG9wUHJvcGFnYXRpb24iLCJwcmV2ZW50RGVmYXVsdCIsIkxheWVyTGFiZWxFZGl0b3IiLCJfcmVmNSIsImxheWVySWQiLCJsYWJlbCIsIm9uRWRpdCIsIm9uRm9jdXMiLCJvbkJsdXIiLCJJbmxpbmVJbnB1dCIsInR5cGUiLCJkYXRhVGVzdElkcyIsImxheWVyVGl0bGVFZGl0b3IiLCJ2YWx1ZSIsIm9uQ2xpY2siLCJvbkNoYW5nZSIsImlkIiwiY29uY2F0IiwiTGF5ZXJUaXRsZVNlY3Rpb25GYWN0b3J5IiwiU3R5bGVkTGF5ZXJUaXRsZVNlY3Rpb24iLCJzdWJ0ZXh0Q29sb3IiLCJMYXllclRpdGxlU2VjdGlvbiIsIl9yZWY2IiwibGF5ZXJUeXBlIiwib25VcGRhdGVMYXllckxhYmVsIiwiRm9ybWF0dGVkTWVzc2FnZSIsInRvTG93ZXJDYXNlIiwiTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25GYWN0b3J5IiwiZGVwcyIsIlBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeSIsIlBhbmVsSGVhZGVyQWN0aW9uIiwiTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb24iLCJhbGxvd0R1cGxpY2F0ZSIsImlzVmlzaWJsZSIsIm9uVG9nZ2xlVmlzaWJpbGl0eSIsIm9uUmVzZXRJc1ZhbGlkIiwib25Ub2dnbGVFbmFibGVDb25maWciLCJvbkR1cGxpY2F0ZUxheWVyIiwib25SZW1vdmVMYXllciIsIm9uWm9vbVRvTGF5ZXIiLCJfcHJvcHMkc2hvd1JlbW92ZUxheWUiLCJzaG93UmVtb3ZlTGF5ZXIiLCJjdXN0b21BY3Rpb25JY29ucyIsImFjdGlvbkljb25zIiwiZGVmYXVsdEFjdGlvbkljb25zIiwidGVzdElkIiwidG9vbHRpcCIsInRvb2x0aXBUeXBlIiwiSWNvbkNvbXBvbmVudCIsInJlbW92ZSIsImR1cGxpY2F0ZSIsImRpc2FibGVkIiwiY3Jvc3NoYWlycyIsInZpc2libGUiLCJoaWRkZW4iLCJyZXNldElzVmFsaWQiLCJjbGFzc25hbWVzIiwiZGlzYWJsZUNvbmZpZyIsImVuYWJsZUNvbmZpZyIsIlN0eWxlZEhlYWRlcldhcmluZyIsIl9yZWY3IiwiSGVhZGVyV2FybmluZyIsIl9yZWY4IiwiV2FybmluZ1NpZ24iLCJoZWlnaHQiLCJUb29sdGlwIiwiZWZmZWN0IiwiUm90YXRlZEljb24iLCJUcmFzaCIsIkV5ZVNlZW4iLCJFeWVVbnNlZW4iLCJBcnJvd0Rvd24iLCJDb3B5IiwiUmVzZXQiLCJab29tSW4iLCJMYXllclBhbmVsSGVhZGVyRmFjdG9yeSIsIkxheWVyUGFuZWxIZWFkZXIiLCJfcHJvcHMkaXNEcmFnTkRyb3BFbmEiLCJpc0RyYWdORHJvcEVuYWJsZWQiLCJsYWJlbFJDR0NvbG9yVmFsdWVzIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwic2V0SXNFZGl0aW5nTGFiZWwiLCJhY3RpdmUiLCJWZXJ0RG90cyIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NpZGUtcGFuZWwvbGF5ZXItcGFuZWwvbGF5ZXItcGFuZWwtaGVhZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHtcbiAgdXNlU3RhdGUsXG4gIENvbXBvbmVudFR5cGUsXG4gIE1vdXNlRXZlbnRIYW5kbGVyLFxuICBNb3VzZUV2ZW50LFxuICBDaGFuZ2VFdmVudEhhbmRsZXJcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgc3R5bGVkLCB7Y3NzfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5IGZyb20gJy4uL3BhbmVsLWhlYWRlci1hY3Rpb24nO1xuaW1wb3J0IHtUb29sdGlwLCBzaG91bGRGb3J3YXJkUHJvcH0gZnJvbSAnLi4vLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7XG4gIENvcHksXG4gIEFycm93RG93bixcbiAgRXllU2VlbixcbiAgRXllVW5zZWVuLFxuICBUcmFzaCxcbiAgVmVydERvdHMsXG4gIFdhcm5pbmdTaWduLFxuICBSZXNldCxcbiAgWm9vbUluXG59IGZyb20gJy4uLy4uL2NvbW1vbi9pY29ucyc7XG5cbmltcG9ydCB7SW5saW5lSW5wdXQsIFN0eWxlZFBhbmVsSGVhZGVyfSBmcm9tICcuLi8uLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtGb3JtYXR0ZWRNZXNzYWdlfSBmcm9tICdAa2VwbGVyLmdsL2xvY2FsaXphdGlvbic7XG5pbXBvcnQge2RhdGFUZXN0SWRzfSBmcm9tICdAa2VwbGVyLmdsL2NvbnN0YW50cyc7XG5pbXBvcnQge1JHQkNvbG9yfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7QmFzZVByb3BzfSBmcm9tICcuLi8uLi9jb21tb24vaWNvbnMnO1xuXG5leHBvcnQgdHlwZSBMYXllckxhYmVsRWRpdG9yUHJvcHMgPSB7XG4gIGxheWVySWQ6IHN0cmluZztcbiAgbGFiZWw/OiBzdHJpbmc7XG4gIG9uRWRpdDogQ2hhbmdlRXZlbnRIYW5kbGVyO1xuICBvbkZvY3VzOiBDaGFuZ2VFdmVudEhhbmRsZXI7XG4gIG9uQmx1cjogQ2hhbmdlRXZlbnRIYW5kbGVyO1xufTtcblxuZXhwb3J0IHR5cGUgTGF5ZXJUaXRsZVNlY3Rpb25Qcm9wcyA9IHtcbiAgbGF5ZXJUeXBlPzogc3RyaW5nIHwgbnVsbDtcbiAgbGF5ZXJJZDogc3RyaW5nO1xuICBsYWJlbD86IHN0cmluZztcbiAgb25VcGRhdGVMYXllckxhYmVsOiBDaGFuZ2VFdmVudEhhbmRsZXI7XG4gIG9uRm9jdXM6IENoYW5nZUV2ZW50SGFuZGxlcjtcbiAgb25CbHVyOiBDaGFuZ2VFdmVudEhhbmRsZXI7XG59O1xuXG5leHBvcnQgdHlwZSBMYXllclBhbmVsSGVhZGVyUHJvcHMgPSB7XG4gIGxheWVySWQ6IHN0cmluZztcbiAgaXNWaXNpYmxlOiBib29sZWFuO1xuICBpc1ZhbGlkOiBib29sZWFuO1xuICBvblRvZ2dsZVZpc2liaWxpdHk6IE1vdXNlRXZlbnRIYW5kbGVyO1xuICBvblVwZGF0ZUxheWVyTGFiZWw6IENoYW5nZUV2ZW50SGFuZGxlcjtcbiAgb25Ub2dnbGVFbmFibGVDb25maWc6IE1vdXNlRXZlbnRIYW5kbGVyO1xuICBvblJlbW92ZUxheWVyOiBNb3VzZUV2ZW50SGFuZGxlcjtcbiAgb25ab29tVG9MYXllcjogTW91c2VFdmVudEhhbmRsZXI7XG4gIG9uRHVwbGljYXRlTGF5ZXI6IE1vdXNlRXZlbnRIYW5kbGVyO1xuICBvblJlc2V0SXNWYWxpZDogTW91c2VFdmVudEhhbmRsZXI7XG4gIGlzQ29uZmlnQWN0aXZlOiBib29sZWFuO1xuICBzaG93UmVtb3ZlTGF5ZXI/OiBib29sZWFuO1xuICBsYWJlbD86IHN0cmluZztcbiAgbGF5ZXJUeXBlPzogc3RyaW5nIHwgbnVsbDtcbiAgYWxsb3dEdXBsaWNhdGU/OiBib29sZWFuO1xuICBpc0RyYWdORHJvcEVuYWJsZWQ/OiBib29sZWFuO1xuICB3YXJuaW5nPzogYm9vbGVhbjtcbiAgbGFiZWxSQ0dDb2xvclZhbHVlcz86IFJHQkNvbG9yIHwgbnVsbDtcbiAgYWN0aW9uSWNvbnM/OiB7XG4gICAgcmVtb3ZlOiBDb21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gICAgdmlzaWJsZTogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIGhpZGRlbjogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIGVuYWJsZUNvbmZpZzogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICAgIGRpc2FibGVDb25maWc/OiBDb21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gICAgcmVzZXRJc1ZhbGlkOiBDb21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gICAgZHVwbGljYXRlOiBDb21wb25lbnRUeXBlPFBhcnRpYWw8QmFzZVByb3BzPj47XG4gICAgY3Jvc3NoYWlyczogQ29tcG9uZW50VHlwZTxQYXJ0aWFsPEJhc2VQcm9wcz4+O1xuICB9O1xuICBsaXN0ZW5lcnM/OiBSZWFjdC5FbGVtZW50VHlwZTtcbn07XG5cbnR5cGUgSGVhZGVyQWN0aW9uU2VjdGlvblByb3BzID0ge1xuICBpc0VkaXRpbmdMYWJlbDogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uUHJvcHMgPSBMYXllclBhbmVsSGVhZGVyUHJvcHMgJiBIZWFkZXJBY3Rpb25TZWN0aW9uUHJvcHM7XG5cbmNvbnN0IGdldEJvcmRlckNzcyA9IHN0YXR1cyA9PiBjc3NgXG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAkeyh7dGhlbWV9KSA9PiB0aGVtZS5ub3RpZmljYXRpb25Db2xvcnNbc3RhdHVzXX07XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkeyh7dGhlbWV9KSA9PiB0aGVtZS5ub3RpZmljYXRpb25Db2xvcnNbc3RhdHVzXX07XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICR7KHt0aGVtZX0pID0+IHRoZW1lLm5vdGlmaWNhdGlvbkNvbG9yc1tzdGF0dXNdfTtcbmA7XG5cbmNvbnN0IFN0eWxlZExheWVyUGFuZWxIZWFkZXIgPSBzdHlsZWQoU3R5bGVkUGFuZWxIZWFkZXIpYFxuICBoZWlnaHQ6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubGF5ZXJQYW5lbEhlYWRlckhlaWdodH1weDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAubGF5ZXJfX3JlbW92ZS1sYXllciB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIC5sYXllcl9fZHJhZy1oYW5kbGVfX3BsYWNlaG9sZGVyIHtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgfVxuXG4gICR7cHJvcHMgPT4gKHByb3BzLndhcm5pbmcgPyBnZXRCb3JkZXJDc3MoJ3dhcm5pbmcnKSA6IHByb3BzLmlzVmFsaWQgPyAnJyA6IGdldEJvcmRlckNzcygnZXJyb3InKSl9XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuXG4gICAgLmxheWVyX19kcmFnLWhhbmRsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC5sYXllcl9fcmVtb3ZlLWxheWVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBIZWFkZXJMYWJlbFNlY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3J9O1xuICBmbGV4LWdyb3c6IDE7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAvLyBsZWF2ZSBzcGFjZSBmb3IgZXllIGFuZCBjb2xsYXBzZSBpY29uXG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG5gO1xuXG5jb25zdCBIZWFkZXJBY3Rpb25TZWN0aW9uID0gc3R5bGVkLmRpdi53aXRoQ29uZmlnKHtzaG91bGRGb3J3YXJkUHJvcH0pPEhlYWRlckFjdGlvblNlY3Rpb25Qcm9wcz5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgcmlnaHQ6IDEwcHg7XG4gIHBvaW50ZXItZXZlbnRzOiAke3Byb3BzID0+IChwcm9wcy5pc0VkaXRpbmdMYWJlbCA/ICdub25lJyA6ICdhbGwnKX07XG4gICY6aG92ZXIge1xuICAgIC5sYXllci1wYW5lbF9faGVhZGVyX19hY3Rpb25zX19oaWRkZW4ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kSG92ZXJ9O1xuICAgIH1cbiAgfVxuYDtcblxudHlwZSBTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnNQcm9wcyA9IHtcbiAgaXNDb25maWdBY3RpdmU6IExheWVyUGFuZWxIZWFkZXJQcm9wc1snaXNDb25maWdBY3RpdmUnXTtcbn07XG5cbi8vIEhpZGVuIGFjdGlvbnMgb25seSBzaG93IHVwIG9uIGhvdmVyXG5jb25zdCBTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnMgPSBzdHlsZWQuZGl2LndpdGhDb25maWcoe3Nob3VsZEZvcndhcmRQcm9wfSkuYXR0cnMoe1xuICBjbGFzc05hbWU6ICdsYXllci1wYW5lbF9faGVhZGVyX19hY3Rpb25zX19oaWRkZW4nXG59KTxTdHlsZWRQYW5lbEhlYWRlckhpZGRlbkFjdGlvbnNQcm9wcz5gXG4gIG9wYWNpdHk6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT5cbiAgICBwcm9wcy5pc0NvbmZpZ0FjdGl2ZSA/IHByb3BzLnRoZW1lLnBhbmVsQmFja2dyb3VuZEhvdmVyIDogcHJvcHMudGhlbWUucGFuZWxCYWNrZ3JvdW5kfTtcbiAgdHJhbnNpdGlvbjpcbiAgICBvcGFjaXR5IDAuNHMgZWFzZSxcbiAgICBiYWNrZ3JvdW5kLWNvbG9yIDAuNHMgZWFzZTtcblxuICAmOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWREcmFnSGFuZGxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogMTAwMDtcblxuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gICAgb3BhY2l0eTogMTtcbiAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JIbH07XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBEcmFnSGFuZGxlOiBSZWFjdC5GQzx7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgbGlzdGVuZXJzPzogYW55O1xuICBjaGlsZHJlbj86IFJlYWN0LlJlYWN0Tm9kZTtcbn0+ID0gKHtjbGFzc05hbWUsIGxpc3RlbmVycywgY2hpbGRyZW59KSA9PiAoXG4gIDxTdHlsZWREcmFnSGFuZGxlIGNsYXNzTmFtZT17Y2xhc3NOYW1lfSB7Li4uKGxpc3RlbmVycyA/IGxpc3RlbmVycyA6IHt9KX0+XG4gICAge2NoaWxkcmVufVxuICA8L1N0eWxlZERyYWdIYW5kbGU+XG4pO1xuXG5jb25zdCBub09wID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xufTtcblxuZXhwb3J0IGNvbnN0IExheWVyTGFiZWxFZGl0b3I6IFJlYWN0LkZDPExheWVyTGFiZWxFZGl0b3JQcm9wcz4gPSAoe1xuICBsYXllcklkLFxuICBsYWJlbCxcbiAgb25FZGl0LFxuICBvbkZvY3VzLFxuICBvbkJsdXJcbn0pID0+IChcbiAgPElubGluZUlucHV0XG4gICAgdHlwZT1cInRleHRcIlxuICAgIGNsYXNzTmFtZT1cImxheWVyX190aXRsZV9fZWRpdG9yXCJcbiAgICBkYXRhLXRlc3RpZD17ZGF0YVRlc3RJZHMubGF5ZXJUaXRsZUVkaXRvcn1cbiAgICB2YWx1ZT17bGFiZWx9XG4gICAgb25DbGljaz17bm9PcH1cbiAgICBvbkNoYW5nZT17b25FZGl0fVxuICAgIG9uRm9jdXM9e29uRm9jdXN9XG4gICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgaWQ9e2Ake2xheWVySWR9OmlucHV0LWxheWVyLWxhYmVsYH1cbiAgLz5cbik7XG5cbmV4cG9ydCBmdW5jdGlvbiBMYXllclRpdGxlU2VjdGlvbkZhY3RvcnkoKSB7XG4gIGNvbnN0IFN0eWxlZExheWVyVGl0bGVTZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLmxheWVyX190aXRsZV9faW5uZXIge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cblxuICAgIC5sYXllcl9fdGl0bGVfX3R5cGUge1xuICAgICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc3VidGV4dENvbG9yfTtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMzdweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cbiAgYDtcbiAgY29uc3QgTGF5ZXJUaXRsZVNlY3Rpb246IFJlYWN0LkZDPExheWVyVGl0bGVTZWN0aW9uUHJvcHM+ID0gKHtcbiAgICBsYXllclR5cGUsXG4gICAgbGF5ZXJJZCxcbiAgICBsYWJlbCxcbiAgICBvblVwZGF0ZUxheWVyTGFiZWwsXG4gICAgb25Gb2N1cyxcbiAgICBvbkJsdXJcbiAgfSkgPT4gKFxuICAgIDxTdHlsZWRMYXllclRpdGxlU2VjdGlvbiBjbGFzc05hbWU9XCJsYXllcl9fdGl0bGVcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxMYXllckxhYmVsRWRpdG9yXG4gICAgICAgICAgbGF5ZXJJZD17bGF5ZXJJZH1cbiAgICAgICAgICBsYWJlbD17bGFiZWx9XG4gICAgICAgICAgb25FZGl0PXtvblVwZGF0ZUxheWVyTGFiZWx9XG4gICAgICAgICAgb25Gb2N1cz17b25Gb2N1c31cbiAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYXllcl9fdGl0bGVfX3R5cGVcIj5cbiAgICAgICAgICB7bGF5ZXJUeXBlICYmIDxGb3JtYXR0ZWRNZXNzYWdlIGlkPXtgbGF5ZXIudHlwZS4ke2xheWVyVHlwZS50b0xvd2VyQ2FzZSgpfWB9IC8+fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvU3R5bGVkTGF5ZXJUaXRsZVNlY3Rpb24+XG4gICk7XG4gIHJldHVybiBMYXllclRpdGxlU2VjdGlvbjtcbn1cblxuTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25GYWN0b3J5LmRlcHMgPSBbUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5XTtcblxuZXhwb3J0IGZ1bmN0aW9uIExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uRmFjdG9yeShcbiAgUGFuZWxIZWFkZXJBY3Rpb246IFJldHVyblR5cGU8dHlwZW9mIFBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeT5cbikge1xuICBjb25zdCBMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbjogUmVhY3QuRkM8TGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb25Qcm9wcz4gPSAoXG4gICAgcHJvcHM6IExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uUHJvcHNcbiAgKSA9PiB7XG4gICAgY29uc3Qge1xuICAgICAgaXNDb25maWdBY3RpdmUsXG4gICAgICBhbGxvd0R1cGxpY2F0ZSxcbiAgICAgIGlzVmlzaWJsZSxcbiAgICAgIGlzVmFsaWQsXG4gICAgICBsYXllcklkLFxuICAgICAgb25Ub2dnbGVWaXNpYmlsaXR5LFxuICAgICAgb25SZXNldElzVmFsaWQsXG4gICAgICBvblRvZ2dsZUVuYWJsZUNvbmZpZyxcbiAgICAgIG9uRHVwbGljYXRlTGF5ZXIsXG4gICAgICBvblJlbW92ZUxheWVyLFxuICAgICAgb25ab29tVG9MYXllcixcbiAgICAgIHNob3dSZW1vdmVMYXllciA9IHRydWUsXG4gICAgICBpc0VkaXRpbmdMYWJlbCxcbiAgICAgIGFjdGlvbkljb25zOiBjdXN0b21BY3Rpb25JY29uc1xuICAgIH0gPSBwcm9wcztcbiAgICAvLyBNZXJnZSBjdXN0b20gYWN0aW9uSWNvbnMgd2l0aCBkZWZhdWx0cyB0byBhdm9pZCBicmVha2luZyBjaGFuZ2VzXG4gICAgY29uc3QgYWN0aW9uSWNvbnMgPSB7Li4uZGVmYXVsdEFjdGlvbkljb25zLCAuLi5jdXN0b21BY3Rpb25JY29uc307XG4gICAgcmV0dXJuIChcbiAgICAgIDxIZWFkZXJBY3Rpb25TZWN0aW9uIGNsYXNzTmFtZT1cImxheWVyLXBhbmVsX19oZWFkZXJfX2FjdGlvbnNcIiBpc0VkaXRpbmdMYWJlbD17aXNFZGl0aW5nTGFiZWx9PlxuICAgICAgICA8U3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zIGlzQ29uZmlnQWN0aXZlPXtpc0NvbmZpZ0FjdGl2ZX0+XG4gICAgICAgICAge3Nob3dSZW1vdmVMYXllciA/IChcbiAgICAgICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJsYXllcl9fcmVtb3ZlLWxheWVyXCJcbiAgICAgICAgICAgICAgdGVzdElkPVwicmVtb3ZlLWxheWVyLWFjdGlvblwiXG4gICAgICAgICAgICAgIGlkPXtsYXllcklkfVxuICAgICAgICAgICAgICB0b29sdGlwPXsndG9vbHRpcC5yZW1vdmVMYXllcid9XG4gICAgICAgICAgICAgIG9uQ2xpY2s9e29uUmVtb3ZlTGF5ZXJ9XG4gICAgICAgICAgICAgIHRvb2x0aXBUeXBlPVwiZXJyb3JcIlxuICAgICAgICAgICAgICBJY29uQ29tcG9uZW50PXthY3Rpb25JY29ucy5yZW1vdmV9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXJfX2R1cGxpY2F0ZVwiXG4gICAgICAgICAgICBpZD17bGF5ZXJJZH1cbiAgICAgICAgICAgIHRvb2x0aXA9eyd0b29sdGlwLmR1cGxpY2F0ZUxheWVyJ31cbiAgICAgICAgICAgIG9uQ2xpY2s9e29uRHVwbGljYXRlTGF5ZXJ9XG4gICAgICAgICAgICBJY29uQ29tcG9uZW50PXthY3Rpb25JY29ucy5kdXBsaWNhdGV9XG4gICAgICAgICAgICBkaXNhYmxlZD17IWFsbG93RHVwbGljYXRlfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFBhbmVsSGVhZGVyQWN0aW9uXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJsYXllcl9fem9vbS10by1sYXllclwiXG4gICAgICAgICAgICBpZD17bGF5ZXJJZH1cbiAgICAgICAgICAgIHRvb2x0aXA9eyd0b29sdGlwLnpvb21Ub0xheWVyJ31cbiAgICAgICAgICAgIG9uQ2xpY2s9e29uWm9vbVRvTGF5ZXJ9XG4gICAgICAgICAgICBJY29uQ29tcG9uZW50PXthY3Rpb25JY29ucy5jcm9zc2hhaXJzfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvU3R5bGVkUGFuZWxIZWFkZXJIaWRkZW5BY3Rpb25zPlxuICAgICAgICB7aXNWYWxpZCA/IChcbiAgICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImxheWVyX192aXNpYmlsaXR5LXRvZ2dsZVwiXG4gICAgICAgICAgICBpZD17bGF5ZXJJZH1cbiAgICAgICAgICAgIHRvb2x0aXA9e2lzVmlzaWJsZSA/ICd0b29sdGlwLmhpZGVMYXllcicgOiAndG9vbHRpcC5zaG93TGF5ZXInfVxuICAgICAgICAgICAgb25DbGljaz17b25Ub2dnbGVWaXNpYmlsaXR5fVxuICAgICAgICAgICAgSWNvbkNvbXBvbmVudD17aXNWaXNpYmxlID8gYWN0aW9uSWNvbnMudmlzaWJsZSA6IGFjdGlvbkljb25zLmhpZGRlbn1cbiAgICAgICAgICAvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibGF5ZXJfX2lzLXZhbGlkLXJlZnJlc2hcIlxuICAgICAgICAgICAgaWQ9e2xheWVySWR9XG4gICAgICAgICAgICB0b29sdGlwPXsndG9vbHRpcC5yZXNldEFmdGVyRXJyb3InfVxuICAgICAgICAgICAgb25DbGljaz17b25SZXNldElzVmFsaWR9XG4gICAgICAgICAgICBJY29uQ29tcG9uZW50PXthY3Rpb25JY29ucy5yZXNldElzVmFsaWR9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cblxuICAgICAgICA8UGFuZWxIZWFkZXJBY3Rpb25cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ2xheWVyX19lbmFibGUtY29uZmlnICcsIHtcbiAgICAgICAgICAgICdpcy1vcGVuJzogaXNDb25maWdBY3RpdmVcbiAgICAgICAgICB9KX1cbiAgICAgICAgICBpZD17bGF5ZXJJZH1cbiAgICAgICAgICB0b29sdGlwPXsndG9vbHRpcC5sYXllclNldHRpbmdzJ31cbiAgICAgICAgICBvbkNsaWNrPXtvblRvZ2dsZUVuYWJsZUNvbmZpZ31cbiAgICAgICAgICBJY29uQ29tcG9uZW50PXtcbiAgICAgICAgICAgIGlzQ29uZmlnQWN0aXZlXG4gICAgICAgICAgICAgID8gYWN0aW9uSWNvbnMuZGlzYWJsZUNvbmZpZyB8fCBhY3Rpb25JY29ucy5lbmFibGVDb25maWdcbiAgICAgICAgICAgICAgOiBhY3Rpb25JY29ucy5lbmFibGVDb25maWdcbiAgICAgICAgICB9XG4gICAgICAgIC8+XG4gICAgICA8L0hlYWRlckFjdGlvblNlY3Rpb24+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gTGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb247XG59XG5cbmNvbnN0IFN0eWxlZEhlYWRlcldhcmluZyA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IC05cHg7XG4gIHRvcDogY2FsYyg1MCUgLSA5cHgpO1xuICBjb2xvcjogJHsoe3RoZW1lfSkgPT4gdGhlbWUubm90aWZpY2F0aW9uQ29sb3JzLndhcm5pbmd9O1xuYDtcblxuZXhwb3J0IGNvbnN0IEhlYWRlcldhcm5pbmcgPSAoe3dhcm5pbmcsIGlkfSkgPT4gKFxuICA8U3R5bGVkSGVhZGVyV2FyaW5nPlxuICAgIDxXYXJuaW5nU2lnbiBkYXRhLXRpcCBkYXRhLWZvcj17YGxheWVyLSR7aWR9LXdhcm5pbmdgfSBoZWlnaHQ9XCIxNnB4XCIgLz5cbiAgICA8VG9vbHRpcCBpZD17YGxheWVyLSR7aWR9LXdhcm5pbmdgfSB0eXBlPVwid2FybmluZ1wiIGVmZmVjdD1cInNvbGlkXCIgdGV4dENvbG9yPVwiYmxhY2tcIj5cbiAgICAgIHt3YXJuaW5nfVxuICAgIDwvVG9vbHRpcD5cbiAgPC9TdHlsZWRIZWFkZXJXYXJpbmc+XG4pO1xuXG5jb25zdCBSb3RhdGVkSWNvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuYDtcblxuY29uc3QgZGVmYXVsdEFjdGlvbkljb25zID0ge1xuICByZW1vdmU6IHByb3BzID0+IDxUcmFzaCB7Li4ucHJvcHN9IGhlaWdodD1cIjE2cHhcIiAvPixcbiAgdmlzaWJsZTogcHJvcHMgPT4gPEV5ZVNlZW4gey4uLnByb3BzfSBoZWlnaHQ9XCIxNnB4XCIgLz4sXG4gIGhpZGRlbjogcHJvcHMgPT4gPEV5ZVVuc2VlbiB7Li4ucHJvcHN9IGhlaWdodD1cIjE2cHhcIiAvPixcbiAgZW5hYmxlQ29uZmlnOiBwcm9wcyA9PiA8QXJyb3dEb3duIHsuLi5wcm9wc30gaGVpZ2h0PVwiMThweFwiIC8+LFxuICBkaXNhYmxlQ29uZmlnOiBwcm9wcyA9PiAoXG4gICAgPFJvdGF0ZWRJY29uPlxuICAgICAgPEFycm93RG93biB7Li4ucHJvcHN9IGhlaWdodD1cIjE4cHhcIiAvPlxuICAgIDwvUm90YXRlZEljb24+XG4gICksXG4gIGR1cGxpY2F0ZTogcHJvcHMgPT4gPENvcHkgey4uLnByb3BzfSBoZWlnaHQ9XCIxNHB4XCIgLz4sXG4gIHJlc2V0SXNWYWxpZDogUmVzZXQsXG4gIGNyb3NzaGFpcnM6IHByb3BzID0+IDxab29tSW4gey4uLnByb3BzfSBoZWlnaHQ9XCIxNHB4XCIgLz5cbn07XG5cbkxheWVyUGFuZWxIZWFkZXJGYWN0b3J5LmRlcHMgPSBbTGF5ZXJUaXRsZVNlY3Rpb25GYWN0b3J5LCBMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbkZhY3RvcnldO1xuXG5mdW5jdGlvbiBMYXllclBhbmVsSGVhZGVyRmFjdG9yeShcbiAgTGF5ZXJUaXRsZVNlY3Rpb246IFJldHVyblR5cGU8dHlwZW9mIExheWVyVGl0bGVTZWN0aW9uRmFjdG9yeT4sXG4gIExheWVyUGFuZWxIZWFkZXJBY3Rpb25TZWN0aW9uOiBSZXR1cm5UeXBlPHR5cGVvZiBMYXllclBhbmVsSGVhZGVyQWN0aW9uU2VjdGlvbkZhY3Rvcnk+XG4pIHtcbiAgY29uc3QgTGF5ZXJQYW5lbEhlYWRlcjogUmVhY3QuRkM8TGF5ZXJQYW5lbEhlYWRlclByb3BzPiA9IHByb3BzID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBpc0NvbmZpZ0FjdGl2ZSxcbiAgICAgIGlzRHJhZ05Ecm9wRW5hYmxlZCA9IHRydWUsXG4gICAgICBpc1ZhbGlkLFxuICAgICAgd2FybmluZyxcbiAgICAgIGxhYmVsLFxuICAgICAgbGF5ZXJJZCxcbiAgICAgIGxheWVyVHlwZSxcbiAgICAgIGxhYmVsUkNHQ29sb3JWYWx1ZXMsXG4gICAgICBvblVwZGF0ZUxheWVyTGFiZWwsXG4gICAgICBvblRvZ2dsZUVuYWJsZUNvbmZpZyxcbiAgICAgIGxpc3RlbmVyc1xuICAgIH0gPSBwcm9wcztcbiAgICBjb25zdCBbaXNFZGl0aW5nTGFiZWwsIHNldElzRWRpdGluZ0xhYmVsXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZExheWVyUGFuZWxIZWFkZXJcbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdsYXllci1wYW5lbF9faGVhZGVyJywge1xuICAgICAgICAgICdzb3J0LS1oYW5kbGUnOiAhaXNDb25maWdBY3RpdmVcbiAgICAgICAgfSl9XG4gICAgICAgIGlzVmFsaWQ9e2lzVmFsaWR9XG4gICAgICAgIHdhcm5pbmc9e3dhcm5pbmd9XG4gICAgICAgIGFjdGl2ZT17aXNDb25maWdBY3RpdmV9XG4gICAgICAgIGxhYmVsUkNHQ29sb3JWYWx1ZXM9e2xhYmVsUkNHQ29sb3JWYWx1ZXN9XG4gICAgICAgIG9uQ2xpY2s9e29uVG9nZ2xlRW5hYmxlQ29uZmlnfVxuICAgICAgPlxuICAgICAgICB7d2FybmluZyA/IDxIZWFkZXJXYXJuaW5nIHdhcm5pbmc9e3dhcm5pbmd9IGlkPXtsYXllcklkfSAvPiA6IG51bGx9XG4gICAgICAgIDxIZWFkZXJMYWJlbFNlY3Rpb24gY2xhc3NOYW1lPVwibGF5ZXItcGFuZWxfX2hlYWRlcl9fY29udGVudFwiPlxuICAgICAgICAgIHtpc0RyYWdORHJvcEVuYWJsZWQgPyAoXG4gICAgICAgICAgICA8RHJhZ0hhbmRsZSBjbGFzc05hbWU9XCJsYXllcl9fZHJhZy1oYW5kbGVcIiBsaXN0ZW5lcnM9e2xpc3RlbmVyc30+XG4gICAgICAgICAgICAgIDxWZXJ0RG90cyBoZWlnaHQ9XCIyMHB4XCIgLz5cbiAgICAgICAgICAgIDwvRHJhZ0hhbmRsZT5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYXllcl9fZHJhZy1oYW5kbGVfX3BsYWNlaG9sZGVyXCIgLz5cbiAgICAgICAgICApfVxuICAgICAgICAgIDxMYXllclRpdGxlU2VjdGlvblxuICAgICAgICAgICAgbGF5ZXJJZD17bGF5ZXJJZH1cbiAgICAgICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgICAgIG9uVXBkYXRlTGF5ZXJMYWJlbD17b25VcGRhdGVMYXllckxhYmVsfVxuICAgICAgICAgICAgbGF5ZXJUeXBlPXtsYXllclR5cGV9XG4gICAgICAgICAgICBvbkZvY3VzPXsoKSA9PiB7XG4gICAgICAgICAgICAgIHNldElzRWRpdGluZ0xhYmVsKHRydWUpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uQmx1cj17KCkgPT4ge1xuICAgICAgICAgICAgICBzZXRJc0VkaXRpbmdMYWJlbChmYWxzZSk7XG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvSGVhZGVyTGFiZWxTZWN0aW9uPlxuICAgICAgICA8TGF5ZXJQYW5lbEhlYWRlckFjdGlvblNlY3Rpb24gey4uLnByb3BzfSBpc0VkaXRpbmdMYWJlbD17aXNFZGl0aW5nTGFiZWx9IC8+XG4gICAgICA8L1N0eWxlZExheWVyUGFuZWxIZWFkZXI+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gTGF5ZXJQYW5lbEhlYWRlcjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTGF5ZXJQYW5lbEhlYWRlckZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQU9BLElBQUFDLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLGlCQUFBLEdBQUFKLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxrQkFBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FB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
@@ -5,7 +5,7 @@ import { Datasets } from '@kepler.gl/table';
5
5
  import { SplitMap } from '@kepler.gl/types';
6
6
  import LayerConfiguratorFactory from './layer-configurator';
7
7
  import LayerPanelHeaderFactory from './layer-panel-header';
8
- declare type LayerPanelProps = {
8
+ type LayerPanelProps = {
9
9
  className?: string;
10
10
  style?: CSSProperties;
11
11
  onMouseDown?: MouseEventHandler;
@@ -1,11 +1,11 @@
1
1
  import React, { MouseEvent } from 'react';
2
- export declare type LayerTypeOption = {
2
+ export type LayerTypeOption = {
3
3
  disabled?: boolean;
4
4
  id: string;
5
5
  label: string;
6
6
  icon: React.ElementType;
7
7
  };
8
- declare type LayerTypeDropdownListProps = {
8
+ type LayerTypeDropdownListProps = {
9
9
  onOptionSelected: (value: {
10
10
  icon: React.ElementType;
11
11
  label: string;
@@ -1,6 +1,6 @@
1
1
  import React, { ComponentType } from 'react';
2
2
  import { BaseProps } from '../../common/icons';
3
- export declare type LayerTypeListItemProps = {
3
+ export type LayerTypeListItemProps = {
4
4
  value: {
5
5
  icon: ComponentType<Partial<BaseProps>>;
6
6
  label: string;
@@ -8,6 +8,6 @@ export declare type LayerTypeListItemProps = {
8
8
  isTile?: boolean;
9
9
  className?: string;
10
10
  };
11
- export declare type LayerTypeListItemType = React.FC<LayerTypeListItemProps>;
11
+ export type LayerTypeListItemType = React.FC<LayerTypeListItemProps>;
12
12
  export declare function LayerTypeListItemFactory(): React.FC<LayerTypeListItemProps>;
13
13
  export default LayerTypeListItemFactory;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import LayerTypeDropdownListFactory, { LayerTypeOption } from './layer-type-dropdown-list';
3
3
  import LayerTypeListItemFactory from './layer-type-list-item';
4
- export declare type LayerTypeSelectorProps = {
4
+ export type LayerTypeSelectorProps = {
5
5
  selected: string | null;
6
6
  onSelect: (items: readonly (string | number | boolean | object)[] | string | number | boolean | object | null) => void;
7
7
  options: LayerTypeOption[];
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { ZoomStopsConfig } from '@kepler.gl/types';
3
- declare type Props = {
3
+ type Props = {
4
4
  config: ZoomStopsConfig;
5
5
  property: string;
6
6
  label: string;
@@ -5,7 +5,7 @@ import InfoHelperFactory from '../../common/info-helper';
5
5
  import VisConfigSliderFactory from '../../side-panel/layer-panel/vis-config-slider';
6
6
  import LayerConfigGroupFactory from '../../side-panel/layer-panel/layer-config-group';
7
7
  import VisConfigSwitchFactory from '../../side-panel/layer-panel/vis-config-switch';
8
- declare type RasterTileLayerConfiguratorProps = {
8
+ type RasterTileLayerConfiguratorProps = {
9
9
  layer: RasterTileLayer;
10
10
  visConfiguratorProps: any;
11
11
  dataset: KeplerDataset;
@@ -1,6 +1,6 @@
1
1
  import React, { MouseEvent } from 'react';
2
2
  import { ColorRange, HexColor, RGBColor } from '@kepler.gl/types';
3
- export declare type SingleColorPaletteProps = {
3
+ export type SingleColorPaletteProps = {
4
4
  selectedColor: HexColor;
5
5
  onSelectColor: (color: RGBColor | ColorRange, e: MouseEvent) => void;
6
6
  };
@@ -4,7 +4,7 @@ import LayerConfigGroupFactory from './layer-config-group';
4
4
  import { Field, LayerTextLabel } from '@kepler.gl/types';
5
5
  import FieldSelectorFactory from '../../common/field-selector';
6
6
  import ColorSelectorFactory from './color-selector';
7
- declare type TextLabelPanelProps = {
7
+ type TextLabelPanelProps = {
8
8
  id?: string;
9
9
  fields: Field[];
10
10
  textLabel: LayerTextLabel[];
@@ -8,8 +8,8 @@ import LayerConfigGroupFactory from './layer-config-group';
8
8
  import { LayerColorRangeSelectorFactory, LayerColorSelectorFactory } from './layer-color-selector';
9
9
  import VisConfigSliderFactory from './vis-config-slider';
10
10
  import VisConfigSwitchFactory from './vis-config-switch';
11
- declare type GetProps<T extends (...args: any[]) => React.FC<any>> = Parameters<ReturnType<T>>[0];
12
- declare type Props = {
11
+ type GetProps<T extends (...args: any[]) => React.FC<any>> = Parameters<ReturnType<T>>[0];
12
+ type Props = {
13
13
  layer: VectorTileLayer;
14
14
  dataset?: KeplerDataset;
15
15
  visConfiguratorProps: any;
@@ -3,7 +3,7 @@ import { WrappedComponentProps } from 'react-intl';
3
3
  import { Field } from '@kepler.gl/types';
4
4
  import FieldSelectorFactory from '../../common/field-selector';
5
5
  import InfoHelperFactory from '../../common/info-helper';
6
- declare type VisConfigByFieldSelectorProps = {
6
+ type VisConfigByFieldSelectorProps = {
7
7
  fields: Field[];
8
8
  id: string;
9
9
  property: string;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import RangeSliderFactory from '../../common/range-slider';
3
3
  import { Layer, LayerBaseConfig } from '@kepler.gl/layers';
4
- declare type VisConfigSliderProps = {
4
+ type VisConfigSliderProps = {
5
5
  layer: Layer;
6
6
  property: string;
7
7
  onChange: (v: Record<string, number | string | number[] | string[]>) => void;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import InfoHelperFactory from '../../common/info-helper';
3
3
  import { Layer } from '@kepler.gl/layers';
4
- declare type VisConfigSwitchProps = {
4
+ type VisConfigSwitchProps = {
5
5
  layer: Layer;
6
6
  property: string;
7
7
  onChange: (v: Record<string, boolean>) => void;
@@ -6,7 +6,7 @@ import { PanelMeta } from './common/types';
6
6
  import { WrappedComponentProps } from 'react-intl';
7
7
  import { MapStyle } from '@kepler.gl/reducers';
8
8
  import { MapStyleActions } from '@kepler.gl/actions';
9
- export declare type MapManagerProps = {
9
+ export type MapManagerProps = {
10
10
  mapStyle: MapStyle;
11
11
  mapStyleActions: {
12
12
  mapStyleChange: typeof MapStyleActions.mapStyleChange;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { RGBColor } from '@kepler.gl/types';
3
- export declare type LayerGroupColorPickerProps = {
3
+ export type LayerGroupColorPickerProps = {
4
4
  slug: string;
5
5
  color: RGBColor;
6
6
  onColorChange: (pd: RGBColor) => void;
@@ -4,12 +4,12 @@ import { MapConfigChangeUpdaterAction } from '@kepler.gl/actions';
4
4
  import { MapStyle } from '@kepler.gl/reducers';
5
5
  import LayerGroupColorPickerFactory from './map-layer-group-color-picker';
6
6
  import { PanelHeaderActionProps, PanelHeaderActionIcon } from '../panel-header-action';
7
- export declare type LayerGroupItemActionIcons = {
7
+ export type LayerGroupItemActionIcons = {
8
8
  visible: PanelHeaderActionIcon;
9
9
  hidden: PanelHeaderActionIcon;
10
10
  top: PanelHeaderActionIcon;
11
11
  };
12
- export declare type LayerGroupItemProps = {
12
+ export type LayerGroupItemProps = {
13
13
  PanelHeaderAction: React.FC<PanelHeaderActionProps>;
14
14
  onChange: (pd: MapConfigChangeUpdaterAction['payload']) => void;
15
15
  slug: string;
@@ -5,7 +5,7 @@ import { VisibleLayerGroups } from '@kepler.gl/types';
5
5
  import { DEFAULT_LAYER_GROUP } from '@kepler.gl/constants';
6
6
  import { MapConfigChangeUpdaterAction, Set3dBuildingColorUpdaterAction, SetBackgroundColorUpdaterAction } from '@kepler.gl/actions';
7
7
  import { MapStyle } from '@kepler.gl/reducers';
8
- export declare type LayerGroupSelectorProps = {
8
+ export type LayerGroupSelectorProps = {
9
9
  layers: VisibleLayerGroups;
10
10
  editableLayers: DEFAULT_LAYER_GROUP[];
11
11
  onChange: (payload: MapConfigChangeUpdaterAction['payload']) => void;
@@ -3,7 +3,7 @@ import { MapStyle } from '@kepler.gl/reducers';
3
3
  import PanelHeaderActionFactory from '../panel-header-action';
4
4
  import { BaseProps } from '../../common/icons';
5
5
  import { PanelHeaderActionIcon } from '../panel-header-action';
6
- export declare type MapStyleSelectorProps = {
6
+ export type MapStyleSelectorProps = {
7
7
  mapStyle: MapStyle;
8
8
  onChange: (payload: string) => void;
9
9
  toggleActive: () => void;
@@ -1,7 +1,7 @@
1
1
  import React, { ComponentType, MouseEventHandler } from 'react';
2
2
  import { TooltipProps } from 'react-tooltip';
3
3
  import { BaseProps } from '../common/icons';
4
- export declare type PanelHeaderActionIcon = ComponentType<Partial<BaseProps>>;
4
+ export type PanelHeaderActionIcon = ComponentType<Partial<BaseProps>>;
5
5
  export interface PanelHeaderActionProps {
6
6
  id?: string;
7
7
  tooltip?: string;
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { ToolbarItemProps } from '../common/toolbar-item';
3
3
  import { UiState } from '@kepler.gl/types';
4
4
  import { BaseProps } from '../common/icons';
5
- declare type ActionItem = {
5
+ type ActionItem = {
6
6
  id: string;
7
7
  label?: string;
8
8
  blank?: boolean;
@@ -13,22 +13,22 @@ declare type ActionItem = {
13
13
  dropdownComponent?: React.ComponentType<DropdownComponentProps>;
14
14
  onClick?: () => void;
15
15
  };
16
- declare type PanelActionProps = {
16
+ type PanelActionProps = {
17
17
  item: ActionItem;
18
18
  showExportDropdown: (string: any) => void;
19
19
  };
20
- declare type PanelHeaderDropdownProps = {
20
+ type PanelHeaderDropdownProps = {
21
21
  items: ToolbarItemProps[];
22
22
  show?: boolean;
23
23
  onClose: () => void;
24
24
  id: string;
25
25
  };
26
- declare type LogoComponentProps = {
26
+ type LogoComponentProps = {
27
27
  appName: string;
28
28
  appWebsite: string;
29
29
  version: string;
30
30
  };
31
- declare type DropdownCallbacks = {
31
+ type DropdownCallbacks = {
32
32
  logoComponent?: React.FC<LogoComponentProps> | React.ComponentType<LogoComponentProps>;
33
33
  onExportImage: () => void;
34
34
  onExportData: () => void;
@@ -39,18 +39,18 @@ declare type DropdownCallbacks = {
39
39
  onSaveMap?: () => void;
40
40
  onShareMap: (() => void) | null;
41
41
  };
42
- declare type Item = {
42
+ type Item = {
43
43
  label: string;
44
44
  icon: React.ComponentType<Partial<BaseProps>>;
45
45
  key: string;
46
46
  onClick: (p: DropdownComponentProps) => (() => void) | null;
47
47
  };
48
- declare type DropdownComponentProps = {
48
+ type DropdownComponentProps = {
49
49
  show: boolean;
50
50
  onClose: () => void;
51
51
  items?: Item[];
52
52
  } & DropdownCallbacks;
53
- export declare type PanelHeaderProps = {
53
+ export type PanelHeaderProps = {
54
54
  appName: string;
55
55
  appWebsite: string;
56
56
  version: string;
@@ -70,20 +70,20 @@ export declare const SaveExportDropdownFactory: {
70
70
  };
71
71
  export declare const CloudStorageDropdownFactory: {
72
72
  (PanelHeaderDropdown: ReturnType<typeof PanelHeaderDropdownFactory>): React.FC<DropdownComponentProps> & {
73
- defaultItems: DropdownComponentProps['items'];
73
+ defaultItems: DropdownComponentProps["items"];
74
74
  };
75
75
  deps: (() => React.FC<PanelHeaderDropdownProps>)[];
76
76
  };
77
77
  declare function PanelHeaderFactory(SaveExportDropdown: ReturnType<typeof SaveExportDropdownFactory>, CloudStorageDropdown: ReturnType<typeof CloudStorageDropdownFactory>): React.ComponentType<PanelHeaderProps>;
78
78
  declare namespace PanelHeaderFactory {
79
79
  var deps: ({
80
- (PanelHeaderDropdown: React.FC<PanelHeaderDropdownProps>): React.FC<DropdownComponentProps> & {
80
+ (PanelHeaderDropdown: ReturnType<typeof PanelHeaderDropdownFactory>): React.FC<DropdownComponentProps> & {
81
81
  defaultItems: ToolbarItemProps[];
82
82
  };
83
83
  deps: (() => React.FC<PanelHeaderDropdownProps>)[];
84
84
  } | {
85
- (PanelHeaderDropdown: React.FC<PanelHeaderDropdownProps>): React.FC<DropdownComponentProps> & {
86
- defaultItems: Item[] | undefined;
85
+ (PanelHeaderDropdown: ReturnType<typeof PanelHeaderDropdownFactory>): React.FC<DropdownComponentProps> & {
86
+ defaultItems: DropdownComponentProps["items"];
87
87
  };
88
88
  deps: (() => React.FC<PanelHeaderDropdownProps>)[];
89
89
  })[];
@@ -1,20 +1,20 @@
1
1
  import React from 'react';
2
2
  import { BaseProps } from '../common/icons';
3
- declare type StyledPanelTabProps = {
3
+ type StyledPanelTabProps = {
4
4
  active?: boolean;
5
5
  };
6
- export declare type PanelItem = {
6
+ export type PanelItem = {
7
7
  id: string;
8
8
  label: string;
9
9
  iconComponent: React.ComponentType<Partial<BaseProps>>;
10
10
  };
11
- export declare type PanelTabProps = {
11
+ export type PanelTabProps = {
12
12
  isActive: boolean;
13
13
  panel: PanelItem;
14
14
  onClick: (e: React.MouseEvent<HTMLDivElement>) => void;
15
15
  };
16
16
  export declare const StyledPanelTab: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("styled-components/dist/types").FastOmit<import("styled-components/dist/types").Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
17
- ref?: ((instance: HTMLDivElement | null) => void) | React.RefObject<HTMLDivElement> | null | undefined;
17
+ ref?: ((instance: HTMLDivElement | null) => void | React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | React.RefObject<HTMLDivElement> | null | undefined;
18
18
  }>, never>, StyledPanelTabProps>>;
19
19
  export declare function PanelTabFactory(): React.FC<PanelTabProps>;
20
20
  export default PanelTabFactory;
@@ -1,5 +1,5 @@
1
1
  import React, { PropsWithChildren } from 'react';
2
- export declare type PanelTitleProps = PropsWithChildren<{
2
+ export type PanelTitleProps = PropsWithChildren<{
3
3
  title: string;
4
4
  className?: string;
5
5
  }>;