@kepler.gl/components 3.1.0-alpha.2 → 3.1.0-alpha.4
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.
- package/dist/bottom-widget.d.ts +7 -1
- package/dist/bottom-widget.js +2 -8
- package/dist/common/action-panel.d.ts +5 -6
- package/dist/common/action-panel.js +3 -5
- package/dist/common/animation-control/animation-control.d.ts +2 -1
- package/dist/common/animation-control/animation-control.js +4 -2
- package/dist/common/animation-control/animation-speed-slider.js +21 -7
- package/dist/common/animation-control/floating-time-display.js +1 -1
- package/dist/common/animation-control/play-control.js +11 -13
- package/dist/common/animation-control/playback-controls.d.ts +11 -20
- package/dist/common/animation-control/playback-controls.js +6 -4
- package/dist/common/animation-control/reset-control.js +11 -13
- package/dist/common/animation-control/speed-control.js +10 -12
- package/dist/common/color-legend.d.ts +4 -5
- package/dist/common/color-legend.js +16 -5
- package/dist/common/column-stats-chart.d.ts +9 -3
- package/dist/common/column-stats-chart.js +17 -63
- package/dist/common/data-table/canvas.d.ts +2 -1
- package/dist/common/data-table/index.d.ts +7 -7
- package/dist/common/data-table/index.js +4 -5
- package/dist/common/file-uploader/file-upload-progress.d.ts +4 -4
- package/dist/common/file-uploader/file-upload-progress.js +1 -2
- package/dist/common/file-uploader/file-upload.d.ts +1 -1
- package/dist/common/file-uploader/upload-button.js +2 -2
- package/dist/common/flex-container.d.ts +8 -3
- package/dist/common/histogram-plot.js +4 -2
- package/dist/common/icon-button.d.ts +7 -4
- package/dist/common/icons/draggable-dots.d.ts +14 -0
- package/dist/common/icons/draggable-dots.js +85 -0
- package/dist/common/icons/horizontal-resize-handle.d.ts +14 -0
- package/dist/common/icons/horizontal-resize-handle.js +59 -0
- package/dist/common/icons/index.d.ts +2 -0
- package/dist/common/icons/index.js +15 -1
- package/dist/common/icons/pin.js +1 -1
- package/dist/common/info-helper.js +2 -2
- package/dist/common/item-selector/chickleted-input.d.ts +21 -17
- package/dist/common/item-selector/chickleted-input.js +3 -3
- package/dist/common/item-selector/dropdown-list.d.ts +12 -12
- package/dist/common/item-selector/dropdown-list.js +1 -2
- package/dist/common/item-selector/dropdown-select.d.ts +8 -4
- package/dist/common/item-selector/dropdown-select.js +2 -2
- package/dist/common/item-selector/item-selector.d.ts +5 -9
- package/dist/common/item-selector/item-selector.js +1 -1
- package/dist/common/item-selector/typeahead.d.ts +20 -6
- package/dist/common/item-selector/typeahead.js +3 -3
- package/dist/common/loading-spinner.d.ts +8 -4
- package/dist/common/loading-spinner.js +1 -1
- package/dist/common/modal.d.ts +12 -12
- package/dist/common/modal.js +3 -3
- package/dist/common/portaled.d.ts +22 -486
- package/dist/common/portaled.js +6 -3
- package/dist/common/range-plot.d.ts +23 -28
- package/dist/common/range-plot.js +38 -29
- package/dist/common/range-slider-timeline.js +1 -2
- package/dist/common/slider/slider-bar-handle.d.ts +5 -0
- package/dist/common/slider/slider-bar-handle.js +2 -2
- package/dist/common/slider/slider-handle.d.ts +9 -0
- package/dist/common/slider/slider-handle.js +3 -3
- package/dist/common/slider/slider.d.ts +2 -2
- package/dist/common/styled-components.d.ts +444 -92
- package/dist/common/styled-components.js +15 -11
- package/dist/common/sync-timeline-control.js +2 -2
- package/dist/common/time-range-slider-time-title.d.ts +4 -0
- package/dist/common/time-range-slider-time-title.js +1 -1
- package/dist/common/time-range-slider.d.ts +7 -3
- package/dist/common/time-range-slider.js +1 -1
- package/dist/common/timeline-slider.d.ts +2 -0
- package/dist/common/timeline-slider.js +1 -1
- package/dist/common/toolbar-item.js +2 -2
- package/dist/common/toolbar.d.ts +5 -3
- package/dist/common/toolbar.js +1 -1
- package/dist/common/vertical-toolbar.d.ts +6 -1
- package/dist/container.js +2 -2
- package/dist/dnd-context.d.ts +1 -1
- package/dist/effects/compact-color-picker.d.ts +1 -1
- package/dist/effects/effect-configurator.d.ts +4 -4
- package/dist/effects/effect-manager.js +4 -2
- package/dist/effects/effect-panel-header.js +5 -5
- package/dist/effects/effect-time-configurator.js +2 -2
- package/dist/effects/effect-time-selector.d.ts +1 -6
- package/dist/effects/effect-time-selector.js +3 -3
- package/dist/effects/effect-type-dropdown-list.js +2 -2
- package/dist/effects/effect-type-list-item.d.ts +1 -10
- package/dist/effects/effect-type-list-item.js +2 -2
- package/dist/effects/effect-type-selector.d.ts +1 -12
- package/dist/effects/effect-type-selector.js +2 -2
- package/dist/effects/timezone-selector.d.ts +1 -9
- package/dist/effects/timezone-selector.js +1 -1
- package/dist/filters/components.d.ts +6 -3
- package/dist/filters/filter-panels/filter-synced-dataset-panel.d.ts +3 -4
- package/dist/filters/time-widget-top.js +2 -2
- package/dist/filters/types.d.ts +4 -2
- package/dist/filters/types.js +1 -1
- package/dist/geocoder/geocoder.js +2 -2
- package/dist/geocoder-panel.d.ts +6 -0
- package/dist/geocoder-panel.js +1 -1
- package/dist/hooks/use-fetch-vector-tile-metadata.d.ts +3 -2
- package/dist/hooks/use-fetch-vector-tile-metadata.js +33 -18
- package/dist/hooks/use-legend-position.d.ts +36 -0
- package/dist/hooks/use-legend-position.js +147 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +18 -3
- package/dist/kepler-gl.d.ts +44 -5
- package/dist/kepler-gl.js +77 -4
- package/dist/map/layer-hover-info.d.ts +3 -1
- package/dist/map/layer-hover-info.js +2 -2
- package/dist/map/map-control-panel.js +4 -3
- package/dist/map/map-control-toolbar.d.ts +15 -1
- package/dist/map/map-control-toolbar.js +1 -1
- package/dist/map/map-legend-panel.d.ts +10 -35
- package/dist/map/map-legend-panel.js +242 -127
- package/dist/map/map-legend.d.ts +3 -2
- package/dist/map/map-legend.js +7 -10
- package/dist/map/map-popover.js +16 -11
- package/dist/map-container.d.ts +10 -8
- package/dist/map-container.js +86 -55
- package/dist/modal-container.d.ts +2 -1
- package/dist/modal-container.js +4 -3
- package/dist/modals/add-map-style-modal.d.ts +3 -0
- package/dist/modals/add-map-style-modal.js +58 -10
- package/dist/modals/cloud-components/cloud-item.js +2 -2
- package/dist/modals/cloud-tile.d.ts +6 -1
- package/dist/modals/cloud-tile.js +2 -2
- package/dist/modals/data-table-modal.d.ts +5 -3
- package/dist/modals/data-table-modal.js +3 -3
- package/dist/modals/export-data-modal.js +4 -5
- package/dist/modals/export-map-modal/components.d.ts +5 -3
- package/dist/modals/export-map-modal/export-html-map.js +2 -2
- package/dist/modals/export-map-modal/export-json-map.js +3 -2
- package/dist/modals/modal-dialog.d.ts +3 -1
- package/dist/modals/modal-tabs.js +2 -2
- package/dist/modals/share-map-modal.d.ts +4 -4
- package/dist/modals/storage-map-viewer.js +3 -3
- package/dist/modals/tilesets-modals/common.d.ts +1 -1
- package/dist/modals/tilesets-modals/common.js +1 -1
- package/dist/modals/tilesets-modals/load-data-footer.d.ts +3 -3
- package/dist/modals/tilesets-modals/load-data-footer.js +16 -7
- package/dist/modals/tilesets-modals/load-tileset.js +5 -4
- package/dist/modals/tilesets-modals/tileset-vector-form.js +28 -14
- package/dist/plot-container.js +3 -3
- package/dist/side-panel/add-by-dataset-button.js +4 -1
- package/dist/side-panel/common/dataset-info.js +3 -3
- package/dist/side-panel/common/dataset-title.d.ts +1 -0
- package/dist/side-panel/common/dataset-title.js +5 -4
- package/dist/side-panel/filter-manager.d.ts +2 -2
- package/dist/side-panel/filter-manager.js +1 -1
- package/dist/side-panel/filter-panel/filter-panel-header.d.ts +9 -1
- package/dist/side-panel/filter-panel/filter-panel-header.js +24 -9
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.d.ts +10 -1
- package/dist/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +5 -3
- package/dist/side-panel/layer-panel/aggr-scale-selector.d.ts +2 -1
- package/dist/side-panel/layer-panel/aggr-scale-selector.js +3 -1
- package/dist/side-panel/layer-panel/channel-by-value-selector.d.ts +2 -4
- package/dist/side-panel/layer-panel/channel-by-value-selector.js +9 -5
- package/dist/side-panel/layer-panel/color-breaks-panel.d.ts +15 -7
- package/dist/side-panel/layer-panel/color-breaks-panel.js +52 -20
- package/dist/side-panel/layer-panel/color-palette-preset.js +2 -2
- package/dist/side-panel/layer-panel/color-palette.d.ts +9 -4
- package/dist/side-panel/layer-panel/color-palette.js +13 -7
- package/dist/side-panel/layer-panel/color-range-selector.d.ts +2 -2
- package/dist/side-panel/layer-panel/color-range-selector.js +2 -2
- package/dist/side-panel/layer-panel/color-scale-selector.d.ts +5 -4
- package/dist/side-panel/layer-panel/color-scale-selector.js +93 -43
- package/dist/side-panel/layer-panel/color-selector.d.ts +7 -7
- package/dist/side-panel/layer-panel/color-selector.js +52 -36
- package/dist/side-panel/layer-panel/custom-palette.d.ts +44 -15
- package/dist/side-panel/layer-panel/custom-palette.js +342 -39
- package/dist/side-panel/layer-panel/custom-picker.d.ts +9 -5
- package/dist/side-panel/layer-panel/custom-picker.js +2 -2
- package/dist/side-panel/layer-panel/dimension-scale-selector.js +5 -3
- package/dist/side-panel/layer-panel/layer-color-selector.d.ts +1 -1
- package/dist/side-panel/layer-panel/layer-color-selector.js +1 -1
- package/dist/side-panel/layer-panel/layer-column-mode-config.js +1 -1
- package/dist/side-panel/layer-panel/layer-config-group.d.ts +11 -11
- package/dist/side-panel/layer-panel/layer-config-group.js +2 -2
- package/dist/side-panel/layer-panel/layer-configurator.d.ts +7 -7
- package/dist/side-panel/layer-panel/layer-configurator.js +10 -10
- package/dist/side-panel/layer-panel/layer-list.d.ts +2 -0
- package/dist/side-panel/layer-panel/layer-list.js +7 -4
- package/dist/side-panel/layer-panel/layer-panel-header.js +5 -5
- package/dist/side-panel/layer-panel/layer-panel.d.ts +3 -0
- package/dist/side-panel/layer-panel/layer-panel.js +8 -8
- package/dist/side-panel/layer-panel/layer-type-dropdown-list.js +2 -2
- package/dist/side-panel/layer-panel/layer-type-list-item.d.ts +1 -10
- package/dist/side-panel/layer-panel/layer-type-list-item.js +2 -2
- package/dist/side-panel/layer-panel/layer-type-selector.d.ts +1 -8
- package/dist/side-panel/layer-panel/layer-type-selector.js +1 -1
- package/dist/side-panel/layer-panel/single-color-palette.d.ts +1 -2
- package/dist/side-panel/layer-panel/single-color-palette.js +2 -2
- package/dist/side-panel/layer-panel/text-label-panel.js +1 -1
- package/dist/side-panel/layer-panel/vector-tile-layer-configurator.js +6 -3
- package/dist/side-panel/map-style-panel/map-style-selector.js +2 -2
- package/dist/side-panel/panel-header-action.js +2 -2
- package/dist/side-panel/panel-header.js +2 -2
- package/dist/side-panel/panel-tab.d.ts +3 -3
- package/dist/side-panel/panel-tab.js +2 -2
- package/dist/side-panel/panel-view-list-toggle.d.ts +4 -4
- package/dist/side-panel/panel-view-list-toggle.js +2 -2
- package/dist/side-panel/side-bar.js +2 -2
- package/dist/side-panel.d.ts +1 -1
- package/dist/types.d.ts +6 -7
- package/dist/types.js +1 -1
- package/package.json +26 -22
|
@@ -7,149 +7,264 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = void 0;
|
|
9
9
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
-
var
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
12
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
12
13
|
var _reactDom = require("react-dom");
|
|
13
14
|
var _react = _interopRequireWildcard(require("react"));
|
|
14
15
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
16
|
+
var _core = require("@dnd-kit/core");
|
|
17
|
+
var _utilities = require("@dnd-kit/utilities");
|
|
18
|
+
var _react2 = require("@floating-ui/react");
|
|
19
|
+
var _actions = require("@kepler.gl/actions");
|
|
20
|
+
var _styles = require("@kepler.gl/styles");
|
|
21
|
+
var _utils = require("@kepler.gl/utils");
|
|
15
22
|
var _icons = require("../common/icons");
|
|
16
23
|
var _styledComponents2 = require("../common/styled-components");
|
|
17
|
-
var
|
|
24
|
+
var _context = require("../context");
|
|
25
|
+
var _useLegendPosition3 = _interopRequireDefault(require("../hooks/use-legend-position"));
|
|
26
|
+
var _injector = require("../injector");
|
|
18
27
|
var _mapControlPanel = _interopRequireDefault(require("./map-control-panel"));
|
|
28
|
+
var _mapControlTooltip = _interopRequireDefault(require("./map-control-tooltip"));
|
|
19
29
|
var _mapLegend = _interopRequireDefault(require("./map-legend"));
|
|
20
|
-
var
|
|
21
|
-
var
|
|
22
|
-
var _context = require("../context");
|
|
23
|
-
var _react2 = require("@floating-ui/react");
|
|
24
|
-
var _templateObject, _templateObject2; // SPDX-License-Identifier: MIT
|
|
30
|
+
var _modifiers = require("@dnd-kit/modifiers");
|
|
31
|
+
var _templateObject, _templateObject2, _templateObject3; // SPDX-License-Identifier: MIT
|
|
25
32
|
// Copyright contributors to the kepler.gl project
|
|
26
33
|
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); }
|
|
27
34
|
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
|
-
|
|
29
|
-
var
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
+
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; }
|
|
36
|
+
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; }
|
|
37
|
+
var DRAG_RESIZE_ID = 'map-legend-resize';
|
|
38
|
+
var DRAG_MOVE_ID = 'map-legend-move';
|
|
39
|
+
var StyledDraggableLegendContent = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n outline: none;\n transition: border-color 0.2s ease-in-out;\n border: 1px solid transparent;\n .legend-input-block {\n display: none;\n }\n &.is-dragging .legend-input-block {\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: transparent;\n }\n &:hover,\n &.is-dragging {\n .legend-move-handle {\n opacity: 1;\n pointer-events: auto;\n }\n .legend-resize-handle {\n opacity: 1;\n pointer-events: auto;\n }\n border-color: ", ";\n }\n .map-control__panel-content {\n max-height: calc(100vh - 100px);\n ", ";\n }\n border-radius: 4px;\n z-index: 2;\n .map-control-panel {\n margin-bottom: 0 !important;\n }\n"])), function (props) {
|
|
40
|
+
return props.theme.activeColor;
|
|
41
|
+
}, function (props) {
|
|
42
|
+
return props.contentHeight ? "height: ".concat(props.contentHeight, "px;") : '';
|
|
43
|
+
});
|
|
44
|
+
var StyledMoveHandle = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n pointer-events: none;\n opacity: 0;\n transition: opacity 0.2s ease-in-out;\n position: absolute;\n display: flex;\n flex-direction: column;\n align-items: center;\n color: white;\n z-index: 2;\n top: 0;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 48px;\n height: 16px;\n border-radius: 4px;\n cursor: move;\n background-color: ", ";\n"])), function (props) {
|
|
45
|
+
return props.theme.activeColor;
|
|
46
|
+
});
|
|
47
|
+
var StyledResizeHandle = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n pointer-events: none;\n opacity: 0;\n transition: opacity 0.2s ease-in-out;\n position: absolute;\n display: flex;\n flex-direction: column;\n align-items: center;\n color: #f7f8fa;\n z-index: 2;\n bottom: 0;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 48px;\n height: 16px;\n border-radius: 4px;\n cursor: ns-resize;\n"])));
|
|
48
|
+
var DraggableLegendContent = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
49
|
+
var positionStyles = props.positionStyles,
|
|
50
|
+
children = props.children;
|
|
51
|
+
var draggableMove = (0, _core.useDraggable)({
|
|
52
|
+
id: DRAG_MOVE_ID
|
|
53
|
+
});
|
|
54
|
+
var draggableResize = (0, _core.useDraggable)({
|
|
55
|
+
id: DRAG_RESIZE_ID
|
|
56
|
+
});
|
|
57
|
+
var refs = (0, _react2.useMergeRefs)([draggableMove.setNodeRef, ref]);
|
|
58
|
+
var isDragging = draggableMove.isDragging || draggableResize.isDragging;
|
|
59
|
+
return /*#__PURE__*/_react["default"].createElement(StyledDraggableLegendContent, (0, _extends2["default"])({
|
|
60
|
+
ref: refs,
|
|
61
|
+
className: (0, _classnames["default"])('draggable-legend', {
|
|
62
|
+
'is-dragging': isDragging
|
|
63
|
+
}),
|
|
64
|
+
style: _objectSpread(_objectSpread({}, positionStyles), {}, {
|
|
65
|
+
transform: _utilities.CSS.Translate.toString(draggableMove.transform)
|
|
66
|
+
}),
|
|
67
|
+
contentHeight: props.contentHeight
|
|
68
|
+
}, draggableMove.attributes), children, isDragging ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
69
|
+
className: "legend-input-block"
|
|
70
|
+
}) : null, /*#__PURE__*/_react["default"].createElement(StyledMoveHandle, (0, _extends2["default"])({
|
|
71
|
+
className: "legend-move-handle"
|
|
72
|
+
}, draggableMove.listeners), /*#__PURE__*/_react["default"].createElement(_icons.DraggableDots, {
|
|
73
|
+
height: "16px"
|
|
74
|
+
})), /*#__PURE__*/_react["default"].createElement(StyledResizeHandle, (0, _extends2["default"])({
|
|
75
|
+
className: "legend-resize-handle",
|
|
76
|
+
ref: draggableResize.setNodeRef
|
|
77
|
+
}, draggableResize.listeners), /*#__PURE__*/_react["default"].createElement(_icons.HorizontalResizeHandle, {
|
|
78
|
+
height: "16px"
|
|
79
|
+
})));
|
|
80
|
+
});
|
|
81
|
+
var DraggableLegend = (0, _injector.withState)([], function (state) {
|
|
82
|
+
var _mapControls$mapLegen;
|
|
83
|
+
var _state$demo$keplerGl$ = state.demo.keplerGl.map.uiState,
|
|
84
|
+
activeSidePanel = _state$demo$keplerGl$.activeSidePanel,
|
|
85
|
+
mapControls = _state$demo$keplerGl$.mapControls;
|
|
86
|
+
return {
|
|
87
|
+
isSidePanelShown: activeSidePanel,
|
|
88
|
+
settings: mapControls === null || mapControls === void 0 || (_mapControls$mapLegen = mapControls.mapLegend) === null || _mapControls$mapLegen === void 0 ? void 0 : _mapControls$mapLegen.settings
|
|
35
89
|
};
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
getFloatingProps = _useInteractions.getFloatingProps,
|
|
76
|
-
getReferenceProps = _useInteractions.getReferenceProps;
|
|
77
|
-
var onClick = (0, _react.useCallback)(function () {
|
|
78
|
-
var _mapControls$mapDraw;
|
|
79
|
-
onClickControlBtn === null || onClickControlBtn === void 0 || onClickControlBtn();
|
|
80
|
-
if (mapControls !== null && mapControls !== void 0 && (_mapControls$mapDraw = mapControls.mapDraw) !== null && _mapControls$mapDraw !== void 0 && _mapControls$mapDraw.active) {
|
|
81
|
-
onToggleMapControl('mapDraw');
|
|
82
|
-
}
|
|
83
|
-
}, [onClickControlBtn, onToggleMapControl, mapControls]);
|
|
84
|
-
var onCloseClick = (0, _react.useCallback)(function (e) {
|
|
85
|
-
e.preventDefault();
|
|
86
|
-
onToggleMapControl('mapLegend');
|
|
87
|
-
}, [onToggleMapControl]);
|
|
88
|
-
var onPinClick = (0, _react.useCallback)(function (e) {
|
|
89
|
-
e.preventDefault();
|
|
90
|
-
setIsOpened(false);
|
|
91
|
-
onToggleMapControl('mapLegend');
|
|
92
|
-
}, [setIsOpened, onToggleMapControl]);
|
|
93
|
-
if (!mapLegend.show) {
|
|
94
|
-
return null;
|
|
90
|
+
}, {
|
|
91
|
+
setMapControlSettings: _actions.setMapControlSettings
|
|
92
|
+
})((0, _styledComponents.withTheme)(function (_ref) {
|
|
93
|
+
var isSidePanelShown = _ref.isSidePanelShown,
|
|
94
|
+
theme = _ref.theme,
|
|
95
|
+
settings = _ref.settings,
|
|
96
|
+
setMapControlSettings = _ref.setMapControlSettings,
|
|
97
|
+
children = _ref.children;
|
|
98
|
+
var legendContentRef = (0, _react.useRef)(null);
|
|
99
|
+
var onChangeSettings = (0, _react.useCallback)(function (newSettings) {
|
|
100
|
+
return setMapControlSettings('mapLegend', newSettings);
|
|
101
|
+
}, [setMapControlSettings]);
|
|
102
|
+
var _useLegendPosition = (0, _useLegendPosition3["default"])({
|
|
103
|
+
legendContentRef: legendContentRef,
|
|
104
|
+
isSidePanelShown: isSidePanelShown,
|
|
105
|
+
theme: theme,
|
|
106
|
+
settings: settings,
|
|
107
|
+
onChangeSettings: onChangeSettings
|
|
108
|
+
}),
|
|
109
|
+
positionStyles = _useLegendPosition.positionStyles,
|
|
110
|
+
updatePosition = _useLegendPosition.updatePosition,
|
|
111
|
+
startResize = _useLegendPosition.startResize,
|
|
112
|
+
resize = _useLegendPosition.resize,
|
|
113
|
+
contentHeight = _useLegendPosition.contentHeight;
|
|
114
|
+
var handleDragStart = (0, _react.useCallback)(function (event) {
|
|
115
|
+
switch (event.active.id) {
|
|
116
|
+
case DRAG_RESIZE_ID:
|
|
117
|
+
startResize();
|
|
118
|
+
break;
|
|
119
|
+
default:
|
|
120
|
+
updatePosition();
|
|
121
|
+
}
|
|
122
|
+
}, [updatePosition, startResize]);
|
|
123
|
+
var handleDragEnd = (0, _react.useCallback)(updatePosition, [updatePosition]);
|
|
124
|
+
var handleDragMove = (0, _react.useCallback)(function (event) {
|
|
125
|
+
switch (event.active.id) {
|
|
126
|
+
case DRAG_RESIZE_ID:
|
|
127
|
+
resize(event.delta.y);
|
|
128
|
+
break;
|
|
95
129
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
var _mapControls$effect, _mapControls$effect2, _mapControls$aiAssist, _mapControls$aiAssist2;
|
|
124
|
-
// Pinned panel is not supported in export mode
|
|
125
|
-
if (isExport) {
|
|
126
|
-
return mapControlPanel;
|
|
130
|
+
}, [resize]);
|
|
131
|
+
return /*#__PURE__*/_react["default"].createElement(_core.DndContext, {
|
|
132
|
+
onDragStart: handleDragStart,
|
|
133
|
+
onDragMove: handleDragMove,
|
|
134
|
+
onDragEnd: handleDragEnd,
|
|
135
|
+
modifiers: [_modifiers.restrictToWindowEdges]
|
|
136
|
+
}, /*#__PURE__*/_react["default"].createElement(DraggableLegendContent, {
|
|
137
|
+
ref: legendContentRef,
|
|
138
|
+
positionStyles: positionStyles,
|
|
139
|
+
contentHeight: contentHeight
|
|
140
|
+
}, children));
|
|
141
|
+
}));
|
|
142
|
+
var ImageExportLegend = (0, _styledComponents.withTheme)(function (_ref2) {
|
|
143
|
+
var _containerRef$current;
|
|
144
|
+
var settings = _ref2.settings,
|
|
145
|
+
isSidePanelShown = _ref2.isSidePanelShown,
|
|
146
|
+
theme = _ref2.theme,
|
|
147
|
+
children = _ref2.children;
|
|
148
|
+
var containerRef = (0, _react.useRef)(null);
|
|
149
|
+
var legendContentRef = (0, _react.useRef)(null);
|
|
150
|
+
var _useLegendPosition2 = (0, _useLegendPosition3["default"])({
|
|
151
|
+
legendContentRef: legendContentRef,
|
|
152
|
+
isSidePanelShown: isSidePanelShown,
|
|
153
|
+
theme: theme,
|
|
154
|
+
settings: settings,
|
|
155
|
+
onChangeSettings: function onChangeSettings() {
|
|
156
|
+
// do nothing by default
|
|
127
157
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
158
|
+
}),
|
|
159
|
+
positionStyles = _useLegendPosition2.positionStyles;
|
|
160
|
+
var portalRoot = (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 || (_containerRef$current = _containerRef$current.closest('.export-map-instance')) === null || _containerRef$current === void 0 ? void 0 : _containerRef$current.querySelector('#default-deckgl-overlay-wrapper');
|
|
161
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
162
|
+
ref: containerRef
|
|
163
|
+
}, portalRoot ? /*#__PURE__*/(0, _reactDom.createPortal)( /*#__PURE__*/_react["default"].createElement("div", {
|
|
164
|
+
className: "fixed-legend",
|
|
165
|
+
ref: legendContentRef,
|
|
166
|
+
style: _objectSpread(_objectSpread({}, positionStyles), {}, {
|
|
167
|
+
position: 'absolute'
|
|
168
|
+
})
|
|
169
|
+
}, children), portalRoot) : null);
|
|
170
|
+
});
|
|
171
|
+
MapLegendPanelFactory.deps = [_mapControlTooltip["default"], _mapControlPanel["default"], _mapLegend["default"]];
|
|
172
|
+
var defaultActionIcons = {
|
|
173
|
+
legend: _icons.Legend
|
|
174
|
+
};
|
|
175
|
+
var MapLegendPanelComponent = function MapLegendPanelComponent(_ref3) {
|
|
176
|
+
var _rootContext$current;
|
|
177
|
+
var layers = _ref3.layers,
|
|
178
|
+
mapControls = _ref3.mapControls,
|
|
179
|
+
scale = _ref3.scale,
|
|
180
|
+
onToggleMapControl = _ref3.onToggleMapControl,
|
|
181
|
+
isExport = _ref3.isExport,
|
|
182
|
+
logoComponent = _ref3.logoComponent,
|
|
183
|
+
_ref3$actionIcons = _ref3.actionIcons,
|
|
184
|
+
actionIcons = _ref3$actionIcons === void 0 ? defaultActionIcons : _ref3$actionIcons,
|
|
185
|
+
mapState = _ref3.mapState,
|
|
186
|
+
onLayerVisConfigChange = _ref3.onLayerVisConfigChange,
|
|
187
|
+
onToggleSplitMapViewport = _ref3.onToggleSplitMapViewport,
|
|
188
|
+
onClickControlBtn = _ref3.onClickControlBtn,
|
|
189
|
+
_ref3$isViewportUnsyn = _ref3.isViewportUnsyncAllowed,
|
|
190
|
+
isViewportUnsyncAllowed = _ref3$isViewportUnsyn === void 0 ? true : _ref3$isViewportUnsyn,
|
|
191
|
+
className = _ref3.className,
|
|
192
|
+
interactionConfig = _ref3.interactionConfig,
|
|
193
|
+
settings = _ref3.settings,
|
|
194
|
+
isSidePanelShown = _ref3.isSidePanelShown,
|
|
195
|
+
MapControlTooltip = _ref3.MapControlTooltip,
|
|
196
|
+
MapControlPanel = _ref3.MapControlPanel,
|
|
197
|
+
MapLegend = _ref3.MapLegend;
|
|
198
|
+
var mapLegend = (mapControls === null || mapControls === void 0 ? void 0 : mapControls.mapLegend) || {};
|
|
199
|
+
var _ref4 = mapLegend || {},
|
|
200
|
+
active = _ref4.active,
|
|
201
|
+
disableEdit = _ref4.disableEdit;
|
|
202
|
+
var rootContext = (0, _react.useContext)(_context.RootContext);
|
|
203
|
+
var onClick = (0, _react.useCallback)(function () {
|
|
204
|
+
var _mapControls$mapDraw;
|
|
205
|
+
onClickControlBtn === null || onClickControlBtn === void 0 || onClickControlBtn();
|
|
206
|
+
if (mapControls !== null && mapControls !== void 0 && (_mapControls$mapDraw = mapControls.mapDraw) !== null && _mapControls$mapDraw !== void 0 && _mapControls$mapDraw.active) {
|
|
207
|
+
onToggleMapControl('mapDraw');
|
|
133
208
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
209
|
+
onToggleMapControl('mapLegend');
|
|
210
|
+
}, [onClickControlBtn, onToggleMapControl, mapControls]);
|
|
211
|
+
var onCloseClick = (0, _react.useCallback)(function (e) {
|
|
212
|
+
e.preventDefault();
|
|
213
|
+
onToggleMapControl('mapLegend');
|
|
214
|
+
}, [onToggleMapControl]);
|
|
215
|
+
if (!mapLegend.show) {
|
|
216
|
+
return null;
|
|
217
|
+
}
|
|
218
|
+
var legendPanel = active ? /*#__PURE__*/_react["default"].createElement(MapControlPanel, {
|
|
219
|
+
scale: scale,
|
|
220
|
+
header: "header.layerLegend",
|
|
221
|
+
onClick: onCloseClick,
|
|
222
|
+
pinnable: false,
|
|
223
|
+
disableClose: false,
|
|
224
|
+
isExport: isExport,
|
|
225
|
+
logoComponent: logoComponent,
|
|
226
|
+
mapState: mapState,
|
|
227
|
+
onToggleSplitMapViewport: onToggleSplitMapViewport,
|
|
228
|
+
isViewportUnsyncAllowed: isViewportUnsyncAllowed,
|
|
229
|
+
className: className
|
|
230
|
+
}, /*#__PURE__*/_react["default"].createElement(MapLegend, {
|
|
231
|
+
layers: layers,
|
|
232
|
+
mapState: mapState,
|
|
233
|
+
disableEdit: disableEdit,
|
|
234
|
+
isExport: isExport,
|
|
235
|
+
onLayerVisConfigChange: onLayerVisConfigChange
|
|
236
|
+
})) : null;
|
|
237
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, active ? (0, _utils.hasPortableWidth)(_styles.breakPointValues) ? legendPanel : isExport ? /*#__PURE__*/_react["default"].createElement(ImageExportLegend, {
|
|
238
|
+
isSidePanelShown: isSidePanelShown,
|
|
239
|
+
settings: settings
|
|
240
|
+
}, legendPanel) : ( /*#__PURE__*/(0, _reactDom.createPortal)( /*#__PURE__*/_react["default"].createElement(DraggableLegend, null, legendPanel), (_rootContext$current = rootContext === null || rootContext === void 0 ? void 0 : rootContext.current) !== null && _rootContext$current !== void 0 ? _rootContext$current : document.body)) : null, !isExport ? /*#__PURE__*/_react["default"].createElement(MapControlTooltip, {
|
|
241
|
+
id: "show-legend",
|
|
242
|
+
message: "tooltip.showLegend"
|
|
243
|
+
}, /*#__PURE__*/_react["default"].createElement(_styledComponents2.MapControlButton, {
|
|
244
|
+
className: "map-control-button show-legend",
|
|
245
|
+
onClick: onClick
|
|
246
|
+
}, /*#__PURE__*/_react["default"].createElement(actionIcons.legend, {
|
|
247
|
+
height: "22px"
|
|
248
|
+
}))) : null);
|
|
249
|
+
};
|
|
250
|
+
function MapLegendPanelFactory(MapControlTooltip, MapControlPanel, MapLegend) {
|
|
251
|
+
var MapLegendPanel = (0, _injector.withState)([], function (state) {
|
|
252
|
+
var _state$demo$keplerGl$2, _state$demo, _mapControls$mapLegen2;
|
|
253
|
+
var _ref5 = (_state$demo$keplerGl$2 = (_state$demo = state.demo) === null || _state$demo === void 0 ? void 0 : _state$demo.keplerGl.map.uiState) !== null && _state$demo$keplerGl$2 !== void 0 ? _state$demo$keplerGl$2 : {},
|
|
254
|
+
activeSidePanel = _ref5.activeSidePanel,
|
|
255
|
+
mapControls = _ref5.mapControls;
|
|
256
|
+
return {
|
|
257
|
+
isSidePanelShown: activeSidePanel,
|
|
258
|
+
settings: mapControls === null || mapControls === void 0 || (_mapControls$mapLegen2 = mapControls.mapLegend) === null || _mapControls$mapLegen2 === void 0 ? void 0 : _mapControls$mapLegen2.settings,
|
|
259
|
+
MapControlTooltip: MapControlTooltip,
|
|
260
|
+
MapControlPanel: MapControlPanel,
|
|
261
|
+
MapLegend: MapLegend
|
|
262
|
+
};
|
|
263
|
+
}, {
|
|
264
|
+
setMapControlSettings: _actions.setMapControlSettings
|
|
265
|
+
})(MapLegendPanelComponent);
|
|
151
266
|
MapLegendPanel.displayName = 'MapLegendPanel';
|
|
152
267
|
return (0, _styledComponents.withTheme)(MapLegendPanel);
|
|
153
268
|
}
|
|
154
269
|
var _default = exports["default"] = MapLegendPanelFactory;
|
|
155
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3REb20iLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pY29ucyIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl9tYXBDb250cm9sVG9vbHRpcCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfbWFwQ29udHJvbFBhbmVsIiwiX21hcExlZ2VuZCIsIl9jb25zdGFudHMiLCJfc3R5bGVzIiwiX2NvbnRleHQiLCJfcmVhY3QyIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIk1hcExlZ2VuZFBhbmVsRmFjdG9yeSIsImRlcHMiLCJNYXBDb250cm9sVG9vbHRpcEZhY3RvcnkiLCJNYXBDb250cm9sUGFuZWxGYWN0b3J5IiwiTWFwTGVnZW5kRmFjdG9yeSIsIlBpblRvQm90dG9tIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJESU1FTlNJT05TIiwibWFwQ29udHJvbCIsIm1hcExlZ2VuZCIsInBpbm5lZCIsImJvdHRvbSIsInByb3BzIiwib2Zmc2V0UmlnaHQiLCJyaWdodCIsIm1lZGlhIiwicG9ydGFibGUiLCJ3aWR0aCIsIk1hcENvbnRyb2xUb29sdGlwIiwiTWFwQ29udHJvbFBhbmVsIiwiTWFwTGVnZW5kIiwiZGVmYXVsdEFjdGlvbkljb25zIiwibGVnZW5kIiwiTGVnZW5kIiwiTWFwTGVnZW5kUGFuZWwiLCJfcmVmIiwidGhlbWUiLCJsYXllcnMiLCJtYXBDb250cm9scyIsInNjYWxlIiwib25Ub2dnbGVNYXBDb250cm9sIiwiaXNFeHBvcnQiLCJsb2dvQ29tcG9uZW50IiwiX3JlZiRhY3Rpb25JY29ucyIsImFjdGlvbkljb25zIiwibWFwU3RhdGUiLCJvblRvZ2dsZVNwbGl0TWFwVmlld3BvcnQiLCJvbkNsaWNrQ29udHJvbEJ0biIsIl9yZWYkaXNWaWV3cG9ydFVuc3luYyIsImlzVmlld3BvcnRVbnN5bmNBbGxvd2VkIiwiY2xhc3NOYW1lIiwib25MYXllclZpc0NvbmZpZ0NoYW5nZSIsIl9yZWYyIiwiaXNQaW5uZWQiLCJhY3RpdmUiLCJkaXNhYmxlRWRpdCIsInJvb3RDb250ZXh0IiwidXNlQ29udGV4dCIsIlJvb3RDb250ZXh0IiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiaXNPcGVuZWQiLCJzZXRJc09wZW5lZCIsIl91c2VGbG9hdGluZyIsInVzZUZsb2F0aW5nIiwicGxhY2VtZW50Iiwib3BlbiIsIm9uT3BlbkNoYW5nZSIsIm1pZGRsZXdhcmUiLCJvZmZzZXQiLCJyZWZzIiwiY29udGV4dCIsImZsb2F0aW5nU3R5bGVzIiwiY2xpY2siLCJ1c2VDbGljayIsImRpc21pc3MiLCJ1c2VEaXNtaXNzIiwiX3VzZUludGVyYWN0aW9ucyIsInVzZUludGVyYWN0aW9ucyIsImdldEZsb2F0aW5nUHJvcHMiLCJnZXRSZWZlcmVuY2VQcm9wcyIsIm9uQ2xpY2siLCJ1c2VDYWxsYmFjayIsIl9tYXBDb250cm9scyRtYXBEcmF3IiwibWFwRHJhdyIsIm9uQ2xvc2VDbGljayIsInByZXZlbnREZWZhdWx0Iiwib25QaW5DbGljayIsInNob3ciLCJtYXBDb250cm9sUGFuZWwiLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMyIiwiaGVhZGVyIiwicGlubmFibGUiLCJkaXNhYmxlQ2xvc2UiLCJfbWFwQ29udHJvbHMkZWZmZWN0IiwiX21hcENvbnRyb2xzJGVmZmVjdDIiLCJfbWFwQ29udHJvbHMkYWlBc3Npc3QiLCJfbWFwQ29udHJvbHMkYWlBc3Npc3QyIiwicGlubmVkT2Zmc2V0UmlnaHQiLCJlZmZlY3QiLCJlZmZlY3RQYW5lbFdpZHRoIiwiYWlBc3Npc3RhbnQiLCJhaUFzc2lzdGFudFBhbmVsV2lkdGgiLCJwaW5uZWRQYW5lbCIsImNyZWF0ZVBvcnRhbCIsImN1cnJlbnQiLCJkb2N1bWVudCIsImJvZHkiLCJGcmFnbWVudCIsIkZsb2F0aW5nUG9ydGFsIiwicm9vdCIsInJlZiIsInNldEZsb2F0aW5nIiwic3R5bGUiLCJzZXRSZWZlcmVuY2UiLCJpZCIsIm1lc3NhZ2UiLCJNYXBDb250cm9sQnV0dG9uIiwiaGVpZ2h0IiwiZGlzcGxheU5hbWUiLCJ3aXRoVGhlbWUiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbWFwL21hcC1sZWdlbmQtcGFuZWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCB7Y3JlYXRlUG9ydGFsfSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50VHlwZSwgdXNlQ2FsbGJhY2ssIHVzZUNvbnRleHQsIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkLCB7d2l0aFRoZW1lfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5cbmltcG9ydCB7TGVnZW5kfSBmcm9tICcuLi9jb21tb24vaWNvbnMnO1xuaW1wb3J0IHtNYXBDb250cm9sQnV0dG9ufSBmcm9tICcuLi9jb21tb24vc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IE1hcENvbnRyb2xUb29sdGlwRmFjdG9yeSBmcm9tICcuL21hcC1jb250cm9sLXRvb2x0aXAnO1xuaW1wb3J0IE1hcENvbnRyb2xQYW5lbEZhY3RvcnkgZnJvbSAnLi9tYXAtY29udHJvbC1wYW5lbCc7XG5pbXBvcnQgTWFwTGVnZW5kRmFjdG9yeSBmcm9tICcuL21hcC1sZWdlbmQnO1xuXG5pbXBvcnQge0RJTUVOU0lPTlN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7TGF5ZXJWaXNDb25maWcsIE1hcENvbnRyb2xNYXBMZWdlbmQsIE1hcENvbnRyb2xzLCBNYXBTdGF0ZX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge0xheWVyfSBmcm9tICdAa2VwbGVyLmdsL2xheWVycyc7XG5pbXBvcnQge21lZGlhfSBmcm9tICdAa2VwbGVyLmdsL3N0eWxlcyc7XG5pbXBvcnQge0FjdGlvbkhhbmRsZXIsIHRvZ2dsZVNwbGl0TWFwVmlld3BvcnR9IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5cbmltcG9ydCB7Um9vdENvbnRleHR9IGZyb20gJy4uL2NvbnRleHQnO1xuXG5NYXBMZWdlbmRQYW5lbEZhY3RvcnkuZGVwcyA9IFtNYXBDb250cm9sVG9vbHRpcEZhY3RvcnksIE1hcENvbnRyb2xQYW5lbEZhY3RvcnksIE1hcExlZ2VuZEZhY3RvcnldO1xuXG5leHBvcnQgdHlwZSBNYXBMZWdlbmRQYW5lbEZhY3RvcnlEZXBzID0gW1xuICB0eXBlb2YgTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5LFxuICB0eXBlb2YgTWFwQ29udHJvbFBhbmVsRmFjdG9yeSxcbiAgdHlwZW9mIE1hcExlZ2VuZEZhY3Rvcnlcbl07XG5pbnRlcmZhY2UgUGluVG9Cb3R0b21Qcm9wcyB7XG4gIG9mZnNldFJpZ2h0PzogbnVtYmVyO1xufVxuaW1wb3J0IHtcbiAgRmxvYXRpbmdQb3J0YWwsXG4gIG9mZnNldCxcbiAgdXNlQ2xpY2ssXG4gIHVzZURpc21pc3MsXG4gIHVzZUZsb2F0aW5nLFxuICB1c2VJbnRlcmFjdGlvbnNcbn0gZnJvbSAnQGZsb2F0aW5nLXVpL3JlYWN0JztcblxuY29uc3QgUGluVG9Cb3R0b20gPSBzdHlsZWQuZGl2PFBpblRvQm90dG9tUHJvcHM+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogJHtESU1FTlNJT05TLm1hcENvbnRyb2wubWFwTGVnZW5kLnBpbm5lZC5ib3R0b219cHg7XG4gIHJpZ2h0OiAke3Byb3BzID0+IChwcm9wcy5vZmZzZXRSaWdodCB8fCAwKSArIERJTUVOU0lPTlMubWFwQ29udHJvbC5tYXBMZWdlbmQucGlubmVkLnJpZ2h0fXB4O1xuICAke21lZGlhLnBvcnRhYmxlYFxuICAgIGJvdHRvbTogMHB4O1xuICAgIHJpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAke0RJTUVOU0lPTlMubWFwQ29udHJvbC53aWR0aCArIERJTUVOU0lPTlMubWFwQ29udHJvbC5tYXBMZWdlbmQucGlubmVkLnJpZ2h0fXB4O1xuICAgIC5tYXAtY29udHJvbC1wYW5lbCB7XG4gICAgICBtaW4taGVpZ2h0OiAyMTVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICB9O1xuICBgfTtcbmA7XG5cbmludGVyZmFjZSBNYXBMZWdlbmRQYW5lbEljb25zIHtcbiAgbGVnZW5kOiBDb21wb25lbnRUeXBlPGFueT47XG59XG5cbmV4cG9ydCB0eXBlIE1hcExlZ2VuZFBhbmVsUHJvcHMgPSB7XG4gIHRoZW1lOiBhbnk7XG4gIGxheWVyczogUmVhZG9ubHlBcnJheTxMYXllcj47XG4gIHNjYWxlOiBudW1iZXI7XG4gIG9uVG9nZ2xlTWFwQ29udHJvbDogKGNvbnRyb2w6IHN0cmluZykgPT4gdm9pZDtcbiAgaXNFeHBvcnQ6IGJvb2xlYW47XG4gIGxvZ29Db21wb25lbnQ6IEVsZW1lbnQ7XG4gIGFjdGlvbkljb25zOiBNYXBMZWdlbmRQYW5lbEljb25zO1xuICBtYXBDb250cm9sczogTWFwQ29udHJvbHM7XG4gIG1hcFN0YXRlPzogTWFwU3RhdGU7XG4gIG1hcEhlaWdodD86IG51bWJlcjtcbiAgb2Zmc2V0UmlnaHQ/OiBudW1iZXI7XG4gIG9uVG9nZ2xlU3BsaXRNYXBWaWV3cG9ydD86IEFjdGlvbkhhbmRsZXI8dHlwZW9mIHRvZ2dsZVNwbGl0TWFwVmlld3BvcnQ+O1xuICBpc1ZpZXdwb3J0VW5zeW5jQWxsb3dlZD86IGJvb2xlYW47XG4gIG9uQ2xpY2tDb250cm9sQnRuPzogKGU/OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuICBvbkxheWVyVmlzQ29uZmlnQ2hhbmdlPzogKG9sZExheWVyOiBMYXllciwgbmV3VmlzQ29uZmlnOiBQYXJ0aWFsPExheWVyVmlzQ29uZmlnPikgPT4gdm9pZDtcbiAgY2xhc3NOYW1lOiBzdHJpbmc7XG59O1xuXG5mdW5jdGlvbiBNYXBMZWdlbmRQYW5lbEZhY3RvcnkoTWFwQ29udHJvbFRvb2x0aXAsIE1hcENvbnRyb2xQYW5lbCwgTWFwTGVnZW5kKSB7XG4gIGNvbnN0IGRlZmF1bHRBY3Rpb25JY29ucyA9IHtcbiAgICBsZWdlbmQ6IExlZ2VuZFxuICB9O1xuXG4gIGNvbnN0IE1hcExlZ2VuZFBhbmVsOiBSZWFjdC5GQzxNYXBMZWdlbmRQYW5lbFByb3BzPiA9ICh7XG4gICAgdGhlbWUsXG4gICAgbGF5ZXJzLFxuICAgIG1hcENvbnRyb2xzLFxuICAgIHNjYWxlLFxuICAgIG9uVG9nZ2xlTWFwQ29udHJvbCxcbiAgICBpc0V4cG9ydCxcbiAgICBsb2dvQ29tcG9uZW50LFxuICAgIGFjdGlvbkljb25zID0gZGVmYXVsdEFjdGlvbkljb25zLFxuICAgIG1hcFN0YXRlLFxuICAgIG9mZnNldFJpZ2h0LFxuICAgIG9uVG9nZ2xlU3BsaXRNYXBWaWV3cG9ydCxcbiAgICBvbkNsaWNrQ29udHJvbEJ0bixcbiAgICBpc1ZpZXdwb3J0VW5zeW5jQWxsb3dlZCA9IHRydWUsXG4gICAgY2xhc3NOYW1lLFxuICAgIG9uTGF5ZXJWaXNDb25maWdDaGFuZ2VcbiAgfSkgPT4ge1xuICAgIGNvbnN0IG1hcExlZ2VuZCA9IG1hcENvbnRyb2xzPy5tYXBMZWdlbmQgfHwgKHt9IGFzIE1hcENvbnRyb2xNYXBMZWdlbmQpO1xuICAgIGNvbnN0IHthY3RpdmU6IGlzUGlubmVkLCBkaXNhYmxlRWRpdH0gPSBtYXBMZWdlbmQgfHwge307XG4gICAgY29uc3Qgcm9vdENvbnRleHQgPSB1c2VDb250ZXh0KFJvb3RDb250ZXh0KTtcbiAgICBjb25zdCBbaXNPcGVuZWQsIHNldElzT3BlbmVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICAgIGNvbnN0IHtyZWZzLCBjb250ZXh0LCBmbG9hdGluZ1N0eWxlc30gPSB1c2VGbG9hdGluZyh7XG4gICAgICBwbGFjZW1lbnQ6ICdsZWZ0LXN0YXJ0JyxcbiAgICAgIG9wZW46IGlzT3BlbmVkLFxuICAgICAgb25PcGVuQ2hhbmdlOiBzZXRJc09wZW5lZCxcbiAgICAgIG1pZGRsZXdhcmU6IFtvZmZzZXQoMTApXVxuICAgIH0pO1xuXG4gICAgY29uc3QgY2xpY2sgPSB1c2VDbGljayhjb250ZXh0KTtcbiAgICBjb25zdCBkaXNtaXNzID0gdXNlRGlzbWlzcyhjb250ZXh0KTtcbiAgICBjb25zdCB7Z2V0RmxvYXRpbmdQcm9wcywgZ2V0UmVmZXJlbmNlUHJvcHN9ID0gdXNlSW50ZXJhY3Rpb25zKFtjbGljaywgZGlzbWlzc10pO1xuXG4gICAgY29uc3Qgb25DbGljayA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIG9uQ2xpY2tDb250cm9sQnRuPy4oKTtcbiAgICAgIGlmIChtYXBDb250cm9scz8ubWFwRHJhdz8uYWN0aXZlKSB7XG4gICAgICAgIG9uVG9nZ2xlTWFwQ29udHJvbCgnbWFwRHJhdycpO1xuICAgICAgfVxuICAgIH0sIFtvbkNsaWNrQ29udHJvbEJ0biwgb25Ub2dnbGVNYXBDb250cm9sLCBtYXBDb250cm9sc10pO1xuICAgIGNvbnN0IG9uQ2xvc2VDbGljayA9IHVzZUNhbGxiYWNrKFxuICAgICAgZSA9PiB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgb25Ub2dnbGVNYXBDb250cm9sKCdtYXBMZWdlbmQnKTtcbiAgICAgIH0sXG4gICAgICBbb25Ub2dnbGVNYXBDb250cm9sXVxuICAgICk7XG4gICAgY29uc3Qgb25QaW5DbGljayA9IHVzZUNhbGxiYWNrKFxuICAgICAgZSA9PiB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgc2V0SXNPcGVuZWQoZmFsc2UpO1xuICAgICAgICBvblRvZ2dsZU1hcENvbnRyb2woJ21hcExlZ2VuZCcpO1xuICAgICAgfSxcbiAgICAgIFtzZXRJc09wZW5lZCwgb25Ub2dnbGVNYXBDb250cm9sXVxuICAgICk7XG5cbiAgICBpZiAoIW1hcExlZ2VuZC5zaG93KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgbWFwQ29udHJvbFBhbmVsID0gKFxuICAgICAgPE1hcENvbnRyb2xQYW5lbFxuICAgICAgICBzY2FsZT17c2NhbGV9XG4gICAgICAgIGhlYWRlcj1cImhlYWRlci5sYXllckxlZ2VuZFwiXG4gICAgICAgIGlzUGlubmVkPXt0cnVlfVxuICAgICAgICB7Li4uKGlzUGlubmVkXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIG9uQ2xpY2s6IG9uQ2xvc2VDbGljayxcbiAgICAgICAgICAgICAgcGlubmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IGZhbHNlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7XG4gICAgICAgICAgICAgIG9uUGluQ2xpY2ssXG4gICAgICAgICAgICAgIHBpbm5hYmxlOiB0cnVlLFxuICAgICAgICAgICAgICBkaXNhYmxlQ2xvc2U6IHRydWVcbiAgICAgICAgICAgIH0pfVxuICAgICAgICBpc0V4cG9ydD17aXNFeHBvcnR9XG4gICAgICAgIGxvZ29Db21wb25lbnQ9e2xvZ29Db21wb25lbnR9XG4gICAgICAgIG1hcFN0YXRlPXttYXBTdGF0ZX1cbiAgICAgICAgb25Ub2dnbGVTcGxpdE1hcFZpZXdwb3J0PXtvblRvZ2dsZVNwbGl0TWFwVmlld3BvcnR9XG4gICAgICAgIGlzVmlld3BvcnRVbnN5bmNBbGxvd2VkPXtpc1ZpZXdwb3J0VW5zeW5jQWxsb3dlZH1cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICA+XG4gICAgICAgIDxNYXBMZWdlbmRcbiAgICAgICAgICBsYXllcnM9e2xheWVyc31cbiAgICAgICAgICBtYXBTdGF0ZT17bWFwU3RhdGV9XG4gICAgICAgICAgZGlzYWJsZUVkaXQ9e2Rpc2FibGVFZGl0fVxuICAgICAgICAgIGlzRXhwb3J0PXtpc0V4cG9ydH1cbiAgICAgICAgICBvbkxheWVyVmlzQ29uZmlnQ2hhbmdlPXtvbkxheWVyVmlzQ29uZmlnQ2hhbmdlfVxuICAgICAgICAvPlxuICAgICAgPC9NYXBDb250cm9sUGFuZWw+XG4gICAgKTtcblxuICAgIGlmIChpc1Bpbm5lZCkge1xuICAgICAgLy8gUGlubmVkIHBhbmVsIGlzIG5vdCBzdXBwb3J0ZWQgaW4gZXhwb3J0IG1vZGVcbiAgICAgIGlmIChpc0V4cG9ydCkge1xuICAgICAgICByZXR1cm4gbWFwQ29udHJvbFBhbmVsO1xuICAgICAgfVxuICAgICAgY29uc3QgcGlubmVkT2Zmc2V0UmlnaHQgPVxuICAgICAgICBtYXBDb250cm9scz8uZWZmZWN0Py5zaG93ICYmIG1hcENvbnRyb2xzPy5lZmZlY3Q/LmFjdGl2ZVxuICAgICAgICAgID8gdGhlbWUuZWZmZWN0UGFuZWxXaWR0aCArIDEwXG4gICAgICAgICAgOiBtYXBDb250cm9scz8uYWlBc3Npc3RhbnQ/LnNob3cgJiYgbWFwQ29udHJvbHM/LmFpQXNzaXN0YW50Py5hY3RpdmVcbiAgICAgICAgICA/IHRoZW1lLmFpQXNzaXN0YW50UGFuZWxXaWR0aCArIDEwXG4gICAgICAgICAgOiAwO1xuICAgICAgY29uc3QgcGlubmVkUGFuZWwgPSAoXG4gICAgICAgIDxQaW5Ub0JvdHRvbSBvZmZzZXRSaWdodD17cGlubmVkT2Zmc2V0UmlnaHR9PnttYXBDb250cm9sUGFuZWx9PC9QaW5Ub0JvdHRvbT5cbiAgICAgICk7XG4gICAgICByZXR1cm4gY3JlYXRlUG9ydGFsKHBpbm5lZFBhbmVsLCByb290Q29udGV4dD8uY3VycmVudCB8fCBkb2N1bWVudC5ib2R5KTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAge2lzT3BlbmVkID8gKFxuICAgICAgICAgIDxGbG9hdGluZ1BvcnRhbCByb290PXtyb290Q29udGV4dD8uY3VycmVudH0+XG4gICAgICAgICAgICA8ZGl2IHJlZj17cmVmcy5zZXRGbG9hdGluZ30gc3R5bGU9e2Zsb2F0aW5nU3R5bGVzfSB7Li4uZ2V0RmxvYXRpbmdQcm9wcygpfT5cbiAgICAgICAgICAgICAge21hcENvbnRyb2xQYW5lbH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvRmxvYXRpbmdQb3J0YWw+XG4gICAgICAgICkgOiBudWxsfVxuICAgICAgICA8ZGl2IHJlZj17cmVmcy5zZXRSZWZlcmVuY2V9IHsuLi5nZXRSZWZlcmVuY2VQcm9wcygpfT5cbiAgICAgICAgICA8TWFwQ29udHJvbFRvb2x0aXAgaWQ9XCJzaG93LWxlZ2VuZFwiIG1lc3NhZ2U9XCJ0b29sdGlwLnNob3dMZWdlbmRcIj5cbiAgICAgICAgICAgIDxNYXBDb250cm9sQnV0dG9uIGNsYXNzTmFtZT1cIm1hcC1jb250cm9sLWJ1dHRvbiBzaG93LWxlZ2VuZFwiIG9uQ2xpY2s9e29uQ2xpY2t9PlxuICAgICAgICAgICAgICA8YWN0aW9uSWNvbnMubGVnZW5kIGhlaWdodD1cIjIycHhcIiAvPlxuICAgICAgICAgICAgPC9NYXBDb250cm9sQnV0dG9uPlxuICAgICAgICAgIDwvTWFwQ29udHJvbFRvb2x0aXA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICBNYXBMZWdlbmRQYW5lbC5kaXNwbGF5TmFtZSA9ICdNYXBMZWdlbmRQYW5lbCc7XG4gIHJldHVybiB3aXRoVGhlbWUoTWFwTGVnZW5kUGFuZWwpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBNYXBMZWdlbmRQYW5lbEZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBR0EsSUFBQUEsU0FBQSxHQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFB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O01BQ1AsSUFBTUMsV0FBVyxnQkFDZnJJLE1BQUEsWUFBQXVILGFBQUEsQ0FBQy9FLFdBQVc7UUFBQ1UsV0FBVyxFQUFFOEU7TUFBa0IsR0FBRVYsZUFBNkIsQ0FDNUU7TUFDRCxvQkFBTyxJQUFBZ0Isc0JBQVksRUFBQ0QsV0FBVyxFQUFFLENBQUFsRCxXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRW9ELE9BQU8sS0FBSUMsUUFBUSxDQUFDQyxJQUFJLENBQUM7SUFDekU7SUFFQSxvQkFDRXpJLE1BQUEsWUFBQXVILGFBQUEsQ0FBQXZILE1BQUEsWUFBQTBJLFFBQUEsUUFDR2hELFFBQVEsZ0JBQ1AxRixNQUFBLFlBQUF1SCxhQUFBLENBQUMzRyxPQUFBLENBQUErSCxjQUFjO01BQUNDLElBQUksRUFBRXpELFdBQVcsYUFBWEEsV0FBVyx1QkFBWEEsV0FBVyxDQUFFb0Q7SUFBUSxnQkFDekN2SSxNQUFBLFlBQUF1SCxhQUFBLFlBQUFDLFNBQUE7TUFBS3FCLEdBQUcsRUFBRTFDLElBQUksQ0FBQzJDLFdBQVk7TUFBQ0MsS0FBSyxFQUFFMUM7SUFBZSxHQUFLTyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQ3RFVSxlQUNFLENBQ1MsQ0FBQyxHQUNmLElBQUksZUFDUnRILE1BQUEsWUFBQXVILGFBQUEsWUFBQUMsU0FBQTtNQUFLcUIsR0FBRyxFQUFFMUMsSUFBSSxDQUFDNkM7SUFBYSxHQUFLbkMsaUJBQWlCLENBQUMsQ0FBQyxnQkFDbEQ3RyxNQUFBLFlBQUF1SCxhQUFBLENBQUNoRSxpQkFBaUI7TUFBQzBGLEVBQUUsRUFBQyxhQUFhO01BQUNDLE9BQU8sRUFBQztJQUFvQixnQkFDOURsSixNQUFBLFlBQUF1SCxhQUFBLENBQUNuSCxrQkFBQSxDQUFBK0ksZ0JBQWdCO01BQUN0RSxTQUFTLEVBQUMsZ0NBQWdDO01BQUNpQyxPQUFPLEVBQUVBO0lBQVEsZ0JBQzVFOUcsTUFBQSxZQUFBdUgsYUFBQSxDQUFDaEQsV0FBVyxDQUFDWixNQUFNO01BQUN5RixNQUFNLEVBQUM7SUFBTSxDQUFFLENBQ25CLENBQ0QsQ0FDaEIsQ0FDTCxDQUFDO0VBRVAsQ0FBQztFQUVEdkYsY0FBYyxDQUFDd0YsV0FBVyxHQUFHLGdCQUFnQjtFQUM3QyxPQUFPLElBQUFDLDJCQUFTLEVBQUN6RixjQUFjLENBQUM7QUFDbEM7QUFBQyxJQUFBMEYsUUFBQSxHQUFBQyxPQUFBLGNBRWNySCxxQkFBcUIiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
270
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0RG9tIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9jb3JlIiwiX3V0aWxpdGllcyIsIl9yZWFjdDIiLCJfYWN0aW9ucyIsIl9zdHlsZXMiLCJfdXRpbHMiLCJfaWNvbnMiLCJfc3R5bGVkQ29tcG9uZW50czIiLCJfY29udGV4dCIsIl91c2VMZWdlbmRQb3NpdGlvbjMiLCJfaW5qZWN0b3IiLCJfbWFwQ29udHJvbFBhbmVsIiwiX21hcENvbnRyb2xUb29sdGlwIiwiX21hcExlZ2VuZCIsIl9tb2RpZmllcnMiLCJfdGVtcGxhdGVPYmplY3QiLCJfdGVtcGxhdGVPYmplY3QyIiwiX3RlbXBsYXRlT2JqZWN0MyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIkRSQUdfUkVTSVpFX0lEIiwiRFJBR19NT1ZFX0lEIiwiU3R5bGVkRHJhZ2dhYmxlTGVnZW5kQ29udGVudCIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsImFjdGl2ZUNvbG9yIiwiY29udGVudEhlaWdodCIsImNvbmNhdCIsIlN0eWxlZE1vdmVIYW5kbGUiLCJTdHlsZWRSZXNpemVIYW5kbGUiLCJEcmFnZ2FibGVMZWdlbmRDb250ZW50IiwiZm9yd2FyZFJlZiIsInJlZiIsInBvc2l0aW9uU3R5bGVzIiwiY2hpbGRyZW4iLCJkcmFnZ2FibGVNb3ZlIiwidXNlRHJhZ2dhYmxlIiwiaWQiLCJkcmFnZ2FibGVSZXNpemUiLCJyZWZzIiwidXNlTWVyZ2VSZWZzIiwic2V0Tm9kZVJlZiIsImlzRHJhZ2dpbmciLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMyIiwiY2xhc3NOYW1lIiwiY2xhc3NuYW1lcyIsInN0eWxlIiwidHJhbnNmb3JtIiwiQ1NTIiwiVHJhbnNsYXRlIiwidG9TdHJpbmciLCJhdHRyaWJ1dGVzIiwibGlzdGVuZXJzIiwiRHJhZ2dhYmxlRG90cyIsImhlaWdodCIsIkhvcml6b250YWxSZXNpemVIYW5kbGUiLCJEcmFnZ2FibGVMZWdlbmQiLCJ3aXRoU3RhdGUiLCJzdGF0ZSIsIl9tYXBDb250cm9scyRtYXBMZWdlbiIsIl9zdGF0ZSRkZW1vJGtlcGxlckdsJCIsImRlbW8iLCJrZXBsZXJHbCIsIm1hcCIsInVpU3RhdGUiLCJhY3RpdmVTaWRlUGFuZWwiLCJtYXBDb250cm9scyIsImlzU2lkZVBhbmVsU2hvd24iLCJzZXR0aW5ncyIsIm1hcExlZ2VuZCIsInNldE1hcENvbnRyb2xTZXR0aW5ncyIsIndpdGhUaGVtZSIsIl9yZWYiLCJsZWdlbmRDb250ZW50UmVmIiwidXNlUmVmIiwib25DaGFuZ2VTZXR0aW5ncyIsInVzZUNhbGxiYWNrIiwibmV3U2V0dGluZ3MiLCJfdXNlTGVnZW5kUG9zaXRpb24iLCJ1c2VMZWdlbmRQb3NpdGlvbiIsInVwZGF0ZVBvc2l0aW9uIiwic3RhcnRSZXNpemUiLCJyZXNpemUiLCJoYW5kbGVEcmFnU3RhcnQiLCJldmVudCIsImFjdGl2ZSIsImhhbmRsZURyYWdFbmQiLCJoYW5kbGVEcmFnTW92ZSIsImRlbHRhIiwieSIsIkRuZENvbnRleHQiLCJvbkRyYWdTdGFydCIsIm9uRHJhZ01vdmUiLCJvbkRyYWdFbmQiLCJtb2RpZmllcnMiLCJyZXN0cmljdFRvV2luZG93RWRnZXMiLCJJbWFnZUV4cG9ydExlZ2VuZCIsIl9yZWYyIiwiX2NvbnRhaW5lclJlZiRjdXJyZW50IiwiY29udGFpbmVyUmVmIiwiX3VzZUxlZ2VuZFBvc2l0aW9uMiIsInBvcnRhbFJvb3QiLCJjdXJyZW50IiwiY2xvc2VzdCIsInF1ZXJ5U2VsZWN0b3IiLCJjcmVhdGVQb3J0YWwiLCJwb3NpdGlvbiIsIk1hcExlZ2VuZFBhbmVsRmFjdG9yeSIsImRlcHMiLCJNYXBDb250cm9sVG9vbHRpcEZhY3RvcnkiLCJNYXBDb250cm9sUGFuZWxGYWN0b3J5IiwiTWFwTGVnZW5kRmFjdG9yeSIsImRlZmF1bHRBY3Rpb25JY29ucyIsImxlZ2VuZCIsIkxlZ2VuZCIsIk1hcExlZ2VuZFBhbmVsQ29tcG9uZW50IiwiX3JlZjMiLCJfcm9vdENvbnRleHQkY3VycmVudCIsImxheWVycyIsInNjYWxlIiwib25Ub2dnbGVNYXBDb250cm9sIiwiaXNFeHBvcnQiLCJsb2dvQ29tcG9uZW50IiwiX3JlZjMkYWN0aW9uSWNvbnMiLCJhY3Rpb25JY29ucyIsIm1hcFN0YXRlIiwib25MYXllclZpc0NvbmZpZ0NoYW5nZSIsIm9uVG9nZ2xlU3BsaXRNYXBWaWV3cG9ydCIsIm9uQ2xpY2tDb250cm9sQnRuIiwiX3JlZjMkaXNWaWV3cG9ydFVuc3luIiwiaXNWaWV3cG9ydFVuc3luY0FsbG93ZWQiLCJpbnRlcmFjdGlvbkNvbmZpZyIsIk1hcENvbnRyb2xUb29sdGlwIiwiTWFwQ29udHJvbFBhbmVsIiwiTWFwTGVnZW5kIiwiX3JlZjQiLCJkaXNhYmxlRWRpdCIsInJvb3RDb250ZXh0IiwidXNlQ29udGV4dCIsIlJvb3RDb250ZXh0Iiwib25DbGljayIsIl9tYXBDb250cm9scyRtYXBEcmF3IiwibWFwRHJhdyIsIm9uQ2xvc2VDbGljayIsInByZXZlbnREZWZhdWx0Iiwic2hvdyIsImxlZ2VuZFBhbmVsIiwiaGVhZGVyIiwicGlubmFibGUiLCJkaXNhYmxlQ2xvc2UiLCJGcmFnbWVudCIsImhhc1BvcnRhYmxlV2lkdGgiLCJicmVha1BvaW50VmFsdWVzIiwiZG9jdW1lbnQiLCJib2R5IiwibWVzc2FnZSIsIk1hcENvbnRyb2xCdXR0b24iLCJNYXBMZWdlbmRQYW5lbCIsIl9zdGF0ZSRkZW1vJGtlcGxlckdsJDIiLCJfc3RhdGUkZGVtbyIsIl9tYXBDb250cm9scyRtYXBMZWdlbjIiLCJfcmVmNSIsImRpc3BsYXlOYW1lIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hcC9tYXAtbGVnZW5kLXBhbmVsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgY2xhc3NuYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCB7Y3JlYXRlUG9ydGFsfSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IFJlYWN0LCB7Q29tcG9uZW50VHlwZSwgRkMsIGZvcndhcmRSZWYsIHVzZUNhbGxiYWNrLCB1c2VDb250ZXh0LCB1c2VSZWZ9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQsIHt3aXRoVGhlbWV9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuaW1wb3J0IHtEbmRDb250ZXh0LCB1c2VEcmFnZ2FibGV9IGZyb20gJ0BkbmQta2l0L2NvcmUnO1xuaW1wb3J0IHtDU1N9IGZyb20gJ0BkbmQta2l0L3V0aWxpdGllcyc7XG5pbXBvcnQge3VzZU1lcmdlUmVmc30gZnJvbSAnQGZsb2F0aW5nLXVpL3JlYWN0JztcblxuaW1wb3J0IHtBY3Rpb25IYW5kbGVyLCBzZXRNYXBDb250cm9sU2V0dGluZ3MsIHRvZ2dsZVNwbGl0TWFwVmlld3BvcnR9IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5pbXBvcnQge0xheWVyfSBmcm9tICdAa2VwbGVyLmdsL2xheWVycyc7XG5pbXBvcnQge2JyZWFrUG9pbnRWYWx1ZXN9IGZyb20gJ0BrZXBsZXIuZ2wvc3R5bGVzJztcbmltcG9ydCB7TGF5ZXJWaXNDb25maWcsIE1hcENvbnRyb2xNYXBMZWdlbmQsIE1hcENvbnRyb2xzLCBNYXBTdGF0ZX0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5pbXBvcnQge2hhc1BvcnRhYmxlV2lkdGh9IGZyb20gJ0BrZXBsZXIuZ2wvdXRpbHMnO1xuXG5pbXBvcnQge0xlZ2VuZCwgRHJhZ2dhYmxlRG90cywgSG9yaXpvbnRhbFJlc2l6ZUhhbmRsZX0gZnJvbSAnLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCB7TWFwQ29udHJvbEJ1dHRvbn0gZnJvbSAnLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCB7Um9vdENvbnRleHR9IGZyb20gJy4uL2NvbnRleHQnO1xuaW1wb3J0IHVzZUxlZ2VuZFBvc2l0aW9uLCB7TWFwTGVnZW5kQ29udHJvbFNldHRpbmdzfSBmcm9tICcuLi9ob29rcy91c2UtbGVnZW5kLXBvc2l0aW9uJztcbmltcG9ydCB7d2l0aFN0YXRlfSBmcm9tICcuLi9pbmplY3Rvcic7XG5pbXBvcnQgTWFwQ29udHJvbFBhbmVsRmFjdG9yeSBmcm9tICcuL21hcC1jb250cm9sLXBhbmVsJztcbmltcG9ydCBNYXBDb250cm9sVG9vbHRpcEZhY3RvcnkgZnJvbSAnLi9tYXAtY29udHJvbC10b29sdGlwJztcbmltcG9ydCBNYXBMZWdlbmRGYWN0b3J5IGZyb20gJy4vbWFwLWxlZ2VuZCc7XG5pbXBvcnQge3Jlc3RyaWN0VG9XaW5kb3dFZGdlc30gZnJvbSAnQGRuZC1raXQvbW9kaWZpZXJzJztcblxuY29uc3QgRFJBR19SRVNJWkVfSUQgPSAnbWFwLWxlZ2VuZC1yZXNpemUnO1xuY29uc3QgRFJBR19NT1ZFX0lEID0gJ21hcC1sZWdlbmQtbW92ZSc7XG5cbmNvbnN0IFN0eWxlZERyYWdnYWJsZUxlZ2VuZENvbnRlbnQgPSBzdHlsZWQuZGl2PHtjb250ZW50SGVpZ2h0PzogbnVtYmVyfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAubGVnZW5kLWlucHV0LWJsb2NrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICYuaXMtZHJhZ2dpbmcgLmxlZ2VuZC1pbnB1dC1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAmOmhvdmVyLFxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICAubGVnZW5kLW1vdmUtaGFuZGxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG4gICAgLmxlZ2VuZC1yZXNpemUtaGFuZGxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB9XG4gICAgYm9yZGVyLWNvbG9yOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLmFjdGl2ZUNvbG9yfTtcbiAgfVxuICAubWFwLWNvbnRyb2xfX3BhbmVsLWNvbnRlbnQge1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxMDBweCk7XG4gICAgJHtwcm9wcyA9PiAocHJvcHMuY29udGVudEhlaWdodCA/IGBoZWlnaHQ6ICR7cHJvcHMuY29udGVudEhlaWdodH1weDtgIDogJycpfTtcbiAgfVxuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHotaW5kZXg6IDI7XG4gIC5tYXAtY29udHJvbC1wYW5lbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRNb3ZlSGFuZGxlID0gc3R5bGVkLmRpdmBcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogd2hpdGU7XG4gIHotaW5kZXg6IDI7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgd2lkdGg6IDQ4cHg7XG4gIGhlaWdodDogMTZweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjdXJzb3I6IG1vdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuYWN0aXZlQ29sb3J9O1xuYDtcblxuY29uc3QgU3R5bGVkUmVzaXplSGFuZGxlID0gc3R5bGVkLmRpdmBcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLWluLW91dDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogI2Y3ZjhmYTtcbiAgei1pbmRleDogMjtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB3aWR0aDogNDhweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogbnMtcmVzaXplO1xuYDtcblxuZXhwb3J0IHR5cGUgTWFwTGVnZW5kUGFuZWxGYWN0b3J5RGVwcyA9IFtcbiAgdHlwZW9mIE1hcENvbnRyb2xUb29sdGlwRmFjdG9yeSxcbiAgdHlwZW9mIE1hcENvbnRyb2xQYW5lbEZhY3RvcnksXG4gIHR5cGVvZiBNYXBMZWdlbmRGYWN0b3J5XG5dO1xuXG50eXBlIERyYWdnYWJsZUxlZ2VuZENvbnRlbnRQcm9wcyA9IHtcbiAgY29udGVudEhlaWdodD86IG51bWJlcjtcbiAgcG9zaXRpb25TdHlsZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xufTtcblxuY29uc3QgRHJhZ2dhYmxlTGVnZW5kQ29udGVudCA9IGZvcndhcmRSZWYoKHByb3BzOiBEcmFnZ2FibGVMZWdlbmRDb250ZW50UHJvcHMsIHJlZikgPT4ge1xuICBjb25zdCB7cG9zaXRpb25TdHlsZXMsIGNoaWxkcmVufSA9IHByb3BzO1xuICBjb25zdCBkcmFnZ2FibGVNb3ZlID0gdXNlRHJhZ2dhYmxlKHtpZDogRFJBR19NT1ZFX0lEfSk7XG4gIGNvbnN0IGRyYWdnYWJsZVJlc2l6ZSA9IHVzZURyYWdnYWJsZSh7aWQ6IERSQUdfUkVTSVpFX0lEfSk7XG4gIGNvbnN0IHJlZnMgPSB1c2VNZXJnZVJlZnMoW2RyYWdnYWJsZU1vdmUuc2V0Tm9kZVJlZiwgcmVmXSk7XG4gIGNvbnN0IGlzRHJhZ2dpbmcgPSBkcmFnZ2FibGVNb3ZlLmlzRHJhZ2dpbmcgfHwgZHJhZ2dhYmxlUmVzaXplLmlzRHJhZ2dpbmc7XG4gIHJldHVybiAoXG4gICAgPFN0eWxlZERyYWdnYWJsZUxlZ2VuZENvbnRlbnRcbiAgICAgIHJlZj17cmVmc31cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NuYW1lcygnZHJhZ2dhYmxlLWxlZ2VuZCcsIHsnaXMtZHJhZ2dpbmcnOiBpc0RyYWdnaW5nfSl9XG4gICAgICBzdHlsZT17ey4uLnBvc2l0aW9uU3R5bGVzLCB0cmFuc2Zvcm06IENTUy5UcmFuc2xhdGUudG9TdHJpbmcoZHJhZ2dhYmxlTW92ZS50cmFuc2Zvcm0pfX1cbiAgICAgIGNvbnRlbnRIZWlnaHQ9e3Byb3BzLmNvbnRlbnRIZWlnaHR9XG4gICAgICB7Li4uZHJhZ2dhYmxlTW92ZS5hdHRyaWJ1dGVzfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICAgIHtpc0RyYWdnaW5nID8gPGRpdiBjbGFzc05hbWU9XCJsZWdlbmQtaW5wdXQtYmxvY2tcIiAvPiA6IG51bGx9XG4gICAgICA8U3R5bGVkTW92ZUhhbmRsZSBjbGFzc05hbWU9XCJsZWdlbmQtbW92ZS1oYW5kbGVcIiB7Li4uZHJhZ2dhYmxlTW92ZS5saXN0ZW5lcnN9PlxuICAgICAgICA8RHJhZ2dhYmxlRG90cyBoZWlnaHQ9XCIxNnB4XCIgLz5cbiAgICAgIDwvU3R5bGVkTW92ZUhhbmRsZT5cbiAgICAgIDxTdHlsZWRSZXNpemVIYW5kbGVcbiAgICAgICAgY2xhc3NOYW1lPVwibGVnZW5kLXJlc2l6ZS1oYW5kbGVcIlxuICAgICAgICByZWY9e2RyYWdnYWJsZVJlc2l6ZS5zZXROb2RlUmVmfVxuICAgICAgICB7Li4uZHJhZ2dhYmxlUmVzaXplLmxpc3RlbmVyc31cbiAgICAgID5cbiAgICAgICAgPEhvcml6b250YWxSZXNpemVIYW5kbGUgaGVpZ2h0PVwiMTZweFwiIC8+XG4gICAgICA8L1N0eWxlZFJlc2l6ZUhhbmRsZT5cbiAgICA8L1N0eWxlZERyYWdnYWJsZUxlZ2VuZENvbnRlbnQ+XG4gICk7XG59KTtcblxuY29uc3QgRHJhZ2dhYmxlTGVnZW5kID0gd2l0aFN0YXRlKFxuICBbXSxcbiAgc3RhdGUgPT4ge1xuICAgIGNvbnN0IHthY3RpdmVTaWRlUGFuZWwsIG1hcENvbnRyb2xzfSA9IHN0YXRlLmRlbW8ua2VwbGVyR2wubWFwLnVpU3RhdGU7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlzU2lkZVBhbmVsU2hvd246IGFjdGl2ZVNpZGVQYW5lbCxcbiAgICAgIHNldHRpbmdzOiBtYXBDb250cm9scz8ubWFwTGVnZW5kPy5zZXR0aW5nc1xuICAgIH07XG4gIH0sXG4gIHtzZXRNYXBDb250cm9sU2V0dGluZ3N9XG4pKFxuICB3aXRoVGhlbWUoKHtpc1NpZGVQYW5lbFNob3duLCB0aGVtZSwgc2V0dGluZ3MsIHNldE1hcENvbnRyb2xTZXR0aW5ncywgY2hpbGRyZW59KSA9PiB7XG4gICAgY29uc3QgbGVnZW5kQ29udGVudFJlZiA9IHVzZVJlZjxIVE1MRWxlbWVudD4obnVsbCk7XG4gICAgY29uc3Qgb25DaGFuZ2VTZXR0aW5ncyA9IHVzZUNhbGxiYWNrKFxuICAgICAgbmV3U2V0dGluZ3MgPT4gc2V0TWFwQ29udHJvbFNldHRpbmdzKCdtYXBMZWdlbmQnLCBuZXdTZXR0aW5ncyksXG4gICAgICBbc2V0TWFwQ29udHJvbFNldHRpbmdzXVxuICAgICk7XG4gICAgY29uc3Qge3Bvc2l0aW9uU3R5bGVzLCB1cGRhdGVQb3NpdGlvbiwgc3RhcnRSZXNpemUsIHJlc2l6ZSwgY29udGVudEhlaWdodH0gPSB1c2VMZWdlbmRQb3NpdGlvbih7XG4gICAgICBsZWdlbmRDb250ZW50UmVmLFxuICAgICAgaXNTaWRlUGFuZWxTaG93bixcbiAgICAgIHRoZW1lLFxuICAgICAgc2V0dGluZ3MsXG4gICAgICBvbkNoYW5nZVNldHRpbmdzXG4gICAgfSk7XG5cbiAgICBjb25zdCBoYW5kbGVEcmFnU3RhcnQgPSB1c2VDYWxsYmFjayhcbiAgICAgIGV2ZW50ID0+IHtcbiAgICAgICAgc3dpdGNoIChldmVudC5hY3RpdmUuaWQpIHtcbiAgICAgICAgICBjYXNlIERSQUdfUkVTSVpFX0lEOlxuICAgICAgICAgICAgc3RhcnRSZXNpemUoKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB1cGRhdGVQb3NpdGlvbigpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgW3VwZGF0ZVBvc2l0aW9uLCBzdGFydFJlc2l6ZV1cbiAgICApO1xuICAgIGNvbnN0IGhhbmRsZURyYWdFbmQgPSB1c2VDYWxsYmFjayh1cGRhdGVQb3NpdGlvbiwgW3VwZGF0ZVBvc2l0aW9uXSk7XG4gICAgY29uc3QgaGFuZGxlRHJhZ01vdmUgPSB1c2VDYWxsYmFjayhcbiAgICAgIGV2ZW50ID0+IHtcbiAgICAgICAgc3dpdGNoIChldmVudC5hY3RpdmUuaWQpIHtcbiAgICAgICAgICBjYXNlIERSQUdfUkVTSVpFX0lEOlxuICAgICAgICAgICAgcmVzaXplKGV2ZW50LmRlbHRhLnkpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbcmVzaXplXVxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPERuZENvbnRleHRcbiAgICAgICAgb25EcmFnU3RhcnQ9e2hhbmRsZURyYWdTdGFydH1cbiAgICAgICAgb25EcmFnTW92ZT17aGFuZGxlRHJhZ01vdmV9XG4gICAgICAgIG9uRHJhZ0VuZD17aGFuZGxlRHJhZ0VuZH1cbiAgICAgICAgbW9kaWZpZXJzPXtbcmVzdHJpY3RUb1dpbmRvd0VkZ2VzXX1cbiAgICAgID5cbiAgICAgICAgPERyYWdnYWJsZUxlZ2VuZENvbnRlbnRcbiAgICAgICAgICByZWY9e2xlZ2VuZENvbnRlbnRSZWZ9XG4gICAgICAgICAgcG9zaXRpb25TdHlsZXM9e3Bvc2l0aW9uU3R5bGVzfVxuICAgICAgICAgIGNvbnRlbnRIZWlnaHQ9e2NvbnRlbnRIZWlnaHR9XG4gICAgICAgID5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvRHJhZ2dhYmxlTGVnZW5kQ29udGVudD5cbiAgICAgIDwvRG5kQ29udGV4dD5cbiAgICApO1xuICB9KVxuKSBhcyBGQzx7Y2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZX0+O1xuXG50eXBlIEltYWdlRXhwb3J0TGVnZW5kUHJvcHMgPSB7XG4gIHNldHRpbmdzOiBNYXBMZWdlbmRDb250cm9sU2V0dGluZ3M7XG4gIGlzU2lkZVBhbmVsU2hvd246IGJvb2xlYW47XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59O1xuXG5jb25zdCBJbWFnZUV4cG9ydExlZ2VuZCA9IHdpdGhUaGVtZSgoe3NldHRpbmdzLCBpc1NpZGVQYW5lbFNob3duLCB0aGVtZSwgY2hpbGRyZW59KSA9PiB7XG4gIGNvbnN0IGNvbnRhaW5lclJlZjogUmVhY3QuTXV0YWJsZVJlZk9iamVjdDxIVE1MRGl2RWxlbWVudCB8IG51bGw+ID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBsZWdlbmRDb250ZW50UmVmOiBSZWFjdC5NdXRhYmxlUmVmT2JqZWN0PEhUTUxEaXZFbGVtZW50IHwgbnVsbD4gPSB1c2VSZWYobnVsbCk7XG5cbiAgY29uc3Qge3Bvc2l0aW9uU3R5bGVzfSA9IHVzZUxlZ2VuZFBvc2l0aW9uKHtcbiAgICBsZWdlbmRDb250ZW50UmVmLFxuICAgIGlzU2lkZVBhbmVsU2hvd24sXG4gICAgdGhlbWUsXG4gICAgc2V0dGluZ3MsXG4gICAgb25DaGFuZ2VTZXR0aW5nczogKCkgPT4ge1xuICAgICAgLy8gZG8gbm90aGluZyBieSBkZWZhdWx0XG4gICAgfVxuICB9KTtcblxuICBjb25zdCBwb3J0YWxSb290ID0gY29udGFpbmVyUmVmLmN1cnJlbnRcbiAgICA/LmNsb3Nlc3QoJy5leHBvcnQtbWFwLWluc3RhbmNlJylcbiAgICA/LnF1ZXJ5U2VsZWN0b3IoJyNkZWZhdWx0LWRlY2tnbC1vdmVybGF5LXdyYXBwZXInKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgcmVmPXtjb250YWluZXJSZWZ9PlxuICAgICAge3BvcnRhbFJvb3RcbiAgICAgICAgPyBjcmVhdGVQb3J0YWwoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImZpeGVkLWxlZ2VuZFwiXG4gICAgICAgICAgICAgIHJlZj17bGVnZW5kQ29udGVudFJlZn1cbiAgICAgICAgICAgICAgc3R5bGU9e3suLi5wb3NpdGlvblN0eWxlcywgcG9zaXRpb246ICdhYnNvbHV0ZSd9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L2Rpdj4sXG4gICAgICAgICAgICBwb3J0YWxSb290XG4gICAgICAgICAgKVxuICAgICAgICA6IG51bGx9XG4gICAgPC9kaXY+XG4gICk7XG59KSBhcyBSZWFjdC5GQzxJbWFnZUV4cG9ydExlZ2VuZFByb3BzPjtcblxuTWFwTGVnZW5kUGFuZWxGYWN0b3J5LmRlcHMgPSBbTWFwQ29udHJvbFRvb2x0aXBGYWN0b3J5LCBNYXBDb250cm9sUGFuZWxGYWN0b3J5LCBNYXBMZWdlbmRGYWN0b3J5XTtcblxuaW50ZXJmYWNlIE1hcExlZ2VuZFBhbmVsSWNvbnMge1xuICBsZWdlbmQ6IENvbXBvbmVudFR5cGU8YW55Pjtcbn1cblxuZXhwb3J0IHR5cGUgTWFwTGVnZW5kUGFuZWxQcm9wcyA9IHtcbiAgdGhlbWU6IGFueTtcbiAgbGF5ZXJzOiBSZWFkb25seUFycmF5PExheWVyPjtcbiAgc2NhbGU6IG51bWJlcjtcbiAgb25Ub2dnbGVNYXBDb250cm9sOiAoY29udHJvbDogc3RyaW5nKSA9PiB2b2lkO1xuICBpc0V4cG9ydDogYm9vbGVhbjtcbiAgbG9nb0NvbXBvbmVudDogRWxlbWVudDtcbiAgYWN0aW9uSWNvbnM6IE1hcExlZ2VuZFBhbmVsSWNvbnM7XG4gIG1hcENvbnRyb2xzOiBNYXBDb250cm9scztcbiAgbWFwU3RhdGU/OiBNYXBTdGF0ZTtcbiAgb25MYXllclZpc0NvbmZpZ0NoYW5nZT86IChvbGRMYXllcjogTGF5ZXIsIG5ld1Zpc0NvbmZpZzogUGFydGlhbDxMYXllclZpc0NvbmZpZz4pID0+IHZvaWQ7XG4gIG9uVG9nZ2xlU3BsaXRNYXBWaWV3cG9ydD86IEFjdGlvbkhhbmRsZXI8dHlwZW9mIHRvZ2dsZVNwbGl0TWFwVmlld3BvcnQ+O1xuICBpc1ZpZXdwb3J0VW5zeW5jQWxsb3dlZD86IGJvb2xlYW47XG4gIG9uQ2xpY2tDb250cm9sQnRuPzogKGU/OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuICBjbGFzc05hbWU6IHN0cmluZztcbiAgc2V0dGluZ3M6IE1hcExlZ2VuZENvbnRyb2xTZXR0aW5ncztcbiAgaXNTaWRlUGFuZWxTaG93bjogYm9vbGVhbjtcbn07XG5cbnR5cGUgTWFwTGVnZW5kUGFuZWxDb21wb25lbnRUeXBlID0gUmVhY3QuRkM8TWFwTGVnZW5kUGFuZWxQcm9wcz47XG5cbmNvbnN0IGRlZmF1bHRBY3Rpb25JY29ucyA9IHtcbiAgbGVnZW5kOiBMZWdlbmRcbn07XG5cbmNvbnN0IE1hcExlZ2VuZFBhbmVsQ29tcG9uZW50ID0gKHtcbiAgbGF5ZXJzLFxuICBtYXBDb250cm9scyxcbiAgc2NhbGUsXG4gIG9uVG9nZ2xlTWFwQ29udHJvbCxcbiAgaXNFeHBvcnQsXG4gIGxvZ29Db21wb25lbnQsXG4gIGFjdGlvbkljb25zID0gZGVmYXVsdEFjdGlvbkljb25zLFxuICBtYXBTdGF0ZSxcbiAgb25MYXllclZpc0NvbmZpZ0NoYW5nZSxcbiAgb25Ub2dnbGVTcGxpdE1hcFZpZXdwb3J0LFxuICBvbkNsaWNrQ29udHJvbEJ0bixcbiAgaXNWaWV3cG9ydFVuc3luY0FsbG93ZWQgPSB0cnVlLFxuICBjbGFzc05hbWUsXG4gIGludGVyYWN0aW9uQ29uZmlnLFxuICBzZXR0aW5ncyxcbiAgaXNTaWRlUGFuZWxTaG93bixcbiAgTWFwQ29udHJvbFRvb2x0aXAsXG4gIE1hcENvbnRyb2xQYW5lbCxcbiAgTWFwTGVnZW5kXG59KSA9PiB7XG4gIGNvbnN0IG1hcExlZ2VuZCA9IG1hcENvbnRyb2xzPy5tYXBMZWdlbmQgfHwgKHt9IGFzIE1hcENvbnRyb2xNYXBMZWdlbmQpO1xuICBjb25zdCB7YWN0aXZlLCBkaXNhYmxlRWRpdH0gPSBtYXBMZWdlbmQgfHwge307XG4gIGNvbnN0IHJvb3RDb250ZXh0ID0gdXNlQ29udGV4dChSb290Q29udGV4dCk7XG5cbiAgY29uc3Qgb25DbGljayA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBvbkNsaWNrQ29udHJvbEJ0bj8uKCk7XG4gICAgaWYgKG1hcENvbnRyb2xzPy5tYXBEcmF3Py5hY3RpdmUpIHtcbiAgICAgIG9uVG9nZ2xlTWFwQ29udHJvbCgnbWFwRHJhdycpO1xuICAgIH1cbiAgICBvblRvZ2dsZU1hcENvbnRyb2woJ21hcExlZ2VuZCcpO1xuICB9LCBbb25DbGlja0NvbnRyb2xCdG4sIG9uVG9nZ2xlTWFwQ29udHJvbCwgbWFwQ29udHJvbHNdKTtcbiAgY29uc3Qgb25DbG9zZUNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgZSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICBvblRvZ2dsZU1hcENvbnRyb2woJ21hcExlZ2VuZCcpO1xuICAgIH0sXG4gICAgW29uVG9nZ2xlTWFwQ29udHJvbF1cbiAgKTtcblxuICBpZiAoIW1hcExlZ2VuZC5zaG93KSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBsZWdlbmRQYW5lbCA9IGFjdGl2ZSA/IChcbiAgICA8TWFwQ29udHJvbFBhbmVsXG4gICAgICBzY2FsZT17c2NhbGV9XG4gICAgICBoZWFkZXI9XCJoZWFkZXIubGF5ZXJMZWdlbmRcIlxuICAgICAgey4uLntvbkNsaWNrOiBvbkNsb3NlQ2xpY2ssIHBpbm5hYmxlOiBmYWxzZSwgZGlzYWJsZUNsb3NlOiBmYWxzZX19XG4gICAgICBpc0V4cG9ydD17aXNFeHBvcnR9XG4gICAgICBsb2dvQ29tcG9uZW50PXtsb2dvQ29tcG9uZW50fVxuICAgICAgbWFwU3RhdGU9e21hcFN0YXRlfVxuICAgICAgb25Ub2dnbGVTcGxpdE1hcFZpZXdwb3J0PXtvblRvZ2dsZVNwbGl0TWFwVmlld3BvcnR9XG4gICAgICBpc1ZpZXdwb3J0VW5zeW5jQWxsb3dlZD17aXNWaWV3cG9ydFVuc3luY0FsbG93ZWR9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICA+XG4gICAgICA8TWFwTGVnZW5kXG4gICAgICAgIGxheWVycz17bGF5ZXJzfVxuICAgICAgICBtYXBTdGF0ZT17bWFwU3RhdGV9XG4gICAgICAgIGRpc2FibGVFZGl0PXtkaXNhYmxlRWRpdH1cbiAgICAgICAgaXNFeHBvcnQ9e2lzRXhwb3J0fVxuICAgICAgICBvbkxheWVyVmlzQ29uZmlnQ2hhbmdlPXtvbkxheWVyVmlzQ29uZmlnQ2hhbmdlfVxuICAgICAgLz5cbiAgICA8L01hcENvbnRyb2xQYW5lbD5cbiAgKSA6IG51bGw7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge2FjdGl2ZSA/IChcbiAgICAgICAgaGFzUG9ydGFibGVXaWR0aChicmVha1BvaW50VmFsdWVzKSA/IChcbiAgICAgICAgICBsZWdlbmRQYW5lbFxuICAgICAgICApIDogaXNFeHBvcnQgPyAoXG4gICAgICAgICAgPEltYWdlRXhwb3J0TGVnZW5kIGlzU2lkZVBhbmVsU2hvd249e2lzU2lkZVBhbmVsU2hvd259IHNldHRpbmdzPXtzZXR0aW5nc30+XG4gICAgICAgICAgICB7bGVnZW5kUGFuZWx9XG4gICAgICAgICAgPC9JbWFnZUV4cG9ydExlZ2VuZD5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBjcmVhdGVQb3J0YWwoXG4gICAgICAgICAgICA8RHJhZ2dhYmxlTGVnZW5kPntsZWdlbmRQYW5lbH08L0RyYWdnYWJsZUxlZ2VuZD4sXG4gICAgICAgICAgICByb290Q29udGV4dD8uY3VycmVudCA/PyBkb2N1bWVudC5ib2R5XG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApIDogbnVsbH1cbiAgICAgIHshaXNFeHBvcnQgPyAoXG4gICAgICAgIDxNYXBDb250cm9sVG9vbHRpcCBpZD1cInNob3ctbGVnZW5kXCIgbWVzc2FnZT1cInRvb2x0aXAuc2hvd0xlZ2VuZFwiPlxuICAgICAgICAgIDxNYXBDb250cm9sQnV0dG9uIGNsYXNzTmFtZT1cIm1hcC1jb250cm9sLWJ1dHRvbiBzaG93LWxlZ2VuZFwiIG9uQ2xpY2s9e29uQ2xpY2t9PlxuICAgICAgICAgICAgPGFjdGlvbkljb25zLmxlZ2VuZCBoZWlnaHQ9XCIyMnB4XCIgLz5cbiAgICAgICAgICA8L01hcENvbnRyb2xCdXR0b24+XG4gICAgICAgIDwvTWFwQ29udHJvbFRvb2x0aXA+XG4gICAgICApIDogbnVsbH1cbiAgICA8Lz5cbiAgKTtcbn07XG5cbmZ1bmN0aW9uIE1hcExlZ2VuZFBhbmVsRmFjdG9yeShcbiAgTWFwQ29udHJvbFRvb2x0aXA6IFJldHVyblR5cGU8dHlwZW9mIE1hcENvbnRyb2xUb29sdGlwRmFjdG9yeT4sXG4gIE1hcENvbnRyb2xQYW5lbDogUmV0dXJuVHlwZTx0eXBlb2YgTWFwQ29udHJvbFBhbmVsRmFjdG9yeT4sXG4gIE1hcExlZ2VuZDogUmV0dXJuVHlwZTx0eXBlb2YgTWFwTGVnZW5kRmFjdG9yeT5cbik6IE1hcExlZ2VuZFBhbmVsQ29tcG9uZW50VHlwZSB7XG4gIGNvbnN0IE1hcExlZ2VuZFBhbmVsID0gd2l0aFN0YXRlKFxuICAgIFtdLFxuICAgIHN0YXRlID0+IHtcbiAgICAgIGNvbnN0IHthY3RpdmVTaWRlUGFuZWwsIG1hcENvbnRyb2xzfSA9IHN0YXRlLmRlbW8/LmtlcGxlckdsLm1hcC51aVN0YXRlID8/IHt9O1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaXNTaWRlUGFuZWxTaG93bjogYWN0aXZlU2lkZVBhbmVsLFxuICAgICAgICBzZXR0aW5nczogbWFwQ29udHJvbHM/Lm1hcExlZ2VuZD8uc2V0dGluZ3MsXG4gICAgICAgIE1hcENvbnRyb2xUb29sdGlwLFxuICAgICAgICBNYXBDb250cm9sUGFuZWwsXG4gICAgICAgIE1hcExlZ2VuZFxuICAgICAgfTtcbiAgICB9LFxuICAgIHtzZXRNYXBDb250cm9sU2V0dGluZ3N9XG4gICkoTWFwTGVnZW5kUGFuZWxDb21wb25lbnQpO1xuXG4gIE1hcExlZ2VuZFBhbmVsLmRpc3BsYXlOYW1lID0gJ01hcExlZ2VuZFBhbmVsJztcbiAgcmV0dXJuIHdpdGhUaGVtZShNYXBMZWdlbmRQYW5lbCBhcyBNYXBMZWdlbmRQYW5lbENvbXBvbmVudFR5cGUpIGFzIE1hcExlZ2VuZFBhbmVsQ29tcG9uZW50VHlwZTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTWFwTGVnZW5kUGFuZWxGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUdBLElBQUFBLFdBQUEsR0FBQUMsc0JB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
|
package/dist/map/map-legend.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ interface StyledMapControlLegendProps {
|
|
|
7
7
|
width?: number;
|
|
8
8
|
last?: boolean;
|
|
9
9
|
}
|
|
10
|
-
export declare const StyledMapControlLegend: import("styled-components").
|
|
10
|
+
export declare const StyledMapControlLegend: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, StyledMapControlLegendProps>>;
|
|
11
11
|
export declare const VisualChannelMetric: ({ name }: {
|
|
12
12
|
name: any;
|
|
13
13
|
}) => React.JSX.Element;
|
|
@@ -56,6 +56,7 @@ export declare type LayerLegendHeaderProps = {
|
|
|
56
56
|
options?: {
|
|
57
57
|
showLayerName?: boolean;
|
|
58
58
|
};
|
|
59
|
+
isExport?: boolean;
|
|
59
60
|
};
|
|
60
61
|
export declare function LayerLegendHeaderFactory(): React.FC<LayerLegendHeaderProps>;
|
|
61
62
|
export declare type LayerLegendContentProps = {
|
|
@@ -81,7 +82,7 @@ export declare type MapLegendProps = {
|
|
|
81
82
|
disableEdit?: boolean;
|
|
82
83
|
isExport?: boolean;
|
|
83
84
|
onLayerVisConfigChange?: (oldLayer: Layer, newVisConfig: Partial<LayerVisConfig>) => void;
|
|
84
|
-
actionIcons
|
|
85
|
+
actionIcons?: MapLegendIcons;
|
|
85
86
|
};
|
|
86
87
|
declare function MapLegendFactory(LayerLegendHeader: ReturnType<typeof LayerLegendHeaderFactory>, LayerLegendContent: ReturnType<typeof LayerLegendContentFactory>): React.FC<MapLegendProps>;
|
|
87
88
|
declare namespace MapLegendFactory {
|