creates video voice memos from audio clips; with bluesky integration. trill.ptr.pet
at main 814 B view raw
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}