@tanstack/vue-table 9.0.0-beta.51 → 9.0.0-beta.53
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/dist/FlexRender.d.ts +1 -2
- package/dist/FlexRender.js +1 -2
- package/dist/createTableHook.d.ts +1 -2
- package/dist/createTableHook.js +1 -2
- package/dist/merge-proxy.js +1 -2
- package/dist/reactivity.js +1 -2
- package/dist/useTable.d.ts +1 -2
- package/dist/useTable.js +1 -2
- package/package.json +7 -22
- package/skills/create-table-hook/SKILL.md +2 -2
- package/skills/getting-started/SKILL.md +2 -2
- package/skills/migrate-v8-to-v9/SKILL.md +2 -2
- package/skills/table-state/SKILL.md +2 -2
- package/skills/with-tanstack-query/SKILL.md +2 -2
- package/skills/with-tanstack-virtual/SKILL.md +2 -2
- package/dist/FlexRender.cjs +0 -79
- package/dist/FlexRender.cjs.map +0 -1
- package/dist/FlexRender.d.cts +0 -63
- package/dist/FlexRender.js.map +0 -1
- package/dist/createTableHook.cjs +0 -189
- package/dist/createTableHook.cjs.map +0 -1
- package/dist/createTableHook.d.cts +0 -162
- package/dist/createTableHook.js.map +0 -1
- package/dist/experimental-worker-plugin.cjs +0 -9
- package/dist/experimental-worker-plugin.d.cts +0 -1
- package/dist/flex-render.cjs +0 -5
- package/dist/flex-render.d.cts +0 -2
- package/dist/index.cjs +0 -17
- package/dist/index.d.cts +0 -5
- package/dist/merge-proxy.cjs +0 -77
- package/dist/merge-proxy.cjs.map +0 -1
- package/dist/merge-proxy.js.map +0 -1
- package/dist/reactivity.cjs +0 -60
- package/dist/reactivity.cjs.map +0 -1
- package/dist/reactivity.js.map +0 -1
- package/dist/static-functions.cjs +0 -9
- package/dist/static-functions.d.cts +0 -1
- package/dist/useTable.cjs +0 -72
- package/dist/useTable.cjs.map +0 -1
- package/dist/useTable.d.cts +0 -36
- package/dist/useTable.js.map +0 -1
- package/src/FlexRender.ts +0 -138
- package/src/createTableHook.ts +0 -625
- package/src/experimental-worker-plugin.ts +0 -1
- package/src/flex-render.ts +0 -1
- package/src/index.ts +0 -4
- package/src/merge-proxy.ts +0 -132
- package/src/reactivity.ts +0 -88
- package/src/static-functions.ts +0 -1
- package/src/useTable.ts +0 -173
package/src/FlexRender.ts
DELETED
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
import { defineComponent, h, isVNode } from 'vue'
|
|
2
|
-
import type { PropType } from 'vue'
|
|
3
|
-
|
|
4
|
-
export interface FlexRenderCell {
|
|
5
|
-
column: {
|
|
6
|
-
columnDef: {
|
|
7
|
-
aggregatedCell?: any
|
|
8
|
-
cell?: any
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
getContext: () => any
|
|
12
|
-
getIsAggregated?: () => boolean
|
|
13
|
-
getIsPlaceholder?: () => boolean
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export interface FlexRenderHeader {
|
|
17
|
-
column: {
|
|
18
|
-
columnDef: {
|
|
19
|
-
footer?: any
|
|
20
|
-
header?: any
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
getContext: () => any
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* If rendering headers, cells, or footers with custom markup, use flexRender instead of `cell.getValue()` or `cell.renderValue()`.
|
|
28
|
-
* @example flexRender(cell.column.columnDef.cell, cell.getContext())
|
|
29
|
-
*/
|
|
30
|
-
export function flexRender(render: any, props: any): any {
|
|
31
|
-
if (typeof render === 'function') {
|
|
32
|
-
const rendered = render(props)
|
|
33
|
-
|
|
34
|
-
if (isVNode(rendered)) {
|
|
35
|
-
return rendered
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
if (typeof rendered === 'function' || typeof rendered === 'object') {
|
|
39
|
-
return h(rendered, props)
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return rendered
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
if (typeof render === 'object') {
|
|
46
|
-
return h(render, props)
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return render
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Simplified component for rendering headers, cells, or footers.
|
|
54
|
-
*
|
|
55
|
-
* Supports both the new shorthand pattern and the legacy `:render`/`:props` pattern:
|
|
56
|
-
* @example
|
|
57
|
-
* ```vue
|
|
58
|
-
* <!-- New shorthand pattern -->
|
|
59
|
-
* <FlexRender :cell="cell" />
|
|
60
|
-
* <FlexRender :header="header" />
|
|
61
|
-
* <FlexRender :footer="header" />
|
|
62
|
-
*
|
|
63
|
-
* <!-- Legacy pattern (still supported) -->
|
|
64
|
-
* <FlexRender :render="cell.column.columnDef.cell" :props="cell.getContext()" />
|
|
65
|
-
* ```
|
|
66
|
-
*/
|
|
67
|
-
export const FlexRender = defineComponent({
|
|
68
|
-
props: {
|
|
69
|
-
render: {
|
|
70
|
-
type: [Function, Object, String] as PropType<any>,
|
|
71
|
-
default: undefined,
|
|
72
|
-
},
|
|
73
|
-
props: {
|
|
74
|
-
type: Object as PropType<any>,
|
|
75
|
-
default: undefined,
|
|
76
|
-
},
|
|
77
|
-
cell: {
|
|
78
|
-
type: Object as PropType<FlexRenderCell>,
|
|
79
|
-
default: undefined,
|
|
80
|
-
},
|
|
81
|
-
header: {
|
|
82
|
-
type: Object as PropType<FlexRenderHeader>,
|
|
83
|
-
default: undefined,
|
|
84
|
-
},
|
|
85
|
-
footer: {
|
|
86
|
-
type: Object as PropType<FlexRenderHeader>,
|
|
87
|
-
default: undefined,
|
|
88
|
-
},
|
|
89
|
-
},
|
|
90
|
-
setup: (props: {
|
|
91
|
-
render?: any
|
|
92
|
-
props?: any
|
|
93
|
-
cell?: FlexRenderCell
|
|
94
|
-
header?: FlexRenderHeader
|
|
95
|
-
footer?: FlexRenderHeader
|
|
96
|
-
}) => {
|
|
97
|
-
return () => {
|
|
98
|
-
// New shorthand pattern: extract render and props from cell/header/footer
|
|
99
|
-
if (props.cell) {
|
|
100
|
-
const cell = props.cell
|
|
101
|
-
const def = cell.column.columnDef
|
|
102
|
-
// When the column-grouping feature is registered, a cell can be in
|
|
103
|
-
// one of three special modes that should not render `columnDef.cell`
|
|
104
|
-
// directly:
|
|
105
|
-
// - aggregated: render `columnDef.aggregatedCell` (falling back to
|
|
106
|
-
// `columnDef.cell` if the column did not define one)
|
|
107
|
-
// - placeholder: a duplicate value within a group — render nothing
|
|
108
|
-
// - grouped: fall through to `columnDef.cell`; consumers that want
|
|
109
|
-
// a custom group header typically branch on `cell.getIsGrouped()`
|
|
110
|
-
// themselves first
|
|
111
|
-
if (cell.getIsAggregated?.()) {
|
|
112
|
-
return flexRender(def.aggregatedCell ?? def.cell, cell.getContext())
|
|
113
|
-
}
|
|
114
|
-
if (cell.getIsPlaceholder?.()) {
|
|
115
|
-
return null
|
|
116
|
-
}
|
|
117
|
-
return flexRender(def.cell, cell.getContext())
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
if (props.header) {
|
|
121
|
-
return flexRender(
|
|
122
|
-
props.header.column.columnDef.header,
|
|
123
|
-
props.header.getContext(),
|
|
124
|
-
)
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
if (props.footer) {
|
|
128
|
-
return flexRender(
|
|
129
|
-
props.footer.column.columnDef.footer,
|
|
130
|
-
props.footer.getContext(),
|
|
131
|
-
)
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
// Legacy pattern: use render and props directly
|
|
135
|
-
return flexRender(props.render, props.props)
|
|
136
|
-
}
|
|
137
|
-
},
|
|
138
|
-
})
|