@royaloperahouse/chord 2.11.1 → 2.11.2
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/CHANGELOG.md +3 -0
- package/README.GIT +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';
|
|
@@ -4596,6 +4596,23 @@ var TimerValueSeparator = /*#__PURE__*/styled.div(_templateObject6$3 || (_templa
|
|
|
4596
4596
|
var TimerValueWrapper = /*#__PURE__*/styled.div(_templateObject7 || (_templateObject7 = /*#__PURE__*/_taggedTemplateLiteralLoose([""])));
|
|
4597
4597
|
var TimerValue = /*#__PURE__*/styled.div(_templateObject8 || (_templateObject8 = /*#__PURE__*/_taggedTemplateLiteralLoose([""])));
|
|
4598
4598
|
|
|
4599
|
+
var pad = function pad(num) {
|
|
4600
|
+
return String(num || 0).padStart(2, '0');
|
|
4601
|
+
};
|
|
4602
|
+
|
|
4603
|
+
var renderTimerValue = function renderTimerValue(value, title, separator) {
|
|
4604
|
+
if (separator === void 0) {
|
|
4605
|
+
separator = true;
|
|
4606
|
+
}
|
|
4607
|
+
|
|
4608
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(TimerValueWrapper, null, /*#__PURE__*/React__default.createElement(TimerValue, {
|
|
4609
|
+
className: 'chord-timer-value',
|
|
4610
|
+
"data-testid": title
|
|
4611
|
+
}, value), /*#__PURE__*/React__default.createElement(TimerLabel, {
|
|
4612
|
+
className: 'chord-timer-label'
|
|
4613
|
+
}, title)), separator && /*#__PURE__*/React__default.createElement(TimerValueSeparator, null, ":"));
|
|
4614
|
+
};
|
|
4615
|
+
|
|
4599
4616
|
var Timer = function Timer(_ref) {
|
|
4600
4617
|
var endDate = _ref.endDate,
|
|
4601
4618
|
title = _ref.title,
|
|
@@ -4605,39 +4622,27 @@ var Timer = function Timer(_ref) {
|
|
|
4605
4622
|
_ref$color = _ref.color,
|
|
4606
4623
|
color = _ref$color === void 0 ? Colors.Black : _ref$color;
|
|
4607
4624
|
|
|
4608
|
-
var
|
|
4609
|
-
seconds =
|
|
4610
|
-
setSeconds =
|
|
4611
|
-
|
|
4612
|
-
var _React$useState2 = React__default.useState('00'),
|
|
4613
|
-
minutes = _React$useState2[0],
|
|
4614
|
-
setMinutes = _React$useState2[1];
|
|
4625
|
+
var _useState = useState('00'),
|
|
4626
|
+
seconds = _useState[0],
|
|
4627
|
+
setSeconds = _useState[1];
|
|
4615
4628
|
|
|
4616
|
-
var
|
|
4617
|
-
|
|
4618
|
-
|
|
4629
|
+
var _useState2 = useState('00'),
|
|
4630
|
+
minutes = _useState2[0],
|
|
4631
|
+
setMinutes = _useState2[1];
|
|
4619
4632
|
|
|
4620
|
-
var
|
|
4621
|
-
|
|
4622
|
-
|
|
4633
|
+
var _useState3 = useState('00'),
|
|
4634
|
+
hours = _useState3[0],
|
|
4635
|
+
setHours = _useState3[1];
|
|
4623
4636
|
|
|
4624
|
-
var
|
|
4625
|
-
|
|
4626
|
-
|
|
4637
|
+
var _useState4 = useState('00'),
|
|
4638
|
+
days = _useState4[0],
|
|
4639
|
+
setDays = _useState4[1];
|
|
4627
4640
|
|
|
4628
|
-
var
|
|
4629
|
-
|
|
4630
|
-
|
|
4631
|
-
}
|
|
4632
|
-
|
|
4633
|
-
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(TimerValueWrapper, null, /*#__PURE__*/React__default.createElement(TimerValue, {
|
|
4634
|
-
className: 'chord-timer-value'
|
|
4635
|
-
}, value), /*#__PURE__*/React__default.createElement(TimerLabel, {
|
|
4636
|
-
className: 'chord-timer-label'
|
|
4637
|
-
}, title)), separator && /*#__PURE__*/React__default.createElement(TimerValueSeparator, null, ":"));
|
|
4638
|
-
};
|
|
4641
|
+
var _useState5 = useState(false),
|
|
4642
|
+
isEndDateReached = _useState5[0],
|
|
4643
|
+
setIsEndDateReached = _useState5[1];
|
|
4639
4644
|
|
|
4640
|
-
|
|
4645
|
+
useEffect(function () {
|
|
4641
4646
|
if (isEndDateReached) return; // We use this to set values for the timer immediately
|
|
4642
4647
|
|
|
4643
4648
|
var setIntervalAndExecute = function setIntervalAndExecute(fn, delay) {
|
|
@@ -4646,20 +4651,23 @@ var Timer = function Timer(_ref) {
|
|
|
4646
4651
|
};
|
|
4647
4652
|
|
|
4648
4653
|
var updateValues = function updateValues() {
|
|
4649
|
-
var futureDate =
|
|
4650
|
-
|
|
4651
|
-
var
|
|
4652
|
-
var
|
|
4654
|
+
var futureDate = new Date(endDate); // Date.now() is explicitly passed here just to satisfy Jest time mocking.
|
|
4655
|
+
|
|
4656
|
+
var nowDate = new Date(Date.now());
|
|
4657
|
+
var diffInMs = futureDate.getTime() - nowDate.getTime();
|
|
4653
4658
|
|
|
4654
|
-
if (
|
|
4659
|
+
if (diffInMs < 0) {
|
|
4655
4660
|
setIsEndDateReached(true);
|
|
4656
4661
|
if (endDateHandler) endDateHandler();
|
|
4657
4662
|
} else {
|
|
4658
|
-
var
|
|
4659
|
-
|
|
4660
|
-
|
|
4661
|
-
|
|
4662
|
-
var
|
|
4663
|
+
var duration = intervalToDuration({
|
|
4664
|
+
start: nowDate,
|
|
4665
|
+
end: futureDate
|
|
4666
|
+
});
|
|
4667
|
+
var daysDiff = pad(differenceInDays(futureDate, nowDate));
|
|
4668
|
+
var hoursDiff = pad(duration.hours);
|
|
4669
|
+
var minutesDiff = pad(duration.minutes);
|
|
4670
|
+
var secondsDiff = pad(duration.seconds);
|
|
4663
4671
|
setDays(daysDiff);
|
|
4664
4672
|
setHours(hoursDiff);
|
|
4665
4673
|
setMinutes(minutesDiff);
|
|
@@ -4672,7 +4680,7 @@ var Timer = function Timer(_ref) {
|
|
|
4672
4680
|
clearInterval(interval);
|
|
4673
4681
|
};
|
|
4674
4682
|
});
|
|
4675
|
-
var hideTimer =
|
|
4683
|
+
var hideTimer = isPast(new Date(endDate));
|
|
4676
4684
|
if (hideTimer) return null;
|
|
4677
4685
|
return /*#__PURE__*/React__default.createElement(TimerWrapper, {
|
|
4678
4686
|
color: color
|