Skip to content

Commit 2efbdc1

Browse files
author
github-actions
committed
push build files [skip ci]
1 parent f26696d commit 2efbdc1

File tree

8 files changed

+128
-4
lines changed

8 files changed

+128
-4
lines changed

lib/cjs/components/Countdown.d.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import React from 'react';
2+
import { TypographyProps } from '@mui/material';
3+
export interface CountdownProps extends Omit<TypographyProps, ('children')> {
4+
seconds: number;
5+
start?: boolean;
6+
onEnd: () => void;
7+
}
8+
declare const Countdown: React.FC<CountdownProps>;
9+
export default Countdown;

lib/cjs/components/Countdown.js

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
"use strict";
2+
var __assign = (this && this.__assign) || function () {
3+
__assign = Object.assign || function(t) {
4+
for (var s, i = 1, n = arguments.length; i < n; i++) {
5+
s = arguments[i];
6+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7+
t[p] = s[p];
8+
}
9+
return t;
10+
};
11+
return __assign.apply(this, arguments);
12+
};
13+
var __rest = (this && this.__rest) || function (s, e) {
14+
var t = {};
15+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16+
t[p] = s[p];
17+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
18+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20+
t[p[i]] = s[p[i]];
21+
}
22+
return t;
23+
};
24+
var __importDefault = (this && this.__importDefault) || function (mod) {
25+
return (mod && mod.__esModule) ? mod : { "default": mod };
26+
};
27+
Object.defineProperty(exports, "__esModule", { value: true });
28+
var react_1 = __importDefault(require("react"));
29+
var material_1 = require("@mui/material");
30+
var Countdown = function (_a) {
31+
var seconds = _a.seconds, _b = _a.start, start = _b === void 0 ? true : _b, onEnd = _a.onEnd, typographyProps = __rest(_a, ["seconds", "start", "onEnd"]);
32+
seconds = Math.floor(seconds);
33+
var _c = react_1.default.useState(seconds < 0 ? 0 : seconds), _seconds = _c[0], _setSeconds = _c[1];
34+
var _d = react_1.default.useState(!start), end = _d[0], setEnd = _d[1];
35+
react_1.default.useEffect(function () {
36+
if (!end) {
37+
if (_seconds > 0) {
38+
setTimeout(function () { _setSeconds(_seconds - 1); }, 1000);
39+
}
40+
else {
41+
setEnd(true);
42+
onEnd();
43+
}
44+
}
45+
}, [_seconds]);
46+
seconds = Math.floor(_seconds % 60);
47+
var minutes = Math.floor(_seconds / 60);
48+
return react_1.default.createElement(react_1.default.Fragment, null, _seconds > 0 &&
49+
react_1.default.createElement(material_1.Typography, __assign({}, typographyProps),
50+
minutes > 0 && ("".concat(minutes, " ").concat(minutes > 1 ? 'mins' : 'min', " ")),
51+
seconds > 0 && ("".concat(seconds, " ").concat(seconds > 1 ? 'secs' : 'sec'))));
52+
};
53+
exports.default = Countdown;

lib/cjs/components/index.d.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import App, { AppProps } from './App';
22
import ClickableTooltip, { ClickableTooltipProps } from './ClickableTooltip';
33
import CopyIconButton, { CopyIconButtonProps } from './CopyIconButton';
4+
import Countdown, { CountdownProps } from './Countdown';
45
import ElevatedAppBar, { ElevatedAppBarProps } from './ElevatedAppBar';
56
import Image, { ImageProps } from './Image';
67
import ItemizedList, { ItemizedListProps } from './ItemizedList';
78
import OrderedGrid, { OrderedGridProps } from './OrderedGrid';
89
import YouTubeVideo, { YouTubeVideoProps } from './YouTubeVideo';
9-
export { App, type AppProps, ClickableTooltip, type ClickableTooltipProps, CopyIconButton, type CopyIconButtonProps, ElevatedAppBar, type ElevatedAppBarProps, Image, type ImageProps, ItemizedList, type ItemizedListProps, OrderedGrid, type OrderedGridProps, YouTubeVideo, type YouTubeVideoProps };
10+
export { App, type AppProps, ClickableTooltip, type ClickableTooltipProps, CopyIconButton, type CopyIconButtonProps, Countdown, type CountdownProps, ElevatedAppBar, type ElevatedAppBarProps, Image, type ImageProps, ItemizedList, type ItemizedListProps, OrderedGrid, type OrderedGridProps, YouTubeVideo, type YouTubeVideoProps };

lib/cjs/components/index.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
33
return (mod && mod.__esModule) ? mod : { "default": mod };
44
};
55
Object.defineProperty(exports, "__esModule", { value: true });
6-
exports.YouTubeVideo = exports.OrderedGrid = exports.ItemizedList = exports.Image = exports.ElevatedAppBar = exports.CopyIconButton = exports.ClickableTooltip = exports.App = void 0;
6+
exports.YouTubeVideo = exports.OrderedGrid = exports.ItemizedList = exports.Image = exports.ElevatedAppBar = exports.Countdown = exports.CopyIconButton = exports.ClickableTooltip = exports.App = void 0;
77
var App_1 = __importDefault(require("./App"));
88
exports.App = App_1.default;
99
var ClickableTooltip_1 = __importDefault(require("./ClickableTooltip"));
1010
exports.ClickableTooltip = ClickableTooltip_1.default;
1111
var CopyIconButton_1 = __importDefault(require("./CopyIconButton"));
1212
exports.CopyIconButton = CopyIconButton_1.default;
13+
var Countdown_1 = __importDefault(require("./Countdown"));
14+
exports.Countdown = Countdown_1.default;
1315
var ElevatedAppBar_1 = __importDefault(require("./ElevatedAppBar"));
1416
exports.ElevatedAppBar = ElevatedAppBar_1.default;
1517
var Image_1 = __importDefault(require("./Image"));

