mirror of
https://github.com/InvoiceShelf/InvoiceShelf.git
synced 2026-04-15 17:24:10 +00:00
Migrate all shared components to TypeScript SFCs with script setup lang=ts. 72 files, 7144 lines, zero any types. - components/base/ (42 files): Button, Input, Textarea, Checkbox, Radio, Switch, Badge, Card, Modal, Dialog, Dropdown, DatePicker, TimePicker, Money, FileUploader, Select, Icon, Loader, Multiselect, TabGroup, Wizard, CustomerSelect, ItemSelect, CustomInput, alerts, status badges (Invoice/Estimate/Paid/RecurringInvoice), List/ListItem - components/table/ (3 files): DataTable, TablePagination - components/form/ (4 files): FormGroup, FormGrid, SwitchSection - components/layout/ (11 files): Page, PageHeader, Breadcrumb, FilterWrapper, EmptyPlaceholder, ContentPlaceholders, SettingCard - components/editor/ (2 files): RichEditor with Tiptap - components/charts/ (2 files): LineChart with Chart.js - components/notifications/ (3 files): NotificationRoot, NotificationItem - components/icons/ (2 files): MainLogo All use defineProps<Props>(), defineEmits<Emits>(), typed refs, and import domain types from types/domain. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
47 lines
2.7 KiB
TypeScript
47 lines
2.7 KiB
TypeScript
export { default as BaseBadge } from './BaseBadge.vue'
|
|
export { default as BaseButton } from './BaseButton.vue'
|
|
export { default as BaseCard } from './BaseCard.vue'
|
|
export { default as BaseCheckbox } from './BaseCheckbox.vue'
|
|
export { default as BaseCustomerAddressDisplay } from './BaseCustomerAddressDisplay.vue'
|
|
export { default as BaseCustomerSelectPopup } from './BaseCustomerSelectPopup.vue'
|
|
export { default as BaseCustomInput } from './BaseCustomInput.vue'
|
|
export { default as BaseDatePicker } from './BaseDatePicker.vue'
|
|
export { default as BaseDialog } from './BaseDialog.vue'
|
|
export { default as BaseDivider } from './BaseDivider.vue'
|
|
export { default as BaseDropdown } from './BaseDropdown.vue'
|
|
export { default as BaseDropdownItem } from './BaseDropdownItem.vue'
|
|
export { default as BaseErrorAlert } from './BaseErrorAlert.vue'
|
|
export { default as BaseFileUploader } from './BaseFileUploader.vue'
|
|
export { default as BaseGlobalLoader } from './BaseGlobalLoader.vue'
|
|
export { default as BaseIcon } from './BaseIcon.vue'
|
|
export { default as BaseInfoAlert } from './BaseInfoAlert.vue'
|
|
export { default as BaseInput } from './BaseInput.vue'
|
|
export { default as BaseItemSelect } from './BaseItemSelect.vue'
|
|
export { default as BaseList } from './BaseList.vue'
|
|
export { default as BaseListItem } from './BaseListItem.vue'
|
|
export { default as BaseMoney } from './BaseMoney.vue'
|
|
export { default as BaseModal } from './BaseModal.vue'
|
|
export { default as BaseMultiselect } from './BaseMultiselect.vue'
|
|
export { default as BaseRadio } from './BaseRadio.vue'
|
|
export { default as BaseSelectAction } from './BaseSelectAction.vue'
|
|
export { default as BaseSelectInput } from './BaseSelectInput.vue'
|
|
export { default as BaseSettingCard } from './BaseSettingCard.vue'
|
|
export { default as BaseSwitch } from './BaseSwitch.vue'
|
|
export { default as BaseTabGroup } from './BaseTabGroup.vue'
|
|
export { default as BaseText } from './BaseText.vue'
|
|
export { default as BaseTextarea } from './BaseTextarea.vue'
|
|
export { default as BaseTimePicker } from './BaseTimePicker.vue'
|
|
export { default as BaseWizardNavigation } from './BaseWizardNavigation.vue'
|
|
export { default as BaseWizardStep } from './BaseWizardStep.vue'
|
|
|
|
// Status badge components
|
|
export { default as InvoiceStatusBadge } from './InvoiceStatusBadge.vue'
|
|
export { default as EstimateStatusBadge } from './EstimateStatusBadge.vue'
|
|
export { default as PaidStatusBadge } from './PaidStatusBadge.vue'
|
|
export { default as RecurringInvoiceStatusBadge } from './RecurringInvoiceStatusBadge.vue'
|
|
export { default as NewBadge } from './NewBadge.vue'
|
|
|
|
// Shared page components
|
|
export { default as InvoiceInformationCard } from './InvoiceInformationCard.vue'
|
|
export { default as InvoicePublicPage } from './InvoicePublicPage.vue'
|