mirror of
https://github.com/InvoiceShelf/InvoiceShelf.git
synced 2026-04-15 09:14:08 +00:00
Create BaseCustomTag (dynamic tag render), BaseFormatMoney, BaseHeading, BaseScrollPane, BaseDescriptionList/Item, BaseLabel, BaseCustomerSelectInput, BaseSpinner, BaseRating, and status label components. Register all renamed v2 components under their old Base* names (BaseInputGroup->FormGroup, BasePage->Page, BaseTable->DataTable, etc.) so templates resolve correctly. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
34 lines
671 B
Vue
34 lines
671 B
Vue
<script setup lang="ts">
|
|
interface Props {
|
|
label: string
|
|
value?: string | number
|
|
contentLoading?: boolean
|
|
}
|
|
|
|
withDefaults(defineProps<Props>(), {
|
|
value: '',
|
|
contentLoading: false,
|
|
})
|
|
</script>
|
|
|
|
<template>
|
|
<div>
|
|
<BaseContentPlaceholders v-if="contentLoading">
|
|
<BaseContentPlaceholdersBox class="w-20 h-5 mb-1" />
|
|
<BaseContentPlaceholdersBox class="w-40 h-5" />
|
|
</BaseContentPlaceholders>
|
|
|
|
<div v-else>
|
|
<BaseLabel class="font-normal mb-1">
|
|
{{ label }}
|
|
</BaseLabel>
|
|
|
|
<p class="text-sm font-bold leading-5 text-heading non-italic">
|
|
{{ value }}
|
|
|
|
<slot />
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</template>
|