lib/esm/components/Countdown.d.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import React from 'react';
2+
import { TypographyProps } from '@mui/material';
3+
export interface CountdownProps extends Omit<TypographyProps, ('children')> {
4+
seconds: number;
5+
start?: boolean;
6+
onEnd: () => void;
7+
}
8+
declare const Countdown: React.FC<CountdownProps>;
9+
export default Countdown;

lib/esm/components/Countdown.js

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
var __assign = (this && this.__assign) || function () {
2+
__assign = Object.assign || function(t) {
3+
for (var s, i = 1, n = arguments.length; i < n; i++) {
4+
s = arguments[i];
5+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6+
t[p] = s[p];
7+
}
8+
return t;
9+
};
10+
return __assign.apply(this, arguments);
11+
};
12+
var __rest = (this && this.__rest) || function (s, e) {
13+
var t = {};
14+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15+
t[p] = s[p];
16+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
17+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19+
t[p[i]] = s[p[i]];
20+
}
21+
return t;
22+
};
23+
import React from 'react';
24+
import { Typography } from '@mui/material';
25+
var Countdown = function (_a) {
26+
var seconds = _a.seconds, _b = _a.start, start = _b === void 0 ? true : _b, onEnd = _a.onEnd, typographyProps = __rest(_a, ["seconds", "start", "onEnd"]);
27+
seconds = Math.floor(seconds);
28+
var _c = React.useState(seconds < 0 ? 0 : seconds), _seconds = _c[0], _setSeconds = _c[1];
29+
var _d = React.useState(!start), end = _d[0], setEnd = _d[1];
30+
React.useEffect(function () {
31+
if (!end) {
32+
if (_seconds > 0) {
33+
setTimeout(function () { _setSeconds(_seconds - 1); }, 1000);
34+
}
35+
else {
36+
setEnd(true);
37+
onEnd();
38+
}
39+
}
40+
}, [_seconds]);
41+
seconds = Math.floor(_seconds % 60);
42+
var minutes = Math.floor(_seconds / 60);
43+
return React.createElement(React.Fragment, null, _seconds > 0 &&
44+
React.createElement(Typography, __assign({}, typographyProps),
45+
minutes > 0 && ("".concat(minutes, " ").concat(minutes > 1 ? 'mins' : 'min', " ")),
46+
seconds > 0 && ("".concat(seconds, " ").concat(seconds > 1 ? 'secs' : 'sec'))));
47+
};
48+
export default Countdown;

lib/esm/components/index.d.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import App, { AppProps } from './App';
22
import ClickableTooltip, { ClickableTooltipProps } from './ClickableTooltip';
33
import CopyIconButton, { CopyIconButtonProps } from './CopyIconButton';
4+
import Countdown, { CountdownProps } from './Countdown';
45
import ElevatedAppBar, { ElevatedAppBarProps } from './ElevatedAppBar';
56
import Image, { ImageProps } from './Image';
67
import ItemizedList, { ItemizedListProps } from './ItemizedList';
78
import OrderedGrid, { OrderedGridProps } from './OrderedGrid';
89
import YouTubeVideo, { YouTubeVideoProps } from './YouTubeVideo';
9-
export { App, type AppProps, ClickableTooltip, type ClickableTooltipProps, CopyIconButton, type CopyIconButtonProps, ElevatedAppBar, type ElevatedAppBarProps, Image, type ImageProps, ItemizedList, type ItemizedListProps, OrderedGrid, type OrderedGridProps, YouTubeVideo, type YouTubeVideoProps };
10+
export { App, type AppProps, ClickableTooltip, type ClickableTooltipProps, CopyIconButton, type CopyIconButtonProps, Countdown, type CountdownProps, ElevatedAppBar, type ElevatedAppBarProps, Image, type ImageProps, ItemizedList, type ItemizedListProps, OrderedGrid, type OrderedGridProps, YouTubeVideo, type YouTubeVideoProps };

lib/esm/components/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
import App from './App';
22
import ClickableTooltip from './ClickableTooltip';
33
import CopyIconButton from './CopyIconButton';
4+
import Countdown from './Countdown';
45
import ElevatedAppBar from './ElevatedAppBar';
56
import Image from './Image';
67
import ItemizedList from './ItemizedList';
78
import OrderedGrid from './OrderedGrid';
89
import YouTubeVideo from './YouTubeVideo';
9-
export { App, ClickableTooltip, CopyIconButton, ElevatedAppBar, Image, ItemizedList, OrderedGrid, YouTubeVideo };
10+
export { App, ClickableTooltip, CopyIconButton, Countdown, ElevatedAppBar, Image, ItemizedList, OrderedGrid, YouTubeVideo };

0 commit comments

Comments
 (0)