@royaloperahouse/chord 2.11.0-b-development → 2.11.1-a-development
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/dist/chord.cjs.development.js +48 -40
- package/dist/chord.cjs.development.js.map +1 -1
- package/dist/chord.cjs.production.min.js +1 -1
- package/dist/chord.cjs.production.min.js.map +1 -1
- package/dist/chord.esm.js +48 -40
- package/dist/chord.esm.js.map +1 -1
- package/package.json +2 -2
package/dist/chord.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React__default, { createElement, memo, useRef, useCallback, useEffect, useState, forwardRef, useMemo, cloneElement, useLayoutEffect } from 'react';
|
|
2
2
|
import styled, { css, ThemeProvider, createGlobalStyle } from 'styled-components';
|
|
3
|
-
import
|
|
3
|
+
import { isPast, intervalToDuration, differenceInDays } from 'date-fns';
|
|
4
4
|
import { renderToString } from 'react-dom/server';
|
|
5
5
|
import Select$1, { components } from 'react-select';
|
|
6
6
|
import Select$2 from 'react-select/async';
|
|
@@ -4665,6 +4665,23 @@ var TimerValueSeparator = /*#__PURE__*/styled.div(_templateObject6$3 || (_templa
|
|
|
4665
4665
|
var TimerValueWrapper = /*#__PURE__*/styled.div(_templateObject7 || (_templateObject7 = /*#__PURE__*/_taggedTemplateLiteralLoose([""])));
|
|
4666
4666
|
var TimerValue = /*#__PURE__*/styled.div(_templateObject8 || (_templateObject8 = /*#__PURE__*/_taggedTemplateLiteralLoose([""])));
|
|
4667
4667
|
|
|
4668
|
+
var pad = function pad(num) {
|
|
4669
|
+
return String(num || 0).padStart(2, '0');
|
|
4670
|
+
};
|
|
4671
|
+
|
|
4672
|
+
var renderTimerValue = function renderTimerValue(value, title, separator) {
|
|
4673
|
+
if (separator === void 0) {
|
|
4674
|
+
separator = true;
|
|
4675
|
+
}
|
|
4676
|
+
|
|
4677
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(TimerValueWrapper, null, /*#__PURE__*/React__default.createElement(TimerValue, {
|
|
4678
|
+
className: 'chord-timer-value',
|
|
4679
|
+
"data-testid": title
|
|
4680
|
+
}, value), /*#__PURE__*/React__default.createElement(TimerLabel, {
|
|
4681
|
+
className: 'chord-timer-label'
|
|
4682
|
+
}, title)), separator && /*#__PURE__*/React__default.createElement(TimerValueSeparator, null, ":"));
|
|
4683
|
+
};
|
|
4684
|
+
|
|
4668
4685
|
var Timer = function Timer(_ref) {
|
|
4669
4686
|
var endDate = _ref.endDate,
|
|
4670
4687
|
title = _ref.title,
|
|
@@ -4674,39 +4691,27 @@ var Timer = function Timer(_ref) {
|
|
|
4674
4691
|
_ref$color = _ref.color,
|
|
4675
4692
|
color = _ref$color === void 0 ? Colors.Black : _ref$color;
|
|
4676
4693
|
|
|
4677
|
-
var
|
|
4678
|
-
seconds =
|
|
4679
|
-
setSeconds =
|
|
4680
|
-
|
|
4681
|
-
var _React$useState2 = React__default.useState('00'),
|
|
4682
|
-
minutes = _React$useState2[0],
|
|
4683
|
-
setMinutes = _React$useState2[1];
|
|
4694
|
+
var _useState = useState('00'),
|
|
4695
|
+
seconds = _useState[0],
|
|
4696
|
+
setSeconds = _useState[1];
|
|
4684
4697
|
|
|
4685
|
-
var
|
|
4686
|
-
|
|
4687
|
-
|
|
4698
|
+
var _useState2 = useState('00'),
|
|
4699
|
+
minutes = _useState2[0],
|
|
4700
|
+
setMinutes = _useState2[1];
|
|
4688
4701
|
|
|
4689
|
-
var
|
|
4690
|
-
|
|
4691
|
-
|
|
4702
|
+
var _useState3 = useState('00'),
|
|
4703
|
+
hours = _useState3[0],
|
|
4704
|
+
setHours = _useState3[1];
|
|
4692
4705
|
|
|
4693
|
-
var
|
|
4694
|
-
|
|
4695
|
-
|
|
4706
|
+
var _useState4 = useState('00'),
|
|
4707
|
+
days = _useState4[0],
|
|
4708
|
+
setDays = _useState4[1];
|
|
4696
4709
|
|
|
4697
|
-
var
|
|
4698
|
-
|
|
4699
|
-
|
|
4700
|
-
}
|
|
4701
|
-
|
|
4702
|
-
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(TimerValueWrapper, null, /*#__PURE__*/React__default.createElement(TimerValue, {
|
|
4703
|
-
className: 'chord-timer-value'
|
|
4704
|
-
}, value), /*#__PURE__*/React__default.createElement(TimerLabel, {
|
|
4705
|
-
className: 'chord-timer-label'
|
|
4706
|
-
}, title)), separator && /*#__PURE__*/React__default.createElement(TimerValueSeparator, null, ":"));
|
|
4707
|
-
};
|
|
4710
|
+
var _useState5 = useState(false),
|
|
4711
|
+
isEndDateReached = _useState5[0],
|
|
4712
|
+
setIsEndDateReached = _useState5[1];
|
|
4708
4713
|
|
|
4709
|
-
|
|
4714
|
+
useEffect(function () {
|
|
4710
4715
|
if (isEndDateReached) return; // We use this to set values for the timer immediately
|
|
4711
4716
|
|
|
4712
4717
|
var setIntervalAndExecute = function setIntervalAndExecute(fn, delay) {
|
|
@@ -4715,20 +4720,23 @@ var Timer = function Timer(_ref) {
|
|
|
4715
4720
|
};
|
|
4716
4721
|
|
|
4717
4722
|
var updateValues = function updateValues() {
|
|
4718
|
-
var futureDate =
|
|
4719
|
-
|
|
4720
|
-
var
|
|
4721
|
-
var
|
|
4723
|
+
var futureDate = new Date(endDate); // Date.now() is explicitly passed here just to satisfy Jest time mocking.
|
|
4724
|
+
|
|
4725
|
+
var nowDate = new Date(Date.now());
|
|
4726
|
+
var diffInMs = futureDate.getTime() - nowDate.getTime();
|
|
4722
4727
|
|
|
4723
|
-
if (
|
|
4728
|
+
if (diffInMs < 0) {
|
|
4724
4729
|
setIsEndDateReached(true);
|
|
4725
4730
|
if (endDateHandler) endDateHandler();
|
|
4726
4731
|
} else {
|
|
4727
|
-
var
|
|
4728
|
-
|
|
4729
|
-
|
|
4730
|
-
|
|
4731
|
-
var
|
|
4732
|
+
var duration = intervalToDuration({
|
|
4733
|
+
start: nowDate,
|
|
4734
|
+
end: futureDate
|
|
4735
|
+
});
|
|
4736
|
+
var daysDiff = pad(differenceInDays(futureDate, nowDate));
|
|
4737
|
+
var hoursDiff = pad(duration.hours);
|
|
4738
|
+
var minutesDiff = pad(duration.minutes);
|
|
4739
|
+
var secondsDiff = pad(duration.seconds);
|
|
4732
4740
|
setDays(daysDiff);
|
|
4733
4741
|
setHours(hoursDiff);
|
|
4734
4742
|
setMinutes(minutesDiff);
|
|
@@ -4741,7 +4749,7 @@ var Timer = function Timer(_ref) {
|
|
|
4741
4749
|
clearInterval(interval);
|
|
4742
4750
|
};
|
|
4743
4751
|
});
|
|
4744
|
-
var hideTimer =
|
|
4752
|
+
var hideTimer = isPast(new Date(endDate));
|
|
4745
4753
|
if (hideTimer) return null;
|
|
4746
4754
|
return /*#__PURE__*/React__default.createElement(TimerWrapper, {
|
|
4747
4755
|
color: color
|