@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.
Files changed (50) hide show
  1. package/dist/FlexRender.d.ts +1 -2
  2. package/dist/FlexRender.js +1 -2
  3. package/dist/createTableHook.d.ts +1 -2
  4. package/dist/createTableHook.js +1 -2
  5. package/dist/merge-proxy.js +1 -2
  6. package/dist/reactivity.js +1 -2
  7. package/dist/useTable.d.ts +1 -2
  8. package/dist/useTable.js +1 -2
  9. package/package.json +7 -22
  10. package/skills/create-table-hook/SKILL.md +2 -2
  11. package/skills/getting-started/SKILL.md +2 -2
  12. package/skills/migrate-v8-to-v9/SKILL.md +2 -2
  13. package/skills/table-state/SKILL.md +2 -2
  14. package/skills/with-tanstack-query/SKILL.md +2 -2
  15. package/skills/with-tanstack-virtual/SKILL.md +2 -2
  16. package/dist/FlexRender.cjs +0 -79
  17. package/dist/FlexRender.cjs.map +0 -1
  18. package/dist/FlexRender.d.cts +0 -63
  19. package/dist/FlexRender.js.map +0 -1
  20. package/dist/createTableHook.cjs +0 -189
  21. package/dist/createTableHook.cjs.map +0 -1
  22. package/dist/createTableHook.d.cts +0 -162
  23. package/dist/createTableHook.js.map +0 -1
  24. package/dist/experimental-worker-plugin.cjs +0 -9
  25. package/dist/experimental-worker-plugin.d.cts +0 -1
  26. package/dist/flex-render.cjs +0 -5
  27. package/dist/flex-render.d.cts +0 -2
  28. package/dist/index.cjs +0 -17
  29. package/dist/index.d.cts +0 -5
  30. package/dist/merge-proxy.cjs +0 -77
  31. package/dist/merge-proxy.cjs.map +0 -1
  32. package/dist/merge-proxy.js.map +0 -1
  33. package/dist/reactivity.cjs +0 -60
  34. package/dist/reactivity.cjs.map +0 -1
  35. package/dist/reactivity.js.map +0 -1
  36. package/dist/static-functions.cjs +0 -9
  37. package/dist/static-functions.d.cts +0 -1
  38. package/dist/useTable.cjs +0 -72
  39. package/dist/useTable.cjs.map +0 -1
  40. package/dist/useTable.d.cts +0 -36
  41. package/dist/useTable.js.map +0 -1
  42. package/src/FlexRender.ts +0 -138
  43. package/src/createTableHook.ts +0 -625
  44. package/src/experimental-worker-plugin.ts +0 -1
  45. package/src/flex-render.ts +0 -1
  46. package/src/index.ts +0 -4
  47. package/src/merge-proxy.ts +0 -132
  48. package/src/reactivity.ts +0 -88
  49. package/src/static-functions.ts +0 -1
  50. 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
- })