creates video voice memos from audio clips; with bluesky integration.
trill.ptr.pet
1import { mergeProps, splitProps } from 'solid-js'
2import { styled } from 'styled-system/jsx'
3import { Spinner as StyledSpinner, type SpinnerProps as StyledSpinnerProps } from './styled/spinner'
4
5export interface SpinnerProps extends StyledSpinnerProps {
6 /**
7 * For accessibility, it is important to add a fallback loading text.
8 * This text will be visible to screen readers.
9 * @default "Loading..."
10 */
11 label?: string
12}
13
14export const Spinner = (props: SpinnerProps) => {
15 const [_localProps, rootProps] = splitProps(props, ['label'])
16 const localProps = mergeProps({ label: 'Loading...' }, _localProps)
17
18 return (
19 <StyledSpinner borderBottomColor="transparent" borderLeftColor="transparent" {...rootProps}>
20 <styled.span srOnly>{localProps.label}</styled.span>
21 </StyledSpinner>
22 )
23}