1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const React = require("react");
|
4 | const react_1 = require("react");
|
5 | const ink_1 = require("ink");
|
6 | const spinners = require("cli-spinners");
|
7 |
|
8 |
|
9 |
|
10 | const Spinner = ({ type = 'dots' }) => {
|
11 | const [frame, setFrame] = react_1.useState(0);
|
12 | const spinner = spinners[type];
|
13 | react_1.useEffect(() => {
|
14 | const timer = setInterval(() => {
|
15 | setFrame(previousFrame => {
|
16 | const isLastFrame = previousFrame === spinner.frames.length - 1;
|
17 | return isLastFrame ? 0 : previousFrame + 1;
|
18 | });
|
19 | }, spinner.interval);
|
20 | return () => {
|
21 | clearInterval(timer);
|
22 | };
|
23 | }, [spinner]);
|
24 | return React.createElement(ink_1.Text, null, spinner.frames[frame]);
|
25 | };
|
26 | exports.default = Spinner;
|