Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
pterodactyl
GitHub Repository: pterodactyl/panel
Path: blob/1.0-develop/resources/scripts/components/elements/InputSpinner.tsx
7461 views
1
import React from 'react';
2
import Spinner from '@/components/elements/Spinner';
3
import Fade from '@/components/elements/Fade';
4
import tw from 'twin.macro';
5
import styled, { css } from 'styled-components/macro';
6
import Select from '@/components/elements/Select';
7
8
const Container = styled.div<{ visible?: boolean }>`
9
${tw`relative`};
10
11
${(props) =>
12
props.visible &&
13
css`
14
& ${Select} {
15
background-image: none;
16
}
17
`};
18
`;
19
20
const InputSpinner = ({ visible, children }: { visible: boolean; children: React.ReactNode }) => (
21
<Container visible={visible}>
22
<Fade appear unmountOnExit in={visible} timeout={150}>
23
<div css={tw`absolute right-0 h-full flex items-center justify-end pr-3`}>
24
<Spinner size={'small'} />
25
</div>
26
</Fade>
27
{children}
28
</Container>
29
);
30
31
export default InputSpinner;
32
33