@veristone/nuxt-v-app 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/components/V/A/Crud/Delete.vue +1 -0
- package/app/components/V/A/CrudTable/index.vue +486 -0
- package/app/components/V/A/Table/ActionColumn.vue +133 -0
- package/app/components/V/A/Table/Actions.vue +79 -0
- package/app/components/V/A/Table/CellRenderer.vue +198 -0
- package/app/components/V/A/Table/ColumnToggle.vue +131 -0
- package/app/components/V/A/Table/EditableCell.vue +176 -0
- package/app/components/V/A/Table/Export.vue +154 -0
- package/app/components/V/A/Table/FilterBar.vue +140 -0
- package/app/components/V/A/Table/FilterChips.vue +107 -0
- package/app/components/V/A/Table/README.md +380 -0
- package/app/components/V/A/Table/Toolbar.vue +163 -0
- package/app/components/V/A/Table/index.vue +483 -0
- package/app/composables/useDataTable.js +169 -0
- package/app/composables/useXATableColumns.ts +279 -386
- package/app/pages/playground/tables.vue +182 -553
- package/app/types/table.ts +52 -0
- package/package.json +4 -2
- package/app/components/V/A/Table.vue +0 -674
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type augmentation for TanStack Table ColumnMeta
|
|
3
|
+
* Adds preset-based rendering support for VATable components
|
|
4
|
+
*/
|
|
5
|
+
import type { RowData } from '@tanstack/vue-table'
|
|
6
|
+
|
|
7
|
+
declare module '@tanstack/vue-table' {
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
9
|
+
interface ColumnMeta<TData extends RowData, TValue> {
|
|
10
|
+
/** Cell rendering preset */
|
|
11
|
+
preset?: 'text' | 'email' | 'link' | 'badge' | 'boolean' | 'avatar' | 'date' | 'currency' | 'number' | 'actions' | 'editable'
|
|
12
|
+
/** Date format for date preset */
|
|
13
|
+
format?: 'date' | 'time' | 'datetime' | 'relative'
|
|
14
|
+
/** Currency code for currency preset */
|
|
15
|
+
currency?: string
|
|
16
|
+
/** Locale for number/currency formatting */
|
|
17
|
+
locale?: string
|
|
18
|
+
/** Decimal places for number preset */
|
|
19
|
+
decimals?: number
|
|
20
|
+
/** Color mapping for badge preset */
|
|
21
|
+
colorMap?: Record<string, string>
|
|
22
|
+
/** Avatar size */
|
|
23
|
+
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'
|
|
24
|
+
/** Show name alongside avatar */
|
|
25
|
+
showName?: boolean
|
|
26
|
+
/** Show view action */
|
|
27
|
+
showView?: boolean
|
|
28
|
+
/** Show edit action */
|
|
29
|
+
showEdit?: boolean
|
|
30
|
+
/** Show delete action */
|
|
31
|
+
showDelete?: boolean
|
|
32
|
+
/** Max visible actions before overflow */
|
|
33
|
+
maxVisible?: number
|
|
34
|
+
/** Input type for editable preset */
|
|
35
|
+
inputType?: 'text' | 'number' | 'email' | 'textarea' | 'select' | 'boolean'
|
|
36
|
+
/** Options for select input */
|
|
37
|
+
selectOptions?: Array<string | { label: string; value: unknown }>
|
|
38
|
+
/** Custom formatter function */
|
|
39
|
+
formatter?: (value: unknown) => string
|
|
40
|
+
/** Validation rules for editable preset */
|
|
41
|
+
validation?: {
|
|
42
|
+
required?: boolean
|
|
43
|
+
min?: number
|
|
44
|
+
max?: number
|
|
45
|
+
pattern?: RegExp
|
|
46
|
+
}
|
|
47
|
+
/** Header CSS class */
|
|
48
|
+
headerClass?: string
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export {}
|
package/package.json
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@veristone/nuxt-v-app",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
|
+
"description": "Veristone Nuxt App Layer - Shared components, composables, and layouts",
|
|
5
|
+
"type": "module",
|
|
4
6
|
"private": false,
|
|
5
7
|
"description": "Veristone Nuxt App Layer - Shared components, composables, and layouts",
|
|
6
8
|
"keywords": [
|
|
@@ -68,4 +70,4 @@
|
|
|
68
70
|
"@nuxt/ui": "^4.0.0",
|
|
69
71
|
"nuxt": "^4.0.0"
|
|
70
72
|
}
|
|
71
|
-
}
|
|
73
|
+
}
|