creates video voice memos from audio clips; with bluesky integration.
trill.ptr.pet
1import { Show, children } from 'solid-js'
2import * as StyledCheckbox from './styled/checkbox'
3
4export interface CheckboxProps extends StyledCheckbox.RootProps {}
5
6export const Checkbox = (props: CheckboxProps) => {
7 const getChildren = children(() => props.children)
8
9 return (
10 <StyledCheckbox.Root {...props}>
11 <StyledCheckbox.Control>
12 <StyledCheckbox.Indicator>
13 <CheckIcon />
14 </StyledCheckbox.Indicator>
15 <StyledCheckbox.Indicator indeterminate>
16 <MinusIcon />
17 </StyledCheckbox.Indicator>
18 </StyledCheckbox.Control>
19 <Show when={getChildren()}>
20 <StyledCheckbox.Label>{getChildren()}</StyledCheckbox.Label>
21 </Show>
22 <StyledCheckbox.HiddenInput />
23 </StyledCheckbox.Root>
24 )
25}
26
27const CheckIcon = () => (
28 <svg viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
29 <title>Check Icon</title>
30 <path
31 d="M11.6666 3.5L5.24992 9.91667L2.33325 7"
32 stroke="currentColor"
33 stroke-width="2"
34 stroke-linecap="round"
35 stroke-linejoin="round"
36 />
37 </svg>
38)
39
40const MinusIcon = () => (
41 <svg viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
42 <title>Minus Icon</title>
43 <path
44 d="M2.91675 7H11.0834"
45 stroke="currentColor"
46 stroke-width="2"
47 stroke-linecap="round"
48 stroke-linejoin="round"
49 />
50 </svg>
51)