@metropolle/design-system 1.2025.1-0.1.1548 → 1.2025.1-0.2.29
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/css/components.css +194 -0
- package/dist/react/components/react/DataTable/DataTable.d.ts +4 -0
- package/dist/react/components/react/DataTable/DataTable.d.ts.map +1 -0
- package/dist/react/components/react/DataTable/TableHeader.d.ts +4 -0
- package/dist/react/components/react/DataTable/TableHeader.d.ts.map +1 -0
- package/dist/react/components/react/DataTable/TableRow.d.ts +4 -0
- package/dist/react/components/react/DataTable/TableRow.d.ts.map +1 -0
- package/dist/react/components/react/DataTable/examples.d.ts +28 -0
- package/dist/react/components/react/DataTable/examples.d.ts.map +1 -0
- package/dist/react/components/react/DataTable/index.d.ts +7 -0
- package/dist/react/components/react/DataTable/index.d.ts.map +1 -0
- package/dist/react/components/react/DataTable/migration-example.d.ts +46 -0
- package/dist/react/components/react/DataTable/migration-example.d.ts.map +1 -0
- package/dist/react/components/react/DataTable/renderers.d.ts +24 -0
- package/dist/react/components/react/DataTable/renderers.d.ts.map +1 -0
- package/dist/react/components/react/DataTable/types.d.ts +57 -0
- package/dist/react/components/react/DataTable/types.d.ts.map +1 -0
- package/dist/react/components/react/index.d.ts +2 -0
- package/dist/react/components/react/index.d.ts.map +1 -1
- package/dist/react/index.d.ts +2 -0
- package/dist/react/index.esm.js +605 -2
- package/dist/react/index.esm.js.map +1 -1
- package/dist/react/index.js +615 -0
- package/dist/react/index.js.map +1 -1
- package/package.json +1 -1
package/dist/css/components.css
CHANGED
|
@@ -1317,3 +1317,197 @@ html[data-theme="light"] .mds-navbar-user-badge {
|
|
|
1317
1317
|
@media (prefers-color-scheme: dark) {
|
|
1318
1318
|
/* Enhanced styles for dark mode when implemented */
|
|
1319
1319
|
}
|
|
1320
|
+
|
|
1321
|
+
/* ========================================
|
|
1322
|
+
DataTable Component Styles
|
|
1323
|
+
======================================== */
|
|
1324
|
+
|
|
1325
|
+
/* DataTable Base Styles */
|
|
1326
|
+
.data-table {
|
|
1327
|
+
position: relative;
|
|
1328
|
+
border-radius: 24px;
|
|
1329
|
+
backdrop-filter: blur(24px);
|
|
1330
|
+
background-color: rgba(255, 255, 255, 0.1);
|
|
1331
|
+
border: 1px solid rgba(255, 255, 255, 0.3);
|
|
1332
|
+
box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
|
|
1333
|
+
overflow: hidden;
|
|
1334
|
+
font-family: var(--mds-typography-fontFamily-brand);
|
|
1335
|
+
}
|
|
1336
|
+
|
|
1337
|
+
/* Loading Animation */
|
|
1338
|
+
.data-table-spinner {
|
|
1339
|
+
width: 32px;
|
|
1340
|
+
height: 32px;
|
|
1341
|
+
border: 2px solid transparent;
|
|
1342
|
+
border-top: 2px solid white;
|
|
1343
|
+
border-radius: 50%;
|
|
1344
|
+
animation: mds-spin 1s linear infinite;
|
|
1345
|
+
}
|
|
1346
|
+
|
|
1347
|
+
/* Responsive Breakpoints */
|
|
1348
|
+
@media (max-width: 768px) {
|
|
1349
|
+
.data-table[role="table"] {
|
|
1350
|
+
display: block !important;
|
|
1351
|
+
}
|
|
1352
|
+
|
|
1353
|
+
.data-table .table-header {
|
|
1354
|
+
display: none !important;
|
|
1355
|
+
}
|
|
1356
|
+
|
|
1357
|
+
.data-table .table-body {
|
|
1358
|
+
display: block !important;
|
|
1359
|
+
}
|
|
1360
|
+
|
|
1361
|
+
.data-table .table-row {
|
|
1362
|
+
display: block !important;
|
|
1363
|
+
border: 1px solid var(--mds-color-border-medium) !important;
|
|
1364
|
+
border-radius: 12px !important;
|
|
1365
|
+
margin-bottom: 16px !important;
|
|
1366
|
+
padding: 16px !important;
|
|
1367
|
+
background: rgba(255, 255, 255, 0.05) !important;
|
|
1368
|
+
}
|
|
1369
|
+
|
|
1370
|
+
.data-table .table-cell {
|
|
1371
|
+
display: flex !important;
|
|
1372
|
+
justify-content: space-between !important;
|
|
1373
|
+
align-items: center !important;
|
|
1374
|
+
padding: 8px 0 !important;
|
|
1375
|
+
border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
|
|
1376
|
+
}
|
|
1377
|
+
|
|
1378
|
+
.data-table .table-cell:last-child {
|
|
1379
|
+
border-bottom: none !important;
|
|
1380
|
+
justify-content: center !important;
|
|
1381
|
+
margin-top: 12px !important;
|
|
1382
|
+
}
|
|
1383
|
+
|
|
1384
|
+
.data-table .table-cell::before {
|
|
1385
|
+
content: attr(data-label) !important;
|
|
1386
|
+
font-weight: var(--mds-typography-fontWeight-medium) !important;
|
|
1387
|
+
color: var(--mds-color-text-secondary) !important;
|
|
1388
|
+
font-size: var(--mds-typography-fontSize-xs) !important;
|
|
1389
|
+
text-transform: uppercase !important;
|
|
1390
|
+
letter-spacing: 0.5px !important;
|
|
1391
|
+
min-width: 100px !important;
|
|
1392
|
+
}
|
|
1393
|
+
|
|
1394
|
+
.data-table .table-actions {
|
|
1395
|
+
flex-direction: column !important;
|
|
1396
|
+
gap: var(--mds-spacing-sm) !important;
|
|
1397
|
+
}
|
|
1398
|
+
|
|
1399
|
+
.data-table .table-actions button {
|
|
1400
|
+
width: 100% !important;
|
|
1401
|
+
justify-content: center !important;
|
|
1402
|
+
}
|
|
1403
|
+
}
|
|
1404
|
+
|
|
1405
|
+
/* Tablet Breakpoint */
|
|
1406
|
+
@media (max-width: 1024px) and (min-width: 769px) {
|
|
1407
|
+
.data-table .table-row {
|
|
1408
|
+
font-size: var(--mds-typography-fontSize-sm) !important;
|
|
1409
|
+
}
|
|
1410
|
+
|
|
1411
|
+
.data-table .table-cell {
|
|
1412
|
+
padding: var(--mds-spacing-sm) var(--mds-spacing-md) !important;
|
|
1413
|
+
}
|
|
1414
|
+
|
|
1415
|
+
.data-table .table-actions button {
|
|
1416
|
+
padding: var(--mds-spacing-xs) var(--mds-spacing-sm) !important;
|
|
1417
|
+
font-size: var(--mds-typography-fontSize-xs) !important;
|
|
1418
|
+
}
|
|
1419
|
+
}
|
|
1420
|
+
|
|
1421
|
+
/* Utility Classes */
|
|
1422
|
+
.data-table-compact .table-cell {
|
|
1423
|
+
padding: var(--mds-spacing-xs) var(--mds-spacing-sm) !important;
|
|
1424
|
+
}
|
|
1425
|
+
|
|
1426
|
+
.data-table-audit .table-row {
|
|
1427
|
+
border-left: 3px solid transparent;
|
|
1428
|
+
}
|
|
1429
|
+
|
|
1430
|
+
.data-table-audit .table-row[data-action="CREATE"] {
|
|
1431
|
+
border-left-color: rgba(34, 197, 94, 0.5);
|
|
1432
|
+
}
|
|
1433
|
+
|
|
1434
|
+
.data-table-audit .table-row[data-action="UPDATE"] {
|
|
1435
|
+
border-left-color: rgba(59, 130, 246, 0.5);
|
|
1436
|
+
}
|
|
1437
|
+
|
|
1438
|
+
.data-table-audit .table-row[data-action="DELETE"] {
|
|
1439
|
+
border-left-color: rgba(239, 68, 68, 0.5);
|
|
1440
|
+
}
|
|
1441
|
+
|
|
1442
|
+
/* Scrollbar Styling */
|
|
1443
|
+
.data-table .table-body::-webkit-scrollbar {
|
|
1444
|
+
width: 8px;
|
|
1445
|
+
}
|
|
1446
|
+
|
|
1447
|
+
.data-table .table-body::-webkit-scrollbar-track {
|
|
1448
|
+
background: rgba(255, 255, 255, 0.05);
|
|
1449
|
+
border-radius: 4px;
|
|
1450
|
+
}
|
|
1451
|
+
|
|
1452
|
+
.data-table .table-body::-webkit-scrollbar-thumb {
|
|
1453
|
+
background: rgba(255, 255, 255, 0.2);
|
|
1454
|
+
border-radius: 4px;
|
|
1455
|
+
}
|
|
1456
|
+
|
|
1457
|
+
.data-table .table-body::-webkit-scrollbar-thumb:hover {
|
|
1458
|
+
background: rgba(255, 255, 255, 0.3);
|
|
1459
|
+
}
|
|
1460
|
+
|
|
1461
|
+
/* Badge and Chip Styles */
|
|
1462
|
+
.data-table-badge {
|
|
1463
|
+
display: inline-flex;
|
|
1464
|
+
align-items: center;
|
|
1465
|
+
padding: 4px 8px;
|
|
1466
|
+
border-radius: 16px;
|
|
1467
|
+
font-size: var(--mds-typography-fontSize-xs);
|
|
1468
|
+
font-weight: var(--mds-typography-fontWeight-medium);
|
|
1469
|
+
backdrop-filter: blur(8px);
|
|
1470
|
+
border: 1px solid rgba(255, 255, 255, 0.1);
|
|
1471
|
+
white-space: nowrap;
|
|
1472
|
+
}
|
|
1473
|
+
|
|
1474
|
+
.data-table-badge.primary {
|
|
1475
|
+
background-color: rgba(59, 130, 246, 0.2);
|
|
1476
|
+
border-color: rgba(59, 130, 246, 0.3);
|
|
1477
|
+
color: #3b82f6;
|
|
1478
|
+
}
|
|
1479
|
+
|
|
1480
|
+
.data-table-badge.success {
|
|
1481
|
+
background-color: rgba(34, 197, 94, 0.2);
|
|
1482
|
+
border-color: rgba(34, 197, 94, 0.3);
|
|
1483
|
+
color: #22c55e;
|
|
1484
|
+
}
|
|
1485
|
+
|
|
1486
|
+
.data-table-badge.warning {
|
|
1487
|
+
background-color: rgba(234, 179, 8, 0.2);
|
|
1488
|
+
border-color: rgba(234, 179, 8, 0.3);
|
|
1489
|
+
color: #eab308;
|
|
1490
|
+
}
|
|
1491
|
+
|
|
1492
|
+
.data-table-badge.danger {
|
|
1493
|
+
background-color: rgba(239, 68, 68, 0.2);
|
|
1494
|
+
border-color: rgba(239, 68, 68, 0.3);
|
|
1495
|
+
color: #ef4444;
|
|
1496
|
+
}
|
|
1497
|
+
|
|
1498
|
+
.data-table-badge.info {
|
|
1499
|
+
background-color: rgba(147, 51, 234, 0.2);
|
|
1500
|
+
border-color: rgba(147, 51, 234, 0.3);
|
|
1501
|
+
color: #9333ea;
|
|
1502
|
+
}
|
|
1503
|
+
|
|
1504
|
+
/* Code/Monospace Cell Styling */
|
|
1505
|
+
.data-table-code {
|
|
1506
|
+
font-family: 'Courier New', monospace;
|
|
1507
|
+
background-color: rgba(255, 255, 255, 0.1);
|
|
1508
|
+
padding: 4px 12px;
|
|
1509
|
+
border-radius: 8px;
|
|
1510
|
+
display: inline-block;
|
|
1511
|
+
font-size: var(--mds-typography-fontSize-sm);
|
|
1512
|
+
word-break: break-all;
|
|
1513
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/DataTable/DataTable.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,cAAc,EAAe,MAAM,SAAS,CAAC;AAItD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAqM9C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableHeader.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/DataTable/TableHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA4DlD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableRow.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/DataTable/TableRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAe,MAAM,SAAS,CAAC;AAErD,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAqH5C,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { TableColumn, TableAction } from './types';
|
|
2
|
+
export declare const parametersTableConfig: {
|
|
3
|
+
columns: TableColumn[];
|
|
4
|
+
actions: TableAction[];
|
|
5
|
+
};
|
|
6
|
+
export declare const regionsTableConfig: {
|
|
7
|
+
columns: TableColumn[];
|
|
8
|
+
actions: TableAction[];
|
|
9
|
+
};
|
|
10
|
+
export declare const countriesTableConfig: {
|
|
11
|
+
columns: TableColumn[];
|
|
12
|
+
actions: TableAction[];
|
|
13
|
+
};
|
|
14
|
+
export declare const auditLogTableConfig: {
|
|
15
|
+
columns: TableColumn[];
|
|
16
|
+
};
|
|
17
|
+
export declare const statesTableConfig: {
|
|
18
|
+
columns: TableColumn[];
|
|
19
|
+
actions: TableAction[];
|
|
20
|
+
};
|
|
21
|
+
export declare const citiesTableConfig: {
|
|
22
|
+
columns: TableColumn[];
|
|
23
|
+
actions: TableAction[];
|
|
24
|
+
};
|
|
25
|
+
export declare const getTableConfig: (type: string) => {
|
|
26
|
+
columns: TableColumn[];
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=examples.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/DataTable/examples.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAInD,eAAO,MAAM,qBAAqB;aAyB3B,WAAW,EAAE;aAkBb,WAAW,EAAE;CACnB,CAAC;AAGF,eAAO,MAAM,kBAAkB;aAgCxB,WAAW,EAAE;aAgBb,WAAW,EAAE;CACnB,CAAC;AAGF,eAAO,MAAM,oBAAoB;aAmC1B,WAAW,EAAE;aAeb,WAAW,EAAE;CACnB,CAAC;AAGF,eAAO,MAAM,mBAAmB;aA8DzB,WAAW,EAAE;CACnB,CAAC;AAGF,eAAO,MAAM,iBAAiB;aA0BvB,WAAW,EAAE;aAeb,WAAW,EAAE;CACnB,CAAC;AAGF,eAAO,MAAM,iBAAiB;aAoCvB,WAAW,EAAE;aAeb,WAAW,EAAE;CACnB,CAAC;AAGF,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM;aAxGpC,WAAW,EAAE;CAyHnB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { DataTable } from './DataTable';
|
|
2
|
+
export { TableHeader } from './TableHeader';
|
|
3
|
+
export { TableRow } from './TableRow';
|
|
4
|
+
export { CellRenderers, ActionIcons } from './renderers';
|
|
5
|
+
export { parametersTableConfig, regionsTableConfig, countriesTableConfig, statesTableConfig, citiesTableConfig, auditLogTableConfig, getTableConfig } from './examples';
|
|
6
|
+
export type { DataTableProps, TableColumn, TableAction, TableRowProps, TableHeaderProps } from './types';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/DataTable/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACf,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,cAAc,EACd,WAAW,EACX,WAAW,EACX,aAAa,EACb,gBAAgB,EACjB,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Exemplo de Migração: ParametersTable → DataTable
|
|
3
|
+
*
|
|
4
|
+
* Este arquivo mostra como migrar a tabela de parâmetros existente
|
|
5
|
+
* para usar o novo componente DataTable padronizado.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
interface Parameter {
|
|
9
|
+
name: string;
|
|
10
|
+
value: string;
|
|
11
|
+
type: 'String' | 'SecureString' | 'StringList';
|
|
12
|
+
description: string;
|
|
13
|
+
}
|
|
14
|
+
interface ParametersDataTableProps {
|
|
15
|
+
parameters: Parameter[];
|
|
16
|
+
loading: boolean;
|
|
17
|
+
onEdit: (parameter: Parameter) => void;
|
|
18
|
+
onDelete: (parameter: Parameter) => void;
|
|
19
|
+
deletingParameterName?: string;
|
|
20
|
+
searchTerm?: string;
|
|
21
|
+
}
|
|
22
|
+
export declare const ParametersTableOld: ({ parameters, loading, onEdit, onDelete }: any) => import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export declare const ParametersDataTable: React.FC<ParametersDataTableProps>;
|
|
24
|
+
export declare const ExampleUsage: () => import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
export {};
|
|
26
|
+
/**
|
|
27
|
+
* VANTAGENS DA MIGRAÇÃO:
|
|
28
|
+
*
|
|
29
|
+
* 1. ✅ Código reduzido: De ~280 linhas para ~50 linhas
|
|
30
|
+
* 2. ✅ Responsividade automática: Mobile/tablet otimizados
|
|
31
|
+
* 3. ✅ Estilos consistentes: Mesmo visual em toda plataforma
|
|
32
|
+
* 4. ✅ Manutenção centralizada: Updates no design system
|
|
33
|
+
* 5. ✅ Acessibilidade: ARIA roles automáticos
|
|
34
|
+
* 6. ✅ Performance: Renderização otimizada
|
|
35
|
+
* 7. ✅ TypeScript: Tipagem completa e IntelliSense
|
|
36
|
+
*
|
|
37
|
+
* PASSOS DA MIGRAÇÃO:
|
|
38
|
+
*
|
|
39
|
+
* 1. Substituir import: ParametersTable → DataTable
|
|
40
|
+
* 2. Configurar columns array com render functions
|
|
41
|
+
* 3. Configurar actions array com handlers
|
|
42
|
+
* 4. Remover código inline de estilo/layout
|
|
43
|
+
* 5. Testar responsividade mobile
|
|
44
|
+
* 6. Remover componente antigo após validação
|
|
45
|
+
*/
|
|
46
|
+
//# sourceMappingURL=migration-example.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration-example.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/DataTable/migration-example.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,cAAc,GAAG,YAAY,CAAC;IAC/C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,wBAAwB;IAChC,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,eAAO,MAAM,kBAAkB,GAAI,2CAA2C,GAAG,4CAehF,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAwElE,CAAC;AAGF,eAAO,MAAM,YAAY,+CAqCxB,CAAC;;AAEF;;;;;;;;;;;;;;;;;;;GAmBG"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare const CellRenderers: {
|
|
2
|
+
id: (value: any) => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
name: (value: any) => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
parameterValue: (value: any, item: any) => import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
badge: (value: any, variant?: "primary" | "success" | "warning" | "danger" | "info") => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
parameterType: (value: any) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
environment: (value: any, item: any) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
actionType: (value: any) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
date: (value: any) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
description: (value: any) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
jsonPreview: (value: any) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
combined: (mainValue: any, description: any) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
combinedWithBadges: (mainValue: any, badges: Array<{
|
|
14
|
+
value: any;
|
|
15
|
+
variant?: string;
|
|
16
|
+
}>) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
};
|
|
18
|
+
export declare const ActionIcons: {
|
|
19
|
+
edit: import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
delete: import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
view: import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
loading: import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=renderers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderers.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/DataTable/renderers.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa;gBAEZ,GAAG;kBAeD,GAAG;4BAcO,GAAG,QAAQ,GAAG;mBAqBvB,GAAG,YAAW,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM;2BAO3D,GAAG;yBAOL,GAAG,QAAQ,GAAG;wBAOf,GAAG;kBAOT,GAAG;yBAUI,GAAG;yBAcH,GAAG;0BAoBF,GAAG,eAAe,GAAG;oCAQX,GAAG,UAAU,KAAK,CAAC;QAAC,KAAK,EAAE,GAAG,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;CAYnF,CAAC;AAGF,eAAO,MAAM,WAAW;;;;;CAqBvB,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export interface TableColumn {
|
|
2
|
+
key: string;
|
|
3
|
+
label: string;
|
|
4
|
+
width?: string;
|
|
5
|
+
align?: 'left' | 'center' | 'right';
|
|
6
|
+
sortable?: boolean;
|
|
7
|
+
render?: (value: any, item: any, index: number) => React.ReactNode;
|
|
8
|
+
responsive?: {
|
|
9
|
+
mobile?: 'hide' | 'stack' | 'show';
|
|
10
|
+
tablet?: 'hide' | 'stack' | 'show';
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export interface TableAction {
|
|
14
|
+
key: string;
|
|
15
|
+
label: string;
|
|
16
|
+
icon?: React.ReactNode;
|
|
17
|
+
variant?: 'primary' | 'secondary' | 'danger';
|
|
18
|
+
disabled?: (item: any) => boolean;
|
|
19
|
+
loading?: (item: any) => boolean;
|
|
20
|
+
onClick: (item: any) => void;
|
|
21
|
+
}
|
|
22
|
+
export interface DataTableProps {
|
|
23
|
+
data: any[];
|
|
24
|
+
columns: TableColumn[];
|
|
25
|
+
loading?: boolean;
|
|
26
|
+
searchTerm?: string;
|
|
27
|
+
actions?: TableAction[];
|
|
28
|
+
variant?: 'default' | 'compact' | 'audit';
|
|
29
|
+
responsive?: 'stack' | 'scroll' | 'hide-columns';
|
|
30
|
+
onSort?: (column: string, direction: 'asc' | 'desc') => void;
|
|
31
|
+
emptyMessage?: string;
|
|
32
|
+
loadingMessage?: string;
|
|
33
|
+
className?: string;
|
|
34
|
+
style?: React.CSSProperties;
|
|
35
|
+
maxHeight?: string;
|
|
36
|
+
showSearchCount?: boolean;
|
|
37
|
+
rowHover?: boolean;
|
|
38
|
+
striped?: boolean;
|
|
39
|
+
}
|
|
40
|
+
export interface TableRowProps {
|
|
41
|
+
item: any;
|
|
42
|
+
index: number;
|
|
43
|
+
columns: TableColumn[];
|
|
44
|
+
actions?: TableAction[];
|
|
45
|
+
gridTemplate: string;
|
|
46
|
+
isLast: boolean;
|
|
47
|
+
variant: 'default' | 'compact' | 'audit';
|
|
48
|
+
onActionClick: (action: TableAction, item: any) => void;
|
|
49
|
+
}
|
|
50
|
+
export interface TableHeaderProps {
|
|
51
|
+
columns: TableColumn[];
|
|
52
|
+
gridTemplate: string;
|
|
53
|
+
onSort?: (column: string) => void;
|
|
54
|
+
sortColumn?: string;
|
|
55
|
+
sortDirection?: 'asc' | 'desc';
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/DataTable/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IACnE,UAAU,CAAC,EAAE;QACX,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;QACnC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;KACpC,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC7C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC;IAClC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC;IACjC,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAC1C,UAAU,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,cAAc,CAAC;IACjD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,GAAG,MAAM,KAAK,IAAI,CAAC;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,GAAG,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,WAAW,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IACzC,aAAa,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;CACzD;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAChC"}
|
|
@@ -3,6 +3,7 @@ export { Typography, BrandLogo, type TypographyProps, type BrandLogoProps } from
|
|
|
3
3
|
export { Button, type ButtonProps } from './Button';
|
|
4
4
|
export { Select, type SelectProps } from './Select';
|
|
5
5
|
export { ThemeToggle, type ThemeToggleProps } from './ThemeToggle';
|
|
6
|
+
export { DataTable, CellRenderers, ActionIcons, getTableConfig, type DataTableProps, type TableColumn, type TableAction } from './DataTable';
|
|
6
7
|
export { cn } from '../../utils/cn';
|
|
7
8
|
export * from './GlassCard';
|
|
8
9
|
export * from './Typography';
|
|
@@ -14,4 +15,5 @@ export * from './Modal/ModalBody';
|
|
|
14
15
|
export * from './Modal/ModalFooter';
|
|
15
16
|
export * from './Modal/ConfirmDialog';
|
|
16
17
|
export * from './ThemeToggle';
|
|
18
|
+
export * from './DataTable';
|
|
17
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/react/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EACL,UAAU,EACV,SAAS,EACT,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/react/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EACL,UAAU,EACV,SAAS,EACT,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EACL,SAAS,EACT,aAAa,EACb,WAAW,EACX,cAAc,EACd,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,WAAW,EACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAGpC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"}
|
package/dist/react/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export { Typography, BrandLogo, type TypographyProps, type BrandLogoProps } from
|
|
|
3
3
|
export { Button, type ButtonProps } from './Button';
|
|
4
4
|
export { Select, type SelectProps } from './Select';
|
|
5
5
|
export { ThemeToggle, type ThemeToggleProps } from './ThemeToggle';
|
|
6
|
+
export { DataTable, CellRenderers, ActionIcons, getTableConfig, type DataTableProps, type TableColumn, type TableAction } from './DataTable';
|
|
6
7
|
export { cn } from '../../utils/cn';
|
|
7
8
|
export * from './GlassCard';
|
|
8
9
|
export * from './Typography';
|
|
@@ -14,4 +15,5 @@ export * from './Modal/ModalBody';
|
|
|
14
15
|
export * from './Modal/ModalFooter';
|
|
15
16
|
export * from './Modal/ConfirmDialog';
|
|
16
17
|
export * from './ThemeToggle';
|
|
18
|
+
export * from './DataTable';
|
|
17
19
|
//# sourceMappingURL=index.d.ts.map
|