kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
80 lines (58 loc) • 10.4 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 _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 _templateObject;
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 = [_mapDrawPanel["default"], _toggle3dButton["default"], _splitMapButton["default"], _mapLegendPanel["default"], _layerSelectorPanel["default"], _localePanel["default"]];
function MapControlFactory(MapDrawPanel, Toggle3dButton, SplitMapButton, MapLegendPanel, LayerSelectorPanel, LocalePanel) {
var DEFAULT_ACTIONS = [SplitMapButton, LayerSelectorPanel, Toggle3dButton, MapLegendPanel, MapDrawPanel, LocalePanel];
/** @type {import('./map-control').MapControl} */
var MapControl = function MapControl(_ref) {
var _ref$actionComponents = _ref.actionComponents,
actionComponents = _ref$actionComponents === void 0 ? DEFAULT_ACTIONS : _ref$actionComponents,
props = (0, _objectWithoutProperties2["default"])(_ref, ["actionComponents"]);
return /*#__PURE__*/_react["default"].createElement(StyledMapControl, {
className: "map-control",
top: props.top
}, actionComponents.map(function (ActionComponent, index) {
return /*#__PURE__*/_react["default"].createElement(ActionComponent, (0, _extends2["default"])({
key: index,
className: "map-control-action"
}, props));
}));
};
MapControl.defaultProps = {
isSplit: false,
top: 0,
mapIndex: 0,
logoComponent: LegendLogo
};
MapControl.displayName = 'MapControl';
return /*#__PURE__*/_react["default"].memo(MapControl);
}
var _default = MapControlFactory;
exports["default"] = _default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21hcC9tYXAtY29udHJvbC5qcyJdLCJuYW1lcyI6WyJTdHlsZWRNYXBDb250cm9sIiwic3R5bGVkIiwiZGl2IiwicHJvcHMiLCJ0aGVtZSIsIm1hcENvbnRyb2wiLCJwYWRkaW5nIiwidG9wIiwiTGVnZW5kTG9nbyIsIk1hcENvbnRyb2xGYWN0b3J5IiwiZGVwcyIsIk1hcERyYXdQYW5lbEZhY3RvcnkiLCJUb2dnbGUzZEJ1dHRvbkZhY3RvcnkiLCJTcGxpdE1hcEJ1dHRvbkZhY3RvcnkiLCJNYXBMZWdlbmRQYW5lbEZhY3RvcnkiLCJMYXllclNlbGVjdG9yUGFuZWxGYWN0b3J5IiwiTG9jYWxlUGFuZWxGYWN0b3J5IiwiTWFwRHJhd1BhbmVsIiwiVG9nZ2xlM2RCdXR0b24iLCJTcGxpdE1hcEJ1dHRvbiIsIk1hcExlZ2VuZFBhbmVsIiwiTGF5ZXJTZWxlY3RvclBhbmVsIiwiTG9jYWxlUGFuZWwiLCJERUZBVUxUX0FDVElPTlMiLCJNYXBDb250cm9sIiwiYWN0aW9uQ29tcG9uZW50cyIsIm1hcCIsIkFjdGlvbkNvbXBvbmVudCIsImluZGV4IiwiZGVmYXVsdFByb3BzIiwiaXNTcGxpdCIsIm1hcEluZGV4IiwibG9nb0NvbXBvbmVudCIsImRpc3BsYXlOYW1lIiwiUmVhY3QiLCJtZW1vIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxnQkFBZ0IsR0FBR0MsNkJBQU9DLEdBQVYsMFlBRVQsVUFBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUssQ0FBQ0MsS0FBTixDQUFZQyxVQUFaLENBQXVCQyxPQUEzQjtBQUFBLENBRkksRUFJTixVQUFBSCxLQUFLO0FBQUEsU0FBSUEsS0FBSyxDQUFDSSxHQUFOLElBQWEsQ0FBakI7QUFBQSxDQUpDLENBQXRCOztBQWdCQSxJQUFNQyxVQUFVLGdCQUFHLGdDQUFDLGdCQUFEO0FBQWMsRUFBQSxPQUFPLEVBQUUsS0FBdkI7QUFBOEIsRUFBQSxPQUFPLEVBQUM7QUFBdEMsRUFBbkI7O0FBRUFDLGlCQUFpQixDQUFDQyxJQUFsQixHQUF5QixDQUN2QkMsd0JBRHVCLEVBRXZCQywwQkFGdUIsRUFHdkJDLDBCQUh1QixFQUl2QkMsMEJBSnVCLEVBS3ZCQyw4QkFMdUIsRUFNdkJDLHVCQU51QixDQUF6Qjs7QUFTQSxTQUFTUCxpQkFBVCxDQUNFUSxZQURGLEVBRUVDLGNBRkYsRUFHRUMsY0FIRixFQUlFQyxjQUpGLEVBS0VDLGtCQUxGLEVBTUVDLFdBTkYsRUFPRTtBQUNBLE1BQU1DLGVBQWUsR0FBRyxDQUN0QkosY0FEc0IsRUFFdEJFLGtCQUZzQixFQUd0QkgsY0FIc0IsRUFJdEJFLGNBSnNCLEVBS3RCSCxZQUxzQixFQU10QkssV0FOc0IsQ0FBeEI7QUFTQTs7QUFDQSxNQUFNRSxVQUFVLEdBQUcsU0FBYkEsVUFBYSxPQUFvRDtBQUFBLHFDQUFsREMsZ0JBQWtEO0FBQUEsUUFBbERBLGdCQUFrRCxzQ0FBL0JGLGVBQStCO0FBQUEsUUFBWHBCLEtBQVc7QUFDckUsd0JBQ0UsZ0NBQUMsZ0JBQUQ7QUFBa0IsTUFBQSxTQUFTLEVBQUMsYUFBNUI7QUFBMEMsTUFBQSxHQUFHLEVBQUVBLEtBQUssQ0FBQ0k7QUFBckQsT0FDR2tCLGdCQUFnQixDQUFDQyxHQUFqQixDQUFxQixVQUFDQyxlQUFELEVBQWtCQyxLQUFsQjtBQUFBLDBCQUNwQixnQ0FBQyxlQUFEO0FBQWlCLFFBQUEsR0FBRyxFQUFFQSxLQUF0QjtBQUE2QixRQUFBLFNBQVMsRUFBQztBQUF2QyxTQUFnRXpCLEtBQWhFLEVBRG9CO0FBQUEsS0FBckIsQ0FESCxDQURGO0FBT0QsR0FSRDs7QUFVQXFCLEVBQUFBLFVBQVUsQ0FBQ0ssWUFBWCxHQUEwQjtBQUN4QkMsSUFBQUEsT0FBTyxFQUFFLEtBRGU7QUFFeEJ2QixJQUFBQSxHQUFHLEVBQUUsQ0FGbUI7QUFHeEJ3QixJQUFBQSxRQUFRLEVBQUUsQ0FIYztBQUl4QkMsSUFBQUEsYUFBYSxFQUFFeEI7QUFKUyxHQUExQjtBQU9BZ0IsRUFBQUEsVUFBVSxDQUFDUyxXQUFYLEdBQXlCLFlBQXpCO0FBRUEsc0JBQU9DLGtCQUFNQyxJQUFOLENBQVdYLFVBQVgsQ0FBUDtBQUNEOztlQUVjZixpQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMSBVYmVyIFRlY2hub2xvZ2llcywgSW5jLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbi8vIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbi8vIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbi8vIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuLy8gZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpblxuLy8gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4vLyBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbi8vIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4vLyBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOXG4vLyBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBLZXBsZXJHbExvZ28gZnJvbSAnY29tcG9uZW50cy9jb21tb24vbG9nbyc7XG5cbi8vIGZhY3Rvcmllc1xuaW1wb3J0IFNwbGl0TWFwQnV0dG9uRmFjdG9yeSBmcm9tICcuL3NwbGl0LW1hcC1idXR0b24nO1xuaW1wb3J0IFRvZ2dsZTNkQnV0dG9uRmFjdG9yeSBmcm9tICcuL3RvZ2dsZS0zZC1idXR0b24nO1xuaW1wb3J0IExheWVyU2VsZWN0b3JQYW5lbEZhY3RvcnkgZnJvbSAnLi9sYXllci1zZWxlY3Rvci1wYW5lbCc7XG5pbXBvcnQgTWFwTGVnZW5kUGFuZWxGYWN0b3J5IGZyb20gJy4vbWFwLWxlZ2VuZC1wYW5lbCc7XG5pbXBvcnQgTWFwRHJhd1BhbmVsRmFjdG9yeSBmcm9tICcuL21hcC1kcmF3LXBhbmVsJztcbmltcG9ydCBMb2NhbGVQYW5lbEZhY3RvcnkgZnJvbSAnLi9sb2NhbGUtcGFuZWwnO1xuXG5jb25zdCBTdHlsZWRNYXBDb250cm9sID0gc3R5bGVkLmRpdmBcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUubWFwQ29udHJvbC5wYWRkaW5nfXB4O1xuICB6LWluZGV4OiAxMDtcbiAgbWFyZ2luLXRvcDogJHtwcm9wcyA9PiBwcm9wcy50b3AgfHwgMH1weDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBncmlkO1xuICByb3ctZ2FwOiA4cHg7XG4gIGp1c3RpZnktaXRlbXM6IGVuZDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IC8qIHByZXZlbnQgcGFkZGluZyBmcm9tIGJsb2NraW5nIGlucHV0ICovXG4gICYgPiAqIHtcbiAgICAvKiBhbGwgY2hpbGRyZW4gc2hvdWxkIGFsbG93IGlucHV0ICovXG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgfVxuYDtcblxuY29uc3QgTGVnZW5kTG9nbyA9IDxLZXBsZXJHbExvZ28gdmVyc2lvbj17ZmFsc2V9IGFwcE5hbWU9XCJrZXBsZXIuZ2xcIiAvPjtcblxuTWFwQ29udHJvbEZhY3RvcnkuZGVwcyA9IFtcbiAgTWFwRHJhd1BhbmVsRmFjdG9yeSxcbiAgVG9nZ2xlM2RCdXR0b25GYWN0b3J5LFxuICBTcGxpdE1hcEJ1dHRvbkZhY3RvcnksXG4gIE1hcExlZ2VuZFBhbmVsRmFjdG9yeSxcbiAgTGF5ZXJTZWxlY3RvclBhbmVsRmFjdG9yeSxcbiAgTG9jYWxlUGFuZWxGYWN0b3J5XG5dO1xuXG5mdW5jdGlvbiBNYXBDb250cm9sRmFjdG9yeShcbiAgTWFwRHJhd1BhbmVsLFxuICBUb2dnbGUzZEJ1dHRvbixcbiAgU3BsaXRNYXBCdXR0b24sXG4gIE1hcExlZ2VuZFBhbmVsLFxuICBMYXllclNlbGVjdG9yUGFuZWwsXG4gIExvY2FsZVBhbmVsXG4pIHtcbiAgY29uc3QgREVGQVVMVF9BQ1RJT05TID0gW1xuICAgIFNwbGl0TWFwQnV0dG9uLFxuICAgIExheWVyU2VsZWN0b3JQYW5lbCxcbiAgICBUb2dnbGUzZEJ1dHRvbixcbiAgICBNYXBMZWdlbmRQYW5lbCxcbiAgICBNYXBEcmF3UGFuZWwsXG4gICAgTG9jYWxlUGFuZWxcbiAgXTtcblxuICAvKiogQHR5cGUge2ltcG9ydCgnLi9tYXAtY29udHJvbCcpLk1hcENvbnRyb2x9ICovXG4gIGNvbnN0IE1hcENvbnRyb2wgPSAoe2FjdGlvbkNvbXBvbmVudHMgPSBERUZBVUxUX0FDVElPTlMsIC4uLnByb3BzfSkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkTWFwQ29udHJvbCBjbGFzc05hbWU9XCJtYXAtY29udHJvbFwiIHRvcD17cHJvcHMudG9wfT5cbiAgICAgICAge2FjdGlvbkNvbXBvbmVudHMubWFwKChBY3Rpb25Db21wb25lbnQsIGluZGV4KSA9PiAoXG4gICAgICAgICAgPEFjdGlvbkNvbXBvbmVudCBrZXk9e2luZGV4fSBjbGFzc05hbWU9XCJtYXAtY29udHJvbC1hY3Rpb25cIiB7Li4ucHJvcHN9IC8+XG4gICAgICAgICkpfVxuICAgICAgPC9TdHlsZWRNYXBDb250cm9sPlxuICAgICk7XG4gIH07XG5cbiAgTWFwQ29udHJvbC5kZWZhdWx0UHJvcHMgPSB7XG4gICAgaXNTcGxpdDogZmFsc2UsXG4gICAgdG9wOiAwLFxuICAgIG1hcEluZGV4OiAwLFxuICAgIGxvZ29Db21wb25lbnQ6IExlZ2VuZExvZ29cbiAgfTtcblxuICBNYXBDb250cm9sLmRpc3BsYXlOYW1lID0gJ01hcENvbnRyb2wnO1xuXG4gIHJldHVybiBSZWFjdC5tZW1vKE1hcENvbnRyb2wpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBNYXBDb250cm9sRmFjdG9yeTtcbiJdfQ==