@vincisys/eyeson 0.6.0 → 0.8.0

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.
@@ -1,4 +1,5 @@
1
- import { type ColumnDef, type TableMeta } from '@tanstack/react-table';
1
+ import { type ColumnDef, type OnChangeFn, type SortingState, type TableMeta } from '@tanstack/react-table';
2
+ import { type TableDividers } from '../Table/Table';
2
3
  /** Estado de paginação server-side controlado pelo consumidor do `DataTable`. */
3
4
  export interface DataTablePagination {
4
5
  /** Página atual (1-indexed). */
@@ -29,6 +30,20 @@ export interface DataTableProps<TData, TValue> {
29
30
  onPageChange?: (page: number) => void;
30
31
  /** Campo de busca opcional, renderizado acima da tabela. */
31
32
  search?: DataTableSearch;
33
+ /**
34
+ * Estado de ordenação manual (`@tanstack/react-table` `SortingState`),
35
+ * controlado pelo consumidor. Omitido junto com `onSortingChange` =
36
+ * colunas não ficam clicáveis para ordenar. Colunas individuais podem
37
+ * desabilitar ordenação via `enableSorting: false` no `columnDef`.
38
+ */
39
+ sorting?: SortingState;
40
+ /**
41
+ * Chamado com o novo `SortingState` quando o usuário clica em um cabeçalho
42
+ * ordenável. Produzir os dados já ordenados (via busca remota ou
43
+ * ordenação local) é responsabilidade do consumidor — o `DataTable` nunca
44
+ * reordena `data` sozinho (`manualSorting`).
45
+ */
46
+ onSortingChange?: OnChangeFn<SortingState>;
32
47
  /** Título do empty state exibido quando `data` está vazio. */
33
48
  emptyStateTitle?: string;
34
49
  /** Descrição do empty state exibido quando `data` está vazio. */
@@ -39,6 +54,12 @@ export interface DataTableProps<TData, TValue> {
39
54
  'aria-label'?: string;
40
55
  /** Classe extra aplicada ao container raiz. */
41
56
  className?: string;
57
+ /**
58
+ * Controla as linhas divisórias entre linhas e/ou colunas, repassado
59
+ * para o `Table` interno.
60
+ * @default "row"
61
+ */
62
+ dividers?: TableDividers;
42
63
  }
43
64
  /**
44
65
  * Tabela genérica construída sobre o `Table` (compound component) e
@@ -46,6 +67,11 @@ export interface DataTableProps<TData, TValue> {
46
67
  * paginação server-side, loading e empty state são resolvidos
47
68
  * internamente a partir de props de comportamento.
48
69
  *
70
+ * Ordenação por coluna é opcional e sempre manual: passe `sorting` +
71
+ * `onSortingChange` para tornar os cabeçalhos clicáveis, e use o novo
72
+ * `SortingState` recebido para produzir os dados já ordenados — via busca
73
+ * remota ou ordenação local — o `DataTable` nunca reordena `data` sozinho.
74
+ *
49
75
  * @example
50
76
  * ```tsx
51
77
  * <DataTable
@@ -55,10 +81,12 @@ export interface DataTableProps<TData, TValue> {
55
81
  * search={{ value: search, onChange: setSearch, placeholder: "Buscar usuário..." }}
56
82
  * pagination={{ page, limit: pageSize, total: count }}
57
83
  * onPageChange={setPage}
84
+ * sorting={sorting}
85
+ * onSortingChange={setSorting}
58
86
  * emptyStateTitle="Nenhum usuário encontrado"
59
87
  * />
60
88
  * ```
61
89
  */
62
- export declare function DataTable<TData, TValue>({ columns, data, isLoading, error, pagination, onPageChange, search, emptyStateTitle, emptyStateDescription, meta, 'aria-label': ariaLabel, className, }: DataTableProps<TData, TValue>): import("react").JSX.Element;
90
+ export declare function DataTable<TData, TValue>({ columns, data, isLoading, error, pagination, onPageChange, search, sorting, onSortingChange, emptyStateTitle, emptyStateDescription, meta, 'aria-label': ariaLabel, className, dividers, }: DataTableProps<TData, TValue>): import("react").JSX.Element;
63
91
  export default DataTable;
64
92
  //# sourceMappingURL=DataTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/DataTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,SAAS,EACd,KAAK,SAAS,EAId,MAAM,uBAAuB,CAAC;AAQ/B,iFAAiF;AACjF,MAAM,WAAW,mBAAmB;IACnC,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;CACd;AAED,uEAAuE;AACvE,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc,CAAC,KAAK,EAAE,MAAM;IAC5C,uDAAuD;IACvD,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;IACpC,mCAAmC;IACnC,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uEAAuE;IACvE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mEAAmE;IACnE,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,mEAAmE;IACnE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,4DAA4D;IAC5D,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iEAAiE;IACjE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,8EAA8E;IAC9E,IAAI,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IACxB,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAqCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EACxC,OAAO,EACP,IAAI,EACJ,SAAiB,EACjB,KAAK,EACL,UAAU,EACV,YAAY,EACZ,MAAM,EACN,eAA+C,EAC/C,qBAAqB,EACrB,IAAI,EACJ,YAAY,EAAE,SAAS,EACvB,SAAS,GACT,EAAE,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,+BA2I/B;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/DataTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,SAAS,EAId,MAAM,uBAAuB,CAAC;AAc/B,OAAO,EAAS,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE3D,iFAAiF;AACjF,MAAM,WAAW,mBAAmB;IACnC,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;CACd;AAED,uEAAuE;AACvE,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc,CAAC,KAAK,EAAE,MAAM;IAC5C,uDAAuD;IACvD,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;IACpC,mCAAmC;IACnC,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uEAAuE;IACvE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mEAAmE;IACnE,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,mEAAmE;IACnE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,4DAA4D;IAC5D,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IAC3C,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iEAAiE;IACjE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,8EAA8E;IAC9E,IAAI,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IACxB,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;CACzB;AA2DD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,EACxC,OAAO,EACP,IAAI,EACJ,SAAiB,EACjB,KAAK,EACL,UAAU,EACV,YAAY,EACZ,MAAM,EACN,OAAO,EACP,eAAe,EACf,eAA+C,EAC/C,qBAAqB,EACrB,IAAI,EACJ,YAAY,EAAE,SAAS,EACvB,SAAS,EACT,QAAQ,GACR,EAAE,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,+BA8K/B;AAED,eAAe,SAAS,CAAC"}