@metropolle/design-system 1.0.0-beta.20250821022912.15e7eda → 1.0.0-beta.2026.1.1.1723.0f6bc6d
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/README.md +1 -0
- package/dist/css/compat/back.css +466 -0
- package/dist/css/components.css +1476 -8
- package/dist/css/liquid-glass.css +468 -0
- package/dist/css/mermaid.css +163 -0
- package/dist/css/tokens.css +67 -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/GlassCard/GlassCard.d.ts +46 -6
- package/dist/react/components/react/GlassCard/GlassCard.d.ts.map +1 -1
- package/dist/react/components/react/Modal/ConfirmDialog.d.ts +17 -0
- package/dist/react/components/react/Modal/ConfirmDialog.d.ts.map +1 -0
- package/dist/react/components/react/Modal/Modal.d.ts +12 -0
- package/dist/react/components/react/Modal/Modal.d.ts.map +1 -0
- package/dist/react/components/react/Modal/ModalBody.d.ts +9 -0
- package/dist/react/components/react/Modal/ModalBody.d.ts.map +1 -0
- package/dist/react/components/react/Modal/ModalFooter.d.ts +8 -0
- package/dist/react/components/react/Modal/ModalFooter.d.ts.map +1 -0
- package/dist/react/components/react/Modal/ModalHeader.d.ts +11 -0
- package/dist/react/components/react/Modal/ModalHeader.d.ts.map +1 -0
- package/dist/react/components/react/Modal/index.d.ts +6 -0
- package/dist/react/components/react/Modal/index.d.ts.map +1 -0
- package/dist/react/components/react/Select/Select.d.ts +71 -0
- package/dist/react/components/react/Select/Select.d.ts.map +1 -0
- package/dist/react/components/react/Select/index.d.ts +2 -0
- package/dist/react/components/react/Select/index.d.ts.map +1 -0
- package/dist/react/components/react/ThemeToggle/ThemeToggle.d.ts +28 -0
- package/dist/react/components/react/ThemeToggle/ThemeToggle.d.ts.map +1 -0
- package/dist/react/components/react/ThemeToggle/index.d.ts +3 -0
- package/dist/react/components/react/ThemeToggle/index.d.ts.map +1 -0
- package/dist/react/components/react/Typography/Typography.d.ts.map +1 -1
- package/dist/react/components/react/index.d.ts +11 -0
- package/dist/react/components/react/index.d.ts.map +1 -1
- package/dist/react/index.d.ts +11 -0
- package/dist/react/index.esm.js +1147 -14
- package/dist/react/index.esm.js.map +1 -1
- package/dist/react/index.js +1164 -12
- package/dist/react/index.js.map +1 -1
- package/dist/tokens/colors.json +100 -18
- package/dist/tokens/index.d.ts +19 -24
- package/dist/tokens/index.js +69 -2
- package/dist/tokens/index.json +100 -18
- package/package.json +23 -13
package/dist/css/tokens.css
CHANGED
|
@@ -1,6 +1,39 @@
|
|
|
1
1
|
:root {
|
|
2
2
|
/* Metropolle Design System Tokens */
|
|
3
3
|
|
|
4
|
+
/* COLORS */
|
|
5
|
+
--mds-colors-color-brand-primary-default: #0055FF;
|
|
6
|
+
--mds-colors-color-brand-primary-hover: #0044CC;
|
|
7
|
+
--mds-colors-color-brand-primary-active: #003399;
|
|
8
|
+
--mds-colors-color-brand-primary-disabled: #80AAFF;
|
|
9
|
+
--mds-colors-color-brand-secondary-default: #FF9900;
|
|
10
|
+
--mds-colors-color-brand-secondary-hover: #E68A00;
|
|
11
|
+
--mds-colors-color-brand-secondary-active: #CC7A00;
|
|
12
|
+
--mds-colors-color-brand-secondary-disabled: #FFCC80;
|
|
13
|
+
--mds-colors-color-brand-neutral: #333333;
|
|
14
|
+
--mds-colors-color-semantic-success-default: #10B981;
|
|
15
|
+
--mds-colors-color-semantic-success-light: #D1FAE5;
|
|
16
|
+
--mds-colors-color-semantic-success-dark: #065F46;
|
|
17
|
+
--mds-colors-color-semantic-warning-default: #F59E0B;
|
|
18
|
+
--mds-colors-color-semantic-warning-light: #FEF3C7;
|
|
19
|
+
--mds-colors-color-semantic-warning-dark: #92400E;
|
|
20
|
+
--mds-colors-color-semantic-error-default: #EF4444;
|
|
21
|
+
--mds-colors-color-semantic-error-light: #FEE2E2;
|
|
22
|
+
--mds-colors-color-semantic-error-dark: #991B1B;
|
|
23
|
+
--mds-colors-color-semantic-info-default: #3B82F6;
|
|
24
|
+
--mds-colors-color-semantic-info-light: #DBEAFE;
|
|
25
|
+
--mds-colors-color-semantic-info-dark: #1E40AF;
|
|
26
|
+
--mds-colors-color-background-primary: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 50%, #2a2a2a 100%);
|
|
27
|
+
--mds-colors-color-background-secondary: rgba(255, 255, 255, 0.05);
|
|
28
|
+
--mds-colors-color-background-glass-light: rgba(255, 255, 255, 0.15);
|
|
29
|
+
--mds-colors-color-background-glass-dark: rgba(60, 60, 60, 0.8);
|
|
30
|
+
--mds-colors-color-text-primary: #ffffff;
|
|
31
|
+
--mds-colors-color-text-secondary: rgba(255, 255, 255, 0.7);
|
|
32
|
+
--mds-colors-color-text-muted: rgba(255, 255, 255, 0.5);
|
|
33
|
+
--mds-colors-color-border-light: rgba(255, 255, 255, 0.1);
|
|
34
|
+
--mds-colors-color-border-medium: rgba(255, 255, 255, 0.2);
|
|
35
|
+
--mds-colors-color-border-strong: rgba(255, 255, 255, 0.3);
|
|
36
|
+
|
|
4
37
|
/* TYPOGRAPHY */
|
|
5
38
|
--mds-typography-fontFamily-brand: Helvetica, Inter Tight, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
|
|
6
39
|
--mds-typography-fontFamily-mono: 'SF Mono', Monaco, 'Inconsolata', 'Roboto Mono', 'Source Code Pro', monospace;
|
|
@@ -33,6 +66,40 @@
|
|
|
33
66
|
--mds-spacing-xl: 2rem;
|
|
34
67
|
--mds-spacing-2xl: 3rem;
|
|
35
68
|
--mds-spacing-3xl: 4rem;
|
|
69
|
+
--mds-spacing-borderRadius-sm: 0.25rem;
|
|
70
|
+
--mds-spacing-borderRadius-md: 0.5rem;
|
|
71
|
+
--mds-spacing-borderRadius-lg: 1rem;
|
|
72
|
+
--mds-spacing-borderRadius-xl: 1.25rem;
|
|
73
|
+
--mds-spacing-borderRadius-full: 50%;
|
|
74
|
+
--mds-spacing-shadow-glass-light: 0 8px 32px rgba(0, 0, 0, 0.1);
|
|
75
|
+
--mds-spacing-shadow-glass-lightHover: 0 12px 40px rgba(0, 0, 0, 0.15);
|
|
76
|
+
--mds-spacing-shadow-glass-dark: 0 8px 32px rgba(0, 0, 0, 0.3);
|
|
77
|
+
--mds-spacing-shadow-glass-darkHover: 0 12px 40px rgba(0, 0, 0, 0.4);
|
|
78
|
+
--mds-spacing-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
|
|
79
|
+
--mds-spacing-shadow-md: 0 4px 6px rgba(0, 0, 0, 0.07);
|
|
80
|
+
--mds-spacing-shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
|
|
81
|
+
--mds-spacing-blur-glass-default: 20px;
|
|
82
|
+
--mds-spacing-blur-glass-light: 15px;
|
|
83
|
+
--mds-spacing-blur-glass-heavy: 30px;
|
|
84
|
+
|
|
85
|
+
/* EFFECTS */
|
|
86
|
+
--mds-effects-transition-fast: 0.15s ease;
|
|
87
|
+
--mds-effects-transition-normal: 0.3s ease;
|
|
88
|
+
--mds-effects-transition-slow: 0.5s ease;
|
|
89
|
+
--mds-effects-animation-fadeIn: fadeIn 0.3s ease-in-out;
|
|
90
|
+
--mds-effects-animation-slideUp: slideUp 0.3s ease-out;
|
|
91
|
+
--mds-effects-animation-bounce: bounce 0.6s ease-in-out;
|
|
92
|
+
--mds-effects-backdrop-glass-filter: blur(var(--blur, 20px));
|
|
93
|
+
--mds-effects-backdrop-glass-webkitFilter: blur(var(--blur, 20px));
|
|
94
|
+
--mds-effects-transform-hoverUp: translateY(-2px);
|
|
95
|
+
--mds-effects-transform-scale-hover: scale(1.02);
|
|
96
|
+
--mds-effects-transform-scale-active: scale(0.98);
|
|
97
|
+
--mds-effects-opacity-glass-light-default: 0.15;
|
|
98
|
+
--mds-effects-opacity-glass-light-hover: 0.2;
|
|
99
|
+
--mds-effects-opacity-glass-dark-default: 0.8;
|
|
100
|
+
--mds-effects-opacity-glass-dark-hover: 0.85;
|
|
101
|
+
--mds-effects-opacity-disabled: 0.5;
|
|
102
|
+
--mds-effects-opacity-muted: 0.7;
|
|
36
103
|
|
|
37
104
|
}
|
|
38
105
|
|
|
@@ -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"}
|
|
@@ -1,23 +1,63 @@
|
|
|
1
1
|
import React, { HTMLAttributes } from 'react';
|
|
2
|
+
export type GlassStyle = 'glass' | 'liquid';
|
|
3
|
+
export type GlassIntensity = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
4
|
+
export type GlassTheme = 'light' | 'dark';
|
|
2
5
|
export interface GlassCardProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* Estilo do card: 'glass' (tradicional) ou 'liquid' (iOS 26 style)
|
|
8
|
+
* @default 'liquid'
|
|
9
|
+
*/
|
|
10
|
+
glassStyle?: GlassStyle;
|
|
11
|
+
/**
|
|
12
|
+
* Intensidade do efeito blur/saturate
|
|
13
|
+
* xs: 2px, sm: 4px, md: 6px (default), lg: 8px, xl: 12px
|
|
14
|
+
* @default 'md'
|
|
15
|
+
*/
|
|
16
|
+
intensity?: GlassIntensity;
|
|
17
|
+
/**
|
|
18
|
+
* Tema de cor: afeta opacidade e bordas
|
|
19
|
+
* @default 'light'
|
|
20
|
+
*/
|
|
21
|
+
theme?: GlassTheme;
|
|
22
|
+
/**
|
|
23
|
+
* @deprecated Use 'theme' instead. Mantido para retrocompatibilidade.
|
|
24
|
+
*/
|
|
4
25
|
variant?: 'light' | 'dark';
|
|
5
|
-
/**
|
|
26
|
+
/**
|
|
27
|
+
* @deprecated Use 'intensity' instead. Valor do blur em pixels.
|
|
28
|
+
*/
|
|
6
29
|
blur?: number;
|
|
7
|
-
/**
|
|
30
|
+
/**
|
|
31
|
+
* Opacidade do background (0-1). Sobrescreve valor default do theme.
|
|
32
|
+
*/
|
|
8
33
|
opacity?: number;
|
|
9
34
|
/** Conteúdo do card */
|
|
10
35
|
children: React.ReactNode;
|
|
11
36
|
/** Classes CSS adicionais */
|
|
12
37
|
className?: string;
|
|
13
|
-
/**
|
|
38
|
+
/**
|
|
39
|
+
* Se deve aplicar hover effects
|
|
40
|
+
* @default true
|
|
41
|
+
*/
|
|
14
42
|
enableHover?: boolean;
|
|
15
43
|
}
|
|
16
44
|
/**
|
|
17
45
|
* Glass Card Component
|
|
18
46
|
*
|
|
19
|
-
* Componente de cartão com efeito glassmorphism
|
|
20
|
-
*
|
|
47
|
+
* Componente de cartão com efeito glassmorphism ou Liquid Glass (iOS 26 style).
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```tsx
|
|
51
|
+
* // Liquid Glass (novo padrão)
|
|
52
|
+
* <GlassCard glassStyle="liquid" intensity="md">
|
|
53
|
+
* Content here
|
|
54
|
+
* </GlassCard>
|
|
55
|
+
*
|
|
56
|
+
* // Glassmorphism tradicional (retrocompatível)
|
|
57
|
+
* <GlassCard glassStyle="glass" variant="dark">
|
|
58
|
+
* Content here
|
|
59
|
+
* </GlassCard>
|
|
60
|
+
* ```
|
|
21
61
|
*/
|
|
22
62
|
export declare const GlassCard: React.ForwardRefExoticComponent<GlassCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
23
63
|
//# sourceMappingURL=GlassCard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlassCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/GlassCard/GlassCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAc,cAAc,EAAE,MAAM,OAAO,CAAC;AAG1D,MAAM,WAAW,cAAe,SAAQ,cAAc,CAAC,cAAc,CAAC;IACpE,
|
|
1
|
+
{"version":3,"file":"GlassCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/GlassCard/GlassCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAc,cAAc,EAAE,MAAM,OAAO,CAAC;AAG1D,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;AAC5C,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC9D,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC;AAE1C,MAAM,WAAW,cAAe,SAAQ,cAAc,CAAC,cAAc,CAAC;IACpE;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;OAIG;IACH,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B;;;OAGG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,SAAS,uFA4HpB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface ConfirmDialogProps {
|
|
3
|
+
open: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
title: string;
|
|
6
|
+
description?: React.ReactNode;
|
|
7
|
+
confirmText?: string;
|
|
8
|
+
cancelText?: string;
|
|
9
|
+
onConfirm: () => void | Promise<void>;
|
|
10
|
+
loading?: boolean;
|
|
11
|
+
tone?: 'warning' | 'danger' | 'info' | 'success';
|
|
12
|
+
icon?: React.ReactNode;
|
|
13
|
+
disableOverlayClose?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare function ConfirmDialog({ open, onClose, title, description, confirmText, cancelText, onConfirm, loading, tone, icon, disableOverlayClose }: ConfirmDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export default ConfirmDialog;
|
|
17
|
+
//# sourceMappingURL=ConfirmDialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfirmDialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/Modal/ConfirmDialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;IACjD,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AA8BD,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,OAAO,EACP,KAAK,EACL,WAAW,EACX,WAAyB,EACzB,UAAuB,EACvB,SAAS,EACT,OAAe,EACf,IAAgB,EAChB,IAAI,EACJ,mBAAmB,EACpB,EAAE,kBAAkB,2CA0BpB;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface ModalProps {
|
|
3
|
+
open: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
closeOnOverlay?: boolean;
|
|
6
|
+
children: React.ReactNode;
|
|
7
|
+
className?: string;
|
|
8
|
+
style?: React.CSSProperties;
|
|
9
|
+
}
|
|
10
|
+
export declare function Modal({ open, onClose, closeOnOverlay, children, className, style }: ModalProps): React.ReactPortal | null;
|
|
11
|
+
export default Modal;
|
|
12
|
+
//# sourceMappingURL=Modal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/Modal/Modal.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAG3D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAsDD,wBAAgB,KAAK,CAAC,EACpB,IAAI,EACJ,OAAO,EACP,cAAqB,EACrB,QAAQ,EACR,SAAS,EACT,KAAK,EACN,EAAE,UAAU,4BA2FZ;AAED,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface ModalBodyProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
style?: React.CSSProperties;
|
|
5
|
+
className?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function ModalBody({ children, style, className }: ModalBodyProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export default ModalBody;
|
|
9
|
+
//# sourceMappingURL=ModalBody.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModalBody.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/Modal/ModalBody.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,cAAc,2CAMvE;AAED,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface ModalFooterProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
align?: 'start' | 'center' | 'end';
|
|
5
|
+
}
|
|
6
|
+
export declare function ModalFooter({ children, align }: ModalFooterProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export default ModalFooter;
|
|
8
|
+
//# sourceMappingURL=ModalFooter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModalFooter.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/Modal/ModalFooter.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;CACpC;AAED,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAa,EAAE,EAAE,gBAAgB,2CAOxE;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface ModalHeaderProps {
|
|
3
|
+
title: React.ReactNode;
|
|
4
|
+
icon?: React.ReactNode;
|
|
5
|
+
onClose?: () => void;
|
|
6
|
+
closeAriaLabel?: string;
|
|
7
|
+
align?: 'center' | 'start';
|
|
8
|
+
}
|
|
9
|
+
export declare function ModalHeader({ title, icon, onClose, closeAriaLabel, align }: ModalHeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export default ModalHeader;
|
|
11
|
+
//# sourceMappingURL=ModalHeader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModalHeader.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/Modal/ModalHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC5B;AAED,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,cAAyB,EAAE,KAAgB,EAAE,EAAE,gBAAgB,2CA0GlH;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/Modal/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface SelectOption {
|
|
3
|
+
/** Display label (must be string for serialization safety) */
|
|
4
|
+
label: string;
|
|
5
|
+
/** Option value */
|
|
6
|
+
value: string;
|
|
7
|
+
/** Disable this option */
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface SelectProps {
|
|
11
|
+
/** Array of options to display */
|
|
12
|
+
options: SelectOption[];
|
|
13
|
+
/** Currently selected value */
|
|
14
|
+
value?: string;
|
|
15
|
+
/** Callback when value changes */
|
|
16
|
+
onChange?: (value: string) => void;
|
|
17
|
+
/** Placeholder text when no value selected */
|
|
18
|
+
placeholder?: string;
|
|
19
|
+
/** Visual variant */
|
|
20
|
+
variant?: 'base' | 'themed' | 'dashboard';
|
|
21
|
+
/** Size variant */
|
|
22
|
+
size?: 'sm' | 'md' | 'lg';
|
|
23
|
+
/** Disable the select */
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
/** Show loading state */
|
|
26
|
+
loading?: boolean;
|
|
27
|
+
/** Error state */
|
|
28
|
+
error?: boolean;
|
|
29
|
+
/** Additional class for the trigger button */
|
|
30
|
+
className?: string;
|
|
31
|
+
/** Additional class for the dropdown container */
|
|
32
|
+
dropdownClassName?: string;
|
|
33
|
+
/** ID for the select (for labels) */
|
|
34
|
+
id?: string;
|
|
35
|
+
/** Name attribute for form submission */
|
|
36
|
+
name?: string;
|
|
37
|
+
/** ARIA label */
|
|
38
|
+
'aria-label'?: string;
|
|
39
|
+
/** Full width mode */
|
|
40
|
+
fullWidth?: boolean;
|
|
41
|
+
/** Enable search/filter functionality */
|
|
42
|
+
searchable?: boolean;
|
|
43
|
+
/** Search placeholder */
|
|
44
|
+
searchPlaceholder?: string;
|
|
45
|
+
/** Max height of dropdown in pixels */
|
|
46
|
+
maxHeight?: number;
|
|
47
|
+
/** Z-index for dropdown (default: 1050) */
|
|
48
|
+
zIndex?: number;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Select Component (Design System)
|
|
52
|
+
*
|
|
53
|
+
* Custom dropdown select that renders consistently across all browsers.
|
|
54
|
+
* Unlike native <select>, this component renders the dropdown via JavaScript,
|
|
55
|
+
* ensuring proper theming support on Edge/Chrome Windows.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```tsx
|
|
59
|
+
* <Select
|
|
60
|
+
* options={[
|
|
61
|
+
* { label: 'Option 1', value: '1' },
|
|
62
|
+
* { label: 'Option 2', value: '2' },
|
|
63
|
+
* ]}
|
|
64
|
+
* value={selectedValue}
|
|
65
|
+
* onChange={setSelectedValue}
|
|
66
|
+
* placeholder="Select an option..."
|
|
67
|
+
* />
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
export declare const Select: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLButtonElement>>;
|
|
71
|
+
//# sourceMappingURL=Select.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/Select/Select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAwE,MAAM,OAAO,CAAC;AAI7F,MAAM,WAAW,YAAY;IAC3B,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,kCAAkC;IAClC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;IAC1C,mBAAmB;IACnB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,yBAAyB;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yBAAyB;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qCAAqC;IACrC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,yCAAyC;IACzC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,yBAAyB;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,MAAM,uFAoXjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/Select/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface ThemeToggleProps {
|
|
3
|
+
/**
|
|
4
|
+
* Size variant of the toggle button
|
|
5
|
+
* @default 'md'
|
|
6
|
+
*/
|
|
7
|
+
size?: 'sm' | 'md' | 'lg';
|
|
8
|
+
/**
|
|
9
|
+
* CSS class name to apply
|
|
10
|
+
*/
|
|
11
|
+
className?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Whether the toggle is disabled
|
|
14
|
+
* @default false
|
|
15
|
+
*/
|
|
16
|
+
disabled?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Callback when theme changes
|
|
19
|
+
*/
|
|
20
|
+
onChange?: (theme: 'light' | 'dark') => void;
|
|
21
|
+
/**
|
|
22
|
+
* Storage key for persisting theme preference
|
|
23
|
+
* @default 'theme'
|
|
24
|
+
*/
|
|
25
|
+
storageKey?: string;
|
|
26
|
+
}
|
|
27
|
+
export default function ThemeToggle({ size, className, disabled, onChange, storageKey }: ThemeToggleProps): React.JSX.Element;
|
|
28
|
+
//# sourceMappingURL=ThemeToggle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeToggle.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/ThemeToggle/ThemeToggle.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAE1B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;IAE7C;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,IAAW,EACX,SAAc,EACd,QAAgB,EAChB,QAAQ,EACR,UAAoB,EACrB,EAAE,gBAAgB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAgGtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/ThemeToggle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Typography.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/Typography/Typography.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAc,cAAc,EAAE,MAAM,OAAO,CAAC;AAG1D,KAAK,iBAAiB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAClF,KAAK,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAElF,MAAM,WAAW,eAAgB,SAAQ,cAAc,CAAC,WAAW,CAAC;IAClE,kCAAkC;IAClC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,+CAA+C;IAC/C,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,sCAAsC;IACtC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,iBAAiB,CAAC;IACjC,wBAAwB;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,KAAK,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IAC1C,oBAAoB;IACpB,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;CAC9D;AAsBD;;;;;GAKG;AACH,eAAO,MAAM,UAAU,qFA6BrB,CAAC;AAIH;;;;;GAKG;AACH,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,IAAI,GAAG,MAAM,CAAC;IACtF,sBAAsB;IACtB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAC3B;AAED,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"Typography.d.ts","sourceRoot":"","sources":["../../../../../src/components/react/Typography/Typography.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAc,cAAc,EAAE,MAAM,OAAO,CAAC;AAG1D,KAAK,iBAAiB,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAClF,KAAK,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAElF,MAAM,WAAW,eAAgB,SAAQ,cAAc,CAAC,WAAW,CAAC;IAClE,kCAAkC;IAClC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,+CAA+C;IAC/C,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,sCAAsC;IACtC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,iBAAiB,CAAC;IACjC,wBAAwB;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,KAAK,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IAC1C,oBAAoB;IACpB,MAAM,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;CAC9D;AAsBD;;;;;GAKG;AACH,eAAO,MAAM,UAAU,qFA6BrB,CAAC;AAIH;;;;;GAKG;AACH,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,IAAI,GAAG,MAAM,CAAC;IACtF,sBAAsB;IACtB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAC3B;AAED,eAAO,MAAM,SAAS,2FA6BpB,CAAC"}
|
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
export { GlassCard, type GlassCardProps } from './GlassCard';
|
|
2
2
|
export { Typography, BrandLogo, type TypographyProps, type BrandLogoProps } from './Typography';
|
|
3
3
|
export { Button, type ButtonProps } from './Button';
|
|
4
|
+
export { Select, type SelectProps, type SelectOption } from './Select';
|
|
5
|
+
export { ThemeToggle, type ThemeToggleProps } from './ThemeToggle';
|
|
6
|
+
export { DataTable, CellRenderers, ActionIcons, getTableConfig, type DataTableProps, type TableColumn, type TableAction } from './DataTable';
|
|
4
7
|
export { cn } from '../../utils/cn';
|
|
5
8
|
export * from './GlassCard';
|
|
6
9
|
export * from './Typography';
|
|
7
10
|
export * from './Button';
|
|
11
|
+
export * from './Select';
|
|
12
|
+
export * from './Modal/Modal';
|
|
13
|
+
export * from './Modal/ModalHeader';
|
|
14
|
+
export * from './Modal/ModalBody';
|
|
15
|
+
export * from './Modal/ModalFooter';
|
|
16
|
+
export * from './Modal/ConfirmDialog';
|
|
17
|
+
export * from './ThemeToggle';
|
|
18
|
+
export * from './DataTable';
|
|
8
19
|
//# sourceMappingURL=index.d.ts.map
|