For full documentation, visit https://arkemishub.github.io/table/
How to install @arkejs/table?
Install @arkejs/table
npm i @arkejs/table@arkejs/table can be used in two different ways, based on your needs.
The basic implementation allows you to display data without having any sort of control over pagination, filtering and more.
<Table data={data} columns={columns} />Advanced use cases which includes filtering, pagination and more can be achieved by using useTable hook.
The useTable hook provides several functionalities for managing the table in a headless way.
Let's dive into this example:
function MyTable() {
const {tableProps, goToPage, currentPage, pageCount} = useTable({
pagination: {
totalCount: 100,
pageSize
},
});
return <Table {...tableProps} data={data}/>
}As you can see by using useTable we don't need to define props for the Table component since they are returned in tableProps.
In addition, the hook provides us some ways to manage the table externally.
Let's now implement a simple pagination, fully controlled by outside.
function MyTable() {
const {tableProps, goToPage, currentPage, pageCount} = useTable({
pagination: {
totalCount: 100,
pageSize
},
});
return (
<>
<Table {...tableProps} data={data}/>
<button
disabled={currentPage == 0}
onClick={() => {
goToPage(currentPage - 1);
}}
>
{"<"}
</button>
<button
disabled={currentPage == pageCount - 1}
onClick={() => {
goToPage(currentPage + 1);
}}
>
{">"}
</button>
</>
);
}By using useTable exported function we ended up with a Table which pagination is managed in the way that we like.
The @arkejs/ui use changeset to versioning changes.
After your commits run npx changeset, it will ask if you want to use a patch/minor/major a summary for your changes.
Completed the process will be created a .md file under .changeset folder, commit it to create your PR.
