kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
71 lines (70 loc) • 16.3 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
var _react = _interopRequireDefault(require("react"));
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _logo = _interopRequireDefault(require("../common/logo"));
var _splitMapButton = _interopRequireDefault(require("./split-map-button"));
var _toggle3dButton = _interopRequireDefault(require("./toggle-3d-button"));
var _layerSelectorPanel = _interopRequireDefault(require("./layer-selector-panel"));
var _mapLegendPanel = _interopRequireDefault(require("./map-legend-panel"));
var _mapDrawPanel = _interopRequireDefault(require("./map-draw-panel"));
var _localePanel = _interopRequireDefault(require("./locale-panel"));
var _excluded = ["actionComponents", "isSplit", "top", "mapIndex", "logoComponent"];
var _templateObject; // SPDX-License-Identifier: MIT
// Copyright contributors to the kepler.gl project
// factories
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; }
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; }
var StyledMapControl = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n right: 0;\n padding: ", "px;\n z-index: 10;\n margin-top: ", "px;\n position: absolute;\n display: grid;\n row-gap: 8px;\n justify-items: end;\n pointer-events: none; /* prevent padding from blocking input */\n & > * {\n /* all children should allow input */\n pointer-events: all;\n }\n"])), function (props) {
return props.theme.mapControl.padding;
}, function (props) {
return props.$top || 0;
});
var LegendLogo = /*#__PURE__*/_react["default"].createElement(_logo["default"], {
version: false,
appName: "kepler.gl"
});
MapControlFactory.deps = [_splitMapButton["default"], _toggle3dButton["default"], _layerSelectorPanel["default"], _mapLegendPanel["default"], _mapDrawPanel["default"], _localePanel["default"]];
function MapControlFactory(SplitMapButton, Toggle3dButton, LayerSelectorPanel, MapLegendPanel, MapDrawPanel, LocalePanel) {
var DEFAULT_ACTIONS = [SplitMapButton, LayerSelectorPanel, Toggle3dButton, MapDrawPanel, LocalePanel, MapLegendPanel];
var MapControl = function MapControl(_ref) {
var _ref$actionComponents = _ref.actionComponents,
actionComponents = _ref$actionComponents === void 0 ? DEFAULT_ACTIONS : _ref$actionComponents,
_ref$isSplit = _ref.isSplit,
isSplit = _ref$isSplit === void 0 ? false : _ref$isSplit,
_ref$top = _ref.top,
top = _ref$top === void 0 ? 0 : _ref$top,
_ref$mapIndex = _ref.mapIndex,
mapIndex = _ref$mapIndex === void 0 ? 0 : _ref$mapIndex,
_ref$logoComponent = _ref.logoComponent,
logoComponent = _ref$logoComponent === void 0 ? LegendLogo : _ref$logoComponent,
restProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
var actionComponentProps = _objectSpread({
isSplit: isSplit,
mapIndex: mapIndex,
logoComponent: logoComponent
}, restProps);
return /*#__PURE__*/_react["default"].createElement(StyledMapControl, {
className: "map-control",
$top: top
}, actionComponents.map(function (ActionComponent, index) {
return /*#__PURE__*/_react["default"].createElement(ActionComponent, (0, _extends2["default"])({
key: index,
className: "map-control-action"
}, actionComponentProps));
}));
};
MapControl.defaultActionComponents = DEFAULT_ACTIONS;
MapControl.displayName = 'MapControl';
return MapControl;
}
var _default = exports["default"] = MapControlFactory;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2xvZ28iLCJfc3BsaXRNYXBCdXR0b24iLCJfdG9nZ2xlM2RCdXR0b24iLCJfbGF5ZXJTZWxlY3RvclBhbmVsIiwiX21hcExlZ2VuZFBhbmVsIiwiX21hcERyYXdQYW5lbCIsIl9sb2NhbGVQYW5lbCIsIl9leGNsdWRlZCIsIl90ZW1wbGF0ZU9iamVjdCIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiU3R5bGVkTWFwQ29udHJvbCIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsIm1hcENvbnRyb2wiLCJwYWRkaW5nIiwiJHRvcCIsIkxlZ2VuZExvZ28iLCJjcmVhdGVFbGVtZW50IiwidmVyc2lvbiIsImFwcE5hbWUiLCJNYXBDb250cm9sRmFjdG9yeSIsImRlcHMiLCJTcGxpdE1hcEJ1dHRvbkZhY3RvcnkiLCJUb2dnbGUzZEJ1dHRvbkZhY3RvcnkiLCJMYXllclNlbGVjdG9yUGFuZWxGYWN0b3J5IiwiTWFwTGVnZW5kUGFuZWxGYWN0b3J5IiwiTWFwRHJhd1BhbmVsRmFjdG9yeSIsIkxvY2FsZVBhbmVsRmFjdG9yeSIsIlNwbGl0TWFwQnV0dG9uIiwiVG9nZ2xlM2RCdXR0b24iLCJMYXllclNlbGVjdG9yUGFuZWwiLCJNYXBMZWdlbmRQYW5lbCIsIk1hcERyYXdQYW5lbCIsIkxvY2FsZVBhbmVsIiwiREVGQVVMVF9BQ1RJT05TIiwiTWFwQ29udHJvbCIsIl9yZWYiLCJfcmVmJGFjdGlvbkNvbXBvbmVudHMiLCJhY3Rpb25Db21wb25lbnRzIiwiX3JlZiRpc1NwbGl0IiwiaXNTcGxpdCIsIl9yZWYkdG9wIiwidG9wIiwiX3JlZiRtYXBJbmRleCIsIm1hcEluZGV4IiwiX3JlZiRsb2dvQ29tcG9uZW50IiwibG9nb0NvbXBvbmVudCIsInJlc3RQcm9wcyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllczIiLCJhY3Rpb25Db21wb25lbnRQcm9wcyIsImNsYXNzTmFtZSIsIm1hcCIsIkFjdGlvbkNvbXBvbmVudCIsImluZGV4IiwiX2V4dGVuZHMyIiwia2V5IiwiZGVmYXVsdEFjdGlvbkNvbXBvbmVudHMiLCJkaXNwbGF5TmFtZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tYXAvbWFwLWNvbnRyb2wudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBLZXBsZXJHbExvZ28gZnJvbSAnLi4vY29tbW9uL2xvZ28nO1xuXG4vLyBmYWN0b3JpZXNcbmltcG9ydCBTcGxpdE1hcEJ1dHRvbkZhY3RvcnkgZnJvbSAnLi9zcGxpdC1tYXAtYnV0dG9uJztcbmltcG9ydCBUb2dnbGUzZEJ1dHRvbkZhY3RvcnkgZnJvbSAnLi90b2dnbGUtM2QtYnV0dG9uJztcbmltcG9ydCBMYXllclNlbGVjdG9yUGFuZWxGYWN0b3J5IGZyb20gJy4vbGF5ZXItc2VsZWN0b3ItcGFuZWwnO1xuaW1wb3J0IE1hcExlZ2VuZFBhbmVsRmFjdG9yeSBmcm9tICcuL21hcC1sZWdlbmQtcGFuZWwnO1xuaW1wb3J0IE1hcERyYXdQYW5lbEZhY3RvcnkgZnJvbSAnLi9tYXAtZHJhdy1wYW5lbCc7XG5pbXBvcnQgTG9jYWxlUGFuZWxGYWN0b3J5IGZyb20gJy4vbG9jYWxlLXBhbmVsJztcbmltcG9ydCB7TGF5ZXJ9IGZyb20gJ0BrZXBsZXIuZ2wvbGF5ZXJzJztcbmltcG9ydCB7RWRpdG9yLCBMYXllclZpc0NvbmZpZywgTWFwQ29udHJvbHMsIE1hcFN0YXRlfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcbmltcG9ydCB7RGF0YXNldHN9IGZyb20gJ0BrZXBsZXIuZ2wvdGFibGUnO1xuaW1wb3J0IHtNYXBTdGF0ZUFjdGlvbnMsIFVJU3RhdGVBY3Rpb25zfSBmcm9tICdAa2VwbGVyLmdsL2FjdGlvbnMnO1xuXG5pbnRlcmZhY2UgU3R5bGVkTWFwQ29udHJvbFByb3BzIHtcbiAgJHRvcD86IG51bWJlcjtcbn1cblxuY29uc3QgU3R5bGVkTWFwQ29udHJvbCA9IHN0eWxlZC5kaXY8U3R5bGVkTWFwQ29udHJvbFByb3BzPmBcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubWFwQ29udHJvbC5wYWRkaW5nfXB4O1xuICB6LWluZGV4OiAxMDtcbiAgbWFyZ2luLXRvcDogJHtwcm9wcyA9PiBwcm9wcy4kdG9wIHx8IDB9cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcm93LWdhcDogOHB4O1xuICBqdXN0aWZ5LWl0ZW1zOiBlbmQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyAvKiBwcmV2ZW50IHBhZGRpbmcgZnJvbSBibG9ja2luZyBpbnB1dCAqL1xuICAmID4gKiB7XG4gICAgLyogYWxsIGNoaWxkcmVuIHNob3VsZCBhbGxvdyBpbnB1dCAqL1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIH1cbmA7XG5cbmNvbnN0IExlZ2VuZExvZ28gPSA8S2VwbGVyR2xMb2dvIHZlcnNpb249e2ZhbHNlfSBhcHBOYW1lPVwia2VwbGVyLmdsXCIgLz47XG5cbmV4cG9ydCB0eXBlIE1hcENvbnRyb2xQcm9wcyA9IHtcbiAgZGF0YXNldHM6IERhdGFzZXRzO1xuICBkcmFnUm90YXRlOiBib29sZWFuO1xuICBpc1NwbGl0OiBib29sZWFuO1xuICBwcmltYXJ5OiBib29sZWFuO1xuICBsYXllcnM6IExheWVyW107XG4gIGxheWVyc1RvUmVuZGVyOiB7W2tleTogc3RyaW5nXTogYm9vbGVhbn07XG4gIG1hcEluZGV4OiBudW1iZXI7XG4gIG1hcENvbnRyb2xzOiBNYXBDb250cm9scztcbiAgb25Ub2dnbGVQZXJzcGVjdGl2ZTogKCkgPT4gdm9pZDtcbiAgb25Ub2dnbGVTcGxpdE1hcDogdHlwZW9mIE1hcFN0YXRlQWN0aW9ucy50b2dnbGVTcGxpdE1hcDtcbiAgb25Ub2dnbGVTcGxpdE1hcFZpZXdwb3J0OiAoe1xuICAgIGlzVmlld3BvcnRTeW5jZWQsXG4gICAgaXNab29tTG9ja2VkXG4gIH06IHtcbiAgICBpc1ZpZXdwb3J0U3luY2VkOiBib29sZWFuO1xuICAgIGlzWm9vbUxvY2tlZDogYm9vbGVhbjtcbiAgfSkgPT4gdm9pZDtcbiAgb25NYXBUb2dnbGVMYXllcjogKGxheWVySWQ6IHN0cmluZykgPT4gdm9pZDtcbiAgb25Ub2dnbGVNYXBDb250cm9sOiAoY29udHJvbDogc3RyaW5nKSA9PiB2b2lkO1xuICBvblNldEVkaXRvck1vZGU6IChtb2RlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG9uVG9nZ2xlRWRpdG9yVmlzaWJpbGl0eTogKCkgPT4gdm9pZDtcbiAgb25MYXllclZpc0NvbmZpZ0NoYW5nZTogKG9sZExheWVyOiBMYXllciwgbmV3VmlzQ29uZmlnOiBQYXJ0aWFsPExheWVyVmlzQ29uZmlnPikgPT4gdm9pZDtcbiAgb25Ub2dnbGVMYXllclZpc2liaWxpdHk/OiAobGF5ZXI6IExheWVyKSA9PiB2b2lkO1xuICB0b3A6IG51bWJlcjtcbiAgb25TZXRMb2NhbGU6IHR5cGVvZiBVSVN0YXRlQWN0aW9ucy5zZXRMb2NhbGU7XG4gIGF2YWlsYWJsZUxvY2FsZXM6IHN0cmluZ1tdO1xuICBsb2NhbGU6IHN0cmluZztcbiAgbG9nb0NvbXBvbmVudD86IFJlYWN0LkZDIHwgUmVhY3QuUmVhY3ROb2RlO1xuICBpc0V4cG9ydD86IGJvb2xlYW47XG5cbiAgc2V0TWFwQ29udHJvbFNldHRpbmdzOiB0eXBlb2YgVUlTdGF0ZUFjdGlvbnMuc2V0TWFwQ29udHJvbFNldHRpbmdzO1xuICBhY3RpdmVTaWRlUGFuZWw6IHN0cmluZyB8IG51bGw7XG5cbiAgLy8gb3B0aW9uYWxcbiAgbWFwU3RhdGU/OiBNYXBTdGF0ZTtcbiAgcmVhZE9ubHk/OiBib29sZWFuO1xuICBzY2FsZT86IG51bWJlcjtcbiAgbWFwTGF5ZXJzPzoge1trZXk6IHN0cmluZ106IGJvb2xlYW59O1xuICBlZGl0b3I6IEVkaXRvcjtcbiAgYWN0aW9uQ29tcG9uZW50cz86IFJlYWN0LkNvbXBvbmVudFR5cGU8YW55PltdO1xuICBtYXBIZWlnaHQ/OiBudW1iZXI7XG59O1xuXG5NYXBDb250cm9sRmFjdG9yeS5kZXBzID0gW1xuICBTcGxpdE1hcEJ1dHRvbkZhY3RvcnksXG4gIFRvZ2dsZTNkQnV0dG9uRmFjdG9yeSxcbiAgTGF5ZXJTZWxlY3RvclBhbmVsRmFjdG9yeSxcbiAgTWFwTGVnZW5kUGFuZWxGYWN0b3J5LFxuICBNYXBEcmF3UGFuZWxGYWN0b3J5LFxuICBMb2NhbGVQYW5lbEZhY3Rvcnlcbl07XG5cbmZ1bmN0aW9uIE1hcENvbnRyb2xGYWN0b3J5KFxuICBTcGxpdE1hcEJ1dHRvbjogUmV0dXJuVHlwZTx0eXBlb2YgU3BsaXRNYXBCdXR0b25GYWN0b3J5PixcbiAgVG9nZ2xlM2RCdXR0b246IFJldHVyblR5cGU8dHlwZW9mIFRvZ2dsZTNkQnV0dG9uRmFjdG9yeT4sXG4gIExheWVyU2VsZWN0b3JQYW5lbDogUmV0dXJuVHlwZTx0eXBlb2YgTGF5ZXJTZWxlY3RvclBhbmVsRmFjdG9yeT4sXG4gIE1hcExlZ2VuZFBhbmVsOiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBMZWdlbmRQYW5lbEZhY3Rvcnk+LFxuICBNYXBEcmF3UGFuZWw6IFJldHVyblR5cGU8dHlwZW9mIE1hcERyYXdQYW5lbEZhY3Rvcnk+LFxuICBMb2NhbGVQYW5lbDogUmV0dXJuVHlwZTx0eXBlb2YgTG9jYWxlUGFuZWxGYWN0b3J5PlxuKSB7XG4gIGNvbnN0IERFRkFVTFRfQUNUSU9OUyA9IFtcbiAgICBTcGxpdE1hcEJ1dHRvbixcbiAgICBMYXllclNlbGVjdG9yUGFuZWwsXG4gICAgVG9nZ2xlM2RCdXR0b24sXG4gICAgTWFwRHJhd1BhbmVsLFxuICAgIExvY2FsZVBhbmVsLFxuICAgIE1hcExlZ2VuZFBhbmVsXG4gIF07XG5cbiAgY29uc3QgTWFwQ29udHJvbDogUmVhY3QuRkM8TWFwQ29udHJvbFByb3BzPiAmIHtcbiAgICBkZWZhdWx0QWN0aW9uQ29tcG9uZW50czogTWFwQ29udHJvbFByb3BzWydhY3Rpb25Db21wb25lbnRzJ107XG4gIH0gPSAoe1xuICAgIGFjdGlvbkNvbXBvbmVudHMgPSBERUZBVUxUX0FDVElPTlMsXG4gICAgaXNTcGxpdCA9IGZhbHNlLFxuICAgIHRvcCA9IDAsXG4gICAgbWFwSW5kZXggPSAwLFxuICAgIGxvZ29Db21wb25lbnQgPSBMZWdlbmRMb2dvLFxuICAgIC4uLnJlc3RQcm9wc1xuICB9KSA9PiB7XG4gICAgY29uc3QgYWN0aW9uQ29tcG9uZW50UHJvcHMgPSB7XG4gICAgICBpc1NwbGl0LFxuICAgICAgbWFwSW5kZXgsXG4gICAgICBsb2dvQ29tcG9uZW50LFxuICAgICAgLi4ucmVzdFByb3BzXG4gICAgfTtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZE1hcENvbnRyb2wgY2xhc3NOYW1lPVwibWFwLWNvbnRyb2xcIiAkdG9wPXt0b3B9PlxuICAgICAgICB7YWN0aW9uQ29tcG9uZW50cy5tYXAoKEFjdGlvbkNvbXBvbmVudCwgaW5kZXgpID0+IChcbiAgICAgICAgICA8QWN0aW9uQ29tcG9uZW50IGtleT17aW5kZXh9IGNsYXNzTmFtZT1cIm1hcC1jb250cm9sLWFjdGlvblwiIHsuLi5hY3Rpb25Db21wb25lbnRQcm9wc30gLz5cbiAgICAgICAgKSl9XG4gICAgICA8L1N0eWxlZE1hcENvbnRyb2w+XG4gICAgKTtcbiAgfTtcblxuICBNYXBDb250cm9sLmRlZmF1bHRBY3Rpb25Db21wb25lbnRzID0gREVGQVVMVF9BQ1RJT05TO1xuXG4gIE1hcENvbnRyb2wuZGlzcGxheU5hbWUgPSAnTWFwQ29udHJvbCc7XG5cbiAgcmV0dXJuIE1hcENvbnRyb2w7XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1hcENvbnRyb2xGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFHQSxJQUFBRyxlQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxlQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxtQkFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU0sZUFBQSxHQUFBUCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU8sYUFBQSxHQUFBUixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVEsWUFBQSxHQUFBVCxzQkFBQSxDQUFBQyxPQUFBO0FBQWdELElBQUFTLFNBQUE7QUFBQSxJQUFBQyxlQUFBLEVBYmhEO0FBQ0E7QUFNQTtBQUFBLFNBQUFDLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBSCxNQUFBLENBQUFFLHFCQUFBLENBQUFMLENBQUEsR0FBQUMsQ0FBQSxLQUFBSyxDQUFBLEdBQUFBLENBQUEsQ0FBQUMsTUFBQSxXQUFBTixDQUFBLFdBQUFFLE1BQUEs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