Vue

Components to download.

// Button.vue<script setup>const props = defineProps({  loading: Boolean,  disabled: Boolean,  text: String,});</script><template>  <button    :class="`btn ${props.loading ? 'btn-loading' : ''  }`"    :disabled="props.loading || props.disabled"  >    <slot v-if="props.loading" />    <span v-else>{{ props.text }}</span>  </button></template>