--- interface Props { label?: string to?: string onClick?: () => void edges?: 'curved' | 'rounded' | 'flat' design?: 'bu-primary' | 'bu-link' | 'bu-info' | 'bu-success' | 'bu-warning' | 'bu-danger' | 'bu-dark' | 'bu-light' | 'bu-text' | 'bu-ghost' | 'bo-primary' | 'bo-secondary' | 'bo-success' | 'bo-danger' | 'bo-warning' | 'bo-info' | 'bo-light' | 'bo-dark' | 'bo-link' submit?: boolean newtab?: boolean } const getBorderRadius = (edge: Props['edges']) => { switch (edge) { case 'curved': return 'border-radius: 6px' case 'rounded': return 'border-radius: 32px' case 'flat': return 'border-radius: 0' default: return 'border-radius: 0' } } const { label, to, edges, design, submit, newtab } = Astro.props const borderRadius = getBorderRadius(edges) --- { to ? ( design ? ( ) : ( ) ) : design ? ( submit ? ( ) : ( ) ) : submit ? ( ) : ( ) }