# Componentes de Dynamic Framework
Dynamic Framework ofrece más de 30 componentes especializados para la industria financiera, diseñados para cubrir las necesidades más comunes en aplicaciones bancarias y financieras.
# Tipos de Componentes
# Componentes HTML
Los componentes HTML son elementos de interfaz estáticos o con mínima interactividad, ideales para:
- Sitios públicos con alto tráfico
- Páginas de marketing que requieren SEO
- Contenido informativo que no cambia frecuentemente
- Interfaces simples sin lógica compleja
# Características:
- Optimizados para rendimiento
- Compatibles con SEO
- Accesibles por defecto
- Carga rápida y eficiente
- No requieren JavaScript para funcionar
# Ejemplos de Uso:
<!-- Card de producto bancario -->
<div class="df-card">
<div class="df-card-body">
<h3 class="df-card-title">Cuenta de Ahorros</h3>
<p class="df-card-text">Ahorra con las mejores tasas del mercado</p>
<a href="#" class="df-btn df-btn-primary">Abrir Cuenta</a>
</div>
</div>
<!-- Tabla de tasas de interés -->
<table class="df-table">
<thead>
<tr>
<th>Plazo</th>
<th>Tasa Anual</th>
</tr>
</thead>
<tbody>
<tr>
<td>30 días</td>
<td>3.5%</td>
</tr>
<tr>
<td>90 días</td>
<td>4.2%</td>
</tr>
</tbody>
</table>
# Componentes React
Los componentes React proporcionan interactividad avanzada y gestión de estado, perfectos para:
- Aplicaciones transaccionales que requieren actualizaciones en tiempo real
- Formularios complejos con validación dinámica
- Dashboards interactivos con visualización de datos
- Flujos de usuario con múltiples pasos
# Características:
- Gestión de estado compleja
- Actualizaciones en tiempo real
- Integración con APIs
- Componentes reutilizables
- Renderizado condicional
# Ejemplos de Uso:
// Componente de transferencia bancaria
import { TransferForm, AccountSelector, AmountInput } from '@dynamic-framework/ui-react';
function BankTransfer() {
return (
<TransferForm onSubmit={handleTransfer}>
<AccountSelector
label="Cuenta Origen"
accounts={userAccounts}
/>
<AccountSelector
label="Cuenta Destino"
allowExternal={true}
/>
<AmountInput
currency="USD"
max={availableBalance}
/>
</TransferForm>
);
}
// Componente de estado de cuenta
import { AccountStatement, TransactionList } from '@dynamic-framework/ui-react';
function AccountDashboard() {
return (
<AccountStatement accountId={selectedAccount}>
<TransactionList
filterable={true}
sortable={true}
paginated={true}
itemsPerPage={20}
/>
</AccountStatement>
);
}
# Catálogo de Componentes
# Componentes de Navegación
- Navbar: Barra de navegación principal con menús desplegables
- Sidebar: Panel lateral para navegación secundaria
- Breadcrumb: Indicador de ubicación en la jerarquía
- Tabs: Navegación entre secciones relacionadas
- Pagination: Control de paginación para listados
# Componentes de Formularios
- Input: Campos de texto con validación integrada
- Select: Listas desplegables con búsqueda
- DatePicker: Selector de fechas con calendario
- FileUpload: Carga de documentos con preview
- Checkbox/Radio: Controles de selección múltiple y única
# Componentes de Datos
- Table: Tablas con ordenamiento y filtros
- Chart: Gráficos para visualización de datos
- Card: Tarjetas para presentación de información
- List: Listas con diferentes estilos de presentación
- Timeline: Línea de tiempo para historial de eventos
# Componentes de Feedback
- Alert: Mensajes de notificación al usuario
- Modal: Ventanas emergentes para acciones importantes
- Toast: Notificaciones temporales no intrusivas
- Progress: Indicadores de progreso de operaciones
- Skeleton: Placeholders durante la carga de contenido
# Componentes Financieros Especializados
- AccountCard: Tarjeta de resumen de cuenta
- TransactionItem: Elemento de transacción con detalles
- BalanceDisplay: Visualización de saldos con formato
- CurrencyInput: Campo de entrada para montos
- CardSelector: Selector visual de tarjetas de crédito/débito
# Personalización de Componentes
# Temas y Variables CSS
/* Variables globales del tema */
:root {
--df-primary-color: #004B8D;
--df-secondary-color: #00A0DF;
--df-success-color: #28A745;
--df-danger-color: #DC3545;
--df-font-family: 'Inter', sans-serif;
--df-border-radius: 8px;
--df-spacing-unit: 8px;
}
/* Personalización de componente específico */
.df-card {
--df-card-bg: var(--df-white);
--df-card-border: 1px solid var(--df-gray-200);
--df-card-shadow: 0 2px 4px rgba(0,0,0,0.1);
--df-card-padding: calc(var(--df-spacing-unit) * 3);
}
# Props y Configuración
// Personalización mediante props
<Button
variant="primary"
size="large"
icon="arrow-right"
loading={isLoading}
disabled={!isValid}
fullWidth
>
Continuar
</Button>
// Configuración global de componentes
import { ConfigProvider } from '@dynamic-framework/ui-react';
<ConfigProvider
theme={{
colors: {
primary: '#004B8D',
secondary: '#00A0DF'
},
typography: {
fontFamily: 'Inter, sans-serif'
}
}}
>
<App />
</ConfigProvider>
# Composición de Componentes
Los componentes de Dynamic Framework están diseñados para trabajar juntos de manera armoniosa:
// Ejemplo de composición para un flujo de apertura de cuenta
import {
Stepper,
Form,
PersonalInfoFields,
DocumentUpload,
AccountTypeSelector,
TermsAndConditions,
ConfirmationScreen
} from '@dynamic-framework/ui-react';
function AccountOpening() {
const steps = [
{ label: 'Información Personal', component: PersonalInfoFields },
{ label: 'Documentación', component: DocumentUpload },
{ label: 'Tipo de Cuenta', component: AccountTypeSelector },
{ label: 'Términos', component: TermsAndConditions },
{ label: 'Confirmación', component: ConfirmationScreen }
];
return (
<Stepper steps={steps} onComplete={handleAccountCreation}>
{({ CurrentStep, navigation }) => (
<Form>
<CurrentStep />
<navigation.Controls />
</Form>
)}
</Stepper>
);
}
# Accesibilidad
Todos los componentes de Dynamic Framework cumplen con los estándares WCAG 2.1 nivel AA:
- Navegación por teclado completa
- Lectores de pantalla compatibles
- Contraste de colores adecuado
- Etiquetas ARIA apropiadas
- Mensajes de error descriptivos
# Rendimiento
Los componentes están optimizados para rendimiento:
- Lazy loading de componentes pesados
- Code splitting automático
- Memorización de cálculos costosos
- Virtual scrolling para listas largas
- Optimización de re-renderizados
# Documentación y Soporte
Cada componente incluye:
- Documentación detallada de props y métodos
- Ejemplos de código interactivos
- Guías de mejores prácticas
- Casos de uso comunes
- Playground para experimentación
Accede a la documentación completa en dynamic.modyo.com/docs (opens new window)