kepler.gl
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
113 lines (112 loc) • 16.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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _react = _interopRequireWildcard(require("react"));
var _icons = require("../common/icons");
var _styledComponents = require("../common/styled-components");
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; } // SPDX-License-Identifier: MIT
// Copyright contributors to the kepler.gl project
var BACKGROUND_LINE_STYLE = {
height: '4px',
backgroundColor: '#1C2233',
position: 'relative',
width: '100%',
marginTop: '20px'
};
var TIMELINE_MARKER_STYLE = {
position: 'absolute',
top: '-8px',
fill: '#3D4866',
color: '#3D4866'
};
var containerStyle = {
display: 'flex',
width: '100%',
height: '24px'
};
var iconWrapperStyle = {
marginRight: '8px',
cursor: 'pointer'
};
var TIMELINE_INDICATOR_STYLE = {
position: 'absolute',
top: '-14px',
fill: '#C4C4C4',
color: '#C4C4C4'
};
function RangeSliderTimelineFactory() {
var RangeSliderTimeline = function RangeSliderTimeline(_ref) {
var subAnimation = _ref.subAnimation,
scaledValue = _ref.scaledValue,
style = _ref.style;
var startTime = subAnimation.startTime,
endTime = subAnimation.endTime,
syncMode = subAnimation.syncMode,
Icon = subAnimation.Icon,
label = subAnimation.label;
var progressStyle = {
left: "".concat(startTime, "%"),
top: '0',
width: "".concat(endTime - startTime, "%"),
height: '100%',
position: 'absolute',
backgroundColor: '#5558DB'
};
var progressBarContainer = (0, _react.useMemo)(function () {
return _objectSpread(_objectSpread({}, BACKGROUND_LINE_STYLE), {}, {
flex: 1
}, style);
}, [style]);
var value = scaledValue[syncMode];
var leftMarketStyle = (0, _react.useMemo)(function () {
return _objectSpread({
left: "calc(".concat(startTime, "% - 4px)")
}, TIMELINE_MARKER_STYLE);
}, [startTime]);
var rightMarketStyle = (0, _react.useMemo)(function () {
return _objectSpread({
left: "calc(".concat(endTime, "% - 4px)")
}, TIMELINE_MARKER_STYLE);
}, [endTime]);
var indicatorStyle = (0, _react.useMemo)(function () {
return _objectSpread(_objectSpread({}, TIMELINE_INDICATOR_STYLE), {}, {
left: "calc(".concat(value, "% - 3px)")
});
}, [value]);
return /*#__PURE__*/_react["default"].createElement("div", {
style: containerStyle
}, /*#__PURE__*/_react["default"].createElement("div", {
"data-tip": true,
"data-for": label,
style: iconWrapperStyle
}, /*#__PURE__*/_react["default"].createElement(Icon, {
height: "24px",
color: "#F7F8FA"
}), /*#__PURE__*/_react["default"].createElement(_styledComponents.Tooltip, {
id: label,
place: "right",
effect: "solid"
}, /*#__PURE__*/_react["default"].createElement("span", null, label))), /*#__PURE__*/_react["default"].createElement("div", {
style: progressBarContainer
}, /*#__PURE__*/_react["default"].createElement("div", {
style: progressStyle
}), /*#__PURE__*/_react["default"].createElement(_icons.ArrowDownFull, {
style: leftMarketStyle
}), /*#__PURE__*/_react["default"].createElement(_icons.ArrowDownFull, {
style: rightMarketStyle
}), /*#__PURE__*/_react["default"].createElement(_icons.TimelineMarker, {
style: indicatorStyle
})));
};
return RangeSliderTimeline;
}
var _default = exports["default"] = RangeSliderTimelineFactory;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfaWNvbnMiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwibyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIkJBQ0tHUk9VTkRfTElORV9TVFlMRSIsImhlaWdodCIsImJhY2tncm91bmRDb2xvciIsInBvc2l0aW9uIiwid2lkdGgiLCJtYXJnaW5Ub3AiLCJUSU1FTElORV9NQVJLRVJfU1RZTEUiLCJ0b3AiLCJmaWxsIiwiY29sb3IiLCJjb250YWluZXJTdHlsZSIsImRpc3BsYXkiLCJpY29uV3JhcHBlclN0eWxlIiwibWFyZ2luUmlnaHQiLCJjdXJzb3IiLCJUSU1FTElORV9JTkRJQ0FUT1JfU1RZTEUiLCJSYW5nZVNsaWRlclRpbWVsaW5lRmFjdG9yeSIsIlJhbmdlU2xpZGVyVGltZWxpbmUiLCJfcmVmIiwic3ViQW5pbWF0aW9uIiwic2NhbGVkVmFsdWUiLCJzdHlsZSIsInN0YXJ0VGltZSIsImVuZFRpbWUiLCJzeW5jTW9kZSIsIkljb24iLCJsYWJlbCIsInByb2dyZXNzU3R5bGUiLCJsZWZ0IiwiY29uY2F0IiwicHJvZ3Jlc3NCYXJDb250YWluZXIiLCJ1c2VNZW1vIiwiZmxleCIsInZhbHVlIiwibGVmdE1hcmtldFN0eWxlIiwicmlnaHRNYXJrZXRTdHlsZSIsImluZGljYXRvclN0eWxlIiwiY3JlYXRlRWxlbWVudCIsIlRvb2x0aXAiLCJpZCIsInBsYWNlIiwiZWZmZWN0IiwiQXJyb3dEb3duRnVsbCIsIlRpbWVsaW5lTWFya2VyIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi9yYW5nZS1zbGlkZXItdGltZWxpbmUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7Q1NTUHJvcGVydGllc30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtBcnJvd0Rvd25GdWxsLCBUaW1lbGluZU1hcmtlcn0gZnJvbSAnLi4vY29tbW9uL2ljb25zJztcbmltcG9ydCB7VG9vbHRpcH0gZnJvbSAnLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcblxuY29uc3QgQkFDS0dST1VORF9MSU5FX1NUWUxFOiBDU1NQcm9wZXJ0aWVzID0ge1xuICBoZWlnaHQ6ICc0cHgnLFxuICBiYWNrZ3JvdW5kQ29sb3I6ICcjMUMyMjMzJyxcbiAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gIHdpZHRoOiAnMTAwJScsXG4gIG1hcmdpblRvcDogJzIwcHgnXG59O1xuXG5jb25zdCBUSU1FTElORV9NQVJLRVJfU1RZTEU6IENTU1Byb3BlcnRpZXMgPSB7XG4gIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICB0b3A6ICctOHB4JyxcbiAgZmlsbDogJyMzRDQ4NjYnLFxuICBjb2xvcjogJyMzRDQ4NjYnXG59O1xuXG5jb25zdCBjb250YWluZXJTdHlsZTogQ1NTUHJvcGVydGllcyA9IHtcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICB3aWR0aDogJzEwMCUnLFxuICBoZWlnaHQ6ICcyNHB4J1xufTtcblxuY29uc3QgaWNvbldyYXBwZXJTdHlsZTogQ1NTUHJvcGVydGllcyA9IHtcbiAgbWFyZ2luUmlnaHQ6ICc4cHgnLFxuICBjdXJzb3I6ICdwb2ludGVyJ1xufTtcblxuY29uc3QgVElNRUxJTkVfSU5ESUNBVE9SX1NUWUxFOiBDU1NQcm9wZXJ0aWVzID0ge1xuICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgdG9wOiAnLTE0cHgnLFxuICBmaWxsOiAnI0M0QzRDNCcsXG4gIGNvbG9yOiAnI0M0QzRDNCdcbn07XG5cbmZ1bmN0aW9uIFJhbmdlU2xpZGVyVGltZWxpbmVGYWN0b3J5KCkge1xuICBjb25zdCBSYW5nZVNsaWRlclRpbWVsaW5lID0gKHtzdWJBbmltYXRpb24sIHNjYWxlZFZhbHVlLCBzdHlsZX0pID0+IHtcbiAgICBjb25zdCB7c3RhcnRUaW1lLCBlbmRUaW1lLCBzeW5jTW9kZSwgSWNvbiwgbGFiZWx9ID0gc3ViQW5pbWF0aW9uO1xuXG4gICAgY29uc3QgcHJvZ3Jlc3NTdHlsZTogQ1NTUHJvcGVydGllcyA9IHtcbiAgICAgIGxlZnQ6IGAke3N0YXJ0VGltZX0lYCxcbiAgICAgIHRvcDogJzAnLFxuICAgICAgd2lkdGg6IGAke2VuZFRpbWUgLSBzdGFydFRpbWV9JWAsXG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiAnIzU1NThEQidcbiAgICB9O1xuXG4gICAgY29uc3QgcHJvZ3Jlc3NCYXJDb250YWluZXIgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gKHtcbiAgICAgICAgLi4uQkFDS0dST1VORF9MSU5FX1NUWUxFLFxuICAgICAgICBmbGV4OiAxLFxuICAgICAgICAuLi5zdHlsZVxuICAgICAgfSksXG4gICAgICBbc3R5bGVdXG4gICAgKTtcblxuICAgIGNvbnN0IHZhbHVlID0gc2NhbGVkVmFsdWVbc3luY01vZGVdO1xuXG4gICAgY29uc3QgbGVmdE1hcmtldFN0eWxlID0gdXNlTWVtbyhcbiAgICAgICgpID0+ICh7XG4gICAgICAgIGxlZnQ6IGBjYWxjKCR7c3RhcnRUaW1lfSUgLSA0cHgpYCxcbiAgICAgICAgLi4uVElNRUxJTkVfTUFSS0VSX1NUWUxFXG4gICAgICB9KSxcbiAgICAgIFtzdGFydFRpbWVdXG4gICAgKTtcblxuICAgIGNvbnN0IHJpZ2h0TWFya2V0U3R5bGUgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4gKHtcbiAgICAgICAgbGVmdDogYGNhbGMoJHtlbmRUaW1lfSUgLSA0cHgpYCxcbiAgICAgICAgLi4uVElNRUxJTkVfTUFSS0VSX1NUWUxFXG4gICAgICB9KSxcbiAgICAgIFtlbmRUaW1lXVxuICAgICk7XG5cbiAgICBjb25zdCBpbmRpY2F0b3JTdHlsZSA9IHVzZU1lbW8oXG4gICAgICAoKSA9PiAoe1xuICAgICAgICAuLi5USU1FTElORV9JTkRJQ0FUT1JfU1RZTEUsXG4gICAgICAgIGxlZnQ6IGBjYWxjKCR7dmFsdWV9JSAtIDNweClgXG4gICAgICB9KSxcbiAgICAgIFt2YWx1ZV1cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgc3R5bGU9e2NvbnRhaW5lclN0eWxlfT5cbiAgICAgICAgPGRpdiBkYXRhLXRpcCBkYXRhLWZvcj17bGFiZWx9IHN0eWxlPXtpY29uV3JhcHBlclN0eWxlfT5cbiAgICAgICAgICA8SWNvbiBoZWlnaHQ9XCIyNHB4XCIgY29sb3I9XCIjRjdGOEZBXCIgLz5cbiAgICAgICAgICA8VG9vbHRpcCBpZD17bGFiZWx9IHBsYWNlPVwicmlnaHRcIiBlZmZlY3Q9XCJzb2xpZFwiPlxuICAgICAgICAgICAgPHNwYW4+e2xhYmVsfTwvc3Bhbj5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IHN0eWxlPXtwcm9ncmVzc0JhckNvbnRhaW5lcn0+XG4gICAgICAgICAgPGRpdiBzdHlsZT17cHJvZ3Jlc3NTdHlsZX0gLz5cbiAgICAgICAgICA8QXJyb3dEb3duRnVsbCBzdHlsZT17bGVmdE1hcmtldFN0eWxlfSAvPlxuICAgICAgICAgIDxBcnJvd0Rvd25GdWxsIHN0eWxlPXtyaWdodE1hcmtldFN0eWxlfSAvPlxuICAgICAgICAgIDxUaW1lbGluZU1hcmtlciBzdHlsZT17aW5kaWNhdG9yU3R5bGV9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gUmFuZ2VTbGlkZXJUaW1lbGluZTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgUmFuZ2VTbGlkZXJUaW1lbGluZUZhY3Rvcnk7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLE1BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGlCQUFBLEdBQUFGLE9BQUE7QUFBb0QsU0FBQUcseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFMLHdCQUFBSyxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsZ0JBQUFLLE9BQUEsQ0FBQUwsQ0FBQSwwQkFBQUEsQ0FBQSxzQkFBQUEsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFJLEdBQUEsQ0FBQVAsQ0FBQSxPQUFBUSxDQUFBLEtBQUFDLFNBQUEsVUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3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
;