npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@bryceandy/vue-tan-table

v0.0.7

Published

Core Vue 3 table components built with TanStack Table

Readme

Vue Tan Table

Downloads Version Tests License

A Vue 3 table component powered by TanStack Table

For Nuxt 3+ documentation click here

Installation

pnpm add @bryceandy/vue-tan-table

Configuration

You can customize the table using a variety of options.

  1. Using configurations on component registration;
import { createApp } from 'vue';
import App from './App.vue';
import { VueTanTable } from '@bryceandy/vue-tan-table';
import '@bryceandy/vue-tan-table/dist/vue-tan-table.css';

createApp(App)
  .use(VueTanTable, {
    primaryColor: '#ff6600',
    pagination: {
      // string of HTML content or a vue component
      prevIcon: '<-',
      nextIcon: '->',
    }
  })
  .mount('#app');

// DataTable will be available without importing
<template>
  <DataTable :data="data" :columns="columns" />
</template>
  1. Using configurations manually at runtime
<script setup>
import { DataTable, configureVueTanTable } from '@bryceandy/vue-tan-table'
import '@bryceandy/vue-tan-table/dist/vue-tan-table.css'

configureVueTanTable({
  primaryColor: '#0099ff',
  pagination: false
})
</script>

Usage

<script setup>
import { DataTable } from '@bryceandy/vue-tan-table'
import '@bryceandy/vue-tan-table/dist/vue-tan-table.css'

const columns = [
  { header: 'Name', accessorKey: 'name' },
  { header: 'Age', accessorKey: 'age' }
]
const data = [
  { name: 'Alice', age: 25 },
  { name: 'Bob', age: 30 }
]
</script>

<template>
  <DataTable :data :columns :remote-data="false" />
</template>

API

VueTanTable Configuration

interface VueTanTableConfig {
  primaryColor?: string
  pagination?: VueTanTablePaginationConfig | false
}

interface VueTanTablePaginationConfig {
  prevIcon?: string | Component
  nextIcon?: string | Component
  ariaLabels?: {
    previous?: string
    next?: string
    page?: (page: number) => string
  }
}

DataTable Props

interface DataTableProps {
  data: TData[]
  columns: ColumnDef<TData, TValue>[]
  pageCount?: number
  pageSize?: number
  paginationState?: PaginationState
  sortingState?: SortingState
  filtersState?: ColumnFiltersState
  rowSelectionState?: RowSelectionState
  getRowId?: (row: TData) => string
  onPaginationChange?: OnChangeFn<PaginationState>
  onSortingChange?: OnChangeFn<SortingState>
  onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>
  onRowSelectionChange?: OnChangeFn<RowSelectionState>
  remoteData?: boolean
}

|Prop | Details | |:---|:---| | data | An array of objects containing the data to be rendered. When remoteData is set to true, only list the items of a particular page coming from your API. | | columns | An array of column definitions using Tanstack Table's API | | pageCount | An integer value used with remoteData to let the component aware how many items are from your API | | pageSize | The number of items to be rendered on your table per page. Default is 10. | | paginationState | When using remoteData you provide this ref in order to take control of pagination and make API calls when state changes. | | sortingState | When using remoteData you provide this ref in order to take control of your sorting and apply API sorting parameters when state changes. | | filtersState | When using remoteData you provide this ref in order to take control of your filtering and apply API filtering parameters when state changes. | | rowSelectionState | Provide this ref when you want to track state changes of row-selection | | getRowId | A function to determine the unique column that may be used for row-selection. It should return the string format of the column from the row object property | | onPaginationChange | Callback used with remoteData to manually update pagination state and side-effects | | onSortingChange | Callback used with remoteData to manually update sorting state and side-effects | | onColumnFiltersChange | Callback used with remoteData to manually update filter state and side-effects | | onRowSelectionChange | Callback to handle changes after row-selection state updates | | remoteData | Boolean value to indicate whether data comes from a remote source or local |

Examples

Visit the examples folder to find simple to complex usages.

All the examples can be visualized on the library documentation.

Contributing

Contributions, issues, and feature requests are welcome! Feel free to check the issues page if you'd like to start there.

How to Contribute

  1. Fork the repository
  2. Clone you fork:
git clone https://github.com/bryceandy/vue-tan-table.git
  1. Create a branch for your feature/fix:
git checkout -b feature/awesome-feature
  1. Make your changes, add unit tests and commit. For the core vue library changes will be made in the packages/core directory:
git commit -m '[Core] Add awesome feature'
  1. Push your branch:
git push origin feature/awesome-feature
  1. Open a pull request.

Guidelines

  • Follow the existing code style and conventions
  • Write clear commit messages
  • Add/update tests if applicable
  • Keep pull requests small and focused