UNPKG

6.23 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, '__esModule', { value: true });
4
5function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
7require('./slicedToArray-0711941d.js');
8require('./unsupportedIterableToArray-68db1d3b.js');
9var React = require('react');
10var React__default = _interopDefault(React);
11require('./_commonjsHelpers-72d386ba.js');
12var index = require('./index-b0606964.js');
13var defineProperty$1 = require('./defineProperty-0921a47c.js');
14require('./toConsumableArray-d8a4a2c3.js');
15require('styled-components');
16var getPrototypeOf = require('./getPrototypeOf-2a661a20.js');
17require('./color.js');
18require('./components.js');
19require('./contains-component.js');
20require('./css.js');
21var dayjs_min = require('./dayjs.min-e07657bf.js');
22var date = require('./date.js');
23require('./miscellaneous.js');
24require('./environment.js');
25require('./font.js');
26require('./math-f4029164.js');
27require('./characters.js');
28require('./format.js');
29require('./keycodes.js');
30require('./url.js');
31require('./web3.js');
32require('./constants.js');
33require('./breakpoints.js');
34require('./springs.js');
35require('./text-styles.js');
36require('./extends-40571110.js');
37require('./objectWithoutProperties-35db8ab0.js');
38require('./isObject-ec755c87.js');
39var Viewport = require('./Viewport-15101437.js');
40var getDisplayName = require('./getDisplayName-7ab6d318.js');
41var index$2 = require('./index-bc84a358.js');
42var index$1$1 = require('./index-0db71dc1.js');
43var observe = require('./observe.js');
44var index$1 = require('./index-030bfca8.js');
45
46function _createSuper(Derived) { return function () { var Super = getPrototypeOf._getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = getPrototypeOf._getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return getPrototypeOf._possibleConstructorReturn(this, result); }; }
47
48function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
49// adjusts the re-render timer to be one second, minute, or hour based on the
50// fromDate prop.
51// For a discussion on pitfalls, see
52// https://gist.github.com/staltz/08bf613199092eeb41ac8137d51eb5e6
53
54var EVERY_SECOND = 1000;
55var EVERY_MINUTE = EVERY_SECOND * 60;
56var EVERY_HOUR = EVERY_MINUTE * 60;
57
58var getRedrawTime = function getRedrawTime(fromDate) {
59 var _difference = date.difference(new Date(), fromDate),
60 days = _difference.days,
61 hours = _difference.hours,
62 minutes = _difference.minutes;
63
64 return hours || days ? EVERY_HOUR : minutes > 1 ? EVERY_MINUTE : EVERY_SECOND;
65};
66
67var RedrawFromDate = /*#__PURE__*/function (_React$Component) {
68 getPrototypeOf._inherits(RedrawFromDate, _React$Component);
69
70 var _super = _createSuper(RedrawFromDate);
71
72 function RedrawFromDate() {
73 var _this;
74
75 getPrototypeOf._classCallCheck(this, RedrawFromDate);
76
77 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
78 args[_key] = arguments[_key];
79 }
80
81 _this = _super.call.apply(_super, [this].concat(args));
82
83 defineProperty$1._defineProperty(getPrototypeOf._assertThisInitialized(_this), "state", {
84 redrawTime: EVERY_HOUR,
85 lastDraw: -1
86 });
87
88 defineProperty$1._defineProperty(getPrototypeOf._assertThisInitialized(_this), "clearInterval", function () {
89 _this.interval && clearInterval(_this.interval);
90 });
91
92 defineProperty$1._defineProperty(getPrototypeOf._assertThisInitialized(_this), "restartDrawInterval", function (redrawTime) {
93 _this.clearInterval();
94
95 _this.interval = setInterval(function () {
96 _this.setState({
97 lastDraw: Date.now()
98 });
99
100 var newRedrawTime = getRedrawTime(_this.props.fromDate);
101
102 if (newRedrawTime !== redrawTime) {
103 _this.restartDrawInterval(newRedrawTime);
104 }
105 }, redrawTime);
106 });
107
108 return _this;
109 }
110
111 getPrototypeOf._createClass(RedrawFromDate, [{
112 key: "componentDidMount",
113 value: function componentDidMount() {
114 var fromDate = this.props.fromDate;
115
116 if (fromDate) {
117 this.restartDrawInterval(getRedrawTime(fromDate));
118 }
119 }
120 }, {
121 key: "componentWillReceiveProps",
122 value: function componentWillReceiveProps(_ref) {
123 var fromDate = _ref.fromDate;
124
125 if (!fromDate && this.props.fromDate) {
126 this.clearInterval();
127 } else if (!dayjs_min.dayjs(fromDate).isSame(this.props.fromDate)) {
128 this.restartDrawInterval(getRedrawTime(this.props.fromDate));
129 }
130 }
131 }, {
132 key: "componentWillUnmount",
133 value: function componentWillUnmount() {
134 this.clearInterval();
135 }
136 }, {
137 key: "render",
138 value: function render() {
139 return this.props.children();
140 }
141 }]);
142
143 return RedrawFromDate;
144}(React__default.Component);
145
146defineProperty$1._defineProperty(RedrawFromDate, "propTypes", {
147 children: index.PropTypes.func.isRequired,
148 fromDate: index.PropTypes.oneOfType([index.PropTypes.string, index.PropTypes.number, index.PropTypes.instanceOf(Date)]).isRequired
149});
150
151var hocWrap = function hocWrap(Component) {
152 var HOC = function HOC(props) {
153 return /*#__PURE__*/React__default.createElement(RedrawFromDate, {
154 fromDate: props.fromDate
155 }, function () {
156 return /*#__PURE__*/React__default.createElement(Component, props);
157 });
158 };
159
160 HOC.propTypes = {
161 fromDate: RedrawFromDate.propTypes.fromDate
162 };
163 HOC.displayName = "RedrawFromDate(".concat(getDisplayName.getDisplayName(Component), ")");
164 return HOC;
165};
166
167RedrawFromDate.hocWrap = hocWrap;
168
169exports.Viewport = Viewport.Viewport;
170exports.useViewport = Viewport.useViewport;
171exports.PublicUrl = index$2.PublicUrl;
172exports.Root = index$1$1.Root;
173exports.useRoot = index$1$1.useRoot;
174exports.observe = observe.observe;
175exports.Redraw = index$1.Redraw;
176exports.RedrawFromDate = RedrawFromDate;
177//# sourceMappingURL=providers.js.map