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
JavaScript
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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
;