UNPKG

kepler.gl

Version:

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

77 lines (76 loc) 14.3 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral")); var _react = _interopRequireWildcard(require("react")); var _styledComponents = _interopRequireWildcard(require("styled-components")); var _utils = require("@kepler.gl/utils"); var _localization = require("@kepler.gl/localization"); var _ = require("../.."); var _styledComponents2 = require("../../common/styled-components"); var _customPicker = _interopRequireDefault(require("../layer-panel/custom-picker")); var _colorSelector = require("../layer-panel/color-selector"); var _templateObject, _templateObject2; // SPDX-License-Identifier: MIT // Copyright contributors to the kepler.gl project 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); } 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; } var LayerGroupColorPickerWrapper = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", "px;\n cursor: pointer;\n ", "\n"])), function (props) { return props.extraMarginRight ? 0 : 24; }, function (props) { return props.disabled && (0, _styledComponents.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n cursor: none;\n pointer-events: none;\n opacity: 0.3;\n "]))); }); LayerGroupColorPickerFactory.deps = []; function LayerGroupColorPickerFactory() { var LayerGroupColorPicker = function LayerGroupColorPicker(_ref) { var slug = _ref.slug, color = _ref.color, onColorChange = _ref.onColorChange, extraMarginRight = _ref.extraMarginRight, disabled = _ref.disabled; var _useState = (0, _react.useState)(false), _useState2 = (0, _slicedToArray2["default"])(_useState, 2), displayColorPicker = _useState2[0], setDisplayColorPicker = _useState2[1]; var onColorBlockClick = (0, _react.useCallback)(function () { setDisplayColorPicker(!displayColorPicker); }, [setDisplayColorPicker, displayColorPicker]); var onClosePicker = (0, _react.useCallback)(function () { setDisplayColorPicker(false); }, [setDisplayColorPicker]); var onCustomPickerChange = (0, _react.useCallback)(function (newColor) { onColorChange([newColor.rgb.r, newColor.rgb.g, newColor.rgb.b]); }, [onColorChange]); return /*#__PURE__*/_react["default"].createElement(LayerGroupColorPickerWrapper, { extraMarginRight: extraMarginRight, disabled: disabled }, /*#__PURE__*/_react["default"].createElement(_colorSelector.ColorBlock, { backgroundcolor: color, onClick: onColorBlockClick, className: "color-selector__selector__block", "data-tip": true, "data-for": "update-color-".concat(slug) }), /*#__PURE__*/_react["default"].createElement(_styledComponents2.Tooltip, { id: "update-color-".concat(slug), effect: "solid", delayShow: 500 }, /*#__PURE__*/_react["default"].createElement("span", null, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, { id: 'Update color' }))), /*#__PURE__*/_react["default"].createElement(_.Portaled, { isOpened: displayColorPicker !== false, left: 110, top: -50, onClose: onClosePicker }, /*#__PURE__*/_react["default"].createElement(_customPicker["default"], { color: (0, _utils.rgbToHex)(color), onChange: onCustomPickerChange }))); }; return LayerGroupColorPicker; } var _default = exports["default"] = LayerGroupColorPickerFactory; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl91dGlscyIsIl9sb2NhbGl6YXRpb24iLCJfIiwiX3N0eWxlZENvbXBvbmVudHMyIiwiX2N1c3RvbVBpY2tlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY29sb3JTZWxlY3RvciIsIl90ZW1wbGF0ZU9iamVjdCIsIl90ZW1wbGF0ZU9iamVjdDIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJMYXllckdyb3VwQ29sb3JQaWNrZXJXcmFwcGVyIiwic3R5bGVkIiwiZGl2IiwiX3RhZ2dlZFRlbXBsYXRlTGl0ZXJhbDIiLCJwcm9wcyIsImV4dHJhTWFyZ2luUmlnaHQiLCJkaXNhYmxlZCIsImNzcyIsIkxheWVyR3JvdXBDb2xvclBpY2tlckZhY3RvcnkiLCJkZXBzIiwiTGF5ZXJHcm91cENvbG9yUGlja2VyIiwiX3JlZiIsInNsdWciLCJjb2xvciIsIm9uQ29sb3JDaGFuZ2UiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJkaXNwbGF5Q29sb3JQaWNrZXIiLCJzZXREaXNwbGF5Q29sb3JQaWNrZXIiLCJvbkNvbG9yQmxvY2tDbGljayIsInVzZUNhbGxiYWNrIiwib25DbG9zZVBpY2tlciIsIm9uQ3VzdG9tUGlja2VyQ2hhbmdlIiwibmV3Q29sb3IiLCJyZ2IiLCJnIiwiYiIsImNyZWF0ZUVsZW1lbnQiLCJDb2xvckJsb2NrIiwiYmFja2dyb3VuZGNvbG9yIiwib25DbGljayIsImNsYXNzTmFtZSIsImNvbmNhdCIsIlRvb2x0aXAiLCJpZCIsImVmZmVjdCIsImRlbGF5U2hvdyIsIkZvcm1hdHRlZE1lc3NhZ2UiLCJQb3J0YWxlZCIsImlzT3BlbmVkIiwibGVmdCIsInRvcCIsIm9uQ2xvc2UiLCJyZ2JUb0hleCIsIm9uQ2hhbmdlIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NpZGUtcGFuZWwvbWFwLXN0eWxlLXBhbmVsL21hcC1sYXllci1ncm91cC1jb2xvci1waWNrZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VTdGF0ZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCwge2Nzc30gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuXG5pbXBvcnQge3JnYlRvSGV4fSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnQGtlcGxlci5nbC9sb2NhbGl6YXRpb24nO1xuaW1wb3J0IHtSR0JDb2xvcn0gZnJvbSAnQGtlcGxlci5nbC90eXBlcyc7XG5cbmltcG9ydCB7UG9ydGFsZWR9IGZyb20gJy4uLy4uJztcbmltcG9ydCB7VG9vbHRpcH0gZnJvbSAnLi4vLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBDdXN0b21QaWNrZXIgZnJvbSAnLi4vbGF5ZXItcGFuZWwvY3VzdG9tLXBpY2tlcic7XG5pbXBvcnQge0NvbG9yQmxvY2t9IGZyb20gJy4uL2xheWVyLXBhbmVsL2NvbG9yLXNlbGVjdG9yJztcblxuY29uc3QgTGF5ZXJHcm91cENvbG9yUGlja2VyV3JhcHBlciA9IHN0eWxlZC5kaXY8e2V4dHJhTWFyZ2luUmlnaHQ/OiBib29sZWFuOyBkaXNhYmxlZD86IGJvb2xlYW59PmBcbiAgbWFyZ2luLXJpZ2h0OiAke3Byb3BzID0+IChwcm9wcy5leHRyYU1hcmdpblJpZ2h0ID8gMCA6IDI0KX1weDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAke3Byb3BzID0+XG4gICAgcHJvcHMuZGlzYWJsZWQgJiZcbiAgICBjc3NgXG4gICAgICBjdXJzb3I6IG5vbmU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDAuMztcbiAgICBgfVxuYDtcblxuZXhwb3J0IHR5cGUgTGF5ZXJHcm91cENvbG9yUGlja2VyUHJvcHMgPSB7XG4gIHNsdWc6IHN0cmluZztcbiAgY29sb3I6IFJHQkNvbG9yO1xuICBvbkNvbG9yQ2hhbmdlOiAocGQ6IFJHQkNvbG9yKSA9PiB2b2lkO1xuICBleHRyYU1hcmdpblJpZ2h0OiBib29sZWFuO1xuICBkaXNhYmxlZDogYm9vbGVhbjtcbn07XG5cbkxheWVyR3JvdXBDb2xvclBpY2tlckZhY3RvcnkuZGVwcyA9IFtdO1xuXG5mdW5jdGlvbiBMYXllckdyb3VwQ29sb3JQaWNrZXJGYWN0b3J5KCkge1xuICBjb25zdCBMYXllckdyb3VwQ29sb3JQaWNrZXI6IFJlYWN0LkZDPExheWVyR3JvdXBDb2xvclBpY2tlclByb3BzPiA9ICh7XG4gICAgc2x1ZyxcbiAgICBjb2xvcixcbiAgICBvbkNvbG9yQ2hhbmdlLFxuICAgIGV4dHJhTWFyZ2luUmlnaHQsXG4gICAgZGlzYWJsZWRcbiAgfSkgPT4ge1xuICAgIGNvbnN0IFtkaXNwbGF5Q29sb3JQaWNrZXIsIHNldERpc3BsYXlDb2xvclBpY2tlcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgICBjb25zdCBvbkNvbG9yQmxvY2tDbGljayA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldERpc3BsYXlDb2xvclBpY2tlcighZGlzcGxheUNvbG9yUGlja2VyKTtcbiAgICB9LCBbc2V0RGlzcGxheUNvbG9yUGlja2VyLCBkaXNwbGF5Q29sb3JQaWNrZXJdKTtcblxuICAgIGNvbnN0IG9uQ2xvc2VQaWNrZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXREaXNwbGF5Q29sb3JQaWNrZXIoZmFsc2UpO1xuICAgIH0sIFtzZXREaXNwbGF5Q29sb3JQaWNrZXJdKTtcblxuICAgIGNvbnN0IG9uQ3VzdG9tUGlja2VyQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgICBuZXdDb2xvciA9PiB7XG4gICAgICAgIG9uQ29sb3JDaGFuZ2UoW25ld0NvbG9yLnJnYi5yLCBuZXdDb2xvci5yZ2IuZywgbmV3Q29sb3IucmdiLmJdKTtcbiAgICAgIH0sXG4gICAgICBbb25Db2xvckNoYW5nZV1cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxMYXllckdyb3VwQ29sb3JQaWNrZXJXcmFwcGVyIGV4dHJhTWFyZ2luUmlnaHQ9e2V4dHJhTWFyZ2luUmlnaHR9IGRpc2FibGVkPXtkaXNhYmxlZH0+XG4gICAgICAgIDxDb2xvckJsb2NrXG4gICAgICAgICAgYmFja2dyb3VuZGNvbG9yPXtjb2xvcn1cbiAgICAgICAgICBvbkNsaWNrPXtvbkNvbG9yQmxvY2tDbGlja31cbiAgICAgICAgICBjbGFzc05hbWU9XCJjb2xvci1zZWxlY3Rvcl9fc2VsZWN0b3JfX2Jsb2NrXCJcbiAgICAgICAgICBkYXRhLXRpcFxuICAgICAgICAgIGRhdGEtZm9yPXtgdXBkYXRlLWNvbG9yLSR7c2x1Z31gfVxuICAgICAgICAvPlxuICAgICAgICA8VG9vbHRpcCBpZD17YHVwZGF0ZS1jb2xvci0ke3NsdWd9YH0gZWZmZWN0PVwic29saWRcIiBkZWxheVNob3c9ezUwMH0+XG4gICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J1VwZGF0ZSBjb2xvcid9IC8+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIDxQb3J0YWxlZFxuICAgICAgICAgIGlzT3BlbmVkPXtkaXNwbGF5Q29sb3JQaWNrZXIgIT09IGZhbHNlfVxuICAgICAgICAgIGxlZnQ9ezExMH1cbiAgICAgICAgICB0b3A9ey01MH1cbiAgICAgICAgICBvbkNsb3NlPXtvbkNsb3NlUGlja2VyfVxuICAgICAgICA+XG4gICAgICAgICAgPEN1c3RvbVBpY2tlciBjb2xvcj17cmdiVG9IZXgoY29sb3IpfSBvbkNoYW5nZT17b25DdXN0b21QaWNrZXJDaGFuZ2V9IC8+XG4gICAgICAgIDwvUG9ydGFsZWQ+XG4gICAgICA8L0xheWVyR3JvdXBDb2xvclBpY2tlcldyYXBwZXI+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gTGF5ZXJHcm91cENvbG9yUGlja2VyO1xufVxuXG5leHBvcnQgZGVmYXVsdCBMYXllckdyb3VwQ29sb3JQaWNrZXJGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsaUJBQUEsR0FBQUYsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFFLE1BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGFBQUEsR0FBQUgsT0FBQTtBQUdBLElBQUFJLENBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLGtCQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxhQUFBLEdBQUFDLHNCQUFBLENBQUFQLE9BQUE7QUFDQSxJQUFBUSxjQUFBLEdBQUFSLE9BQUE7QUFBeUQsSUFBQVMsZUFBQSxFQUFBQyxnQkFBQSxFQWJ6RDtBQUNBO0FBQUEsU0FBQUMseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFiLHdCQUFBYSxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVB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