@royaloperahouse/harmonic 0.19.1 → 0.19.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/dist/harmonic.cjs.development.js +55 -49
- package/dist/harmonic.cjs.development.js.map +1 -1
- package/dist/harmonic.cjs.production.min.js +1 -1
- package/dist/harmonic.cjs.production.min.js.map +1 -1
- package/dist/harmonic.esm.js +55 -49
- package/dist/harmonic.esm.js.map +1 -1
- package/package.json +2 -2
package/dist/harmonic.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React__default, { createElement, memo, forwardRef, useCallback, useRef, useImperativeHandle, useMemo, useEffect, useState, 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';
|
|
@@ -4663,6 +4663,31 @@ var TimerValueSeparator = /*#__PURE__*/styled.div(_templateObject6$3 || (_templa
|
|
|
4663
4663
|
var TimerValueWrapper = /*#__PURE__*/styled.div(_templateObject7$1 || (_templateObject7$1 = /*#__PURE__*/_taggedTemplateLiteralLoose([""])));
|
|
4664
4664
|
var TimerValue = /*#__PURE__*/styled.div(_templateObject8 || (_templateObject8 = /*#__PURE__*/_taggedTemplateLiteralLoose([""])));
|
|
4665
4665
|
|
|
4666
|
+
var pad = function pad(num) {
|
|
4667
|
+
return String(num || 0).padStart(2, '0');
|
|
4668
|
+
};
|
|
4669
|
+
var renderTimerValue = function renderTimerValue(value, label, separator) {
|
|
4670
|
+
if (separator === void 0) {
|
|
4671
|
+
separator = true;
|
|
4672
|
+
}
|
|
4673
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(TimerValueWrapper, null, /*#__PURE__*/React__default.createElement(TimerValue, {
|
|
4674
|
+
className: "harmonic-timer-value"
|
|
4675
|
+
}, /*#__PURE__*/React__default.createElement(HarmonicHeader, {
|
|
4676
|
+
color: "inherit",
|
|
4677
|
+
hierarchy: "h3",
|
|
4678
|
+
size: "medium",
|
|
4679
|
+
"data-testid": label
|
|
4680
|
+
}, value)), /*#__PURE__*/React__default.createElement(TimerLabel, {
|
|
4681
|
+
className: "harmonic-timer-label"
|
|
4682
|
+
}, /*#__PURE__*/React__default.createElement(HarmonicOverline, {
|
|
4683
|
+
color: "inherit",
|
|
4684
|
+
size: "large"
|
|
4685
|
+
}, label))), separator && (/*#__PURE__*/React__default.createElement(HarmonicHeader, {
|
|
4686
|
+
color: "inherit",
|
|
4687
|
+
hierarchy: "h3",
|
|
4688
|
+
size: "medium"
|
|
4689
|
+
}, /*#__PURE__*/React__default.createElement(TimerValueSeparator, null, ":"))));
|
|
4690
|
+
};
|
|
4666
4691
|
var Timer = function Timer(_ref) {
|
|
4667
4692
|
var endDate = _ref.endDate,
|
|
4668
4693
|
title = _ref.title,
|
|
@@ -4671,43 +4696,22 @@ var Timer = function Timer(_ref) {
|
|
|
4671
4696
|
bottomLine = _ref$bottomLine === void 0 ? true : _ref$bottomLine,
|
|
4672
4697
|
_ref$color = _ref.color,
|
|
4673
4698
|
color = _ref$color === void 0 ? ThemeColor['base-black'] : _ref$color;
|
|
4674
|
-
var
|
|
4675
|
-
seconds =
|
|
4676
|
-
setSeconds =
|
|
4677
|
-
var
|
|
4678
|
-
minutes =
|
|
4679
|
-
setMinutes =
|
|
4680
|
-
var
|
|
4681
|
-
hours =
|
|
4682
|
-
setHours =
|
|
4683
|
-
var
|
|
4684
|
-
days =
|
|
4685
|
-
setDays =
|
|
4686
|
-
var
|
|
4687
|
-
isEndDateReached =
|
|
4688
|
-
setIsEndDateReached =
|
|
4689
|
-
|
|
4690
|
-
if (separator === void 0) {
|
|
4691
|
-
separator = true;
|
|
4692
|
-
}
|
|
4693
|
-
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(TimerValueWrapper, null, /*#__PURE__*/React__default.createElement(TimerValue, {
|
|
4694
|
-
className: "harmonic-timer-value"
|
|
4695
|
-
}, /*#__PURE__*/React__default.createElement(HarmonicHeader, {
|
|
4696
|
-
color: "inherit",
|
|
4697
|
-
hierarchy: "h3",
|
|
4698
|
-
size: "medium"
|
|
4699
|
-
}, value)), /*#__PURE__*/React__default.createElement(TimerLabel, {
|
|
4700
|
-
className: "harmonic-timer-label"
|
|
4701
|
-
}, /*#__PURE__*/React__default.createElement(HarmonicOverline, {
|
|
4702
|
-
color: "inherit",
|
|
4703
|
-
size: "large"
|
|
4704
|
-
}, label))), separator && (/*#__PURE__*/React__default.createElement(HarmonicHeader, {
|
|
4705
|
-
color: "inherit",
|
|
4706
|
-
hierarchy: "h3",
|
|
4707
|
-
size: "medium"
|
|
4708
|
-
}, /*#__PURE__*/React__default.createElement(TimerValueSeparator, null, ":"))));
|
|
4709
|
-
};
|
|
4710
|
-
React__default.useEffect(function () {
|
|
4699
|
+
var _useState = useState('00'),
|
|
4700
|
+
seconds = _useState[0],
|
|
4701
|
+
setSeconds = _useState[1];
|
|
4702
|
+
var _useState2 = useState('00'),
|
|
4703
|
+
minutes = _useState2[0],
|
|
4704
|
+
setMinutes = _useState2[1];
|
|
4705
|
+
var _useState3 = useState('00'),
|
|
4706
|
+
hours = _useState3[0],
|
|
4707
|
+
setHours = _useState3[1];
|
|
4708
|
+
var _useState4 = useState('00'),
|
|
4709
|
+
days = _useState4[0],
|
|
4710
|
+
setDays = _useState4[1];
|
|
4711
|
+
var _useState5 = useState(false),
|
|
4712
|
+
isEndDateReached = _useState5[0],
|
|
4713
|
+
setIsEndDateReached = _useState5[1];
|
|
4714
|
+
useEffect(function () {
|
|
4711
4715
|
if (isEndDateReached) return undefined;
|
|
4712
4716
|
// We use this to set values for the timer immediately
|
|
4713
4717
|
var setIntervalAndExecute = function setIntervalAndExecute(fn, delay) {
|
|
@@ -4715,19 +4719,21 @@ var Timer = function Timer(_ref) {
|
|
|
4715
4719
|
return setInterval(fn, delay);
|
|
4716
4720
|
};
|
|
4717
4721
|
var updateValues = function updateValues() {
|
|
4718
|
-
var futureDate =
|
|
4719
|
-
var nowDate =
|
|
4720
|
-
var
|
|
4721
|
-
|
|
4722
|
-
if (differenceInMilliseconds < 0) {
|
|
4722
|
+
var futureDate = new Date(endDate);
|
|
4723
|
+
var nowDate = new Date();
|
|
4724
|
+
var diffInMs = futureDate.getTime() - nowDate.getTime();
|
|
4725
|
+
if (diffInMs < 0) {
|
|
4723
4726
|
setIsEndDateReached(true);
|
|
4724
4727
|
if (endDateHandler) endDateHandler();
|
|
4725
4728
|
} else {
|
|
4726
|
-
var
|
|
4727
|
-
|
|
4728
|
-
|
|
4729
|
-
|
|
4730
|
-
var
|
|
4729
|
+
var duration = intervalToDuration({
|
|
4730
|
+
start: nowDate,
|
|
4731
|
+
end: futureDate
|
|
4732
|
+
});
|
|
4733
|
+
var daysDiff = pad(differenceInDays(futureDate, nowDate));
|
|
4734
|
+
var hoursDiff = pad(duration.hours);
|
|
4735
|
+
var minutesDiff = pad(duration.minutes);
|
|
4736
|
+
var secondsDiff = pad(duration.seconds);
|
|
4731
4737
|
setDays(daysDiff);
|
|
4732
4738
|
setHours(hoursDiff);
|
|
4733
4739
|
setMinutes(minutesDiff);
|
|
@@ -4739,7 +4745,7 @@ var Timer = function Timer(_ref) {
|
|
|
4739
4745
|
clearInterval(interval);
|
|
4740
4746
|
};
|
|
4741
4747
|
});
|
|
4742
|
-
var hideTimer =
|
|
4748
|
+
var hideTimer = isPast(new Date(endDate));
|
|
4743
4749
|
if (hideTimer) return null;
|
|
4744
4750
|
return /*#__PURE__*/React__default.createElement(TimerWrapper, {
|
|
4745
4751
|
color: color
|