UNPKG

kepler.gl

Version:

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

86 lines (85 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 = _interopRequireDefault(require("styled-components")); var _classnames = _interopRequireDefault(require("classnames")); var _utils = require("@kepler.gl/utils"); var _localization = require("@kepler.gl/localization"); var _constants = require("@kepler.gl/constants"); var _customPicker = _interopRequireDefault(require("./custom-picker")); var _colorPalettePreset = _interopRequireDefault(require("./color-palette-preset")); var _templateObject; // 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 MODE = { preset: 'preset', picker: 'picker' }; var StyledColorPickerTop = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n border-bottom: 1px solid ", ";\n display: flex;\n padding-top: 2px 4px 0 4px;\n .color-palette-tab {\n padding: 8px 0;\n margin: 0 8px;\n color: ", ";\n border-bottom: 2px;\n border-bottom-style: solid;\n border-bottom-color: transparent;\n &.active {\n color: ", ";\n border-bottom-color: ", ";\n }\n &:hover {\n cursor: pointer;\n color: ", ";\n }\n }\n"])), function (_ref) { var theme = _ref.theme; return theme.dropdownListBorderTop; }, function (_ref2) { var theme = _ref2.theme; return theme.subtextColor; }, function (_ref3) { var theme = _ref3.theme; return theme.textColorHl; }, function (_ref4) { var theme = _ref4.theme; return theme.panelToggleBorderColor; }, function (props) { return props.theme.textColorHl; }); var ColorPickerTop = function ColorPickerTop(_ref5) { var setMode = _ref5.setMode, mode = _ref5.mode; return /*#__PURE__*/_react["default"].createElement(StyledColorPickerTop, null, Object.keys(MODE).map(function (modeId) { return /*#__PURE__*/_react["default"].createElement("div", { onClick: function onClick() { return setMode(modeId); }, key: modeId, className: (0, _classnames["default"])('color-palette-tab', { active: mode === modeId }) }, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, { id: "color.".concat(modeId) })); })); }; var SingleColorPalette = function SingleColorPalette(_ref6) { var selectedColor = _ref6.selectedColor, onSelectColor = _ref6.onSelectColor; var _useState = (0, _react.useState)(MODE.preset), _useState2 = (0, _slicedToArray2["default"])(_useState, 2), mode = _useState2[0], setMode = _useState2[1]; var onSetColor = (0, _react.useCallback)(function (color, e) { // color picker return an object, with color.hex var hex = color.hex || color; onSelectColor((0, _utils.hexToRgb)(hex), e); }, [onSelectColor]); return /*#__PURE__*/_react["default"].createElement("div", { className: "single-color-palette" }, /*#__PURE__*/_react["default"].createElement(ColorPickerTop, { mode: mode, setMode: setMode }), mode === MODE.preset ? /*#__PURE__*/_react["default"].createElement(_colorPalettePreset["default"], { themes: _constants.Themes, onSelectColor: onSetColor, selectedColor: selectedColor }) : null, mode === MODE.picker ? /*#__PURE__*/_react["default"].createElement(_customPicker["default"], { color: selectedColor, onChange: onSetColor }) : null); }; var _default = exports["default"] = SingleColorPalette; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY2xhc3NuYW1lcyIsIl91dGlscyIsIl9sb2NhbGl6YXRpb24iLCJfY29uc3RhbnRzIiwiX2N1c3RvbVBpY2tlciIsIl9jb2xvclBhbGV0dGVQcmVzZXQiLCJfdGVtcGxhdGVPYmplY3QiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJNT0RFIiwicHJlc2V0IiwicGlja2VyIiwiU3R5bGVkQ29sb3JQaWNrZXJUb3AiLCJzdHlsZWQiLCJkaXYiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsIl9yZWYiLCJ0aGVtZSIsImRyb3Bkb3duTGlzdEJvcmRlclRvcCIsIl9yZWYyIiwic3VidGV4dENvbG9yIiwiX3JlZjMiLCJ0ZXh0Q29sb3JIbCIsIl9yZWY0IiwicGFuZWxUb2dnbGVCb3JkZXJDb2xvciIsInByb3BzIiwiQ29sb3JQaWNrZXJUb3AiLCJfcmVmNSIsInNldE1vZGUiLCJtb2RlIiwiY3JlYXRlRWxlbWVudCIsImtleXMiLCJtYXAiLCJtb2RlSWQiLCJvbkNsaWNrIiwia2V5IiwiY2xhc3NOYW1lIiwiY2xhc3NuYW1lcyIsImFjdGl2ZSIsIkZvcm1hdHRlZE1lc3NhZ2UiLCJpZCIsImNvbmNhdCIsIlNpbmdsZUNvbG9yUGFsZXR0ZSIsIl9yZWY2Iiwic2VsZWN0ZWRDb2xvciIsIm9uU2VsZWN0Q29sb3IiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJvblNldENvbG9yIiwidXNlQ2FsbGJhY2siLCJjb2xvciIsImhleCIsImhleFRvUmdiIiwidGhlbWVzIiwiVGhlbWVzIiwib25DaGFuZ2UiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2lkZS1wYW5lbC9sYXllci1wYW5lbC9zaW5nbGUtY29sb3ItcGFsZXR0ZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7TW91c2VFdmVudCwgdXNlQ2FsbGJhY2ssIHVzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBjbGFzc25hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuXG5pbXBvcnQge2hleFRvUmdifSBmcm9tICdAa2VwbGVyLmdsL3V0aWxzJztcbmltcG9ydCB7Rm9ybWF0dGVkTWVzc2FnZX0gZnJvbSAnQGtlcGxlci5nbC9sb2NhbGl6YXRpb24nO1xuaW1wb3J0IHtUaGVtZXN9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCB7Q29sb3JSYW5nZSwgSGV4Q29sb3IsIFJHQkNvbG9yfSBmcm9tICdAa2VwbGVyLmdsL3R5cGVzJztcblxuaW1wb3J0IEN1c3RvbVBpY2tlciBmcm9tICcuL2N1c3RvbS1waWNrZXInO1xuaW1wb3J0IFByZXNldENvbG9yUGFsZXR0ZSBmcm9tICcuL2NvbG9yLXBhbGV0dGUtcHJlc2V0JztcblxuY29uc3QgTU9ERSA9IHtcbiAgcHJlc2V0OiAncHJlc2V0JyxcbiAgcGlja2VyOiAncGlja2VyJ1xufTtcblxuZXhwb3J0IHR5cGUgU2luZ2xlQ29sb3JQYWxldHRlUHJvcHMgPSB7XG4gIHNlbGVjdGVkQ29sb3I6IEhleENvbG9yO1xuICBvblNlbGVjdENvbG9yOiAoY29sb3I6IFJHQkNvbG9yIHwgQ29sb3JSYW5nZSwgZTogTW91c2VFdmVudCkgPT4gdm9pZDtcbn07XG5cbmNvbnN0IFN0eWxlZENvbG9yUGlja2VyVG9wID0gc3R5bGVkLmRpdmBcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7KHt0aGVtZX0pID0+IHRoZW1lLmRyb3Bkb3duTGlzdEJvcmRlclRvcH07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctdG9wOiAycHggNHB4IDAgNHB4O1xuICAuY29sb3ItcGFsZXR0ZS10YWIge1xuICAgIHBhZGRpbmc6IDhweCAwO1xuICAgIG1hcmdpbjogMCA4cHg7XG4gICAgY29sb3I6ICR7KHt0aGVtZX0pID0+IHRoZW1lLnN1YnRleHRDb2xvcn07XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4O1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICYuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkeyh7dGhlbWV9KSA9PiB0aGVtZS50ZXh0Q29sb3JIbH07XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkeyh7dGhlbWV9KSA9PiB0aGVtZS5wYW5lbFRvZ2dsZUJvcmRlckNvbG9yfTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBjb2xvcjogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS50ZXh0Q29sb3JIbH07XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBDb2xvclBpY2tlclRvcCA9ICh7c2V0TW9kZSwgbW9kZX0pID0+IChcbiAgPFN0eWxlZENvbG9yUGlja2VyVG9wPlxuICAgIHtPYmplY3Qua2V5cyhNT0RFKS5tYXAobW9kZUlkID0+IChcbiAgICAgIDxkaXZcbiAgICAgICAgb25DbGljaz17KCkgPT4gc2V0TW9kZShtb2RlSWQpfVxuICAgICAgICBrZXk9e21vZGVJZH1cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdjb2xvci1wYWxldHRlLXRhYicsIHthY3RpdmU6IG1vZGUgPT09IG1vZGVJZH0pfVxuICAgICAgPlxuICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17YGNvbG9yLiR7bW9kZUlkfWB9IC8+XG4gICAgICA8L2Rpdj5cbiAgICApKX1cbiAgPC9TdHlsZWRDb2xvclBpY2tlclRvcD5cbik7XG5cbmNvbnN0IFNpbmdsZUNvbG9yUGFsZXR0ZTogUmVhY3QuRkM8U2luZ2xlQ29sb3JQYWxldHRlUHJvcHM+ID0gKHtcbiAgc2VsZWN0ZWRDb2xvcixcbiAgb25TZWxlY3RDb2xvclxufTogU2luZ2xlQ29sb3JQYWxldHRlUHJvcHMpID0+IHtcbiAgY29uc3QgW21vZGUsIHNldE1vZGVdID0gdXNlU3RhdGUoTU9ERS5wcmVzZXQpO1xuICBjb25zdCBvblNldENvbG9yID0gdXNlQ2FsbGJhY2soXG4gICAgKGNvbG9yLCBlKSA9PiB7XG4gICAgICAvLyBjb2xvciBwaWNrZXIgcmV0dXJuIGFuIG9iamVjdCwgd2l0aCBjb2xvci5oZXhcbiAgICAgIGNvbnN0IGhleCA9IGNvbG9yLmhleCB8fCBjb2xvcjtcbiAgICAgIG9uU2VsZWN0Q29sb3IoaGV4VG9SZ2IoaGV4KSwgZSk7XG4gICAgfSxcbiAgICBbb25TZWxlY3RDb2xvcl1cbiAgKTtcbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInNpbmdsZS1jb2xvci1wYWxldHRlXCI+XG4gICAgICA8Q29sb3JQaWNrZXJUb3AgbW9kZT17bW9kZX0gc2V0TW9kZT17c2V0TW9kZX0gLz5cbiAgICAgIHttb2RlID09PSBNT0RFLnByZXNldCA/IChcbiAgICAgICAgPFByZXNldENvbG9yUGFsZXR0ZVxuICAgICAgICAgIHRoZW1lcz17VGhlbWVzfVxuICAgICAgICAgIG9uU2VsZWN0Q29sb3I9e29uU2V0Q29sb3J9XG4gICAgICAgICAgc2VsZWN0ZWRDb2xvcj17c2VsZWN0ZWRDb2xvcn1cbiAgICAgICAgLz5cbiAgICAgICkgOiBudWxsfVxuICAgICAge21vZGUgPT09IE1PREUucGlja2VyID8gPEN1c3RvbVBpY2tlciBjb2xvcj17c2VsZWN0ZWRDb2xvcn0gb25DaGFuZ2U9e29uU2V0Q29sb3J9IC8+IDogbnVsbH1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNpbmdsZUNvbG9yUGFsZXR0ZTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBSSxNQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxhQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxVQUFBLEdBQUFOLE9BQUE7QUFHQSxJQUFBTyxhQUFBLEdBQUFMLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBUSxtQkFBQSxHQUFBTixzQkFBQSxDQUFBRixPQUFBO0FBQXdELElBQUFTLGVBQUEsRUFieEQ7QUFDQTtBQUFBLFNBQUFDLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBWix3QkFBQVksQ0FBQSxFQUFBRSxDQUFBLFNBQUFBLENBQUEsSUFBQUYsQ0FBQSxJQUFBQSxDQUFBLENBQUFJLFVBQUEsU0FBQUosQ0FBQSxlQUFBQSxDQUFBLGdCQUFBSyxPQUFBLENBQUFMLENBQUEsMEJBQUFBLENBQUEsc0JBQUFBLENBQUEsUUFBQUcsQ0FBQSxHQUFBSix3QkFBQSxDQUFBRyxDQUFBLE9BQUFDLENBQUEsSUFBQUEsQ0FBQSxDQUFBRyxHQUFBLENBQUFOLENBQUEsVUFBQUcsQ0FBQSxDQUFBSSxHQUFBLENB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