diff --git a/src/components/landing/TableLanding.tsx b/src/components/landing/TableLanding.tsx index a0ab189b..be663944 100644 --- a/src/components/landing/TableLanding.tsx +++ b/src/components/landing/TableLanding.tsx @@ -210,31 +210,56 @@ const table = useVueTable({ data, columns, getCoreRowModel: getCoreRowModel() }) }, lit: { lang: 'ts', - code: `import { LitElement, customElement, html } from 'lit' -import { createLitTable, getCoreRowModel, flexRender } from '@tanstack/lit-table' + code: `import { html, LitElement } from 'lit' +import { customElement } from 'lit/decorators.js' +import { + flexRender, + getCoreRowModel, + TableController, +} from '@tanstack/lit-table' const data = [{ id: 1, name: 'Ada' }] const columns = [{ accessorKey: 'name', header: 'Name' }] @customElement('simple-table') export class SimpleTable extends LitElement { - table = createLitTable({ data, columns, getCoreRowModel: getCoreRowModel() }) - - render() { - return html\` - - \${this.table.getHeaderGroups().map((hg) => html\` - \${hg.headers.map((header) => html\`\`)} - \`)} - - - \${this.table.getRowModel().rows.map((row) => html\` - \${row.getVisibleCells().map((cell) => html\`\`)} - \`)} - -
\${flexRender(header.column.columnDef.header, header.getContext())}
\${flexRender(cell.column.columnDef.cell, cell.getContext())}
\` - } -}`, + private tableController = new TableController(this) + + render() { + const table = this.tableController.table({ + columns, + data, + getCoreRowModel: getCoreRowModel(), + }) + return html\` + + + \${table.getHeaderGroups().map((hg) => html\` + + \${hg.headers.map((header) => html\` + + \`)} + + \`)} + + + \${table.getRowModel().rows.map((row) => html\` + + \${row.getVisibleCells().map((cell) => html\` + + \`)} + + \`)} + +
+ \${flexRender(header.column.columnDef.header, header.getContext())} +
+ \${flexRender(cell.column.columnDef.cell, cell.getContext())} +
+ \` + } +} + `, }, qwik: { lang: 'tsx',