kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
71 lines (70 loc) • 16 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,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZWRDb21wb25lbnRzIiwiX2xvZ28iLCJfc3BsaXRNYXBCdXR0b24iLCJfdG9nZ2xlM2RCdXR0b24iLCJfbGF5ZXJTZWxlY3RvclBhbmVsIiwiX21hcExlZ2VuZFBhbmVsIiwiX21hcERyYXdQYW5lbCIsIl9sb2NhbGVQYW5lbCIsIl9leGNsdWRlZCIsIl90ZW1wbGF0ZU9iamVjdCIsIm93bktleXMiLCJlIiwiciIsInQiLCJPYmplY3QiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiU3R5bGVkTWFwQ29udHJvbCIsInN0eWxlZCIsImRpdiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsIm1hcENvbnRyb2wiLCJwYWRkaW5nIiwidG9wIiwiTGVnZW5kTG9nbyIsImNyZWF0ZUVsZW1lbnQiLCJ2ZXJzaW9uIiwiYXBwTmFtZSIsIk1hcENvbnRyb2xGYWN0b3J5IiwiZGVwcyIsIlNwbGl0TWFwQnV0dG9uRmFjdG9yeSIsIlRvZ2dsZTNkQnV0dG9uRmFjdG9yeSIsIkxheWVyU2VsZWN0b3JQYW5lbEZhY3RvcnkiLCJNYXBMZWdlbmRQYW5lbEZhY3RvcnkiLCJNYXBEcmF3UGFuZWxGYWN0b3J5IiwiTG9jYWxlUGFuZWxGYWN0b3J5IiwiU3BsaXRNYXBCdXR0b24iLCJUb2dnbGUzZEJ1dHRvbiIsIkxheWVyU2VsZWN0b3JQYW5lbCIsIk1hcExlZ2VuZFBhbmVsIiwiTWFwRHJhd1BhbmVsIiwiTG9jYWxlUGFuZWwiLCJERUZBVUxUX0FDVElPTlMiLCJNYXBDb250cm9sIiwiX3JlZiIsIl9yZWYkYWN0aW9uQ29tcG9uZW50cyIsImFjdGlvbkNvbXBvbmVudHMiLCJfcmVmJGlzU3BsaXQiLCJpc1NwbGl0IiwiX3JlZiR0b3AiLCJfcmVmJG1hcEluZGV4IiwibWFwSW5kZXgiLCJfcmVmJGxvZ29Db21wb25lbnQiLCJsb2dvQ29tcG9uZW50IiwicmVzdFByb3BzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzMiIsImFjdGlvbkNvbXBvbmVudFByb3BzIiwiY2xhc3NOYW1lIiwibWFwIiwiQWN0aW9uQ29tcG9uZW50IiwiaW5kZXgiLCJfZXh0ZW5kczIiLCJrZXkiLCJkZWZhdWx0QWN0aW9uQ29tcG9uZW50cyIsImRpc3BsYXlOYW1lIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL21hcC9tYXAtY29udHJvbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IEtlcGxlckdsTG9nbyBmcm9tICcuLi9jb21tb24vbG9nbyc7XG5cbi8vIGZhY3Rvcmllc1xuaW1wb3J0IFNwbGl0TWFwQnV0dG9uRmFjdG9yeSBmcm9tICcuL3NwbGl0LW1hcC1idXR0b24nO1xuaW1wb3J0IFRvZ2dsZTNkQnV0dG9uRmFjdG9yeSBmcm9tICcuL3RvZ2dsZS0zZC1idXR0b24nO1xuaW1wb3J0IExheWVyU2VsZWN0b3JQYW5lbEZhY3RvcnkgZnJvbSAnLi9sYXllci1zZWxlY3Rvci1wYW5lbCc7XG5pbXBvcnQgTWFwTGVnZW5kUGFuZWxGYWN0b3J5IGZyb20gJy4vbWFwLWxlZ2VuZC1wYW5lbCc7XG5pbXBvcnQgTWFwRHJhd1BhbmVsRmFjdG9yeSBmcm9tICcuL21hcC1kcmF3LXBhbmVsJztcbmltcG9ydCBMb2NhbGVQYW5lbEZhY3RvcnkgZnJvbSAnLi9sb2NhbGUtcGFuZWwnO1xuaW1wb3J0IHtMYXllcn0gZnJvbSAnQGtlcGxlci5nbC9sYXllcnMnO1xuaW1wb3J0IHtFZGl0b3IsIExheWVyVmlzQ29uZmlnLCBNYXBDb250cm9scywgTWFwU3RhdGV9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuaW1wb3J0IHtEYXRhc2V0c30gZnJvbSAnQGtlcGxlci5nbC90YWJsZSc7XG5pbXBvcnQge01hcFN0YXRlQWN0aW9ucywgVUlTdGF0ZUFjdGlvbnN9IGZyb20gJ0BrZXBsZXIuZ2wvYWN0aW9ucyc7XG5cbmludGVyZmFjZSBTdHlsZWRNYXBDb250cm9sUHJvcHMge1xuICB0b3A/OiBudW1iZXI7XG59XG5cbmNvbnN0IFN0eWxlZE1hcENvbnRyb2wgPSBzdHlsZWQuZGl2PFN0eWxlZE1hcENvbnRyb2xQcm9wcz5gXG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiAke3Byb3BzID0+IHByb3BzLnRoZW1lLm1hcENvbnRyb2wucGFkZGluZ31weDtcbiAgei1pbmRleDogMTA7XG4gIG1hcmdpbi10b3A6ICR7cHJvcHMgPT4gcHJvcHMudG9wIHx8IDB9cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcm93LWdhcDogOHB4O1xuICBqdXN0aWZ5LWl0ZW1zOiBlbmQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyAvKiBwcmV2ZW50IHBhZGRpbmcgZnJvbSBibG9ja2luZyBpbnB1dCAqL1xuICAmID4gKiB7XG4gICAgLyogYWxsIGNoaWxkcmVuIHNob3VsZCBhbGxvdyBpbnB1dCAqL1xuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gIH1cbmA7XG5cbmNvbnN0IExlZ2VuZExvZ28gPSA8S2VwbGVyR2xMb2dvIHZlcnNpb249e2ZhbHNlfSBhcHBOYW1lPVwia2VwbGVyLmdsXCIgLz47XG5cbmV4cG9ydCB0eXBlIE1hcENvbnRyb2xQcm9wcyA9IHtcbiAgZGF0YXNldHM6IERhdGFzZXRzO1xuICBkcmFnUm90YXRlOiBib29sZWFuO1xuICBpc1NwbGl0OiBib29sZWFuO1xuICBwcmltYXJ5OiBib29sZWFuO1xuICBsYXllcnM6IExheWVyW107XG4gIGxheWVyc1RvUmVuZGVyOiB7W2tleTogc3RyaW5nXTogYm9vbGVhbn07XG4gIG1hcEluZGV4OiBudW1iZXI7XG4gIG1hcENvbnRyb2xzOiBNYXBDb250cm9scztcbiAgb25Ub2dnbGVQZXJzcGVjdGl2ZTogKCkgPT4gdm9pZDtcbiAgb25Ub2dnbGVTcGxpdE1hcDogdHlwZW9mIE1hcFN0YXRlQWN0aW9ucy50b2dnbGVTcGxpdE1hcDtcbiAgb25Ub2dnbGVTcGxpdE1hcFZpZXdwb3J0OiAoe1xuICAgIGlzVmlld3BvcnRTeW5jZWQsXG4gICAgaXNab29tTG9ja2VkXG4gIH06IHtcbiAgICBpc1ZpZXdwb3J0U3luY2VkOiBib29sZWFuO1xuICAgIGlzWm9vbUxvY2tlZDogYm9vbGVhbjtcbiAgfSkgPT4gdm9pZDtcbiAgb25NYXBUb2dnbGVMYXllcjogKGxheWVySWQ6IHN0cmluZykgPT4gdm9pZDtcbiAgb25Ub2dnbGVNYXBDb250cm9sOiAoY29udHJvbDogc3RyaW5nKSA9PiB2b2lkO1xuICBvblNldEVkaXRvck1vZGU6IChtb2RlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG9uVG9nZ2xlRWRpdG9yVmlzaWJpbGl0eTogKCkgPT4gdm9pZDtcbiAgb25MYXllclZpc0NvbmZpZ0NoYW5nZTogKG9sZExheWVyOiBMYXllciwgbmV3VmlzQ29uZmlnOiBQYXJ0aWFsPExheWVyVmlzQ29uZmlnPikgPT4gdm9pZDtcbiAgdG9wOiBudW1iZXI7XG4gIG9uU2V0TG9jYWxlOiB0eXBlb2YgVUlTdGF0ZUFjdGlvbnMuc2V0TG9jYWxlO1xuICBhdmFpbGFibGVMb2NhbGVzOiBzdHJpbmdbXTtcbiAgbG9jYWxlOiBzdHJpbmc7XG4gIGxvZ29Db21wb25lbnQ/OiBSZWFjdC5GQyB8IFJlYWN0LlJlYWN0Tm9kZTtcbiAgaXNFeHBvcnQ/OiBib29sZWFuO1xuXG4gIC8vIG9wdGlvbmFsXG4gIG1hcFN0YXRlPzogTWFwU3RhdGU7XG4gIHJlYWRPbmx5PzogYm9vbGVhbjtcbiAgc2NhbGU/OiBudW1iZXI7XG4gIG1hcExheWVycz86IHtba2V5OiBzdHJpbmddOiBib29sZWFufTtcbiAgZWRpdG9yOiBFZGl0b3I7XG4gIGFjdGlvbkNvbXBvbmVudHM/OiBSZWFjdC5Db21wb25lbnRUeXBlPGFueT5bXTtcbiAgbWFwSGVpZ2h0PzogbnVtYmVyO1xufTtcblxuTWFwQ29udHJvbEZhY3RvcnkuZGVwcyA9IFtcbiAgU3BsaXRNYXBCdXR0b25GYWN0b3J5LFxuICBUb2dnbGUzZEJ1dHRvbkZhY3RvcnksXG4gIExheWVyU2VsZWN0b3JQYW5lbEZhY3RvcnksXG4gIE1hcExlZ2VuZFBhbmVsRmFjdG9yeSxcbiAgTWFwRHJhd1BhbmVsRmFjdG9yeSxcbiAgTG9jYWxlUGFuZWxGYWN0b3J5XG5dO1xuXG5mdW5jdGlvbiBNYXBDb250cm9sRmFjdG9yeShcbiAgU3BsaXRNYXBCdXR0b246IFJldHVyblR5cGU8dHlwZW9mIFNwbGl0TWFwQnV0dG9uRmFjdG9yeT4sXG4gIFRvZ2dsZTNkQnV0dG9uOiBSZXR1cm5UeXBlPHR5cGVvZiBUb2dnbGUzZEJ1dHRvbkZhY3Rvcnk+LFxuICBMYXllclNlbGVjdG9yUGFuZWw6IFJldHVyblR5cGU8dHlwZW9mIExheWVyU2VsZWN0b3JQYW5lbEZhY3Rvcnk+LFxuICBNYXBMZWdlbmRQYW5lbDogUmV0dXJuVHlwZTx0eXBlb2YgTWFwTGVnZW5kUGFuZWxGYWN0b3J5PixcbiAgTWFwRHJhd1BhbmVsOiBSZXR1cm5UeXBlPHR5cGVvZiBNYXBEcmF3UGFuZWxGYWN0b3J5PixcbiAgTG9jYWxlUGFuZWw6IFJldHVyblR5cGU8dHlwZW9mIExvY2FsZVBhbmVsRmFjdG9yeT5cbikge1xuICBjb25zdCBERUZBVUxUX0FDVElPTlMgPSBbXG4gICAgU3BsaXRNYXBCdXR0b24sXG4gICAgTGF5ZXJTZWxlY3RvclBhbmVsLFxuICAgIFRvZ2dsZTNkQnV0dG9uLFxuICAgIE1hcERyYXdQYW5lbCxcbiAgICBMb2NhbGVQYW5lbCxcbiAgICBNYXBMZWdlbmRQYW5lbFxuICBdO1xuXG4gIGNvbnN0IE1hcENvbnRyb2w6IFJlYWN0LkZDPE1hcENvbnRyb2xQcm9wcz4gJiB7XG4gICAgZGVmYXVsdEFjdGlvbkNvbXBvbmVudHM6IE1hcENvbnRyb2xQcm9wc1snYWN0aW9uQ29tcG9uZW50cyddO1xuICB9ID0gKHtcbiAgICBhY3Rpb25Db21wb25lbnRzID0gREVGQVVMVF9BQ1RJT05TLFxuICAgIGlzU3BsaXQgPSBmYWxzZSxcbiAgICB0b3AgPSAwLFxuICAgIG1hcEluZGV4ID0gMCxcbiAgICBsb2dvQ29tcG9uZW50ID0gTGVnZW5kTG9nbyxcbiAgICAuLi5yZXN0UHJvcHNcbiAgfSkgPT4ge1xuICAgIGNvbnN0IGFjdGlvbkNvbXBvbmVudFByb3BzID0ge1xuICAgICAgaXNTcGxpdCxcbiAgICAgIG1hcEluZGV4LFxuICAgICAgbG9nb0NvbXBvbmVudCxcbiAgICAgIC4uLnJlc3RQcm9wc1xuICAgIH07XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRNYXBDb250cm9sIGNsYXNzTmFtZT1cIm1hcC1jb250cm9sXCIgdG9wPXt0b3B9PlxuICAgICAgICB7YWN0aW9uQ29tcG9uZW50cy5tYXAoKEFjdGlvbkNvbXBvbmVudCwgaW5kZXgpID0+IChcbiAgICAgICAgICA8QWN0aW9uQ29tcG9uZW50IGtleT17aW5kZXh9IGNsYXNzTmFtZT1cIm1hcC1jb250cm9sLWFjdGlvblwiIHsuLi5hY3Rpb25Db21wb25lbnRQcm9wc30gLz5cbiAgICAgICAgKSl9XG4gICAgICA8L1N0eWxlZE1hcENvbnRyb2w+XG4gICAgKTtcbiAgfTtcblxuICBNYXBDb250cm9sLmRlZmF1bHRBY3Rpb25Db21wb25lbnRzID0gREVGQVVMVF9BQ1RJT05TO1xuXG4gIE1hcENvbnRyb2wuZGlzcGxheU5hbWUgPSAnTWFwQ29udHJvbCc7XG5cbiAgcmV0dXJuIE1hcENvbnRyb2w7XG59XG5cbmV4cG9ydCBkZWZhdWx0IE1hcENvbnRyb2xGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFHQSxJQUFBRyxlQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxlQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxtQkFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU0sZUFBQSxHQUFBUCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU8sYUFBQSxHQUFBUixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVEsWUFBQSxHQUFBVCxzQkFBQSxDQUFBQyxPQUFBO0FBQWdELElBQUFTLFNBQUE7QUFBQSxJQUFBQyxlQUFBLEVBYmhEO0FBQ0E7QUFNQTtBQUFBLFNBQUFDLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBSCxNQUFBLENBQUFFLHFCQUFBLENBQUFMLENBQUEsR0FBQUMsQ0FBQSxLQUFBSyxDQUFBLEdBQUFBLENBQUEsQ0FBQUMsTUFBQSxXQUFBTixDQUFBLFdBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQVIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFRLFVBQUEsT0FBQVAsQ0FBQSxDQUFBUSxJQUFBLENBQUFDLEtBQUEsQ0FBQVQsQ0FBQSxFQUFBSSxDQUFBLFlBQUFKLENBQUE7QUFBQSxTQUFBVSxjQUFBWixDQUFBLGFBQUFDLENBQUEsTUFBQUEsQ0FBQSxHQUFBWSxTQUFBLENBQUFD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
;