kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
77 lines (76 loc) • 14.5 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("/Users/ihordykhta/Desktop/unfolded/kepler.gl/node_modules/react"));
var _styledComponents = _interopRequireWildcard(require("/Users/ihordykhta/Desktop/unfolded/kepler.gl/node_modules/styled-components"));
var _src = require("/Users/ihordykhta/Desktop/unfolded/kepler.gl/src/utils/src");
var _src2 = require("/Users/ihordykhta/Desktop/unfolded/kepler.gl/src/localization/src");
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(_src2.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, _src.rgbToHex)(color),
onChange: onCustomPickerChange
})));
};
return LayerGroupColorPicker;
}
var _default = exports["default"] = LayerGroupColorPickerFactory;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9zcmMiLCJfc3JjMiIsIl8iLCJfc3R5bGVkQ29tcG9uZW50czIiLCJfY3VzdG9tUGlja2VyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9jb2xvclNlbGVjdG9yIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIkxheWVyR3JvdXBDb2xvclBpY2tlcldyYXBwZXIiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwiJGV4dHJhTWFyZ2luUmlnaHQiLCJkaXNhYmxlZCIsImNzcyIsIkxheWVyR3JvdXBDb2xvclBpY2tlckZhY3RvcnkiLCJkZXBzIiwiTGF5ZXJHcm91cENvbG9yUGlja2VyIiwiX3JlZiIsInNsdWciLCJjb2xvciIsIm9uQ29sb3JDaGFuZ2UiLCJleHRyYU1hcmdpblJpZ2h0IiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiZGlzcGxheUNvbG9yUGlja2VyIiwic2V0RGlzcGxheUNvbG9yUGlja2VyIiwib25Db2xvckJsb2NrQ2xpY2siLCJ1c2VDYWxsYmFjayIsIm9uQ2xvc2VQaWNrZXIiLCJvbkN1c3RvbVBpY2tlckNoYW5nZSIsIm5ld0NvbG9yIiwicmdiIiwiZyIsImIiLCJjcmVhdGVFbGVtZW50IiwiQ29sb3JCbG9jayIsImJhY2tncm91bmRjb2xvciIsIm9uQ2xpY2siLCJjbGFzc05hbWUiLCJjb25jYXQiLCJUb29sdGlwIiwiaWQiLCJlZmZlY3QiLCJkZWxheVNob3ciLCJGb3JtYXR0ZWRNZXNzYWdlIiwiUG9ydGFsZWQiLCJpc09wZW5lZCIsImxlZnQiLCJ0b3AiLCJvbkNsb3NlIiwicmdiVG9IZXgiLCJvbkNoYW5nZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3NyYy9zaWRlLXBhbmVsL21hcC1zdHlsZS1wYW5lbC9tYXAtbGF5ZXItZ3JvdXAtY29sb3ItcGlja2VyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlU3RhdGV9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQsIHtjc3N9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcblxuaW1wb3J0IHtyZ2JUb0hleH0gZnJvbSAnQGtlcGxlci5nbC91dGlscyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcbmltcG9ydCB7UkdCQ29sb3J9IGZyb20gJ0BrZXBsZXIuZ2wvdHlwZXMnO1xuXG5pbXBvcnQge1BvcnRhbGVkfSBmcm9tICcuLi8uLic7XG5pbXBvcnQge1Rvb2x0aXB9IGZyb20gJy4uLy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgQ3VzdG9tUGlja2VyIGZyb20gJy4uL2xheWVyLXBhbmVsL2N1c3RvbS1waWNrZXInO1xuaW1wb3J0IHtDb2xvckJsb2NrfSBmcm9tICcuLi9sYXllci1wYW5lbC9jb2xvci1zZWxlY3Rvcic7XG5cbmNvbnN0IExheWVyR3JvdXBDb2xvclBpY2tlcldyYXBwZXIgPSBzdHlsZWQuZGl2PHskZXh0cmFNYXJnaW5SaWdodD86IGJvb2xlYW47IGRpc2FibGVkPzogYm9vbGVhbn0+YFxuICBtYXJnaW4tcmlnaHQ6ICR7cHJvcHMgPT4gKHByb3BzLiRleHRyYU1hcmdpblJpZ2h0ID8gMCA6IDI0KX1weDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAke3Byb3BzID0+XG4gICAgcHJvcHMuZGlzYWJsZWQgJiZcbiAgICBjc3NgXG4gICAgICBjdXJzb3I6IG5vbmU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDAuMztcbiAgICBgfVxuYDtcblxuZXhwb3J0IHR5cGUgTGF5ZXJHcm91cENvbG9yUGlja2VyUHJvcHMgPSB7XG4gIHNsdWc6IHN0cmluZztcbiAgY29sb3I6IFJHQkNvbG9yO1xuICBvbkNvbG9yQ2hhbmdlOiAocGQ6IFJHQkNvbG9yKSA9PiB2b2lkO1xuICBleHRyYU1hcmdpblJpZ2h0OiBib29sZWFuO1xuICBkaXNhYmxlZDogYm9vbGVhbjtcbn07XG5cbkxheWVyR3JvdXBDb2xvclBpY2tlckZhY3RvcnkuZGVwcyA9IFtdO1xuXG5mdW5jdGlvbiBMYXllckdyb3VwQ29sb3JQaWNrZXJGYWN0b3J5KCkge1xuICBjb25zdCBMYXllckdyb3VwQ29sb3JQaWNrZXI6IFJlYWN0LkZDPExheWVyR3JvdXBDb2xvclBpY2tlclByb3BzPiA9ICh7XG4gICAgc2x1ZyxcbiAgICBjb2xvcixcbiAgICBvbkNvbG9yQ2hhbmdlLFxuICAgIGV4dHJhTWFyZ2luUmlnaHQsXG4gICAgZGlzYWJsZWRcbiAgfSkgPT4ge1xuICAgIGNvbnN0IFtkaXNwbGF5Q29sb3JQaWNrZXIsIHNldERpc3BsYXlDb2xvclBpY2tlcl0gPSB1c2VTdGF0ZShmYWxzZSk7XG5cbiAgICBjb25zdCBvbkNvbG9yQmxvY2tDbGljayA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldERpc3BsYXlDb2xvclBpY2tlcighZGlzcGxheUNvbG9yUGlja2VyKTtcbiAgICB9LCBbc2V0RGlzcGxheUNvbG9yUGlja2VyLCBkaXNwbGF5Q29sb3JQaWNrZXJdKTtcblxuICAgIGNvbnN0IG9uQ2xvc2VQaWNrZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBzZXREaXNwbGF5Q29sb3JQaWNrZXIoZmFsc2UpO1xuICAgIH0sIFtzZXREaXNwbGF5Q29sb3JQaWNrZXJdKTtcblxuICAgIGNvbnN0IG9uQ3VzdG9tUGlja2VyQ2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgICBuZXdDb2xvciA9PiB7XG4gICAgICAgIG9uQ29sb3JDaGFuZ2UoW25ld0NvbG9yLnJnYi5yLCBuZXdDb2xvci5yZ2IuZywgbmV3Q29sb3IucmdiLmJdKTtcbiAgICAgIH0sXG4gICAgICBbb25Db2xvckNoYW5nZV1cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxMYXllckdyb3VwQ29sb3JQaWNrZXJXcmFwcGVyICRleHRyYU1hcmdpblJpZ2h0PXtleHRyYU1hcmdpblJpZ2h0fSBkaXNhYmxlZD17ZGlzYWJsZWR9PlxuICAgICAgICA8Q29sb3JCbG9ja1xuICAgICAgICAgIGJhY2tncm91bmRjb2xvcj17Y29sb3J9XG4gICAgICAgICAgb25DbGljaz17b25Db2xvckJsb2NrQ2xpY2t9XG4gICAgICAgICAgY2xhc3NOYW1lPVwiY29sb3Itc2VsZWN0b3JfX3NlbGVjdG9yX19ibG9ja1wiXG4gICAgICAgICAgZGF0YS10aXBcbiAgICAgICAgICBkYXRhLWZvcj17YHVwZGF0ZS1jb2xvci0ke3NsdWd9YH1cbiAgICAgICAgLz5cbiAgICAgICAgPFRvb2x0aXAgaWQ9e2B1cGRhdGUtY29sb3ItJHtzbHVnfWB9IGVmZmVjdD1cInNvbGlkXCIgZGVsYXlTaG93PXs1MDB9PlxuICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydVcGRhdGUgY29sb3InfSAvPlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICA8UG9ydGFsZWRcbiAgICAgICAgICBpc09wZW5lZD17ZGlzcGxheUNvbG9yUGlja2VyICE9PSBmYWxzZX1cbiAgICAgICAgICBsZWZ0PXsxMTB9XG4gICAgICAgICAgdG9wPXstNTB9XG4gICAgICAgICAgb25DbG9zZT17b25DbG9zZVBpY2tlcn1cbiAgICAgICAgPlxuICAgICAgICAgIDxDdXN0b21QaWNrZXIgY29sb3I9e3JnYlRvSGV4KGNvbG9yKX0gb25DaGFuZ2U9e29uQ3VzdG9tUGlja2VyQ2hhbmdlfSAvPlxuICAgICAgICA8L1BvcnRhbGVkPlxuICAgICAgPC9MYXllckdyb3VwQ29sb3JQaWNrZXJXcmFwcGVyPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIExheWVyR3JvdXBDb2xvclBpY2tlcjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgTGF5ZXJHcm91cENvbG9yUGlja2VyRmFjdG9yeTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFGLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBRSxJQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxLQUFBLEdBQUFILE9BQUE7QUFHQSxJQUFBSSxDQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxrQkFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sYUFBQSxHQUFBQyxzQkFBQSxDQUFBUCxPQUFBO0FBQ0EsSUFBQVEsY0FBQSxHQUFBUixPQUFBO0FBQXlELElBQUFTLGVBQUEsRUFBQUMsZ0JBQUEsRUFiekQ7QUFDQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBYix3QkFBQWEsQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFB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
;