import Section from "@/components/Section.vue";
// Elements
+import Button from "@/components/Button.vue";
import Block from "@/components/Block.vue";
import Box from "@/components/Box.vue";
import Notification from "@/components/Notification.vue";
app.component("Container", Container)
app.component("Block", Block)
app.component("Box", Box)
+ app.component("Button", Button)
app.component("Icon", Icon)
app.component("Loader", Loader)
app.component("Modal", Modal)
--- /dev/null
+<script setup lang="ts">
+ const props = defineProps<{
+ loading: boolean,
+
+ // States
+ isPrimary?: boolean,
+ isSuccess?: boolean,
+ isWarning?: boolean,
+ isDanger? : boolean,
+
+ // Sizes
+ isLarge? : boolean,
+ isMedium? : boolean,
+ isSmall? : boolean,
+
+ // Full Width
+ isFullWidth?: boolean,
+ }>();
+</script>
+
+<template>
+ <button class="button" :class="{
+ // Is this loading?
+ 'is-loading' : loading,
+
+ // States
+ 'is-primary' : isPrimary,
+ 'is-success' : isSuccess,
+ 'is-warning' : isWarning,
+ 'is-danger' : isDanger,
+
+ // Sizes
+ 'is-large' : isLarge,
+ 'is-medium' : isMedium,
+ 'is-small' : isSmall,
+
+ // Full Width
+ 'is-fullwidth' : isFullWidth,
+ }">
+ <slot />
+ </button>
+</template>