diff --git a/apps/www/.vitepress/theme/styles/vp-doc.css b/apps/www/.vitepress/theme/styles/vp-doc.css
index fe2a272a..874867ff 100644
--- a/apps/www/.vitepress/theme/styles/vp-doc.css
+++ b/apps/www/.vitepress/theme/styles/vp-doc.css
@@ -30,8 +30,9 @@
.vp-doc h2:not(:where(.not-docs *)) {
/* margin: 48px 0 16px; */
margin: 16px 0 16px;
- border-top: 1px solid var(--vp-c-divider);
+ border-bottom: 1px solid var(--vp-c-divider);
padding-top: 24px;
+ padding-bottom: 10px;
letter-spacing: -0.02em;
line-height: 32px;
font-size: 24px;
diff --git a/apps/www/package.json b/apps/www/package.json
index 9b8f66da..bcb520ac 100644
--- a/apps/www/package.json
+++ b/apps/www/package.json
@@ -12,6 +12,7 @@
},
"dependencies": {
"@morev/vue-transitions": "^2.3.6",
+ "@tanstack/vue-table": "^8.9.3",
"@vitejs/plugin-vue-jsx": "^3.0.2",
"@vueuse/core": "^10.2.1",
"class-variance-authority": "^0.6.1",
diff --git a/apps/www/src/content/docs/components/data-table.md b/apps/www/src/content/docs/components/data-table.md
new file mode 100644
index 00000000..9e50d6fa
--- /dev/null
+++ b/apps/www/src/content/docs/components/data-table.md
@@ -0,0 +1,23 @@
+---
+title: Data Table
+description: Powerful table and datagrids built using TanStack Table.
+---
+
+
+
+
+## Introduction
+
+Every data table or datagrid I've created has been unique. They all behave differently, have specific sorting and filtering requirements, and work with different data sources.
+
+It doesn't make sense to combine all of these variations into a single component. If we do that, we'll lose the flexibility that [headless UI](https://tanstack.com/table/v8/docs/guide/introduction#what-is-headless-ui) provides.
+
+So instead of a data-table component, I thought it would be more helpful to provide a guide on how to build your own.
+
+We'll start with the basic `
` component and build a complex data table from scratch.
+
+
+
+**Tip:** If you find yourself using the same table in multiple places in your app, you can always extract it into a reusable component.
+
+
\ No newline at end of file
diff --git a/apps/www/src/lib/registry/default/examples/DataTableDemo.vue b/apps/www/src/lib/registry/default/examples/DataTableDemo.vue
new file mode 100644
index 00000000..edb18c80
--- /dev/null
+++ b/apps/www/src/lib/registry/default/examples/DataTableDemo.vue
@@ -0,0 +1,253 @@
+
+
+
+