Spaces:
Running
Running
| <script lang="ts"> | |
| import { Container, SVG, Text } from "threlte-uikit"; | |
| interface Props { | |
| text: string; | |
| icon?: string; | |
| color?: string; | |
| backgroundOpacity?: number; | |
| textOpacity?: number; | |
| textSize?: number; | |
| iconSize?: number; | |
| paddingX?: number; | |
| paddingY?: number; | |
| borderRadius?: number; | |
| marginBottom?: number; | |
| onclick?: () => void; | |
| } | |
| let { | |
| text, | |
| icon, | |
| color = "rgb(139, 69, 219)", | |
| backgroundOpacity = 0.1, | |
| textOpacity = 0.7, | |
| textSize = 10, | |
| iconSize = 8, | |
| paddingX = 12, | |
| paddingY = 4, | |
| borderRadius = 20, | |
| marginBottom = 6, | |
| onclick | |
| }: Props = $props(); | |
| </script> | |
| <Container | |
| backgroundColor={color} | |
| {backgroundOpacity} | |
| {borderRadius} | |
| {paddingX} | |
| {paddingY} | |
| {marginBottom} | |
| flexDirection="row" | |
| alignItems="center" | |
| gap={6} | |
| pointerEvents={onclick ? "auto" : "none"} | |
| cursor={onclick ? "pointer" : "default"} | |
| {onclick} | |
| > | |
| {#if icon} | |
| <SVG | |
| width={iconSize} | |
| height={iconSize} | |
| {color} | |
| opacity={textOpacity} | |
| src={icon} | |
| /> | |
| {/if} | |
| <Text | |
| {text} | |
| fontSize={textSize} | |
| fontWeight="light" | |
| {color} | |
| opacity={textOpacity} | |
| textAlign="center" | |
| /> | |
| </Container> |