kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
114 lines (113 loc) • 21.9 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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
var _classnames = _interopRequireDefault(require("classnames"));
var _pick = _interopRequireDefault(require("lodash/pick"));
var _react = _interopRequireWildcard(require("react"));
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _styledComponents2 = require("./styled-components");
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5; // 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; }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
function noop() {
return;
}
var StyledSwitchInput = _styledComponents["default"].label.withConfig({
shouldForwardProp: _styledComponents2.shouldForwardProp
})(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
return props.secondary ? props.theme.secondarySwitch : props.theme.inputSwitch;
});
var StyledCheckboxInput = _styledComponents["default"].label(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
return props.theme.inputCheckbox;
});
var StyledRadiuInput = _styledComponents["default"].label.withConfig({
shouldForwardProp: _styledComponents2.shouldForwardProp
})(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n ", ";\n"])), function (props) {
return props.secondary ? props.theme.secondaryRadio : props.theme.inputRadio;
});
var HiddenInput = _styledComponents["default"].input.withConfig({
shouldForwardProp: _styledComponents2.shouldForwardProp
})(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n opacity: 0;\n"])));
var StyledCheckbox = _styledComponents["default"].div.withConfig({
shouldForwardProp: _styledComponents2.shouldForwardProp
})(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n min-height: ", "px;\n margin-left: ", "px;\n ", "\n"])), function (props) {
return props.theme.switchHeight;
}, function (props) {
return props.type === 'radio' ? 0 : props.theme.switchLabelMargin;
}, function (props) {
return props.disabled ? "\n cursor: not-allowed;\n pointer-events: none;\n opacity: 0.5;\n " : '';
});
var Checkbox = exports["default"] = /*#__PURE__*/function (_Component) {
function Checkbox() {
var _this;
(0, _classCallCheck2["default"])(this, Checkbox);
for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) {
_args[_key] = arguments[_key];
}
_this = _callSuper(this, Checkbox, [].concat(_args));
(0, _defineProperty2["default"])(_this, "state", {
focused: false
});
(0, _defineProperty2["default"])(_this, "handleFocus", function (args) {
_this.setState({
focused: true
});
_this.props.onFocus(args);
});
(0, _defineProperty2["default"])(_this, "handleBlur", function (args) {
_this.setState({
focused: false
});
_this.props.onBlur(args);
});
return _this;
}
(0, _inherits2["default"])(Checkbox, _Component);
return (0, _createClass2["default"])(Checkbox, [{
key: "render",
value: function render() {
var inputProps = _objectSpread(_objectSpread({}, (0, _pick["default"])(this.props, ['checked', 'disabled', 'id', 'onChange', 'value', 'secondary'])), {}, {
type: 'checkbox',
onFocus: this.handleFocus,
onBlur: this.handleBlur
});
var labelProps = _objectSpread(_objectSpread({}, (0, _pick["default"])(this.props, ['checked', 'disabled', 'secondary'])), {}, {
htmlFor: this.props.id
});
var LabelElement = this.props.type === 'checkbox' ? StyledCheckboxInput : this.props.type === 'radio' ? StyledRadiuInput : StyledSwitchInput;
return /*#__PURE__*/_react["default"].createElement(StyledCheckbox, {
type: this.props.type,
className: (0, _classnames["default"])('kg-checkbox', this.props.className),
disabled: this.props.disabled
}, /*#__PURE__*/_react["default"].createElement(HiddenInput, inputProps), /*#__PURE__*/_react["default"].createElement(LabelElement, (0, _extends2["default"])({
className: "kg-checkbox__label"
}, labelProps), this.props.label));
}
}]);
}(_react.Component);
(0, _defineProperty2["default"])(Checkbox, "defaultProps", {
disabled: false,
checked: false,
onBlur: noop,
onChange: noop,
onFocus: noop,
label: ''
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3BpY2siLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9zdHlsZWRDb21wb25lbnRzIiwiX3N0eWxlZENvbXBvbmVudHMyIiwiX3RlbXBsYXRlT2JqZWN0IiwiX3RlbXBsYXRlT2JqZWN0MiIsIl90ZW1wbGF0ZU9iamVjdDMiLCJfdGVtcGxhdGVPYmplY3Q0IiwiX3RlbXBsYXRlT2JqZWN0NSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwibm9vcCIsIlN0eWxlZFN3aXRjaElucHV0Iiwic3R5bGVkIiwibGFiZWwiLCJ3aXRoQ29uZmlnIiwic2hvdWxkRm9yd2FyZFByb3AiLCJfdGFnZ2VkVGVtcGxhdGVMaXRlcmFsMiIsInByb3BzIiwic2Vjb25kYXJ5IiwidGhlbWUiLCJzZWNvbmRhcnlTd2l0Y2giLCJpbnB1dFN3aXRjaCIsIlN0eWxlZENoZWNrYm94SW5wdXQiLCJpbnB1dENoZWNrYm94IiwiU3R5bGVkUmFkaXVJbnB1dCIsInNlY29uZGFyeVJhZGlvIiwiaW5wdXRSYWRpbyIsIkhpZGRlbklucHV0IiwiaW5wdXQiLCJTdHlsZWRDaGVja2JveCIsImRpdiIsInN3aXRjaEhlaWdodCIsInR5cGUiLCJzd2l0Y2hMYWJlbE1hcmdpbiIsImRpc2FibGVkIiwiQ2hlY2tib3giLCJleHBvcnRzIiwiX0NvbXBvbmVudCIsIl90aGlzIiwiX2NsYXNzQ2FsbENoZWNrMiIsIl9sZW4iLCJfYXJncyIsIkFycmF5IiwiX2tleSIsImNvbmNhdCIsImZvY3VzZWQiLCJhcmdzIiwic2V0U3RhdGUiLCJvbkZvY3VzIiwib25CbHVyIiwiX2luaGVyaXRzMiIsIl9jcmVhdGVDbGFzczIiLCJrZXkiLCJ2YWx1ZSIsInJlbmRlciIsImlucHV0UHJvcHMiLCJwaWNrIiwiaGFuZGxlRm9jdXMiLCJoYW5kbGVCbHVyIiwibGFiZWxQcm9wcyIsImh0bWxGb3IiLCJpZCIsIkxhYmVsRWxlbWVudCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJjbGFzc25hbWVzIiwiX2V4dGVuZHMyIiwiQ29tcG9uZW50IiwiY2hlY2tlZCIsIm9uQ2hhbmdlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi9jaGVja2JveC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IGNsYXNzbmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgcGljayBmcm9tICdsb2Rhc2gvcGljayc7XG5pbXBvcnQgUmVhY3QsIHtDaGFuZ2VFdmVudEhhbmRsZXIsIENvbXBvbmVudCwgRm9jdXNFdmVudEhhbmRsZXIsIFJlYWN0Tm9kZX0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge3Nob3VsZEZvcndhcmRQcm9wfSBmcm9tICcuL3N0eWxlZC1jb21wb25lbnRzJztcblxuZnVuY3Rpb24gbm9vcCgpIHtcbiAgcmV0dXJuO1xufVxuXG5pbnRlcmZhY2UgU3R5bGVkU3dpdGNoSW5wdXRQcm9wcyB7XG4gIHNlY29uZGFyeT86IGJvb2xlYW47XG59XG5cbmNvbnN0IFN0eWxlZFN3aXRjaElucHV0ID0gc3R5bGVkLmxhYmVsLndpdGhDb25maWcoe3Nob3VsZEZvcndhcmRQcm9wfSk8U3R5bGVkU3dpdGNoSW5wdXRQcm9wcz5gXG4gICR7cHJvcHMgPT4gKHByb3BzLnNlY29uZGFyeSA/IHByb3BzLnRoZW1lLnNlY29uZGFyeVN3aXRjaCA6IHByb3BzLnRoZW1lLmlucHV0U3dpdGNoKX07XG5gO1xuXG5jb25zdCBTdHlsZWRDaGVja2JveElucHV0ID0gc3R5bGVkLmxhYmVsYFxuICAke3Byb3BzID0+IHByb3BzLnRoZW1lLmlucHV0Q2hlY2tib3h9O1xuYDtcblxuY29uc3QgU3R5bGVkUmFkaXVJbnB1dCA9IHN0eWxlZC5sYWJlbC53aXRoQ29uZmlnKHtzaG91bGRGb3J3YXJkUHJvcH0pPFN0eWxlZFN3aXRjaElucHV0UHJvcHM+YFxuICAke3Byb3BzID0+IChwcm9wcy5zZWNvbmRhcnkgPyBwcm9wcy50aGVtZS5zZWNvbmRhcnlSYWRpbyA6IHByb3BzLnRoZW1lLmlucHV0UmFkaW8pfTtcbmA7XG5cbmNvbnN0IEhpZGRlbklucHV0ID0gc3R5bGVkLmlucHV0LndpdGhDb25maWcoe3Nob3VsZEZvcndhcmRQcm9wfSlgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMDtcbmA7XG5cbmludGVyZmFjZSBTdHlsZWRDaGVja2JveFByb3BzIHtcbiAgdHlwZT86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5jb25zdCBTdHlsZWRDaGVja2JveCA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7c2hvdWxkRm9yd2FyZFByb3B9KTxTdHlsZWRDaGVja2JveFByb3BzPmBcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLWhlaWdodDogJHtwcm9wcyA9PiBwcm9wcy50aGVtZS5zd2l0Y2hIZWlnaHR9cHg7XG4gIG1hcmdpbi1sZWZ0OiAke3Byb3BzID0+IChwcm9wcy50eXBlID09PSAncmFkaW8nID8gMCA6IHByb3BzLnRoZW1lLnN3aXRjaExhYmVsTWFyZ2luKX1weDtcbiAgJHtwcm9wcyA9PlxuICAgIHByb3BzLmRpc2FibGVkXG4gICAgICA/IGBcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgYFxuICAgICAgOiAnJ31cbmA7XG5cbmludGVyZmFjZSBDaGVja2JveFByb3BzIHtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbiAgbGFiZWw/OiBSZWFjdE5vZGU7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgdmFsdWU/OiBzdHJpbmcgfCAnaW5kZXRlcm1pbmF0ZSc7XG4gIGNoZWNrZWQ/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgZXJyb3I/OiBzdHJpbmc7XG4gIHN3aXRjaD86IGJvb2xlYW47XG4gIGFjdGl2ZUNvbG9yPzogc3RyaW5nO1xuICBzZWNvbmRhcnk/OiBib29sZWFuO1xuICBvbkJsdXI6IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+O1xuICBvbkNoYW5nZT86IENoYW5nZUV2ZW50SGFuZGxlcjxIVE1MSW5wdXRFbGVtZW50PjtcbiAgb25Gb2N1czogRm9jdXNFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD47XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENoZWNrYm94IGV4dGVuZHMgQ29tcG9uZW50PENoZWNrYm94UHJvcHM+IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgY2hlY2tlZDogZmFsc2UsXG4gICAgb25CbHVyOiBub29wLFxuICAgIG9uQ2hhbmdlOiBub29wLFxuICAgIG9uRm9jdXM6IG5vb3AsXG4gICAgbGFiZWw6ICcnXG4gIH07XG5cbiAgc3RhdGUgPSB7XG4gICAgZm9jdXNlZDogZmFsc2VcbiAgfTtcblxuICBoYW5kbGVGb2N1czogRm9jdXNFdmVudEhhbmRsZXI8SFRNTElucHV0RWxlbWVudD4gPSBhcmdzID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHtmb2N1c2VkOiB0cnVlfSk7XG4gICAgdGhpcy5wcm9wcy5vbkZvY3VzKGFyZ3MpO1xuICB9O1xuXG4gIGhhbmRsZUJsdXI6IEZvY3VzRXZlbnRIYW5kbGVyPEhUTUxJbnB1dEVsZW1lbnQ+ID0gYXJncyA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7Zm9jdXNlZDogZmFsc2V9KTtcbiAgICB0aGlzLnByb3BzLm9uQmx1cihhcmdzKTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgaW5wdXRQcm9wcyA9IHtcbiAgICAgIC4uLnBpY2sodGhpcy5wcm9wcywgWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ2lkJywgJ29uQ2hhbmdlJywgJ3ZhbHVlJywgJ3NlY29uZGFyeSddKSxcbiAgICAgIHR5cGU6ICdjaGVja2JveCcsXG4gICAgICBvbkZvY3VzOiB0aGlzLmhhbmRsZUZvY3VzLFxuICAgICAgb25CbHVyOiB0aGlzLmhhbmRsZUJsdXJcbiAgICB9O1xuXG4gICAgY29uc3QgbGFiZWxQcm9wcyA9IHtcbiAgICAgIC4uLnBpY2sodGhpcy5wcm9wcywgWydjaGVja2VkJywgJ2Rpc2FibGVkJywgJ3NlY29uZGFyeSddKSxcbiAgICAgIGh0bWxGb3I6IHRoaXMucHJvcHMuaWRcbiAgICB9O1xuXG4gICAgY29uc3QgTGFiZWxFbGVtZW50ID1cbiAgICAgIHRoaXMucHJvcHMudHlwZSA9PT0gJ2NoZWNrYm94J1xuICAgICAgICA/IFN0eWxlZENoZWNrYm94SW5wdXRcbiAgICAgICAgOiB0aGlzLnByb3BzLnR5cGUgPT09ICdyYWRpbydcbiAgICAgICAgPyBTdHlsZWRSYWRpdUlucHV0XG4gICAgICAgIDogU3R5bGVkU3dpdGNoSW5wdXQ7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZENoZWNrYm94XG4gICAgICAgIHR5cGU9e3RoaXMucHJvcHMudHlwZX1cbiAgICAgICAgY2xhc3NOYW1lPXtjbGFzc25hbWVzKCdrZy1jaGVja2JveCcsIHRoaXMucHJvcHMuY2xhc3NOYW1lKX1cbiAgICAgICAgZGlzYWJsZWQ9e3RoaXMucHJvcHMuZGlzYWJsZWR9XG4gICAgICA+XG4gICAgICAgIDxIaWRkZW5JbnB1dCB7Li4uaW5wdXRQcm9wc30gLz5cbiAgICAgICAgPExhYmVsRWxlbWVudCBjbGFzc05hbWU9XCJrZy1jaGVja2JveF9fbGFiZWxcIiB7Li4ubGFiZWxQcm9wc30+XG4gICAgICAgICAge3RoaXMucHJvcHMubGFiZWx9XG4gICAgICAgIDwvTGFiZWxFbGVtZW50PlxuICAgICAgPC9TdHlsZWRDaGVja2JveD5cbiAgICApO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQSxJQUFBQSxXQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxLQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFDLHVCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxpQkFBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUssa0JBQUEsR0FBQUwsT0FBQTtBQUFzRCxJQUFBTSxlQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBQUFDLGdCQUFBLEVBUHREO0FBQ0E7QUFBQSxTQUFBQyx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FB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
;