This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

core / web / src / lib / components / ui / ButtonGroup.svelte
897 B 37 lines
1<script module lang="ts"> 2 import { tv, type VariantProps } from "tailwind-variants"; 3 4 export const buttonGroup = tv({ 5 base: "inline-flex items-center", 6 variants: { 7 spaced: { 8 true: "gap-2", 9 false: 10 "gap-0 [&>*]:relative [&>*:not(:first-child)]:-ml-px [&>*:not(:first-child)]:rounded-l-none [&>*:not(:last-child)]:rounded-r-none [&>*:hover]:z-10 [&>*:focus-visible]:z-10" 11 } 12 }, 13 defaultVariants: { 14 spaced: false 15 } 16 }); 17 18 export type ButtonGroupVariants = VariantProps<typeof buttonGroup>; 19</script> 20 21<script lang="ts"> 22 import type { Snippet } from "svelte"; 23 24 interface Props { 25 spaced?: ButtonGroupVariants["spaced"]; 26 class?: string; 27 children: Snippet; 28 } 29 30 let { spaced = false, class: className, children }: Props = $props(); 31 32 const classes = $derived(buttonGroup({ spaced, class: className })); 33</script> 34 35<div class={classes}> 36 {@render children()} 37</div>