A button.
npx @sv/components button
Default Show Code /* @jsxImportSource vue */
import { Icon } from " @components/src/vue/Icon " ;
import { Button } from " @components/src/vue/Button " ;
export default function () {
< div class = " flex gap-10 " >
< Button disabled > Disabled </ Button >
Outline Show Code /* @jsxImportSource vue */
import { Icon } from " @components/src/vue/Icon " ;
import { Button } from " @components/src/vue/Button " ;
export default function () {
< div class = " flex gap-10 " >
< Button variant = " outline " > Button </ Button >
< Button variant = " outline " disabled >
< Button variant = " outline " >
Ghost Show Code /* @jsxImportSource vue */
import { Icon } from " @components/src/vue/Icon " ;
import { Button } from " @components/src/vue/Button " ;
export default function () {
< div class = " flex gap-10 " >
< Button variant = " ghost " > Button </ Button >
< Button variant = " ghost " disabled >
Links
Links are not buttons and buttons are not links. Links have hrefs and buttons do not, so having props that apply only in a certain variation is confusing.
But sometimes you need a link that looks like a button. So we have a separate Link component with a button variant. You can replace the a tag inside this component with a framework specific router link.
Example Show Code /* @jsxImportSource vue */
import { Link } from " @components/src/vue/Button " ;
export default function () {
< div class = " flex gap-10 text-white " >
< Link variant = " default " href = " https://google.com " target = " _blank " >
< Link variant = " outline " href = " https://bing.com " target = " _blank " >