UNPKG

kepler.gl

Version:

kepler.gl is a webgl based application to visualize large scale location data in the browser

86 lines (72 loc) 9.58 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = _interopRequireWildcard(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _icons = require("../common/icons"); var _styledComponents = require("../common/styled-components"); var _mapControlTooltip = _interopRequireDefault(require("./map-control-tooltip")); var _mapControlPanel = _interopRequireDefault(require("./map-control-panel")); // Copyright (c) 2021 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. Toggle3dButtonFactory.deps = [_mapControlTooltip["default"], _mapControlPanel["default"]]; function Toggle3dButtonFactory(MapControlTooltip) { var defaultActionIcons = { cube: _icons.Cube3d }; /** @type {import('./toggle-3d-button').Toggle3dButtonComponent} */ var Toggle3dButton = function Toggle3dButton(_ref) { var dragRotate = _ref.dragRotate, onTogglePerspective = _ref.onTogglePerspective, _ref$actionIcons = _ref.actionIcons, actionIcons = _ref$actionIcons === void 0 ? defaultActionIcons : _ref$actionIcons, mapControls = _ref.mapControls; var onClick = (0, _react.useCallback)(function (event) { event.preventDefault(); onTogglePerspective(); }, [onTogglePerspective]); var isVisible = (0, _react.useMemo)(function () { return ((mapControls === null || mapControls === void 0 ? void 0 : mapControls.toggle3d) || {}).show; }, [mapControls]); return isVisible ? /*#__PURE__*/_react["default"].createElement(_styledComponents.MapControlButton, { onClick: onClick, className: (0, _classnames["default"])('map-control-button', 'toggle-3d', { map3d: dragRotate }), active: dragRotate, "data-tip": true, "data-for": "action-3d" }, /*#__PURE__*/_react["default"].createElement(actionIcons.cube, { height: "22px" }), /*#__PURE__*/_react["default"].createElement(MapControlTooltip, { id: "action-3d", message: dragRotate ? 'tooltip.disable3DMap' : 'tooltip.3DMap' })) : null; }; Toggle3dButton.displayName = 'Toggle3dButton'; return /*#__PURE__*/_react["default"].memo(Toggle3dButton); } var _default = Toggle3dButtonFactory; exports["default"] = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21hcC90b2dnbGUtM2QtYnV0dG9uLmpzIl0sIm5hbWVzIjpbIlRvZ2dsZTNkQnV0dG9uRmFjdG9yeSIsImRlcHMiLCJNYXBDb250cm9sVG9vbHRpcEZhY3RvcnkiLCJNYXBDb250cm9sUGFuZWxGYWN0b3J5IiwiTWFwQ29udHJvbFRvb2x0aXAiLCJkZWZhdWx0QWN0aW9uSWNvbnMiLCJjdWJlIiwiQ3ViZTNkIiwiVG9nZ2xlM2RCdXR0b24iLCJkcmFnUm90YXRlIiwib25Ub2dnbGVQZXJzcGVjdGl2ZSIsImFjdGlvbkljb25zIiwibWFwQ29udHJvbHMiLCJvbkNsaWNrIiwiZXZlbnQiLCJwcmV2ZW50RGVmYXVsdCIsImlzVmlzaWJsZSIsInRvZ2dsZTNkIiwic2hvdyIsIm1hcDNkIiwiZGlzcGxheU5hbWUiLCJSZWFjdCIsIm1lbW8iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQTFCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQVVBQSxxQkFBcUIsQ0FBQ0MsSUFBdEIsR0FBNkIsQ0FBQ0MsNkJBQUQsRUFBMkJDLDJCQUEzQixDQUE3Qjs7QUFFQSxTQUFTSCxxQkFBVCxDQUErQkksaUJBQS9CLEVBQWtEO0FBQ2hELE1BQU1DLGtCQUFrQixHQUFHO0FBQ3pCQyxJQUFBQSxJQUFJLEVBQUVDO0FBRG1CLEdBQTNCO0FBR0E7O0FBQ0EsTUFBTUMsY0FBYyxHQUFHLFNBQWpCQSxjQUFpQixPQUtqQjtBQUFBLFFBSkpDLFVBSUksUUFKSkEsVUFJSTtBQUFBLFFBSEpDLG1CQUdJLFFBSEpBLG1CQUdJO0FBQUEsZ0NBRkpDLFdBRUk7QUFBQSxRQUZKQSxXQUVJLGlDQUZVTixrQkFFVjtBQUFBLFFBREpPLFdBQ0ksUUFESkEsV0FDSTtBQUNKLFFBQU1DLE9BQU8sR0FBRyx3QkFDZCxVQUFBQyxLQUFLLEVBQUk7QUFDUEEsTUFBQUEsS0FBSyxDQUFDQyxjQUFOO0FBQ0FMLE1BQUFBLG1CQUFtQjtBQUNwQixLQUphLEVBS2QsQ0FBQ0EsbUJBQUQsQ0FMYyxDQUFoQjtBQVFBLFFBQU1NLFNBQVMsR0FBRyxvQkFBUSxZQUFNO0FBQzlCLGFBQU8sQ0FBQyxDQUFBSixXQUFXLFNBQVgsSUFBQUEsV0FBVyxXQUFYLFlBQUFBLFdBQVcsQ0FBRUssUUFBYixLQUF5QixFQUExQixFQUE4QkMsSUFBckM7QUFDRCxLQUZpQixFQUVmLENBQUNOLFdBQUQsQ0FGZSxDQUFsQjtBQUlBLFdBQU9JLFNBQVMsZ0JBQ2IsZ0NBQUMsa0NBQUQ7QUFDQyxNQUFBLE9BQU8sRUFBRUgsT0FEVjtBQUVDLE1BQUEsU0FBUyxFQUFFLDRCQUFXLG9CQUFYLEVBQWlDLFdBQWpDLEVBQThDO0FBQUNNLFFBQUFBLEtBQUssRUFBRVY7QUFBUixPQUE5QyxDQUZaO0FBR0MsTUFBQSxNQUFNLEVBQUVBLFVBSFQ7QUFJQyxzQkFKRDtBQUtDLGtCQUFTO0FBTFYsb0JBT0MsZ0NBQUMsV0FBRCxDQUFhLElBQWI7QUFBa0IsTUFBQSxNQUFNLEVBQUM7QUFBekIsTUFQRCxlQVFDLGdDQUFDLGlCQUFEO0FBQ0UsTUFBQSxFQUFFLEVBQUMsV0FETDtBQUVFLE1BQUEsT0FBTyxFQUFFQSxVQUFVLEdBQUcsc0JBQUgsR0FBNEI7QUFGakQsTUFSRCxDQURhLEdBY1osSUFkSjtBQWVELEdBakNEOztBQW1DQUQsRUFBQUEsY0FBYyxDQUFDWSxXQUFmLEdBQTZCLGdCQUE3QjtBQUNBLHNCQUFPQyxrQkFBTUMsSUFBTixDQUFXZCxjQUFYLENBQVA7QUFDRDs7ZUFFY1IscUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjEgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlTWVtb30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5cbmltcG9ydCB7Q3ViZTNkfSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9pY29ucyc7XG5pbXBvcnQge01hcENvbnRyb2xCdXR0b259IGZyb20gJ2NvbXBvbmVudHMvY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBNYXBDb250cm9sVG9vbHRpcEZhY3RvcnkgZnJvbSAnLi9tYXAtY29udHJvbC10b29sdGlwJztcbmltcG9ydCBNYXBDb250cm9sUGFuZWxGYWN0b3J5IGZyb20gJy4vbWFwLWNvbnRyb2wtcGFuZWwnO1xuXG5Ub2dnbGUzZEJ1dHRvbkZhY3RvcnkuZGVwcyA9IFtNYXBDb250cm9sVG9vbHRpcEZhY3RvcnksIE1hcENvbnRyb2xQYW5lbEZhY3RvcnldO1xuXG5mdW5jdGlvbiBUb2dnbGUzZEJ1dHRvbkZhY3RvcnkoTWFwQ29udHJvbFRvb2x0aXApIHtcbiAgY29uc3QgZGVmYXVsdEFjdGlvbkljb25zID0ge1xuICAgIGN1YmU6IEN1YmUzZFxuICB9O1xuICAvKiogQHR5cGUge2ltcG9ydCgnLi90b2dnbGUtM2QtYnV0dG9uJykuVG9nZ2xlM2RCdXR0b25Db21wb25lbnR9ICovXG4gIGNvbnN0IFRvZ2dsZTNkQnV0dG9uID0gKHtcbiAgICBkcmFnUm90YXRlLFxuICAgIG9uVG9nZ2xlUGVyc3BlY3RpdmUsXG4gICAgYWN0aW9uSWNvbnMgPSBkZWZhdWx0QWN0aW9uSWNvbnMsXG4gICAgbWFwQ29udHJvbHNcbiAgfSkgPT4ge1xuICAgIGNvbnN0IG9uQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAgIGV2ZW50ID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgb25Ub2dnbGVQZXJzcGVjdGl2ZSgpO1xuICAgICAgfSxcbiAgICAgIFtvblRvZ2dsZVBlcnNwZWN0aXZlXVxuICAgICk7XG5cbiAgICBjb25zdCBpc1Zpc2libGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHJldHVybiAobWFwQ29udHJvbHM/LnRvZ2dsZTNkIHx8IHt9KS5zaG93O1xuICAgIH0sIFttYXBDb250cm9sc10pO1xuXG4gICAgcmV0dXJuIGlzVmlzaWJsZSA/IChcbiAgICAgICg8TWFwQ29udHJvbEJ1dHRvblxuICAgICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzbmFtZXMoJ21hcC1jb250cm9sLWJ1dHRvbicsICd0b2dnbGUtM2QnLCB7bWFwM2Q6IGRyYWdSb3RhdGV9KX1cbiAgICAgICAgYWN0aXZlPXtkcmFnUm90YXRlfVxuICAgICAgICBkYXRhLXRpcFxuICAgICAgICBkYXRhLWZvcj1cImFjdGlvbi0zZFwiXG4gICAgICA+XG4gICAgICAgIDxhY3Rpb25JY29ucy5jdWJlIGhlaWdodD1cIjIycHhcIiAvPlxuICAgICAgICA8TWFwQ29udHJvbFRvb2x0aXBcbiAgICAgICAgICBpZD1cImFjdGlvbi0zZFwiXG4gICAgICAgICAgbWVzc2FnZT17ZHJhZ1JvdGF0ZSA/ICd0b29sdGlwLmRpc2FibGUzRE1hcCcgOiAndG9vbHRpcC4zRE1hcCd9XG4gICAgICAgIC8+XG4gICAgICA8L01hcENvbnRyb2xCdXR0b24+KVxuICAgICkgOiBudWxsO1xuICB9O1xuXG4gIFRvZ2dsZTNkQnV0dG9uLmRpc3BsYXlOYW1lID0gJ1RvZ2dsZTNkQnV0dG9uJztcbiAgcmV0dXJuIFJlYWN0Lm1lbW8oVG9nZ2xlM2RCdXR0b24pO1xufVxuXG5leHBvcnQgZGVmYXVsdCBUb2dnbGUzZEJ1dHRvbkZhY3Rvcnk7XG4iXX0=