@vincisys/eyeson 0.7.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,4 @@
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
2
  import { type TableDividers } from '../Table/Table';
3
3
  /** Estado de paginação server-side controlado pelo consumidor do `DataTable`. */
4
4
  export interface DataTablePagination {
@@ -30,6 +30,20 @@ export interface DataTableProps<TData, TValue> {
30
30
  onPageChange?: (page: number) => void;
31
31
  /** Campo de busca opcional, renderizado acima da tabela. */
32
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>;
33
47
  /** Título do empty state exibido quando `data` está vazio. */
34
48
  emptyStateTitle?: string;
35
49
  /** Descrição do empty state exibido quando `data` está vazio. */
@@ -53,6 +67,11 @@ export interface DataTableProps<TData, TValue> {
53
67
  * paginação server-side, loading e empty state são resolvidos
54
68
  * internamente a partir de props de comportamento.
55
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
+ *
56
75
  * @example
57
76
  * ```tsx
58
77
  * <DataTable
@@ -62,10 +81,12 @@ export interface DataTableProps<TData, TValue> {
62
81
  * search={{ value: search, onChange: setSearch, placeholder: "Buscar usuário..." }}
63
82
  * pagination={{ page, limit: pageSize, total: count }}
64
83
  * onPageChange={setPage}
84
+ * sorting={sorting}
85
+ * onSortingChange={setSorting}
65
86
  * emptyStateTitle="Nenhum usuário encontrado"
66
87
  * />
67
88
  * ```
68
89
  */
69
- export declare function DataTable<TData, TValue>({ columns, data, isLoading, error, pagination, onPageChange, search, emptyStateTitle, emptyStateDescription, meta, 'aria-label': ariaLabel, className, dividers, }: 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;
70
91
  export default DataTable;
71
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;AAM/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,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;AAuCD;;;;;;;;;;;;;;;;;;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,EACT,QAAQ,GACR,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"}