Components

Vue components and UI library

Components

UI Components

Reusable components in src/components/UI/:

  • Button - Button component with variants
  • Card - Card container
  • FormInput - Form input field
  • FormTextarea - Textarea field
  • RichTextEditor - Rich text editor with collaboration
  • ImageLibraryButton - Image selection

Component Structure

<script setup lang="ts">
interface Props {
  title: string
  count?: number
}

const props = withDefaults(defineProps<Props>(), {
  count: 0
})
</script>

<template>
  <div>{{ title }}</div>
</template>

File Naming

  • PascalCase: Button.vue, RichTextEditor.vue
  • Views: StaffDashboardView.vue