@iclips/ui 1.0.12 → 1.0.14
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.
- package/dist/components/ui/advanced-data-table.d.ts +87 -0
- package/dist/components/ui/advanced-data-table.d.ts.map +1 -0
- package/dist/components/ui/index.d.ts +5 -0
- package/dist/components/ui/index.d.ts.map +1 -1
- package/dist/components/ui/kpi-card.d.ts +45 -0
- package/dist/components/ui/kpi-card.d.ts.map +1 -0
- package/dist/index.cjs +4 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1924 -2025
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/components/ui/data-table-example.d.ts +0 -5
- package/dist/components/ui/data-table-example.d.ts.map +0 -1
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { ColumnDef } from './table-types';
|
|
2
|
+
import { FilterField } from './filter-builder';
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
export interface AdvancedDataTableProps<T extends Record<string, any>> {
|
|
5
|
+
/**
|
|
6
|
+
* Dados a serem exibidos na tabela
|
|
7
|
+
*/
|
|
8
|
+
data: T[];
|
|
9
|
+
/**
|
|
10
|
+
* Definições de colunas (header, render, sortable, etc.)
|
|
11
|
+
*/
|
|
12
|
+
columns: ColumnDef<T>[];
|
|
13
|
+
/**
|
|
14
|
+
* Título opcional para exibir acima da tabela
|
|
15
|
+
*/
|
|
16
|
+
title?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Descrição opcional abaixo do título
|
|
19
|
+
*/
|
|
20
|
+
description?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Placeholder para o campo de busca
|
|
23
|
+
* @default "Buscar..."
|
|
24
|
+
*/
|
|
25
|
+
searchPlaceholder?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Colunas que serão pesquisadas pela busca global
|
|
28
|
+
* @default Auto-detecta primeira coluna com key 'nome', 'name', 'title' ou primeira coluna
|
|
29
|
+
*/
|
|
30
|
+
searchableColumns?: (keyof T)[];
|
|
31
|
+
/**
|
|
32
|
+
* Campos disponíveis para filtros avançados
|
|
33
|
+
*/
|
|
34
|
+
filterFields?: FilterField[];
|
|
35
|
+
/**
|
|
36
|
+
* Habilitar busca global
|
|
37
|
+
* @default true
|
|
38
|
+
*/
|
|
39
|
+
enableSearch?: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Habilitar filtros avançados
|
|
42
|
+
* @default true (se filterFields fornecido)
|
|
43
|
+
*/
|
|
44
|
+
enableFilters?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Opções de tamanho de página
|
|
47
|
+
* @default [5, 10, 20, 50]
|
|
48
|
+
*/
|
|
49
|
+
pageSizeOptions?: number[];
|
|
50
|
+
/**
|
|
51
|
+
* Tamanho inicial da página
|
|
52
|
+
* @default 10
|
|
53
|
+
*/
|
|
54
|
+
initialPageSize?: number;
|
|
55
|
+
/**
|
|
56
|
+
* Exibir em Card wrapper
|
|
57
|
+
* @default true
|
|
58
|
+
*/
|
|
59
|
+
showCard?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Padding do Card
|
|
62
|
+
* @default "p-6"
|
|
63
|
+
*/
|
|
64
|
+
cardPadding?: string;
|
|
65
|
+
/**
|
|
66
|
+
* Ações customizadas na toolbar (botões, dropdowns, etc.)
|
|
67
|
+
* Passe qualquer React.ReactNode (botões, dropdowns, menus, etc.)
|
|
68
|
+
*/
|
|
69
|
+
toolbarActions?: React.ReactNode;
|
|
70
|
+
/**
|
|
71
|
+
* Estado de loading (exibe skeleton/spinner)
|
|
72
|
+
*/
|
|
73
|
+
isLoading?: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Mensagem quando não há dados
|
|
76
|
+
* @default "Nenhum resultado encontrado."
|
|
77
|
+
*/
|
|
78
|
+
emptyMessage?: string;
|
|
79
|
+
/**
|
|
80
|
+
* Classes CSS adicionais
|
|
81
|
+
*/
|
|
82
|
+
className?: string;
|
|
83
|
+
}
|
|
84
|
+
export declare const AdvancedDataTable: <T extends Record<string, any>>(props: AdvancedDataTableProps<T> & {
|
|
85
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
86
|
+
}) => React.ReactElement;
|
|
87
|
+
//# sourceMappingURL=advanced-data-table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"advanced-data-table.d.ts","sourceRoot":"","sources":["../../../src/components/ui/advanced-data-table.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACnE;;OAEG;IACH,IAAI,EAAE,CAAC,EAAE,CAAC;IAEV;;OAEG;IACH,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAExB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;IAEhC;;OAEG;IACH,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAE7B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEjC;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkLD,eAAO,MAAM,iBAAiB,EAA+C,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzG,KAAK,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;CAAE,KACnE,KAAK,CAAC,YAAY,CAAC"}
|
|
@@ -56,7 +56,12 @@ export * from './filter-builder';
|
|
|
56
56
|
export * from './filter-chip';
|
|
57
57
|
export * from './gantt-chart';
|
|
58
58
|
export * from './kanban-card';
|
|
59
|
+
export * from './kpi-card';
|
|
59
60
|
export * from './saved-filters';
|
|
61
|
+
export * from './data-table';
|
|
62
|
+
export * from './advanced-data-table';
|
|
63
|
+
export * from './table-types';
|
|
64
|
+
export * from './table-pagination';
|
|
60
65
|
export * from './sidebar';
|
|
61
66
|
export * from './task-edit-dialog';
|
|
62
67
|
export * from './time-picker';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAG1B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ui/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAG1B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AAGjC,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export interface KPICardProps {
|
|
3
|
+
/**
|
|
4
|
+
* Título do KPI (ex: "Receita Mensal")
|
|
5
|
+
*/
|
|
6
|
+
title: string;
|
|
7
|
+
/**
|
|
8
|
+
* Valor principal em destaque (ex: "R$ 127.361,23")
|
|
9
|
+
*/
|
|
10
|
+
primaryContent: string;
|
|
11
|
+
/**
|
|
12
|
+
* Texto secundário descritivo (ex: "vs. mês anterior")
|
|
13
|
+
*/
|
|
14
|
+
secondaryContent?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Valor de tendência para exibir badge com seta
|
|
17
|
+
* Positivo = verde + seta para cima
|
|
18
|
+
* Negativo = vermelho + seta para baixo
|
|
19
|
+
*/
|
|
20
|
+
trendValue?: number;
|
|
21
|
+
/**
|
|
22
|
+
* Label customizado para tendência (default: "+X%" ou "-X%")
|
|
23
|
+
*/
|
|
24
|
+
trendLabel?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Ícone a ser exibido no header (componente Lucide React)
|
|
27
|
+
*/
|
|
28
|
+
icon?: React.ComponentType<{
|
|
29
|
+
className?: string;
|
|
30
|
+
}>;
|
|
31
|
+
/**
|
|
32
|
+
* Estado de loading - exibe skeleton
|
|
33
|
+
*/
|
|
34
|
+
isLoading?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Handler de click - torna o card clicável com hover
|
|
37
|
+
*/
|
|
38
|
+
onClick?: () => void;
|
|
39
|
+
/**
|
|
40
|
+
* Classes CSS adicionais
|
|
41
|
+
*/
|
|
42
|
+
className?: string;
|
|
43
|
+
}
|
|
44
|
+
export declare const KPICard: React.ForwardRefExoticComponent<KPICardProps & React.RefAttributes<HTMLDivElement>>;
|
|
45
|
+
//# sourceMappingURL=kpi-card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kpi-card.d.ts","sourceRoot":"","sources":["../../../src/components/ui/kpi-card.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEnD;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,OAAO,qFA4EnB,CAAC"}
|