@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 CHANGED
@@ -1,3 +1,6 @@
1
+ ## [0.19.2]
2
+ - Migrated from moment.js 2.29.4 to date-fn 4.1.0
3
+
1
4
  ## [0.19.1]
2
5
  - CastFilter: fix the focus behavior of the rotator button
3
6
 
@@ -8,7 +8,7 @@ var React = require('react');
8
8
  var React__default = _interopDefault(React);
9
9
  var styled = require('styled-components');
10
10
  var styled__default = _interopDefault(styled);
11
- var moment = _interopDefault(require('moment'));
11
+ var dateFns = require('date-fns');
12
12
  var server = require('react-dom/server');
13
13
  var Select$1 = require('react-select');
14
14
  var Select$1__default = _interopDefault(Select$1);
@@ -4638,6 +4638,31 @@ var TimerValueSeparator = /*#__PURE__*/styled__default.div(_templateObject6$3 ||
4638
4638
  var TimerValueWrapper = /*#__PURE__*/styled__default.div(_templateObject7$1 || (_templateObject7$1 = /*#__PURE__*/_taggedTemplateLiteralLoose([""])));
4639
4639
  var TimerValue = /*#__PURE__*/styled__default.div(_templateObject8 || (_templateObject8 = /*#__PURE__*/_taggedTemplateLiteralLoose([""])));
4640
4640
 
4641
+ var pad = function pad(num) {
4642
+ return String(num || 0).padStart(2, '0');
4643
+ };
4644
+ var renderTimerValue = function renderTimerValue(value, label, separator) {
4645
+ if (separator === void 0) {
4646
+ separator = true;
4647
+ }
4648
+ return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(TimerValueWrapper, null, /*#__PURE__*/React__default.createElement(TimerValue, {
4649
+ className: "harmonic-timer-value"
4650
+ }, /*#__PURE__*/React__default.createElement(HarmonicHeader, {
4651
+ color: "inherit",
4652
+ hierarchy: "h3",
4653
+ size: "medium",
4654
+ "data-testid": label
4655
+ }, value)), /*#__PURE__*/React__default.createElement(TimerLabel, {
4656
+ className: "harmonic-timer-label"
4657
+ }, /*#__PURE__*/React__default.createElement(HarmonicOverline, {
4658
+ color: "inherit",
4659
+ size: "large"
4660
+ }, label))), separator && (/*#__PURE__*/React__default.createElement(HarmonicHeader, {
4661
+ color: "inherit",
4662
+ hierarchy: "h3",
4663
+ size: "medium"
4664
+ }, /*#__PURE__*/React__default.createElement(TimerValueSeparator, null, ":"))));
4665
+ };
4641
4666
  var Timer = function Timer(_ref) {
4642
4667
  var endDate = _ref.endDate,
4643
4668
  title = _ref.title,
@@ -4646,43 +4671,22 @@ var Timer = function Timer(_ref) {
4646
4671
  bottomLine = _ref$bottomLine === void 0 ? true : _ref$bottomLine,
4647
4672
  _ref$color = _ref.color,
4648
4673
  color = _ref$color === void 0 ? ThemeColor['base-black'] : _ref$color;
4649
- var _React$useState = React__default.useState('00'),
4650
- seconds = _React$useState[0],
4651
- setSeconds = _React$useState[1];
4652
- var _React$useState2 = React__default.useState('00'),
4653
- minutes = _React$useState2[0],
4654
- setMinutes = _React$useState2[1];
4655
- var _React$useState3 = React__default.useState('00'),
4656
- hours = _React$useState3[0],
4657
- setHours = _React$useState3[1];
4658
- var _React$useState4 = React__default.useState('00'),
4659
- days = _React$useState4[0],
4660
- setDays = _React$useState4[1];
4661
- var _React$useState5 = React__default.useState(false),
4662
- isEndDateReached = _React$useState5[0],
4663
- setIsEndDateReached = _React$useState5[1];
4664
- var renderTimerValue = function renderTimerValue(value, label, separator) {
4665
- if (separator === void 0) {
4666
- separator = true;
4667
- }
4668
- return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(TimerValueWrapper, null, /*#__PURE__*/React__default.createElement(TimerValue, {
4669
- className: "harmonic-timer-value"
4670
- }, /*#__PURE__*/React__default.createElement(HarmonicHeader, {
4671
- color: "inherit",
4672
- hierarchy: "h3",
4673
- size: "medium"
4674
- }, value)), /*#__PURE__*/React__default.createElement(TimerLabel, {
4675
- className: "harmonic-timer-label"
4676
- }, /*#__PURE__*/React__default.createElement(HarmonicOverline, {
4677
- color: "inherit",
4678
- size: "large"
4679
- }, label))), separator && (/*#__PURE__*/React__default.createElement(HarmonicHeader, {
4680
- color: "inherit",
4681
- hierarchy: "h3",
4682
- size: "medium"
4683
- }, /*#__PURE__*/React__default.createElement(TimerValueSeparator, null, ":"))));
4684
- };
4685
- React__default.useEffect(function () {
4674
+ var _useState = React.useState('00'),
4675
+ seconds = _useState[0],
4676
+ setSeconds = _useState[1];
4677
+ var _useState2 = React.useState('00'),
4678
+ minutes = _useState2[0],
4679
+ setMinutes = _useState2[1];
4680
+ var _useState3 = React.useState('00'),
4681
+ hours = _useState3[0],
4682
+ setHours = _useState3[1];
4683
+ var _useState4 = React.useState('00'),
4684
+ days = _useState4[0],
4685
+ setDays = _useState4[1];
4686
+ var _useState5 = React.useState(false),
4687
+ isEndDateReached = _useState5[0],
4688
+ setIsEndDateReached = _useState5[1];
4689
+ React.useEffect(function () {
4686
4690
  if (isEndDateReached) return undefined;
4687
4691
  // We use this to set values for the timer immediately
4688
4692
  var setIntervalAndExecute = function setIntervalAndExecute(fn, delay) {
@@ -4690,19 +4694,21 @@ var Timer = function Timer(_ref) {
4690
4694
  return setInterval(fn, delay);
4691
4695
  };
4692
4696
  var updateValues = function updateValues() {
4693
- var futureDate = moment(endDate);
4694
- var nowDate = moment();
4695
- var differenceInMilliseconds = futureDate.valueOf() - nowDate.valueOf();
4696
- var difference = moment(differenceInMilliseconds).utc();
4697
- if (differenceInMilliseconds < 0) {
4697
+ var futureDate = new Date(endDate);
4698
+ var nowDate = new Date();
4699
+ var diffInMs = futureDate.getTime() - nowDate.getTime();
4700
+ if (diffInMs < 0) {
4698
4701
  setIsEndDateReached(true);
4699
4702
  if (endDateHandler) endDateHandler();
4700
4703
  } else {
4701
- var fullDaysLeft = Math.floor(futureDate.diff(nowDate, 'days', true));
4702
- var daysDiff = fullDaysLeft < 10 ? "0" + fullDaysLeft : fullDaysLeft.toString();
4703
- var hoursDiff = difference.format('HH');
4704
- var minutesDiff = difference.format('mm');
4705
- var secondsDiff = difference.format('ss');
4704
+ var duration = dateFns.intervalToDuration({
4705
+ start: nowDate,
4706
+ end: futureDate
4707
+ });
4708
+ var daysDiff = pad(dateFns.differenceInDays(futureDate, nowDate));
4709
+ var hoursDiff = pad(duration.hours);
4710
+ var minutesDiff = pad(duration.minutes);
4711
+ var secondsDiff = pad(duration.seconds);
4706
4712
  setDays(daysDiff);
4707
4713
  setHours(hoursDiff);
4708
4714
  setMinutes(minutesDiff);
@@ -4714,7 +4720,7 @@ var Timer = function Timer(_ref) {
4714
4720
  clearInterval(interval);
4715
4721
  };
4716
4722
  });
4717
- var hideTimer = moment(endDate).isBefore(moment());
4723
+ var hideTimer = dateFns.isPast(new Date(endDate));
4718
4724
  if (hideTimer) return null;
4719
4725
  return /*#__PURE__*/React__default.createElement(TimerWrapper, {
4720
4726
  color: color