* feat: add `vee-validate` * chore: update * chore: update `AccountForm` example - add `FormDescription` component - include `src` in tsconfig * refactor: use radix-vue `Slot` component * chore: refresh lockfile * chore: update `ProfileForm.vue` and `AccountForm` fix vee-validate initialValues on components with `componentField` slotProp * chore: update `AppearanceForm.vue` update pnpm and some deps -_- * refactor: update - add new-york style - off eslint import/first rule - use `useId` from radix-vue * fix: class-name -> class * refactor: simplify validation for `Command` component * fix: v-bind="field" -> v-bind="componentField" * fix: useAttrs to prevent class duplication * docs: add `form.md` - change TabPreview.vue to showcase way of using vee-validate * docs: add form example for `checkbox` `input` and `datepicker` * docs: add `combobox`, `datepicker`, `radio-group`, `select`, `switch` and `textarea` form and some other exmaples * chore: typo, update `zod`, `vite`, and `@vitejs/plugin-vue`
87 lines
1.8 KiB
Vue
87 lines
1.8 KiB
Vue
<script setup lang="ts">
|
|
import {
|
|
Table,
|
|
TableBody,
|
|
TableCaption,
|
|
TableCell,
|
|
TableHead,
|
|
TableHeader,
|
|
TableRow,
|
|
} from '@/lib/registry/default/ui/table'
|
|
|
|
const invoices = [
|
|
{
|
|
invoice: 'INV001',
|
|
paymentStatus: 'Paid',
|
|
totalAmount: '$250.00',
|
|
paymentMethod: 'Credit Card',
|
|
},
|
|
{
|
|
invoice: 'INV002',
|
|
paymentStatus: 'Pending',
|
|
totalAmount: '$150.00',
|
|
paymentMethod: 'PayPal',
|
|
},
|
|
{
|
|
invoice: 'INV003',
|
|
paymentStatus: 'Unpaid',
|
|
totalAmount: '$350.00',
|
|
paymentMethod: 'Bank Transfer',
|
|
},
|
|
{
|
|
invoice: 'INV004',
|
|
paymentStatus: 'Paid',
|
|
totalAmount: '$450.00',
|
|
paymentMethod: 'Credit Card',
|
|
},
|
|
{
|
|
invoice: 'INV005',
|
|
paymentStatus: 'Paid',
|
|
totalAmount: '$550.00',
|
|
paymentMethod: 'PayPal',
|
|
},
|
|
{
|
|
invoice: 'INV006',
|
|
paymentStatus: 'Pending',
|
|
totalAmount: '$200.00',
|
|
paymentMethod: 'Bank Transfer',
|
|
},
|
|
{
|
|
invoice: 'INV007',
|
|
paymentStatus: 'Unpaid',
|
|
totalAmount: '$300.00',
|
|
paymentMethod: 'Credit Card',
|
|
},
|
|
]
|
|
</script>
|
|
|
|
<template>
|
|
<Table>
|
|
<TableCaption>A list of your recent invoices.</TableCaption>
|
|
<TableHeader>
|
|
<TableRow>
|
|
<TableHead class="w-[100px]">
|
|
Invoice
|
|
</TableHead>
|
|
<TableHead>Status</TableHead>
|
|
<TableHead>Method</TableHead>
|
|
<TableHead class="text-right">
|
|
Amount
|
|
</TableHead>
|
|
</TableRow>
|
|
</TableHeader>
|
|
<TableBody>
|
|
<TableRow v-for="invoice in invoices" :key="invoice.invoice">
|
|
<TableCell class="font-medium">
|
|
{{ invoice.invoice }}
|
|
</TableCell>
|
|
<TableCell>{{ invoice.paymentStatus }}</TableCell>
|
|
<TableCell>{{ invoice.paymentMethod }}</TableCell>
|
|
<TableCell class="text-right">
|
|
{{ invoice.totalAmount }}
|
|
</TableCell>
|
|
</TableRow>
|
|
</TableBody>
|
|
</Table>
|
|
</template>
|